Done ! 403WebShell
403Webshell
Server IP : 46.105.57.169  /  Your IP : 216.73.217.35
Web Server : Apache
System : Linux webm002.cluster120.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
User : verseaumee ( 152031)
PHP Version : 8.5.7
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/verseaumee/123click/assets/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/verseaumee/123click/assets/gantry5.tar
MD5SUMS000060400000000327150750356240005571 0ustar00MD5SUMS	d41d8cd98f00b204e9800998ecf8427e
gantry5.php	51ca84fc6c2539170d3d462606e8a1b2
gantry5.xml	fa9cc8177549c835ce6f8da81cb3db9f
language/en-GB/en-GB.plg_quickicon_gantry5.sys.ini	6c74971e95e095ea9511c25336dcd19a
classes/Gantry/Component/Assignments/AssignmentFilter.php000060400000011457150750356240017704 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Assignments;

/**
 * Class AssignmentFilter
 * @package Gantry\Assignments
 */
class AssignmentFilter
{
    protected $method;

    /**
     * Return all matching candidates with their score. Candidates are ordered by their scores.
     *
     * @param array $candidates  In format of candidates[name][section][rule].
     * @param array $page        In format of page[section][rule].
     * @return array
     */
    public function scores(array &$candidates, array &$page, callable $function = null)
    {
        $matches = $this->matches($candidates, $page, $function);

        $scores = [];
        foreach ($matches as $type => $candidate) {
            $scores[$type] = $this->getScore($candidate) + (isset($candidate['language']) ? 0.01 : 0);
        }

        // Always return matches by score in alphabetical order.
        ksort($scores, SORT_STRING);
        arsort($scores, SORT_NUMERIC);

        return $scores;
    }

    /**
     * Returns all matching candidates with matching rules.
     *
     * @param array $candidates  In format of candidates[name][section][rule].
     * @param array $page        In format of page[section][rule].
     * @return array
     */
    public function matches(array $candidates, array &$page, callable $function = null)
    {
        $matches = [];
        foreach ($candidates as $type => $candidate) {
            if (!is_array($candidate)) {
                if ($candidate === true && $page) {
                    $matches[$type] = $page;
                }
                continue;
            }
            foreach ($candidate as $section => $list) {
                if (!is_array($list)) {
                    if ($list === true && !empty($page[$section])) {
                        $matches[$type][$section] = $page[$section];
                    }
                    continue;
                }
                foreach ($list as $name => $rules) {
                    if (!empty($page[$section][$name])) {
                        if (!is_array($rules)) {
                            $match = $rules === true ? $page[$section][$name] : [];
                        } else {
                            $match = \array_intersect_key($page[$section][$name], $rules);
                        }
                        if ($match) {
                            $matches[$type][$section][$name] = $match;
                        }
                    }
                }
            }
            if (isset($matches[$type]) && $function && call_user_func($function, $candidate, $matches[$type], $page) === false) {
                unset($matches[$type]);
            }
        }

        return $matches;
    }

    /**
     * Returns the calculated score for the assignment.
     *
     * @param array $matches
     * @param string $method
     * @return int
     */
    public function getScore(array &$matches, $method = 'max')
    {
        $this->method = 'calc' . ucfirst($method);

        if (!method_exists($this, $this->method)) {
            $this->method = 'calcMax';
        }

        return $this->calcArray(0, $matches);
    }

    /**
     * @param float $carry
     * @param float|array $item
     * @return float
     * @internal
     */
    protected function calcArray($carry, $item)
    {
        if (is_array($item)) {
            return array_reduce($item, [$this, 'calcArray'], $carry);
        }

        $method = $this->method;
        return $this->{$method}($carry, (float) $item);
    }

    /**
     * @param float $carry
     * @param float $item
     * @return float
     * @internal
     */
    protected function calcOr($carry, $item)
    {
        return (float) ($carry || $item);
    }

    /**
     * @param float $carry
     * @param float $item
     * @return float
     * @internal
     */
    protected function calcMin($carry, $item)
    {
        return $carry ? min($carry, $item) : $item;
    }

    /**
     * @param float $carry
     * @param float $item
     * @return float
     * @internal
     */
    protected function calcMax($carry, $item)
    {
        return max($carry, $item);
    }

    /**
     * @param float $carry
     * @param float $item
     * @return float
     * @internal
     */
    protected function calcSum($carry, $item)
    {
        return $carry + $item;
    }

    /**
     * @param float $carry
     * @param float $item
     * @return float
     * @internal
     */
    protected function calcMul($carry, $item)
    {
        return $carry ? $carry * $item : $item;
    }
}
classes/Gantry/Component/Assignments/AbstractAssignments.php000060400000016752150750356240020410 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Assignments;

use Gantry\Component\Config\CompiledConfig;
use Gantry\Component\Config\ConfigFileFinder;
use Gantry\Framework\Gantry;
use RocketTheme\Toolbox\File\YamlFile;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

abstract class AbstractAssignments
{
    /**
     * @var string
     */
    protected $configuration;

    /**
     * @var string
     */
    protected $className = '\Gantry\%s\Assignments\Assignments%s';

    /**
     * @var string
     */
    protected $platform;

    /**
     * @var AssignmentFilter
     */
    protected $filter;

    /**
     * @var array
     */
    protected $candidates;

    /**
     * @var array
     */
    protected $page;

    /** @var callable */
    protected $specialFilterMethod;

    /**
     * @param string $configuration
     */
    public function __construct($configuration = null)
    {
        $this->configuration = $configuration;
    }

    /**
     * Get list of assignment items.
     */
    public function get()
    {
        return $this->getTypes();
    }

    /**
     * Set (save) assignments.
     *
     * @param array $data
     */
    public function set(array $data)
    {
        $this->save($data);
    }

    /**
     * Select assigned outline.
     *
     * @param string $default
     * @return string
     */
    public function select($default = 'default')
    {
        $scores = $this->scores();

        return key($scores) ?: $default;
    }

    /**
     * List matching outlines sorted by score.
     *
     * @param array $candidates
     * @return array
     */
    public function scores(array $candidates = null)
    {
        $this->init();
        $candidates = $candidates ?: $this->candidates;
        return $this->filter->scores($candidates, $this->page, $this->specialFilterMethod);
    }

    /**
     * List matching outlines with matched assignments.
     *
     * @param array $candidates
     * @return array
     */
    public function matches(array $candidates = null)
    {
        $this->init();
        $candidates = $candidates ?: $this->candidates;
        return $this->filter->matches($candidates, $this->page, $this->specialFilterMethod);
    }

    /**
     * Load all assignments.
     *
     * @return array
     */
    public function loadAssignments()
    {
        $gantry = Gantry::instance();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        // Find all the assignment files.
        $paths = $locator->findResources("gantry-config://");
        $files = (new ConfigFileFinder)->locateFileInFolder('assignments', $paths);

        // Make sure that base or system outlines aren't in the list.
        foreach ($files as $key => $array) {
            $key = (string)$key;
            if ($key === 'default' || strpos($key, '_') === 0) {
                unset($files[$key]);
            }
        }

        $cache = $locator->findResource('gantry-cache://theme/compiled/config', true, true);

        $config = new CompiledConfig($cache, [$files], GANTRY5_ROOT);

        return $config->load()->toArray();
    }

    /**
     * Get all assignments for the current page.
     *
     * @return array
     */
    public function getPage()
    {
        $list = [];

        foreach($this->types() as $class => $type) {
            $class = is_numeric($class) ? sprintf($this->className, $this->platform, ucfirst($type)) : $class;

            if (!class_exists($class)) {
                throw new \RuntimeException("Assignment type {$type} is missing");
            }

            /** @var AssignmentsInterface $instance */
            $instance = new $class;
            $list[$type] = $instance->getRules();
            unset($instance);
        }

        return $list;
    }

    /**
     * Filter assignments data.
     *
     * @param array $data
     * @param bool $minimize
     * @return array
     */
    public function filter(array $data, $minimize = false)
    {
        $types = [];
        foreach ($this->types() as $type) {
            $types[$type] = [];
        }

        $data = array_replace($types, $data);
        foreach ($data as $tname => &$type) {
            if (is_array($type)) {
                foreach ($type as $gname => &$group) {
                    if (is_array($group)) {
                        foreach ($group as $key => $value) {
                            if (!$value) {
                                unset($group[$key]);
                            } else {
                                $group[$key] = (bool) $value;
                            }
                        }
                        if (empty($group)) {
                            unset($type[$gname]);
                        }
                    } else {
                        $group = (bool) $group;
                    }
                }
                unset($group);
                if ($minimize && empty($type)) {
                    unset($data[$tname]);
                }
            } else {
                $type = (bool) $type;
            }
        }

        return $data;
    }

    /**
     * Save assignments for the configuration.
     *
     * @param array $data
     */
    public function save(array $data)
    {
        $data = $this->filter($data);

        $gantry = Gantry::instance();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        // Save layout into custom directory for the current theme.
        $save_dir = $locator->findResource("gantry-config://{$this->configuration}", true, true);
        $filename = "{$save_dir}/assignments.yaml";

        $file = YamlFile::instance($filename);
        $file->save($data);
        $file->free();
    }

    /**
     * Get list of all assignment types for assignments form.
     *
     * @return array
     */
    public function getTypes()
    {
        $list = [];

        foreach ($this->types() as $class => $type) {
            $class = is_numeric($class) ? sprintf($this->className, $this->platform, ucfirst($type)) : $class;

            if (!class_exists($class)) {
                throw new \RuntimeException("Assignment type '{$type}' is missing");
            }

            /** @var AssignmentsInterface $instance */
            $instance = new $class;
            $list[$type] = $instance->listRules($this->configuration);
            unset($instance);
        }

        return $list;
    }

    /**
     * Get selected assignment option.
     *
     * @return string
     */
    public function getAssignment()
    {
        return 'default';
    }

    /**
     * Set extra options for assignments.
     *
     * @param $value
     */
    public function setAssignment($value)
    {
    }

    /**
     * Get extra options for assignments.
     *
     * @return array
     */
    public function assignmentOptions()
    {
        return [];
    }

    protected function init()
    {
        if (!$this->filter) {
            $this->filter = new AssignmentFilter;
            $this->candidates = $this->loadAssignments();
            $this->page = $this->getPage();
        }
    }

    /**
     * Return list of assignment types.
     *
     * @return array
     */
    abstract public function types();
}
classes/Gantry/Component/Assignments/AssignmentsInterface.php000060400000001356150750356240020537 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Assignments;

interface AssignmentsInterface
{
    /**
     * Returns list of rules which apply to the current page.
     *
     * @return array
     */
    public function getRules();

    /**
     * List all the rules available.
     *
     * @param string $configuration
     * @return array
     */
    public function listRules($configuration);
}
classes/Gantry/Component/Layout/Version/Format1.php000060400000021711150750356240016340 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Layout\Version;

/**
 * Read layout from simplified yaml file.
 */
class Format1
{
    protected $scopes = [0 => 'grid', 1 => 'block'];

    protected $data;

    protected $keys = [];

    public function __construct(array $data)
    {
        $this->data = $data;
    }

    public function load()
    {
        $data = &$this->data;

        // Check if we have preset.
        $preset = [];
        if (isset($data['preset']) && is_array($data['preset']) && isset($data['layout']) && is_array($data['layout'])) {
            $preset = $data['preset'];
            $data = $data['layout'];
        }

        // We have user entered file; let's build the layout.

        // Two last items are always offcanvas and atoms.
        $offcanvas = isset($data['offcanvas']) ? $data['offcanvas'] : [];
        $atoms = isset($data['atoms']) ? $data['atoms'] : [];

        unset($data['offcanvas'], $data['atoms']);

        $data['offcanvas'] = $offcanvas;
        if ($atoms) {
            $data['atoms'] = $atoms;
        }

        $result = [];
        foreach ($data as $field => $params) {
            $child = $this->parse($field, (array) $params, 0);
            unset($child->size);

            $result[] = $child;
        }

        return ['preset' => $preset] + $result;
    }

    public function store(array $preset, array $structure)
    {
        return ['preset' => $preset, 'children' => $structure];
    }

    protected function normalize(&$item, $container = false)
    {
        if ($item->type === 'pagecontent') {
            // Update pagecontent to match the new standards.
            $item->type = 'system';
            if (!$item->subtype || $item->subtype == 'pagecontent') {
                $item->subtype = 'content';
                $item->title = 'Page Content';
            } else {
                $item->subtype ='messages';
                $item->title = 'System Messages';
            }
        }

        if ($item->type === 'section') {
            // Update section to match the new standards.
            $section = strtolower($item->title);
            $item->id = $section;
            $item->subtype = (in_array($section, ['aside', 'nav', 'article', 'header', 'footer', 'main']) ? $section : 'section');
        } elseif ($item->type === 'offcanvas') {
            $item->id = $item->subtype = $item->type;
            unset ($item->attributes->name, $item->attributes->boxed);
            return;
        } else {
            // Update all ids to match the new standards.
            $item->id = $this->id($item->type, $item->subtype);
        }

        if (!empty($item->attributes->extra)) {
            foreach ($item->attributes->extra as $i => $extra) {
                $v = reset($extra);
                $k = key($extra);
                if ($k === 'id') {
                    $item->id = preg_replace('/^g-/', '', $v);
                    $item->attributes->id = $v;
                    unset ($item->attributes->extra[$i]);
                }
            }
            if (empty($item->attributes->extra)) {
                unset ($item->attributes->extra);
            }
        }

        $item->subtype = $item->subtype ?: $item->type;
        $item->layout = in_array($item->type, ['container', 'section', 'grid', 'block', 'offcanvas']);

        if (isset($item->attributes->boxed)) {
            // Boxed already set, just change boxed=0 to boxed='' to use default settings.
            $item->attributes->boxed = $item->attributes->boxed ?: '';
            return;
        }

        if (!$container) {
            return;
        }

        // Update boxed model to match the new standards.
        if (isset($item->children) && count($item->children) === 1) {
            $child = reset($item->children);
            if ($item->type === 'container') {
                // Remove parent container only if the only child is a section.
                if ($child->type === 'section') {
                    $child->attributes->boxed = 1;
                    $item = $child;
                }
                $item->attributes->boxed = '';
            } elseif ($child->type === 'container') {
                // Remove child container.
                $item->attributes->boxed = '';
                $item->children = $child->children;
            }
        }
    }

    /**
     * @param int|string $field
     * @param array $content
     * @param int $scope
     * @param bool|null $container
     * @return array
     */
    protected function parse($field, array $content, $scope, $container = true)
    {
        if (is_numeric($field))  {
            // Row or block
            $type = $this->scopes[$scope];
            $result = (object) ['id' => null, 'type' => $type, 'subtype' => $type, 'layout' => true, 'attributes' => (object) []];
            $scope = ($scope + 1) % 2;
        } elseif (substr($field, 0, 9) == 'container') {
            // Container
            $type = 'container';
            $result = (object) ['id' => null, 'type' => $type, 'subtype' => $type, 'layout' => true, 'attributes' => (object) []];
            $id = substr($field, 10) ?: null;
            if ($id !== null) {
                $result->attributes->id = $id;
            }
        } else {
            // Section
            $list = explode(' ', $field, 2);
            $field = array_shift($list);
            $size = ((float) array_shift($list)) ?: null;
            $type = in_array($field, ['atoms', 'offcanvas']) ? $field : 'section';
            $subtype = in_array($field, ['aside', 'nav', 'article', 'header', 'footer', 'main']) ? $field : 'section';

            $result = (object) [
                'id' => null,
                'type' => $type,
                'subtype' => $subtype,
                'layout' => true,
                'title' => ucfirst($field),
                'attributes' => (object) ['id' => 'g-' . $field]
            ];

            if ($size) {
                $result->size = $size;
            }
        }

        if (!empty($content)) {
            $result->children = [];
            foreach ($content as $child => $params) {
                if (is_array($params)) {
                    $child = $this->parse($child, $params, $scope, false);
                } else {
                    $child = $this->resolve($params, $scope);
                }
                if (!empty($child->size)) {
                    $result->attributes->size = $child->size;
                }
                unset($child->size);
                $result->children[] = $child;
            }
        }

        $this->normalize($result, $container);

        return $result;
    }

    /**
     * @param string $field
     * @param int $scope
     * @return array
     */
    protected function resolve($field, $scope)
    {
        $list = explode(' ', $field, 2);
        $list2 = explode('-', array_shift($list), 2);
        $size = ((float) array_shift($list)) ?: null;
        $type = array_shift($list2);
        $subtype = array_shift($list2) ?: false;
        $title = ucfirst($subtype ?: $type);

        $attributes = new \stdClass;

        $attributes->enabled = 1;

        if ($subtype && $type === 'position') {
            $attributes->key = $subtype;
            $subtype = false;
        }

        $result = (object) ['id' => $this->id($type, $subtype), 'title' => $title, 'type' => $type, 'subtype' => $subtype, 'attributes' => $attributes];
        $this->normalize($result);

        if ($scope > 1) {
            if ($size) {
                $result->attributes->size = $size;
            }
            return $result;
        }
        if ($scope <= 1) {
            $result = (object) ['id' => $this->id('block'), 'type' => 'block', 'subtype' => 'block', 'layout' => true, 'children' => [$result], 'attributes' => new \stdClass];
            if ($size) {
                $result->attributes->size = $size;
            }
        }
        if ($scope == 0) {
            $result = (object) ['id' => $this->id('grid'), 'type' => 'grid', 'subtype' => 'grid', 'layout' => true, 'children' => [$result], 'attributes' => new \stdClass];
        }

        return $result;
    }


    protected function id($type, $subtype = null)
    {
        if ($type === 'atoms') {
            return $type;
        }

        $result = [];
        if ($type !== 'particle' && $type !== 'atom') {
            $result[] = $type;
        }
        if ($subtype && $subtype !== $type) {
            $result[] = $subtype;
        }
        $key = implode('-', $result);

        while ($id = rand(1000, 9999)) {
            if (!isset($this->keys[$key][$id])) {
                break;
            }
        }

        $this->keys[$key][$id] = true;

        return $key . '-'. $id;
    }
}
classes/Gantry/Component/Layout/Version/Format0.php000060400000003601150750356240016335 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Layout\Version;

/**
 * Read layout from Layout Manager yaml file.
 */
class Format0 extends Format1
{
    /**
     * @return array
     */
    public function load()
    {
        $data = &$this->data;

        $preset = isset($data['preset']) && is_array($data['preset']) ? $data['preset'] : [];

        $result = is_array($data['children']) ? $this->object($data['children']) : [];

        $invisible = [
            'offcanvas' => $this->parse('offcanvas', [], 0),
            'atoms' => $this->parse('atoms', [], 0)
        ];
        foreach ($result as $key => &$item) {
            if (isset($invisible[$item->type])) {
                $invisible[$item->type] = $item;
                unset($result[$key]);
            }
        }

        $result += $invisible;

        $result = array_values($result);

        return ['preset' => $preset] + $result;
    }

    protected function object(array $items, $container = true)
    {
        foreach ($items as &$item) {
            $item = (object) $item;

            if (isset($item->attributes) && (is_array($item->attributes) || is_object($item->attributes))) {
                $item->attributes = (object) $item->attributes;
            } else {
                $item->attributes = (object) [];
            }

            if (!empty($item->children) && is_array($item->children)) {
                $item->children = $this->object($item->children, false);
            }

            $this->normalize($item, $container);
        }

        return $items;
    }
}
classes/Gantry/Component/Layout/Version/Format2.php000060400000042706150750356240016350 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Layout\Version;

/**
 * Read layout from simplified yaml file.
 */
class Format2
{
    protected $scopes = [0 => 'grid', 1 => 'block'];
    protected $sections = ['wrapper', 'container', 'section', 'grid', 'block', 'offcanvas'];
    protected $structures = ['div', 'section', 'aside', 'nav', 'article', 'header', 'footer', 'main'];

    protected $data;
    protected $structure;
    protected $content;
    protected $keys;

    /**
     * @param array $data
     */
    public function __construct(array $data = [])
    {
        $this->data = $data;
    }

    /**
     * @return array
     */
    public function load()
    {
        $data = &$this->data;

        // Parse layout.
        $result = [];
        foreach ($data['layout'] as $field => &$params) {
            if (!is_array($params)) {
                $params = [];
            }
            $child = $this->parse($field, $params);
            unset($child->size);

            $result[] = $child;
        }

        return ['preset' => $data['preset']] + $result;
    }

    /**
     * @param array $preset
     * @param array $structure
     * @return array
     */
    public function store(array $preset, array $structure)
    {
        $this->structure = [];
        $this->content = [];

        $structure = ['children' => json_decode(json_encode($structure), true)];
        $structure = $this->build($structure);

        $result = [
            'version' => 2,
            'preset' => $preset,
            'layout' => $structure
        ];

        if ($this->structure) {
            $result['structure'] = $this->structure;
        }
        if ($this->content) {
            $result['content'] = $this->content;
        }

        return $result;
    }

    /**
     * @param int|string $field
     * @param array $content
     * @param int $scope
     * @param object $parent
     * @return array
     */
    protected function parse($field, array &$content, $scope = 0, $parent = null)
    {
        if (is_numeric($field)) {
            // Row or block
            $result = (object)['id' => $this->id($this->scopes[$scope]), 'type' => $this->scopes[$scope], 'subtype' => $this->scopes[$scope], 'layout' => true, 'attributes' => (object)[]];
            $scope = ($scope + 1) % 2;

        } else {
            list ($type, $subtype, $id, $size, $section_id, $boxed) = $this->parseSectionString($field);

            if ($type == 'grid') {
                $scope = 1;
            }
            if ($type == 'block') {
                $scope = 0;
            }

            // Build object.
            $result = isset($this->data['structure'][$section_id]) ? (array) $this->data['structure'][$section_id] : [];
            $result += [
                'id' => $section_id,
                'layout' => true,
                'type' => $type,
                'subtype' => $subtype,
                'title' => $this->getTitle($type, $subtype, $id),
                'attributes' => []
            ];
            if (isset($boxed) && !isset($result['attributes']['boxed'])) {
                $result['attributes']['boxed'] = $boxed;
            }
            if ($parent && $parent->type === 'block' && !empty($result['block'])) {
                $parent->attributes = (object) ($result['block'] + (array) $parent->attributes);
            }
            unset ($result['block']);

            $result = (object) $result;
            $result->attributes = (object) $result->attributes;
            if (isset($result->inherit)) {
                $result->inherit = (object) $result->inherit;
            }

            if ($size) {
                $result->size = $size;
            }
            if (($type === 'grid' || $type === 'block') && !isset($result->attributes->id)) {
                $result->attributes->id = $section_id;
            }
        }

        if (!empty($content)) {
            $result->children = [];
            foreach ($content as $child => &$params) {
                if (!$params && !is_array($params)) {
                    $params = [];
                }
                if (is_array($params)) {
                    $child = $this->parse($child, $params, $scope, $result);
                } else {
                    $child = $this->resolve($params, $scope, $result);
                }
                if (!empty($child->size)) {
                    $result->attributes->size = $child->size;
                }
                unset($child->size);
                $result->children[] = $child;
            }
        }

        return $result;
    }

    /**
     * @param string $field
     * @param int $scope
     * @param object $parent
     * @return array
     */
    protected function resolve($field, $scope, $parent)
    {
        list ($type, $subtype, $id, $size, $content_id) = $this->parseContentString($field);

        $title = $this->getTitle($type, $subtype, $id);

        $result = isset($this->data['content'][$content_id]) ? (array) $this->data['content'][$content_id] : [];
        $result += ['id' => $this->id($type, $subtype, $id), 'title' => $title, 'type' => $type, 'subtype' => $subtype, 'attributes' => []];

        $result['attributes'] = (object) ($result['attributes'] + ['enabled' => 1]);
        if (isset($result['inherit'])) {
            $result['inherit'] = (object) $result['inherit'];
        }

        if (isset($result['block'])) {
            $block = $result['block'];
            unset ($result['block']);
        }

        $result = (object) $result;

        if ($type === 'position' && !isset($result->attributes->key) && !in_array($subtype, ['module', 'widget'])) {
            $result->attributes->key = $id;
        }
        if ($scope > 1) {
            if ($parent->type === 'block' && !empty($block)) {
                $parent->attributes = (object) ($block + (array) $parent->attributes);
            }
            if ($size) {
                $result->attributes->size = $size;
            }
        }
        if ($scope <= 1) {
            $result = (object) ['id' => $this->id('block'), 'type' => 'block', 'subtype' => 'block', 'layout' => true, 'children' => [$result], 'attributes' => new \stdClass];
            if (!empty($block)) {
                $result->attributes = (object) $block;
            }
            if ($size) {
                $result->attributes->size = $size;
            }
        }
        if ($scope == 0) {
            $result = (object) ['id' => $this->id('grid'), 'type' => 'grid', 'subtype' => 'grid', 'layout' => true, 'children' => [$result], 'attributes' => new \stdClass];
        }

        return $result;
    }

    /**
     * @param array $content
     * @return array|null
     */
    protected function build(array &$content)
    {
        $result = [];
        $ctype = isset($content['type']) ? $content['type'] : null;

        if (in_array($ctype, ['grid', 'block'])) {
            if (empty($content['attributes']['id']) || $content['attributes']['id'] === $content['id']) {
                unset ($content['attributes']['id']);
            }
        }
        if ($ctype === 'block') {
            if (empty($content['attributes']['extra'])) {
                unset ($content['attributes']['extra']);
            }
            if (empty($content['attributes']['fixed'])) {
                unset ($content['attributes']['fixed']);
            }
        }
        if ($ctype === 'section') {
            if (empty($content['attributes']['extra'])) {
                unset ($content['attributes']['extra']);
            }
        }

        if (!isset($content['children'])) {
            $content['children'] = [];
        }
        unset ($content['layout']);

        // Clean up all items for saving.
        foreach ($content['children'] as &$child) {
            $size = null;
            $id = $child['id'];
            $type = $child['type'];
            $subtype = $child['subtype'];
            $isSection = in_array($type, $this->sections);

            if (empty($child['inherit']['outline']) || empty($child['inherit']['include'])) {
                unset ($child['inherit']);
            } else {
                foreach ($child['inherit']['include'] as $include) {
                    switch ($include) {
                        case 'attributes':
                            unset($child['attributes']);
                            break;
                        case 'block':
                            if ($ctype === 'block') {
                                // Keep block size and fixed status.
                                $attributes = !empty($content['attributes']) ? $content['attributes'] : [];
                                $content['attributes'] = array_intersect_key($attributes, ['fixed' => 1, 'size' => 1]);
                            }
                            break;
                        case 'children':
                            $child['children'] = [];
                            break;
                    }
                }
            }

            if (!$isSection) {
                // Special handling for positions.
                if ($type === 'position') {
                    // TODO: we may want to simplify position id, but we need to take into account multiple instances of the same position key.
/*
                    if (!$subtype || $subtype === 'position') {
                        $id = 'position-' . (isset($child['attributes']['key']) ? $child['attributes']['key'] : rand(1000,9999));
                        unset ($child['attributes']['key']);
                    }
*/
                    unset ($child['attributes']['title']);
                }

                $value = $id;
                if (!empty($child['attributes']['enabled'])) {
                    unset ($child['attributes']['enabled']);
                }
            } else {
                // Recursively handle structure.
                $value = $this->build($child);
            }

            // Clean up defaults.
            if (empty($child['title']) || $child['title'] === 'Untitled' || $child['title'] === $this->getTitle($type, $subtype, $id)) {
                unset ($child['title']);
            }
            if (!$subtype || $subtype === $type) {
                unset ($child['subtype']);
            }

            // Remove id and children as we store data in flat structure with id being the key.
            unset ($child['id'], $child['children']);

            if ($type === 'offcanvas' && isset($child['attributes']['name'])) {
                unset ($child['attributes']['name']);
            }

            if ($ctype === 'block') {
                // Embed size into array key/value.
                if (isset($content['attributes']['size']) && $content['attributes']['size'] != 100) {
                    $size = $content['attributes']['size'];
                }
                unset ($content['attributes']['size']);
                // Embed parent block.
                if (!empty($content['attributes'])) {
                    $child['block'] = $content['attributes'];
                    unset ($content['attributes']);
                }
            }

            if (isset($child['attributes']['size'])) {
                if ($child['attributes']['size'] != 100 && is_string($value)) {
                    $size = $child['attributes']['size'];
                }
                unset ($child['attributes']['size']);
            }

            // Remove attributes if there aren't any.
            if (empty($child['attributes'])) {
                unset ($child['attributes']);
            }

            // Special handling for grid and block elements.
            if (in_array($type, ['grid', 'block']) && count($child) === 1 && isset($child['type'])) {
                $id = null;
            }

            // Check if type and subtype can be generated from the id.
            if ($subtype && (preg_match("/^{$type}-{$subtype}(-|$)/", $id))
                || (in_array($type, ['section', 'particle']) && preg_match("/^{$subtype}(-|$)/", $id))) {
                unset ($child['type'], $child['subtype']);
            } elseif (preg_match("/^{$type}(-|$)/", $id)) {
                unset ($child['type']);
            }

            // Add item configuration if not empty.
            if ($id && !empty($child)) {
                if (!is_string($value)) {
                    $this->structure[$id] = $child;
                } else {
                    $this->content[$id] = $child;
                }
            }

            // Add item to the layout.
            if (!is_string($value)) {
                // Add structural item.
                if ($id) {
                    // Sections and other complex items.
                    $id = isset($child['attributes']['boxed']) ? "/{$id}/" : $id;
                    $result[trim("{$id} {$size}")] = $value;
                } elseif (!empty($value)) {
                    // Simple grid / block item.
                    $result[] = $value;
                }
            } else {
                // Add content item.
                $result[] = trim("{$value} {$size}");
            }
        }

        // TODO: maybe collapse grid as well?
        if ($ctype && in_array($ctype, ['block']) && count($result) <= 1 && key($result) === 0) {
            unset ($this->structure[$content['id']]);
            return reset($result) ?: null;
        }

        return $result;
    }

    /**
     * @param string $string
     * @return array
     */
    protected function parseSectionString($string)
    {
        // Extract: "[section-id] [size]".
        $list = explode(' ', $string, 2);
        $section_id = array_shift($list);
        $size = ((float) array_shift($list)) ?: null;

        // Extract slashes from "/[section-id]/".
        $boxedLeft = $section_id[0] === '/';
        $boxedRight = $section_id[strlen($section_id)-1] === '/';
        $boxed = ($boxedLeft && $boxedRight ? '' : ($boxedLeft ? '1' : ($boxedRight ? '0' : null)));
        $section_id = trim($section_id, '/');

        // Extract section id if it exists: "[section]-[id]".
        $list = explode('-', $section_id, 2);

        // Get section and its type.
        $section = reset($list);
        $type = (in_array($section, $this->sections)) ? $section : 'section';
        $subtype = ($type !== 'section' || in_array($section, $this->structures)) ? $section : 'section';

        // Extract id.
        if ($type == 'section' && in_array($section, $this->structures)) {
            $id = array_pop($list);
        } else {
            $id = $section_id;
        }

        return [$type, $subtype, $id, $size, $section_id, $boxed];
    }

    /**
     * @param string $string
     * @return array
     */
    protected function parseContentString($string)
    {
        // Extract: "[type-subtype] [size]".
        $list = explode(' ', $string, 2);
        $content_id = array_shift($list);
        $size = ((float) array_shift($list)) ?: null;

        // Extract sub-type if it exists: "[type]-[subtype]-[id]".
        $list = explode('-', $content_id);

        // Get type, subtype and id.
        $type = reset($list);
        $test = end($list);
        $id = ((string)(int) $test === (string) $test) ? array_pop($list) : null;
        if (in_array($type, ['system', 'position', 'particle', 'spacer'])) {
            array_shift($list);
        } else {
            $type = 'particle';
        }
        $subtype = implode('-', $list);

        if ($type === 'position' && !in_array($subtype, ['module', 'widget'])) {
            $id = ($subtype ?: $type) . ($id !== null ? "-{$id}" : '');
            $subtype = 'position';
        }

        return [$type, $subtype ?: $type, $id, $size, $content_id];
    }

    /**
     * @param string $type
     * @param string $subtype
     * @param string $id
     * @return string
     */
    protected function getTitle($type, $subtype, $id)
    {
        if (in_array($type, $this->sections)) {
            if ($type === 'offcanvas') {
                return 'Offcanvas';
            }

            if ($type === 'grid' || $type === 'block') {
                return null;
            }

            return ucfirst((string)(int) $id === (string) $id ? ($subtype ?: $type) . "-{$id}" : $id);
        }

        if ($type === 'position' && !in_array($subtype, ['module', 'widget'])) {
            return ucfirst(preg_replace('/^position-(.*?[a-z])/ui', '\1', $id));
        }

        if ($type === 'system') {
            if ($subtype === 'messages') {
                return 'System Messages';
            }
            if ($subtype === 'content') {
                return 'Page Content';
            }
        }

        return ucfirst($subtype ?: $type);
    }

    /**
     * @param string $type
     * @param string $subtype
     * @param string $id
     * @return string
     */
    protected function id($type, $subtype = null, $id = null)
    {
        $result = [];
        if ($type !== 'particle') {
            $result[] = $type;
        }
        if ($subtype && $subtype !== $type) {
            $result[] = $subtype;
        }
        $key = implode('-', $result);

        if (!$id || isset($this->keys[$key][$id])) {
            while ($id = rand(1000, 9999)) {
                if (!isset($this->keys[$key][$id])) {
                    break;
                }
            }
        }

        $this->keys[$key][$id] = true;

        return $key . '-'. $id;
    }
}
classes/Gantry/Component/Layout/LayoutReader.php000060400000005011150750356240015775 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Layout;

use Gantry\Component\File\CompiledYamlFile;

/**
 * Read layout from yaml file.
 */
class LayoutReader
{
    /**
     * Get layout version.
     *
     * @param array $data
     * @return int
     */
    public static function version(array &$data)
    {
        if (isset($data['version'])) {
            return $data['version'];
        }

        return isset($data['children']) && is_array($data['children']) ? 0 : 1;
    }

    /**
     * Make layout from array data.
     *
     * @param array $data
     * @return array
     */
    public static function data(array $data)
    {
        $version = static::version($data);
        $reader = static::getClass($version, $data);
        $result = $reader->load();

        // Make sure that all preset values are set by defining defaults.
        $result['preset'] += [
            'name' => '',
            'image' => 'gantry-admin://images/layouts/default.png'
        ];

        return $result;
    }

    /**
     * Read layout from yaml file and return parsed version of it.
     *
     * @param string $file
     * @return array
     */
    public static function read($file)
    {
        if (!$file) {
            return [];
        }

        $file = CompiledYamlFile::instance($file);
        $content = (array) $file->content();
        $file->free();

        return static::data($content);
    }

    /**
     * Convert layout into file format.
     *
     * @param array $preset
     * @param array $structure
     * @param int $version
     * @return mixed
     */
    public static function store(array $preset, array $structure, $version = 2)
    {
        $reader = static::getClass($version);

        return $reader->store($preset, $structure);
    }

    /**
     * @param int $version
     * @param array $data
     * @return object
     */
    protected static function getClass($version, array $data = [])
    {
        $class = "Gantry\\Component\\Layout\\Version\\Format{$version}";

        if (!class_exists($class)) {
            throw new \RuntimeException('Layout file cound not be read: unsupported version {$version}.');
        }

        return new $class($data);

    }
}
classes/Gantry/Component/Layout/Layout.php000060400000102773150750356240014667 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Layout;

use Gantry\Component\Config\Config;
use Gantry\Component\File\CompiledYamlFile;
use Gantry\Framework\Outlines;
use Gantry\Framework\Gantry;
use RocketTheme\Toolbox\ArrayTraits\ArrayAccess;
use RocketTheme\Toolbox\ArrayTraits\Export;
use RocketTheme\Toolbox\ArrayTraits\ExportInterface;
use RocketTheme\Toolbox\ArrayTraits\Iterator;
use RocketTheme\Toolbox\File\YamlFile;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceIterator;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

/**
 * Layout
 */
class Layout implements \ArrayAccess, \Iterator, ExportInterface
{
    use ArrayAccess, Iterator, Export;

    const VERSION = 7;

    protected static $instances = [];
    protected static $indexes = [];
    protected $layout = ['wrapper', 'container', 'section', 'grid', 'block', 'offcanvas'];

    public $name;
    public $timestamp = 0;
    public $preset = [];
    public $equalized = [3 => 33.3, 6 => 16.7, 7 => 14.3, 8 => 12.5, 9 => 11.1, 11 => 9.1, 12 => 8.3];

    protected $exists;
    protected $items;
    protected $references;
    protected $parents;
    protected $blocks;
    protected $types;
    protected $inherit;

    /**
     * @return array
     */
    public static function presets()
    {
        $gantry = Gantry::instance();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        /** @var UniformResourceIterator $iterator */
        $iterator = $locator->getIterator(
            'gantry-layouts://',
            UniformResourceIterator::CURRENT_AS_SELF | UniformResourceIterator::UNIX_PATHS | UniformResourceIterator::SKIP_DOTS
        );

        $files = [];
        /** @var UniformResourceIterator $info */
        foreach ($iterator as $info) {
            $name = $info->getBasename('.yaml');
            if (!$info->isFile() || $info->getExtension() !== 'yaml' || $name[0] === '.') {
                continue;
            }
            $files[] = $name;
        }

        sort($files);

        $results = ['user' => [], 'system' => []];
        foreach ($files as $preset) {
            $scope = $preset && $preset[0] !== '_' ? 'user' : 'system';
            $results[$scope][$preset] = ucwords(trim(preg_replace(['|_|', '|/|'], [' ', ' / '], $preset)));
        }

        return $results;
    }

    /**
     * @param string $name
     * @return array
     * @throws \RuntimeException
     */
    public static function preset($name)
    {
        $gantry = Gantry::instance();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];
        $filename = $locator->findResource("gantry-layouts://{$name}.yaml");

        if (!$filename) {
            throw new \RuntimeException(sprintf("Preset '%s' not found", $name), 404);
        }

        $layout = LayoutReader::read($filename);
        $layout['preset']['name'] = $name;
        $layout['preset']['timestamp'] = filemtime($filename);

        return $layout;
    }

    /**
     * @param  string $name
     * @return Layout
     */
    public static function instance($name)
    {
        if (!isset(static::$instances[$name])) {
            static::$instances[$name] = static::load($name);
        }

        return static::$instances[$name];
    }

    /**
     * @param  string $name
     * @return Layout
     */
    public static function index($name)
    {
        if (!isset(static::$indexes[$name])) {
            static::$indexes[$name] = static::loadIndex($name, true);
        }

        return static::$indexes[$name];
    }

    /**
     * @param string $name
     * @param array $items
     * @param array $preset
     */
    public function __construct($name, array $items = null, array $preset = null)
    {
        $this->name = $name;
        $this->items = (array) $items;
        $this->exists = $items !== null;

        // Add preset data from the layout.
        if ($preset) {
            $this->preset = $preset;
        } elseif (isset($this->items['preset'])) {
            $this->preset = (array) $this->items['preset'];
        }

        unset($this->items['preset']);

        $this->preset += [
            'name' => '',
            'timestamp' => 0,
            'image' => 'gantry-admin://images/layouts/default.png'
        ];
    }

    /**
     * @return bool
     */
    public function exists()
    {
        return $this->exists;
    }

    /**
     * Initialize layout.
     *
     * @param  bool  $force
     * @param  bool  $inherit
     * @return $this
     */
    public function init($force = false, $inherit = true)
    {
        if ($force || $this->references === null) {
            $this->initReferences();
            if ($inherit) {
                $this->initInheritance();
            }
        }

        return $this;
    }

    /**
     * Build separate meta-information from the layout.
     *
     * @return array
     */
    public function buildIndex()
    {
        return [
            'name' => $this->name,
            'timestamp' => $this->timestamp,
            'version' => static::VERSION,
            'preset' => $this->preset,
            'positions' => $this->positions(),
            'sections' => $this->sections(),
            'particles' => $this->particles(),
            'inherit' => $this->inherit()
        ];
    }

    /**
     * @return $this
     */
    public function clean()
    {
        $this->references = null;
        $this->types = null;
        $this->inherit = null;

        $this->cleanLayout($this->items);

        return $this;
    }

    /**
     * @param string $old
     * @param string $new
     * @param array  $ids
     * @return $this
     */
    public function updateInheritance($old, $new = null, $ids = null)
    {
        $this->init();

        $inherit = $this->inherit();

        if (!empty($inherit[$old])) {
            foreach ($inherit[$old] as $id => $inheritId) {
                $element = $this->find($id, false);
                if ($element) {
                    $inheritId = isset($element->inherit->particle) ? $element->inherit->particle : $id;
                    if ($new && ($ids === null || isset($ids[$inheritId]))) {
                        // Add or modify inheritance.
                        if (!isset($element->inherit)) {
                            $element->inherit = new \stdClass;
                        }
                        $element->inherit->outline = $new;
                    } else {
                        // Remove inheritance.
                        $element->inherit = new \stdClass;
                        unset($this->inherit[$element->id]);
                    }
                } else {
                    // Element does not exist anymore, remove its reference.
                    unset($this->inherit[$id]);
                }
            }
        }

        return $this;
    }


    /**
     * Save layout.
     *
     * @param bool $cascade
     * @return $this
     */
    public function save($cascade = true)
    {
        if (!$this->name) {
            throw new \LogicException('Cannot save unnamed layout');
        }

        GANTRY_DEBUGGER && \Gantry\Debugger::addMessage("Saving layout for outline {$this->name}");

        $name = strtolower(preg_replace('|[^a-z\d_-]|ui', '_', $this->name));

        $gantry = Gantry::instance();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        // If there are atoms in the layout, copy them into outline configuration.
        $atoms = $this->atoms();
        if (is_array($atoms) && $cascade) {
                // Save layout into custom directory for the current theme.
                $filename = $locator->findResource("gantry-config://{$name}/page/head.yaml", true, true);

                $file = YamlFile::instance($filename);
                $config = new Config($file->content());

                $file->save($config->set('atoms', json_decode(json_encode($atoms), true))->toArray());
                $file->free();
        }

        // Remove atoms from the layout.
        foreach ($this->items as $key => $section) {
            if ($section->type === 'atoms') {
                unset ($this->items[$key]);
            }
        }

        // Make sure that base outline never uses inheritance.
        if ($name === 'default') {
            $this->inheritNothing();
        }

        $filename = $locator->findResource("gantry-config://{$name}/layout.yaml", true, true);
        $file = CompiledYamlFile::instance($filename);
        $file->settings(['inline' => 20]);
        $file->save(LayoutReader::store($this->preset, $this->items));
        $file->free();

        $this->timestamp = $file->modified();
        $this->exists = true;

        static::$instances[$this->name] = $this;

        return $this;
    }

    public function export()
    {
        return LayoutReader::store($this->preset, $this->items);
    }

    /**
     * Save index.
     *
     * @return $this
     */
    public function saveIndex($index = null)
    {
        if (!$this->name) {
            throw new \LogicException('Cannot save unnamed layout');
        }

        GANTRY_DEBUGGER && \Gantry\Debugger::addMessage("Saving layout index for outline {$this->name}");

        $gantry = Gantry::instance();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];
        $filename = $locator->findResource("gantry-config://{$this->name}/index.yaml", true, true);
        $cache = $locator->findResource("gantry-cache://{$this->name}/compiled/yaml", true, true);
        $file = CompiledYamlFile::instance($filename);

        // Attempt to lock the file for writing.
        try {
            $file->lock(false);
        } catch (\Exception $e) {
            // Another process has locked the file; we will check this in a bit.
        }

        $index = $index ? $index : $this->buildIndex();

        // If file wasn't already locked by another process, save it.
        if ($file->locked() !== false) {
            $file->setCachePath($cache)->settings(['inline' => 20]);
            $file->save($index);
            $file->unlock();
        }
        $file->free();

        static::$indexes[$this->name] = $index;

        return $this;
    }

    /**
     * @return array
     */
    public function getLayoutTypes()
    {
        return $this->layout;
    }

    /**
     * @param string $type
     * @return bool
     */
    public function isLayoutType($type)
    {
        return in_array($type, $this->layout, true);
    }

    /**
     * @param $id
     * @return string|null
     */
    public function getParentId($id)
    {
        return isset($this->parents[$id]) ? $this->parents[$id] : null;
    }

    /**
     * @return array
     */
    public function references()
    {
        $this->init();

        return $this->references;
    }

    /**
     * @param string $type
     * @param string $subtype
     * @return array
     */
    public function referencesByType($type = null, $subtype = null)
    {
        $this->init();

        if (!$type) {
            return $this->types;
        }

        if (!$subtype) {
            return isset($this->types[$type]) ? $this->types[$type] : [];
        }

        return isset($this->types[$type][$subtype]) ? $this->types[$type][$subtype] : [];
    }

    /**
     * Return list of positions (key) with their titles (value).
     *
     * @return array Array of position => title
     */
    public function positions()
    {
        $positions = $this->referencesByType('position', 'position');

        $list = [];
        foreach($positions as $position) {
            if (!isset($position->attributes->key)) {
                continue;
            }
            $list[$position->attributes->key] = $position->title;
        }

        return $list;
    }

    /**
     * Return list of positions (key) with their titles (value).
     *
     * @return array Array of position => title
     */
    public function sections()
    {
        $list = [];
        foreach ($this->referencesByType('section') as $type => $sections) {
            foreach ($sections as $id => $section) {
                $list[$id] = $section->title;
            }
        }

        foreach ($this->referencesByType('offcanvas') as $type => $sections) {
            foreach ($sections as $id => $section) {
                $list[$id] = $section->title;
            }
        }

        return $list;
    }

    /**
     * Return list of particles with their titles.
     *
     * @param  bool  $grouped  If true, group particles by type.
     * @return array Array of position => title
     */
    public function particles($grouped = true)
    {
        $blocks = $this->referencesByType('block', 'block');

        $list = [];
        foreach ($blocks as $blockId => $block) {
            if (!empty($block->children)) {
                foreach ($block->children as $id => $particle) {
                    if (!empty($particle->layout) || in_array($particle->type, $this->layout, true)) {
                        continue;
                    }
                    if ($grouped) {
                        $list[$particle->subtype][$particle->id] = $particle->title;
                    } else {
                        $list[$particle->id] = $particle->title;
                    }
                }
            }
        }

        return $list;
    }

    /**
     * @param string $outline
     * @return array
     */
    public function inherit($outline = null)
    {
        $this->init();

        $list = [];
        foreach ($this->inherit as $name => $item) {
            if (isset($item->inherit->outline)) {
                if (isset($item->inherit->particle)) {
                    $list[$item->inherit->outline][$name] = $item->inherit->particle;
                } else {
                    $list[$item->inherit->outline][$name] = $name;
                }
            }
        }

        return $outline ? (!empty($list[$outline]) ? $list[$outline] : []) : $list;
    }

    /**
     * Return atoms from the layout.
     *
     * @return array|null
     * @deprecated
     */
    public function atoms()
    {
        $list   = null;

        $atoms = array_filter($this->items, function ($section) {
            return $section->type === 'atoms' && !empty($section->children);
        });
        $atoms = array_shift($atoms);

        if (!empty($atoms->children)) {
            $list = [];
            foreach ($atoms->children as $grid) {
                if (!empty($grid->children)) {
                    foreach ($grid->children as $block) {
                        if (isset($block->children[0])) {
                            $item = $block->children[0];
                            $list[] = ['title' => $item->title, 'type' => $item->subtype, 'attributes' => $item->attributes];
                        }
                    }
                }
            }
        }

        return $list;
    }

    /**
     * @param string $id
     * @param bool $createIfNotExists
     * @return object
     */
    public function find($id, $createIfNotExists = true)
    {
        $this->init();

        if (!isset($this->references[$id])) {
            return $createIfNotExists ? (object)['id' => $id, 'inherit' => new \stdClass] : null;
        }

        return $this->references[$id];
    }

    /**
     * @param string $id
     * @return null
     */
    public function block($id)
    {
        $this->init();

        return isset($this->blocks[$id]) ? $this->blocks[$id] : null;
    }

    public function clearSections()
    {
        $this->items = $this->clearChildren($this->items);

        return $this;
    }

    protected function clearChildren(&$items)
    {
        foreach ($items as $key => $item) {
            if (!empty($item->children)) {
                $this->children = $this->clearChildren($item->children);
            }

            if (empty($item->children) && in_array($item->type, ['grid', 'block', 'particle', 'position', 'spacer', 'system'], true)) {
                unset($items[$key]);
            }
        }

        return array_values($items);
    }

    public function copySections(array $old)
    {
        $this->init();

        /** @var Layout $old */
        $old = new static('tmp', $old);

        $leftover = [];

        // Copy normal sections.
        $data = $old->referencesByType('section');

        if (isset($this->types['section'])) {
            $sections = $this->types['section'];

            $this->copyData($data, $sections, $leftover);
        }

        // Copy offcanvas.
        $data = $old->referencesByType('offcanvas');
        if (isset($this->types['offcanvas'])) {
            $offcanvas = $this->types['offcanvas'];

            $this->copyData($data, $offcanvas, $leftover);
        }

        // Copy atoms.
        $data = $old->referencesByType('atoms');
        if (isset($this->types['atoms'])) {
            $atoms = $this->types['atoms'];

            $this->copyData($data, $atoms, $leftover);
        }

        return $leftover;
    }

    public function inheritAll()
    {
        foreach ($this->references() as $item) {
            if (!empty($item->inherit->outline)) {
                continue;
            }
            if (!$this->isLayoutType($item->type)) {
                $item->inherit = (object) ['outline' => $this->name, 'include' => ['attributes', 'block']];
            } elseif ($item->type === 'section' || $item->type === 'offcanvas') {
                $item->inherit = (object) ['outline' => $this->name, 'include' => ['attributes', 'block', 'children']];
            }
        }

        $this->init(true);

        return $this;
    }

    public function inheritNothing()
    {
        foreach ($this->references() as $item) {
            unset($item->inherit);
        }

        $this->init(true);

        return $this;
    }

    protected function copyData(array $data, array $sections, array &$leftover)
    {
        foreach ($data as $type => $items) {
            foreach ($items as $item) {
                $found = false;
                if (isset($sections[$type])) {
                    foreach ($sections[$type] as $section) {
                        if ($section->id === $item->id) {
                            $found = true;
                            $section->inherit = $this->cloneData($item->inherit);
                            $section->children = $this->cloneData($item->children);
                            break;
                        }
                    }
                }
                if (!$found && !empty($item->children)) {
                    $leftover[$item->id] = $item->title;
                }
            }
        }
    }

    /**
     * Clone data which consists mixed set of arrays and stdClass objects.
     *
     * @param mixed $data
     * @return mixed
     */
    protected function cloneData($data)
    {
        if (!($isObject = is_object($data)) && !is_array($data)) {
            return $data;
        }

        $clone = [];

        foreach((array) $data as $key => $value) {
            if (is_object($value) || is_array($value)) {
                $clone[$key] = $this->cloneData($value);
            } else {
                $clone[$key] = $value;
            }
        }

        return $isObject ? (object) $clone : $clone;
    }

    /**
     * @param array $items
     */
    protected function cleanLayout(array $items)
    {
        foreach ($items as $item) {
            if (!empty($item->inherit->include)) {
                $include = $item->inherit->include;
                foreach ($include as $part) {
                    switch ($part) {
                        case 'attributes':
                            $item->attributes = new \stdClass();
                            break;
                        case 'block':
                            break;
                        case 'children':
                            $item->children = [];
                            break;
                    }
                }
            }
            if (!empty($item->children)) {
                $this->cleanLayout($item->children);
            }
        }
    }

    protected function initInheritance()
    {
        $index = null;
        if ($this->name) {
            $index = static::loadIndexFile($this->name);
        }

        $inheriting = $this->inherit();

        if (GANTRY_DEBUGGER && $inheriting) {
            \Gantry\Debugger::addMessage(sprintf("Layout from outline %s inherits %s", $this->name, implode(", ", array_keys($inheriting))));
        }

        foreach ($inheriting as $outlineId => $list) {
            try {
                $outline = $this->instance($outlineId);
            } catch (\Exception $e) {
                // Outline must have been deleted.
                GANTRY_DEBUGGER && \Gantry\Debugger::addMessage("Outline {$outlineId} is missing / deleted", 'error');
                $outline = null;
            }
            foreach ($list as $id => $inheritId) {
                $item = $this->find($id);

                $inheritId = !empty($item->inherit->particle) ? $item->inherit->particle : $id;
                $inherited = $outline ? $outline->find($inheritId) : null;
                $include = !empty($item->inherit->include) ? (array) $item->inherit->include : [];

                foreach ($include as $part) {
                    switch ($part) {
                        case 'attributes':
                            // Deep clone attributes.
                            $item->attributes = isset($inherited->attributes) ? $this->cloneData($inherited->attributes) : new \stdClass();
                            break;
                        case 'block':
                            $block = $this->block($id);
                            if (isset($block->attributes)) {
                                $inheritBlock = $outline ? $this->cloneData($outline->block($inheritId)) : null;
                                $blockAttributes = $inheritBlock ?
                                    array_diff_key((array)$inheritBlock->attributes, ['fixed' => 1, 'size' => 1]) : [];
                                $block->attributes = (object)($blockAttributes + (array)$block->attributes);
                            }
                            break;
                        case 'children':
                            if (!empty($inherited->children)) {
                                // Deep clone children.
                                $item->children = $this->cloneData($inherited->children);
                                $this->initReferences($item->children, $this->getParentId($id), null,
                                    ['outline' => $outlineId, 'include' => ['attributes', 'block']], $index);
                            } else {
                                $item->children = [];
                            }
                            break;
                    }
                }

                if (!$outline || !isset($inherited->attributes)) {
                    // Remove inheritance information if outline doesn't exist.
                    $item->inherit = new \stdClass;
                    unset($this->inherit[$item->id]);
                }
            }
        }

    }

    /**
     * @param array $items
     * @param object $parent
     * @param object $block
     * @param string $inherit
     * @param array $index
     */
    protected function initReferences(array $items = null, $parent = null, $block = null, $inherit = null, array $index = null)
    {
        if ($items === null) {
            $items = $this->items;
            $this->references = [];
            $this->types = [];
            $this->inherit = [];
        }

        foreach ($items as $item) {
            if (is_object($item)) {
                $type = $item->type;
                $subtype = !empty($item->subtype) ? $item->subtype : $type;

                if ($block) {
                    $this->parents[$item->id] = $parent;
                }
                if ($block) {
                    $this->blocks[$item->id] = $block;
                }

                if ($inherit && !$this->isLayoutType($type)) {
                    $item->inherit = (object) $inherit;
                    $item->inherit->particle = $item->id;

                    if (isset($index['inherit'][$item->inherit->outline]) && ($newId = array_search($item->id, $index['inherit'][$item->inherit->outline], true))) {
                        $item->id = $newId;
                    } else {
                        $item->id = $this->id($type, $subtype);
                    }
                }

                if (isset($item->id)) {
                    if (isset($this->references[$item->id])) {
                        if ($type === 'block' || $type === 'grid') {
                            $item->id = $this->id($type, $subtype);
                        }
//                        elseif (null === $inherit) {
//                            throw new \RuntimeException('Layout reference conflict on #' . $item->id);
//                        }
                    }
                    $this->references[$item->id] = $item;
                    $this->types[$type][$subtype][$item->id] = $item;

                    if (!empty($item->inherit->outline)) {
                        $this->inherit[$item->id] = $item;
                    }
                } else {
                    $this->types[$type][$subtype][] = $item;
                }

                if (isset($item->children) && is_array($item->children)) {
                    $this->initReferences($item->children, $type === 'section' ? $item : $parent, $type === 'block' ? $item : null, $inherit, $index);
                }
            }
        }
    }

    /**
     * @param string $type
     * @param string $subtype
     * @param string $id
     * @return string
     */
    protected function id($type, $subtype = null, $id = null)
    {
        $result = [];
        if ($type !== 'particle') {
            $result[] = $type;
        }
        if ($subtype && ($subtype !== $type || $subtype === 'position')) {
            $result[] = $subtype;
        }
        $key = implode('-', $result);

        $key_id = $key . '-'. $id;
        if (!$id || isset($this->references[$key_id])) {
            while ($id = rand(1000, 9999)) {
                $key_id = $key . '-'. $id;
                if (!isset($this->references[$key_id])) {
                    break;
                }
            }
        }

        return $key_id;
    }

    /**
     * Prepare block width sizes.
     *
     * @return $this
     */
    public function prepareWidths()
    {
        $this->init();

        $this->calcWidths($this->items);

        return $this;
    }

    /**
     * Recalculate block widths.
     *
     * @param array $items
     * @internal
     */
    protected function calcWidths(array &$items)
    {
        foreach ($items as $i => $item) {
            if (empty($item->children)) {
                continue;
            }

            $this->calcWidths($item->children);

            $dynamicSize = 0;
            $fixedSize = 0;
            $childrenCount = 0;
            foreach ($item->children as $child) {
                if ($child->type !== 'block') {
                    continue;
                }
                $childrenCount++;
                if (!isset($child->attributes->size)) {
                    $child->attributes->size = 100 / count($item->children);
                }
                if (empty($child->attributes->fixed)) {
                    $dynamicSize += $child->attributes->size;
                } else {
                    $fixedSize += $child->attributes->size;
                }
            }

            if (!$childrenCount) {
                continue;
            }

            $roundSize = round($dynamicSize, 1);
            $equalized = isset($this->equalized[$childrenCount]) ? $this->equalized[$childrenCount] : 0;

            // force-casting string for testing comparison due to weird PHP behavior that returns wrong result
            if ($roundSize !== 100 && (string) $roundSize !== (string) ($equalized * $childrenCount)) {
                $fraction = 0;
                $multiplier = (100 - $fixedSize) / ($dynamicSize ?: 1);
                foreach ($item->children as $child) {
                    if ($child->type !== 'block') {
                        continue;
                    }
                    if (!empty($child->attributes->fixed)) {
                        continue;
                    }

                    // Calculate size for the next item by taking account the rounding error from the last item.
                    // This will allow us to approximate cumulating error and fix it when rounding error grows
                    // over the rounding treshold.
                    $size = ($child->attributes->size * $multiplier) + $fraction;
                    $newSize = round($size);
                    $fraction = $size - $newSize;
                    $child->attributes->size = $newSize;
                }
            }
        }
    }

    /**
     * @param  string $name
     * @param  string $preset
     * @return static
     */
    public static function load($name, $preset = null)
    {
        if (!$name) {
            throw new \BadMethodCallException('Layout needs to have a name');
        }

        $gantry = Gantry::instance();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        $layout = null;
        $filename = $locator("gantry-config://{$name}/layout.yaml");

        // If layout file doesn't exists, figure out what preset was used.
        if (!$filename) {

            // Attempt to load the index file.
            $indexFile = $locator("gantry-config://{$name}/index.yaml");
            if ($indexFile || !$preset) {
                $index = static::loadIndex($name, true);
                $preset = $index['preset']['name'];
            }

            try {
                $layout = static::preset($preset);
            } catch (\Exception $e) {
                // Layout doesn't exist, do nothing.
            }
        } else {
            $layout = LayoutReader::read($filename);
        }

        return new static($name, $layout);
    }

    protected static function loadIndexFile($name)
    {
        $gantry = Gantry::instance();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        // Attempt to load the index file.
        $indexFile = $locator("gantry-config://{$name}/index.yaml");
        if ($indexFile) {
            $file = CompiledYamlFile::instance($indexFile);
            $index = (array)$file->content();
            $file->free();
        } else {
            $index = [];
        }

        return $index;
    }

    /**
     * @param  string $name
     * @param  bool   $autoSave
     * @return array
     */
    public static function loadIndex($name, $autoSave = false)
    {
        $gantry = Gantry::instance();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        $index = static::loadIndexFile($name);

        // Find out the currently used layout file.
        $layoutFile = $locator("gantry-config://{$name}/layout.yaml");
        if (!$layoutFile) {
            /** @var Outlines $outlines */
            $outlines = $gantry['outlines'];

            $preset = isset($index['preset']['name']) ? $index['preset']['name'] : $outlines->preset($name);
        }

        // Get timestamp for the layout file.
        $timestamp = $layoutFile ? filemtime($layoutFile) : 0;

        // If layout index file doesn't exist or is not up to date, rebuild it.
        if (empty($index['timestamp']) || $index['timestamp'] != $timestamp || !isset($index['version']) || $index['version'] != static::VERSION) {
            $layout = isset($preset) ? new static($name, static::preset($preset)) : static::instance($name);
            $layout->timestamp = $timestamp;

            if ($autoSave) {
                if (!$layout->timestamp) {
                    $layout->save();
                }
                $index = $layout->buildIndex();
                $layout->saveIndex($index);
            } else {
                $index = $layout->buildIndex();
            }
        }

        $index += [
            'name' => $name,
            'timestamp' => $timestamp,
            'preset' => [
                'name' => '',
                'image' => 'gantry-admin://images/layouts/default.png'
            ],
            'positions' => [],
            'sections' => [],
            'inherit' => []
        ];

        return $index;
    }

    public function check(array $children = null)
    {
        if ($children === null) {
            $children = $this->items;
        }

        foreach ($children as $item) {
            if (!$item instanceof \stdClass) {
                throw new \RuntimeException('Invalid layout element');
            }
            if (!isset($item->type)) {
                throw new \RuntimeException('Type missing');
            }
            if (!isset($item->subtype)) {
                throw new \RuntimeException('Subtype missing');
            }
            if (!isset($item->attributes)) {
                throw new \RuntimeException('Attributes missing');
            }
            if (!is_object($item->attributes)) {
                throw new \RuntimeException('Attributes not object');
            }
            if (isset($item->children)) {
                if (!is_array($item->children)) {
                    throw new \RuntimeException('Children not array');
                }
                $this->check($item->children);
            }
        }
    }
}
classes/Gantry/Component/System/Messages.php000060400000001175150750356240015162 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Component\System;

class Messages
{
    protected $messages = [];

    public function add($message, $type = 'warning')
    {
        $this->messages[] = ['type' => $type, 'message' => $message];

        return $this;
    }

    public function get()
    {
        return $this->messages;
    }

    public function clean()
    {
        $this->messages = [];

        return $this;
    }
}
classes/Gantry/Component/Config/CompiledBlueprints.php000060400000004104150750356240017133 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Config;

/**
 * The Compiled Blueprints class.
 */
class CompiledBlueprints extends CompiledBase
{
    /**
     * @var int Version number for the compiled file.
     */
    public $version = 3;

    /**
     * @var BlueprintSchema  Blueprints object.
     */
    protected $object;

    /**
     * Create configuration object.
     *
     * @param array  $data
     */
    protected function createObject(array $data = [])
    {
        $this->object = new BlueprintSchema($data);
    }

    /**
     * Finalize configuration object.
     */
    protected function finalizeObject()
    {
    }

    /**
     * Load single configuration file and append it to the correct position.
     *
     * @param  string  $name  Name of the position.
     * @param  array   $files  Files to be loaded.
     */
    protected function loadFile($name, $files)
    {
        // Load blueprint file.
        $blueprint = new BlueprintForm($files);

        $this->object->embed($name, $blueprint->load()->toArray(), '/', true);
    }

    /**
     * Load and join all configuration files.
     *
     * @return bool
     * @internal
     */
    protected function loadFiles()
    {
        $this->createObject();

        // Convert file list into parent list.
        $list = [];
        foreach ($this->files as $files) {
            foreach ($files as $name => $item) {
                $list[$name][] = $this->path . $item['file'];
            }
        }

        // Load files.
        foreach ($list as $name => $files) {
            $this->loadFile($name, $files);
        }

        $this->finalizeObject();

        return true;
    }

    protected function getState()
    {
        return $this->object->getState();
    }
}
classes/Gantry/Component/Config/CompiledBase.php000060400000014215150750356240015662 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Config;

use Gantry\Framework\Gantry;
use RocketTheme\Toolbox\File\PhpFile;

/**
 * The Compiled base class.
 */
abstract class CompiledBase
{
    /**
     * @var int Version number for the compiled file.
     */
    public $version = 1;

    /**
     * @var string  Filename (base name) of the compiled configuration.
     */
    public $name;

    /**
     * @var string|bool  Configuration checksum.
     */
    public $checksum;

    /**
     * @var string Cache folder to be used.
     */
    protected $cacheFolder;

    /**
     * @var array  List of files to load.
     */
    protected $files;

    /**
     * @var string
     */
    protected $path;

    /**
     * @var mixed  Configuration object.
     */
    protected $object;

    /**
     * @param  string $cacheFolder  Cache folder to be used.
     * @param  array  $files  List of files as returned from ConfigFileFinder class.
     * @param string $path  Base path for the file list.
     * @throws \BadMethodCallException
     */
    public function __construct($cacheFolder, array $files, $path = GANTRY5_ROOT)
    {
        if (!$cacheFolder) {
            throw new \BadMethodCallException('Cache folder not defined.');
        }

        $this->cacheFolder = $cacheFolder;
        $this->files = $files;
        $this->path = $path ? rtrim($path, '\\/') . '/' : '';
    }

    /**
     * Get filename for the compiled PHP file.
     *
     * @param string $name
     * @return $this
     */
    public function name($name = null)
    {
        if (!$this->name) {
            $this->name = $name ?: md5(json_encode(array_keys($this->files)));
        }

        return $this;
    }

    /**
     * Function gets called when cached configuration is saved.
     */
    public function modified() {}

    /**
     * Load the configuration.
     *
     * @return mixed
     */
    public function load()
    {
        if ($this->object) {
            return $this->object;
        }

        $filename = $this->createFilename();
        if (!$this->loadCompiledFile($filename) && $this->loadFiles()) {
            $this->saveCompiledFile($filename);
        }

        return $this->object;
    }

    /**
     * Returns checksum from the configuration files.
     *
     * You can set $this->checksum = false to disable this check.
     *
     * @return bool|string
     */
    public function checksum()
    {
        if (!isset($this->checksum)) {
            $this->checksum = md5(json_encode($this->files) . $this->version);
        }

        return $this->checksum;
    }

    protected function createFilename()
    {
        return "{$this->cacheFolder}/{$this->name()->name}.php";
    }

    /**
     * Create configuration object.
     *
     * @param  array  $data
     */
    abstract protected function createObject(array $data = []);

    /**
     * Finalize configuration object.
     */
    abstract protected function finalizeObject();

    /**
     * Load single configuration file and append it to the correct position.
     *
     * @param  string  $name  Name of the position.
     * @param  string  $filename  File to be loaded.
     */
    abstract protected function loadFile($name, $filename);

    /**
     * Load and join all configuration files.
     *
     * @return bool
     * @internal
     */
    protected function loadFiles()
    {
        $this->createObject();

        $list = array_reverse($this->files);
        foreach ($list as $files) {
            foreach ($files as $name => $item) {
                $this->loadFile($name, $this->path . $item['file']);
            }
        }

        $this->finalizeObject();

        return true;
    }

    /**
     * Load compiled file.
     *
     * @param  string  $filename
     * @return bool
     * @internal
     */
    protected function loadCompiledFile($filename)
    {
        $gantry = Gantry::instance();

        /** @var Config $global */
        $global = $gantry['global'];

        if (!$global->get('compile_yaml', 1)) {
            return false;
        }

        if (!file_exists($filename)) {
            return false;
        }

        $cache = include $filename;
        if (
            !is_array($cache)
            || !isset($cache['checksum'])
            || !isset($cache['data'])
            || !isset($cache['@class'])
            || $cache['@class'] != get_class($this)
        ) {
            return false;
        }

        // Load real file if cache isn't up to date (or is invalid).
        if ($cache['checksum'] !== $this->checksum()) {
            return false;
        }

        $this->createObject($cache['data']);

        $this->finalizeObject();

        return true;
    }

    /**
     * Save compiled file.
     *
     * @param  string  $filename
     * @throws \RuntimeException
     * @internal
     */
    protected function saveCompiledFile($filename)
    {
        $gantry = Gantry::instance();

        /** @var Config $global */
        $global = $gantry['global'];

        if (!$global->get('compile_yaml', 1)) {
            return;
        }

        $file = PhpFile::instance($filename);

        // Attempt to lock the file for writing.
        try {
            $file->lock(false);
        } catch (\Exception $e) {
            // Another process has locked the file; we will check this in a bit.
        }

        if ($file->locked() === false) {
            // File was already locked by another process.
            return;
        }

        $cache = [
            '@class' => get_class($this),
            'timestamp' => time(),
            'checksum' => $this->checksum(),
            'files' => $this->files,
            'data' => $this->getState()
        ];

        $file->save($cache);
        $file->unlock();
        $file->free();

        $this->modified();
    }

    protected function getState()
    {
        return $this->object->toArray();
    }
}
classes/Gantry/Component/Config/Validation.php000060400000053013150750356240015424 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Config;

use Symfony\Component\Yaml\Exception\ParseException;
use Symfony\Component\Yaml\Yaml;

/**
 * Data validation.
 *
 * @author RocketTheme
 * @license MIT
 */
class Validation
{
    /**
     * Validate value against a blueprint field definition.
     *
     * @param $value
     * @param array $field
     * @return array
     */
    public static function validate($value, array $field)
    {
        $messages = [];

        $validate = isset($field['validate']) ? (array) $field['validate'] : [];

        // If value isn't required, we will stop validation if empty value is given.
        if (empty($validate['required']) && ($value === null || $value === '')) {
            return $messages;
        }

        if (!isset($field['type'])) {
            $field['type'] = 'input.text';
        }

        // Special case for files, value is never empty and errors with code 4 instead.
        if (empty($validate['required']) && $field['type'] === 'input.file' && isset($value['error'])
                && ($value['error'] === UPLOAD_ERR_NO_FILE || \in_array(UPLOAD_ERR_NO_FILE, $value['error'], true))) {
            return $messages;
        }

        // Validate type with fallback type text.
        $type = (string) isset($field['validate']['type']) ? $field['validate']['type'] : $field['type'];
        $method = 'type_'.strtr($type, '-.', '__');

        if (!method_exists(__CLASS__, $method)) {
            $method = 'type_Input_Text';
        }

        $name = ucfirst(isset($field['label']) ? $field['label'] : $field['name']);
        // TODO: translate
        $message = (string) isset($field['validate']['message'])
            ? sprintf($field['validate']['message'])
            : sprintf('Invalid input in field: ') . ' "' . $name . '"';

        $success = self::$method($value, $validate, $field);

        if (!$success) {
            $messages[$field['name']][] = $message;
        }

        // Check individual rules.
        foreach ($validate as $rule => $params) {
            $method = 'validate_' . ucfirst(strtr($rule, '-.', '__'));

            if (method_exists(__CLASS__, $method)) {
                $success = self::$method($value, $params);

                if (!$success) {
                    $messages[$field['name']][] = $message;
                }
            }
        }

        return $messages;
    }

    /**
     * Filter value against a blueprint field definition.
     *
     * @param  mixed  $value
     * @param  array  $field
     * @return mixed  Filtered value.
     */
    public static function filter($value, array $field)
    {
        $validate = isset($field['validate']) ? (array) $field['validate'] : [];

        // If value isn't required, we will return null if empty value is given.
        if (($value === null || $value === '') && empty($validate['required'])) {
            return null;
        }

        if (!isset($field['type'])) {
            $field['type'] = 'input.text';
        }

        // Special case for files, value is never empty and errors with code 4 instead.
        if (empty($validate['required']) && $field['type'] === 'input.file' && isset($value['error'])
            && ($value['error'] === UPLOAD_ERR_NO_FILE || \in_array(UPLOAD_ERR_NO_FILE, $value['error'], true))) {
            return null;
        }

        // Validate type with fallback type text.
        $type = (string) isset($field['validate']['type']) ? $field['validate']['type'] : $field['type'];
        $method = 'filter_' . ucfirst(str_replace('-', '_', $type));

        if (!method_exists(__CLASS__, $method)) {
            $method = 'filter_Input_Text';
        }

        return self::$method($value, $validate, $field);
    }

    /**
     * HTML5 input: text
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Input_Text($value, array $params, array $field)
    {
        if (!\is_string($value) && !is_numeric($value)) {
            return false;
        }

        $value = (string)$value;

        if (isset($params['min']) && \strlen($value) < $params['min']) {
            return false;
        }

        if (isset($params['max']) && \strlen($value) > $params['max']) {
            return false;
        }

        $min = isset($params['min']) ? $params['min'] : 0;
        if (isset($params['step']) && (strlen($value) - $min) % $params['step'] === 0) {
            return false;
        }

        if ((!isset($params['multiline']) || !$params['multiline']) && preg_match('/\R/um', $value)) {
            return false;
        }

        return true;
    }

    protected static function filter_Input_Text($value, array $params, array $field)
    {
        return (string) $value;
    }

    protected static function filter_Input_CommaList($value, array $params, array $field)
    {
        return \is_array($value) ? $value : preg_split('/\s*,\s*/', $value, -1, PREG_SPLIT_NO_EMPTY);
    }

    protected static function type_Input_CommaList($value, array $params, array $field)
    {
        return \is_array($value) ? true : self::type_Input_Text($value, $params, $field);
    }

    /**
     * HTML5 input: textarea
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Textarea_Textarea($value, array $params, array $field)
    {
        if (!isset($params['multiline'])) {
            $params['multiline'] = true;
        }

        return self::type_Input_Text($value, $params, $field);
    }

    /**
     * HTML5 input: password
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Input_Password($value, array $params, array $field)
    {
        return self::type_Input_Text($value, $params, $field);
    }

    /**
     * HTML5 input: hidden
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Input_Hidden($value, array $params, array $field)
    {
        return self::type_Input_Text($value, $params, $field);
    }

    /**
     * Custom input: checkbox list
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Checkboxes_Checkboxes($value, array $params, array $field)
    {
        // Set multiple: true so checkboxes can easily use min/max counts to control number of options required
        $field['multiple'] = true;

        return self::typeArray((array) $value, $params, $field);
    }

    protected static function filter_Checkboxes_Checkboxes($value, array $params, array $field)
    {
        return self::filterArray($value, $params, $field);
    }

    /**
     * HTML5 input: checkbox
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Input_Checkbox($value, array $params, array $field)
    {
        $value = (string) $value;

        if (!isset($field['value'])) {
            $field['value'] = 1;
        }

        if ($value && $value != $field['value']) {
            return false;
        }

        return true;
    }

    /**
     * HTML5 input: radio
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Input_Radio($value, array $params, array $field)
    {
        return self::typeArray((array) $value, $params, $field);
    }

    /**
     * Custom input: toggle
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Toggle_Toggle($value, array $params, array $field)
    {
        return self::typeArray((array) $value, $params, $field);
    }

    /**
     * Custom input: file
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Input_File($value, array $params, array $field)
    {
        return self::typeArray((array) $value, $params, $field);
    }

    protected static function filter_Input_File($value, array $params, array $field)
    {
        if (isset($field['multiple']) && $field['multiple'] === true) {
            return (array) $value;
        }

        if (\is_array($value)) {
            return reset($value);
        }

        return $value;
    }

    /**
     * HTML5 input: select
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Select_Select($value, array $params, array $field)
    {
        return self::typeArray((array) $value, $params, $field);
    }

    /**
     * HTML5 input: number
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Input_Number($value, array $params, array $field)
    {
        if (!is_numeric($value)) {
            return false;
        }

        if (isset($params['min']) && $value < $params['min']) {
            return false;
        }

        if (isset($params['max']) && $value > $params['max']) {
            return false;
        }

        $min = isset($params['min']) ? $params['min'] : 0;

        return !(isset($params['step']) && fmod($value - $min, $params['step']) === 0);
    }

    protected static function filter_Input_Number($value, array $params, array $field)
    {
        return (string)(int)$value !== (string)(float)$value ? (float) $value : (int) $value;
    }

    protected static function filter_Input_DateTime($value, array $params, array $field)
    {
        $converted = new \DateTime($value);
        return $converted->format('Y-m-d H:i:s');
    }


    /**
     * HTML5 input: range
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Input_Range($value, array $params, array $field)
    {
        return self::type_Input_Number($value, $params, $field);
    }

    protected static function filter_Input_Range($value, array $params, array $field)
    {
        return self::filter_Input_Number($value, $params, $field);
    }

    /**
     * HTML5 input: color
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Input_Color($value, array $params, array $field)
    {
        return preg_match('/^\#[0-9a-fA-F]{3}[0-9a-fA-F]{3}?$/u', $value);
    }

    /**
     * HTML5 input: email
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Input_Email($value, array $params, array $field)
    {
        return self::type_Input_Text($value, $params, $field) && filter_var($value, FILTER_VALIDATE_EMAIL);
    }

    /**
     * HTML5 input: url
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */

    public static function type_Input_Url($value, array $params, array $field)
    {
        return self::type_Input_Text($value, $params, $field) && filter_var($value, FILTER_VALIDATE_URL);
    }

    /**
     * HTML5 input: datetime
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Input_Datetime($value, array $params, array $field)
    {
        if ($value instanceof \DateTime) {
            return true;
        }
        if (!\is_string($value)) {
            return false;
        }
        if (!isset($params['format'])) {
            return false !== strtotime($value);
        }

        $dateFromFormat = \DateTime::createFromFormat($params['format'], $value);

        return $dateFromFormat && $value === date($params['format'], $dateFromFormat->getTimestamp());
    }

    /**
     * HTML5 input: datetime-local
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Input_DatetimeLocal($value, array $params, array $field)
    {
        return self::type_Input_Datetime($value, $params, $field);
    }

    /**
     * HTML5 input: date
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Input_Date($value, array $params, array $field)
    {
        if (!isset($params['format'])) {
            $params['format'] = 'Y-m-d';
        }
        return self::type_Input_Datetime($value, $params, $field);
    }

    /**
     * HTML5 input: time
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Input_Time($value, array $params, array $field)
    {
        if (!isset($params['format'])) {
            $params['format'] = 'H:i';
        }
        return self::type_Input_Datetime($value, $params, $field);
    }

    /**
     * HTML5 input: month
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Input_Month($value, array $params, array $field)
    {
        if (!isset($params['format'])) {
            $params['format'] = 'Y-m';
        }
        return self::type_Input_Datetime($value, $params, $field);
    }

    /**
     * HTML5 input: week
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Input_Week($value, array $params, array $field)
    {
        if (!isset($params['format']) && !preg_match('/^\d{4}-W\d{2}$/u', $value)) {
            return false;
        }
        return self::type_Input_Datetime($value, $params, $field);
    }

    /**
     * Custom input: array
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function typeArray($value, array $params, array $field)
    {
        if (!\is_array($value)) {
            return false;
        }

        if (isset($field['multiple'])) {
            if (isset($params['min']) && \count($value) < $params['min']) {
                return false;
            }

            if (isset($params['max']) && \count($value) > $params['max']) {
                return false;
            }

            $min = isset($params['min']) ? $params['min'] : 0;
            if (isset($params['step']) && (\count($value) - $min) % $params['step'] === 0) {
                return false;
            }
        }

        $options = isset($field['options']) ? array_keys($field['options']) : [];
        $values = isset($field['use']) && $field['use'] === 'keys' ? array_keys($value) : $value;

        return !($options && array_diff($values, $options));
    }

    protected static function filterArray($value, $params, $field)
    {
        $values = (array) $value;
        $options = isset($field['options']) ? array_keys($field['options']) : [];
        $multi = isset($field['multiple']) ? $field['multiple'] : false;

        if (\count($values) === 1 && isset($values[0]) && $values[0] === '') {
            return null;
        }

        if ($options) {
            $useKey = isset($field['use']) && $field['use'] === 'keys';
            foreach ($values as $key => $val) {
                $values[$key] = $useKey ? (bool) $val : $val;
            }
        }

        if ($multi) {
            foreach ($values as $key => $val) {
                if (\is_array($val)) {
                    $val = implode(',', $val);
                }

                $values[$key] =  array_map('trim', explode(',', $val));
            }
        }

        return $values;
    }

    public static function type_Input_Yaml($value, $params)
    {
        try {
            Yaml::parse($value);
            return true;
        } catch (ParseException $e) {
            return false;
        }
    }

    public static function filter_Input_Yaml($value, $params)
    {
        try {
            return (array) Yaml::parse($value);
        } catch (ParseException $e) {
            return null;
        }
    }

    /**
     * Custom input: ignore (will not validate)
     *
     * @param  mixed  $value   Value to be validated.
     * @param  array  $params  Validation parameters.
     * @param  array  $field   Blueprint for the field.
     * @return bool   True if validation succeeded.
     */
    public static function type_Novalidate($value, array $params, array $field)
    {
        return true;
    }

    public static function filter_Novalidate($value, array $params, array $field)
    {
        return $value;
    }

    // HTML5 attributes (min, max and range are handled inside the types)

    public static function validate_Required($value, $params)
    {
        if (is_scalar($value)) {
            return (bool) $params !== true || $value !== '';
        }

        return (bool) $params !== true || !empty($value);
    }

    public static function validate_Pattern($value, $params)
    {
        return (bool) preg_match("`^{$params}$`u", $value);
    }


    // Internal types

    public static function validate_Alpha($value, $params)
    {
        return ctype_alpha($value);
    }

    public static function validate_Alnum($value, $params)
    {
        return ctype_alnum($value);
    }

    public static function type_Bool($value, $params)
    {
        return \is_bool($value) || $value == 1 || $value == 0;
    }

    public static function validate_Bool($value, $params)
    {
        return \is_bool($value) || $value == 1 || $value == 0;
    }

    protected static function filter_Bool($value, $params)
    {
        return (bool) $value;
    }

    public static function validate_Digit($value, $params)
    {
        return ctype_digit($value);
    }

    public static function validate_Float($value, $params)
    {
        return \is_float(filter_var($value, FILTER_VALIDATE_FLOAT));
    }

    protected static function filter_Float($value, $params)
    {
        return (float) $value;
    }

    public static function validate_Hex($value, $params)
    {
        return ctype_xdigit($value);
    }

    public static function validate_Int($value, $params)
    {
        return is_numeric($value) && (int) $value == $value;
    }

    protected static function filter_Int($value, $params)
    {
        return (int) $value;
    }

    public static function validate_Array($value, $params)
    {
        return \is_array($value)
            || ($value instanceof \ArrayAccess
                && $value instanceof \Traversable
                && $value instanceof \Countable);
    }

    public static function validate_Json($value, $params)
    {
        return (bool) (@json_decode($value));
    }
}
classes/Gantry/Component/Config/ValidationException.php000060400000002002150750356240017273 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Config;

class ValidationException extends \RuntimeException
{
    protected $messages = [];

    public function setMessages(array $messages = []) {
        $this->messages = $messages;

        // TODO: add translation.
        $this->message = sprintf('Form validation failed:') . ' ' . $this->message;

        foreach ($messages as $variable => &$list) {
            $list = array_unique($list);
            foreach ($list as $message) {
                $this->message .= "<br/>$message";
            }
        }

        return $this;
    }

    public function getMessages()
    {
        return $this->messages;
    }
}
classes/Gantry/Component/Config/BlueprintForm.php000060400000022071150750356240016122 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Config;

use Gantry\Component\File\CompiledYamlFile;
use Gantry\Framework\Gantry;
use RocketTheme\Toolbox\Blueprints\BlueprintForm as BaseBlueprintForm;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

/**
 * The Config class contains configuration information.
 *
 * @author RocketTheme
 */
class BlueprintForm extends BaseBlueprintForm
{
    /**
     * @var string
     */
    protected $context = 'gantry-blueprints://';

    /**
     * @var BlueprintSchema
     */
    protected $schema;

    /**
     * @param string $filename
     * @param string $context
     * @return BlueprintForm
     */
    public static function instance($filename, $context = null)
    {
        /** @var BlueprintForm $instance */
        $instance = new static($filename);
        if ($context) {
            $instance->setContext($context);
        }

        return $instance->load()->init();
    }

    /**
     * Get nested structure containing default values defined in the blueprints.
     *
     * Fields without default value are ignored in the list.
     *
     * @return array
     */
    public function getDefaults()
    {
        return $this->schema()->getDefaults();
    }

    /**
     * Merge two arrays by using blueprints.
     *
     * @param  array $data1
     * @param  array $data2
     * @param  string $name         Optional
     * @param  string $separator    Optional
     * @return array
     */
    public function mergeData(array $data1, array $data2, $name = null, $separator = '.')
    {
        return $this->schema()->mergeData($data1, $data2, $name, $separator);
    }

    /**
     * Return data fields that do not exist in blueprints.
     *
     * @param  array  $data
     * @param  string $prefix
     * @return array
     */
    public function extra(array $data, $prefix = '')
    {
        return $this->schema()->extra($data, $prefix);
    }

    /**
     * Validate data against blueprints.
     *
     * @param  array $data
     * @throws \RuntimeException
     */
    public function validate(array $data)
    {
        $this->schema()->validate($data);
    }

    /**
     * Filter data by using blueprints.
     *
     * @param  array $data
     * @return array
     */
    public function filter(array $data)
    {
        return $this->schema()->filter($data);
    }

    /**
     * @return BlueprintSchema
     */
    public function schema()
    {
        if (!isset($this->schema)) {
            $this->schema = new BlueprintSchema;
            $this->schema->embed('', $this->items);
            $this->schema->init();
        }

        return $this->schema;
    }

    /**
     * @param string $filename
     * @return string
     */
    protected function loadFile($filename)
    {
        $file = CompiledYamlFile::instance($filename);
        $content = $file->content();
        $file->free();

        return $content;
    }

    /**
     * @param string|array $path
     * @param string $context
     * @return array
     */
    protected function getFiles($path, $context = null)
    {
        if (is_string($path) && !strpos($path, '://')) {
            // Resolve filename.
            if (isset($this->overrides[$path])) {
                $path = $this->overrides[$path];
            } else {
                if ($context === null) {
                    $context = $this->context;
                }
                if ($context && $context[strlen($context)-1] !== '/') {
                    $context .= '/';
                }
                $path = $context . $path;

                if (!preg_match('/\.yaml$/', $path)) {
                    $path .= '.yaml';
                }
            }
        }

        if (is_string($path) && strpos($path, '://')) {
            /** @var UniformResourceLocator $locator */
            $locator = Gantry::instance()['locator'];

            $files = $locator->findResources($path);
        } else {
            $files = (array) $path;
        }

        return $files;
    }

    /**
     * @param array $field
     * @param string $property
     * @param array $call
     */
    protected function dynamicData(array &$field, $property, array &$call)
    {
        $params = $call['params'];

        if (is_array($params)) {
            $function = array_shift($params);
        } else {
            $function = $params;
            $params = [];
        }

        list($o, $f) = preg_split('/::/', $function, 2);
        if (!$f) {
            if (function_exists($o)) {
                $data = call_user_func_array($o, $params);
            }
        } else {
            if (method_exists($o, $f)) {
                $data = call_user_func_array(array($o, $f), $params);
            }
        }

        // If function returns a value,
        if (isset($data)) {
            if (isset($field[$property]) && is_array($field[$property]) && is_array($data)) {
                // Combine field and @data-field together.
                $field[$property] += $data;
            } else {
                // Or create/replace field with @data-field.
                $field[$property] = $data;
            }
        }
    }

    /**
     * @param array $field
     * @param string $property
     * @param array $call
     */
    protected function dynamicConfig(array &$field, $property, array &$call)
    {
        $value = $call['params'];

        $default = isset($field[$property]) ? $field[$property] : null;
        $config = Gantry::instance()['config']->get($value, $default);

        if (!is_null($config)) {
            $field[$property] = $config;
        }
    }

    /**
     * Get blueprints by using slash notation for nested arrays/objects.
     *
     * @param array  $path
     * @param string  $separator
     * @return array
     */
    public function resolve(array $path, $separator = '/')
    {
        $fields = false;
        $parts = [];
        $current = $this['form/fields'];
        $result = [null, null, null];
        $prefix = '';

        while (($field = current($path)) !== false) {
            if (!$fields && isset($current['fields'])) {
                if (!empty($current['array'])) {
                    $result = [$current, $parts, $path ? implode($separator, $path) : null];
                    // Skip item offset.
                    $parts[] = array_shift($path);
                }

                $current = $current['fields'];
                $prefix = '';
                $fields = true;

            } elseif (isset($current[$prefix . $field])) {
                $parts[] = array_shift($path);
                $current = $current[$prefix . $field];
                $prefix = '';
                $fields = false;

            } elseif (isset($current['.' . $prefix . $field])) {
                $parts[] = array_shift($path);
                $current = $current['.' . $prefix . $field];
                $prefix = '';
                $fields = false;

            } elseif ($field && $this->fieldExists($prefix . $field, $current)) {
                $parts[] = array_shift($path);
                $prefix = "{$prefix}{$field}.";
                $fields = false;

            } else {
                // Check if there's a container with the field.
                $current = $this->resolveContainer($current, $prefix, $field);

                // No containers with the field found.
                if (!$current) {
                    break;
                }

                $prefix = '';
                $fields = false;
            }
        }

        if (!$fields && !empty($current['array'])) {
            $result = [$current, $parts, $path ? implode($separator, $path) : null];
        }

        return $result;
    }

    protected function resolveContainer($current, $prefix, $fieldName)
    {
        foreach ($current as $field) {
            $type = isset($field['type']) ? $field['type'] : 'container._implicit';
            $container = (0 === strpos($type, 'container.'));

            if (!$container || !isset($field['fields'])) {
                continue;
            }

            $current_fields = $field['fields'];
            if (isset($current_fields[$prefix . $fieldName]) || isset($current_fields['.' . $prefix . $fieldName])
                || $this->fieldExists($prefix . $fieldName, $current_fields)) {
                return $current_fields;
            }

            $current_fields = $this->resolveContainer($current_fields, $prefix, $fieldName);
            if ($current_fields !== null) {
                return $current_fields;
            }
        }

        return null;
    }

    protected function fieldExists($prefix, $list)
    {
        foreach ($list as $field => $data) {
            $pos = strpos($field, $prefix);
            if ($pos === 0 || ($pos === 1 && $field[0] === '.')) {
                return true;
            }
        }

        return false;
    }
}
classes/Gantry/Component/Config/Config.php000060400000016544150750356240014547 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Config;

use RocketTheme\Toolbox\ArrayTraits\Export;
use RocketTheme\Toolbox\ArrayTraits\ExportInterface;
use RocketTheme\Toolbox\ArrayTraits\Iterator;
use RocketTheme\Toolbox\ArrayTraits\NestedArrayAccessWithGetters;

/**
 * The Config class contains configuration information.
 *
 * @author RocketTheme
 */
class Config implements \ArrayAccess, \Countable, \Iterator, ExportInterface
{
    use NestedArrayAccessWithGetters, Iterator, Export;

    /**
     * @var array
     */
    protected $items;

    /**
     * @var BlueprintSchema|BlueprintForm|callable
     */
    protected $blueprint;

    /**
     * Constructor to initialize array.
     *
     * @param  array  $items  Initial items inside the iterator.
     * @param  callable $blueprints  Function to load Blueprints for the configuration.
     */
    public function __construct(array $items, callable $blueprint = null)
    {
        $this->items = $items;
        $this->blueprint = $blueprint;
    }

    /**
     * Join nested values together by using blueprints.
     *
     * @param string  $name       Dot separated path to the requested value.
     * @param mixed   $value      Value to be joined.
     * @param string  $separator  Separator, defaults to '.'
     * @return $this
     * @throws \RuntimeException
     */
    public function join($name, $value, $separator = '.')
    {
        $old = $this->get($name, null, $separator);
        if ($old !== null) {
            if (!is_array($old)) {
                throw new \RuntimeException("Value is not array in {$name}: " . print_r($old, true));
            }
            if (is_object($value)) {
                $value = (array) $value;
            } elseif (!is_array($value)) {
                throw new \RuntimeException("Value is not array in {$name}: " . print_r($value, true));
            }
            $value = $this->blueprint()->mergeData($old, $value, $name, $separator);
        }

        $this->set($name, $value, $separator);

        return $this;
    }

    /**
     * Get nested structure containing default values defined in the blueprints.
     *
     * Fields without default value are ignored in the list.

     * @return array
     */
    public function getDefaults()
    {
        return $this->blueprint()->getDefaults();
    }

    /**
     * Set default values by using blueprints.
     *
     * @param string  $name       Dot separated path to the requested value.
     * @param mixed   $value      Value to be joined.
     * @param string  $separator  Separator, defaults to '.'
     * @return $this
     */
    public function joinDefaults($name, $value, $separator = '.')
    {
        if (is_object($value)) {
            $value = (array) $value;
        }
        $old = $this->get($name, null, $separator);
        if ($old !== null) {
            $value = $this->blueprint()->mergeData($value, $old, $name, $separator);
        }

        $this->set($name, $value, $separator);

        return $this;
    }

    /**
     * Get value from the configuration and join it with given data.
     *
     * @param string  $name       Dot separated path to the requested value.
     * @param array   $value      Value to be joined.
     * @param string  $separator  Separator, defaults to '.'
     * @return array
     * @throws \RuntimeException
     */
    public function getJoined($name, $value, $separator = '.')
    {
        if (is_object($value)) {
            $value = (array) $value;
        } elseif (!is_array($value)) {
            throw new \RuntimeException("Value is not array in '{$name}': " . print_r($value, true));
        }

        $old = $this->get($name, null, $separator);

        if ($old === null) {
            // No value set; no need to join data.
            return $value;
        }

        if (!is_array($old)) {
            throw new \RuntimeException("Value is not array in '{$name}': " . print_r($value, true));
        }

        // Return joined data.
        return $this->blueprint()->mergeData($old, $value, $name, $separator);
    }

    /**
     * Merge two configurations together.
     *
     * @param array $data
     * @return $this
     */
    public function merge(array $data)
    {
        $this->items = $this->blueprint()->mergeData($this->items, $data);

        return $this;
    }

    /**
     * Set default values to the configuration if variables were not set.
     *
     * @param array $data
     * @return $this
     */
    public function setDefaults(array $data)
    {
        $this->items = $this->blueprint()->mergeData($data, $this->items);

        return $this;
    }

    /**
     * Make a flat list from the configuration.
     *
     * @param string $name      Dot separated path to the requested value.
     * @param string $separator Separator, defaults to '.'
     * @param string $prefix    Name prefix.
     * @return array
     */
    public function flatten($name = null, $separator = '.', $prefix = '')
    {
        $element = $name ? $this->offsetGet($name) : $this->items;

        if (!is_array($element)) {
            return [$name, $element];
        }

        if (strlen($separator) == 2 && in_array($separator, ['][', ')(', '}{'])) {
            $separator = [$separator[1], $separator[0]];
        }

        return $this->flattenNested('', $element, $separator, $prefix);
    }

    /**
     * @param string $name
     * @param array  $element
     * @param string $separator
     * @param string $prefix
     * @return array
     * @internal
     */
    protected function flattenNested($name, &$element, $separator, $prefix)
    {
        $list = [];
        foreach ($element as $key => $value) {
            $new = $name ? $name : $prefix;
            if (is_array($separator)) {
                $new .= $separator[0] . $key . $separator[1];
            } else {
                $new .= ($new ? $separator : '') . $key;
            }
            if (!is_array($value) || empty($value)) {
                $list[$new] = $value;
            } else {
                $list += $this->flattenNested($new, $value, $separator, $prefix);
            }
        }

        return $list;
    }

    /**
     * Return blueprint.
     *
     * @return BlueprintSchema|BlueprintForm
     * @since 5.4.7
     */
    public function blueprint()
    {
        if (!$this->blueprint){
            $this->blueprint = new BlueprintSchema;
        } elseif (is_callable($this->blueprint)) {
            // Lazy load blueprints.
            $blueprint = $this->blueprint;
            $this->blueprint = $blueprint();
        }
        return $this->blueprint;
    }

    /**
     * Return blueprints.
     *
     * @return BlueprintSchema
     * @deprecated 5.4.7
     */
    public function blueprints()
    {
        return $this->blueprint();
    }

    /**
     * Count items in nested array.
     *
     * @param string $path
     * @param string $separator
     * @return int
     */
    public function count($path = null, $separator = '.')
    {
        $items = $path ? $this->get($path, null, $separator) : $this->items;

        return is_array($items) ? count($items) : 0;
    }
}
classes/Gantry/Component/Config/CompiledConfig.php000060400000005024150750356240016213 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Config;

use Gantry\Component\File\CompiledYamlFile;

/**
 * The Compiled Configuration class.
 */
class CompiledConfig extends CompiledBase
{
    /**
     * @var int Version number for the compiled file.
     */
    public $version = 2;

    /**
     * @var Config  Configuration object.
     */
    protected $object;

    /**
     * @var callable  Blueprints loader.
     */
    protected $callable;

    /**
     * @var bool
     */
    protected $withDefaults;

    /**
     * Get filename for the compiled PHP file.
     *
     * @param string $name
     * @return $this
     */
    public function name($name = null)
    {
        if (!$this->name) {
            $this->name = $name ?: md5(json_encode(array_keys($this->files)) . (int) $this->withDefaults);
        }

        return $this;
    }

    /**
     * Set blueprints for the configuration.
     *
     * @param callable $blueprints
     * @return $this
     */
    public function setBlueprints(callable $blueprints)
    {
        $this->callable = $blueprints;

        return $this;
    }

    /**
     * @param bool $withDefaults
     * @return mixed
     */
    public function load($withDefaults = false)
    {
        $this->withDefaults = $withDefaults;

        return parent::load();
    }

    /**
     * Create configuration object.
     *
     * @param  array  $data
     */
    protected function createObject(array $data = [])
    {
        if ($this->withDefaults && empty($data) && is_callable($this->callable)) {
            $blueprints = $this->callable;
            $data = $blueprints()->getDefaults();
        }

        $this->object = new Config($data, $this->callable);
    }

    /**
     * Finalize configuration object.
     */
    protected function finalizeObject()
    {
    }

    /**
     * Load single configuration file and append it to the correct position.
     *
     * @param  string  $name  Name of the position.
     * @param  string  $filename  File to be loaded.
     */
    protected function loadFile($name, $filename)
    {
        $file = CompiledYamlFile::instance($filename);
        $this->object->join($name, $file->content(), '/');
        $file->free();
    }
}
classes/Gantry/Component/Config/BlueprintSchema.php000060400000015361150750356240016423 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Config;

use Gantry\Framework\Gantry;
use RocketTheme\Toolbox\Blueprints\BlueprintSchema as BlueprintSchemaBase;

/**
 * Blueprint schema handles the internal logic of blueprints.
 *
 * @author RocketTheme
 * @license MIT
 */
class BlueprintSchema extends BlueprintSchemaBase
{
    protected $configuration;

    protected $ignoreFormKeys = [
        'title' => true,
        'help' => true,
        'placeholder' => true,
        'fields' => true
    ];

    protected $types = [
        'container.set' => [
            'input@' => false
        ],
        'container.tabs' => [
            'input@' => false
        ],
        'separator.note' => [
            'input@' => false
        ],
        'separator.separator' => [
            'input@' => false
        ],
        'key' => [
            'input@' => false
        ],
        'collection.list' => [
            'array' => true
        ]
    ];

    /**
     * Constructor.
     *
     * @param array $serialized  Serialized content if available.
     */
    public function __construct($serialized = null)
    {
        parent::__construct($serialized);

        $this->configuration = new Config(isset($serialized['configuration']) ? $serialized['configuration'] : []);
    }

    /**
     * Convert object into an array.
     *
     * @return array
     */
    public function getState()
    {
        return parent::getState() + ['configuration' => $this->configuration->toArray()];
    }

    /**
     * Get nested structure containing default values defined in the blueprints.
     *
     * Fields without default value are ignored in the list.
     *
     * @return array
     */
    public function getDefaults()
    {
        return array_merge_recursive($this->configuration->toArray(), $this->buildDefaults($this->nested));
    }

    /**
     * Embed an array to the blueprint.
     *
     * @param $name
     * @param array $value
     * @param string $separator
     * @param bool $merge   Merge fields instead replacing them.
     * @return $this
     */
    public function embed($name, array $value, $separator = '.', $merge = false)
    {
        parent::embed($name, $value, $separator, $merge);

        if (isset($value['configuration'])) {
            $this->configuration->set($name, $value['configuration'], $separator);
        }

        return $this;
    }

    /**
     * Validate data against blueprints.
     *
     * @param  array $data
     * @throws \RuntimeException
     */
    public function validate(array $data)
    {
        try {
            $messages = $this->validateArray($data, $this->nested);

        } catch (\RuntimeException $e) {
            throw (new ValidationException($e->getMessage(), $e->getCode(), $e))->setMessages();
        }

        if (!empty($messages)) {
            throw (new ValidationException())->setMessages($messages);
        }
    }

    /**
     * Filter data by using blueprints.
     *
     * @param  array $data
     * @return array
     */
    public function filter(array $data)
    {
        return $this->filterArray($data, $this->nested);
    }

    /**
     * @param array $data
     * @param array $rules
     * @returns array
     * @throws \RuntimeException
     * @internal
     */
    protected function validateArray(array $data, array $rules)
    {
        $messages = $this->checkRequired($data, $rules);

        foreach ($data as $key => $field) {
            $val = isset($rules[$key]) ? $rules[$key] : (isset($rules['*']) ? $rules['*'] : null);
            $rule = is_string($val) ? $this->items[$val] : null;

            if ($rule) {
                // Item has been defined in blueprints.
                $messages += Validation::validate($field, $rule);
            } elseif (is_array($field) && is_array($val)) {
                // Array has been defined in blueprints.
                $messages += $this->validateArray($field, $val);
            } elseif (isset($rules['validation']) && $rules['validation'] == 'strict') {
                // Undefined/extra item.
                throw new \RuntimeException(sprintf('%s is not defined in blueprints', $key));
            }
        }

        return $messages;
    }

    /**
     * @param array $data
     * @param array $rules
     * @return array
     * @internal
     */
    protected function filterArray(array $data, array $rules)
    {
        $results = array();
        foreach ($data as $key => $field) {
            $val = isset($rules[$key]) ? $rules[$key] : (isset($rules['*']) ? $rules['*'] : null);
            $rule = is_string($val) ? $this->items[$val] : null;

            if ($rule) {
                // Item has been defined in blueprints.
                $field = Validation::filter($field, $rule);
            } elseif (is_array($field) && is_array($val)) {
                // Array has been defined in blueprints.
                $field = $this->filterArray($field, $val);
            } elseif (isset($rules['validation']) && $rules['validation'] == 'strict') {
                $field = null;
            }

            if (isset($field) && (!is_array($field) || !empty($field))) {
                $results[$key] = $field;
            }
        }

        return $results;
    }

    /**
     * @param array $data
     * @param array $fields
     * @return array
     */
    protected function checkRequired(array $data, array $fields)
    {
        $messages = [];

        foreach ($fields as $name => $field) {
            if (!is_string($field)) {
                continue;
            }
            $field = $this->items[$field];
            if (isset($field['validate']['required'])
                && $field['validate']['required'] === true
                && !isset($data[$name])) {
                $value = isset($field['label']) ? $field['label'] : $field['name'];
                // TODO: translate
                $message  = sprintf("Please fill up required field '%s'.", $value);
                $messages[$field['name']][] = $message;
            }
        }

        return $messages;
    }

    /**
     * @param array $field
     * @param string $property
     * @param array $call
     */
    protected function dynamicConfig(array &$field, $property, array &$call)
    {
        $value = $call['params'];

        $default = isset($field[$property]) ? $field[$property] : null;
        $config = Gantry::instance()['config']->get($value, $default);

        if (!is_null($config)) {
            $field[$property] = $config;
        }
    }
}
classes/Gantry/Component/Config/ConfigFileFinder.php000060400000020534150750356240016471 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Config;

use Gantry\Component\Filesystem\Folder;

/**
 * The Configuration & Blueprints Finder class.
 */
class ConfigFileFinder
{
    protected $base = '';

    /**
     * @param string $base
     * @return $this
     */
    public function setBase($base)
    {
        $this->base = $base ? "{$base}/" : '';

        return $this;
    }

    /**
     * Return all locations for all the files with a timestamp.
     *
     * @param  array  $paths    List of folders to look from.
     * @param  string $pattern  Pattern to match the file. Pattern will also be removed from the key.
     * @param  int    $levels   Maximum number of recursive directories.
     * @return array
     */
    public function locateFiles(array $paths, $pattern = '|\.yaml$|', $levels = -1)
    {
        $list = [];
        foreach ($paths as $folder) {
            $list += $this->detectRecursive($folder, $pattern, $levels);
        }
        return $list;
    }

    /**
     * Return all locations for all the files with a timestamp.
     *
     * @param  array  $paths    List of folders to look from.
     * @param  string $pattern  Pattern to match the file. Pattern will also be removed from the key.
     * @param  int    $levels   Maximum number of recursive directories.
     * @return array
     */
    public function getFiles(array $paths, $pattern = '|\.yaml$|', $levels = -1)
    {
        $list = [];
        foreach ($paths as $folder) {
            $path = trim(Folder::getRelativePath($folder), '/');

            $files = $this->detectRecursive($folder, $pattern, $levels);

            $list += $files[trim($path, '/')];
        }
        return $list;
    }

    /**
     * Return all paths for all the files with a timestamp.
     *
     * @param  array  $paths    List of folders to look from.
     * @param  string $pattern  Pattern to match the file. Pattern will also be removed from the key.
     * @param  int    $levels   Maximum number of recursive directories.
     * @return array
     */
    public function listFiles(array $paths, $pattern = '|\.yaml$|', $levels = -1)
    {
        $list = [];
        foreach ($paths as $folder) {
            $list = array_merge_recursive($list, $this->detectAll($folder, $pattern, $levels));
        }
        return $list;
    }

    /**
     * Find filename from a list of folders.
     *
     * Note: Only finds the last override.
     *
     * @param string $filename
     * @param array $folders
     * @return array
     */
    public function locateFileInFolder($filename, array $folders)
    {
        $list = [];
        foreach ($folders as $folder) {
            $list += $this->detectInFolder($folder, $filename);
        }
        return $list;
    }

    /**
     * Find filename from a list of folders.
     *
     * @param array $folders
     * @param string $filename
     * @return array
     */
    public function locateInFolders(array $folders, $filename = null)
    {
        $list = [];
        foreach ($folders as $folder) {
            $path = trim(Folder::getRelativePath($folder), '/');
            $list[$path] = $this->detectInFolder($folder, $filename);
        }
        return $list;
    }

    /**
     * Return all existing locations for a single file with a timestamp.
     *
     * @param  array  $paths   Filesystem paths to look up from.
     * @param  string $name    Configuration file to be located.
     * @param  string $ext     File extension (optional, defaults to .yaml).
     * @return array
     */
    public function locateFile(array $paths, $name, $ext = '.yaml')
    {
        $filename = preg_replace('|[.\/]+|', '/', $name) . $ext;

        $list = [];
        foreach ($paths as $folder) {
            $path = trim(Folder::getRelativePath($folder), '/');

            if (is_file("{$folder}/{$filename}")) {
                $modified = filemtime("{$folder}/{$filename}");
            } else {
                $modified = 0;
            }
            $basename = $this->base . $name;
            $list[$path] = [$basename => ['file' => "{$path}/{$filename}", 'modified' => $modified]];
        }

        return $list;
    }

    /**
     * Detects all directories with a configuration file and returns them with last modification time.
     *
     * @param  string $folder   Location to look up from.
     * @param  string $pattern  Pattern to match the file. Pattern will also be removed from the key.
     * @param  int    $levels   Maximum number of recursive directories.
     * @return array
     * @internal
     */
    protected function detectRecursive($folder, $pattern, $levels)
    {
        $path = trim(Folder::getRelativePath($folder), '/');

        if (is_dir($folder)) {
            // Find all system and user configuration files.
            $options = [
                'levels'  => $levels,
                'compare' => 'Filename',
                'pattern' => $pattern,
                'filters' => [
                    'pre-key' => $this->base,
                    'key' => $pattern,
                    'value' => function (\RecursiveDirectoryIterator $file) use ($path) {
                        return ['file' => "{$path}/{$file->getSubPathname()}", 'modified' => $file->getMTime()];
                    }
                ],
                'key' => 'SubPathname'
            ];

            $list = Folder::all($folder, $options);

            ksort($list);
        } else {
            $list = [];
        }

        return [$path => $list];
    }

    /**
     * Detects all directories with the lookup file and returns them with last modification time.
     *
     * @param  string $folder Location to look up from.
     * @param  string $lookup Filename to be located (defaults to directory name).
     * @return array
     * @internal
     */
    protected function detectInFolder($folder, $lookup = null)
    {
        $folder = rtrim($folder, '/');
        $path = trim(Folder::getRelativePath($folder), '/');
        $base = $path === $folder ? '' : ($path ? substr($folder, 0, -strlen($path)) : $folder . '/');

        $list = [];

        if (is_dir($folder)) {
            $iterator = new \DirectoryIterator($folder);

            /** @var \DirectoryIterator $directory */
            foreach ($iterator as $directory) {
                if (!$directory->isDir() || $directory->isDot()) {
                    continue;
                }

                $name = $directory->getBasename();
                $find = ($lookup ?: $name) . '.yaml';
                $filename = "{$path}/{$name}/{$find}";

                if (file_exists($base . $filename)) {
                    $basename = $this->base . $name;
                    $list[$basename] = ['file' => $filename, 'modified' => filemtime($base . $filename)];
                }
            }
        }

        return $list;
    }

    /**
     * Detects all plugins with a configuration file and returns them with last modification time.
     *
     * @param  string $folder   Location to look up from.
     * @param  string $pattern  Pattern to match the file. Pattern will also be removed from the key.
     * @param  int    $levels   Maximum number of recursive directories.
     * @return array
     * @internal
     */
    protected function detectAll($folder, $pattern, $levels)
    {
        $path = trim(Folder::getRelativePath($folder), '/');

        if (is_dir($folder)) {
            // Find all system and user configuration files.
            $options = [
                'levels'  => $levels,
                'compare' => 'Filename',
                'pattern' => $pattern,
                'filters' => [
                    'pre-key' => $this->base,
                    'key' => $pattern,
                    'value' => function (\RecursiveDirectoryIterator $file) use ($path) {
                        return ["{$path}/{$file->getSubPathname()}" => $file->getMTime()];
                    }
                ],
                'key' => 'SubPathname'
            ];

            $list = Folder::all($folder, $options);

            ksort($list);
        } else {
            $list = [];
        }

        return $list;
    }
}
classes/Gantry/Component/Controller/HtmlController.php000060400000002060150750356240017214 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Controller;

use Gantry\Component\Response\HtmlResponse;
use Gantry\Component\Response\Response;

abstract class HtmlController extends BaseController
{
    /**
     * Execute controller and returns Response object, defaulting to HtmlResponse.
     *
     * @param string $method
     * @param array $path
     * @param array $params
     * @return mixed
     * @throws \RuntimeException
     */
    public function execute($method, array $path, array $params)
    {
        $response = parent::execute($method, $path, $params);

        if (!$response instanceof Response) {
            $response = new HtmlResponse($response);
        }

        return $response;
    }
}
classes/Gantry/Component/Controller/JsonController.php000060400000001764150750356240017233 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Controller;

use Gantry\Component\Response\JsonResponse;

abstract class JsonController extends BaseController
{
    /**
     * Execute controller and returns JsonResponse object.
     *
     * @param string $method
     * @param array $path
     * @param array $params
     * @return mixed
     * @throws \RuntimeException
     */
    public function execute($method, array $path, array $params)
    {
        $response = parent::execute($method, $path, $params);

        if (!$response instanceof JsonResponse) {
            $response = new JsonResponse($response);
        }

        return $response;
    }
}
classes/Gantry/Component/Controller/BaseController.php000060400000014771150750356240017176 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Controller;

use Gantry\Framework\Request;
use RocketTheme\Toolbox\DI\Container;
use RuntimeException;

abstract class BaseController implements RestfulControllerInterface
{
    /**
     * @var string Default HTTP method.
     */
    protected $method = 'GET';

    /**
     * @var Request
     */
    protected $request;

    /**
     * @var array List of HTTP verbs and their actions.
     */
    protected $httpVerbs = [
        'GET' => [
            '/'         => 'index',
            '/create'   => 'create',
            '/*'        => 'display',
            '/*/edit'   => 'edit'
        ],
        'POST' => [
            '/'  => 'store'
        ],
        'PUT' => [
            '/*' => 'replace'
        ],
        'PATCH' => [
            '/*' => 'update'
        ],
        'DELETE' => [
            '/*' => 'destroy'
        ]
    ];

    /**
     * @var array Parameters from router.
     */
    protected $params = [];

    /**
     * @var Container
     */
    protected $container;

    public function __construct(Container $container)
    {
        $this->container = $container;
        $this->request = $container['request'];
    }

    /**
     * Execute controller.
     *
     * @param string $method
     * @param array $path
     * @param array $params
     * @return mixed
     * @throws \RuntimeException
     */
    public function execute($method, array $path, array $params)
    {
        $this->method = $method;
        $this->setParams($params);
        list($action, $path) = $this->resolveHttpVerb($method, $path);

        if (!method_exists($this, $action)) {
            $action = 'undefined';
        }

        return call_user_func_array([$this, $action], $path);
    }

    /**
     * Set router parameters. Replaces the old parameters.
     *
     * @param array $params
     * @return $this
     */
    public function setParams(array $params)
    {
        $this->params = $params;

        return $this;
    }

    /**
     * @example GET /resources
     *
     * @return mixed
     */
    public function index()
    {
        return $this->undefined();
    }

    /**
     * @example GET /resources/:id
     *
     * @param string $id
     * @return mixed
     */
    public function display($id)
    {
        return $this->undefined();
    }

    /**
     * Special sub-resource to create a new resource (returns a form).
     *
     * @example GET /resources/create
     *
     * @return mixed
     */
    public function create()
    {
        return $this->undefined();
    }

    /**
     * Special sub-resource to edit existing resource (returns a form).
     *
     * @example GET /resources/:id/edit
     *
     * @param string $id
     * @return mixed
     */
    public function edit($id)
    {
        return $this->undefined();
    }

    /**
     * @example POST /resources
     *
     * @return mixed
     */
    public function store()
    {
        return $this->undefined();
    }

    /**
     * @example PUT /resources/:id
     *
     * @param string $id
     * @return mixed
     */
    public function replace($id)
    {
        return $this->undefined();
    }

    /**
     * @example PATCH /resources/:id
     *
     * @param string $id
     * @return mixed
     */
    public function update($id)
    {
        return $this->undefined();
    }

    /**
     * @example DELETE /resources/:id
     *
     * @param string $id
     * @return mixed
     */
    public function destroy($id)
    {
        return $this->undefined();
    }

    /**
     * Catch all action for all undefined actions.
     *
     * @return mixed
     * @throws RuntimeException
     */
    public function undefined()
    {
        if (in_array($this->method, ['HEAD', 'GET'])) {
            throw new RuntimeException('Page Not Found', 404);
        }

        throw new RuntimeException('Invalid Action', 405);
    }

    /**
     * Catch all action for forbidden actions.
     *
     * @return mixed
     * @throws RuntimeException
     */
    public function forbidden()
    {
        throw new RuntimeException('Forbidden', 403);
    }

    /**
     * Load resource.
     *
     * Function throws an exception if resource does not exist.
     *
     * @param string|int $id
     * @throws \RuntimeException
     */
    protected function loadResource($id)
    {
        throw new RuntimeException('Resource Not Found', 404);
    }

    /**
     * Resolve HTTP verb.
     *
     * @param string $method
     * @param array $items
     * @return array [function, parameters]
     */
    protected function resolveHttpVerb($method, array $items)
    {
        // HEAD has identical behavior to GET.
        $method = ($method == 'HEAD') ? 'GET' : $method;

        if (!isset($this->httpVerbs[$method])) {
            // HTTP method is not defined.
            return ['undefined', $items];
        }

        $path = '';
        $remaining = $items;
        $variables = [];
        $actions = $this->httpVerbs[$method];

        // Build path for the verb and fetch all the variables.
        while (($current = array_shift($remaining)) !== null) {
            $test = "{$path}/{$current}";

            if (!isset($actions[$test])) {
                // Specific path not found, check if we have a variable.
                $test = "{$path}/*";

                if (isset($actions[$test])) {
                    // Variable found, save the value and move on.
                    $variables[] = $current;

                } elseif (isset($actions[$test . '*'])) {
                    // Wildcard found, pass through rest of the variables.
                    $path = $test . '*';
                    $variables = array_merge($variables, [$current], $remaining);
                    break;

                } else {
                    // No matches; we are done here.
                    return ['undefined', $items];
                }
            }

            // Path was found.
            $path = $test;
        }

        // No matching path; check if we have verb for the root.
        if (!$path && isset($actions['/'])) {
            $path = '/';
        }

        // Get the action.
        $action = $path ? $actions[$path] : 'undefined';

        return [$action, $variables];
    }
}
classes/Gantry/Component/Controller/RestfulControllerInterface.php000060400000003141150750356240021556 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Controller;

interface RestfulControllerInterface
{
    /**
     * @example GET /resources
     *
     * @return mixed
     */
    public function index();

    /**
     * @example GET /resources/:id
     *
     * @param string $id
     * @return mixed
     */
    public function display($id);

    /**
     * Special sub-resource to create a new resource (returns a form).
     *
     * @example GET /resources/create
     *
     * @return mixed
     */
    public function create();

    /**
     * Special sub-resource to edit existing resource (returns a form).
     *
     * @example GET /resources/:id/edit
     *
     * @param string $id
     * @return mixed
     */
    public function edit($id);

    /**
     * @example POST /resources
     *
     * @return mixed
     */
    public function store();

    /**
     * @example PUT /resources/:id
     *
     * @param string $id
     * @return mixed
     */
    public function replace($id);

    /**
     * @example PATCH /resources/:id
     *
     * @param string $id
     * @return mixed
     */
    public function update($id);

    /**
     * @example DELETE /resources/:id
     *
     * @param string $id
     * @return mixed
     */
    public function destroy($id);
}
classes/Gantry/Component/Gettext/Gettext.php000060400000006016150750356240015176 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Gettext;

/**
 * Class Gettext
 * @package Gantry\Component\Gettext
 *
 * Examples on translating gettext in twig:
 *
 * {% trans string_var %}
 * http://twig.sensiolabs.org/doc/extensions/i18n.html
 *
 * {% trans %}Hello {{ author.name }}{% endtrans %}
 * http://symfony.com/doc/current/book/translation.html
 *
 * {{ 'Hello %name%'|trans({'%name%': name}) }}
 * {{ trans('Hello %name%', {'%name%': name}) }}
 */
class Gettext
{
    public $pos = 0;
    public $str;
    public $len;
    public $endian = 'V';

    public function parse($string)
    {
        $this->str = $string;
        $this->len = strlen($string);

        $magic = self::readInt() & 0xffffffff;

        if ($magic === 0x950412de) {
            // Low endian.
            $this->endian = 'V';
        } elseif ($magic === 0xde120495) {
            // Big endian.
            $this->endian = 'N';
        } else {
            throw new \Exception('Not a Gettext file (.mo)');
        }

        // Skip revision number.
        self::readInt();
        // Total count.
        $total = self::readInt();
        // Offset of original table.
        $originals = self::readInt();
        // Offset of translation table.
        $translations = self::readInt();

        $this->seek($originals);
        $table_originals = self::readIntArray($total * 2);
        $this->seek($translations);
        $table_translations = self::readIntArray($total * 2);

        $items = [];
        for ($i = 0; $i < $total; $i++) {
            $this->seek($table_originals[$i * 2 + 2]);
            $original = $this->read($table_originals[$i * 2 + 1]);

            if ($original) {
                $this->seek($table_translations[$i * 2 + 2]);
                $items[$original] = $this->read($table_translations[$i * 2 + 1]);
            }
        }

        return $items;
    }

    /**
     * @return int
     */
    protected function readInt()
    {
        $read = $this->read(4);

        if ($read === false) {
            return false;
        }

        $read = unpack($this->endian, $read);

        return array_shift($read);
    }

    /**
     * @param $count
     * @return array
     */
    protected function readIntArray($count)
    {
        return unpack($this->endian . $count, $this->read(4 * $count));
    }

    /**
     * @param $bytes
     * @return string
     */
    private function read($bytes)
    {
        $data = substr($this->str, $this->pos, $bytes);
        $this->seek($this->pos + $bytes);
        return $data;
    }

    /**
     * @param $pos
     * @return mixed
     */
    private function seek($pos)
    {
        $this->pos = max($this->len, $pos);
        return $this->pos;
    }
}
classes/Gantry/Component/Request/Request.php000060400000002740150750356240015206 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Request;

class Request
{
    /**
     * @var string
     */
    protected $method;

    /**
     * @var Input
     */
    public $get;

    /**
     * @var Input
     */
    public $post;

    /**
     * @var Input
     */
    public $cookie;

    /**
     * @var Input
     */
    public $server;

    /**
     * @var Input
     */
    public $request;

    public function __construct()
    {
        $this->init();
    }

    public function getMethod()
    {
        if (!$this->method) {
            $method = $this->server['REQUEST_METHOD'] ?: 'GET';
            if ('POST' === $method) {
                $method = $this->server['X-HTTP-METHOD-OVERRIDE'] ?: $method;
                $method = $this->post['METHOD'] ?: $method;
            }
            $this->method = strtoupper($method);
        }

        return $this->method;
    }

    protected function init()
    {
        $this->get = new Input($_GET);
        $this->post = new Input($_POST);
        $this->cookie = new Input($_COOKIE);
        $this->server = new Input($_SERVER);
        $this->request = new Input($_REQUEST);
    }
}
classes/Gantry/Component/Request/Input.php000060400000007016150750356240014656 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Request;

use RocketTheme\Toolbox\ArrayTraits\Export;
use RocketTheme\Toolbox\ArrayTraits\ExportInterface;
use RocketTheme\Toolbox\ArrayTraits\Iterator;
use RocketTheme\Toolbox\ArrayTraits\NestedArrayAccessWithGetters;

class Input implements \ArrayAccess, \Iterator, ExportInterface
{
    use NestedArrayAccessWithGetters, Iterator, Export;

    /**
     * @var array
     */
    protected $items;

    /**
     * Constructor to initialize array.
     *
     * @param  array  $items  Initial items inside the iterator.
     */
    public function __construct(array &$items = [])
    {
        $this->items = &$items;
    }

    /**
     * Returns input array. If there are any JSON encoded fields (key: _json), those will be decoded as well.
     *
     * @param string  $path       Dot separated path to the requested value.
     * @param mixed   $default    Default value (or null).
     * @param string  $separator  Separator, defaults to '.'
     * @return array
     */
    public function getArray($path = null, $default = null, $separator = '.')
    {
        $data = $path ? $this->get($path, $default, $separator) : $this->items;

        return (array) $this->getChildren($data);
    }

    /**
     * Returns JSON decoded input array.
     *
     * @param string  $path       Dot separated path to the requested value.
     * @param mixed   $default    Default value (or null).
     * @param string  $separator  Separator, defaults to '.'
     * @return array
     */
    public function getJsonArray($path = null, $default = null, $separator = '.')
    {
        return (array) $this->getJson($path, $default, $separator, true);
    }

    /**
     * Returns JSON decoded input. Accosiative arrays become objects.
     *
     * @param string|null  $path       Dot separated path to the requested value.
     * @param mixed        $default    Default value (or null).
     * @param string       $separator  Separator, defaults to '.'
     * @param bool         $assoc      True to return associative arrays instead of objects.
     * @return mixed
     */
    public function getJson($path = null, $default = null, $separator = '.', $assoc = false)
    {
        $data = $this->get($path, null, $separator);

        if (!isset($data)) {
            return $default;
        }

        if (!is_string($data)) {
            throw new \RuntimeException(sprintf('%s::%s(%s) expects input to be JSON encoded string', __CLASS__, __FUNCTION__, $path));
        }

        $data = json_decode($data, $assoc);
        if (!isset($data)) {
            throw new \RuntimeException(sprintf('%s::%s(): %s', __CLASS__, __FUNCTION__, json_last_error_msg()));
        }

        return $data;
    }

    /**
     * @param $current
     * @return array|mixed
     * @internal
     */
    protected function getChildren(&$current)
    {
        if (!is_array($current)) {
            return $current;
        }
        $array = [];
        foreach ($current as $key => &$value) {
            if ($key === '_json') {
                $array += json_decode($value, true);
            } else {
                $array[$key] = $this->getChildren($value);
            }
        }

        return $array;
    }
}
classes/Gantry/Component/Menu/AbstractMenu.php000060400000026431150750356240015425 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Menu;

use Gantry\Component\Config\Config;
use Gantry\Component\File\CompiledYamlFile;
use Gantry\Component\Gantry\GantryTrait;
use RocketTheme\Toolbox\ArrayTraits\ArrayAccessWithGetters;
use RocketTheme\Toolbox\ArrayTraits\Countable;
use RocketTheme\Toolbox\ArrayTraits\Export;
use RocketTheme\Toolbox\ArrayTraits\Iterator;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

abstract class AbstractMenu implements \ArrayAccess, \Iterator, \Countable
{
    use GantryTrait, ArrayAccessWithGetters, Iterator, Export, Countable;

    protected $default;
    protected $base;
    protected $active;
    protected $params;
    protected $override = false;
    protected $config;

    /**
     * @var array|Item[]
     */
    protected $items;

    /**
     * @var Config|null
     */
    protected $pathMap;

    protected $defaults = [
        'menu' => '',
        'base' => '/',
        'startLevel' => 1,
        'maxLevels' => 0,
        'showAllChildren' => true,
        'highlightAlias' => true,
        'highlightParentAlias' => true
    ];

    abstract public function __construct();

    /**
     * Return list of menus.
     *
     * @return array
     */
    abstract public function getMenus();


    /**
     * Return default menu.
     *
     * @return string
     */
    public function getDefaultMenuName()
    {
        return null;
    }

    /**
     * Returns true if the platform implements a Default menu.
     *
     * @return boolean
     */
    public function hasDefaultMenu()
    {
        return false;
    }

    /**
     * Return active menu.
     *
     * @return string
     */
    public function getActiveMenuName()
    {
        return null;
    }

    /**
     * Returns true if the platform implements an Active menu.
     *
     * @return boolean
     */
    public function hasActiveMenu()
    {
        return false;
    }

    /**
     * @param array $params
     * @param Config $menu
     * @return AbstractMenu
     */
    public function instance(array $params = [], Config $menu = null)
    {
        $params = $params + $this->defaults;

        $menus = $this->getMenus();

        if (!$menus) {
            throw new \RuntimeException('Site does not have menus', 404);
        }
        if (empty($params['menu'])) {
            $params['menu'] = $this->getDefaultMenuName();
            if (!$params['menu'] && !empty($params['admin'])) {
                // In admin just select the first menu if there isn't default menu to be selected.
                $params['menu'] = reset($menus);
            };
        } elseif ($params['menu'] == '-active-') {
            $params['menu'] = $this->getActiveMenuName();
        }
        if (!$params['menu']) {
            throw new \RuntimeException('No menu selected', 404);
        }
        if (!in_array($params['menu'], $menus)) {
            throw new \RuntimeException('Menu not found', 404);
        }

        $instance = clone $this;
        $instance->params = $params;

        if ($menu) {
            $instance->override = true;
            $instance->config = $menu;
        } else {
            $instance->config = null;
        }

        $config = $instance->config();
        $items = isset($config['items']) ? $config['items'] : [];

        // Create menu structure.
        $instance->init($params);

        // Get menu items from the system (if not specified otherwise).
        if ($config->get('settings.type') !== 'custom') {
            $instance->getList($params, $items);
        }

        // Add custom menu items.
        $instance->addCustom($params, $items);

        // Sort menu items.
        $instance->sortAll();

        return $instance;
    }

    /**
     * Get menu configuration.
     *
     * @return Config
     */
    public function config()
    {
        if (!$this->config) {
            $gantry = static::gantry();

            /** @var UniformResourceLocator $locator */
            $locator = $gantry['locator'];

            $menu = $this->params['menu'];

            $file = CompiledYamlFile::instance($locator("gantry-config://menu/{$menu}.yaml"));
            $this->config = new Config($file->content());
            $this->config->def('settings.title', ucfirst($menu));
            $file->free();
        }

        return $this->config;
    }

    public function name()
    {
        return $this->params['menu'];
    }

    public function root()
    {
        return $this->offsetGet('');
    }

    public function ordering()
    {
        $list = [];
        foreach ($this->items as $name => $item) {
            $groups = $item->groups();
            if (count($groups) == 1 && empty($groups[0])) {
                continue;
            }

            $list[$name] = [];
            foreach ($groups as $col => $children) {
                $list[$name][$col] = [];
                foreach ($children as $child) {
                    $list[$name][$col][] = $child->path;
                }
            }
        }

        return $list;
    }

    public function items($withdefaults = true)
    {
        $list = [];
        foreach ($this->items as $key => $item) {
            if ($key !== '') {
                $list[$item->path] = $item->toArray($withdefaults);
            }
        }

        return $list;
    }

    public function settings()
    {
        return (array) $this->config()->get('settings');
    }

    /**
     * @return object
     */
    public function getBase()
    {
        return $this->offsetGet($this->base);
    }

    /**
     * @return object
     */
    public function getDefault()
    {
        return $this->offsetGet($this->default);
    }

    /**
     * @return object
     */
    public function getActive()
    {
        return $this->offsetGet($this->active);
    }

    /**
     * @return string|null
     */
    public function getCacheId()
    {
        return $this->active ?: '-inactive-';
    }

    public function isActive($item)
    {
        $active = $this->getActive();

        if ($active && $item && ($active->path === $item->path || strpos($active->path, $item->path . '/') === 0)) {
            return true;
        }

        return false;
    }

    public function isCurrent($item)
    {
        $active = $this->getActive();

        return $item && $active && $item->path === $active->path;
    }

    public function init(&$params)
    {
        $this->items = ['' => new Item($this, '', ['layout' => 'horizontal'])];
    }

    public function add(Item $item)
    {
        $this->items[$item->path] = $item;

        // If parent exists, assign menu item to its parent; otherwise ignore menu item.
        if (isset($this->items[$item->parent_id])) {
            $this->items[$item->parent_id]->addChild($item);
        } elseif (!$this->items['']->count()) {
            $this->items[$item->parent_id] = $this->items[''];
            $this->items[$item->parent_id]->addChild($item);
        }

        return $this;
    }

    /**
     * Get menu items from the platform.
     *
     * @param int $levels
     * @return array
     */
    abstract protected function getItemsFromPlatform($levels);

    /**
     * Get base menu item.
     *
     * If itemid is not specified or does not exist, return active menu item.
     * If there is no active menu item, fall back to home page for the current language.
     * If there is no home page, return null.
     *
     * @param   string  $path
     *
     * @return  string
     */
    abstract protected function calcBase($path);

    /**
     * Get a list of the menu items.
     *
     * @param  array  $params
     * @param  array  $items
     */
    abstract public function getList(array $params, array $items);

    /**
     * Add custom menu items.
     *
     * @param  array  $params
     * @param array $items
     */
    public function addCustom(array $params, array $items)
    {
        $start   = $params['startLevel'];
        $max     = $params['maxLevels'];
        $end     = $max ? $start + $max - 1 : 0;

        $config = $this->config();
        $type = $config->get('settings.type');

        // Add custom menu elements.
        foreach ($items as $route => $item) {
            if ($type !== 'custom' && (!isset($item['type']) || $item['type'] !== 'particle')) {
                continue;
            }

            $tree = explode('/', $route);
            $parentTree = $tree;
            array_pop($parentTree);

            // Enabled state should equal particle setting.
            $item['enabled'] = !isset($item['options']['particle']['enabled']) || !empty($item['options']['particle']['enabled']);
            $item['level'] = $level = count($tree);
            $item['parent_id'] = implode('/', $parentTree);
            if (($start && $start > $level)
                || ($end && $level > $end)
                // TODO: Improve. In the mean time Item::add() handles this part.
                // || ($start > 1 && !in_array($tree[$start - 2], $tree))
            ) {
                continue;
            }
            $item = new Item($this, $route, $item);
            $this->add($item);
        }
    }

    /**
     * @param array $ordering
     * @param string $path
     * @param array $map
     */
    public function sortAll(array $ordering = null, $path = '', $map = null)
    {
        if ($ordering === null) {
            $config = $this->config();
            $ordering = $config['ordering'] ? $config['ordering'] : [];
        }

        if (!isset($this->items[$path]) || !$this->items[$path]->hasChildren()) {
            return;
        }

        if ($map === null) {
            $map = $this->pathMap ? $this->pathMap->toArray() : [];
        }

        $order = [];
        $newMap = [];
        $item = $this->items[$path];
        if ($this->isAssoc($ordering)) {
            foreach ($ordering as $key => $value) {
                if ($map) {
                    $newMap = isset($map[$key]['children']) ? $map[$key]['children'] : [];
                    $key = isset($map[$key]['path']) ? basename($map[$key]['path']) : $key;
                    $order[$key] = $value;
                }

                if (is_array($value)) {
                    $this->sortAll($value, $path ? $path . '/' . $key : $key, $newMap);
                }
            }

            $item->sortChildren($order ?: $ordering);
        } else {
            foreach ($ordering as $i => $group) {
                foreach ($group as $key => $value) {
                    if ($map) {
                        $newMap = isset($map[$key]['children']) ? $map[$key]['children'] : [];
                        $key = isset($map[$key]['path']) ? basename($map[$key]['path']) : $key;
                        $order[$i][$key] = $value;
                    }

                    if (is_array($value)) {
                        $this->sortAll($value, $path ? $path . '/' . $key : $key, $newMap);
                    }
                }
            }

            $item->groupChildren($order ?: $ordering);
        }

    }

    protected function isAssoc(array $array)
    {
        return (array_values($array) !== $array);
    }
}
classes/Gantry/Component/Menu/Item.php000060400000023274150750356240013735 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Menu;

use RocketTheme\Toolbox\ArrayTraits\ArrayAccessWithGetters;
use RocketTheme\Toolbox\ArrayTraits\Export;

/**
 * @property string $id
 * @property string $type
 * @property string $path
 * @property string $alias
 * @property string $title
 * @property string $link
 * @property string $parent_id
 * @property string $layout
 * @property int $browserNav
 * @property bool $menu_text
 * @property bool $visible
 * @property int $group
 * @property int $level
 */
class Item implements \ArrayAccess, \Iterator, \Serializable, \Countable
{
    use ArrayAccessWithGetters, Export;

    const VERSION = 1;

    protected $items;
    protected $menu;
    protected $groups = [];
    protected $children = [];
    protected $url;

    protected static $defaults = [
        'id' => 0,
        'type' => 'link',
        'path' => null,
        'alias' => null,
        'title' => null,
        'link' => null,
        'parent_id' => null,
        'layout' => 'list',
        'target' => '_self',
        'dropdown' => '',
        'icon' => '',
        'image' => '',
        'subtitle' => '',
        'hash' => '',
        'class' => '',
        'icon_only' => false,
        'enabled' => true,
        'visible' => true,
        'group' => 0,
        'columns' => [],
        'level' => 0,
        'link_title' => '',
        'anchor_class' => ''
    ];

    public function __construct(AbstractMenu $menu, $name, array $item = [])
    {
        $this->menu = $menu;

        $tree = explode('/', $name);
        $alias = array_pop($tree);
        $parent = implode('/', $tree);

        // As we always calculate parent (it can change), prevent old one from being inserted.
        unset($item['parent_id']);

        $this->items = $item + [
            'id' => preg_replace('|[^a-z0-9]|i', '-', $name) ?: 'root',
            'path' => $name,
            'alias' => $alias,
            'title' => ucfirst($alias),
            'link' => $name,
            'parent_id' => $parent != '.' ? $parent : '',
        ] + static::$defaults;
    }

    public function getDropdown()
    {
        if (!$this->items['dropdown']) {
            return count($this->groups()) > 1 ? 'fullwidth' : 'standard';
        }

        return $this->items['dropdown'];
    }

    public function serialize()
    {
        // FIXME: need to create collection class to gather the sibling data.
        return serialize([
            'version' => static::VERSION,
            'items' => $this->items,
            'groups' => $this->groups,
            'children' => $this->children,
            'url' => $this->url
        ]);
    }

    public function unserialize($serialized)
    {
        // FIXME: need to create collection class to gather the sibling data.
        $data = unserialize($serialized);

        if (!isset($data['version']) && $data['version'] === static::VERSION) {
            throw new \UnexpectedValueException('Serialized data is not valid');
        }

        $this->items = $data['items'];
        $this->groups =  $data['groups'];
        $this->children = $data['children'];
        $this->url = $data['url'];
    }

    /**
     * @param  string|null|bool $url
     * @return string
     */
    public function url($url = false)
    {
        if ($url !== false) {
            $this->url = $url;
        }
        return $this->url;
    }

    /**
     * @return AbstractMenu
     * @deprecated Need to break relationship to the menu and use a collection instead.
     */
    protected function menu()
    {
        return $this->menu;
    }

    /**
     * @return Item
     */
    public function parent()
    {
        return $this->menu()[$this->items['parent_id']];
    }

    public function columnWidth($column)
    {
        if (isset($this->items['columns'][$column])) {
            return $this->items['columns'][$column];
        }

        return 100 / count($this->groups());
    }

    public function groups()
    {
        if ($this->groups) {
            $list = [];
            foreach ($this->groups as $i => $group) {
                $list[$i] = [];
                foreach ($group as $path) {
                    $list[$i][] = $this->menu()[$path];
                }
            }
            return $list;
        }
        return [$this->children()];
    }

    public function children()
    {
        $list = [];
        foreach ($this as $child) {
            $list[] = $child;
        }
        return $list;
    }

    public function hasChildren()
    {
        return !empty($this->children);
    }

    public function getGroup($i)
    {
        $groups = $this->groups();
        $i = (int) $i;

        return isset($groups[$i]) ? $groups[$i] : [];
    }

    public function update(array $data)
    {
        $this->items = array_replace($this->items, $data);

        return $this;
    }

    public function addChild(Item $child)
    {
        $child->level = $this->level + 1;
        $child->parent_id = $this->path;
        $this->children[$child->alias] = $child->path;

        return $this;
    }

    public function removeChild(Item $child)
    {
        unset($this->children[$child->alias]);

        return $this;
    }

    public function sortChildren($ordering)
    {
        // Array with keys that point to the items.
        $children =& $this->children;

        if ($children) {
            if (is_array($ordering)) {
                // Remove extra items from ordering and reorder.
                $children = array_replace(array_intersect_key($ordering, $children), $children);
            } else {
                switch ((string) $ordering) {
                    case 'abc':
                        // Alphabetical ordering.
                        ksort($children, SORT_NATURAL);
                        break;
                    case 'cba':
                        // Reversed alphabetical ordering.
                        krsort($children, SORT_NATURAL);
                        break;
                }
            }
        }

        return $this;
    }


    public function reverse()
    {
        array_reverse($this->children, true);
        array_reverse($this->groups, true);

        return $this;
    }

    public function groupChildren(array $groups)
    {
        // Array with keys that point to the items.
        $children =& $this->children;

        if ($children) {
            $menu = $this->menu();
            $ordered = [];

            // Create empty groups.
            $this->groups = array_fill(0, max(1, count($this->items['columns'])), []);

            foreach ($groups as $i => $ordering) {
                if (!is_array($ordering)) {
                    continue;
                }

                // Get the items for this group with proper ordering.
                $group = array_replace(
                    array_intersect_key($ordering, $children), array_intersect_key($children, $ordering)
                );

                // Assign each menu items to the group.
                $group = array_map(
                    function($value) use ($i, $menu) {
                        $item = $menu[$value];
                        $item->group = $i;
                        return $value;
                    },
                    $group
                );

                // Update remaining children.
                $children = array_diff_key($children, $ordering);

                // Build child ordering.
                $ordered += $group;

                // Add items to the current group.
                $this->groups[$i] = $group;
            }

            if ($children) {
                // Add leftover children to the ordered list and to the first group.
                $ordered += $children;
                $this->groups[0] += $children;
            }

            // Reorder children by their groups.
            $children = $ordered;
        }

        return $this;
    }

    // Implements \Iterator

    /**
     * Returns the current child.
     *
     * @return Item
     */
    public function current()
    {
        return $this->menu()[current($this->children)];
    }

    /**
     * Returns the key of the current child.
     *
     * @return mixed  Returns scalar on success, or NULL on failure.
     */
    public function key()
    {
        return key($this->children);
    }

    /**
     * Moves the current position to the next child.
     *
     * @return void
     */
    public function next()
    {
        next($this->children);
    }

    /**
     * Rewinds back to the first child.
     *
     * @return void
     */
    public function rewind()
    {
        reset($this->children);
    }

    /**
     * Count number of children.
     *
     * @return int
     */
    public function count()
    {
        return count($this->children);
    }

    /**
     * This method is called after Iterator::rewind() and Iterator::next() to check if the current position is valid.
     *
     * @return bool  Returns TRUE on success or FALSE on failure.
     */
    public function valid()
    {
        return key($this->children) !== null;
    }

    /**
     * Convert object into an array.
     *
     * @return array
     */
    public function toArray($withDefaults = true)
    {
        $items = $this->items;

        if (!$withDefaults) {
            foreach (static::$defaults as $key => $value) {
                if ($items[$key] === $value) {
                    unset($items[$key]);
                }
            }
        }

        return $items;
    }
}
classes/Gantry/Component/Admin/HtmlController.php000060400000001745150750356240016132 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Admin;

use Gantry\Component\Controller\HtmlController as BaseController;

abstract class HtmlController extends BaseController
{
    /**
     * @param string|array $file
     * @param array $context
     * @return string
     */
    public function render($file, array $context = [])
    {
        return $this->container['admin.theme']->render($file, $context);
    }

    /**
     * @param string $action
     * @param string $id
     * @return boolean
     */
    public function authorize($action, $id = null)
    {
        return $this->container['platform']->authorize($action, $id);
    }
}
classes/Gantry/Component/Admin/JsonController.php000060400000001745150750356240016137 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Admin;

use Gantry\Component\Controller\JsonController as BaseController;

abstract class JsonController extends BaseController
{
    /**
     * @param string|array $file
     * @param array $context
     * @return string
     */
    public function render($file, array $context = [])
    {
        return $this->container['admin.theme']->render($file, $context);
    }

    /**
     * @param string $action
     * @param string $id
     * @return boolean
     */
    public function authorize($action, $id = null)
    {
        return $this->container['platform']->authorize($action, $id);
    }
}
classes/Gantry/Component/Content/Document/HtmlDocument.php000060400000052570150750356240017727 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Content\Document;

use Gantry\Component\Content\Block\ContentBlock;
use Gantry\Component\Content\Block\HtmlBlock;
use Gantry\Component\Gantry\GantryTrait;
use Gantry\Component\Url\Url;
use Gantry\Framework\Gantry;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class HtmlDocument
{
    use GantryTrait;

    public static $timestamp_age = 604800;
    public static $urlFilterParams;

    /**
     * @var array|HtmlBlock[]
     */
    protected static $stack;
    protected static $frameworks = [];
    protected static $scripts = [];
    protected static $styles = [];
    protected static $availableFrameworks = [
        'jquery' => 'registerJquery',
        'jquery.framework' => 'registerJquery',
        'jquery.ui.core' => 'registerJqueryUiSortable',
        'jquery.ui.sortable' => 'registerJqueryUiSortable',
        'bootstrap.2' => 'registerBootstrap2',
        'bootstrap.3' => 'registerBootstrap3',
        'mootools' => 'registerMootools',
        'mootools.framework' => 'registerMootools',
        'mootools.core' => 'registerMootools',
        'mootools.more' => 'registerMootoolsMore',
        'lightcase' => 'registerLightcase',
        'lightcase.init' => 'registerLightcaseInit',
    ];

    public function __construct()
    {
        static::$stack = [];
        static::push();
    }

    /**
     * Create new local instance of document allowing asset caching.
     */
    public static function push()
    {
        array_unshift(static::$stack, new HtmlBlock());
    }

    /**
     * Return local instance of document allowing it to be cached.
     *
     * @return HtmlBlock
     */
    public static function pop()
    {
        return array_shift(static::$stack);
    }

    /**
     * @param ContentBlock $block
     * @return $this
     */
    public function addBlock(ContentBlock $block)
    {
        static::$stack[0]->addBlock($block);

        return $this;
    }

    /**
     * @param string $framework
     * @return bool
     */
    public static function addFramework($framework)
    {
        if (!isset(static::$availableFrameworks[$framework])) {
            return false;
        }

        static::getObject();
        static::$stack[0]->addFramework($framework);

        return true;
    }

    /**
     * @param string|array $element
     * @param int $priority
     * @param string $location
     * @return bool
     */
    public static function addStyle($element, $priority = 0, $location = 'head')
    {
        static::getObject();
        return static::$stack[0]->addStyle($element, $priority, $location);
    }

    /**
     * @param string|array $element
     * @param int $priority
     * @param string $location
     * @return bool
     */
    public static function addInlineStyle($element, $priority = 0, $location = 'head')
    {
        static::getObject();
        return static::$stack[0]->addInlineStyle($element, $priority, $location);
    }

    /**
     * @param string|array $element
     * @param int $priority
     * @param string $location
     * @return bool
     */
    public static function addScript($element, $priority = 0, $location = 'head')
    {
        static::getObject();
        return static::$stack[0]->addScript($element, $priority, $location);
    }

    /**
     * @param string|array $element
     * @param int $priority
     * @param string $location
     * @return bool
     */
    public static function addInlineScript($element, $priority = 0, $location = 'head')
    {
        static::getObject();
        return static::$stack[0]->addInlineScript($element, $priority, $location);
    }

    /**
     * @param string $html
     * @param int $priority
     * @param string $location
     * @return bool
     */
    public static function addHtml($html, $priority = 0, $location = 'bottom')
    {
        static::getObject();
        return static::$stack[0]->addHtml($html, $priority, $location);
    }

    /**
     * @param array $element
     * @param string $location
     * @param int $priority
     * @return bool
     */
    public static function addHeaderTag(array $element, $location = 'head', $priority = 0)
    {
        $success = false;

        switch ($element['tag']) {
            case 'link':
                if (!empty($element['rel']) && $element['rel'] === 'stylesheet') {
                    $success = static::addStyle($element, $priority, $location);
                }

                break;

            case 'style':
                $success = static::addInlineStyle($element, $priority, $location);

                break;

            case 'script':
                if (!empty($element['src'])) {
                    $success = static::addScript($element, $priority, $location);
                } elseif (!empty($element['content'])) {
                    $success = static::addInlineScript($element, $priority, $location);
                }

                break;
        }

        return $success;
    }

    public static function getStyles($location = 'head')
    {
        static::getObject();
        $styles = static::$stack[0]->getStyles($location);

        $output = [];

        foreach ($styles as $style) {
            switch ($style[':type']) {
                case 'file':
                    $attribs = '';
                    if ($style['media']) {
                        $attribs .= ' media="' . static::escape($style['media']) . '"';
                    }
                    $output[] = sprintf(
                        '<link rel="stylesheet" href="%s" type="%s"%s />',
                        static::escape($style['href']),
                        static::escape($style['type']),
                        $attribs
                    );
                    break;
                case 'inline':
                    $attribs = '';
                    if ($style['type'] !== 'text/css') {
                        $attribs .= ' type="' . static::escape($style['type']) . '"';
                    }
                    $output[] = sprintf(
                        '<style%s>%s</style>',
                        $attribs,
                        $style['content']
                    );
                    break;
            }
        }

        return $output;
    }

    public static function getScripts($location = 'head')
    {
        static::getObject();
        $scripts = static::$stack[0]->getScripts($location);

        $output = [];

        foreach ($scripts as $script) {
            switch ($script[':type']) {
                case 'file':
                    $attribs = '';
                    if ($script['async']) {
                        $attribs .= ' async="async"';
                    }
                    if ($script['defer']) {
                        $attribs .= ' defer="defer"';
                    }
                    $output[] = sprintf(
                        '<script type="%s"%s src="%s"></script>',
                        static::escape($script['type']),
                        $attribs,
                        static::escape($script['src'])
                    );
                    break;
                case 'inline':
                    $output[] = sprintf(
                        '<script type="%s">%s</script>',
                        static::escape($script['type']),
                        $script['content']
                    );
                    break;
            }
        }

        return $output;
    }

    public static function getHtml($location = 'bottom')
    {
        static::getObject();
        $htmls = static::$stack[0]->getHtml($location);
        $output = [];

        foreach ($htmls as $html) {
            $output[] = $html['html'];
        }

        return $output;
    }

    /**
     * Escape string (emulates twig filter).
     *
     * @param string $string
     * @return string
     */
    public static function escape($string, $strategy = 'html')
    {
        if (!is_string($string)) {
            if (is_object($string) && method_exists($string, '__toString')) {
                $string = (string) $string;
            } elseif (in_array($strategy, array('html', 'js', 'css', 'html_attr', 'url'))) {
                return $string;
            }
        }

        switch ($strategy) {
            case 'html':
                return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');

            case 'js':
                if (0 == strlen($string) ? false : (1 == preg_match('/^./su', $string) ? false : true)) {
                    throw new \RuntimeException('The string to escape is not a valid UTF-8 string.');
                }

                $string = preg_replace_callback('#[^a-zA-Z0-9,\._]#Su', '_twig_escape_js_callback', $string);

                return $string;

            case 'css':
                if (0 == strlen($string) ? false : (1 == preg_match('/^./su', $string) ? false : true)) {
                    throw new \RuntimeException('The string to escape is not a valid UTF-8 string.');
                }

                $string = preg_replace_callback('#[^a-zA-Z0-9]#Su', '_twig_escape_css_callback', $string);

                return $string;

            case 'html_attr':
                if (0 == strlen($string) ? false : (1 == preg_match('/^./su', $string) ? false : true)) {
                    throw new \RuntimeException('The string to escape is not a valid UTF-8 string.');
                }

                $string = preg_replace_callback('#[^a-zA-Z0-9,\.\-_]#Su', '_twig_escape_html_attr_callback', $string);

                return $string;

            case 'url':
                return rawurlencode($string);

            default:
                throw new \RuntimeException(sprintf('Invalid escaping strategy "%s" (valid ones: html, js, css, html_attr, url).', $strategy));
        }
    }

    /**
     * @param $framework
     * @return bool
     * @deprecated 5.3
     */
    public static function load($framework)
    {
        return static::addFramework($framework);
    }

    /**
     * Register assets.
     */
    public static function registerAssets()
    {
        static::registerFrameworks();
    }

    public static function siteUrl()
    {
        return static::rootUri();
    }

    /**
     * NOTE: In PHP this function can be called either from Gantry DI container or statically.
     *
     * @return string
     */
    public static function rootUri()
    {
        return '';
    }

    /**
     * NOTE: In PHP this function can be called either from Gantry DI container or statically.
     *
     * @param bool $addDomain
     * @return string
     */
    public static function domain($addDomain = false)
    {
        return '';
    }

    /**
     * Return URL to the resource.
     *
     * @example {{ url('gantry-theme://images/logo.png')|default('http://www.placehold.it/150x100/f4f4f4') }}
     *
     * NOTE: In PHP this function can be called either from Gantry DI container or statically.
     *
     * @param  string $url         Resource to be located.
     * @param  bool $domain        True to include domain name.
     * @param  int $timestamp_age  Append timestamp to files that are less than x seconds old. Defaults to a week.
     *                             Use value <= 0 to disable the feature.
     * @param  bool $allowNull     True if non-existing files should return null.
     * @return string|null         Returns url to the resource or null if resource was not found.
     */
    public static function url($url, $domain = false, $timestamp_age = null, $allowNull = true)
    {
        if (!is_string($url) || $url === '') {
            // Return null on invalid input.
            return null;
        }

        if ($url[0] === '#' || $url[0] === '?') {
            // Handle urls with query string or fragment only.
            return str_replace(' ', '%20', $url);
        }

        $parts = Url::parse($url);

        if (!is_array($parts)) {
            // URL could not be parsed.
            return $allowNull ? null : str_replace(' ', '%20', $url);
        }

        // Make sure we always have scheme, host, port and path.
        $scheme = isset($parts['scheme']) ? $parts['scheme'] : '';
        $host = isset($parts['host']) ? $parts['host'] : '';
        $port = isset($parts['port']) ? $parts['port'] : '';
        $path = isset($parts['path']) ? $parts['path'] : '';

        if ($scheme && !$port) {
            // If URL has a scheme, we need to check if it's one of Gantry streams.
            $gantry = static::gantry();

            /** @var UniformResourceLocator $locator */
            $locator = $gantry['locator'];

            if (!$locator->schemeExists($scheme)) {
                // If scheme does not exists as a stream, assume it's external.
                return str_replace(' ', '%20', $url);
            }

            // Attempt to find the resource (because of parse_url() we need to put host back to path).
            $newPath = $locator->findResource("{$scheme}://{$host}{$path}", false);

            if ($newPath === false) {
                if ($allowNull) {
                    return null;
                }

                // Return location where the file would be if it was saved.
                $path = $locator->findResource("{$scheme}://{$host}{$path}", false, true);
            } else {
                $path = $newPath;
            }

        } elseif ($host || $port) {
            // If URL doesn't have scheme but has host or port, it is external.
            return str_replace(' ', '%20', $url);
        }

        // At this point URL is either relative or absolute path; let us find if it is relative and not . or ..
        if ($path && '/' !== $path[0] && '.' !== $path[0]) {
            if ($timestamp_age === null) {
                $timestamp_age = static::$timestamp_age;
            }
            if ($timestamp_age > 0) {
                // We want to add timestamp to the URI: do it only for existing files.
                $realPath = @realpath(GANTRY5_ROOT . '/' . $path);
                if ($realPath && is_file($realPath)) {
                    $time = filemtime($realPath);
                    // Only append timestamp for files that are less than the maximum age.
                    if ($time > time() - $timestamp_age) {
                        $parts['query'] = (!empty($parts['query']) ? "{$parts['query']}&" : '') . sprintf('%x', $time);
                    }
                }
            }

            // We need absolute URI instead of relative.
            $path = rtrim(static::rootUri(), '/') . '/' . $path;
        }

        // Set absolute URI.
        $uri = $path;

        // Add query string back.
        if (!empty($parts['query'])) {
            if (!$uri) $uri = static::rootUri();
            $uri .= '?' . $parts['query'];
        }

        // Add fragment back.
        if (!empty($parts['fragment'])) {
            if (!$uri) $uri = static::rootUri();
            $uri .= '#' . $parts['fragment'];
        }

        return static::domain($domain) . str_replace(' ', '%20', $uri);
    }

    /**
     * Filter stream URLs from HTML.
     *
     * @param  string $html         HTML input to be filtered.
     * @param  bool $domain         True to include domain name.
     * @param  int $timestamp_age   Append timestamp to files that are less than x seconds old. Defaults to a week.
     *                              Use value <= 0 to disable the feature.
     * @param  bool $streamOnly     Only touch streams.
     * @return string               Returns modified HTML.
     */
    public static function urlFilter($html, $domain = false, $timestamp_age = null, $streamOnly = false)
    {
        static::$urlFilterParams = [$domain, $timestamp_age, $streamOnly];

        // Tokenize all PRE, CODE and SCRIPT tags to avoid modifying any src|href|url in them
        $tokens = [];

        $html = preg_replace_callback('#<(pre|code|script)(\s[^>]+)?>.*?</\\1>#ius', function($matches) use (&$tokens) {
            // Unfortunately uniqid() doesn't quite work in Windows, so we need to work it around by adding some randomness.
            $token = '@@'. uniqid(mt_rand(), true) . '@@';
            $match = $matches[0];

            $tokens[$token] = $match;

            return $token;
        }, $html);

        if ($streamOnly) {
            $gantry = static::gantry();

            /** @var UniformResourceLocator $locator */
            $locator = $gantry['locator'];
            $schemes = $locator->getSchemes();

            $list = [];
            foreach ($schemes as $scheme) {
                if (strpos($scheme, 'gantry-') === 0) {
                    $list[] = substr($scheme, 7);
                }
            }
            if (empty($list)) {
                return $html;
            }

            $match = '(gantry-(' . implode('|', $list). ')://.*?)';
        } else {
            $match = '(.*?)';
        }

        $html = preg_replace_callback('^(\s)(src|href)="' . $match . '"^u', 'static::linkHandler', $html);
        $html = preg_replace_callback('^(\s)url\(' . $match . '\)^u', 'static::urlHandler', $html);
        $html = static::replaceTokens($tokens, $html);

        return $html;
    }

    /**
     * @param array $matches
     * @return string
     * @internal
     */
    public static function linkHandler(array $matches)
    {
        list($domain, $timestamp_age) = static::$urlFilterParams;
        $url = trim($matches[3]);
        $url = static::url($url, $domain, $timestamp_age, false);

        return "{$matches[1]}{$matches[2]}=\"{$url}\"";
    }

    /**
     * @param array $matches
     * @return string
     * @internal
     */
    public static function urlHandler(array $matches)
    {
        list($domain, $timestamp_age) = static::$urlFilterParams;
        $url = trim($matches[2], '"\'');
        $url = static::url($url, $domain, $timestamp_age, false);

        return "{$matches[1]}url({$url})";
    }

    /**
     * Replace tokens with strings.
     *
     * @param array $tokens
     * @param $html
     * @return string|NUll
     */
    protected static function replaceTokens(array $tokens, $html)
    {
        foreach ($tokens as $token => $replacement) {
            // We need to use callbacks to turn off backreferences ($1, \\1) in the replacement string.
            $callback = function() use ($replacement) { return $replacement; };

            $html = preg_replace_callback('#' . preg_quote($token, '#') . '#u', $callback, $html);
        }

        return $html;
    }

    /**
     * Register loaded frameworks.
     */
    protected static function registerFrameworks()
    {
        foreach (static::$stack[0]->getFrameworks() as $framework) {
            if (isset(static::$availableFrameworks[$framework])) {
                call_user_func([get_called_class(), static::$availableFrameworks[$framework]]);
            }
        }
    }

    protected static function registerJquery()
    {
        static::addScript(
            [
                'src' => 'https://code.jquery.com/jquery-2.2.2.min.js',
                'integrity' => 'sha256-36cp2Co+/62rEAAYHLmRCPIych47CvdM+uTBJwSzWjI=',
                'crossorigin' => 'anonymous'
            ],
            11
        );
    }

    protected static function registerJqueryUiSortable()
    {
        static::registerJquery();

        static::addScript(
            [
                'src' => 'https://code.jquery.com/ui/1.11.4/jquery-ui.min.js',
                'integrity' => 'sha256-xNjb53/rY+WmG+4L6tTl9m6PpqknWZvRt0rO1SRnJzw=',
                'crossorigin' => 'anonymous'
            ],
            11
        );
    }

    protected static function registerBootstrap2()
    {
        static::registerJquery();

        static::addScript(['src' => 'https://maxcdn.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js'], 11);
    }

    protected static function registerBootstrap3()
    {
        static::registerJquery();

        static::addScript(['src' => 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js'], 11);
    }

    protected static function registerMootools()
    {
        static::addScript(['src' => 'https://cdnjs.cloudflare.com/ajax/libs/mootools/1.5.2/mootools-core-compat.min.js'], 11);
    }

    protected static function registerMootoolsMore()
    {
        static::registerMootools();

        static::addScript(['src' => 'https://cdnjs.cloudflare.com/ajax/libs/mootools-more/1.5.2/mootools-more-compat-compressed.js'], 11);
    }

    protected static function registerLightcase()
    {
        static::registerJquery();

        static::addScript(['src' => static::url('gantry-assets://js/lightcase.js', false, null, false)], 11, 'footer');
        static::addStyle(['href' => static::url('gantry-assets://css/lightcase.css', false, null, false)], 11);
    }

    protected static function registerLightcaseInit()
    {
        static::registerLightcase();

        static::addInlineScript(['content' => "jQuery(document).ready(function($) { jQuery('[data-rel^=lightcase]').lightcase({maxWidth: '100%', maxHeight: '100%', video: {width: '1280', height: '720'}}); });"], 0, 'footer');
    }

    protected static function getObject()
    {
        static $object;

        if (!$object) {
            // We need to initialize document for backwards compatibility (RokSprocket/RokGallery in WP).
            $object = Gantry::instance()['document'];
        }

        return $object;
    }
}
classes/Gantry/Component/Content/Block/HtmlBlock.php000060400000031255150750356240016454 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Content\Block;

use Gantry\Framework\Document;
use Gantry\Framework\Gantry;
use Gantry\Framework\Theme;

/**
 * Class HtmlBlock
 * @package Gantry\Component\Content\Block
 * @since 5.4.3
 */
class HtmlBlock extends ContentBlock implements HtmlBlockInterface
{
    protected $version = 1;
    protected $frameworks = [];
    protected $styles = [];
    protected $scripts = [];
    protected $html = [];

    /**
     * @return array
     * @since 5.4.3
     */
    public function getAssets()
    {
        $assets = $this->getAssetsFast();

        $this->sortAssets($assets['styles']);
        $this->sortAssets($assets['scripts']);
        $this->sortAssets($assets['html']);

        return $assets;
    }

    /**
     * @return array
     * @since 5.4.3
     */
    public function getFrameworks()
    {
        $assets = $this->getAssetsFast();

        return array_keys($assets['frameworks']);
    }

    /**
     * @param string $location
     * @return array
     * @since 5.4.3
     */
    public function getStyles($location = 'head')
    {
        $styles = $this->getAssetsInLocation('styles', $location);

        if (!$styles) {
            return [];
        }

        $gantry = Gantry::instance();

        /** @var Theme $theme */
        $theme = isset($gantry['theme']) ? $gantry['theme'] : null;

        /** @var Document $document */
        $document = $gantry['document'];

        foreach ($styles as $key => $style) {
            if (isset($style['href'])) {
                $url = $style['href'];
                if ($theme && preg_match('|\.scss$|', $url)) {
                    // Compile SCSS files.
                    $url = $theme->css(basename($url, '.scss'));
                }
                // Deal with streams and relative paths.
                $url = $document->url($url, false, null, false);

                $styles[$key]['href'] = $url;
            }
        }

        return $styles;
    }

    /**
     * @param string $location
     * @return array
     * @since 5.4.3
     */
    public function getScripts($location = 'head')
    {
        $scripts = $this->getAssetsInLocation('scripts', $location);

        if (!$scripts) {
            return [];
        }

        $gantry = Gantry::instance();

        /** @var Document $document */
        $document = $gantry['document'];

        foreach ($scripts as $key => $script) {
            if (isset($script['src'])) {
                // Deal with streams and relative paths.
                $scripts[$key]['src'] = $document->url($script['src'], false, null, false);
            }
        }

        return $scripts;
    }

    /**
     * @param string $location
     * @return array
     * @since 5.4.3
     */
    public function getHtml($location = 'bottom')
    {
        return $this->getAssetsInLocation('html', $location);
    }

    /**
     * @return array
     * @since 5.4.3
     */
    public function toArray()
    {
        $array = parent::toArray();

        if ($this->frameworks) {
            $array['frameworks'] = $this->frameworks;
        }
        if ($this->styles) {
            $array['styles'] = $this->styles;
        }
        if ($this->scripts) {
            $array['scripts'] = $this->scripts;
        }
        if ($this->html) {
            $array['html'] = $this->html;
        }

        return $array;
    }

    /**
     * @param array $serialized
     * @since 5.4.3
     */
    public function build(array $serialized)
    {
        parent::build($serialized);

        $this->frameworks = isset($serialized['frameworks']) ? (array) $serialized['frameworks'] : [];
        $this->styles = isset($serialized['styles']) ? (array) $serialized['styles'] : [];
        $this->scripts = isset($serialized['scripts']) ? (array) $serialized['scripts'] : [];
        $this->html = isset($serialized['html']) ? (array) $serialized['html'] : [];
    }

    /**
     * @param string $framework
     * @return $this
     * @since 5.4.3
     */
    public function addFramework($framework)
    {
        $this->frameworks[$framework] = 1;

        return $this;
    }

    /**
     * @param string|array $element
     * @param int $priority
     * @param string $location
     * @return bool
     *
     * @example $block->addStyle('assets/js/my.js');
     * @example $block->addStyle(['href' => 'assets/js/my.js', 'media' => 'screen']);
     * @since 5.4.3
     */
    public function addStyle($element, $priority = 0, $location = 'head')
    {
        if (!is_array($element)) {
            $element = ['href' => (string) $element];
        }
        if (empty($element['href'])) {
            return false;
        }
        if (!isset($this->styles[$location])) {
            $this->styles[$location] = [];
        }

        $id = !empty($element['id']) ? ['id' => (string) $element['id']] : [];
        $href = $element['href'];
        $type = !empty($element['type']) ? (string) $element['type'] : 'text/css';
        $media = !empty($element['media']) ? (string) $element['media'] : null;
        unset($element['tag'], $element['id'], $element['rel'], $element['content'], $element['href'], $element['type'], $element['media']);

        $this->styles[$location][md5($href) . sha1($href)] = [
                ':type' => 'file',
                ':priority' => (int) $priority,
                'href' => $href,
                'type' => $type,
                'media' => $media,
                'element' => $element
            ] + $id;

        return true;
    }

    /**
     * @param string|array $element
     * @param int $priority
     * @param string $location
     * @return bool
     * @since 5.4.3
     */
    public function addInlineStyle($element, $priority = 0, $location = 'head')
    {
        if (!is_array($element)) {
            $element = ['content' => (string) $element];
        }
        if (empty($element['content'])) {
            return false;
        }
        if (!isset($this->styles[$location])) {
            $this->styles[$location] = [];
        }

        $content = (string) $element['content'];
        $type = !empty($element['type']) ? (string) $element['type'] : 'text/css';

        $this->styles[$location][md5($content) . sha1($content)] = [
            ':type' => 'inline',
            ':priority' => (int) $priority,
            'content' => $content,
            'type' => $type
        ];

        return true;
    }

    /**
     * @param string|array $element
     * @param int $priority
     * @param string $location
     * @return bool
     * @since 5.4.3
     */
    public function addScript($element, $priority = 0, $location = 'head')
    {
        if (!is_array($element)) {
            $element = ['src' => (string) $element];
        }
        if (empty($element['src'])) {
            return false;
        }
        if (!isset($this->scripts[$location])) {
            $this->scripts[$location] = [];
        }

        $src = $element['src'];
        $type = !empty($element['type']) ? (string) $element['type'] : 'text/javascript';
        $defer = isset($element['defer']) ? true : false;
        $async = isset($element['async']) ? true : false;
        $handle = !empty($element['handle']) ? (string) $element['handle'] : '';

        $this->scripts[$location][md5($src) . sha1($src)] = [
            ':type' => 'file',
            ':priority' => (int) $priority,
            'src' => $src,
            'type' => $type,
            'defer' => $defer,
            'async' => $async,
            'handle' => $handle
        ];

        return true;
    }

    /**
     * @param string|array $element
     * @param int $priority
     * @param string $location
     * @return bool
     * @since 5.4.3
     */
    public function addInlineScript($element, $priority = 0, $location = 'head')
    {
        if (!is_array($element)) {
            $element = ['content' => (string) $element];
        }
        if (empty($element['content'])) {
            return false;
        }
        if (!isset($this->scripts[$location])) {
            $this->scripts[$location] = [];
        }

        $content = (string) $element['content'];
        $type = !empty($element['type']) ? (string) $element['type'] : 'text/javascript';

        $this->scripts[$location][md5($content) . sha1($content)] = [
            ':type' => 'inline',
            ':priority' => (int) $priority,
            'content' => $content,
            'type' => $type
        ];

        return true;
    }

    /**
     * @param string $html
     * @param int $priority
     * @param string $location
     * @return bool
     * @since 5.4.3
     */
    public function addHtml($html, $priority = 0, $location = 'bottom')
    {
        if (empty($html) || !is_string($html)) {
            return false;
        }
        if (!isset($this->html[$location])) {
            $this->html[$location] = [];
        }

        $this->html[$location][md5($html) . sha1($html)] = [
            ':priority' => (int) $priority,
            'html' => $html
        ];

        return true;
    }

    /**
     * @param string $location
     * @deprecated Temporarily needed in WP
     * @since 5.4.3
     */
    public function clearStyles($location = 'head')
    {
        foreach ($this->blocks as $block) {
            if (method_exists($block, 'clearStyles')) {
                $block->clearStyles($location);
            }
        }
        unset($this->styles[$location]);
    }

    /**
     * @param string $location
     * @deprecated Temporarily needed in WP
     * @since 5.4.3
     */
    public function clearScripts($location = 'head')
    {
        foreach ($this->blocks as $block) {
            if (method_exists($block, 'clearScripts')) {
                $block->clearScripts($location);
            }
        }
        unset($this->scripts[$location]);
    }

    /**
     * @return array
     * @since 5.4.3
     */
    protected function getAssetsFast()
    {
        $assets = [
            'frameworks' => $this->frameworks,
            'styles' => $this->styles,
            'scripts' => $this->scripts,
            'html' => $this->html
        ];

        foreach ($this->blocks as $block) {
            if ($block instanceof HtmlBlock) {
                $blockAssets = $block->getAssetsFast();
                $assets['frameworks'] += $blockAssets['frameworks'];

                foreach ($blockAssets['styles'] as $location => $styles) {
                    if (!isset($assets['styles'][$location])) {
                        $assets['styles'][$location] = $styles;
                    } elseif ($styles) {
                        $assets['styles'][$location] += $styles;
                    }
                }

                foreach ($blockAssets['scripts'] as $location => $scripts) {
                    if (!isset($assets['scripts'][$location])) {
                        $assets['scripts'][$location] = $scripts;
                    } elseif ($scripts) {
                        $assets['scripts'][$location] += $scripts;
                    }
                }

                foreach ($blockAssets['html'] as $location => $htmls) {
                    if (!isset($assets['html'][$location])) {
                        $assets['html'][$location] = $htmls;
                    } elseif ($htmls) {
                        $assets['html'][$location] += $htmls;
                    }
                }
            }
        }

        return $assets;
    }

    /**
     * @param string $type
     * @param string $location
     * @return array
     * @since 5.4.3
     */
    protected function getAssetsInLocation($type, $location)
    {
        $assets = $this->getAssetsFast();

        if (empty($assets[$type][$location])) {
            return [];
        }

        $styles = $assets[$type][$location];
        $this->sortAssetsInLocation($styles);

        return $styles;
    }

    /**
     * @param array $items
     * @since 5.4.3
     */
    protected function sortAssetsInLocation(array &$items)
    {
        $count = 0;
        foreach ($items as &$item) {
            $item[':order'] = ++$count;
        }
        uasort(
            $items,
            function ($a, $b) {
                return ($a[':priority'] == $b[':priority']) ? $a[':order'] - $b[':order'] : $b[':priority'] - $a[':priority'];
            }
        );
    }

    /**
     * @param array $array
     * @since 5.4.3
     */
    protected function sortAssets(array &$array)
    {
        foreach ($array as $location => &$items) {
            $this->sortAssetsInLocation($items);
        }
    }
}classes/Gantry/Component/Content/Block/ContentBlockInterface.php000060400000001570150750356240021000 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Content\Block;

/**
 * @since 5.4.3
 */
interface ContentBlockInterface extends \Serializable
{
    public static function create($id = null);
    public static function fromArray(array $serialized);

    public function __construct($id = null);

    public function getId();
    public function getToken();

    public function toArray();
    public function build(array $serialized);

    public function setContent($content);
    public function addBlock(ContentBlockInterface $block);
}classes/Gantry/Component/Content/Block/ContentBlock.php000060400000013323150750356240017156 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Content\Block;

/**
 * Class to create nested blocks of content.
 *
 * $innerBlock = ContentBlock::create();
 * $innerBlock->setContent('my inner content');
 * $outerBlock = ContentBlock::create();
 * $outerBlock->setContent(sprintf('Inside my outer block I have %s.', $innerBlock->getToken()));
 * $outerBlock->addBlock($innerBlock);
 * echo $outerBlock;
 *
 * @package Gantry\Component\Content\Block
 * @since 5.4.3
 */
class ContentBlock implements ContentBlockInterface
{
    protected $version = 1;
    protected $id;
    protected $tokenTemplate = '@@BLOCK-%s@@';
    protected $content = '';
    protected $blocks = [];

    /**
     * @param string $id
     * @return static
     * @since 5.4.3
     */
    public static function create($id = null)
    {
        return new static($id);
    }

    /**
     * @param array $serialized
     * @return ContentBlockInterface
     * @since 5.4.3
     */
    public static function fromArray(array $serialized)
    {
        try {
            $type = isset($serialized['_type']) ? $serialized['_type'] : null;
            $id = isset($serialized['id']) ? $serialized['id'] : null;

            if (!$type || !$id || !is_a($type, 'Gantry\Component\Content\Block\ContentBlockInterface', true)) {
                throw new \RuntimeException('Bad data');
            }

            /** @var ContentBlockInterface $instance */
            $instance = new $type($id);
            $instance->build($serialized);
        } catch (\Exception $e) {
            throw new \RuntimeException(sprintf('Cannot unserialize Block: %s', $e->getMessage()), $e->getCode(), $e);
        }

        return $instance;
    }

    /**
     * Block constructor.
     *
     * @param string $id
     * @since 5.4.3
     */
    public function __construct($id = null)
    {
        $this->id = $id ? (string) $id : $this->generateId();
    }

    /**
     * @return string
     * @since 5.4.3
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * @return string
     * @since 5.4.3
     */
    public function getToken()
    {
        return sprintf($this->tokenTemplate, $this->getId());
    }

    /**
     * @return array
     * @since 5.4.3
     */
    public function toArray()
    {
        $blocks = [];
        /**
         * @var string $id
         * @var ContentBlockInterface $block
         */
        foreach ($this->blocks as $block) {
            $blocks[$block->getId()] = $block->toArray();
        }

        $array = [
            '_type' => get_class($this),
            '_version' => $this->version,
            'id' => $this->id,
        ];

        if ($this->content) {
            $array['content'] = $this->content;
        }

        if ($blocks) {
            $array['blocks'] = $blocks;
        }

        return $array;
    }

    /**
     * @return string
     * @since 5.4.3
     */
    public function toString()
    {
        if (!$this->blocks) {
            return (string) $this->content;
        }

        $tokens = [];
        $replacements = [];
        foreach ($this->blocks as $block) {
            $tokens[] = $block->getToken();
            $replacements[] = $block->toString();
        }

        return str_replace($tokens, $replacements, (string) $this->content);
    }

    /**
     * @return string
     * @since 5.4.3
     */
    public function __toString()
    {
        try {
            return $this->toString();
        } catch (\Exception $e) {
            return sprintf('Error while rendering block: %s', $e->getMessage());
        }
    }

    /**
     * @param array $serialized
     * @since 5.4.3
     */
    public function build(array $serialized)
    {
        $this->checkVersion($serialized);

        $this->id = isset($serialized['id']) ? $serialized['id'] : $this->generateId();

        if (isset($serialized['content'])) {
            $this->setContent($serialized['content']);
        }

        $blocks = isset($serialized['blocks']) ? (array) $serialized['blocks'] : [];
        foreach ($blocks as $block) {
            $this->addBlock(self::fromArray($block));
        }
    }

    /**
     * @param string $content
     * @return $this
     * @since 5.4.3
     */
    public function setContent($content)
    {
        $this->content = $content;

        return $this;
    }

    /**
     * @param ContentBlockInterface $block
     * @return $this
     * @since 5.4.3
     */
    public function addBlock(ContentBlockInterface $block)
    {
        $this->blocks[$block->getId()] = $block;

        return $this;
    }

    /**
     * @return string
     * @since 5.4.3
     */
    public function serialize()
    {
        return serialize($this->toArray());
    }

    /**
     * @param string $serialized
     * @since 5.4.3
     */
    public function unserialize($serialized)
    {
        $array = unserialize($serialized);
        $this->build($array);
    }

    /**
     * @return string
     * @since 5.4.3
     */
    protected function generateId()
    {
        return uniqid('', true);
    }

    /**
     * @param array $serialized
     * @throws \RuntimeException
     * @since 5.4.3
     */
    protected function checkVersion(array $serialized)
    {
        $version = isset($serialized['_version']) ? (string) $serialized['_version'] : 1;
        if ($version != $this->version) {
            throw new \RuntimeException(sprintf('Unsupported version %s', $version));
        }
    }
}classes/Gantry/Component/Content/Block/HtmlBlockInterface.php000060400000001710150750356240020266 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Content\Block;

/**
 * @since 5.4.3
 */
interface HtmlBlockInterface extends ContentBlockInterface
{
    public function getAssets();

    public function addFramework($framework);
    public function addStyle($element, $priority = 0, $location = 'head');
    public function addInlineStyle($element, $priority = 0, $location = 'head');
    public function addScript($element, $priority = 0, $location = 'head');
    public function addInlineScript($element, $priority = 0, $location = 'head');
    public function addHtml($html, $priority = 0, $location = 'bottom');
}
classes/Gantry/Component/Translator/TranslatorInterface.php000060400000001507150750356240020231 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Translator;

interface TranslatorInterface
{
    /**
     * @param string $string
     * @return string
     */
    public function translate($string);

    /**
     * Set new active language if given and return previous active language.
     *
     * @param  string  $language  Language code. If not given, current language is kept.
     * @return string  Previously active language.
     */
    public function active($language = null);
}
classes/Gantry/Component/Translator/Translator.php000060400000006704150750356240016414 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Translator;

use Gantry\Component\File\CompiledYamlFile;
use Gantry\Framework\Gantry;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class Translator implements TranslatorInterface
{
    protected $default = 'en';
    protected $active = 'en';
    protected $sections = [];
    protected $translations = [];
    protected $untranslated = [];

    public function translate($string)
    {
        if (preg_match('|^GANTRY5(_[A-Z0-9]+){2,}$|', $string)) {
            list(, $section, $code) = explode('_', $string, 3);

            $string = ($this->find($this->active, $section, $string) ?: $this->find($this->default, $section, $string)) ?: $string;
        }

        if (func_num_args() === 1) {
            return $string;
        }

        $args = func_get_args();
        $args[0] = $string;

        return call_user_func_array('sprintf', $args);
    }

    /**
     * Set new active language if given and return previous active language.
     *
     * @param  string  $language  Language code. If not given, current language is kept.
     * @return string  Previously active language.
     */
    public function active($language = null)
    {
        $previous = $this->active;

        if ($language) {
            $this->active = $language;
        }

        return $previous;
    }

    public function untranslated()
    {
        return $this->untranslated;
    }

    protected function find($language, $section, $string)
    {
        if (!isset($this->sections[$language][$section])) {
            $translations = $this->load($language, $section);

            if (isset($this->translations[$language])) {
                $this->translations[$language] += $translations;
            } else {
                $this->translations[$language] = $translations;
            }

            $this->sections[$language][$section] = !empty($translations);
        }

        if (!isset($this->translations[$language][$string])) {
            $this->untranslated[$language][$section][$string] = null;

            return null;
        }

        return $this->translations[$language][$string];
    }

    protected function load($language, $section)
    {
        $gantry = Gantry::instance();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        $section = strtolower($section);
        if ($section === 'engine') {
            // TODO: add support for other engines than nucleus.
            $section = 'nucleus';
        }

        $filename = 'gantry-admin://translations/' . $language . '/' . $section . '.yaml';
        $file = CompiledYamlFile::instance($filename);

        if (!$file->exists() && ($pos = strpos($language, '-')) > 0) {
            $filename = 'gantry-admin://translations/' . substr($language, 0, $pos) . '/' . $section . '.yaml';
            $file = CompiledYamlFile::instance($filename);
        }

        $cachePath = $locator->findResource('gantry-cache://translations', true, true);
        $translations = (array) $file->setCachePath($cachePath)->content();
        $file->free();

        return $translations;
    }
}
classes/Gantry/Component/Outline/OutlineCollection.php000060400000046107150750356240017205 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Outline;

use FilesystemIterator;
use Gantry\Component\Collection\Collection;
use Gantry\Component\File\CompiledYamlFile;
use Gantry\Component\Filesystem\Folder;
use Gantry\Component\Layout\Layout;
use Gantry\Framework\Atoms;
use RocketTheme\Toolbox\DI\Container;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceIterator;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class OutlineCollection extends Collection
{
    /**
     * @var Container
     */
    protected $container;

    /**
     * @var string
     */
    protected $path;

    /**
     * @param Container $container
     * @param array $items
     */
    public function __construct(Container $container, $items = [])
    {
        $this->container = $container;
        $this->items = $items;
    }

    /**
     * @param string $id
     * @return string|null
     */
    public function name($id)
    {
        return isset($this->items[$id]) ? $this->items[$id] : null;
    }

    /**
     * @param string $id
     * @return string
     */
    public function title($id)
    {
        return isset($this->items[$id]) ? $this->items[$id] : $id;
    }


    public function all()
    {
        return $this;
    }

    public function system()
    {
        foreach ($this->items as $key => $item) {
            if (substr($key, 0, 1) !== '_') {
                unset($this->items[$key]);
            }
        }

        return $this;
    }

    public function user()
    {
        foreach ($this->items as $key => $item) {
            if (substr($key, 0, 1) === '_' || $key == 'default') {
                unset($this->items[$key]);
            }
        }

        return $this;
    }

    public function filter(array $include = null)
    {
        if ($include !== null) {
            foreach ($this->items as $key => $item) {
                if (!in_array($key, $include)) {
                    unset($this->items[$key]);
                }
            }
        }

        return $this;
    }

    /**
     * Returns list of all positions defined in all outlines.
     *
     * @return array
     */
    public function positions()
    {
        $list = [];
        foreach ($this->items as $name => $title) {
            try {
                $index = Layout::index($name);

                $list += $index['positions'];
            } catch (\Exception $e) {
                // Layout cannot be read. We will just skip it instead of throwing an exception.
            }
        }

        return $list;
    }

    /**
     * @param string $section
     * @param bool $includeInherited
     * @return array
     */
    public function getOutlinesWithSection($section, $includeInherited = true)
    {
        $list = [];
        foreach ($this->items as $name => $title) {
            try {
                $index = Layout::index($name);
            } catch (\Exception $e) {
                // Layout cannot be read. We will just skip it instead of throwing an exception.
                continue;
            }

            if (isset($index['sections'][$section])) {
                if (!$includeInherited) {
                    foreach ($index['inherit'] as $outline => $items) {
                        if (is_array($items) && in_array($section, $items)) {
                            continue 2;
                        }
                    }
                }
                $list[$name] = $title;
            }
        }

        return $list;
    }

    /**
     * @param string $particle
     * @param bool $includeInherited
     * @return array
     */
    public function getOutlinesWithParticle($particle, $includeInherited = true)
    {
        $list = [];
        foreach ($this->items as $name => $title) {
            try {
                $index = Layout::index($name);
            } catch (\Exception $e) {
                // Layout cannot be read. We will just skip it instead of throwing an exception.
                continue;
            }

            if (isset($index['particles'][$particle])) {
                $ids = $index['particles'][$particle];
                if (!$includeInherited && !empty($index['inherit'])) {
                    foreach ($index['inherit'] as $items) {
                        foreach ((array) $items as $id => $inheritId) {
                            unset($ids[$id]);
                        }
                    }
                }
                if ($ids) {
                    $list[$name] = $title;
                }
            }
        }

        return $list;
    }

    /**
     * @param string $type
     * @param bool $includeInherited
     * @return array
     */
    public function getOutlinesWithAtom($type, $includeInherited = true)
    {
        $list = [];

        foreach ($this->items as $name => $title) {
            $file = CompiledYamlFile::instance("gantry-theme://config/{$name}/page/head.yaml");
            $index = $file->content();
            $file->free();
            if (isset($index['atoms'])) {
                foreach ($index['atoms'] as $atom) {
                    if (!empty($atom['id']) && $atom['type'] === $type && ($includeInherited || empty($atom['inherit']))) {
                        $list[$name] = $title;
                    }
                }
            }
        }

        return $list;
    }

    /**
     * @param string $particle
     * @param bool $includeInherited
     * @return array
     */
    public function getAllParticleInstances($particle, $includeInherited = true)
    {
        $list = [];
        foreach ($this->items as $name => $title) {
            $list += $this->getParticleInstances($name, $particle, $includeInherited);
        }

        return $list;
    }

    /**
     * @param string $outline
     * @param string $particle
     * @param bool $includeInherited
     * @return array
     */
    public function getParticleInstances($outline, $particle, $includeInherited = true)
    {
        $list = [];
        $index = Layout::index($outline);
        if (isset($index['particles'][$particle])) {
            $list = $index['particles'][$particle];
            if (!$includeInherited && !empty($index['inherit'])) {
                foreach ($index['inherit'] as $items) {
                    foreach ((array) $items as $id => $inheritId) {
                        unset($list[$id]);
                    }
                }
            }
        }

        $layout = Layout::instance($outline);

        foreach ($list as $id => $title) {
            $item = clone $layout->find($id);
            $block = $layout->block($id);
            $item->block = isset($block->attributes) ? $block->attributes : new \stdClass();
            $list[$id] = $item;
        }

        return $list;
    }


    /**
     * @param string $outline
     * @param string $type
     * @param bool $includeInherited
     * @return array
     */
    public function getAtomInstances($outline, $type, $includeInherited = true)
    {
        $list = [];

        $file = CompiledYamlFile::instance("gantry-theme://config/{$outline}/page/head.yaml");
        $head = $file->content();
        $file->free();
        if (isset($head['atoms'])) {
            foreach ($head['atoms'] as $atom) {
                if (!empty($atom['id']) && $atom['type'] === $type && ($includeInherited || empty($atom['inherit']['outline']))) {
                    $list[$atom['id']] = (object) $atom;
                }
            }
        }

        return $list;
    }

    /**
     * Return list of outlines which are inheriting the specified atom.
     *
     * @param string $outline
     * @param string $id
     * @return array
     */
    public function getInheritingOutlinesWithAtom($outline, $id = null)
    {
        $list = [];
        foreach ($this->items as $name => $title) {
            $file = CompiledYamlFile::instance("gantry-theme://config/{$name}/page/head.yaml");
            $head = $file->content();
            $file->free();

            if (isset($head['atoms'])) {
                foreach ($head['atoms'] as $atom) {
                    if (!empty($atom['inherit']['outline']) && $atom['inherit']['outline'] == $outline && (!$id || $atom['inherit']['atom'] == $id)) {
                        $list[$name] = $title;
                    }
                }
            }
        }

        return $list;
    }

    /**
     * Return list of outlines which are inheriting the specified outline.
     *
     * You can additionally pass section or particle id to filter the results for only that type.
     *
     * @param string $outline
     * @param string|array $id
     * @return array
     */
    public function getInheritingOutlines($outline, $id = null)
    {
        $list = [];
        foreach ($this->items as $name => $title) {
            try {
                $index = Layout::index($name);
            } catch (\Exception $e) {
                // Layout cannot be read. We will just skip it instead of throwing an exception.
                continue;
            }

            if (!empty($index['inherit'][$outline]) && (!$id || array_intersect((array) $id, $index['inherit'][$outline]))) {
                $list[$name] = $title;
            }
        }

        return $list;
    }

    /**
     * Return list of outlines inherited by the specified outline.
     *
     * You can additionally pass section or particle id to filter the results for only that type.
     *
     * @param string $outline
     * @param string $id
     * @return array
     */
    public function getInheritedOutlines($outline, $id = null)
    {
        try {
            $index = Layout::index($outline);
        } catch (\Exception $e) {
            // Layout cannot be read. We will just return nothing instead of throwing an exception.
            return [];
        }

        $list = [];
        foreach ($index['inherit'] as $name => $inherited) {
            if (!$id || array_intersect_key((array) $id, $inherited[$id])) {
                $list[$name] = isset($this->items[$name]) ? $this->items[$name] : $name;
            }
        }

        return $list;
    }

    /**
     * @param int|string $id
     * @return int|string
     */
    public function preset($id)
    {
        return $id;
    }

    /**
     * @param int|string $id
     * @return Layout
     */
    public function layout($id)
    {
        return Layout::load($id);
    }

    /**
     * @param int|string $id
     * @return array
     */
    public function layoutPreset($id)
    {
        $layout = Layout::load($id);
        $preset = $layout->preset;

        unset($layout);

        return $preset;
    }

    /**
     * @param string $path
     * @return $this
     * @throws \RuntimeException
     */
    public function load($path = 'gantry-config://')
    {
        $this->path = $path;

        $iterator = $this->getFilesystemIterator($path);

        $files = [];
        /** @var FilesystemIterator $info */
        foreach ($iterator as $name => $info) {
            if (!$info->isDir() || $name[0] == '.' || !is_file($info->getPathname() . '/index.yaml')) {
                continue;
            }
            $files[$name] = ucwords(trim(preg_replace(['|_|', '|/|'], [' ', ' / '], $name)));
        }

        unset($files['default']);
        unset($files['menu']);

        asort($files);

        $this->items = $this->addDefaults($files);

        return $this;
    }

    /**
     * @param string|null $id
     * @param string $title
     * @param string|array $preset
     * @return string
     * @throws \RuntimeException
     */
    public function create($id, $title = null, $preset = null)
    {
        $title = $title ?: 'Untitled';
        $name = ltrim(strtolower(preg_replace('|[^a-z\d_-]|ui', '_', $id ?: $title)), '_');

        if (!$name) {
            throw new \RuntimeException("Outline needs a name", 400);
        }

        if ($name === 'default') {
            throw new \RuntimeException("Outline cannot use reserved name '{$name}'", 400);
        }

        $name = $this->findFreeName($name);
        if (!$id) {
            $title = ucwords(trim(preg_replace(['|_|', '|/|'], [' ', ' / '], $name)));
        }

        if (!is_array($preset)) {
            // Load preset.
            $preset = Layout::preset($preset ?: 'default');
        }

        // Create layout and index for the new layout.
        $layout = new Layout($name, $preset);
        $layout->save()->saveIndex();

        $this->items[$name] = $title;

        return $name;
    }

    /**
     * @param string $id
     * @param string $title
     * @param bool $inherit
     * @return string
     * @throws \RuntimeException
     */
    public function duplicate($id, $title = null, $inherit = false)
    {
        if (!$this->canDuplicate($id)) {
            throw new \RuntimeException("Outline '$id' cannot be duplicated", 400);
        }

        $layout = Layout::load($id);
        if ($inherit) {
            $layout->inheritAll()->clean();
        }

        $new = $this->create(null, $title, $layout->toArray() + ['preset' => $layout->preset]);

        if ($id === 'default') {
            // For Base Outline we're done.
            return $new;
        }

        /** @var UniformResourceLocator $locator */
        $locator = $this->container['locator'];

        $path = $locator->findResource("{$this->path}/{$id}");
        if (!$path) {
            // Nothing to copy.
            return $new;
        }

        $newPath = $locator->findResource("{$this->path}/{$new}", true, true);

        try {
            // Copy everything over except index, layout and assignments.
            Folder::copy($path, $newPath, '/^(index|layout|assignments)\..*$/');
        } catch (\Exception $e) {
            throw new \RuntimeException(sprintf('Duplicating Outline failed: ', $e->getMessage()), 500, $e);
        }

        return $new;
    }

    /**
     * @param string $id
     * @param string $title
     * @return string
     * @throws \RuntimeException
     */
    public function rename($id, $title)
    {
        if (!$this->canDelete($id)) {
            throw new \RuntimeException("Outline '$id' cannot be renamed", 400);
        }

        $gantry = $this->container;

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        $path = $locator->findResource("{$this->path}/{$id}", true, true);
        if (!$path || !is_dir($path)) {
            throw new \RuntimeException('Outline not found', 404);
        }

        $folder = strtolower(preg_replace('|[^a-z\d_-]|ui', '_', $title));

        if ($folder === 'default' || $folder[0] === '_') {
            throw new \RuntimeException("Outline cannot use reserved name '{$folder}'", 400);
        }

        $newPath = $locator->findResource("{$this->path}/{$folder}", true, true);
        if (is_dir($newPath)) {
            throw new \RuntimeException("Outline '$id' already exists.", 400);
        }

        try {
            foreach ($this->getInheritingOutlines($id) as $outline => $title) {
                $this->layout($outline)->updateInheritance($id, $folder)->save()->saveIndex();
            }
            foreach ($this->getInheritingOutlinesWithAtom($id) as $outline => $title) {
                Atoms::instance($outline)->updateInheritance($id, $folder)->save();
            }

            Folder::move($path, $newPath);

        } catch (\Exception $e) {
            throw new \RuntimeException(sprintf('Renaming Outline failed: %s', $e->getMessage()), 500, $e);
        }

        $this->items[$id] = $title;

        return $folder;
    }

    /**
     * @param string $id
     * @throws \RuntimeException
     */
    public function delete($id)
    {
        if (!$this->canDelete($id)) {
            throw new \RuntimeException("Outline '$id' cannot be deleted", 400);
        }

        $gantry = $this->container;

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];
        $path = $locator->findResource("{$this->path}/{$id}", true, true);
        if (!is_dir($path)) {
            throw new \RuntimeException('Outline not found', 404);
        }

        foreach ($this->getInheritingOutlines($id) as $outline => $title) {
            $this->layout($outline)->updateInheritance($id)->save()->saveIndex();
        }
        foreach ($this->getInheritingOutlinesWithAtom($id) as $outline => $title) {
            Atoms::instance($outline)->updateInheritance($id)->save();
        }

        if (file_exists($path)) {
            Folder::delete($path);
        }

        unset($this->items[$id]);
    }

    /**
     * @param string $id
     * @return boolean
     */
    public function canDuplicate($id)
    {
        if (!isset($this->items[$id])) {
            return false;
        }

        return true;
    }

    /**
     * @param string $id
     * @return boolean
     */
    public function canDelete($id)
    {
        if (!$id || $id[0] === '_' || $id === 'default') {
            return false;
        }

        return true;
    }

    /**
     * @param string $id
     * @return boolean
     */
    public function isDefault($id)
    {
        return $id === 'default';
    }

    /**
     * @param array $outlines
     * @return array
     */
    protected function addDefaults(array $outlines)
    {
        return [
            'default' => 'Base Outline',
            '_body_only' => 'Body Only',
            '_error' => 'Error',
            '_offline' => 'Offline'
        ] + $outlines;
    }

    /**
     * Find unused name with number appended to it when duplicating an outline.
     *
     * @param string $id
     * @return string
     */
    protected function findFreeName($id)
    {
        if (!isset($this->items[$id])) {
            return $id;
        }

        $name = $id;
        $count = 0;
        if (preg_match('|^(?:_)?(.*?)(?:_(\d+))?$|ui', $id, $matches)) {
            $matches += ['', '', ''];
            list (, $name, $count) = $matches;
        }

        $count = max(1, $count);

        do {
            $count++;
        } while (isset($this->items["{$name}_{$count}"]));

        return "{$name}_{$count}";
    }

    protected function getFilesystemIterator($path)
    {
        /** @var UniformResourceLocator $locator */
        $locator = $this->container['locator'];

        $custom = $locator->findResource($path, true, true);
        if (is_dir($custom)) {
            /** @var FilesystemIterator $iterator */
            $iterator = new FilesystemIterator(
                $custom,
                FilesystemIterator::CURRENT_AS_SELF | FilesystemIterator::KEY_AS_FILENAME |
                FilesystemIterator::UNIX_PATHS | FilesystemIterator::SKIP_DOTS
            );
        } else {
            /** @var UniformResourceIterator $iterator */
            $iterator = $locator->getIterator(
                $path,
                UniformResourceIterator::CURRENT_AS_SELF | UniformResourceIterator::KEY_AS_FILENAME |
                UniformResourceIterator::UNIX_PATHS | UniformResourceIterator::SKIP_DOTS
            );
        }

        return $iterator;
    }
}
classes/Gantry/Component/Gantry/GantryTrait.php000060400000001527150750356240015644 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Gantry;

use Gantry\Framework\Gantry;

trait GantryTrait
{
    /**
     * @var Gantry
     */
    private static $gantry;

    /**
     * Get global Gantry instance.
     *
     * @return Gantry
     */
    public static function gantry()
    {
        // We cannot set variable directly for the trait as it doesn't work in HHVM.
        if (!self::$gantry) {
            self::$gantry = Gantry::instance();
        }

        return self::$gantry;
    }
}
classes/Gantry/Component/Router/RouterInterface.php000060400000000725150750356240016510 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Router;

interface RouterInterface
{
    public function dispatch();
}
classes/Gantry/Component/Router/Router.php000060400000012471150750356240014670 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Router;

use Gantry\Admin\EventListener;
use Gantry\Admin\Theme;
use Gantry\Component\Controller\BaseController;
use Gantry\Component\Response\HtmlResponse;
use Gantry\Component\Response\Response;
use Gantry\Component\Response\JsonResponse;
use Gantry\Framework\Services\ErrorServiceProvider;
use RocketTheme\Toolbox\DI\Container;
use RocketTheme\Toolbox\Event\EventDispatcher;
use Whoops\Exception\ErrorException;

abstract class Router implements RouterInterface
{
    /**
     * @var Container
     */
    protected $container;

    protected $format;
    protected $resource;
    protected $method;
    protected $path;
    protected $params;

    public function __construct(Container $container)
    {
        $this->container = $container;
    }

    public function dispatch()
    {
        $this->boot();

        $this->load();

        // Render the page or execute the task.
        try {
            $response = static::execute($this->resource, $this->method, $this->path, $this->params, $this->format);

        } catch (ErrorException $e) {
            throw $e;

        } catch (\Exception $e) {
            // Handle errors.
            if ($this->container->debug()) {
                throw $e;
            }
            $response = $this->getErrorResponse($e, $this->format == 'json');
        }

        return $this->send($response);
    }

    public function execute($resource, $method = 'GET', $path, $params = [], $format = 'html')
    {
        $class = '\\Gantry\\Admin\\Controller\\' . ucfirst($format) . '\\' . strtr(ucwords(strtr($resource, '/', ' ')), ' ', '\\');

        // Protect against CSRF Attacks.
        if (!in_array($method, ['GET', 'HEAD'], true) && !$this->checkSecurityToken()) {
            throw new \RuntimeException('Invalid security token; please reload the page and try again.', 403);
        }

        if (!class_exists($class)) {
            if ($format === 'json') {
                // Special case: All HTML requests can be returned also as JSON.
                $response = $this->execute($resource, $method, $path, $params, 'html');
                return $response instanceof JsonResponse ? $response : new JsonResponse($response);
            }

            throw new \RuntimeException('Page Not Found', 404);
        }

        /** @var BaseController $controller */
        $controller = new $class($this->container);

        // Execute action.
        $response = $controller->execute($method, $path, $params);

        if (!$response instanceof Response) {
            $response = new HtmlResponse($response);
        }

        return $response;
    }

    /**
     * @return $this
     */
    abstract protected function boot();

    abstract protected function checkSecurityToken();

    /**
     * @return $this
     */
    public function load()
    {
        static $loaded = false;

        if ($loaded) {
            return $this;
        }

        $loaded = true;

        if (isset($this->container['theme.path']) && file_exists($this->container['theme.path'] . '/includes/gantry.php')) {
            include $this->container['theme.path'] . '/includes/gantry.php';
        }

        if (isset($this->container['theme'])) {
            // Initialize current theme if it is set.
            $this->container['theme'];
        } else {
            // Otherwise initialize streams and error handler manually.
            $this->container['streams']->register();
            $this->container->register(new ErrorServiceProvider);
        }

        $this->container['admin.theme'] = function () {
            return new Theme(GANTRYADMIN_PATH);
        };

        // Add event listener.
        if (class_exists('Gantry\\Admin\\EventListener')) {
            $listener = new EventListener;

            /** @var EventDispatcher $events */
            $events = $this->container['events'];
            $events->addSubscriber($listener);
        }

        // Boot the service.
        $this->container['admin.theme'];

        return $this;
    }

    protected function getErrorResponse(\Exception $e, $json = false)
    {
        $response = new HtmlResponse;
        $response->setStatusCode($e->getCode());

        $params = [
            'ajax' => $json,
            'title' => $response->getStatus(),
            'error' => $e,
        ];
        $response->setContent($this->container['admin.theme']->render('@gantry-admin/error.html.twig', $params));

        if ($json) {
            return new JsonResponse([$e, $response]);
        }

        return $response;
    }

    protected function send(Response $response) {
        // Output HTTP header.
        header("HTTP/1.1 {$response->getStatus()}", true, $response->getStatusCode());
        header("Content-Type: {$response->mimeType}; charset={$response->charset}");
        foreach ($response->getHeaders() as $key => $values) {
            foreach ($values as $value) {
                header("{$key}: {$value}");
            }
        }

        echo $response;

        return true;
    }
}
classes/Gantry/Component/Whoops/SystemFacade.php000060400000011101150750356240015744 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Whoops;

class SystemFacade extends \Whoops\Util\SystemFacade
{
    protected $registeredPatterns;
    protected $whoopsErrorHandler;
    protected $whoopsExceptionHandler;
    protected $whoopsShutdownHandler;
    protected $platformExceptionHandler;

    /**
     * @param  array|string $patterns List or a single regex pattern to match for silencing errors in particular files.
     */
    public function __construct($patterns = [])
    {
        $this->registeredPatterns = array_map(
            function ($pattern) {
                return["pattern" => $pattern];
            },
            (array) $patterns
        );
    }

    /**
     * @param callable $handler
     * @param int|string $types
     *
     * @return callable|null
     */
    public function setErrorHandler(callable $handler, $types = 'use-php-defaults')
    {
        // Workaround for PHP 5.5
        if ($types === 'use-php-defaults') {
            $types = E_ALL | E_STRICT;
        }

        $this->whoopsErrorHandler = $handler;

        return parent::setErrorHandler([$this, 'handleError'], $types);
    }

    /**
     * @param callable $function
     *
     * @return void
     */
    public function registerShutdownFunction(callable $function)
    {
        $this->whoopsShutdownHandler = $function;
        register_shutdown_function([$this, 'handleShutdown']);
    }

    /**
     * @param callable $handler
     *
     * @return callable|null
     */
    public function setExceptionHandler(callable $handler)
    {
        $this->whoopsExceptionHandler = $handler;
        $this->platformExceptionHandler = parent::setExceptionHandler([$this, 'handleException']);

        return $this->platformExceptionHandler;
    }

    /**
     * Converts generic PHP errors to \ErrorException instances, before passing them off to be handled.
     *
     * This method MUST be compatible with set_error_handler.
     *
     * @param int    $level
     * @param string $message
     * @param string $file
     * @param int    $line
     *
     * @return bool
     * @throws \ErrorException
     */
    public function handleError($level, $message, $file = null, $line = null)
    {
        $handler = $this->whoopsErrorHandler;

        if (!$this->registeredPatterns) {
            // Just forward to parent function is there aren't no registered patterns.
            return $handler($level, $message, $file, $line);

        }

        // If there are registered patterns, only handle errors if error matches one of the patterns.
        if ($level & error_reporting()) {
            foreach ($this->registeredPatterns as $entry) {
                $pathMatches = $file && preg_match($entry["pattern"], $file);
                if ($pathMatches) {
                    return $handler($level, $message, $file, $line);
                }
            }
        }

        // Propagate error to the next handler, allows error_get_last() to work on silenced errors.
        return false;
    }

    /**
     * Handles an exception, ultimately generating a Whoops error page.
     *
     * @param  \Throwable $exception
     * @return void
     */
    public function handleException($exception)
    {
        $handler = $this->whoopsExceptionHandler;

        // If there are registered patterns, only handle errors if error matches one of the patterns.
        if ($this->registeredPatterns) {
            foreach ($this->registeredPatterns as $entry) {
                $file = $exception->getFile();
                $pathMatches = $file && preg_match($entry["pattern"], $file);
                if ($pathMatches) {
                    $handler($exception);
                    return;
                }
            }
        }

        // Propagate error to the next handler.
        if ($this->platformExceptionHandler) {
            call_user_func_array($this->platformExceptionHandler, [&$exception]);
        }
    }

    /**
     * Special case to deal with Fatal errors and the like.
     */
    public function handleShutdown()
    {
        $handler = $this->whoopsShutdownHandler;

        $error = $this->getLastError();

        // Ignore core warnings and errors.
        if ($error && !($error['type'] & (E_CORE_WARNING | E_CORE_ERROR))) {
            $handler();
        }
    }
}
classes/Gantry/Component/Collection/Collection.php000060400000002471150750356240016315 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Collection;

use RocketTheme\Toolbox\ArrayTraits\ArrayAccess;
use RocketTheme\Toolbox\ArrayTraits\Countable;
use RocketTheme\Toolbox\ArrayTraits\Export;

class Collection implements CollectionInterface
{
    use ArrayAccess, Countable, Export;

    /**
     * @var array
     */
    protected $items = [];

    public static function __set_state($variables)
    {
        $instance = new static();
        $instance->items = $variables['items'];
        return $instance;
    }

    /**
     *
     * Create a copy of this collection.
     *
     * @return static
     */
    public function copy()
    {
        return clone $this;
    }

    /**
     * @param $item
     * @return $this
     */
    public function add($item)
    {
        $this->items[] = $item;

        return $this;
    }

    /**
     * @return \ArrayIterator
     */
    public function getIterator()
    {
        return new \ArrayIterator($this->items);
    }
}
classes/Gantry/Component/Collection/CollectionInterface.php000060400000002176150750356240020140 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Collection;

interface CollectionInterface extends \IteratorAggregate, \ArrayAccess, \Countable
{
    public function toArray();

    /**
     * @param $item
     */
    public function add($item);

    /**
     * @return \ArrayIterator
     */
    public function getIterator();

    /**
     * @param $offset
     *
     * @return bool
     */
    public function offsetExists($offset);

    /**
     * @param $offset
     * @param $value
     */
    public function offsetSet($offset, $value);

    /**
     * @param $offset
     *
     * @return mixed
     */
    public function offsetGet($offset);

    /**
     * @param $offset
     */
    public function offsetUnset($offset);

    /**
     * @return int
     */
    public function count();
}
classes/Gantry/Component/Filesystem/Folder.php000060400000025621150750356240015470 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Filesystem;

/**
 * Folder helper class.
 *
 * @author RocketTheme
 * @license MIT
 */
abstract class Folder
{
    /**
     * Recursively find the last modified time under given path.
     *
     * @param  string $path
     * @return int
     */
    public static function lastModifiedFolder($path)
    {
        $last_modified = 0;

        $directory = new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS);
        $iterator = new \RecursiveIteratorIterator($directory, \RecursiveIteratorIterator::SELF_FIRST);

        /** @var \RecursiveDirectoryIterator $file */
        foreach ($iterator as $file) {
            $dir_modified = $file->getMTime();
            if ($dir_modified > $last_modified) {
                $last_modified = $dir_modified;
            }
        }

        return $last_modified;
    }

    /**
     * Get relative path between target and base path. If path isn't relative, return full path.
     *
     * @param  string  $path
     * @param  string  $base
     * @return string
     */
    public static function getRelativePath($path, $base = GANTRY5_ROOT)
    {
        $base = preg_replace('![\\\/]+!', '/', $base);
        $path = preg_replace('![\\\/]+!', '/', $path);
        if (strpos($path, $base) === 0) {
            $path = ltrim(substr($path, strlen($base)), '/');
        }

        return $path;
    }

    /**
     * Get relative path between target and base path. If path isn't relative, return full path.
     *
     * @param  string  $path
     * @param  string  $base
     * @return string
     */
    public static function getRelativePathDotDot($path, $base)
    {
        $base = preg_replace('![\\\/]+!', '/', $base);
        $path = preg_replace('![\\\/]+!', '/', $path);

        if ($path === $base) {
            return '';
        }

        $baseParts = explode('/', isset($base[0]) && '/' === $base[0] ? substr($base, 1) : $base);
        $pathParts = explode('/', isset($path[0]) && '/' === $path[0] ? substr($path, 1) : $path);

        array_pop($baseParts);
        $lastPart = array_pop($pathParts);
        foreach ($baseParts as $i => $directory) {
            if (isset($pathParts[$i]) && $pathParts[$i] === $directory) {
                unset($baseParts[$i], $pathParts[$i]);
            } else {
                break;
            }
        }
        $pathParts[] = $lastPart;
        $path = str_repeat('../', count($baseParts)) . implode('/', $pathParts);

        return '' === $path
            || '/' === $path[0]
            || false !== ($colonPos = strpos($path, ':')) && ($colonPos < ($slashPos = strpos($path, '/')) || false === $slashPos)
            ? "./$path" : $path;
    }

    /**
     * Shift first directory out of the path.
     *
     * @param string $path
     * @return string
     */
    public static function shift(&$path)
    {
        $parts = explode('/', trim($path, '/'), 2);
        $result = array_shift($parts);
        $path = array_shift($parts);

        return $result ?: null;
    }

    /**
     * Return recursive list of all files and directories under given path.
     *
     * @param  string            $path
     * @param  array             $params
     * @return array
     * @throws \RuntimeException
     */
    public static function all($path, array $params = array())
    {
        if ($path === false) {
            throw new \RuntimeException("Path to {$path} doesn't exist.");
        }

        $compare = isset($params['compare']) ? 'get' . $params['compare'] : null;
        $pattern = isset($params['pattern']) ? $params['pattern'] : null;
        $filters = isset($params['filters']) ? $params['filters'] : null;
        $recursive = isset($params['recursive']) ? $params['recursive'] : true;
        $levels = isset($params['levels']) ? $params['levels'] : -1;
        $key = isset($params['key']) ? 'get' . $params['key'] : null;
        $value = isset($params['value']) ? 'get' . $params['value'] : ($recursive ? 'getSubPathname' : 'getFilename');
        $folders = isset($params['folders']) ? $params['folders'] : true;
        $files = isset($params['files']) ? $params['files'] : true;

        if ($recursive) {
            $directory = new \RecursiveDirectoryIterator($path,
                \RecursiveDirectoryIterator::SKIP_DOTS + \FilesystemIterator::UNIX_PATHS + \FilesystemIterator::CURRENT_AS_SELF);
            $iterator = new \RecursiveIteratorIterator($directory, \RecursiveIteratorIterator::SELF_FIRST);
            $iterator->setMaxDepth(max($levels, -1));
        } else {
            $iterator = new \FilesystemIterator($path);
        }

        $results = array();

        /** @var \RecursiveDirectoryIterator $file */
        foreach ($iterator as $file) {
            // Ignore hidden files.
            if ($file->getFilename()[0] == '.') {
                continue;
            }
            if (!$folders && $file->isDir()) {
                continue;
            }
            if (!$files && $file->isFile()) {
                continue;
            }
            if ($compare && $pattern && !preg_match($pattern, $file->{$compare}())) {
                continue;
            }
            $fileKey = $key ? $file->{$key}() : null;
            $filePath = $file->{$value}();
            if ($filters) {
                if (isset($filters['key'])) {
                    $filter = $filters['key'];
                    $pre = !empty($filters['pre-key']) ? $filters['pre-key'] : '';
                    if (is_callable($filter)) {
                        $fileKey = $pre . call_user_func($filter, $fileKey);
                    } else {
                        $fileKey = $pre . preg_replace($filter, '', $fileKey);
                    }
                }
                if (isset($filters['value'])) {
                    $filter = $filters['value'];
                    if (is_callable($filter)) {
                        $filePath = call_user_func($filter, $file);
                    } else {
                        $filePath = preg_replace($filter, '', $filePath);
                    }
                }
            }

            if ($fileKey !== null) {
                $results[$fileKey] = $filePath;
            } else {
                $results[] = $filePath;
            }
        }

        return $results;
    }

    /**
     * Recursively copy directory in filesystem.
     *
     * @param  string $source
     * @param  string $target
     * @param  string $ignore  Ignore files matching pattern (regular expression).
     * @throws \RuntimeException
     */
    public static function copy($source, $target, $ignore = null)
    {
        $source = rtrim($source, '\\/');
        $target = rtrim($target, '\\/');

        if (!is_dir($source)) {
            throw new \RuntimeException('Cannot copy non-existing folder.');
        }

        // Make sure that path to the target exists before copying.
        self::create($target);

        $success = true;

        // Go through all sub-directories and copy everything.
        $files = self::all($source);
        foreach ($files as $file) {
            if ($ignore && preg_match($ignore, $file)) {
                continue;
            }
            $src = $source .'/'. $file;
            $dst = $target .'/'. $file;

            if (is_dir($src)) {
                // Create current directory (if it doesn't exist).
                if (!is_dir($dst)) {
                    $success &= @mkdir($dst, 0777, true);
                }
            } else {
                // Or copy current file.
                $success &= @copy($src, $dst);
            }
        }

        if (!$success) {
            $error = error_get_last();
            throw new \RuntimeException($error['message']);
        }

        // Make sure that the change will be detected when caching.
        @touch(dirname($target));
    }

    /**
     * Move directory in filesystem.
     *
     * @param  string $source
     * @param  string $target
     * @throws \RuntimeException
     */
    public static function move($source, $target)
    {
        if (!is_dir($source)) {
            throw new \RuntimeException('Cannot move non-existing folder.');
        }

        // Make sure that path to the target exists before moving.
        self::create(dirname($target));

        // Just rename the directory.
        $success = @rename($source, $target);

        if (!$success) {
            $error = error_get_last();
            throw new \RuntimeException($error['message']);
        }

        // Make sure that the change will be detected when caching.
        @touch(dirname($source));
        @touch(dirname($target));
    }

    /**
     * Recursively delete directory from filesystem.
     *
     * @param  string $target
     * @param  bool   $include_target
     * @throws \RuntimeException
     */
    public static function delete($target, $include_target = true)
    {
        if (!$target) { return; }

        if (!is_dir($target)) {
            throw new \RuntimeException('Cannot delete non-existing folder.');
        }

        $success = self::doDelete($target, $include_target);

        if (!$success) {
            $error = error_get_last();
            throw new \RuntimeException($error['message']);
        }

        // Make sure that the change will be detected when caching.
        if ($include_target) {
            @touch(dirname($target));
        } else {
            @touch($target);
        }
    }

    /**
     * @param  string  $folder
     * @throws \RuntimeException
     */
    public static function create($folder)
    {
        if (is_dir($folder)) {
            return;
        }

        $success = @mkdir($folder, 0777, true);

        if (!$success) {
            // Take yet another look, make sure that the folder doesn't exist.
            clearstatcache(true, $folder);
            if (is_dir($folder)) {
                return;
            }

            $error = error_get_last();
            throw new \RuntimeException($error['message']);
        }
    }

    /**
     * @param  string $folder
     * @param  bool   $include_target
     * @return bool
     * @internal
     */
    protected static function doDelete($folder, $include_target = true)
    {
        // Special case for symbolic links.
        if ($include_target && is_link($folder)) {
            return @unlink($folder);
        }

        // Go through all items in filesystem and recursively remove everything.
        $files = array_diff(scandir($folder), array('.', '..'));
        foreach ($files as $file) {
            $path = "{$folder}/{$file}";
            (is_dir($path)) ? self::doDelete($path) : @unlink($path);
        }

        return $include_target ? @rmdir($folder) : true;
    }
}
classes/Gantry/Component/Filesystem/Streams.php000060400000005415150750356240015672 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Filesystem;

use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;
use RocketTheme\Toolbox\StreamWrapper\ReadOnlyStream;
use RocketTheme\Toolbox\StreamWrapper\Stream;

class Streams
{
    /**
     * @var array
     */
    protected $schemes = [];

    /**
     * @var array
     */
    protected $registered;

    /**
     * @var UniformResourceLocator
     */
    protected $locator;

    public function __construct(UniformResourceLocator $locator = null)
    {
        if ($locator) {
            $this->setLocator($locator);
        }
    }

    /**
     * @param UniformResourceLocator $locator
     */
    public function setLocator(UniformResourceLocator $locator)
    {
        $this->locator = $locator;

        // Set locator to both streams.
        Stream::setLocator($locator);
        ReadOnlyStream::setLocator($locator);
    }

    /**
     * @return UniformResourceLocator
     */
    public function getLocator()
    {
        return $this->locator;
    }

    public function add(array $schemes)
    {
        foreach ($schemes as $scheme => $config) {
            $force = !empty($config['force']);

            if (isset($config['paths'])) {
                $this->locator->addPath($scheme, '', $config['paths'], false, $force);
            }
            if (isset($config['prefixes'])) {
                foreach ($config['prefixes'] as $prefix => $paths) {
                    $this->locator->addPath($scheme, $prefix, $paths, false, $force);
                }
            }
            $type = !empty($config['type']) ? $config['type'] : 'ReadOnlyStream';
            if ($type[0] != '\\') {
                $type = '\\Rockettheme\\Toolbox\\StreamWrapper\\' . $type;
            }
            $this->schemes[$scheme] = $type;

            if (isset($this->registered)) {
                $this->doRegister($scheme, $type);
            }
        }
    }

    public function register()
    {
        $this->registered = stream_get_wrappers();

        foreach ($this->schemes as $scheme => $type) {
            $this->doRegister($scheme, $type);
        }
    }

    protected function doRegister($scheme, $type)
    {
        if (in_array($scheme, $this->registered)) {
            stream_wrapper_unregister($scheme);
        }

        if (!stream_wrapper_register($scheme, $type)) {
            throw new \InvalidArgumentException("Stream '{$type}' could not be initialized.");
        }
    }
}
classes/Gantry/Component/Stylesheet/ScssCompiler.php000060400000014766150750356240016700 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Stylesheet;

use Gantry\Component\Stylesheet\Scss\Compiler;
use Gantry\Framework\Document;
use Gantry\Framework\Gantry;
use Leafo\ScssPhp\Exception\CompilerException;
use RocketTheme\Toolbox\File\File;
use RocketTheme\Toolbox\File\JsonFile;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class ScssCompiler extends CssCompiler
{
    /**
     * @var string
     */
    public $type = 'scss';

    /**
     * @var string
     */
    public $name = 'SCSS';

    /**
     * @var Compiler
     */
    protected $compiler;

    /**
     * Constructor.
     */
    public function __construct()
    {
        parent::__construct();

        $this->compiler = new Compiler();

        if ($this->production) {
            $this->compiler->setFormatter('Leafo\ScssPhp\Formatter\Crunched');
        } else {
            $this->compiler->setFormatter('Leafo\ScssPhp\Formatter\Expanded');
            // Work around bugs in SCSS compiler.
            // TODO: Pass our own SourceMapGenerator instance instead.
            $this->compiler->setSourceMap(Compiler::SOURCE_MAP_INLINE);
            $this->compiler->setSourceMapOptions([
                'sourceMapBasepath' => '/',
                'sourceRoot'        => '/',
            ]);
            $this->compiler->setLineNumberStyle(Compiler::LINE_COMMENTS);
        }
    }

    public function compile($in)
    {
        return $this->compiler->compile($in);
    }

    public function resetCache()
    {
    }

    /**
     * @param string $in    Filename without path or extension.
     * @return bool         True if the output file was saved.
     * @throws \RuntimeException
     */
    public function compileFile($in)
    {
        // Buy some extra time as compilation may take a lot of time in shared environments.
        @set_time_limit(30);
        @set_time_limit(60);
        @set_time_limit(90);
        @set_time_limit(120);
        ob_start();

        $gantry = Gantry::instance();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        $out = $this->getCssUrl($in);
        $path = $locator->findResource($out, true, true);
        $file = File::instance($path);

        // Attempt to lock the file for writing.
        try {
            $file->lock(false);
        } catch (\Exception $e) {
            // Another process has locked the file; we will check this in a bit.
        }

        if ($file->locked() === false) {
            // File was already locked by another process, lets avoid compiling the same file twice.
            return false;
        }

        // Set the lookup paths.
        $this->compiler->setBasePath($path);
        $this->compiler->setImportPaths([[$this, 'findImport']]);

        // Run the compiler.
        $this->compiler->setVariables($this->getVariables());
        $scss = '@import "' . $in . '.scss"';
        try {
            $css = $this->compiler->compile($scss);
        } catch (CompilerException $e) {
            throw new \RuntimeException("CSS Compilation on file '{$in}.scss' failed on error: {$e->getMessage()}", 500, $e);
        }
        if (strpos($css, $scss) === 0) {
            $css = '/* ' . $scss . ' */';
        }

        // Extract map from css and save it as separate file.
        if ($pos = strrpos($css, '/*# sourceMappingURL=')) {
            $map = json_decode(urldecode(substr($css, $pos + 43, -3)), true);

            /** @var Document $document */
            $document = $gantry['document'];

            foreach ($map['sources'] as &$source) {
                $source = $document->url($source, null, -1);
            }
            unset($source);

            $mapFile = JsonFile::instance($path . '.map');
            $mapFile->save($map);
            $mapFile->free();

            $css = substr($css, 0, $pos) . '/*# sourceMappingURL=' . basename($out) . '.map */';
        }

        $warnings = trim(ob_get_clean());
        if ($warnings) {
            $this->warnings[$in] = explode("\n", $warnings);
        }

        if (!$this->production) {
            $warning = <<<WARN
/* GANTRY5 DEVELOPMENT MODE ENABLED.

   WARNING: This file is automatically generated by Gantry5. Any modifications to this file will be lost!

   For more information on modifying CSS, please read:

   http://docs.gantry.org/gantry5/configure/styles
   http://docs.gantry.org/gantry5/tutorials/adding-a-custom-style-sheet
 */
WARN;
            $css = $warning . "\n\n" . $css;
        } else {
            $css = "{$this->checksum()}\n{$css}";
        }

        $file->save($css);
        $file->unlock();
        $file->free();

        $this->createMeta($out, md5($css));
        $this->compiler->cleanParsedFiles();

        return true;
    }

    /**
     * @param string   $name       Name of function to register to the compiler.
     * @param callable $callback   Function to run when called by the compiler.
     * @return $this
     */
    public function registerFunction($name, callable $callback)
    {
        $this->compiler->registerFunction($name, $callback);

        return $this;
    }

    /**
     * @param string $name       Name of function to unregister.
     * @return $this
     */
    public function unregisterFunction($name)
    {
        $this->compiler->unregisterFunction($name);

        return $this;
    }

    /**
     * @param string $url
     * @return null|string
     * @internal
     */
    public function findImport($url)
    {
        $gantry = Gantry::instance();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        // Ignore vanilla css and external requests.
        if (preg_match('/\.css$|^https?:\/\//', $url)) {
            return null;
        }

        // Try both normal and the _partial filename.
        $files = array($url, preg_replace('/[^\/]+$/', '_\0', $url));

        foreach ($this->paths as $base) {
            foreach ($files as $file) {
                if (!preg_match('|\.scss$|', $file)) {
                    $file .= '.scss';
                }
                if ($locator->findResource($base . '/' . $file)) {
                    return $base . '/' . $file;
                }
            }
        }

        return null;
    }
}
classes/Gantry/Component/Stylesheet/Scss/Compiler.php000060400000026204150750356240016745 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Stylesheet\Scss;

use Gantry\Component\Filesystem\Folder;
use Gantry\Framework\Document;
use Gantry\Framework\Gantry;
use Leafo\ScssPhp\Compiler as BaseCompiler;
use Leafo\ScssPhp\Formatter\OutputBlock;
use Leafo\ScssPhp\Parser;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class Compiler extends BaseCompiler
{
    protected $basePath;
    protected $fonts;
    protected $usedFonts;
    protected $streamNames;
    protected $parsedFiles = [];

    public function __construct()
    {
        parent::__construct();

        $this->registerFunction('get-font-url', [$this, 'userGetFontUrl']);
        $this->registerFunction('get-font-family', [$this, 'userGetFontFamily']);
        $this->registerFunction('get-local-fonts', [$this, 'userGetLocalFonts']);
        $this->registerFunction('get-local-font-weights', [$this, 'userGetLocalFontWeights']);
        $this->registerFunction('get-local-font-url', [$this, 'userGetLocalFontUrl']);
    }

    /**
     * @param $basePath
     */
    public function setBasePath($basePath)
    {
        /** @var Document $document */
        $document = Gantry::instance()['document'];
        $this->basePath = rtrim($document->rootUri(), '/') . '/' . Folder::getRelativePath($basePath);
    }

    /**
     * @param array $fonts
     */
    public function setFonts(array $fonts)
    {
        $this->fonts = $fonts;
    }

    /**
     * @param $args
     * @return mixed
     */
    public function compileArgs($args)
    {
        foreach ($args as &$arg) {
            $arg = $this->compileValue($arg);
        }

        return $args;
    }

    /**
     * Get variable
     *
     * @api
     *
     * @param string    $name
     * @param boolean   $shouldThrow
     * @param BaseCompiler\Environment $env
     * @param bool $unreduced
     *
     * @return mixed
     */
    public function get($name, $shouldThrow = true, BaseCompiler\Environment $env = null, $unreduced = false)
    {
        try {
            return parent::get($name, $shouldThrow, $env, $unreduced);
        } catch (\Exception $e) {
            echo $e->getMessage() . "\n";
            return ['string', '', ['']];
        }
    }

    /**
     * @param array $args
     * @return string
     * @throws \Leafo\ScssPhp\Exception\CompilerException
     */
    public function libUrl(array $args)
    {
        // Function has a single parameter.
        $parsed = reset($args);
        if (!$parsed) {
            $this->throwError('url() is missing parameter');
        }

        // Compile parsed value to string.
        $url = trim($this->compileValue($parsed), '\'"');

        // Handle ../ inside CSS files (points to current theme).
        if (strpos($url, '../') === 0 && strpos($url, '../', 3) === false) {
            $url = 'gantry-theme://' . substr($url, 3);
        }

        // Generate URL, failed streams will be transformed to 404 URLs.
        $url = Gantry::instance()['document']->url($url, null, null, false);

        // Changes absolute URIs to relative to make the path to work even if the site gets moved.
        if ($url && $url[0] === '/' && $this->basePath) {
            $url = Folder::getRelativePathDotDot($url, $this->basePath);
        }

        // Make sure that all the URLs inside CSS are https compatible by replacing http:// protocol with //.
        if (strpos($url, 'http://') === 0) {
            $url = str_replace('http://', '//', $url);
        }

        // Return valid CSS.
        return "url('{$url}')";
    }

    /**
     * get-font-url($my-font-variable);
     *
     * @param array $args
     * @return string
     */
    public function userGetFontUrl($args)
    {
        $value = trim($this->compileValue(reset($args)), '\'"');

        // It's a google font
        if (0 === strpos($value, 'family=')) {
            $fonts = $this->decodeFonts($value);
            $font = reset($fonts);

            // Only return url once per font.
            if ($font && !isset($this->usedFonts[$font])) {
                $this->usedFonts[$font] = true;
                return "url('//fonts.googleapis.com/css?{$value}')";
            }
        }

        return false;
    }

    /**
     * font-family: get-font-family($my-font-variable);
     *
     * @param array $args
     * @return string
     */
    public function userGetFontFamily($args)
    {
        $value = trim($this->compileValue(reset($args)), '\'"');

        return $this->encodeFonts($this->decodeFonts($value));
    }

    /**
     * get-local-fonts($my-font-variable, $my-font-variable2, ...);
     *
     * @param array $args
     * @return array
     */
    public function userGetLocalFonts($args)
    {
        $args = $this->compileArgs($args);

        $fonts = [];
        foreach ($args as $value) {
            // It's a local font, we need to load any of the mapped fonts from the theme
            $fonts = array_merge($fonts, $this->decodeFonts($value, true));
        }

        $fonts = $this->getLocalFonts($fonts);

        // Create a basic list of strings so that SCSS parser can parse the list.
        $list = [];
        foreach ($fonts as $font => $data) {
            $list[] = ['string', '"', [$font]];
        }

        return ['list', ',', $list];
    }

    /**
     * get-local-font-weights(roboto);
     *
     * @param array $args
     * @return array
     */
    public function userGetLocalFontWeights($args)
    {
        $name = trim($this->compileValue(reset($args)), '\'"');

        $weights = isset($this->fonts[$name]) ? array_keys($this->fonts[$name]) : [];

        // Create a list of numbers so that SCSS parser can parse the list.
        $list = [];
        foreach ($weights as $weight) {
            $list[] = ['string', '', [(int) $weight]];
        }

        return ['list', ',', $list];
    }

    /**
     * get-local-font-url(roboto, 400);
     *
     * @param array $args
     * @return string
     */
    public function userGetLocalFontUrl($args)
    {
        $args = $this->compileArgs($args);

        $name = isset($args[0]) ? trim($args[0], '\'"') : '';
        $weight = isset($args[1]) ? $args[1] : 400;

        // Only return url once per font.
        $weightName = $name . '-' . $weight;
        if (isset($this->fonts[$name][$weight]) && !isset($this->usedFonts[$weightName])) {
            $this->usedFonts[$weightName] = true;

            return $this->fonts[$name][$weight];
        }

        return false;
    }

    /**
     * Get local font data.
     *
     * @param array $fonts
     * @return array
     */
    protected function getLocalFonts(array $fonts)
    {
        $list = [];
        foreach ($fonts as $family) {
            $family = strtolower($family);

            if (isset($this->fonts[$family])) {
                $list[$family] = $this->fonts[$family];
            }
        }

        return $list;
    }

    /**
     * Convert array of fonts into a CSS parameter string.
     *
     * @param array $fonts
     * @return string
     */
    protected function encodeFonts(array $fonts)
    {
        array_walk($fonts, function(&$val) {
            // Check if font family is one of the 4 default ones, otherwise add quotes.
            if (!\in_array($val, ['cursive', 'serif', 'sans-serif', 'monospace'], true)) {
                $val = '"' . $val . '"';
            }
        });

        return implode(', ', $fonts);
    }

    /**
     * Convert string into array of fonts.
     *
     * @param  string $string
     * @param  bool   $localOnly
     * @return array
     */
    protected function decodeFonts($string, $localOnly = false)
    {
        if (0 === strpos($string, 'family=')) {
            if ($localOnly) {
                // Do not return external fonts.
                return [];
            }

            // Matches google font family name
            preg_match('/^family=([^&:]+).*$/ui', $string, $matches);
            return [urldecode($matches[1])];
        }

        // Filter list of fonts and quote them.
        $list = (array) explode(',', $string);
        array_walk($list, function(&$val) {
            $val = trim($val, "'\" \t\n\r\0\x0B");
        });
        array_filter($list);

        return $list;
    }

    public function reset()
    {
        $this->usedFonts = [];

        return $this;
    }

    /**
     * Instantiate parser
     *
     * @param string $path
     *
     * @return \Leafo\ScssPhp\Parser
     */
    protected function parserFactory($path)
    {
        $parser = new Parser($path, count($this->sourceNames), $this->encoding);

        /** @var UniformResourceLocator $locator */
        $locator = Gantry::instance()['locator'];

        $this->sourceNames[] = $locator->isStream($path) ? $locator->findResource($path, false) : $path;
        $this->streamNames[] = $path;
        $this->addParsedFile($path);
        return $parser;
    }

    /**
     * Adds to list of parsed files
     *
     * @api
     *
     * @param string $path
     */
    public function addParsedFile($path)
    {
        if ($path && file_exists($path)) {
            $this->parsedFiles[$path] = filemtime($path);
        }
    }

    /**
     * Returns list of parsed files
     *
     * @api
     *
     * @return array
     */
    public function getParsedFiles()
    {
        return $this->parsedFiles;
    }

    /**
     * Clean parset files.
     *
     * @api
     */
    public function cleanParsedFiles()
    {
        $this->parsedFiles = [];
    }

    /**
     * Handle import loop
     *
     * @param string $name
     *
     * @throws \Exception
     */
    protected function handleImportLoop($name)
    {
        for ($env = $this->env; $env; $env = $env->parent) {
            $file = $this->streamNames[$env->block->sourceIndex];

            if (realpath($file) === $name) {
                $this->throwError('An @import loop has been found: %s imports %s', $file, basename($file));
                break;
            }
        }
    }

    /**
     * Override function to improve the logic.
     *
     * @param string $path
     * @param OutputBlock  $out
     *
     * @throws \Exception
     */
    protected function importFile($path, OutputBlock $out)
    {
        $this->addParsedFile($path);

        /** @var UniformResourceLocator $locator */
        $locator = Gantry::instance()['locator'];

        // see if tree is cached
        $realPath = $locator($path);

        if (isset($this->importCache[$realPath])) {
            $this->handleImportLoop($realPath);

            $tree = $this->importCache[$realPath];
        } else {
            $code   = file_get_contents($realPath);
            $parser = $this->parserFactory($path);
            $tree   = $parser->parse($code);

            $this->importCache[$realPath] = $tree;
        }

        $dirname = dirname($path);
        array_unshift($this->importPaths, $dirname);
        $this->compileChildrenNoReturn($tree->children, $out);
        array_shift($this->importPaths);
    }
}
classes/Gantry/Component/Stylesheet/CssCompilerInterface.php000060400000003324150750356240020322 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Stylesheet;

interface CssCompilerInterface
{
    /**
     * @return array
     */
    public function getWarnings();

    /**
     * @return string
     */
    public function getTarget();

    /**
     * @param string $target
     * @return $this
     */
    public function setTarget($target = null);

    /**
     * @param string $configuration
     * @return $this
     */
    public function setConfiguration($configuration = null);

    /**
     * @param array $paths
     * @return $this
     */
    public function setPaths(array $paths = null);

    /**
     * @param array $files
     * @return $this
     */
    public function setFiles(array $files = null);

    /**
     * @param array $fonts
     * @return $this
     */
    public function setFonts(array $fonts);

    /**
     * @param string $name
     * @return string
     */
    public function getCssUrl($name);

    public function getVariables();
    public function setVariables(array $variables);
    public function registerFunction($name, callable $callback);
    public function unregisterFunction($name);
    public function needsCompile($in, $variables);
    public function compileFile($in);

    /**
     * @return $this
     */
    public function reset();

    /**
     * @return $this
     */
    public function compileAll();

    public function resetCache();
}
classes/Gantry/Component/Stylesheet/CssCompiler.php000060400000023161150750356240016502 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Stylesheet;

use Gantry\Component\Config\Config;
use Gantry\Component\Gantry\GantryTrait;
use Gantry\Framework\Gantry;
use Leafo\ScssPhp\Colors;
use RocketTheme\Toolbox\File\PhpFile;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

abstract class CssCompiler implements CssCompilerInterface
{
    use GantryTrait;

    protected $type;

    protected $name;

    protected $debug = false;

    protected $warnings = [];

    /**
     * @var array
     */
    protected $fonts;

    /**
     * @var array
     */
    protected $variables;

    /**
     * @var string
     */
    protected $target = 'gantry-theme://css-compiled';

    /**
     * @var string
     */
    protected $configuration = 'default';

    /**
     * @var array
     */
    protected $paths;

    /**
     * @var array
     */
    protected $files;

    /**
     * @var mixed
     */
    protected $compiler;

    /**
     * @var bool
     */
    protected $production;

    public function __construct()
    {
        $gantry = static::gantry();

        /** @var Config $global */
        $global = $gantry['global'];

        // In production mode we do not need to do any other checks.
        $this->production = (bool) $global->get('production');
    }

    public function getWarnings()
    {
        return $this->warnings;
    }

    /**
     * @return string
     */
    public function getTarget()
    {
        return $this->target;
    }

    /**
     * @param string $target
     * @return $this
     */
    public function setTarget($target = null)
    {
        if ($target !== null) {
            $this->target = (string) $target;
        }

        return $this;
    }

    /**
     * @param string $configuration
     * @return $this
     */
    public function setConfiguration($configuration = null)
    {
        if ($configuration !== null) {
            $this->configuration = $configuration;
        }

        return $this;
    }

    /**
     * @param array $fonts
     * @return $this
     */
    public function setFonts(array $fonts = null)
    {
        if ($fonts !== null) {
            // Normalize font data.
            $list = [];
            foreach ($fonts as $family => $data) {
                $family = strtolower($family);

                if (is_array($data)) {
                    // font: [400: url1, 500: url2, 700: url3]
                    $list[$family] = $data;
                } else {
                    // font: url
                    $list[$family] = [400 => (string) $data];
                }
            }
            $this->compiler->setFonts($list);
        }

        return $this;
    }

    /**
     * @param array $paths
     * @return $this
     */
    public function setPaths(array $paths = null)
    {
        if ($paths !== null) {
            $this->paths = $paths;
        }

        return $this;
    }

    /**
     * @param array $files
     * @return $this
     */
    public function setFiles(array $files = null)
    {
        if ($files !== null) {
            $this->files = $files;
        }

         return $this;
    }


    /**
     * @param string $name
     * @return string
     */
    public function getCssUrl($name)
    {
        $out = $name . ($this->configuration !== 'default' ? '_'. $this->configuration : '');

        return "{$this->target}/{$out}.css";
    }

    /**
     * @return $this
     */
    public function compileAll()
    {
        foreach ($this->files as $file) {
            $this->compileFile($file);
        }

        return $this;
    }

    public function needsCompile($in, $variables)
    {
        $gantry = static::gantry();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        $out = $this->getCssUrl($in);
        $path = $locator->findResource($out);

        // Check if CSS file exists at all.
        if (!$path) {
            $this->setVariables($variables());

            return true;
        }

        if ($this->production) {
            // Open the file to see if it contains development comment in the beginning of the file.
            $handle = fopen($path, 'rb');
            $contents = fread($handle, 36);
            fclose($handle);

            if ($contents === '/* GANTRY5 DEVELOPMENT MODE ENABLED.') {
                $this->setVariables($variables());
                return true;
            }

            // Compare checksum comment in the file.
            if ($contents !== $this->checksum()) {
                $this->setVariables($variables());
                return true;
            }

            // In production mode we do not need to do any other checks.
            return false;
        }

        $uri = basename($out);
        $metaFile = PhpFile::instance($locator->findResource("gantry-cache://theme/scss/{$uri}.php", true, true));

        // Check if meta file exists.
        if (!$metaFile->exists()) {
            $this->setVariables($variables());
            return true;
        }

        $content = $metaFile->content();
        $metaFile->free();

        // Check if filename in meta file matches.
        if (empty($content['file']) || $content['file'] !== $out) {
            $this->setVariables($variables());
            return true;
        }

        // Check if meta timestamp matches to CSS file.
        if (filemtime($path) !== $content['timestamp']) {
            $this->setVariables($variables());
            return true;
        }

        $this->setVariables($variables());

        // Check if variables have been changed.
        $oldVariables = isset($content['variables']) ? $content['variables'] : [];
        if ($oldVariables != $this->getVariables()) {
            return true;
        }

        // Preload all CSS files to locator cache.
        foreach ($this->paths as $path) {
            $locator->fillCache($path);
        }

        // Check if any of the imported files have been changed.
        $imports = isset($content['imports']) ? $content['imports'] : [];

        if (!$imports) {
            return $this->findImport($in) !== null;
        }

        foreach ($imports as $resource => $timestamp) {
            $import = $locator->isStream($resource) ? $locator->findResource($resource) : realpath($resource);
            if (!$import || filemtime($import) !== $timestamp) {
                return true;
            }
        }

        return false;
    }

    public function setVariables(array $variables)
    {
        $this->variables = array_filter($variables);

        foreach($this->variables as &$value) {
            // Check variable against colors and units.
            /* Test regex against these:
             * Should only match the ones marked as +
             *      - family=Aguafina+Script
             *      - #zzzzzz
             *      - #fff
             *      + #ffaaff
             *      + 33em
             *      + 0.5px
             *      - 50 rem
             *      - rgba(323,323,2323)
             *      + rgba(125,200,100,0.3)
             *      - rgb(120,12,12)
             */
            if (preg_match('/(^(#([a-fA-F0-9]{6})|(rgba\(\s*(0|[1-9]\d?|1\d\d?|2[0-4]\d|25[0-5])\s*,\s*(0|[1-9]\d?|1\d\d?|2[0-4]\d|25[0-5])\s*,\s*(0|[1-9]\d?|1\d\d?|2[0-4]\d|25[0-5])\s*,\s*((0.[0-9]+)|[01])\s*\)))|(\d+(\.\d+){0,1}(rem|em|ex|ch|vw|vh|vmin|vmax|%|px|cm|mm|in|pt|pc))$)/i', $value)) {
                continue;
            }

            // Check variable against predefined color names (we use Leafo SCSS Color class to do that).
            if (isset(Colors::$cssColors[strtolower($value)])) {
                continue;
            }

            // All the unknown values need to be quoted.
            $value = "'{$value}'";
        }

        return $this;
    }

    public function getVariables()
    {
        return $this->variables;
    }

    public function reset()
    {
        $this->compiler->reset();

        return $this;
    }

    /**
     * @param string $url
     * @return null|string
     */
    abstract public function findImport($url);

    protected function checksum($len = 36)
    {
        static $checksum;

        if (!$checksum) {
            $checksum = md5(GANTRY5_VERSION . ' ' . Gantry::instance()['theme']->version);
        }

        return '/*' . substr($checksum, 0, $len - 4) . '*/';
    }

    protected function createMeta($out, $md5)
    {
        $gantry = Gantry::instance();

        if ($this->production) {
            return;
        }

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        $uri = basename($out);
        $metaFile = PhpFile::instance($locator->findResource("gantry-cache://theme/scss/{$uri}.php", true, true));
        $data = [
            'file' => $out,
            'timestamp' => filemtime($locator->findResource($out)),
            'md5' => $md5,
            'variables' => $this->getVariables(),
            'imports' => $this->compiler->getParsedFiles()
        ];

        // Attempt to lock the file for writing.
        try {
            $metaFile->lock(false);
        } catch (\Exception $e) {
            // Another process has locked the file; we will check this in a bit.
        }
        // If meta file wasn't already locked by another process, save it.
        if ($metaFile->locked() !== false) {
            $metaFile->save($data);
            $metaFile->unlock();
        }
        $metaFile->free();
    }
}
classes/Gantry/Component/File/CompiledYamlFile.php000060400000001502150750356240016157 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\File;

use RocketTheme\Toolbox\File\YamlFile;

class CompiledYamlFile extends YamlFile
{
    use CompiledFile;

    static public $defaultCachePath;
    static public $defaultCaching = true;

    protected function __construct()
    {
        parent::__construct();

        $this->caching(static::$defaultCaching);

        if (static::$defaultCachePath) {
            $this->setCachePath(static::$defaultCachePath);
        }
    }
}
classes/Gantry/Component/File/CompiledFile.php000060400000007774150750356240015355 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\File;

use RocketTheme\Toolbox\File\PhpFile;

/**
 * Class CompiledFile
 * @package Grav\Common\File
 *
 * @property string $filename
 * @property string $extension
 * @property string $raw
 * @property array|string $content
 */
trait CompiledFile
{
    protected $cachePath;
    protected $caching = true;

    /**
     * @param string $path
     * @return $this
     */
    public function setCachePath($path)
    {
        $this->cachePath = $path;

        return $this;
    }

    public function caching($enabled = null)
    {
        if (null !== $enabled) {
            $this->caching = (bool) $enabled;
        }

        return $this->caching;
    }

    /**
     * Get/set parsed file contents.
     *
     * @param mixed $var
     * @return string
     * @throws \BadMethodCallException
     */
    public function content($var = null)
    {
        if (!$this->cachePath) {
            throw new \BadMethodCallException("Cache path not defined for compiled file ({$this->filename})!");
        }

        try {
            // If nothing has been loaded, attempt to get pre-compiled version of the file first.
            if ($var === null && $this->raw === null && $this->content === null) {
                $modified = $this->modified();

                if (!$modified || !$this->caching) {
                    return $this->decode($this->raw());
                }

                $key = md5($this->filename);
                $file = PhpFile::instance($this->cachePath . "/{$key}{$this->extension}.php");

                $class = get_class($this);

                $cache = $file->exists() ? $file->content() : null;

                // Load real file if cache isn't up to date (or is invalid).
                if (!isset($cache['@class'])
                    || $cache['@class'] != $class
                    || $cache['modified'] != $modified
                    || $cache['filename'] != $this->filename
                ) {
                    // Attempt to lock the file for writing.
                    try {
                        $file->lock(false);
                    } catch (\Exception $e) {
                        // Another process has locked the file; we will check this in a bit.
                    }

                    // Decode RAW file into compiled array.
                    $data = $this->decode($this->raw());
                    $cache = [
                        '@class' => $class,
                        'filename' => $this->filename,
                        'modified' => $modified,
                        'data' => $data
                    ];

                    // If compiled file wasn't already locked by another process, save it.
                    if ($file->locked() !== false) {
                        $file->save($cache);
                        $file->unlock();

                        // Compile cached file into bytecode cache
                        if (function_exists('opcache_invalidate')) {
                            // Silence error in case if `opcache.restrict_api` directive is set.
                            @opcache_invalidate($file->filename(), true);
                        } elseif (function_exists('apc_compile_file')) {
                            // PHP 5.4
                            @apc_compile_file($file->filename());
                        }
                    }
                }
                $file->free();

                $this->content = $cache['data'];
            }

        } catch (\Exception $e) {
            throw new \RuntimeException(sprintf('Failed to read %s: %s', basename($this->filename), $e->getMessage()), 500, $e);
        }

        return parent::content($var);
    }
}
classes/Gantry/Component/Position/Module.php000060400000010215150750356240015153 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Position;

use Gantry\Component\File\CompiledYamlFile;
use Gantry\Framework\Gantry;
use RocketTheme\Toolbox\ArrayTraits\Export;
use RocketTheme\Toolbox\ArrayTraits\NestedArrayAccessWithGetters;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class Module implements \ArrayAccess
{
    use NestedArrayAccessWithGetters, Export;

    public $name;
    public $position;
    public $assigned;
    protected $items;

    /**
     * Module constructor.
     *
     * @param string $name
     * @param string $position
     * @param array $data
     */
    public function __construct($name, $position = null, array $data = null)
    {
        $this->name = $name;
        $this->position = $position;

        if ($data) {
            $this->init($data);
        } else {
            $this->load();
        }
    }

    public function update(array $data)
    {
        $this->init($data);

        return $this;
    }

    /**
     * Save module.
     *
     * @param string $position
     * @param string $name
     * @return $this
     */
    public function save($name = null, $position = null)
    {
        $this->name = $name ?: $this->name;
        $this->position = $position ?: $this->position;

        $items = $this->toArray();
        unset($items['position'], $items['id']);

        $file = $this->file(true);
        $file->save($items);

        return $this;
    }

    /**
     * Delete module.
     *
     * @return $this
     */
    public function delete()
    {
        $file = $this->file(true);
        if ($file->exists()) {
            $file->delete();
        }

        return $this;
    }

    /**
     * Return true if module exists.
     *
     * @return bool
     */
    public function exists()
    {
        return $this->name ? $this->file()->exists() : false;
    }

    public function toArray()
    {
        return  ['position' => $this->position, 'id' => $this->name] + $this->items;
    }

    protected function load()
    {
        $file = $this->file();
        $this->init($file->content());
        $file->free();
    }

    protected function init($data)
    {
        unset($data['id'], $data['position']);

        $this->items = $data;

        if (isset($this->items['assignments'])) {
            $assignments = $this->items['assignments'];
            if (is_array($assignments)) {
                $this->assigned = 'some';
            } elseif ($assignments !== 'all') {
                $this->assigned = 'none';
            } else {
                $this->assigned = 'all';
            }
        } else {
            $this->assigned = 'all';
        }
    }

    protected function file($save = false)
    {
        $position = $this->position ?: '_unassigned_';

        $this->name = $this->name ?: ($save ? $this->findFreeName() : null);
        $name = $this->name ?: '_untitled_';

        /** @var UniformResourceLocator $locator */
        $locator = Gantry::instance()['locator'];

        return CompiledYamlFile::instance($locator->findResource("gantry-positions://{$position}/{$name}.yaml", true, $save));
    }

    /**
     * Find unused name with number appended.
     */
    protected function findFreeName()
    {
        $position = $this->position ?: '_unassigned_';
        $name = $this->get('type');
        $name = $name == 'particle' ? $this->get('options.type') : $name;

        /** @var UniformResourceLocator $locator */
        $locator = Gantry::instance()['locator'];

        if (!file_exists($locator->findResource("gantry-positions://{$position}/{$name}.yaml", true, true))) {
            return $name;
        }

        $count = 1;

        do {
            $count++;
        } while (file_exists($locator->findResource("gantry-positions://{$position}/{$name}_{$count}.yaml", true, true)));

        return "{$name}_{$count}";
    }
}
classes/Gantry/Component/Position/Position.php000060400000021451150750356240015536 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Position;

use Gantry\Component\Collection\Collection;
use Gantry\Component\File\CompiledYamlFile;
use Gantry\Component\Filesystem\Folder;
use Gantry\Framework\Gantry;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;
use Symfony\Component\Yaml\Yaml;

class Position extends Collection
{
    public $name;
    public $title;
    protected $modules = [];

    /**
     * Position constructor.
     *
     * @param string $name
     * @param array $items
     */
    public function __construct($name, array $items = null)
    {
        $this->name = $name;

        $this->load($items);
    }

    /**
     * Save position.
     *
     * @return $this
     */
    public function save()
    {
        $file = $this->file(true);
        $file->save($this->toArray());

        return $this;
    }

    /**
     * Clone position together with its modules. Returns new position.
     *
     * @param string $name
     * @return Position
     */
    public function duplicate($name)
    {
        $new = clone $this;
        $new->name = $name;
        $new->save();

        foreach ($this as $module) {
            $clone = clone $module;
            $clone->position = $name;
            $clone->save();
        }

        return $new;
    }

    /**
     * Raname module key
     *
     * @param string $name
     * @return static
     */
    public function rename($name)
    {
        $new = $this->duplicate($name);
        $this->delete();

        return $new;
    }

    /**
     * Delete position.
     *
     * @return $this
     */
    public function delete()
    {
        $file = $this->file(true);
        if ($file->exists()) {
            $file->delete();
        }

        $folder = $this->folder(true);
        if (is_dir($folder)) {
            Folder::delete($folder);
        }

        return $this;
    }

    /**
     * Update modules in the position.
     *
     * @param array $items
     * @return $this
     */
    public function update(array $items)
    {
        $list = [];
        foreach ($items as $item) {
            $name = ($item instanceof Module) ? $item->name : $item;

            $list[] = $name;
            if (!in_array($name, $this->items)) {
                $this->add($item);
            }
        }

        $remove = array_diff($this->items, $list);
        foreach ($remove as $item) {
            $module = $this->get($item);
            if ($module->position === $this->name) {
                $module->delete();
            }
        }

        $this->items = $list;

        return $this;
    }
    
    /**
     * @param Module|string $item
     * @param string        $name  Temporary name for the module.
     * @return $this
     */
    public function add($item, $name = null)
    {
        if ($item instanceof Module) {
            $this->modules[$name ?: $item->name] = $item;
            $item = $name ?: $item->name;
        }

        $this->items[] = $item;

        return $this;
    }

    public function remove($item)
    {
        if ($item instanceof Module) {
            $item = $item->name;
        }

        unset($this->modules[$item]);

        $this->items = array_diff($this->items, $item);

        return $this;
    }

    /**
     * @param $name
     * @return Module
     */
    public function get($name)
    {
        if (!isset($this->modules[$name])) {
            $this->modules[$name] = $this->loadModule($name);
        }

        return $this->modules[$name];
    }

    /**
     * Returns the value at specified offset.
     *
     * @param string $offset  The offset to retrieve.
     * @return Module
     */
    public function offsetGet($offset)
    {
        if (!isset($this->items[$offset])) {
            return null;
        }

        $name = $this->items[$offset];

        if (!isset($this->modules[$name])) {
            $this->modules[$name] = $this->loadModule($name);
        }

        return $this->modules[$name];
    }

    /**
     * Assigns a value to the specified offset.
     *
     * @param mixed $offset  The offset to assign the value to.
     * @param mixed $value   The value to set.
     */
    public function offsetSet($offset, $value)
    {
        if (!$value instanceof Position) {
            throw new \InvalidArgumentException('Value has to be instance of Position');
        }
        if (is_null($offset)) {
            $this->items[] = $value->name;
            $this->modules[$value->name] = $value;
        } else {
            $this->items[$offset] = $value->name;
            $this->modules[$value->name] = $value;
        }
    }

    /**
     * Unsets an offset.
     *
     * @param mixed $offset  The offset to unset.
     */
    public function offsetUnset($offset)
    {
        parent::offsetUnset($offset);

        if (!isset($this->items[$offset])) {
            return;
        }

        $name = $this->items[$offset];
        if (isset($this->modules[$name])) {
            unset($this->modules[$name]);
        }
    }

    /**
     * @return \ArrayIterator
     */
    public function getIterator()
    {
        $items = [];
        foreach ($this->items as $key => $name) {
            $items[] = $this->offsetGet($key);
        }

        return new \ArrayIterator($items);
    }

    /**
     * @return array
     */
    public function toArray($includeModules = false)
    {
        $array = [
            'name' => $this->name,
            'title' => $this->title,
        ];

        if (!$includeModules) {
            $array['ordering'] = $this->items;

        } else {
            $list = [];
            foreach ($this->getIterator() as $key => $module) {
                $list[$key] = $module->toArray();
            }
            $array['modules'] = $list;
        }

        return $array;
    }

    /**
     * @param int $inline
     * @param int $indent
     * @param bool $includeModules
     * @return string
     */
    public function toYaml($inline = 3, $indent = 2, $includeModules = false)
    {
        return Yaml::dump($this->toArray($includeModules), $inline, $indent, true, false);
    }

    /**
     * @param bool $includeModules
     * @return string
     */
    public function toJson($includeModules = false)
    {
        return json_encode($this->toArray($includeModules));
    }

    /**
     * @return array
     */
    public function listModules()
    {
        $list = [];
        foreach ($this->items as $name) {
            $list[] = "{$this->name}/{$name}";
        }

        return $list;
    }

    /**
     * @param bool $save
     * @return string
     */
    public function folder($save = false)
    {
        return $this->locator()->findResource($this->path(), true, $save);
    }

    /**
     * @param $data
     */
    protected function load($data)
    {
        if ($data === null) {
            $file = $this->file();
            $data = $file->content();
            $file->free();
        }

        $this->title = isset($data['title']) ? $data['title'] : $this->name;

        if (isset($data['modules'])) {
            foreach ($data['modules'] as $array) {
                $this->add(new Module($array['id'], $this->name, $array), $array['id'] ?: rand());
            }

            return;
        }

        // Sort modules by ordering, if items are not listed in ordering, use alphabetical order.
        $ordering = isset($data['ordering']) ? array_flip($data['ordering']) : [];
        $path = $this->locator()->findResource($this->path());
        $files = $path ? Folder::all(
            $path,
            [
                'compare' => 'Filename',
                'pattern' => '|\.yaml$|',
                'folders' => false,
                'recursive' => false,
                'key' => 'Filename',
                'filters' => ['key' => '|\.yaml$|']
            ]
        ) : [];
        ksort($files);
        $this->items = array_keys($ordering + $files);
    }

    /**
     * @param  string $name
     * @return $this
     */
    protected function loadModule($name)
    {
        return new Module($name, $this->name);
    }

    /**
     * @param bool $save
     * @return CompiledYamlFile
     */
    protected function file($save = false)
    {
        return CompiledYamlFile::instance($this->locator()->findResource($this->path() . '.yaml', true, $save));
    }

    /**
     * @return UniformResourceLocator
     */
    protected function locator()
    {
        return Gantry::instance()['locator'];
    }

    /**
     * @return string
     */
    protected function path()
    {
        return "gantry-positions://{$this->name}";
    }

}
classes/Gantry/Component/Position/Positions.php000060400000014277150750356240015731 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Position;

use Gantry\Component\Collection\Collection;
use Gantry\Component\File\CompiledYamlFile;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceIterator;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;
use RocketTheme\Toolbox\DI\Container;

class Positions extends Collection
{
    /**
     * @var array|Position[]
     */
    protected $items;

    /**
     * @var string
     */
    protected $path;

    /**
     * @var Container
     */
    protected $container;

    public function __construct(Container $container)
    {
        $this->container = $container;
    }

    /**
     * @param string $path
     *
     * @return $this
     * @throws \RuntimeException
     */
    public function load($path = 'gantry-positions://')
    {
        $this->path = $path;
        $positions = [];

        /** @var UniformResourceLocator $locator */
        $locator = $this->container['locator'];

        /** @var UniformResourceIterator $iterator */
        $iterator = $locator->getIterator($path);

        /** @var UniformResourceIterator $info */
        foreach ($iterator as $info) {
            if (!$info->isFile() || $info->getExtension() != 'yaml') {
                continue;
            }

            $name = $info->getBasename('.yaml');
            $position = CompiledYamlFile::instance($info->getPathname())->content();

            // Only use filesystem position if it it is properly set up.
            if ($position) {
                $positions[$name] = new Position($name, $position);
            }
        }

        // Add empty positions from the layouts.
        foreach ($this->container['outlines']->positions() as $name => $title) {
            if (!isset($positions[$name])) {
                $positions[$name] = new Position($name, ['title' => $title]);
            }
        }

        ksort($positions);

        $this->items = $positions;

        return $this;
    }

    /**
     * Updates all positions with their modules from an array and saves them.
     *
     * @param array $data
     * @return $this
     */
    public function import(array $data)
    {
        foreach ($data as $pos) {
            $list = [];
            $position = $pos['name'];
            foreach ($pos['modules'] as $item) {
                $name = !empty($item['id']) ? $item['id'] : '';

                if ($name && !empty($item['position'])) {
                    $module = $this[$item['position']]->get($name);

                    if ($position !== $item['position']) {
                        $module->delete();
                    }
                } else {
                    $module = new Module($name, $position);
                }
                $module->update($item)->save($name, $position);

                $list[] = $module;
            }

            $this[$pos['name']]->update($list)->save();
        }

        return $this;
    }

    /**
     * @param Position $item
     * @return $this
     */
    public function add($item)
    {
        if ($item instanceof Position) {
            $this->items[$item->name] = $item;
        }

        return $this;
    }

    /**
     * @param string $title
     * @param string $id
     *
     * @return string
     * @throws \RuntimeException
     */
    public function create($title = 'Untitled', $id = null)
    {
        $name = strtolower(preg_replace('|[^a-z\d_-]|ui', '_', $id ?: $title));

        if (!$name) {
            throw new \RuntimeException("Position needs a name", 400);
        }

        $name = $this->findFreeName($name);

        $position = new Position($name, ['title' => $title]);
        $position->save();

        return $name;
    }

    /**
     * @param string $id
     * @param string $new
     *
     * @return string
     * @throws \RuntimeException
     */
    public function duplicate($id, $new = null)
    {
        if (!isset($this->items[$id])) {
            throw new \RuntimeException(sprintf("Duplicating Position failed: '%s' not found.", $id), 400);
        }

        $new = $this->findFreeName($new ? strtolower(preg_replace('|[^a-z\d_-]|ui', '_', $new)) : $id);

        $position = $this->items[$id];
        $new = $position->duplicate($new);

        return $new->name;
    }

    /**
     * @param string $id
     * @param string $new
     *
     * @return string
     * @throws \RuntimeException
     */
    public function rename($id, $new)
    {
        if (!isset($this->items[$id])) {
            throw new \RuntimeException(sprintf("Renaming Position failed: '%s' not found.", $id), 400);
        }

        $newId = strtolower(preg_replace('|[^a-z\d_-]|ui', '_', $new));

        if (isset($this->items[$newId])) {
            throw new \RuntimeException(sprintf("Renaming Position failed: '%s' already exists.", $newId), 400);
        }

        $position = $this->items[$id];
        $position->rename($new);

        return $position->name;
    }

    /**
     * @param string $id
     *
     * @throws \RuntimeException
     */
    public function delete($id)
    {
        if (!isset($this->items[$id])) {
            throw new \RuntimeException(sprintf("Deleting Position failed: '%s' not found.", $id), 400);
        }

        $position = $this->items[$id];
        $position->delete();
    }

    /**
     * Find unused name with number appended to it when duplicating an position.
     *
     * @param string $id
     *
     * @return string
     */
    protected function findFreeName($id)
    {
        if (!isset($this->items[$id])) {
            return $id;
        }

        $name  = $id;
        $count = 0;
        if (preg_match('|^(?:_)?(.*?)(?:_(\d+))?$|ui', $id, $matches)) {
            $matches += ['', '', ''];
            list (, $name, $count) = $matches;
        }

        $count = max(1, $count);

        do {
            $count++;
        } while (isset($this->items["{$name}_{$count}"]));

        return "{$name}_{$count}";
    }
}
classes/Gantry/Component/Theme/ThemeDetails.php000060400000013737150750356240015550 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Theme;

use Gantry\Component\File\CompiledYamlFile;
use Gantry\Component\Filesystem\Streams;
use Gantry\Framework\Gantry;
use RocketTheme\Toolbox\ArrayTraits\Export;
use RocketTheme\Toolbox\ArrayTraits\NestedArrayAccessWithGetters;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

/**
 * Class ThemeDetails
 * @package Gantry\Component\Theme
 */
class ThemeDetails implements \ArrayAccess
{
    use NestedArrayAccessWithGetters, Export;

    protected $items;
    protected $parent;

    /**
     * Create new theme details.
     *
     * @param string $theme
     */
    public function __construct($theme)
    {
        $gantry = Gantry::instance();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        $filename = $locator->findResource("gantry-themes://{$theme}/gantry/theme.yaml");
        if (!$filename) {
            throw new \RuntimeException(sprintf('Theme %s not found', $theme), 404);
        }

        $cache = $locator->findResource("gantry-cache://{$theme}/compiled/yaml", true, true);

        $file = CompiledYamlFile::instance($filename);
        $this->items = $file->setCachePath($cache)->content();
        $file->free();

        $this->offsetSet('name', $theme);

        $parent = (string) $this->get('configuration.theme.parent', $theme);
        $parent = $parent != $theme ? $parent : null;

        $this->offsetSet('parent', $parent);
    }

    /**
     * @return string
     */
    public function addStreams()
    {
        $gantry = Gantry::instance();

        // Initialize theme stream.
        $streamName = $this->addStream($this->offsetGet('name'), $this->getPaths());

        // Initialize parent theme streams.
        $loaded = [$this->offsetGet('name')];
        $details = $this;

        while ($details = $details->parent()) {
            if (in_array($details->name, $loaded)) {
                break;
            }
            $this->addStream($details->name, $details->getPaths(false));
            $loaded[] = $details->name;
        }

        /** @var Streams $streams */
        $streams = $gantry['streams'];
        $streams->register();

        return $streamName;
    }

    /**
     * Get parent theme details if theme has a parent.
     *
     * @return ThemeDetails|null
     * @throws \RuntimeException
     */
    public function parent()
    {
        $parent = $this->offsetGet('parent');

        if (!$this->parent && $parent) {
            try {
                $this->parent = new ThemeDetails($parent);
            } catch (\RuntimeException $e) {
                throw new \RuntimeException(sprintf('Parent theme %s not found', $parent), 404);
            }
        }

        return $this->parent;
    }

    /**
     * Get all possible paths to the theme.
     *
     * @return array
     */
    public function getPaths($overrides = true)
    {
        $paths = array_merge(
            $overrides ? (array) $this->get('configuration.theme.overrides', 'gantry-theme://custom') : [],
            ['gantry-theme://'],
            (array) $this->get('configuration.theme.base', 'gantry-theme://common')
        );

        $parent = $this->offsetGet('parent');
        if ($parent) {
            // Stream needs to be valid URL.
            $streamName = 'gantry-themes-' . preg_replace('|[^a-z\d+.-]|ui', '-', $parent);
            $paths[] = "{$streamName}://";
        }

        return $this->parsePaths($paths);
    }

    /**
     * Convert theme path into stream URI.
     *
     * @param string $path
     * @return string
     */
    public function getUrl($path)
    {
        $uri = (string) $this->offsetGet($path);

        if (strpos($uri, 'gantry-theme://') === 0) {
            list (, $uri) = explode('://', $uri, 2);
        }
        if (!strpos($uri, '://')) {
            $name = $this->offsetGet('name');

            // Stream needs to be valid URL.
            $streamName = 'gantry-themes-' . preg_replace('|[^a-z\d+.-]|ui', '-', $name);
            $uri = "{$streamName}://{$uri}";
        }

        return $uri;
    }

    /**
     * Turn list of theme paths to be universal, so they can be used outside of the theme.
     *
     * @param array $items
     * @return array
     */
    public function parsePaths(array $items)
    {
        foreach ($items as &$item) {
            $item = $this->parsePath($item);
        }

        return $items;
    }

    /**
     * Convert theme paths to be universal, so they can be used outside of the theme.
     *
     * @param string $path
     * @return string
     */
    public function parsePath($path)
    {
        if (strpos($path, 'gantry-theme://') === 0) {
            list (, $path) = explode('://', $path, 2);
        }
        if (!strpos($path, '://')) {
            $name = $this->offsetGet('name');
            $path = "gantry-themes://{$name}/{$path}";
        }

        return $path;
    }

    /**
     * @return string|null
     * @deprecated 5.1.5
     */
    public function getParent()
    {
        return $this->offsetGet('parent');
    }

    /**
     * @param string $name
     * @param array $paths
     * @return string|null
     */
    protected function addStream($name, $paths)
    {
        $gantry = Gantry::instance();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        /** @var Streams $streams */
        $streams = $gantry['streams'];

        // Add theme stream.
        $streamName = 'gantry-themes-' . preg_replace('|[^a-z\d+.-]|ui', '-', $name);
        if (!$locator->schemeExists($streamName)) {
            $streams->add([$streamName => ['paths' => $paths]]);
        }

        return $streamName;
    }
}
classes/Gantry/Component/Theme/ThemeInterface.php000060400000007372150750356240016061 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Theme;

use Gantry\Component\Config\Config;
use Gantry\Component\Layout\Layout;
use Gantry\Component\Stylesheet\CssCompilerInterface;

/**
 * Class ThemeTrait
 * @package Gantry\Framework\Base
 *
 * @property string $path
 * @property string $layout
 */
interface ThemeInterface
{
    // AbstractTheme class

    /**
     * Get context for render().
     *
     * @param array $context
     * @return array
     */
    public function getContext(array $context);

    /**
     * Define twig environment.
     *
     * @param \Twig_Environment $twig
     * @param \Twig_LoaderInterface $loader
     * @return \Twig_Environment
     */
    public function extendTwig(\Twig_Environment $twig, \Twig_LoaderInterface $loader = null);

    /**
     * Returns renderer.
     *
     * @return \Twig_Environment
     */
    public function renderer();

    /**
     * Render a template file.
     *
     * @param string $file
     * @param array $context
     * @return string
     */
    public function render($file, array $context = array());

    // ThemeTrait class

    /**
     * Update all CSS files in the theme.
     *
     * @param array $outlines
     * @return array List of CSS warnings.
     */
    public function updateCss(array $outlines = null);

    /**
     * Set current layout.
     *
     * @param string $name
     * @param bool $force
     * @return $this
     */
    public function setLayout($name = null, $force = false);

    /**
     * Get current preset.
     *
     * @param  bool $forced     If true, return only forced preset or null.
     * @return string|null $preset
     */
    public function preset($forced = false);

    /**
     * Set preset to be used.
     *
     * @param string $name
     * @return $this
     */
    public function setPreset($name = null);

    /**
     * Return CSS compiler used in the theme.
     *
     * @return CssCompilerInterface
     * @throws \RuntimeException
     */
    public function compiler();

    /**
     * Returns URL to CSS file.
     *
     * If file does not exist, it will be created by using CSS compiler.
     *
     * @param string $name
     * @return string
     */
    public function css($name);

    /**
     * Return all CSS variables.
     *
     * @return array
     */
    public function getCssVariables();

    /**
     * Returns style presets for the theme.
     *
     * @return Config
     */
    public function presets();

    /**
     * Return name of the used layout preset.
     *
     * @return string
     * @throws \RuntimeException
     */
    public function type();

    /**
     * Load current layout and its configuration.
     *
     * @param string $name
     * @return Layout
     * @throws \LogicException
     */
    public function loadLayout($name = null);

    /**
     * Check whether layout has content bock.
     *
     * @return bool
     */
    public function hasContent();

    /**
     * Returns all non-empty segments from the layout.
     *
     * @return array
     */
    public function segments();

    /**
     * Returns details of the theme.
     *
     * @return ThemeDetails
     */
    public function details();

    /**
     * Returns configuration of the theme.
     *
     * @return array
     */
    public function configuration();

    /**
     * Function to convert block sizes into CSS classes.
     *
     * @param $text
     * @return string
     */
    public function toGrid($text);
}
classes/Gantry/Component/Theme/AbstractTheme.php000060400000016062150750356240015720 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Theme;

use Gantry\Component\Config\Config;
use Gantry\Component\File\CompiledYamlFile;
use Gantry\Component\Filesystem\Folder;
use Gantry\Component\Gantry\GantryTrait;
use Gantry\Component\Twig\TwigCacheFilesystem;
use Gantry\Component\Twig\TwigExtension;
use Gantry\Framework\Platform;
use Gantry\Framework\Services\ErrorServiceProvider;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

/**
 * Class AbstractTheme
 * @package Gantry\Component
 *
 * @property string $path
 * @property string $layout
 */
abstract class AbstractTheme
{
    use GantryTrait;

    /**
     * @var string
     */
    public $name;

    /**
     * @var string
     */
    public $path;

    /**
     * @var \Twig_Environment
     */
    protected $renderer;

    /**
     * Construct theme object.
     *
     * @param string $path
     * @param string $name
     */
    public function __construct($path, $name = null)
    {
        if (!is_dir($path)) {
            throw new \LogicException('Theme not found!');
        }

        $this->name = $name ? $name : basename($path);
        $this->path = $path;

        $this->init();
    }

    /**
     * Get context for render().
     *
     * @param array $context
     * @return array
     */
    public function getContext(array $context)
    {
        $context['theme'] = $this;

        return $context;
    }

    /**
     * Define twig environment.
     *
     * @param \Twig_Environment $twig
     * @param \Twig_LoaderInterface $loader
     * @return \Twig_Environment
     */
    public function extendTwig(\Twig_Environment $twig, \Twig_LoaderInterface $loader = null)
    {
        if ($twig->hasExtension('Gantry\Component\Twig\TwigExtension')) {
            return $twig;
        }

        if (!$loader) {
            $loader = $twig->getLoader();
        }

        $this->setTwigLoaderPaths($loader);

        $twig->addExtension(new TwigExtension);

        if (method_exists($this, 'toGrid')) {
            $filter = new \Twig_SimpleFilter('toGrid', [$this, 'toGrid']);
            $twig->addFilter($filter);
        }

        return $twig;
    }

    /**
     * Return renderer.
     *
     * @return \Twig_Environment
     */
    public function renderer()
    {
        if (!$this->renderer) {
            $gantry = static::gantry();

            /** @var Config $global */
            $global = $gantry['global'];

            $cachePath = $global->get('compile_twig', 1) ? $this->getCachePath('twig') : null;
            $cache = $cachePath ? new TwigCacheFilesystem($cachePath, \Twig_Cache_Filesystem::FORCE_BYTECODE_INVALIDATION) : null;
            $debug = $gantry->debug();
            $production = (bool) $global->get('production', 1);
            $loader = new \Twig_Loader_Filesystem();
            $params = [
                'cache' => $cache,
                'debug' => $debug,
                'auto_reload' => !$production,
                'autoescape' => 'html'
            ];

            $twig = new \Twig_Environment($loader, $params);

            $this->setTwigLoaderPaths($loader);

            if ($debug) {
                $twig->addExtension(new \Twig_Extension_Debug());
            }

            $this->renderer = $this->extendTwig($twig, $loader);
        }

        return $this->renderer;
    }

    /**
     * Render a template file by using given context.
     *
     * @param string $file
     * @param array $context
     * @return string
     */
    public function render($file, array $context = [])
    {
        // Include Gantry specific things to the context.
        $context = $this->getContext($context);

        return $this->renderer()->render($file, $context);
    }

    /**
     * Compile and render twig string.
     *
     * @param string $string
     * @param array $context
     * @return string
     */
    public function compile($string, array $context = [])
    {
        $renderer = $this->renderer();
        $template = $renderer->createTemplate($string);

        // Include Gantry specific things to the context.
        $context = $this->getContext($context);

        return $template->render($context);
    }

    /**
     * Initialize theme.
     */
    protected function init()
    {
        $gantry = static::gantry();
        $gantry['streams']->register();

        // Only add error service if development or debug mode has been enabled or user is admin.
        if (!$gantry['global']->get('production', 0) || $gantry->debug() || $gantry->admin()) {
            $gantry->register(new ErrorServiceProvider);
        }

        // Initialize theme cache stream.
        $cachePath = $this->getCachePath();

        Folder::create($cachePath);

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];
        $locator->addPath('gantry-cache', 'theme', [$cachePath], true, true);

        CompiledYamlFile::$defaultCachePath = $locator->findResource('gantry-cache://theme/compiled/yaml', true, true);
        CompiledYamlFile::$defaultCaching = $gantry['global']->get('compile_yaml', 1);
    }

    /**
     * Set twig lookup paths to the loader.
     *
     * @param \Twig_LoaderInterface $loader
     * @return \Twig_Loader_Filesystem|null
     * @internal
     */
    protected function setTwigLoaderPaths(\Twig_LoaderInterface $loader)
    {
        if ($loader instanceof \Twig_Loader_Chain) {
            $new = new \Twig_Loader_Filesystem();
            $loader->addLoader($new);
            $loader = $new;
        } elseif (!($loader instanceof \Twig_Loader_Filesystem)) {
            return null;
        }

        $gantry = static::gantry();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        $loader->setPaths($locator->findResources('gantry-engine://templates'), 'nucleus');
        $loader->setPaths($locator->findResources('gantry-particles://'), 'particles');

        return $loader;
    }

    /**
     * Get path to Twig cache.
     *
     * @param string $path
     * @return string
     */
    protected function getCachePath($path = '')
    {
        $gantry = static::gantry();

        /** @var Platform $patform */
        $patform = $gantry['platform'];

        // Initialize theme cache stream.
        return $patform->getCachePath() . '/' . $this->name . ($path ? '/' . $path : '');
    }

    /**
     * @deprecated 5.0.2
     */
    public function debug()
    {
        return static::gantry()->debug();
    }

    /**
     * @deprecated 5.1.5
     */
    public function add_to_context(array $context)
    {
        return $this->getContext($context);
    }

    /**
     * @deprecated 5.1.5
     */
    public function add_to_twig(\Twig_Environment $twig, \Twig_LoaderInterface $loader = null)
    {
        return $this->extendTwig($twig, $loader);
    }
}
classes/Gantry/Component/Theme/ThemeInstaller.php000060400000022755150750356240016120 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Theme;

use Gantry\Component\File\CompiledYamlFile;
use Gantry\Component\Filesystem\Folder;
use Gantry\Component\Layout\Layout;
use Gantry\Framework\Gantry;
use Gantry\Framework\Platform;
use Gantry\Framework\Services\ErrorServiceProvider;
use RocketTheme\Toolbox\File\YamlFile;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

abstract class ThemeInstaller
{
    /**
     * Set to true if in Gantry.
     *
     * @var bool
     */
    public $initialized = false;
    public $actions = [];

    protected $name;
    protected $outlines;
    protected $script;

    public function __construct($extension = null)
    {
        if ($extension) {
            $this->name = $extension;
        }
    }

    abstract public function getPath();

    /**
     * Get list of available outlines.
     *
     * @param array $filter
     * @return array
     */
    public function getOutlines(array $filter = null)
    {
        if (!isset($this->outlines)) {
            $this->outlines = [];
            $path = $this->getPath();

            // If no outlines are given, try loading outlines.yaml file.
            $file = YamlFile::instance($path . '/install/outlines.yaml');

            if ($file->exists()) {
                // Load the list from the yaml file.
                $this->outlines = (array) $file->content();
                $file->free();

            } elseif (is_dir($path . '/install/outlines')) {
                // Build the list from the install folder.
                // recurse = false, full=true
                $folders = Folder::all($path . '/install/outlines', ['folders' => true, 'recursive' => false]);
                foreach ($folders as $folder) {
                    $this->outlines[basename($folder)] = [];
                }
            }

            // Always include system outlines.
            $this->outlines += ['default' => [], '_body_only' => [], '_error' => [], '_offline' => []];

        }

        return is_array($filter) ? array_intersect_key($this->outlines, array_flip($filter)) : $this->outlines;
    }

    public function getOutline($name)
    {
        $list = $this->getOutlines([$name]);

        return reset($list);
    }

    public function installDefaults()
    {
        $installerScript = $this->getInstallerScript();

        if ($installerScript && method_exists($installerScript, 'installDefaults')) {
            $installerScript->installDefaults($this);
        } else {
            $this->createDefaults();
        }
    }

    public function installSampleData()
    {
        $installerScript = $this->getInstallerScript();

        if ($installerScript && method_exists($installerScript, 'installSampleData')) {
            $installerScript->installSampleData($this);
        } else {
            $this->createSampleData();
        }
    }

    public function createDefaults()
    {
        $this->createOutlines();
    }

    public function createSampleData()
    {
    }

    public function render($template, $context = [])
    {
        try {
            $loader = new \Twig_Loader_Filesystem();
            $loader->setPaths([$this->getPath() . '/install/templates']);

            $params = [
                'cache' => null,
                'debug' => false,
                'autoescape' => 'html'
            ];

            $twig = new \Twig_Environment($loader, $params);

            $name = $this->name;
            $context += [
                'name' => $this->translate($name),
                'actions' => $this->actions
            ];

            return $twig->render($template, $context);
        } catch (\Exception $e) {
            return '';
        }
    }

    /**
     * Set available outlines.
     *
     * @param array $outlines If parameter isn't provided, outlines list get reloaded from the disk.
     * @return $this
     */
    public function setOutlines(array $outlines = null)
    {
        $this->outlines = $outlines;

        return $this;
    }

    /**
     * @param array $filter
     */
    public function createOutlines(array $filter = null)
    {
        $outlines = $this->getOutlines($filter);

        foreach ($outlines as $folder => $params) {
            $this->createOutline($folder, $params);
        }
    }

    /**
     * @param string $folder
     * @param array $params
     * @return string|bool
     */
    public function createOutline($folder, array $params = [])
    {
        if (!$folder) {
            throw new \RuntimeException('Cannot create outline without folder name');
        }

        $this->initialize();

        $created = false;

        $params += [
            'preset' => null,
            'title' => null
        ];

        $title = $params['title'] ?: ucwords(trim(strtr($folder, ['_' => ' '])));
        $preset = $params['preset'] ?: 'default';

        // Copy configuration for the new layout.
        if (($this->copyCustom($folder, $folder) || $created)) {
            // Update layout and save it.
            $layout = Layout::load($folder, $preset);
            $layout->save()->saveIndex();

            if ($created) {
                $this->actions[] = ['action' => 'outline_created', 'text' => $this->translate('GANTRY5_INSTALLER_ACTION_OUTLINE_CREATED', $title)];
            } else {
                $this->actions[] = ['action' => 'outline_updated', 'text' => $this->translate('GANTRY5_INSTALLER_ACTION_OUTLINE_UPDATED', $title)];
            }
        }

        return $folder;
    }

    public function initialize()
    {
        if ($this->initialized) {
            return;
        }

        $name = $this->name;
        $path = $this->getPath();

        // Remove compiled CSS files if they exist.
        $cssPath = $path . '/custom/css-compiled';
        if (is_dir($cssPath)) {
            Folder::delete($cssPath);
        } elseif (is_file($cssPath)) {
            @unlink($cssPath);
        }

        // Remove wrongly named file if it exists.
        $md5path = $path . '/MD5SUM';
        if (is_file($md5path)) {
            @unlink($md5path);
        }

        // Restart Gantry and initialize it.
        $gantry = Gantry::restart();
        $gantry['theme.name'] = $name;
        $gantry['streams']->register();

        // Only add error service if debug mode has been enabled.
        if ($gantry->debug()) {
            $gantry->register(new ErrorServiceProvider);
        }

        /** @var Platform $patform */
        $patform = $gantry['platform'];

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        // Initialize theme stream.
        $details = new ThemeDetails($name);
        $locator->addPath('gantry-theme', '', $details->getPaths(), false, true);

        // Initialize theme cache stream and clear theme cache.
        $cachePath = $patform->getCachePath() . '/' . $name;
        if (is_dir($cachePath)) {
            Folder::delete($cachePath);
        }
        Folder::create($cachePath);
        $locator->addPath('gantry-cache', 'theme', [$cachePath], true, true);

        CompiledYamlFile::$defaultCachePath = $locator->findResource('gantry-cache://theme/compiled/yaml', true, true);
        CompiledYamlFile::$defaultCaching = $gantry['global']->get('compile_yaml', 1);

        $this->initialized = true;
    }

    public function finalize()
    {
        // Copy standard outlines if they haven't been copied already.
        $this->copyCustom('default', 'default');
        $this->copyCustom('_body_only', '_body_only');
        $this->copyCustom('_error', '_error');
        $this->copyCustom('_offline', '_offline');

        $this->initialize();
    }

    /**
     * @param string $layout
     * @param string $id
     * @return bool True if files were copied over.
     */
    protected function copyCustom($layout, $id)
    {
        $path = $this->getPath();

        // Only copy files if the target id doesn't exist.
        $dst = $path . '/custom/config/' . $id;
        if (!$layout || !$id || is_dir($dst)) {
            return false;
        }

        // New location for G5.3.2+
        $src = $path . '/install/outlines/' . $layout;
        if (!is_dir($src)) {
            // Old and deprecated location.
            $src = $path . '/install/layouts/' . $layout;
        }

        try {
            is_dir($src) ? Folder::copy($src, $dst) : Folder::create($dst);
        } catch (\Exception $e) {
            throw new \RuntimeException("Creating configuration for outline '{$layout}' failed: {$e->getMessage()}", 500, $e);
        }

        return true;
    }

    protected function translate($text)
    {
        $translator = Gantry::instance()['translator'];

        $args = func_get_args();

        return call_user_func_array([$translator, 'translate'], $args);
    }


    protected function getInstallerScript()
    {
        if (!$this->script) {
            $className = ucfirst($this->name) . 'InstallerScript';

            if (!class_exists($className)) {

                $path = "{$this->getPath()}/install.php";
                if (is_file($path)) {
                    require_once $path;
                }
            }

            if (class_exists($className)) {
                $this->script = new $className;
            }
        }

        return $this->script;
    }
}
classes/Gantry/Component/Theme/ThemeTrait.php000060400000055171150750356240015244 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Theme;

use Gantry\Component\Config\Config;
use Gantry\Component\Content\Block\ContentBlock;
use Gantry\Component\Content\Block\HtmlBlock;
use Gantry\Component\File\CompiledYamlFile;
use Gantry\Component\Filesystem\Folder;
use Gantry\Component\Gantry\GantryTrait;
use Gantry\Component\Layout\Layout;
use Gantry\Component\Stylesheet\CssCompilerInterface;
use Gantry\Framework\Document;
use Gantry\Framework\Menu;
use Gantry\Framework\Services\ConfigServiceProvider;
use RocketTheme\Toolbox\File\PhpFile;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

/**
 * Class ThemeTrait
 * @package Gantry\Component
 *
 * @property string $path
 * @property string $layout
 */
trait ThemeTrait
{
    use GantryTrait;

    protected $layoutObject;
    protected $atoms;
    protected $segments;
    protected $preset;
    protected $cssCache;
    /**
     * @var CssCompilerInterface
     */
    protected $compiler;
    protected $equalized = [3 => 33.3, 6 => 16.7, 7 => 14.3, 8 => 12.5, 9 => 11.1, 11 => 9.1, 12 => 8.3];

    /**
     * @var ThemeDetails
     */
    protected $details;

    /**
     * Register Theme stream.
     *
     * @param string $savePath
     */
    public function registerStream($savePath = null)
    {
        $streamName = $this->details()->addStreams();

        /** @var UniformResourceLocator $locator */
        $locator = self::gantry()['locator'];
        $locator->addPath('gantry-theme', '', array_merge((array) $savePath, [[$streamName, '']]));
    }

    /**
     * Update all CSS files in the theme.
     *
     * @param array $outlines
     * @return array List of CSS warnings.
     */
    public function updateCss(array $outlines = null)
    {
        $gantry = static::gantry();
        $compiler = $this->compiler();

        if (is_null($outlines)) {
            /** @var UniformResourceLocator $locator */
            $locator = $gantry['locator'];
            $path = $locator->findResource($compiler->getTarget(), true, true);

            // Make sure that all the CSS files get deleted.
            if (is_dir($path)) {
                Folder::delete($path, false);
            }

            $outlines = $gantry['outlines'];
        }

        // Make sure that PHP has the latest data of the files.
        clearstatcache();

        $warnings = [];
        foreach ($outlines as $outline => $title) {
            $config = ConfigServiceProvider::load($gantry, $outline);

            $compiler->reset()->setConfiguration($outline)->setVariables($config->flatten('styles', '-'));

            $results = $compiler->compileAll()->getWarnings();
            if ($results) {
                $warnings[$outline] = $results;
            }
        }

        return $warnings;
    }

    /**
     * Set layout to be used.
     *
     * @param string $name
     * @param bool $force
     * @return $this
     */
    public function setLayout($name = null, $force = false)
    {
        $gantry = static::gantry();

        // Force new layout to be set.
        if ($force) {
            unset($gantry['configuration']);
        }

        // Set default name only if configuration has not been set before.
        if ($name === null && !isset($gantry['configuration'])) {
            $name = 'default';
        }

        $outline = isset($gantry['configuration']) ? $gantry['configuration'] : null;

        // Set configuration if given.
        if ($name && $name != $outline) {
            GANTRY_DEBUGGER && \Gantry\Debugger::addMessage("Using Gantry outline {$name}");

            $gantry['configuration'] = $name;
        }

        return $this;
    }

    /**
     * Get current preset.
     *
     * @param  bool $forced     If true, return only forced preset or null.
     * @return string|null $preset
     */
    public function preset($forced = false)
    {
        $presets = $this->presets()->toArray();

        $preset = $this->preset;

        if (!$preset && !$forced) {
            $preset = static::gantry()['config']->get('styles.preset', '-undefined-');
        }

        if ($preset && !isset($presets[$preset])) {
            $preset = null;
        }

        return $preset;
    }

    /**
     * Set preset to be used.
     *
     * @param string $name
     * @return $this
     */
    public function setPreset($name = null)
    {
        // Set preset if given.
        if ($name) {
            $this->preset = $name;
        }

        return $this;
    }

    /**
     * Return CSS compiler used in the theme.
     *
     * @return CssCompilerInterface
     * @throws \RuntimeException
     */
    public function compiler()
    {
        if (!$this->compiler) {
            $compilerClass = (string) $this->details()->get('configuration.css.compiler', '\Gantry\Component\Stylesheet\ScssCompiler');

            if (!class_exists($compilerClass)) {
                throw new \RuntimeException('CSS compiler used by the theme not found');
            }

            $details = $this->details();

            /** @var CssCompilerInterface $compiler */
            $this->compiler = new $compilerClass();
            $this->compiler
                ->setTarget($details->get('configuration.css.target'))
                ->setPaths($details->get('configuration.css.paths'))
                ->setFiles($details->get('configuration.css.files'))
                ->setFonts($details->get('configuration.fonts'));
        }

        $preset = $this->preset(true);
        if ($preset) {
            $this->compiler->setConfiguration($preset);
        } else {
            $gantry = static::gantry();
            $this->compiler->setConfiguration(isset($gantry['configuration']) ? $gantry['configuration'] : 'default');
        }

        return $this->compiler->reset();
    }

    /**
     * Returns URL to CSS file.
     *
     * If file does not exist, it will be created by using CSS compiler.
     *
     * @param string $name
     * @return string
     */
    public function css($name)
    {
        if (!isset($this->cssCache[$name])) {
            $compiler = $this->compiler();

            if ($compiler->needsCompile($name, [$this, 'getCssVariables'])) {
                GANTRY_DEBUGGER && \Gantry\Debugger::startTimer("css-{$name}", "Compiling CSS: {$name}") && \Gantry\Debugger::addMessage("Compiling CSS: {$name}");

                $compiler->compileFile($name);

                GANTRY_DEBUGGER && \Gantry\Debugger::stopTimer("css-{$name}");
            }

            $this->cssCache[$name] = $compiler->getCssUrl($name);
        }

        return $this->cssCache[$name];
    }

    public function getCssVariables()
    {
        if ($this->preset) {
            $variables = $this->presets()->flatten($this->preset . '.styles', '-');
        } else {
            $gantry = self::gantry();
            $variables = $gantry['config']->flatten('styles', '-');
        }

        return $variables;
    }

    /**
     * Returns style presets for the theme.
     *
     * @return Config
     */
    public function presets()
    {
        static $presets;

        if (!$presets) {
            $gantry = static::gantry();

            /** @var UniformResourceLocator $locator */
            $locator = $gantry['locator'];

            $filename = $locator->findResource("gantry-theme://gantry/presets.yaml");
            $file = CompiledYamlFile::instance($filename);
            $presets = new Config($file->content());
            $file->free();
        }

        return $presets;
    }

    /**
     * Return name of the used layout preset.
     *
     * @return string
     * @throws \RuntimeException
     */
    public function type()
    {
        if (!$this->layoutObject) {
            throw new \RuntimeException('Function called too early');
        }
        $name = isset($this->layoutObject->preset['name']) ? $this->layoutObject->preset['name'] : 'unknown';

        return $name;
    }

    /**
     * Load current layout and its configuration.
     *
     * @param string $name
     * @return Layout
     * @throws \LogicException
     */
    public function loadLayout($name = null)
    {
        if (!$name) {
            try {
                $name = static::gantry()['configuration'];
            } catch (\Exception $e) {
                throw new \LogicException('Gantry: Outline has not been defined yet', 500);
            }
        }

        if (!isset($this->layoutObject) || $this->layoutObject->name != $name) {
            $layout = Layout::instance($name);

            if (!$layout->exists()) {
                $layout = Layout::instance('default');
            }

            // TODO: Optimize
            $this->layoutObject = $layout->init();
        }

        return $this->layoutObject;
    }

    /**
     * Check whether layout has content bock.
     *
     * @return bool
     */
    public function hasContent()
    {
        $layout = $this->loadLayout();
        $content = $layout->referencesByType('system', 'content');

        return !empty($content);
    }

    /**
     * Load atoms and assets from the page settings.
     *
     * @since 5.4.9
     */
    public function loadAtoms()
    {
        if (!isset($this->atoms)) {
            $this->atoms = true;

            GANTRY_DEBUGGER && \Gantry\Debugger::startTimer('atoms', "Preparing atoms");

            $gantry = static::gantry();

            /** @var Config $config */
            $config = $gantry['config'];

            /** @var \Gantry\Framework\Document $document */
            $document = $gantry['document'];

            $atoms = (array) $config->get('page.head.atoms');

            foreach ($atoms as $data) {
                $atom = [
                    'type' => 'atom',
                    'subtype' => $data['type'],
                ] + $data;

                try {
                    $block = $this->getContent($atom);
                    $document->addBlock($block);

                } catch (\Exception $e) {
                    if ($gantry->debug()) {
                        throw new \RuntimeException("Rendering Atom '{$atom['subtype']}' failed on error: {$e->getMessage()}", 500, $e);
                    }
                }
            }

            $assets = (array) $config->get('page.assets');

            if ($assets) {
                $atom = [
                    'id' => 'page-assets',
                    'title' => 'Page Assets',
                    'type' => 'atom',
                    'subtype' => 'assets',
                    'attributes' => $assets + ['enabled' => 1]
                ];

                try {
                    $block = $this->getContent($atom);
                    $document->addBlock($block);

                } catch (\Exception $e) {
                    if ($gantry->debug()) {
                        throw new \RuntimeException("Rendering CSS/JS Assets failed on error: {$e->getMessage()}", 500, $e);
                    }
                }
            }

            GANTRY_DEBUGGER && \Gantry\Debugger::stopTimer('atoms');
        }
    }

    /**
     * Returns all non-empty segments from the layout.
     *
     * @return array
     */
    public function segments()
    {
        if (!isset($this->segments)) {
            $this->segments = $this->loadLayout()->toArray();

            GANTRY_DEBUGGER && \Gantry\Debugger::startTimer('segments', "Preparing layout");

            $this->prepareLayout($this->segments);

            GANTRY_DEBUGGER && \Gantry\Debugger::stopTimer('segments');
        }

        return $this->segments;
    }

    /**
     * Prepare layout for rendering. Initializes all CSS/JS in particles.
     */
    public function prepare()
    {
        $this->segments();
    }

    /**
     * Returns details of the theme.
     *
     * @return ThemeDetails
     */
    public function details()
    {
        if (!$this->details) {
            $this->details = new ThemeDetails($this->name);
        }
        return $this->details;
    }

    /**
     * Returns configuration of the theme.
     *
     * @return array
     */
    public function configuration()
    {
        return (array) $this->details()['configuration'];
    }

    /**
     * Function to convert block sizes into CSS classes.
     *
     * @param $text
     * @return string
     */
    public function toGrid($text)
    {
        if (!$text) {
            return '';
        }

        $number = round($text, 1);
        $number = max(5, $number);
        $number = (string) ($number == 100 ? 100 : min(95, $number));

        static $sizes = array(
            '33.3' => 'size-33-3',
            '16.7' => 'size-16-7',
            '14.3' => 'size-14-3',
            '12.5' => 'size-12-5',
            '11.1' => 'size-11-1',
            '9.1'  => 'size-9-1',
            '8.3'  => 'size-8-3'
        );

        return isset($sizes[$number]) ? ' ' . $sizes[$number] : 'size-' . (int) $number;
    }

    /**
     * Magic setter method
     *
     * @param mixed $offset Asset name value
     * @param mixed $value  Asset value
     */
    public function __set($offset, $value)
    {
        if ($offset == 'title') {
            $offset = 'name';
        }

        $this->details()->offsetSet('details.' . $offset, $value);
    }

    /**
     * Magic getter method
     *
     * @param  mixed $offset Asset name value
     * @return mixed         Asset value
     */
    public function __get($offset)
    {
        if ($offset == 'title') {
            $offset = 'name';
        }

        $value = $this->details()->offsetGet('details.' . $offset);

        if ($offset == 'version' && is_int($value)) {
            $value .= '.0';
        }

        return $value;
    }

    /**
     * Magic method to determine if the attribute is set
     *
     * @param  mixed   $offset Asset name value
     * @return boolean         True if the value is set
     */
    public function __isset($offset)
    {
        if ($offset == 'title') {
            $offset = 'name';
        }

        return $this->details()->offsetExists('details.' . $offset);
    }

    /**
     * Magic method to unset the attribute
     *
     * @param mixed $offset The name value to unset
     */
    public function __unset($offset)
    {
        if ($offset == 'title') {
            $offset = 'name';
        }

        $this->details()->offsetUnset('details.' . $offset);
    }

    /**
     * Prepare layout by loading all the positions and particles.
     *
     * Action is needed before displaying the layout as it recalculates block widths based on the visible content.
     *
     * @param array $items
     * @param bool  $temporary
     * @param bool  $sticky
     * @internal
     */
    protected function prepareLayout(array &$items, $temporary = false, $sticky = false)
    {
        foreach ($items as $i => &$item) {
            // Non-numeric items are meta-data which should be ignored.
            if (((string)(int) $i !== (string) $i) || !is_object($item)) {
                continue;
            }

            if (!empty($item->children)) {
                $fixed = true;
                foreach ($item->children as $child) {
                    $fixed &= !empty($child->attributes->fixed);
                }

                $this->prepareLayout($item->children, $fixed, $temporary);
            }

            // TODO: remove hard coded types.
            switch ($item->type) {
                case 'system':
                    break;

                case 'atom':
                case 'particle':
                case 'position':
                case 'spacer':
                    GANTRY_DEBUGGER && \Gantry\Debugger::startTimer($item->id, "Rendering {$item->id}");

                    $item->content = $this->renderContent($item, ['prepare_layout' => true]);
                    // Note that content can also be null (postpone rendering).
                    if ($item->content === '') {
                        unset($items[$i]);
                    }

                    GANTRY_DEBUGGER && \Gantry\Debugger::stopTimer($item->id);

                    break;

                default:
                    if ($sticky) {
                        $item->attributes->sticky = 1;
                        break;
                    }

                    if (empty($item->children)) {
                        unset($items[$i]);
                        break;
                    }

                    $dynamicSize = 0;
                    $fixedSize = 0;
                    $childrenCount = count($item->children);
                    foreach ($item->children as $child) {
                        if (!isset($child->attributes->size)) {
                            $child->attributes->size = 100 / count($item->children);
                        }
                        if (empty($child->attributes->fixed)) {
                            $dynamicSize += $child->attributes->size;
                        } else {
                            $fixedSize += $child->attributes->size;
                        }
                    }

                    $roundSize = round($dynamicSize, 1);
                    $equalized = isset($this->equalized[$childrenCount]) ? $this->equalized[$childrenCount] : 0;

                    // force-casting string for testing comparison due to weird PHP behavior that returns wrong result
                    if ($roundSize != 100 && (string) $roundSize != (string) ($equalized * $childrenCount)) {
                        $fraction = 0;
                        $multiplier = (100 - $fixedSize) / ($dynamicSize ?: 1);
                        foreach ($item->children as $child) {
                            if (!empty($child->attributes->fixed)) {
                                continue;
                            }

                            // Calculate size for the next item by taking account the rounding error from the last item.
                            // This will allow us to approximate cumulating error and fix it when rounding error grows
                            // over the rounding treshold.
                            $size = ($child->attributes->size * $multiplier) + $fraction;
                            $newSize = round($size);
                            $fraction = $size - $newSize;
                            $child->attributes->size = $newSize;
                        }
                    }
            }
        }
    }

    /**
     * Renders individual content block, like particle or position.
     *
     * Function is used to pre-render content.
     *
     * @param object|array $item
     * @param array $options
     * @return string|null
     */
    public function renderContent($item, $options = [])
    {
        $gantry = static::gantry();

        $content = $this->getContent($item, $options);

        /** @var Document $document */
        $document = $gantry['document'];
        $document->addBlock($content);

        $html = $content->toString();
        return !strstr($html, '@@DEFERRED@@') ? $html : null;
    }

    /**
     * Renders individual content block, like particle or position.
     *
     * Function is used to pre-render content.
     *
     * @param object|array $item
     * @param array $options
     * @return ContentBlock
     * @since 5.4.3
     */
    public function getContent($item, $options = [])
    {
        if (is_array($item)) {
            $item = (object) $item;
        }

        $gantry = static::gantry();

        /** @var Config $global */
        $global = $gantry['global'];

        $production = (bool) $global->get('production');
        $subtype = $item->subtype;
        $enabled = $gantry['config']->get("particles.{$subtype}.enabled", 1);

        if (!$enabled) {
            return new HtmlBlock;
        }

        $attributes = isset($item->attributes) ? $item->attributes : [];
        $particle = $gantry['config']->getJoined("particles.{$subtype}", $attributes);

        $cached = false;
        $cacheKey = [];

        // Enable particle caching only in production mode.
        if ($production && isset($particle['caching'])) {
            $caching = $particle['caching'] + ['type' => 'dynamic'];

            switch ($caching['type']) {
                case 'static':
                    $cached = true;
                    break;
                case 'config_matches':
                    if (isset($particle['caching']['values'])) {
                        $values = (array) $particle['caching']['values'];
                        $compare = array_intersect_key($particle, $values);
                        $cached = ($values === $compare);
                    }
                    break;
                case 'menu':
                    /** @var Menu $menu */
                    $menu = $gantry['menu'];
                    $cacheId = $menu->getCacheId();

                    // FIXME: menu caching needs to handle dynamic modules inside menu: turning it off for now.
                    if (false && $cacheId !== null) {
                        $cached = true;
                        $cacheKey['menu_cache_key'] = $cacheId;
                    }
                    break;
            }
        }

        if ($cached) {
            $cacheKey['language'] = $gantry['page']->language;
            $cacheKey['attributes'] = $particle;
            $cacheKey += (array) $item;

            /** @var UniformResourceLocator $locator */
            $locator = $gantry['locator'];
            $key = md5(json_encode($cacheKey));

            $filename = $locator->findResource("gantry-cache://theme/html/{$key}.php", true, true);
            $file = PhpFile::instance($filename);
            if ($file->exists()) {
                try {
                    return ContentBlock::fromArray((array) $file->content());
                } catch (\Exception $e) {
                    // Invalid cache, continue to rendering.
                    GANTRY_DEBUGGER && \Gantry\Debugger::addMessage(sprintf('Failed to load %s %s cache', $item->type, $item->id), 'debug');
                }
            }
        }

        // Create new document context for assets.
        $context = $this->getContext(['segment' => $item, 'enabled' => 1, 'particle' => $particle] + $options);

        /** @var Document $document */
        $document = $gantry['document'];
        $document->push();
        $html = trim($this->render("@nucleus/content/{$item->type}.html.twig", $context));
        $content = $document->pop()->setContent($html);

        if (isset($file)) {
            // Save HTML and assets into the cache.
            GANTRY_DEBUGGER && \Gantry\Debugger::addMessage(sprintf('Caching %s %s', $item->type, $item->id), 'debug');
            $file->save($content->toArray());
        }

        return $content;
    }
}
classes/Gantry/Component/Remote/Response.php000060400000015615150750356240015164 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Remote;

class Response
{
    /**
     * The callback for the progress
     *
     * @var callable    Either a function or callback in array notation
     */
    public static $callback = null;

    /**
     * Which method to use for HTTP calls, can be 'curl', 'fopen' or 'auto'. Auto is default and fopen is the preferred method
     *
     * @var string
     */
    private static $method = 'auto';

    /**
     * Default parameters for `curl` and `fopen`
     *
     * @var array
     */
    private static $defaults = [

        'curl'  => [
            CURLOPT_REFERER        => 'Gantry5 Response',
            CURLOPT_USERAGENT      => 'Gantry5 Response',
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_TIMEOUT        => 15,
            CURLOPT_HEADER         => false,
            /**
             * Example of callback parameters from within your own class
             */
            //CURLOPT_NOPROGRESS     => false,
            //CURLOPT_PROGRESSFUNCTION => [$this, 'progress']
        ],
        'fopen' => [
            'method'          => 'GET',
            'user_agent'      => 'Gantry5 Response',
            'max_redirects'   => 5,
            'follow_location' => 1,
            'timeout'         => 15,
            /**
             * Example of callback parameters from within your own class
             */
            //'notification' => [$this, 'progress']
        ]
    ];

    /**
     * Sets the preferred method to use for making HTTP calls.
     *
     * @param string $method Default is `auto`
     *
     * @return Response
     */
    public static function setMethod($method = 'auto')
    {
        if (!in_array($method, ['auto', 'curl', 'fopen'])) {
            $method = 'auto';
        }

        self::$method = $method;

        return new self();
    }

    /**
     * Makes a request to the URL by using the preferred method
     *
     * @param  string   $uri     URL to call
     * @param  array    $options An array of parameters for both `curl` and `fopen`
     * @param  callable $callback
     *
     * @return string The response of the request
     */
    public static function get($uri = '', $options = [], $callback = null)
    {
        if (!self::isCurlAvailable() && !self::isFopenAvailable()) {
            throw new \RuntimeException('Could not start an HTTP request. `allow_url_open` is disabled and `cURL` is not available');
        }

        $options = array_replace_recursive(self::$defaults, $options);
        $method  = 'get' . ucfirst(strtolower(self::$method));

        self::$callback = $callback;
        return static::$method($uri, $options, $callback);
    }

    /**
     * Checks if cURL is available
     *
     * @return boolean
     */
    public static function isCurlAvailable()
    {
        return function_exists('curl_version');
    }

    /**
     * Checks if the remote fopen request is enabled in PHP
     *
     * @return boolean
     */
    public static function isFopenAvailable()
    {
        return preg_match('/1|yes|on|true/i', ini_get('allow_url_fopen'));
    }

    /**
     * Progress normalized for cURL and fopen
     *
     * @return array Normalized array with useful data.
     *               Format: ['code' => int|false, 'filesize' => bytes, 'transferred' => bytes, 'percent' => int]
     */
    public static function progress()
    {
        static $filesize = null;

        $args           = func_get_args();
        $isCurlResource = is_resource($args[0]) && get_resource_type($args[0]) == 'curl';

        $notification_code = !$isCurlResource ? $args[0] : false;
        $bytes_transferred = $isCurlResource ? $args[2] : $args[4];

        if ($isCurlResource) {
            $filesize = $args[1];
        } elseif ($notification_code == STREAM_NOTIFY_FILE_SIZE_IS) {
            $filesize = $args[5];
        }

        if ($bytes_transferred > 0) {
            if ($notification_code == STREAM_NOTIFY_PROGRESS | STREAM_NOTIFY_COMPLETED || $isCurlResource) {

                $progress = [
                    'code'        => $notification_code,
                    'filesize'    => $filesize,
                    'transferred' => $bytes_transferred,
                    'percent'     => $filesize <= 0 ? '-' : round(($bytes_transferred * 100) / $filesize, 1)
                ];

                if (self::$callback !== null) {
                    call_user_func_array(self::$callback, [$progress]);
                }
            }
        }
    }

    /**
     * Automatically picks the preferred method
     *
     * @return string The response of the request
     */
    private static function getAuto()
    {
        if (self::isFopenAvailable()) {
            return self::getFopen(func_get_args());
        }

        if (self::isCurlAvailable()) {
            return self::getCurl(func_get_args());
        }

        return '';
    }

    /**
     * Starts a HTTP request via fopen
     *
     * @return string The response of the request
     */
    private static function getFopen()
    {
        if (count($args = func_get_args()) == 1) {
            $args = $args[0];
        }

        $uri      = $args[0];
        $options  = $args[1];
        $callback = $args[2];

        if ($callback) {
            $options['fopen']['notification'] = ['self', 'progress'];
        }

        $stream  = stream_context_create(['http' => $options['fopen']], $options['fopen']);
        $content = @file_get_contents($uri, false, $stream);

        if ($content === false) {
            throw new \RuntimeException("Error while trying to download '$uri'");
        }

        return $content;
    }

    /**
     * Starts a HTTP request via cURL
     *
     * @return string The response of the request
     */
    private static function getCurl()
    {
        $args = func_get_args();
        $args = count($args) > 1 ? $args : array_shift($args);

        $uri      = $args[0];
        $options  = $args[1];
        $callback = $args[2];

        $ch = curl_init($uri);
        curl_setopt_array($ch, $options['curl']);

        if ($callback) {
            curl_setopt_array(
                $ch,
                [
                    CURLOPT_NOPROGRESS       => false,
                    CURLOPT_PROGRESSFUNCTION => ['self', 'progress']
                ]
            );
        }

        $response = curl_exec($ch);

        if ($errno = curl_errno($ch)) {
            $error_message = curl_strerror($errno);
            throw new \RuntimeException("cURL error ({$errno}):\n {$error_message}");
        }

        curl_close($ch);

        return $response;
    }
}
classes/Gantry/Component/Response/JsonResponse.php000060400000007147150750356240016362 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Response;

class JsonResponse extends Response
{
    public $mimeType = 'application/json';

    protected $success = true;
    protected $message;
    protected $exceptions = [];
    protected $messages = [];
    protected $content = [];

    /**
     * @param string $content
     * @param bool $success
     * @return $this
     */
    public function setContent($content, $success = true)
    {
        $this->success = (bool) $success;

        if (is_array($content)) {
            foreach ($content as $key => $value) {
                $this->parseValue($key, $value);
            }
        } else {
            $this->parseValue(null, $content);
        }

        return $this;
    }

    /**
     * @return string
     */
    public function __toString()
    {
        // Empty output buffer to make sure that the response is clean and valid.
        while (($output = ob_get_clean()) !== false) {
            // In debug mode send also output buffers (debug dumps, PHP notices and warnings).
            if ($output && (GANTRY5_DEBUG || headers_sent())) {
                $this->messages['php'][] = $output;
            }
        }

        $json = [
            'code' => $this->code,
            'success' => $this->success
        ];
        if ($this->messages) {
            $json['messages'] = $this->messages;
        }
        if ($this->exceptions) {
            $json['exceptions'] = $this->exceptions;
        }
        if (GANTRY5_DEBUG) {
            $json['memory'] = ['peak' => memory_get_peak_usage(), 'current' => memory_get_usage()];
        }
        $json += $this->content;

        return (string) json_encode($json);
    }

    protected function parseValue($key, $value)
    {
        if ($value instanceof \Exception) {
            // Prepare the error response if we are dealing with an error.
            $this->success = false;
            $this->exceptions = $this->parseException($value);

        } elseif ($value instanceof HtmlResponse) {
            // Add HTML response (numeric keys are always integers).
            $key =  !$key || is_int($key) ? 'html' : $key;
            $this->content[$key] = trim((string) $value);

        } elseif (is_null($key)) {
            // If the returned value was not an array, put the contents into data variable.
            $this->content['data'] = $value;

        } elseif (is_int($key)) {
            // If the key was an integer, also put the contents into data variable.
            $this->content['data'][$key] = $value;

        } else {
            $this->content[$key] = $value;
        }
    }

    protected function parseException(\Exception $e)
    {
        $this->code = $e->getCode();

        // Build data from exceptions.
        $exceptions = [];

        do {
            $exception = [
                'code' => $e->getCode(),
                'message' => $e->getMessage()
            ];

            if (GANTRY5_DEBUG) {
                $exception += [
                    'type' => get_class($e),
                    'file' => $e->getFile(),
                    'line' => $e->getLine()
                ];
            }

            $exceptions[] = $exception;
            $e = $e->getPrevious();
        }
        while (GANTRY5_DEBUG && $e);

        return $exceptions;
    }
}
classes/Gantry/Component/Response/HtmlResponse.php000060400000000701150750356240016342 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Response;

class HtmlResponse extends Response
{
}
classes/Gantry/Component/Response/Response.php000060400000010313150750356240015515 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Response;

class Response
{
    public $charset = 'utf-8';
    public $mimeType = 'text/html';

    protected $code = 200;
    protected $message = 'OK';
    protected $lifetime = 0;
    protected $etag;

    /**
     * @var array Response headers.
     */
    protected $headers = [];

    /**
     * @var string Response body.
     */
    protected $content;

    protected $responseCodes = [
        200 => 'OK',
        400 => 'Bad Request',
        401 => 'Unauthorized',
        403 => 'Forbidden',
        404 => 'Not Found',
        405 => 'Method Not Allowed',
        410 => 'Gone',
        500 => 'Internal Server Error',
        501 => 'Not Implemented',
        503 => 'Service Temporarily Unavailable'
    ];

    public function __construct($content = '', $status = 200)
    {
        if ($content) {
            $this->setContent($content);
        }

        if ($status != 200) {
            $this->setStatusCode($status);
        }
    }

    /**
     * @param int $seconds
     * @return $this
     */
    public function setLifetime($seconds)
    {
        $this->lifetime = $seconds;

        return $this;
    }

    /**
     * @param mixed $key
     * @return $this
     */
    public function setKey($key)
    {
        $this->etag = md5(json_encode($key));

        return $this;
    }

    /**
     * @return int
     */
    public function getStatusCode()
    {
        return $this->code;
    }

    /**
     * @param int $code
     * @param string $message
     * @return $this
     */
    public function setStatusCode($code, $message = null)
    {
        if ($message) {
            $this->code = $code;
            $this->message = $message;
        } else {
            $this->code = isset($this->responseCodes[$code]) ? (int) $code : 500;
            $this->message = $this->responseCodes[$this->code];
        }

        return $this;
    }

    /**
     * @return string
     */
    public function getStatus()
    {
        $code = $this->getStatusCode();

        return $code . ' ' . (isset($this->responseCodes[$code]) ? $this->responseCodes[$code] : 'Unknown error');
    }

    /**
     * @return array
     */
    public function getHeaders()
    {
        return $this->headers;
    }

    /**
     * @param array $headers
     * @param bool $replace
     * @return $this
     */
    public function setHeaders(array $headers, $replace = false)
    {
        foreach ($headers as $key => $values) {
            $act = $replace;
            foreach ((array) $values as $value) {
                $this->setHeader($key, $value, $act);
                $act = false;
            }
        }

        return $this;
    }

    /**
     * @return $this
     */
    public function clearHeaders()
    {
        $this->headers = [];

        return $this;
    }

    /**
     * @param $name
     * @param $value
     * @param bool $replace
     * @return $this
     */
    public function setHeader($name, $value, $replace = false)
    {
        if ($replace) {
            $this->headers[$name] = [$value];
        } else {
            $this->headers[$name][] = $value;
        }

        return $this;
    }

    /**
     * @return string
     */
    public function getContent()
    {
        return (string) $this->content;
    }

    /**
     * @param string $content
     * @return Response
     * @throws \UnexpectedValueException
     */
    public function setContent($content) {
        if ($content !== null && !is_string($content) && !is_numeric($content) && !is_callable([$content, '__toString'])) {
            throw new \UnexpectedValueException(
                sprintf('Content must be a string or object implementing __toString()')
            );
        }
        $this->content = $content;

        return $this;
    }

    /**
     * @return string
     */
    public function __toString()
    {
        return (string) $this->content;
    }
}
classes/Gantry/Component/Response/RedirectResponse.php000060400000001467150750356240017211 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Response;

class RedirectResponse extends Response
{
    public function __construct($content = '', $status = 303)
    {
        parent::__construct('', $status);

        $this->setHeader('Location', $content);
    }

    public function getContent()
    {
        return (string) $this->getHeaders()['Location'];
    }

    public function setContent($content)
    {
        $this->setHeader('Location', $content);
    }
}
classes/Gantry/Component/Twig/TwigCacheFilesystem.php000060400000005435150750356240016747 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Twig;

/**
 * Class TwigCacheFilesystem
 * @package Gantry\Component\Twig
 *
 * Replaces \Twig_Cache_Filesystem, needed for being able to change PHP versions on fly.
 */
class TwigCacheFilesystem implements \Twig_CacheInterface
{
    const FORCE_BYTECODE_INVALIDATION = 1;
    private $directory;
    private $options;
    /**
     * @param $directory string The root cache directory
     * @param $options   int    A set of options
     */
    public function __construct($directory, $options = 0)
    {
        $this->directory = rtrim($directory, '\/').'/';
        $this->options = $options;
    }
    /**
     * {@inheritdoc}
     */
    public function generateKey($name, $className)
    {
        $hash = hash('sha256', $className . '-' . PHP_VERSION);
        return $this->directory.$hash[0].$hash[1].'/'.$hash.'.php';
    }
    /**
     * {@inheritdoc}
     */
    public function load($key)
    {
        @include_once $key;
    }
    /**
     * {@inheritdoc}
     */
    public function write($key, $content)
    {
        $dir = dirname($key);
        if (!is_dir($dir)) {
            if (false === @mkdir($dir, 0777, true) && !is_dir($dir)) {
                throw new \RuntimeException(sprintf('Unable to create the cache directory (%s).', $dir));
            }
        } elseif (!is_writable($dir)) {
            throw new \RuntimeException(sprintf('Unable to write in the cache directory (%s).', $dir));
        }
        $tmpFile = tempnam($dir, basename($key));
        if (false !== @file_put_contents($tmpFile, $content) && @rename($tmpFile, $key)) {
            @chmod($key, 0666 & ~umask());
            if (self::FORCE_BYTECODE_INVALIDATION == ($this->options & self::FORCE_BYTECODE_INVALIDATION)) {
                // Compile cached file into bytecode cache
                if (function_exists('opcache_invalidate')) {
                    // Silence error in case if `opcache.restrict_api` directive is set.
                    @opcache_invalidate($key, true);
                } elseif (function_exists('apc_compile_file')) {
                    @apc_compile_file($key);
                }
            }
            return;
        }
        throw new \RuntimeException(sprintf('Failed to write cache file "%s".', $key));
    }
    /**
     * {@inheritdoc}
     */
    public function getTimestamp($key)
    {
        if (!file_exists($key)) {
            return 0;
        }
        return (int) @filemtime($key);
    }
}
classes/Gantry/Component/Twig/Node/TwigNodeAssets.php000060400000004267150750356240016636 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Twig\Node;

class TwigNodeAssets extends \Twig_Node implements \Twig_NodeCaptureInterface
{
    protected $tagName = 'assets';

    public function __construct(\Twig_Node $body = null, \Twig_Node_Expression $location = null, \Twig_Node_Expression $variables = null, $lineno = 0, $tag = null)
    {
        parent::__construct(['body' => $body, 'location' => $location, 'variables' => $variables], [], $lineno, $tag);
    }
    /**
     * Compiles the node to PHP.
     *
     * @param \Twig_Compiler $compiler A Twig_Compiler instance
     */
    public function compile(\Twig_Compiler $compiler)
    {
        $compiler->addDebugInfo($this)
            ->write("\$assetFunction = \$this->env->getFunction('parse_assets')->getCallable();\n")
            ->write('$assetVariables = ')
            ->subcompile($this->getNode('variables'))
            ->raw(";\n")
            ->write("if (\$assetVariables && !is_array(\$assetVariables)) {\n")
            ->indent()
            ->write("throw new UnexpectedValueException('{% {$this->tagName} with x %}: x is not an array');\n")
            ->outdent()
            ->write("}\n")
            ->write('$location = ')
            ->subcompile($this->getNode('location'))
            ->raw(";\n")
            ->write("if (\$location && !is_string(\$location)) {\n")
            ->indent()
            ->write("throw new UnexpectedValueException('{% {$this->tagName} in x %}: x is not a string');\n")
            ->outdent()
            ->write("}\n")
            ->write("\$priority = isset(\$assetVariables['priority']) ? \$assetVariables['priority'] : 0;\n")
            ->write("ob_start();\n")
            ->subcompile($this->getNode('body'))
            ->write("\$content = ob_get_clean();\n")
            ->write("\$assetFunction(\$content, \$location, \$priority);\n");
    }
}
classes/Gantry/Component/Twig/Node/TwigNodeTryCatch.php000060400000003233150750356240017105 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Twig\Node;

class TwigNodeTryCatch extends \Twig_Node
{
    public function __construct(\Twig_Node $try, \Twig_Node $catch = null, $lineno = 0, $tag = null)
    {
        parent::__construct(array('try' => $try, 'catch' => $catch), array(), $lineno, $tag);
    }

    /**
     * Compiles the node to PHP.
     *
     * @param \Twig_Compiler $compiler A Twig_Compiler instance
     */
    public function compile(\Twig_Compiler $compiler)
    {
        $compiler->addDebugInfo($this);

        $compiler
            ->write('try {')
        ;

        $compiler
            ->indent()
            ->subcompile($this->getNode('try'))
        ;

        if ($this->hasNode('catch') && null !== $this->getNode('catch')) {
            $compiler
                ->outdent()
                ->write('} catch (\Exception $e) {' . "\n")
                ->indent()
                ->write('if ($context[\'gantry\']->debug()) throw $e;' . "\n")
                ->write('GANTRY_DEBUGGER && method_exists(\'Gantry\\Debugger\', \'addException\') && \Gantry\Debugger::addException($e);' . "\n")
                ->write('$context[\'e\'] = $e;' . "\n")
                ->subcompile($this->getNode('catch'))
            ;
        }

        $compiler
            ->outdent()
            ->write("}\n");
    }
}
classes/Gantry/Component/Twig/Node/TwigNodePageblock.php000060400000004226150750356240017256 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Twig\Node;

class TwigNodePageblock extends \Twig_Node implements \Twig_NodeCaptureInterface
{
    protected $tagName = 'pageblock';

    public function __construct(\Twig_Node $body = null, \Twig_Node_Expression $location = null, \Twig_Node_Expression $variables = null, $lineno = 0, $tag = null)
    {
        parent::__construct(['body' => $body, 'location' => $location, 'variables' => $variables], [], $lineno, $tag);
    }
    /**
     * Compiles the node to PHP.
     *
     * @param \Twig_Compiler $compiler A Twig_Compiler instance
     */
    public function compile(\Twig_Compiler $compiler)
    {
        $compiler->addDebugInfo($this)
            ->write('$pageblockVariables = ')
            ->subcompile($this->getNode('variables'))
            ->raw(";\n")
            ->write("if (\$pageblockVariables && !is_array(\$pageblockVariables)) {\n")
            ->indent()
            ->write("throw new UnexpectedValueException('{% {$this->tagName} with x %}: x is not an array');\n")
            ->outdent()
            ->write("}\n")
            ->write('$location = ')
            ->subcompile($this->getNode('location'))
            ->raw(";\n")
            ->write("if (\$location && !is_string(\$location)) {\n")
            ->indent()
            ->write("throw new UnexpectedValueException('{% {$this->tagName} in x %}: x is not a string');\n")
            ->outdent()
            ->write("}\n")
            ->write("\$priority = isset(\$pageblockVariables['priority']) ? \$pageblockVariables['priority'] : 0;\n")
            ->write("ob_start();\n")
            ->subcompile($this->getNode('body'))
            ->write("\$content = ob_get_clean();\n")
            ->write("Gantry\Framework\Gantry::instance()['document']->addHtml(\$content, \$priority, \$location);\n");
    }
}
classes/Gantry/Component/Twig/Node/TwigNodeMarkdown.php000060400000002701150750356240017145 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Twig\Node;

class TwigNodeMarkdown extends \Twig_Node implements \Twig_NodeOutputInterface
{
    public function __construct(\Twig_Node $body, $lineno, $tag = 'markdown')
    {
        parent::__construct(['body' => $body], [], $lineno, $tag);
    }
    /**
     * Compiles the node to PHP.
     *
     * @param \Twig_Compiler A Twig_Compiler instance
     */
    public function compile(\Twig_Compiler $compiler)
    {
        $compiler
            ->addDebugInfo($this)
            ->write('ob_start();' . PHP_EOL)
            ->subcompile($this->getNode('body'))
            ->write('$content = ob_get_clean();' . PHP_EOL)
            ->write('preg_match("/^\s*/", $content, $matches);' . PHP_EOL)
            ->write('$lines = explode("\n", $content);' . PHP_EOL)
            ->write('$content = preg_replace(\'/^\' . $matches[0]. \'/\', "", $lines);' . PHP_EOL)
            ->write('$content = join("\n", $content);' . PHP_EOL)
            ->write('echo $this->env->getExtension(\'Gantry\Component\Twig\TwigExtension\')->markdownFunction($content);' . PHP_EOL);
    }
}
classes/Gantry/Component/Twig/Node/TwigNodeScripts.php000060400000000757150750356240017023 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Twig\Node;

class TwigNodeScripts extends TwigNodeAssets
{
    protected $tagName = 'scripts';
}
classes/Gantry/Component/Twig/Node/TwigNodeThrow.php000060400000002221150750356240016463 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Twig\Node;

class TwigNodeThrow extends \Twig_Node
{
    public function __construct(
        $code,
        \Twig_Node $message,
        $lineno = 0,
        $tag = null
    )
    {
        parent::__construct(['message' => $message], ['code' => $code], $lineno, $tag);
    }

    /**
     * Compiles the node to PHP.
     *
     * @param \Twig_Compiler $compiler A Twig_Compiler instance
     * @throws \LogicException
     */
    public function compile(\Twig_Compiler $compiler)
    {
        $compiler->addDebugInfo($this);

        $compiler
            ->write('throw new \RuntimeException(')
            ->subcompile($this->getNode('message'))
            ->write(', ')
            ->write($this->getAttribute('code') ?: 500)
            ->write(");\n");
    }
}
classes/Gantry/Component/Twig/Node/TwigNodeStyles.php000060400000000756150750356240016656 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Twig\Node;

class TwigNodeStyles extends TwigNodeScripts
{
    protected $tagName = 'styles';
}
classes/Gantry/Component/Twig/Node/TwigNodeSwitch.php000060400000004011150750356240016620 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Twig\Node;

class TwigNodeSwitch extends \Twig_Node
{
    public function __construct(\Twig_Node $value, \Twig_Node $cases, \Twig_Node $default = null, $lineno = 0, $tag = null)
    {
        parent::__construct(array('value' => $value, 'cases' => $cases, 'default' => $default), array(), $lineno, $tag);
    }

    /**
     * Compiles the node to PHP.
     *
     * @param \Twig_Compiler A Twig_Compiler instance
     */
    public function compile(\Twig_Compiler $compiler)
    {
        $compiler
            ->addDebugInfo($this)
            ->write('switch (')
            ->subcompile($this->getNode('value'))
            ->raw(") {\n")
            ->indent();

        foreach ($this->getNode('cases') as $case) {
            if (!$case->hasNode('body')) {
                continue;
            }

            foreach ($case->getNode('values') as $value) {
                $compiler
                    ->write('case ')
                    ->subcompile($value)
                    ->raw(":\n");
            }

            $compiler
                ->write("{\n")
                ->indent()
                ->subcompile($case->getNode('body'))
                ->write("break;\n")
                ->outdent()
                ->write("}\n");
        }

        if ($this->hasNode('default') && $this->getNode('default') !== null) {
            $compiler
                ->write("default:\n")
                ->write("{\n")
                ->indent()
                ->subcompile($this->getNode('default'))
                ->outdent()
                ->write("}\n");
        }

        $compiler
            ->outdent()
            ->write("}\n");
    }
}
classes/Gantry/Component/Twig/TwigExtension.php000060400000050657150750356250015662 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Twig;

use Gantry\Component\Content\Document\HtmlDocument;
use Gantry\Component\Gantry\GantryTrait;
use Gantry\Component\Translator\TranslatorInterface;
use Gantry\Component\Twig\TokenParser\TokenParserPageblock;
use Gantry\Component\Twig\TokenParser\TokenParserAssets;
use Gantry\Component\Twig\TokenParser\TokenParserScripts;
use Gantry\Component\Twig\TokenParser\TokenParserStyles;
use Gantry\Component\Twig\TokenParser\TokenParserTryCatch;
use Gantry\Component\Twig\TokenParser\TokenParserMarkdown;
use Gantry\Component\Twig\TokenParser\TokenParserSwitch;
use Gantry\Component\Twig\TokenParser\TokenParserThrow;
use Gantry\Framework\Gantry;
use Gantry\Framework\Markdown\Parsedown;
use Gantry\Framework\Markdown\ParsedownExtra;
use Gantry\Framework\Request;
use RocketTheme\Toolbox\ArrayTraits\NestedArrayAccess;

class TwigExtension extends \Twig_Extension implements \Twig_Extension_GlobalsInterface
{
    use GantryTrait;

    /**
     * Register some standard globals
     *
     * @return array
     */
    public function getGlobals()
    {
        return [
            'gantry' => static::gantry(),
        ];
    }

    /**
     * Return a list of all filters.
     *
     * @return array
     */
    public function getFilters()
    {
        $filters = [
            new \Twig_SimpleFilter('html', [$this, 'htmlFilter']),
            new \Twig_SimpleFilter('url', [$this, 'urlFunc']),
            new \Twig_SimpleFilter('trans_key', [$this, 'transKeyFilter']),
            new \Twig_SimpleFilter('trans', [$this, 'transFilter']),
            new \Twig_SimpleFilter('repeat', [$this, 'repeatFilter']),
            new \Twig_SimpleFilter('values', [$this, 'valuesFilter']),
            new \Twig_SimpleFilter('base64', 'base64_encode'),
            new \Twig_SimpleFilter('imagesize', [$this, 'imageSize']),
            new \Twig_SimpleFilter('truncate_text', [$this, 'truncateText']),
            new \Twig_SimpleFilter('attribute_array', [$this, 'attributeArrayFilter'], ['is_safe' => ['html']]),
        ];

        if (1 || GANTRY5_PLATFORM !== 'grav') {
            $filters = array_merge($filters, [
                new \Twig_SimpleFilter('fieldName', [$this, 'fieldNameFilter']),
                new \Twig_SimpleFilter('json_decode', [$this, 'jsonDecodeFilter']),
                new \Twig_SimpleFilter('truncate_html', [$this, 'truncateHtml']),
                new \Twig_SimpleFilter('markdown', [$this, 'markdownFunction'], ['is_safe' => ['html']]),
                new \Twig_SimpleFilter('nicetime', [$this, 'nicetimeFilter']),

                // Casting values
                new \Twig_SimpleFilter('string', [$this, 'stringFilter']),
                new \Twig_SimpleFilter('int', [$this, 'intFilter'], ['is_safe' => ['all']]),
                new \Twig_SimpleFilter('bool', [$this, 'boolFilter']),
                new \Twig_SimpleFilter('float', [$this, 'floatFilter'], ['is_safe' => ['all']]),
                new \Twig_SimpleFilter('array', [$this, 'arrayFilter']),
            ]);
        }

        return $filters;
    }

    /**
     * Return a list of all functions.
     *
     * @return array
     */
    public function getFunctions()
    {
        $functions = [
            new \Twig_SimpleFunction('nested', [$this, 'nestedFunc']),
            new \Twig_SimpleFunction('parse_assets', [$this, 'parseAssetsFunc']),
            new \Twig_SimpleFunction('colorContrast', [$this, 'colorContrastFunc']),
            new \Twig_SimpleFunction('get_cookie', [$this, 'getCookie']),
            new \Twig_SimpleFunction('preg_match', [$this, 'pregMatch']),
            new \Twig_SimpleFunction('imagesize', [$this, 'imageSize']),
            new \Twig_SimpleFunction('is_selected', [$this, 'is_selectedFunc']),
            new \Twig_SimpleFunction('url', [$this, 'urlFunc']),
        ];

        if (1 || GANTRY5_PLATFORM !== 'grav') {
            $functions = array_merge($functions, [
                new \Twig_SimpleFunction('array', [$this, 'arrayFilter']),
                new \Twig_SimpleFunction('json_decode', [$this, 'jsonDecodeFilter']),
            ]);
        }

        return $functions;
    }

    /**
     * @return array
     */
    public function getTokenParsers()
    {
        return [
            new TokenParserPageblock(),
            new TokenParserAssets(),
            new TokenParserScripts(),
            new TokenParserStyles(),
            new TokenParserThrow(),
            new TokenParserTryCatch(),
            new TokenParserMarkdown(),
            new TokenParserSwitch()
        ];
    }

    /**
     * Filters field name by changing dot notation into array notation.
     *
     * @param  string  $str
     * @return string
     */
    public function fieldNameFilter($str)
    {
        $path = explode('.', $str);

        return array_shift($path) . ($path ? '[' . implode('][', $path) . ']' : '');
    }

    /**
     * Translate by using key, default on original string.
     *
     * @param $str
     * @return string
     */
    public function transKeyFilter($str)
    {
        $params = \func_get_args();
        array_shift($params);

        $key = preg_replace('|[^A-Z0-9]+|', '_', strtoupper(implode('_', $params)));

        $translation = $this->transFilter($key);

        return $translation === $key ? $str : $translation;
    }

    /**
     * Translate string.
     *
     * @param  string  $str
     * @return string
     */
    public function transFilter($str)
    {
        /** @var TranslatorInterface $translator */
        static $translator;

        $params = \func_get_args();

        if (!$translator) {
            $translator = self::gantry()['translator'];
        }

        return \call_user_func_array([$translator, 'translate'], $params);
    }

    /**
     * Repeat string x times.
     *
     * @param  string  $str
     * @param  int  $count
     * @return string
     */
    public function repeatFilter($str, $count)
    {
        return str_repeat($str, max(0, (int) $count));
    }


    /**
     * Decodes string from JSON.
     *
     * @param  string  $str
     * @param  bool  $assoc
     * @param int $depth
     * @param int $options
     * @return array
     */
    public function jsonDecodeFilter($str, $assoc = false, $depth = 512, $options = 0)
    {
        return json_decode(html_entity_decode($str), $assoc, $depth, $options);
    }

    public function imageSize($src, $attrib = true, $remote = false)
    {
        // TODO: need to better handle absolute and relative paths
        //$url = Gantry::instance()['document']->url(trim((string) $src), false, false);
        $width = $height = null;
        $sizes = ['width' => $width, 'height' => $height];
        $attr = '';

        if (@is_file($src) || $remote) {
            try {
                list($width, $height,, $attr) = @getimagesize($src);
            } catch (\Exception $e) {}

            $sizes['width'] = $width;
            $sizes['height'] = $height;
        }

        return $attrib ? $attr : $sizes;
    }

    /**
     * Reindexes values in array.
     *
     * @param array $array
     * @return array
     */
    public function valuesFilter(array $array)
    {
        return array_values($array);
    }

    /**
     * Casts input to string.
     *
     * @param mixed $input
     * @return string
     */
    public function stringFilter($input)
    {
        return (string) $input;
    }


    /**
     * Casts input to int.
     *
     * @param mixed $input
     * @return int
     */
    public function intFilter($input)
    {
        return (int) $input;
    }

    /**
     * Casts input to bool.
     *
     * @param mixed $input
     * @return bool
     */
    public function boolFilter($input)
    {
        return (bool) $input;
    }

    /**
     * Casts input to float.
     *
     * @param mixed $input
     * @return float
     */
    public function floatFilter($input)
    {
        return (float) $input;
    }

    /**
     * Casts input to array.
     *
     * @param mixed $input
     * @return array
     */
    public function arrayFilter($input)
    {
        return (array) $input;
    }

    /**
     * Takes array of attribute keys and values and converts it to properly escaped HTML attributes.
     *
     * @example ['data-id' => 'id', 'data-key' => 'key'] => ' data-id="id" data-key="key"'
     * @example [['data-id' => 'id'], ['data-key' => 'key']] => ' data-id="id" data-key="key"'
     *
     * @param string|string[] $input
     * @return string
     */
    public function attributeArrayFilter($input)
    {
        if (\is_string($input)) {
            return $input;
        }

        $array = [];
        foreach ((array) $input as $key => $value) {
            if (\is_array($value)) {
                foreach ((array) $value as $key2 => $value2) {
                    $array[] = HtmlDocument::escape($key2) . '="' . HtmlDocument::escape($value2, 'html_attr') . '"';
                }
            } elseif ($key) {
                $array[] = HtmlDocument::escape($key) . '="' . HtmlDocument::escape($value, 'html_attr') . '"';
            }
        }
        return $array ? ' ' . implode(' ', $array) : '';
    }

    public function is_selectedFunc($a, $b)
    {
        $b = (array) $b;
        array_walk(
            $b,
            function (&$item) {
                if (\is_bool($item)) {
                    $item = (int) $item;
                }
                $item = (string) $item;
            }
        );

        return \in_array((string) $a, $b, true);
    }

    /**
     * Truncate text by number of characters but can cut off words. Removes html tags.
     *
     * @param  string $string
     * @param  int    $limit       Max number of characters.
     *
     * @return string
     */
    public function truncateText($string, $limit = 150)
    {
        $platform = Gantry::instance()['platform'];

        return $platform->truncate($string, (int) $limit, false);
    }

    /**
     * Truncate text by number of characters but can cut off words.
     *
     * @param  string $string
     * @param  int    $limit       Max number of characters.
     *
     * @return string
     */
    public function truncateHtml($string, $limit = 150)
    {
        $platform = Gantry::instance()['platform'];

        return $platform->truncate($string, (int) $limit, true);
    }

    /**
     * @param string $string
     * @param bool $block  Block or Line processing
     * @param array $settings
     * @return mixed|string
     */
    public function markdownFunction($string, $block = true, array $settings = null)
    {
        // Initialize the preferred variant of Parsedown
        if ($settings['extra']) {
            $parsedown = new ParsedownExtra($settings);
        } else {
            $parsedown = new Parsedown($settings);
        }

        if ($block) {
            $string = $parsedown->text($string);
        } else {
            $string = $parsedown->line($string);
        }

        return $string;
    }

    /**
     * Get value by using dot notation for nested arrays/objects.
     *
     * @example {{ nested(array, 'this.is.my.nested.variable')|json_encode }}
     *
     * @param array   $items      Array of items.
     * @param string  $name       Dot separated path to the requested value.
     * @param mixed   $default    Default value (or null).
     * @param string  $separator  Separator, defaults to '.'
     * @return mixed  Value.
     */
    public function nestedFunc($items, $name, $default = null, $separator = '.')
    {
        if ($items instanceof NestedArrayAccess) {
            return $items->get($name, $default, $separator);
        }
        $path = explode($separator, $name);
        $current = $items;
        foreach ($path as $field) {
            if (\is_object($current) && isset($current->{$field})) {
                $current = $current->{$field};
            } elseif (\is_array($current) && isset($current[$field])) {
                $current = $current[$field];
            } else {
                return $default;
            }
        }

        return $current;
    }

    /**
     * Return URL to the resource.
     *
     * @example {{ url('theme://images/logo.png')|default('http://www.placehold.it/150x100/f4f4f4') }}
     *
     * @param  string $input       Resource to be located.
     * @param  bool $domain        True to include domain name.
     * @param  int $timestamp_age  Append timestamp to files that are less than x seconds old. Defaults to a week.
     *                             Use value <= 0 to disable the feature.
     * @return string|null         Returns url to the resource or null if resource was not found.
     */
    public function urlFunc($input, $domain = false, $timestamp_age = null)
    {
        $gantry = Gantry::instance();

        return $gantry['document']->url(trim((string) $input), $domain, $timestamp_age);
    }

    /**
     * Filter stream URLs from HTML input.
     *
     * @param  string $str          HTML input to be filtered.
     * @param  bool $domain         True to include domain name.
     * @param  int $timestamp_age   Append timestamp to files that are less than x seconds old. Defaults to a week.
     *                              Use value <= 0 to disable the feature.
     * @return string               Returns modified HTML.
     */
    public function htmlFilter($str, $domain = false, $timestamp_age = null)
    {
        $gantry = Gantry::instance();

        return $gantry['document']->urlFilter($str, $domain, $timestamp_age);
    }

    /**
     * @param \libXMLError $error
     * @param string $input
     * @throws \RuntimeException
     */
    protected function dealXmlError(\libXMLError $error, $input)
    {
        switch ($error->level) {
            case LIBXML_ERR_WARNING:
                $level = 1;
                $message = "DOM Warning {$error->code}: ";
                break;
            case LIBXML_ERR_ERROR:
                $level = 2;
                $message = "DOM Error {$error->code}: ";
                break;
            case LIBXML_ERR_FATAL:
                $level = 3;
                $message = "Fatal DOM Error {$error->code}: ";
                break;
            default:
                $level = 3;
                $message = "Unknown DOM Error {$error->code}: ";
        }
        $message .= "{$error->message} while parsing:\n{$input}\n";

        if ($level <= 2 && !Gantry::instance()->debug()) {
            return;
        }

        throw new \RuntimeException($message, 500);
    }

    /**
     * Move supported document head elements into platform document object, return all
     * unsupported tags in a string.
     *
     * @param string $input
     * @param string $location
     * @param int $priority
     * @return string
     */
    public function parseAssetsFunc($input, $location = 'head', $priority = 0)
    {
        if ($location === 'head') {
            $scope = 'head';
            $html = "<!doctype html>\n<html><head>{$input}</head><body></body></html>";
        } else {
            $scope = 'body';
            $html = "<!doctype html>\n<html><head></head><body>{$input}</body></html>";
        }

        libxml_clear_errors();

        $internal = libxml_use_internal_errors(true);

        $doc = new \DOMDocument();
        $doc->loadHTML($html);
        foreach (libxml_get_errors() as $error) {
            $this->dealXmlError($error, $html);
        }

        libxml_clear_errors();

        libxml_use_internal_errors($internal);

        $raw = [];
        /** @var \DomElement $element */
        foreach ($doc->getElementsByTagName($scope)->item(0)->childNodes as $element) {
            if (empty($element->tagName)) {
                continue;
            }
            $result = ['tag' => $element->tagName, 'content' => $element->textContent];
            foreach ($element->attributes as $attribute) {
                $result[$attribute->name] = $attribute->value;
            }
            $success = Gantry::instance()['document']->addHeaderTag($result, $location, (int) $priority);
            if (!$success) {
                $raw[] = $doc->saveHTML($element);
            }
        }

        return implode("\n", $raw);
    }

    public function colorContrastFunc($value)
    {
        $value = str_replace(' ', '', $value);
        $rgb = new \stdClass;
        $opacity = 1;

        if (0 !== strpos($value, 'rgb')) {
            $value = str_replace('#', '', $value);
            if (\strlen($value) === 3) {
                $h0 = str_repeat(substr($value, 0, 1), 2);
                $h1 = str_repeat(substr($value, 1, 1), 2);
                $h2 = str_repeat(substr($value, 2, 1), 2);
                $value = $h0 . $h1 . $h2;
            }

            $rgb->r = hexdec(substr($value, 0, 2));
            $rgb->g = hexdec(substr($value, 2, 2));
            $rgb->b = hexdec(substr($value, 4, 2));
        } else {
            preg_match("/(\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(1\\.|0?\\.?[0-9]?+))?/uim", $value, $matches);
            $rgb->r = $matches[1];
            $rgb->g = $matches[2];
            $rgb->b = $matches[3];
            $opacity = isset($matches[4]) ? $matches[4] : 1;
            $opacity = substr($opacity, 0, 1) === '.' ? '0' . $opacity : $opacity;
        }

        $yiq = ((($rgb->r * 299) + ($rgb->g * 587) + ($rgb->b * 114)) / 1000) >= 128;
        $contrast = $yiq || (!$opacity || (float) $opacity < 0.35);

        return $contrast;
    }

    /**
     * Displays a facebook style 'time ago' formatted date/time.
     *
     * @param string|int $date
     * @param bool $long_strings
     *
     * @return string
     */
    public function nicetimeFilter($date, $long_strings = true)
    {
        static $lengths = [60, 60, 24, 7, 4.35, 12, 10];
        static $periods_long = [
            'GANTRY5_ENGINE_NICETIME_SECOND',
            'GANTRY5_ENGINE_NICETIME_MINUTE',
            'GANTRY5_ENGINE_NICETIME_HOUR',
            'GANTRY5_ENGINE_NICETIME_DAY',
            'GANTRY5_ENGINE_NICETIME_WEEK',
            'GANTRY5_ENGINE_NICETIME_MONTH',
            'GANTRY5_ENGINE_NICETIME_YEAR',
            'GANTRY5_ENGINE_NICETIME_DECADE'
        ];
        static $periods_short = [
            'GANTRY5_ENGINE_NICETIME_SEC',
            'GANTRY5_ENGINE_NICETIME_MIN',
            'GANTRY5_ENGINE_NICETIME_HR',
            'GANTRY5_ENGINE_NICETIME_DAY',
            'GANTRY5_ENGINE_NICETIME_WK',
            'GANTRY5_ENGINE_NICETIME_MO',
            'GANTRY5_ENGINE_NICETIME_YR',
            'GANTRY5_ENGINE_NICETIME_DEC'
        ];

        if (empty($date)) {
            return $this->transFilter('GANTRY5_ENGINE_NICETIME_NO_DATE_PROVIDED');
        }

        $periods = $long_strings ? $periods_long : $periods_short;

        $now = time();

        // check if unix timestamp
        if ((string)(int)$date === (string)$date) {
            $unix_date = (int)$date;
        } else {
            $unix_date = strtotime($date);
        }

        // check validity of date
        if (!$unix_date) {
            return $this->transFilter('GANTRY5_ENGINE_NICETIME_BAD_DATE');
        }

        // is it future date or past date
        if ($now > $unix_date) {
            $difference = $now - $unix_date;
            $tense      = $this->transFilter('GANTRY5_ENGINE_NICETIME_AGO');

        } else if ($now === $unix_date) {
            $difference = $now - $unix_date;
            $tense      = $this->transFilter('GANTRY5_ENGINE_NICETIME_JUST_NOW');

        } else {
            $difference = $unix_date - $now;
            $tense      = $this->transFilter('GANTRY5_ENGINE_NICETIME_FROM_NOW');
        }


        for ($j = 0; $difference >= $lengths[$j] && $j < \count($lengths) - 1; $j++) {
            $difference /= $lengths[$j];
        }
        $period = $periods[$j];

        $difference = round($difference);

        if ($difference !== 1) {
            $period .= '_PLURAL';
        }

        $period = $this->transFilter($period);

        if ($now === $unix_date) {
            return $tense;
        }

        return "{$difference} {$period} {$tense}";
    }

    public function getCookie($name)
    {
        $gantry = Gantry::instance();

        /** @var Request $request */
        $request = $gantry['request'];

        return $request->cookie[$name];
    }

    public function pregMatch($pattern, $subject, &$matches = [])
    {
        preg_match($pattern, $subject, $matches);

        return $matches ?: false;
    }
}
classes/Gantry/Component/Twig/TokenParser/TokenParserTryCatch.php000060400000003514150750356250021175 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Twig\TokenParser;

use Gantry\Component\Twig\Node\TwigNodeTryCatch;

/**
 * Handles try/catch in template file.
 *
 * <pre>
 * {% try %}
 *    <li>{{ user.get('name') }}</li>
 * {% catch %}
 *    {{ e.message }}
 * {% endcatch %}
 * </pre>
 */
class TokenParserTryCatch extends \Twig_TokenParser
{
    /**
     * Parses a token and returns a node.
     *
     * @param \Twig_Token $token A Twig_Token instance
     *
     * @return \Twig_Node A Twig_Node instance
     */
    public function parse(\Twig_Token $token)
    {
        $lineno = $token->getLine();
        $stream = $this->parser->getStream();

        $stream->expect(\Twig_Token::BLOCK_END_TYPE);
        $try = $this->parser->subparse([$this, 'decideCatch']);
        $stream->next();
        $stream->expect(\Twig_Token::BLOCK_END_TYPE);
        $catch = $this->parser->subparse([$this, 'decideEnd']);
        $stream->next();
        $stream->expect(\Twig_Token::BLOCK_END_TYPE);

        return new TwigNodeTryCatch($try, $catch, $lineno, $this->getTag());
    }

    public function decideCatch(\Twig_Token $token)
    {
        return $token->test(array('catch'));
    }

    public function decideEnd(\Twig_Token $token)
    {
        return $token->test(array('endtry')) || $token->test(array('endcatch'));
    }

    /**
     * Gets the tag name associated with this token parser.
     *
     * @return string The tag name
     */
    public function getTag()
    {
        return 'try';
    }
}
classes/Gantry/Component/Twig/TokenParser/TokenParserMarkdown.php000060400000002767150750356250021247 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Twig\TokenParser;

use Gantry\Component\Twig\Node\TwigNodeMarkdown;

/**
 * Adds ability to inline markdown between tags.
 *
 * {% markdown %}
 * This is **bold** and this _underlined_
 *
 * 1. This is a bullet list
 * 2. This is another item in that same list
 * {% endmarkdown %}
 */
class TokenParserMarkdown extends \Twig_TokenParser
{
    /**
     * {@inheritdoc}
     */
    public function parse(\Twig_Token $token)
    {
        $lineno = $token->getLine();
        $this->parser->getStream()->expect(\Twig_Token::BLOCK_END_TYPE);
        $body = $this->parser->subparse(array($this, 'decideMarkdownEnd'), true);
        $this->parser->getStream()->expect(\Twig_Token::BLOCK_END_TYPE);
        return new TwigNodeMarkdown($body, $lineno, $this->getTag());
    }

    /**
     * Decide if current token marks end of Markdown block.
     *
     * @param \Twig_Token $token
     * @return bool
     */
    public function decideMarkdownEnd(\Twig_Token $token)
    {
        return $token->test('endmarkdown');
    }

    /**
     * {@inheritdoc}
     */
    public function getTag()
    {
        return 'markdown';
    }
}
classes/Gantry/Component/Twig/TokenParser/TokenParserThrow.php000060400000002564150750356250020563 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Twig\TokenParser;

use Gantry\Component\Twig\Node\TwigNodeThrow;

/**
 * Handles try/catch in template file.
 *
 * <pre>
 * {% throw 404 'Not Found' %}
 * </pre>
 */
class TokenParserThrow extends \Twig_TokenParser
{
    /**
     * Parses a token and returns a node.
     *
     * @param \Twig_Token $token A Twig_Token instance
     *
     * @return \Twig_Node A Twig_Node instance
     */
    public function parse(\Twig_Token $token)
    {
        $lineno = $token->getLine();
        $stream = $this->parser->getStream();

        $code = $stream->expect(\Twig_Token::NUMBER_TYPE)->getValue();
        $message = $this->parser->getExpressionParser()->parseExpression();
        $stream->expect(\Twig_Token::BLOCK_END_TYPE);

        return new TwigNodeThrow($code, $message, $lineno, $this->getTag());
    }

    /**
     * Gets the tag name associated with this token parser.
     *
     * @return string The tag name
     */
    public function getTag()
    {
        return 'throw';
    }
}
classes/Gantry/Component/Twig/TokenParser/TokenParserPageblock.php000060400000004534150750356250021346 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Twig\TokenParser;

use Gantry\Component\Twig\Node\TwigNodePageblock;

/**
 * Adds javascript / style assets to head/footer/custom location.
 *
 * {% pageblock in 'bottom' with { priority: 0 } %}
 *   <div>Bottom HTML</div>
 * {% endpageblock -%}
 */
class TokenParserPageblock extends \Twig_TokenParser
{
    /**
     * Parses a token and returns a node.
     *
     * @param \Twig_Token $token A Twig_Token instance
     *
     * @return \Twig_Node A Twig_Node instance
     */
    public function parse(\Twig_Token $token)
    {
        $lineno = $token->getLine();
        $stream = $this->parser->getStream();

        list($location, $variables) = $this->parseArguments($token);

        $content = $this->parser->subparse([$this, 'decideBlockEnd'], true);
        $stream->expect(\Twig_Token::BLOCK_END_TYPE);

        return new TwigNodePageblock($content, $location, $variables, $lineno, $this->getTag());
    }

    /**
     * @param \Twig_Token $token
     * @return array
     */
    protected function parseArguments(\Twig_Token $token)
    {
        $stream = $this->parser->getStream();
        $lineno = $token->getLine();
        $location = new \Twig_Node_Expression_Constant($stream->expect(\Twig_Token::NAME_TYPE)->getValue(), $lineno);

        if ($stream->nextIf(\Twig_Token::NAME_TYPE, 'with')) {
            $variables = $this->parser->getExpressionParser()->parseExpression();
        } else {
            $lineno = $token->getLine();
            $variables = new \Twig_Node_Expression_Array([], $lineno);
            $variables->setAttribute('priority', 0);
        }
        $stream->expect(\Twig_Token::BLOCK_END_TYPE);

        return [$location, $variables];
    }

    public function decideBlockEnd(\Twig_Token $token)
    {
        return $token->test('endpageblock');
    }

    /**
     * Gets the tag name associated with this token parser.
     *
     * @return string The tag name
     */
    public function getTag()
    {
        return 'pageblock';
    }
}
classes/Gantry/Component/Twig/TokenParser/TokenParserSwitch.php000060400000007354150750356250020723 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Twig\TokenParser;

use Gantry\Component\Twig\Node\TwigNodeSwitch;

/**
 * Adds ability use elegant switch instead of ungainly if statements
 *
 * {% switch type %}
 *   {% case 'foo' %}
 *      {{ my_data.foo }}
 *   {% case 'bar' %}
 *      {{ my_data.bar }}
 *   {% default %}
 *      {{ my_data.default }}
 * {% endswitch %}
 */
class TokenParserSwitch extends \Twig_TokenParser
{
    /**
     * {@inheritdoc}
     */
    public function parse(\Twig_Token $token)
    {
        $lineno = $token->getLine();
        $stream = $this->parser->getStream();

        $name = $this->parser->getExpressionParser()->parseExpression();
        $stream->expect(\Twig_Token::BLOCK_END_TYPE);

        // There can be some whitespace between the {% switch %} and first {% case %} tag.
        while ($stream->getCurrent()->getType() === \Twig_Token::TEXT_TYPE && trim($stream->getCurrent()->getValue()) === '') {
            $stream->next();
        }

        $stream->expect(\Twig_Token::BLOCK_START_TYPE);

        $expressionParser = $this->parser->getExpressionParser();

        $default = null;
        $cases = [];
        $end = false;

        while (!$end) {
            $next = $stream->next();

            switch ($next->getValue()) {
                case 'case':
                    $values = [];

                    while (true) {
                        $values[] = $expressionParser->parsePrimaryExpression();
                        // Multiple allowed values?
                        if ($stream->test(\Twig_Token::OPERATOR_TYPE, 'or')) {
                            $stream->next();
                        } else {
                            break;
                        }
                    }

                    $stream->expect(\Twig_Token::BLOCK_END_TYPE);
                    $body = $this->parser->subparse(array($this, 'decideIfFork'));
                    $cases[] = new \Twig_Node([
                        'values' => new \Twig_Node($values),
                        'body' => $body
                    ]);
                    break;

                case 'default':
                    $stream->expect(\Twig_Token::BLOCK_END_TYPE);
                    $default = $this->parser->subparse(array($this, 'decideIfEnd'));
                    break;

                case 'endswitch':
                    $end = true;
                    break;

                default:
                    throw new \Twig_Error_Syntax(sprintf('Unexpected end of template. Twig was looking for the following tags "case", "default", or "endswitch" to close the "switch" block started at line %d)', $lineno), -1);
            }
        }

        $stream->expect(\Twig_Token::BLOCK_END_TYPE);

        return new TwigNodeSwitch($name, new \Twig_Node($cases), $default, $lineno, $this->getTag());
    }

    /**
     * Decide if current token marks switch logic.
     *
     * @param \Twig_Token $token
     * @return bool
     */
    public function decideIfFork(\Twig_Token $token)
    {
        return $token->test(array('case', 'default', 'endswitch'));
    }

    /**
     * Decide if current token marks end of swtich block.
     *
     * @param \Twig_Token $token
     * @return bool
     */
    public function decideIfEnd(\Twig_Token $token)
    {
        return $token->test(array('endswitch'));
    }

    /**
     * {@inheritdoc}
     */
    public function getTag()
    {
        return 'switch';
    }
}
classes/Gantry/Component/Twig/TokenParser/TokenParserScripts.php000060400000001731150750356250021102 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Twig\TokenParser;

/**
 * Adds scripts to head/footer/custom location.
 *
 * {% scripts in 'head' with { priority: 2 } %}
 *   <script type="text/javascript" src="{{ url('gantry-theme://js/my.js') }}"></script>
 * {% endscripts -%}
 */
class TokenParserScripts extends TokenParserAssets
{
    public function decideBlockEnd(\Twig_Token $token)
    {
        return $token->test('endscripts');
    }

    /**
     * Gets the tag name associated with this token parser.
     *
     * @return string The tag name
     */
    public function getTag()
    {
        return 'scripts';
    }
}
classes/Gantry/Component/Twig/TokenParser/TokenParserStyles.php000060400000001715150750356250020740 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Twig\TokenParser;

/**
 * Adds stylesheets to document.
 *
 * {% styles with { priority: 2 } %}
 *   <link rel="stylesheet" href="{{ url('gantry-assets://css/font-awesome.min.css') }}" type="text/css"/>
 * {% endstyles -%}
 */
class TokenParserStyles extends TokenParserAssets
{
    public function decideBlockEnd(\Twig_Token $token)
    {
        return $token->test('endstyles');
    }

    /**
     * Gets the tag name associated with this token parser.
     *
     * @return string The tag name
     */
    public function getTag()
    {
        return 'styles';
    }
}
classes/Gantry/Component/Twig/TokenParser/TokenParserAssets.php000060400000005221150750356250020713 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Twig\TokenParser;

use Gantry\Component\Twig\Node\TwigNodeScripts;

/**
 * Adds javascript / style assets to head/footer/custom location.
 *
 * {% assets in 'head' with { priority: 2 } %}
 *   <script type="text/javascript" src="{{ url('gantry-theme://js/my.js') }}"></script>
 *   <link rel="stylesheet" href="{{ url('gantry-assets://css/font-awesome.min.css') }}" type="text/css"/>
 * {% endassets -%}
 */
class TokenParserAssets extends \Twig_TokenParser
{
    /**
     * Parses a token and returns a node.
     *
     * @param \Twig_Token $token A Twig_Token instance
     *
     * @return \Twig_Node A Twig_Node instance
     */
    public function parse(\Twig_Token $token)
    {
        $lineno = $token->getLine();
        $stream = $this->parser->getStream();

        list($location, $variables) = $this->parseArguments($token);

        $content = $this->parser->subparse([$this, 'decideBlockEnd'], true);
        $stream->expect(\Twig_Token::BLOCK_END_TYPE);

        return new TwigNodeScripts($content, $location, $variables, $lineno, $this->getTag());
    }

    /**
     * @param \Twig_Token $token
     * @return array
     */
    protected function parseArguments(\Twig_Token $token)
    {
        $stream = $this->parser->getStream();
        $location = null;
        if ($stream->nextIf(\Twig_Token::OPERATOR_TYPE, 'in')) {
            $location = $this->parser->getExpressionParser()->parseExpression();
        } else {
            $lineno = $token->getLine();
            $location = new \Twig_Node_Expression_Constant('head', $lineno);
        }

        if ($stream->nextIf(\Twig_Token::NAME_TYPE, 'with')) {
            $variables = $this->parser->getExpressionParser()->parseExpression();
        } else {
            $lineno = $token->getLine();
            $variables = new \Twig_Node_Expression_Array([], $lineno);
            $variables->setAttribute('priority', 0);
        }
        $stream->expect(\Twig_Token::BLOCK_END_TYPE);

        return [$location, $variables];
    }

    public function decideBlockEnd(\Twig_Token $token)
    {
        return $token->test('endassets');
    }

    /**
     * Gets the tag name associated with this token parser.
     *
     * @return string The tag name
     */
    public function getTag()
    {
        return 'assets';
    }
}
classes/Gantry/Component/Url/Url.php000060400000007731150750356250013440 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Component\Url;

class Url
{
    /**
     * UTF8 aware parse_url().
     *
     * @param  string $url
     * @param  bool   $queryArray
     * @return array|bool
     */
    public static function parse($url, $queryArray = false)
    {
        $encodedUrl = preg_replace_callback(
            '%[^:/@?&=#]+%usD',
            function ($matches) { return rawurlencode($matches[0]); },
            $url
        );

        // PHP versions below 5.4.7 have troubles with URLs without scheme, so lets help by fixing that.
        // TODO: This is not needed in PHP >= 5.4.7, but for now we need to test if the function works.
        if ('/' === $encodedUrl[0] && false !== strpos($encodedUrl, '://')) {
            $schemeless = true;

            // Fix the path so that parse_url() will not return false.
            $parts = parse_url('fake://fake.com' . $encodedUrl);

            // Remove the fake values.
            unset($parts['scheme'], $parts['host']);

        } else {
            $parts = parse_url($encodedUrl);
        }

        if (!$parts) {
            return false;
        }

        // PHP versions below 5.4.7 do not understand schemeless URLs starting with // either.
        if (isset($schemeless) && !isset($parts['host']) && 0 === strpos($encodedUrl, '//')) {
            // Path is stored in format: //[host]/[path], so let's fix it.
            list($parts['host'], $path) = explode('/', substr($parts['path'], 2), 2);
            $parts['path'] = "/{$path}";
        }

        foreach($parts as $name => $value) {
            $parts[$name] = rawurldecode($value);
        }

        // Return query string also as an array if requested.
        if ($queryArray) {
            $parts['vars'] = isset($parts['query']) ? static::parseQuery($parts['query']) : [];
        }

        return $parts;
    }

    /**
     * Parse query string and return array.
     *
     * @param $query
     * @return mixed
     */
    public static function parseQuery($query)
    {
        parse_str($query, $vars);

        return $vars;
    }

    /**
     * Build parsed URL array.
     *
     * @param array $parsed_url
     * @return string
     */
    public static function build(array $parsed_url)
    {
        // Build query string from variables if they are set.
        if (isset($parsed_url['vars'])) {
            $parsed_url['query'] = static::buildQuery($parsed_url['vars']);
        }

        // Build individual parts of the url.
        $scheme   = isset($parsed_url['scheme']) ? $parsed_url['scheme'] . '://' : '';
        $host     = isset($parsed_url['host']) ? $parsed_url['host'] : '';
        $port     = isset($parsed_url['port']) ? ':' . $parsed_url['port'] : '';
        $user     = isset($parsed_url['user']) ? $parsed_url['user'] : '';
        $pass     = isset($parsed_url['pass']) ? ':' . $parsed_url['pass']  : '';
        $pass     = ($user || $pass) ? "{$pass}@" : '';
        $path     = isset($parsed_url['path']) ? $parsed_url['path'] : '';
        $query    = isset($parsed_url['query']) ? '?' . $parsed_url['query'] : '';
        $fragment = isset($parsed_url['fragment']) ? '#' . $parsed_url['fragment'] : '';
        $scheme   = $host && !$scheme ? '//' : $scheme;

        return "{$scheme}{$user}{$pass}{$host}{$port}{$path}{$query}{$fragment}";
    }

    /**
     * Build query string from variables.
     *
     * @param array $vars
     * @return null|string
     */
    public static function buildQuery(array $vars)
    {
        $list = [];
        foreach ($vars as $key => $var) {
            $list[] = $key . '=' . rawurlencode($var);
        }

        return $list ? implode('&', $list) : null;
    }
}
classes/Gantry/Framework/Configurations.php000060400000000727150750356250015117 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Framework;

/**
 * @deprecated 5.1.1
 */
class Configurations extends Outlines
{
}
classes/Gantry/Framework/Platform.php000060400000041205150750356250013705 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Framework;

use Gantry\Admin\ThemeList;
use Gantry\Component\Filesystem\Folder;
use Gantry\Framework\Base\Platform as BasePlatform;
use Gantry\Joomla\Category\CategoryFinder;
use Gantry\Joomla\Content\Content;
use Gantry\Joomla\Content\ContentFinder;

/**
 * The Platform Configuration class contains configuration information.
 *
 * @author RocketTheme
 * @license MIT
 */

class Platform extends BasePlatform
{
    public $no_base_layout = false;
    public $module_wrapper = '<div class="platform-content">%s</div>';
    public $component_wrapper = '<div class="platform-content row-fluid"><div class="span12">%s</div></div>';

    protected $name = 'joomla';
    protected $features = ['modules' => true];
    protected $settings_key = 'return';
    protected $modules;


    public function setModuleWrapper($html)
    {
        $this->module_wrapper = $html;
    }

    public function setComponentWrapper($html)
    {
        $this->component_wrapper = $html;
    }

    public function init()
    {
        // Support linked sample data.
        $theme = isset($this->container['theme.name']) ? $this->container['theme.name'] : null;
        if ($theme && is_dir(JPATH_ROOT . "/media/gantry5/themes/{$theme}/media-shared")) {
            $custom = JPATH_ROOT . "/media/gantry5/themes/{$theme}/custom";
            if (!is_dir($custom)) {
                // First run -- copy configuration into a single location.
                $shared = JPATH_ROOT . "/media/gantry5/themes/{$theme}/template-shared";
                $demo = JPATH_ROOT . "/media/gantry5/themes/{$theme}/template-demo";

                try {
                    Folder::create($custom);
                } catch (\Exception $e) {
                    throw new \RuntimeException(sprintf("Failed to create folder '%s'.", $custom), 500, $e);
                }

                if (is_dir("{$shared}/custom/config")) {
                    Folder::copy("{$shared}/custom/config", "{$custom}/config");
                }
                if (is_dir("{$demo}/custom/config")) {
                    Folder::copy("{$demo}/custom/config", "{$custom}/config");
                }
            }
            array_unshift($this->items['streams']['gantry-theme']['prefixes'][''], "media/gantry5/themes/{$theme}/template-shared");
            array_unshift($this->items['streams']['gantry-theme']['prefixes'][''], "media/gantry5/themes/{$theme}/template-demo");
            array_unshift($this->items['streams']['gantry-theme']['prefixes'][''], "media/gantry5/themes/{$theme}/custom");
        }

        return parent::init();
    }

    public function getCachePath()
    {
        $path = \JFactory::getConfig()->get('cache_path', JPATH_SITE . '/cache');
        if (!is_dir($path)) {
            throw new \RuntimeException('Joomla cache path does not exist!');
        }

        return $path . '/gantry5';
    }

    public function getThemesPaths()
    {
        return ['' => ['templates']];
    }

    public function getMediaPaths()
    {
        $paths = ['images'];

        // Support linked sample data.
        $theme = isset($this->container['theme.name']) ? $this->container['theme.name'] : null;
        if ($theme && is_dir(JPATH_ROOT . "/media/gantry5/themes/{$theme}/media-shared")) {
            array_unshift($paths, "media/gantry5/themes/{$theme}/media-shared");
            array_unshift($paths, "media/gantry5/themes/{$theme}/media-demo");
        }

        if ($this->container['global']->get('use_media_folder', false)) {
            array_push($paths, 'gantry-theme://images');
        } else {
            array_unshift($paths, 'gantry-theme://images');
        }

        return ['' => $paths];
    }

    public function getEnginesPaths()
    {
        if (is_link(GANTRY5_ROOT . '/media/gantry5/engines')) {
            // Development environment.
            return ['' => ["media/gantry5/engines/{$this->name}", 'media/gantry5/engines/common']];
        }
        return ['' => ['media/gantry5/engines']];
    }

    public function getAssetsPaths()
    {
        if (is_link(GANTRY5_ROOT . '/media/gantry5/assets')) {
            // Development environment.
            return ['' => ['gantry-theme://', "media/gantry5/assets/{$this->name}", 'media/gantry5/assets/common']];
        }

        return ['' => ['gantry-theme://', 'media/gantry5/assets']];
    }

    /**
     * Get preview url for individual theme.
     *
     * @param string $theme
     * @return string
     */
    public function getThemePreviewUrl($theme)
    {
        return (string)(int) $theme === (string) $theme ? \JUri::root(false) . 'index.php?templateStyle=' . $theme : null;
    }

    /**
     * Get administrator url for individual theme.
     *
     * @param string $theme
     * @return string
     */
    public function getThemeAdminUrl($theme)
    {
        $token = \JSession::getFormToken();
        return \JRoute::_("index.php?option=com_gantry5&view=configurations/default/styles&theme={$theme}&{$token}=1" , false);
    }

    public function filter($text)
    {
        \JPluginHelper::importPlugin('content');
        return \JHtml::_('content.prepare', $text, '', 'mod_custom.content');
    }

    public function countModules($position)
    {
        $document = \JFactory::getDocument();
        return ($document instanceof \JDocumentHTML) ? $document->countModules($position) : 0;
    }

    public function getModules($position)
    {
        // TODO:
        return [];
    }

    public function displayModule($id, $attribs = [])
    {
        $document = \JFactory::getDocument();
        if (!$document instanceof \JDocumentHTML) {
            return '';
        }

        $module = is_object($id) ? $id : $this->getModule($id);

        // Make sure that module really exists.
        if (!is_object($module)) {
            return '';
        }

        $isGantry = \strpos($module->module, 'gantry5') !== false;
        $content = isset($module->content) ? $module->content : null;

        $renderer = $document->loadRenderer('module');

        $html = trim($renderer->render($module, $attribs));

        // Add frontend editing feature as it has only been defined for module positions.
        $app = \JFactory::getApplication();
        $user = \JFactory::getUser();

        $frontEditing = ($app->isSite() && $app->get('frontediting', 1) && !$user->guest);
        $menusEditing = ($app->get('frontediting', 1) == 2) && $user->authorise('core.edit', 'com_menus');

        if (!$isGantry && $frontEditing && $html && $user->authorise('module.edit.frontend', 'com_modules.module.' . $module->id)) {
            $displayData = [
                'moduleHtml' => &$html,
                'module' => $module,
                'position' => isset($attribs['position']) ? $attribs['position'] : $module->position,
                'menusediting' => $menusEditing
            ];
            \JLayoutHelper::render('joomla.edit.frontediting_modules', $displayData);
        }

        // Work around Joomla "issue" which corrupts content of custom html module (last checked J! 3.6.5).
        $module->content = $content;

        if ($html && !$isGantry) {
            $this->container['theme']->joomla(true);
            return sprintf($this->module_wrapper, $html);
        }

        return $html;
    }

    public function displayModules($position, $attribs = [])
    {
        $document = \JFactory::getDocument();
        if (!$document instanceof \JDocumentHTML) {
            return '';
        }

        $html = '';
        foreach (\JModuleHelper::getModules($position) as $module) {
            $html .= $this->displayModule($module, $attribs);
        }

        return $html;
    }

    public function displaySystemMessages($params = [])
    {
        // We cannot use JDocument renderer here as it fires too early to display any messages.
        return '<jdoc:include type="message" />';
    }

    public function displayContent($content, $params = [])
    {
        $document = \JFactory::getDocument();
        if (!$document instanceof \JDocumentHTML) {
            return $content;
        }

        $renderer = $document->loadRenderer('component');

        $html = trim($renderer->render(null, $params, $content ?: $document->getBuffer('component')));

        $isGantry = \strpos(\JFactory::getApplication()->input->getCmd('option'), 'gantry5') !== false;

        if ($html && !$isGantry) {
            $this->container['theme']->joomla(true);
            return sprintf($this->component_wrapper, $html);
        }

        return $html;
    }

    public function getModule($id)
    {
        $modules = $this->getModuleList();
        return $id && isset($modules[$id]) ? $modules[$id] : null;
    }

    protected function &getModuleList()
    {
        if ($this->modules === null) {
            $modules = \JModuleHelper::getModuleList();

            $this->modules = [];
            foreach ($modules as $module) {
                $this->modules[$module->id] = $module;
            }
        }
        return $this->modules;
    }

    public function listModules()
    {
        $db = \JFactory::getDbo();
        $query = $db->getQuery(true);

        $query->select('a.id, a.title, a.position, a.module, a.published AS enabled')
            ->from('#__modules AS a');

        // Join on the asset groups table.
        $query->select('ag.title AS access')
            ->join('LEFT', '#__viewlevels AS ag ON ag.id = a.access')
            ->where('a.published >= 0')
            ->where('a.client_id = 0')
            ->order('a.position, a.module, a.ordering');

        $db->setQuery($query);

        try {
            $result = $db->loadObjectList();
        } catch (\RuntimeException $e) {
            return false;
        }

        return $result;
    }

    public function getEditor($name, $content = '', $width = null, $height = null)
    {
        $conf = \JFactory::getConfig();
        $editor = \JEditor::getInstance($conf->get('editor'));
        if (!$height) {
            $height = 250;
        }

        return $editor->display($name, $content, $width, $height, 50, 8, false, null, null, null, ['html_height' => $height]);
    }

    public function errorHandlerPaths()
    {
        return ['|gantry5|'];
    }

    public function settings()
    {
        if (!$this->authorize('platform.settings.manage')) {
            return '';
        }

        return \JRoute::_('index.php?option=com_config&view=component&component=com_gantry5', false);
    }

    public function update()
    {
        return \JRoute::_('index.php?option=com_installer&view=update', false);
    }

    public function updates()
    {
        if (!$this->authorize('updates.manage')) {
            return [];
        }

        $styles = ThemeList::getThemes();

        $extension_ids = array_unique(array_map(
            function($item) {
                return (int) $item->extension_id;
            },
            $styles));

        $extension_ids = $extension_ids ? implode(',', $extension_ids) : '-1';

        $db = \JFactory::getDbo();
        $query = $db->getQuery(true);
        $query
            ->select('*')
            ->from('#__updates')
            ->where("element='pkg_gantry5' OR extension_id IN ($extension_ids)");

        $db->setQuery($query);

        $updates = $db->loadObjectList();

        $list = [];
        foreach ($updates as $update) {
            if ($update->element === 'pkg_gantry5') {
                // Rename Gantry 5 package.
                $update->name = 'Gantry';
                // Ignore git and CI installs and if the Gantry version is the same or higher than in the updates.
                if (version_compare(GANTRY5_VERSION, 0) < 0 || version_compare($update->version, GANTRY5_VERSION) <= 0) {
                    continue;
                }
            } else {
                // Check if templates need to be updated.
                $version = isset($styles[$update->element]) ? $styles[$update->element]->get('details.version') : null;
                if (version_compare($version, 0) < 0 || version_compare($update->version, $version) <= 0) {
                    continue;
                }
            }
            $list[] = $update->name . ' ' . $update->version;
        }

        return $list;
    }

    public function factory()
    {
        $args = func_get_args();
        $method = ['JFactory', 'get'. ucfirst((string) array_shift($args))];
        return method_exists($method[0], $method[1]) ? call_user_func_array($method, $args) : null;
    }

    public function instance()
    {
        $args = func_get_args();
        $class = ucfirst((string) array_shift($args));
        if (!$class) {
            return null;
        }
        if (class_exists('J'. $class)) {
            $class = 'J'. $class;
        }
        $method = [$class, 'getInstance'];
        return method_exists($method[0], $method[1]) ? call_user_func_array($method, $args) : null;
    }

    public function route()
    {
        return call_user_func_array(['JRoute', '_'], func_get_args());
    }

    public function html()
    {
        $args = func_get_args();
        if (isset($args[0]) && method_exists('JHtml', $args[0])) {
            return call_user_func_array(['JHtml', array_shift($args)], $args);
        }
        return call_user_func_array(['JHtml', '_'], $args);
    }

    public function article($keys)
    {
        return Content::getInstance($keys);
    }

    public function finder($domain, $options = null)
    {
        $options = (array) $options;
        switch ($domain) {
            case 'article':
            case 'articles':
            case 'content':
                $finder = new ContentFinder($options);

                return \JFactory::getApplication()->isSite() ? $finder->authorised() : $finder;
            case 'category':
            case 'categories':
                $finder = (new CategoryFinder($options))->extension('content');

                return \JFactory::getApplication()->isSite() ? $finder->authorised() : $finder;
        }

        return null;
    }

    public function truncate($text, $length, $html = false)
    {
        return \JHtml::_('string.truncate', $text, $length, true, $html);
    }

    public function authorize($action, $id = null)
    {
        $user = \JFactory::getUser();

        switch ($action) {
            case 'platform.settings.manage':
                return $user->authorise('core.admin', 'com_templates') || $user->authorise('core.admin', 'com_gantry5');
            case 'menu.manage':
                return $user->authorise('core.manage', 'com_menus') && $user->authorise('core.edit', 'com_menus');
            case 'menu.edit':
                if ($id) {
                    $db = \JFactory::getDbo();
                    $userId = \JFactory::getUser()->id;

                    // Verify that no items are checked out.
                    $query = $db->getQuery(true)
                        ->select('id')
                        ->from('#__menu')
                        ->where('menutype=' . $db->quote($id))
                        ->where('checked_out !=' . (int) $userId)
                        ->where('checked_out !=0');
                    $db->setQuery($query);

                    if ($db->loadRowList()) {
                        return false;
                    }

                    // Verify that no module for this menu are checked out.
                    $query->clear()
                        ->select('id')
                        ->from('#__modules')
                        ->where('module=' . $db->quote('mod_menu'))
                        ->where('params LIKE ' . $db->quote('%"menutype":' . json_encode($id) . '%'))
                        ->where('checked_out !=' . (int) $userId)
                        ->where('checked_out !=0');
                    $db->setQuery($query);

                    if ($db->loadRowList()) {
                        return false;
                    }
                }
                return $user->authorise('core.edit', 'com_menus');
            case 'updates.manage':
                return $user->authorise('core.manage', 'com_installer');
            case 'outline.create':
                return $user->authorise('core.create', 'com_templates');
            case 'outline.delete':
                 return $user->authorise('core.delete', 'com_templates');
            case 'outline.rename':
                return $user->authorise('core.edit', 'com_templates');
            case 'outline.assign':
                return $user->authorise('core.edit.state', 'com_templates') && $user->authorise('core.edit', 'com_menu');
            case 'outline.edit':
                return true;
        }

        return true;
    }
}
classes/Gantry/Framework/Exporter.php000060400000025761150750356250013742 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Framework;

use Gantry\Component\Layout\Layout;
use Gantry\Framework\Services\ConfigServiceProvider;
use Gantry\Joomla\Category\CategoryFinder;
use Gantry\Joomla\Content\ContentFinder;
use Gantry\Joomla\Module\ModuleFinder;
use Gantry\Joomla\StyleHelper;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class Exporter
{
    protected $files = [];

    public function all()
    {
        $theme = Gantry::instance()['theme']->details();

        return [
            'export' => [
                'gantry' => [
                    'version' => GANTRY5_VERSION !== '@version@' ? GANTRY5_VERSION : 'GIT',
                    'format' => 1
                ],
                'platform' => [
                    'name' => 'joomla',
                    'version' => JVERSION
                ],
                'theme' => [
                    'name' => $theme->get('name'),
                    'title' => $theme->get('details.name'),
                    'version' => $theme->get('details.version'),
                    'date' => $theme->get('details.date'),
                    'author' => $theme->get('details.author'),
                    'copyright' => $theme->get('details.copyright'),
                    'license' => $theme->get('details.license'),
                ]
            ],
            'outlines' => $this->outlines(),
            'positions' => $this->positions(),
            'menus' => $this->menus(),
            'content' => $this->articles(),
            'categories' => $this->categories(),
            'files' => $this->files,
        ];
    }

    public function outlines()
    {
        $gantry = Gantry::instance();
        $styles = StyleHelper::loadStyles($gantry['theme.name']);

        $list = [
            'default' => ['title' => 'Default'],
            '_error' => ['title' => 'Error'],
            '_offline' => ['title' => 'Offline'],
            '_body_only' => ['title' => 'Body Only'],
        ];
        $inheritance = [];

        foreach ($styles as $style) {
            $name = $base = strtolower(trim(preg_replace('|[^a-z\d_-]+|ui', '_', $style->title), '_'));
            $i = 0;
            while (isset($list[$name])) {
                $i++;
                $name = "{$base}-{$i}";
            };
            $inheritance[$style->id] = $name;
            $list[$name] = [
                'id' => (int) $style->id,
                'title' => $style->title,
                'home' => $style->home,
            ];
            if (!$style->home) {
                unset($list[$name]['home']);
            }
        }

        foreach ($list as $name => &$style) {
            $id = isset($style['id']) ? $style['id'] : $name;
            $config = ConfigServiceProvider::load($gantry, $id, false, false);

            // Update layout inheritance.
            $layout = Layout::instance($id);
            $layout->name = $name;
            foreach ($inheritance as $from => $to) {
                $layout->updateInheritance($from, $to);
            }
            $style['preset'] = $layout->preset['name'];
            $config['index'] = $layout->buildIndex();
            $config['layout'] = $layout->export();

            // Update atom inheritance.
            $atoms = $config->get('page.head.atoms');
            if (is_array($atoms)) {
                $atoms = new Atoms($atoms);
                foreach ($inheritance as $from => $to) {
                    $atoms->updateInheritance($from, $to);
                }
                $config->set('page.head.atoms', $atoms->update()->toArray());
            }

            // Add assignments.
            if (is_numeric($id)) {
                $assignments = $this->getOutlineAssignments($id);
                if ($assignments) {
                    $config->set('assignments', $this->getOutlineAssignments($id));
                }
            }
            
            $style['config'] = $config->toArray();
        }

        return $list;
    }

    public function positions($all = true)
    {
        $gantry = Gantry::instance();
        $positions = $gantry['outlines']->positions();
        $positions['debug'] = 'Debug';

        $finder = new ModuleFinder();
        if (!$all) {
            $finder->particle();
        }
        $modules = $finder->find()->export();
        $list = [];
        foreach ($modules as $position => &$items) {
            if (!isset($positions[$position])) {
                continue;
            }
            foreach ($items as &$item) {
                $func = 'module' . $item['options']['type'];
                if (method_exists($this, $func)) {
                    $item = $this->{$func}($item);
                }
            }
            $list[$position] = [
                'title' => $positions[$position],
                'items' => $items,
            ];
        }

        return $list;
    }

    public function menus()
    {
        $gantry = Gantry::instance();
        $db = \JFactory::getDbo();

        $query = $db->getQuery(true)
            ->select('id, menutype, title, description')
            ->from('#__menu_types');
        $db->setQuery($query);
        $menus = $db->loadObjectList('id');

        $list = [];
        foreach ($menus as $menu) {
            $items = $gantry['menu']->instance(['menu' => $menu->menutype])->items(false);

            array_walk(
                $items,
                function (&$item) {
                    $item['id'] = (int) $item['id'];
                    if (in_array($item['type'], ['component', 'alias'])) {
                        $item['type'] = "joomla.{$item['type']}";
                    }

                    unset($item['alias'], $item['path'], $item['parent_id'], $item['level']);
                }
            );

            $list[$menu->menutype] = [
                'id' => (int) $menu->id,
                'title' => $menu->title,
                'description' => $menu->description,
                'items' => $items
            ];
        }

        return $list;
    }

    public function articles()
    {
        $finder = new ContentFinder();

        $articles = $finder->limit(0)->find();

        $list = [];
        foreach ($articles as $article) {
            $exported = $article->toArray();

            // Convert images to use streams.
            $exported['introtext'] = $this->urlFilter($exported['introtext']);
            $exported['fulltext'] = $this->urlFilter($exported['fulltext']);

            $list[$article->id . '-' . $article->alias] = $exported;
        }

        return $list;
    }

    public function categories()
    {
        $finder = new CategoryFinder();

        $categories = $finder->limit(0)->find();

        $list = [];
        foreach ($categories as $category) {
            $list[$category->id] = $category->toArray();
        }

        return $list;
    }


    /**
     * List all the rules available.
     *
     * @param string $configuration
     * @return array
     */
    public function getOutlineAssignments($configuration)
    {
        require_once JPATH_ADMINISTRATOR . '/components/com_menus/helpers/menus.php';
        $app = \JApplicationCms::getInstance('site');
        $menu = $app->getMenu();
        $data = \MenusHelper::getMenuLinks();

        $items = [];
        foreach ($data as $item) {
            foreach ($item->links as $link) {
                if ($link->template_style_id == $configuration) {
                    $items[$menu->getItem($link->value)->route] = 1;
                }
            }
        }

        if ($items) {
            return ['page' => [$items]];
        }

        return [];
    }

    /**
     * Filter stream URLs from HTML.
     *
     * @param  string $html         HTML input to be filtered.
     * @return string               Returns modified HTML.
     */
    public function urlFilter($html)
    {
        // Tokenize all PRE and CODE tags to avoid modifying any src|href|url in them
        $tokens = [];
        $html = preg_replace_callback('#<(pre|code).*?>.*?<\\/\\1>#is', function($matches) use (&$tokens) {
            $token = uniqid('__g5_token');
            $tokens['#' . $token . '#'] = $matches[0];

            return $token;
        }, $html);

        $html = preg_replace_callback('^(\s)(src|href)="(.*?)"^', [$this, 'linkHandler'], $html);
        $html = preg_replace_callback('^(\s)url\((.*?)\)^', [$this, 'urlHandler'], $html);
        $html = preg_replace(array_keys($tokens), array_values($tokens), $html); // restore tokens

        return $html;
    }

    public function url($url)
    {
        // Only process local urls.
        if ($url === '' || $url[0] === '/' || $url[0] === '#') {
            return $url;
        }

        /** @var UniformResourceLocator $locator */
        $locator = Gantry::instance()['locator'];

        // Handle URIs.
        if (strpos($url, '://')) {
            if ($locator->isStream($url)) {
                // File is a stream, include it to files list.
                list ($stream, $path) = explode('://', $url);
                $this->files[$stream][$path] = $url;
            }

            return $url;
        }

        // Try to convert local paths to streams.
        $paths = $locator->getPaths();

        $found = false;
        $stream = $path = '';
        foreach ($paths as $stream => $prefixes) {
            foreach ($prefixes as $prefix => $paths) {
                foreach ($paths as $path) {
                    if (is_string($path) && strpos($url, $path) === 0) {
                        $path = ($prefix ? "{$prefix}/" : '') . substr($url, strlen($path) + 1);
                        $found = true;
                        break 3;
                    }
                }
            }
        }

        if ($found) {
            $url = "{$stream}://{$path}";
            $this->files[$stream][$path] = $url;
        }

        return $url;
    }

    /**
     * @param array $matches
     * @return string
     * @internal
     */
    public function linkHandler(array $matches)
    {
        $url = $this->url(trim($matches[3]));

        return "{$matches[1]}{$matches[2]}=\"{$url}\"";
    }

    /**
     * @param array $matches
     * @return string
     * @internal
     */
    public function urlHandler(array $matches)
    {
        $url = $this->url(trim($matches[2], '"\''));

        return "{$matches[1]}url({$url})";
    }

    protected function moduleMod_Custom(array $data)
    {
        // Convert to particle...
        $data['type'] = 'particle';
        $data['joomla'] = $data['options'];
        $data['options'] = [
            'type' => 'custom',
            'attributes' => [
                'enabled' => $data['joomla']['published'],
                'html' => $this->urlFilter($data['joomla']['content']),
                'filter' => $data['joomla']['params']['prepare_content']
            ]
        ];

        unset($data['joomla']['content'], $data['joomla']['params']['prepare_content']);

        return $data;
    }
}
classes/Gantry/Framework/Positions.php000060400000000765150750356250014116 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Framework;

use Gantry\Component\Position\Positions as BasePositions;

class Positions extends BasePositions
{
}
classes/Gantry/Framework/Assignments.php000060400000013503150750356250014414 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Framework;

use Gantry\Component\Assignments\AbstractAssignments;
use Gantry\Joomla\CacheHelper;
use Gantry\Joomla\StyleHelper;
use Joomla\Utilities\ArrayHelper;

class Assignments extends AbstractAssignments
{
    protected $platform = 'Joomla';

    /**
     * Load all assignments.
     *
     * @return array
     */
    public function loadAssignments()
    {
        $app = \JFactory::getApplication();

        if (!$app->isSite()) {
            return [];
        }

        // Get current template, style id and rules.
        $template = $app->getTemplate();
        $active = $app->getMenu()->getActive();
        if ($active) {
            $style = (int) $active->template_style_id;
            $rules = [$active->menutype => [$active->id => true]];
        } else {
            $style = 0;
            $rules = [];
        }

        // Load saved assignments.
        $assignments = parent::loadAssignments();

        // Add missing template styles from Joomla.
        $styles = StyleHelper::loadStyles($template);
        $assignments += array_fill_keys(array_keys($styles), []);

        foreach ($assignments as $id => &$assignment) {
            // Add current menu item if it has been assigned to the style.
            $assignment['menu'] = $style === $id ? $rules : [];

            // Always add the current template style.
            $assignment['style'] =  ['id' => [$id => true]];
        }

        return $assignments;
    }

    /**
     * Save assignments for the configuration.
     *
     * @param array $data
     */
    public function save(array $data)
    {
        $data += ['assignment' => 0, 'menu' => []];

        // Joomla stores language and menu assignments by its own.
        $this->saveAssignment($data['assignment']);
        $this->saveMenu($data['menu']);
        unset($data['assignment'], $data['menu'], $data['style']);

        // Continue saving rest of the assignments.
        parent::save($data);
    }

    public function types()
    {
        return ['menu', 'style'];
    }

    public function saveMenu($data)
    {
        $active = [];
        foreach ($data as $menutype => $items) {
            $active += array_filter($items, function($value) {return $value > 0; });

        }
        $active = array_keys($active);

        // Detect disabled template.
        $extension = \JTable::getInstance('Extension');

        $template = Gantry::instance()['theme.name'];
        if ($extension->load(array('enabled' => 0, 'type' => 'template', 'element' => $template, 'client_id' => 0))) {
            throw new \RuntimeException(\JText::_('COM_TEMPLATES_ERROR_SAVE_DISABLED_TEMPLATE'));
        }

        \JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_templates/tables');
        $style = \JTable::getInstance('Style', 'TemplatesTable');
        if (!$style->load($this->configuration) || $style->client_id != 0) {
            throw new \RuntimeException('Template style does not exist');
        }

        $user = \JFactory::getUser();
        $n = 0;

        if ($user->authorise('core.edit', 'com_menus')) {
            $db   = \JFactory::getDbo();
            $user = \JFactory::getUser();

            if (!empty($active)) {
                ArrayHelper::toInteger($active);

                // Update the mapping for menu items that this style IS assigned to.
                $query = $db->getQuery(true)
                    ->update('#__menu')
                    ->set('template_style_id = ' . (int) $style->id)
                    ->where('id IN (' . implode(',', $active) . ')')
                    ->where('template_style_id != ' . (int) $style->id)
                    ->where('checked_out IN (0,' . (int) $user->id . ')');
                $db->setQuery($query);
                $db->execute();
                $n += $db->getAffectedRows();
            }

            // Remove style mappings for menu items this style is NOT assigned to.
            // If unassigned then all existing maps will be removed.
            $query = $db->getQuery(true)
                ->update('#__menu')
                ->set('template_style_id = 0');

            if (!empty($active)) {
                $query->where('id NOT IN (' . implode(',', $active) . ')');
            }

            $query->where('template_style_id = ' . (int) $style->id)
                ->where('checked_out IN (0,' . (int) $user->id . ')');
            $db->setQuery($query);
            $db->execute();

            $n += $db->getAffectedRows();
        }

        // Clean the cache.
        CacheHelper::cleanTemplates();

        return ($n > 0);
    }

    public function getAssignment()
    {
        $style = StyleHelper::getStyle($this->configuration);

        return $style->home;
    }

    public function saveAssignment($value)
    {
        $options = $this->assignmentOptions();

        if (!isset($options[$value])) {
            throw new \RuntimeException('Invalid value for default assignment!', 400);
        }

        $style = StyleHelper::getStyle($this->configuration);
        $style->home = $value;

        if (!$style->check() || !$style->store()) {
            throw new \RuntimeException($style->getError());
        }

        // Clean the cache.
        CacheHelper::cleanTemplates();
    }

    public function assignmentOptions()
    {
        if ((string)(int) $this->configuration !== (string) $this->configuration) {
            return [];
        }

        $languages = \JHtml::_('contentlanguage.existing');

        $options = ['- Make Default -', 'All Languages'];
        foreach ($languages as $language) {
            $options[$language->value] = $language->text;
        }

        return $options;
    }
}
classes/Gantry/Framework/ThemeInstaller.php000060400000042612150750356250015044 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Framework;

use Gantry\Component\Layout\Layout;
use Gantry\Component\Theme\ThemeInstaller as AbstractInstaller;
use Gantry\Joomla\Manifest;
use RocketTheme\Toolbox\File\YamlFile;

class ThemeInstaller extends AbstractInstaller
{
    protected $extension;
    protected $manifest;

    public function __construct($extension = null)
    {
        parent::__construct();

        jimport('joomla.filesystem.folder');

        \JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_templates/tables');
        if ($extension instanceof \JInstallerAdapterTemplate) {
            $this->setInstaller($extension);
        } elseif ($extension) {
            $this->loadExtension($extension);
        }
    }

    public function setInstaller(\JInstallerAdapterTemplate $install)
    {
        // We need access to a protected variable $install->extension.
        $reflectionClass = new \ReflectionClass($install);
        $property = $reflectionClass->getProperty('extension');
        $property->setAccessible(true);
        $this->extension = $property->getValue($install);
        $this->name = $this->extension->name;

        $this->manifest = new Manifest($this->extension->name, $install->getManifest());

        return $this;
    }

    public function loadExtension($id)
    {
        if ((string) intval($id) !== (string) $id) {
            $id = ['type' => 'template', 'element' => (string) $id, 'client_id' => 0];
        }
        $this->extension = \JTable::getInstance('extension');
        $this->extension->load($id);
        $this->name = $this->extension->name;
    }

    public function getPath()
    {
        return JPATH_SITE . '/templates/' . $this->extension->name;
    }

    public function getStyleName($title)
    {
        return \JText::sprintf($title, \JText::_($this->extension->name));
    }

    public function getStyle($name = null)
    {
        if (is_numeric($name)) {
            $field = 'id';
        } else {
            $field = 'title';
            $name = $this->getStyleName($name);
        }

        $style = $this->createStyle();
        $style->load([
            'template' => $this->extension->element,
            'client_id' => $this->extension->client_id,
            $field => $name
        ]);

        return $style;
    }

    public function getDefaultStyle()
    {
        $style = \JTable::getInstance('Style', 'TemplatesTable');
        $style->load(['home' => 1, 'client_id' => 0]);

        return $style;
    }

    /**
     * @param string $type
     * @return \JTableMenu
     */
    public function getMenu($type)
    {
        /** @var \JTableMenuType $table */
        $table = \JTable::getInstance('MenuType');
        $table->load(['menutype' => $type]);

        return $table;
    }

    public function createSampleData()
    {
        $this->updateStyle('JLIB_INSTALLER_DEFAULT_STYLE', [], 1);
        $this->installMenus();
    }

    public function render($template, $context = [])
    {
        $token = \JSession::getFormToken();
        $manifest = $this->getManifest();
        $context += [
            'description' => $this->translate((string) $manifest->get('description')),
            'version' => (string) $manifest->get('version'),
            'date' => (string) $manifest->get('creationDate'),
            'author' => [
                'name' => (string) $manifest->get('author'),
                'email' => (string) $manifest->get('authorEmail'),
                'url' => (string) $manifest->get('authorUrl')
            ],
            'copyright' => (string) $manifest->get('copyright'),
            'license' => (string) $manifest->get('license'),
            'install_url' => \JRoute::_("index.php?option=com_gantry5&view=install&theme={$this->name}&{$token}=1", false),
            'edit_url' => \JRoute::_("index.php?option=com_gantry5&view=configurations/default/styles&theme={$this->name}&{$token}=1", false),
        ];

        return parent::render($template, $context);
    }

    public function createStyle()
    {
        $style = \JTable::getInstance('Style', 'TemplatesTable');
        $style->reset();
        $style->template = $this->extension->element;
        $style->client_id = $this->extension->client_id;

        return $style;
    }

    public function addStyle($title, array $configuration = [], $home = 0)
    {
        // Make sure language debug is turned off.
        $lang = \JFactory::getLanguage();
        $debug = $lang->setDebug(false);

        // Translate title.
        $title = $this->getStyleName($title);

        // Turn language debug back on.
        $lang->setDebug($debug);

        $data = [
            'home' => (int) $home,
            'title' => $title,
            'params' => json_encode($configuration),
        ];

        $style = $this->createStyle();
        $style->save($data);

        if ($home) {
            $this->actions[] = ['action' => 'default_style_assigned', 'text' => \JText::sprintf('GANTRY5_INSTALLER_ACTION_DEFAULT_STYLE_ASSIGNED', $title)];
        }

        return $style;
    }

    public function updateStyle($name, array $configuration, $home = null)
    {
        $style = $this->getStyle($name);

        if ($style->id) {
            $home = ($home !== null ? $home : $style->home);
            $params = (array) json_decode($style->params, true);

            $data = [
                'params' => json_encode($configuration + $params),
                'home' => $home
            ];

            if ($home && !$style->home) {
                $this->actions[] = ['action' => 'default_style_assigned', 'text' => \JText::sprintf('GANTRY5_INSTALLER_ACTION_DEFAULT_STYLE_ASSIGNED', $style->title)];
            }

            $style->save($data);
        }

        return $style;
    }

    public function assignHomeStyle($style)
    {
        // Update the mapping for menu items that this style IS assigned to.
        $db = \JFactory::getDbo();

        $query = $db->getQuery(true)
            ->update('#__menu')
            ->set('template_style_id=' . (int) $style->id)
            ->where('home=1')
            ->where('client_id=0');
        $db->setQuery($query);
        $db->execute();

        if ($db->getAffectedRows()) {
            $this->actions[] = ['action' => 'home_style_assigned', 'text' => \JText::sprintf('GANTRY5_INSTALLER_ACTION_HOME_STYLE_ASSIGNED', $style->title)];
        }
    }

    /**
     * @param string $folder
     * @param array $params
     * @return string|bool
     */
    public function createOutline($folder, array $params = [])
    {
        if (!$folder) {
            throw new \RuntimeException('Cannot create outline without folder name');
        }

        $this->initialize();

        $created = false;

        $params += [
            'preset' => null,
            'title' => null
        ];

        $title = $params['title'] ?: ucwords(trim(strtr($folder, ['_' => ' '])));
        $preset = $params['preset'] ?: 'default';

        if ($folder[0] !== '_') {
            $title = $this->getStyleName($title !== 'Default' ? "%s - {$title}" : 'JLIB_INSTALLER_DEFAULT_STYLE');
            $style = $this->getStyle($title);

            if (!$style->id) {
                // Only add style if it doesn't exist.
                $style = $this->addStyle($title, ['preset' => $preset]);
                $created = true;
            }

            $id = $style->id;

        } else {
            $id = $folder;
        }

        $target = $folder !== 'default' ? $id : $folder;

        // Copy configuration for the new layout.
        if (($this->copyCustom($folder, $target) || $created) && isset($style)) {
            // Update layout and save it.
            $layout = Layout::load($target, $preset);
            $layout->save()->saveIndex();

            if ($id !== $target) {
                // Default outline: Inherit everything from the base.
                $layout->inheritAll()->name = $id;
                $layout->save()->saveIndex();

                $this->actions[] = ['action' => 'base_outline_created', 'text' => $this->translate('GANTRY5_INSTALLER_ACTION_BASE_OUTLINE_CREATED', $title)];
            }

            if ($created) {
                $this->actions[] = ['action' => 'outline_created', 'text' => $this->translate('GANTRY5_INSTALLER_ACTION_OUTLINE_CREATED', $title)];
            } else {
                $this->actions[] = ['action' => 'outline_updated', 'text' => $this->translate('GANTRY5_INSTALLER_ACTION_OUTLINE_UPDATED', $title)];
            }

            // Update preset in Joomla table.
            $this->updateStyle($title, ['preset' => $layout['preset']['name']]);
        }

        return $id;
    }

    /**
     * @param  array $item       [menutype, title, alias, link, template_style_id, params]
     * @param  int   $parent_id  Parent menu id.
     * @param  bool  $load       True if updating existing items.
     * @return int
     * @throws \Exception
     */
    public function addMenuItem(array $item, $parent_id = 1, $load = false)
    {
        $component_id = $this->getComponent();

        $table = \JTable::getInstance('menu');
        $date = new \JDate();
        $update = false;

        // Defaults for the item.
        $item += [
            'menutype' => 'mainmenu',
            'title' => 'Home',
            'alias' => 'gantry5',
            'note' => '',
            'link' => 'index.php?option=com_gantry5&view=custom',
            'type' => 'component',
            'published' => 1,
            'parent_id' => $parent_id,
            'component_id' => $component_id,
            'checked_out' => 0,
            'checked_out_time' => $date->toSql(),
            'browserNav' => 0,
            'access' => 1,
            'img' => '',
            'template_style_id' => 0,
            'params' => '{}',
            'home' => 0,
            'language' => '*',
            'client_id' => 0
        ];

        if (in_array($item['type'], ['separator', 'heading'])) {
            $item['link'] = '';
        }

        if ($item['type'] !== 'component') {
            $item['component_id'] = 0;
        }

        if ($load) {
            $update = $table->load([
                'menutype' => $item['menutype'],
                'alias' => $item['alias'],
                'parent_id' => $item['parent_id']
            ]);
        }

        $table->setLocation($parent_id, 'last-child');

        if (!$table->bind($item) || !$table->check() || !$table->store()) {
            throw new \Exception($table->getError());
        }

        /** @var \JCache|\JCacheController $cache */
        $cache = \JFactory::getCache();
        $cache->clean('mod_menu');

        $menu = \JTable::getInstance('menuType');
        $menu->load(['menutype' => $item['menutype']]);

        if (!isset($this->actions["menu_{$item['menutype']}_created"])) {
            $postfix = $item['home'] ? '_HOME' : '';
            if ($update) {
                $this->actions[] = ['action' => 'menu_item_updated', 'text' => \JText::sprintf('GANTRY5_INSTALLER_ACTION_MENU_ITEM_UPDATED' . $postfix, $table->title, $table->path, $menu->title)];
            } else {
                $this->actions[] = ['action' => 'menu_item_created', 'text' => \JText::sprintf('GANTRY5_INSTALLER_ACTION_MENU_ITEM_CREATED' . $postfix, $table->title, $table->path, $menu->title)];
            }
        } elseif ($item['home']) {
            $this->actions[] = ['action' => 'menu_item_updated', 'text' => \JText::sprintf('GANTRY5_INSTALLER_ACTION_MENU_ITEM_HOME', $table->title, $table->path, $menu->title)];
        }

        return $table->id;
    }

    public function installMenus(array $menus = null, $parent = 1)
    {
        if ($menus === null) {
            $path = $this->getPath();

            $file = YamlFile::instance($path . '/install/menus.yaml');
            $menus = (array) $file->content();
            $file->free();
        }

        foreach ($menus as $menutype => $menu) {
            $title = !empty($menu['title']) ? $menu['title'] : ucfirst($menutype);
            $description = !empty($menu['description']) ? $menu['description'] : '';

            $exists = $this->getMenu($menutype)->id;

            // If $parent = 0, do dry run.
            if ((int) $parent && !$exists) {
                $this->deleteMenu($menutype, true);
                $this->createMenu($menutype, $title, $description);
            }

            if (!empty($menu['items'])) {
                $this->addMenuItems($menutype, $menu['items'], (int) $parent);
            }
        }
    }

    /**
     * @param string $type
     * @param string $title
     * @param string $description
     * @throws \Exception
     */
    public function createMenu($type, $title, $description)
    {
        /** @var \JTableMenuType $table */
        $table = \JTable::getInstance('MenuType');
        $data  = array(
            'menutype'    => $type,
            'title'       => $title,
            'description' => $description
        );

        if (!$table->bind($data) || !$table->check()) {
            // Menu already exists, do nothing
            return;
        }

        if (!$table->store()) {
            throw new \Exception($table->getError());
        }

        $this->actions["menu_{$type}_created"] = ['action' => 'menu_created', 'text' => \JText::sprintf('GANTRY5_INSTALLER_ACTION_MENU_CREATED', $title)];
    }

    /**
     * @param string $type
     * @param bool $force
     */
    public function deleteMenu($type, $force = false)
    {
        if ($force) {
            $this->unsetHome($type);
        }

        $table = \JTable::getInstance('MenuType');
        $table->load(array('menutype' => $type));

        if ($table->id) {
            $success = $table->delete();

            if (!$success) {
                \JFactory::getApplication()->enqueueMessage($table->getError(), 'error');
            } else {
                $this->actions["menu_{$type}_deleted"] = ['action' => 'menu_delete', 'text' => \JText::_('GANTRY5_INSTALLER_ACTION_MENU_DELETED', $table->title)];
            }
        }

        /** @var \JCache|\JCacheController $cache */
        $cache = \JFactory::getCache();
        $cache->clean('mod_menu');
    }

    public function unsetHome($type)
    {
        // Update the mapping for menu items that this style IS assigned to.
        $db = \JFactory::getDbo();

        $query = $db->getQuery(true)
            ->update('#__menu')
            ->set('home=0')
            ->where('menutype=' . $db->quote($type))
            ->where('client_id=0');
        $db->setQuery($query);
        $db->execute();
    }

    /**
     * @deprecated 5.3.2
     */
    public function cleanup()
    {
        $this->initialize();
        $this->finalize();
    }

    public function finalize()
    {
        parent::finalize();

        $gantry = Gantry::instance();

        /** @var Outlines $outlines */
        $outlines = $gantry['outlines'];
        $name = $this->extension->name;

        // Update positions in manifest file.
        $positions = $outlines->positions();

        $manifest = new Manifest($name);
        $manifest->setPositions(array_keys($positions));
        $manifest->save();
    }

    protected function addMenuItems($menutype, array $items, $parent)
    {
        foreach ($items as $alias => $item) {
            $item = (array) $item;
            $item += [
                'menutype' => $menutype,
                'title' => ucfirst($alias),
                'alias' => $alias
            ];

            $outline = isset($item['outline']) ? $item['outline'] : (isset($item['layout']) ? $item['layout'] : null);
            $params = $this->getOutline($outline);
            if (!is_array($params)) {
                $params = [
                    'preset' => isset($item['preset']) ? $item['preset'] : (isset($item['layout']) ? $item['layout'] : null),
                    'title' => isset($item['style']) ? $item['style'] : null
                ];
            }

            $id = $outline ? $this->createOutline($outline, $params) : 0;
            $item['template_style_id'] = (string)(int) $id === (string) $id ? $id : 0;

            // If $parent = 0, do dry run.
            $itemId = $parent ? $this->addMenuItem($item, $parent, true) : 0;
            if (!empty($item['items'])) {
                $this->addMenuItems($menutype, $item['items'], $itemId);
            }
        }
    }

    protected function getInstallerScript()
    {
        if (!$this->script) {
            $className = $this->extension->name . 'InstallerScript';

            if (!class_exists($className)) {
                $manifest = new Manifest($this->extension->name);
                $file = $manifest->getScriptFile();

                $path = "{$this->getPath()}/{$file}";
                if ($file && is_file($path)) {
                    require_once $path;
                }
            }

            if (class_exists($className)) {
                $this->script = new $className;
            }
        }

        return $this->script;
    }

    protected function getManifest()
    {
        if (!$this->manifest) {
            $this->manifest = new Manifest($this->extension->name);
        }

        return $this->manifest;
    }

    protected function getComponent()
    {
        static $component_id;

        if (!$component_id) {
            // Get Gantry component id.
            $component_id = \JComponentHelper::getComponent('com_gantry5')->id;
        }

        return $component_id;
    }
}
classes/Gantry/Framework/Outlines.php000060400000020730150750356250013723 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Framework;

use Gantry\Admin\ThemeList;
use Gantry\Component\Filesystem\Folder;
use Gantry\Component\Outline\OutlineCollection;
use Gantry\Joomla\StyleHelper;
use Gantry\Joomla\TemplateInstaller;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class Outlines extends OutlineCollection
{
    protected $createId;

    public function preset($id)
    {
        if (is_numeric($id)) {
            $style = StyleHelper::getStyle($id);
            $params = json_decode($style->params, true);

            $id = isset($params['preset']) ? $params['preset'] : 'default';
        }

        return $id;
    }

    public function current($template = null)
    {
        if (!is_object($template)) {
            // Get the template style.
            $template = \JFactory::getApplication()->getTemplate(true);
        }

        $preset = $template->params->get('preset', 'default');
        $outline = $template->params->get('configuration', !empty($template->id) ? $template->id : null);

        GANTRY_DEBUGGER && \Gantry\Debugger::addMessage('Template Style:') && \Gantry\Debugger::addMessage($template);

        if (JDEBUG && !$outline) {
            static $shown = false;

            if (!$shown) {
                $shown = true;
                \JFactory::getApplication()->enqueueMessage('[DEBUG] JApplicationSite::getTemplate() was overridden with no specified Gantry 5 outline.', 'notice');
            }
        }

        /** @var UniformResourceLocator $locator */
        $locator = $this->container['locator'];

        return ($outline && is_dir($locator("{$this->path}/{$outline}"))) ? $outline : $preset;
    }

    /**
     * @param string $path
     * @return $this
     */
    public function load($path = 'gantry-config://')
    {
        $this->path = $path;

        $gantry = $this->container;

        $theme = isset($gantry['theme.name']) ? $gantry['theme.name'] : null;

        $styles = ThemeList::getStyles($theme);

        $installer = new TemplateInstaller($this->container['theme.name']);
        $title = $installer->getStyleName('%s - ');

        $outlines = [];
        foreach ($styles as $style) {
            $preset = isset($style->params['preset']) ? $style->params['preset'] : null;
            $outline = isset($style->params['configuration']) ? $style->params['configuration'] : $preset;

            if ($outline && $outline != $style->id) {
                // New style generated by Joomla.
                StyleHelper::copy($style, $outline, $style->id);
            }
            $outlines[$style->id] = preg_replace('|^' . preg_quote($title) . '|', '', $style->style);
        }

        asort($outlines);

        $this->items = $this->addDefaults($outlines);

        return $this;
    }

    /**
     * @param string|null $id
     * @param string $title
     * @param string|array $preset
     * @return string
     * @throws \RuntimeException
     */
    public function create($id, $title = null, $preset = null)
    {
        if ($this->createId) {
            // Workaround Joomla wanting to use different logic for style duplication.
            $new = parent::create($this->createId, $title, $preset);

            $this->createId = null;

            return $new;
        }

        $title = $title ? "%s - {$title}" : '%s - Untitled';

        $installer = new TemplateInstaller($this->container['theme.name']);
        $title = $installer->getStyleName($title);
        $style = $installer->addStyle($title);

        $error = $style->getError();

        if ($error) {
            throw new \RuntimeException($error, 400);
        }

        $presetId = (string) (isset($preset['preset']['name']) ? $preset['preset']['name'] : ($preset ?: 'default'));

        StyleHelper::update($style->id, $presetId);

        // Create configuration folder.
        $id = parent::create($style->id, $title, $preset);

        if ($id != $style->id) {
            throw new \RuntimeException(sprintf("Creating outline: folder '%s' already exists!", $style->id));
        }

        return $style->id;
    }

    public function duplicate($id, $title = null, $inherit = false)
    {
        if (!$this->canDuplicate($id)) {
            throw new \RuntimeException("Outline '$id' cannot be duplicated", 400);
        }

        // Handle special case of duplicating system outlines.
        if ((string)(int) $id !== (string) $id) {
            return parent::duplicate($id, $title, $inherit);
        }

        // Use Joomla logic to duplicate the style.
        $model = StyleHelper::loadModel();
        $pks = [$id];

        if (!$model->duplicate($pks)) {
            throw new \RuntimeException($model->getError(), 400);
        }

        // Seek the newly generated style ID since Joomla doesn't return one on duplication.
        $theme = $this->container['theme.name'];
        $styles = ThemeList::getStyles($theme, true);
        $style = end($styles);

        if ($title) {
            // Change the title.
            $installer = new TemplateInstaller($theme);
            $title = $installer->getStyleName("%s - {$title}");
            $this->rename($style->id, $title);
        } else {
            $title = $style->style;
        }

        $this->createId = $style->id;

        return parent::duplicate($id, $title, $inherit);
    }

    public function rename($id, $title)
    {
        $model = StyleHelper::loadModel();

        $item = $model->getTable();
        $item->load($id);

        if (!$item->id) {
            throw new \RuntimeException('Outline not found', 404);
        }

        $theme = $this->container['theme.name'];
        $installer = new TemplateInstaller($theme);

        $title = $title ? "%s - {$title}" : '%s - Untitled';
        $title = $installer->getStyleName($title);

        $item->title = $title;

        if (!$item->check()) {
            throw new \RuntimeException($item->getError(), 400);
        }

        if (!$item->store()) {
            throw new \RuntimeException($item->getError(), 500);
        }

        if (isset($this->items[$id])) {
            $this->items[$id] = $title;
        }

        return $id;
    }

    public function delete($id, $deleteModel = true)
    {
        if (!$this->canDelete($id)) {
            throw new \RuntimeException("Outline '$id' cannot be deleted", 400);
        }

        $model = StyleHelper::loadModel();

        $item = $model->getTable();
        $item->load($id);

        try {
            foreach ($this->getInheritingOutlines($id) as $outline => $title) {
                $this->layout($outline)->updateInheritance($id)->save()->saveIndex();
            }
            foreach ($this->getInheritingOutlinesWithAtom($id) as $outline => $title) {
                Atoms::instance($outline)->updateInheritance($id)->save();
            }

            if ($deleteModel && !$model->delete($id)) {
                $error = $model->getError();
                // Well, Joomla can always send enqueue message instead!
                if (!$error) {
                    $messages = \JFactory::getApplication()->getMessageQueue();
                    $message = reset($messages);
                    $error = $message ? $message['message'] : 'Unknown error';
                }
                throw new \RuntimeException($error);
            }
        } catch (\Exception $e) {
            throw new \RuntimeException('Deleting outline failed: ' . $e->getMessage(), 400, $e);
        }

        // Remove configuration directory.
        $gantry = $this->container;

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];
        $path = $locator->findResource("{$this->path}/{$item->id}", true, true);
        if ($path) {
            if (file_exists($path)) {
                Folder::delete($path);
            }
        }

        unset($this->items[$item->id]);
    }

    /**
     * @param string $id
     * @return boolean
     */
    public function canDelete($id)
    {
        $model = StyleHelper::loadModel();

        $item = $model->getTable();
        $item->load($id);

        return !$item->id || $item->home ? false : true;
    }

    /**
     * @param string $id
     * @return boolean
     */
    public function isDefault($id)
    {
        $model = StyleHelper::loadModel();

        $item = $model->getTable();
        $item->load($id);

        return (bool) $item->home;
    }
}
classes/Gantry/Framework/Page.php000060400000007214150750356250012777 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Framework;

class Page extends Base\Page
{
    public $home;
    public $outline;
    public $language;
    public $direction;

    // Joomla specific properties.
    public $theme;
    public $baseUrl;
    public $title;
    public $description;

    public function __construct($container)
    {
        parent::__construct($container);

        $app = \JFactory::getApplication();
        $document = \JFactory::getDocument();
        $input = $app->input;

        $this->tmpl     = $input->getCmd('tmpl', '');
        $this->option   = $input->getCmd('option', '');
        $this->view     = $input->getCmd('view', '');
        $this->layout   = $input->getCmd('layout', '');
        $this->task     = $input->getCmd('task', '');
        $this->itemid   = $input->getInt('Itemid', 0);
        $this->printing = $input->getCmd('print', '');

        $this->class = '';
        if ($this->itemid) {
            $menuItem = $app->getMenu()->getActive();
            if ($menuItem && $menuItem->id) {
                $this->home = (bool) $menuItem->home;
                $this->class = $menuItem->params->get('pageclass_sfx', '');
            }
        }
        $templateParams = $app->getTemplate(true);
        $this->outline = Gantry::instance()['configuration'];
        $this->sitename = $app->get('sitename');
        $this->theme = $templateParams->template;
        $this->baseUrl = \JUri::base(true);
        $this->title = $document->title;
        $this->description = $document->description;

        // Document has lower case language code, which causes issues with some JS scripts (Snipcart). Use tag instead.
        $code = explode('-', $document->getLanguage(), 2);
        $language =  array_shift($code);
        $country = strtoupper(array_shift($code));
        $this->language = $language . ($country ? '-' . $country : '');
        $this->direction = $document->direction;
    }

    public function url(array $args = [])
    {
        $url = \JUri::getInstance();

        foreach ($args as $key => $val) {
            $url->setVar($key, $val);
        }

        return $url->toString();
    }

    public function htmlAttributes()
    {
        $attributes = [
                'lang' => $this->language,
                'dir' => $this->direction
            ]
            + (array) $this->config->get('page.html', []);

        return $this->getAttributes($attributes);
    }

    public function bodyAttributes($attributes = [])
    {
        if ($this->tmpl == 'component') {
            $classes = ['contentpane', 'modal'];
        } else {
            $classes = ['site', $this->option, "view-{$this->view}"];
            $classes[] = $this->layout ? 'layout-' . $this->layout : 'no-layout';
            $classes[] = $this->task ? 'task-' . $this->task : 'no-task';
        }
        $classes[] = 'dir-' . $this->direction;
        if ($this->class) $classes[] = $this->class;
        if ($this->printing) $classes[] = 'print-mode';
        if ($this->itemid) $classes[] = 'itemid-' . $this->itemid;
        if ($this->outline) $classes[] = 'outline-' . $this->outline;

        $baseAttributes = (array) $this->config->get('page.body.attribs', []);
        if (!empty($baseAttributes['class'])) {
            $baseAttributes['class'] = array_merge((array) $baseAttributes['class'], $classes);
        } else {
            $baseAttributes['class'] = $classes;
        }

        return $this->getAttributes($baseAttributes, $attributes);
    }
}
classes/Gantry/Framework/Translator.php000060400000001134150750356250014247 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Framework;

use Gantry\Component\Translator\Translator as BaseTranslator;

class Translator extends BaseTranslator
{
    public function translate($string)
    {
        if (\func_num_args() === 1) {
            return \JText::_($string);
        }

        $args = \func_get_args();
        return \call_user_func_array(['JText', 'sprintf'], $args);
    }
}
classes/Gantry/Framework/Gantry.php000060400000002733150750356250013370 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Framework;

class Gantry extends Base\Gantry
{
    /**
     * @return boolean
     */
    public function debug()
    {
        return JDEBUG;
    }

    /**
     * @return boolean
     */
    public function admin()
    {
        return \JFactory::getApplication()->isAdmin();
    }

    /**
     * @param string $location
     * @param bool   $force
     * @return array
     */
    public function styles($location = 'head', $force = false)
    {
        // Do not display head, Joomla will take care of it (most of the time).
        return (!$force && $location == 'head') ? [] : parent::styles($location);
    }

    /**
     * @param string $location
     * @param bool $force
     * @return array
     */
    public function scripts($location = 'head', $force = false)
    {
        // Do not display head, Joomla will take care of it (most of the time).
        return (!$force && $location == 'head') ? [] : parent::scripts($location);
    }

    /**
     * @return array
     */
    protected function loadGlobal()
    {
        $global = null;

        // Trigger the event.
        $dispatcher = \JEventDispatcher::getInstance();
        $dispatcher->trigger('onGantryGlobalConfig', ['global' => &$global]);

        return $global;
    }
}
classes/Gantry/Framework/Theme.php000060400000014207150750356250013165 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Framework;

use Gantry\Component\Theme\AbstractTheme;
use Gantry\Component\Theme\ThemeTrait;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

/**
 * Class Theme
 * @package Gantry\Framework
 */
class Theme extends AbstractTheme
{
    use ThemeTrait;

    /**
     * @var bool
     */
    protected $joomla = false;

    /**
     * If parameter is set to true, loads bootstrap. Returns true if bootstrap has been loaded.
     *
     * @param bool|null $enable
     * @return bool
     */
    public function joomla($enable = null)
    {
        if ($enable && !$this->joomla) {
            $this->joomla = true;

            // Workaround for Joomla! not loading bootstrap when it needs it.
            $this->gantry()->load('bootstrap.2');
        }

        return $this->joomla;
    }

    /**
     * @see AbstractTheme::extendTwig()
     *
     * @param \Twig_Environment $twig
     * @param \Twig_LoaderInterface $loader
     * @return \Twig_Environment
     */
    public function extendTwig(\Twig_Environment $twig, \Twig_LoaderInterface $loader = null)
    {
        parent::extendTwig($twig, $loader);

        /** @var \Twig_Extension_Core $core */
        $core = $twig->getExtension('Twig_Extension_Core');

        // Get user timezone and if not set, use Joomla default.
        $timezone = \JFactory::getUser()->getParam('timezone', \JFactory::getConfig()->get('offset', 'UTC'));
        $core->setTimezone(new \DateTimeZone($timezone));

        // Set locale for dates and numbers.
        $core->setDateFormat(\JText::_('DATE_FORMAT_LC2'), \JText::_('GANTRY5_X_DAYS'));
        $core->setNumberFormat(0, \JText::_('DECIMALS_SEPARATOR'), \JText::_('THOUSANDS_SEPARATOR'));

        $filter = new \Twig_SimpleFilter('date', [$this, 'twig_dateFilter'], array('needs_environment' => true));
        $twig->addFilter($filter);

        return $twig;
    }

    /**
     * Converts a date to the given format.
     *
     * <pre>
     *   {{ post.published_at|date("m/d/Y") }}
     * </pre>
     *
     * @param \Twig_Environment                                 $env
     * @param \DateTime|\DateTimeInterface|\DateInterval|string $date     A date
     * @param string|null                                       $format   The target format, null to use the default
     * @param \DateTimeZone|string|null|false                   $timezone The target timezone, null to use the default, false to leave unchanged
     *
     * @return string The formatted date
     */
    public function twig_dateFilter(\Twig_Environment $env, $date, $format = null, $timezone = null)
    {
        if (null === $format) {
            $formats = $env->getExtension('Twig_Extension_Core')->getDateFormat();
            $format = $date instanceof \DateInterval ? $formats[1] : $formats[0];
        }

        if ($date instanceof \DateInterval) {
            return $date->format($format);
        }

        if (!($date instanceof \JDate)) {
            // Create localized JDate object.
            $twig_date = \twig_date_converter($env, $date, $timezone);

            $date = new \JDate($twig_date->getTimestamp());
            $date->setTimezone($twig_date->getTimezone());
        } elseif ($timezone) {
            $date->setTimezone($timezone);
        }

        return $date->format($format, true);
    }

    /**
     * @see AbstractTheme::getContext()
     *
     * @param array $context
     * @return array
     */
    public function getContext(array $context)
    {
        $gantry = static::gantry();

        $context = parent::getContext($context);
        $context['site'] = $gantry['site'];
        $context['joomla'] = $gantry['platform'];

        return $context;
    }

    /**
     * @see AbstractTheme::init()
     */
    protected function init()
    {
        parent::init();

        $gantry = Gantry::instance();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        $lang = \JFactory::getLanguage();

        // FIXME: Do not hardcode this file.
        $lang->load('files_gantry5_nucleus', JPATH_SITE);

        if (\JFactory::getApplication()->isSite()) {
            // Load our custom positions file as frontend requires the strings to be there.
            $filename = $locator("gantry-theme://language/en-GB/en-GB.tpl_{$this->name}_positions.ini");

            if ($filename) {
                $lang->load("tpl_{$this->name}_positions", \dirname(\dirname(\dirname($filename))), 'en-GB');
            }

            // Load template language files, including overrides.
            $paths = $locator->findResources('gantry-theme://language');
            foreach (array_reverse($paths) as $path) {
                $lang->load("tpl_{$this->name}", \dirname($path));
            }
        }

        $doc = \JFactory::getDocument();
        if ($doc instanceof \JDocumentHtml) {
            $doc->setHtml5(true);
        }
        $this->language = $doc->language;
        $this->direction = $doc->direction;
        $this->url = \JUri::root(true) . '/templates/' . $this->name;

        \JPluginHelper::importPlugin('gantry5');

        // Trigger the onGantryThemeInit event.
        $dispatcher = \JEventDispatcher::getInstance();
        $dispatcher->trigger('onGantry5ThemeInit', ['theme' => $this]);
    }

    /**
     * Get list of twig paths.
     *
     * @return array
     */
    public static function getTwigPaths()
    {
        /** @var UniformResourceLocator $locator */
        $locator = static::gantry()['locator'];

        return $locator->mergeResources(['gantry-theme://twig', 'gantry-engine://twig']);
    }

    /**
     * @see AbstractTheme::setTwigLoaderPaths()
     *
     * @param \Twig_LoaderInterface $loader
     * @return \Twig_Loader_Filesystem
     */
    protected function setTwigLoaderPaths(\Twig_LoaderInterface $loader)
    {
        $loader = parent::setTwigLoaderPaths($loader);

        if ($loader) {
            $loader->setPaths($this->getTwigPaths());
        }

        return $loader;
    }
}
classes/Gantry/Framework/Atoms.php000060400000022345150750356250013210 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Framework;

use Gantry\Component\Config\BlueprintForm;
use Gantry\Component\Config\Config;
use Gantry\Component\File\CompiledYamlFile;
use RocketTheme\Toolbox\ArrayTraits\ArrayAccess;
use RocketTheme\Toolbox\ArrayTraits\Export;
use RocketTheme\Toolbox\ArrayTraits\ExportInterface;
use RocketTheme\Toolbox\ArrayTraits\Iterator;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class Atoms implements \ArrayAccess, \Iterator, ExportInterface
{
    use ArrayAccess, Iterator, Export;

    /**
     * @var  string
     */
    protected $name;

    /**
     * @var array
     */
    protected $items;

    /**
     * @var array
     */
    protected $ids;

    /**
     * @var array|static[]
     */
    protected static $instances;

    protected $inherit = false;

    /**
     * @param string $outline
     * @return static
     */
    public static function instance($outline)
    {
        if (!isset(static::$instances[$outline])) {
            $file = CompiledYamlFile::instance("gantry-theme://config/{$outline}/page/head.yaml");
            $head = $file->content();
            static::$instances[$outline] = new static(isset($head['atoms']) ? $head['atoms'] : [], $outline);
            $file->free();

            static::$instances[$outline]->init();
        }

        return static::$instances[$outline];
    }

    /**
     * Atoms constructor.
     * @param array $atoms
     * @param string $name
     */
    public function __construct(array $atoms = [], $name = null)
    {
        $this->name = $name;
        $this->items = array_filter($atoms);
        $this->inherit = file_exists('gantry-admin://blueprints/layout/inheritance/atom.yaml');

        foreach ($this->items as &$item) {
            if (!empty($item['id'])) {
                $this->ids[$item['id']] = $item;
            }
        }
    }

    public function init()
    {
        foreach ($this->items as &$item) {
            if (!empty($item['inherit']['outline']) && !empty($item['inherit']['atom'])) {
                $inherited = static::instance($item['inherit']['outline']);
                $test = $inherited->id($item['inherit']['atom']);
                if (isset($test['attributes'])) {
                    $item['attributes'] = $test['attributes'];
                } else {
                    unset($item['inherit']);
                }
            }
        }

        return $this;
    }

    /**
     * @return $this
     */
    public function update()
    {
        foreach ($this->items as &$item) {
            if (empty($item['id'])) {
                $item['id'] = $this->createId($item);
            }
            if (!empty($item['inherit']['outline']) && !empty($item['inherit']['atom'])) {
                unset($item['attributes']);
            } else {
                unset($item['inherit']);
            }
        }

        return $this;
    }

    /**
     * @param string $outline
     * @return $this
     */
    public function inheritAll($outline)
    {
        foreach ($this->items as &$item) {
            if (!empty($item['id'])) {
                $item['inherit'] = [
                    'outline' => $outline,
                    'atom' => $item['id'],
                    'include' => ['attributes']
                ];
            }
        }

        return $this;
    }

    /**
     * @param string $old
     * @param string $new
     * @param array  $ids
     * @return $this
     */
    public function updateInheritance($old, $new = null, $ids = null)
    {
        $this->init();

        foreach ($this->items as &$item) {
            if (!empty($item['inherit']['outline']) && $item['inherit']['outline'] == $old && isset($item['inherit']['atom'])) {
                if ($new && ($ids === null || isset($ids[$item['inherit']['atom']]))) {
                    $item['inherit']['outline'] = $new;
                } else {
                    unset($item['inherit']);
                }
            }
        }

        return $this;
    }

    public function save()
    {
        if ($this->name) {
            /** @var UniformResourceLocator $locator */
            $locator = Gantry::instance()['locator'];

            $loadPath = $locator->findResource("gantry-theme://config/{$this->name}/page/head.yaml");
            $savePath = $locator->findResource("gantry-theme://config/{$this->name}/page/head.yaml", true, true);

            if ($loadPath && $savePath) {
                $file = CompiledYamlFile::instance($loadPath);
                $head = $file->content();
                $head['atoms'] = $this->update()->toArray();
                $file->free();

                $file = CompiledYamlFile::instance($savePath);
                $file->save($head);
                $file->free();
            }
        }
    }

    /**
     * @param string $id
     * @return array
     */
    public function id($id)
    {
        return isset($this->ids[$id]) ? $this->ids[$id] : [];
    }

    /**
     * @param string $type
     * @return array
     */
    public function type($type)
    {
        $list = [];
        foreach ($this->items as $item) {
            if ($item['type'] === $type) {
                $list[] = $item;
            }
        }

        return $list;
    }

    /**
     * @param string $type
     * @param array $data
     * @return Config
     */
    public function createAtom($type, array $data = [])
    {
        $self = $this;

        $callable = function () use ($self, $type) {
            return $self->getBlueprint($type);
        };

        // Create configuration from the data.
        $item = new Config($data, $callable);
        $item->def('id', null);
        $item->def('type', $type);
        if (!isset($item['title'])) {
            $item->def('title', $item->blueprint()->get('name'));
        }
        $item->def('attributes', []);
        $item->def('inherit', []);

        return $item;
    }

    /**
     * @param string $type
     * @return BlueprintForm
     */
    public function getBlueprint($type)
    {
        $blueprint = BlueprintForm::instance($type, 'gantry-blueprints://particles');

        if ($this->inherit) {
            $blueprint->set('form/fields/_inherit', ['type' => 'gantry.inherit']);
        }

        return $blueprint;
    }

    /**
     * @param string $type
     * @param string $id
     * @param bool $force
     * @return BlueprintForm|null
     */
    public function getInheritanceBlueprint($type, $id = null, $force = false)
    {
        if (!$this->inherit) {
            return null;
        }

        $inheriting = $id ? $this->getInheritingOutlines($id) : [];
        $list = $this->getOutlines($type, false);

        if ($force || (empty($inheriting) && $list)) {
            $inheritance = BlueprintForm::instance('layout/inheritance/atom.yaml', 'gantry-admin://blueprints');
            $inheritance->set('form/fields/outline/filter', array_keys($list));
            $inheritance->set('form/fields/atom/atom', $type);

        } elseif (!empty($inheriting)) {
            // Already inherited by other outlines.
            $inheritance = BlueprintForm::instance('layout/inheritance/messages/inherited.yaml', 'gantry-admin://blueprints');
            $inheritance->set(
                'form/fields/_note/content',
                sprintf($inheritance->get('form/fields/_note/content'), 'atom', ' <ul><li>' . implode('</li> <li>', $inheriting) . '</li></ul>')
            );

        } elseif ($this->name === 'default') {
            // Base outline.
            $inheritance = BlueprintForm::instance('layout/inheritance/messages/default.yaml', 'gantry-admin://blueprints');

        } else {
            // Nothing to inherit from.
            $inheritance = BlueprintForm::instance('layout/inheritance/messages/empty.yaml', 'gantry-admin://blueprints');
        }

        return $inheritance;
    }

    /**
     * @param string $id
     * @return array
     */
    public function getInheritingOutlines($id = null)
    {
        /** @var Outlines $outlines */
        $outlines = Gantry::instance()['outlines'];

        return $outlines->getInheritingOutlinesWithAtom($this->name, $id);
    }

    /**
     * @param string $type
     * @param bool $includeInherited
     * @return array
     */
    public function getOutlines($type, $includeInherited = true)
    {
        if ($this->name !== 'default') {
            /** @var Outlines $outlines */
            $outlines = Gantry::instance()['outlines'];

            $list = $outlines->getOutlinesWithAtom($type, $includeInherited);
            unset($list[$this->name]);
        } else {
            $list = [];
        }

        return $list;
    }

    /**
     * @param array $item
     * @return string
     */
    protected function createId(array &$item)
    {
        $type = $item['type'];

        while ($num = rand(1000, 9999)) {
            if (!isset($this->ids["{$type}-{$num}"])) {
                break;
            }
        }

        $id = "{$type}-{$num}";

        $this->ids[$id] = $item;

        return $id;
    }
}
classes/Gantry/Framework/Services/StreamsServiceProvider.php000060400000002464150750356250020362 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Framework\Services;

use Gantry\Component\Filesystem\Streams;
use Pimple\Container;
use RocketTheme\Toolbox\DI\ServiceProviderInterface;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class StreamsServiceProvider implements ServiceProviderInterface
{
    public function register(Container $gantry)
    {
        $sp = $this;

        $gantry['locator'] = function() use ($sp) {
            return new UniformResourceLocator(GANTRY5_ROOT);
        };
        $gantry['streams'] = function($c) use ($sp) {
            $schemes = (array) $c['platform']->init()->get('streams');

            /** @var UniformResourceLocator $locator */
            $locator = $c['locator'];

            $streams = new Streams($locator);
            $streams->add($schemes);

            GANTRY_DEBUGGER && method_exists('Gantry\Debugger', 'setLocator') && \Gantry\Debugger::setLocator($locator);

            return $streams;
        };
    }
}
classes/Gantry/Framework/Services/ConfigServiceProvider.php000060400000007551150750356250020153 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Framework\Services;

use Gantry\Component\Config\CompiledBlueprints;
use Gantry\Component\Config\CompiledConfig;
use Gantry\Component\Config\ConfigFileFinder;
use Gantry\Framework\Atoms;
use Pimple\Container;
use Pimple\ServiceProviderInterface;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class ConfigServiceProvider implements ServiceProviderInterface
{
    public function register(Container $gantry)
    {
        $gantry['blueprints'] = function($c) {
            GANTRY_DEBUGGER && \Gantry\Debugger::startTimer('blueprints', 'Loading blueprints');

            $blueprints = static::blueprints($c);

            GANTRY_DEBUGGER && \Gantry\Debugger::stopTimer('blueprints');

            return $blueprints;
        };

        $gantry['config'] = function($c) {
            // Make sure configuration has been set.
            if (!isset($c['configuration'])) {
                throw new \LogicException('Gantry: Please set current configuration before using $gantry["config"]', 500);
            }

            GANTRY_DEBUGGER && \Gantry\Debugger::startTimer('config', 'Loading configuration');

            // Get the current configuration and lock the value from modification.
            $outline = $c->lock('configuration');

            $config = static::load($c, $outline);

            GANTRY_DEBUGGER && \Gantry\Debugger::setConfig($config)->stopTimer('config');

            return $config;
        };
    }

    public static function blueprints(Container $container)
    {
        /** @var UniformResourceLocator $locator */
        $locator = $container['locator'];

        $cache = $locator->findResource('gantry-cache://theme/compiled/blueprints', true, true);

        $files = [];
        $paths = $locator->findResources('gantry-particles://');
        $files += (new ConfigFileFinder)->setBase('particles')->locateFiles($paths);
        $paths = $locator->findResources('gantry-blueprints://');
        $files += (new ConfigFileFinder)->locateFiles($paths);

        $config = new CompiledBlueprints($cache, $files, GANTRY5_ROOT);

        return $config->load();
    }

    public static function load(Container $container, $name = 'default', $combine = true, $withDefaults = true)
    {
        /** @var UniformResourceLocator $locator */
        $locator = $container['locator'];

        $combine = $combine && $name !== 'default';

        // Merge current configuration with the default.
        $uris = $combine ? ["gantry-config://{$name}", 'gantry-config://default'] : ["gantry-config://{$name}"];

        $paths = [];
        foreach ($uris as $uri) {
            $paths = array_merge($paths, $locator->findResources($uri));
        }

        // Locate all configuration files to be compiled.
        $files = (new ConfigFileFinder)->locateFiles($paths);

        $cache = $locator->findResource('gantry-cache://theme/compiled/config', true, true);

        if (!$cache) {
            throw new \RuntimeException('Who just removed Gantry 5 cache folder? Try reloading the page if it fixes the issue');
        }

        $compiled = new CompiledConfig($cache, $files, GANTRY5_ROOT);
        $compiled->setBlueprints(function() use ($container) {
            return $container['blueprints'];
        });

        $config = $compiled->load($withDefaults);

        // Set atom inheritance.
        $atoms = $config->get('page.head.atoms');
        if (is_array($atoms)) {
            $config->set('page.head.atoms', (new Atoms($atoms))->init()->toArray());
        }

        return $config;
    }
}
classes/Gantry/Framework/Services/ErrorServiceProvider.php000060400000004351150750356250020032 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Framework\Services;

use Gantry\Component\Whoops\SystemFacade;
use Gantry\Framework\Platform;
use Pimple\Container;
use Pimple\ServiceProviderInterface;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;
use Whoops\Handler\JsonResponseHandler;
use Whoops\Handler\PrettyPageHandler;
use Whoops\Run;
use Whoops\Util\Misc;

class ErrorServiceProvider implements ServiceProviderInterface
{
    protected $format;

    public function __construct($format = 'html')
    {
        $this->format = $format;
    }

    public function register(Container $container)
    {
        /** @var UniformResourceLocator $locator */
        $locator = $container['locator'];

        /** @var Platform $platform */
        $platform = $container['platform'];

        // Setup Whoops-based error handler
        $system = new SystemFacade($platform->errorHandlerPaths());
        $errors = new Run($system);

        $error_page = new PrettyPageHandler;
        $error_page->setPageTitle('Crikey! There was an error...');
        $error_page->setEditor('sublime');
        foreach ($locator->findResources('gantry-assets://css/whoops.css') as $path) {
            $error_page->addResourcePath(dirname($path));
        }
        $error_page->addCustomCss('whoops.css');

        $errors->pushHandler($error_page);

        $jsonRequest = $this->format === 'json' || ($_SERVER && isset($_SERVER['HTTP_ACCEPT']) && $_SERVER['HTTP_ACCEPT'] == 'application/json');
        if (Misc::isAjaxRequest() || $jsonRequest) {
            $json_handler = new JsonResponseHandler;
            //$json_handler->setJsonApi(true);

            $errors->pushHandler($json_handler);
        }

        $errors->register();

        $container['errors'] = $errors;

        if (GANTRY_DEBUGGER && method_exists('Gantry\Debugger', 'setErrorHandler')) {
            \Gantry\Debugger::setErrorHandler();
        }
    }
}
classes/Gantry/Framework/Site.php000060400000001155150750356250013025 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Framework;

class Site
{
    public function __construct()
    {
        $document = \JFactory::getDocument();

        if ($document instanceof \JDocumentHTML) {
            $this->theme = $document->template;
            $this->url = $document->baseurl;
            $this->title = $document->title;
            $this->description = $document->description;
        }
    }
}
classes/Gantry/Framework/Request.php000060400000000753150750356250013554 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Framework;

use Gantry\Component\Request\Request as BaseRequest;

class Request extends BaseRequest {}
classes/Gantry/Framework/Base/Platform.php000060400000014730150750356250014562 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Framework\Base;

use Gantry\Component\Filesystem\Folder;
use RocketTheme\Toolbox\ArrayTraits\Export;
use RocketTheme\Toolbox\ArrayTraits\NestedArrayAccess;
use RocketTheme\Toolbox\DI\Container;

/**
 * The Platform Configuration class contains configuration information.
 *
 * @author RocketTheme
 * @license MIT
 */

abstract class Platform
{
    use NestedArrayAccess, Export;

    protected $name;
    protected $features = [];
    protected $settings_key;
    protected $items;
    protected $container;

    public function __construct(Container $container)
    {
        $this->container = $container;

        //Make sure that cache folder exists, otherwise it will be removed from the lookup.
        $cachePath = $this->getCachePath();
        Folder::create($cachePath);

        $this->items = [
            'streams' => [
                // Cached files.
                'gantry-cache' => [
                    'type' => 'Stream',
                    'force' => true,
                    'prefixes' => ['' => [$cachePath]]
                ],
                // Container for all frontend themes.
                'gantry-themes' => [
                    'type' => 'ReadOnlyStream',
                    'prefixes' => $this->getThemesPaths()
                ],
                // Selected frontend theme.
                'gantry-theme' => [
                    'type' => 'ReadOnlyStream',
                    'prefixes' => $this->getThemePaths()
                ],
                // System defined media files.
                'gantry-assets' => [
                    'type' => 'ReadOnlyStream',
                    'prefixes' => $this->getAssetsPaths()
                ],
                // User defined media files.
                'gantry-media' => [
                    'type' => 'ReadOnlyStream',
                    'prefixes' => $this->getMediaPaths()
                ],
                // Container for all Gantry engines.
                'gantry-engines' => [
                    'type' => 'ReadOnlyStream',
                    'prefixes' => $this->getEnginesPaths()
                ],
                // Gantry engine used to render the selected theme.
                'gantry-engine' => [
                    'type' => 'ReadOnlyStream',
                    'prefixes' => $this->getEnginePaths()
                ],
                // Layout definitions for the blueprints.
                'gantry-layouts' => [
                    'type' => 'ReadOnlyStream',
                    'prefixes' => ['' => ['gantry-theme://layouts', 'gantry-engine://layouts']]
                ],
                // Gantry particles.
                'gantry-particles' => [
                    'type' => 'ReadOnlyStream',
                    'prefixes' => ['' => ['gantry-theme://particles', 'gantry-engine://particles']]
                ],
                // Gantry administration.
                'gantry-admin' => [
                    'type' => 'ReadOnlyStream',
                    'prefixes' => []
                ],
                // Blueprints for the configuration.
                'gantry-blueprints' => [
                    'type' => 'ReadOnlyStream',
                    'prefixes' => [
                        '' => ['gantry-theme://blueprints', 'gantry-engine://blueprints'],
                        'particles' => ['gantry-particles://']
                    ]
                ],
                // Configuration from the selected theme.
                'gantry-config' => [
                    'type' => 'ReadOnlyStream',
                    'prefixes' => ['' => ['gantry-theme://config']]
                ]
            ]
        ];
    }

    abstract public function getCachePath();
    abstract public function getThemesPaths();
    abstract public function getAssetsPaths();
    abstract public function getMediaPaths();

    public function init()
    {
        return $this;
    }

    public function has($feature)
    {
        return !empty($this->features[$feature]);
    }

    public function getThemePaths()
    {
        return ['' => []];
    }

    public function getEnginePaths($name = 'nucleus')
    {
        return ['' => ['gantry-theme://engine', "gantry-engines://{$name}"]];
    }

    public function getEnginesPaths()
    {
        return ['' => []];
    }

    public function errorHandlerPaths()
    {
        return [];
    }

    /**
     * Get preview url for individual theme.
     *
     * @param string $theme
     * @return string|null
     */
    abstract public function getThemePreviewUrl($theme);

    /**
     * Get administrator url for individual theme.
     *
     * @param string $theme
     * @return string|null
     */
    abstract public function getThemeAdminUrl($theme);

    public function settings()
    {
        return null;
    }

    public function settings_key()
    {
        return $this->settings_key;
    }

    public function listModules()
    {
        return false;
    }

    public function getName()
    {
        return $this->name;
    }

    public function getEditor($name, $content = '', $width = null, $height = null)
    {
        return null;
    }

    public function filter($text)
    {
        return $text;
    }

    public function finalize()
    {
        $gantry = Gantry::instance();

        $gantry['document']->registerAssets();
    }

    public function call()
    {
        $args = func_get_args();
        $callable = array_shift($args);
        return is_callable($callable) ? call_user_func_array($callable, $args) : null;
    }

    public function authorize($action)
    {
        return true;
    }

    /**
     * @param array|string $dependencies
     * @return bool|null
     * @since 5.4.3
     */
    public function checkDependencies($dependencies)
    {
        if (is_string($dependencies) && $dependencies !== $this->name) {
            return false;
        }

        if (isset($dependencies['platform'])) {
            if (is_string($dependencies['platform']) && $dependencies['platform'] !== $this->name) {
                return false;
            }
            if (!isset($dependencies['platform'][$this->name])) {
                return false;
            }
        }

        return true;
    }
}
classes/Gantry/Framework/Base/Page.php000060400000004115150750356250013646 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Framework\Base;

abstract class Page
{
    protected $container;
    protected $config;

    public function __construct($container)
    {
        $this->container = $container;
        $this->config = $container['config'];
    }

    public function doctype()
    {
        return $this->config->get('page.doctype', 'html');
    }

    abstract public function url(array $args = []);

    public function preset()
    {
        /** @var Theme $theme */
        $theme = $this->container['theme'];
        return 'g-' . preg_replace('/[^a-z0-9-]/', '', $theme->type());
    }

    public function htmlAttributes()
    {
        return $this->getAttributes($this->config->get('page.html'));
    }

    public function bodyAttributes($attributes = [])
    {
        return $this->getAttributes($this->config->get('page.body.attribs'), $attributes);
    }

    protected function getAttributes($params, $extra = [])
    {
        $params = array_merge_recursive($params, $extra);

        $list = [];
        foreach ($params as $param => $value) {
            if (!$value) { continue; }
            if (!is_array($value) || !count(array_filter($value, 'is_array'))) {
                $value = array_filter(array_unique((array) $value));
                $list[] = $param . '="' . implode(' ', $value) . '"';
            } else {
                $values = new \RecursiveIteratorIterator(new \RecursiveArrayIterator($value));
                foreach ($values as $iparam => $ivalue) {
                    $ivalue = array_filter(array_unique((array) $ivalue));
                    $list[] = $iparam . '="' . implode(' ', $ivalue) . '"';
                }
            }

        }

        return $list ? ' ' . implode(' ', $list) : '';
    }
}
classes/Gantry/Framework/Base/Theme.php000060400000001107150750356250014032 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Framework\Base;

use Gantry\Component\Theme\AbstractTheme;
use Gantry\Component\Theme\ThemeTrait;

/**
 * @deprecated 5.1.5
 */
abstract class Theme extends AbstractTheme
{
    use ThemeTrait;
}
classes/Gantry/Framework/Base/Site.php000060400000000644150750356250013701 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Framework\Base;

class Site
{
}
classes/Gantry/Framework/Base/Gantry.php000060400000022206150750356250014237 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Framework\Base;

use Gantry\Component\Config\Config;
use Gantry\Component\System\Messages;
use Gantry\Framework\Document;
use Gantry\Framework\Menu;
use Gantry\Framework\Outlines;
use Gantry\Framework\Page;
use Gantry\Framework\Platform;
use Gantry\Framework\Positions;
use Gantry\Framework\Request;
use Gantry\Framework\Services\ConfigServiceProvider;
use Gantry\Framework\Services\StreamsServiceProvider;
use Gantry\Framework\Site;
use Gantry\Framework\Translator;
use RocketTheme\Toolbox\DI\Container;
use RocketTheme\Toolbox\Event\Event;
use RocketTheme\Toolbox\Event\EventDispatcher;

abstract class Gantry extends Container
{
    /**
     * @var static
     */
    protected static $instance;
    protected $wrapper;

    public static function instance()
    {
        if (!self::$instance) {
            self::$instance = static::init();

            if (!defined('GANTRY5_DEBUG')) {
                define('GANTRY5_DEBUG', self::$instance->debug());
            }
        }

        return self::$instance;
    }

    public static function restart()
    {
        self::$instance = null;

        return static::instance();
    }

    /**
     * Returns true if debug mode has been enabled.
     *
     * @return boolean
     */
    public function debug()
    {
        return $this['global']->get('debug', false);
    }

    /**
     * Returns true if we are in administration.
     *
     * @return boolean
     */
    public function admin()
    {
        return defined('GANTRYADMIN_PATH');
    }


    /**
     * @return string
     */
    public function siteUrl()
    {
        $gantry = Gantry::instance();

        return $gantry['document']->siteUrl();
    }

    /**
     * @param string $location
     * @return array
     */
    public function styles($location = 'head')
    {
        return $this['document']->getStyles($location);
    }

    /**
     * @param string $location
     * @return array
     */
    public function scripts($location = 'head')
    {
        return $this['document']->getScripts($location);
    }

    /**
     * Load Javascript framework / extension in platform independent way.
     *
     * @param string $framework
     * @return bool
     */
    public function load($framework)
    {
        return $this['document']->addFramework($framework);
    }

    /**
     * Lock the variable against modification and return the value.
     *
     * @param string $id
     * @return mixed
     */
    public function lock($id)
    {
        $value = $this[$id];

        try {
            // Create a dummy service.
            $this[$id] = function () use ($value) {
                return $value;
            };
        } catch (\RuntimeException $e) {
            // Services are already locked, so ignore the error.
        }

        // Lock the service and return value.
        return $this[$id];
    }

    /**
     * Fires an event with optional parameters.
     *
     * @param  string $eventName
     * @param  Event  $event
     * @return Event
     */
    public function fireEvent($eventName, Event $event = null)
    {
        /** @var EventDispatcher $events */
        $events = $this['events'];
        return $events->dispatch($eventName, $event);
    }

    public function route($path)
    {
        $routes = $this->offsetGet('routes');
        $route = isset($routes[$path]) ? $routes[$path] : $routes[1];

        if (!$route) {
            // TODO: need to implement back to root in Prime..
            return $this->offsetGet('base_url');
        }

        $path = implode('/', array_filter(func_get_args(), function($var) { return isset($var) && $var !== ''; }));

        // rawurlencode() the whole path, but keep the slashes.
        $path = preg_replace(['|%2F|', '|%25|'], ['/', '%'], rawurlencode($path));

        return preg_replace('|/+|', '/', '/' . $this->offsetGet('base_url') . sprintf($route, $path));
    }

    public function authorize($action, $id = null)
    {
        return $this['platform']->authorize($action, $id);
    }

    public function wrapper($value = null)
    {
        if ($value !== null ) {
            $this->wrapper = $value;
        }

        return $this->wrapper;
    }

    protected static function init()
    {
        /** @var Gantry $instance */
        $instance = new static();

        if (GANTRY_DEBUGGER) {
            $instance['debugger'] = \Gantry\Debugger::instance();
        }

        $instance['loader'] = \Gantry5\Loader::get();

        $instance->register(new ConfigServiceProvider);
        $instance->register(new StreamsServiceProvider);

        $instance['request'] = function () {
            return new Request;
        };

        $instance['events'] = function () {
            return new EventDispatcher;
        };

        $instance['platform'] = function ($c) {
            return new Platform($c);
        };

        $instance['translator'] = function () {
            return new Translator;
        };

        $instance['site'] = function () {
            return new Site;
        };

        $instance['menu'] = function () {
            return new Menu;
        };

        $instance['messages'] = function () {
            return new Messages;
        };

        $instance['page'] = function ($c) {
            return new Page($c);
        };

        $instance['document'] = function () {
            return new Document;
        };

        // Make sure that nobody modifies the original collection by making it a factory.
        $instance['outlines'] = $instance->factory(function ($c) {
            static $collection;
            if (!$collection) {
                $collection = (new Outlines($c))->load();
            }

            return $collection->copy();
        });

        // @deprecated 5.3
        $instance['configurations'] = $instance->factory(function ($c) {
            GANTRY_DEBUGGER && \Gantry\Debugger::addMessage("Depredated call: gantry.configurations");

            static $collection;
            if (!$collection) {
                $collection = (new Outlines($c))->load();
            }

            return $collection->copy();
        });

        $instance['positions'] = $instance->factory(function ($c) {
            static $collection;
            if (!$collection) {
                $collection = (new Positions($c))->load();
            }

            return $collection->copy();
        });

        $instance['global'] = function ($c) {
            $data = $c->loadGlobal() + [
                    'debug' => false,
                    'production' => true,
                    'use_media_folder' => false,
                    'asset_timestamps' => true,
                    'asset_timestamps_period' => 7,
                    'compile_yaml' => true,
                    'compile_twig' => true
                ];

            return new Config($data);
        };

        return $instance;
    }

    /**
     * Check if Gantry is compatible with your theme / extension.
     *
     * This function can be used to make sure that user has installed Gantry version
     * that has been tested to work with your extension. All existing functions should
     * be backwards compatible, but each release can add some new functionality, which
     * you may want to use.
     *
     * <code>
     * if ($gantry->isCompatible('5.0.1')) {
     *      // You can do it in the new way.
     * } else {
     *     // Revert to the old way to display an error message.
     * }
     * </code>
     *
     * @param string $version Minimum required version.
     *
     * @return boolean Yes, if it is safe to use Gantry Framework.
     */
    public function isCompatible($version)
    {
        // If requested version is smaller than 5.0-rc, it's not compatible.
        if (version_compare($version, '5.0-rc', '<')) {
            return false;
        }

        // Development version support.
        if ($version === '5.3' || static::isDev()) {
            return true;
        }

        // Check if future version is needed.
        if (version_compare($version, GANTRY5_VERSION, '>')) {
            return false;
        }

        return true;
    }

    /**
     * Check if Gantry is running from a Git repository or is a CI build.
     *
     * Developers tend to do their work directly in the Git repositories instead of
     * creating and installing new builds after every change. This function can be
     * used to check the condition and make sure we do not break users repository
     * by replacing files during upgrade.
     *
     * @return boolean True if Git repository or CI build is detected.
     */
    public function isDev()
    {
        if ('@version@' == GANTRY5_VERSION) {
            return true;
        }
        if ('dev-' === substr(GANTRY5_VERSION, 0, 4)) {
            return true;
        }

        return false;
    }

    /**
     * @return array
     */
    protected function loadGlobal()
    {
        return [];
    }
}
classes/Gantry/Framework/Exception.php000060400000002030150750356250014050 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Framework;

class Exception extends \RuntimeException
{
    protected $responseCodes = [
        200 => '200 OK',
        400 => '400 Bad Request',
        401 => '401 Unauthorized',
        403 => '403 Forbidden',
        404 => '404 Not Found',
        410 => '410 Gone',
        500 => '500 Internal Server Error',
        501 => '501 Not Implemented',
        503 => '503 Service Temporarily Unavailable'
    ];

    public function getResponseCode() {
        return isset($this->responseCodes[$this->code]) ? (int) $this->code : 500;
    }

    public function getResponseStatus() {
        return $this->responseCodes[$this->getResponseCode()];
    }
}
classes/Gantry/Framework/Document.php000060400000016143150750356250013702 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Framework;

use Gantry\Component\Content\Document\HtmlDocument;

class Document extends HtmlDocument
{
    protected static $availableFrameworks = [
        'jquery' => 'registerJquery',
        'jquery.framework' => 'registerJquery',
        'jquery.ui.core' => 'registerJqueryUiCore',
        'jquery.ui.sortable' => 'registerJqueryUiSortable',
        'bootstrap.2' => 'registerBootstrap2',
        'mootools' => 'registerMootools',
        'mootools.framework' => 'registerMootools',
        'mootools.core' => 'registerMootools',
        'mootools.more' => 'registerMootoolsMore',
        'lightcase' => 'registerLightcase',
        'lightcase.init' => 'registerLightcaseInit',
    ];

    public static function registerAssets()
    {
        static::registerFrameworks();
        static::registerStyles();
        static::registerScripts();
    }

    /**
     * NOTE: In PHP this function can be called either from Gantry DI container or statically.
     *
     * @param bool $addDomain
     * @return string
     */
    public static function domain($addDomain = false)
    {
        if (!$addDomain) {
            return '';
        }

        $absolute = \JUri::root(false);
        $relative = \JUri::root(true);

        return substr($absolute, 0, -strlen($relative));
    }

    public static function rootUri()
    {
        return rtrim(\JUri::root(true), '/') ?: '/';
    }

    public static function errorPage($new = null)
    {
        static $error = false;

        if (isset($new)) {
            $error = (bool) $new;
        }

        return $error;
    }

    protected static function registerStyles()
    {
        if (static::errorPage()) {
            return;
        }

        $doc = \JFactory::getDocument();

        $styles = static::$stack[0]->getStyles();

        foreach ($styles as $style) {
            switch ($style[':type']) {
                case 'file':
                    $doc->addStyleSheet($style['href'], $style['type'], $style['media'], $style['element']);
                    break;
                case 'inline':
                    $doc->addStyleDeclaration($style['content'], $style['type']);
                    break;
            }
        }
    }

    protected static function registerScripts()
    {
        if (static::errorPage()) {
            return;
        }

        $doc = \JFactory::getDocument();

        $scripts = static::$stack[0]->getScripts();

        foreach ($scripts as $script) {
            switch ($script[':type']) {
                case 'file':
                    $doc->addScript($script['src'], $script['type'], $script['defer'], $script['async']);
                    break;
                case 'inline':
                    $doc->addScriptDeclaration($script['content'], $script['type']);
                    break;
            }
        }
    }

    protected static function registerJquery()
    {
        if (!static::errorPage()) {
            \JHtml::_('jquery.framework');

            return;
        }

        // Workaround for error document type.
        static::addHeaderTag(
            [
                'tag' => 'script',
                'src' => \JUri::getInstance()->base(true) . '/media/jui/js/jquery.min.js'
            ],
            'head',
            100
        );
        static::addHeaderTag(
            [
                'tag' => 'script',
                'src' => \JUri::getInstance()->base(true) . '/media/jui/js/jquery-noconflict.js'
            ],
            'head',
            100
        );
        static::addHeaderTag(
            [
                'tag' => 'script',
                'src' => \JUri::getInstance()->base(true) . '/media/jui/js/jquery-migrate.min.js'
            ],
            'head',
            100
        );
    }

    protected static function registerJqueryUiCore()
    {
        if (!static::errorPage()) {
            \JHtml::_('jquery.ui', ['core']);

            return;
        }

        // Workaround for error document type.
        static::registerJquery();
        static::addHeaderTag(
            [
                'tag' => 'script',
                'src' => \JUri::getInstance()->base(true) . '/media/jui/js/jquery.ui.core.min.js'
            ],
            'head',
            100
        );

    }

    protected static function registerJqueryUiSortable()
    {
        if (!static::errorPage()) {
            \JHtml::_('jquery.ui', ['sortable']);

            return;
        }

        // Workaround for error document type.
        static::registerJqueryUiCore();
        static::addHeaderTag(
            [
                'tag' => 'script',
                'src' => \JUri::getInstance()->base(true) . '/media/jui/js/jquery.ui.sortable.min.js'
            ],
            'head',
            100
        );
    }

    protected static function registerBootstrap2()
    {
        Gantry::instance()['theme']->joomla(true);

        if (!static::errorPage()) {
            \JHtml::_('bootstrap.framework');

            return;
        }

        // Workaround for error document type.
        static::registerJquery();
        static::addHeaderTag(
            [
                'tag' => 'script',
                'src' => \JUri::getInstance()->base(true) . '/media/jui/js/bootstrap.min.js'
            ],
            'head',
            100
        );
    }

    protected static function registerMootools()
    {
        if (!static::errorPage()) {
            \JHtml::_('behavior.framework');

            return;
        }

        // Workaround for error document type.
        static::addHeaderTag(
            [
                'tag' => 'script',
                'src' => \JUri::getInstance()->base(true) . '/media/system/js/mootools-core.js'
            ],
            'head',
            99
        );
        static::addHeaderTag(
            [
                'tag' => 'script',
                'src' => \JUri::getInstance()->base(true) . '/media/system/js/core.js'
            ],
            'head',
            99
        );
    }

    protected static function registerMootoolsMore()
    {
        if (!static::errorPage()) {
            \JHtml::_('behavior.framework', true);

            return;
        }

        // Workaround for error document type.
        static::registerMootools();
        static::addHeaderTag(
            [
                'tag' => 'script',
                'src' => \JUri::getInstance()->base(true) . '/media/system/js/mootools-more.js'
            ],
            'head',
            99
        );
    }

    /**
     * Override to support index.php?Itemid=xxx.
     *
     * @param array $matches
     * @return string
     * @internal
     */
    public static function linkHandler(array $matches)
    {
        $url = trim($matches[3]);
        if (strpos($url, 'index.php?') !== 0) {
            list($domain, $timestamp_age) = static::$urlFilterParams;
            $url = static::url(trim($matches[3]), $domain, $timestamp_age);
        }

        return "{$matches[1]}{$matches[2]}=\"{$url}\"";
    }
}
classes/Gantry/Framework/Markdown/Parsedown.php000060400000001227150750356250015645 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Framework\Markdown;

class Parsedown extends \Parsedown
{
    use ParsedownTrait;

    /**
     * Parsedown constructor.
     *
     * @param array $defaults
     */
    public function __construct(array $defaults = null)
    {
        $this->init($defaults ?: []);
    }

}
classes/Gantry/Framework/Markdown/ParsedownExtra.php000060400000001337150750356250016653 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Framework\Markdown;

class ParsedownExtra extends \ParsedownExtra
{
    use ParsedownTrait;

    /**
     * ParsedownExtra constructor.
     *
     * @param array $defaults
     * @throws \Exception
     */
    public function __construct(array $defaults = null)
    {
        parent::__construct();

        $this->init($defaults ?: []);
    }
}
classes/Gantry/Framework/Markdown/ParsedownTrait.php000060400000010342150750356250016647 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Framework\Markdown;

use Gantry\Framework\Gantry;

trait ParsedownTrait
{
    protected $special_chars;
    protected $twig_link_regex = '/\!*\[(?:.*)\]\((\{([\{%#])\s*(.*?)\s*(?:\2|\})\})\)/';

    /**
     * Initialization function to setup key variables needed by the MarkdownGravLinkTrait
     *
     * @param $defaults
     */
    protected function init(array $defaults)
    {
        $defaults += [
            'auto_line_breaks' => false,
            'auto_url_links' => false,
            'escape_markup' => false,
            'special_chars' => false
        ];

        $this->BlockTypes['{'][] = 'TwigTag';
        $this->special_chars = ['>' => 'gt', '<' => 'lt', '"' => 'quot'];

        $this->setBreaksEnabled($defaults['auto_line_breaks']);
        $this->setUrlsLinked($defaults['auto_url_links']);
        $this->setMarkupEscaped($defaults['escape_markup']);
        $this->setSpecialChars($defaults['special_chars']);
    }

    /**
     * Setter for special chars
     *
     * @param $special_chars
     *
     * @return $this
     */
    public function setSpecialChars($special_chars)
    {
        $this->special_chars = $special_chars;

        return $this;
    }

    /**
     * Ensure Twig tags are treated as block level items with no <p></p> tags
     *
     * @param array $line
     * @return array|null
     */
    protected function blockTwigTag($line)
    {
        if (preg_match('/(?:{{|{%|{#)(.*)(?:}}|%}|#})/', $line['body'], $matches)) {
            return ['markup' => $line['body']];
        }

        return null;
    }

    protected function inlineSpecialCharacter($excerpt)
    {
        if ($excerpt['text'][0] === '&' && !preg_match('/^&#?\w+;/', $excerpt['text'])) {
            return [
                'markup' => '&amp;',
                'extent' => 1,
            ];
        }

        if (isset($this->special_chars[$excerpt['text'][0]])) {
            return [
                'markup' => '&' . $this->special_chars[$excerpt['text'][0]] . ';',
                'extent' => 1,
            ];
        }

        return null;
    }

    protected function inlineImage($excerpt)
    {
        if (preg_match($this->twig_link_regex, $excerpt['text'], $matches)) {
            $excerpt['text'] = str_replace($matches[1], '/', $excerpt['text']);
            $excerpt = parent::inlineImage($excerpt);
            $excerpt['element']['attributes']['src'] = $matches[1];
            $excerpt['extent'] = $excerpt['extent'] + \strlen($matches[1]) - 1;

            return $excerpt;
        }

        $excerpt['type'] = 'image';
        $excerpt = parent::inlineImage($excerpt);

        // if this is an image process it
        if (isset($excerpt['element']['attributes']['src'])) {
            $gantry = Gantry::instance();

            $excerpt['element']['attributes']['src'] = $gantry['document']->url($excerpt['element']['attributes']['src']);
        }

        return $excerpt;
    }

    protected function inlineLink($excerpt)
    {
        if (!isset($excerpt['type'])) {
            $excerpt['type'] = 'link';
        }

        // do some trickery to get around Parsedown requirement for valid URL if its Twig in there
        if (preg_match($this->twig_link_regex, $excerpt['text'], $matches)) {
            $excerpt['text'] = str_replace($matches[1], '/', $excerpt['text']);
            $excerpt = parent::inlineLink($excerpt);
            $excerpt['element']['attributes']['href'] = $matches[1];
            $excerpt['extent'] = $excerpt['extent'] + \strlen($matches[1]) - 1;

            return $excerpt;
        }

        $excerpt = parent::inlineLink($excerpt);

        // if this is a link
        if (isset($excerpt['element']['attributes']['href'])) {
            $gantry = Gantry::instance();

            $excerpt['element']['attributes']['href'] = $gantry['document']->url($excerpt['element']['attributes']['href']);
        }

        return $excerpt;
    }
}
classes/Gantry/Framework/Menu.php000060400000031100150750356250013016 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Framework;

use Gantry\Component\Config\Config;
use Gantry\Component\Gantry\GantryTrait;
use Gantry\Component\Menu\AbstractMenu;
use Gantry\Component\Menu\Item;

class Menu extends AbstractMenu
{
    use GantryTrait;

    /**
     * @var \JApplicationCms
     */
    protected $app;

    /**
     * @var \JMenu
     */
    protected $menu;

    public function __construct()
    {
        $this->app = \JApplicationCms::getInstance('site');

        $lang = \JFactory::getLanguage();
        $tag = \JLanguageMultilang::isEnabled() ? $lang->getTag() : '*';

        $this->menu = $this->app->getMenu();
        $this->default = $this->menu->getDefault($tag);
        $this->active  = $this->menu->getActive();
    }

    public function init(&$params)
    {
        parent::init($params);

        if (!empty($params['admin'])) {
            /** @var \JTableMenuType $table */
            $menuType = \JTable::getInstance('MenuType');
            $menuType->load(['menutype' => $params['menu']]);

            $config = $this->config();
            $config->set('settings.title', $menuType->title);
            $config->set('settings.description', $menuType->description);
        }
    }

    /**
     * Return list of menus.
     *
     * @return array
     * @throws \RuntimeException
     */
    public function getMenus()
    {
        static $items;

        if ($items === null) {
            require_once JPATH_ADMINISTRATOR . '/components/com_menus/helpers/menus.php';
            $items = (array) \MenusHelper::getMenuTypes();
        }

        return $items;
    }

    public function getGroupedItems()
    {
        $groups = array();

        // Get the menu items.
        $items = \MenusHelper::getMenuLinks();

        // Build the groups arrays.
        foreach ($items as $item) {
            // Initialize the group.
            $groups[$item->menutype] = [];

            // Build the options array.
            foreach ($item->links as $link) {
                $groups[$item->menutype][$link->value] = [
                    'spacing' => str_repeat('&nbsp; ', max(0, $link->level-1)),
                    'label' => $link->text
                ];
            }
        }

        return $groups;
    }

    /**
     * Return default menu.
     *
     * @return string|null
     */
    public function getDefaultMenuName()
    {
        return $this->default ? $this->default->menutype : null;
    }

    /**
     * Returns true if the platform implements a Default menu.
     *
     * @return boolean
     */
    public function hasDefaultMenu()
    {
        return true;
    }

    /**
     * Return active menu.
     *
     * @return string|null
     */
    public function getActiveMenuName()
    {
        return $this->active ? $this->active->menutype : null;
    }

    /**
     * Returns true if the platform implements an Active menu.
     *
     * @return boolean
     */
    public function hasActiveMenu()
    {
        return true;
    }

    /**
     * @return string|null
     */
    public function getCacheId()
    {
        if (!\JFactory::getUser()->guest) {
            return null;
        }

        return $this->active ? $this->active->id : 0;
    }

    public function isActive($item)
    {
        $tree = $this->base->tree;

        if (in_array($item->id, $tree)) {
            return true;
        } elseif ($item->type == 'alias') {
            $aliasToId = $item->link_id;

            if (count($tree) > 0 && $aliasToId == $tree[count($tree) - 1]) {
                return (bool) $this->params['highlightAlias'];
            } elseif (in_array($aliasToId, $tree)) {
                return (bool) $this->params['highlightParentAlias'];
            }
        }

        return false;
    }

    public function isCurrent($item)
    {
        return $item->id == $this->active->id
        || ($item->type == 'alias' && $item->params->get('aliasoptions') == $this->active->id);
    }

    /**
     * Get menu items from the platform.
     *
     * @param array $params
     * @return array    List of routes to the pages.
     */
    protected function getItemsFromPlatform($params)
    {
        $attributes = ['menutype'];
        $values = [$params['menu']];

        // Items are already filtered by access and language, in admin we need to work around that.
        if (\JFactory::getApplication()->isAdmin()) {
            $attributes[] = 'access';
            $values[] = null;

            $attributes[] = 'language';
            $values[] = null;
        }

        return $this->menu->getItems($attributes, $values);
    }

    /**
     * Get base menu item.
     *
     * If itemid is not specified or does not exist, return active menu item.
     * If there is no active menu item, fall back to home page for the current language.
     * If there is no home page, return null.
     *
     * @param   int  $itemid
     *
     * @return  object|null
     */
    protected function calcBase($itemid = null)
    {
        $menu = $this->app->getMenu();

        // Get base menu item.
        $base = $itemid ? $menu->getItem($itemid) : null;

        if (!$base) {
            // Use active menu item or fall back to default menu item.
            $base = $this->active ?: $this->default;
        }

        // Return base menu item.
        return $base;
    }

    /**
     * Get a list of the menu items.
     *
     * Logic was originally copied from Joomla 3.4 mod_menu/helper.php (joomla-cms/staging, 2014-11-12).
     * We should keep the contents of the function similar to Joomla in order to review it against any changes.
     *
     * @param  array  $params
     * @param  array  $items
     */
    public function getList(array $params, array $items)
    {
        // Get base menu item for this menu (defaults to active menu item).
        $this->base = $this->calcBase($params['base']);

        // Make sure that the menu item exists.
        if (!$this->base && !\JFactory::getApplication()->isAdmin()) {
            return;
        }

        $levels = \JFactory::getUser()->getAuthorisedViewLevels();
        asort($levels);

        // FIXME: need to create collection class to gather the sibling data, otherwise caching cannot work.
        //$key = 'gantry_menu_items.' . json_encode($params) . '.' . json_encode($levels) . '.' . $this->base->id;
        //$cache = \JFactory::getCache('mod_menu', '');
        //try {
        //    $this->items = $cache->get($key);
        //} catch (\Exception $e) {
        //    $this->items = false;
        //}

        if (1) {
            $tree    = isset($this->base->tree) ? $this->base->tree : [];
            $start   = $params['startLevel'];
            $max     = $params['maxLevels'];
            $end     = $max ? $start + $max - 1 : 0;

            $menuItems = $this->getItemsFromPlatform($params);

            $itemMap = [];
            foreach ($items as $path => &$itemRef) {
                if (isset($itemRef['id']) && is_numeric($itemRef['id'])) {
                    $itemRef['path'] = $path;
                    $itemMap[$itemRef['id']] = &$itemRef;
                }
            }

            foreach ($menuItems as $menuItem) {
                if (($start && $start > $menuItem->level)
                    || ($end && $menuItem->level > $end)
                    || ($start > 1 && !in_array($menuItem->tree[$start - 2], $tree))) {
                    continue;
                }

                // These params always come from Joomla and cannot be overridden.
                $itemParams = [
                    'id' => $menuItem->id,
                    'type' => $menuItem->type,
                    'alias' => $menuItem->alias,
                    'path' => $menuItem->route,
                    'link' => $menuItem->link,
                    'link_title' => $menuItem->params->get('menu-anchor_title', ''),
                    'rel' => $menuItem->params->get('menu-anchor_rel', ''),
                    'enabled' => (bool) $menuItem->params->get('menu_show', 1),
                ];

                // Rest of the items will come from saved configuration.
                if (isset($itemMap[$menuItem->id])) {
                    // ID found, use it.
                    $itemParams += $itemMap[$menuItem->id];

                    // Store new path for the menu item into path map.
                    if ($itemParams['path'] !== $itemMap[$menuItem->id]['path']) {
                        if (!$this->pathMap) {
                            $this->pathMap = new Config([]);
                        }
                        $this->pathMap->set(preg_replace('|/|u', '/children/', $itemMap[$menuItem->id]['path']) . '/path', $itemParams['path'], '/');
                    }
                } elseif (isset($items[$menuItem->route])) {
                    // ID not found, try to use route.
                    $itemParams += $items[$menuItem->route];
                }

                // Get default target from Joomla.
                switch ($menuItem->browserNav)
                {
                    default:
                    case 0:
                        // Target window: Parent.
                        $target = '_self';
                        break;
                    case 1:
                    case 2:
                        // Target window: New with navigation.
                        $target = '_blank';
                        break;
                }

                // And if not available in configuration, default to Joomla.
                $itemParams += [
                    'title' => $menuItem->title,
                    'anchor_class' => $menuItem->params->get('menu-anchor_css', ''),
                    'image' => $menuItem->params->get('menu_image', ''),
                    'icon_only' => !$menuItem->params->get('menu_text', 1),
                    'target' => $target
                ];

                $item = new Item($this, $menuItem->route, $itemParams);
                $this->add($item);

                $link  = $item->link;

                switch ($item->type) {
                    case 'separator':
                    case 'heading':
                        // These types have no link.
                        $link = null;
                        break;

                    case 'url':
                        if ((strpos($item->link, 'index.php?') === 0) && (strpos($item->link, 'Itemid=') === false)) {
                            // If this is an internal Joomla link, ensure the Itemid is set.
                            $link = $item->link . '&Itemid=' . $item->id;
                        }
                        break;

                    case 'alias':
                        // If this is an alias use the item id stored in the parameters to make the link.
                        $link = 'index.php?Itemid=' . $menuItem->params->get('aliasoptions', 0);
                        break;

                    default:
                        $app = $this->app;
                        $router = $app::getRouter();

                        if ($router->getMode() == JROUTER_MODE_SEF) {
                            $link = 'index.php?Itemid=' . $item->id;

                            if (isset($menuItem->query['format']) && $app->get('sef_suffix')) {
                                $link .= '&format=' . $menuItem->query['format'];
                            }
                        } else {
                            $link .= '&Itemid=' . $item->id;
                        }
                        break;
                }

                if (!$link) {
                    $item->url(false);
                } elseif (strcasecmp(substr($link, 0, 4), 'http') && (strpos($link, 'index.php?') !== false)) {
                    $item->url(\JRoute::_($link, false, $menuItem->params->get('secure')));
                } else {
                    $item->url(\JRoute::_($link, false));
                }

                if ($item->type == 'url') {
                    // Moved from modules/mod_menu/tmpl/default_url.php, not sure why Joomla had application logic in there.
                    // Keep compatibility to Joomla menu module, but we need non-encoded version of the url.
                    $item->url(
                        htmlspecialchars_decode(\JFilterOutput::ampReplace(htmlspecialchars($item->link, ENT_COMPAT|ENT_SUBSTITUTE, 'UTF-8')))
                    );
                }
            }

            // FIXME: need to create collection class to gather the sibling data, otherwise caching cannot work.
            // $cache->store($this->items, $key);
        }
    }
}
classes/Gantry/Joomla/Object/AbstractObject.php000060400000031372150750356250015511 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Joomla\Object;

/**
 * Abstract base class for database objects.
 *
 *
 */
abstract class AbstractObject extends \JObject
{
    /**
     * If you don't have global instance ids, override this in extending class.
     * @var array
     */
    static protected $instances = [];

    /**
     * Override table class in your own class.
     * @var string
     */
    static protected $table;

    /**
     * JTable class prefix, override if needed.
     * @var string
     */
    static protected $tablePrefix = 'JTable';

    /**
     * Override table in your own class.
     * @var string
     */
    static protected $order;

    /**
     * @var int
     */
    public $id;

    /**
     * Is object stored into database?
     * @var boolean
     */
    protected $_exists = false;

    /**
     * Readonly object.
     * @var bool
     */
    protected $_readonly = false;

    /**
     * @var bool
     */
    protected $_initialized = false;

    /**
     * Class constructor, overridden in descendant classes.
     *
     * @param int $identifier Identifier.
     */
    public function __construct($identifier = null)
    {
        parent::__construct();

        if ($identifier) {
            $this->load($identifier);
        }
    }

    /**
     * Override this function if you need to initialize object right after creating it.
     *
     * Can be used for example if the database fields need to be converted to array or JRegistry.
     *
     * @return bool True if initialization was done, false if object was already initialized.
     */
    public function initialize()
    {
        $initialized = $this->_initialized;
        $this->_initialized = true;

        return !$initialized;
    }

    /**
     * Make instance as read only object.
     */
    public function readonly()
    {
        $this->_readonly = true;
    }

    /**
     * Returns the global instance to the object.
     *
     * Note that using array of fields will always make a query to the database, but it's very useful feature if you want to search
     * one item by using arbitrary set of matching fields. If there are more than one matching object, first one gets returned.
     *
     * @param  int|array  $keys        An optional primary key value to load the object by, or an array of fields to match.
     * @param  boolean    $reload      Force object reload from the database.
     *
     * @return  Object
     */
    static public function getInstance($keys = null, $reload = false)
    {
        // If we are creating or loading a new item or we load instance by alternative keys,
        // we need to create a new object.
        if (!$keys || is_array($keys) || !isset(static::$instances[(int) $keys])) {
            $c = get_called_class();
            $instance = new $c($keys);
            /** @var Object $instance */
            if (!$instance->exists()) return $instance;

            // Instance exists: make sure that we return the global instance.
            $keys = $instance->id;
        }

        // Return global instance from the identifier, possibly reloading it first.
        $instance = static::$instances[(int) $keys];
        if ($reload) $instance->load($keys);

        return $instance;
    }

    /**
     * Removes all or selected instances from the object cache.
     *
     * @param null|int|array  $ids
     */
    static public function freeInstances($ids = null)
    {
        if ($ids === null) {
            $ids = array_keys(static::$instances);
        }
        $ids = (array) $ids;

        foreach ($ids as $id) {
            unset(static::$instances[$id]);
        }
    }

    /**
     * Returns true if the object exists in the database.
     *
     * @param   boolean  $exists  Internal parameter to change state.
     *
     * @return  boolean  True if object exists in database.
     */
    public function exists($exists = null)
    {
        $return = $this->_exists;
        if ($exists !== null) $this->_exists = (bool) $exists;
        return $return;
    }

    /**
     * Tests if dynamically defined property has been defined.
     *
     * @param string $property
     * @param bool   $defined
     * @return bool
     */
    public function defined($property, $defined = true)
    {
        $property = '_' . $property;

        return $defined ? isset($this->{$property}) : !isset($this->{$property});
    }

    /**
     * Returns an associative array of object properties.
     *
     * @param   boolean  $public  If true, returns only the public properties.
     *
     * @return  array
     */
    public function getProperties($public = true)
    {
        if ($public) {
            $getProperties = function($obj) { return get_object_vars($obj); };
            return $getProperties($this);
        }

        return get_object_vars($this);
    }

    /**
     * Method to bind an associative array to the instance.
     *
     * This method optionally takes an array of properties to ignore or allow when binding.
     *
     * @param   array    $src     An associative array or object to bind to the JTable instance.
     * @param   array    $fields  An optional array list of properties to ignore / include only while binding.
     * @param   boolean  $include  True to include only listed fields, false to ignore listed fields.
     *
     * @return  boolean  True on success.
     */
    public function bind(array $src = null, array $fields = null, $include = false)
    {
        if (empty($src)) return false;

        if (!empty($fields)) {
            $src = $include ? array_intersect_key($src, array_flip($fields)) : array_diff_key($src, array_flip($fields));
        }
        $this->setProperties ( $src );
        return true;
    }

    /**
     * Method to load object from the database.
     *
     * @param   mixed    $keys   An optional primary key value to load the object by, or an array of fields to match. If not
     *                           set the instance key value is used.
     *
     * @return  boolean  True on success, false if the object doesn't exist.
     */
    public function load($keys = null)
    {
        if ($keys !== null && !is_array($keys)) {
            $keys = array('id'=>(int) $keys);
        }

        // Create the table object.
        $table = static::getTable ();

        // Make sure we set the given keys to the object even if it is not loaded.
        $table->reset();
        if ($keys !== null) $table->bind($keys);

        // Load the object based on the keys.
        $this->_exists = $table->load($keys, false);

        // Work around Joomla 3.1.1 bug on load() returning true if keys didn't exist.
        if ($table->id == 0) $this->_exists = false;

        // Assuming all is well at this point lets bind the data.
        $this->setProperties($table->getProperties());

        if ($this->id) {
            if (!isset(static::$instances[$this->id])) {
                static::$instances[$this->id] = $this;
            }
        }
        $this->initialize();

        return $this->_exists;
    }

    /**
     * Method to save the object to the database.
     *
     * Before saving the object, this method checks if object can be safely saved.
     * It will also trigger onContentBeforeSave and onContentAfterSave events.
     *
     * @return  boolean  True on success.
     */
    public function save()
    {
        // Check the object.
        if ($this->_readonly || !$this->check()) {
            return false;
        }

        $isNew = !$this->_exists;

        // Initialize table object.
        $table = static::getTable ();
        $table->bind($this->getProperties());

        // Check the table object.
        if (!$table->check()) {
            $this->setError($table->getError());
            return false;
        }

        // Include the content plugins for the on save events.
        $dispatcher = \JEventDispatcher::getInstance();
        \JPluginHelper::importPlugin('content');

        // Trigger the onContentBeforeSave event.
        $result = $dispatcher->trigger('onContentBeforeSave', array("com_gantry5.".get_called_class(), $table, $isNew));
        if (in_array(false, $result, true)) {
            $this->setError($table->getError());
            return false;
        }

        // Store the data.
        if (!$table->store()) {
            $this->setError($table->getError());
            return false;
        }

        // If item was created, load the object.
        if ($isNew) {
            $this->load($table->id);

            if (!isset(static::$instances[$this->id])) {
                static::$instances[$this->id] = $this;
            }
        }

        // Trigger the onContentAfterSave event.
        $dispatcher->trigger('onContentAfterSave', array("com_gantry5.".get_called_class(), $table, $isNew));

        return true;
    }

    /**
     * Method to delete the object from the database.
     *
     * @return	boolean	True on success.
     */
    public function delete()
    {
        if ($this->_readonly) {
            return false;
        }

        if (!$this->_exists) {
            return true;
        }

        // Initialize table object.
        $table = static::getTable();
        $table->bind($this->getProperties());

        // Include the content plugins for the on save events.
        $dispatcher = \JEventDispatcher::getInstance();
        \JPluginHelper::importPlugin('content');

        // Trigger the onContentBeforeDelete event.
        $result = $dispatcher->trigger('onContentBeforeDelete', array("com_gantry5.".get_called_class(), $table));
        if (in_array(false, $result, true)) {
            $this->setError($table->getError());
            return false;
        }

        if (!$table->delete()) {
            $this->setError($table->getError());
            return false;
        }
        $this->_exists = false;

        // Trigger the onContentAfterDelete event.
        $dispatcher->trigger('onContentAfterDelete', array("com_gantry5.".get_called_class(), $table));

        return true;
    }

    /**
     * Method to perform sanity checks on the instance properties to ensure
     * they are safe to store in the database.
     *
     * Child classes should override this method to make sure the data they are storing in
     * the database is safe and as expected before storage.
     *
     * @return  boolean  True if the instance is sane and able to be stored in the database.
     */
    public function check()
    {
        return true;
    }

    static public function getAvailableInstances()
    {
        return static::collection(static::$instances);
    }

    static public function getInstances(array $ids, $readonly = true)
    {
        if (!$ids) {
            return array();
        }

        $results = array();
        $list = array();

        foreach ($ids as $id) {
            if (!isset(static::$instances[$id])) {
                $list[] = $id;
            }
        }

        if ($list) {
            $query = static::getQuery();
            $query->where('id IN (' . implode(',', $list) . ')');
            static::loadInstances($query);
        }

        foreach ($ids as $id) {
            if (isset(static::$instances[$id])) {
                if ($readonly) {
                    $results[$id] = clone static::$instances[$id];
                } else {
                    $results[$id] = static::$instances[$id];
                }
            }
        }

        return static::collection($results);
    }

    // Internal functions

    static protected function collection($items)
    {
        return new Collection($items);
    }

    /**
     * Method to get the table object.
     *
     * @return  \JTable  The table object.
     */
    static protected function getTable()
    {
        return \JTable::getInstance(static::$table, static::$tablePrefix);
    }

    /**
     * @return \JDatabaseQuery
     */
    static protected function getQuery()
    {
        $table = static::getTable();
        $db = \JFactory::getDbo();
        $query = $db->getQuery(true);
        $query->select('a.*')->from($table->getTableName().' AS a')->order(static::$order);

        return $query;
    }

    /**
     * @param \JDatabaseQuery|string $query
     */
    static protected function loadInstances($query = null)
    {
        if (!$query) {
            $query = static::getQuery();
        }

        $db = \JFactory::getDbo();
        $db->setQuery($query);

        /** @var Object[] $items */
        $items = (array) $db->loadObjectList('id', get_called_class());

        foreach ($items as $item) {
            if (!isset(static::$instances[$item->id])) {
                $item->exists(true);
                $item->initialize();
            }
        }

        static::$instances += $items;
    }
}
classes/Gantry/Joomla/Object/Finder.php000060400000013102150750356250014015 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Joomla\Object;

/**
 * Class Finder
 * @package Gantry\Joomla\Object
 */
abstract class Finder
{
    /**
     * Table associated with the model.
     *
     * @var string
     */
    protected $table;

    /**
     * @var string
     */
    protected $primaryKey = 'id';

    /**
     * @var \JDatabaseQuery
     */
    protected $query;

    /**
     * @var \JDatabase
     */
    protected $db;

    protected $start = 0;

    protected $limit = 20;

    protected $skip = false;

    /**
     * Finder constructor.
     *
     * @param array $options
     */
    public function __construct(array $options = [])
    {
        if (!$this->table) {
            throw new \DomainException('Table name missing from ' . get_class($this));
        }

        $this->db = \JFactory::getDbo();
        $this->query = $this->db->getQuery(true);
        $this->query->from($this->table . ' AS a');

        if ($options) {
            $this->parse($options);
        }
    }

    public function parse(array $options)
    {
        foreach ($options as $func => $params) {
            if (method_exists($this, $func)) {
                call_user_func_array([$this, $func], (array) $params);
            }
        }

        return $this;
    }

    /**
     * Set limitstart for the query.
     *
     * @param int $limitstart
     *
     * @return $this
     */
    public function start($limitstart = 0)
    {
        $this->start = $limitstart;

        return $this;
    }

    /**
     * Set limit to the query.
     *
     * @param int $limit
     *
     * @return $this
     */
    public function limit($limit = null)
    {
        if (!is_null($limit))
        {
            $this->limit = $limit;
        }

        return $this;
    }

    /**
     * Set order by field and direction.
     *
     * This function can be used more than once to chain order by.
     *
     * @param  string $by
     * @param  int $direction
     * @param  string $alias
     *
     * @return $this
     */
    public function order($by, $direction = 1, $alias = 'a')
    {
        if (is_numeric($direction)) {
            $direction = $direction > 0 ? 'ASC' : 'DESC';
        } else {
            $direction = strtolower((string)$direction) == 'desc' ? 'DESC' : 'ASC';
        }
        $by = (string)$alias . '.' . $this->db->quoteName($by);
        $this->query->order("{$by} {$direction}");

        return $this;
    }

    /**
     * Filter by field.
     *
     * @param  string        $field       Field name.
     * @param  string        $operation   Operation (>|>=|<|<=|=|IN|NOT IN)
     * @param  string|array  $value       Value.
     *
     * @return $this
     */
    public function where($field, $operation, $value)
    {
        $db = $this->db;
        $operation = strtoupper($operation);
        switch ($operation)
        {
            case '>':
            case '>=':
            case '<':
            case '<=':
            case '=':
                // Quote all non integer values.
                $value = (string)(int)$value === (string)$value ? (int)$value : $db->quote($value);
                $this->query->where("{$this->db->quoteName($field)} {$operation} {$value}");
                break;
            case 'BETWEEN':
            case 'NOT BETWEEN':
                list($a, $b) = (array) $value;
                // Quote all non integer values.
                $a = (string)(int)$a === (string)$a ? (int)$a : $db->quote($a);
                $b = (string)(int)$b === (string)$b ? (int)$b : $db->quote($b);
                $this->query->where("{$this->db->quoteName($field)} {$operation} {$a} AND {$b}");
                break;
            case 'IN':
            case 'NOT IN':
                $value = (array) $value;
                if (empty($value)) {
                    // WHERE field IN (nothing).
                    $this->query->where('0');
                } else {
                    // Quote all non integer values.
                    array_walk($value, function (&$value) use ($db) { $value = (string)(int)$value === (string)$value ? (int)$value : $db->quote($value); });
                    $list = implode(',', $value);
                    $this->query->where("{$this->db->quoteName($field)} {$operation} ({$list})");
                }
                break;
        }

        return $this;
    }

    /**
     * Get items.
     *
     * Derived classes should generally override this function to return correct objects.
     *
     * @return array
     */
    public function find()
    {
        if ($this->skip)
        {
            return array();
        }

        $baseQuery = clone $this->query;
        $this->prepare();
        $query = $this->query;
        $this->query = $baseQuery;

        $query->select('a.' . $this->primaryKey);
        $this->db->setQuery($query, $this->start, $this->limit);
        $results = (array) $this->db->loadColumn();

        return $results;
    }

    /**
     * Count items.
     *
     * @return int
     */
    public function count()
    {
        $baseQuery = clone $this->query;
        $this->prepare();
        $query = $this->query;
        $this->query = $baseQuery;

        $query->select('COUNT(*)');
        $this->db->setQuery($query);
        $count = (int) $this->db->loadResult();

        return $count;
    }

    /**
     * Override to include common where rules.
     *
     * @return void
     */
    protected function prepare()
    {
    }
}
classes/Gantry/Joomla/Object/Collection.php000060400000001770150750356250014711 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Joomla\Object;

use \Gantry\Component\Collection\Collection as BaseCollection;

class Collection extends BaseCollection
{
    public function __construct(array $items)
    {
        $this->items = $items;
    }

    public function get($property)
    {
        $list = [];

        if ($property === 'id') {
            return array_keys($this->items);
        }

        foreach ($this as $object) {
            $list[$object->id] = $object->{$property};
        }

        return $list;
    }

    public function __call($name, $arguments)
    {
        $list = [];

        foreach ($this as $object) {
            $list[$object->id] = method_exists($object, $name) ? call_user_func_array([$object, $name], $arguments) : null;
        }

        return $list;
    }
}
classes/Gantry/Joomla/Assignments/AssignmentsStyle.php000060400000003621150750356250017214 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Joomla\Assignments;

use Gantry\Component\Assignments\AssignmentsInterface;
use Gantry\Framework\Gantry;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class AssignmentsStyle implements AssignmentsInterface
{
    public $type = 'style';
    public $priority = 2;

    /**
     * Returns list of rules which apply to the current page.
     *
     * @return array
     */
    public function getRules()
    {
        static $rules;

        if (!isset($rules)) {
            $rules = [];

            $template = \JFactory::getApplication()->getTemplate(true);

            $theme = $template->template;
            $outline = $template->params->get('configuration', !empty($template->id) ? $template->id : $template->params->get('preset', null));

            if (JDEBUG) {
                GANTRY_DEBUGGER && \Gantry\Debugger::addMessage('Template Style:', 'debug') && \Gantry\Debugger::addMessage($template, 'debug');

                if (!$outline) {
                    \JFactory::getApplication()->enqueueMessage('JApplicationSite::getTemplate() was overridden with no specified Gantry 5 outline.', 'debug');
                }
            }

            /** @var UniformResourceLocator $locator */
            $locator = Gantry::instance()['locator'];

            if ($outline && is_dir($locator("gantry-themes://{$theme}/custom/config/{$outline}"))) {
                $rules = ['id' => [$outline => $this->priority]];
            }
        }

        return $rules;
    }

    /**
     * List all the rules available.
     *
     * @param string $configuration
     * @return array
     */
    public function listRules($configuration)
    {
        return [];
    }
}
classes/Gantry/Joomla/Assignments/AssignmentsMenu.php000060400000004063150750356250017021 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Joomla\Assignments;

use Gantry\Component\Assignments\AssignmentsInterface;

class AssignmentsMenu implements AssignmentsInterface
{
    public $type = 'menu';
    public $priority = 1;

    /**
     * Returns list of rules which apply to the current page.
     *
     * @return array
     */
    public function getRules()
    {
        $rules = [];

        $app = \JFactory::getApplication();
        if ($app->isSite()) {
            $active = $app->getMenu()->getActive();
            if ($active) {
                $menutype = $active->menutype;
                $id = $active->id;
                $rules = [$menutype => [$id => $this->priority]];
            }
        }

        return $rules;
    }

    /**
     * List all the rules available.
     *
     * @param string $configuration
     * @return array
     */
    public function listRules($configuration)
    {
        require_once JPATH_ADMINISTRATOR . '/components/com_menus/helpers/menus.php';
        $data = \MenusHelper::getMenuLinks();

        $userid = \JFactory::getUser()->id;

        $list = [];

        foreach ($data as $menu) {
            $items = [];
            foreach ($menu->links as $link) {
                $items[] = [
                    'name' => $link->value,
                    'field' => ['id', 'link' . $link->value],
                    'value' => $link->template_style_id == $configuration,
                    'disabled' => $link->type != 'component' || $link->checked_out && $link->checked_out != $userid,
                    'label' => str_repeat('—', max(0, $link->level-1)) . ' ' . $link->text
                ];
            }
            $group = [
                'label' => $menu->title ?: $menu->menutype,
                'items' => $items
            ];

            $list[$menu->menutype] = $group;
        }

        return $list;
    }
}
classes/Gantry/Joomla/TemplateInstaller.php000060400000000650150750356250015035 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Joomla;

use Gantry\Framework\ThemeInstaller;

/**
 * Class TemplateInstaller
 * @package Gantry\Joomla
 * @deprecated 5.3.2
 */
class TemplateInstaller extends ThemeInstaller {}
classes/Gantry/Joomla/CacheHelper.php000060400000003007150750356250013546 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Joomla;

class CacheHelper
{
    public static function cleanTemplates()
    {
        self::cleanByType('com_templates');
        self::cleanByType('_system');
    }

    public static function cleanMenu()
    {
        self::cleanByType('mod_menu');
        self::cleanByType('_system');
    }

    public static function cleanPlugin()
    {
        self::cleanByType('_system', 0);
        self::cleanByType('_system', 1);
        self::cleanByType('com_plugins', 0);
        self::cleanByType('com_plugins', 1);
    }

    private static function cleanByType($group = null, $client_id = 0, $event = 'onContentCleanCache')
    {
        $conf = \JFactory::getConfig();
        $dispatcher = \JEventDispatcher::getInstance();

        $options = array(
            'defaultgroup' => $group,
            'cachebase' => ($client_id) ? JPATH_ADMINISTRATOR . '/cache' : $conf->get('cache_path', JPATH_SITE . '/cache'),
            'result' => true
        );

        try {
            $cache = \JCache::getInstance('callback', $options);
            $cache->clean();
        } catch (\Exception $e) { // TODO: Joomla 3.7 uses JCacheException
            $options['result'] = false;
        }

        // Trigger the onContentCleanCache event.
        $dispatcher->trigger($event, $options);
    }
}
classes/Gantry/Joomla/Module/ModuleCollection.php000060400000006353150750356250016100 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Joomla\Module;

use Gantry\Joomla\Object\Collection;

class ModuleCollection extends Collection
{
    public function toArray()
    {
        return $this->__call('toArray', []);
    }

    public function export()
    {
        $assignments = $this->assignments();
        $paths = $this->getAssignmentPath($this->values($assignments));

        $items = $this->toArray();
        $positions = [];

        // Convert assignments to our format.
        foreach ($items as $item) {
            $position = $item['position'];
            $name = $item['options']['type'] . '-' . $item['id'];

            if ($position === '') {
                continue;
            }
            if (empty($item['assignments'])) {
                $item['assignments'] = [];
            } elseif (in_array(0, $item['assignments'])) {
                $item['assignments'] = ['page' => true];
            } else {
                $list = [];
                foreach ($item['assignments'] as $assignment) {
                    $key = abs($assignment);
                    if (isset($paths[$key])) {
                        $list[$paths[$key]] = $assignment > 0 ? 1 : -1;
                    }
                }
                $item['assignments'] = ['page' => [$list]];
            }
            unset($item['position'], $item['id'], $item['ordering']);

            $positions[$position][$name] = $item;
        }

        return $positions;
    }

    public function assignments()
    {
        $this->loadAssignments();

        return $this->__call('assignments', []);
    }

    public function loadAssignments()
    {
        $ids = $this->defined('assignments', false);
        $ids = array_filter($ids);

        if (!$ids) {
            return;
        }

        $idlist = implode(',', array_keys($ids));

        $db = \JFactory::getDbo();
        $query = $db->getQuery(true);
        $query->select('moduleid, menuid')->from('#__modules_menu')->where("moduleid IN ($idlist)");
        $db->setQuery($query);

        $assignments = $db->loadRowList();

        $list = [];
        foreach ($assignments as $value) {
            $list[$value[0]][] = (int) $value[1];
        }

        foreach ($this as $module) {
            $module->assignments(isset($list[$module->id]) ? $list[$module->id] : []);
        }
    }

    protected function getAssignmentPath(array $ids)
    {
        if (!$ids) {
            return [];
        }

        $idlist = implode(',', array_map('intval', $ids));

        $db = \JFactory::getDbo();
        $query = $db->getQuery(true);
        $query->select('id, path')->from('#__menu')->where("id IN ($idlist)");
        $db->setQuery($query);

        $paths = $db->loadRowList();

        $list = [];
        foreach ($paths as $value) {
            $list[$value[0]] = $value[1];
        }

        return $list;
    }

    protected function values($values)
    {
        $list = [];
        foreach ($values as $array) {
            $list = array_merge($list, (array) $array);
        }

        return array_unique($list);
    }
}
classes/Gantry/Joomla/Module/Module.php000060400000012244150750356250014060 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Joomla\Module;

use Gantry\Framework\Gantry;
use Gantry\Joomla\Object\AbstractObject;
use RocketTheme\Toolbox\ArrayTraits\Export;
use RocketTheme\Toolbox\ArrayTraits\ExportInterface;

\JTable::addIncludePath(JPATH_LIBRARIES . '/legacy/table/');

class Module extends AbstractObject implements ExportInterface
{
    use Export;

    static protected $instances = [];

    static protected $table = 'Module';
    static protected $order = 'id';
    
    protected $_assignments;

    public function assignments($assignments = null)
    {
        if (is_array($assignments)) {
            $this->_assignments = array_map('intval', array_values($assignments));

        } elseif (!isset($this->_assignments)) {
            $db = \JFactory::getDbo();
            $query = $db->getQuery(true);
            $query->select('menuid')->from('#__modules_menu')->where('moduleid = ' . $this->id);
            $db->setQuery($query);

            $this->_assignments = array_map('intval', (array) $db->loadColumn());
        }
        
        return $this->_assignments;
    }

    public function initialize()
    {
        if (!parent::initialize()) {
            return false;
        }

        $this->params = json_decode($this->params);

        return true;
    }

    public function toArray()
    {
        $particle = $this->module === 'mod_gantry5_particle';

        // Convert params to array.
        $params = json_decode(json_encode($this->params), true);

        $array = [
            'id' => $this->id,
            'position' => $this->position,
            'ordering' => (int) $this->ordering,
            'type' => $particle ? 'particle' : 'joomla',
            'title' => $this->title,
            'chrome' => [
                'display_title' => (bool) $this->showtitle,
                'class' => !empty($params['moduleclass_sfx']) ? $params['moduleclass_sfx'] : ''
            ],
            'options' => null,
            'assignments' => $this->assignments()
        ];

        $options = array_filter(
            [
                'type' => !$particle ? $this->module : null,
                'note' => $this->note ?: null,
                'published' => (bool) $this->published,
                'content' => $this->content ?: null,
                'params' => &$params,
                'language' => $this->language !== '*' ? $this->language : null,
            ],
            [$this, 'is_not_null']
        );

        if ($particle) {
            $array['joomla'] = $options;
            $options = !empty($params['particle']) ? json_decode($params['particle'], true) : [];
            $options['type'] = isset($options['particle']) ? $options['particle'] : null;
            $options['attributes'] = isset($options['options']['particle']) ? $options['options']['particle'] : [];

            unset($options['particle'], $options['options']);

            $array['options'] = $options;

            unset($params['particle']);
        } else {
            $array['options'] = $options;
        }

        return array_filter($array, [$this, 'is_not_null']);
    }

    public function create(array $array)
    {
        $type = $array['type'];

        if ($type === 'particle') {
            $particle = isset($array['options']) ? $array['options'] : [];
            $array['options'] = isset($array['joomla']) ? $array['joomla'] : [];
            $array['options']['type'] = 'mod_gantry5_particle';
            $array['options']['params']['particle'] = $particle;

        } elseif ($type !== 'joomla') {
            return null;
        }

        $options = $array['options'];

        $properties = [
            'title' => $array['title'],
            'note' => isset($options['note']) ? $options['note'] : '',
            'content' => isset($options['content']) ? $options['content'] : '',
            'position' => $array['position'],
            'ordering' => (int) $array['ordering'],
            'published' => (int) !empty($options['published']),
            'module' => $options['type'],
            'showtitle' => (int) !empty($array['chrome']['display_title']),
            'params' => isset($options['params']) ? json_decode(json_encode($options['params'])) : [],
            'language' => isset($options['language']) ? $options['language'] : '*',
            '_assignments' => isset($array['assignments']) ? $array['assignments'] : [],
        ];

        $object = new static();
        $object->bind($properties);

        return $object;
    }

    public function render($file)
    {
        return Gantry::instance()['theme']->render($file, ['particle' => $this]);
    }

    public function compile($string)
    {
        return Gantry::instance()['theme']->compile($string, ['particle' => $this]);
    }

    // Internal functions

    /**
     * @param $val
     * @return bool
     * @internal
     */
    public function is_not_null($val)
    {
        return !is_null($val);
    }

    static protected function collection($items)
    {
        return new ModuleCollection($items);
    }
}
classes/Gantry/Joomla/Module/ModuleFinder.php000060400000005110150750356250015202 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Joomla\Module;

use Gantry\Joomla\Object\Finder;

class ModuleFinder extends Finder
{
    protected $table = '#__modules';
    protected $readonly = true;
    protected $state = [];
    protected $published = [0, 1];
    protected $limit = 0;

    /**
     * Makes all created objects as readonly.
     *
     * @return $this
     */
    public function readonly($readonly = true)
    {
        $this->readonly = (bool)$readonly;

        return $this;
    }

    public function find($object = true)
    {
        $ids = parent::find();

        if (!$object) {
            return $ids;
        }

        return Module::getInstances($ids, $this->readonly);
    }

    public function id($ids, $include = true)
    {
        return $this->addToGroup('a.id', $ids, $include);
    }

    public function language($language = true)
    {
        if (!$language) {
            return $this;
        }
        if ($language === true || is_numeric($language)) {
            $language = \JFactory::getLanguage()->getTag();
        }
        return $this->where('a.language', 'IN', [$language, '*']);
    }

    public function published($published = 1)
    {
        if (!is_array($published)) {
            $published = (array) intval($published);
        }

        $this->published = $published;

        return $this;
    }

    public function particle()
    {
        return $this->where('a.module', '=', 'mod_gantry5_particle');
    }

    public function authorised($authorised = true)
    {
        if (!$authorised) {
            return $this;
        }

        $groups = \JFactory::getUser()->getAuthorisedViewLevels();

        return $this->where('a.access', 'IN', $groups);
    }

    protected function addToGroup($key, $ids, $include = true)
    {
        $op = $include ? 'IN' : 'NOT IN';

        if (isset($this->state[$key][$op])) {
            $this->state[$key][$op] = array_merge($this->state[$key][$op], $ids);
        } else {
            $this->state[$key][$op] = $ids;
        }

        return $this;
    }

    protected function prepare()
    {
        $this->where('client_id', '=', 0)->where('published', 'IN', $this->published)->order('position')->order('ordering');
        foreach ($this->state as $key => $list) {
            foreach ($list as $op => $group) {
                $this->where($key, $op, array_unique($group));
            }
        }
    }
}
classes/Gantry/Joomla/Manifest.php000060400000004324150750356250013154 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Joomla;

/**
 * Joomla manifest file modifier.
 */
class Manifest
{
    protected $theme;
    protected $path;
    protected $xml;

    /**
     * @param string $theme
     * @param \SimpleXMLElement $manifest
     * @throws \RuntimeException
     */
    public function __construct($theme, \SimpleXMLElement $manifest = null)
    {
        $this->theme = $theme;
        $this->path = JPATH_SITE . "/templates/{$theme}/templateDetails.xml";

        if (!is_file($this->path)) {
            throw new \RuntimeException(sprintf('Template %s does not exist.', $theme));
        }
        $this->xml = $manifest ?: simplexml_load_file($this->path);
    }

    /**
     * @param string $variable
     * @return string
     */
    public function get($variable)
    {
        return (string) $this->xml->{$variable};
    }

    /**
     * @return \SimpleXMLElement
     */
    public function getXml()
    {
        return $this->xml;
    }

    public function getScriptFile()
    {
        return (string) $this->xml->scriptfile;
    }

    public function setPositions(array $positions)
    {
        sort($positions);

        // Get the positions.
        $target = current($this->xml->xpath('//positions'));

        $xml = "<positions>\n        <position>" . implode("</position>\n        <position>", $positions) . "</position>\n    </positions>";
        $insert = new \SimpleXMLElement($xml);

        // Replace all positions.
        $targetDom = dom_import_simplexml($target);
        $insertDom = $targetDom->ownerDocument->importNode(dom_import_simplexml($insert), true);
        $targetDom->parentNode->replaceChild($insertDom, $targetDom);
    }


    public function save()
    {
        // Do not save manifest if template has been symbolically linked.
        if (is_link(dirname($this->path))) {
            return;
        }

        if (!$this->xml->asXML($this->path)) {
            throw new \RuntimeException(sprintf('Saving manifest for %s template failed', $this->theme));
        }
    }
}
classes/Gantry/Joomla/Category/CategoryFinder.php000060400000010073150750356250016066 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Joomla\Category;

use Gantry\Joomla\Object\Finder;

class CategoryFinder extends Finder
{
    protected $table = '#__categories';
    protected $extension = 'com_content';
    protected $readonly = true;

    /**
     * Makes all created objects as readonly.
     *
     * @return $this
     */
    public function readonly($readonly = true)
    {
        $this->readonly = (bool)$readonly;

        return $this;
    }

    public function find($object = true)
    {
        $ids = parent::find();

        if (!$object) {
            return $ids;
        }

        return Category::getInstances($ids, $this->readonly);
    }

    public function id($ids, $levels = 0)
    {
        if ($ids && $levels) {
            $ids = (array) $ids;

            $db = $this->db;
            array_walk($ids, function (&$item) use ($db) { $item = $db->quote($item); });
            $idList = implode(',', $ids);

            // Create a subquery for the subcategory list
            $subQuery = $this->db->getQuery(true)
                ->select('sub.id')
                ->from('#__categories AS sub')
                ->join('INNER', '#__categories AS this ON sub.lft > this.lft AND sub.rgt < this.rgt')
                ->where("this.id IN ({$idList})");

            if (is_numeric($levels)) {
                $subQuery->where('sub.level <= this.level + ' . (int) $levels);
            }

            // Add the subquery to the main query
            $this->query->where("(a.id IN ({$idList}) OR a.id IN ({$subQuery->__toString()}))");
        } else {
            $this->where('a.id', 'IN', $ids);
        }

        return $this;
    }

    public function language($language = true)
    {
        if (!$language) {
            return $this;
        }
        if ($language === true || is_numeric($language)) {
            $language = \JFactory::getLanguage()->getTag();
        }
        return $this->where('a.language', 'IN', [$language, '*']);
    }

    public function published($published = 1)
    {
        if (!is_array($published)) {
            $published = (array) intval($published);
        }
        return $this->where('a.published', 'IN', $published);
    }

    public function authorised($authorised = true)
    {
        if (!$authorised) {
            return $this;
        }

        // Ignore unpublished categories.
        $unpublished = $this->getUnpublished($this->extension);

        if ($unpublished) {
            $this->where('a.id', 'NOT IN', $unpublished);
        }

        // Check authorization.
        $user = \JFactory::getUser();
        $groups = $user->getAuthorisedViewLevels();

        return $this->where('a.access', 'IN', $groups);
    }

    public function extension($extension)
    {
        $this->extension = static::getExtension($extension);

        return $this->where('a.extension', '=', $this->extension);
    }

    public static function getExtension($extension)
    {
        static $map = [
            'article' => 'com_content',
            'articles' => 'com_content',
            'content' => 'com_content',
        ];

        if (isset($map[$extension])) {
            $extension = $map[$extension];
        }

        return $extension;
    }

    public static function getUnpublished($extension)
    {
        static $list;

        if ($list === null) {
            $db = \JFactory::getDbo();

            $query = $db->getQuery(true)
                ->select('cat.id AS id')
                ->from('#__categories AS cat')
                ->join('LEFT', '#__categories AS parent ON cat.lft BETWEEN parent.lft AND parent.rgt')
                ->where('parent.extension = ' . $db->quote(static::getExtension($extension)))
                ->where('parent.published != 1 AND cat.published < 1')
                ->group('cat.id');

            $db->setQuery($query);
            $list = $db->loadColumn();
        }

        return $list;
    }
}
classes/Gantry/Joomla/Category/Category.php000060400000003302150750356250014733 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Joomla\Category;

use Gantry\Framework\Gantry;
use Gantry\Joomla\Object\AbstractObject;

class Category extends AbstractObject
{
    static protected $instances = [];

    static protected $table = 'Category';
    static protected $order = 'lft';

    public function initialize()
    {
        if (!parent::initialize()) {
            return false;
        }

        $this->params = json_decode($this->params);
        $this->metadata = json_decode($this->metadata);

        return true;
    }

    public function parent()
    {
        if ($this->alias != $this->path)
        {
            $parent = Category::getInstance($this->parent_id);
        }

        return isset($parent) && $parent->extension == $this->extension ? $parent : null;
    }

    public function parents()
    {
        $parent = $this->parent();

        return $parent ? array_merge($parent->parents(), [$parent]) : [];
    }

    public function route()
    {
        require_once JPATH_SITE . '/components/com_content/helpers/route.php';

        return \JRoute::_(\ContentHelperRoute::getCategoryRoute($this->id . ':' . $this->alias), false);
    }

    public function render($file)
    {
        return Gantry::instance()['theme']->render($file, ['category' => $this]);
    }

    public function compile($string)
    {
        return Gantry::instance()['theme']->compile($string, ['category' => $this]);
    }

    public function toArray()
    {
        return $this->getProperties(true);
    }
}
classes/Gantry/Joomla/StyleHelper.php000060400000006676150750356250013662 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Joomla;

use Gantry\Component\Filesystem\Folder;
use Gantry\Framework\Gantry;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

/**
 * Joomla style helper.
 */
class StyleHelper
{
    public static function getStyle($id)
    {
        \JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_templates/tables');

        $style = \JTable::getInstance('Style', 'TemplatesTable');
        $style->load($id);

        return $style;
    }

    public static function loadStyles($template)
    {
        $db = \JFactory::getDbo();

        $query = $db
            ->getQuery(true)
            ->select('s.id, s.template, s.home, s.title AS long_title, s.params')
            ->from('#__template_styles AS s')
            ->where('s.client_id = 0')
            ->where("s.template = {$db->quote($template)}")
            ->order('s.id');

        $db->setQuery($query);

        $list = (array) $db->loadObjectList('id');

        foreach ($list as $id => &$style) {
            $style->title = preg_replace('/' . preg_quote(\JText::_($style->template), '/') . '\s*-\s*/u', '', $style->long_title);
            $style->home = $style->home && $style->home !== '1' ? $style->home : (bool)$style->home;
        }

        return $list;
    }

    public static function getDefaultStyle()
    {
        return static::getStyle(['home' => 1, 'client_id' => 0]);
    }

    public static function copy($style, $old, $new)
    {
        $gantry = Gantry::instance();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        $oldPath = $locator->findResource('gantry-config://' . $old, true, true);
        $newPath = $locator->findResource('gantry-config://' . $new, true, true);

        if (file_exists($oldPath)) {
            Folder::copy($oldPath, $newPath);
        }

        $extension = !empty($style->extension_id) ? $style->extension_id : $style->template;

        $installer = new TemplateInstaller($extension);
        $installer->updateStyle($new, ['configuration' => $new]);
    }

    public static function update($id, $preset)
    {
        $style = static::getStyle($id);

        $extension = !empty($style->extension_id) ? $style->extension_id : $style->template;

        $installer = new TemplateInstaller($extension);
        $installer->updateStyle($id, ['configuration' => $id, 'preset' => $preset]);
    }

    public static function delete($id)
    {
        $gantry = Gantry::instance();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        $path = $locator->findResource('gantry-config://' . $id, true, true);

        if (is_dir($path)) {
            Folder::delete($path, true);
        }
    }

    /**
     * @return \TemplatesModelStyle
     */
    public static function loadModel()
    {
        static $model;

        if (!$model) {
            $path = JPATH_ADMINISTRATOR . '/components/com_templates/';

            \JTable::addIncludePath("{$path}/tables");
            require_once "{$path}/models/style.php";

            // Load language strings.
            $lang = \JFactory::getLanguage();
            $lang->load('com_templates');

            $model = new \TemplatesModelStyle;
        }

        return $model;
    }
}
classes/Gantry/Joomla/Content/Content.php000060400000006227150750356250014436 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Joomla\Content;

use Gantry\Framework\Gantry;
use Gantry\Joomla\Category\Category;
use Gantry\Joomla\Object\AbstractObject;

class Content extends AbstractObject
{
    static protected $instances = [];

    static protected $table = 'Content';
    static protected $order = 'id';

    public function initialize()
    {
        if (!parent::initialize()) {
            return false;
        }

        $this->images = json_decode($this->images);
        $this->urls = json_decode($this->urls);
        $this->attribs = json_decode($this->attribs);
        $this->metadata = json_decode($this->metadata);

        $nullDate = \JFactory::getDbo()->getNullDate();
        if ($this->modified === $nullDate) {
            $this->modified = $this->created;
        }
        if ($this->publish_up === $nullDate) {
            $this->publish_up = $this->created;
        }

        return true;
    }

    public function author()
    {
        return \JUser::getInstance($this->created_by);
    }

    public function category()
    {
        return Category::getInstance($this->catid);
    }

    public function categories()
    {
        $category = $this->category();

        return array_merge($category->parents(), [$category]);
    }

    public function text()
    {
        return $this->introtext . ' ' . $this->fulltext;
    }

    public function preparedText()
    {
        return \JHtml::_('content.prepare', $this->text());
    }

    public function preparedIntroText()
    {
        return \JHtml::_('content.prepare', $this->introtext);
    }

    public function readmore()
    {
        return (bool)strlen($this->fulltext);
    }

    public function route()
    {
        require_once JPATH_SITE . '/components/com_content/helpers/route.php';

        $category = $this->category();

        return \JRoute::_(\ContentHelperRoute::getArticleRoute($this->id . ':' . $this->alias, $category->id . ':' . $category->alias), false);
    }

    public function edit()
    {
        $user = \JFactory::getUser();
        $asset = "com_content.article.{$this->id}";

        if ($user->authorise('core.edit', $asset) || $user->authorise('core.edit.own', $asset)) {
            return "index.php?option=com_content&task=article.edit&a_id={$this->id}&tmpl=component";
        }

        return false;
    }

    public function render($file)
    {
        return Gantry::instance()['theme']->render($file, ['article' => $this]);
    }

    public function compile($string)
    {
        return Gantry::instance()['theme']->compile($string, ['article' => $this]);
    }

    public function toArray()
    {
        return $this->getProperties(true) + [
            'category' => [
                'alias' => $this->category()->alias,
                'title' => $this->category()->title
            ],
            'author' => [
                'username' => $this->author()->username,
                'fullname' => $this->author()->name
            ],
        ];
    }
}
classes/Gantry/Joomla/Content/ContentFinder.php000060400000007673150750356250015574 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Joomla\Content;

use Gantry\Joomla\Category\Category;
use Gantry\Joomla\Category\CategoryFinder;
use Gantry\Joomla\Object\Collection;
use Gantry\Joomla\Object\Finder;

class ContentFinder extends Finder
{
    protected $table = '#__content';
    protected $readonly = true;
    protected $state = [];

    /**
     * Makes all created objects as readonly.
     *
     * @return $this
     */
    public function readonly($readonly = true)
    {
        $this->readonly = (bool)$readonly;

        return $this;
    }

    public function find($object = true)
    {
        $ids = parent::find();

        if (!$object) {
            return $ids;
        }

        return Content::getInstances($ids, $this->readonly);
    }

    public function id($ids, $include = true)
    {
        return $this->addToGroup('a.id', $ids, $include);
    }

    public function author($ids, $include = true)
    {
        return $this->addToGroup('a.created_by', $ids, $include);
    }

    public function category($ids, $include = true)
    {
        if ($ids instanceof Collection) {
            $ids = $ids->toArray();
        } else {
            $ids = (array)$ids;
        }

        array_walk($ids, function (&$item) { $item = $item instanceof Category ? $item->id : (int) $item; });

        return $this->addToGroup('a.catid', $ids, $include);
    }

    public function featured($featured = true)
    {
        $featured = intval((bool)$featured);
        $this->where('a.featured', '=', $featured);

        return $this;
    }

    public function language($language = true)
    {
        if (!$language) {
            return $this;
        }
        if ($language === true || is_numeric($language)) {
            $language = \JFactory::getLanguage()->getTag();
        }
        return $this->where('a.language', 'IN', [$language, '*']);
    }

    public function published($published = 1)
    {
        if (!is_array($published)) {
            $published = (array) intval($published);
        }
        return $this->where('a.state', 'IN', $published);
    }

    public function authorised($authorised = true)
    {
        if (!$authorised) {
            return $this;
        }

        $unpublished = CategoryFinder::getUnpublished('content');
        if ($unpublished) {
            $this->where('a.catid', 'NOT IN', $unpublished);
        }

        $user = \JFactory::getUser();

        // Define null and now dates
        $nullDate = $this->db->quote($this->db->getNullDate());
        $nowDate = $this->db->quote(\JFactory::getDate()->toSql());

        // Filter by start and end dates.
        if (!$user->authorise('core.edit.state', 'com_content') && !$user->authorise('core.edit', 'com_content')) {
            $this->query
                ->where("(a.publish_up = {$nullDate} OR a.publish_up <= {$nowDate})")
                ->where("(a.publish_down = {$nullDate} OR a.publish_down >= {$nowDate})")
                ->where("a.state >= 1")
            ;
        }

        $groups = $user->getAuthorisedViewLevels();

        $this->query->join('INNER', '#__categories AS c ON c.id = a.catid');

        return $this->where('a.access', 'IN', $groups)->where('c.access', 'IN', $groups);
    }

    protected function addToGroup($key, $ids, $include = true)
    {
        $op = $include ? 'IN' : 'NOT IN';

        if (isset($this->state[$key][$op])) {
            $this->state[$key][$op] = array_merge($this->state[$key][$op], $ids);
        } else {
            $this->state[$key][$op] = $ids;
        }

        return $this;
    }

    protected function prepare()
    {
        foreach ($this->state as $key => $list) {
            foreach ($list as $op => $group) {
                $this->where($key, $op, array_unique($group));
            }
        }
    }
}
classes/Gantry/Admin/Styles.php000060400000006637150750356250012511 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin;

use Gantry\Component\Config\BlueprintForm;
use Gantry\Component\Config\ConfigFileFinder;
use Gantry\Component\File\CompiledYamlFile;
use Gantry\Framework\Theme as SiteTheme;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class Styles
{
    protected $container;
    protected $files;
    protected $blocks;

    public function __construct($container)
    {
        $this->container = $container;
    }

    public function all()
    {
        if (!$this->blocks)
        {
            $files = $this->locateBlocks();

            $this->blocks = [];
            foreach ($files as $key => $fileArray) {
                $filename = key($fileArray);
                $file = CompiledYamlFile::instance(GANTRY5_ROOT . '/' . $filename);
                $this->blocks[$key] = $file->content();
                $file->free();
            }
        }

        return $this->blocks;
    }

    public function group()
    {
        $blocks = $this->all();

        $list = [];
        foreach ($blocks as $name => $style) {
            $type = isset($style['type']) ? $style['type'] : 'block';
            $list[$type][$name] = $style;
        }

        return $this->sort($list);
    }

    public function get($id)
    {
        if ($this->blocks[$id]) {
            return $this->blocks[$id];
        }

        $files = $this->locateBlocks();

        if (empty($files[$id])) {
            throw new \RuntimeException(sprintf("Settings for '%s' not found.", $id), 404);
        }

        $filename = key($files[$id]);
        $file = CompiledYamlFile::instance(GANTRY5_ROOT . '/' . $filename);
        $particle = $file->content();
        $file->free();

        return $particle;
    }

    /**
     * @param string $id
     * @return BlueprintForm
     */
    public function getBlueprintForm($id)
    {
        return BlueprintForm::instance($id, 'gantry-blueprints://styles');
    }

    protected function sort(array $blocks)
    {
        $list = [];

        /** @var SiteTheme $theme */
        $theme = $this->container['theme'];
        $ordering = (array) $theme->details()['admin.styles'];

        ksort($blocks);

        foreach ($ordering as $name => $order) {
            if (isset($blocks[$name])) {
                $list[$name] = $this->sortItems($blocks[$name], (array) $order);
            }
        }
        $list += $blocks;

        return $list;
    }

    protected function sortItems(array $items, array $ordering)
    {
        $list = [];

        ksort($items);

        foreach ($ordering as $name) {
            if (isset($items[$name])) {
                $list[$name] = $items[$name];
            }
        }
        $list += $items;

        return $list;
    }

    protected function locateBlocks()
    {
        if (!$this->files) {
            /** @var UniformResourceLocator $locator */
            $locator = $this->container['locator'];
            $paths = $locator->findResources('gantry-blueprints://styles');

            $this->files = (new ConfigFileFinder)->listFiles($paths);
        }

        return $this->files;
    }
}
classes/Gantry/Admin/EventListener.php000060400000017247150750356250014014 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Admin;

use Gantry\Component\Layout\Layout;
use Gantry\Joomla\CacheHelper;
use Gantry\Joomla\Manifest;
use Gantry\Joomla\StyleHelper;
use Joomla\Registry\Registry;
use RocketTheme\Toolbox\Event\Event;
use RocketTheme\Toolbox\Event\EventSubscriberInterface;
use RocketTheme\Toolbox\File\IniFile;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class EventListener implements EventSubscriberInterface
{
    public static function getSubscribedEvents()
    {
        return [
            'admin.init.theme'  => ['onAdminThemeInit', 0],
            'admin.global.save' => ['onGlobalSave', 0],
            'admin.styles.save' => ['onStylesSave', 0],
            'admin.settings.save' => ['onSettingsSave', 0],
            'admin.layout.save' => ['onLayoutSave', 0],
            'admin.assignments.save' => ['onAssignmentsSave', 0],
            'admin.menus.save' => ['onMenusSave', 0]
        ];
    }

    public function onAdminThemeInit(Event $event)
    {
        \JPluginHelper::importPlugin('gantry5');

        // Trigger the onGantryThemeInit event.
        $dispatcher = \JEventDispatcher::getInstance();
        $dispatcher->trigger('onGantry5AdminInit', ['theme' => $event->theme]);
    }

    public function onGlobalSave(Event $event)
    {
        \JPluginHelper::importPlugin('gantry5');

        // Trigger the onGantryThemeUpdateCss event.
        $dispatcher = \JEventDispatcher::getInstance();
        $dispatcher->trigger('onGantry5SaveConfig', [$event->data]);
    }

    public function onStylesSave(Event $event)
    {
        \JPluginHelper::importPlugin('gantry5');

        // Trigger the onGantryThemeUpdateCss event.
        $dispatcher = \JEventDispatcher::getInstance();
        $dispatcher->trigger('onGantry5UpdateCss', ['theme' => $event->theme]);
    }

    public function onSettingsSave(Event $event)
    {
    }

    public function onLayoutSave(Event $event)
    {
        /** @var Layout $layout */
        $layout = $event->layout;

        if ($layout->name[0] !== '_' && $layout->name !== 'default') {
            $preset = isset($layout->preset['name']) ? $layout->preset['name'] : 'default';

            // Update Joomla template style.
            StyleHelper::update($layout->name, $preset);
        }

        $theme = $event->gantry['theme.name'];

        $positions = $event->gantry['outlines']->positions();
        $positions['debug'] = 'Debug';

        $manifest = new Manifest($theme);
        $manifest->setPositions(array_keys($positions));
        $manifest->save();

        $translations = [];
        foreach ($positions as $key => $translation) {
            // Encode translation key in Joomla way.
            $key = preg_replace('/[^A-Z0-9_\-]/', '_', strtoupper("TPL_{$theme}_POSITION_{$key}"));
            $translations[$key] = $translation;
        }

        /** @var UniformResourceLocator $locator */
        $locator = $event->gantry['locator'];

        $filename = "gantry-theme://language/en-GB/en-GB.tpl_{$theme}_positions.ini";

        $ini = IniFile::instance($locator->findResource($filename, true, true));
        $ini->save($translations);
        $ini->free();
    }

    public function onAssignmentsSave(Event $event)
    {
    }


    public function onMenusSave(Event $event)
    {
        $defaults = [
            'id' => 0,
            'layout' => 'list',
            'target' => '_self',
            'dropdown' => '',
            'icon' => '',
            'image' => '',
            'subtitle' => '',
            'icon_only' => false,
            'visible' => true,
            'group' => 0,
            'columns' => [],
            'link_title' => '',
            'hash' => '',
            'class' => ''
        ];

        $gantry = $event->gantry;
        $menu = $event->menu;

        // Save global menu settings into Joomla.
        /** @var \JTableMenuType $table */
        $menuType = \JTable::getInstance('MenuType');
        if (!$menuType->load(['menutype' => $event->resource])) {
            throw new \RuntimeException("Saving menu failed: Menu type {$event->resource} not found.", 400);
        }
        $options = [
            'title' => $menu['settings.title'],
            'description' => $menu['settings.description']
        ];
        if ($gantry->authorize('menu.edit') && !$menuType->save($options)) {
            throw new \RuntimeException('Saving menu failed: '. $menuType->getError(), 400);
        }

        unset($menu['settings']);

        /** @var \JTableMenu $table */
        $table = \JTable::getInstance('menu');

        foreach ($menu['items'] as $key => $item) {
            $id = !empty($item['id']) ? (int) $item['id'] : 0;
            if ($id && $table->load($item['id'])) {
                $params = new Registry($table->params);

                // Menu item exists in Joomla, let's update it instead.
                unset($item['type'], $item['link']);

                $item['id'] = (int) $id;

                $title = $menu["items.{$key}.title"];
                $browserNav = intval($menu["items.{$key}.target"] === '_blank');

                $options = [
                    // Disabled as the option has different meaning in Joomla than in Gantry, see issue #1656.
                    // 'menu-anchor_css' => $menu["items.{$key}.class"],
                    'menu_image' => $menu["items.{$key}.image"],
                    'menu_text' => intval(!$menu["items.{$key}.icon_only"]),
                    'menu_show' => intval($menu["items.{$key}.enabled"]),
                ];

                $modified = false;

                if ($table->title != $title) {
                    $table->title = $title;
                    $modified = true;
                }

                if ($table->browserNav != $browserNav) {
                    $table->browserNav = $browserNav;
                    $modified = true;
                }

                foreach ($options as $var => $value) {
                    if ($params->get($var) !== $value) {
                        $params->set($var, $value);
                        $modified = true;
                    }
                }

                if ($modified && $gantry->authorize('menu.edit')) {
                    $table->params = (string) $params;
                    if (!$table->check() || !$table->store()) {
                        throw new \RuntimeException("Failed to save /{$key}: {$table->getError()}", 400);
                    }
                }

                // Avoid saving values which are also stored in Joomla.
                unset($item['title'], $item['anchor_class'], $item['image'], $item['icon_only'], $item['target']);
                if (version_compare(JVERSION, '3.5.1', '>=')) {
                    unset($item['enabled']);
                }

            }

            // Do not save default values.
            foreach ($defaults as $var => $value) {
                if (isset($item[$var]) && $item[$var] == $value) {
                    unset($item[$var]);
                }
            }

            // Do not save derived values.
            unset($item['path'], $item['alias'], $item['parent_id'], $item['level'], $item['group']);

            // Particles have no link.
            if (isset($item['type']) && $item['type'] === 'particle') {
                unset($item['link']);
            }

            // Because of ordering we need to save all menu items, including those from Joomla which have no data except id.
            $event->menu["items.{$key}"] = $item;
        }

        // Clean the cache.
        CacheHelper::cleanMenu();
    }
}
classes/Gantry/Admin/Theme.php000060400000007560150750356250012264 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin;

use Gantry\Component\Config\CompiledConfig;
use Gantry\Component\Config\ConfigFileFinder;
use Gantry\Component\Filesystem\Folder;
use Gantry\Component\Theme\AbstractTheme;
use Gantry\Framework\Platform;
use RocketTheme\Toolbox\Event\Event;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class Theme extends AbstractTheme
{
    /**
     * @see AbstractTheme::init()
     */
    protected function init()
    {
        $gantry = static::gantry();

        // Add particles, styles and defaults into DI.

        $gantry['particles'] = function ($c) {
            return new Particles($c);
        };

        $gantry['styles'] = function ($c) {
            return new Styles($c);
        };

        $gantry['page'] = function ($c) {
            return new Page($c);
        };

        $gantry['defaults'] = function($c) {
            /** @var UniformResourceLocator $locator */
            $locator = $c['locator'];

            $cache = $locator->findResource('gantry-cache://theme/compiled/config', true, true);
            $paths = $locator->findResources('gantry-config://default');

            $files = (new ConfigFileFinder)->locateFiles($paths);

            $config = new CompiledConfig($cache, $files, GANTRY5_ROOT);
            $config->setBlueprints(function() use ($c) {
                return $c['blueprints'];
            });

            return $config->load(true);
        };

        // Initialize admin streams.

        /** @var Platform $patform */
        $patform = $gantry['platform'];

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        $nucleus = $patform->getEnginePaths('nucleus')[''];
        if (strpos($this->path, '://')) {
            $relpath = $this->path;
        } else {
            $relpath = Folder::getRelativePath($this->path);
        }
        $patform->set(
            'streams.gantry-admin.prefixes', [
                ''        => ['gantry-theme://admin', $relpath, $relpath . '/common', 'gantry-engine://admin'],
                'assets/' => array_merge([$relpath, $relpath . '/common'], $nucleus, ['gantry-assets://'])
            ]
        );

        // Add admin paths.
        foreach ($patform->get('streams.gantry-admin.prefixes') as $prefix => $paths) {
            $locator->addPath('gantry-admin', $prefix, $paths);
        }

        // Fire admin init event.
        $event = new Event;
        $event->gantry = $gantry;
        $event->theme = $this;
        $gantry->fireEvent('admin.init.theme', $event);
    }

    /**
     * @see AbstractTheme::getCachePath()
     *
     * @param string $path
     * @return string
     */
    protected function getCachePath($path = '')
    {
        $gantry = static::gantry();

        /** @var Platform $patform */
        $patform = $gantry['platform'];

        // Initialize theme cache stream.
        return $patform->getCachePath() . '/admin' . ($path ? '/' . $path : '');
    }

    /**
     * @see AbstractTheme::setTwigLoaderPaths()
     *
     * @param \Twig_LoaderInterface $loader
     */
    protected function setTwigLoaderPaths(\Twig_LoaderInterface $loader)
    {
        if (!($loader instanceof \Twig_Loader_Filesystem)) {
            return;
        }

        $gantry = static::gantry();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        $loader->setPaths($locator->findResources('gantry-admin://templates'));
        $loader->setPaths($locator->findResources('gantry-admin://templates'), 'gantry-admin');
    }
}
classes/Gantry/Admin/Router.php000060400000012062150750356250012473 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Admin;

use Gantry\Component\File\CompiledYamlFile;
use Gantry\Component\Request\Request;
use Gantry\Component\Response\JsonResponse;
use Gantry\Component\Response\Response;
use Gantry\Component\Router\Router as BaseRouter;
use Gantry\Joomla\StyleHelper;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

/**
 * Gantry administration router for Joomla.
 */
class Router extends BaseRouter
{
    public function boot()
    {
        \JHtml::_('behavior.keepalive');

        $app = \JFactory::getApplication();
        $input = $app->input;

        // TODO: Remove style variable.
        $style = $input->getInt('style');
        $theme = $input->getCmd('theme');
        $path = array_filter(explode('/', $input->getString('view', '')), function($var) { return $var !== ''; });

        $this->setTheme($theme, $style);

        /** @var Request $request */
        $request = $this->container['request'];

        $this->method = $request->getMethod();
        $this->path = $path ?: (isset($this->container['theme.name']) ? ['configurations', true] : ['themes']);
        $this->resource = array_shift($this->path);
        $this->format = $input->getCmd('format', 'html');
        $ajax = ($this->format == 'json');

        $this->params = [
            'user' => \JFactory::getUser(),
            'ajax' => $ajax,
            'location' => $this->resource,
            'method' => $this->method,
            'format' => $this->format,
            'params' => $request->post->getJsonArray('params')
        ];

        return $this;
    }

    public function setTheme($theme, $style)
    {
        if ($style) {
            \JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_templates/tables');
            $table = \JTable::getInstance('Style', 'TemplatesTable');
            $table->load(['id' => $style, 'client_id' => 0]);

            $theme = $table->template;
        }
        if (!$theme) {
            $theme = StyleHelper::getDefaultStyle()->template;
        }

        $path = JPATH_SITE . '/templates/' . $theme;

        if (!is_file("{$path}/gantry/theme.yaml")) {
            $theme = null;
            $this->container['streams']->register();

            /** @var UniformResourceLocator $locator */
            $locator = $this->container['locator'];

            CompiledYamlFile::$defaultCachePath = $locator->findResource('gantry-cache://theme/compiled/yaml', true, true);
            CompiledYamlFile::$defaultCaching = $this->container['global']->get('compile_yaml', 1);
        }

        $this->container['base_url'] = \JUri::base(true) . '/index.php?option=com_gantry5';

        $this->container['ajax_suffix'] = '&format=json';

        $token = \JSession::getFormToken();

        $this->container['routes'] = [
            '1' => "&view=%s&theme={$theme}&{$token}=1",

            'themes' => '&view=themes',
            'picker/layouts' => "&view=layouts&theme={$theme}&{$token}=1",
        ];

        if (!$theme) {
            return $this;
        }

        $this->container['theme.path'] = $path;
        $this->container['theme.name'] = $theme;

        // Load language file for the template.
        $languageFile = 'tpl_' . $theme;
        $lang = \JFactory::getLanguage();
        $lang->load($languageFile, JPATH_SITE)
            || $lang->load($languageFile, $path)
            || $lang->load($languageFile, $path, 'en-GB');

        return $this;
    }

    protected function checkSecurityToken()
    {
        return \JSession::checkToken('get');
    }

    /**
     * Send response to the client.
     *
     * @param Response $response
     * @return string
     */
    protected function send(Response $response)
    {
        $app = \JFactory::getApplication();
        $document = \JFactory::getDocument();
        $document->setCharset($response->charset);
        $document->setMimeEncoding($response->mimeType);

        // Output HTTP header.
        $app->setHeader('Status', $response->getStatus());
        $app->setHeader('Content-Type', $response->mimeType . '; charset=' . $response->charset);
        foreach ($response->getHeaders() as $key => $values) {
            $replace = true;
            foreach ($values as $value) {
                $app->setHeader($key, $value, $replace);
                $replace = false;
            }
        }

        if ($response instanceof JsonResponse) {
            $app->setHeader('Expires', 'Wed, 17 Aug 2005 00:00:00 GMT', true);
            $app->setHeader('Last-Modified', gmdate('D, d M Y H:i:s') . ' GMT', true);
            $app->setHeader('Cache-Control', 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0', false);
            $app->setHeader('Pragma', 'no-cache');
            $app->sendHeaders();
        }

        // Output Gantry response.
        echo $response;

        if ($response instanceof JsonResponse) {
            $app->close();
        }
    }
}
classes/Gantry/Admin/ThemeList.php000060400000010577150750356250013122 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

namespace Gantry\Admin;

use Gantry\Component\Filesystem\Folder;
use Gantry\Component\Theme\ThemeDetails;
use Gantry\Framework\Gantry;
use Joomla\Registry\Registry;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;


class ThemeList
{
    /**
     * @var ThemeDetails[]
     */
    protected static $items;

    /**
     * @var array
     */
    protected static $styles;

    /**
     * @return array
     */
    public static function getThemes()
    {
        if (!is_array(static::$items)) {
            static::loadThemes();
        }

        $list = [];
        foreach (static::$items as $item) {
            $details = static::getTheme($item['name']);
            if ($details) {
                $list[$item['name']] = $details;
            }
        }

        return $list;
    }

    /**
     * @param string $name
     * @return mixed
     */
    public static function getTheme($name)
    {
        $styles = static::getStyles($name);

        return reset($styles);
    }

    /**
     * @param string $template
     * @return array
     */
    public static function getStyles($template = null, $force = false)
    {
        if ($force || !is_array(static::$styles)) {
            static::loadStyles();
        }

        if ($template) {
            return isset(static::$styles[$template]) ? static::$styles[$template] : [];
        }

        $list = [];
        foreach (static::$styles as $styles) {
            $list += $styles;
        }

        ksort($list);

        return $list;
    }

    protected static function loadThemes()
    {
        $gantry = Gantry::instance();

        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];

        /** @var array|ThemeDetails[] $list */
        $list = [];

        $files = Folder::all('gantry-themes://', ['recursive' => false, 'files' => false]);
        natsort($files);

        foreach ($files as $theme) {
            if ($locator('gantry-themes://' . $theme . '/gantry/theme.yaml')) {
                $details = new ThemeDetails($theme);
                $details->addStreams();

                $details['name'] = $theme;
                $details['title'] = $details['details.name'];
                $details['preview_url'] = null;
                $details['admin_url'] = $gantry['platform']->getThemeAdminUrl($theme);
                $details['params'] = [];

                $list[$details->name] = $details;

            }
        }

        // Add Thumbnails links after adding all the paths to the locator.
        foreach ($list as $details) {
            $details['thumbnail'] = $details->getUrl("details.images.thumbnail");
        }

        static::$items = $list;
    }

    protected static function loadStyles()
    {
        $gantry = Gantry::instance();
        $db = \JFactory::getDbo();

        $query = $db
            ->getQuery(true)
            ->select('s.id, e.extension_id, s.template AS name, s.title, s.params')
            ->from('#__template_styles AS s')
            ->where('s.client_id = 0')
            ->where('e.enabled = 1')
            ->where('e.state = 0')
            ->leftJoin('#__extensions AS e ON e.element=s.template AND e.type='
                . $db->quote('template') . ' AND e.client_id=s.client_id')
            ->order('s.id');

        $db->setQuery($query);

        $styles = (array) $db->loadObjectList();

        if (!is_array(static::$items)) {
            static::loadThemes();
        }

        /** @var array|ThemeDetails[] $list */
        $list = [];

        foreach ($styles as $style)
        {
            $details = isset(static::$items[$style->name]) ? static::$items[$style->name] : null;
            if (!$details) {
                continue;
            }

            $params = new Registry($style->params);

            $details = clone $details;
            $details['id'] = $style->id;
            $details['extension_id'] = $style->extension_id;
            $details['style'] = $style->title;
            $details['preview_url'] = $gantry['platform']->getThemePreviewUrl($style->id);
            $details['params'] = $params->toArray();

            $list[$style->name][$style->id] = $details;
        }

        static::$styles = $list;
    }
}
classes/Gantry/Admin/Page.php000060400000007021150750356250012066 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin;

use Gantry\Component\Config\BlueprintForm;
use Gantry\Component\Config\ConfigFileFinder;
use Gantry\Component\File\CompiledYamlFile;
use Gantry\Framework\Theme as SiteTheme;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class Page
{
    protected $container;
    protected $files;
    protected $blocks;

    public function __construct($container)
    {
        $this->container = $container;
    }

    public function all()
    {
        if (!$this->blocks)
        {
            $files = $this->locateBlocks();

            $this->blocks = [];
            foreach ($files as $key => $fileArray) {
                $filename = key($fileArray);
                $file = CompiledYamlFile::instance(GANTRY5_ROOT . '/' . $filename);
                $this->blocks[$key] = $file->content();
                $file->free();
            }
        }

        return $this->blocks;
    }

    public function group()
    {
        $blocks = $this->all();

        $list = [];
        foreach ($blocks as $name => $setting) {
            $type = isset($setting['type']) ? $setting['type'] : '';
            $list[$type][$name] = $setting;
        }

        return $this->sort($list);
    }

    public function get($id)
    {
        if ($this->blocks[$id]) {
            return $this->blocks[$id];
        }

        $files = $this->locateBlocks();

        if (empty($files[$id])) {
            throw new \RuntimeException(sprintf("Settings for '%s' not found.", $id), 404);
        }

        $filename = key($files[$id]);
        $file = CompiledYamlFile::instance(GANTRY5_ROOT . '/' . $filename);
        $setting = $file->content();
        $file->free();

        return $setting;
    }

    /**
     * @param string $id
     * @return BlueprintForm
     */
    public function getBlueprintForm($id)
    {
        return BlueprintForm::instance($id, 'gantry-blueprints://page');
    }

    protected function sort(array $blocks)
    {
        $list = [];

        /** @var SiteTheme $theme */
        $theme = $this->container['theme'];
        $ordering = (array) $theme->details()['admin.page'];
        if (!count($ordering)) {
            $ordering = ['global' => ['head', 'assets', 'body', 'generics']];
        }

        ksort($blocks);

        foreach ($ordering as $name => $order) {
            if (isset($blocks[$name])) {
                $list[$name] = $this->sortItems($blocks[$name], (array) $order);
            }
        }
        $list += $blocks;

        return $list;
    }

    protected function sortItems(array $items, array $ordering)
    {
        $list = [];

        ksort($items);

        foreach ($ordering as $name) {
            if (isset($items[$name])) {
                $list[$name] = $items[$name];
            }
        }
        $list += $items;

        return $list;
    }

    protected function locateBlocks()
    {
        if (!$this->files) {
            /** @var UniformResourceLocator $locator */
            $locator = $this->container['locator'];
            $paths = $locator->findResources('gantry-blueprints://page');

            $this->files = (new ConfigFileFinder)->listFiles($paths);
        }

        return $this->files;
    }
}
classes/Gantry/Admin/Controller/Html/About.php000060400000001413150750356250015312 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Html;

use Gantry\Admin\ThemeList;
use Gantry\Component\Admin\HtmlController;

class About extends HtmlController
{
    public function index()
    {
        // TODO: Find better way:
        $this->params['info'] = (new ThemeList)->getTheme($this->container['theme.name']);

        return $this->render('@gantry-admin/pages/about/about.html.twig', $this->params);
    }
}
classes/Gantry/Admin/Controller/Html/Menu.php000060400000043333150750356250015153 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Html;

use Gantry\Component\Admin\HtmlController;
use Gantry\Component\Config\BlueprintSchema;
use Gantry\Component\Config\BlueprintForm;
use Gantry\Component\Config\Config;
use Gantry\Component\Menu\Item;
use Gantry\Component\Request\Input;
use Gantry\Component\Response\HtmlResponse;
use Gantry\Component\Response\JsonResponse;
use Gantry\Component\Response\Response;
use Gantry\Framework\Menu as MenuObject;
use RocketTheme\Toolbox\Event\Event;
use RocketTheme\Toolbox\File\YamlFile;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class Menu extends HtmlController
{
    protected $httpVerbs = [
        'GET'    => [
            '/'                  => 'item',
            '/*'                 => 'item',
            '/*/**'              => 'item',
            '/particle'          => 'particle',
            '/particle/*'        => 'validateParticle',
            '/select'            => 'undefined',
            '/select/particle'   => 'selectParticle',
            '/select/module'     => 'selectModule',
            '/select/widget'     => 'selectWidget',
            '/edit'              => 'undefined',
            '/edit/*'            => 'edit',
            '/edit/*/**'         => 'editItem',
        ],
        'POST'   => [
            '/'                  => 'save',
            '/*'                 => 'save',
            '/*/**'              => 'item',
            '/particle'          => 'particle',
            '/particle/*'        => 'validateParticle',
            '/select'            => 'undefined',
            '/select/particle'   => 'selectParticle',
            '/select/module'     => 'selectModule',
            '/select/widget'     => 'selectWidget',
            '/widget'            => 'widget',
            '/edit'              => 'undefined',
            '/edit/*'            => 'edit',
            '/edit/*/**'         => 'editItem',
            '/edit/*/validate'   => 'validate',
        ],
        'PUT'    => [
            '/*' => 'replace'
        ],
        'PATCH'  => [
            '/*' => 'update'
        ],
        'DELETE' => [
            '/*' => 'destroy'
        ]
    ];

    public function execute($method, array $path, array $params)
    {
        if (!$this->authorize('menu.manage')) {
            $this->forbidden();
        }

        return parent::execute($method, $path, $params);
    }

    public function item($id = null)
    {
        // Load the menu.
        try {
            $resource = $this->loadResource($id, $this->build($this->request->post));
        } catch (\Exception $e) {
            return $this->render('@gantry-admin/pages/menu/menu.html.twig', $this->params);
        }

        // All extra arguments become the path.
        $path = array_slice(func_get_args(), 1);

        // Get menu item and make sure it exists.
        $item = $resource[implode('/', $path)];
        if (!$item) {
            throw new \RuntimeException('Menu item not found', 404);
        }

        // Fill parameters to be passed to the template file.
        $this->params['id'] = $resource->name();
        $this->params['menus'] = $resource->getMenus();
        $this->params['default_menu'] = $resource->hasDefaultMenu() ? $resource->getDefaultMenuName() : false;
        $this->params['menu'] = $resource;
        $this->params['path'] = implode('/', $path);

        // Detect special case to fetch only single column group.
        $group = $this->request->get['group'];

        if (empty($this->params['ajax']) || empty($this->request->get['inline'])) {
            // Handle special case to fetch only one column group.
            if (count($path) > 0) {
                $this->params['columns'] = $resource[$path[0]];
            }
            if (count($path) > 1) {
                $this->params['column'] = isset($group) ? (int) $group : $resource[implode('/', array_slice($path, 0, 2))]->group;
                $this->params['override'] = $item;
            }

            return $this->render('@gantry-admin/pages/menu/menu.html.twig', $this->params);

        } else {
            // Get layout name.
            $layout = $this->layoutName(count($path) + (int) isset($group));

            $this->params['item'] = $item;
            $this->params['group'] = isset($group) ? (int) $group : $resource[implode('/', array_slice($path, 0, 2))]->group;

            return $this->render('@gantry-admin/menu/' . $layout . '.html.twig', $this->params) ?: '&nbsp;';
        }
    }

    public function edit($id)
    {
        $resource = $this->loadResource($id);
        $input = $this->build($this->request->post);
        if ($input) {
            $resource->config()->merge(['settings' => $input['settings']]);
        }

        // Fill parameters to be passed to the template file.
        $this->params['id'] = $resource->name();
        $this->params['blueprints'] = $this->loadBlueprints();
        $this->params['data'] = ['settings' => $resource->settings()];

        return $this->render('@gantry-admin/pages/menu/edit.html.twig', $this->params);
    }

    public function save($id = null)
    {
        $resource = $this->loadResource($id);

        $data = $this->build($this->request->post);

        /** @var UniformResourceLocator $locator */
        $locator = $this->container['locator'];
        $filename = $locator->findResource("gantry-config://menu/{$resource->name()}.yaml", true, true);

        // Fire save event.
        $event = new Event;
        $event->gantry = $this->container;
        $event->theme = $this->container['theme'];
        $event->controller = $this;
        $event->resource = $id;
        $event->menu = $data;
        $this->container->fireEvent('admin.menus.save', $event);

        $file = YamlFile::instance($filename);
        $file->settings(['inline' => 99]);
        $file->save($data->toArray());
        $file->free();
    }

    public function editItem($id)
    {
        // All extra arguments become the path.
        $path = array_slice(func_get_args(), 1);
        $keyword = end($path);

        // Special case: validate instead of fetching menu item.
        if ($this->method == 'POST' && $keyword == 'validate') {
            $params = array_slice(func_get_args(), 0, -1);
            return call_user_func_array([$this, 'validateitem'], $params);
        }

        $path = html_entity_decode(implode('/', $path), ENT_COMPAT | ENT_HTML5, 'UTF-8');

        // Load the menu.
        $resource = $this->loadResource($id);

        // Get menu item and make sure it exists.
        /** @var Item $item */
        $item = $resource[$path];
        if (!$item) {
            throw new \RuntimeException('Menu item not found', 404);
        }
        $data = $this->request->post->getJsonArray('item');
        if ($data) {
            $item->update($data);
        }

        // Load blueprints for the menu item.
        $blueprints = $this->loadBlueprints('menuitem');

        $this->params = [
                'id'         => $resource->name(),
                'path'       => $path,
                'blueprints' => ['fields' => $blueprints['form/fields/items/fields']],
                'data'       => $item->toArray() + ['path' => $path],
            ] + $this->params;

        return $this->render('@gantry-admin/pages/menu/menuitem.html.twig', $this->params);
    }

    public function particle()
    {
        $data = $this->request->post['item'];
        if ($data) {
            $data = json_decode($data, true);
        } else {
            $data = $this->request->post->getArray();
        }

        $name = isset($data['particle']) ? $data['particle'] : null;

        $block = BlueprintForm::instance('menu/block.yaml', 'gantry-admin://blueprints');
        $blueprints = $this->container['particles']->getBlueprintForm($name);

        // Load particle blueprints and default settings.
        $validator = $this->loadBlueprints('menu');
        $callable = function () use ($validator) {
            return $validator;
        };

        // Create configuration from the defaults.
        $item = new Config($data, $callable);
        $item->def('type', 'particle');
        $item->def('title', $blueprints->get('name'));
        $item->def('options.type', $blueprints->get('type', 'particle'));
        $item->def('options.particle', []);
        $item->def('options.block', []);

        $this->params += [
            'item'          => $item,
            'block'         => $block,
            'data'          => ['particles' => [$name => $item->options['particle']]],
            'particle'      => $blueprints,
            'parent'        => 'settings',
            'prefix'        => "particles.{$name}.",
            'route'         => "configurations.default.settings",
            'action'        => "menu/particle/{$name}"
        ];

        return $this->render('@gantry-admin/pages/menu/particle.html.twig', $this->params);
    }


    public function validateParticle($name)
    {
        // Validate only exists for JSON.
        if (empty($this->params['ajax'])) {
            $this->undefined();
        }

        // Load particle blueprints and default settings.
        $validator = new BlueprintSchema;
        $validator->embed('options', $this->container['particles']->get($name));

        $blueprints = $this->container['particles']->getBlueprintForm($name);

        // Create configuration from the defaults.
        $data = new Config([],
            function () use ($validator) {
                return $validator;
            }
        );

        $data->set('type', 'particle');
        $data->set('particle', $name);
        $data->set('title', $this->request->post['title'] ?: $blueprints->post['name']);
        $data->set('options.particle', $this->request->post->getArray("particles.{$name}"));
        $data->def('options.particle.enabled', 1);
        $data->set('enabled', $data->get('options.particle.enabled'));

        $block = $this->request->post->getArray('block');
        foreach ($block as $key => $param) {
            if ($param === '') {
                unset($block[$key]);
            }
        }

        $data->join('options.block', $block);

        // TODO: validate

        // Fill parameters to be passed to the template file.
        $this->params['item'] = (object) $data->toArray();

        $html = $this->render('@gantry-admin/menu/item.html.twig', $this->params);

        return new JsonResponse(['item' => $data->toArray(), 'html' => $html]);
    }

    public function selectModule()
    {
        return $this->render('@gantry-admin/modals/module-picker.html.twig', $this->params);
    }

    public function selectWidget()
    {
        $this->params['next'] = 'menu/widget';

        return $this->render('@gantry-admin/modals/widget-picker.html.twig', $this->params);
    }

    public function widget()
    {
        $data = $this->request->post->getJson('item');
        $path = [$data->widget];
        $this->params['scope'] = 'menu';

        return $this->executeForward('widget', 'POST', $path, $this->params);
    }

    public function selectParticle()
    {
        $groups = [
            'Particles' => ['particle' => []],
        ];

        $particles = [
            'position'    => [],
            'spacer'      => [],
            'system'      => [],
            'particle'    => [],
        ];

        $particles = array_replace($particles, $this->getParticles());
        unset($particles['atom'], $particles['position']);

        foreach ($particles as &$group) {
            asort($group);
        }

        foreach ($groups as $section => $children) {
            foreach ($children as $key => $child) {
                $groups[$section][$key] = $particles[$key];
            }
        }

        $this->params += [
            'particles' => $groups,
            'route' => 'menu/particle',
        ];

        return $this->render('@gantry-admin/modals/particle-picker.html.twig', $this->params);
    }

    public function validate($id)
    {
        // Validate only exists for JSON.
        if (empty($this->params['ajax'])) {
            $this->undefined();
        }

        // Load particle blueprints and default settings.
        $validator = $this->loadBlueprints('menu');
        $callable = function () use ($validator) {
            return $validator;
        };

        // Create configuration from the defaults.
        $data = new Config($this->request->post->getArray(), $callable);

        // TODO: validate

        return new JsonResponse(['settings' => (array) $data->get('settings')]);
    }

    public function validateitem($id)
    {
        // All extra arguments become the path.
        $path = array_slice(func_get_args(), 1);

        // Validate only exists for JSON.
        if (empty($this->params['ajax'])) {
            $this->undefined();
        }

        // Load the menu.
        $resource = $this->loadResource($id);

        // Load particle blueprints and default settings.
        $validator = $this->loadBlueprints('menuitem');
        $callable = function () use ($validator) {
            return $validator;
        };

        // Create configuration from the defaults.
        $data = new Config($this->request->post->getArray(), $callable);

        // TODO: validate

        $item = $resource[implode('/', $path)];
        $item->update($data->toArray());

        // Fill parameters to be passed to the template file.
        $this->params['id'] = $resource->name();
        $this->params['item'] = $item;
        $this->params['group'] = isset($group) ? $group : $resource[implode('/', array_slice($path, 0, 2))]->group;

        if (!$item->title) {
            throw new \RuntimeException('Title from the Menu Item should not be empty', 400);
        }

        $html = $this->render('@gantry-admin/menu/item.html.twig', $this->params);

        return new JsonResponse(['path' => implode('/', $path), 'item' => $data->toArray(), 'html' => $html]);
    }

    protected function layoutName($level)
    {
        switch ($level) {
            case 0:
                return 'base';
            case 1:
                return 'columns';
            default:
                return 'list';
        }
    }

    /**
     * Load resource.
     *
     * @param string $id
     * @param Config $config
     *
     * @return \Gantry\Component\Menu\AbstractMenu
     * @throws \RuntimeException
     */
    protected function loadResource($id, Config $config = null)
    {
        /** @var MenuObject $menus */
        $menus = $this->container['menu'];

        return $menus->instance(['menu' => $id, 'admin' => true], $config);
    }

    /**
     * Load blueprints.
     *
     * @param string $name
     *
     * @return BlueprintForm
     */
    protected function loadBlueprints($name = 'menu')
    {
        return BlueprintForm::instance("menu/{$name}.yaml", 'gantry-admin://blueprints');
    }


    public function build(Input $input)
    {
        try {
            $items = $input->get('items');
            if ($items && $items[0] !== '{' && $items[0] !== '[') {
                $items = urldecode((string)base64_decode($items));
            }
            $items = json_decode($items, true);

            $settings = $input->getJsonArray('settings');
            $order = $input->getJsonArray('ordering');
        } catch (\Exception $e) {
            throw new \RuntimeException('Invalid menu structure', 400);
        }

        if (!$items && !$settings && !$order) {
            return null;
        }


        krsort($order);
        $ordering = ['' => []];
        foreach ($order as $path => $columns) {
            foreach ($columns as $column => $colitems) {
                $list = [];
                foreach ($colitems as $item) {
                    $name = trim(substr($item, strlen($path)), '/');
                    if (isset($ordering[$item])) {
                        $list[$name] = $ordering[$item];
                        unset($ordering[$item]);
                    } else {
                        $list[$name] = '';
                    }
                }
                if (count($columns) > 1) {
                    $ordering[$path][$column] = $list;
                } else {
                    $ordering[$path] = $list;
                }
            }
        }

        $data = new Config([]);
        $data->set('settings', $settings);
        $data->set('ordering', $ordering['']);
        $data->set('items', $items);

        return $data;
    }

    protected function getParticles()
    {
        $particles = $this->container['particles']->all();

        $list = [];
        foreach ($particles as $name => $particle) {
            $type = isset($particle['type']) ? $particle['type'] : 'particle';
            $particleName = isset($particle['name']) ? $particle['name'] : $name;
            $particleIcon = isset($particle['icon']) ? $particle['icon'] : null;
            $list[$type][$name] = ['name' => $particleName, 'icon' => $particleIcon];
        }

        return $list;
    }

    protected function executeForward($resource, $method = 'GET', $path, $params = [])
    {
        $class = '\\Gantry\\Admin\\Controller\\Json\\' . strtr(ucwords(strtr($resource, '/', ' ')), ' ', '\\');
        if (!class_exists($class)) {
            throw new \RuntimeException('Page not found', 404);
        }

        /** @var HtmlController $controller */
        $controller = new $class($this->container);

        // Execute action.
        $response = $controller->execute($method, $path, $params);

        if (!$response instanceof Response) {
            $response = new HtmlResponse($response);
        }

        return $response;
    }
}
classes/Gantry/Admin/Controller/Html/Configurations/Assignments.php000060400000004435150750356250021534 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Html\Configurations;

use Gantry\Component\Admin\HtmlController;
use Gantry\Framework\Assignments as AssignmentsObject;
use RocketTheme\Toolbox\Event\Event;

class Assignments extends HtmlController
{
    public function index()
    {
        $outline = $this->params['outline'];

        if ($this->hasAssignments($outline)) {
            $assignments = new AssignmentsObject($outline);

            $this->params['assignments'] = $assignments->get();
            $this->params['options'] = $assignments->assignmentOptions();
            $this->params['assignment'] = $assignments->getAssignment();
        }

        return $this->render('@gantry-admin/pages/configurations/assignments/assignments.html.twig', $this->params);
    }

    public function store()
    {
        // Authorization.
        if (!$this->authorize('outline.assign')) {
            $this->forbidden();
        }

        $outline = $this->params['outline'];
        if (!$this->hasAssignments($outline)) {
            $this->undefined();
        }

        if (!$this->request->post->get('_end')) {
            throw new \OverflowException("Incomplete data received. Please increase the value of 'max_input_vars' variable (in php.ini or .htaccess)", 400);
        }

        // Save assignments.
        $assignments = new AssignmentsObject($outline);
        $assignments->save($this->request->post->getArray('assignments'));

        // Fire save event.
        $event = new Event;
        $event->gantry = $this->container;
        $event->theme = $this->container['theme'];
        $event->controller = $this;
        $event->assignments = $assignments;
        $this->container->fireEvent('admin.assignments.save', $event);

        return '';
    }

    protected function hasAssignments($outline)
    {
        // Default outline and system outlines cannot have assignments.
        return $outline !== 'default' && $outline[0] !== '_';
    }
}
classes/Gantry/Admin/Controller/Html/Configurations/Page.php000060400000026514150750356250020117 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Html\Configurations;

use Gantry\Component\Admin\HtmlController;
use Gantry\Component\Config\BlueprintSchema;
use Gantry\Component\Config\Config;
use Gantry\Component\Layout\Layout;
use Gantry\Component\Response\JsonResponse;
use Gantry\Framework\Atoms;
use Gantry\Framework\Services\ConfigServiceProvider;
use RocketTheme\Toolbox\Event\Event;
use RocketTheme\Toolbox\File\YamlFile;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class Page extends HtmlController
{
    protected $httpVerbs = [
        'GET'    => [
            '/' => 'index'
        ],
        'POST'   => [
            '/'                 => 'save',
            '/*'                => 'save',
            '/*/**'             => 'formfield',
            '/atoms'            => 'undefined',
            '/atoms/*'          => 'atom',
            '/atoms/*/validate' => 'atomValidate'
        ],
        'PUT'    => [
            '/' => 'save'
        ],
        'PATCH'  => [
            '/' => 'save'
        ],
        'DELETE' => [
            '/' => 'forbidden'
        ]
    ];

    public function index()
    {
        $outline = $this->params['outline'];

        if ($outline == 'default') {
            $this->params['overrideable'] = false;
            $data = $this->container['config'];
        } else {
            $this->params['overrideable'] = true;
            $this->params['defaults'] = $defaults = $this->container['defaults'];
            $data = ConfigServiceProvider::load($this->container, $outline, false, false);
        }

        $deprecated = $this->getDeprecatedAtoms();
        if ($deprecated) {
            $data->set('page.head.atoms', $deprecated);
        }

        if (isset($defaults)) {
            $currentAtoms = $data->get('page.head.atoms');
            if (!$currentAtoms) {
                // Make atoms to appear to be inherited in they are loaded from defaults.
                $defaultAtoms = (array) $defaults->get('page.head.atoms');
                $atoms = (new Atoms($defaultAtoms))->inheritAll('default')->toArray();
                $defaults->set('page.head.atoms', $atoms);
            }
        }

        $this->params += [
            'data' => $data,
            'page' => $this->container['page']->group(),
            'route'  => "configurations.{$outline}",
            'page_id' => $outline,
            'atoms' => $this->getAtoms(),
            'atoms_deprecated' => $deprecated
        ];

        return $this->render('@gantry-admin/pages/configurations/page/page.html.twig', $this->params);
    }

    public function save($id = null)
    {
        $data = $id ? [$id => $this->request->post->getArray()] : $this->request->post->getArray('page');

        foreach ($data as $name => $values) {
            $this->saveItem($name, $values);
        }

        // Fire save event.
        $event             = new Event;
        $event->gantry     = $this->container;
        $event->theme      = $this->container['theme'];
        $event->controller = $this;
        $event->data       = $data;
        $this->container->fireEvent('admin.page.save', $event);

        return $id ? $this->display($id) : $this->index();
    }

    public function formfield($id)
    {
        $path = func_get_args();

        $end = end($path);
        if ($end === '') {
            array_pop($path);
        }
        if (end($path) == 'validate') {
            return call_user_func_array([$this, 'validate'], $path);
        }

        // Load blueprints.
        $blueprints = $this->container['page']->getBlueprintForm($id);

        list($fields, $path, $value) = $blueprints->resolve(array_slice($path, 1), '/');

        if (!$fields) {
            throw new \RuntimeException('Page Not Found', 404);
        }

        $data = $this->request->post->getJsonArray('data');

        $offset = "page.{$id}." . implode('.', $path);
        if ($value !== null) {
            $parent = $fields;
            $fields = ['fields' => $fields['fields']];
            $offset .= '.' . $value;
            $data = $data ?: $this->container['config']->get($offset);
            $data = ['data' => $data];
            $scope = 'data.';
        } else {
            $data = $data ?: $this->container['config']->get($offset);
            $scope = 'data';
        }

        $fields['is_current'] = true;

        array_pop($path);

        $outline = $this->params['outline'];
        $configuration = "configurations/{$outline}";
        $this->params = [
                'configuration' => $configuration,
                'blueprints' => $fields,
                'data' => $data,
                'prefix' => '',
                'scope' => $scope,
                'parent' => $path
                    ? "$configuration/settings/particles/{$id}/" . implode('/', $path)
                    : "$configuration/settings/particles/{$id}",
                'route' => "configurations.{$outline}.{$offset}",
            ] + $this->params;

        if (isset($parent['key'])) {
            $this->params['key'] = $parent['key'];
        }
        if (isset($parent['value'])) {
            $this->params['title'] = $parent['value'];
        }

        return $this->render('@gantry-admin/pages/configurations/settings/field.html.twig', $this->params);
    }

    public function validate($particle)
    {
        $path = implode('.', array_slice(func_get_args(), 1, -1));

        // Validate only exists for JSON.
        if (empty($this->params['ajax'])) {
            $this->undefined();
        }

        // Load particle blueprints.
        $validator = $this->container['particles']->get($particle);

        // Create configuration from the defaults.
        $data = new Config(
            [],
            function () use ($validator) {
                return $validator;
            }
        );

        $data->join($path, $this->request->post->getArray('data'));

        // TODO: validate

        return new JsonResponse(['data' => $data->get($path)]);
    }

    public function atom($name)
    {
        $outline = $this->params['outline'];
        $atoms = Atoms::instance($outline);

        $data = $this->request->post['data'];
        if ($data) {
            $data = json_decode($data, true);
        } else {
            $data = $this->request->post->getArray();
        }

        // Create atom and get its blueprint.
        $item = $atoms->createAtom($name, $data);
        $blueprint = $item->blueprint();

        // Load inheritance blueprint.
        $inheritance = $atoms->getInheritanceBlueprint($name, $item->id);
        $inheritable = $inheritance && $inheritance->get('form/fields/outline/filter', []);

        $this->params += [
            'inherit'       => !empty($inherit['outline']) ? $inherit['outline'] : null,
            'inheritance'   => $inheritance,
            'inheritable'   => $inheritable,
            'item'          => $item,
            'data'          => ['particles' => [$name => $item->attributes]],
            'blueprints'    => $blueprint,
            'parent'        => 'settings',
            'prefix'        => "particles.{$name}.",
            'route'         => "configurations.default.settings",
            'action'        => "configurations/{$outline}/page/atoms/{$name}/validate",
            'skip'          => ['enabled']
        ];

        return new JsonResponse(['html' => $this->render('@gantry-admin/modals/atom.html.twig', $this->params)]);
    }

    /**
     * Validate data for the atom.
     *
     * @param string $name
     * @return JsonResponse
     */
    public function atomValidate($name)
    {
        // Load particle blueprints and default settings.
        $validator = new BlueprintSchema;
        $validator->embed('options', $this->container['particles']->get($name));

        $blueprints = $this->container['particles']->getBlueprintForm($name);

        // Create configuration from the defaults.
        $data = new Config([],
            function () use ($validator) {
                return $validator;
            }
        );

        $data->set('id', $this->request->post['id']);
        $data->set('type', $name);
        $data->set('title', $this->request->post['title'] ?: $blueprints->get('name'));
        $data->set('attributes', $this->request->post->getArray("particles.{$name}"));
        $data->def('attributes.enabled', 1);

        $block = $this->request->post->getArray('block');
        foreach ($block as $key => $param) {
            if ($param === '') {
                unset($block[$key]);
            }
        }

        $inherit = $this->request->post->getArray('inherit');
        $clone = !empty($inherit['mode']) && $inherit['mode'] === 'clone';
        $inherit['include'] = !empty($inherit['include']) ? explode(',', $inherit['include']) : [];
        if (!$clone && !empty($inherit['outline']) && count($inherit['include'])) {
            unset($inherit['mode']);
            $data->join('inherit', $inherit);
        }

        // TODO: validate

        // Fill parameters to be passed to the template file.
        $this->params['item'] = (object) $data->toArray();

        return new JsonResponse(['item' => $data->toArray()]);
    }

    protected function saveItem($id, $data)
    {
        /** @var UniformResourceLocator $locator */
        $locator = $this->container['locator'];

        // Save layout into custom directory for the current theme.
        $outline = $this->params['outline'];

        // Move atoms out of layout.
        if ($id === 'head') {
            $layout = Layout::instance($outline);
            if (is_array($layout->atoms())) {
                $layout->save(false);
            }
            if (isset($data['atoms'])) {
                $atoms = new Atoms($data['atoms']);
                $data['atoms'] = $atoms->update()->toArray();
            }
        }

        $save_dir      = $locator->findResource("gantry-config://{$outline}/page", true, true);
        $filename      = "{$save_dir}/{$id}.yaml";

        $file = YamlFile::instance($filename);
        if (!is_array($data)) {
            if ($file->exists()) {
                $file->delete();
            }
        } else {
            $blueprints = $this->container['page']->getBlueprintForm($id);
            $config     = new Config($data, function () use ($blueprints) { return $blueprints; });

            $file->save($config->toArray());
        }
        $file->free();
    }

    protected function getDeprecatedAtoms()
    {
        $id     = $this->params['outline'];
        $layout = Layout::instance($id);

        return $layout->atoms();
    }

    protected function getAtoms($onlyEnabled = false)
    {
        $config = $this->container['config'];

        $atoms = $this->container['particles']->all();

        $list = [];
        foreach ($atoms as $name => $atom) {
            $type     = isset($atom['type']) ? $atom['type'] : 'atom';
            $atomName = isset($atom['name']) ? $atom['name'] : $name;

            if (!$onlyEnabled || $config->get("particles.{$name}.enabled", true)) {
                $list[$type][$name] = $atomName;
            }
        }

        return $list['atom'];
    }
}
classes/Gantry/Admin/Controller/Html/Configurations/Settings.php000060400000021031150750356250021030 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Html\Configurations;

use Gantry\Admin\Particles;
use Gantry\Component\Admin\HtmlController;
use Gantry\Component\Config\Config;
use Gantry\Component\Response\JsonResponse;
use Gantry\Framework\Services\ConfigServiceProvider;
use RocketTheme\Toolbox\Event\Event;
use RocketTheme\Toolbox\File\YamlFile;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class Settings extends HtmlController
{
    protected $httpVerbs = [
        'GET' => [
            '/'                 => 'index',
            '/particles'        => 'undefined',
            '/particles/*'      => 'display',
            '/particles/*/**'   => 'formfield',
        ],
        'POST' => [
            '/'                 => 'save',
            '/particles'        => 'forbidden',
            '/particles/*'      => 'save',
            '/particles/*/**'   => 'formfield'
        ],
        'PUT' => [
            '/'            => 'save',
            '/particles'   => 'forbidden',
            '/particles/*' => 'save'
        ],
        'PATCH' => [
            '/'            => 'save',
            '/particles'   => 'forbidden',
            '/particles/*' => 'save'
        ],
        'DELETE' => [
            '/'            => 'forbidden',
            '/particles'   => 'forbidden',
            '/particles/*' => 'reset'
        ]
    ];

    public function index()
    {
        $outline = $this->params['outline'];

        if ($outline === 'default') {
            $this->params['overrideable'] = false;
            $data = $this->container['config'];
        } else {
            $this->params['overrideable'] = true;
            $this->params['defaults'] = $this->container['defaults'];
            $data = ConfigServiceProvider::load($this->container, $outline, false, false);
        }

        /** @var Particles $particles */
        $particles = $this->container['particles'];
        $this->params += [
            'data' => $data,
            'particles' => $particles->group(['atom']),
            'route'  => "configurations.{$outline}.settings",
            'page_id' => $outline
        ];

        return $this->render('@gantry-admin/pages/configurations/settings/settings.html.twig', $this->params);
    }

    public function display($id)
    {
        $outline = $this->params['outline'];

        /** @var Particles $particles */
        $particles = $this->container['particles'];

        $blueprints = $particles->getBlueprintForm($id);
        $prefix = 'particles.' . $id;

        if($outline === 'default') {
            $this->params['overrideable'] = false;
            $data = $this->container['config'];
        } else {
            $this->params['overrideable'] = true;
            $this->params['defaults'] = $this->container['defaults']->get($prefix);
            $data = ConfigServiceProvider::load($this->container, $outline, false, false);
        }

        $this->params += [
            'scope' => 'particle.',
            'particle' => $blueprints,
            'data' =>  ['particle' => $data->get($prefix)],
            'id' => $id,
            'parent' => "configurations/{$outline}/settings",
            'route'  => "configurations.{$outline}.settings.{$prefix}",
            'skip' => ['enabled']
            ];

        return $this->render('@gantry-admin/pages/configurations/settings/item.html.twig', $this->params);
    }

    public function formfield($id)
    {
        $path = func_get_args();

        $end = end($path);
        if ($end === '') {
            array_pop($path);
        }
        if (end($path) === 'validate') {
            return call_user_func_array([$this, 'validate'], $path);
        }

        /** @var Particles $particles */
        $particles = $this->container['particles'];

        // Load blueprints.
        $blueprints = $particles->getBlueprintForm($id);

        list($fields, $path, $value) = $blueprints->resolve(array_slice($path, 1), '/');
        if (!$fields) {
            throw new \RuntimeException('Page Not Found', 404);
        }

        $data = $this->request->post->getJsonArray('data');

        /** @var Config $config */
        $config = $this->container['config'];

        $offset = "particles.{$id}." . implode('.', $path);
        if ($value !== null) {
            $parent = $fields;
            $fields = ['fields' => $fields['fields']];
            $offset .= '.' . $value;
            $data = $data ?: $config->get($offset);
            $data = ['data' => $data];
            $scope = 'data.';
        } else {
            $data = $data ?: $config->get($offset);
            $scope = 'data';
        }

        $fields['is_current'] = true;

        array_pop($path);

        $outline = $this->params['outline'];
        $configuration = "configurations/{$outline}";
        $this->params = [
                'configuration' => $configuration,
                'blueprints' => $fields,
                'data' => $data,
                'scope' => $scope,
                'parent' => $path
                    ? "{$configuration}/settings/particles/{$id}/" . implode('/', $path)
                    : "{$configuration}/settings/particles/{$id}",
                'route' => "configurations.{$outline}.settings.{$offset}",
            ] + $this->params;

        if (isset($parent['key'])) {
            $this->params['key'] = $parent['key'];
        }
        if (isset($parent['value'])) {
            $this->params['title'] = $parent['value'];
        }

        return $this->render('@gantry-admin/pages/configurations/settings/field.html.twig', $this->params);
    }

    public function validate($particle)
    {
        $path = implode('.', array_slice(func_get_args(), 1, -1));

        // Validate only exists for JSON.
        if (empty($this->params['ajax'])) {
            $this->undefined();
        }

        /** @var Particles $particles */
        $particles = $this->container['particles'];

        // Load particle blueprints.
        $validator = $particles->get($particle);

        // Create configuration from the defaults.
        $data = new Config(
            [],
            function () use ($validator) {
                return $validator;
            }
        );

        $data->join($path, $this->request->post->getArray('data'));

        // TODO: validate

        return new JsonResponse(['data' => $data->get($path)]);
    }

    public function save($id = null)
    {
        if (!$this->request->post->get('_end')) {
            throw new \OverflowException("Incomplete data received. Please increase the value of 'max_input_vars' variable (in php.ini or .htaccess)", 400);
        }

        $data = $id ? [$id => $this->request->post->getArray('particle')] : $this->request->post->getArray('particles');

        /** @var UniformResourceLocator $locator */
        $locator = $this->container['locator'];

        // Save layout into custom directory for the current theme.
        $outline = $this->params['outline'];
        $save_dir = $locator->findResource("gantry-config://{$outline}/particles", true, true);

        foreach ($data as $name => $values) {
            $this->saveItem($name, $values, $save_dir);
        }
        @rmdir($save_dir);

        // Fire save event.
        $event = new Event;
        $event->gantry = $this->container;
        $event->theme = $this->container['theme'];
        $event->controller = $this;
        $event->data = $data;
        $this->container->fireEvent('admin.settings.save', $event);

        return $id ? $this->display($id) : $this->index();
    }

    protected function saveItem($id, $data, $save_dir)
    {
        $filename = "{$save_dir}/{$id}.yaml";

        $file = YamlFile::instance($filename);
        if (!is_array($data)) {
            if ($file->exists()) {
                $file->delete();
            }
        } else {
            /** @var Particles $particles */
            $particles = $this->container['particles'];

            $blueprints = $particles->getBlueprintForm($id);
            $config = new Config($data, function() use ($blueprints) { return $blueprints; });

            $file->save($config->toArray());
        }
        $file->free();
    }

    public function reset($id)
    {
        $this->params += [
            'data' => [],
        ];

        return $this->display($id);
    }
}
classes/Gantry/Admin/Controller/Html/Configurations/Layout.php000060400000043155150750356250020520 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Html\Configurations;

use Gantry\Component\Admin\HtmlController;
use Gantry\Component\Config\BlueprintSchema;
use Gantry\Component\Config\BlueprintForm;
use Gantry\Component\Config\Config;
use Gantry\Component\File\CompiledYamlFile;
use Gantry\Component\Layout\Layout as LayoutObject;
use Gantry\Component\Response\JsonResponse;
use Gantry\Framework\Outlines;
use RocketTheme\Toolbox\Event\Event;

class Layout extends HtmlController
{
    protected $httpVerbs = [
        'GET'    => [
            '/'         => 'index',
            '/create'   => 'create',
            '/create/*' => 'create',
            '/*'        => 'undefined',
            '/switch'   => 'listSwitches',
            '/switch/*' => 'switchLayout',
            '/preset'   => 'undefined',
            '/preset/*' => 'preset'
        ],
        'POST'   => [
            '/'                     => 'save',
            '/*'                    => 'undefined',
            '/*/*'                  => 'particle',
            '/switch'               => 'undefined',
            '/switch/*'             => 'switchLayout',
            '/preset'               => 'undefined',
            '/preset/*'             => 'preset',
            '/particles'            => 'undefined',
            '/particles/*'          => 'undefined',
            '/particles/*/validate' => 'validate'
        ],
        'PUT'    => [
            '/*' => 'replace'
        ],
        'PATCH'  => [
            '/*' => 'update'
        ],
        'DELETE' => [
            '/*' => 'destroy'
        ]
    ];

    public function create($id = null)
    {
        if (!$id) {
            // TODO: we might want to display list of options here
            throw new \RuntimeException('Not Implemented', 404);
        }

        $layout = $this->getLayout("presets/{$id}");
        if (!$layout) {
            throw new \RuntimeException('Preset not found', 404);
        }
        $this->params['page_id'] = $id;
        $this->params['layout'] = $layout->prepareWidths()->toArray();

        return $this->render('@gantry-admin/pages/configurations/layouts/create.html.twig', $this->params);
    }

    public function index()
    {
        $outline = $this->params['outline'];
        $layout = $this->getLayout($outline);
        if (!$layout) {
            throw new \RuntimeException('Layout not found', 404);
        }

        $groups = [
            'Positions' => ['position' => [], 'spacer' => [], 'system' => []],
            'Particles' => ['particle' => []]
        ];

        $particles = [
            'position'    => [],
            'spacer'      => [],
            'system' => [],
            'particle' => []
        ];

        $particles = array_replace($particles, $this->getParticles());
        foreach ($particles as &$group) {
            asort($group);
        }
        unset($group);

        foreach ($groups as $section => $children) {
            foreach ($children as $key => $child) {
                $groups[$section][$key] = $particles[$key];
            }
        }

        $this->params['page_id'] = $outline;
        $this->params['layout'] = $layout->prepareWidths()->toArray();
        $this->params['preset'] = $layout->preset;
        $this->params['preset_title'] = ucwords(trim(str_replace('_', ' ', $layout->preset['name'])));
        $this->params['id'] = ucwords(str_replace('_', ' ', ltrim($outline, '_')));
        $this->params['particles'] = $groups;
        $this->params['switcher_url'] = str_replace('.', '/', "configurations.{$outline}.layout.switch");

        return $this->render('@gantry-admin/pages/configurations/layouts/edit.html.twig', $this->params);
    }

    public function save()
    {
        $layout = $this->request->post->get('layout');
        $layout = json_decode($layout);

        if (!isset($layout)) {
            throw new \RuntimeException('Error while saving layout: Structure missing', 400);
        }

        $outline = $this->params['outline'];
        $preset = $this->request->post->getJsonArray('preset');

        // Create layout from the data.
        $layout = new LayoutObject($outline, $layout, $preset);
        $layout->init(false, false);

        /** @var Outlines $outlines */
        $outlines = $this->container['outlines'];

        // Update layouts from all inheriting outlines.
        $elements = $layout->sections() + $layout->particles(false);
        foreach ($outlines->getInheritingOutlines($outline) as $inheritedId => $inheritedName) {
            LayoutObject::instance($inheritedId)->updateInheritance($outline, $outline, $elements)->save()->saveIndex();
        }

        // Save layout and its index.
        $layout->save()->saveIndex();

        // Fire save event.
        $event = new Event;
        $event->gantry = $this->container;
        $event->theme = $this->container['theme'];
        $event->controller = $this;
        $event->layout = $layout;
        $this->container->fireEvent('admin.layout.save', $event);
    }

    public function particle($type, $id)
    {
        if ($type === 'atom') { return ''; }

        $outline = $this->params['outline'];
        $layout = $this->getLayout($outline);
        if (!$layout) {
            throw new \RuntimeException('Layout not found', 404);
        }

        $item = $layout->find($id);
        $item->type    = $this->request->post['type'] ?: $type;
        $item->subtype = $this->request->post['subtype'] ?: $type;
        $item->title   = $this->request->post['title'] ?: ucfirst($type);
        $parent   = $this->request->post['parent'] ?: $layout->getParentId($id);
        if (!isset($item->attributes)) {
            $item->attributes = new \stdClass;
        }
        if (!isset($item->inherit)) {
            $item->inherit = new \stdClass;
        }

        $block = $this->request->post->getArray('block');
        if (!empty($block)) {
            $item->block = (object) $block;
        }

        $attributes = $this->request->post->getArray('options');
        $inherit = $this->request->post->getArray('inherit');

        $particle = !$layout->isLayoutType($type);
        if (!$particle) {
            $name = $type;
            $section = ($type === 'section');
            $hasBlock = $section && !empty($block);
            $prefix = "particles.{$type}";
            $defaults = [];
            $attributes += (array) $item->attributes;
            $blueprints = BlueprintForm::instance("layout/{$type}.yaml", 'gantry-admin://blueprints');

        } else {
            $name = $item->subtype;
            $hasBlock = true;
            $prefix = "particles.{$name}";
            $defaults = (array) $this->container['config']->get($prefix);

            $blueprints = $this->container['particles']->getBlueprintForm($name);
            $blueprints->set('form/fields/_inherit', ['type' => 'gantry.inherit']);
        }

        if ($hasBlock) {
            $blockBlueprints = BlueprintForm::instance('layout/block.yaml', 'gantry-admin://blueprints');
        } else {
            $blockBlueprints = null;
        }

        $file = "gantry-admin://blueprints/layout/inheritance/{$type}.yaml";
        if (file_exists($file)) {
            $inheritType = $particle ? 'particle' : 'section';

            /** @var Outlines $outlines */
            $outlines = $this->container['outlines'];

            if ($outline !== 'default') {
                if ($particle) {
                    $list = $outlines->getOutlinesWithParticle($item->subtype, false);
                } else {
                    $list = $outlines->getOutlinesWithSection($item->id, false);
                }
                unset($list[$outline]);
            } else {
                $list = [];
            }

            if (!empty($inherit['outline']) || (!($inheriting = $outlines->getInheritingOutlines($outline, [$id, $parent])) && $list)) {
                $inheritable = true;
                $inheritance = BlueprintForm::instance($file, 'gantry-admin://blueprints');

                $inheritance->set('form/fields/outline/filter', array_keys($list));
                if (!$hasBlock) {
                    $inheritance->undef('form/fields/include/options/block');
                }

                if ($particle) {
                    $inheritance->set('form/fields/particle/particle', $name);
                }

            } elseif (!empty($inheriting)) {
                // Already inherited by other outlines.
                $inheritance = BlueprintForm::instance('layout/inheritance/messages/inherited.yaml', 'gantry-admin://blueprints');
                $inheritance->set(
                    'form/fields/_note/content',
                    sprintf($inheritance->get('form/fields/_note/content'), $inheritType, ' <ul><li>' . implode('</li> <li>', $inheriting) . '</li></ul>')
                );

            } elseif ($outline === 'default') {
                // Base outline.
                $inheritance = BlueprintForm::instance('layout/inheritance/messages/default.yaml', 'gantry-admin://blueprints');

            } else {
                // Nothing to inherit from.
                $inheritance = BlueprintForm::instance('layout/inheritance/messages/empty.yaml', 'gantry-admin://blueprints');
            }
        }

        $item->attributes = (object) $attributes;
        $item->inherit = (object) $inherit;

        $this->params['id'] = $name;
        $this->params += [
            'extra'         => $blockBlueprints,
            'inherit'       => !empty($inherit['outline']) ? $inherit['outline'] : null,
            'inheritance'   => isset($inheritance) ? $inheritance : null,
            'inheritable'   => !empty($inheritable),
            'item'          => $item,
            'data'          => ['particles' => [$name => $item->attributes]],
            'defaults'      => ['particles' => [$name => $defaults]],
            'prefix'        => "particles.{$name}.",
            'particle'      => $blueprints,
            'parent'        => 'settings',
            'route'         => "configurations.{$outline}.settings",
            'action'        => str_replace('.', '/', 'configurations.' . $outline . '.layout.' . $prefix . '.validate'),
            'skip'          => ['enabled'],
            'editable'      => $particle,
            'overrideable'  => $particle,
        ];

        if ($particle) {
            $result = $this->render('@gantry-admin/pages/configurations/layouts/particle.html.twig', $this->params);
        } else {
            $typeLayout = $type === 'container' ? 'container' : 'section';
            $result = $this->render('@gantry-admin/pages/configurations/layouts/' . $typeLayout . '.html.twig', $this->params);
        }

        return $result;
    }

    public function listSwitches()
    {
        $this->params['presets'] = LayoutObject::presets();
        $result = $this->render('@gantry-admin/layouts/switcher.html.twig', $this->params);

        return new JsonResponse(['html' => $result]);
    }

    public function switchLayout($id)
    {
        // Validate only exists for JSON.
        if (empty($this->params['ajax'])) {
            $this->undefined();
        }

        $outline = $this->params['outline'];
        $layout = $this->getLayout($id);
        if (!$layout->toArray()) {
            // Layout hasn't been defined, return default layout instead.
            $layout = $this->getLayout('default');
        }

        $input = $this->request->post->getJson('layout');
        $deleted = isset($input) ? $layout->clearSections()->copySections($input): [];
        if ($outline === 'default') {
            $layout->inheritNothing();
        } elseif (!$input && $this->request->post['inherit'] === '1') {
            $layout->inheritAll();
        }

        $message = $deleted
            ? $this->render('@gantry-admin/ajax/particles-loss.html.twig', ['particles' => $deleted])
            : null;

        return new JsonResponse([
            'title' => ucwords(trim(str_replace('_', ' ', $layout->preset['name']))),
            'preset' => json_encode($layout->preset),
            'data' => $layout->prepareWidths()->toJson(),
            'deleted' => $deleted,
            'message' => $message
        ]);
    }

    public function preset($id)
    {
        // Validate only exists for JSON.
        if (empty($this->params['ajax'])) {
            $this->undefined();
        }

        $preset = LayoutObject::preset($id);
        if (!$preset) {
            throw new \RuntimeException('Preset not found', 404);
        }

        $layout = new LayoutObject($id, $preset);

        $input = $this->request->post->getJson('layout');
        $deleted = isset($input) ? $layout->clearSections()->copySections($input): [];
        $message = $deleted
            ? $this->render('@gantry-admin/ajax/particles-loss.html.twig', ['particles' => $deleted])
            : null;

        return new JsonResponse([
            'title' => ucwords(trim(str_replace('_', ' ', $id))),
            'preset' => json_encode($layout->preset),
            'data' => $layout->prepareWidths()->toJson(),
            'deleted' => $deleted,
            'message' => $message
        ]);
    }

    public function validate($particle)
    {
        // Validate only exists for JSON.
        if (empty($this->params['ajax'])) {
            $this->undefined();
        }

        // Load particle blueprints and default settings.
        $validator = new BlueprintSchema;

        $name = $particle;
        if (in_array($particle, ['wrapper', 'section', 'container', 'grid', 'offcanvas'], true)) {
            $type = $particle;
            $particle = null;
            $file = CompiledYamlFile::instance("gantry-admin://blueprints/layout/{$type}.yaml");
            $validator->embed('options', (array)$file->content());
            $file->free();
        } else {
            $type = in_array($particle, ['spacer', 'system', 'position'], true) ? $particle :  'particle';
            $validator->embed('options', $this->container['particles']->get($particle));
        }

        // Create configuration from the defaults.
        $data = new Config(
            [
                'type'    => $type,
            ],
            function () use ($validator) {
                return $validator;
            }
        );

        // Join POST data.
        $data->join('options', $this->request->post->getArray("particles." . $name));
        if ($particle) {
            $data->set('options.enabled', (int) $data->get('options.enabled', 1));
        }

        if ($particle) {
            if ($type !== $particle) {
                $data->set('subtype', $particle);
            }

            $data->join('title', $this->request->post['title'] ?: ucfirst($particle));
        }

        $block = $this->request->post->getArray('block');
        if ($block) {
            // TODO: remove empty items in some other way:
            foreach ($block as $key => $param) {
                if ($param === '') {
                    unset($block[$key]);
                    continue;
                }
                if ($key === 'size') {
                    $param = round($param, 4);
                    if ($param < 5) {
                        $param = 5;
                    } elseif ($param > 100) {
                        $param = 100;
                    }
                    $block[$key] = $param;
                }
            }

            $data->join('block', $block);
        }

        $inherit = $this->request->post->getArray('inherit');
        $clone = !empty($inherit['mode']) && $inherit['mode'] === 'clone';
        $inherit['include'] = !empty($inherit['include']) ? explode(',', $inherit['include']) : [];
        if (!$clone && !empty($inherit['outline']) && count($inherit['include'])) {
            // Clean up inherit and add it to the data.
            if (!$block) {
                $inherit['include'] = array_values(array_diff($inherit['include'], ['block']));
            }

            unset($inherit['mode']);
            $data->join('inherit', $inherit);
        }

        // Optionally send children of the object.
        if (in_array('children', $inherit['include'], true)) {
            $layout = LayoutObject::instance($inherit['outline'] ?: $this->params['outline']);
            if ($clone) {
                $item = $layout->find($inherit['section']);
            } else {
                $item = $layout->inheritAll()->find($inherit['section']);
            }
            $data->join('children', !empty($item->children) ? $item->children : []);
        }

        // TODO: validate

        return new JsonResponse(['data' => $data->toArray()]);
    }

    /**
     * @param string $name
     * @return LayoutObject
     */
    protected function getLayout($name)
    {
        return LayoutObject::instance($name);
    }

    protected function getParticles($onlyEnabled = false)
    {
        /** @var Config $config */
        $config = $this->container['config'];

        $particles = $this->container['particles']->all();

        $list = [];
        foreach ($particles as $name => $particle) {
            $type = isset($particle['type']) ? $particle['type'] : 'particle';
            $particleName = isset($particle['name']) ? $particle['name'] : $name;
            $particleIcon = isset($particle['icon']) ? $particle['icon'] : null;

            if (!$onlyEnabled || $config->get("particles.{$name}.enabled", true)) {
                $list[$type][$name] = ['name' => $particleName, 'icon' => $particleIcon];
            }
        }

        return $list;
    }
}
classes/Gantry/Admin/Controller/Html/Configurations/Styles.php000060400000020017150750356250020516 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Html\Configurations;

use Gantry\Component\Admin\HtmlController;
use Gantry\Component\Config\Config;
use Gantry\Component\Response\JsonResponse;
use Gantry\Framework\Services\ConfigServiceProvider;
use Gantry\Framework\Theme;
use RocketTheme\Toolbox\Event\Event;
use RocketTheme\Toolbox\File\YamlFile;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class Styles extends HtmlController
{

    protected $httpVerbs = [
        'GET' => [
            '/'              => 'index',
            '/blocks'        => 'undefined',
            '/blocks/*'      => 'display',
            '/blocks/*/**'   => 'formfield'
        ],
        'POST' => [
            '/'          => 'save',
            '/blocks'    => 'forbidden',
            '/blocks/*'  => 'save',
            '/compile'   => 'compile'
        ],
        'PUT' => [
            '/'         => 'save',
            '/blocks'   => 'forbidden',
            '/blocks/*' => 'save'
        ],
        'PATCH' => [
            '/'         => 'save',
            '/blocks'   => 'forbidden',
            '/blocks/*' => 'save'
        ],
        'DELETE' => [
            '/'         => 'forbidden',
            '/blocks'   => 'forbidden',
            '/blocks/*' => 'reset'
        ]
    ];

    public function index()
    {
        $outline = $this->params['outline'];

        if($outline == 'default') {
            $this->params['overrideable'] = false;
            $this->params['data'] = $this->container['config'];
        } else {
            $this->params['overrideable'] = true;
            $this->params['defaults'] = $this->container['defaults'];
            $this->params['data'] = ConfigServiceProvider::load($this->container, $outline, false, false);
        }

        $this->params['blocks'] = $this->container['styles']->group();
        $this->params['route']  = "configurations.{$outline}.styles";

        return $this->render('@gantry-admin/pages/configurations/styles/styles.html.twig', $this->params);
    }

    public function display($id)
    {
        $outline = $this->params['outline'];
        $blueprints = $this->container['styles']->getBlueprintForm($id);
        $prefix = 'styles.' . $id;

        if($outline == 'default') {
            $this->params['overrideable'] = false;
            $this->params['data'] = $this->container['config']->get($prefix);
        } else {
            $this->params['overrideable'] = true;
            $this->params['defaults'] = $this->container['defaults']->get($prefix);
            $this->params['data'] = ConfigServiceProvider::load($this->container, $outline, false, false)->get($prefix);
        }

        $this->params += [
            'block' => $blueprints,
            'id' => $id,
            'parent' => "configurations/{$outline}/styles",
            'route'  => "configurations.{$outline}.styles.{$prefix}",
            'skip' => ['enabled']
        ];

        return $this->render('@gantry-admin/pages/configurations/styles/item.html.twig', $this->params);
    }

    public function formfield($id)
    {
        $path = func_get_args();

        $outline = $this->params['outline'];

        // Load blueprints.
        $blueprints = $this->container['styles']->getBlueprintForm($id);

        list($fields, $path, $value) = $blueprints->resolve(array_slice($path, 1), '/');

        if (!$fields) {
            throw new \RuntimeException('Page Not Found', 404);
        }

        $fields['is_current'] = true;

        // Get the prefix.
        $prefix = "styles.{$id}." . implode('.', $path);
        if ($value !== null) {
            $parent = $fields;
            $fields = ['fields' => $fields['fields']];
            $prefix .= '.' . $value;
        }
        array_pop($path);

        if($outline == 'default') {
            $this->params['overrideable'] = false;
            $this->params['data'] = $this->container['config']->get($prefix);
        } else {
            $this->params['overrideable'] = true;
            $this->params['defaults'] = $this->container['defaults']->get($prefix);
            $this->params['data'] = ConfigServiceProvider::load($this->container, $outline, false, false)->get($prefix);
        }

        $this->params = [
                'blueprints' => $fields,
                'parent' => $path
                    ? "configurations/{$outline}/styles/blocks/{$id}/" . implode('/', $path)
                    : "configurations/{$outline}/styles/blocks/{$id}",
                'route' => 'styles.' . $prefix
            ] + $this->params;

        if (isset($parent['key'])) {
            $this->params['key'] = $parent['key'];
        }

        return $this->render('@gantry-admin/pages/configurations/styles/field.html.twig', $this->params);
    }

    public function reset($id)
    {
        $this->params += [
            'data' => [],
        ];

        return $this->display($id);
    }


    public function compile()
    {
        // Validate only exists for JSON.
        if (empty($this->params['ajax'])) {
            $this->undefined();
        }

        $warnings = $this->compileSettings();

        if ($warnings) {
            $this->params += ['warnings' => $warnings];
            return new JsonResponse(
                [
                    'html'    => $this->render('@gantry-admin/layouts/css-warnings.html.twig', $this->params),
                    'warning' => true,
                    'title'   => 'CSS Compiled With Warnings',
                ]
            );
        } else {
            return new JsonResponse(['html' => 'The CSS was successfully compiled', 'title' => 'CSS Compiled']);
        }
    }

    public function save($id = null)
    {
        /** @var Config $config */
        $config = $this->container['config'];

        if ($id) {
            $data = (array) $config->get('styles');
            $data[$id] = $this->request->post->getArray();
        } else {
            $data = $this->request->post->getArray('styles');
        }

        /** @var UniformResourceLocator $locator */
        $locator = $this->container['locator'];

        // Save layout into custom directory for the current theme.
        $outline = $this->params['outline'];
        $save_dir = $locator->findResource("gantry-config://{$outline}", true, true);
        $filename = "{$save_dir}/styles.yaml";

        $file = YamlFile::instance($filename);
        $file->save($data);
        $file->free();

        // Fire save event.
        $event = new Event;
        $event->gantry = $this->container;
        $event->theme = $this->container['theme'];
        $event->controller = $this;
        $event->data = $data;
        $this->container->fireEvent('admin.styles.save', $event);

        // Compile CSS.
        $warnings = $this->compileSettings();

        if (empty($this->params['ajax'])) {
            // FIXME: HTML request: Output compiler warnings!!
            return $id ? $this->display($id) : $this->index();
        }

        if ($warnings) {
            $this->params += ['warnings' => $warnings];
            return new JsonResponse(
                [
                    'html'    => $this->render('@gantry-admin/layouts/css-warnings.html.twig', $this->params),
                    'warning' => true,
                    'title'   => 'CSS Compiled With Warnings',
                ]
            );
        } else {
            return new JsonResponse(['html' => 'The CSS was successfully compiled', 'title' => 'CSS Compiled']);
        }
    }

    /**
     * @returns array
     */
    protected function compileSettings()
    {
        /** @var Theme $theme */
        $theme = $this->container['theme'];
        $outline = $this->params['outline'];

        return $theme->updateCss($outline !== 'default' ? [$outline => ucfirst($outline)] : null);
    }
}
classes/Gantry/Admin/Controller/Html/Themes.php000060400000001321150750356250015463 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Html;

use Gantry\Admin\ThemeList;
use Gantry\Component\Admin\HtmlController;

class Themes extends HtmlController
{
    public function index()
    {
        $this->params['themes'] = (new ThemeList)->getThemes();

        return $this->render('@gantry-admin/pages/themes/themes.html.twig', $this->params);
    }
}
classes/Gantry/Admin/Controller/Html/Import.php000060400000005175150750356250015523 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Html;

use Gantry\Component\Admin\HtmlController;
use Gantry\Component\Filesystem\Folder;
use Gantry\Framework\Importer;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;
use Symfony\Component\Yaml\Yaml;

class Import extends HtmlController
{
    protected $httpVerbs = [
        'GET' => [
            '/'                 => 'index',
        ],
        'POST' => [
            '/'                 => 'import',
        ]
    ];

    public function index()
    {
        return $this->render('@gantry-admin/pages/import/import.html.twig', $this->params);
    }

    public function import()
    {
        if (!isset($_FILES['file']['error']) || is_array($_FILES['file']['error'])) {
            throw new \RuntimeException('No file sent', 400);
        }

        // Check $_FILES['file']['error'] value.
        switch ($_FILES['file']['error']) {
            case UPLOAD_ERR_OK:
                break;
            case UPLOAD_ERR_NO_FILE:
                throw new \RuntimeException('No file sent', 400);
            case UPLOAD_ERR_INI_SIZE:
            case UPLOAD_ERR_FORM_SIZE:
                throw new \RuntimeException('Exceeded filesize limit.', 400);
            default:
                throw new \RuntimeException('Unkown errors', 400);
        }

        $filename = $_FILES['file']['tmp_name'];
        
        if (!is_uploaded_file($filename)) {
            throw new \RuntimeException('No file sent', 400);
        }

        $zip = new \ZipArchive;
        if ($zip->open($filename) !== true || !($export = Yaml::parse($zip->getFromName('export.yaml'))) || !isset($export['gantry'])) {
            throw new \RuntimeException('Uploaded file is not Gantry 5 export file', 400);
        }

        /** @var UniformResourceLocator $locator */
        $locator = $this->container['locator'];

        $folder = $locator->findResource('gantry-cache://import', true, true);
        if (is_dir($folder)) Folder::delete($folder);
        $zip->extractTo($folder);
        $zip->close();

        $importer = new Importer($folder);
        $importer->all();

        if (is_dir($folder)) Folder::delete($folder);

        $this->params['success'] = true;

        return $this->render('@gantry-admin/pages/import/import.html.twig', $this->params);
    }
}
classes/Gantry/Admin/Controller/Html/Positions.php000060400000025265150750356250016242 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Html;

use Gantry\Component\Admin\HtmlController;
use Gantry\Component\Config\BlueprintSchema;
use Gantry\Component\Config\BlueprintForm;
use Gantry\Component\Config\Config;
use Gantry\Component\Position\Module;
use Gantry\Component\Position\Position;
use Gantry\Component\Response\JsonResponse;
use Gantry\Framework\Assignments;
use Gantry\Framework\Positions as PositionsObject;

class Positions extends HtmlController
{
    protected $httpVerbs = [
        'GET' => [
            '/'                   => 'index',
            '/*'                  => 'undefined',
            '/*/add'              => 'selectParticle',
        ],
        'POST' => [
            '/'                   => 'save',
            '/create'             => 'create',
            '/*'                  => 'undefined',
            '/*/rename'           => 'rename',
            '/*/duplicate'        => 'duplicate',
            '/*/delete'           => 'delete',
            '/*/edit'             => 'undefined',
            '/*/edit/particle'    => 'particle',
            '/*/edit/particle/*'  => 'validateParticle',
            '/edit'               => 'undefined',
            '/edit/particle'      => 'particle',
        ]
    ];

    public function index()
    {
        $this->params['positions'] = $this->container['positions'];

        return $this->render('@gantry-admin/pages/positions/positions.html.twig', $this->params);
    }

    public function create()
    {
        // Create only exists for JSON.
        if (empty($this->params['ajax'])) {
            $this->undefined();
        }

        /** @var PositionsObject $position */
        $positions = $this->container['positions'];

        $title = (string) $this->request->post->get('title', 'Untitled');
        $key = (string) $this->request->post['key'];

        $id = $positions->create($title, $key);

        $html = $this->render('@gantry-admin/layouts/position.html.twig', ['position' => ['name' => $id, 'title' => $title]]);

        return new JsonResponse(['html' => sprintf("Position '%s' created.", $id), 'id' => "position-{$id}", 'key' => $id, 'position' => $html]);
    }

    public function rename($old)
    {
        // Rename only exists for JSON.
        if (empty($this->params['ajax'])) {
            $this->undefined();
        }

        $title = (string) $this->request->post['title'];
        $key = (string) $this->request->post['key'];
        $data = (string) $this->request->post['data'];

        /** @var PositionsObject $positions */
        $positions = $this->container['positions'];
        $position = $positions[$old];
        $exists = isset($position);

        if (!$exists) {
            if (!$data) {
                throw new \RuntimeException(sprintf("Position '%s' not found", $old), 404);
            }

            $position = new Position($key ?: $old);
        }

        if (strlen($title)) {
            $position->title = (string) $title;
        }
        if ($exists && strlen($key)) {
            $position = $position->rename($key);
        } else {
            $position->save();
        }

        if ($data) {
            $data = ['title' => $position->title] + json_decode($data, true);

            $position = new Position($position->name, $data);
        }

        $html = $this->render('@gantry-admin/layouts/position.html.twig', ['position' => $position]);

        return new JsonResponse(['html' => sprintf("Position saved"), 'id' => "position-{$position->name}", 'key' => $position->name, 'position' => $html]);
    }

    public function duplicate($position)
    {
        // Duplicate only exists for JSON.
        if (empty($this->params['ajax'])) {
            $this->undefined();
        }

        /** @var PositionsObject $positions */
        $positions = $this->container['positions'];

        $id = $positions->duplicate($position);

        return new JsonResponse(['html' => sprintf("Position duplicated as '%s'.", $id)]);
    }

    public function delete($position)
    {
        // Delete only exists for JSON.
        if (empty($this->params['ajax'])) {
            $this->undefined();
        }

        /** @var PositionsObject $positions */
        $positions = $this->container['positions'];

        $positions->delete($position);

        return new JsonResponse(['html' => sprintf("Position '%s' deleted.", $position), 'position' => $position]);
    }

    public function save()
    {
        // Save only exists for JSON.
        if (empty($this->params['ajax'])) {
            $this->undefined();
        }

        $data = $this->request->post->getJsonArray('positions');

        /** @var PositionsObject $position */
        $positions = $this->container['positions'];
        $positions->import($data);

        return new JsonResponse(['html' => sprintf("Positions saved.")]);
    }

    public function particle($position = null)
    {
        if (!$position) {
            $position = $this->request->post['position'];
        }
        $data = $this->request->post['item'];
        if ($data) {
            $data = json_decode($data, true);
        } else {
            $data = $this->request->post->getArray();
        }
        $name = isset($data['options']['type']) ? $data['options']['type'] : (isset($data['particle']) ? $data['particle'] : null);

        $blueprints = $this->container['particles']->getBlueprintForm($name);

        $chromeBlueprints = BlueprintForm::instance('position/chrome.yaml', 'gantry-admin://blueprints');

        $data['title'] = isset($data['title']) ? $data['title'] : $blueprints['name'];
        $data['chrome'] = isset($data['chrome']) ? $data['chrome'] : [];
        $data['options'] = isset($data['options']) ? $data['options'] : [];
        $data['options']['type'] = $name;
        $attributes = isset($data['options']['attributes']) ? $data['options']['attributes'] : [];
        $assignments = new Assignments();

        $this->params += [
            'item'          => $data,
            'data'          => [
                'particles' => [$name => $attributes],
                'chrome'    => $data['chrome'],
                'assignments' => isset($data['assignments']) ? $data['assignments'] : 'all'
            ],
            'particle'      => $blueprints,
            'chrome'        => $chromeBlueprints,
            'assignments'   => $assignments->get(),
            'parent'        => 'settings',
            'prefix'        => "particles.{$name}.",
            'route'         => "configurations.default.settings",
            'action'        => "positions/{$position}/edit/particle/{$name}"
        ];

        return $this->render('@gantry-admin/pages/positions/particle.html.twig', $this->params);
    }


    public function validateParticle($position, $name)
    {
        // Validate only exists for JSON.
        if (empty($this->params['ajax'])) {
            $this->undefined();
        }

        if (!$this->request->post->get('_end')) {
            throw new \OverflowException("Incomplete data received. Please increase the value of 'max_input_vars' variable (in php.ini or .htaccess)", 400);
        }

        // Load particle blueprints and default settings.
        $validator = new BlueprintSchema;
        $validator->embed('options', $this->container['particles']->get($name));

        $blueprints = $this->container['particles']->getBlueprintForm($name);

        // Create configuration from the defaults.
        $data = new Config([],
            function () use ($validator) {
                return $validator;
            }
        );

        $data->set('position', $position);
        $data->set('id', $id = $this->request->post['id']);
        $data->set('type', 'particle');
        $data->set('title', $this->request->post['title'] ?: $blueprints->post['name']);
        $data->set('chrome', $this->request->post->getArray('chrome'));
        $data->set('options.type', $name);
        $data->set('options.attributes', $this->request->post->getArray("particles.{$name}"));
        $data->def('options.attributes.enabled', 1);

        $assignments = (new Assignments())->filter($this->request->post->getArray('assignments'), true);

        if (!$assignments) {
            // Use special syntax for no assignments.
            $assignments = 'none';
        } elseif ($assignments === ['page' => [true]]) {
            // Use special syntax for assigned to all pages. This is a special case and hardcoded for now.
            $assignments = 'all';
        }

        $data->set('assignments', $assignments);

        // TODO: validate

        // Fill parameters to be passed to the template file.
        $this->params['position'] = $position;
        $this->params['item'] = (object) $data->toArray();
        $this->params['module'] = new Module($id, $position, $data->toArray());

        $html = $this->render('@gantry-admin/pages/positions/item.html.twig', $this->params);

        return new JsonResponse(['item' => $data->toArray(), 'html' => $html, 'position' => $position]);
    }

    public function selectParticle($position)
    {
        $groups = [
            'Particles' => ['particle' => []],
        ];

        $particles = [
            'position'    => [],
            'spacer'      => [],
            'system'      => [],
            'particle'    => [],
        ];

        $particles = array_replace($particles, $this->getParticles());
        unset($particles['atom'], $particles['position']);

        foreach ($particles as &$group) {
            asort($group);
        }

        foreach ($groups as $section => $children) {
            foreach ($children as $key => $child) {
                $groups[$section][$key] = $particles[$key];
            }
        }

        $this->params += [
            'particles' => $groups,
            'route' => "positions/{$position}/edit/particle",
        ];

        return $this->render('@gantry-admin/modals/particle-picker.html.twig', $this->params);
    }

    protected function getParticles()
    {
        $particles = $this->container['particles']->all();

        $list = [];
        foreach ($particles as $name => $particle) {
            $type = isset($particle['type']) ? $particle['type'] : 'particle';
            $particleName = isset($particle['name']) ? $particle['name'] : $name;
            $particleIcon = isset($particle['icon']) ? $particle['icon'] : null;
            $list[$type][$name] = ['name' => $particleName, 'icon' => $particleIcon];
        }

        return $list;
    }
}
classes/Gantry/Admin/Controller/Html/Configurations.php000060400000017126150750356250017242 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Html;

use Gantry\Component\Admin\HtmlController;
use Gantry\Component\Response\HtmlResponse;
use Gantry\Component\Response\JsonResponse;
use Gantry\Component\Response\RedirectResponse;
use Gantry\Component\Response\Response;
use Gantry\Component\Layout\Layout as LayoutObject;
use Gantry\Framework\Outlines as OutlinesObject;

class Configurations extends HtmlController
{
    protected $httpVerbs = [
        'GET' => [
            '/'                 => 'index',
            '/*'                => 'forward',
            '/*/delete'         => 'confirmDeletion',
            '/*/**'             => 'forward',
        ],
        'POST' => [
            '/'                 => 'undefined',
            '/*'                => 'undefined',
            '/create'           => 'createForm',
            '/create/new'       => 'create',
            '/*/rename'         => 'rename',
            '/*/duplicate'      => 'duplicateForm',
            '/*/duplicate/new'  => 'duplicate',
            '/*/delete'         => 'undefined',
            '/*/delete/confirm' => 'delete',
            '/*/**'             => 'forward',
        ],
        'PUT'    => [
            '/'   => 'undefined',
            '/**' => 'forward'
        ],
        'PATCH'  => [
            '/'   => 'undefined',
            '/**' => 'forward'
        ]
    ];

    public function index()
    {
        return $this->render('@gantry-admin/pages/configurations/configurations.html.twig', $this->params);
    }

    public function createForm()
    {
        if (!$this->authorize('outline.create')) {
            $this->forbidden();
        }

        $params = [
            'presets' => LayoutObject::presets(),
            'outlines' => $this->container['outlines']
        ];

        $response = ['html' => $this->render('@gantry-admin/ajax/outline-new.html.twig', $params)];

        return new JsonResponse($response);
    }

    public function create()
    {
        // Check if we want to duplicate outline instead.
        if ($this->request->post['from'] === 'outline') {
            return $this->duplicate($this->request->post['outline']);
        }

        if (!$this->authorize('outline.create')) {
            $this->forbidden();
        }

        /** @var OutlinesObject $outlines */
        $outlines = $this->container['outlines'];
        $title = $this->request->post['title'];
        $preset = $this->request->post['preset'];

        $id = $outlines->create(null, $title, $preset);

        $html = $this->render('@gantry-admin/layouts/outline.html.twig', ['name' => $id, 'title' => $outlines[$id]]);

        return new JsonResponse(['html' => 'Outline created.', 'id' => "outline-{$id}", 'outline' => $html]);
    }

    public function rename($outline)
    {
        if (!$this->authorize('outline.rename')) {
            $this->forbidden();
        }

        /** @var OutlinesObject $outlines */
        $outlines = $this->container['outlines'];
        $title = $this->request->post['title'];

        $id = $outlines->rename($outline, $title);

        $html = $this->render('@gantry-admin/layouts/outline.html.twig', ['name' => $id, 'title' => $outlines[$id]]);

        return new JsonResponse(['html' => 'Outline renamed.', 'id' => "outline-{$outline}", 'outline' => $html]);
    }

    public function duplicateForm($outline)
    {
        if (!$this->authorize('outline.create')) {
            $this->forbidden();
        }

        $params = [
            'outlines' => $this->container['outlines'],
            'outline' => $outline,
            'duplicate' => true
        ];

        $response = ['html' => $this->render('@gantry-admin/ajax/outline-new.html.twig', $params)];

        return new JsonResponse($response);
    }

    public function duplicate($outline)
    {
        if (!$this->authorize('outline.create')) {
            $this->forbidden();
        }

        /** @var OutlinesObject $outlines */
        $outlines = $this->container['outlines'];
        $title = $this->request->post['title'];
        $inherit = in_array($this->request->post['inherit'], ['1', 'true']);

        $id = $outlines->duplicate($outline, $title, $inherit);

        $html = $this->render('@gantry-admin/layouts/outline.html.twig', ['name' => $id, 'title' => $outlines[$id]]);

        return new JsonResponse(['html' => 'Outline duplicated.', 'id' => $id, 'outline' => $html]);
    }

    public function delete($outline)
    {
        if (!$this->authorize('outline.delete')) {
            $this->forbidden();
        }

        /** @var OutlinesObject $outlines */
        $outlines = $this->container['outlines'];
        $list = $outlines->user();

        if (!isset($list[$outline])) {
            $this->forbidden();
        }

        $outlines->delete($outline);

        return new JsonResponse(['html' => 'Outline deleted.', 'outline' => $outline]);
    }

    /**
     * @return JsonResponse
     */
    public function confirmDeletion($id)
    {
        /** @var OutlinesObject $outlines */
        $outlines = $this->container['outlines'];

        $params = [
            'id' => $id,
            'page_type' => 'OUTLINE',
            'outline' => $outlines->title($id),
            'inherited' => $outlines->getInheritingOutlines($id)
        ];

        $html = $this->render('@gantry-admin/pages/configurations/confirm-deletion.html.twig', $params);

        return new JsonResponse(['html' => $html]);
    }

    /**
     * @return HtmlResponse|RedirectResponse|JsonResponse
     */
    public function forward()
    {
        $path = func_get_args();

        $outline = array_shift($path);
        $page = array_shift($path);

        $method = $this->params['method'];

        if ((!isset($outline) || !isset($page)) && $this->params['format'] !== 'json') {
            // Redirect path to the styles page of the selected outline.
            return new RedirectResponse($this->container->route('configurations', is_string($outline) ? $outline : 'default', 'styles'));
        }

        $outlines = $this->container['outlines'];

        if (!isset($outlines[$outline])) {
            throw new \RuntimeException('Outline not found.', 404);
        }

        $this->container['outline'] = $outline;
        $this->container['configuration'] = $outline;

        $resource = $this->params['location'] . '/'. $page;

        $this->params['outline'] = $outline;
        $this->params['configuration'] = $outline;
        $this->params['location'] = $resource;
        $this->params['configuration_page'] = $page;
        $this->params['navbar'] = !empty($this->request->get['navbar']);

        return $this->executeForward($resource, $method, $path, $this->params);
    }

    protected function executeForward($resource, $method = 'GET', $path, $params = [])
    {
        $class = '\\Gantry\\Admin\\Controller\\Html\\' . strtr(ucwords(strtr($resource, '/', ' ')), ' ', '\\');
        if (!class_exists($class)) {
            throw new \RuntimeException('Page not found', 404);
        }

        /** @var HtmlController $controller */
        $controller = new $class($this->container);

        // Execute action.
        $response = $controller->execute($method, $path, $params);

        if (!$response instanceof Response) {
            $response = new HtmlResponse($response);
        }

        return $response;
    }
}
classes/Gantry/Admin/Controller/Html/Cache.php000060400000002131150750356250015241 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Html;

use Gantry\Component\Admin\HtmlController;
use Gantry\Component\Response\JsonResponse;
use Gantry\Component\Filesystem\Folder;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class Cache extends HtmlController
{
    public function index()
    {
        /** @var UniformResourceLocator $locator */
        $locator = $this->container['locator'];

        Folder::delete($locator('gantry-cache://theme'), false);
        Folder::delete($locator('gantry-cache://admin'), false);

        // Make sure that PHP has the latest data of the files.
        clearstatcache();

        return new JsonResponse(['html' => 'Cache was successfully cleared', 'title' => 'Cache Cleared']);
    }
}
classes/Gantry/Admin/Controller/Html/Install.php000060400000002167150750356250015655 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Html;

use Gantry\Component\Admin\HtmlController;
use Gantry\Framework\ThemeInstaller;

class Install extends HtmlController
{
    public function index()
    {
        if (!$this->authorize('updates.manage') || !class_exists('\Gantry\Framework\ThemeInstaller')) {
            $this->forbidden();
        }

        $installer = new ThemeInstaller();
        $installer->initialized = true;
        $installer->loadExtension($this->container['theme.name']);
        $installer->installDefaults();
        $installer->installSampleData();
        $installer->finalize();

        $this->params['actions'] = $installer->actions;
        
        return $this->render('@gantry-admin/pages/install/install.html.twig', $this->params);
    }
}
classes/Gantry/Admin/Controller/Html/Export.php000060400000007505150750356250015531 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Html;

use Gantry\Component\Admin\HtmlController;
use Gantry\Framework\Exporter;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;
use Symfony\Component\Yaml\Yaml;

class Export extends HtmlController
{
    public function index()
    {
        if (!class_exists('Gantry\Framework\Exporter')) {
            $this->forbidden();
        }

        if (!class_exists('ZipArchive')) {
            throw new \RuntimeException('Please enable PHP ZIP extension to use this feature.');
        }

        $exporter = new Exporter;
        $exported = $exporter->all();

        $zipname = $exported['export']['theme']['name'] . '-export.zip';
        $tmpname = tempnam(sys_get_temp_dir(), 'zip');

        $zip = new \ZipArchive();
        $zip->open($tmpname, \ZipArchive::CREATE);

        $zip->addFromString("export.yaml", Yaml::dump($exported['export'], 10, 2));
        unset($exported['export']);

        foreach ($exported['positions'] as $key => $position) {
            foreach ($position['items'] as $module => $data) {
                $zip->addFromString("positions/{$key}/{$module}.yaml", Yaml::dump($data, 10, 2));
            }

            $position['ordering'] = array_keys($position['items']);
            unset($position['items']);

            $zip->addFromString("positions/{$key}.yaml", Yaml::dump($position, 10, 2));
        }

        foreach ($exported['outlines'] as $outline => &$data) {
            if (!empty($data['config'])) {
                foreach ($data['config'] as $name => $config) {
                    if (in_array($name, ['particles', 'page'])) {
                        foreach ($config as $sub => $subconfig) {
                            $zip->addFromString("outlines/{$outline}/{$name}/{$sub}.yaml", Yaml::dump($subconfig, 10, 2));
                        }
                    } else {
                        $zip->addFromString("outlines/{$outline}/{$name}.yaml", Yaml::dump($config, 10, 2));
                    }
                }
            }
            unset($data['config']);
        }
        $zip->addFromString("outlines/outlines.yaml", Yaml::dump($exported['outlines'], 10, 2));

        foreach ($exported['menus'] as $menu => $data) {
            $zip->addFromString("menus/{$menu}.yaml", Yaml::dump($data, 10, 2));
        }

        foreach ($exported['content'] as $id => $data) {
            $zip->addFromString("content/{$id}.yaml", Yaml::dump($data, 10, 2));
        }

        if (!empty($exported['categories'])) {
            $zip->addFromString("content/categories.yaml", Yaml::dump($exported['categories'], 10, 2));
        }

        /** @var UniformResourceLocator $locator */
        $locator = $this->container['locator'];

        foreach ($exported['files'] as $stream => $files) {
            foreach ($files as $path => $uri) {
                $filename = $locator->findResource($uri);
                
                if (file_exists($filename)) {
                    $zip->addFile($filename, "files/{$stream}/{$path}");
                }
            }
            
        }

        $zip->close();

        header('Content-Type: application/zip');
        header('Content-Disposition: attachment; filename=' . $zipname);
        header('Expires: 0');
        header('Cache-Control: must-revalidate');
        header('Pragma: public');
        header('Content-Length: ' . filesize($tmpname));

        @ob_end_clean();
        flush();

        readfile($tmpname);
        unlink($tmpname);

        exit;
    }
}
classes/Gantry/Admin/Controller/Json/Atoms.php000060400000013066150750356250015337 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Json;

use Gantry\Component\Admin\JsonController;
use Gantry\Component\Response\JsonResponse;

/**
 * Class Atoms
 * @package Gantry\Admin\Controller\Json
 */
class Atoms extends JsonController
{
    protected $httpVerbs = [
        'GET' => [
            '/' => 'index',
            '/*' => 'index',
            '/instance' => 'atom'
        ],
        'POST' => [
            '/' => 'index',
            '/*' => 'index',
            '/instance' => 'atom'
        ]
    ];
    
    public function index()
    {
        $path = implode('/', func_get_args());

        $post = $this->request->request;

        $outline = $post['outline'];
        $type = $post['subtype'];
        $inherit = $post['inherit'];
        $id = $post['id'];

        if (!$outline) {
            throw new \RuntimeException('Outline not given', 400);
        }

        $this->container['outline'] = $outline;
        $this->container['configuration'] = $outline;

        $atoms = new \Gantry\Framework\Atoms((array) $this->container['config']->get('page.head.atoms'));
        if ($inherit) {
            $atoms->inheritAll($outline);
        }

        $item = (object) $atoms->id($id);

        if ($path === 'list') {
            $list = $atoms->type($type);
            if (empty($item->id)) {
                $item = (object)reset($list);
            }
        }
        $selected = !empty($item->id) ? $item->id : null;

        $type = isset($item->type) ? $item->type : $type;
        $item->attributes = isset($item->attributes) ? (array) $item->attributes : [];

        $blueprints = $this->container['particles']->getBlueprintForm($type);
        $blueprints->set('form/fields/_inherit', ['type' => 'gantry.inherit']);

        $params = [
            'gantry'        => $this->container,
            'parent'        => 'settings',
            'route'         => "configurations.{$outline}.settings",
            'inherit'       => $inherit ? $outline : null,
            'title'         => isset($item->title) ? $item->title : '',
            'blueprints'    => $blueprints->get('form'),
            'item'          => $item,
            'data'          => ['particles' => [$type => $item->attributes]],
            'prefix'        => "particles.{$type}.",
            'editable'      => true,
            'overrideable'  => false,
            'skip'          => ['enabled']
        ];

        $html['g-settings-atom'] = $this->render('@gantry-admin/pages/configurations/layouts/particle-card.html.twig',  $params);
        if (isset($list)) {
            $html['g-inherit-atom'] = $this->renderAtomsInput($inherit ? $outline : null, $type, $selected, $list);
        }

        return new JsonResponse(['json' => $item, 'html' => $html]);
    }

    public function atom()
    {
        $post = $this->request->request;

        $outline = $post['outline'];
        $id = $post['id'];

        if (!$outline) {
            throw new \RuntimeException('Outline not given', 400);
        }

        $this->container['outline'] = $outline;
        $this->container['configuration'] = $outline;

        $atoms = new \Gantry\Framework\Atoms((array) $this->container['config']->get('page.head.atoms'));
        $item = (object) $atoms->id($id);
        if (empty($item->id)) {
            throw new \RuntimeException('Atom was not found from the outline', 404);
        }

        $name = $item->type;

        $prefix = "particles.{$name}";

        $blueprints = $this->container['particles']->getBlueprintForm($name);
        $blueprints->set('form/fields/_inherit', ['type' => 'gantry.inherit']);

        $item->attributes = isset($item->attributes) ? (array) $item->attributes : [];

        $this->params['id'] = $name;
        $this->params += [
            'item'          => $item,
            'data'          => ['particles' => [$name => $item->attributes]],
            'prefix'        => "particles.{$name}.",
            'particle'      => $blueprints,
            'parent'        => 'settings',
            'route'         => "configurations.{$outline}.settings",
            'action'        => str_replace('.', '/', 'configurations.' . $outline . '.layout.' . $prefix . '.validate'),
            'skip'          => ['enabled'],
            'editable'      => false,
            'overrideable'  => false,
        ];

        $html = $this->render('@gantry-admin/modals/atom-preview.html.twig', $this->params);

        return new JsonResponse(['html' => $html]);
    }

    /**
     * Render input field for particle picker.
     *
     * @param string $outline
     * @param string $type
     * @param string $selected
     * @param array $instances
     * @return string
     */
    protected function renderAtomsInput($outline, $type, $selected, array $instances)
    {
        $params = [
            'layout' => 'input',
            'scope' => 'inherit.',
            'field' => [
                'name' => 'atom',
                'type' => 'gantry.atoms',
                'id' => 'g-inherit-atom',
                'outline' => $outline,
                'atoms' => $instances,
                'atom' => $type
            ],
            'value' => $selected
        ];

        return $this->render('@gantry-admin/forms/fields/gantry/atoms.html.twig', $params);
    }
}
classes/Gantry/Admin/Controller/Json/Unsaved.php000060400000001445150750356250015657 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Json;

use Gantry\Component\Admin\JsonController;
use Gantry\Component\Response\JsonResponse;

class Unsaved extends JsonController
{
    protected $httpVerbs = [
        'GET' => [
            '/' => 'index'
        ]
    ];

    public function index()
    {
        $response = ['html' => $this->render('@gantry-admin/ajax/unsaved.html.twig')];
        return new JsonResponse($response);
    }
}
classes/Gantry/Admin/Controller/Json/Layouts.php000060400000020114150750356250015704 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Json;

use Gantry\Component\Admin\JsonController;
use Gantry\Component\Config\BlueprintForm;
use Gantry\Component\Layout\Layout;
use Gantry\Component\Response\JsonResponse;

/**
 * Class Layouts
 * @package Gantry\Admin\Controller\Json
 */
class Layouts extends JsonController
{
    protected $httpVerbs = [
        'GET' => [
            '/' => 'index',
            '/*' => 'index',
            '/particle' => 'particle'
        ],
        'POST' => [
            '/' => 'index',
            '/*' => 'index',
            '/particle' => 'particle'
        ]
    ];
    
    public function index()
    {
        $path = implode('/', func_get_args());

        $post = $this->request->request;

        $outline = $post['outline'];
        $type = $post['type'];
        $subtype = $post['subtype'];
        $inherit = $post['inherit'];
        $clone = $post['mode'] === 'clone';
        $id = $post['id'];

        $this->container['outline'] = $outline;
        $this->container['configuration'] = $outline;

        $layout = Layout::instance($outline);
        if ($inherit) {
            $layout->inheritAll();
        }

        if ($path == 'list' && !$layout->isLayoutType($type)) {
            $instance = $this->getParticleInstances($outline, $subtype, null);
            $id = $instance['selected'];
        }

        $item = $layout->find($id);
        $type = isset($item->type) ? $item->type : $type;
        $subtype = isset($item->subtype) ? $item->subtype : $subtype;
        $item->attributes = isset($item->attributes) ? (array) $item->attributes : [];
        $block = $layout->block($id);
        $block = isset($block->attributes) ? (array) $block->attributes : [];

        $params = [
            'gantry'        => $this->container,
            'parent'        => 'settings',
            'route'         => "configurations.{$outline}.settings",
            'inherit'       => $inherit ? $outline : null,
        ];

        if ($layout->isLayoutType($type)) {
            $name = $type;
            $particle = false;
            $defaults = [];
            $blueprints = BlueprintForm::instance("layout/{$name}.yaml", 'gantry-admin://blueprints');
        } else {
            $name = $subtype;
            $particle = true;
            $defaults = $this->container['config']->get("particles.{$name}");
            $item->attributes = $item->attributes + $defaults;
            $blueprints = $this->container['particles']->getBlueprintForm($name);
            $blueprints->set('form/fields/_inherit', ['type' => 'gantry.inherit']);
        }

        $paramsParticle = [
            'title'         => isset($item->title) ? $item->title : '',
            'blueprints'    => $blueprints->get('form'),
            'item'          => $item,
            'data'          => ['particles' => [$name => $item->attributes]],
            'defaults'      => ['particles' => [$name => $defaults]],
            'prefix'        => "particles.{$name}.",
            'editable'      => $particle,
            'overrideable'  => $particle,
            'skip'          => ['enabled']
        ] + $params;

        $html['g-settings-particle'] = $this->render('@gantry-admin/pages/configurations/layouts/particle-card.html.twig',  $paramsParticle);
        $html['g-settings-block-attributes'] = $this->renderBlockFields($block, $params);
        if ($path == 'list') {
            $html['g-inherit-particle'] = $this->renderParticlesInput($inherit || $clone ? $outline : null, $subtype, $post['selected']);
        }

        return new JsonResponse(['json' => $item, 'html' => $html]);
    }

    public function particle()
    {
        $post = $this->request->request;

        $outline = $post['outline'];
        $id = $post['id'];

        $this->container['outline'] = $outline;
        $this->container['configuration'] = $outline;

        $layout = Layout::instance($outline);

        $particle = clone $layout->find($id);
        if (!isset($particle->type)) {
            throw new \RuntimeException('Particle was not found from the outline', 404);
        }

        $particle->block = $layout->block($id);

        $name = $particle->subtype;
        $prefix = "particles.{$name}";
        $defaults = (array) $this->container['config']->get($prefix);
        $attributes = (array) $particle->attributes + $defaults;

        $particleBlueprints = $this->container['particles']->getBlueprintForm($name);
        $particleBlueprints->set('form/fields/_inherit', ['type' => 'gantry.inherit']);

        $blockBlueprints = BlueprintForm::instance('layout/block.yaml', 'gantry-admin://blueprints');

        // TODO: Use blueprints to merge configuration.
        $particle->attributes = (object) $attributes;

        $this->params['id'] = $name;
        $this->params += [
            'extra'         => $blockBlueprints,
            'item'          => $particle,
            'data'          => ['particles' => [$name => $attributes]],
            'defaults'      => ['particles' => [$name => $defaults]],
            'prefix'        => "particles.{$name}.",
            'particle'      => $particleBlueprints,
            'parent'        => 'settings',
            'route'         => "configurations.{$outline}.settings",
            'action'        => str_replace('.', '/', 'configurations.' . $outline . '.layout.' . $prefix . '.validate'),
            'skip'          => ['enabled'],
            'editable'      => false,
            'overrideable'  => true,
        ];

        $html = $this->render('@gantry-admin/pages/configurations/layouts/particle-preview.html.twig', $this->params);

        return new JsonResponse(['html' => $html]);
    }

    /**
     * Render block settings.
     *
     * @param array $block
     * @param array $params
     * @return string
     */
     protected function renderBlockFields(array $block, array $params)
     {
         $blockBlueprints = BlueprintForm::instance('layout/block.yaml', 'gantry-admin://blueprints');

         $paramsBlock = [
                 'title' => $this->container['translator']->translate('GANTRY5_PLATFORM_BLOCK'),
                 'blueprints' => ['fields' => $blockBlueprints->get('form/fields/block_container/fields')],
                 'data' => ['block' => $block],
                 'prefix' => 'block.',
             ] + $params;

         return $this->render('@gantry-admin/forms/fields.html.twig',  $paramsBlock);
     }

    /**
     * Gets the list of available particle instances for an outline
     *
     * @param string $outline
     * @param string $particle
     * @param string $selected
     * @return string
     */

    protected function getParticleInstances($outline, $particle, $selected)
    {
        $list = $outline ? $this->container['outlines']->getParticleInstances($outline, $particle, false) : [];
        $selected = isset($list[$selected]) ? $selected : key($list);

        return ['list' => $list, 'selected' => $selected];
    }

    /**
     * Render input field for particle picker.
     *
     * @param string $outline
     * @param string $particle
     * @param string $selected
     * @return string
     */
    protected function renderParticlesInput($outline, $particle, $selected)
    {
        $instances = $this->getParticleInstances($outline, $particle, $selected);

        $params = [
            'layout' => 'input',
            'scope' => 'inherit.',
            'field' => [
                'name' => 'particle',
                'type' => 'gantry.particles',
                'id' => 'g-inherit-particle',
                'outline' => $outline,
                'particles' => $instances['list'],
                'particle' => $particle
            ],
            'value' => $instances['selected']
        ];

        return $this->render('@gantry-admin/forms/fields/gantry/particles.html.twig', $params);
    }
}
classes/Gantry/Admin/Controller/Json/Particle.php000060400000014451150750356250016016 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Json;

use Gantry\Component\Admin\JsonController;
use Gantry\Component\Config\BlueprintSchema;
use Gantry\Component\Config\BlueprintForm;
use Gantry\Component\Config\Config;
use Gantry\Component\Response\JsonResponse;

class Particle extends JsonController
{
    protected $httpVerbs = [
        'GET'    => [
            '/'                  => 'selectParticle',
            '/module'            => 'selectModule'
        ],
        'POST'   => [
            '/'                  => 'undefined',
            '/*'                 => 'particle',
            '/*/validate'        => 'validate',
        ],
        'PUT'    => [
            '/*' => 'replace'
        ],
        'PATCH'  => [
            '/*' => 'update'
        ],
        'DELETE' => [
            '/*' => 'destroy'
        ]
    ];

    /**
     * Return a modal for selecting a particle.
     *
     * @return string
     */
    public function selectParticle()
    {
        $groups = [
            'Particles' => ['particle' => []],
        ];

        $particles = [
            'position'    => [],
            'spacer'      => [],
            'system'      => [],
            'particle'    => [],
        ];

        $particles = array_replace($particles, $this->getParticles());
        unset($particles['atom'], $particles['position']);

        foreach ($particles as &$group) {
            asort($group);
        }

        foreach ($groups as $section => $children) {
            foreach ($children as $key => $child) {
                $groups[$section][$key] = $particles[$key];
            }
        }

        $this->params['particles'] = $groups;
        return new JsonResponse(['html' => $this->render('@gantry-admin/modals/particle-picker.html.twig', $this->params)]);
    }

    /**
     * Return a modal content for selecting module.
     *
     * @return mixed
     */
    public function selectModule()
    {
        return new JsonResponse(['html' => $this->render('@gantry-admin/modals/module-picker.html.twig', $this->params)]);
    }

    /**
     * Return form for the particle (filled with data coming from POST).
     *
     * @param string $name
     * @return mixed
     */
    public function particle($name)
    {
        $data = $this->request->post['item'];
        if ($data) {
            $data = json_decode($data, true);
        } else {
            $data = $this->request->post->getArray();
        }

        // TODO: add support for other block types as well, like menu.
        // $block = BlueprintForm::instance('layout/block.yaml', 'gantry-admin://blueprints');
        $blueprints = $this->container['particles']->getBlueprintForm($name);

        // Load particle blueprints and default settings.
        $validator = $this->loadBlueprints('menu');
        $callable = function () use ($validator) {
            return $validator;
        };

        // Create configuration from the defaults.
        $item = new Config($data, $callable);
        $item->def('type', 'particle');
        $item->def('title', $blueprints->get('name'));
        $item->def('options.type', $blueprints->get('type', 'particle'));
        $item->def('options.particle', []);
        $item->def('options.block', []);

        $this->params += [
            'item'          => $item,
            // 'block'         => $block,
            'data'          => ['particles' => [$name => $item->options['particle']]],
            'particle'      => $blueprints,
            'parent'        => 'settings',
            'prefix'        => "particles.{$name}.",
            'route'         => "configurations.default.settings",
            'action'        => "particle/{$name}/validate"
        ];

        return new JsonResponse(['html' => $this->render('@gantry-admin/modals/particle.html.twig', $this->params)]);
    }

    /**
     * Validate data for the particle.
     *
     * @param string $name
     * @return JsonResponse
     */
    public function validate($name)
    {
        // Load particle blueprints and default settings.
        $validator = new BlueprintSchema;
        $validator->embed('options', $this->container['particles']->get($name));

        $blueprints = $this->container['particles']->getBlueprintForm($name);

        // Create configuration from the defaults.
        $data = new Config([],
            function () use ($validator) {
                return $validator;
            }
        );

        $data->set('type', 'particle');
        $data->set('particle', $name);
        $data->set('title', $this->request->post['title'] ?: $blueprints->get('name'));
        $data->set('options.particle', $this->request->post->getArray("particles.{$name}"));
        $data->def('options.particle.enabled', 1);

        $block = $this->request->post->getArray('block');
        foreach ($block as $key => $param) {
            if ($param === '') {
                unset($block[$key]);
            }
        }

        if ($block) {
            $data->join('options.block', $block);
        }

        // TODO: validate

        // Fill parameters to be passed to the template file.
        $this->params['item'] = (object) $data->toArray();

        return new JsonResponse(['item' => $data->toArray()]);
    }

    protected function getParticles()
    {
        $particles = $this->container['particles']->all();

        $list = [];
        foreach ($particles as $name => $particle) {
            $type = isset($particle['type']) ? $particle['type'] : 'particle';
            $particleName = isset($particle['name']) ? $particle['name'] : $name;
            $particleIcon = isset($particle['icon']) ? $particle['icon'] : null;
            $list[$type][$name] = ['name' => $particleName, 'icon' => $particleIcon];
        }

        return $list;
    }

    /**
     * Load blueprints.
     *
     * @param string $name
     *
     * @return BlueprintForm
     */
    protected function loadBlueprints($name = 'menu')
    {
        return BlueprintForm::instance("menu/{$name}.yaml", 'gantry-admin://blueprints');
    }
}
classes/Gantry/Admin/Controller/Json/Devprod.php000060400000002275150750356250015657 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Json;

use Gantry\Component\Admin\JsonController;
use Gantry\Component\Response\JsonResponse;
use RocketTheme\Toolbox\Event\Event;

class Devprod extends JsonController
{
    public function store()
    {
        $production = intval((bool)$this->request->post['mode']);

        // Fire save event.
        $event = new Event;
        $event->gantry = $this->container;
        $event->controller = $this;
        $event->data = ['production' => $production];

        $this->container->fireEvent('admin.global.save', $event);

        $response = [
            'mode' => $production,
            'title' => $production ? 'Production' : 'Development',
            'html' => $production ? 'Production mode enabled' : 'Development mode enabled',
        ];
        return new JsonResponse($response);
    }
}
classes/Gantry/Admin/Controller/Json/Changelog.php000060400000005746150750356250016151 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Json;

use Gantry\Component\Admin\JsonController;
use Gantry\Component\Remote\Response as RemoteResponse;
use Gantry\Component\Response\JsonResponse;

class Changelog extends JsonController
{
    protected $url = 'https://raw.githubusercontent.com/gantry/gantry5';
    protected $fullurl = 'https://github.com/gantry/gantry5/blob/develop';
    protected $issues = 'https://github.com/gantry/gantry5/issues';
    protected $contrib = 'https://github.com';
    protected $file = 'CHANGELOG.md';

    protected $platforms = ['common' => 'share-alt', 'joomla' => '', 'wordpress' => '', 'grav' => ''];

    protected $httpVerbs = [
        'POST' => [
            '/' => 'index'
        ]
    ];

    public function index()
    {
        $version = $this->request->post['version'];
        $lookup = $version;
        
        if ($version == '@version@') {
            $version = 'develop';
            $lookup  = '';
        }

        if (substr($version, 0, 4) == 'dev-') {
            $version = preg_replace('/^dev-/i', '', $version);
            $lookup  = '';
        }

        $url       = $this->url . '/' . $version . '/' . $this->file;
        $changelog = RemoteResponse::get($url);

        if ($changelog) {
            $found = preg_match("/(#\\s" . $lookup . ".+?\\n.*?)(?=\\n{1,}#|$)/uis", $changelog, $changelog);

            if ($found) {
                $changelog = \Parsedown::instance()->parse($changelog[0]);

                // auto-link issues
                $changelog = preg_replace("/#(\\d{1,})/uis", '<a target="_blank" rel="noopener" href="' . $this->issues . '/$1">#$1</a>', $changelog);

                // auto-link contributors
                $changelog = preg_replace("/@([\\w]+)[^\\w]/uis", '<a target="_blank" rel="noopener" href="' . $this->contrib . '/$1">@$1</a> ', $changelog);

                // add icons for platforms
                foreach($this->platforms as $platform => $icon) {
                    $changelog = preg_replace('/(<a href="\#' . $platform . '">)/uis', '$1<i class="fa fa-' . ($icon ?: $platform) . '" aria-hidden="true"></i> ', $changelog);
                }
            } else {
                $changelog = 'No changelog for version <strong>' . $version . '</strong> was found.';
            }
        }

        $response = [
            'html' => $this->render('@gantry-admin/ajax/changelog.html.twig', [
                'changelog' => $changelog,
                'version'   => $version,
                'url'       => $url,
                'fullurl'   => $this->fullurl . '/' . $this->file
            ])
        ];

        return new JsonResponse($response);
    }
}
classes/Gantry/Admin/Controller/Json/Filepicker.php000060400000037254150750356250016336 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Json;

use Gantry\Component\Admin\JsonController;
use Gantry\Component\Filesystem\Folder;
use Gantry\Component\Response\JsonResponse;
use RocketTheme\Toolbox\File\File;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceIterator;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;


class Filepicker extends JsonController
{
    protected $base = false;
    protected $value = false;
    protected $filter = false;
    protected $httpVerbs = [
        'GET'    => [
            '/'            => 'index',
            '/*'           => 'index',
            '/display'     => 'undefined',
            '/display/**'  => 'displayFile',
            '/download'    => 'undefined',
            '/download/**' => 'downloadFile',
        ],
        'POST'   => [
            '/'            => 'index',
            '/*'           => 'index',
            '/subfolder'   => 'subfolder',
            '/subfolder/*' => 'subfolder',
            '/upload'      => 'undefined',
            '/upload/**'   => 'upload'
        ],
        'DELETE' => [
            '/'   => 'undefined',
            '/**' => 'delete'
        ]
    ];

    public function index()
    {
        /** @var UniformResourceLocator $locator */
        $locator   = $this->container['locator'];
        $bookmarks = [];
        $drives    = ['/'];
        $subfolder = false;

        $this->base = $locator->base;

        if ($this->method == 'POST') {
            $root         = $this->request->post['root'];
            $drives       = isset($root) ? ($root !== 'false' ? (array) $root : ['/']) : ['/'];
            $subfolder    = $this->request->post['subfolder'] ? true : false;
            $filter       = $this->request->post['filter'];
            $this->filter = isset($filter) ? ($filter !== 'false' ? $filter : false) : false;
            $this->value  = $this->request->post['value'] ?: '';
        }

        foreach ($drives as $drive) {
            // cleanup of the path so it's chrooted.
            $drive  = str_replace('..', '', $drive);

            $isStream = $locator->isStream($drive);
            $path     = rtrim($this->base, '/') . '/' . ltrim($drive, '/');

            // It's a stream but the scheme doesn't exist. we skip it.
            if (!$isStream && (strpos($drive, '://') || !file_exists($path))) {
                continue;
            }

            if ($isStream && !$locator->findResources($drive)) {
                continue;
            }

            $key = $isStream ? $drive : preg_replace('#/{2,}+#', '/', $drive);

            if (!array_key_exists($key, $bookmarks)) {
                $bookmarks[$key] = $isStream
                    ? [$locator->getIterator($drive)]
                    : [rtrim(Folder::getRelativePath($path), '/') . '/'];
            }
        }

        if (!count($bookmarks)) {
            throw new \RuntimeException(sprintf('%s "%s" not found', count($drives) > 1 ? 'directories' : 'directory', implode('", "', $drives)), 404);
        }

        $folders = [];
        $active  = [];

        $index = 0;
        $activeFallback = '';

        // iterating the folder and collecting subfolders and files
        foreach ($bookmarks as $key => $bookmark) {
            $folders[$key] = [];

            if (!$index) {
                $activeFallback = $key;
            }

            foreach ($bookmark as $folder) {
                $isStream = $this->isStream($folder);

                if ($isStream) {
                    unset($bookmarks[$key]);
                    $iterator = new \IteratorIterator($folder);
                    $folder   = $key;
                } else {
                    $iterator = new \DirectoryIterator($this->base . '/' . ltrim($folder, '/'));
                }

                $folders[$key][$folder] = new \ArrayObject();
                if (!$index && !$this->value) {
                    $active[] = $folder;
                }

                /** @var \SplFileInfo $info */
                foreach ($iterator as $info) {
                    // no dot files nor files beginning with dot
                    if ($info->isDot() || substr($info->getFilename(), 0, 1) == '.') {
                        continue;
                    }

                    $file = new \stdClass();
                    $this->attachData($file, $info, $folder);

                    if ($file->dir) {
                        if ($file->pathname == dirname($this->value)) {
                            $active[] = $file->pathname;
                        }

                        $folders[$key][$folder]->append($file);
                    } else {
                        /*if ($filter && !preg_match("/" . $filter . "/i", $file->filename)) {
                            continue;
                        }
                        if ((!$index && !$this->value) || (in_array(dirname($file->pathname), $active))) {
                            $files->append($file);
                        }*/
                    }
                }

                if ($isStream) {
                    $bookmarks[$key][] = $key;
                }

                $index++;
            }
        }

        if (!count($active)) {
            $active[] = $activeFallback;
        }

        $lastItem = end($active);
        $files    = $this->listFiles($lastItem);
        $response = [];

        reset($active);
        if (!$subfolder) {
            $response['html'] = $this->render(
                '@gantry-admin/ajax/filepicker.html.twig', [
                    'active'    => $active,
                    'base'      => $this->base,
                    'bookmarks' => $bookmarks,
                    'folders'   => $folders,
                    'files'     => $files,
                    'filter'    => $this->filter,
                    'value'     => $this->value
                ]
            );
        } else {
            $response['subfolder'] = !$folders[$key][$folder]->count()
                ? false
                : $this->render(
                    '@gantry-admin/ajax/filepicker/subfolders.html.twig',
                    ['folder' => $folders[$key][$folder]]
                );
            $response['files']     = $this->render(
                '@gantry-admin/ajax/filepicker/files.html.twig',
                ['files' => $files, 'value' => $this->value]
            );
        }

        return new JsonResponse($response);
    }

    protected function attachData(&$node, $iteration, $folder)
    {
        foreach (
            ['getFilename', 'getExtension', 'getPerms', 'getMTime', 'getBasename', 'getPathname', 'getSize', 'getType', 'isReadable', 'isWritable',
             'isDir', 'isFile'] as $method
        ) {
            $keyMethod          = strtolower(preg_replace("/^(is|get)/", '', $method));
            $node->{$keyMethod} = $iteration->{$method}();

            if ($method == 'getPathname') {
                $node->{$keyMethod} = $this->isStream($folder) ? $iteration->getUrl() : Folder::getRelativePath($node->{$keyMethod});
            } else {
                if ($method == 'getExtension') {
                    $node->isImage = in_array(strtolower($node->{$keyMethod}), ['jpg', 'jpeg', 'png', 'gif', 'ico', 'svg', 'bmp', 'webp']);
                }
            }
        }

    }

    protected function listFiles($folder)
    {
        $isStream = $this->isStream($folder);
        $locator  = $this->container['locator'];
        $iterator = $isStream ? new \IteratorIterator($locator->getIterator($folder)) : new \DirectoryIterator($this->base . '/' . ltrim($folder, '/'));
        $files    = new \ArrayObject();

        /** @var \SplFileInfo $info */
        foreach ($iterator as $info) {
            // no dot files nor files beginning with dot
            if ($info->isDot() || substr($info->getFilename(), 0, 1) == '.') {
                continue;
            }

            $file = new \stdClass();
            $this->attachData($file, $info, $folder);

            if (!$file->dir) {
                if ($this->filter && !preg_match("/" . $this->filter . "/i", $file->filename)) {
                    continue;
                }

                $file->isInCustom = false;

                if ($isStream) {
                    $stream         = explode('://', $folder);
                    $stream         = array_shift($stream) . '://';
                    $customLocation = $locator->findResource($stream, true, true);
                    if (substr($info->getPathname(), 0, strlen($customLocation)) === $customLocation) {
                        $file->isInCustom = true;
                    }
                }


                $files->append($file);
            }
        }

        $files->asort();
        return $files;

    }

    public function subfolder()
    {
        $response         = [];
        $response['html'] = 'subfolder';

        return new JsonResponse($response);

    }

    public function displayFile()
    {
        $path = implode('/', func_get_args());

        $this->doDownload($path, false);

    }

    protected function doDownload($path, $download)
    {
        if (!$path) {
            throw new \RuntimeException('No file specified', 400);
        }

        // TODO: handle streams
        $targetPath = GANTRY5_ROOT . '/' . $path;

        if (!file_exists($targetPath)) {
            throw new \RuntimeException(sprintf('File not found: %s', $path), 404);
        }

        $hash = md5_file($path);

        // Handle 304 Not Modified
        if (isset($this->request->server['HTTP_IF_NONE_MATCH'])) {
            $etag = stripslashes($this->request->server['HTTP_IF_NONE_MATCH']);

            if ($etag == $hash) {
                header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($path)) . ' GMT', true, 304);

                // Give fast response.
                flush();
                exit();
            }
        }

        // Set file headers.
        header('ETag: ' . $hash);
        header('Pragma: public');
        header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($path)) . ' GMT');

        // Get the image file information.
        $info    = getimagesize($path);
        $isImage = (bool)$info;

        if (!$download && $isImage) {
            $fileType = $info['mime'];

            // Force re-validate.
            header('Expires: 0');
            header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
            header('Content-type: ' . $fileType);
            header('Content-Disposition: inline; filename="' . basename($path) . '"');
        } else {
            // Force file download.
            header('Expires: 0');
            header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
            header('Content-Description: File Transfer');
            header('Content-Type: application/force-download');
            header('Content-Type: application/octet-stream');
            header('Content-Type: application/download');
            header('Content-Disposition: attachment; filename="' . basename($path) . '"');
        }

        header('Content-Transfer-Encoding: binary');
        header('Content-Length: ' . filesize($path));
        flush();

        // Output the file contents.
        @readfile($path);
        flush();

        exit();

    }

    public function downloadFile()
    {
        $path = implode('/', func_get_args());

        $this->doDownload($path, true);

    }

    public function upload()
    {
        /** @var UniformResourceLocator $locator */
        $locator = $this->container['locator'];
        $path    = implode('/', func_get_args());

        if (base64_decode($path, true) !== false) {
            $path = urldecode(base64_decode($path));
        }

        $stream = explode('://', $path);
        $scheme = $stream[0];

        $isStream = $locator->schemeExists($scheme);
        if ($isStream) {
            $targetPath = dirname($locator->findResource($path, true, true));
        } else {
            $targetPath = dirname(GANTRY5_ROOT . '/' . $path);
        }

        if (!isset($_FILES['file']['error']) || is_array($_FILES['file']['error'])) {
            throw new \RuntimeException('No file sent', 400);
        }

        // Check $_FILES['file']['error'] value.
        switch ($_FILES['file']['error']) {
            case UPLOAD_ERR_OK:
                break;
            case UPLOAD_ERR_NO_FILE:
                throw new \RuntimeException('No file sent', 400);
            case UPLOAD_ERR_INI_SIZE:
            case UPLOAD_ERR_FORM_SIZE:
                throw new \RuntimeException('Exceeded filesize limit.', 400);
            default:
                throw new \RuntimeException('Unkown errors', 400);
        }

        $maxSize = $this->returnBytes(min(ini_get('post_max_size'), ini_get('upload_max_filesize')));
        if ($_FILES['file']['size'] > $maxSize) {
            throw new \RuntimeException('Exceeded filesize limit. File is ' . $_FILES['file']['size'] . ', maximum allowed is ' . $maxSize, 400);
        }

        // Check extension
        $fileParts = pathinfo($_FILES['file']['name']);
        $fileExt   = strtolower($fileParts['extension']);

        // TODO: check if download is of supported type.

        // Upload it
        $destination = sprintf('%s/%s', $targetPath, $_FILES['file']['name']);
        $destination = preg_replace('#//#', '/', $destination);

        Folder::create($targetPath);

        if (!move_uploaded_file($_FILES['file']['tmp_name'], $destination)) {
            throw new \RuntimeException('Failed to move uploaded file.', 500);
        }

        $finfo = new \stdClass();
        $this->attachData($finfo, new \SplFileInfo($destination), $targetPath);
        return new JsonResponse(['success' => 'File uploaded successfully', 'finfo' => $finfo, 'url' => $path]);

    }

    protected function returnBytes($size_str)
    {
        switch (strtolower(substr($size_str, -1))) {
            case 'm':
            case 'mb':
                return (int)$size_str * 1048576;
            case 'k':
            case 'kb':
                return (int)$size_str * 1024;
            case 'g':
            case 'gb':
                return (int)$size_str * 1073741824;
            default:
                return $size_str;
        }

    }

    public function delete()
    {
        /** @var UniformResourceLocator $locator */
        $locator = $this->container['locator'];
        $path    = implode('/', func_get_args());

        if (base64_decode($path, true) !== false) {
            $path = urldecode(base64_decode($path));
        }

        $stream = explode('://', $path);
        $scheme = $stream[0];

        if (!$path) {
            throw new \RuntimeException('No file specified for delete', 400);
        }

        $isStream = $locator->schemeExists($scheme);
        if ($isStream) {
            $targetPath = $locator->findResource($path, true, true);
        } else {
            $targetPath = GANTRY5_ROOT . '/' . $path;
        }

        $file = File::instance($targetPath);

        if (!$file->exists()) {
            throw new \RuntimeException(sprintf('File not found: %s', $targetPath), 404);
        }

        try {
            $file->delete();
        } catch (\Exception $e) {
            throw new \RuntimeException(sprintf('File could not be deleted: %s', $targetPath), 500);
        }
        $file->free();

        return new JsonResponse(['success', 'File deleted: ' . $targetPath]);
    }

    private function isStream($folder)
    {
        return $folder instanceof UniformResourceIterator || strpos($folder, '://');
    }
}
classes/Gantry/Admin/Controller/Json/Icons.php000060400000043200150750356250015320 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Json;

use Gantry\Component\Admin\JsonController;
use Gantry\Component\Response\JsonResponse;

class Icons extends JsonController
{
    public function index()
    {
        $response = [];

        // Font Awesome Icons list [v4.7.0 - 730 icons]
        // NOTE: To get an updated list of icons:
        //       1. Go to: http://fontawesome.io/icons/
        //       2. Open Console in Deveveloper Tools
        //       3. Type this JS snippet: var list = []; document.querySelectorAll('.fontawesome-icon-list i').forEach(function(icon, index){ var name = icon.className.replace(/^fa\s/, ''); list.push(name); }); var output = '$list = ["' + list.join('", "') + '"];'; console.log(output); copy(output); console.info('The output has been copied to the clipboard, you can now CMD + V / CTRL + V to update the icons variable');
        //       4. Press Enter and replace the line below
        $list = ["fa-address-book", "fa-address-book-o", "fa-address-card", "fa-address-card-o", "fa-bandcamp", "fa-bath", "fa-bathtub", "fa-drivers-license", "fa-drivers-license-o", "fa-eercast", "fa-envelope-open", "fa-envelope-open-o", "fa-etsy", "fa-free-code-camp", "fa-grav", "fa-handshake-o", "fa-id-badge", "fa-id-card", "fa-id-card-o", "fa-imdb", "fa-linode", "fa-meetup", "fa-microchip", "fa-podcast", "fa-quora", "fa-ravelry", "fa-s15", "fa-shower", "fa-snowflake-o", "fa-superpowers", "fa-telegram", "fa-thermometer", "fa-thermometer-0", "fa-thermometer-1", "fa-thermometer-2", "fa-thermometer-3", "fa-thermometer-4", "fa-thermometer-empty", "fa-thermometer-full", "fa-thermometer-half", "fa-thermometer-quarter", "fa-thermometer-three-quarters", "fa-times-rectangle", "fa-times-rectangle-o", "fa-user-circle", "fa-user-circle-o", "fa-user-o", "fa-vcard", "fa-vcard-o", "fa-window-close", "fa-window-close-o", "fa-window-maximize", "fa-window-minimize", "fa-window-restore", "fa-wpexplorer", "fa-address-book", "fa-address-book-o", "fa-address-card", "fa-address-card-o", "fa-adjust", "fa-american-sign-language-interpreting", "fa-anchor", "fa-archive", "fa-area-chart", "fa-arrows", "fa-arrows-h", "fa-arrows-v", "fa-asl-interpreting", "fa-assistive-listening-systems", "fa-asterisk", "fa-at", "fa-audio-description", "fa-automobile", "fa-balance-scale", "fa-ban", "fa-bank", "fa-bar-chart", "fa-bar-chart-o", "fa-barcode", "fa-bars", "fa-bath", "fa-bathtub", "fa-battery", "fa-battery-0", "fa-battery-1", "fa-battery-2", "fa-battery-3", "fa-battery-4", "fa-battery-empty", "fa-battery-full", "fa-battery-half", "fa-battery-quarter", "fa-battery-three-quarters", "fa-bed", "fa-beer", "fa-bell", "fa-bell-o", "fa-bell-slash", "fa-bell-slash-o", "fa-bicycle", "fa-binoculars", "fa-birthday-cake", "fa-blind", "fa-bluetooth", "fa-bluetooth-b", "fa-bolt", "fa-bomb", "fa-book", "fa-bookmark", "fa-bookmark-o", "fa-braille", "fa-briefcase", "fa-bug", "fa-building", "fa-building-o", "fa-bullhorn", "fa-bullseye", "fa-bus", "fa-cab", "fa-calculator", "fa-calendar", "fa-calendar-check-o", "fa-calendar-minus-o", "fa-calendar-o", "fa-calendar-plus-o", "fa-calendar-times-o", "fa-camera", "fa-camera-retro", "fa-car", "fa-caret-square-o-down", "fa-caret-square-o-left", "fa-caret-square-o-right", "fa-caret-square-o-up", "fa-cart-arrow-down", "fa-cart-plus", "fa-cc", "fa-certificate", "fa-check", "fa-check-circle", "fa-check-circle-o", "fa-check-square", "fa-check-square-o", "fa-child", "fa-circle", "fa-circle-o", "fa-circle-o-notch", "fa-circle-thin", "fa-clock-o", "fa-clone", "fa-close", "fa-cloud", "fa-cloud-download", "fa-cloud-upload", "fa-code", "fa-code-fork", "fa-coffee", "fa-cog", "fa-cogs", "fa-comment", "fa-comment-o", "fa-commenting", "fa-commenting-o", "fa-comments", "fa-comments-o", "fa-compass", "fa-copyright", "fa-creative-commons", "fa-credit-card", "fa-credit-card-alt", "fa-crop", "fa-crosshairs", "fa-cube", "fa-cubes", "fa-cutlery", "fa-dashboard", "fa-database", "fa-deaf", "fa-deafness", "fa-desktop", "fa-diamond", "fa-dot-circle-o", "fa-download", "fa-drivers-license", "fa-drivers-license-o", "fa-edit", "fa-ellipsis-h", "fa-ellipsis-v", "fa-envelope", "fa-envelope-o", "fa-envelope-open", "fa-envelope-open-o", "fa-envelope-square", "fa-eraser", "fa-exchange", "fa-exclamation", "fa-exclamation-circle", "fa-exclamation-triangle", "fa-external-link", "fa-external-link-square", "fa-eye", "fa-eye-slash", "fa-eyedropper", "fa-fax", "fa-feed", "fa-female", "fa-fighter-jet", "fa-file-archive-o", "fa-file-audio-o", "fa-file-code-o", "fa-file-excel-o", "fa-file-image-o", "fa-file-movie-o", "fa-file-pdf-o", "fa-file-photo-o", "fa-file-picture-o", "fa-file-powerpoint-o", "fa-file-sound-o", "fa-file-video-o", "fa-file-word-o", "fa-file-zip-o", "fa-film", "fa-filter", "fa-fire", "fa-fire-extinguisher", "fa-flag", "fa-flag-checkered", "fa-flag-o", "fa-flash", "fa-flask", "fa-folder", "fa-folder-o", "fa-folder-open", "fa-folder-open-o", "fa-frown-o", "fa-futbol-o", "fa-gamepad", "fa-gavel", "fa-gear", "fa-gears", "fa-gift", "fa-glass", "fa-globe", "fa-graduation-cap", "fa-group", "fa-hand-grab-o", "fa-hand-lizard-o", "fa-hand-paper-o", "fa-hand-peace-o", "fa-hand-pointer-o", "fa-hand-rock-o", "fa-hand-scissors-o", "fa-hand-spock-o", "fa-hand-stop-o", "fa-handshake-o", "fa-hard-of-hearing", "fa-hashtag", "fa-hdd-o", "fa-headphones", "fa-heart", "fa-heart-o", "fa-heartbeat", "fa-history", "fa-home", "fa-hotel", "fa-hourglass", "fa-hourglass-1", "fa-hourglass-2", "fa-hourglass-3", "fa-hourglass-end", "fa-hourglass-half", "fa-hourglass-o", "fa-hourglass-start", "fa-i-cursor", "fa-id-badge", "fa-id-card", "fa-id-card-o", "fa-image", "fa-inbox", "fa-industry", "fa-info", "fa-info-circle", "fa-institution", "fa-key", "fa-keyboard-o", "fa-language", "fa-laptop", "fa-leaf", "fa-legal", "fa-lemon-o", "fa-level-down", "fa-level-up", "fa-life-bouy", "fa-life-buoy", "fa-life-ring", "fa-life-saver", "fa-lightbulb-o", "fa-line-chart", "fa-location-arrow", "fa-lock", "fa-low-vision", "fa-magic", "fa-magnet", "fa-mail-forward", "fa-mail-reply", "fa-mail-reply-all", "fa-male", "fa-map", "fa-map-marker", "fa-map-o", "fa-map-pin", "fa-map-signs", "fa-meh-o", "fa-microchip", "fa-microphone", "fa-microphone-slash", "fa-minus", "fa-minus-circle", "fa-minus-square", "fa-minus-square-o", "fa-mobile", "fa-mobile-phone", "fa-money", "fa-moon-o", "fa-mortar-board", "fa-motorcycle", "fa-mouse-pointer", "fa-music", "fa-navicon", "fa-newspaper-o", "fa-object-group", "fa-object-ungroup", "fa-paint-brush", "fa-paper-plane", "fa-paper-plane-o", "fa-paw", "fa-pencil", "fa-pencil-square", "fa-pencil-square-o", "fa-percent", "fa-phone", "fa-phone-square", "fa-photo", "fa-picture-o", "fa-pie-chart", "fa-plane", "fa-plug", "fa-plus", "fa-plus-circle", "fa-plus-square", "fa-plus-square-o", "fa-podcast", "fa-power-off", "fa-print", "fa-puzzle-piece", "fa-qrcode", "fa-question", "fa-question-circle", "fa-question-circle-o", "fa-quote-left", "fa-quote-right", "fa-random", "fa-recycle", "fa-refresh", "fa-registered", "fa-remove", "fa-reorder", "fa-reply", "fa-reply-all", "fa-retweet", "fa-road", "fa-rocket", "fa-rss", "fa-rss-square", "fa-s15", "fa-search", "fa-search-minus", "fa-search-plus", "fa-send", "fa-send-o", "fa-server", "fa-share", "fa-share-alt", "fa-share-alt-square", "fa-share-square", "fa-share-square-o", "fa-shield", "fa-ship", "fa-shopping-bag", "fa-shopping-basket", "fa-shopping-cart", "fa-shower", "fa-sign-in", "fa-sign-language", "fa-sign-out", "fa-signal", "fa-signing", "fa-sitemap", "fa-sliders", "fa-smile-o", "fa-snowflake-o", "fa-soccer-ball-o", "fa-sort", "fa-sort-alpha-asc", "fa-sort-alpha-desc", "fa-sort-amount-asc", "fa-sort-amount-desc", "fa-sort-asc", "fa-sort-desc", "fa-sort-down", "fa-sort-numeric-asc", "fa-sort-numeric-desc", "fa-sort-up", "fa-space-shuttle", "fa-spinner", "fa-spoon", "fa-square", "fa-square-o", "fa-star", "fa-star-half", "fa-star-half-empty", "fa-star-half-full", "fa-star-half-o", "fa-star-o", "fa-sticky-note", "fa-sticky-note-o", "fa-street-view", "fa-suitcase", "fa-sun-o", "fa-support", "fa-tablet", "fa-tachometer", "fa-tag", "fa-tags", "fa-tasks", "fa-taxi", "fa-television", "fa-terminal", "fa-thermometer", "fa-thermometer-0", "fa-thermometer-1", "fa-thermometer-2", "fa-thermometer-3", "fa-thermometer-4", "fa-thermometer-empty", "fa-thermometer-full", "fa-thermometer-half", "fa-thermometer-quarter", "fa-thermometer-three-quarters", "fa-thumb-tack", "fa-thumbs-down", "fa-thumbs-o-down", "fa-thumbs-o-up", "fa-thumbs-up", "fa-ticket", "fa-times", "fa-times-circle", "fa-times-circle-o", "fa-times-rectangle", "fa-times-rectangle-o", "fa-tint", "fa-toggle-down", "fa-toggle-left", "fa-toggle-off", "fa-toggle-on", "fa-toggle-right", "fa-toggle-up", "fa-trademark", "fa-trash", "fa-trash-o", "fa-tree", "fa-trophy", "fa-truck", "fa-tty", "fa-tv", "fa-umbrella", "fa-universal-access", "fa-university", "fa-unlock", "fa-unlock-alt", "fa-unsorted", "fa-upload", "fa-user", "fa-user-circle", "fa-user-circle-o", "fa-user-o", "fa-user-plus", "fa-user-secret", "fa-user-times", "fa-users", "fa-vcard", "fa-vcard-o", "fa-video-camera", "fa-volume-control-phone", "fa-volume-down", "fa-volume-off", "fa-volume-up", "fa-warning", "fa-wheelchair", "fa-wheelchair-alt", "fa-wifi", "fa-window-close", "fa-window-close-o", "fa-window-maximize", "fa-window-minimize", "fa-window-restore", "fa-wrench", "fa-american-sign-language-interpreting", "fa-asl-interpreting", "fa-assistive-listening-systems", "fa-audio-description", "fa-blind", "fa-braille", "fa-cc", "fa-deaf", "fa-deafness", "fa-hard-of-hearing", "fa-low-vision", "fa-question-circle-o", "fa-sign-language", "fa-signing", "fa-tty", "fa-universal-access", "fa-volume-control-phone", "fa-wheelchair", "fa-wheelchair-alt", "fa-hand-grab-o", "fa-hand-lizard-o", "fa-hand-o-down", "fa-hand-o-left", "fa-hand-o-right", "fa-hand-o-up", "fa-hand-paper-o", "fa-hand-peace-o", "fa-hand-pointer-o", "fa-hand-rock-o", "fa-hand-scissors-o", "fa-hand-spock-o", "fa-hand-stop-o", "fa-thumbs-down", "fa-thumbs-o-down", "fa-thumbs-o-up", "fa-thumbs-up", "fa-ambulance", "fa-automobile", "fa-bicycle", "fa-bus", "fa-cab", "fa-car", "fa-fighter-jet", "fa-motorcycle", "fa-plane", "fa-rocket", "fa-ship", "fa-space-shuttle", "fa-subway", "fa-taxi", "fa-train", "fa-truck", "fa-wheelchair", "fa-wheelchair-alt", "fa-genderless", "fa-intersex", "fa-mars", "fa-mars-double", "fa-mars-stroke", "fa-mars-stroke-h", "fa-mars-stroke-v", "fa-mercury", "fa-neuter", "fa-transgender", "fa-transgender-alt", "fa-venus", "fa-venus-double", "fa-venus-mars", "fa-file", "fa-file-archive-o", "fa-file-audio-o", "fa-file-code-o", "fa-file-excel-o", "fa-file-image-o", "fa-file-movie-o", "fa-file-o", "fa-file-pdf-o", "fa-file-photo-o", "fa-file-picture-o", "fa-file-powerpoint-o", "fa-file-sound-o", "fa-file-text", "fa-file-text-o", "fa-file-video-o", "fa-file-word-o", "fa-file-zip-o", "fa-circle-o-notch", "fa-cog", "fa-gear", "fa-refresh", "fa-spinner", "fa-check-square", "fa-check-square-o", "fa-circle", "fa-circle-o", "fa-dot-circle-o", "fa-minus-square", "fa-minus-square-o", "fa-plus-square", "fa-plus-square-o", "fa-square", "fa-square-o", "fa-cc-amex", "fa-cc-diners-club", "fa-cc-discover", "fa-cc-jcb", "fa-cc-mastercard", "fa-cc-paypal", "fa-cc-stripe", "fa-cc-visa", "fa-credit-card", "fa-credit-card-alt", "fa-google-wallet", "fa-paypal", "fa-area-chart", "fa-bar-chart", "fa-bar-chart-o", "fa-line-chart", "fa-pie-chart", "fa-bitcoin", "fa-btc", "fa-cny", "fa-dollar", "fa-eur", "fa-euro", "fa-gbp", "fa-gg", "fa-gg-circle", "fa-ils", "fa-inr", "fa-jpy", "fa-krw", "fa-money", "fa-rmb", "fa-rouble", "fa-rub", "fa-ruble", "fa-rupee", "fa-shekel", "fa-sheqel", "fa-try", "fa-turkish-lira", "fa-usd", "fa-won", "fa-yen", "fa-align-center", "fa-align-justify", "fa-align-left", "fa-align-right", "fa-bold", "fa-chain", "fa-chain-broken", "fa-clipboard", "fa-columns", "fa-copy", "fa-cut", "fa-dedent", "fa-eraser", "fa-file", "fa-file-o", "fa-file-text", "fa-file-text-o", "fa-files-o", "fa-floppy-o", "fa-font", "fa-header", "fa-indent", "fa-italic", "fa-link", "fa-list", "fa-list-alt", "fa-list-ol", "fa-list-ul", "fa-outdent", "fa-paperclip", "fa-paragraph", "fa-paste", "fa-repeat", "fa-rotate-left", "fa-rotate-right", "fa-save", "fa-scissors", "fa-strikethrough", "fa-subscript", "fa-superscript", "fa-table", "fa-text-height", "fa-text-width", "fa-th", "fa-th-large", "fa-th-list", "fa-underline", "fa-undo", "fa-unlink", "fa-angle-double-down", "fa-angle-double-left", "fa-angle-double-right", "fa-angle-double-up", "fa-angle-down", "fa-angle-left", "fa-angle-right", "fa-angle-up", "fa-arrow-circle-down", "fa-arrow-circle-left", "fa-arrow-circle-o-down", "fa-arrow-circle-o-left", "fa-arrow-circle-o-right", "fa-arrow-circle-o-up", "fa-arrow-circle-right", "fa-arrow-circle-up", "fa-arrow-down", "fa-arrow-left", "fa-arrow-right", "fa-arrow-up", "fa-arrows", "fa-arrows-alt", "fa-arrows-h", "fa-arrows-v", "fa-caret-down", "fa-caret-left", "fa-caret-right", "fa-caret-square-o-down", "fa-caret-square-o-left", "fa-caret-square-o-right", "fa-caret-square-o-up", "fa-caret-up", "fa-chevron-circle-down", "fa-chevron-circle-left", "fa-chevron-circle-right", "fa-chevron-circle-up", "fa-chevron-down", "fa-chevron-left", "fa-chevron-right", "fa-chevron-up", "fa-exchange", "fa-hand-o-down", "fa-hand-o-left", "fa-hand-o-right", "fa-hand-o-up", "fa-long-arrow-down", "fa-long-arrow-left", "fa-long-arrow-right", "fa-long-arrow-up", "fa-toggle-down", "fa-toggle-left", "fa-toggle-right", "fa-toggle-up", "fa-arrows-alt", "fa-backward", "fa-compress", "fa-eject", "fa-expand", "fa-fast-backward", "fa-fast-forward", "fa-forward", "fa-pause", "fa-pause-circle", "fa-pause-circle-o", "fa-play", "fa-play-circle", "fa-play-circle-o", "fa-random", "fa-step-backward", "fa-step-forward", "fa-stop", "fa-stop-circle", "fa-stop-circle-o", "fa-youtube-play", "fa-500px", "fa-adn", "fa-amazon", "fa-android", "fa-angellist", "fa-apple", "fa-bandcamp", "fa-behance", "fa-behance-square", "fa-bitbucket", "fa-bitbucket-square", "fa-bitcoin", "fa-black-tie", "fa-bluetooth", "fa-bluetooth-b", "fa-btc", "fa-buysellads", "fa-cc-amex", "fa-cc-diners-club", "fa-cc-discover", "fa-cc-jcb", "fa-cc-mastercard", "fa-cc-paypal", "fa-cc-stripe", "fa-cc-visa", "fa-chrome", "fa-codepen", "fa-codiepie", "fa-connectdevelop", "fa-contao", "fa-css3", "fa-dashcube", "fa-delicious", "fa-deviantart", "fa-digg", "fa-dribbble", "fa-dropbox", "fa-drupal", "fa-edge", "fa-eercast", "fa-empire", "fa-envira", "fa-etsy", "fa-expeditedssl", "fa-fa", "fa-facebook", "fa-facebook-f", "fa-facebook-official", "fa-facebook-square", "fa-firefox", "fa-first-order", "fa-flickr", "fa-font-awesome", "fa-fonticons", "fa-fort-awesome", "fa-forumbee", "fa-foursquare", "fa-free-code-camp", "fa-ge", "fa-get-pocket", "fa-gg", "fa-gg-circle", "fa-git", "fa-git-square", "fa-github", "fa-github-alt", "fa-github-square", "fa-gitlab", "fa-gittip", "fa-glide", "fa-glide-g", "fa-google", "fa-google-plus", "fa-google-plus-circle", "fa-google-plus-official", "fa-google-plus-square", "fa-google-wallet", "fa-gratipay", "fa-grav", "fa-hacker-news", "fa-houzz", "fa-html5", "fa-imdb", "fa-instagram", "fa-internet-explorer", "fa-ioxhost", "fa-joomla", "fa-jsfiddle", "fa-lastfm", "fa-lastfm-square", "fa-leanpub", "fa-linkedin", "fa-linkedin-square", "fa-linode", "fa-linux", "fa-maxcdn", "fa-meanpath", "fa-medium", "fa-meetup", "fa-mixcloud", "fa-modx", "fa-odnoklassniki", "fa-odnoklassniki-square", "fa-opencart", "fa-openid", "fa-opera", "fa-optin-monster", "fa-pagelines", "fa-paypal", "fa-pied-piper", "fa-pied-piper-alt", "fa-pied-piper-pp", "fa-pinterest", "fa-pinterest-p", "fa-pinterest-square", "fa-product-hunt", "fa-qq", "fa-quora", "fa-ra", "fa-ravelry", "fa-rebel", "fa-reddit", "fa-reddit-alien", "fa-reddit-square", "fa-renren", "fa-resistance", "fa-safari", "fa-scribd", "fa-sellsy", "fa-share-alt", "fa-share-alt-square", "fa-shirtsinbulk", "fa-simplybuilt", "fa-skyatlas", "fa-skype", "fa-slack", "fa-slideshare", "fa-snapchat", "fa-snapchat-ghost", "fa-snapchat-square", "fa-soundcloud", "fa-spotify", "fa-stack-exchange", "fa-stack-overflow", "fa-steam", "fa-steam-square", "fa-stumbleupon", "fa-stumbleupon-circle", "fa-superpowers", "fa-telegram", "fa-tencent-weibo", "fa-themeisle", "fa-trello", "fa-tripadvisor", "fa-tumblr", "fa-tumblr-square", "fa-twitch", "fa-twitter", "fa-twitter-square", "fa-usb", "fa-viacoin", "fa-viadeo", "fa-viadeo-square", "fa-vimeo", "fa-vimeo-square", "fa-vine", "fa-vk", "fa-wechat", "fa-weibo", "fa-weixin", "fa-whatsapp", "fa-wikipedia-w", "fa-windows", "fa-wordpress", "fa-wpbeginner", "fa-wpexplorer", "fa-wpforms", "fa-xing", "fa-xing-square", "fa-y-combinator", "fa-y-combinator-square", "fa-yahoo", "fa-yc", "fa-yc-square", "fa-yelp", "fa-yoast", "fa-youtube", "fa-youtube-play", "fa-youtube-square", "fa-ambulance", "fa-h-square", "fa-heart", "fa-heart-o", "fa-heartbeat", "fa-hospital-o", "fa-medkit", "fa-plus-square", "fa-stethoscope", "fa-user-md", "fa-wheelchair", "fa-wheelchair-alt"];
        $options = [
            'fw' => 'Fixed Width',
            'spin' => 'Spinning',
            'larger' => ['' => '- Size - ', 'lg' => 'Large', '2x' => '2x', '3x' => '3x', '4x' => '4x', '5x' => '5x'],
            'rotation' => ['' => '- Rotation -', 'flip-horizontal' => 'Horizontal Flip', 'flip-vertical' => 'Vertical Flip', 'rotate-90' => 'Rotate 90°', 'rotate-180' => 'Rotate 180°', 'rotate-270' => 'Rotate 270°']
        ];

        $list = array_unique($list);
        sort($list);

        $response['html'] = $this->render('@gantry-admin/ajax/icons.html.twig', ['icons' => $list, 'options' => $options, 'total' => count($list)]);

        return new JsonResponse($response);
    }
}
classes/Gantry/Admin/Controller/Json/Confirmdeletion.php000060400000001631150750356250017370 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Json;

use Gantry\Component\Admin\JsonController;
use Gantry\Component\Response\JsonResponse;

class Confirmdeletion extends JsonController
{
    protected $httpVerbs = [
        'GET' => [
            '/' => 'index'
        ]
    ];

    public function index()
    {
        $pageType = $this->request->get->get('page_type', 'OUTLINE');
        $response = ['html' => $this->render('@gantry-admin/ajax/confirm-deletion.html.twig', ['page_type' => $pageType])];

        return new JsonResponse($response);
    }
}
classes/Gantry/Admin/Controller/Json/Fontpicker.php000060400000006714150750356250016362 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin\Controller\Json;

use Gantry\Component\Admin\JsonController;
use Gantry\Component\Response\JsonResponse;
use RocketTheme\Toolbox\File\JsonFile;

class Fontpicker extends JsonController
{
    protected $google_fonts = 'gantry-admin://js/google-fonts.json';

    protected $httpVerbs = [
        'GET' => [
            '/' => 'index'
        ]
    ];

    public function index()
    {
        $this->params['fonts'] = $this->loadGoogleFonts();
        $this->params['variantsMap'] = $this->variantsMap();
        $response = [
            'html' => $this->render('@gantry-admin/ajax/fontpicker.html.twig', $this->params)
        ];
        return new JsonResponse($response);
    }

    public function loadGoogleFonts()
    {
        $data = new \stdClass();
        $file = JsonFile::instance($this->google_fonts);
        $fonts = $file->content()['items'];
        $file->free();

        $data->categories = [];
        $data->subsets = [];

        // create list of unique categories and subsets
        array_walk($fonts, function (&$item) use ($data) {
            if (!in_array($item->category, $data->categories)) {
                $data->categories[] = $item->category;
            }
            $data->subsets = array_unique(array_merge($data->subsets, $item->subsets));
        });

        asort($data->categories);
        asort($data->subsets);

        $data->families = $fonts;
        $data->local_families = $this->loadLocalFonts();

        if (count($data->local_families)) {
            array_unshift($data->categories, 'local-fonts');
        }

        $data->count = count($data->families);

        return $data;
    }

    public function loadLocalFonts()
    {
        $local_fonts = $this->container['theme']->details()->get('configuration.fonts', []);
        $map = [];

        foreach ($local_fonts as $name => $variants) {
            if (is_array($variants)) {
                $list = array_keys($variants);
            } else {
                $list = ['regular'];
            }

            $map[] = ['family' => $name, 'variants' => $list, 'category' => 'local-fonts'];
        }

        return $map;
    }

    protected function variantsMap()
    {
        return [
            '100'       => 'Thin 100',
            '100italic' => 'Thin 100 Italic',
            '200'       => 'Extra-Light 200',
            '200italic' => 'Extra-Light 200 Italic',
            '300'       => 'Light 300',
            '300italic' => 'Light 300 Italic',
            '400'       => 'Normal 400',
            'regular'   => 'Normal 400',
            '400italic' => 'Normal 400 Italic',
            'italic'    => 'Normal 400 Italic',
            '500'       => 'Medium 500',
            '500italic' => 'Medium 500 Italic',
            '600'       => 'Semi-Bold 600',
            '600italic' => 'Semi-Bold 600 Italic',
            '700'       => 'Bold 700',
            '700italic' => 'Bold 700 Italic',
            '800'       => 'Extra-Bold 800',
            '800italic' => 'Extra-Bold 800 Italic',
            '900'       => 'Ultra-Bold 900',
            '900italic' => 'Ultra-Bold 900 Italic'
        ];
    }
}
classes/Gantry/Admin/Particles.php000060400000011356150750356250013146 0ustar00<?php
/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry\Admin;

use Gantry\Component\Config\BlueprintForm;
use Gantry\Component\Config\ConfigFileFinder;
use Gantry\Component\File\CompiledYamlFile;
use Gantry\Framework\Theme as SiteTheme;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

class Particles
{
    protected $container;
    protected $files;
    protected $particles;

    public function __construct($container)
    {
        $this->container = $container;
    }

    public function overrides($outline, $particle = null)
    {
        if ($outline === 'default') {
            return true;
        }

        /** @var UniformResourceLocator $locator */
        $locator = $this->container['locator'];

        if ($particle) {
            // PHP 5.4
            $resource = $locator->findResources("gantry-theme://config/{$outline}/particles/{$particle}.yaml");
            return !empty($resource);
        }

        // PHP 5.4
        $resource = $locator->findResources("gantry-theme://config/{$outline}/particles");
        return !empty($resource);
    }

    public function all()
    {
        if (null === $this->particles) {
            $platform = $this->container['platform'];
            $files = $this->locateParticles();

            $this->particles = [];
            foreach ($files as $key => $fileArray) {
                $filename = key($fileArray);
                $file = CompiledYamlFile::instance(GANTRY5_ROOT . '/' . $filename);
                $particle = $file->content();
                $file->free();

                if (!isset($particle['dependencies']) || $platform->checkDependencies($particle['dependencies'])) {
                    $this->particles[$key] = $particle;
                }
            }
        }

        return $this->particles;
    }

    public function group($exclude = [])
    {
        $particles = $this->all();

        $list = [];
        foreach ($particles as $name => $particle) {
            $type = isset($particle['type']) ? $particle['type'] : 'particle';
            if (in_array($type, $exclude)) {
                continue;
            }
            if (in_array($type, ['spacer', 'system'])) {
                $type = 'position';
            }
            $list[$type][$name] = $particle;
        }

        return $this->sort($list);
    }

    public function get($id)
    {
        if (isset($this->particles[$id])) {
            return $this->particles[$id];
        }

        $files = $this->locateParticles();

        if (empty($files[$id])) {
            throw new \RuntimeException(sprintf("Settings for '%s' not found.", $id), 404);
        }

        $filename = key($files[$id]);
        $file = CompiledYamlFile::instance(GANTRY5_ROOT . '/' . $filename);
        $particle = $file->content();
        $particle['subtype'] = $id; // TODO: can this be done better or is it fine like that?
        $file->free();

        return $particle;
    }

    /**
     * @param string $id
     * @return BlueprintForm
     */
    public function getBlueprintForm($id)
    {
        return BlueprintForm::instance($id, 'gantry-blueprints://particles');
    }

    protected function sort(array $blocks)
    {
        $list = [];

        /** @var SiteTheme $theme */
        $theme = $this->container['theme'];
        $ordering = (array) $theme->details()['admin.settings'] ?: [
                'particle' => [],
                'position' => ['position', 'spacer', 'messages', 'content'],
                'atom' => []
            ];

        ksort($blocks);

        foreach ($ordering as $name => $order) {
            if (isset($blocks[$name])) {
                $list[$name] = $this->sortItems($blocks[$name], (array) $order);
            }
        }
        $list += $blocks;

        return $list;
    }


    protected function sortItems(array $items, array $ordering)
    {
        $list = [];

        ksort($items);

        foreach ($ordering as $name) {
            if (isset($items[$name])) {
                $list[$name] = $items[$name];
            }
        }
        $list += $items;

        return $list;
    }

    protected function locateParticles()
    {
        if (!$this->files) {
            /** @var UniformResourceLocator $locator */
            $locator = $this->container['locator'];
            $paths = $locator->findResources('gantry-blueprints://particles');

            $this->files = (new ConfigFileFinder)->listFiles($paths);
        }

        return $this->files;
    }
}
classes/.htaccess000044400000000177150750356250010012 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>classes/Leafo/ScssPhp/Compiler.php000060400000554424150750356250013117 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp;

use Leafo\ScssPhp\Base\Range;
use Leafo\ScssPhp\Block;
use Leafo\ScssPhp\Cache;
use Leafo\ScssPhp\Colors;
use Leafo\ScssPhp\Compiler\Environment;
use Leafo\ScssPhp\Exception\CompilerException;
use Leafo\ScssPhp\Formatter\OutputBlock;
use Leafo\ScssPhp\Node;
use Leafo\ScssPhp\SourceMap\SourceMapGenerator;
use Leafo\ScssPhp\Type;
use Leafo\ScssPhp\Parser;
use Leafo\ScssPhp\Util;

/**
 * The scss compiler and parser.
 *
 * Converting SCSS to CSS is a three stage process. The incoming file is parsed
 * by `Parser` into a syntax tree, then it is compiled into another tree
 * representing the CSS structure by `Compiler`. The CSS tree is fed into a
 * formatter, like `Formatter` which then outputs CSS as a string.
 *
 * During the first compile, all values are *reduced*, which means that their
 * types are brought to the lowest form before being dump as strings. This
 * handles math equations, variable dereferences, and the like.
 *
 * The `compile` function of `Compiler` is the entry point.
 *
 * In summary:
 *
 * The `Compiler` class creates an instance of the parser, feeds it SCSS code,
 * then transforms the resulting tree to a CSS tree. This class also holds the
 * evaluation context, such as all available mixins and variables at any given
 * time.
 *
 * The `Parser` class is only concerned with parsing its input.
 *
 * The `Formatter` takes a CSS tree, and dumps it to a formatted string,
 * handling things like indentation.
 */

/**
 * SCSS compiler
 *
 * @author Leaf Corcoran <leafot@gmail.com>
 */
class Compiler
{
    const LINE_COMMENTS = 1;
    const DEBUG_INFO    = 2;

    const WITH_RULE     = 1;
    const WITH_MEDIA    = 2;
    const WITH_SUPPORTS = 4;
    const WITH_ALL      = 7;

    const SOURCE_MAP_NONE   = 0;
    const SOURCE_MAP_INLINE = 1;
    const SOURCE_MAP_FILE   = 2;

    /**
     * @var array
     */
    static protected $operatorNames = [
        '+'   => 'add',
        '-'   => 'sub',
        '*'   => 'mul',
        '/'   => 'div',
        '%'   => 'mod',

        '=='  => 'eq',
        '!='  => 'neq',
        '<'   => 'lt',
        '>'   => 'gt',

        '<='  => 'lte',
        '>='  => 'gte',
        '<=>' => 'cmp',
    ];

    /**
     * @var array
     */
    static protected $namespaces = [
        'special'  => '%',
        'mixin'    => '@',
        'function' => '^',
    ];

    static public $true         = [Type::T_KEYWORD, 'true'];
    static public $false        = [Type::T_KEYWORD, 'false'];
    static public $null         = [Type::T_NULL];
    static public $nullString   = [Type::T_STRING, '', []];
    static public $defaultValue = [Type::T_KEYWORD, ''];
    static public $selfSelector = [Type::T_SELF];
    static public $emptyList    = [Type::T_LIST, '', []];
    static public $emptyMap     = [Type::T_MAP, [], []];
    static public $emptyString  = [Type::T_STRING, '"', []];
    static public $with         = [Type::T_KEYWORD, 'with'];
    static public $without      = [Type::T_KEYWORD, 'without'];

    protected $importPaths = [''];
    protected $importCache = [];
    protected $importedFiles = [];
    protected $userFunctions = [];
    protected $registeredVars = [];
    protected $registeredFeatures = [
        'extend-selector-pseudoclass' => false,
        'at-error'                    => true,
        'units-level-3'               => false,
        'global-variable-shadowing'   => false,
    ];

    protected $encoding = null;
    protected $lineNumberStyle = null;

    protected $sourceMap = self::SOURCE_MAP_NONE;
    protected $sourceMapOptions = [];

    /**
     * @var string|\Leafo\ScssPhp\Formatter
     */
    protected $formatter = 'Leafo\ScssPhp\Formatter\Nested';

    protected $rootEnv;
    protected $rootBlock;

    /**
     * @var \Leafo\ScssPhp\Compiler\Environment
     */
    protected $env;
    protected $scope;
    protected $storeEnv;
    protected $charsetSeen;
    protected $sourceNames;

    protected $cache;

    protected $indentLevel;
    protected $extends;
    protected $extendsMap;
    protected $parsedFiles;
    protected $parser;
    protected $sourceIndex;
    protected $sourceLine;
    protected $sourceColumn;
    protected $stderr;
    protected $shouldEvaluate;
    protected $ignoreErrors;

    protected $callStack = [];

    /**
     * Constructor
     */
    public function __construct($cacheOptions = null)
    {
        $this->parsedFiles = [];
        $this->sourceNames = [];

        if ($cacheOptions) {
            $this->cache = new Cache($cacheOptions);
        }
    }

    public function getCompileOptions()
    {
        $options = [
            'importPaths'        => $this->importPaths,
            'registeredVars'     => $this->registeredVars,
            'registeredFeatures' => $this->registeredFeatures,
            'encoding'           => $this->encoding,
            'sourceMap'          => serialize($this->sourceMap),
            'sourceMapOptions'   => $this->sourceMapOptions,
            'formatter'          => $this->formatter,
        ];

        return $options;
    }

    /**
     * Compile scss
     *
     * @api
     *
     * @param string $code
     * @param string $path
     *
     * @return string
     */
    public function compile($code, $path = null)
    {
        if ($this->cache) {
            $cacheKey = ($path ? $path : "(stdin)") . ":" . md5($code);
            $compileOptions = $this->getCompileOptions();
            $cache = $this->cache->getCache("compile", $cacheKey, $compileOptions);

            if (is_array($cache)
                && isset($cache['dependencies'])
                && isset($cache['out'])
            ) {
                // check if any dependency file changed before accepting the cache
                foreach ($cache['dependencies'] as $file => $mtime) {
                    if (! file_exists($file)
                        || filemtime($file) !== $mtime
                    ) {
                        unset($cache);
                        break;
                    }
                }

                if (isset($cache)) {
                    return $cache['out'];
                }
            }
        }


        $this->indentLevel    = -1;
        $this->extends        = [];
        $this->extendsMap     = [];
        $this->sourceIndex    = null;
        $this->sourceLine     = null;
        $this->sourceColumn   = null;
        $this->env            = null;
        $this->scope          = null;
        $this->storeEnv       = null;
        $this->charsetSeen    = null;
        $this->shouldEvaluate = null;
        $this->stderr         = fopen('php://stderr', 'w');

        $this->parser = $this->parserFactory($path);
        $tree = $this->parser->parse($code);
        $this->parser = null;

        $this->formatter = new $this->formatter();
        $this->rootBlock = null;
        $this->rootEnv   = $this->pushEnv($tree);

        $this->injectVariables($this->registeredVars);
        $this->compileRoot($tree);
        $this->popEnv();

        $sourceMapGenerator = null;

        if ($this->sourceMap) {
            if (is_object($this->sourceMap) && $this->sourceMap instanceof SourceMapGenerator) {
                $sourceMapGenerator = $this->sourceMap;
                $this->sourceMap = self::SOURCE_MAP_FILE;
            } elseif ($this->sourceMap !== self::SOURCE_MAP_NONE) {
                $sourceMapGenerator = new SourceMapGenerator($this->sourceMapOptions);
            }
        }

        $out = $this->formatter->format($this->scope, $sourceMapGenerator);

        if (! empty($out) && $this->sourceMap && $this->sourceMap !== self::SOURCE_MAP_NONE) {
            $sourceMap    = $sourceMapGenerator->generateJson();
            $sourceMapUrl = null;

            switch ($this->sourceMap) {
                case self::SOURCE_MAP_INLINE:
                    $sourceMapUrl = sprintf('data:application/json,%s', Util::encodeURIComponent($sourceMap));
                    break;

                case self::SOURCE_MAP_FILE:
                    $sourceMapUrl = $sourceMapGenerator->saveMap($sourceMap);
                    break;
            }

            $out .= sprintf('/*# sourceMappingURL=%s */', $sourceMapUrl);
        }

        if ($this->cache && isset($cacheKey) && isset($compileOptions)) {
            $v = [
                'dependencies' => $this->getParsedFiles(),
                'out' => &$out,
            ];

            $this->cache->setCache("compile", $cacheKey, $v, $compileOptions);
        }

        return $out;
    }

    /**
     * Instantiate parser
     *
     * @param string $path
     *
     * @return \Leafo\ScssPhp\Parser
     */
    protected function parserFactory($path)
    {
        $parser = new Parser($path, count($this->sourceNames), $this->encoding, $this->cache);

        $this->sourceNames[] = $path;
        $this->addParsedFile($path);

        return $parser;
    }

    /**
     * Is self extend?
     *
     * @param array $target
     * @param array $origin
     *
     * @return boolean
     */
    protected function isSelfExtend($target, $origin)
    {
        foreach ($origin as $sel) {
            if (in_array($target, $sel)) {
                return true;
            }
        }

        return false;
    }

    /**
     * Push extends
     *
     * @param array     $target
     * @param array     $origin
     * @param \stdClass $block
     */
    protected function pushExtends($target, $origin, $block)
    {
        if ($this->isSelfExtend($target, $origin)) {
            return;
        }

        $i = count($this->extends);
        $this->extends[] = [$target, $origin, $block];

        foreach ($target as $part) {
            if (isset($this->extendsMap[$part])) {
                $this->extendsMap[$part][] = $i;
            } else {
                $this->extendsMap[$part] = [$i];
            }
        }
    }

    /**
     * Make output block
     *
     * @param string $type
     * @param array  $selectors
     *
     * @return \Leafo\ScssPhp\Formatter\OutputBlock
     */
    protected function makeOutputBlock($type, $selectors = null)
    {
        $out = new OutputBlock;
        $out->type         = $type;
        $out->lines        = [];
        $out->children     = [];
        $out->parent       = $this->scope;
        $out->selectors    = $selectors;
        $out->depth        = $this->env->depth;

        if ($this->env->block instanceof Block) {
            $out->sourceName   = $this->env->block->sourceName;
            $out->sourceLine   = $this->env->block->sourceLine;
            $out->sourceColumn = $this->env->block->sourceColumn;
        } else {
            $out->sourceName   = null;
            $out->sourceLine   = null;
            $out->sourceColumn = null;
        }

        return $out;
    }

    /**
     * Compile root
     *
     * @param \Leafo\ScssPhp\Block $rootBlock
     */
    protected function compileRoot(Block $rootBlock)
    {
        $this->rootBlock = $this->scope = $this->makeOutputBlock(Type::T_ROOT);

        $this->compileChildrenNoReturn($rootBlock->children, $this->scope);
        $this->flattenSelectors($this->scope);
        $this->missingSelectors();
    }

    /**
     * Report missing selectors
     */
    protected function missingSelectors()
    {
        foreach ($this->extends as $extend) {
            if (isset($extend[3])) {
                continue;
            }

            list($target, $origin, $block) = $extend;

            // ignore if !optional
            if ($block[2]) {
                continue;
            }

            $target = implode(' ', $target);
            $origin = $this->collapseSelectors($origin);

            $this->sourceLine = $block[Parser::SOURCE_LINE];
            $this->throwError("\"$origin\" failed to @extend \"$target\". The selector \"$target\" was not found.");
        }
    }

    /**
     * Flatten selectors
     *
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $block
     * @param string                               $parentKey
     */
    protected function flattenSelectors(OutputBlock $block, $parentKey = null)
    {
        if ($block->selectors) {
            $selectors = [];

            foreach ($block->selectors as $s) {
                $selectors[] = $s;

                if (! is_array($s)) {
                    continue;
                }

                // check extends
                if (! empty($this->extendsMap)) {
                    $this->matchExtends($s, $selectors);

                    // remove duplicates
                    array_walk($selectors, function (&$value) {
                        $value = serialize($value);
                    });

                    $selectors = array_unique($selectors);

                    array_walk($selectors, function (&$value) {
                        $value = unserialize($value);
                    });
                }
            }

            $block->selectors = [];
            $placeholderSelector = false;

            foreach ($selectors as $selector) {
                if ($this->hasSelectorPlaceholder($selector)) {
                    $placeholderSelector = true;
                    continue;
                }

                $block->selectors[] = $this->compileSelector($selector);
            }

            if ($placeholderSelector && 0 === count($block->selectors) && null !== $parentKey) {
                unset($block->parent->children[$parentKey]);

                return;
            }
        }

        foreach ($block->children as $key => $child) {
            $this->flattenSelectors($child, $key);
        }
    }

    /**
     * Glue parts of :not( or :nth-child( ... that are in general splitted in selectors parts
     *
     * @param array $parts
     *
     * @return array
     */
    protected function glueFunctionSelectors($parts)
    {
        $new = [];

        foreach ($parts as $part) {
            if (is_array($part)) {
                $part = $this->glueFunctionSelectors($part);
                $new[] = $part;
            } else {
                // a selector part finishing with a ) is the last part of a :not( or :nth-child(
                // and need to be joined to this
                if (count($new) && is_string($new[count($new) - 1])
                    && strlen($part) && substr($part, -1) === ')' && strpos($part, '(') === false
                ) {
                    $new[count($new) - 1] .= $part;
                } else {
                    $new[] = $part;
                }
            }
        }

        return $new;
    }

    /**
     * Match extends
     *
     * @param array   $selector
     * @param array   $out
     * @param integer $from
     * @param boolean $initial
     */
    protected function matchExtends($selector, &$out, $from = 0, $initial = true)
    {
        static $partsPile = [];

        $selector = $this->glueFunctionSelectors($selector);

        foreach ($selector as $i => $part) {
            if ($i < $from) {
                continue;
            }

            // check that we are not building an infinite loop of extensions
            // if the new part is just including a previous part don't try to extend anymore
            if (count($part) > 1) {
                foreach ($partsPile as $previousPart) {
                    if (! count(array_diff($previousPart, $part))) {
                        continue 2;
                    }
                }
            }

            if ($this->matchExtendsSingle($part, $origin)) {
                $partsPile[] = $part;
                $after       = array_slice($selector, $i + 1);
                $before      = array_slice($selector, 0, $i);

                list($before, $nonBreakableBefore) = $this->extractRelationshipFromFragment($before);

                foreach ($origin as $new) {
                    $k = 0;

                    // remove shared parts
                    if (count($new) > 1) {
                        while ($k < $i && isset($new[$k]) && $selector[$k] === $new[$k]) {
                            $k++;
                        }
                    }

                    $replacement = [];
                    $tempReplacement = $k > 0 ? array_slice($new, $k) : $new;

                    for ($l = count($tempReplacement) - 1; $l >= 0; $l--) {
                        $slice = [];

                        foreach ($tempReplacement[$l] as $chunk) {
                            if (! in_array($chunk, $slice)) {
                                $slice[] = $chunk;
                            }
                        }

                        array_unshift($replacement, $slice);

                        if (! $this->isImmediateRelationshipCombinator(end($slice))) {
                            break;
                        }
                    }

                    $afterBefore = $l != 0 ? array_slice($tempReplacement, 0, $l) : [];

                    // Merge shared direct relationships.
                    $mergedBefore = $this->mergeDirectRelationships($afterBefore, $nonBreakableBefore);

                    $result = array_merge(
                        $before,
                        $mergedBefore,
                        $replacement,
                        $after
                    );

                    if ($result === $selector) {
                        continue;
                    }

                    $out[] = $result;

                    // recursively check for more matches
                    $startRecurseFrom = count($before) + min(count($nonBreakableBefore), count($mergedBefore));
                    $this->matchExtends($result, $out, $startRecurseFrom, false);

                    // selector sequence merging
                    if (! empty($before) && count($new) > 1) {
                        $preSharedParts = $k > 0 ? array_slice($before, 0, $k) : [];
                        $postSharedParts = $k > 0 ? array_slice($before, $k) : $before;

                        list($betweenSharedParts, $nonBreakable2) = $this->extractRelationshipFromFragment($afterBefore);

                        $result2 = array_merge(
                            $preSharedParts,
                            $betweenSharedParts,
                            $postSharedParts,
                            $nonBreakable2,
                            $nonBreakableBefore,
                            $replacement,
                            $after
                        );

                        $out[] = $result2;
                    }
                }

                array_pop($partsPile);
            }
        }
    }

    /**
     * Match extends single
     *
     * @param array $rawSingle
     * @param array $outOrigin
     *
     * @return boolean
     */
    protected function matchExtendsSingle($rawSingle, &$outOrigin)
    {
        $counts = [];
        $single = [];

        // simple usual cases, no need to do the whole trick
        if (in_array($rawSingle, [['>'],['+'],['~']])) {
            return false;
        }

        foreach ($rawSingle as $part) {
            // matches Number
            if (! is_string($part)) {
                return false;
            }

            if (! preg_match('/^[\[.:#%]/', $part) && count($single)) {
                $single[count($single) - 1] .= $part;
            } else {
                $single[] = $part;
            }
        }

        $extendingDecoratedTag = false;

        if (count($single) > 1) {
            $matches = null;
            $extendingDecoratedTag = preg_match('/^[a-z0-9]+$/i', $single[0], $matches) ? $matches[0] : false;
        }

        foreach ($single as $part) {
            if (isset($this->extendsMap[$part])) {
                foreach ($this->extendsMap[$part] as $idx) {
                    $counts[$idx] = isset($counts[$idx]) ? $counts[$idx] + 1 : 1;
                }
            }
        }

        $outOrigin = [];
        $found = false;

        foreach ($counts as $idx => $count) {
            list($target, $origin, /* $block */) = $this->extends[$idx];

            $origin = $this->glueFunctionSelectors($origin);

            // check count
            if ($count !== count($target)) {
                continue;
            }

            $this->extends[$idx][3] = true;

            $rem = array_diff($single, $target);

            foreach ($origin as $j => $new) {
                // prevent infinite loop when target extends itself
                if ($this->isSelfExtend($single, $origin)) {
                    return false;
                }

                $replacement = end($new);

                // Extending a decorated tag with another tag is not possible.
                if ($extendingDecoratedTag && $replacement[0] != $extendingDecoratedTag &&
                    preg_match('/^[a-z0-9]+$/i', $replacement[0])
                ) {
                    unset($origin[$j]);
                    continue;
                }

                $combined = $this->combineSelectorSingle($replacement, $rem);

                if (count(array_diff($combined, $origin[$j][count($origin[$j]) - 1]))) {
                    $origin[$j][count($origin[$j]) - 1] = $combined;
                }
            }

            $outOrigin = array_merge($outOrigin, $origin);

            $found = true;
        }

        return $found;
    }

    /**
     * Extract a relationship from the fragment.
     *
     * When extracting the last portion of a selector we will be left with a
     * fragment which may end with a direction relationship combinator. This
     * method will extract the relationship fragment and return it along side
     * the rest.
     *
     * @param array $fragment The selector fragment maybe ending with a direction relationship combinator.
     *
     * @return array The selector without the relationship fragment if any, the relationship fragment.
     */
    protected function extractRelationshipFromFragment(array $fragment)
    {
        $parents = [];
        $children = [];
        $j = $i = count($fragment);

        for (;;) {
            $children = $j != $i ? array_slice($fragment, $j, $i - $j) : [];
            $parents = array_slice($fragment, 0, $j);
            $slice = end($parents);

            if (empty($slice) || ! $this->isImmediateRelationshipCombinator($slice[0])) {
                break;
            }

            $j -= 2;
        }

        return [$parents, $children];
    }

    /**
     * Combine selector single
     *
     * @param array $base
     * @param array $other
     *
     * @return array
     */
    protected function combineSelectorSingle($base, $other)
    {
        $tag = [];
        $out = [];
        $wasTag = true;

        foreach ([$base, $other] as $single) {
            foreach ($single as $part) {
                if (preg_match('/^[\[.:#]/', $part)) {
                    $out[] = $part;
                    $wasTag = false;
                } elseif (preg_match('/^[^_-]/', $part)) {
                    $tag[] = $part;
                    $wasTag = true;
                } elseif ($wasTag) {
                    $tag[count($tag) - 1] .= $part;
                } else {
                    $out[count($out) - 1] .= $part;
                }
            }
        }

        if (count($tag)) {
            array_unshift($out, $tag[0]);
        }

        return $out;
    }

    /**
     * Compile media
     *
     * @param \Leafo\ScssPhp\Block $media
     */
    protected function compileMedia(Block $media)
    {
        $this->pushEnv($media);

        $mediaQueries = $this->compileMediaQuery($this->multiplyMedia($this->env));

        if (! empty($mediaQueries) && $mediaQueries) {
            $previousScope = $this->scope;
            $parentScope = $this->mediaParent($this->scope);

            foreach ($mediaQueries as $mediaQuery) {
                $this->scope = $this->makeOutputBlock(Type::T_MEDIA, [$mediaQuery]);

                $parentScope->children[] = $this->scope;
                $parentScope = $this->scope;
            }

            // top level properties in a media cause it to be wrapped
            $needsWrap = false;

            foreach ($media->children as $child) {
                $type = $child[0];

                if ($type !== Type::T_BLOCK &&
                    $type !== Type::T_MEDIA &&
                    $type !== Type::T_DIRECTIVE &&
                    $type !== Type::T_IMPORT
                ) {
                    $needsWrap = true;
                    break;
                }
            }

            if ($needsWrap) {
                $wrapped = new Block;
                $wrapped->sourceName = $media->sourceName;
                $wrapped->sourceIndex = $media->sourceIndex;
                $wrapped->sourceLine = $media->sourceLine;
                $wrapped->sourceColumn = $media->sourceColumn;
                $wrapped->selectors = [];
                $wrapped->comments = [];
                $wrapped->parent = $media;
                $wrapped->children = $media->children;

                $media->children = [[Type::T_BLOCK, $wrapped]];
                if (isset($this->lineNumberStyle)) {
                    $annotation = $this->makeOutputBlock(Type::T_COMMENT);
                    $annotation->depth = 0;

                    $file = $this->sourceNames[$media->sourceIndex];
                    $line = $media->sourceLine;

                    switch ($this->lineNumberStyle) {
                        case static::LINE_COMMENTS:
                            $annotation->lines[] = '/* line ' . $line
                                                 . ($file ? ', ' . $file : '')
                                                 . ' */';
                            break;

                        case static::DEBUG_INFO:
                            $annotation->lines[] = '@media -sass-debug-info{'
                                                 . ($file ? 'filename{font-family:"' . $file . '"}' : '')
                                                 . 'line{font-family:' . $line . '}}';
                            break;
                    }

                    $this->scope->children[] = $annotation;
                }
            }

            $this->compileChildrenNoReturn($media->children, $this->scope);

            $this->scope = $previousScope;
        }

        $this->popEnv();
    }

    /**
     * Media parent
     *
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $scope
     *
     * @return \Leafo\ScssPhp\Formatter\OutputBlock
     */
    protected function mediaParent(OutputBlock $scope)
    {
        while (! empty($scope->parent)) {
            if (! empty($scope->type) && $scope->type !== Type::T_MEDIA) {
                break;
            }

            $scope = $scope->parent;
        }

        return $scope;
    }

    /**
     * Compile directive
     *
     * @param \Leafo\ScssPhp\Block $block
     */
    protected function compileDirective(Block $block)
    {
        $s = '@' . $block->name;

        if (! empty($block->value)) {
            $s .= ' ' . $this->compileValue($block->value);
        }

        if ($block->name === 'keyframes' || substr($block->name, -10) === '-keyframes') {
            $this->compileKeyframeBlock($block, [$s]);
        } else {
            $this->compileNestedBlock($block, [$s]);
        }
    }

    /**
     * Compile at-root
     *
     * @param \Leafo\ScssPhp\Block $block
     */
    protected function compileAtRoot(Block $block)
    {
        $env     = $this->pushEnv($block);
        $envs    = $this->compactEnv($env);
        $without = isset($block->with) ? $this->compileWith($block->with) : static::WITH_RULE;

        // wrap inline selector
        if ($block->selector) {
            $wrapped = new Block;
            $wrapped->sourceName   = $block->sourceName;
            $wrapped->sourceIndex  = $block->sourceIndex;
            $wrapped->sourceLine   = $block->sourceLine;
            $wrapped->sourceColumn = $block->sourceColumn;
            $wrapped->selectors    = $block->selector;
            $wrapped->comments     = [];
            $wrapped->parent       = $block;
            $wrapped->children     = $block->children;
            $wrapped->selfParent   = $block->selfParent;

            $block->children = [[Type::T_BLOCK, $wrapped]];
            $block->selector = null;
        }

        $selfParent = $block->selfParent;

        if (! $block->selfParent->selectors && isset($block->parent) && $block->parent &&
            isset($block->parent->selectors) && $block->parent->selectors
        ) {
            $selfParent = $block->parent;
        }

        $this->env = $this->filterWithout($envs, $without);

        $saveScope   = $this->scope;
        $this->scope = $this->filterScopeWithout($saveScope, $without);

        // propagate selfParent to the children where they still can be useful
        $this->compileChildrenNoReturn($block->children, $this->scope, $selfParent);

        $this->scope = $this->completeScope($this->scope, $saveScope);
        $this->scope = $saveScope;
        $this->env   = $this->extractEnv($envs);

        $this->popEnv();
    }

    /**
     * Filter at-root scope depending of with/without option
     *
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $scope
     * @param mixed                                $without
     *
     * @return mixed
     */
    protected function filterScopeWithout($scope, $without)
    {
        $filteredScopes = [];

        if ($scope->type === TYPE::T_ROOT) {
            return $scope;
        }

        // start from the root
        while ($scope->parent && $scope->parent->type !== TYPE::T_ROOT) {
            $scope = $scope->parent;
        }

        for (;;) {
            if (! $scope) {
                break;
            }

            if (! $this->isWithout($without, $scope)) {
                $s = clone $scope;
                $s->children = [];
                $s->lines = [];
                $s->parent = null;

                if ($s->type !== Type::T_MEDIA && $s->type !== Type::T_DIRECTIVE) {
                    $s->selectors = [];
                }

                $filteredScopes[] = $s;
            }

            if ($scope->children) {
                $scope = end($scope->children);
            } else {
                $scope = null;
            }
        }

        if (! count($filteredScopes)) {
            return $this->rootBlock;
        }

        $newScope = array_shift($filteredScopes);
        $newScope->parent = $this->rootBlock;

        $this->rootBlock->children[] = $newScope;

        $p = &$newScope;

        while (count($filteredScopes)) {
            $s = array_shift($filteredScopes);
            $s->parent = $p;
            $p->children[] = &$s;
            $p = $s;
        }

        return $newScope;
    }

    /**
     * found missing selector from a at-root compilation in the previous scope
     * (if at-root is just enclosing a property, the selector is in the parent tree)
     *
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $scope
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $previousScope
     *
     * @return mixed
     */
    protected function completeScope($scope, $previousScope)
    {
        if (! $scope->type && (! $scope->selectors || ! count($scope->selectors)) && count($scope->lines)) {
            $scope->selectors = $this->findScopeSelectors($previousScope, $scope->depth);
        }

        if ($scope->children) {
            foreach ($scope->children as $k => $c) {
                $scope->children[$k] = $this->completeScope($c, $previousScope);
            }
        }

        return $scope;
    }

    /**
     * Find a selector by the depth node in the scope
     *
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $scope
     * @param integer                              $depth
     *
     * @return array
     */
    protected function findScopeSelectors($scope, $depth)
    {
        if ($scope->depth === $depth && $scope->selectors) {
            return $scope->selectors;
        }

        if ($scope->children) {
            foreach (array_reverse($scope->children) as $c) {
                if ($s = $this->findScopeSelectors($c, $depth)) {
                    return $s;
                }
            }
        }

        return [];
    }

    /**
     * Compile @at-root's with: inclusion / without: exclusion into filter flags
     *
     * @param array $with
     *
     * @return integer
     */
    protected function compileWith($with)
    {
        static $mapping = [
            'rule'     => self::WITH_RULE,
            'media'    => self::WITH_MEDIA,
            'supports' => self::WITH_SUPPORTS,
            'all'      => self::WITH_ALL,
        ];

        // exclude selectors by default
        $without = static::WITH_RULE;

        if ($this->libMapHasKey([$with, static::$with])) {
            $without = static::WITH_ALL;

            $list = $this->coerceList($this->libMapGet([$with, static::$with]));

            foreach ($list[2] as $item) {
                $keyword = $this->compileStringContent($this->coerceString($item));

                if (array_key_exists($keyword, $mapping)) {
                    $without &= ~($mapping[$keyword]);
                }
            }
        }

        if ($this->libMapHasKey([$with, static::$without])) {
            $without = 0;

            $list = $this->coerceList($this->libMapGet([$with, static::$without]));

            foreach ($list[2] as $item) {
                $keyword = $this->compileStringContent($this->coerceString($item));

                if (array_key_exists($keyword, $mapping)) {
                    $without |= $mapping[$keyword];
                }
            }
        }

        return $without;
    }

    /**
     * Filter env stack
     *
     * @param array   $envs
     * @param integer $without
     *
     * @return \Leafo\ScssPhp\Compiler\Environment
     */
    protected function filterWithout($envs, $without)
    {
        $filtered = [];

        foreach ($envs as $e) {
            if ($e->block && $this->isWithout($without, $e->block)) {
                $ec = clone $e;
                $ec->block = null;
                $ec->selectors = [];
                $filtered[] = $ec;
            } else {
                $filtered[] = $e;
            }
        }

        return $this->extractEnv($filtered);
    }

    /**
     * Filter WITH rules
     *
     * @param integer                                                   $without
     * @param \Leafo\ScssPhp\Block|\Leafo\ScssPhp\Formatter\OutputBlock $block
     *
     * @return boolean
     */
    protected function isWithout($without, $block)
    {
        if (isset($block->type)) {
            if ($block->type === Type::T_MEDIA) {
                return ($without & static::WITH_MEDIA) ? true : false;
            }

            if ($block->type === Type::T_DIRECTIVE) {
                if (isset($block->name) && $block->name === 'supports') {
                    return ($without & static::WITH_SUPPORTS) ? true : false;
                }

                if (isset($block->selectors) && strpos(serialize($block->selectors), '@supports') !== false) {
                    return ($without & static::WITH_SUPPORTS) ? true : false;
                }
            }
        }

        if ((($without & static::WITH_RULE) && isset($block->selectors))) {
            return true;
        }

        return false;
    }

    /**
     * Compile keyframe block
     *
     * @param \Leafo\ScssPhp\Block $block
     * @param array                $selectors
     */
    protected function compileKeyframeBlock(Block $block, $selectors)
    {
        $env = $this->pushEnv($block);

        $envs = $this->compactEnv($env);

        $this->env = $this->extractEnv(array_filter($envs, function (Environment $e) {
            return ! isset($e->block->selectors);
        }));

        $this->scope = $this->makeOutputBlock($block->type, $selectors);
        $this->scope->depth = 1;
        $this->scope->parent->children[] = $this->scope;

        $this->compileChildrenNoReturn($block->children, $this->scope);

        $this->scope = $this->scope->parent;
        $this->env   = $this->extractEnv($envs);

        $this->popEnv();
    }

    /**
     * Compile nested block
     *
     * @param \Leafo\ScssPhp\Block $block
     * @param array                $selectors
     */
    protected function compileNestedBlock(Block $block, $selectors)
    {
        $this->pushEnv($block);

        $this->scope = $this->makeOutputBlock($block->type, $selectors);
        $this->scope->parent->children[] = $this->scope;

        // wrap assign children in a block
        // except for @font-face
        if ($block->type !== Type::T_DIRECTIVE || $block->name !== "font-face") {
            // need wrapping?
            $needWrapping = false;

            foreach ($block->children as $child) {
                if ($child[0] === Type::T_ASSIGN) {
                    $needWrapping = true;
                    break;
                }
            }

            if ($needWrapping) {
                $wrapped = new Block;
                $wrapped->sourceName = $block->sourceName;
                $wrapped->sourceIndex = $block->sourceIndex;
                $wrapped->sourceLine = $block->sourceLine;
                $wrapped->sourceColumn = $block->sourceColumn;
                $wrapped->selectors = [];
                $wrapped->comments = [];
                $wrapped->parent = $block;
                $wrapped->children = $block->children;
                $wrapped->selfParent = $block->selfParent;

                $block->children = [[Type::T_BLOCK, $wrapped]];
            }
        }

        $this->compileChildrenNoReturn($block->children, $this->scope);

        $this->scope = $this->scope->parent;

        $this->popEnv();
    }

    /**
     * Recursively compiles a block.
     *
     * A block is analogous to a CSS block in most cases. A single SCSS document
     * is encapsulated in a block when parsed, but it does not have parent tags
     * so all of its children appear on the root level when compiled.
     *
     * Blocks are made up of selectors and children.
     *
     * The children of a block are just all the blocks that are defined within.
     *
     * Compiling the block involves pushing a fresh environment on the stack,
     * and iterating through the props, compiling each one.
     *
     * @see Compiler::compileChild()
     *
     * @param \Leafo\ScssPhp\Block $block
     */
    protected function compileBlock(Block $block)
    {
        $env = $this->pushEnv($block);
        $env->selectors = $this->evalSelectors($block->selectors);

        $out = $this->makeOutputBlock(null);

        if (isset($this->lineNumberStyle) && count($env->selectors) && count($block->children)) {
            $annotation = $this->makeOutputBlock(Type::T_COMMENT);
            $annotation->depth = 0;

            $file = $this->sourceNames[$block->sourceIndex];
            $line = $block->sourceLine;

            switch ($this->lineNumberStyle) {
                case static::LINE_COMMENTS:
                    $annotation->lines[] = '/* line ' . $line
                                         . ($file ? ', ' . $file : '')
                                         . ' */';
                    break;

                case static::DEBUG_INFO:
                    $annotation->lines[] = '@media -sass-debug-info{'
                                         . ($file ? 'filename{font-family:"' . $file . '"}' : '')
                                         . 'line{font-family:' . $line . '}}';
                    break;
            }

            $this->scope->children[] = $annotation;
        }

        $this->scope->children[] = $out;

        if (count($block->children)) {
            $out->selectors = $this->multiplySelectors($env, $block->selfParent);

            // propagate selfParent to the children where they still can be useful
            $selfParentSelectors = null;

            if (isset($block->selfParent->selectors)) {
                $selfParentSelectors = $block->selfParent->selectors;
                $block->selfParent->selectors = $out->selectors;
            }

            $this->compileChildrenNoReturn($block->children, $out, $block->selfParent);

            // and revert for the following childs of the same block
            if ($selfParentSelectors) {
                $block->selfParent->selectors = $selfParentSelectors;
            }
        }

        $this->formatter->stripSemicolon($out->lines);

        $this->popEnv();
    }

    /**
     * Compile root level comment
     *
     * @param array $block
     */
    protected function compileComment($block)
    {
        $out = $this->makeOutputBlock(Type::T_COMMENT);
        $out->lines[] = is_string($block[1]) ? $block[1] : $this->compileValue($block[1]);

        $this->scope->children[] = $out;
    }

    /**
     * Evaluate selectors
     *
     * @param array $selectors
     *
     * @return array
     */
    protected function evalSelectors($selectors)
    {
        $this->shouldEvaluate = false;

        $selectors = array_map([$this, 'evalSelector'], $selectors);

        // after evaluating interpolates, we might need a second pass
        if ($this->shouldEvaluate) {
            $selectors = $this->revertSelfSelector($selectors);
            $buffer = $this->collapseSelectors($selectors);
            $parser = $this->parserFactory(__METHOD__);

            if ($parser->parseSelector($buffer, $newSelectors)) {
                $selectors = array_map([$this, 'evalSelector'], $newSelectors);
            }
        }

        return $selectors;
    }

    /**
     * Evaluate selector
     *
     * @param array $selector
     *
     * @return array
     */
    protected function evalSelector($selector)
    {
        return array_map([$this, 'evalSelectorPart'], $selector);
    }

    /**
     * Evaluate selector part; replaces all the interpolates, stripping quotes
     *
     * @param array $part
     *
     * @return array
     */
    protected function evalSelectorPart($part)
    {
        foreach ($part as &$p) {
            if (is_array($p) && ($p[0] === Type::T_INTERPOLATE || $p[0] === Type::T_STRING)) {
                $p = $this->compileValue($p);

                // force re-evaluation
                if (strpos($p, '&') !== false || strpos($p, ',') !== false) {
                    $this->shouldEvaluate = true;
                }
            } elseif (is_string($p) && strlen($p) >= 2 &&
                ($first = $p[0]) && ($first === '"' || $first === "'") &&
                substr($p, -1) === $first
            ) {
                $p = substr($p, 1, -1);
            }
        }

        return $this->flattenSelectorSingle($part);
    }

    /**
     * Collapse selectors
     *
     * @param array   $selectors
     * @param boolean $selectorFormat
     *   if false return a collapsed string
     *   if true return an array description of a structured selector
     *
     * @return string
     */
    protected function collapseSelectors($selectors, $selectorFormat = false)
    {
        $parts = [];

        foreach ($selectors as $selector) {
            $output = [];
            $glueNext = false;

            foreach ($selector as $node) {
                $compound = '';

                array_walk_recursive(
                    $node,
                    function ($value, $key) use (&$compound) {
                        $compound .= $value;
                    }
                );

                if ($selectorFormat && $this->isImmediateRelationshipCombinator($compound)) {
                    if (count($output)) {
                        $output[count($output) - 1] .= ' ' . $compound;
                    } else {
                        $output[] = $compound;
                    }
                    $glueNext = true;
                } elseif ($glueNext) {
                    $output[count($output) - 1] .= ' ' . $compound;
                    $glueNext = false;
                } else {
                    $output[] = $compound;
                }
            }

            if ($selectorFormat) {
                foreach ($output as &$o) {
                    $o = [Type::T_STRING, '', [$o]];
                }
                $output = [Type::T_LIST, ' ', $output];
            } else {
                $output = implode(' ', $output);
            }

            $parts[] = $output;
        }

        if ($selectorFormat) {
            $parts = [Type::T_LIST, ',', $parts];
        } else {
            $parts = implode(', ', $parts);
        }

        return $parts;
    }

    /**
     * Parse down the selector and revert [self] to "&" before a reparsing
     *
     * @param array $selectors
     *
     * @return array
     */
    protected function revertSelfSelector($selectors)
    {
        foreach ($selectors as &$part) {
            if (is_array($part)) {
                if ($part === [Type::T_SELF]) {
                    $part = '&';
                } else {
                    $part = $this->revertSelfSelector($part);
                }
            }
        }

        return $selectors;
    }

    /**
     * Flatten selector single; joins together .classes and #ids
     *
     * @param array $single
     *
     * @return array
     */
    protected function flattenSelectorSingle($single)
    {
        $joined = [];

        foreach ($single as $part) {
            if (empty($joined) ||
                ! is_string($part) ||
                preg_match('/[\[.:#%]/', $part)
            ) {
                $joined[] = $part;
                continue;
            }

            if (is_array(end($joined))) {
                $joined[] = $part;
            } else {
                $joined[count($joined) - 1] .= $part;
            }
        }

        return $joined;
    }

    /**
     * Compile selector to string; self(&) should have been replaced by now
     *
     * @param string|array $selector
     *
     * @return string
     */
    protected function compileSelector($selector)
    {
        if (! is_array($selector)) {
            return $selector; // media and the like
        }

        return implode(
            ' ',
            array_map(
                [$this, 'compileSelectorPart'],
                $selector
            )
        );
    }

    /**
     * Compile selector part
     *
     * @param array $piece
     *
     * @return string
     */
    protected function compileSelectorPart($piece)
    {
        foreach ($piece as &$p) {
            if (! is_array($p)) {
                continue;
            }

            switch ($p[0]) {
                case Type::T_SELF:
                    $p = '&';
                    break;

                default:
                    $p = $this->compileValue($p);
                    break;
            }
        }

        return implode($piece);
    }

    /**
     * Has selector placeholder?
     *
     * @param array $selector
     *
     * @return boolean
     */
    protected function hasSelectorPlaceholder($selector)
    {
        if (! is_array($selector)) {
            return false;
        }

        foreach ($selector as $parts) {
            foreach ($parts as $part) {
                if (strlen($part) && '%' === $part[0]) {
                    return true;
                }
            }
        }

        return false;
    }

    protected function pushCallStack($name = '')
    {
        $this->callStack[] = [
          'n' => $name,
          Parser::SOURCE_INDEX => $this->sourceIndex,
          Parser::SOURCE_LINE => $this->sourceLine,
          Parser::SOURCE_COLUMN => $this->sourceColumn
        ];

        // infinite calling loop
        if (count($this->callStack) > 25000) {
            // not displayed but you can var_dump it to deep debug
            $msg = $this->callStackMessage(true, 100);
            $msg = "Infinite calling loop";
            $this->throwError($msg);
        }
    }

    protected function popCallStack()
    {
        array_pop($this->callStack);
    }

    /**
     * Compile children and return result
     *
     * @param array                                $stms
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $out
     * @param string                               $traceName
     *
     * @return array|null
     */
    protected function compileChildren($stms, OutputBlock $out, $traceName = '')
    {
        $this->pushCallStack($traceName);

        foreach ($stms as $stm) {
            $ret = $this->compileChild($stm, $out);

            if (isset($ret)) {
                return $ret;
            }
        }

        $this->popCallStack();

        return null;
    }

    /**
     * Compile children and throw exception if unexpected @return
     *
     * @param array                                $stms
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $out
     * @param \Leafo\ScssPhp\Block                 $selfParent
     * @param string                               $traceName
     *
     * @throws \Exception
     */
    protected function compileChildrenNoReturn($stms, OutputBlock $out, $selfParent = null, $traceName = '')
    {
        $this->pushCallStack($traceName);

        foreach ($stms as $stm) {
            if ($selfParent && isset($stm[1]) && is_object($stm[1]) && $stm[1] instanceof Block) {
                $stm[1]->selfParent = $selfParent;
                $ret = $this->compileChild($stm, $out);
                $stm[1]->selfParent = null;
            } elseif ($selfParent && $stm[0] === TYPE::T_INCLUDE) {
                $stm['selfParent'] = $selfParent;
                $ret = $this->compileChild($stm, $out);
                unset($stm['selfParent']);
            } else {
                $ret = $this->compileChild($stm, $out);
            }

            if (isset($ret)) {
                $this->throwError('@return may only be used within a function');

                return;
            }
        }

        $this->popCallStack();
    }


    /**
     * evaluate media query : compile internal value keeping the structure inchanged
     *
     * @param array $queryList
     *
     * @return array
     */
    protected function evaluateMediaQuery($queryList)
    {
        foreach ($queryList as $kql => $query) {
            foreach ($query as $kq => $q) {
                for ($i = 1; $i < count($q); $i++) {
                    $value = $this->compileValue($q[$i]);

                    // the parser had no mean to know if media type or expression if it was an interpolation
                    if ($q[0] == Type::T_MEDIA_TYPE &&
                        (strpos($value, '(') !== false ||
                        strpos($value, ')') !== false ||
                        strpos($value, ':') !== false)
                    ) {
                        $queryList[$kql][$kq][0] = Type::T_MEDIA_EXPRESSION;

                        if (strpos($value, 'and') !== false) {
                            $values = explode('and', $value);
                            $value = trim(array_pop($values));

                            while ($v = trim(array_pop($values))) {
                                $type = Type::T_MEDIA_EXPRESSION;

                                if (strpos($v, '(') === false &&
                                    strpos($v, ')') === false &&
                                    strpos($v, ':') === false
                                ) {
                                    $type = Type::T_MEDIA_TYPE;
                                }

                                if (substr($v, 0, 1) === '(' && substr($v, -1) === ')') {
                                    $v = substr($v, 1, -1);
                                }

                                $queryList[$kql][] = [$type,[Type::T_KEYWORD, $v]];
                            }
                        }

                        if (substr($value, 0, 1) === '(' && substr($value, -1) === ')') {
                            $value = substr($value, 1, -1);
                        }
                    }

                    $queryList[$kql][$kq][$i] = [Type::T_KEYWORD, $value];
                }
            }
        }

        return $queryList;
    }

    /**
     * Compile media query
     *
     * @param array $queryList
     *
     * @return array
     */
    protected function compileMediaQuery($queryList)
    {
        $start = '@media ';
        $default = trim($start);
        $out = [];
        $current = "";

        foreach ($queryList as $query) {
            $type = null;
            $parts = [];

            $mediaTypeOnly = true;

            foreach ($query as $q) {
                if ($q[0] !== Type::T_MEDIA_TYPE) {
                    $mediaTypeOnly = false;
                    break;
                }
            }

            foreach ($query as $q) {
                switch ($q[0]) {
                    case Type::T_MEDIA_TYPE:
                        $newType = array_map([$this, 'compileValue'], array_slice($q, 1));
                        // combining not and anything else than media type is too risky and should be avoided
                        if (! $mediaTypeOnly) {
                            if (in_array(Type::T_NOT, $newType) || ($type && in_array(Type::T_NOT, $type) )) {
                                if ($type) {
                                    array_unshift($parts, implode(' ', array_filter($type)));
                                }

                                if (! empty($parts)) {
                                    if (strlen($current)) {
                                        $current .= $this->formatter->tagSeparator;
                                    }

                                    $current .= implode(' and ', $parts);
                                }

                                if ($current) {
                                    $out[] = $start . $current;
                                }

                                $current = "";
                                $type = null;
                                $parts = [];
                            }
                        }

                        if ($newType === ['all'] && $default) {
                            $default = $start . 'all';
                        }

                        // all can be safely ignored and mixed with whatever else
                        if ($newType !== ['all']) {
                            if ($type) {
                                $type = $this->mergeMediaTypes($type, $newType);

                                if (empty($type)) {
                                    // merge failed : ignore this query that is not valid, skip to the next one
                                    $parts = [];
                                    $default = ''; // if everything fail, no @media at all
                                    continue 3;
                                }
                            } else {
                                $type = $newType;
                            }
                        }
                        break;

                    case Type::T_MEDIA_EXPRESSION:
                        if (isset($q[2])) {
                            $parts[] = '('
                                . $this->compileValue($q[1])
                                . $this->formatter->assignSeparator
                                . $this->compileValue($q[2])
                                . ')';
                        } else {
                            $parts[] = '('
                                . $this->compileValue($q[1])
                                . ')';
                        }
                        break;

                    case Type::T_MEDIA_VALUE:
                        $parts[] = $this->compileValue($q[1]);
                        break;
                }
            }

            if ($type) {
                array_unshift($parts, implode(' ', array_filter($type)));
            }

            if (! empty($parts)) {
                if (strlen($current)) {
                    $current .= $this->formatter->tagSeparator;
                }

                $current .= implode(' and ', $parts);
            }
        }

        if ($current) {
            $out[] = $start . $current;
        }

        // no @media type except all, and no conflict?
        if (! $out && $default) {
            $out[] = $default;
        }

        return $out;
    }

    /**
     * Merge direct relationships between selectors
     *
     * @param array $selectors1
     * @param array $selectors2
     *
     * @return array
     */
    protected function mergeDirectRelationships($selectors1, $selectors2)
    {
        if (empty($selectors1) || empty($selectors2)) {
            return array_merge($selectors1, $selectors2);
        }

        $part1 = end($selectors1);
        $part2 = end($selectors2);

        if (! $this->isImmediateRelationshipCombinator($part1[0]) && $part1 !== $part2) {
            return array_merge($selectors1, $selectors2);
        }

        $merged = [];

        do {
            $part1 = array_pop($selectors1);
            $part2 = array_pop($selectors2);

            if (! $this->isImmediateRelationshipCombinator($part1[0]) && $part1 !== $part2) {
                if ($this->isImmediateRelationshipCombinator(reset($merged)[0])) {
                    array_unshift($merged, [$part1[0] . $part2[0]]);
                    $merged = array_merge($selectors1, $selectors2, $merged);
                } else {
                    $merged = array_merge($selectors1, [$part1], $selectors2, [$part2], $merged);
                }

                break;
            }

            array_unshift($merged, $part1);
        } while (! empty($selectors1) && ! empty($selectors2));

        return $merged;
    }

    /**
     * Merge media types
     *
     * @param array $type1
     * @param array $type2
     *
     * @return array|null
     */
    protected function mergeMediaTypes($type1, $type2)
    {
        if (empty($type1)) {
            return $type2;
        }

        if (empty($type2)) {
            return $type1;
        }

        $m1 = '';
        $t1 = '';

        if (count($type1) > 1) {
            $m1= strtolower($type1[0]);
            $t1= strtolower($type1[1]);
        } else {
            $t1 = strtolower($type1[0]);
        }

        $m2 = '';
        $t2 = '';

        if (count($type2) > 1) {
            $m2 = strtolower($type2[0]);
            $t2 = strtolower($type2[1]);
        } else {
            $t2 = strtolower($type2[0]);
        }

        if (($m1 === Type::T_NOT) ^ ($m2 === Type::T_NOT)) {
            if ($t1 === $t2) {
                return null;
            }

            return [
                $m1 === Type::T_NOT ? $m2 : $m1,
                $m1 === Type::T_NOT ? $t2 : $t1,
            ];
        }

        if ($m1 === Type::T_NOT && $m2 === Type::T_NOT) {
            // CSS has no way of representing "neither screen nor print"
            if ($t1 !== $t2) {
                return null;
            }

            return [Type::T_NOT, $t1];
        }

        if ($t1 !== $t2) {
            return null;
        }

        // t1 == t2, neither m1 nor m2 are "not"
        return [empty($m1)? $m2 : $m1, $t1];
    }

    /**
     * Compile import; returns true if the value was something that could be imported
     *
     * @param array                                $rawPath
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $out
     * @param boolean                              $once
     *
     * @return boolean
     */
    protected function compileImport($rawPath, OutputBlock $out, $once = false)
    {
        if ($rawPath[0] === Type::T_STRING) {
            $path = $this->compileStringContent($rawPath);

            if ($path = $this->findImport($path)) {
                if (! $once || ! in_array($path, $this->importedFiles)) {
                    $this->importFile($path, $out);
                    $this->importedFiles[] = $path;
                }

                return true;
            }

            return false;
        }

        if ($rawPath[0] === Type::T_LIST) {
            // handle a list of strings
            if (count($rawPath[2]) === 0) {
                return false;
            }

            foreach ($rawPath[2] as $path) {
                if ($path[0] !== Type::T_STRING) {
                    return false;
                }
            }

            foreach ($rawPath[2] as $path) {
                $this->compileImport($path, $out);
            }

            return true;
        }

        return false;
    }

    /**
     * Compile child; returns a value to halt execution
     *
     * @param array                                $child
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $out
     *
     * @return array
     */
    protected function compileChild($child, OutputBlock $out)
    {
        if (isset($child[Parser::SOURCE_LINE])) {
            $this->sourceIndex = isset($child[Parser::SOURCE_INDEX]) ? $child[Parser::SOURCE_INDEX] : null;
            $this->sourceLine = isset($child[Parser::SOURCE_LINE]) ? $child[Parser::SOURCE_LINE] : -1;
            $this->sourceColumn = isset($child[Parser::SOURCE_COLUMN]) ? $child[Parser::SOURCE_COLUMN] : -1;
        } elseif (is_array($child) && isset($child[1]->sourceLine)) {
            $this->sourceIndex = $child[1]->sourceIndex;
            $this->sourceLine = $child[1]->sourceLine;
            $this->sourceColumn = $child[1]->sourceColumn;
        } elseif (! empty($out->sourceLine) && ! empty($out->sourceName)) {
            $this->sourceLine = $out->sourceLine;
            $this->sourceIndex = array_search($out->sourceName, $this->sourceNames);

            if ($this->sourceIndex === false) {
                $this->sourceIndex = null;
            }
        }

        switch ($child[0]) {
            case Type::T_SCSSPHP_IMPORT_ONCE:
                $rawPath = $this->reduce($child[1]);

                if (! $this->compileImport($rawPath, $out, true)) {
                    $out->lines[] = '@import ' . $this->compileValue($rawPath) . ';';
                }
                break;

            case Type::T_IMPORT:
                $rawPath = $this->reduce($child[1]);

                if (! $this->compileImport($rawPath, $out)) {
                    $out->lines[] = '@import ' . $this->compileValue($rawPath) . ';';
                }
                break;

            case Type::T_DIRECTIVE:
                $this->compileDirective($child[1]);
                break;

            case Type::T_AT_ROOT:
                $this->compileAtRoot($child[1]);
                break;

            case Type::T_MEDIA:
                $this->compileMedia($child[1]);
                break;

            case Type::T_BLOCK:
                $this->compileBlock($child[1]);
                break;

            case Type::T_CHARSET:
                if (! $this->charsetSeen) {
                    $this->charsetSeen = true;

                    $out->lines[] = '@charset ' . $this->compileValue($child[1]) . ';';
                }
                break;

            case Type::T_ASSIGN:
                list(, $name, $value) = $child;

                if ($name[0] === Type::T_VARIABLE) {
                    $flags = isset($child[3]) ? $child[3] : [];
                    $isDefault = in_array('!default', $flags);
                    $isGlobal = in_array('!global', $flags);

                    if ($isGlobal) {
                        $this->set($name[1], $this->reduce($value), false, $this->rootEnv, $value);
                        break;
                    }

                    $shouldSet = $isDefault &&
                        (($result = $this->get($name[1], false)) === null
                        || $result === static::$null);

                    if (! $isDefault || $shouldSet) {
                        $this->set($name[1], $this->reduce($value), true, null, $value);
                    }
                    break;
                }

                $compiledName = $this->compileValue($name);

                // handle shorthand syntax: size / line-height
                if ($compiledName === 'font' || $compiledName === 'grid-row' || $compiledName === 'grid-column') {
                    if ($value[0] === Type::T_VARIABLE) {
                        // if the font value comes from variable, the content is already reduced
                        // (i.e., formulas were already calculated), so we need the original unreduced value
                        $value = $this->get($value[1], true, null, true);
                    }

                    $fontValue=&$value;

                    if ($value[0] === Type::T_LIST && $value[1]==',') {
                        // this is the case if more than one font is given: example: "font: 400 1em/1.3 arial,helvetica"
                        // we need to handle the first list element
                        $fontValue=&$value[2][0];
                    }

                    if ($fontValue[0] === Type::T_EXPRESSION && $fontValue[1] === '/') {
                        $fontValue = $this->expToString($fontValue);
                    } elseif ($fontValue[0] === Type::T_LIST) {
                        foreach ($fontValue[2] as &$item) {
                            if ($item[0] === Type::T_EXPRESSION && $item[1] === '/') {
                                $item = $this->expToString($item);
                            }
                        }
                    }
                }

                // if the value reduces to null from something else then
                // the property should be discarded
                if ($value[0] !== Type::T_NULL) {
                    $value = $this->reduce($value);

                    if ($value[0] === Type::T_NULL || $value === static::$nullString) {
                        break;
                    }
                }

                $compiledValue = $this->compileValue($value);

                $out->lines[] = $this->formatter->property(
                    $compiledName,
                    $compiledValue
                );
                break;

            case Type::T_COMMENT:
                if ($out->type === Type::T_ROOT) {
                    $this->compileComment($child);
                    break;
                }

                $out->lines[] = $child[1];
                break;

            case Type::T_MIXIN:
            case Type::T_FUNCTION:
                list(, $block) = $child;

                $this->set(static::$namespaces[$block->type] . $block->name, $block);
                break;

            case Type::T_EXTEND:
                foreach ($child[1] as $sel) {
                    $results = $this->evalSelectors([$sel]);

                    foreach ($results as $result) {
                        // only use the first one
                        $result = current($result);

                        $this->pushExtends($result, $out->selectors, $child);
                    }
                }
                break;

            case Type::T_IF:
                list(, $if) = $child;

                if ($this->isTruthy($this->reduce($if->cond, true))) {
                    return $this->compileChildren($if->children, $out);
                }

                foreach ($if->cases as $case) {
                    if ($case->type === Type::T_ELSE ||
                        $case->type === Type::T_ELSEIF && $this->isTruthy($this->reduce($case->cond))
                    ) {
                        return $this->compileChildren($case->children, $out);
                    }
                }
                break;

            case Type::T_EACH:
                list(, $each) = $child;

                $list = $this->coerceList($this->reduce($each->list));

                $this->pushEnv();

                foreach ($list[2] as $item) {
                    if (count($each->vars) === 1) {
                        $this->set($each->vars[0], $item, true);
                    } else {
                        list(,, $values) = $this->coerceList($item);

                        foreach ($each->vars as $i => $var) {
                            $this->set($var, isset($values[$i]) ? $values[$i] : static::$null, true);
                        }
                    }

                    $ret = $this->compileChildren($each->children, $out);

                    if ($ret) {
                        if ($ret[0] !== Type::T_CONTROL) {
                            $this->popEnv();

                            return $ret;
                        }

                        if ($ret[1]) {
                            break;
                        }
                    }
                }

                $this->popEnv();
                break;

            case Type::T_WHILE:
                list(, $while) = $child;

                while ($this->isTruthy($this->reduce($while->cond, true))) {
                    $ret = $this->compileChildren($while->children, $out);

                    if ($ret) {
                        if ($ret[0] !== Type::T_CONTROL) {
                            return $ret;
                        }

                        if ($ret[1]) {
                            break;
                        }
                    }
                }
                break;

            case Type::T_FOR:
                list(, $for) = $child;

                $start = $this->reduce($for->start, true);
                $end   = $this->reduce($for->end, true);

                if (! ($start[2] == $end[2] || $end->unitless())) {
                    $this->throwError('Incompatible units: "%s" and "%s".', $start->unitStr(), $end->unitStr());

                    break;
                }

                $unit  = $start[2];
                $start = $start[1];
                $end   = $end[1];

                $d = $start < $end ? 1 : -1;

                for (;;) {
                    if ((! $for->until && $start - $d == $end) ||
                        ($for->until && $start == $end)
                    ) {
                        break;
                    }

                    $this->set($for->var, new Node\Number($start, $unit));
                    $start += $d;

                    $ret = $this->compileChildren($for->children, $out);

                    if ($ret) {
                        if ($ret[0] !== Type::T_CONTROL) {
                            return $ret;
                        }

                        if ($ret[1]) {
                            break;
                        }
                    }
                }
                break;

            case Type::T_BREAK:
                return [Type::T_CONTROL, true];

            case Type::T_CONTINUE:
                return [Type::T_CONTROL, false];

            case Type::T_RETURN:
                return $this->reduce($child[1], true);

            case Type::T_NESTED_PROPERTY:
                list(, $prop) = $child;

                $prefixed = [];
                $prefix = $this->compileValue($prop->prefix) . '-';

                foreach ($prop->children as $child) {
                    switch ($child[0]) {
                        case Type::T_ASSIGN:
                            array_unshift($child[1][2], $prefix);
                            break;

                        case Type::T_NESTED_PROPERTY:
                            array_unshift($child[1]->prefix[2], $prefix);
                            break;
                    }

                    $prefixed[] = $child;
                }

                $this->compileChildrenNoReturn($prefixed, $out);
                break;

            case Type::T_INCLUDE:
                // including a mixin
                list(, $name, $argValues, $content) = $child;

                $mixin = $this->get(static::$namespaces['mixin'] . $name, false);

                if (! $mixin) {
                    $this->throwError("Undefined mixin $name");
                    break;
                }

                $callingScope = $this->getStoreEnv();

                // push scope, apply args
                $this->pushEnv();
                $this->env->depth--;

                $storeEnv = $this->storeEnv;
                $this->storeEnv = $this->env;

                // Find the parent selectors in the env to be able to know what '&' refers to in the mixin
                // and assign this fake parent to childs
                $selfParent = null;

                if (isset($child['selfParent']) && isset($child['selfParent']->selectors)) {
                    $selfParent = $child['selfParent'];
                } else {
                    $parentSelectors = $this->multiplySelectors($this->env);

                    if ($parentSelectors) {
                        $parent = new Block();
                        $parent->selectors = $parentSelectors;

                        foreach ($mixin->children as $k => $child) {
                            if (isset($child[1]) && is_object($child[1]) && $child[1] instanceof Block) {
                                $mixin->children[$k][1]->parent = $parent;
                            }
                        }
                    }
                }

                // clone the stored content to not have its scope spoiled by a further call to the same mixin
                // i.e., recursive @include of the same mixin
                if (isset($content)) {
                    $copyContent = clone $content;
                    $copyContent->scope = $callingScope;

                    $this->setRaw(static::$namespaces['special'] . 'content', $copyContent, $this->env);
                }

                if (isset($mixin->args)) {
                    $this->applyArguments($mixin->args, $argValues);
                }

                $this->env->marker = 'mixin';

                $this->compileChildrenNoReturn($mixin->children, $out, $selfParent, $this->env->marker . " " . $name);

                $this->storeEnv = $storeEnv;

                $this->popEnv();
                break;

            case Type::T_MIXIN_CONTENT:
                $env = isset($this->storeEnv) ? $this->storeEnv : $this->env;
                $content = $this->get(static::$namespaces['special'] . 'content', false, $env);

                if (! $content) {
                    $content = new \stdClass();
                    $content->scope = new \stdClass();
                    $content->children = $this->storeEnv->parent->block->children;
                    break;
                }

                $storeEnv = $this->storeEnv;
                $this->storeEnv = $content->scope;
                $this->compileChildrenNoReturn($content->children, $out);

                $this->storeEnv = $storeEnv;
                break;

            case Type::T_DEBUG:
                list(, $value) = $child;

                $fname = $this->sourceNames[$this->sourceIndex];
                $line = $this->sourceLine;
                $value = $this->compileValue($this->reduce($value, true));
                fwrite($this->stderr, "File $fname on line $line DEBUG: $value\n");
                break;

            case Type::T_WARN:
                list(, $value) = $child;

                $fname = $this->sourceNames[$this->sourceIndex];
                $line = $this->sourceLine;
                $value = $this->compileValue($this->reduce($value, true));
                fwrite($this->stderr, "File $fname on line $line WARN: $value\n");
                break;

            case Type::T_ERROR:
                list(, $value) = $child;

                $fname = $this->sourceNames[$this->sourceIndex];
                $line = $this->sourceLine;
                $value = $this->compileValue($this->reduce($value, true));
                $this->throwError("File $fname on line $line ERROR: $value\n");
                break;

            case Type::T_CONTROL:
                $this->throwError('@break/@continue not permitted in this scope');
                break;

            default:
                $this->throwError("unknown child type: $child[0]");
        }
    }

    /**
     * Reduce expression to string
     *
     * @param array $exp
     *
     * @return array
     */
    protected function expToString($exp)
    {
        list(, $op, $left, $right, /* $inParens */, $whiteLeft, $whiteRight) = $exp;

        $content = [$this->reduce($left)];

        if ($whiteLeft) {
            $content[] = ' ';
        }

        $content[] = $op;

        if ($whiteRight) {
            $content[] = ' ';
        }

        $content[] = $this->reduce($right);

        return [Type::T_STRING, '', $content];
    }

    /**
     * Is truthy?
     *
     * @param array $value
     *
     * @return boolean
     */
    protected function isTruthy($value)
    {
        return $value !== static::$false && $value !== static::$null;
    }

    /**
     * Is the value a direct relationship combinator?
     *
     * @param string $value
     *
     * @return boolean
     */
    protected function isImmediateRelationshipCombinator($value)
    {
        return $value === '>' || $value === '+' || $value === '~';
    }

    /**
     * Should $value cause its operand to eval
     *
     * @param array $value
     *
     * @return boolean
     */
    protected function shouldEval($value)
    {
        switch ($value[0]) {
            case Type::T_EXPRESSION:
                if ($value[1] === '/') {
                    return $this->shouldEval($value[2]) || $this->shouldEval($value[3]);
                }

                // fall-thru
            case Type::T_VARIABLE:
            case Type::T_FUNCTION_CALL:
                return true;
        }

        return false;
    }

    /**
     * Reduce value
     *
     * @param array   $value
     * @param boolean $inExp
     *
     * @return array|\Leafo\ScssPhp\Node\Number
     */
    protected function reduce($value, $inExp = false)
    {

        switch ($value[0]) {
            case Type::T_EXPRESSION:
                list(, $op, $left, $right, $inParens) = $value;

                $opName = isset(static::$operatorNames[$op]) ? static::$operatorNames[$op] : $op;
                $inExp = $inExp || $this->shouldEval($left) || $this->shouldEval($right);

                $left = $this->reduce($left, true);

                if ($op !== 'and' && $op !== 'or') {
                    $right = $this->reduce($right, true);
                }

                // special case: looks like css shorthand
                if ($opName == 'div' && ! $inParens && ! $inExp && isset($right[2])
                    && (($right[0] !== Type::T_NUMBER && $right[2] != '')
                    || ($right[0] === Type::T_NUMBER && ! $right->unitless()))
                ) {
                    return $this->expToString($value);
                }

                $left = $this->coerceForExpression($left);
                $right = $this->coerceForExpression($right);

                $ltype = $left[0];
                $rtype = $right[0];

                $ucOpName = ucfirst($opName);
                $ucLType  = ucfirst($ltype);
                $ucRType  = ucfirst($rtype);

                // this tries:
                // 1. op[op name][left type][right type]
                // 2. op[left type][right type] (passing the op as first arg
                // 3. op[op name]
                $fn = "op${ucOpName}${ucLType}${ucRType}";

                if (is_callable([$this, $fn]) ||
                    (($fn = "op${ucLType}${ucRType}") &&
                        is_callable([$this, $fn]) &&
                        $passOp = true) ||
                    (($fn = "op${ucOpName}") &&
                        is_callable([$this, $fn]) &&
                        $genOp = true)
                ) {
                    $coerceUnit = false;

                    if (! isset($genOp) &&
                        $left[0] === Type::T_NUMBER && $right[0] === Type::T_NUMBER
                    ) {
                        $coerceUnit = true;

                        switch ($opName) {
                            case 'mul':
                                $targetUnit = $left[2];

                                foreach ($right[2] as $unit => $exp) {
                                    $targetUnit[$unit] = (isset($targetUnit[$unit]) ? $targetUnit[$unit] : 0) + $exp;
                                }
                                break;

                            case 'div':
                                $targetUnit = $left[2];

                                foreach ($right[2] as $unit => $exp) {
                                    $targetUnit[$unit] = (isset($targetUnit[$unit]) ? $targetUnit[$unit] : 0) - $exp;
                                }
                                break;

                            case 'mod':
                                $targetUnit = $left[2];
                                break;

                            default:
                                $targetUnit = $left->unitless() ? $right[2] : $left[2];
                        }

                        if (! $left->unitless() && ! $right->unitless()) {
                            $left = $left->normalize();
                            $right = $right->normalize();
                        }
                    }

                    $shouldEval = $inParens || $inExp;

                    if (isset($passOp)) {
                        $out = $this->$fn($op, $left, $right, $shouldEval);
                    } else {
                        $out = $this->$fn($left, $right, $shouldEval);
                    }

                    if (isset($out)) {
                        if ($coerceUnit && $out[0] === Type::T_NUMBER) {
                            $out = $out->coerce($targetUnit);
                        }

                        return $out;
                    }
                }

                return $this->expToString($value);

            case Type::T_UNARY:
                list(, $op, $exp, $inParens) = $value;

                $inExp = $inExp || $this->shouldEval($exp);
                $exp = $this->reduce($exp);

                if ($exp[0] === Type::T_NUMBER) {
                    switch ($op) {
                        case '+':
                            return new Node\Number($exp[1], $exp[2]);

                        case '-':
                            return new Node\Number(-$exp[1], $exp[2]);
                    }
                }

                if ($op === 'not') {
                    if ($inExp || $inParens) {
                        if ($exp === static::$false || $exp === static::$null) {
                            return static::$true;
                        }

                        return static::$false;
                    }

                    $op = $op . ' ';
                }

                return [Type::T_STRING, '', [$op, $exp]];

            case Type::T_VARIABLE:
                return $this->reduce($this->get($value[1]));

            case Type::T_LIST:
                foreach ($value[2] as &$item) {
                    $item = $this->reduce($item);
                }

                return $value;

            case Type::T_MAP:
                foreach ($value[1] as &$item) {
                    $item = $this->reduce($item);
                }

                foreach ($value[2] as &$item) {
                    $item = $this->reduce($item);
                }

                return $value;

            case Type::T_STRING:
                foreach ($value[2] as &$item) {
                    if (is_array($item) || $item instanceof \ArrayAccess) {
                        $item = $this->reduce($item);
                    }
                }

                return $value;

            case Type::T_INTERPOLATE:
                $value[1] = $this->reduce($value[1]);
                if ($inExp) {
                    return $value[1];
                }

                return $value;

            case Type::T_FUNCTION_CALL:
                return $this->fncall($value[1], $value[2]);

            case Type::T_SELF:
                $selfSelector = $this->multiplySelectors($this->env);
                $selfSelector = $this->collapseSelectors($selfSelector, true);
                return $selfSelector;

            default:
                return $value;
        }
    }

    /**
     * Function caller
     *
     * @param string $name
     * @param array  $argValues
     *
     * @return array|null
     */
    protected function fncall($name, $argValues)
    {
        // SCSS @function
        if ($this->callScssFunction($name, $argValues, $returnValue)) {
            return $returnValue;
        }

        // native PHP functions
        if ($this->callNativeFunction($name, $argValues, $returnValue)) {
            return $returnValue;
        }

        // for CSS functions, simply flatten the arguments into a list
        $listArgs = [];

        foreach ((array) $argValues as $arg) {
            if (empty($arg[0])) {
                $listArgs[] = $this->reduce($arg[1]);
            }
        }

        return [Type::T_FUNCTION, $name, [Type::T_LIST, ',', $listArgs]];
    }

    /**
     * Normalize name
     *
     * @param string $name
     *
     * @return string
     */
    protected function normalizeName($name)
    {
        return str_replace('-', '_', $name);
    }

    /**
     * Normalize value
     *
     * @param array $value
     *
     * @return array
     */
    public function normalizeValue($value)
    {
        $value = $this->coerceForExpression($this->reduce($value));

        switch ($value[0]) {
            case Type::T_LIST:
                $value = $this->extractInterpolation($value);

                if ($value[0] !== Type::T_LIST) {
                    return [Type::T_KEYWORD, $this->compileValue($value)];
                }

                foreach ($value[2] as $key => $item) {
                    $value[2][$key] = $this->normalizeValue($item);
                }

                return $value;

            case Type::T_STRING:
                return [$value[0], '"', [$this->compileStringContent($value)]];

            case Type::T_NUMBER:
                return $value->normalize();

            case Type::T_INTERPOLATE:
                return [Type::T_KEYWORD, $this->compileValue($value)];

            default:
                return $value;
        }
    }

    /**
     * Add numbers
     *
     * @param array $left
     * @param array $right
     *
     * @return \Leafo\ScssPhp\Node\Number
     */
    protected function opAddNumberNumber($left, $right)
    {
        return new Node\Number($left[1] + $right[1], $left[2]);
    }

    /**
     * Multiply numbers
     *
     * @param array $left
     * @param array $right
     *
     * @return \Leafo\ScssPhp\Node\Number
     */
    protected function opMulNumberNumber($left, $right)
    {
        return new Node\Number($left[1] * $right[1], $left[2]);
    }

    /**
     * Subtract numbers
     *
     * @param array $left
     * @param array $right
     *
     * @return \Leafo\ScssPhp\Node\Number
     */
    protected function opSubNumberNumber($left, $right)
    {
        return new Node\Number($left[1] - $right[1], $left[2]);
    }

    /**
     * Divide numbers
     *
     * @param array $left
     * @param array $right
     *
     * @return array|\Leafo\ScssPhp\Node\Number
     */
    protected function opDivNumberNumber($left, $right)
    {
        if ($right[1] == 0) {
            return [Type::T_STRING, '', [$left[1] . $left[2] . '/' . $right[1] . $right[2]]];
        }

        return new Node\Number($left[1] / $right[1], $left[2]);
    }

    /**
     * Mod numbers
     *
     * @param array $left
     * @param array $right
     *
     * @return \Leafo\ScssPhp\Node\Number
     */
    protected function opModNumberNumber($left, $right)
    {
        return new Node\Number($left[1] % $right[1], $left[2]);
    }

    /**
     * Add strings
     *
     * @param array $left
     * @param array $right
     *
     * @return array|null
     */
    protected function opAdd($left, $right)
    {
        if ($strLeft = $this->coerceString($left)) {
            if ($right[0] === Type::T_STRING) {
                $right[1] = '';
            }

            $strLeft[2][] = $right;

            return $strLeft;
        }

        if ($strRight = $this->coerceString($right)) {
            if ($left[0] === Type::T_STRING) {
                $left[1] = '';
            }

            array_unshift($strRight[2], $left);

            return $strRight;
        }

        return null;
    }

    /**
     * Boolean and
     *
     * @param array   $left
     * @param array   $right
     * @param boolean $shouldEval
     *
     * @return array|null
     */
    protected function opAnd($left, $right, $shouldEval)
    {
        $truthy = ($left === static::$null || $right === static::$null) ||
                  ($left === static::$false || $left === static::$true) &&
                  ($right === static::$false || $right === static::$true);

        if (! $shouldEval) {
            if (! $truthy) {
                return null;
            }
        }

        if ($left !== static::$false && $left !== static::$null) {
            return $this->reduce($right, true);
        }

        return $left;
    }

    /**
     * Boolean or
     *
     * @param array   $left
     * @param array   $right
     * @param boolean $shouldEval
     *
     * @return array|null
     */
    protected function opOr($left, $right, $shouldEval)
    {
        $truthy = ($left === static::$null || $right === static::$null) ||
                  ($left === static::$false || $left === static::$true) &&
                  ($right === static::$false || $right === static::$true);

        if (! $shouldEval) {
            if (! $truthy) {
                return null;
            }
        }

        if ($left !== static::$false && $left !== static::$null) {
            return $left;
        }

        return $this->reduce($right, true);
    }

    /**
     * Compare colors
     *
     * @param string $op
     * @param array  $left
     * @param array  $right
     *
     * @return array
     */
    protected function opColorColor($op, $left, $right)
    {
        $out = [Type::T_COLOR];

        foreach ([1, 2, 3] as $i) {
            $lval = isset($left[$i]) ? $left[$i] : 0;
            $rval = isset($right[$i]) ? $right[$i] : 0;

            switch ($op) {
                case '+':
                    $out[] = $lval + $rval;
                    break;

                case '-':
                    $out[] = $lval - $rval;
                    break;

                case '*':
                    $out[] = $lval * $rval;
                    break;

                case '%':
                    $out[] = $lval % $rval;
                    break;

                case '/':
                    if ($rval == 0) {
                        $this->throwError("color: Can't divide by zero");
                        break 2;
                    }

                    $out[] = (int) ($lval / $rval);
                    break;

                case '==':
                    return $this->opEq($left, $right);

                case '!=':
                    return $this->opNeq($left, $right);

                default:
                    $this->throwError("color: unknown op $op");
                    break 2;
            }
        }

        if (isset($left[4])) {
            $out[4] = $left[4];
        } elseif (isset($right[4])) {
            $out[4] = $right[4];
        }

        return $this->fixColor($out);
    }

    /**
     * Compare color and number
     *
     * @param string $op
     * @param array  $left
     * @param array  $right
     *
     * @return array
     */
    protected function opColorNumber($op, $left, $right)
    {
        $value = $right[1];

        return $this->opColorColor(
            $op,
            $left,
            [Type::T_COLOR, $value, $value, $value]
        );
    }

    /**
     * Compare number and color
     *
     * @param string $op
     * @param array  $left
     * @param array  $right
     *
     * @return array
     */
    protected function opNumberColor($op, $left, $right)
    {
        $value = $left[1];

        return $this->opColorColor(
            $op,
            [Type::T_COLOR, $value, $value, $value],
            $right
        );
    }

    /**
     * Compare number1 == number2
     *
     * @param array $left
     * @param array $right
     *
     * @return array
     */
    protected function opEq($left, $right)
    {
        if (($lStr = $this->coerceString($left)) && ($rStr = $this->coerceString($right))) {
            $lStr[1] = '';
            $rStr[1] = '';

            $left = $this->compileValue($lStr);
            $right = $this->compileValue($rStr);
        }

        return $this->toBool($left === $right);
    }

    /**
     * Compare number1 != number2
     *
     * @param array $left
     * @param array $right
     *
     * @return array
     */
    protected function opNeq($left, $right)
    {
        if (($lStr = $this->coerceString($left)) && ($rStr = $this->coerceString($right))) {
            $lStr[1] = '';
            $rStr[1] = '';

            $left = $this->compileValue($lStr);
            $right = $this->compileValue($rStr);
        }

        return $this->toBool($left !== $right);
    }

    /**
     * Compare number1 >= number2
     *
     * @param array $left
     * @param array $right
     *
     * @return array
     */
    protected function opGteNumberNumber($left, $right)
    {
        return $this->toBool($left[1] >= $right[1]);
    }

    /**
     * Compare number1 > number2
     *
     * @param array $left
     * @param array $right
     *
     * @return array
     */
    protected function opGtNumberNumber($left, $right)
    {
        return $this->toBool($left[1] > $right[1]);
    }

    /**
     * Compare number1 <= number2
     *
     * @param array $left
     * @param array $right
     *
     * @return array
     */
    protected function opLteNumberNumber($left, $right)
    {
        return $this->toBool($left[1] <= $right[1]);
    }

    /**
     * Compare number1 < number2
     *
     * @param array $left
     * @param array $right
     *
     * @return array
     */
    protected function opLtNumberNumber($left, $right)
    {
        return $this->toBool($left[1] < $right[1]);
    }

    /**
     * Three-way comparison, aka spaceship operator
     *
     * @param array $left
     * @param array $right
     *
     * @return \Leafo\ScssPhp\Node\Number
     */
    protected function opCmpNumberNumber($left, $right)
    {
        $n = $left[1] - $right[1];

        return new Node\Number($n ? $n / abs($n) : 0, '');
    }

    /**
     * Cast to boolean
     *
     * @api
     *
     * @param mixed $thing
     *
     * @return array
     */
    public function toBool($thing)
    {
        return $thing ? static::$true : static::$false;
    }

    /**
     * Compiles a primitive value into a CSS property value.
     *
     * Values in scssphp are typed by being wrapped in arrays, their format is
     * typically:
     *
     *     array(type, contents [, additional_contents]*)
     *
     * The input is expected to be reduced. This function will not work on
     * things like expressions and variables.
     *
     * @api
     *
     * @param array $value
     *
     * @return string
     */
    public function compileValue($value)
    {
        $value = $this->reduce($value);

        switch ($value[0]) {
            case Type::T_KEYWORD:
                return $value[1];

            case Type::T_COLOR:
                // [1] - red component (either number for a %)
                // [2] - green component
                // [3] - blue component
                // [4] - optional alpha component
                list(, $r, $g, $b) = $value;

                $r = round($r);
                $g = round($g);
                $b = round($b);

                if (count($value) === 5 && $value[4] !== 1) { // rgba
                    $a = new Node\Number($value[4], '');

                    return 'rgba(' . $r . ', ' . $g . ', ' . $b . ', ' . $a . ')';
                }

                $h = sprintf('#%02x%02x%02x', $r, $g, $b);

                // Converting hex color to short notation (e.g. #003399 to #039)
                if ($h[1] === $h[2] && $h[3] === $h[4] && $h[5] === $h[6]) {
                    $h = '#' . $h[1] . $h[3] . $h[5];
                }

                return $h;

            case Type::T_NUMBER:
                return $value->output($this);

            case Type::T_STRING:
                return $value[1] . $this->compileStringContent($value) . $value[1];

            case Type::T_FUNCTION:
                $args = ! empty($value[2]) ? $this->compileValue($value[2]) : '';

                return "$value[1]($args)";

            case Type::T_LIST:
                $value = $this->extractInterpolation($value);

                if ($value[0] !== Type::T_LIST) {
                    return $this->compileValue($value);
                }

                list(, $delim, $items) = $value;

                if ($delim !== ' ') {
                    $delim .= ' ';
                }

                $filtered = [];

                foreach ($items as $item) {
                    if ($item[0] === Type::T_NULL) {
                        continue;
                    }

                    $filtered[] = $this->compileValue($item);
                }

                return implode("$delim", $filtered);

            case Type::T_MAP:
                $keys = $value[1];
                $values = $value[2];
                $filtered = [];

                for ($i = 0, $s = count($keys); $i < $s; $i++) {
                    $filtered[$this->compileValue($keys[$i])] = $this->compileValue($values[$i]);
                }

                array_walk($filtered, function (&$value, $key) {
                    $value = $key . ': ' . $value;
                });

                return '(' . implode(', ', $filtered) . ')';

            case Type::T_INTERPOLATED:
                // node created by extractInterpolation
                list(, $interpolate, $left, $right) = $value;
                list(,, $whiteLeft, $whiteRight) = $interpolate;

                $left = count($left[2]) > 0 ?
                    $this->compileValue($left) . $whiteLeft : '';

                $right = count($right[2]) > 0 ?
                    $whiteRight . $this->compileValue($right) : '';

                return $left . $this->compileValue($interpolate) . $right;

            case Type::T_INTERPOLATE:
                // strip quotes if it's a string
                $reduced = $this->reduce($value[1]);

                switch ($reduced[0]) {
                    case Type::T_LIST:
                        $reduced = $this->extractInterpolation($reduced);

                        if ($reduced[0] !== Type::T_LIST) {
                            break;
                        }

                        list(, $delim, $items) = $reduced;

                        if ($delim !== ' ') {
                            $delim .= ' ';
                        }

                        $filtered = [];

                        foreach ($items as $item) {
                            if ($item[0] === Type::T_NULL) {
                                continue;
                            }

                            $temp = $this->compileValue([Type::T_KEYWORD, $item]);
                            if ($temp[0] === Type::T_STRING) {
                                $filtered[] = $this->compileStringContent($temp);
                            } elseif ($temp[0] === Type::T_KEYWORD) {
                                $filtered[] = $temp[1];
                            } else {
                                $filtered[] = $this->compileValue($temp);
                            }
                        }

                        $reduced = [Type::T_KEYWORD, implode("$delim", $filtered)];
                        break;

                    case Type::T_STRING:
                        $reduced = [Type::T_KEYWORD, $this->compileStringContent($reduced)];
                        break;

                    case Type::T_NULL:
                        $reduced = [Type::T_KEYWORD, ''];
                }

                return $this->compileValue($reduced);

            case Type::T_NULL:
                return 'null';

            default:
                $this->throwError("unknown value type: $value[0]");
        }
    }

    /**
     * Flatten list
     *
     * @param array $list
     *
     * @return string
     */
    protected function flattenList($list)
    {
        return $this->compileValue($list);
    }

    /**
     * Compile string content
     *
     * @param array $string
     *
     * @return string
     */
    protected function compileStringContent($string)
    {
        $parts = [];

        foreach ($string[2] as $part) {
            if (is_array($part) || $part instanceof \ArrayAccess) {
                $parts[] = $this->compileValue($part);
            } else {
                $parts[] = $part;
            }
        }

        return implode($parts);
    }

    /**
     * Extract interpolation; it doesn't need to be recursive, compileValue will handle that
     *
     * @param array $list
     *
     * @return array
     */
    protected function extractInterpolation($list)
    {
        $items = $list[2];

        foreach ($items as $i => $item) {
            if ($item[0] === Type::T_INTERPOLATE) {
                $before = [Type::T_LIST, $list[1], array_slice($items, 0, $i)];
                $after  = [Type::T_LIST, $list[1], array_slice($items, $i + 1)];

                return [Type::T_INTERPOLATED, $item, $before, $after];
            }
        }

        return $list;
    }

    /**
     * Find the final set of selectors
     *
     * @param \Leafo\ScssPhp\Compiler\Environment $env
     * @param \Leafo\ScssPhp\Block                $selfParent
     *
     * @return array
     */
    protected function multiplySelectors(Environment $env, $selfParent = null)
    {
        $envs            = $this->compactEnv($env);
        $selectors       = [];
        $parentSelectors = [[]];

        $selfParentSelectors = null;

        if (! is_null($selfParent) && $selfParent->selectors) {
            $selfParentSelectors = $this->evalSelectors($selfParent->selectors);
        }

        while ($env = array_pop($envs)) {
            if (empty($env->selectors)) {
                continue;
            }

            $selectors = $env->selectors;

            do {
                $stillHasSelf = false;
                $prevSelectors = $selectors;
                $selectors = [];

                foreach ($prevSelectors as $selector) {
                    foreach ($parentSelectors as $parent) {
                        if ($selfParentSelectors) {
                            foreach ($selfParentSelectors as $selfParent) {
                                // if no '&' in the selector, each call will give same result, only add once
                                $s = $this->joinSelectors($parent, $selector, $stillHasSelf, $selfParent);
                                $selectors[serialize($s)] = $s;
                            }
                        } else {
                            $s = $this->joinSelectors($parent, $selector, $stillHasSelf);
                            $selectors[serialize($s)] = $s;
                        }
                    }
                }
            } while ($stillHasSelf);

            $parentSelectors = $selectors;
        }

        $selectors = array_values($selectors);

        return $selectors;
    }

    /**
     * Join selectors; looks for & to replace, or append parent before child
     *
     * @param array   $parent
     * @param array   $child
     * @param boolean &$stillHasSelf
     * @param array   $selfParentSelectors

     * @return array
     */
    protected function joinSelectors($parent, $child, &$stillHasSelf, $selfParentSelectors = null)
    {
        $setSelf = false;
        $out = [];

        foreach ($child as $part) {
            $newPart = [];

            foreach ($part as $p) {
                // only replace & once and should be recalled to be able to make combinations
                if ($p === static::$selfSelector && $setSelf) {
                    $stillHasSelf = true;
                }

                if ($p === static::$selfSelector && ! $setSelf) {
                    $setSelf = true;

                    if (is_null($selfParentSelectors)) {
                        $selfParentSelectors = $parent;
                    }

                    foreach ($selfParentSelectors as $i => $parentPart) {
                        if ($i > 0) {
                            $out[] = $newPart;
                            $newPart = [];
                        }

                        foreach ($parentPart as $pp) {
                            if (is_array($pp)) {
                                $flatten = [];
                                array_walk_recursive($pp, function ($a) use (&$flatten) {
                                    $flatten[] = $a;
                                });
                                $pp = implode($flatten);
                            }

                            $newPart[] = $pp;
                        }
                    }
                } else {
                    $newPart[] = $p;
                }
            }

            $out[] = $newPart;
        }

        return $setSelf ? $out : array_merge($parent, $child);
    }

    /**
     * Multiply media
     *
     * @param \Leafo\ScssPhp\Compiler\Environment $env
     * @param array                               $childQueries
     *
     * @return array
     */
    protected function multiplyMedia(Environment $env = null, $childQueries = null)
    {
        if (! isset($env) ||
            ! empty($env->block->type) && $env->block->type !== Type::T_MEDIA
        ) {
            return $childQueries;
        }

        // plain old block, skip
        if (empty($env->block->type)) {
            return $this->multiplyMedia($env->parent, $childQueries);
        }

        $parentQueries = isset($env->block->queryList)
            ? $env->block->queryList
            : [[[Type::T_MEDIA_VALUE, $env->block->value]]];

        $store = [$this->env, $this->storeEnv];
        $this->env = $env;
        $this->storeEnv = null;
        $parentQueries = $this->evaluateMediaQuery($parentQueries);
        list($this->env, $this->storeEnv) = $store;

        if ($childQueries === null) {
            $childQueries = $parentQueries;
        } else {
            $originalQueries = $childQueries;
            $childQueries = [];

            foreach ($parentQueries as $parentQuery) {
                foreach ($originalQueries as $childQuery) {
                    $childQueries[] = array_merge(
                        $parentQuery,
                        [[Type::T_MEDIA_TYPE, [Type::T_KEYWORD, 'all']]],
                        $childQuery
                    );
                }
            }
        }

        return $this->multiplyMedia($env->parent, $childQueries);
    }

    /**
     * Convert env linked list to stack
     *
     * @param \Leafo\ScssPhp\Compiler\Environment $env
     *
     * @return array
     */
    protected function compactEnv(Environment $env)
    {
        for ($envs = []; $env; $env = $env->parent) {
            $envs[] = $env;
        }

        return $envs;
    }

    /**
     * Convert env stack to singly linked list
     *
     * @param array $envs
     *
     * @return \Leafo\ScssPhp\Compiler\Environment
     */
    protected function extractEnv($envs)
    {
        for ($env = null; $e = array_pop($envs);) {
            $e->parent = $env;
            $env = $e;
        }

        return $env;
    }

    /**
     * Push environment
     *
     * @param \Leafo\ScssPhp\Block $block
     *
     * @return \Leafo\ScssPhp\Compiler\Environment
     */
    protected function pushEnv(Block $block = null)
    {
        $env = new Environment;
        $env->parent = $this->env;
        $env->store  = [];
        $env->block  = $block;
        $env->depth  = isset($this->env->depth) ? $this->env->depth + 1 : 0;

        $this->env = $env;

        return $env;
    }

    /**
     * Pop environment
     */
    protected function popEnv()
    {
        $this->env = $this->env->parent;
    }

    /**
     * Get store environment
     *
     * @return \Leafo\ScssPhp\Compiler\Environment
     */
    protected function getStoreEnv()
    {
        return isset($this->storeEnv) ? $this->storeEnv : $this->env;
    }

    /**
     * Set variable
     *
     * @param string                              $name
     * @param mixed                               $value
     * @param boolean                             $shadow
     * @param \Leafo\ScssPhp\Compiler\Environment $env
     * @param mixed                               $valueUnreduced
     */
    protected function set($name, $value, $shadow = false, Environment $env = null, $valueUnreduced = null)
    {
        $name = $this->normalizeName($name);

        if (! isset($env)) {
            $env = $this->getStoreEnv();
        }

        if ($shadow) {
            $this->setRaw($name, $value, $env, $valueUnreduced);
        } else {
            $this->setExisting($name, $value, $env, $valueUnreduced);
        }
    }

    /**
     * Set existing variable
     *
     * @param string                              $name
     * @param mixed                               $value
     * @param \Leafo\ScssPhp\Compiler\Environment $env
     * @param mixed                               $valueUnreduced
     */
    protected function setExisting($name, $value, Environment $env, $valueUnreduced = null)
    {
        $storeEnv = $env;

        $hasNamespace = $name[0] === '^' || $name[0] === '@' || $name[0] === '%';

        for (;;) {
            if (array_key_exists($name, $env->store)) {
                break;
            }

            if (! $hasNamespace && isset($env->marker)) {
                $env = $storeEnv;
                break;
            }

            if (! isset($env->parent)) {
                $env = $storeEnv;
                break;
            }

            $env = $env->parent;
        }

        $env->store[$name] = $value;

        if ($valueUnreduced) {
            $env->storeUnreduced[$name] = $valueUnreduced;
        }
    }

    /**
     * Set raw variable
     *
     * @param string                              $name
     * @param mixed                               $value
     * @param \Leafo\ScssPhp\Compiler\Environment $env
     * @param mixed                               $valueUnreduced
     */
    protected function setRaw($name, $value, Environment $env, $valueUnreduced = null)
    {
        $env->store[$name] = $value;

        if ($valueUnreduced) {
            $env->storeUnreduced[$name] = $valueUnreduced;
        }
    }

    /**
     * Get variable
     *
     * @api
     *
     * @param string                              $name
     * @param boolean                             $shouldThrow
     * @param \Leafo\ScssPhp\Compiler\Environment $env
     * @param boolean                             $unreduced
     *
     * @return mixed|null
     */
    public function get($name, $shouldThrow = true, Environment $env = null, $unreduced = false)
    {
        $normalizedName = $this->normalizeName($name);
        $specialContentKey = static::$namespaces['special'] . 'content';

        if (! isset($env)) {
            $env = $this->getStoreEnv();
        }

        $nextIsRoot = false;
        $hasNamespace = $normalizedName[0] === '^' || $normalizedName[0] === '@' || $normalizedName[0] === '%';

        $maxDepth = 10000;

        for (;;) {
            if ($maxDepth-- <= 0) {
                break;
            }

            if (array_key_exists($normalizedName, $env->store)) {
                if ($unreduced && isset($env->storeUnreduced[$normalizedName])) {
                    return $env->storeUnreduced[$normalizedName];
                }

                return $env->store[$normalizedName];
            }

            if (! $hasNamespace && isset($env->marker)) {
                if (! $nextIsRoot && ! empty($env->store[$specialContentKey])) {
                    $env = $env->store[$specialContentKey]->scope;
                    continue;
                }

                $env = $this->rootEnv;
                continue;
            }

            if (! isset($env->parent)) {
                break;
            }

            $env = $env->parent;
        }

        if ($shouldThrow) {
            $this->throwError("Undefined variable \$$name" . ($maxDepth<=0 ? " (infinite recursion)" : ""));
        }

        // found nothing
        return null;
    }

    /**
     * Has variable?
     *
     * @param string                              $name
     * @param \Leafo\ScssPhp\Compiler\Environment $env
     *
     * @return boolean
     */
    protected function has($name, Environment $env = null)
    {
        return $this->get($name, false, $env) !== null;
    }

    /**
     * Inject variables
     *
     * @param array $args
     */
    protected function injectVariables(array $args)
    {
        if (empty($args)) {
            return;
        }

        $parser = $this->parserFactory(__METHOD__);

        foreach ($args as $name => $strValue) {
            if ($name[0] === '$') {
                $name = substr($name, 1);
            }

            if (! $parser->parseValue($strValue, $value)) {
                $value = $this->coerceValue($strValue);
            }

            $this->set($name, $value);
        }
    }

    /**
     * Set variables
     *
     * @api
     *
     * @param array $variables
     */
    public function setVariables(array $variables)
    {
        $this->registeredVars = array_merge($this->registeredVars, $variables);
    }

    /**
     * Unset variable
     *
     * @api
     *
     * @param string $name
     */
    public function unsetVariable($name)
    {
        unset($this->registeredVars[$name]);
    }

    /**
     * Returns list of variables
     *
     * @api
     *
     * @return array
     */
    public function getVariables()
    {
        return $this->registeredVars;
    }

    /**
     * Adds to list of parsed files
     *
     * @api
     *
     * @param string $path
     */
    public function addParsedFile($path)
    {
        if (isset($path) && file_exists($path)) {
            $this->parsedFiles[realpath($path)] = filemtime($path);
        }
    }

    /**
     * Returns list of parsed files
     *
     * @api
     *
     * @return array
     */
    public function getParsedFiles()
    {
        return $this->parsedFiles;
    }

    /**
     * Add import path
     *
     * @api
     *
     * @param string|callable $path
     */
    public function addImportPath($path)
    {
        if (! in_array($path, $this->importPaths)) {
            $this->importPaths[] = $path;
        }
    }

    /**
     * Set import paths
     *
     * @api
     *
     * @param string|array $path
     */
    public function setImportPaths($path)
    {
        $this->importPaths = (array) $path;
    }

    /**
     * Set number precision
     *
     * @api
     *
     * @param integer $numberPrecision
     */
    public function setNumberPrecision($numberPrecision)
    {
        Node\Number::$precision = $numberPrecision;
    }

    /**
     * Set formatter
     *
     * @api
     *
     * @param string $formatterName
     */
    public function setFormatter($formatterName)
    {
        $this->formatter = $formatterName;
    }

    /**
     * Set line number style
     *
     * @api
     *
     * @param string $lineNumberStyle
     */
    public function setLineNumberStyle($lineNumberStyle)
    {
        $this->lineNumberStyle = $lineNumberStyle;
    }

    /**
     * Enable/disable source maps
     *
     * @api
     *
     * @param integer $sourceMap
     */
    public function setSourceMap($sourceMap)
    {
        $this->sourceMap = $sourceMap;
    }

    /**
     * Set source map options
     *
     * @api
     *
     * @param array $sourceMapOptions
     */
    public function setSourceMapOptions($sourceMapOptions)
    {
        $this->sourceMapOptions = $sourceMapOptions;
    }

    /**
     * Register function
     *
     * @api
     *
     * @param string   $name
     * @param callable $func
     * @param array    $prototype
     */
    public function registerFunction($name, $func, $prototype = null)
    {
        $this->userFunctions[$this->normalizeName($name)] = [$func, $prototype];
    }

    /**
     * Unregister function
     *
     * @api
     *
     * @param string $name
     */
    public function unregisterFunction($name)
    {
        unset($this->userFunctions[$this->normalizeName($name)]);
    }

    /**
     * Add feature
     *
     * @api
     *
     * @param string $name
     */
    public function addFeature($name)
    {
        $this->registeredFeatures[$name] = true;
    }

    /**
     * Import file
     *
     * @param string                               $path
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $out
     */
    protected function importFile($path, OutputBlock $out)
    {
        // see if tree is cached
        $realPath = realpath($path);

        if (isset($this->importCache[$realPath])) {
            $this->handleImportLoop($realPath);

            $tree = $this->importCache[$realPath];
        } else {
            $code   = file_get_contents($path);
            $parser = $this->parserFactory($path);
            $tree   = $parser->parse($code);

            $this->importCache[$realPath] = $tree;
        }

        $pi = pathinfo($path);
        array_unshift($this->importPaths, $pi['dirname']);
        $this->compileChildrenNoReturn($tree->children, $out);
        array_shift($this->importPaths);
    }

    /**
     * Return the file path for an import url if it exists
     *
     * @api
     *
     * @param string $url
     *
     * @return string|null
     */
    public function findImport($url)
    {
        $urls = [];

        // for "normal" scss imports (ignore vanilla css and external requests)
        if (! preg_match('/\.css$|^https?:\/\//', $url)) {
            // try both normal and the _partial filename
            $urls = [$url, preg_replace('/[^\/]+$/', '_\0', $url)];
        }

        $hasExtension = preg_match('/[.]s?css$/', $url);

        foreach ($this->importPaths as $dir) {
            if (is_string($dir)) {
                // check urls for normal import paths
                foreach ($urls as $full) {
                    $separator = (
                        ! empty($dir) &&
                        substr($dir, -1) !== '/' &&
                        substr($full, 0, 1) !== '/'
                    ) ? '/' : '';
                    $full = $dir . $separator . $full;

                    if ($this->fileExists($file = $full . '.scss') ||
                        ($hasExtension && $this->fileExists($file = $full))
                    ) {
                        return $file;
                    }
                }
            } elseif (is_callable($dir)) {
                // check custom callback for import path
                $file = call_user_func($dir, $url);

                if ($file !== null) {
                    return $file;
                }
            }
        }

        return null;
    }

    /**
     * Set encoding
     *
     * @api
     *
     * @param string $encoding
     */
    public function setEncoding($encoding)
    {
        $this->encoding = $encoding;
    }

    /**
     * Ignore errors?
     *
     * @api
     *
     * @param boolean $ignoreErrors
     *
     * @return \Leafo\ScssPhp\Compiler
     */
    public function setIgnoreErrors($ignoreErrors)
    {
        $this->ignoreErrors = $ignoreErrors;

        return $this;
    }

    /**
     * Throw error (exception)
     *
     * @api
     *
     * @param string $msg Message with optional sprintf()-style vararg parameters
     *
     * @throws \Leafo\ScssPhp\Exception\CompilerException
     */
    public function throwError($msg)
    {
        if ($this->ignoreErrors) {
            return;
        }

        $line   = $this->sourceLine;
        $column = $this->sourceColumn;

        $loc = isset($this->sourceNames[$this->sourceIndex])
             ? $this->sourceNames[$this->sourceIndex] . " on line $line, at column $column"
             : "line: $line, column: $column";

        if (func_num_args() > 1) {
            $msg = call_user_func_array('sprintf', func_get_args());
        }

        $msg = "$msg: $loc";

        $callStackMsg = $this->callStackMessage();

        if ($callStackMsg) {
            $msg .= "\nCall Stack:\n" . $callStackMsg;
        }

        throw new CompilerException($msg);
    }

    /**
     * Beautify call stack for output
     *
     * @param boolean $all
     * @param null    $limit
     *
     * @return string
     */
    protected function callStackMessage($all = false, $limit = null)
    {
        $callStackMsg = [];
        $ncall = 0;

        if ($this->callStack) {
            foreach (array_reverse($this->callStack) as $call) {
                if ($all || (isset($call['n']) && $call['n'])) {
                    $msg = "#" . $ncall++ . " " . $call['n'] . " ";
                    $msg .= (isset($this->sourceNames[$call[Parser::SOURCE_INDEX]])
                          ? $this->sourceNames[$call[Parser::SOURCE_INDEX]]
                          : '(unknown file)');
                    $msg .= " on line " . $call[Parser::SOURCE_LINE];
                    $callStackMsg[] = $msg;

                    if (! is_null($limit) && $ncall>$limit) {
                        break;
                    }
                }
            }
        }

        return implode("\n", $callStackMsg);
    }

    /**
     * Handle import loop
     *
     * @param string $name
     *
     * @throws \Exception
     */
    protected function handleImportLoop($name)
    {
        for ($env = $this->env; $env; $env = $env->parent) {
            $file = $this->sourceNames[$env->block->sourceIndex];

            if (realpath($file) === $name) {
                $this->throwError('An @import loop has been found: %s imports %s', $file, basename($file));
                break;
            }
        }
    }

    /**
     * Does file exist?
     *
     * @param string $name
     *
     * @return boolean
     */
    protected function fileExists($name)
    {
        return file_exists($name) && is_file($name);
    }

    /**
     * Call SCSS @function
     *
     * @param string $name
     * @param array  $argValues
     * @param array  $returnValue
     *
     * @return boolean Returns true if returnValue is set; otherwise, false
     */
    protected function callScssFunction($name, $argValues, &$returnValue)
    {
        $func = $this->get(static::$namespaces['function'] . $name, false);

        if (! $func) {
            return false;
        }

        $this->pushEnv();

        $storeEnv = $this->storeEnv;
        $this->storeEnv = $this->env;

        // set the args
        if (isset($func->args)) {
            $this->applyArguments($func->args, $argValues);
        }

        // throw away lines and children
        $tmp = new OutputBlock;
        $tmp->lines    = [];
        $tmp->children = [];

        $this->env->marker = 'function';

        $ret = $this->compileChildren($func->children, $tmp, $this->env->marker . " " . $name);

        $this->storeEnv = $storeEnv;

        $this->popEnv();

        $returnValue = ! isset($ret) ? static::$defaultValue : $ret;

        return true;
    }

    /**
     * Call built-in and registered (PHP) functions
     *
     * @param string $name
     * @param array  $args
     * @param array  $returnValue
     *
     * @return boolean Returns true if returnValue is set; otherwise, false
     */
    protected function callNativeFunction($name, $args, &$returnValue)
    {
        // try a lib function
        $name = $this->normalizeName($name);

        if (isset($this->userFunctions[$name])) {
            // see if we can find a user function
            list($f, $prototype) = $this->userFunctions[$name];
        } elseif (($f = $this->getBuiltinFunction($name)) && is_callable($f)) {
            $libName   = $f[1];
            $prototype = isset(static::$$libName) ? static::$$libName : null;
        } else {
            return false;
        }

        @list($sorted, $kwargs) = $this->sortArgs($prototype, $args);

        if ($name !== 'if' && $name !== 'call') {
            foreach ($sorted as &$val) {
                // @todo fix root cause for this php 7.4 hack
                if ($val === null)  continue;

                $val = $this->reduce($val, true);
            }
        }

        $returnValue = call_user_func($f, $sorted, $kwargs);

        if (! isset($returnValue)) {
            return false;
        }

        $returnValue = $this->coerceValue($returnValue);

        return true;
    }

    /**
     * Get built-in function
     *
     * @param string $name Normalized name
     *
     * @return array
     */
    protected function getBuiltinFunction($name)
    {
        $libName = 'lib' . preg_replace_callback(
            '/_(.)/',
            function ($m) {
                return ucfirst($m[1]);
            },
            ucfirst($name)
        );

        return [$this, $libName];
    }

    /**
     * Sorts keyword arguments
     *
     * @param array $prototype
     * @param array $args
     *
     * @return array
     */
    protected function sortArgs($prototype, $args)
    {
        $keyArgs = [];
        $posArgs = [];

        // separate positional and keyword arguments
        foreach ($args as $arg) {
            list($key, $value) = $arg;

            $key = $key[1];

            if (empty($key)) {
                $posArgs[] = empty($arg[2]) ? $value : $arg;
            } else {
                $keyArgs[$key] = $value;
            }
        }

        if (! isset($prototype)) {
            return [$posArgs, $keyArgs];
        }

        // copy positional args
        $finalArgs = array_pad($posArgs, count($prototype), null);

        // overwrite positional args with keyword args
        foreach ($prototype as $i => $names) {
            foreach ((array) $names as $name) {
                if (isset($keyArgs[$name])) {
                    $finalArgs[$i] = $keyArgs[$name];
                }
            }
        }

        return [$finalArgs, $keyArgs];
    }

    /**
     * Apply argument values per definition
     *
     * @param array $argDef
     * @param array $argValues
     *
     * @throws \Exception
     */
    protected function applyArguments($argDef, $argValues)
    {
        $storeEnv = $this->getStoreEnv();

        $env = new Environment;
        $env->store = $storeEnv->store;

        $hasVariable = false;
        $args = [];

        foreach ($argDef as $i => $arg) {
            list($name, $default, $isVariable) = $argDef[$i];

            $args[$name] = [$i, $name, $default, $isVariable];
            $hasVariable |= $isVariable;
        }

        $keywordArgs = [];
        $deferredKeywordArgs = [];
        $remaining = [];

        // assign the keyword args
        foreach ((array) $argValues as $arg) {
            if (! empty($arg[0])) {
                if (! isset($args[$arg[0][1]])) {
                    if ($hasVariable) {
                        $deferredKeywordArgs[$arg[0][1]] = $arg[1];
                    } else {
                        $this->throwError("Mixin or function doesn't have an argument named $%s.", $arg[0][1]);
                        break;
                    }
                } elseif ($args[$arg[0][1]][0] < count($remaining)) {
                    $this->throwError("The argument $%s was passed both by position and by name.", $arg[0][1]);
                    break;
                } else {
                    $keywordArgs[$arg[0][1]] = $arg[1];
                }
            } elseif (count($keywordArgs)) {
                $this->throwError('Positional arguments must come before keyword arguments.');
                break;
            } elseif ($arg[2] === true) {
                $val = $this->reduce($arg[1], true);

                if ($val[0] === Type::T_LIST) {
                    foreach ($val[2] as $name => $item) {
                        if (! is_numeric($name)) {
                            $keywordArgs[$name] = $item;
                        } else {
                            $remaining[] = $item;
                        }
                    }
                } elseif ($val[0] === Type::T_MAP) {
                    foreach ($val[1] as $i => $name) {
                        $name = $this->compileStringContent($this->coerceString($name));
                        $item = $val[2][$i];

                        if (! is_numeric($name)) {
                            $keywordArgs[$name] = $item;
                        } else {
                            $remaining[] = $item;
                        }
                    }
                } else {
                    $remaining[] = $val;
                }
            } else {
                $remaining[] = $arg[1];
            }
        }

        foreach ($args as $arg) {
            list($i, $name, $default, $isVariable) = $arg;

            if ($isVariable) {
                $val = [Type::T_LIST, ',', [], $isVariable];

                for ($count = count($remaining); $i < $count; $i++) {
                    $val[2][] = $remaining[$i];
                }

                foreach ($deferredKeywordArgs as $itemName => $item) {
                    $val[2][$itemName] = $item;
                }
            } elseif (isset($remaining[$i])) {
                $val = $remaining[$i];
            } elseif (isset($keywordArgs[$name])) {
                $val = $keywordArgs[$name];
            } elseif (! empty($default)) {
                continue;
            } else {
                $this->throwError("Missing argument $name");
                break;
            }

            $this->set($name, $this->reduce($val, true), true, $env);
        }

        $storeEnv->store = $env->store;

        foreach ($args as $arg) {
            list($i, $name, $default, $isVariable) = $arg;

            if ($isVariable || isset($remaining[$i]) || isset($keywordArgs[$name]) || empty($default)) {
                continue;
            }

            $this->set($name, $this->reduce($default, true), true);
        }
    }

    /**
     * Coerce a php value into a scss one
     *
     * @param mixed $value
     *
     * @return array|\Leafo\ScssPhp\Node\Number
     */
    protected function coerceValue($value)
    {
        if (is_array($value) || $value instanceof \ArrayAccess) {
            return $value;
        }

        if (is_bool($value)) {
            return $this->toBool($value);
        }

        if ($value === null) {
            return static::$null;
        }

        if (is_numeric($value)) {
            return new Node\Number($value, '');
        }

        if ($value === '') {
            return static::$emptyString;
        }

        if (preg_match('/^(#([0-9a-f]{6})|#([0-9a-f]{3}))$/i', $value, $m)) {
            $color = [Type::T_COLOR];

            if (isset($m[3])) {
                $num = hexdec($m[3]);

                foreach ([3, 2, 1] as $i) {
                    $t = $num & 0xf;
                    $color[$i] = $t << 4 | $t;
                    $num >>= 4;
                }
            } else {
                $num = hexdec($m[2]);

                foreach ([3, 2, 1] as $i) {
                    $color[$i] = $num & 0xff;
                    $num >>= 8;
                }
            }

            return $color;
        }

        return [Type::T_KEYWORD, $value];
    }

    /**
     * Coerce something to map
     *
     * @param array $item
     *
     * @return array
     */
    protected function coerceMap($item)
    {
        if ($item[0] === Type::T_MAP) {
            return $item;
        }

        if ($item === static::$emptyList) {
            return static::$emptyMap;
        }

        return [Type::T_MAP, [$item], [static::$null]];
    }

    /**
     * Coerce something to list
     *
     * @param array  $item
     * @param string $delim
     *
     * @return array
     */
    protected function coerceList($item, $delim = ',')
    {
        if (isset($item) && $item[0] === Type::T_LIST) {
            return $item;
        }

        if (isset($item) && $item[0] === Type::T_MAP) {
            $keys = $item[1];
            $values = $item[2];
            $list = [];

            for ($i = 0, $s = count($keys); $i < $s; $i++) {
                $key = $keys[$i];
                $value = $values[$i];

                $list[] = [
                    Type::T_LIST,
                    '',
                    [[Type::T_KEYWORD, $this->compileStringContent($this->coerceString($key))], $value]
                ];
            }

            return [Type::T_LIST, ',', $list];
        }

        return [Type::T_LIST, $delim, ! isset($item) ? []: [$item]];
    }

    /**
     * Coerce color for expression
     *
     * @param array $value
     *
     * @return array|null
     */
    protected function coerceForExpression($value)
    {
        if ($color = $this->coerceColor($value)) {
            return $color;
        }

        return $value;
    }

    /**
     * Coerce value to color
     *
     * @param array $value
     *
     * @return array|null
     */
    protected function coerceColor($value)
    {
        switch ($value[0]) {
            case Type::T_COLOR:
                return $value;

            case Type::T_KEYWORD:
                $name = strtolower($value[1]);

                if (isset(Colors::$cssColors[$name])) {
                    $rgba = explode(',', Colors::$cssColors[$name]);

                    return isset($rgba[3])
                        ? [Type::T_COLOR, (int) $rgba[0], (int) $rgba[1], (int) $rgba[2], (int) $rgba[3]]
                        : [Type::T_COLOR, (int) $rgba[0], (int) $rgba[1], (int) $rgba[2]];
                }

                return null;
        }

        return null;
    }

    /**
     * Coerce value to string
     *
     * @param array $value
     *
     * @return array|null
     */
    protected function coerceString($value)
    {
        if ($value[0] === Type::T_STRING) {
            return $value;
        }

        return [Type::T_STRING, '', [$this->compileValue($value)]];
    }

    /**
     * Coerce value to a percentage
     *
     * @param array $value
     *
     * @return integer|float
     */
    protected function coercePercent($value)
    {
        if ($value[0] === Type::T_NUMBER) {
            if (! empty($value[2]['%'])) {
                return $value[1] / 100;
            }

            return $value[1];
        }

        return 0;
    }

    /**
     * Assert value is a map
     *
     * @api
     *
     * @param array $value
     *
     * @return array
     *
     * @throws \Exception
     */
    public function assertMap($value)
    {
        $value = $this->coerceMap($value);

        if ($value[0] !== Type::T_MAP) {
            $this->throwError('expecting map, %s received', $value[0]);
        }

        return $value;
    }

    /**
     * Assert value is a list
     *
     * @api
     *
     * @param array $value
     *
     * @return array
     *
     * @throws \Exception
     */
    public function assertList($value)
    {
        if ($value[0] !== Type::T_LIST) {
            $this->throwError('expecting list, %s received', $value[0]);
        }

        return $value;
    }

    /**
     * Assert value is a color
     *
     * @api
     *
     * @param array $value
     *
     * @return array
     *
     * @throws \Exception
     */
    public function assertColor($value)
    {
        if ($color = $this->coerceColor($value)) {
            return $color;
        }

        $this->throwError('expecting color, %s received', $value[0]);
    }

    /**
     * Assert value is a number
     *
     * @api
     *
     * @param array $value
     *
     * @return integer|float
     *
     * @throws \Exception
     */
    public function assertNumber($value)
    {
        if ($value[0] !== Type::T_NUMBER) {
            $this->throwError('expecting number, %s received', $value[0]);
        }

        return $value[1];
    }

    /**
     * Make sure a color's components don't go out of bounds
     *
     * @param array $c
     *
     * @return array
     */
    protected function fixColor($c)
    {
        foreach ([1, 2, 3] as $i) {
            if ($c[$i] < 0) {
                $c[$i] = 0;
            }

            if ($c[$i] > 255) {
                $c[$i] = 255;
            }
        }

        return $c;
    }

    /**
     * Convert RGB to HSL
     *
     * @api
     *
     * @param integer $red
     * @param integer $green
     * @param integer $blue
     *
     * @return array
     */
    public function toHSL($red, $green, $blue)
    {
        $min = min($red, $green, $blue);
        $max = max($red, $green, $blue);

        $l = $min + $max;
        $d = $max - $min;

        if ((int) $d === 0) {
            $h = $s = 0;
        } else {
            if ($l < 255) {
                $s = $d / $l;
            } else {
                $s = $d / (510 - $l);
            }

            if ($red == $max) {
                $h = 60 * ($green - $blue) / $d;
            } elseif ($green == $max) {
                $h = 60 * ($blue - $red) / $d + 120;
            } elseif ($blue == $max) {
                $h = 60 * ($red - $green) / $d + 240;
            }
        }

        return [Type::T_HSL, fmod($h, 360), $s * 100, $l / 5.1];
    }

    /**
     * Hue to RGB helper
     *
     * @param float $m1
     * @param float $m2
     * @param float $h
     *
     * @return float
     */
    protected function hueToRGB($m1, $m2, $h)
    {
        if ($h < 0) {
            $h += 1;
        } elseif ($h > 1) {
            $h -= 1;
        }

        if ($h * 6 < 1) {
            return $m1 + ($m2 - $m1) * $h * 6;
        }

        if ($h * 2 < 1) {
            return $m2;
        }

        if ($h * 3 < 2) {
            return $m1 + ($m2 - $m1) * (2/3 - $h) * 6;
        }

        return $m1;
    }

    /**
     * Convert HSL to RGB
     *
     * @api
     *
     * @param integer $hue        H from 0 to 360
     * @param integer $saturation S from 0 to 100
     * @param integer $lightness  L from 0 to 100
     *
     * @return array
     */
    public function toRGB($hue, $saturation, $lightness)
    {
        if ($hue < 0) {
            $hue += 360;
        }

        $h = $hue / 360;
        $s = min(100, max(0, $saturation)) / 100;
        $l = min(100, max(0, $lightness)) / 100;

        $m2 = $l <= 0.5 ? $l * ($s + 1) : $l + $s - $l * $s;
        $m1 = $l * 2 - $m2;

        $r = $this->hueToRGB($m1, $m2, $h + 1/3) * 255;
        $g = $this->hueToRGB($m1, $m2, $h) * 255;
        $b = $this->hueToRGB($m1, $m2, $h - 1/3) * 255;

        $out = [Type::T_COLOR, $r, $g, $b];

        return $out;
    }

    // Built in functions

    //protected static $libCall = ['name', 'args...'];
    protected function libCall($args, $kwargs)
    {
        $name = $this->compileStringContent($this->coerceString($this->reduce(array_shift($args), true)));

        $posArgs = [];

        foreach ($args as $arg) {
            if (empty($arg[0])) {
                if ($arg[2] === true) {
                    $tmp = $this->reduce($arg[1]);

                    if ($tmp[0] === Type::T_LIST) {
                        foreach ($tmp[2] as $item) {
                            $posArgs[] = [null, $item, false];
                        }
                    } else {
                        $posArgs[] = [null, $tmp, true];
                    }

                    continue;
                }

                $posArgs[] = [null, $this->reduce($arg), false];
                continue;
            }

            $posArgs[] = [null, $arg, false];
        }

        if (count($kwargs)) {
            foreach ($kwargs as $key => $value) {
                $posArgs[] = [[Type::T_VARIABLE, $key], $value, false];
            }
        }

        return $this->reduce([Type::T_FUNCTION_CALL, $name, $posArgs]);
    }

    protected static $libIf = ['condition', 'if-true', 'if-false'];
    protected function libIf($args)
    {
        list($cond, $t, $f) = $args;

        if (! $this->isTruthy($this->reduce($cond, true))) {
            return $this->reduce($f, true);
        }

        return $this->reduce($t, true);
    }

    protected static $libIndex = ['list', 'value'];
    protected function libIndex($args)
    {
        list($list, $value) = $args;

        if ($value[0] === Type::T_MAP) {
            return static::$null;
        }

        if ($list[0] === Type::T_MAP ||
            $list[0] === Type::T_STRING ||
            $list[0] === Type::T_KEYWORD ||
            $list[0] === Type::T_INTERPOLATE
        ) {
            $list = $this->coerceList($list, ' ');
        }

        if ($list[0] !== Type::T_LIST) {
            return static::$null;
        }

        $values = [];

        foreach ($list[2] as $item) {
            $values[] = $this->normalizeValue($item);
        }

        $key = array_search($this->normalizeValue($value), $values);

        return false === $key ? static::$null : $key + 1;
    }

    protected static $libRgb = ['red', 'green', 'blue'];
    protected function libRgb($args)
    {
        list($r, $g, $b) = $args;

        return [Type::T_COLOR, $r[1], $g[1], $b[1]];
    }

    protected static $libRgba = [
        ['red', 'color'],
        'green', 'blue', 'alpha'];
    protected function libRgba($args)
    {
        if ($color = $this->coerceColor($args[0])) {
            $num = isset($args[3]) ? $args[3] : $args[1];
            $alpha = $this->assertNumber($num);
            $color[4] = $alpha;

            return $color;
        }

        list($r, $g, $b, $a) = $args;

        return [Type::T_COLOR, $r[1], $g[1], $b[1], $a[1]];
    }

    // helper function for adjust_color, change_color, and scale_color
    protected function alterColor($args, $fn)
    {
        $color = $this->assertColor($args[0]);

        foreach ([1, 2, 3, 7] as $i) {
            if (isset($args[$i])) {
                $val = $this->assertNumber($args[$i]);
                $ii = $i === 7 ? 4 : $i; // alpha
                $color[$ii] = call_user_func($fn, isset($color[$ii]) ? $color[$ii] : 0, $val, $i);
            }
        }

        if (isset($args[4]) || isset($args[5]) || isset($args[6])) {
            $hsl = $this->toHSL($color[1], $color[2], $color[3]);

            foreach ([4, 5, 6] as $i) {
                if (isset($args[$i])) {
                    $val = $this->assertNumber($args[$i]);
                    $hsl[$i - 3] = call_user_func($fn, $hsl[$i - 3], $val, $i);
                }
            }

            $rgb = $this->toRGB($hsl[1], $hsl[2], $hsl[3]);

            if (isset($color[4])) {
                $rgb[4] = $color[4];
            }

            $color = $rgb;
        }

        return $color;
    }

    protected static $libAdjustColor = [
        'color', 'red', 'green', 'blue',
        'hue', 'saturation', 'lightness', 'alpha'
    ];
    protected function libAdjustColor($args)
    {
        return $this->alterColor($args, function ($base, $alter, $i) {
            return $base + $alter;
        });
    }

    protected static $libChangeColor = [
        'color', 'red', 'green', 'blue',
        'hue', 'saturation', 'lightness', 'alpha'
    ];
    protected function libChangeColor($args)
    {
        return $this->alterColor($args, function ($base, $alter, $i) {
            return $alter;
        });
    }

    protected static $libScaleColor = [
        'color', 'red', 'green', 'blue',
        'hue', 'saturation', 'lightness', 'alpha'
    ];
    protected function libScaleColor($args)
    {
        return $this->alterColor($args, function ($base, $scale, $i) {
            // 1, 2, 3 - rgb
            // 4, 5, 6 - hsl
            // 7 - a
            switch ($i) {
                case 1:
                case 2:
                case 3:
                    $max = 255;
                    break;

                case 4:
                    $max = 360;
                    break;

                case 7:
                    $max = 1;
                    break;

                default:
                    $max = 100;
            }

            $scale = $scale / 100;

            if ($scale < 0) {
                return $base * $scale + $base;
            }

            return ($max - $base) * $scale + $base;
        });
    }

    protected static $libIeHexStr = ['color'];
    protected function libIeHexStr($args)
    {
        $color = $this->coerceColor($args[0]);
        $color[4] = isset($color[4]) ? round(255 * $color[4]) : 255;

        return sprintf('#%02X%02X%02X%02X', $color[4], $color[1], $color[2], $color[3]);
    }

    protected static $libRed = ['color'];
    protected function libRed($args)
    {
        $color = $this->coerceColor($args[0]);

        return $color[1];
    }

    protected static $libGreen = ['color'];
    protected function libGreen($args)
    {
        $color = $this->coerceColor($args[0]);

        return $color[2];
    }

    protected static $libBlue = ['color'];
    protected function libBlue($args)
    {
        $color = $this->coerceColor($args[0]);

        return $color[3];
    }

    protected static $libAlpha = ['color'];
    protected function libAlpha($args)
    {
        if ($color = $this->coerceColor($args[0])) {
            return isset($color[4]) ? $color[4] : 1;
        }

        // this might be the IE function, so return value unchanged
        return null;
    }

    protected static $libOpacity = ['color'];
    protected function libOpacity($args)
    {
        $value = $args[0];

        if ($value[0] === Type::T_NUMBER) {
            return null;
        }

        return $this->libAlpha($args);
    }

    // mix two colors
    protected static $libMix = ['color-1', 'color-2', 'weight'];
    protected function libMix($args)
    {
        list($first, $second, $weight) = $args;

        $first = $this->assertColor($first);
        $second = $this->assertColor($second);

        if (! isset($weight)) {
            $weight = 0.5;
        } else {
            $weight = $this->coercePercent($weight);
        }

        $firstAlpha = isset($first[4]) ? $first[4] : 1;
        $secondAlpha = isset($second[4]) ? $second[4] : 1;

        $w = $weight * 2 - 1;
        $a = $firstAlpha - $secondAlpha;

        $w1 = (($w * $a === -1 ? $w : ($w + $a) / (1 + $w * $a)) + 1) / 2.0;
        $w2 = 1.0 - $w1;

        $new = [Type::T_COLOR,
            $w1 * $first[1] + $w2 * $second[1],
            $w1 * $first[2] + $w2 * $second[2],
            $w1 * $first[3] + $w2 * $second[3],
        ];

        if ($firstAlpha != 1.0 || $secondAlpha != 1.0) {
            $new[] = $firstAlpha * $weight + $secondAlpha * (1 - $weight);
        }

        return $this->fixColor($new);
    }

    protected static $libHsl = ['hue', 'saturation', 'lightness'];
    protected function libHsl($args)
    {
        list($h, $s, $l) = $args;

        return $this->toRGB($h[1], $s[1], $l[1]);
    }

    protected static $libHsla = ['hue', 'saturation', 'lightness', 'alpha'];
    protected function libHsla($args)
    {
        list($h, $s, $l, $a) = $args;

        $color = $this->toRGB($h[1], $s[1], $l[1]);
        $color[4] = $a[1];

        return $color;
    }

    protected static $libHue = ['color'];
    protected function libHue($args)
    {
        $color = $this->assertColor($args[0]);
        $hsl = $this->toHSL($color[1], $color[2], $color[3]);

        return new Node\Number($hsl[1], 'deg');
    }

    protected static $libSaturation = ['color'];
    protected function libSaturation($args)
    {
        $color = $this->assertColor($args[0]);
        $hsl = $this->toHSL($color[1], $color[2], $color[3]);

        return new Node\Number($hsl[2], '%');
    }

    protected static $libLightness = ['color'];
    protected function libLightness($args)
    {
        $color = $this->assertColor($args[0]);
        $hsl = $this->toHSL($color[1], $color[2], $color[3]);

        return new Node\Number($hsl[3], '%');
    }

    protected function adjustHsl($color, $idx, $amount)
    {
        $hsl = $this->toHSL($color[1], $color[2], $color[3]);
        $hsl[$idx] += $amount;
        $out = $this->toRGB($hsl[1], $hsl[2], $hsl[3]);

        if (isset($color[4])) {
            $out[4] = $color[4];
        }

        return $out;
    }

    protected static $libAdjustHue = ['color', 'degrees'];
    protected function libAdjustHue($args)
    {
        $color = $this->assertColor($args[0]);
        $degrees = $this->assertNumber($args[1]);

        return $this->adjustHsl($color, 1, $degrees);
    }

    protected static $libLighten = ['color', 'amount'];
    protected function libLighten($args)
    {
        $color = $this->assertColor($args[0]);
        $amount = Util::checkRange('amount', new Range(0, 100), $args[1], '%');

        return $this->adjustHsl($color, 3, $amount);
    }

    protected static $libDarken = ['color', 'amount'];
    protected function libDarken($args)
    {
        $color = $this->assertColor($args[0]);
        $amount = Util::checkRange('amount', new Range(0, 100), $args[1], '%');

        return $this->adjustHsl($color, 3, -$amount);
    }

    protected static $libSaturate = ['color', 'amount'];
    protected function libSaturate($args)
    {
        $value = $args[0];

        if ($value[0] === Type::T_NUMBER) {
            return null;
        }

        $color = $this->assertColor($value);
        $amount = 100 * $this->coercePercent($args[1]);

        return $this->adjustHsl($color, 2, $amount);
    }

    protected static $libDesaturate = ['color', 'amount'];
    protected function libDesaturate($args)
    {
        $color = $this->assertColor($args[0]);
        $amount = 100 * $this->coercePercent($args[1]);

        return $this->adjustHsl($color, 2, -$amount);
    }

    protected static $libGrayscale = ['color'];
    protected function libGrayscale($args)
    {
        $value = $args[0];

        if ($value[0] === Type::T_NUMBER) {
            return null;
        }

        return $this->adjustHsl($this->assertColor($value), 2, -100);
    }

    protected static $libComplement = ['color'];
    protected function libComplement($args)
    {
        return $this->adjustHsl($this->assertColor($args[0]), 1, 180);
    }

    protected static $libInvert = ['color'];
    protected function libInvert($args)
    {
        $value = $args[0];

        if ($value[0] === Type::T_NUMBER) {
            return null;
        }

        $color = $this->assertColor($value);
        $color[1] = 255 - $color[1];
        $color[2] = 255 - $color[2];
        $color[3] = 255 - $color[3];

        return $color;
    }

    // increases opacity by amount
    protected static $libOpacify = ['color', 'amount'];
    protected function libOpacify($args)
    {
        $color = $this->assertColor($args[0]);
        $amount = $this->coercePercent($args[1]);

        $color[4] = (isset($color[4]) ? $color[4] : 1) + $amount;
        $color[4] = min(1, max(0, $color[4]));

        return $color;
    }

    protected static $libFadeIn = ['color', 'amount'];
    protected function libFadeIn($args)
    {
        return $this->libOpacify($args);
    }

    // decreases opacity by amount
    protected static $libTransparentize = ['color', 'amount'];
    protected function libTransparentize($args)
    {
        $color = $this->assertColor($args[0]);
        $amount = $this->coercePercent($args[1]);

        $color[4] = (isset($color[4]) ? $color[4] : 1) - $amount;
        $color[4] = min(1, max(0, $color[4]));

        return $color;
    }

    protected static $libFadeOut = ['color', 'amount'];
    protected function libFadeOut($args)
    {
        return $this->libTransparentize($args);
    }

    protected static $libUnquote = ['string'];
    protected function libUnquote($args)
    {
        $str = $args[0];

        if ($str[0] === Type::T_STRING) {
            $str[1] = '';
        }

        return $str;
    }

    protected static $libQuote = ['string'];
    protected function libQuote($args)
    {
        $value = $args[0];

        if ($value[0] === Type::T_STRING && ! empty($value[1])) {
            return $value;
        }

        return [Type::T_STRING, '"', [$value]];
    }

    protected static $libPercentage = ['value'];
    protected function libPercentage($args)
    {
        return new Node\Number($this->coercePercent($args[0]) * 100, '%');
    }

    protected static $libRound = ['value'];
    protected function libRound($args)
    {
        $num = $args[0];

        return new Node\Number(round($num[1]), $num[2]);
    }

    protected static $libFloor = ['value'];
    protected function libFloor($args)
    {
        $num = $args[0];

        return new Node\Number(floor($num[1]), $num[2]);
    }

    protected static $libCeil = ['value'];
    protected function libCeil($args)
    {
        $num = $args[0];

        return new Node\Number(ceil($num[1]), $num[2]);
    }

    protected static $libAbs = ['value'];
    protected function libAbs($args)
    {
        $num = $args[0];

        return new Node\Number(abs($num[1]), $num[2]);
    }

    protected function libMin($args)
    {
        $numbers = $this->getNormalizedNumbers($args);
        $min = null;

        foreach ($numbers as $key => $number) {
            if (null === $min || $number[1] <= $min[1]) {
                $min = [$key, $number[1]];
            }
        }

        return $args[$min[0]];
    }

    protected function libMax($args)
    {
        $numbers = $this->getNormalizedNumbers($args);
        $max = null;

        foreach ($numbers as $key => $number) {
            if (null === $max || $number[1] >= $max[1]) {
                $max = [$key, $number[1]];
            }
        }

        return $args[$max[0]];
    }

    /**
     * Helper to normalize args containing numbers
     *
     * @param array $args
     *
     * @return array
     */
    protected function getNormalizedNumbers($args)
    {
        $unit = null;
        $originalUnit = null;
        $numbers = [];

        foreach ($args as $key => $item) {
            if ($item[0] !== Type::T_NUMBER) {
                $this->throwError('%s is not a number', $item[0]);
                break;
            }

            $number = $item->normalize();

            if (null === $unit) {
                $unit = $number[2];
                $originalUnit = $item->unitStr();
            } elseif ($number[1] && $unit !== $number[2]) {
                $this->throwError('Incompatible units: "%s" and "%s".', $originalUnit, $item->unitStr());
                break;
            }

            $numbers[$key] = $number;
        }

        return $numbers;
    }

    protected static $libLength = ['list'];
    protected function libLength($args)
    {
        $list = $this->coerceList($args[0]);

        return count($list[2]);
    }

    //protected static $libListSeparator = ['list...'];
    protected function libListSeparator($args)
    {
        if (count($args) > 1) {
            return 'comma';
        }

        $list = $this->coerceList($args[0]);

        if (count($list[2]) <= 1) {
            return 'space';
        }

        if ($list[1] === ',') {
            return 'comma';
        }

        return 'space';
    }

    protected static $libNth = ['list', 'n'];
    protected function libNth($args)
    {
        $list = $this->coerceList($args[0]);
        $n = $this->assertNumber($args[1]);

        if ($n > 0) {
            $n--;
        } elseif ($n < 0) {
            $n += count($list[2]);
        }

        return isset($list[2][$n]) ? $list[2][$n] : static::$defaultValue;
    }

    protected static $libSetNth = ['list', 'n', 'value'];
    protected function libSetNth($args)
    {
        $list = $this->coerceList($args[0]);
        $n = $this->assertNumber($args[1]);

        if ($n > 0) {
            $n--;
        } elseif ($n < 0) {
            $n += count($list[2]);
        }

        if (! isset($list[2][$n])) {
            $this->throwError('Invalid argument for "n"');

            return null;
        }

        $list[2][$n] = $args[2];

        return $list;
    }

    protected static $libMapGet = ['map', 'key'];
    protected function libMapGet($args)
    {
        $map = $this->assertMap($args[0]);
        $key = $this->compileStringContent($this->coerceString($args[1]));

        for ($i = count($map[1]) - 1; $i >= 0; $i--) {
            if ($key === $this->compileStringContent($this->coerceString($map[1][$i]))) {
                return $map[2][$i];
            }
        }

        return static::$null;
    }

    protected static $libMapKeys = ['map'];
    protected function libMapKeys($args)
    {
        $map = $this->assertMap($args[0]);
        $keys = $map[1];

        return [Type::T_LIST, ',', $keys];
    }

    protected static $libMapValues = ['map'];
    protected function libMapValues($args)
    {
        $map = $this->assertMap($args[0]);
        $values = $map[2];

        return [Type::T_LIST, ',', $values];
    }

    protected static $libMapRemove = ['map', 'key'];
    protected function libMapRemove($args)
    {
        $map = $this->assertMap($args[0]);
        $key = $this->compileStringContent($this->coerceString($args[1]));

        for ($i = count($map[1]) - 1; $i >= 0; $i--) {
            if ($key === $this->compileStringContent($this->coerceString($map[1][$i]))) {
                array_splice($map[1], $i, 1);
                array_splice($map[2], $i, 1);
            }
        }

        return $map;
    }

    protected static $libMapHasKey = ['map', 'key'];
    protected function libMapHasKey($args)
    {
        $map = $this->assertMap($args[0]);
        $key = $this->compileStringContent($this->coerceString($args[1]));

        for ($i = count($map[1]) - 1; $i >= 0; $i--) {
            if ($key === $this->compileStringContent($this->coerceString($map[1][$i]))) {
                return true;
            }
        }

        return false;
    }

    protected static $libMapMerge = ['map-1', 'map-2'];
    protected function libMapMerge($args)
    {
        $map1 = $this->assertMap($args[0]);
        $map2 = $this->assertMap($args[1]);

        foreach ($map2[1] as $i2 => $key2) {
            $key = $this->compileStringContent($this->coerceString($key2));

            foreach ($map1[1] as $i1 => $key1) {
                if ($key === $this->compileStringContent($this->coerceString($key1))) {
                    $map1[2][$i1] = $map2[2][$i2];
                    continue 2;
                }
            }

            $map1[1][] = $map2[1][$i2];
            $map1[2][] = $map2[2][$i2];
        }

        return $map1;
    }

    protected static $libKeywords = ['args'];
    protected function libKeywords($args)
    {
        $this->assertList($args[0]);

        $keys = [];
        $values = [];

        foreach ($args[0][2] as $name => $arg) {
            $keys[] = [Type::T_KEYWORD, $name];
            $values[] = $arg;
        }

        return [Type::T_MAP, $keys, $values];
    }

    protected function listSeparatorForJoin($list1, $sep)
    {
        if (! isset($sep)) {
            return $list1[1];
        }

        switch ($this->compileValue($sep)) {
            case 'comma':
                return ',';

            case 'space':
                return '';

            default:
                return $list1[1];
        }
    }

    protected static $libJoin = ['list1', 'list2', 'separator'];
    protected function libJoin($args)
    {
        list($list1, $list2, $sep) = $args;

        $list1 = $this->coerceList($list1, ' ');
        $list2 = $this->coerceList($list2, ' ');
        $sep = $this->listSeparatorForJoin($list1, $sep);

        return [Type::T_LIST, $sep, array_merge($list1[2], $list2[2])];
    }

    protected static $libAppend = ['list', 'val', 'separator'];
    protected function libAppend($args)
    {
        list($list1, $value, $sep) = $args;

        $list1 = $this->coerceList($list1, ' ');
        $sep = $this->listSeparatorForJoin($list1, $sep);

        return [Type::T_LIST, $sep, array_merge($list1[2], [$value])];
    }

    protected function libZip($args)
    {
        foreach ($args as $arg) {
            $this->assertList($arg);
        }

        $lists = [];
        $firstList = array_shift($args);

        foreach ($firstList[2] as $key => $item) {
            $list = [Type::T_LIST, '', [$item]];

            foreach ($args as $arg) {
                if (isset($arg[2][$key])) {
                    $list[2][] = $arg[2][$key];
                } else {
                    break 2;
                }
            }

            $lists[] = $list;
        }

        return [Type::T_LIST, ',', $lists];
    }

    protected static $libTypeOf = ['value'];
    protected function libTypeOf($args)
    {
        $value = $args[0];

        switch ($value[0]) {
            case Type::T_KEYWORD:
                if ($value === static::$true || $value === static::$false) {
                    return 'bool';
                }

                if ($this->coerceColor($value)) {
                    return 'color';
                }

                // fall-thru
            case Type::T_FUNCTION:
                return 'string';

            case Type::T_LIST:
                if (isset($value[3]) && $value[3]) {
                    return 'arglist';
                }

                // fall-thru
            default:
                return $value[0];
        }
    }

    protected static $libUnit = ['number'];
    protected function libUnit($args)
    {
        $num = $args[0];

        if ($num[0] === Type::T_NUMBER) {
            return [Type::T_STRING, '"', [$num->unitStr()]];
        }

        return '';
    }

    protected static $libUnitless = ['number'];
    protected function libUnitless($args)
    {
        $value = $args[0];

        return $value[0] === Type::T_NUMBER && $value->unitless();
    }

    protected static $libComparable = ['number-1', 'number-2'];
    protected function libComparable($args)
    {
        list($number1, $number2) = $args;

        if (! isset($number1[0]) || $number1[0] !== Type::T_NUMBER ||
            ! isset($number2[0]) || $number2[0] !== Type::T_NUMBER
        ) {
            $this->throwError('Invalid argument(s) for "comparable"');

            return null;
        }

        $number1 = $number1->normalize();
        $number2 = $number2->normalize();

        return $number1[2] === $number2[2] || $number1->unitless() || $number2->unitless();
    }

    protected static $libStrIndex = ['string', 'substring'];
    protected function libStrIndex($args)
    {
        $string = $this->coerceString($args[0]);
        $stringContent = $this->compileStringContent($string);

        $substring = $this->coerceString($args[1]);
        $substringContent = $this->compileStringContent($substring);

        $result = strpos($stringContent, $substringContent);

        return $result === false ? static::$null : new Node\Number($result + 1, '');
    }

    protected static $libStrInsert = ['string', 'insert', 'index'];
    protected function libStrInsert($args)
    {
        $string = $this->coerceString($args[0]);
        $stringContent = $this->compileStringContent($string);

        $insert = $this->coerceString($args[1]);
        $insertContent = $this->compileStringContent($insert);

        list(, $index) = $args[2];

        $string[2] = [substr_replace($stringContent, $insertContent, $index - 1, 0)];

        return $string;
    }

    protected static $libStrLength = ['string'];
    protected function libStrLength($args)
    {
        $string = $this->coerceString($args[0]);
        $stringContent = $this->compileStringContent($string);

        return new Node\Number(strlen($stringContent), '');
    }

    protected static $libStrSlice = ['string', 'start-at', 'end-at:-1'];
    protected function libStrSlice($args)
    {
        if (isset($args[2]) && ! $args[2][1]) {
            return static::$nullString;
        }

        $string = $this->coerceString($args[0]);
        $stringContent = $this->compileStringContent($string);

        $start = (int) $args[1][1];

        if ($start > 0) {
            $start--;
        }

        $end    = isset($args[2]) ? (int) $args[2][1] : -1;
        $length = $end < 0 ? $end + 1 : ($end > 0 ? $end - $start : $end);

        $string[2] = $length
            ? [substr($stringContent, $start, $length)]
            : [substr($stringContent, $start)];

        return $string;
    }

    protected static $libToLowerCase = ['string'];
    protected function libToLowerCase($args)
    {
        $string = $this->coerceString($args[0]);
        $stringContent = $this->compileStringContent($string);

        $string[2] = [function_exists('mb_strtolower') ? mb_strtolower($stringContent) : strtolower($stringContent)];

        return $string;
    }

    protected static $libToUpperCase = ['string'];
    protected function libToUpperCase($args)
    {
        $string = $this->coerceString($args[0]);
        $stringContent = $this->compileStringContent($string);

        $string[2] = [function_exists('mb_strtoupper') ? mb_strtoupper($stringContent) : strtoupper($stringContent)];

        return $string;
    }

    protected static $libFeatureExists = ['feature'];
    protected function libFeatureExists($args)
    {
        $string = $this->coerceString($args[0]);
        $name = $this->compileStringContent($string);

        return $this->toBool(
            array_key_exists($name, $this->registeredFeatures) ? $this->registeredFeatures[$name] : false
        );
    }

    protected static $libFunctionExists = ['name'];
    protected function libFunctionExists($args)
    {
        $string = $this->coerceString($args[0]);
        $name = $this->compileStringContent($string);

        // user defined functions
        if ($this->has(static::$namespaces['function'] . $name)) {
            return true;
        }

        $name = $this->normalizeName($name);

        if (isset($this->userFunctions[$name])) {
            return true;
        }

        // built-in functions
        $f = $this->getBuiltinFunction($name);

        return $this->toBool(is_callable($f));
    }

    protected static $libGlobalVariableExists = ['name'];
    protected function libGlobalVariableExists($args)
    {
        $string = $this->coerceString($args[0]);
        $name = $this->compileStringContent($string);

        return $this->has($name, $this->rootEnv);
    }

    protected static $libMixinExists = ['name'];
    protected function libMixinExists($args)
    {
        $string = $this->coerceString($args[0]);
        $name = $this->compileStringContent($string);

        return $this->has(static::$namespaces['mixin'] . $name);
    }

    protected static $libVariableExists = ['name'];
    protected function libVariableExists($args)
    {
        $string = $this->coerceString($args[0]);
        $name = $this->compileStringContent($string);

        return $this->has($name);
    }

    /**
     * Workaround IE7's content counter bug.
     *
     * @param array $args
     *
     * @return array
     */
    protected function libCounter($args)
    {
        $list = array_map([$this, 'compileValue'], $args);

        return [Type::T_STRING, '', ['counter(' . implode(',', $list) . ')']];
    }

    protected static $libRandom = ['limit'];
    protected function libRandom($args)
    {
        if (isset($args[0])) {
            $n = $this->assertNumber($args[0]);

            if ($n < 1) {
                $this->throwError("limit must be greater than or equal to 1");

                return null;
            }

            return new Node\Number(mt_rand(1, $n), '');
        }

        return new Node\Number(mt_rand(1, mt_getrandmax()), '');
    }

    protected function libUniqueId()
    {
        static $id;

        if (! isset($id)) {
            $id = mt_rand(0, pow(36, 8));
        }

        $id += mt_rand(0, 10) + 1;

        return [Type::T_STRING, '', ['u' . str_pad(base_convert($id, 10, 36), 8, '0', STR_PAD_LEFT)]];
    }

    protected static $libInspect = ['value'];
    protected function libInspect($args)
    {
        if ($args[0] === static::$null) {
            return [Type::T_KEYWORD, 'null'];
        }

        return $args[0];
    }

    /**
     * Preprocess selector args
     *
     * @param array $arg
     *
     * @return array|boolean
     */
    protected function getSelectorArg($arg)
    {
        static $parser = null;

        if (is_null($parser)) {
            $parser = $this->parserFactory(__METHOD__);
        }

        $arg = $this->libUnquote([$arg]);
        $arg = $this->compileValue($arg);

        $parsedSelector = [];

        if ($parser->parseSelector($arg, $parsedSelector)) {
            $selector = $this->evalSelectors($parsedSelector);
            $gluedSelector = $this->glueFunctionSelectors($selector);

            return $gluedSelector;
        }

        return false;
    }

    /**
     * Postprocess selector to output in right format
     *
     * @param array $selectors
     *
     * @return string
     */
    protected function formatOutputSelector($selectors)
    {
        $selectors = $this->collapseSelectors($selectors, true);

        return $selectors;
    }

    protected static $libIsSuperselector = ['super', 'sub'];
    protected function libIsSuperselector($args)
    {
        list($super, $sub) = $args;

        $super = $this->getSelectorArg($super);
        $sub = $this->getSelectorArg($sub);

        return $this->isSuperSelector($super, $sub);
    }

    /**
     * Test a $super selector again $sub
     *
     * @param array $super
     * @param array $sub
     *
     * @return boolean
     */
    protected function isSuperSelector($super, $sub)
    {
        // one and only one selector for each arg
        if (! $super || count($super) !== 1) {
            $this->throwError("Invalid super selector for isSuperSelector()");
        }

        if (! $sub || count($sub) !== 1) {
            $this->throwError("Invalid sub selector for isSuperSelector()");
        }

        $super = reset($super);
        $sub = reset($sub);

        $i = 0;
        $nextMustMatch = false;

        foreach ($super as $node) {
            $compound = '';

            array_walk_recursive(
                $node,
                function ($value, $key) use (&$compound) {
                    $compound .= $value;
                }
            );

            if ($this->isImmediateRelationshipCombinator($compound)) {
                if ($node !== $sub[$i]) {
                    return false;
                }

                $nextMustMatch = true;
                $i++;
            } else {
                while ($i < count($sub) && ! $this->isSuperPart($node, $sub[$i])) {
                    if ($nextMustMatch) {
                        return false;
                    }

                    $i++;
                }

                if ($i >= count($sub)) {
                    return false;
                }

                $nextMustMatch = false;
                $i++;
            }
        }

        return true;
    }

    /**
     * Test a part of super selector again a part of sub selector
     *
     * @param array $superParts
     * @param array $subParts
     *
     * @return boolean
     */
    protected function isSuperPart($superParts, $subParts)
    {
        $i = 0;

        foreach ($superParts as $superPart) {
            while ($i < count($subParts) && $subParts[$i] !== $superPart) {
                $i++;
            }

            if ($i >= count($subParts)) {
                return false;
            }

            $i++;
        }

        return true;
    }

    //protected static $libSelectorAppend = ['selector...'];
    protected function libSelectorAppend($args)
    {
        if (count($args) < 1) {
            $this->throwError("selector-append() needs at least 1 argument");
        }

        $selectors = array_map([$this, 'getSelectorArg'], $args);

        return $this->formatOutputSelector($this->selectorAppend($selectors));
    }

    /**
     * Append parts of the last selector in the list to the previous, recursively
     *
     * @param array $selectors
     *
     * @return array
     *
     * @throws \Leafo\ScssPhp\Exception\CompilerException
     */
    protected function selectorAppend($selectors)
    {
        $lastSelectors = array_pop($selectors);

        if (! $lastSelectors) {
            $this->throwError("Invalid selector list in selector-append()");
        }

        while (count($selectors)) {
            $previousSelectors = array_pop($selectors);

            if (! $previousSelectors) {
                $this->throwError("Invalid selector list in selector-append()");
            }

            // do the trick, happening $lastSelector to $previousSelector
            $appended = [];

            foreach ($lastSelectors as $lastSelector) {
                $previous = $previousSelectors;

                foreach ($lastSelector as $lastSelectorParts) {
                    foreach ($lastSelectorParts as $lastSelectorPart) {
                        foreach ($previous as $i => $previousSelector) {
                            foreach ($previousSelector as $j => $previousSelectorParts) {
                                $previous[$i][$j][] = $lastSelectorPart;
                            }
                        }
                    }
                }

                foreach ($previous as $ps) {
                    $appended[] = $ps;
                }
            }

            $lastSelectors = $appended;
        }

        return $lastSelectors;
    }

    protected static $libSelectorExtend = ['selectors', 'extendee', 'extender'];
    protected function libSelectorExtend($args)
    {
        list($selectors, $extendee, $extender) = $args;

        $selectors = $this->getSelectorArg($selectors);
        $extendee = $this->getSelectorArg($extendee);
        $extender = $this->getSelectorArg($extender);

        if (! $selectors || ! $extendee || ! $extender) {
            $this->throwError("selector-extend() invalid arguments");
        }

        $extended = $this->extendOrReplaceSelectors($selectors, $extendee, $extender);

        return $this->formatOutputSelector($extended);
    }

    protected static $libSelectorReplace = ['selectors', 'original', 'replacement'];
    protected function libSelectorReplace($args)
    {
        list($selectors, $original, $replacement) = $args;

        $selectors = $this->getSelectorArg($selectors);
        $original = $this->getSelectorArg($original);
        $replacement = $this->getSelectorArg($replacement);

        if (! $selectors || ! $original || ! $replacement) {
            $this->throwError("selector-replace() invalid arguments");
        }

        $replaced = $this->extendOrReplaceSelectors($selectors, $original, $replacement, true);

        return $this->formatOutputSelector($replaced);
    }

    /**
     * Extend/replace in selectors
     * used by selector-extend and selector-replace that use the same logic
     *
     * @param array   $selectors
     * @param array   $extendee
     * @param array   $extender
     * @param boolean $replace
     *
     * @return array
     */
    protected function extendOrReplaceSelectors($selectors, $extendee, $extender, $replace = false)
    {
        $saveExtends = $this->extends;
        $saveExtendsMap = $this->extendsMap;

        $this->extends = [];
        $this->extendsMap = [];

        foreach ($extendee as $es) {
            // only use the first one
            $this->pushExtends(reset($es), $extender, null);
        }

        $extended = [];

        foreach ($selectors as $selector) {
            if (! $replace) {
                $extended[] = $selector;
            }

            $n = count($extended);

            $this->matchExtends($selector, $extended);

            // if didnt match, keep the original selector if we are in a replace operation
            if ($replace and count($extended) === $n) {
                $extended[] = $selector;
            }
        }

        $this->extends = $saveExtends;
        $this->extendsMap = $saveExtendsMap;

        return $extended;
    }

    //protected static $libSelectorNest = ['selector...'];
    protected function libSelectorNest($args)
    {
        if (count($args) < 1) {
            $this->throwError("selector-nest() needs at least 1 argument");
        }

        $selectorsMap = array_map([$this, 'getSelectorArg'], $args);

        $envs = [];
        foreach ($selectorsMap as $selectors) {
            $env = new Environment();
            $env->selectors = $selectors;

            $envs[] = $env;
        }

        $envs = array_reverse($envs);
        $env = $this->extractEnv($envs);
        $outputSelectors = $this->multiplySelectors($env);

        return $this->formatOutputSelector($outputSelectors);
    }

    protected static $libSelectorParse = ['selectors'];
    protected function libSelectorParse($args)
    {
        $selectors = reset($args);
        $selectors = $this->getSelectorArg($selectors);

        return $this->formatOutputSelector($selectors);
    }

    protected static $libSelectorUnify = ['selectors1', 'selectors2'];
    protected function libSelectorUnify($args)
    {
        list($selectors1, $selectors2) = $args;

        $selectors1 = $this->getSelectorArg($selectors1);
        $selectors2 = $this->getSelectorArg($selectors2);

        if (! $selectors1 || ! $selectors2) {
            $this->throwError("selector-unify() invalid arguments");
        }

        // only consider the first compound of each
        $compound1 = reset($selectors1);
        $compound2 = reset($selectors2);

        // unify them and that's it
        $unified = $this->unifyCompoundSelectors($compound1, $compound2);

        return $this->formatOutputSelector($unified);
    }

    /**
     * The selector-unify magic as its best
     * (at least works as expected on test cases)
     *
     * @param array $compound1
     * @param array $compound2
     * @return array|mixed
     */
    protected function unifyCompoundSelectors($compound1, $compound2)
    {
        if (! count($compound1)) {
            return $compound2;
        }

        if (! count($compound2)) {
            return $compound1;
        }

        // check that last part are compatible
        $lastPart1 = array_pop($compound1);
        $lastPart2 = array_pop($compound2);
        $last = $this->mergeParts($lastPart1, $lastPart2);

        if (! $last) {
            return [[]];
        }

        $unifiedCompound = [$last];
        $unifiedSelectors = [$unifiedCompound];

        // do the rest
        while (count($compound1) || count($compound2)) {
            $part1 = end($compound1);
            $part2 = end($compound2);

            if ($part1 && ($match2 = $this->matchPartInCompound($part1, $compound2))) {
                list($compound2, $part2, $after2) = $match2;

                if ($after2) {
                    $unifiedSelectors = $this->prependSelectors($unifiedSelectors, $after2);
                }

                $c = $this->mergeParts($part1, $part2);
                $unifiedSelectors = $this->prependSelectors($unifiedSelectors, [$c]);
                $part1 = $part2 = null;

                array_pop($compound1);
            }

            if ($part2 && ($match1 = $this->matchPartInCompound($part2, $compound1))) {
                list($compound1, $part1, $after1) = $match1;

                if ($after1) {
                    $unifiedSelectors = $this->prependSelectors($unifiedSelectors, $after1);
                }

                $c = $this->mergeParts($part2, $part1);
                $unifiedSelectors = $this->prependSelectors($unifiedSelectors, [$c]);
                $part1 = $part2 = null;

                array_pop($compound2);
            }

            $new = [];

            if ($part1 && $part2) {
                array_pop($compound1);
                array_pop($compound2);

                $s = $this->prependSelectors($unifiedSelectors, [$part2]);
                $new = array_merge($new, $this->prependSelectors($s, [$part1]));
                $s = $this->prependSelectors($unifiedSelectors, [$part1]);
                $new = array_merge($new, $this->prependSelectors($s, [$part2]));
            } elseif ($part1) {
                array_pop($compound1);

                $new = array_merge($new, $this->prependSelectors($unifiedSelectors, [$part1]));
            } elseif ($part2) {
                array_pop($compound2);

                $new = array_merge($new, $this->prependSelectors($unifiedSelectors, [$part2]));
            }

            if ($new) {
                $unifiedSelectors = $new;
            }
        }

        return $unifiedSelectors;
    }

    /**
     * Prepend each selector from $selectors with $parts
     *
     * @param array $selectors
     * @param array $parts
     *
     * @return array
     */
    protected function prependSelectors($selectors, $parts)
    {
        $new = [];

        foreach ($selectors as $compoundSelector) {
            array_unshift($compoundSelector, $parts);

            $new[] = $compoundSelector;
        }

        return $new;
    }

    /**
     * Try to find a matching part in a compound:
     * - with same html tag name
     * - with some class or id or something in common
     *
     * @param array $part
     * @param array $compound
     *
     * @return array|boolean
     */
    protected function matchPartInCompound($part, $compound)
    {
        $partTag = $this->findTagName($part);
        $before = $compound;
        $after = [];

        // try to find a match by tag name first
        while (count($before)) {
            $p = array_pop($before);

            if ($partTag && $partTag !== '*' && $partTag == $this->findTagName($p)) {
                return [$before, $p, $after];
            }

            $after[] = $p;
        }

        // try again matching a non empty intersection and a compatible tagname
        $before = $compound;
        $after = [];

        while (count($before)) {
            $p = array_pop($before);

            if ($this->checkCompatibleTags($partTag, $this->findTagName($p))) {
                if (count(array_intersect($part, $p))) {
                    return [$before, $p, $after];
                }
            }

            $after[] = $p;
        }

        return false;
    }

    /**
     * Merge two part list taking care that
     * - the html tag is coming first - if any
     * - the :something are coming last
     *
     * @param array $parts1
     * @param array $parts2
     *
     * @return array
     */
    protected function mergeParts($parts1, $parts2)
    {
        $tag1 = $this->findTagName($parts1);
        $tag2 = $this->findTagName($parts2);
        $tag = $this->checkCompatibleTags($tag1, $tag2);

        // not compatible tags
        if ($tag === false) {
            return [];
        }

        if ($tag) {
            if ($tag1) {
                $parts1 = array_diff($parts1, [$tag1]);
            }

            if ($tag2) {
                $parts2 = array_diff($parts2, [$tag2]);
            }
        }

        $mergedParts = array_merge($parts1, $parts2);
        $mergedOrderedParts = [];

        foreach ($mergedParts as $part) {
            if (strpos($part, ':') === 0) {
                $mergedOrderedParts[] = $part;
            }
        }

        $mergedParts = array_diff($mergedParts, $mergedOrderedParts);
        $mergedParts = array_merge($mergedParts, $mergedOrderedParts);

        if ($tag) {
            array_unshift($mergedParts, $tag);
        }

        return $mergedParts;
    }

    /**
     * Check the compatibility between two tag names:
     * if both are defined they should be identical or one has to be '*'
     *
     * @param string $tag1
     * @param string $tag2
     *
     * @return array|boolean
     */
    protected function checkCompatibleTags($tag1, $tag2)
    {
        $tags = [$tag1, $tag2];
        $tags = array_unique($tags);
        $tags = array_filter($tags);

        if (count($tags)>1) {
            $tags = array_diff($tags, ['*']);
        }

        // not compatible nodes
        if (count($tags)>1) {
            return false;
        }

        return $tags;
    }

    /**
     * Find the html tag name in a selector parts list
     *
     * @param array $parts
     *
     * @return mixed|string
     */
    protected function findTagName($parts)
    {
        foreach ($parts as $part) {
            if (! preg_match('/^[\[.:#%_-]/', $part)) {
                return $part;
            }
        }

        return '';
    }

    protected static $libSimpleSelectors = ['selector'];
    protected function libSimpleSelectors($args)
    {
        $selector = reset($args);
        $selector = $this->getSelectorArg($selector);

        // remove selectors list layer, keeping the first one
        $selector = reset($selector);

        // remove parts list layer, keeping the first part
        $part = reset($selector);

        $listParts = [];

        foreach ($part as $p) {
            $listParts[] = [Type::T_STRING, '', [$p]];
        }

        return [Type::T_LIST, ',', $listParts];
    }
}
.htaccess000044400000000177150750356250006355 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>RealLoader.php000060400000007254150750356250007303 0ustar00<?php

/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry5;

/**
 * Use \Gantry5\Loader::setup() or \Gantry5\Loader::get() instead.
 *
 * This class separates Loader logic from the \Gantry5\Loader class. By adding this extra class we are able to upgrade
 * Gantry5 and initializing the new version during a single request -- as long as Gantry5 has not been initialized.
 *
 * @internal
 */
abstract class RealLoader
{
    protected static $errorMessagePhpMin = 'You are running PHP %s, but Gantry 5 Framework needs at least PHP %s to run.';
    protected static $errorMessageGantryLoaded = 'Attempting to load Gantry 5 Framework multiple times.';

    /**
     * Initializes Gantry5 and returns Composer ClassLoader.
     *
     * @return \Composer\Autoload\ClassLoader
     * @throws \RuntimeException
     * @throws \LogicException
     */
    public static function getClassLoader()
    {
        // Fail safe version check for PHP <5.5.9.
        if (version_compare($phpVersion = PHP_VERSION, '5.5.9', '<')) {
            throw new \RuntimeException(sprintf(self::$errorMessagePhpMin, $phpVersion, '5.5.9'));
        }

        if (defined('GANTRY5_VERSION')) {
            throw new \LogicException(self::$errorMessageGantryLoaded);
        }

        define('GANTRY5_VERSION', '5.4.34');
        define('GANTRY5_VERSION_DATE', 'April 30, 2020');

        if (!defined('DS')) {
            define('DS', DIRECTORY_SEPARATOR);
        }

        define('GANTRY_DEBUGGER', class_exists('Gantry\\Debugger'));

        return self::autoload();
    }

    /**
     * @return \Composer\Autoload\ClassLoader
     * @throws \LogicException
     * @internal
     */
    protected static function autoload()
    {
        // Register platform specific overrides.
        if (defined('JVERSION') && defined('JPATH_ROOT')) {
            define('GANTRY5_PLATFORM', 'joomla');
            define('GANTRY5_ROOT', JPATH_ROOT);
        } elseif (defined('WP_DEBUG') && defined('ABSPATH')) {
            define('GANTRY5_PLATFORM', 'wordpress');
            if (class_exists('Env') && defined('CONTENT_DIR')) {
                // Bedrock support.
                define('GANTRY5_ROOT', preg_replace('|' . preg_quote(CONTENT_DIR). '$|', '', WP_CONTENT_DIR));
            } else {
                // Plain WP support.
                define('GANTRY5_ROOT', dirname(WP_CONTENT_DIR));
            }
        } elseif (defined('GRAV_VERSION') && defined('ROOT_DIR')) {
            define('GANTRY5_PLATFORM', 'grav');
            define('GANTRY5_ROOT', rtrim(ROOT_DIR, '/'));
        } elseif (defined('PRIME_ROOT')) {
            define('GANTRY5_PLATFORM', 'prime');
            define('GANTRY5_ROOT', PRIME_ROOT);
        } else {
            throw new \RuntimeException('Gantry: CMS not detected!');
        }

        $base = __DIR__;
        $vendor = "{$base}/platforms/" . GANTRY5_PLATFORM;
        $dev = is_dir($vendor);
        if (!$dev) {
            $vendor = $base;
        }
        $autoload = "{$vendor}/vendor/autoload.php";

        // Initialize auto-loading.
        if (!file_exists($autoload)) {
            throw new \LogicException('Please run composer in Gantry 5 Library!');
        }

        /** @var \Composer\Autoload\ClassLoader $loader */
        $loader = require_once $autoload;

        if ($dev) {
            $loader->addPsr4('Gantry\\', "{$base}/classes/Gantry");
        }

        return $loader;
    }
}
vendor/composer/ClassLoader.php000060400000032223150750356250012603 0ustar00<?php

/*
 * This file is part of Composer.
 *
 * (c) Nils Adermann <naderman@naderman.de>
 *     Jordi Boggiano <j.boggiano@seld.be>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Composer\Autoload;

/**
 * ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
 *
 *     $loader = new \Composer\Autoload\ClassLoader();
 *
 *     // register classes with namespaces
 *     $loader->add('Symfony\Component', __DIR__.'/component');
 *     $loader->add('Symfony',           __DIR__.'/framework');
 *
 *     // activate the autoloader
 *     $loader->register();
 *
 *     // to enable searching the include path (eg. for PEAR packages)
 *     $loader->setUseIncludePath(true);
 *
 * In this example, if you try to use a class in the Symfony\Component
 * namespace or one of its children (Symfony\Component\Console for instance),
 * the autoloader will first look for the class under the component/
 * directory, and it will then fallback to the framework/ directory if not
 * found before giving up.
 *
 * This class is loosely based on the Symfony UniversalClassLoader.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 * @author Jordi Boggiano <j.boggiano@seld.be>
 * @see    http://www.php-fig.org/psr/psr-0/
 * @see    http://www.php-fig.org/psr/psr-4/
 */
class ClassLoader
{
    // PSR-4
    private $prefixLengthsPsr4 = array();
    private $prefixDirsPsr4 = array();
    private $fallbackDirsPsr4 = array();

    // PSR-0
    private $prefixesPsr0 = array();
    private $fallbackDirsPsr0 = array();

    private $useIncludePath = false;
    private $classMap = array();
    private $classMapAuthoritative = false;
    private $missingClasses = array();
    private $apcuPrefix;

    public function getPrefixes()
    {
        if (!empty($this->prefixesPsr0)) {
            return call_user_func_array('array_merge', $this->prefixesPsr0);
        }

        return array();
    }

    public function getPrefixesPsr4()
    {
        return $this->prefixDirsPsr4;
    }

    public function getFallbackDirs()
    {
        return $this->fallbackDirsPsr0;
    }

    public function getFallbackDirsPsr4()
    {
        return $this->fallbackDirsPsr4;
    }

    public function getClassMap()
    {
        return $this->classMap;
    }

    /**
     * @param array $classMap Class to filename map
     */
    public function addClassMap(array $classMap)
    {
        if ($this->classMap) {
            $this->classMap = array_merge($this->classMap, $classMap);
        } else {
            $this->classMap = $classMap;
        }
    }

    /**
     * Registers a set of PSR-0 directories for a given prefix, either
     * appending or prepending to the ones previously set for this prefix.
     *
     * @param string       $prefix  The prefix
     * @param array|string $paths   The PSR-0 root directories
     * @param bool         $prepend Whether to prepend the directories
     */
    public function add($prefix, $paths, $prepend = false)
    {
        if (!$prefix) {
            if ($prepend) {
                $this->fallbackDirsPsr0 = array_merge(
                    (array) $paths,
                    $this->fallbackDirsPsr0
                );
            } else {
                $this->fallbackDirsPsr0 = array_merge(
                    $this->fallbackDirsPsr0,
                    (array) $paths
                );
            }

            return;
        }

        $first = $prefix[0];
        if (!isset($this->prefixesPsr0[$first][$prefix])) {
            $this->prefixesPsr0[$first][$prefix] = (array) $paths;

            return;
        }
        if ($prepend) {
            $this->prefixesPsr0[$first][$prefix] = array_merge(
                (array) $paths,
                $this->prefixesPsr0[$first][$prefix]
            );
        } else {
            $this->prefixesPsr0[$first][$prefix] = array_merge(
                $this->prefixesPsr0[$first][$prefix],
                (array) $paths
            );
        }
    }

    /**
     * Registers a set of PSR-4 directories for a given namespace, either
     * appending or prepending to the ones previously set for this namespace.
     *
     * @param string       $prefix  The prefix/namespace, with trailing '\\'
     * @param array|string $paths   The PSR-4 base directories
     * @param bool         $prepend Whether to prepend the directories
     *
     * @throws \InvalidArgumentException
     */
    public function addPsr4($prefix, $paths, $prepend = false)
    {
        if (!$prefix) {
            // Register directories for the root namespace.
            if ($prepend) {
                $this->fallbackDirsPsr4 = array_merge(
                    (array) $paths,
                    $this->fallbackDirsPsr4
                );
            } else {
                $this->fallbackDirsPsr4 = array_merge(
                    $this->fallbackDirsPsr4,
                    (array) $paths
                );
            }
        } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
            // Register directories for a new namespace.
            $length = strlen($prefix);
            if ('\\' !== $prefix[$length - 1]) {
                throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
            }
            $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
            $this->prefixDirsPsr4[$prefix] = (array) $paths;
        } elseif ($prepend) {
            // Prepend directories for an already registered namespace.
            $this->prefixDirsPsr4[$prefix] = array_merge(
                (array) $paths,
                $this->prefixDirsPsr4[$prefix]
            );
        } else {
            // Append directories for an already registered namespace.
            $this->prefixDirsPsr4[$prefix] = array_merge(
                $this->prefixDirsPsr4[$prefix],
                (array) $paths
            );
        }
    }

    /**
     * Registers a set of PSR-0 directories for a given prefix,
     * replacing any others previously set for this prefix.
     *
     * @param string       $prefix The prefix
     * @param array|string $paths  The PSR-0 base directories
     */
    public function set($prefix, $paths)
    {
        if (!$prefix) {
            $this->fallbackDirsPsr0 = (array) $paths;
        } else {
            $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
        }
    }

    /**
     * Registers a set of PSR-4 directories for a given namespace,
     * replacing any others previously set for this namespace.
     *
     * @param string       $prefix The prefix/namespace, with trailing '\\'
     * @param array|string $paths  The PSR-4 base directories
     *
     * @throws \InvalidArgumentException
     */
    public function setPsr4($prefix, $paths)
    {
        if (!$prefix) {
            $this->fallbackDirsPsr4 = (array) $paths;
        } else {
            $length = strlen($prefix);
            if ('\\' !== $prefix[$length - 1]) {
                throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
            }
            $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
            $this->prefixDirsPsr4[$prefix] = (array) $paths;
        }
    }

    /**
     * Turns on searching the include path for class files.
     *
     * @param bool $useIncludePath
     */
    public function setUseIncludePath($useIncludePath)
    {
        $this->useIncludePath = $useIncludePath;
    }

    /**
     * Can be used to check if the autoloader uses the include path to check
     * for classes.
     *
     * @return bool
     */
    public function getUseIncludePath()
    {
        return $this->useIncludePath;
    }

    /**
     * Turns off searching the prefix and fallback directories for classes
     * that have not been registered with the class map.
     *
     * @param bool $classMapAuthoritative
     */
    public function setClassMapAuthoritative($classMapAuthoritative)
    {
        $this->classMapAuthoritative = $classMapAuthoritative;
    }

    /**
     * Should class lookup fail if not found in the current class map?
     *
     * @return bool
     */
    public function isClassMapAuthoritative()
    {
        return $this->classMapAuthoritative;
    }

    /**
     * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
     *
     * @param string|null $apcuPrefix
     */
    public function setApcuPrefix($apcuPrefix)
    {
        $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
    }

    /**
     * The APCu prefix in use, or null if APCu caching is not enabled.
     *
     * @return string|null
     */
    public function getApcuPrefix()
    {
        return $this->apcuPrefix;
    }

    /**
     * Registers this instance as an autoloader.
     *
     * @param bool $prepend Whether to prepend the autoloader or not
     */
    public function register($prepend = false)
    {
        spl_autoload_register(array($this, 'loadClass'), true, $prepend);
    }

    /**
     * Unregisters this instance as an autoloader.
     */
    public function unregister()
    {
        spl_autoload_unregister(array($this, 'loadClass'));
    }

    /**
     * Loads the given class or interface.
     *
     * @param  string    $class The name of the class
     * @return bool|null True if loaded, null otherwise
     */
    public function loadClass($class)
    {
        if ($file = $this->findFile($class)) {
            includeFile($file);

            return true;
        }
    }

    /**
     * Finds the path to the file where the class is defined.
     *
     * @param string $class The name of the class
     *
     * @return string|false The path if found, false otherwise
     */
    public function findFile($class)
    {
        // class map lookup
        if (isset($this->classMap[$class])) {
            return $this->classMap[$class];
        }
        if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
            return false;
        }
        if (null !== $this->apcuPrefix) {
            $file = apcu_fetch($this->apcuPrefix.$class, $hit);
            if ($hit) {
                return $file;
            }
        }

        $file = $this->findFileWithExtension($class, '.php');

        // Search for Hack files if we are running on HHVM
        if (false === $file && defined('HHVM_VERSION')) {
            $file = $this->findFileWithExtension($class, '.hh');
        }

        if (null !== $this->apcuPrefix) {
            apcu_add($this->apcuPrefix.$class, $file);
        }

        if (false === $file) {
            // Remember that this class does not exist.
            $this->missingClasses[$class] = true;
        }

        return $file;
    }

    private function findFileWithExtension($class, $ext)
    {
        // PSR-4 lookup
        $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;

        $first = $class[0];
        if (isset($this->prefixLengthsPsr4[$first])) {
            $subPath = $class;
            while (false !== $lastPos = strrpos($subPath, '\\')) {
                $subPath = substr($subPath, 0, $lastPos);
                $search = $subPath . '\\';
                if (isset($this->prefixDirsPsr4[$search])) {
                    $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
                    foreach ($this->prefixDirsPsr4[$search] as $dir) {
                        if (file_exists($file = $dir . $pathEnd)) {
                            return $file;
                        }
                    }
                }
            }
        }

        // PSR-4 fallback dirs
        foreach ($this->fallbackDirsPsr4 as $dir) {
            if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
                return $file;
            }
        }

        // PSR-0 lookup
        if (false !== $pos = strrpos($class, '\\')) {
            // namespaced class name
            $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
                . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
        } else {
            // PEAR-like class name
            $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
        }

        if (isset($this->prefixesPsr0[$first])) {
            foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
                if (0 === strpos($class, $prefix)) {
                    foreach ($dirs as $dir) {
                        if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
                            return $file;
                        }
                    }
                }
            }
        }

        // PSR-0 fallback dirs
        foreach ($this->fallbackDirsPsr0 as $dir) {
            if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
                return $file;
            }
        }

        // PSR-0 include paths.
        if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
            return $file;
        }

        return false;
    }
}

/**
 * Scope isolated include.
 *
 * Prevents access to $this/self from included files.
 */
function includeFile($file)
{
    include $file;
}
vendor/composer/autoload_files.php000060400000000360150750356250013376 0ustar00<?php

// autoload_files.php @generated by Composer

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);

return array(
    '320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
);
vendor/composer/autoload_static.php000060400000011742150750356250013571 0ustar00<?php

// autoload_static.php @generated by Composer

namespace Composer\Autoload;

class ComposerStaticInit35ebe4700d36971ed56fa38404e0c71a
{
    public static $files = array (
        '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
    );

    public static $prefixLengthsPsr4 = array (
        'W' => 
        array (
            'Whoops\\' => 7,
        ),
        'T' => 
        array (
            'Twig\\' => 5,
        ),
        'S' => 
        array (
            'Symfony\\Polyfill\\Ctype\\' => 23,
            'Symfony\\Component\\Yaml\\' => 23,
            'Symfony\\Component\\EventDispatcher\\' => 34,
        ),
        'R' => 
        array (
            'RocketTheme\\Toolbox\\StreamWrapper\\' => 34,
            'RocketTheme\\Toolbox\\Session\\' => 28,
            'RocketTheme\\Toolbox\\ResourceLocator\\' => 36,
            'RocketTheme\\Toolbox\\File\\' => 25,
            'RocketTheme\\Toolbox\\Event\\' => 26,
            'RocketTheme\\Toolbox\\DI\\' => 23,
            'RocketTheme\\Toolbox\\Compat\\' => 27,
            'RocketTheme\\Toolbox\\Blueprints\\' => 31,
            'RocketTheme\\Toolbox\\ArrayTraits\\' => 32,
        ),
        'P' => 
        array (
            'Psr\\Log\\' => 8,
            'Psr\\Container\\' => 14,
        ),
        'L' => 
        array (
            'Leafo\\ScssPhp\\' => 14,
        ),
        'G' => 
        array (
            'Gantry\\' => 7,
        ),
    );

    public static $prefixDirsPsr4 = array (
        'Whoops\\' => 
        array (
            0 => __DIR__ . '/..' . '/filp/whoops/src/Whoops',
        ),
        'Twig\\' => 
        array (
            0 => __DIR__ . '/..' . '/twig/twig/src',
        ),
        'Symfony\\Polyfill\\Ctype\\' => 
        array (
            0 => __DIR__ . '/..' . '/symfony/polyfill-ctype',
        ),
        'Symfony\\Component\\Yaml\\' => 
        array (
            0 => __DIR__ . '/..' . '/symfony/yaml',
        ),
        'Symfony\\Component\\EventDispatcher\\' => 
        array (
            0 => __DIR__ . '/..' . '/symfony/event-dispatcher',
        ),
        'RocketTheme\\Toolbox\\StreamWrapper\\' => 
        array (
            0 => __DIR__ . '/..' . '/rockettheme/toolbox/StreamWrapper/src',
        ),
        'RocketTheme\\Toolbox\\Session\\' => 
        array (
            0 => __DIR__ . '/..' . '/rockettheme/toolbox/Session/src',
        ),
        'RocketTheme\\Toolbox\\ResourceLocator\\' => 
        array (
            0 => __DIR__ . '/..' . '/rockettheme/toolbox/ResourceLocator/src',
        ),
        'RocketTheme\\Toolbox\\File\\' => 
        array (
            0 => __DIR__ . '/..' . '/rockettheme/toolbox/File/src',
        ),
        'RocketTheme\\Toolbox\\Event\\' => 
        array (
            0 => __DIR__ . '/..' . '/rockettheme/toolbox/Event/src',
        ),
        'RocketTheme\\Toolbox\\DI\\' => 
        array (
            0 => __DIR__ . '/..' . '/rockettheme/toolbox/DI/src',
        ),
        'RocketTheme\\Toolbox\\Compat\\' => 
        array (
            0 => __DIR__ . '/..' . '/rockettheme/toolbox/Compat/src',
        ),
        'RocketTheme\\Toolbox\\Blueprints\\' => 
        array (
            0 => __DIR__ . '/..' . '/rockettheme/toolbox/Blueprints/src',
        ),
        'RocketTheme\\Toolbox\\ArrayTraits\\' => 
        array (
            0 => __DIR__ . '/..' . '/rockettheme/toolbox/ArrayTraits/src',
        ),
        'Psr\\Log\\' => 
        array (
            0 => __DIR__ . '/..' . '/psr/log/Psr/Log',
        ),
        'Psr\\Container\\' => 
        array (
            0 => __DIR__ . '/..' . '/psr/container/src',
        ),
        'Leafo\\ScssPhp\\' => 
        array (
            0 => __DIR__ . '/../..' . '/classes/Leafo/ScssPhp',
            1 => __DIR__ . '/..' . '/leafo/scssphp/src',
        ),
        'Gantry\\' => 
        array (
            0 => __DIR__ . '/../..' . '/classes/Gantry',
        ),
    );

    public static $prefixesPsr0 = array (
        'T' => 
        array (
            'Twig_' => 
            array (
                0 => __DIR__ . '/..' . '/twig/twig/lib',
            ),
        ),
        'P' => 
        array (
            'Pimple' => 
            array (
                0 => __DIR__ . '/..' . '/pimple/pimple/src',
            ),
            'ParsedownExtra' => 
            array (
                0 => __DIR__ . '/..' . '/erusev/parsedown-extra',
            ),
            'Parsedown' => 
            array (
                0 => __DIR__ . '/..' . '/erusev/parsedown',
            ),
        ),
    );

    public static function getInitializer(ClassLoader $loader)
    {
        return \Closure::bind(function () use ($loader) {
            $loader->prefixLengthsPsr4 = ComposerStaticInit35ebe4700d36971ed56fa38404e0c71a::$prefixLengthsPsr4;
            $loader->prefixDirsPsr4 = ComposerStaticInit35ebe4700d36971ed56fa38404e0c71a::$prefixDirsPsr4;
            $loader->prefixesPsr0 = ComposerStaticInit35ebe4700d36971ed56fa38404e0c71a::$prefixesPsr0;

        }, null, ClassLoader::class);
    }
}
vendor/composer/installed.json000060400000050734150750356250012557 0ustar00[
    {
        "name": "erusev/parsedown",
        "version": "1.7.4",
        "version_normalized": "1.7.4.0",
        "source": {
            "type": "git",
            "url": "https://github.com/erusev/parsedown.git",
            "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3"
        },
        "dist": {
            "type": "zip",
            "url": "https://api.github.com/repos/erusev/parsedown/zipball/cb17b6477dfff935958ba01325f2e8a2bfa6dab3",
            "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3",
            "shasum": ""
        },
        "require": {
            "ext-mbstring": "*",
            "php": ">=5.3.0"
        },
        "require-dev": {
            "phpunit/phpunit": "^4.8.35"
        },
        "time": "2019-12-30T22:54:17+00:00",
        "type": "library",
        "installation-source": "dist",
        "autoload": {
            "psr-0": {
                "Parsedown": ""
            }
        },
        "notification-url": "https://packagist.org/downloads/",
        "license": [
            "MIT"
        ],
        "authors": [
            {
                "name": "Emanuil Rusev",
                "email": "hello@erusev.com",
                "homepage": "http://erusev.com"
            }
        ],
        "description": "Parser for Markdown.",
        "homepage": "http://parsedown.org",
        "keywords": [
            "markdown",
            "parser"
        ]
    },
    {
        "name": "erusev/parsedown-extra",
        "version": "0.7.1",
        "version_normalized": "0.7.1.0",
        "source": {
            "type": "git",
            "url": "https://github.com/erusev/parsedown-extra.git",
            "reference": "0db5cce7354e4b76f155d092ab5eb3981c21258c"
        },
        "dist": {
            "type": "zip",
            "url": "https://api.github.com/repos/erusev/parsedown-extra/zipball/0db5cce7354e4b76f155d092ab5eb3981c21258c",
            "reference": "0db5cce7354e4b76f155d092ab5eb3981c21258c",
            "shasum": ""
        },
        "require": {
            "erusev/parsedown": "~1.4"
        },
        "time": "2015-11-01T10:19:22+00:00",
        "type": "library",
        "installation-source": "dist",
        "autoload": {
            "psr-0": {
                "ParsedownExtra": ""
            }
        },
        "notification-url": "https://packagist.org/downloads/",
        "license": [
            "MIT"
        ],
        "authors": [
            {
                "name": "Emanuil Rusev",
                "email": "hello@erusev.com",
                "homepage": "http://erusev.com"
            }
        ],
        "description": "An extension of Parsedown that adds support for Markdown Extra.",
        "homepage": "https://github.com/erusev/parsedown-extra",
        "keywords": [
            "markdown",
            "markdown extra",
            "parsedown",
            "parser"
        ]
    },
    {
        "name": "filp/whoops",
        "version": "2.5.1",
        "version_normalized": "2.5.1.0",
        "source": {
            "type": "git",
            "url": "https://github.com/filp/whoops.git",
            "reference": "ee9699e79d8fcdd15c107e035d7b965e4fa854ac"
        },
        "dist": {
            "type": "zip",
            "url": "https://api.github.com/repos/filp/whoops/zipball/ee9699e79d8fcdd15c107e035d7b965e4fa854ac",
            "reference": "ee9699e79d8fcdd15c107e035d7b965e4fa854ac",
            "shasum": ""
        },
        "require": {
            "php": "^5.5.9 || ^7.0",
            "psr/log": "^1.0.1"
        },
        "require-dev": {
            "mockery/mockery": "^0.9 || ^1.0",
            "phpunit/phpunit": "^4.8.35 || ^5.7",
            "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0"
        },
        "suggest": {
            "symfony/var-dumper": "Pretty print complex values better with var-dumper available",
            "whoops/soap": "Formats errors as SOAP responses"
        },
        "time": "2019-12-21T10:00:00+00:00",
        "type": "library",
        "extra": {
            "branch-alias": {
                "dev-master": "2.2-dev"
            }
        },
        "installation-source": "dist",
        "autoload": {
            "psr-4": {
                "Whoops\\": "src/Whoops/"
            }
        },
        "notification-url": "https://packagist.org/downloads/",
        "license": [
            "MIT"
        ],
        "authors": [
            {
                "name": "Filipe Dobreira",
                "homepage": "https://github.com/filp",
                "role": "Developer"
            }
        ],
        "description": "php error handling for cool kids",
        "homepage": "https://filp.github.io/whoops/",
        "keywords": [
            "error",
            "exception",
            "handling",
            "library",
            "throwable",
            "whoops"
        ]
    },
    {
        "name": "leafo/scssphp",
        "version": "v0.8.4",
        "version_normalized": "0.8.4.0",
        "source": {
            "type": "git",
            "url": "https://github.com/leafo/scssphp.git",
            "reference": "b9cdea3e42c3bcb1a9faafd04ccce4e8ec860ad9"
        },
        "dist": {
            "type": "zip",
            "url": "https://api.github.com/repos/leafo/scssphp/zipball/b9cdea3e42c3bcb1a9faafd04ccce4e8ec860ad9",
            "reference": "b9cdea3e42c3bcb1a9faafd04ccce4e8ec860ad9",
            "shasum": ""
        },
        "archive": {
            "exclude": [
                "/Makefile",
                "/.gitattributes",
                "/.gitignore",
                "/.travis.yml",
                "/phpunit.xml.dist",
                "/tests"
            ]
        },
        "require": {
            "php": "^5.4.0 || ^7"
        },
        "require-dev": {
            "phpunit/phpunit": "~4.6",
            "squizlabs/php_codesniffer": "~2.5",
            "twbs/bootstrap": "~4.3",
            "zurb/foundation": "~6.5"
        },
        "time": "2019-06-18T21:15:44+00:00",
        "bin": [
            "bin/pscss"
        ],
        "type": "library",
        "installation-source": "dist",
        "autoload": {
            "psr-4": {
                "Leafo\\ScssPhp\\": "src/"
            }
        },
        "autoload-dev": {
            "psr-4": {
                "Leafo\\ScssPhp\\Test\\": "tests/"
            }
        },
        "license": [
            "MIT"
        ],
        "authors": [
            {
                "name": "Leaf Corcoran",
                "email": "leafot@gmail.com",
                "homepage": "http://leafo.net"
            }
        ],
        "description": "scssphp is a compiler for SCSS written in PHP.",
        "homepage": "http://leafo.github.io/scssphp/",
        "keywords": [
            "css",
            "less",
            "sass",
            "scss",
            "stylesheet"
        ],
        "support": {
            "source": "https://github.com/leafo/scssphp/tree/v0.8.4",
            "issues": "https://github.com/leafo/scssphp/issues"
        },
        "abandoned": "scssphp/scssphp"
    },
    {
        "name": "pimple/pimple",
        "version": "v3.2.3",
        "version_normalized": "3.2.3.0",
        "source": {
            "type": "git",
            "url": "https://github.com/silexphp/Pimple.git",
            "reference": "9e403941ef9d65d20cba7d54e29fe906db42cf32"
        },
        "dist": {
            "type": "zip",
            "url": "https://api.github.com/repos/silexphp/Pimple/zipball/9e403941ef9d65d20cba7d54e29fe906db42cf32",
            "reference": "9e403941ef9d65d20cba7d54e29fe906db42cf32",
            "shasum": ""
        },
        "require": {
            "php": ">=5.3.0",
            "psr/container": "^1.0"
        },
        "require-dev": {
            "symfony/phpunit-bridge": "^3.2"
        },
        "time": "2018-01-21T07:42:36+00:00",
        "type": "library",
        "extra": {
            "branch-alias": {
                "dev-master": "3.2.x-dev"
            }
        },
        "installation-source": "dist",
        "autoload": {
            "psr-0": {
                "Pimple": "src/"
            }
        },
        "notification-url": "https://packagist.org/downloads/",
        "license": [
            "MIT"
        ],
        "authors": [
            {
                "name": "Fabien Potencier",
                "email": "fabien@symfony.com"
            }
        ],
        "description": "Pimple, a simple Dependency Injection Container",
        "homepage": "http://pimple.sensiolabs.org",
        "keywords": [
            "container",
            "dependency injection"
        ]
    },
    {
        "name": "psr/container",
        "version": "1.0.0",
        "version_normalized": "1.0.0.0",
        "source": {
            "type": "git",
            "url": "https://github.com/php-fig/container.git",
            "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
        },
        "dist": {
            "type": "zip",
            "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
            "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
            "shasum": ""
        },
        "require": {
            "php": ">=5.3.0"
        },
        "time": "2017-02-14T16:28:37+00:00",
        "type": "library",
        "extra": {
            "branch-alias": {
                "dev-master": "1.0.x-dev"
            }
        },
        "installation-source": "dist",
        "autoload": {
            "psr-4": {
                "Psr\\Container\\": "src/"
            }
        },
        "notification-url": "https://packagist.org/downloads/",
        "license": [
            "MIT"
        ],
        "authors": [
            {
                "name": "PHP-FIG",
                "homepage": "http://www.php-fig.org/"
            }
        ],
        "description": "Common Container Interface (PHP FIG PSR-11)",
        "homepage": "https://github.com/php-fig/container",
        "keywords": [
            "PSR-11",
            "container",
            "container-interface",
            "container-interop",
            "psr"
        ]
    },
    {
        "name": "psr/log",
        "version": "1.1.3",
        "version_normalized": "1.1.3.0",
        "source": {
            "type": "git",
            "url": "https://github.com/php-fig/log.git",
            "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
        },
        "dist": {
            "type": "zip",
            "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
            "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
            "shasum": ""
        },
        "require": {
            "php": ">=5.3.0"
        },
        "time": "2020-03-23T09:12:05+00:00",
        "type": "library",
        "extra": {
            "branch-alias": {
                "dev-master": "1.1.x-dev"
            }
        },
        "installation-source": "dist",
        "autoload": {
            "psr-4": {
                "Psr\\Log\\": "Psr/Log/"
            }
        },
        "notification-url": "https://packagist.org/downloads/",
        "license": [
            "MIT"
        ],
        "authors": [
            {
                "name": "PHP-FIG",
                "homepage": "http://www.php-fig.org/"
            }
        ],
        "description": "Common interface for logging libraries",
        "homepage": "https://github.com/php-fig/log",
        "keywords": [
            "log",
            "psr",
            "psr-3"
        ]
    },
    {
        "name": "rockettheme/toolbox",
        "version": "1.4.7",
        "version_normalized": "1.4.7.0",
        "source": {
            "type": "git",
            "url": "https://github.com/rockettheme/toolbox.git",
            "reference": "6a86bc0607884d2194260b6b72d67333e0141585"
        },
        "dist": {
            "type": "zip",
            "url": "https://api.github.com/repos/rockettheme/toolbox/zipball/6a86bc0607884d2194260b6b72d67333e0141585",
            "reference": "6a86bc0607884d2194260b6b72d67333e0141585",
            "shasum": ""
        },
        "require": {
            "ext-json": "*",
            "php": ">=5.4.0",
            "pimple/pimple": "~3.0",
            "symfony/event-dispatcher": ">2.5",
            "symfony/yaml": ">2.5"
        },
        "require-dev": {
            "phpunit/phpunit": "~6"
        },
        "time": "2020-03-19T18:24:40+00:00",
        "type": "library",
        "installation-source": "dist",
        "autoload": {
            "psr-4": {
                "RocketTheme\\Toolbox\\ArrayTraits\\": "ArrayTraits/src",
                "RocketTheme\\Toolbox\\Blueprints\\": "Blueprints/src",
                "RocketTheme\\Toolbox\\Compat\\": "Compat/src",
                "RocketTheme\\Toolbox\\DI\\": "DI/src",
                "RocketTheme\\Toolbox\\Event\\": "Event/src",
                "RocketTheme\\Toolbox\\File\\": "File/src",
                "RocketTheme\\Toolbox\\ResourceLocator\\": "ResourceLocator/src",
                "RocketTheme\\Toolbox\\Session\\": "Session/src",
                "RocketTheme\\Toolbox\\StreamWrapper\\": "StreamWrapper/src"
            }
        },
        "notification-url": "https://packagist.org/downloads/",
        "license": [
            "MIT"
        ],
        "description": "RocketTheme Toolbox Library",
        "homepage": "http://www.rockettheme.com",
        "keywords": [
            "php",
            "rockettheme"
        ]
    },
    {
        "name": "symfony/event-dispatcher",
        "version": "v2.8.52",
        "version_normalized": "2.8.52.0",
        "source": {
            "type": "git",
            "url": "https://github.com/symfony/event-dispatcher.git",
            "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0"
        },
        "dist": {
            "type": "zip",
            "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a77e974a5fecb4398833b0709210e3d5e334ffb0",
            "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0",
            "shasum": ""
        },
        "require": {
            "php": ">=5.3.9"
        },
        "require-dev": {
            "psr/log": "~1.0",
            "symfony/config": "^2.0.5|~3.0.0",
            "symfony/dependency-injection": "~2.6|~3.0.0",
            "symfony/expression-language": "~2.6|~3.0.0",
            "symfony/stopwatch": "~2.3|~3.0.0"
        },
        "suggest": {
            "symfony/dependency-injection": "",
            "symfony/http-kernel": ""
        },
        "time": "2018-11-21T14:20:20+00:00",
        "type": "library",
        "extra": {
            "branch-alias": {
                "dev-master": "2.8-dev"
            }
        },
        "installation-source": "dist",
        "autoload": {
            "psr-4": {
                "Symfony\\Component\\EventDispatcher\\": ""
            },
            "exclude-from-classmap": [
                "/Tests/"
            ]
        },
        "notification-url": "https://packagist.org/downloads/",
        "license": [
            "MIT"
        ],
        "authors": [
            {
                "name": "Fabien Potencier",
                "email": "fabien@symfony.com"
            },
            {
                "name": "Symfony Community",
                "homepage": "https://symfony.com/contributors"
            }
        ],
        "description": "Symfony EventDispatcher Component",
        "homepage": "https://symfony.com"
    },
    {
        "name": "symfony/polyfill-ctype",
        "version": "v1.15.0",
        "version_normalized": "1.15.0.0",
        "source": {
            "type": "git",
            "url": "https://github.com/symfony/polyfill-ctype.git",
            "reference": "4719fa9c18b0464d399f1a63bf624b42b6fa8d14"
        },
        "dist": {
            "type": "zip",
            "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/4719fa9c18b0464d399f1a63bf624b42b6fa8d14",
            "reference": "4719fa9c18b0464d399f1a63bf624b42b6fa8d14",
            "shasum": ""
        },
        "require": {
            "php": ">=5.3.3"
        },
        "suggest": {
            "ext-ctype": "For best performance"
        },
        "time": "2020-02-27T09:26:54+00:00",
        "type": "library",
        "extra": {
            "branch-alias": {
                "dev-master": "1.15-dev"
            }
        },
        "installation-source": "dist",
        "autoload": {
            "psr-4": {
                "Symfony\\Polyfill\\Ctype\\": ""
            },
            "files": [
                "bootstrap.php"
            ]
        },
        "notification-url": "https://packagist.org/downloads/",
        "license": [
            "MIT"
        ],
        "authors": [
            {
                "name": "Gert de Pagter",
                "email": "BackEndTea@gmail.com"
            },
            {
                "name": "Symfony Community",
                "homepage": "https://symfony.com/contributors"
            }
        ],
        "description": "Symfony polyfill for ctype functions",
        "homepage": "https://symfony.com",
        "keywords": [
            "compatibility",
            "ctype",
            "polyfill",
            "portable"
        ]
    },
    {
        "name": "symfony/yaml",
        "version": "v2.8.52",
        "version_normalized": "2.8.52.0",
        "source": {
            "type": "git",
            "url": "https://github.com/symfony/yaml.git",
            "reference": "02c1859112aa779d9ab394ae4f3381911d84052b"
        },
        "dist": {
            "type": "zip",
            "url": "https://api.github.com/repos/symfony/yaml/zipball/02c1859112aa779d9ab394ae4f3381911d84052b",
            "reference": "02c1859112aa779d9ab394ae4f3381911d84052b",
            "shasum": ""
        },
        "require": {
            "php": ">=5.3.9",
            "symfony/polyfill-ctype": "~1.8"
        },
        "time": "2018-11-11T11:18:13+00:00",
        "type": "library",
        "extra": {
            "branch-alias": {
                "dev-master": "2.8-dev"
            }
        },
        "installation-source": "dist",
        "autoload": {
            "psr-4": {
                "Symfony\\Component\\Yaml\\": ""
            },
            "exclude-from-classmap": [
                "/Tests/"
            ]
        },
        "notification-url": "https://packagist.org/downloads/",
        "license": [
            "MIT"
        ],
        "authors": [
            {
                "name": "Fabien Potencier",
                "email": "fabien@symfony.com"
            },
            {
                "name": "Symfony Community",
                "homepage": "https://symfony.com/contributors"
            }
        ],
        "description": "Symfony Yaml Component",
        "homepage": "https://symfony.com"
    },
    {
        "name": "twig/twig",
        "version": "v1.42.5",
        "version_normalized": "1.42.5.0",
        "source": {
            "type": "git",
            "url": "https://github.com/twigphp/Twig.git",
            "reference": "87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e"
        },
        "dist": {
            "type": "zip",
            "url": "https://api.github.com/repos/twigphp/Twig/zipball/87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e",
            "reference": "87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e",
            "shasum": ""
        },
        "require": {
            "php": ">=5.5.0",
            "symfony/polyfill-ctype": "^1.8"
        },
        "require-dev": {
            "psr/container": "^1.0",
            "symfony/phpunit-bridge": "^4.4|^5.0"
        },
        "time": "2020-02-11T05:59:23+00:00",
        "type": "library",
        "extra": {
            "branch-alias": {
                "dev-master": "1.42-dev"
            }
        },
        "installation-source": "dist",
        "autoload": {
            "psr-0": {
                "Twig_": "lib/"
            },
            "psr-4": {
                "Twig\\": "src/"
            }
        },
        "notification-url": "https://packagist.org/downloads/",
        "license": [
            "BSD-3-Clause"
        ],
        "authors": [
            {
                "name": "Fabien Potencier",
                "email": "fabien@symfony.com",
                "homepage": "http://fabien.potencier.org",
                "role": "Lead Developer"
            },
            {
                "name": "Twig Team",
                "role": "Contributors"
            },
            {
                "name": "Armin Ronacher",
                "email": "armin.ronacher@active-4.com",
                "role": "Project Founder"
            }
        ],
        "description": "Twig, the flexible, fast, and secure template language for PHP",
        "homepage": "https://twig.symfony.com",
        "keywords": [
            "templating"
        ]
    }
]
vendor/composer/autoload_namespaces.php000060400000000607150750356250014417 0ustar00<?php

// autoload_namespaces.php @generated by Composer

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);

return array(
    'Twig_' => array($vendorDir . '/twig/twig/lib'),
    'Pimple' => array($vendorDir . '/pimple/pimple/src'),
    'ParsedownExtra' => array($vendorDir . '/erusev/parsedown-extra'),
    'Parsedown' => array($vendorDir . '/erusev/parsedown'),
);
vendor/composer/autoload_psr4.php000060400000003237150750356250013172 0ustar00<?php

// autoload_psr4.php @generated by Composer

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);

return array(
    'Whoops\\' => array($vendorDir . '/filp/whoops/src/Whoops'),
    'Twig\\' => array($vendorDir . '/twig/twig/src'),
    'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'),
    'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'),
    'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'),
    'RocketTheme\\Toolbox\\StreamWrapper\\' => array($vendorDir . '/rockettheme/toolbox/StreamWrapper/src'),
    'RocketTheme\\Toolbox\\Session\\' => array($vendorDir . '/rockettheme/toolbox/Session/src'),
    'RocketTheme\\Toolbox\\ResourceLocator\\' => array($vendorDir . '/rockettheme/toolbox/ResourceLocator/src'),
    'RocketTheme\\Toolbox\\File\\' => array($vendorDir . '/rockettheme/toolbox/File/src'),
    'RocketTheme\\Toolbox\\Event\\' => array($vendorDir . '/rockettheme/toolbox/Event/src'),
    'RocketTheme\\Toolbox\\DI\\' => array($vendorDir . '/rockettheme/toolbox/DI/src'),
    'RocketTheme\\Toolbox\\Compat\\' => array($vendorDir . '/rockettheme/toolbox/Compat/src'),
    'RocketTheme\\Toolbox\\Blueprints\\' => array($vendorDir . '/rockettheme/toolbox/Blueprints/src'),
    'RocketTheme\\Toolbox\\ArrayTraits\\' => array($vendorDir . '/rockettheme/toolbox/ArrayTraits/src'),
    'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
    'Psr\\Container\\' => array($vendorDir . '/psr/container/src'),
    'Leafo\\ScssPhp\\' => array($baseDir . '/classes/Leafo/ScssPhp', $vendorDir . '/leafo/scssphp/src'),
    'Gantry\\' => array($baseDir . '/classes/Gantry'),
);
vendor/composer/autoload_classmap.php000060400000000223150750356250014075 0ustar00<?php

// autoload_classmap.php @generated by Composer

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);

return array(
);
vendor/composer/autoload_real.php000060400000004654150750356250013231 0ustar00<?php

// autoload_real.php @generated by Composer

class ComposerAutoloaderInit35ebe4700d36971ed56fa38404e0c71a
{
    private static $loader;

    public static function loadClassLoader($class)
    {
        if ('Composer\Autoload\ClassLoader' === $class) {
            require __DIR__ . '/ClassLoader.php';
        }
    }

    /**
     * @return \Composer\Autoload\ClassLoader
     */
    public static function getLoader()
    {
        if (null !== self::$loader) {
            return self::$loader;
        }

        spl_autoload_register(array('ComposerAutoloaderInit35ebe4700d36971ed56fa38404e0c71a', 'loadClassLoader'), true, true);
        self::$loader = $loader = new \Composer\Autoload\ClassLoader();
        spl_autoload_unregister(array('ComposerAutoloaderInit35ebe4700d36971ed56fa38404e0c71a', 'loadClassLoader'));

        $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
        if ($useStaticLoader) {
            require_once __DIR__ . '/autoload_static.php';

            call_user_func(\Composer\Autoload\ComposerStaticInit35ebe4700d36971ed56fa38404e0c71a::getInitializer($loader));
        } else {
            $map = require __DIR__ . '/autoload_namespaces.php';
            foreach ($map as $namespace => $path) {
                $loader->set($namespace, $path);
            }

            $map = require __DIR__ . '/autoload_psr4.php';
            foreach ($map as $namespace => $path) {
                $loader->setPsr4($namespace, $path);
            }

            $classMap = require __DIR__ . '/autoload_classmap.php';
            if ($classMap) {
                $loader->addClassMap($classMap);
            }
        }

        $loader->register(true);

        if ($useStaticLoader) {
            $includeFiles = Composer\Autoload\ComposerStaticInit35ebe4700d36971ed56fa38404e0c71a::$files;
        } else {
            $includeFiles = require __DIR__ . '/autoload_files.php';
        }
        foreach ($includeFiles as $fileIdentifier => $file) {
            composerRequire35ebe4700d36971ed56fa38404e0c71a($fileIdentifier, $file);
        }

        return $loader;
    }
}

function composerRequire35ebe4700d36971ed56fa38404e0c71a($fileIdentifier, $file)
{
    if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
        require $file;

        $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
    }
}
vendor/pimple/pimple/src/Pimple/Psr11/Container.php000060400000003250150750356250016177 0ustar00<?php

/*
 * This file is part of Pimple.
 *
 * Copyright (c) 2009-2017 Fabien Potencier
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is furnished
 * to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

namespace Pimple\Psr11;

use Pimple\Container as PimpleContainer;
use Psr\Container\ContainerInterface;

/**
 * PSR-11 compliant wrapper.
 *
 * @author Pascal Luna <skalpa@zetareticuli.org>
 */
final class Container implements ContainerInterface
{
    private $pimple;

    public function __construct(PimpleContainer $pimple)
    {
        $this->pimple = $pimple;
    }

    public function get($id)
    {
        return $this->pimple[$id];
    }

    public function has($id)
    {
        return isset($this->pimple[$id]);
    }
}
vendor/pimple/pimple/src/Pimple/Psr11/ServiceLocator.php000060400000004541150750356250017205 0ustar00<?php

/*
 * This file is part of Pimple.
 *
 * Copyright (c) 2009 Fabien Potencier
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is furnished
 * to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

namespace Pimple\Psr11;

use Pimple\Container as PimpleContainer;
use Pimple\Exception\UnknownIdentifierException;
use Psr\Container\ContainerInterface;

/**
 * Pimple PSR-11 service locator.
 *
 * @author Pascal Luna <skalpa@zetareticuli.org>
 */
class ServiceLocator implements ContainerInterface
{
    private $container;
    private $aliases = array();

    /**
     * @param PimpleContainer $container The Container instance used to locate services
     * @param array           $ids       Array of service ids that can be located. String keys can be used to define aliases
     */
    public function __construct(PimpleContainer $container, array $ids)
    {
        $this->container = $container;

        foreach ($ids as $key => $id) {
            $this->aliases[\is_int($key) ? $id : $key] = $id;
        }
    }

    /**
     * {@inheritdoc}
     */
    public function get($id)
    {
        if (!isset($this->aliases[$id])) {
            throw new UnknownIdentifierException($id);
        }

        return $this->container[$this->aliases[$id]];
    }

    /**
     * {@inheritdoc}
     */
    public function has($id)
    {
        return isset($this->aliases[$id]) && isset($this->container[$this->aliases[$id]]);
    }
}
vendor/pimple/pimple/src/Pimple/ServiceIterator.php000060400000003557150750356250016473 0ustar00<?php

/*
 * This file is part of Pimple.
 *
 * Copyright (c) 2009 Fabien Potencier
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is furnished
 * to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

namespace Pimple;

/**
 * Lazy service iterator.
 *
 * @author Pascal Luna <skalpa@zetareticuli.org>
 */
final class ServiceIterator implements \Iterator
{
    private $container;
    private $ids;

    public function __construct(Container $container, array $ids)
    {
        $this->container = $container;
        $this->ids = $ids;
    }

    public function rewind()
    {
        \reset($this->ids);
    }

    public function current()
    {
        return $this->container[\current($this->ids)];
    }

    public function key()
    {
        return \current($this->ids);
    }

    public function next()
    {
        \next($this->ids);
    }

    public function valid()
    {
        return null !== \key($this->ids);
    }
}
vendor/pimple/pimple/src/Pimple/Exception/ExpectedInvokableException.php000060400000002662150750356250022566 0ustar00<?php

/*
 * This file is part of Pimple.
 *
 * Copyright (c) 2009 Fabien Potencier
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is furnished
 * to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

namespace Pimple\Exception;

use Psr\Container\ContainerExceptionInterface;

/**
 * A closure or invokable object was expected.
 *
 * @author Pascal Luna <skalpa@zetareticuli.org>
 */
class ExpectedInvokableException extends \InvalidArgumentException implements ContainerExceptionInterface
{
}
vendor/pimple/pimple/src/Pimple/Exception/UnknownIdentifierException.php000060400000003201150750356250022622 0ustar00<?php

/*
 * This file is part of Pimple.
 *
 * Copyright (c) 2009 Fabien Potencier
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is furnished
 * to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

namespace Pimple\Exception;

use Psr\Container\NotFoundExceptionInterface;

/**
 * The identifier of a valid service or parameter was expected.
 *
 * @author Pascal Luna <skalpa@zetareticuli.org>
 */
class UnknownIdentifierException extends \InvalidArgumentException implements NotFoundExceptionInterface
{
    /**
     * @param string $id The unknown identifier
     */
    public function __construct($id)
    {
        parent::__construct(\sprintf('Identifier "%s" is not defined.', $id));
    }
}
vendor/pimple/pimple/src/Pimple/Exception/InvalidServiceIdentifierException.php000060400000003262150750356250024101 0ustar00<?php

/*
 * This file is part of Pimple.
 *
 * Copyright (c) 2009 Fabien Potencier
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is furnished
 * to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

namespace Pimple\Exception;

use Psr\Container\NotFoundExceptionInterface;

/**
 * An attempt to perform an operation that requires a service identifier was made.
 *
 * @author Pascal Luna <skalpa@zetareticuli.org>
 */
class InvalidServiceIdentifierException extends \InvalidArgumentException implements NotFoundExceptionInterface
{
    /**
     * @param string $id The invalid identifier
     */
    public function __construct($id)
    {
        parent::__construct(\sprintf('Identifier "%s" does not contain an object definition.', $id));
    }
}
vendor/pimple/pimple/src/Pimple/Exception/FrozenServiceException.php000060400000003171150750356250021752 0ustar00<?php

/*
 * This file is part of Pimple.
 *
 * Copyright (c) 2009 Fabien Potencier
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is furnished
 * to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

namespace Pimple\Exception;

use Psr\Container\ContainerExceptionInterface;

/**
 * An attempt to modify a frozen service was made.
 *
 * @author Pascal Luna <skalpa@zetareticuli.org>
 */
class FrozenServiceException extends \RuntimeException implements ContainerExceptionInterface
{
    /**
     * @param string $id Identifier of the frozen service
     */
    public function __construct($id)
    {
        parent::__construct(\sprintf('Cannot override frozen service "%s".', $id));
    }
}
vendor/pimple/pimple/src/Pimple/Container.php000060400000022177150750356250015302 0ustar00<?php

/*
 * This file is part of Pimple.
 *
 * Copyright (c) 2009 Fabien Potencier
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is furnished
 * to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

namespace Pimple;

use Pimple\Exception\ExpectedInvokableException;
use Pimple\Exception\FrozenServiceException;
use Pimple\Exception\InvalidServiceIdentifierException;
use Pimple\Exception\UnknownIdentifierException;

/**
 * Container main class.
 *
 * @author Fabien Potencier
 */
class Container implements \ArrayAccess
{
    private $values = array();
    private $factories;
    private $protected;
    private $frozen = array();
    private $raw = array();
    private $keys = array();

    /**
     * Instantiates the container.
     *
     * Objects and parameters can be passed as argument to the constructor.
     *
     * @param array $values The parameters or objects
     */
    public function __construct(array $values = array())
    {
        $this->factories = new \SplObjectStorage();
        $this->protected = new \SplObjectStorage();

        foreach ($values as $key => $value) {
            $this->offsetSet($key, $value);
        }
    }

    /**
     * Sets a parameter or an object.
     *
     * Objects must be defined as Closures.
     *
     * Allowing any PHP callable leads to difficult to debug problems
     * as function names (strings) are callable (creating a function with
     * the same name as an existing parameter would break your container).
     *
     * @param string $id    The unique identifier for the parameter or object
     * @param mixed  $value The value of the parameter or a closure to define an object
     *
     * @throws FrozenServiceException Prevent override of a frozen service
     */
    public function offsetSet($id, $value)
    {
        if (isset($this->frozen[$id])) {
            throw new FrozenServiceException($id);
        }

        $this->values[$id] = $value;
        $this->keys[$id] = true;
    }

    /**
     * Gets a parameter or an object.
     *
     * @param string $id The unique identifier for the parameter or object
     *
     * @return mixed The value of the parameter or an object
     *
     * @throws UnknownIdentifierException If the identifier is not defined
     */
    public function offsetGet($id)
    {
        if (!isset($this->keys[$id])) {
            throw new UnknownIdentifierException($id);
        }

        if (
            isset($this->raw[$id])
            || !\is_object($this->values[$id])
            || isset($this->protected[$this->values[$id]])
            || !\method_exists($this->values[$id], '__invoke')
        ) {
            return $this->values[$id];
        }

        if (isset($this->factories[$this->values[$id]])) {
            return $this->values[$id]($this);
        }

        $raw = $this->values[$id];
        $val = $this->values[$id] = $raw($this);
        $this->raw[$id] = $raw;

        $this->frozen[$id] = true;

        return $val;
    }

    /**
     * Checks if a parameter or an object is set.
     *
     * @param string $id The unique identifier for the parameter or object
     *
     * @return bool
     */
    public function offsetExists($id)
    {
        return isset($this->keys[$id]);
    }

    /**
     * Unsets a parameter or an object.
     *
     * @param string $id The unique identifier for the parameter or object
     */
    public function offsetUnset($id)
    {
        if (isset($this->keys[$id])) {
            if (\is_object($this->values[$id])) {
                unset($this->factories[$this->values[$id]], $this->protected[$this->values[$id]]);
            }

            unset($this->values[$id], $this->frozen[$id], $this->raw[$id], $this->keys[$id]);
        }
    }

    /**
     * Marks a callable as being a factory service.
     *
     * @param callable $callable A service definition to be used as a factory
     *
     * @return callable The passed callable
     *
     * @throws ExpectedInvokableException Service definition has to be a closure or an invokable object
     */
    public function factory($callable)
    {
        if (!\method_exists($callable, '__invoke')) {
            throw new ExpectedInvokableException('Service definition is not a Closure or invokable object.');
        }

        $this->factories->attach($callable);

        return $callable;
    }

    /**
     * Protects a callable from being interpreted as a service.
     *
     * This is useful when you want to store a callable as a parameter.
     *
     * @param callable $callable A callable to protect from being evaluated
     *
     * @return callable The passed callable
     *
     * @throws ExpectedInvokableException Service definition has to be a closure or an invokable object
     */
    public function protect($callable)
    {
        if (!\method_exists($callable, '__invoke')) {
            throw new ExpectedInvokableException('Callable is not a Closure or invokable object.');
        }

        $this->protected->attach($callable);

        return $callable;
    }

    /**
     * Gets a parameter or the closure defining an object.
     *
     * @param string $id The unique identifier for the parameter or object
     *
     * @return mixed The value of the parameter or the closure defining an object
     *
     * @throws UnknownIdentifierException If the identifier is not defined
     */
    public function raw($id)
    {
        if (!isset($this->keys[$id])) {
            throw new UnknownIdentifierException($id);
        }

        if (isset($this->raw[$id])) {
            return $this->raw[$id];
        }

        return $this->values[$id];
    }

    /**
     * Extends an object definition.
     *
     * Useful when you want to extend an existing object definition,
     * without necessarily loading that object.
     *
     * @param string   $id       The unique identifier for the object
     * @param callable $callable A service definition to extend the original
     *
     * @return callable The wrapped callable
     *
     * @throws UnknownIdentifierException        If the identifier is not defined
     * @throws FrozenServiceException            If the service is frozen
     * @throws InvalidServiceIdentifierException If the identifier belongs to a parameter
     * @throws ExpectedInvokableException        If the extension callable is not a closure or an invokable object
     */
    public function extend($id, $callable)
    {
        if (!isset($this->keys[$id])) {
            throw new UnknownIdentifierException($id);
        }

        if (isset($this->frozen[$id])) {
            throw new FrozenServiceException($id);
        }

        if (!\is_object($this->values[$id]) || !\method_exists($this->values[$id], '__invoke')) {
            throw new InvalidServiceIdentifierException($id);
        }

        if (isset($this->protected[$this->values[$id]])) {
            @\trigger_error(\sprintf('How Pimple behaves when extending protected closures will be fixed in Pimple 4. Are you sure "%s" should be protected?', $id), \E_USER_DEPRECATED);
        }

        if (!\is_object($callable) || !\method_exists($callable, '__invoke')) {
            throw new ExpectedInvokableException('Extension service definition is not a Closure or invokable object.');
        }

        $factory = $this->values[$id];

        $extended = function ($c) use ($callable, $factory) {
            return $callable($factory($c), $c);
        };

        if (isset($this->factories[$factory])) {
            $this->factories->detach($factory);
            $this->factories->attach($extended);
        }

        return $this[$id] = $extended;
    }

    /**
     * Returns all defined value names.
     *
     * @return array An array of value names
     */
    public function keys()
    {
        return \array_keys($this->values);
    }

    /**
     * Registers a service provider.
     *
     * @param ServiceProviderInterface $provider A ServiceProviderInterface instance
     * @param array                    $values   An array of values that customizes the provider
     *
     * @return static
     */
    public function register(ServiceProviderInterface $provider, array $values = array())
    {
        $provider->register($this);

        foreach ($values as $key => $value) {
            $this[$key] = $value;
        }

        return $this;
    }
}
vendor/pimple/pimple/src/Pimple/ServiceProviderInterface.php000060400000003123150750356250020302 0ustar00<?php

/*
 * This file is part of Pimple.
 *
 * Copyright (c) 2009 Fabien Potencier
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is furnished
 * to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

namespace Pimple;

/**
 * Pimple service provider interface.
 *
 * @author  Fabien Potencier
 * @author  Dominik Zogg
 */
interface ServiceProviderInterface
{
    /**
     * Registers services on the given container.
     *
     * This method should only be used to configure services and parameters.
     * It should not get services.
     *
     * @param Container $pimple A container instance
     */
    public function register(Container $pimple);
}
vendor/pimple/pimple/composer.json000060400000001256150750356250013347 0ustar00{
    "name": "pimple/pimple",
    "type": "library",
    "description": "Pimple, a simple Dependency Injection Container",
    "keywords": ["dependency injection", "container"],
    "homepage": "http://pimple.sensiolabs.org",
    "license": "MIT",
    "authors": [
        {
            "name": "Fabien Potencier",
            "email": "fabien@symfony.com"
        }
    ],
    "require": {
        "php": ">=5.3.0",
        "psr/container": "^1.0"
    },
    "require-dev": {
        "symfony/phpunit-bridge": "^3.2"
    },
    "autoload": {
        "psr-0": { "Pimple": "src/" }
    },
    "extra": {
        "branch-alias": {
            "dev-master": "3.2.x-dev"
        }
    }
}
vendor/filp/whoops/src/Whoops/Exception/Formatter.php000060400000004305150750356250017000 0ustar00<?php
/**
 * Whoops - php errors for cool kids
 * @author Filipe Dobreira <http://github.com/filp>
 */

namespace Whoops\Exception;

class Formatter
{
    /**
     * Returns all basic information about the exception in a simple array
     * for further convertion to other languages
     * @param  Inspector $inspector
     * @param  bool      $shouldAddTrace
     * @return array
     */
    public static function formatExceptionAsDataArray(Inspector $inspector, $shouldAddTrace)
    {
        $exception = $inspector->getException();
        $response = [
            'type'    => get_class($exception),
            'message' => $exception->getMessage(),
            'file'    => $exception->getFile(),
            'line'    => $exception->getLine(),
        ];

        if ($shouldAddTrace) {
            $frames    = $inspector->getFrames();
            $frameData = [];

            foreach ($frames as $frame) {
                /** @var Frame $frame */
                $frameData[] = [
                    'file'     => $frame->getFile(),
                    'line'     => $frame->getLine(),
                    'function' => $frame->getFunction(),
                    'class'    => $frame->getClass(),
                    'args'     => $frame->getArgs(),
                ];
            }

            $response['trace'] = $frameData;
        }

        return $response;
    }

    public static function formatExceptionPlain(Inspector $inspector)
    {
        $message = $inspector->getException()->getMessage();
        $frames = $inspector->getFrames();

        $plain = $inspector->getExceptionName();
        $plain .= ' thrown with message "';
        $plain .= $message;
        $plain .= '"'."\n\n";

        $plain .= "Stacktrace:\n";
        foreach ($frames as $i => $frame) {
            $plain .= "#". (count($frames) - $i - 1). " ";
            $plain .= $frame->getClass() ?: '';
            $plain .= $frame->getClass() && $frame->getFunction() ? ":" : "";
            $plain .= $frame->getFunction() ?: '';
            $plain .= ' in ';
            $plain .= ($frame->getFile() ?: '<#unknown>');
            $plain .= ':';
            $plain .= (int) $frame->getLine(). "\n";
        }

        return $plain;
    }
}
vendor/filp/whoops/src/Whoops/Exception/Frame.php000060400000017164150750356250016076 0ustar00<?php
/**
 * Whoops - php errors for cool kids
 * @author Filipe Dobreira <http://github.com/filp>
 */

namespace Whoops\Exception;

use InvalidArgumentException;
use Serializable;

class Frame implements Serializable
{
    /**
     * @var array
     */
    protected $frame;

    /**
     * @var string
     */
    protected $fileContentsCache;

    /**
     * @var array[]
     */
    protected $comments = [];

    /**
     * @var bool
     */
    protected $application;

    /**
     * @param array[]
     */
    public function __construct(array $frame)
    {
        $this->frame = $frame;
    }

    /**
     * @param  bool        $shortened
     * @return string|null
     */
    public function getFile($shortened = false)
    {
        if (empty($this->frame['file'])) {
            return null;
        }

        $file = $this->frame['file'];

        // Check if this frame occurred within an eval().
        // @todo: This can be made more reliable by checking if we've entered
        // eval() in a previous trace, but will need some more work on the upper
        // trace collector(s).
        if (preg_match('/^(.*)\((\d+)\) : (?:eval\(\)\'d|assert) code$/', $file, $matches)) {
            $file = $this->frame['file'] = $matches[1];
            $this->frame['line'] = (int) $matches[2];
        }

        if ($shortened && is_string($file)) {
            // Replace the part of the path that all frames have in common, and add 'soft hyphens' for smoother line-breaks.
            $dirname = dirname(dirname(dirname(dirname(dirname(dirname(__DIR__))))));
            if ($dirname !== '/') {
                $file = str_replace($dirname, "&hellip;", $file);
            }
            $file = str_replace("/", "/&shy;", $file);
        }

        return $file;
    }

    /**
     * @return int|null
     */
    public function getLine()
    {
        return isset($this->frame['line']) ? $this->frame['line'] : null;
    }

    /**
     * @return string|null
     */
    public function getClass()
    {
        return isset($this->frame['class']) ? $this->frame['class'] : null;
    }

    /**
     * @return string|null
     */
    public function getFunction()
    {
        return isset($this->frame['function']) ? $this->frame['function'] : null;
    }

    /**
     * @return array
     */
    public function getArgs()
    {
        return isset($this->frame['args']) ? (array) $this->frame['args'] : [];
    }

    /**
     * Returns the full contents of the file for this frame,
     * if it's known.
     * @return string|null
     */
    public function getFileContents()
    {
        if ($this->fileContentsCache === null && $filePath = $this->getFile()) {
            // Leave the stage early when 'Unknown' or '[internal]' is passed
            // this would otherwise raise an exception when
            // open_basedir is enabled.
            if ($filePath === "Unknown" || $filePath === '[internal]') {
                return null;
            }

            try {
                $this->fileContentsCache = file_get_contents($filePath);
            } catch (ErrorException $exception) {
                // Internal file paths of PHP extensions cannot be opened
            }
        }

        return $this->fileContentsCache;
    }

    /**
     * Adds a comment to this frame, that can be received and
     * used by other handlers. For example, the PrettyPage handler
     * can attach these comments under the code for each frame.
     *
     * An interesting use for this would be, for example, code analysis
     * & annotations.
     *
     * @param string $comment
     * @param string $context Optional string identifying the origin of the comment
     */
    public function addComment($comment, $context = 'global')
    {
        $this->comments[] = [
            'comment' => $comment,
            'context' => $context,
        ];
    }

    /**
     * Returns all comments for this frame. Optionally allows
     * a filter to only retrieve comments from a specific
     * context.
     *
     * @param  string  $filter
     * @return array[]
     */
    public function getComments($filter = null)
    {
        $comments = $this->comments;

        if ($filter !== null) {
            $comments = array_filter($comments, function ($c) use ($filter) {
                return $c['context'] == $filter;
            });
        }

        return $comments;
    }

    /**
     * Returns the array containing the raw frame data from which
     * this Frame object was built
     *
     * @return array
     */
    public function getRawFrame()
    {
        return $this->frame;
    }

    /**
     * Returns the contents of the file for this frame as an
     * array of lines, and optionally as a clamped range of lines.
     *
     * NOTE: lines are 0-indexed
     *
     * @example
     *     Get all lines for this file
     *     $frame->getFileLines(); // => array( 0 => '<?php', 1 => '...', ...)
     * @example
     *     Get one line for this file, starting at line 10 (zero-indexed, remember!)
     *     $frame->getFileLines(9, 1); // array( 10 => '...', 11 => '...')
     *
     * @throws InvalidArgumentException if $length is less than or equal to 0
     * @param  int                      $start
     * @param  int                      $length
     * @return string[]|null
     */
    public function getFileLines($start = 0, $length = null)
    {
        if (null !== ($contents = $this->getFileContents())) {
            $lines = explode("\n", $contents);

            // Get a subset of lines from $start to $end
            if ($length !== null) {
                $start  = (int) $start;
                $length = (int) $length;
                if ($start < 0) {
                    $start = 0;
                }

                if ($length <= 0) {
                    throw new InvalidArgumentException(
                        "\$length($length) cannot be lower or equal to 0"
                    );
                }

                $lines = array_slice($lines, $start, $length, true);
            }

            return $lines;
        }
    }

    /**
     * Implements the Serializable interface, with special
     * steps to also save the existing comments.
     *
     * @see Serializable::serialize
     * @return string
     */
    public function serialize()
    {
        $frame = $this->frame;
        if (!empty($this->comments)) {
            $frame['_comments'] = $this->comments;
        }

        return serialize($frame);
    }

    /**
     * Unserializes the frame data, while also preserving
     * any existing comment data.
     *
     * @see Serializable::unserialize
     * @param string $serializedFrame
     */
    public function unserialize($serializedFrame)
    {
        $frame = unserialize($serializedFrame);

        if (!empty($frame['_comments'])) {
            $this->comments = $frame['_comments'];
            unset($frame['_comments']);
        }

        $this->frame = $frame;
    }

    /**
     * Compares Frame against one another
     * @param  Frame $frame
     * @return bool
     */
    public function equals(Frame $frame)
    {
        if (!$this->getFile() || $this->getFile() === 'Unknown' || !$this->getLine()) {
            return false;
        }
        return $frame->getFile() === $this->getFile() && $frame->getLine() === $this->getLine();
    }

    /**
     * Returns whether this frame belongs to the application or not.
     *
     * @return boolean
     */
    public function isApplication()
    {
        return $this->application;
    }

    /**
     * Mark as an frame belonging to the application.
     *
     * @param boolean $application
     */
    public function setApplication($application)
    {
        $this->application = $application;
    }
}
vendor/filp/whoops/src/Whoops/Exception/Inspector.php000060400000021356150750356250017010 0ustar00<?php
/**
 * Whoops - php errors for cool kids
 * @author Filipe Dobreira <http://github.com/filp>
 */

namespace Whoops\Exception;

use Whoops\Util\Misc;

class Inspector
{
    /**
     * @var \Throwable
     */
    private $exception;

    /**
     * @var \Whoops\Exception\FrameCollection
     */
    private $frames;

    /**
     * @var \Whoops\Exception\Inspector
     */
    private $previousExceptionInspector;

    /**
     * @var \Throwable[]
     */
    private $previousExceptions;

    /**
     * @param \Throwable $exception The exception to inspect
     */
    public function __construct($exception)
    {
        $this->exception = $exception;
    }

    /**
     * @return \Throwable
     */
    public function getException()
    {
        return $this->exception;
    }

    /**
     * @return string
     */
    public function getExceptionName()
    {
        return get_class($this->exception);
    }

    /**
     * @return string
     */
    public function getExceptionMessage()
    {
        return $this->extractDocrefUrl($this->exception->getMessage())['message'];
    }

    /**
     * @return string[]
     */
    public function getPreviousExceptionMessages()
    {
        return array_map(function ($prev) {
            /** @var \Throwable $prev */
            return $this->extractDocrefUrl($prev->getMessage())['message'];
        }, $this->getPreviousExceptions());
    }

    /**
     * @return int[]
     */
    public function getPreviousExceptionCodes()
    {
        return array_map(function ($prev) {
            /** @var \Throwable $prev */
            return $prev->getCode();
        }, $this->getPreviousExceptions());
    }

    /**
     * Returns a url to the php-manual related to the underlying error - when available.
     *
     * @return string|null
     */
    public function getExceptionDocrefUrl()
    {
        return $this->extractDocrefUrl($this->exception->getMessage())['url'];
    }

    private function extractDocrefUrl($message)
    {
        $docref = [
            'message' => $message,
            'url' => null,
        ];

        // php embbeds urls to the manual into the Exception message with the following ini-settings defined
        // http://php.net/manual/en/errorfunc.configuration.php#ini.docref-root
        if (!ini_get('html_errors') || !ini_get('docref_root')) {
            return $docref;
        }

        $pattern = "/\[<a href='([^']+)'>(?:[^<]+)<\/a>\]/";
        if (preg_match($pattern, $message, $matches)) {
            // -> strip those automatically generated links from the exception message
            $docref['message'] = preg_replace($pattern, '', $message, 1);
            $docref['url'] = $matches[1];
        }

        return $docref;
    }

    /**
     * Does the wrapped Exception has a previous Exception?
     * @return bool
     */
    public function hasPreviousException()
    {
        return $this->previousExceptionInspector || $this->exception->getPrevious();
    }

    /**
     * Returns an Inspector for a previous Exception, if any.
     * @todo   Clean this up a bit, cache stuff a bit better.
     * @return Inspector
     */
    public function getPreviousExceptionInspector()
    {
        if ($this->previousExceptionInspector === null) {
            $previousException = $this->exception->getPrevious();

            if ($previousException) {
                $this->previousExceptionInspector = new Inspector($previousException);
            }
        }

        return $this->previousExceptionInspector;
    }


    /**
     * Returns an array of all previous exceptions for this inspector's exception
     * @return \Throwable[]
     */
    public function getPreviousExceptions()
    {
        if ($this->previousExceptions === null) {
            $this->previousExceptions = [];

            $prev = $this->exception->getPrevious();
            while ($prev !== null) {
                $this->previousExceptions[] = $prev;
                $prev = $prev->getPrevious();
            }
        }

        return $this->previousExceptions;
    }

    /**
     * Returns an iterator for the inspected exception's
     * frames.
     * @return \Whoops\Exception\FrameCollection
     */
    public function getFrames()
    {
        if ($this->frames === null) {
            $frames = $this->getTrace($this->exception);

            // Fill empty line/file info for call_user_func_array usages (PHP Bug #44428)
            foreach ($frames as $k => $frame) {
                if (empty($frame['file'])) {
                    // Default values when file and line are missing
                    $file = '[internal]';
                    $line = 0;

                    $next_frame = !empty($frames[$k + 1]) ? $frames[$k + 1] : [];

                    if ($this->isValidNextFrame($next_frame)) {
                        $file = $next_frame['file'];
                        $line = $next_frame['line'];
                    }

                    $frames[$k]['file'] = $file;
                    $frames[$k]['line'] = $line;
                }
            }

            // Find latest non-error handling frame index ($i) used to remove error handling frames
            $i = 0;
            foreach ($frames as $k => $frame) {
                if ($frame['file'] == $this->exception->getFile() && $frame['line'] == $this->exception->getLine()) {
                    $i = $k;
                }
            }

            // Remove error handling frames
            if ($i > 0) {
                array_splice($frames, 0, $i);
            }

            $firstFrame = $this->getFrameFromException($this->exception);
            array_unshift($frames, $firstFrame);

            $this->frames = new FrameCollection($frames);

            if ($previousInspector = $this->getPreviousExceptionInspector()) {
                // Keep outer frame on top of the inner one
                $outerFrames = $this->frames;
                $newFrames = clone $previousInspector->getFrames();
                // I assume it will always be set, but let's be safe
                if (isset($newFrames[0])) {
                    $newFrames[0]->addComment(
                        $previousInspector->getExceptionMessage(),
                        'Exception message:'
                    );
                }
                $newFrames->prependFrames($outerFrames->topDiff($newFrames));
                $this->frames = $newFrames;
            }
        }

        return $this->frames;
    }

    /**
     * Gets the backtrace from an exception.
     *
     * If xdebug is installed
     *
     * @param \Throwable $e
     * @return array
     */
    protected function getTrace($e)
    {
        $traces = $e->getTrace();

        // Get trace from xdebug if enabled, failure exceptions only trace to the shutdown handler by default
        if (!$e instanceof \ErrorException) {
            return $traces;
        }

        if (!Misc::isLevelFatal($e->getSeverity())) {
            return $traces;
        }

        if (!extension_loaded('xdebug') || !xdebug_is_enabled()) {
            return $traces;
        }

        // Use xdebug to get the full stack trace and remove the shutdown handler stack trace
        $stack = array_reverse(xdebug_get_function_stack());
        $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
        $traces = array_diff_key($stack, $trace);

        return $traces;
    }

    /**
     * Given an exception, generates an array in the format
     * generated by Exception::getTrace()
     * @param  \Throwable $exception
     * @return array
     */
    protected function getFrameFromException($exception)
    {
        return [
            'file'  => $exception->getFile(),
            'line'  => $exception->getLine(),
            'class' => get_class($exception),
            'args'  => [
                $exception->getMessage(),
            ],
        ];
    }

    /**
     * Given an error, generates an array in the format
     * generated by ErrorException
     * @param  ErrorException $exception
     * @return array
     */
    protected function getFrameFromError(ErrorException $exception)
    {
        return [
            'file'  => $exception->getFile(),
            'line'  => $exception->getLine(),
            'class' => null,
            'args'  => [],
        ];
    }

    /**
     * Determine if the frame can be used to fill in previous frame's missing info
     * happens for call_user_func and call_user_func_array usages (PHP Bug #44428)
     *
     * @param array $frame
     * @return bool
     */
    protected function isValidNextFrame(array $frame)
    {
        if (empty($frame['file'])) {
            return false;
        }

        if (empty($frame['line'])) {
            return false;
        }

        if (empty($frame['function']) || !stristr($frame['function'], 'call_user_func')) {
            return false;
        }

        return true;
    }
}
vendor/filp/whoops/src/Whoops/Exception/FrameCollection.php000060400000011233150750356250020101 0ustar00<?php
/**
 * Whoops - php errors for cool kids
 * @author Filipe Dobreira <http://github.com/filp>
 */

namespace Whoops\Exception;

use ArrayAccess;
use ArrayIterator;
use Countable;
use IteratorAggregate;
use Serializable;
use UnexpectedValueException;

/**
 * Exposes a fluent interface for dealing with an ordered list
 * of stack-trace frames.
 */
class FrameCollection implements ArrayAccess, IteratorAggregate, Serializable, Countable
{
    /**
     * @var array[]
     */
    private $frames;

    /**
     * @param array $frames
     */
    public function __construct(array $frames)
    {
        $this->frames = array_map(function ($frame) {
            return new Frame($frame);
        }, $frames);
    }

    /**
     * Filters frames using a callable, returns the same FrameCollection
     *
     * @param  callable        $callable
     * @return FrameCollection
     */
    public function filter($callable)
    {
        $this->frames = array_values(array_filter($this->frames, $callable));
        return $this;
    }

    /**
     * Map the collection of frames
     *
     * @param  callable        $callable
     * @return FrameCollection
     */
    public function map($callable)
    {
        // Contain the map within a higher-order callable
        // that enforces type-correctness for the $callable
        $this->frames = array_map(function ($frame) use ($callable) {
            $frame = call_user_func($callable, $frame);

            if (!$frame instanceof Frame) {
                throw new UnexpectedValueException(
                    "Callable to " . __CLASS__ . "::map must return a Frame object"
                );
            }

            return $frame;
        }, $this->frames);

        return $this;
    }

    /**
     * Returns an array with all frames, does not affect
     * the internal array.
     *
     * @todo   If this gets any more complex than this,
     *         have getIterator use this method.
     * @see    FrameCollection::getIterator
     * @return array
     */
    public function getArray()
    {
        return $this->frames;
    }

    /**
     * @see IteratorAggregate::getIterator
     * @return ArrayIterator
     */
    public function getIterator()
    {
        return new ArrayIterator($this->frames);
    }

    /**
     * @see ArrayAccess::offsetExists
     * @param int $offset
     */
    public function offsetExists($offset)
    {
        return isset($this->frames[$offset]);
    }

    /**
     * @see ArrayAccess::offsetGet
     * @param int $offset
     */
    public function offsetGet($offset)
    {
        return $this->frames[$offset];
    }

    /**
     * @see ArrayAccess::offsetSet
     * @param int $offset
     */
    public function offsetSet($offset, $value)
    {
        throw new \Exception(__CLASS__ . ' is read only');
    }

    /**
     * @see ArrayAccess::offsetUnset
     * @param int $offset
     */
    public function offsetUnset($offset)
    {
        throw new \Exception(__CLASS__ . ' is read only');
    }

    /**
     * @see Countable::count
     * @return int
     */
    public function count()
    {
        return count($this->frames);
    }

    /**
     * Count the frames that belongs to the application.
     *
     * @return int
     */
    public function countIsApplication()
    {
        return count(array_filter($this->frames, function (Frame $f) {
            return $f->isApplication();
        }));
    }

    /**
     * @see Serializable::serialize
     * @return string
     */
    public function serialize()
    {
        return serialize($this->frames);
    }

    /**
     * @see Serializable::unserialize
     * @param string $serializedFrames
     */
    public function unserialize($serializedFrames)
    {
        $this->frames = unserialize($serializedFrames);
    }

    /**
     * @param Frame[] $frames Array of Frame instances, usually from $e->getPrevious()
     */
    public function prependFrames(array $frames)
    {
        $this->frames = array_merge($frames, $this->frames);
    }

    /**
     * Gets the innermost part of stack trace that is not the same as that of outer exception
     *
     * @param  FrameCollection $parentFrames Outer exception frames to compare tail against
     * @return Frame[]
     */
    public function topDiff(FrameCollection $parentFrames)
    {
        $diff = $this->frames;

        $parentFrames = $parentFrames->getArray();
        $p = count($parentFrames)-1;

        for ($i = count($diff)-1; $i >= 0 && $p >= 0; $i--) {
            /** @var Frame $tailFrame */
            $tailFrame = $diff[$i];
            if ($tailFrame->equals($parentFrames[$p])) {
                unset($diff[$i]);
            }
            $p--;
        }
        return $diff;
    }
}
vendor/filp/whoops/src/Whoops/Exception/ErrorException.php000060400000000543150750356250020005 0ustar00<?php
/**
 * Whoops - php errors for cool kids
 * @author Filipe Dobreira <http://github.com/filp>
 */

namespace Whoops\Exception;

use ErrorException as BaseErrorException;

/**
 * Wraps ErrorException; mostly used for typing (at least now)
 * to easily cleanup the stack trace of redundant info.
 */
class ErrorException extends BaseErrorException
{
}
vendor/filp/whoops/src/Whoops/Util/Misc.php000060400000003703150750356250014710 0ustar00<?php
/**
 * Whoops - php errors for cool kids
 * @author Filipe Dobreira <http://github.com/filp>
 */

namespace Whoops\Util;

class Misc
{
    /**
     * Can we at this point in time send HTTP headers?
     *
     * Currently this checks if we are even serving an HTTP request,
     * as opposed to running from a command line.
     *
     * If we are serving an HTTP request, we check if it's not too late.
     *
     * @return bool
     */
    public static function canSendHeaders()
    {
        return isset($_SERVER["REQUEST_URI"]) && !headers_sent();
    }

    public static function isAjaxRequest()
    {
        return (
            !empty($_SERVER['HTTP_X_REQUESTED_WITH'])
            && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
    }

    /**
     * Check, if possible, that this execution was triggered by a command line.
     * @return bool
     */
    public static function isCommandLine()
    {
        return PHP_SAPI == 'cli';
    }

    /**
     * Translate ErrorException code into the represented constant.
     *
     * @param int $error_code
     * @return string
     */
    public static function translateErrorCode($error_code)
    {
        $constants = get_defined_constants(true);
        if (array_key_exists('Core', $constants)) {
            foreach ($constants['Core'] as $constant => $value) {
                if (substr($constant, 0, 2) == 'E_' && $value == $error_code) {
                    return $constant;
                }
            }
        }
        return "E_UNKNOWN";
    }
    
    /**
     * Determine if an error level is fatal (halts execution)
     *
     * @param int $level
     * @return bool
     */
    public static function isLevelFatal($level)
    {
        $errors = E_ERROR;
        $errors |= E_PARSE;
        $errors |= E_CORE_ERROR;
        $errors |= E_CORE_WARNING;
        $errors |= E_COMPILE_ERROR;
        $errors |= E_COMPILE_WARNING;
        return ($level & $errors) > 0;
    }
}
vendor/filp/whoops/src/Whoops/Util/SystemFacade.php000060400000004605150750356250016367 0ustar00<?php
/**
 * Whoops - php errors for cool kids
 * @author Filipe Dobreira <http://github.com/filp>
 */

namespace Whoops\Util;

class SystemFacade
{
    /**
     * Turns on output buffering.
     *
     * @return bool
     */
    public function startOutputBuffering()
    {
        return ob_start();
    }

    /**
     * @param callable $handler
     * @param int      $types
     *
     * @return callable|null
     */
    public function setErrorHandler(callable $handler, $types = 'use-php-defaults')
    {
        // Since PHP 5.4 the constant E_ALL contains all errors (even E_STRICT)
        if ($types === 'use-php-defaults') {
            $types = E_ALL;
        }
        return set_error_handler($handler, $types);
    }

    /**
     * @param callable $handler
     *
     * @return callable|null
     */
    public function setExceptionHandler(callable $handler)
    {
        return set_exception_handler($handler);
    }

    /**
     * @return void
     */
    public function restoreExceptionHandler()
    {
        restore_exception_handler();
    }

    /**
     * @return void
     */
    public function restoreErrorHandler()
    {
        restore_error_handler();
    }

    /**
     * @param callable $function
     *
     * @return void
     */
    public function registerShutdownFunction(callable $function)
    {
        register_shutdown_function($function);
    }

    /**
     * @return string|false
     */
    public function cleanOutputBuffer()
    {
        return ob_get_clean();
    }

    /**
     * @return int
     */
    public function getOutputBufferLevel()
    {
        return ob_get_level();
    }

    /**
     * @return bool
     */
    public function endOutputBuffering()
    {
        return ob_end_clean();
    }

    /**
     * @return void
     */
    public function flushOutputBuffer()
    {
        flush();
    }

    /**
     * @return int
     */
    public function getErrorReportingLevel()
    {
        return error_reporting();
    }

    /**
     * @return array|null
     */
    public function getLastError()
    {
        return error_get_last();
    }

    /**
     * @param int $httpCode
     *
     * @return int
     */
    public function setHttpResponseCode($httpCode)
    {
        return http_response_code($httpCode);
    }

    /**
     * @param int $exitStatus
     */
    public function stopExecution($exitStatus)
    {
        exit($exitStatus);
    }
}
vendor/filp/whoops/src/Whoops/Util/HtmlDumperOutput.php000060400000001316150750356250017315 0ustar00<?php
/**
 * Whoops - php errors for cool kids
 * @author Filipe Dobreira <http://github.com/filp>
 */

namespace Whoops\Util;

/**
 * Used as output callable for Symfony\Component\VarDumper\Dumper\HtmlDumper::dump()
 *
 * @see TemplateHelper::dump()
 */
class HtmlDumperOutput
{
    private $output;

    public function __invoke($line, $depth)
    {
        // A negative depth means "end of dump"
        if ($depth >= 0) {
            // Adds a two spaces indentation to the line
            $this->output .= str_repeat('  ', $depth) . $line . "\n";
        }
    }

    public function getOutput()
    {
        return $this->output;
    }

    public function clear()
    {
        $this->output = null;
    }
}
vendor/filp/whoops/src/Whoops/Util/TemplateHelper.php000060400000022523150750356250016731 0ustar00<?php
/**
 * Whoops - php errors for cool kids
 * @author Filipe Dobreira <http://github.com/filp>
 */

namespace Whoops\Util;

use Symfony\Component\VarDumper\Caster\Caster;
use Symfony\Component\VarDumper\Cloner\AbstractCloner;
use Symfony\Component\VarDumper\Cloner\VarCloner;
use Symfony\Component\VarDumper\Dumper\HtmlDumper;
use Whoops\Exception\Frame;

/**
 * Exposes useful tools for working with/in templates
 */
class TemplateHelper
{
    /**
     * An array of variables to be passed to all templates
     * @var array
     */
    private $variables = [];

    /**
     * @var HtmlDumper
     */
    private $htmlDumper;

    /**
     * @var HtmlDumperOutput
     */
    private $htmlDumperOutput;

    /**
     * @var AbstractCloner
     */
    private $cloner;

    /**
     * @var string
     */
    private $applicationRootPath;

    public function __construct()
    {
        // root path for ordinary composer projects
        $this->applicationRootPath = dirname(dirname(dirname(dirname(dirname(dirname(__DIR__))))));
    }

    /**
     * Escapes a string for output in an HTML document
     *
     * @param  string $raw
     * @return string
     */
    public function escape($raw)
    {
        $flags = ENT_QUOTES;

        // HHVM has all constants defined, but only ENT_IGNORE
        // works at the moment
        if (defined("ENT_SUBSTITUTE") && !defined("HHVM_VERSION")) {
            $flags |= ENT_SUBSTITUTE;
        } else {
            // This is for 5.3.
            // The documentation warns of a potential security issue,
            // but it seems it does not apply in our case, because
            // we do not blacklist anything anywhere.
            $flags |= ENT_IGNORE;
        }

        $raw = str_replace(chr(9), '    ', $raw);

        return htmlspecialchars($raw, $flags, "UTF-8");
    }

    /**
     * Escapes a string for output in an HTML document, but preserves
     * URIs within it, and converts them to clickable anchor elements.
     *
     * @param  string $raw
     * @return string
     */
    public function escapeButPreserveUris($raw)
    {
        $escaped = $this->escape($raw);
        return preg_replace(
            "@([A-z]+?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@",
            "<a href=\"$1\" target=\"_blank\" rel=\"noreferrer noopener\">$1</a>",
            $escaped
        );
    }

    /**
     * Makes sure that the given string breaks on the delimiter.
     *
     * @param  string $delimiter
     * @param  string $s
     * @return string
     */
    public function breakOnDelimiter($delimiter, $s)
    {
        $parts = explode($delimiter, $s);
        foreach ($parts as &$part) {
            $part = '<span class="delimiter">' . $part . '</span>';
        }

        return implode($delimiter, $parts);
    }

    /**
     * Replace the part of the path that all files have in common.
     *
     * @param  string $path
     * @return string
     */
    public function shorten($path)
    {
        if ($this->applicationRootPath != "/") {
            $path = str_replace($this->applicationRootPath, '&hellip;', $path);
        }

        return $path;
    }

    private function getDumper()
    {
        if (!$this->htmlDumper && class_exists('Symfony\Component\VarDumper\Cloner\VarCloner')) {
            $this->htmlDumperOutput = new HtmlDumperOutput();
            // re-use the same var-dumper instance, so it won't re-render the global styles/scripts on each dump.
            $this->htmlDumper = new HtmlDumper($this->htmlDumperOutput);

            $styles = [
                'default' => 'color:#FFFFFF; line-height:normal; font:12px "Inconsolata", "Fira Mono", "Source Code Pro", Monaco, Consolas, "Lucida Console", monospace !important; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: normal',
                'num' => 'color:#BCD42A',
                'const' => 'color: #4bb1b1;',
                'str' => 'color:#BCD42A',
                'note' => 'color:#ef7c61',
                'ref' => 'color:#A0A0A0',
                'public' => 'color:#FFFFFF',
                'protected' => 'color:#FFFFFF',
                'private' => 'color:#FFFFFF',
                'meta' => 'color:#FFFFFF',
                'key' => 'color:#BCD42A',
                'index' => 'color:#ef7c61',
            ];
            $this->htmlDumper->setStyles($styles);
        }

        return $this->htmlDumper;
    }

    /**
     * Format the given value into a human readable string.
     *
     * @param  mixed $value
     * @return string
     */
    public function dump($value)
    {
        $dumper = $this->getDumper();

        if ($dumper) {
            // re-use the same DumpOutput instance, so it won't re-render the global styles/scripts on each dump.
            // exclude verbose information (e.g. exception stack traces)
            if (class_exists('Symfony\Component\VarDumper\Caster\Caster')) {
                $cloneVar = $this->getCloner()->cloneVar($value, Caster::EXCLUDE_VERBOSE);
                // Symfony VarDumper 2.6 Caster class dont exist.
            } else {
                $cloneVar = $this->getCloner()->cloneVar($value);
            }

            $dumper->dump(
                $cloneVar,
                $this->htmlDumperOutput
            );

            $output = $this->htmlDumperOutput->getOutput();
            $this->htmlDumperOutput->clear();

            return $output;
        }

        return htmlspecialchars(print_r($value, true));
    }

    /**
     * Format the args of the given Frame as a human readable html string
     *
     * @param  Frame $frame
     * @return string the rendered html
     */
    public function dumpArgs(Frame $frame)
    {
        // we support frame args only when the optional dumper is available
        if (!$this->getDumper()) {
            return '';
        }

        $html = '';
        $numFrames = count($frame->getArgs());

        if ($numFrames > 0) {
            $html = '<ol class="linenums">';
            foreach ($frame->getArgs() as $j => $frameArg) {
                $html .= '<li>'. $this->dump($frameArg) .'</li>';
            }
            $html .= '</ol>';
        }

        return $html;
    }

    /**
     * Convert a string to a slug version of itself
     *
     * @param  string $original
     * @return string
     */
    public function slug($original)
    {
        $slug = str_replace(" ", "-", $original);
        $slug = preg_replace('/[^\w\d\-\_]/i', '', $slug);
        return strtolower($slug);
    }

    /**
     * Given a template path, render it within its own scope. This
     * method also accepts an array of additional variables to be
     * passed to the template.
     *
     * @param string $template
     * @param array  $additionalVariables
     */
    public function render($template, array $additionalVariables = null)
    {
        $variables = $this->getVariables();

        // Pass the helper to the template:
        $variables["tpl"] = $this;

        if ($additionalVariables !== null) {
            $variables = array_replace($variables, $additionalVariables);
        }

        call_user_func(function () {
            extract(func_get_arg(1));
            require func_get_arg(0);
        }, $template, $variables);
    }

    /**
     * Sets the variables to be passed to all templates rendered
     * by this template helper.
     *
     * @param array $variables
     */
    public function setVariables(array $variables)
    {
        $this->variables = $variables;
    }

    /**
     * Sets a single template variable, by its name:
     *
     * @param string $variableName
     * @param mixed  $variableValue
     */
    public function setVariable($variableName, $variableValue)
    {
        $this->variables[$variableName] = $variableValue;
    }

    /**
     * Gets a single template variable, by its name, or
     * $defaultValue if the variable does not exist
     *
     * @param  string $variableName
     * @param  mixed  $defaultValue
     * @return mixed
     */
    public function getVariable($variableName, $defaultValue = null)
    {
        return isset($this->variables[$variableName]) ?
            $this->variables[$variableName] : $defaultValue;
    }

    /**
     * Unsets a single template variable, by its name
     *
     * @param string $variableName
     */
    public function delVariable($variableName)
    {
        unset($this->variables[$variableName]);
    }

    /**
     * Returns all variables for this helper
     *
     * @return array
     */
    public function getVariables()
    {
        return $this->variables;
    }

    /**
     * Set the cloner used for dumping variables.
     *
     * @param AbstractCloner $cloner
     */
    public function setCloner($cloner)
    {
        $this->cloner = $cloner;
    }

    /**
     * Get the cloner used for dumping variables.
     *
     * @return AbstractCloner
     */
    public function getCloner()
    {
        if (!$this->cloner) {
            $this->cloner = new VarCloner();
        }
        return $this->cloner;
    }

    /**
     * Set the application root path.
     *
     * @param string $applicationRootPath
     */
    public function setApplicationRootPath($applicationRootPath)
    {
        $this->applicationRootPath = $applicationRootPath;
    }

    /**
     * Return the application root path.
     *
     * @return string
     */
    public function getApplicationRootPath()
    {
        return $this->applicationRootPath;
    }
}
vendor/filp/whoops/src/Whoops/Resources/js/whoops.base.js000060400000014620150750356250017543 0ustar00Zepto(function($) {
  var $leftPanel      = $('.left-panel');
  var $frameContainer = $('.frames-container');
  var $appFramesTab   = $('#application-frames-tab');
  var $allFramesTab   = $('#all-frames-tab');
  var $container      = $('.details-container');
  var $activeLine     = $frameContainer.find('.frame.active');
  var $activeFrame    = $container.find('.frame-code.active');
  var $ajaxEditors    = $('.editor-link[data-ajax]');
  var $header         = $('header');

  $header.on('mouseenter', function () {
    if ($header.find('.exception').height() >= 145) {
      $header.addClass('header-expand');
    }
  });
  $header.on('mouseleave', function () {
    $header.removeClass('header-expand');
  });

  /*
   * add prettyprint classes to our current active codeblock
   * run prettyPrint() to highlight the active code
   * scroll to the line when prettyprint is done
   * highlight the current line
   */
  var renderCurrentCodeblock = function(id) {

    // remove previous codeblocks so we only render the active one
    $('.code-block').removeClass('prettyprint');

    // pass the id in when we can for speed
    if (typeof(id) === 'undefined' || typeof(id) === 'object') {
      var id = /frame\-line\-([\d]*)/.exec($activeLine.attr('id'))[1];
    }

    $('#frame-code-linenums-' + id).addClass('prettyprint');
    $('#frame-code-args-' + id).addClass('prettyprint');

    prettyPrint(highlightCurrentLine);

  }

  /*
   * Highlight the active and neighboring lines for the current frame
   * Adjust the offset to make sure that line is veritcally centered
   */

  var highlightCurrentLine = function() {
    var activeLineNumber = +($activeLine.find('.frame-line').text());
    var $lines           = $activeFrame.find('.linenums li');
    var firstLine        = +($lines.first().val());

    // We show more code than needed, purely for proper syntax highlighting
    // Let’s hide a big chunk of that code and then scroll the remaining block
    $activeFrame.find('.code-block').first().css({
      maxHeight: 345,
      overflow: 'hidden',
    });

    var $offset = $($lines[activeLineNumber - firstLine - 10]);
    if ($offset.length > 0) {
      $offset[0].scrollIntoView();
    }

    $($lines[activeLineNumber - firstLine - 1]).addClass('current');
    $($lines[activeLineNumber - firstLine]).addClass('current active');
    $($lines[activeLineNumber - firstLine + 1]).addClass('current');

    $container.scrollTop(0);

  }

  /*
   * click handler for loading codeblocks
   */

  $frameContainer.on('click', '.frame', function() {

    var $this  = $(this);
    var id     = /frame\-line\-([\d]*)/.exec($this.attr('id'))[1];
    var $codeFrame = $('#frame-code-' + id);

    if ($codeFrame) {

      $activeLine.removeClass('active');
      $activeFrame.removeClass('active');

      $this.addClass('active');
      $codeFrame.addClass('active');

      $activeLine  = $this;
      $activeFrame = $codeFrame;

      renderCurrentCodeblock(id);

    }

  });

  var clipboard = new Clipboard('.clipboard');
  var showTooltip = function(elem, msg) {
    elem.setAttribute('class', 'clipboard tooltipped tooltipped-s');
    elem.setAttribute('aria-label', msg);
  };

  clipboard.on('success', function(e) {
      e.clearSelection();

      showTooltip(e.trigger, 'Copied!');
  });

  clipboard.on('error', function(e) {
      showTooltip(e.trigger, fallbackMessage(e.action));
  });

  var btn = document.querySelector('.clipboard');

  btn.addEventListener('mouseleave', function(e) {
    e.currentTarget.setAttribute('class', 'clipboard');
    e.currentTarget.removeAttribute('aria-label');
  });

  function fallbackMessage(action) {
    var actionMsg = '';
    var actionKey = (action === 'cut' ? 'X' : 'C');

    if (/Mac/i.test(navigator.userAgent)) {
        actionMsg = 'Press ⌘-' + actionKey + ' to ' + action;
    } else {
        actionMsg = 'Press Ctrl-' + actionKey + ' to ' + action;
    }

    return actionMsg;
  }

  function scrollIntoView($node, $parent) {
    var nodeOffset = $node.offset();
    var nodeTop = nodeOffset.top;
    var nodeBottom = nodeTop + nodeOffset.height;
    var parentScrollTop = $parent.scrollTop();
    var parentHeight = $parent.height();

    if (nodeTop < 0) {
      $parent.scrollTop(parentScrollTop + nodeTop);
    } else if (nodeBottom > parentHeight) {
      $parent.scrollTop(parentScrollTop + nodeBottom - parentHeight);
    }
  }

  $(document).on('keydown', function(e) {
    var applicationFrames = $frameContainer.hasClass('frames-container-application'),
        frameClass = applicationFrames ? '.frame.frame-application' : '.frame';

	  if(e.ctrlKey || e.which === 74  || e.which === 75) {
		  // CTRL+Arrow-UP/k and Arrow-Down/j support:
		  // 1) select the next/prev element
		  // 2) make sure the newly selected element is within the view-scope
		  // 3) focus the (right) container, so arrow-up/down (without ctrl) scroll the details
		  if (e.which === 38 /* arrow up */ || e.which === 75 /* k */) {
			  $activeLine.prev(frameClass).click();
			  scrollIntoView($activeLine, $leftPanel);
			  $container.focus();
			  e.preventDefault();
		  } else if (e.which === 40 /* arrow down */ || e.which === 74 /* j */) {
			  $activeLine.next(frameClass).click();
			  scrollIntoView($activeLine, $leftPanel);
			  $container.focus();
			  e.preventDefault();
		  }
	  } else if (e.which == 78 /* n */) {
      if ($appFramesTab.length) {
        setActiveFramesTab($('.frames-tab:not(.frames-tab-active)'));
      }
    }
  });

  // Render late enough for highlightCurrentLine to be ready
  renderCurrentCodeblock();

  // Avoid to quit the page with some protocol (e.g. IntelliJ Platform REST API)
  $ajaxEditors.on('click', function(e){
    e.preventDefault();
    $.get(this.href);
  });

  // Symfony VarDumper: Close the by default expanded objects
  $('.sf-dump-expanded')
    .removeClass('sf-dump-expanded')
    .addClass('sf-dump-compact');
  $('.sf-dump-toggle span').html('&#9654;');

  // Make the given frames-tab active
  function setActiveFramesTab($tab) {
    $tab.addClass('frames-tab-active');

    if ($tab.attr('id') == 'application-frames-tab') {
      $frameContainer.addClass('frames-container-application');
      $allFramesTab.removeClass('frames-tab-active');
    } else {
      $frameContainer.removeClass('frames-container-application');
      $appFramesTab.removeClass('frames-tab-active');
    }
  }

  $('a.frames-tab').on('click', function(e) {
    e.preventDefault();
    setActiveFramesTab($(this));
  });
});
vendor/filp/whoops/src/Whoops/Resources/js/zepto.min.js000060400000060074150750356250017242 0ustar00/* Zepto v1.1.3 - zepto event ajax form ie - zeptojs.com/license */
var Zepto=function(){function L(t){return null==t?String(t):j[T.call(t)]||"object"}function Z(t){return"function"==L(t)}function $(t){return null!=t&&t==t.window}function _(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function D(t){return"object"==L(t)}function R(t){return D(t)&&!$(t)&&Object.getPrototypeOf(t)==Object.prototype}function M(t){return"number"==typeof t.length}function k(t){return s.call(t,function(t){return null!=t})}function z(t){return t.length>0?n.fn.concat.apply([],t):t}function F(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function q(t){return t in f?f[t]:f[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function H(t,e){return"number"!=typeof e||c[F(t)]?e:e+"px"}function I(t){var e,n;return u[t]||(e=a.createElement(t),a.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),u[t]=n),u[t]}function V(t){return"children"in t?o.call(t.children):n.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function U(n,i,r){for(e in i)r&&(R(i[e])||A(i[e]))?(R(i[e])&&!R(n[e])&&(n[e]={}),A(i[e])&&!A(n[e])&&(n[e]=[]),U(n[e],i[e],r)):i[e]!==t&&(n[e]=i[e])}function B(t,e){return null==e?n(t):n(t).filter(e)}function J(t,e,n,i){return Z(e)?e.call(t,n,i):e}function X(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function W(e,n){var i=e.className,r=i&&i.baseVal!==t;return n===t?r?i.baseVal:i:void(r?i.baseVal=n:e.className=n)}function Y(t){var e;try{return t?"true"==t||("false"==t?!1:"null"==t?null:/^0/.test(t)||isNaN(e=Number(t))?/^[\[\{]/.test(t)?n.parseJSON(t):t:e):t}catch(i){return t}}function G(t,e){e(t);for(var n in t.childNodes)G(t.childNodes[n],e)}var t,e,n,i,C,N,r=[],o=r.slice,s=r.filter,a=window.document,u={},f={},c={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},l=/^\s*<(\w+|!)[^>]*>/,h=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,p=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,d=/^(?:body|html)$/i,m=/([A-Z])/g,g=["val","css","html","text","data","width","height","offset"],v=["after","prepend","before","append"],y=a.createElement("table"),x=a.createElement("tr"),b={tr:a.createElement("tbody"),tbody:y,thead:y,tfoot:y,td:x,th:x,"*":a.createElement("div")},w=/complete|loaded|interactive/,E=/^[\w-]*$/,j={},T=j.toString,S={},O=a.createElement("div"),P={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},A=Array.isArray||function(t){return t instanceof Array};return S.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var i,r=t.parentNode,o=!r;return o&&(r=O).appendChild(t),i=~S.qsa(r,e).indexOf(t),o&&O.removeChild(t),i},C=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},N=function(t){return s.call(t,function(e,n){return t.indexOf(e)==n})},S.fragment=function(e,i,r){var s,u,f;return h.test(e)&&(s=n(a.createElement(RegExp.$1))),s||(e.replace&&(e=e.replace(p,"<$1></$2>")),i===t&&(i=l.test(e)&&RegExp.$1),i in b||(i="*"),f=b[i],f.innerHTML=""+e,s=n.each(o.call(f.childNodes),function(){f.removeChild(this)})),R(r)&&(u=n(s),n.each(r,function(t,e){g.indexOf(t)>-1?u[t](e):u.attr(t,e)})),s},S.Z=function(t,e){return t=t||[],t.__proto__=n.fn,t.selector=e||"",t},S.isZ=function(t){return t instanceof S.Z},S.init=function(e,i){var r;if(!e)return S.Z();if("string"==typeof e)if(e=e.trim(),"<"==e[0]&&l.test(e))r=S.fragment(e,RegExp.$1,i),e=null;else{if(i!==t)return n(i).find(e);r=S.qsa(a,e)}else{if(Z(e))return n(a).ready(e);if(S.isZ(e))return e;if(A(e))r=k(e);else if(D(e))r=[e],e=null;else if(l.test(e))r=S.fragment(e.trim(),RegExp.$1,i),e=null;else{if(i!==t)return n(i).find(e);r=S.qsa(a,e)}}return S.Z(r,e)},n=function(t,e){return S.init(t,e)},n.extend=function(t){var e,n=o.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach(function(n){U(t,n,e)}),t},S.qsa=function(t,e){var n,i="#"==e[0],r=!i&&"."==e[0],s=i||r?e.slice(1):e,a=E.test(s);return _(t)&&a&&i?(n=t.getElementById(s))?[n]:[]:1!==t.nodeType&&9!==t.nodeType?[]:o.call(a&&!i?r?t.getElementsByClassName(s):t.getElementsByTagName(e):t.querySelectorAll(e))},n.contains=function(t,e){return t!==e&&t.contains(e)},n.type=L,n.isFunction=Z,n.isWindow=$,n.isArray=A,n.isPlainObject=R,n.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},n.inArray=function(t,e,n){return r.indexOf.call(e,t,n)},n.camelCase=C,n.trim=function(t){return null==t?"":String.prototype.trim.call(t)},n.uuid=0,n.support={},n.expr={},n.map=function(t,e){var n,r,o,i=[];if(M(t))for(r=0;r<t.length;r++)n=e(t[r],r),null!=n&&i.push(n);else for(o in t)n=e(t[o],o),null!=n&&i.push(n);return z(i)},n.each=function(t,e){var n,i;if(M(t)){for(n=0;n<t.length;n++)if(e.call(t[n],n,t[n])===!1)return t}else for(i in t)if(e.call(t[i],i,t[i])===!1)return t;return t},n.grep=function(t,e){return s.call(t,e)},window.JSON&&(n.parseJSON=JSON.parse),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(t,e){j["[object "+e+"]"]=e.toLowerCase()}),n.fn={forEach:r.forEach,reduce:r.reduce,push:r.push,sort:r.sort,indexOf:r.indexOf,concat:r.concat,map:function(t){return n(n.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return n(o.apply(this,arguments))},ready:function(t){return w.test(a.readyState)&&a.body?t(n):a.addEventListener("DOMContentLoaded",function(){t(n)},!1),this},get:function(e){return e===t?o.call(this):this[e>=0?e:e+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return r.every.call(this,function(e,n){return t.call(e,n,e)!==!1}),this},filter:function(t){return Z(t)?this.not(this.not(t)):n(s.call(this,function(e){return S.matches(e,t)}))},add:function(t,e){return n(N(this.concat(n(t,e))))},is:function(t){return this.length>0&&S.matches(this[0],t)},not:function(e){var i=[];if(Z(e)&&e.call!==t)this.each(function(t){e.call(this,t)||i.push(this)});else{var r="string"==typeof e?this.filter(e):M(e)&&Z(e.item)?o.call(e):n(e);this.forEach(function(t){r.indexOf(t)<0&&i.push(t)})}return n(i)},has:function(t){return this.filter(function(){return D(t)?n.contains(this,t):n(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!D(t)?t:n(t)},last:function(){var t=this[this.length-1];return t&&!D(t)?t:n(t)},find:function(t){var e,i=this;return e="object"==typeof t?n(t).filter(function(){var t=this;return r.some.call(i,function(e){return n.contains(e,t)})}):1==this.length?n(S.qsa(this[0],t)):this.map(function(){return S.qsa(this,t)})},closest:function(t,e){var i=this[0],r=!1;for("object"==typeof t&&(r=n(t));i&&!(r?r.indexOf(i)>=0:S.matches(i,t));)i=i!==e&&!_(i)&&i.parentNode;return n(i)},parents:function(t){for(var e=[],i=this;i.length>0;)i=n.map(i,function(t){return(t=t.parentNode)&&!_(t)&&e.indexOf(t)<0?(e.push(t),t):void 0});return B(e,t)},parent:function(t){return B(N(this.pluck("parentNode")),t)},children:function(t){return B(this.map(function(){return V(this)}),t)},contents:function(){return this.map(function(){return o.call(this.childNodes)})},siblings:function(t){return B(this.map(function(t,e){return s.call(V(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return n.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=I(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=Z(t);if(this[0]&&!e)var i=n(t).get(0),r=i.parentNode||this.length>1;return this.each(function(o){n(this).wrapAll(e?t.call(this,o):r?i.cloneNode(!0):i)})},wrapAll:function(t){if(this[0]){n(this[0]).before(t=n(t));for(var e;(e=t.children()).length;)t=e.first();n(t).append(this)}return this},wrapInner:function(t){var e=Z(t);return this.each(function(i){var r=n(this),o=r.contents(),s=e?t.call(this,i):t;o.length?o.wrapAll(s):r.append(s)})},unwrap:function(){return this.parent().each(function(){n(this).replaceWith(n(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(e){return this.each(function(){var i=n(this);(e===t?"none"==i.css("display"):e)?i.show():i.hide()})},prev:function(t){return n(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return n(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0===arguments.length?this.length>0?this[0].innerHTML:null:this.each(function(e){var i=this.innerHTML;n(this).empty().append(J(this,t,e,i))})},text:function(e){return 0===arguments.length?this.length>0?this[0].textContent:null:this.each(function(){this.textContent=e===t?"":""+e})},attr:function(n,i){var r;return"string"==typeof n&&i===t?0==this.length||1!==this[0].nodeType?t:"value"==n&&"INPUT"==this[0].nodeName?this.val():!(r=this[0].getAttribute(n))&&n in this[0]?this[0][n]:r:this.each(function(t){if(1===this.nodeType)if(D(n))for(e in n)X(this,e,n[e]);else X(this,n,J(this,i,t,this.getAttribute(n)))})},removeAttr:function(t){return this.each(function(){1===this.nodeType&&X(this,t)})},prop:function(e,n){return e=P[e]||e,n===t?this[0]&&this[0][e]:this.each(function(t){this[e]=J(this,n,t,this[e])})},data:function(e,n){var i=this.attr("data-"+e.replace(m,"-$1").toLowerCase(),n);return null!==i?Y(i):t},val:function(t){return 0===arguments.length?this[0]&&(this[0].multiple?n(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value):this.each(function(e){this.value=J(this,t,e,this.value)})},offset:function(t){if(t)return this.each(function(e){var i=n(this),r=J(this,t,e,i.offset()),o=i.offsetParent().offset(),s={top:r.top-o.top,left:r.left-o.left};"static"==i.css("position")&&(s.position="relative"),i.css(s)});if(0==this.length)return null;var e=this[0].getBoundingClientRect();return{left:e.left+window.pageXOffset,top:e.top+window.pageYOffset,width:Math.round(e.width),height:Math.round(e.height)}},css:function(t,i){if(arguments.length<2){var r=this[0],o=getComputedStyle(r,"");if(!r)return;if("string"==typeof t)return r.style[C(t)]||o.getPropertyValue(t);if(A(t)){var s={};return n.each(A(t)?t:[t],function(t,e){s[e]=r.style[C(e)]||o.getPropertyValue(e)}),s}}var a="";if("string"==L(t))i||0===i?a=F(t)+":"+H(t,i):this.each(function(){this.style.removeProperty(F(t))});else for(e in t)t[e]||0===t[e]?a+=F(e)+":"+H(e,t[e])+";":this.each(function(){this.style.removeProperty(F(e))});return this.each(function(){this.style.cssText+=";"+a})},index:function(t){return t?this.indexOf(n(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return t?r.some.call(this,function(t){return this.test(W(t))},q(t)):!1},addClass:function(t){return t?this.each(function(e){i=[];var r=W(this),o=J(this,t,e,r);o.split(/\s+/g).forEach(function(t){n(this).hasClass(t)||i.push(t)},this),i.length&&W(this,r+(r?" ":"")+i.join(" "))}):this},removeClass:function(e){return this.each(function(n){return e===t?W(this,""):(i=W(this),J(this,e,n,i).split(/\s+/g).forEach(function(t){i=i.replace(q(t)," ")}),void W(this,i.trim()))})},toggleClass:function(e,i){return e?this.each(function(r){var o=n(this),s=J(this,e,r,W(this));s.split(/\s+/g).forEach(function(e){(i===t?!o.hasClass(e):i)?o.addClass(e):o.removeClass(e)})}):this},scrollTop:function(e){if(this.length){var n="scrollTop"in this[0];return e===t?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=e}:function(){this.scrollTo(this.scrollX,e)})}},scrollLeft:function(e){if(this.length){var n="scrollLeft"in this[0];return e===t?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=e}:function(){this.scrollTo(e,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),i=this.offset(),r=d.test(e[0].nodeName)?{top:0,left:0}:e.offset();return i.top-=parseFloat(n(t).css("margin-top"))||0,i.left-=parseFloat(n(t).css("margin-left"))||0,r.top+=parseFloat(n(e[0]).css("border-top-width"))||0,r.left+=parseFloat(n(e[0]).css("border-left-width"))||0,{top:i.top-r.top,left:i.left-r.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||a.body;t&&!d.test(t.nodeName)&&"static"==n(t).css("position");)t=t.offsetParent;return t})}},n.fn.detach=n.fn.remove,["width","height"].forEach(function(e){var i=e.replace(/./,function(t){return t[0].toUpperCase()});n.fn[e]=function(r){var o,s=this[0];return r===t?$(s)?s["inner"+i]:_(s)?s.documentElement["scroll"+i]:(o=this.offset())&&o[e]:this.each(function(t){s=n(this),s.css(e,J(this,r,t,s[e]()))})}}),v.forEach(function(t,e){var i=e%2;n.fn[t]=function(){var t,o,r=n.map(arguments,function(e){return t=L(e),"object"==t||"array"==t||null==e?e:S.fragment(e)}),s=this.length>1;return r.length<1?this:this.each(function(t,a){o=i?a:a.parentNode,a=0==e?a.nextSibling:1==e?a.firstChild:2==e?a:null,r.forEach(function(t){if(s)t=t.cloneNode(!0);else if(!o)return n(t).remove();G(o.insertBefore(t,a),function(t){null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src||window.eval.call(window,t.innerHTML)})})})},n.fn[i?t+"To":"insert"+(e?"Before":"After")]=function(e){return n(e)[t](this),this}}),S.Z.prototype=n.fn,S.uniq=N,S.deserializeValue=Y,n.zepto=S,n}();window.Zepto=Zepto,void 0===window.$&&(window.$=Zepto),function(t){function l(t){return t._zid||(t._zid=e++)}function h(t,e,n,i){if(e=p(e),e.ns)var r=d(e.ns);return(s[l(t)]||[]).filter(function(t){return!(!t||e.e&&t.e!=e.e||e.ns&&!r.test(t.ns)||n&&l(t.fn)!==l(n)||i&&t.sel!=i)})}function p(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function d(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function m(t,e){return t.del&&!u&&t.e in f||!!e}function g(t){return c[t]||u&&f[t]||t}function v(e,i,r,o,a,u,f){var h=l(e),d=s[h]||(s[h]=[]);i.split(/\s/).forEach(function(i){if("ready"==i)return t(document).ready(r);var s=p(i);s.fn=r,s.sel=a,s.e in c&&(r=function(e){var n=e.relatedTarget;return!n||n!==this&&!t.contains(this,n)?s.fn.apply(this,arguments):void 0}),s.del=u;var l=u||r;s.proxy=function(t){if(t=j(t),!t.isImmediatePropagationStopped()){t.data=o;var i=l.apply(e,t._args==n?[t]:[t].concat(t._args));return i===!1&&(t.preventDefault(),t.stopPropagation()),i}},s.i=d.length,d.push(s),"addEventListener"in e&&e.addEventListener(g(s.e),s.proxy,m(s,f))})}function y(t,e,n,i,r){var o=l(t);(e||"").split(/\s/).forEach(function(e){h(t,e,n,i).forEach(function(e){delete s[o][e.i],"removeEventListener"in t&&t.removeEventListener(g(e.e),e.proxy,m(e,r))})})}function j(e,i){return(i||!e.isDefaultPrevented)&&(i||(i=e),t.each(E,function(t,n){var r=i[t];e[t]=function(){return this[n]=x,r&&r.apply(i,arguments)},e[n]=b}),(i.defaultPrevented!==n?i.defaultPrevented:"returnValue"in i?i.returnValue===!1:i.getPreventDefault&&i.getPreventDefault())&&(e.isDefaultPrevented=x)),e}function T(t){var e,i={originalEvent:t};for(e in t)w.test(e)||t[e]===n||(i[e]=t[e]);return j(i,t)}var n,e=1,i=Array.prototype.slice,r=t.isFunction,o=function(t){return"string"==typeof t},s={},a={},u="onfocusin"in window,f={focus:"focusin",blur:"focusout"},c={mouseenter:"mouseover",mouseleave:"mouseout"};a.click=a.mousedown=a.mouseup=a.mousemove="MouseEvents",t.event={add:v,remove:y},t.proxy=function(e,n){if(r(e)){var i=function(){return e.apply(n,arguments)};return i._zid=l(e),i}if(o(n))return t.proxy(e[n],e);throw new TypeError("expected function")},t.fn.bind=function(t,e,n){return this.on(t,e,n)},t.fn.unbind=function(t,e){return this.off(t,e)},t.fn.one=function(t,e,n,i){return this.on(t,e,n,i,1)};var x=function(){return!0},b=function(){return!1},w=/^([A-Z]|returnValue$|layer[XY]$)/,E={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};t.fn.delegate=function(t,e,n){return this.on(e,t,n)},t.fn.undelegate=function(t,e,n){return this.off(e,t,n)},t.fn.live=function(e,n){return t(document.body).delegate(this.selector,e,n),this},t.fn.die=function(e,n){return t(document.body).undelegate(this.selector,e,n),this},t.fn.on=function(e,s,a,u,f){var c,l,h=this;return e&&!o(e)?(t.each(e,function(t,e){h.on(t,s,a,e,f)}),h):(o(s)||r(u)||u===!1||(u=a,a=s,s=n),(r(a)||a===!1)&&(u=a,a=n),u===!1&&(u=b),h.each(function(n,r){f&&(c=function(t){return y(r,t.type,u),u.apply(this,arguments)}),s&&(l=function(e){var n,o=t(e.target).closest(s,r).get(0);return o&&o!==r?(n=t.extend(T(e),{currentTarget:o,liveFired:r}),(c||u).apply(o,[n].concat(i.call(arguments,1)))):void 0}),v(r,e,u,a,s,l||c)}))},t.fn.off=function(e,i,s){var a=this;return e&&!o(e)?(t.each(e,function(t,e){a.off(t,i,e)}),a):(o(i)||r(s)||s===!1||(s=i,i=n),s===!1&&(s=b),a.each(function(){y(this,e,s,i)}))},t.fn.trigger=function(e,n){return e=o(e)||t.isPlainObject(e)?t.Event(e):j(e),e._args=n,this.each(function(){"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,n)})},t.fn.triggerHandler=function(e,n){var i,r;return this.each(function(s,a){i=T(o(e)?t.Event(e):e),i._args=n,i.target=a,t.each(h(a,e.type||e),function(t,e){return r=e.proxy(i),i.isImmediatePropagationStopped()?!1:void 0})}),r},"focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.trigger(e)}}),["focus","blur"].forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.each(function(){try{this[e]()}catch(t){}}),this}}),t.Event=function(t,e){o(t)||(e=t,t=e.type);var n=document.createEvent(a[t]||"Events"),i=!0;if(e)for(var r in e)"bubbles"==r?i=!!e[r]:n[r]=e[r];return n.initEvent(t,i,!0),j(n)}}(Zepto),function(t){function l(e,n,i){var r=t.Event(n);return t(e).trigger(r,i),!r.isDefaultPrevented()}function h(t,e,i,r){return t.global?l(e||n,i,r):void 0}function p(e){e.global&&0===t.active++&&h(e,null,"ajaxStart")}function d(e){e.global&&!--t.active&&h(e,null,"ajaxStop")}function m(t,e){var n=e.context;return e.beforeSend.call(n,t,e)===!1||h(e,n,"ajaxBeforeSend",[t,e])===!1?!1:void h(e,n,"ajaxSend",[t,e])}function g(t,e,n,i){var r=n.context,o="success";n.success.call(r,t,o,e),i&&i.resolveWith(r,[t,o,e]),h(n,r,"ajaxSuccess",[e,n,t]),y(o,e,n)}function v(t,e,n,i,r){var o=i.context;i.error.call(o,n,e,t),r&&r.rejectWith(o,[n,e,t]),h(i,o,"ajaxError",[n,i,t||e]),y(e,n,i)}function y(t,e,n){var i=n.context;n.complete.call(i,e,t),h(n,i,"ajaxComplete",[e,n]),d(n)}function x(){}function b(t){return t&&(t=t.split(";",2)[0]),t&&(t==f?"html":t==u?"json":s.test(t)?"script":a.test(t)&&"xml")||"text"}function w(t,e){return""==e?t:(t+"&"+e).replace(/[&?]{1,2}/,"?")}function E(e){e.processData&&e.data&&"string"!=t.type(e.data)&&(e.data=t.param(e.data,e.traditional)),!e.data||e.type&&"GET"!=e.type.toUpperCase()||(e.url=w(e.url,e.data),e.data=void 0)}function j(e,n,i,r){return t.isFunction(n)&&(r=i,i=n,n=void 0),t.isFunction(i)||(r=i,i=void 0),{url:e,data:n,success:i,dataType:r}}function S(e,n,i,r){var o,s=t.isArray(n),a=t.isPlainObject(n);t.each(n,function(n,u){o=t.type(u),r&&(n=i?r:r+"["+(a||"object"==o||"array"==o?n:"")+"]"),!r&&s?e.add(u.name,u.value):"array"==o||!i&&"object"==o?S(e,u,i,n):e.add(n,u)})}var i,r,e=0,n=window.document,o=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,s=/^(?:text|application)\/javascript/i,a=/^(?:text|application)\/xml/i,u="application/json",f="text/html",c=/^\s*$/;t.active=0,t.ajaxJSONP=function(i,r){if(!("type"in i))return t.ajax(i);var f,h,o=i.jsonpCallback,s=(t.isFunction(o)?o():o)||"jsonp"+ ++e,a=n.createElement("script"),u=window[s],c=function(e){t(a).triggerHandler("error",e||"abort")},l={abort:c};return r&&r.promise(l),t(a).on("load error",function(e,n){clearTimeout(h),t(a).off().remove(),"error"!=e.type&&f?g(f[0],l,i,r):v(null,n||"error",l,i,r),window[s]=u,f&&t.isFunction(u)&&u(f[0]),u=f=void 0}),m(l,i)===!1?(c("abort"),l):(window[s]=function(){f=arguments},a.src=i.url.replace(/\?(.+)=\?/,"?$1="+s),n.head.appendChild(a),i.timeout>0&&(h=setTimeout(function(){c("timeout")},i.timeout)),l)},t.ajaxSettings={type:"GET",beforeSend:x,success:x,error:x,complete:x,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:u,xml:"application/xml, text/xml",html:f,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0},t.ajax=function(e){var n=t.extend({},e||{}),o=t.Deferred&&t.Deferred();for(i in t.ajaxSettings)void 0===n[i]&&(n[i]=t.ajaxSettings[i]);p(n),n.crossDomain||(n.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(n.url)&&RegExp.$2!=window.location.host),n.url||(n.url=window.location.toString()),E(n),n.cache===!1&&(n.url=w(n.url,"_="+Date.now()));var s=n.dataType,a=/\?.+=\?/.test(n.url);if("jsonp"==s||a)return a||(n.url=w(n.url,n.jsonp?n.jsonp+"=?":n.jsonp===!1?"":"callback=?")),t.ajaxJSONP(n,o);var j,u=n.accepts[s],f={},l=function(t,e){f[t.toLowerCase()]=[t,e]},h=/^([\w-]+:)\/\//.test(n.url)?RegExp.$1:window.location.protocol,d=n.xhr(),y=d.setRequestHeader;if(o&&o.promise(d),n.crossDomain||l("X-Requested-With","XMLHttpRequest"),l("Accept",u||"*/*"),(u=n.mimeType||u)&&(u.indexOf(",")>-1&&(u=u.split(",",2)[0]),d.overrideMimeType&&d.overrideMimeType(u)),(n.contentType||n.contentType!==!1&&n.data&&"GET"!=n.type.toUpperCase())&&l("Content-Type",n.contentType||"application/x-www-form-urlencoded"),n.headers)for(r in n.headers)l(r,n.headers[r]);if(d.setRequestHeader=l,d.onreadystatechange=function(){if(4==d.readyState){d.onreadystatechange=x,clearTimeout(j);var e,i=!1;if(d.status>=200&&d.status<300||304==d.status||0==d.status&&"file:"==h){s=s||b(n.mimeType||d.getResponseHeader("content-type")),e=d.responseText;try{"script"==s?(1,eval)(e):"xml"==s?e=d.responseXML:"json"==s&&(e=c.test(e)?null:t.parseJSON(e))}catch(r){i=r}i?v(i,"parsererror",d,n,o):g(e,d,n,o)}else v(d.statusText||null,d.status?"error":"abort",d,n,o)}},m(d,n)===!1)return d.abort(),v(null,"abort",d,n,o),d;if(n.xhrFields)for(r in n.xhrFields)d[r]=n.xhrFields[r];var T="async"in n?n.async:!0;d.open(n.type,n.url,T,n.username,n.password);for(r in f)y.apply(d,f[r]);return n.timeout>0&&(j=setTimeout(function(){d.onreadystatechange=x,d.abort(),v(null,"timeout",d,n,o)},n.timeout)),d.send(n.data?n.data:null),d},t.get=function(){return t.ajax(j.apply(null,arguments))},t.post=function(){var e=j.apply(null,arguments);return e.type="POST",t.ajax(e)},t.getJSON=function(){var e=j.apply(null,arguments);return e.dataType="json",t.ajax(e)},t.fn.load=function(e,n,i){if(!this.length)return this;var a,r=this,s=e.split(/\s/),u=j(e,n,i),f=u.success;return s.length>1&&(u.url=s[0],a=s[1]),u.success=function(e){r.html(a?t("<div>").html(e.replace(o,"")).find(a):e),f&&f.apply(r,arguments)},t.ajax(u),this};var T=encodeURIComponent;t.param=function(t,e){var n=[];return n.add=function(t,e){this.push(T(t)+"="+T(e))},S(n,t,e),n.join("&").replace(/%20/g,"+")}}(Zepto),function(t){t.fn.serializeArray=function(){var n,e=[];return t([].slice.call(this.get(0).elements)).each(function(){n=t(this);var i=n.attr("type");"fieldset"!=this.nodeName.toLowerCase()&&!this.disabled&&"submit"!=i&&"reset"!=i&&"button"!=i&&("radio"!=i&&"checkbox"!=i||this.checked)&&e.push({name:n.attr("name"),value:n.val()})}),e},t.fn.serialize=function(){var t=[];return this.serializeArray().forEach(function(e){t.push(encodeURIComponent(e.name)+"="+encodeURIComponent(e.value))}),t.join("&")},t.fn.submit=function(e){if(e)this.bind("submit",e);else if(this.length){var n=t.Event("submit");this.eq(0).trigger(n),n.isDefaultPrevented()||this.get(0).submit()}return this}}(Zepto),function(t){"__proto__"in{}||t.extend(t.zepto,{Z:function(e,n){return e=e||[],t.extend(e,t.fn),e.selector=n||"",e.__Z=!0,e},isZ:function(e){return"array"===t.type(e)&&"__Z"in e}});try{getComputedStyle(void 0)}catch(e){var n=getComputedStyle;window.getComputedStyle=function(t){try{return n(t)}catch(e){return null}}}}(Zepto);
vendor/filp/whoops/src/Whoops/Resources/js/prettify.min.js000060400000032703150750356250017745 0ustar00var r=null;window.PR_SHOULD_USE_CONTINUATION=!0;
(function(){function O(a){function i(d){var a=d.charCodeAt(0);if(a!==92)return a;var f=d.charAt(1);return(a=s[f])?a:"0"<=f&&f<="7"?parseInt(d.substring(1),8):f==="u"||f==="x"?parseInt(d.substring(2),16):d.charCodeAt(1)}function g(d){if(d<32)return(d<16?"\\x0":"\\x")+d.toString(16);d=String.fromCharCode(d);return d==="\\"||d==="-"||d==="]"||d==="^"?"\\"+d:d}function j(d){var a=d.substring(1,d.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),d=[],f=
a[0]==="^",b=["["];f&&b.push("^");for(var f=f?1:0,c=a.length;f<c;++f){var h=a[f];if(/\\[bdsw]/i.test(h))b.push(h);else{var h=i(h),e;f+2<c&&"-"===a[f+1]?(e=i(a[f+2]),f+=2):e=h;d.push([h,e]);e<65||h>122||(e<65||h>90||d.push([Math.max(65,h)|32,Math.min(e,90)|32]),e<97||h>122||d.push([Math.max(97,h)&-33,Math.min(e,122)&-33]))}}d.sort(function(d,a){return d[0]-a[0]||a[1]-d[1]});a=[];c=[];for(f=0;f<d.length;++f)h=d[f],h[0]<=c[1]+1?c[1]=Math.max(c[1],h[1]):a.push(c=h);for(f=0;f<a.length;++f)h=a[f],b.push(g(h[0])),
h[1]>h[0]&&(h[1]+1>h[0]&&b.push("-"),b.push(g(h[1])));b.push("]");return b.join("")}function t(d){for(var a=d.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=a.length,i=[],c=0,h=0;c<b;++c){var e=a[c];e==="("?++h:"\\"===e.charAt(0)&&(e=+e.substring(1))&&(e<=h?i[e]=-1:a[c]=g(e))}for(c=1;c<i.length;++c)-1===i[c]&&(i[c]=++z);for(h=c=0;c<b;++c)e=a[c],e==="("?(++h,i[h]||(a[c]="(?:")):"\\"===e.charAt(0)&&(e=+e.substring(1))&&e<=h&&
(a[c]="\\"+i[e]);for(c=0;c<b;++c)"^"===a[c]&&"^"!==a[c+1]&&(a[c]="");if(d.ignoreCase&&w)for(c=0;c<b;++c)e=a[c],d=e.charAt(0),e.length>=2&&d==="["?a[c]=j(e):d!=="\\"&&(a[c]=e.replace(/[A-Za-z]/g,function(d){d=d.charCodeAt(0);return"["+String.fromCharCode(d&-33,d|32)+"]"}));return a.join("")}for(var z=0,w=!1,k=!1,m=0,b=a.length;m<b;++m){var o=a[m];if(o.ignoreCase)k=!0;else if(/[a-z]/i.test(o.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){w=!0;k=!1;break}}for(var s={b:8,t:9,n:10,v:11,
f:12,r:13},q=[],m=0,b=a.length;m<b;++m){o=a[m];if(o.global||o.multiline)throw Error(""+o);q.push("(?:"+t(o)+")")}return RegExp(q.join("|"),k?"gi":"g")}function P(a,i){function g(a){switch(a.nodeType){case 1:if(j.test(a.className))break;for(var b=a.firstChild;b;b=b.nextSibling)g(b);b=a.nodeName.toLowerCase();if("br"===b||"li"===b)t[k]="\n",w[k<<1]=z++,w[k++<<1|1]=a;break;case 3:case 4:b=a.nodeValue,b.length&&(b=i?b.replace(/\r\n?/g,"\n"):b.replace(/[\t\n\r ]+/g," "),t[k]=b,w[k<<1]=z,z+=b.length,w[k++<<
1|1]=a)}}var j=/(?:^|\s)nocode(?:\s|$)/,t=[],z=0,w=[],k=0;g(a);return{a:t.join("").replace(/\n$/,""),d:w}}function E(a,i,g,j){i&&(a={a:i,e:a},g(a),j.push.apply(j,a.g))}function x(a,i){function g(a){for(var k=a.e,m=[k,"pln"],b=0,o=a.a.match(t)||[],s={},q=0,d=o.length;q<d;++q){var v=o[q],f=s[v],u=void 0,c;if(typeof f==="string")c=!1;else{var h=j[v.charAt(0)];if(h)u=v.match(h[1]),f=h[0];else{for(c=0;c<z;++c)if(h=i[c],u=v.match(h[1])){f=h[0];break}u||(f="pln")}if((c=f.length>=5&&"lang-"===f.substring(0,
5))&&!(u&&typeof u[1]==="string"))c=!1,f="src";c||(s[v]=f)}h=b;b+=v.length;if(c){c=u[1];var e=v.indexOf(c),p=e+c.length;u[2]&&(p=v.length-u[2].length,e=p-c.length);f=f.substring(5);E(k+h,v.substring(0,e),g,m);E(k+h+e,c,F(f,c),m);E(k+h+p,v.substring(p),g,m)}else m.push(k+h,f)}a.g=m}var j={},t;(function(){for(var g=a.concat(i),k=[],m={},b=0,o=g.length;b<o;++b){var s=g[b],q=s[3];if(q)for(var d=q.length;--d>=0;)j[q.charAt(d)]=s;s=s[1];q=""+s;m.hasOwnProperty(q)||(k.push(s),m[q]=r)}k.push(/[\S\s]/);t=
O(k)})();var z=i.length;return g}function l(a){var i=[],g=[];a.tripleQuotedStrings?i.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,r,"'\""]):a.multiLineStrings?i.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,r,"'\"`"]):i.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,r,"\"'"]);a.verbatimStrings&&
g.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,r]);var j=a.hashComments;j&&(a.cStyleComments?(j>1?i.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,r,"#"]):i.push(["com",/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\n\r]*)/,r,"#"]),g.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,r])):i.push(["com",/^#[^\n\r]*/,r,"#"]));a.cStyleComments&&(g.push(["com",/^\/\/[^\n\r]*/,r]),g.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,
r]));a.regexLiterals&&g.push(["lang-regex",/^(?:^^\.?|[+-]|[!=]={0,2}|#|%=?|&&?=?|\(|\*=?|[+-]=|->|\/=?|::?|<<?=?|>{1,3}=?|[,;?@[{~]|\^\^?=?|\|\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(j=a.types)&&g.push(["typ",j]);a=(""+a.keywords).replace(/^ | $/g,"");a.length&&g.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),r]);i.push(["pln",/^\s+/,r," \r\n\t\u00a0"]);g.push(["lit",
/^@[$_a-z][\w$@]*/i,r],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,r],["pln",/^[$_a-z][\w$@]*/i,r],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,r,"0123456789"],["pln",/^\\[\S\s]?/,r],["pun",/^.[^\s\w"$'./@\\`]*/,r]);return x(i,g)}function G(a,i,g){function j(a){switch(a.nodeType){case 1:if(z.test(a.className))break;if("br"===a.nodeName)t(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)j(a);break;case 3:case 4:if(g){var b=
a.nodeValue,f=b.match(n);if(f){var i=b.substring(0,f.index);a.nodeValue=i;(b=b.substring(f.index+f[0].length))&&a.parentNode.insertBefore(k.createTextNode(b),a.nextSibling);t(a);i||a.parentNode.removeChild(a)}}}}function t(a){function i(a,b){var d=b?a.cloneNode(!1):a,e=a.parentNode;if(e){var e=i(e,1),f=a.nextSibling;e.appendChild(d);for(var g=f;g;g=f)f=g.nextSibling,e.appendChild(g)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=i(a.nextSibling,0),f;(f=a.parentNode)&&f.nodeType===
1;)a=f;b.push(a)}for(var z=/(?:^|\s)nocode(?:\s|$)/,n=/\r\n?|\n/,k=a.ownerDocument,m=k.createElement("li");a.firstChild;)m.appendChild(a.firstChild);for(var b=[m],o=0;o<b.length;++o)j(b[o]);i===(i|0)&&b[0].setAttribute("value",i);var s=k.createElement("ol");s.className="linenums";for(var i=Math.max(0,i-1|0)||0,o=0,q=b.length;o<q;++o)m=b[o],m.className="L"+(o+i)%10,m.firstChild||m.appendChild(k.createTextNode("\u00a0")),s.appendChild(m);a.appendChild(s)}function n(a,i){for(var g=i.length;--g>=0;){var j=
i[g];A.hasOwnProperty(j)?C.console&&console.warn("cannot override language handler %s",j):A[j]=a}}function F(a,i){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(i)?"default-markup":"default-code";return A[a]}function H(a){var i=a.h;try{var g=P(a.c,a.i),j=g.a;a.a=j;a.d=g.d;a.e=0;F(i,j)(a);var t=/\bMSIE\s(\d+)/.exec(navigator.userAgent),t=t&&+t[1]<=8,i=/\n/g,n=a.a,w=n.length,g=0,k=a.d,m=k.length,j=0,b=a.g,o=b.length,s=0;b[o]=w;var q,d;for(d=q=0;d<o;)b[d]!==b[d+2]?(b[q++]=b[d++],b[q++]=b[d++]):d+=2;o=q;
for(d=q=0;d<o;){for(var v=b[d],f=b[d+1],u=d+2;u+2<=o&&b[u+1]===f;)u+=2;b[q++]=v;b[q++]=f;d=u}b.length=q;var c=a.c,h;if(c)h=c.style.display,c.style.display="none";try{for(;j<m;){var e=k[j+2]||w,p=b[s+2]||w,u=Math.min(e,p),l=k[j+1],D;if(l.nodeType!==1&&(D=n.substring(g,u))){t&&(D=D.replace(i,"\r"));l.nodeValue=D;var y=l.ownerDocument,x=y.createElement("span");x.className=b[s+1];var B=l.parentNode;B.replaceChild(x,l);x.appendChild(l);g<e&&(k[j+1]=l=y.createTextNode(n.substring(u,e)),B.insertBefore(l,
x.nextSibling))}g=u;g>=e&&(j+=2);g>=p&&(s+=2)}}finally{if(c)c.style.display=h}}catch(A){C.console&&console.log(A&&A.stack?A.stack:A)}}var C=window,y=["break,continue,do,else,for,if,return,while"],B=[[y,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],I=[B,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],
J=[B,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],K=[J,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"],B=[B,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],
L=[y,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],M=[y,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],y=[y,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],N=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/,
Q=/\S/,R=l({keywords:[I,K,B,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+L,M,y],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};n(R,["default-code"]);n(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",
/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);n(x([["pln",/^\s+/,r," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,r,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],
["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);n(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);n(l({keywords:I,hashComments:!0,cStyleComments:!0,types:N}),["c","cc","cpp","cxx","cyc","m"]);n(l({keywords:"null,true,false"}),["json"]);n(l({keywords:K,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:N}),
["cs"]);n(l({keywords:J,cStyleComments:!0}),["java"]);n(l({keywords:y,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);n(l({keywords:L,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py"]);n(l({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);n(l({keywords:M,hashComments:!0,
multiLineStrings:!0,regexLiterals:!0}),["rb"]);n(l({keywords:B,cStyleComments:!0,regexLiterals:!0}),["js"]);n(l({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);n(x([],[["str",/^[\S\s]+/]]),["regex"]);var S=C.PR={createSimpleLexer:x,registerLangHandler:n,sourceDecorator:l,
PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:C.prettyPrintOne=function(a,i,g){var j=document.createElement("pre");j.innerHTML=a;g&&G(j,g,!0);H({h:i,j:g,c:j,i:1});return j.innerHTML},prettyPrint:C.prettyPrint=function(a){function i(){var u;for(var g=C.PR_SHOULD_USE_CONTINUATION?k.now()+250:Infinity;m<j.length&&
k.now()<g;m++){var c=j[m],h=c.className;if(s.test(h)&&!q.test(h)){for(var e=!1,p=c.parentNode;p;p=p.parentNode)if(f.test(p.tagName)&&p.className&&s.test(p.className)){e=!0;break}if(!e){c.className+=" prettyprinted";var h=h.match(o),n;if(e=!h){for(var e=c,p=void 0,l=e.firstChild;l;l=l.nextSibling)var t=l.nodeType,p=t===1?p?e:l:t===3?Q.test(l.nodeValue)?e:p:p;e=(n=p===e?void 0:p)&&v.test(n.tagName)}e&&(h=n.className.match(o));h&&(h=h[1]);u=d.test(c.tagName)?1:(e=(e=c.currentStyle)?e.whiteSpace:document.defaultView&&
document.defaultView.getComputedStyle?document.defaultView.getComputedStyle(c,r).getPropertyValue("white-space"):0)&&"pre"===e.substring(0,3),e=u;(p=(p=c.className.match(/\blinenums\b(?::(\d+))?/))?p[1]&&p[1].length?+p[1]:!0:!1)&&G(c,p,e);b={h:h,c:c,j:p,i:e};H(b)}}}m<j.length?setTimeout(i,250):a&&a()}for(var g=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],j=[],n=0;n<g.length;++n)for(var l=0,w=g[n].length;l<w;++l)j.push(g[n][l]);var g=
r,k=Date;k.now||(k={now:function(){return+new Date}});var m=0,b,o=/\blang(?:uage)?-([\w.]+)(?!\S)/,s=/\bprettyprint\b/,q=/\bprettyprinted\b/,d=/pre|xmp/i,v=/^code$/i,f=/^(?:pre|code|xmp)$/i;i()}};typeof define==="function"&&define.amd&&define("google-code-prettify",[],function(){return S})})();
vendor/filp/whoops/src/Whoops/Resources/js/clipboard.min.js000060400000021114150750356250020030 0ustar00/*!
 * clipboard.js v1.5.3
 * https://zenorocha.github.io/clipboard.js
 *
 * Licensed MIT © Zeno Rocha
 */
!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.Clipboard=t()}}(function(){var t,e,n;return function t(e,n,r){function o(a,c){if(!n[a]){if(!e[a]){var s="function"==typeof require&&require;if(!c&&s)return s(a,!0);if(i)return i(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var l=n[a]={exports:{}};e[a][0].call(l.exports,function(t){var n=e[a][1][t];return o(n?n:t)},l,l.exports,t,e,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;a<r.length;a++)o(r[a]);return o}({1:[function(t,e,n){var r=t("matches-selector");e.exports=function(t,e,n){for(var o=n?t:t.parentNode;o&&o!==document;){if(r(o,e))return o;o=o.parentNode}}},{"matches-selector":2}],2:[function(t,e,n){function r(t,e){if(i)return i.call(t,e);for(var n=t.parentNode.querySelectorAll(e),r=0;r<n.length;++r)if(n[r]==t)return!0;return!1}var o=Element.prototype,i=o.matchesSelector||o.webkitMatchesSelector||o.mozMatchesSelector||o.msMatchesSelector||o.oMatchesSelector;e.exports=r},{}],3:[function(t,e,n){function r(t,e,n,r){var i=o.apply(this,arguments);return t.addEventListener(n,i),{destroy:function(){t.removeEventListener(n,i)}}}function o(t,e,n,r){return function(n){var o=i(n.target,e,!0);o&&(Object.defineProperty(n,"target",{value:o}),r.call(t,n))}}var i=t("closest");e.exports=r},{closest:1}],4:[function(t,e,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.function=function(t){var e=Object.prototype.toString.call(t);return"[object Function]"===e}},{}],5:[function(t,e,n){function r(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!c.string(e))throw new TypeError("Second argument must be a String");if(!c.function(n))throw new TypeError("Third argument must be a Function");if(c.node(t))return o(t,e,n);if(c.nodeList(t))return i(t,e,n);if(c.string(t))return a(t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function o(t,e,n){return t.addEventListener(e,n),{destroy:function(){t.removeEventListener(e,n)}}}function i(t,e,n){return Array.prototype.forEach.call(t,function(t){t.addEventListener(e,n)}),{destroy:function(){Array.prototype.forEach.call(t,function(t){t.removeEventListener(e,n)})}}}function a(t,e,n){return s(document.body,t,e,n)}var c=t("./is"),s=t("delegate");e.exports=r},{"./is":4,delegate:3}],6:[function(t,e,n){function r(t){var e;if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName)t.select(),e=t.value;else{var n=window.getSelection(),r=document.createRange();r.selectNodeContents(t),n.removeAllRanges(),n.addRange(r),e=n.toString()}return e}e.exports=r},{}],7:[function(t,e,n){function r(){}r.prototype={on:function(t,e,n){var r=this.e||(this.e={});return(r[t]||(r[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){function r(){o.off(t,r),e.apply(n,arguments)}var o=this;return r._=e,this.on(t,r,n)},emit:function(t){var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),r=0,o=n.length;for(r;o>r;r++)n[r].fn.apply(n[r].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),r=n[t],o=[];if(r&&e)for(var i=0,a=r.length;a>i;i++)r[i].fn!==e&&r[i].fn._!==e&&o.push(r[i]);return o.length?n[t]=o:delete n[t],this}},e.exports=r},{}],8:[function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}n.__esModule=!0;var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),a=t("select"),c=r(a),s=function(){function t(e){o(this,t),this.resolveOptions(e),this.initSelection()}return t.prototype.resolveOptions=function t(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.action=e.action,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""},t.prototype.initSelection=function t(){if(this.text&&this.target)throw new Error('Multiple attributes declared, use either "target" or "text"');if(this.text)this.selectFake();else{if(!this.target)throw new Error('Missing required attributes, use either "target" or "text"');this.selectTarget()}},t.prototype.selectFake=function t(){var e=this;this.removeFake(),this.fakeHandler=document.body.addEventListener("click",function(){return e.removeFake()}),this.fakeElem=document.createElement("textarea"),this.fakeElem.style.position="absolute",this.fakeElem.style.left="-9999px",this.fakeElem.style.top=(window.pageYOffset||document.documentElement.scrollTop)+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,document.body.appendChild(this.fakeElem),this.selectedText=c.default(this.fakeElem),this.copyText()},t.prototype.removeFake=function t(){this.fakeHandler&&(document.body.removeEventListener("click"),this.fakeHandler=null),this.fakeElem&&(document.body.removeChild(this.fakeElem),this.fakeElem=null)},t.prototype.selectTarget=function t(){this.selectedText=c.default(this.target),this.copyText()},t.prototype.copyText=function t(){var e=void 0;try{e=document.execCommand(this.action)}catch(n){e=!1}this.handleResult(e)},t.prototype.handleResult=function t(e){e?this.emitter.emit("success",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)}):this.emitter.emit("error",{action:this.action,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})},t.prototype.clearSelection=function t(){this.target&&this.target.blur(),window.getSelection().removeAllRanges()},t.prototype.destroy=function t(){this.removeFake()},i(t,[{key:"action",set:function t(){var e=arguments.length<=0||void 0===arguments[0]?"copy":arguments[0];if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function t(){return this._action}},{key:"target",set:function t(e){if(void 0!==e){if(!e||"object"!=typeof e||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');this._target=e}},get:function t(){return this._target}}]),t}();n.default=s,e.exports=n.default},{select:6}],9:[function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}n.__esModule=!0;var c=t("./clipboard-action"),s=r(c),u=t("tiny-emitter"),l=r(u),f=t("good-listener"),d=r(f),h=function(t){function e(n,r){o(this,e),t.call(this),this.resolveOptions(r),this.listenClick(n)}return i(e,t),e.prototype.resolveOptions=function t(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText},e.prototype.listenClick=function t(e){var n=this;this.listener=d.default(e,"click",function(t){return n.onClick(t)})},e.prototype.onClick=function t(e){this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new s.default({action:this.action(e.target),target:this.target(e.target),text:this.text(e.target),trigger:e.target,emitter:this})},e.prototype.defaultAction=function t(e){return a("action",e)},e.prototype.defaultTarget=function t(e){var n=a("target",e);return n?document.querySelector(n):void 0},e.prototype.defaultText=function t(e){return a("text",e)},e.prototype.destroy=function t(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)},e}(l.default);n.default=h,e.exports=n.default},{"./clipboard-action":8,"good-listener":5,"tiny-emitter":7}]},{},[9])(9)});vendor/filp/whoops/src/Whoops/Resources/views/frame_list.html.php000060400000002017150750356250021274 0ustar00<?php /* List file names & line numbers for all stack frames;
         clicking these links/buttons will display the code view
         for that particular frame */ ?>
<?php foreach ($frames as $i => $frame): ?>
  <div class="frame <?php echo ($i == 0 ? 'active' : '') ?> <?php echo ($frame->isApplication() ? 'frame-application' : '') ?>" id="frame-line-<?php echo $i ?>">
      <span class="frame-index"><?php echo (count($frames) - $i - 1) ?></span>
      <div class="frame-method-info">
        <span class="frame-class"><?php echo $tpl->breakOnDelimiter('\\', $tpl->escape($frame->getClass() ?: '')) ?></span>
        <span class="frame-function"><?php echo $tpl->breakOnDelimiter('\\', $tpl->escape($frame->getFunction() ?: '')) ?></span>
      </div>

    <div class="frame-file">
        <?php echo $frame->getFile() ? $tpl->breakOnDelimiter('/', $tpl->shorten($tpl->escape($frame->getFile()))) : '<#unknown>' ?><!--
   --><span class="frame-line"><?php echo (int) $frame->getLine() ?></span>
    </div>
  </div>
<?php endforeach;
vendor/filp/whoops/src/Whoops/Resources/views/layout.html.php000060400000001467150750356250020474 0ustar00<?php
/**
* Layout template file for Whoops's pretty error output.
*/
?>
<!DOCTYPE html><?php echo $preface; ?>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="robots" content="noindex,nofollow"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
    <title><?php echo $tpl->escape($page_title) ?></title>

    <style><?php echo $stylesheet ?></style>
  </head>
  <body>

    <div class="Whoops container">
      <div class="stack-container">

        <?php $tpl->render($panel_left_outer) ?>

        <?php $tpl->render($panel_details_outer) ?>

      </div>
    </div>

    <script><?php echo $prettify ?></script>
    <script><?php echo $zepto ?></script>
    <script><?php echo $clipboard ?></script>
    <script><?php echo $javascript ?></script>
  </body>
</html>
vendor/filp/whoops/src/Whoops/Resources/views/panel_details_outer.html.php000060400000000127150750356250023171 0ustar00<div class="panel details-container cf">
  <?php $tpl->render($panel_details) ?>
</div>vendor/filp/whoops/src/Whoops/Resources/views/panel_left.html.php000060400000000150150750356250021254 0ustar00<?php 
$tpl->render($header_outer);
$tpl->render($frames_description);
$tpl->render($frames_container);
vendor/filp/whoops/src/Whoops/Resources/views/header.html.php000060400000022311150750356250020376 0ustar00<div class="exception">
  <div class="exc-title">
    <?php foreach ($name as $i => $nameSection): ?>
      <?php if ($i == count($name) - 1): ?>
        <span class="exc-title-primary"><?php echo $tpl->escape($nameSection) ?></span>
      <?php else: ?>
        <?php echo $tpl->escape($nameSection) . ' \\' ?>
      <?php endif ?>
    <?php endforeach ?>
    <?php if ($code): ?>
      <span title="Exception Code">(<?php echo $tpl->escape($code) ?>)</span>
    <?php endif ?>
  </div>

  <div class="exc-message">
    <?php if (!empty($message)): ?>
      <span><?php echo $tpl->escape($message) ?></span>


      <?php if (count($previousMessages)): ?>
        <div class="exc-title prev-exc-title">
          <span class="exc-title-secondary">Previous exceptions</span>
        </div>

        <ul>
          <?php foreach ($previousMessages as $i => $previousMessage): ?>
            <li>
              <?php echo $tpl->escape($previousMessage) ?>
              <span class="prev-exc-code">(<?php echo $previousCodes[$i] ?>)</span>
            </li>
          <?php endforeach; ?>
        </ul>
      <?php endif ?>



    <?php else: ?>
      <span class="exc-message-empty-notice">No message</span>
    <?php endif ?>

    <ul class="search-for-help">
      <?php if (!empty($docref_url)): ?>
      <li>
        <a rel="noopener noreferrer" target="_blank" href="<?php echo $docref_url; ?>" title="Search for help in the PHP manual.">
          <!-- PHP icon by Icons Solid -->
          <!-- https://www.iconfinder.com/icons/322421/book_icon -->
          <!-- Free for commercial use -->
          <svg height="16px" id="Layer_1" style="enable-background:new 0 0 32 32;" version="1.1" viewBox="0 0 32 32" width="16px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g transform="translate(240 0)"><path d="M-211,4v26h-24c-1.104,0-2-0.895-2-2s0.896-2,2-2h22V0h-22c-2.209,0-4,1.791-4,4v24c0,2.209,1.791,4,4,4h26V4H-211z    M-235,8V2h20v22h-20V8z M-219,6h-12V4h12V6z M-223,10h-8V8h8V10z M-227,14h-4v-2h4V14z"/></g></svg>
        </a>
      </li>
      <?php endif ?>
      <li>
        <a rel="noopener noreferrer" target="_blank" href="https://google.com/search?q=<?php echo urlencode(implode('\\', $name).' '.$message) ?>" title="Search for help on Google.">
          <!-- Google icon by Alfredo H, from https://www.iconfinder.com/alfredoh -->
          <!-- Creative Commons (Attribution 3.0 Unported) -->
          <!-- http://creativecommons.org/licenses/by/3.0/ -->
          <svg class="google" height="16" viewBox="0 0 512 512" width="16" xmlns="http://www.w3.org/2000/svg">
            <path d="M457.732 216.625c2.628 14.04 4.063 28.743 4.063 44.098C461.795 380.688 381.48 466 260.205 466c-116.024 0-210-93.977-210-210s93.976-210 210-210c56.703 0 104.076 20.867 140.44 54.73l-59.205 59.197v-.135c-22.046-21.002-50-31.762-81.236-31.762-69.297 0-125.604 58.537-125.604 127.84 0 69.29 56.306 127.97 125.604 127.97 62.87 0 105.653-35.966 114.46-85.313h-114.46v-81.902h197.528z"/>
          </svg>
        </a>
      </li>
      <li>
        <a rel="noopener noreferrer" target="_blank" href="https://duckduckgo.com/?q=<?php echo urlencode(implode('\\', $name).' '.$message) ?>" title="Search for help on DuckDuckGo.">
          <!-- DuckDuckGo icon by IconBaandar Team, from https://www.iconfinder.com/iconbaandar -->
          <!-- Creative Commons (Attribution 3.0 Unported) -->
          <!-- http://creativecommons.org/licenses/by/3.0/ -->
          <svg class="duckduckgo" height="16" viewBox="150 150 1675 1675" width="16" xmlns="http://www.w3.org/2000/svg">
            <path d="M1792 1024c0 204.364-80.472 398.56-224.955 543.04-144.483 144.48-338.68 224.95-543.044 224.95-204.36 0-398.56-80.47-543.04-224.95-144.48-144.482-224.95-338.676-224.95-543.04 0-204.365 80.47-398.562 224.96-543.045C625.44 336.47 819.64 256 1024 256c204.367 0 398.565 80.47 543.05 224.954C1711.532 625.437 1792 819.634 1792 1024zm-270.206 497.787C1654.256 1389.327 1728 1211.36 1728 1024c0-187.363-73.74-365.332-206.203-497.796C1389.332 393.74 1211.363 320 1024 320s-365.33 73.742-497.795 206.205C393.742 658.67 320 836.637 320 1024c0 187.36 73.744 365.326 206.206 497.787C658.67 1654.25 836.638 1727.99 1024 1727.99c187.362 0 365.33-73.74 497.794-206.203z"/>
            <path d="M1438.64 1177.41c0-.03-.005-.017-.01.004l.01-.004z"/>
            <path d="M1499.8 976.878c.03-.156-.024-.048-.11.107l.11-.107z"/>
            <path d="M1105.19 991.642zm-68.013-376.128c-8.087-10.14-18.028-19.965-29.89-29.408-13.29-10.582-29-20.76-47.223-30.443-35.07-18.624-74.482-31.61-115.265-38.046-39.78-6.28-80.84-6.256-120.39.917l1.37 31.562c1.8.164 7.7 3.9 14.36 8.32-20.68 5.94-39.77 14.447-39.48 39.683l.2 17.48 17.3-1.73c29.38-2.95 60.17-2.06 90.32 2.61 9.21 1.42 18.36 3.2 27.38 5.32l-4.33 1.15c-20.45 5.58-38.93 12.52-54.25 20.61-46.28 24.32-75.51 60.85-90.14 108.37-14.14 45.95-14.27 101.81-2.72 166.51l.06.06c15.14 84.57 64.16 316.39 104.11 505.39 19.78 93.59 37.38 176.83 47.14 224.4 3.26 15.84 5.03 31.02 5.52 45.52.3 9.08.09 17.96-.58 26.62-.45 5.8-1.11 11.51-1.96 17.112l31.62 4.75c.71-4.705 1.3-9.494 1.76-14.373 48.964 10.517 99.78 16.05 151.88 16.05 60.68 0 119.61-7.505 175.91-21.64 3.04 6.08 6.08 12.19 9.11 18.32l28.62-14.128c-2.11-4.27-4.235-8.55-6.37-12.84-23.005-46.124-47.498-93.01-68.67-133.534-15.39-29.466-29.01-55.53-39.046-75.58-26.826-53.618-53.637-119.47-68.28-182.368-8.78-37.705-13.128-74.098-10.308-105.627-15.31-6.28-26.69-11.8-31.968-15.59l-.01.015c-14.22-10.2-31.11-28.12-41.82-49.717-8.618-17.376-13.4-37.246-10.147-57.84 3.17-19.84 27.334-46.714 57.843-67.46v-.063c26.554-18.05 58.75-32.506 86.32-34.31 7.835-.51 16.31-1.008 23.99-1.45 33.45-1.95 50.243-2.93 84.475-11.42 10.88-2.697 26.19-6.56 43.53-11.09 2.364-40.7-5.947-87.596-21.04-133.234-22.004-66.53-58.68-131.25-97.627-170.21-12.543-12.55-28.17-22.79-45.9-30.933-16.88-7.753-35.64-13.615-55.436-17.782zm-10.658 178.553s6.77-42.485 58.39-33.977c27.96 4.654 37.89 29.833 37.89 29.833s-25.31-14.46-44.95-14.198c-40.33.53-51.35 18.342-51.35 18.342zm-240.45-18.802c48.49-19.853 72.11 11.298 72.11 11.298s-35.21-15.928-69.46 5.59c-34.19 21.477-32.92 43.452-32.92 43.452s-18.17-40.5 30.26-60.34zm296.5 95.4c0-6.677 2.68-12.694 7.01-17.02 4.37-4.37 10.42-7.074 17.1-7.074 6.73 0 12.79 2.7 17.15 7.05 4.33 4.33 7.01 10.36 7.01 17.05 0 6.74-2.7 12.81-7.07 17.18-4.33 4.33-10.37 7.01-17.1 7.01-6.68 0-12.72-2.69-17.05-7.03-4.36-4.37-7.07-10.43-7.07-17.16zm-268.42 51.27c0-8.535 3.41-16.22 8.93-21.738 5.55-5.55 13.25-8.982 21.81-8.982 8.51 0 16.18 3.415 21.7 8.934 5.55 5.55 8.98 13.25 8.98 21.78 0 8.53-3.44 16.23-8.98 21.79-5.52 5.52-13.19 8.93-21.71 8.93-8.55 0-16.26-3.43-21.82-8.99-5.52-5.52-8.93-13.2-8.93-21.74z"/>
            <path d="M1102.48 986.34zm390.074-64.347c-28.917-11.34-74.89-12.68-93.32-3.778-11.5 5.567-35.743 13.483-63.565 21.707-25.75 7.606-53.9 15.296-78.15 21.702-17.69 4.67-33.3 8.66-44.4 11.435-34.92 8.76-52.05 9.77-86.17 11.78-7.84.46-16.48.97-24.48 1.5-28.12 1.86-60.97 16.77-88.05 35.4v.06c-31.12 21.4-55.77 49.12-59.01 69.59-3.32 21.24 1.56 41.74 10.35 59.67 10.92 22.28 28.15 40.77 42.66 51.29l.01-.02c5.38 3.9 16.98 9.6 32.6 16.08 26.03 10.79 63.2 23.76 101.25 34.23 43.6 11.99 89.11 21.05 121.69 20.41 34.26-.69 77.73-10.52 114.54-24.67 22.15-8.52 42.21-18.71 56.88-29.58 17.85-13.22 28.7-28.42 28.4-44.74-.07-3.89-.72-7.63-1.97-11.21l-.02.01c-11.6-33.06-50.37-23.59-105.53-10.12-46.86 11.445-107.94 26.365-169.01 20.434-32.56-3.167-54.45-10.61-67.88-20.133-5.96-4.224-9.93-8.67-12.18-13.11-1.96-3.865-2.68-7.84-2.33-11.714.39-4.42 2.17-9.048 5.1-13.57l-.05-.03c7.86-12.118 23.082-9.72 43.93-6.43 25.91 4.08 58.2 9.172 99.013-3.61 39.63-12.378 87.76-29.9 131.184-47.39 42.405-17.08 80.08-34.078 100.74-46.18 25.46-14.87 37.57-29.428 40.59-42.866 2.725-12.152-.89-22.48-8.903-31.07-5.87-6.29-14.254-11.31-23.956-15.115z"/>
          </svg>
        </a>
      </li>
      <li>
        <a rel="noopener noreferrer" target="_blank" href="https://stackoverflow.com/search?q=<?php echo urlencode(implode('\\', $name).' '.$message) ?>" title="Search for help on Stack Overflow.">
          <!-- Stack Overflow icon by Picons.me, from https://www.iconfinder.com/Picons -->
          <!-- Free for commercial use -->
          <svg class="stackoverflow" height="16" viewBox="-1163 1657.697 56.693 56.693" width="16" xmlns="http://www.w3.org/2000/svg">
            <path d="M-1126.04 1689.533l-16.577-9.778 2.088-3.54 16.578 9.778zM-1127.386 1694.635l-18.586-4.996 1.068-3.97 18.586 4.995zM-1127.824 1700.137l-19.165-1.767.378-4.093 19.165 1.767zM-1147.263 1701.293h19.247v4.11h-19.247z"/>
            <path d="M-1121.458 1710.947s0 .96-.032.96v.016h-30.796s-.96 0-.96-.016h-.032v-20.03h3.288v16.805h25.244v-16.804h3.288v19.07zM-1130.667 1667.04l10.844 15.903-3.396 2.316-10.843-15.903zM-1118.313 1663.044l3.29 18.963-4.05.703-3.29-18.963z"/>
          </svg>
        </a>
      </li>
    </ul>

    <span id="plain-exception"><?php echo $tpl->escape($plain_exception) ?></span>
    <button id="copy-button" class="rightButton clipboard" data-clipboard-text="<?php echo $tpl->escape($plain_exception) ?>" title="Copy exception details to clipboard">
      COPY
    </button>
    <button id="hide-error" class="rightButton" title="Hide error message" onclick="document.getElementsByClassName('Whoops')[0].style.display = 'none';">
      HIDE
    </button>
  </div>
</div>
vendor/filp/whoops/src/Whoops/Resources/views/panel_details.html.php000060400000000106150750356250021750 0ustar00<?php $tpl->render($frame_code) ?>
<?php $tpl->render($env_details) ?>vendor/filp/whoops/src/Whoops/Resources/views/header_outer.html.php000060400000000064150750356250021615 0ustar00<header>
  <?php $tpl->render($header) ?>
</header>
vendor/filp/whoops/src/Whoops/Resources/views/env_details.html.php000060400000003031150750356250021441 0ustar00<?php /* List data-table values, i.e: $_SERVER, $_GET, .... */ ?>
<div class="details">
  <h2 class="details-heading">Environment &amp; details:</h2>

  <div class="data-table-container" id="data-tables">
    <?php foreach ($tables as $label => $data): ?>
      <div class="data-table" id="sg-<?php echo $tpl->escape($tpl->slug($label)) ?>">
        <?php if (!empty($data)): ?>
            <label><?php echo $tpl->escape($label) ?></label>
            <table class="data-table">
              <thead>
                <tr>
                  <td class="data-table-k">Key</td>
                  <td class="data-table-v">Value</td>
                </tr>
              </thead>
            <?php foreach ($data as $k => $value): ?>
              <tr>
                <td><?php echo $tpl->escape($k) ?></td>
                <td><?php echo $tpl->dump($value) ?></td>
              </tr>
            <?php endforeach ?>
            </table>
        <?php else: ?>
            <label class="empty"><?php echo $tpl->escape($label) ?></label>
            <span class="empty">empty</span>
        <?php endif ?>
      </div>
    <?php endforeach ?>
  </div>

  <?php /* List registered handlers, in order of first to last registered */ ?>
  <div class="data-table-container" id="handlers">
    <label>Registered Handlers</label>
    <?php foreach ($handlers as $i => $h): ?>
      <div class="handler <?php echo ($h === $handler) ? 'active' : ''?>">
        <?php echo $i ?>. <?php echo $tpl->escape(get_class($h)) ?>
      </div>
    <?php endforeach ?>
  </div>

</div>
vendor/filp/whoops/src/Whoops/Resources/views/frame_code.html.php000060400000005336150750356250021242 0ustar00<?php /* Display a code block for all frames in the stack.
       * @todo: This should PROBABLY be done on-demand, lest
       * we get 200 frames to process. */ ?>
<div class="frame-code-container <?php echo (!$has_frames ? 'empty' : '') ?>">
  <?php foreach ($frames as $i => $frame): ?>
    <?php $line = $frame->getLine(); ?>
      <div class="frame-code <?php echo ($i == 0 ) ? 'active' : '' ?>" id="frame-code-<?php echo $i ?>">
        <div class="frame-file">
          <?php $filePath = $frame->getFile(); ?>
          <?php if ($filePath && $editorHref = $handler->getEditorHref($filePath, (int) $line)): ?>
            <a href="<?php echo $editorHref ?>" class="editor-link"<?php echo ($handler->getEditorAjax($filePath, (int) $line) ? ' data-ajax' : '') ?>>
              Open:
              <strong><?php echo $tpl->breakOnDelimiter('/', $tpl->escape($filePath ?: '<#unknown>')) ?></strong>
            </a>
          <?php else: ?>
            <strong><?php echo $tpl->breakOnDelimiter('/', $tpl->escape($filePath ?: '<#unknown>')) ?></strong>
          <?php endif ?>
        </div>
        <?php
          // Do nothing if there's no line to work off
          if ($line !== null):

          // the $line is 1-indexed, we nab -1 where needed to account for this
          $range = $frame->getFileLines($line - 20, 40);

          // getFileLines can return null if there is no source code
          if ($range):
            $range = array_map(function ($line) { return empty($line) ? ' ' : $line;}, $range);
            $start = key($range) + 1;
            $code  = join("\n", $range);
        ?>
            <pre id="frame-code-linenums-<?=$i?>" class="code-block linenums:<?php echo $start ?>"><?php echo $tpl->escape($code) ?></pre>

          <?php endif ?>
        <?php endif ?>

        <?php $frameArgs = $tpl->dumpArgs($frame); ?>
        <?php if ($frameArgs): ?>
          <div class="frame-file">
              Arguments
          </div>
          <div id="frame-code-args-<?=$i?>" class="code-block frame-args">
              <?php echo $frameArgs; ?>
          </div>
        <?php endif ?>

        <?php
          // Append comments for this frame
          $comments = $frame->getComments();
        ?>
        <div class="frame-comments <?php echo empty($comments) ? 'empty' : '' ?>">
          <?php foreach ($comments as $commentNo => $comment): ?>
            <?php extract($comment) ?>
            <div class="frame-comment" id="comment-<?php echo $i . '-' . $commentNo ?>">
              <span class="frame-comment-context"><?php echo $tpl->escape($context) ?></span>
              <?php echo $tpl->escapeButPreserveUris($comment) ?>
            </div>
          <?php endforeach ?>
        </div>

      </div>
  <?php endforeach ?>
</div>
vendor/filp/whoops/src/Whoops/Resources/views/panel_left_outer.html.php000060400000000171150750356250022475 0ustar00<div class="panel left-panel cf <?php echo (!$has_frames ? 'empty' : '') ?>">
  <?php $tpl->render($panel_left) ?>
</div>vendor/filp/whoops/src/Whoops/Resources/views/frames_description.html.php000060400000001224150750356250023026 0ustar00<div class="frames-description <?php echo $has_frames_tabs ? 'frames-description-application' : '' ?>">
  <?php if ($has_frames_tabs): ?>
    <a href="#" id="application-frames-tab" class="frames-tab <?php echo $active_frames_tab == 'application' ? 'frames-tab-active' : '' ?>">
        Application frames (<?php echo $frames->countIsApplication() ?>)
    </a>
    <a href="#" id="all-frames-tab" class="frames-tab <?php echo $active_frames_tab == 'all' ? 'frames-tab-active' : '' ?>">
      All frames (<?php echo count($frames) ?>)
    </a>
  <?php else: ?>
    <span>
        Stack frames (<?php echo count($frames) ?>)
    </span>
  <?php endif; ?>
</div>
vendor/filp/whoops/src/Whoops/Resources/views/frames_container.html.php000060400000000242150750356250022464 0ustar00<div class="frames-container <?php echo $active_frames_tab == 'application' ? 'frames-container-application' : '' ?>">
  <?php $tpl->render($frame_list) ?>
</div>vendor/filp/whoops/src/Whoops/Resources/css/whoops.base.css000060400000027011150750356250020071 0ustar00body {
  font: 12px "Helvetica Neue", helvetica, arial, sans-serif;
  color: #131313;
  background: #eeeeee;
  padding:0;
  margin: 0;
  max-height: 100%;

  text-rendering: optimizeLegibility;
}
  a {
    text-decoration: none;
  }

.Whoops.container {
    position: relative;
    z-index: 9999999999;
}

.panel {
    overflow-y: scroll;
    height: 100%;
    position: fixed;
    margin: 0;
    left: 0;
    top: 0;
}

.branding {
  position: absolute;
  top: 10px;
  right: 20px;
  color: #777777;
  font-size: 10px;
    z-index: 100;
}
  .branding a {
    color: #e95353;
  }

header {
  color: white;
  box-sizing: border-box;
  background-color: #2a2a2a;
  padding: 35px 40px;
  max-height: 180px;
  overflow: hidden;
  transition: 0.5s;
}

  header.header-expand {
    max-height: 1000px;
  }

  .exc-title {
    margin: 0;
    color: #bebebe;
    font-size: 14px;
  }
    .exc-title-primary, .exc-title-secondary {
      color: #e95353;
    }

    .exc-message {
      font-size: 20px;
      word-wrap: break-word;
      margin: 4px 0 0 0;
      color: white;
    }
      .exc-message span {
        display: block;
      }
      .exc-message-empty-notice {
        color: #a29d9d;
        font-weight: 300;
      }

.prev-exc-title {
  margin: 10px 0;
}

.prev-exc-title + ul {
  margin: 0;
  padding: 0 0 0 20px;
  line-height: 12px;
}

.prev-exc-title + ul li {
  font: 12px "Helvetica Neue", helvetica, arial, sans-serif;
}

.prev-exc-title + ul li .prev-exc-code {
  display: inline-block;
  color: #bebebe;
}

.details-container {
  left: 30%;
  width: 70%;
  background: #fafafa;
}
  .details {
    padding: 5px;
  }

    .details-heading {
      color: #4288CE;
      font-weight: 300;
      padding-bottom: 10px;
      margin-bottom: 10px;
      border-bottom: 1px solid rgba(0, 0, 0, .1);
    }

    .details pre.sf-dump {
      white-space: pre;
      word-wrap: inherit;
    }

    .details pre.sf-dump,
    .details pre.sf-dump .sf-dump-num,
    .details pre.sf-dump .sf-dump-const,
    .details pre.sf-dump .sf-dump-str,
    .details pre.sf-dump .sf-dump-note,
    .details pre.sf-dump .sf-dump-ref,
    .details pre.sf-dump .sf-dump-public,
    .details pre.sf-dump .sf-dump-protected,
    .details pre.sf-dump .sf-dump-private,
    .details pre.sf-dump .sf-dump-meta,
    .details pre.sf-dump .sf-dump-key,
    .details pre.sf-dump .sf-dump-index {
      color: #463C54;
    }

.left-panel {
  width: 30%;
  background: #ded8d8;
}

  .frames-description {
    background: rgba(0, 0, 0, .05);
    padding: 8px 15px;
    color: #a29d9d;
    font-size: 11px;
  }

  .frames-description.frames-description-application {
    text-align: center;
    font-size: 12px;
  }
  .frames-container.frames-container-application .frame:not(.frame-application) {
    display: none;
  }

  .frames-tab {
    color: #a29d9d;
    display: inline-block;
    padding: 4px 8px;
    margin: 0 2px;
    border-radius: 3px;
  }

  .frames-tab.frames-tab-active {
    background-color: #2a2a2a;
    color: #bebebe;
  }

  .frame {
    padding: 14px;
    cursor: pointer;
    transition: all 0.1s ease;
    background: #eeeeee;
  }
    .frame:not(:last-child) {
      border-bottom: 1px solid rgba(0, 0, 0, .05);
    }

    .frame.active {
      box-shadow: inset -5px 0 0 0 #4288CE;
      color: #4288CE;
    }

    .frame:not(.active):hover {
      background: #BEE9EA;
    }

    .frame-method-info {
      margin-bottom: 10px;
    }

    .frame-class, .frame-function, .frame-index {
      font-size: 14px;
    }

    .frame-index {
      float: left;
    }

    .frame-method-info {
      margin-left: 24px;
    }

    .frame-index {
      font-size: 11px;
      color: #a29d9d;
      background-color: rgba(0, 0, 0, .05);
      height: 18px;
      width: 18px;
      line-height: 18px;
      border-radius: 5px;
      padding: 0 1px 0 1px;
      text-align: center;
      display: inline-block;
    }

    .frame-application .frame-index {
      background-color: #2a2a2a;
      color: #bebebe;
    }

    .frame-file {
      font-family: "Inconsolata", "Fira Mono", "Source Code Pro", Monaco, Consolas, "Lucida Console", monospace;
      color: #a29d9d;
    }

      .frame-file .editor-link {
        color: #a29d9d;
      }

    .frame-line {
      font-weight: bold;
    }

    .frame-line:before {
      content: ":";
    }

    .frame-code {
      padding: 5px;
      background: #303030;
      display: none;
    }

    .frame-code.active {
      display: block;
    }

    .frame-code .frame-file {
      color: #a29d9d;
      padding: 12px 6px;

      border-bottom: none;
    }

    .code-block {
      padding: 10px;
      margin: 0;
      border-radius: 6px;
      box-shadow: 0 3px 0 rgba(0, 0, 0, .05),
                  0 10px 30px rgba(0, 0, 0, .05),
                  inset 0 0 1px 0 rgba(255, 255, 255, .07);
      -moz-tab-size: 4;
      -o-tab-size: 4;
      tab-size: 4;
    }

    .linenums {
      margin: 0;
      margin-left: 10px;
    }

    .frame-comments {
      border-top: none;
      margin-top: 15px;

      font-size: 12px;
    }

    .frame-comments.empty {
    }

    .frame-comments.empty:before {
      content: "No comments for this stack frame.";
      font-weight: 300;
      color: #a29d9d;
    }

    .frame-comment {
      padding: 10px;
      color: #e3e3e3;
      border-radius: 6px;
      background-color: rgba(255, 255, 255, .05);
    }
      .frame-comment a {
        font-weight: bold;
        text-decoration: none;
      }
        .frame-comment a:hover {
          color: #4bb1b1;
        }

    .frame-comment:not(:last-child) {
      border-bottom: 1px dotted rgba(0, 0, 0, .3);
    }

    .frame-comment-context {
      font-size: 10px;
      color: white;
    }

.delimiter {
  display: inline-block;
}

.data-table-container label {
  font-size: 16px;
  color: #303030;
  font-weight: bold;
  margin: 10px 0;

  display: block;

  margin-bottom: 5px;
  padding-bottom: 5px;
}
  .data-table {
    width: 100%;
    margin-bottom: 10px;
  }

  .data-table tbody {
    font: 13px "Inconsolata", "Fira Mono", "Source Code Pro", Monaco, Consolas, "Lucida Console", monospace;
  }

  .data-table thead {
    display: none;
  }

  .data-table tr {
    padding: 5px 0;
  }

  .data-table td:first-child {
    width: 20%;
    min-width: 130px;
    overflow: hidden;
    font-weight: bold;
    color: #463C54;
    padding-right: 5px;

  }

  .data-table td:last-child {
    width: 80%;
    -ms-word-break: break-all;
    word-break: break-all;
    word-break: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
  }

  .data-table span.empty {
    color: rgba(0, 0, 0, .3);
    font-weight: 300;
  }
  .data-table label.empty {
    display: inline;
  }

.handler {
  padding: 4px 0;
  font: 14px "Inconsolata", "Fira Mono", "Source Code Pro", Monaco, Consolas, "Lucida Console", monospace;
}

/* prettify code style
Uses the Doxy theme as a base */
pre .str, code .str { color: #BCD42A; }  /* string  */
pre .kwd, code .kwd { color: #4bb1b1;  font-weight: bold; }  /* keyword*/
pre .com, code .com { color: #888; font-weight: bold; } /* comment */
pre .typ, code .typ { color: #ef7c61; }  /* type  */
pre .lit, code .lit { color: #BCD42A; }  /* literal */
pre .pun, code .pun { color: #fff; font-weight: bold;  } /* punctuation  */
pre .pln, code .pln { color: #e9e4e5; }  /* plaintext  */
pre .tag, code .tag { color: #4bb1b1; }  /* html/xml tag  */
pre .htm, code .htm { color: #dda0dd; }  /* html tag */
pre .xsl, code .xsl { color: #d0a0d0; }  /* xslt tag */
pre .atn, code .atn { color: #ef7c61; font-weight: normal;} /* html/xml attribute name */
pre .atv, code .atv { color: #bcd42a; }  /* html/xml attribute value  */
pre .dec, code .dec { color: #606; }  /* decimal  */
pre.code-block, code.code-block, .frame-args.code-block, .frame-args.code-block samp {
  font-family: "Inconsolata", "Fira Mono", "Source Code Pro", Monaco, Consolas, "Lucida Console", monospace;
  background: #333;
  color: #e9e4e5;
}
  pre.code-block {
    white-space: pre-wrap;
  }

  pre.code-block a, code.code-block a {
    text-decoration:none;
  }

  .linenums li {
    color: #A5A5A5;
  }

  .linenums li.current{
    background: rgba(255, 100, 100, .07);
  }
    .linenums li.current.active {
      background: rgba(255, 100, 100, .17);
    }

pre:not(.prettyprinted) {
  padding-left: 60px;
}

#plain-exception {
  display: none;
}

.rightButton {
  cursor: pointer;
  border: 0;
  opacity: .8;
  background: none;

  color: rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.1);

  border-radius: 3px;

  outline: none !important;
}

  .rightButton:hover {
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.3);
    color: rgba(255, 255, 255, 0.3);
  }

/* inspired by githubs kbd styles */
kbd {
  -moz-border-bottom-colors: none;
  -moz-border-left-colors: none;
  -moz-border-right-colors: none;
  -moz-border-top-colors: none;
  background-color: #fcfcfc;
  border-color: #ccc #ccc #bbb;
  border-image: none;
  border-style: solid;
  border-width: 1px;
  color: #555;
  display: inline-block;
  font-size: 11px;
  line-height: 10px;
  padding: 3px 5px;
  vertical-align: middle;
}


/* == Media queries */

/* Expand the spacing in the details section */
@media (min-width: 1000px) {
  .details, .frame-code {
    padding: 20px 40px;
  }

  .details-container {
    left: 32%;
    width: 68%;
  }

  .frames-container {
    margin: 5px;
  }

  .left-panel {
    width: 32%;
  }
}

/* Stack panels */
@media (max-width: 600px) {
  .panel {
    position: static;
    width: 100%;
  }
}

/* Stack details tables */
@media (max-width: 400px) {
  .data-table,
  .data-table tbody,
  .data-table tbody tr,
  .data-table tbody td {
    display: block;
    width: 100%;
  }

    .data-table tbody tr:first-child {
      padding-top: 0;
    }

      .data-table tbody td:first-child,
      .data-table tbody td:last-child {
        padding-left: 0;
        padding-right: 0;
      }

      .data-table tbody td:last-child {
        padding-top: 3px;
      }
}

.tooltipped {
  position: relative
}
.tooltipped:after {
  position: absolute;
  z-index: 1000000;
  display: none;
  padding: 5px 8px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: break-word;
  white-space: pre;
  pointer-events: none;
  content: attr(aria-label);
  background: rgba(0, 0, 0, 0.8);
  border-radius: 3px;
  -webkit-font-smoothing: subpixel-antialiased
}
.tooltipped:before {
  position: absolute;
  z-index: 1000001;
  display: none;
  width: 0;
  height: 0;
  color: rgba(0, 0, 0, 0.8);
  pointer-events: none;
  content: "";
  border: 5px solid transparent
}
.tooltipped:hover:before,
.tooltipped:hover:after,
.tooltipped:active:before,
.tooltipped:active:after,
.tooltipped:focus:before,
.tooltipped:focus:after {
  display: inline-block;
  text-decoration: none
}
.tooltipped-s:after {
  top: 100%;
  right: 50%;
  margin-top: 5px
}
.tooltipped-s:before {
  top: auto;
  right: 50%;
  bottom: -5px;
  margin-right: -5px;
  border-bottom-color: rgba(0, 0, 0, 0.8)
}

pre.sf-dump {
  padding: 0px !important;
  margin: 0px !important;
}

.search-for-help {
  width: 85%;
  padding: 0;
  margin: 10px 0;
  list-style-type: none;
  display: inline-block;
}
  .search-for-help li {
    display: inline-block;
    margin-right: 5px;
  }
  .search-for-help li:last-child {
    margin-right: 0;
  }
    .search-for-help li a {

    }
      .search-for-help li a i {
        width: 16px;
        height: 16px;
        overflow: hidden;
        display: block;
      }
      .search-for-help li a svg {
        fill: #fff;
      }
      .search-for-help li a svg path {
        background-size: contain;
      }
vendor/filp/whoops/src/Whoops/RunInterface.php000060400000006507150750356250015472 0ustar00<?php
/**
 * Whoops - php errors for cool kids
 * @author Filipe Dobreira <http://github.com/filp>
 */

namespace Whoops;

use InvalidArgumentException;
use Whoops\Exception\ErrorException;
use Whoops\Handler\HandlerInterface;

interface RunInterface
{
    const EXCEPTION_HANDLER = "handleException";
    const ERROR_HANDLER     = "handleError";
    const SHUTDOWN_HANDLER  = "handleShutdown";

    /**
     * Pushes a handler to the end of the stack
     *
     * @throws InvalidArgumentException  If argument is not callable or instance of HandlerInterface
     * @param  Callable|HandlerInterface $handler
     * @return Run
     */
    public function pushHandler($handler);

    /**
     * Removes the last handler in the stack and returns it.
     * Returns null if there"s nothing else to pop.
     *
     * @return null|HandlerInterface
     */
    public function popHandler();

    /**
     * Returns an array with all handlers, in the
     * order they were added to the stack.
     *
     * @return array
     */
    public function getHandlers();

    /**
     * Clears all handlers in the handlerStack, including
     * the default PrettyPage handler.
     *
     * @return Run
     */
    public function clearHandlers();

    /**
     * Registers this instance as an error handler.
     *
     * @return Run
     */
    public function register();

    /**
     * Unregisters all handlers registered by this Whoops\Run instance
     *
     * @return Run
     */
    public function unregister();

    /**
     * Should Whoops allow Handlers to force the script to quit?
     *
     * @param  bool|int $exit
     * @return bool
     */
    public function allowQuit($exit = null);

    /**
     * Silence particular errors in particular files
     *
     * @param  array|string $patterns List or a single regex pattern to match
     * @param  int          $levels   Defaults to E_STRICT | E_DEPRECATED
     * @return \Whoops\Run
     */
    public function silenceErrorsInPaths($patterns, $levels = 10240);

    /**
     * Should Whoops send HTTP error code to the browser if possible?
     * Whoops will by default send HTTP code 500, but you may wish to
     * use 502, 503, or another 5xx family code.
     *
     * @param bool|int $code
     * @return int|false
     */
    public function sendHttpCode($code = null);

    /**
     * Should Whoops push output directly to the client?
     * If this is false, output will be returned by handleException
     *
     * @param  bool|int $send
     * @return bool
     */
    public function writeToOutput($send = null);

    /**
     * Handles an exception, ultimately generating a Whoops error
     * page.
     *
     * @param  \Throwable $exception
     * @return string     Output generated by handlers
     */
    public function handleException($exception);

    /**
     * Converts generic PHP errors to \ErrorException
     * instances, before passing them off to be handled.
     *
     * This method MUST be compatible with set_error_handler.
     *
     * @param int    $level
     * @param string $message
     * @param string $file
     * @param int    $line
     *
     * @return bool
     * @throws ErrorException
     */
    public function handleError($level, $message, $file = null, $line = null);

    /**
     * Special case to deal with Fatal errors and the like.
     */
    public function handleShutdown();
}
vendor/filp/whoops/src/Whoops/Run.php000060400000033000150750356250013635 0ustar00<?php
/**
 * Whoops - php errors for cool kids
 * @author Filipe Dobreira <http://github.com/filp>
 */

namespace Whoops;

use InvalidArgumentException;
use Whoops\Exception\ErrorException;
use Whoops\Exception\Inspector;
use Whoops\Handler\CallbackHandler;
use Whoops\Handler\Handler;
use Whoops\Handler\HandlerInterface;
use Whoops\Util\Misc;
use Whoops\Util\SystemFacade;

final class Run implements RunInterface
{
    private $isRegistered;
    private $allowQuit       = true;
    private $sendOutput      = true;

    /**
     * @var integer|false
     */
    private $sendHttpCode    = 500;

    /**
     * @var HandlerInterface[]
     */
    private $handlerQueue = [];

    private $silencedPatterns = [];

    private $system;

    public function __construct(SystemFacade $system = null)
    {
        $this->system = $system ?: new SystemFacade;
    }

    /**
     * Prepends a handler to the start of the queue
     *
     * @throws InvalidArgumentException  If argument is not callable or instance of HandlerInterface
     * @param  Callable|HandlerInterface $handler
     * @return Run
     * @deprecated use appendHandler and prependHandler instead
     */
    public function pushHandler($handler)
    {
        return $this->prependHandler($handler);
    }

    /**
     * Appends a handler to the end of the queue
     *
     * @throws InvalidArgumentException  If argument is not callable or instance of HandlerInterface
     * @param  Callable|HandlerInterface $handler
     * @return Run
     */
    public function appendHandler($handler)
    {
        array_push($this->handlerQueue, $this->resolveHandler($handler));
        return $this;
    }

    /**
     * Prepends a handler to the start of the queue
     *
     * @throws InvalidArgumentException  If argument is not callable or instance of HandlerInterface
     * @param  Callable|HandlerInterface $handler
     * @return Run
     */
    public function prependHandler($handler)
    {
        array_unshift($this->handlerQueue, $this->resolveHandler($handler));
        return $this;
    }

    /**
     * Create a CallbackHandler from callable and throw if handler is invalid
     *
     * @throws InvalidArgumentException  If argument is not callable or instance of HandlerInterface
     * @param Callable|HandlerInterface $handler
     * @return HandlerInterface
     */
    private function resolveHandler($handler)
    {
        if (is_callable($handler)) {
            $handler = new CallbackHandler($handler);
        }

        if (!$handler instanceof HandlerInterface) {
            throw new InvalidArgumentException(
                "Argument to " . __METHOD__ . " must be a callable, or instance of "
                . "Whoops\\Handler\\HandlerInterface"
            );
        }

        return $handler;
    }

    /**
     * Removes the last handler in the queue and returns it.
     * Returns null if there"s nothing else to pop.
     * @return null|HandlerInterface
     */
    public function popHandler()
    {
        return array_pop($this->handlerQueue);
    }

    /**
     * Removes the first handler in the queue and returns it.
     * Returns null if there"s nothing else to shift.
     * @return null|HandlerInterface
     */
    public function shiftHandler()
    {
        return array_shift($this->handlerQueue);
    }

    /**
     * Returns an array with all handlers, in the
     * order they were added to the queue.
     * @return array
     */
    public function getHandlers()
    {
        return $this->handlerQueue;
    }

    /**
     * Clears all handlers in the handlerQueue, including
     * the default PrettyPage handler.
     * @return Run
     */
    public function clearHandlers()
    {
        $this->handlerQueue = [];
        return $this;
    }

    /**
     * @param  \Throwable $exception
     * @return Inspector
     */
    private function getInspector($exception)
    {
        return new Inspector($exception);
    }

    /**
     * Registers this instance as an error handler.
     * @return Run
     */
    public function register()
    {
        if (!$this->isRegistered) {
            // Workaround PHP bug 42098
            // https://bugs.php.net/bug.php?id=42098
            class_exists("\\Whoops\\Exception\\ErrorException");
            class_exists("\\Whoops\\Exception\\FrameCollection");
            class_exists("\\Whoops\\Exception\\Frame");
            class_exists("\\Whoops\\Exception\\Inspector");

            $this->system->setErrorHandler([$this, self::ERROR_HANDLER]);
            $this->system->setExceptionHandler([$this, self::EXCEPTION_HANDLER]);
            $this->system->registerShutdownFunction([$this, self::SHUTDOWN_HANDLER]);

            $this->isRegistered = true;
        }

        return $this;
    }

    /**
     * Unregisters all handlers registered by this Whoops\Run instance
     * @return Run
     */
    public function unregister()
    {
        if ($this->isRegistered) {
            $this->system->restoreExceptionHandler();
            $this->system->restoreErrorHandler();

            $this->isRegistered = false;
        }

        return $this;
    }

    /**
     * Should Whoops allow Handlers to force the script to quit?
     * @param  bool|int $exit
     * @return bool
     */
    public function allowQuit($exit = null)
    {
        if (func_num_args() == 0) {
            return $this->allowQuit;
        }

        return $this->allowQuit = (bool) $exit;
    }

    /**
     * Silence particular errors in particular files
     * @param  array|string $patterns List or a single regex pattern to match
     * @param  int          $levels   Defaults to E_STRICT | E_DEPRECATED
     * @return \Whoops\Run
     */
    public function silenceErrorsInPaths($patterns, $levels = 10240)
    {
        $this->silencedPatterns = array_merge(
            $this->silencedPatterns,
            array_map(
                function ($pattern) use ($levels) {
                    return [
                        "pattern" => $pattern,
                        "levels" => $levels,
                    ];
                },
                (array) $patterns
            )
        );
        return $this;
    }


    /**
     * Returns an array with silent errors in path configuration
     *
     * @return array
     */
    public function getSilenceErrorsInPaths()
    {
        return $this->silencedPatterns;
    }

    /*
     * Should Whoops send HTTP error code to the browser if possible?
     * Whoops will by default send HTTP code 500, but you may wish to
     * use 502, 503, or another 5xx family code.
     *
     * @param bool|int $code
     * @return int|false
     */
    public function sendHttpCode($code = null)
    {
        if (func_num_args() == 0) {
            return $this->sendHttpCode;
        }

        if (!$code) {
            return $this->sendHttpCode = false;
        }

        if ($code === true) {
            $code = 500;
        }

        if ($code < 400 || 600 <= $code) {
            throw new InvalidArgumentException(
                 "Invalid status code '$code', must be 4xx or 5xx"
            );
        }

        return $this->sendHttpCode = $code;
    }

    /**
     * Should Whoops push output directly to the client?
     * If this is false, output will be returned by handleException
     * @param  bool|int $send
     * @return bool
     */
    public function writeToOutput($send = null)
    {
        if (func_num_args() == 0) {
            return $this->sendOutput;
        }

        return $this->sendOutput = (bool) $send;
    }

    /**
     * Handles an exception, ultimately generating a Whoops error
     * page.
     *
     * @param  \Throwable $exception
     * @return string     Output generated by handlers
     */
    public function handleException($exception)
    {
        // Walk the registered handlers in the reverse order
        // they were registered, and pass off the exception
        $inspector = $this->getInspector($exception);

        // Capture output produced while handling the exception,
        // we might want to send it straight away to the client,
        // or return it silently.
        $this->system->startOutputBuffering();
        
        // Just in case there are no handlers:
        $handlerResponse = null;
        $handlerContentType = null;

        try {
            foreach ($this->handlerQueue as $handler) {
                $handler->setRun($this);
                $handler->setInspector($inspector);
                $handler->setException($exception);

                // The HandlerInterface does not require an Exception passed to handle()
                // and neither of our bundled handlers use it.
                // However, 3rd party handlers may have already relied on this parameter,
                // and removing it would be possibly breaking for users.
                $handlerResponse = $handler->handle($exception);

                // Collect the content type for possible sending in the headers.
                $handlerContentType = method_exists($handler, 'contentType') ? $handler->contentType() : null;

                if (in_array($handlerResponse, [Handler::LAST_HANDLER, Handler::QUIT])) {
                    // The Handler has handled the exception in some way, and
                    // wishes to quit execution (Handler::QUIT), or skip any
                    // other handlers (Handler::LAST_HANDLER). If $this->allowQuit
                    // is false, Handler::QUIT behaves like Handler::LAST_HANDLER
                    break;
                }
            }

            $willQuit = $handlerResponse == Handler::QUIT && $this->allowQuit();
        } finally {
            $output = $this->system->cleanOutputBuffer();
        }

        // If we're allowed to, send output generated by handlers directly
        // to the output, otherwise, and if the script doesn't quit, return
        // it so that it may be used by the caller
        if ($this->writeToOutput()) {
            // @todo Might be able to clean this up a bit better
            if ($willQuit) {
                // Cleanup all other output buffers before sending our output:
                while ($this->system->getOutputBufferLevel() > 0) {
                    $this->system->endOutputBuffering();
                }

                // Send any headers if needed:
                if (Misc::canSendHeaders() && $handlerContentType) {
                    header("Content-Type: {$handlerContentType}");
                }
            }

            $this->writeToOutputNow($output);
        }

        if ($willQuit) {
            // HHVM fix for https://github.com/facebook/hhvm/issues/4055
            $this->system->flushOutputBuffer();

            $this->system->stopExecution(1);
        }

        return $output;
    }

    /**
     * Converts generic PHP errors to \ErrorException
     * instances, before passing them off to be handled.
     *
     * This method MUST be compatible with set_error_handler.
     *
     * @param int    $level
     * @param string $message
     * @param string $file
     * @param int    $line
     *
     * @return bool
     * @throws ErrorException
     */
    public function handleError($level, $message, $file = null, $line = null)
    {
        if ($level & $this->system->getErrorReportingLevel()) {
            foreach ($this->silencedPatterns as $entry) {
                $pathMatches = (bool) preg_match($entry["pattern"], $file);
                $levelMatches = $level & $entry["levels"];
                if ($pathMatches && $levelMatches) {
                    // Ignore the error, abort handling
                    // See https://github.com/filp/whoops/issues/418
                    return true;
                }
            }

            // XXX we pass $level for the "code" param only for BC reasons.
            // see https://github.com/filp/whoops/issues/267
            $exception = new ErrorException($message, /*code*/ $level, /*severity*/ $level, $file, $line);
            if ($this->canThrowExceptions) {
                throw $exception;
            } else {
                $this->handleException($exception);
            }
            // Do not propagate errors which were already handled by Whoops.
            return true;
        }

        // Propagate error to the next handler, allows error_get_last() to
        // work on silenced errors.
        return false;
    }

    /**
     * Special case to deal with Fatal errors and the like.
     */
    public function handleShutdown()
    {
        // If we reached this step, we are in shutdown handler.
        // An exception thrown in a shutdown handler will not be propagated
        // to the exception handler. Pass that information along.
        $this->canThrowExceptions = false;

        $error = $this->system->getLastError();
        if ($error && Misc::isLevelFatal($error['type'])) {
            // If there was a fatal error,
            // it was not handled in handleError yet.
            $this->allowQuit = false;
            $this->handleError(
                $error['type'],
                $error['message'],
                $error['file'],
                $error['line']
            );
        }
    }

    /**
     * In certain scenarios, like in shutdown handler, we can not throw exceptions
     * @var bool
     */
    private $canThrowExceptions = true;

    /**
     * Echo something to the browser
     * @param  string $output
     * @return $this
     */
    private function writeToOutputNow($output)
    {
        if ($this->sendHttpCode() && \Whoops\Util\Misc::canSendHeaders()) {
            $this->system->setHttpResponseCode(
                $this->sendHttpCode()
            );
        }

        echo $output;

        return $this;
    }
}
vendor/filp/whoops/src/Whoops/Handler/HandlerInterface.php000060400000001317150750356250017652 0ustar00<?php
/**
 * Whoops - php errors for cool kids
 * @author Filipe Dobreira <http://github.com/filp>
 */

namespace Whoops\Handler;

use Whoops\Exception\Inspector;
use Whoops\RunInterface;

interface HandlerInterface
{
    /**
     * @return int|null A handler may return nothing, or a Handler::HANDLE_* constant
     */
    public function handle();

    /**
     * @param  RunInterface  $run
     * @return void
     */
    public function setRun(RunInterface $run);

    /**
     * @param  \Throwable $exception
     * @return void
     */
    public function setException($exception);

    /**
     * @param  Inspector $inspector
     * @return void
     */
    public function setInspector(Inspector $inspector);
}
vendor/filp/whoops/src/Whoops/Handler/XmlResponseHandler.php000060400000005156150750356250020236 0ustar00<?php
/**
 * Whoops - php errors for cool kids
 * @author Filipe Dobreira <http://github.com/filp>
 */

namespace Whoops\Handler;

use SimpleXMLElement;
use Whoops\Exception\Formatter;

/**
 * Catches an exception and converts it to an XML
 * response. Additionally can also return exception
 * frames for consumption by an API.
 */
class XmlResponseHandler extends Handler
{
    /**
     * @var bool
     */
    private $returnFrames = false;

    /**
     * @param  bool|null  $returnFrames
     * @return bool|$this
     */
    public function addTraceToOutput($returnFrames = null)
    {
        if (func_num_args() == 0) {
            return $this->returnFrames;
        }

        $this->returnFrames = (bool) $returnFrames;
        return $this;
    }

    /**
     * @return int
     */
    public function handle()
    {
        $response = [
            'error' => Formatter::formatExceptionAsDataArray(
                $this->getInspector(),
                $this->addTraceToOutput()
            ),
        ];

        echo self::toXml($response);

        return Handler::QUIT;
    }

    /**
     * @return string
     */
    public function contentType()
    {
        return 'application/xml';
    }

    /**
     * @param  SimpleXMLElement  $node Node to append data to, will be modified in place
     * @param  array|\Traversable $data
     * @return SimpleXMLElement  The modified node, for chaining
     */
    private static function addDataToNode(\SimpleXMLElement $node, $data)
    {
        assert(is_array($data) || $data instanceof Traversable);

        foreach ($data as $key => $value) {
            if (is_numeric($key)) {
                // Convert the key to a valid string
                $key = "unknownNode_". (string) $key;
            }

            // Delete any char not allowed in XML element names
            $key = preg_replace('/[^a-z0-9\-\_\.\:]/i', '', $key);

            if (is_array($value)) {
                $child = $node->addChild($key);
                self::addDataToNode($child, $value);
            } else {
                $value = str_replace('&', '&amp;', print_r($value, true));
                $node->addChild($key, $value);
            }
        }

        return $node;
    }

    /**
     * The main function for converting to an XML document.
     *
     * @param  array|\Traversable $data
     * @return string            XML
     */
    private static function toXml($data)
    {
        assert(is_array($data) || $data instanceof Traversable);

        $node = simplexml_load_string("<?xml version='1.0' encoding='utf-8'?><root />");

        return self::addDataToNode($node, $data)->asXML();
    }
}
vendor/filp/whoops/src/Whoops/Handler/PrettyPageHandler.php000060400000056537150750356250020054 0ustar00<?php
/**
 * Whoops - php errors for cool kids
 * @author Filipe Dobreira <http://github.com/filp>
 */

namespace Whoops\Handler;

use InvalidArgumentException;
use RuntimeException;
use Symfony\Component\VarDumper\Cloner\AbstractCloner;
use Symfony\Component\VarDumper\Cloner\VarCloner;
use UnexpectedValueException;
use Whoops\Exception\Formatter;
use Whoops\Util\Misc;
use Whoops\Util\TemplateHelper;

class PrettyPageHandler extends Handler
{
    const EDITOR_SUBLIME = "sublime";
    const EDITOR_TEXTMATE = "textmate";
    const EDITOR_EMACS = "emacs";
    const EDITOR_MACVIM = "macvim";
    const EDITOR_PHPSTORM = "phpstorm";
    const EDITOR_IDEA = "idea";
    const EDITOR_VSCODE = "vscode";
    const EDITOR_ATOM = "atom";
    const EDITOR_ESPRESSO = "espresso";
    const EDITOR_XDEBUG = "xdebug";

    /**
     * Search paths to be scanned for resources, in the reverse
     * order they're declared.
     *
     * @var array
     */
    private $searchPaths = [];

    /**
     * Fast lookup cache for known resource locations.
     *
     * @var array
     */
    private $resourceCache = [];

    /**
     * The name of the custom css file.
     *
     * @var string
     */
    private $customCss = null;

    /**
     * @var array[]
     */
    private $extraTables = [];

    /**
     * @var bool
     */
    private $handleUnconditionally = false;

    /**
     * @var string
     */
    private $pageTitle = "Whoops! There was an error.";

    /**
     * @var array[]
     */
    private $applicationPaths;

    /**
     * @var array[]
     */
    private $blacklist = [
        '_GET' => [],
        '_POST' => [],
        '_FILES' => [],
        '_COOKIE' => [],
        '_SESSION' => [],
        '_SERVER' => [],
        '_ENV' => [],
    ];

    /**
     * A string identifier for a known IDE/text editor, or a closure
     * that resolves a string that can be used to open a given file
     * in an editor. If the string contains the special substrings
     * %file or %line, they will be replaced with the correct data.
     *
     * @example
     *  "txmt://open?url=%file&line=%line"
     * @var mixed $editor
     */
    protected $editor;

    /**
     * A list of known editor strings
     * @var array
     */
    protected $editors = [
        "sublime"  => "subl://open?url=file://%file&line=%line",
        "textmate" => "txmt://open?url=file://%file&line=%line",
        "emacs"    => "emacs://open?url=file://%file&line=%line",
        "macvim"   => "mvim://open/?url=file://%file&line=%line",
        "phpstorm" => "phpstorm://open?file=%file&line=%line",
        "idea"     => "idea://open?file=%file&line=%line",
        "vscode"   => "vscode://file/%file:%line",
        "atom"     => "atom://core/open/file?filename=%file&line=%line",
        "espresso" => "x-espresso://open?filepath=%file&lines=%line",
    ];

    /**
     * @var TemplateHelper
     */
    private $templateHelper;

    /**
     * Constructor.
     */
    public function __construct()
    {
        if (ini_get('xdebug.file_link_format') || extension_loaded('xdebug')) {
            // Register editor using xdebug's file_link_format option.
            $this->editors['xdebug'] = function ($file, $line) {
                return str_replace(['%f', '%l'], [$file, $line], ini_get('xdebug.file_link_format'));
            };

            // If xdebug is available, use it as default editor.
            $this->setEditor('xdebug');
        }

        // Add the default, local resource search path:
        $this->searchPaths[] = __DIR__ . "/../Resources";

        // blacklist php provided auth based values
        $this->blacklist('_SERVER', 'PHP_AUTH_PW');

        $this->templateHelper = new TemplateHelper();

        if (class_exists('Symfony\Component\VarDumper\Cloner\VarCloner')) {
            $cloner = new VarCloner();
            // Only dump object internals if a custom caster exists for performance reasons
            // https://github.com/filp/whoops/pull/404
            $cloner->addCasters(['*' => function ($obj, $a, $stub, $isNested, $filter = 0) {
                $class = $stub->class;
                $classes = [$class => $class] + class_parents($class) + class_implements($class);

                foreach ($classes as $class) {
                    if (isset(AbstractCloner::$defaultCasters[$class])) {
                        return $a;
                    }
                }

                // Remove all internals
                return [];
            }]);
            $this->templateHelper->setCloner($cloner);
        }
    }

    /**
     * @return int|null
     */
    public function handle()
    {
        if (!$this->handleUnconditionally()) {
            // Check conditions for outputting HTML:
            // @todo: Make this more robust
            if (PHP_SAPI === 'cli') {
                // Help users who have been relying on an internal test value
                // fix their code to the proper method
                if (isset($_ENV['whoops-test'])) {
                    throw new \Exception(
                        'Use handleUnconditionally instead of whoops-test'
                        .' environment variable'
                    );
                }

                return Handler::DONE;
            }
        }

        $templateFile = $this->getResource("views/layout.html.php");
        $cssFile      = $this->getResource("css/whoops.base.css");
        $zeptoFile    = $this->getResource("js/zepto.min.js");
        $prettifyFile = $this->getResource("js/prettify.min.js");
        $clipboard    = $this->getResource("js/clipboard.min.js");
        $jsFile       = $this->getResource("js/whoops.base.js");

        if ($this->customCss) {
            $customCssFile = $this->getResource($this->customCss);
        }

        $inspector = $this->getInspector();
        $frames = $this->getExceptionFrames();
        $code = $this->getExceptionCode();

        // List of variables that will be passed to the layout template.
        $vars = [
            "page_title" => $this->getPageTitle(),

            // @todo: Asset compiler
            "stylesheet" => file_get_contents($cssFile),
            "zepto"      => file_get_contents($zeptoFile),
            "prettify"   => file_get_contents($prettifyFile),
            "clipboard"  => file_get_contents($clipboard),
            "javascript" => file_get_contents($jsFile),

            // Template paths:
            "header"                     => $this->getResource("views/header.html.php"),
            "header_outer"               => $this->getResource("views/header_outer.html.php"),
            "frame_list"                 => $this->getResource("views/frame_list.html.php"),
            "frames_description"         => $this->getResource("views/frames_description.html.php"),
            "frames_container"           => $this->getResource("views/frames_container.html.php"),
            "panel_details"              => $this->getResource("views/panel_details.html.php"),
            "panel_details_outer"        => $this->getResource("views/panel_details_outer.html.php"),
            "panel_left"                 => $this->getResource("views/panel_left.html.php"),
            "panel_left_outer"           => $this->getResource("views/panel_left_outer.html.php"),
            "frame_code"                 => $this->getResource("views/frame_code.html.php"),
            "env_details"                => $this->getResource("views/env_details.html.php"),

            "title"            => $this->getPageTitle(),
            "name"             => explode("\\", $inspector->getExceptionName()),
            "message"          => $inspector->getExceptionMessage(),
            "previousMessages" => $inspector->getPreviousExceptionMessages(),
            "docref_url"       => $inspector->getExceptionDocrefUrl(),
            "code"             => $code,
            "previousCodes"    => $inspector->getPreviousExceptionCodes(),
            "plain_exception"  => Formatter::formatExceptionPlain($inspector),
            "frames"           => $frames,
            "has_frames"       => !!count($frames),
            "handler"          => $this,
            "handlers"         => $this->getRun()->getHandlers(),

            "active_frames_tab" => count($frames) && $frames->offsetGet(0)->isApplication() ?  'application' : 'all',
            "has_frames_tabs"   => $this->getApplicationPaths(),

            "tables"      => [
                "GET Data"              => $this->masked($_GET, '_GET'),
                "POST Data"             => $this->masked($_POST, '_POST'),
                "Files"                 => isset($_FILES) ? $this->masked($_FILES, '_FILES') : [],
                "Cookies"               => $this->masked($_COOKIE, '_COOKIE'),
                "Session"               => isset($_SESSION) ? $this->masked($_SESSION, '_SESSION') :  [],
                "Server/Request Data"   => $this->masked($_SERVER, '_SERVER'),
                "Environment Variables" => $this->masked($_ENV, '_ENV'),
            ],
        ];

        if (isset($customCssFile)) {
            $vars["stylesheet"] .= file_get_contents($customCssFile);
        }

        // Add extra entries list of data tables:
        // @todo: Consolidate addDataTable and addDataTableCallback
        $extraTables = array_map(function ($table) use ($inspector) {
            return $table instanceof \Closure ? $table($inspector) : $table;
        }, $this->getDataTables());
        $vars["tables"] = array_merge($extraTables, $vars["tables"]);

        $plainTextHandler = new PlainTextHandler();
        $plainTextHandler->setException($this->getException());
        $plainTextHandler->setInspector($this->getInspector());
        $vars["preface"] = "<!--\n\n\n" .  $this->templateHelper->escape($plainTextHandler->generateResponse()) . "\n\n\n\n\n\n\n\n\n\n\n-->";

        $this->templateHelper->setVariables($vars);
        $this->templateHelper->render($templateFile);

        return Handler::QUIT;
    }

    /**
     * Get the stack trace frames of the exception that is currently being handled.
     *
     * @return \Whoops\Exception\FrameCollection;
     */
    protected function getExceptionFrames()
    {
        $frames = $this->getInspector()->getFrames();

        if ($this->getApplicationPaths()) {
            foreach ($frames as $frame) {
                foreach ($this->getApplicationPaths() as $path) {
                    if (strpos($frame->getFile(), $path) === 0) {
                        $frame->setApplication(true);
                        break;
                    }
                }
            }
        }

        return $frames;
    }

    /**
     * Get the code of the exception that is currently being handled.
     *
     * @return string
     */
    protected function getExceptionCode()
    {
        $exception = $this->getException();

        $code = $exception->getCode();
        if ($exception instanceof \ErrorException) {
            // ErrorExceptions wrap the php-error types within the 'severity' property
            $code = Misc::translateErrorCode($exception->getSeverity());
        }

        return (string) $code;
    }

    /**
     * @return string
     */
    public function contentType()
    {
        return 'text/html';
    }

    /**
     * Adds an entry to the list of tables displayed in the template.
     * The expected data is a simple associative array. Any nested arrays
     * will be flattened with print_r
     * @param string $label
     * @param array  $data
     */
    public function addDataTable($label, array $data)
    {
        $this->extraTables[$label] = $data;
    }

    /**
     * Lazily adds an entry to the list of tables displayed in the table.
     * The supplied callback argument will be called when the error is rendered,
     * it should produce a simple associative array. Any nested arrays will
     * be flattened with print_r.
     *
     * @throws InvalidArgumentException If $callback is not callable
     * @param  string                   $label
     * @param  callable                 $callback Callable returning an associative array
     */
    public function addDataTableCallback($label, /* callable */ $callback)
    {
        if (!is_callable($callback)) {
            throw new InvalidArgumentException('Expecting callback argument to be callable');
        }

        $this->extraTables[$label] = function (\Whoops\Exception\Inspector $inspector = null) use ($callback) {
            try {
                $result = call_user_func($callback, $inspector);

                // Only return the result if it can be iterated over by foreach().
                return is_array($result) || $result instanceof \Traversable ? $result : [];
            } catch (\Exception $e) {
                // Don't allow failure to break the rendering of the original exception.
                return [];
            }
        };
    }

    /**
     * Returns all the extra data tables registered with this handler.
     * Optionally accepts a 'label' parameter, to only return the data
     * table under that label.
     * @param  string|null      $label
     * @return array[]|callable
     */
    public function getDataTables($label = null)
    {
        if ($label !== null) {
            return isset($this->extraTables[$label]) ?
                   $this->extraTables[$label] : [];
        }

        return $this->extraTables;
    }

    /**
     * Allows to disable all attempts to dynamically decide whether to
     * handle or return prematurely.
     * Set this to ensure that the handler will perform no matter what.
     * @param  bool|null $value
     * @return bool|null
     */
    public function handleUnconditionally($value = null)
    {
        if (func_num_args() == 0) {
            return $this->handleUnconditionally;
        }

        $this->handleUnconditionally = (bool) $value;
    }

    /**
     * Adds an editor resolver, identified by a string
     * name, and that may be a string path, or a callable
     * resolver. If the callable returns a string, it will
     * be set as the file reference's href attribute.
     *
     * @example
     *  $run->addEditor('macvim', "mvim://open?url=file://%file&line=%line")
     * @example
     *   $run->addEditor('remove-it', function($file, $line) {
     *       unlink($file);
     *       return "http://stackoverflow.com";
     *   });
     * @param string $identifier
     * @param string|callable $resolver
     */
    public function addEditor($identifier, $resolver)
    {
        $this->editors[$identifier] = $resolver;
    }

    /**
     * Set the editor to use to open referenced files, by a string
     * identifier, or a callable that will be executed for every
     * file reference, with a $file and $line argument, and should
     * return a string.
     *
     * @example
     *   $run->setEditor(function($file, $line) { return "file:///{$file}"; });
     * @example
     *   $run->setEditor('sublime');
     *
     * @throws InvalidArgumentException If invalid argument identifier provided
     * @param  string|callable          $editor
     */
    public function setEditor($editor)
    {
        if (!is_callable($editor) && !isset($this->editors[$editor])) {
            throw new InvalidArgumentException(
                "Unknown editor identifier: $editor. Known editors:" .
                implode(",", array_keys($this->editors))
            );
        }

        $this->editor = $editor;
    }

    /**
     * Given a string file path, and an integer file line,
     * executes the editor resolver and returns, if available,
     * a string that may be used as the href property for that
     * file reference.
     *
     * @throws InvalidArgumentException If editor resolver does not return a string
     * @param  string                   $filePath
     * @param  int                      $line
     * @return string|bool
     */
    public function getEditorHref($filePath, $line)
    {
        $editor = $this->getEditor($filePath, $line);

        if (empty($editor)) {
            return false;
        }

        // Check that the editor is a string, and replace the
        // %line and %file placeholders:
        if (!isset($editor['url']) || !is_string($editor['url'])) {
            throw new UnexpectedValueException(
                __METHOD__ . " should always resolve to a string or a valid editor array; got something else instead."
            );
        }

        $editor['url'] = str_replace("%line", rawurlencode($line), $editor['url']);
        $editor['url'] = str_replace("%file", rawurlencode($filePath), $editor['url']);

        return $editor['url'];
    }

    /**
     * Given a boolean if the editor link should
     * act as an Ajax request. The editor must be a
     * valid callable function/closure
     *
     * @throws UnexpectedValueException  If editor resolver does not return a boolean
     * @param  string                   $filePath
     * @param  int                      $line
     * @return bool
     */
    public function getEditorAjax($filePath, $line)
    {
        $editor = $this->getEditor($filePath, $line);

        // Check that the ajax is a bool
        if (!isset($editor['ajax']) || !is_bool($editor['ajax'])) {
            throw new UnexpectedValueException(
                __METHOD__ . " should always resolve to a bool; got something else instead."
            );
        }
        return $editor['ajax'];
    }

    /**
     * Given a boolean if the editor link should
     * act as an Ajax request. The editor must be a
     * valid callable function/closure
     *
     * @param  string $filePath
     * @param  int    $line
     * @return array
     */
    protected function getEditor($filePath, $line)
    {
        if (!$this->editor || (!is_string($this->editor) && !is_callable($this->editor))) {
            return [];
        }

        if (is_string($this->editor) && isset($this->editors[$this->editor]) && !is_callable($this->editors[$this->editor])) {
            return [
                'ajax' => false,
                'url' => $this->editors[$this->editor],
            ];
        }

        if (is_callable($this->editor) || (isset($this->editors[$this->editor]) && is_callable($this->editors[$this->editor]))) {
            if (is_callable($this->editor)) {
                $callback = call_user_func($this->editor, $filePath, $line);
            } else {
                $callback = call_user_func($this->editors[$this->editor], $filePath, $line);
            }

            if (empty($callback)) {
                return [];
            }

            if (is_string($callback)) {
                return [
                    'ajax' => false,
                    'url' => $callback,
                ];
            }

            return [
                'ajax' => isset($callback['ajax']) ? $callback['ajax'] : false,
                'url' => isset($callback['url']) ? $callback['url'] : $callback,
            ];
        }

        return [];
    }

    /**
     * @param  string $title
     * @return void
     */
    public function setPageTitle($title)
    {
        $this->pageTitle = (string) $title;
    }

    /**
     * @return string
     */
    public function getPageTitle()
    {
        return $this->pageTitle;
    }

    /**
     * Adds a path to the list of paths to be searched for
     * resources.
     *
     * @throws InvalidArgumentException If $path is not a valid directory
     *
     * @param  string $path
     * @return void
     */
    public function addResourcePath($path)
    {
        if (!is_dir($path)) {
            throw new InvalidArgumentException(
                "'$path' is not a valid directory"
            );
        }

        array_unshift($this->searchPaths, $path);
    }

    /**
     * Adds a custom css file to be loaded.
     *
     * @param  string $name
     * @return void
     */
    public function addCustomCss($name)
    {
        $this->customCss = $name;
    }

    /**
     * @return array
     */
    public function getResourcePaths()
    {
        return $this->searchPaths;
    }

    /**
     * Finds a resource, by its relative path, in all available search paths.
     * The search is performed starting at the last search path, and all the
     * way back to the first, enabling a cascading-type system of overrides
     * for all resources.
     *
     * @throws RuntimeException If resource cannot be found in any of the available paths
     *
     * @param  string $resource
     * @return string
     */
    protected function getResource($resource)
    {
        // If the resource was found before, we can speed things up
        // by caching its absolute, resolved path:
        if (isset($this->resourceCache[$resource])) {
            return $this->resourceCache[$resource];
        }

        // Search through available search paths, until we find the
        // resource we're after:
        foreach ($this->searchPaths as $path) {
            $fullPath = $path . "/$resource";

            if (is_file($fullPath)) {
                // Cache the result:
                $this->resourceCache[$resource] = $fullPath;
                return $fullPath;
            }
        }

        // If we got this far, nothing was found.
        throw new RuntimeException(
            "Could not find resource '$resource' in any resource paths."
            . "(searched: " . join(", ", $this->searchPaths). ")"
        );
    }

    /**
     * @deprecated
     *
     * @return string
     */
    public function getResourcesPath()
    {
        $allPaths = $this->getResourcePaths();

        // Compat: return only the first path added
        return end($allPaths) ?: null;
    }

    /**
     * @deprecated
     *
     * @param  string $resourcesPath
     * @return void
     */
    public function setResourcesPath($resourcesPath)
    {
        $this->addResourcePath($resourcesPath);
    }

    /**
     * Return the application paths.
     *
     * @return array
     */
    public function getApplicationPaths()
    {
        return $this->applicationPaths;
    }

    /**
     * Set the application paths.
     *
     * @param array $applicationPaths
     */
    public function setApplicationPaths($applicationPaths)
    {
        $this->applicationPaths = $applicationPaths;
    }

    /**
     * Set the application root path.
     *
     * @param string $applicationRootPath
     */
    public function setApplicationRootPath($applicationRootPath)
    {
        $this->templateHelper->setApplicationRootPath($applicationRootPath);
    }

    /**
     * blacklist a sensitive value within one of the superglobal arrays.
     *
     * @param $superGlobalName string the name of the superglobal array, e.g. '_GET'
     * @param $key string the key within the superglobal
     */
    public function blacklist($superGlobalName, $key)
    {
        $this->blacklist[$superGlobalName][] = $key;
    }

    /**
     * Checks all values within the given superGlobal array.
     * Blacklisted values will be replaced by a equal length string cointaining only '*' characters.
     *
     * We intentionally dont rely on $GLOBALS as it depends on 'auto_globals_jit' php.ini setting.
     *
     * @param $superGlobal array One of the superglobal arrays
     * @param $superGlobalName string the name of the superglobal array, e.g. '_GET'
     * @return array $values without sensitive data
     */
    private function masked(array $superGlobal, $superGlobalName)
    {
        $blacklisted = $this->blacklist[$superGlobalName];

        $values = $superGlobal;
        foreach ($blacklisted as $key) {
            if (isset($superGlobal[$key]) && is_string($superGlobal[$key])) {
                $values[$key] = str_repeat('*', strlen($superGlobal[$key]));
            }
        }
        return $values;
    }
}
vendor/filp/whoops/src/Whoops/Handler/PlainTextHandler.php000060400000021163150750356250017663 0ustar00<?php
/**
* Whoops - php errors for cool kids
* @author Filipe Dobreira <http://github.com/filp>
* Plaintext handler for command line and logs.
* @author Pierre-Yves Landuré <https://howto.biapy.com/>
*/

namespace Whoops\Handler;

use InvalidArgumentException;
use Psr\Log\LoggerInterface;
use Whoops\Exception\Frame;

/**
* Handler outputing plaintext error messages. Can be used
* directly, or will be instantiated automagically by Whoops\Run
* if passed to Run::pushHandler
*/
class PlainTextHandler extends Handler
{
    const VAR_DUMP_PREFIX = '   | ';

    /**
     * @var \Psr\Log\LoggerInterface
     */
    protected $logger;

    /**
     * @var callable
     */
    protected $dumper;

    /**
     * @var bool
     */
    private $addTraceToOutput = true;

    /**
     * @var bool|integer
     */
    private $addTraceFunctionArgsToOutput = false;

    /**
     * @var integer
     */
    private $traceFunctionArgsOutputLimit = 1024;

    /**
     * @var bool
     */
    private $addPreviousToOutput = true;

    /**
     * @var bool
     */
    private $loggerOnly = false;

    /**
     * Constructor.
     * @throws InvalidArgumentException     If argument is not null or a LoggerInterface
     * @param  \Psr\Log\LoggerInterface|null $logger
     */
    public function __construct($logger = null)
    {
        $this->setLogger($logger);
    }

    /**
     * Set the output logger interface.
     * @throws InvalidArgumentException     If argument is not null or a LoggerInterface
     * @param  \Psr\Log\LoggerInterface|null $logger
     */
    public function setLogger($logger = null)
    {
        if (! (is_null($logger)
            || $logger instanceof LoggerInterface)) {
            throw new InvalidArgumentException(
                'Argument to ' . __METHOD__ .
                " must be a valid Logger Interface (aka. Monolog), " .
                get_class($logger) . ' given.'
            );
        }

        $this->logger = $logger;
    }

    /**
     * @return \Psr\Log\LoggerInterface|null
     */
    public function getLogger()
    {
        return $this->logger;
    }

    /**
     * Set var dumper callback function.
     *
     * @param  callable $dumper
     * @return void
     */
    public function setDumper(callable $dumper)
    {
        $this->dumper = $dumper;
    }

    /**
     * Add error trace to output.
     * @param  bool|null  $addTraceToOutput
     * @return bool|$this
     */
    public function addTraceToOutput($addTraceToOutput = null)
    {
        if (func_num_args() == 0) {
            return $this->addTraceToOutput;
        }

        $this->addTraceToOutput = (bool) $addTraceToOutput;
        return $this;
    }

    /**
     * Add previous exceptions to output.
     * @param  bool|null $addPreviousToOutput
     * @return bool|$this
     */
    public function addPreviousToOutput($addPreviousToOutput = null)
    {
        if (func_num_args() == 0) {
            return $this->addPreviousToOutput;
        }

        $this->addPreviousToOutput = (bool) $addPreviousToOutput;
        return $this;
    }

    /**
     * Add error trace function arguments to output.
     * Set to True for all frame args, or integer for the n first frame args.
     * @param  bool|integer|null $addTraceFunctionArgsToOutput
     * @return null|bool|integer
     */
    public function addTraceFunctionArgsToOutput($addTraceFunctionArgsToOutput = null)
    {
        if (func_num_args() == 0) {
            return $this->addTraceFunctionArgsToOutput;
        }

        if (! is_integer($addTraceFunctionArgsToOutput)) {
            $this->addTraceFunctionArgsToOutput = (bool) $addTraceFunctionArgsToOutput;
        } else {
            $this->addTraceFunctionArgsToOutput = $addTraceFunctionArgsToOutput;
        }
    }

    /**
     * Set the size limit in bytes of frame arguments var_dump output.
     * If the limit is reached, the var_dump output is discarded.
     * Prevent memory limit errors.
     * @var integer
     */
    public function setTraceFunctionArgsOutputLimit($traceFunctionArgsOutputLimit)
    {
        $this->traceFunctionArgsOutputLimit = (integer) $traceFunctionArgsOutputLimit;
    }

    /**
     * Create plain text response and return it as a string
     * @return string
     */
    public function generateResponse()
    {
        $exception = $this->getException();
        $message = $this->getExceptionOutput($exception);

        if ($this->addPreviousToOutput) {
            $previous = $exception->getPrevious();
            while ($previous) {
                $message .= "\n\nCaused by\n" . $this->getExceptionOutput($previous);
                $previous = $previous->getPrevious();
            }
        }


        return $message . $this->getTraceOutput() . "\n";
    }

    /**
     * Get the size limit in bytes of frame arguments var_dump output.
     * If the limit is reached, the var_dump output is discarded.
     * Prevent memory limit errors.
     * @return integer
     */
    public function getTraceFunctionArgsOutputLimit()
    {
        return $this->traceFunctionArgsOutputLimit;
    }

    /**
     * Only output to logger.
     * @param  bool|null $loggerOnly
     * @return null|bool
     */
    public function loggerOnly($loggerOnly = null)
    {
        if (func_num_args() == 0) {
            return $this->loggerOnly;
        }

        $this->loggerOnly = (bool) $loggerOnly;
    }

    /**
     * Test if handler can output to stdout.
     * @return bool
     */
    private function canOutput()
    {
        return !$this->loggerOnly();
    }

    /**
     * Get the frame args var_dump.
     * @param  \Whoops\Exception\Frame $frame [description]
     * @param  integer                 $line  [description]
     * @return string
     */
    private function getFrameArgsOutput(Frame $frame, $line)
    {
        if ($this->addTraceFunctionArgsToOutput() === false
            || $this->addTraceFunctionArgsToOutput() < $line) {
            return '';
        }

        // Dump the arguments:
        ob_start();
        $this->dump($frame->getArgs());
        if (ob_get_length() > $this->getTraceFunctionArgsOutputLimit()) {
            // The argument var_dump is to big.
            // Discarded to limit memory usage.
            ob_clean();
            return sprintf(
                "\n%sArguments dump length greater than %d Bytes. Discarded.",
                self::VAR_DUMP_PREFIX,
                $this->getTraceFunctionArgsOutputLimit()
            );
        }

        return sprintf(
            "\n%s",
            preg_replace('/^/m', self::VAR_DUMP_PREFIX, ob_get_clean())
        );
    }

    /**
     * Dump variable.
     *
     * @param mixed $var
     * @return void
     */
    protected function dump($var)
    {
        if ($this->dumper) {
            call_user_func($this->dumper, $var);
        } else {
            var_dump($var);
        }
    }

    /**
     * Get the exception trace as plain text.
     * @return string
     */
    private function getTraceOutput()
    {
        if (! $this->addTraceToOutput()) {
            return '';
        }
        $inspector = $this->getInspector();
        $frames = $inspector->getFrames();

        $response = "\nStack trace:";

        $line = 1;
        foreach ($frames as $frame) {
            /** @var Frame $frame */
            $class = $frame->getClass();

            $template = "\n%3d. %s->%s() %s:%d%s";
            if (! $class) {
                // Remove method arrow (->) from output.
                $template = "\n%3d. %s%s() %s:%d%s";
            }

            $response .= sprintf(
                $template,
                $line,
                $class,
                $frame->getFunction(),
                $frame->getFile(),
                $frame->getLine(),
                $this->getFrameArgsOutput($frame, $line)
            );

            $line++;
        }

        return $response;
    }

    /**
     * Get the exception as plain text.
     * @param \Throwable $exception
     * @return string
     */
    private function getExceptionOutput($exception)
    {
        return sprintf(
            "%s: %s in file %s on line %d",
            get_class($exception),
            $exception->getMessage(),
            $exception->getFile(),
            $exception->getLine()
        );
    }

    /**
     * @return int
     */
    public function handle()
    {
        $response = $this->generateResponse();

        if ($this->getLogger()) {
            $this->getLogger()->error($response);
        }

        if (! $this->canOutput()) {
            return Handler::DONE;
        }

        echo $response;

        return Handler::QUIT;
    }

    /**
     * @return string
     */
    public function contentType()
    {
        return 'text/plain';
    }
}
vendor/filp/whoops/src/Whoops/Handler/CallbackHandler.php000060400000002510150750356250017442 0ustar00<?php
/**
 * Whoops - php errors for cool kids
 * @author Filipe Dobreira <http://github.com/filp>
 */

namespace Whoops\Handler;

use InvalidArgumentException;

/**
 * Wrapper for Closures passed as handlers. Can be used
 * directly, or will be instantiated automagically by Whoops\Run
 * if passed to Run::pushHandler
 */
class CallbackHandler extends Handler
{
    /**
     * @var callable
     */
    protected $callable;

    /**
     * @throws InvalidArgumentException If argument is not callable
     * @param  callable                 $callable
     */
    public function __construct($callable)
    {
        if (!is_callable($callable)) {
            throw new InvalidArgumentException(
                'Argument to ' . __METHOD__ . ' must be valid callable'
            );
        }

        $this->callable = $callable;
    }

    /**
     * @return int|null
     */
    public function handle()
    {
        $exception = $this->getException();
        $inspector = $this->getInspector();
        $run       = $this->getRun();
        $callable  = $this->callable;

        // invoke the callable directly, to get simpler stacktraces (in comparison to call_user_func).
        // this assumes that $callable is a properly typed php-callable, which we check in __construct().
        return $callable($exception, $inspector, $run);
    }
}
vendor/filp/whoops/src/Whoops/Handler/JsonResponseHandler.php000060400000003707150750356250020407 0ustar00<?php
/**
 * Whoops - php errors for cool kids
 * @author Filipe Dobreira <http://github.com/filp>
 */

namespace Whoops\Handler;

use Whoops\Exception\Formatter;

/**
 * Catches an exception and converts it to a JSON
 * response. Additionally can also return exception
 * frames for consumption by an API.
 */
class JsonResponseHandler extends Handler
{
    /**
     * @var bool
     */
    private $returnFrames = false;

    /**
     * @var bool
     */
    private $jsonApi = false;

    /**
     * Returns errors[[]] instead of error[] to be in compliance with the json:api spec
     * @param bool $jsonApi Default is false
     * @return $this
     */
    public function setJsonApi($jsonApi = false)
    {
        $this->jsonApi = (bool) $jsonApi;
        return $this;
    }

    /**
     * @param  bool|null  $returnFrames
     * @return bool|$this
     */
    public function addTraceToOutput($returnFrames = null)
    {
        if (func_num_args() == 0) {
            return $this->returnFrames;
        }

        $this->returnFrames = (bool) $returnFrames;
        return $this;
    }

    /**
     * @return int
     */
    public function handle()
    {
        if ($this->jsonApi === true) {
            $response = [
                'errors' => [
                    Formatter::formatExceptionAsDataArray(
                        $this->getInspector(),
                        $this->addTraceToOutput()
                    ),
                ]
            ];
        } else {
            $response = [
                'error' => Formatter::formatExceptionAsDataArray(
                    $this->getInspector(),
                    $this->addTraceToOutput()
                ),
            ];
        }

        echo json_encode($response, defined('JSON_PARTIAL_OUTPUT_ON_ERROR') ? JSON_PARTIAL_OUTPUT_ON_ERROR : 0);

        return Handler::QUIT;
    }

    /**
     * @return string
     */
    public function contentType()
    {
        return 'application/json';
    }
}
vendor/filp/whoops/src/Whoops/Handler/Handler.php000060400000003515150750356250016033 0ustar00<?php
/**
 * Whoops - php errors for cool kids
 * @author Filipe Dobreira <http://github.com/filp>
 */

namespace Whoops\Handler;

use Whoops\Exception\Inspector;
use Whoops\RunInterface;

/**
 * Abstract implementation of a Handler.
 */
abstract class Handler implements HandlerInterface
{
    /*
     Return constants that can be returned from Handler::handle
     to message the handler walker.
     */
    const DONE         = 0x10; // returning this is optional, only exists for
                               // semantic purposes
    /**
     * The Handler has handled the Throwable in some way, and wishes to skip any other Handler.
     * Execution will continue.
     */
    const LAST_HANDLER = 0x20;
    /**
     * The Handler has handled the Throwable in some way, and wishes to quit/stop execution
     */
    const QUIT         = 0x30;

    /**
     * @var RunInterface
     */
    private $run;

    /**
     * @var Inspector $inspector
     */
    private $inspector;

    /**
     * @var \Throwable $exception
     */
    private $exception;

    /**
     * @param RunInterface $run
     */
    public function setRun(RunInterface $run)
    {
        $this->run = $run;
    }

    /**
     * @return RunInterface
     */
    protected function getRun()
    {
        return $this->run;
    }

    /**
     * @param Inspector $inspector
     */
    public function setInspector(Inspector $inspector)
    {
        $this->inspector = $inspector;
    }

    /**
     * @return Inspector
     */
    protected function getInspector()
    {
        return $this->inspector;
    }

    /**
     * @param \Throwable $exception
     */
    public function setException($exception)
    {
        $this->exception = $exception;
    }

    /**
     * @return \Throwable
     */
    protected function getException()
    {
        return $this->exception;
    }
}
vendor/filp/whoops/composer.json000060400000002154150750356250013042 0ustar00{
    "name": "filp/whoops",
    "license": "MIT",
    "description": "php error handling for cool kids",
    "keywords": ["library", "error", "handling", "exception", "whoops", "throwable"],
    "homepage": "https://filp.github.io/whoops/",
    "authors": [
        {
            "name": "Filipe Dobreira",
            "homepage": "https://github.com/filp",
            "role": "Developer"
        }
    ],
    "require": {
        "php": "^5.5.9 || ^7.0",
        "psr/log": "^1.0.1"        
    },
    "require-dev": {
        "phpunit/phpunit": "^4.8.35 || ^5.7",
        "mockery/mockery": "^0.9 || ^1.0",
        "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0"
    },
    "suggest": {
        "symfony/var-dumper": "Pretty print complex values better with var-dumper available",
        "whoops/soap": "Formats errors as SOAP responses"
    },
    "autoload": {
        "psr-4": {
            "Whoops\\": "src/Whoops/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Whoops\\": "tests/Whoops/"
        }
    },
    "extra": {
        "branch-alias": {
            "dev-master": "2.2-dev"
        }
    }
}
vendor/psr/container/composer.json000060400000001216150750356250013355 0ustar00{
    "name": "psr/container",
    "type": "library",
    "description": "Common Container Interface (PHP FIG PSR-11)",
    "keywords": ["psr", "psr-11", "container", "container-interop", "container-interface"],
    "homepage": "https://github.com/php-fig/container",
    "license": "MIT",
    "authors": [
        {
            "name": "PHP-FIG",
            "homepage": "http://www.php-fig.org/"
        }
    ],
    "require": {
        "php": ">=5.3.0"
    },
    "autoload": {
        "psr-4": {
            "Psr\\Container\\": "src/"
        }
    },
    "extra": {
        "branch-alias": {
            "dev-master": "1.0.x-dev"
        }
    }
}
vendor/psr/container/src/ContainerExceptionInterface.php000060400000000370150750356250017555 0ustar00<?php
/**
 * @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)
 */

namespace Psr\Container;

/**
 * Base interface representing a generic exception in a container.
 */
interface ContainerExceptionInterface
{
}
vendor/psr/container/src/ContainerInterface.php000060400000002112150750356250015672 0ustar00<?php
/**
 * @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)
 */

namespace Psr\Container;

/**
 * Describes the interface of a container that exposes methods to read its entries.
 */
interface ContainerInterface
{
    /**
     * Finds an entry of the container by its identifier and returns it.
     *
     * @param string $id Identifier of the entry to look for.
     *
     * @throws NotFoundExceptionInterface  No entry was found for **this** identifier.
     * @throws ContainerExceptionInterface Error while retrieving the entry.
     *
     * @return mixed Entry.
     */
    public function get($id);

    /**
     * Returns true if the container can return an entry for the given identifier.
     * Returns false otherwise.
     *
     * `has($id)` returning true does not mean that `get($id)` will not throw an exception.
     * It does however mean that `get($id)` will not throw a `NotFoundExceptionInterface`.
     *
     * @param string $id Identifier of the entry to look for.
     *
     * @return bool
     */
    public function has($id);
}
vendor/psr/container/src/NotFoundExceptionInterface.php000060400000000400150750356250017361 0ustar00<?php
/**
 * @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)
 */

namespace Psr\Container;

/**
 * No entry was found in the container.
 */
interface NotFoundExceptionInterface extends ContainerExceptionInterface
{
}
vendor/psr/log/Psr/Log/LoggerAwareInterface.php000060400000000451150750356250015450 0ustar00<?php

namespace Psr\Log;

/**
 * Describes a logger-aware instance.
 */
interface LoggerAwareInterface
{
    /**
     * Sets a logger instance on the object.
     *
     * @param LoggerInterface $logger
     *
     * @return void
     */
    public function setLogger(LoggerInterface $logger);
}
vendor/psr/log/Psr/Log/InvalidArgumentException.php000060400000000140150750356250016373 0ustar00<?php

namespace Psr\Log;

class InvalidArgumentException extends \InvalidArgumentException
{
}
vendor/psr/log/Psr/Log/LoggerInterface.php000060400000006052150750356250014473 0ustar00<?php

namespace Psr\Log;

/**
 * Describes a logger instance.
 *
 * The message MUST be a string or object implementing __toString().
 *
 * The message MAY contain placeholders in the form: {foo} where foo
 * will be replaced by the context data in key "foo".
 *
 * The context array can contain arbitrary data. The only assumption that
 * can be made by implementors is that if an Exception instance is given
 * to produce a stack trace, it MUST be in a key named "exception".
 *
 * See https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md
 * for the full interface specification.
 */
interface LoggerInterface
{
    /**
     * System is unusable.
     *
     * @param string  $message
     * @param mixed[] $context
     *
     * @return void
     */
    public function emergency($message, array $context = array());

    /**
     * Action must be taken immediately.
     *
     * Example: Entire website down, database unavailable, etc. This should
     * trigger the SMS alerts and wake you up.
     *
     * @param string  $message
     * @param mixed[] $context
     *
     * @return void
     */
    public function alert($message, array $context = array());

    /**
     * Critical conditions.
     *
     * Example: Application component unavailable, unexpected exception.
     *
     * @param string  $message
     * @param mixed[] $context
     *
     * @return void
     */
    public function critical($message, array $context = array());

    /**
     * Runtime errors that do not require immediate action but should typically
     * be logged and monitored.
     *
     * @param string  $message
     * @param mixed[] $context
     *
     * @return void
     */
    public function error($message, array $context = array());

    /**
     * Exceptional occurrences that are not errors.
     *
     * Example: Use of deprecated APIs, poor use of an API, undesirable things
     * that are not necessarily wrong.
     *
     * @param string  $message
     * @param mixed[] $context
     *
     * @return void
     */
    public function warning($message, array $context = array());

    /**
     * Normal but significant events.
     *
     * @param string  $message
     * @param mixed[] $context
     *
     * @return void
     */
    public function notice($message, array $context = array());

    /**
     * Interesting events.
     *
     * Example: User logs in, SQL logs.
     *
     * @param string  $message
     * @param mixed[] $context
     *
     * @return void
     */
    public function info($message, array $context = array());

    /**
     * Detailed debug information.
     *
     * @param string  $message
     * @param mixed[] $context
     *
     * @return void
     */
    public function debug($message, array $context = array());

    /**
     * Logs with an arbitrary level.
     *
     * @param mixed   $level
     * @param string  $message
     * @param mixed[] $context
     *
     * @return void
     *
     * @throws \Psr\Log\InvalidArgumentException
     */
    public function log($level, $message, array $context = array());
}
vendor/psr/log/Psr/Log/Test/TestLogger.php000060400000010657150750356250014437 0ustar00<?php

namespace Psr\Log\Test;

use Psr\Log\AbstractLogger;

/**
 * Used for testing purposes.
 *
 * It records all records and gives you access to them for verification.
 *
 * @method bool hasEmergency($record)
 * @method bool hasAlert($record)
 * @method bool hasCritical($record)
 * @method bool hasError($record)
 * @method bool hasWarning($record)
 * @method bool hasNotice($record)
 * @method bool hasInfo($record)
 * @method bool hasDebug($record)
 *
 * @method bool hasEmergencyRecords()
 * @method bool hasAlertRecords()
 * @method bool hasCriticalRecords()
 * @method bool hasErrorRecords()
 * @method bool hasWarningRecords()
 * @method bool hasNoticeRecords()
 * @method bool hasInfoRecords()
 * @method bool hasDebugRecords()
 *
 * @method bool hasEmergencyThatContains($message)
 * @method bool hasAlertThatContains($message)
 * @method bool hasCriticalThatContains($message)
 * @method bool hasErrorThatContains($message)
 * @method bool hasWarningThatContains($message)
 * @method bool hasNoticeThatContains($message)
 * @method bool hasInfoThatContains($message)
 * @method bool hasDebugThatContains($message)
 *
 * @method bool hasEmergencyThatMatches($message)
 * @method bool hasAlertThatMatches($message)
 * @method bool hasCriticalThatMatches($message)
 * @method bool hasErrorThatMatches($message)
 * @method bool hasWarningThatMatches($message)
 * @method bool hasNoticeThatMatches($message)
 * @method bool hasInfoThatMatches($message)
 * @method bool hasDebugThatMatches($message)
 *
 * @method bool hasEmergencyThatPasses($message)
 * @method bool hasAlertThatPasses($message)
 * @method bool hasCriticalThatPasses($message)
 * @method bool hasErrorThatPasses($message)
 * @method bool hasWarningThatPasses($message)
 * @method bool hasNoticeThatPasses($message)
 * @method bool hasInfoThatPasses($message)
 * @method bool hasDebugThatPasses($message)
 */
class TestLogger extends AbstractLogger
{
    /**
     * @var array
     */
    public $records = [];

    public $recordsByLevel = [];

    /**
     * @inheritdoc
     */
    public function log($level, $message, array $context = [])
    {
        $record = [
            'level' => $level,
            'message' => $message,
            'context' => $context,
        ];

        $this->recordsByLevel[$record['level']][] = $record;
        $this->records[] = $record;
    }

    public function hasRecords($level)
    {
        return isset($this->recordsByLevel[$level]);
    }

    public function hasRecord($record, $level)
    {
        if (is_string($record)) {
            $record = ['message' => $record];
        }
        return $this->hasRecordThatPasses(function ($rec) use ($record) {
            if ($rec['message'] !== $record['message']) {
                return false;
            }
            if (isset($record['context']) && $rec['context'] !== $record['context']) {
                return false;
            }
            return true;
        }, $level);
    }

    public function hasRecordThatContains($message, $level)
    {
        return $this->hasRecordThatPasses(function ($rec) use ($message) {
            return strpos($rec['message'], $message) !== false;
        }, $level);
    }

    public function hasRecordThatMatches($regex, $level)
    {
        return $this->hasRecordThatPasses(function ($rec) use ($regex) {
            return preg_match($regex, $rec['message']) > 0;
        }, $level);
    }

    public function hasRecordThatPasses(callable $predicate, $level)
    {
        if (!isset($this->recordsByLevel[$level])) {
            return false;
        }
        foreach ($this->recordsByLevel[$level] as $i => $rec) {
            if (call_user_func($predicate, $rec, $i)) {
                return true;
            }
        }
        return false;
    }

    public function __call($method, $args)
    {
        if (preg_match('/(.*)(Debug|Info|Notice|Warning|Error|Critical|Alert|Emergency)(.*)/', $method, $matches) > 0) {
            $genericMethod = $matches[1] . ('Records' !== $matches[3] ? 'Record' : '') . $matches[3];
            $level = strtolower($matches[2]);
            if (method_exists($this, $genericMethod)) {
                $args[] = $level;
                return call_user_func_array([$this, $genericMethod], $args);
            }
        }
        throw new \BadMethodCallException('Call to undefined method ' . get_class($this) . '::' . $method . '()');
    }

    public function reset()
    {
        $this->records = [];
        $this->recordsByLevel = [];
    }
}
vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php000060400000011051150750356250016245 0ustar00<?php

namespace Psr\Log\Test;

use Psr\Log\LoggerInterface;
use Psr\Log\LogLevel;
use PHPUnit\Framework\TestCase;

/**
 * Provides a base test class for ensuring compliance with the LoggerInterface.
 *
 * Implementors can extend the class and implement abstract methods to run this
 * as part of their test suite.
 */
abstract class LoggerInterfaceTest extends TestCase
{
    /**
     * @return LoggerInterface
     */
    abstract public function getLogger();

    /**
     * This must return the log messages in order.
     *
     * The simple formatting of the messages is: "<LOG LEVEL> <MESSAGE>".
     *
     * Example ->error('Foo') would yield "error Foo".
     *
     * @return string[]
     */
    abstract public function getLogs();

    public function testImplements()
    {
        $this->assertInstanceOf('Psr\Log\LoggerInterface', $this->getLogger());
    }

    /**
     * @dataProvider provideLevelsAndMessages
     */
    public function testLogsAtAllLevels($level, $message)
    {
        $logger = $this->getLogger();
        $logger->{$level}($message, array('user' => 'Bob'));
        $logger->log($level, $message, array('user' => 'Bob'));

        $expected = array(
            $level.' message of level '.$level.' with context: Bob',
            $level.' message of level '.$level.' with context: Bob',
        );
        $this->assertEquals($expected, $this->getLogs());
    }

    public function provideLevelsAndMessages()
    {
        return array(
            LogLevel::EMERGENCY => array(LogLevel::EMERGENCY, 'message of level emergency with context: {user}'),
            LogLevel::ALERT => array(LogLevel::ALERT, 'message of level alert with context: {user}'),
            LogLevel::CRITICAL => array(LogLevel::CRITICAL, 'message of level critical with context: {user}'),
            LogLevel::ERROR => array(LogLevel::ERROR, 'message of level error with context: {user}'),
            LogLevel::WARNING => array(LogLevel::WARNING, 'message of level warning with context: {user}'),
            LogLevel::NOTICE => array(LogLevel::NOTICE, 'message of level notice with context: {user}'),
            LogLevel::INFO => array(LogLevel::INFO, 'message of level info with context: {user}'),
            LogLevel::DEBUG => array(LogLevel::DEBUG, 'message of level debug with context: {user}'),
        );
    }

    /**
     * @expectedException \Psr\Log\InvalidArgumentException
     */
    public function testThrowsOnInvalidLevel()
    {
        $logger = $this->getLogger();
        $logger->log('invalid level', 'Foo');
    }

    public function testContextReplacement()
    {
        $logger = $this->getLogger();
        $logger->info('{Message {nothing} {user} {foo.bar} a}', array('user' => 'Bob', 'foo.bar' => 'Bar'));

        $expected = array('info {Message {nothing} Bob Bar a}');
        $this->assertEquals($expected, $this->getLogs());
    }

    public function testObjectCastToString()
    {
        if (method_exists($this, 'createPartialMock')) {
            $dummy = $this->createPartialMock('Psr\Log\Test\DummyTest', array('__toString'));
        } else {
            $dummy = $this->getMock('Psr\Log\Test\DummyTest', array('__toString'));
        }
        $dummy->expects($this->once())
            ->method('__toString')
            ->will($this->returnValue('DUMMY'));

        $this->getLogger()->warning($dummy);

        $expected = array('warning DUMMY');
        $this->assertEquals($expected, $this->getLogs());
    }

    public function testContextCanContainAnything()
    {
        $closed = fopen('php://memory', 'r');
        fclose($closed);

        $context = array(
            'bool' => true,
            'null' => null,
            'string' => 'Foo',
            'int' => 0,
            'float' => 0.5,
            'nested' => array('with object' => new DummyTest),
            'object' => new \DateTime,
            'resource' => fopen('php://memory', 'r'),
            'closed' => $closed,
        );

        $this->getLogger()->warning('Crazy context data', $context);

        $expected = array('warning Crazy context data');
        $this->assertEquals($expected, $this->getLogs());
    }

    public function testContextExceptionKeyCanBeExceptionOrOtherValues()
    {
        $logger = $this->getLogger();
        $logger->warning('Random message', array('exception' => 'oops'));
        $logger->critical('Uncaught Exception!', array('exception' => new \LogicException('Fail')));

        $expected = array(
            'warning Random message',
            'critical Uncaught Exception!'
        );
        $this->assertEquals($expected, $this->getLogs());
    }
}
vendor/psr/log/Psr/Log/Test/DummyTest.php000060400000000373150750356250014305 0ustar00<?php

namespace Psr\Log\Test;

/**
 * This class is internal and does not follow the BC promise.
 *
 * Do NOT use this class in any way.
 *
 * @internal
 */
class DummyTest
{
    public function __toString()
    {
        return 'DummyTest';
    }
}
vendor/psr/log/Psr/Log/NullLogger.php000060400000001303150750356250013477 0ustar00<?php

namespace Psr\Log;

/**
 * This Logger can be used to avoid conditional log calls.
 *
 * Logging should always be optional, and if no logger is provided to your
 * library creating a NullLogger instance to have something to throw logs at
 * is a good way to avoid littering your code with `if ($this->logger) { }`
 * blocks.
 */
class NullLogger extends AbstractLogger
{
    /**
     * Logs with an arbitrary level.
     *
     * @param mixed  $level
     * @param string $message
     * @param array  $context
     *
     * @return void
     *
     * @throws \Psr\Log\InvalidArgumentException
     */
    public function log($level, $message, array $context = array())
    {
        // noop
    }
}
vendor/psr/log/Psr/Log/LoggerAwareTrait.php000060400000000615150750356250014635 0ustar00<?php

namespace Psr\Log;

/**
 * Basic Implementation of LoggerAwareInterface.
 */
trait LoggerAwareTrait
{
    /**
     * The logger instance.
     *
     * @var LoggerInterface
     */
    protected $logger;

    /**
     * Sets a logger.
     *
     * @param LoggerInterface $logger
     */
    public function setLogger(LoggerInterface $logger)
    {
        $this->logger = $logger;
    }
}
vendor/psr/log/Psr/Log/AbstractLogger.php000060400000006020150750356250014331 0ustar00<?php

namespace Psr\Log;

/**
 * This is a simple Logger implementation that other Loggers can inherit from.
 *
 * It simply delegates all log-level-specific methods to the `log` method to
 * reduce boilerplate code that a simple Logger that does the same thing with
 * messages regardless of the error level has to implement.
 */
abstract class AbstractLogger implements LoggerInterface
{
    /**
     * System is unusable.
     *
     * @param string $message
     * @param array  $context
     *
     * @return void
     */
    public function emergency($message, array $context = array())
    {
        $this->log(LogLevel::EMERGENCY, $message, $context);
    }

    /**
     * Action must be taken immediately.
     *
     * Example: Entire website down, database unavailable, etc. This should
     * trigger the SMS alerts and wake you up.
     *
     * @param string $message
     * @param array  $context
     *
     * @return void
     */
    public function alert($message, array $context = array())
    {
        $this->log(LogLevel::ALERT, $message, $context);
    }

    /**
     * Critical conditions.
     *
     * Example: Application component unavailable, unexpected exception.
     *
     * @param string $message
     * @param array  $context
     *
     * @return void
     */
    public function critical($message, array $context = array())
    {
        $this->log(LogLevel::CRITICAL, $message, $context);
    }

    /**
     * Runtime errors that do not require immediate action but should typically
     * be logged and monitored.
     *
     * @param string $message
     * @param array  $context
     *
     * @return void
     */
    public function error($message, array $context = array())
    {
        $this->log(LogLevel::ERROR, $message, $context);
    }

    /**
     * Exceptional occurrences that are not errors.
     *
     * Example: Use of deprecated APIs, poor use of an API, undesirable things
     * that are not necessarily wrong.
     *
     * @param string $message
     * @param array  $context
     *
     * @return void
     */
    public function warning($message, array $context = array())
    {
        $this->log(LogLevel::WARNING, $message, $context);
    }

    /**
     * Normal but significant events.
     *
     * @param string $message
     * @param array  $context
     *
     * @return void
     */
    public function notice($message, array $context = array())
    {
        $this->log(LogLevel::NOTICE, $message, $context);
    }

    /**
     * Interesting events.
     *
     * Example: User logs in, SQL logs.
     *
     * @param string $message
     * @param array  $context
     *
     * @return void
     */
    public function info($message, array $context = array())
    {
        $this->log(LogLevel::INFO, $message, $context);
    }

    /**
     * Detailed debug information.
     *
     * @param string $message
     * @param array  $context
     *
     * @return void
     */
    public function debug($message, array $context = array())
    {
        $this->log(LogLevel::DEBUG, $message, $context);
    }
}
vendor/psr/log/Psr/Log/LoggerTrait.php000060400000006527150750356250013665 0ustar00<?php

namespace Psr\Log;

/**
 * This is a simple Logger trait that classes unable to extend AbstractLogger
 * (because they extend another class, etc) can include.
 *
 * It simply delegates all log-level-specific methods to the `log` method to
 * reduce boilerplate code that a simple Logger that does the same thing with
 * messages regardless of the error level has to implement.
 */
trait LoggerTrait
{
    /**
     * System is unusable.
     *
     * @param string $message
     * @param array  $context
     *
     * @return void
     */
    public function emergency($message, array $context = array())
    {
        $this->log(LogLevel::EMERGENCY, $message, $context);
    }

    /**
     * Action must be taken immediately.
     *
     * Example: Entire website down, database unavailable, etc. This should
     * trigger the SMS alerts and wake you up.
     *
     * @param string $message
     * @param array  $context
     *
     * @return void
     */
    public function alert($message, array $context = array())
    {
        $this->log(LogLevel::ALERT, $message, $context);
    }

    /**
     * Critical conditions.
     *
     * Example: Application component unavailable, unexpected exception.
     *
     * @param string $message
     * @param array  $context
     *
     * @return void
     */
    public function critical($message, array $context = array())
    {
        $this->log(LogLevel::CRITICAL, $message, $context);
    }

    /**
     * Runtime errors that do not require immediate action but should typically
     * be logged and monitored.
     *
     * @param string $message
     * @param array  $context
     *
     * @return void
     */
    public function error($message, array $context = array())
    {
        $this->log(LogLevel::ERROR, $message, $context);
    }

    /**
     * Exceptional occurrences that are not errors.
     *
     * Example: Use of deprecated APIs, poor use of an API, undesirable things
     * that are not necessarily wrong.
     *
     * @param string $message
     * @param array  $context
     *
     * @return void
     */
    public function warning($message, array $context = array())
    {
        $this->log(LogLevel::WARNING, $message, $context);
    }

    /**
     * Normal but significant events.
     *
     * @param string $message
     * @param array  $context
     *
     * @return void
     */
    public function notice($message, array $context = array())
    {
        $this->log(LogLevel::NOTICE, $message, $context);
    }

    /**
     * Interesting events.
     *
     * Example: User logs in, SQL logs.
     *
     * @param string $message
     * @param array  $context
     *
     * @return void
     */
    public function info($message, array $context = array())
    {
        $this->log(LogLevel::INFO, $message, $context);
    }

    /**
     * Detailed debug information.
     *
     * @param string $message
     * @param array  $context
     *
     * @return void
     */
    public function debug($message, array $context = array())
    {
        $this->log(LogLevel::DEBUG, $message, $context);
    }

    /**
     * Logs with an arbitrary level.
     *
     * @param mixed  $level
     * @param string $message
     * @param array  $context
     *
     * @return void
     *
     * @throws \Psr\Log\InvalidArgumentException
     */
    abstract public function log($level, $message, array $context = array());
}
vendor/psr/log/Psr/Log/LogLevel.php000060400000000520150750356250013136 0ustar00<?php

namespace Psr\Log;

/**
 * Describes log levels.
 */
class LogLevel
{
    const EMERGENCY = 'emergency';
    const ALERT     = 'alert';
    const CRITICAL  = 'critical';
    const ERROR     = 'error';
    const WARNING   = 'warning';
    const NOTICE    = 'notice';
    const INFO      = 'info';
    const DEBUG     = 'debug';
}
vendor/psr/log/composer.json000060400000001061150750356250012152 0ustar00{
    "name": "psr/log",
    "description": "Common interface for logging libraries",
    "keywords": ["psr", "psr-3", "log"],
    "homepage": "https://github.com/php-fig/log",
    "license": "MIT",
    "authors": [
        {
            "name": "PHP-FIG",
            "homepage": "http://www.php-fig.org/"
        }
    ],
    "require": {
        "php": ">=5.3.0"
    },
    "autoload": {
        "psr-4": {
            "Psr\\Log\\": "Psr/Log/"
        }
    },
    "extra": {
        "branch-alias": {
            "dev-master": "1.1.x-dev"
        }
    }
}
vendor/autoload.php000060400000000262150750356250010366 0ustar00<?php

// autoload.php @generated by Composer

require_once __DIR__ . '/composer/autoload_real.php';

return ComposerAutoloaderInit35ebe4700d36971ed56fa38404e0c71a::getLoader();
vendor/erusev/parsedown/composer.json000060400000001423150750356250014102 0ustar00{
    "name": "erusev/parsedown",
    "description": "Parser for Markdown.",
    "keywords": ["markdown", "parser"],
    "homepage": "http://parsedown.org",
    "type": "library",
    "license": "MIT",
    "authors": [
        {
            "name": "Emanuil Rusev",
            "email": "hello@erusev.com",
            "homepage": "http://erusev.com"
        }
    ],
    "require": {
        "php": ">=5.3.0",
        "ext-mbstring": "*"
    },
    "require-dev": {
        "phpunit/phpunit": "^4.8.35"
    },
    "autoload": {
        "psr-0": {"Parsedown": ""}
    },
    "autoload-dev": {
        "psr-0": {
            "TestParsedown": "test/",
            "ParsedownTest": "test/",
            "CommonMarkTest": "test/",
            "CommonMarkTestWeak": "test/"
        }
    }
}
vendor/erusev/parsedown/Parsedown.php000060400000123225150750356250014040 0ustar00<?php

#
#
# Parsedown
# http://parsedown.org
#
# (c) Emanuil Rusev
# http://erusev.com
#
# For the full license information, view the LICENSE file that was distributed
# with this source code.
#
#

class Parsedown
{
    # ~

    const version = '1.7.4';

    # ~

    function text($text)
    {
        # make sure no definitions are set
        $this->DefinitionData = array();

        # standardize line breaks
        $text = str_replace(array("\r\n", "\r"), "\n", $text);

        # remove surrounding line breaks
        $text = trim($text, "\n");

        # split text into lines
        $lines = explode("\n", $text);

        # iterate through lines to identify blocks
        $markup = $this->lines($lines);

        # trim line breaks
        $markup = trim($markup, "\n");

        return $markup;
    }

    #
    # Setters
    #

    function setBreaksEnabled($breaksEnabled)
    {
        $this->breaksEnabled = $breaksEnabled;

        return $this;
    }

    protected $breaksEnabled;

    function setMarkupEscaped($markupEscaped)
    {
        $this->markupEscaped = $markupEscaped;

        return $this;
    }

    protected $markupEscaped;

    function setUrlsLinked($urlsLinked)
    {
        $this->urlsLinked = $urlsLinked;

        return $this;
    }

    protected $urlsLinked = true;

    function setSafeMode($safeMode)
    {
        $this->safeMode = (bool) $safeMode;

        return $this;
    }

    protected $safeMode;

    protected $safeLinksWhitelist = array(
        'http://',
        'https://',
        'ftp://',
        'ftps://',
        'mailto:',
        'data:image/png;base64,',
        'data:image/gif;base64,',
        'data:image/jpeg;base64,',
        'irc:',
        'ircs:',
        'git:',
        'ssh:',
        'news:',
        'steam:',
    );

    #
    # Lines
    #

    protected $BlockTypes = array(
        '#' => array('Header'),
        '*' => array('Rule', 'List'),
        '+' => array('List'),
        '-' => array('SetextHeader', 'Table', 'Rule', 'List'),
        '0' => array('List'),
        '1' => array('List'),
        '2' => array('List'),
        '3' => array('List'),
        '4' => array('List'),
        '5' => array('List'),
        '6' => array('List'),
        '7' => array('List'),
        '8' => array('List'),
        '9' => array('List'),
        ':' => array('Table'),
        '<' => array('Comment', 'Markup'),
        '=' => array('SetextHeader'),
        '>' => array('Quote'),
        '[' => array('Reference'),
        '_' => array('Rule'),
        '`' => array('FencedCode'),
        '|' => array('Table'),
        '~' => array('FencedCode'),
    );

    # ~

    protected $unmarkedBlockTypes = array(
        'Code',
    );

    #
    # Blocks
    #

    protected function lines(array $lines)
    {
        $CurrentBlock = null;

        foreach ($lines as $line)
        {
            if (chop($line) === '')
            {
                if (isset($CurrentBlock))
                {
                    $CurrentBlock['interrupted'] = true;
                }

                continue;
            }

            if (strpos($line, "\t") !== false)
            {
                $parts = explode("\t", $line);

                $line = $parts[0];

                unset($parts[0]);

                foreach ($parts as $part)
                {
                    $shortage = 4 - mb_strlen($line, 'utf-8') % 4;

                    $line .= str_repeat(' ', $shortage);
                    $line .= $part;
                }
            }

            $indent = 0;

            while (isset($line[$indent]) and $line[$indent] === ' ')
            {
                $indent ++;
            }

            $text = $indent > 0 ? substr($line, $indent) : $line;

            # ~

            $Line = array('body' => $line, 'indent' => $indent, 'text' => $text);

            # ~

            if (isset($CurrentBlock['continuable']))
            {
                $Block = $this->{'block'.$CurrentBlock['type'].'Continue'}($Line, $CurrentBlock);

                if (isset($Block))
                {
                    $CurrentBlock = $Block;

                    continue;
                }
                else
                {
                    if ($this->isBlockCompletable($CurrentBlock['type']))
                    {
                        $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock);
                    }
                }
            }

            # ~

            $marker = $text[0];

            # ~

            $blockTypes = $this->unmarkedBlockTypes;

            if (isset($this->BlockTypes[$marker]))
            {
                foreach ($this->BlockTypes[$marker] as $blockType)
                {
                    $blockTypes []= $blockType;
                }
            }

            #
            # ~

            foreach ($blockTypes as $blockType)
            {
                $Block = $this->{'block'.$blockType}($Line, $CurrentBlock);

                if (isset($Block))
                {
                    $Block['type'] = $blockType;

                    if ( ! isset($Block['identified']))
                    {
                        $Blocks []= $CurrentBlock;

                        $Block['identified'] = true;
                    }

                    if ($this->isBlockContinuable($blockType))
                    {
                        $Block['continuable'] = true;
                    }

                    $CurrentBlock = $Block;

                    continue 2;
                }
            }

            # ~

            if (isset($CurrentBlock) and ! isset($CurrentBlock['type']) and ! isset($CurrentBlock['interrupted']))
            {
                $CurrentBlock['element']['text'] .= "\n".$text;
            }
            else
            {
                $Blocks []= $CurrentBlock;

                $CurrentBlock = $this->paragraph($Line);

                $CurrentBlock['identified'] = true;
            }
        }

        # ~

        if (isset($CurrentBlock['continuable']) and $this->isBlockCompletable($CurrentBlock['type']))
        {
            $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock);
        }

        # ~

        $Blocks []= $CurrentBlock;

        unset($Blocks[0]);

        # ~

        $markup = '';

        foreach ($Blocks as $Block)
        {
            if (isset($Block['hidden']))
            {
                continue;
            }

            $markup .= "\n";
            $markup .= isset($Block['markup']) ? $Block['markup'] : $this->element($Block['element']);
        }

        $markup .= "\n";

        # ~

        return $markup;
    }

    protected function isBlockContinuable($Type)
    {
        return method_exists($this, 'block'.$Type.'Continue');
    }

    protected function isBlockCompletable($Type)
    {
        return method_exists($this, 'block'.$Type.'Complete');
    }

    #
    # Code

    protected function blockCode($Line, $Block = null)
    {
        if (isset($Block) and ! isset($Block['type']) and ! isset($Block['interrupted']))
        {
            return;
        }

        if ($Line['indent'] >= 4)
        {
            $text = substr($Line['body'], 4);

            $Block = array(
                'element' => array(
                    'name' => 'pre',
                    'handler' => 'element',
                    'text' => array(
                        'name' => 'code',
                        'text' => $text,
                    ),
                ),
            );

            return $Block;
        }
    }

    protected function blockCodeContinue($Line, $Block)
    {
        if ($Line['indent'] >= 4)
        {
            if (isset($Block['interrupted']))
            {
                $Block['element']['text']['text'] .= "\n";

                unset($Block['interrupted']);
            }

            $Block['element']['text']['text'] .= "\n";

            $text = substr($Line['body'], 4);

            $Block['element']['text']['text'] .= $text;

            return $Block;
        }
    }

    protected function blockCodeComplete($Block)
    {
        $text = $Block['element']['text']['text'];

        $Block['element']['text']['text'] = $text;

        return $Block;
    }

    #
    # Comment

    protected function blockComment($Line)
    {
        if ($this->markupEscaped or $this->safeMode)
        {
            return;
        }

        if (isset($Line['text'][3]) and $Line['text'][3] === '-' and $Line['text'][2] === '-' and $Line['text'][1] === '!')
        {
            $Block = array(
                'markup' => $Line['body'],
            );

            if (preg_match('/-->$/', $Line['text']))
            {
                $Block['closed'] = true;
            }

            return $Block;
        }
    }

    protected function blockCommentContinue($Line, array $Block)
    {
        if (isset($Block['closed']))
        {
            return;
        }

        $Block['markup'] .= "\n" . $Line['body'];

        if (preg_match('/-->$/', $Line['text']))
        {
            $Block['closed'] = true;
        }

        return $Block;
    }

    #
    # Fenced Code

    protected function blockFencedCode($Line)
    {
        if (preg_match('/^['.$Line['text'][0].']{3,}[ ]*([^`]+)?[ ]*$/', $Line['text'], $matches))
        {
            $Element = array(
                'name' => 'code',
                'text' => '',
            );

            if (isset($matches[1]))
            {
                /**
                 * https://www.w3.org/TR/2011/WD-html5-20110525/elements.html#classes
                 * Every HTML element may have a class attribute specified.
                 * The attribute, if specified, must have a value that is a set
                 * of space-separated tokens representing the various classes
                 * that the element belongs to.
                 * [...]
                 * The space characters, for the purposes of this specification,
                 * are U+0020 SPACE, U+0009 CHARACTER TABULATION (tab),
                 * U+000A LINE FEED (LF), U+000C FORM FEED (FF), and
                 * U+000D CARRIAGE RETURN (CR).
                 */
                $language = substr($matches[1], 0, strcspn($matches[1], " \t\n\f\r"));

                $class = 'language-'.$language;

                $Element['attributes'] = array(
                    'class' => $class,
                );
            }

            $Block = array(
                'char' => $Line['text'][0],
                'element' => array(
                    'name' => 'pre',
                    'handler' => 'element',
                    'text' => $Element,
                ),
            );

            return $Block;
        }
    }

    protected function blockFencedCodeContinue($Line, $Block)
    {
        if (isset($Block['complete']))
        {
            return;
        }

        if (isset($Block['interrupted']))
        {
            $Block['element']['text']['text'] .= "\n";

            unset($Block['interrupted']);
        }

        if (preg_match('/^'.$Block['char'].'{3,}[ ]*$/', $Line['text']))
        {
            $Block['element']['text']['text'] = substr($Block['element']['text']['text'], 1);

            $Block['complete'] = true;

            return $Block;
        }

        $Block['element']['text']['text'] .= "\n".$Line['body'];

        return $Block;
    }

    protected function blockFencedCodeComplete($Block)
    {
        $text = $Block['element']['text']['text'];

        $Block['element']['text']['text'] = $text;

        return $Block;
    }

    #
    # Header

    protected function blockHeader($Line)
    {
        if (isset($Line['text'][1]))
        {
            $level = 1;

            while (isset($Line['text'][$level]) and $Line['text'][$level] === '#')
            {
                $level ++;
            }

            if ($level > 6)
            {
                return;
            }

            $text = trim($Line['text'], '# ');

            $Block = array(
                'element' => array(
                    'name' => 'h' . min(6, $level),
                    'text' => $text,
                    'handler' => 'line',
                ),
            );

            return $Block;
        }
    }

    #
    # List

    protected function blockList($Line)
    {
        list($name, $pattern) = $Line['text'][0] <= '-' ? array('ul', '[*+-]') : array('ol', '[0-9]+[.]');

        if (preg_match('/^('.$pattern.'[ ]+)(.*)/', $Line['text'], $matches))
        {
            $Block = array(
                'indent' => $Line['indent'],
                'pattern' => $pattern,
                'element' => array(
                    'name' => $name,
                    'handler' => 'elements',
                ),
            );

            if($name === 'ol')
            {
                $listStart = stristr($matches[0], '.', true);

                if($listStart !== '1')
                {
                    $Block['element']['attributes'] = array('start' => $listStart);
                }
            }

            $Block['li'] = array(
                'name' => 'li',
                'handler' => 'li',
                'text' => array(
                    $matches[2],
                ),
            );

            $Block['element']['text'] []= & $Block['li'];

            return $Block;
        }
    }

    protected function blockListContinue($Line, array $Block)
    {
        if ($Block['indent'] === $Line['indent'] and preg_match('/^'.$Block['pattern'].'(?:[ ]+(.*)|$)/', $Line['text'], $matches))
        {
            if (isset($Block['interrupted']))
            {
                $Block['li']['text'] []= '';

                $Block['loose'] = true;

                unset($Block['interrupted']);
            }

            unset($Block['li']);

            $text = isset($matches[1]) ? $matches[1] : '';

            $Block['li'] = array(
                'name' => 'li',
                'handler' => 'li',
                'text' => array(
                    $text,
                ),
            );

            $Block['element']['text'] []= & $Block['li'];

            return $Block;
        }

        if ($Line['text'][0] === '[' and $this->blockReference($Line))
        {
            return $Block;
        }

        if ( ! isset($Block['interrupted']))
        {
            $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']);

            $Block['li']['text'] []= $text;

            return $Block;
        }

        if ($Line['indent'] > 0)
        {
            $Block['li']['text'] []= '';

            $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']);

            $Block['li']['text'] []= $text;

            unset($Block['interrupted']);

            return $Block;
        }
    }

    protected function blockListComplete(array $Block)
    {
        if (isset($Block['loose']))
        {
            foreach ($Block['element']['text'] as &$li)
            {
                if (end($li['text']) !== '')
                {
                    $li['text'] []= '';
                }
            }
        }

        return $Block;
    }

    #
    # Quote

    protected function blockQuote($Line)
    {
        if (preg_match('/^>[ ]?(.*)/', $Line['text'], $matches))
        {
            $Block = array(
                'element' => array(
                    'name' => 'blockquote',
                    'handler' => 'lines',
                    'text' => (array) $matches[1],
                ),
            );

            return $Block;
        }
    }

    protected function blockQuoteContinue($Line, array $Block)
    {
        if ($Line['text'][0] === '>' and preg_match('/^>[ ]?(.*)/', $Line['text'], $matches))
        {
            if (isset($Block['interrupted']))
            {
                $Block['element']['text'] []= '';

                unset($Block['interrupted']);
            }

            $Block['element']['text'] []= $matches[1];

            return $Block;
        }

        if ( ! isset($Block['interrupted']))
        {
            $Block['element']['text'] []= $Line['text'];

            return $Block;
        }
    }

    #
    # Rule

    protected function blockRule($Line)
    {
        if (preg_match('/^(['.$Line['text'][0].'])([ ]*\1){2,}[ ]*$/', $Line['text']))
        {
            $Block = array(
                'element' => array(
                    'name' => 'hr'
                ),
            );

            return $Block;
        }
    }

    #
    # Setext

    protected function blockSetextHeader($Line, array $Block = null)
    {
        if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted']))
        {
            return;
        }

        if (chop($Line['text'], $Line['text'][0]) === '')
        {
            $Block['element']['name'] = $Line['text'][0] === '=' ? 'h1' : 'h2';

            return $Block;
        }
    }

    #
    # Markup

    protected function blockMarkup($Line)
    {
        if ($this->markupEscaped or $this->safeMode)
        {
            return;
        }

        if (preg_match('/^<(\w[\w-]*)(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*(\/)?>/', $Line['text'], $matches))
        {
            $element = strtolower($matches[1]);

            if (in_array($element, $this->textLevelElements))
            {
                return;
            }

            $Block = array(
                'name' => $matches[1],
                'depth' => 0,
                'markup' => $Line['text'],
            );

            $length = strlen($matches[0]);

            $remainder = substr($Line['text'], $length);

            if (trim($remainder) === '')
            {
                if (isset($matches[2]) or in_array($matches[1], $this->voidElements))
                {
                    $Block['closed'] = true;

                    $Block['void'] = true;
                }
            }
            else
            {
                if (isset($matches[2]) or in_array($matches[1], $this->voidElements))
                {
                    return;
                }

                if (preg_match('/<\/'.$matches[1].'>[ ]*$/i', $remainder))
                {
                    $Block['closed'] = true;
                }
            }

            return $Block;
        }
    }

    protected function blockMarkupContinue($Line, array $Block)
    {
        if (isset($Block['closed']))
        {
            return;
        }

        if (preg_match('/^<'.$Block['name'].'(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*>/i', $Line['text'])) # open
        {
            $Block['depth'] ++;
        }

        if (preg_match('/(.*?)<\/'.$Block['name'].'>[ ]*$/i', $Line['text'], $matches)) # close
        {
            if ($Block['depth'] > 0)
            {
                $Block['depth'] --;
            }
            else
            {
                $Block['closed'] = true;
            }
        }

        if (isset($Block['interrupted']))
        {
            $Block['markup'] .= "\n";

            unset($Block['interrupted']);
        }

        $Block['markup'] .= "\n".$Line['body'];

        return $Block;
    }

    #
    # Reference

    protected function blockReference($Line)
    {
        if (preg_match('/^\[(.+?)\]:[ ]*<?(\S+?)>?(?:[ ]+["\'(](.+)["\')])?[ ]*$/', $Line['text'], $matches))
        {
            $id = strtolower($matches[1]);

            $Data = array(
                'url' => $matches[2],
                'title' => null,
            );

            if (isset($matches[3]))
            {
                $Data['title'] = $matches[3];
            }

            $this->DefinitionData['Reference'][$id] = $Data;

            $Block = array(
                'hidden' => true,
            );

            return $Block;
        }
    }

    #
    # Table

    protected function blockTable($Line, array $Block = null)
    {
        if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted']))
        {
            return;
        }

        if (strpos($Block['element']['text'], '|') !== false and chop($Line['text'], ' -:|') === '')
        {
            $alignments = array();

            $divider = $Line['text'];

            $divider = trim($divider);
            $divider = trim($divider, '|');

            $dividerCells = explode('|', $divider);

            foreach ($dividerCells as $dividerCell)
            {
                $dividerCell = trim($dividerCell);

                if ($dividerCell === '')
                {
                    continue;
                }

                $alignment = null;

                if ($dividerCell[0] === ':')
                {
                    $alignment = 'left';
                }

                if (substr($dividerCell, - 1) === ':')
                {
                    $alignment = $alignment === 'left' ? 'center' : 'right';
                }

                $alignments []= $alignment;
            }

            # ~

            $HeaderElements = array();

            $header = $Block['element']['text'];

            $header = trim($header);
            $header = trim($header, '|');

            $headerCells = explode('|', $header);

            foreach ($headerCells as $index => $headerCell)
            {
                $headerCell = trim($headerCell);

                $HeaderElement = array(
                    'name' => 'th',
                    'text' => $headerCell,
                    'handler' => 'line',
                );

                if (isset($alignments[$index]))
                {
                    $alignment = $alignments[$index];

                    $HeaderElement['attributes'] = array(
                        'style' => 'text-align: '.$alignment.';',
                    );
                }

                $HeaderElements []= $HeaderElement;
            }

            # ~

            $Block = array(
                'alignments' => $alignments,
                'identified' => true,
                'element' => array(
                    'name' => 'table',
                    'handler' => 'elements',
                ),
            );

            $Block['element']['text'] []= array(
                'name' => 'thead',
                'handler' => 'elements',
            );

            $Block['element']['text'] []= array(
                'name' => 'tbody',
                'handler' => 'elements',
                'text' => array(),
            );

            $Block['element']['text'][0]['text'] []= array(
                'name' => 'tr',
                'handler' => 'elements',
                'text' => $HeaderElements,
            );

            return $Block;
        }
    }

    protected function blockTableContinue($Line, array $Block)
    {
        if (isset($Block['interrupted']))
        {
            return;
        }

        if ($Line['text'][0] === '|' or strpos($Line['text'], '|'))
        {
            $Elements = array();

            $row = $Line['text'];

            $row = trim($row);
            $row = trim($row, '|');

            preg_match_all('/(?:(\\\\[|])|[^|`]|`[^`]+`|`)+/', $row, $matches);

            foreach ($matches[0] as $index => $cell)
            {
                $cell = trim($cell);

                $Element = array(
                    'name' => 'td',
                    'handler' => 'line',
                    'text' => $cell,
                );

                if (isset($Block['alignments'][$index]))
                {
                    $Element['attributes'] = array(
                        'style' => 'text-align: '.$Block['alignments'][$index].';',
                    );
                }

                $Elements []= $Element;
            }

            $Element = array(
                'name' => 'tr',
                'handler' => 'elements',
                'text' => $Elements,
            );

            $Block['element']['text'][1]['text'] []= $Element;

            return $Block;
        }
    }

    #
    # ~
    #

    protected function paragraph($Line)
    {
        $Block = array(
            'element' => array(
                'name' => 'p',
                'text' => $Line['text'],
                'handler' => 'line',
            ),
        );

        return $Block;
    }

    #
    # Inline Elements
    #

    protected $InlineTypes = array(
        '"' => array('SpecialCharacter'),
        '!' => array('Image'),
        '&' => array('SpecialCharacter'),
        '*' => array('Emphasis'),
        ':' => array('Url'),
        '<' => array('UrlTag', 'EmailTag', 'Markup', 'SpecialCharacter'),
        '>' => array('SpecialCharacter'),
        '[' => array('Link'),
        '_' => array('Emphasis'),
        '`' => array('Code'),
        '~' => array('Strikethrough'),
        '\\' => array('EscapeSequence'),
    );

    # ~

    protected $inlineMarkerList = '!"*_&[:<>`~\\';

    #
    # ~
    #

    public function line($text, $nonNestables=array())
    {
        $markup = '';

        # $excerpt is based on the first occurrence of a marker

        while ($excerpt = strpbrk($text, $this->inlineMarkerList))
        {
            $marker = $excerpt[0];

            $markerPosition = strpos($text, $marker);

            $Excerpt = array('text' => $excerpt, 'context' => $text);

            foreach ($this->InlineTypes[$marker] as $inlineType)
            {
                # check to see if the current inline type is nestable in the current context

                if ( ! empty($nonNestables) and in_array($inlineType, $nonNestables))
                {
                    continue;
                }

                $Inline = $this->{'inline'.$inlineType}($Excerpt);

                if ( ! isset($Inline))
                {
                    continue;
                }

                # makes sure that the inline belongs to "our" marker

                if (isset($Inline['position']) and $Inline['position'] > $markerPosition)
                {
                    continue;
                }

                # sets a default inline position

                if ( ! isset($Inline['position']))
                {
                    $Inline['position'] = $markerPosition;
                }

                # cause the new element to 'inherit' our non nestables

                foreach ($nonNestables as $non_nestable)
                {
                    $Inline['element']['nonNestables'][] = $non_nestable;
                }

                # the text that comes before the inline
                $unmarkedText = substr($text, 0, $Inline['position']);

                # compile the unmarked text
                $markup .= $this->unmarkedText($unmarkedText);

                # compile the inline
                $markup .= isset($Inline['markup']) ? $Inline['markup'] : $this->element($Inline['element']);

                # remove the examined text
                $text = substr($text, $Inline['position'] + $Inline['extent']);

                continue 2;
            }

            # the marker does not belong to an inline

            $unmarkedText = substr($text, 0, $markerPosition + 1);

            $markup .= $this->unmarkedText($unmarkedText);

            $text = substr($text, $markerPosition + 1);
        }

        $markup .= $this->unmarkedText($text);

        return $markup;
    }

    #
    # ~
    #

    protected function inlineCode($Excerpt)
    {
        $marker = $Excerpt['text'][0];

        if (preg_match('/^('.$marker.'+)[ ]*(.+?)[ ]*(?<!'.$marker.')\1(?!'.$marker.')/s', $Excerpt['text'], $matches))
        {
            $text = $matches[2];
            $text = preg_replace("/[ ]*\n/", ' ', $text);

            return array(
                'extent' => strlen($matches[0]),
                'element' => array(
                    'name' => 'code',
                    'text' => $text,
                ),
            );
        }
    }

    protected function inlineEmailTag($Excerpt)
    {
        if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<((mailto:)?\S+?@\S+?)>/i', $Excerpt['text'], $matches))
        {
            $url = $matches[1];

            if ( ! isset($matches[2]))
            {
                $url = 'mailto:' . $url;
            }

            return array(
                'extent' => strlen($matches[0]),
                'element' => array(
                    'name' => 'a',
                    'text' => $matches[1],
                    'attributes' => array(
                        'href' => $url,
                    ),
                ),
            );
        }
    }

    protected function inlineEmphasis($Excerpt)
    {
        if ( ! isset($Excerpt['text'][1]))
        {
            return;
        }

        $marker = $Excerpt['text'][0];

        if ($Excerpt['text'][1] === $marker and preg_match($this->StrongRegex[$marker], $Excerpt['text'], $matches))
        {
            $emphasis = 'strong';
        }
        elseif (preg_match($this->EmRegex[$marker], $Excerpt['text'], $matches))
        {
            $emphasis = 'em';
        }
        else
        {
            return;
        }

        return array(
            'extent' => strlen($matches[0]),
            'element' => array(
                'name' => $emphasis,
                'handler' => 'line',
                'text' => $matches[1],
            ),
        );
    }

    protected function inlineEscapeSequence($Excerpt)
    {
        if (isset($Excerpt['text'][1]) and in_array($Excerpt['text'][1], $this->specialCharacters))
        {
            return array(
                'markup' => $Excerpt['text'][1],
                'extent' => 2,
            );
        }
    }

    protected function inlineImage($Excerpt)
    {
        if ( ! isset($Excerpt['text'][1]) or $Excerpt['text'][1] !== '[')
        {
            return;
        }

        $Excerpt['text']= substr($Excerpt['text'], 1);

        $Link = $this->inlineLink($Excerpt);

        if ($Link === null)
        {
            return;
        }

        $Inline = array(
            'extent' => $Link['extent'] + 1,
            'element' => array(
                'name' => 'img',
                'attributes' => array(
                    'src' => $Link['element']['attributes']['href'],
                    'alt' => $Link['element']['text'],
                ),
            ),
        );

        $Inline['element']['attributes'] += $Link['element']['attributes'];

        unset($Inline['element']['attributes']['href']);

        return $Inline;
    }

    protected function inlineLink($Excerpt)
    {
        $Element = array(
            'name' => 'a',
            'handler' => 'line',
            'nonNestables' => array('Url', 'Link'),
            'text' => null,
            'attributes' => array(
                'href' => null,
                'title' => null,
            ),
        );

        $extent = 0;

        $remainder = $Excerpt['text'];

        if (preg_match('/\[((?:[^][]++|(?R))*+)\]/', $remainder, $matches))
        {
            $Element['text'] = $matches[1];

            $extent += strlen($matches[0]);

            $remainder = substr($remainder, $extent);
        }
        else
        {
            return;
        }

        if (preg_match('/^[(]\s*+((?:[^ ()]++|[(][^ )]+[)])++)(?:[ ]+("[^"]*"|\'[^\']*\'))?\s*[)]/', $remainder, $matches))
        {
            $Element['attributes']['href'] = $matches[1];

            if (isset($matches[2]))
            {
                $Element['attributes']['title'] = substr($matches[2], 1, - 1);
            }

            $extent += strlen($matches[0]);
        }
        else
        {
            if (preg_match('/^\s*\[(.*?)\]/', $remainder, $matches))
            {
                $definition = strlen($matches[1]) ? $matches[1] : $Element['text'];
                $definition = strtolower($definition);

                $extent += strlen($matches[0]);
            }
            else
            {
                $definition = strtolower($Element['text']);
            }

            if ( ! isset($this->DefinitionData['Reference'][$definition]))
            {
                return;
            }

            $Definition = $this->DefinitionData['Reference'][$definition];

            $Element['attributes']['href'] = $Definition['url'];
            $Element['attributes']['title'] = $Definition['title'];
        }

        return array(
            'extent' => $extent,
            'element' => $Element,
        );
    }

    protected function inlineMarkup($Excerpt)
    {
        if ($this->markupEscaped or $this->safeMode or strpos($Excerpt['text'], '>') === false)
        {
            return;
        }

        if ($Excerpt['text'][1] === '/' and preg_match('/^<\/\w[\w-]*[ ]*>/s', $Excerpt['text'], $matches))
        {
            return array(
                'markup' => $matches[0],
                'extent' => strlen($matches[0]),
            );
        }

        if ($Excerpt['text'][1] === '!' and preg_match('/^<!---?[^>-](?:-?[^-])*-->/s', $Excerpt['text'], $matches))
        {
            return array(
                'markup' => $matches[0],
                'extent' => strlen($matches[0]),
            );
        }

        if ($Excerpt['text'][1] !== ' ' and preg_match('/^<\w[\w-]*(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*\/?>/s', $Excerpt['text'], $matches))
        {
            return array(
                'markup' => $matches[0],
                'extent' => strlen($matches[0]),
            );
        }
    }

    protected function inlineSpecialCharacter($Excerpt)
    {
        if ($Excerpt['text'][0] === '&' and ! preg_match('/^&#?\w+;/', $Excerpt['text']))
        {
            return array(
                'markup' => '&amp;',
                'extent' => 1,
            );
        }

        $SpecialCharacter = array('>' => 'gt', '<' => 'lt', '"' => 'quot');

        if (isset($SpecialCharacter[$Excerpt['text'][0]]))
        {
            return array(
                'markup' => '&'.$SpecialCharacter[$Excerpt['text'][0]].';',
                'extent' => 1,
            );
        }
    }

    protected function inlineStrikethrough($Excerpt)
    {
        if ( ! isset($Excerpt['text'][1]))
        {
            return;
        }

        if ($Excerpt['text'][1] === '~' and preg_match('/^~~(?=\S)(.+?)(?<=\S)~~/', $Excerpt['text'], $matches))
        {
            return array(
                'extent' => strlen($matches[0]),
                'element' => array(
                    'name' => 'del',
                    'text' => $matches[1],
                    'handler' => 'line',
                ),
            );
        }
    }

    protected function inlineUrl($Excerpt)
    {
        if ($this->urlsLinked !== true or ! isset($Excerpt['text'][2]) or $Excerpt['text'][2] !== '/')
        {
            return;
        }

        if (preg_match('/\bhttps?:[\/]{2}[^\s<]+\b\/*/ui', $Excerpt['context'], $matches, PREG_OFFSET_CAPTURE))
        {
            $url = $matches[0][0];

            $Inline = array(
                'extent' => strlen($matches[0][0]),
                'position' => $matches[0][1],
                'element' => array(
                    'name' => 'a',
                    'text' => $url,
                    'attributes' => array(
                        'href' => $url,
                    ),
                ),
            );

            return $Inline;
        }
    }

    protected function inlineUrlTag($Excerpt)
    {
        if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<(\w+:\/{2}[^ >]+)>/i', $Excerpt['text'], $matches))
        {
            $url = $matches[1];

            return array(
                'extent' => strlen($matches[0]),
                'element' => array(
                    'name' => 'a',
                    'text' => $url,
                    'attributes' => array(
                        'href' => $url,
                    ),
                ),
            );
        }
    }

    # ~

    protected function unmarkedText($text)
    {
        if ($this->breaksEnabled)
        {
            $text = preg_replace('/[ ]*\n/', "<br />\n", $text);
        }
        else
        {
            $text = preg_replace('/(?:[ ][ ]+|[ ]*\\\\)\n/', "<br />\n", $text);
            $text = str_replace(" \n", "\n", $text);
        }

        return $text;
    }

    #
    # Handlers
    #

    protected function element(array $Element)
    {
        if ($this->safeMode)
        {
            $Element = $this->sanitiseElement($Element);
        }

        $markup = '<'.$Element['name'];

        if (isset($Element['attributes']))
        {
            foreach ($Element['attributes'] as $name => $value)
            {
                if ($value === null)
                {
                    continue;
                }

                $markup .= ' '.$name.'="'.self::escape($value).'"';
            }
        }

        $permitRawHtml = false;

        if (isset($Element['text']))
        {
            $text = $Element['text'];
        }
        // very strongly consider an alternative if you're writing an
        // extension
        elseif (isset($Element['rawHtml']))
        {
            $text = $Element['rawHtml'];
            $allowRawHtmlInSafeMode = isset($Element['allowRawHtmlInSafeMode']) && $Element['allowRawHtmlInSafeMode'];
            $permitRawHtml = !$this->safeMode || $allowRawHtmlInSafeMode;
        }

        if (isset($text))
        {
            $markup .= '>';

            if (!isset($Element['nonNestables']))
            {
                $Element['nonNestables'] = array();
            }

            if (isset($Element['handler']))
            {
                $markup .= $this->{$Element['handler']}($text, $Element['nonNestables']);
            }
            elseif (!$permitRawHtml)
            {
                $markup .= self::escape($text, true);
            }
            else
            {
                $markup .= $text;
            }

            $markup .= '</'.$Element['name'].'>';
        }
        else
        {
            $markup .= ' />';
        }

        return $markup;
    }

    protected function elements(array $Elements)
    {
        $markup = '';

        foreach ($Elements as $Element)
        {
            $markup .= "\n" . $this->element($Element);
        }

        $markup .= "\n";

        return $markup;
    }

    # ~

    protected function li($lines)
    {
        $markup = $this->lines($lines);

        $trimmedMarkup = trim($markup);

        if ( ! in_array('', $lines) and substr($trimmedMarkup, 0, 3) === '<p>')
        {
            $markup = $trimmedMarkup;
            $markup = substr($markup, 3);

            $position = strpos($markup, "</p>");

            $markup = substr_replace($markup, '', $position, 4);
        }

        return $markup;
    }

    #
    # Deprecated Methods
    #

    function parse($text)
    {
        $markup = $this->text($text);

        return $markup;
    }

    protected function sanitiseElement(array $Element)
    {
        static $goodAttribute = '/^[a-zA-Z0-9][a-zA-Z0-9-_]*+$/';
        static $safeUrlNameToAtt  = array(
            'a'   => 'href',
            'img' => 'src',
        );

        if (isset($safeUrlNameToAtt[$Element['name']]))
        {
            $Element = $this->filterUnsafeUrlInAttribute($Element, $safeUrlNameToAtt[$Element['name']]);
        }

        if ( ! empty($Element['attributes']))
        {
            foreach ($Element['attributes'] as $att => $val)
            {
                # filter out badly parsed attribute
                if ( ! preg_match($goodAttribute, $att))
                {
                    unset($Element['attributes'][$att]);
                }
                # dump onevent attribute
                elseif (self::striAtStart($att, 'on'))
                {
                    unset($Element['attributes'][$att]);
                }
            }
        }

        return $Element;
    }

    protected function filterUnsafeUrlInAttribute(array $Element, $attribute)
    {
        foreach ($this->safeLinksWhitelist as $scheme)
        {
            if (self::striAtStart($Element['attributes'][$attribute], $scheme))
            {
                return $Element;
            }
        }

        $Element['attributes'][$attribute] = str_replace(':', '%3A', $Element['attributes'][$attribute]);

        return $Element;
    }

    #
    # Static Methods
    #

    protected static function escape($text, $allowQuotes = false)
    {
        return htmlspecialchars($text, $allowQuotes ? ENT_NOQUOTES : ENT_QUOTES, 'UTF-8');
    }

    protected static function striAtStart($string, $needle)
    {
        $len = strlen($needle);

        if ($len > strlen($string))
        {
            return false;
        }
        else
        {
            return strtolower(substr($string, 0, $len)) === strtolower($needle);
        }
    }

    static function instance($name = 'default')
    {
        if (isset(self::$instances[$name]))
        {
            return self::$instances[$name];
        }

        $instance = new static();

        self::$instances[$name] = $instance;

        return $instance;
    }

    private static $instances = array();

    #
    # Fields
    #

    protected $DefinitionData;

    #
    # Read-Only

    protected $specialCharacters = array(
        '\\', '`', '*', '_', '{', '}', '[', ']', '(', ')', '>', '#', '+', '-', '.', '!', '|',
    );

    protected $StrongRegex = array(
        '*' => '/^[*]{2}((?:\\\\\*|[^*]|[*][^*]*[*])+?)[*]{2}(?![*])/s',
        '_' => '/^__((?:\\\\_|[^_]|_[^_]*_)+?)__(?!_)/us',
    );

    protected $EmRegex = array(
        '*' => '/^[*]((?:\\\\\*|[^*]|[*][*][^*]+?[*][*])+?)[*](?![*])/s',
        '_' => '/^_((?:\\\\_|[^_]|__[^_]*__)+?)_(?!_)\b/us',
    );

    protected $regexHtmlAttribute = '[a-zA-Z_:][\w:.-]*(?:\s*=\s*(?:[^"\'=<>`\s]+|"[^"]*"|\'[^\']*\'))?';

    protected $voidElements = array(
        'area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source',
    );

    protected $textLevelElements = array(
        'a', 'br', 'bdo', 'abbr', 'blink', 'nextid', 'acronym', 'basefont',
        'b', 'em', 'big', 'cite', 'small', 'spacer', 'listing',
        'i', 'rp', 'del', 'code',          'strike', 'marquee',
        'q', 'rt', 'ins', 'font',          'strong',
        's', 'tt', 'kbd', 'mark',
        'u', 'xm', 'sub', 'nobr',
                   'sup', 'ruby',
                   'var', 'span',
                   'wbr', 'time',
    );
}
vendor/erusev/parsedown-extra/ParsedownExtra.php000060400000031323150750356250016162 0ustar00<?php

#
#
# Parsedown Extra
# https://github.com/erusev/parsedown-extra
#
# (c) Emanuil Rusev
# http://erusev.com
#
# For the full license information, view the LICENSE file that was distributed
# with this source code.
#
#

class ParsedownExtra extends Parsedown
{
    # ~

    const version = '0.7.0';

    # ~

    function __construct()
    {
        if (parent::version < '1.5.0')
        {
            throw new Exception('ParsedownExtra requires a later version of Parsedown');
        }

        $this->BlockTypes[':'] []= 'DefinitionList';
        $this->BlockTypes['*'] []= 'Abbreviation';

        # identify footnote definitions before reference definitions
        array_unshift($this->BlockTypes['['], 'Footnote');

        # identify footnote markers before before links
        array_unshift($this->InlineTypes['['], 'FootnoteMarker');
    }

    #
    # ~

    function text($text)
    {
        $markup = parent::text($text);

        # merge consecutive dl elements

        $markup = preg_replace('/<\/dl>\s+<dl>\s+/', '', $markup);

        # add footnotes

        if (isset($this->DefinitionData['Footnote']))
        {
            $Element = $this->buildFootnoteElement();

            $markup .= "\n" . $this->element($Element);
        }

        return $markup;
    }

    #
    # Blocks
    #

    #
    # Abbreviation

    protected function blockAbbreviation($Line)
    {
        if (preg_match('/^\*\[(.+?)\]:[ ]*(.+?)[ ]*$/', $Line['text'], $matches))
        {
            $this->DefinitionData['Abbreviation'][$matches[1]] = $matches[2];

            $Block = array(
                'hidden' => true,
            );

            return $Block;
        }
    }

    #
    # Footnote

    protected function blockFootnote($Line)
    {
        if (preg_match('/^\[\^(.+?)\]:[ ]?(.*)$/', $Line['text'], $matches))
        {
            $Block = array(
                'label' => $matches[1],
                'text' => $matches[2],
                'hidden' => true,
            );

            return $Block;
        }
    }

    protected function blockFootnoteContinue($Line, $Block)
    {
        if ($Line['text'][0] === '[' and preg_match('/^\[\^(.+?)\]:/', $Line['text']))
        {
            return;
        }

        if (isset($Block['interrupted']))
        {
            if ($Line['indent'] >= 4)
            {
                $Block['text'] .= "\n\n" . $Line['text'];

                return $Block;
            }
        }
        else
        {
            $Block['text'] .= "\n" . $Line['text'];

            return $Block;
        }
    }

    protected function blockFootnoteComplete($Block)
    {
        $this->DefinitionData['Footnote'][$Block['label']] = array(
            'text' => $Block['text'],
            'count' => null,
            'number' => null,
        );

        return $Block;
    }

    #
    # Definition List

    protected function blockDefinitionList($Line, $Block)
    {
        if ( ! isset($Block) or isset($Block['type']))
        {
            return;
        }

        $Element = array(
            'name' => 'dl',
            'handler' => 'elements',
            'text' => array(),
        );

        $terms = explode("\n", $Block['element']['text']);

        foreach ($terms as $term)
        {
            $Element['text'] []= array(
                'name' => 'dt',
                'handler' => 'line',
                'text' => $term,
            );
        }

        $Block['element'] = $Element;

        $Block = $this->addDdElement($Line, $Block);

        return $Block;
    }

    protected function blockDefinitionListContinue($Line, array $Block)
    {
        if ($Line['text'][0] === ':')
        {
            $Block = $this->addDdElement($Line, $Block);

            return $Block;
        }
        else
        {
            if (isset($Block['interrupted']) and $Line['indent'] === 0)
            {
                return;
            }

            if (isset($Block['interrupted']))
            {
                $Block['dd']['handler'] = 'text';
                $Block['dd']['text'] .= "\n\n";

                unset($Block['interrupted']);
            }

            $text = substr($Line['body'], min($Line['indent'], 4));

            $Block['dd']['text'] .= "\n" . $text;

            return $Block;
        }
    }

    #
    # Header

    protected function blockHeader($Line)
    {
        $Block = parent::blockHeader($Line);

        if (preg_match('/[ #]*{('.$this->regexAttribute.'+)}[ ]*$/', $Block['element']['text'], $matches, PREG_OFFSET_CAPTURE))
        {
            $attributeString = $matches[1][0];

            $Block['element']['attributes'] = $this->parseAttributeData($attributeString);

            $Block['element']['text'] = substr($Block['element']['text'], 0, $matches[0][1]);
        }

        return $Block;
    }

    #
    # Markup

    protected function blockMarkupComplete($Block)
    {
        if ( ! isset($Block['void']))
        {
            $Block['markup'] = $this->processTag($Block['markup']);
        }

        return $Block;
    }

    #
    # Setext

    protected function blockSetextHeader($Line, array $Block = null)
    {
        $Block = parent::blockSetextHeader($Line, $Block);

        if (preg_match('/[ ]*{('.$this->regexAttribute.'+)}[ ]*$/', $Block['element']['text'], $matches, PREG_OFFSET_CAPTURE))
        {
            $attributeString = $matches[1][0];

            $Block['element']['attributes'] = $this->parseAttributeData($attributeString);

            $Block['element']['text'] = substr($Block['element']['text'], 0, $matches[0][1]);
        }

        return $Block;
    }

    #
    # Inline Elements
    #

    #
    # Footnote Marker

    protected function inlineFootnoteMarker($Excerpt)
    {
        if (preg_match('/^\[\^(.+?)\]/', $Excerpt['text'], $matches))
        {
            $name = $matches[1];

            if ( ! isset($this->DefinitionData['Footnote'][$name]))
            {
                return;
            }

            $this->DefinitionData['Footnote'][$name]['count'] ++;

            if ( ! isset($this->DefinitionData['Footnote'][$name]['number']))
            {
                $this->DefinitionData['Footnote'][$name]['number'] = ++ $this->footnoteCount; # » &
            }

            $Element = array(
                'name' => 'sup',
                'attributes' => array('id' => 'fnref'.$this->DefinitionData['Footnote'][$name]['count'].':'.$name),
                'handler' => 'element',
                'text' => array(
                    'name' => 'a',
                    'attributes' => array('href' => '#fn:'.$name, 'class' => 'footnote-ref'),
                    'text' => $this->DefinitionData['Footnote'][$name]['number'],
                ),
            );

            return array(
                'extent' => strlen($matches[0]),
                'element' => $Element,
            );
        }
    }

    private $footnoteCount = 0;

    #
    # Link

    protected function inlineLink($Excerpt)
    {
        $Link = parent::inlineLink($Excerpt);

        $remainder = substr($Excerpt['text'], $Link['extent']);

        if (preg_match('/^[ ]*{('.$this->regexAttribute.'+)}/', $remainder, $matches))
        {
            $Link['element']['attributes'] += $this->parseAttributeData($matches[1]);

            $Link['extent'] += strlen($matches[0]);
        }

        return $Link;
    }

    #
    # ~
    #

    protected function unmarkedText($text)
    {
        $text = parent::unmarkedText($text);

        if (isset($this->DefinitionData['Abbreviation']))
        {
            foreach ($this->DefinitionData['Abbreviation'] as $abbreviation => $meaning)
            {
                $pattern = '/\b'.preg_quote($abbreviation, '/').'\b/';

                $text = preg_replace($pattern, '<abbr title="'.$meaning.'">'.$abbreviation.'</abbr>', $text);
            }
        }

        return $text;
    }

    #
    # Util Methods
    #

    protected function addDdElement(array $Line, array $Block)
    {
        $text = substr($Line['text'], 1);
        $text = trim($text);

        unset($Block['dd']);

        $Block['dd'] = array(
            'name' => 'dd',
            'handler' => 'line',
            'text' => $text,
        );

        if (isset($Block['interrupted']))
        {
            $Block['dd']['handler'] = 'text';

            unset($Block['interrupted']);
        }

        $Block['element']['text'] []= & $Block['dd'];

        return $Block;
    }

    protected function buildFootnoteElement()
    {
        $Element = array(
            'name' => 'div',
            'attributes' => array('class' => 'footnotes'),
            'handler' => 'elements',
            'text' => array(
                array(
                    'name' => 'hr',
                ),
                array(
                    'name' => 'ol',
                    'handler' => 'elements',
                    'text' => array(),
                ),
            ),
        );

        uasort($this->DefinitionData['Footnote'], 'self::sortFootnotes');

        foreach ($this->DefinitionData['Footnote'] as $definitionId => $DefinitionData)
        {
            if ( ! isset($DefinitionData['number']))
            {
                continue;
            }

            $text = $DefinitionData['text'];

            $text = parent::text($text);

            $numbers = range(1, $DefinitionData['count']);

            $backLinksMarkup = '';

            foreach ($numbers as $number)
            {
                $backLinksMarkup .= ' <a href="#fnref'.$number.':'.$definitionId.'" rev="footnote" class="footnote-backref">&#8617;</a>';
            }

            $backLinksMarkup = substr($backLinksMarkup, 1);

            if (substr($text, - 4) === '</p>')
            {
                $backLinksMarkup = '&#160;'.$backLinksMarkup;

                $text = substr_replace($text, $backLinksMarkup.'</p>', - 4);
            }
            else
            {
                $text .= "\n".'<p>'.$backLinksMarkup.'</p>';
            }

            $Element['text'][1]['text'] []= array(
                'name' => 'li',
                'attributes' => array('id' => 'fn:'.$definitionId),
                'text' => "\n".$text."\n",
            );
        }

        return $Element;
    }

    # ~

    protected function parseAttributeData($attributeString)
    {
        $Data = array();

        $attributes = preg_split('/[ ]+/', $attributeString, - 1, PREG_SPLIT_NO_EMPTY);

        foreach ($attributes as $attribute)
        {
            if ($attribute[0] === '#')
            {
                $Data['id'] = substr($attribute, 1);
            }
            else # "."
            {
                $classes []= substr($attribute, 1);
            }
        }

        if (isset($classes))
        {
            $Data['class'] = implode(' ', $classes);
        }

        return $Data;
    }

    # ~

    protected function processTag($elementMarkup) # recursive
    {
        # http://stackoverflow.com/q/1148928/200145
        libxml_use_internal_errors(true);

        $DOMDocument = new DOMDocument;

        # http://stackoverflow.com/q/11309194/200145
        $elementMarkup = mb_convert_encoding($elementMarkup, 'HTML-ENTITIES', 'UTF-8');

        # http://stackoverflow.com/q/4879946/200145
        $DOMDocument->loadHTML($elementMarkup);
        $DOMDocument->removeChild($DOMDocument->doctype);
        $DOMDocument->replaceChild($DOMDocument->firstChild->firstChild->firstChild, $DOMDocument->firstChild);

        $elementText = '';

        if ($DOMDocument->documentElement->getAttribute('markdown') === '1')
        {
            foreach ($DOMDocument->documentElement->childNodes as $Node)
            {
                $elementText .= $DOMDocument->saveHTML($Node);
            }

            $DOMDocument->documentElement->removeAttribute('markdown');

            $elementText = "\n".$this->text($elementText)."\n";
        }
        else
        {
            foreach ($DOMDocument->documentElement->childNodes as $Node)
            {
                $nodeMarkup = $DOMDocument->saveHTML($Node);

                if ($Node instanceof DOMElement and ! in_array($Node->nodeName, $this->textLevelElements))
                {
                    $elementText .= $this->processTag($nodeMarkup);
                }
                else
                {
                    $elementText .= $nodeMarkup;
                }
            }
        }

        # because we don't want for markup to get encoded
        $DOMDocument->documentElement->nodeValue = 'placeholder\x1A';

        $markup = $DOMDocument->saveHTML($DOMDocument->documentElement);
        $markup = str_replace('placeholder\x1A', $elementText, $markup);

        return $markup;
    }

    # ~

    protected function sortFootnotes($A, $B) # callback
    {
        return $A['number'] - $B['number'];
    }

    #
    # Fields
    #

    protected $regexAttribute = '(?:[#.][-\w]+[ ]*)';
}
vendor/erusev/parsedown-extra/composer.json000060400000001121150750356250015216 0ustar00{
    "name": "erusev/parsedown-extra",
    "description": "An extension of Parsedown that adds support for Markdown Extra.",
    "keywords": ["markdown", "markdown extra", "parser", "parsedown"],
    "homepage": "https://github.com/erusev/parsedown-extra",
    "type": "library",
    "license": "MIT",
    "authors": [
        {
            "name": "Emanuil Rusev",
            "email": "hello@erusev.com",
            "homepage": "http://erusev.com"
        }
    ],
    "require": {
        "erusev/parsedown": "~1.4"
    },
    "autoload": {
        "psr-0": {"ParsedownExtra": ""}
    }
}vendor/twig/twig/.php_cs.dist000060400000001437150750356250012215 0ustar00<?php

return PhpCsFixer\Config::create()
    ->setRules([
        '@Symfony' => true,
        '@Symfony:risky' => true,
        '@PHPUnit75Migration:risky' => true,
        'php_unit_dedicate_assert' => ['target' => '5.6'],
        'array_syntax' => ['syntax' => 'short'],
        'php_unit_fqcn_annotation' => true,
        'no_unreachable_default_argument_value' => false,
        'braces' => ['allow_single_line_closure' => true],
        'heredoc_to_nowdoc' => false,
        'ordered_imports' => true,
        'phpdoc_types_order' => ['null_adjustment' => 'always_last', 'sort_algorithm' => 'none'],
        'native_function_invocation' => ['include' => ['@compiler_optimized'], 'scope' => 'all'],
    ])
    ->setRiskyAllowed(true)
    ->setFinder(PhpCsFixer\Finder::create()->in(__DIR__))
;
vendor/twig/twig/composer.json000060400000002323150750356250012513 0ustar00{
    "name": "twig/twig",
    "type": "library",
    "description": "Twig, the flexible, fast, and secure template language for PHP",
    "keywords": ["templating"],
    "homepage": "https://twig.symfony.com",
    "license": "BSD-3-Clause",
    "authors": [
        {
            "name": "Fabien Potencier",
            "email": "fabien@symfony.com",
            "homepage": "http://fabien.potencier.org",
            "role": "Lead Developer"
        },
        {
            "name": "Twig Team",
            "role": "Contributors"
        },
        {
            "name": "Armin Ronacher",
            "email": "armin.ronacher@active-4.com",
            "role": "Project Founder"
        }
    ],
    "require": {
        "php": ">=5.5.0",
        "symfony/polyfill-ctype": "^1.8"
    },
    "require-dev": {
        "symfony/phpunit-bridge": "^4.4|^5.0",
        "psr/container": "^1.0"
    },
    "autoload": {
        "psr-0" : {
            "Twig_" : "lib/"
        },
        "psr-4" : {
            "Twig\\" : "src/"
        }
    },
    "autoload-dev": {
        "psr-4" : {
            "Twig\\Tests\\" : "tests"
        }
    },
    "extra": {
        "branch-alias": {
            "dev-master": "1.42-dev"
        }
    }
}
vendor/twig/twig/lib/Twig/FunctionInterface.php000060400000001454150750356250015574 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Arnaud Le Blanc
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

use Twig\Node\Node;

/**
 * Represents a template function.
 *
 * Use \Twig\TwigFunction instead.
 *
 * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
 *
 * @deprecated since 1.12 (to be removed in 2.0)
 */
interface Twig_FunctionInterface
{
    /**
     * Compiles a function.
     *
     * @return string The PHP code for the function
     */
    public function compile();

    public function needsEnvironment();

    public function needsContext();

    public function getSafe(Node $filterArgs);

    public function setArguments($arguments);

    public function getArguments();
}
vendor/twig/twig/lib/Twig/Filter/Function.php000060400000001605150750356250015176 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

@trigger_error('The Twig_Filter_Function class is deprecated since version 1.12 and will be removed in 2.0. Use \Twig\TwigFilter instead.', E_USER_DEPRECATED);

/**
 * Represents a function template filter.
 *
 * Use \Twig\TwigFilter instead.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.12 (to be removed in 2.0)
 */
class Twig_Filter_Function extends Twig_Filter
{
    protected $function;

    public function __construct($function, array $options = [])
    {
        $options['callable'] = $function;

        parent::__construct($options);

        $this->function = $function;
    }

    public function compile()
    {
        return $this->function;
    }
}
vendor/twig/twig/lib/Twig/Filter/Node.php000060400000001560150750356250014276 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

@trigger_error('The Twig_Filter_Node class is deprecated since version 1.12 and will be removed in 2.0. Use \Twig\TwigFilter instead.', E_USER_DEPRECATED);

/**
 * Represents a template filter as a node.
 *
 * Use \Twig\TwigFilter instead.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.12 (to be removed in 2.0)
 */
class Twig_Filter_Node extends Twig_Filter
{
    protected $class;

    public function __construct($class, array $options = [])
    {
        parent::__construct($options);

        $this->class = $class;
    }

    public function getClass()
    {
        return $this->class;
    }

    public function compile()
    {
    }
}
vendor/twig/twig/lib/Twig/Filter/Method.php000060400000002130150750356250014623 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

use Twig\Extension\ExtensionInterface;

@trigger_error('The Twig_Filter_Method class is deprecated since version 1.12 and will be removed in 2.0. Use \Twig\TwigFilter instead.', E_USER_DEPRECATED);

/**
 * Represents a method template filter.
 *
 * Use \Twig\TwigFilter instead.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.12 (to be removed in 2.0)
 */
class Twig_Filter_Method extends Twig_Filter
{
    protected $extension;
    protected $method;

    public function __construct(ExtensionInterface $extension, $method, array $options = [])
    {
        $options['callable'] = [$extension, $method];

        parent::__construct($options);

        $this->extension = $extension;
        $this->method = $method;
    }

    public function compile()
    {
        return sprintf('$this->env->getExtension(\'%s\')->%s', \get_class($this->extension), $this->method);
    }
}
vendor/twig/twig/lib/Twig/ExpressionParser.php000060400000000240150750356250015472 0ustar00<?php

use Twig\ExpressionParser;

class_exists('Twig\ExpressionParser');

if (\false) {
    class Twig_ExpressionParser extends ExpressionParser
    {
    }
}
vendor/twig/twig/lib/Twig/Error/Runtime.php000060400000000235150750356250014676 0ustar00<?php

use Twig\Error\RuntimeError;

class_exists('Twig\Error\RuntimeError');

if (\false) {
    class Twig_Error_Runtime extends RuntimeError
    {
    }
}
vendor/twig/twig/lib/Twig/Error/Loader.php000060400000000231150750356250014455 0ustar00<?php

use Twig\Error\LoaderError;

class_exists('Twig\Error\LoaderError');

if (\false) {
    class Twig_Error_Loader extends LoaderError
    {
    }
}
vendor/twig/twig/lib/Twig/Error/Syntax.php000060400000000231150750356250014535 0ustar00<?php

use Twig\Error\SyntaxError;

class_exists('Twig\Error\SyntaxError');

if (\false) {
    class Twig_Error_Syntax extends SyntaxError
    {
    }
}
vendor/twig/twig/lib/Twig/Autoloader.php000060400000002710150750356250014261 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

@trigger_error('The Twig_Autoloader class is deprecated since version 1.21 and will be removed in 2.0. Use Composer instead.', E_USER_DEPRECATED);

/**
 * Autoloads Twig classes.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.21 and will be removed in 2.0. Use Composer instead. 2.0.
 */
class Twig_Autoloader
{
    /**
     * Registers Twig_Autoloader as an SPL autoloader.
     *
     * @param bool $prepend whether to prepend the autoloader or not
     */
    public static function register($prepend = false)
    {
        @trigger_error('Using Twig_Autoloader is deprecated since version 1.21. Use Composer instead.', E_USER_DEPRECATED);

        spl_autoload_register([__CLASS__, 'autoload'], true, $prepend);
    }

    /**
     * Handles autoloading of classes.
     *
     * @param string $class a class name
     */
    public static function autoload($class)
    {
        if (0 !== strpos($class, 'Twig')) {
            return;
        }

        if (is_file($file = __DIR__.'/../'.str_replace(['_', "\0"], ['/', ''], $class).'.php')) {
            require $file;
        } elseif (is_file($file = __DIR__.'/../../src/'.str_replace(['Twig\\', '\\', "\0"], ['', '/', ''], $class).'.php')) {
            require $file;
        }
    }
}
vendor/twig/twig/lib/Twig/ParserInterface.php000060400000001305150750356250015236 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

use Twig\Error\SyntaxError;
use Twig\Node\ModuleNode;
use Twig\TokenStream;

/**
 * Interface implemented by parser classes.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.12 (to be removed in 3.0)
 */
interface Twig_ParserInterface
{
    /**
     * Converts a token stream to a node tree.
     *
     * @return ModuleNode
     *
     * @throws SyntaxError When the token stream is syntactically or semantically wrong
     */
    public function parse(TokenStream $stream);
}
vendor/twig/twig/lib/Twig/Profiler/Dumper/Html.php000060400000000262150750356250016104 0ustar00<?php

use Twig\Profiler\Dumper\HtmlDumper;

class_exists('Twig\Profiler\Dumper\HtmlDumper');

if (\false) {
    class Twig_Profiler_Dumper_Html extends HtmlDumper
    {
    }
}
vendor/twig/twig/lib/Twig/Profiler/Dumper/Text.php000060400000000262150750356250016124 0ustar00<?php

use Twig\Profiler\Dumper\TextDumper;

class_exists('Twig\Profiler\Dumper\TextDumper');

if (\false) {
    class Twig_Profiler_Dumper_Text extends TextDumper
    {
    }
}
vendor/twig/twig/lib/Twig/Profiler/Dumper/Base.php000060400000000262150750356250016052 0ustar00<?php

use Twig\Profiler\Dumper\BaseDumper;

class_exists('Twig\Profiler\Dumper\BaseDumper');

if (\false) {
    class Twig_Profiler_Dumper_Base extends BaseDumper
    {
    }
}
vendor/twig/twig/lib/Twig/Profiler/Dumper/Blackfire.php000060400000000306150750356250017061 0ustar00<?php

use Twig\Profiler\Dumper\BlackfireDumper;

class_exists('Twig\Profiler\Dumper\BlackfireDumper');

if (\false) {
    class Twig_Profiler_Dumper_Blackfire extends BlackfireDumper
    {
    }
}
vendor/twig/twig/lib/Twig/Profiler/Node/LeaveProfile.php000060400000000306150750356250017205 0ustar00<?php

use Twig\Profiler\Node\LeaveProfileNode;

class_exists('Twig\Profiler\Node\LeaveProfileNode');

if (\false) {
    class Twig_Profiler_Node_LeaveProfile extends LeaveProfileNode
    {
    }
}
vendor/twig/twig/lib/Twig/Profiler/Node/EnterProfile.php000060400000000306150750356250017226 0ustar00<?php

use Twig\Profiler\Node\EnterProfileNode;

class_exists('Twig\Profiler\Node\EnterProfileNode');

if (\false) {
    class Twig_Profiler_Node_EnterProfile extends EnterProfileNode
    {
    }
}
vendor/twig/twig/lib/Twig/Profiler/Profile.php000060400000000227150750356250015345 0ustar00<?php

use Twig\Profiler\Profile;

class_exists('Twig\Profiler\Profile');

if (\false) {
    class Twig_Profiler_Profile extends Profile
    {
    }
}
vendor/twig/twig/lib/Twig/Profiler/NodeVisitor/Profiler.php000060400000000340150750356250017770 0ustar00<?php

use Twig\Profiler\NodeVisitor\ProfilerNodeVisitor;

class_exists('Twig\Profiler\NodeVisitor\ProfilerNodeVisitor');

if (\false) {
    class Twig_Profiler_NodeVisitor_Profiler extends ProfilerNodeVisitor
    {
    }
}
vendor/twig/twig/lib/Twig/FunctionCallableInterface.php000060400000000734150750356250017214 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

/**
 * Represents a callable template function.
 *
 * Use \Twig\TwigFunction instead.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.12 (to be removed in 2.0)
 */
interface Twig_FunctionCallableInterface
{
    public function getCallable();
}
vendor/twig/twig/lib/Twig/TokenParserBroker.php000060400000007000150750356250015561 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Arnaud Le Blanc
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

use Twig\TokenParser\TokenParserInterface;

/**
 * Default implementation of a token parser broker.
 *
 * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
 *
 * @deprecated since 1.12 (to be removed in 2.0)
 */
class Twig_TokenParserBroker implements Twig_TokenParserBrokerInterface
{
    protected $parser;
    protected $parsers = [];
    protected $brokers = [];

    /**
     * @param array|\Traversable $parsers                 A \Traversable of Twig_TokenParserInterface instances
     * @param array|\Traversable $brokers                 A \Traversable of Twig_TokenParserBrokerInterface instances
     * @param bool               $triggerDeprecationError
     */
    public function __construct($parsers = [], $brokers = [], $triggerDeprecationError = true)
    {
        if ($triggerDeprecationError) {
            @trigger_error('The '.__CLASS__.' class is deprecated since version 1.12 and will be removed in 2.0.', E_USER_DEPRECATED);
        }

        foreach ($parsers as $parser) {
            if (!$parser instanceof TokenParserInterface) {
                throw new \LogicException('$parsers must a an array of Twig_TokenParserInterface.');
            }
            $this->parsers[$parser->getTag()] = $parser;
        }
        foreach ($brokers as $broker) {
            if (!$broker instanceof Twig_TokenParserBrokerInterface) {
                throw new \LogicException('$brokers must a an array of Twig_TokenParserBrokerInterface.');
            }
            $this->brokers[] = $broker;
        }
    }

    public function addTokenParser(TokenParserInterface $parser)
    {
        $this->parsers[$parser->getTag()] = $parser;
    }

    public function removeTokenParser(TokenParserInterface $parser)
    {
        $name = $parser->getTag();
        if (isset($this->parsers[$name]) && $parser === $this->parsers[$name]) {
            unset($this->parsers[$name]);
        }
    }

    public function addTokenParserBroker(self $broker)
    {
        $this->brokers[] = $broker;
    }

    public function removeTokenParserBroker(self $broker)
    {
        if (false !== $pos = array_search($broker, $this->brokers)) {
            unset($this->brokers[$pos]);
        }
    }

    /**
     * Gets a suitable TokenParser for a tag.
     *
     * First looks in parsers, then in brokers.
     *
     * @param string $tag A tag name
     *
     * @return TokenParserInterface|null A Twig_TokenParserInterface or null if no suitable TokenParser was found
     */
    public function getTokenParser($tag)
    {
        if (isset($this->parsers[$tag])) {
            return $this->parsers[$tag];
        }
        $broker = end($this->brokers);
        while (false !== $broker) {
            $parser = $broker->getTokenParser($tag);
            if (null !== $parser) {
                return $parser;
            }
            $broker = prev($this->brokers);
        }
    }

    public function getParsers()
    {
        return $this->parsers;
    }

    public function getParser()
    {
        return $this->parser;
    }

    public function setParser(Twig_ParserInterface $parser)
    {
        $this->parser = $parser;
        foreach ($this->parsers as $tokenParser) {
            $tokenParser->setParser($parser);
        }
        foreach ($this->brokers as $broker) {
            $broker->setParser($parser);
        }
    }
}
vendor/twig/twig/lib/Twig/Token.php000060400000000164150750356250013243 0ustar00<?php

use Twig\Token;

class_exists('Twig\Token');

if (\false) {
    class Twig_Token extends Token
    {
    }
}
vendor/twig/twig/lib/Twig/Error.php000060400000000200150750356250013243 0ustar00<?php

use Twig\Error\Error;

class_exists('Twig\Error\Error');

if (\false) {
    class Twig_Error extends Error
    {
    }
}
vendor/twig/twig/lib/Twig/Source.php000060400000000170150750356250013420 0ustar00<?php

use Twig\Source;

class_exists('Twig\Source');

if (\false) {
    class Twig_Source extends Source
    {
    }
}
vendor/twig/twig/lib/Twig/Util/TemplateDirIterator.php000060400000000273150750356250017025 0ustar00<?php

use Twig\Util\TemplateDirIterator;

class_exists('Twig\Util\TemplateDirIterator');

if (\false) {
    class Twig_Util_TemplateDirIterator extends TemplateDirIterator
    {
    }
}
vendor/twig/twig/lib/Twig/Util/DeprecationCollector.php000060400000000277150750356250017211 0ustar00<?php

use Twig\Util\DeprecationCollector;

class_exists('Twig\Util\DeprecationCollector');

if (\false) {
    class Twig_Util_DeprecationCollector extends DeprecationCollector
    {
    }
}
vendor/twig/twig/lib/Twig/FileExtensionEscapingStrategy.php000060400000000324150750356250020132 0ustar00<?php

use Twig\FileExtensionEscapingStrategy;

class_exists('Twig\FileExtensionEscapingStrategy');

if (\false) {
    class Twig_FileExtensionEscapingStrategy extends FileExtensionEscapingStrategy
    {
    }
}
vendor/twig/twig/lib/Twig/Template.php000060400000000200150750356250013725 0ustar00<?php

use Twig\Template;

class_exists('Twig\Template');

if (\false) {
    class Twig_Template extends Template
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParserInterface.php000060400000000310150750356250016232 0ustar00<?php

use Twig\TokenParser\TokenParserInterface;

class_exists('Twig\TokenParser\TokenParserInterface');

if (\false) {
    class Twig_TokenParserInterface extends TokenParserInterface
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParser/AutoEscape.php000060400000000315150750356250016447 0ustar00<?php

use Twig\TokenParser\AutoEscapeTokenParser;

class_exists('Twig\TokenParser\AutoEscapeTokenParser');

if (\false) {
    class Twig_TokenParser_AutoEscape extends AutoEscapeTokenParser
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParser/Do.php000060400000000255150750356250014763 0ustar00<?php

use Twig\TokenParser\DoTokenParser;

class_exists('Twig\TokenParser\DoTokenParser');

if (\false) {
    class Twig_TokenParser_Do extends DoTokenParser
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParser/Flush.php000060400000000271150750356250015500 0ustar00<?php

use Twig\TokenParser\FlushTokenParser;

class_exists('Twig\TokenParser\FlushTokenParser');

if (\false) {
    class Twig_TokenParser_Flush extends FlushTokenParser
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParser/Sandbox.php000060400000000301150750356250016007 0ustar00<?php

use Twig\TokenParser\SandboxTokenParser;

class_exists('Twig\TokenParser\SandboxTokenParser');

if (\false) {
    class Twig_TokenParser_Sandbox extends SandboxTokenParser
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParser/Use.php000060400000000261150750356250015152 0ustar00<?php

use Twig\TokenParser\UseTokenParser;

class_exists('Twig\TokenParser\UseTokenParser');

if (\false) {
    class Twig_TokenParser_Use extends UseTokenParser
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParser/Deprecated.php000060400000000315150750356250016456 0ustar00<?php

use Twig\TokenParser\DeprecatedTokenParser;

class_exists('Twig\TokenParser\DeprecatedTokenParser');

if (\false) {
    class Twig_TokenParser_Deprecated extends DeprecatedTokenParser
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParser/Filter.php000060400000000275150750356250015650 0ustar00<?php

use Twig\TokenParser\FilterTokenParser;

class_exists('Twig\TokenParser\FilterTokenParser');

if (\false) {
    class Twig_TokenParser_Filter extends FilterTokenParser
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParser/Spaceless.php000060400000000311150750356250016334 0ustar00<?php

use Twig\TokenParser\SpacelessTokenParser;

class_exists('Twig\TokenParser\SpacelessTokenParser');

if (\false) {
    class Twig_TokenParser_Spaceless extends SpacelessTokenParser
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParser/For.php000060400000000261150750356250015144 0ustar00<?php

use Twig\TokenParser\ForTokenParser;

class_exists('Twig\TokenParser\ForTokenParser');

if (\false) {
    class Twig_TokenParser_For extends ForTokenParser
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParser/Embed.php000060400000000271150750356250015433 0ustar00<?php

use Twig\TokenParser\EmbedTokenParser;

class_exists('Twig\TokenParser\EmbedTokenParser');

if (\false) {
    class Twig_TokenParser_Embed extends EmbedTokenParser
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParser/If.php000060400000000255150750356250014757 0ustar00<?php

use Twig\TokenParser\IfTokenParser;

class_exists('Twig\TokenParser\IfTokenParser');

if (\false) {
    class Twig_TokenParser_If extends IfTokenParser
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParser/From.php000060400000000265150750356250015325 0ustar00<?php

use Twig\TokenParser\FromTokenParser;

class_exists('Twig\TokenParser\FromTokenParser');

if (\false) {
    class Twig_TokenParser_From extends FromTokenParser
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParser/Block.php000060400000000271150750356250015451 0ustar00<?php

use Twig\TokenParser\BlockTokenParser;

class_exists('Twig\TokenParser\BlockTokenParser');

if (\false) {
    class Twig_TokenParser_Block extends BlockTokenParser
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParser/Include.php000060400000000301150750356250015774 0ustar00<?php

use Twig\TokenParser\IncludeTokenParser;

class_exists('Twig\TokenParser\IncludeTokenParser');

if (\false) {
    class Twig_TokenParser_Include extends IncludeTokenParser
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParser/Macro.php000060400000000271150750356250015460 0ustar00<?php

use Twig\TokenParser\MacroTokenParser;

class_exists('Twig\TokenParser\MacroTokenParser');

if (\false) {
    class Twig_TokenParser_Macro extends MacroTokenParser
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParser/Extends.php000060400000000301150750356250016023 0ustar00<?php

use Twig\TokenParser\ExtendsTokenParser;

class_exists('Twig\TokenParser\ExtendsTokenParser');

if (\false) {
    class Twig_TokenParser_Extends extends ExtendsTokenParser
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParser/Import.php000060400000000275150750356250015675 0ustar00<?php

use Twig\TokenParser\ImportTokenParser;

class_exists('Twig\TokenParser\ImportTokenParser');

if (\false) {
    class Twig_TokenParser_Import extends ImportTokenParser
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParser/Set.php000060400000000261150750356250015151 0ustar00<?php

use Twig\TokenParser\SetTokenParser;

class_exists('Twig\TokenParser\SetTokenParser');

if (\false) {
    class Twig_TokenParser_Set extends SetTokenParser
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParser/With.php000060400000000265150750356250015335 0ustar00<?php

use Twig\TokenParser\WithTokenParser;

class_exists('Twig\TokenParser\WithTokenParser');

if (\false) {
    class Twig_TokenParser_With extends WithTokenParser
    {
    }
}
vendor/twig/twig/lib/Twig/BaseNodeVisitor.php000060400000000300150750356250015213 0ustar00<?php

use Twig\NodeVisitor\AbstractNodeVisitor;

class_exists('Twig\NodeVisitor\AbstractNodeVisitor');

if (\false) {
    class Twig_BaseNodeVisitor extends AbstractNodeVisitor
    {
    }
}
vendor/twig/twig/lib/Twig/ContainerRuntimeLoader.php000060400000000324150750356250016576 0ustar00<?php

use Twig\RuntimeLoader\ContainerRuntimeLoader;

class_exists('Twig\RuntimeLoader\ContainerRuntimeLoader');

if (\false) {
    class Twig_ContainerRuntimeLoader extends ContainerRuntimeLoader
    {
    }
}
vendor/twig/twig/lib/Twig/NodeTraverser.php000060400000000224150750356250014743 0ustar00<?php

use Twig\NodeTraverser;

class_exists('Twig\NodeTraverser');

if (\false) {
    class Twig_NodeTraverser extends NodeTraverser
    {
    }
}
vendor/twig/twig/lib/Twig/Node.php000060400000000172150750356250013047 0ustar00<?php

use Twig\Node\Node;

class_exists('Twig\Node\Node');

if (\false) {
    class Twig_Node extends Node
    {
    }
}
vendor/twig/twig/lib/Twig/CompilerInterface.php000060400000001230150750356250015551 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

/**
 * Interface implemented by compiler classes.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.12 (to be removed in 3.0)
 */
interface Twig_CompilerInterface
{
    /**
     * Compiles a node.
     *
     * @return $this
     */
    public function compile(Twig_NodeInterface $node);

    /**
     * Gets the current PHP code after compilation.
     *
     * @return string The PHP code
     */
    public function getSource();
}
vendor/twig/twig/lib/Twig/Filter.php000060400000003717150750356250013417 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

use Twig\Node\Node;

@trigger_error('The Twig_Filter class is deprecated since version 1.12 and will be removed in 2.0. Use \Twig\TwigFilter instead.', E_USER_DEPRECATED);

/**
 * Represents a template filter.
 *
 * Use \Twig\TwigFilter instead.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.12 (to be removed in 2.0)
 */
abstract class Twig_Filter implements Twig_FilterInterface, Twig_FilterCallableInterface
{
    protected $options;
    protected $arguments = [];

    public function __construct(array $options = [])
    {
        $this->options = array_merge([
            'needs_environment' => false,
            'needs_context' => false,
            'pre_escape' => null,
            'preserves_safety' => null,
            'callable' => null,
        ], $options);
    }

    public function setArguments($arguments)
    {
        $this->arguments = $arguments;
    }

    public function getArguments()
    {
        return $this->arguments;
    }

    public function needsEnvironment()
    {
        return $this->options['needs_environment'];
    }

    public function needsContext()
    {
        return $this->options['needs_context'];
    }

    public function getSafe(Node $filterArgs)
    {
        if (isset($this->options['is_safe'])) {
            return $this->options['is_safe'];
        }

        if (isset($this->options['is_safe_callback'])) {
            return \call_user_func($this->options['is_safe_callback'], $filterArgs);
        }
    }

    public function getPreservesSafety()
    {
        return $this->options['preserves_safety'];
    }

    public function getPreEscape()
    {
        return $this->options['pre_escape'];
    }

    public function getCallable()
    {
        return $this->options['callable'];
    }
}
vendor/twig/twig/lib/Twig/ExistsLoaderInterface.php000060400000000302150750356250016404 0ustar00<?php

use Twig\Loader\ExistsLoaderInterface;

class_exists('Twig\Loader\ExistsLoaderInterface');

if (\false) {
    class Twig_ExistsLoaderInterface extends ExistsLoaderInterface
    {
    }
}
vendor/twig/twig/lib/Twig/RuntimeLoaderInterface.php000060400000000324150750356250016554 0ustar00<?php

use Twig\RuntimeLoader\RuntimeLoaderInterface;

class_exists('Twig\RuntimeLoader\RuntimeLoaderInterface');

if (\false) {
    class Twig_RuntimeLoaderInterface extends RuntimeLoaderInterface
    {
    }
}
vendor/twig/twig/lib/Twig/NodeVisitorInterface.php000060400000000310150750356250016242 0ustar00<?php

use Twig\NodeVisitor\NodeVisitorInterface;

class_exists('Twig\NodeVisitor\NodeVisitorInterface');

if (\false) {
    class Twig_NodeVisitorInterface extends NodeVisitorInterface
    {
    }
}
vendor/twig/twig/lib/Twig/Sandbox/SecurityError.php000060400000000254150750356250016402 0ustar00<?php

use Twig\Sandbox\SecurityError;

class_exists('Twig\Sandbox\SecurityError');

if (\false) {
    class Twig_Sandbox_SecurityError extends SecurityError
    {
    }
}
vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedFunctionError.php000060400000000364150750356250022103 0ustar00<?php

use Twig\Sandbox\SecurityNotAllowedFunctionError;

class_exists('Twig\Sandbox\SecurityNotAllowedFunctionError');

if (\false) {
    class Twig_Sandbox_SecurityNotAllowedFunctionError extends SecurityNotAllowedFunctionError
    {
    }
}
vendor/twig/twig/lib/Twig/Sandbox/SecurityPolicy.php000060400000000260150750356250016545 0ustar00<?php

use Twig\Sandbox\SecurityPolicy;

class_exists('Twig\Sandbox\SecurityPolicy');

if (\false) {
    class Twig_Sandbox_SecurityPolicy extends SecurityPolicy
    {
    }
}
vendor/twig/twig/lib/Twig/Sandbox/SecurityPolicyInterface.php000060400000000324150750356250020367 0ustar00<?php

use Twig\Sandbox\SecurityPolicyInterface;

class_exists('Twig\Sandbox\SecurityPolicyInterface');

if (\false) {
    class Twig_Sandbox_SecurityPolicyInterface extends SecurityPolicyInterface
    {
    }
}
vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedFilterError.php000060400000000354150750356250021542 0ustar00<?php

use Twig\Sandbox\SecurityNotAllowedFilterError;

class_exists('Twig\Sandbox\SecurityNotAllowedFilterError');

if (\false) {
    class Twig_Sandbox_SecurityNotAllowedFilterError extends SecurityNotAllowedFilterError
    {
    }
}
vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedTagError.php000060400000000340150750356250021023 0ustar00<?php

use Twig\Sandbox\SecurityNotAllowedTagError;

class_exists('Twig\Sandbox\SecurityNotAllowedTagError');

if (\false) {
    class Twig_Sandbox_SecurityNotAllowedTagError extends SecurityNotAllowedTagError
    {
    }
}
vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedMethodError.php000060400000000354150750356250021535 0ustar00<?php

use Twig\Sandbox\SecurityNotAllowedMethodError;

class_exists('Twig\Sandbox\SecurityNotAllowedMethodError');

if (\false) {
    class Twig_Sandbox_SecurityNotAllowedMethodError extends SecurityNotAllowedMethodError
    {
    }
}
vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedPropertyError.php000060400000000364150750356250022142 0ustar00<?php

use Twig\Sandbox\SecurityNotAllowedPropertyError;

class_exists('Twig\Sandbox\SecurityNotAllowedPropertyError');

if (\false) {
    class Twig_Sandbox_SecurityNotAllowedPropertyError extends SecurityNotAllowedPropertyError
    {
    }
}
vendor/twig/twig/lib/Twig/SimpleTest.php000060400000000202150750356250014245 0ustar00<?php

use Twig\TwigTest;

class_exists('Twig\TwigTest');

if (\false) {
    class Twig_SimpleTest extends TwigTest
    {
    }
}
vendor/twig/twig/lib/Twig/ExtensionInterface.php000060400000000274150750356250015762 0ustar00<?php

use Twig\Extension\ExtensionInterface;

class_exists('Twig\Extension\ExtensionInterface');

if (\false) {
    class Twig_ExtensionInterface extends ExtensionInterface
    {
    }
}
vendor/twig/twig/lib/Twig/CacheInterface.php000060400000000244150750356250015006 0ustar00<?php

use Twig\Cache\CacheInterface;

class_exists('Twig\Cache\CacheInterface');

if (\false) {
    class Twig_CacheInterface extends CacheInterface
    {
    }
}
vendor/twig/twig/lib/Twig/Extension/Optimizer.php000060400000000275150750356250016124 0ustar00<?php

use Twig\Extension\OptimizerExtension;

class_exists('Twig\Extension\OptimizerExtension');

if (\false) {
    class Twig_Extension_Optimizer extends OptimizerExtension
    {
    }
}
vendor/twig/twig/lib/Twig/Extension/Sandbox.php000060400000000265150750356250015537 0ustar00<?php

use Twig\Extension\SandboxExtension;

class_exists('Twig\Extension\SandboxExtension');

if (\false) {
    class Twig_Extension_Sandbox extends SandboxExtension
    {
    }
}
vendor/twig/twig/lib/Twig/Extension/InitRuntimeInterface.php000060400000000316150750356250020226 0ustar00<?php

use Twig\Extension\InitRuntimeInterface;

class_exists('Twig\Extension\InitRuntimeInterface');

if (\false) {
    class Twig_Extension_InitRuntimeInterface extends InitRuntimeInterface
    {
    }
}
vendor/twig/twig/lib/Twig/Extension/Escaper.php000060400000000265150750356250015523 0ustar00<?php

use Twig\Extension\EscaperExtension;

class_exists('Twig\Extension\EscaperExtension');

if (\false) {
    class Twig_Extension_Escaper extends EscaperExtension
    {
    }
}
vendor/twig/twig/lib/Twig/Extension/GlobalsInterface.php000060400000000276150750356250017347 0ustar00<?php

use Twig\Extension\GlobalsInterface;

class_exists('Twig\Extension\GlobalsInterface');

if (\false) {
    class Twig_Extension_GlobalsInterface extends GlobalsInterface
    {
    }
}
vendor/twig/twig/lib/Twig/Extension/Core.php000060400000000251150750356250015024 0ustar00<?php

use Twig\Extension\CoreExtension;

class_exists('Twig\Extension\CoreExtension');

if (\false) {
    class Twig_Extension_Core extends CoreExtension
    {
    }
}
vendor/twig/twig/lib/Twig/Extension/Debug.php000060400000000255150750356250015166 0ustar00<?php

use Twig\Extension\DebugExtension;

class_exists('Twig\Extension\DebugExtension');

if (\false) {
    class Twig_Extension_Debug extends DebugExtension
    {
    }
}
vendor/twig/twig/lib/Twig/Extension/Profiler.php000060400000000271150750356250015720 0ustar00<?php

use Twig\Extension\ProfilerExtension;

class_exists('Twig\Extension\ProfilerExtension');

if (\false) {
    class Twig_Extension_Profiler extends ProfilerExtension
    {
    }
}
vendor/twig/twig/lib/Twig/Extension/StringLoader.php000060400000000311150750356250016526 0ustar00<?php

use Twig\Extension\StringLoaderExtension;

class_exists('Twig\Extension\StringLoaderExtension');

if (\false) {
    class Twig_Extension_StringLoader extends StringLoaderExtension
    {
    }
}
vendor/twig/twig/lib/Twig/Extension/Staging.php000060400000000265150750356250015535 0ustar00<?php

use Twig\Extension\StagingExtension;

class_exists('Twig\Extension\StagingExtension');

if (\false) {
    class Twig_Extension_Staging extends StagingExtension
    {
    }
}
vendor/twig/twig/lib/Twig/Lexer.php000060400000000164150750356250013242 0ustar00<?php

use Twig\Lexer;

class_exists('Twig\Lexer');

if (\false) {
    class Twig_Lexer extends Lexer
    {
    }
}
vendor/twig/twig/lib/Twig/TokenStream.php000060400000000214150750356250014413 0ustar00<?php

use Twig\TokenStream;

class_exists('Twig\TokenStream');

if (\false) {
    class Twig_TokenStream extends TokenStream
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Import.php000060400000000223150750356250014316 0ustar00<?php

use Twig\Node\ImportNode;

class_exists('Twig\Node\ImportNode');

if (\false) {
    class Twig_Node_Import extends ImportNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/For.php000060400000000207150750356250013574 0ustar00<?php

use Twig\Node\ForNode;

class_exists('Twig\Node\ForNode');

if (\false) {
    class Twig_Node_For extends ForNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Deprecated.php000060400000000243150750356250015106 0ustar00<?php

use Twig\Node\DeprecatedNode;

class_exists('Twig\Node\DeprecatedNode');

if (\false) {
    class Twig_Node_Deprecated extends DeprecatedNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Text.php000060400000000213150750356250013767 0ustar00<?php

use Twig\Node\TextNode;

class_exists('Twig\Node\TextNode');

if (\false) {
    class Twig_Node_Text extends TextNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseXor.php000060400000000337150750356250020534 0ustar00<?php

use Twig\Node\Expression\Binary\BitwiseXorBinary;

class_exists('Twig\Node\Expression\Binary\BitwiseXorBinary');

if (\false) {
    class Twig_Node_Expression_Binary_BitwiseXor extends BitwiseXorBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/Range.php000060400000000313150750356250017463 0ustar00<?php

use Twig\Node\Expression\Binary\RangeBinary;

class_exists('Twig\Node\Expression\Binary\RangeBinary');

if (\false) {
    class Twig_Node_Expression_Binary_Range extends RangeBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/In.php000060400000000277150750356250017006 0ustar00<?php

use Twig\Node\Expression\Binary\InBinary;

class_exists('Twig\Node\Expression\Binary\InBinary');

if (\false) {
    class Twig_Node_Expression_Binary_In extends InBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/FloorDiv.php000060400000000327150750356250020160 0ustar00<?php

use Twig\Node\Expression\Binary\FloorDivBinary;

class_exists('Twig\Node\Expression\Binary\FloorDivBinary');

if (\false) {
    class Twig_Node_Expression_Binary_FloorDiv extends FloorDivBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/EndsWith.php000060400000000327150750356250020161 0ustar00<?php

use Twig\Node\Expression\Binary\EndsWithBinary;

class_exists('Twig\Node\Expression\Binary\EndsWithBinary');

if (\false) {
    class Twig_Node_Expression_Binary_EndsWith extends EndsWithBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mul.php000060400000000303150750356250017163 0ustar00<?php

use Twig\Node\Expression\Binary\MulBinary;

class_exists('Twig\Node\Expression\Binary\MulBinary');

if (\false) {
    class Twig_Node_Expression_Binary_Mul extends MulBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/Matches.php000060400000000323150750356250020014 0ustar00<?php

use Twig\Node\Expression\Binary\MatchesBinary;

class_exists('Twig\Node\Expression\Binary\MatchesBinary');

if (\false) {
    class Twig_Node_Expression_Binary_Matches extends MatchesBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseOr.php000060400000000333150750356250020340 0ustar00<?php

use Twig\Node\Expression\Binary\BitwiseOrBinary;

class_exists('Twig\Node\Expression\Binary\BitwiseOrBinary');

if (\false) {
    class Twig_Node_Expression_Binary_BitwiseOr extends BitwiseOrBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/Greater.php000060400000000323150750356250020021 0ustar00<?php

use Twig\Node\Expression\Binary\GreaterBinary;

class_exists('Twig\Node\Expression\Binary\GreaterBinary');

if (\false) {
    class Twig_Node_Expression_Binary_Greater extends GreaterBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/Add.php000060400000000303150750356250017116 0ustar00<?php

use Twig\Node\Expression\Binary\AddBinary;

class_exists('Twig\Node\Expression\Binary\AddBinary');

if (\false) {
    class Twig_Node_Expression_Binary_Add extends AddBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/NotIn.php000060400000000313150750356250017456 0ustar00<?php

use Twig\Node\Expression\Binary\NotInBinary;

class_exists('Twig\Node\Expression\Binary\NotInBinary');

if (\false) {
    class Twig_Node_Expression_Binary_NotIn extends NotInBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/NotEqual.php000060400000000327150750356250020164 0ustar00<?php

use Twig\Node\Expression\Binary\NotEqualBinary;

class_exists('Twig\Node\Expression\Binary\NotEqualBinary');

if (\false) {
    class Twig_Node_Expression_Binary_NotEqual extends NotEqualBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/LessEqual.php000060400000000333150750356250020327 0ustar00<?php

use Twig\Node\Expression\Binary\LessEqualBinary;

class_exists('Twig\Node\Expression\Binary\LessEqualBinary');

if (\false) {
    class Twig_Node_Expression_Binary_LessEqual extends LessEqualBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/Power.php000060400000000313150750356250017523 0ustar00<?php

use Twig\Node\Expression\Binary\PowerBinary;

class_exists('Twig\Node\Expression\Binary\PowerBinary');

if (\false) {
    class Twig_Node_Expression_Binary_Power extends PowerBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseAnd.php000060400000000337150750356250020466 0ustar00<?php

use Twig\Node\Expression\Binary\BitwiseAndBinary;

class_exists('Twig\Node\Expression\Binary\BitwiseAndBinary');

if (\false) {
    class Twig_Node_Expression_Binary_BitwiseAnd extends BitwiseAndBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/Less.php000060400000000307150750356250017340 0ustar00<?php

use Twig\Node\Expression\Binary\LessBinary;

class_exists('Twig\Node\Expression\Binary\LessBinary');

if (\false) {
    class Twig_Node_Expression_Binary_Less extends LessBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/StartsWith.php000060400000000337150750356250020551 0ustar00<?php

use Twig\Node\Expression\Binary\StartsWithBinary;

class_exists('Twig\Node\Expression\Binary\StartsWithBinary');

if (\false) {
    class Twig_Node_Expression_Binary_StartsWith extends StartsWithBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/And.php000060400000000303150750356250017130 0ustar00<?php

use Twig\Node\Expression\Binary\AndBinary;

class_exists('Twig\Node\Expression\Binary\AndBinary');

if (\false) {
    class Twig_Node_Expression_Binary_And extends AndBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/Div.php000060400000000303150750356250017150 0ustar00<?php

use Twig\Node\Expression\Binary\DivBinary;

class_exists('Twig\Node\Expression\Binary\DivBinary');

if (\false) {
    class Twig_Node_Expression_Binary_Div extends DivBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/Equal.php000060400000000313150750356250017476 0ustar00<?php

use Twig\Node\Expression\Binary\EqualBinary;

class_exists('Twig\Node\Expression\Binary\EqualBinary');

if (\false) {
    class Twig_Node_Expression_Binary_Equal extends EqualBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/GreaterEqual.php000060400000000347150750356250021017 0ustar00<?php

use Twig\Node\Expression\Binary\GreaterEqualBinary;

class_exists('Twig\Node\Expression\Binary\GreaterEqualBinary');

if (\false) {
    class Twig_Node_Expression_Binary_GreaterEqual extends GreaterEqualBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/Or.php000060400000000277150750356250017020 0ustar00<?php

use Twig\Node\Expression\Binary\OrBinary;

class_exists('Twig\Node\Expression\Binary\OrBinary');

if (\false) {
    class Twig_Node_Expression_Binary_Or extends OrBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mod.php000060400000000303150750356250017145 0ustar00<?php

use Twig\Node\Expression\Binary\ModBinary;

class_exists('Twig\Node\Expression\Binary\ModBinary');

if (\false) {
    class Twig_Node_Expression_Binary_Mod extends ModBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/Sub.php000060400000000303150750356250017157 0ustar00<?php

use Twig\Node\Expression\Binary\SubBinary;

class_exists('Twig\Node\Expression\Binary\SubBinary');

if (\false) {
    class Twig_Node_Expression_Binary_Sub extends SubBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary/Concat.php000060400000000317150750356250017642 0ustar00<?php

use Twig\Node\Expression\Binary\ConcatBinary;

class_exists('Twig\Node\Expression\Binary\ConcatBinary');

if (\false) {
    class Twig_Node_Expression_Binary_Concat extends ConcatBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Parent.php000060400000000306150750356250016436 0ustar00<?php

use Twig\Node\Expression\ParentExpression;

class_exists('Twig\Node\Expression\ParentExpression');

if (\false) {
    class Twig_Node_Expression_Parent extends ParentExpression
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Array.php000060400000000302150750356250016257 0ustar00<?php

use Twig\Node\Expression\ArrayExpression;

class_exists('Twig\Node\Expression\ArrayExpression');

if (\false) {
    class Twig_Node_Expression_Array extends ArrayExpression
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/ExtensionReference.php000060400000001663150750356250021007 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

use Twig\Compiler;
use Twig\Node\Expression\AbstractExpression;

@trigger_error('The Twig_Node_Expression_ExtensionReference class is deprecated since version 1.23 and will be removed in 2.0.', E_USER_DEPRECATED);

/**
 * Represents an extension call node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.23 and will be removed in 2.0.
 */
class Twig_Node_Expression_ExtensionReference extends AbstractExpression
{
    public function __construct($name, $lineno, $tag = null)
    {
        parent::__construct([], ['name' => $name], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        $compiler->raw(sprintf("\$this->env->getExtension('%s')", $this->getAttribute('name')));
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Name.php000060400000000276150750356250016073 0ustar00<?php

use Twig\Node\Expression\NameExpression;

class_exists('Twig\Node\Expression\NameExpression');

if (\false) {
    class Twig_Node_Expression_Name extends NameExpression
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/GetAttr.php000060400000000312150750356250016554 0ustar00<?php

use Twig\Node\Expression\GetAttrExpression;

class_exists('Twig\Node\Expression\GetAttrExpression');

if (\false) {
    class Twig_Node_Expression_GetAttr extends GetAttrExpression
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Filter.php000060400000000306150750356250016432 0ustar00<?php

use Twig\Node\Expression\FilterExpression;

class_exists('Twig\Node\Expression\FilterExpression');

if (\false) {
    class Twig_Node_Expression_Filter extends FilterExpression
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Call.php000060400000000276150750356250016066 0ustar00<?php

use Twig\Node\Expression\CallExpression;

class_exists('Twig\Node\Expression\CallExpression');

if (\false) {
    class Twig_Node_Expression_Call extends CallExpression
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Unary.php000060400000000310150750356250016276 0ustar00<?php

use Twig\Node\Expression\Unary\AbstractUnary;

class_exists('Twig\Node\Expression\Unary\AbstractUnary');

if (\false) {
    class Twig_Node_Expression_Unary extends AbstractUnary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Unary/Pos.php000060400000000275150750356250017051 0ustar00<?php

use Twig\Node\Expression\Unary\PosUnary;

class_exists('Twig\Node\Expression\Unary\PosUnary');

if (\false) {
    class Twig_Node_Expression_Unary_Pos extends PosUnary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Unary/Neg.php000060400000000275150750356250017021 0ustar00<?php

use Twig\Node\Expression\Unary\NegUnary;

class_exists('Twig\Node\Expression\Unary\NegUnary');

if (\false) {
    class Twig_Node_Expression_Unary_Neg extends NegUnary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Unary/Not.php000060400000000275150750356250017050 0ustar00<?php

use Twig\Node\Expression\Unary\NotUnary;

class_exists('Twig\Node\Expression\Unary\NotUnary');

if (\false) {
    class Twig_Node_Expression_Unary_Not extends NotUnary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/BlockReference.php000060400000000346150750356250020062 0ustar00<?php

use Twig\Node\Expression\BlockReferenceExpression;

class_exists('Twig\Node\Expression\BlockReferenceExpression');

if (\false) {
    class Twig_Node_Expression_BlockReference extends BlockReferenceExpression
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Filter/Default.php000060400000000323150750356250020015 0ustar00<?php

use Twig\Node\Expression\Filter\DefaultFilter;

class_exists('Twig\Node\Expression\Filter\DefaultFilter');

if (\false) {
    class Twig_Node_Expression_Filter_Default extends DefaultFilter
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Binary.php000060400000000316150750356250016432 0ustar00<?php

use Twig\Node\Expression\Binary\AbstractBinary;

class_exists('Twig\Node\Expression\Binary\AbstractBinary');

if (\false) {
    class Twig_Node_Expression_Binary extends AbstractBinary
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/TempName.php000060400000000316150750356250016714 0ustar00<?php

use Twig\Node\Expression\TempNameExpression;

class_exists('Twig\Node\Expression\TempNameExpression');

if (\false) {
    class Twig_Node_Expression_TempName extends TempNameExpression
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/MethodCall.php000060400000000326150750356250017223 0ustar00<?php

use Twig\Node\Expression\MethodCallExpression;

class_exists('Twig\Node\Expression\MethodCallExpression');

if (\false) {
    class Twig_Node_Expression_MethodCall extends MethodCallExpression
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/NullCoalesce.php000060400000000336150750356250017561 0ustar00<?php

use Twig\Node\Expression\NullCoalesceExpression;

class_exists('Twig\Node\Expression\NullCoalesceExpression');

if (\false) {
    class Twig_Node_Expression_NullCoalesce extends NullCoalesceExpression
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Function.php000060400000000316150750356250016773 0ustar00<?php

use Twig\Node\Expression\FunctionExpression;

class_exists('Twig\Node\Expression\FunctionExpression');

if (\false) {
    class Twig_Node_Expression_Function extends FunctionExpression
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/AssignName.php000060400000000326150750356250017234 0ustar00<?php

use Twig\Node\Expression\AssignNameExpression;

class_exists('Twig\Node\Expression\AssignNameExpression');

if (\false) {
    class Twig_Node_Expression_AssignName extends AssignNameExpression
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Constant.php000060400000000316150750356250016777 0ustar00<?php

use Twig\Node\Expression\ConstantExpression;

class_exists('Twig\Node\Expression\ConstantExpression');

if (\false) {
    class Twig_Node_Expression_Constant extends ConstantExpression
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Test.php000060400000000276150750356250016132 0ustar00<?php

use Twig\Node\Expression\TestExpression;

class_exists('Twig\Node\Expression\TestExpression');

if (\false) {
    class Twig_Node_Expression_Test extends TestExpression
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Test/Null.php000060400000000273150750356250017041 0ustar00<?php

use Twig\Node\Expression\Test\NullTest;

class_exists('Twig\Node\Expression\Test\NullTest');

if (\false) {
    class Twig_Node_Expression_Test_Null extends NullTest
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Test/Defined.php000060400000000307150750356250017463 0ustar00<?php

use Twig\Node\Expression\Test\DefinedTest;

class_exists('Twig\Node\Expression\Test\DefinedTest');

if (\false) {
    class Twig_Node_Expression_Test_Defined extends DefinedTest
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Test/Sameas.php000060400000000303150750356250017332 0ustar00<?php

use Twig\Node\Expression\Test\SameasTest;

class_exists('Twig\Node\Expression\Test\SameasTest');

if (\false) {
    class Twig_Node_Expression_Test_Sameas extends SameasTest
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Test/Odd.php000060400000000267150750356250016640 0ustar00<?php

use Twig\Node\Expression\Test\OddTest;

class_exists('Twig\Node\Expression\Test\OddTest');

if (\false) {
    class Twig_Node_Expression_Test_Odd extends OddTest
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Test/Constant.php000060400000000313150750356250017713 0ustar00<?php

use Twig\Node\Expression\Test\ConstantTest;

class_exists('Twig\Node\Expression\Test\ConstantTest');

if (\false) {
    class Twig_Node_Expression_Test_Constant extends ConstantTest
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Test/Even.php000060400000000273150750356250017024 0ustar00<?php

use Twig\Node\Expression\Test\EvenTest;

class_exists('Twig\Node\Expression\Test\EvenTest');

if (\false) {
    class Twig_Node_Expression_Test_Even extends EvenTest
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Test/Divisibleby.php000060400000000327150750356250020374 0ustar00<?php

use Twig\Node\Expression\Test\DivisiblebyTest;

class_exists('Twig\Node\Expression\Test\DivisiblebyTest');

if (\false) {
    class Twig_Node_Expression_Test_Divisibleby extends DivisiblebyTest
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression/Conditional.php000060400000000332150750356250017447 0ustar00<?php

use Twig\Node\Expression\ConditionalExpression;

class_exists('Twig\Node\Expression\ConditionalExpression');

if (\false) {
    class Twig_Node_Expression_Conditional extends ConditionalExpression
    {
    }
}
vendor/twig/twig/lib/Twig/Node/BlockReference.php000060400000000263150750356250015721 0ustar00<?php

use Twig\Node\BlockReferenceNode;

class_exists('Twig\Node\BlockReferenceNode');

if (\false) {
    class Twig_Node_BlockReference extends BlockReferenceNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Macro.php000060400000000217150750356250014110 0ustar00<?php

use Twig\Node\MacroNode;

class_exists('Twig\Node\MacroNode');

if (\false) {
    class Twig_Node_Macro extends MacroNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/ForLoop.php000060400000000227150750356250014430 0ustar00<?php

use Twig\Node\ForLoopNode;

class_exists('Twig\Node\ForLoopNode');

if (\false) {
    class Twig_Node_ForLoop extends ForLoopNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Block.php000060400000000217150750356250014101 0ustar00<?php

use Twig\Node\BlockNode;

class_exists('Twig\Node\BlockNode');

if (\false) {
    class Twig_Node_Block extends BlockNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/AutoEscape.php000060400000000243150750356250015077 0ustar00<?php

use Twig\Node\AutoEscapeNode;

class_exists('Twig\Node\AutoEscapeNode');

if (\false) {
    class Twig_Node_AutoEscape extends AutoEscapeNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Include.php000060400000000227150750356250014433 0ustar00<?php

use Twig\Node\IncludeNode;

class_exists('Twig\Node\IncludeNode');

if (\false) {
    class Twig_Node_Include extends IncludeNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/SandboxedPrint.php000060400000000263150750356250015774 0ustar00<?php

use Twig\Node\SandboxedPrintNode;

class_exists('Twig\Node\SandboxedPrintNode');

if (\false) {
    class Twig_Node_SandboxedPrint extends SandboxedPrintNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Set.php000060400000000207150750356250013601 0ustar00<?php

use Twig\Node\SetNode;

class_exists('Twig\Node\SetNode');

if (\false) {
    class Twig_Node_Set extends SetNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Body.php000060400000000213150750356250013740 0ustar00<?php

use Twig\Node\BodyNode;

class_exists('Twig\Node\BodyNode');

if (\false) {
    class Twig_Node_Body extends BodyNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Embed.php000060400000000217150750356250014063 0ustar00<?php

use Twig\Node\EmbedNode;

class_exists('Twig\Node\EmbedNode');

if (\false) {
    class Twig_Node_Embed extends EmbedNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/If.php000060400000000203150750356250013400 0ustar00<?php

use Twig\Node\IfNode;

class_exists('Twig\Node\IfNode');

if (\false) {
    class Twig_Node_If extends IfNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Flush.php000060400000000217150750356250014130 0ustar00<?php

use Twig\Node\FlushNode;

class_exists('Twig\Node\FlushNode');

if (\false) {
    class Twig_Node_Flush extends FlushNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/CheckSecurity.php000060400000000257150750356250015620 0ustar00<?php

use Twig\Node\CheckSecurityNode;

class_exists('Twig\Node\CheckSecurityNode');

if (\false) {
    class Twig_Node_CheckSecurity extends CheckSecurityNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Print.php000060400000000217150750356250014143 0ustar00<?php

use Twig\Node\PrintNode;

class_exists('Twig\Node\PrintNode');

if (\false) {
    class Twig_Node_Print extends PrintNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Expression.php000060400000000305150750356250015204 0ustar00<?php

use Twig\Node\Expression\AbstractExpression;

class_exists('Twig\Node\Expression\AbstractExpression');

if (\false) {
    class Twig_Node_Expression extends AbstractExpression
    {
    }
}
vendor/twig/twig/lib/Twig/Node/With.php000060400000000213150750356250013756 0ustar00<?php

use Twig\Node\WithNode;

class_exists('Twig\Node\WithNode');

if (\false) {
    class Twig_Node_With extends WithNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Module.php000060400000000223150750356250014271 0ustar00<?php

use Twig\Node\ModuleNode;

class_exists('Twig\Node\ModuleNode');

if (\false) {
    class Twig_Node_Module extends ModuleNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Do.php000060400000000203150750356250013404 0ustar00<?php

use Twig\Node\DoNode;

class_exists('Twig\Node\DoNode');

if (\false) {
    class Twig_Node_Do extends DoNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/SetTemp.php000060400000000227150750356250014431 0ustar00<?php

use Twig\Node\SetTempNode;

class_exists('Twig\Node\SetTempNode');

if (\false) {
    class Twig_Node_SetTemp extends SetTempNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Sandbox.php000060400000000227150750356250014446 0ustar00<?php

use Twig\Node\SandboxNode;

class_exists('Twig\Node\SandboxNode');

if (\false) {
    class Twig_Node_Sandbox extends SandboxNode
    {
    }
}
vendor/twig/twig/lib/Twig/Node/Spaceless.php000060400000000237150750356250014773 0ustar00<?php

use Twig\Node\SpacelessNode;

class_exists('Twig\Node\SpacelessNode');

if (\false) {
    class Twig_Node_Spaceless extends SpacelessNode
    {
    }
}
vendor/twig/twig/lib/Twig/Function.php000060400000003345150750356250013754 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

use Twig\Node\Node;

@trigger_error('The Twig_Function class is deprecated since version 1.12 and will be removed in 2.0. Use \Twig\TwigFunction instead.', E_USER_DEPRECATED);

/**
 * Represents a template function.
 *
 * Use \Twig\TwigFunction instead.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.12 (to be removed in 2.0)
 */
abstract class Twig_Function implements Twig_FunctionInterface, Twig_FunctionCallableInterface
{
    protected $options;
    protected $arguments = [];

    public function __construct(array $options = [])
    {
        $this->options = array_merge([
            'needs_environment' => false,
            'needs_context' => false,
            'callable' => null,
        ], $options);
    }

    public function setArguments($arguments)
    {
        $this->arguments = $arguments;
    }

    public function getArguments()
    {
        return $this->arguments;
    }

    public function needsEnvironment()
    {
        return $this->options['needs_environment'];
    }

    public function needsContext()
    {
        return $this->options['needs_context'];
    }

    public function getSafe(Node $functionArgs)
    {
        if (isset($this->options['is_safe'])) {
            return $this->options['is_safe'];
        }

        if (isset($this->options['is_safe_callback'])) {
            return \call_user_func($this->options['is_safe_callback'], $functionArgs);
        }

        return [];
    }

    public function getCallable()
    {
        return $this->options['callable'];
    }
}
vendor/twig/twig/lib/Twig/FilterCallableInterface.php000060400000000726150750356250016655 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

/**
 * Represents a callable template filter.
 *
 * Use \Twig\TwigFilter instead.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.12 (to be removed in 2.0)
 */
interface Twig_FilterCallableInterface
{
    public function getCallable();
}
vendor/twig/twig/lib/Twig/Compiler.php000060400000000200150750356250013724 0ustar00<?php

use Twig\Compiler;

class_exists('Twig\Compiler');

if (\false) {
    class Twig_Compiler extends Compiler
    {
    }
}
vendor/twig/twig/lib/Twig/NodeInterface.php000060400000001241150750356250014666 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

use Twig\Compiler;

/**
 * Represents a node in the AST.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.12 (to be removed in 3.0)
 */
interface Twig_NodeInterface extends \Countable, \IteratorAggregate
{
    /**
     * Compiles the node to PHP.
     */
    public function compile(Compiler $compiler);

    /**
     * @deprecated since 1.27 (to be removed in 2.0)
     */
    public function getLine();

    public function getNodeTag();
}
vendor/twig/twig/lib/Twig/NodeOutputInterface.php000060400000000266150750356250016115 0ustar00<?php

use Twig\Node\NodeOutputInterface;

class_exists('Twig\Node\NodeOutputInterface');

if (\false) {
    class Twig_NodeOutputInterface extends NodeOutputInterface
    {
    }
}
vendor/twig/twig/lib/Twig/Test.php000060400000001564150750356250013107 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

@trigger_error('The Twig_Test class is deprecated since version 1.12 and will be removed in 2.0. Use \Twig\TwigTest instead.', E_USER_DEPRECATED);

/**
 * Represents a template test.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.12 (to be removed in 2.0)
 */
abstract class Twig_Test implements Twig_TestInterface, Twig_TestCallableInterface
{
    protected $options;
    protected $arguments = [];

    public function __construct(array $options = [])
    {
        $this->options = array_merge([
            'callable' => null,
        ], $options);
    }

    public function getCallable()
    {
        return $this->options['callable'];
    }
}
vendor/twig/twig/lib/Twig/Environment.php000060400000000214150750356250014463 0ustar00<?php

use Twig\Environment;

class_exists('Twig\Environment');

if (\false) {
    class Twig_Environment extends Environment
    {
    }
}
vendor/twig/twig/lib/Twig/TokenParser.php000060400000000274150750356250014422 0ustar00<?php

use Twig\TokenParser\AbstractTokenParser;

class_exists('Twig\TokenParser\AbstractTokenParser');

if (\false) {
    class Twig_TokenParser extends AbstractTokenParser
    {
    }
}
vendor/twig/twig/lib/Twig/TestCallableInterface.php000060400000000656150750356250016351 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

/**
 * Represents a callable template test.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.12 (to be removed in 2.0)
 */
interface Twig_TestCallableInterface
{
    public function getCallable();
}
vendor/twig/twig/lib/Twig/NodeCaptureInterface.php000060400000000272150750356250016215 0ustar00<?php

use Twig\Node\NodeCaptureInterface;

class_exists('Twig\Node\NodeCaptureInterface');

if (\false) {
    class Twig_NodeCaptureInterface extends NodeCaptureInterface
    {
    }
}
vendor/twig/twig/lib/Twig/Function/Node.php000060400000001574150750356250014643 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

@trigger_error('The Twig_Function_Node class is deprecated since version 1.12 and will be removed in 2.0. Use \Twig\TwigFunction instead.', E_USER_DEPRECATED);

/**
 * Represents a template function as a node.
 *
 * Use \Twig\TwigFunction instead.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.12 (to be removed in 2.0)
 */
class Twig_Function_Node extends Twig_Function
{
    protected $class;

    public function __construct($class, array $options = [])
    {
        parent::__construct($options);

        $this->class = $class;
    }

    public function getClass()
    {
        return $this->class;
    }

    public function compile()
    {
    }
}
vendor/twig/twig/lib/Twig/Function/Function.php000060400000001650150750356250015536 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Arnaud Le Blanc
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

@trigger_error('The Twig_Function_Function class is deprecated since version 1.12 and will be removed in 2.0. Use \Twig\TwigFunction instead.', E_USER_DEPRECATED);

/**
 * Represents a function template function.
 *
 * Use \Twig\TwigFunction instead.
 *
 * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
 *
 * @deprecated since 1.12 (to be removed in 2.0)
 */
class Twig_Function_Function extends Twig_Function
{
    protected $function;

    public function __construct($function, array $options = [])
    {
        $options['callable'] = $function;

        parent::__construct($options);

        $this->function = $function;
    }

    public function compile()
    {
        return $this->function;
    }
}
vendor/twig/twig/lib/Twig/Function/Method.php000060400000002173150750356250015172 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Arnaud Le Blanc
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

use Twig\Extension\ExtensionInterface;

@trigger_error('The Twig_Function_Method class is deprecated since version 1.12 and will be removed in 2.0. Use \Twig\TwigFunction instead.', E_USER_DEPRECATED);

/**
 * Represents a method template function.
 *
 * Use \Twig\TwigFunction instead.
 *
 * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
 *
 * @deprecated since 1.12 (to be removed in 2.0)
 */
class Twig_Function_Method extends Twig_Function
{
    protected $extension;
    protected $method;

    public function __construct(ExtensionInterface $extension, $method, array $options = [])
    {
        $options['callable'] = [$extension, $method];

        parent::__construct($options);

        $this->extension = $extension;
        $this->method = $method;
    }

    public function compile()
    {
        return sprintf('$this->env->getExtension(\'%s\')->%s', \get_class($this->extension), $this->method);
    }
}
vendor/twig/twig/lib/Twig/Cache/Null.php000060400000000221150750356250014072 0ustar00<?php

use Twig\Cache\NullCache;

class_exists('Twig\Cache\NullCache');

if (\false) {
    class Twig_Cache_Null extends NullCache
    {
    }
}
vendor/twig/twig/lib/Twig/Cache/Filesystem.php000060400000000251150750356250015307 0ustar00<?php

use Twig\Cache\FilesystemCache;

class_exists('Twig\Cache\FilesystemCache');

if (\false) {
    class Twig_Cache_Filesystem extends FilesystemCache
    {
    }
}
vendor/twig/twig/lib/Twig/LoaderInterface.php000060400000000252150750356250015210 0ustar00<?php

use Twig\Loader\LoaderInterface;

class_exists('Twig\Loader\LoaderInterface');

if (\false) {
    class Twig_LoaderInterface extends LoaderInterface
    {
    }
}
vendor/twig/twig/lib/Twig/NodeVisitor/Escaper.php000060400000000301150750356250016003 0ustar00<?php

use Twig\NodeVisitor\EscaperNodeVisitor;

class_exists('Twig\NodeVisitor\EscaperNodeVisitor');

if (\false) {
    class Twig_NodeVisitor_Escaper extends EscaperNodeVisitor
    {
    }
}
vendor/twig/twig/lib/Twig/NodeVisitor/Optimizer.php000060400000000311150750356250016404 0ustar00<?php

use Twig\NodeVisitor\OptimizerNodeVisitor;

class_exists('Twig\NodeVisitor\OptimizerNodeVisitor');

if (\false) {
    class Twig_NodeVisitor_Optimizer extends OptimizerNodeVisitor
    {
    }
}
vendor/twig/twig/lib/Twig/NodeVisitor/Sandbox.php000060400000000301150750356250016017 0ustar00<?php

use Twig\NodeVisitor\SandboxNodeVisitor;

class_exists('Twig\NodeVisitor\SandboxNodeVisitor');

if (\false) {
    class Twig_NodeVisitor_Sandbox extends SandboxNodeVisitor
    {
    }
}
vendor/twig/twig/lib/Twig/NodeVisitor/SafeAnalysis.php000060400000000325150750356250017011 0ustar00<?php

use Twig\NodeVisitor\SafeAnalysisNodeVisitor;

class_exists('Twig\NodeVisitor\SafeAnalysisNodeVisitor');

if (\false) {
    class Twig_NodeVisitor_SafeAnalysis extends SafeAnalysisNodeVisitor
    {
    }
}
vendor/twig/twig/lib/Twig/Extension.php000060400000000260150750356250014134 0ustar00<?php

use Twig\Extension\AbstractExtension;

class_exists('Twig\Extension\AbstractExtension');

if (\false) {
    class Twig_Extension extends AbstractExtension
    {
    }
}
vendor/twig/twig/lib/Twig/TemplateWrapper.php000060400000000234150750356250015275 0ustar00<?php

use Twig\TemplateWrapper;

class_exists('Twig\TemplateWrapper');

if (\false) {
    class Twig_TemplateWrapper extends TemplateWrapper
    {
    }
}
vendor/twig/twig/lib/Twig/FilterInterface.php000060400000001533150750356250015232 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

use Twig\Node\Node;

/**
 * Represents a template filter.
 *
 * Use \Twig\TwigFilter instead.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.12 (to be removed in 2.0)
 */
interface Twig_FilterInterface
{
    /**
     * Compiles a filter.
     *
     * @return string The PHP code for the filter
     */
    public function compile();

    public function needsEnvironment();

    public function needsContext();

    public function getSafe(Node $filterArgs);

    public function getPreservesSafety();

    public function getPreEscape();

    public function setArguments($arguments);

    public function getArguments();
}
vendor/twig/twig/lib/Twig/TokenParserBrokerInterface.php000060400000002317150750356250017410 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Arnaud Le Blanc
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

use Twig\TokenParser\TokenParserInterface;

/**
 * Interface implemented by token parser brokers.
 *
 * Token parser brokers allows to implement custom logic in the process of resolving a token parser for a given tag name.
 *
 * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
 *
 * @deprecated since 1.12 (to be removed in 2.0)
 */
interface Twig_TokenParserBrokerInterface
{
    /**
     * Gets a TokenParser suitable for a tag.
     *
     * @param string $tag A tag name
     *
     * @return TokenParserInterface|null A Twig_TokenParserInterface or null if no suitable TokenParser was found
     */
    public function getTokenParser($tag);

    /**
     * Calls Twig\TokenParser\TokenParserInterface::setParser on all parsers the implementation knows of.
     */
    public function setParser(Twig_ParserInterface $parser);

    /**
     * Gets the Twig_ParserInterface.
     *
     * @return Twig_ParserInterface|null A Twig_ParserInterface instance or null
     */
    public function getParser();
}
vendor/twig/twig/lib/Twig/FactoryRuntimeLoader.php000060400000000314150750356250016262 0ustar00<?php

use Twig\RuntimeLoader\FactoryRuntimeLoader;

class_exists('Twig\RuntimeLoader\FactoryRuntimeLoader');

if (\false) {
    class Twig_FactoryRuntimeLoader extends FactoryRuntimeLoader
    {
    }
}
vendor/twig/twig/lib/Twig/Test/NodeTestCase.php000060400000000237150750356250015424 0ustar00<?php

use Twig\Test\NodeTestCase;

class_exists('Twig\Test\NodeTestCase');

if (\false) {
    class Twig_Test_NodeTestCase extends NodeTestCase
    {
    }
}
vendor/twig/twig/lib/Twig/Test/Function.php000060400000001527150750356250014673 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

@trigger_error('The Twig_Test_Function class is deprecated since version 1.12 and will be removed in 2.0. Use \Twig\TwigTest instead.', E_USER_DEPRECATED);

/**
 * Represents a function template test.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.12 (to be removed in 2.0)
 */
class Twig_Test_Function extends Twig_Test
{
    protected $function;

    public function __construct($function, array $options = [])
    {
        $options['callable'] = $function;

        parent::__construct($options);

        $this->function = $function;
    }

    public function compile()
    {
        return $this->function;
    }
}
vendor/twig/twig/lib/Twig/Test/Method.php000060400000002052150750356250014320 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

use Twig\Extension\ExtensionInterface;

@trigger_error('The Twig_Test_Method class is deprecated since version 1.12 and will be removed in 2.0. Use \Twig\TwigTest instead.', E_USER_DEPRECATED);

/**
 * Represents a method template test.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.12 (to be removed in 2.0)
 */
class Twig_Test_Method extends Twig_Test
{
    protected $extension;
    protected $method;

    public function __construct(ExtensionInterface $extension, $method, array $options = [])
    {
        $options['callable'] = [$extension, $method];

        parent::__construct($options);

        $this->extension = $extension;
        $this->method = $method;
    }

    public function compile()
    {
        return sprintf('$this->env->getExtension(\'%s\')->%s', \get_class($this->extension), $this->method);
    }
}
vendor/twig/twig/lib/Twig/Test/Node.php000060400000001446150750356250013773 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

@trigger_error('The Twig_Test_Node class is deprecated since version 1.12 and will be removed in 2.0.', E_USER_DEPRECATED);

/**
 * Represents a template test as a Node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.12 (to be removed in 2.0)
 */
class Twig_Test_Node extends Twig_Test
{
    protected $class;

    public function __construct($class, array $options = [])
    {
        parent::__construct($options);

        $this->class = $class;
    }

    public function getClass()
    {
        return $this->class;
    }

    public function compile()
    {
    }
}
vendor/twig/twig/lib/Twig/Test/IntegrationTestCase.php000060400000000273150750356250017022 0ustar00<?php

use Twig\Test\IntegrationTestCase;

class_exists('Twig\Test\IntegrationTestCase');

if (\false) {
    class Twig_Test_IntegrationTestCase extends IntegrationTestCase
    {
    }
}
vendor/twig/twig/lib/Twig/SourceContextLoaderInterface.php000060400000000336150750356250017741 0ustar00<?php

use Twig\Loader\SourceContextLoaderInterface;

class_exists('Twig\Loader\SourceContextLoaderInterface');

if (\false) {
    class Twig_SourceContextLoaderInterface extends SourceContextLoaderInterface
    {
    }
}
vendor/twig/twig/lib/Twig/TestInterface.php000060400000000770150750356250014726 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

/**
 * Represents a template test.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.12 (to be removed in 2.0)
 */
interface Twig_TestInterface
{
    /**
     * Compiles a test.
     *
     * @return string The PHP code for the test
     */
    public function compile();
}
vendor/twig/twig/lib/Twig/SimpleFunction.php000060400000000222150750356250015115 0ustar00<?php

use Twig\TwigFunction;

class_exists('Twig\TwigFunction');

if (\false) {
    class Twig_SimpleFunction extends TwigFunction
    {
    }
}
vendor/twig/twig/lib/Twig/TemplateInterface.php000060400000002313150750356250015555 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

use Twig\Environment;

/**
 * Interface implemented by all compiled templates.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.12 (to be removed in 3.0)
 */
interface Twig_TemplateInterface
{
    const ANY_CALL = 'any';
    const ARRAY_CALL = 'array';
    const METHOD_CALL = 'method';

    /**
     * Renders the template with the given context and returns it as string.
     *
     * @param array $context An array of parameters to pass to the template
     *
     * @return string The rendered template
     */
    public function render(array $context);

    /**
     * Displays the template with the given context.
     *
     * @param array $context An array of parameters to pass to the template
     * @param array $blocks  An array of blocks to pass to the template
     */
    public function display(array $context, array $blocks = []);

    /**
     * Returns the bound environment for this template.
     *
     * @return Environment
     */
    public function getEnvironment();
}
vendor/twig/twig/lib/Twig/Loader/Chain.php000060400000000233150750356250014410 0ustar00<?php

use Twig\Loader\ChainLoader;

class_exists('Twig\Loader\ChainLoader');

if (\false) {
    class Twig_Loader_Chain extends ChainLoader
    {
    }
}
vendor/twig/twig/lib/Twig/Loader/Array.php000060400000000233150750356250014444 0ustar00<?php

use Twig\Loader\ArrayLoader;

class_exists('Twig\Loader\ArrayLoader');

if (\false) {
    class Twig_Loader_Array extends ArrayLoader
    {
    }
}
vendor/twig/twig/lib/Twig/Loader/Filesystem.php000060400000000257150750356250015520 0ustar00<?php

use Twig\Loader\FilesystemLoader;

class_exists('Twig\Loader\FilesystemLoader');

if (\false) {
    class Twig_Loader_Filesystem extends FilesystemLoader
    {
    }
}
vendor/twig/twig/lib/Twig/Loader/String.php000060400000003367150750356250014647 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

use Twig\Loader\ExistsLoaderInterface;
use Twig\Loader\LoaderInterface;
use Twig\Loader\SourceContextLoaderInterface;
use Twig\Source;

@trigger_error('The Twig_Loader_String class is deprecated since version 1.18.1 and will be removed in 2.0. Use "Twig\Loader\ArrayLoader" instead or "Twig\Environment::createTemplate()".', E_USER_DEPRECATED);

/**
 * Loads a template from a string.
 *
 * This loader should NEVER be used. It only exists for Twig internal purposes.
 *
 * When using this loader with a cache mechanism, you should know that a new cache
 * key is generated each time a template content "changes" (the cache key being the
 * source code of the template). If you don't want to see your cache grows out of
 * control, you need to take care of clearing the old cache file by yourself.
 *
 * @deprecated since 1.18.1 (to be removed in 2.0)
 *
 * @internal
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class Twig_Loader_String implements LoaderInterface, ExistsLoaderInterface, SourceContextLoaderInterface
{
    public function getSource($name)
    {
        @trigger_error(sprintf('Calling "getSource" on "%s" is deprecated since 1.27. Use getSourceContext() instead.', \get_class($this)), E_USER_DEPRECATED);

        return $name;
    }

    public function getSourceContext($name)
    {
        return new Source($name, $name);
    }

    public function exists($name)
    {
        return true;
    }

    public function getCacheKey($name)
    {
        return $name;
    }

    public function isFresh($name, $time)
    {
        return true;
    }
}
vendor/twig/twig/lib/Twig/LexerInterface.php000060400000001432150750356250015062 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

use Twig\Error\SyntaxError;
use Twig\Source;
use Twig\TokenStream;

/**
 * Interface implemented by lexer classes.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.12 (to be removed in 3.0)
 */
interface Twig_LexerInterface
{
    /**
     * Tokenizes a source code.
     *
     * @param string|Source $code The source code
     * @param string        $name A unique identifier for the source code
     *
     * @return TokenStream
     *
     * @throws SyntaxError When the code is syntactically wrong
     */
    public function tokenize($code, $name = null);
}
vendor/twig/twig/lib/Twig/SimpleFilter.php000060400000000212150750356250014554 0ustar00<?php

use Twig\TwigFilter;

class_exists('Twig\TwigFilter');

if (\false) {
    class Twig_SimpleFilter extends TwigFilter
    {
    }
}
vendor/twig/twig/lib/Twig/Markup.php000060400000000170150750356250013417 0ustar00<?php

use Twig\Markup;

class_exists('Twig\Markup');

if (\false) {
    class Twig_Markup extends Markup
    {
    }
}
vendor/twig/twig/lib/Twig/Parser.php000060400000000170150750356250013414 0ustar00<?php

use Twig\Parser;

class_exists('Twig\Parser');

if (\false) {
    class Twig_Parser extends Parser
    {
    }
}
vendor/twig/twig/src/Template.php000060400000062163150750356250013054 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig;

use Twig\Error\Error;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;

/**
 * Default base class for compiled templates.
 *
 * This class is an implementation detail of how template compilation currently
 * works, which might change. It should never be used directly. Use $twig->load()
 * instead, which returns an instance of \Twig\TemplateWrapper.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @internal
 */
abstract class Template implements \Twig_TemplateInterface
{
    /**
     * @internal
     */
    protected static $cache = [];

    protected $parent;
    protected $parents = [];
    protected $env;
    protected $blocks = [];
    protected $traits = [];
    protected $sandbox;

    public function __construct(Environment $env)
    {
        $this->env = $env;
    }

    /**
     * @internal this method will be removed in 2.0 and is only used internally to provide an upgrade path from 1.x to 2.0
     */
    public function __toString()
    {
        return $this->getTemplateName();
    }

    /**
     * Returns the template name.
     *
     * @return string The template name
     */
    abstract public function getTemplateName();

    /**
     * Returns debug information about the template.
     *
     * @return array Debug information
     */
    public function getDebugInfo()
    {
        return [];
    }

    /**
     * Returns the template source code.
     *
     * @return string The template source code
     *
     * @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead
     */
    public function getSource()
    {
        @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED);

        return '';
    }

    /**
     * Returns information about the original template source code.
     *
     * @return Source
     */
    public function getSourceContext()
    {
        return new Source('', $this->getTemplateName());
    }

    /**
     * @deprecated since 1.20 (to be removed in 2.0)
     */
    public function getEnvironment()
    {
        @trigger_error('The '.__METHOD__.' method is deprecated since version 1.20 and will be removed in 2.0.', E_USER_DEPRECATED);

        return $this->env;
    }

    /**
     * Returns the parent template.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @param array $context
     *
     * @return \Twig_TemplateInterface|TemplateWrapper|false The parent template or false if there is no parent
     *
     * @internal
     */
    public function getParent(array $context)
    {
        if (null !== $this->parent) {
            return $this->parent;
        }

        try {
            $parent = $this->doGetParent($context);

            if (false === $parent) {
                return false;
            }

            if ($parent instanceof self || $parent instanceof TemplateWrapper) {
                return $this->parents[$parent->getSourceContext()->getName()] = $parent;
            }

            if (!isset($this->parents[$parent])) {
                $this->parents[$parent] = $this->loadTemplate($parent);
            }
        } catch (LoaderError $e) {
            $e->setSourceContext(null);
            $e->guess();

            throw $e;
        }

        return $this->parents[$parent];
    }

    protected function doGetParent(array $context)
    {
        return false;
    }

    public function isTraitable()
    {
        return true;
    }

    /**
     * Displays a parent block.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @param string $name    The block name to display from the parent
     * @param array  $context The context
     * @param array  $blocks  The current set of blocks
     */
    public function displayParentBlock($name, array $context, array $blocks = [])
    {
        $name = (string) $name;

        if (isset($this->traits[$name])) {
            $this->traits[$name][0]->displayBlock($name, $context, $blocks, false);
        } elseif (false !== $parent = $this->getParent($context)) {
            $parent->displayBlock($name, $context, $blocks, false);
        } else {
            throw new RuntimeError(sprintf('The template has no parent and no traits defining the "%s" block.', $name), -1, $this->getSourceContext());
        }
    }

    /**
     * Displays a block.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @param string $name      The block name to display
     * @param array  $context   The context
     * @param array  $blocks    The current set of blocks
     * @param bool   $useBlocks Whether to use the current set of blocks
     */
    public function displayBlock($name, array $context, array $blocks = [], $useBlocks = true)
    {
        $name = (string) $name;

        if ($useBlocks && isset($blocks[$name])) {
            $template = $blocks[$name][0];
            $block = $blocks[$name][1];
        } elseif (isset($this->blocks[$name])) {
            $template = $this->blocks[$name][0];
            $block = $this->blocks[$name][1];
        } else {
            $template = null;
            $block = null;
        }

        // avoid RCEs when sandbox is enabled
        if (null !== $template && !$template instanceof self) {
            throw new \LogicException('A block must be a method on a \Twig\Template instance.');
        }

        if (null !== $template) {
            try {
                $template->$block($context, $blocks);
            } catch (Error $e) {
                if (!$e->getSourceContext()) {
                    $e->setSourceContext($template->getSourceContext());
                }

                // this is mostly useful for \Twig\Error\LoaderError exceptions
                // see \Twig\Error\LoaderError
                if (-1 === $e->getTemplateLine()) {
                    $e->guess();
                }

                throw $e;
            } catch (\Exception $e) {
                $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getSourceContext(), $e);
                $e->guess();

                throw $e;
            }
        } elseif (false !== $parent = $this->getParent($context)) {
            $parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false);
        } else {
            @trigger_error(sprintf('Silent display of undefined block "%s" in template "%s" is deprecated since version 1.29 and will throw an exception in 2.0. Use the "block(\'%s\') is defined" expression to test for block existence.', $name, $this->getTemplateName(), $name), E_USER_DEPRECATED);
        }
    }

    /**
     * Renders a parent block.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @param string $name    The block name to render from the parent
     * @param array  $context The context
     * @param array  $blocks  The current set of blocks
     *
     * @return string The rendered block
     */
    public function renderParentBlock($name, array $context, array $blocks = [])
    {
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        $this->displayParentBlock($name, $context, $blocks);

        return ob_get_clean();
    }

    /**
     * Renders a block.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @param string $name      The block name to render
     * @param array  $context   The context
     * @param array  $blocks    The current set of blocks
     * @param bool   $useBlocks Whether to use the current set of blocks
     *
     * @return string The rendered block
     */
    public function renderBlock($name, array $context, array $blocks = [], $useBlocks = true)
    {
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        $this->displayBlock($name, $context, $blocks, $useBlocks);

        return ob_get_clean();
    }

    /**
     * Returns whether a block exists or not in the current context of the template.
     *
     * This method checks blocks defined in the current template
     * or defined in "used" traits or defined in parent templates.
     *
     * @param string $name    The block name
     * @param array  $context The context
     * @param array  $blocks  The current set of blocks
     *
     * @return bool true if the block exists, false otherwise
     */
    public function hasBlock($name, array $context = null, array $blocks = [])
    {
        if (null === $context) {
            @trigger_error('The '.__METHOD__.' method is internal and should never be called; calling it directly is deprecated since version 1.28 and won\'t be possible anymore in 2.0.', E_USER_DEPRECATED);

            return isset($this->blocks[(string) $name]);
        }

        if (isset($blocks[$name])) {
            return $blocks[$name][0] instanceof self;
        }

        if (isset($this->blocks[$name])) {
            return true;
        }

        if (false !== $parent = $this->getParent($context)) {
            return $parent->hasBlock($name, $context);
        }

        return false;
    }

    /**
     * Returns all block names in the current context of the template.
     *
     * This method checks blocks defined in the current template
     * or defined in "used" traits or defined in parent templates.
     *
     * @param array $context The context
     * @param array $blocks  The current set of blocks
     *
     * @return array An array of block names
     */
    public function getBlockNames(array $context = null, array $blocks = [])
    {
        if (null === $context) {
            @trigger_error('The '.__METHOD__.' method is internal and should never be called; calling it directly is deprecated since version 1.28 and won\'t be possible anymore in 2.0.', E_USER_DEPRECATED);

            return array_keys($this->blocks);
        }

        $names = array_merge(array_keys($blocks), array_keys($this->blocks));

        if (false !== $parent = $this->getParent($context)) {
            $names = array_merge($names, $parent->getBlockNames($context));
        }

        return array_unique($names);
    }

    /**
     * @return Template|TemplateWrapper
     */
    protected function loadTemplate($template, $templateName = null, $line = null, $index = null)
    {
        try {
            if (\is_array($template)) {
                return $this->env->resolveTemplate($template);
            }

            if ($template instanceof self || $template instanceof TemplateWrapper) {
                return $template;
            }

            if ($template === $this->getTemplateName()) {
                $class = \get_class($this);
                if (false !== $pos = strrpos($class, '___', -1)) {
                    $class = substr($class, 0, $pos);
                }

                return $this->env->loadClass($class, $template, $index);
            }

            return $this->env->loadTemplate($template, $index);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($templateName ? new Source('', $templateName) : $this->getSourceContext());
            }

            if ($e->getTemplateLine() > 0) {
                throw $e;
            }

            if (!$line) {
                $e->guess();
            } else {
                $e->setTemplateLine($line);
            }

            throw $e;
        }
    }

    /**
     * @internal
     *
     * @return Template
     */
    protected function unwrap()
    {
        return $this;
    }

    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     */
    public function getBlocks()
    {
        return $this->blocks;
    }

    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }

    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        try {
            $this->display($context);
        } catch (\Exception $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }

            throw $e;
        } catch (\Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }

            throw $e;
        }

        return ob_get_clean();
    }

    protected function displayWithErrorHandling(array $context, array $blocks = [])
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }

            // this is mostly useful for \Twig\Error\LoaderError exceptions
            // see \Twig\Error\LoaderError
            if (-1 === $e->getTemplateLine()) {
                $e->guess();
            }

            throw $e;
        } catch (\Exception $e) {
            $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
            $e->guess();

            throw $e;
        }
    }

    /**
     * Auto-generated method to display the template with the given context.
     *
     * @param array $context An array of parameters to pass to the template
     * @param array $blocks  An array of blocks to pass to the template
     */
    abstract protected function doDisplay(array $context, array $blocks = []);

    /**
     * Returns a variable from the context.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * This method should not be overridden in a sub-class as this is an
     * implementation detail that has been introduced to optimize variable
     * access for versions of PHP before 5.4. This is not a way to override
     * the way to get a variable value.
     *
     * @param array  $context           The context
     * @param string $item              The variable to return from the context
     * @param bool   $ignoreStrictCheck Whether to ignore the strict variable check or not
     *
     * @return mixed The content of the context variable
     *
     * @throws RuntimeError if the variable does not exist and Twig is running in strict mode
     *
     * @internal
     */
    final protected function getContext($context, $item, $ignoreStrictCheck = false)
    {
        if (!\array_key_exists($item, $context)) {
            if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
                return;
            }

            throw new RuntimeError(sprintf('Variable "%s" does not exist.', $item), -1, $this->getSourceContext());
        }

        return $context[$item];
    }

    /**
     * Returns the attribute value for a given array/object.
     *
     * @param mixed  $object            The object or array from where to get the item
     * @param mixed  $item              The item to get from the array or object
     * @param array  $arguments         An array of arguments to pass if the item is an object method
     * @param string $type              The type of attribute (@see \Twig\Template constants)
     * @param bool   $isDefinedTest     Whether this is only a defined check
     * @param bool   $ignoreStrictCheck Whether to ignore the strict attribute check or not
     *
     * @return mixed The attribute value, or a Boolean when $isDefinedTest is true, or null when the attribute is not set and $ignoreStrictCheck is true
     *
     * @throws RuntimeError if the attribute does not exist and Twig is running in strict mode and $isDefinedTest is false
     *
     * @internal
     */
    protected function getAttribute($object, $item, array $arguments = [], $type = self::ANY_CALL, $isDefinedTest = false, $ignoreStrictCheck = false)
    {
        // array
        if (self::METHOD_CALL !== $type) {
            $arrayItem = \is_bool($item) || \is_float($item) ? (int) $item : $item;

            if (((\is_array($object) || $object instanceof \ArrayObject) && (isset($object[$arrayItem]) || \array_key_exists($arrayItem, (array) $object)))
                || ($object instanceof \ArrayAccess && isset($object[$arrayItem]))
            ) {
                if ($isDefinedTest) {
                    return true;
                }

                return $object[$arrayItem];
            }

            if (self::ARRAY_CALL === $type || !\is_object($object)) {
                if ($isDefinedTest) {
                    return false;
                }

                if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
                    return;
                }

                if ($object instanceof \ArrayAccess) {
                    $message = sprintf('Key "%s" in object with ArrayAccess of class "%s" does not exist.', $arrayItem, \get_class($object));
                } elseif (\is_object($object)) {
                    $message = sprintf('Impossible to access a key "%s" on an object of class "%s" that does not implement ArrayAccess interface.', $item, \get_class($object));
                } elseif (\is_array($object)) {
                    if (empty($object)) {
                        $message = sprintf('Key "%s" does not exist as the array is empty.', $arrayItem);
                    } else {
                        $message = sprintf('Key "%s" for array with keys "%s" does not exist.', $arrayItem, implode(', ', array_keys($object)));
                    }
                } elseif (self::ARRAY_CALL === $type) {
                    if (null === $object) {
                        $message = sprintf('Impossible to access a key ("%s") on a null variable.', $item);
                    } else {
                        $message = sprintf('Impossible to access a key ("%s") on a %s variable ("%s").', $item, \gettype($object), $object);
                    }
                } elseif (null === $object) {
                    $message = sprintf('Impossible to access an attribute ("%s") on a null variable.', $item);
                } else {
                    $message = sprintf('Impossible to access an attribute ("%s") on a %s variable ("%s").', $item, \gettype($object), $object);
                }

                throw new RuntimeError($message, -1, $this->getSourceContext());
            }
        }

        if (!\is_object($object)) {
            if ($isDefinedTest) {
                return false;
            }

            if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
                return;
            }

            if (null === $object) {
                $message = sprintf('Impossible to invoke a method ("%s") on a null variable.', $item);
            } elseif (\is_array($object)) {
                $message = sprintf('Impossible to invoke a method ("%s") on an array.', $item);
            } else {
                $message = sprintf('Impossible to invoke a method ("%s") on a %s variable ("%s").', $item, \gettype($object), $object);
            }

            throw new RuntimeError($message, -1, $this->getSourceContext());
        }

        // object property
        if (self::METHOD_CALL !== $type && !$object instanceof self) { // \Twig\Template does not have public properties, and we don't want to allow access to internal ones
            if (isset($object->$item) || \array_key_exists((string) $item, (array) $object)) {
                if ($isDefinedTest) {
                    return true;
                }

                if ($this->env->hasExtension('\Twig\Extension\SandboxExtension')) {
                    $this->env->getExtension('\Twig\Extension\SandboxExtension')->checkPropertyAllowed($object, $item);
                }

                return $object->$item;
            }
        }

        $class = \get_class($object);

        // object method
        if (!isset(self::$cache[$class])) {
            // get_class_methods returns all methods accessible in the scope, but we only want public ones to be accessible in templates
            if ($object instanceof self) {
                $ref = new \ReflectionClass($class);
                $methods = [];

                foreach ($ref->getMethods(\ReflectionMethod::IS_PUBLIC) as $refMethod) {
                    // Accessing the environment from templates is forbidden to prevent untrusted changes to the environment
                    if ('getenvironment' !== strtr($refMethod->name, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')) {
                        $methods[] = $refMethod->name;
                    }
                }
            } else {
                $methods = get_class_methods($object);
            }
            // sort values to have consistent behavior, so that "get" methods win precedence over "is" methods
            sort($methods);

            $cache = [];

            foreach ($methods as $method) {
                $cache[$method] = $method;
                $cache[$lcName = strtr($method, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')] = $method;

                if ('g' === $lcName[0] && 0 === strpos($lcName, 'get')) {
                    $name = substr($method, 3);
                    $lcName = substr($lcName, 3);
                } elseif ('i' === $lcName[0] && 0 === strpos($lcName, 'is')) {
                    $name = substr($method, 2);
                    $lcName = substr($lcName, 2);
                } else {
                    continue;
                }

                // skip get() and is() methods (in which case, $name is empty)
                if ($name) {
                    if (!isset($cache[$name])) {
                        $cache[$name] = $method;
                    }
                    if (!isset($cache[$lcName])) {
                        $cache[$lcName] = $method;
                    }
                }
            }
            self::$cache[$class] = $cache;
        }

        $call = false;
        if (isset(self::$cache[$class][$item])) {
            $method = self::$cache[$class][$item];
        } elseif (isset(self::$cache[$class][$lcItem = strtr($item, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')])) {
            $method = self::$cache[$class][$lcItem];
        } elseif (isset(self::$cache[$class]['__call'])) {
            $method = $item;
            $call = true;
        } else {
            if ($isDefinedTest) {
                return false;
            }

            if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
                return;
            }

            throw new RuntimeError(sprintf('Neither the property "%1$s" nor one of the methods "%1$s()", "get%1$s()"/"is%1$s()" or "__call()" exist and have public access in class "%2$s".', $item, $class), -1, $this->getSourceContext());
        }

        if ($isDefinedTest) {
            return true;
        }

        if ($this->env->hasExtension('\Twig\Extension\SandboxExtension')) {
            $this->env->getExtension('\Twig\Extension\SandboxExtension')->checkMethodAllowed($object, $method);
        }

        // Some objects throw exceptions when they have __call, and the method we try
        // to call is not supported. If ignoreStrictCheck is true, we should return null.
        try {
            if (!$arguments) {
                $ret = $object->$method();
            } else {
                $ret = \call_user_func_array([$object, $method], $arguments);
            }
        } catch (\BadMethodCallException $e) {
            if ($call && ($ignoreStrictCheck || !$this->env->isStrictVariables())) {
                return;
            }
            throw $e;
        }

        // @deprecated in 1.28
        if ($object instanceof \Twig_TemplateInterface) {
            $self = $object->getTemplateName() === $this->getTemplateName();
            $message = sprintf('Calling "%s" on template "%s" from template "%s" is deprecated since version 1.28 and won\'t be supported anymore in 2.0.', $item, $object->getTemplateName(), $this->getTemplateName());
            if ('renderBlock' === $method || 'displayBlock' === $method) {
                $message .= sprintf(' Use block("%s"%s) instead).', $arguments[0], $self ? '' : ', template');
            } elseif ('hasBlock' === $method) {
                $message .= sprintf(' Use "block("%s"%s) is defined" instead).', $arguments[0], $self ? '' : ', template');
            } elseif ('render' === $method || 'display' === $method) {
                $message .= sprintf(' Use include("%s") instead).', $object->getTemplateName());
            }
            @trigger_error($message, E_USER_DEPRECATED);

            return '' === $ret ? '' : new Markup($ret, $this->env->getCharset());
        }

        return $ret;
    }
}

class_alias('Twig\Template', 'Twig_Template');
vendor/twig/twig/src/Util/DeprecationCollector.php000060400000004352150750356250016316 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Util;

use Twig\Environment;
use Twig\Error\SyntaxError;
use Twig\Source;

/**
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @final
 */
class DeprecationCollector
{
    private $twig;
    private $deprecations;

    public function __construct(Environment $twig)
    {
        $this->twig = $twig;
    }

    /**
     * Returns deprecations for templates contained in a directory.
     *
     * @param string $dir A directory where templates are stored
     * @param string $ext Limit the loaded templates by extension
     *
     * @return array An array of deprecations
     */
    public function collectDir($dir, $ext = '.twig')
    {
        $iterator = new \RegexIterator(
            new \RecursiveIteratorIterator(
                new \RecursiveDirectoryIterator($dir), \RecursiveIteratorIterator::LEAVES_ONLY
            ), '{'.preg_quote($ext).'$}'
        );

        return $this->collect(new TemplateDirIterator($iterator));
    }

    /**
     * Returns deprecations for passed templates.
     *
     * @param \Traversable $iterator An iterator of templates (where keys are template names and values the contents of the template)
     *
     * @return array An array of deprecations
     */
    public function collect(\Traversable $iterator)
    {
        $this->deprecations = [];

        set_error_handler([$this, 'errorHandler']);

        foreach ($iterator as $name => $contents) {
            try {
                $this->twig->parse($this->twig->tokenize(new Source($contents, $name)));
            } catch (SyntaxError $e) {
                // ignore templates containing syntax errors
            }
        }

        restore_error_handler();

        $deprecations = $this->deprecations;
        $this->deprecations = [];

        return $deprecations;
    }

    /**
     * @internal
     */
    public function errorHandler($type, $msg)
    {
        if (E_USER_DEPRECATED === $type) {
            $this->deprecations[] = $msg;
        }
    }
}

class_alias('Twig\Util\DeprecationCollector', 'Twig_Util_DeprecationCollector');
vendor/twig/twig/src/Util/TemplateDirIterator.php000060400000001116150750356250016131 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Util;

/**
 * @author Fabien Potencier <fabien@symfony.com>
 */
class TemplateDirIterator extends \IteratorIterator
{
    public function current()
    {
        return file_get_contents(parent::current());
    }

    public function key()
    {
        return (string) parent::key();
    }
}

class_alias('Twig\Util\TemplateDirIterator', 'Twig_Util_TemplateDirIterator');
vendor/twig/twig/src/Environment.php000060400000147340150750356250013606 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig;

use Twig\Cache\CacheInterface;
use Twig\Cache\FilesystemCache;
use Twig\Cache\NullCache;
use Twig\Error\Error;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Error\SyntaxError;
use Twig\Extension\CoreExtension;
use Twig\Extension\EscaperExtension;
use Twig\Extension\ExtensionInterface;
use Twig\Extension\GlobalsInterface;
use Twig\Extension\InitRuntimeInterface;
use Twig\Extension\OptimizerExtension;
use Twig\Extension\StagingExtension;
use Twig\Loader\ArrayLoader;
use Twig\Loader\ChainLoader;
use Twig\Loader\LoaderInterface;
use Twig\Loader\SourceContextLoaderInterface;
use Twig\Node\ModuleNode;
use Twig\NodeVisitor\NodeVisitorInterface;
use Twig\RuntimeLoader\RuntimeLoaderInterface;
use Twig\TokenParser\TokenParserInterface;

/**
 * Stores the Twig configuration.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class Environment
{
    const VERSION = '1.42.5';
    const VERSION_ID = 14205;
    const MAJOR_VERSION = 1;
    const MINOR_VERSION = 42;
    const RELEASE_VERSION = 5;
    const EXTRA_VERSION = '';

    protected $charset;
    protected $loader;
    protected $debug;
    protected $autoReload;
    protected $cache;
    protected $lexer;
    protected $parser;
    protected $compiler;
    protected $baseTemplateClass;
    protected $extensions;
    protected $parsers;
    protected $visitors;
    protected $filters;
    protected $tests;
    protected $functions;
    protected $globals;
    protected $runtimeInitialized = false;
    protected $extensionInitialized = false;
    protected $loadedTemplates;
    protected $strictVariables;
    protected $unaryOperators;
    protected $binaryOperators;
    protected $templateClassPrefix = '__TwigTemplate_';
    protected $functionCallbacks = [];
    protected $filterCallbacks = [];
    protected $staging;

    private $originalCache;
    private $bcWriteCacheFile = false;
    private $bcGetCacheFilename = false;
    private $lastModifiedExtension = 0;
    private $extensionsByClass = [];
    private $runtimeLoaders = [];
    private $runtimes = [];
    private $optionsHash;

    /**
     * Constructor.
     *
     * Available options:
     *
     *  * debug: When set to true, it automatically set "auto_reload" to true as
     *           well (default to false).
     *
     *  * charset: The charset used by the templates (default to UTF-8).
     *
     *  * base_template_class: The base template class to use for generated
     *                         templates (default to \Twig\Template).
     *
     *  * cache: An absolute path where to store the compiled templates,
     *           a \Twig\Cache\CacheInterface implementation,
     *           or false to disable compilation cache (default).
     *
     *  * auto_reload: Whether to reload the template if the original source changed.
     *                 If you don't provide the auto_reload option, it will be
     *                 determined automatically based on the debug value.
     *
     *  * strict_variables: Whether to ignore invalid variables in templates
     *                      (default to false).
     *
     *  * autoescape: Whether to enable auto-escaping (default to html):
     *                  * false: disable auto-escaping
     *                  * true: equivalent to html
     *                  * html, js: set the autoescaping to one of the supported strategies
     *                  * name: set the autoescaping strategy based on the template name extension
     *                  * PHP callback: a PHP callback that returns an escaping strategy based on the template "name"
     *
     *  * optimizations: A flag that indicates which optimizations to apply
     *                   (default to -1 which means that all optimizations are enabled;
     *                   set it to 0 to disable).
     */
    public function __construct(LoaderInterface $loader = null, $options = [])
    {
        if (null !== $loader) {
            $this->setLoader($loader);
        } else {
            @trigger_error('Not passing a "Twig\Lodaer\LoaderInterface" as the first constructor argument of "Twig\Environment" is deprecated since version 1.21.', E_USER_DEPRECATED);
        }

        $options = array_merge([
            'debug' => false,
            'charset' => 'UTF-8',
            'base_template_class' => '\Twig\Template',
            'strict_variables' => false,
            'autoescape' => 'html',
            'cache' => false,
            'auto_reload' => null,
            'optimizations' => -1,
        ], $options);

        $this->debug = (bool) $options['debug'];
        $this->charset = strtoupper($options['charset']);
        $this->baseTemplateClass = $options['base_template_class'];
        $this->autoReload = null === $options['auto_reload'] ? $this->debug : (bool) $options['auto_reload'];
        $this->strictVariables = (bool) $options['strict_variables'];
        $this->setCache($options['cache']);

        $this->addExtension(new CoreExtension());
        $this->addExtension(new EscaperExtension($options['autoescape']));
        $this->addExtension(new OptimizerExtension($options['optimizations']));
        $this->staging = new StagingExtension();

        // For BC
        if (\is_string($this->originalCache)) {
            $r = new \ReflectionMethod($this, 'writeCacheFile');
            if (__CLASS__ !== $r->getDeclaringClass()->getName()) {
                @trigger_error('The Twig\Environment::writeCacheFile method is deprecated since version 1.22 and will be removed in Twig 2.0.', E_USER_DEPRECATED);

                $this->bcWriteCacheFile = true;
            }

            $r = new \ReflectionMethod($this, 'getCacheFilename');
            if (__CLASS__ !== $r->getDeclaringClass()->getName()) {
                @trigger_error('The Twig\Environment::getCacheFilename method is deprecated since version 1.22 and will be removed in Twig 2.0.', E_USER_DEPRECATED);

                $this->bcGetCacheFilename = true;
            }
        }
    }

    /**
     * Gets the base template class for compiled templates.
     *
     * @return string The base template class name
     */
    public function getBaseTemplateClass()
    {
        return $this->baseTemplateClass;
    }

    /**
     * Sets the base template class for compiled templates.
     *
     * @param string $class The base template class name
     */
    public function setBaseTemplateClass($class)
    {
        $this->baseTemplateClass = $class;
        $this->updateOptionsHash();
    }

    /**
     * Enables debugging mode.
     */
    public function enableDebug()
    {
        $this->debug = true;
        $this->updateOptionsHash();
    }

    /**
     * Disables debugging mode.
     */
    public function disableDebug()
    {
        $this->debug = false;
        $this->updateOptionsHash();
    }

    /**
     * Checks if debug mode is enabled.
     *
     * @return bool true if debug mode is enabled, false otherwise
     */
    public function isDebug()
    {
        return $this->debug;
    }

    /**
     * Enables the auto_reload option.
     */
    public function enableAutoReload()
    {
        $this->autoReload = true;
    }

    /**
     * Disables the auto_reload option.
     */
    public function disableAutoReload()
    {
        $this->autoReload = false;
    }

    /**
     * Checks if the auto_reload option is enabled.
     *
     * @return bool true if auto_reload is enabled, false otherwise
     */
    public function isAutoReload()
    {
        return $this->autoReload;
    }

    /**
     * Enables the strict_variables option.
     */
    public function enableStrictVariables()
    {
        $this->strictVariables = true;
        $this->updateOptionsHash();
    }

    /**
     * Disables the strict_variables option.
     */
    public function disableStrictVariables()
    {
        $this->strictVariables = false;
        $this->updateOptionsHash();
    }

    /**
     * Checks if the strict_variables option is enabled.
     *
     * @return bool true if strict_variables is enabled, false otherwise
     */
    public function isStrictVariables()
    {
        return $this->strictVariables;
    }

    /**
     * Gets the current cache implementation.
     *
     * @param bool $original Whether to return the original cache option or the real cache instance
     *
     * @return CacheInterface|string|false A Twig\Cache\CacheInterface implementation,
     *                                     an absolute path to the compiled templates,
     *                                     or false to disable cache
     */
    public function getCache($original = true)
    {
        return $original ? $this->originalCache : $this->cache;
    }

    /**
     * Sets the current cache implementation.
     *
     * @param CacheInterface|string|false $cache A Twig\Cache\CacheInterface implementation,
     *                                           an absolute path to the compiled templates,
     *                                           or false to disable cache
     */
    public function setCache($cache)
    {
        if (\is_string($cache)) {
            $this->originalCache = $cache;
            $this->cache = new FilesystemCache($cache);
        } elseif (false === $cache) {
            $this->originalCache = $cache;
            $this->cache = new NullCache();
        } elseif (null === $cache) {
            @trigger_error('Using "null" as the cache strategy is deprecated since version 1.23 and will be removed in Twig 2.0.', E_USER_DEPRECATED);
            $this->originalCache = false;
            $this->cache = new NullCache();
        } elseif ($cache instanceof CacheInterface) {
            $this->originalCache = $this->cache = $cache;
        } else {
            throw new \LogicException(sprintf('Cache can only be a string, false, or a \Twig\Cache\CacheInterface implementation.'));
        }
    }

    /**
     * Gets the cache filename for a given template.
     *
     * @param string $name The template name
     *
     * @return string|false The cache file name or false when caching is disabled
     *
     * @deprecated since 1.22 (to be removed in 2.0)
     */
    public function getCacheFilename($name)
    {
        @trigger_error(sprintf('The %s method is deprecated since version 1.22 and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);

        $key = $this->cache->generateKey($name, $this->getTemplateClass($name));

        return !$key ? false : $key;
    }

    /**
     * Gets the template class associated with the given string.
     *
     * The generated template class is based on the following parameters:
     *
     *  * The cache key for the given template;
     *  * The currently enabled extensions;
     *  * Whether the Twig C extension is available or not;
     *  * PHP version;
     *  * Twig version;
     *  * Options with what environment was created.
     *
     * @param string   $name  The name for which to calculate the template class name
     * @param int|null $index The index if it is an embedded template
     *
     * @return string The template class name
     */
    public function getTemplateClass($name, $index = null)
    {
        $key = $this->getLoader()->getCacheKey($name).$this->optionsHash;

        return $this->templateClassPrefix.hash('sha256', $key).(null === $index ? '' : '___'.$index);
    }

    /**
     * Gets the template class prefix.
     *
     * @return string The template class prefix
     *
     * @deprecated since 1.22 (to be removed in 2.0)
     */
    public function getTemplateClassPrefix()
    {
        @trigger_error(sprintf('The %s method is deprecated since version 1.22 and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);

        return $this->templateClassPrefix;
    }

    /**
     * Renders a template.
     *
     * @param string|TemplateWrapper $name    The template name
     * @param array                  $context An array of parameters to pass to the template
     *
     * @return string The rendered template
     *
     * @throws LoaderError  When the template cannot be found
     * @throws SyntaxError  When an error occurred during compilation
     * @throws RuntimeError When an error occurred during rendering
     */
    public function render($name, array $context = [])
    {
        return $this->load($name)->render($context);
    }

    /**
     * Displays a template.
     *
     * @param string|TemplateWrapper $name    The template name
     * @param array                  $context An array of parameters to pass to the template
     *
     * @throws LoaderError  When the template cannot be found
     * @throws SyntaxError  When an error occurred during compilation
     * @throws RuntimeError When an error occurred during rendering
     */
    public function display($name, array $context = [])
    {
        $this->load($name)->display($context);
    }

    /**
     * Loads a template.
     *
     * @param string|TemplateWrapper|\Twig\Template $name The template name
     *
     * @throws LoaderError  When the template cannot be found
     * @throws RuntimeError When a previously generated cache is corrupted
     * @throws SyntaxError  When an error occurred during compilation
     *
     * @return TemplateWrapper
     */
    public function load($name)
    {
        if ($name instanceof TemplateWrapper) {
            return $name;
        }

        if ($name instanceof Template) {
            return new TemplateWrapper($this, $name);
        }

        return new TemplateWrapper($this, $this->loadTemplate($name));
    }

    /**
     * Loads a template internal representation.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @param string $name  The template name
     * @param int    $index The index if it is an embedded template
     *
     * @return \Twig_TemplateInterface A template instance representing the given template name
     *
     * @throws LoaderError  When the template cannot be found
     * @throws RuntimeError When a previously generated cache is corrupted
     * @throws SyntaxError  When an error occurred during compilation
     *
     * @internal
     */
    public function loadTemplate($name, $index = null)
    {
        return $this->loadClass($this->getTemplateClass($name), $name, $index);
    }

    /**
     * @internal
     */
    public function loadClass($cls, $name, $index = null)
    {
        $mainCls = $cls;
        if (null !== $index) {
            $cls .= '___'.$index;
        }

        if (isset($this->loadedTemplates[$cls])) {
            return $this->loadedTemplates[$cls];
        }

        if (!class_exists($cls, false)) {
            if ($this->bcGetCacheFilename) {
                $key = $this->getCacheFilename($name);
            } else {
                $key = $this->cache->generateKey($name, $mainCls);
            }

            if (!$this->isAutoReload() || $this->isTemplateFresh($name, $this->cache->getTimestamp($key))) {
                $this->cache->load($key);
            }

            $source = null;
            if (!class_exists($cls, false)) {
                $loader = $this->getLoader();
                if (!$loader instanceof SourceContextLoaderInterface) {
                    $source = new Source($loader->getSource($name), $name);
                } else {
                    $source = $loader->getSourceContext($name);
                }

                $content = $this->compileSource($source);

                if ($this->bcWriteCacheFile) {
                    $this->writeCacheFile($key, $content);
                } else {
                    $this->cache->write($key, $content);
                    $this->cache->load($key);
                }

                if (!class_exists($mainCls, false)) {
                    /* Last line of defense if either $this->bcWriteCacheFile was used,
                     * $this->cache is implemented as a no-op or we have a race condition
                     * where the cache was cleared between the above calls to write to and load from
                     * the cache.
                     */
                    eval('?>'.$content);
                }
            }

            if (!class_exists($cls, false)) {
                throw new RuntimeError(sprintf('Failed to load Twig template "%s", index "%s": cache might be corrupted.', $name, $index), -1, $source);
            }
        }

        if (!$this->runtimeInitialized) {
            $this->initRuntime();
        }

        return $this->loadedTemplates[$cls] = new $cls($this);
    }

    /**
     * Creates a template from source.
     *
     * This method should not be used as a generic way to load templates.
     *
     * @param string $template The template source
     * @param string $name     An optional name of the template to be used in error messages
     *
     * @return TemplateWrapper A template instance representing the given template name
     *
     * @throws LoaderError When the template cannot be found
     * @throws SyntaxError When an error occurred during compilation
     */
    public function createTemplate($template, $name = null)
    {
        $hash = hash('sha256', $template, false);
        if (null !== $name) {
            $name = sprintf('%s (string template %s)', $name, $hash);
        } else {
            $name = sprintf('__string_template__%s', $hash);
        }

        $loader = new ChainLoader([
            new ArrayLoader([$name => $template]),
            $current = $this->getLoader(),
        ]);

        $this->setLoader($loader);
        try {
            $template = new TemplateWrapper($this, $this->loadTemplate($name));
        } catch (\Exception $e) {
            $this->setLoader($current);

            throw $e;
        } catch (\Throwable $e) {
            $this->setLoader($current);

            throw $e;
        }
        $this->setLoader($current);

        return $template;
    }

    /**
     * Returns true if the template is still fresh.
     *
     * Besides checking the loader for freshness information,
     * this method also checks if the enabled extensions have
     * not changed.
     *
     * @param string $name The template name
     * @param int    $time The last modification time of the cached template
     *
     * @return bool true if the template is fresh, false otherwise
     */
    public function isTemplateFresh($name, $time)
    {
        if (0 === $this->lastModifiedExtension) {
            foreach ($this->extensions as $extension) {
                $r = new \ReflectionObject($extension);
                if (file_exists($r->getFileName()) && ($extensionTime = filemtime($r->getFileName())) > $this->lastModifiedExtension) {
                    $this->lastModifiedExtension = $extensionTime;
                }
            }
        }

        return $this->lastModifiedExtension <= $time && $this->getLoader()->isFresh($name, $time);
    }

    /**
     * Tries to load a template consecutively from an array.
     *
     * Similar to load() but it also accepts instances of \Twig\Template and
     * \Twig\TemplateWrapper, and an array of templates where each is tried to be loaded.
     *
     * @param string|Template|\Twig\TemplateWrapper|array $names A template or an array of templates to try consecutively
     *
     * @return TemplateWrapper|Template
     *
     * @throws LoaderError When none of the templates can be found
     * @throws SyntaxError When an error occurred during compilation
     */
    public function resolveTemplate($names)
    {
        if (!\is_array($names)) {
            $names = [$names];
        }

        foreach ($names as $name) {
            if ($name instanceof Template) {
                return $name;
            }
            if ($name instanceof TemplateWrapper) {
                return $name;
            }

            try {
                return $this->loadTemplate($name);
            } catch (LoaderError $e) {
                if (1 === \count($names)) {
                    throw $e;
                }
            }
        }

        throw new LoaderError(sprintf('Unable to find one of the following templates: "%s".', implode('", "', $names)));
    }

    /**
     * Clears the internal template cache.
     *
     * @deprecated since 1.18.3 (to be removed in 2.0)
     */
    public function clearTemplateCache()
    {
        @trigger_error(sprintf('The %s method is deprecated since version 1.18.3 and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);

        $this->loadedTemplates = [];
    }

    /**
     * Clears the template cache files on the filesystem.
     *
     * @deprecated since 1.22 (to be removed in 2.0)
     */
    public function clearCacheFiles()
    {
        @trigger_error(sprintf('The %s method is deprecated since version 1.22 and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);

        if (\is_string($this->originalCache)) {
            foreach (new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($this->originalCache), \RecursiveIteratorIterator::LEAVES_ONLY) as $file) {
                if ($file->isFile()) {
                    @unlink($file->getPathname());
                }
            }
        }
    }

    /**
     * Gets the Lexer instance.
     *
     * @return \Twig_LexerInterface
     *
     * @deprecated since 1.25 (to be removed in 2.0)
     */
    public function getLexer()
    {
        @trigger_error(sprintf('The %s() method is deprecated since version 1.25 and will be removed in 2.0.', __FUNCTION__), E_USER_DEPRECATED);

        if (null === $this->lexer) {
            $this->lexer = new Lexer($this);
        }

        return $this->lexer;
    }

    public function setLexer(\Twig_LexerInterface $lexer)
    {
        $this->lexer = $lexer;
    }

    /**
     * Tokenizes a source code.
     *
     * @param string|Source $source The template source code
     * @param string        $name   The template name (deprecated)
     *
     * @return TokenStream
     *
     * @throws SyntaxError When the code is syntactically wrong
     */
    public function tokenize($source, $name = null)
    {
        if (!$source instanceof Source) {
            @trigger_error(sprintf('Passing a string as the $source argument of %s() is deprecated since version 1.27. Pass a Twig\Source instance instead.', __METHOD__), E_USER_DEPRECATED);
            $source = new Source($source, $name);
        }

        if (null === $this->lexer) {
            $this->lexer = new Lexer($this);
        }

        return $this->lexer->tokenize($source);
    }

    /**
     * Gets the Parser instance.
     *
     * @return \Twig_ParserInterface
     *
     * @deprecated since 1.25 (to be removed in 2.0)
     */
    public function getParser()
    {
        @trigger_error(sprintf('The %s() method is deprecated since version 1.25 and will be removed in 2.0.', __FUNCTION__), E_USER_DEPRECATED);

        if (null === $this->parser) {
            $this->parser = new Parser($this);
        }

        return $this->parser;
    }

    public function setParser(\Twig_ParserInterface $parser)
    {
        $this->parser = $parser;
    }

    /**
     * Converts a token stream to a node tree.
     *
     * @return ModuleNode
     *
     * @throws SyntaxError When the token stream is syntactically or semantically wrong
     */
    public function parse(TokenStream $stream)
    {
        if (null === $this->parser) {
            $this->parser = new Parser($this);
        }

        return $this->parser->parse($stream);
    }

    /**
     * Gets the Compiler instance.
     *
     * @return \Twig_CompilerInterface
     *
     * @deprecated since 1.25 (to be removed in 2.0)
     */
    public function getCompiler()
    {
        @trigger_error(sprintf('The %s() method is deprecated since version 1.25 and will be removed in 2.0.', __FUNCTION__), E_USER_DEPRECATED);

        if (null === $this->compiler) {
            $this->compiler = new Compiler($this);
        }

        return $this->compiler;
    }

    public function setCompiler(\Twig_CompilerInterface $compiler)
    {
        $this->compiler = $compiler;
    }

    /**
     * Compiles a node and returns the PHP code.
     *
     * @return string The compiled PHP source code
     */
    public function compile(\Twig_NodeInterface $node)
    {
        if (null === $this->compiler) {
            $this->compiler = new Compiler($this);
        }

        return $this->compiler->compile($node)->getSource();
    }

    /**
     * Compiles a template source code.
     *
     * @param string|Source $source The template source code
     * @param string        $name   The template name (deprecated)
     *
     * @return string The compiled PHP source code
     *
     * @throws SyntaxError When there was an error during tokenizing, parsing or compiling
     */
    public function compileSource($source, $name = null)
    {
        if (!$source instanceof Source) {
            @trigger_error(sprintf('Passing a string as the $source argument of %s() is deprecated since version 1.27. Pass a Twig\Source instance instead.', __METHOD__), E_USER_DEPRECATED);
            $source = new Source($source, $name);
        }

        try {
            return $this->compile($this->parse($this->tokenize($source)));
        } catch (Error $e) {
            $e->setSourceContext($source);
            throw $e;
        } catch (\Exception $e) {
            throw new SyntaxError(sprintf('An exception has been thrown during the compilation of a template ("%s").', $e->getMessage()), -1, $source, $e);
        }
    }

    public function setLoader(LoaderInterface $loader)
    {
        if (!$loader instanceof SourceContextLoaderInterface && 0 !== strpos(\get_class($loader), 'Mock_')) {
            @trigger_error(sprintf('Twig loader "%s" should implement Twig\Loader\SourceContextLoaderInterface since version 1.27.', \get_class($loader)), E_USER_DEPRECATED);
        }

        $this->loader = $loader;
    }

    /**
     * Gets the Loader instance.
     *
     * @return LoaderInterface
     */
    public function getLoader()
    {
        if (null === $this->loader) {
            throw new \LogicException('You must set a loader first.');
        }

        return $this->loader;
    }

    /**
     * Sets the default template charset.
     *
     * @param string $charset The default charset
     */
    public function setCharset($charset)
    {
        $this->charset = strtoupper($charset);
    }

    /**
     * Gets the default template charset.
     *
     * @return string The default charset
     */
    public function getCharset()
    {
        return $this->charset;
    }

    /**
     * Initializes the runtime environment.
     *
     * @deprecated since 1.23 (to be removed in 2.0)
     */
    public function initRuntime()
    {
        $this->runtimeInitialized = true;

        foreach ($this->getExtensions() as $name => $extension) {
            if (!$extension instanceof InitRuntimeInterface) {
                $m = new \ReflectionMethod($extension, 'initRuntime');

                $parentClass = $m->getDeclaringClass()->getName();
                if ('Twig_Extension' !== $parentClass && 'Twig\Extension\AbstractExtension' !== $parentClass) {
                    @trigger_error(sprintf('Defining the initRuntime() method in the "%s" extension is deprecated since version 1.23. Use the `needs_environment` option to get the \Twig_Environment instance in filters, functions, or tests; or explicitly implement Twig\Extension\InitRuntimeInterface if needed (not recommended).', $name), E_USER_DEPRECATED);
                }
            }

            $extension->initRuntime($this);
        }
    }

    /**
     * Returns true if the given extension is registered.
     *
     * @param string $class The extension class name
     *
     * @return bool Whether the extension is registered or not
     */
    public function hasExtension($class)
    {
        $class = ltrim($class, '\\');
        if (!isset($this->extensionsByClass[$class]) && class_exists($class, false)) {
            // For BC/FC with namespaced aliases
            $class = new \ReflectionClass($class);
            $class = $class->name;
        }

        if (isset($this->extensions[$class])) {
            if ($class !== \get_class($this->extensions[$class])) {
                @trigger_error(sprintf('Referencing the "%s" extension by its name (defined by getName()) is deprecated since 1.26 and will be removed in Twig 2.0. Use the Fully Qualified Extension Class Name instead.', $class), E_USER_DEPRECATED);
            }

            return true;
        }

        return isset($this->extensionsByClass[$class]);
    }

    /**
     * Adds a runtime loader.
     */
    public function addRuntimeLoader(RuntimeLoaderInterface $loader)
    {
        $this->runtimeLoaders[] = $loader;
    }

    /**
     * Gets an extension by class name.
     *
     * @param string $class The extension class name
     *
     * @return ExtensionInterface
     */
    public function getExtension($class)
    {
        $class = ltrim($class, '\\');
        if (!isset($this->extensionsByClass[$class]) && class_exists($class, false)) {
            // For BC/FC with namespaced aliases
            $class = new \ReflectionClass($class);
            $class = $class->name;
        }

        if (isset($this->extensions[$class])) {
            if ($class !== \get_class($this->extensions[$class])) {
                @trigger_error(sprintf('Referencing the "%s" extension by its name (defined by getName()) is deprecated since 1.26 and will be removed in Twig 2.0. Use the Fully Qualified Extension Class Name instead.', $class), E_USER_DEPRECATED);
            }

            return $this->extensions[$class];
        }

        if (!isset($this->extensionsByClass[$class])) {
            throw new RuntimeError(sprintf('The "%s" extension is not enabled.', $class));
        }

        return $this->extensionsByClass[$class];
    }

    /**
     * Returns the runtime implementation of a Twig element (filter/function/test).
     *
     * @param string $class A runtime class name
     *
     * @return object The runtime implementation
     *
     * @throws RuntimeError When the template cannot be found
     */
    public function getRuntime($class)
    {
        if (isset($this->runtimes[$class])) {
            return $this->runtimes[$class];
        }

        foreach ($this->runtimeLoaders as $loader) {
            if (null !== $runtime = $loader->load($class)) {
                return $this->runtimes[$class] = $runtime;
            }
        }

        throw new RuntimeError(sprintf('Unable to load the "%s" runtime.', $class));
    }

    public function addExtension(ExtensionInterface $extension)
    {
        if ($this->extensionInitialized) {
            throw new \LogicException(sprintf('Unable to register extension "%s" as extensions have already been initialized.', $extension->getName()));
        }

        $class = \get_class($extension);
        if ($class !== $extension->getName()) {
            if (isset($this->extensions[$extension->getName()])) {
                unset($this->extensions[$extension->getName()], $this->extensionsByClass[$class]);
                @trigger_error(sprintf('The possibility to register the same extension twice ("%s") is deprecated since version 1.23 and will be removed in Twig 2.0. Use proper PHP inheritance instead.', $extension->getName()), E_USER_DEPRECATED);
            }
        }

        $this->lastModifiedExtension = 0;
        $this->extensionsByClass[$class] = $extension;
        $this->extensions[$extension->getName()] = $extension;
        $this->updateOptionsHash();
    }

    /**
     * Removes an extension by name.
     *
     * This method is deprecated and you should not use it.
     *
     * @param string $name The extension name
     *
     * @deprecated since 1.12 (to be removed in 2.0)
     */
    public function removeExtension($name)
    {
        @trigger_error(sprintf('The %s method is deprecated since version 1.12 and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);

        if ($this->extensionInitialized) {
            throw new \LogicException(sprintf('Unable to remove extension "%s" as extensions have already been initialized.', $name));
        }

        $class = ltrim($name, '\\');
        if (!isset($this->extensionsByClass[$class]) && class_exists($class, false)) {
            // For BC/FC with namespaced aliases
            $class = new \ReflectionClass($class);
            $class = $class->name;
        }

        if (isset($this->extensions[$class])) {
            if ($class !== \get_class($this->extensions[$class])) {
                @trigger_error(sprintf('Referencing the "%s" extension by its name (defined by getName()) is deprecated since 1.26 and will be removed in Twig 2.0. Use the Fully Qualified Extension Class Name instead.', $class), E_USER_DEPRECATED);
            }

            unset($this->extensions[$class]);
        }

        unset($this->extensions[$class]);
        $this->updateOptionsHash();
    }

    /**
     * Registers an array of extensions.
     *
     * @param array $extensions An array of extensions
     */
    public function setExtensions(array $extensions)
    {
        foreach ($extensions as $extension) {
            $this->addExtension($extension);
        }
    }

    /**
     * Returns all registered extensions.
     *
     * @return ExtensionInterface[] An array of extensions (keys are for internal usage only and should not be relied on)
     */
    public function getExtensions()
    {
        return $this->extensions;
    }

    public function addTokenParser(TokenParserInterface $parser)
    {
        if ($this->extensionInitialized) {
            throw new \LogicException('Unable to add a token parser as extensions have already been initialized.');
        }

        $this->staging->addTokenParser($parser);
    }

    /**
     * Gets the registered Token Parsers.
     *
     * @return \Twig_TokenParserBrokerInterface
     *
     * @internal
     */
    public function getTokenParsers()
    {
        if (!$this->extensionInitialized) {
            $this->initExtensions();
        }

        return $this->parsers;
    }

    /**
     * Gets registered tags.
     *
     * Be warned that this method cannot return tags defined by \Twig_TokenParserBrokerInterface classes.
     *
     * @return TokenParserInterface[]
     *
     * @internal
     */
    public function getTags()
    {
        $tags = [];
        foreach ($this->getTokenParsers()->getParsers() as $parser) {
            if ($parser instanceof TokenParserInterface) {
                $tags[$parser->getTag()] = $parser;
            }
        }

        return $tags;
    }

    public function addNodeVisitor(NodeVisitorInterface $visitor)
    {
        if ($this->extensionInitialized) {
            throw new \LogicException('Unable to add a node visitor as extensions have already been initialized.');
        }

        $this->staging->addNodeVisitor($visitor);
    }

    /**
     * Gets the registered Node Visitors.
     *
     * @return NodeVisitorInterface[]
     *
     * @internal
     */
    public function getNodeVisitors()
    {
        if (!$this->extensionInitialized) {
            $this->initExtensions();
        }

        return $this->visitors;
    }

    /**
     * Registers a Filter.
     *
     * @param string|TwigFilter                $name   The filter name or a \Twig_SimpleFilter instance
     * @param \Twig_FilterInterface|TwigFilter $filter
     */
    public function addFilter($name, $filter = null)
    {
        if (!$name instanceof TwigFilter && !($filter instanceof TwigFilter || $filter instanceof \Twig_FilterInterface)) {
            throw new \LogicException('A filter must be an instance of \Twig_FilterInterface or \Twig_SimpleFilter.');
        }

        if ($name instanceof TwigFilter) {
            $filter = $name;
            $name = $filter->getName();
        } else {
            @trigger_error(sprintf('Passing a name as a first argument to the %s method is deprecated since version 1.21. Pass an instance of "Twig_SimpleFilter" instead when defining filter "%s".', __METHOD__, $name), E_USER_DEPRECATED);
        }

        if ($this->extensionInitialized) {
            throw new \LogicException(sprintf('Unable to add filter "%s" as extensions have already been initialized.', $name));
        }

        $this->staging->addFilter($name, $filter);
    }

    /**
     * Get a filter by name.
     *
     * Subclasses may override this method and load filters differently;
     * so no list of filters is available.
     *
     * @param string $name The filter name
     *
     * @return \Twig_Filter|false
     *
     * @internal
     */
    public function getFilter($name)
    {
        if (!$this->extensionInitialized) {
            $this->initExtensions();
        }

        if (isset($this->filters[$name])) {
            return $this->filters[$name];
        }

        foreach ($this->filters as $pattern => $filter) {
            $pattern = str_replace('\\*', '(.*?)', preg_quote($pattern, '#'), $count);

            if ($count) {
                if (preg_match('#^'.$pattern.'$#', $name, $matches)) {
                    array_shift($matches);
                    $filter->setArguments($matches);

                    return $filter;
                }
            }
        }

        foreach ($this->filterCallbacks as $callback) {
            if (false !== $filter = \call_user_func($callback, $name)) {
                return $filter;
            }
        }

        return false;
    }

    public function registerUndefinedFilterCallback($callable)
    {
        $this->filterCallbacks[] = $callable;
    }

    /**
     * Gets the registered Filters.
     *
     * Be warned that this method cannot return filters defined with registerUndefinedFilterCallback.
     *
     * @return \Twig_FilterInterface[]
     *
     * @see registerUndefinedFilterCallback
     *
     * @internal
     */
    public function getFilters()
    {
        if (!$this->extensionInitialized) {
            $this->initExtensions();
        }

        return $this->filters;
    }

    /**
     * Registers a Test.
     *
     * @param string|TwigTest              $name The test name or a \Twig_SimpleTest instance
     * @param \Twig_TestInterface|TwigTest $test A \Twig_TestInterface instance or a \Twig_SimpleTest instance
     */
    public function addTest($name, $test = null)
    {
        if (!$name instanceof TwigTest && !($test instanceof TwigTest || $test instanceof \Twig_TestInterface)) {
            throw new \LogicException('A test must be an instance of \Twig_TestInterface or \Twig_SimpleTest.');
        }

        if ($name instanceof TwigTest) {
            $test = $name;
            $name = $test->getName();
        } else {
            @trigger_error(sprintf('Passing a name as a first argument to the %s method is deprecated since version 1.21. Pass an instance of "Twig_SimpleTest" instead when defining test "%s".', __METHOD__, $name), E_USER_DEPRECATED);
        }

        if ($this->extensionInitialized) {
            throw new \LogicException(sprintf('Unable to add test "%s" as extensions have already been initialized.', $name));
        }

        $this->staging->addTest($name, $test);
    }

    /**
     * Gets the registered Tests.
     *
     * @return \Twig_TestInterface[]
     *
     * @internal
     */
    public function getTests()
    {
        if (!$this->extensionInitialized) {
            $this->initExtensions();
        }

        return $this->tests;
    }

    /**
     * Gets a test by name.
     *
     * @param string $name The test name
     *
     * @return \Twig_Test|false
     *
     * @internal
     */
    public function getTest($name)
    {
        if (!$this->extensionInitialized) {
            $this->initExtensions();
        }

        if (isset($this->tests[$name])) {
            return $this->tests[$name];
        }

        foreach ($this->tests as $pattern => $test) {
            $pattern = str_replace('\\*', '(.*?)', preg_quote($pattern, '#'), $count);

            if ($count) {
                if (preg_match('#^'.$pattern.'$#', $name, $matches)) {
                    array_shift($matches);
                    $test->setArguments($matches);

                    return $test;
                }
            }
        }

        return false;
    }

    /**
     * Registers a Function.
     *
     * @param string|TwigFunction                  $name     The function name or a \Twig_SimpleFunction instance
     * @param \Twig_FunctionInterface|TwigFunction $function
     */
    public function addFunction($name, $function = null)
    {
        if (!$name instanceof TwigFunction && !($function instanceof TwigFunction || $function instanceof \Twig_FunctionInterface)) {
            throw new \LogicException('A function must be an instance of \Twig_FunctionInterface or \Twig_SimpleFunction.');
        }

        if ($name instanceof TwigFunction) {
            $function = $name;
            $name = $function->getName();
        } else {
            @trigger_error(sprintf('Passing a name as a first argument to the %s method is deprecated since version 1.21. Pass an instance of "Twig_SimpleFunction" instead when defining function "%s".', __METHOD__, $name), E_USER_DEPRECATED);
        }

        if ($this->extensionInitialized) {
            throw new \LogicException(sprintf('Unable to add function "%s" as extensions have already been initialized.', $name));
        }

        $this->staging->addFunction($name, $function);
    }

    /**
     * Get a function by name.
     *
     * Subclasses may override this method and load functions differently;
     * so no list of functions is available.
     *
     * @param string $name function name
     *
     * @return \Twig_Function|false
     *
     * @internal
     */
    public function getFunction($name)
    {
        if (!$this->extensionInitialized) {
            $this->initExtensions();
        }

        if (isset($this->functions[$name])) {
            return $this->functions[$name];
        }

        foreach ($this->functions as $pattern => $function) {
            $pattern = str_replace('\\*', '(.*?)', preg_quote($pattern, '#'), $count);

            if ($count) {
                if (preg_match('#^'.$pattern.'$#', $name, $matches)) {
                    array_shift($matches);
                    $function->setArguments($matches);

                    return $function;
                }
            }
        }

        foreach ($this->functionCallbacks as $callback) {
            if (false !== $function = \call_user_func($callback, $name)) {
                return $function;
            }
        }

        return false;
    }

    public function registerUndefinedFunctionCallback($callable)
    {
        $this->functionCallbacks[] = $callable;
    }

    /**
     * Gets registered functions.
     *
     * Be warned that this method cannot return functions defined with registerUndefinedFunctionCallback.
     *
     * @return \Twig_FunctionInterface[]
     *
     * @see registerUndefinedFunctionCallback
     *
     * @internal
     */
    public function getFunctions()
    {
        if (!$this->extensionInitialized) {
            $this->initExtensions();
        }

        return $this->functions;
    }

    /**
     * Registers a Global.
     *
     * New globals can be added before compiling or rendering a template;
     * but after, you can only update existing globals.
     *
     * @param string $name  The global name
     * @param mixed  $value The global value
     */
    public function addGlobal($name, $value)
    {
        if ($this->extensionInitialized || $this->runtimeInitialized) {
            if (null === $this->globals) {
                $this->globals = $this->initGlobals();
            }

            if (!\array_key_exists($name, $this->globals)) {
                // The deprecation notice must be turned into the following exception in Twig 2.0
                @trigger_error(sprintf('Registering global variable "%s" at runtime or when the extensions have already been initialized is deprecated since version 1.21.', $name), E_USER_DEPRECATED);
                //throw new \LogicException(sprintf('Unable to add global "%s" as the runtime or the extensions have already been initialized.', $name));
            }
        }

        if ($this->extensionInitialized || $this->runtimeInitialized) {
            // update the value
            $this->globals[$name] = $value;
        } else {
            $this->staging->addGlobal($name, $value);
        }
    }

    /**
     * Gets the registered Globals.
     *
     * @return array An array of globals
     *
     * @internal
     */
    public function getGlobals()
    {
        if (!$this->runtimeInitialized && !$this->extensionInitialized) {
            return $this->initGlobals();
        }

        if (null === $this->globals) {
            $this->globals = $this->initGlobals();
        }

        return $this->globals;
    }

    /**
     * Merges a context with the defined globals.
     *
     * @param array $context An array representing the context
     *
     * @return array The context merged with the globals
     */
    public function mergeGlobals(array $context)
    {
        // we don't use array_merge as the context being generally
        // bigger than globals, this code is faster.
        foreach ($this->getGlobals() as $key => $value) {
            if (!\array_key_exists($key, $context)) {
                $context[$key] = $value;
            }
        }

        return $context;
    }

    /**
     * Gets the registered unary Operators.
     *
     * @return array An array of unary operators
     *
     * @internal
     */
    public function getUnaryOperators()
    {
        if (!$this->extensionInitialized) {
            $this->initExtensions();
        }

        return $this->unaryOperators;
    }

    /**
     * Gets the registered binary Operators.
     *
     * @return array An array of binary operators
     *
     * @internal
     */
    public function getBinaryOperators()
    {
        if (!$this->extensionInitialized) {
            $this->initExtensions();
        }

        return $this->binaryOperators;
    }

    /**
     * @deprecated since 1.23 (to be removed in 2.0)
     */
    public function computeAlternatives($name, $items)
    {
        @trigger_error(sprintf('The %s method is deprecated since version 1.23 and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);

        return SyntaxError::computeAlternatives($name, $items);
    }

    /**
     * @internal
     */
    protected function initGlobals()
    {
        $globals = [];
        foreach ($this->extensions as $name => $extension) {
            if (!$extension instanceof GlobalsInterface) {
                $m = new \ReflectionMethod($extension, 'getGlobals');

                $parentClass = $m->getDeclaringClass()->getName();
                if ('Twig_Extension' !== $parentClass && 'Twig\Extension\AbstractExtension' !== $parentClass) {
                    @trigger_error(sprintf('Defining the getGlobals() method in the "%s" extension without explicitly implementing Twig\Extension\GlobalsInterface is deprecated since version 1.23.', $name), E_USER_DEPRECATED);
                }
            }

            $extGlob = $extension->getGlobals();
            if (!\is_array($extGlob)) {
                throw new \UnexpectedValueException(sprintf('"%s::getGlobals()" must return an array of globals.', \get_class($extension)));
            }

            $globals[] = $extGlob;
        }

        $globals[] = $this->staging->getGlobals();

        return \call_user_func_array('array_merge', $globals);
    }

    /**
     * @internal
     */
    protected function initExtensions()
    {
        if ($this->extensionInitialized) {
            return;
        }

        $this->parsers = new \Twig_TokenParserBroker([], [], false);
        $this->filters = [];
        $this->functions = [];
        $this->tests = [];
        $this->visitors = [];
        $this->unaryOperators = [];
        $this->binaryOperators = [];

        foreach ($this->extensions as $extension) {
            $this->initExtension($extension);
        }
        $this->initExtension($this->staging);
        // Done at the end only, so that an exception during initialization does not mark the environment as initialized when catching the exception
        $this->extensionInitialized = true;
    }

    /**
     * @internal
     */
    protected function initExtension(ExtensionInterface $extension)
    {
        // filters
        foreach ($extension->getFilters() as $name => $filter) {
            if ($filter instanceof TwigFilter) {
                $name = $filter->getName();
            } else {
                @trigger_error(sprintf('Using an instance of "%s" for filter "%s" is deprecated since version 1.21. Use \Twig_SimpleFilter instead.', \get_class($filter), $name), E_USER_DEPRECATED);
            }

            $this->filters[$name] = $filter;
        }

        // functions
        foreach ($extension->getFunctions() as $name => $function) {
            if ($function instanceof TwigFunction) {
                $name = $function->getName();
            } else {
                @trigger_error(sprintf('Using an instance of "%s" for function "%s" is deprecated since version 1.21. Use \Twig_SimpleFunction instead.', \get_class($function), $name), E_USER_DEPRECATED);
            }

            $this->functions[$name] = $function;
        }

        // tests
        foreach ($extension->getTests() as $name => $test) {
            if ($test instanceof TwigTest) {
                $name = $test->getName();
            } else {
                @trigger_error(sprintf('Using an instance of "%s" for test "%s" is deprecated since version 1.21. Use \Twig_SimpleTest instead.', \get_class($test), $name), E_USER_DEPRECATED);
            }

            $this->tests[$name] = $test;
        }

        // token parsers
        foreach ($extension->getTokenParsers() as $parser) {
            if ($parser instanceof TokenParserInterface) {
                $this->parsers->addTokenParser($parser);
            } elseif ($parser instanceof \Twig_TokenParserBrokerInterface) {
                @trigger_error('Registering a \Twig_TokenParserBrokerInterface instance is deprecated since version 1.21.', E_USER_DEPRECATED);

                $this->parsers->addTokenParserBroker($parser);
            } else {
                throw new \LogicException('getTokenParsers() must return an array of \Twig_TokenParserInterface or \Twig_TokenParserBrokerInterface instances.');
            }
        }

        // node visitors
        foreach ($extension->getNodeVisitors() as $visitor) {
            $this->visitors[] = $visitor;
        }

        // operators
        if ($operators = $extension->getOperators()) {
            if (!\is_array($operators)) {
                throw new \InvalidArgumentException(sprintf('"%s::getOperators()" must return an array with operators, got "%s".', \get_class($extension), \is_object($operators) ? \get_class($operators) : \gettype($operators).(\is_resource($operators) ? '' : '#'.$operators)));
            }

            if (2 !== \count($operators)) {
                throw new \InvalidArgumentException(sprintf('"%s::getOperators()" must return an array of 2 elements, got %d.', \get_class($extension), \count($operators)));
            }

            $this->unaryOperators = array_merge($this->unaryOperators, $operators[0]);
            $this->binaryOperators = array_merge($this->binaryOperators, $operators[1]);
        }
    }

    /**
     * @deprecated since 1.22 (to be removed in 2.0)
     */
    protected function writeCacheFile($file, $content)
    {
        $this->cache->write($file, $content);
    }

    private function updateOptionsHash()
    {
        $hashParts = array_merge(
            array_keys($this->extensions),
            [
                (int) \function_exists('twig_template_get_attributes'),
                PHP_MAJOR_VERSION,
                PHP_MINOR_VERSION,
                self::VERSION,
                (int) $this->debug,
                $this->baseTemplateClass,
                (int) $this->strictVariables,
            ]
        );
        $this->optionsHash = implode(':', $hashParts);
    }
}

class_alias('Twig\Environment', 'Twig_Environment');
vendor/twig/twig/src/TokenStream.php000060400000012564150750356250013535 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig;

use Twig\Error\SyntaxError;

/**
 * Represents a token stream.
 *
 * @final
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class TokenStream
{
    protected $tokens;
    protected $current = 0;
    protected $filename;

    private $source;

    /**
     * @param array       $tokens An array of tokens
     * @param string|null $name   The name of the template which tokens are associated with
     * @param string|null $source The source code associated with the tokens
     */
    public function __construct(array $tokens, $name = null, $source = null)
    {
        if (!$name instanceof Source) {
            if (null !== $name || null !== $source) {
                @trigger_error(sprintf('Passing a string as the $name argument of %s() is deprecated since version 1.27. Pass a \Twig\Source instance instead.', __METHOD__), E_USER_DEPRECATED);
            }
            $this->source = new Source($source, $name);
        } else {
            $this->source = $name;
        }

        $this->tokens = $tokens;

        // deprecated, not used anymore, to be removed in 2.0
        $this->filename = $this->source->getName();
    }

    public function __toString()
    {
        return implode("\n", $this->tokens);
    }

    public function injectTokens(array $tokens)
    {
        $this->tokens = array_merge(\array_slice($this->tokens, 0, $this->current), $tokens, \array_slice($this->tokens, $this->current));
    }

    /**
     * Sets the pointer to the next token and returns the old one.
     *
     * @return Token
     */
    public function next()
    {
        if (!isset($this->tokens[++$this->current])) {
            throw new SyntaxError('Unexpected end of template.', $this->tokens[$this->current - 1]->getLine(), $this->source);
        }

        return $this->tokens[$this->current - 1];
    }

    /**
     * Tests a token, sets the pointer to the next one and returns it or throws a syntax error.
     *
     * @return Token|null The next token if the condition is true, null otherwise
     */
    public function nextIf($primary, $secondary = null)
    {
        if ($this->tokens[$this->current]->test($primary, $secondary)) {
            return $this->next();
        }
    }

    /**
     * Tests a token and returns it or throws a syntax error.
     *
     * @return Token
     */
    public function expect($type, $value = null, $message = null)
    {
        $token = $this->tokens[$this->current];
        if (!$token->test($type, $value)) {
            $line = $token->getLine();
            throw new SyntaxError(sprintf('%sUnexpected token "%s"%s ("%s" expected%s).',
                $message ? $message.'. ' : '',
                Token::typeToEnglish($token->getType()),
                $token->getValue() ? sprintf(' of value "%s"', $token->getValue()) : '',
                Token::typeToEnglish($type), $value ? sprintf(' with value "%s"', $value) : ''),
                $line,
                $this->source
            );
        }
        $this->next();

        return $token;
    }

    /**
     * Looks at the next token.
     *
     * @param int $number
     *
     * @return Token
     */
    public function look($number = 1)
    {
        if (!isset($this->tokens[$this->current + $number])) {
            throw new SyntaxError('Unexpected end of template.', $this->tokens[$this->current + $number - 1]->getLine(), $this->source);
        }

        return $this->tokens[$this->current + $number];
    }

    /**
     * Tests the current token.
     *
     * @return bool
     */
    public function test($primary, $secondary = null)
    {
        return $this->tokens[$this->current]->test($primary, $secondary);
    }

    /**
     * Checks if end of stream was reached.
     *
     * @return bool
     */
    public function isEOF()
    {
        return Token::EOF_TYPE === $this->tokens[$this->current]->getType();
    }

    /**
     * @return Token
     */
    public function getCurrent()
    {
        return $this->tokens[$this->current];
    }

    /**
     * Gets the name associated with this stream (null if not defined).
     *
     * @return string|null
     *
     * @deprecated since 1.27 (to be removed in 2.0)
     */
    public function getFilename()
    {
        @trigger_error(sprintf('The %s() method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', __METHOD__), E_USER_DEPRECATED);

        return $this->source->getName();
    }

    /**
     * Gets the source code associated with this stream.
     *
     * @return string
     *
     * @internal Don't use this as it might be empty depending on the environment configuration
     *
     * @deprecated since 1.27 (to be removed in 2.0)
     */
    public function getSource()
    {
        @trigger_error(sprintf('The %s() method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', __METHOD__), E_USER_DEPRECATED);

        return $this->source->getCode();
    }

    /**
     * Gets the source associated with this stream.
     *
     * @return Source
     *
     * @internal
     */
    public function getSourceContext()
    {
        return $this->source;
    }
}

class_alias('Twig\TokenStream', 'Twig_TokenStream');
vendor/twig/twig/src/Token.php000060400000013551150750356250012356 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig;

/**
 * Represents a Token.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @final
 */
class Token
{
    protected $value;
    protected $type;
    protected $lineno;

    const EOF_TYPE = -1;
    const TEXT_TYPE = 0;
    const BLOCK_START_TYPE = 1;
    const VAR_START_TYPE = 2;
    const BLOCK_END_TYPE = 3;
    const VAR_END_TYPE = 4;
    const NAME_TYPE = 5;
    const NUMBER_TYPE = 6;
    const STRING_TYPE = 7;
    const OPERATOR_TYPE = 8;
    const PUNCTUATION_TYPE = 9;
    const INTERPOLATION_START_TYPE = 10;
    const INTERPOLATION_END_TYPE = 11;
    const ARROW_TYPE = 12;

    /**
     * @param int    $type   The type of the token
     * @param string $value  The token value
     * @param int    $lineno The line position in the source
     */
    public function __construct($type, $value, $lineno)
    {
        $this->type = $type;
        $this->value = $value;
        $this->lineno = $lineno;
    }

    public function __toString()
    {
        return sprintf('%s(%s)', self::typeToString($this->type, true), $this->value);
    }

    /**
     * Tests the current token for a type and/or a value.
     *
     * Parameters may be:
     *  * just type
     *  * type and value (or array of possible values)
     *  * just value (or array of possible values) (NAME_TYPE is used as type)
     *
     * @param array|string|int  $type   The type to test
     * @param array|string|null $values The token value
     *
     * @return bool
     */
    public function test($type, $values = null)
    {
        if (null === $values && !\is_int($type)) {
            $values = $type;
            $type = self::NAME_TYPE;
        }

        return ($this->type === $type) && (
            null === $values ||
            (\is_array($values) && \in_array($this->value, $values)) ||
            $this->value == $values
        );
    }

    /**
     * @return int
     */
    public function getLine()
    {
        return $this->lineno;
    }

    /**
     * @return int
     */
    public function getType()
    {
        return $this->type;
    }

    /**
     * @return string
     */
    public function getValue()
    {
        return $this->value;
    }

    /**
     * Returns the constant representation (internal) of a given type.
     *
     * @param int  $type  The type as an integer
     * @param bool $short Whether to return a short representation or not
     *
     * @return string The string representation
     */
    public static function typeToString($type, $short = false)
    {
        switch ($type) {
            case self::EOF_TYPE:
                $name = 'EOF_TYPE';
                break;
            case self::TEXT_TYPE:
                $name = 'TEXT_TYPE';
                break;
            case self::BLOCK_START_TYPE:
                $name = 'BLOCK_START_TYPE';
                break;
            case self::VAR_START_TYPE:
                $name = 'VAR_START_TYPE';
                break;
            case self::BLOCK_END_TYPE:
                $name = 'BLOCK_END_TYPE';
                break;
            case self::VAR_END_TYPE:
                $name = 'VAR_END_TYPE';
                break;
            case self::NAME_TYPE:
                $name = 'NAME_TYPE';
                break;
            case self::NUMBER_TYPE:
                $name = 'NUMBER_TYPE';
                break;
            case self::STRING_TYPE:
                $name = 'STRING_TYPE';
                break;
            case self::OPERATOR_TYPE:
                $name = 'OPERATOR_TYPE';
                break;
            case self::PUNCTUATION_TYPE:
                $name = 'PUNCTUATION_TYPE';
                break;
            case self::INTERPOLATION_START_TYPE:
                $name = 'INTERPOLATION_START_TYPE';
                break;
            case self::INTERPOLATION_END_TYPE:
                $name = 'INTERPOLATION_END_TYPE';
                break;
            case self::ARROW_TYPE:
                $name = 'ARROW_TYPE';
                break;
            default:
                throw new \LogicException(sprintf('Token of type "%s" does not exist.', $type));
        }

        return $short ? $name : 'Twig\Token::'.$name;
    }

    /**
     * Returns the English representation of a given type.
     *
     * @param int $type The type as an integer
     *
     * @return string The string representation
     */
    public static function typeToEnglish($type)
    {
        switch ($type) {
            case self::EOF_TYPE:
                return 'end of template';
            case self::TEXT_TYPE:
                return 'text';
            case self::BLOCK_START_TYPE:
                return 'begin of statement block';
            case self::VAR_START_TYPE:
                return 'begin of print statement';
            case self::BLOCK_END_TYPE:
                return 'end of statement block';
            case self::VAR_END_TYPE:
                return 'end of print statement';
            case self::NAME_TYPE:
                return 'name';
            case self::NUMBER_TYPE:
                return 'number';
            case self::STRING_TYPE:
                return 'string';
            case self::OPERATOR_TYPE:
                return 'operator';
            case self::PUNCTUATION_TYPE:
                return 'punctuation';
            case self::INTERPOLATION_START_TYPE:
                return 'begin of string interpolation';
            case self::INTERPOLATION_END_TYPE:
                return 'end of string interpolation';
            case self::ARROW_TYPE:
                return 'arrow function';
            default:
                throw new \LogicException(sprintf('Token of type "%s" does not exist.', $type));
        }
    }
}

class_alias('Twig\Token', 'Twig_Token');
vendor/twig/twig/src/Source.php000060400000002005150750356250012526 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig;

/**
 * Holds information about a non-compiled Twig template.
 *
 * @final
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class Source
{
    private $code;
    private $name;
    private $path;

    /**
     * @param string $code The template source code
     * @param string $name The template logical name
     * @param string $path The filesystem path of the template if any
     */
    public function __construct($code, $name, $path = '')
    {
        $this->code = $code;
        $this->name = $name;
        $this->path = $path;
    }

    public function getCode()
    {
        return $this->code;
    }

    public function getName()
    {
        return $this->name;
    }

    public function getPath()
    {
        return $this->path;
    }
}

class_alias('Twig\Source', 'Twig_Source');
vendor/twig/twig/src/NodeVisitor/NodeVisitorInterface.php000060400000002403150750356250017623 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\NodeVisitor;

use Twig\Environment;

/**
 * Interface for node visitor classes.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
interface NodeVisitorInterface
{
    /**
     * Called before child nodes are visited.
     *
     * @return \Twig_NodeInterface The modified node
     */
    public function enterNode(\Twig_NodeInterface $node, Environment $env);

    /**
     * Called after child nodes are visited.
     *
     * @return \Twig_NodeInterface|false|null The modified node or null if the node must be removed
     */
    public function leaveNode(\Twig_NodeInterface $node, Environment $env);

    /**
     * Returns the priority for this visitor.
     *
     * Priority should be between -10 and 10 (0 is the default).
     *
     * @return int The priority level
     */
    public function getPriority();
}

class_alias('Twig\NodeVisitor\NodeVisitorInterface', 'Twig_NodeVisitorInterface');

// Ensure that the aliased name is loaded to keep BC for classes implementing the typehint with the old aliased name.
class_exists('Twig\Environment');
vendor/twig/twig/src/NodeVisitor/SafeAnalysisNodeVisitor.php000060400000012016150750356250020306 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\NodeVisitor;

use Twig\Environment;
use Twig\Node\Expression\BlockReferenceExpression;
use Twig\Node\Expression\ConditionalExpression;
use Twig\Node\Expression\ConstantExpression;
use Twig\Node\Expression\FilterExpression;
use Twig\Node\Expression\FunctionExpression;
use Twig\Node\Expression\GetAttrExpression;
use Twig\Node\Expression\MethodCallExpression;
use Twig\Node\Expression\NameExpression;
use Twig\Node\Expression\ParentExpression;
use Twig\Node\Node;

/**
 * @final
 */
class SafeAnalysisNodeVisitor extends AbstractNodeVisitor
{
    protected $data = [];
    protected $safeVars = [];

    public function setSafeVars($safeVars)
    {
        $this->safeVars = $safeVars;
    }

    public function getSafe(\Twig_NodeInterface $node)
    {
        $hash = spl_object_hash($node);
        if (!isset($this->data[$hash])) {
            return;
        }

        foreach ($this->data[$hash] as $bucket) {
            if ($bucket['key'] !== $node) {
                continue;
            }

            if (\in_array('html_attr', $bucket['value'])) {
                $bucket['value'][] = 'html';
            }

            return $bucket['value'];
        }
    }

    protected function setSafe(\Twig_NodeInterface $node, array $safe)
    {
        $hash = spl_object_hash($node);
        if (isset($this->data[$hash])) {
            foreach ($this->data[$hash] as &$bucket) {
                if ($bucket['key'] === $node) {
                    $bucket['value'] = $safe;

                    return;
                }
            }
        }
        $this->data[$hash][] = [
            'key' => $node,
            'value' => $safe,
        ];
    }

    protected function doEnterNode(Node $node, Environment $env)
    {
        return $node;
    }

    protected function doLeaveNode(Node $node, Environment $env)
    {
        if ($node instanceof ConstantExpression) {
            // constants are marked safe for all
            $this->setSafe($node, ['all']);
        } elseif ($node instanceof BlockReferenceExpression) {
            // blocks are safe by definition
            $this->setSafe($node, ['all']);
        } elseif ($node instanceof ParentExpression) {
            // parent block is safe by definition
            $this->setSafe($node, ['all']);
        } elseif ($node instanceof ConditionalExpression) {
            // intersect safeness of both operands
            $safe = $this->intersectSafe($this->getSafe($node->getNode('expr2')), $this->getSafe($node->getNode('expr3')));
            $this->setSafe($node, $safe);
        } elseif ($node instanceof FilterExpression) {
            // filter expression is safe when the filter is safe
            $name = $node->getNode('filter')->getAttribute('value');
            $args = $node->getNode('arguments');
            if (false !== $filter = $env->getFilter($name)) {
                $safe = $filter->getSafe($args);
                if (null === $safe) {
                    $safe = $this->intersectSafe($this->getSafe($node->getNode('node')), $filter->getPreservesSafety());
                }
                $this->setSafe($node, $safe);
            } else {
                $this->setSafe($node, []);
            }
        } elseif ($node instanceof FunctionExpression) {
            // function expression is safe when the function is safe
            $name = $node->getAttribute('name');
            $args = $node->getNode('arguments');
            $function = $env->getFunction($name);
            if (false !== $function) {
                $this->setSafe($node, $function->getSafe($args));
            } else {
                $this->setSafe($node, []);
            }
        } elseif ($node instanceof MethodCallExpression) {
            if ($node->getAttribute('safe')) {
                $this->setSafe($node, ['all']);
            } else {
                $this->setSafe($node, []);
            }
        } elseif ($node instanceof GetAttrExpression && $node->getNode('node') instanceof NameExpression) {
            $name = $node->getNode('node')->getAttribute('name');
            // attributes on template instances are safe
            if ('_self' == $name || \in_array($name, $this->safeVars)) {
                $this->setSafe($node, ['all']);
            } else {
                $this->setSafe($node, []);
            }
        } else {
            $this->setSafe($node, []);
        }

        return $node;
    }

    protected function intersectSafe(array $a = null, array $b = null)
    {
        if (null === $a || null === $b) {
            return [];
        }

        if (\in_array('all', $a)) {
            return $b;
        }

        if (\in_array('all', $b)) {
            return $a;
        }

        return array_intersect($a, $b);
    }

    public function getPriority()
    {
        return 0;
    }
}

class_alias('Twig\NodeVisitor\SafeAnalysisNodeVisitor', 'Twig_NodeVisitor_SafeAnalysis');
vendor/twig/twig/src/NodeVisitor/SandboxNodeVisitor.php000060400000010321150750356250017317 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\NodeVisitor;

use Twig\Environment;
use Twig\Node\CheckSecurityNode;
use Twig\Node\CheckToStringNode;
use Twig\Node\Expression\Binary\ConcatBinary;
use Twig\Node\Expression\Binary\RangeBinary;
use Twig\Node\Expression\FilterExpression;
use Twig\Node\Expression\FunctionExpression;
use Twig\Node\Expression\GetAttrExpression;
use Twig\Node\Expression\NameExpression;
use Twig\Node\ModuleNode;
use Twig\Node\Node;
use Twig\Node\PrintNode;
use Twig\Node\SetNode;

/**
 * @final
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class SandboxNodeVisitor extends AbstractNodeVisitor
{
    protected $inAModule = false;
    protected $tags;
    protected $filters;
    protected $functions;

    private $needsToStringWrap = false;

    protected function doEnterNode(Node $node, Environment $env)
    {
        if ($node instanceof ModuleNode) {
            $this->inAModule = true;
            $this->tags = [];
            $this->filters = [];
            $this->functions = [];

            return $node;
        } elseif ($this->inAModule) {
            // look for tags
            if ($node->getNodeTag() && !isset($this->tags[$node->getNodeTag()])) {
                $this->tags[$node->getNodeTag()] = $node;
            }

            // look for filters
            if ($node instanceof FilterExpression && !isset($this->filters[$node->getNode('filter')->getAttribute('value')])) {
                $this->filters[$node->getNode('filter')->getAttribute('value')] = $node;
            }

            // look for functions
            if ($node instanceof FunctionExpression && !isset($this->functions[$node->getAttribute('name')])) {
                $this->functions[$node->getAttribute('name')] = $node;
            }

            // the .. operator is equivalent to the range() function
            if ($node instanceof RangeBinary && !isset($this->functions['range'])) {
                $this->functions['range'] = $node;
            }

            if ($node instanceof PrintNode) {
                $this->needsToStringWrap = true;
                $this->wrapNode($node, 'expr');
            }

            if ($node instanceof SetNode && !$node->getAttribute('capture')) {
                $this->needsToStringWrap = true;
            }

            // wrap outer nodes that can implicitly call __toString()
            if ($this->needsToStringWrap) {
                if ($node instanceof ConcatBinary) {
                    $this->wrapNode($node, 'left');
                    $this->wrapNode($node, 'right');
                }
                if ($node instanceof FilterExpression) {
                    $this->wrapNode($node, 'node');
                    $this->wrapArrayNode($node, 'arguments');
                }
                if ($node instanceof FunctionExpression) {
                    $this->wrapArrayNode($node, 'arguments');
                }
            }
        }

        return $node;
    }

    protected function doLeaveNode(Node $node, Environment $env)
    {
        if ($node instanceof ModuleNode) {
            $this->inAModule = false;

            $node->getNode('constructor_end')->setNode('_security_check', new Node([new CheckSecurityNode($this->filters, $this->tags, $this->functions), $node->getNode('display_start')]));
        } elseif ($this->inAModule) {
            if ($node instanceof PrintNode || $node instanceof SetNode) {
                $this->needsToStringWrap = false;
            }
        }

        return $node;
    }

    private function wrapNode(Node $node, $name)
    {
        $expr = $node->getNode($name);
        if ($expr instanceof NameExpression || $expr instanceof GetAttrExpression) {
            $node->setNode($name, new CheckToStringNode($expr));
        }
    }

    private function wrapArrayNode(Node $node, $name)
    {
        $args = $node->getNode($name);
        foreach ($args as $name => $_) {
            $this->wrapNode($args, $name);
        }
    }

    public function getPriority()
    {
        return 0;
    }
}

class_alias('Twig\NodeVisitor\SandboxNodeVisitor', 'Twig_NodeVisitor_Sandbox');
vendor/twig/twig/src/NodeVisitor/AbstractNodeVisitor.php000060400000003061150750356250017467 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\NodeVisitor;

use Twig\Environment;
use Twig\Node\Node;

/**
 * Used to make node visitors compatible with Twig 1.x and 2.x.
 *
 * To be removed in Twig 3.1.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
abstract class AbstractNodeVisitor implements NodeVisitorInterface
{
    final public function enterNode(\Twig_NodeInterface $node, Environment $env)
    {
        if (!$node instanceof Node) {
            throw new \LogicException(sprintf('%s only supports \Twig\Node\Node instances.', __CLASS__));
        }

        return $this->doEnterNode($node, $env);
    }

    final public function leaveNode(\Twig_NodeInterface $node, Environment $env)
    {
        if (!$node instanceof Node) {
            throw new \LogicException(sprintf('%s only supports \Twig\Node\Node instances.', __CLASS__));
        }

        return $this->doLeaveNode($node, $env);
    }

    /**
     * Called before child nodes are visited.
     *
     * @return Node The modified node
     */
    abstract protected function doEnterNode(Node $node, Environment $env);

    /**
     * Called after child nodes are visited.
     *
     * @return Node|false|null The modified node or null if the node must be removed
     */
    abstract protected function doLeaveNode(Node $node, Environment $env);
}

class_alias('Twig\NodeVisitor\AbstractNodeVisitor', 'Twig_BaseNodeVisitor');
vendor/twig/twig/src/NodeVisitor/EscaperNodeVisitor.php000060400000016054150750356250017314 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\NodeVisitor;

use Twig\Environment;
use Twig\Node\AutoEscapeNode;
use Twig\Node\BlockNode;
use Twig\Node\BlockReferenceNode;
use Twig\Node\DoNode;
use Twig\Node\Expression\ConditionalExpression;
use Twig\Node\Expression\ConstantExpression;
use Twig\Node\Expression\FilterExpression;
use Twig\Node\Expression\InlinePrint;
use Twig\Node\ImportNode;
use Twig\Node\ModuleNode;
use Twig\Node\Node;
use Twig\Node\PrintNode;
use Twig\NodeTraverser;

/**
 * @final
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class EscaperNodeVisitor extends AbstractNodeVisitor
{
    protected $statusStack = [];
    protected $blocks = [];
    protected $safeAnalysis;
    protected $traverser;
    protected $defaultStrategy = false;
    protected $safeVars = [];

    public function __construct()
    {
        $this->safeAnalysis = new SafeAnalysisNodeVisitor();
    }

    protected function doEnterNode(Node $node, Environment $env)
    {
        if ($node instanceof ModuleNode) {
            if ($env->hasExtension('\Twig\Extension\EscaperExtension') && $defaultStrategy = $env->getExtension('\Twig\Extension\EscaperExtension')->getDefaultStrategy($node->getTemplateName())) {
                $this->defaultStrategy = $defaultStrategy;
            }
            $this->safeVars = [];
            $this->blocks = [];
        } elseif ($node instanceof AutoEscapeNode) {
            $this->statusStack[] = $node->getAttribute('value');
        } elseif ($node instanceof BlockNode) {
            $this->statusStack[] = isset($this->blocks[$node->getAttribute('name')]) ? $this->blocks[$node->getAttribute('name')] : $this->needEscaping($env);
        } elseif ($node instanceof ImportNode) {
            $this->safeVars[] = $node->getNode('var')->getAttribute('name');
        }

        return $node;
    }

    protected function doLeaveNode(Node $node, Environment $env)
    {
        if ($node instanceof ModuleNode) {
            $this->defaultStrategy = false;
            $this->safeVars = [];
            $this->blocks = [];
        } elseif ($node instanceof FilterExpression) {
            return $this->preEscapeFilterNode($node, $env);
        } elseif ($node instanceof PrintNode && false !== $type = $this->needEscaping($env)) {
            $expression = $node->getNode('expr');
            if ($expression instanceof ConditionalExpression && $this->shouldUnwrapConditional($expression, $env, $type)) {
                return new DoNode($this->unwrapConditional($expression, $env, $type), $expression->getTemplateLine());
            }

            return $this->escapePrintNode($node, $env, $type);
        }

        if ($node instanceof AutoEscapeNode || $node instanceof BlockNode) {
            array_pop($this->statusStack);
        } elseif ($node instanceof BlockReferenceNode) {
            $this->blocks[$node->getAttribute('name')] = $this->needEscaping($env);
        }

        return $node;
    }

    private function shouldUnwrapConditional(ConditionalExpression $expression, Environment $env, $type)
    {
        $expr2Safe = $this->isSafeFor($type, $expression->getNode('expr2'), $env);
        $expr3Safe = $this->isSafeFor($type, $expression->getNode('expr3'), $env);

        return $expr2Safe !== $expr3Safe;
    }

    private function unwrapConditional(ConditionalExpression $expression, Environment $env, $type)
    {
        // convert "echo a ? b : c" to "a ? echo b : echo c" recursively
        $expr2 = $expression->getNode('expr2');
        if ($expr2 instanceof ConditionalExpression && $this->shouldUnwrapConditional($expr2, $env, $type)) {
            $expr2 = $this->unwrapConditional($expr2, $env, $type);
        } else {
            $expr2 = $this->escapeInlinePrintNode(new InlinePrint($expr2, $expr2->getTemplateLine()), $env, $type);
        }
        $expr3 = $expression->getNode('expr3');
        if ($expr3 instanceof ConditionalExpression && $this->shouldUnwrapConditional($expr3, $env, $type)) {
            $expr3 = $this->unwrapConditional($expr3, $env, $type);
        } else {
            $expr3 = $this->escapeInlinePrintNode(new InlinePrint($expr3, $expr3->getTemplateLine()), $env, $type);
        }

        return new ConditionalExpression($expression->getNode('expr1'), $expr2, $expr3, $expression->getTemplateLine());
    }

    private function escapeInlinePrintNode(InlinePrint $node, Environment $env, $type)
    {
        $expression = $node->getNode('node');

        if ($this->isSafeFor($type, $expression, $env)) {
            return $node;
        }

        return new InlinePrint($this->getEscaperFilter($type, $expression), $node->getTemplateLine());
    }

    protected function escapePrintNode(PrintNode $node, Environment $env, $type)
    {
        if (false === $type) {
            return $node;
        }

        $expression = $node->getNode('expr');

        if ($this->isSafeFor($type, $expression, $env)) {
            return $node;
        }

        $class = \get_class($node);

        return new $class($this->getEscaperFilter($type, $expression), $node->getTemplateLine());
    }

    protected function preEscapeFilterNode(FilterExpression $filter, Environment $env)
    {
        $name = $filter->getNode('filter')->getAttribute('value');

        $type = $env->getFilter($name)->getPreEscape();
        if (null === $type) {
            return $filter;
        }

        $node = $filter->getNode('node');
        if ($this->isSafeFor($type, $node, $env)) {
            return $filter;
        }

        $filter->setNode('node', $this->getEscaperFilter($type, $node));

        return $filter;
    }

    protected function isSafeFor($type, \Twig_NodeInterface $expression, $env)
    {
        $safe = $this->safeAnalysis->getSafe($expression);

        if (null === $safe) {
            if (null === $this->traverser) {
                $this->traverser = new NodeTraverser($env, [$this->safeAnalysis]);
            }

            $this->safeAnalysis->setSafeVars($this->safeVars);

            $this->traverser->traverse($expression);
            $safe = $this->safeAnalysis->getSafe($expression);
        }

        return \in_array($type, $safe) || \in_array('all', $safe);
    }

    protected function needEscaping(Environment $env)
    {
        if (\count($this->statusStack)) {
            return $this->statusStack[\count($this->statusStack) - 1];
        }

        return $this->defaultStrategy ? $this->defaultStrategy : false;
    }

    protected function getEscaperFilter($type, \Twig_NodeInterface $node)
    {
        $line = $node->getTemplateLine();
        $name = new ConstantExpression('escape', $line);
        $args = new Node([new ConstantExpression((string) $type, $line), new ConstantExpression(null, $line), new ConstantExpression(true, $line)]);

        return new FilterExpression($node, $name, $args, $line);
    }

    public function getPriority()
    {
        return 0;
    }
}

class_alias('Twig\NodeVisitor\EscaperNodeVisitor', 'Twig_NodeVisitor_Escaper');
vendor/twig/twig/src/NodeVisitor/OptimizerNodeVisitor.php000060400000021370150750356250017711 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\NodeVisitor;

use Twig\Environment;
use Twig\Node\BlockReferenceNode;
use Twig\Node\BodyNode;
use Twig\Node\Expression\AbstractExpression;
use Twig\Node\Expression\BlockReferenceExpression;
use Twig\Node\Expression\ConstantExpression;
use Twig\Node\Expression\FilterExpression;
use Twig\Node\Expression\FunctionExpression;
use Twig\Node\Expression\GetAttrExpression;
use Twig\Node\Expression\NameExpression;
use Twig\Node\Expression\ParentExpression;
use Twig\Node\Expression\TempNameExpression;
use Twig\Node\ForNode;
use Twig\Node\IncludeNode;
use Twig\Node\Node;
use Twig\Node\PrintNode;
use Twig\Node\SetTempNode;

/**
 * Tries to optimize the AST.
 *
 * This visitor is always the last registered one.
 *
 * You can configure which optimizations you want to activate via the
 * optimizer mode.
 *
 * @final
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class OptimizerNodeVisitor extends AbstractNodeVisitor
{
    const OPTIMIZE_ALL = -1;
    const OPTIMIZE_NONE = 0;
    const OPTIMIZE_FOR = 2;
    const OPTIMIZE_RAW_FILTER = 4;
    const OPTIMIZE_VAR_ACCESS = 8;

    protected $loops = [];
    protected $loopsTargets = [];
    protected $optimizers;
    protected $prependedNodes = [];
    protected $inABody = false;

    /**
     * @param int $optimizers The optimizer mode
     */
    public function __construct($optimizers = -1)
    {
        if (!\is_int($optimizers) || $optimizers > (self::OPTIMIZE_FOR | self::OPTIMIZE_RAW_FILTER | self::OPTIMIZE_VAR_ACCESS)) {
            throw new \InvalidArgumentException(sprintf('Optimizer mode "%s" is not valid.', $optimizers));
        }

        $this->optimizers = $optimizers;
    }

    protected function doEnterNode(Node $node, Environment $env)
    {
        if (self::OPTIMIZE_FOR === (self::OPTIMIZE_FOR & $this->optimizers)) {
            $this->enterOptimizeFor($node, $env);
        }

        if (\PHP_VERSION_ID < 50400 && self::OPTIMIZE_VAR_ACCESS === (self::OPTIMIZE_VAR_ACCESS & $this->optimizers) && !$env->isStrictVariables() && !$env->hasExtension('\Twig\Extension\SandboxExtension')) {
            if ($this->inABody) {
                if (!$node instanceof AbstractExpression) {
                    if ('Twig_Node' !== \get_class($node)) {
                        array_unshift($this->prependedNodes, []);
                    }
                } else {
                    $node = $this->optimizeVariables($node, $env);
                }
            } elseif ($node instanceof BodyNode) {
                $this->inABody = true;
            }
        }

        return $node;
    }

    protected function doLeaveNode(Node $node, Environment $env)
    {
        $expression = $node instanceof AbstractExpression;

        if (self::OPTIMIZE_FOR === (self::OPTIMIZE_FOR & $this->optimizers)) {
            $this->leaveOptimizeFor($node, $env);
        }

        if (self::OPTIMIZE_RAW_FILTER === (self::OPTIMIZE_RAW_FILTER & $this->optimizers)) {
            $node = $this->optimizeRawFilter($node, $env);
        }

        $node = $this->optimizePrintNode($node, $env);

        if (self::OPTIMIZE_VAR_ACCESS === (self::OPTIMIZE_VAR_ACCESS & $this->optimizers) && !$env->isStrictVariables() && !$env->hasExtension('\Twig\Extension\SandboxExtension')) {
            if ($node instanceof BodyNode) {
                $this->inABody = false;
            } elseif ($this->inABody) {
                if (!$expression && 'Twig_Node' !== \get_class($node) && $prependedNodes = array_shift($this->prependedNodes)) {
                    $nodes = [];
                    foreach (array_unique($prependedNodes) as $name) {
                        $nodes[] = new SetTempNode($name, $node->getTemplateLine());
                    }

                    $nodes[] = $node;
                    $node = new Node($nodes);
                }
            }
        }

        return $node;
    }

    protected function optimizeVariables(\Twig_NodeInterface $node, Environment $env)
    {
        if ('Twig_Node_Expression_Name' === \get_class($node) && $node->isSimple()) {
            $this->prependedNodes[0][] = $node->getAttribute('name');

            return new TempNameExpression($node->getAttribute('name'), $node->getTemplateLine());
        }

        return $node;
    }

    /**
     * Optimizes print nodes.
     *
     * It replaces:
     *
     *   * "echo $this->render(Parent)Block()" with "$this->display(Parent)Block()"
     *
     * @return \Twig_NodeInterface
     */
    protected function optimizePrintNode(\Twig_NodeInterface $node, Environment $env)
    {
        if (!$node instanceof PrintNode) {
            return $node;
        }

        $exprNode = $node->getNode('expr');
        if (
            $exprNode instanceof BlockReferenceExpression ||
            $exprNode instanceof ParentExpression
        ) {
            $exprNode->setAttribute('output', true);

            return $exprNode;
        }

        return $node;
    }

    /**
     * Removes "raw" filters.
     *
     * @return \Twig_NodeInterface
     */
    protected function optimizeRawFilter(\Twig_NodeInterface $node, Environment $env)
    {
        if ($node instanceof FilterExpression && 'raw' == $node->getNode('filter')->getAttribute('value')) {
            return $node->getNode('node');
        }

        return $node;
    }

    /**
     * Optimizes "for" tag by removing the "loop" variable creation whenever possible.
     */
    protected function enterOptimizeFor(\Twig_NodeInterface $node, Environment $env)
    {
        if ($node instanceof ForNode) {
            // disable the loop variable by default
            $node->setAttribute('with_loop', false);
            array_unshift($this->loops, $node);
            array_unshift($this->loopsTargets, $node->getNode('value_target')->getAttribute('name'));
            array_unshift($this->loopsTargets, $node->getNode('key_target')->getAttribute('name'));
        } elseif (!$this->loops) {
            // we are outside a loop
            return;
        }

        // when do we need to add the loop variable back?

        // the loop variable is referenced for the current loop
        elseif ($node instanceof NameExpression && 'loop' === $node->getAttribute('name')) {
            $node->setAttribute('always_defined', true);
            $this->addLoopToCurrent();
        }

        // optimize access to loop targets
        elseif ($node instanceof NameExpression && \in_array($node->getAttribute('name'), $this->loopsTargets)) {
            $node->setAttribute('always_defined', true);
        }

        // block reference
        elseif ($node instanceof BlockReferenceNode || $node instanceof BlockReferenceExpression) {
            $this->addLoopToCurrent();
        }

        // include without the only attribute
        elseif ($node instanceof IncludeNode && !$node->getAttribute('only')) {
            $this->addLoopToAll();
        }

        // include function without the with_context=false parameter
        elseif ($node instanceof FunctionExpression
            && 'include' === $node->getAttribute('name')
            && (!$node->getNode('arguments')->hasNode('with_context')
                 || false !== $node->getNode('arguments')->getNode('with_context')->getAttribute('value')
               )
        ) {
            $this->addLoopToAll();
        }

        // the loop variable is referenced via an attribute
        elseif ($node instanceof GetAttrExpression
            && (!$node->getNode('attribute') instanceof ConstantExpression
                || 'parent' === $node->getNode('attribute')->getAttribute('value')
               )
            && (true === $this->loops[0]->getAttribute('with_loop')
                || ($node->getNode('node') instanceof NameExpression
                    && 'loop' === $node->getNode('node')->getAttribute('name')
                   )
               )
        ) {
            $this->addLoopToAll();
        }
    }

    /**
     * Optimizes "for" tag by removing the "loop" variable creation whenever possible.
     */
    protected function leaveOptimizeFor(\Twig_NodeInterface $node, Environment $env)
    {
        if ($node instanceof ForNode) {
            array_shift($this->loops);
            array_shift($this->loopsTargets);
            array_shift($this->loopsTargets);
        }
    }

    protected function addLoopToCurrent()
    {
        $this->loops[0]->setAttribute('with_loop', true);
    }

    protected function addLoopToAll()
    {
        foreach ($this->loops as $loop) {
            $loop->setAttribute('with_loop', true);
        }
    }

    public function getPriority()
    {
        return 255;
    }
}

class_alias('Twig\NodeVisitor\OptimizerNodeVisitor', 'Twig_NodeVisitor_Optimizer');
vendor/twig/twig/src/ExpressionParser.php000060400000077767150750356250014635 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig;

use Twig\Error\SyntaxError;
use Twig\Node\Expression\ArrayExpression;
use Twig\Node\Expression\ArrowFunctionExpression;
use Twig\Node\Expression\AssignNameExpression;
use Twig\Node\Expression\Binary\ConcatBinary;
use Twig\Node\Expression\BlockReferenceExpression;
use Twig\Node\Expression\ConditionalExpression;
use Twig\Node\Expression\ConstantExpression;
use Twig\Node\Expression\GetAttrExpression;
use Twig\Node\Expression\MethodCallExpression;
use Twig\Node\Expression\NameExpression;
use Twig\Node\Expression\ParentExpression;
use Twig\Node\Expression\Unary\NegUnary;
use Twig\Node\Expression\Unary\NotUnary;
use Twig\Node\Expression\Unary\PosUnary;
use Twig\Node\Node;

/**
 * Parses expressions.
 *
 * This parser implements a "Precedence climbing" algorithm.
 *
 * @see https://www.engr.mun.ca/~theo/Misc/exp_parsing.htm
 * @see https://en.wikipedia.org/wiki/Operator-precedence_parser
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @internal
 */
class ExpressionParser
{
    const OPERATOR_LEFT = 1;
    const OPERATOR_RIGHT = 2;

    protected $parser;
    protected $unaryOperators;
    protected $binaryOperators;

    private $env;

    public function __construct(Parser $parser, $env = null)
    {
        $this->parser = $parser;

        if ($env instanceof Environment) {
            $this->env = $env;
            $this->unaryOperators = $env->getUnaryOperators();
            $this->binaryOperators = $env->getBinaryOperators();
        } else {
            @trigger_error('Passing the operators as constructor arguments to '.__METHOD__.' is deprecated since version 1.27. Pass the environment instead.', E_USER_DEPRECATED);

            $this->env = $parser->getEnvironment();
            $this->unaryOperators = func_get_arg(1);
            $this->binaryOperators = func_get_arg(2);
        }
    }

    public function parseExpression($precedence = 0, $allowArrow = false)
    {
        if ($allowArrow && $arrow = $this->parseArrow()) {
            return $arrow;
        }

        $expr = $this->getPrimary();
        $token = $this->parser->getCurrentToken();
        while ($this->isBinary($token) && $this->binaryOperators[$token->getValue()]['precedence'] >= $precedence) {
            $op = $this->binaryOperators[$token->getValue()];
            $this->parser->getStream()->next();

            if ('is not' === $token->getValue()) {
                $expr = $this->parseNotTestExpression($expr);
            } elseif ('is' === $token->getValue()) {
                $expr = $this->parseTestExpression($expr);
            } elseif (isset($op['callable'])) {
                $expr = \call_user_func($op['callable'], $this->parser, $expr);
            } else {
                $expr1 = $this->parseExpression(self::OPERATOR_LEFT === $op['associativity'] ? $op['precedence'] + 1 : $op['precedence']);
                $class = $op['class'];
                $expr = new $class($expr, $expr1, $token->getLine());
            }

            $token = $this->parser->getCurrentToken();
        }

        if (0 === $precedence) {
            return $this->parseConditionalExpression($expr);
        }

        return $expr;
    }

    /**
     * @return ArrowFunctionExpression|null
     */
    private function parseArrow()
    {
        $stream = $this->parser->getStream();

        // short array syntax (one argument, no parentheses)?
        if ($stream->look(1)->test(Token::ARROW_TYPE)) {
            $line = $stream->getCurrent()->getLine();
            $token = $stream->expect(Token::NAME_TYPE);
            $names = [new AssignNameExpression($token->getValue(), $token->getLine())];
            $stream->expect(Token::ARROW_TYPE);

            return new ArrowFunctionExpression($this->parseExpression(0), new Node($names), $line);
        }

        // first, determine if we are parsing an arrow function by finding => (long form)
        $i = 0;
        if (!$stream->look($i)->test(Token::PUNCTUATION_TYPE, '(')) {
            return null;
        }
        ++$i;
        while (true) {
            // variable name
            ++$i;
            if (!$stream->look($i)->test(Token::PUNCTUATION_TYPE, ',')) {
                break;
            }
            ++$i;
        }
        if (!$stream->look($i)->test(Token::PUNCTUATION_TYPE, ')')) {
            return null;
        }
        ++$i;
        if (!$stream->look($i)->test(Token::ARROW_TYPE)) {
            return null;
        }

        // yes, let's parse it properly
        $token = $stream->expect(Token::PUNCTUATION_TYPE, '(');
        $line = $token->getLine();

        $names = [];
        while (true) {
            $token = $stream->expect(Token::NAME_TYPE);
            $names[] = new AssignNameExpression($token->getValue(), $token->getLine());

            if (!$stream->nextIf(Token::PUNCTUATION_TYPE, ',')) {
                break;
            }
        }
        $stream->expect(Token::PUNCTUATION_TYPE, ')');
        $stream->expect(Token::ARROW_TYPE);

        return new ArrowFunctionExpression($this->parseExpression(0), new Node($names), $line);
    }

    protected function getPrimary()
    {
        $token = $this->parser->getCurrentToken();

        if ($this->isUnary($token)) {
            $operator = $this->unaryOperators[$token->getValue()];
            $this->parser->getStream()->next();
            $expr = $this->parseExpression($operator['precedence']);
            $class = $operator['class'];

            return $this->parsePostfixExpression(new $class($expr, $token->getLine()));
        } elseif ($token->test(Token::PUNCTUATION_TYPE, '(')) {
            $this->parser->getStream()->next();
            $expr = $this->parseExpression();
            $this->parser->getStream()->expect(Token::PUNCTUATION_TYPE, ')', 'An opened parenthesis is not properly closed');

            return $this->parsePostfixExpression($expr);
        }

        return $this->parsePrimaryExpression();
    }

    protected function parseConditionalExpression($expr)
    {
        while ($this->parser->getStream()->nextIf(Token::PUNCTUATION_TYPE, '?')) {
            if (!$this->parser->getStream()->nextIf(Token::PUNCTUATION_TYPE, ':')) {
                $expr2 = $this->parseExpression();
                if ($this->parser->getStream()->nextIf(Token::PUNCTUATION_TYPE, ':')) {
                    $expr3 = $this->parseExpression();
                } else {
                    $expr3 = new ConstantExpression('', $this->parser->getCurrentToken()->getLine());
                }
            } else {
                $expr2 = $expr;
                $expr3 = $this->parseExpression();
            }

            $expr = new ConditionalExpression($expr, $expr2, $expr3, $this->parser->getCurrentToken()->getLine());
        }

        return $expr;
    }

    protected function isUnary(Token $token)
    {
        return $token->test(Token::OPERATOR_TYPE) && isset($this->unaryOperators[$token->getValue()]);
    }

    protected function isBinary(Token $token)
    {
        return $token->test(Token::OPERATOR_TYPE) && isset($this->binaryOperators[$token->getValue()]);
    }

    public function parsePrimaryExpression()
    {
        $token = $this->parser->getCurrentToken();
        switch ($token->getType()) {
            case Token::NAME_TYPE:
                $this->parser->getStream()->next();
                switch ($token->getValue()) {
                    case 'true':
                    case 'TRUE':
                        $node = new ConstantExpression(true, $token->getLine());
                        break;

                    case 'false':
                    case 'FALSE':
                        $node = new ConstantExpression(false, $token->getLine());
                        break;

                    case 'none':
                    case 'NONE':
                    case 'null':
                    case 'NULL':
                        $node = new ConstantExpression(null, $token->getLine());
                        break;

                    default:
                        if ('(' === $this->parser->getCurrentToken()->getValue()) {
                            $node = $this->getFunctionNode($token->getValue(), $token->getLine());
                        } else {
                            $node = new NameExpression($token->getValue(), $token->getLine());
                        }
                }
                break;

            case Token::NUMBER_TYPE:
                $this->parser->getStream()->next();
                $node = new ConstantExpression($token->getValue(), $token->getLine());
                break;

            case Token::STRING_TYPE:
            case Token::INTERPOLATION_START_TYPE:
                $node = $this->parseStringExpression();
                break;

            case Token::OPERATOR_TYPE:
                if (preg_match(Lexer::REGEX_NAME, $token->getValue(), $matches) && $matches[0] == $token->getValue()) {
                    // in this context, string operators are variable names
                    $this->parser->getStream()->next();
                    $node = new NameExpression($token->getValue(), $token->getLine());
                    break;
                } elseif (isset($this->unaryOperators[$token->getValue()])) {
                    $class = $this->unaryOperators[$token->getValue()]['class'];

                    $ref = new \ReflectionClass($class);
                    $negClass = 'Twig\Node\Expression\Unary\NegUnary';
                    $posClass = 'Twig\Node\Expression\Unary\PosUnary';
                    if (!(\in_array($ref->getName(), [$negClass, $posClass, 'Twig_Node_Expression_Unary_Neg', 'Twig_Node_Expression_Unary_Pos'])
                        || $ref->isSubclassOf($negClass) || $ref->isSubclassOf($posClass)
                        || $ref->isSubclassOf('Twig_Node_Expression_Unary_Neg') || $ref->isSubclassOf('Twig_Node_Expression_Unary_Pos'))
                    ) {
                        throw new SyntaxError(sprintf('Unexpected unary operator "%s".', $token->getValue()), $token->getLine(), $this->parser->getStream()->getSourceContext());
                    }

                    $this->parser->getStream()->next();
                    $expr = $this->parsePrimaryExpression();

                    $node = new $class($expr, $token->getLine());
                    break;
                }

                // no break
            default:
                if ($token->test(Token::PUNCTUATION_TYPE, '[')) {
                    $node = $this->parseArrayExpression();
                } elseif ($token->test(Token::PUNCTUATION_TYPE, '{')) {
                    $node = $this->parseHashExpression();
                } elseif ($token->test(Token::OPERATOR_TYPE, '=') && ('==' === $this->parser->getStream()->look(-1)->getValue() || '!=' === $this->parser->getStream()->look(-1)->getValue())) {
                    throw new SyntaxError(sprintf('Unexpected operator of value "%s". Did you try to use "===" or "!==" for strict comparison? Use "is same as(value)" instead.', $token->getValue()), $token->getLine(), $this->parser->getStream()->getSourceContext());
                } else {
                    throw new SyntaxError(sprintf('Unexpected token "%s" of value "%s".', Token::typeToEnglish($token->getType()), $token->getValue()), $token->getLine(), $this->parser->getStream()->getSourceContext());
                }
        }

        return $this->parsePostfixExpression($node);
    }

    public function parseStringExpression()
    {
        $stream = $this->parser->getStream();

        $nodes = [];
        // a string cannot be followed by another string in a single expression
        $nextCanBeString = true;
        while (true) {
            if ($nextCanBeString && $token = $stream->nextIf(Token::STRING_TYPE)) {
                $nodes[] = new ConstantExpression($token->getValue(), $token->getLine());
                $nextCanBeString = false;
            } elseif ($stream->nextIf(Token::INTERPOLATION_START_TYPE)) {
                $nodes[] = $this->parseExpression();
                $stream->expect(Token::INTERPOLATION_END_TYPE);
                $nextCanBeString = true;
            } else {
                break;
            }
        }

        $expr = array_shift($nodes);
        foreach ($nodes as $node) {
            $expr = new ConcatBinary($expr, $node, $node->getTemplateLine());
        }

        return $expr;
    }

    public function parseArrayExpression()
    {
        $stream = $this->parser->getStream();
        $stream->expect(Token::PUNCTUATION_TYPE, '[', 'An array element was expected');

        $node = new ArrayExpression([], $stream->getCurrent()->getLine());
        $first = true;
        while (!$stream->test(Token::PUNCTUATION_TYPE, ']')) {
            if (!$first) {
                $stream->expect(Token::PUNCTUATION_TYPE, ',', 'An array element must be followed by a comma');

                // trailing ,?
                if ($stream->test(Token::PUNCTUATION_TYPE, ']')) {
                    break;
                }
            }
            $first = false;

            $node->addElement($this->parseExpression());
        }
        $stream->expect(Token::PUNCTUATION_TYPE, ']', 'An opened array is not properly closed');

        return $node;
    }

    public function parseHashExpression()
    {
        $stream = $this->parser->getStream();
        $stream->expect(Token::PUNCTUATION_TYPE, '{', 'A hash element was expected');

        $node = new ArrayExpression([], $stream->getCurrent()->getLine());
        $first = true;
        while (!$stream->test(Token::PUNCTUATION_TYPE, '}')) {
            if (!$first) {
                $stream->expect(Token::PUNCTUATION_TYPE, ',', 'A hash value must be followed by a comma');

                // trailing ,?
                if ($stream->test(Token::PUNCTUATION_TYPE, '}')) {
                    break;
                }
            }
            $first = false;

            // a hash key can be:
            //
            //  * a number -- 12
            //  * a string -- 'a'
            //  * a name, which is equivalent to a string -- a
            //  * an expression, which must be enclosed in parentheses -- (1 + 2)
            if (($token = $stream->nextIf(Token::STRING_TYPE)) || ($token = $stream->nextIf(Token::NAME_TYPE)) || $token = $stream->nextIf(Token::NUMBER_TYPE)) {
                $key = new ConstantExpression($token->getValue(), $token->getLine());
            } elseif ($stream->test(Token::PUNCTUATION_TYPE, '(')) {
                $key = $this->parseExpression();
            } else {
                $current = $stream->getCurrent();

                throw new SyntaxError(sprintf('A hash key must be a quoted string, a number, a name, or an expression enclosed in parentheses (unexpected token "%s" of value "%s".', Token::typeToEnglish($current->getType()), $current->getValue()), $current->getLine(), $stream->getSourceContext());
            }

            $stream->expect(Token::PUNCTUATION_TYPE, ':', 'A hash key must be followed by a colon (:)');
            $value = $this->parseExpression();

            $node->addElement($value, $key);
        }
        $stream->expect(Token::PUNCTUATION_TYPE, '}', 'An opened hash is not properly closed');

        return $node;
    }

    public function parsePostfixExpression($node)
    {
        while (true) {
            $token = $this->parser->getCurrentToken();
            if (Token::PUNCTUATION_TYPE == $token->getType()) {
                if ('.' == $token->getValue() || '[' == $token->getValue()) {
                    $node = $this->parseSubscriptExpression($node);
                } elseif ('|' == $token->getValue()) {
                    $node = $this->parseFilterExpression($node);
                } else {
                    break;
                }
            } else {
                break;
            }
        }

        return $node;
    }

    public function getFunctionNode($name, $line)
    {
        switch ($name) {
            case 'parent':
                $this->parseArguments();
                if (!\count($this->parser->getBlockStack())) {
                    throw new SyntaxError('Calling "parent" outside a block is forbidden.', $line, $this->parser->getStream()->getSourceContext());
                }

                if (!$this->parser->getParent() && !$this->parser->hasTraits()) {
                    throw new SyntaxError('Calling "parent" on a template that does not extend nor "use" another template is forbidden.', $line, $this->parser->getStream()->getSourceContext());
                }

                return new ParentExpression($this->parser->peekBlockStack(), $line);
            case 'block':
                $args = $this->parseArguments();
                if (\count($args) < 1) {
                    throw new SyntaxError('The "block" function takes one argument (the block name).', $line, $this->parser->getStream()->getSourceContext());
                }

                return new BlockReferenceExpression($args->getNode(0), \count($args) > 1 ? $args->getNode(1) : null, $line);
            case 'attribute':
                $args = $this->parseArguments();
                if (\count($args) < 2) {
                    throw new SyntaxError('The "attribute" function takes at least two arguments (the variable and the attributes).', $line, $this->parser->getStream()->getSourceContext());
                }

                return new GetAttrExpression($args->getNode(0), $args->getNode(1), \count($args) > 2 ? $args->getNode(2) : null, Template::ANY_CALL, $line);
            default:
                if (null !== $alias = $this->parser->getImportedSymbol('function', $name)) {
                    $arguments = new ArrayExpression([], $line);
                    foreach ($this->parseArguments() as $n) {
                        $arguments->addElement($n);
                    }

                    $node = new MethodCallExpression($alias['node'], $alias['name'], $arguments, $line);
                    $node->setAttribute('safe', true);

                    return $node;
                }

                $args = $this->parseArguments(true);
                $class = $this->getFunctionNodeClass($name, $line);

                return new $class($name, $args, $line);
        }
    }

    public function parseSubscriptExpression($node)
    {
        $stream = $this->parser->getStream();
        $token = $stream->next();
        $lineno = $token->getLine();
        $arguments = new ArrayExpression([], $lineno);
        $type = Template::ANY_CALL;
        if ('.' == $token->getValue()) {
            $token = $stream->next();
            if (
                Token::NAME_TYPE == $token->getType()
                ||
                Token::NUMBER_TYPE == $token->getType()
                ||
                (Token::OPERATOR_TYPE == $token->getType() && preg_match(Lexer::REGEX_NAME, $token->getValue()))
            ) {
                $arg = new ConstantExpression($token->getValue(), $lineno);

                if ($stream->test(Token::PUNCTUATION_TYPE, '(')) {
                    $type = Template::METHOD_CALL;
                    foreach ($this->parseArguments() as $n) {
                        $arguments->addElement($n);
                    }
                }
            } else {
                throw new SyntaxError('Expected name or number.', $lineno, $stream->getSourceContext());
            }

            if ($node instanceof NameExpression && null !== $this->parser->getImportedSymbol('template', $node->getAttribute('name'))) {
                if (!$arg instanceof ConstantExpression) {
                    throw new SyntaxError(sprintf('Dynamic macro names are not supported (called on "%s").', $node->getAttribute('name')), $token->getLine(), $stream->getSourceContext());
                }

                $name = $arg->getAttribute('value');

                if ($this->parser->isReservedMacroName($name)) {
                    throw new SyntaxError(sprintf('"%s" cannot be called as macro as it is a reserved keyword.', $name), $token->getLine(), $stream->getSourceContext());
                }

                $node = new MethodCallExpression($node, 'get'.$name, $arguments, $lineno);
                $node->setAttribute('safe', true);

                return $node;
            }
        } else {
            $type = Template::ARRAY_CALL;

            // slice?
            $slice = false;
            if ($stream->test(Token::PUNCTUATION_TYPE, ':')) {
                $slice = true;
                $arg = new ConstantExpression(0, $token->getLine());
            } else {
                $arg = $this->parseExpression();
            }

            if ($stream->nextIf(Token::PUNCTUATION_TYPE, ':')) {
                $slice = true;
            }

            if ($slice) {
                if ($stream->test(Token::PUNCTUATION_TYPE, ']')) {
                    $length = new ConstantExpression(null, $token->getLine());
                } else {
                    $length = $this->parseExpression();
                }

                $class = $this->getFilterNodeClass('slice', $token->getLine());
                $arguments = new Node([$arg, $length]);
                $filter = new $class($node, new ConstantExpression('slice', $token->getLine()), $arguments, $token->getLine());

                $stream->expect(Token::PUNCTUATION_TYPE, ']');

                return $filter;
            }

            $stream->expect(Token::PUNCTUATION_TYPE, ']');
        }

        return new GetAttrExpression($node, $arg, $arguments, $type, $lineno);
    }

    public function parseFilterExpression($node)
    {
        $this->parser->getStream()->next();

        return $this->parseFilterExpressionRaw($node);
    }

    public function parseFilterExpressionRaw($node, $tag = null)
    {
        while (true) {
            $token = $this->parser->getStream()->expect(Token::NAME_TYPE);

            $name = new ConstantExpression($token->getValue(), $token->getLine());
            if (!$this->parser->getStream()->test(Token::PUNCTUATION_TYPE, '(')) {
                $arguments = new Node();
            } else {
                $arguments = $this->parseArguments(true, false, true);
            }

            $class = $this->getFilterNodeClass($name->getAttribute('value'), $token->getLine());

            $node = new $class($node, $name, $arguments, $token->getLine(), $tag);

            if (!$this->parser->getStream()->test(Token::PUNCTUATION_TYPE, '|')) {
                break;
            }

            $this->parser->getStream()->next();
        }

        return $node;
    }

    /**
     * Parses arguments.
     *
     * @param bool $namedArguments Whether to allow named arguments or not
     * @param bool $definition     Whether we are parsing arguments for a function definition
     *
     * @return Node
     *
     * @throws SyntaxError
     */
    public function parseArguments($namedArguments = false, $definition = false, $allowArrow = false)
    {
        $args = [];
        $stream = $this->parser->getStream();

        $stream->expect(Token::PUNCTUATION_TYPE, '(', 'A list of arguments must begin with an opening parenthesis');
        while (!$stream->test(Token::PUNCTUATION_TYPE, ')')) {
            if (!empty($args)) {
                $stream->expect(Token::PUNCTUATION_TYPE, ',', 'Arguments must be separated by a comma');
            }

            if ($definition) {
                $token = $stream->expect(Token::NAME_TYPE, null, 'An argument must be a name');
                $value = new NameExpression($token->getValue(), $this->parser->getCurrentToken()->getLine());
            } else {
                $value = $this->parseExpression(0, $allowArrow);
            }

            $name = null;
            if ($namedArguments && $token = $stream->nextIf(Token::OPERATOR_TYPE, '=')) {
                if (!$value instanceof NameExpression) {
                    throw new SyntaxError(sprintf('A parameter name must be a string, "%s" given.', \get_class($value)), $token->getLine(), $stream->getSourceContext());
                }
                $name = $value->getAttribute('name');

                if ($definition) {
                    $value = $this->parsePrimaryExpression();

                    if (!$this->checkConstantExpression($value)) {
                        throw new SyntaxError(sprintf('A default value for an argument must be a constant (a boolean, a string, a number, or an array).'), $token->getLine(), $stream->getSourceContext());
                    }
                } else {
                    $value = $this->parseExpression(0, $allowArrow);
                }
            }

            if ($definition) {
                if (null === $name) {
                    $name = $value->getAttribute('name');
                    $value = new ConstantExpression(null, $this->parser->getCurrentToken()->getLine());
                }
                $args[$name] = $value;
            } else {
                if (null === $name) {
                    $args[] = $value;
                } else {
                    $args[$name] = $value;
                }
            }
        }
        $stream->expect(Token::PUNCTUATION_TYPE, ')', 'A list of arguments must be closed by a parenthesis');

        return new Node($args);
    }

    public function parseAssignmentExpression()
    {
        $stream = $this->parser->getStream();
        $targets = [];
        while (true) {
            $token = $this->parser->getCurrentToken();
            if ($stream->test(Token::OPERATOR_TYPE) && preg_match(Lexer::REGEX_NAME, $token->getValue())) {
                // in this context, string operators are variable names
                $this->parser->getStream()->next();
            } else {
                $stream->expect(Token::NAME_TYPE, null, 'Only variables can be assigned to');
            }
            $value = $token->getValue();
            if (\in_array(strtr($value, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), ['true', 'false', 'none', 'null'])) {
                throw new SyntaxError(sprintf('You cannot assign a value to "%s".', $value), $token->getLine(), $stream->getSourceContext());
            }
            $targets[] = new AssignNameExpression($value, $token->getLine());

            if (!$stream->nextIf(Token::PUNCTUATION_TYPE, ',')) {
                break;
            }
        }

        return new Node($targets);
    }

    public function parseMultitargetExpression()
    {
        $targets = [];
        while (true) {
            $targets[] = $this->parseExpression();
            if (!$this->parser->getStream()->nextIf(Token::PUNCTUATION_TYPE, ',')) {
                break;
            }
        }

        return new Node($targets);
    }

    private function parseNotTestExpression(\Twig_NodeInterface $node)
    {
        return new NotUnary($this->parseTestExpression($node), $this->parser->getCurrentToken()->getLine());
    }

    private function parseTestExpression(\Twig_NodeInterface $node)
    {
        $stream = $this->parser->getStream();
        list($name, $test) = $this->getTest($node->getTemplateLine());

        $class = $this->getTestNodeClass($test);
        $arguments = null;
        if ($stream->test(Token::PUNCTUATION_TYPE, '(')) {
            $arguments = $this->parseArguments(true);
        }

        return new $class($node, $name, $arguments, $this->parser->getCurrentToken()->getLine());
    }

    private function getTest($line)
    {
        $stream = $this->parser->getStream();
        $name = $stream->expect(Token::NAME_TYPE)->getValue();

        if ($test = $this->env->getTest($name)) {
            return [$name, $test];
        }

        if ($stream->test(Token::NAME_TYPE)) {
            // try 2-words tests
            $name = $name.' '.$this->parser->getCurrentToken()->getValue();

            if ($test = $this->env->getTest($name)) {
                $stream->next();

                return [$name, $test];
            }
        }

        $e = new SyntaxError(sprintf('Unknown "%s" test.', $name), $line, $stream->getSourceContext());
        $e->addSuggestions($name, array_keys($this->env->getTests()));

        throw $e;
    }

    private function getTestNodeClass($test)
    {
        if ($test instanceof TwigTest && $test->isDeprecated()) {
            $stream = $this->parser->getStream();
            $message = sprintf('Twig Test "%s" is deprecated', $test->getName());
            if (!\is_bool($test->getDeprecatedVersion())) {
                $message .= sprintf(' since version %s', $test->getDeprecatedVersion());
            }
            if ($test->getAlternative()) {
                $message .= sprintf('. Use "%s" instead', $test->getAlternative());
            }
            $src = $stream->getSourceContext();
            $message .= sprintf(' in %s at line %d.', $src->getPath() ? $src->getPath() : $src->getName(), $stream->getCurrent()->getLine());

            @trigger_error($message, E_USER_DEPRECATED);
        }

        if ($test instanceof TwigTest) {
            return $test->getNodeClass();
        }

        return $test instanceof \Twig_Test_Node ? $test->getClass() : 'Twig\Node\Expression\TestExpression';
    }

    protected function getFunctionNodeClass($name, $line)
    {
        if (false === $function = $this->env->getFunction($name)) {
            $e = new SyntaxError(sprintf('Unknown "%s" function.', $name), $line, $this->parser->getStream()->getSourceContext());
            $e->addSuggestions($name, array_keys($this->env->getFunctions()));

            throw $e;
        }

        if ($function instanceof TwigFunction && $function->isDeprecated()) {
            $message = sprintf('Twig Function "%s" is deprecated', $function->getName());
            if (!\is_bool($function->getDeprecatedVersion())) {
                $message .= sprintf(' since version %s', $function->getDeprecatedVersion());
            }
            if ($function->getAlternative()) {
                $message .= sprintf('. Use "%s" instead', $function->getAlternative());
            }
            $src = $this->parser->getStream()->getSourceContext();
            $message .= sprintf(' in %s at line %d.', $src->getPath() ? $src->getPath() : $src->getName(), $line);

            @trigger_error($message, E_USER_DEPRECATED);
        }

        if ($function instanceof TwigFunction) {
            return $function->getNodeClass();
        }

        return $function instanceof \Twig_Function_Node ? $function->getClass() : 'Twig\Node\Expression\FunctionExpression';
    }

    protected function getFilterNodeClass($name, $line)
    {
        if (false === $filter = $this->env->getFilter($name)) {
            $e = new SyntaxError(sprintf('Unknown "%s" filter.', $name), $line, $this->parser->getStream()->getSourceContext());
            $e->addSuggestions($name, array_keys($this->env->getFilters()));

            throw $e;
        }

        if ($filter instanceof TwigFilter && $filter->isDeprecated()) {
            $message = sprintf('Twig Filter "%s" is deprecated', $filter->getName());
            if (!\is_bool($filter->getDeprecatedVersion())) {
                $message .= sprintf(' since version %s', $filter->getDeprecatedVersion());
            }
            if ($filter->getAlternative()) {
                $message .= sprintf('. Use "%s" instead', $filter->getAlternative());
            }
            $src = $this->parser->getStream()->getSourceContext();
            $message .= sprintf(' in %s at line %d.', $src->getPath() ? $src->getPath() : $src->getName(), $line);

            @trigger_error($message, E_USER_DEPRECATED);
        }

        if ($filter instanceof TwigFilter) {
            return $filter->getNodeClass();
        }

        return $filter instanceof \Twig_Filter_Node ? $filter->getClass() : 'Twig\Node\Expression\FilterExpression';
    }

    // checks that the node only contains "constant" elements
    protected function checkConstantExpression(\Twig_NodeInterface $node)
    {
        if (!($node instanceof ConstantExpression || $node instanceof ArrayExpression
            || $node instanceof NegUnary || $node instanceof PosUnary
        )) {
            return false;
        }

        foreach ($node as $n) {
            if (!$this->checkConstantExpression($n)) {
                return false;
            }
        }

        return true;
    }
}

class_alias('Twig\ExpressionParser', 'Twig_ExpressionParser');
vendor/twig/twig/src/Profiler/Profile.php000060400000007772150750356250014470 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Profiler;

/**
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @final
 */
class Profile implements \IteratorAggregate, \Serializable
{
    const ROOT = 'ROOT';
    const BLOCK = 'block';
    const TEMPLATE = 'template';
    const MACRO = 'macro';

    private $template;
    private $name;
    private $type;
    private $starts = [];
    private $ends = [];
    private $profiles = [];

    public function __construct($template = 'main', $type = self::ROOT, $name = 'main')
    {
        $this->template = $template;
        $this->type = $type;
        $this->name = 0 === strpos($name, '__internal_') ? 'INTERNAL' : $name;
        $this->enter();
    }

    public function getTemplate()
    {
        return $this->template;
    }

    public function getType()
    {
        return $this->type;
    }

    public function getName()
    {
        return $this->name;
    }

    public function isRoot()
    {
        return self::ROOT === $this->type;
    }

    public function isTemplate()
    {
        return self::TEMPLATE === $this->type;
    }

    public function isBlock()
    {
        return self::BLOCK === $this->type;
    }

    public function isMacro()
    {
        return self::MACRO === $this->type;
    }

    public function getProfiles()
    {
        return $this->profiles;
    }

    public function addProfile(self $profile)
    {
        $this->profiles[] = $profile;
    }

    /**
     * Returns the duration in microseconds.
     *
     * @return float
     */
    public function getDuration()
    {
        if ($this->isRoot() && $this->profiles) {
            // for the root node with children, duration is the sum of all child durations
            $duration = 0;
            foreach ($this->profiles as $profile) {
                $duration += $profile->getDuration();
            }

            return $duration;
        }

        return isset($this->ends['wt']) && isset($this->starts['wt']) ? $this->ends['wt'] - $this->starts['wt'] : 0;
    }

    /**
     * Returns the memory usage in bytes.
     *
     * @return int
     */
    public function getMemoryUsage()
    {
        return isset($this->ends['mu']) && isset($this->starts['mu']) ? $this->ends['mu'] - $this->starts['mu'] : 0;
    }

    /**
     * Returns the peak memory usage in bytes.
     *
     * @return int
     */
    public function getPeakMemoryUsage()
    {
        return isset($this->ends['pmu']) && isset($this->starts['pmu']) ? $this->ends['pmu'] - $this->starts['pmu'] : 0;
    }

    /**
     * Starts the profiling.
     */
    public function enter()
    {
        $this->starts = [
            'wt' => microtime(true),
            'mu' => memory_get_usage(),
            'pmu' => memory_get_peak_usage(),
        ];
    }

    /**
     * Stops the profiling.
     */
    public function leave()
    {
        $this->ends = [
            'wt' => microtime(true),
            'mu' => memory_get_usage(),
            'pmu' => memory_get_peak_usage(),
        ];
    }

    public function reset()
    {
        $this->starts = $this->ends = $this->profiles = [];
        $this->enter();
    }

    public function getIterator()
    {
        return new \ArrayIterator($this->profiles);
    }

    public function serialize()
    {
        return serialize($this->__serialize());
    }

    public function unserialize($data)
    {
        $this->__unserialize(unserialize($data));
    }

    /**
     * @internal
     */
    public function __serialize()
    {
        return [$this->template, $this->name, $this->type, $this->starts, $this->ends, $this->profiles];
    }

    /**
     * @internal
     */
    public function __unserialize(array $data)
    {
        list($this->template, $this->name, $this->type, $this->starts, $this->ends, $this->profiles) = $data;
    }
}

class_alias('Twig\Profiler\Profile', 'Twig_Profiler_Profile');
vendor/twig/twig/src/Profiler/Dumper/HtmlDumper.php000060400000002727150750356250016400 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Profiler\Dumper;

use Twig\Profiler\Profile;

/**
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @final
 */
class HtmlDumper extends BaseDumper
{
    private static $colors = [
        'block' => '#dfd',
        'macro' => '#ddf',
        'template' => '#ffd',
        'big' => '#d44',
    ];

    public function dump(Profile $profile)
    {
        return '<pre>'.parent::dump($profile).'</pre>';
    }

    protected function formatTemplate(Profile $profile, $prefix)
    {
        return sprintf('%s└ <span style="background-color: %s">%s</span>', $prefix, self::$colors['template'], $profile->getTemplate());
    }

    protected function formatNonTemplate(Profile $profile, $prefix)
    {
        return sprintf('%s└ %s::%s(<span style="background-color: %s">%s</span>)', $prefix, $profile->getTemplate(), $profile->getType(), isset(self::$colors[$profile->getType()]) ? self::$colors[$profile->getType()] : 'auto', $profile->getName());
    }

    protected function formatTime(Profile $profile, $percent)
    {
        return sprintf('<span style="color: %s">%.2fms/%.0f%%</span>', $percent > 20 ? self::$colors['big'] : 'auto', $profile->getDuration() * 1000, $percent);
    }
}

class_alias('Twig\Profiler\Dumper\HtmlDumper', 'Twig_Profiler_Dumper_Html');
vendor/twig/twig/src/Profiler/Dumper/BlackfireDumper.php000060400000004016150750356250017347 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Profiler\Dumper;

use Twig\Profiler\Profile;

/**
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @final
 */
class BlackfireDumper
{
    public function dump(Profile $profile)
    {
        $data = [];
        $this->dumpProfile('main()', $profile, $data);
        $this->dumpChildren('main()', $profile, $data);

        $start = sprintf('%f', microtime(true));
        $str = <<<EOF
file-format: BlackfireProbe
cost-dimensions: wt mu pmu
request-start: {$start}


EOF;

        foreach ($data as $name => $values) {
            $str .= "{$name}//{$values['ct']} {$values['wt']} {$values['mu']} {$values['pmu']}\n";
        }

        return $str;
    }

    private function dumpChildren($parent, Profile $profile, &$data)
    {
        foreach ($profile as $p) {
            if ($p->isTemplate()) {
                $name = $p->getTemplate();
            } else {
                $name = sprintf('%s::%s(%s)', $p->getTemplate(), $p->getType(), $p->getName());
            }
            $this->dumpProfile(sprintf('%s==>%s', $parent, $name), $p, $data);
            $this->dumpChildren($name, $p, $data);
        }
    }

    private function dumpProfile($edge, Profile $profile, &$data)
    {
        if (isset($data[$edge])) {
            ++$data[$edge]['ct'];
            $data[$edge]['wt'] += floor($profile->getDuration() * 1000000);
            $data[$edge]['mu'] += $profile->getMemoryUsage();
            $data[$edge]['pmu'] += $profile->getPeakMemoryUsage();
        } else {
            $data[$edge] = [
                'ct' => 1,
                'wt' => floor($profile->getDuration() * 1000000),
                'mu' => $profile->getMemoryUsage(),
                'pmu' => $profile->getPeakMemoryUsage(),
            ];
        }
    }
}

class_alias('Twig\Profiler\Dumper\BlackfireDumper', 'Twig_Profiler_Dumper_Blackfire');
vendor/twig/twig/src/Profiler/Dumper/BaseDumper.php000060400000003346150750356250016344 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Profiler\Dumper;

use Twig\Profiler\Profile;

/**
 * @author Fabien Potencier <fabien@symfony.com>
 */
abstract class BaseDumper
{
    private $root;

    public function dump(Profile $profile)
    {
        return $this->dumpProfile($profile);
    }

    abstract protected function formatTemplate(Profile $profile, $prefix);

    abstract protected function formatNonTemplate(Profile $profile, $prefix);

    abstract protected function formatTime(Profile $profile, $percent);

    private function dumpProfile(Profile $profile, $prefix = '', $sibling = false)
    {
        if ($profile->isRoot()) {
            $this->root = $profile->getDuration();
            $start = $profile->getName();
        } else {
            if ($profile->isTemplate()) {
                $start = $this->formatTemplate($profile, $prefix);
            } else {
                $start = $this->formatNonTemplate($profile, $prefix);
            }
            $prefix .= $sibling ? '│ ' : '  ';
        }

        $percent = $this->root ? $profile->getDuration() / $this->root * 100 : 0;

        if ($profile->getDuration() * 1000 < 1) {
            $str = $start."\n";
        } else {
            $str = sprintf("%s %s\n", $start, $this->formatTime($profile, $percent));
        }

        $nCount = \count($profile->getProfiles());
        foreach ($profile as $i => $p) {
            $str .= $this->dumpProfile($p, $prefix, $i + 1 !== $nCount);
        }

        return $str;
    }
}

class_alias('Twig\Profiler\Dumper\BaseDumper', 'Twig_Profiler_Dumper_Base');
vendor/twig/twig/src/Profiler/Dumper/TextDumper.php000060400000001675150750356250016421 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Profiler\Dumper;

use Twig\Profiler\Profile;

/**
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @final
 */
class TextDumper extends BaseDumper
{
    protected function formatTemplate(Profile $profile, $prefix)
    {
        return sprintf('%s└ %s', $prefix, $profile->getTemplate());
    }

    protected function formatNonTemplate(Profile $profile, $prefix)
    {
        return sprintf('%s└ %s::%s(%s)', $prefix, $profile->getTemplate(), $profile->getType(), $profile->getName());
    }

    protected function formatTime(Profile $profile, $percent)
    {
        return sprintf('%.2fms/%.0f%%', $profile->getDuration() * 1000, $percent);
    }
}

class_alias('Twig\Profiler\Dumper\TextDumper', 'Twig_Profiler_Dumper_Text');
vendor/twig/twig/src/Profiler/Node/EnterProfileNode.php000060400000002432150750356250017145 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Profiler\Node;

use Twig\Compiler;
use Twig\Node\Node;

/**
 * Represents a profile enter node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class EnterProfileNode extends Node
{
    public function __construct($extensionName, $type, $name, $varName)
    {
        parent::__construct([], ['extension_name' => $extensionName, 'name' => $name, 'type' => $type, 'var_name' => $varName]);
    }

    public function compile(Compiler $compiler)
    {
        $compiler
            ->write(sprintf('$%s = $this->env->getExtension(', $this->getAttribute('var_name')))
            ->repr($this->getAttribute('extension_name'))
            ->raw(");\n")
            ->write(sprintf('$%s->enter($%s = new \Twig\Profiler\Profile($this->getTemplateName(), ', $this->getAttribute('var_name'), $this->getAttribute('var_name').'_prof'))
            ->repr($this->getAttribute('type'))
            ->raw(', ')
            ->repr($this->getAttribute('name'))
            ->raw("));\n\n")
        ;
    }
}

class_alias('Twig\Profiler\Node\EnterProfileNode', 'Twig_Profiler_Node_EnterProfile');
vendor/twig/twig/src/Profiler/Node/LeaveProfileNode.php000060400000001526150750356250017127 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Profiler\Node;

use Twig\Compiler;
use Twig\Node\Node;

/**
 * Represents a profile leave node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class LeaveProfileNode extends Node
{
    public function __construct($varName)
    {
        parent::__construct([], ['var_name' => $varName]);
    }

    public function compile(Compiler $compiler)
    {
        $compiler
            ->write("\n")
            ->write(sprintf("\$%s->leave(\$%s);\n\n", $this->getAttribute('var_name'), $this->getAttribute('var_name').'_prof'))
        ;
    }
}

class_alias('Twig\Profiler\Node\LeaveProfileNode', 'Twig_Profiler_Node_LeaveProfile');
vendor/twig/twig/src/Profiler/NodeVisitor/ProfilerNodeVisitor.php000060400000004563150750356250021300 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Profiler\NodeVisitor;

use Twig\Environment;
use Twig\Node\BlockNode;
use Twig\Node\BodyNode;
use Twig\Node\MacroNode;
use Twig\Node\ModuleNode;
use Twig\Node\Node;
use Twig\NodeVisitor\AbstractNodeVisitor;
use Twig\Profiler\Node\EnterProfileNode;
use Twig\Profiler\Node\LeaveProfileNode;
use Twig\Profiler\Profile;

/**
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @final
 */
class ProfilerNodeVisitor extends AbstractNodeVisitor
{
    private $extensionName;

    public function __construct($extensionName)
    {
        $this->extensionName = $extensionName;
    }

    protected function doEnterNode(Node $node, Environment $env)
    {
        return $node;
    }

    protected function doLeaveNode(Node $node, Environment $env)
    {
        if ($node instanceof ModuleNode) {
            $varName = $this->getVarName();
            $node->setNode('display_start', new Node([new EnterProfileNode($this->extensionName, Profile::TEMPLATE, $node->getTemplateName(), $varName), $node->getNode('display_start')]));
            $node->setNode('display_end', new Node([new LeaveProfileNode($varName), $node->getNode('display_end')]));
        } elseif ($node instanceof BlockNode) {
            $varName = $this->getVarName();
            $node->setNode('body', new BodyNode([
                new EnterProfileNode($this->extensionName, Profile::BLOCK, $node->getAttribute('name'), $varName),
                $node->getNode('body'),
                new LeaveProfileNode($varName),
            ]));
        } elseif ($node instanceof MacroNode) {
            $varName = $this->getVarName();
            $node->setNode('body', new BodyNode([
                new EnterProfileNode($this->extensionName, Profile::MACRO, $node->getAttribute('name'), $varName),
                $node->getNode('body'),
                new LeaveProfileNode($varName),
            ]));
        }

        return $node;
    }

    private function getVarName()
    {
        return sprintf('__internal_%s', hash('sha256', $this->extensionName));
    }

    public function getPriority()
    {
        return 0;
    }
}

class_alias('Twig\Profiler\NodeVisitor\ProfilerNodeVisitor', 'Twig_Profiler_NodeVisitor_Profiler');
vendor/twig/twig/src/Extension/GlobalsInterface.php000060400000001162150750356250016451 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Extension;

/**
 * Enables usage of the deprecated Twig\Extension\AbstractExtension::getGlobals() method.
 *
 * Explicitly implement this interface if you really need to implement the
 * deprecated getGlobals() method in your extensions.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
interface GlobalsInterface
{
}

class_alias('Twig\Extension\GlobalsInterface', 'Twig_Extension_GlobalsInterface');
vendor/twig/twig/src/Extension/DebugExtension.php000060400000003640150750356250016173 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Extension {
use Twig\TwigFunction;

/**
 * @final
 */
class DebugExtension extends AbstractExtension
{
    public function getFunctions()
    {
        // dump is safe if var_dump is overridden by xdebug
        $isDumpOutputHtmlSafe = \extension_loaded('xdebug')
            // false means that it was not set (and the default is on) or it explicitly enabled
            && (false === ini_get('xdebug.overload_var_dump') || ini_get('xdebug.overload_var_dump'))
            // false means that it was not set (and the default is on) or it explicitly enabled
            // xdebug.overload_var_dump produces HTML only when html_errors is also enabled
            && (false === ini_get('html_errors') || ini_get('html_errors'))
            || 'cli' === \PHP_SAPI
        ;

        return [
            new TwigFunction('dump', 'twig_var_dump', ['is_safe' => $isDumpOutputHtmlSafe ? ['html'] : [], 'needs_context' => true, 'needs_environment' => true, 'is_variadic' => true]),
        ];
    }

    public function getName()
    {
        return 'debug';
    }
}

class_alias('Twig\Extension\DebugExtension', 'Twig_Extension_Debug');
}

namespace {
use Twig\Environment;
use Twig\Template;
use Twig\TemplateWrapper;

function twig_var_dump(Environment $env, $context, array $vars = [])
{
    if (!$env->isDebug()) {
        return;
    }

    ob_start();

    if (!$vars) {
        $vars = [];
        foreach ($context as $key => $value) {
            if (!$value instanceof Template && !$value instanceof TemplateWrapper) {
                $vars[$key] = $value;
            }
        }

        var_dump($vars);
    } else {
        foreach ($vars as $var) {
            var_dump($var);
        }
    }

    return ob_get_clean();
}
}
vendor/twig/twig/src/Extension/StagingExtension.php000060400000005702150750356250016542 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Extension;

use Twig\NodeVisitor\NodeVisitorInterface;
use Twig\TokenParser\TokenParserInterface;

/**
 * Internal class.
 *
 * This class is used by \Twig\Environment as a staging area and must not be used directly.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @internal
 */
class StagingExtension extends AbstractExtension
{
    protected $functions = [];
    protected $filters = [];
    protected $visitors = [];
    protected $tokenParsers = [];
    protected $globals = [];
    protected $tests = [];

    public function addFunction($name, $function)
    {
        if (isset($this->functions[$name])) {
            @trigger_error(sprintf('Overriding function "%s" that is already registered is deprecated since version 1.30 and won\'t be possible anymore in 2.0.', $name), E_USER_DEPRECATED);
        }

        $this->functions[$name] = $function;
    }

    public function getFunctions()
    {
        return $this->functions;
    }

    public function addFilter($name, $filter)
    {
        if (isset($this->filters[$name])) {
            @trigger_error(sprintf('Overriding filter "%s" that is already registered is deprecated since version 1.30 and won\'t be possible anymore in 2.0.', $name), E_USER_DEPRECATED);
        }

        $this->filters[$name] = $filter;
    }

    public function getFilters()
    {
        return $this->filters;
    }

    public function addNodeVisitor(NodeVisitorInterface $visitor)
    {
        $this->visitors[] = $visitor;
    }

    public function getNodeVisitors()
    {
        return $this->visitors;
    }

    public function addTokenParser(TokenParserInterface $parser)
    {
        if (isset($this->tokenParsers[$parser->getTag()])) {
            @trigger_error(sprintf('Overriding tag "%s" that is already registered is deprecated since version 1.30 and won\'t be possible anymore in 2.0.', $parser->getTag()), E_USER_DEPRECATED);
        }

        $this->tokenParsers[$parser->getTag()] = $parser;
    }

    public function getTokenParsers()
    {
        return $this->tokenParsers;
    }

    public function addGlobal($name, $value)
    {
        $this->globals[$name] = $value;
    }

    public function getGlobals()
    {
        return $this->globals;
    }

    public function addTest($name, $test)
    {
        if (isset($this->tests[$name])) {
            @trigger_error(sprintf('Overriding test "%s" that is already registered is deprecated since version 1.30 and won\'t be possible anymore in 2.0.', $name), E_USER_DEPRECATED);
        }

        $this->tests[$name] = $test;
    }

    public function getTests()
    {
        return $this->tests;
    }

    public function getName()
    {
        return 'staging';
    }
}

class_alias('Twig\Extension\StagingExtension', 'Twig_Extension_Staging');
vendor/twig/twig/src/Extension/RuntimeExtensionInterface.php000060400000000506150750356250020407 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Extension;

/**
 * @author Grégoire Pineau <lyrixx@lyrixx.info>
 */
interface RuntimeExtensionInterface
{
}
vendor/twig/twig/src/Extension/SandboxExtension.php000060400000004524150750356250016545 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Extension;

use Twig\NodeVisitor\SandboxNodeVisitor;
use Twig\Sandbox\SecurityPolicyInterface;
use Twig\TokenParser\SandboxTokenParser;

/**
 * @final
 */
class SandboxExtension extends AbstractExtension
{
    protected $sandboxedGlobally;
    protected $sandboxed;
    protected $policy;

    public function __construct(SecurityPolicyInterface $policy, $sandboxed = false)
    {
        $this->policy = $policy;
        $this->sandboxedGlobally = $sandboxed;
    }

    public function getTokenParsers()
    {
        return [new SandboxTokenParser()];
    }

    public function getNodeVisitors()
    {
        return [new SandboxNodeVisitor()];
    }

    public function enableSandbox()
    {
        $this->sandboxed = true;
    }

    public function disableSandbox()
    {
        $this->sandboxed = false;
    }

    public function isSandboxed()
    {
        return $this->sandboxedGlobally || $this->sandboxed;
    }

    public function isSandboxedGlobally()
    {
        return $this->sandboxedGlobally;
    }

    public function setSecurityPolicy(SecurityPolicyInterface $policy)
    {
        $this->policy = $policy;
    }

    public function getSecurityPolicy()
    {
        return $this->policy;
    }

    public function checkSecurity($tags, $filters, $functions)
    {
        if ($this->isSandboxed()) {
            $this->policy->checkSecurity($tags, $filters, $functions);
        }
    }

    public function checkMethodAllowed($obj, $method)
    {
        if ($this->isSandboxed()) {
            $this->policy->checkMethodAllowed($obj, $method);
        }
    }

    public function checkPropertyAllowed($obj, $method)
    {
        if ($this->isSandboxed()) {
            $this->policy->checkPropertyAllowed($obj, $method);
        }
    }

    public function ensureToStringAllowed($obj)
    {
        if ($this->isSandboxed() && \is_object($obj) && method_exists($obj, '__toString')) {
            $this->policy->checkMethodAllowed($obj, '__toString');
        }

        return $obj;
    }

    public function getName()
    {
        return 'sandbox';
    }
}

class_alias('Twig\Extension\SandboxExtension', 'Twig_Extension_Sandbox');
vendor/twig/twig/src/Extension/StringLoaderExtension.php000060400000002263150750356250017542 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Extension {
use Twig\TwigFunction;

/**
 * @final
 */
class StringLoaderExtension extends AbstractExtension
{
    public function getFunctions()
    {
        return [
            new TwigFunction('template_from_string', 'twig_template_from_string', ['needs_environment' => true]),
        ];
    }

    public function getName()
    {
        return 'string_loader';
    }
}

class_alias('Twig\Extension\StringLoaderExtension', 'Twig_Extension_StringLoader');
}

namespace {
use Twig\Environment;
use Twig\TemplateWrapper;

/**
 * Loads a template from a string.
 *
 *     {{ include(template_from_string("Hello {{ name }}")) }}
 *
 * @param string $template A template as a string or object implementing __toString()
 * @param string $name     An optional name of the template to be used in error messages
 *
 * @return TemplateWrapper
 */
function twig_template_from_string(Environment $env, $template, $name = null)
{
    return $env->createTemplate((string) $template, $name);
}
}
vendor/twig/twig/src/Extension/AbstractExtension.php000060400000002501150750356250016703 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Extension;

use Twig\Environment;

abstract class AbstractExtension implements ExtensionInterface
{
    /**
     * @deprecated since 1.23 (to be removed in 2.0), implement \Twig_Extension_InitRuntimeInterface instead
     */
    public function initRuntime(Environment $environment)
    {
    }

    public function getTokenParsers()
    {
        return [];
    }

    public function getNodeVisitors()
    {
        return [];
    }

    public function getFilters()
    {
        return [];
    }

    public function getTests()
    {
        return [];
    }

    public function getFunctions()
    {
        return [];
    }

    public function getOperators()
    {
        return [];
    }

    /**
     * @deprecated since 1.23 (to be removed in 2.0), implement \Twig_Extension_GlobalsInterface instead
     */
    public function getGlobals()
    {
        return [];
    }

    /**
     * @deprecated since 1.26 (to be removed in 2.0), not used anymore internally
     */
    public function getName()
    {
        return \get_class($this);
    }
}

class_alias('Twig\Extension\AbstractExtension', 'Twig_Extension');
vendor/twig/twig/src/Extension/ExtensionInterface.php000060400000005102150750356250017040 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Extension;

use Twig\Environment;
use Twig\NodeVisitor\NodeVisitorInterface;
use Twig\TokenParser\TokenParserInterface;
use Twig\TwigFilter;
use Twig\TwigFunction;
use Twig\TwigTest;

/**
 * Interface implemented by extension classes.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
interface ExtensionInterface
{
    /**
     * Initializes the runtime environment.
     *
     * This is where you can load some file that contains filter functions for instance.
     *
     * @deprecated since 1.23 (to be removed in 2.0), implement \Twig_Extension_InitRuntimeInterface instead
     */
    public function initRuntime(Environment $environment);

    /**
     * Returns the token parser instances to add to the existing list.
     *
     * @return TokenParserInterface[]
     */
    public function getTokenParsers();

    /**
     * Returns the node visitor instances to add to the existing list.
     *
     * @return NodeVisitorInterface[]
     */
    public function getNodeVisitors();

    /**
     * Returns a list of filters to add to the existing list.
     *
     * @return TwigFilter[]
     */
    public function getFilters();

    /**
     * Returns a list of tests to add to the existing list.
     *
     * @return TwigTest[]
     */
    public function getTests();

    /**
     * Returns a list of functions to add to the existing list.
     *
     * @return TwigFunction[]
     */
    public function getFunctions();

    /**
     * Returns a list of operators to add to the existing list.
     *
     * @return array<array> First array of unary operators, second array of binary operators
     */
    public function getOperators();

    /**
     * Returns a list of global variables to add to the existing list.
     *
     * @return array An array of global variables
     *
     * @deprecated since 1.23 (to be removed in 2.0), implement \Twig_Extension_GlobalsInterface instead
     */
    public function getGlobals();

    /**
     * Returns the name of the extension.
     *
     * @return string The extension name
     *
     * @deprecated since 1.26 (to be removed in 2.0), not used anymore internally
     */
    public function getName();
}

class_alias('Twig\Extension\ExtensionInterface', 'Twig_ExtensionInterface');

// Ensure that the aliased name is loaded to keep BC for classes implementing the typehint with the old aliased name.
class_exists('Twig\Environment');
vendor/twig/twig/src/Extension/InitRuntimeInterface.php000060400000001200150750356250017326 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Extension;

/**
 * Enables usage of the deprecated Twig\Extension\AbstractExtension::initRuntime() method.
 *
 * Explicitly implement this interface if you really need to implement the
 * deprecated initRuntime() method in your extensions.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
interface InitRuntimeInterface
{
}

class_alias('Twig\Extension\InitRuntimeInterface', 'Twig_Extension_InitRuntimeInterface');
vendor/twig/twig/src/Extension/EscaperExtension.php000060400000005731150750356250016532 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Extension {
use Twig\NodeVisitor\EscaperNodeVisitor;
use Twig\TokenParser\AutoEscapeTokenParser;
use Twig\TwigFilter;

/**
 * @final
 */
class EscaperExtension extends AbstractExtension
{
    protected $defaultStrategy;

    /**
     * @param string|false|callable $defaultStrategy An escaping strategy
     *
     * @see setDefaultStrategy()
     */
    public function __construct($defaultStrategy = 'html')
    {
        $this->setDefaultStrategy($defaultStrategy);
    }

    public function getTokenParsers()
    {
        return [new AutoEscapeTokenParser()];
    }

    public function getNodeVisitors()
    {
        return [new EscaperNodeVisitor()];
    }

    public function getFilters()
    {
        return [
            new TwigFilter('raw', 'twig_raw_filter', ['is_safe' => ['all']]),
        ];
    }

    /**
     * Sets the default strategy to use when not defined by the user.
     *
     * The strategy can be a valid PHP callback that takes the template
     * name as an argument and returns the strategy to use.
     *
     * @param string|false|callable $defaultStrategy An escaping strategy
     */
    public function setDefaultStrategy($defaultStrategy)
    {
        // for BC
        if (true === $defaultStrategy) {
            @trigger_error('Using "true" as the default strategy is deprecated since version 1.21. Use "html" instead.', E_USER_DEPRECATED);

            $defaultStrategy = 'html';
        }

        if ('filename' === $defaultStrategy) {
            @trigger_error('Using "filename" as the default strategy is deprecated since version 1.27. Use "name" instead.', E_USER_DEPRECATED);

            $defaultStrategy = 'name';
        }

        if ('name' === $defaultStrategy) {
            $defaultStrategy = ['\Twig\FileExtensionEscapingStrategy', 'guess'];
        }

        $this->defaultStrategy = $defaultStrategy;
    }

    /**
     * Gets the default strategy to use when not defined by the user.
     *
     * @param string $name The template name
     *
     * @return string|false The default strategy to use for the template
     */
    public function getDefaultStrategy($name)
    {
        // disable string callables to avoid calling a function named html or js,
        // or any other upcoming escaping strategy
        if (!\is_string($this->defaultStrategy) && false !== $this->defaultStrategy) {
            return \call_user_func($this->defaultStrategy, $name);
        }

        return $this->defaultStrategy;
    }

    public function getName()
    {
        return 'escaper';
    }
}

class_alias('Twig\Extension\EscaperExtension', 'Twig_Extension_Escaper');
}

namespace {
/**
 * Marks a variable as being safe.
 *
 * @param string $string A PHP variable
 *
 * @return string
 */
function twig_raw_filter($string)
{
    return $string;
}
}
vendor/twig/twig/src/Extension/CoreExtension.php000060400000153077150750356250016047 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Extension {
use Twig\ExpressionParser;
use Twig\TokenParser\ApplyTokenParser;
use Twig\TokenParser\BlockTokenParser;
use Twig\TokenParser\DeprecatedTokenParser;
use Twig\TokenParser\DoTokenParser;
use Twig\TokenParser\EmbedTokenParser;
use Twig\TokenParser\ExtendsTokenParser;
use Twig\TokenParser\FilterTokenParser;
use Twig\TokenParser\FlushTokenParser;
use Twig\TokenParser\ForTokenParser;
use Twig\TokenParser\FromTokenParser;
use Twig\TokenParser\IfTokenParser;
use Twig\TokenParser\ImportTokenParser;
use Twig\TokenParser\IncludeTokenParser;
use Twig\TokenParser\MacroTokenParser;
use Twig\TokenParser\SetTokenParser;
use Twig\TokenParser\SpacelessTokenParser;
use Twig\TokenParser\UseTokenParser;
use Twig\TokenParser\WithTokenParser;
use Twig\TwigFilter;
use Twig\TwigFunction;
use Twig\TwigTest;

/**
 * @final
 */
class CoreExtension extends AbstractExtension
{
    protected $dateFormats = ['F j, Y H:i', '%d days'];
    protected $numberFormat = [0, '.', ','];
    protected $timezone = null;
    protected $escapers = [];

    /**
     * Defines a new escaper to be used via the escape filter.
     *
     * @param string   $strategy The strategy name that should be used as a strategy in the escape call
     * @param callable $callable A valid PHP callable
     */
    public function setEscaper($strategy, $callable)
    {
        $this->escapers[$strategy] = $callable;
    }

    /**
     * Gets all defined escapers.
     *
     * @return array An array of escapers
     */
    public function getEscapers()
    {
        return $this->escapers;
    }

    /**
     * Sets the default format to be used by the date filter.
     *
     * @param string $format             The default date format string
     * @param string $dateIntervalFormat The default date interval format string
     */
    public function setDateFormat($format = null, $dateIntervalFormat = null)
    {
        if (null !== $format) {
            $this->dateFormats[0] = $format;
        }

        if (null !== $dateIntervalFormat) {
            $this->dateFormats[1] = $dateIntervalFormat;
        }
    }

    /**
     * Gets the default format to be used by the date filter.
     *
     * @return array The default date format string and the default date interval format string
     */
    public function getDateFormat()
    {
        return $this->dateFormats;
    }

    /**
     * Sets the default timezone to be used by the date filter.
     *
     * @param \DateTimeZone|string $timezone The default timezone string or a \DateTimeZone object
     */
    public function setTimezone($timezone)
    {
        $this->timezone = $timezone instanceof \DateTimeZone ? $timezone : new \DateTimeZone($timezone);
    }

    /**
     * Gets the default timezone to be used by the date filter.
     *
     * @return \DateTimeZone The default timezone currently in use
     */
    public function getTimezone()
    {
        if (null === $this->timezone) {
            $this->timezone = new \DateTimeZone(date_default_timezone_get());
        }

        return $this->timezone;
    }

    /**
     * Sets the default format to be used by the number_format filter.
     *
     * @param int    $decimal      the number of decimal places to use
     * @param string $decimalPoint the character(s) to use for the decimal point
     * @param string $thousandSep  the character(s) to use for the thousands separator
     */
    public function setNumberFormat($decimal, $decimalPoint, $thousandSep)
    {
        $this->numberFormat = [$decimal, $decimalPoint, $thousandSep];
    }

    /**
     * Get the default format used by the number_format filter.
     *
     * @return array The arguments for number_format()
     */
    public function getNumberFormat()
    {
        return $this->numberFormat;
    }

    public function getTokenParsers()
    {
        return [
            new ApplyTokenParser(),
            new ForTokenParser(),
            new IfTokenParser(),
            new ExtendsTokenParser(),
            new IncludeTokenParser(),
            new BlockTokenParser(),
            new UseTokenParser(),
            new FilterTokenParser(),
            new MacroTokenParser(),
            new ImportTokenParser(),
            new FromTokenParser(),
            new SetTokenParser(),
            new SpacelessTokenParser(),
            new FlushTokenParser(),
            new DoTokenParser(),
            new EmbedTokenParser(),
            new WithTokenParser(),
            new DeprecatedTokenParser(),
        ];
    }

    public function getFilters()
    {
        $filters = [
            // formatting filters
            new TwigFilter('date', 'twig_date_format_filter', ['needs_environment' => true]),
            new TwigFilter('date_modify', 'twig_date_modify_filter', ['needs_environment' => true]),
            new TwigFilter('format', 'sprintf'),
            new TwigFilter('replace', 'twig_replace_filter'),
            new TwigFilter('number_format', 'twig_number_format_filter', ['needs_environment' => true]),
            new TwigFilter('abs', 'abs'),
            new TwigFilter('round', 'twig_round'),

            // encoding
            new TwigFilter('url_encode', 'twig_urlencode_filter'),
            new TwigFilter('json_encode', 'twig_jsonencode_filter'),
            new TwigFilter('convert_encoding', 'twig_convert_encoding'),

            // string filters
            new TwigFilter('title', 'twig_title_string_filter', ['needs_environment' => true]),
            new TwigFilter('capitalize', 'twig_capitalize_string_filter', ['needs_environment' => true]),
            new TwigFilter('upper', 'strtoupper'),
            new TwigFilter('lower', 'strtolower'),
            new TwigFilter('striptags', 'strip_tags'),
            new TwigFilter('trim', 'twig_trim_filter'),
            new TwigFilter('nl2br', 'nl2br', ['pre_escape' => 'html', 'is_safe' => ['html']]),
            new TwigFilter('spaceless', 'twig_spaceless', ['is_safe' => ['html']]),

            // array helpers
            new TwigFilter('join', 'twig_join_filter'),
            new TwigFilter('split', 'twig_split_filter', ['needs_environment' => true]),
            new TwigFilter('sort', 'twig_sort_filter'),
            new TwigFilter('merge', 'twig_array_merge'),
            new TwigFilter('batch', 'twig_array_batch'),
            new TwigFilter('filter', 'twig_array_filter'),
            new TwigFilter('map', 'twig_array_map'),
            new TwigFilter('reduce', 'twig_array_reduce'),

            // string/array filters
            new TwigFilter('reverse', 'twig_reverse_filter', ['needs_environment' => true]),
            new TwigFilter('length', 'twig_length_filter', ['needs_environment' => true]),
            new TwigFilter('slice', 'twig_slice', ['needs_environment' => true]),
            new TwigFilter('first', 'twig_first', ['needs_environment' => true]),
            new TwigFilter('last', 'twig_last', ['needs_environment' => true]),

            // iteration and runtime
            new TwigFilter('default', '_twig_default_filter', ['node_class' => '\Twig\Node\Expression\Filter\DefaultFilter']),
            new TwigFilter('keys', 'twig_get_array_keys_filter'),

            // escaping
            new TwigFilter('escape', 'twig_escape_filter', ['needs_environment' => true, 'is_safe_callback' => 'twig_escape_filter_is_safe']),
            new TwigFilter('e', 'twig_escape_filter', ['needs_environment' => true, 'is_safe_callback' => 'twig_escape_filter_is_safe']),
        ];

        if (\function_exists('mb_get_info')) {
            $filters[] = new TwigFilter('upper', 'twig_upper_filter', ['needs_environment' => true]);
            $filters[] = new TwigFilter('lower', 'twig_lower_filter', ['needs_environment' => true]);
        }

        return $filters;
    }

    public function getFunctions()
    {
        return [
            new TwigFunction('max', 'max'),
            new TwigFunction('min', 'min'),
            new TwigFunction('range', 'range'),
            new TwigFunction('constant', 'twig_constant'),
            new TwigFunction('cycle', 'twig_cycle'),
            new TwigFunction('random', 'twig_random', ['needs_environment' => true]),
            new TwigFunction('date', 'twig_date_converter', ['needs_environment' => true]),
            new TwigFunction('include', 'twig_include', ['needs_environment' => true, 'needs_context' => true, 'is_safe' => ['all']]),
            new TwigFunction('source', 'twig_source', ['needs_environment' => true, 'is_safe' => ['all']]),
        ];
    }

    public function getTests()
    {
        return [
            new TwigTest('even', null, ['node_class' => '\Twig\Node\Expression\Test\EvenTest']),
            new TwigTest('odd', null, ['node_class' => '\Twig\Node\Expression\Test\OddTest']),
            new TwigTest('defined', null, ['node_class' => '\Twig\Node\Expression\Test\DefinedTest']),
            new TwigTest('sameas', null, ['node_class' => '\Twig\Node\Expression\Test\SameasTest', 'deprecated' => '1.21', 'alternative' => 'same as']),
            new TwigTest('same as', null, ['node_class' => '\Twig\Node\Expression\Test\SameasTest']),
            new TwigTest('none', null, ['node_class' => '\Twig\Node\Expression\Test\NullTest']),
            new TwigTest('null', null, ['node_class' => '\Twig\Node\Expression\Test\NullTest']),
            new TwigTest('divisibleby', null, ['node_class' => '\Twig\Node\Expression\Test\DivisiblebyTest', 'deprecated' => '1.21', 'alternative' => 'divisible by']),
            new TwigTest('divisible by', null, ['node_class' => '\Twig\Node\Expression\Test\DivisiblebyTest']),
            new TwigTest('constant', null, ['node_class' => '\Twig\Node\Expression\Test\ConstantTest']),
            new TwigTest('empty', 'twig_test_empty'),
            new TwigTest('iterable', 'twig_test_iterable'),
        ];
    }

    public function getOperators()
    {
        return [
            [
                'not' => ['precedence' => 50, 'class' => '\Twig\Node\Expression\Unary\NotUnary'],
                '-' => ['precedence' => 500, 'class' => '\Twig\Node\Expression\Unary\NegUnary'],
                '+' => ['precedence' => 500, 'class' => '\Twig\Node\Expression\Unary\PosUnary'],
            ],
            [
                'or' => ['precedence' => 10, 'class' => '\Twig\Node\Expression\Binary\OrBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                'and' => ['precedence' => 15, 'class' => '\Twig\Node\Expression\Binary\AndBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                'b-or' => ['precedence' => 16, 'class' => '\Twig\Node\Expression\Binary\BitwiseOrBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                'b-xor' => ['precedence' => 17, 'class' => '\Twig\Node\Expression\Binary\BitwiseXorBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                'b-and' => ['precedence' => 18, 'class' => '\Twig\Node\Expression\Binary\BitwiseAndBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                '==' => ['precedence' => 20, 'class' => '\Twig\Node\Expression\Binary\EqualBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                '!=' => ['precedence' => 20, 'class' => '\Twig\Node\Expression\Binary\NotEqualBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                '<' => ['precedence' => 20, 'class' => '\Twig\Node\Expression\Binary\LessBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                '>' => ['precedence' => 20, 'class' => '\Twig\Node\Expression\Binary\GreaterBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                '>=' => ['precedence' => 20, 'class' => '\Twig\Node\Expression\Binary\GreaterEqualBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                '<=' => ['precedence' => 20, 'class' => '\Twig\Node\Expression\Binary\LessEqualBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                'not in' => ['precedence' => 20, 'class' => '\Twig\Node\Expression\Binary\NotInBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                'in' => ['precedence' => 20, 'class' => '\Twig\Node\Expression\Binary\InBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                'matches' => ['precedence' => 20, 'class' => '\Twig\Node\Expression\Binary\MatchesBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                'starts with' => ['precedence' => 20, 'class' => '\Twig\Node\Expression\Binary\StartsWithBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                'ends with' => ['precedence' => 20, 'class' => '\Twig\Node\Expression\Binary\EndsWithBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                '..' => ['precedence' => 25, 'class' => '\Twig\Node\Expression\Binary\RangeBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                '+' => ['precedence' => 30, 'class' => '\Twig\Node\Expression\Binary\AddBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                '-' => ['precedence' => 30, 'class' => '\Twig\Node\Expression\Binary\SubBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                '~' => ['precedence' => 40, 'class' => '\Twig\Node\Expression\Binary\ConcatBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                '*' => ['precedence' => 60, 'class' => '\Twig\Node\Expression\Binary\MulBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                '/' => ['precedence' => 60, 'class' => '\Twig\Node\Expression\Binary\DivBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                '//' => ['precedence' => 60, 'class' => '\Twig\Node\Expression\Binary\FloorDivBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                '%' => ['precedence' => 60, 'class' => '\Twig\Node\Expression\Binary\ModBinary', 'associativity' => ExpressionParser::OPERATOR_LEFT],
                'is' => ['precedence' => 100, 'associativity' => ExpressionParser::OPERATOR_LEFT],
                'is not' => ['precedence' => 100, 'associativity' => ExpressionParser::OPERATOR_LEFT],
                '**' => ['precedence' => 200, 'class' => '\Twig\Node\Expression\Binary\PowerBinary', 'associativity' => ExpressionParser::OPERATOR_RIGHT],
                '??' => ['precedence' => 300, 'class' => '\Twig\Node\Expression\NullCoalesceExpression', 'associativity' => ExpressionParser::OPERATOR_RIGHT],
            ],
        ];
    }

    public function getName()
    {
        return 'core';
    }
}

class_alias('Twig\Extension\CoreExtension', 'Twig_Extension_Core');
}

namespace {
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Loader\SourceContextLoaderInterface;
use Twig\Markup;
use Twig\Node\Expression\ConstantExpression;
use Twig\Node\Node;

/**
 * Cycles over a value.
 *
 * @param \ArrayAccess|array $values
 * @param int                $position The cycle position
 *
 * @return string The next value in the cycle
 */
function twig_cycle($values, $position)
{
    if (!\is_array($values) && !$values instanceof \ArrayAccess) {
        return $values;
    }

    return $values[$position % \count($values)];
}

/**
 * Returns a random value depending on the supplied parameter type:
 * - a random item from a \Traversable or array
 * - a random character from a string
 * - a random integer between 0 and the integer parameter.
 *
 * @param \Traversable|array|int|float|string $values The values to pick a random item from
 * @param int|null                            $max    Maximum value used when $values is an int
 *
 * @throws RuntimeError when $values is an empty array (does not apply to an empty string which is returned as is)
 *
 * @return mixed A random value from the given sequence
 */
function twig_random(Environment $env, $values = null, $max = null)
{
    if (null === $values) {
        return null === $max ? mt_rand() : mt_rand(0, $max);
    }

    if (\is_int($values) || \is_float($values)) {
        if (null === $max) {
            if ($values < 0) {
                $max = 0;
                $min = $values;
            } else {
                $max = $values;
                $min = 0;
            }
        } else {
            $min = $values;
            $max = $max;
        }

        return mt_rand($min, $max);
    }

    if (\is_string($values)) {
        if ('' === $values) {
            return '';
        }
        if (null !== $charset = $env->getCharset()) {
            if ('UTF-8' !== $charset) {
                $values = twig_convert_encoding($values, 'UTF-8', $charset);
            }

            // unicode version of str_split()
            // split at all positions, but not after the start and not before the end
            $values = preg_split('/(?<!^)(?!$)/u', $values);

            if ('UTF-8' !== $charset) {
                foreach ($values as $i => $value) {
                    $values[$i] = twig_convert_encoding($value, $charset, 'UTF-8');
                }
            }
        } else {
            return $values[mt_rand(0, \strlen($values) - 1)];
        }
    }

    if (!twig_test_iterable($values)) {
        return $values;
    }

    $values = twig_to_array($values);

    if (0 === \count($values)) {
        throw new RuntimeError('The random function cannot pick from an empty array.');
    }

    return $values[array_rand($values, 1)];
}

/**
 * Converts a date to the given format.
 *
 *   {{ post.published_at|date("m/d/Y") }}
 *
 * @param \DateTime|\DateTimeInterface|\DateInterval|string $date     A date
 * @param string|null                                       $format   The target format, null to use the default
 * @param \DateTimeZone|string|false|null                   $timezone The target timezone, null to use the default, false to leave unchanged
 *
 * @return string The formatted date
 */
function twig_date_format_filter(Environment $env, $date, $format = null, $timezone = null)
{
    if (null === $format) {
        $formats = $env->getExtension('\Twig\Extension\CoreExtension')->getDateFormat();
        $format = $date instanceof \DateInterval ? $formats[1] : $formats[0];
    }

    if ($date instanceof \DateInterval) {
        return $date->format($format);
    }

    return twig_date_converter($env, $date, $timezone)->format($format);
}

/**
 * Returns a new date object modified.
 *
 *   {{ post.published_at|date_modify("-1day")|date("m/d/Y") }}
 *
 * @param \DateTime|string $date     A date
 * @param string           $modifier A modifier string
 *
 * @return \DateTime
 */
function twig_date_modify_filter(Environment $env, $date, $modifier)
{
    $date = twig_date_converter($env, $date, false);
    $resultDate = $date->modify($modifier);

    // This is a hack to ensure PHP 5.2 support and support for \DateTimeImmutable
    // \DateTime::modify does not return the modified \DateTime object < 5.3.0
    // and \DateTimeImmutable does not modify $date.
    return null === $resultDate ? $date : $resultDate;
}

/**
 * Converts an input to a \DateTime instance.
 *
 *    {% if date(user.created_at) < date('+2days') %}
 *      {# do something #}
 *    {% endif %}
 *
 * @param \DateTime|\DateTimeInterface|string|null $date     A date
 * @param \DateTimeZone|string|false|null          $timezone The target timezone, null to use the default, false to leave unchanged
 *
 * @return \DateTimeInterface
 */
function twig_date_converter(Environment $env, $date = null, $timezone = null)
{
    // determine the timezone
    if (false !== $timezone) {
        if (null === $timezone) {
            $timezone = $env->getExtension('\Twig\Extension\CoreExtension')->getTimezone();
        } elseif (!$timezone instanceof \DateTimeZone) {
            $timezone = new \DateTimeZone($timezone);
        }
    }

    // immutable dates
    if ($date instanceof \DateTimeImmutable) {
        return false !== $timezone ? $date->setTimezone($timezone) : $date;
    }

    if ($date instanceof \DateTime || $date instanceof \DateTimeInterface) {
        $date = clone $date;
        if (false !== $timezone) {
            $date->setTimezone($timezone);
        }

        return $date;
    }

    if (null === $date || 'now' === $date) {
        return new \DateTime($date, false !== $timezone ? $timezone : $env->getExtension('\Twig\Extension\CoreExtension')->getTimezone());
    }

    $asString = (string) $date;
    if (ctype_digit($asString) || (!empty($asString) && '-' === $asString[0] && ctype_digit(substr($asString, 1)))) {
        $date = new \DateTime('@'.$date);
    } else {
        $date = new \DateTime($date, $env->getExtension('\Twig\Extension\CoreExtension')->getTimezone());
    }

    if (false !== $timezone) {
        $date->setTimezone($timezone);
    }

    return $date;
}

/**
 * Replaces strings within a string.
 *
 * @param string             $str  String to replace in
 * @param array|\Traversable $from Replace values
 * @param string|null        $to   Replace to, deprecated (@see https://secure.php.net/manual/en/function.strtr.php)
 *
 * @return string
 */
function twig_replace_filter($str, $from, $to = null)
{
    if (\is_string($from) && \is_string($to)) {
        @trigger_error('Using "replace" with character by character replacement is deprecated since version 1.22 and will be removed in Twig 2.0', E_USER_DEPRECATED);

        return strtr($str, $from, $to);
    }

    if (!twig_test_iterable($from)) {
        throw new RuntimeError(sprintf('The "replace" filter expects an array or "Traversable" as replace values, got "%s".', \is_object($from) ? \get_class($from) : \gettype($from)));
    }

    return strtr($str, twig_to_array($from));
}

/**
 * Rounds a number.
 *
 * @param int|float $value     The value to round
 * @param int|float $precision The rounding precision
 * @param string    $method    The method to use for rounding
 *
 * @return int|float The rounded number
 */
function twig_round($value, $precision = 0, $method = 'common')
{
    if ('common' == $method) {
        return round($value, $precision);
    }

    if ('ceil' != $method && 'floor' != $method) {
        throw new RuntimeError('The round filter only supports the "common", "ceil", and "floor" methods.');
    }

    return $method($value * pow(10, $precision)) / pow(10, $precision);
}

/**
 * Number format filter.
 *
 * All of the formatting options can be left null, in that case the defaults will
 * be used.  Supplying any of the parameters will override the defaults set in the
 * environment object.
 *
 * @param mixed  $number       A float/int/string of the number to format
 * @param int    $decimal      the number of decimal points to display
 * @param string $decimalPoint the character(s) to use for the decimal point
 * @param string $thousandSep  the character(s) to use for the thousands separator
 *
 * @return string The formatted number
 */
function twig_number_format_filter(Environment $env, $number, $decimal = null, $decimalPoint = null, $thousandSep = null)
{
    $defaults = $env->getExtension('\Twig\Extension\CoreExtension')->getNumberFormat();
    if (null === $decimal) {
        $decimal = $defaults[0];
    }

    if (null === $decimalPoint) {
        $decimalPoint = $defaults[1];
    }

    if (null === $thousandSep) {
        $thousandSep = $defaults[2];
    }

    return number_format((float) $number, $decimal, $decimalPoint, $thousandSep);
}

/**
 * URL encodes (RFC 3986) a string as a path segment or an array as a query string.
 *
 * @param string|array $url A URL or an array of query parameters
 *
 * @return string The URL encoded value
 */
function twig_urlencode_filter($url)
{
    if (\is_array($url)) {
        if (\defined('PHP_QUERY_RFC3986')) {
            return http_build_query($url, '', '&', PHP_QUERY_RFC3986);
        }

        return http_build_query($url, '', '&');
    }

    return rawurlencode($url);
}

/**
 * JSON encodes a variable.
 *
 * @param mixed $value   the value to encode
 * @param int   $options Bitmask consisting of JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT
 *
 * @return mixed The JSON encoded value
 */
function twig_jsonencode_filter($value, $options = 0)
{
    if ($value instanceof Markup) {
        $value = (string) $value;
    } elseif (\is_array($value)) {
        array_walk_recursive($value, '_twig_markup2string');
    }

    return json_encode($value, $options);
}

function _twig_markup2string(&$value)
{
    if ($value instanceof Markup) {
        $value = (string) $value;
    }
}

/**
 * Merges an array with another one.
 *
 *  {% set items = { 'apple': 'fruit', 'orange': 'fruit' } %}
 *
 *  {% set items = items|merge({ 'peugeot': 'car' }) %}
 *
 *  {# items now contains { 'apple': 'fruit', 'orange': 'fruit', 'peugeot': 'car' } #}
 *
 * @param array|\Traversable $arr1 An array
 * @param array|\Traversable $arr2 An array
 *
 * @return array The merged array
 */
function twig_array_merge($arr1, $arr2)
{
    if (!twig_test_iterable($arr1)) {
        throw new RuntimeError(sprintf('The merge filter only works with arrays or "Traversable", got "%s" as first argument.', \gettype($arr1)));
    }

    if (!twig_test_iterable($arr2)) {
        throw new RuntimeError(sprintf('The merge filter only works with arrays or "Traversable", got "%s" as second argument.', \gettype($arr2)));
    }

    return array_merge(twig_to_array($arr1), twig_to_array($arr2));
}

/**
 * Slices a variable.
 *
 * @param mixed $item         A variable
 * @param int   $start        Start of the slice
 * @param int   $length       Size of the slice
 * @param bool  $preserveKeys Whether to preserve key or not (when the input is an array)
 *
 * @return mixed The sliced variable
 */
function twig_slice(Environment $env, $item, $start, $length = null, $preserveKeys = false)
{
    if ($item instanceof \Traversable) {
        while ($item instanceof \IteratorAggregate) {
            $item = $item->getIterator();
        }

        if ($start >= 0 && $length >= 0 && $item instanceof \Iterator) {
            try {
                return iterator_to_array(new \LimitIterator($item, $start, null === $length ? -1 : $length), $preserveKeys);
            } catch (\OutOfBoundsException $e) {
                return [];
            }
        }

        $item = iterator_to_array($item, $preserveKeys);
    }

    if (\is_array($item)) {
        return \array_slice($item, $start, $length, $preserveKeys);
    }

    $item = (string) $item;

    if (\function_exists('mb_get_info') && null !== $charset = $env->getCharset()) {
        return (string) mb_substr($item, $start, null === $length ? mb_strlen($item, $charset) - $start : $length, $charset);
    }

    return (string) (null === $length ? substr($item, $start) : substr($item, $start, $length));
}

/**
 * Returns the first element of the item.
 *
 * @param mixed $item A variable
 *
 * @return mixed The first element of the item
 */
function twig_first(Environment $env, $item)
{
    $elements = twig_slice($env, $item, 0, 1, false);

    return \is_string($elements) ? $elements : current($elements);
}

/**
 * Returns the last element of the item.
 *
 * @param mixed $item A variable
 *
 * @return mixed The last element of the item
 */
function twig_last(Environment $env, $item)
{
    $elements = twig_slice($env, $item, -1, 1, false);

    return \is_string($elements) ? $elements : current($elements);
}

/**
 * Joins the values to a string.
 *
 * The separators between elements are empty strings per default, you can define them with the optional parameters.
 *
 *  {{ [1, 2, 3]|join(', ', ' and ') }}
 *  {# returns 1, 2 and 3 #}
 *
 *  {{ [1, 2, 3]|join('|') }}
 *  {# returns 1|2|3 #}
 *
 *  {{ [1, 2, 3]|join }}
 *  {# returns 123 #}
 *
 * @param array       $value An array
 * @param string      $glue  The separator
 * @param string|null $and   The separator for the last pair
 *
 * @return string The concatenated string
 */
function twig_join_filter($value, $glue = '', $and = null)
{
    if (!twig_test_iterable($value)) {
        $value = (array) $value;
    }

    $value = twig_to_array($value, false);

    if (0 === \count($value)) {
        return '';
    }

    if (null === $and || $and === $glue) {
        return implode($glue, $value);
    }

    if (1 === \count($value)) {
        return $value[0];
    }

    return implode($glue, \array_slice($value, 0, -1)).$and.$value[\count($value) - 1];
}

/**
 * Splits the string into an array.
 *
 *  {{ "one,two,three"|split(',') }}
 *  {# returns [one, two, three] #}
 *
 *  {{ "one,two,three,four,five"|split(',', 3) }}
 *  {# returns [one, two, "three,four,five"] #}
 *
 *  {{ "123"|split('') }}
 *  {# returns [1, 2, 3] #}
 *
 *  {{ "aabbcc"|split('', 2) }}
 *  {# returns [aa, bb, cc] #}
 *
 * @param string $value     A string
 * @param string $delimiter The delimiter
 * @param int    $limit     The limit
 *
 * @return array The split string as an array
 */
function twig_split_filter(Environment $env, $value, $delimiter, $limit = null)
{
    if (\strlen($delimiter) > 0) {
        return null === $limit ? explode($delimiter, $value) : explode($delimiter, $value, $limit);
    }

    if (!\function_exists('mb_get_info') || null === $charset = $env->getCharset()) {
        return str_split($value, null === $limit ? 1 : $limit);
    }

    if ($limit <= 1) {
        return preg_split('/(?<!^)(?!$)/u', $value);
    }

    $length = mb_strlen($value, $charset);
    if ($length < $limit) {
        return [$value];
    }

    $r = [];
    for ($i = 0; $i < $length; $i += $limit) {
        $r[] = mb_substr($value, $i, $limit, $charset);
    }

    return $r;
}

// The '_default' filter is used internally to avoid using the ternary operator
// which costs a lot for big contexts (before PHP 5.4). So, on average,
// a function call is cheaper.
/**
 * @internal
 */
function _twig_default_filter($value, $default = '')
{
    if (twig_test_empty($value)) {
        return $default;
    }

    return $value;
}

/**
 * Returns the keys for the given array.
 *
 * It is useful when you want to iterate over the keys of an array:
 *
 *  {% for key in array|keys %}
 *      {# ... #}
 *  {% endfor %}
 *
 * @param array $array An array
 *
 * @return array The keys
 */
function twig_get_array_keys_filter($array)
{
    if ($array instanceof \Traversable) {
        while ($array instanceof \IteratorAggregate) {
            $array = $array->getIterator();
        }

        if ($array instanceof \Iterator) {
            $keys = [];
            $array->rewind();
            while ($array->valid()) {
                $keys[] = $array->key();
                $array->next();
            }

            return $keys;
        }

        $keys = [];
        foreach ($array as $key => $item) {
            $keys[] = $key;
        }

        return $keys;
    }

    if (!\is_array($array)) {
        return [];
    }

    return array_keys($array);
}

/**
 * Reverses a variable.
 *
 * @param array|\Traversable|string $item         An array, a \Traversable instance, or a string
 * @param bool                      $preserveKeys Whether to preserve key or not
 *
 * @return mixed The reversed input
 */
function twig_reverse_filter(Environment $env, $item, $preserveKeys = false)
{
    if ($item instanceof \Traversable) {
        return array_reverse(iterator_to_array($item), $preserveKeys);
    }

    if (\is_array($item)) {
        return array_reverse($item, $preserveKeys);
    }

    if (null !== $charset = $env->getCharset()) {
        $string = (string) $item;

        if ('UTF-8' !== $charset) {
            $item = twig_convert_encoding($string, 'UTF-8', $charset);
        }

        preg_match_all('/./us', $item, $matches);

        $string = implode('', array_reverse($matches[0]));

        if ('UTF-8' !== $charset) {
            $string = twig_convert_encoding($string, $charset, 'UTF-8');
        }

        return $string;
    }

    return strrev((string) $item);
}

/**
 * Sorts an array.
 *
 * @param array|\Traversable $array
 *
 * @return array
 */
function twig_sort_filter($array)
{
    if ($array instanceof \Traversable) {
        $array = iterator_to_array($array);
    } elseif (!\is_array($array)) {
        throw new RuntimeError(sprintf('The sort filter only works with arrays or "Traversable", got "%s".', \gettype($array)));
    }

    asort($array);

    return $array;
}

/**
 * @internal
 */
function twig_in_filter($value, $compare)
{
    if ($value instanceof Markup) {
        $value = (string) $value;
    }
    if ($compare instanceof Markup) {
        $compare = (string) $compare;
    }

    if (\is_array($compare)) {
        return \in_array($value, $compare, \is_object($value) || \is_resource($value));
    } elseif (\is_string($compare) && (\is_string($value) || \is_int($value) || \is_float($value))) {
        return '' === $value || false !== strpos($compare, (string) $value);
    } elseif ($compare instanceof \Traversable) {
        if (\is_object($value) || \is_resource($value)) {
            foreach ($compare as $item) {
                if ($item === $value) {
                    return true;
                }
            }
        } else {
            foreach ($compare as $item) {
                if ($item == $value) {
                    return true;
                }
            }
        }

        return false;
    }

    return false;
}

/**
 * Returns a trimmed string.
 *
 * @return string
 *
 * @throws RuntimeError When an invalid trimming side is used (not a string or not 'left', 'right', or 'both')
 */
function twig_trim_filter($string, $characterMask = null, $side = 'both')
{
    if (null === $characterMask) {
        $characterMask = " \t\n\r\0\x0B";
    }

    switch ($side) {
        case 'both':
            return trim($string, $characterMask);
        case 'left':
            return ltrim($string, $characterMask);
        case 'right':
            return rtrim($string, $characterMask);
        default:
            throw new RuntimeError('Trimming side must be "left", "right" or "both".');
    }
}

/**
 * Removes whitespaces between HTML tags.
 *
 * @return string
 */
function twig_spaceless($content)
{
    return trim(preg_replace('/>\s+</', '><', $content));
}

/**
 * Escapes a string.
 *
 * @param mixed  $string     The value to be escaped
 * @param string $strategy   The escaping strategy
 * @param string $charset    The charset
 * @param bool   $autoescape Whether the function is called by the auto-escaping feature (true) or by the developer (false)
 *
 * @return string
 */
function twig_escape_filter(Environment $env, $string, $strategy = 'html', $charset = null, $autoescape = false)
{
    if ($autoescape && $string instanceof Markup) {
        return $string;
    }

    if (!\is_string($string)) {
        if (\is_object($string) && method_exists($string, '__toString')) {
            $string = (string) $string;
        } elseif (\in_array($strategy, ['html', 'js', 'css', 'html_attr', 'url'])) {
            return $string;
        }
    }

    if ('' === $string) {
        return '';
    }

    if (null === $charset) {
        $charset = $env->getCharset();
    }

    switch ($strategy) {
        case 'html':
            // see https://secure.php.net/htmlspecialchars

            // Using a static variable to avoid initializing the array
            // each time the function is called. Moving the declaration on the
            // top of the function slow downs other escaping strategies.
            static $htmlspecialcharsCharsets = [
                'ISO-8859-1' => true, 'ISO8859-1' => true,
                'ISO-8859-15' => true, 'ISO8859-15' => true,
                'utf-8' => true, 'UTF-8' => true,
                'CP866' => true, 'IBM866' => true, '866' => true,
                'CP1251' => true, 'WINDOWS-1251' => true, 'WIN-1251' => true,
                '1251' => true,
                'CP1252' => true, 'WINDOWS-1252' => true, '1252' => true,
                'KOI8-R' => true, 'KOI8-RU' => true, 'KOI8R' => true,
                'BIG5' => true, '950' => true,
                'GB2312' => true, '936' => true,
                'BIG5-HKSCS' => true,
                'SHIFT_JIS' => true, 'SJIS' => true, '932' => true,
                'EUC-JP' => true, 'EUCJP' => true,
                'ISO8859-5' => true, 'ISO-8859-5' => true, 'MACROMAN' => true,
            ];

            if (isset($htmlspecialcharsCharsets[$charset])) {
                return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, $charset);
            }

            if (isset($htmlspecialcharsCharsets[strtoupper($charset)])) {
                // cache the lowercase variant for future iterations
                $htmlspecialcharsCharsets[$charset] = true;

                return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, $charset);
            }

            $string = twig_convert_encoding($string, 'UTF-8', $charset);
            $string = htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');

            return twig_convert_encoding($string, $charset, 'UTF-8');

        case 'js':
            // escape all non-alphanumeric characters
            // into their \x or \uHHHH representations
            if ('UTF-8' !== $charset) {
                $string = twig_convert_encoding($string, 'UTF-8', $charset);
            }

            if (!preg_match('//u', $string)) {
                throw new RuntimeError('The string to escape is not a valid UTF-8 string.');
            }

            $string = preg_replace_callback('#[^a-zA-Z0-9,\._]#Su', '_twig_escape_js_callback', $string);

            if ('UTF-8' !== $charset) {
                $string = twig_convert_encoding($string, $charset, 'UTF-8');
            }

            return $string;

        case 'css':
            if ('UTF-8' !== $charset) {
                $string = twig_convert_encoding($string, 'UTF-8', $charset);
            }

            if (!preg_match('//u', $string)) {
                throw new RuntimeError('The string to escape is not a valid UTF-8 string.');
            }

            $string = preg_replace_callback('#[^a-zA-Z0-9]#Su', '_twig_escape_css_callback', $string);

            if ('UTF-8' !== $charset) {
                $string = twig_convert_encoding($string, $charset, 'UTF-8');
            }

            return $string;

        case 'html_attr':
            if ('UTF-8' !== $charset) {
                $string = twig_convert_encoding($string, 'UTF-8', $charset);
            }

            if (!preg_match('//u', $string)) {
                throw new RuntimeError('The string to escape is not a valid UTF-8 string.');
            }

            $string = preg_replace_callback('#[^a-zA-Z0-9,\.\-_]#Su', '_twig_escape_html_attr_callback', $string);

            if ('UTF-8' !== $charset) {
                $string = twig_convert_encoding($string, $charset, 'UTF-8');
            }

            return $string;

        case 'url':
            return rawurlencode($string);

        default:
            static $escapers;

            if (null === $escapers) {
                $escapers = $env->getExtension('\Twig\Extension\CoreExtension')->getEscapers();
            }

            if (isset($escapers[$strategy])) {
                return \call_user_func($escapers[$strategy], $env, $string, $charset);
            }

            $validStrategies = implode(', ', array_merge(['html', 'js', 'url', 'css', 'html_attr'], array_keys($escapers)));

            throw new RuntimeError(sprintf('Invalid escaping strategy "%s" (valid ones: %s).', $strategy, $validStrategies));
    }
}

/**
 * @internal
 */
function twig_escape_filter_is_safe(Node $filterArgs)
{
    foreach ($filterArgs as $arg) {
        if ($arg instanceof ConstantExpression) {
            return [$arg->getAttribute('value')];
        }

        return [];
    }

    return ['html'];
}

if (\function_exists('mb_convert_encoding')) {
    function twig_convert_encoding($string, $to, $from)
    {
        return mb_convert_encoding($string, $to, $from);
    }
} elseif (\function_exists('iconv')) {
    function twig_convert_encoding($string, $to, $from)
    {
        return iconv($from, $to, $string);
    }
} else {
    function twig_convert_encoding($string, $to, $from)
    {
        throw new RuntimeError('No suitable convert encoding function (use UTF-8 as your encoding or install the iconv or mbstring extension).');
    }
}

if (\function_exists('mb_ord')) {
    function twig_ord($string)
    {
        return mb_ord($string, 'UTF-8');
    }
} else {
    function twig_ord($string)
    {
        $code = ($string = unpack('C*', substr($string, 0, 4))) ? $string[1] : 0;
        if (0xF0 <= $code) {
            return (($code - 0xF0) << 18) + (($string[2] - 0x80) << 12) + (($string[3] - 0x80) << 6) + $string[4] - 0x80;
        }
        if (0xE0 <= $code) {
            return (($code - 0xE0) << 12) + (($string[2] - 0x80) << 6) + $string[3] - 0x80;
        }
        if (0xC0 <= $code) {
            return (($code - 0xC0) << 6) + $string[2] - 0x80;
        }

        return $code;
    }
}

function _twig_escape_js_callback($matches)
{
    $char = $matches[0];

    /*
     * A few characters have short escape sequences in JSON and JavaScript.
     * Escape sequences supported only by JavaScript, not JSON, are ommitted.
     * \" is also supported but omitted, because the resulting string is not HTML safe.
     */
    static $shortMap = [
        '\\' => '\\\\',
        '/' => '\\/',
        "\x08" => '\b',
        "\x0C" => '\f',
        "\x0A" => '\n',
        "\x0D" => '\r',
        "\x09" => '\t',
    ];

    if (isset($shortMap[$char])) {
        return $shortMap[$char];
    }

    // \uHHHH
    $char = twig_convert_encoding($char, 'UTF-16BE', 'UTF-8');
    $char = strtoupper(bin2hex($char));

    if (4 >= \strlen($char)) {
        return sprintf('\u%04s', $char);
    }

    return sprintf('\u%04s\u%04s', substr($char, 0, -4), substr($char, -4));
}

function _twig_escape_css_callback($matches)
{
    $char = $matches[0];

    return sprintf('\\%X ', 1 === \strlen($char) ? \ord($char) : twig_ord($char));
}

/**
 * This function is adapted from code coming from Zend Framework.
 *
 * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (https://www.zend.com)
 * @license   https://framework.zend.com/license/new-bsd New BSD License
 */
function _twig_escape_html_attr_callback($matches)
{
    $chr = $matches[0];
    $ord = \ord($chr);

    /*
     * The following replaces characters undefined in HTML with the
     * hex entity for the Unicode replacement character.
     */
    if (($ord <= 0x1f && "\t" != $chr && "\n" != $chr && "\r" != $chr) || ($ord >= 0x7f && $ord <= 0x9f)) {
        return '&#xFFFD;';
    }

    /*
     * Check if the current character to escape has a name entity we should
     * replace it with while grabbing the hex value of the character.
     */
    if (1 == \strlen($chr)) {
        /*
         * While HTML supports far more named entities, the lowest common denominator
         * has become HTML5's XML Serialisation which is restricted to the those named
         * entities that XML supports. Using HTML entities would result in this error:
         *     XML Parsing Error: undefined entity
         */
        static $entityMap = [
            34 => '&quot;', /* quotation mark */
            38 => '&amp;',  /* ampersand */
            60 => '&lt;',   /* less-than sign */
            62 => '&gt;',   /* greater-than sign */
        ];

        if (isset($entityMap[$ord])) {
            return $entityMap[$ord];
        }

        return sprintf('&#x%02X;', $ord);
    }

    /*
     * Per OWASP recommendations, we'll use hex entities for any other
     * characters where a named entity does not exist.
     */
    return sprintf('&#x%04X;', twig_ord($chr));
}

// add multibyte extensions if possible
if (\function_exists('mb_get_info')) {
    /**
     * Returns the length of a variable.
     *
     * @param mixed $thing A variable
     *
     * @return int The length of the value
     */
    function twig_length_filter(Environment $env, $thing)
    {
        if (null === $thing) {
            return 0;
        }

        if (is_scalar($thing)) {
            return mb_strlen($thing, $env->getCharset());
        }

        if ($thing instanceof \Countable || \is_array($thing) || $thing instanceof \SimpleXMLElement) {
            return \count($thing);
        }

        if ($thing instanceof \Traversable) {
            return iterator_count($thing);
        }

        if (\is_object($thing) && method_exists($thing, '__toString')) {
            return mb_strlen((string) $thing, $env->getCharset());
        }

        return 1;
    }

    /**
     * Converts a string to uppercase.
     *
     * @param string $string A string
     *
     * @return string The uppercased string
     */
    function twig_upper_filter(Environment $env, $string)
    {
        if (null !== $charset = $env->getCharset()) {
            return mb_strtoupper($string, $charset);
        }

        return strtoupper($string);
    }

    /**
     * Converts a string to lowercase.
     *
     * @param string $string A string
     *
     * @return string The lowercased string
     */
    function twig_lower_filter(Environment $env, $string)
    {
        if (null !== $charset = $env->getCharset()) {
            return mb_strtolower($string, $charset);
        }

        return strtolower($string);
    }

    /**
     * Returns a titlecased string.
     *
     * @param string $string A string
     *
     * @return string The titlecased string
     */
    function twig_title_string_filter(Environment $env, $string)
    {
        if (null !== $charset = $env->getCharset()) {
            return mb_convert_case($string, MB_CASE_TITLE, $charset);
        }

        return ucwords(strtolower($string));
    }

    /**
     * Returns a capitalized string.
     *
     * @param string $string A string
     *
     * @return string The capitalized string
     */
    function twig_capitalize_string_filter(Environment $env, $string)
    {
        if (null !== $charset = $env->getCharset()) {
            return mb_strtoupper(mb_substr($string, 0, 1, $charset), $charset).mb_strtolower(mb_substr($string, 1, mb_strlen($string, $charset), $charset), $charset);
        }

        return ucfirst(strtolower($string));
    }
}
// and byte fallback
else {
    /**
     * Returns the length of a variable.
     *
     * @param mixed $thing A variable
     *
     * @return int The length of the value
     */
    function twig_length_filter(Environment $env, $thing)
    {
        if (null === $thing) {
            return 0;
        }

        if (is_scalar($thing)) {
            return \strlen($thing);
        }

        if ($thing instanceof \SimpleXMLElement) {
            return \count($thing);
        }

        if (\is_object($thing) && method_exists($thing, '__toString') && !$thing instanceof \Countable) {
            return \strlen((string) $thing);
        }

        if ($thing instanceof \Countable || \is_array($thing)) {
            return \count($thing);
        }

        if ($thing instanceof \IteratorAggregate) {
            return iterator_count($thing);
        }

        return 1;
    }

    /**
     * Returns a titlecased string.
     *
     * @param string $string A string
     *
     * @return string The titlecased string
     */
    function twig_title_string_filter(Environment $env, $string)
    {
        return ucwords(strtolower($string));
    }

    /**
     * Returns a capitalized string.
     *
     * @param string $string A string
     *
     * @return string The capitalized string
     */
    function twig_capitalize_string_filter(Environment $env, $string)
    {
        return ucfirst(strtolower($string));
    }
}

/**
 * @internal
 */
function twig_ensure_traversable($seq)
{
    if ($seq instanceof \Traversable || \is_array($seq)) {
        return $seq;
    }

    return [];
}

/**
 * @internal
 */
function twig_to_array($seq, $preserveKeys = true)
{
    if ($seq instanceof \Traversable) {
        return iterator_to_array($seq, $preserveKeys);
    }

    if (!\is_array($seq)) {
        return $seq;
    }

    return $preserveKeys ? $seq : array_values($seq);
}

/**
 * Checks if a variable is empty.
 *
 *    {# evaluates to true if the foo variable is null, false, or the empty string #}
 *    {% if foo is empty %}
 *        {# ... #}
 *    {% endif %}
 *
 * @param mixed $value A variable
 *
 * @return bool true if the value is empty, false otherwise
 */
function twig_test_empty($value)
{
    if ($value instanceof \Countable) {
        return 0 == \count($value);
    }

    if ($value instanceof \Traversable) {
        return !iterator_count($value);
    }

    if (\is_object($value) && method_exists($value, '__toString')) {
        return '' === (string) $value;
    }

    return '' === $value || false === $value || null === $value || [] === $value;
}

/**
 * Checks if a variable is traversable.
 *
 *    {# evaluates to true if the foo variable is an array or a traversable object #}
 *    {% if foo is iterable %}
 *        {# ... #}
 *    {% endif %}
 *
 * @param mixed $value A variable
 *
 * @return bool true if the value is traversable
 */
function twig_test_iterable($value)
{
    return $value instanceof \Traversable || \is_array($value);
}

/**
 * Renders a template.
 *
 * @param array        $context
 * @param string|array $template      The template to render or an array of templates to try consecutively
 * @param array        $variables     The variables to pass to the template
 * @param bool         $withContext
 * @param bool         $ignoreMissing Whether to ignore missing templates or not
 * @param bool         $sandboxed     Whether to sandbox the template or not
 *
 * @return string The rendered template
 */
function twig_include(Environment $env, $context, $template, $variables = [], $withContext = true, $ignoreMissing = false, $sandboxed = false)
{
    $alreadySandboxed = false;
    $sandbox = null;
    if ($withContext) {
        $variables = array_merge($context, $variables);
    }

    if ($isSandboxed = $sandboxed && $env->hasExtension('\Twig\Extension\SandboxExtension')) {
        $sandbox = $env->getExtension('\Twig\Extension\SandboxExtension');
        if (!$alreadySandboxed = $sandbox->isSandboxed()) {
            $sandbox->enableSandbox();
        }
    }

    $loaded = null;
    try {
        $loaded = $env->resolveTemplate($template);
    } catch (LoaderError $e) {
        if (!$ignoreMissing) {
            if ($isSandboxed && !$alreadySandboxed) {
                $sandbox->disableSandbox();
            }

            throw $e;
        }
    } catch (\Throwable $e) {
        if ($isSandboxed && !$alreadySandboxed) {
            $sandbox->disableSandbox();
        }

        throw $e;
    } catch (\Exception $e) {
        if ($isSandboxed && !$alreadySandboxed) {
            $sandbox->disableSandbox();
        }

        throw $e;
    }

    try {
        $ret = $loaded ? $loaded->render($variables) : '';
    } catch (\Exception $e) {
        if ($isSandboxed && !$alreadySandboxed) {
            $sandbox->disableSandbox();
        }

        throw $e;
    }

    if ($isSandboxed && !$alreadySandboxed) {
        $sandbox->disableSandbox();
    }

    return $ret;
}

/**
 * Returns a template content without rendering it.
 *
 * @param string $name          The template name
 * @param bool   $ignoreMissing Whether to ignore missing templates or not
 *
 * @return string The template source
 */
function twig_source(Environment $env, $name, $ignoreMissing = false)
{
    $loader = $env->getLoader();
    try {
        if (!$loader instanceof SourceContextLoaderInterface) {
            return $loader->getSource($name);
        } else {
            return $loader->getSourceContext($name)->getCode();
        }
    } catch (LoaderError $e) {
        if (!$ignoreMissing) {
            throw $e;
        }
    }
}

/**
 * Provides the ability to get constants from instances as well as class/global constants.
 *
 * @param string      $constant The name of the constant
 * @param object|null $object   The object to get the constant from
 *
 * @return string
 */
function twig_constant($constant, $object = null)
{
    if (null !== $object) {
        $constant = \get_class($object).'::'.$constant;
    }

    return \constant($constant);
}

/**
 * Checks if a constant exists.
 *
 * @param string      $constant The name of the constant
 * @param object|null $object   The object to get the constant from
 *
 * @return bool
 */
function twig_constant_is_defined($constant, $object = null)
{
    if (null !== $object) {
        $constant = \get_class($object).'::'.$constant;
    }

    return \defined($constant);
}

/**
 * Batches item.
 *
 * @param array $items An array of items
 * @param int   $size  The size of the batch
 * @param mixed $fill  A value used to fill missing items
 *
 * @return array
 */
function twig_array_batch($items, $size, $fill = null, $preserveKeys = true)
{
    if (!twig_test_iterable($items)) {
        throw new RuntimeError(sprintf('The "batch" filter expects an array or "Traversable", got "%s".', \is_object($items) ? \get_class($items) : \gettype($items)));
    }

    $size = ceil($size);

    $result = array_chunk(twig_to_array($items, $preserveKeys), $size, $preserveKeys);

    if (null !== $fill && $result) {
        $last = \count($result) - 1;
        if ($fillCount = $size - \count($result[$last])) {
            for ($i = 0; $i < $fillCount; ++$i) {
                $result[$last][] = $fill;
            }
        }
    }

    return $result;
}

function twig_array_filter($array, $arrow)
{
    if (\is_array($array)) {
        if (\PHP_VERSION_ID >= 50600) {
            return array_filter($array, $arrow, \ARRAY_FILTER_USE_BOTH);
        }

        return array_filter($array, $arrow);
    }

    // the IteratorIterator wrapping is needed as some internal PHP classes are \Traversable but do not implement \Iterator
    return new \CallbackFilterIterator(new \IteratorIterator($array), $arrow);
}

function twig_array_map($array, $arrow)
{
    $r = [];
    foreach ($array as $k => $v) {
        $r[$k] = $arrow($v, $k);
    }

    return $r;
}

function twig_array_reduce($array, $arrow, $initial = null)
{
    if (!\is_array($array)) {
        $array = iterator_to_array($array);
    }

    return array_reduce($array, $arrow, $initial);
}
}
vendor/twig/twig/src/Extension/ProfilerExtension.php000060400000002137150750356250016727 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Extension;

use Twig\Profiler\NodeVisitor\ProfilerNodeVisitor;
use Twig\Profiler\Profile;

class ProfilerExtension extends AbstractExtension
{
    private $actives = [];

    public function __construct(Profile $profile)
    {
        $this->actives[] = $profile;
    }

    public function enter(Profile $profile)
    {
        $this->actives[0]->addProfile($profile);
        array_unshift($this->actives, $profile);
    }

    public function leave(Profile $profile)
    {
        $profile->leave();
        array_shift($this->actives);

        if (1 === \count($this->actives)) {
            $this->actives[0]->leave();
        }
    }

    public function getNodeVisitors()
    {
        return [new ProfilerNodeVisitor(\get_class($this))];
    }

    public function getName()
    {
        return 'profiler';
    }
}

class_alias('Twig\Extension\ProfilerExtension', 'Twig_Extension_Profiler');
vendor/twig/twig/src/Extension/OptimizerExtension.php000060400000001344150750356250017126 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Extension;

use Twig\NodeVisitor\OptimizerNodeVisitor;

/**
 * @final
 */
class OptimizerExtension extends AbstractExtension
{
    protected $optimizers;

    public function __construct($optimizers = -1)
    {
        $this->optimizers = $optimizers;
    }

    public function getNodeVisitors()
    {
        return [new OptimizerNodeVisitor($this->optimizers)];
    }

    public function getName()
    {
        return 'optimizer';
    }
}

class_alias('Twig\Extension\OptimizerExtension', 'Twig_Extension_Optimizer');
vendor/twig/twig/src/Lexer.php000060400000050144150750356250012354 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig;

use Twig\Error\SyntaxError;

/**
 * Lexes a template string.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class Lexer implements \Twig_LexerInterface
{
    protected $tokens;
    protected $code;
    protected $cursor;
    protected $lineno;
    protected $end;
    protected $state;
    protected $states;
    protected $brackets;
    protected $env;
    // to be renamed to $name in 2.0 (where it is private)
    protected $filename;
    protected $options;
    protected $regexes;
    protected $position;
    protected $positions;
    protected $currentVarBlockLine;

    private $source;

    const STATE_DATA = 0;
    const STATE_BLOCK = 1;
    const STATE_VAR = 2;
    const STATE_STRING = 3;
    const STATE_INTERPOLATION = 4;

    const REGEX_NAME = '/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/A';
    const REGEX_NUMBER = '/[0-9]+(?:\.[0-9]+)?([Ee][\+\-][0-9]+)?/A';
    const REGEX_STRING = '/"([^#"\\\\]*(?:\\\\.[^#"\\\\]*)*)"|\'([^\'\\\\]*(?:\\\\.[^\'\\\\]*)*)\'/As';
    const REGEX_DQ_STRING_DELIM = '/"/A';
    const REGEX_DQ_STRING_PART = '/[^#"\\\\]*(?:(?:\\\\.|#(?!\{))[^#"\\\\]*)*/As';
    const PUNCTUATION = '()[]{}?:.,|';

    public function __construct(Environment $env, array $options = [])
    {
        $this->env = $env;

        $this->options = array_merge([
            'tag_comment' => ['{#', '#}'],
            'tag_block' => ['{%', '%}'],
            'tag_variable' => ['{{', '}}'],
            'whitespace_trim' => '-',
            'whitespace_line_trim' => '~',
            'whitespace_line_chars' => ' \t\0\x0B',
            'interpolation' => ['#{', '}'],
        ], $options);

        // when PHP 7.3 is the min version, we will be able to remove the '#' part in preg_quote as it's part of the default
        $this->regexes = [
            // }}
            'lex_var' => '{
                \s*
                (?:'.
                    preg_quote($this->options['whitespace_trim'].$this->options['tag_variable'][1], '#').'\s*'. // -}}\s*
                    '|'.
                    preg_quote($this->options['whitespace_line_trim'].$this->options['tag_variable'][1], '#').'['.$this->options['whitespace_line_chars'].']*'. // ~}}[ \t\0\x0B]*
                    '|'.
                    preg_quote($this->options['tag_variable'][1], '#'). // }}
                ')
            }Ax',

            // %}
            'lex_block' => '{
                \s*
                (?:'.
                    preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1], '#').'\s*\n?'. // -%}\s*\n?
                    '|'.
                    preg_quote($this->options['whitespace_line_trim'].$this->options['tag_block'][1], '#').'['.$this->options['whitespace_line_chars'].']*'. // ~%}[ \t\0\x0B]*
                    '|'.
                    preg_quote($this->options['tag_block'][1], '#').'\n?'. // %}\n?
                ')
            }Ax',

            // {% endverbatim %}
            'lex_raw_data' => '{'.
                preg_quote($this->options['tag_block'][0], '#'). // {%
                '('.
                    $this->options['whitespace_trim']. // -
                    '|'.
                    $this->options['whitespace_line_trim']. // ~
                ')?\s*'.
                '(?:end%s)'. // endraw or endverbatim
                '\s*'.
                '(?:'.
                    preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1], '#').'\s*'. // -%}
                    '|'.
                    preg_quote($this->options['whitespace_line_trim'].$this->options['tag_block'][1], '#').'['.$this->options['whitespace_line_chars'].']*'. // ~%}[ \t\0\x0B]*
                    '|'.
                    preg_quote($this->options['tag_block'][1], '#'). // %}
                ')
            }sx',

            'operator' => $this->getOperatorRegex(),

            // #}
            'lex_comment' => '{
                (?:'.
                    preg_quote($this->options['whitespace_trim']).preg_quote($this->options['tag_comment'][1], '#').'\s*\n?'. // -#}\s*\n?
                    '|'.
                    preg_quote($this->options['whitespace_line_trim'].$this->options['tag_comment'][1], '#').'['.$this->options['whitespace_line_chars'].']*'. // ~#}[ \t\0\x0B]*
                    '|'.
                    preg_quote($this->options['tag_comment'][1], '#').'\n?'. // #}\n?
                ')
            }sx',

            // verbatim %}
            'lex_block_raw' => '{
                \s*
                (raw|verbatim)
                \s*
                (?:'.
                    preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1], '#').'\s*'. // -%}\s*
                    '|'.
                    preg_quote($this->options['whitespace_line_trim'].$this->options['tag_block'][1], '#').'['.$this->options['whitespace_line_chars'].']*'. // ~%}[ \t\0\x0B]*
                    '|'.
                    preg_quote($this->options['tag_block'][1], '#'). // %}
                ')
            }Asx',

            'lex_block_line' => '{\s*line\s+(\d+)\s*'.preg_quote($this->options['tag_block'][1], '#').'}As',

            // {{ or {% or {#
            'lex_tokens_start' => '{
                ('.
                    preg_quote($this->options['tag_variable'][0], '#'). // {{
                    '|'.
                    preg_quote($this->options['tag_block'][0], '#'). // {%
                    '|'.
                    preg_quote($this->options['tag_comment'][0], '#'). // {#
                ')('.
                    preg_quote($this->options['whitespace_trim'], '#'). // -
                    '|'.
                    preg_quote($this->options['whitespace_line_trim'], '#'). // ~
                ')?
            }sx',
            'interpolation_start' => '{'.preg_quote($this->options['interpolation'][0], '#').'\s*}A',
            'interpolation_end' => '{\s*'.preg_quote($this->options['interpolation'][1], '#').'}A',
        ];
    }

    public function tokenize($code, $name = null)
    {
        if (!$code instanceof Source) {
            @trigger_error(sprintf('Passing a string as the $code argument of %s() is deprecated since version 1.27 and will be removed in 2.0. Pass a \Twig\Source instance instead.', __METHOD__), E_USER_DEPRECATED);
            $this->source = new Source($code, $name);
        } else {
            $this->source = $code;
        }

        if (((int) ini_get('mbstring.func_overload')) & 2) {
            @trigger_error('Support for having "mbstring.func_overload" different from 0 is deprecated version 1.29 and will be removed in 2.0.', E_USER_DEPRECATED);
        }

        if (\function_exists('mb_internal_encoding') && ((int) ini_get('mbstring.func_overload')) & 2) {
            $mbEncoding = mb_internal_encoding();
            mb_internal_encoding('ASCII');
        } else {
            $mbEncoding = null;
        }

        $this->code = str_replace(["\r\n", "\r"], "\n", $this->source->getCode());
        $this->filename = $this->source->getName();
        $this->cursor = 0;
        $this->lineno = 1;
        $this->end = \strlen($this->code);
        $this->tokens = [];
        $this->state = self::STATE_DATA;
        $this->states = [];
        $this->brackets = [];
        $this->position = -1;

        // find all token starts in one go
        preg_match_all($this->regexes['lex_tokens_start'], $this->code, $matches, PREG_OFFSET_CAPTURE);
        $this->positions = $matches;

        while ($this->cursor < $this->end) {
            // dispatch to the lexing functions depending
            // on the current state
            switch ($this->state) {
                case self::STATE_DATA:
                    $this->lexData();
                    break;

                case self::STATE_BLOCK:
                    $this->lexBlock();
                    break;

                case self::STATE_VAR:
                    $this->lexVar();
                    break;

                case self::STATE_STRING:
                    $this->lexString();
                    break;

                case self::STATE_INTERPOLATION:
                    $this->lexInterpolation();
                    break;
            }
        }

        $this->pushToken(Token::EOF_TYPE);

        if (!empty($this->brackets)) {
            list($expect, $lineno) = array_pop($this->brackets);
            throw new SyntaxError(sprintf('Unclosed "%s".', $expect), $lineno, $this->source);
        }

        if ($mbEncoding) {
            mb_internal_encoding($mbEncoding);
        }

        return new TokenStream($this->tokens, $this->source);
    }

    protected function lexData()
    {
        // if no matches are left we return the rest of the template as simple text token
        if ($this->position == \count($this->positions[0]) - 1) {
            $this->pushToken(Token::TEXT_TYPE, substr($this->code, $this->cursor));
            $this->cursor = $this->end;

            return;
        }

        // Find the first token after the current cursor
        $position = $this->positions[0][++$this->position];
        while ($position[1] < $this->cursor) {
            if ($this->position == \count($this->positions[0]) - 1) {
                return;
            }
            $position = $this->positions[0][++$this->position];
        }

        // push the template text first
        $text = $textContent = substr($this->code, $this->cursor, $position[1] - $this->cursor);

        // trim?
        if (isset($this->positions[2][$this->position][0])) {
            if ($this->options['whitespace_trim'] === $this->positions[2][$this->position][0]) {
                // whitespace_trim detected ({%-, {{- or {#-)
                $text = rtrim($text);
            } elseif ($this->options['whitespace_line_trim'] === $this->positions[2][$this->position][0]) {
                // whitespace_line_trim detected ({%~, {{~ or {#~)
                // don't trim \r and \n
                $text = rtrim($text, " \t\0\x0B");
            }
        }
        $this->pushToken(Token::TEXT_TYPE, $text);
        $this->moveCursor($textContent.$position[0]);

        switch ($this->positions[1][$this->position][0]) {
            case $this->options['tag_comment'][0]:
                $this->lexComment();
                break;

            case $this->options['tag_block'][0]:
                // raw data?
                if (preg_match($this->regexes['lex_block_raw'], $this->code, $match, 0, $this->cursor)) {
                    $this->moveCursor($match[0]);
                    $this->lexRawData($match[1]);
                // {% line \d+ %}
                } elseif (preg_match($this->regexes['lex_block_line'], $this->code, $match, 0, $this->cursor)) {
                    $this->moveCursor($match[0]);
                    $this->lineno = (int) $match[1];
                } else {
                    $this->pushToken(Token::BLOCK_START_TYPE);
                    $this->pushState(self::STATE_BLOCK);
                    $this->currentVarBlockLine = $this->lineno;
                }
                break;

            case $this->options['tag_variable'][0]:
                $this->pushToken(Token::VAR_START_TYPE);
                $this->pushState(self::STATE_VAR);
                $this->currentVarBlockLine = $this->lineno;
                break;
        }
    }

    protected function lexBlock()
    {
        if (empty($this->brackets) && preg_match($this->regexes['lex_block'], $this->code, $match, 0, $this->cursor)) {
            $this->pushToken(Token::BLOCK_END_TYPE);
            $this->moveCursor($match[0]);
            $this->popState();
        } else {
            $this->lexExpression();
        }
    }

    protected function lexVar()
    {
        if (empty($this->brackets) && preg_match($this->regexes['lex_var'], $this->code, $match, 0, $this->cursor)) {
            $this->pushToken(Token::VAR_END_TYPE);
            $this->moveCursor($match[0]);
            $this->popState();
        } else {
            $this->lexExpression();
        }
    }

    protected function lexExpression()
    {
        // whitespace
        if (preg_match('/\s+/A', $this->code, $match, 0, $this->cursor)) {
            $this->moveCursor($match[0]);

            if ($this->cursor >= $this->end) {
                throw new SyntaxError(sprintf('Unclosed "%s".', self::STATE_BLOCK === $this->state ? 'block' : 'variable'), $this->currentVarBlockLine, $this->source);
            }
        }

        // arrow function
        if ('=' === $this->code[$this->cursor] && '>' === $this->code[$this->cursor + 1]) {
            $this->pushToken(Token::ARROW_TYPE, '=>');
            $this->moveCursor('=>');
        }
        // operators
        elseif (preg_match($this->regexes['operator'], $this->code, $match, 0, $this->cursor)) {
            $this->pushToken(Token::OPERATOR_TYPE, preg_replace('/\s+/', ' ', $match[0]));
            $this->moveCursor($match[0]);
        }
        // names
        elseif (preg_match(self::REGEX_NAME, $this->code, $match, 0, $this->cursor)) {
            $this->pushToken(Token::NAME_TYPE, $match[0]);
            $this->moveCursor($match[0]);
        }
        // numbers
        elseif (preg_match(self::REGEX_NUMBER, $this->code, $match, 0, $this->cursor)) {
            $number = (float) $match[0];  // floats
            if (ctype_digit($match[0]) && $number <= PHP_INT_MAX) {
                $number = (int) $match[0]; // integers lower than the maximum
            }
            $this->pushToken(Token::NUMBER_TYPE, $number);
            $this->moveCursor($match[0]);
        }
        // punctuation
        elseif (false !== strpos(self::PUNCTUATION, $this->code[$this->cursor])) {
            // opening bracket
            if (false !== strpos('([{', $this->code[$this->cursor])) {
                $this->brackets[] = [$this->code[$this->cursor], $this->lineno];
            }
            // closing bracket
            elseif (false !== strpos(')]}', $this->code[$this->cursor])) {
                if (empty($this->brackets)) {
                    throw new SyntaxError(sprintf('Unexpected "%s".', $this->code[$this->cursor]), $this->lineno, $this->source);
                }

                list($expect, $lineno) = array_pop($this->brackets);
                if ($this->code[$this->cursor] != strtr($expect, '([{', ')]}')) {
                    throw new SyntaxError(sprintf('Unclosed "%s".', $expect), $lineno, $this->source);
                }
            }

            $this->pushToken(Token::PUNCTUATION_TYPE, $this->code[$this->cursor]);
            ++$this->cursor;
        }
        // strings
        elseif (preg_match(self::REGEX_STRING, $this->code, $match, 0, $this->cursor)) {
            $this->pushToken(Token::STRING_TYPE, stripcslashes(substr($match[0], 1, -1)));
            $this->moveCursor($match[0]);
        }
        // opening double quoted string
        elseif (preg_match(self::REGEX_DQ_STRING_DELIM, $this->code, $match, 0, $this->cursor)) {
            $this->brackets[] = ['"', $this->lineno];
            $this->pushState(self::STATE_STRING);
            $this->moveCursor($match[0]);
        }
        // unlexable
        else {
            throw new SyntaxError(sprintf('Unexpected character "%s".', $this->code[$this->cursor]), $this->lineno, $this->source);
        }
    }

    protected function lexRawData($tag)
    {
        if ('raw' === $tag) {
            @trigger_error(sprintf('Twig Tag "raw" is deprecated since version 1.21. Use "verbatim" instead in %s at line %d.', $this->filename, $this->lineno), E_USER_DEPRECATED);
        }

        if (!preg_match(str_replace('%s', $tag, $this->regexes['lex_raw_data']), $this->code, $match, PREG_OFFSET_CAPTURE, $this->cursor)) {
            throw new SyntaxError(sprintf('Unexpected end of file: Unclosed "%s" block.', $tag), $this->lineno, $this->source);
        }

        $text = substr($this->code, $this->cursor, $match[0][1] - $this->cursor);
        $this->moveCursor($text.$match[0][0]);

        // trim?
        if (isset($match[1][0])) {
            if ($this->options['whitespace_trim'] === $match[1][0]) {
                // whitespace_trim detected ({%-, {{- or {#-)
                $text = rtrim($text);
            } else {
                // whitespace_line_trim detected ({%~, {{~ or {#~)
                // don't trim \r and \n
                $text = rtrim($text, " \t\0\x0B");
            }
        }

        $this->pushToken(Token::TEXT_TYPE, $text);
    }

    protected function lexComment()
    {
        if (!preg_match($this->regexes['lex_comment'], $this->code, $match, PREG_OFFSET_CAPTURE, $this->cursor)) {
            throw new SyntaxError('Unclosed comment.', $this->lineno, $this->source);
        }

        $this->moveCursor(substr($this->code, $this->cursor, $match[0][1] - $this->cursor).$match[0][0]);
    }

    protected function lexString()
    {
        if (preg_match($this->regexes['interpolation_start'], $this->code, $match, 0, $this->cursor)) {
            $this->brackets[] = [$this->options['interpolation'][0], $this->lineno];
            $this->pushToken(Token::INTERPOLATION_START_TYPE);
            $this->moveCursor($match[0]);
            $this->pushState(self::STATE_INTERPOLATION);
        } elseif (preg_match(self::REGEX_DQ_STRING_PART, $this->code, $match, 0, $this->cursor) && \strlen($match[0]) > 0) {
            $this->pushToken(Token::STRING_TYPE, stripcslashes($match[0]));
            $this->moveCursor($match[0]);
        } elseif (preg_match(self::REGEX_DQ_STRING_DELIM, $this->code, $match, 0, $this->cursor)) {
            list($expect, $lineno) = array_pop($this->brackets);
            if ('"' != $this->code[$this->cursor]) {
                throw new SyntaxError(sprintf('Unclosed "%s".', $expect), $lineno, $this->source);
            }

            $this->popState();
            ++$this->cursor;
        } else {
            // unlexable
            throw new SyntaxError(sprintf('Unexpected character "%s".', $this->code[$this->cursor]), $this->lineno, $this->source);
        }
    }

    protected function lexInterpolation()
    {
        $bracket = end($this->brackets);
        if ($this->options['interpolation'][0] === $bracket[0] && preg_match($this->regexes['interpolation_end'], $this->code, $match, 0, $this->cursor)) {
            array_pop($this->brackets);
            $this->pushToken(Token::INTERPOLATION_END_TYPE);
            $this->moveCursor($match[0]);
            $this->popState();
        } else {
            $this->lexExpression();
        }
    }

    protected function pushToken($type, $value = '')
    {
        // do not push empty text tokens
        if (Token::TEXT_TYPE === $type && '' === $value) {
            return;
        }

        $this->tokens[] = new Token($type, $value, $this->lineno);
    }

    protected function moveCursor($text)
    {
        $this->cursor += \strlen($text);
        $this->lineno += substr_count($text, "\n");
    }

    protected function getOperatorRegex()
    {
        $operators = array_merge(
            ['='],
            array_keys($this->env->getUnaryOperators()),
            array_keys($this->env->getBinaryOperators())
        );

        $operators = array_combine($operators, array_map('strlen', $operators));
        arsort($operators);

        $regex = [];
        foreach ($operators as $operator => $length) {
            // an operator that ends with a character must be followed by
            // a whitespace or a parenthesis
            if (ctype_alpha($operator[$length - 1])) {
                $r = preg_quote($operator, '/').'(?=[\s()])';
            } else {
                $r = preg_quote($operator, '/');
            }

            // an operator with a space can be any amount of whitespaces
            $r = preg_replace('/\s+/', '\s+', $r);

            $regex[] = $r;
        }

        return '/'.implode('|', $regex).'/A';
    }

    protected function pushState($state)
    {
        $this->states[] = $this->state;
        $this->state = $state;
    }

    protected function popState()
    {
        if (0 === \count($this->states)) {
            throw new \LogicException('Cannot pop state without a previous state.');
        }

        $this->state = array_pop($this->states);
    }
}

class_alias('Twig\Lexer', 'Twig_Lexer');
vendor/twig/twig/src/Cache/FilesystemCache.php000060400000005060150750356250015345 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Cache;

/**
 * Implements a cache on the filesystem.
 *
 * @author Andrew Tch <andrew@noop.lv>
 */
class FilesystemCache implements CacheInterface
{
    const FORCE_BYTECODE_INVALIDATION = 1;

    private $directory;
    private $options;

    /**
     * @param string $directory The root cache directory
     * @param int    $options   A set of options
     */
    public function __construct($directory, $options = 0)
    {
        $this->directory = rtrim($directory, '\/').'/';
        $this->options = $options;
    }

    public function generateKey($name, $className)
    {
        $hash = hash('sha256', $className);

        return $this->directory.$hash[0].$hash[1].'/'.$hash.'.php';
    }

    public function load($key)
    {
        if (file_exists($key)) {
            @include_once $key;
        }
    }

    public function write($key, $content)
    {
        $dir = \dirname($key);
        if (!is_dir($dir)) {
            if (false === @mkdir($dir, 0777, true)) {
                clearstatcache(true, $dir);
                if (!is_dir($dir)) {
                    throw new \RuntimeException(sprintf('Unable to create the cache directory (%s).', $dir));
                }
            }
        } elseif (!is_writable($dir)) {
            throw new \RuntimeException(sprintf('Unable to write in the cache directory (%s).', $dir));
        }

        $tmpFile = tempnam($dir, basename($key));
        if (false !== @file_put_contents($tmpFile, $content) && @rename($tmpFile, $key)) {
            @chmod($key, 0666 & ~umask());

            if (self::FORCE_BYTECODE_INVALIDATION == ($this->options & self::FORCE_BYTECODE_INVALIDATION)) {
                // Compile cached file into bytecode cache
                if (\function_exists('opcache_invalidate') && filter_var(ini_get('opcache.enable'), FILTER_VALIDATE_BOOLEAN)) {
                    @opcache_invalidate($key, true);
                } elseif (\function_exists('apc_compile_file')) {
                    apc_compile_file($key);
                }
            }

            return;
        }

        throw new \RuntimeException(sprintf('Failed to write cache file "%s".', $key));
    }

    public function getTimestamp($key)
    {
        if (!file_exists($key)) {
            return 0;
        }

        return (int) @filemtime($key);
    }
}

class_alias('Twig\Cache\FilesystemCache', 'Twig_Cache_Filesystem');
vendor/twig/twig/src/Cache/CacheInterface.php000060400000002676150750356250015133 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Cache;

/**
 * Interface implemented by cache classes.
 *
 * It is highly recommended to always store templates on the filesystem to
 * benefit from the PHP opcode cache. This interface is mostly useful if you
 * need to implement a custom strategy for storing templates on the filesystem.
 *
 * @author Andrew Tch <andrew@noop.lv>
 */
interface CacheInterface
{
    /**
     * Generates a cache key for the given template class name.
     *
     * @param string $name      The template name
     * @param string $className The template class name
     *
     * @return string
     */
    public function generateKey($name, $className);

    /**
     * Writes the compiled template to cache.
     *
     * @param string $key     The cache key
     * @param string $content The template representation as a PHP class
     */
    public function write($key, $content);

    /**
     * Loads a template from the cache.
     *
     * @param string $key The cache key
     */
    public function load($key);

    /**
     * Returns the modification timestamp of a key.
     *
     * @param string $key The cache key
     *
     * @return int
     */
    public function getTimestamp($key);
}

class_alias('Twig\Cache\CacheInterface', 'Twig_CacheInterface');
vendor/twig/twig/src/Cache/NullCache.php000060400000001257150750356250014137 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Cache;

/**
 * Implements a no-cache strategy.
 *
 * @final
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class NullCache implements CacheInterface
{
    public function generateKey($name, $className)
    {
        return '';
    }

    public function write($key, $content)
    {
    }

    public function load($key)
    {
    }

    public function getTimestamp($key)
    {
        return 0;
    }
}

class_alias('Twig\Cache\NullCache', 'Twig_Cache_Null');
vendor/twig/twig/src/Loader/ExistsLoaderInterface.php000060400000001423150750356250016726 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Loader;

/**
 * Adds an exists() method for loaders.
 *
 * @author Florin Patan <florinpatan@gmail.com>
 *
 * @deprecated since 1.12 (to be removed in 3.0)
 */
interface ExistsLoaderInterface
{
    /**
     * Check if we have the source code of a template, given its name.
     *
     * @param string $name The name of the template to check if we can load
     *
     * @return bool If the template source code is handled by this loader or not
     */
    public function exists($name);
}

class_alias('Twig\Loader\ExistsLoaderInterface', 'Twig_ExistsLoaderInterface');
vendor/twig/twig/src/Loader/ChainLoader.php000060400000011051150750356250014646 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Loader;

use Twig\Error\LoaderError;
use Twig\Source;

/**
 * Loads templates from other loaders.
 *
 * @final
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class ChainLoader implements LoaderInterface, ExistsLoaderInterface, SourceContextLoaderInterface
{
    private $hasSourceCache = [];
    protected $loaders = [];

    /**
     * @param LoaderInterface[] $loaders
     */
    public function __construct(array $loaders = [])
    {
        foreach ($loaders as $loader) {
            $this->addLoader($loader);
        }
    }

    public function addLoader(LoaderInterface $loader)
    {
        $this->loaders[] = $loader;
        $this->hasSourceCache = [];
    }

    /**
     * @return LoaderInterface[]
     */
    public function getLoaders()
    {
        return $this->loaders;
    }

    public function getSource($name)
    {
        @trigger_error(sprintf('Calling "getSource" on "%s" is deprecated since 1.27. Use getSourceContext() instead.', \get_class($this)), E_USER_DEPRECATED);

        $exceptions = [];
        foreach ($this->loaders as $loader) {
            if ($loader instanceof ExistsLoaderInterface && !$loader->exists($name)) {
                continue;
            }

            try {
                return $loader->getSource($name);
            } catch (LoaderError $e) {
                $exceptions[] = $e->getMessage();
            }
        }

        throw new LoaderError(sprintf('Template "%s" is not defined%s.', $name, $exceptions ? ' ('.implode(', ', $exceptions).')' : ''));
    }

    public function getSourceContext($name)
    {
        $exceptions = [];
        foreach ($this->loaders as $loader) {
            if ($loader instanceof ExistsLoaderInterface && !$loader->exists($name)) {
                continue;
            }

            try {
                if ($loader instanceof SourceContextLoaderInterface) {
                    return $loader->getSourceContext($name);
                }

                return new Source($loader->getSource($name), $name);
            } catch (LoaderError $e) {
                $exceptions[] = $e->getMessage();
            }
        }

        throw new LoaderError(sprintf('Template "%s" is not defined%s.', $name, $exceptions ? ' ('.implode(', ', $exceptions).')' : ''));
    }

    public function exists($name)
    {
        $name = (string) $name;

        if (isset($this->hasSourceCache[$name])) {
            return $this->hasSourceCache[$name];
        }

        foreach ($this->loaders as $loader) {
            if ($loader instanceof ExistsLoaderInterface) {
                if ($loader->exists($name)) {
                    return $this->hasSourceCache[$name] = true;
                }

                continue;
            }

            try {
                if ($loader instanceof SourceContextLoaderInterface) {
                    $loader->getSourceContext($name);
                } else {
                    $loader->getSource($name);
                }

                return $this->hasSourceCache[$name] = true;
            } catch (LoaderError $e) {
            }
        }

        return $this->hasSourceCache[$name] = false;
    }

    public function getCacheKey($name)
    {
        $exceptions = [];
        foreach ($this->loaders as $loader) {
            if ($loader instanceof ExistsLoaderInterface && !$loader->exists($name)) {
                continue;
            }

            try {
                return $loader->getCacheKey($name);
            } catch (LoaderError $e) {
                $exceptions[] = \get_class($loader).': '.$e->getMessage();
            }
        }

        throw new LoaderError(sprintf('Template "%s" is not defined%s.', $name, $exceptions ? ' ('.implode(', ', $exceptions).')' : ''));
    }

    public function isFresh($name, $time)
    {
        $exceptions = [];
        foreach ($this->loaders as $loader) {
            if ($loader instanceof ExistsLoaderInterface && !$loader->exists($name)) {
                continue;
            }

            try {
                return $loader->isFresh($name, $time);
            } catch (LoaderError $e) {
                $exceptions[] = \get_class($loader).': '.$e->getMessage();
            }
        }

        throw new LoaderError(sprintf('Template "%s" is not defined%s.', $name, $exceptions ? ' ('.implode(', ', $exceptions).')' : ''));
    }
}

class_alias('Twig\Loader\ChainLoader', 'Twig_Loader_Chain');
vendor/twig/twig/src/Loader/ArrayLoader.php000060400000005373150750356250014714 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Loader;

use Twig\Error\LoaderError;
use Twig\Source;

/**
 * Loads a template from an array.
 *
 * When using this loader with a cache mechanism, you should know that a new cache
 * key is generated each time a template content "changes" (the cache key being the
 * source code of the template). If you don't want to see your cache grows out of
 * control, you need to take care of clearing the old cache file by yourself.
 *
 * This loader should only be used for unit testing.
 *
 * @final
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class ArrayLoader implements LoaderInterface, ExistsLoaderInterface, SourceContextLoaderInterface
{
    protected $templates = [];

    /**
     * @param array $templates An array of templates (keys are the names, and values are the source code)
     */
    public function __construct(array $templates = [])
    {
        $this->templates = $templates;
    }

    /**
     * Adds or overrides a template.
     *
     * @param string $name     The template name
     * @param string $template The template source
     */
    public function setTemplate($name, $template)
    {
        $this->templates[(string) $name] = $template;
    }

    public function getSource($name)
    {
        @trigger_error(sprintf('Calling "getSource" on "%s" is deprecated since 1.27. Use getSourceContext() instead.', \get_class($this)), E_USER_DEPRECATED);

        $name = (string) $name;
        if (!isset($this->templates[$name])) {
            throw new LoaderError(sprintf('Template "%s" is not defined.', $name));
        }

        return $this->templates[$name];
    }

    public function getSourceContext($name)
    {
        $name = (string) $name;
        if (!isset($this->templates[$name])) {
            throw new LoaderError(sprintf('Template "%s" is not defined.', $name));
        }

        return new Source($this->templates[$name], $name);
    }

    public function exists($name)
    {
        return isset($this->templates[(string) $name]);
    }

    public function getCacheKey($name)
    {
        $name = (string) $name;
        if (!isset($this->templates[$name])) {
            throw new LoaderError(sprintf('Template "%s" is not defined.', $name));
        }

        return $name.':'.$this->templates[$name];
    }

    public function isFresh($name, $time)
    {
        $name = (string) $name;
        if (!isset($this->templates[$name])) {
            throw new LoaderError(sprintf('Template "%s" is not defined.', $name));
        }

        return true;
    }
}

class_alias('Twig\Loader\ArrayLoader', 'Twig_Loader_Array');
vendor/twig/twig/src/Loader/LoaderInterface.php000060400000003043150750356250015526 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Loader;

use Twig\Error\LoaderError;

/**
 * Interface all loaders must implement.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
interface LoaderInterface
{
    /**
     * Gets the source code of a template, given its name.
     *
     * @param string $name The name of the template to load
     *
     * @return string The template source code
     *
     * @throws LoaderError When $name is not found
     *
     * @deprecated since 1.27 (to be removed in 2.0), implement Twig\Loader\SourceContextLoaderInterface
     */
    public function getSource($name);

    /**
     * Gets the cache key to use for the cache for a given template name.
     *
     * @param string $name The name of the template to load
     *
     * @return string The cache key
     *
     * @throws LoaderError When $name is not found
     */
    public function getCacheKey($name);

    /**
     * Returns true if the template is still fresh.
     *
     * @param string $name The template name
     * @param int    $time Timestamp of the last modification time of the
     *                     cached template
     *
     * @return bool true if the template is fresh, false otherwise
     *
     * @throws LoaderError When $name is not found
     */
    public function isFresh($name, $time);
}

class_alias('Twig\Loader\LoaderInterface', 'Twig_LoaderInterface');
vendor/twig/twig/src/Loader/FilesystemLoader.php000060400000022263150750356250015757 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Loader;

use Twig\Error\LoaderError;
use Twig\Source;

/**
 * Loads template from the filesystem.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class FilesystemLoader implements LoaderInterface, ExistsLoaderInterface, SourceContextLoaderInterface
{
    /** Identifier of the main namespace. */
    const MAIN_NAMESPACE = '__main__';

    protected $paths = [];
    protected $cache = [];
    protected $errorCache = [];

    private $rootPath;

    /**
     * @param string|array $paths    A path or an array of paths where to look for templates
     * @param string|null  $rootPath The root path common to all relative paths (null for getcwd())
     */
    public function __construct($paths = [], $rootPath = null)
    {
        $this->rootPath = (null === $rootPath ? getcwd() : $rootPath).\DIRECTORY_SEPARATOR;
        if (false !== $realPath = realpath($rootPath)) {
            $this->rootPath = $realPath.\DIRECTORY_SEPARATOR;
        }

        if ($paths) {
            $this->setPaths($paths);
        }
    }

    /**
     * Returns the paths to the templates.
     *
     * @param string $namespace A path namespace
     *
     * @return array The array of paths where to look for templates
     */
    public function getPaths($namespace = self::MAIN_NAMESPACE)
    {
        return isset($this->paths[$namespace]) ? $this->paths[$namespace] : [];
    }

    /**
     * Returns the path namespaces.
     *
     * The main namespace is always defined.
     *
     * @return array The array of defined namespaces
     */
    public function getNamespaces()
    {
        return array_keys($this->paths);
    }

    /**
     * Sets the paths where templates are stored.
     *
     * @param string|array $paths     A path or an array of paths where to look for templates
     * @param string       $namespace A path namespace
     */
    public function setPaths($paths, $namespace = self::MAIN_NAMESPACE)
    {
        if (!\is_array($paths)) {
            $paths = [$paths];
        }

        $this->paths[$namespace] = [];
        foreach ($paths as $path) {
            $this->addPath($path, $namespace);
        }
    }

    /**
     * Adds a path where templates are stored.
     *
     * @param string $path      A path where to look for templates
     * @param string $namespace A path namespace
     *
     * @throws LoaderError
     */
    public function addPath($path, $namespace = self::MAIN_NAMESPACE)
    {
        // invalidate the cache
        $this->cache = $this->errorCache = [];

        $checkPath = $this->isAbsolutePath($path) ? $path : $this->rootPath.$path;
        if (!is_dir($checkPath)) {
            throw new LoaderError(sprintf('The "%s" directory does not exist ("%s").', $path, $checkPath));
        }

        $this->paths[$namespace][] = rtrim($path, '/\\');
    }

    /**
     * Prepends a path where templates are stored.
     *
     * @param string $path      A path where to look for templates
     * @param string $namespace A path namespace
     *
     * @throws LoaderError
     */
    public function prependPath($path, $namespace = self::MAIN_NAMESPACE)
    {
        // invalidate the cache
        $this->cache = $this->errorCache = [];

        $checkPath = $this->isAbsolutePath($path) ? $path : $this->rootPath.$path;
        if (!is_dir($checkPath)) {
            throw new LoaderError(sprintf('The "%s" directory does not exist ("%s").', $path, $checkPath));
        }

        $path = rtrim($path, '/\\');

        if (!isset($this->paths[$namespace])) {
            $this->paths[$namespace][] = $path;
        } else {
            array_unshift($this->paths[$namespace], $path);
        }
    }

    public function getSource($name)
    {
        @trigger_error(sprintf('Calling "getSource" on "%s" is deprecated since 1.27. Use getSourceContext() instead.', \get_class($this)), E_USER_DEPRECATED);

        if (null === ($path = $this->findTemplate($name)) || false === $path) {
            return '';
        }

        return file_get_contents($path);
    }

    public function getSourceContext($name)
    {
        if (null === ($path = $this->findTemplate($name)) || false === $path) {
            return new Source('', $name, '');
        }

        return new Source(file_get_contents($path), $name, $path);
    }

    public function getCacheKey($name)
    {
        if (null === ($path = $this->findTemplate($name)) || false === $path) {
            return '';
        }
        $len = \strlen($this->rootPath);
        if (0 === strncmp($this->rootPath, $path, $len)) {
            return substr($path, $len);
        }

        return $path;
    }

    public function exists($name)
    {
        $name = $this->normalizeName($name);

        if (isset($this->cache[$name])) {
            return true;
        }

        try {
            return null !== ($path = $this->findTemplate($name, false)) && false !== $path;
        } catch (LoaderError $e) {
            @trigger_error(sprintf('In %s::findTemplate(), you must accept a second argument that when set to "false" returns "false" instead of throwing an exception. Not supporting this argument is deprecated since version 1.27.', \get_class($this)), E_USER_DEPRECATED);

            return false;
        }
    }

    public function isFresh($name, $time)
    {
        // false support to be removed in 3.0
        if (null === ($path = $this->findTemplate($name)) || false === $path) {
            return false;
        }

        return filemtime($path) < $time;
    }

    /**
     * Checks if the template can be found.
     *
     * @param string $name The template name
     *
     * @return string|false|null The template name or false/null
     */
    protected function findTemplate($name)
    {
        $throw = \func_num_args() > 1 ? func_get_arg(1) : true;
        $name = $this->normalizeName($name);

        if (isset($this->cache[$name])) {
            return $this->cache[$name];
        }

        if (isset($this->errorCache[$name])) {
            if (!$throw) {
                return false;
            }

            throw new LoaderError($this->errorCache[$name]);
        }

        try {
            $this->validateName($name);

            list($namespace, $shortname) = $this->parseName($name);
        } catch (LoaderError $e) {
            if (!$throw) {
                return false;
            }

            throw $e;
        }

        if (!isset($this->paths[$namespace])) {
            $this->errorCache[$name] = sprintf('There are no registered paths for namespace "%s".', $namespace);

            if (!$throw) {
                return false;
            }

            throw new LoaderError($this->errorCache[$name]);
        }

        foreach ($this->paths[$namespace] as $path) {
            if (!$this->isAbsolutePath($path)) {
                $path = $this->rootPath.$path;
            }

            if (is_file($path.'/'.$shortname)) {
                if (false !== $realpath = realpath($path.'/'.$shortname)) {
                    return $this->cache[$name] = $realpath;
                }

                return $this->cache[$name] = $path.'/'.$shortname;
            }
        }

        $this->errorCache[$name] = sprintf('Unable to find template "%s" (looked into: %s).', $name, implode(', ', $this->paths[$namespace]));

        if (!$throw) {
            return false;
        }

        throw new LoaderError($this->errorCache[$name]);
    }

    protected function parseName($name, $default = self::MAIN_NAMESPACE)
    {
        if (isset($name[0]) && '@' == $name[0]) {
            if (false === $pos = strpos($name, '/')) {
                throw new LoaderError(sprintf('Malformed namespaced template name "%s" (expecting "@namespace/template_name").', $name));
            }

            $namespace = substr($name, 1, $pos - 1);
            $shortname = substr($name, $pos + 1);

            return [$namespace, $shortname];
        }

        return [$default, $name];
    }

    protected function normalizeName($name)
    {
        return preg_replace('#/{2,}#', '/', str_replace('\\', '/', (string) $name));
    }

    protected function validateName($name)
    {
        if (false !== strpos($name, "\0")) {
            throw new LoaderError('A template name cannot contain NUL bytes.');
        }

        $name = ltrim($name, '/');
        $parts = explode('/', $name);
        $level = 0;
        foreach ($parts as $part) {
            if ('..' === $part) {
                --$level;
            } elseif ('.' !== $part) {
                ++$level;
            }

            if ($level < 0) {
                throw new LoaderError(sprintf('Looks like you try to load a template outside configured directories (%s).', $name));
            }
        }
    }

    private function isAbsolutePath($file)
    {
        return strspn($file, '/\\', 0, 1)
            || (\strlen($file) > 3 && ctype_alpha($file[0])
                && ':' === substr($file, 1, 1)
                && strspn($file, '/\\', 2, 1)
            )
            || null !== parse_url($file, PHP_URL_SCHEME)
        ;
    }
}

class_alias('Twig\Loader\FilesystemLoader', 'Twig_Loader_Filesystem');
vendor/twig/twig/src/Loader/SourceContextLoaderInterface.php000060400000001520150750356250020252 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Loader;

use Twig\Error\LoaderError;
use Twig\Source;

/**
 * Adds a getSourceContext() method for loaders.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @deprecated since 1.27 (to be removed in 3.0)
 */
interface SourceContextLoaderInterface
{
    /**
     * Returns the source context for a given template logical name.
     *
     * @param string $name The template logical name
     *
     * @return Source
     *
     * @throws LoaderError When $name is not found
     */
    public function getSourceContext($name);
}

class_alias('Twig\Loader\SourceContextLoaderInterface', 'Twig_SourceContextLoaderInterface');
vendor/twig/twig/src/RuntimeLoader/FactoryRuntimeLoader.php000060400000001603150750356250020145 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\RuntimeLoader;

/**
 * Lazy loads the runtime implementations for a Twig element.
 *
 * @author Robin Chalas <robin.chalas@gmail.com>
 */
class FactoryRuntimeLoader implements RuntimeLoaderInterface
{
    private $map;

    /**
     * @param array $map An array where keys are class names and values factory callables
     */
    public function __construct($map = [])
    {
        $this->map = $map;
    }

    public function load($class)
    {
        if (isset($this->map[$class])) {
            $runtimeFactory = $this->map[$class];

            return $runtimeFactory();
        }
    }
}

class_alias('Twig\RuntimeLoader\FactoryRuntimeLoader', 'Twig_FactoryRuntimeLoader');
vendor/twig/twig/src/RuntimeLoader/RuntimeLoaderInterface.php000060400000001461150750356250020440 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\RuntimeLoader;

/**
 * Creates runtime implementations for Twig elements (filters/functions/tests).
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
interface RuntimeLoaderInterface
{
    /**
     * Creates the runtime implementation of a Twig element (filter/function/test).
     *
     * @param string $class A runtime class
     *
     * @return object|null The runtime instance or null if the loader does not know how to create the runtime for this class
     */
    public function load($class);
}

class_alias('Twig\RuntimeLoader\RuntimeLoaderInterface', 'Twig_RuntimeLoaderInterface');
vendor/twig/twig/src/RuntimeLoader/ContainerRuntimeLoader.php000060400000001722150750356250020462 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\RuntimeLoader;

use Psr\Container\ContainerInterface;

/**
 * Lazily loads Twig runtime implementations from a PSR-11 container.
 *
 * Note that the runtime services MUST use their class names as identifiers.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 * @author Robin Chalas <robin.chalas@gmail.com>
 */
class ContainerRuntimeLoader implements RuntimeLoaderInterface
{
    private $container;

    public function __construct(ContainerInterface $container)
    {
        $this->container = $container;
    }

    public function load($class)
    {
        if ($this->container->has($class)) {
            return $this->container->get($class);
        }
    }
}

class_alias('Twig\RuntimeLoader\ContainerRuntimeLoader', 'Twig_ContainerRuntimeLoader');
vendor/twig/twig/src/FileExtensionEscapingStrategy.php000060400000002761150750356250017250 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig;

/**
 * Default autoescaping strategy based on file names.
 *
 * This strategy sets the HTML as the default autoescaping strategy,
 * but changes it based on the template name.
 *
 * Note that there is no runtime performance impact as the
 * default autoescaping strategy is set at compilation time.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class FileExtensionEscapingStrategy
{
    /**
     * Guesses the best autoescaping strategy based on the file name.
     *
     * @param string $name The template name
     *
     * @return string|false The escaping strategy name to use or false to disable
     */
    public static function guess($name)
    {
        if (\in_array(substr($name, -1), ['/', '\\'])) {
            return 'html'; // return html for directories
        }

        if ('.twig' === substr($name, -5)) {
            $name = substr($name, 0, -5);
        }

        $extension = pathinfo($name, PATHINFO_EXTENSION);

        switch ($extension) {
            case 'js':
                return 'js';

            case 'css':
                return 'css';

            case 'txt':
                return false;

            default:
                return 'html';
        }
    }
}

class_alias('Twig\FileExtensionEscapingStrategy', 'Twig_FileExtensionEscapingStrategy');
vendor/twig/twig/src/TwigFunction.php000060400000005017150750356250013714 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig;

use Twig\Node\Node;

/**
 * Represents a template function.
 *
 * @final
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class TwigFunction
{
    protected $name;
    protected $callable;
    protected $options;
    protected $arguments = [];

    public function __construct($name, $callable, array $options = [])
    {
        $this->name = $name;
        $this->callable = $callable;
        $this->options = array_merge([
            'needs_environment' => false,
            'needs_context' => false,
            'is_variadic' => false,
            'is_safe' => null,
            'is_safe_callback' => null,
            'node_class' => '\Twig\Node\Expression\FunctionExpression',
            'deprecated' => false,
            'alternative' => null,
        ], $options);
    }

    public function getName()
    {
        return $this->name;
    }

    public function getCallable()
    {
        return $this->callable;
    }

    public function getNodeClass()
    {
        return $this->options['node_class'];
    }

    public function setArguments($arguments)
    {
        $this->arguments = $arguments;
    }

    public function getArguments()
    {
        return $this->arguments;
    }

    public function needsEnvironment()
    {
        return $this->options['needs_environment'];
    }

    public function needsContext()
    {
        return $this->options['needs_context'];
    }

    public function getSafe(Node $functionArgs)
    {
        if (null !== $this->options['is_safe']) {
            return $this->options['is_safe'];
        }

        if (null !== $this->options['is_safe_callback']) {
            return \call_user_func($this->options['is_safe_callback'], $functionArgs);
        }

        return [];
    }

    public function isVariadic()
    {
        return $this->options['is_variadic'];
    }

    public function isDeprecated()
    {
        return (bool) $this->options['deprecated'];
    }

    public function getDeprecatedVersion()
    {
        return $this->options['deprecated'];
    }

    public function getAlternative()
    {
        return $this->options['alternative'];
    }
}

class_alias('Twig\TwigFunction', 'Twig_SimpleFunction');

// Ensure that the aliased name is loaded to keep BC for classes implementing the typehint with the old aliased name.
class_exists('Twig\Node\Node');
vendor/twig/twig/src/Compiler.php000060400000016172150750356250013052 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig;

use Twig\Node\ModuleNode;

/**
 * Compiles a node to PHP code.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class Compiler implements \Twig_CompilerInterface
{
    protected $lastLine;
    protected $source;
    protected $indentation;
    protected $env;
    protected $debugInfo = [];
    protected $sourceOffset;
    protected $sourceLine;
    protected $filename;
    private $varNameSalt = 0;

    public function __construct(Environment $env)
    {
        $this->env = $env;
    }

    /**
     * @deprecated since 1.25 (to be removed in 2.0)
     */
    public function getFilename()
    {
        @trigger_error(sprintf('The %s() method is deprecated since version 1.25 and will be removed in 2.0.', __FUNCTION__), E_USER_DEPRECATED);

        return $this->filename;
    }

    /**
     * Returns the environment instance related to this compiler.
     *
     * @return Environment
     */
    public function getEnvironment()
    {
        return $this->env;
    }

    /**
     * Gets the current PHP code after compilation.
     *
     * @return string The PHP code
     */
    public function getSource()
    {
        return $this->source;
    }

    /**
     * Compiles a node.
     *
     * @param int $indentation The current indentation
     *
     * @return $this
     */
    public function compile(\Twig_NodeInterface $node, $indentation = 0)
    {
        $this->lastLine = null;
        $this->source = '';
        $this->debugInfo = [];
        $this->sourceOffset = 0;
        // source code starts at 1 (as we then increment it when we encounter new lines)
        $this->sourceLine = 1;
        $this->indentation = $indentation;
        $this->varNameSalt = 0;

        if ($node instanceof ModuleNode) {
            // to be removed in 2.0
            $this->filename = $node->getTemplateName();
        }

        $node->compile($this);

        return $this;
    }

    public function subcompile(\Twig_NodeInterface $node, $raw = true)
    {
        if (false === $raw) {
            $this->source .= str_repeat(' ', $this->indentation * 4);
        }

        $node->compile($this);

        return $this;
    }

    /**
     * Adds a raw string to the compiled code.
     *
     * @param string $string The string
     *
     * @return $this
     */
    public function raw($string)
    {
        $this->source .= $string;

        return $this;
    }

    /**
     * Writes a string to the compiled code by adding indentation.
     *
     * @return $this
     */
    public function write()
    {
        $strings = \func_get_args();
        foreach ($strings as $string) {
            $this->source .= str_repeat(' ', $this->indentation * 4).$string;
        }

        return $this;
    }

    /**
     * Appends an indentation to the current PHP code after compilation.
     *
     * @return $this
     *
     * @deprecated since 1.27 (to be removed in 2.0).
     */
    public function addIndentation()
    {
        @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use write(\'\') instead.', E_USER_DEPRECATED);

        $this->source .= str_repeat(' ', $this->indentation * 4);

        return $this;
    }

    /**
     * Adds a quoted string to the compiled code.
     *
     * @param string $value The string
     *
     * @return $this
     */
    public function string($value)
    {
        $this->source .= sprintf('"%s"', addcslashes($value, "\0\t\"\$\\"));

        return $this;
    }

    /**
     * Returns a PHP representation of a given value.
     *
     * @param mixed $value The value to convert
     *
     * @return $this
     */
    public function repr($value)
    {
        if (\is_int($value) || \is_float($value)) {
            if (false !== $locale = setlocale(LC_NUMERIC, '0')) {
                setlocale(LC_NUMERIC, 'C');
            }

            $this->raw(var_export($value, true));

            if (false !== $locale) {
                setlocale(LC_NUMERIC, $locale);
            }
        } elseif (null === $value) {
            $this->raw('null');
        } elseif (\is_bool($value)) {
            $this->raw($value ? 'true' : 'false');
        } elseif (\is_array($value)) {
            $this->raw('[');
            $first = true;
            foreach ($value as $key => $v) {
                if (!$first) {
                    $this->raw(', ');
                }
                $first = false;
                $this->repr($key);
                $this->raw(' => ');
                $this->repr($v);
            }
            $this->raw(']');
        } else {
            $this->string($value);
        }

        return $this;
    }

    /**
     * Adds debugging information.
     *
     * @return $this
     */
    public function addDebugInfo(\Twig_NodeInterface $node)
    {
        if ($node->getTemplateLine() != $this->lastLine) {
            $this->write(sprintf("// line %d\n", $node->getTemplateLine()));

            // when mbstring.func_overload is set to 2
            // mb_substr_count() replaces substr_count()
            // but they have different signatures!
            if (((int) ini_get('mbstring.func_overload')) & 2) {
                @trigger_error('Support for having "mbstring.func_overload" different from 0 is deprecated version 1.29 and will be removed in 2.0.', E_USER_DEPRECATED);

                // this is much slower than the "right" version
                $this->sourceLine += mb_substr_count(mb_substr($this->source, $this->sourceOffset), "\n");
            } else {
                $this->sourceLine += substr_count($this->source, "\n", $this->sourceOffset);
            }
            $this->sourceOffset = \strlen($this->source);
            $this->debugInfo[$this->sourceLine] = $node->getTemplateLine();

            $this->lastLine = $node->getTemplateLine();
        }

        return $this;
    }

    public function getDebugInfo()
    {
        ksort($this->debugInfo);

        return $this->debugInfo;
    }

    /**
     * Indents the generated code.
     *
     * @param int $step The number of indentation to add
     *
     * @return $this
     */
    public function indent($step = 1)
    {
        $this->indentation += $step;

        return $this;
    }

    /**
     * Outdents the generated code.
     *
     * @param int $step The number of indentation to remove
     *
     * @return $this
     *
     * @throws \LogicException When trying to outdent too much so the indentation would become negative
     */
    public function outdent($step = 1)
    {
        // can't outdent by more steps than the current indentation level
        if ($this->indentation < $step) {
            throw new \LogicException('Unable to call outdent() as the indentation would become negative.');
        }

        $this->indentation -= $step;

        return $this;
    }

    public function getVarName()
    {
        return sprintf('__internal_%s', hash('sha256', __METHOD__.$this->varNameSalt++));
    }
}

class_alias('Twig\Compiler', 'Twig_Compiler');
vendor/twig/twig/src/Sandbox/SecurityPolicyInterface.php000060400000001224150750356250017476 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Sandbox;

/**
 * Interface that all security policy classes must implements.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
interface SecurityPolicyInterface
{
    public function checkSecurity($tags, $filters, $functions);

    public function checkMethodAllowed($obj, $method);

    public function checkPropertyAllowed($obj, $method);
}

class_alias('Twig\Sandbox\SecurityPolicyInterface', 'Twig_Sandbox_SecurityPolicyInterface');
vendor/twig/twig/src/Sandbox/SecurityError.php000060400000000743150750356250015514 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Sandbox;

use Twig\Error\Error;

/**
 * Exception thrown when a security error occurs at runtime.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class SecurityError extends Error
{
}

class_alias('Twig\Sandbox\SecurityError', 'Twig_Sandbox_SecurityError');
vendor/twig/twig/src/Sandbox/SecurityNotAllowedFunctionError.php000060400000001575150750356250021217 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Sandbox;

/**
 * Exception thrown when a not allowed function is used in a template.
 *
 * @author Martin Hasoň <martin.hason@gmail.com>
 */
class SecurityNotAllowedFunctionError extends SecurityError
{
    private $functionName;

    public function __construct($message, $functionName, $lineno = -1, $filename = null, \Exception $previous = null)
    {
        parent::__construct($message, $lineno, $filename, $previous);
        $this->functionName = $functionName;
    }

    public function getFunctionName()
    {
        return $this->functionName;
    }
}

class_alias('Twig\Sandbox\SecurityNotAllowedFunctionError', 'Twig_Sandbox_SecurityNotAllowedFunctionError');
vendor/twig/twig/src/Sandbox/SecurityNotAllowedTagError.php000060400000001513150750356250020135 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Sandbox;

/**
 * Exception thrown when a not allowed tag is used in a template.
 *
 * @author Martin Hasoň <martin.hason@gmail.com>
 */
class SecurityNotAllowedTagError extends SecurityError
{
    private $tagName;

    public function __construct($message, $tagName, $lineno = -1, $filename = null, \Exception $previous = null)
    {
        parent::__construct($message, $lineno, $filename, $previous);
        $this->tagName = $tagName;
    }

    public function getTagName()
    {
        return $this->tagName;
    }
}

class_alias('Twig\Sandbox\SecurityNotAllowedTagError', 'Twig_Sandbox_SecurityNotAllowedTagError');
vendor/twig/twig/src/Sandbox/SecurityNotAllowedFilterError.php000060400000001555150750356250020655 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Sandbox;

/**
 * Exception thrown when a not allowed filter is used in a template.
 *
 * @author Martin Hasoň <martin.hason@gmail.com>
 */
class SecurityNotAllowedFilterError extends SecurityError
{
    private $filterName;

    public function __construct($message, $functionName, $lineno = -1, $filename = null, \Exception $previous = null)
    {
        parent::__construct($message, $lineno, $filename, $previous);
        $this->filterName = $functionName;
    }

    public function getFilterName()
    {
        return $this->filterName;
    }
}

class_alias('Twig\Sandbox\SecurityNotAllowedFilterError', 'Twig_Sandbox_SecurityNotAllowedFilterError');
vendor/twig/twig/src/Sandbox/SecurityNotAllowedMethodError.php000060400000002007150750356250020641 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Sandbox;

/**
 * Exception thrown when a not allowed class method is used in a template.
 *
 * @author Kit Burton-Senior <mail@kitbs.com>
 */
class SecurityNotAllowedMethodError extends SecurityError
{
    private $className;
    private $methodName;

    public function __construct($message, $className, $methodName, $lineno = -1, $filename = null, \Exception $previous = null)
    {
        parent::__construct($message, $lineno, $filename, $previous);
        $this->className = $className;
        $this->methodName = $methodName;
    }

    public function getClassName()
    {
        return $this->className;
    }

    public function getMethodName()
    {
        return $this->methodName;
    }
}

class_alias('Twig\Sandbox\SecurityNotAllowedMethodError', 'Twig_Sandbox_SecurityNotAllowedMethodError');
vendor/twig/twig/src/Sandbox/SecurityNotAllowedPropertyError.php000060400000002033150750356250021244 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Sandbox;

/**
 * Exception thrown when a not allowed class property is used in a template.
 *
 * @author Kit Burton-Senior <mail@kitbs.com>
 */
class SecurityNotAllowedPropertyError extends SecurityError
{
    private $className;
    private $propertyName;

    public function __construct($message, $className, $propertyName, $lineno = -1, $filename = null, \Exception $previous = null)
    {
        parent::__construct($message, $lineno, $filename, $previous);
        $this->className = $className;
        $this->propertyName = $propertyName;
    }

    public function getClassName()
    {
        return $this->className;
    }

    public function getPropertyName()
    {
        return $this->propertyName;
    }
}

class_alias('Twig\Sandbox\SecurityNotAllowedPropertyError', 'Twig_Sandbox_SecurityNotAllowedPropertyError');
vendor/twig/twig/src/Sandbox/SecurityPolicy.php000060400000007723150750356250015667 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Sandbox;

use Twig\Markup;

/**
 * Represents a security policy which need to be enforced when sandbox mode is enabled.
 *
 * @final
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class SecurityPolicy implements SecurityPolicyInterface
{
    protected $allowedTags;
    protected $allowedFilters;
    protected $allowedMethods;
    protected $allowedProperties;
    protected $allowedFunctions;

    public function __construct(array $allowedTags = [], array $allowedFilters = [], array $allowedMethods = [], array $allowedProperties = [], array $allowedFunctions = [])
    {
        $this->allowedTags = $allowedTags;
        $this->allowedFilters = $allowedFilters;
        $this->setAllowedMethods($allowedMethods);
        $this->allowedProperties = $allowedProperties;
        $this->allowedFunctions = $allowedFunctions;
    }

    public function setAllowedTags(array $tags)
    {
        $this->allowedTags = $tags;
    }

    public function setAllowedFilters(array $filters)
    {
        $this->allowedFilters = $filters;
    }

    public function setAllowedMethods(array $methods)
    {
        $this->allowedMethods = [];
        foreach ($methods as $class => $m) {
            $this->allowedMethods[$class] = array_map(function ($value) { return strtr($value, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'); }, \is_array($m) ? $m : [$m]);
        }
    }

    public function setAllowedProperties(array $properties)
    {
        $this->allowedProperties = $properties;
    }

    public function setAllowedFunctions(array $functions)
    {
        $this->allowedFunctions = $functions;
    }

    public function checkSecurity($tags, $filters, $functions)
    {
        foreach ($tags as $tag) {
            if (!\in_array($tag, $this->allowedTags)) {
                throw new SecurityNotAllowedTagError(sprintf('Tag "%s" is not allowed.', $tag), $tag);
            }
        }

        foreach ($filters as $filter) {
            if (!\in_array($filter, $this->allowedFilters)) {
                throw new SecurityNotAllowedFilterError(sprintf('Filter "%s" is not allowed.', $filter), $filter);
            }
        }

        foreach ($functions as $function) {
            if (!\in_array($function, $this->allowedFunctions)) {
                throw new SecurityNotAllowedFunctionError(sprintf('Function "%s" is not allowed.', $function), $function);
            }
        }
    }

    public function checkMethodAllowed($obj, $method)
    {
        if ($obj instanceof \Twig_TemplateInterface || $obj instanceof Markup) {
            return;
        }

        $allowed = false;
        $method = strtr($method, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz');
        foreach ($this->allowedMethods as $class => $methods) {
            if ($obj instanceof $class) {
                $allowed = \in_array($method, $methods);

                break;
            }
        }

        if (!$allowed) {
            $class = \get_class($obj);
            throw new SecurityNotAllowedMethodError(sprintf('Calling "%s" method on a "%s" object is not allowed.', $method, $class), $class, $method);
        }
    }

    public function checkPropertyAllowed($obj, $property)
    {
        $allowed = false;
        foreach ($this->allowedProperties as $class => $properties) {
            if ($obj instanceof $class) {
                $allowed = \in_array($property, \is_array($properties) ? $properties : [$properties]);

                break;
            }
        }

        if (!$allowed) {
            $class = \get_class($obj);
            throw new SecurityNotAllowedPropertyError(sprintf('Calling "%s" property on a "%s" object is not allowed.', $property, $class), $class, $property);
        }
    }
}

class_alias('Twig\Sandbox\SecurityPolicy', 'Twig_Sandbox_SecurityPolicy');
vendor/twig/twig/src/Node/SandboxNode.php000060400000002215150750356250014362 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;

/**
 * Represents a sandbox node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class SandboxNode extends Node
{
    public function __construct(\Twig_NodeInterface $body, $lineno, $tag = null)
    {
        parent::__construct(['body' => $body], [], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        $compiler
            ->addDebugInfo($this)
            ->write("if (!\$alreadySandboxed = \$this->sandbox->isSandboxed()) {\n")
            ->indent()
            ->write("\$this->sandbox->enableSandbox();\n")
            ->outdent()
            ->write("}\n")
            ->subcompile($this->getNode('body'))
            ->write("if (!\$alreadySandboxed) {\n")
            ->indent()
            ->write("\$this->sandbox->disableSandbox();\n")
            ->outdent()
            ->write("}\n")
        ;
    }
}

class_alias('Twig\Node\SandboxNode', 'Twig_Node_Sandbox');
vendor/twig/twig/src/Node/ModuleNode.php000060400000037414150750356250014222 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;
use Twig\Node\Expression\AbstractExpression;
use Twig\Node\Expression\ConstantExpression;
use Twig\Source;

/**
 * Represents a module node.
 *
 * Consider this class as being final. If you need to customize the behavior of
 * the generated class, consider adding nodes to the following nodes: display_start,
 * display_end, constructor_start, constructor_end, and class_end.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class ModuleNode extends Node
{
    public function __construct(\Twig_NodeInterface $body, AbstractExpression $parent = null, \Twig_NodeInterface $blocks, \Twig_NodeInterface $macros, \Twig_NodeInterface $traits, $embeddedTemplates, $name, $source = '')
    {
        if (!$name instanceof Source) {
            @trigger_error(sprintf('Passing a string as the $name argument of %s() is deprecated since version 1.27. Pass a \Twig\Source instance instead.', __METHOD__), E_USER_DEPRECATED);
            $source = new Source($source, $name);
        } else {
            $source = $name;
        }

        $nodes = [
            'body' => $body,
            'blocks' => $blocks,
            'macros' => $macros,
            'traits' => $traits,
            'display_start' => new Node(),
            'display_end' => new Node(),
            'constructor_start' => new Node(),
            'constructor_end' => new Node(),
            'class_end' => new Node(),
        ];
        if (null !== $parent) {
            $nodes['parent'] = $parent;
        }

        // embedded templates are set as attributes so that they are only visited once by the visitors
        parent::__construct($nodes, [
            // source to be remove in 2.0
            'source' => $source->getCode(),
            // filename to be remove in 2.0 (use getTemplateName() instead)
            'filename' => $source->getName(),
            'index' => null,
            'embedded_templates' => $embeddedTemplates,
        ], 1);

        // populate the template name of all node children
        $this->setTemplateName($source->getName());
        $this->setSourceContext($source);
    }

    public function setIndex($index)
    {
        $this->setAttribute('index', $index);
    }

    public function compile(Compiler $compiler)
    {
        $this->compileTemplate($compiler);

        foreach ($this->getAttribute('embedded_templates') as $template) {
            $compiler->subcompile($template);
        }
    }

    protected function compileTemplate(Compiler $compiler)
    {
        if (!$this->getAttribute('index')) {
            $compiler->write('<?php');
        }

        $this->compileClassHeader($compiler);

        if (
            \count($this->getNode('blocks'))
            || \count($this->getNode('traits'))
            || !$this->hasNode('parent')
            || $this->getNode('parent') instanceof ConstantExpression
            || \count($this->getNode('constructor_start'))
            || \count($this->getNode('constructor_end'))
        ) {
            $this->compileConstructor($compiler);
        }

        $this->compileGetParent($compiler);

        $this->compileDisplay($compiler);

        $compiler->subcompile($this->getNode('blocks'));

        $this->compileMacros($compiler);

        $this->compileGetTemplateName($compiler);

        $this->compileIsTraitable($compiler);

        $this->compileDebugInfo($compiler);

        $this->compileGetSource($compiler);

        $this->compileGetSourceContext($compiler);

        $this->compileClassFooter($compiler);
    }

    protected function compileGetParent(Compiler $compiler)
    {
        if (!$this->hasNode('parent')) {
            return;
        }
        $parent = $this->getNode('parent');

        $compiler
            ->write("protected function doGetParent(array \$context)\n", "{\n")
            ->indent()
            ->addDebugInfo($parent)
            ->write('return ')
        ;

        if ($parent instanceof ConstantExpression) {
            $compiler->subcompile($parent);
        } else {
            $compiler
                ->raw('$this->loadTemplate(')
                ->subcompile($parent)
                ->raw(', ')
                ->repr($this->getSourceContext()->getName())
                ->raw(', ')
                ->repr($parent->getTemplateLine())
                ->raw(')')
            ;
        }

        $compiler
            ->raw(";\n")
            ->outdent()
            ->write("}\n\n")
        ;
    }

    protected function compileClassHeader(Compiler $compiler)
    {
        $compiler
            ->write("\n\n")
        ;
        if (!$this->getAttribute('index')) {
            $compiler
                ->write("use Twig\Environment;\n")
                ->write("use Twig\Error\LoaderError;\n")
                ->write("use Twig\Error\RuntimeError;\n")
                ->write("use Twig\Markup;\n")
                ->write("use Twig\Sandbox\SecurityError;\n")
                ->write("use Twig\Sandbox\SecurityNotAllowedTagError;\n")
                ->write("use Twig\Sandbox\SecurityNotAllowedFilterError;\n")
                ->write("use Twig\Sandbox\SecurityNotAllowedFunctionError;\n")
                ->write("use Twig\Source;\n")
                ->write("use Twig\Template;\n\n")
            ;
        }
        $compiler
            // if the template name contains */, add a blank to avoid a PHP parse error
            ->write('/* '.str_replace('*/', '* /', $this->getSourceContext()->getName())." */\n")
            ->write('class '.$compiler->getEnvironment()->getTemplateClass($this->getSourceContext()->getName(), $this->getAttribute('index')))
            ->raw(sprintf(" extends %s\n", $compiler->getEnvironment()->getBaseTemplateClass()))
            ->write("{\n")
            ->indent()
        ;
    }

    protected function compileConstructor(Compiler $compiler)
    {
        $compiler
            ->write("public function __construct(Environment \$env)\n", "{\n")
            ->indent()
            ->subcompile($this->getNode('constructor_start'))
            ->write("parent::__construct(\$env);\n\n")
        ;

        // parent
        if (!$this->hasNode('parent')) {
            $compiler->write("\$this->parent = false;\n\n");
        }

        $countTraits = \count($this->getNode('traits'));
        if ($countTraits) {
            // traits
            foreach ($this->getNode('traits') as $i => $trait) {
                $this->compileLoadTemplate($compiler, $trait->getNode('template'), sprintf('$_trait_%s', $i));

                $node = $trait->getNode('template');
                $compiler
                    ->addDebugInfo($node)
                    ->write(sprintf("if (!\$_trait_%s->isTraitable()) {\n", $i))
                    ->indent()
                    ->write("throw new RuntimeError('Template \"'.")
                    ->subcompile($trait->getNode('template'))
                    ->raw(".'\" cannot be used as a trait.', ")
                    ->repr($node->getTemplateLine())
                    ->raw(", \$this->getSourceContext());\n")
                    ->outdent()
                    ->write("}\n")
                    ->write(sprintf("\$_trait_%s_blocks = \$_trait_%s->getBlocks();\n\n", $i, $i))
                ;

                foreach ($trait->getNode('targets') as $key => $value) {
                    $compiler
                        ->write(sprintf('if (!isset($_trait_%s_blocks[', $i))
                        ->string($key)
                        ->raw("])) {\n")
                        ->indent()
                        ->write("throw new RuntimeError(sprintf('Block ")
                        ->string($key)
                        ->raw(' is not defined in trait ')
                        ->subcompile($trait->getNode('template'))
                        ->raw(".'), ")
                        ->repr($node->getTemplateLine())
                        ->raw(", \$this->getSourceContext());\n")
                        ->outdent()
                        ->write("}\n\n")

                        ->write(sprintf('$_trait_%s_blocks[', $i))
                        ->subcompile($value)
                        ->raw(sprintf('] = $_trait_%s_blocks[', $i))
                        ->string($key)
                        ->raw(sprintf(']; unset($_trait_%s_blocks[', $i))
                        ->string($key)
                        ->raw("]);\n\n")
                    ;
                }
            }

            if ($countTraits > 1) {
                $compiler
                    ->write("\$this->traits = array_merge(\n")
                    ->indent()
                ;

                for ($i = 0; $i < $countTraits; ++$i) {
                    $compiler
                        ->write(sprintf('$_trait_%s_blocks'.($i == $countTraits - 1 ? '' : ',')."\n", $i))
                    ;
                }

                $compiler
                    ->outdent()
                    ->write(");\n\n")
                ;
            } else {
                $compiler
                    ->write("\$this->traits = \$_trait_0_blocks;\n\n")
                ;
            }

            $compiler
                ->write("\$this->blocks = array_merge(\n")
                ->indent()
                ->write("\$this->traits,\n")
                ->write("[\n")
            ;
        } else {
            $compiler
                ->write("\$this->blocks = [\n")
            ;
        }

        // blocks
        $compiler
            ->indent()
        ;

        foreach ($this->getNode('blocks') as $name => $node) {
            $compiler
                ->write(sprintf("'%s' => [\$this, 'block_%s'],\n", $name, $name))
            ;
        }

        if ($countTraits) {
            $compiler
                ->outdent()
                ->write("]\n")
                ->outdent()
                ->write(");\n")
            ;
        } else {
            $compiler
                ->outdent()
                ->write("];\n")
            ;
        }

        $compiler
            ->subcompile($this->getNode('constructor_end'))
            ->outdent()
            ->write("}\n\n")
        ;
    }

    protected function compileDisplay(Compiler $compiler)
    {
        $compiler
            ->write("protected function doDisplay(array \$context, array \$blocks = [])\n", "{\n")
            ->indent()
            ->subcompile($this->getNode('display_start'))
            ->subcompile($this->getNode('body'))
        ;

        if ($this->hasNode('parent')) {
            $parent = $this->getNode('parent');

            $compiler->addDebugInfo($parent);
            if ($parent instanceof ConstantExpression) {
                $compiler
                    ->write('$this->parent = $this->loadTemplate(')
                    ->subcompile($parent)
                    ->raw(', ')
                    ->repr($this->getSourceContext()->getName())
                    ->raw(', ')
                    ->repr($parent->getTemplateLine())
                    ->raw(");\n")
                ;
                $compiler->write('$this->parent');
            } else {
                $compiler->write('$this->getParent($context)');
            }
            $compiler->raw("->display(\$context, array_merge(\$this->blocks, \$blocks));\n");
        }

        $compiler
            ->subcompile($this->getNode('display_end'))
            ->outdent()
            ->write("}\n\n")
        ;
    }

    protected function compileClassFooter(Compiler $compiler)
    {
        $compiler
            ->subcompile($this->getNode('class_end'))
            ->outdent()
            ->write("}\n")
        ;
    }

    protected function compileMacros(Compiler $compiler)
    {
        $compiler->subcompile($this->getNode('macros'));
    }

    protected function compileGetTemplateName(Compiler $compiler)
    {
        $compiler
            ->write("public function getTemplateName()\n", "{\n")
            ->indent()
            ->write('return ')
            ->repr($this->getSourceContext()->getName())
            ->raw(";\n")
            ->outdent()
            ->write("}\n\n")
        ;
    }

    protected function compileIsTraitable(Compiler $compiler)
    {
        // A template can be used as a trait if:
        //   * it has no parent
        //   * it has no macros
        //   * it has no body
        //
        // Put another way, a template can be used as a trait if it
        // only contains blocks and use statements.
        $traitable = !$this->hasNode('parent') && 0 === \count($this->getNode('macros'));
        if ($traitable) {
            if ($this->getNode('body') instanceof BodyNode) {
                $nodes = $this->getNode('body')->getNode(0);
            } else {
                $nodes = $this->getNode('body');
            }

            if (!\count($nodes)) {
                $nodes = new Node([$nodes]);
            }

            foreach ($nodes as $node) {
                if (!\count($node)) {
                    continue;
                }

                if ($node instanceof TextNode && ctype_space($node->getAttribute('data'))) {
                    continue;
                }

                if ($node instanceof BlockReferenceNode) {
                    continue;
                }

                $traitable = false;
                break;
            }
        }

        if ($traitable) {
            return;
        }

        $compiler
            ->write("public function isTraitable()\n", "{\n")
            ->indent()
            ->write(sprintf("return %s;\n", $traitable ? 'true' : 'false'))
            ->outdent()
            ->write("}\n\n")
        ;
    }

    protected function compileDebugInfo(Compiler $compiler)
    {
        $compiler
            ->write("public function getDebugInfo()\n", "{\n")
            ->indent()
            ->write(sprintf("return %s;\n", str_replace("\n", '', var_export(array_reverse($compiler->getDebugInfo(), true), true))))
            ->outdent()
            ->write("}\n\n")
        ;
    }

    protected function compileGetSource(Compiler $compiler)
    {
        $compiler
            ->write("/** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */\n")
            ->write("public function getSource()\n", "{\n")
            ->indent()
            ->write("@trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED);\n\n")
            ->write('return $this->getSourceContext()->getCode();')
            ->raw("\n")
            ->outdent()
            ->write("}\n\n")
        ;
    }

    protected function compileGetSourceContext(Compiler $compiler)
    {
        $compiler
            ->write("public function getSourceContext()\n", "{\n")
            ->indent()
            ->write('return new Source(')
            ->string($compiler->getEnvironment()->isDebug() ? $this->getSourceContext()->getCode() : '')
            ->raw(', ')
            ->string($this->getSourceContext()->getName())
            ->raw(', ')
            ->string($this->getSourceContext()->getPath())
            ->raw(");\n")
            ->outdent()
            ->write("}\n")
        ;
    }

    protected function compileLoadTemplate(Compiler $compiler, $node, $var)
    {
        if ($node instanceof ConstantExpression) {
            $compiler
                ->write(sprintf('%s = $this->loadTemplate(', $var))
                ->subcompile($node)
                ->raw(', ')
                ->repr($node->getTemplateName())
                ->raw(', ')
                ->repr($node->getTemplateLine())
                ->raw(");\n")
            ;
        } else {
            throw new \LogicException('Trait templates can only be constant nodes.');
        }
    }
}

class_alias('Twig\Node\ModuleNode', 'Twig_Node_Module');
vendor/twig/twig/src/Node/BlockNode.php000060400000002005150750356250014013 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;

/**
 * Represents a block node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class BlockNode extends Node
{
    public function __construct($name, \Twig_NodeInterface $body, $lineno, $tag = null)
    {
        parent::__construct(['body' => $body], ['name' => $name], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        $compiler
            ->addDebugInfo($this)
            ->write(sprintf("public function block_%s(\$context, array \$blocks = [])\n", $this->getAttribute('name')), "{\n")
            ->indent()
        ;

        $compiler
            ->subcompile($this->getNode('body'))
            ->outdent()
            ->write("}\n\n")
        ;
    }
}

class_alias('Twig\Node\BlockNode', 'Twig_Node_Block');
vendor/twig/twig/src/Node/NodeOutputInterface.php000060400000000666150750356250016115 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

/**
 * Represents a displayable node in the AST.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
interface NodeOutputInterface
{
}

class_alias('Twig\Node\NodeOutputInterface', 'Twig_NodeOutputInterface');
vendor/twig/twig/src/Node/SpacelessNode.php000060400000002153150750356250014707 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;

/**
 * Represents a spaceless node.
 *
 * It removes spaces between HTML tags.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class SpacelessNode extends Node
{
    public function __construct(\Twig_NodeInterface $body, $lineno, $tag = 'spaceless')
    {
        parent::__construct(['body' => $body], [], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        $compiler
            ->addDebugInfo($this)
        ;
        if ($compiler->getEnvironment()->isDebug()) {
            $compiler->write("ob_start();\n");
        } else {
            $compiler->write("ob_start(function () { return ''; });\n");
        }
        $compiler
            ->subcompile($this->getNode('body'))
            ->write("echo trim(preg_replace('/>\s+</', '><', ob_get_clean()));\n")
        ;
    }
}

class_alias('Twig\Node\SpacelessNode', 'Twig_Node_Spaceless');
vendor/twig/twig/src/Node/ForNode.php000060400000010365150750356250013517 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;
use Twig\Node\Expression\AbstractExpression;
use Twig\Node\Expression\AssignNameExpression;

/**
 * Represents a for node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class ForNode extends Node
{
    protected $loop;

    public function __construct(AssignNameExpression $keyTarget, AssignNameExpression $valueTarget, AbstractExpression $seq, AbstractExpression $ifexpr = null, \Twig_NodeInterface $body, \Twig_NodeInterface $else = null, $lineno, $tag = null)
    {
        $body = new Node([$body, $this->loop = new ForLoopNode($lineno, $tag)]);

        if (null !== $ifexpr) {
            $body = new IfNode(new Node([$ifexpr, $body]), null, $lineno, $tag);
        }

        $nodes = ['key_target' => $keyTarget, 'value_target' => $valueTarget, 'seq' => $seq, 'body' => $body];
        if (null !== $else) {
            $nodes['else'] = $else;
        }

        parent::__construct($nodes, ['with_loop' => true, 'ifexpr' => null !== $ifexpr], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        $compiler
            ->addDebugInfo($this)
            ->write("\$context['_parent'] = \$context;\n")
            ->write("\$context['_seq'] = twig_ensure_traversable(")
            ->subcompile($this->getNode('seq'))
            ->raw(");\n")
        ;

        if ($this->hasNode('else')) {
            $compiler->write("\$context['_iterated'] = false;\n");
        }

        if ($this->getAttribute('with_loop')) {
            $compiler
                ->write("\$context['loop'] = [\n")
                ->write("  'parent' => \$context['_parent'],\n")
                ->write("  'index0' => 0,\n")
                ->write("  'index'  => 1,\n")
                ->write("  'first'  => true,\n")
                ->write("];\n")
            ;

            if (!$this->getAttribute('ifexpr')) {
                $compiler
                    ->write("if (is_array(\$context['_seq']) || (is_object(\$context['_seq']) && \$context['_seq'] instanceof \Countable)) {\n")
                    ->indent()
                    ->write("\$length = count(\$context['_seq']);\n")
                    ->write("\$context['loop']['revindex0'] = \$length - 1;\n")
                    ->write("\$context['loop']['revindex'] = \$length;\n")
                    ->write("\$context['loop']['length'] = \$length;\n")
                    ->write("\$context['loop']['last'] = 1 === \$length;\n")
                    ->outdent()
                    ->write("}\n")
                ;
            }
        }

        $this->loop->setAttribute('else', $this->hasNode('else'));
        $this->loop->setAttribute('with_loop', $this->getAttribute('with_loop'));
        $this->loop->setAttribute('ifexpr', $this->getAttribute('ifexpr'));

        $compiler
            ->write("foreach (\$context['_seq'] as ")
            ->subcompile($this->getNode('key_target'))
            ->raw(' => ')
            ->subcompile($this->getNode('value_target'))
            ->raw(") {\n")
            ->indent()
            ->subcompile($this->getNode('body'))
            ->outdent()
            ->write("}\n")
        ;

        if ($this->hasNode('else')) {
            $compiler
                ->write("if (!\$context['_iterated']) {\n")
                ->indent()
                ->subcompile($this->getNode('else'))
                ->outdent()
                ->write("}\n")
            ;
        }

        $compiler->write("\$_parent = \$context['_parent'];\n");

        // remove some "private" loop variables (needed for nested loops)
        $compiler->write('unset($context[\'_seq\'], $context[\'_iterated\'], $context[\''.$this->getNode('key_target')->getAttribute('name').'\'], $context[\''.$this->getNode('value_target')->getAttribute('name').'\'], $context[\'_parent\'], $context[\'loop\']);'."\n");

        // keep the values set in the inner context for variables defined in the outer context
        $compiler->write("\$context = array_intersect_key(\$context, \$_parent) + \$_parent;\n");
    }
}

class_alias('Twig\Node\ForNode', 'Twig_Node_For');
vendor/twig/twig/src/Node/DeprecatedNode.php000060400000002632150750356250015027 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;
use Twig\Node\Expression\AbstractExpression;
use Twig\Node\Expression\ConstantExpression;

/**
 * Represents a deprecated node.
 *
 * @author Yonel Ceruto <yonelceruto@gmail.com>
 */
class DeprecatedNode extends Node
{
    public function __construct(AbstractExpression $expr, $lineno, $tag = null)
    {
        parent::__construct(['expr' => $expr], [], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        $compiler->addDebugInfo($this);

        $expr = $this->getNode('expr');

        if ($expr instanceof ConstantExpression) {
            $compiler->write('@trigger_error(')
                ->subcompile($expr);
        } else {
            $varName = $compiler->getVarName();
            $compiler->write(sprintf('$%s = ', $varName))
                ->subcompile($expr)
                ->raw(";\n")
                ->write(sprintf('@trigger_error($%s', $varName));
        }

        $compiler
            ->raw('.')
            ->string(sprintf(' ("%s" at line %d).', $this->getTemplateName(), $this->getTemplateLine()))
            ->raw(", E_USER_DEPRECATED);\n")
        ;
    }
}

class_alias('Twig\Node\DeprecatedNode', 'Twig_Node_Deprecated');
vendor/twig/twig/src/Node/CheckToStringNode.php000060400000002163150750356250015475 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;
use Twig\Node\Expression\AbstractExpression;

/**
 * Checks if casting an expression to __toString() is allowed by the sandbox.
 *
 * For instance, when there is a simple Print statement, like {{ article }},
 * and if the sandbox is enabled, we need to check that the __toString()
 * method is allowed if 'article' is an object. The same goes for {{ article|upper }}
 * or {{ random(article) }}
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class CheckToStringNode extends AbstractExpression
{
    public function __construct(AbstractExpression $expr)
    {
        parent::__construct(['expr' => $expr], [], $expr->getTemplateLine(), $expr->getNodeTag());
    }

    public function compile(Compiler $compiler)
    {
        $compiler
            ->raw('$this->sandbox->ensureToStringAllowed(')
            ->subcompile($this->getNode('expr'))
            ->raw(')')
        ;
    }
}
vendor/twig/twig/src/Node/CheckSecurityNode.php000060400000006025150750356250015534 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;

/**
 * @author Fabien Potencier <fabien@symfony.com>
 */
class CheckSecurityNode extends Node
{
    protected $usedFilters;
    protected $usedTags;
    protected $usedFunctions;

    public function __construct(array $usedFilters, array $usedTags, array $usedFunctions)
    {
        $this->usedFilters = $usedFilters;
        $this->usedTags = $usedTags;
        $this->usedFunctions = $usedFunctions;

        parent::__construct();
    }

    public function compile(Compiler $compiler)
    {
        $tags = $filters = $functions = [];
        foreach (['tags', 'filters', 'functions'] as $type) {
            foreach ($this->{'used'.ucfirst($type)} as $name => $node) {
                if ($node instanceof Node) {
                    ${$type}[$name] = $node->getTemplateLine();
                } else {
                    ${$type}[$node] = null;
                }
            }
        }

        $compiler
            ->write("\$this->sandbox = \$this->env->getExtension('\Twig\Extension\SandboxExtension');\n")
            ->write('$tags = ')->repr(array_filter($tags))->raw(";\n")
            ->write('$filters = ')->repr(array_filter($filters))->raw(";\n")
            ->write('$functions = ')->repr(array_filter($functions))->raw(";\n\n")
            ->write("try {\n")
            ->indent()
            ->write("\$this->sandbox->checkSecurity(\n")
            ->indent()
            ->write(!$tags ? "[],\n" : "['".implode("', '", array_keys($tags))."'],\n")
            ->write(!$filters ? "[],\n" : "['".implode("', '", array_keys($filters))."'],\n")
            ->write(!$functions ? "[]\n" : "['".implode("', '", array_keys($functions))."']\n")
            ->outdent()
            ->write(");\n")
            ->outdent()
            ->write("} catch (SecurityError \$e) {\n")
            ->indent()
            ->write("\$e->setSourceContext(\$this->getSourceContext());\n\n")
            ->write("if (\$e instanceof SecurityNotAllowedTagError && isset(\$tags[\$e->getTagName()])) {\n")
            ->indent()
            ->write("\$e->setTemplateLine(\$tags[\$e->getTagName()]);\n")
            ->outdent()
            ->write("} elseif (\$e instanceof SecurityNotAllowedFilterError && isset(\$filters[\$e->getFilterName()])) {\n")
            ->indent()
            ->write("\$e->setTemplateLine(\$filters[\$e->getFilterName()]);\n")
            ->outdent()
            ->write("} elseif (\$e instanceof SecurityNotAllowedFunctionError && isset(\$functions[\$e->getFunctionName()])) {\n")
            ->indent()
            ->write("\$e->setTemplateLine(\$functions[\$e->getFunctionName()]);\n")
            ->outdent()
            ->write("}\n\n")
            ->write("throw \$e;\n")
            ->outdent()
            ->write("}\n\n")
        ;
    }
}

class_alias('Twig\Node\CheckSecurityNode', 'Twig_Node_CheckSecurity');
vendor/twig/twig/src/Node/SetTempNode.php000060400000001644150750356250014352 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;

/**
 * @internal
 */
class SetTempNode extends Node
{
    public function __construct($name, $lineno)
    {
        parent::__construct([], ['name' => $name], $lineno);
    }

    public function compile(Compiler $compiler)
    {
        $name = $this->getAttribute('name');
        $compiler
            ->addDebugInfo($this)
            ->write('if (isset($context[')
            ->string($name)
            ->raw('])) { $_')
            ->raw($name)
            ->raw('_ = $context[')
            ->repr($name)
            ->raw(']; } else { $_')
            ->raw($name)
            ->raw("_ = null; }\n")
        ;
    }
}

class_alias('Twig\Node\SetTempNode', 'Twig_Node_SetTemp');
vendor/twig/twig/src/Node/ForLoopNode.php000060400000003061150750356250014344 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;

/**
 * Internal node used by the for node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class ForLoopNode extends Node
{
    public function __construct($lineno, $tag = null)
    {
        parent::__construct([], ['with_loop' => false, 'ifexpr' => false, 'else' => false], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        if ($this->getAttribute('else')) {
            $compiler->write("\$context['_iterated'] = true;\n");
        }

        if ($this->getAttribute('with_loop')) {
            $compiler
                ->write("++\$context['loop']['index0'];\n")
                ->write("++\$context['loop']['index'];\n")
                ->write("\$context['loop']['first'] = false;\n")
            ;

            if (!$this->getAttribute('ifexpr')) {
                $compiler
                    ->write("if (isset(\$context['loop']['length'])) {\n")
                    ->indent()
                    ->write("--\$context['loop']['revindex0'];\n")
                    ->write("--\$context['loop']['revindex'];\n")
                    ->write("\$context['loop']['last'] = 0 === \$context['loop']['revindex0'];\n")
                    ->outdent()
                    ->write("}\n")
                ;
            }
        }
    }
}

class_alias('Twig\Node\ForLoopNode', 'Twig_Node_ForLoop');
vendor/twig/twig/src/Node/PrintNode.php000060400000001635150750356250014065 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;
use Twig\Node\Expression\AbstractExpression;

/**
 * Represents a node that outputs an expression.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class PrintNode extends Node implements NodeOutputInterface
{
    public function __construct(AbstractExpression $expr, $lineno, $tag = null)
    {
        parent::__construct(['expr' => $expr], [], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        $compiler
            ->addDebugInfo($this)
            ->write('echo ')
            ->subcompile($this->getNode('expr'))
            ->raw(";\n")
        ;
    }
}

class_alias('Twig\Node\PrintNode', 'Twig_Node_Print');
vendor/twig/twig/src/Node/SandboxedPrintNode.php000060400000003457150750356250015721 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;
use Twig\Node\Expression\ConstantExpression;
use Twig\Node\Expression\FilterExpression;

/**
 * Adds a check for the __toString() method when the variable is an object and the sandbox is activated.
 *
 * When there is a simple Print statement, like {{ article }},
 * and if the sandbox is enabled, we need to check that the __toString()
 * method is allowed if 'article' is an object.
 *
 * Not used anymore, to be deprecated in 2.x and removed in 3.0
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class SandboxedPrintNode extends PrintNode
{
    public function compile(Compiler $compiler)
    {
        $compiler
            ->addDebugInfo($this)
            ->write('echo ')
        ;
        $expr = $this->getNode('expr');
        if ($expr instanceof ConstantExpression) {
            $compiler
                ->subcompile($expr)
                ->raw(";\n")
            ;
        } else {
            $compiler
                ->write('$this->env->getExtension(\'\Twig\Extension\SandboxExtension\')->ensureToStringAllowed(')
                ->subcompile($expr)
                ->raw(");\n")
            ;
        }
    }

    /**
     * Removes node filters.
     *
     * This is mostly needed when another visitor adds filters (like the escaper one).
     *
     * @return Node
     */
    protected function removeNodeFilter(Node $node)
    {
        if ($node instanceof FilterExpression) {
            return $this->removeNodeFilter($node->getNode('node'));
        }

        return $node;
    }
}

class_alias('Twig\Node\SandboxedPrintNode', 'Twig_Node_SandboxedPrint');
vendor/twig/twig/src/Node/TextNode.php000060400000001462150750356250013713 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;

/**
 * Represents a text node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class TextNode extends Node implements NodeOutputInterface
{
    public function __construct($data, $lineno)
    {
        parent::__construct([], ['data' => $data], $lineno);
    }

    public function compile(Compiler $compiler)
    {
        $compiler
            ->addDebugInfo($this)
            ->write('echo ')
            ->string($this->getAttribute('data'))
            ->raw(";\n")
        ;
    }
}

class_alias('Twig\Node\TextNode', 'Twig_Node_Text');
vendor/twig/twig/src/Node/IncludeNode.php000060400000006174150750356250014357 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;
use Twig\Node\Expression\AbstractExpression;

/**
 * Represents an include node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class IncludeNode extends Node implements NodeOutputInterface
{
    public function __construct(AbstractExpression $expr, AbstractExpression $variables = null, $only = false, $ignoreMissing = false, $lineno, $tag = null)
    {
        $nodes = ['expr' => $expr];
        if (null !== $variables) {
            $nodes['variables'] = $variables;
        }

        parent::__construct($nodes, ['only' => (bool) $only, 'ignore_missing' => (bool) $ignoreMissing], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        $compiler->addDebugInfo($this);

        if ($this->getAttribute('ignore_missing')) {
            $template = $compiler->getVarName();

            $compiler
                ->write(sprintf("$%s = null;\n", $template))
                ->write("try {\n")
                ->indent()
                ->write(sprintf('$%s = ', $template))
            ;

            $this->addGetTemplate($compiler);

            $compiler
                ->raw(";\n")
                ->outdent()
                ->write("} catch (LoaderError \$e) {\n")
                ->indent()
                ->write("// ignore missing template\n")
                ->outdent()
                ->write("}\n")
                ->write(sprintf("if ($%s) {\n", $template))
                ->indent()
                ->write(sprintf('$%s->display(', $template))
            ;
            $this->addTemplateArguments($compiler);
            $compiler
                ->raw(");\n")
                ->outdent()
                ->write("}\n")
            ;
        } else {
            $this->addGetTemplate($compiler);
            $compiler->raw('->display(');
            $this->addTemplateArguments($compiler);
            $compiler->raw(");\n");
        }
    }

    protected function addGetTemplate(Compiler $compiler)
    {
        $compiler
            ->write('$this->loadTemplate(')
            ->subcompile($this->getNode('expr'))
            ->raw(', ')
            ->repr($this->getTemplateName())
            ->raw(', ')
            ->repr($this->getTemplateLine())
            ->raw(')')
        ;
    }

    protected function addTemplateArguments(Compiler $compiler)
    {
        if (!$this->hasNode('variables')) {
            $compiler->raw(false === $this->getAttribute('only') ? '$context' : '[]');
        } elseif (false === $this->getAttribute('only')) {
            $compiler
                ->raw('twig_array_merge($context, ')
                ->subcompile($this->getNode('variables'))
                ->raw(')')
            ;
        } else {
            $compiler->raw('twig_to_array(');
            $compiler->subcompile($this->getNode('variables'));
            $compiler->raw(')');
        }
    }
}

class_alias('Twig\Node\IncludeNode', 'Twig_Node_Include');
vendor/twig/twig/src/Node/WithNode.php000060400000004241150750356250013700 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;

/**
 * Represents a nested "with" scope.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class WithNode extends Node
{
    public function __construct(Node $body, Node $variables = null, $only = false, $lineno, $tag = null)
    {
        $nodes = ['body' => $body];
        if (null !== $variables) {
            $nodes['variables'] = $variables;
        }

        parent::__construct($nodes, ['only' => (bool) $only], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        $compiler->addDebugInfo($this);

        if ($this->hasNode('variables')) {
            $node = $this->getNode('variables');
            $varsName = $compiler->getVarName();
            $compiler
                ->write(sprintf('$%s = ', $varsName))
                ->subcompile($node)
                ->raw(";\n")
                ->write(sprintf("if (!twig_test_iterable(\$%s)) {\n", $varsName))
                ->indent()
                ->write("throw new RuntimeError('Variables passed to the \"with\" tag must be a hash.', ")
                ->repr($node->getTemplateLine())
                ->raw(", \$this->getSourceContext());\n")
                ->outdent()
                ->write("}\n")
                ->write(sprintf("\$%s = twig_to_array(\$%s);\n", $varsName, $varsName))
            ;

            if ($this->getAttribute('only')) {
                $compiler->write("\$context = ['_parent' => \$context];\n");
            } else {
                $compiler->write("\$context['_parent'] = \$context;\n");
            }

            $compiler->write(sprintf("\$context = \$this->env->mergeGlobals(array_merge(\$context, \$%s));\n", $varsName));
        } else {
            $compiler->write("\$context['_parent'] = \$context;\n");
        }

        $compiler
            ->subcompile($this->getNode('body'))
            ->write("\$context = \$context['_parent'];\n")
        ;
    }
}

class_alias('Twig\Node\WithNode', 'Twig_Node_With');
vendor/twig/twig/src/Node/FlushNode.php000060400000001261150750356250014045 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;

/**
 * Represents a flush node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class FlushNode extends Node
{
    public function __construct($lineno, $tag)
    {
        parent::__construct([], [], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        $compiler
            ->addDebugInfo($this)
            ->write("flush();\n")
        ;
    }
}

class_alias('Twig\Node\FlushNode', 'Twig_Node_Flush');
vendor/twig/twig/src/Node/DoNode.php000060400000001502150750356250013324 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;
use Twig\Node\Expression\AbstractExpression;

/**
 * Represents a do node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class DoNode extends Node
{
    public function __construct(AbstractExpression $expr, $lineno, $tag = null)
    {
        parent::__construct(['expr' => $expr], [], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        $compiler
            ->addDebugInfo($this)
            ->write('')
            ->subcompile($this->getNode('expr'))
            ->raw(";\n")
        ;
    }
}

class_alias('Twig\Node\DoNode', 'Twig_Node_Do');
vendor/twig/twig/src/Node/BlockReferenceNode.php000060400000001561150750356250015640 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;

/**
 * Represents a block call node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class BlockReferenceNode extends Node implements NodeOutputInterface
{
    public function __construct($name, $lineno, $tag = null)
    {
        parent::__construct([], ['name' => $name], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        $compiler
            ->addDebugInfo($this)
            ->write(sprintf("\$this->displayBlock('%s', \$context, \$blocks);\n", $this->getAttribute('name')))
        ;
    }
}

class_alias('Twig\Node\BlockReferenceNode', 'Twig_Node_BlockReference');
vendor/twig/twig/src/Node/NodeCaptureInterface.php000060400000000715150750356250016213 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

/**
 * Represents a node that captures any nested displayable nodes.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
interface NodeCaptureInterface
{
}

class_alias('Twig\Node\NodeCaptureInterface', 'Twig_NodeCaptureInterface');
vendor/twig/twig/src/Node/MacroNode.php000060400000007425150750356250014035 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;
use Twig\Error\SyntaxError;

/**
 * Represents a macro node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class MacroNode extends Node
{
    const VARARGS_NAME = 'varargs';

    public function __construct($name, \Twig_NodeInterface $body, \Twig_NodeInterface $arguments, $lineno, $tag = null)
    {
        foreach ($arguments as $argumentName => $argument) {
            if (self::VARARGS_NAME === $argumentName) {
                throw new SyntaxError(sprintf('The argument "%s" in macro "%s" cannot be defined because the variable "%s" is reserved for arbitrary arguments.', self::VARARGS_NAME, $name, self::VARARGS_NAME), $argument->getTemplateLine(), $argument->getSourceContext());
            }
        }

        parent::__construct(['body' => $body, 'arguments' => $arguments], ['name' => $name], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        $compiler
            ->addDebugInfo($this)
            ->write(sprintf('public function get%s(', $this->getAttribute('name')))
        ;

        $count = \count($this->getNode('arguments'));
        $pos = 0;
        foreach ($this->getNode('arguments') as $name => $default) {
            $compiler
                ->raw('$__'.$name.'__ = ')
                ->subcompile($default)
            ;

            if (++$pos < $count) {
                $compiler->raw(', ');
            }
        }

        if (\PHP_VERSION_ID >= 50600) {
            if ($count) {
                $compiler->raw(', ');
            }

            $compiler->raw('...$__varargs__');
        }

        $compiler
            ->raw(")\n")
            ->write("{\n")
            ->indent()
        ;

        $compiler
            ->write("\$context = \$this->env->mergeGlobals([\n")
            ->indent()
        ;

        foreach ($this->getNode('arguments') as $name => $default) {
            $compiler
                ->write('')
                ->string($name)
                ->raw(' => $__'.$name.'__')
                ->raw(",\n")
            ;
        }

        $compiler
            ->write('')
            ->string(self::VARARGS_NAME)
            ->raw(' => ')
        ;

        if (\PHP_VERSION_ID >= 50600) {
            $compiler->raw("\$__varargs__,\n");
        } else {
            $compiler
                ->raw('func_num_args() > ')
                ->repr($count)
                ->raw(' ? array_slice(func_get_args(), ')
                ->repr($count)
                ->raw(") : [],\n")
            ;
        }

        $compiler
            ->outdent()
            ->write("]);\n\n")
            ->write("\$blocks = [];\n\n")
        ;
        if ($compiler->getEnvironment()->isDebug()) {
            $compiler->write("ob_start();\n");
        } else {
            $compiler->write("ob_start(function () { return ''; });\n");
        }
        $compiler
            ->write("try {\n")
            ->indent()
            ->subcompile($this->getNode('body'))
            ->outdent()
            ->write("} catch (\Exception \$e) {\n")
            ->indent()
            ->write("ob_end_clean();\n\n")
            ->write("throw \$e;\n")
            ->outdent()
            ->write("} catch (\Throwable \$e) {\n")
            ->indent()
            ->write("ob_end_clean();\n\n")
            ->write("throw \$e;\n")
            ->outdent()
            ->write("}\n\n")
            ->write("return ('' === \$tmp = ob_get_clean()) ? '' : new Markup(\$tmp, \$this->env->getCharset());\n")
            ->outdent()
            ->write("}\n\n")
        ;
    }
}

class_alias('Twig\Node\MacroNode', 'Twig_Node_Macro');
vendor/twig/twig/src/Node/IfNode.php000060400000003273150750356250013327 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;

/**
 * Represents an if node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class IfNode extends Node
{
    public function __construct(\Twig_NodeInterface $tests, \Twig_NodeInterface $else = null, $lineno, $tag = null)
    {
        $nodes = ['tests' => $tests];
        if (null !== $else) {
            $nodes['else'] = $else;
        }

        parent::__construct($nodes, [], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        $compiler->addDebugInfo($this);
        for ($i = 0, $count = \count($this->getNode('tests')); $i < $count; $i += 2) {
            if ($i > 0) {
                $compiler
                    ->outdent()
                    ->write('} elseif (')
                ;
            } else {
                $compiler
                    ->write('if (')
                ;
            }

            $compiler
                ->subcompile($this->getNode('tests')->getNode($i))
                ->raw(") {\n")
                ->indent()
                ->subcompile($this->getNode('tests')->getNode($i + 1))
            ;
        }

        if ($this->hasNode('else')) {
            $compiler
                ->outdent()
                ->write("} else {\n")
                ->indent()
                ->subcompile($this->getNode('else'))
            ;
        }

        $compiler
            ->outdent()
            ->write("}\n");
    }
}

class_alias('Twig\Node\IfNode', 'Twig_Node_If');
vendor/twig/twig/src/Node/ImportNode.php000060400000002706150750356250014243 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;
use Twig\Node\Expression\AbstractExpression;
use Twig\Node\Expression\NameExpression;

/**
 * Represents an import node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class ImportNode extends Node
{
    public function __construct(AbstractExpression $expr, AbstractExpression $var, $lineno, $tag = null)
    {
        parent::__construct(['expr' => $expr, 'var' => $var], [], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        $compiler
            ->addDebugInfo($this)
            ->write('')
            ->subcompile($this->getNode('var'))
            ->raw(' = ')
        ;

        if ($this->getNode('expr') instanceof NameExpression && '_self' === $this->getNode('expr')->getAttribute('name')) {
            $compiler->raw('$this');
        } else {
            $compiler
                ->raw('$this->loadTemplate(')
                ->subcompile($this->getNode('expr'))
                ->raw(', ')
                ->repr($this->getTemplateName())
                ->raw(', ')
                ->repr($this->getTemplateLine())
                ->raw(')->unwrap()')
            ;
        }

        $compiler->raw(";\n");
    }
}

class_alias('Twig\Node\ImportNode', 'Twig_Node_Import');
vendor/twig/twig/src/Node/Node.php000060400000016545150750356250013056 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;
use Twig\Source;

/**
 * Represents a node in the AST.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class Node implements \Twig_NodeInterface
{
    protected $nodes;
    protected $attributes;
    protected $lineno;
    protected $tag;

    private $name;
    private $sourceContext;

    /**
     * @param array  $nodes      An array of named nodes
     * @param array  $attributes An array of attributes (should not be nodes)
     * @param int    $lineno     The line number
     * @param string $tag        The tag name associated with the Node
     */
    public function __construct(array $nodes = [], array $attributes = [], $lineno = 0, $tag = null)
    {
        foreach ($nodes as $name => $node) {
            if (!$node instanceof \Twig_NodeInterface) {
                @trigger_error(sprintf('Using "%s" for the value of node "%s" of "%s" is deprecated since version 1.25 and will be removed in 2.0.', \is_object($node) ? \get_class($node) : (null === $node ? 'null' : \gettype($node)), $name, \get_class($this)), E_USER_DEPRECATED);
            }
        }
        $this->nodes = $nodes;
        $this->attributes = $attributes;
        $this->lineno = $lineno;
        $this->tag = $tag;
    }

    public function __toString()
    {
        $attributes = [];
        foreach ($this->attributes as $name => $value) {
            $attributes[] = sprintf('%s: %s', $name, str_replace("\n", '', var_export($value, true)));
        }

        $repr = [\get_class($this).'('.implode(', ', $attributes)];

        if (\count($this->nodes)) {
            foreach ($this->nodes as $name => $node) {
                $len = \strlen($name) + 4;
                $noderepr = [];
                foreach (explode("\n", (string) $node) as $line) {
                    $noderepr[] = str_repeat(' ', $len).$line;
                }

                $repr[] = sprintf('  %s: %s', $name, ltrim(implode("\n", $noderepr)));
            }

            $repr[] = ')';
        } else {
            $repr[0] .= ')';
        }

        return implode("\n", $repr);
    }

    /**
     * @deprecated since 1.16.1 (to be removed in 2.0)
     */
    public function toXml($asDom = false)
    {
        @trigger_error(sprintf('%s is deprecated since version 1.16.1 and will be removed in 2.0.', __METHOD__), E_USER_DEPRECATED);

        $dom = new \DOMDocument('1.0', 'UTF-8');
        $dom->formatOutput = true;
        $dom->appendChild($xml = $dom->createElement('twig'));

        $xml->appendChild($node = $dom->createElement('node'));
        $node->setAttribute('class', \get_class($this));

        foreach ($this->attributes as $name => $value) {
            $node->appendChild($attribute = $dom->createElement('attribute'));
            $attribute->setAttribute('name', $name);
            $attribute->appendChild($dom->createTextNode($value));
        }

        foreach ($this->nodes as $name => $n) {
            if (null === $n) {
                continue;
            }

            $child = $n->toXml(true)->getElementsByTagName('node')->item(0);
            $child = $dom->importNode($child, true);
            $child->setAttribute('name', $name);

            $node->appendChild($child);
        }

        return $asDom ? $dom : $dom->saveXML();
    }

    public function compile(Compiler $compiler)
    {
        foreach ($this->nodes as $node) {
            $node->compile($compiler);
        }
    }

    public function getTemplateLine()
    {
        return $this->lineno;
    }

    /**
     * @deprecated since 1.27 (to be removed in 2.0)
     */
    public function getLine()
    {
        @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getTemplateLine() instead.', E_USER_DEPRECATED);

        return $this->lineno;
    }

    public function getNodeTag()
    {
        return $this->tag;
    }

    /**
     * @return bool
     */
    public function hasAttribute($name)
    {
        return \array_key_exists($name, $this->attributes);
    }

    /**
     * @return mixed
     */
    public function getAttribute($name)
    {
        if (!\array_key_exists($name, $this->attributes)) {
            throw new \LogicException(sprintf('Attribute "%s" does not exist for Node "%s".', $name, \get_class($this)));
        }

        return $this->attributes[$name];
    }

    /**
     * @param string $name
     * @param mixed  $value
     */
    public function setAttribute($name, $value)
    {
        $this->attributes[$name] = $value;
    }

    public function removeAttribute($name)
    {
        unset($this->attributes[$name]);
    }

    /**
     * @return bool
     */
    public function hasNode($name)
    {
        return \array_key_exists($name, $this->nodes);
    }

    /**
     * @return Node
     */
    public function getNode($name)
    {
        if (!\array_key_exists($name, $this->nodes)) {
            throw new \LogicException(sprintf('Node "%s" does not exist for Node "%s".', $name, \get_class($this)));
        }

        return $this->nodes[$name];
    }

    public function setNode($name, $node = null)
    {
        if (!$node instanceof \Twig_NodeInterface) {
            @trigger_error(sprintf('Using "%s" for the value of node "%s" of "%s" is deprecated since version 1.25 and will be removed in 2.0.', \is_object($node) ? \get_class($node) : (null === $node ? 'null' : \gettype($node)), $name, \get_class($this)), E_USER_DEPRECATED);
        }

        $this->nodes[$name] = $node;
    }

    public function removeNode($name)
    {
        unset($this->nodes[$name]);
    }

    public function count()
    {
        return \count($this->nodes);
    }

    public function getIterator()
    {
        return new \ArrayIterator($this->nodes);
    }

    public function setTemplateName($name)
    {
        $this->name = $name;
        foreach ($this->nodes as $node) {
            if (null !== $node) {
                $node->setTemplateName($name);
            }
        }
    }

    public function getTemplateName()
    {
        return $this->name;
    }

    public function setSourceContext(Source $source)
    {
        $this->sourceContext = $source;
        foreach ($this->nodes as $node) {
            if ($node instanceof Node) {
                $node->setSourceContext($source);
            }
        }
    }

    public function getSourceContext()
    {
        return $this->sourceContext;
    }

    /**
     * @deprecated since 1.27 (to be removed in 2.0)
     */
    public function setFilename($name)
    {
        @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use setTemplateName() instead.', E_USER_DEPRECATED);

        $this->setTemplateName($name);
    }

    /**
     * @deprecated since 1.27 (to be removed in 2.0)
     */
    public function getFilename()
    {
        @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getTemplateName() instead.', E_USER_DEPRECATED);

        return $this->name;
    }
}

class_alias('Twig\Node\Node', 'Twig_Node');

// Ensure that the aliased name is loaded to keep BC for classes implementing the typehint with the old aliased name.
class_exists('Twig\Compiler');
vendor/twig/twig/src/Node/SetNode.php000060400000006547150750356250013533 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;
use Twig\Node\Expression\ConstantExpression;

/**
 * Represents a set node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class SetNode extends Node implements NodeCaptureInterface
{
    public function __construct($capture, \Twig_NodeInterface $names, \Twig_NodeInterface $values, $lineno, $tag = null)
    {
        parent::__construct(['names' => $names, 'values' => $values], ['capture' => $capture, 'safe' => false], $lineno, $tag);

        /*
         * Optimizes the node when capture is used for a large block of text.
         *
         * {% set foo %}foo{% endset %} is compiled to $context['foo'] = new Twig\Markup("foo");
         */
        if ($this->getAttribute('capture')) {
            $this->setAttribute('safe', true);

            $values = $this->getNode('values');
            if ($values instanceof TextNode) {
                $this->setNode('values', new ConstantExpression($values->getAttribute('data'), $values->getTemplateLine()));
                $this->setAttribute('capture', false);
            }
        }
    }

    public function compile(Compiler $compiler)
    {
        $compiler->addDebugInfo($this);

        if (\count($this->getNode('names')) > 1) {
            $compiler->write('list(');
            foreach ($this->getNode('names') as $idx => $node) {
                if ($idx) {
                    $compiler->raw(', ');
                }

                $compiler->subcompile($node);
            }
            $compiler->raw(')');
        } else {
            if ($this->getAttribute('capture')) {
                if ($compiler->getEnvironment()->isDebug()) {
                    $compiler->write("ob_start();\n");
                } else {
                    $compiler->write("ob_start(function () { return ''; });\n");
                }
                $compiler
                    ->subcompile($this->getNode('values'))
                ;
            }

            $compiler->subcompile($this->getNode('names'), false);

            if ($this->getAttribute('capture')) {
                $compiler->raw(" = ('' === \$tmp = ob_get_clean()) ? '' : new Markup(\$tmp, \$this->env->getCharset())");
            }
        }

        if (!$this->getAttribute('capture')) {
            $compiler->raw(' = ');

            if (\count($this->getNode('names')) > 1) {
                $compiler->write('[');
                foreach ($this->getNode('values') as $idx => $value) {
                    if ($idx) {
                        $compiler->raw(', ');
                    }

                    $compiler->subcompile($value);
                }
                $compiler->raw(']');
            } else {
                if ($this->getAttribute('safe')) {
                    $compiler
                        ->raw("('' === \$tmp = ")
                        ->subcompile($this->getNode('values'))
                        ->raw(") ? '' : new Markup(\$tmp, \$this->env->getCharset())")
                    ;
                } else {
                    $compiler->subcompile($this->getNode('values'));
                }
            }
        }

        $compiler->raw(";\n");
    }
}

class_alias('Twig\Node\SetNode', 'Twig_Node_Set');
vendor/twig/twig/src/Node/Expression/Test/DivisiblebyTest.php000060400000001565150750356250020350 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Test;

use Twig\Compiler;
use Twig\Node\Expression\TestExpression;

/**
 * Checks if a variable is divisible by a number.
 *
 *  {% if loop.index is divisible by(3) %}
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class DivisiblebyTest extends TestExpression
{
    public function compile(Compiler $compiler)
    {
        $compiler
            ->raw('(0 == ')
            ->subcompile($this->getNode('node'))
            ->raw(' % ')
            ->subcompile($this->getNode('arguments')->getNode(0))
            ->raw(')')
        ;
    }
}

class_alias('Twig\Node\Expression\Test\DivisiblebyTest', 'Twig_Node_Expression_Test_Divisibleby');
vendor/twig/twig/src/Node/Expression/Test/EvenTest.php000060400000001367150750356250017000 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Test;

use Twig\Compiler;
use Twig\Node\Expression\TestExpression;

/**
 * Checks if a number is even.
 *
 *  {{ var is even }}
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class EvenTest extends TestExpression
{
    public function compile(Compiler $compiler)
    {
        $compiler
            ->raw('(')
            ->subcompile($this->getNode('node'))
            ->raw(' % 2 == 0')
            ->raw(')')
        ;
    }
}

class_alias('Twig\Node\Expression\Test\EvenTest', 'Twig_Node_Expression_Test_Even');
vendor/twig/twig/src/Node/Expression/Test/DefinedTest.php000060400000004606150750356250017440 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Test;

use Twig\Compiler;
use Twig\Error\SyntaxError;
use Twig\Node\Expression\ArrayExpression;
use Twig\Node\Expression\BlockReferenceExpression;
use Twig\Node\Expression\ConstantExpression;
use Twig\Node\Expression\FunctionExpression;
use Twig\Node\Expression\GetAttrExpression;
use Twig\Node\Expression\NameExpression;
use Twig\Node\Expression\TestExpression;

/**
 * Checks if a variable is defined in the current context.
 *
 *    {# defined works with variable names and variable attributes #}
 *    {% if foo is defined %}
 *        {# ... #}
 *    {% endif %}
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class DefinedTest extends TestExpression
{
    public function __construct(\Twig_NodeInterface $node, $name, \Twig_NodeInterface $arguments = null, $lineno)
    {
        if ($node instanceof NameExpression) {
            $node->setAttribute('is_defined_test', true);
        } elseif ($node instanceof GetAttrExpression) {
            $node->setAttribute('is_defined_test', true);
            $this->changeIgnoreStrictCheck($node);
        } elseif ($node instanceof BlockReferenceExpression) {
            $node->setAttribute('is_defined_test', true);
        } elseif ($node instanceof FunctionExpression && 'constant' === $node->getAttribute('name')) {
            $node->setAttribute('is_defined_test', true);
        } elseif ($node instanceof ConstantExpression || $node instanceof ArrayExpression) {
            $node = new ConstantExpression(true, $node->getTemplateLine());
        } else {
            throw new SyntaxError('The "defined" test only works with simple variables.', $lineno);
        }

        parent::__construct($node, $name, $arguments, $lineno);
    }

    protected function changeIgnoreStrictCheck(GetAttrExpression $node)
    {
        $node->setAttribute('ignore_strict_check', true);

        if ($node->getNode('node') instanceof GetAttrExpression) {
            $this->changeIgnoreStrictCheck($node->getNode('node'));
        }
    }

    public function compile(Compiler $compiler)
    {
        $compiler->subcompile($this->getNode('node'));
    }
}

class_alias('Twig\Node\Expression\Test\DefinedTest', 'Twig_Node_Expression_Test_Defined');
vendor/twig/twig/src/Node/Expression/Test/SameasTest.php000060400000001504150750356250017305 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Test;

use Twig\Compiler;
use Twig\Node\Expression\TestExpression;

/**
 * Checks if a variable is the same as another one (=== in PHP).
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class SameasTest extends TestExpression
{
    public function compile(Compiler $compiler)
    {
        $compiler
            ->raw('(')
            ->subcompile($this->getNode('node'))
            ->raw(' === ')
            ->subcompile($this->getNode('arguments')->getNode(0))
            ->raw(')')
        ;
    }
}

class_alias('Twig\Node\Expression\Test\SameasTest', 'Twig_Node_Expression_Test_Sameas');
vendor/twig/twig/src/Node/Expression/Test/OddTest.php000060400000001362150750356250016604 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Test;

use Twig\Compiler;
use Twig\Node\Expression\TestExpression;

/**
 * Checks if a number is odd.
 *
 *  {{ var is odd }}
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class OddTest extends TestExpression
{
    public function compile(Compiler $compiler)
    {
        $compiler
            ->raw('(')
            ->subcompile($this->getNode('node'))
            ->raw(' % 2 == 1')
            ->raw(')')
        ;
    }
}

class_alias('Twig\Node\Expression\Test\OddTest', 'Twig_Node_Expression_Test_Odd');
vendor/twig/twig/src/Node/Expression/Test/NullTest.php000060400000001345150750356250017011 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Test;

use Twig\Compiler;
use Twig\Node\Expression\TestExpression;

/**
 * Checks that a variable is null.
 *
 *  {{ var is none }}
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class NullTest extends TestExpression
{
    public function compile(Compiler $compiler)
    {
        $compiler
            ->raw('(null === ')
            ->subcompile($this->getNode('node'))
            ->raw(')')
        ;
    }
}

class_alias('Twig\Node\Expression\Test\NullTest', 'Twig_Node_Expression_Test_Null');
vendor/twig/twig/src/Node/Expression/Test/ConstantTest.php000060400000002363150750356250017671 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Test;

use Twig\Compiler;
use Twig\Node\Expression\TestExpression;

/**
 * Checks if a variable is the exact same value as a constant.
 *
 *    {% if post.status is constant('Post::PUBLISHED') %}
 *      the status attribute is exactly the same as Post::PUBLISHED
 *    {% endif %}
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class ConstantTest extends TestExpression
{
    public function compile(Compiler $compiler)
    {
        $compiler
            ->raw('(')
            ->subcompile($this->getNode('node'))
            ->raw(' === constant(')
        ;

        if ($this->getNode('arguments')->hasNode(1)) {
            $compiler
                ->raw('get_class(')
                ->subcompile($this->getNode('arguments')->getNode(1))
                ->raw(')."::".')
            ;
        }

        $compiler
            ->subcompile($this->getNode('arguments')->getNode(0))
            ->raw('))')
        ;
    }
}

class_alias('Twig\Node\Expression\Test\ConstantTest', 'Twig_Node_Expression_Test_Constant');
vendor/twig/twig/src/Node/Expression/MethodCallExpression.php000060400000002416150750356250020414 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression;

use Twig\Compiler;

class MethodCallExpression extends AbstractExpression
{
    public function __construct(AbstractExpression $node, $method, ArrayExpression $arguments, $lineno)
    {
        parent::__construct(['node' => $node, 'arguments' => $arguments], ['method' => $method, 'safe' => false], $lineno);

        if ($node instanceof NameExpression) {
            $node->setAttribute('always_defined', true);
        }
    }

    public function compile(Compiler $compiler)
    {
        $compiler
            ->subcompile($this->getNode('node'))
            ->raw('->')
            ->raw($this->getAttribute('method'))
            ->raw('(')
        ;
        $first = true;
        foreach ($this->getNode('arguments')->getKeyValuePairs() as $pair) {
            if (!$first) {
                $compiler->raw(', ');
            }
            $first = false;

            $compiler->subcompile($pair['value']);
        }
        $compiler->raw(')');
    }
}

class_alias('Twig\Node\Expression\MethodCallExpression', 'Twig_Node_Expression_MethodCall');
vendor/twig/twig/src/Node/Expression/NullCoalesceExpression.php000060400000004310150750356250020744 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression;

use Twig\Compiler;
use Twig\Node\Expression\Binary\AndBinary;
use Twig\Node\Expression\Test\DefinedTest;
use Twig\Node\Expression\Test\NullTest;
use Twig\Node\Expression\Unary\NotUnary;
use Twig\Node\Node;

class NullCoalesceExpression extends ConditionalExpression
{
    public function __construct(\Twig_NodeInterface $left, \Twig_NodeInterface $right, $lineno)
    {
        $test = new DefinedTest(clone $left, 'defined', new Node(), $left->getTemplateLine());
        // for "block()", we don't need the null test as the return value is always a string
        if (!$left instanceof BlockReferenceExpression) {
            $test = new AndBinary(
                $test,
                new NotUnary(new NullTest($left, 'null', new Node(), $left->getTemplateLine()), $left->getTemplateLine()),
                $left->getTemplateLine()
            );
        }

        parent::__construct($test, $left, $right, $lineno);
    }

    public function compile(Compiler $compiler)
    {
        /*
         * This optimizes only one case. PHP 7 also supports more complex expressions
         * that can return null. So, for instance, if log is defined, log("foo") ?? "..." works,
         * but log($a["foo"]) ?? "..." does not if $a["foo"] is not defined. More advanced
         * cases might be implemented as an optimizer node visitor, but has not been done
         * as benefits are probably not worth the added complexity.
         */
        if (\PHP_VERSION_ID >= 70000 && $this->getNode('expr2') instanceof NameExpression) {
            $this->getNode('expr2')->setAttribute('always_defined', true);
            $compiler
                ->raw('((')
                ->subcompile($this->getNode('expr2'))
                ->raw(') ?? (')
                ->subcompile($this->getNode('expr3'))
                ->raw('))')
            ;
        } else {
            parent::compile($compiler);
        }
    }
}

class_alias('Twig\Node\Expression\NullCoalesceExpression', 'Twig_Node_Expression_NullCoalesce');
vendor/twig/twig/src/Node/Expression/ParentExpression.php000060400000002302150750356250017623 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression;

use Twig\Compiler;

/**
 * Represents a parent node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class ParentExpression extends AbstractExpression
{
    public function __construct($name, $lineno, $tag = null)
    {
        parent::__construct([], ['output' => false, 'name' => $name], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        if ($this->getAttribute('output')) {
            $compiler
                ->addDebugInfo($this)
                ->write('$this->displayParentBlock(')
                ->string($this->getAttribute('name'))
                ->raw(", \$context, \$blocks);\n")
            ;
        } else {
            $compiler
                ->raw('$this->renderParentBlock(')
                ->string($this->getAttribute('name'))
                ->raw(', $context, $blocks)')
            ;
        }
    }
}

class_alias('Twig\Node\Expression\ParentExpression', 'Twig_Node_Expression_Parent');
vendor/twig/twig/src/Node/Expression/Unary/AbstractUnary.php000060400000001532150750356250020176 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Unary;

use Twig\Compiler;
use Twig\Node\Expression\AbstractExpression;

abstract class AbstractUnary extends AbstractExpression
{
    public function __construct(\Twig_NodeInterface $node, $lineno)
    {
        parent::__construct(['node' => $node], [], $lineno);
    }

    public function compile(Compiler $compiler)
    {
        $compiler->raw(' ');
        $this->operator($compiler);
        $compiler->subcompile($this->getNode('node'));
    }

    abstract public function operator(Compiler $compiler);
}

class_alias('Twig\Node\Expression\Unary\AbstractUnary', 'Twig_Node_Expression_Unary');
vendor/twig/twig/src/Node/Expression/Unary/PosUnary.php000060400000000765150750356250017203 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Unary;

use Twig\Compiler;

class PosUnary extends AbstractUnary
{
    public function operator(Compiler $compiler)
    {
        $compiler->raw('+');
    }
}

class_alias('Twig\Node\Expression\Unary\PosUnary', 'Twig_Node_Expression_Unary_Pos');
vendor/twig/twig/src/Node/Expression/Unary/NegUnary.php000060400000000765150750356250017153 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Unary;

use Twig\Compiler;

class NegUnary extends AbstractUnary
{
    public function operator(Compiler $compiler)
    {
        $compiler->raw('-');
    }
}

class_alias('Twig\Node\Expression\Unary\NegUnary', 'Twig_Node_Expression_Unary_Neg');
vendor/twig/twig/src/Node/Expression/Unary/NotUnary.php000060400000000765150750356250017202 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Unary;

use Twig\Compiler;

class NotUnary extends AbstractUnary
{
    public function operator(Compiler $compiler)
    {
        $compiler->raw('!');
    }
}

class_alias('Twig\Node\Expression\Unary\NotUnary', 'Twig_Node_Expression_Unary_Not');
vendor/twig/twig/src/Node/Expression/ArrayExpression.php000060400000004415150750356250017457 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression;

use Twig\Compiler;

class ArrayExpression extends AbstractExpression
{
    protected $index;

    public function __construct(array $elements, $lineno)
    {
        parent::__construct($elements, [], $lineno);

        $this->index = -1;
        foreach ($this->getKeyValuePairs() as $pair) {
            if ($pair['key'] instanceof ConstantExpression && ctype_digit((string) $pair['key']->getAttribute('value')) && $pair['key']->getAttribute('value') > $this->index) {
                $this->index = $pair['key']->getAttribute('value');
            }
        }
    }

    public function getKeyValuePairs()
    {
        $pairs = [];

        foreach (array_chunk($this->nodes, 2) as $pair) {
            $pairs[] = [
                'key' => $pair[0],
                'value' => $pair[1],
            ];
        }

        return $pairs;
    }

    public function hasElement(AbstractExpression $key)
    {
        foreach ($this->getKeyValuePairs() as $pair) {
            // we compare the string representation of the keys
            // to avoid comparing the line numbers which are not relevant here.
            if ((string) $key === (string) $pair['key']) {
                return true;
            }
        }

        return false;
    }

    public function addElement(AbstractExpression $value, AbstractExpression $key = null)
    {
        if (null === $key) {
            $key = new ConstantExpression(++$this->index, $value->getTemplateLine());
        }

        array_push($this->nodes, $key, $value);
    }

    public function compile(Compiler $compiler)
    {
        $compiler->raw('[');
        $first = true;
        foreach ($this->getKeyValuePairs() as $pair) {
            if (!$first) {
                $compiler->raw(', ');
            }
            $first = false;

            $compiler
                ->subcompile($pair['key'])
                ->raw(' => ')
                ->subcompile($pair['value'])
            ;
        }
        $compiler->raw(']');
    }
}

class_alias('Twig\Node\Expression\ArrayExpression', 'Twig_Node_Expression_Array');
vendor/twig/twig/src/Node/Expression/FunctionExpression.php000060400000003265150750356250020170 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression;

use Twig\Compiler;
use Twig\TwigFunction;

class FunctionExpression extends CallExpression
{
    public function __construct($name, \Twig_NodeInterface $arguments, $lineno)
    {
        parent::__construct(['arguments' => $arguments], ['name' => $name, 'is_defined_test' => false], $lineno);
    }

    public function compile(Compiler $compiler)
    {
        $name = $this->getAttribute('name');
        $function = $compiler->getEnvironment()->getFunction($name);

        $this->setAttribute('name', $name);
        $this->setAttribute('type', 'function');
        $this->setAttribute('thing', $function);
        $this->setAttribute('needs_environment', $function->needsEnvironment());
        $this->setAttribute('needs_context', $function->needsContext());
        $this->setAttribute('arguments', $function->getArguments());
        if ($function instanceof \Twig_FunctionCallableInterface || $function instanceof TwigFunction) {
            $callable = $function->getCallable();
            if ('constant' === $name && $this->getAttribute('is_defined_test')) {
                $callable = 'twig_constant_is_defined';
            }

            $this->setAttribute('callable', $callable);
        }
        if ($function instanceof TwigFunction) {
            $this->setAttribute('is_variadic', $function->isVariadic());
        }

        $this->compileCallable($compiler);
    }
}

class_alias('Twig\Node\Expression\FunctionExpression', 'Twig_Node_Expression_Function');
vendor/twig/twig/src/Node/Expression/FilterExpression.php000060400000003103150750356250017617 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression;

use Twig\Compiler;
use Twig\TwigFilter;

class FilterExpression extends CallExpression
{
    public function __construct(\Twig_NodeInterface $node, ConstantExpression $filterName, \Twig_NodeInterface $arguments, $lineno, $tag = null)
    {
        parent::__construct(['node' => $node, 'filter' => $filterName, 'arguments' => $arguments], [], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        $name = $this->getNode('filter')->getAttribute('value');
        $filter = $compiler->getEnvironment()->getFilter($name);

        $this->setAttribute('name', $name);
        $this->setAttribute('type', 'filter');
        $this->setAttribute('thing', $filter);
        $this->setAttribute('needs_environment', $filter->needsEnvironment());
        $this->setAttribute('needs_context', $filter->needsContext());
        $this->setAttribute('arguments', $filter->getArguments());
        if ($filter instanceof \Twig_FilterCallableInterface || $filter instanceof TwigFilter) {
            $this->setAttribute('callable', $filter->getCallable());
        }
        if ($filter instanceof TwigFilter) {
            $this->setAttribute('is_variadic', $filter->isVariadic());
        }

        $this->compileCallable($compiler);
    }
}

class_alias('Twig\Node\Expression\FilterExpression', 'Twig_Node_Expression_Filter');
vendor/twig/twig/src/Node/Expression/TempNameExpression.php000060400000001301150750356250020076 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression;

use Twig\Compiler;

class TempNameExpression extends AbstractExpression
{
    public function __construct($name, $lineno)
    {
        parent::__construct([], ['name' => $name], $lineno);
    }

    public function compile(Compiler $compiler)
    {
        $compiler
            ->raw('$_')
            ->raw($this->getAttribute('name'))
            ->raw('_')
        ;
    }
}

class_alias('Twig\Node\Expression\TempNameExpression', 'Twig_Node_Expression_TempName');
vendor/twig/twig/src/Node/Expression/Binary/ConcatBinary.php000060400000001013150750356250020110 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class ConcatBinary extends AbstractBinary
{
    public function operator(Compiler $compiler)
    {
        return $compiler->raw('.');
    }
}

class_alias('Twig\Node\Expression\Binary\ConcatBinary', 'Twig_Node_Expression_Binary_Concat');
vendor/twig/twig/src/Node/Expression/Binary/SubBinary.php000060400000001002150750356250017430 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class SubBinary extends AbstractBinary
{
    public function operator(Compiler $compiler)
    {
        return $compiler->raw('-');
    }
}

class_alias('Twig\Node\Expression\Binary\SubBinary', 'Twig_Node_Expression_Binary_Sub');
vendor/twig/twig/src/Node/Expression/Binary/GreaterBinary.php000060400000000770150750356250020303 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class GreaterBinary extends AbstractBinary
{
    public function operator(Compiler $compiler)
    {
        return $compiler->raw('>');
    }
}

class_alias('Twig\Node\Expression\Binary\GreaterBinary', 'Twig_Node_Expression_Binary_Greater');
vendor/twig/twig/src/Node/Expression/Binary/DivBinary.php000060400000001002150750356250017421 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class DivBinary extends AbstractBinary
{
    public function operator(Compiler $compiler)
    {
        return $compiler->raw('/');
    }
}

class_alias('Twig\Node\Expression\Binary\DivBinary', 'Twig_Node_Expression_Binary_Div');
vendor/twig/twig/src/Node/Expression/Binary/AndBinary.php000060400000001003150750356250017402 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class AndBinary extends AbstractBinary
{
    public function operator(Compiler $compiler)
    {
        return $compiler->raw('&&');
    }
}

class_alias('Twig\Node\Expression\Binary\AndBinary', 'Twig_Node_Expression_Binary_And');
vendor/twig/twig/src/Node/Expression/Binary/ModBinary.php000060400000001002150750356250017416 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class ModBinary extends AbstractBinary
{
    public function operator(Compiler $compiler)
    {
        return $compiler->raw('%');
    }
}

class_alias('Twig\Node\Expression\Binary\ModBinary', 'Twig_Node_Expression_Binary_Mod');
vendor/twig/twig/src/Node/Expression/Binary/InBinary.php000060400000001372150750356250017257 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class InBinary extends AbstractBinary
{
    public function compile(Compiler $compiler)
    {
        $compiler
            ->raw('twig_in_filter(')
            ->subcompile($this->getNode('left'))
            ->raw(', ')
            ->subcompile($this->getNode('right'))
            ->raw(')')
        ;
    }

    public function operator(Compiler $compiler)
    {
        return $compiler->raw('in');
    }
}

class_alias('Twig\Node\Expression\Binary\InBinary', 'Twig_Node_Expression_Binary_In');
vendor/twig/twig/src/Node/Expression/Binary/BitwiseAndBinary.php000060400000001027150750356250020737 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class BitwiseAndBinary extends AbstractBinary
{
    public function operator(Compiler $compiler)
    {
        return $compiler->raw('&');
    }
}

class_alias('Twig\Node\Expression\Binary\BitwiseAndBinary', 'Twig_Node_Expression_Binary_BitwiseAnd');
vendor/twig/twig/src/Node/Expression/Binary/AbstractBinary.php000060400000002061150750356250020450 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;
use Twig\Node\Expression\AbstractExpression;

abstract class AbstractBinary extends AbstractExpression
{
    public function __construct(\Twig_NodeInterface $left, \Twig_NodeInterface $right, $lineno)
    {
        parent::__construct(['left' => $left, 'right' => $right], [], $lineno);
    }

    public function compile(Compiler $compiler)
    {
        $compiler
            ->raw('(')
            ->subcompile($this->getNode('left'))
            ->raw(' ')
        ;
        $this->operator($compiler);
        $compiler
            ->raw(' ')
            ->subcompile($this->getNode('right'))
            ->raw(')')
        ;
    }

    abstract public function operator(Compiler $compiler);
}

class_alias('Twig\Node\Expression\Binary\AbstractBinary', 'Twig_Node_Expression_Binary');
vendor/twig/twig/src/Node/Expression/Binary/MatchesBinary.php000060400000001403150750356250020270 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class MatchesBinary extends AbstractBinary
{
    public function compile(Compiler $compiler)
    {
        $compiler
            ->raw('preg_match(')
            ->subcompile($this->getNode('right'))
            ->raw(', ')
            ->subcompile($this->getNode('left'))
            ->raw(')')
        ;
    }

    public function operator(Compiler $compiler)
    {
        return $compiler->raw('');
    }
}

class_alias('Twig\Node\Expression\Binary\MatchesBinary', 'Twig_Node_Expression_Binary_Matches');
vendor/twig/twig/src/Node/Expression/Binary/FloorDivBinary.php000060400000001241150750356250020430 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class FloorDivBinary extends AbstractBinary
{
    public function compile(Compiler $compiler)
    {
        $compiler->raw('(int) floor(');
        parent::compile($compiler);
        $compiler->raw(')');
    }

    public function operator(Compiler $compiler)
    {
        return $compiler->raw('/');
    }
}

class_alias('Twig\Node\Expression\Binary\FloorDivBinary', 'Twig_Node_Expression_Binary_FloorDiv');
vendor/twig/twig/src/Node/Expression/Binary/NotEqualBinary.php000060400000000774150750356250020446 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class NotEqualBinary extends AbstractBinary
{
    public function operator(Compiler $compiler)
    {
        return $compiler->raw('!=');
    }
}

class_alias('Twig\Node\Expression\Binary\NotEqualBinary', 'Twig_Node_Expression_Binary_NotEqual');
vendor/twig/twig/src/Node/Expression/Binary/OrBinary.php000060400000001000150750356250017255 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class OrBinary extends AbstractBinary
{
    public function operator(Compiler $compiler)
    {
        return $compiler->raw('||');
    }
}

class_alias('Twig\Node\Expression\Binary\OrBinary', 'Twig_Node_Expression_Binary_Or');
vendor/twig/twig/src/Node/Expression/Binary/MulBinary.php000060400000001002150750356250017434 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class MulBinary extends AbstractBinary
{
    public function operator(Compiler $compiler)
    {
        return $compiler->raw('*');
    }
}

class_alias('Twig\Node\Expression\Binary\MulBinary', 'Twig_Node_Expression_Binary_Mul');
vendor/twig/twig/src/Node/Expression/Binary/GreaterEqualBinary.php000060400000001010150750356250021257 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class GreaterEqualBinary extends AbstractBinary
{
    public function operator(Compiler $compiler)
    {
        return $compiler->raw('>=');
    }
}

class_alias('Twig\Node\Expression\Binary\GreaterEqualBinary', 'Twig_Node_Expression_Binary_GreaterEqual');
vendor/twig/twig/src/Node/Expression/Binary/NotInBinary.php000060400000001410150750356250017731 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class NotInBinary extends AbstractBinary
{
    public function compile(Compiler $compiler)
    {
        $compiler
            ->raw('!twig_in_filter(')
            ->subcompile($this->getNode('left'))
            ->raw(', ')
            ->subcompile($this->getNode('right'))
            ->raw(')')
        ;
    }

    public function operator(Compiler $compiler)
    {
        return $compiler->raw('not in');
    }
}

class_alias('Twig\Node\Expression\Binary\NotInBinary', 'Twig_Node_Expression_Binary_NotIn');
vendor/twig/twig/src/Node/Expression/Binary/LessBinary.php000060400000000757150750356250017625 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class LessBinary extends AbstractBinary
{
    public function operator(Compiler $compiler)
    {
        return $compiler->raw('<');
    }
}

class_alias('Twig\Node\Expression\Binary\LessBinary', 'Twig_Node_Expression_Binary_Less');
vendor/twig/twig/src/Node/Expression/Binary/PowerBinary.php000060400000001532150750356250020003 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class PowerBinary extends AbstractBinary
{
    public function compile(Compiler $compiler)
    {
        if (\PHP_VERSION_ID >= 50600) {
            return parent::compile($compiler);
        }

        $compiler
            ->raw('pow(')
            ->subcompile($this->getNode('left'))
            ->raw(', ')
            ->subcompile($this->getNode('right'))
            ->raw(')')
        ;
    }

    public function operator(Compiler $compiler)
    {
        return $compiler->raw('**');
    }
}

class_alias('Twig\Node\Expression\Binary\PowerBinary', 'Twig_Node_Expression_Binary_Power');
vendor/twig/twig/src/Node/Expression/Binary/EndsWithBinary.php000060400000001753150750356260020442 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class EndsWithBinary extends AbstractBinary
{
    public function compile(Compiler $compiler)
    {
        $left = $compiler->getVarName();
        $right = $compiler->getVarName();
        $compiler
            ->raw(sprintf('(is_string($%s = ', $left))
            ->subcompile($this->getNode('left'))
            ->raw(sprintf(') && is_string($%s = ', $right))
            ->subcompile($this->getNode('right'))
            ->raw(sprintf(') && (\'\' === $%2$s || $%2$s === substr($%1$s, -strlen($%2$s))))', $left, $right))
        ;
    }

    public function operator(Compiler $compiler)
    {
        return $compiler->raw('');
    }
}

class_alias('Twig\Node\Expression\Binary\EndsWithBinary', 'Twig_Node_Expression_Binary_EndsWith');
vendor/twig/twig/src/Node/Expression/Binary/StartsWithBinary.php000060400000001744150750356260021031 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class StartsWithBinary extends AbstractBinary
{
    public function compile(Compiler $compiler)
    {
        $left = $compiler->getVarName();
        $right = $compiler->getVarName();
        $compiler
            ->raw(sprintf('(is_string($%s = ', $left))
            ->subcompile($this->getNode('left'))
            ->raw(sprintf(') && is_string($%s = ', $right))
            ->subcompile($this->getNode('right'))
            ->raw(sprintf(') && (\'\' === $%2$s || 0 === strpos($%1$s, $%2$s)))', $left, $right))
        ;
    }

    public function operator(Compiler $compiler)
    {
        return $compiler->raw('');
    }
}

class_alias('Twig\Node\Expression\Binary\StartsWithBinary', 'Twig_Node_Expression_Binary_StartsWith');
vendor/twig/twig/src/Node/Expression/Binary/BitwiseXorBinary.php000060400000001027150750356260021006 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class BitwiseXorBinary extends AbstractBinary
{
    public function operator(Compiler $compiler)
    {
        return $compiler->raw('^');
    }
}

class_alias('Twig\Node\Expression\Binary\BitwiseXorBinary', 'Twig_Node_Expression_Binary_BitwiseXor');
vendor/twig/twig/src/Node/Expression/Binary/BitwiseOrBinary.php000060400000001024150750356260020613 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class BitwiseOrBinary extends AbstractBinary
{
    public function operator(Compiler $compiler)
    {
        return $compiler->raw('|');
    }
}

class_alias('Twig\Node\Expression\Binary\BitwiseOrBinary', 'Twig_Node_Expression_Binary_BitwiseOr');
vendor/twig/twig/src/Node/Expression/Binary/AddBinary.php000060400000001002150750356260017370 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class AddBinary extends AbstractBinary
{
    public function operator(Compiler $compiler)
    {
        return $compiler->raw('+');
    }
}

class_alias('Twig\Node\Expression\Binary\AddBinary', 'Twig_Node_Expression_Binary_Add');
vendor/twig/twig/src/Node/Expression/Binary/EqualBinary.php000060400000000763150750356260017764 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class EqualBinary extends AbstractBinary
{
    public function operator(Compiler $compiler)
    {
        return $compiler->raw('==');
    }
}

class_alias('Twig\Node\Expression\Binary\EqualBinary', 'Twig_Node_Expression_Binary_Equal');
vendor/twig/twig/src/Node/Expression/Binary/LessEqualBinary.php000060400000000777150750356260020620 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class LessEqualBinary extends AbstractBinary
{
    public function operator(Compiler $compiler)
    {
        return $compiler->raw('<=');
    }
}

class_alias('Twig\Node\Expression\Binary\LessEqualBinary', 'Twig_Node_Expression_Binary_LessEqual');
vendor/twig/twig/src/Node/Expression/Binary/RangeBinary.php000060400000001372150750356260017746 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Binary;

use Twig\Compiler;

class RangeBinary extends AbstractBinary
{
    public function compile(Compiler $compiler)
    {
        $compiler
            ->raw('range(')
            ->subcompile($this->getNode('left'))
            ->raw(', ')
            ->subcompile($this->getNode('right'))
            ->raw(')')
        ;
    }

    public function operator(Compiler $compiler)
    {
        return $compiler->raw('..');
    }
}

class_alias('Twig\Node\Expression\Binary\RangeBinary', 'Twig_Node_Expression_Binary_Range');
vendor/twig/twig/src/Node/Expression/TestExpression.php000060400000002703150750356260017317 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression;

use Twig\Compiler;
use Twig\TwigTest;

class TestExpression extends CallExpression
{
    public function __construct(\Twig_NodeInterface $node, $name, \Twig_NodeInterface $arguments = null, $lineno)
    {
        $nodes = ['node' => $node];
        if (null !== $arguments) {
            $nodes['arguments'] = $arguments;
        }

        parent::__construct($nodes, ['name' => $name], $lineno);
    }

    public function compile(Compiler $compiler)
    {
        $name = $this->getAttribute('name');
        $test = $compiler->getEnvironment()->getTest($name);

        $this->setAttribute('name', $name);
        $this->setAttribute('type', 'test');
        $this->setAttribute('thing', $test);
        if ($test instanceof TwigTest) {
            $this->setAttribute('arguments', $test->getArguments());
        }
        if ($test instanceof \Twig_TestCallableInterface || $test instanceof TwigTest) {
            $this->setAttribute('callable', $test->getCallable());
        }
        if ($test instanceof TwigTest) {
            $this->setAttribute('is_variadic', $test->isVariadic());
        }

        $this->compileCallable($compiler);
    }
}

class_alias('Twig\Node\Expression\TestExpression', 'Twig_Node_Expression_Test');
vendor/twig/twig/src/Node/Expression/CallExpression.php000060400000026750150750356260017263 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression;

use Twig\Compiler;
use Twig\Error\SyntaxError;
use Twig\Extension\ExtensionInterface;
use Twig\Node\Node;

abstract class CallExpression extends AbstractExpression
{
    private $reflector;

    protected function compileCallable(Compiler $compiler)
    {
        $closingParenthesis = false;
        $isArray = false;
        if ($this->hasAttribute('callable') && $callable = $this->getAttribute('callable')) {
            if (\is_string($callable) && false === strpos($callable, '::')) {
                $compiler->raw($callable);
            } else {
                list($r, $callable) = $this->reflectCallable($callable);
                if ($r instanceof \ReflectionMethod && \is_string($callable[0])) {
                    if ($r->isStatic()) {
                        $compiler->raw(sprintf('%s::%s', $callable[0], $callable[1]));
                    } else {
                        $compiler->raw(sprintf('$this->env->getRuntime(\'%s\')->%s', $callable[0], $callable[1]));
                    }
                } elseif ($r instanceof \ReflectionMethod && $callable[0] instanceof ExtensionInterface) {
                    $compiler->raw(sprintf('$this->env->getExtension(\'%s\')->%s', \get_class($callable[0]), $callable[1]));
                } else {
                    $type = ucfirst($this->getAttribute('type'));
                    $compiler->raw(sprintf('call_user_func_array($this->env->get%s(\'%s\')->getCallable(), ', $type, $this->getAttribute('name')));
                    $closingParenthesis = true;
                    $isArray = true;
                }
            }
        } else {
            $compiler->raw($this->getAttribute('thing')->compile());
        }

        $this->compileArguments($compiler, $isArray);

        if ($closingParenthesis) {
            $compiler->raw(')');
        }
    }

    protected function compileArguments(Compiler $compiler, $isArray = false)
    {
        $compiler->raw($isArray ? '[' : '(');

        $first = true;

        if ($this->hasAttribute('needs_environment') && $this->getAttribute('needs_environment')) {
            $compiler->raw('$this->env');
            $first = false;
        }

        if ($this->hasAttribute('needs_context') && $this->getAttribute('needs_context')) {
            if (!$first) {
                $compiler->raw(', ');
            }
            $compiler->raw('$context');
            $first = false;
        }

        if ($this->hasAttribute('arguments')) {
            foreach ($this->getAttribute('arguments') as $argument) {
                if (!$first) {
                    $compiler->raw(', ');
                }
                $compiler->string($argument);
                $first = false;
            }
        }

        if ($this->hasNode('node')) {
            if (!$first) {
                $compiler->raw(', ');
            }
            $compiler->subcompile($this->getNode('node'));
            $first = false;
        }

        if ($this->hasNode('arguments')) {
            $callable = $this->hasAttribute('callable') ? $this->getAttribute('callable') : null;

            $arguments = $this->getArguments($callable, $this->getNode('arguments'));

            foreach ($arguments as $node) {
                if (!$first) {
                    $compiler->raw(', ');
                }
                $compiler->subcompile($node);
                $first = false;
            }
        }

        $compiler->raw($isArray ? ']' : ')');
    }

    protected function getArguments($callable, $arguments)
    {
        $callType = $this->getAttribute('type');
        $callName = $this->getAttribute('name');

        $parameters = [];
        $named = false;
        foreach ($arguments as $name => $node) {
            if (!\is_int($name)) {
                $named = true;
                $name = $this->normalizeName($name);
            } elseif ($named) {
                throw new SyntaxError(sprintf('Positional arguments cannot be used after named arguments for %s "%s".', $callType, $callName), $this->getTemplateLine(), $this->getSourceContext());
            }

            $parameters[$name] = $node;
        }

        $isVariadic = $this->hasAttribute('is_variadic') && $this->getAttribute('is_variadic');
        if (!$named && !$isVariadic) {
            return $parameters;
        }

        if (!$callable) {
            if ($named) {
                $message = sprintf('Named arguments are not supported for %s "%s".', $callType, $callName);
            } else {
                $message = sprintf('Arbitrary positional arguments are not supported for %s "%s".', $callType, $callName);
            }

            throw new \LogicException($message);
        }

        $callableParameters = $this->getCallableParameters($callable, $isVariadic);
        $arguments = [];
        $names = [];
        $missingArguments = [];
        $optionalArguments = [];
        $pos = 0;
        foreach ($callableParameters as $callableParameter) {
            $names[] = $name = $this->normalizeName($callableParameter->name);

            if (\array_key_exists($name, $parameters)) {
                if (\array_key_exists($pos, $parameters)) {
                    throw new SyntaxError(sprintf('Argument "%s" is defined twice for %s "%s".', $name, $callType, $callName), $this->getTemplateLine(), $this->getSourceContext());
                }

                if (\count($missingArguments)) {
                    throw new SyntaxError(sprintf(
                        'Argument "%s" could not be assigned for %s "%s(%s)" because it is mapped to an internal PHP function which cannot determine default value for optional argument%s "%s".',
                        $name, $callType, $callName, implode(', ', $names), \count($missingArguments) > 1 ? 's' : '', implode('", "', $missingArguments)
                    ), $this->getTemplateLine(), $this->getSourceContext());
                }

                $arguments = array_merge($arguments, $optionalArguments);
                $arguments[] = $parameters[$name];
                unset($parameters[$name]);
                $optionalArguments = [];
            } elseif (\array_key_exists($pos, $parameters)) {
                $arguments = array_merge($arguments, $optionalArguments);
                $arguments[] = $parameters[$pos];
                unset($parameters[$pos]);
                $optionalArguments = [];
                ++$pos;
            } elseif ($callableParameter->isDefaultValueAvailable()) {
                $optionalArguments[] = new ConstantExpression($callableParameter->getDefaultValue(), -1);
            } elseif ($callableParameter->isOptional()) {
                if (empty($parameters)) {
                    break;
                } else {
                    $missingArguments[] = $name;
                }
            } else {
                throw new SyntaxError(sprintf('Value for argument "%s" is required for %s "%s".', $name, $callType, $callName), $this->getTemplateLine(), $this->getSourceContext());
            }
        }

        if ($isVariadic) {
            $arbitraryArguments = new ArrayExpression([], -1);
            foreach ($parameters as $key => $value) {
                if (\is_int($key)) {
                    $arbitraryArguments->addElement($value);
                } else {
                    $arbitraryArguments->addElement($value, new ConstantExpression($key, -1));
                }
                unset($parameters[$key]);
            }

            if ($arbitraryArguments->count()) {
                $arguments = array_merge($arguments, $optionalArguments);
                $arguments[] = $arbitraryArguments;
            }
        }

        if (!empty($parameters)) {
            $unknownParameter = null;
            foreach ($parameters as $parameter) {
                if ($parameter instanceof Node) {
                    $unknownParameter = $parameter;
                    break;
                }
            }

            throw new SyntaxError(
                sprintf(
                    'Unknown argument%s "%s" for %s "%s(%s)".',
                    \count($parameters) > 1 ? 's' : '', implode('", "', array_keys($parameters)), $callType, $callName, implode(', ', $names)
                ),
                $unknownParameter ? $unknownParameter->getTemplateLine() : $this->getTemplateLine(),
                $unknownParameter ? $unknownParameter->getSourceContext() : $this->getSourceContext()
            );
        }

        return $arguments;
    }

    protected function normalizeName($name)
    {
        return strtolower(preg_replace(['/([A-Z]+)([A-Z][a-z])/', '/([a-z\d])([A-Z])/'], ['\\1_\\2', '\\1_\\2'], $name));
    }

    private function getCallableParameters($callable, $isVariadic)
    {
        list($r) = $this->reflectCallable($callable);
        if (null === $r) {
            return [];
        }

        $parameters = $r->getParameters();
        if ($this->hasNode('node')) {
            array_shift($parameters);
        }
        if ($this->hasAttribute('needs_environment') && $this->getAttribute('needs_environment')) {
            array_shift($parameters);
        }
        if ($this->hasAttribute('needs_context') && $this->getAttribute('needs_context')) {
            array_shift($parameters);
        }
        if ($this->hasAttribute('arguments') && null !== $this->getAttribute('arguments')) {
            foreach ($this->getAttribute('arguments') as $argument) {
                array_shift($parameters);
            }
        }
        if ($isVariadic) {
            $argument = end($parameters);
            if ($argument && $argument->isArray() && $argument->isDefaultValueAvailable() && [] === $argument->getDefaultValue()) {
                array_pop($parameters);
            } else {
                $callableName = $r->name;
                if ($r instanceof \ReflectionMethod) {
                    $callableName = $r->getDeclaringClass()->name.'::'.$callableName;
                }

                throw new \LogicException(sprintf('The last parameter of "%s" for %s "%s" must be an array with default value, eg. "array $arg = []".', $callableName, $this->getAttribute('type'), $this->getAttribute('name')));
            }
        }

        return $parameters;
    }

    private function reflectCallable($callable)
    {
        if (null !== $this->reflector) {
            return $this->reflector;
        }

        if (\is_array($callable)) {
            if (!method_exists($callable[0], $callable[1])) {
                // __call()
                return [null, []];
            }
            $r = new \ReflectionMethod($callable[0], $callable[1]);
        } elseif (\is_object($callable) && !$callable instanceof \Closure) {
            $r = new \ReflectionObject($callable);
            $r = $r->getMethod('__invoke');
            $callable = [$callable, '__invoke'];
        } elseif (\is_string($callable) && false !== $pos = strpos($callable, '::')) {
            $class = substr($callable, 0, $pos);
            $method = substr($callable, $pos + 2);
            if (!method_exists($class, $method)) {
                // __staticCall()
                return [null, []];
            }
            $r = new \ReflectionMethod($callable);
            $callable = [$class, $method];
        } else {
            $r = new \ReflectionFunction($callable);
        }

        return $this->reflector = [$r, $callable];
    }
}

class_alias('Twig\Node\Expression\CallExpression', 'Twig_Node_Expression_Call');
vendor/twig/twig/src/Node/Expression/ConstantExpression.php000060400000001227150750356260020171 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression;

use Twig\Compiler;

class ConstantExpression extends AbstractExpression
{
    public function __construct($value, $lineno)
    {
        parent::__construct([], ['value' => $value], $lineno);
    }

    public function compile(Compiler $compiler)
    {
        $compiler->repr($this->getAttribute('value'));
    }
}

class_alias('Twig\Node\Expression\ConstantExpression', 'Twig_Node_Expression_Constant');
vendor/twig/twig/src/Node/Expression/InlinePrint.php000060400000001233150750356260016550 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression;

use Twig\Compiler;
use Twig\Node\Node;

/**
 * @internal
 */
final class InlinePrint extends AbstractExpression
{
    public function __construct(Node $node, $lineno)
    {
        parent::__construct(['node' => $node], [], $lineno);
    }

    public function compile(Compiler $compiler)
    {
        $compiler
            ->raw('print (')
            ->subcompile($this->getNode('node'))
            ->raw(')')
        ;
    }
}
vendor/twig/twig/src/Node/Expression/AbstractExpression.php000060400000001025150750356260020137 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression;

use Twig\Node\Node;

/**
 * Abstract class for all nodes that represents an expression.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
abstract class AbstractExpression extends Node
{
}

class_alias('Twig\Node\Expression\AbstractExpression', 'Twig_Node_Expression');
vendor/twig/twig/src/Node/Expression/AssignNameExpression.php000060400000001151150750356260020421 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression;

use Twig\Compiler;

class AssignNameExpression extends NameExpression
{
    public function compile(Compiler $compiler)
    {
        $compiler
            ->raw('$context[')
            ->string($this->getAttribute('name'))
            ->raw(']')
        ;
    }
}

class_alias('Twig\Node\Expression\AssignNameExpression', 'Twig_Node_Expression_AssignName');
vendor/twig/twig/src/Node/Expression/ConditionalExpression.php000060400000001760150750356260020645 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression;

use Twig\Compiler;

class ConditionalExpression extends AbstractExpression
{
    public function __construct(AbstractExpression $expr1, AbstractExpression $expr2, AbstractExpression $expr3, $lineno)
    {
        parent::__construct(['expr1' => $expr1, 'expr2' => $expr2, 'expr3' => $expr3], [], $lineno);
    }

    public function compile(Compiler $compiler)
    {
        $compiler
            ->raw('((')
            ->subcompile($this->getNode('expr1'))
            ->raw(') ? (')
            ->subcompile($this->getNode('expr2'))
            ->raw(') : (')
            ->subcompile($this->getNode('expr3'))
            ->raw('))')
        ;
    }
}

class_alias('Twig\Node\Expression\ConditionalExpression', 'Twig_Node_Expression_Conditional');
vendor/twig/twig/src/Node/Expression/BlockReferenceExpression.php000060400000005202150750356260021246 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression;

use Twig\Compiler;
use Twig\Node\Node;

/**
 * Represents a block call node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class BlockReferenceExpression extends AbstractExpression
{
    /**
     * @param Node|null $template
     */
    public function __construct(\Twig_NodeInterface $name, $template = null, $lineno, $tag = null)
    {
        if (\is_bool($template)) {
            @trigger_error(sprintf('The %s method "$asString" argument is deprecated since version 1.28 and will be removed in 2.0.', __METHOD__), E_USER_DEPRECATED);

            $template = null;
        }

        $nodes = ['name' => $name];
        if (null !== $template) {
            $nodes['template'] = $template;
        }

        parent::__construct($nodes, ['is_defined_test' => false, 'output' => false], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        if ($this->getAttribute('is_defined_test')) {
            $this->compileTemplateCall($compiler, 'hasBlock');
        } else {
            if ($this->getAttribute('output')) {
                $compiler->addDebugInfo($this);

                $this
                    ->compileTemplateCall($compiler, 'displayBlock')
                    ->raw(";\n");
            } else {
                $this->compileTemplateCall($compiler, 'renderBlock');
            }
        }
    }

    private function compileTemplateCall(Compiler $compiler, $method)
    {
        if (!$this->hasNode('template')) {
            $compiler->write('$this');
        } else {
            $compiler
                ->write('$this->loadTemplate(')
                ->subcompile($this->getNode('template'))
                ->raw(', ')
                ->repr($this->getTemplateName())
                ->raw(', ')
                ->repr($this->getTemplateLine())
                ->raw(')')
            ;
        }

        $compiler->raw(sprintf('->%s', $method));
        $this->compileBlockArguments($compiler);

        return $compiler;
    }

    private function compileBlockArguments(Compiler $compiler)
    {
        $compiler
            ->raw('(')
            ->subcompile($this->getNode('name'))
            ->raw(', $context');

        if (!$this->hasNode('template')) {
            $compiler->raw(', $blocks');
        }

        return $compiler->raw(')');
    }
}

class_alias('Twig\Node\Expression\BlockReferenceExpression', 'Twig_Node_Expression_BlockReference');
vendor/twig/twig/src/Node/Expression/NameExpression.php000060400000007173150750356260017266 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression;

use Twig\Compiler;

class NameExpression extends AbstractExpression
{
    protected $specialVars = [
        '_self' => '$this',
        '_context' => '$context',
        '_charset' => '$this->env->getCharset()',
    ];

    public function __construct($name, $lineno)
    {
        parent::__construct([], ['name' => $name, 'is_defined_test' => false, 'ignore_strict_check' => false, 'always_defined' => false], $lineno);
    }

    public function compile(Compiler $compiler)
    {
        $name = $this->getAttribute('name');

        $compiler->addDebugInfo($this);

        if ($this->getAttribute('is_defined_test')) {
            if ($this->isSpecial()) {
                $compiler->repr(true);
            } elseif (\PHP_VERSION_ID >= 700400) {
                $compiler
                    ->raw('array_key_exists(')
                    ->string($name)
                    ->raw(', $context)')
                ;
            } else {
                $compiler
                    ->raw('(isset($context[')
                    ->string($name)
                    ->raw(']) || array_key_exists(')
                    ->string($name)
                    ->raw(', $context))')
                ;
            }
        } elseif ($this->isSpecial()) {
            $compiler->raw($this->specialVars[$name]);
        } elseif ($this->getAttribute('always_defined')) {
            $compiler
                ->raw('$context[')
                ->string($name)
                ->raw(']')
            ;
        } else {
            if (\PHP_VERSION_ID >= 70000) {
                // use PHP 7 null coalescing operator
                $compiler
                    ->raw('($context[')
                    ->string($name)
                    ->raw('] ?? ')
                ;

                if ($this->getAttribute('ignore_strict_check') || !$compiler->getEnvironment()->isStrictVariables()) {
                    $compiler->raw('null)');
                } else {
                    $compiler->raw('$this->getContext($context, ')->string($name)->raw('))');
                }
            } elseif (\PHP_VERSION_ID >= 50400) {
                // PHP 5.4 ternary operator performance was optimized
                $compiler
                    ->raw('(isset($context[')
                    ->string($name)
                    ->raw(']) ? $context[')
                    ->string($name)
                    ->raw('] : ')
                ;

                if ($this->getAttribute('ignore_strict_check') || !$compiler->getEnvironment()->isStrictVariables()) {
                    $compiler->raw('null)');
                } else {
                    $compiler->raw('$this->getContext($context, ')->string($name)->raw('))');
                }
            } else {
                $compiler
                    ->raw('$this->getContext($context, ')
                    ->string($name)
                ;

                if ($this->getAttribute('ignore_strict_check')) {
                    $compiler->raw(', true');
                }

                $compiler
                    ->raw(')')
                ;
            }
        }
    }

    public function isSpecial()
    {
        return isset($this->specialVars[$this->getAttribute('name')]);
    }

    public function isSimple()
    {
        return !$this->isSpecial() && !$this->getAttribute('is_defined_test');
    }
}

class_alias('Twig\Node\Expression\NameExpression', 'Twig_Node_Expression_Name');
vendor/twig/twig/src/Node/Expression/Filter/DefaultFilter.php000060400000003556150750356260020306 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression\Filter;

use Twig\Compiler;
use Twig\Node\Expression\ConditionalExpression;
use Twig\Node\Expression\ConstantExpression;
use Twig\Node\Expression\FilterExpression;
use Twig\Node\Expression\GetAttrExpression;
use Twig\Node\Expression\NameExpression;
use Twig\Node\Expression\Test\DefinedTest;
use Twig\Node\Node;

/**
 * Returns the value or the default value when it is undefined or empty.
 *
 *  {{ var.foo|default('foo item on var is not defined') }}
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class DefaultFilter extends FilterExpression
{
    public function __construct(\Twig_NodeInterface $node, ConstantExpression $filterName, \Twig_NodeInterface $arguments, $lineno, $tag = null)
    {
        $default = new FilterExpression($node, new ConstantExpression('default', $node->getTemplateLine()), $arguments, $node->getTemplateLine());

        if ('default' === $filterName->getAttribute('value') && ($node instanceof NameExpression || $node instanceof GetAttrExpression)) {
            $test = new DefinedTest(clone $node, 'defined', new Node(), $node->getTemplateLine());
            $false = \count($arguments) ? $arguments->getNode(0) : new ConstantExpression('', $node->getTemplateLine());

            $node = new ConditionalExpression($test, $default, $false, $node->getTemplateLine());
        } else {
            $node = $default;
        }

        parent::__construct($node, $filterName, $arguments, $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        $compiler->subcompile($this->getNode('node'));
    }
}

class_alias('Twig\Node\Expression\Filter\DefaultFilter', 'Twig_Node_Expression_Filter_Default');
vendor/twig/twig/src/Node/Expression/GetAttrExpression.php000060400000005252150750356260017754 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression;

use Twig\Compiler;
use Twig\Template;

class GetAttrExpression extends AbstractExpression
{
    public function __construct(AbstractExpression $node, AbstractExpression $attribute, AbstractExpression $arguments = null, $type, $lineno)
    {
        $nodes = ['node' => $node, 'attribute' => $attribute];
        if (null !== $arguments) {
            $nodes['arguments'] = $arguments;
        }

        parent::__construct($nodes, ['type' => $type, 'is_defined_test' => false, 'ignore_strict_check' => false, 'disable_c_ext' => false], $lineno);
    }

    public function compile(Compiler $compiler)
    {
        if ($this->getAttribute('disable_c_ext')) {
            @trigger_error(sprintf('Using the "disable_c_ext" attribute on %s is deprecated since version 1.30 and will be removed in 2.0.', __CLASS__), E_USER_DEPRECATED);
        }

        if (\function_exists('twig_template_get_attributes') && !$this->getAttribute('disable_c_ext')) {
            $compiler->raw('twig_template_get_attributes($this, ');
        } else {
            $compiler->raw('$this->getAttribute(');
        }

        if ($this->getAttribute('ignore_strict_check')) {
            $this->getNode('node')->setAttribute('ignore_strict_check', true);
        }

        $compiler->subcompile($this->getNode('node'));

        $compiler->raw(', ')->subcompile($this->getNode('attribute'));

        // only generate optional arguments when needed (to make generated code more readable)
        $needFourth = $this->getAttribute('ignore_strict_check');
        $needThird = $needFourth || $this->getAttribute('is_defined_test');
        $needSecond = $needThird || Template::ANY_CALL !== $this->getAttribute('type');
        $needFirst = $needSecond || $this->hasNode('arguments');

        if ($needFirst) {
            if ($this->hasNode('arguments')) {
                $compiler->raw(', ')->subcompile($this->getNode('arguments'));
            } else {
                $compiler->raw(', []');
            }
        }

        if ($needSecond) {
            $compiler->raw(', ')->repr($this->getAttribute('type'));
        }

        if ($needThird) {
            $compiler->raw(', ')->repr($this->getAttribute('is_defined_test'));
        }

        if ($needFourth) {
            $compiler->raw(', ')->repr($this->getAttribute('ignore_strict_check'));
        }

        $compiler->raw(')');
    }
}

class_alias('Twig\Node\Expression\GetAttrExpression', 'Twig_Node_Expression_GetAttr');
vendor/twig/twig/src/Node/Expression/ArrowFunctionExpression.php000060400000003034150750356260021176 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node\Expression;

use Twig\Compiler;
use Twig\Node\Node;

/**
 * Represents an arrow function.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class ArrowFunctionExpression extends AbstractExpression
{
    public function __construct(AbstractExpression $expr, Node $names, $lineno, $tag = null)
    {
        parent::__construct(['expr' => $expr, 'names' => $names], [], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        $compiler
            ->addDebugInfo($this)
            ->raw('function (')
        ;
        foreach ($this->getNode('names') as $i => $name) {
            if ($i) {
                $compiler->raw(', ');
            }

            $compiler
                ->raw('$__')
                ->raw($name->getAttribute('name'))
                ->raw('__')
            ;
        }
        $compiler
            ->raw(') use ($context) { ')
        ;
        foreach ($this->getNode('names') as $name) {
            $compiler
                ->raw('$context["')
                ->raw($name->getAttribute('name'))
                ->raw('"] = $__')
                ->raw($name->getAttribute('name'))
                ->raw('__; ')
            ;
        }
        $compiler
            ->raw('return ')
            ->subcompile($this->getNode('expr'))
            ->raw('; }')
        ;
    }
}
vendor/twig/twig/src/Node/EmbedNode.php000060400000003015150750356260014000 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;
use Twig\Node\Expression\AbstractExpression;
use Twig\Node\Expression\ConstantExpression;

/**
 * Represents an embed node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class EmbedNode extends IncludeNode
{
    // we don't inject the module to avoid node visitors to traverse it twice (as it will be already visited in the main module)
    public function __construct($name, $index, AbstractExpression $variables = null, $only = false, $ignoreMissing = false, $lineno, $tag = null)
    {
        parent::__construct(new ConstantExpression('not_used', $lineno), $variables, $only, $ignoreMissing, $lineno, $tag);

        $this->setAttribute('name', $name);
        // to be removed in 2.0, used name instead
        $this->setAttribute('filename', $name);
        $this->setAttribute('index', $index);
    }

    protected function addGetTemplate(Compiler $compiler)
    {
        $compiler
            ->write('$this->loadTemplate(')
            ->string($this->getAttribute('name'))
            ->raw(', ')
            ->repr($this->getTemplateName())
            ->raw(', ')
            ->repr($this->getTemplateLine())
            ->raw(', ')
            ->string($this->getAttribute('index'))
            ->raw(')')
        ;
    }
}

class_alias('Twig\Node\EmbedNode', 'Twig_Node_Embed');
vendor/twig/twig/src/Node/BodyNode.php000060400000000615150750356260013664 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

/**
 * Represents a body node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class BodyNode extends Node
{
}

class_alias('Twig\Node\BodyNode', 'Twig_Node_Body');
vendor/twig/twig/src/Node/AutoEscapeNode.php000060400000001627150750356260015024 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Node;

use Twig\Compiler;

/**
 * Represents an autoescape node.
 *
 * The value is the escaping strategy (can be html, js, ...)
 *
 * The true value is equivalent to html.
 *
 * If autoescaping is disabled, then the value is false.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class AutoEscapeNode extends Node
{
    public function __construct($value, \Twig_NodeInterface $body, $lineno, $tag = 'autoescape')
    {
        parent::__construct(['body' => $body], ['value' => $value], $lineno, $tag);
    }

    public function compile(Compiler $compiler)
    {
        $compiler->subcompile($this->getNode('body'));
    }
}

class_alias('Twig\Node\AutoEscapeNode', 'Twig_Node_AutoEscape');
vendor/twig/twig/src/TemplateWrapper.php000060400000007636150750356260014422 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig;

/**
 * Exposes a template to userland.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
final class TemplateWrapper
{
    private $env;
    private $template;

    /**
     * This method is for internal use only and should never be called
     * directly (use Twig\Environment::load() instead).
     *
     * @internal
     */
    public function __construct(Environment $env, Template $template)
    {
        $this->env = $env;
        $this->template = $template;
    }

    /**
     * Renders the template.
     *
     * @param array $context An array of parameters to pass to the template
     *
     * @return string The rendered template
     */
    public function render($context = [])
    {
        // using func_get_args() allows to not expose the blocks argument
        // as it should only be used by internal code
        return $this->template->render($context, \func_num_args() > 1 ? func_get_arg(1) : []);
    }

    /**
     * Displays the template.
     *
     * @param array $context An array of parameters to pass to the template
     */
    public function display($context = [])
    {
        // using func_get_args() allows to not expose the blocks argument
        // as it should only be used by internal code
        $this->template->display($context, \func_num_args() > 1 ? func_get_arg(1) : []);
    }

    /**
     * Checks if a block is defined.
     *
     * @param string $name    The block name
     * @param array  $context An array of parameters to pass to the template
     *
     * @return bool
     */
    public function hasBlock($name, $context = [])
    {
        return $this->template->hasBlock($name, $context);
    }

    /**
     * Returns defined block names in the template.
     *
     * @param array $context An array of parameters to pass to the template
     *
     * @return string[] An array of defined template block names
     */
    public function getBlockNames($context = [])
    {
        return $this->template->getBlockNames($context);
    }

    /**
     * Renders a template block.
     *
     * @param string $name    The block name to render
     * @param array  $context An array of parameters to pass to the template
     *
     * @return string The rendered block
     */
    public function renderBlock($name, $context = [])
    {
        $context = $this->env->mergeGlobals($context);
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        try {
            $this->template->displayBlock($name, $context);
        } catch (\Exception $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }

            throw $e;
        } catch (\Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }

            throw $e;
        }

        return ob_get_clean();
    }

    /**
     * Displays a template block.
     *
     * @param string $name    The block name to render
     * @param array  $context An array of parameters to pass to the template
     */
    public function displayBlock($name, $context = [])
    {
        $this->template->displayBlock($name, $this->env->mergeGlobals($context));
    }

    /**
     * @return Source
     */
    public function getSourceContext()
    {
        return $this->template->getSourceContext();
    }

    /**
     * @return string
     */
    public function getTemplateName()
    {
        return $this->template->getTemplateName();
    }

    /**
     * @internal
     *
     * @return Template
     */
    public function unwrap()
    {
        return $this->template;
    }
}

class_alias('Twig\TemplateWrapper', 'Twig_TemplateWrapper');
vendor/twig/twig/src/TwigFilter.php000060400000005375150750356260013364 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig;

use Twig\Node\Node;

/**
 * Represents a template filter.
 *
 * @final
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class TwigFilter
{
    protected $name;
    protected $callable;
    protected $options;
    protected $arguments = [];

    public function __construct($name, $callable, array $options = [])
    {
        $this->name = $name;
        $this->callable = $callable;
        $this->options = array_merge([
            'needs_environment' => false,
            'needs_context' => false,
            'is_variadic' => false,
            'is_safe' => null,
            'is_safe_callback' => null,
            'pre_escape' => null,
            'preserves_safety' => null,
            'node_class' => '\Twig\Node\Expression\FilterExpression',
            'deprecated' => false,
            'alternative' => null,
        ], $options);
    }

    public function getName()
    {
        return $this->name;
    }

    public function getCallable()
    {
        return $this->callable;
    }

    public function getNodeClass()
    {
        return $this->options['node_class'];
    }

    public function setArguments($arguments)
    {
        $this->arguments = $arguments;
    }

    public function getArguments()
    {
        return $this->arguments;
    }

    public function needsEnvironment()
    {
        return $this->options['needs_environment'];
    }

    public function needsContext()
    {
        return $this->options['needs_context'];
    }

    public function getSafe(Node $filterArgs)
    {
        if (null !== $this->options['is_safe']) {
            return $this->options['is_safe'];
        }

        if (null !== $this->options['is_safe_callback']) {
            return \call_user_func($this->options['is_safe_callback'], $filterArgs);
        }
    }

    public function getPreservesSafety()
    {
        return $this->options['preserves_safety'];
    }

    public function getPreEscape()
    {
        return $this->options['pre_escape'];
    }

    public function isVariadic()
    {
        return $this->options['is_variadic'];
    }

    public function isDeprecated()
    {
        return (bool) $this->options['deprecated'];
    }

    public function getDeprecatedVersion()
    {
        return $this->options['deprecated'];
    }

    public function getAlternative()
    {
        return $this->options['alternative'];
    }
}

class_alias('Twig\TwigFilter', 'Twig_SimpleFilter');

// Ensure that the aliased name is loaded to keep BC for classes implementing the typehint with the old aliased name.
class_exists('Twig\Node\Node');
vendor/twig/twig/src/Error/SyntaxError.php000060400000002706150750356260014670 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Error;

/**
 * \Exception thrown when a syntax error occurs during lexing or parsing of a template.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class SyntaxError extends Error
{
    /**
     * Tweaks the error message to include suggestions.
     *
     * @param string $name  The original name of the item that does not exist
     * @param array  $items An array of possible items
     */
    public function addSuggestions($name, array $items)
    {
        if (!$alternatives = self::computeAlternatives($name, $items)) {
            return;
        }

        $this->appendMessage(sprintf(' Did you mean "%s"?', implode('", "', $alternatives)));
    }

    /**
     * @internal
     *
     * To be merged with the addSuggestions() method in 2.0.
     */
    public static function computeAlternatives($name, $items)
    {
        $alternatives = [];
        foreach ($items as $item) {
            $lev = levenshtein($name, $item);
            if ($lev <= \strlen($name) / 3 || false !== strpos($item, $name)) {
                $alternatives[$item] = $lev;
            }
        }
        asort($alternatives);

        return array_keys($alternatives);
    }
}

class_alias('Twig\Error\SyntaxError', 'Twig_Error_Syntax');
vendor/twig/twig/src/Error/RuntimeError.php000060400000000714150750356260015022 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Error;

/**
 * Exception thrown when an error occurs at runtime.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class RuntimeError extends Error
{
}

class_alias('Twig\Error\RuntimeError', 'Twig_Error_Runtime');
vendor/twig/twig/src/Error/LoaderError.php000060400000000700150750356260014600 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Error;

/**
 * Exception thrown when an error occurs during template loading.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class LoaderError extends Error
{
}

class_alias('Twig\Error\LoaderError', 'Twig_Error_Loader');
vendor/twig/twig/src/Error/Error.php000060400000023330150750356260013455 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Error;

use Twig\Source;
use Twig\Template;

/**
 * Twig base exception.
 *
 * This exception class and its children must only be used when
 * an error occurs during the loading of a template, when a syntax error
 * is detected in a template, or when rendering a template. Other
 * errors must use regular PHP exception classes (like when the template
 * cache directory is not writable for instance).
 *
 * To help debugging template issues, this class tracks the original template
 * name and line where the error occurred.
 *
 * Whenever possible, you must set these information (original template name
 * and line number) yourself by passing them to the constructor. If some or all
 * these information are not available from where you throw the exception, then
 * this class will guess them automatically (when the line number is set to -1
 * and/or the name is set to null). As this is a costly operation, this
 * can be disabled by passing false for both the name and the line number
 * when creating a new instance of this class.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class Error extends \Exception
{
    protected $lineno;
    // to be renamed to name in 2.0
    protected $filename;
    protected $rawMessage;

    private $sourcePath;
    private $sourceCode;

    /**
     * Constructor.
     *
     * Set the line number to -1 to enable its automatic guessing.
     * Set the name to null to enable its automatic guessing.
     *
     * @param string             $message  The error message
     * @param int                $lineno   The template line where the error occurred
     * @param Source|string|null $source   The source context where the error occurred
     * @param \Exception         $previous The previous exception
     */
    public function __construct($message, $lineno = -1, $source = null, \Exception $previous = null)
    {
        if (null === $source) {
            $name = null;
        } elseif (!$source instanceof Source) {
            // for compat with the Twig C ext., passing the template name as string is accepted
            $name = $source;
        } else {
            $name = $source->getName();
            $this->sourceCode = $source->getCode();
            $this->sourcePath = $source->getPath();
        }
        parent::__construct('', 0, $previous);

        $this->lineno = $lineno;
        $this->filename = $name;
        $this->rawMessage = $message;
        $this->updateRepr();
    }

    /**
     * Gets the raw message.
     *
     * @return string The raw message
     */
    public function getRawMessage()
    {
        return $this->rawMessage;
    }

    /**
     * Gets the logical name where the error occurred.
     *
     * @return string The name
     *
     * @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead.
     */
    public function getTemplateFile()
    {
        @trigger_error(sprintf('The "%s" method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', __METHOD__), E_USER_DEPRECATED);

        return $this->filename;
    }

    /**
     * Sets the logical name where the error occurred.
     *
     * @param string $name The name
     *
     * @deprecated since 1.27 (to be removed in 2.0). Use setSourceContext() instead.
     */
    public function setTemplateFile($name)
    {
        @trigger_error(sprintf('The "%s" method is deprecated since version 1.27 and will be removed in 2.0. Use setSourceContext() instead.', __METHOD__), E_USER_DEPRECATED);

        $this->filename = $name;

        $this->updateRepr();
    }

    /**
     * Gets the logical name where the error occurred.
     *
     * @return string The name
     *
     * @deprecated since 1.29 (to be removed in 2.0). Use getSourceContext() instead.
     */
    public function getTemplateName()
    {
        @trigger_error(sprintf('The "%s" method is deprecated since version 1.29 and will be removed in 2.0. Use getSourceContext() instead.', __METHOD__), E_USER_DEPRECATED);

        return $this->filename;
    }

    /**
     * Sets the logical name where the error occurred.
     *
     * @param string $name The name
     *
     * @deprecated since 1.29 (to be removed in 2.0). Use setSourceContext() instead.
     */
    public function setTemplateName($name)
    {
        @trigger_error(sprintf('The "%s" method is deprecated since version 1.29 and will be removed in 2.0. Use setSourceContext() instead.', __METHOD__), E_USER_DEPRECATED);

        $this->filename = $name;
        $this->sourceCode = $this->sourcePath = null;

        $this->updateRepr();
    }

    /**
     * Gets the template line where the error occurred.
     *
     * @return int The template line
     */
    public function getTemplateLine()
    {
        return $this->lineno;
    }

    /**
     * Sets the template line where the error occurred.
     *
     * @param int $lineno The template line
     */
    public function setTemplateLine($lineno)
    {
        $this->lineno = $lineno;

        $this->updateRepr();
    }

    /**
     * Gets the source context of the Twig template where the error occurred.
     *
     * @return Source|null
     */
    public function getSourceContext()
    {
        return $this->filename ? new Source($this->sourceCode, $this->filename, $this->sourcePath) : null;
    }

    /**
     * Sets the source context of the Twig template where the error occurred.
     */
    public function setSourceContext(Source $source = null)
    {
        if (null === $source) {
            $this->sourceCode = $this->filename = $this->sourcePath = null;
        } else {
            $this->sourceCode = $source->getCode();
            $this->filename = $source->getName();
            $this->sourcePath = $source->getPath();
        }

        $this->updateRepr();
    }

    public function guess()
    {
        $this->guessTemplateInfo();
        $this->updateRepr();
    }

    public function appendMessage($rawMessage)
    {
        $this->rawMessage .= $rawMessage;
        $this->updateRepr();
    }

    /**
     * @internal
     */
    protected function updateRepr()
    {
        $this->message = $this->rawMessage;

        if ($this->sourcePath && $this->lineno > 0) {
            $this->file = $this->sourcePath;
            $this->line = $this->lineno;

            return;
        }

        $dot = false;
        if ('.' === substr($this->message, -1)) {
            $this->message = substr($this->message, 0, -1);
            $dot = true;
        }

        $questionMark = false;
        if ('?' === substr($this->message, -1)) {
            $this->message = substr($this->message, 0, -1);
            $questionMark = true;
        }

        if ($this->filename) {
            if (\is_string($this->filename) || (\is_object($this->filename) && method_exists($this->filename, '__toString'))) {
                $name = sprintf('"%s"', $this->filename);
            } else {
                $name = json_encode($this->filename);
            }
            $this->message .= sprintf(' in %s', $name);
        }

        if ($this->lineno && $this->lineno >= 0) {
            $this->message .= sprintf(' at line %d', $this->lineno);
        }

        if ($dot) {
            $this->message .= '.';
        }

        if ($questionMark) {
            $this->message .= '?';
        }
    }

    /**
     * @internal
     */
    protected function guessTemplateInfo()
    {
        $template = null;
        $templateClass = null;

        $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS | DEBUG_BACKTRACE_PROVIDE_OBJECT);
        foreach ($backtrace as $trace) {
            if (isset($trace['object']) && $trace['object'] instanceof Template && 'Twig_Template' !== \get_class($trace['object'])) {
                $currentClass = \get_class($trace['object']);
                $isEmbedContainer = 0 === strpos($templateClass, $currentClass);
                if (null === $this->filename || ($this->filename == $trace['object']->getTemplateName() && !$isEmbedContainer)) {
                    $template = $trace['object'];
                    $templateClass = \get_class($trace['object']);
                }
            }
        }

        // update template name
        if (null !== $template && null === $this->filename) {
            $this->filename = $template->getTemplateName();
        }

        // update template path if any
        if (null !== $template && null === $this->sourcePath) {
            $src = $template->getSourceContext();
            $this->sourceCode = $src->getCode();
            $this->sourcePath = $src->getPath();
        }

        if (null === $template || $this->lineno > -1) {
            return;
        }

        $r = new \ReflectionObject($template);
        $file = $r->getFileName();

        $exceptions = [$e = $this];
        while ($e instanceof self && $e = $e->getPrevious()) {
            $exceptions[] = $e;
        }

        while ($e = array_pop($exceptions)) {
            $traces = $e->getTrace();
            array_unshift($traces, ['file' => $e->getFile(), 'line' => $e->getLine()]);

            while ($trace = array_shift($traces)) {
                if (!isset($trace['file']) || !isset($trace['line']) || $file != $trace['file']) {
                    continue;
                }

                foreach ($template->getDebugInfo() as $codeLine => $templateLine) {
                    if ($codeLine <= $trace['line']) {
                        // update template line
                        $this->lineno = $templateLine;

                        return;
                    }
                }
            }
        }
    }
}

class_alias('Twig\Error\Error', 'Twig_Error');
vendor/twig/twig/src/TwigTest.php000060400000003227150750356260013050 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig;

/**
 * Represents a template test.
 *
 * @final
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class TwigTest
{
    protected $name;
    protected $callable;
    protected $options;

    private $arguments = [];

    public function __construct($name, $callable, array $options = [])
    {
        $this->name = $name;
        $this->callable = $callable;
        $this->options = array_merge([
            'is_variadic' => false,
            'node_class' => '\Twig\Node\Expression\TestExpression',
            'deprecated' => false,
            'alternative' => null,
        ], $options);
    }

    public function getName()
    {
        return $this->name;
    }

    public function getCallable()
    {
        return $this->callable;
    }

    public function getNodeClass()
    {
        return $this->options['node_class'];
    }

    public function isVariadic()
    {
        return $this->options['is_variadic'];
    }

    public function isDeprecated()
    {
        return (bool) $this->options['deprecated'];
    }

    public function getDeprecatedVersion()
    {
        return $this->options['deprecated'];
    }

    public function getAlternative()
    {
        return $this->options['alternative'];
    }

    public function setArguments($arguments)
    {
        $this->arguments = $arguments;
    }

    public function getArguments()
    {
        return $this->arguments;
    }
}

class_alias('Twig\TwigTest', 'Twig_SimpleTest');
vendor/twig/twig/src/Parser.php000060400000032630150750356260012532 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig;

use Twig\Error\SyntaxError;
use Twig\Node\BlockNode;
use Twig\Node\BlockReferenceNode;
use Twig\Node\BodyNode;
use Twig\Node\Expression\AbstractExpression;
use Twig\Node\MacroNode;
use Twig\Node\ModuleNode;
use Twig\Node\Node;
use Twig\Node\NodeCaptureInterface;
use Twig\Node\NodeOutputInterface;
use Twig\Node\PrintNode;
use Twig\Node\TextNode;
use Twig\NodeVisitor\NodeVisitorInterface;
use Twig\TokenParser\TokenParserInterface;

/**
 * Default parser implementation.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class Parser implements \Twig_ParserInterface
{
    protected $stack = [];
    protected $stream;
    protected $parent;
    protected $handlers;
    protected $visitors;
    protected $expressionParser;
    protected $blocks;
    protected $blockStack;
    protected $macros;
    protected $env;
    protected $reservedMacroNames;
    protected $importedSymbols;
    protected $traits;
    protected $embeddedTemplates = [];
    private $varNameSalt = 0;

    public function __construct(Environment $env)
    {
        $this->env = $env;
    }

    /**
     * @deprecated since 1.27 (to be removed in 2.0)
     */
    public function getEnvironment()
    {
        @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0.', E_USER_DEPRECATED);

        return $this->env;
    }

    public function getVarName()
    {
        return sprintf('__internal_%s', hash('sha256', __METHOD__.$this->stream->getSourceContext()->getCode().$this->varNameSalt++));
    }

    /**
     * @deprecated since 1.27 (to be removed in 2.0). Use $parser->getStream()->getSourceContext()->getPath() instead.
     */
    public function getFilename()
    {
        @trigger_error(sprintf('The "%s" method is deprecated since version 1.27 and will be removed in 2.0. Use $parser->getStream()->getSourceContext()->getPath() instead.', __METHOD__), E_USER_DEPRECATED);

        return $this->stream->getSourceContext()->getName();
    }

    public function parse(TokenStream $stream, $test = null, $dropNeedle = false)
    {
        // push all variables into the stack to keep the current state of the parser
        // using get_object_vars() instead of foreach would lead to https://bugs.php.net/71336
        // This hack can be removed when min version if PHP 7.0
        $vars = [];
        foreach ($this as $k => $v) {
            $vars[$k] = $v;
        }

        unset($vars['stack'], $vars['env'], $vars['handlers'], $vars['visitors'], $vars['expressionParser'], $vars['reservedMacroNames']);
        $this->stack[] = $vars;

        // tag handlers
        if (null === $this->handlers) {
            $this->handlers = $this->env->getTokenParsers();
            $this->handlers->setParser($this);
        }

        // node visitors
        if (null === $this->visitors) {
            $this->visitors = $this->env->getNodeVisitors();
        }

        if (null === $this->expressionParser) {
            $this->expressionParser = new ExpressionParser($this, $this->env);
        }

        $this->stream = $stream;
        $this->parent = null;
        $this->blocks = [];
        $this->macros = [];
        $this->traits = [];
        $this->blockStack = [];
        $this->importedSymbols = [[]];
        $this->embeddedTemplates = [];
        $this->varNameSalt = 0;

        try {
            $body = $this->subparse($test, $dropNeedle);

            if (null !== $this->parent && null === $body = $this->filterBodyNodes($body)) {
                $body = new Node();
            }
        } catch (SyntaxError $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->stream->getSourceContext());
            }

            if (!$e->getTemplateLine()) {
                $e->setTemplateLine($this->stream->getCurrent()->getLine());
            }

            throw $e;
        }

        $node = new ModuleNode(new BodyNode([$body]), $this->parent, new Node($this->blocks), new Node($this->macros), new Node($this->traits), $this->embeddedTemplates, $stream->getSourceContext());

        $traverser = new NodeTraverser($this->env, $this->visitors);

        $node = $traverser->traverse($node);

        // restore previous stack so previous parse() call can resume working
        foreach (array_pop($this->stack) as $key => $val) {
            $this->$key = $val;
        }

        return $node;
    }

    public function subparse($test, $dropNeedle = false)
    {
        $lineno = $this->getCurrentToken()->getLine();
        $rv = [];
        while (!$this->stream->isEOF()) {
            switch ($this->getCurrentToken()->getType()) {
                case Token::TEXT_TYPE:
                    $token = $this->stream->next();
                    $rv[] = new TextNode($token->getValue(), $token->getLine());
                    break;

                case Token::VAR_START_TYPE:
                    $token = $this->stream->next();
                    $expr = $this->expressionParser->parseExpression();
                    $this->stream->expect(Token::VAR_END_TYPE);
                    $rv[] = new PrintNode($expr, $token->getLine());
                    break;

                case Token::BLOCK_START_TYPE:
                    $this->stream->next();
                    $token = $this->getCurrentToken();

                    if (Token::NAME_TYPE !== $token->getType()) {
                        throw new SyntaxError('A block must start with a tag name.', $token->getLine(), $this->stream->getSourceContext());
                    }

                    if (null !== $test && \call_user_func($test, $token)) {
                        if ($dropNeedle) {
                            $this->stream->next();
                        }

                        if (1 === \count($rv)) {
                            return $rv[0];
                        }

                        return new Node($rv, [], $lineno);
                    }

                    $subparser = $this->handlers->getTokenParser($token->getValue());
                    if (null === $subparser) {
                        if (null !== $test) {
                            $e = new SyntaxError(sprintf('Unexpected "%s" tag', $token->getValue()), $token->getLine(), $this->stream->getSourceContext());

                            if (\is_array($test) && isset($test[0]) && $test[0] instanceof TokenParserInterface) {
                                $e->appendMessage(sprintf(' (expecting closing tag for the "%s" tag defined near line %s).', $test[0]->getTag(), $lineno));
                            }
                        } else {
                            $e = new SyntaxError(sprintf('Unknown "%s" tag.', $token->getValue()), $token->getLine(), $this->stream->getSourceContext());
                            $e->addSuggestions($token->getValue(), array_keys($this->env->getTags()));
                        }

                        throw $e;
                    }

                    $this->stream->next();

                    $node = $subparser->parse($token);
                    if (null !== $node) {
                        $rv[] = $node;
                    }
                    break;

                default:
                    throw new SyntaxError('Lexer or parser ended up in unsupported state.', $this->getCurrentToken()->getLine(), $this->stream->getSourceContext());
            }
        }

        if (1 === \count($rv)) {
            return $rv[0];
        }

        return new Node($rv, [], $lineno);
    }

    /**
     * @deprecated since 1.27 (to be removed in 2.0)
     */
    public function addHandler($name, $class)
    {
        @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0.', E_USER_DEPRECATED);

        $this->handlers[$name] = $class;
    }

    /**
     * @deprecated since 1.27 (to be removed in 2.0)
     */
    public function addNodeVisitor(NodeVisitorInterface $visitor)
    {
        @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0.', E_USER_DEPRECATED);

        $this->visitors[] = $visitor;
    }

    public function getBlockStack()
    {
        return $this->blockStack;
    }

    public function peekBlockStack()
    {
        return isset($this->blockStack[\count($this->blockStack) - 1]) ? $this->blockStack[\count($this->blockStack) - 1] : null;
    }

    public function popBlockStack()
    {
        array_pop($this->blockStack);
    }

    public function pushBlockStack($name)
    {
        $this->blockStack[] = $name;
    }

    public function hasBlock($name)
    {
        return isset($this->blocks[$name]);
    }

    public function getBlock($name)
    {
        return $this->blocks[$name];
    }

    public function setBlock($name, BlockNode $value)
    {
        $this->blocks[$name] = new BodyNode([$value], [], $value->getTemplateLine());
    }

    public function hasMacro($name)
    {
        return isset($this->macros[$name]);
    }

    public function setMacro($name, MacroNode $node)
    {
        if ($this->isReservedMacroName($name)) {
            throw new SyntaxError(sprintf('"%s" cannot be used as a macro name as it is a reserved keyword.', $name), $node->getTemplateLine(), $this->stream->getSourceContext());
        }

        $this->macros[$name] = $node;
    }

    public function isReservedMacroName($name)
    {
        if (null === $this->reservedMacroNames) {
            $this->reservedMacroNames = [];
            $r = new \ReflectionClass($this->env->getBaseTemplateClass());
            foreach ($r->getMethods() as $method) {
                $methodName = strtr($method->getName(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz');

                if ('get' === substr($methodName, 0, 3) && isset($methodName[3])) {
                    $this->reservedMacroNames[] = substr($methodName, 3);
                }
            }
        }

        return \in_array(strtr($name, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), $this->reservedMacroNames);
    }

    public function addTrait($trait)
    {
        $this->traits[] = $trait;
    }

    public function hasTraits()
    {
        return \count($this->traits) > 0;
    }

    public function embedTemplate(ModuleNode $template)
    {
        $template->setIndex(mt_rand());

        $this->embeddedTemplates[] = $template;
    }

    public function addImportedSymbol($type, $alias, $name = null, AbstractExpression $node = null)
    {
        $this->importedSymbols[0][$type][$alias] = ['name' => $name, 'node' => $node];
    }

    public function getImportedSymbol($type, $alias)
    {
        if (null !== $this->peekBlockStack()) {
            foreach ($this->importedSymbols as $functions) {
                if (isset($functions[$type][$alias])) {
                    if (\count($this->blockStack) > 1) {
                        return null;
                    }

                    return $functions[$type][$alias];
                }
            }
        } else {
            return isset($this->importedSymbols[0][$type][$alias]) ? $this->importedSymbols[0][$type][$alias] : null;
        }
    }

    public function isMainScope()
    {
        return 1 === \count($this->importedSymbols);
    }

    public function pushLocalScope()
    {
        array_unshift($this->importedSymbols, []);
    }

    public function popLocalScope()
    {
        array_shift($this->importedSymbols);
    }

    /**
     * @return ExpressionParser
     */
    public function getExpressionParser()
    {
        return $this->expressionParser;
    }

    public function getParent()
    {
        return $this->parent;
    }

    public function setParent($parent)
    {
        $this->parent = $parent;
    }

    /**
     * @return TokenStream
     */
    public function getStream()
    {
        return $this->stream;
    }

    /**
     * @return Token
     */
    public function getCurrentToken()
    {
        return $this->stream->getCurrent();
    }

    protected function filterBodyNodes(\Twig_NodeInterface $node)
    {
        // check that the body does not contain non-empty output nodes
        if (
            ($node instanceof TextNode && !ctype_space($node->getAttribute('data')))
            ||
            (!$node instanceof TextNode && !$node instanceof BlockReferenceNode && $node instanceof NodeOutputInterface)
        ) {
            if (false !== strpos((string) $node, \chr(0xEF).\chr(0xBB).\chr(0xBF))) {
                $t = substr($node->getAttribute('data'), 3);
                if ('' === $t || ctype_space($t)) {
                    // bypass empty nodes starting with a BOM
                    return;
                }
            }

            throw new SyntaxError('A template that extends another one cannot include content outside Twig blocks. Did you forget to put the content inside a {% block %} tag?', $node->getTemplateLine(), $this->stream->getSourceContext());
        }

        // bypass nodes that will "capture" the output
        if ($node instanceof NodeCaptureInterface) {
            return $node;
        }

        if ($node instanceof NodeOutputInterface) {
            return;
        }

        foreach ($node as $k => $n) {
            if (null !== $n && null === $this->filterBodyNodes($n)) {
                $node->removeNode($k);
            }
        }

        return $node;
    }
}

class_alias('Twig\Parser', 'Twig_Parser');
vendor/twig/twig/src/Markup.php000060400000001462150750356260012534 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig;

/**
 * Marks a content as safe.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class Markup implements \Countable
{
    protected $content;
    protected $charset;

    public function __construct($content, $charset)
    {
        $this->content = (string) $content;
        $this->charset = $charset;
    }

    public function __toString()
    {
        return $this->content;
    }

    public function count()
    {
        return \function_exists('mb_get_info') ? mb_strlen($this->content, $this->charset) : \strlen($this->content);
    }
}

class_alias('Twig\Markup', 'Twig_Markup');
vendor/twig/twig/src/TokenParser/WithTokenParser.php000060400000002410150750356260016615 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Node\WithNode;
use Twig\Token;

/**
 * Creates a nested scope.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @final
 */
class WithTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $stream = $this->parser->getStream();

        $variables = null;
        $only = false;
        if (!$stream->test(Token::BLOCK_END_TYPE)) {
            $variables = $this->parser->getExpressionParser()->parseExpression();
            $only = $stream->nextIf(Token::NAME_TYPE, 'only');
        }

        $stream->expect(Token::BLOCK_END_TYPE);

        $body = $this->parser->subparse([$this, 'decideWithEnd'], true);

        $stream->expect(Token::BLOCK_END_TYPE);

        return new WithNode($body, $variables, $only, $token->getLine(), $this->getTag());
    }

    public function decideWithEnd(Token $token)
    {
        return $token->test('endwith');
    }

    public function getTag()
    {
        return 'with';
    }
}

class_alias('Twig\TokenParser\WithTokenParser', 'Twig_TokenParser_With');
vendor/twig/twig/src/TokenParser/IncludeTokenParser.php000060400000003123150750356260017267 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Node\IncludeNode;
use Twig\Token;

/**
 * Includes a template.
 *
 *   {% include 'header.html' %}
 *     Body
 *   {% include 'footer.html' %}
 */
class IncludeTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $expr = $this->parser->getExpressionParser()->parseExpression();

        list($variables, $only, $ignoreMissing) = $this->parseArguments();

        return new IncludeNode($expr, $variables, $only, $ignoreMissing, $token->getLine(), $this->getTag());
    }

    protected function parseArguments()
    {
        $stream = $this->parser->getStream();

        $ignoreMissing = false;
        if ($stream->nextIf(Token::NAME_TYPE, 'ignore')) {
            $stream->expect(Token::NAME_TYPE, 'missing');

            $ignoreMissing = true;
        }

        $variables = null;
        if ($stream->nextIf(Token::NAME_TYPE, 'with')) {
            $variables = $this->parser->getExpressionParser()->parseExpression();
        }

        $only = false;
        if ($stream->nextIf(Token::NAME_TYPE, 'only')) {
            $only = true;
        }

        $stream->expect(Token::BLOCK_END_TYPE);

        return [$variables, $only, $ignoreMissing];
    }

    public function getTag()
    {
        return 'include';
    }
}

class_alias('Twig\TokenParser\IncludeTokenParser', 'Twig_TokenParser_Include');
vendor/twig/twig/src/TokenParser/FlushTokenParser.php000060400000001336150750356260016771 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Node\FlushNode;
use Twig\Token;

/**
 * Flushes the output to the client.
 *
 * @see flush()
 *
 * @final
 */
class FlushTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $this->parser->getStream()->expect(Token::BLOCK_END_TYPE);

        return new FlushNode($token->getLine(), $this->getTag());
    }

    public function getTag()
    {
        return 'flush';
    }
}

class_alias('Twig\TokenParser\FlushTokenParser', 'Twig_TokenParser_Flush');
vendor/twig/twig/src/TokenParser/BlockTokenParser.php000060400000004677150750356260016755 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Error\SyntaxError;
use Twig\Node\BlockNode;
use Twig\Node\BlockReferenceNode;
use Twig\Node\Node;
use Twig\Node\PrintNode;
use Twig\Token;

/**
 * Marks a section of a template as being reusable.
 *
 *  {% block head %}
 *    <link rel="stylesheet" href="style.css" />
 *    <title>{% block title %}{% endblock %} - My Webpage</title>
 *  {% endblock %}
 *
 * @final
 */
class BlockTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $lineno = $token->getLine();
        $stream = $this->parser->getStream();
        $name = $stream->expect(Token::NAME_TYPE)->getValue();
        if ($this->parser->hasBlock($name)) {
            throw new SyntaxError(sprintf("The block '%s' has already been defined line %d.", $name, $this->parser->getBlock($name)->getTemplateLine()), $stream->getCurrent()->getLine(), $stream->getSourceContext());
        }
        $this->parser->setBlock($name, $block = new BlockNode($name, new Node([]), $lineno));
        $this->parser->pushLocalScope();
        $this->parser->pushBlockStack($name);

        if ($stream->nextIf(Token::BLOCK_END_TYPE)) {
            $body = $this->parser->subparse([$this, 'decideBlockEnd'], true);
            if ($token = $stream->nextIf(Token::NAME_TYPE)) {
                $value = $token->getValue();

                if ($value != $name) {
                    throw new SyntaxError(sprintf('Expected endblock for block "%s" (but "%s" given).', $name, $value), $stream->getCurrent()->getLine(), $stream->getSourceContext());
                }
            }
        } else {
            $body = new Node([
                new PrintNode($this->parser->getExpressionParser()->parseExpression(), $lineno),
            ]);
        }
        $stream->expect(Token::BLOCK_END_TYPE);

        $block->setNode('body', $body);
        $this->parser->popBlockStack();
        $this->parser->popLocalScope();

        return new BlockReferenceNode($name, $lineno, $this->getTag());
    }

    public function decideBlockEnd(Token $token)
    {
        return $token->test('endblock');
    }

    public function getTag()
    {
        return 'block';
    }
}

class_alias('Twig\TokenParser\BlockTokenParser', 'Twig_TokenParser_Block');
vendor/twig/twig/src/TokenParser/SetTokenParser.php000060400000004037150750356260016444 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Error\SyntaxError;
use Twig\Node\SetNode;
use Twig\Token;

/**
 * Defines a variable.
 *
 *  {% set foo = 'foo' %}
 *  {% set foo = [1, 2] %}
 *  {% set foo = {'foo': 'bar'} %}
 *  {% set foo = 'foo' ~ 'bar' %}
 *  {% set foo, bar = 'foo', 'bar' %}
 *  {% set foo %}Some content{% endset %}
 *
 * @final
 */
class SetTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $lineno = $token->getLine();
        $stream = $this->parser->getStream();
        $names = $this->parser->getExpressionParser()->parseAssignmentExpression();

        $capture = false;
        if ($stream->nextIf(Token::OPERATOR_TYPE, '=')) {
            $values = $this->parser->getExpressionParser()->parseMultitargetExpression();

            $stream->expect(Token::BLOCK_END_TYPE);

            if (\count($names) !== \count($values)) {
                throw new SyntaxError('When using set, you must have the same number of variables and assignments.', $stream->getCurrent()->getLine(), $stream->getSourceContext());
            }
        } else {
            $capture = true;

            if (\count($names) > 1) {
                throw new SyntaxError('When using set with a block, you cannot have a multi-target.', $stream->getCurrent()->getLine(), $stream->getSourceContext());
            }

            $stream->expect(Token::BLOCK_END_TYPE);

            $values = $this->parser->subparse([$this, 'decideBlockEnd'], true);
            $stream->expect(Token::BLOCK_END_TYPE);
        }

        return new SetNode($capture, $names, $values, $lineno, $this->getTag());
    }

    public function decideBlockEnd(Token $token)
    {
        return $token->test('endset');
    }

    public function getTag()
    {
        return 'set';
    }
}

class_alias('Twig\TokenParser\SetTokenParser', 'Twig_TokenParser_Set');
vendor/twig/twig/src/TokenParser/UseTokenParser.php000060400000003712150750356260016444 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Error\SyntaxError;
use Twig\Node\Expression\ConstantExpression;
use Twig\Node\Node;
use Twig\Token;

/**
 * Imports blocks defined in another template into the current template.
 *
 *    {% extends "base.html" %}
 *
 *    {% use "blocks.html" %}
 *
 *    {% block title %}{% endblock %}
 *    {% block content %}{% endblock %}
 *
 * @see https://twig.symfony.com/doc/templates.html#horizontal-reuse for details.
 *
 * @final
 */
class UseTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $template = $this->parser->getExpressionParser()->parseExpression();
        $stream = $this->parser->getStream();

        if (!$template instanceof ConstantExpression) {
            throw new SyntaxError('The template references in a "use" statement must be a string.', $stream->getCurrent()->getLine(), $stream->getSourceContext());
        }

        $targets = [];
        if ($stream->nextIf('with')) {
            do {
                $name = $stream->expect(Token::NAME_TYPE)->getValue();

                $alias = $name;
                if ($stream->nextIf('as')) {
                    $alias = $stream->expect(Token::NAME_TYPE)->getValue();
                }

                $targets[$name] = new ConstantExpression($alias, -1);

                if (!$stream->nextIf(Token::PUNCTUATION_TYPE, ',')) {
                    break;
                }
            } while (true);
        }

        $stream->expect(Token::BLOCK_END_TYPE);

        $this->parser->addTrait(new Node(['template' => $template, 'targets' => new Node($targets)]));

        return new Node();
    }

    public function getTag()
    {
        return 'use';
    }
}

class_alias('Twig\TokenParser\UseTokenParser', 'Twig_TokenParser_Use');
vendor/twig/twig/src/TokenParser/SandboxTokenParser.php000060400000003444150750356260017310 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Error\SyntaxError;
use Twig\Node\IncludeNode;
use Twig\Node\SandboxNode;
use Twig\Node\TextNode;
use Twig\Token;

/**
 * Marks a section of a template as untrusted code that must be evaluated in the sandbox mode.
 *
 *    {% sandbox %}
 *        {% include 'user.html' %}
 *    {% endsandbox %}
 *
 * @see https://twig.symfony.com/doc/api.html#sandbox-extension for details
 *
 * @final
 */
class SandboxTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $stream = $this->parser->getStream();
        $stream->expect(Token::BLOCK_END_TYPE);
        $body = $this->parser->subparse([$this, 'decideBlockEnd'], true);
        $stream->expect(Token::BLOCK_END_TYPE);

        // in a sandbox tag, only include tags are allowed
        if (!$body instanceof IncludeNode) {
            foreach ($body as $node) {
                if ($node instanceof TextNode && ctype_space($node->getAttribute('data'))) {
                    continue;
                }

                if (!$node instanceof IncludeNode) {
                    throw new SyntaxError('Only "include" tags are allowed within a "sandbox" section.', $node->getTemplateLine(), $stream->getSourceContext());
                }
            }
        }

        return new SandboxNode($body, $token->getLine(), $this->getTag());
    }

    public function decideBlockEnd(Token $token)
    {
        return $token->test('endsandbox');
    }

    public function getTag()
    {
        return 'sandbox';
    }
}

class_alias('Twig\TokenParser\SandboxTokenParser', 'Twig_TokenParser_Sandbox');
vendor/twig/twig/src/TokenParser/TokenParserInterface.php000060400000002161150750356260017605 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Error\SyntaxError;
use Twig\Parser;
use Twig\Token;

/**
 * Interface implemented by token parsers.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
interface TokenParserInterface
{
    /**
     * Sets the parser associated with this token parser.
     */
    public function setParser(Parser $parser);

    /**
     * Parses a token and returns a node.
     *
     * @return \Twig_NodeInterface
     *
     * @throws SyntaxError
     */
    public function parse(Token $token);

    /**
     * Gets the tag name associated with this token parser.
     *
     * @return string The tag name
     */
    public function getTag();
}

class_alias('Twig\TokenParser\TokenParserInterface', 'Twig_TokenParserInterface');

// Ensure that the aliased name is loaded to keep BC for classes implementing the typehint with the old aliased name.
class_exists('Twig\Token');
class_exists('Twig\Parser');
vendor/twig/twig/src/TokenParser/MacroTokenParser.php000060400000003565150750356260016757 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Error\SyntaxError;
use Twig\Node\BodyNode;
use Twig\Node\MacroNode;
use Twig\Node\Node;
use Twig\Token;

/**
 * Defines a macro.
 *
 *   {% macro input(name, value, type, size) %}
 *      <input type="{{ type|default('text') }}" name="{{ name }}" value="{{ value|e }}" size="{{ size|default(20) }}" />
 *   {% endmacro %}
 *
 * @final
 */
class MacroTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $lineno = $token->getLine();
        $stream = $this->parser->getStream();
        $name = $stream->expect(Token::NAME_TYPE)->getValue();

        $arguments = $this->parser->getExpressionParser()->parseArguments(true, true);

        $stream->expect(Token::BLOCK_END_TYPE);
        $this->parser->pushLocalScope();
        $body = $this->parser->subparse([$this, 'decideBlockEnd'], true);
        if ($token = $stream->nextIf(Token::NAME_TYPE)) {
            $value = $token->getValue();

            if ($value != $name) {
                throw new SyntaxError(sprintf('Expected endmacro for macro "%s" (but "%s" given).', $name, $value), $stream->getCurrent()->getLine(), $stream->getSourceContext());
            }
        }
        $this->parser->popLocalScope();
        $stream->expect(Token::BLOCK_END_TYPE);

        $this->parser->setMacro($name, new MacroNode($name, new BodyNode([$body]), $arguments, $lineno, $this->getTag()));

        return new Node();
    }

    public function decideBlockEnd(Token $token)
    {
        return $token->test('endmacro');
    }

    public function getTag()
    {
        return 'macro';
    }
}

class_alias('Twig\TokenParser\MacroTokenParser', 'Twig_TokenParser_Macro');
vendor/twig/twig/src/TokenParser/ForTokenParser.php000060400000011152150750356260016433 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Error\SyntaxError;
use Twig\Node\Expression\AssignNameExpression;
use Twig\Node\Expression\ConstantExpression;
use Twig\Node\Expression\GetAttrExpression;
use Twig\Node\Expression\NameExpression;
use Twig\Node\ForNode;
use Twig\Token;
use Twig\TokenStream;

/**
 * Loops over each item of a sequence.
 *
 *   <ul>
 *    {% for user in users %}
 *      <li>{{ user.username|e }}</li>
 *    {% endfor %}
 *   </ul>
 *
 * @final
 */
class ForTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $lineno = $token->getLine();
        $stream = $this->parser->getStream();
        $targets = $this->parser->getExpressionParser()->parseAssignmentExpression();
        $stream->expect(Token::OPERATOR_TYPE, 'in');
        $seq = $this->parser->getExpressionParser()->parseExpression();

        $ifexpr = null;
        if ($stream->nextIf(Token::NAME_TYPE, 'if')) {
            $ifexpr = $this->parser->getExpressionParser()->parseExpression();
        }

        $stream->expect(Token::BLOCK_END_TYPE);
        $body = $this->parser->subparse([$this, 'decideForFork']);
        if ('else' == $stream->next()->getValue()) {
            $stream->expect(Token::BLOCK_END_TYPE);
            $else = $this->parser->subparse([$this, 'decideForEnd'], true);
        } else {
            $else = null;
        }
        $stream->expect(Token::BLOCK_END_TYPE);

        if (\count($targets) > 1) {
            $keyTarget = $targets->getNode(0);
            $keyTarget = new AssignNameExpression($keyTarget->getAttribute('name'), $keyTarget->getTemplateLine());
            $valueTarget = $targets->getNode(1);
            $valueTarget = new AssignNameExpression($valueTarget->getAttribute('name'), $valueTarget->getTemplateLine());
        } else {
            $keyTarget = new AssignNameExpression('_key', $lineno);
            $valueTarget = $targets->getNode(0);
            $valueTarget = new AssignNameExpression($valueTarget->getAttribute('name'), $valueTarget->getTemplateLine());
        }

        if ($ifexpr) {
            $this->checkLoopUsageCondition($stream, $ifexpr);
            $this->checkLoopUsageBody($stream, $body);
        }

        return new ForNode($keyTarget, $valueTarget, $seq, $ifexpr, $body, $else, $lineno, $this->getTag());
    }

    public function decideForFork(Token $token)
    {
        return $token->test(['else', 'endfor']);
    }

    public function decideForEnd(Token $token)
    {
        return $token->test('endfor');
    }

    // the loop variable cannot be used in the condition
    protected function checkLoopUsageCondition(TokenStream $stream, \Twig_NodeInterface $node)
    {
        if ($node instanceof GetAttrExpression && $node->getNode('node') instanceof NameExpression && 'loop' == $node->getNode('node')->getAttribute('name')) {
            throw new SyntaxError('The "loop" variable cannot be used in a looping condition.', $node->getTemplateLine(), $stream->getSourceContext());
        }

        foreach ($node as $n) {
            if (!$n) {
                continue;
            }

            $this->checkLoopUsageCondition($stream, $n);
        }
    }

    // check usage of non-defined loop-items
    // it does not catch all problems (for instance when a for is included into another or when the variable is used in an include)
    protected function checkLoopUsageBody(TokenStream $stream, \Twig_NodeInterface $node)
    {
        if ($node instanceof GetAttrExpression && $node->getNode('node') instanceof NameExpression && 'loop' == $node->getNode('node')->getAttribute('name')) {
            $attribute = $node->getNode('attribute');
            if ($attribute instanceof ConstantExpression && \in_array($attribute->getAttribute('value'), ['length', 'revindex0', 'revindex', 'last'])) {
                throw new SyntaxError(sprintf('The "loop.%s" variable is not defined when looping with a condition.', $attribute->getAttribute('value')), $node->getTemplateLine(), $stream->getSourceContext());
            }
        }

        // should check for parent.loop.XXX usage
        if ($node instanceof ForNode) {
            return;
        }

        foreach ($node as $n) {
            if (!$n) {
                continue;
            }

            $this->checkLoopUsageBody($stream, $n);
        }
    }

    public function getTag()
    {
        return 'for';
    }
}

class_alias('Twig\TokenParser\ForTokenParser', 'Twig_TokenParser_For');
vendor/twig/twig/src/TokenParser/ExtendsTokenParser.php000060400000002604150750356260017321 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Error\SyntaxError;
use Twig\Node\Node;
use Twig\Token;

/**
 * Extends a template by another one.
 *
 *  {% extends "base.html" %}
 *
 * @final
 */
class ExtendsTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $stream = $this->parser->getStream();

        if ($this->parser->peekBlockStack()) {
            throw new SyntaxError('Cannot use "extend" in a block.', $token->getLine(), $stream->getSourceContext());
        } elseif (!$this->parser->isMainScope()) {
            throw new SyntaxError('Cannot use "extend" in a macro.', $token->getLine(), $stream->getSourceContext());
        }

        if (null !== $this->parser->getParent()) {
            throw new SyntaxError('Multiple extends tags are forbidden.', $token->getLine(), $stream->getSourceContext());
        }
        $this->parser->setParent($this->parser->getExpressionParser()->parseExpression());

        $stream->expect(Token::BLOCK_END_TYPE);

        return new Node();
    }

    public function getTag()
    {
        return 'extends';
    }
}

class_alias('Twig\TokenParser\ExtendsTokenParser', 'Twig_TokenParser_Extends');
vendor/twig/twig/src/TokenParser/SpacelessTokenParser.php000060400000002262150750356260017631 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Node\SpacelessNode;
use Twig\Token;

/**
 * Remove whitespaces between HTML tags.
 *
 *   {% spaceless %}
 *      <div>
 *          <strong>foo</strong>
 *      </div>
 *   {% endspaceless %}
 *   {# output will be <div><strong>foo</strong></div> #}
 *
 * @final
 */
class SpacelessTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $lineno = $token->getLine();

        $this->parser->getStream()->expect(Token::BLOCK_END_TYPE);
        $body = $this->parser->subparse([$this, 'decideSpacelessEnd'], true);
        $this->parser->getStream()->expect(Token::BLOCK_END_TYPE);

        return new SpacelessNode($body, $lineno, $this->getTag());
    }

    public function decideSpacelessEnd(Token $token)
    {
        return $token->test('endspaceless');
    }

    public function getTag()
    {
        return 'spaceless';
    }
}

class_alias('Twig\TokenParser\SpacelessTokenParser', 'Twig_TokenParser_Spaceless');
vendor/twig/twig/src/TokenParser/FromTokenParser.php000060400000003570150750356260016615 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Error\SyntaxError;
use Twig\Node\Expression\AssignNameExpression;
use Twig\Node\ImportNode;
use Twig\Token;

/**
 * Imports macros.
 *
 *   {% from 'forms.html' import forms %}
 *
 * @final
 */
class FromTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $macro = $this->parser->getExpressionParser()->parseExpression();
        $stream = $this->parser->getStream();
        $stream->expect(Token::NAME_TYPE, 'import');

        $targets = [];
        do {
            $name = $stream->expect(Token::NAME_TYPE)->getValue();

            $alias = $name;
            if ($stream->nextIf('as')) {
                $alias = $stream->expect(Token::NAME_TYPE)->getValue();
            }

            $targets[$name] = $alias;

            if (!$stream->nextIf(Token::PUNCTUATION_TYPE, ',')) {
                break;
            }
        } while (true);

        $stream->expect(Token::BLOCK_END_TYPE);

        $var = new AssignNameExpression($this->parser->getVarName(), $token->getLine());
        $node = new ImportNode($macro, $var, $token->getLine(), $this->getTag());

        foreach ($targets as $name => $alias) {
            if ($this->parser->isReservedMacroName($name)) {
                throw new SyntaxError(sprintf('"%s" cannot be an imported macro as it is a reserved keyword.', $name), $token->getLine(), $stream->getSourceContext());
            }

            $this->parser->addImportedSymbol('function', $alias, 'get'.$name, $var);
        }

        return $node;
    }

    public function getTag()
    {
        return 'from';
    }
}

class_alias('Twig\TokenParser\FromTokenParser', 'Twig_TokenParser_From');
vendor/twig/twig/src/TokenParser/ApplyTokenParser.php000060400000002661150750356260016777 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Node\Expression\TempNameExpression;
use Twig\Node\Node;
use Twig\Node\PrintNode;
use Twig\Node\SetNode;
use Twig\Token;

/**
 * Applies filters on a section of a template.
 *
 *   {% apply upper %}
 *      This text becomes uppercase
 *   {% endapplys %}
 */
final class ApplyTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $lineno = $token->getLine();
        $name = $this->parser->getVarName();

        $ref = new TempNameExpression($name, $lineno);
        $ref->setAttribute('always_defined', true);

        $filter = $this->parser->getExpressionParser()->parseFilterExpressionRaw($ref, $this->getTag());

        $this->parser->getStream()->expect(Token::BLOCK_END_TYPE);
        $body = $this->parser->subparse([$this, 'decideApplyEnd'], true);
        $this->parser->getStream()->expect(Token::BLOCK_END_TYPE);

        return new Node([
            new SetNode(true, $ref, $body, $lineno, $this->getTag()),
            new PrintNode($filter, $lineno, $this->getTag()),
        ]);
    }

    public function decideApplyEnd(Token $token)
    {
        return $token->test('endapply');
    }

    public function getTag()
    {
        return 'apply';
    }
}
vendor/twig/twig/src/TokenParser/ImportTokenParser.php000060400000002206150750356260017157 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Node\Expression\AssignNameExpression;
use Twig\Node\ImportNode;
use Twig\Token;

/**
 * Imports macros.
 *
 *   {% import 'forms.html' as forms %}
 *
 * @final
 */
class ImportTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $macro = $this->parser->getExpressionParser()->parseExpression();
        $this->parser->getStream()->expect(Token::NAME_TYPE, 'as');
        $var = new AssignNameExpression($this->parser->getStream()->expect(Token::NAME_TYPE)->getValue(), $token->getLine());
        $this->parser->getStream()->expect(Token::BLOCK_END_TYPE);

        $this->parser->addImportedSymbol('template', $var->getAttribute('name'));

        return new ImportNode($macro, $var, $token->getLine(), $this->getTag());
    }

    public function getTag()
    {
        return 'import';
    }
}

class_alias('Twig\TokenParser\ImportTokenParser', 'Twig_TokenParser_Import');
vendor/twig/twig/src/TokenParser/IfTokenParser.php000060400000004713150750356260016250 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Error\SyntaxError;
use Twig\Node\IfNode;
use Twig\Node\Node;
use Twig\Token;

/**
 * Tests a condition.
 *
 *   {% if users %}
 *    <ul>
 *      {% for user in users %}
 *        <li>{{ user.username|e }}</li>
 *      {% endfor %}
 *    </ul>
 *   {% endif %}
 *
 * @final
 */
class IfTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $lineno = $token->getLine();
        $expr = $this->parser->getExpressionParser()->parseExpression();
        $stream = $this->parser->getStream();
        $stream->expect(Token::BLOCK_END_TYPE);
        $body = $this->parser->subparse([$this, 'decideIfFork']);
        $tests = [$expr, $body];
        $else = null;

        $end = false;
        while (!$end) {
            switch ($stream->next()->getValue()) {
                case 'else':
                    $stream->expect(Token::BLOCK_END_TYPE);
                    $else = $this->parser->subparse([$this, 'decideIfEnd']);
                    break;

                case 'elseif':
                    $expr = $this->parser->getExpressionParser()->parseExpression();
                    $stream->expect(Token::BLOCK_END_TYPE);
                    $body = $this->parser->subparse([$this, 'decideIfFork']);
                    $tests[] = $expr;
                    $tests[] = $body;
                    break;

                case 'endif':
                    $end = true;
                    break;

                default:
                    throw new SyntaxError(sprintf('Unexpected end of template. Twig was looking for the following tags "else", "elseif", or "endif" to close the "if" block started at line %d).', $lineno), $stream->getCurrent()->getLine(), $stream->getSourceContext());
            }
        }

        $stream->expect(Token::BLOCK_END_TYPE);

        return new IfNode(new Node($tests), $else, $lineno, $this->getTag());
    }

    public function decideIfFork(Token $token)
    {
        return $token->test(['elseif', 'else', 'endif']);
    }

    public function decideIfEnd(Token $token)
    {
        return $token->test(['endif']);
    }

    public function getTag()
    {
        return 'if';
    }
}

class_alias('Twig\TokenParser\IfTokenParser', 'Twig_TokenParser_If');
vendor/twig/twig/src/TokenParser/EmbedTokenParser.php000060400000004304150750356260016722 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Node\EmbedNode;
use Twig\Node\Expression\ConstantExpression;
use Twig\Node\Expression\NameExpression;
use Twig\Token;

/**
 * Embeds a template.
 *
 * @final
 */
class EmbedTokenParser extends IncludeTokenParser
{
    public function parse(Token $token)
    {
        $stream = $this->parser->getStream();

        $parent = $this->parser->getExpressionParser()->parseExpression();

        list($variables, $only, $ignoreMissing) = $this->parseArguments();

        $parentToken = $fakeParentToken = new Token(Token::STRING_TYPE, '__parent__', $token->getLine());
        if ($parent instanceof ConstantExpression) {
            $parentToken = new Token(Token::STRING_TYPE, $parent->getAttribute('value'), $token->getLine());
        } elseif ($parent instanceof NameExpression) {
            $parentToken = new Token(Token::NAME_TYPE, $parent->getAttribute('name'), $token->getLine());
        }

        // inject a fake parent to make the parent() function work
        $stream->injectTokens([
            new Token(Token::BLOCK_START_TYPE, '', $token->getLine()),
            new Token(Token::NAME_TYPE, 'extends', $token->getLine()),
            $parentToken,
            new Token(Token::BLOCK_END_TYPE, '', $token->getLine()),
        ]);

        $module = $this->parser->parse($stream, [$this, 'decideBlockEnd'], true);

        // override the parent with the correct one
        if ($fakeParentToken === $parentToken) {
            $module->setNode('parent', $parent);
        }

        $this->parser->embedTemplate($module);

        $stream->expect(Token::BLOCK_END_TYPE);

        return new EmbedNode($module->getTemplateName(), $module->getAttribute('index'), $variables, $only, $ignoreMissing, $token->getLine(), $this->getTag());
    }

    public function decideBlockEnd(Token $token)
    {
        return $token->test('endembed');
    }

    public function getTag()
    {
        return 'embed';
    }
}

class_alias('Twig\TokenParser\EmbedTokenParser', 'Twig_TokenParser_Embed');
vendor/twig/twig/src/TokenParser/FilterTokenParser.php000060400000003100150750356260017124 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Node\BlockNode;
use Twig\Node\Expression\BlockReferenceExpression;
use Twig\Node\Expression\ConstantExpression;
use Twig\Node\PrintNode;
use Twig\Token;

/**
 * Filters a section of a template by applying filters.
 *
 *   {% filter upper %}
 *      This text becomes uppercase
 *   {% endfilter %}
 *
 * @final
 */
class FilterTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $name = $this->parser->getVarName();
        $ref = new BlockReferenceExpression(new ConstantExpression($name, $token->getLine()), null, $token->getLine(), $this->getTag());

        $filter = $this->parser->getExpressionParser()->parseFilterExpressionRaw($ref, $this->getTag());
        $this->parser->getStream()->expect(Token::BLOCK_END_TYPE);

        $body = $this->parser->subparse([$this, 'decideBlockEnd'], true);
        $this->parser->getStream()->expect(Token::BLOCK_END_TYPE);

        $block = new BlockNode($name, $body, $token->getLine());
        $this->parser->setBlock($name, $block);

        return new PrintNode($filter, $token->getLine(), $this->getTag());
    }

    public function decideBlockEnd(Token $token)
    {
        return $token->test('endfilter');
    }

    public function getTag()
    {
        return 'filter';
    }
}

class_alias('Twig\TokenParser\FilterTokenParser', 'Twig_TokenParser_Filter');
vendor/twig/twig/src/TokenParser/AutoEscapeTokenParser.php000060400000005132150750356260017737 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Error\SyntaxError;
use Twig\Node\AutoEscapeNode;
use Twig\Node\Expression\ConstantExpression;
use Twig\Token;

/**
 * Marks a section of a template to be escaped or not.
 *
 *   {% autoescape true %}
 *     Everything will be automatically escaped in this block
 *   {% endautoescape %}
 *
 *   {% autoescape false %}
 *     Everything will be outputed as is in this block
 *   {% endautoescape %}
 *
 *   {% autoescape true js %}
 *     Everything will be automatically escaped in this block
 *     using the js escaping strategy
 *   {% endautoescape %}
 *
 * @final
 */
class AutoEscapeTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $lineno = $token->getLine();
        $stream = $this->parser->getStream();

        if ($stream->test(Token::BLOCK_END_TYPE)) {
            $value = 'html';
        } else {
            $expr = $this->parser->getExpressionParser()->parseExpression();
            if (!$expr instanceof ConstantExpression) {
                throw new SyntaxError('An escaping strategy must be a string or a bool.', $stream->getCurrent()->getLine(), $stream->getSourceContext());
            }
            $value = $expr->getAttribute('value');

            $compat = true === $value || false === $value;

            if (true === $value) {
                $value = 'html';
            }

            if ($compat && $stream->test(Token::NAME_TYPE)) {
                @trigger_error('Using the autoescape tag with "true" or "false" before the strategy name is deprecated since version 1.21.', E_USER_DEPRECATED);

                if (false === $value) {
                    throw new SyntaxError('Unexpected escaping strategy as you set autoescaping to false.', $stream->getCurrent()->getLine(), $stream->getSourceContext());
                }

                $value = $stream->next()->getValue();
            }
        }

        $stream->expect(Token::BLOCK_END_TYPE);
        $body = $this->parser->subparse([$this, 'decideBlockEnd'], true);
        $stream->expect(Token::BLOCK_END_TYPE);

        return new AutoEscapeNode($value, $body, $lineno, $this->getTag());
    }

    public function decideBlockEnd(Token $token)
    {
        return $token->test('endautoescape');
    }

    public function getTag()
    {
        return 'autoescape';
    }
}

class_alias('Twig\TokenParser\AutoEscapeTokenParser', 'Twig_TokenParser_AutoEscape');
vendor/twig/twig/src/TokenParser/DeprecatedTokenParser.php000060400000001765150750356260017756 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Node\DeprecatedNode;
use Twig\Token;

/**
 * Deprecates a section of a template.
 *
 *    {% deprecated 'The "base.twig" template is deprecated, use "layout.twig" instead.' %}
 *    {% extends 'layout.html.twig' %}
 *
 * @author Yonel Ceruto <yonelceruto@gmail.com>
 *
 * @final
 */
class DeprecatedTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $expr = $this->parser->getExpressionParser()->parseExpression();

        $this->parser->getStream()->expect(Token::BLOCK_END_TYPE);

        return new DeprecatedNode($expr, $token->getLine(), $this->getTag());
    }

    public function getTag()
    {
        return 'deprecated';
    }
}

class_alias('Twig\TokenParser\DeprecatedTokenParser', 'Twig_TokenParser_Deprecated');
vendor/twig/twig/src/TokenParser/DoTokenParser.php000060400000001440150750356260016246 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Node\DoNode;
use Twig\Token;

/**
 * Evaluates an expression, discarding the returned value.
 *
 * @final
 */
class DoTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $expr = $this->parser->getExpressionParser()->parseExpression();

        $this->parser->getStream()->expect(Token::BLOCK_END_TYPE);

        return new DoNode($expr, $token->getLine(), $this->getTag());
    }

    public function getTag()
    {
        return 'do';
    }
}

class_alias('Twig\TokenParser\DoTokenParser', 'Twig_TokenParser_Do');
vendor/twig/twig/src/TokenParser/AbstractTokenParser.php000060400000001201150750356260017442 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\TokenParser;

use Twig\Parser;

/**
 * Base class for all token parsers.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
abstract class AbstractTokenParser implements TokenParserInterface
{
    /**
     * @var Parser
     */
    protected $parser;

    public function setParser(Parser $parser)
    {
        $this->parser = $parser;
    }
}

class_alias('Twig\TokenParser\AbstractTokenParser', 'Twig_TokenParser');
vendor/twig/twig/src/NodeTraverser.php000060400000004040150750356260014053 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig;

use Twig\NodeVisitor\NodeVisitorInterface;

/**
 * A node traverser.
 *
 * It visits all nodes and their children and calls the given visitor for each.
 *
 * @final
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class NodeTraverser
{
    protected $env;
    protected $visitors = [];

    /**
     * @param NodeVisitorInterface[] $visitors
     */
    public function __construct(Environment $env, array $visitors = [])
    {
        $this->env = $env;
        foreach ($visitors as $visitor) {
            $this->addVisitor($visitor);
        }
    }

    public function addVisitor(NodeVisitorInterface $visitor)
    {
        $this->visitors[$visitor->getPriority()][] = $visitor;
    }

    /**
     * Traverses a node and calls the registered visitors.
     *
     * @return \Twig_NodeInterface
     */
    public function traverse(\Twig_NodeInterface $node)
    {
        ksort($this->visitors);
        foreach ($this->visitors as $visitors) {
            foreach ($visitors as $visitor) {
                $node = $this->traverseForVisitor($visitor, $node);
            }
        }

        return $node;
    }

    protected function traverseForVisitor(NodeVisitorInterface $visitor, \Twig_NodeInterface $node = null)
    {
        if (null === $node) {
            return;
        }

        $node = $visitor->enterNode($node, $this->env);

        foreach ($node as $k => $n) {
            if (null === $n) {
                continue;
            }

            if (false !== ($m = $this->traverseForVisitor($visitor, $n)) && null !== $m) {
                if ($m !== $n) {
                    $node->setNode($k, $m);
                }
            } else {
                $node->removeNode($k);
            }
        }

        return $visitor->leaveNode($node, $this->env);
    }
}

class_alias('Twig\NodeTraverser', 'Twig_NodeTraverser');
vendor/twig/twig/src/Test/IntegrationTestCase.php000060400000020401150750356260016125 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Test;

use PHPUnit\Framework\TestCase;
use Twig\Environment;
use Twig\Error\Error;
use Twig\Extension\ExtensionInterface;
use Twig\Loader\ArrayLoader;
use Twig\Loader\SourceContextLoaderInterface;
use Twig\RuntimeLoader\RuntimeLoaderInterface;
use Twig\Source;
use Twig\TwigFilter;
use Twig\TwigFunction;
use Twig\TwigTest;

/**
 * Integration test helper.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 * @author Karma Dordrak <drak@zikula.org>
 */
abstract class IntegrationTestCase extends TestCase
{
    /**
     * @return string
     */
    abstract protected function getFixturesDir();

    /**
     * @return RuntimeLoaderInterface[]
     */
    protected function getRuntimeLoaders()
    {
        return [];
    }

    /**
     * @return ExtensionInterface[]
     */
    protected function getExtensions()
    {
        return [];
    }

    /**
     * @return TwigFilter[]
     */
    protected function getTwigFilters()
    {
        return [];
    }

    /**
     * @return TwigFunction[]
     */
    protected function getTwigFunctions()
    {
        return [];
    }

    /**
     * @return TwigTest[]
     */
    protected function getTwigTests()
    {
        return [];
    }

    /**
     * @dataProvider getTests
     */
    public function testIntegration($file, $message, $condition, $templates, $exception, $outputs)
    {
        $this->doIntegrationTest($file, $message, $condition, $templates, $exception, $outputs);
    }

    /**
     * @dataProvider getLegacyTests
     * @group legacy
     */
    public function testLegacyIntegration($file, $message, $condition, $templates, $exception, $outputs)
    {
        $this->doIntegrationTest($file, $message, $condition, $templates, $exception, $outputs);
    }

    public function getTests($name, $legacyTests = false)
    {
        $fixturesDir = realpath($this->getFixturesDir());
        $tests = [];

        foreach (new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($fixturesDir), \RecursiveIteratorIterator::LEAVES_ONLY) as $file) {
            if (!preg_match('/\.test$/', $file)) {
                continue;
            }

            if ($legacyTests xor false !== strpos($file->getRealpath(), '.legacy.test')) {
                continue;
            }

            $test = file_get_contents($file->getRealpath());

            if (preg_match('/--TEST--\s*(.*?)\s*(?:--CONDITION--\s*(.*))?\s*((?:--TEMPLATE(?:\(.*?\))?--(?:.*?))+)\s*(?:--DATA--\s*(.*))?\s*--EXCEPTION--\s*(.*)/sx', $test, $match)) {
                $message = $match[1];
                $condition = $match[2];
                $templates = self::parseTemplates($match[3]);
                $exception = $match[5];
                $outputs = [[null, $match[4], null, '']];
            } elseif (preg_match('/--TEST--\s*(.*?)\s*(?:--CONDITION--\s*(.*))?\s*((?:--TEMPLATE(?:\(.*?\))?--(?:.*?))+)--DATA--.*?--EXPECT--.*/s', $test, $match)) {
                $message = $match[1];
                $condition = $match[2];
                $templates = self::parseTemplates($match[3]);
                $exception = false;
                preg_match_all('/--DATA--(.*?)(?:--CONFIG--(.*?))?--EXPECT--(.*?)(?=\-\-DATA\-\-|$)/s', $test, $outputs, PREG_SET_ORDER);
            } else {
                throw new \InvalidArgumentException(sprintf('Test "%s" is not valid.', str_replace($fixturesDir.'/', '', $file)));
            }

            $tests[] = [str_replace($fixturesDir.'/', '', $file), $message, $condition, $templates, $exception, $outputs];
        }

        if ($legacyTests && empty($tests)) {
            // add a dummy test to avoid a PHPUnit message
            return [['not', '-', '', [], '', []]];
        }

        return $tests;
    }

    public function getLegacyTests()
    {
        return $this->getTests('testLegacyIntegration', true);
    }

    protected function doIntegrationTest($file, $message, $condition, $templates, $exception, $outputs)
    {
        if (!$outputs) {
            $this->markTestSkipped('no tests to run');
        }

        if ($condition) {
            eval('$ret = '.$condition.';');
            if (!$ret) {
                $this->markTestSkipped($condition);
            }
        }

        $loader = new ArrayLoader($templates);

        foreach ($outputs as $i => $match) {
            $config = array_merge([
                'cache' => false,
                'strict_variables' => true,
            ], $match[2] ? eval($match[2].';') : []);
            $twig = new Environment($loader, $config);
            $twig->addGlobal('global', 'global');
            foreach ($this->getRuntimeLoaders() as $runtimeLoader) {
                $twig->addRuntimeLoader($runtimeLoader);
            }

            foreach ($this->getExtensions() as $extension) {
                $twig->addExtension($extension);
            }

            foreach ($this->getTwigFilters() as $filter) {
                $twig->addFilter($filter);
            }

            foreach ($this->getTwigTests() as $test) {
                $twig->addTest($test);
            }

            foreach ($this->getTwigFunctions() as $function) {
                $twig->addFunction($function);
            }

            $p = new \ReflectionProperty($twig, 'templateClassPrefix');
            $p->setAccessible(true);
            $p->setValue($twig, '__TwigTemplate_'.hash('sha256', uniqid(mt_rand(), true), false).'_');

            try {
                $template = $twig->load('index.twig');
            } catch (\Exception $e) {
                if (false !== $exception) {
                    $message = $e->getMessage();
                    $this->assertSame(trim($exception), trim(sprintf('%s: %s', \get_class($e), $message)));
                    $last = substr($message, \strlen($message) - 1);
                    $this->assertTrue('.' === $last || '?' === $last, 'Exception message must end with a dot or a question mark.');

                    return;
                }

                throw new Error(sprintf('%s: %s', \get_class($e), $e->getMessage()), -1, null, $e);
            }

            try {
                $output = trim($template->render(eval($match[1].';')), "\n ");
            } catch (\Exception $e) {
                if (false !== $exception) {
                    $this->assertSame(trim($exception), trim(sprintf('%s: %s', \get_class($e), $e->getMessage())));

                    return;
                }

                $e = new Error(sprintf('%s: %s', \get_class($e), $e->getMessage()), -1, null, $e);

                $output = trim(sprintf('%s: %s', \get_class($e), $e->getMessage()));
            }

            if (false !== $exception) {
                list($class) = explode(':', $exception);
                $constraintClass = class_exists('PHPUnit\Framework\Constraint\Exception') ? 'PHPUnit\Framework\Constraint\Exception' : 'PHPUnit_Framework_Constraint_Exception';
                $this->assertThat(null, new $constraintClass($class));
            }

            $expected = trim($match[3], "\n ");

            if ($expected !== $output) {
                printf("Compiled templates that failed on case %d:\n", $i + 1);

                foreach (array_keys($templates) as $name) {
                    echo "Template: $name\n";
                    $loader = $twig->getLoader();
                    if (!$loader instanceof SourceContextLoaderInterface) {
                        $source = new Source($loader->getSource($name), $name);
                    } else {
                        $source = $loader->getSourceContext($name);
                    }
                    echo $twig->compile($twig->parse($twig->tokenize($source)));
                }
            }
            $this->assertEquals($expected, $output, $message.' (in '.$file.')');
        }
    }

    protected static function parseTemplates($test)
    {
        $templates = [];
        preg_match_all('/--TEMPLATE(?:\((.*?)\))?--(.*?)(?=\-\-TEMPLATE|$)/s', $test, $matches, PREG_SET_ORDER);
        foreach ($matches as $match) {
            $templates[($match[1] ? $match[1] : 'index.twig')] = $match[2];
        }

        return $templates;
    }
}

class_alias('Twig\Test\IntegrationTestCase', 'Twig_Test_IntegrationTestCase');
vendor/twig/twig/src/Test/NodeTestCase.php000060400000004152150750356260014534 0ustar00<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Twig\Test;

use PHPUnit\Framework\TestCase;
use Twig\Compiler;
use Twig\Environment;
use Twig\Loader\ArrayLoader;
use Twig\Node\Node;

abstract class NodeTestCase extends TestCase
{
    abstract public function getTests();

    /**
     * @dataProvider getTests
     */
    public function testCompile($node, $source, $environment = null, $isPattern = false)
    {
        $this->assertNodeCompilation($source, $node, $environment, $isPattern);
    }

    public function assertNodeCompilation($source, Node $node, Environment $environment = null, $isPattern = false)
    {
        $compiler = $this->getCompiler($environment);
        $compiler->compile($node);

        if ($isPattern) {
            $this->assertStringMatchesFormat($source, trim($compiler->getSource()));
        } else {
            $this->assertEquals($source, trim($compiler->getSource()));
        }
    }

    protected function getCompiler(Environment $environment = null)
    {
        return new Compiler(null === $environment ? $this->getEnvironment() : $environment);
    }

    protected function getEnvironment()
    {
        return new Environment(new ArrayLoader([]));
    }

    protected function getVariableGetter($name, $line = false)
    {
        $line = $line > 0 ? "// line {$line}\n" : '';

        if (\PHP_VERSION_ID >= 70000) {
            return sprintf('%s($context["%s"] ?? null)', $line, $name);
        }

        if (\PHP_VERSION_ID >= 50400) {
            return sprintf('%s(isset($context["%s"]) ? $context["%s"] : null)', $line, $name, $name);
        }

        return sprintf('%s$this->getContext($context, "%s")', $line, $name);
    }

    protected function getAttributeGetter()
    {
        if (\function_exists('twig_template_get_attributes')) {
            return 'twig_template_get_attributes($this, ';
        }

        return '$this->getAttribute(';
    }
}

class_alias('Twig\Test\NodeTestCase', 'Twig_Test_NodeTestCase');
vendor/rockettheme/toolbox/Blueprints/src/Blueprints.php000060400000000373150750356260017627 0ustar00<?php
namespace RocketTheme\Toolbox\Blueprints;

/**
 * Deprecated class, use BlueprintSchema instead.
 *
 * @package RocketTheme\Toolbox\Blueprints
 * @author RocketTheme
 * @license MIT
 * @deprecated
 */
class Blueprints extends BlueprintSchema {}
vendor/rockettheme/toolbox/Blueprints/src/BlueprintForm.php000060400000041067150750356260020275 0ustar00<?php
namespace RocketTheme\Toolbox\Blueprints;

use RocketTheme\Toolbox\ArrayTraits\Export;
use RocketTheme\Toolbox\ArrayTraits\ExportInterface;
use RocketTheme\Toolbox\ArrayTraits\NestedArrayAccessWithGetters;
use RuntimeException;

/**
 * The Config class contains configuration information.
 *
 * @author RocketTheme
 */
abstract class BlueprintForm implements \ArrayAccess, ExportInterface
{
    use NestedArrayAccessWithGetters;
    use Export;

    /** @var array */
    protected $items;

    /** @var string */
    protected $filename;

    /** @var string */
    protected $context;

    /** @var array */
    protected $overrides = [];

    /** @var array */
    protected $dynamic = [];

    /**
     * Load file and return its contents.
     *
     * @param string $filename
     * @return array
     */
    abstract protected function loadFile($filename);

    /**
     * Get list of blueprint form files (file and its parents for overrides).
     *
     * @param string|array $path
     * @param string $context
     * @return array
     */
    abstract protected function getFiles($path, $context = null);

    /**
     * Constructor.
     *
     * @param string|array $filename
     * @param array $items
     */
    public function __construct($filename = null, array $items = [])
    {
        $this->nestedSeparator = '/';
        $this->filename = $filename;
        $this->items = $items;
    }

    /**
     * Set filename for the blueprint. Can also be array of files for parent lookup.
     *
     * @param string|array $filename
     * @return $this
     */
    public function setFilename($filename)
    {
        $this->filename = $filename;

        return $this;
    }

    /**
     * Get the filename of the blueprint.
     *
     * @return array|null|string
     */
    public function getFilename()
    {
        return $this->filename;
    }

    /**
     * Set context for import@ and extend@.
     *
     * @param $context
     * @return $this
     */
    public function setContext($context)
    {
        $this->context = $context;

        return $this;
    }

    /**
     * Set custom overrides for import@ and extend@.
     *
     * @param array $overrides
     * @return $this
     */
    public function setOverrides($overrides)
    {
        $this->overrides = $overrides;

        return $this;
    }

    /**
     * Load blueprint.
     *
     * @return $this
     */
    public function load($extends = null)
    {
        // Only load and extend blueprint if it has not yet been loaded.
        if (empty($this->items) && $this->filename) {
            // Get list of files.
            $files = $this->getFiles($this->filename);

            // Load and extend blueprints.
            $data = $this->doLoad($files, $extends);

            $this->items = (array) array_shift($data);

            foreach ($data as $content) {
                $this->extend($content, true);
            }
        }

        // Import blueprints.
        $this->deepInit($this->items);

        return $this;
    }

    /**
     * Initialize blueprints with its dynamic fields.
     *
     * @return $this
     */
    public function init()
    {
        foreach ($this->dynamic as $key => $data) {
            // Locate field.
            $path = explode('/', $key);
            $current = &$this->items;

            foreach ($path as $field) {
                if (\is_object($current)) {
                    // Handle objects.
                    if (!isset($current->{$field})) {
                        $current->{$field} = [];
                    }

                    $current = &$current->{$field};
                } else {
                    // Handle arrays and scalars.
                    if (!\is_array($current)) {
                        $current = [$field => []];
                    } elseif (!isset($current[$field])) {
                        $current[$field] = [];
                    }

                    $current = &$current[$field];
                }
            }

            // Set dynamic property.
            foreach ($data as $property => $call) {
                $action = 'dynamic' . ucfirst($call['action']);

                if (method_exists($this, $action)) {
                    $this->{$action}($current, $property, $call);
                }
            }
        }

        return $this;
    }


    /**
     * Get form.
     *
     * @return array
     */
    public function form()
    {
        return (array) $this->get('form');
    }

    /**
     * Get form fields.
     *
     * @return array
     */
    public function fields()
    {
        $fields = $this->get('form/fields');

        if ($fields === null) {
            $field = $this->get('form/field');
            $fields = $field !== null ? ['' => (array) $field] : $fields;
        }

        return (array) $fields;
    }

    /**
     * Extend blueprint with another blueprint.
     *
     * @param BlueprintForm|array $extends
     * @param bool $append
     * @return $this
     */
    public function extend($extends, $append = false)
    {
        if ($extends instanceof self) {
            $extends = $extends->toArray();
        }

        if ($append) {
            $a = $this->items;
            $b = $extends;
        } else {
            $a = $extends;
            $b = $this->items;
        }

        $this->items = $this->deepMerge($a, $b);

        return $this;
    }

    /**
     * @param string $name
     * @param mixed $value
     * @param string $separator
     * @param bool $append
     * @return $this
     */
    public function embed($name, $value, $separator = '/', $append = false)
    {
        $oldValue = $this->get($name, null, $separator);

        if (\is_array($oldValue) && \is_array($value)) {
            if ($append) {
                $a = $oldValue;
                $b = $value;
            } else {
                $a = $value;
                $b = $oldValue;
            }

            $value = $this->deepMerge($a, $b);
        }

        $this->set($name, $value, $separator);

        return $this;
    }

    /**
     * Get blueprints by using slash notation for nested arrays/objects.
     *
     * @example $value = $this->resolve('this/is/my/nested/variable');
     * returns ['this/is/my', 'nested/variable']
     *
     * @param array  $path
     * @param string  $separator
     * @return array
     */
    public function resolve(array $path, $separator = '/')
    {
        $fields = false;
        $parts = [];
        $current = $this['form/fields'];
        $result = [null, null, null];

        while (($field = current($path)) !== null) {
            if (!$fields && isset($current['fields'])) {
                if (!empty($current['array'])) {
                    $result = [$current, $parts, $path ? implode($separator, $path) : null];
                    // Skip item offset.
                    $parts[] = array_shift($path);
                }

                $current = $current['fields'];
                $fields = true;

            } elseif (isset($current[$field])) {
                $parts[] = array_shift($path);
                $current = $current[$field];
                $fields = false;

            } elseif (isset($current[$index = '.' . $field])) {
                $parts[] = array_shift($path);
                $current = $current[$index];
                $fields = false;

            } else {
                break;
            }
        }

        return $result;
    }

    /**
     * Deep merge two arrays together.
     *
     * @param array $a
     * @param array $b
     * @return array
     */
    protected function deepMerge(array $a, array $b)
    {
        $bref_stack = [&$a];
        $head_stack = [$b];

        do {
            end($bref_stack);
            $bref = &$bref_stack[key($bref_stack)];
            $head = array_pop($head_stack);
            unset($bref_stack[key($bref_stack)]);

            foreach ($head as $key => $value) {
                if (strpos($key, '@') !== false) {
                    // Remove @ from the start and the end. Key syntax `import@2` is supported to allow multiple operations of the same type.
                    $list = explode('-', preg_replace('/^(@*)?([^@]+)(@\d*)?$/', '\2', $key), 2);
                    $action = array_shift($list);
                    $property = array_shift($list);

                    switch ($action) {
                        case 'unset':
                        case 'replace':
                            if (!$property) {
                                $bref = ['unset@' => true];
                            } else {
                                unset($bref[$property]);
                            }
                            continue 2;
                    }
                }

                if (isset($key, $bref[$key]) && \is_array($bref[$key]) && \is_array($head[$key])) {
                    $bref_stack[] = &$bref[$key];
                    $head_stack[] = $head[$key];
                } else {
                    $bref = array_merge($bref, [$key => $head[$key]]);
                }
            }
        } while (\count($head_stack));

        return $a;
    }

    /**
     * @param array $items
     * @param array $path
     * @return string
     */
    protected function deepInit(array &$items, $path = [])
    {
        $ordering = '';
        $order = [];
        $field = end($path) === 'fields';

        foreach ($items as $key => &$item) {
            // Set name for nested field.
            if ($field && isset($item['type'])) {
                $item['name'] = $key;
            }

            // Handle special instructions in the form.
            if (strpos($key, '@') !== false) {
                // Remove @ from the start and the end. Key syntax `import@2` is supported to allow multiple operations of the same type.
                $list = explode('-', preg_replace('/^(@*)?([^@]+)(@\d*)?$/', '\2', $key), 2);
                $action = array_shift($list);
                $property = array_shift($list);

                switch ($action) {
                    case 'unset':
                        unset($items[$key]);
                        if (empty($items)) {
                            return null;
                        }
                        break;
                    case 'import':
                        unset($items[$key]);
                        $this->doImport($item, $path);
                        break;
                    case 'ordering':
                        $ordering = $item;
                        unset($items[$key]);
                        break;
                    default:
                        $this->dynamic[implode('/', $path)][$property] = ['action' => $action, 'params' => $item];
                }

            } elseif (\is_array($item)) {
                // Recursively initialize form.
                $newPath = array_merge($path, [$key]);

                $location = $this->deepInit($item, $newPath);
                if ($location) {
                    $order[$key] = $location;
                } elseif ($location === null) {
                    unset($items[$key]);
                }
            }
        }
        unset($item);

        if ($order) {
            // Reorder fields if needed.
            $items = $this->doReorder($items, $order);
        }

        return $ordering;
    }

    /**
     * @param array|string $value
     * @return array|null
     */
    protected function loadImport($value)
    {
        $type = !\is_string($value) ? (!isset($value['type']) ? null : $value['type']) : $value;
        $field = 'form';

        if ($type && strpos($type, ':') !== false) {
            list ($type, $field) = explode(':', $type, 2);
        }

        if (!$type && !$field) {
            return null;
        }

        if ($type) {
            $files = $this->getFiles($type, isset($value['context']) ? $value['context'] : null);

            if (!$files) {
                return null;
            }

            /** @var BlueprintForm $blueprint */
            $blueprint = new static($files);
            $blueprint->setContext($this->context)->setOverrides($this->overrides)->load();
        } else {
            $blueprint = $this;
        }

        $import = $blueprint->get($field);

        return \is_array($import) ? $import : null;
    }

    /**
     * @param array|string $value
     * @param array $path
     */
    protected function doImport($value, array &$path)
    {
        $imported = $this->loadImport($value);

        if ($imported) {
            $this->deepInit($imported, $path);
            $name = implode('/', $path);
            $this->embed($name, $imported, '/', false);
        }
    }

    /**
     * Internal function that handles loading extended blueprints.
     *
     * @param array $files
     * @param string|array|null $extends
     * @return array
     */
    protected function doLoad(array $files, $extends = null)
    {
        $filename = array_shift($files);
        $content = $this->loadFile($filename);

        $key = '';
        if (isset($content['extends@'])) {
            $key = 'extends@';
        } elseif (isset($content['@extends'])) {
            $key = '@extends';
        } elseif (isset($content['@extends@'])) {
            $key = '@extends@';
        }

        $override = (bool)$extends;
        $extends = (array)($key && !$extends ? $content[$key] : $extends);

        unset($content['extends@'], $content['@extends'], $content['@extends@']);

        $data = $extends ? $this->doExtend($filename, $files, $extends, $override) : [];
        $data[] = $content;

        return $data;
    }

    /**
     * Internal function to recursively load extended blueprints.
     *
     * @param string $filename
     * @param array $parents
     * @param array $extends
     * @return array
     */
    protected function doExtend($filename, array $parents, array $extends, $override = false)
    {
        if (\is_string(key($extends))) {
            $extends = [$extends];
        }

        $data = [[]];
        foreach ($extends as $value) {
            // Accept array of type and context or a string.
            $type = !\is_string($value) ? (!isset($value['type']) ? null : $value['type']) : $value;

            if (!$type) {
                continue;
            }

            if ($type === '@parent' || $type === 'parent@') {
                if (!$parents) {
                    throw new RuntimeException("Parent blueprint missing for '{$filename}'");
                }

                $files = $parents;
            } else {
                $files = $this->getFiles($type, isset($value['context']) ? $value['context'] : null);

                if ($override && !$files) {
                    throw new RuntimeException("Blueprint '{$type}' missing for '{$filename}'");
                }

                // Detect extend loops.
                if ($files && array_intersect($files, $parents)) {
                    // Let's check if user really meant extends@: parent@.
                    $index = \array_search($filename, $files, true);
                    if ($index !== false) {
                        // We want to grab only the parents of the file which is currently being loaded.
                        $files = \array_slice($files, $index + 1);
                    }
                    if ($files !== $parents) {
                        throw new RuntimeException("Loop detected while extending blueprint file '{$filename}'");
                    }
                    if (!$parents) {
                        throw new RuntimeException("Parent blueprint missing for '{$filename}'");
                    }
                }
            }

            if ($files) {
                $data[] = $this->doLoad($files);
            }
        }

        // TODO: In PHP 5.6+ use array_merge(...$data);
        return call_user_func_array('array_merge', $data);
    }

    /**
     * Internal function to reorder items.
     *
     * @param array $items
     * @param array $keys
     * @return array
     */
    protected function doReorder(array $items, array $keys)
    {
        $reordered = array_keys($items);

        foreach ($keys as $item => $ordering) {
            if ((string)(int) $ordering === (string) $ordering) {
                $location = array_search($item, $reordered, true);
                $rel = array_splice($reordered, $location, 1);
                array_splice($reordered, $ordering, 0, $rel);

            } elseif (isset($items[$ordering])) {
                $location = array_search($item, $reordered, true);
                $rel = array_splice($reordered, $location, 1);
                $location = array_search($ordering, $reordered, true);
                array_splice($reordered, $location + 1, 0, $rel);
            }
        }

        return array_merge(array_flip($reordered), $items);
    }
}
vendor/rockettheme/toolbox/Blueprints/src/BlueprintSchema.php000060400000050327150750356260020571 0ustar00<?php
namespace RocketTheme\Toolbox\Blueprints;

/**
 * BlueprintSchema is used to define a data structure.
 *
 * @package RocketTheme\Toolbox\Blueprints
 * @author RocketTheme
 * @license MIT
 */
class BlueprintSchema
{
    /** @var array */
    protected $items = [];

    /** @var array */
    protected $rules = [];

    /** @var array */
    protected $nested = [];

    /** @var array */
    protected $dynamic = [];

    /** @var array */
    protected $filter = ['validation' => true];

    /** @var array */
    protected $ignoreFormKeys = ['fields' => 1];

    /** @var array */
    protected $types = [];

    /**
     * Constructor.
     *
     * @param array $serialized  Serialized content if available.
     */
    public function __construct($serialized = null)
    {
        if (\is_array($serialized) && !empty($serialized)) {
            $this->items = (array) $serialized['items'];
            $this->rules = (array) $serialized['rules'];
            $this->nested = (array) $serialized['nested'];
            $this->dynamic = (array) $serialized['dynamic'];
            $this->filter = (array) $serialized['filter'];
        }
    }

    /**
     * @param array $types
     * @return $this
     */
    public function setTypes(array $types)
    {
        $this->types = $types;

        return $this;
    }

    /**
     * Restore Blueprints object.
     *
     * @param array $serialized
     * @return static
     */
    public static function restore(array $serialized)
    {
        return new static($serialized);
    }

    /**
     * Initialize blueprints with its dynamic fields.
     *
     * @return $this
     */
    public function init()
    {
        foreach ($this->dynamic as $key => $data) {
            $field = &$this->items[$key];

            foreach ($data as $property => $call) {
                $action = 'dynamic' . ucfirst($call['action']);

                if (method_exists($this, $action)) {
                    $this->{$action}($field, $property, $call);
                }
            }
        }

        return $this;
    }

    /**
     * Set filter for inherited properties.
     *
     * @param array $filter     List of field names to be inherited.
     */
    public function setFilter(array $filter)
    {
        $this->filter = array_flip($filter);
    }

    /**
     * Get value by using dot notation for nested arrays/objects.
     *
     * @example $value = $data->get('this.is.my.nested.variable');
     *
     * @param string  $name       Dot separated path to the requested value.
     * @param mixed   $default    Default value (or null).
     * @param string  $separator  Separator, defaults to '.'
     *
     * @return mixed  Value.
     */
    public function get($name, $default = null, $separator = '.')
    {
        $name = $separator !== '.' ? str_replace($separator, '.', $name) : $name;

        return isset($this->items[$name]) ? $this->items[$name] : $default;
    }

    /**
     * Set value by using dot notation for nested arrays/objects.
     *
     * @example $value = $data->set('this.is.my.nested.variable', $newField);
     *
     * @param string  $name       Dot separated path to the requested value.
     * @param mixed   $value      New value.
     * @param string  $separator  Separator, defaults to '.'
     */
    public function set($name, $value, $separator = '.')
    {
        $name = $separator !== '.' ? str_replace($separator, '.', $name) : $name;

        $this->items[$name] = $value;
        $this->addProperty($name);
    }

    /**
     * Define value by using dot notation for nested arrays/objects.
     *
     * @example $value = $data->set('this.is.my.nested.variable', true);
     *
     * @param string  $name       Dot separated path to the requested value.
     * @param mixed   $value      New value.
     * @param string  $separator  Separator, defaults to '.'
     */
    public function def($name, $value, $separator = '.')
    {
        $this->set($name, $this->get($name, $value, $separator), $separator);
    }

    /**
     * @return array
     * @deprecated
     */
    public function toArray()
    {
        return $this->getState();
    }

    /**
     * Convert object into an array.
     *
     * @return array
     */
    public function getState()
    {
        return [
            'items' => $this->items,
            'rules' => $this->rules,
            'nested' => $this->nested,
            'dynamic' => $this->dynamic,
            'filter' => $this->filter
        ];
    }

    /**
     * Get nested structure containing default values defined in the blueprints.
     *
     * Fields without default value are ignored in the list.
     *
     * @return array
     */
    public function getDefaults()
    {
        return $this->buildDefaults($this->nested);
    }

    /**
     * Embed an array to the blueprint.
     *
     * @param $name
     * @param array $value
     * @param string $separator
     * @param bool $merge   Merge fields instead replacing them.
     * @return $this
     */
    public function embed($name, array $value, $separator = '.', $merge = false)
    {
        if (isset($value['rules'])) {
            $this->rules = array_merge($this->rules, $value['rules']);
        }

        $name = $separator !== '.' ? str_replace($separator, '.', $name) : $name;

        if (isset($value['form'])) {
            $form = array_diff_key($value['form'], ['fields' => 1, 'field' => 1]);
        } else {
            $form = [];
        }

        $items = isset($this->items[$name]) ? $this->items[$name] : ['type' => '_root', 'form_field' => false];

        $this->items[$name] = $items;
        $this->addProperty($name);

        $prefix = $name ? $name . '.' : '';
        $params = array_intersect_key($form, $this->filter);
        $location = [$name];

        if (isset($value['form']['field'])) {
            $this->parseFormField($name, $value['form']['field'], $params, $prefix, '', $merge, $location);
        } elseif (isset($value['form']['fields'])) {
            $this->parseFormFields($value['form']['fields'], $params, $prefix, '', $merge, $location);
        }

        $this->items[$name] += ['form' => $form];

        return $this;
    }

    /**
     * Merge two arrays by using blueprints.
     *
     * @param  array $data1
     * @param  array $data2
     * @param  string $name         Optional
     * @param  string $separator    Optional
     * @return array
     */
    public function mergeData(array $data1, array $data2, $name = null, $separator = '.')
    {
        $nested = $this->getNested($name, $separator);

        if (!\is_array($nested)) {
            $nested = [];
        }

        return $this->mergeArrays($data1, $data2, $nested);
    }

    /**
     * Get the property with given path.
     *
     * @param string $path
     * @param string $separator
     * @return mixed
     */
    public function getProperty($path = null, $separator = '.')
    {
        $name = $this->getPropertyName($path, $separator);
        $property = $this->get($name);
        $nested = $this->getNested($name);

        return $this->getPropertyRecursion($property, $nested);
    }

    /**
     * Returns name of the property with given path.
     *
     * @param string $path
     * @param string $separator
     * @return string
     */
    public function getPropertyName($path = null, $separator = '.')
    {
        $parts = explode($separator, $path);
        $nested = $this->nested;

        $result = [];
        while (($part = array_shift($parts)) !== null) {
            if (!isset($nested[$part])) {
                if (isset($nested['*'])) {
                    $part = '*';
                } else {
                    return implode($separator, array_merge($result, [$part], $parts));
                }
            }
            $result[] = $part;
            $nested = $nested[$part];
        }

        return implode('.', $result);
    }

    /**
     * Return data fields that do not exist in blueprints.
     *
     * @param  array  $data
     * @param  string $prefix
     * @return array
     */
    public function extra(array $data, $prefix = '')
    {
        $rules = $this->nested;

        // Drill down to prefix level
        if (!empty($prefix)) {
            $parts = explode('.', trim($prefix, '.'));
            foreach ($parts as $part) {
                $rules = isset($rules[$part]) ? $rules[$part] : [];
            }
        }

        // Check if the form cannot have extra fields.
        if (isset($rules[''])) {
            $rule = $this->items[''];
            if (isset($rule['type']) && $rule['type'] !== '_root') {
                return [];
            }
        }

        return $this->extraArray($data, $rules, $prefix);
    }

    /**
     * Get the property with given path.
     *
     * @param $property
     * @param $nested
     * @return mixed
     */
    protected function getPropertyRecursion($property, $nested)
    {
        if (empty($nested) || !\is_array($nested) || !isset($property['type'])) {
            return $property;
        }

        if ($property['type'] === '_root') {
            foreach ($nested as $key => $value) {
                if ($key === '') {
                    continue;
                }

                $name = \is_array($value) ? $key : $value;
                $property['fields'][$key] = $this->getPropertyRecursion($this->get($name), $value);
            }
        } elseif ($property['type'] === '_parent' || !empty($property['array'])) {
            foreach ($nested as $key => $value) {
                $name = \is_array($value) ? "{$property['name']}.{$key}" : $value;
                $property['fields'][$key] = $this->getPropertyRecursion($this->get($name), $value);
            }
        }

        return $property;
    }

    /**
     * Get property from the definition.
     *
     * @param  string  $path  Comma separated path to the property.
     * @param  string  $separator
     * @return array|string|null
     * @internal
     */
    protected function getNested($path = null, $separator = '.')
    {
        if (!$path) {
            return $this->nested;
        }
        $parts = explode($separator, $path);
        $item = array_pop($parts);

        $nested = $this->nested;
        foreach ($parts as $part) {
            if (!isset($nested[$part])) {
                $part = '*';
                if (!isset($nested[$part])) {
                    return [];
                }
            }
            $nested = $nested[$part];
        }

        return isset($nested[$item]) ? $nested[$item] : (isset($nested['*']) ? $nested['*'] : null);
    }

    /**
     * @param array $nested
     * @return array
     */
    protected function buildDefaults(array $nested)
    {
        $defaults = [];

        foreach ($nested as $key => $value) {
            if ($key === '*') {
                // TODO: Add support for adding defaults to collections.
                continue;
            }

            if (\is_array($value)) {
                // Recursively fetch the items.
                $list = $this->buildDefaults($value);

                // Only return defaults if there are any.
                if (!empty($list)) {
                    $defaults[$key] = $list;
                }
            } else {
                // We hit a field; get default from it if it exists.
                $item = $this->get($value);

                // Only return default value if it exists.
                if (isset($item['default'])) {
                    $defaults[$key] = $item['default'];
                }
            }
        }

        return $defaults;
    }

    /**
     * @param array $data1
     * @param array $data2
     * @param array $rules
     * @return array
     * @internal
     */
    protected function mergeArrays(array $data1, array $data2, array $rules)
    {
        foreach ($data2 as $key => $field) {
            $val = isset($rules[$key]) ? $rules[$key] : null;
            $rule = \is_string($val) ? $this->items[$val] : null;

            if ((array_key_exists($key, $data1) && \is_array($data1[$key]) && \is_array($field) && \is_array($val) && !isset($val['*']))
                || (!empty($rule['type']) && strpos($rule['type'], '_') === 0)) {
                // Array has been defined in blueprints and is not a collection of items.
                $data1[$key] = $this->mergeArrays($data1[$key], $field, $val);
            } else {
                // Otherwise just take value from the data2.
                $data1[$key] = $field;
            }
        }

        return $data1;
    }

    /**
     * Gets all field definitions from the blueprints.
     *
     * @param array  $fields    Fields to parse.
     * @param array  $params    Property parameters.
     * @param string $prefix    Property prefix.
     * @param string $parent    Parent property.
     * @param bool   $merge     Merge fields instead replacing them.
     * @param array $formPath
     */
    protected function parseFormFields(array $fields, array $params, $prefix = '', $parent = '', $merge = false, array $formPath = [])
    {
        if (isset($fields['type']) && !\is_array($fields['type'])) {
            return;
        }

        // Go though all the fields in current level.
        foreach ($fields as $key => $field) {
            $this->parseFormField($key, $field, $params, $prefix, $parent, $merge, $formPath);
        }
    }

    /**
     * @param string $key
     * @param array $field
     * @param array $params
     * @param string $prefix
     * @param string $parent
     * @param bool $merge
     * @param array $formPath
     */
    protected function parseFormField($key, array $field, array $params, $prefix = '', $parent = '', $merge = false, array $formPath = [])
    {
        // Skip illegal field (needs to be an array).
        if (!\is_array($field)) {
            return;
        }

        $key = $this->getFieldKey($key, $prefix, $parent);

        $newPath = array_merge($formPath, [$key]);

        $properties = array_diff_key($field, $this->ignoreFormKeys) + $params;
        $properties['name'] = $key;

        // Set default properties for the field type.
        $type = isset($properties['type']) ? $properties['type'] : '';
        if (isset($this->types[$type])) {
            $properties += $this->types[$type];
        }

        // Merge properties with existing ones.
        if ($merge && isset($this->items[$key])) {
            $properties += $this->items[$key];
        }

        $isInputField = !isset($properties['input@']) || $properties['input@'];

        $propertyExists = isset($this->items[$key]);
        if (!$isInputField) {
            // Remove property if it exists.
            if ($propertyExists) {
                $this->removeProperty($key);
            }
        } elseif (!$propertyExists) {
            // Add missing property.
            $this->addProperty($key);
        }

        if (isset($field['fields'])) {
            // Recursively get all the nested fields.
            $isArray = !empty($properties['array']);
            $newParams = array_intersect_key($properties, $this->filter);
            $this->parseFormFields($field['fields'], $newParams, $prefix, $key . ($isArray ? '.*': ''), $merge, $newPath);
        } else {
            if (!isset($this->items[$key])) {
                // Add parent rules.
                $path = explode('.', $key);
                array_pop($path);
                $parent = '';

                foreach ($path as $part) {
                    $parent .= ($parent ? '.' : '') . $part;
                    if (!isset($this->items[$parent])) {
                        $this->items[$parent] = ['type' => '_parent', 'name' => $parent, 'form_field' => false];
                    }
                }
            }

            if ($isInputField) {
                $this->parseProperties($key, $properties);
            }
        }

        if ($isInputField) {
            $this->items[$key] = $properties;
        }
    }

    protected function getFieldKey($key, $prefix, $parent)
    {
        // Set name from the array key.
        if (strpos($key[0], '.') === 0) {
            return ($parent ?: rtrim($prefix, '.')) . $key;
        }

        return $prefix . $key;
    }

    protected function parseProperties($key, array &$properties)
    {
        $key = ltrim($key, '.');

        if (!empty($properties['data'])) {
            $this->dynamic[$key] = $properties['data'];
        }

        foreach ($properties as $name => $value) {
            if (strpos($name[0], '@') !== false) {
                $list = explode('-', trim($name, '@'), 2);
                $action = array_shift($list);
                $property = array_shift($list);

                $this->dynamic[$key][$property] = ['action' => $action, 'params' => $value];
            }
        }

        // Initialize predefined validation rule.
        if (isset($properties['validate']['rule'])) {
            $properties['validate'] += $this->getRule($properties['validate']['rule']);
        }
    }

    /**
     * Add property to the definition.
     *
     * @param  string  $path  Comma separated path to the property.
     * @internal
     */
    protected function addProperty($path)
    {
        $parts = explode('.', $path);
        $item = array_pop($parts);

        $nested = &$this->nested;
        foreach ($parts as $part) {
            if (!isset($nested[$part]) || !\is_array($nested[$part])) {
                $nested[$part] = [];
            }

            $nested = &$nested[$part];
        }

        if (!isset($nested[$item])) {
            $nested[$item] = $path;
        }
    }

    /**
     * Remove property to the definition.
     *
     * @param  string  $path  Comma separated path to the property.
     * @internal
     */
    protected function removeProperty($path)
    {
        $parts = explode('.', $path);
        $item = array_pop($parts);

        $nested = &$this->nested;
        foreach ($parts as $part) {
            if (!isset($nested[$part]) || !\is_array($nested[$part])) {
                return;
            }

            $nested = &$nested[$part];
        }

        if (isset($nested[$item])) {
            unset($nested[$item]);
        }
    }

    /**
     * @param $rule
     * @return array
     * @internal
     */
    protected function getRule($rule)
    {
        if (isset($this->rules[$rule]) && \is_array($this->rules[$rule])) {
            return $this->rules[$rule];
        }
        return [];
    }

    /**
     * @param array $data
     * @param array $rules
     * @param string $prefix
     * @return array
     * @internal
     */
    protected function extraArray(array $data, array $rules, $prefix)
    {
        $array = [];

        foreach ($data as $key => $field) {
            $val = isset($rules[$key]) ? $rules[$key] : (isset($rules['*']) ? $rules['*'] : null);
            $rule = \is_string($val) ? $this->items[$val] : null;

            if ($rule || isset($val['*'])) {
                // Item has been defined in blueprints.
            } elseif (\is_array($field) && \is_array($val)) {
                // Array has been defined in blueprints.
                $array += $this->extraArray($field, $val, $prefix . $key . '.');
            } else {
                // Undefined/extra item.
                $array[$prefix.$key] = $field;
            }
        }
        return $array;
    }

    /**
     * @param array $field
     * @param string $property
     * @param array $call
     */
    protected function dynamicData(array &$field, $property, array $call)
    {
        $params = $call['params'];

        if (\is_array($params)) {
            $function = array_shift($params);
        } else {
            $function = $params;
            $params = [];
        }

        $list = explode('::', $function, 2);
        $f = array_pop($list);
        $o = array_pop($list);

        if (!$o) {
            if (\function_exists($f)) {
                $data = \call_user_func_array($f, $params);
            }
        } else {
            if (method_exists($o, $f)) {
                $data = \call_user_func_array(array($o, $f), $params);
            }
        }

        // If function returns a value,
        if (isset($data)) {
            if (\is_array($data) && isset($field[$property]) && \is_array($field[$property])) {
                // Combine field and @data-field together.
                $field[$property] += $data;
            } else {
                // Or create/replace field with @data-field.
                $field[$property] = $data;
            }
        }
    }
}
vendor/rockettheme/toolbox/Session/src/Session.php000060400000012476150750356260016426 0ustar00<?php
namespace RocketTheme\Toolbox\Session;

/**
 * Implements Session handling.
 *
 * @package RocketTheme\Toolbox\Session
 * @author RocketTheme
 * @license MIT
 */
class Session implements \IteratorAggregate
{
    /**
     * @var bool
     */
    protected $started = false;

    /**
     * @var Session
     */
    protected static $instance;


    /**
     * @param int    $lifetime Defaults to 1800 seconds.
     * @param string $path     Cookie path.
     * @param string $domain   Optional, domain for the session
     * @throws \RuntimeException
     */
    public function __construct($lifetime, $path, $domain = null)
    {
        // Session is a singleton.
        if (null !== self::$instance) {
            throw new \RuntimeException('Session has already been initialized.', 500);
        }

        // Destroy any existing sessions started with session.auto_start
        if ($this->isSessionStarted()) {
            session_unset();
            session_destroy();
        }

        // Disable transparent sid support
        ini_set('session.use_trans_sid', 0);

        // Only allow cookies
        ini_set('session.use_cookies', 1);

        session_name('msF9kJcW');
        session_set_cookie_params($lifetime, $path, $domain);
        register_shutdown_function([$this, 'close']);
        session_cache_limiter('nocache');

        self::$instance = $this;
    }

    /**
     * Get current session instance.
     *
     * @return Session
     * @throws \RuntimeException
     */
    public function instance()
    {
        if (null === self::$instance) {
            throw new \RuntimeException("Session hasn't been initialized.", 500);
        }

        return self::$instance;
    }

    /**
     * Starts the session storage
     *
     * @return $this
     * @throws \RuntimeException
     */
    public function start()
    {
        // Protection against invalid session cookie names throwing exception: http://php.net/manual/en/function.session-id.php#116836
        if (isset($_COOKIE[session_name()]) && !preg_match('/^[-,a-zA-Z0-9]{1,128}$/', $_COOKIE[session_name()])) {
            unset($_COOKIE[session_name()]);
        }

        if (!session_start()) {
            throw new \RuntimeException('Failed to start session.', 500);
        }

        $this->started = true;

        return $this;
    }

    /**
     * Get session ID
     *
     * @return string|null Session ID
     */
    public function getId()
    {
        return session_id();
    }

    /**
     * Set session Id
     *
     * @param string $id Session ID
     *
     * @return $this
     */
    public function setId($id)
    {
        session_id($id);

        return $this;
    }


    /**
     * Get session name
     *
     * @return string|null
     */
    public function getName()
    {
        return session_name();
    }

    /**
     * Set session name
     *
     * @param string $name
     *
     * @return $this
     */
    public function setName($name)
    {
        session_name($name);

        return $this;
    }

    /**
     * Invalidates the current session.
     *
     * @return $this
     */
    public function invalidate()
    {
        $params = session_get_cookie_params();
        setcookie(session_name(), '', time() - 42000,
            $params['path'], $params['domain'],
            $params['secure'], $params['httponly']
        );

        session_unset();
        session_destroy();

        $this->started = false;

        return $this;
    }

    /**
     * Force the session to be saved and closed
     *
     * @return $this
     */
    public function close()
    {
        if ($this->started) {
            session_write_close();
        }

        $this->started = false;

        return $this;
    }

    /**
     * Checks if an attribute is defined.
     *
     * @param string $name The attribute name
     *
     * @return bool True if the attribute is defined, false otherwise
     */
    public function __isset($name)
    {
        return isset($_SESSION[$name]);
    }

    /**
     * Returns an attribute.
     *
     * @param string $name    The attribute name
     *
     * @return mixed
     */
    public function __get($name)
    {
        return isset($_SESSION[$name]) ? $_SESSION[$name] : null;
    }

    /**
     * Sets an attribute.
     *
     * @param string $name
     * @param mixed  $value
     */
    public function __set($name, $value)
    {
        $_SESSION[$name] = $value;
    }

    /**
     * Removes an attribute.
     *
     * @param string $name
     */
    public function __unset($name)
    {
        unset($_SESSION[$name]);
    }

    /**
     * Returns attributes.
     *
     * @return array Attributes
     */
    public function all()
    {
        return $_SESSION;
    }


    /**
     * Retrieve an external iterator
     *
     * @return \ArrayIterator Return an ArrayIterator of $_SESSION
     */
    public function getIterator()
    {
        return new \ArrayIterator($_SESSION);
    }

    /**
     * Checks if the session was started.
     *
     * @return Boolean
     */
    public function started()
    {
        return $this->started;
    }

    /**
     * http://php.net/manual/en/function.session-status.php#113468
     * Check if session is started nicely.
     * @return bool
     */
    protected function isSessionStarted()
    {
        return php_sapi_name() !== 'cli' ? session_id() !== '' : false;
    }
}
vendor/rockettheme/toolbox/Session/src/Message.php000060400000003573150750356260016365 0ustar00<?php
namespace RocketTheme\Toolbox\Session;

/**
 * Implements session messages.
 *
 * @package RocketTheme\Toolbox\Session
 * @author RocketTheme
 * @license MIT
 */
class Message
{
    /**
     * @var array|string[]
     */
    protected $messages = [];

    /**
     * Add message to the queue.
     *
     * @param string $message
     * @param string $scope
     * @return $this
     */
    public function add($message, $scope = 'default')
    {
        $key = md5($scope.'~'.$message);
        $item = ['message' => $message, 'scope' => $scope];

        // don't add duplicates
        if (!array_key_exists($key, $this->messages)) {
            $this->messages[$key] = $item;
        }

        return $this;
    }

    /**
     * Clear message queue.
     *
     * @param string $scope
     * @return $this
     */
    public function clear($scope = null)
    {
        if ($scope === null) {
            $this->messages = array();
        } else {
            foreach ($this->messages as $key => $message) {
                if ($message['scope'] === $scope) {
                    unset($this->messages[$key]);
                }
            }
        }
        return $this;
    }

    /**
     * Fetch all messages.
     *
     * @param string $scope
     * @return array
     */
    public function all($scope = null)
    {
        if ($scope === null) {
            return array_values($this->messages);
        }

        $messages = array();
        foreach ($this->messages as $message) {
            if ($message['scope'] === $scope) {
                $messages[] = $message;
            }
        }

        return $messages;
    }

    /**
     * Fetch and clear message queue.
     *
     * @param string $scope
     * @return array
     */
    public function fetch($scope = null)
    {
        $messages = $this->all($scope);
        $this->clear($scope);

        return $messages;
    }

}
vendor/rockettheme/toolbox/StreamWrapper/src/Stream.php000060400000017057150750356260017407 0ustar00<?php
namespace RocketTheme\Toolbox\StreamWrapper;

use RocketTheme\Toolbox\ResourceLocator\ResourceLocatorInterface;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;

/**
 * Implements Read/Write Streams.
 *
 * @package RocketTheme\Toolbox\StreamWrapper
 * @author RocketTheme
 * @license MIT
 */
class Stream implements StreamInterface
{
    /**
     * @var string
     */
    protected $uri;

    /**
     * A generic resource handle.
     *
     * @var Resource
     */
    protected $handle = null;

    /**
     * @var ResourceLocatorInterface|UniformResourceLocator
     */
    protected static $locator;

    /**
     * @param ResourceLocatorInterface $locator
     */
    public static function setLocator(ResourceLocatorInterface $locator)
    {
        static::$locator = $locator;
    }

    public function stream_open($uri, $mode, $options, &$opened_url)
    {
        $path = $this->getPath($uri, $mode);

        if (!$path) {
            if ($options & STREAM_REPORT_ERRORS) {
                trigger_error(sprintf('stream_open(): path for %s does not exist', $uri), E_USER_WARNING);
            }

            return false;
        }

        $this->uri = $uri;
        $this->handle = ($options & STREAM_REPORT_ERRORS) ? fopen($path, $mode) : @fopen($path, $mode);

        if (static::$locator instanceof UniformResourceLocator && !\in_array($mode, ['r', 'rb', 'rt'], true)) {
            static::$locator->clearCache($this->uri);
        }

        return (bool) $this->handle;
    }

    public function stream_close()
    {
        return fclose($this->handle);
    }

    public function stream_lock($operation)
    {
        if (\in_array($operation, [LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB], true)) {
            return flock($this->handle, $operation);
        }

        return false;
    }

    public function stream_metadata($uri, $option, $value)
    {
        $path = $this->findPath($uri);
        if ($path) {
            switch ($option) {
                case STREAM_META_TOUCH:
                    list($time, $atime) = $value;
                    return touch($path, $time, $atime);

                case STREAM_META_OWNER_NAME:
                case STREAM_META_OWNER:
                    return chown($path, $value);

                case STREAM_META_GROUP_NAME:
                case STREAM_META_GROUP:
                    return chgrp($path, $value);

                case STREAM_META_ACCESS:
                    return chmod($path, $value);
            }
        }

        return false;
    }

    public function stream_read($count)
    {
        return fread($this->handle, $count);
    }

    public function stream_write($data)
    {
        return fwrite($this->handle, $data);
    }

    public function stream_eof()
    {
        return feof($this->handle);
    }

    public function stream_seek($offset, $whence)
    {
        // fseek returns 0 on success and -1 on a failure.
        return !fseek($this->handle, $offset, $whence);
    }

    public function stream_flush()
    {
        return fflush($this->handle);
    }

    public function stream_tell()
    {
        return ftell($this->handle);
    }

    public function stream_stat()
    {
        return fstat($this->handle);
    }

    /**
     * @return bool
     */
    public function stream_set_option($option, $arg1, $arg2)
    {
        switch ((int)$option) {
            case STREAM_OPTION_BLOCKING:
                return stream_set_blocking($this->handle, (int)$arg1);
            case STREAM_OPTION_READ_TIMEOUT:
                return stream_set_timeout($this->handle, (int)$arg1, (int)$arg2);
            case STREAM_OPTION_WRITE_BUFFER:
                return stream_set_write_buffer($this->handle, (int)$arg2);
            default:
                return false;
        }
    }

    /**
     * @param string $uri
     * @return bool
     */
    public function unlink($uri)
    {
        $path = $this->getPath($uri);

        if (!$path) {
            return false;
        }

        return unlink($path);
    }

    public function rename($fromUri, $toUri)
    {
        $fromPath = $this->getPath($fromUri);
        $toPath = $this->getPath($toUri, 'w');

        if (!$fromPath || !$toPath) {
            return false;
        }

        if (static::$locator instanceof UniformResourceLocator) {
            static::$locator->clearCache($fromUri);
            static::$locator->clearCache($toUri);
        }

        return rename($fromPath, $toPath);
    }

    public function mkdir($uri, $mode, $options)
    {
        $recursive = (bool) ($options & STREAM_MKDIR_RECURSIVE);
        $path = $this->getPath($uri, $recursive ? 'd' : 'w');

        if (!$path) {
            if ($options & STREAM_REPORT_ERRORS) {
                trigger_error(sprintf('mkdir(): Could not create directory for %s', $uri), E_USER_WARNING);
            }

            return false;
        }

        if (static::$locator instanceof UniformResourceLocator) {
            static::$locator->clearCache($uri);
        }

        return ($options & STREAM_REPORT_ERRORS) ? mkdir($path, $mode, $recursive) : @mkdir($path, $mode, $recursive);
    }

    public function rmdir($uri, $options)
    {
        $path = $this->getPath($uri);

        if (!$path) {
            if ($options & STREAM_REPORT_ERRORS) {
                trigger_error(sprintf('rmdir(): Directory not found for %s', $uri), E_USER_WARNING);
            }

            return false;
        }

        if (static::$locator instanceof UniformResourceLocator) {
            static::$locator->clearCache($uri);
        }

        return ($options & STREAM_REPORT_ERRORS) ? rmdir($path) : @rmdir($path);
    }

    public function url_stat($uri, $flags)
    {
        $path = $this->getPath($uri);

        if (!$path) {
            return false;
        }

        // Suppress warnings if requested or if the file or directory does not
        // exist. This is consistent with PHPs plain filesystem stream wrapper.
        return ($flags & STREAM_URL_STAT_QUIET || !file_exists($path)) ? @stat($path) : stat($path);
    }

    public function dir_opendir($uri, $options)
    {
        $path = $this->getPath($uri);

        if (!$path) {
            return false;
        }

        $this->uri = $uri;
        $this->handle = opendir($path);

        return (bool) $this->handle;
    }

    public function dir_readdir()
    {
        return readdir($this->handle);
    }

    public function dir_rewinddir()
    {
        rewinddir($this->handle);

        return true;
    }

    public function dir_closedir()
    {
        closedir($this->handle);

        return true;
    }

    protected function getPath($uri, $mode = null)
    {
        if ($mode === null) {
            $mode = 'r';
        }

        $path = $this->findPath($uri);

        if ($path && file_exists($path)) {
            return $path;
        }

        if (strpos($mode[0], 'r') === 0) {
            return false;
        }

        // We are either opening a file or creating directory.
        list($scheme, $target) = explode('://', $uri, 2);

        if ($target === '') {
            return false;
        }
        $target = explode('/', $target);
        $filename = [];

        do {
            $filename[] = array_pop($target);

            $path = $this->findPath($scheme . '://' . implode('/', $target));
        } while ($target && !$path);

        if (!$path) {
            return false;
        }

        return $path . '/' .  implode('/', array_reverse($filename));
    }

    protected function findPath($uri)
    {
        return static::$locator && static::$locator->isStream($uri) ? static::$locator->findResource($uri) : false;
    }
}
vendor/rockettheme/toolbox/StreamWrapper/src/StreamInterface.php000060400000020334150750356260021220 0ustar00<?php
namespace RocketTheme\Toolbox\StreamWrapper;

/**
 * Defines Generic PHP stream wrapper interface.
 *
 * @package RocketTheme\Toolbox\StreamWrapper
 * @author RocketTheme
 * @license MIT
 *
 * @see http://www.php.net/manual/class.streamwrapper.php
 */
interface StreamInterface
{
    /**
     * Support for fopen(), file_get_contents(), file_put_contents() etc.
     *
     * @param string $uri        A string containing the URI to the file to open.
     * @param string $mode       The file mode ("r", "wb" etc.).
     * @param int    $options    A bit mask of STREAM_USE_PATH and STREAM_REPORT_ERRORS.
     * @param string $opened_url A string containing the path actually opened.
     *
     * @return bool Returns TRUE if file was opened successfully.
     * @see http://php.net/manual/streamwrapper.stream-open.php
     */
    public function stream_open($uri, $mode, $options, &$opened_url);

    /**
     * Support for fclose().
     *
     * @return bool TRUE if stream was successfully closed.
     * @see http://php.net/manual/streamwrapper.stream-close.php
     */
    public function stream_close();

    /**
     * Support for flock().
     *
     * @param $operation
     *     One of the following:
     *     - LOCK_SH to acquire a shared lock (reader).
     *     - LOCK_EX to acquire an exclusive lock (writer).
     *     - LOCK_UN to release a lock (shared or exclusive).
     *     - LOCK_NB if you don't want flock() to block while locking (not
     *     supported on Windows).
     *
     * @return bool Always returns TRUE at the present time.
     * @see http://php.net/manual/streamwrapper.stream-lock.php
     */
    public function stream_lock($operation);

    /**
     * Support for touch(), chmod(), chown(), chgrp().
     *
     * @param $path
     *     The file path or URL to set metadata. Note that in the case of a URL, it must be a :// delimited URL.
     *     Other URL forms are not supported.
     *
     * @param $option
     *     One of:
     *     - STREAM_META_TOUCH      The method was called in response to touch()
     *     - STREAM_META_OWNER_NAME The method was called in response to chown() with string parameter
     *     - STREAM_META_OWNER      The method was called in response to chown()
     *     - STREAM_META_GROUP_NAME The method was called in response to chgrp()
     *     - STREAM_META_GROUP      The method was called in response to chgrp()
     *     - STREAM_META_ACCESS     The method was called in response to chmod()
     *
     * @param $value
     *     If option is
     *     - STREAM_META_TOUCH:         Array consisting of two arguments of the touch() function.
     *     - STREAM_META_OWNER_NAME or
     *       STREAM_META_GROUP_NAME:    The name of the owner user/group as string.
     *     - STREAM_META_OWNER or
     *       STREAM_META_GROUP:         The value owner user/group argument as integer.
     *     - STREAM_META_ACCESS:        The argument of the chmod() as integer.


     *
     * @return bool
     * @see http://php.net/manual/en/streamwrapper.stream-metadata.php
     */
    public function stream_metadata($path, $option, $value);

    /**
     * Support for fread(), file_get_contents() etc.
     *
     * @param $count
     *   Maximum number of bytes to be read.
     *
     * @return string|bool The string that was read, or FALSE in case of an error.
     * @see http://php.net/manual/streamwrapper.stream-read.php
     */
    public function stream_read($count);

    /**
     * Support for fwrite(), file_put_contents() etc.
     *
     * @param $data
     *   The string to be written.
     *
     * @return int The number of bytes written (integer).
     * @see http://php.net/manual/streamwrapper.stream-write.php
     */
    public function stream_write($data);

    /**
     * Support for feof().
     *
     * @return bool TRUE if end-of-file has been reached.
     * @see http://php.net/manual/streamwrapper.stream-eof.php
     */
    public function stream_eof();

    /**
     * Support for fseek().
     *
     * @param $offset
     *   The byte offset to got to.
     * @param $whence
     *   SEEK_SET, SEEK_CUR, or SEEK_END.
     *
     * @return bool TRUE on success.
     * @see http://php.net/manual/streamwrapper.stream-seek.php
     */
    public function stream_seek($offset, $whence);

    /**
     * Support for fflush().
     *
     * @return bool TRUE if data was successfully stored (or there was no data to store).
     * @see http://php.net/manual/streamwrapper.stream-flush.php
     */
    public function stream_flush();

    /**
     * Support for ftell().
     *
     * @return int The current offset in bytes from the beginning of file.
     * @see http://php.net/manual/streamwrapper.stream-tell.php
     */
    public function stream_tell();

    /**
     * Support for fstat().
     *
     * @return array An array with file status, or FALSE in case of an error - see fstat()
     * @see http://php.net/manual/streamwrapper.stream-stat.php
     */
    public function stream_stat();

    /**
     * Support for stream_set_option 
     *  - stream_set_blocking()
     *  - stream_set_timeout()
     *  - stream_set_write_buffer()
     *
     * @param int $option
     * @param int $arg1
     * @param int $arg2
     * @return bool
     *
     * @see http://php.net/manual/streamwrapper.stream-set-option.php
     */
    public function stream_set_option($option, $arg1, $arg2);

    /**
     * Support for unlink().
     *
     * @param $uri
     *   A string containing the URI to the resource to delete.
     *
     * @return
     *   TRUE if resource was successfully deleted.
     * @see http://php.net/manual/streamwrapper.unlink.php
     */
    public function unlink($uri);

    /**
     * Support for rename().
     *
     * @param $from_uri ,
     *                  The URI to the file to rename.
     * @param $to_uri
     *                  The new URI for file.
     *
     * @return bool TRUE if file was successfully renamed.
     * @see http://php.net/manual/streamwrapper.rename.php
     */
    public function rename($from_uri, $to_uri);

    /**
     * Support for mkdir().
     *
     * @param $uri
     *   A string containing the URI to the directory to create.
     * @param $mode
     *   Permission flags - see mkdir().
     * @param $options
     *   A bit mask of STREAM_REPORT_ERRORS and STREAM_MKDIR_RECURSIVE.
     *
     * @return bool TRUE if directory was successfully created.
     * @see http://php.net/manual/streamwrapper.mkdir.php
     */
    public function mkdir($uri, $mode, $options);

    /**
     * Support for rmdir().
     *
     * @param $uri
     *   A string containing the URI to the directory to delete.
     * @param $options
     *   A bit mask of STREAM_REPORT_ERRORS.
     *
     * @return
     *   TRUE if directory was successfully removed.
     *
     * @see http://php.net/manual/streamwrapper.rmdir.php
     */
    public function rmdir($uri, $options);

    /**
     * Support for stat().
     *
     * @param $uri
     *   A string containing the URI to get information about.
     * @param $flags
     *   A bit mask of STREAM_URL_STAT_LINK and STREAM_URL_STAT_QUIET.
     *
     * @return array An array with file status, or FALSE in case of an error - see fstat()
     * @see http://php.net/manual/streamwrapper.url-stat.php
     */
    public function url_stat($uri, $flags);

    /**
     * Support for opendir().
     *
     * @param $uri
     *   A string containing the URI to the directory to open.
     * @param $options
     *   Unknown (parameter is not documented in PHP Manual).
     *
     * @return bool TRUE on success.
     * @see http://php.net/manual/streamwrapper.dir-opendir.php
     */
    public function dir_opendir($uri, $options);

    /**
     * Support for readdir().
     *
     * @return string The next filename, or FALSE if there are no more files in the directory.
     * @see http://php.net/manual/streamwrapper.dir-readdir.php
     */
    public function dir_readdir();

    /**
     * Support for rewinddir().
     *
     * @return bool TRUE on success.
     * @see http://php.net/manual/streamwrapper.dir-rewinddir.php
     */
    public function dir_rewinddir();

    /**
     * Support for closedir().
     *
     * @return bool TRUE on success.
     * @see http://php.net/manual/streamwrapper.dir-closedir.php
     */
    public function dir_closedir();
}
vendor/rockettheme/toolbox/StreamWrapper/src/StreamBuilder.php000060400000004175150750356260020713 0ustar00<?php
namespace RocketTheme\Toolbox\StreamWrapper;

/**
 * Class StreamBuilder
 * @package RocketTheme\Toolbox\StreamWrapper
 */
class StreamBuilder
{
    /**
     * @var array
     */
    protected $items = [];

    /**
     * StreamBuilder constructor.
     * @param StreamInterface[] $items
     * @throws \InvalidArgumentException
     */
    public function __construct(array $items = [])
    {
        foreach ($items as $scheme => $handler) {
            $this->add($scheme, $handler);
        }
    }

    /**
     * @param string $scheme
     * @param StreamInterface $handler
     * @return $this
     * @throws \InvalidArgumentException
     */
    public function add($scheme, $handler)
    {
        if (isset($this->items[$scheme])) {
            if ($handler === $this->items[$scheme]) {
                return $this;
            }
            throw new \InvalidArgumentException("Stream '{$scheme}' has already been initialized.");
        }

        if (!is_subclass_of($handler, 'RocketTheme\Toolbox\StreamWrapper\StreamInterface')) {
            throw new \InvalidArgumentException("Stream '{$scheme}' has unknown or invalid type.");
        }

        if (!@stream_wrapper_register($scheme, $handler)) {
            throw new \InvalidArgumentException("Stream '{$scheme}' could not be initialized.");
        }

        $this->items[$scheme] = $handler;

        return $this;
    }

    /**
     * @param string $scheme
     * @return $this
     */
    public function remove($scheme)
    {
        if (isset($this->items[$scheme])) {
            stream_wrapper_unregister($scheme);
            unset($this->items[$scheme]);
        }

        return $this;
    }

    /**
     * @return array
     */
    public function getStreams()
    {
        return $this->items;
    }

    /**
     * @param string $scheme
     * @return bool
     */
    public function isStream($scheme)
    {
        return isset($this->items[$scheme]);
    }

    /**
     * @param string $scheme
     * @return StreamInterface|null
     */
    public function getStreamType($scheme)
    {
        return isset($this->items[$scheme]) ? $this->items[$scheme] : null;
    }
}
vendor/rockettheme/toolbox/StreamWrapper/src/ReadOnlyStream.php000060400000005175150750356260021043 0ustar00<?php
namespace RocketTheme\Toolbox\StreamWrapper;

use RocketTheme\Toolbox\ResourceLocator\ResourceLocatorInterface;

/**
 * Implements Read Only Streams.
 *
 * @package RocketTheme\Toolbox\StreamWrapper
 * @author RocketTheme
 * @license MIT
 */
class ReadOnlyStream extends Stream implements StreamInterface
{
    /**
     * @var ResourceLocatorInterface
     */
    protected static $locator;

    public function stream_open($uri, $mode, $options, &$opened_url)
    {
        if (!\in_array($mode, ['r', 'rb', 'rt'], true)) {
            if ($options & STREAM_REPORT_ERRORS) {
                trigger_error(sprintf('stream_open() write modes not allowed for %s', $uri), E_USER_WARNING);
            }

            return false;
        }

        $path = $this->getPath($uri);

        if (!$path) {
            if ($options & STREAM_REPORT_ERRORS) {
                trigger_error(sprintf('stream_open(): path for %s does not exist', $uri), E_USER_WARNING);
            }

            return false;
        }

        $this->uri = $uri;
        $this->handle = ($options & STREAM_REPORT_ERRORS) ? fopen($path, $mode) : @fopen($path, $mode);

        return (bool) $this->handle;
    }

    public function stream_lock($operation)
    {
        // Disallow exclusive lock or non-blocking lock requests
        if (!\in_array($operation, [LOCK_SH, LOCK_UN, LOCK_SH | LOCK_NB], true)) {
            trigger_error(
                sprintf('stream_lock() exclusive lock operations not allowed for %s', $this->uri),
                E_USER_WARNING
            );

            return false;
        }

        return flock($this->handle, $operation);
    }

    public function stream_metadata($uri, $option, $value)
    {
        if ($option !== STREAM_META_TOUCH) {
            throw new \BadMethodCallException(sprintf('stream_metadata() not allowed for %s', $uri));
        }

        return parent::stream_metadata($uri, $option, $value);
    }

    public function stream_write($data)
    {
        throw new \BadMethodCallException(sprintf('stream_write() not allowed for %s', $this->uri));
    }

    public function unlink($uri)
    {
        throw new \BadMethodCallException(sprintf('unlink() not allowed for %s', $uri));
    }

    public function rename($from_uri, $to_uri)
    {
        throw new \BadMethodCallException(sprintf('rename() not allowed for %s', $from_uri));
    }

    public function mkdir($uri, $mode, $options)
    {
        throw new \BadMethodCallException(sprintf('mkdir() not allowed for %s', $uri));
    }

    public function rmdir($uri, $options)
    {
        throw new \BadMethodCallException(sprintf('rmdir() not allowed for %s', $uri));
    }
}
vendor/rockettheme/toolbox/File/src/File.php000060400000025051150750356260015107 0ustar00<?php
namespace RocketTheme\Toolbox\File;

/**
 * Implements Universal File Reader.
 *
 * @package RocketTheme\Toolbox\File
 * @author RocketTheme
 * @license MIT
 */
class File implements FileInterface
{
    /**
     * @var string
     */
    protected $filename;

    /**
     * @var resource
     */
    protected $handle;

    /**
     * @var bool|null
     */
    protected $locked;

    /**
     * @var string
     */
    protected $extension;

    /**
     * @var string  Raw file contents.
     */
    protected $raw;

    /**
     * @var array  Parsed file contents.
     */
    protected $content;

    /**
     * @var array
     */
    protected $settings = [];

    /**
     * @var array|File[]
     */
    static protected $instances = [];

    /**
     * Get file instance.
     *
     * @param  string  $filename
     * @return static
     */
    public static function instance($filename)
    {
        if (!\is_string($filename) && $filename) {
            throw new \InvalidArgumentException('Filename should be non-empty string');
        }
        if (!isset(static::$instances[$filename])) {
            static::$instances[$filename] = new static;
            static::$instances[$filename]->init($filename);
        }
        return static::$instances[$filename];
    }

    /**
     * Set/get settings.
     *
     * @param array $settings
     * @return array
     */
    public function settings(array $settings = null)
    {
        if ($settings !== null) {
            $this->settings = $settings;
        }

        return $this->settings;
    }

    /**
     * Get setting.
     *
     * @param string $setting
     * @param mixed $default
     * @return mixed
     */
    public function setting($setting, $default = null)
    {
        return isset($this->settings[$setting]) ? $this->settings[$setting] : $default;
    }

    /**
     * Prevent constructor from being used.
     */
    protected function __construct()
    {
    }

    /**
     * Prevent cloning.
     */
    protected function __clone()
    {
        //Me not like clones! Me smash clones!
    }

    /**
     * Set filename.
     *
     * @param $filename
     */
    protected function init($filename)
    {
        $this->filename = $filename;
    }

    /**
     * Free the file instance.
     */
    public function free()
    {
        if ($this->locked) {
            $this->unlock();
        }
        $this->content = null;
        $this->raw = null;

        unset(static::$instances[$this->filename]);
    }

    /**
     * Get/set the file location.
     *
     * @param  string $var
     * @return string
     */
    public function filename($var = null)
    {
        if ($var !== null) {
            $this->filename = $var;
        }
        return $this->filename;
    }

    /**
     * Return basename of the file.
     *
     * @return string
     */
    public function basename()
    {
        return basename($this->filename, $this->extension);
    }

    /**
     * Check if file exits.
     *
     * @return bool
     */
    public function exists()
    {
        return is_file($this->filename);
    }

    /**
     * Return file modification time.
     *
     * @return int|bool Timestamp or false if file doesn't exist.
     */
    public function modified()
    {
        return is_file($this->filename) ? filemtime($this->filename) : false;
    }

    /**
     * Lock file for writing. You need to manually unlock().
     *
     * @param bool $block  For non-blocking lock, set the parameter to false.
     * @return bool
     * @throws \RuntimeException
     */
    public function lock($block = true)
    {
        if (!$this->handle) {
            if (!$this->mkdir(\dirname($this->filename))) {
                throw new \RuntimeException('Creating directory failed for ' . $this->filename);
            }
            $this->handle = @fopen($this->filename, 'cb+');
            if (!$this->handle) {
                $error = error_get_last();

                throw new \RuntimeException("Opening file for writing failed on error {$error['message']}");
            }
        }
        $lock = $block ? LOCK_EX : LOCK_EX | LOCK_NB;

        // Some filesystems do not support file locks, only fail if another process holds the lock.
        $this->locked = flock($this->handle, $lock, $wouldblock) || !$wouldblock;

        return $this->locked;
    }

    /**
     * Returns true if file has been locked for writing.
     *
     * @return bool|null True = locked, false = failed, null = not locked.
     */
    public function locked()
    {
        return $this->locked;
    }

    /**
     * Unlock file.
     *
     * @return bool
     */
    public function unlock()
    {
        if (!$this->handle) {
            return false;
        }
        if ($this->locked) {
            flock($this->handle, LOCK_UN);
            $this->locked = null;
        }
        fclose($this->handle);
        $this->handle = null;

        return true;
    }

    /**
     * Check if file can be written.
     *
     * @return bool
     */
    public function writable()
    {
        return file_exists($this->filename) ? is_writable($this->filename) && is_file($this->filename) : $this->writableDir(\dirname($this->filename));
    }

    /**
     * (Re)Load a file and return RAW file contents.
     *
     * @return string
     */
    public function load()
    {
        $this->raw = $this->exists() ? (string) file_get_contents($this->filename) : '';
        $this->content = null;

        return $this->raw;
    }

    /**
     * Get/set raw file contents.
     *
     * @param string $var
     * @return string
     */
    public function raw($var = null)
    {
        if ($var !== null) {
            $this->raw = (string) $var;
            $this->content = null;
        }

        if (!\is_string($this->raw)) {
            $this->raw = $this->load();
        }

        return $this->raw;
    }

    /**
     * Get/set parsed file contents.
     *
     * @param mixed $var
     * @return string|array
     * @throws \RuntimeException
     */
    public function content($var = null)
    {
        if ($var !== null) {
            $this->content = $this->check($var);

            // Update RAW, too.
            $this->raw = $this->encode($this->content);

        } elseif ($this->content === null) {
            // Decode RAW file.
            try {
                $this->content = $this->decode($this->raw());
            } catch (\Exception $e) {
                throw new \RuntimeException(sprintf('Failed to read %s: %s', $this->filename, $e->getMessage()), 500, $e);
            }
        }

        return $this->content;
    }

    /**
     * Save file.
     *
     * @param  mixed  $data  Optional data to be saved, usually array.
     * @throws \RuntimeException
     */
    public function save($data = null)
    {
        if ($data !== null) {
            $this->content($data);
        }

        $filename = $this->filename;
        $dir = \dirname($filename);

        if (!$this->mkdir($dir)) {
            throw new \RuntimeException('Creating directory failed for ' . $filename);
        }

        try {
            if ($this->handle) {
                $tmp = true;
                // As we are using non-truncating locking, make sure that the file is empty before writing.
                if (@ftruncate($this->handle, 0) === false || @fwrite($this->handle, $this->raw()) === false) {
                    // Writing file failed, throw an error.
                    $tmp = false;
                }
            } else {
                // Create file with a temporary name and rename it to make the save action atomic.
                $tmp = $this->tempname($filename);
                if (file_put_contents($tmp, $this->raw()) === false) {
                    $tmp = false;
                } elseif (@rename($tmp, $filename) === false) {
                    @unlink($tmp);
                    $tmp = false;
                }
            }
        } catch (\Exception $e) {
            $tmp = false;
        }

        if ($tmp === false) {
            throw new \RuntimeException('Failed to save file ' . $filename);
        }

        // Touch the directory as well, thus marking it modified.
        @touch($dir);
    }

    /**
     * Rename file in the filesystem if it exists.
     *
     * @param $filename
     * @return bool
     */
    public function rename($filename)
    {
        if ($this->exists() && !@rename($this->filename, $filename)) {
            return false;
        }

        unset(static::$instances[$this->filename]);
        static::$instances[$filename] = $this;

        $this->filename = $filename;

        return true;
    }

    /**
     * Delete file from filesystem.
     *
     * @return bool
     */
    public function delete()
    {
        return unlink($this->filename);
    }

    /**
     * Check contents and make sure it is in correct format.
     *
     * Override in derived class.
     *
     * @param string $var
     * @return string
     */
    protected function check($var)
    {
        return (string) $var;
    }

    /**
     * Encode contents into RAW string.
     *
     * Override in derived class.
     *
     * @param string $var
     * @return string
     */
    protected function encode($var)
    {
        return (string) $var;
    }

    /**
     * Decode RAW string into contents.
     *
     * Override in derived class.
     *
     * @param string $var
     * @return string mixed
     */
    protected function decode($var)
    {
        return (string) $var;
    }

    /**
     * @param  string  $dir
     */
    private function mkdir($dir)
    {
        // Silence error for open_basedir; should fail in mkdir instead.
        if (@is_dir($dir)) {
            return true;
        }

        $success = @mkdir($dir, 0777, true);

        if (!$success) {
            // Take yet another look, make sure that the folder doesn't exist.
            clearstatcache(true, $dir);
            if (!@is_dir($dir)) {
                return false;
            }
        }

        return true;
    }

    /**
     * @param  string  $dir
     * @return bool
     * @internal
     */
    protected function writableDir($dir)
    {
        if ($dir && !file_exists($dir)) {
            return $this->writableDir(\dirname($dir));
        }

        return $dir && is_dir($dir) && is_writable($dir);
    }

    /**
     * @param string $filename
     * @param int $length
     * @return string
     */
    protected function tempname($filename, $length = 5)
    {
        do {
            $test = $filename . substr(str_shuffle('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'), 0, $length);
        } while (file_exists($test));

        return $test;
    }
}
vendor/rockettheme/toolbox/File/src/IniFile.php000060400000003200150750356260015537 0ustar00<?php
namespace RocketTheme\Toolbox\File;

/**
 * Implements INI File reader.
 *
 * @package RocketTheme\Toolbox\File
 * @author RocketTheme
 * @license MIT
 */
class IniFile extends File
{
    /**
     * @var string
     */
    protected $extension = '.ini';

    /**
     * @var array|File[]
     */
    static protected $instances = [];

    /**
     * Check contents and make sure it is in correct format.
     *
     * @param array $var
     * @return array
     * @throws \RuntimeException
     */
    protected function check($var)
    {
        if (!\is_array($var)) {
            throw new \RuntimeException('Provided data is not an array');
        }

        return $var;
    }

    /**
     * Encode configuration object into RAW string (INI).
     *
     * @param array $var
     * @return string
     * @throws \RuntimeException
     */
    protected function encode($var)
    {
        $string = '';
        foreach ($var as $key => $value) {
            $string .= $key . '="' .  preg_replace(
                    ['/"/', '/\\\/', "/\t/", "/\n/", "/\r/"],
                    ['\"',  '\\\\', '\t',   '\n',   '\r'],
                    $value
                ) . "\"\n";
        }
        return $string;
    }

    /**
     * Decode INI file into contents.
     *
     * @param string $var
     * @return array
     * @throws \RuntimeException
     */
    protected function decode($var)
    {
        $decoded = file_exists($this->filename) ? @parse_ini_file($this->filename) : [];

        if ($decoded === false) {
            throw new \RuntimeException("Decoding file '{$this->filename}' failed'");
        }

        return $decoded;
    }
}
vendor/rockettheme/toolbox/File/src/MoFile.php000060400000007137150750356260015410 0ustar00<?php
namespace RocketTheme\Toolbox\File;

/**
 * Implements Gettext Mo File reader (readonly).
 *
 * @package RocketTheme\Toolbox\File
 * @author RocketTheme
 * @license MIT
 */
class MoFile extends File
{
    /**
     * @var string
     */
    protected $extension = '.mo';

    protected $pos = 0;
    protected $str;
    protected $len;
    protected $endian;

    /**
     * @var array|File[]
     */
    static protected $instances = [];

    /**
     * File can never be written.
     *
     * @return bool
     */
    public function writable()
    {
        return false;
    }

    /**
     * Prevent saving file.
     *
     * @throws \BadMethodCallException
     */
    public function save($data = null)
    {
        throw new \BadMethodCallException('save() not supported for .mo files.');
    }

    /**
     * Prevent deleting file from filesystem.
     *
     * @return bool
     */
    public function delete()
    {
        return false;
    }

    /**
     * @param $var
     * @return array
     * @throws \RuntimeException
     */
    public function decode($var)
    {
        $this->endian = 'V';
        $this->str = $var;
        $this->len = \strlen($var);

        $magic = $this->readInt() & 0xffffffff;

        if ($magic === 0x950412de) {
            // Low endian.
            $this->endian = 'V';
        } elseif ($magic === 0xde120495) {
            // Big endian.
            $this->endian = 'N';
        } else {
            throw new \RuntimeException('Not a Gettext file (.mo).');
        }

        // Skip revision number.
        $rev = $this->readInt();
        // Total count.
        $total = $this->readInt();
        // Offset of original table.
        $originals = $this->readInt();
        // Offset of translation table.
        $translations = $this->readInt();

        // Each table consists of string length and offset of the string.
        $this->seek($originals);
        $table_originals = $this->readIntArray($total * 2);
        $this->seek($translations);
        $table_translations = $this->readIntArray($total * 2);

        $items = [];
        for ($i = 0; $i < $total; $i++) {
            $this->seek($table_originals[$i * 2 + 2]);

            // TODO: Original string can have context concatenated on it. We do not yet support that.
            $original = $this->read($table_originals[$i * 2 + 1]);

            if ($original) {
                $this->seek($table_translations[$i * 2 + 2]);

                // TODO: Plural forms are stored by letting the plural of the original string follow the singular of the original string, separated through a NUL byte.
                $translated = $this->read($table_translations[$i * 2 + 1]);
                $items[$original] = $translated;
            }
        }

        return $items;
    }

    /**
     * @return int
     */
    protected function readInt()
    {
        $read = $this->read(4);

        if ($read === false) {
            return false;
        }

        $read = unpack($this->endian, $read);

        return array_shift($read);
    }

    /**
     * @param $count
     * @return array
     */
    protected function readIntArray($count)
    {
        return unpack($this->endian . $count, $this->read(4 * $count));
    }

    /**
     * @param $bytes
     * @return string
     */
    private function read($bytes)
    {
        $data = substr($this->str, $this->pos, $bytes);
        $this->seek($this->pos + $bytes);
        return $data;
    }

    /**
     * @param $pos
     * @return mixed
     */
    private function seek($pos)
    {
        $this->pos = $pos < $this->len ? $pos : $this->len;
        return $this->pos;
    }
}
vendor/rockettheme/toolbox/File/src/JsonFile.php000060400000002047150750356260015741 0ustar00<?php
namespace RocketTheme\Toolbox\File;

/**
 * Implements Json File reader.
 *
 * @package RocketTheme\Toolbox\File
 * @author RocketTheme
 * @license MIT
 */
class JsonFile extends File
{
    /**
     * @var string
     */
    protected $extension = '.json';

    /**
     * @var array|File[]
     */
    static protected $instances = [];

    /**
     * Check contents and make sure it is in correct format.
     *
     * @param array $var
     * @return array
     */
    protected function check($var)
    {
        return (array) $var;
    }

    /**
     * Encode contents into RAW string.
     *
     * @param string $var
     * @param int $options
     * @return string
     */
    protected function encode($var, $options = 0)
    {
        return (string) json_encode($var, $options);
    }

    /**
     * Decode RAW string into contents.
     *
     * @param string $var
     * @param bool $assoc
     * @return array mixed
     */
    protected function decode($var, $assoc = false)
    {
        return (array) json_decode($var, $assoc);
    }
}
vendor/rockettheme/toolbox/File/src/LogFile.php000060400000002734150750356260015554 0ustar00<?php
namespace RocketTheme\Toolbox\File;

/**
 * Implements Log File reader.
 *
 * @package RocketTheme\Toolbox\File
 * @author RocketTheme
 * @license MIT
 */
class LogFile extends File
{
    /**
     * @var array|File[]
     */
    static protected $instances = [];

    /**
     * Constructor.
     */
    protected function __construct()
    {
        parent::__construct();

        $this->extension = '.log';
    }

    /**
     * Check contents and make sure it is in correct format.
     *
     * @param array $var
     * @return array
     */
    protected function check($var)
    {
        return (array) $var;
    }

    /**
     * Encode contents into RAW string (unsupported).
     *
     * @param string $var
     * @return string|void
     * @throws \BadMethodCallException
     */
    protected function encode($var)
    {
        throw new \BadMethodCallException('Saving log file is forbidden.');
    }

    /**
     * Decode RAW string into contents.
     *
     * @param string $var
     * @return array mixed
     */
    protected function decode($var)
    {
        $lines = (array) preg_split('#(\r\n|\n|\r)#', $var);

        $results = array();
        foreach ($lines as $line) {
            preg_match('#^\[(.*)\] (.*)  @  (.*)  @@  (.*)$#', $line, $matches);
            if ($matches) {
                $results[] = ['date' => $matches[1], 'message' => $matches[2], 'url' => $matches[3], 'file' => $matches[4]];
            }
        }

        return $results;
    }
}
vendor/rockettheme/toolbox/File/src/FileInterface.php000060400000003602150750356260016726 0ustar00<?php
namespace RocketTheme\Toolbox\File;

/**
 * Defines FileInterface.
 *
 * @package RocketTheme\Toolbox\File
 * @author RocketTheme
 * @license MIT
 */
interface FileInterface
{
    /**
     * Get file instance.
     *
     * @param  string  $filename
     * @return static
     */
    public static function instance($filename);

    /**
     * Free the file instance.
     */
    public function free();

    /**
     * Check if file exits.
     *
     * @return bool
     */
    public function exists();

    /**
     * Return file modification time.
     *
     * @return int Timestamp
     */
    public function modified();

    /**
     * Lock file for writing.
     *
     * @param bool $block  For non-blocking lock, set the parameter to false.
     * @return bool
     */
    public function lock($block = true);

    /**
     * Returns true if file has been locked for writing.
     *
     * @return bool|null True = locked, false = failed, null = not locked.
     */
    public function locked();

    /**
     * Unlock file.
     *
     * @return bool
     */
    public function unlock();

    /**
     * Check if file can be written.
     *
     * @return bool
     */
    public function writable();

    /**
     * (Re)Load a file and return its contents.
     *
     * @return string
     */
    public function load();

    /**
     * Get/set raw file contents.
     *
     * @param string $var
     * @return string
     */
    public function raw($var = null);

    /**
     * Get/set parsed file contents.
     *
     * @param string $var
     * @return string
     */
    public function content($var = null);

    /**
     * Save file.
     *
     * @param  string  $data  Optional data to be saved.
     * @throws \RuntimeException
     */
    public function save($data = null);

    /**
     * Delete file from filesystem.
     *
     * @return bool
     */
    public function delete();
}
vendor/rockettheme/toolbox/File/src/MarkdownFile.php000060400000010435150750356260016612 0ustar00<?php
namespace RocketTheme\Toolbox\File;

use Symfony\Component\Yaml\Exception\ParseException;
use Symfony\Component\Yaml\Yaml as YamlParser;
use RocketTheme\Toolbox\Compat\Yaml\Yaml as FallbackYamlParser;

/**
 * Implements Markdown File reader.
 *
 * @package RocketTheme\Toolbox\File
 * @author RocketTheme
 * @license MIT
 */
class MarkdownFile extends File
{
    /**
     * @var string
     */
    protected $extension = '.md';

    /**
     * @var array|File[]
     */
    static protected $instances = [];

    /**
     * Get/set file header.
     *
     * @param array $var
     *
     * @return array
     */
    public function header(array $var = null)
    {
        $content = $this->content();

        if ($var !== null) {
            $content['header'] = $var;
            $this->content($content);
        }

        return $content['header'];
    }

    /**
     * Get/set markdown content.
     *
     * @param string $var
     *
     * @return string
     */
    public function markdown($var = null)
    {
        $content = $this->content();

        if ($var !== null) {
            $content['markdown'] = (string) $var;
            $this->content($content);
        }

        return $content['markdown'];
    }

    /**
     * Get/set frontmatter content.
     *
     * @param string $var
     *
     * @return string
     */
    public function frontmatter($var = null)
    {
        $content = $this->content();

        if ($var !== null) {
            $content['frontmatter'] = (string) $var;
            $this->content($content);
        }

        return $content['frontmatter'];
    }

    /**
     * Check contents and make sure it is in correct format.
     *
     * @param array $var
     * @return array
     */
    protected function check($var)
    {
        $var = (array) $var;
        if (!isset($var['header']) || !\is_array($var['header'])) {
            $var['header'] = array();
        }
        if (!isset($var['markdown']) || !\is_string($var['markdown'])) {
            $var['markdown'] = '';
        }

        return $var;
    }

    /**
     * Encode contents into RAW string.
     *
     * @param array $var
     * @return string
     */
    protected function encode($var)
    {
        // Create Markdown file with YAML header.
        $o = (!empty($var['header']) ? "---\n" . trim(YamlParser::dump($var['header'], 20)) . "\n---\n\n" : '') . $var['markdown'];

        // Normalize line endings to Unix style.
        $o = preg_replace("/(\r\n|\r)/", "\n", $o);

        return $o;
    }

    /**
     * Decode RAW string into contents.
     *
     * @param string $var
     * @return array mixed
     */
    protected function decode($var)
    {
        $content = [
            'header' => false,
            'frontmatter' => ''
        ];

        $frontmatter_regex = "/^---\n(.+?)\n---\n{0,}(.*)$/uis";

        // Normalize line endings to Unix style.
        $var = preg_replace("/(\r\n|\r)/", "\n", $var);

        // Parse header.
        preg_match($frontmatter_regex, ltrim($var), $m);
        if(!empty($m)) {
            // Normalize frontmatter.
            $content['frontmatter'] = $frontmatter = preg_replace("/\n\t/", "\n    ", $m[1]);

            // Try native PECL YAML PHP extension first if available.
            if (\function_exists('yaml_parse') && $this->setting('native')) {
                // Safely decode YAML.
                $saved = @ini_get('yaml.decode_php');
                @ini_set('yaml.decode_php', 0);
                $content['header'] = @yaml_parse("---\n" . $frontmatter . "\n...");
                @ini_set('yaml.decode_php', $saved);
            }

            if ($content['header'] === false) {
                // YAML hasn't been parsed yet (error or extension isn't available). Fall back to Symfony parser.
                try {
                    $content['header'] = (array) YamlParser::parse($frontmatter);
                } catch (ParseException $e) {
                    if (!$this->setting('compat', true)) {
                        throw $e;
                    }
                    $content['header'] = (array) FallbackYamlParser::parse($frontmatter);
                }
            }
            $content['markdown'] = $m[2];
        } else {
            $content['header'] = [];
            $content['markdown'] = $var;
        }

        return $content;
    }
}
vendor/rockettheme/toolbox/File/src/PhpFile.php000060400000005030150750356260015552 0ustar00<?php
namespace RocketTheme\Toolbox\File;

/**
 * Implements PHP File reader.
 *
 * @package RocketTheme\Toolbox\File
 * @author RocketTheme
 * @license MIT
 */
class PhpFile extends File
{
    /**
     * @var string
     */
    protected $extension = '.php';

    /**
     * @var array|File[]
     */
    static protected $instances = [];

    /**
     * Saves PHP file and invalidates opcache.
     *
     * @param  mixed  $data  Optional data to be saved, usually array.
     * @throws \RuntimeException
     */
    public function save($data = null)
    {
        parent::save($data);

        // Invalidate configuration file from the opcache.
        if (\function_exists('opcache_invalidate')) {
            // PHP 5.5.5+
            @opcache_invalidate($this->filename, true);
        } elseif (\function_exists('apc_invalidate')) {
            // APC
            @apc_invalidate($this->filename);
        }
    }

    /**
     * Check contents and make sure it is in correct format.
     *
     * @param array|object $var
     * @return array
     * @throws \RuntimeException
     */
    protected function check($var)
    {
        if (!(\is_array($var) || \is_object($var))) {
            throw new \RuntimeException('Provided data is not an array');
        }

        return $var;
    }

    /**
     * Encode configuration object into RAW string (PHP class).
     *
     * @param array $var
     * @return string
     * @throws \RuntimeException
     */
    protected function encode($var)
    {
        // Build the object variables string
        return "<?php\nreturn {$this->encodeArray((array) $var)};\n";
    }

    /**
     * Method to get an array as an exported string.
     *
     * @param array $a      The array to get as a string.
     * @param int   $level  Used internally to indent rows.
     *
     * @return string
     */
    protected function encodeArray(array $a, $level = 0)
    {
        $r = [];
        foreach ($a as $k => $v) {
            if (\is_array($v) || \is_object($v)) {
                $r[] = var_export($k, true) . ' => ' . $this->encodeArray((array) $v, $level + 1);
            } else {
                $r[] = var_export($k, true) . ' => ' . var_export($v, true);
            }
        }

        $space = str_repeat('    ', $level);
        return "[\n    {$space}" . implode(",\n    {$space}", $r) . "\n{$space}]";
    }

    /**
     * Decode PHP file into contents.
     *
     * @param string $var
     * @return array
     */
    protected function decode($var)
    {
        return (array) include $this->filename;
    }
}
vendor/rockettheme/toolbox/File/src/YamlFile.php000060400000006213150750356260015731 0ustar00<?php
namespace RocketTheme\Toolbox\File;

use Symfony\Component\Yaml\Exception\DumpException;
use Symfony\Component\Yaml\Exception\ParseException;
use Symfony\Component\Yaml\Yaml as YamlParser;
use RocketTheme\Toolbox\Compat\Yaml\Yaml as FallbackYamlParser;

/**
 * Implements YAML File reader.
 *
 * @package RocketTheme\Toolbox\File
 * @author RocketTheme
 * @license MIT
 */
class YamlFile extends File
{
    /**
     * @var array|File[]
     */
    static protected $instances = [];

    static protected $globalSettings = [
        'compat' => true,
        'native' => true
    ];

    /**
     * Set/get settings.
     *
     * @param array $settings
     * @return array
     */
    public static function globalSettings(array $settings = null)
    {
        if ($settings !== null) {
            static::$globalSettings = $settings;
        }

        return static::$globalSettings;
    }

    /**
     * Constructor.
     */
    protected function __construct()
    {
        parent::__construct();

        $this->extension = '.yaml';
    }

    /**
     * Set/get settings.
     *
     * @param array $settings
     * @return array
     */
    public function settings(array $settings = null)
    {
        if ($settings !== null) {
            $this->settings = $settings;
        }

        return $this->settings + static::$globalSettings;
    }

    /**
     * Get setting.
     *
     * @param string $setting
     * @param mixed $default
     * @return mixed
     */
    public function setting($setting, $default = null)
    {
        $value = parent::setting($setting);
        if (null === $value) {
            $value = isset(static::$globalSettings[$setting]) ? static::$globalSettings[$setting] : $default;
        }

        return $value;
    }

    /**
     * Check contents and make sure it is in correct format.
     *
     * @param array $var
     * @return array
     */
    protected function check($var)
    {
        return (array) $var;
    }

    /**
     * Encode contents into RAW string.
     *
     * @param array $var
     * @return string
     * @throws DumpException
     */
    protected function encode($var)
    {
        return (string) YamlParser::dump($var, $this->setting('inline', 5), $this->setting('indent', 2), true, false);
    }

    /**
     * Decode RAW string into contents.
     *
     * @param string $var
     * @return array mixed
     * @throws ParseException
     */
    protected function decode($var)
    {
        // Try native PECL YAML PHP extension first if available.
        if (\function_exists('yaml_parse') && $this->setting('native', true)) {
            // Safely decode YAML.
            $saved = @ini_get('yaml.decode_php');
            @ini_set('yaml.decode_php', 0);
            $data = @yaml_parse($var);
            @ini_set('yaml.decode_php', $saved);

            if ($data !== false) {
                return (array) $data;
            }
        }

        try {
            return (array) YamlParser::parse($var);
        } catch (ParseException $e) {
            if ($this->setting('compat', true)) {
                return (array) FallbackYamlParser::parse($var);
            }

            throw $e;
        }
    }
}
vendor/rockettheme/toolbox/Event/src/EventDispatcher.php000060400000001247150750356260017523 0ustar00<?php
namespace RocketTheme\Toolbox\Event;

use Symfony\Component\EventDispatcher\Event as BaseEvent;
use Symfony\Component\EventDispatcher\EventDispatcher as BaseEventDispatcher;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;

/**
 * Implements Symfony EventDispatcher interface.
 *
 * @package RocketTheme\Toolbox\Event
 * @author RocketTheme
 * @license MIT
 */
class EventDispatcher extends BaseEventDispatcher implements EventDispatcherInterface
{
    public function dispatch($eventName, BaseEvent $event = null)
    {
        if (null === $event) {
            $event = new Event();
        }

        return parent::dispatch($eventName, $event);
    }
}
vendor/rockettheme/toolbox/Event/src/EventSubscriberInterface.php000060400000000526150750356260021360 0ustar00<?php
namespace RocketTheme\Toolbox\Event;

use Symfony\Component\EventDispatcher\EventSubscriberInterface as BaseEventSubscriberInterface;

/**
 * Defines EventSubscriberInterface.
 *
 * @package RocketTheme\Toolbox\Event
 * @author RocketTheme
 * @license MIT
 */
interface EventSubscriberInterface extends BaseEventSubscriberInterface
{
}
vendor/rockettheme/toolbox/Event/src/Event.php000060400000001026150750356260015507 0ustar00<?php
namespace RocketTheme\Toolbox\Event;

use RocketTheme\Toolbox\ArrayTraits\ArrayAccess;
use RocketTheme\Toolbox\ArrayTraits\Constructor;
use RocketTheme\Toolbox\ArrayTraits\Export;
use Symfony\Component\EventDispatcher\Event as BaseEvent;

/**
 * Implements Symfony Event interface.
 *
 * @package RocketTheme\Toolbox\Event
 * @author RocketTheme
 * @license MIT
 */
class Event extends BaseEvent implements \ArrayAccess
{
    use ArrayAccess, Constructor, Export;

    /**
     * @var array
     */
    protected $items = [];
}
vendor/rockettheme/toolbox/composer.json000060400000002304150750356260014567 0ustar00{
    "name": "rockettheme/toolbox",
    "type": "library",
    "description": "RocketTheme Toolbox Library",
    "keywords": ["rockettheme", "php"],
    "homepage": "http://www.rockettheme.com",
    "license": "MIT",
    "require": {
        "php": ">=5.4.0",
        "ext-json": "*",
        "pimple/pimple": "~3.0",
        "symfony/yaml": ">2.5",
        "symfony/event-dispatcher": ">2.5"
    },
    "require-dev": {
        "phpunit/phpunit": "~6"
    },
    "autoload": {
        "psr-4": {
            "RocketTheme\\Toolbox\\ArrayTraits\\": "ArrayTraits/src",
            "RocketTheme\\Toolbox\\Blueprints\\": "Blueprints/src",
            "RocketTheme\\Toolbox\\Compat\\": "Compat/src",
            "RocketTheme\\Toolbox\\DI\\": "DI/src",
            "RocketTheme\\Toolbox\\Event\\": "Event/src",
            "RocketTheme\\Toolbox\\File\\": "File/src",
            "RocketTheme\\Toolbox\\ResourceLocator\\": "ResourceLocator/src",
            "RocketTheme\\Toolbox\\Session\\": "Session/src",
            "RocketTheme\\Toolbox\\StreamWrapper\\": "StreamWrapper/src"
        }
    },
    "scripts": {
        "test": "vendor/bin/phpunit run unit",
        "test-windows": "vendor\\bin\\phpunit run unit"
    }
}
vendor/rockettheme/toolbox/DI/src/Container.php000060400000000376150750356260015572 0ustar00<?php
namespace RocketTheme\Toolbox\DI;

use Pimple\Container as BaseContainer;

/**
 * Implements Dependency Injection Container.
 *
 * @package RocketTheme\Toolbox\DI
 * @author RocketTheme
 * @license MIT
 */
class Container extends BaseContainer
{
}
vendor/rockettheme/toolbox/DI/src/ServiceProviderInterface.php000060400000000466150750356260020604 0ustar00<?php
namespace RocketTheme\Toolbox\DI;

use \Pimple\ServiceProviderInterface as BaseServiceProviderInterface;

/**
 * Defines ServiceProviderInterface.
 *
 * @package RocketTheme\Toolbox\DI
 * @author RocketTheme
 * @license MIT
 */
interface ServiceProviderInterface extends BaseServiceProviderInterface
{
}
vendor/rockettheme/toolbox/Compat/src/Yaml/Parser.php000060400000100472150750356260016733 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace RocketTheme\Toolbox\Compat\Yaml;

use RocketTheme\Toolbox\Compat\Yaml\Exception\ParseException;

/**
 * Parser parses YAML strings to convert them to PHP arrays.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class Parser
{
    const BLOCK_SCALAR_HEADER_PATTERN = '(?P<separator>\||>)(?P<modifiers>\+|\-|\d+|\+\d+|\-\d+|\d+\+|\d+\-)?(?P<comments> +#.*)?';
    // BC - wrongly named
    const FOLDED_SCALAR_PATTERN = self::BLOCK_SCALAR_HEADER_PATTERN;

    private $offset = 0;
    private $totalNumberOfLines;
    private $lines = array();
    private $currentLineNb = -1;
    private $currentLine = '';
    private $refs = array();
    private $skippedLineNumbers = array();
    private $locallySkippedLineNumbers = array();

    /**
     * @param int      $offset             The offset of YAML document (used for line numbers in error messages)
     * @param int|null $totalNumberOfLines The overall number of lines being parsed
     * @param int[]    $skippedLineNumbers Number of comment lines that have been skipped by the parser
     */
    public function __construct($offset = 0, $totalNumberOfLines = null, array $skippedLineNumbers = array())
    {
        $this->offset = $offset;
        $this->totalNumberOfLines = $totalNumberOfLines;
        $this->skippedLineNumbers = $skippedLineNumbers;
    }

    /**
     * Parses a YAML string to a PHP value.
     *
     * @param string $value                  A YAML string
     * @param bool   $exceptionOnInvalidType True if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
     * @param bool   $objectSupport          True if object support is enabled, false otherwise
     * @param bool   $objectForMap           True if maps should return a stdClass instead of array()
     *
     * @return mixed A PHP value
     *
     * @throws ParseException If the YAML is not valid
     */
    public function parse($value, $exceptionOnInvalidType = false, $objectSupport = false, $objectForMap = false)
    {
        if (false === preg_match('//u', $value)) {
            throw new ParseException('The YAML value does not appear to be valid UTF-8.');
        }

        $this->refs = array();

        $mbEncoding = null;
        $e = null;
        $data = null;

        if (2 /* MB_OVERLOAD_STRING */ & (int) ini_get('mbstring.func_overload')) {
            $mbEncoding = mb_internal_encoding();
            mb_internal_encoding('UTF-8');
        }

        try {
            $data = $this->doParse($value, $exceptionOnInvalidType, $objectSupport, $objectForMap);
        } catch (\Exception $e) {
        } catch (\Throwable $e) {
        }

        if (null !== $mbEncoding) {
            mb_internal_encoding($mbEncoding);
        }

        $this->lines = array();
        $this->currentLine = '';
        $this->refs = array();
        $this->skippedLineNumbers = array();
        $this->locallySkippedLineNumbers = array();

        if (null !== $e) {
            throw $e;
        }

        return $data;
    }

    private function doParse($value, $exceptionOnInvalidType = false, $objectSupport = false, $objectForMap = false)
    {
        $this->currentLineNb = -1;
        $this->currentLine = '';
        $value = $this->cleanup($value);
        $this->lines = explode("\n", $value);
        $this->locallySkippedLineNumbers = array();

        if (null === $this->totalNumberOfLines) {
            $this->totalNumberOfLines = count($this->lines);
        }

        $data = array();
        $context = null;
        $allowOverwrite = false;

        while ($this->moveToNextLine()) {
            if ($this->isCurrentLineEmpty()) {
                continue;
            }

            // tab?
            if ("\t" === $this->currentLine[0]) {
                throw new ParseException('A YAML file cannot contain tabs as indentation.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
            }

            $isRef = $mergeNode = false;
            if (self::preg_match('#^\-((?P<leadspaces>\s+)(?P<value>.+))?$#u', rtrim($this->currentLine), $values)) {
                if ($context && 'mapping' == $context) {
                    throw new ParseException('You cannot define a sequence item when in a mapping', $this->getRealCurrentLineNb() + 1, $this->currentLine);
                }
                $context = 'sequence';

                if (isset($values['value']) && self::preg_match('#^&(?P<ref>[^ ]+) *(?P<value>.*)#u', $values['value'], $matches)) {
                    $isRef = $matches['ref'];
                    $values['value'] = $matches['value'];
                }

                // array
                if (!isset($values['value']) || '' == trim($values['value'], ' ') || 0 === strpos(ltrim($values['value'], ' '), '#')) {
                    $data[] = $this->parseBlock($this->getRealCurrentLineNb() + 1, $this->getNextEmbedBlock(null, true), $exceptionOnInvalidType, $objectSupport, $objectForMap);
                } else {
                    if (isset($values['leadspaces'])
                        && self::preg_match('#^(?P<key>'.Inline::REGEX_QUOTED_STRING.'|[^ \'"\{\[].*?) *\:(\s+(?P<value>.+))?$#u', rtrim($values['value']), $matches)
                    ) {
                        // this is a compact notation element, add to next block and parse
                        $block = $values['value'];
                        if ($this->isNextLineIndented()) {
                            $block .= "\n".$this->getNextEmbedBlock($this->getCurrentLineIndentation() + strlen($values['leadspaces']) + 1);
                        }

                        $data[] = $this->parseBlock($this->getRealCurrentLineNb(), $block, $exceptionOnInvalidType, $objectSupport, $objectForMap);
                    } else {
                        $data[] = $this->parseValue($values['value'], $exceptionOnInvalidType, $objectSupport, $objectForMap, $context);
                    }
                }
                if ($isRef) {
                    $this->refs[$isRef] = end($data);
                }
            } elseif (
                self::preg_match('#^(?P<key>'.Inline::REGEX_QUOTED_STRING.'|[^ \'"\[\{].*?) *\:(\s+(?P<value>.+))?$#u', rtrim($this->currentLine), $values)
                && (false === strpos($values['key'], ' #') || in_array($values['key'][0], array('"', "'")))
            ) {
                if ($context && 'sequence' == $context) {
                    throw new ParseException('You cannot define a mapping item when in a sequence', $this->currentLineNb + 1, $this->currentLine);
                }
                $context = 'mapping';

                // force correct settings
                Inline::parse(null, $exceptionOnInvalidType, $objectSupport, $objectForMap, $this->refs);
                try {
                    $key = Inline::parseScalar($values['key']);
                } catch (ParseException $e) {
                    $e->setParsedLine($this->getRealCurrentLineNb() + 1);
                    $e->setSnippet($this->currentLine);

                    throw $e;
                }

                // Convert float keys to strings, to avoid being converted to integers by PHP
                if (is_float($key)) {
                    $key = (string) $key;
                }

                if ('<<' === $key && (!isset($values['value']) || !self::preg_match('#^&(?P<ref>[^ ]+)#u', $values['value'], $refMatches))) {
                    $mergeNode = true;
                    $allowOverwrite = true;
                    if (isset($values['value']) && 0 === strpos($values['value'], '*')) {
                        $refName = substr($values['value'], 1);
                        if (!array_key_exists($refName, $this->refs)) {
                            throw new ParseException(sprintf('Reference "%s" does not exist.', $refName), $this->getRealCurrentLineNb() + 1, $this->currentLine);
                        }

                        $refValue = $this->refs[$refName];

                        if (!is_array($refValue)) {
                            throw new ParseException('YAML merge keys used with a scalar value instead of an array.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
                        }

                        $data += $refValue; // array union
                    } else {
                        if (isset($values['value']) && '' !== $values['value']) {
                            $value = $values['value'];
                        } else {
                            $value = $this->getNextEmbedBlock();
                        }
                        $parsed = $this->parseBlock($this->getRealCurrentLineNb() + 1, $value, $exceptionOnInvalidType, $objectSupport, $objectForMap);

                        if (!is_array($parsed)) {
                            throw new ParseException('YAML merge keys used with a scalar value instead of an array.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
                        }

                        if (isset($parsed[0])) {
                            // If the value associated with the merge key is a sequence, then this sequence is expected to contain mapping nodes
                            // and each of these nodes is merged in turn according to its order in the sequence. Keys in mapping nodes earlier
                            // in the sequence override keys specified in later mapping nodes.
                            foreach ($parsed as $parsedItem) {
                                if (!is_array($parsedItem)) {
                                    throw new ParseException('Merge items must be arrays.', $this->getRealCurrentLineNb() + 1, $parsedItem);
                                }

                                $data += $parsedItem; // array union
                            }
                        } else {
                            // If the value associated with the key is a single mapping node, each of its key/value pairs is inserted into the
                            // current mapping, unless the key already exists in it.
                            $data += $parsed; // array union
                        }
                    }
                } elseif ('<<' !== $key && isset($values['value']) && self::preg_match('#^&(?P<ref>[^ ]+) *(?P<value>.*)#u', $values['value'], $matches)) {
                    $isRef = $matches['ref'];
                    $values['value'] = $matches['value'];
                }

                if ($mergeNode) {
                    // Merge keys
                } elseif (!isset($values['value']) || '' == trim($values['value'], ' ') || 0 === strpos(ltrim($values['value'], ' '), '#') || '<<' === $key) {
                    // hash
                    // if next line is less indented or equal, then it means that the current value is null
                    if (!$this->isNextLineIndented() && !$this->isNextLineUnIndentedCollection()) {
                        // Spec: Keys MUST be unique; first one wins.
                        // But overwriting is allowed when a merge node is used in current block.
                        if ($allowOverwrite || !isset($data[$key])) {
                            $data[$key] = null;
                        }
                    } else {
                        $value = $this->parseBlock($this->getRealCurrentLineNb() + 1, $this->getNextEmbedBlock(), $exceptionOnInvalidType, $objectSupport, $objectForMap);

                        if ('<<' === $key) {
                            $this->refs[$refMatches['ref']] = $value;
                            $data += $value;
                        } elseif ($allowOverwrite || !isset($data[$key])) {
                            // Spec: Keys MUST be unique; first one wins.
                            // But overwriting is allowed when a merge node is used in current block.
                            $data[$key] = $value;
                        }
                    }
                } else {
                    $value = $this->parseValue($values['value'], $exceptionOnInvalidType, $objectSupport, $objectForMap, $context);
                    // Spec: Keys MUST be unique; first one wins.
                    // But overwriting is allowed when a merge node is used in current block.
                    if ($allowOverwrite || !isset($data[$key])) {
                        $data[$key] = $value;
                    }
                }
                if ($isRef) {
                    $this->refs[$isRef] = $data[$key];
                }
            } else {
                // multiple documents are not supported
                if ('---' === $this->currentLine) {
                    throw new ParseException('Multiple documents are not supported.', $this->currentLineNb + 1, $this->currentLine);
                }

                // 1-liner optionally followed by newline(s)
                if (is_string($value) && $this->lines[0] === trim($value)) {
                    try {
                        $value = Inline::parse($this->lines[0], $exceptionOnInvalidType, $objectSupport, $objectForMap, $this->refs);
                    } catch (ParseException $e) {
                        $e->setParsedLine($this->getRealCurrentLineNb() + 1);
                        $e->setSnippet($this->currentLine);

                        throw $e;
                    }

                    return $value;
                }

                throw new ParseException('Unable to parse.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
            }
        }

        if ($objectForMap && !is_object($data) && 'mapping' === $context) {
            $object = new \stdClass();

            foreach ($data as $key => $value) {
                $object->$key = $value;
            }

            $data = $object;
        }

        return empty($data) ? null : $data;
    }

    private function parseBlock($offset, $yaml, $exceptionOnInvalidType, $objectSupport, $objectForMap)
    {
        $skippedLineNumbers = $this->skippedLineNumbers;

        foreach ($this->locallySkippedLineNumbers as $lineNumber) {
            if ($lineNumber < $offset) {
                continue;
            }

            $skippedLineNumbers[] = $lineNumber;
        }

        $parser = new self($offset, $this->totalNumberOfLines, $skippedLineNumbers);
        $parser->refs = &$this->refs;

        return $parser->doParse($yaml, $exceptionOnInvalidType, $objectSupport, $objectForMap);
    }

    /**
     * Returns the current line number (takes the offset into account).
     *
     * @return int The current line number
     */
    private function getRealCurrentLineNb()
    {
        $realCurrentLineNumber = $this->currentLineNb + $this->offset;

        foreach ($this->skippedLineNumbers as $skippedLineNumber) {
            if ($skippedLineNumber > $realCurrentLineNumber) {
                break;
            }

            ++$realCurrentLineNumber;
        }

        return $realCurrentLineNumber;
    }

    /**
     * Returns the current line indentation.
     *
     * @return int The current line indentation
     */
    private function getCurrentLineIndentation()
    {
        return strlen($this->currentLine) - strlen(ltrim($this->currentLine, ' '));
    }

    /**
     * Returns the next embed block of YAML.
     *
     * @param int  $indentation The indent level at which the block is to be read, or null for default
     * @param bool $inSequence  True if the enclosing data structure is a sequence
     *
     * @return string A YAML string
     *
     * @throws ParseException When indentation problem are detected
     */
    private function getNextEmbedBlock($indentation = null, $inSequence = false)
    {
        $oldLineIndentation = $this->getCurrentLineIndentation();
        $blockScalarIndentations = array();

        if ($this->isBlockScalarHeader()) {
            $blockScalarIndentations[] = $this->getCurrentLineIndentation();
        }

        if (!$this->moveToNextLine()) {
            return;
        }

        if (null === $indentation) {
            $newIndent = $this->getCurrentLineIndentation();

            $unindentedEmbedBlock = $this->isStringUnIndentedCollectionItem();

            if (!$this->isCurrentLineEmpty() && 0 === $newIndent && !$unindentedEmbedBlock) {
                throw new ParseException('Indentation problem.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
            }
        } else {
            $newIndent = $indentation;
        }

        $data = array();
        if ($this->getCurrentLineIndentation() >= $newIndent) {
            $data[] = substr($this->currentLine, $newIndent);
        } else {
            $this->moveToPreviousLine();

            return;
        }

        if ($inSequence && $oldLineIndentation === $newIndent && isset($data[0][0]) && '-' === $data[0][0]) {
            // the previous line contained a dash but no item content, this line is a sequence item with the same indentation
            // and therefore no nested list or mapping
            $this->moveToPreviousLine();

            return;
        }

        $isItUnindentedCollection = $this->isStringUnIndentedCollectionItem();

        if (empty($blockScalarIndentations) && $this->isBlockScalarHeader()) {
            $blockScalarIndentations[] = $this->getCurrentLineIndentation();
        }

        $previousLineIndentation = $this->getCurrentLineIndentation();

        while ($this->moveToNextLine()) {
            $indent = $this->getCurrentLineIndentation();

            // terminate all block scalars that are more indented than the current line
            if (!empty($blockScalarIndentations) && $indent < $previousLineIndentation && '' !== trim($this->currentLine)) {
                foreach ($blockScalarIndentations as $key => $blockScalarIndentation) {
                    if ($blockScalarIndentation >= $this->getCurrentLineIndentation()) {
                        unset($blockScalarIndentations[$key]);
                    }
                }
            }

            if (empty($blockScalarIndentations) && !$this->isCurrentLineComment() && $this->isBlockScalarHeader()) {
                $blockScalarIndentations[] = $this->getCurrentLineIndentation();
            }

            $previousLineIndentation = $indent;

            if ($isItUnindentedCollection && !$this->isCurrentLineEmpty() && !$this->isStringUnIndentedCollectionItem() && $newIndent === $indent) {
                $this->moveToPreviousLine();
                break;
            }

            if ($this->isCurrentLineBlank()) {
                $data[] = substr($this->currentLine, $newIndent);
                continue;
            }

            // we ignore "comment" lines only when we are not inside a scalar block
            if (empty($blockScalarIndentations) && $this->isCurrentLineComment()) {
                // remember ignored comment lines (they are used later in nested
                // parser calls to determine real line numbers)
                //
                // CAUTION: beware to not populate the global property here as it
                // will otherwise influence the getRealCurrentLineNb() call here
                // for consecutive comment lines and subsequent embedded blocks
                $this->locallySkippedLineNumbers[] = $this->getRealCurrentLineNb();

                continue;
            }

            if ($indent >= $newIndent) {
                $data[] = substr($this->currentLine, $newIndent);
            } elseif (0 == $indent) {
                $this->moveToPreviousLine();

                break;
            } else {
                throw new ParseException('Indentation problem.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
            }
        }

        return implode("\n", $data);
    }

    /**
     * Moves the parser to the next line.
     *
     * @return bool
     */
    private function moveToNextLine()
    {
        if ($this->currentLineNb >= count($this->lines) - 1) {
            return false;
        }

        $this->currentLine = $this->lines[++$this->currentLineNb];

        return true;
    }

    /**
     * Moves the parser to the previous line.
     *
     * @return bool
     */
    private function moveToPreviousLine()
    {
        if ($this->currentLineNb < 1) {
            return false;
        }

        $this->currentLine = $this->lines[--$this->currentLineNb];

        return true;
    }

    /**
     * Parses a YAML value.
     *
     * @param string $value                  A YAML value
     * @param bool   $exceptionOnInvalidType True if an exception must be thrown on invalid types false otherwise
     * @param bool   $objectSupport          True if object support is enabled, false otherwise
     * @param bool   $objectForMap           True if maps should return a stdClass instead of array()
     * @param string $context                The parser context (either sequence or mapping)
     *
     * @return mixed A PHP value
     *
     * @throws ParseException When reference does not exist
     */
    private function parseValue($value, $exceptionOnInvalidType, $objectSupport, $objectForMap, $context)
    {
        if (0 === strpos($value, '*')) {
            if (false !== $pos = strpos($value, '#')) {
                $value = substr($value, 1, $pos - 2);
            } else {
                $value = substr($value, 1);
            }

            if (!array_key_exists($value, $this->refs)) {
                throw new ParseException(sprintf('Reference "%s" does not exist.', $value), $this->currentLineNb + 1, $this->currentLine);
            }

            return $this->refs[$value];
        }

        if (self::preg_match('/^'.self::BLOCK_SCALAR_HEADER_PATTERN.'$/', $value, $matches)) {
            $modifiers = isset($matches['modifiers']) ? $matches['modifiers'] : '';

            return $this->parseBlockScalar($matches['separator'], preg_replace('#\d+#', '', $modifiers), (int) abs($modifiers));
        }

        try {
            $parsedValue = Inline::parse($value, $exceptionOnInvalidType, $objectSupport, $objectForMap, $this->refs);

            if ('mapping' === $context && '"' !== $value[0] && "'" !== $value[0] && '[' !== $value[0] && '{' !== $value[0] && '!' !== $value[0] && false !== strpos($parsedValue, ': ')) {
                @trigger_error(sprintf('Using a colon in the unquoted mapping value "%s" in line %d is deprecated since Symfony 2.8 and will throw a ParseException in 3.0.', $value, $this->getRealCurrentLineNb() + 1), E_USER_DEPRECATED);

                // to be thrown in 3.0
                // throw new ParseException('A colon cannot be used in an unquoted mapping value.');
            }

            return $parsedValue;
        } catch (ParseException $e) {
            $e->setParsedLine($this->getRealCurrentLineNb() + 1);
            $e->setSnippet($this->currentLine);

            throw $e;
        }
    }

    /**
     * Parses a block scalar.
     *
     * @param string $style       The style indicator that was used to begin this block scalar (| or >)
     * @param string $chomping    The chomping indicator that was used to begin this block scalar (+ or -)
     * @param int    $indentation The indentation indicator that was used to begin this block scalar
     *
     * @return string The text value
     */
    private function parseBlockScalar($style, $chomping = '', $indentation = 0)
    {
        $notEOF = $this->moveToNextLine();
        if (!$notEOF) {
            return '';
        }

        $isCurrentLineBlank = $this->isCurrentLineBlank();
        $blockLines = array();

        // leading blank lines are consumed before determining indentation
        while ($notEOF && $isCurrentLineBlank) {
            // newline only if not EOF
            if ($notEOF = $this->moveToNextLine()) {
                $blockLines[] = '';
                $isCurrentLineBlank = $this->isCurrentLineBlank();
            }
        }

        // determine indentation if not specified
        if (0 === $indentation) {
            if (self::preg_match('/^ +/', $this->currentLine, $matches)) {
                $indentation = strlen($matches[0]);
            }
        }

        if ($indentation > 0) {
            $pattern = sprintf('/^ {%d}(.*)$/', $indentation);

            while (
                $notEOF && (
                    $isCurrentLineBlank ||
                    self::preg_match($pattern, $this->currentLine, $matches)
                )
            ) {
                if ($isCurrentLineBlank && strlen($this->currentLine) > $indentation) {
                    $blockLines[] = substr($this->currentLine, $indentation);
                } elseif ($isCurrentLineBlank) {
                    $blockLines[] = '';
                } else {
                    $blockLines[] = $matches[1];
                }

                // newline only if not EOF
                if ($notEOF = $this->moveToNextLine()) {
                    $isCurrentLineBlank = $this->isCurrentLineBlank();
                }
            }
        } elseif ($notEOF) {
            $blockLines[] = '';
        }

        if ($notEOF) {
            $blockLines[] = '';
            $this->moveToPreviousLine();
        } elseif (!$notEOF && !$this->isCurrentLineLastLineInDocument()) {
            $blockLines[] = '';
        }

        // folded style
        if ('>' === $style) {
            $text = '';
            $previousLineIndented = false;
            $previousLineBlank = false;

            for ($i = 0, $blockLinesCount = count($blockLines); $i < $blockLinesCount; ++$i) {
                if ('' === $blockLines[$i]) {
                    $text .= "\n";
                    $previousLineIndented = false;
                    $previousLineBlank = true;
                } elseif (' ' === $blockLines[$i][0]) {
                    $text .= "\n".$blockLines[$i];
                    $previousLineIndented = true;
                    $previousLineBlank = false;
                } elseif ($previousLineIndented) {
                    $text .= "\n".$blockLines[$i];
                    $previousLineIndented = false;
                    $previousLineBlank = false;
                } elseif ($previousLineBlank || 0 === $i) {
                    $text .= $blockLines[$i];
                    $previousLineIndented = false;
                    $previousLineBlank = false;
                } else {
                    $text .= ' '.$blockLines[$i];
                    $previousLineIndented = false;
                    $previousLineBlank = false;
                }
            }
        } else {
            $text = implode("\n", $blockLines);
        }

        // deal with trailing newlines
        if ('' === $chomping) {
            $text = preg_replace('/\n+$/', "\n", $text);
        } elseif ('-' === $chomping) {
            $text = preg_replace('/\n+$/', '', $text);
        }

        return $text;
    }

    /**
     * Returns true if the next line is indented.
     *
     * @return bool Returns true if the next line is indented, false otherwise
     */
    private function isNextLineIndented()
    {
        $currentIndentation = $this->getCurrentLineIndentation();
        $EOF = !$this->moveToNextLine();

        while (!$EOF && $this->isCurrentLineEmpty()) {
            $EOF = !$this->moveToNextLine();
        }

        if ($EOF) {
            return false;
        }

        $ret = $this->getCurrentLineIndentation() > $currentIndentation;

        $this->moveToPreviousLine();

        return $ret;
    }

    /**
     * Returns true if the current line is blank or if it is a comment line.
     *
     * @return bool Returns true if the current line is empty or if it is a comment line, false otherwise
     */
    private function isCurrentLineEmpty()
    {
        return $this->isCurrentLineBlank() || $this->isCurrentLineComment();
    }

    /**
     * Returns true if the current line is blank.
     *
     * @return bool Returns true if the current line is blank, false otherwise
     */
    private function isCurrentLineBlank()
    {
        return '' == trim($this->currentLine, ' ');
    }

    /**
     * Returns true if the current line is a comment line.
     *
     * @return bool Returns true if the current line is a comment line, false otherwise
     */
    private function isCurrentLineComment()
    {
        //checking explicitly the first char of the trim is faster than loops or strpos
        $ltrimmedLine = ltrim($this->currentLine, ' ');

        return '' !== $ltrimmedLine && '#' === $ltrimmedLine[0];
    }

    private function isCurrentLineLastLineInDocument()
    {
        return ($this->offset + $this->currentLineNb) >= ($this->totalNumberOfLines - 1);
    }

    /**
     * Cleanups a YAML string to be parsed.
     *
     * @param string $value The input YAML string
     *
     * @return string A cleaned up YAML string
     */
    private function cleanup($value)
    {
        $value = str_replace(array("\r\n", "\r"), "\n", $value);

        // strip YAML header
        $count = 0;
        $value = preg_replace('#^\%YAML[: ][\d\.]+.*\n#u', '', $value, -1, $count);
        $this->offset += $count;

        // remove leading comments
        $trimmedValue = preg_replace('#^(\#.*?\n)+#s', '', $value, -1, $count);
        if (1 == $count) {
            // items have been removed, update the offset
            $this->offset += substr_count($value, "\n") - substr_count($trimmedValue, "\n");
            $value = $trimmedValue;
        }

        // remove start of the document marker (---)
        $trimmedValue = preg_replace('#^\-\-\-.*?\n#s', '', $value, -1, $count);
        if (1 == $count) {
            // items have been removed, update the offset
            $this->offset += substr_count($value, "\n") - substr_count($trimmedValue, "\n");
            $value = $trimmedValue;

            // remove end of the document marker (...)
            $value = preg_replace('#\.\.\.\s*$#', '', $value);
        }

        return $value;
    }

    /**
     * Returns true if the next line starts unindented collection.
     *
     * @return bool Returns true if the next line starts unindented collection, false otherwise
     */
    private function isNextLineUnIndentedCollection()
    {
        $currentIndentation = $this->getCurrentLineIndentation();
        $notEOF = $this->moveToNextLine();

        while ($notEOF && $this->isCurrentLineEmpty()) {
            $notEOF = $this->moveToNextLine();
        }

        if (false === $notEOF) {
            return false;
        }

        $ret = $this->getCurrentLineIndentation() === $currentIndentation && $this->isStringUnIndentedCollectionItem();

        $this->moveToPreviousLine();

        return $ret;
    }

    /**
     * Returns true if the string is un-indented collection item.
     *
     * @return bool Returns true if the string is un-indented collection item, false otherwise
     */
    private function isStringUnIndentedCollectionItem()
    {
        return '-' === rtrim($this->currentLine) || 0 === strpos($this->currentLine, '- ');
    }

    /**
     * Tests whether or not the current line is the header of a block scalar.
     *
     * @return bool
     */
    private function isBlockScalarHeader()
    {
        return (bool) self::preg_match('~'.self::BLOCK_SCALAR_HEADER_PATTERN.'$~', $this->currentLine);
    }

    /**
     * A local wrapper for `preg_match` which will throw a ParseException if there
     * is an internal error in the PCRE engine.
     *
     * This avoids us needing to check for "false" every time PCRE is used
     * in the YAML engine
     *
     * @throws ParseException on a PCRE internal error
     *
     * @see preg_last_error()
     *
     * @internal
     */
    public static function preg_match($pattern, $subject, &$matches = null, $flags = 0, $offset = 0)
    {
        if (false === $ret = preg_match($pattern, $subject, $matches, $flags, $offset)) {
            switch (preg_last_error()) {
                case PREG_INTERNAL_ERROR:
                    $error = 'Internal PCRE error.';
                    break;
                case PREG_BACKTRACK_LIMIT_ERROR:
                    $error = 'pcre.backtrack_limit reached.';
                    break;
                case PREG_RECURSION_LIMIT_ERROR:
                    $error = 'pcre.recursion_limit reached.';
                    break;
                case PREG_BAD_UTF8_ERROR:
                    $error = 'Malformed UTF-8 data.';
                    break;
                case PREG_BAD_UTF8_OFFSET_ERROR:
                    $error = 'Offset doesn\'t correspond to the begin of a valid UTF-8 code point.';
                    break;
                default:
                    $error = 'Error.';
            }

            throw new ParseException($error);
        }

        return $ret;
    }
}
vendor/rockettheme/toolbox/Compat/src/Yaml/Exception/ExceptionInterface.php000060400000000704150750356260023211 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace RocketTheme\Toolbox\Compat\Yaml\Exception;

/**
 * Exception interface for all exceptions thrown by the component.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
interface ExceptionInterface
{
}
vendor/rockettheme/toolbox/Compat/src/Yaml/Exception/RuntimeException.php000060400000000756150750356260022743 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace RocketTheme\Toolbox\Compat\Yaml\Exception;

/**
 * Exception class thrown when an error occurs during parsing.
 *
 * @author Romain Neutron <imprec@gmail.com>
 */
class RuntimeException extends \RuntimeException implements ExceptionInterface
{
}
vendor/rockettheme/toolbox/Compat/src/Yaml/Exception/ParseException.php000060400000007002150750356260022361 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace RocketTheme\Toolbox\Compat\Yaml\Exception;

/**
 * Exception class thrown when an error occurs during parsing.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class ParseException extends RuntimeException
{
    private $parsedFile;
    private $parsedLine;
    private $snippet;
    private $rawMessage;

    /**
     * @param string          $message    The error message
     * @param int             $parsedLine The line where the error occurred
     * @param string|null     $snippet    The snippet of code near the problem
     * @param string|null     $parsedFile The file name where the error occurred
     * @param \Exception|null $previous   The previous exception
     */
    public function __construct($message, $parsedLine = -1, $snippet = null, $parsedFile = null, \Exception $previous = null)
    {
        $this->parsedFile = $parsedFile;
        $this->parsedLine = $parsedLine;
        $this->snippet = $snippet;
        $this->rawMessage = $message;

        $this->updateRepr();

        parent::__construct($this->message, 0, $previous);
    }

    /**
     * Gets the snippet of code near the error.
     *
     * @return string The snippet of code
     */
    public function getSnippet()
    {
        return $this->snippet;
    }

    /**
     * Sets the snippet of code near the error.
     *
     * @param string $snippet The code snippet
     */
    public function setSnippet($snippet)
    {
        $this->snippet = $snippet;

        $this->updateRepr();
    }

    /**
     * Gets the filename where the error occurred.
     *
     * This method returns null if a string is parsed.
     *
     * @return string The filename
     */
    public function getParsedFile()
    {
        return $this->parsedFile;
    }

    /**
     * Sets the filename where the error occurred.
     *
     * @param string $parsedFile The filename
     */
    public function setParsedFile($parsedFile)
    {
        $this->parsedFile = $parsedFile;

        $this->updateRepr();
    }

    /**
     * Gets the line where the error occurred.
     *
     * @return int The file line
     */
    public function getParsedLine()
    {
        return $this->parsedLine;
    }

    /**
     * Sets the line where the error occurred.
     *
     * @param int $parsedLine The file line
     */
    public function setParsedLine($parsedLine)
    {
        $this->parsedLine = $parsedLine;

        $this->updateRepr();
    }

    private function updateRepr()
    {
        $this->message = $this->rawMessage;

        $dot = false;
        if ('.' === substr($this->message, -1)) {
            $this->message = substr($this->message, 0, -1);
            $dot = true;
        }

        if (null !== $this->parsedFile) {
            if (\PHP_VERSION_ID >= 50400) {
                $jsonOptions = JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE;
            } else {
                $jsonOptions = 0;
            }
            $this->message .= sprintf(' in %s', json_encode($this->parsedFile, $jsonOptions));
        }

        if ($this->parsedLine >= 0) {
            $this->message .= sprintf(' at line %d', $this->parsedLine);
        }

        if ($this->snippet) {
            $this->message .= sprintf(' (near "%s")', $this->snippet);
        }

        if ($dot) {
            $this->message .= '.';
        }
    }
}
vendor/rockettheme/toolbox/Compat/src/Yaml/Inline.php000060400000043025150750356260016715 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace RocketTheme\Toolbox\Compat\Yaml;

use RocketTheme\Toolbox\Compat\Yaml\Exception\ParseException;

/**
 * Inline implements a YAML parser/dumper for the YAML inline syntax.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class Inline
{
    const REGEX_QUOTED_STRING = '(?:"([^"\\\\]*+(?:\\\\.[^"\\\\]*+)*+)"|\'([^\']*+(?:\'\'[^\']*+)*+)\')';

    private static $exceptionOnInvalidType = false;
    private static $objectSupport = false;
    private static $objectForMap = false;

    /**
     * Converts a YAML string to a PHP value.
     *
     * @param string $value                  A YAML string
     * @param bool   $exceptionOnInvalidType True if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
     * @param bool   $objectSupport          True if object support is enabled, false otherwise
     * @param bool   $objectForMap           True if maps should return a stdClass instead of array()
     * @param array  $references             Mapping of variable names to values
     *
     * @return mixed A PHP value
     *
     * @throws ParseException
     */
    public static function parse($value, $exceptionOnInvalidType = false, $objectSupport = false, $objectForMap = false, $references = array())
    {
        self::$exceptionOnInvalidType = $exceptionOnInvalidType;
        self::$objectSupport = $objectSupport;
        self::$objectForMap = $objectForMap;

        $value = trim($value);

        if ('' === $value) {
            return '';
        }

        if (2 /* MB_OVERLOAD_STRING */ & (int) ini_get('mbstring.func_overload')) {
            $mbEncoding = mb_internal_encoding();
            mb_internal_encoding('ASCII');
        }

        $i = 0;
        switch ($value[0]) {
            case '[':
                $result = self::parseSequence($value, $i, $references);
                ++$i;
                break;
            case '{':
                $result = self::parseMapping($value, $i, $references);
                ++$i;
                break;
            default:
                $result = self::parseScalar($value, null, array('"', "'"), $i, true, $references);
        }

        // some comments are allowed at the end
        if (preg_replace('/\s+#.*$/A', '', substr($value, $i))) {
            throw new ParseException(sprintf('Unexpected characters near "%s".', substr($value, $i)));
        }

        if (isset($mbEncoding)) {
            mb_internal_encoding($mbEncoding);
        }

        return $result;
    }

    /**
     * Check if given array is hash or just normal indexed array.
     *
     * @internal
     *
     * @param array $value The PHP array to check
     *
     * @return bool true if value is hash array, false otherwise
     */
    public static function isHash(array $value)
    {
        $expectedKey = 0;

        foreach ($value as $key => $val) {
            if ($key !== $expectedKey++) {
                return true;
            }
        }

        return false;
    }

    /**
     * Parses a YAML scalar.
     *
     * @param string   $scalar
     * @param string[] $delimiters
     * @param string[] $stringDelimiters
     * @param int      &$i
     * @param bool     $evaluate
     * @param array    $references
     *
     * @return string
     *
     * @throws ParseException When malformed inline YAML string is parsed
     *
     * @internal
     */
    public static function parseScalar($scalar, $delimiters = null, $stringDelimiters = array('"', "'"), &$i = 0, $evaluate = true, $references = array())
    {
        if (in_array($scalar[$i], $stringDelimiters)) {
            // quoted scalar
            $output = self::parseQuotedScalar($scalar, $i);

            if (null !== $delimiters) {
                $tmp = ltrim(substr($scalar, $i), ' ');
                if (!in_array($tmp[0], $delimiters)) {
                    throw new ParseException(sprintf('Unexpected characters (%s).', substr($scalar, $i)));
                }
            }
        } else {
            // "normal" string
            if (!$delimiters) {
                $output = substr($scalar, $i);
                $i += strlen($output);

                // remove comments
                if (Parser::preg_match('/[ \t]+#/', $output, $match, PREG_OFFSET_CAPTURE)) {
                    $output = substr($output, 0, $match[0][1]);
                }
            } elseif (Parser::preg_match('/^(.+?)('.implode('|', $delimiters).')/', substr($scalar, $i), $match)) {
                $output = $match[1];
                $i += strlen($output);
            } else {
                throw new ParseException(sprintf('Malformed inline YAML string: %s.', $scalar));
            }

            // a non-quoted string cannot start with @ or ` (reserved) nor with a scalar indicator (| or >)
            if ($output && ('@' === $output[0] || '`' === $output[0] || '|' === $output[0] || '>' === $output[0])) {
                @trigger_error(sprintf('Not quoting the scalar "%s" starting with "%s" is deprecated since Symfony 2.8 and will throw a ParseException in 3.0.', $output, $output[0]), E_USER_DEPRECATED);

                // to be thrown in 3.0
                // throw new ParseException(sprintf('The reserved indicator "%s" cannot start a plain scalar; you need to quote the scalar.', $output[0]));
            }

            if ($evaluate) {
                $output = self::evaluateScalar($output, $references);
            }
        }

        return $output;
    }

    /**
     * Parses a YAML quoted scalar.
     *
     * @param string $scalar
     * @param int    &$i
     *
     * @return string
     *
     * @throws ParseException When malformed inline YAML string is parsed
     */
    private static function parseQuotedScalar($scalar, &$i)
    {
        if (!Parser::preg_match('/'.self::REGEX_QUOTED_STRING.'/Au', substr($scalar, $i), $match)) {
            throw new ParseException(sprintf('Malformed inline YAML string: %s.', substr($scalar, $i)));
        }

        $output = substr($match[0], 1, strlen($match[0]) - 2);

        $unescaper = new Unescaper();
        if ('"' == $scalar[$i]) {
            $output = $unescaper->unescapeDoubleQuotedString($output);
        } else {
            $output = $unescaper->unescapeSingleQuotedString($output);
        }

        $i += strlen($match[0]);

        return $output;
    }

    /**
     * Parses a YAML sequence.
     *
     * @param string $sequence
     * @param int    &$i
     * @param array  $references
     *
     * @return array
     *
     * @throws ParseException When malformed inline YAML string is parsed
     */
    private static function parseSequence($sequence, &$i = 0, $references = array())
    {
        $output = array();
        $len = strlen($sequence);
        ++$i;

        // [foo, bar, ...]
        while ($i < $len) {
            switch ($sequence[$i]) {
                case '[':
                    // nested sequence
                    $output[] = self::parseSequence($sequence, $i, $references);
                    break;
                case '{':
                    // nested mapping
                    $output[] = self::parseMapping($sequence, $i, $references);
                    break;
                case ']':
                    return $output;
                case ',':
                case ' ':
                    break;
                default:
                    $isQuoted = in_array($sequence[$i], array('"', "'"));
                    $value = self::parseScalar($sequence, array(',', ']'), array('"', "'"), $i, true, $references);

                    // the value can be an array if a reference has been resolved to an array var
                    if (!is_array($value) && !$isQuoted && false !== strpos($value, ': ')) {
                        // embedded mapping?
                        try {
                            $pos = 0;
                            $value = self::parseMapping('{'.$value.'}', $pos, $references);
                        } catch (\InvalidArgumentException $e) {
                            // no, it's not
                        }
                    }

                    $output[] = $value;

                    --$i;
            }

            ++$i;
        }

        throw new ParseException(sprintf('Malformed inline YAML string: %s.', $sequence));
    }

    /**
     * Parses a YAML mapping.
     *
     * @param string $mapping
     * @param int    &$i
     * @param array  $references
     *
     * @return array|\stdClass
     *
     * @throws ParseException When malformed inline YAML string is parsed
     */
    private static function parseMapping($mapping, &$i = 0, $references = array())
    {
        $output = array();
        $len = strlen($mapping);
        ++$i;
        $allowOverwrite = false;

        // {foo: bar, bar:foo, ...}
        while ($i < $len) {
            switch ($mapping[$i]) {
                case ' ':
                case ',':
                    ++$i;
                    continue 2;
                case '}':
                    if (self::$objectForMap) {
                        return (object) $output;
                    }

                    return $output;
            }

            // key
            $key = self::parseScalar($mapping, array(':', ' '), array('"', "'"), $i, false);

            if ('<<' === $key) {
                $allowOverwrite = true;
            }

            // value
            $done = false;

            while ($i < $len) {
                switch ($mapping[$i]) {
                    case '[':
                        // nested sequence
                        $value = self::parseSequence($mapping, $i, $references);
                        // Spec: Keys MUST be unique; first one wins.
                        // Parser cannot abort this mapping earlier, since lines
                        // are processed sequentially.
                        // But overwriting is allowed when a merge node is used in current block.
                        if ('<<' === $key) {
                            foreach ($value as $parsedValue) {
                                $output += $parsedValue;
                            }
                        } elseif ($allowOverwrite || !isset($output[$key])) {
                            $output[$key] = $value;
                        }
                        $done = true;
                        break;
                    case '{':
                        // nested mapping
                        $value = self::parseMapping($mapping, $i, $references);
                        // Spec: Keys MUST be unique; first one wins.
                        // Parser cannot abort this mapping earlier, since lines
                        // are processed sequentially.
                        // But overwriting is allowed when a merge node is used in current block.
                        if ('<<' === $key) {
                            $output += $value;
                        } elseif ($allowOverwrite || !isset($output[$key])) {
                            $output[$key] = $value;
                        }
                        $done = true;
                        break;
                    case ':':
                    case ' ':
                        break;
                    default:
                        $value = self::parseScalar($mapping, array(',', '}'), array('"', "'"), $i, true, $references);
                        // Spec: Keys MUST be unique; first one wins.
                        // Parser cannot abort this mapping earlier, since lines
                        // are processed sequentially.
                        // But overwriting is allowed when a merge node is used in current block.
                        if ('<<' === $key) {
                            $output += $value;
                        } elseif ($allowOverwrite || !isset($output[$key])) {
                            $output[$key] = $value;
                        }
                        $done = true;
                        --$i;
                }

                ++$i;

                if ($done) {
                    continue 2;
                }
            }
        }

        throw new ParseException(sprintf('Malformed inline YAML string: %s.', $mapping));
    }

    /**
     * Evaluates scalars and replaces magic values.
     *
     * @param string $scalar
     * @param array  $references
     *
     * @return mixed The evaluated YAML string
     *
     * @throws ParseException when object parsing support was disabled and the parser detected a PHP object or when a reference could not be resolved
     */
    private static function evaluateScalar($scalar, $references = array())
    {
        $scalar = trim($scalar);
        $scalarLower = strtolower($scalar);

        if (0 === strpos($scalar, '*')) {
            if (false !== $pos = strpos($scalar, '#')) {
                $value = substr($scalar, 1, $pos - 2);
            } else {
                $value = substr($scalar, 1);
            }

            // an unquoted *
            if (false === $value || '' === $value) {
                throw new ParseException('A reference must contain at least one character.');
            }

            if (!array_key_exists($value, $references)) {
                throw new ParseException(sprintf('Reference "%s" does not exist.', $value));
            }

            return $references[$value];
        }

        switch (true) {
            case 'null' === $scalarLower:
            case '' === $scalar:
            case '~' === $scalar:
                return;
            case 'true' === $scalarLower:
                return true;
            case 'false' === $scalarLower:
                return false;
            // Optimise for returning strings.
            case '+' === $scalar[0] || '-' === $scalar[0] || '.' === $scalar[0] || '!' === $scalar[0] || is_numeric($scalar[0]):
                switch (true) {
                    case 0 === strpos($scalar, '!str'):
                        return (string) substr($scalar, 5);
                    case 0 === strpos($scalar, '! '):
                        return (int) self::parseScalar(substr($scalar, 2));
                    case 0 === strpos($scalar, '!php/object:'):
                        if (self::$objectSupport) {
                            return unserialize(substr($scalar, 12));
                        }

                        if (self::$exceptionOnInvalidType) {
                            throw new ParseException('Object support when parsing a YAML file has been disabled.');
                        }

                        return;
                    case 0 === strpos($scalar, '!!php/object:'):
                        if (self::$objectSupport) {
                            return unserialize(substr($scalar, 13));
                        }

                        if (self::$exceptionOnInvalidType) {
                            throw new ParseException('Object support when parsing a YAML file has been disabled.');
                        }

                        return;
                    case 0 === strpos($scalar, '!!float '):
                        return (float) substr($scalar, 8);
                    case ctype_digit($scalar):
                        $raw = $scalar;
                        $cast = (int) $scalar;

                        return '0' == $scalar[0] ? octdec($scalar) : (((string) $raw == (string) $cast) ? $cast : $raw);
                    case '-' === $scalar[0] && ctype_digit(substr($scalar, 1)):
                        $raw = $scalar;
                        $cast = (int) $scalar;

                        return '0' == $scalar[1] ? octdec($scalar) : (((string) $raw === (string) $cast) ? $cast : $raw);
                    case is_numeric($scalar):
                    case Parser::preg_match(self::getHexRegex(), $scalar):
                        return '0x' === $scalar[0].$scalar[1] ? hexdec($scalar) : (float) $scalar;
                    case '.inf' === $scalarLower:
                    case '.nan' === $scalarLower:
                        return -log(0);
                    case '-.inf' === $scalarLower:
                        return log(0);
                    case Parser::preg_match('/^(-|\+)?[0-9,]+(\.[0-9]+)?$/', $scalar):
                        return (float) str_replace(',', '', $scalar);
                    case Parser::preg_match(self::getTimestampRegex(), $scalar):
                        $timeZone = date_default_timezone_get();
                        date_default_timezone_set('UTC');
                        $time = strtotime($scalar);
                        date_default_timezone_set($timeZone);

                        return $time;
                }
                // no break
            default:
                return (string) $scalar;
        }
    }

    /**
     * Gets a regex that matches a YAML date.
     *
     * @return string The regular expression
     *
     * @see http://www.yaml.org/spec/1.2/spec.html#id2761573
     */
    private static function getTimestampRegex()
    {
        return <<<EOF
        ~^
        (?P<year>[0-9][0-9][0-9][0-9])
        -(?P<month>[0-9][0-9]?)
        -(?P<day>[0-9][0-9]?)
        (?:(?:[Tt]|[ \t]+)
        (?P<hour>[0-9][0-9]?)
        :(?P<minute>[0-9][0-9])
        :(?P<second>[0-9][0-9])
        (?:\.(?P<fraction>[0-9]*))?
        (?:[ \t]*(?P<tz>Z|(?P<tz_sign>[-+])(?P<tz_hour>[0-9][0-9]?)
        (?::(?P<tz_minute>[0-9][0-9]))?))?)?
        $~x
EOF;
    }

    /**
     * Gets a regex that matches a YAML number in hexadecimal notation.
     *
     * @return string
     */
    private static function getHexRegex()
    {
        return '~^0x[0-9a-f]++$~i';
    }
}
vendor/rockettheme/toolbox/Compat/src/Yaml/Yaml.php000060400000005137150750356260016403 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace RocketTheme\Toolbox\Compat\Yaml;

use RocketTheme\Toolbox\Compat\Yaml\Exception\ParseException;

/**
 * Yaml offers convenience methods to load and dump YAML.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class Yaml
{
    /**
     * Parses YAML into a PHP value.
     *
     *  Usage:
     *  <code>
     *   $array = Yaml::parse(file_get_contents('config.yml'));
     *   print_r($array);
     *  </code>
     *
     * As this method accepts both plain strings and file names as an input,
     * you must validate the input before calling this method. Passing a file
     * as an input is a deprecated feature and will be removed in 3.0.
     *
     * Note: the ability to pass file names to the Yaml::parse method is deprecated since version 2.2 and will be removed in 3.0. Pass the YAML contents of the file instead.
     *
     * @param string $input                  Path to a YAML file or a string containing YAML
     * @param bool   $exceptionOnInvalidType True if an exception must be thrown on invalid types false otherwise
     * @param bool   $objectSupport          True if object support is enabled, false otherwise
     * @param bool   $objectForMap           True if maps should return a stdClass instead of array()
     *
     * @return mixed The YAML converted to a PHP value
     *
     * @throws ParseException If the YAML is not valid
     */
    public static function parse($input, $exceptionOnInvalidType = false, $objectSupport = false, $objectForMap = false)
    {
        // if input is a file, process it
        $file = '';
        if (false === strpos($input, "\n") && is_file($input)) {
            @trigger_error('The ability to pass file names to the '.__METHOD__.' method is deprecated since version 2.2 and will be removed in 3.0. Pass the YAML contents of the file instead.', E_USER_DEPRECATED);

            if (false === is_readable($input)) {
                throw new ParseException(sprintf('Unable to parse "%s" as the file is not readable.', $input));
            }

            $file = $input;
            $input = file_get_contents($file);
        }

        $yaml = new Parser();

        try {
            return $yaml->parse($input, $exceptionOnInvalidType, $objectSupport, $objectForMap);
        } catch (ParseException $e) {
            if ($file) {
                $e->setParsedFile($file);
            }

            throw $e;
        }
    }
}
vendor/rockettheme/toolbox/Compat/src/Yaml/Unescaper.php000060400000010515150750356260017422 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace RocketTheme\Toolbox\Compat\Yaml;

/**
 * Unescaper encapsulates unescaping rules for single and double-quoted
 * YAML strings.
 *
 * @author Matthew Lewinski <matthew@lewinski.org>
 *
 * @internal
 */
class Unescaper
{
    /**
     * Parser and Inline assume UTF-8 encoding, so escaped Unicode characters
     * must be converted to that encoding.
     *
     * @deprecated since version 2.5, to be removed in 3.0
     *
     * @internal
     */
    const ENCODING = 'UTF-8';

    /**
     * Regex fragment that matches an escaped character in a double quoted string.
     */
    const REGEX_ESCAPED_CHARACTER = '\\\\(x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|.)';

    /**
     * Unescapes a single quoted string.
     *
     * @param string $value A single quoted string
     *
     * @return string The unescaped string
     */
    public function unescapeSingleQuotedString($value)
    {
        return str_replace('\'\'', '\'', $value);
    }

    /**
     * Unescapes a double quoted string.
     *
     * @param string $value A double quoted string
     *
     * @return string The unescaped string
     */
    public function unescapeDoubleQuotedString($value)
    {
        $self = $this;
        $callback = function ($match) use ($self) {
            return $self->unescapeCharacter($match[0]);
        };

        // evaluate the string
        return preg_replace_callback('/'.self::REGEX_ESCAPED_CHARACTER.'/u', $callback, $value);
    }

    /**
     * Unescapes a character that was found in a double-quoted string.
     *
     * @param string $value An escaped character
     *
     * @return string The unescaped character
     *
     * @internal This method is public to be usable as callback. It should not
     *           be used in user code. Should be changed in 3.0.
     */
    public function unescapeCharacter($value)
    {
        switch ($value[1]) {
            case '0':
                return "\x0";
            case 'a':
                return "\x7";
            case 'b':
                return "\x8";
            case 't':
                return "\t";
            case "\t":
                return "\t";
            case 'n':
                return "\n";
            case 'v':
                return "\xB";
            case 'f':
                return "\xC";
            case 'r':
                return "\r";
            case 'e':
                return "\x1B";
            case ' ':
                return ' ';
            case '"':
                return '"';
            case '/':
                return '/';
            case '\\':
                return '\\';
            case 'N':
                // U+0085 NEXT LINE
                return "\xC2\x85";
            case '_':
                // U+00A0 NO-BREAK SPACE
                return "\xC2\xA0";
            case 'L':
                // U+2028 LINE SEPARATOR
                return "\xE2\x80\xA8";
            case 'P':
                // U+2029 PARAGRAPH SEPARATOR
                return "\xE2\x80\xA9";
            case 'x':
                return self::utf8chr(hexdec(substr($value, 2, 2)));
            case 'u':
                return self::utf8chr(hexdec(substr($value, 2, 4)));
            case 'U':
                return self::utf8chr(hexdec(substr($value, 2, 8)));
            default:
                @trigger_error('Not escaping a backslash in a double-quoted string is deprecated since Symfony 2.8 and will throw a ParseException in 3.0.', E_USER_DEPRECATED);

                return $value;
        }
    }

    /**
     * Get the UTF-8 character for the given code point.
     *
     * @param int $c The unicode code point
     *
     * @return string The corresponding UTF-8 character
     */
    private static function utf8chr($c)
    {
        if (0x80 > $c %= 0x200000) {
            return chr($c);
        }
        if (0x800 > $c) {
            return chr(0xC0 | $c >> 6).chr(0x80 | $c & 0x3F);
        }
        if (0x10000 > $c) {
            return chr(0xE0 | $c >> 12).chr(0x80 | $c >> 6 & 0x3F).chr(0x80 | $c & 0x3F);
        }

        return chr(0xF0 | $c >> 18).chr(0x80 | $c >> 12 & 0x3F).chr(0x80 | $c >> 6 & 0x3F).chr(0x80 | $c & 0x3F);
    }
}
vendor/rockettheme/toolbox/ArrayTraits/src/ArrayAccess.php000060400000003070150750356260020013 0ustar00<?php
namespace RocketTheme\Toolbox\ArrayTraits;

/**
 * Implements ArrayAccess interface.
 *
 * @package RocketTheme\Toolbox\ArrayTraits
 * @author RocketTheme
 * @license MIT
 *
 * @property array $items
 */
trait ArrayAccess
{
    /**
     * Whether or not an offset exists.
     *
     * @param mixed $offset  An offset to check for.
     * @return bool          Returns TRUE on success or FALSE on failure.
     */
    public function offsetExists($offset)
    {
        return isset($this->items[$offset]);
    }

    /**
     * Returns the value at specified offset.
     *
     * @param mixed $offset  The offset to retrieve.
     * @return mixed         Can return all value types.
     */
    public function offsetGet($offset)
    {
        return isset($this->items[$offset]) ? $this->items[$offset] : null;
    }

    /**
     * Assigns a value to the specified offset.
     *
     * @param mixed $offset  The offset to assign the value to.
     * @param mixed $value   The value to set.
     */
    public function offsetSet($offset, $value)
    {
        if (null === $offset) {
            $this->items[] = $value;
        } else {
            $this->items[$offset] = $value;
        }
    }

    /**
     * Unsets an offset.
     *
     * @param mixed $offset  The offset to unset.
     */
    public function offsetUnset($offset)
    {
        // Hack to make Iterator trait work together with unset.
        if (isset($this->iteratorUnset) && $offset == key($this->items)) {
            $this->iteratorUnset = true;
        }

        unset($this->items[$offset]);
    }
}
vendor/rockettheme/toolbox/ArrayTraits/src/Constructor.php000060400000000723150750356260020142 0ustar00<?php
namespace RocketTheme\Toolbox\ArrayTraits;

/**
 * Implements Constructor for setting items.
 *
 * @package RocketTheme\Toolbox\ArrayTraits
 * @author RocketTheme
 * @license MIT
 *
 * @property array $items
 */
trait Constructor
{
    /**
     * Constructor to initialize array.
     *
     * @param  array  $items  Initial items inside the iterator.
     */
    public function __construct(array $items = array())
    {
        $this->items = $items;
    }
}
vendor/rockettheme/toolbox/ArrayTraits/src/ArrayAccessWithGetters.php000060400000002231150750356260022203 0ustar00<?php
namespace RocketTheme\Toolbox\ArrayTraits;

/**
 * Implements getters and setters.
 *
 * @package RocketTheme\Toolbox\ArrayTraits
 * @author RocketTheme
 * @license MIT
 */
trait ArrayAccessWithGetters
{
    use ArrayAccess;

    /**
     * Magic setter method
     *
     * @param mixed $offset Asset name value
     * @param mixed $value  Asset value
     */
    public function __set($offset, $value)
    {
        $this->offsetSet($offset, $value);
    }

    /**
     * Magic getter method
     *
     * @param  mixed $offset Asset name value
     * @return mixed         Asset value
     */
    public function __get($offset)
    {
       return $this->offsetGet($offset);
    }

    /**
     * Magic method to determine if the attribute is set
     *
     * @param  mixed   $offset Asset name value
     * @return boolean         True if the value is set
     */
    public function __isset($offset)
    {
        return $this->offsetExists($offset);
    }

    /**
     * Magic method to unset the attribute
     *
     * @param mixed $offset The name value to unset
     */
    public function __unset($offset)
    {
        $this->offsetUnset($offset);
    }
}
vendor/rockettheme/toolbox/ArrayTraits/src/Iterator.php000060400000003133150750356260017404 0ustar00<?php
namespace RocketTheme\Toolbox\ArrayTraits;

/**
 * Implements \Iterator interface.
 *
 * @package RocketTheme\Toolbox\ArrayTraits
 * @author RocketTheme
 * @license MIT
 *
 * @property array $items
 */
trait Iterator
{
    /**
     * Hack to make Iterator work together with unset().
     *
     * @var bool
     */
    private $iteratorUnset = false;

    /**
     * Returns the current element.
     *
     * @return mixed  Can return any type.
     */
    public function current()
    {
        return current($this->items);
    }

    /**
     * Returns the key of the current element.
     *
     * @return mixed  Returns scalar on success, or NULL on failure.
     */
    public function key()
    {
        return key($this->items);
    }

    /**
     * Moves the current position to the next element.
     *
     * @return void
     */
    public function next()
    {
        if ($this->iteratorUnset) {
            // If current item was unset, position is already in the next element (do nothing).
            $this->iteratorUnset = false;
        } else {
            next($this->items);
        }
    }

    /**
     * Rewinds back to the first element of the Iterator.
     *
     * @return void
     */
    public function rewind()
    {
        $this->iteratorUnset = false;
        reset($this->items);
    }

    /**
     * This method is called after Iterator::rewind() and Iterator::next() to check if the current position is valid.
     *
     * @return bool  Returns TRUE on success or FALSE on failure.
     */
    public function valid()
    {
        return key($this->items) !== null;
    }
}
vendor/rockettheme/toolbox/ArrayTraits/src/ExportInterface.php000060400000001157150750356260020721 0ustar00<?php
namespace RocketTheme\Toolbox\ArrayTraits;

/**
 * Defines Export interface.
 *
 * @package RocketTheme\Toolbox\ArrayTraits
 * @author RocketTheme
 * @license MIT
 */
interface ExportInterface
{
    /**
     * Convert object into an array.
     *
     * @return array
     */
    public function toArray();

    /**
     * Convert object into YAML string.
     *
     * @param int $inline
     * @param int $indent
     * @return string
     */
    public function toYaml($inline = 3, $indent = 2);

    /**
     * Convert object into JSON string.
     *
     * @return string
     */
    public function toJson();
}
vendor/rockettheme/toolbox/ArrayTraits/src/NestedArrayAccessWithGetters.php000060400000002245150750356260023353 0ustar00<?php
namespace RocketTheme\Toolbox\ArrayTraits;

/**
 * Implements getters and setters.
 *
 * @package RocketTheme\Toolbox\ArrayTraits
 * @author RocketTheme
 * @license MIT
 */
trait NestedArrayAccessWithGetters
{
    use NestedArrayAccess;

    /**
     * Magic setter method
     *
     * @param mixed $offset Asset name value
     * @param mixed $value  Asset value
     */
    public function __set($offset, $value)
    {
        $this->offsetSet($offset, $value);
    }

    /**
     * Magic getter method
     *
     * @param  mixed $offset Asset name value
     * @return mixed         Asset value
     */
    public function __get($offset)
    {
       return $this->offsetGet($offset);
    }

    /**
     * Magic method to determine if the attribute is set
     *
     * @param  mixed   $offset Asset name value
     * @return boolean         True if the value is set
     */
    public function __isset($offset)
    {
        return $this->offsetExists($offset);
    }

    /**
     * Magic method to unset the attribute
     *
     * @param mixed $offset The name value to unset
     */
    public function __unset($offset)
    {
        $this->offsetUnset($offset);
    }
}
vendor/rockettheme/toolbox/ArrayTraits/src/Countable.php000060400000000603150750356260017526 0ustar00<?php
namespace RocketTheme\Toolbox\ArrayTraits;

/**
 * Implements \Countable interface.
 *
 * @package RocketTheme\Toolbox\ArrayTraits
 * @author RocketTheme
 * @license MIT
 *
 * @property array $items
 */
trait Countable
{
    /**
     * Implements Countable interface.
     *
     * @return int
     */
    public function count()
    {
        return \count($this->items);
    }
}
vendor/rockettheme/toolbox/ArrayTraits/src/NestedArrayAccess.php000060400000012463150750356260021164 0ustar00<?php
namespace RocketTheme\Toolbox\ArrayTraits;

/**
 * Implements nested ArrayAccess interface with dot notation.
 *
 * @package RocketTheme\Toolbox\ArrayTraits
 * @author RocketTheme
 * @license MIT
 *
 * @property array $items
 */
trait NestedArrayAccess
{
    protected $nestedSeparator = '.';

    /**
     * Get value by using dot notation for nested arrays/objects.
     *
     * @example $value = $this->get('this.is.my.nested.variable');
     *
     * @param string  $name       Dot separated path to the requested value.
     * @param mixed   $default    Default value (or null).
     * @param string  $separator  Separator, defaults to '.'
     * @return mixed  Value.
     */
    public function get($name, $default = null, $separator = null)
    {
        $path = explode($separator ?: $this->nestedSeparator, $name);
        $current = $this->items;
        foreach ($path as $field) {
            if (\is_object($current) && isset($current->{$field})) {
                $current = $current->{$field};
            } elseif (\is_array($current) && isset($current[$field])) {
                $current = $current[$field];
            } else {
                return $default;
            }
        }

        return $current;
    }

    /**
     * Set value by using dot notation for nested arrays/objects.
     *
     * @example $data->set('this.is.my.nested.variable', $value);
     *
     * @param string  $name       Dot separated path to the requested value.
     * @param mixed   $value      New value.
     * @param string  $separator  Separator, defaults to '.'
     * @return $this
     */
    public function set($name, $value, $separator = null)
    {
        $path = explode($separator ?: $this->nestedSeparator, $name);
        $current = &$this->items;
        foreach ($path as $field) {
            if (\is_object($current)) {
                // Handle objects.
                if (!isset($current->{$field})) {
                    $current->{$field} = [];
                }
                $current = &$current->{$field};
            } else {
                // Handle arrays and scalars.
                if (!\is_array($current)) {
                    $current = [$field => []];
                } elseif (!isset($current[$field])) {
                    $current[$field] = [];
                }
                $current = &$current[$field];
            }
        }

        $current = $value;

        return $this;
    }

    /**
     * Unset value by using dot notation for nested arrays/objects.
     *
     * @example $data->undef('this.is.my.nested.variable');
     *
     * @param string  $name       Dot separated path to the requested value.
     * @param string  $separator  Separator, defaults to '.'
     * @return $this
     */
    public function undef($name, $separator = null)
    {
        if ($name === '') {
            $this->items = [];

            return $this;
        }

        $path = explode($separator ?: $this->nestedSeparator, $name);
        $var = array_pop($path);
        $current = &$this->items;

        foreach ($path as $field) {
            if (\is_object($current)) {
                // Handle objects.
                if (!isset($current->{$field})) {
                    return $this;
                }
                $current = &$current->{$field};
            } else {
                // Handle arrays and scalars.
                if (!\is_array($current) || !isset($current[$field])) {
                    return $this;
                }
                $current = &$current[$field];
            }
        }

        unset($current[$var]);

        return $this;
    }

    /**
     * Set default value by using dot notation for nested arrays/objects.
     *
     * @example $data->def('this.is.my.nested.variable', 'default');
     *
     * @param string  $name       Dot separated path to the requested value.
     * @param mixed   $default    Default value (or null).
     * @param string  $separator  Separator, defaults to '.'
     * @return $this
     */
    public function def($name, $default = null, $separator = null)
    {
        $this->set($name, $this->get($name, $default, $separator), $separator);

        return $this;
    }

    /**
     * Whether or not an offset exists.
     *
     * @param mixed $offset  An offset to check for.
     * @return bool          Returns TRUE on success or FALSE on failure.
     */
    public function offsetExists($offset)
    {
        return $this->get($offset) !== null;
    }

    /**
     * Returns the value at specified offset.
     *
     * @param mixed $offset  The offset to retrieve.
     * @return mixed         Can return all value types.
     */
    public function offsetGet($offset)
    {
        return $this->get($offset);
    }

    /**
     * Assigns a value to the specified offset.
     *
     * @param mixed $offset  The offset to assign the value to.
     * @param mixed $value   The value to set.
     */
    public function offsetSet($offset, $value)
    {
        if (null === $offset) {
            $this->items[] = $value;
        } else {
            $this->set($offset, $value);
        }
    }

    /**
     * Unsets variable at specified offset.
     *
     * @param $offset
     */
    public function offsetUnset($offset)
    {
        if (null === $offset) {
            $this->items[] = [];
        } else {
            $this->undef($offset);
        }
    }
}
vendor/rockettheme/toolbox/ArrayTraits/src/Export.php000060400000002106150750356260017073 0ustar00<?php
namespace RocketTheme\Toolbox\ArrayTraits;

use Symfony\Component\Yaml\Exception\DumpException;
use Symfony\Component\Yaml\Yaml;

/**
 * Implements ExportInterface.
 *
 * @package RocketTheme\Toolbox\ArrayTraits
 * @author RocketTheme
 * @license MIT
 *
 * @property array $items
 */
trait Export
{
    /**
     * Convert object into an array.
     *
     * @return array
     */
    public function toArray()
    {
        return $this->items;
    }

    /**
     * Convert object into YAML string.
     *
     * @param  int $inline  The level where you switch to inline YAML.
     * @param  int $indent  The amount of spaces to use for indentation of nested nodes.
     *
     * @return string A YAML string representing the object.
     * @throws DumpException
     */
    public function toYaml($inline = 3, $indent = 2)
    {
        return Yaml::dump($this->toArray(), $inline, $indent, true, false);
    }

    /**
     * Convert object into JSON string.
     *
     * @return string
     */
    public function toJson()
    {
        return json_encode($this->toArray());
    }
}
vendor/rockettheme/toolbox/ArrayTraits/src/Serializable.php000060400000001323150750356260020220 0ustar00<?php
namespace RocketTheme\Toolbox\ArrayTraits;

/**
 * Implements \Serializable interface.
 *
 * @package RocketTheme\Toolbox\ArrayTraits
 * @author RocketTheme
 * @license MIT
 *
 * @property array $items
 */
trait Serializable
{
    /**
     * Returns string representation of the object.
     *
     * @return string  Returns the string representation of the object.
     */
    public function serialize()
    {
        return serialize($this->items);
    }

    /**
     * Called during unserialization of the object.
     *
     * @param string $serialized  The string representation of the object.
     */
    public function unserialize($serialized)
    {
        $this->items = unserialize($serialized);
    }
}
vendor/rockettheme/toolbox/ResourceLocator/src/UniformResourceIterator.php000060400000011551150750356260023325 0ustar00<?php
namespace RocketTheme\Toolbox\ResourceLocator;

use FilesystemIterator;

/**
 * Implements FilesystemIterator for uniform resource locator.
 *
 * @package RocketTheme\Toolbox\ResourceLocator
 * @author RocketTheme
 * @license MIT
 */
class UniformResourceIterator extends FilesystemIterator
{
    /**
     * @var FilesystemIterator
     */
    protected $iterator;

    /**
     * @var array
     */
    protected $found;

    /**
     * @var array
     */
    protected $stack;

    /**
     * @var string
     */
    protected $path;

    /**
     * @var int
     */
    protected $flags;

    /**
     * @var UniformResourceLocator
     */
    protected $locator;

    public function __construct($path, $flags = null, UniformResourceLocator $locator = null)
    {
        if (!$locator) {
            throw new \BadMethodCallException('Use $locator->getIterator() instead');
        }

        $this->path = $path;
        $this->setFlags($flags);
        $this->locator = $locator;
        $this->rewind();
    }

    public function current()
    {
        if ($this->flags & static::CURRENT_AS_SELF) {
            return $this;
        }
        return $this->iterator->current();
    }

    public function key()
    {
        return $this->iterator->key();
    }

    public function next()
    {
        do {
            $found = $this->findNext();
        } while ($found && !empty($this->found[$found]));

        if ($found) {
            // Mark the file as found.
            $this->found[$found] = true;
        }
    }

    public function valid()
    {
        return $this->iterator && $this->iterator->valid();
    }

    public function rewind()
    {
        $this->found = [];
        $this->stack = $this->locator->findResources($this->path);
        $this->next();
    }

    public function getUrl()
    {
        $path = $this->path . (substr($this->path, -1, 1) === '/' ? '' : '/');
        return $path . $this->iterator->getFilename();
    }

    public function seek($position)
    {
        throw new \RuntimeException('Seek not implemented');
    }

    public function getATime()
    {
        return $this->iterator->getATime();
    }

    public function getBasename($suffix = null)
    {
        return $this->iterator->getBasename($suffix);
    }

    public function getCTime()
    {
        return $this->iterator->getCTime();
    }

    public function getExtension()
    {
        return $this->iterator->getExtension();
    }

    public function getFilename()
    {
        return $this->iterator->getFilename();
    }

    public function getGroup()
    {
        return $this->iterator->getGroup();
    }

    public function getInode()
    {
        return $this->iterator->getInode();
    }

    public function getMTime()
    {
        return $this->iterator->getMTime();
    }

    public function getOwner()
    {
        return $this->iterator->getOwner();
    }

    public function getPath()
    {
        return $this->iterator->getPath();
    }

    public function getPathname()
    {
        return $this->iterator->getPathname();
    }

    public function getPerms()
    {
        return $this->iterator->getPerms();
    }

    public function getSize()
    {
        return $this->iterator->getSize();
    }

    public function getType()
    {
        return $this->iterator->getType();
    }

    public function isDir()
    {
        return $this->iterator->isDir();
    }

    public function isDot()
    {
        return $this->iterator->isDot();
    }

    public function isExecutable()
    {
        return $this->iterator->isExecutable();
    }

    public function isFile()
    {
        return $this->iterator->isFile();
    }

    public function isLink()
    {
        return $this->iterator->isLink();
    }

    public function isReadable()
    {
        return $this->iterator->isReadable();
    }

    public function isWritable()
    {
        return $this->iterator->isWritable();
    }

    public function __toString()
    {
        return $this->iterator->__toString();
    }

    public function getFlags()
    {
        return $this->flags;
    }

    public function setFlags($flags = null)
    {
        $this->flags = $flags === null ? static::KEY_AS_PATHNAME | static::CURRENT_AS_SELF | static::SKIP_DOTS : $flags;

        if ($this->iterator) {
            $this->iterator->setFlags($this->flags);
        }
    }

    protected function findNext()
    {
        if ($this->iterator) {
            $this->iterator->next();
        }

        if (!$this->valid()) {
            do {
                // Move to the next iterator if it exists.
                $path = array_shift($this->stack);

                if (!isset($path)) {
                    return null;
                }

                $this->iterator = new \FilesystemIterator($path, $this->getFlags());
            } while (!$this->iterator->valid());
        }

        return $this->getFilename();
    }
}
vendor/rockettheme/toolbox/ResourceLocator/src/UniformResourceLocator.php000060400000034512150750356260023141 0ustar00<?php

namespace RocketTheme\Toolbox\ResourceLocator;

/**
 * Implements Uniform Resource Location.
 *
 * @package RocketTheme\Toolbox\ResourceLocator
 * @author RocketTheme
 * @license MIT
 *
 * @link http://webmozarts.com/2013/06/19/the-power-of-uniform-resource-location-in-php/
 */
class UniformResourceLocator implements ResourceLocatorInterface
{
    /**
     * @var string  Base URL for all the streams.
     */
    public $base;

    /**
     * @var array[]
     */
    protected $schemes = [];

    /**
     * @var array
     */
    protected $cache = [];

    public function __construct($base = null)
    {
        // Normalize base path.
        $this->base = rtrim(str_replace('\\', '/', $base ?: getcwd()), '/');
    }

    /**
     * Return iterator for the resource URI.
     *
     * @param  string $uri
     * @param  int    $flags    See constants from FilesystemIterator class.
     * @return UniformResourceIterator
     */
    public function getIterator($uri, $flags = null)
    {
        return new UniformResourceIterator($uri, $flags, $this);
    }

    /**
     * Return recursive iterator for the resource URI.
     *
     * @param  string $uri
     * @param  int    $flags    See constants from FilesystemIterator class.
     * @return RecursiveUniformResourceIterator
     */
    public function getRecursiveIterator($uri, $flags = null)
    {
        return new RecursiveUniformResourceIterator($uri, $flags, $this);
    }

    /**
     * Reset locator by removing all the schemes.
     *
     * @return $this
     */
    public function reset()
    {
        $this->schemes = [];
        $this->cache = [];

        return $this;
    }

    /**
     * Reset a locator scheme
     *
     * @param string $scheme The scheme to reset
     *
     * @return $this
     */
    public function resetScheme($scheme)
    {
        $this->schemes[$scheme] = [];
        $this->cache = [];

        return $this;
    }

    /**
     * Add new paths to the scheme.
     *
     * @param string $scheme
     * @param string $prefix
     * @param string|array $paths
     * @param bool|string  $override  True to add path as override, string
     * @param bool  $force     True to add paths even if them do not exist.
     * @throws \BadMethodCallException
     */
    public function addPath($scheme, $prefix, $paths, $override = false, $force = false)
    {
        $list = [];
        foreach((array) $paths as $path) {
            if (\is_array($path)) {
                // Support stream lookup in ['theme', 'path/to'] format.
                if (\count($path) !== 2 || !\is_string($path[0]) || !\is_string($path[1])) {
                    throw new \BadMethodCallException('Invalid stream path given.');
                }
                $list[] = $path;
            } elseif (false !== strpos($path, '://')) {
                // Support stream lookup in 'theme://path/to' format.
                $stream = explode('://', $path, 2);
                $stream[1] = trim($stream[1], '/');

                $list[] = $stream;
            } else {
                // Normalize path.
                $path = rtrim(str_replace('\\', '/', $path), '/');
                if ($force || @file_exists("{$this->base}/{$path}") || @file_exists($path)) {
                    // Support for absolute and relative paths.
                    $list[] = $path;
                }
            }
        }

        if (isset($this->schemes[$scheme][$prefix])) {
            $paths = $this->schemes[$scheme][$prefix];
            if (!$override || $override == 1) {
                $list = $override ? array_merge($paths, $list) : array_merge($list, $paths);
            } else {
                $location = array_search($override, $paths, true) ?: \count($paths);
                array_splice($paths, $location, 0, $list);
                $list = $paths;
            }
        }

        $this->schemes[$scheme][$prefix] = $list;

        // Sort in reverse order to get longer prefixes to be matched first.
        krsort($this->schemes[$scheme]);

        $this->cache = [];
    }

    /**
     * Return base directory.
     *
     * @return string
     */
    public function getBase()
    {
        return $this->base;
    }


    /**
     * Return true if scheme has been defined.
     *
     * @param string $name
     * @return bool
     */
    public function schemeExists($name)
    {
        return isset($this->schemes[$name]);
    }

    /**
     * Return defined schemes.
     *
     * @return array
     */
    public function getSchemes()
    {
        return array_keys($this->schemes);
    }

    /**
     * Return all scheme lookup paths.
     *
     * @param string $scheme
     * @return array
     */
    public function getPaths($scheme = null)
    {
        return !$scheme ? $this->schemes : (isset($this->schemes[$scheme]) ? $this->schemes[$scheme] : []);
    }

    /**
     * @param  string $uri
     * @return string|bool
     * @throws \BadMethodCallException
     */
    public function __invoke($uri)
    {
        if (!\is_string($uri)) {
            throw new \BadMethodCallException('Invalid parameter $uri.');
        }
        return $this->findCached($uri, false, true, false);
    }

    /**
     * Returns true if uri is resolvable by using locator.
     *
     * @param  string $uri
     * @return bool
     */
    public function isStream($uri)
    {
        try {
            list ($scheme,) = $this->normalize($uri, true, true);
        } catch (\Exception $e) {
            return false;
        }

        return $this->schemeExists($scheme);
    }

    /**
     * Returns the canonicalized URI on success. The resulting path will have no '/./' or '/../' components.
     * Trailing delimiter `/` is kept.
     *
     * By default (if $throwException parameter is not set to true) returns false on failure.
     *
     * @param string $uri
     * @param bool $throwException
     * @param bool $splitStream
     * @return string|array|bool
     * @throws \BadMethodCallException
     */
    public function normalize($uri, $throwException = false, $splitStream = false)
    {
        if (!\is_string($uri)) {
            if ($throwException) {
                throw new \BadMethodCallException('Invalid parameter $uri.');
            }

            return false;
        }

        $uri = preg_replace('|\\\|u', '/', $uri);
        $segments = explode('://', $uri, 2);
        $path = array_pop($segments);
        $scheme = array_pop($segments) ?: 'file';

        if ($path) {
            $path = preg_replace('|\\\|u', '/', $path);
            $parts = explode('/', $path);

            $list = [];
            foreach ($parts as $i => $part) {
                if ($part === '..') {
                    $part = array_pop($list);
                    if ($part === null || $part === '' || (!$list && strpos($part, ':'))) {
                        if ($throwException) {
                            throw new \BadMethodCallException('Invalid parameter $uri.');
                        }

                        return false;
                    }
                } elseif (($i && $part === '') || $part === '.') {
                    continue;
                } else {
                    $list[] = $part;
                }
            }

            if (($l = end($parts)) === '' || $l === '.' || $l === '..') {
                $list[] = '';
            }

            $path = implode('/', $list);
        }

        return $splitStream ? [$scheme, $path] : ($scheme !== 'file' ? "{$scheme}://{$path}" : $path);
    }

    /**
     * Find highest priority instance from a resource.
     *
     * @param  string $uri      Input URI to be searched.
     * @param  bool   $absolute Whether to return absolute path.
     * @param  bool   $first    Whether to return first path even if it doesn't exist.
     * @throws \BadMethodCallException
     * @return string|bool
     */
    public function findResource($uri, $absolute = true, $first = false)
    {
        if (!\is_string($uri)) {
            throw new \BadMethodCallException('Invalid parameter $uri.');
        }
        return $this->findCached($uri, false, $absolute, $first);
    }

    /**
     * Find all instances from a resource.
     *
     * @param  string $uri      Input URI to be searched.
     * @param  bool   $absolute Whether to return absolute path.
     * @param  bool   $all      Whether to return all paths even if they don't exist.
     * @throws \BadMethodCallException
     * @return array
     */
    public function findResources($uri, $absolute = true, $all = false)
    {
        if (!\is_string($uri)) {
            throw new \BadMethodCallException('Invalid parameter $uri.');
        }

        return $this->findCached($uri, true, $absolute, $all);
    }

    /**
     * Find all instances from a list of resources.
     *
     * @param  array  $uris     Input URIs to be searched.
     * @param  bool   $absolute Whether to return absolute path.
     * @param  bool   $all      Whether to return all paths even if they don't exist.
     * @throws \BadMethodCallException
     * @return array
     */
    public function mergeResources(array $uris, $absolute = true, $all = false)
    {
        $uris = array_unique($uris);

        $lists = [[]];
        foreach ($uris as $uri) {
            $lists[] = $this->findResources($uri, $absolute, $all);
        }

        // TODO: In PHP 5.6+ use array_merge(...$list);
        return call_user_func_array('array_merge', $lists);
    }

    /**
     * Pre-fill cache by a stream.
     *
     * @param string $uri
     * @return $this
     */
    public function fillCache($uri)
    {
        $cacheKey = $uri . '@cache';

        if (!isset($this->cache[$cacheKey])) {
            $this->cache[$cacheKey] = true;

            $iterator = new \RecursiveIteratorIterator($this->getRecursiveIterator($uri), \RecursiveIteratorIterator::SELF_FIRST);

            /** @var UniformResourceIterator $uri */
            foreach ($iterator as $item) {
                $key = $item->getUrl() . '@010';
                $this->cache[$key] = $item->getPathname();
            }
        }

        return $this;
    }

    /**
     * Reset locator cache.
     *
     * @param string $uri
     * @return $this
     */
    public function clearCache($uri = null)
    {
        if ($uri) {
            $this->clearCached($uri, true, true, true);
            $this->clearCached($uri, true, true, false);
            $this->clearCached($uri, true, false, true);
            $this->clearCached($uri, true, false, false);
            $this->clearCached($uri, false, true, true);
            $this->clearCached($uri, false, true, false);
            $this->clearCached($uri, false, false, true);
            $this->clearCached($uri, false, false, false);
        } else {
            $this->cache = [];
        }

        return $this;
    }

    /**
     * @param string $uri
     * @param bool $array
     * @param bool $absolute
     * @param bool $all
     * @return array|string|bool
     * @throws \BadMethodCallException
     */
    protected function findCached($uri, $array, $absolute, $all)
    {
        // Local caching: make sure that the function gets only called at once for each file.
        $key = $uri .'@'. (int) $array . (int) $absolute . (int) $all;

        if (!isset($this->cache[$key])) {
            try {
                list ($scheme, $file) = $this->normalize($uri, true, true);

                if (!$file && $scheme === 'file') {
                    $file = $this->base;
                }

                $this->cache[$key] = $this->find($scheme, $file, $array, $absolute, $all);

            } catch (\BadMethodCallException $e) {
                $this->cache[$key] =  $array ? [] : false;
            }
        }

        return $this->cache[$key];
    }

    protected function clearCached($uri, $array, $absolute, $all)
    {
        // Local caching: make sure that the function gets only called at once for each file.
        $key = $uri .'@'. (int) $array . (int) $absolute . (int) $all;

        unset($this->cache[$key]);
    }

    /**
     * @param  string $scheme
     * @param  string $file
     * @param  bool $array
     * @param  bool $absolute
     * @param  bool $all
     *
     * @throws \InvalidArgumentException
     * @return array|string|bool
     * @internal
     */
    protected function find($scheme, $file, $array, $absolute, $all)
    {
        if (!isset($this->schemes[$scheme])) {
            throw new \InvalidArgumentException("Invalid resource {$scheme}://");
        }

        $results = $array ? [] : false;
        foreach ($this->schemes[$scheme] as $prefix => $paths) {
            if ($prefix && strpos($file, $prefix) !== 0) {
                continue;
            }

            // Remove prefix from filename.
            $filename = '/' . trim(substr($file, \strlen($prefix)), '\/');

            foreach ($paths as $path) {
                if (\is_array($path)) {
                    // Handle scheme lookup.
                    $relPath = trim($path[1] . $filename, '/');
                    $found = $this->find($path[0], $relPath, $array, $absolute, $all);
                    if ($found) {
                        if (!$array) {
                            return $found;
                        }
                        $results = array_merge($results, $found);
                    }
                } else {
                    // TODO: We could provide some extra information about the path to remove preg_match().
                    // Check absolute paths for both unix and windows
                    if (!$path || !preg_match('`^/|\w+:`', $path)) {
                        // Handle relative path lookup.
                        $relPath = trim($path . $filename, '/');
                        $fullPath = $this->base . '/' . $relPath;
                    } else {
                        // Handle absolute path lookup.
                        $fullPath = rtrim($path . $filename, '/');
                        if (!$absolute) {
                            throw new \RuntimeException("UniformResourceLocator: Absolute stream path with relative lookup not allowed ({$prefix})", 500);
                        }
                    }

                    if ($all || file_exists($fullPath)) {
                        $current = $absolute ? $fullPath : $relPath;
                        if (!$array) {
                            return $current;
                        }
                        $results[] = $current;
                    }
                }
            }
        }

        return $results;
    }
}
vendor/rockettheme/toolbox/ResourceLocator/src/RecursiveUniformResourceIterator.php000060400000002315150750356260025213 0ustar00<?php
namespace RocketTheme\Toolbox\ResourceLocator;

/**
 * Implements recursive iterator over filesystem.
 *
 * @package RocketTheme\Toolbox\ResourceLocator
 * @author RocketTheme
 * @license MIT
 */
class RecursiveUniformResourceIterator extends UniformResourceIterator implements \SeekableIterator, \RecursiveIterator
{
    protected $subPath;

    public function getChildren()
    {
        $subPath = $this->getSubPathName();

        return (new static($this->getUrl(), $this->flags, $this->locator))->setSubPath($subPath);
    }

    public function hasChildren($allow_links = null)
    {
        $allow_links = (bool) ($allow_links !== null ? $allow_links : $this->flags & \FilesystemIterator::FOLLOW_SYMLINKS);

        return $this->iterator && $this->isDir() && !$this->isDot() && ($allow_links || !$this->isLink());
    }

    public function getSubPath()
    {
        return $this->subPath;
    }

    public function getSubPathName()
    {
        return ($this->subPath ? $this->subPath . '/' : '') . $this->getFilename();
    }

    /**
     * @param $path
     * @return $this
     * @internal
     */
    public function setSubPath($path)
    {
        $this->subPath = $path;

        return $this;
    }
}
vendor/rockettheme/toolbox/ResourceLocator/src/ResourceLocatorInterface.php000060400000001647150750356260023425 0ustar00<?php

namespace RocketTheme\Toolbox\ResourceLocator;

/**
 * Defines ResourceLocatorInterface.
 *
 * @package RocketTheme\Toolbox\ResourceLocator
 * @author RocketTheme
 * @license MIT
 */
interface ResourceLocatorInterface
{
    /**
     * Alias for findResource()
     *
     * @param $uri
     * @return string|bool
     */
    public function __invoke($uri);

    /**
     * Returns true if uri is resolvable by using locator.
     *
     * @param  string $uri
     * @return bool
     */
    public function isStream($uri);

    /**
     * @param  string $uri
     * @param  bool   $absolute
     * @param  bool   $first
     * @return string|bool
     */
    public function findResource($uri, $absolute = true, $first = false);

    /**
     * @param  string $uri
     * @param  bool   $absolute
     * @param  bool   $all
     * @return array
     */
    public function findResources($uri, $absolute = true, $all = false);
}
vendor/symfony/yaml/Unescaper.php000060400000010516150750356260013155 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\Yaml;

/**
 * Unescaper encapsulates unescaping rules for single and double-quoted
 * YAML strings.
 *
 * @author Matthew Lewinski <matthew@lewinski.org>
 *
 * @internal
 */
class Unescaper
{
    /**
     * Parser and Inline assume UTF-8 encoding, so escaped Unicode characters
     * must be converted to that encoding.
     *
     * @deprecated since version 2.5, to be removed in 3.0
     *
     * @internal
     */
    const ENCODING = 'UTF-8';

    /**
     * Regex fragment that matches an escaped character in a double quoted string.
     */
    const REGEX_ESCAPED_CHARACTER = '\\\\(x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|.)';

    /**
     * Unescapes a single quoted string.
     *
     * @param string $value A single quoted string
     *
     * @return string The unescaped string
     */
    public function unescapeSingleQuotedString($value)
    {
        return str_replace('\'\'', '\'', $value);
    }

    /**
     * Unescapes a double quoted string.
     *
     * @param string $value A double quoted string
     *
     * @return string The unescaped string
     */
    public function unescapeDoubleQuotedString($value)
    {
        $self = $this;
        $callback = function ($match) use ($self) {
            return $self->unescapeCharacter($match[0]);
        };

        // evaluate the string
        return preg_replace_callback('/'.self::REGEX_ESCAPED_CHARACTER.'/u', $callback, $value);
    }

    /**
     * Unescapes a character that was found in a double-quoted string.
     *
     * @param string $value An escaped character
     *
     * @return string The unescaped character
     *
     * @internal This method is public to be usable as callback. It should not
     *           be used in user code. Should be changed in 3.0.
     */
    public function unescapeCharacter($value)
    {
        switch ($value[1]) {
            case '0':
                return "\x0";
            case 'a':
                return "\x7";
            case 'b':
                return "\x8";
            case 't':
                return "\t";
            case "\t":
                return "\t";
            case 'n':
                return "\n";
            case 'v':
                return "\xB";
            case 'f':
                return "\xC";
            case 'r':
                return "\r";
            case 'e':
                return "\x1B";
            case ' ':
                return ' ';
            case '"':
                return '"';
            case '/':
                return '/';
            case '\\':
                return '\\';
            case 'N':
                // U+0085 NEXT LINE
                return "\xC2\x85";
            case '_':
                // U+00A0 NO-BREAK SPACE
                return "\xC2\xA0";
            case 'L':
                // U+2028 LINE SEPARATOR
                return "\xE2\x80\xA8";
            case 'P':
                // U+2029 PARAGRAPH SEPARATOR
                return "\xE2\x80\xA9";
            case 'x':
                return self::utf8chr(hexdec(substr($value, 2, 2)));
            case 'u':
                return self::utf8chr(hexdec(substr($value, 2, 4)));
            case 'U':
                return self::utf8chr(hexdec(substr($value, 2, 8)));
            default:
                @trigger_error('Not escaping a backslash in a double-quoted string is deprecated since Symfony 2.8 and will throw a ParseException in 3.0.', E_USER_DEPRECATED);

                return $value;
        }
    }

    /**
     * Get the UTF-8 character for the given code point.
     *
     * @param int $c The unicode code point
     *
     * @return string The corresponding UTF-8 character
     */
    private static function utf8chr($c)
    {
        if (0x80 > $c %= 0x200000) {
            return \chr($c);
        }
        if (0x800 > $c) {
            return \chr(0xC0 | $c >> 6).\chr(0x80 | $c & 0x3F);
        }
        if (0x10000 > $c) {
            return \chr(0xE0 | $c >> 12).\chr(0x80 | $c >> 6 & 0x3F).\chr(0x80 | $c & 0x3F);
        }

        return \chr(0xF0 | $c >> 18).\chr(0x80 | $c >> 12 & 0x3F).\chr(0x80 | $c >> 6 & 0x3F).\chr(0x80 | $c & 0x3F);
    }
}
vendor/symfony/yaml/composer.json000060400000001427150750356260013242 0ustar00{
    "name": "symfony/yaml",
    "type": "library",
    "description": "Symfony Yaml Component",
    "keywords": [],
    "homepage": "https://symfony.com",
    "license": "MIT",
    "authors": [
        {
            "name": "Fabien Potencier",
            "email": "fabien@symfony.com"
        },
        {
            "name": "Symfony Community",
            "homepage": "https://symfony.com/contributors"
        }
    ],
    "require": {
        "php": ">=5.3.9",
        "symfony/polyfill-ctype": "~1.8"
    },
    "autoload": {
        "psr-4": { "Symfony\\Component\\Yaml\\": "" },
        "exclude-from-classmap": [
            "/Tests/"
        ]
    },
    "minimum-stability": "dev",
    "extra": {
        "branch-alias": {
            "dev-master": "2.8-dev"
        }
    }
}
vendor/symfony/yaml/Escaper.php000060400000007550150750356260012616 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\Yaml;

/**
 * Escaper encapsulates escaping rules for single and double-quoted
 * YAML strings.
 *
 * @author Matthew Lewinski <matthew@lewinski.org>
 *
 * @internal
 */
class Escaper
{
    // Characters that would cause a dumped string to require double quoting.
    const REGEX_CHARACTER_TO_ESCAPE = "[\\x00-\\x1f]|\xc2\x85|\xc2\xa0|\xe2\x80\xa8|\xe2\x80\xa9";

    // Mapping arrays for escaping a double quoted string. The backslash is
    // first to ensure proper escaping because str_replace operates iteratively
    // on the input arrays. This ordering of the characters avoids the use of strtr,
    // which performs more slowly.
    private static $escapees = array('\\', '\\\\', '\\"', '"',
                                     "\x00",  "\x01",  "\x02",  "\x03",  "\x04",  "\x05",  "\x06",  "\x07",
                                     "\x08",  "\x09",  "\x0a",  "\x0b",  "\x0c",  "\x0d",  "\x0e",  "\x0f",
                                     "\x10",  "\x11",  "\x12",  "\x13",  "\x14",  "\x15",  "\x16",  "\x17",
                                     "\x18",  "\x19",  "\x1a",  "\x1b",  "\x1c",  "\x1d",  "\x1e",  "\x1f",
                                     "\xc2\x85", "\xc2\xa0", "\xe2\x80\xa8", "\xe2\x80\xa9",
                               );
    private static $escaped = array('\\\\', '\\"', '\\\\', '\\"',
                                     '\\0',   '\\x01', '\\x02', '\\x03', '\\x04', '\\x05', '\\x06', '\\a',
                                     '\\b',   '\\t',   '\\n',   '\\v',   '\\f',   '\\r',   '\\x0e', '\\x0f',
                                     '\\x10', '\\x11', '\\x12', '\\x13', '\\x14', '\\x15', '\\x16', '\\x17',
                                     '\\x18', '\\x19', '\\x1a', '\\e',   '\\x1c', '\\x1d', '\\x1e', '\\x1f',
                                     '\\N', '\\_', '\\L', '\\P',
                              );

    /**
     * Determines if a PHP value would require double quoting in YAML.
     *
     * @param string $value A PHP value
     *
     * @return bool True if the value would require double quotes
     */
    public static function requiresDoubleQuoting($value)
    {
        return 0 < preg_match('/'.self::REGEX_CHARACTER_TO_ESCAPE.'/u', $value);
    }

    /**
     * Escapes and surrounds a PHP value with double quotes.
     *
     * @param string $value A PHP value
     *
     * @return string The quoted, escaped string
     */
    public static function escapeWithDoubleQuotes($value)
    {
        return sprintf('"%s"', str_replace(self::$escapees, self::$escaped, $value));
    }

    /**
     * Determines if a PHP value would require single quoting in YAML.
     *
     * @param string $value A PHP value
     *
     * @return bool True if the value would require single quotes
     */
    public static function requiresSingleQuoting($value)
    {
        // Determines if a PHP value is entirely composed of a value that would
        // require single quoting in YAML.
        if (\in_array(strtolower($value), array('null', '~', 'true', 'false', 'y', 'n', 'yes', 'no', 'on', 'off'))) {
            return true;
        }

        // Determines if the PHP value contains any single characters that would
        // cause it to require single quoting in YAML.
        return 0 < preg_match('/[ \s \' " \: \{ \} \[ \] , & \* \# \?] | \A[ \- ? | < > = ! % @ ` ]/x', $value);
    }

    /**
     * Escapes and surrounds a PHP value with single quotes.
     *
     * @param string $value A PHP value
     *
     * @return string The quoted, escaped string
     */
    public static function escapeWithSingleQuotes($value)
    {
        return sprintf("'%s'", str_replace('\'', '\'\'', $value));
    }
}
vendor/symfony/yaml/Exception/ParseException.php000060400000006771150750356260016127 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\Yaml\Exception;

/**
 * Exception class thrown when an error occurs during parsing.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class ParseException extends RuntimeException
{
    private $parsedFile;
    private $parsedLine;
    private $snippet;
    private $rawMessage;

    /**
     * @param string          $message    The error message
     * @param int             $parsedLine The line where the error occurred
     * @param string|null     $snippet    The snippet of code near the problem
     * @param string|null     $parsedFile The file name where the error occurred
     * @param \Exception|null $previous   The previous exception
     */
    public function __construct($message, $parsedLine = -1, $snippet = null, $parsedFile = null, \Exception $previous = null)
    {
        $this->parsedFile = $parsedFile;
        $this->parsedLine = $parsedLine;
        $this->snippet = $snippet;
        $this->rawMessage = $message;

        $this->updateRepr();

        parent::__construct($this->message, 0, $previous);
    }

    /**
     * Gets the snippet of code near the error.
     *
     * @return string The snippet of code
     */
    public function getSnippet()
    {
        return $this->snippet;
    }

    /**
     * Sets the snippet of code near the error.
     *
     * @param string $snippet The code snippet
     */
    public function setSnippet($snippet)
    {
        $this->snippet = $snippet;

        $this->updateRepr();
    }

    /**
     * Gets the filename where the error occurred.
     *
     * This method returns null if a string is parsed.
     *
     * @return string The filename
     */
    public function getParsedFile()
    {
        return $this->parsedFile;
    }

    /**
     * Sets the filename where the error occurred.
     *
     * @param string $parsedFile The filename
     */
    public function setParsedFile($parsedFile)
    {
        $this->parsedFile = $parsedFile;

        $this->updateRepr();
    }

    /**
     * Gets the line where the error occurred.
     *
     * @return int The file line
     */
    public function getParsedLine()
    {
        return $this->parsedLine;
    }

    /**
     * Sets the line where the error occurred.
     *
     * @param int $parsedLine The file line
     */
    public function setParsedLine($parsedLine)
    {
        $this->parsedLine = $parsedLine;

        $this->updateRepr();
    }

    private function updateRepr()
    {
        $this->message = $this->rawMessage;

        $dot = false;
        if ('.' === substr($this->message, -1)) {
            $this->message = substr($this->message, 0, -1);
            $dot = true;
        }

        if (null !== $this->parsedFile) {
            if (\PHP_VERSION_ID >= 50400) {
                $jsonOptions = JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE;
            } else {
                $jsonOptions = 0;
            }
            $this->message .= sprintf(' in %s', json_encode($this->parsedFile, $jsonOptions));
        }

        if ($this->parsedLine >= 0) {
            $this->message .= sprintf(' at line %d', $this->parsedLine);
        }

        if ($this->snippet) {
            $this->message .= sprintf(' (near "%s")', $this->snippet);
        }

        if ($dot) {
            $this->message .= '.';
        }
    }
}
vendor/symfony/yaml/Exception/ExceptionInterface.php000060400000000673150750356260016750 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\Yaml\Exception;

/**
 * Exception interface for all exceptions thrown by the component.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
interface ExceptionInterface
{
}
vendor/symfony/yaml/Exception/DumpException.php000060400000000707150750356260015753 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\Yaml\Exception;

/**
 * Exception class thrown when an error occurs during dumping.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class DumpException extends RuntimeException
{
}
vendor/symfony/yaml/Exception/RuntimeException.php000060400000000745150750356260016473 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\Yaml\Exception;

/**
 * Exception class thrown when an error occurs during parsing.
 *
 * @author Romain Neutron <imprec@gmail.com>
 */
class RuntimeException extends \RuntimeException implements ExceptionInterface
{
}
vendor/symfony/yaml/Inline.php000060400000053711150750356260012452 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\Yaml;

use Symfony\Component\Yaml\Exception\DumpException;
use Symfony\Component\Yaml\Exception\ParseException;

/**
 * Inline implements a YAML parser/dumper for the YAML inline syntax.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class Inline
{
    const REGEX_QUOTED_STRING = '(?:"([^"\\\\]*+(?:\\\\.[^"\\\\]*+)*+)"|\'([^\']*+(?:\'\'[^\']*+)*+)\')';

    private static $exceptionOnInvalidType = false;
    private static $objectSupport = false;
    private static $objectForMap = false;

    /**
     * Converts a YAML string to a PHP value.
     *
     * @param string $value                  A YAML string
     * @param bool   $exceptionOnInvalidType True if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
     * @param bool   $objectSupport          True if object support is enabled, false otherwise
     * @param bool   $objectForMap           True if maps should return a stdClass instead of array()
     * @param array  $references             Mapping of variable names to values
     *
     * @return mixed A PHP value
     *
     * @throws ParseException
     */
    public static function parse($value, $exceptionOnInvalidType = false, $objectSupport = false, $objectForMap = false, $references = array())
    {
        self::$exceptionOnInvalidType = $exceptionOnInvalidType;
        self::$objectSupport = $objectSupport;
        self::$objectForMap = $objectForMap;

        $value = trim($value);

        if ('' === $value) {
            return '';
        }

        if (2 /* MB_OVERLOAD_STRING */ & (int) ini_get('mbstring.func_overload')) {
            $mbEncoding = mb_internal_encoding();
            mb_internal_encoding('ASCII');
        }

        $i = 0;
        switch ($value[0]) {
            case '[':
                $result = self::parseSequence($value, $i, $references);
                ++$i;
                break;
            case '{':
                $result = self::parseMapping($value, $i, $references);
                ++$i;
                break;
            default:
                $result = self::parseScalar($value, null, array('"', "'"), $i, true, $references);
        }

        // some comments are allowed at the end
        if (preg_replace('/\s+#.*$/A', '', substr($value, $i))) {
            throw new ParseException(sprintf('Unexpected characters near "%s".', substr($value, $i)));
        }

        if (isset($mbEncoding)) {
            mb_internal_encoding($mbEncoding);
        }

        return $result;
    }

    /**
     * Dumps a given PHP variable to a YAML string.
     *
     * @param mixed $value                  The PHP variable to convert
     * @param bool  $exceptionOnInvalidType True if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
     * @param bool  $objectSupport          True if object support is enabled, false otherwise
     *
     * @return string The YAML string representing the PHP value
     *
     * @throws DumpException When trying to dump PHP resource
     */
    public static function dump($value, $exceptionOnInvalidType = false, $objectSupport = false)
    {
        switch (true) {
            case \is_resource($value):
                if ($exceptionOnInvalidType) {
                    throw new DumpException(sprintf('Unable to dump PHP resources in a YAML file ("%s").', get_resource_type($value)));
                }

                return 'null';
            case \is_object($value):
                if ($objectSupport) {
                    return '!php/object:'.serialize($value);
                }

                if ($exceptionOnInvalidType) {
                    throw new DumpException('Object support when dumping a YAML file has been disabled.');
                }

                return 'null';
            case \is_array($value):
                return self::dumpArray($value, $exceptionOnInvalidType, $objectSupport);
            case null === $value:
                return 'null';
            case true === $value:
                return 'true';
            case false === $value:
                return 'false';
            case ctype_digit($value):
                return \is_string($value) ? "'$value'" : (int) $value;
            case is_numeric($value):
                $locale = setlocale(LC_NUMERIC, 0);
                if (false !== $locale) {
                    setlocale(LC_NUMERIC, 'C');
                }
                if (\is_float($value)) {
                    $repr = (string) $value;
                    if (is_infinite($value)) {
                        $repr = str_ireplace('INF', '.Inf', $repr);
                    } elseif (floor($value) == $value && $repr == $value) {
                        // Preserve float data type since storing a whole number will result in integer value.
                        $repr = '!!float '.$repr;
                    }
                } else {
                    $repr = \is_string($value) ? "'$value'" : (string) $value;
                }
                if (false !== $locale) {
                    setlocale(LC_NUMERIC, $locale);
                }

                return $repr;
            case '' == $value:
                return "''";
            case Escaper::requiresDoubleQuoting($value):
                return Escaper::escapeWithDoubleQuotes($value);
            case Escaper::requiresSingleQuoting($value):
            case Parser::preg_match(self::getHexRegex(), $value):
            case Parser::preg_match(self::getTimestampRegex(), $value):
                return Escaper::escapeWithSingleQuotes($value);
            default:
                return $value;
        }
    }

    /**
     * Check if given array is hash or just normal indexed array.
     *
     * @internal
     *
     * @param array $value The PHP array to check
     *
     * @return bool true if value is hash array, false otherwise
     */
    public static function isHash(array $value)
    {
        $expectedKey = 0;

        foreach ($value as $key => $val) {
            if ($key !== $expectedKey++) {
                return true;
            }
        }

        return false;
    }

    /**
     * Dumps a PHP array to a YAML string.
     *
     * @param array $value                  The PHP array to dump
     * @param bool  $exceptionOnInvalidType True if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
     * @param bool  $objectSupport          True if object support is enabled, false otherwise
     *
     * @return string The YAML string representing the PHP array
     */
    private static function dumpArray($value, $exceptionOnInvalidType, $objectSupport)
    {
        // array
        if ($value && !self::isHash($value)) {
            $output = array();
            foreach ($value as $val) {
                $output[] = self::dump($val, $exceptionOnInvalidType, $objectSupport);
            }

            return sprintf('[%s]', implode(', ', $output));
        }

        // hash
        $output = array();
        foreach ($value as $key => $val) {
            $output[] = sprintf('%s: %s', self::dump($key, $exceptionOnInvalidType, $objectSupport), self::dump($val, $exceptionOnInvalidType, $objectSupport));
        }

        return sprintf('{ %s }', implode(', ', $output));
    }

    /**
     * Parses a YAML scalar.
     *
     * @param string   $scalar
     * @param string[] $delimiters
     * @param string[] $stringDelimiters
     * @param int      &$i
     * @param bool     $evaluate
     * @param array    $references
     *
     * @return string
     *
     * @throws ParseException When malformed inline YAML string is parsed
     *
     * @internal
     */
    public static function parseScalar($scalar, $delimiters = null, $stringDelimiters = array('"', "'"), &$i = 0, $evaluate = true, $references = array())
    {
        if (\in_array($scalar[$i], $stringDelimiters)) {
            // quoted scalar
            $output = self::parseQuotedScalar($scalar, $i);

            if (null !== $delimiters) {
                $tmp = ltrim(substr($scalar, $i), ' ');
                if ('' === $tmp) {
                    throw new ParseException(sprintf('Unexpected end of line, expected one of "%s".', implode('', $delimiters)));
                }
                if (!\in_array($tmp[0], $delimiters)) {
                    throw new ParseException(sprintf('Unexpected characters (%s).', substr($scalar, $i)));
                }
            }
        } else {
            // "normal" string
            if (!$delimiters) {
                $output = substr($scalar, $i);
                $i += \strlen($output);

                // remove comments
                if (Parser::preg_match('/[ \t]+#/', $output, $match, PREG_OFFSET_CAPTURE)) {
                    $output = substr($output, 0, $match[0][1]);
                }
            } elseif (Parser::preg_match('/^(.+?)('.implode('|', $delimiters).')/', substr($scalar, $i), $match)) {
                $output = $match[1];
                $i += \strlen($output);
            } else {
                throw new ParseException(sprintf('Malformed inline YAML string: %s.', $scalar));
            }

            // a non-quoted string cannot start with @ or ` (reserved) nor with a scalar indicator (| or >)
            if ($output && ('@' === $output[0] || '`' === $output[0] || '|' === $output[0] || '>' === $output[0])) {
                @trigger_error(sprintf('Not quoting the scalar "%s" starting with "%s" is deprecated since Symfony 2.8 and will throw a ParseException in 3.0.', $output, $output[0]), E_USER_DEPRECATED);

                // to be thrown in 3.0
                // throw new ParseException(sprintf('The reserved indicator "%s" cannot start a plain scalar; you need to quote the scalar.', $output[0]));
            }

            if ($evaluate) {
                $output = self::evaluateScalar($output, $references);
            }
        }

        return $output;
    }

    /**
     * Parses a YAML quoted scalar.
     *
     * @param string $scalar
     * @param int    &$i
     *
     * @return string
     *
     * @throws ParseException When malformed inline YAML string is parsed
     */
    private static function parseQuotedScalar($scalar, &$i)
    {
        if (!Parser::preg_match('/'.self::REGEX_QUOTED_STRING.'/Au', substr($scalar, $i), $match)) {
            throw new ParseException(sprintf('Malformed inline YAML string: %s.', substr($scalar, $i)));
        }

        $output = substr($match[0], 1, \strlen($match[0]) - 2);

        $unescaper = new Unescaper();
        if ('"' == $scalar[$i]) {
            $output = $unescaper->unescapeDoubleQuotedString($output);
        } else {
            $output = $unescaper->unescapeSingleQuotedString($output);
        }

        $i += \strlen($match[0]);

        return $output;
    }

    /**
     * Parses a YAML sequence.
     *
     * @param string $sequence
     * @param int    &$i
     * @param array  $references
     *
     * @return array
     *
     * @throws ParseException When malformed inline YAML string is parsed
     */
    private static function parseSequence($sequence, &$i = 0, $references = array())
    {
        $output = array();
        $len = \strlen($sequence);
        ++$i;

        // [foo, bar, ...]
        while ($i < $len) {
            switch ($sequence[$i]) {
                case '[':
                    // nested sequence
                    $output[] = self::parseSequence($sequence, $i, $references);
                    break;
                case '{':
                    // nested mapping
                    $output[] = self::parseMapping($sequence, $i, $references);
                    break;
                case ']':
                    return $output;
                case ',':
                case ' ':
                    break;
                default:
                    $isQuoted = \in_array($sequence[$i], array('"', "'"));
                    $value = self::parseScalar($sequence, array(',', ']'), array('"', "'"), $i, true, $references);

                    // the value can be an array if a reference has been resolved to an array var
                    if (!\is_array($value) && !$isQuoted && false !== strpos($value, ': ')) {
                        // embedded mapping?
                        try {
                            $pos = 0;
                            $value = self::parseMapping('{'.$value.'}', $pos, $references);
                        } catch (\InvalidArgumentException $e) {
                            // no, it's not
                        }
                    }

                    $output[] = $value;

                    --$i;
            }

            ++$i;
        }

        throw new ParseException(sprintf('Malformed inline YAML string: %s.', $sequence));
    }

    /**
     * Parses a YAML mapping.
     *
     * @param string $mapping
     * @param int    &$i
     * @param array  $references
     *
     * @return array|\stdClass
     *
     * @throws ParseException When malformed inline YAML string is parsed
     */
    private static function parseMapping($mapping, &$i = 0, $references = array())
    {
        $output = array();
        $len = \strlen($mapping);
        ++$i;
        $allowOverwrite = false;

        // {foo: bar, bar:foo, ...}
        while ($i < $len) {
            switch ($mapping[$i]) {
                case ' ':
                case ',':
                    ++$i;
                    continue 2;
                case '}':
                    if (self::$objectForMap) {
                        return (object) $output;
                    }

                    return $output;
            }

            // key
            $key = self::parseScalar($mapping, array(':', ' '), array('"', "'"), $i, false);

            if ('<<' === $key) {
                $allowOverwrite = true;
            }

            // value
            $done = false;

            while ($i < $len) {
                switch ($mapping[$i]) {
                    case '[':
                        // nested sequence
                        $value = self::parseSequence($mapping, $i, $references);
                        // Spec: Keys MUST be unique; first one wins.
                        // Parser cannot abort this mapping earlier, since lines
                        // are processed sequentially.
                        // But overwriting is allowed when a merge node is used in current block.
                        if ('<<' === $key) {
                            foreach ($value as $parsedValue) {
                                $output += $parsedValue;
                            }
                        } elseif ($allowOverwrite || !isset($output[$key])) {
                            $output[$key] = $value;
                        }
                        $done = true;
                        break;
                    case '{':
                        // nested mapping
                        $value = self::parseMapping($mapping, $i, $references);
                        // Spec: Keys MUST be unique; first one wins.
                        // Parser cannot abort this mapping earlier, since lines
                        // are processed sequentially.
                        // But overwriting is allowed when a merge node is used in current block.
                        if ('<<' === $key) {
                            $output += $value;
                        } elseif ($allowOverwrite || !isset($output[$key])) {
                            $output[$key] = $value;
                        }
                        $done = true;
                        break;
                    case ':':
                    case ' ':
                        break;
                    default:
                        $value = self::parseScalar($mapping, array(',', '}'), array('"', "'"), $i, true, $references);
                        // Spec: Keys MUST be unique; first one wins.
                        // Parser cannot abort this mapping earlier, since lines
                        // are processed sequentially.
                        // But overwriting is allowed when a merge node is used in current block.
                        if ('<<' === $key) {
                            $output += $value;
                        } elseif ($allowOverwrite || !isset($output[$key])) {
                            $output[$key] = $value;
                        }
                        $done = true;
                        --$i;
                }

                ++$i;

                if ($done) {
                    continue 2;
                }
            }
        }

        throw new ParseException(sprintf('Malformed inline YAML string: %s.', $mapping));
    }

    /**
     * Evaluates scalars and replaces magic values.
     *
     * @param string $scalar
     * @param array  $references
     *
     * @return mixed The evaluated YAML string
     *
     * @throws ParseException when object parsing support was disabled and the parser detected a PHP object or when a reference could not be resolved
     */
    private static function evaluateScalar($scalar, $references = array())
    {
        $scalar = trim($scalar);
        $scalarLower = strtolower($scalar);

        if (0 === strpos($scalar, '*')) {
            if (false !== $pos = strpos($scalar, '#')) {
                $value = substr($scalar, 1, $pos - 2);
            } else {
                $value = substr($scalar, 1);
            }

            // an unquoted *
            if (false === $value || '' === $value) {
                throw new ParseException('A reference must contain at least one character.');
            }

            if (!array_key_exists($value, $references)) {
                throw new ParseException(sprintf('Reference "%s" does not exist.', $value));
            }

            return $references[$value];
        }

        switch (true) {
            case 'null' === $scalarLower:
            case '' === $scalar:
            case '~' === $scalar:
                return;
            case 'true' === $scalarLower:
                return true;
            case 'false' === $scalarLower:
                return false;
            // Optimise for returning strings.
            case '+' === $scalar[0] || '-' === $scalar[0] || '.' === $scalar[0] || '!' === $scalar[0] || is_numeric($scalar[0]):
                switch (true) {
                    case 0 === strpos($scalar, '!str'):
                        return (string) substr($scalar, 5);
                    case 0 === strpos($scalar, '! '):
                        return (int) self::parseScalar(substr($scalar, 2));
                    case 0 === strpos($scalar, '!php/object:'):
                        if (self::$objectSupport) {
                            return unserialize(substr($scalar, 12));
                        }

                        if (self::$exceptionOnInvalidType) {
                            throw new ParseException('Object support when parsing a YAML file has been disabled.');
                        }

                        return;
                    case 0 === strpos($scalar, '!!php/object:'):
                        if (self::$objectSupport) {
                            return unserialize(substr($scalar, 13));
                        }

                        if (self::$exceptionOnInvalidType) {
                            throw new ParseException('Object support when parsing a YAML file has been disabled.');
                        }

                        return;
                    case 0 === strpos($scalar, '!!float '):
                        return (float) substr($scalar, 8);
                    case ctype_digit($scalar):
                        $raw = $scalar;
                        $cast = (int) $scalar;

                        return '0' == $scalar[0] ? octdec($scalar) : (((string) $raw == (string) $cast) ? $cast : $raw);
                    case '-' === $scalar[0] && ctype_digit(substr($scalar, 1)):
                        $raw = $scalar;
                        $cast = (int) $scalar;

                        return '0' == $scalar[1] ? octdec($scalar) : (((string) $raw === (string) $cast) ? $cast : $raw);
                    case is_numeric($scalar):
                    case Parser::preg_match(self::getHexRegex(), $scalar):
                        return '0x' === $scalar[0].$scalar[1] ? hexdec($scalar) : (float) $scalar;
                    case '.inf' === $scalarLower:
                    case '.nan' === $scalarLower:
                        return -log(0);
                    case '-.inf' === $scalarLower:
                        return log(0);
                    case Parser::preg_match('/^(-|\+)?[0-9,]+(\.[0-9]+)?$/', $scalar):
                        return (float) str_replace(',', '', $scalar);
                    case Parser::preg_match(self::getTimestampRegex(), $scalar):
                        $timeZone = date_default_timezone_get();
                        date_default_timezone_set('UTC');
                        $time = strtotime($scalar);
                        date_default_timezone_set($timeZone);

                        return $time;
                }
                // no break
            default:
                return (string) $scalar;
        }
    }

    /**
     * Gets a regex that matches a YAML date.
     *
     * @return string The regular expression
     *
     * @see http://www.yaml.org/spec/1.2/spec.html#id2761573
     */
    private static function getTimestampRegex()
    {
        return <<<EOF
        ~^
        (?P<year>[0-9][0-9][0-9][0-9])
        -(?P<month>[0-9][0-9]?)
        -(?P<day>[0-9][0-9]?)
        (?:(?:[Tt]|[ \t]+)
        (?P<hour>[0-9][0-9]?)
        :(?P<minute>[0-9][0-9])
        :(?P<second>[0-9][0-9])
        (?:\.(?P<fraction>[0-9]*))?
        (?:[ \t]*(?P<tz>Z|(?P<tz_sign>[-+])(?P<tz_hour>[0-9][0-9]?)
        (?::(?P<tz_minute>[0-9][0-9]))?))?)?
        $~x
EOF;
    }

    /**
     * Gets a regex that matches a YAML number in hexadecimal notation.
     *
     * @return string
     */
    private static function getHexRegex()
    {
        return '~^0x[0-9a-f]++$~i';
    }
}
vendor/symfony/yaml/Dumper.php000060400000004750150750356260012467 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\Yaml;

/**
 * Dumper dumps PHP variables to YAML strings.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class Dumper
{
    /**
     * The amount of spaces to use for indentation of nested nodes.
     *
     * @var int
     */
    protected $indentation = 4;

    /**
     * Sets the indentation.
     *
     * @param int $num The amount of spaces to use for indentation of nested nodes
     */
    public function setIndentation($num)
    {
        if ($num < 1) {
            throw new \InvalidArgumentException('The indentation must be greater than zero.');
        }

        $this->indentation = (int) $num;
    }

    /**
     * Dumps a PHP value to YAML.
     *
     * @param mixed $input                  The PHP value
     * @param int   $inline                 The level where you switch to inline YAML
     * @param int   $indent                 The level of indentation (used internally)
     * @param bool  $exceptionOnInvalidType True if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
     * @param bool  $objectSupport          True if object support is enabled, false otherwise
     *
     * @return string The YAML representation of the PHP value
     */
    public function dump($input, $inline = 0, $indent = 0, $exceptionOnInvalidType = false, $objectSupport = false)
    {
        $output = '';
        $prefix = $indent ? str_repeat(' ', $indent) : '';

        if ($inline <= 0 || !\is_array($input) || empty($input)) {
            $output .= $prefix.Inline::dump($input, $exceptionOnInvalidType, $objectSupport);
        } else {
            $isAHash = Inline::isHash($input);

            foreach ($input as $key => $value) {
                $willBeInlined = $inline - 1 <= 0 || !\is_array($value) || empty($value);

                $output .= sprintf('%s%s%s%s',
                    $prefix,
                    $isAHash ? Inline::dump($key, $exceptionOnInvalidType, $objectSupport).':' : '-',
                    $willBeInlined ? ' ' : "\n",
                    $this->dump($value, $inline - 1, $willBeInlined ? 0 : $indent + $this->indentation, $exceptionOnInvalidType, $objectSupport)
                ).($willBeInlined ? "\n" : '');
            }
        }

        return $output;
    }
}
vendor/symfony/yaml/Yaml.php000060400000007327150750356260012140 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\Yaml;

use Symfony\Component\Yaml\Exception\ParseException;

/**
 * Yaml offers convenience methods to load and dump YAML.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class Yaml
{
    /**
     * Parses YAML into a PHP value.
     *
     * Usage:
     *
     *     $array = Yaml::parse(file_get_contents('config.yml'));
     *     print_r($array);
     *
     * As this method accepts both plain strings and file names as an input,
     * you must validate the input before calling this method. Passing a file
     * as an input is a deprecated feature and will be removed in 3.0.
     *
     * Note: the ability to pass file names to the Yaml::parse method is deprecated since Symfony 2.2 and will be removed in 3.0. Pass the YAML contents of the file instead.
     *
     * @param string $input                  Path to a YAML file or a string containing YAML
     * @param bool   $exceptionOnInvalidType True if an exception must be thrown on invalid types false otherwise
     * @param bool   $objectSupport          True if object support is enabled, false otherwise
     * @param bool   $objectForMap           True if maps should return a stdClass instead of array()
     *
     * @return mixed The YAML converted to a PHP value
     *
     * @throws ParseException If the YAML is not valid
     */
    public static function parse($input, $exceptionOnInvalidType = false, $objectSupport = false, $objectForMap = false)
    {
        // if input is a file, process it
        $file = '';
        if (false === strpos($input, "\n") && is_file($input)) {
            @trigger_error('The ability to pass file names to the '.__METHOD__.' method is deprecated since Symfony 2.2 and will be removed in 3.0. Pass the YAML contents of the file instead.', E_USER_DEPRECATED);

            if (false === is_readable($input)) {
                throw new ParseException(sprintf('Unable to parse "%s" as the file is not readable.', $input));
            }

            $file = $input;
            $input = file_get_contents($file);
        }

        $yaml = new Parser();

        try {
            return $yaml->parse($input, $exceptionOnInvalidType, $objectSupport, $objectForMap);
        } catch (ParseException $e) {
            if ($file) {
                $e->setParsedFile($file);
            }

            throw $e;
        }
    }

    /**
     * Dumps a PHP value to a YAML string.
     *
     * The dump method, when supplied with an array, will do its best
     * to convert the array into friendly YAML.
     *
     * @param mixed $input                  The PHP value
     * @param int   $inline                 The level where you switch to inline YAML
     * @param int   $indent                 The amount of spaces to use for indentation of nested nodes
     * @param bool  $exceptionOnInvalidType True if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
     * @param bool  $objectSupport          True if object support is enabled, false otherwise
     *
     * @return string A YAML string representing the original PHP value
     */
    public static function dump($input, $inline = 2, $indent = 4, $exceptionOnInvalidType = false, $objectSupport = false)
    {
        if ($indent < 1) {
            throw new \InvalidArgumentException('The indentation must be greater than zero.');
        }

        $yaml = new Dumper();
        $yaml->setIndentation($indent);

        return $yaml->dump($input, $inline, 0, $exceptionOnInvalidType, $objectSupport);
    }
}
vendor/symfony/yaml/Parser.php000060400000100467150750356260012471 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\Yaml;

use Symfony\Component\Yaml\Exception\ParseException;

/**
 * Parser parses YAML strings to convert them to PHP arrays.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class Parser
{
    const BLOCK_SCALAR_HEADER_PATTERN = '(?P<separator>\||>)(?P<modifiers>\+|\-|\d+|\+\d+|\-\d+|\d+\+|\d+\-)?(?P<comments> +#.*)?';
    // BC - wrongly named
    const FOLDED_SCALAR_PATTERN = self::BLOCK_SCALAR_HEADER_PATTERN;

    private $offset = 0;
    private $totalNumberOfLines;
    private $lines = array();
    private $currentLineNb = -1;
    private $currentLine = '';
    private $refs = array();
    private $skippedLineNumbers = array();
    private $locallySkippedLineNumbers = array();

    /**
     * @param int      $offset             The offset of YAML document (used for line numbers in error messages)
     * @param int|null $totalNumberOfLines The overall number of lines being parsed
     * @param int[]    $skippedLineNumbers Number of comment lines that have been skipped by the parser
     */
    public function __construct($offset = 0, $totalNumberOfLines = null, array $skippedLineNumbers = array())
    {
        $this->offset = $offset;
        $this->totalNumberOfLines = $totalNumberOfLines;
        $this->skippedLineNumbers = $skippedLineNumbers;
    }

    /**
     * Parses a YAML string to a PHP value.
     *
     * @param string $value                  A YAML string
     * @param bool   $exceptionOnInvalidType True if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
     * @param bool   $objectSupport          True if object support is enabled, false otherwise
     * @param bool   $objectForMap           True if maps should return a stdClass instead of array()
     *
     * @return mixed A PHP value
     *
     * @throws ParseException If the YAML is not valid
     */
    public function parse($value, $exceptionOnInvalidType = false, $objectSupport = false, $objectForMap = false)
    {
        if (false === preg_match('//u', $value)) {
            throw new ParseException('The YAML value does not appear to be valid UTF-8.');
        }

        $this->refs = array();

        $mbEncoding = null;
        $e = null;
        $data = null;

        if (2 /* MB_OVERLOAD_STRING */ & (int) ini_get('mbstring.func_overload')) {
            $mbEncoding = mb_internal_encoding();
            mb_internal_encoding('UTF-8');
        }

        try {
            $data = $this->doParse($value, $exceptionOnInvalidType, $objectSupport, $objectForMap);
        } catch (\Exception $e) {
        } catch (\Throwable $e) {
        }

        if (null !== $mbEncoding) {
            mb_internal_encoding($mbEncoding);
        }

        $this->lines = array();
        $this->currentLine = '';
        $this->refs = array();
        $this->skippedLineNumbers = array();
        $this->locallySkippedLineNumbers = array();

        if (null !== $e) {
            throw $e;
        }

        return $data;
    }

    private function doParse($value, $exceptionOnInvalidType = false, $objectSupport = false, $objectForMap = false)
    {
        $this->currentLineNb = -1;
        $this->currentLine = '';
        $value = $this->cleanup($value);
        $this->lines = explode("\n", $value);
        $this->locallySkippedLineNumbers = array();

        if (null === $this->totalNumberOfLines) {
            $this->totalNumberOfLines = \count($this->lines);
        }

        $data = array();
        $context = null;
        $allowOverwrite = false;

        while ($this->moveToNextLine()) {
            if ($this->isCurrentLineEmpty()) {
                continue;
            }

            // tab?
            if ("\t" === $this->currentLine[0]) {
                throw new ParseException('A YAML file cannot contain tabs as indentation.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
            }

            $isRef = $mergeNode = false;
            if (self::preg_match('#^\-((?P<leadspaces>\s+)(?P<value>.+))?$#u', rtrim($this->currentLine), $values)) {
                if ($context && 'mapping' == $context) {
                    throw new ParseException('You cannot define a sequence item when in a mapping', $this->getRealCurrentLineNb() + 1, $this->currentLine);
                }
                $context = 'sequence';

                if (isset($values['value']) && self::preg_match('#^&(?P<ref>[^ ]+) *(?P<value>.*)#u', $values['value'], $matches)) {
                    $isRef = $matches['ref'];
                    $values['value'] = $matches['value'];
                }

                // array
                if (!isset($values['value']) || '' == trim($values['value'], ' ') || 0 === strpos(ltrim($values['value'], ' '), '#')) {
                    $data[] = $this->parseBlock($this->getRealCurrentLineNb() + 1, $this->getNextEmbedBlock(null, true), $exceptionOnInvalidType, $objectSupport, $objectForMap);
                } else {
                    if (isset($values['leadspaces'])
                        && self::preg_match('#^(?P<key>'.Inline::REGEX_QUOTED_STRING.'|[^ \'"\{\[].*?) *\:(\s+(?P<value>.+))?$#u', rtrim($values['value']), $matches)
                    ) {
                        // this is a compact notation element, add to next block and parse
                        $block = $values['value'];
                        if ($this->isNextLineIndented()) {
                            $block .= "\n".$this->getNextEmbedBlock($this->getCurrentLineIndentation() + \strlen($values['leadspaces']) + 1);
                        }

                        $data[] = $this->parseBlock($this->getRealCurrentLineNb(), $block, $exceptionOnInvalidType, $objectSupport, $objectForMap);
                    } else {
                        $data[] = $this->parseValue($values['value'], $exceptionOnInvalidType, $objectSupport, $objectForMap, $context);
                    }
                }
                if ($isRef) {
                    $this->refs[$isRef] = end($data);
                }
            } elseif (
                self::preg_match('#^(?P<key>'.Inline::REGEX_QUOTED_STRING.'|[^ \'"\[\{].*?) *\:(\s+(?P<value>.+))?$#u', rtrim($this->currentLine), $values)
                && (false === strpos($values['key'], ' #') || \in_array($values['key'][0], array('"', "'")))
            ) {
                if ($context && 'sequence' == $context) {
                    throw new ParseException('You cannot define a mapping item when in a sequence', $this->currentLineNb + 1, $this->currentLine);
                }
                $context = 'mapping';

                // force correct settings
                Inline::parse(null, $exceptionOnInvalidType, $objectSupport, $objectForMap, $this->refs);
                try {
                    $key = Inline::parseScalar($values['key']);
                } catch (ParseException $e) {
                    $e->setParsedLine($this->getRealCurrentLineNb() + 1);
                    $e->setSnippet($this->currentLine);

                    throw $e;
                }

                // Convert float keys to strings, to avoid being converted to integers by PHP
                if (\is_float($key)) {
                    $key = (string) $key;
                }

                if ('<<' === $key && (!isset($values['value']) || !self::preg_match('#^&(?P<ref>[^ ]+)#u', $values['value'], $refMatches))) {
                    $mergeNode = true;
                    $allowOverwrite = true;
                    if (isset($values['value']) && 0 === strpos($values['value'], '*')) {
                        $refName = substr($values['value'], 1);
                        if (!array_key_exists($refName, $this->refs)) {
                            throw new ParseException(sprintf('Reference "%s" does not exist.', $refName), $this->getRealCurrentLineNb() + 1, $this->currentLine);
                        }

                        $refValue = $this->refs[$refName];

                        if (!\is_array($refValue)) {
                            throw new ParseException('YAML merge keys used with a scalar value instead of an array.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
                        }

                        $data += $refValue; // array union
                    } else {
                        if (isset($values['value']) && '' !== $values['value']) {
                            $value = $values['value'];
                        } else {
                            $value = $this->getNextEmbedBlock();
                        }
                        $parsed = $this->parseBlock($this->getRealCurrentLineNb() + 1, $value, $exceptionOnInvalidType, $objectSupport, $objectForMap);

                        if (!\is_array($parsed)) {
                            throw new ParseException('YAML merge keys used with a scalar value instead of an array.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
                        }

                        if (isset($parsed[0])) {
                            // If the value associated with the merge key is a sequence, then this sequence is expected to contain mapping nodes
                            // and each of these nodes is merged in turn according to its order in the sequence. Keys in mapping nodes earlier
                            // in the sequence override keys specified in later mapping nodes.
                            foreach ($parsed as $parsedItem) {
                                if (!\is_array($parsedItem)) {
                                    throw new ParseException('Merge items must be arrays.', $this->getRealCurrentLineNb() + 1, $parsedItem);
                                }

                                $data += $parsedItem; // array union
                            }
                        } else {
                            // If the value associated with the key is a single mapping node, each of its key/value pairs is inserted into the
                            // current mapping, unless the key already exists in it.
                            $data += $parsed; // array union
                        }
                    }
                } elseif ('<<' !== $key && isset($values['value']) && self::preg_match('#^&(?P<ref>[^ ]+) *(?P<value>.*)#u', $values['value'], $matches)) {
                    $isRef = $matches['ref'];
                    $values['value'] = $matches['value'];
                }

                if ($mergeNode) {
                    // Merge keys
                } elseif (!isset($values['value']) || '' == trim($values['value'], ' ') || 0 === strpos(ltrim($values['value'], ' '), '#') || '<<' === $key) {
                    // hash
                    // if next line is less indented or equal, then it means that the current value is null
                    if (!$this->isNextLineIndented() && !$this->isNextLineUnIndentedCollection()) {
                        // Spec: Keys MUST be unique; first one wins.
                        // But overwriting is allowed when a merge node is used in current block.
                        if ($allowOverwrite || !isset($data[$key])) {
                            $data[$key] = null;
                        }
                    } else {
                        $value = $this->parseBlock($this->getRealCurrentLineNb() + 1, $this->getNextEmbedBlock(), $exceptionOnInvalidType, $objectSupport, $objectForMap);

                        if ('<<' === $key) {
                            $this->refs[$refMatches['ref']] = $value;
                            $data += $value;
                        } elseif ($allowOverwrite || !isset($data[$key])) {
                            // Spec: Keys MUST be unique; first one wins.
                            // But overwriting is allowed when a merge node is used in current block.
                            $data[$key] = $value;
                        }
                    }
                } else {
                    $value = $this->parseValue($values['value'], $exceptionOnInvalidType, $objectSupport, $objectForMap, $context);
                    // Spec: Keys MUST be unique; first one wins.
                    // But overwriting is allowed when a merge node is used in current block.
                    if ($allowOverwrite || !isset($data[$key])) {
                        $data[$key] = $value;
                    }
                }
                if ($isRef) {
                    $this->refs[$isRef] = $data[$key];
                }
            } else {
                // multiple documents are not supported
                if ('---' === $this->currentLine) {
                    throw new ParseException('Multiple documents are not supported.', $this->currentLineNb + 1, $this->currentLine);
                }

                // 1-liner optionally followed by newline(s)
                if (\is_string($value) && $this->lines[0] === trim($value)) {
                    try {
                        $value = Inline::parse($this->lines[0], $exceptionOnInvalidType, $objectSupport, $objectForMap, $this->refs);
                    } catch (ParseException $e) {
                        $e->setParsedLine($this->getRealCurrentLineNb() + 1);
                        $e->setSnippet($this->currentLine);

                        throw $e;
                    }

                    return $value;
                }

                throw new ParseException('Unable to parse.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
            }
        }

        if ($objectForMap && !\is_object($data) && 'mapping' === $context) {
            $object = new \stdClass();

            foreach ($data as $key => $value) {
                $object->$key = $value;
            }

            $data = $object;
        }

        return empty($data) ? null : $data;
    }

    private function parseBlock($offset, $yaml, $exceptionOnInvalidType, $objectSupport, $objectForMap)
    {
        $skippedLineNumbers = $this->skippedLineNumbers;

        foreach ($this->locallySkippedLineNumbers as $lineNumber) {
            if ($lineNumber < $offset) {
                continue;
            }

            $skippedLineNumbers[] = $lineNumber;
        }

        $parser = new self($offset, $this->totalNumberOfLines, $skippedLineNumbers);
        $parser->refs = &$this->refs;

        return $parser->doParse($yaml, $exceptionOnInvalidType, $objectSupport, $objectForMap);
    }

    /**
     * Returns the current line number (takes the offset into account).
     *
     * @return int The current line number
     */
    private function getRealCurrentLineNb()
    {
        $realCurrentLineNumber = $this->currentLineNb + $this->offset;

        foreach ($this->skippedLineNumbers as $skippedLineNumber) {
            if ($skippedLineNumber > $realCurrentLineNumber) {
                break;
            }

            ++$realCurrentLineNumber;
        }

        return $realCurrentLineNumber;
    }

    /**
     * Returns the current line indentation.
     *
     * @return int The current line indentation
     */
    private function getCurrentLineIndentation()
    {
        return \strlen($this->currentLine) - \strlen(ltrim($this->currentLine, ' '));
    }

    /**
     * Returns the next embed block of YAML.
     *
     * @param int  $indentation The indent level at which the block is to be read, or null for default
     * @param bool $inSequence  True if the enclosing data structure is a sequence
     *
     * @return string A YAML string
     *
     * @throws ParseException When indentation problem are detected
     */
    private function getNextEmbedBlock($indentation = null, $inSequence = false)
    {
        $oldLineIndentation = $this->getCurrentLineIndentation();
        $blockScalarIndentations = array();

        if ($this->isBlockScalarHeader()) {
            $blockScalarIndentations[] = $this->getCurrentLineIndentation();
        }

        if (!$this->moveToNextLine()) {
            return;
        }

        if (null === $indentation) {
            $newIndent = $this->getCurrentLineIndentation();

            $unindentedEmbedBlock = $this->isStringUnIndentedCollectionItem();

            if (!$this->isCurrentLineEmpty() && 0 === $newIndent && !$unindentedEmbedBlock) {
                throw new ParseException('Indentation problem.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
            }
        } else {
            $newIndent = $indentation;
        }

        $data = array();
        if ($this->getCurrentLineIndentation() >= $newIndent) {
            $data[] = substr($this->currentLine, $newIndent);
        } else {
            $this->moveToPreviousLine();

            return;
        }

        if ($inSequence && $oldLineIndentation === $newIndent && isset($data[0][0]) && '-' === $data[0][0]) {
            // the previous line contained a dash but no item content, this line is a sequence item with the same indentation
            // and therefore no nested list or mapping
            $this->moveToPreviousLine();

            return;
        }

        $isItUnindentedCollection = $this->isStringUnIndentedCollectionItem();

        if (empty($blockScalarIndentations) && $this->isBlockScalarHeader()) {
            $blockScalarIndentations[] = $this->getCurrentLineIndentation();
        }

        $previousLineIndentation = $this->getCurrentLineIndentation();

        while ($this->moveToNextLine()) {
            $indent = $this->getCurrentLineIndentation();

            // terminate all block scalars that are more indented than the current line
            if (!empty($blockScalarIndentations) && $indent < $previousLineIndentation && '' !== trim($this->currentLine)) {
                foreach ($blockScalarIndentations as $key => $blockScalarIndentation) {
                    if ($blockScalarIndentation >= $this->getCurrentLineIndentation()) {
                        unset($blockScalarIndentations[$key]);
                    }
                }
            }

            if (empty($blockScalarIndentations) && !$this->isCurrentLineComment() && $this->isBlockScalarHeader()) {
                $blockScalarIndentations[] = $this->getCurrentLineIndentation();
            }

            $previousLineIndentation = $indent;

            if ($isItUnindentedCollection && !$this->isCurrentLineEmpty() && !$this->isStringUnIndentedCollectionItem() && $newIndent === $indent) {
                $this->moveToPreviousLine();
                break;
            }

            if ($this->isCurrentLineBlank()) {
                $data[] = substr($this->currentLine, $newIndent);
                continue;
            }

            // we ignore "comment" lines only when we are not inside a scalar block
            if (empty($blockScalarIndentations) && $this->isCurrentLineComment()) {
                // remember ignored comment lines (they are used later in nested
                // parser calls to determine real line numbers)
                //
                // CAUTION: beware to not populate the global property here as it
                // will otherwise influence the getRealCurrentLineNb() call here
                // for consecutive comment lines and subsequent embedded blocks
                $this->locallySkippedLineNumbers[] = $this->getRealCurrentLineNb();

                continue;
            }

            if ($indent >= $newIndent) {
                $data[] = substr($this->currentLine, $newIndent);
            } elseif (0 == $indent) {
                $this->moveToPreviousLine();

                break;
            } else {
                throw new ParseException('Indentation problem.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
            }
        }

        return implode("\n", $data);
    }

    /**
     * Moves the parser to the next line.
     *
     * @return bool
     */
    private function moveToNextLine()
    {
        if ($this->currentLineNb >= \count($this->lines) - 1) {
            return false;
        }

        $this->currentLine = $this->lines[++$this->currentLineNb];

        return true;
    }

    /**
     * Moves the parser to the previous line.
     *
     * @return bool
     */
    private function moveToPreviousLine()
    {
        if ($this->currentLineNb < 1) {
            return false;
        }

        $this->currentLine = $this->lines[--$this->currentLineNb];

        return true;
    }

    /**
     * Parses a YAML value.
     *
     * @param string $value                  A YAML value
     * @param bool   $exceptionOnInvalidType True if an exception must be thrown on invalid types false otherwise
     * @param bool   $objectSupport          True if object support is enabled, false otherwise
     * @param bool   $objectForMap           True if maps should return a stdClass instead of array()
     * @param string $context                The parser context (either sequence or mapping)
     *
     * @return mixed A PHP value
     *
     * @throws ParseException When reference does not exist
     */
    private function parseValue($value, $exceptionOnInvalidType, $objectSupport, $objectForMap, $context)
    {
        if (0 === strpos($value, '*')) {
            if (false !== $pos = strpos($value, '#')) {
                $value = substr($value, 1, $pos - 2);
            } else {
                $value = substr($value, 1);
            }

            if (!array_key_exists($value, $this->refs)) {
                throw new ParseException(sprintf('Reference "%s" does not exist.', $value), $this->currentLineNb + 1, $this->currentLine);
            }

            return $this->refs[$value];
        }

        if (self::preg_match('/^'.self::BLOCK_SCALAR_HEADER_PATTERN.'$/', $value, $matches)) {
            $modifiers = isset($matches['modifiers']) ? $matches['modifiers'] : '';

            return $this->parseBlockScalar($matches['separator'], preg_replace('#\d+#', '', $modifiers), (int) abs($modifiers));
        }

        try {
            $parsedValue = Inline::parse($value, $exceptionOnInvalidType, $objectSupport, $objectForMap, $this->refs);

            if ('mapping' === $context && '"' !== $value[0] && "'" !== $value[0] && '[' !== $value[0] && '{' !== $value[0] && '!' !== $value[0] && false !== strpos($parsedValue, ': ')) {
                @trigger_error(sprintf('Using a colon in the unquoted mapping value "%s" in line %d is deprecated since Symfony 2.8 and will throw a ParseException in 3.0.', $value, $this->getRealCurrentLineNb() + 1), E_USER_DEPRECATED);

                // to be thrown in 3.0
                // throw new ParseException('A colon cannot be used in an unquoted mapping value.');
            }

            return $parsedValue;
        } catch (ParseException $e) {
            $e->setParsedLine($this->getRealCurrentLineNb() + 1);
            $e->setSnippet($this->currentLine);

            throw $e;
        }
    }

    /**
     * Parses a block scalar.
     *
     * @param string $style       The style indicator that was used to begin this block scalar (| or >)
     * @param string $chomping    The chomping indicator that was used to begin this block scalar (+ or -)
     * @param int    $indentation The indentation indicator that was used to begin this block scalar
     *
     * @return string The text value
     */
    private function parseBlockScalar($style, $chomping = '', $indentation = 0)
    {
        $notEOF = $this->moveToNextLine();
        if (!$notEOF) {
            return '';
        }

        $isCurrentLineBlank = $this->isCurrentLineBlank();
        $blockLines = array();

        // leading blank lines are consumed before determining indentation
        while ($notEOF && $isCurrentLineBlank) {
            // newline only if not EOF
            if ($notEOF = $this->moveToNextLine()) {
                $blockLines[] = '';
                $isCurrentLineBlank = $this->isCurrentLineBlank();
            }
        }

        // determine indentation if not specified
        if (0 === $indentation) {
            if (self::preg_match('/^ +/', $this->currentLine, $matches)) {
                $indentation = \strlen($matches[0]);
            }
        }

        if ($indentation > 0) {
            $pattern = sprintf('/^ {%d}(.*)$/', $indentation);

            while (
                $notEOF && (
                    $isCurrentLineBlank ||
                    self::preg_match($pattern, $this->currentLine, $matches)
                )
            ) {
                if ($isCurrentLineBlank && \strlen($this->currentLine) > $indentation) {
                    $blockLines[] = substr($this->currentLine, $indentation);
                } elseif ($isCurrentLineBlank) {
                    $blockLines[] = '';
                } else {
                    $blockLines[] = $matches[1];
                }

                // newline only if not EOF
                if ($notEOF = $this->moveToNextLine()) {
                    $isCurrentLineBlank = $this->isCurrentLineBlank();
                }
            }
        } elseif ($notEOF) {
            $blockLines[] = '';
        }

        if ($notEOF) {
            $blockLines[] = '';
            $this->moveToPreviousLine();
        } elseif (!$notEOF && !$this->isCurrentLineLastLineInDocument()) {
            $blockLines[] = '';
        }

        // folded style
        if ('>' === $style) {
            $text = '';
            $previousLineIndented = false;
            $previousLineBlank = false;

            for ($i = 0, $blockLinesCount = \count($blockLines); $i < $blockLinesCount; ++$i) {
                if ('' === $blockLines[$i]) {
                    $text .= "\n";
                    $previousLineIndented = false;
                    $previousLineBlank = true;
                } elseif (' ' === $blockLines[$i][0]) {
                    $text .= "\n".$blockLines[$i];
                    $previousLineIndented = true;
                    $previousLineBlank = false;
                } elseif ($previousLineIndented) {
                    $text .= "\n".$blockLines[$i];
                    $previousLineIndented = false;
                    $previousLineBlank = false;
                } elseif ($previousLineBlank || 0 === $i) {
                    $text .= $blockLines[$i];
                    $previousLineIndented = false;
                    $previousLineBlank = false;
                } else {
                    $text .= ' '.$blockLines[$i];
                    $previousLineIndented = false;
                    $previousLineBlank = false;
                }
            }
        } else {
            $text = implode("\n", $blockLines);
        }

        // deal with trailing newlines
        if ('' === $chomping) {
            $text = preg_replace('/\n+$/', "\n", $text);
        } elseif ('-' === $chomping) {
            $text = preg_replace('/\n+$/', '', $text);
        }

        return $text;
    }

    /**
     * Returns true if the next line is indented.
     *
     * @return bool Returns true if the next line is indented, false otherwise
     */
    private function isNextLineIndented()
    {
        $currentIndentation = $this->getCurrentLineIndentation();
        $EOF = !$this->moveToNextLine();

        while (!$EOF && $this->isCurrentLineEmpty()) {
            $EOF = !$this->moveToNextLine();
        }

        if ($EOF) {
            return false;
        }

        $ret = $this->getCurrentLineIndentation() > $currentIndentation;

        $this->moveToPreviousLine();

        return $ret;
    }

    /**
     * Returns true if the current line is blank or if it is a comment line.
     *
     * @return bool Returns true if the current line is empty or if it is a comment line, false otherwise
     */
    private function isCurrentLineEmpty()
    {
        return $this->isCurrentLineBlank() || $this->isCurrentLineComment();
    }

    /**
     * Returns true if the current line is blank.
     *
     * @return bool Returns true if the current line is blank, false otherwise
     */
    private function isCurrentLineBlank()
    {
        return '' == trim($this->currentLine, ' ');
    }

    /**
     * Returns true if the current line is a comment line.
     *
     * @return bool Returns true if the current line is a comment line, false otherwise
     */
    private function isCurrentLineComment()
    {
        //checking explicitly the first char of the trim is faster than loops or strpos
        $ltrimmedLine = ltrim($this->currentLine, ' ');

        return '' !== $ltrimmedLine && '#' === $ltrimmedLine[0];
    }

    private function isCurrentLineLastLineInDocument()
    {
        return ($this->offset + $this->currentLineNb) >= ($this->totalNumberOfLines - 1);
    }

    /**
     * Cleanups a YAML string to be parsed.
     *
     * @param string $value The input YAML string
     *
     * @return string A cleaned up YAML string
     */
    private function cleanup($value)
    {
        $value = str_replace(array("\r\n", "\r"), "\n", $value);

        // strip YAML header
        $count = 0;
        $value = preg_replace('#^\%YAML[: ][\d\.]+.*\n#u', '', $value, -1, $count);
        $this->offset += $count;

        // remove leading comments
        $trimmedValue = preg_replace('#^(\#.*?\n)+#s', '', $value, -1, $count);
        if (1 == $count) {
            // items have been removed, update the offset
            $this->offset += substr_count($value, "\n") - substr_count($trimmedValue, "\n");
            $value = $trimmedValue;
        }

        // remove start of the document marker (---)
        $trimmedValue = preg_replace('#^\-\-\-.*?\n#s', '', $value, -1, $count);
        if (1 == $count) {
            // items have been removed, update the offset
            $this->offset += substr_count($value, "\n") - substr_count($trimmedValue, "\n");
            $value = $trimmedValue;

            // remove end of the document marker (...)
            $value = preg_replace('#\.\.\.\s*$#', '', $value);
        }

        return $value;
    }

    /**
     * Returns true if the next line starts unindented collection.
     *
     * @return bool Returns true if the next line starts unindented collection, false otherwise
     */
    private function isNextLineUnIndentedCollection()
    {
        $currentIndentation = $this->getCurrentLineIndentation();
        $notEOF = $this->moveToNextLine();

        while ($notEOF && $this->isCurrentLineEmpty()) {
            $notEOF = $this->moveToNextLine();
        }

        if (false === $notEOF) {
            return false;
        }

        $ret = $this->getCurrentLineIndentation() === $currentIndentation && $this->isStringUnIndentedCollectionItem();

        $this->moveToPreviousLine();

        return $ret;
    }

    /**
     * Returns true if the string is un-indented collection item.
     *
     * @return bool Returns true if the string is un-indented collection item, false otherwise
     */
    private function isStringUnIndentedCollectionItem()
    {
        return '-' === rtrim($this->currentLine) || 0 === strpos($this->currentLine, '- ');
    }

    /**
     * Tests whether or not the current line is the header of a block scalar.
     *
     * @return bool
     */
    private function isBlockScalarHeader()
    {
        return (bool) self::preg_match('~'.self::BLOCK_SCALAR_HEADER_PATTERN.'$~', $this->currentLine);
    }

    /**
     * A local wrapper for `preg_match` which will throw a ParseException if there
     * is an internal error in the PCRE engine.
     *
     * This avoids us needing to check for "false" every time PCRE is used
     * in the YAML engine
     *
     * @throws ParseException on a PCRE internal error
     *
     * @see preg_last_error()
     *
     * @internal
     */
    public static function preg_match($pattern, $subject, &$matches = null, $flags = 0, $offset = 0)
    {
        if (false === $ret = preg_match($pattern, $subject, $matches, $flags, $offset)) {
            switch (preg_last_error()) {
                case PREG_INTERNAL_ERROR:
                    $error = 'Internal PCRE error.';
                    break;
                case PREG_BACKTRACK_LIMIT_ERROR:
                    $error = 'pcre.backtrack_limit reached.';
                    break;
                case PREG_RECURSION_LIMIT_ERROR:
                    $error = 'pcre.recursion_limit reached.';
                    break;
                case PREG_BAD_UTF8_ERROR:
                    $error = 'Malformed UTF-8 data.';
                    break;
                case PREG_BAD_UTF8_OFFSET_ERROR:
                    $error = 'Offset doesn\'t correspond to the begin of a valid UTF-8 code point.';
                    break;
                default:
                    $error = 'Error.';
            }

            throw new ParseException($error);
        }

        return $ret;
    }
}
vendor/symfony/event-dispatcher/ContainerAwareEventDispatcher.php000060400000013657150750356260021457 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\EventDispatcher;

use Symfony\Component\DependencyInjection\ContainerInterface;

/**
 * Lazily loads listeners and subscribers from the dependency injection
 * container.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 * @author Bernhard Schussek <bschussek@gmail.com>
 * @author Jordan Alliot <jordan.alliot@gmail.com>
 */
class ContainerAwareEventDispatcher extends EventDispatcher
{
    private $container;

    /**
     * The service IDs of the event listeners and subscribers.
     */
    private $listenerIds = array();

    /**
     * The services registered as listeners.
     */
    private $listeners = array();

    public function __construct(ContainerInterface $container)
    {
        $this->container = $container;
    }

    /**
     * Adds a service as event listener.
     *
     * @param string $eventName Event for which the listener is added
     * @param array  $callback  The service ID of the listener service & the method
     *                          name that has to be called
     * @param int    $priority  The higher this value, the earlier an event listener
     *                          will be triggered in the chain.
     *                          Defaults to 0.
     *
     * @throws \InvalidArgumentException
     */
    public function addListenerService($eventName, $callback, $priority = 0)
    {
        if (!\is_array($callback) || 2 !== \count($callback)) {
            throw new \InvalidArgumentException('Expected an array("service", "method") argument');
        }

        $this->listenerIds[$eventName][] = array($callback[0], $callback[1], $priority);
    }

    public function removeListener($eventName, $listener)
    {
        $this->lazyLoad($eventName);

        if (isset($this->listenerIds[$eventName])) {
            foreach ($this->listenerIds[$eventName] as $i => $args) {
                list($serviceId, $method) = $args;
                $key = $serviceId.'.'.$method;
                if (isset($this->listeners[$eventName][$key]) && $listener === array($this->listeners[$eventName][$key], $method)) {
                    unset($this->listeners[$eventName][$key]);
                    if (empty($this->listeners[$eventName])) {
                        unset($this->listeners[$eventName]);
                    }
                    unset($this->listenerIds[$eventName][$i]);
                    if (empty($this->listenerIds[$eventName])) {
                        unset($this->listenerIds[$eventName]);
                    }
                }
            }
        }

        parent::removeListener($eventName, $listener);
    }

    /**
     * {@inheritdoc}
     */
    public function hasListeners($eventName = null)
    {
        if (null === $eventName) {
            return $this->listenerIds || $this->listeners || parent::hasListeners();
        }

        if (isset($this->listenerIds[$eventName])) {
            return true;
        }

        return parent::hasListeners($eventName);
    }

    /**
     * {@inheritdoc}
     */
    public function getListeners($eventName = null)
    {
        if (null === $eventName) {
            foreach ($this->listenerIds as $serviceEventName => $args) {
                $this->lazyLoad($serviceEventName);
            }
        } else {
            $this->lazyLoad($eventName);
        }

        return parent::getListeners($eventName);
    }

    /**
     * {@inheritdoc}
     */
    public function getListenerPriority($eventName, $listener)
    {
        $this->lazyLoad($eventName);

        return parent::getListenerPriority($eventName, $listener);
    }

    /**
     * Adds a service as event subscriber.
     *
     * @param string $serviceId The service ID of the subscriber service
     * @param string $class     The service's class name (which must implement EventSubscriberInterface)
     */
    public function addSubscriberService($serviceId, $class)
    {
        foreach ($class::getSubscribedEvents() as $eventName => $params) {
            if (\is_string($params)) {
                $this->listenerIds[$eventName][] = array($serviceId, $params, 0);
            } elseif (\is_string($params[0])) {
                $this->listenerIds[$eventName][] = array($serviceId, $params[0], isset($params[1]) ? $params[1] : 0);
            } else {
                foreach ($params as $listener) {
                    $this->listenerIds[$eventName][] = array($serviceId, $listener[0], isset($listener[1]) ? $listener[1] : 0);
                }
            }
        }
    }

    public function getContainer()
    {
        return $this->container;
    }

    /**
     * Lazily loads listeners for this event from the dependency injection
     * container.
     *
     * @param string $eventName The name of the event to dispatch. The name of
     *                          the event is the name of the method that is
     *                          invoked on listeners.
     */
    protected function lazyLoad($eventName)
    {
        if (isset($this->listenerIds[$eventName])) {
            foreach ($this->listenerIds[$eventName] as $args) {
                list($serviceId, $method, $priority) = $args;
                $listener = $this->container->get($serviceId);

                $key = $serviceId.'.'.$method;
                if (!isset($this->listeners[$eventName][$key])) {
                    $this->addListener($eventName, array($listener, $method), $priority);
                } elseif ($this->listeners[$eventName][$key] !== $listener) {
                    parent::removeListener($eventName, array($this->listeners[$eventName][$key], $method));
                    $this->addListener($eventName, array($listener, $method), $priority);
                }

                $this->listeners[$eventName][$key] = $listener;
            }
        }
    }
}
vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php000060400000004176150750356260020470 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\EventDispatcher;

/**
 * A read-only proxy for an event dispatcher.
 *
 * @author Bernhard Schussek <bschussek@gmail.com>
 */
class ImmutableEventDispatcher implements EventDispatcherInterface
{
    private $dispatcher;

    public function __construct(EventDispatcherInterface $dispatcher)
    {
        $this->dispatcher = $dispatcher;
    }

    /**
     * {@inheritdoc}
     */
    public function dispatch($eventName, Event $event = null)
    {
        return $this->dispatcher->dispatch($eventName, $event);
    }

    /**
     * {@inheritdoc}
     */
    public function addListener($eventName, $listener, $priority = 0)
    {
        throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.');
    }

    /**
     * {@inheritdoc}
     */
    public function addSubscriber(EventSubscriberInterface $subscriber)
    {
        throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.');
    }

    /**
     * {@inheritdoc}
     */
    public function removeListener($eventName, $listener)
    {
        throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.');
    }

    /**
     * {@inheritdoc}
     */
    public function removeSubscriber(EventSubscriberInterface $subscriber)
    {
        throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.');
    }

    /**
     * {@inheritdoc}
     */
    public function getListeners($eventName = null)
    {
        return $this->dispatcher->getListeners($eventName);
    }

    /**
     * {@inheritdoc}
     */
    public function getListenerPriority($eventName, $listener)
    {
        return $this->dispatcher->getListenerPriority($eventName, $listener);
    }

    /**
     * {@inheritdoc}
     */
    public function hasListeners($eventName = null)
    {
        return $this->dispatcher->hasListeners($eventName);
    }
}
vendor/symfony/event-dispatcher/EventSubscriberInterface.php000060400000003020150750356260020451 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\EventDispatcher;

/**
 * An EventSubscriber knows himself what events he is interested in.
 * If an EventSubscriber is added to an EventDispatcherInterface, the manager invokes
 * {@link getSubscribedEvents} and registers the subscriber as a listener for all
 * returned events.
 *
 * @author Guilherme Blanco <guilhermeblanco@hotmail.com>
 * @author Jonathan Wage <jonwage@gmail.com>
 * @author Roman Borschel <roman@code-factory.org>
 * @author Bernhard Schussek <bschussek@gmail.com>
 */
interface EventSubscriberInterface
{
    /**
     * Returns an array of event names this subscriber wants to listen to.
     *
     * The array keys are event names and the value can be:
     *
     *  * The method name to call (priority defaults to 0)
     *  * An array composed of the method name to call and the priority
     *  * An array of arrays composed of the method names to call and respective
     *    priorities, or 0 if unset
     *
     * For instance:
     *
     *  * array('eventName' => 'methodName')
     *  * array('eventName' => array('methodName', $priority))
     *  * array('eventName' => array(array('methodName1', $priority), array('methodName2')))
     *
     * @return array The event names to listen to
     */
    public static function getSubscribedEvents();
}
vendor/symfony/event-dispatcher/EventDispatcher.php000060400000013433150750356260016624 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\EventDispatcher;

/**
 * The EventDispatcherInterface is the central point of Symfony's event listener system.
 *
 * Listeners are registered on the manager and events are dispatched through the
 * manager.
 *
 * @author Guilherme Blanco <guilhermeblanco@hotmail.com>
 * @author Jonathan Wage <jonwage@gmail.com>
 * @author Roman Borschel <roman@code-factory.org>
 * @author Bernhard Schussek <bschussek@gmail.com>
 * @author Fabien Potencier <fabien@symfony.com>
 * @author Jordi Boggiano <j.boggiano@seld.be>
 * @author Jordan Alliot <jordan.alliot@gmail.com>
 */
class EventDispatcher implements EventDispatcherInterface
{
    private $listeners = array();
    private $sorted = array();

    /**
     * {@inheritdoc}
     */
    public function dispatch($eventName, Event $event = null)
    {
        if (null === $event) {
            $event = new Event();
        }

        $event->setDispatcher($this);
        $event->setName($eventName);

        if ($listeners = $this->getListeners($eventName)) {
            $this->doDispatch($listeners, $eventName, $event);
        }

        return $event;
    }

    /**
     * {@inheritdoc}
     */
    public function getListeners($eventName = null)
    {
        if (null !== $eventName) {
            if (!isset($this->listeners[$eventName])) {
                return array();
            }

            if (!isset($this->sorted[$eventName])) {
                $this->sortListeners($eventName);
            }

            return $this->sorted[$eventName];
        }

        foreach ($this->listeners as $eventName => $eventListeners) {
            if (!isset($this->sorted[$eventName])) {
                $this->sortListeners($eventName);
            }
        }

        return array_filter($this->sorted);
    }

    /**
     * Gets the listener priority for a specific event.
     *
     * Returns null if the event or the listener does not exist.
     *
     * @param string   $eventName The name of the event
     * @param callable $listener  The listener
     *
     * @return int|null The event listener priority
     */
    public function getListenerPriority($eventName, $listener)
    {
        if (!isset($this->listeners[$eventName])) {
            return;
        }

        foreach ($this->listeners[$eventName] as $priority => $listeners) {
            if (false !== \in_array($listener, $listeners, true)) {
                return $priority;
            }
        }
    }

    /**
     * {@inheritdoc}
     */
    public function hasListeners($eventName = null)
    {
        return (bool) $this->getListeners($eventName);
    }

    /**
     * {@inheritdoc}
     */
    public function addListener($eventName, $listener, $priority = 0)
    {
        $this->listeners[$eventName][$priority][] = $listener;
        unset($this->sorted[$eventName]);
    }

    /**
     * {@inheritdoc}
     */
    public function removeListener($eventName, $listener)
    {
        if (!isset($this->listeners[$eventName])) {
            return;
        }

        foreach ($this->listeners[$eventName] as $priority => $listeners) {
            if (false !== ($key = array_search($listener, $listeners, true))) {
                unset($this->listeners[$eventName][$priority][$key], $this->sorted[$eventName]);
            }
        }
    }

    /**
     * {@inheritdoc}
     */
    public function addSubscriber(EventSubscriberInterface $subscriber)
    {
        foreach ($subscriber->getSubscribedEvents() as $eventName => $params) {
            if (\is_string($params)) {
                $this->addListener($eventName, array($subscriber, $params));
            } elseif (\is_string($params[0])) {
                $this->addListener($eventName, array($subscriber, $params[0]), isset($params[1]) ? $params[1] : 0);
            } else {
                foreach ($params as $listener) {
                    $this->addListener($eventName, array($subscriber, $listener[0]), isset($listener[1]) ? $listener[1] : 0);
                }
            }
        }
    }

    /**
     * {@inheritdoc}
     */
    public function removeSubscriber(EventSubscriberInterface $subscriber)
    {
        foreach ($subscriber->getSubscribedEvents() as $eventName => $params) {
            if (\is_array($params) && \is_array($params[0])) {
                foreach ($params as $listener) {
                    $this->removeListener($eventName, array($subscriber, $listener[0]));
                }
            } else {
                $this->removeListener($eventName, array($subscriber, \is_string($params) ? $params : $params[0]));
            }
        }
    }

    /**
     * Triggers the listeners of an event.
     *
     * This method can be overridden to add functionality that is executed
     * for each listener.
     *
     * @param callable[] $listeners The event listeners
     * @param string     $eventName The name of the event to dispatch
     * @param Event      $event     The event object to pass to the event handlers/listeners
     */
    protected function doDispatch($listeners, $eventName, Event $event)
    {
        foreach ($listeners as $listener) {
            if ($event->isPropagationStopped()) {
                break;
            }
            \call_user_func($listener, $event, $eventName, $this);
        }
    }

    /**
     * Sorts the internal list of listeners for the given event by priority.
     *
     * @param string $eventName The name of the event
     */
    private function sortListeners($eventName)
    {
        krsort($this->listeners[$eventName]);
        $this->sorted[$eventName] = \call_user_func_array('array_merge', $this->listeners[$eventName]);
    }
}
vendor/symfony/event-dispatcher/composer.json000060400000002157150750356260015546 0ustar00{
    "name": "symfony/event-dispatcher",
    "type": "library",
    "description": "Symfony EventDispatcher Component",
    "keywords": [],
    "homepage": "https://symfony.com",
    "license": "MIT",
    "authors": [
        {
            "name": "Fabien Potencier",
            "email": "fabien@symfony.com"
        },
        {
            "name": "Symfony Community",
            "homepage": "https://symfony.com/contributors"
        }
    ],
    "require": {
        "php": ">=5.3.9"
    },
    "require-dev": {
        "symfony/dependency-injection": "~2.6|~3.0.0",
        "symfony/expression-language": "~2.6|~3.0.0",
        "symfony/config": "^2.0.5|~3.0.0",
        "symfony/stopwatch": "~2.3|~3.0.0",
        "psr/log": "~1.0"
    },
    "suggest": {
        "symfony/dependency-injection": "",
        "symfony/http-kernel": ""
    },
    "autoload": {
        "psr-4": { "Symfony\\Component\\EventDispatcher\\": "" },
        "exclude-from-classmap": [
            "/Tests/"
        ]
    },
    "minimum-stability": "dev",
    "extra": {
        "branch-alias": {
            "dev-master": "2.8-dev"
        }
    }
}
vendor/symfony/event-dispatcher/EventDispatcherInterface.php000060400000005310150750356260020440 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\EventDispatcher;

/**
 * The EventDispatcherInterface is the central point of Symfony's event listener system.
 * Listeners are registered on the manager and events are dispatched through the
 * manager.
 *
 * @author Bernhard Schussek <bschussek@gmail.com>
 */
interface EventDispatcherInterface
{
    /**
     * Dispatches an event to all registered listeners.
     *
     * @param string $eventName The name of the event to dispatch. The name of
     *                          the event is the name of the method that is
     *                          invoked on listeners.
     * @param Event  $event     The event to pass to the event handlers/listeners
     *                          If not supplied, an empty Event instance is created
     *
     * @return Event
     */
    public function dispatch($eventName, Event $event = null);

    /**
     * Adds an event listener that listens on the specified events.
     *
     * @param string   $eventName The event to listen on
     * @param callable $listener  The listener
     * @param int      $priority  The higher this value, the earlier an event
     *                            listener will be triggered in the chain (defaults to 0)
     */
    public function addListener($eventName, $listener, $priority = 0);

    /**
     * Adds an event subscriber.
     *
     * The subscriber is asked for all the events he is
     * interested in and added as a listener for these events.
     */
    public function addSubscriber(EventSubscriberInterface $subscriber);

    /**
     * Removes an event listener from the specified events.
     *
     * @param string   $eventName The event to remove a listener from
     * @param callable $listener  The listener to remove
     */
    public function removeListener($eventName, $listener);

    public function removeSubscriber(EventSubscriberInterface $subscriber);

    /**
     * Gets the listeners of a specific event or all listeners sorted by descending priority.
     *
     * @param string $eventName The name of the event
     *
     * @return array The event listeners for the specified event, or all event listeners by event name
     */
    public function getListeners($eventName = null);

    /**
     * Checks whether an event has any registered listeners.
     *
     * @param string $eventName The name of the event
     *
     * @return bool true if the specified event has any listeners, false otherwise
     */
    public function hasListeners($eventName = null);
}
vendor/symfony/event-dispatcher/Debug/WrappedListener.php000060400000003326150750356260017672 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\EventDispatcher\Debug;

use Symfony\Component\EventDispatcher\Event;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\Stopwatch\Stopwatch;

/**
 * @author Fabien Potencier <fabien@symfony.com>
 */
class WrappedListener
{
    private $listener;
    private $name;
    private $called;
    private $stoppedPropagation;
    private $stopwatch;
    private $dispatcher;

    public function __construct($listener, $name, Stopwatch $stopwatch, EventDispatcherInterface $dispatcher = null)
    {
        $this->listener = $listener;
        $this->name = $name;
        $this->stopwatch = $stopwatch;
        $this->dispatcher = $dispatcher;
        $this->called = false;
        $this->stoppedPropagation = false;
    }

    public function getWrappedListener()
    {
        return $this->listener;
    }

    public function wasCalled()
    {
        return $this->called;
    }

    public function stoppedPropagation()
    {
        return $this->stoppedPropagation;
    }

    public function __invoke(Event $event, $eventName, EventDispatcherInterface $dispatcher)
    {
        $this->called = true;

        $e = $this->stopwatch->start($this->name, 'event_listener');

        \call_user_func($this->listener, $event, $eventName, $this->dispatcher ?: $dispatcher);

        if ($e->isStarted()) {
            $e->stop();
        }

        if ($event->isPropagationStopped()) {
            $this->stoppedPropagation = true;
        }
    }
}
vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php000060400000026111150750356260021452 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\EventDispatcher\Debug;

use Psr\Log\LoggerInterface;
use Symfony\Component\EventDispatcher\Event;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Stopwatch\Stopwatch;

/**
 * Collects some data about event listeners.
 *
 * This event dispatcher delegates the dispatching to another one.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class TraceableEventDispatcher implements TraceableEventDispatcherInterface
{
    protected $logger;
    protected $stopwatch;

    private $called;
    private $dispatcher;
    private $wrappedListeners;

    public function __construct(EventDispatcherInterface $dispatcher, Stopwatch $stopwatch, LoggerInterface $logger = null)
    {
        $this->dispatcher = $dispatcher;
        $this->stopwatch = $stopwatch;
        $this->logger = $logger;
        $this->called = array();
        $this->wrappedListeners = array();
    }

    /**
     * {@inheritdoc}
     */
    public function addListener($eventName, $listener, $priority = 0)
    {
        $this->dispatcher->addListener($eventName, $listener, $priority);
    }

    /**
     * {@inheritdoc}
     */
    public function addSubscriber(EventSubscriberInterface $subscriber)
    {
        $this->dispatcher->addSubscriber($subscriber);
    }

    /**
     * {@inheritdoc}
     */
    public function removeListener($eventName, $listener)
    {
        if (isset($this->wrappedListeners[$eventName])) {
            foreach ($this->wrappedListeners[$eventName] as $index => $wrappedListener) {
                if ($wrappedListener->getWrappedListener() === $listener) {
                    $listener = $wrappedListener;
                    unset($this->wrappedListeners[$eventName][$index]);
                    break;
                }
            }
        }

        return $this->dispatcher->removeListener($eventName, $listener);
    }

    /**
     * {@inheritdoc}
     */
    public function removeSubscriber(EventSubscriberInterface $subscriber)
    {
        return $this->dispatcher->removeSubscriber($subscriber);
    }

    /**
     * {@inheritdoc}
     */
    public function getListeners($eventName = null)
    {
        return $this->dispatcher->getListeners($eventName);
    }

    /**
     * {@inheritdoc}
     */
    public function getListenerPriority($eventName, $listener)
    {
        if (!method_exists($this->dispatcher, 'getListenerPriority')) {
            return 0;
        }

        return $this->dispatcher->getListenerPriority($eventName, $listener);
    }

    /**
     * {@inheritdoc}
     */
    public function hasListeners($eventName = null)
    {
        return $this->dispatcher->hasListeners($eventName);
    }

    /**
     * {@inheritdoc}
     */
    public function dispatch($eventName, Event $event = null)
    {
        if (null === $event) {
            $event = new Event();
        }

        if (null !== $this->logger && $event->isPropagationStopped()) {
            $this->logger->debug(sprintf('The "%s" event is already stopped. No listeners have been called.', $eventName));
        }

        $this->preProcess($eventName);
        $this->preDispatch($eventName, $event);

        $e = $this->stopwatch->start($eventName, 'section');

        $this->dispatcher->dispatch($eventName, $event);

        if ($e->isStarted()) {
            $e->stop();
        }

        $this->postDispatch($eventName, $event);
        $this->postProcess($eventName);

        return $event;
    }

    /**
     * {@inheritdoc}
     */
    public function getCalledListeners()
    {
        $called = array();
        foreach ($this->called as $eventName => $listeners) {
            foreach ($listeners as $listener) {
                $info = $this->getListenerInfo($listener->getWrappedListener(), $eventName);
                $called[$eventName.'.'.$info['pretty']] = $info;
            }
        }

        return $called;
    }

    /**
     * {@inheritdoc}
     */
    public function getNotCalledListeners()
    {
        try {
            $allListeners = $this->getListeners();
        } catch (\Exception $e) {
            if (null !== $this->logger) {
                $this->logger->info('An exception was thrown while getting the uncalled listeners.', array('exception' => $e));
            }

            // unable to retrieve the uncalled listeners
            return array();
        }

        $notCalled = array();
        foreach ($allListeners as $eventName => $listeners) {
            foreach ($listeners as $listener) {
                $called = false;
                if (isset($this->called[$eventName])) {
                    foreach ($this->called[$eventName] as $l) {
                        if ($l->getWrappedListener() === $listener) {
                            $called = true;

                            break;
                        }
                    }
                }

                if (!$called) {
                    $info = $this->getListenerInfo($listener, $eventName);
                    $notCalled[$eventName.'.'.$info['pretty']] = $info;
                }
            }
        }

        uasort($notCalled, array($this, 'sortListenersByPriority'));

        return $notCalled;
    }

    /**
     * Proxies all method calls to the original event dispatcher.
     *
     * @param string $method    The method name
     * @param array  $arguments The method arguments
     *
     * @return mixed
     */
    public function __call($method, $arguments)
    {
        return \call_user_func_array(array($this->dispatcher, $method), $arguments);
    }

    /**
     * Called before dispatching the event.
     *
     * @param string $eventName The event name
     * @param Event  $event     The event
     */
    protected function preDispatch($eventName, Event $event)
    {
    }

    /**
     * Called after dispatching the event.
     *
     * @param string $eventName The event name
     * @param Event  $event     The event
     */
    protected function postDispatch($eventName, Event $event)
    {
    }

    private function preProcess($eventName)
    {
        foreach ($this->dispatcher->getListeners($eventName) as $listener) {
            $info = $this->getListenerInfo($listener, $eventName);
            $name = isset($info['class']) ? $info['class'] : $info['type'];
            $wrappedListener = new WrappedListener($listener, $name, $this->stopwatch, $this);
            $this->wrappedListeners[$eventName][] = $wrappedListener;
            $this->dispatcher->removeListener($eventName, $listener);
            $this->dispatcher->addListener($eventName, $wrappedListener, $info['priority']);
        }
    }

    private function postProcess($eventName)
    {
        unset($this->wrappedListeners[$eventName]);
        $skipped = false;
        foreach ($this->dispatcher->getListeners($eventName) as $listener) {
            if (!$listener instanceof WrappedListener) { // #12845: a new listener was added during dispatch.
                continue;
            }
            // Unwrap listener
            $priority = $this->getListenerPriority($eventName, $listener);
            $this->dispatcher->removeListener($eventName, $listener);
            $this->dispatcher->addListener($eventName, $listener->getWrappedListener(), $priority);

            $info = $this->getListenerInfo($listener->getWrappedListener(), $eventName);
            if ($listener->wasCalled()) {
                if (null !== $this->logger) {
                    $this->logger->debug(sprintf('Notified event "%s" to listener "%s".', $eventName, $info['pretty']));
                }

                if (!isset($this->called[$eventName])) {
                    $this->called[$eventName] = new \SplObjectStorage();
                }

                $this->called[$eventName]->attach($listener);
            }

            if (null !== $this->logger && $skipped) {
                $this->logger->debug(sprintf('Listener "%s" was not called for event "%s".', $info['pretty'], $eventName));
            }

            if ($listener->stoppedPropagation()) {
                if (null !== $this->logger) {
                    $this->logger->debug(sprintf('Listener "%s" stopped propagation of the event "%s".', $info['pretty'], $eventName));
                }

                $skipped = true;
            }
        }
    }

    /**
     * Returns information about the listener.
     *
     * @param object $listener  The listener
     * @param string $eventName The event name
     *
     * @return array Information about the listener
     */
    private function getListenerInfo($listener, $eventName)
    {
        $info = array(
            'event' => $eventName,
            'priority' => $this->getListenerPriority($eventName, $listener),
        );

        // unwrap for correct listener info
        if ($listener instanceof WrappedListener) {
            $listener = $listener->getWrappedListener();
        }

        if ($listener instanceof \Closure) {
            $info += array(
                'type' => 'Closure',
                'pretty' => 'closure',
            );
        } elseif (\is_string($listener)) {
            try {
                $r = new \ReflectionFunction($listener);
                $file = $r->getFileName();
                $line = $r->getStartLine();
            } catch (\ReflectionException $e) {
                $file = null;
                $line = null;
            }
            $info += array(
                'type' => 'Function',
                'function' => $listener,
                'file' => $file,
                'line' => $line,
                'pretty' => $listener,
            );
        } elseif (\is_array($listener) || (\is_object($listener) && \is_callable($listener))) {
            if (!\is_array($listener)) {
                $listener = array($listener, '__invoke');
            }
            $class = \is_object($listener[0]) ? \get_class($listener[0]) : $listener[0];
            try {
                $r = new \ReflectionMethod($class, $listener[1]);
                $file = $r->getFileName();
                $line = $r->getStartLine();
            } catch (\ReflectionException $e) {
                $file = null;
                $line = null;
            }
            $info += array(
                'type' => 'Method',
                'class' => $class,
                'method' => $listener[1],
                'file' => $file,
                'line' => $line,
                'pretty' => $class.'::'.$listener[1],
            );
        }

        return $info;
    }

    private function sortListenersByPriority($a, $b)
    {
        if (\is_int($a['priority']) && !\is_int($b['priority'])) {
            return 1;
        }

        if (!\is_int($a['priority']) && \is_int($b['priority'])) {
            return -1;
        }

        if ($a['priority'] === $b['priority']) {
            return 0;
        }

        if ($a['priority'] > $b['priority']) {
            return -1;
        }

        return 1;
    }
}
vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php000060400000001443150750356260023274 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\EventDispatcher\Debug;

use Symfony\Component\EventDispatcher\EventDispatcherInterface;

/**
 * @author Fabien Potencier <fabien@symfony.com>
 */
interface TraceableEventDispatcherInterface extends EventDispatcherInterface
{
    /**
     * Gets the called listeners.
     *
     * @return array An array of called listeners
     */
    public function getCalledListeners();

    /**
     * Gets the not called listeners.
     *
     * @return array An array of not called listeners
     */
    public function getNotCalledListeners();
}
vendor/symfony/event-dispatcher/GenericEvent.php000060400000007173150750356260016116 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\EventDispatcher;

/**
 * Event encapsulation class.
 *
 * Encapsulates events thus decoupling the observer from the subject they encapsulate.
 *
 * @author Drak <drak@zikula.org>
 */
class GenericEvent extends Event implements \ArrayAccess, \IteratorAggregate
{
    protected $subject;
    protected $arguments;

    /**
     * Encapsulate an event with $subject and $args.
     *
     * @param mixed $subject   The subject of the event, usually an object or a callable
     * @param array $arguments Arguments to store in the event
     */
    public function __construct($subject = null, array $arguments = array())
    {
        $this->subject = $subject;
        $this->arguments = $arguments;
    }

    /**
     * Getter for subject property.
     *
     * @return mixed The observer subject
     */
    public function getSubject()
    {
        return $this->subject;
    }

    /**
     * Get argument by key.
     *
     * @param string $key Key
     *
     * @return mixed Contents of array key
     *
     * @throws \InvalidArgumentException if key is not found
     */
    public function getArgument($key)
    {
        if ($this->hasArgument($key)) {
            return $this->arguments[$key];
        }

        throw new \InvalidArgumentException(sprintf('Argument "%s" not found.', $key));
    }

    /**
     * Add argument to event.
     *
     * @param string $key   Argument name
     * @param mixed  $value Value
     *
     * @return $this
     */
    public function setArgument($key, $value)
    {
        $this->arguments[$key] = $value;

        return $this;
    }

    /**
     * Getter for all arguments.
     *
     * @return array
     */
    public function getArguments()
    {
        return $this->arguments;
    }

    /**
     * Set args property.
     *
     * @param array $args Arguments
     *
     * @return $this
     */
    public function setArguments(array $args = array())
    {
        $this->arguments = $args;

        return $this;
    }

    /**
     * Has argument.
     *
     * @param string $key Key of arguments array
     *
     * @return bool
     */
    public function hasArgument($key)
    {
        return array_key_exists($key, $this->arguments);
    }

    /**
     * ArrayAccess for argument getter.
     *
     * @param string $key Array key
     *
     * @return mixed
     *
     * @throws \InvalidArgumentException if key does not exist in $this->args
     */
    public function offsetGet($key)
    {
        return $this->getArgument($key);
    }

    /**
     * ArrayAccess for argument setter.
     *
     * @param string $key   Array key to set
     * @param mixed  $value Value
     */
    public function offsetSet($key, $value)
    {
        $this->setArgument($key, $value);
    }

    /**
     * ArrayAccess for unset argument.
     *
     * @param string $key Array key
     */
    public function offsetUnset($key)
    {
        if ($this->hasArgument($key)) {
            unset($this->arguments[$key]);
        }
    }

    /**
     * ArrayAccess has argument.
     *
     * @param string $key Array key
     *
     * @return bool
     */
    public function offsetExists($key)
    {
        return $this->hasArgument($key);
    }

    /**
     * IteratorAggregate for iterating over the object like an array.
     *
     * @return \ArrayIterator
     */
    public function getIterator()
    {
        return new \ArrayIterator($this->arguments);
    }
}
vendor/symfony/event-dispatcher/Event.php000060400000006644150750356260014623 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\EventDispatcher;

/**
 * Event is the base class for classes containing event data.
 *
 * This class contains no event data. It is used by events that do not pass
 * state information to an event handler when an event is raised.
 *
 * You can call the method stopPropagation() to abort the execution of
 * further listeners in your event listener.
 *
 * @author Guilherme Blanco <guilhermeblanco@hotmail.com>
 * @author Jonathan Wage <jonwage@gmail.com>
 * @author Roman Borschel <roman@code-factory.org>
 * @author Bernhard Schussek <bschussek@gmail.com>
 */
class Event
{
    /**
     * @var bool Whether no further event listeners should be triggered
     */
    private $propagationStopped = false;

    /**
     * @var EventDispatcherInterface Dispatcher that dispatched this event
     */
    private $dispatcher;

    /**
     * @var string This event's name
     */
    private $name;

    /**
     * Returns whether further event listeners should be triggered.
     *
     * @see Event::stopPropagation()
     *
     * @return bool Whether propagation was already stopped for this event
     */
    public function isPropagationStopped()
    {
        return $this->propagationStopped;
    }

    /**
     * Stops the propagation of the event to further event listeners.
     *
     * If multiple event listeners are connected to the same event, no
     * further event listener will be triggered once any trigger calls
     * stopPropagation().
     */
    public function stopPropagation()
    {
        $this->propagationStopped = true;
    }

    /**
     * Stores the EventDispatcher that dispatches this Event.
     *
     * @param EventDispatcherInterface $dispatcher
     *
     * @deprecated since version 2.4, to be removed in 3.0. The event dispatcher is passed to the listener call.
     */
    public function setDispatcher(EventDispatcherInterface $dispatcher)
    {
        $this->dispatcher = $dispatcher;
    }

    /**
     * Returns the EventDispatcher that dispatches this Event.
     *
     * @return EventDispatcherInterface
     *
     * @deprecated since version 2.4, to be removed in 3.0. The event dispatcher is passed to the listener call.
     */
    public function getDispatcher()
    {
        @trigger_error('The '.__METHOD__.' method is deprecated since Symfony 2.4 and will be removed in 3.0. The event dispatcher instance can be received in the listener call instead.', E_USER_DEPRECATED);

        return $this->dispatcher;
    }

    /**
     * Gets the event's name.
     *
     * @return string
     *
     * @deprecated since version 2.4, to be removed in 3.0. The event name is passed to the listener call.
     */
    public function getName()
    {
        @trigger_error('The '.__METHOD__.' method is deprecated since Symfony 2.4 and will be removed in 3.0. The event name can be received in the listener call instead.', E_USER_DEPRECATED);

        return $this->name;
    }

    /**
     * Sets the event's name property.
     *
     * @param string $name The event name
     *
     * @deprecated since version 2.4, to be removed in 3.0. The event name is passed to the listener call.
     */
    public function setName($name)
    {
        $this->name = $name;
    }
}
vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php000060400000010322150750356260023753 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\EventDispatcher\DependencyInjection;

use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;

/**
 * Compiler pass to register tagged services for an event dispatcher.
 */
class RegisterListenersPass implements CompilerPassInterface
{
    protected $dispatcherService;
    protected $listenerTag;
    protected $subscriberTag;

    /**
     * @param string $dispatcherService Service name of the event dispatcher in processed container
     * @param string $listenerTag       Tag name used for listener
     * @param string $subscriberTag     Tag name used for subscribers
     */
    public function __construct($dispatcherService = 'event_dispatcher', $listenerTag = 'kernel.event_listener', $subscriberTag = 'kernel.event_subscriber')
    {
        $this->dispatcherService = $dispatcherService;
        $this->listenerTag = $listenerTag;
        $this->subscriberTag = $subscriberTag;
    }

    public function process(ContainerBuilder $container)
    {
        if (!$container->hasDefinition($this->dispatcherService) && !$container->hasAlias($this->dispatcherService)) {
            return;
        }

        $definition = $container->findDefinition($this->dispatcherService);

        foreach ($container->findTaggedServiceIds($this->listenerTag) as $id => $events) {
            $def = $container->getDefinition($id);
            if (!$def->isPublic()) {
                throw new \InvalidArgumentException(sprintf('The service "%s" must be public as event listeners are lazy-loaded.', $id));
            }

            if ($def->isAbstract()) {
                throw new \InvalidArgumentException(sprintf('The service "%s" must not be abstract as event listeners are lazy-loaded.', $id));
            }

            foreach ($events as $event) {
                $priority = isset($event['priority']) ? $event['priority'] : 0;

                if (!isset($event['event'])) {
                    throw new \InvalidArgumentException(sprintf('Service "%s" must define the "event" attribute on "%s" tags.', $id, $this->listenerTag));
                }

                if (!isset($event['method'])) {
                    $event['method'] = 'on'.preg_replace_callback(array(
                        '/(?<=\b)[a-z]/i',
                        '/[^a-z0-9]/i',
                    ), function ($matches) { return strtoupper($matches[0]); }, $event['event']);
                    $event['method'] = preg_replace('/[^a-z0-9]/i', '', $event['method']);
                }

                $definition->addMethodCall('addListenerService', array($event['event'], array($id, $event['method']), $priority));
            }
        }

        foreach ($container->findTaggedServiceIds($this->subscriberTag) as $id => $attributes) {
            $def = $container->getDefinition($id);
            if (!$def->isPublic()) {
                throw new \InvalidArgumentException(sprintf('The service "%s" must be public as event subscribers are lazy-loaded.', $id));
            }

            if ($def->isAbstract()) {
                throw new \InvalidArgumentException(sprintf('The service "%s" must not be abstract as event subscribers are lazy-loaded.', $id));
            }

            // We must assume that the class value has been correctly filled, even if the service is created by a factory
            $class = $container->getParameterBag()->resolveValue($def->getClass());
            $interface = 'Symfony\Component\EventDispatcher\EventSubscriberInterface';

            if (!is_subclass_of($class, $interface)) {
                if (!class_exists($class, false)) {
                    throw new \InvalidArgumentException(sprintf('Class "%s" used for service "%s" cannot be found.', $class, $id));
                }

                throw new \InvalidArgumentException(sprintf('Service "%s" must implement interface "%s".', $id, $interface));
            }

            $definition->addMethodCall('addSubscriberService', array($id, $class));
        }
    }
}
vendor/symfony/polyfill-ctype/bootstrap.php000060400000002123150750356260015252 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

use Symfony\Polyfill\Ctype as p;

if (!function_exists('ctype_alnum')) {
    function ctype_alnum($text) { return p\Ctype::ctype_alnum($text); }
    function ctype_alpha($text) { return p\Ctype::ctype_alpha($text); }
    function ctype_cntrl($text) { return p\Ctype::ctype_cntrl($text); }
    function ctype_digit($text) { return p\Ctype::ctype_digit($text); }
    function ctype_graph($text) { return p\Ctype::ctype_graph($text); }
    function ctype_lower($text) { return p\Ctype::ctype_lower($text); }
    function ctype_print($text) { return p\Ctype::ctype_print($text); }
    function ctype_punct($text) { return p\Ctype::ctype_punct($text); }
    function ctype_space($text) { return p\Ctype::ctype_space($text); }
    function ctype_upper($text) { return p\Ctype::ctype_upper($text); }
    function ctype_xdigit($text) { return p\Ctype::ctype_xdigit($text); }
}
vendor/symfony/polyfill-ctype/composer.json000060400000001534150750356260015253 0ustar00{
    "name": "symfony/polyfill-ctype",
    "type": "library",
    "description": "Symfony polyfill for ctype functions",
    "keywords": ["polyfill", "compatibility", "portable", "ctype"],
    "homepage": "https://symfony.com",
    "license": "MIT",
    "authors": [
        {
            "name": "Gert de Pagter",
            "email": "BackEndTea@gmail.com"
        },
        {
            "name": "Symfony Community",
            "homepage": "https://symfony.com/contributors"
        }
    ],
    "require": {
        "php": ">=5.3.3"
    },
    "autoload": {
        "psr-4": { "Symfony\\Polyfill\\Ctype\\": "" },
        "files": [ "bootstrap.php" ]
    },
    "suggest": {
        "ext-ctype": "For best performance"
    },
    "minimum-stability": "dev",
    "extra": {
        "branch-alias": {
            "dev-master": "1.15-dev"
        }
    }
}
vendor/symfony/polyfill-ctype/Ctype.php000060400000014175150750356260014333 0ustar00<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Polyfill\Ctype;

/**
 * Ctype implementation through regex.
 *
 * @internal
 *
 * @author Gert de Pagter <BackEndTea@gmail.com>
 */
final class Ctype
{
    /**
     * Returns TRUE if every character in text is either a letter or a digit, FALSE otherwise.
     *
     * @see https://php.net/ctype-alnum
     *
     * @param string|int $text
     *
     * @return bool
     */
    public static function ctype_alnum($text)
    {
        $text = self::convert_int_to_char_for_ctype($text);

        return \is_string($text) && '' !== $text && !preg_match('/[^A-Za-z0-9]/', $text);
    }

    /**
     * Returns TRUE if every character in text is a letter, FALSE otherwise.
     *
     * @see https://php.net/ctype-alpha
     *
     * @param string|int $text
     *
     * @return bool
     */
    public static function ctype_alpha($text)
    {
        $text = self::convert_int_to_char_for_ctype($text);

        return \is_string($text) && '' !== $text && !preg_match('/[^A-Za-z]/', $text);
    }

    /**
     * Returns TRUE if every character in text is a control character from the current locale, FALSE otherwise.
     *
     * @see https://php.net/ctype-cntrl
     *
     * @param string|int $text
     *
     * @return bool
     */
    public static function ctype_cntrl($text)
    {
        $text = self::convert_int_to_char_for_ctype($text);

        return \is_string($text) && '' !== $text && !preg_match('/[^\x00-\x1f\x7f]/', $text);
    }

    /**
     * Returns TRUE if every character in the string text is a decimal digit, FALSE otherwise.
     *
     * @see https://php.net/ctype-digit
     *
     * @param string|int $text
     *
     * @return bool
     */
    public static function ctype_digit($text)
    {
        $text = self::convert_int_to_char_for_ctype($text);

        return \is_string($text) && '' !== $text && !preg_match('/[^0-9]/', $text);
    }

    /**
     * Returns TRUE if every character in text is printable and actually creates visible output (no white space), FALSE otherwise.
     *
     * @see https://php.net/ctype-graph
     *
     * @param string|int $text
     *
     * @return bool
     */
    public static function ctype_graph($text)
    {
        $text = self::convert_int_to_char_for_ctype($text);

        return \is_string($text) && '' !== $text && !preg_match('/[^!-~]/', $text);
    }

    /**
     * Returns TRUE if every character in text is a lowercase letter.
     *
     * @see https://php.net/ctype-lower
     *
     * @param string|int $text
     *
     * @return bool
     */
    public static function ctype_lower($text)
    {
        $text = self::convert_int_to_char_for_ctype($text);

        return \is_string($text) && '' !== $text && !preg_match('/[^a-z]/', $text);
    }

    /**
     * Returns TRUE if every character in text will actually create output (including blanks). Returns FALSE if text contains control characters or characters that do not have any output or control function at all.
     *
     * @see https://php.net/ctype-print
     *
     * @param string|int $text
     *
     * @return bool
     */
    public static function ctype_print($text)
    {
        $text = self::convert_int_to_char_for_ctype($text);

        return \is_string($text) && '' !== $text && !preg_match('/[^ -~]/', $text);
    }

    /**
     * Returns TRUE if every character in text is printable, but neither letter, digit or blank, FALSE otherwise.
     *
     * @see https://php.net/ctype-punct
     *
     * @param string|int $text
     *
     * @return bool
     */
    public static function ctype_punct($text)
    {
        $text = self::convert_int_to_char_for_ctype($text);

        return \is_string($text) && '' !== $text && !preg_match('/[^!-\/\:-@\[-`\{-~]/', $text);
    }

    /**
     * Returns TRUE if every character in text creates some sort of white space, FALSE otherwise. Besides the blank character this also includes tab, vertical tab, line feed, carriage return and form feed characters.
     *
     * @see https://php.net/ctype-space
     *
     * @param string|int $text
     *
     * @return bool
     */
    public static function ctype_space($text)
    {
        $text = self::convert_int_to_char_for_ctype($text);

        return \is_string($text) && '' !== $text && !preg_match('/[^\s]/', $text);
    }

    /**
     * Returns TRUE if every character in text is an uppercase letter.
     *
     * @see https://php.net/ctype-upper
     *
     * @param string|int $text
     *
     * @return bool
     */
    public static function ctype_upper($text)
    {
        $text = self::convert_int_to_char_for_ctype($text);

        return \is_string($text) && '' !== $text && !preg_match('/[^A-Z]/', $text);
    }

    /**
     * Returns TRUE if every character in text is a hexadecimal 'digit', that is a decimal digit or a character from [A-Fa-f] , FALSE otherwise.
     *
     * @see https://php.net/ctype-xdigit
     *
     * @param string|int $text
     *
     * @return bool
     */
    public static function ctype_xdigit($text)
    {
        $text = self::convert_int_to_char_for_ctype($text);

        return \is_string($text) && '' !== $text && !preg_match('/[^A-Fa-f0-9]/', $text);
    }

    /**
     * Converts integers to their char versions according to normal ctype behaviour, if needed.
     *
     * If an integer between -128 and 255 inclusive is provided,
     * it is interpreted as the ASCII value of a single character
     * (negative values have 256 added in order to allow characters in the Extended ASCII range).
     * Any other integer is interpreted as a string containing the decimal digits of the integer.
     *
     * @param string|int $int
     *
     * @return mixed
     */
    private static function convert_int_to_char_for_ctype($int)
    {
        if (!\is_int($int)) {
            return $int;
        }

        if ($int < -128 || $int > 255) {
            return (string) $int;
        }

        if ($int < 0) {
            $int += 256;
        }

        return \chr($int);
    }
}
vendor/leafo/scssphp/composer.json000060400000002127150750356260013343 0ustar00{
    "name": "leafo/scssphp",
    "type": "library",
    "description": "scssphp is a compiler for SCSS written in PHP.",
    "keywords": ["css", "stylesheet", "scss", "sass", "less"],
    "homepage": "http://leafo.github.io/scssphp/",
    "license": [
        "MIT"
    ],
    "authors": [
        {
            "name": "Leaf Corcoran",
            "email": "leafot@gmail.com",
            "homepage": "http://leafo.net"
        }
    ],
    "autoload": {
        "psr-4": { "Leafo\\ScssPhp\\": "src/" }
    },
    "autoload-dev": {
        "psr-4": { "Leafo\\ScssPhp\\Test\\": "tests/" }
    },
    "require": {
        "php": "^5.4.0 || ^7"
    },
    "require-dev": {
        "squizlabs/php_codesniffer": "~2.5",
        "phpunit/phpunit": "~4.6",
        "twbs/bootstrap": "~4.3",
        "zurb/foundation": "~6.5"
    },
    "bin": ["bin/pscss"],
    "archive": {
        "exclude": [
            "/Makefile",
            "/.gitattributes",
            "/.gitignore",
            "/.travis.yml",
            "/phpunit.xml.dist",
            "/tests"
        ]
    },
    "abandoned": "scssphp/scssphp"
}
vendor/leafo/scssphp/example/Server.php000060400000033223150750356260014234 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2017 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp;

use Leafo\ScssPhp\Compiler;
use Leafo\ScssPhp\Exception\ServerException;
use Leafo\ScssPhp\Version;

/**
 * Server
 *
 * @author Leaf Corcoran <leafot@gmail.com>
 */
class Server
{
    /**
     * @var boolean
     */
    private $showErrorsAsCSS;

    /**
     * @var string
     */
    private $dir;

    /**
     * @var string
     */
    private $cacheDir;

    /**
     * @var \Leafo\ScssPhp\Compiler
     */
    private $scss;

    /**
     * Join path components
     *
     * @param string $left  Path component, left of the directory separator
     * @param string $right Path component, right of the directory separator
     *
     * @return string
     */
    protected function join($left, $right)
    {
        return rtrim($left, '/\\') . DIRECTORY_SEPARATOR . ltrim($right, '/\\');
    }

    /**
     * Get name of requested .scss file
     *
     * @return string|null
     */
    protected function inputName()
    {
        switch (true) {
            case isset($_GET['p']):
                return $_GET['p'];
            case isset($_SERVER['PATH_INFO']):
                return $_SERVER['PATH_INFO'];
            case isset($_SERVER['DOCUMENT_URI']):
                return substr($_SERVER['DOCUMENT_URI'], strlen($_SERVER['SCRIPT_NAME']));
        }
    }

    /**
     * Get path to requested .scss file
     *
     * @return string
     */
    protected function findInput()
    {
        if (($input = $this->inputName())
            && strpos($input, '..') === false
            && substr($input, -5) === '.scss'
        ) {
            $name = $this->join($this->dir, $input);

            if (is_file($name) && is_readable($name)) {
                return $name;
            }
        }

        return false;
    }

    /**
     * Get path to cached .css file
     *
     * @return string
     */
    protected function cacheName($fname)
    {
        return $this->join($this->cacheDir, md5($fname) . '.css');
    }

    /**
     * Get path to meta data
     *
     * @return string
     */
    protected function metadataName($out)
    {
        return $out . '.meta';
    }

    /**
     * Determine whether .scss file needs to be re-compiled.
     *
     * @param string $out  Output path
     * @param string $etag ETag
     *
     * @return boolean True if compile required.
     */
    protected function needsCompile($out, &$etag)
    {
        if (! is_file($out)) {
            return true;
        }

        $mtime = filemtime($out);

        $metadataName = $this->metadataName($out);

        if (is_readable($metadataName)) {
            $metadata = unserialize(file_get_contents($metadataName));

            foreach ($metadata['imports'] as $import => $originalMtime) {
                $currentMtime = filemtime($import);

                if ($currentMtime !== $originalMtime || $currentMtime > $mtime) {
                    return true;
                }
            }

            $metaVars = crc32(serialize($this->scss->getVariables()));

            if ($metaVars !== $metadata['vars']) {
                return true;
            }

            $etag = $metadata['etag'];

            return false;
        }

        return true;
    }

    /**
     * Get If-Modified-Since header from client request
     *
     * @return string|null
     */
    protected function getIfModifiedSinceHeader()
    {
        $modifiedSince = null;

        if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
            $modifiedSince = $_SERVER['HTTP_IF_MODIFIED_SINCE'];

            if (false !== ($semicolonPos = strpos($modifiedSince, ';'))) {
                $modifiedSince = substr($modifiedSince, 0, $semicolonPos);
            }
        }

        return $modifiedSince;
    }

    /**
     * Get If-None-Match header from client request
     *
     * @return string|null
     */
    protected function getIfNoneMatchHeader()
    {
        $noneMatch = null;

        if (isset($_SERVER['HTTP_IF_NONE_MATCH'])) {
            $noneMatch = $_SERVER['HTTP_IF_NONE_MATCH'];
        }

        return $noneMatch;
    }

    /**
     * Compile .scss file
     *
     * @param string $in  Input path (.scss)
     * @param string $out Output path (.css)
     *
     * @return array
     */
    protected function compile($in, $out)
    {
        $start   = microtime(true);
        $css     = $this->scss->compile(file_get_contents($in), $in);
        $elapsed = round((microtime(true) - $start), 4);

        $v    = Version::VERSION;
        $t    = gmdate('r');
        $css  = "/* compiled by scssphp $v on $t (${elapsed}s) */\n\n" . $css;
        $etag = md5($css);

        file_put_contents($out, $css);
        file_put_contents(
            $this->metadataName($out),
            serialize([
                'etag'    => $etag,
                'imports' => $this->scss->getParsedFiles(),
                'vars'    => crc32(serialize($this->scss->getVariables())),
            ])
        );

        return [$css, $etag];
    }

    /**
     * Format error as a pseudo-element in CSS
     *
     * @param \Exception $error
     *
     * @return string
     */
    protected function createErrorCSS(\Exception $error)
    {
        $message = str_replace(
            ["'", "\n"],
            ["\\'", "\\A"],
            $error->getfile() . ":\n\n" . $error->getMessage()
        );

        return "body { display: none !important; }
                html:after {
                    background: white;
                    color: black;
                    content: '$message';
                    display: block !important;
                    font-family: mono;
                    padding: 1em;
                    white-space: pre;
                }";
    }

    /**
     * Render errors as a pseudo-element within valid CSS, displaying the errors on any
     * page that includes this CSS.
     *
     * @param boolean $show
     */
    public function showErrorsAsCSS($show = true)
    {
        $this->showErrorsAsCSS = $show;
    }

    /**
     * Compile .scss file
     *
     * @param string $in  Input file (.scss)
     * @param string $out Output file (.css) optional
     *
     * @return string|bool
     *
     * @throws \Leafo\ScssPhp\Exception\ServerException
     */
    public function compileFile($in, $out = null)
    {
        if (! is_readable($in)) {
            throw new ServerException('load error: failed to find ' . $in);
        }

        $pi = pathinfo($in);

        $this->scss->addImportPath($pi['dirname'] . '/');

        $compiled = $this->scss->compile(file_get_contents($in), $in);

        if ($out !== null) {
            return file_put_contents($out, $compiled);
        }

        return $compiled;
    }

    /**
     * Check if file need compiling
     *
     * @param string $in  Input file (.scss)
     * @param string $out Output file (.css)
     *
     * @return bool
     */
    public function checkedCompile($in, $out)
    {
        if (! is_file($out) || filemtime($in) > filemtime($out)) {
            $this->compileFile($in, $out);

            return true;
        }

        return false;
    }

    /**
     * Compile requested scss and serve css.  Outputs HTTP response.
     *
     * @param string $salt Prefix a string to the filename for creating the cache name hash
     */
    public function serve($salt = '')
    {
        $protocol = isset($_SERVER['SERVER_PROTOCOL'])
            ? $_SERVER['SERVER_PROTOCOL']
            : 'HTTP/1.0';

        if ($input = $this->findInput()) {
            $output = $this->cacheName($salt . $input);
            $etag = $noneMatch = trim($this->getIfNoneMatchHeader(), '"');

            if ($this->needsCompile($output, $etag)) {
                try {
                    list($css, $etag) = $this->compile($input, $output);

                    $lastModified = gmdate('r', filemtime($output));

                    header('Last-Modified: ' . $lastModified);
                    header('Content-type: text/css');
                    header('ETag: "' . $etag . '"');

                    echo $css;
                } catch (\Exception $e) {
                    if ($this->showErrorsAsCSS) {
                        header('Content-type: text/css');

                        echo $this->createErrorCSS($e);
                    } else {
                        header($protocol . ' 500 Internal Server Error');
                        header('Content-type: text/plain');

                        echo 'Parse error: ' . $e->getMessage() . "\n";
                    }
                }

                return;
            }

            header('X-SCSS-Cache: true');
            header('Content-type: text/css');
            header('ETag: "' . $etag . '"');

            if ($etag === $noneMatch) {
                header($protocol . ' 304 Not Modified');

                return;
            }

            $modifiedSince = $this->getIfModifiedSinceHeader();
            $mtime = filemtime($output);

            if (strtotime($modifiedSince) === $mtime) {
                header($protocol . ' 304 Not Modified');

                return;
            }

            $lastModified  = gmdate('r', $mtime);
            header('Last-Modified: ' . $lastModified);

            echo file_get_contents($output);

            return;
        }

        header($protocol . ' 404 Not Found');
        header('Content-type: text/plain');

        $v = Version::VERSION;
        echo "/* INPUT NOT FOUND scss $v */\n";
    }

    /**
     * Based on explicit input/output files does a full change check on cache before compiling.
     *
     * @param string  $in
     * @param string  $out
     * @param boolean $force
     *
     * @return string Compiled CSS results
     *
     * @throws \Leafo\ScssPhp\Exception\ServerException
     */
    public function checkedCachedCompile($in, $out, $force = false)
    {
        if (! is_file($in) || ! is_readable($in)) {
            throw new ServerException('Invalid or unreadable input file specified.');
        }

        if (is_dir($out) || ! is_writable(file_exists($out) ? $out : dirname($out))) {
            throw new ServerException('Invalid or unwritable output file specified.');
        }

        if ($force || $this->needsCompile($out, $etag)) {
            list($css, $etag) = $this->compile($in, $out);
        } else {
            $css = file_get_contents($out);
        }

        return $css;
    }

    /**
     * Execute scssphp on a .scss file or a scssphp cache structure
     *
     * The scssphp cache structure contains information about a specific
     * scss file having been parsed. It can be used as a hint for future
     * calls to determine whether or not a rebuild is required.
     *
     * The cache structure contains two important keys that may be used
     * externally:
     *
     * compiled: The final compiled CSS
     * updated: The time (in seconds) the CSS was last compiled
     *
     * The cache structure is a plain-ol' PHP associative array and can
     * be serialized and unserialized without a hitch.
     *
     * @param mixed   $in    Input
     * @param boolean $force Force rebuild?
     *
     * @return array scssphp cache structure
     */
    public function cachedCompile($in, $force = false)
    {
        // assume no root
        $root = null;

        if (is_string($in)) {
            $root = $in;
        } elseif (is_array($in) and isset($in['root'])) {
            if ($force or ! isset($in['files'])) {
                // If we are forcing a recompile or if for some reason the
                // structure does not contain any file information we should
                // specify the root to trigger a rebuild.
                $root = $in['root'];
            } elseif (isset($in['files']) and is_array($in['files'])) {
                foreach ($in['files'] as $fname => $ftime) {
                    if (! file_exists($fname) or filemtime($fname) > $ftime) {
                        // One of the files we knew about previously has changed
                        // so we should look at our incoming root again.
                        $root = $in['root'];
                        break;
                    }
                }
            }
        } else {
            // TODO: Throw an exception? We got neither a string nor something
            // that looks like a compatible lessphp cache structure.
            return null;
        }

        if ($root !== null) {
            // If we have a root value which means we should rebuild.
            $out = [];
            $out['root'] = $root;
            $out['compiled'] = $this->compileFile($root);
            $out['files'] = $this->scss->getParsedFiles();
            $out['updated'] = time();
            return $out;
        } else {
            // No changes, pass back the structure
            // we were given initially.
            return $in;
        }
    }

    /**
     * Constructor
     *
     * @param string                       $dir      Root directory to .scss files
     * @param string                       $cacheDir Cache directory
     * @param \Leafo\ScssPhp\Compiler|null $scss     SCSS compiler instance
     */
    public function __construct($dir, $cacheDir = null, $scss = null)
    {
        $this->dir = $dir;

        if (! isset($cacheDir)) {
            $cacheDir = $this->join($dir, 'scss_cache');
        }

        $this->cacheDir = $cacheDir;

        if (! is_dir($this->cacheDir)) {
            throw new ServerException('Cache directory doesn\'t exist: ' . $cacheDir);
        }

        if (! isset($scss)) {
            $scss = new Compiler();
            $scss->setImportPaths($this->dir);
        }

        $this->scss = $scss;
        $this->showErrorsAsCSS = false;

        date_default_timezone_set('UTC');
    }
}
vendor/leafo/scssphp/src/SourceMap/Base64VLQ.php000060400000007076150750356260015436 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2015 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp\SourceMap;

use Leafo\ScssPhp\SourceMap\Base64;

/**
 * Base 64 VLQ
 *
 * Based on the Base 64 VLQ implementation in Closure Compiler:
 * https://github.com/google/closure-compiler/blob/master/src/com/google/debugging/sourcemap/Base64VLQ.java
 *
 * Copyright 2011 The Closure Compiler Authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * @author John Lenz <johnlenz@google.com>
 * @author Anthon Pang <anthon.pang@gmail.com>
 */
class Base64VLQ
{
    // A Base64 VLQ digit can represent 5 bits, so it is base-32.
    const VLQ_BASE_SHIFT = 5;

    // A mask of bits for a VLQ digit (11111), 31 decimal.
    const VLQ_BASE_MASK = 31;

    // The continuation bit is the 6th bit.
    const VLQ_CONTINUATION_BIT = 32;

    /**
     * Returns the VLQ encoded value.
     *
     * @param integer $value
     *
     * @return string
     */
    public static function encode($value)
    {
        $encoded = '';
        $vlq = self::toVLQSigned($value);

        do {
            $digit = $vlq & self::VLQ_BASE_MASK;
            $vlq >>= self::VLQ_BASE_SHIFT;

            if ($vlq > 0) {
                $digit |= self::VLQ_CONTINUATION_BIT;
            }

            $encoded .= Base64::encode($digit);
        } while ($vlq > 0);

        return $encoded;
    }

    /**
     * Decodes VLQValue.
     *
     * @param string $str
     * @param integer $index
     *
     * @return integer
     */
    public static function decode($str, &$index)
    {
        $result = 0;
        $shift = 0;

        do {
            $c = $str[$index++];
            $digit = Base64::decode($c);
            $continuation = ($digit & self::VLQ_CONTINUATION_BIT) != 0;
            $digit &= self::VLQ_BASE_MASK;
            $result = $result + ($digit << $shift);
            $shift = $shift + self::VLQ_BASE_SHIFT;
        } while ($continuation);

        return self::fromVLQSigned($result);
    }

    /**
     * Converts from a two-complement value to a value where the sign bit is
     * is placed in the least significant bit.  For example, as decimals:
     *   1 becomes 2 (10 binary), -1 becomes 3 (11 binary)
     *   2 becomes 4 (100 binary), -2 becomes 5 (101 binary)
     *
     * @param integer $value
     *
     * @return integer
     */
    private static function toVLQSigned($value)
    {
        if ($value < 0) {
            return ((-$value) << 1) + 1;
        }

        return ($value << 1) + 0;
    }

    /**
     * Converts to a two-complement value from a value where the sign bit is
     * is placed in the least significant bit.  For example, as decimals:
     *   2 (10 binary) becomes 1, 3 (11 binary) becomes -1
     *   4 (100 binary) becomes 2, 5 (101 binary) becomes -2
     *
     * @param integer $value
     *
     * @return integer
     */
    private static function fromVLQSigned($value)
    {
        $negate = ($value & 1) === 1;
        $value = $value >> 1;

        return $negate ? -$value : $value;
    }
}
vendor/leafo/scssphp/src/SourceMap/SourceMapGenerator.php000060400000023412150750356260017564 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp\SourceMap;

use Leafo\ScssPhp\Exception\CompilerException;

/**
 * Source Map Generator
 *
 * {@internal Derivative of oyejorge/less.php's lib/SourceMap/Generator.php, relicensed with permission. }}
 *
 * @author Josh Schmidt <oyejorge@gmail.com>
 * @author Nicolas FRANÇOIS <nicolas.francois@frog-labs.com>
 */
class SourceMapGenerator
{
    /**
     * What version of source map does the generator generate?
     */
    const VERSION = 3;

    /**
     * Array of default options
     *
     * @var array
     */
    protected $defaultOptions = [
        // an optional source root, useful for relocating source files
        // on a server or removing repeated values in the 'sources' entry.
        // This value is prepended to the individual entries in the 'source' field.
        'sourceRoot' => '',

        // an optional name of the generated code that this source map is associated with.
        'sourceMapFilename' => null,

        // url of the map
        'sourceMapURL' => null,

        // absolute path to a file to write the map to
        'sourceMapWriteTo' => null,

        // output source contents?
        'outputSourceFiles' => false,

        // base path for filename normalization
        'sourceMapRootpath' => '',

        // base path for filename normalization
        'sourceMapBasepath' => ''
    ];

    /**
     * The base64 VLQ encoder
     *
     * @var \Leafo\ScssPhp\SourceMap\Base64VLQ
     */
    protected $encoder;

    /**
     * Array of mappings
     *
     * @var array
     */
    protected $mappings = [];

    /**
     * Array of contents map
     *
     * @var array
     */
    protected $contentsMap = [];

    /**
     * File to content map
     *
     * @var array
     */
    protected $sources = [];
    protected $sourceKeys = [];

    /**
     * @var array
     */
    private $options;

    public function __construct(array $options = [])
    {
        $this->options = array_merge($this->defaultOptions, $options);
        $this->encoder = new Base64VLQ();
    }

    /**
     * Adds a mapping
     *
     * @param integer $generatedLine   The line number in generated file
     * @param integer $generatedColumn The column number in generated file
     * @param integer $originalLine    The line number in original file
     * @param integer $originalColumn  The column number in original file
     * @param string  $sourceFile      The original source file
     */
    public function addMapping($generatedLine, $generatedColumn, $originalLine, $originalColumn, $sourceFile)
    {
        $this->mappings[] = [
            'generated_line'   => $generatedLine,
            'generated_column' => $generatedColumn,
            'original_line'    => $originalLine,
            'original_column'  => $originalColumn,
            'source_file'      => $sourceFile
        ];

        $this->sources[$sourceFile] = $sourceFile;
    }

    /**
     * Saves the source map to a file
     *
     * @param string $content The content to write
     *
     * @return string
     *
     * @throws \Leafo\ScssPhp\Exception\CompilerException If the file could not be saved
     */
    public function saveMap($content)
    {
        $file = $this->options['sourceMapWriteTo'];
        $dir  = dirname($file);

        // directory does not exist
        if (! is_dir($dir)) {
            // FIXME: create the dir automatically?
            throw new CompilerException(
                sprintf('The directory "%s" does not exist. Cannot save the source map.', $dir)
            );
        }

        // FIXME: proper saving, with dir write check!
        if (file_put_contents($file, $content) === false) {
            throw new CompilerException(sprintf('Cannot save the source map to "%s"', $file));
        }

        return $this->options['sourceMapURL'];
    }

    /**
     * Generates the JSON source map
     *
     * @return string
     *
     * @see https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#
     */
    public function generateJson()
    {
        $sourceMap = [];
        $mappings  = $this->generateMappings();

        // File version (always the first entry in the object) and must be a positive integer.
        $sourceMap['version'] = self::VERSION;

        // An optional name of the generated code that this source map is associated with.
        $file = $this->options['sourceMapFilename'];

        if ($file) {
            $sourceMap['file'] = $file;
        }

        // An optional source root, useful for relocating source files on a server or removing repeated values in the
        // 'sources' entry. This value is prepended to the individual entries in the 'source' field.
        $root = $this->options['sourceRoot'];

        if ($root) {
            $sourceMap['sourceRoot'] = $root;
        }

        // A list of original sources used by the 'mappings' entry.
        $sourceMap['sources'] = [];

        foreach ($this->sources as $sourceUri => $sourceFilename) {
            $sourceMap['sources'][] = $this->normalizeFilename($sourceFilename);
        }

        // A list of symbol names used by the 'mappings' entry.
        $sourceMap['names'] = [];

        // A string with the encoded mapping data.
        $sourceMap['mappings'] = $mappings;

        if ($this->options['outputSourceFiles']) {
            // An optional list of source content, useful when the 'source' can't be hosted.
            // The contents are listed in the same order as the sources above.
            // 'null' may be used if some original sources should be retrieved by name.
            $sourceMap['sourcesContent'] = $this->getSourcesContent();
        }

        // less.js compat fixes
        if (count($sourceMap['sources']) && empty($sourceMap['sourceRoot'])) {
            unset($sourceMap['sourceRoot']);
        }

        return json_encode($sourceMap, JSON_UNESCAPED_SLASHES);
    }

    /**
     * Returns the sources contents
     *
     * @return array|null
     */
    protected function getSourcesContent()
    {
        if (empty($this->sources)) {
            return null;
        }

        $content = [];

        foreach ($this->sources as $sourceFile) {
            $content[] = file_get_contents($sourceFile);
        }

        return $content;
    }

    /**
     * Generates the mappings string
     *
     * @return string
     */
    public function generateMappings()
    {
        if (! count($this->mappings)) {
            return '';
        }

        $this->sourceKeys = array_flip(array_keys($this->sources));

        // group mappings by generated line number.
        $groupedMap = $groupedMapEncoded = [];

        foreach ($this->mappings as $m) {
            $groupedMap[$m['generated_line']][] = $m;
        }

        ksort($groupedMap);
        $lastGeneratedLine = $lastOriginalIndex = $lastOriginalLine = $lastOriginalColumn = 0;

        foreach ($groupedMap as $lineNumber => $lineMap) {
            while (++$lastGeneratedLine < $lineNumber) {
                $groupedMapEncoded[] = ';';
            }

            $lineMapEncoded = [];
            $lastGeneratedColumn = 0;

            foreach ($lineMap as $m) {
                $mapEncoded = $this->encoder->encode($m['generated_column'] - $lastGeneratedColumn);
                $lastGeneratedColumn = $m['generated_column'];

                // find the index
                if ($m['source_file']) {
                    $index = $this->findFileIndex($m['source_file']);

                    if ($index !== false) {
                        $mapEncoded .= $this->encoder->encode($index - $lastOriginalIndex);
                        $lastOriginalIndex = $index;
                        // lines are stored 0-based in SourceMap spec version 3
                        $mapEncoded .= $this->encoder->encode($m['original_line'] - 1 - $lastOriginalLine);
                        $lastOriginalLine = $m['original_line'] - 1;
                        $mapEncoded .= $this->encoder->encode($m['original_column'] - $lastOriginalColumn);
                        $lastOriginalColumn = $m['original_column'];
                    }
                }

                $lineMapEncoded[] = $mapEncoded;
            }

            $groupedMapEncoded[] = implode(',', $lineMapEncoded) . ';';
        }

        return rtrim(implode($groupedMapEncoded), ';');
    }

    /**
     * Finds the index for the filename
     *
     * @param string $filename
     *
     * @return integer|false
     */
    protected function findFileIndex($filename)
    {
        return $this->sourceKeys[$filename];
    }

    /**
     * Normalize filename
     *
     * @param string $filename
     *
     * @return string
     */
    protected function normalizeFilename($filename)
    {
        $filename = $this->fixWindowsPath($filename);
        $rootpath = $this->options['sourceMapRootpath'];
        $basePath = $this->options['sourceMapBasepath'];

        // "Trim" the 'sourceMapBasepath' from the output filename.
        if (strlen($basePath) && strpos($filename, $basePath) === 0) {
            $filename = substr($filename, strlen($basePath));
        }

        // Remove extra leading path separators.
        if (strpos($filename, '\\') === 0 || strpos($filename, '/') === 0) {
            $filename = substr($filename, 1);
        }

        return $rootpath . $filename;
    }

    /**
     * Fix windows paths
     *
     * @param string  $path
     * @param boolean $addEndSlash
     *
     * @return string
     */
    public function fixWindowsPath($path, $addEndSlash = false)
    {
        $slash = ($addEndSlash) ? '/' : '';

        if (! empty($path)) {
            $path = str_replace('\\', '/', $path);
            $path = rtrim($path, '/') . $slash;
        }

        return $path;
    }
}
vendor/leafo/scssphp/src/SourceMap/Base64.php000060400000006271150750356260015047 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2015 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp\SourceMap;

/**
 * Base 64 Encode/Decode
 *
 * @author Anthon Pang <anthon.pang@gmail.com>
 */
class Base64
{
    /**
     * @var array
     */
    private static $encodingMap = [
        0 => 'A',
        1 => 'B',
        2 => 'C',
        3 => 'D',
        4 => 'E',
        5 => 'F',
        6 => 'G',
        7 => 'H',
        8 => 'I',
        9 => 'J',
        10 => 'K',
        11 => 'L',
        12 => 'M',
        13 => 'N',
        14 => 'O',
        15 => 'P',
        16 => 'Q',
        17 => 'R',
        18 => 'S',
        19 => 'T',
        20 => 'U',
        21 => 'V',
        22 => 'W',
        23 => 'X',
        24 => 'Y',
        25 => 'Z',
        26 => 'a',
        27 => 'b',
        28 => 'c',
        29 => 'd',
        30 => 'e',
        31 => 'f',
        32 => 'g',
        33 => 'h',
        34 => 'i',
        35 => 'j',
        36 => 'k',
        37 => 'l',
        38 => 'm',
        39 => 'n',
        40 => 'o',
        41 => 'p',
        42 => 'q',
        43 => 'r',
        44 => 's',
        45 => 't',
        46 => 'u',
        47 => 'v',
        48 => 'w',
        49 => 'x',
        50 => 'y',
        51 => 'z',
        52 => '0',
        53 => '1',
        54 => '2',
        55 => '3',
        56 => '4',
        57 => '5',
        58 => '6',
        59 => '7',
        60 => '8',
        61 => '9',
        62 => '+',
        63 => '/',
    ];

    /**
     * @var array
     */
    private static $decodingMap = [
        'A' => 0,
        'B' => 1,
        'C' => 2,
        'D' => 3,
        'E' => 4,
        'F' => 5,
        'G' => 6,
        'H' => 7,
        'I' => 8,
        'J' => 9,
        'K' => 10,
        'L' => 11,
        'M' => 12,
        'N' => 13,
        'O' => 14,
        'P' => 15,
        'Q' => 16,
        'R' => 17,
        'S' => 18,
        'T' => 19,
        'U' => 20,
        'V' => 21,
        'W' => 22,
        'X' => 23,
        'Y' => 24,
        'Z' => 25,
        'a' => 26,
        'b' => 27,
        'c' => 28,
        'd' => 29,
        'e' => 30,
        'f' => 31,
        'g' => 32,
        'h' => 33,
        'i' => 34,
        'j' => 35,
        'k' => 36,
        'l' => 37,
        'm' => 38,
        'n' => 39,
        'o' => 40,
        'p' => 41,
        'q' => 42,
        'r' => 43,
        's' => 44,
        't' => 45,
        'u' => 46,
        'v' => 47,
        'w' => 48,
        'x' => 49,
        'y' => 50,
        'z' => 51,
        0 => 52,
        1 => 53,
        2 => 54,
        3 => 55,
        4 => 56,
        5 => 57,
        6 => 58,
        7 => 59,
        8 => 60,
        9 => 61,
        '+' => 62,
        '/' => 63,
    ];

    /**
     * Convert to base64
     *
     * @param integer $value
     *
     * @return string
     */
    public static function encode($value)
    {
        return self::$encodingMap[$value];
    }

    /**
     * Convert from base64
     *
     * @param string $value
     *
     * @return integer
     */
    public static function decode($value)
    {
        return self::$decodingMap[$value];
    }
}
vendor/leafo/scssphp/src/SourceMap/Base64VLQEncoder.php000060400000014471150750356260016733 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp\SourceMap;

/**
 * Base64 VLQ Encoder
 *
 * {@internal Derivative of oyejorge/less.php's lib/SourceMap/Base64VLQ.php, relicensed with permission. }}
 *
 * @author Josh Schmidt <oyejorge@gmail.com>
 * @author Nicolas FRANÇOIS <nicolas.francois@frog-labs.com>
 */
class Base64VLQEncoder
{
    /**
     * Shift
     *
     * @var integer
     */
    private $shift = 5;

    /**
     * Mask
     *
     * @var integer
     */
    private $mask = 0x1F; // == (1 << shift) == 0b00011111

    /**
     * Continuation bit
     *
     * @var integer
     */
    private $continuationBit = 0x20; // == (mask - 1 ) == 0b00100000

    /**
     * Char to integer map
     *
     * @var array
     */
    private $charToIntMap = [
        'A' => 0,  'B' => 1,  'C' => 2,  'D' => 3,  'E' => 4,  'F' => 5,  'G' => 6,  'H' => 7,
        'I' => 8,  'J' => 9,  'K' => 10, 'L' => 11, 'M' => 12, 'N' => 13, 'O' => 14, 'P' => 15,
        'Q' => 16, 'R' => 17, 'S' => 18, 'T' => 19, 'U' => 20, 'V' => 21, 'W' => 22, 'X' => 23,
        'Y' => 24, 'Z' => 25, 'a' => 26, 'b' => 27, 'c' => 28, 'd' => 29, 'e' => 30, 'f' => 31,
        'g' => 32, 'h' => 33, 'i' => 34, 'j' => 35, 'k' => 36, 'l' => 37, 'm' => 38, 'n' => 39,
        'o' => 40, 'p' => 41, 'q' => 42, 'r' => 43, 's' => 44, 't' => 45, 'u' => 46, 'v' => 47,
        'w' => 48, 'x' => 49, 'y' => 50, 'z' => 51,   0 => 52,   1 => 53,   2 => 54,   3 => 55,
          4 => 56,   5 => 57,   6 => 58,   7 => 59,   8 => 60,   9 => 61, '+' => 62, '/' => 63,
    ];

    /**
     * Integer to char map
     *
     * @var array
     */
    private $intToCharMap = [
         0 => 'A',  1 => 'B',  2 => 'C',  3 => 'D',  4 => 'E',  5 => 'F',  6 => 'G',  7 => 'H',
         8 => 'I',  9 => 'J', 10 => 'K', 11 => 'L', 12 => 'M', 13 => 'N', 14 => 'O', 15 => 'P',
        16 => 'Q', 17 => 'R', 18 => 'S', 19 => 'T', 20 => 'U', 21 => 'V', 22 => 'W', 23 => 'X',
        24 => 'Y', 25 => 'Z', 26 => 'a', 27 => 'b', 28 => 'c', 29 => 'd', 30 => 'e', 31 => 'f',
        32 => 'g', 33 => 'h', 34 => 'i', 35 => 'j', 36 => 'k', 37 => 'l', 38 => 'm', 39 => 'n',
        40 => 'o', 41 => 'p', 42 => 'q', 43 => 'r', 44 => 's', 45 => 't', 46 => 'u', 47 => 'v',
        48 => 'w', 49 => 'x', 50 => 'y', 51 => 'z', 52 => '0', 53 => '1', 54 => '2', 55 => '3',
        56 => '4', 57 => '5', 58 => '6', 59 => '7', 60 => '8', 61 => '9', 62 => '+', 63 => '/',
    ];

    /**
     * Constructor
     */
    public function __construct()
    {
        // I leave it here for future reference
        // foreach (str_split('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/') as $i => $char)
        // {
        //     $this->charToIntMap[$char] = $i;
        //     $this->intToCharMap[$i] = $char;
        // }
    }

    /**
     * Convert from a two-complement value to a value where the sign bit is
     * is placed in the least significant bit. For example, as decimals:
     *   1 becomes 2 (10 binary), -1 becomes 3 (11 binary)
     *   2 becomes 4 (100 binary), -2 becomes 5 (101 binary)
     * We generate the value for 32 bit machines, hence -2147483648 becomes 1, not 4294967297,
     * even on a 64 bit machine.
     *
     * @param string $aValue
     */
    public function toVLQSigned($aValue)
    {
        return 0xffffffff & ($aValue < 0 ? ((-$aValue) << 1) + 1 : ($aValue << 1) + 0);
    }

    /**
     * Convert to a two-complement value from a value where the sign bit is
     * is placed in the least significant bit. For example, as decimals:
     *   2 (10 binary) becomes 1, 3 (11 binary) becomes -1
     *   4 (100 binary) becomes 2, 5 (101 binary) becomes -2
     * We assume that the value was generated with a 32 bit machine in mind.
     * Hence
     *   1 becomes -2147483648
     * even on a 64 bit machine.
     *
     * @param integer $aValue
     */
    public function fromVLQSigned($aValue)
    {
        return $aValue & 1 ? $this->zeroFill(~$aValue + 2, 1) | (-1 - 0x7fffffff) : $this->zeroFill($aValue, 1);
    }

    /**
     * Return the base 64 VLQ encoded value.
     *
     * @param string $aValue The value to encode
     *
     * @return string The encoded value
     */
    public function encode($aValue)
    {
        $encoded = '';
        $vlq = $this->toVLQSigned($aValue);

        do {
            $digit = $vlq & $this->mask;
            $vlq = $this->zeroFill($vlq, $this->shift);

            if ($vlq > 0) {
                $digit |= $this->continuationBit;
            }

            $encoded .= $this->base64Encode($digit);
        } while ($vlq > 0);

        return $encoded;
    }

    /**
     * Return the value decoded from base 64 VLQ.
     *
     * @param string $encoded The encoded value to decode
     *
     * @return integer The decoded value
     */
    public function decode($encoded)
    {
        $vlq = 0;
        $i = 0;

        do {
            $digit = $this->base64Decode($encoded[$i]);
            $vlq |= ($digit & $this->mask) << ($i * $this->shift);
            $i++;
        } while ($digit & $this->continuationBit);

        return $this->fromVLQSigned($vlq);
    }

    /**
     * Right shift with zero fill.
     *
     * @param integer $a number to shift
     * @param integer $b number of bits to shift
     *
     * @return integer
     */
    public function zeroFill($a, $b)
    {
        return ($a >= 0) ? ($a >> $b) : ($a >> $b) & (PHP_INT_MAX >> ($b - 1));
    }

    /**
     * Encode single 6-bit digit as base64.
     *
     * @param integer $number
     *
     * @return string
     *
     * @throws \Exception If the number is invalid
     */
    public function base64Encode($number)
    {
        if ($number < 0 || $number > 63) {
            throw new \Exception(sprintf('Invalid number "%s" given. Must be between 0 and 63.', $number));
        }

        return $this->intToCharMap[$number];
    }

    /**
     * Decode single 6-bit digit from base64
     *
     * @param string $char
     *
     * @return integer
     *
     * @throws \Exception If the number is invalid
     */
    public function base64Decode($char)
    {
        if (! array_key_exists($char, $this->charToIntMap)) {
            throw new \Exception(sprintf('Invalid base 64 digit "%s" given.', $char));
        }

        return $this->charToIntMap[$char];
    }
}
vendor/leafo/scssphp/src/Base/Range.php000060400000001424150750356260014026 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2015-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp\Base;

/**
 * Range
 *
 * @author Anthon Pang <anthon.pang@gmail.com>
 */
class Range
{
    public $first;
    public $last;

    /**
     * Initialize range
     *
     * @param integer|float $first
     * @param integer|float $last
     */
    public function __construct($first, $last)
    {
        $this->first = $first;
        $this->last = $last;
    }

    /**
     * Test for inclusion in range
     *
     * @param integer|float $value
     *
     * @return boolean
     */
    public function includes($value)
    {
        return $value >= $this->first && $value <= $this->last;
    }
}
vendor/leafo/scssphp/src/Formatter/OutputBlock.php000060400000001514150750356260016336 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp\Formatter;

/**
 * Output block
 *
 * @author Anthon Pang <anthon.pang@gmail.com>
 */
class OutputBlock
{
    /**
     * @var string
     */
    public $type;

    /**
     * @var integer
     */
    public $depth;

    /**
     * @var array
     */
    public $selectors;

    /**
     * @var array
     */
    public $lines;

    /**
     * @var array
     */
    public $children;

    /**
     * @var \Leafo\ScssPhp\Formatter\OutputBlock
     */
    public $parent;

    /**
     * @var string
     */
    public $sourceName;

    /**
     * @var integer
     */
    public $sourceLine;

    /**
     * @var integer
     */
    public $sourceColumn;
}
vendor/leafo/scssphp/src/Formatter/Compressed.php000060400000003506150750356260016172 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp\Formatter;

use Leafo\ScssPhp\Formatter;
use Leafo\ScssPhp\Formatter\OutputBlock;

/**
 * Compressed formatter
 *
 * @author Leaf Corcoran <leafot@gmail.com>
 */
class Compressed extends Formatter
{
    /**
     * {@inheritdoc}
     */
    public function __construct()
    {
        $this->indentLevel = 0;
        $this->indentChar = '  ';
        $this->break = '';
        $this->open = '{';
        $this->close = '}';
        $this->tagSeparator = ',';
        $this->assignSeparator = ':';
        $this->keepSemicolons = false;
    }

    /**
     * {@inheritdoc}
     */
    public function blockLines(OutputBlock $block)
    {
        $inner = $this->indentStr();

        $glue = $this->break . $inner;

        foreach ($block->lines as $index => $line) {
            if (substr($line, 0, 2) === '/*' && substr($line, 2, 1) !== '!') {
                unset($block->lines[$index]);
            } elseif (substr($line, 0, 3) === '/*!') {
                $block->lines[$index] = '/*' . substr($line, 3);
            }
        }

        $this->write($inner . implode($glue, $block->lines));

        if (! empty($block->children)) {
            $this->write($this->break);
        }
    }

    /**
     * Output block selectors
     *
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $block
     */
    protected function blockSelectors(OutputBlock $block)
    {
        $inner = $this->indentStr();

        $this->write(
            $inner
            . implode(
                $this->tagSeparator,
                str_replace([' > ', ' + ', ' ~ '], ['>', '+', '~'], $block->selectors)
            )
            . $this->open . $this->break
        );
    }
}
vendor/leafo/scssphp/src/Formatter/Compact.php000060400000001425150750356260015452 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp\Formatter;

use Leafo\ScssPhp\Formatter;

/**
 * Compact formatter
 *
 * @author Leaf Corcoran <leafot@gmail.com>
 */
class Compact extends Formatter
{
    /**
     * {@inheritdoc}
     */
    public function __construct()
    {
        $this->indentLevel = 0;
        $this->indentChar = '';
        $this->break = '';
        $this->open = ' {';
        $this->close = "}\n\n";
        $this->tagSeparator = ',';
        $this->assignSeparator = ':';
        $this->keepSemicolons = true;
    }

    /**
     * {@inheritdoc}
     */
    public function indentStr()
    {
        return ' ';
    }
}
vendor/leafo/scssphp/src/Formatter/Crunched.php000060400000003256150750356260015623 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp\Formatter;

use Leafo\ScssPhp\Formatter;
use Leafo\ScssPhp\Formatter\OutputBlock;

/**
 * Crunched formatter
 *
 * @author Anthon Pang <anthon.pang@gmail.com>
 */
class Crunched extends Formatter
{
    /**
     * {@inheritdoc}
     */
    public function __construct()
    {
        $this->indentLevel = 0;
        $this->indentChar = '  ';
        $this->break = '';
        $this->open = '{';
        $this->close = '}';
        $this->tagSeparator = ',';
        $this->assignSeparator = ':';
        $this->keepSemicolons = false;
    }

    /**
     * {@inheritdoc}
     */
    public function blockLines(OutputBlock $block)
    {
        $inner = $this->indentStr();

        $glue = $this->break . $inner;

        foreach ($block->lines as $index => $line) {
            if (substr($line, 0, 2) === '/*') {
                unset($block->lines[$index]);
            }
        }

        $this->write($inner . implode($glue, $block->lines));

        if (! empty($block->children)) {
            $this->write($this->break);
        }
    }

    /**
     * Output block selectors
     *
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $block
     */
    protected function blockSelectors(OutputBlock $block)
    {
        $inner = $this->indentStr();

        $this->write(
            $inner
            . implode(
                $this->tagSeparator,
                str_replace([' > ', ' + ', ' ~ '], ['>', '+', '~'], $block->selectors)
            )
            . $this->open . $this->break
        );
    }
}
vendor/leafo/scssphp/src/Formatter/Debug.php000060400000004760150750356260015117 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp\Formatter;

use Leafo\ScssPhp\Formatter;
use Leafo\ScssPhp\Formatter\OutputBlock;

/**
 * Debug formatter
 *
 * @author Anthon Pang <anthon.pang@gmail.com>
 */
class Debug extends Formatter
{
    /**
     * {@inheritdoc}
     */
    public function __construct()
    {
        $this->indentLevel = 0;
        $this->indentChar = '';
        $this->break = "\n";
        $this->open = ' {';
        $this->close = ' }';
        $this->tagSeparator = ', ';
        $this->assignSeparator = ': ';
        $this->keepSemicolons = true;
    }

    /**
     * {@inheritdoc}
     */
    protected function indentStr()
    {
        return str_repeat('  ', $this->indentLevel);
    }

    /**
     * {@inheritdoc}
     */
    protected function blockLines(OutputBlock $block)
    {
        $indent = $this->indentStr();

        if (empty($block->lines)) {
            $this->write("{$indent}block->lines: []\n");

            return;
        }

        foreach ($block->lines as $index => $line) {
            $this->write("{$indent}block->lines[{$index}]: $line\n");
        }
    }

    /**
     * {@inheritdoc}
     */
    protected function blockSelectors(OutputBlock $block)
    {
        $indent = $this->indentStr();

        if (empty($block->selectors)) {
            $this->write("{$indent}block->selectors: []\n");

            return;
        }

        foreach ($block->selectors as $index => $selector) {
            $this->write("{$indent}block->selectors[{$index}]: $selector\n");
        }
    }

    /**
     * {@inheritdoc}
     */
    protected function blockChildren(OutputBlock $block)
    {
        $indent = $this->indentStr();

        if (empty($block->children)) {
            $this->write("{$indent}block->children: []\n");

            return;
        }

        $this->indentLevel++;

        foreach ($block->children as $i => $child) {
            $this->block($child);
        }

        $this->indentLevel--;
    }

    /**
     * {@inheritdoc}
     */
    protected function block(OutputBlock $block)
    {
        $indent = $this->indentStr();

        $this->write("{$indent}block->type: {$block->type}\n" .
             "{$indent}block->depth: {$block->depth}\n");

        $this->currentBlock = $block;

        $this->blockSelectors($block);
        $this->blockLines($block);
        $this->blockChildren($block);
    }
}
vendor/leafo/scssphp/src/Formatter/Nested.php000060400000011152150750356260015304 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp\Formatter;

use Leafo\ScssPhp\Formatter;
use Leafo\ScssPhp\Formatter\OutputBlock;

/**
 * Nested formatter
 *
 * @author Leaf Corcoran <leafot@gmail.com>
 */
class Nested extends Formatter
{
    /**
     * @var integer
     */
    private $depth;

    /**
     * {@inheritdoc}
     */
    public function __construct()
    {
        $this->indentLevel = 0;
        $this->indentChar = '  ';
        $this->break = "\n";
        $this->open = ' {';
        $this->close = ' }';
        $this->tagSeparator = ', ';
        $this->assignSeparator = ': ';
        $this->keepSemicolons = true;
    }

    /**
     * {@inheritdoc}
     */
    protected function indentStr()
    {
        $n = $this->depth - 1;

        return str_repeat($this->indentChar, max($this->indentLevel + $n, 0));
    }

    /**
     * {@inheritdoc}
     */
    protected function blockLines(OutputBlock $block)
    {
        $inner = $this->indentStr();

        $glue = $this->break . $inner;

        foreach ($block->lines as $index => $line) {
            if (substr($line, 0, 2) === '/*') {
                $block->lines[$index] = preg_replace('/(\r|\n)+/', $glue, $line);
            }
        }

        $this->write($inner . implode($glue, $block->lines));

        if (! empty($block->children)) {
            $this->write($this->break);
        }
    }

    /**
     * {@inheritdoc}
     */
    protected function blockSelectors(OutputBlock $block)
    {
        $inner = $this->indentStr();

        $this->write($inner
            . implode($this->tagSeparator, $block->selectors)
            . $this->open . $this->break);
    }

    /**
     * {@inheritdoc}
     */
    protected function blockChildren(OutputBlock $block)
    {
        foreach ($block->children as $i => $child) {
            $this->block($child);

            if ($i < count($block->children) - 1) {
                $this->write($this->break);

                if (isset($block->children[$i + 1])) {
                    $next = $block->children[$i + 1];

                    if ($next->depth === max($block->depth, 1) && $child->depth >= $next->depth) {
                        $this->write($this->break);
                    }
                }
            }
        }
    }

    /**
     * {@inheritdoc}
     */
    protected function block(OutputBlock $block)
    {
        if ($block->type === 'root') {
            $this->adjustAllChildren($block);
        }

        if (empty($block->lines) && empty($block->children)) {
            return;
        }

        $this->currentBlock = $block;


        $this->depth = $block->depth;

        if (! empty($block->selectors)) {
            $this->blockSelectors($block);

            $this->indentLevel++;
        }

        if (! empty($block->lines)) {
            $this->blockLines($block);
        }

        if (! empty($block->children)) {
            $this->blockChildren($block);
        }

        if (! empty($block->selectors)) {
            $this->indentLevel--;

            $this->write($this->close);
        }

        if ($block->type === 'root') {
            $this->write($this->break);
        }
    }

    /**
     * Adjust the depths of all children, depth first
     *
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $block
     */
    private function adjustAllChildren(OutputBlock $block)
    {
        // flatten empty nested blocks
        $children = [];

        foreach ($block->children as $i => $child) {
            if (empty($child->lines) && empty($child->children)) {
                if (isset($block->children[$i + 1])) {
                    $block->children[$i + 1]->depth = $child->depth;
                }

                continue;
            }

            $children[] = $child;
        }

        $count = count($children);

        for ($i = 0; $i < $count; $i++) {
            $depth = $children[$i]->depth;
            $j = $i + 1;

            if (isset($children[$j]) && $depth < $children[$j]->depth) {
                $childDepth = $children[$j]->depth;

                for (; $j < $count; $j++) {
                    if ($depth < $children[$j]->depth && $childDepth >= $children[$j]->depth) {
                        $children[$j]->depth = $depth + 1;
                    }
                }
            }
        }

        $block->children = $children;

        // make relative to parent
        foreach ($block->children as $child) {
            $this->adjustAllChildren($child);

            $child->depth = $child->depth - $block->depth;
        }
    }
}
vendor/leafo/scssphp/src/Formatter/Expanded.php000060400000002657150750356260015624 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp\Formatter;

use Leafo\ScssPhp\Formatter;
use Leafo\ScssPhp\Formatter\OutputBlock;

/**
 * Expanded formatter
 *
 * @author Leaf Corcoran <leafot@gmail.com>
 */
class Expanded extends Formatter
{
    /**
     * {@inheritdoc}
     */
    public function __construct()
    {
        $this->indentLevel = 0;
        $this->indentChar = '  ';
        $this->break = "\n";
        $this->open = ' {';
        $this->close = '}';
        $this->tagSeparator = ', ';
        $this->assignSeparator = ': ';
        $this->keepSemicolons = true;
    }

    /**
     * {@inheritdoc}
     */
    protected function indentStr()
    {
        return str_repeat($this->indentChar, $this->indentLevel);
    }

    /**
     * {@inheritdoc}
     */
    protected function blockLines(OutputBlock $block)
    {
        $inner = $this->indentStr();

        $glue = $this->break . $inner;

        foreach ($block->lines as $index => $line) {
            if (substr($line, 0, 2) === '/*') {
                $block->lines[$index] = preg_replace('/(\r|\n)+/', $glue, $line);
            }
        }

        $this->write($inner . implode($glue, $block->lines));

        if (empty($block->selectors) || ! empty($block->children)) {
            $this->write($this->break);
        }
    }
}
vendor/leafo/scssphp/src/Cache.php000060400000014507150750356260013131 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp;

use Exception;

/**
 * The scss cache manager.
 *
 * In short:
 *
 * allow to put in cache/get from cache a generic result from a known operation on a generic dataset,
 * taking in account options that affects the result
 *
 * The cache manager is agnostic about data format and only the operation is expected to be described by string
 *
 */

/**
 * SCSS cache
 *
 * @author Cedric Morin
 */
class Cache
{
    const CACHE_VERSION = 0;

    // directory used for storing data
    public static $cacheDir = false;

    // prefix for the storing data
    public static $prefix = 'scssphp_';

    // force a refresh : 'once' for refreshing the first hit on a cache only, true to never use the cache in this hit
    public static $forceFefresh = false;

    // specifies the number of seconds after which data cached will be seen as 'garbage' and potentially cleaned up
    public static $gcLifetime = 604800;

    // array of already refreshed cache if $forceFefresh==='once'
    protected static $refreshed = [];

    /**
     * Constructor
     *
     * @param array $options
     */
    public function __construct($options)
    {
        // check $cacheDir
        if (isset($options['cache_dir'])) {
            self::$cacheDir = $options['cache_dir'];
        }

        if (empty(self::$cacheDir)) {
            throw new Exception('cache_dir not set');
        }

        if (isset($options['prefix'])) {
            self::$prefix = $options['prefix'];
        }

        if (empty(self::$prefix)) {
            throw new Exception('prefix not set');
        }

        if (isset($options['forceRefresh'])) {
            self::$forceFefresh = $options['force_refresh'];
        }

        self::checkCacheDir();
    }

    /**
     * Get the cached result of $operation on $what,
     * which is known as dependant from the content of $options
     *
     * @param string  $operation    parse, compile...
     * @param mixed   $what         content key (e.g., filename to be treated)
     * @param array   $options      any option that affect the operation result on the content
     * @param integer $lastModified last modified timestamp
     *
     * @return mixed
     *
     * @throws \Exception
     */
    public function getCache($operation, $what, $options = [], $lastModified = null)
    {
        $fileCache = self::$cacheDir . self::cacheName($operation, $what, $options);

        if ((! self::$forceRefresh || (self::$forceRefresh === 'once' && isset(self::$refreshed[$fileCache])))
            && file_exists($fileCache)
        ) {
            $cacheTime = filemtime($fileCache);

            if ((is_null($lastModified) || $cacheTime > $lastModified)
                && $cacheTime + self::$gcLifetime > time()
            ) {
                $c = file_get_contents($fileCache);
                $c = unserialize($c);

                if (is_array($c) && isset($c['value'])) {
                    return $c['value'];
                }
            }
        }

        return null;
    }

    /**
     * Put in cache the result of $operation on $what,
     * which is known as dependant from the content of $options
     *
     * @param string $operation
     * @param mixed  $what
     * @param mixed  $value
     * @param array  $options
     */
    public function setCache($operation, $what, $value, $options = [])
    {
        $fileCache = self::$cacheDir . self::cacheName($operation, $what, $options);

        $c = ['value' => $value];
        $c = serialize($c);
        file_put_contents($fileCache, $c);

        if (self::$forceRefresh === 'once') {
            self::$refreshed[$fileCache] = true;
        }
    }

    /**
     * Get the cache name for the caching of $operation on $what,
     * which is known as dependant from the content of $options
     *
     * @param string $operation
     * @param mixed  $what
     * @param array  $options
     *
     * @return string
     */
    private static function cacheName($operation, $what, $options = [])
    {
        $t = [
          'version' => self::CACHE_VERSION,
          'operation' => $operation,
          'what' => $what,
          'options' => $options
        ];

        $t = self::$prefix
          . sha1(json_encode($t))
          . ".$operation"
          . ".scsscache";

        return $t;
    }

    /**
     * Check that the cache dir exists and is writeable
     *
     * @throws \Exception
     */
    public static function checkCacheDir()
    {
        self::$cacheDir = str_replace('\\', '/', self::$cacheDir);
        self::$cacheDir = rtrim(self::$cacheDir, '/') . '/';

        if (! file_exists(self::$cacheDir)) {
            if (! mkdir(self::$cacheDir)) {
                throw new Exception('Cache directory couldn\'t be created: ' . self::$cacheDir);
            }
        } elseif (! is_dir(self::$cacheDir)) {
            throw new Exception('Cache directory doesn\'t exist: ' . self::$cacheDir);
        } elseif (! is_writable(self::$cacheDir)) {
            throw new Exception('Cache directory isn\'t writable: ' . self::$cacheDir);
        }
    }

    /**
     * Delete unused cached files
     */
    public static function cleanCache()
    {
        static $clean = false;

        if ($clean || empty(self::$cacheDir)) {
            return;
        }

        $clean = true;

        // only remove files with extensions created by SCSSPHP Cache
        // css files removed based on the list files
        $removeTypes = ['scsscache' => 1];

        $files = scandir(self::$cacheDir);

        if (! $files) {
            return;
        }

        $checkTime = time() - self::$gcLifetime;

        foreach ($files as $file) {
            // don't delete if the file wasn't created with SCSSPHP Cache
            if (strpos($file, self::$prefix) !== 0) {
                continue;
            }

            $parts = explode('.', $file);
            $type = array_pop($parts);

            if (! isset($removeTypes[$type])) {
                continue;
            }

            $fullPath = self::$cacheDir . $file;
            $mtime = filemtime($fullPath);

            // don't delete if it's a relatively new file
            if ($mtime > $checkTime) {
                continue;
            }

            unlink($fullPath);
        }
    }
}
vendor/leafo/scssphp/src/Formatter.php000060400000013152150750356260014064 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp;

use Leafo\ScssPhp\Formatter\OutputBlock;
use Leafo\ScssPhp\SourceMap\SourceMapGenerator;

/**
 * Base formatter
 *
 * @author Leaf Corcoran <leafot@gmail.com>
 */
abstract class Formatter
{
    /**
     * @var integer
     */
    public $indentLevel;

    /**
     * @var string
     */
    public $indentChar;

    /**
     * @var string
     */
    public $break;

    /**
     * @var string
     */
    public $open;

    /**
     * @var string
     */
    public $close;

    /**
     * @var string
     */
    public $tagSeparator;

    /**
     * @var string
     */
    public $assignSeparator;

    /**
     * @var boolean
     */
    public $keepSemicolons;

    /**
     * @var \Leafo\ScssPhp\Formatter\OutputBlock
     */
    protected $currentBlock;

    /**
     * @var integer
     */
    protected $currentLine;

    /**
     * @var integer
     */
    protected $currentColumn;

    /**
     * @var \Leafo\ScssPhp\SourceMap\SourceMapGenerator
     */
    protected $sourceMapGenerator;

    /**
     * Initialize formatter
     *
     * @api
     */
    abstract public function __construct();

    /**
     * Return indentation (whitespace)
     *
     * @return string
     */
    protected function indentStr()
    {
        return '';
    }

    /**
     * Return property assignment
     *
     * @api
     *
     * @param string $name
     * @param mixed  $value
     *
     * @return string
     */
    public function property($name, $value)
    {
        return rtrim($name) . $this->assignSeparator . $value . ';';
    }

    /**
     * Strip semi-colon appended by property(); it's a separator, not a terminator
     *
     * @api
     *
     * @param array $lines
     */
    public function stripSemicolon(&$lines)
    {
        if ($this->keepSemicolons) {
            return;
        }

        if (($count = count($lines))
            && substr($lines[$count - 1], -1) === ';'
        ) {
            $lines[$count - 1] = substr($lines[$count - 1], 0, -1);
        }
    }

    /**
     * Output lines inside a block
     *
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $block
     */
    protected function blockLines(OutputBlock $block)
    {
        $inner = $this->indentStr();

        $glue = $this->break . $inner;

        $this->write($inner . implode($glue, $block->lines));

        if (! empty($block->children)) {
            $this->write($this->break);
        }
    }

    /**
     * Output block selectors
     *
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $block
     */
    protected function blockSelectors(OutputBlock $block)
    {
        $inner = $this->indentStr();

        $this->write($inner
            . implode($this->tagSeparator, $block->selectors)
            . $this->open . $this->break);
    }

    /**
     * Output block children
     *
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $block
     */
    protected function blockChildren(OutputBlock $block)
    {
        foreach ($block->children as $child) {
            $this->block($child);
        }
    }

    /**
     * Output non-empty block
     *
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $block
     */
    protected function block(OutputBlock $block)
    {
        if (empty($block->lines) && empty($block->children)) {
            return;
        }

        $this->currentBlock = $block;

        $pre = $this->indentStr();

        if (! empty($block->selectors)) {
            $this->blockSelectors($block);

            $this->indentLevel++;
        }

        if (! empty($block->lines)) {
            $this->blockLines($block);
        }

        if (! empty($block->children)) {
            $this->blockChildren($block);
        }

        if (! empty($block->selectors)) {
            $this->indentLevel--;

            if (empty($block->children)) {
                $this->write($this->break);
            }

            $this->write($pre . $this->close . $this->break);
        }
    }

    /**
     * Entry point to formatting a block
     *
     * @api
     *
     * @param \Leafo\ScssPhp\Formatter\OutputBlock             $block              An abstract syntax tree
     * @param \Leafo\ScssPhp\SourceMap\SourceMapGenerator|null $sourceMapGenerator Optional source map generator
     *
     * @return string
     */
    public function format(OutputBlock $block, SourceMapGenerator $sourceMapGenerator = null)
    {
        $this->sourceMapGenerator = null;

        if ($sourceMapGenerator) {
            $this->currentLine = 1;
            $this->currentColumn = 0;
            $this->sourceMapGenerator = $sourceMapGenerator;
        }

        ob_start();

        $this->block($block);

        $out = ob_get_clean();

        return $out;
    }

    /**
     * @param string $str
     */
    protected function write($str)
    {
        if ($this->sourceMapGenerator) {
            $this->sourceMapGenerator->addMapping(
                $this->currentLine,
                $this->currentColumn,
                $this->currentBlock->sourceLine,
                //columns from parser are off by one
                $this->currentBlock->sourceColumn > 0 ? $this->currentBlock->sourceColumn - 1 : 0,
                $this->currentBlock->sourceName
            );

            $lines = explode("\n", $str);
            $lineCount = count($lines);
            $this->currentLine += $lineCount-1;

            $lastLine = array_pop($lines);

            $this->currentColumn = ($lineCount === 1 ? $this->currentColumn : 0) + strlen($lastLine);
        }

        echo $str;
    }
}
vendor/leafo/scssphp/src/Type.php000060400000003445150750356260013046 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp;

/**
 * Block/node types
 *
 * @author Anthon Pang <anthon.pang@gmail.com>
 */
class Type
{
    const T_ASSIGN = 'assign';
    const T_AT_ROOT = 'at-root';
    const T_BLOCK = 'block';
    const T_BREAK = 'break';
    const T_CHARSET = 'charset';
    const T_COLOR = 'color';
    const T_COMMENT = 'comment';
    const T_CONTINUE = 'continue';
    const T_CONTROL = 'control';
    const T_DEBUG = 'debug';
    const T_DIRECTIVE = 'directive';
    const T_EACH = 'each';
    const T_ELSE = 'else';
    const T_ELSEIF = 'elseif';
    const T_ERROR = 'error';
    const T_EXPRESSION = 'exp';
    const T_EXTEND = 'extend';
    const T_FOR = 'for';
    const T_FUNCTION = 'function';
    const T_FUNCTION_CALL = 'fncall';
    const T_HSL = 'hsl';
    const T_IF = 'if';
    const T_IMPORT = 'import';
    const T_INCLUDE = 'include';
    const T_INTERPOLATE = 'interpolate';
    const T_INTERPOLATED = 'interpolated';
    const T_KEYWORD = 'keyword';
    const T_LIST = 'list';
    const T_MAP = 'map';
    const T_MEDIA = 'media';
    const T_MEDIA_EXPRESSION = 'mediaExp';
    const T_MEDIA_TYPE = 'mediaType';
    const T_MEDIA_VALUE = 'mediaValue';
    const T_MIXIN = 'mixin';
    const T_MIXIN_CONTENT = 'mixin_content';
    const T_NESTED_PROPERTY = 'nestedprop';
    const T_NOT = 'not';
    const T_NULL = 'null';
    const T_NUMBER = 'number';
    const T_RETURN = 'return';
    const T_ROOT = 'root';
    const T_SCSSPHP_IMPORT_ONCE = 'scssphp-import-once';
    const T_SELF = 'self';
    const T_STRING = 'string';
    const T_UNARY = 'unary';
    const T_VARIABLE = 'var';
    const T_WARN = 'warn';
    const T_WHILE = 'while';
}
vendor/leafo/scssphp/src/Node.php000060400000001014150750356260013000 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp;

/**
 * Base node
 *
 * @author Anthon Pang <anthon.pang@gmail.com>
 */
abstract class Node
{
    /**
     * @var string
     */
    public $type;

    /**
     * @var integer
     */
    public $sourceIndex;

    /**
     * @var integer
     */
    public $sourceLine;

    /**
     * @var integer
     */
    public $sourceColumn;
}
vendor/leafo/scssphp/src/Node/Number.php000060400000017144150750356260014243 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp\Node;

use Leafo\ScssPhp\Compiler;
use Leafo\ScssPhp\Node;
use Leafo\ScssPhp\Type;

/**
 * Dimension + optional units
 *
 * {@internal
 *     This is a work-in-progress.
 *
 *     The \ArrayAccess interface is temporary until the migration is complete.
 * }}
 *
 * @author Anthon Pang <anthon.pang@gmail.com>
 */
class Number extends Node implements \ArrayAccess
{
    /**
     * @var integer
     */
    static public $precision = 10;

    /**
     * @see http://www.w3.org/TR/2012/WD-css3-values-20120308/
     *
     * @var array
     */
    static protected $unitTable = [
        'in' => [
            'in' => 1,
            'pc' => 6,
            'pt' => 72,
            'px' => 96,
            'cm' => 2.54,
            'mm' => 25.4,
            'q'  => 101.6,
        ],
        'turn' => [
            'deg'  => 360,
            'grad' => 400,
            'rad'  => 6.28318530717958647692528676, // 2 * M_PI
            'turn' => 1,
        ],
        's' => [
            's'  => 1,
            'ms' => 1000,
        ],
        'Hz' => [
            'Hz'  => 1,
            'kHz' => 0.001,
        ],
        'dpi' => [
            'dpi'  => 1,
            'dpcm' => 2.54,
            'dppx' => 96,
        ],
    ];

    /**
     * @var integer|float
     */
    public $dimension;

    /**
     * @var array
     */
    public $units;

    /**
     * Initialize number
     *
     * @param mixed $dimension
     * @param mixed $initialUnit
     */
    public function __construct($dimension, $initialUnit)
    {
        $this->type      = Type::T_NUMBER;
        $this->dimension = $dimension;
        $this->units     = is_array($initialUnit)
            ? $initialUnit
            : ($initialUnit ? [$initialUnit => 1]
                            : []);
    }

    /**
     * Coerce number to target units
     *
     * @param array $units
     *
     * @return \Leafo\ScssPhp\Node\Number
     */
    public function coerce($units)
    {
        if ($this->unitless()) {
            return new Number($this->dimension, $units);
        }

        $dimension = $this->dimension;

        foreach (static::$unitTable['in'] as $unit => $conv) {
            $from       = isset($this->units[$unit]) ? $this->units[$unit] : 0;
            $to         = isset($units[$unit]) ? $units[$unit] : 0;
            $factor     = pow($conv, $from - $to);
            $dimension /= $factor;
        }

        return new Number($dimension, $units);
    }

    /**
     * Normalize number
     *
     * @return \Leafo\ScssPhp\Node\Number
     */
    public function normalize()
    {
        $dimension = $this->dimension;
        $units     = [];

        $this->normalizeUnits($dimension, $units, 'in');

        return new Number($dimension, $units);
    }

    /**
     * {@inheritdoc}
     */
    public function offsetExists($offset)
    {
        if ($offset === -3) {
            return $this->sourceColumn !== null;
        }

        if ($offset === -2) {
            return $this->sourceLine !== null;
        }

        if ($offset === -1
            || $offset === 0
            || $offset === 1
            || $offset === 2
        ) {
            return true;
        }

        return false;
    }

    /**
     * {@inheritdoc}
     */
    public function offsetGet($offset)
    {
        switch ($offset) {
            case -3:
                return $this->sourceColumn;

            case -2:
                return $this->sourceLine;

            case -1:
                return $this->sourceIndex;

            case 0:
                return $this->type;

            case 1:
                return $this->dimension;

            case 2:
                return $this->units;
        }
    }

    /**
     * {@inheritdoc}
     */
    public function offsetSet($offset, $value)
    {
        if ($offset === 1) {
            $this->dimension = $value;
        } elseif ($offset === 2) {
            $this->units = $value;
        } elseif ($offset == -1) {
            $this->sourceIndex = $value;
        } elseif ($offset == -2) {
            $this->sourceLine = $value;
        } elseif ($offset == -3) {
            $this->sourceColumn = $value;
        }
    }

    /**
     * {@inheritdoc}
     */
    public function offsetUnset($offset)
    {
        if ($offset === 1) {
            $this->dimension = null;
        } elseif ($offset === 2) {
            $this->units = null;
        } elseif ($offset === -1) {
            $this->sourceIndex = null;
        } elseif ($offset === -2) {
            $this->sourceLine = null;
        } elseif ($offset === -3) {
            $this->sourceColumn = null;
        }
    }

    /**
     * Returns true if the number is unitless
     *
     * @return boolean
     */
    public function unitless()
    {
        return ! array_sum($this->units);
    }

    /**
     * Returns unit(s) as the product of numerator units divided by the product of denominator units
     *
     * @return string
     */
    public function unitStr()
    {
        $numerators   = [];
        $denominators = [];

        foreach ($this->units as $unit => $unitSize) {
            if ($unitSize > 0) {
                $numerators = array_pad($numerators, count($numerators) + $unitSize, $unit);
                continue;
            }

            if ($unitSize < 0) {
                $denominators = array_pad($denominators, count($denominators) + $unitSize, $unit);
                continue;
            }
        }

        return implode('*', $numerators) . (count($denominators) ? '/' . implode('*', $denominators) : '');
    }

    /**
     * Output number
     *
     * @param \Leafo\ScssPhp\Compiler $compiler
     *
     * @return string
     */
    public function output(Compiler $compiler = null)
    {
        $dimension = round($this->dimension, static::$precision);

        $units = array_filter($this->units, function ($unitSize) {
            return $unitSize;
        });

        if (count($units) > 1 && array_sum($units) === 0) {
            $dimension = $this->dimension;
            $units     = [];

            $this->normalizeUnits($dimension, $units, 'in');

            $dimension = round($dimension, static::$precision);
            $units     = array_filter($units, function ($unitSize) {
                return $unitSize;
            });
        }

        $unitSize = array_sum($units);

        if ($compiler && ($unitSize > 1 || $unitSize < 0 || count($units) > 1)) {
            $compiler->throwError((string) $dimension . $this->unitStr() . " isn't a valid CSS value.");
        }

        reset($units);
        $unit = key($units);
        $dimension = number_format($dimension, static::$precision, '.', '');

        return (static::$precision ? rtrim(rtrim($dimension, '0'), '.') : $dimension) . $unit;
    }

    /**
     * {@inheritdoc}
     */
    public function __toString()
    {
        return $this->output();
    }

    /**
     * Normalize units
     *
     * @param integer|float $dimension
     * @param array         $units
     * @param string        $baseUnit
     */
    private function normalizeUnits(&$dimension, &$units, $baseUnit = 'in')
    {
        $dimension = $this->dimension;
        $units     = [];

        foreach ($this->units as $unit => $exp) {
            if (isset(static::$unitTable[$baseUnit][$unit])) {
                $factor = pow(static::$unitTable[$baseUnit][$unit], $exp);

                $unit = $baseUnit;
                $dimension /= $factor;
            }

            $units[$unit] = $exp + (isset($units[$unit]) ? $units[$unit] : 0);
        }
    }
}
vendor/leafo/scssphp/src/Compiler.php000060400000554220150750356260013701 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp;

use Leafo\ScssPhp\Base\Range;
use Leafo\ScssPhp\Block;
use Leafo\ScssPhp\Cache;
use Leafo\ScssPhp\Colors;
use Leafo\ScssPhp\Compiler\Environment;
use Leafo\ScssPhp\Exception\CompilerException;
use Leafo\ScssPhp\Formatter\OutputBlock;
use Leafo\ScssPhp\Node;
use Leafo\ScssPhp\SourceMap\SourceMapGenerator;
use Leafo\ScssPhp\Type;
use Leafo\ScssPhp\Parser;
use Leafo\ScssPhp\Util;

/**
 * The scss compiler and parser.
 *
 * Converting SCSS to CSS is a three stage process. The incoming file is parsed
 * by `Parser` into a syntax tree, then it is compiled into another tree
 * representing the CSS structure by `Compiler`. The CSS tree is fed into a
 * formatter, like `Formatter` which then outputs CSS as a string.
 *
 * During the first compile, all values are *reduced*, which means that their
 * types are brought to the lowest form before being dump as strings. This
 * handles math equations, variable dereferences, and the like.
 *
 * The `compile` function of `Compiler` is the entry point.
 *
 * In summary:
 *
 * The `Compiler` class creates an instance of the parser, feeds it SCSS code,
 * then transforms the resulting tree to a CSS tree. This class also holds the
 * evaluation context, such as all available mixins and variables at any given
 * time.
 *
 * The `Parser` class is only concerned with parsing its input.
 *
 * The `Formatter` takes a CSS tree, and dumps it to a formatted string,
 * handling things like indentation.
 */

/**
 * SCSS compiler
 *
 * @author Leaf Corcoran <leafot@gmail.com>
 */
class Compiler
{
    const LINE_COMMENTS = 1;
    const DEBUG_INFO    = 2;

    const WITH_RULE     = 1;
    const WITH_MEDIA    = 2;
    const WITH_SUPPORTS = 4;
    const WITH_ALL      = 7;

    const SOURCE_MAP_NONE   = 0;
    const SOURCE_MAP_INLINE = 1;
    const SOURCE_MAP_FILE   = 2;

    /**
     * @var array
     */
    static protected $operatorNames = [
        '+'   => 'add',
        '-'   => 'sub',
        '*'   => 'mul',
        '/'   => 'div',
        '%'   => 'mod',

        '=='  => 'eq',
        '!='  => 'neq',
        '<'   => 'lt',
        '>'   => 'gt',

        '<='  => 'lte',
        '>='  => 'gte',
        '<=>' => 'cmp',
    ];

    /**
     * @var array
     */
    static protected $namespaces = [
        'special'  => '%',
        'mixin'    => '@',
        'function' => '^',
    ];

    static public $true         = [Type::T_KEYWORD, 'true'];
    static public $false        = [Type::T_KEYWORD, 'false'];
    static public $null         = [Type::T_NULL];
    static public $nullString   = [Type::T_STRING, '', []];
    static public $defaultValue = [Type::T_KEYWORD, ''];
    static public $selfSelector = [Type::T_SELF];
    static public $emptyList    = [Type::T_LIST, '', []];
    static public $emptyMap     = [Type::T_MAP, [], []];
    static public $emptyString  = [Type::T_STRING, '"', []];
    static public $with         = [Type::T_KEYWORD, 'with'];
    static public $without      = [Type::T_KEYWORD, 'without'];

    protected $importPaths = [''];
    protected $importCache = [];
    protected $importedFiles = [];
    protected $userFunctions = [];
    protected $registeredVars = [];
    protected $registeredFeatures = [
        'extend-selector-pseudoclass' => false,
        'at-error'                    => true,
        'units-level-3'               => false,
        'global-variable-shadowing'   => false,
    ];

    protected $encoding = null;
    protected $lineNumberStyle = null;

    protected $sourceMap = self::SOURCE_MAP_NONE;
    protected $sourceMapOptions = [];

    /**
     * @var string|\Leafo\ScssPhp\Formatter
     */
    protected $formatter = 'Leafo\ScssPhp\Formatter\Nested';

    protected $rootEnv;
    protected $rootBlock;

    /**
     * @var \Leafo\ScssPhp\Compiler\Environment
     */
    protected $env;
    protected $scope;
    protected $storeEnv;
    protected $charsetSeen;
    protected $sourceNames;

    protected $cache;

    protected $indentLevel;
    protected $extends;
    protected $extendsMap;
    protected $parsedFiles;
    protected $parser;
    protected $sourceIndex;
    protected $sourceLine;
    protected $sourceColumn;
    protected $stderr;
    protected $shouldEvaluate;
    protected $ignoreErrors;

    protected $callStack = [];

    /**
     * Constructor
     */
    public function __construct($cacheOptions = null)
    {
        $this->parsedFiles = [];
        $this->sourceNames = [];

        if ($cacheOptions) {
            $this->cache = new Cache($cacheOptions);
        }
    }

    public function getCompileOptions()
    {
        $options = [
            'importPaths'        => $this->importPaths,
            'registeredVars'     => $this->registeredVars,
            'registeredFeatures' => $this->registeredFeatures,
            'encoding'           => $this->encoding,
            'sourceMap'          => serialize($this->sourceMap),
            'sourceMapOptions'   => $this->sourceMapOptions,
            'formatter'          => $this->formatter,
        ];

        return $options;
    }

    /**
     * Compile scss
     *
     * @api
     *
     * @param string $code
     * @param string $path
     *
     * @return string
     */
    public function compile($code, $path = null)
    {
        if ($this->cache) {
            $cacheKey = ($path ? $path : "(stdin)") . ":" . md5($code);
            $compileOptions = $this->getCompileOptions();
            $cache = $this->cache->getCache("compile", $cacheKey, $compileOptions);

            if (is_array($cache)
                && isset($cache['dependencies'])
                && isset($cache['out'])
            ) {
                // check if any dependency file changed before accepting the cache
                foreach ($cache['dependencies'] as $file => $mtime) {
                    if (! file_exists($file)
                        || filemtime($file) !== $mtime
                    ) {
                        unset($cache);
                        break;
                    }
                }

                if (isset($cache)) {
                    return $cache['out'];
                }
            }
        }


        $this->indentLevel    = -1;
        $this->extends        = [];
        $this->extendsMap     = [];
        $this->sourceIndex    = null;
        $this->sourceLine     = null;
        $this->sourceColumn   = null;
        $this->env            = null;
        $this->scope          = null;
        $this->storeEnv       = null;
        $this->charsetSeen    = null;
        $this->shouldEvaluate = null;
        $this->stderr         = fopen('php://stderr', 'w');

        $this->parser = $this->parserFactory($path);
        $tree = $this->parser->parse($code);
        $this->parser = null;

        $this->formatter = new $this->formatter();
        $this->rootBlock = null;
        $this->rootEnv   = $this->pushEnv($tree);

        $this->injectVariables($this->registeredVars);
        $this->compileRoot($tree);
        $this->popEnv();

        $sourceMapGenerator = null;

        if ($this->sourceMap) {
            if (is_object($this->sourceMap) && $this->sourceMap instanceof SourceMapGenerator) {
                $sourceMapGenerator = $this->sourceMap;
                $this->sourceMap = self::SOURCE_MAP_FILE;
            } elseif ($this->sourceMap !== self::SOURCE_MAP_NONE) {
                $sourceMapGenerator = new SourceMapGenerator($this->sourceMapOptions);
            }
        }

        $out = $this->formatter->format($this->scope, $sourceMapGenerator);

        if (! empty($out) && $this->sourceMap && $this->sourceMap !== self::SOURCE_MAP_NONE) {
            $sourceMap    = $sourceMapGenerator->generateJson();
            $sourceMapUrl = null;

            switch ($this->sourceMap) {
                case self::SOURCE_MAP_INLINE:
                    $sourceMapUrl = sprintf('data:application/json,%s', Util::encodeURIComponent($sourceMap));
                    break;

                case self::SOURCE_MAP_FILE:
                    $sourceMapUrl = $sourceMapGenerator->saveMap($sourceMap);
                    break;
            }

            $out .= sprintf('/*# sourceMappingURL=%s */', $sourceMapUrl);
        }

        if ($this->cache && isset($cacheKey) && isset($compileOptions)) {
            $v = [
                'dependencies' => $this->getParsedFiles(),
                'out' => &$out,
            ];

            $this->cache->setCache("compile", $cacheKey, $v, $compileOptions);
        }

        return $out;
    }

    /**
     * Instantiate parser
     *
     * @param string $path
     *
     * @return \Leafo\ScssPhp\Parser
     */
    protected function parserFactory($path)
    {
        $parser = new Parser($path, count($this->sourceNames), $this->encoding, $this->cache);

        $this->sourceNames[] = $path;
        $this->addParsedFile($path);

        return $parser;
    }

    /**
     * Is self extend?
     *
     * @param array $target
     * @param array $origin
     *
     * @return boolean
     */
    protected function isSelfExtend($target, $origin)
    {
        foreach ($origin as $sel) {
            if (in_array($target, $sel)) {
                return true;
            }
        }

        return false;
    }

    /**
     * Push extends
     *
     * @param array     $target
     * @param array     $origin
     * @param \stdClass $block
     */
    protected function pushExtends($target, $origin, $block)
    {
        if ($this->isSelfExtend($target, $origin)) {
            return;
        }

        $i = count($this->extends);
        $this->extends[] = [$target, $origin, $block];

        foreach ($target as $part) {
            if (isset($this->extendsMap[$part])) {
                $this->extendsMap[$part][] = $i;
            } else {
                $this->extendsMap[$part] = [$i];
            }
        }
    }

    /**
     * Make output block
     *
     * @param string $type
     * @param array  $selectors
     *
     * @return \Leafo\ScssPhp\Formatter\OutputBlock
     */
    protected function makeOutputBlock($type, $selectors = null)
    {
        $out = new OutputBlock;
        $out->type         = $type;
        $out->lines        = [];
        $out->children     = [];
        $out->parent       = $this->scope;
        $out->selectors    = $selectors;
        $out->depth        = $this->env->depth;

        if ($this->env->block instanceof Block) {
            $out->sourceName   = $this->env->block->sourceName;
            $out->sourceLine   = $this->env->block->sourceLine;
            $out->sourceColumn = $this->env->block->sourceColumn;
        } else {
            $out->sourceName   = null;
            $out->sourceLine   = null;
            $out->sourceColumn = null;
        }

        return $out;
    }

    /**
     * Compile root
     *
     * @param \Leafo\ScssPhp\Block $rootBlock
     */
    protected function compileRoot(Block $rootBlock)
    {
        $this->rootBlock = $this->scope = $this->makeOutputBlock(Type::T_ROOT);

        $this->compileChildrenNoReturn($rootBlock->children, $this->scope);
        $this->flattenSelectors($this->scope);
        $this->missingSelectors();
    }

    /**
     * Report missing selectors
     */
    protected function missingSelectors()
    {
        foreach ($this->extends as $extend) {
            if (isset($extend[3])) {
                continue;
            }

            list($target, $origin, $block) = $extend;

            // ignore if !optional
            if ($block[2]) {
                continue;
            }

            $target = implode(' ', $target);
            $origin = $this->collapseSelectors($origin);

            $this->sourceLine = $block[Parser::SOURCE_LINE];
            $this->throwError("\"$origin\" failed to @extend \"$target\". The selector \"$target\" was not found.");
        }
    }

    /**
     * Flatten selectors
     *
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $block
     * @param string                               $parentKey
     */
    protected function flattenSelectors(OutputBlock $block, $parentKey = null)
    {
        if ($block->selectors) {
            $selectors = [];

            foreach ($block->selectors as $s) {
                $selectors[] = $s;

                if (! is_array($s)) {
                    continue;
                }

                // check extends
                if (! empty($this->extendsMap)) {
                    $this->matchExtends($s, $selectors);

                    // remove duplicates
                    array_walk($selectors, function (&$value) {
                        $value = serialize($value);
                    });

                    $selectors = array_unique($selectors);

                    array_walk($selectors, function (&$value) {
                        $value = unserialize($value);
                    });
                }
            }

            $block->selectors = [];
            $placeholderSelector = false;

            foreach ($selectors as $selector) {
                if ($this->hasSelectorPlaceholder($selector)) {
                    $placeholderSelector = true;
                    continue;
                }

                $block->selectors[] = $this->compileSelector($selector);
            }

            if ($placeholderSelector && 0 === count($block->selectors) && null !== $parentKey) {
                unset($block->parent->children[$parentKey]);

                return;
            }
        }

        foreach ($block->children as $key => $child) {
            $this->flattenSelectors($child, $key);
        }
    }

    /**
     * Glue parts of :not( or :nth-child( ... that are in general splitted in selectors parts
     *
     * @param array $parts
     *
     * @return array
     */
    protected function glueFunctionSelectors($parts)
    {
        $new = [];

        foreach ($parts as $part) {
            if (is_array($part)) {
                $part = $this->glueFunctionSelectors($part);
                $new[] = $part;
            } else {
                // a selector part finishing with a ) is the last part of a :not( or :nth-child(
                // and need to be joined to this
                if (count($new) && is_string($new[count($new) - 1])
                    && strlen($part) && substr($part, -1) === ')' && strpos($part, '(') === false
                ) {
                    $new[count($new) - 1] .= $part;
                } else {
                    $new[] = $part;
                }
            }
        }

        return $new;
    }

    /**
     * Match extends
     *
     * @param array   $selector
     * @param array   $out
     * @param integer $from
     * @param boolean $initial
     */
    protected function matchExtends($selector, &$out, $from = 0, $initial = true)
    {
        static $partsPile = [];

        $selector = $this->glueFunctionSelectors($selector);

        foreach ($selector as $i => $part) {
            if ($i < $from) {
                continue;
            }

            // check that we are not building an infinite loop of extensions
            // if the new part is just including a previous part don't try to extend anymore
            if (count($part) > 1) {
                foreach ($partsPile as $previousPart) {
                    if (! count(array_diff($previousPart, $part))) {
                        continue 2;
                    }
                }
            }

            if ($this->matchExtendsSingle($part, $origin)) {
                $partsPile[] = $part;
                $after       = array_slice($selector, $i + 1);
                $before      = array_slice($selector, 0, $i);

                list($before, $nonBreakableBefore) = $this->extractRelationshipFromFragment($before);

                foreach ($origin as $new) {
                    $k = 0;

                    // remove shared parts
                    if (count($new) > 1) {
                        while ($k < $i && isset($new[$k]) && $selector[$k] === $new[$k]) {
                            $k++;
                        }
                    }

                    $replacement = [];
                    $tempReplacement = $k > 0 ? array_slice($new, $k) : $new;

                    for ($l = count($tempReplacement) - 1; $l >= 0; $l--) {
                        $slice = [];

                        foreach ($tempReplacement[$l] as $chunk) {
                            if (! in_array($chunk, $slice)) {
                                $slice[] = $chunk;
                            }
                        }

                        array_unshift($replacement, $slice);

                        if (! $this->isImmediateRelationshipCombinator(end($slice))) {
                            break;
                        }
                    }

                    $afterBefore = $l != 0 ? array_slice($tempReplacement, 0, $l) : [];

                    // Merge shared direct relationships.
                    $mergedBefore = $this->mergeDirectRelationships($afterBefore, $nonBreakableBefore);

                    $result = array_merge(
                        $before,
                        $mergedBefore,
                        $replacement,
                        $after
                    );

                    if ($result === $selector) {
                        continue;
                    }

                    $out[] = $result;

                    // recursively check for more matches
                    $startRecurseFrom = count($before) + min(count($nonBreakableBefore), count($mergedBefore));
                    $this->matchExtends($result, $out, $startRecurseFrom, false);

                    // selector sequence merging
                    if (! empty($before) && count($new) > 1) {
                        $preSharedParts = $k > 0 ? array_slice($before, 0, $k) : [];
                        $postSharedParts = $k > 0 ? array_slice($before, $k) : $before;

                        list($betweenSharedParts, $nonBreakable2) = $this->extractRelationshipFromFragment($afterBefore);

                        $result2 = array_merge(
                            $preSharedParts,
                            $betweenSharedParts,
                            $postSharedParts,
                            $nonBreakable2,
                            $nonBreakableBefore,
                            $replacement,
                            $after
                        );

                        $out[] = $result2;
                    }
                }

                array_pop($partsPile);
            }
        }
    }

    /**
     * Match extends single
     *
     * @param array $rawSingle
     * @param array $outOrigin
     *
     * @return boolean
     */
    protected function matchExtendsSingle($rawSingle, &$outOrigin)
    {
        $counts = [];
        $single = [];

        // simple usual cases, no need to do the whole trick
        if (in_array($rawSingle, [['>'],['+'],['~']])) {
            return false;
        }

        foreach ($rawSingle as $part) {
            // matches Number
            if (! is_string($part)) {
                return false;
            }

            if (! preg_match('/^[\[.:#%]/', $part) && count($single)) {
                $single[count($single) - 1] .= $part;
            } else {
                $single[] = $part;
            }
        }

        $extendingDecoratedTag = false;

        if (count($single) > 1) {
            $matches = null;
            $extendingDecoratedTag = preg_match('/^[a-z0-9]+$/i', $single[0], $matches) ? $matches[0] : false;
        }

        foreach ($single as $part) {
            if (isset($this->extendsMap[$part])) {
                foreach ($this->extendsMap[$part] as $idx) {
                    $counts[$idx] = isset($counts[$idx]) ? $counts[$idx] + 1 : 1;
                }
            }
        }

        $outOrigin = [];
        $found = false;

        foreach ($counts as $idx => $count) {
            list($target, $origin, /* $block */) = $this->extends[$idx];

            $origin = $this->glueFunctionSelectors($origin);

            // check count
            if ($count !== count($target)) {
                continue;
            }

            $this->extends[$idx][3] = true;

            $rem = array_diff($single, $target);

            foreach ($origin as $j => $new) {
                // prevent infinite loop when target extends itself
                if ($this->isSelfExtend($single, $origin)) {
                    return false;
                }

                $replacement = end($new);

                // Extending a decorated tag with another tag is not possible.
                if ($extendingDecoratedTag && $replacement[0] != $extendingDecoratedTag &&
                    preg_match('/^[a-z0-9]+$/i', $replacement[0])
                ) {
                    unset($origin[$j]);
                    continue;
                }

                $combined = $this->combineSelectorSingle($replacement, $rem);

                if (count(array_diff($combined, $origin[$j][count($origin[$j]) - 1]))) {
                    $origin[$j][count($origin[$j]) - 1] = $combined;
                }
            }

            $outOrigin = array_merge($outOrigin, $origin);

            $found = true;
        }

        return $found;
    }

    /**
     * Extract a relationship from the fragment.
     *
     * When extracting the last portion of a selector we will be left with a
     * fragment which may end with a direction relationship combinator. This
     * method will extract the relationship fragment and return it along side
     * the rest.
     *
     * @param array $fragment The selector fragment maybe ending with a direction relationship combinator.
     *
     * @return array The selector without the relationship fragment if any, the relationship fragment.
     */
    protected function extractRelationshipFromFragment(array $fragment)
    {
        $parents = [];
        $children = [];
        $j = $i = count($fragment);

        for (;;) {
            $children = $j != $i ? array_slice($fragment, $j, $i - $j) : [];
            $parents = array_slice($fragment, 0, $j);
            $slice = end($parents);

            if (empty($slice) || ! $this->isImmediateRelationshipCombinator($slice[0])) {
                break;
            }

            $j -= 2;
        }

        return [$parents, $children];
    }

    /**
     * Combine selector single
     *
     * @param array $base
     * @param array $other
     *
     * @return array
     */
    protected function combineSelectorSingle($base, $other)
    {
        $tag = [];
        $out = [];
        $wasTag = true;

        foreach ([$base, $other] as $single) {
            foreach ($single as $part) {
                if (preg_match('/^[\[.:#]/', $part)) {
                    $out[] = $part;
                    $wasTag = false;
                } elseif (preg_match('/^[^_-]/', $part)) {
                    $tag[] = $part;
                    $wasTag = true;
                } elseif ($wasTag) {
                    $tag[count($tag) - 1] .= $part;
                } else {
                    $out[count($out) - 1] .= $part;
                }
            }
        }

        if (count($tag)) {
            array_unshift($out, $tag[0]);
        }

        return $out;
    }

    /**
     * Compile media
     *
     * @param \Leafo\ScssPhp\Block $media
     */
    protected function compileMedia(Block $media)
    {
        $this->pushEnv($media);

        $mediaQueries = $this->compileMediaQuery($this->multiplyMedia($this->env));

        if (! empty($mediaQueries) && $mediaQueries) {
            $previousScope = $this->scope;
            $parentScope = $this->mediaParent($this->scope);

            foreach ($mediaQueries as $mediaQuery) {
                $this->scope = $this->makeOutputBlock(Type::T_MEDIA, [$mediaQuery]);

                $parentScope->children[] = $this->scope;
                $parentScope = $this->scope;
            }

            // top level properties in a media cause it to be wrapped
            $needsWrap = false;

            foreach ($media->children as $child) {
                $type = $child[0];

                if ($type !== Type::T_BLOCK &&
                    $type !== Type::T_MEDIA &&
                    $type !== Type::T_DIRECTIVE &&
                    $type !== Type::T_IMPORT
                ) {
                    $needsWrap = true;
                    break;
                }
            }

            if ($needsWrap) {
                $wrapped = new Block;
                $wrapped->sourceName = $media->sourceName;
                $wrapped->sourceIndex = $media->sourceIndex;
                $wrapped->sourceLine = $media->sourceLine;
                $wrapped->sourceColumn = $media->sourceColumn;
                $wrapped->selectors = [];
                $wrapped->comments = [];
                $wrapped->parent = $media;
                $wrapped->children = $media->children;

                $media->children = [[Type::T_BLOCK, $wrapped]];
                if (isset($this->lineNumberStyle)) {
                    $annotation = $this->makeOutputBlock(Type::T_COMMENT);
                    $annotation->depth = 0;

                    $file = $this->sourceNames[$media->sourceIndex];
                    $line = $media->sourceLine;

                    switch ($this->lineNumberStyle) {
                        case static::LINE_COMMENTS:
                            $annotation->lines[] = '/* line ' . $line
                                                 . ($file ? ', ' . $file : '')
                                                 . ' */';
                            break;

                        case static::DEBUG_INFO:
                            $annotation->lines[] = '@media -sass-debug-info{'
                                                 . ($file ? 'filename{font-family:"' . $file . '"}' : '')
                                                 . 'line{font-family:' . $line . '}}';
                            break;
                    }

                    $this->scope->children[] = $annotation;
                }
            }

            $this->compileChildrenNoReturn($media->children, $this->scope);

            $this->scope = $previousScope;
        }

        $this->popEnv();
    }

    /**
     * Media parent
     *
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $scope
     *
     * @return \Leafo\ScssPhp\Formatter\OutputBlock
     */
    protected function mediaParent(OutputBlock $scope)
    {
        while (! empty($scope->parent)) {
            if (! empty($scope->type) && $scope->type !== Type::T_MEDIA) {
                break;
            }

            $scope = $scope->parent;
        }

        return $scope;
    }

    /**
     * Compile directive
     *
     * @param \Leafo\ScssPhp\Block $block
     */
    protected function compileDirective(Block $block)
    {
        $s = '@' . $block->name;

        if (! empty($block->value)) {
            $s .= ' ' . $this->compileValue($block->value);
        }

        if ($block->name === 'keyframes' || substr($block->name, -10) === '-keyframes') {
            $this->compileKeyframeBlock($block, [$s]);
        } else {
            $this->compileNestedBlock($block, [$s]);
        }
    }

    /**
     * Compile at-root
     *
     * @param \Leafo\ScssPhp\Block $block
     */
    protected function compileAtRoot(Block $block)
    {
        $env     = $this->pushEnv($block);
        $envs    = $this->compactEnv($env);
        $without = isset($block->with) ? $this->compileWith($block->with) : static::WITH_RULE;

        // wrap inline selector
        if ($block->selector) {
            $wrapped = new Block;
            $wrapped->sourceName   = $block->sourceName;
            $wrapped->sourceIndex  = $block->sourceIndex;
            $wrapped->sourceLine   = $block->sourceLine;
            $wrapped->sourceColumn = $block->sourceColumn;
            $wrapped->selectors    = $block->selector;
            $wrapped->comments     = [];
            $wrapped->parent       = $block;
            $wrapped->children     = $block->children;
            $wrapped->selfParent   = $block->selfParent;

            $block->children = [[Type::T_BLOCK, $wrapped]];
            $block->selector = null;
        }

        $selfParent = $block->selfParent;

        if (! $block->selfParent->selectors && isset($block->parent) && $block->parent &&
            isset($block->parent->selectors) && $block->parent->selectors
        ) {
            $selfParent = $block->parent;
        }

        $this->env = $this->filterWithout($envs, $without);

        $saveScope   = $this->scope;
        $this->scope = $this->filterScopeWithout($saveScope, $without);

        // propagate selfParent to the children where they still can be useful
        $this->compileChildrenNoReturn($block->children, $this->scope, $selfParent);

        $this->scope = $this->completeScope($this->scope, $saveScope);
        $this->scope = $saveScope;
        $this->env   = $this->extractEnv($envs);

        $this->popEnv();
    }

    /**
     * Filter at-root scope depending of with/without option
     *
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $scope
     * @param mixed                                $without
     *
     * @return mixed
     */
    protected function filterScopeWithout($scope, $without)
    {
        $filteredScopes = [];

        if ($scope->type === TYPE::T_ROOT) {
            return $scope;
        }

        // start from the root
        while ($scope->parent && $scope->parent->type !== TYPE::T_ROOT) {
            $scope = $scope->parent;
        }

        for (;;) {
            if (! $scope) {
                break;
            }

            if (! $this->isWithout($without, $scope)) {
                $s = clone $scope;
                $s->children = [];
                $s->lines = [];
                $s->parent = null;

                if ($s->type !== Type::T_MEDIA && $s->type !== Type::T_DIRECTIVE) {
                    $s->selectors = [];
                }

                $filteredScopes[] = $s;
            }

            if ($scope->children) {
                $scope = end($scope->children);
            } else {
                $scope = null;
            }
        }

        if (! count($filteredScopes)) {
            return $this->rootBlock;
        }

        $newScope = array_shift($filteredScopes);
        $newScope->parent = $this->rootBlock;

        $this->rootBlock->children[] = $newScope;

        $p = &$newScope;

        while (count($filteredScopes)) {
            $s = array_shift($filteredScopes);
            $s->parent = $p;
            $p->children[] = &$s;
            $p = $s;
        }

        return $newScope;
    }

    /**
     * found missing selector from a at-root compilation in the previous scope
     * (if at-root is just enclosing a property, the selector is in the parent tree)
     *
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $scope
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $previousScope
     *
     * @return mixed
     */
    protected function completeScope($scope, $previousScope)
    {
        if (! $scope->type && (! $scope->selectors || ! count($scope->selectors)) && count($scope->lines)) {
            $scope->selectors = $this->findScopeSelectors($previousScope, $scope->depth);
        }

        if ($scope->children) {
            foreach ($scope->children as $k => $c) {
                $scope->children[$k] = $this->completeScope($c, $previousScope);
            }
        }

        return $scope;
    }

    /**
     * Find a selector by the depth node in the scope
     *
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $scope
     * @param integer                              $depth
     *
     * @return array
     */
    protected function findScopeSelectors($scope, $depth)
    {
        if ($scope->depth === $depth && $scope->selectors) {
            return $scope->selectors;
        }

        if ($scope->children) {
            foreach (array_reverse($scope->children) as $c) {
                if ($s = $this->findScopeSelectors($c, $depth)) {
                    return $s;
                }
            }
        }

        return [];
    }

    /**
     * Compile @at-root's with: inclusion / without: exclusion into filter flags
     *
     * @param array $with
     *
     * @return integer
     */
    protected function compileWith($with)
    {
        static $mapping = [
            'rule'     => self::WITH_RULE,
            'media'    => self::WITH_MEDIA,
            'supports' => self::WITH_SUPPORTS,
            'all'      => self::WITH_ALL,
        ];

        // exclude selectors by default
        $without = static::WITH_RULE;

        if ($this->libMapHasKey([$with, static::$with])) {
            $without = static::WITH_ALL;

            $list = $this->coerceList($this->libMapGet([$with, static::$with]));

            foreach ($list[2] as $item) {
                $keyword = $this->compileStringContent($this->coerceString($item));

                if (array_key_exists($keyword, $mapping)) {
                    $without &= ~($mapping[$keyword]);
                }
            }
        }

        if ($this->libMapHasKey([$with, static::$without])) {
            $without = 0;

            $list = $this->coerceList($this->libMapGet([$with, static::$without]));

            foreach ($list[2] as $item) {
                $keyword = $this->compileStringContent($this->coerceString($item));

                if (array_key_exists($keyword, $mapping)) {
                    $without |= $mapping[$keyword];
                }
            }
        }

        return $without;
    }

    /**
     * Filter env stack
     *
     * @param array   $envs
     * @param integer $without
     *
     * @return \Leafo\ScssPhp\Compiler\Environment
     */
    protected function filterWithout($envs, $without)
    {
        $filtered = [];

        foreach ($envs as $e) {
            if ($e->block && $this->isWithout($without, $e->block)) {
                $ec = clone $e;
                $ec->block = null;
                $ec->selectors = [];
                $filtered[] = $ec;
            } else {
                $filtered[] = $e;
            }
        }

        return $this->extractEnv($filtered);
    }

    /**
     * Filter WITH rules
     *
     * @param integer                                                   $without
     * @param \Leafo\ScssPhp\Block|\Leafo\ScssPhp\Formatter\OutputBlock $block
     *
     * @return boolean
     */
    protected function isWithout($without, $block)
    {
        if (isset($block->type)) {
            if ($block->type === Type::T_MEDIA) {
                return ($without & static::WITH_MEDIA) ? true : false;
            }

            if ($block->type === Type::T_DIRECTIVE) {
                if (isset($block->name) && $block->name === 'supports') {
                    return ($without & static::WITH_SUPPORTS) ? true : false;
                }

                if (isset($block->selectors) && strpos(serialize($block->selectors), '@supports') !== false) {
                    return ($without & static::WITH_SUPPORTS) ? true : false;
                }
            }
        }

        if ((($without & static::WITH_RULE) && isset($block->selectors))) {
            return true;
        }

        return false;
    }

    /**
     * Compile keyframe block
     *
     * @param \Leafo\ScssPhp\Block $block
     * @param array                $selectors
     */
    protected function compileKeyframeBlock(Block $block, $selectors)
    {
        $env = $this->pushEnv($block);

        $envs = $this->compactEnv($env);

        $this->env = $this->extractEnv(array_filter($envs, function (Environment $e) {
            return ! isset($e->block->selectors);
        }));

        $this->scope = $this->makeOutputBlock($block->type, $selectors);
        $this->scope->depth = 1;
        $this->scope->parent->children[] = $this->scope;

        $this->compileChildrenNoReturn($block->children, $this->scope);

        $this->scope = $this->scope->parent;
        $this->env   = $this->extractEnv($envs);

        $this->popEnv();
    }

    /**
     * Compile nested block
     *
     * @param \Leafo\ScssPhp\Block $block
     * @param array                $selectors
     */
    protected function compileNestedBlock(Block $block, $selectors)
    {
        $this->pushEnv($block);

        $this->scope = $this->makeOutputBlock($block->type, $selectors);
        $this->scope->parent->children[] = $this->scope;

        // wrap assign children in a block
        // except for @font-face
        if ($block->type !== Type::T_DIRECTIVE || $block->name !== "font-face") {
            // need wrapping?
            $needWrapping = false;

            foreach ($block->children as $child) {
                if ($child[0] === Type::T_ASSIGN) {
                    $needWrapping = true;
                    break;
                }
            }

            if ($needWrapping) {
                $wrapped = new Block;
                $wrapped->sourceName = $block->sourceName;
                $wrapped->sourceIndex = $block->sourceIndex;
                $wrapped->sourceLine = $block->sourceLine;
                $wrapped->sourceColumn = $block->sourceColumn;
                $wrapped->selectors = [];
                $wrapped->comments = [];
                $wrapped->parent = $block;
                $wrapped->children = $block->children;
                $wrapped->selfParent = $block->selfParent;

                $block->children = [[Type::T_BLOCK, $wrapped]];
            }
        }

        $this->compileChildrenNoReturn($block->children, $this->scope);

        $this->scope = $this->scope->parent;

        $this->popEnv();
    }

    /**
     * Recursively compiles a block.
     *
     * A block is analogous to a CSS block in most cases. A single SCSS document
     * is encapsulated in a block when parsed, but it does not have parent tags
     * so all of its children appear on the root level when compiled.
     *
     * Blocks are made up of selectors and children.
     *
     * The children of a block are just all the blocks that are defined within.
     *
     * Compiling the block involves pushing a fresh environment on the stack,
     * and iterating through the props, compiling each one.
     *
     * @see Compiler::compileChild()
     *
     * @param \Leafo\ScssPhp\Block $block
     */
    protected function compileBlock(Block $block)
    {
        $env = $this->pushEnv($block);
        $env->selectors = $this->evalSelectors($block->selectors);

        $out = $this->makeOutputBlock(null);

        if (isset($this->lineNumberStyle) && count($env->selectors) && count($block->children)) {
            $annotation = $this->makeOutputBlock(Type::T_COMMENT);
            $annotation->depth = 0;

            $file = $this->sourceNames[$block->sourceIndex];
            $line = $block->sourceLine;

            switch ($this->lineNumberStyle) {
                case static::LINE_COMMENTS:
                    $annotation->lines[] = '/* line ' . $line
                                         . ($file ? ', ' . $file : '')
                                         . ' */';
                    break;

                case static::DEBUG_INFO:
                    $annotation->lines[] = '@media -sass-debug-info{'
                                         . ($file ? 'filename{font-family:"' . $file . '"}' : '')
                                         . 'line{font-family:' . $line . '}}';
                    break;
            }

            $this->scope->children[] = $annotation;
        }

        $this->scope->children[] = $out;

        if (count($block->children)) {
            $out->selectors = $this->multiplySelectors($env, $block->selfParent);

            // propagate selfParent to the children where they still can be useful
            $selfParentSelectors = null;

            if (isset($block->selfParent->selectors)) {
                $selfParentSelectors = $block->selfParent->selectors;
                $block->selfParent->selectors = $out->selectors;
            }

            $this->compileChildrenNoReturn($block->children, $out, $block->selfParent);

            // and revert for the following childs of the same block
            if ($selfParentSelectors) {
                $block->selfParent->selectors = $selfParentSelectors;
            }
        }

        $this->formatter->stripSemicolon($out->lines);

        $this->popEnv();
    }

    /**
     * Compile root level comment
     *
     * @param array $block
     */
    protected function compileComment($block)
    {
        $out = $this->makeOutputBlock(Type::T_COMMENT);
        $out->lines[] = is_string($block[1]) ? $block[1] : $this->compileValue($block[1]);

        $this->scope->children[] = $out;
    }

    /**
     * Evaluate selectors
     *
     * @param array $selectors
     *
     * @return array
     */
    protected function evalSelectors($selectors)
    {
        $this->shouldEvaluate = false;

        $selectors = array_map([$this, 'evalSelector'], $selectors);

        // after evaluating interpolates, we might need a second pass
        if ($this->shouldEvaluate) {
            $selectors = $this->revertSelfSelector($selectors);
            $buffer = $this->collapseSelectors($selectors);
            $parser = $this->parserFactory(__METHOD__);

            if ($parser->parseSelector($buffer, $newSelectors)) {
                $selectors = array_map([$this, 'evalSelector'], $newSelectors);
            }
        }

        return $selectors;
    }

    /**
     * Evaluate selector
     *
     * @param array $selector
     *
     * @return array
     */
    protected function evalSelector($selector)
    {
        return array_map([$this, 'evalSelectorPart'], $selector);
    }

    /**
     * Evaluate selector part; replaces all the interpolates, stripping quotes
     *
     * @param array $part
     *
     * @return array
     */
    protected function evalSelectorPart($part)
    {
        foreach ($part as &$p) {
            if (is_array($p) && ($p[0] === Type::T_INTERPOLATE || $p[0] === Type::T_STRING)) {
                $p = $this->compileValue($p);

                // force re-evaluation
                if (strpos($p, '&') !== false || strpos($p, ',') !== false) {
                    $this->shouldEvaluate = true;
                }
            } elseif (is_string($p) && strlen($p) >= 2 &&
                ($first = $p[0]) && ($first === '"' || $first === "'") &&
                substr($p, -1) === $first
            ) {
                $p = substr($p, 1, -1);
            }
        }

        return $this->flattenSelectorSingle($part);
    }

    /**
     * Collapse selectors
     *
     * @param array   $selectors
     * @param boolean $selectorFormat
     *   if false return a collapsed string
     *   if true return an array description of a structured selector
     *
     * @return string
     */
    protected function collapseSelectors($selectors, $selectorFormat = false)
    {
        $parts = [];

        foreach ($selectors as $selector) {
            $output = [];
            $glueNext = false;

            foreach ($selector as $node) {
                $compound = '';

                array_walk_recursive(
                    $node,
                    function ($value, $key) use (&$compound) {
                        $compound .= $value;
                    }
                );

                if ($selectorFormat && $this->isImmediateRelationshipCombinator($compound)) {
                    if (count($output)) {
                        $output[count($output) - 1] .= ' ' . $compound;
                    } else {
                        $output[] = $compound;
                    }
                    $glueNext = true;
                } elseif ($glueNext) {
                    $output[count($output) - 1] .= ' ' . $compound;
                    $glueNext = false;
                } else {
                    $output[] = $compound;
                }
            }

            if ($selectorFormat) {
                foreach ($output as &$o) {
                    $o = [Type::T_STRING, '', [$o]];
                }
                $output = [Type::T_LIST, ' ', $output];
            } else {
                $output = implode(' ', $output);
            }

            $parts[] = $output;
        }

        if ($selectorFormat) {
            $parts = [Type::T_LIST, ',', $parts];
        } else {
            $parts = implode(', ', $parts);
        }

        return $parts;
    }

    /**
     * Parse down the selector and revert [self] to "&" before a reparsing
     *
     * @param array $selectors
     *
     * @return array
     */
    protected function revertSelfSelector($selectors)
    {
        foreach ($selectors as &$part) {
            if (is_array($part)) {
                if ($part === [Type::T_SELF]) {
                    $part = '&';
                } else {
                    $part = $this->revertSelfSelector($part);
                }
            }
        }

        return $selectors;
    }

    /**
     * Flatten selector single; joins together .classes and #ids
     *
     * @param array $single
     *
     * @return array
     */
    protected function flattenSelectorSingle($single)
    {
        $joined = [];

        foreach ($single as $part) {
            if (empty($joined) ||
                ! is_string($part) ||
                preg_match('/[\[.:#%]/', $part)
            ) {
                $joined[] = $part;
                continue;
            }

            if (is_array(end($joined))) {
                $joined[] = $part;
            } else {
                $joined[count($joined) - 1] .= $part;
            }
        }

        return $joined;
    }

    /**
     * Compile selector to string; self(&) should have been replaced by now
     *
     * @param string|array $selector
     *
     * @return string
     */
    protected function compileSelector($selector)
    {
        if (! is_array($selector)) {
            return $selector; // media and the like
        }

        return implode(
            ' ',
            array_map(
                [$this, 'compileSelectorPart'],
                $selector
            )
        );
    }

    /**
     * Compile selector part
     *
     * @param array $piece
     *
     * @return string
     */
    protected function compileSelectorPart($piece)
    {
        foreach ($piece as &$p) {
            if (! is_array($p)) {
                continue;
            }

            switch ($p[0]) {
                case Type::T_SELF:
                    $p = '&';
                    break;

                default:
                    $p = $this->compileValue($p);
                    break;
            }
        }

        return implode($piece);
    }

    /**
     * Has selector placeholder?
     *
     * @param array $selector
     *
     * @return boolean
     */
    protected function hasSelectorPlaceholder($selector)
    {
        if (! is_array($selector)) {
            return false;
        }

        foreach ($selector as $parts) {
            foreach ($parts as $part) {
                if (strlen($part) && '%' === $part[0]) {
                    return true;
                }
            }
        }

        return false;
    }

    protected function pushCallStack($name = '')
    {
        $this->callStack[] = [
          'n' => $name,
          Parser::SOURCE_INDEX => $this->sourceIndex,
          Parser::SOURCE_LINE => $this->sourceLine,
          Parser::SOURCE_COLUMN => $this->sourceColumn
        ];

        // infinite calling loop
        if (count($this->callStack) > 25000) {
            // not displayed but you can var_dump it to deep debug
            $msg = $this->callStackMessage(true, 100);
            $msg = "Infinite calling loop";
            $this->throwError($msg);
        }
    }

    protected function popCallStack()
    {
        array_pop($this->callStack);
    }

    /**
     * Compile children and return result
     *
     * @param array                                $stms
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $out
     * @param string                               $traceName
     *
     * @return array|null
     */
    protected function compileChildren($stms, OutputBlock $out, $traceName = '')
    {
        $this->pushCallStack($traceName);

        foreach ($stms as $stm) {
            $ret = $this->compileChild($stm, $out);

            if (isset($ret)) {
                return $ret;
            }
        }

        $this->popCallStack();

        return null;
    }

    /**
     * Compile children and throw exception if unexpected @return
     *
     * @param array                                $stms
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $out
     * @param \Leafo\ScssPhp\Block                 $selfParent
     * @param string                               $traceName
     *
     * @throws \Exception
     */
    protected function compileChildrenNoReturn($stms, OutputBlock $out, $selfParent = null, $traceName = '')
    {
        $this->pushCallStack($traceName);

        foreach ($stms as $stm) {
            if ($selfParent && isset($stm[1]) && is_object($stm[1]) && $stm[1] instanceof Block) {
                $stm[1]->selfParent = $selfParent;
                $ret = $this->compileChild($stm, $out);
                $stm[1]->selfParent = null;
            } elseif ($selfParent && $stm[0] === TYPE::T_INCLUDE) {
                $stm['selfParent'] = $selfParent;
                $ret = $this->compileChild($stm, $out);
                unset($stm['selfParent']);
            } else {
                $ret = $this->compileChild($stm, $out);
            }

            if (isset($ret)) {
                $this->throwError('@return may only be used within a function');

                return;
            }
        }

        $this->popCallStack();
    }


    /**
     * evaluate media query : compile internal value keeping the structure inchanged
     *
     * @param array $queryList
     *
     * @return array
     */
    protected function evaluateMediaQuery($queryList)
    {
        foreach ($queryList as $kql => $query) {
            foreach ($query as $kq => $q) {
                for ($i = 1; $i < count($q); $i++) {
                    $value = $this->compileValue($q[$i]);

                    // the parser had no mean to know if media type or expression if it was an interpolation
                    if ($q[0] == Type::T_MEDIA_TYPE &&
                        (strpos($value, '(') !== false ||
                        strpos($value, ')') !== false ||
                        strpos($value, ':') !== false)
                    ) {
                        $queryList[$kql][$kq][0] = Type::T_MEDIA_EXPRESSION;

                        if (strpos($value, 'and') !== false) {
                            $values = explode('and', $value);
                            $value = trim(array_pop($values));

                            while ($v = trim(array_pop($values))) {
                                $type = Type::T_MEDIA_EXPRESSION;

                                if (strpos($v, '(') === false &&
                                    strpos($v, ')') === false &&
                                    strpos($v, ':') === false
                                ) {
                                    $type = Type::T_MEDIA_TYPE;
                                }

                                if (substr($v, 0, 1) === '(' && substr($v, -1) === ')') {
                                    $v = substr($v, 1, -1);
                                }

                                $queryList[$kql][] = [$type,[Type::T_KEYWORD, $v]];
                            }
                        }

                        if (substr($value, 0, 1) === '(' && substr($value, -1) === ')') {
                            $value = substr($value, 1, -1);
                        }
                    }

                    $queryList[$kql][$kq][$i] = [Type::T_KEYWORD, $value];
                }
            }
        }

        return $queryList;
    }

    /**
     * Compile media query
     *
     * @param array $queryList
     *
     * @return array
     */
    protected function compileMediaQuery($queryList)
    {
        $start = '@media ';
        $default = trim($start);
        $out = [];
        $current = "";

        foreach ($queryList as $query) {
            $type = null;
            $parts = [];

            $mediaTypeOnly = true;

            foreach ($query as $q) {
                if ($q[0] !== Type::T_MEDIA_TYPE) {
                    $mediaTypeOnly = false;
                    break;
                }
            }

            foreach ($query as $q) {
                switch ($q[0]) {
                    case Type::T_MEDIA_TYPE:
                        $newType = array_map([$this, 'compileValue'], array_slice($q, 1));
                        // combining not and anything else than media type is too risky and should be avoided
                        if (! $mediaTypeOnly) {
                            if (in_array(Type::T_NOT, $newType) || ($type && in_array(Type::T_NOT, $type) )) {
                                if ($type) {
                                    array_unshift($parts, implode(' ', array_filter($type)));
                                }

                                if (! empty($parts)) {
                                    if (strlen($current)) {
                                        $current .= $this->formatter->tagSeparator;
                                    }

                                    $current .= implode(' and ', $parts);
                                }

                                if ($current) {
                                    $out[] = $start . $current;
                                }

                                $current = "";
                                $type = null;
                                $parts = [];
                            }
                        }

                        if ($newType === ['all'] && $default) {
                            $default = $start . 'all';
                        }

                        // all can be safely ignored and mixed with whatever else
                        if ($newType !== ['all']) {
                            if ($type) {
                                $type = $this->mergeMediaTypes($type, $newType);

                                if (empty($type)) {
                                    // merge failed : ignore this query that is not valid, skip to the next one
                                    $parts = [];
                                    $default = ''; // if everything fail, no @media at all
                                    continue 3;
                                }
                            } else {
                                $type = $newType;
                            }
                        }
                        break;

                    case Type::T_MEDIA_EXPRESSION:
                        if (isset($q[2])) {
                            $parts[] = '('
                                . $this->compileValue($q[1])
                                . $this->formatter->assignSeparator
                                . $this->compileValue($q[2])
                                . ')';
                        } else {
                            $parts[] = '('
                                . $this->compileValue($q[1])
                                . ')';
                        }
                        break;

                    case Type::T_MEDIA_VALUE:
                        $parts[] = $this->compileValue($q[1]);
                        break;
                }
            }

            if ($type) {
                array_unshift($parts, implode(' ', array_filter($type)));
            }

            if (! empty($parts)) {
                if (strlen($current)) {
                    $current .= $this->formatter->tagSeparator;
                }

                $current .= implode(' and ', $parts);
            }
        }

        if ($current) {
            $out[] = $start . $current;
        }

        // no @media type except all, and no conflict?
        if (! $out && $default) {
            $out[] = $default;
        }

        return $out;
    }

    /**
     * Merge direct relationships between selectors
     *
     * @param array $selectors1
     * @param array $selectors2
     *
     * @return array
     */
    protected function mergeDirectRelationships($selectors1, $selectors2)
    {
        if (empty($selectors1) || empty($selectors2)) {
            return array_merge($selectors1, $selectors2);
        }

        $part1 = end($selectors1);
        $part2 = end($selectors2);

        if (! $this->isImmediateRelationshipCombinator($part1[0]) && $part1 !== $part2) {
            return array_merge($selectors1, $selectors2);
        }

        $merged = [];

        do {
            $part1 = array_pop($selectors1);
            $part2 = array_pop($selectors2);

            if (! $this->isImmediateRelationshipCombinator($part1[0]) && $part1 !== $part2) {
                if ($this->isImmediateRelationshipCombinator(reset($merged)[0])) {
                    array_unshift($merged, [$part1[0] . $part2[0]]);
                    $merged = array_merge($selectors1, $selectors2, $merged);
                } else {
                    $merged = array_merge($selectors1, [$part1], $selectors2, [$part2], $merged);
                }

                break;
            }

            array_unshift($merged, $part1);
        } while (! empty($selectors1) && ! empty($selectors2));

        return $merged;
    }

    /**
     * Merge media types
     *
     * @param array $type1
     * @param array $type2
     *
     * @return array|null
     */
    protected function mergeMediaTypes($type1, $type2)
    {
        if (empty($type1)) {
            return $type2;
        }

        if (empty($type2)) {
            return $type1;
        }

        $m1 = '';
        $t1 = '';

        if (count($type1) > 1) {
            $m1= strtolower($type1[0]);
            $t1= strtolower($type1[1]);
        } else {
            $t1 = strtolower($type1[0]);
        }

        $m2 = '';
        $t2 = '';

        if (count($type2) > 1) {
            $m2 = strtolower($type2[0]);
            $t2 = strtolower($type2[1]);
        } else {
            $t2 = strtolower($type2[0]);
        }

        if (($m1 === Type::T_NOT) ^ ($m2 === Type::T_NOT)) {
            if ($t1 === $t2) {
                return null;
            }

            return [
                $m1 === Type::T_NOT ? $m2 : $m1,
                $m1 === Type::T_NOT ? $t2 : $t1,
            ];
        }

        if ($m1 === Type::T_NOT && $m2 === Type::T_NOT) {
            // CSS has no way of representing "neither screen nor print"
            if ($t1 !== $t2) {
                return null;
            }

            return [Type::T_NOT, $t1];
        }

        if ($t1 !== $t2) {
            return null;
        }

        // t1 == t2, neither m1 nor m2 are "not"
        return [empty($m1)? $m2 : $m1, $t1];
    }

    /**
     * Compile import; returns true if the value was something that could be imported
     *
     * @param array                                $rawPath
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $out
     * @param boolean                              $once
     *
     * @return boolean
     */
    protected function compileImport($rawPath, OutputBlock $out, $once = false)
    {
        if ($rawPath[0] === Type::T_STRING) {
            $path = $this->compileStringContent($rawPath);

            if ($path = $this->findImport($path)) {
                if (! $once || ! in_array($path, $this->importedFiles)) {
                    $this->importFile($path, $out);
                    $this->importedFiles[] = $path;
                }

                return true;
            }

            return false;
        }

        if ($rawPath[0] === Type::T_LIST) {
            // handle a list of strings
            if (count($rawPath[2]) === 0) {
                return false;
            }

            foreach ($rawPath[2] as $path) {
                if ($path[0] !== Type::T_STRING) {
                    return false;
                }
            }

            foreach ($rawPath[2] as $path) {
                $this->compileImport($path, $out);
            }

            return true;
        }

        return false;
    }

    /**
     * Compile child; returns a value to halt execution
     *
     * @param array                                $child
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $out
     *
     * @return array
     */
    protected function compileChild($child, OutputBlock $out)
    {
        if (isset($child[Parser::SOURCE_LINE])) {
            $this->sourceIndex = isset($child[Parser::SOURCE_INDEX]) ? $child[Parser::SOURCE_INDEX] : null;
            $this->sourceLine = isset($child[Parser::SOURCE_LINE]) ? $child[Parser::SOURCE_LINE] : -1;
            $this->sourceColumn = isset($child[Parser::SOURCE_COLUMN]) ? $child[Parser::SOURCE_COLUMN] : -1;
        } elseif (is_array($child) && isset($child[1]->sourceLine)) {
            $this->sourceIndex = $child[1]->sourceIndex;
            $this->sourceLine = $child[1]->sourceLine;
            $this->sourceColumn = $child[1]->sourceColumn;
        } elseif (! empty($out->sourceLine) && ! empty($out->sourceName)) {
            $this->sourceLine = $out->sourceLine;
            $this->sourceIndex = array_search($out->sourceName, $this->sourceNames);

            if ($this->sourceIndex === false) {
                $this->sourceIndex = null;
            }
        }

        switch ($child[0]) {
            case Type::T_SCSSPHP_IMPORT_ONCE:
                $rawPath = $this->reduce($child[1]);

                if (! $this->compileImport($rawPath, $out, true)) {
                    $out->lines[] = '@import ' . $this->compileValue($rawPath) . ';';
                }
                break;

            case Type::T_IMPORT:
                $rawPath = $this->reduce($child[1]);

                if (! $this->compileImport($rawPath, $out)) {
                    $out->lines[] = '@import ' . $this->compileValue($rawPath) . ';';
                }
                break;

            case Type::T_DIRECTIVE:
                $this->compileDirective($child[1]);
                break;

            case Type::T_AT_ROOT:
                $this->compileAtRoot($child[1]);
                break;

            case Type::T_MEDIA:
                $this->compileMedia($child[1]);
                break;

            case Type::T_BLOCK:
                $this->compileBlock($child[1]);
                break;

            case Type::T_CHARSET:
                if (! $this->charsetSeen) {
                    $this->charsetSeen = true;

                    $out->lines[] = '@charset ' . $this->compileValue($child[1]) . ';';
                }
                break;

            case Type::T_ASSIGN:
                list(, $name, $value) = $child;

                if ($name[0] === Type::T_VARIABLE) {
                    $flags = isset($child[3]) ? $child[3] : [];
                    $isDefault = in_array('!default', $flags);
                    $isGlobal = in_array('!global', $flags);

                    if ($isGlobal) {
                        $this->set($name[1], $this->reduce($value), false, $this->rootEnv, $value);
                        break;
                    }

                    $shouldSet = $isDefault &&
                        (($result = $this->get($name[1], false)) === null
                        || $result === static::$null);

                    if (! $isDefault || $shouldSet) {
                        $this->set($name[1], $this->reduce($value), true, null, $value);
                    }
                    break;
                }

                $compiledName = $this->compileValue($name);

                // handle shorthand syntax: size / line-height
                if ($compiledName === 'font' || $compiledName === 'grid-row' || $compiledName === 'grid-column') {
                    if ($value[0] === Type::T_VARIABLE) {
                        // if the font value comes from variable, the content is already reduced
                        // (i.e., formulas were already calculated), so we need the original unreduced value
                        $value = $this->get($value[1], true, null, true);
                    }

                    $fontValue=&$value;

                    if ($value[0] === Type::T_LIST && $value[1]==',') {
                        // this is the case if more than one font is given: example: "font: 400 1em/1.3 arial,helvetica"
                        // we need to handle the first list element
                        $fontValue=&$value[2][0];
                    }

                    if ($fontValue[0] === Type::T_EXPRESSION && $fontValue[1] === '/') {
                        $fontValue = $this->expToString($fontValue);
                    } elseif ($fontValue[0] === Type::T_LIST) {
                        foreach ($fontValue[2] as &$item) {
                            if ($item[0] === Type::T_EXPRESSION && $item[1] === '/') {
                                $item = $this->expToString($item);
                            }
                        }
                    }
                }

                // if the value reduces to null from something else then
                // the property should be discarded
                if ($value[0] !== Type::T_NULL) {
                    $value = $this->reduce($value);

                    if ($value[0] === Type::T_NULL || $value === static::$nullString) {
                        break;
                    }
                }

                $compiledValue = $this->compileValue($value);

                $out->lines[] = $this->formatter->property(
                    $compiledName,
                    $compiledValue
                );
                break;

            case Type::T_COMMENT:
                if ($out->type === Type::T_ROOT) {
                    $this->compileComment($child);
                    break;
                }

                $out->lines[] = $child[1];
                break;

            case Type::T_MIXIN:
            case Type::T_FUNCTION:
                list(, $block) = $child;

                $this->set(static::$namespaces[$block->type] . $block->name, $block);
                break;

            case Type::T_EXTEND:
                foreach ($child[1] as $sel) {
                    $results = $this->evalSelectors([$sel]);

                    foreach ($results as $result) {
                        // only use the first one
                        $result = current($result);

                        $this->pushExtends($result, $out->selectors, $child);
                    }
                }
                break;

            case Type::T_IF:
                list(, $if) = $child;

                if ($this->isTruthy($this->reduce($if->cond, true))) {
                    return $this->compileChildren($if->children, $out);
                }

                foreach ($if->cases as $case) {
                    if ($case->type === Type::T_ELSE ||
                        $case->type === Type::T_ELSEIF && $this->isTruthy($this->reduce($case->cond))
                    ) {
                        return $this->compileChildren($case->children, $out);
                    }
                }
                break;

            case Type::T_EACH:
                list(, $each) = $child;

                $list = $this->coerceList($this->reduce($each->list));

                $this->pushEnv();

                foreach ($list[2] as $item) {
                    if (count($each->vars) === 1) {
                        $this->set($each->vars[0], $item, true);
                    } else {
                        list(,, $values) = $this->coerceList($item);

                        foreach ($each->vars as $i => $var) {
                            $this->set($var, isset($values[$i]) ? $values[$i] : static::$null, true);
                        }
                    }

                    $ret = $this->compileChildren($each->children, $out);

                    if ($ret) {
                        if ($ret[0] !== Type::T_CONTROL) {
                            $this->popEnv();

                            return $ret;
                        }

                        if ($ret[1]) {
                            break;
                        }
                    }
                }

                $this->popEnv();
                break;

            case Type::T_WHILE:
                list(, $while) = $child;

                while ($this->isTruthy($this->reduce($while->cond, true))) {
                    $ret = $this->compileChildren($while->children, $out);

                    if ($ret) {
                        if ($ret[0] !== Type::T_CONTROL) {
                            return $ret;
                        }

                        if ($ret[1]) {
                            break;
                        }
                    }
                }
                break;

            case Type::T_FOR:
                list(, $for) = $child;

                $start = $this->reduce($for->start, true);
                $end   = $this->reduce($for->end, true);

                if (! ($start[2] == $end[2] || $end->unitless())) {
                    $this->throwError('Incompatible units: "%s" and "%s".', $start->unitStr(), $end->unitStr());

                    break;
                }

                $unit  = $start[2];
                $start = $start[1];
                $end   = $end[1];

                $d = $start < $end ? 1 : -1;

                for (;;) {
                    if ((! $for->until && $start - $d == $end) ||
                        ($for->until && $start == $end)
                    ) {
                        break;
                    }

                    $this->set($for->var, new Node\Number($start, $unit));
                    $start += $d;

                    $ret = $this->compileChildren($for->children, $out);

                    if ($ret) {
                        if ($ret[0] !== Type::T_CONTROL) {
                            return $ret;
                        }

                        if ($ret[1]) {
                            break;
                        }
                    }
                }
                break;

            case Type::T_BREAK:
                return [Type::T_CONTROL, true];

            case Type::T_CONTINUE:
                return [Type::T_CONTROL, false];

            case Type::T_RETURN:
                return $this->reduce($child[1], true);

            case Type::T_NESTED_PROPERTY:
                list(, $prop) = $child;

                $prefixed = [];
                $prefix = $this->compileValue($prop->prefix) . '-';

                foreach ($prop->children as $child) {
                    switch ($child[0]) {
                        case Type::T_ASSIGN:
                            array_unshift($child[1][2], $prefix);
                            break;

                        case Type::T_NESTED_PROPERTY:
                            array_unshift($child[1]->prefix[2], $prefix);
                            break;
                    }

                    $prefixed[] = $child;
                }

                $this->compileChildrenNoReturn($prefixed, $out);
                break;

            case Type::T_INCLUDE:
                // including a mixin
                list(, $name, $argValues, $content) = $child;

                $mixin = $this->get(static::$namespaces['mixin'] . $name, false);

                if (! $mixin) {
                    $this->throwError("Undefined mixin $name");
                    break;
                }

                $callingScope = $this->getStoreEnv();

                // push scope, apply args
                $this->pushEnv();
                $this->env->depth--;

                $storeEnv = $this->storeEnv;
                $this->storeEnv = $this->env;

                // Find the parent selectors in the env to be able to know what '&' refers to in the mixin
                // and assign this fake parent to childs
                $selfParent = null;

                if (isset($child['selfParent']) && isset($child['selfParent']->selectors)) {
                    $selfParent = $child['selfParent'];
                } else {
                    $parentSelectors = $this->multiplySelectors($this->env);

                    if ($parentSelectors) {
                        $parent = new Block();
                        $parent->selectors = $parentSelectors;

                        foreach ($mixin->children as $k => $child) {
                            if (isset($child[1]) && is_object($child[1]) && $child[1] instanceof Block) {
                                $mixin->children[$k][1]->parent = $parent;
                            }
                        }
                    }
                }

                // clone the stored content to not have its scope spoiled by a further call to the same mixin
                // i.e., recursive @include of the same mixin
                if (isset($content)) {
                    $copyContent = clone $content;
                    $copyContent->scope = $callingScope;

                    $this->setRaw(static::$namespaces['special'] . 'content', $copyContent, $this->env);
                }

                if (isset($mixin->args)) {
                    $this->applyArguments($mixin->args, $argValues);
                }

                $this->env->marker = 'mixin';

                $this->compileChildrenNoReturn($mixin->children, $out, $selfParent, $this->env->marker . " " . $name);

                $this->storeEnv = $storeEnv;

                $this->popEnv();
                break;

            case Type::T_MIXIN_CONTENT:
                $env = isset($this->storeEnv) ? $this->storeEnv : $this->env;
                $content = $this->get(static::$namespaces['special'] . 'content', false, $env);

                if (! $content) {
                    $content = new \stdClass();
                    $content->scope = new \stdClass();
                    $content->children = $this->storeEnv->parent->block->children;
                    break;
                }

                $storeEnv = $this->storeEnv;
                $this->storeEnv = $content->scope;
                $this->compileChildrenNoReturn($content->children, $out);

                $this->storeEnv = $storeEnv;
                break;

            case Type::T_DEBUG:
                list(, $value) = $child;

                $fname = $this->sourceNames[$this->sourceIndex];
                $line = $this->sourceLine;
                $value = $this->compileValue($this->reduce($value, true));
                fwrite($this->stderr, "File $fname on line $line DEBUG: $value\n");
                break;

            case Type::T_WARN:
                list(, $value) = $child;

                $fname = $this->sourceNames[$this->sourceIndex];
                $line = $this->sourceLine;
                $value = $this->compileValue($this->reduce($value, true));
                fwrite($this->stderr, "File $fname on line $line WARN: $value\n");
                break;

            case Type::T_ERROR:
                list(, $value) = $child;

                $fname = $this->sourceNames[$this->sourceIndex];
                $line = $this->sourceLine;
                $value = $this->compileValue($this->reduce($value, true));
                $this->throwError("File $fname on line $line ERROR: $value\n");
                break;

            case Type::T_CONTROL:
                $this->throwError('@break/@continue not permitted in this scope');
                break;

            default:
                $this->throwError("unknown child type: $child[0]");
        }
    }

    /**
     * Reduce expression to string
     *
     * @param array $exp
     *
     * @return array
     */
    protected function expToString($exp)
    {
        list(, $op, $left, $right, /* $inParens */, $whiteLeft, $whiteRight) = $exp;

        $content = [$this->reduce($left)];

        if ($whiteLeft) {
            $content[] = ' ';
        }

        $content[] = $op;

        if ($whiteRight) {
            $content[] = ' ';
        }

        $content[] = $this->reduce($right);

        return [Type::T_STRING, '', $content];
    }

    /**
     * Is truthy?
     *
     * @param array $value
     *
     * @return boolean
     */
    protected function isTruthy($value)
    {
        return $value !== static::$false && $value !== static::$null;
    }

    /**
     * Is the value a direct relationship combinator?
     *
     * @param string $value
     *
     * @return boolean
     */
    protected function isImmediateRelationshipCombinator($value)
    {
        return $value === '>' || $value === '+' || $value === '~';
    }

    /**
     * Should $value cause its operand to eval
     *
     * @param array $value
     *
     * @return boolean
     */
    protected function shouldEval($value)
    {
        switch ($value[0]) {
            case Type::T_EXPRESSION:
                if ($value[1] === '/') {
                    return $this->shouldEval($value[2]) || $this->shouldEval($value[3]);
                }

                // fall-thru
            case Type::T_VARIABLE:
            case Type::T_FUNCTION_CALL:
                return true;
        }

        return false;
    }

    /**
     * Reduce value
     *
     * @param array   $value
     * @param boolean $inExp
     *
     * @return array|\Leafo\ScssPhp\Node\Number
     */
    protected function reduce($value, $inExp = false)
    {

        switch ($value[0]) {
            case Type::T_EXPRESSION:
                list(, $op, $left, $right, $inParens) = $value;

                $opName = isset(static::$operatorNames[$op]) ? static::$operatorNames[$op] : $op;
                $inExp = $inExp || $this->shouldEval($left) || $this->shouldEval($right);

                $left = $this->reduce($left, true);

                if ($op !== 'and' && $op !== 'or') {
                    $right = $this->reduce($right, true);
                }

                // special case: looks like css shorthand
                if ($opName == 'div' && ! $inParens && ! $inExp && isset($right[2])
                    && (($right[0] !== Type::T_NUMBER && $right[2] != '')
                    || ($right[0] === Type::T_NUMBER && ! $right->unitless()))
                ) {
                    return $this->expToString($value);
                }

                $left = $this->coerceForExpression($left);
                $right = $this->coerceForExpression($right);

                $ltype = $left[0];
                $rtype = $right[0];

                $ucOpName = ucfirst($opName);
                $ucLType  = ucfirst($ltype);
                $ucRType  = ucfirst($rtype);

                // this tries:
                // 1. op[op name][left type][right type]
                // 2. op[left type][right type] (passing the op as first arg
                // 3. op[op name]
                $fn = "op${ucOpName}${ucLType}${ucRType}";

                if (is_callable([$this, $fn]) ||
                    (($fn = "op${ucLType}${ucRType}") &&
                        is_callable([$this, $fn]) &&
                        $passOp = true) ||
                    (($fn = "op${ucOpName}") &&
                        is_callable([$this, $fn]) &&
                        $genOp = true)
                ) {
                    $coerceUnit = false;

                    if (! isset($genOp) &&
                        $left[0] === Type::T_NUMBER && $right[0] === Type::T_NUMBER
                    ) {
                        $coerceUnit = true;

                        switch ($opName) {
                            case 'mul':
                                $targetUnit = $left[2];

                                foreach ($right[2] as $unit => $exp) {
                                    $targetUnit[$unit] = (isset($targetUnit[$unit]) ? $targetUnit[$unit] : 0) + $exp;
                                }
                                break;

                            case 'div':
                                $targetUnit = $left[2];

                                foreach ($right[2] as $unit => $exp) {
                                    $targetUnit[$unit] = (isset($targetUnit[$unit]) ? $targetUnit[$unit] : 0) - $exp;
                                }
                                break;

                            case 'mod':
                                $targetUnit = $left[2];
                                break;

                            default:
                                $targetUnit = $left->unitless() ? $right[2] : $left[2];
                        }

                        if (! $left->unitless() && ! $right->unitless()) {
                            $left = $left->normalize();
                            $right = $right->normalize();
                        }
                    }

                    $shouldEval = $inParens || $inExp;

                    if (isset($passOp)) {
                        $out = $this->$fn($op, $left, $right, $shouldEval);
                    } else {
                        $out = $this->$fn($left, $right, $shouldEval);
                    }

                    if (isset($out)) {
                        if ($coerceUnit && $out[0] === Type::T_NUMBER) {
                            $out = $out->coerce($targetUnit);
                        }

                        return $out;
                    }
                }

                return $this->expToString($value);

            case Type::T_UNARY:
                list(, $op, $exp, $inParens) = $value;

                $inExp = $inExp || $this->shouldEval($exp);
                $exp = $this->reduce($exp);

                if ($exp[0] === Type::T_NUMBER) {
                    switch ($op) {
                        case '+':
                            return new Node\Number($exp[1], $exp[2]);

                        case '-':
                            return new Node\Number(-$exp[1], $exp[2]);
                    }
                }

                if ($op === 'not') {
                    if ($inExp || $inParens) {
                        if ($exp === static::$false || $exp === static::$null) {
                            return static::$true;
                        }

                        return static::$false;
                    }

                    $op = $op . ' ';
                }

                return [Type::T_STRING, '', [$op, $exp]];

            case Type::T_VARIABLE:
                return $this->reduce($this->get($value[1]));

            case Type::T_LIST:
                foreach ($value[2] as &$item) {
                    $item = $this->reduce($item);
                }

                return $value;

            case Type::T_MAP:
                foreach ($value[1] as &$item) {
                    $item = $this->reduce($item);
                }

                foreach ($value[2] as &$item) {
                    $item = $this->reduce($item);
                }

                return $value;

            case Type::T_STRING:
                foreach ($value[2] as &$item) {
                    if (is_array($item) || $item instanceof \ArrayAccess) {
                        $item = $this->reduce($item);
                    }
                }

                return $value;

            case Type::T_INTERPOLATE:
                $value[1] = $this->reduce($value[1]);
                if ($inExp) {
                    return $value[1];
                }

                return $value;

            case Type::T_FUNCTION_CALL:
                return $this->fncall($value[1], $value[2]);

            case Type::T_SELF:
                $selfSelector = $this->multiplySelectors($this->env);
                $selfSelector = $this->collapseSelectors($selfSelector, true);
                return $selfSelector;

            default:
                return $value;
        }
    }

    /**
     * Function caller
     *
     * @param string $name
     * @param array  $argValues
     *
     * @return array|null
     */
    protected function fncall($name, $argValues)
    {
        // SCSS @function
        if ($this->callScssFunction($name, $argValues, $returnValue)) {
            return $returnValue;
        }

        // native PHP functions
        if ($this->callNativeFunction($name, $argValues, $returnValue)) {
            return $returnValue;
        }

        // for CSS functions, simply flatten the arguments into a list
        $listArgs = [];

        foreach ((array) $argValues as $arg) {
            if (empty($arg[0])) {
                $listArgs[] = $this->reduce($arg[1]);
            }
        }

        return [Type::T_FUNCTION, $name, [Type::T_LIST, ',', $listArgs]];
    }

    /**
     * Normalize name
     *
     * @param string $name
     *
     * @return string
     */
    protected function normalizeName($name)
    {
        return str_replace('-', '_', $name);
    }

    /**
     * Normalize value
     *
     * @param array $value
     *
     * @return array
     */
    public function normalizeValue($value)
    {
        $value = $this->coerceForExpression($this->reduce($value));

        switch ($value[0]) {
            case Type::T_LIST:
                $value = $this->extractInterpolation($value);

                if ($value[0] !== Type::T_LIST) {
                    return [Type::T_KEYWORD, $this->compileValue($value)];
                }

                foreach ($value[2] as $key => $item) {
                    $value[2][$key] = $this->normalizeValue($item);
                }

                return $value;

            case Type::T_STRING:
                return [$value[0], '"', [$this->compileStringContent($value)]];

            case Type::T_NUMBER:
                return $value->normalize();

            case Type::T_INTERPOLATE:
                return [Type::T_KEYWORD, $this->compileValue($value)];

            default:
                return $value;
        }
    }

    /**
     * Add numbers
     *
     * @param array $left
     * @param array $right
     *
     * @return \Leafo\ScssPhp\Node\Number
     */
    protected function opAddNumberNumber($left, $right)
    {
        return new Node\Number($left[1] + $right[1], $left[2]);
    }

    /**
     * Multiply numbers
     *
     * @param array $left
     * @param array $right
     *
     * @return \Leafo\ScssPhp\Node\Number
     */
    protected function opMulNumberNumber($left, $right)
    {
        return new Node\Number($left[1] * $right[1], $left[2]);
    }

    /**
     * Subtract numbers
     *
     * @param array $left
     * @param array $right
     *
     * @return \Leafo\ScssPhp\Node\Number
     */
    protected function opSubNumberNumber($left, $right)
    {
        return new Node\Number($left[1] - $right[1], $left[2]);
    }

    /**
     * Divide numbers
     *
     * @param array $left
     * @param array $right
     *
     * @return array|\Leafo\ScssPhp\Node\Number
     */
    protected function opDivNumberNumber($left, $right)
    {
        if ($right[1] == 0) {
            return [Type::T_STRING, '', [$left[1] . $left[2] . '/' . $right[1] . $right[2]]];
        }

        return new Node\Number($left[1] / $right[1], $left[2]);
    }

    /**
     * Mod numbers
     *
     * @param array $left
     * @param array $right
     *
     * @return \Leafo\ScssPhp\Node\Number
     */
    protected function opModNumberNumber($left, $right)
    {
        return new Node\Number($left[1] % $right[1], $left[2]);
    }

    /**
     * Add strings
     *
     * @param array $left
     * @param array $right
     *
     * @return array|null
     */
    protected function opAdd($left, $right)
    {
        if ($strLeft = $this->coerceString($left)) {
            if ($right[0] === Type::T_STRING) {
                $right[1] = '';
            }

            $strLeft[2][] = $right;

            return $strLeft;
        }

        if ($strRight = $this->coerceString($right)) {
            if ($left[0] === Type::T_STRING) {
                $left[1] = '';
            }

            array_unshift($strRight[2], $left);

            return $strRight;
        }

        return null;
    }

    /**
     * Boolean and
     *
     * @param array   $left
     * @param array   $right
     * @param boolean $shouldEval
     *
     * @return array|null
     */
    protected function opAnd($left, $right, $shouldEval)
    {
        $truthy = ($left === static::$null || $right === static::$null) ||
                  ($left === static::$false || $left === static::$true) &&
                  ($right === static::$false || $right === static::$true);

        if (! $shouldEval) {
            if (! $truthy) {
                return null;
            }
        }

        if ($left !== static::$false && $left !== static::$null) {
            return $this->reduce($right, true);
        }

        return $left;
    }

    /**
     * Boolean or
     *
     * @param array   $left
     * @param array   $right
     * @param boolean $shouldEval
     *
     * @return array|null
     */
    protected function opOr($left, $right, $shouldEval)
    {
        $truthy = ($left === static::$null || $right === static::$null) ||
                  ($left === static::$false || $left === static::$true) &&
                  ($right === static::$false || $right === static::$true);

        if (! $shouldEval) {
            if (! $truthy) {
                return null;
            }
        }

        if ($left !== static::$false && $left !== static::$null) {
            return $left;
        }

        return $this->reduce($right, true);
    }

    /**
     * Compare colors
     *
     * @param string $op
     * @param array  $left
     * @param array  $right
     *
     * @return array
     */
    protected function opColorColor($op, $left, $right)
    {
        $out = [Type::T_COLOR];

        foreach ([1, 2, 3] as $i) {
            $lval = isset($left[$i]) ? $left[$i] : 0;
            $rval = isset($right[$i]) ? $right[$i] : 0;

            switch ($op) {
                case '+':
                    $out[] = $lval + $rval;
                    break;

                case '-':
                    $out[] = $lval - $rval;
                    break;

                case '*':
                    $out[] = $lval * $rval;
                    break;

                case '%':
                    $out[] = $lval % $rval;
                    break;

                case '/':
                    if ($rval == 0) {
                        $this->throwError("color: Can't divide by zero");
                        break 2;
                    }

                    $out[] = (int) ($lval / $rval);
                    break;

                case '==':
                    return $this->opEq($left, $right);

                case '!=':
                    return $this->opNeq($left, $right);

                default:
                    $this->throwError("color: unknown op $op");
                    break 2;
            }
        }

        if (isset($left[4])) {
            $out[4] = $left[4];
        } elseif (isset($right[4])) {
            $out[4] = $right[4];
        }

        return $this->fixColor($out);
    }

    /**
     * Compare color and number
     *
     * @param string $op
     * @param array  $left
     * @param array  $right
     *
     * @return array
     */
    protected function opColorNumber($op, $left, $right)
    {
        $value = $right[1];

        return $this->opColorColor(
            $op,
            $left,
            [Type::T_COLOR, $value, $value, $value]
        );
    }

    /**
     * Compare number and color
     *
     * @param string $op
     * @param array  $left
     * @param array  $right
     *
     * @return array
     */
    protected function opNumberColor($op, $left, $right)
    {
        $value = $left[1];

        return $this->opColorColor(
            $op,
            [Type::T_COLOR, $value, $value, $value],
            $right
        );
    }

    /**
     * Compare number1 == number2
     *
     * @param array $left
     * @param array $right
     *
     * @return array
     */
    protected function opEq($left, $right)
    {
        if (($lStr = $this->coerceString($left)) && ($rStr = $this->coerceString($right))) {
            $lStr[1] = '';
            $rStr[1] = '';

            $left = $this->compileValue($lStr);
            $right = $this->compileValue($rStr);
        }

        return $this->toBool($left === $right);
    }

    /**
     * Compare number1 != number2
     *
     * @param array $left
     * @param array $right
     *
     * @return array
     */
    protected function opNeq($left, $right)
    {
        if (($lStr = $this->coerceString($left)) && ($rStr = $this->coerceString($right))) {
            $lStr[1] = '';
            $rStr[1] = '';

            $left = $this->compileValue($lStr);
            $right = $this->compileValue($rStr);
        }

        return $this->toBool($left !== $right);
    }

    /**
     * Compare number1 >= number2
     *
     * @param array $left
     * @param array $right
     *
     * @return array
     */
    protected function opGteNumberNumber($left, $right)
    {
        return $this->toBool($left[1] >= $right[1]);
    }

    /**
     * Compare number1 > number2
     *
     * @param array $left
     * @param array $right
     *
     * @return array
     */
    protected function opGtNumberNumber($left, $right)
    {
        return $this->toBool($left[1] > $right[1]);
    }

    /**
     * Compare number1 <= number2
     *
     * @param array $left
     * @param array $right
     *
     * @return array
     */
    protected function opLteNumberNumber($left, $right)
    {
        return $this->toBool($left[1] <= $right[1]);
    }

    /**
     * Compare number1 < number2
     *
     * @param array $left
     * @param array $right
     *
     * @return array
     */
    protected function opLtNumberNumber($left, $right)
    {
        return $this->toBool($left[1] < $right[1]);
    }

    /**
     * Three-way comparison, aka spaceship operator
     *
     * @param array $left
     * @param array $right
     *
     * @return \Leafo\ScssPhp\Node\Number
     */
    protected function opCmpNumberNumber($left, $right)
    {
        $n = $left[1] - $right[1];

        return new Node\Number($n ? $n / abs($n) : 0, '');
    }

    /**
     * Cast to boolean
     *
     * @api
     *
     * @param mixed $thing
     *
     * @return array
     */
    public function toBool($thing)
    {
        return $thing ? static::$true : static::$false;
    }

    /**
     * Compiles a primitive value into a CSS property value.
     *
     * Values in scssphp are typed by being wrapped in arrays, their format is
     * typically:
     *
     *     array(type, contents [, additional_contents]*)
     *
     * The input is expected to be reduced. This function will not work on
     * things like expressions and variables.
     *
     * @api
     *
     * @param array $value
     *
     * @return string
     */
    public function compileValue($value)
    {
        $value = $this->reduce($value);

        switch ($value[0]) {
            case Type::T_KEYWORD:
                return $value[1];

            case Type::T_COLOR:
                // [1] - red component (either number for a %)
                // [2] - green component
                // [3] - blue component
                // [4] - optional alpha component
                list(, $r, $g, $b) = $value;

                $r = round($r);
                $g = round($g);
                $b = round($b);

                if (count($value) === 5 && $value[4] !== 1) { // rgba
                    $a = new Node\Number($value[4], '');

                    return 'rgba(' . $r . ', ' . $g . ', ' . $b . ', ' . $a . ')';
                }

                $h = sprintf('#%02x%02x%02x', $r, $g, $b);

                // Converting hex color to short notation (e.g. #003399 to #039)
                if ($h[1] === $h[2] && $h[3] === $h[4] && $h[5] === $h[6]) {
                    $h = '#' . $h[1] . $h[3] . $h[5];
                }

                return $h;

            case Type::T_NUMBER:
                return $value->output($this);

            case Type::T_STRING:
                return $value[1] . $this->compileStringContent($value) . $value[1];

            case Type::T_FUNCTION:
                $args = ! empty($value[2]) ? $this->compileValue($value[2]) : '';

                return "$value[1]($args)";

            case Type::T_LIST:
                $value = $this->extractInterpolation($value);

                if ($value[0] !== Type::T_LIST) {
                    return $this->compileValue($value);
                }

                list(, $delim, $items) = $value;

                if ($delim !== ' ') {
                    $delim .= ' ';
                }

                $filtered = [];

                foreach ($items as $item) {
                    if ($item[0] === Type::T_NULL) {
                        continue;
                    }

                    $filtered[] = $this->compileValue($item);
                }

                return implode("$delim", $filtered);

            case Type::T_MAP:
                $keys = $value[1];
                $values = $value[2];
                $filtered = [];

                for ($i = 0, $s = count($keys); $i < $s; $i++) {
                    $filtered[$this->compileValue($keys[$i])] = $this->compileValue($values[$i]);
                }

                array_walk($filtered, function (&$value, $key) {
                    $value = $key . ': ' . $value;
                });

                return '(' . implode(', ', $filtered) . ')';

            case Type::T_INTERPOLATED:
                // node created by extractInterpolation
                list(, $interpolate, $left, $right) = $value;
                list(,, $whiteLeft, $whiteRight) = $interpolate;

                $left = count($left[2]) > 0 ?
                    $this->compileValue($left) . $whiteLeft : '';

                $right = count($right[2]) > 0 ?
                    $whiteRight . $this->compileValue($right) : '';

                return $left . $this->compileValue($interpolate) . $right;

            case Type::T_INTERPOLATE:
                // strip quotes if it's a string
                $reduced = $this->reduce($value[1]);

                switch ($reduced[0]) {
                    case Type::T_LIST:
                        $reduced = $this->extractInterpolation($reduced);

                        if ($reduced[0] !== Type::T_LIST) {
                            break;
                        }

                        list(, $delim, $items) = $reduced;

                        if ($delim !== ' ') {
                            $delim .= ' ';
                        }

                        $filtered = [];

                        foreach ($items as $item) {
                            if ($item[0] === Type::T_NULL) {
                                continue;
                            }

                            $temp = $this->compileValue([Type::T_KEYWORD, $item]);
                            if ($temp[0] === Type::T_STRING) {
                                $filtered[] = $this->compileStringContent($temp);
                            } elseif ($temp[0] === Type::T_KEYWORD) {
                                $filtered[] = $temp[1];
                            } else {
                                $filtered[] = $this->compileValue($temp);
                            }
                        }

                        $reduced = [Type::T_KEYWORD, implode("$delim", $filtered)];
                        break;

                    case Type::T_STRING:
                        $reduced = [Type::T_KEYWORD, $this->compileStringContent($reduced)];
                        break;

                    case Type::T_NULL:
                        $reduced = [Type::T_KEYWORD, ''];
                }

                return $this->compileValue($reduced);

            case Type::T_NULL:
                return 'null';

            default:
                $this->throwError("unknown value type: $value[0]");
        }
    }

    /**
     * Flatten list
     *
     * @param array $list
     *
     * @return string
     */
    protected function flattenList($list)
    {
        return $this->compileValue($list);
    }

    /**
     * Compile string content
     *
     * @param array $string
     *
     * @return string
     */
    protected function compileStringContent($string)
    {
        $parts = [];

        foreach ($string[2] as $part) {
            if (is_array($part) || $part instanceof \ArrayAccess) {
                $parts[] = $this->compileValue($part);
            } else {
                $parts[] = $part;
            }
        }

        return implode($parts);
    }

    /**
     * Extract interpolation; it doesn't need to be recursive, compileValue will handle that
     *
     * @param array $list
     *
     * @return array
     */
    protected function extractInterpolation($list)
    {
        $items = $list[2];

        foreach ($items as $i => $item) {
            if ($item[0] === Type::T_INTERPOLATE) {
                $before = [Type::T_LIST, $list[1], array_slice($items, 0, $i)];
                $after  = [Type::T_LIST, $list[1], array_slice($items, $i + 1)];

                return [Type::T_INTERPOLATED, $item, $before, $after];
            }
        }

        return $list;
    }

    /**
     * Find the final set of selectors
     *
     * @param \Leafo\ScssPhp\Compiler\Environment $env
     * @param \Leafo\ScssPhp\Block                $selfParent
     *
     * @return array
     */
    protected function multiplySelectors(Environment $env, $selfParent = null)
    {
        $envs            = $this->compactEnv($env);
        $selectors       = [];
        $parentSelectors = [[]];

        $selfParentSelectors = null;

        if (! is_null($selfParent) && $selfParent->selectors) {
            $selfParentSelectors = $this->evalSelectors($selfParent->selectors);
        }

        while ($env = array_pop($envs)) {
            if (empty($env->selectors)) {
                continue;
            }

            $selectors = $env->selectors;

            do {
                $stillHasSelf = false;
                $prevSelectors = $selectors;
                $selectors = [];

                foreach ($prevSelectors as $selector) {
                    foreach ($parentSelectors as $parent) {
                        if ($selfParentSelectors) {
                            foreach ($selfParentSelectors as $selfParent) {
                                // if no '&' in the selector, each call will give same result, only add once
                                $s = $this->joinSelectors($parent, $selector, $stillHasSelf, $selfParent);
                                $selectors[serialize($s)] = $s;
                            }
                        } else {
                            $s = $this->joinSelectors($parent, $selector, $stillHasSelf);
                            $selectors[serialize($s)] = $s;
                        }
                    }
                }
            } while ($stillHasSelf);

            $parentSelectors = $selectors;
        }

        $selectors = array_values($selectors);

        return $selectors;
    }

    /**
     * Join selectors; looks for & to replace, or append parent before child
     *
     * @param array   $parent
     * @param array   $child
     * @param boolean &$stillHasSelf
     * @param array   $selfParentSelectors

     * @return array
     */
    protected function joinSelectors($parent, $child, &$stillHasSelf, $selfParentSelectors = null)
    {
        $setSelf = false;
        $out = [];

        foreach ($child as $part) {
            $newPart = [];

            foreach ($part as $p) {
                // only replace & once and should be recalled to be able to make combinations
                if ($p === static::$selfSelector && $setSelf) {
                    $stillHasSelf = true;
                }

                if ($p === static::$selfSelector && ! $setSelf) {
                    $setSelf = true;

                    if (is_null($selfParentSelectors)) {
                        $selfParentSelectors = $parent;
                    }

                    foreach ($selfParentSelectors as $i => $parentPart) {
                        if ($i > 0) {
                            $out[] = $newPart;
                            $newPart = [];
                        }

                        foreach ($parentPart as $pp) {
                            if (is_array($pp)) {
                                $flatten = [];
                                array_walk_recursive($pp, function ($a) use (&$flatten) {
                                    $flatten[] = $a;
                                });
                                $pp = implode($flatten);
                            }

                            $newPart[] = $pp;
                        }
                    }
                } else {
                    $newPart[] = $p;
                }
            }

            $out[] = $newPart;
        }

        return $setSelf ? $out : array_merge($parent, $child);
    }

    /**
     * Multiply media
     *
     * @param \Leafo\ScssPhp\Compiler\Environment $env
     * @param array                               $childQueries
     *
     * @return array
     */
    protected function multiplyMedia(Environment $env = null, $childQueries = null)
    {
        if (! isset($env) ||
            ! empty($env->block->type) && $env->block->type !== Type::T_MEDIA
        ) {
            return $childQueries;
        }

        // plain old block, skip
        if (empty($env->block->type)) {
            return $this->multiplyMedia($env->parent, $childQueries);
        }

        $parentQueries = isset($env->block->queryList)
            ? $env->block->queryList
            : [[[Type::T_MEDIA_VALUE, $env->block->value]]];

        $store = [$this->env, $this->storeEnv];
        $this->env = $env;
        $this->storeEnv = null;
        $parentQueries = $this->evaluateMediaQuery($parentQueries);
        list($this->env, $this->storeEnv) = $store;

        if ($childQueries === null) {
            $childQueries = $parentQueries;
        } else {
            $originalQueries = $childQueries;
            $childQueries = [];

            foreach ($parentQueries as $parentQuery) {
                foreach ($originalQueries as $childQuery) {
                    $childQueries[] = array_merge(
                        $parentQuery,
                        [[Type::T_MEDIA_TYPE, [Type::T_KEYWORD, 'all']]],
                        $childQuery
                    );
                }
            }
        }

        return $this->multiplyMedia($env->parent, $childQueries);
    }

    /**
     * Convert env linked list to stack
     *
     * @param \Leafo\ScssPhp\Compiler\Environment $env
     *
     * @return array
     */
    protected function compactEnv(Environment $env)
    {
        for ($envs = []; $env; $env = $env->parent) {
            $envs[] = $env;
        }

        return $envs;
    }

    /**
     * Convert env stack to singly linked list
     *
     * @param array $envs
     *
     * @return \Leafo\ScssPhp\Compiler\Environment
     */
    protected function extractEnv($envs)
    {
        for ($env = null; $e = array_pop($envs);) {
            $e->parent = $env;
            $env = $e;
        }

        return $env;
    }

    /**
     * Push environment
     *
     * @param \Leafo\ScssPhp\Block $block
     *
     * @return \Leafo\ScssPhp\Compiler\Environment
     */
    protected function pushEnv(Block $block = null)
    {
        $env = new Environment;
        $env->parent = $this->env;
        $env->store  = [];
        $env->block  = $block;
        $env->depth  = isset($this->env->depth) ? $this->env->depth + 1 : 0;

        $this->env = $env;

        return $env;
    }

    /**
     * Pop environment
     */
    protected function popEnv()
    {
        $this->env = $this->env->parent;
    }

    /**
     * Get store environment
     *
     * @return \Leafo\ScssPhp\Compiler\Environment
     */
    protected function getStoreEnv()
    {
        return isset($this->storeEnv) ? $this->storeEnv : $this->env;
    }

    /**
     * Set variable
     *
     * @param string                              $name
     * @param mixed                               $value
     * @param boolean                             $shadow
     * @param \Leafo\ScssPhp\Compiler\Environment $env
     * @param mixed                               $valueUnreduced
     */
    protected function set($name, $value, $shadow = false, Environment $env = null, $valueUnreduced = null)
    {
        $name = $this->normalizeName($name);

        if (! isset($env)) {
            $env = $this->getStoreEnv();
        }

        if ($shadow) {
            $this->setRaw($name, $value, $env, $valueUnreduced);
        } else {
            $this->setExisting($name, $value, $env, $valueUnreduced);
        }
    }

    /**
     * Set existing variable
     *
     * @param string                              $name
     * @param mixed                               $value
     * @param \Leafo\ScssPhp\Compiler\Environment $env
     * @param mixed                               $valueUnreduced
     */
    protected function setExisting($name, $value, Environment $env, $valueUnreduced = null)
    {
        $storeEnv = $env;

        $hasNamespace = $name[0] === '^' || $name[0] === '@' || $name[0] === '%';

        for (;;) {
            if (array_key_exists($name, $env->store)) {
                break;
            }

            if (! $hasNamespace && isset($env->marker)) {
                $env = $storeEnv;
                break;
            }

            if (! isset($env->parent)) {
                $env = $storeEnv;
                break;
            }

            $env = $env->parent;
        }

        $env->store[$name] = $value;

        if ($valueUnreduced) {
            $env->storeUnreduced[$name] = $valueUnreduced;
        }
    }

    /**
     * Set raw variable
     *
     * @param string                              $name
     * @param mixed                               $value
     * @param \Leafo\ScssPhp\Compiler\Environment $env
     * @param mixed                               $valueUnreduced
     */
    protected function setRaw($name, $value, Environment $env, $valueUnreduced = null)
    {
        $env->store[$name] = $value;

        if ($valueUnreduced) {
            $env->storeUnreduced[$name] = $valueUnreduced;
        }
    }

    /**
     * Get variable
     *
     * @api
     *
     * @param string                              $name
     * @param boolean                             $shouldThrow
     * @param \Leafo\ScssPhp\Compiler\Environment $env
     * @param boolean                             $unreduced
     *
     * @return mixed|null
     */
    public function get($name, $shouldThrow = true, Environment $env = null, $unreduced = false)
    {
        $normalizedName = $this->normalizeName($name);
        $specialContentKey = static::$namespaces['special'] . 'content';

        if (! isset($env)) {
            $env = $this->getStoreEnv();
        }

        $nextIsRoot = false;
        $hasNamespace = $normalizedName[0] === '^' || $normalizedName[0] === '@' || $normalizedName[0] === '%';

        $maxDepth = 10000;

        for (;;) {
            if ($maxDepth-- <= 0) {
                break;
            }

            if (array_key_exists($normalizedName, $env->store)) {
                if ($unreduced && isset($env->storeUnreduced[$normalizedName])) {
                    return $env->storeUnreduced[$normalizedName];
                }

                return $env->store[$normalizedName];
            }

            if (! $hasNamespace && isset($env->marker)) {
                if (! $nextIsRoot && ! empty($env->store[$specialContentKey])) {
                    $env = $env->store[$specialContentKey]->scope;
                    continue;
                }

                $env = $this->rootEnv;
                continue;
            }

            if (! isset($env->parent)) {
                break;
            }

            $env = $env->parent;
        }

        if ($shouldThrow) {
            $this->throwError("Undefined variable \$$name" . ($maxDepth<=0 ? " (infinite recursion)" : ""));
        }

        // found nothing
        return null;
    }

    /**
     * Has variable?
     *
     * @param string                              $name
     * @param \Leafo\ScssPhp\Compiler\Environment $env
     *
     * @return boolean
     */
    protected function has($name, Environment $env = null)
    {
        return $this->get($name, false, $env) !== null;
    }

    /**
     * Inject variables
     *
     * @param array $args
     */
    protected function injectVariables(array $args)
    {
        if (empty($args)) {
            return;
        }

        $parser = $this->parserFactory(__METHOD__);

        foreach ($args as $name => $strValue) {
            if ($name[0] === '$') {
                $name = substr($name, 1);
            }

            if (! $parser->parseValue($strValue, $value)) {
                $value = $this->coerceValue($strValue);
            }

            $this->set($name, $value);
        }
    }

    /**
     * Set variables
     *
     * @api
     *
     * @param array $variables
     */
    public function setVariables(array $variables)
    {
        $this->registeredVars = array_merge($this->registeredVars, $variables);
    }

    /**
     * Unset variable
     *
     * @api
     *
     * @param string $name
     */
    public function unsetVariable($name)
    {
        unset($this->registeredVars[$name]);
    }

    /**
     * Returns list of variables
     *
     * @api
     *
     * @return array
     */
    public function getVariables()
    {
        return $this->registeredVars;
    }

    /**
     * Adds to list of parsed files
     *
     * @api
     *
     * @param string $path
     */
    public function addParsedFile($path)
    {
        if (isset($path) && file_exists($path)) {
            $this->parsedFiles[realpath($path)] = filemtime($path);
        }
    }

    /**
     * Returns list of parsed files
     *
     * @api
     *
     * @return array
     */
    public function getParsedFiles()
    {
        return $this->parsedFiles;
    }

    /**
     * Add import path
     *
     * @api
     *
     * @param string|callable $path
     */
    public function addImportPath($path)
    {
        if (! in_array($path, $this->importPaths)) {
            $this->importPaths[] = $path;
        }
    }

    /**
     * Set import paths
     *
     * @api
     *
     * @param string|array $path
     */
    public function setImportPaths($path)
    {
        $this->importPaths = (array) $path;
    }

    /**
     * Set number precision
     *
     * @api
     *
     * @param integer $numberPrecision
     */
    public function setNumberPrecision($numberPrecision)
    {
        Node\Number::$precision = $numberPrecision;
    }

    /**
     * Set formatter
     *
     * @api
     *
     * @param string $formatterName
     */
    public function setFormatter($formatterName)
    {
        $this->formatter = $formatterName;
    }

    /**
     * Set line number style
     *
     * @api
     *
     * @param string $lineNumberStyle
     */
    public function setLineNumberStyle($lineNumberStyle)
    {
        $this->lineNumberStyle = $lineNumberStyle;
    }

    /**
     * Enable/disable source maps
     *
     * @api
     *
     * @param integer $sourceMap
     */
    public function setSourceMap($sourceMap)
    {
        $this->sourceMap = $sourceMap;
    }

    /**
     * Set source map options
     *
     * @api
     *
     * @param array $sourceMapOptions
     */
    public function setSourceMapOptions($sourceMapOptions)
    {
        $this->sourceMapOptions = $sourceMapOptions;
    }

    /**
     * Register function
     *
     * @api
     *
     * @param string   $name
     * @param callable $func
     * @param array    $prototype
     */
    public function registerFunction($name, $func, $prototype = null)
    {
        $this->userFunctions[$this->normalizeName($name)] = [$func, $prototype];
    }

    /**
     * Unregister function
     *
     * @api
     *
     * @param string $name
     */
    public function unregisterFunction($name)
    {
        unset($this->userFunctions[$this->normalizeName($name)]);
    }

    /**
     * Add feature
     *
     * @api
     *
     * @param string $name
     */
    public function addFeature($name)
    {
        $this->registeredFeatures[$name] = true;
    }

    /**
     * Import file
     *
     * @param string                               $path
     * @param \Leafo\ScssPhp\Formatter\OutputBlock $out
     */
    protected function importFile($path, OutputBlock $out)
    {
        // see if tree is cached
        $realPath = realpath($path);

        if (isset($this->importCache[$realPath])) {
            $this->handleImportLoop($realPath);

            $tree = $this->importCache[$realPath];
        } else {
            $code   = file_get_contents($path);
            $parser = $this->parserFactory($path);
            $tree   = $parser->parse($code);

            $this->importCache[$realPath] = $tree;
        }

        $pi = pathinfo($path);
        array_unshift($this->importPaths, $pi['dirname']);
        $this->compileChildrenNoReturn($tree->children, $out);
        array_shift($this->importPaths);
    }

    /**
     * Return the file path for an import url if it exists
     *
     * @api
     *
     * @param string $url
     *
     * @return string|null
     */
    public function findImport($url)
    {
        $urls = [];

        // for "normal" scss imports (ignore vanilla css and external requests)
        if (! preg_match('/\.css$|^https?:\/\//', $url)) {
            // try both normal and the _partial filename
            $urls = [$url, preg_replace('/[^\/]+$/', '_\0', $url)];
        }

        $hasExtension = preg_match('/[.]s?css$/', $url);

        foreach ($this->importPaths as $dir) {
            if (is_string($dir)) {
                // check urls for normal import paths
                foreach ($urls as $full) {
                    $separator = (
                        ! empty($dir) &&
                        substr($dir, -1) !== '/' &&
                        substr($full, 0, 1) !== '/'
                    ) ? '/' : '';
                    $full = $dir . $separator . $full;

                    if ($this->fileExists($file = $full . '.scss') ||
                        ($hasExtension && $this->fileExists($file = $full))
                    ) {
                        return $file;
                    }
                }
            } elseif (is_callable($dir)) {
                // check custom callback for import path
                $file = call_user_func($dir, $url);

                if ($file !== null) {
                    return $file;
                }
            }
        }

        return null;
    }

    /**
     * Set encoding
     *
     * @api
     *
     * @param string $encoding
     */
    public function setEncoding($encoding)
    {
        $this->encoding = $encoding;
    }

    /**
     * Ignore errors?
     *
     * @api
     *
     * @param boolean $ignoreErrors
     *
     * @return \Leafo\ScssPhp\Compiler
     */
    public function setIgnoreErrors($ignoreErrors)
    {
        $this->ignoreErrors = $ignoreErrors;

        return $this;
    }

    /**
     * Throw error (exception)
     *
     * @api
     *
     * @param string $msg Message with optional sprintf()-style vararg parameters
     *
     * @throws \Leafo\ScssPhp\Exception\CompilerException
     */
    public function throwError($msg)
    {
        if ($this->ignoreErrors) {
            return;
        }

        $line   = $this->sourceLine;
        $column = $this->sourceColumn;

        $loc = isset($this->sourceNames[$this->sourceIndex])
             ? $this->sourceNames[$this->sourceIndex] . " on line $line, at column $column"
             : "line: $line, column: $column";

        if (func_num_args() > 1) {
            $msg = call_user_func_array('sprintf', func_get_args());
        }

        $msg = "$msg: $loc";

        $callStackMsg = $this->callStackMessage();

        if ($callStackMsg) {
            $msg .= "\nCall Stack:\n" . $callStackMsg;
        }

        throw new CompilerException($msg);
    }

    /**
     * Beautify call stack for output
     *
     * @param boolean $all
     * @param null    $limit
     *
     * @return string
     */
    protected function callStackMessage($all = false, $limit = null)
    {
        $callStackMsg = [];
        $ncall = 0;

        if ($this->callStack) {
            foreach (array_reverse($this->callStack) as $call) {
                if ($all || (isset($call['n']) && $call['n'])) {
                    $msg = "#" . $ncall++ . " " . $call['n'] . " ";
                    $msg .= (isset($this->sourceNames[$call[Parser::SOURCE_INDEX]])
                          ? $this->sourceNames[$call[Parser::SOURCE_INDEX]]
                          : '(unknown file)');
                    $msg .= " on line " . $call[Parser::SOURCE_LINE];
                    $callStackMsg[] = $msg;

                    if (! is_null($limit) && $ncall>$limit) {
                        break;
                    }
                }
            }
        }

        return implode("\n", $callStackMsg);
    }

    /**
     * Handle import loop
     *
     * @param string $name
     *
     * @throws \Exception
     */
    protected function handleImportLoop($name)
    {
        for ($env = $this->env; $env; $env = $env->parent) {
            $file = $this->sourceNames[$env->block->sourceIndex];

            if (realpath($file) === $name) {
                $this->throwError('An @import loop has been found: %s imports %s', $file, basename($file));
                break;
            }
        }
    }

    /**
     * Does file exist?
     *
     * @param string $name
     *
     * @return boolean
     */
    protected function fileExists($name)
    {
        return file_exists($name) && is_file($name);
    }

    /**
     * Call SCSS @function
     *
     * @param string $name
     * @param array  $argValues
     * @param array  $returnValue
     *
     * @return boolean Returns true if returnValue is set; otherwise, false
     */
    protected function callScssFunction($name, $argValues, &$returnValue)
    {
        $func = $this->get(static::$namespaces['function'] . $name, false);

        if (! $func) {
            return false;
        }

        $this->pushEnv();

        $storeEnv = $this->storeEnv;
        $this->storeEnv = $this->env;

        // set the args
        if (isset($func->args)) {
            $this->applyArguments($func->args, $argValues);
        }

        // throw away lines and children
        $tmp = new OutputBlock;
        $tmp->lines    = [];
        $tmp->children = [];

        $this->env->marker = 'function';

        $ret = $this->compileChildren($func->children, $tmp, $this->env->marker . " " . $name);

        $this->storeEnv = $storeEnv;

        $this->popEnv();

        $returnValue = ! isset($ret) ? static::$defaultValue : $ret;

        return true;
    }

    /**
     * Call built-in and registered (PHP) functions
     *
     * @param string $name
     * @param array  $args
     * @param array  $returnValue
     *
     * @return boolean Returns true if returnValue is set; otherwise, false
     */
    protected function callNativeFunction($name, $args, &$returnValue)
    {
        // try a lib function
        $name = $this->normalizeName($name);

        if (isset($this->userFunctions[$name])) {
            // see if we can find a user function
            list($f, $prototype) = $this->userFunctions[$name];
        } elseif (($f = $this->getBuiltinFunction($name)) && is_callable($f)) {
            $libName   = $f[1];
            $prototype = isset(static::$$libName) ? static::$$libName : null;
        } else {
            return false;
        }

        @list($sorted, $kwargs) = $this->sortArgs($prototype, $args);

        if ($name !== 'if' && $name !== 'call') {
            foreach ($sorted as &$val) {
                $val = $this->reduce($val, true);
            }
        }

        $returnValue = call_user_func($f, $sorted, $kwargs);

        if (! isset($returnValue)) {
            return false;
        }

        $returnValue = $this->coerceValue($returnValue);

        return true;
    }

    /**
     * Get built-in function
     *
     * @param string $name Normalized name
     *
     * @return array
     */
    protected function getBuiltinFunction($name)
    {
        $libName = 'lib' . preg_replace_callback(
            '/_(.)/',
            function ($m) {
                return ucfirst($m[1]);
            },
            ucfirst($name)
        );

        return [$this, $libName];
    }

    /**
     * Sorts keyword arguments
     *
     * @param array $prototype
     * @param array $args
     *
     * @return array
     */
    protected function sortArgs($prototype, $args)
    {
        $keyArgs = [];
        $posArgs = [];

        // separate positional and keyword arguments
        foreach ($args as $arg) {
            list($key, $value) = $arg;

            $key = $key[1];

            if (empty($key)) {
                $posArgs[] = empty($arg[2]) ? $value : $arg;
            } else {
                $keyArgs[$key] = $value;
            }
        }

        if (! isset($prototype)) {
            return [$posArgs, $keyArgs];
        }

        // copy positional args
        $finalArgs = array_pad($posArgs, count($prototype), null);

        // overwrite positional args with keyword args
        foreach ($prototype as $i => $names) {
            foreach ((array) $names as $name) {
                if (isset($keyArgs[$name])) {
                    $finalArgs[$i] = $keyArgs[$name];
                }
            }
        }

        return [$finalArgs, $keyArgs];
    }

    /**
     * Apply argument values per definition
     *
     * @param array $argDef
     * @param array $argValues
     *
     * @throws \Exception
     */
    protected function applyArguments($argDef, $argValues)
    {
        $storeEnv = $this->getStoreEnv();

        $env = new Environment;
        $env->store = $storeEnv->store;

        $hasVariable = false;
        $args = [];

        foreach ($argDef as $i => $arg) {
            list($name, $default, $isVariable) = $argDef[$i];

            $args[$name] = [$i, $name, $default, $isVariable];
            $hasVariable |= $isVariable;
        }

        $keywordArgs = [];
        $deferredKeywordArgs = [];
        $remaining = [];

        // assign the keyword args
        foreach ((array) $argValues as $arg) {
            if (! empty($arg[0])) {
                if (! isset($args[$arg[0][1]])) {
                    if ($hasVariable) {
                        $deferredKeywordArgs[$arg[0][1]] = $arg[1];
                    } else {
                        $this->throwError("Mixin or function doesn't have an argument named $%s.", $arg[0][1]);
                        break;
                    }
                } elseif ($args[$arg[0][1]][0] < count($remaining)) {
                    $this->throwError("The argument $%s was passed both by position and by name.", $arg[0][1]);
                    break;
                } else {
                    $keywordArgs[$arg[0][1]] = $arg[1];
                }
            } elseif (count($keywordArgs)) {
                $this->throwError('Positional arguments must come before keyword arguments.');
                break;
            } elseif ($arg[2] === true) {
                $val = $this->reduce($arg[1], true);

                if ($val[0] === Type::T_LIST) {
                    foreach ($val[2] as $name => $item) {
                        if (! is_numeric($name)) {
                            $keywordArgs[$name] = $item;
                        } else {
                            $remaining[] = $item;
                        }
                    }
                } elseif ($val[0] === Type::T_MAP) {
                    foreach ($val[1] as $i => $name) {
                        $name = $this->compileStringContent($this->coerceString($name));
                        $item = $val[2][$i];

                        if (! is_numeric($name)) {
                            $keywordArgs[$name] = $item;
                        } else {
                            $remaining[] = $item;
                        }
                    }
                } else {
                    $remaining[] = $val;
                }
            } else {
                $remaining[] = $arg[1];
            }
        }

        foreach ($args as $arg) {
            list($i, $name, $default, $isVariable) = $arg;

            if ($isVariable) {
                $val = [Type::T_LIST, ',', [], $isVariable];

                for ($count = count($remaining); $i < $count; $i++) {
                    $val[2][] = $remaining[$i];
                }

                foreach ($deferredKeywordArgs as $itemName => $item) {
                    $val[2][$itemName] = $item;
                }
            } elseif (isset($remaining[$i])) {
                $val = $remaining[$i];
            } elseif (isset($keywordArgs[$name])) {
                $val = $keywordArgs[$name];
            } elseif (! empty($default)) {
                continue;
            } else {
                $this->throwError("Missing argument $name");
                break;
            }

            $this->set($name, $this->reduce($val, true), true, $env);
        }

        $storeEnv->store = $env->store;

        foreach ($args as $arg) {
            list($i, $name, $default, $isVariable) = $arg;

            if ($isVariable || isset($remaining[$i]) || isset($keywordArgs[$name]) || empty($default)) {
                continue;
            }

            $this->set($name, $this->reduce($default, true), true);
        }
    }

    /**
     * Coerce a php value into a scss one
     *
     * @param mixed $value
     *
     * @return array|\Leafo\ScssPhp\Node\Number
     */
    protected function coerceValue($value)
    {
        if (is_array($value) || $value instanceof \ArrayAccess) {
            return $value;
        }

        if (is_bool($value)) {
            return $this->toBool($value);
        }

        if ($value === null) {
            return static::$null;
        }

        if (is_numeric($value)) {
            return new Node\Number($value, '');
        }

        if ($value === '') {
            return static::$emptyString;
        }

        if (preg_match('/^(#([0-9a-f]{6})|#([0-9a-f]{3}))$/i', $value, $m)) {
            $color = [Type::T_COLOR];

            if (isset($m[3])) {
                $num = hexdec($m[3]);

                foreach ([3, 2, 1] as $i) {
                    $t = $num & 0xf;
                    $color[$i] = $t << 4 | $t;
                    $num >>= 4;
                }
            } else {
                $num = hexdec($m[2]);

                foreach ([3, 2, 1] as $i) {
                    $color[$i] = $num & 0xff;
                    $num >>= 8;
                }
            }

            return $color;
        }

        return [Type::T_KEYWORD, $value];
    }

    /**
     * Coerce something to map
     *
     * @param array $item
     *
     * @return array
     */
    protected function coerceMap($item)
    {
        if ($item[0] === Type::T_MAP) {
            return $item;
        }

        if ($item === static::$emptyList) {
            return static::$emptyMap;
        }

        return [Type::T_MAP, [$item], [static::$null]];
    }

    /**
     * Coerce something to list
     *
     * @param array  $item
     * @param string $delim
     *
     * @return array
     */
    protected function coerceList($item, $delim = ',')
    {
        if (isset($item) && $item[0] === Type::T_LIST) {
            return $item;
        }

        if (isset($item) && $item[0] === Type::T_MAP) {
            $keys = $item[1];
            $values = $item[2];
            $list = [];

            for ($i = 0, $s = count($keys); $i < $s; $i++) {
                $key = $keys[$i];
                $value = $values[$i];

                $list[] = [
                    Type::T_LIST,
                    '',
                    [[Type::T_KEYWORD, $this->compileStringContent($this->coerceString($key))], $value]
                ];
            }

            return [Type::T_LIST, ',', $list];
        }

        return [Type::T_LIST, $delim, ! isset($item) ? []: [$item]];
    }

    /**
     * Coerce color for expression
     *
     * @param array $value
     *
     * @return array|null
     */
    protected function coerceForExpression($value)
    {
        if ($color = $this->coerceColor($value)) {
            return $color;
        }

        return $value;
    }

    /**
     * Coerce value to color
     *
     * @param array $value
     *
     * @return array|null
     */
    protected function coerceColor($value)
    {
        switch ($value[0]) {
            case Type::T_COLOR:
                return $value;

            case Type::T_KEYWORD:
                $name = strtolower($value[1]);

                if (isset(Colors::$cssColors[$name])) {
                    $rgba = explode(',', Colors::$cssColors[$name]);

                    return isset($rgba[3])
                        ? [Type::T_COLOR, (int) $rgba[0], (int) $rgba[1], (int) $rgba[2], (int) $rgba[3]]
                        : [Type::T_COLOR, (int) $rgba[0], (int) $rgba[1], (int) $rgba[2]];
                }

                return null;
        }

        return null;
    }

    /**
     * Coerce value to string
     *
     * @param array $value
     *
     * @return array|null
     */
    protected function coerceString($value)
    {
        if ($value[0] === Type::T_STRING) {
            return $value;
        }

        return [Type::T_STRING, '', [$this->compileValue($value)]];
    }

    /**
     * Coerce value to a percentage
     *
     * @param array $value
     *
     * @return integer|float
     */
    protected function coercePercent($value)
    {
        if ($value[0] === Type::T_NUMBER) {
            if (! empty($value[2]['%'])) {
                return $value[1] / 100;
            }

            return $value[1];
        }

        return 0;
    }

    /**
     * Assert value is a map
     *
     * @api
     *
     * @param array $value
     *
     * @return array
     *
     * @throws \Exception
     */
    public function assertMap($value)
    {
        $value = $this->coerceMap($value);

        if ($value[0] !== Type::T_MAP) {
            $this->throwError('expecting map, %s received', $value[0]);
        }

        return $value;
    }

    /**
     * Assert value is a list
     *
     * @api
     *
     * @param array $value
     *
     * @return array
     *
     * @throws \Exception
     */
    public function assertList($value)
    {
        if ($value[0] !== Type::T_LIST) {
            $this->throwError('expecting list, %s received', $value[0]);
        }

        return $value;
    }

    /**
     * Assert value is a color
     *
     * @api
     *
     * @param array $value
     *
     * @return array
     *
     * @throws \Exception
     */
    public function assertColor($value)
    {
        if ($color = $this->coerceColor($value)) {
            return $color;
        }

        $this->throwError('expecting color, %s received', $value[0]);
    }

    /**
     * Assert value is a number
     *
     * @api
     *
     * @param array $value
     *
     * @return integer|float
     *
     * @throws \Exception
     */
    public function assertNumber($value)
    {
        if ($value[0] !== Type::T_NUMBER) {
            $this->throwError('expecting number, %s received', $value[0]);
        }

        return $value[1];
    }

    /**
     * Make sure a color's components don't go out of bounds
     *
     * @param array $c
     *
     * @return array
     */
    protected function fixColor($c)
    {
        foreach ([1, 2, 3] as $i) {
            if ($c[$i] < 0) {
                $c[$i] = 0;
            }

            if ($c[$i] > 255) {
                $c[$i] = 255;
            }
        }

        return $c;
    }

    /**
     * Convert RGB to HSL
     *
     * @api
     *
     * @param integer $red
     * @param integer $green
     * @param integer $blue
     *
     * @return array
     */
    public function toHSL($red, $green, $blue)
    {
        $min = min($red, $green, $blue);
        $max = max($red, $green, $blue);

        $l = $min + $max;
        $d = $max - $min;

        if ((int) $d === 0) {
            $h = $s = 0;
        } else {
            if ($l < 255) {
                $s = $d / $l;
            } else {
                $s = $d / (510 - $l);
            }

            if ($red == $max) {
                $h = 60 * ($green - $blue) / $d;
            } elseif ($green == $max) {
                $h = 60 * ($blue - $red) / $d + 120;
            } elseif ($blue == $max) {
                $h = 60 * ($red - $green) / $d + 240;
            }
        }

        return [Type::T_HSL, fmod($h, 360), $s * 100, $l / 5.1];
    }

    /**
     * Hue to RGB helper
     *
     * @param float $m1
     * @param float $m2
     * @param float $h
     *
     * @return float
     */
    protected function hueToRGB($m1, $m2, $h)
    {
        if ($h < 0) {
            $h += 1;
        } elseif ($h > 1) {
            $h -= 1;
        }

        if ($h * 6 < 1) {
            return $m1 + ($m2 - $m1) * $h * 6;
        }

        if ($h * 2 < 1) {
            return $m2;
        }

        if ($h * 3 < 2) {
            return $m1 + ($m2 - $m1) * (2/3 - $h) * 6;
        }

        return $m1;
    }

    /**
     * Convert HSL to RGB
     *
     * @api
     *
     * @param integer $hue        H from 0 to 360
     * @param integer $saturation S from 0 to 100
     * @param integer $lightness  L from 0 to 100
     *
     * @return array
     */
    public function toRGB($hue, $saturation, $lightness)
    {
        if ($hue < 0) {
            $hue += 360;
        }

        $h = $hue / 360;
        $s = min(100, max(0, $saturation)) / 100;
        $l = min(100, max(0, $lightness)) / 100;

        $m2 = $l <= 0.5 ? $l * ($s + 1) : $l + $s - $l * $s;
        $m1 = $l * 2 - $m2;

        $r = $this->hueToRGB($m1, $m2, $h + 1/3) * 255;
        $g = $this->hueToRGB($m1, $m2, $h) * 255;
        $b = $this->hueToRGB($m1, $m2, $h - 1/3) * 255;

        $out = [Type::T_COLOR, $r, $g, $b];

        return $out;
    }

    // Built in functions

    //protected static $libCall = ['name', 'args...'];
    protected function libCall($args, $kwargs)
    {
        $name = $this->compileStringContent($this->coerceString($this->reduce(array_shift($args), true)));

        $posArgs = [];

        foreach ($args as $arg) {
            if (empty($arg[0])) {
                if ($arg[2] === true) {
                    $tmp = $this->reduce($arg[1]);

                    if ($tmp[0] === Type::T_LIST) {
                        foreach ($tmp[2] as $item) {
                            $posArgs[] = [null, $item, false];
                        }
                    } else {
                        $posArgs[] = [null, $tmp, true];
                    }

                    continue;
                }

                $posArgs[] = [null, $this->reduce($arg), false];
                continue;
            }

            $posArgs[] = [null, $arg, false];
        }

        if (count($kwargs)) {
            foreach ($kwargs as $key => $value) {
                $posArgs[] = [[Type::T_VARIABLE, $key], $value, false];
            }
        }

        return $this->reduce([Type::T_FUNCTION_CALL, $name, $posArgs]);
    }

    protected static $libIf = ['condition', 'if-true', 'if-false'];
    protected function libIf($args)
    {
        list($cond, $t, $f) = $args;

        if (! $this->isTruthy($this->reduce($cond, true))) {
            return $this->reduce($f, true);
        }

        return $this->reduce($t, true);
    }

    protected static $libIndex = ['list', 'value'];
    protected function libIndex($args)
    {
        list($list, $value) = $args;

        if ($value[0] === Type::T_MAP) {
            return static::$null;
        }

        if ($list[0] === Type::T_MAP ||
            $list[0] === Type::T_STRING ||
            $list[0] === Type::T_KEYWORD ||
            $list[0] === Type::T_INTERPOLATE
        ) {
            $list = $this->coerceList($list, ' ');
        }

        if ($list[0] !== Type::T_LIST) {
            return static::$null;
        }

        $values = [];

        foreach ($list[2] as $item) {
            $values[] = $this->normalizeValue($item);
        }

        $key = array_search($this->normalizeValue($value), $values);

        return false === $key ? static::$null : $key + 1;
    }

    protected static $libRgb = ['red', 'green', 'blue'];
    protected function libRgb($args)
    {
        list($r, $g, $b) = $args;

        return [Type::T_COLOR, $r[1], $g[1], $b[1]];
    }

    protected static $libRgba = [
        ['red', 'color'],
        'green', 'blue', 'alpha'];
    protected function libRgba($args)
    {
        if ($color = $this->coerceColor($args[0])) {
            $num = isset($args[3]) ? $args[3] : $args[1];
            $alpha = $this->assertNumber($num);
            $color[4] = $alpha;

            return $color;
        }

        list($r, $g, $b, $a) = $args;

        return [Type::T_COLOR, $r[1], $g[1], $b[1], $a[1]];
    }

    // helper function for adjust_color, change_color, and scale_color
    protected function alterColor($args, $fn)
    {
        $color = $this->assertColor($args[0]);

        foreach ([1, 2, 3, 7] as $i) {
            if (isset($args[$i])) {
                $val = $this->assertNumber($args[$i]);
                $ii = $i === 7 ? 4 : $i; // alpha
                $color[$ii] = call_user_func($fn, isset($color[$ii]) ? $color[$ii] : 0, $val, $i);
            }
        }

        if (isset($args[4]) || isset($args[5]) || isset($args[6])) {
            $hsl = $this->toHSL($color[1], $color[2], $color[3]);

            foreach ([4, 5, 6] as $i) {
                if (isset($args[$i])) {
                    $val = $this->assertNumber($args[$i]);
                    $hsl[$i - 3] = call_user_func($fn, $hsl[$i - 3], $val, $i);
                }
            }

            $rgb = $this->toRGB($hsl[1], $hsl[2], $hsl[3]);

            if (isset($color[4])) {
                $rgb[4] = $color[4];
            }

            $color = $rgb;
        }

        return $color;
    }

    protected static $libAdjustColor = [
        'color', 'red', 'green', 'blue',
        'hue', 'saturation', 'lightness', 'alpha'
    ];
    protected function libAdjustColor($args)
    {
        return $this->alterColor($args, function ($base, $alter, $i) {
            return $base + $alter;
        });
    }

    protected static $libChangeColor = [
        'color', 'red', 'green', 'blue',
        'hue', 'saturation', 'lightness', 'alpha'
    ];
    protected function libChangeColor($args)
    {
        return $this->alterColor($args, function ($base, $alter, $i) {
            return $alter;
        });
    }

    protected static $libScaleColor = [
        'color', 'red', 'green', 'blue',
        'hue', 'saturation', 'lightness', 'alpha'
    ];
    protected function libScaleColor($args)
    {
        return $this->alterColor($args, function ($base, $scale, $i) {
            // 1, 2, 3 - rgb
            // 4, 5, 6 - hsl
            // 7 - a
            switch ($i) {
                case 1:
                case 2:
                case 3:
                    $max = 255;
                    break;

                case 4:
                    $max = 360;
                    break;

                case 7:
                    $max = 1;
                    break;

                default:
                    $max = 100;
            }

            $scale = $scale / 100;

            if ($scale < 0) {
                return $base * $scale + $base;
            }

            return ($max - $base) * $scale + $base;
        });
    }

    protected static $libIeHexStr = ['color'];
    protected function libIeHexStr($args)
    {
        $color = $this->coerceColor($args[0]);
        $color[4] = isset($color[4]) ? round(255 * $color[4]) : 255;

        return sprintf('#%02X%02X%02X%02X', $color[4], $color[1], $color[2], $color[3]);
    }

    protected static $libRed = ['color'];
    protected function libRed($args)
    {
        $color = $this->coerceColor($args[0]);

        return $color[1];
    }

    protected static $libGreen = ['color'];
    protected function libGreen($args)
    {
        $color = $this->coerceColor($args[0]);

        return $color[2];
    }

    protected static $libBlue = ['color'];
    protected function libBlue($args)
    {
        $color = $this->coerceColor($args[0]);

        return $color[3];
    }

    protected static $libAlpha = ['color'];
    protected function libAlpha($args)
    {
        if ($color = $this->coerceColor($args[0])) {
            return isset($color[4]) ? $color[4] : 1;
        }

        // this might be the IE function, so return value unchanged
        return null;
    }

    protected static $libOpacity = ['color'];
    protected function libOpacity($args)
    {
        $value = $args[0];

        if ($value[0] === Type::T_NUMBER) {
            return null;
        }

        return $this->libAlpha($args);
    }

    // mix two colors
    protected static $libMix = ['color-1', 'color-2', 'weight'];
    protected function libMix($args)
    {
        list($first, $second, $weight) = $args;

        $first = $this->assertColor($first);
        $second = $this->assertColor($second);

        if (! isset($weight)) {
            $weight = 0.5;
        } else {
            $weight = $this->coercePercent($weight);
        }

        $firstAlpha = isset($first[4]) ? $first[4] : 1;
        $secondAlpha = isset($second[4]) ? $second[4] : 1;

        $w = $weight * 2 - 1;
        $a = $firstAlpha - $secondAlpha;

        $w1 = (($w * $a === -1 ? $w : ($w + $a) / (1 + $w * $a)) + 1) / 2.0;
        $w2 = 1.0 - $w1;

        $new = [Type::T_COLOR,
            $w1 * $first[1] + $w2 * $second[1],
            $w1 * $first[2] + $w2 * $second[2],
            $w1 * $first[3] + $w2 * $second[3],
        ];

        if ($firstAlpha != 1.0 || $secondAlpha != 1.0) {
            $new[] = $firstAlpha * $weight + $secondAlpha * (1 - $weight);
        }

        return $this->fixColor($new);
    }

    protected static $libHsl = ['hue', 'saturation', 'lightness'];
    protected function libHsl($args)
    {
        list($h, $s, $l) = $args;

        return $this->toRGB($h[1], $s[1], $l[1]);
    }

    protected static $libHsla = ['hue', 'saturation', 'lightness', 'alpha'];
    protected function libHsla($args)
    {
        list($h, $s, $l, $a) = $args;

        $color = $this->toRGB($h[1], $s[1], $l[1]);
        $color[4] = $a[1];

        return $color;
    }

    protected static $libHue = ['color'];
    protected function libHue($args)
    {
        $color = $this->assertColor($args[0]);
        $hsl = $this->toHSL($color[1], $color[2], $color[3]);

        return new Node\Number($hsl[1], 'deg');
    }

    protected static $libSaturation = ['color'];
    protected function libSaturation($args)
    {
        $color = $this->assertColor($args[0]);
        $hsl = $this->toHSL($color[1], $color[2], $color[3]);

        return new Node\Number($hsl[2], '%');
    }

    protected static $libLightness = ['color'];
    protected function libLightness($args)
    {
        $color = $this->assertColor($args[0]);
        $hsl = $this->toHSL($color[1], $color[2], $color[3]);

        return new Node\Number($hsl[3], '%');
    }

    protected function adjustHsl($color, $idx, $amount)
    {
        $hsl = $this->toHSL($color[1], $color[2], $color[3]);
        $hsl[$idx] += $amount;
        $out = $this->toRGB($hsl[1], $hsl[2], $hsl[3]);

        if (isset($color[4])) {
            $out[4] = $color[4];
        }

        return $out;
    }

    protected static $libAdjustHue = ['color', 'degrees'];
    protected function libAdjustHue($args)
    {
        $color = $this->assertColor($args[0]);
        $degrees = $this->assertNumber($args[1]);

        return $this->adjustHsl($color, 1, $degrees);
    }

    protected static $libLighten = ['color', 'amount'];
    protected function libLighten($args)
    {
        $color = $this->assertColor($args[0]);
        $amount = Util::checkRange('amount', new Range(0, 100), $args[1], '%');

        return $this->adjustHsl($color, 3, $amount);
    }

    protected static $libDarken = ['color', 'amount'];
    protected function libDarken($args)
    {
        $color = $this->assertColor($args[0]);
        $amount = Util::checkRange('amount', new Range(0, 100), $args[1], '%');

        return $this->adjustHsl($color, 3, -$amount);
    }

    protected static $libSaturate = ['color', 'amount'];
    protected function libSaturate($args)
    {
        $value = $args[0];

        if ($value[0] === Type::T_NUMBER) {
            return null;
        }

        $color = $this->assertColor($value);
        $amount = 100 * $this->coercePercent($args[1]);

        return $this->adjustHsl($color, 2, $amount);
    }

    protected static $libDesaturate = ['color', 'amount'];
    protected function libDesaturate($args)
    {
        $color = $this->assertColor($args[0]);
        $amount = 100 * $this->coercePercent($args[1]);

        return $this->adjustHsl($color, 2, -$amount);
    }

    protected static $libGrayscale = ['color'];
    protected function libGrayscale($args)
    {
        $value = $args[0];

        if ($value[0] === Type::T_NUMBER) {
            return null;
        }

        return $this->adjustHsl($this->assertColor($value), 2, -100);
    }

    protected static $libComplement = ['color'];
    protected function libComplement($args)
    {
        return $this->adjustHsl($this->assertColor($args[0]), 1, 180);
    }

    protected static $libInvert = ['color'];
    protected function libInvert($args)
    {
        $value = $args[0];

        if ($value[0] === Type::T_NUMBER) {
            return null;
        }

        $color = $this->assertColor($value);
        $color[1] = 255 - $color[1];
        $color[2] = 255 - $color[2];
        $color[3] = 255 - $color[3];

        return $color;
    }

    // increases opacity by amount
    protected static $libOpacify = ['color', 'amount'];
    protected function libOpacify($args)
    {
        $color = $this->assertColor($args[0]);
        $amount = $this->coercePercent($args[1]);

        $color[4] = (isset($color[4]) ? $color[4] : 1) + $amount;
        $color[4] = min(1, max(0, $color[4]));

        return $color;
    }

    protected static $libFadeIn = ['color', 'amount'];
    protected function libFadeIn($args)
    {
        return $this->libOpacify($args);
    }

    // decreases opacity by amount
    protected static $libTransparentize = ['color', 'amount'];
    protected function libTransparentize($args)
    {
        $color = $this->assertColor($args[0]);
        $amount = $this->coercePercent($args[1]);

        $color[4] = (isset($color[4]) ? $color[4] : 1) - $amount;
        $color[4] = min(1, max(0, $color[4]));

        return $color;
    }

    protected static $libFadeOut = ['color', 'amount'];
    protected function libFadeOut($args)
    {
        return $this->libTransparentize($args);
    }

    protected static $libUnquote = ['string'];
    protected function libUnquote($args)
    {
        $str = $args[0];

        if ($str[0] === Type::T_STRING) {
            $str[1] = '';
        }

        return $str;
    }

    protected static $libQuote = ['string'];
    protected function libQuote($args)
    {
        $value = $args[0];

        if ($value[0] === Type::T_STRING && ! empty($value[1])) {
            return $value;
        }

        return [Type::T_STRING, '"', [$value]];
    }

    protected static $libPercentage = ['value'];
    protected function libPercentage($args)
    {
        return new Node\Number($this->coercePercent($args[0]) * 100, '%');
    }

    protected static $libRound = ['value'];
    protected function libRound($args)
    {
        $num = $args[0];

        return new Node\Number(round($num[1]), $num[2]);
    }

    protected static $libFloor = ['value'];
    protected function libFloor($args)
    {
        $num = $args[0];

        return new Node\Number(floor($num[1]), $num[2]);
    }

    protected static $libCeil = ['value'];
    protected function libCeil($args)
    {
        $num = $args[0];

        return new Node\Number(ceil($num[1]), $num[2]);
    }

    protected static $libAbs = ['value'];
    protected function libAbs($args)
    {
        $num = $args[0];

        return new Node\Number(abs($num[1]), $num[2]);
    }

    protected function libMin($args)
    {
        $numbers = $this->getNormalizedNumbers($args);
        $min = null;

        foreach ($numbers as $key => $number) {
            if (null === $min || $number[1] <= $min[1]) {
                $min = [$key, $number[1]];
            }
        }

        return $args[$min[0]];
    }

    protected function libMax($args)
    {
        $numbers = $this->getNormalizedNumbers($args);
        $max = null;

        foreach ($numbers as $key => $number) {
            if (null === $max || $number[1] >= $max[1]) {
                $max = [$key, $number[1]];
            }
        }

        return $args[$max[0]];
    }

    /**
     * Helper to normalize args containing numbers
     *
     * @param array $args
     *
     * @return array
     */
    protected function getNormalizedNumbers($args)
    {
        $unit = null;
        $originalUnit = null;
        $numbers = [];

        foreach ($args as $key => $item) {
            if ($item[0] !== Type::T_NUMBER) {
                $this->throwError('%s is not a number', $item[0]);
                break;
            }

            $number = $item->normalize();

            if (null === $unit) {
                $unit = $number[2];
                $originalUnit = $item->unitStr();
            } elseif ($number[1] && $unit !== $number[2]) {
                $this->throwError('Incompatible units: "%s" and "%s".', $originalUnit, $item->unitStr());
                break;
            }

            $numbers[$key] = $number;
        }

        return $numbers;
    }

    protected static $libLength = ['list'];
    protected function libLength($args)
    {
        $list = $this->coerceList($args[0]);

        return count($list[2]);
    }

    //protected static $libListSeparator = ['list...'];
    protected function libListSeparator($args)
    {
        if (count($args) > 1) {
            return 'comma';
        }

        $list = $this->coerceList($args[0]);

        if (count($list[2]) <= 1) {
            return 'space';
        }

        if ($list[1] === ',') {
            return 'comma';
        }

        return 'space';
    }

    protected static $libNth = ['list', 'n'];
    protected function libNth($args)
    {
        $list = $this->coerceList($args[0]);
        $n = $this->assertNumber($args[1]);

        if ($n > 0) {
            $n--;
        } elseif ($n < 0) {
            $n += count($list[2]);
        }

        return isset($list[2][$n]) ? $list[2][$n] : static::$defaultValue;
    }

    protected static $libSetNth = ['list', 'n', 'value'];
    protected function libSetNth($args)
    {
        $list = $this->coerceList($args[0]);
        $n = $this->assertNumber($args[1]);

        if ($n > 0) {
            $n--;
        } elseif ($n < 0) {
            $n += count($list[2]);
        }

        if (! isset($list[2][$n])) {
            $this->throwError('Invalid argument for "n"');

            return null;
        }

        $list[2][$n] = $args[2];

        return $list;
    }

    protected static $libMapGet = ['map', 'key'];
    protected function libMapGet($args)
    {
        $map = $this->assertMap($args[0]);
        $key = $this->compileStringContent($this->coerceString($args[1]));

        for ($i = count($map[1]) - 1; $i >= 0; $i--) {
            if ($key === $this->compileStringContent($this->coerceString($map[1][$i]))) {
                return $map[2][$i];
            }
        }

        return static::$null;
    }

    protected static $libMapKeys = ['map'];
    protected function libMapKeys($args)
    {
        $map = $this->assertMap($args[0]);
        $keys = $map[1];

        return [Type::T_LIST, ',', $keys];
    }

    protected static $libMapValues = ['map'];
    protected function libMapValues($args)
    {
        $map = $this->assertMap($args[0]);
        $values = $map[2];

        return [Type::T_LIST, ',', $values];
    }

    protected static $libMapRemove = ['map', 'key'];
    protected function libMapRemove($args)
    {
        $map = $this->assertMap($args[0]);
        $key = $this->compileStringContent($this->coerceString($args[1]));

        for ($i = count($map[1]) - 1; $i >= 0; $i--) {
            if ($key === $this->compileStringContent($this->coerceString($map[1][$i]))) {
                array_splice($map[1], $i, 1);
                array_splice($map[2], $i, 1);
            }
        }

        return $map;
    }

    protected static $libMapHasKey = ['map', 'key'];
    protected function libMapHasKey($args)
    {
        $map = $this->assertMap($args[0]);
        $key = $this->compileStringContent($this->coerceString($args[1]));

        for ($i = count($map[1]) - 1; $i >= 0; $i--) {
            if ($key === $this->compileStringContent($this->coerceString($map[1][$i]))) {
                return true;
            }
        }

        return false;
    }

    protected static $libMapMerge = ['map-1', 'map-2'];
    protected function libMapMerge($args)
    {
        $map1 = $this->assertMap($args[0]);
        $map2 = $this->assertMap($args[1]);

        foreach ($map2[1] as $i2 => $key2) {
            $key = $this->compileStringContent($this->coerceString($key2));

            foreach ($map1[1] as $i1 => $key1) {
                if ($key === $this->compileStringContent($this->coerceString($key1))) {
                    $map1[2][$i1] = $map2[2][$i2];
                    continue 2;
                }
            }

            $map1[1][] = $map2[1][$i2];
            $map1[2][] = $map2[2][$i2];
        }

        return $map1;
    }

    protected static $libKeywords = ['args'];
    protected function libKeywords($args)
    {
        $this->assertList($args[0]);

        $keys = [];
        $values = [];

        foreach ($args[0][2] as $name => $arg) {
            $keys[] = [Type::T_KEYWORD, $name];
            $values[] = $arg;
        }

        return [Type::T_MAP, $keys, $values];
    }

    protected function listSeparatorForJoin($list1, $sep)
    {
        if (! isset($sep)) {
            return $list1[1];
        }

        switch ($this->compileValue($sep)) {
            case 'comma':
                return ',';

            case 'space':
                return '';

            default:
                return $list1[1];
        }
    }

    protected static $libJoin = ['list1', 'list2', 'separator'];
    protected function libJoin($args)
    {
        list($list1, $list2, $sep) = $args;

        $list1 = $this->coerceList($list1, ' ');
        $list2 = $this->coerceList($list2, ' ');
        $sep = $this->listSeparatorForJoin($list1, $sep);

        return [Type::T_LIST, $sep, array_merge($list1[2], $list2[2])];
    }

    protected static $libAppend = ['list', 'val', 'separator'];
    protected function libAppend($args)
    {
        list($list1, $value, $sep) = $args;

        $list1 = $this->coerceList($list1, ' ');
        $sep = $this->listSeparatorForJoin($list1, $sep);

        return [Type::T_LIST, $sep, array_merge($list1[2], [$value])];
    }

    protected function libZip($args)
    {
        foreach ($args as $arg) {
            $this->assertList($arg);
        }

        $lists = [];
        $firstList = array_shift($args);

        foreach ($firstList[2] as $key => $item) {
            $list = [Type::T_LIST, '', [$item]];

            foreach ($args as $arg) {
                if (isset($arg[2][$key])) {
                    $list[2][] = $arg[2][$key];
                } else {
                    break 2;
                }
            }

            $lists[] = $list;
        }

        return [Type::T_LIST, ',', $lists];
    }

    protected static $libTypeOf = ['value'];
    protected function libTypeOf($args)
    {
        $value = $args[0];

        switch ($value[0]) {
            case Type::T_KEYWORD:
                if ($value === static::$true || $value === static::$false) {
                    return 'bool';
                }

                if ($this->coerceColor($value)) {
                    return 'color';
                }

                // fall-thru
            case Type::T_FUNCTION:
                return 'string';

            case Type::T_LIST:
                if (isset($value[3]) && $value[3]) {
                    return 'arglist';
                }

                // fall-thru
            default:
                return $value[0];
        }
    }

    protected static $libUnit = ['number'];
    protected function libUnit($args)
    {
        $num = $args[0];

        if ($num[0] === Type::T_NUMBER) {
            return [Type::T_STRING, '"', [$num->unitStr()]];
        }

        return '';
    }

    protected static $libUnitless = ['number'];
    protected function libUnitless($args)
    {
        $value = $args[0];

        return $value[0] === Type::T_NUMBER && $value->unitless();
    }

    protected static $libComparable = ['number-1', 'number-2'];
    protected function libComparable($args)
    {
        list($number1, $number2) = $args;

        if (! isset($number1[0]) || $number1[0] !== Type::T_NUMBER ||
            ! isset($number2[0]) || $number2[0] !== Type::T_NUMBER
        ) {
            $this->throwError('Invalid argument(s) for "comparable"');

            return null;
        }

        $number1 = $number1->normalize();
        $number2 = $number2->normalize();

        return $number1[2] === $number2[2] || $number1->unitless() || $number2->unitless();
    }

    protected static $libStrIndex = ['string', 'substring'];
    protected function libStrIndex($args)
    {
        $string = $this->coerceString($args[0]);
        $stringContent = $this->compileStringContent($string);

        $substring = $this->coerceString($args[1]);
        $substringContent = $this->compileStringContent($substring);

        $result = strpos($stringContent, $substringContent);

        return $result === false ? static::$null : new Node\Number($result + 1, '');
    }

    protected static $libStrInsert = ['string', 'insert', 'index'];
    protected function libStrInsert($args)
    {
        $string = $this->coerceString($args[0]);
        $stringContent = $this->compileStringContent($string);

        $insert = $this->coerceString($args[1]);
        $insertContent = $this->compileStringContent($insert);

        list(, $index) = $args[2];

        $string[2] = [substr_replace($stringContent, $insertContent, $index - 1, 0)];

        return $string;
    }

    protected static $libStrLength = ['string'];
    protected function libStrLength($args)
    {
        $string = $this->coerceString($args[0]);
        $stringContent = $this->compileStringContent($string);

        return new Node\Number(strlen($stringContent), '');
    }

    protected static $libStrSlice = ['string', 'start-at', 'end-at'];
    protected function libStrSlice($args)
    {
        if (isset($args[2]) && $args[2][1] == 0) {
            return static::$nullString;
        }

        $string = $this->coerceString($args[0]);
        $stringContent = $this->compileStringContent($string);

        $start = (int) $args[1][1];

        if ($start > 0) {
            $start--;
        }

        $end    = (int) $args[2][1];
        $length = $end < 0 ? $end + 1 : ($end > 0 ? $end - $start : $end);

        $string[2] = $length
            ? [substr($stringContent, $start, $length)]
            : [substr($stringContent, $start)];

        return $string;
    }

    protected static $libToLowerCase = ['string'];
    protected function libToLowerCase($args)
    {
        $string = $this->coerceString($args[0]);
        $stringContent = $this->compileStringContent($string);

        $string[2] = [function_exists('mb_strtolower') ? mb_strtolower($stringContent) : strtolower($stringContent)];

        return $string;
    }

    protected static $libToUpperCase = ['string'];
    protected function libToUpperCase($args)
    {
        $string = $this->coerceString($args[0]);
        $stringContent = $this->compileStringContent($string);

        $string[2] = [function_exists('mb_strtoupper') ? mb_strtoupper($stringContent) : strtoupper($stringContent)];

        return $string;
    }

    protected static $libFeatureExists = ['feature'];
    protected function libFeatureExists($args)
    {
        $string = $this->coerceString($args[0]);
        $name = $this->compileStringContent($string);

        return $this->toBool(
            array_key_exists($name, $this->registeredFeatures) ? $this->registeredFeatures[$name] : false
        );
    }

    protected static $libFunctionExists = ['name'];
    protected function libFunctionExists($args)
    {
        $string = $this->coerceString($args[0]);
        $name = $this->compileStringContent($string);

        // user defined functions
        if ($this->has(static::$namespaces['function'] . $name)) {
            return true;
        }

        $name = $this->normalizeName($name);

        if (isset($this->userFunctions[$name])) {
            return true;
        }

        // built-in functions
        $f = $this->getBuiltinFunction($name);

        return $this->toBool(is_callable($f));
    }

    protected static $libGlobalVariableExists = ['name'];
    protected function libGlobalVariableExists($args)
    {
        $string = $this->coerceString($args[0]);
        $name = $this->compileStringContent($string);

        return $this->has($name, $this->rootEnv);
    }

    protected static $libMixinExists = ['name'];
    protected function libMixinExists($args)
    {
        $string = $this->coerceString($args[0]);
        $name = $this->compileStringContent($string);

        return $this->has(static::$namespaces['mixin'] . $name);
    }

    protected static $libVariableExists = ['name'];
    protected function libVariableExists($args)
    {
        $string = $this->coerceString($args[0]);
        $name = $this->compileStringContent($string);

        return $this->has($name);
    }

    /**
     * Workaround IE7's content counter bug.
     *
     * @param array $args
     *
     * @return array
     */
    protected function libCounter($args)
    {
        $list = array_map([$this, 'compileValue'], $args);

        return [Type::T_STRING, '', ['counter(' . implode(',', $list) . ')']];
    }

    protected static $libRandom = ['limit'];
    protected function libRandom($args)
    {
        if (isset($args[0])) {
            $n = $this->assertNumber($args[0]);

            if ($n < 1) {
                $this->throwError("limit must be greater than or equal to 1");

                return null;
            }

            return new Node\Number(mt_rand(1, $n), '');
        }

        return new Node\Number(mt_rand(1, mt_getrandmax()), '');
    }

    protected function libUniqueId()
    {
        static $id;

        if (! isset($id)) {
            $id = mt_rand(0, pow(36, 8));
        }

        $id += mt_rand(0, 10) + 1;

        return [Type::T_STRING, '', ['u' . str_pad(base_convert($id, 10, 36), 8, '0', STR_PAD_LEFT)]];
    }

    protected static $libInspect = ['value'];
    protected function libInspect($args)
    {
        if ($args[0] === static::$null) {
            return [Type::T_KEYWORD, 'null'];
        }

        return $args[0];
    }

    /**
     * Preprocess selector args
     *
     * @param array $arg
     *
     * @return array|boolean
     */
    protected function getSelectorArg($arg)
    {
        static $parser = null;

        if (is_null($parser)) {
            $parser = $this->parserFactory(__METHOD__);
        }

        $arg = $this->libUnquote([$arg]);
        $arg = $this->compileValue($arg);

        $parsedSelector = [];

        if ($parser->parseSelector($arg, $parsedSelector)) {
            $selector = $this->evalSelectors($parsedSelector);
            $gluedSelector = $this->glueFunctionSelectors($selector);

            return $gluedSelector;
        }

        return false;
    }

    /**
     * Postprocess selector to output in right format
     *
     * @param array $selectors
     *
     * @return string
     */
    protected function formatOutputSelector($selectors)
    {
        $selectors = $this->collapseSelectors($selectors, true);

        return $selectors;
    }

    protected static $libIsSuperselector = ['super', 'sub'];
    protected function libIsSuperselector($args)
    {
        list($super, $sub) = $args;

        $super = $this->getSelectorArg($super);
        $sub = $this->getSelectorArg($sub);

        return $this->isSuperSelector($super, $sub);
    }

    /**
     * Test a $super selector again $sub
     *
     * @param array $super
     * @param array $sub
     *
     * @return boolean
     */
    protected function isSuperSelector($super, $sub)
    {
        // one and only one selector for each arg
        if (! $super || count($super) !== 1) {
            $this->throwError("Invalid super selector for isSuperSelector()");
        }

        if (! $sub || count($sub) !== 1) {
            $this->throwError("Invalid sub selector for isSuperSelector()");
        }

        $super = reset($super);
        $sub = reset($sub);

        $i = 0;
        $nextMustMatch = false;

        foreach ($super as $node) {
            $compound = '';

            array_walk_recursive(
                $node,
                function ($value, $key) use (&$compound) {
                    $compound .= $value;
                }
            );

            if ($this->isImmediateRelationshipCombinator($compound)) {
                if ($node !== $sub[$i]) {
                    return false;
                }

                $nextMustMatch = true;
                $i++;
            } else {
                while ($i < count($sub) && ! $this->isSuperPart($node, $sub[$i])) {
                    if ($nextMustMatch) {
                        return false;
                    }

                    $i++;
                }

                if ($i >= count($sub)) {
                    return false;
                }

                $nextMustMatch = false;
                $i++;
            }
        }

        return true;
    }

    /**
     * Test a part of super selector again a part of sub selector
     *
     * @param array $superParts
     * @param array $subParts
     *
     * @return boolean
     */
    protected function isSuperPart($superParts, $subParts)
    {
        $i = 0;

        foreach ($superParts as $superPart) {
            while ($i < count($subParts) && $subParts[$i] !== $superPart) {
                $i++;
            }

            if ($i >= count($subParts)) {
                return false;
            }

            $i++;
        }

        return true;
    }

    //protected static $libSelectorAppend = ['selector...'];
    protected function libSelectorAppend($args)
    {
        if (count($args) < 1) {
            $this->throwError("selector-append() needs at least 1 argument");
        }

        $selectors = array_map([$this, 'getSelectorArg'], $args);

        return $this->formatOutputSelector($this->selectorAppend($selectors));
    }

    /**
     * Append parts of the last selector in the list to the previous, recursively
     *
     * @param array $selectors
     *
     * @return array
     *
     * @throws \Leafo\ScssPhp\Exception\CompilerException
     */
    protected function selectorAppend($selectors)
    {
        $lastSelectors = array_pop($selectors);

        if (! $lastSelectors) {
            $this->throwError("Invalid selector list in selector-append()");
        }

        while (count($selectors)) {
            $previousSelectors = array_pop($selectors);

            if (! $previousSelectors) {
                $this->throwError("Invalid selector list in selector-append()");
            }

            // do the trick, happening $lastSelector to $previousSelector
            $appended = [];

            foreach ($lastSelectors as $lastSelector) {
                $previous = $previousSelectors;

                foreach ($lastSelector as $lastSelectorParts) {
                    foreach ($lastSelectorParts as $lastSelectorPart) {
                        foreach ($previous as $i => $previousSelector) {
                            foreach ($previousSelector as $j => $previousSelectorParts) {
                                $previous[$i][$j][] = $lastSelectorPart;
                            }
                        }
                    }
                }

                foreach ($previous as $ps) {
                    $appended[] = $ps;
                }
            }

            $lastSelectors = $appended;
        }

        return $lastSelectors;
    }

    protected static $libSelectorExtend = ['selectors', 'extendee', 'extender'];
    protected function libSelectorExtend($args)
    {
        list($selectors, $extendee, $extender) = $args;

        $selectors = $this->getSelectorArg($selectors);
        $extendee = $this->getSelectorArg($extendee);
        $extender = $this->getSelectorArg($extender);

        if (! $selectors || ! $extendee || ! $extender) {
            $this->throwError("selector-extend() invalid arguments");
        }

        $extended = $this->extendOrReplaceSelectors($selectors, $extendee, $extender);

        return $this->formatOutputSelector($extended);
    }

    protected static $libSelectorReplace = ['selectors', 'original', 'replacement'];
    protected function libSelectorReplace($args)
    {
        list($selectors, $original, $replacement) = $args;

        $selectors = $this->getSelectorArg($selectors);
        $original = $this->getSelectorArg($original);
        $replacement = $this->getSelectorArg($replacement);

        if (! $selectors || ! $original || ! $replacement) {
            $this->throwError("selector-replace() invalid arguments");
        }

        $replaced = $this->extendOrReplaceSelectors($selectors, $original, $replacement, true);

        return $this->formatOutputSelector($replaced);
    }

    /**
     * Extend/replace in selectors
     * used by selector-extend and selector-replace that use the same logic
     *
     * @param array   $selectors
     * @param array   $extendee
     * @param array   $extender
     * @param boolean $replace
     *
     * @return array
     */
    protected function extendOrReplaceSelectors($selectors, $extendee, $extender, $replace = false)
    {
        $saveExtends = $this->extends;
        $saveExtendsMap = $this->extendsMap;

        $this->extends = [];
        $this->extendsMap = [];

        foreach ($extendee as $es) {
            // only use the first one
            $this->pushExtends(reset($es), $extender, null);
        }

        $extended = [];

        foreach ($selectors as $selector) {
            if (! $replace) {
                $extended[] = $selector;
            }

            $n = count($extended);

            $this->matchExtends($selector, $extended);

            // if didnt match, keep the original selector if we are in a replace operation
            if ($replace and count($extended) === $n) {
                $extended[] = $selector;
            }
        }

        $this->extends = $saveExtends;
        $this->extendsMap = $saveExtendsMap;

        return $extended;
    }

    //protected static $libSelectorNest = ['selector...'];
    protected function libSelectorNest($args)
    {
        if (count($args) < 1) {
            $this->throwError("selector-nest() needs at least 1 argument");
        }

        $selectorsMap = array_map([$this, 'getSelectorArg'], $args);

        $envs = [];
        foreach ($selectorsMap as $selectors) {
            $env = new Environment();
            $env->selectors = $selectors;

            $envs[] = $env;
        }

        $envs = array_reverse($envs);
        $env = $this->extractEnv($envs);
        $outputSelectors = $this->multiplySelectors($env);

        return $this->formatOutputSelector($outputSelectors);
    }

    protected static $libSelectorParse = ['selectors'];
    protected function libSelectorParse($args)
    {
        $selectors = reset($args);
        $selectors = $this->getSelectorArg($selectors);

        return $this->formatOutputSelector($selectors);
    }

    protected static $libSelectorUnify = ['selectors1', 'selectors2'];
    protected function libSelectorUnify($args)
    {
        list($selectors1, $selectors2) = $args;

        $selectors1 = $this->getSelectorArg($selectors1);
        $selectors2 = $this->getSelectorArg($selectors2);

        if (! $selectors1 || ! $selectors2) {
            $this->throwError("selector-unify() invalid arguments");
        }

        // only consider the first compound of each
        $compound1 = reset($selectors1);
        $compound2 = reset($selectors2);

        // unify them and that's it
        $unified = $this->unifyCompoundSelectors($compound1, $compound2);

        return $this->formatOutputSelector($unified);
    }

    /**
     * The selector-unify magic as its best
     * (at least works as expected on test cases)
     *
     * @param array $compound1
     * @param array $compound2
     * @return array|mixed
     */
    protected function unifyCompoundSelectors($compound1, $compound2)
    {
        if (! count($compound1)) {
            return $compound2;
        }

        if (! count($compound2)) {
            return $compound1;
        }

        // check that last part are compatible
        $lastPart1 = array_pop($compound1);
        $lastPart2 = array_pop($compound2);
        $last = $this->mergeParts($lastPart1, $lastPart2);

        if (! $last) {
            return [[]];
        }

        $unifiedCompound = [$last];
        $unifiedSelectors = [$unifiedCompound];

        // do the rest
        while (count($compound1) || count($compound2)) {
            $part1 = end($compound1);
            $part2 = end($compound2);

            if ($part1 && ($match2 = $this->matchPartInCompound($part1, $compound2))) {
                list($compound2, $part2, $after2) = $match2;

                if ($after2) {
                    $unifiedSelectors = $this->prependSelectors($unifiedSelectors, $after2);
                }

                $c = $this->mergeParts($part1, $part2);
                $unifiedSelectors = $this->prependSelectors($unifiedSelectors, [$c]);
                $part1 = $part2 = null;

                array_pop($compound1);
            }

            if ($part2 && ($match1 = $this->matchPartInCompound($part2, $compound1))) {
                list($compound1, $part1, $after1) = $match1;

                if ($after1) {
                    $unifiedSelectors = $this->prependSelectors($unifiedSelectors, $after1);
                }

                $c = $this->mergeParts($part2, $part1);
                $unifiedSelectors = $this->prependSelectors($unifiedSelectors, [$c]);
                $part1 = $part2 = null;

                array_pop($compound2);
            }

            $new = [];

            if ($part1 && $part2) {
                array_pop($compound1);
                array_pop($compound2);

                $s = $this->prependSelectors($unifiedSelectors, [$part2]);
                $new = array_merge($new, $this->prependSelectors($s, [$part1]));
                $s = $this->prependSelectors($unifiedSelectors, [$part1]);
                $new = array_merge($new, $this->prependSelectors($s, [$part2]));
            } elseif ($part1) {
                array_pop($compound1);

                $new = array_merge($new, $this->prependSelectors($unifiedSelectors, [$part1]));
            } elseif ($part2) {
                array_pop($compound2);

                $new = array_merge($new, $this->prependSelectors($unifiedSelectors, [$part2]));
            }

            if ($new) {
                $unifiedSelectors = $new;
            }
        }

        return $unifiedSelectors;
    }

    /**
     * Prepend each selector from $selectors with $parts
     *
     * @param array $selectors
     * @param array $parts
     *
     * @return array
     */
    protected function prependSelectors($selectors, $parts)
    {
        $new = [];

        foreach ($selectors as $compoundSelector) {
            array_unshift($compoundSelector, $parts);

            $new[] = $compoundSelector;
        }

        return $new;
    }

    /**
     * Try to find a matching part in a compound:
     * - with same html tag name
     * - with some class or id or something in common
     *
     * @param array $part
     * @param array $compound
     *
     * @return array|boolean
     */
    protected function matchPartInCompound($part, $compound)
    {
        $partTag = $this->findTagName($part);
        $before = $compound;
        $after = [];

        // try to find a match by tag name first
        while (count($before)) {
            $p = array_pop($before);

            if ($partTag && $partTag !== '*' && $partTag == $this->findTagName($p)) {
                return [$before, $p, $after];
            }

            $after[] = $p;
        }

        // try again matching a non empty intersection and a compatible tagname
        $before = $compound;
        $after = [];

        while (count($before)) {
            $p = array_pop($before);

            if ($this->checkCompatibleTags($partTag, $this->findTagName($p))) {
                if (count(array_intersect($part, $p))) {
                    return [$before, $p, $after];
                }
            }

            $after[] = $p;
        }

        return false;
    }

    /**
     * Merge two part list taking care that
     * - the html tag is coming first - if any
     * - the :something are coming last
     *
     * @param array $parts1
     * @param array $parts2
     *
     * @return array
     */
    protected function mergeParts($parts1, $parts2)
    {
        $tag1 = $this->findTagName($parts1);
        $tag2 = $this->findTagName($parts2);
        $tag = $this->checkCompatibleTags($tag1, $tag2);

        // not compatible tags
        if ($tag === false) {
            return [];
        }

        if ($tag) {
            if ($tag1) {
                $parts1 = array_diff($parts1, [$tag1]);
            }

            if ($tag2) {
                $parts2 = array_diff($parts2, [$tag2]);
            }
        }

        $mergedParts = array_merge($parts1, $parts2);
        $mergedOrderedParts = [];

        foreach ($mergedParts as $part) {
            if (strpos($part, ':') === 0) {
                $mergedOrderedParts[] = $part;
            }
        }

        $mergedParts = array_diff($mergedParts, $mergedOrderedParts);
        $mergedParts = array_merge($mergedParts, $mergedOrderedParts);

        if ($tag) {
            array_unshift($mergedParts, $tag);
        }

        return $mergedParts;
    }

    /**
     * Check the compatibility between two tag names:
     * if both are defined they should be identical or one has to be '*'
     *
     * @param string $tag1
     * @param string $tag2
     *
     * @return array|boolean
     */
    protected function checkCompatibleTags($tag1, $tag2)
    {
        $tags = [$tag1, $tag2];
        $tags = array_unique($tags);
        $tags = array_filter($tags);

        if (count($tags)>1) {
            $tags = array_diff($tags, ['*']);
        }

        // not compatible nodes
        if (count($tags)>1) {
            return false;
        }

        return $tags;
    }

    /**
     * Find the html tag name in a selector parts list
     *
     * @param array $parts
     *
     * @return mixed|string
     */
    protected function findTagName($parts)
    {
        foreach ($parts as $part) {
            if (! preg_match('/^[\[.:#%_-]/', $part)) {
                return $part;
            }
        }

        return '';
    }

    protected static $libSimpleSelectors = ['selector'];
    protected function libSimpleSelectors($args)
    {
        $selector = reset($args);
        $selector = $this->getSelectorArg($selector);

        // remove selectors list layer, keeping the first one
        $selector = reset($selector);

        // remove parts list layer, keeping the first part
        $part = reset($selector);

        $listParts = [];

        foreach ($part as $p) {
            $listParts[] = [Type::T_STRING, '', [$p]];
        }

        return [Type::T_LIST, ',', $listParts];
    }
}
vendor/leafo/scssphp/src/Colors.php000060400000013450150750356260013363 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp;

/**
 * CSS Colors
 *
 * @author Leaf Corcoran <leafot@gmail.com>
 */
class Colors
{
    /**
     * CSS Colors
     *
     * @see http://www.w3.org/TR/css3-color
     *
     * @var array
     */
    public static $cssColors = [
        'aliceblue' => '240,248,255',
        'antiquewhite' => '250,235,215',
        'aqua' => '0,255,255',
        'aquamarine' => '127,255,212',
        'azure' => '240,255,255',
        'beige' => '245,245,220',
        'bisque' => '255,228,196',
        'black' => '0,0,0',
        'blanchedalmond' => '255,235,205',
        'blue' => '0,0,255',
        'blueviolet' => '138,43,226',
        'brown' => '165,42,42',
        'burlywood' => '222,184,135',
        'cadetblue' => '95,158,160',
        'chartreuse' => '127,255,0',
        'chocolate' => '210,105,30',
        'coral' => '255,127,80',
        'cornflowerblue' => '100,149,237',
        'cornsilk' => '255,248,220',
        'crimson' => '220,20,60',
        'cyan' => '0,255,255',
        'darkblue' => '0,0,139',
        'darkcyan' => '0,139,139',
        'darkgoldenrod' => '184,134,11',
        'darkgray' => '169,169,169',
        'darkgreen' => '0,100,0',
        'darkgrey' => '169,169,169',
        'darkkhaki' => '189,183,107',
        'darkmagenta' => '139,0,139',
        'darkolivegreen' => '85,107,47',
        'darkorange' => '255,140,0',
        'darkorchid' => '153,50,204',
        'darkred' => '139,0,0',
        'darksalmon' => '233,150,122',
        'darkseagreen' => '143,188,143',
        'darkslateblue' => '72,61,139',
        'darkslategray' => '47,79,79',
        'darkslategrey' => '47,79,79',
        'darkturquoise' => '0,206,209',
        'darkviolet' => '148,0,211',
        'deeppink' => '255,20,147',
        'deepskyblue' => '0,191,255',
        'dimgray' => '105,105,105',
        'dimgrey' => '105,105,105',
        'dodgerblue' => '30,144,255',
        'firebrick' => '178,34,34',
        'floralwhite' => '255,250,240',
        'forestgreen' => '34,139,34',
        'fuchsia' => '255,0,255',
        'gainsboro' => '220,220,220',
        'ghostwhite' => '248,248,255',
        'gold' => '255,215,0',
        'goldenrod' => '218,165,32',
        'gray' => '128,128,128',
        'green' => '0,128,0',
        'greenyellow' => '173,255,47',
        'grey' => '128,128,128',
        'honeydew' => '240,255,240',
        'hotpink' => '255,105,180',
        'indianred' => '205,92,92',
        'indigo' => '75,0,130',
        'ivory' => '255,255,240',
        'khaki' => '240,230,140',
        'lavender' => '230,230,250',
        'lavenderblush' => '255,240,245',
        'lawngreen' => '124,252,0',
        'lemonchiffon' => '255,250,205',
        'lightblue' => '173,216,230',
        'lightcoral' => '240,128,128',
        'lightcyan' => '224,255,255',
        'lightgoldenrodyellow' => '250,250,210',
        'lightgray' => '211,211,211',
        'lightgreen' => '144,238,144',
        'lightgrey' => '211,211,211',
        'lightpink' => '255,182,193',
        'lightsalmon' => '255,160,122',
        'lightseagreen' => '32,178,170',
        'lightskyblue' => '135,206,250',
        'lightslategray' => '119,136,153',
        'lightslategrey' => '119,136,153',
        'lightsteelblue' => '176,196,222',
        'lightyellow' => '255,255,224',
        'lime' => '0,255,0',
        'limegreen' => '50,205,50',
        'linen' => '250,240,230',
        'magenta' => '255,0,255',
        'maroon' => '128,0,0',
        'mediumaquamarine' => '102,205,170',
        'mediumblue' => '0,0,205',
        'mediumorchid' => '186,85,211',
        'mediumpurple' => '147,112,219',
        'mediumseagreen' => '60,179,113',
        'mediumslateblue' => '123,104,238',
        'mediumspringgreen' => '0,250,154',
        'mediumturquoise' => '72,209,204',
        'mediumvioletred' => '199,21,133',
        'midnightblue' => '25,25,112',
        'mintcream' => '245,255,250',
        'mistyrose' => '255,228,225',
        'moccasin' => '255,228,181',
        'navajowhite' => '255,222,173',
        'navy' => '0,0,128',
        'oldlace' => '253,245,230',
        'olive' => '128,128,0',
        'olivedrab' => '107,142,35',
        'orange' => '255,165,0',
        'orangered' => '255,69,0',
        'orchid' => '218,112,214',
        'palegoldenrod' => '238,232,170',
        'palegreen' => '152,251,152',
        'paleturquoise' => '175,238,238',
        'palevioletred' => '219,112,147',
        'papayawhip' => '255,239,213',
        'peachpuff' => '255,218,185',
        'peru' => '205,133,63',
        'pink' => '255,192,203',
        'plum' => '221,160,221',
        'powderblue' => '176,224,230',
        'purple' => '128,0,128',
        'rebeccapurple' => '102,51,153',
        'red' => '255,0,0',
        'rosybrown' => '188,143,143',
        'royalblue' => '65,105,225',
        'saddlebrown' => '139,69,19',
        'salmon' => '250,128,114',
        'sandybrown' => '244,164,96',
        'seagreen' => '46,139,87',
        'seashell' => '255,245,238',
        'sienna' => '160,82,45',
        'silver' => '192,192,192',
        'skyblue' => '135,206,235',
        'slateblue' => '106,90,205',
        'slategray' => '112,128,144',
        'slategrey' => '112,128,144',
        'snow' => '255,250,250',
        'springgreen' => '0,255,127',
        'steelblue' => '70,130,180',
        'tan' => '210,180,140',
        'teal' => '0,128,128',
        'thistle' => '216,191,216',
        'tomato' => '255,99,71',
        'transparent' => '0,0,0,0',
        'turquoise' => '64,224,208',
        'violet' => '238,130,238',
        'wheat' => '245,222,179',
        'white' => '255,255,255',
        'whitesmoke' => '245,245,245',
        'yellow' => '255,255,0',
        'yellowgreen' => '154,205,50',
    ];
}
vendor/leafo/scssphp/src/Parser.php000060400000212603150750356260013357 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp;

use Leafo\ScssPhp\Block;
use Leafo\ScssPhp\Cache;
use Leafo\ScssPhp\Compiler;
use Leafo\ScssPhp\Exception\ParserException;
use Leafo\ScssPhp\Node;
use Leafo\ScssPhp\Type;

/**
 * Parser
 *
 * @author Leaf Corcoran <leafot@gmail.com>
 */
class Parser
{
    const SOURCE_INDEX  = -1;
    const SOURCE_LINE   = -2;
    const SOURCE_COLUMN = -3;

    /**
     * @var array
     */
    protected static $precedence = [
        '='   => 0,
        'or'  => 1,
        'and' => 2,
        '=='  => 3,
        '!='  => 3,
        '<=>' => 3,
        '<='  => 4,
        '>='  => 4,
        '<'   => 4,
        '>'   => 4,
        '+'   => 5,
        '-'   => 5,
        '*'   => 6,
        '/'   => 6,
        '%'   => 6,
    ];

    protected static $commentPattern;
    protected static $operatorPattern;
    protected static $whitePattern;

    protected $cache;

    private $sourceName;
    private $sourceIndex;
    private $sourcePositions;
    private $charset;
    private $count;
    private $env;
    private $inParens;
    private $eatWhiteDefault;
    private $buffer;
    private $utf8;
    private $encoding;
    private $patternModifiers;
    private $commentsSeen;

    /**
     * Constructor
     *
     * @api
     *
     * @param string               $sourceName
     * @param integer              $sourceIndex
     * @param string               $encoding
     * @param \Leafo\ScssPhp\Cache $cache
     */
    public function __construct($sourceName, $sourceIndex = 0, $encoding = 'utf-8', $cache = null)
    {
        $this->sourceName       = $sourceName ?: '(stdin)';
        $this->sourceIndex      = $sourceIndex;
        $this->charset          = null;
        $this->utf8             = ! $encoding || strtolower($encoding) === 'utf-8';
        $this->patternModifiers = $this->utf8 ? 'Aisu' : 'Ais';
        $this->commentsSeen     = [];

        if (empty(static::$operatorPattern)) {
            static::$operatorPattern = '([*\/%+-]|[!=]\=|\>\=?|\<\=\>|\<\=?|and|or)';

            $commentSingle      = '\/\/';
            $commentMultiLeft   = '\/\*';
            $commentMultiRight  = '\*\/';

            static::$commentPattern = $commentMultiLeft . '.*?' . $commentMultiRight;
            static::$whitePattern = $this->utf8
                ? '/' . $commentSingle . '[^\n]*\s*|(' . static::$commentPattern . ')\s*|\s+/AisuS'
                : '/' . $commentSingle . '[^\n]*\s*|(' . static::$commentPattern . ')\s*|\s+/AisS';
        }

        if ($cache) {
            $this->cache = $cache;
        }
    }

    /**
     * Get source file name
     *
     * @api
     *
     * @return string
     */
    public function getSourceName()
    {
        return $this->sourceName;
    }

    /**
     * Throw parser error
     *
     * @api
     *
     * @param string $msg
     *
     * @throws \Leafo\ScssPhp\Exception\ParserException
     */
    public function throwParseError($msg = 'parse error')
    {
        list($line, $column) = $this->getSourcePosition($this->count);

        $loc = empty($this->sourceName)
             ? "line: $line, column: $column"
             : "$this->sourceName on line $line, at column $column";

        if ($this->peek("(.*?)(\n|$)", $m, $this->count)) {
            throw new ParserException("$msg: failed at `$m[1]` $loc");
        }

        throw new ParserException("$msg: $loc");
    }

    /**
     * Parser buffer
     *
     * @api
     *
     * @param string $buffer
     *
     * @return \Leafo\ScssPhp\Block
     */
    public function parse($buffer)
    {
        if ($this->cache) {
            $cacheKey = $this->sourceName . ":" . md5($buffer);
            $parseOptions = [
                'charset' => $this->charset,
                'utf8' => $this->utf8,
            ];
            $v = $this->cache->getCache("parse", $cacheKey, $parseOptions);

            if (! is_null($v)) {
                return $v;
            }
        }

        // strip BOM (byte order marker)
        if (substr($buffer, 0, 3) === "\xef\xbb\xbf") {
            $buffer = substr($buffer, 3);
        }

        $this->buffer          = rtrim($buffer, "\x00..\x1f");
        $this->count           = 0;
        $this->env             = null;
        $this->inParens        = false;
        $this->eatWhiteDefault = true;

        $this->saveEncoding();
        $this->extractLineNumbers($buffer);

        $this->pushBlock(null); // root block
        $this->whitespace();
        $this->pushBlock(null);
        $this->popBlock();

        while ($this->parseChunk()) {
            ;
        }

        if ($this->count !== strlen($this->buffer)) {
            $this->throwParseError();
        }

        if (! empty($this->env->parent)) {
            $this->throwParseError('unclosed block');
        }

        if ($this->charset) {
            array_unshift($this->env->children, $this->charset);
        }

        $this->restoreEncoding();

        if ($this->cache) {
            $this->cache->setCache("parse", $cacheKey, $this->env, $parseOptions);
        }

        return $this->env;
    }

    /**
     * Parse a value or value list
     *
     * @api
     *
     * @param string $buffer
     * @param string $out
     *
     * @return boolean
     */
    public function parseValue($buffer, &$out)
    {
        $this->count           = 0;
        $this->env             = null;
        $this->inParens        = false;
        $this->eatWhiteDefault = true;
        $this->buffer          = (string) $buffer;

        $this->saveEncoding();

        $list = $this->valueList($out);

        $this->restoreEncoding();

        return $list;
    }

    /**
     * Parse a selector or selector list
     *
     * @api
     *
     * @param string $buffer
     * @param string $out
     *
     * @return boolean
     */
    public function parseSelector($buffer, &$out)
    {
        $this->count           = 0;
        $this->env             = null;
        $this->inParens        = false;
        $this->eatWhiteDefault = true;
        $this->buffer          = (string) $buffer;

        $this->saveEncoding();

        $selector = $this->selectors($out);

        $this->restoreEncoding();

        return $selector;
    }

    /**
     * Parse a single chunk off the head of the buffer and append it to the
     * current parse environment.
     *
     * Returns false when the buffer is empty, or when there is an error.
     *
     * This function is called repeatedly until the entire document is
     * parsed.
     *
     * This parser is most similar to a recursive descent parser. Single
     * functions represent discrete grammatical rules for the language, and
     * they are able to capture the text that represents those rules.
     *
     * Consider the function Compiler::keyword(). (All parse functions are
     * structured the same.)
     *
     * The function takes a single reference argument. When calling the
     * function it will attempt to match a keyword on the head of the buffer.
     * If it is successful, it will place the keyword in the referenced
     * argument, advance the position in the buffer, and return true. If it
     * fails then it won't advance the buffer and it will return false.
     *
     * All of these parse functions are powered by Compiler::match(), which behaves
     * the same way, but takes a literal regular expression. Sometimes it is
     * more convenient to use match instead of creating a new function.
     *
     * Because of the format of the functions, to parse an entire string of
     * grammatical rules, you can chain them together using &&.
     *
     * But, if some of the rules in the chain succeed before one fails, then
     * the buffer position will be left at an invalid state. In order to
     * avoid this, Compiler::seek() is used to remember and set buffer positions.
     *
     * Before parsing a chain, use $s = $this->count to remember the current
     * position into $s. Then if a chain fails, use $this->seek($s) to
     * go back where we started.
     *
     * @return boolean
     */
    protected function parseChunk()
    {
        $s = $this->count;

        // the directives
        if (isset($this->buffer[$this->count]) && $this->buffer[$this->count] === '@') {
            if ($this->literal('@at-root', 8) &&
                ($this->selectors($selector) || true) &&
                ($this->map($with) || true) &&
                $this->matchChar('{')
            ) {
                $atRoot = $this->pushSpecialBlock(Type::T_AT_ROOT, $s);
                $atRoot->selector = $selector;
                $atRoot->with = $with;

                return true;
            }

            $this->seek($s);

            if ($this->literal('@media', 6) && $this->mediaQueryList($mediaQueryList) && $this->matchChar('{')) {
                $media = $this->pushSpecialBlock(Type::T_MEDIA, $s);
                $media->queryList = $mediaQueryList[2];

                return true;
            }

            $this->seek($s);

            if ($this->literal('@mixin', 6) &&
                $this->keyword($mixinName) &&
                ($this->argumentDef($args) || true) &&
                $this->matchChar('{')
            ) {
                $mixin = $this->pushSpecialBlock(Type::T_MIXIN, $s);
                $mixin->name = $mixinName;
                $mixin->args = $args;

                return true;
            }

            $this->seek($s);

            if ($this->literal('@include', 8) &&
                $this->keyword($mixinName) &&
                ($this->matchChar('(') &&
                    ($this->argValues($argValues) || true) &&
                    $this->matchChar(')') || true) &&
                ($this->end() ||
                    $this->matchChar('{') && $hasBlock = true)
            ) {
                $child = [Type::T_INCLUDE, $mixinName, isset($argValues) ? $argValues : null, null];

                if (! empty($hasBlock)) {
                    $include = $this->pushSpecialBlock(Type::T_INCLUDE, $s);
                    $include->child = $child;
                } else {
                    $this->append($child, $s);
                }

                return true;
            }

            $this->seek($s);

            if ($this->literal('@scssphp-import-once', 20) &&
                $this->valueList($importPath) &&
                $this->end()
            ) {
                $this->append([Type::T_SCSSPHP_IMPORT_ONCE, $importPath], $s);

                return true;
            }

            $this->seek($s);

            if ($this->literal('@import', 7) &&
                $this->valueList($importPath) &&
                $this->end()
            ) {
                $this->append([Type::T_IMPORT, $importPath], $s);

                return true;
            }

            $this->seek($s);

            if ($this->literal('@import', 7) &&
                $this->url($importPath) &&
                $this->end()
            ) {
                $this->append([Type::T_IMPORT, $importPath], $s);

                return true;
            }

            $this->seek($s);

            if ($this->literal('@extend', 7) &&
                $this->selectors($selectors) &&
                $this->end()
            ) {
                // check for '!flag'
                $optional = $this->stripOptionalFlag($selectors);
                $this->append([Type::T_EXTEND, $selectors, $optional], $s);

                return true;
            }

            $this->seek($s);

            if ($this->literal('@function', 9) &&
                $this->keyword($fnName) &&
                $this->argumentDef($args) &&
                $this->matchChar('{')
            ) {
                $func = $this->pushSpecialBlock(Type::T_FUNCTION, $s);
                $func->name = $fnName;
                $func->args = $args;

                return true;
            }

            $this->seek($s);

            if ($this->literal('@break', 6) && $this->end()) {
                $this->append([Type::T_BREAK], $s);

                return true;
            }

            $this->seek($s);

            if ($this->literal('@continue', 9) && $this->end()) {
                $this->append([Type::T_CONTINUE], $s);

                return true;
            }

            $this->seek($s);

            if ($this->literal('@return', 7) && ($this->valueList($retVal) || true) && $this->end()) {
                $this->append([Type::T_RETURN, isset($retVal) ? $retVal : [Type::T_NULL]], $s);

                return true;
            }

            $this->seek($s);

            if ($this->literal('@each', 5) &&
                $this->genericList($varNames, 'variable', ',', false) &&
                $this->literal('in', 2) &&
                $this->valueList($list) &&
                $this->matchChar('{')
            ) {
                $each = $this->pushSpecialBlock(Type::T_EACH, $s);

                foreach ($varNames[2] as $varName) {
                    $each->vars[] = $varName[1];
                }

                $each->list = $list;

                return true;
            }

            $this->seek($s);

            if ($this->literal('@while', 6) &&
                $this->expression($cond) &&
                $this->matchChar('{')
            ) {
                $while = $this->pushSpecialBlock(Type::T_WHILE, $s);
                $while->cond = $cond;

                return true;
            }

            $this->seek($s);

            if ($this->literal('@for', 4) &&
                $this->variable($varName) &&
                $this->literal('from', 4) &&
                $this->expression($start) &&
                ($this->literal('through', 7) ||
                    ($forUntil = true && $this->literal('to', 2))) &&
                $this->expression($end) &&
                $this->matchChar('{')
            ) {
                $for = $this->pushSpecialBlock(Type::T_FOR, $s);
                $for->var = $varName[1];
                $for->start = $start;
                $for->end = $end;
                $for->until = isset($forUntil);

                return true;
            }

            $this->seek($s);

            if ($this->literal('@if', 3) && $this->valueList($cond) && $this->matchChar('{')) {
                $if = $this->pushSpecialBlock(Type::T_IF, $s);
                $if->cond = $cond;
                $if->cases = [];

                return true;
            }

            $this->seek($s);

            if ($this->literal('@debug', 6) &&
                $this->valueList($value) &&
                $this->end()
            ) {
                $this->append([Type::T_DEBUG, $value], $s);

                return true;
            }

            $this->seek($s);

            if ($this->literal('@warn', 5) &&
                $this->valueList($value) &&
                $this->end()
            ) {
                $this->append([Type::T_WARN, $value], $s);

                return true;
            }

            $this->seek($s);

            if ($this->literal('@error', 6) &&
                $this->valueList($value) &&
                $this->end()
            ) {
                $this->append([Type::T_ERROR, $value], $s);

                return true;
            }

            $this->seek($s);

            if ($this->literal('@content', 8) && $this->end()) {
                $this->append([Type::T_MIXIN_CONTENT], $s);

                return true;
            }

            $this->seek($s);

            $last = $this->last();

            if (isset($last) && $last[0] === Type::T_IF) {
                list(, $if) = $last;

                if ($this->literal('@else', 5)) {
                    if ($this->matchChar('{')) {
                        $else = $this->pushSpecialBlock(Type::T_ELSE, $s);
                    } elseif ($this->literal('if', 2) && $this->valueList($cond) && $this->matchChar('{')) {
                        $else = $this->pushSpecialBlock(Type::T_ELSEIF, $s);
                        $else->cond = $cond;
                    }

                    if (isset($else)) {
                        $else->dontAppend = true;
                        $if->cases[] = $else;

                        return true;
                    }
                }

                $this->seek($s);
            }

            // only retain the first @charset directive encountered
            if ($this->literal('@charset', 8) &&
                $this->valueList($charset) &&
                $this->end()
            ) {
                if (! isset($this->charset)) {
                    $statement = [Type::T_CHARSET, $charset];

                    list($line, $column) = $this->getSourcePosition($s);

                    $statement[static::SOURCE_LINE]   = $line;
                    $statement[static::SOURCE_COLUMN] = $column;
                    $statement[static::SOURCE_INDEX]  = $this->sourceIndex;

                    $this->charset = $statement;
                }

                return true;
            }

            $this->seek($s);

            // doesn't match built in directive, do generic one
            if ($this->matchChar('@', false) &&
                $this->keyword($dirName) &&
                ($this->variable($dirValue) || $this->openString('{', $dirValue) || true) &&
                $this->matchChar('{')
            ) {
                if ($dirName === 'media') {
                    $directive = $this->pushSpecialBlock(Type::T_MEDIA, $s);
                } else {
                    $directive = $this->pushSpecialBlock(Type::T_DIRECTIVE, $s);
                    $directive->name = $dirName;
                }

                if (isset($dirValue)) {
                    $directive->value = $dirValue;
                }

                return true;
            }

            $this->seek($s);

            return false;
        }

        // property shortcut
        // captures most properties before having to parse a selector
        if ($this->keyword($name, false) &&
            $this->literal(': ', 2) &&
            $this->valueList($value) &&
            $this->end()
        ) {
            $name = [Type::T_STRING, '', [$name]];
            $this->append([Type::T_ASSIGN, $name, $value], $s);

            return true;
        }

        $this->seek($s);

        // variable assigns
        if ($this->variable($name) &&
            $this->matchChar(':') &&
            $this->valueList($value) &&
            $this->end()
        ) {
            // check for '!flag'
            $assignmentFlags = $this->stripAssignmentFlags($value);
            $this->append([Type::T_ASSIGN, $name, $value, $assignmentFlags], $s);

            return true;
        }

        $this->seek($s);

        // misc
        if ($this->literal('-->', 3)) {
            return true;
        }

        // opening css block
        if ($this->selectors($selectors) && $this->matchChar('{', false)) {
            $this->pushBlock($selectors, $s);

            if ($this->eatWhiteDefault) {
                $this->whitespace();
                $this->append(null); // collect comments at the begining if needed
            }

            return true;
        }

        $this->seek($s);

        // property assign, or nested assign
        if ($this->propertyName($name) && $this->matchChar(':')) {
            $foundSomething = false;

            if ($this->valueList($value)) {
                if (empty($this->env->parent)) {
                    $this->throwParseError('expected "{"');
                }

                $this->append([Type::T_ASSIGN, $name, $value], $s);
                $foundSomething = true;
            }

            if ($this->matchChar('{')) {
                $propBlock = $this->pushSpecialBlock(Type::T_NESTED_PROPERTY, $s);
                $propBlock->prefix = $name;
                $foundSomething = true;
            } elseif ($foundSomething) {
                $foundSomething = $this->end();
            }

            if ($foundSomething) {
                return true;
            }
        }

        $this->seek($s);

        // closing a block
        if ($this->matchChar('}')) {
            $block = $this->popBlock();

            if (isset($block->type) && $block->type === Type::T_INCLUDE) {
                $include = $block->child;
                unset($block->child);
                $include[3] = $block;
                $this->append($include, $s);
            } elseif (empty($block->dontAppend)) {
                $type = isset($block->type) ? $block->type : Type::T_BLOCK;
                $this->append([$type, $block], $s);
            }

            return true;
        }

        // extra stuff
        if ($this->matchChar(';') ||
            $this->literal('<!--', 4)
        ) {
            return true;
        }

        return false;
    }

    /**
     * Push block onto parse tree
     *
     * @param array   $selectors
     * @param integer $pos
     *
     * @return \Leafo\ScssPhp\Block
     */
    protected function pushBlock($selectors, $pos = 0)
    {
        list($line, $column) = $this->getSourcePosition($pos);

        $b = new Block;
        $b->sourceName   = $this->sourceName;
        $b->sourceLine   = $line;
        $b->sourceColumn = $column;
        $b->sourceIndex  = $this->sourceIndex;
        $b->selectors    = $selectors;
        $b->comments     = [];
        $b->parent       = $this->env;

        if (! $this->env) {
            $b->children = [];
        } elseif (empty($this->env->children)) {
            $this->env->children = $this->env->comments;
            $b->children = [];
            $this->env->comments = [];
        } else {
            $b->children = $this->env->comments;
            $this->env->comments = [];
        }

        $this->env = $b;

        return $b;
    }

    /**
     * Push special (named) block onto parse tree
     *
     * @param string  $type
     * @param integer $pos
     *
     * @return \Leafo\ScssPhp\Block
     */
    protected function pushSpecialBlock($type, $pos)
    {
        $block = $this->pushBlock(null, $pos);
        $block->type = $type;

        return $block;
    }

    /**
     * Pop scope and return last block
     *
     * @return \Leafo\ScssPhp\Block
     *
     * @throws \Exception
     */
    protected function popBlock()
    {
        $block = $this->env;

        if (empty($block->parent)) {
            $this->throwParseError('unexpected }');
        }

        if ($block->type == Type::T_AT_ROOT) {
            // keeps the parent in case of self selector &
            $block->selfParent = $block->parent;
        }

        $this->env = $block->parent;

        unset($block->parent);

        $comments = $block->comments;

        if ($comments) {
            $this->env->comments = $comments;
            unset($block->comments);
        }

        return $block;
    }

    /**
     * Peek input stream
     *
     * @param string  $regex
     * @param array   $out
     * @param integer $from
     *
     * @return integer
     */
    protected function peek($regex, &$out, $from = null)
    {
        if (! isset($from)) {
            $from = $this->count;
        }

        $r = '/' . $regex . '/' . $this->patternModifiers;
        $result = preg_match($r, $this->buffer, $out, null, $from);

        return $result;
    }

    /**
     * Seek to position in input stream (or return current position in input stream)
     *
     * @param integer $where
     */
    protected function seek($where)
    {
        $this->count = $where;
    }

    /**
     * Match string looking for either ending delim, escape, or string interpolation
     *
     * {@internal This is a workaround for preg_match's 250K string match limit. }}
     *
     * @param array  $m     Matches (passed by reference)
     * @param string $delim Delimeter
     *
     * @return boolean True if match; false otherwise
     */
    protected function matchString(&$m, $delim)
    {
        $token = null;

        $end = strlen($this->buffer);

        // look for either ending delim, escape, or string interpolation
        foreach (['#{', '\\', $delim] as $lookahead) {
            $pos = strpos($this->buffer, $lookahead, $this->count);

            if ($pos !== false && $pos < $end) {
                $end = $pos;
                $token = $lookahead;
            }
        }

        if (! isset($token)) {
            return false;
        }

        $match = substr($this->buffer, $this->count, $end - $this->count);
        $m = [
            $match . $token,
            $match,
            $token
        ];
        $this->count = $end + strlen($token);

        return true;
    }

    /**
     * Try to match something on head of buffer
     *
     * @param string  $regex
     * @param array   $out
     * @param boolean $eatWhitespace
     *
     * @return boolean
     */
    protected function match($regex, &$out, $eatWhitespace = null)
    {
        $r = '/' . $regex . '/' . $this->patternModifiers;

        if (! preg_match($r, $this->buffer, $out, null, $this->count)) {
            return false;
        }

        $this->count += strlen($out[0]);

        if (! isset($eatWhitespace)) {
            $eatWhitespace = $this->eatWhiteDefault;
        }

        if ($eatWhitespace) {
            $this->whitespace();
        }

        return true;
    }

    /**
     * Match a single string
     *
     * @param string  $char
     * @param boolean $eatWhitespace
     *
     * @return boolean
     */
    protected function matchChar($char, $eatWhitespace = null)
    {
        if (! isset($this->buffer[$this->count]) || $this->buffer[$this->count] !== $char) {
            return false;
        }

        $this->count++;

        if (! isset($eatWhitespace)) {
            $eatWhitespace = $this->eatWhiteDefault;
        }

        if ($eatWhitespace) {
            $this->whitespace();
        }

        return true;
    }

    /**
     * Match literal string
     *
     * @param string  $what
     * @param integer $len
     * @param boolean $eatWhitespace
     *
     * @return boolean
     */
    protected function literal($what, $len, $eatWhitespace = null)
    {
        if (strcasecmp(substr($this->buffer, $this->count, $len), $what) !== 0) {
            return false;
        }

        $this->count += $len;

        if (! isset($eatWhitespace)) {
            $eatWhitespace = $this->eatWhiteDefault;
        }

        if ($eatWhitespace) {
            $this->whitespace();
        }

        return true;
    }

    /**
     * Match some whitespace
     *
     * @return boolean
     */
    protected function whitespace()
    {
        $gotWhite = false;

        while (preg_match(static::$whitePattern, $this->buffer, $m, null, $this->count)) {
            if (isset($m[1]) && empty($this->commentsSeen[$this->count])) {
                // comment that are kept in the output CSS
                $comment = [];
                $endCommentCount = $this->count + strlen($m[1]);

                // find interpolations in comment
                $p = strpos($this->buffer, '#{', $this->count);

                while ($p !== false && $p < $endCommentCount) {
                    $c = substr($this->buffer, $this->count, $p - $this->count);
                    $comment[] = $c;
                    $this->count = $p;
                    $out = null;

                    if ($this->interpolation($out)) {
                        // keep right spaces in the following string part
                        if ($out[3]) {
                            while ($this->buffer[$this->count-1] !== '}') {
                                $this->count--;
                            }

                            $out[3] = '';
                        }

                        $comment[] = $out;
                    } else {
                        $comment[] = substr($this->buffer, $this->count, 2);

                        $this->count += 2;
                    }

                    $p = strpos($this->buffer, '#{', $this->count);
                }

                // remaining part
                $c = substr($this->buffer, $this->count, $endCommentCount - $this->count);

                if (! $comment) {
                    // single part static comment
                    $this->appendComment([Type::T_COMMENT, $c]);
                } else {
                    $comment[] = $c;
                    $this->appendComment([Type::T_COMMENT, [Type::T_STRING, '', $comment]]);
                }

                $this->commentsSeen[$this->count] = true;
                $this->count = $endCommentCount;
            } else {
                // comment that are ignored and not kept in the output css
                $this->count += strlen($m[0]);
            }

            $gotWhite = true;
        }

        return $gotWhite;
    }

    /**
     * Append comment to current block
     *
     * @param array $comment
     */
    protected function appendComment($comment)
    {
        if ($comment[0] === Type::T_COMMENT && is_string($comment[1])) {
            $comment[1] = substr(preg_replace(['/^\s+/m', '/^(.)/m'], ['', ' \1'], $comment[1]), 1);
        }

        $this->env->comments[] = $comment;
    }

    /**
     * Append statement to current block
     *
     * @param array   $statement
     * @param integer $pos
     */
    protected function append($statement, $pos = null)
    {
        if (! is_null($statement)) {
            if ($pos !== null) {
                list($line, $column) = $this->getSourcePosition($pos);

                $statement[static::SOURCE_LINE]   = $line;
                $statement[static::SOURCE_COLUMN] = $column;
                $statement[static::SOURCE_INDEX]  = $this->sourceIndex;
            }

            $this->env->children[] = $statement;
        }

        $comments = $this->env->comments;

        if ($comments) {
            $this->env->children = array_merge($this->env->children, $comments);
            $this->env->comments = [];
        }
    }

    /**
     * Returns last child was appended
     *
     * @return array|null
     */
    protected function last()
    {
        $i = count($this->env->children) - 1;

        if (isset($this->env->children[$i])) {
            return $this->env->children[$i];
        }
    }

    /**
     * Parse media query list
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function mediaQueryList(&$out)
    {
        return $this->genericList($out, 'mediaQuery', ',', false);
    }

    /**
     * Parse media query
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function mediaQuery(&$out)
    {
        $expressions = null;
        $parts = [];

        if (($this->literal('only', 4) && ($only = true) || $this->literal('not', 3) && ($not = true) || true) &&
            $this->mixedKeyword($mediaType)
        ) {
            $prop = [Type::T_MEDIA_TYPE];

            if (isset($only)) {
                $prop[] = [Type::T_KEYWORD, 'only'];
            }

            if (isset($not)) {
                $prop[] = [Type::T_KEYWORD, 'not'];
            }

            $media = [Type::T_LIST, '', []];

            foreach ((array) $mediaType as $type) {
                if (is_array($type)) {
                    $media[2][] = $type;
                } else {
                    $media[2][] = [Type::T_KEYWORD, $type];
                }
            }

            $prop[]  = $media;
            $parts[] = $prop;
        }

        if (empty($parts) || $this->literal('and', 3)) {
            $this->genericList($expressions, 'mediaExpression', 'and', false);

            if (is_array($expressions)) {
                $parts = array_merge($parts, $expressions[2]);
            }
        }

        $out = $parts;

        return true;
    }

    /**
     * Parse media expression
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function mediaExpression(&$out)
    {
        $s = $this->count;
        $value = null;

        if ($this->matchChar('(') &&
            $this->expression($feature) &&
            ($this->matchChar(':') && $this->expression($value) || true) &&
            $this->matchChar(')')
        ) {
            $out = [Type::T_MEDIA_EXPRESSION, $feature];

            if ($value) {
                $out[] = $value;
            }

            return true;
        }

        $this->seek($s);

        return false;
    }

    /**
     * Parse argument values
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function argValues(&$out)
    {
        if ($this->genericList($list, 'argValue', ',', false)) {
            $out = $list[2];

            return true;
        }

        return false;
    }

    /**
     * Parse argument value
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function argValue(&$out)
    {
        $s = $this->count;

        $keyword = null;

        if (! $this->variable($keyword) || ! $this->matchChar(':')) {
            $this->seek($s);
            $keyword = null;
        }

        if ($this->genericList($value, 'expression')) {
            $out = [$keyword, $value, false];
            $s = $this->count;

            if ($this->literal('...', 3)) {
                $out[2] = true;
            } else {
                $this->seek($s);
            }

            return true;
        }

        return false;
    }

    /**
     * Parse comma separated value list
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function valueList(&$out)
    {
        return $this->genericList($out, 'spaceList', ',');
    }

    /**
     * Parse space separated value list
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function spaceList(&$out)
    {
        return $this->genericList($out, 'expression');
    }

    /**
     * Parse generic list
     *
     * @param array    $out
     * @param callable $parseItem
     * @param string   $delim
     * @param boolean  $flatten
     *
     * @return boolean
     */
    protected function genericList(&$out, $parseItem, $delim = '', $flatten = true)
    {
        $s = $this->count;
        $items = [];
        $value = null;

        while ($this->$parseItem($value)) {
            $items[] = $value;

            if ($delim) {
                if (! $this->literal($delim, strlen($delim))) {
                    break;
                }
            }
        }

        if (! $items) {
            $this->seek($s);

            return false;
        }

        if ($flatten && count($items) === 1) {
            $out = $items[0];
        } else {
            $out = [Type::T_LIST, $delim, $items];
        }

        return true;
    }

    /**
     * Parse expression
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function expression(&$out)
    {
        $s = $this->count;

        if ($this->matchChar('(')) {
            if ($this->parenExpression($out, $s, ")")) {
                return true;
            }

            $this->seek($s);
        }

        if ($this->matchChar('[')) {
            if ($this->parenExpression($out, $s, "]", [Type::T_LIST, Type::T_KEYWORD])) {
                if ($out[0] !== Type::T_LIST && $out[0] !== Type::T_MAP) {
                    $out = [Type::T_STRING, '', [ '[', $out, ']' ]];
                }

                return true;
            }

            $this->seek($s);
        }

        if ($this->value($lhs)) {
            $out = $this->expHelper($lhs, 0);

            return true;
        }

        return false;
    }

    /**
     * Parse expression specifically checking for lists in parenthesis or brackets
     *
     * @param array   $out
     * @param integer $s
     * @param string  $closingParen
     * @param array   $allowedTypes
     *
     * @return boolean
     */
    protected function parenExpression(&$out, $s, $closingParen = ")", $allowedTypes = [Type::T_LIST, Type::T_MAP])
    {
        if ($this->matchChar($closingParen)) {
            $out = [Type::T_LIST, '', []];

            return true;
        }

        if ($this->valueList($out) && $this->matchChar($closingParen) && in_array($out[0], $allowedTypes)) {
            return true;
        }

        $this->seek($s);

        if (in_array(Type::T_MAP, $allowedTypes) && $this->map($out)) {
            return true;
        }

        return false;
    }

    /**
     * Parse left-hand side of subexpression
     *
     * @param array   $lhs
     * @param integer $minP
     *
     * @return array
     */
    protected function expHelper($lhs, $minP)
    {
        $operators = static::$operatorPattern;

        $ss = $this->count;
        $whiteBefore = isset($this->buffer[$this->count - 1]) &&
            ctype_space($this->buffer[$this->count - 1]);

        while ($this->match($operators, $m, false) && static::$precedence[$m[1]] >= $minP) {
            $whiteAfter = isset($this->buffer[$this->count]) &&
                ctype_space($this->buffer[$this->count]);
            $varAfter = isset($this->buffer[$this->count]) &&
                $this->buffer[$this->count] === '$';

            $this->whitespace();

            $op = $m[1];

            // don't turn negative numbers into expressions
            if ($op === '-' && $whiteBefore && ! $whiteAfter && ! $varAfter) {
                break;
            }

            if (! $this->value($rhs)) {
                break;
            }

            // peek and see if rhs belongs to next operator
            if ($this->peek($operators, $next) && static::$precedence[$next[1]] > static::$precedence[$op]) {
                $rhs = $this->expHelper($rhs, static::$precedence[$next[1]]);
            }

            $lhs = [Type::T_EXPRESSION, $op, $lhs, $rhs, $this->inParens, $whiteBefore, $whiteAfter];
            $ss = $this->count;
            $whiteBefore = isset($this->buffer[$this->count - 1]) &&
                ctype_space($this->buffer[$this->count - 1]);
        }

        $this->seek($ss);

        return $lhs;
    }

    /**
     * Parse value
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function value(&$out)
    {
        if (! isset($this->buffer[$this->count])) {
            return false;
        }

        $s = $this->count;
        $char = $this->buffer[$this->count];

        if ($this->literal('url(', 4) && $this->match('data:([a-z]+)\/([a-z0-9.+-]+);base64,', $m, false)) {
            $len = strspn(
                $this->buffer,
                'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwyxz0123456789+/=',
                $this->count
            );

            $this->count += $len;

            if ($this->matchChar(')')) {
                $content = substr($this->buffer, $s, $this->count - $s);
                $out = [Type::T_KEYWORD, $content];

                return true;
            }
        }

        $this->seek($s);

        if ($this->literal('url(', 4, false) && $this->match('\s*(\/\/\S+)\s*', $m)) {
            $content = 'url(' . $m[1];

            if ($this->matchChar(')')) {
                $content .= ')';
                $out = [Type::T_KEYWORD, $content];

                return true;
            }
        }

        $this->seek($s);

        // not
        if ($char === 'n' && $this->literal('not', 3, false)) {
            if ($this->whitespace() && $this->value($inner)) {
                $out = [Type::T_UNARY, 'not', $inner, $this->inParens];

                return true;
            }

            $this->seek($s);

            if ($this->parenValue($inner)) {
                $out = [Type::T_UNARY, 'not', $inner, $this->inParens];

                return true;
            }

            $this->seek($s);
        }

        // addition
        if ($char === '+') {
            $this->count++;

            if ($this->value($inner)) {
                $out = [Type::T_UNARY, '+', $inner, $this->inParens];

                return true;
            }

            $this->count--;

            return false;
        }

        // negation
        if ($char === '-') {
            $this->count++;

            if ($this->variable($inner) || $this->unit($inner) || $this->parenValue($inner)) {
                $out = [Type::T_UNARY, '-', $inner, $this->inParens];

                return true;
            }

            $this->count--;
        }

        // paren
        if ($char === '(' && $this->parenValue($out)) {
            return true;
        }

        if ($char === '#') {
            if ($this->interpolation($out) || $this->color($out)) {
                return true;
            }
        }

        if ($this->matchChar('&', true)) {
            $out = [Type::T_SELF];

            return true;
        }

        if ($char === '$' && $this->variable($out)) {
            return true;
        }

        if ($char === 'p' && $this->progid($out)) {
            return true;
        }

        if (($char === '"' || $char === "'") && $this->string($out)) {
            return true;
        }

        if ($this->unit($out)) {
            return true;
        }

        // unicode range with wildcards
        if ($this->literal('U+', 2) && $this->match('([0-9A-F]+\?*)(-([0-9A-F]+))?', $m, false)) {
            $out = [Type::T_KEYWORD, 'U+' . $m[0]];
            return true;
        }

        if ($this->keyword($keyword, false)) {
            if ($this->func($keyword, $out)) {
                return true;
            }

            $this->whitespace();

            if ($keyword === 'null') {
                $out = [Type::T_NULL];
            } else {
                $out = [Type::T_KEYWORD, $keyword];
            }

            return true;
        }

        return false;
    }

    /**
     * Parse parenthesized value
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function parenValue(&$out)
    {
        $s = $this->count;

        $inParens = $this->inParens;

        if ($this->matchChar('(')) {
            if ($this->matchChar(')')) {
                $out = [Type::T_LIST, '', []];

                return true;
            }

            $this->inParens = true;

            if ($this->expression($exp) && $this->matchChar(')')) {
                $out = $exp;
                $this->inParens = $inParens;

                return true;
            }
        }

        $this->inParens = $inParens;
        $this->seek($s);

        return false;
    }

    /**
     * Parse "progid:"
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function progid(&$out)
    {
        $s = $this->count;

        if ($this->literal('progid:', 7, false) &&
            $this->openString('(', $fn) &&
            $this->matchChar('(')
        ) {
            $this->openString(')', $args, '(');

            if ($this->matchChar(')')) {
                $out = [Type::T_STRING, '', [
                    'progid:', $fn, '(', $args, ')'
                ]];

                return true;
            }
        }

        $this->seek($s);

        return false;
    }

    /**
     * Parse function call
     *
     * @param string $name
     * @param array  $func
     *
     * @return boolean
     */
    protected function func($name, &$func)
    {
        $s = $this->count;

        if ($this->matchChar('(')) {
            if ($name === 'alpha' && $this->argumentList($args)) {
                $func = [Type::T_FUNCTION, $name, [Type::T_STRING, '', $args]];

                return true;
            }

            if ($name !== 'expression' && ! preg_match('/^(-[a-z]+-)?calc$/', $name)) {
                $ss = $this->count;

                if ($this->argValues($args) && $this->matchChar(')')) {
                    $func = [Type::T_FUNCTION_CALL, $name, $args];

                    return true;
                }

                $this->seek($ss);
            }

            if (($this->openString(')', $str, '(') || true) &&
                $this->matchChar(')')
            ) {
                $args = [];

                if (! empty($str)) {
                    $args[] = [null, [Type::T_STRING, '', [$str]]];
                }

                $func = [Type::T_FUNCTION_CALL, $name, $args];

                return true;
            }
        }

        $this->seek($s);

        return false;
    }

    /**
     * Parse function call argument list
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function argumentList(&$out)
    {
        $s = $this->count;
        $this->matchChar('(');

        $args = [];

        while ($this->keyword($var)) {
            if ($this->matchChar('=') && $this->expression($exp)) {
                $args[] = [Type::T_STRING, '', [$var . '=']];
                $arg = $exp;
            } else {
                break;
            }

            $args[] = $arg;

            if (! $this->matchChar(',')) {
                break;
            }

            $args[] = [Type::T_STRING, '', [', ']];
        }

        if (! $this->matchChar(')') || ! $args) {
            $this->seek($s);

            return false;
        }

        $out = $args;

        return true;
    }

    /**
     * Parse mixin/function definition  argument list
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function argumentDef(&$out)
    {
        $s = $this->count;
        $this->matchChar('(');

        $args = [];

        while ($this->variable($var)) {
            $arg = [$var[1], null, false];

            $ss = $this->count;

            if ($this->matchChar(':') && $this->genericList($defaultVal, 'expression')) {
                $arg[1] = $defaultVal;
            } else {
                $this->seek($ss);
            }

            $ss = $this->count;

            if ($this->literal('...', 3)) {
                $sss = $this->count;

                if (! $this->matchChar(')')) {
                    $this->throwParseError('... has to be after the final argument');
                }

                $arg[2] = true;
                $this->seek($sss);
            } else {
                $this->seek($ss);
            }

            $args[] = $arg;

            if (! $this->matchChar(',')) {
                break;
            }
        }

        if (! $this->matchChar(')')) {
            $this->seek($s);

            return false;
        }

        $out = $args;

        return true;
    }

    /**
     * Parse map
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function map(&$out)
    {
        $s = $this->count;

        if (! $this->matchChar('(')) {
            return false;
        }

        $keys = [];
        $values = [];

        while ($this->genericList($key, 'expression') && $this->matchChar(':') &&
            $this->genericList($value, 'expression')
        ) {
            $keys[] = $key;
            $values[] = $value;

            if (! $this->matchChar(',')) {
                break;
            }
        }

        if (! $keys || ! $this->matchChar(')')) {
            $this->seek($s);

            return false;
        }

        $out = [Type::T_MAP, $keys, $values];

        return true;
    }

    /**
     * Parse color
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function color(&$out)
    {
        $color = [Type::T_COLOR];
        $s     = $this->count;

        if ($this->match('(#([0-9a-f]+))', $m)) {
            $nofValues = strlen($m[2]);
            $hasAlpha  = $nofValues === 4 || $nofValues === 8;
            $channels  = $hasAlpha ? [4, 3, 2, 1] : [3, 2, 1];

            switch ($nofValues) {
                case 3:
                case 4:
                    $num = hexdec($m[2]);

                    foreach ($channels as $i) {
                        $t = $num & 0xf;
                        $color[$i] = $t << 4 | $t;
                        $num >>= 4;
                    }

                    break;

                case 6:
                case 8:
                    $num = hexdec($m[2]);

                    foreach ($channels as $i) {
                        $color[$i] = $num & 0xff;
                        $num >>= 8;
                    }

                    break;

                default:
                    $this->seek($s);

                    return false;
            }

            if ($hasAlpha) {
                if ($color[4] === 255) {
                    $color[4] = 1; // fully opaque
                } else {
                    $color[4] = round($color[4] / 255, 3);
                }
            }

            $out = $color;

            return true;
        }

        return false;
    }

    /**
     * Parse number with unit
     *
     * @param array $unit
     *
     * @return boolean
     */
    protected function unit(&$unit)
    {
        $s = $this->count;

        if ($this->match('([0-9]*(\.)?[0-9]+)([%a-zA-Z]+)?', $m, false)) {
            if (strlen($this->buffer) === $this->count || ! ctype_digit($this->buffer[$this->count])) {
                $this->whitespace();

                $unit = new Node\Number($m[1], empty($m[3]) ? '' : $m[3]);

                return true;
            }

            $this->seek($s);
        }

        return false;
    }

    /**
     * Parse string
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function string(&$out)
    {
        $s = $this->count;

        if ($this->matchChar('"', false)) {
            $delim = '"';
        } elseif ($this->matchChar("'", false)) {
            $delim = "'";
        } else {
            return false;
        }

        $content = [];
        $oldWhite = $this->eatWhiteDefault;
        $this->eatWhiteDefault = false;
        $hasInterpolation = false;

        while ($this->matchString($m, $delim)) {
            if ($m[1] !== '') {
                $content[] = $m[1];
            }

            if ($m[2] === '#{') {
                $this->count -= strlen($m[2]);

                if ($this->interpolation($inter, false)) {
                    $content[] = $inter;
                    $hasInterpolation = true;
                } else {
                    $this->count += strlen($m[2]);
                    $content[] = '#{'; // ignore it
                }
            } elseif ($m[2] === '\\') {
                if ($this->matchChar('"', false)) {
                    $content[] = $m[2] . '"';
                } elseif ($this->matchChar("'", false)) {
                    $content[] = $m[2] . "'";
                } elseif ($this->literal("\\", 1, false)) {
                    $content[] = $m[2] . "\\";
                } elseif ($this->literal("\r\n", 2, false)
                  || $this->matchChar("\r", false)
                  || $this->matchChar("\n", false)
                  || $this->matchChar("\f", false)) {
                    // this is a continuation escaping, to be ignored
                } else {
                    $content[] = $m[2];
                }
            } else {
                $this->count -= strlen($delim);
                break; // delim
            }
        }

        $this->eatWhiteDefault = $oldWhite;

        if ($this->literal($delim, strlen($delim))) {
            if ($hasInterpolation) {
                $delim = '"';

                foreach ($content as &$string) {
                    if ($string === "\\\\") {
                        $string = "\\";
                    } elseif ($string === "\\'") {
                        $string = "'";
                    } elseif ($string === '\\"') {
                        $string = '"';
                    }
                }
            }

            $out = [Type::T_STRING, $delim, $content];

            return true;
        }

        $this->seek($s);

        return false;
    }

    /**
     * Parse keyword or interpolation
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function mixedKeyword(&$out)
    {
        $parts = [];

        $oldWhite = $this->eatWhiteDefault;
        $this->eatWhiteDefault = false;

        for (;;) {
            if ($this->keyword($key)) {
                $parts[] = $key;
                continue;
            }

            if ($this->interpolation($inter)) {
                $parts[] = $inter;
                continue;
            }

            break;
        }

        $this->eatWhiteDefault = $oldWhite;

        if (! $parts) {
            return false;
        }

        if ($this->eatWhiteDefault) {
            $this->whitespace();
        }

        $out = $parts;

        return true;
    }

    /**
     * Parse an unbounded string stopped by $end
     *
     * @param string $end
     * @param array  $out
     * @param string $nestingOpen
     *
     * @return boolean
     */
    protected function openString($end, &$out, $nestingOpen = null)
    {
        $oldWhite = $this->eatWhiteDefault;
        $this->eatWhiteDefault = false;

        $patt = '(.*?)([\'"]|#\{|' . $this->pregQuote($end) . '|' . static::$commentPattern . ')';

        $nestingLevel = 0;

        $content = [];

        while ($this->match($patt, $m, false)) {
            if (isset($m[1]) && $m[1] !== '') {
                $content[] = $m[1];

                if ($nestingOpen) {
                    $nestingLevel += substr_count($m[1], $nestingOpen);
                }
            }

            $tok = $m[2];

            $this->count-= strlen($tok);

            if ($tok === $end && ! $nestingLevel--) {
                break;
            }

            if (($tok === "'" || $tok === '"') && $this->string($str)) {
                $content[] = $str;
                continue;
            }

            if ($tok === '#{' && $this->interpolation($inter)) {
                $content[] = $inter;
                continue;
            }

            $content[] = $tok;
            $this->count+= strlen($tok);
        }

        $this->eatWhiteDefault = $oldWhite;

        if (! $content) {
            return false;
        }

        // trim the end
        if (is_string(end($content))) {
            $content[count($content) - 1] = rtrim(end($content));
        }

        $out = [Type::T_STRING, '', $content];

        return true;
    }

    /**
     * Parser interpolation
     *
     * @param array   $out
     * @param boolean $lookWhite save information about whitespace before and after
     *
     * @return boolean
     */
    protected function interpolation(&$out, $lookWhite = true)
    {
        $oldWhite = $this->eatWhiteDefault;
        $this->eatWhiteDefault = true;

        $s = $this->count;

        if ($this->literal('#{', 2) && $this->valueList($value) && $this->matchChar('}', false)) {
            if ($value === [Type::T_SELF]) {
                $out = $value;
            } else {
                if ($lookWhite) {
                    $left = preg_match('/\s/', $this->buffer[$s - 1]) ? ' ' : '';
                    $right = preg_match('/\s/', $this->buffer[$this->count]) ? ' ': '';
                } else {
                    $left = $right = false;
                }

                $out = [Type::T_INTERPOLATE, $value, $left, $right];
            }

            $this->eatWhiteDefault = $oldWhite;

            if ($this->eatWhiteDefault) {
                $this->whitespace();
            }

            return true;
        }

        $this->seek($s);

        $this->eatWhiteDefault = $oldWhite;

        return false;
    }

    /**
     * Parse property name (as an array of parts or a string)
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function propertyName(&$out)
    {
        $parts = [];

        $oldWhite = $this->eatWhiteDefault;
        $this->eatWhiteDefault = false;

        for (;;) {
            if ($this->interpolation($inter)) {
                $parts[] = $inter;
                continue;
            }

            if ($this->keyword($text)) {
                $parts[] = $text;
                continue;
            }

            if (! $parts && $this->match('[:.#]', $m, false)) {
                // css hacks
                $parts[] = $m[0];
                continue;
            }

            break;
        }

        $this->eatWhiteDefault = $oldWhite;

        if (! $parts) {
            return false;
        }

        // match comment hack
        if (preg_match(
            static::$whitePattern,
            $this->buffer,
            $m,
            null,
            $this->count
        )) {
            if (! empty($m[0])) {
                $parts[] = $m[0];
                $this->count += strlen($m[0]);
            }
        }

        $this->whitespace(); // get any extra whitespace

        $out = [Type::T_STRING, '', $parts];

        return true;
    }

    /**
     * Parse comma separated selector list
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function selectors(&$out, $subSelector = false)
    {
        $s = $this->count;
        $selectors = [];

        while ($this->selector($sel, $subSelector)) {
            $selectors[] = $sel;

            if (! $this->matchChar(',', true)) {
                break;
            }

            while ($this->matchChar(',', true)) {
                ; // ignore extra
            }
        }

        if (! $selectors) {
            $this->seek($s);

            return false;
        }

        $out = $selectors;

        return true;
    }

    /**
     * Parse whitespace separated selector list
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function selector(&$out, $subSelector = false)
    {
        $selector = [];

        for (;;) {
            if ($this->match('[>+~]+', $m, true)) {
                $selector[] = [$m[0]];
                continue;
            }

            if ($this->selectorSingle($part, $subSelector)) {
                $selector[] = $part;
                $this->match('\s+', $m);
                continue;
            }

            if ($this->match('\/[^\/]+\/', $m, true)) {
                $selector[] = [$m[0]];
                continue;
            }

            break;
        }

        if (! $selector) {
            return false;
        }

        $out = $selector;

        return true;
    }

    /**
     * Parse the parts that make up a selector
     *
     * {@internal
     *     div[yes=no]#something.hello.world:nth-child(-2n+1)%placeholder
     * }}
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function selectorSingle(&$out, $subSelector = false)
    {
        $oldWhite = $this->eatWhiteDefault;
        $this->eatWhiteDefault = false;

        $parts = [];

        if ($this->matchChar('*', false)) {
            $parts[] = '*';
        }

        for (;;) {
            if (! isset($this->buffer[$this->count])) {
                break;
            }

            $s = $this->count;
            $char = $this->buffer[$this->count];

            // see if we can stop early
            if ($char === '{' || $char === ',' || $char === ';' || $char === '}' || $char === '@') {
                break;
            }

            // parsing a sub selector in () stop with the closing )
            if ($subSelector && $char === ')') {
                break;
            }

            //self
            switch ($char) {
                case '&':
                    $parts[] = Compiler::$selfSelector;
                    $this->count++;
                    continue 2;

                case '.':
                    $parts[] = '.';
                    $this->count++;
                    continue 2;

                case '|':
                    $parts[] = '|';
                    $this->count++;
                    continue 2;
            }

            if ($char === '\\' && $this->match('\\\\\S', $m)) {
                $parts[] = $m[0];
                continue;
            }

            if ($char === '%') {
                $this->count++;

                if ($this->placeholder($placeholder)) {
                    $parts[] = '%';
                    $parts[] = $placeholder;
                    continue;
                }

                break;
            }

            if ($char === '#') {
                if ($this->interpolation($inter)) {
                    $parts[] = $inter;
                    continue;
                }

                $parts[] = '#';
                $this->count++;
                continue;
            }

            // a pseudo selector
            if ($char === ':') {
                if ($this->buffer[$this->count + 1] === ':') {
                    $this->count += 2;
                    $part = '::';
                } else {
                    $this->count++;
                    $part = ':';
                }

                if ($this->mixedKeyword($nameParts)) {
                    $parts[] = $part;

                    foreach ($nameParts as $sub) {
                        $parts[] = $sub;
                    }

                    $ss = $this->count;

                    if ($nameParts === ['not'] || $nameParts === ['is'] ||
                        $nameParts === ['has'] || $nameParts === ['where']
                    ) {
                        if ($this->matchChar('(') &&
                          ($this->selectors($subs, true) || true) &&
                          $this->matchChar(')')
                        ) {
                            $parts[] = '(';

                            while ($sub = array_shift($subs)) {
                                while ($ps = array_shift($sub)) {
                                    foreach ($ps as &$p) {
                                        $parts[] = $p;
                                    }
                                    if (count($sub) && reset($sub)) {
                                        $parts[] = ' ';
                                    }
                                }
                                if (count($subs) && reset($subs)) {
                                    $parts[] = ', ';
                                }
                            }

                            $parts[] = ')';
                        } else {
                            $this->seek($ss);
                        }
                    } else {
                        if ($this->matchChar('(') &&
                          ($this->openString(')', $str, '(') || true) &&
                          $this->matchChar(')')
                        ) {
                            $parts[] = '(';

                            if (! empty($str)) {
                                $parts[] = $str;
                            }

                            $parts[] = ')';
                        } else {
                            $this->seek($ss);
                        }
                    }

                    continue;
                }
            }

            $this->seek($s);

            // attribute selector
            if ($char === '[' &&
                $this->matchChar('[') &&
                ($this->openString(']', $str, '[') || true) &&
                $this->matchChar(']')
            ) {
                $parts[] = '[';

                if (! empty($str)) {
                    $parts[] = $str;
                }

                $parts[] = ']';
                continue;
            }

            $this->seek($s);

            // for keyframes
            if ($this->unit($unit)) {
                $parts[] = $unit;
                continue;
            }

            if ($this->keyword($name)) {
                $parts[] = $name;
                continue;
            }

            break;
        }

        $this->eatWhiteDefault = $oldWhite;

        if (! $parts) {
            return false;
        }

        $out = $parts;

        return true;
    }

    /**
     * Parse a variable
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function variable(&$out)
    {
        $s = $this->count;

        if ($this->matchChar('$', false) && $this->keyword($name)) {
            $out = [Type::T_VARIABLE, $name];

            return true;
        }

        $this->seek($s);

        return false;
    }

    /**
     * Parse a keyword
     *
     * @param string  $word
     * @param boolean $eatWhitespace
     *
     * @return boolean
     */
    protected function keyword(&$word, $eatWhitespace = null)
    {
        if ($this->match(
            $this->utf8
                ? '(([\pL\w\x{00A0}-\x{10FFFF}_\-\*!"\']|[\\\\].)([\pL\w\x{00A0}-\x{10FFFF}\-_"\']|[\\\\].)*)'
                : '(([\w_\-\*!"\']|[\\\\].)([\w\-_"\']|[\\\\].)*)',
            $m,
            $eatWhitespace
        )) {
            $word = $m[1];

            return true;
        }

        return false;
    }

    /**
     * Parse a placeholder
     *
     * @param string $placeholder
     *
     * @return boolean
     */
    protected function placeholder(&$placeholder)
    {
        if ($this->match(
            $this->utf8
                ? '([\pL\w\-_]+)'
                : '([\w\-_]+)',
            $m
        )) {
            $placeholder = $m[1];

            return true;
        }
        if ($this->interpolation($placeholder)) {
            return true;
        }

        return false;
    }

    /**
     * Parse a url
     *
     * @param array $out
     *
     * @return boolean
     */
    protected function url(&$out)
    {
        if ($this->match('(url\(\s*(["\']?)([^)]+)\2\s*\))', $m)) {
            $out = [Type::T_STRING, '', ['url(' . $m[2] . $m[3] . $m[2] . ')']];

            return true;
        }

        return false;
    }

    /**
     * Consume an end of statement delimiter
     *
     * @return boolean
     */
    protected function end()
    {
        if ($this->matchChar(';')) {
            return true;
        }

        if ($this->count === strlen($this->buffer) || $this->buffer[$this->count] === '}') {
            // if there is end of file or a closing block next then we don't need a ;
            return true;
        }

        return false;
    }

    /**
     * Strip assignment flag from the list
     *
     * @param array $value
     *
     * @return array
     */
    protected function stripAssignmentFlags(&$value)
    {
        $flags = [];

        for ($token = &$value; $token[0] === Type::T_LIST && ($s = count($token[2])); $token = &$lastNode) {
            $lastNode = &$token[2][$s - 1];

            while ($lastNode[0] === Type::T_KEYWORD && in_array($lastNode[1], ['!default', '!global'])) {
                array_pop($token[2]);

                $node = end($token[2]);

                $token = $this->flattenList($token);

                $flags[] = $lastNode[1];

                $lastNode = $node;
            }
        }

        return $flags;
    }

    /**
     * Strip optional flag from selector list
     *
     * @param array $selectors
     *
     * @return string
     */
    protected function stripOptionalFlag(&$selectors)
    {
        $optional = false;

        $selector = end($selectors);
        $part = end($selector);

        if ($part === ['!optional']) {
            array_pop($selectors[count($selectors) - 1]);

            $optional = true;
        }

        return $optional;
    }

    /**
     * Turn list of length 1 into value type
     *
     * @param array $value
     *
     * @return array
     */
    protected function flattenList($value)
    {
        if ($value[0] === Type::T_LIST && count($value[2]) === 1) {
            return $this->flattenList($value[2][0]);
        }

        return $value;
    }

    /**
     * @deprecated
     *
     * {@internal
     *     advance counter to next occurrence of $what
     *     $until - don't include $what in advance
     *     $allowNewline, if string, will be used as valid char set
     * }}
     */
    protected function to($what, &$out, $until = false, $allowNewline = false)
    {
        if (is_string($allowNewline)) {
            $validChars = $allowNewline;
        } else {
            $validChars = $allowNewline ? '.' : "[^\n]";
        }

        if (! $this->match('(' . $validChars . '*?)' . $this->pregQuote($what), $m, ! $until)) {
            return false;
        }

        if ($until) {
            $this->count -= strlen($what); // give back $what
        }

        $out = $m[1];

        return true;
    }

    /**
     * @deprecated
     */
    protected function show()
    {
        if ($this->peek("(.*?)(\n|$)", $m, $this->count)) {
            return $m[1];
        }

        return '';
    }

    /**
     * Quote regular expression
     *
     * @param string $what
     *
     * @return string
     */
    private function pregQuote($what)
    {
        return preg_quote($what, '/');
    }

    /**
     * Extract line numbers from buffer
     *
     * @param string $buffer
     */
    private function extractLineNumbers($buffer)
    {
        $this->sourcePositions = [0 => 0];
        $prev = 0;

        while (($pos = strpos($buffer, "\n", $prev)) !== false) {
            $this->sourcePositions[] = $pos;
            $prev = $pos + 1;
        }

        $this->sourcePositions[] = strlen($buffer);

        if (substr($buffer, -1) !== "\n") {
            $this->sourcePositions[] = strlen($buffer) + 1;
        }
    }

    /**
     * Get source line number and column (given character position in the buffer)
     *
     * @param integer $pos
     *
     * @return array
     */
    private function getSourcePosition($pos)
    {
        $low = 0;
        $high = count($this->sourcePositions);

        while ($low < $high) {
            $mid = (int) (($high + $low) / 2);

            if ($pos < $this->sourcePositions[$mid]) {
                $high = $mid - 1;
                continue;
            }

            if ($pos >= $this->sourcePositions[$mid + 1]) {
                $low = $mid + 1;
                continue;
            }

            return [$mid + 1, $pos - $this->sourcePositions[$mid]];
        }

        return [$low + 1, $pos - $this->sourcePositions[$low]];
    }

    /**
     * Save internal encoding
     */
    private function saveEncoding()
    {
        if (version_compare(PHP_VERSION, '7.2.0') >= 0) {
            return;
        }

        $iniDirective = 'mbstring' . '.func_overload'; // deprecated in PHP 7.2

        if (ini_get($iniDirective) & 2) {
            $this->encoding = mb_internal_encoding();

            mb_internal_encoding('iso-8859-1');
        }
    }

    /**
     * Restore internal encoding
     */
    private function restoreEncoding()
    {
        if ($this->encoding) {
            mb_internal_encoding($this->encoding);
        }
    }
}
vendor/leafo/scssphp/src/Version.php000060400000000470150750356260013545 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp;

/**
 * SCSSPHP version
 *
 * @author Leaf Corcoran <leafot@gmail.com>
 */
class Version
{
    const VERSION = 'v0.8.4';
}
vendor/leafo/scssphp/src/Util.php000060400000003502150750356260013034 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp;

use Leafo\ScssPhp\Base\Range;
use Leafo\ScssPhp\Exception\RangeException;

/**
 * Utilty functions
 *
 * @author Anthon Pang <anthon.pang@gmail.com>
 */
class Util
{
    /**
     * Asserts that `value` falls within `range` (inclusive), leaving
     * room for slight floating-point errors.
     *
     * @param string                    $name  The name of the value. Used in the error message.
     * @param \Leafo\ScssPhp\Base\Range $range Range of values.
     * @param array                     $value The value to check.
     * @param string                    $unit  The unit of the value. Used in error reporting.
     *
     * @return mixed `value` adjusted to fall within range, if it was outside by a floating-point margin.
     *
     * @throws \Leafo\ScssPhp\Exception\RangeException
     */
    public static function checkRange($name, Range $range, $value, $unit = '')
    {
        $val = $value[1];
        $grace = new Range(-0.00001, 0.00001);

        if ($range->includes($val)) {
            return $val;
        }

        if ($grace->includes($val - $range->first)) {
            return $range->first;
        }

        if ($grace->includes($val - $range->last)) {
            return $range->last;
        }

        throw new RangeException("$name {$val} must be between {$range->first} and {$range->last}$unit");
    }

    /**
     * Encode URI component
     *
     * @param string $string
     *
     * @return string
     */
    public static function encodeURIComponent($string)
    {
        $revert = ['%21' => '!', '%2A' => '*', '%27' => "'", '%28' => '(', '%29' => ')'];

        return strtr(rawurlencode($string), $revert);
    }
}
vendor/leafo/scssphp/src/Compiler/Environment.php000060400000001165150750356260016200 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp\Compiler;

/**
 * Compiler environment
 *
 * @author Anthon Pang <anthon.pang@gmail.com>
 */
class Environment
{
    /**
     * @var \Leafo\ScssPhp\Block
     */
    public $block;

    /**
     * @var \Leafo\ScssPhp\Compiler\Environment
     */
    public $parent;

    /**
     * @var array
     */
    public $store;

    /**
     * @var array
     */
    public $storeUnreduced;

    /**
     * @var integer
     */
    public $depth;
}
vendor/leafo/scssphp/src/Exception/ParserException.php000060400000000512150750356260017166 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp\Exception;

/**
 * Parser Exception
 *
 * @author Oleksandr Savchenko <traveltino@gmail.com>
 */
class ParserException extends \Exception
{
}
vendor/leafo/scssphp/src/Exception/RangeException.php000060400000000501150750356260016764 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp\Exception;

/**
 * Range exception
 *
 * @author Anthon Pang <anthon.pang@gmail.com>
 */
class RangeException extends \Exception
{
}
vendor/leafo/scssphp/src/Exception/CompilerException.php000060400000000516150750356260017510 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp\Exception;

/**
 * Compiler exception
 *
 * @author Oleksandr Savchenko <traveltino@gmail.com>
 */
class CompilerException extends \Exception
{
}
vendor/leafo/scssphp/src/Exception/ServerException.php000060400000000503150750356260017200 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp\Exception;

/**
 * Server Exception
 *
 * @author Anthon Pang <anthon.pang@gmail.com>
 */
class ServerException extends \Exception
{
}
vendor/leafo/scssphp/src/Block.php000060400000001570150750356260013154 0ustar00<?php
/**
 * SCSSPHP
 *
 * @copyright 2012-2018 Leaf Corcoran
 *
 * @license http://opensource.org/licenses/MIT MIT
 *
 * @link http://leafo.github.io/scssphp
 */

namespace Leafo\ScssPhp;

/**
 * Block
 *
 * @author Anthon Pang <anthon.pang@gmail.com>
 */
class Block
{
    /**
     * @var string
     */
    public $type;

    /**
     * @var \Leafo\ScssPhp\Block
     */
    public $parent;

    /**
     * @var string
     */
    public $sourceName;

    /**
     * @var integer
     */
    public $sourceIndex;

    /**
     * @var integer
     */
    public $sourceLine;

    /**
     * @var integer
     */
    public $sourceColumn;

    /**
     * @var array
     */
    public $selectors;

    /**
     * @var array
     */
    public $comments;

    /**
     * @var array
     */
    public $children;

    /**
     * @var \Leafo\ScssPhp\Block
     */
    public $selfParent;
}
vendor/leafo/scssphp/scss.inc.php000060400000003153150750356260013055 0ustar00<?php
if (version_compare(PHP_VERSION, '5.4') < 0) {
    throw new \Exception('scssphp requires PHP 5.4 or above');
}

if (! class_exists('Leafo\ScssPhp\Version', false)) {
    include_once __DIR__ . '/src/Base/Range.php';
    include_once __DIR__ . '/src/Block.php';
    include_once __DIR__ . '/src/Cache.php';
    include_once __DIR__ . '/src/Colors.php';
    include_once __DIR__ . '/src/Compiler.php';
    include_once __DIR__ . '/src/Compiler/Environment.php';
    include_once __DIR__ . '/src/Exception/CompilerException.php';
    include_once __DIR__ . '/src/Exception/ParserException.php';
    include_once __DIR__ . '/src/Exception/RangeException.php';
    include_once __DIR__ . '/src/Exception/ServerException.php';
    include_once __DIR__ . '/src/Formatter.php';
    include_once __DIR__ . '/src/Formatter/Compact.php';
    include_once __DIR__ . '/src/Formatter/Compressed.php';
    include_once __DIR__ . '/src/Formatter/Crunched.php';
    include_once __DIR__ . '/src/Formatter/Debug.php';
    include_once __DIR__ . '/src/Formatter/Expanded.php';
    include_once __DIR__ . '/src/Formatter/Nested.php';
    include_once __DIR__ . '/src/Formatter/OutputBlock.php';
    include_once __DIR__ . '/src/Node.php';
    include_once __DIR__ . '/src/Node/Number.php';
    include_once __DIR__ . '/src/Parser.php';
    include_once __DIR__ . '/src/SourceMap/Base64.php';
    include_once __DIR__ . '/src/SourceMap/Base64VLQ.php';
    include_once __DIR__ . '/src/SourceMap/SourceMapGenerator.php';
    include_once __DIR__ . '/src/Type.php';
    include_once __DIR__ . '/src/Util.php';
    include_once __DIR__ . '/src/Version.php';
}
vendor/.htaccess000044400000000177150750356260007653 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>bootstrap.php000060400000000665150750356260007306 0ustar00<?php

/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

include __DIR__ . '/Loader.php';

return \Gantry5\Loader::get();
composer.lock000060400000106534150750356260007263 0ustar00{
    "_readme": [
        "This file locks the dependencies of your project to a known state",
        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
        "This file is @generated automatically"
    ],
    "content-hash": "f03f176a8d30aa23c9c08489789a8c68",
    "packages": [
        {
            "name": "erusev/parsedown",
            "version": "1.7.4",
            "source": {
                "type": "git",
                "url": "https://github.com/erusev/parsedown.git",
                "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/erusev/parsedown/zipball/cb17b6477dfff935958ba01325f2e8a2bfa6dab3",
                "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3",
                "shasum": ""
            },
            "require": {
                "ext-mbstring": "*",
                "php": ">=5.3.0"
            },
            "require-dev": {
                "phpunit/phpunit": "^4.8.35"
            },
            "type": "library",
            "autoload": {
                "psr-0": {
                    "Parsedown": ""
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Emanuil Rusev",
                    "email": "hello@erusev.com",
                    "homepage": "http://erusev.com"
                }
            ],
            "description": "Parser for Markdown.",
            "homepage": "http://parsedown.org",
            "keywords": [
                "markdown",
                "parser"
            ],
            "time": "2019-12-30T22:54:17+00:00"
        },
        {
            "name": "erusev/parsedown-extra",
            "version": "0.7.1",
            "source": {
                "type": "git",
                "url": "https://github.com/erusev/parsedown-extra.git",
                "reference": "0db5cce7354e4b76f155d092ab5eb3981c21258c"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/erusev/parsedown-extra/zipball/0db5cce7354e4b76f155d092ab5eb3981c21258c",
                "reference": "0db5cce7354e4b76f155d092ab5eb3981c21258c",
                "shasum": ""
            },
            "require": {
                "erusev/parsedown": "~1.4"
            },
            "type": "library",
            "autoload": {
                "psr-0": {
                    "ParsedownExtra": ""
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Emanuil Rusev",
                    "email": "hello@erusev.com",
                    "homepage": "http://erusev.com"
                }
            ],
            "description": "An extension of Parsedown that adds support for Markdown Extra.",
            "homepage": "https://github.com/erusev/parsedown-extra",
            "keywords": [
                "markdown",
                "markdown extra",
                "parsedown",
                "parser"
            ],
            "time": "2015-11-01T10:19:22+00:00"
        },
        {
            "name": "filp/whoops",
            "version": "2.5.1",
            "source": {
                "type": "git",
                "url": "https://github.com/filp/whoops.git",
                "reference": "ee9699e79d8fcdd15c107e035d7b965e4fa854ac"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/filp/whoops/zipball/ee9699e79d8fcdd15c107e035d7b965e4fa854ac",
                "reference": "ee9699e79d8fcdd15c107e035d7b965e4fa854ac",
                "shasum": ""
            },
            "require": {
                "php": "^5.5.9 || ^7.0",
                "psr/log": "^1.0.1"
            },
            "require-dev": {
                "mockery/mockery": "^0.9 || ^1.0",
                "phpunit/phpunit": "^4.8.35 || ^5.7",
                "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0"
            },
            "suggest": {
                "symfony/var-dumper": "Pretty print complex values better with var-dumper available",
                "whoops/soap": "Formats errors as SOAP responses"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "2.2-dev"
                }
            },
            "autoload": {
                "psr-4": {
                    "Whoops\\": "src/Whoops/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Filipe Dobreira",
                    "homepage": "https://github.com/filp",
                    "role": "Developer"
                }
            ],
            "description": "php error handling for cool kids",
            "homepage": "https://filp.github.io/whoops/",
            "keywords": [
                "error",
                "exception",
                "handling",
                "library",
                "throwable",
                "whoops"
            ],
            "time": "2019-12-21T10:00:00+00:00"
        },
        {
            "name": "leafo/scssphp",
            "version": "v0.8.4",
            "source": {
                "type": "git",
                "url": "https://github.com/leafo/scssphp.git",
                "reference": "b9cdea3e42c3bcb1a9faafd04ccce4e8ec860ad9"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/leafo/scssphp/zipball/b9cdea3e42c3bcb1a9faafd04ccce4e8ec860ad9",
                "reference": "b9cdea3e42c3bcb1a9faafd04ccce4e8ec860ad9",
                "shasum": ""
            },
            "archive": {
                "exclude": [
                    "/Makefile",
                    "/.gitattributes",
                    "/.gitignore",
                    "/.travis.yml",
                    "/phpunit.xml.dist",
                    "/tests"
                ]
            },
            "require": {
                "php": "^5.4.0 || ^7"
            },
            "require-dev": {
                "phpunit/phpunit": "~4.6",
                "squizlabs/php_codesniffer": "~2.5",
                "twbs/bootstrap": "~4.3",
                "zurb/foundation": "~6.5"
            },
            "bin": [
                "bin/pscss"
            ],
            "type": "library",
            "autoload": {
                "psr-4": {
                    "Leafo\\ScssPhp\\": "src/"
                }
            },
            "autoload-dev": {
                "psr-4": {
                    "Leafo\\ScssPhp\\Test\\": "tests/"
                }
            },
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Leaf Corcoran",
                    "email": "leafot@gmail.com",
                    "homepage": "http://leafo.net"
                }
            ],
            "description": "scssphp is a compiler for SCSS written in PHP.",
            "homepage": "http://leafo.github.io/scssphp/",
            "keywords": [
                "css",
                "less",
                "sass",
                "scss",
                "stylesheet"
            ],
            "support": {
                "source": "https://github.com/leafo/scssphp/tree/v0.8.4",
                "issues": "https://github.com/leafo/scssphp/issues"
            },
            "abandoned": "scssphp/scssphp",
            "time": "2019-06-18T21:15:44+00:00"
        },
        {
            "name": "pimple/pimple",
            "version": "v3.2.3",
            "source": {
                "type": "git",
                "url": "https://github.com/silexphp/Pimple.git",
                "reference": "9e403941ef9d65d20cba7d54e29fe906db42cf32"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/silexphp/Pimple/zipball/9e403941ef9d65d20cba7d54e29fe906db42cf32",
                "reference": "9e403941ef9d65d20cba7d54e29fe906db42cf32",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.0",
                "psr/container": "^1.0"
            },
            "require-dev": {
                "symfony/phpunit-bridge": "^3.2"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "3.2.x-dev"
                }
            },
            "autoload": {
                "psr-0": {
                    "Pimple": "src/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Fabien Potencier",
                    "email": "fabien@symfony.com"
                }
            ],
            "description": "Pimple, a simple Dependency Injection Container",
            "homepage": "http://pimple.sensiolabs.org",
            "keywords": [
                "container",
                "dependency injection"
            ],
            "time": "2018-01-21T07:42:36+00:00"
        },
        {
            "name": "psr/container",
            "version": "1.0.0",
            "source": {
                "type": "git",
                "url": "https://github.com/php-fig/container.git",
                "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
                "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.0"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.0.x-dev"
                }
            },
            "autoload": {
                "psr-4": {
                    "Psr\\Container\\": "src/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "PHP-FIG",
                    "homepage": "http://www.php-fig.org/"
                }
            ],
            "description": "Common Container Interface (PHP FIG PSR-11)",
            "homepage": "https://github.com/php-fig/container",
            "keywords": [
                "PSR-11",
                "container",
                "container-interface",
                "container-interop",
                "psr"
            ],
            "time": "2017-02-14T16:28:37+00:00"
        },
        {
            "name": "psr/log",
            "version": "1.1.3",
            "source": {
                "type": "git",
                "url": "https://github.com/php-fig/log.git",
                "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
                "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.0"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.1.x-dev"
                }
            },
            "autoload": {
                "psr-4": {
                    "Psr\\Log\\": "Psr/Log/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "PHP-FIG",
                    "homepage": "http://www.php-fig.org/"
                }
            ],
            "description": "Common interface for logging libraries",
            "homepage": "https://github.com/php-fig/log",
            "keywords": [
                "log",
                "psr",
                "psr-3"
            ],
            "time": "2020-03-23T09:12:05+00:00"
        },
        {
            "name": "rockettheme/toolbox",
            "version": "1.4.7",
            "source": {
                "type": "git",
                "url": "https://github.com/rockettheme/toolbox.git",
                "reference": "6a86bc0607884d2194260b6b72d67333e0141585"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/rockettheme/toolbox/zipball/6a86bc0607884d2194260b6b72d67333e0141585",
                "reference": "6a86bc0607884d2194260b6b72d67333e0141585",
                "shasum": ""
            },
            "require": {
                "ext-json": "*",
                "php": ">=5.4.0",
                "pimple/pimple": "~3.0",
                "symfony/event-dispatcher": ">2.5",
                "symfony/yaml": ">2.5"
            },
            "require-dev": {
                "phpunit/phpunit": "~6"
            },
            "type": "library",
            "autoload": {
                "psr-4": {
                    "RocketTheme\\Toolbox\\ArrayTraits\\": "ArrayTraits/src",
                    "RocketTheme\\Toolbox\\Blueprints\\": "Blueprints/src",
                    "RocketTheme\\Toolbox\\Compat\\": "Compat/src",
                    "RocketTheme\\Toolbox\\DI\\": "DI/src",
                    "RocketTheme\\Toolbox\\Event\\": "Event/src",
                    "RocketTheme\\Toolbox\\File\\": "File/src",
                    "RocketTheme\\Toolbox\\ResourceLocator\\": "ResourceLocator/src",
                    "RocketTheme\\Toolbox\\Session\\": "Session/src",
                    "RocketTheme\\Toolbox\\StreamWrapper\\": "StreamWrapper/src"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "description": "RocketTheme Toolbox Library",
            "homepage": "http://www.rockettheme.com",
            "keywords": [
                "php",
                "rockettheme"
            ],
            "time": "2020-03-19T18:24:40+00:00"
        },
        {
            "name": "symfony/event-dispatcher",
            "version": "v2.8.52",
            "source": {
                "type": "git",
                "url": "https://github.com/symfony/event-dispatcher.git",
                "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a77e974a5fecb4398833b0709210e3d5e334ffb0",
                "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.9"
            },
            "require-dev": {
                "psr/log": "~1.0",
                "symfony/config": "^2.0.5|~3.0.0",
                "symfony/dependency-injection": "~2.6|~3.0.0",
                "symfony/expression-language": "~2.6|~3.0.0",
                "symfony/stopwatch": "~2.3|~3.0.0"
            },
            "suggest": {
                "symfony/dependency-injection": "",
                "symfony/http-kernel": ""
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "2.8-dev"
                }
            },
            "autoload": {
                "psr-4": {
                    "Symfony\\Component\\EventDispatcher\\": ""
                },
                "exclude-from-classmap": [
                    "/Tests/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Fabien Potencier",
                    "email": "fabien@symfony.com"
                },
                {
                    "name": "Symfony Community",
                    "homepage": "https://symfony.com/contributors"
                }
            ],
            "description": "Symfony EventDispatcher Component",
            "homepage": "https://symfony.com",
            "time": "2018-11-21T14:20:20+00:00"
        },
        {
            "name": "symfony/polyfill-ctype",
            "version": "v1.15.0",
            "source": {
                "type": "git",
                "url": "https://github.com/symfony/polyfill-ctype.git",
                "reference": "4719fa9c18b0464d399f1a63bf624b42b6fa8d14"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/4719fa9c18b0464d399f1a63bf624b42b6fa8d14",
                "reference": "4719fa9c18b0464d399f1a63bf624b42b6fa8d14",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.3"
            },
            "suggest": {
                "ext-ctype": "For best performance"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.15-dev"
                }
            },
            "autoload": {
                "psr-4": {
                    "Symfony\\Polyfill\\Ctype\\": ""
                },
                "files": [
                    "bootstrap.php"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Gert de Pagter",
                    "email": "BackEndTea@gmail.com"
                },
                {
                    "name": "Symfony Community",
                    "homepage": "https://symfony.com/contributors"
                }
            ],
            "description": "Symfony polyfill for ctype functions",
            "homepage": "https://symfony.com",
            "keywords": [
                "compatibility",
                "ctype",
                "polyfill",
                "portable"
            ],
            "time": "2020-02-27T09:26:54+00:00"
        },
        {
            "name": "symfony/yaml",
            "version": "v2.8.52",
            "source": {
                "type": "git",
                "url": "https://github.com/symfony/yaml.git",
                "reference": "02c1859112aa779d9ab394ae4f3381911d84052b"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/symfony/yaml/zipball/02c1859112aa779d9ab394ae4f3381911d84052b",
                "reference": "02c1859112aa779d9ab394ae4f3381911d84052b",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.9",
                "symfony/polyfill-ctype": "~1.8"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "2.8-dev"
                }
            },
            "autoload": {
                "psr-4": {
                    "Symfony\\Component\\Yaml\\": ""
                },
                "exclude-from-classmap": [
                    "/Tests/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Fabien Potencier",
                    "email": "fabien@symfony.com"
                },
                {
                    "name": "Symfony Community",
                    "homepage": "https://symfony.com/contributors"
                }
            ],
            "description": "Symfony Yaml Component",
            "homepage": "https://symfony.com",
            "time": "2018-11-11T11:18:13+00:00"
        },
        {
            "name": "twig/twig",
            "version": "v1.42.5",
            "source": {
                "type": "git",
                "url": "https://github.com/twigphp/Twig.git",
                "reference": "87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/twigphp/Twig/zipball/87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e",
                "reference": "87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e",
                "shasum": ""
            },
            "require": {
                "php": ">=5.5.0",
                "symfony/polyfill-ctype": "^1.8"
            },
            "require-dev": {
                "psr/container": "^1.0",
                "symfony/phpunit-bridge": "^4.4|^5.0"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.42-dev"
                }
            },
            "autoload": {
                "psr-0": {
                    "Twig_": "lib/"
                },
                "psr-4": {
                    "Twig\\": "src/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Fabien Potencier",
                    "email": "fabien@symfony.com",
                    "homepage": "http://fabien.potencier.org",
                    "role": "Lead Developer"
                },
                {
                    "name": "Twig Team",
                    "role": "Contributors"
                },
                {
                    "name": "Armin Ronacher",
                    "email": "armin.ronacher@active-4.com",
                    "role": "Project Founder"
                }
            ],
            "description": "Twig, the flexible, fast, and secure template language for PHP",
            "homepage": "https://twig.symfony.com",
            "keywords": [
                "templating"
            ],
            "time": "2020-02-11T05:59:23+00:00"
        }
    ],
    "packages-dev": [
        {
            "name": "phpunit/php-code-coverage",
            "version": "1.2.18",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
                "reference": "fe2466802556d3fe4e4d1d58ffd3ccfd0a19be0b"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/fe2466802556d3fe4e4d1d58ffd3ccfd0a19be0b",
                "reference": "fe2466802556d3fe4e4d1d58ffd3ccfd0a19be0b",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.3",
                "phpunit/php-file-iterator": ">=1.3.0@stable",
                "phpunit/php-text-template": ">=1.2.0@stable",
                "phpunit/php-token-stream": ">=1.1.3,<1.3.0"
            },
            "require-dev": {
                "phpunit/phpunit": "3.7.*@dev"
            },
            "suggest": {
                "ext-dom": "*",
                "ext-xdebug": ">=2.0.5"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.2.x-dev"
                }
            },
            "autoload": {
                "classmap": [
                    "PHP/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "include-path": [
                ""
            ],
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Sebastian Bergmann",
                    "email": "sb@sebastian-bergmann.de",
                    "role": "lead"
                }
            ],
            "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
            "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
            "keywords": [
                "coverage",
                "testing",
                "xunit"
            ],
            "time": "2014-09-02T10:13:14+00:00"
        },
        {
            "name": "phpunit/php-file-iterator",
            "version": "1.4.5",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
                "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4",
                "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.3"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.4.x-dev"
                }
            },
            "autoload": {
                "classmap": [
                    "src/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Sebastian Bergmann",
                    "email": "sb@sebastian-bergmann.de",
                    "role": "lead"
                }
            ],
            "description": "FilterIterator implementation that filters files based on a list of suffixes.",
            "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
            "keywords": [
                "filesystem",
                "iterator"
            ],
            "time": "2017-11-27T13:52:08+00:00"
        },
        {
            "name": "phpunit/php-text-template",
            "version": "1.2.1",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/php-text-template.git",
                "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
                "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.3"
            },
            "type": "library",
            "autoload": {
                "classmap": [
                    "src/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Sebastian Bergmann",
                    "email": "sebastian@phpunit.de",
                    "role": "lead"
                }
            ],
            "description": "Simple template engine.",
            "homepage": "https://github.com/sebastianbergmann/php-text-template/",
            "keywords": [
                "template"
            ],
            "time": "2015-06-21T13:50:34+00:00"
        },
        {
            "name": "phpunit/php-timer",
            "version": "1.0.9",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/php-timer.git",
                "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
                "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
                "shasum": ""
            },
            "require": {
                "php": "^5.3.3 || ^7.0"
            },
            "require-dev": {
                "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.0-dev"
                }
            },
            "autoload": {
                "classmap": [
                    "src/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Sebastian Bergmann",
                    "email": "sb@sebastian-bergmann.de",
                    "role": "lead"
                }
            ],
            "description": "Utility class for timing",
            "homepage": "https://github.com/sebastianbergmann/php-timer/",
            "keywords": [
                "timer"
            ],
            "time": "2017-02-26T11:10:40+00:00"
        },
        {
            "name": "phpunit/php-token-stream",
            "version": "1.2.2",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/php-token-stream.git",
                "reference": "ad4e1e23ae01b483c16f600ff1bebec184588e32"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/ad4e1e23ae01b483c16f600ff1bebec184588e32",
                "reference": "ad4e1e23ae01b483c16f600ff1bebec184588e32",
                "shasum": ""
            },
            "require": {
                "ext-tokenizer": "*",
                "php": ">=5.3.3"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.2-dev"
                }
            },
            "autoload": {
                "classmap": [
                    "PHP/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "include-path": [
                ""
            ],
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Sebastian Bergmann",
                    "email": "sb@sebastian-bergmann.de",
                    "role": "lead"
                }
            ],
            "description": "Wrapper around PHP's tokenizer extension.",
            "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
            "keywords": [
                "tokenizer"
            ],
            "time": "2014-03-03T05:10:30+00:00"
        },
        {
            "name": "phpunit/phpunit",
            "version": "3.7.38",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/phpunit.git",
                "reference": "38709dc22d519a3d1be46849868aa2ddf822bcf6"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/38709dc22d519a3d1be46849868aa2ddf822bcf6",
                "reference": "38709dc22d519a3d1be46849868aa2ddf822bcf6",
                "shasum": ""
            },
            "require": {
                "ext-ctype": "*",
                "ext-dom": "*",
                "ext-json": "*",
                "ext-pcre": "*",
                "ext-reflection": "*",
                "ext-spl": "*",
                "php": ">=5.3.3",
                "phpunit/php-code-coverage": "~1.2",
                "phpunit/php-file-iterator": "~1.3",
                "phpunit/php-text-template": "~1.1",
                "phpunit/php-timer": "~1.0",
                "phpunit/phpunit-mock-objects": "~1.2",
                "symfony/yaml": "~2.0"
            },
            "require-dev": {
                "pear-pear.php.net/pear": "1.9.4"
            },
            "suggest": {
                "phpunit/php-invoker": "~1.1"
            },
            "bin": [
                "composer/bin/phpunit"
            ],
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "3.7.x-dev"
                }
            },
            "autoload": {
                "classmap": [
                    "PHPUnit/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "include-path": [
                "",
                "../../symfony/yaml/"
            ],
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Sebastian Bergmann",
                    "email": "sebastian@phpunit.de",
                    "role": "lead"
                }
            ],
            "description": "The PHP Unit Testing framework.",
            "homepage": "http://www.phpunit.de/",
            "keywords": [
                "phpunit",
                "testing",
                "xunit"
            ],
            "time": "2014-10-17T09:04:17+00:00"
        },
        {
            "name": "phpunit/phpunit-mock-objects",
            "version": "1.2.3",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
                "reference": "5794e3c5c5ba0fb037b11d8151add2a07fa82875"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/5794e3c5c5ba0fb037b11d8151add2a07fa82875",
                "reference": "5794e3c5c5ba0fb037b11d8151add2a07fa82875",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.3",
                "phpunit/php-text-template": ">=1.1.1@stable"
            },
            "suggest": {
                "ext-soap": "*"
            },
            "type": "library",
            "autoload": {
                "classmap": [
                    "PHPUnit/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "include-path": [
                ""
            ],
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Sebastian Bergmann",
                    "email": "sb@sebastian-bergmann.de",
                    "role": "lead"
                }
            ],
            "description": "Mock Object library for PHPUnit",
            "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
            "keywords": [
                "mock",
                "xunit"
            ],
            "abandoned": true,
            "time": "2013-01-13T10:24:48+00:00"
        }
    ],
    "aliases": [],
    "minimum-stability": "stable",
    "stability-flags": [],
    "prefer-stable": false,
    "prefer-lowest": false,
    "platform": {
        "php": ">=5.5.9"
    },
    "platform-dev": [],
    "platform-overrides": {
        "php": "5.5.9"
    }
}
Loader.php000060400000001367150750356260006477 0ustar00<?php

/**
 * @package   Gantry5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   Dual License: MIT or GNU/GPLv2 and later
 *
 * http://opensource.org/licenses/MIT
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Gantry Framework code that extends GPL code is considered GNU/GPLv2 and later
 */

namespace Gantry5;

abstract class Loader
{
    public static function setup()
    {
        self::get();
    }

    /**
     * @return mixed
     */
    public static function get()
    {
        static $loader;

        if (!$loader) {
            require_once __DIR__ . '/RealLoader.php';
            $loader = RealLoader::getClassLoader();
        }

        return $loader;
    }
}
composer.json000060400000001342150750356260007273 0ustar00{
    "name": "gantry/joomla",
    "description": "Gantry Framework Library",
    "license": "GPLv2",

    "require": {
        "php": ">=5.5.9",
        "symfony/event-dispatcher": "~2.8",
        "symfony/yaml": "~2.8",
        "twig/twig": "~1.41",
        "pimple/pimple": "~3.0",
        "filp/whoops": "~2.5.0",
        "rockettheme/toolbox": "~1.3",
        "leafo/scssphp": "~0.8",
        "erusev/parsedown-extra": "~0.7.0"
    },
    "require-dev": {
        "phpunit/phpunit": "3.7.*"
    },
    "autoload": {
        "psr-4": {
            "Gantry\\": "classes/Gantry",
            "Leafo\\ScssPhp\\": "classes/Leafo/ScssPhp"
        }
    },
    "config": {
        "platform": {
            "php": "5.5.9"
        }
    }
}
engines/nucleus/MD5SUMS000060400000056421150753125200010676 0ustar00MD5SUMS	d41d8cd98f00b204e9800998ecf8427e
admin/blueprints/layout/block.yaml	2e01111b11c2c72e02d80ee414af0af1
admin/blueprints/layout/container.yaml	89be393bb89d2001ff9cb87bcc8fff3f
admin/blueprints/layout/inheritance/atom.yaml	704613a9399fd688e380639b54dddfb1
admin/blueprints/layout/inheritance/messages/default.yaml	d17d8794141f881951f6736c6161e557
admin/blueprints/layout/inheritance/messages/empty.yaml	6d8d82138f40b978ff86be17de28ee5d
admin/blueprints/layout/inheritance/messages/inherited.yaml	87dad6c95bf9c7233021c26ff66c862e
admin/blueprints/layout/inheritance/offcanvas.yaml	86dfe47a88f2dd09810d5748b4e90026
admin/blueprints/layout/inheritance/particle.yaml	d16d61ba028938e7be7376f08735e0ba
admin/blueprints/layout/inheritance/position.yaml	59fb673da7296e6b5faf18f33370cde7
admin/blueprints/layout/inheritance/section.yaml	bd427db79f1fe01ad482c8424d737dee
admin/blueprints/layout/inheritance/system.yaml	7d57438d297b4f7f37b82e872761b73f
admin/blueprints/layout/offcanvas.yaml	2398c92803521cfd34aff0421ce543fa
admin/blueprints/layout/section.yaml	0404ef796ee6b229886fb5d663263cf0
admin/blueprints/menu/block.yaml	da3b3b7948002ba1c9d84618ab67fb08
admin/blueprints/position/chrome.yaml	9706c328779547e22edd19147b02b2ab
blueprints/page/assets.yaml	c68b786eee9ccd0ed6a1c947ee62cbb9
blueprints/page/body.yaml	7f6fc9e8368dbfcdb7ca1846d3394839
blueprints/page/fontawesome.yaml	abbafb56a806437cde3c22eabb80bbf5
blueprints/page/head.yaml	da69f501e6c1adbf91e2e14d12ee62fe
css-compiled/bootstrap5-rtl.css	ef9800f64c5ac65eaa9f974636adaf96
css-compiled/bootstrap5.css	7607268074c08a998c78d888e8be02ac
css-compiled/joomla.css	0beeb71afad57bbb183394dfebd635ff
css-compiled/nucleus.css	52101adde6040037d0cb82132179ad71
images/select-bg-active-rtl.svg	fba1f6dc1ef5cbf28e00351ea1d311c1
images/select-bg-active.svg	86a33e7b1e2b0c4ed98ca9630a66b9a4
images/select-bg-rtl.svg	e50af231567cd9e4934ca50e2abcfb98
images/select-bg.svg	5ebba08c616374cf5679048ad76ebae9
layouts/_joomla_-_beez3.yaml	7d77be36f4765da38b8f709a8633d3be
layouts/_joomla_-_gantry4.yaml	f01ef72766e54eef2966b2a4727a81d3
layouts/_joomla_-_protostar.yaml	9d7f02c310a41c6ad48d8f39e366e9bc
particles/analytics.html.twig	4a5e757ad4706c5559874a0597122feb
particles/analytics.yaml	4776910a422e7fafa4cc3bb6e3523bd7
particles/assets.html.twig	c3db29fbbb5685b1cb21874da96f9a3e
particles/assets.yaml	7301addeae37a1b8a99dd4a7865ce31f
particles/branding.html.twig	162bcc6af168b8c113a3d365c8e6c7b4
particles/branding.yaml	e17cb1fcbad0c9af4d9119f8544d3bc9
particles/content.yaml	68d6d57c5f088d16e2c6b03e0c8753e0
particles/contentarray.html.twig	52540362d38a6442fb3c78f992791c3c
particles/contentarray.yaml	ad0819d1dd23f46f56a6b47fd4c1227a
particles/copyright.html.twig	9cdfc98efcfa0bd5f37c012bad8e2345
particles/copyright.yaml	2f80b0c680382d94eabc8c83478ff979
particles/custom.html.twig	9c932ef8b906302b739c67bd5949b7f1
particles/custom.yaml	8ff3b88a22db851900e2897c8d04fe0e
particles/date.html.twig	0d9708b39941aaf9a57ffadc1a2ddf4f
particles/date.yaml	73e0bafc76ce83f88b232ae632ec1311
particles/frameworks.html.twig	565c42e0414569acab41ff9b177d3d93
particles/frameworks.yaml	27457052947adc263ed1342c0befa5b1
particles/lightcase.html.twig	a612dbb34c71524d934349ffa1bf3914
particles/lightcase.yaml	bbfbdf57c5cdf792818c8b5aab63bb4d
particles/logo.html.twig	1294767187ce1dc2bb2f97d458fda77f
particles/logo.yaml	7bc875897eb4eb666662b645001e27a1
particles/menu.html.twig	bb236b7b70ea503ade68e108885cee85
particles/menu.yaml	eac4a2a7005f604c9cb0d5048748a2d0
particles/messages.yaml	9a57ab2745b1c23d47a8d346f49fe0f6
particles/mobile-menu.html.twig	69bcf29977af79736ef1f3eac86bf62f
particles/mobile-menu.yaml	851c59ad228856aa6b43666b642e46d7
particles/module.html.twig	56c551dc497a256f5a49ae1e940bb168
particles/module.yaml	90cff2f06bcab795c182b33f0cf692df
particles/position.html.twig	b278930b00e1e7cab54feab033bf3442
particles/position.yaml	a25ef0d2dfff156d3f9b5e361598242e
particles/social.html.twig	f723e0cf478bbff46998ba521cc8765f
particles/social.yaml	4937212523589ab6bd4c8483454688f3
particles/spacer.yaml	1ef9e2b0ae17f0ab7a7481533962a9b0
particles/totop.html.twig	a7002ea16df648bf5780624d6ba19aa7
particles/totop.yaml	27fd89ee52b70af3337800f16447593d
scss/bootstrap5.scss	7515cdbd189a37ddb3a7d8c4925a5d16
scss/configuration/nucleus/_base.scss	8be7311db816eae644364eb419124cfc
scss/configuration/nucleus/_breakpoints.scss	c0f30af637d295f875d38939de03100f
scss/configuration/nucleus/_core.scss	0036efbb69136d3f37ab258793f1eb52
scss/configuration/nucleus/_fontawesome.scss	3119af6235c8d83c669f4db4a7dad98f
scss/configuration/nucleus/_layout.scss	7a5f928e5c019d1dcd4ead9a5d6882b3
scss/configuration/nucleus/_typography.scss	1fb446977cb1416aff2aea59f116e34b
scss/custom.scss	d41d8cd98f00b204e9800998ecf8427e
scss/joomla.scss	8c3ed5d71c3224c0f5e2dc38fe4220fc
scss/joomla/_buttons.scss	b9f324281f66fa1398d145fad2324359
scss/joomla/_forms.scss	cddc2ea3cd7183aa98baf0b9f5ccf1f1
scss/joomla/_offline.scss	e6f93cb4e9ce3eaaf9cd9164357307b7
scss/joomla/_tabs.scss	2159bdcaeabca8f7597483b0a5461310
scss/joomla/_typography.scss	ba7fbc2e5b974bf4cfa4af5d425656dc
scss/joomla/_utilities.scss	6d46080b17aaeb7d91e14f931e8d0271
scss/joomla/theme/_base.scss	8e4b1bbe34ecb3ba41633032101ee070
scss/joomla/theme/_forms.scss	a219fdc29b7e795ef5937609b4bbdc1c
scss/joomla/theme/_typography.scss	005fb2e0d63fd319d1f8cbaa53811edb
scss/joomla/theme/breakpoints/_base.scss	e1c504e92ecd722386570e57fffdaa32
scss/joomla/theme/breakpoints/_bootstrap.scss	f145ceb9ec850ef724c3bee5af0cfd68
scss/joomla/theme/breakpoints/_forms.scss	2bf1f1d323170fd2691d015a457075b2
scss/joomla/theme/breakpoints/_utilities.scss	2de421570df339229e101a75762ed818
scss/nucleus.scss	df2f0a99e82ce9b5e60a2a2bbc9b677d
scss/nucleus/_core.scss	8c780db2f1dea1f823c3accabc9d142e
scss/nucleus/_flex.scss	71ecd5c612c9053e5b737cbf766d32bd
scss/nucleus/_forms.scss	f18766ef3b73ccc25678bd32622bba60
scss/nucleus/_nav.scss	044633d831e49ede09ca5a4438af2055
scss/nucleus/_offcanvas.scss	14b6f5dfe660b92728c93d78b2af6707
scss/nucleus/_sizes.scss	64e8dd8180e26298f4075b5089293dde
scss/nucleus/_typography.scss	68e850f09212761a1e9ed488b68e627b
scss/nucleus/_utilities.scss	c5c04396eab0ebe600eb7a4b3eadced8
scss/nucleus/functions/_base.scss	867d6a70eaa69b5724e192805922f5ed
scss/nucleus/functions/_direction.scss	04c0fdd436c4827807717e03f345478d
scss/nucleus/functions/_range.scss	9fbcf15e133dbb6e6c060aa22d18b265
scss/nucleus/functions/_utilities.scss	2976be2d5fc7f9e408d274d1491344bb
scss/nucleus/mixins/_base.scss	23df97c9ff31a6d2a19e8194eb72973c
scss/nucleus/mixins/_breakpoints.scss	1601d269f39f3b0f1c33e3502cb74cc9
scss/nucleus/mixins/_nav.scss	e6b2ca9d6dc5ea0d6b621d18cf927a04
scss/nucleus/mixins/_sizes.scss	f385d496b3e9d195fa327c1ad47a03eb
scss/nucleus/mixins/_typography.scss	17dd603f2848fe8be0dff44853ac3b7b
scss/nucleus/mixins/_utilities.scss	90f0ad0516351363d0debabf4a9b0e6c
scss/nucleus/theme/_alerts.scss	6658f821296fefc07b9390b502cedecf
scss/nucleus/theme/_base.scss	8a6c2621e06ec6158222407dd57c6223
scss/nucleus/theme/_flex.scss	54bef58517a26b4e1b533ee3573b638b
scss/nucleus/theme/_forms.scss	371d2533248f2084ee46a8442fb54495
scss/nucleus/theme/_typography.scss	847faf943bc9211e30061c2b0c9a45c0
scss/nucleus/theme/breakpoints/_base.scss	fc2de1732e273cfcc5848c78f1d506d5
scss/nucleus/theme/breakpoints/_flex.scss	9538f08ce24804d9758b0993ace3f080
scss/nucleus/theme/breakpoints/_utilities.scss	0b581288daa3e3541a30943e86e7e476
scss/nucleus/theme/mixins/_base.scss	8455b9d653e1e947a9dba1d3199ee1ca
scss/nucleus/theme/mixins/_typography.scss	1cb96081e08952a15ee062121edacba1
scss/vendor/bootstrap5/_accordion.scss	4f4b38b81af3b1b538d17952d3510ff5
scss/vendor/bootstrap5/_alert.scss	8998dc7d7b3ec1617402730f2f3ea3af
scss/vendor/bootstrap5/_badge.scss	010407932e86f02aefed2e15717a8d2b
scss/vendor/bootstrap5/_breadcrumb.scss	5be2578d6dc6dae15fdfa18b2ad54fc9
scss/vendor/bootstrap5/_button-group.scss	a41168202c441bd137f4eccfcadb2327
scss/vendor/bootstrap5/_buttons.scss	ea90182c1d9b42590e158de5375d676b
scss/vendor/bootstrap5/_card.scss	216de92ea12c83e8444084c01cd165bf
scss/vendor/bootstrap5/_carousel.scss	523dd733399f133828bbb809539410a4
scss/vendor/bootstrap5/_close.scss	f3eeef2d1971f30bc17b7c8b5ad69d17
scss/vendor/bootstrap5/_containers.scss	19427273129635dcacc9358c5ab4e9c3
scss/vendor/bootstrap5/_dropdown.scss	a33a6c000a09d2f092780f50fb9ebc27
scss/vendor/bootstrap5/_forms.scss	af9736f55ccf4b526ff706146ce41445
scss/vendor/bootstrap5/_functions.scss	502bd3c158af1dadcf4bfb7b80d8e163
scss/vendor/bootstrap5/_grid.scss	3ea779fe9378292e6b07dd730ce276c0
scss/vendor/bootstrap5/_helpers.scss	339a3ca239fdcdc0999416b4a4658822
scss/vendor/bootstrap5/_images.scss	218dcc5eaa6e67eb43f8c6d629eef3fc
scss/vendor/bootstrap5/_list-group.scss	a968ce8d935f8bcc33f8bb7e1cbf062a
scss/vendor/bootstrap5/_mixins.scss	e52eedd6af1b3275973cedf7e129dbf4
scss/vendor/bootstrap5/_modal.scss	41e1d12149de9312c8ac34c376c2a6fa
scss/vendor/bootstrap5/_nav.scss	6c1562d22d5f3c6f9fbdd4878791f15e
scss/vendor/bootstrap5/_navbar.scss	5db12f69a6b595b89e48114985a11d59
scss/vendor/bootstrap5/_offcanvas.scss	24087005430c6c69d7e0fcba804a0b25
scss/vendor/bootstrap5/_pagination.scss	070115deac4d5554232788d33753f3fd
scss/vendor/bootstrap5/_popover.scss	60a87713f98fa29a50f4011079ea6d83
scss/vendor/bootstrap5/_progress.scss	132a7f1006179165e039d214b7c04140
scss/vendor/bootstrap5/_reboot.scss	85b14186fd4bceb2a72aa999c245d176
scss/vendor/bootstrap5/_root.scss	cde311f6b15dceacc4193386cf96e4c5
scss/vendor/bootstrap5/_spinners.scss	68d2dbd5672715c99a7c1a8e98cbcc97
scss/vendor/bootstrap5/_tables.scss	d2f2d40bf11001cecdb53ba544da956f
scss/vendor/bootstrap5/_toasts.scss	4bcd6f8ec3c3c82460be2053c7dac136
scss/vendor/bootstrap5/_tooltip.scss	184e4512e7a003f6fc5f9c030cbc52fe
scss/vendor/bootstrap5/_transitions.scss	73188f3f282829806a8b2018a38157da
scss/vendor/bootstrap5/_type.scss	f71e850c035f717cc6ed2d3c29636643
scss/vendor/bootstrap5/_utilities.scss	93dca053c7548c2f0471b83a6cc1a106
scss/vendor/bootstrap5/_variables.scss	e51ca97215ff2bb0f8877bf31b81cebd
scss/vendor/bootstrap5/bootstrap-grid.scss	ea531a6e301930d9c173018587d2ffd0
scss/vendor/bootstrap5/bootstrap-reboot.scss	da44eb520ad30d285745196f7679cfef
scss/vendor/bootstrap5/bootstrap-utilities.scss	e6fb7eaa498e84f828beeb5271d8ada4
scss/vendor/bootstrap5/bootstrap.scss	a3267403b47cc41390cb95ca58faf525
scss/vendor/bootstrap5/forms/_floating-labels.scss	b037406b50268a902cda45d81f76d9e1
scss/vendor/bootstrap5/forms/_form-check.scss	f8156ece879454a13043df958ed780a8
scss/vendor/bootstrap5/forms/_form-control.scss	701ce56e7dc8748b98b9a059881716a3
scss/vendor/bootstrap5/forms/_form-range.scss	1485ac5108a69dea009a5cee234377bf
scss/vendor/bootstrap5/forms/_form-select.scss	5bd8a90a3072e29dccac6900b80d4695
scss/vendor/bootstrap5/forms/_form-text.scss	3c18d8708d344a21c0f2e21a7c8ad2e4
scss/vendor/bootstrap5/forms/_input-group.scss	89c79d20b83bcd45609ebfb44411881a
scss/vendor/bootstrap5/forms/_labels.scss	5cebf4f019f42de9f15a2316f7c45510
scss/vendor/bootstrap5/forms/_validation.scss	2a11a9255e117bc36e44b08820747975
scss/vendor/bootstrap5/helpers/_clearfix.scss	01ed6cc705196c6f0fe33300de134ee7
scss/vendor/bootstrap5/helpers/_colored-links.scss	06e8cdfe3d9210d196c18cd5993d7362
scss/vendor/bootstrap5/helpers/_position.scss	7a8080dca11eaf6cccbca17803f3b129
scss/vendor/bootstrap5/helpers/_ratio.scss	61857698ee98d3b99c13ed63b0e24447
scss/vendor/bootstrap5/helpers/_stretched-link.scss	1cd3650187aa8f6179952287b96335d4
scss/vendor/bootstrap5/helpers/_text-truncation.scss	7b3965903a331a539f76f4ad8bf99b52
scss/vendor/bootstrap5/helpers/_visually-hidden.scss	9b5a75ecdb0080663a8e4d2b6dcf6593
scss/vendor/bootstrap5/mixins/_alert.scss	77d50cf55468365cd02289cfe90eeeff
scss/vendor/bootstrap5/mixins/_border-radius.scss	9365ecee7a6a100704a752a9b34da011
scss/vendor/bootstrap5/mixins/_box-shadow.scss	f5a7d5f8d547ab845044b50ab0aa4ac2
scss/vendor/bootstrap5/mixins/_breakpoints.scss	9629bb2c04b47b44d22da752a2932a12
scss/vendor/bootstrap5/mixins/_buttons.scss	14962505ec45ca7448f801aabf3178c7
scss/vendor/bootstrap5/mixins/_caret.scss	723bafe1d9ff8070dcc691d050549242
scss/vendor/bootstrap5/mixins/_clearfix.scss	101843d44d8f308e5d30659c210a93a7
scss/vendor/bootstrap5/mixins/_color-scheme.scss	6f3cb289c06ab079b6cb6a1f2e74c819
scss/vendor/bootstrap5/mixins/_container.scss	81153f825e198ebcda691289675ea71e
scss/vendor/bootstrap5/mixins/_deprecate.scss	19856441739526899f902c884f3d2b58
scss/vendor/bootstrap5/mixins/_forms.scss	be8a374ed8786eece8cf66386b1bbcf4
scss/vendor/bootstrap5/mixins/_gradients.scss	98e3a535b741adfbd6b445839e279b82
scss/vendor/bootstrap5/mixins/_grid.scss	271bfd5e4ac7d8eb116661374345db34
scss/vendor/bootstrap5/mixins/_image.scss	4be5005673c8272da6d24b6742003fe7
scss/vendor/bootstrap5/mixins/_list-group.scss	f9539c99a853ef3dc6d358a9919b1c4e
scss/vendor/bootstrap5/mixins/_lists.scss	c7e34a356a8616f3ad20b7bf88c93854
scss/vendor/bootstrap5/mixins/_pagination.scss	59727102344546e4bd6e9b6cc05178e2
scss/vendor/bootstrap5/mixins/_reset-text.scss	9ec95074e21fada6e1300b443ecc3e2a
scss/vendor/bootstrap5/mixins/_resize.scss	af032cea5fd5e37d9a5a8b971e290ff4
scss/vendor/bootstrap5/mixins/_table-variants.scss	cee8035523af1959e3114f527f3ea8f9
scss/vendor/bootstrap5/mixins/_text-truncate.scss	c51a1018bf42368c45eb12d6ac16f938
scss/vendor/bootstrap5/mixins/_transition.scss	80dea9aa5861a6de307bda4a84ca780f
scss/vendor/bootstrap5/mixins/_utilities.scss	0ac2c2e0465c145dc0b0cd10a3470748
scss/vendor/bootstrap5/mixins/_visually-hidden.scss	1fedb1531be9e8751151c6c43e052bfc
scss/vendor/bootstrap5/utilities/_api.scss	2c049eea78577544284d790ee3e40fa5
scss/vendor/bootstrap5/vendor/_rfs.scss	e39df45a0fc13539398aecc65dee60fd
scss/vendor/bourbon/_bourbon-deprecate.scss	829ceba30b8f3d6d468ff08fc6a74d9c
scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss	cd05762ab391b7a64c5bab851a7ba78e
scss/vendor/bourbon/_bourbon.scss	389c8e9a4a49513acf731a485ba47fc9
scss/vendor/bourbon/addons/_border-color.scss	5b9b9a063bb1d12c321e0f558112640f
scss/vendor/bourbon/addons/_border-radius.scss	061b462e925d3f6468396dbeee7ea042
scss/vendor/bourbon/addons/_border-style.scss	f560c986c4b30503127fc607f2581e62
scss/vendor/bourbon/addons/_border-width.scss	5958286af27aa62b53ebd05c298e8981
scss/vendor/bourbon/addons/_buttons.scss	a500d867bcf314f8cd1de9b11f69ed44
scss/vendor/bourbon/addons/_clearfix.scss	7c6dd9ab9ffc50ff023df8bfa8181651
scss/vendor/bourbon/addons/_ellipsis.scss	73f6ade2b039387aa54bf353fb1d2bda
scss/vendor/bourbon/addons/_font-stacks.scss	7b833c66214bc8c2849c40015444ff49
scss/vendor/bourbon/addons/_hide-text.scss	4990bfe4f457a8077eaf82080129cf25
scss/vendor/bourbon/addons/_margin.scss	ef62077bcf94cd3b2881282c422bd412
scss/vendor/bourbon/addons/_padding.scss	2f246dc8812174d3c2aadb31f523bfb0
scss/vendor/bourbon/addons/_position.scss	4d10081001966b7e9b0153753be7bead
scss/vendor/bourbon/addons/_prefixer.scss	0bd86d993a34f5b83d5e69ee540d13e5
scss/vendor/bourbon/addons/_retina-image.scss	0c2e544d9d0f2a908426d90ef747f622
scss/vendor/bourbon/addons/_size.scss	5b81113a86f45c4a519751b523fbb606
scss/vendor/bourbon/addons/_text-inputs.scss	c719f55b1e086e38988949507cc0eed0
scss/vendor/bourbon/addons/_timing-functions.scss	09e8ff51bb57d3ed5d1cac1d6c209ffa
scss/vendor/bourbon/addons/_triangle.scss	152a8637402a8d123c3898ce5efad2d5
scss/vendor/bourbon/addons/_word-wrap.scss	d9ee61e71b144e959f79337939c8f23e
scss/vendor/bourbon/css3/_animation.scss	cbb632890c2b57a2d7a2ca9b6ec2cdd4
scss/vendor/bourbon/css3/_appearance.scss	8671855e1e3f5f6b751c0d48aed30e09
scss/vendor/bourbon/css3/_backface-visibility.scss	83342e0e21e39bed7bccc11c9c2aa5e0
scss/vendor/bourbon/css3/_background-image.scss	b48f5bf88facbef995a5cec2f6245239
scss/vendor/bourbon/css3/_background.scss	55c08abaf3d106d5a7a00525af259420
scss/vendor/bourbon/css3/_border-image.scss	fc1fe5367adc5a07e3219b3f217cd1f8
scss/vendor/bourbon/css3/_calc.scss	1697399e9247da31c6ba5faaf3e08483
scss/vendor/bourbon/css3/_columns.scss	436f13ea16e397e9e9cb728ea7b7de00
scss/vendor/bourbon/css3/_filter.scss	3fe808b381bdf8d731bc6f51b4c5d92b
scss/vendor/bourbon/css3/_flex-box.scss	1a54a5f68bdb1f1b661f8d96394cce35
scss/vendor/bourbon/css3/_font-face.scss	2f35e4ba55354f69f035f88015dfe081
scss/vendor/bourbon/css3/_font-feature-settings.scss	6289e6adf158350881f0406da9533692
scss/vendor/bourbon/css3/_hidpi-media-query.scss	4a4d9dca95fa20f33e559f52f4b75199
scss/vendor/bourbon/css3/_hyphens.scss	76b3260e2099d5a9d925090502149dc7
scss/vendor/bourbon/css3/_image-rendering.scss	a5ec98cfc8f9c10862e6c6cebb78924a
scss/vendor/bourbon/css3/_keyframes.scss	efc9bbbb91b4db93c792f7cdf80724b2
scss/vendor/bourbon/css3/_linear-gradient.scss	16f88eae4a805d11b75467eed9a46baa
scss/vendor/bourbon/css3/_perspective.scss	f872ead38c111a8347906bc6b25dad8f
scss/vendor/bourbon/css3/_placeholder.scss	c95a35134b71650d04a0263dea2e20ed
scss/vendor/bourbon/css3/_radial-gradient.scss	ba51ea59157179ee936108fcdee90c18
scss/vendor/bourbon/css3/_selection.scss	3c3d49526e580c5f392f51ed9e00d790
scss/vendor/bourbon/css3/_text-decoration.scss	983e26746eaa46b254d2028bc2832a8b
scss/vendor/bourbon/css3/_transform.scss	0002428b34403ec4ed434e0b180b75ee
scss/vendor/bourbon/css3/_transition.scss	afda550f568de90c45fad6dbb9b93e41
scss/vendor/bourbon/css3/_user-select.scss	e9e79437338cd64fc2c3379b96fc35bd
scss/vendor/bourbon/functions/_assign-inputs.scss	10a1f25d462b7a1cf1d6b7e6e97bb8d1
scss/vendor/bourbon/functions/_contains-falsy.scss	6a073df925d2522c53db4a10fafa24fb
scss/vendor/bourbon/functions/_contains.scss	c98c2a2a3f5d77c7c68f6a13b477e7d6
scss/vendor/bourbon/functions/_is-length.scss	c5599e342956a1888849309fc284579f
scss/vendor/bourbon/functions/_is-light.scss	b701ce4b7dbc548518980158b8f2b097
scss/vendor/bourbon/functions/_is-number.scss	2294ed095e3657ab4c360e22295f264f
scss/vendor/bourbon/functions/_is-size.scss	e9237232fce4e8751503d1a002b878db
scss/vendor/bourbon/functions/_modular-scale.scss	1ef73b22d53d36a3ad4a1b4c08b4e7c9
scss/vendor/bourbon/functions/_px-to-em.scss	661392477d1d3c349a250cd1a5acd424
scss/vendor/bourbon/functions/_px-to-rem.scss	40eb245245cbc088c4f9a68799b9107c
scss/vendor/bourbon/functions/_shade.scss	bf4962bf6200b1281371b64b24cacf35
scss/vendor/bourbon/functions/_strip-units.scss	72576df5e89695625790e0866604d3c5
scss/vendor/bourbon/functions/_tint.scss	29be254bfc1c711ad1d98dcc09747b58
scss/vendor/bourbon/functions/_transition-property-name.scss	8021bc306af1afc67d963bd6c2dd2b1f
scss/vendor/bourbon/functions/_unpack.scss	fc41592f7e88e9df77b9dcbdb1d021b0
scss/vendor/bourbon/helpers/_convert-units.scss	dc7d0d796cfcf55a90e8cd42f800dbf0
scss/vendor/bourbon/helpers/_directional-values.scss	e13d6144c0debf11d041c30baf5db87d
scss/vendor/bourbon/helpers/_font-source-declaration.scss	6feb2c625202d1e733cdbd3dac4d7d9c
scss/vendor/bourbon/helpers/_gradient-positions-parser.scss	1c74761eff03a61bc0683215ffe88394
scss/vendor/bourbon/helpers/_linear-angle-parser.scss	46f3f0230da9473a12a4990fb31ba6cf
scss/vendor/bourbon/helpers/_linear-gradient-parser.scss	b7633955a51889a7834184f4972e248a
scss/vendor/bourbon/helpers/_linear-positions-parser.scss	d1aa9f0c43f7f839c0b3368109b48a53
scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss	20d3964c61b5e96cb0abc1fbbca6fb62
scss/vendor/bourbon/helpers/_radial-arg-parser.scss	59fd31534704911b08160f0b9acf1f3a
scss/vendor/bourbon/helpers/_radial-gradient-parser.scss	f55d68957607d75c2e9f5634f50eb851
scss/vendor/bourbon/helpers/_radial-positions-parser.scss	18e22adc132c2dbc9c49f434deacbaba
scss/vendor/bourbon/helpers/_render-gradients.scss	b401e121044999abc263e2827f54a759
scss/vendor/bourbon/helpers/_shape-size-stripper.scss	6a02edb897aa4188787fe9a0ad06b63a
scss/vendor/bourbon/helpers/_str-to-num.scss	514b58f53df4f700b892802452339552
scss/vendor/bourbon/settings/_asset-pipeline.scss	bf57b66f74cc601f8f6145b0e79205e9
scss/vendor/bourbon/settings/_deprecation-warnings.scss	8618e8deb4be380169386bddc65f7040
scss/vendor/bourbon/settings/_prefixer.scss	f8ca8f90fd607cc593c651ceb27efeca
scss/vendor/bourbon/settings/_px-to-em.scss	af526a5742a9ecc661aac5779748523c
scss/vendor/cassiopeia/_choices.scss	645622ffaf882ed847d18ade5a6c4c72
scss/vendor/cassiopeia/_css-grid.scss	b337c7c11f2269462c6c5627a917dfad
scss/vendor/cassiopeia/_form.scss	b7d13315c16ea5e7ff3bc3c550ba672b
scss/vendor/cassiopeia/_icons.scss	a43336762b5cd7e8adfcc35cccdc1744
scss/vendor/cassiopeia/_iframe.scss	ba99a0e617e352297e14147b527feb24
scss/vendor/cassiopeia/_modal.scss	e52cfe4fd90bdaf8a993d84bfacc8c42
scss/vendor/cassiopeia/_modifiers.scss	fa436e16b06006904cee0107cd37df91
scss/vendor/cassiopeia/_searchtools.scss	88940d83f90ee54f391ad697503e7d7a
scss/vendor/cassiopeia/_toolbar.scss	02b439bf445bcc051a14427da726054d
scss/vendor/cassiopeia/_variables.scss	06468e6533934c0b3e50b55046e5f146
scss/vendor/cassiopeia/images/select-bg-active-rtl.svg	fba1f6dc1ef5cbf28e00351ea1d311c1
scss/vendor/cassiopeia/images/select-bg-active.svg	86a33e7b1e2b0c4ed98ca9630a66b9a4
scss/vendor/cassiopeia/images/select-bg-rtl.svg	e50af231567cd9e4934ca50e2abcfb98
scss/vendor/cassiopeia/images/select-bg.svg	5ebba08c616374cf5679048ad76ebae9
scss/vendor/color-schemer/_color-schemer.scss	54c73eef57a689d38671785b7237ded5
scss/vendor/color-schemer/color-schemer/_cmyk.scss	a644260e469cfdb81cacc6abf6f3e523
scss/vendor/color-schemer/color-schemer/_color-adjustments.scss	45d45ec696f021b115205c45a381acd1
scss/vendor/color-schemer/color-schemer/_color-schemer.scss	b0e4cfdddf3cb993201ea0910cd2e8e0
scss/vendor/color-schemer/color-schemer/_colorblind.scss	59e807dedb3bb6dcfb04dbcb3d47dfae
scss/vendor/color-schemer/color-schemer/_comparison.scss	76611738f7ea8d208ca0945a077c6fc4
scss/vendor/color-schemer/color-schemer/_equalize.scss	5884980e52728010e961ee989ad9f326
scss/vendor/color-schemer/color-schemer/_harmonize.scss	38dc36458ca7da9b5a5412e867e3a9cf
scss/vendor/color-schemer/color-schemer/_interpolation.scss	701cc4e7b6b7ba239e0c2bb89fbb6e96
scss/vendor/color-schemer/color-schemer/_mix.scss	adf11bc7bd7b7d76aea7aeb96dfa3fc0
scss/vendor/color-schemer/color-schemer/_mixins.scss	d7ead7f245767a2f35f6d706e499d40e
scss/vendor/color-schemer/color-schemer/_ryb.scss	4968839075b660eba7b8382d3d282dea
scss/vendor/color-schemer/color-schemer/_tint-shade.scss	d595a0390ea9b6140d36dbd2a6853193
templates/content/atom.html.twig	2760d9981476238196442c1d8a2b6675
templates/content/missing.html.twig	8442ae8de8abb03f6430b3f0262379eb
templates/content/particle.html.twig	ee2d837ab117558c8f575eb92c551453
templates/content/position.html.twig	c3fe5bb407a63286fd1a7113f7cfde22
templates/content/spacer.html.twig	625b679f8667c66393a48f53e7cd965f
templates/content/system.html.twig	8ec6dd703dc0e71b73ff86efcf87d33a
templates/content/unknown.html.twig	3e59e5db67c6f0cfb8ea7417f996d16b
templates/layout/atoms.html.twig	c1335ff9a2a401f463070cc5a18a3318
templates/layout/block.html.twig	d6201ca9f9f5a3ceb0249234b21aa7d5
templates/layout/container.html.twig	168a18d61ddb610dd4a2078cb01ddd3d
templates/layout/grid.html.twig	0511ef6713b74470a657202b2ea187bc
templates/layout/offcanvas.html.twig	04001d9f6b7c5573236c14b9a28cfa7a
templates/layout/section.html.twig	9fbd8525cbb293ea652d74bbf1aec361
templates/layout/wrapper.html.twig	80575cb54b77a5b88b8299c99fda28e1
templates/page.html.twig	d72c3386374c413acba5ea7ba499a755
templates/page_head.html.twig	7733f8efba607694f6cd048229915015
templates/partials/particle.html.twig	07935cff8475093e4c5e315985b39b99
twig/component.html.twig	abdb4071d7588181a6c4c196436b3e5d
twig/error.html.twig	53af3ecf22a84bc4e01e7f2c64c4da0d
twig/index.html.twig	46e544632529f89311fc58042a924b33
twig/offline.html.twig	f31aad1abfaedb89d95b36c7c0a6c425
twig/partials/error_head.html.twig	ac81cdedcda6505528b4c469c0332671
twig/partials/page.html.twig	9562d8f85452a3103a358c05d3f1cb6c
twig/partials/page_head.html.twig	9f5a9a2dab950ad44578b05ddc20c030
twig/raw.html.twig	74ace7bdd0a7962855032a2655a3b22b
yarn.lock	add15b7eb0d2628efd9438c69dbd6f3c
engines/nucleus/scss/joomla/theme/_base.scss000060400000000021150753125200015143 0ustar00@import "forms";
engines/nucleus/scss/joomla/theme/_forms.scss000060400000000332150753125200015364 0ustar00legend {
	font-size: $core-font-size + .3;
	line-height: $core-line-height;
}

legend small {
	font-size: $core-font-size - .2;
}

.input-prepend > .add-on,
.input-append > .add-on {
	line-height: $core-line-height;
}
engines/nucleus/scss/joomla/theme/_typography.scss000060400000000633150753125200016450 0ustar00blockquote p {
	font-size: $core-font-size + .2;
	line-height: $core-line-height;
}

blockquote small {
	line-height: $core-line-height;
}

address {
	line-height: $core-line-height;
}

code,
pre {
	font-family: $font-family-mono;
	font-size: $core-font-size - .2;
}

pre {
	font-size: $core-font-size - .2;
	line-height: $core-line-height;
}

.list-bordered,
.row-bordered {
	line-height: $core-line-height;
}
engines/nucleus/scss/joomla/theme/breakpoints/_utilities.scss000060400000001017150753125200020573 0ustar00@include breakpoint(mobile-only) {
	div.modal {
		position: fixed;
		top: 20px;
		right: 20px;
		left: 20px;
		width: auto;
		margin: 0;
	}
	div.modal.fade {
		top: -100px;
	}
	div.modal.fade.in {
		top: 20px;
	}
}

@include breakpoint(small-mobile-range) {
	div.modal {
		top: 10px;
		right: 10px;
		left: 10px;
	}
}

@include breakpoint(mobile-only) {
    .pull-right {
        &.item-image {
            margin-left: 0;
        }
    }

    .pull-left {
        &.item-image {
            margin-right: 0;
        }
    }
}
engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss000060400000024074150753125200020605 0ustar00@include breakpoint(mobile-only) {
	.navbar-fixed-top,
	.navbar-fixed-bottom,
	.navbar-static-top {
		margin-right: -20px;
		margin-left: -20px;
	}
	.container-fluid {
		padding: 0;
	}
	.dl-horizontal dt {
		float: none;
		width: auto;
		clear: none;
		text-align: left;
	}
	.dl-horizontal dd {
		margin-left: 0;
	}
	.row-fluid {
		width: 100%;
	}
	.row,
	.thumbnails {
		margin-left: 0;
	}
	.thumbnails > li {
		float: none;
		margin-left: 0;
	}

    .manager.thumbnails > li {
        float: left;
        margin-left: 20px;
    }

	[class*="span"],
	.uneditable-input[class*="span"],
	.row-fluid [class*="span"] {
		display: block;
		float: none;
		width: 100%;
		margin-left: 0;
		box-sizing: border-box;
	}
	.span12,
	.row-fluid .span12 {
		width: 100%;
		box-sizing: border-box;
	}
	.row-fluid [class*="offset"]:first-child {
		margin-left: 0;
	}
	.input-large,
	.input-xlarge,
	.input-xxlarge,
	input[class*="span"],
	select[class*="span"],
	textarea[class*="span"],
	.uneditable-input {
		display: block;
		width: 100%;
		min-height: 30px;
		box-sizing: border-box;
	}
	.input-prepend input,
	.input-append input,
	.input-prepend input[class*="span"],
	.input-append input[class*="span"] {
		display: inline-block;
		width: auto;
	}
	.controls-row [class*="span"] + [class*="span"] {
		margin-left: 0;
	}
}

@include breakpoint(small-mobile-range) {
	.nav-collapse {
		-webkit-transform: translate3d(0, 0, 0);
	}
	.page-header h1 small {
		display: block;
		line-height: 20px;
	}
	.form-horizontal .control-label {
		float: none;
		width: auto;
		padding-top: 0;
		text-align: left;
	}
	.form-horizontal .controls {
		margin-left: 0;
	}
	.form-horizontal .control-list {
		padding-top: 0;
	}
	.form-horizontal .form-actions {
		padding-right: 10px;
		padding-left: 10px;
	}
	.media .pull-left,
	.media .pull-right {
		display: block;
		float: none;
		margin-bottom: 10px;
	}
	.media-object {
		margin-right: 0;
		margin-left: 0;
	}
	.modal-header .close {
		padding: 10px;
		margin: -10px;
	}
}

@include breakpoint(tablet-range) {
	.row {
		margin-left: -20px;
	}
	.row:before,
	.row:after {
		display: table;
		line-height: 0;
		content: "";
	}
	.row:after {
		clear: both;
	}
	[class*="span"] {
		float: left;
		min-height: 1px;
		margin-left: 20px;
	}
    .span12 {
        width: 724px;
    }
    .span11 {
        width: 662px;
    }
    .span10 {
        width: 600px;
    }
    .span9 {
        width: 538px;
    }
    .span8 {
        width: 476px;
    }
    .span7 {
        width: 414px;
    }
    .span6 {
        width: 352px;
    }
    .span5 {
        width: 290px;
    }
    .span4 {
        width: 228px;
    }
    .span3 {
        width: 166px;
    }
    .span2 {
        width: 104px;
    }
    .span1 {
        width: 42px;
    }
    .offset12 {
        margin-left: 764px;
    }
    .offset11 {
        margin-left: 702px;
    }
    .offset10 {
        margin-left: 640px;
    }
    .offset9 {
        margin-left: 578px;
    }
    .offset8 {
        margin-left: 516px;
    }
    .offset7 {
        margin-left: 454px;
    }
    .offset6 {
        margin-left: 392px;
    }
    .offset5 {
        margin-left: 330px;
    }
    .offset4 {
        margin-left: 268px;
    }
    .offset3 {
        margin-left: 206px;
    }
    .offset2 {
        margin-left: 144px;
    }
    .offset1 {
        margin-left: 82px;
    }
	.row-fluid {
		width: 100%;
	}
	.row-fluid:before,
	.row-fluid:after {
		display: table;
		line-height: 0;
		content: "";
	}
	.row-fluid:after {
		clear: both;
	}
	.row-fluid [class*="span"] {
		display: block;
		float: left;
		width: 100%;
		min-height: 30px;
		margin-left: 2.7624309392265194%;
		box-sizing: border-box;
	}
	.row-fluid [class*="span"]:first-child {
		margin-left: 0;
	}
	.row-fluid .controls-row [class*="span"] + [class*="span"] {
		margin-left: 2.7624309392265194%;
	}
	.row-fluid .span12 {
		width: 100%;
	}
	.row-fluid .span11 {
		width: 91.43646408839778%;
	}
	.row-fluid .span10 {
		width: 82.87292817679558%;
	}
	.row-fluid .span9 {
		width: 74.30939226519337%;
	}
	.row-fluid .span8 {
		width: 65.74585635359117%;
	}
	.row-fluid .span7 {
		width: 57.18232044198895%;
	}
	.row-fluid .span6 {
		width: 48.61878453038674%;
	}
	.row-fluid .span5 {
		width: 40.05524861878453%;
	}
	.row-fluid .span4 {
		width: 31.491712707182323%;
	}
	.row-fluid .span3 {
		width: 22.92817679558011%;
	}
	.row-fluid .span2 {
		width: 14.3646408839779%;
	}
	.row-fluid .span1 {
		width: 5.801104972375691%;
	}
	.row-fluid .offset12 {
		margin-left: 105.52486187845304%;
	}
	.row-fluid .offset12:first-child {
		margin-left: 102.76243093922652%;
	}
	.row-fluid .offset11 {
		margin-left: 96.96132596685082%;
	}
	.row-fluid .offset11:first-child {
		margin-left: 94.1988950276243%;
	}
	.row-fluid .offset10 {
		margin-left: 88.39779005524862%;
	}
	.row-fluid .offset10:first-child {
		margin-left: 85.6353591160221%;
	}
	.row-fluid .offset9 {
		margin-left: 79.8342541436464%;
	}
	.row-fluid .offset9:first-child {
		margin-left: 77.07182320441989%;
	}
	.row-fluid .offset8 {
		margin-left: 71.2707182320442%;
	}
	.row-fluid .offset8:first-child {
		margin-left: 68.50828729281768%;
	}
	.row-fluid .offset7 {
		margin-left: 62.70718232044199%;
	}
	.row-fluid .offset7:first-child {
		margin-left: 59.94475138121547%;
	}
	.row-fluid .offset6 {
		margin-left: 54.14364640883978%;
	}
	.row-fluid .offset6:first-child {
		margin-left: 51.38121546961326%;
	}
	.row-fluid .offset5 {
		margin-left: 45.58011049723757%;
	}
	.row-fluid .offset5:first-child {
		margin-left: 42.81767955801105%;
	}
	.row-fluid .offset4 {
		margin-left: 37.01657458563536%;
	}
	.row-fluid .offset4:first-child {
		margin-left: 34.25414364640884%;
	}
	.row-fluid .offset3 {
		margin-left: 28.45303867403315%;
	}
	.row-fluid .offset3:first-child {
		margin-left: 25.69060773480663%;
	}
	.row-fluid .offset2 {
		margin-left: 19.88950276243094%;
	}
	.row-fluid .offset2:first-child {
		margin-left: 17.12707182320442%;
	}
	.row-fluid .offset1 {
		margin-left: 11.32596685082873%;
	}
	.row-fluid .offset1:first-child {
		margin-left: 8.56353591160221%;
	}
	input,
	textarea,
	.uneditable-input {
		margin-left: 0;
	}
	.controls-row [class*="span"] + [class*="span"] {
		margin-left: 20px;
	}
	input.span12,
	textarea.span12,
	.uneditable-input.span12 {
		width: 710px;
	}
	input.span11,
	textarea.span11,
	.uneditable-input.span11 {
		width: 648px;
	}
	input.span10,
	textarea.span10,
	.uneditable-input.span10 {
		width: 586px;
	}
	input.span9,
	textarea.span9,
	.uneditable-input.span9 {
		width: 524px;
	}
	input.span8,
	textarea.span8,
	.uneditable-input.span8 {
		width: 462px;
	}
	input.span7,
	textarea.span7,
	.uneditable-input.span7 {
		width: 400px;
	}
	input.span6,
	textarea.span6,
	.uneditable-input.span6 {
		width: 338px;
	}
	input.span5,
	textarea.span5,
	.uneditable-input.span5 {
		width: 276px;
	}
	input.span4,
	textarea.span4,
	.uneditable-input.span4 {
		width: 214px;
	}
	input.span3,
	textarea.span3,
	.uneditable-input.span3 {
		width: 152px;
	}
	input.span2,
	textarea.span2,
	.uneditable-input.span2 {
		width: 90px;
	}
	input.span1,
	textarea.span1,
	.uneditable-input.span1 {
		width: 28px;
	}
}

@include breakpoint(no-desktop) {
	.navbar-fixed-top,
	.navbar-fixed-bottom {
		position: static;
	}
	.navbar-fixed-top {
		margin-bottom: 20px;
	}
	.navbar-fixed-bottom {
		margin-top: 20px;
	}
	.navbar-fixed-top .navbar-inner,
	.navbar-fixed-bottom .navbar-inner {
		padding: 5px;
	}
	.navbar .container {
		width: auto;
		padding: 0;
	}
	.navbar .brand {
		padding-right: 10px;
		padding-left: 10px;
		margin: 0 0 0 -5px;
	}
	.nav-collapse {
		clear: both;
	}
	.nav-collapse .nav {
		float: none;
		margin: 0 0 10px;
	}
	.nav-collapse .nav > li {
		float: none;
	}
	.nav-collapse .nav > li > a {
		margin-bottom: 2px;
	}
	.nav-collapse .nav > .divider-vertical {
		display: none;
	}
	.nav-collapse .nav .nav-header {
		color: #777777;
		text-shadow: none;
	}
	.nav-collapse .nav > li > a,
	.nav-collapse .dropdown-menu a {
		padding: 9px 15px;
		font-weight: bold;
		color: #777777;
		border-radius: $core-border-radius;
	}
	.nav-collapse .btn {
		padding: 4px 10px 4px;
		font-weight: normal;
		border-radius: $core-border-radius;
	}
	.nav-collapse .dropdown-menu li + li a {
		margin-bottom: 2px;
	}
	.nav-collapse .nav > li > a:hover,
	.nav-collapse .nav > li > a:focus,
	.nav-collapse .dropdown-menu a:hover,
	.nav-collapse .dropdown-menu a:focus {
		background-color: #f2f2f2;
	}
	.navbar-inverse .nav-collapse .nav > li > a,
	.navbar-inverse .nav-collapse .dropdown-menu a {
		color: #999999;
	}
	.navbar-inverse .nav-collapse .nav > li > a:hover,
	.navbar-inverse .nav-collapse .nav > li > a:focus,
	.navbar-inverse .nav-collapse .dropdown-menu a:hover,
	.navbar-inverse .nav-collapse .dropdown-menu a:focus {
		background-color: #111111;
	}
	.nav-collapse.in .btn-group {
		padding: 0;
		margin-top: 5px;
	}
	.nav-collapse .dropdown-menu {
		position: static;
		top: auto;
		left: auto;
		display: none;
		float: none;
		max-width: none;
		padding: 0;
		margin: 0 15px;
		background-color: transparent;
		border: none;
		border-radius: 0;
		box-shadow: none;
	}
	.nav-collapse .open > .dropdown-menu {
		display: block;
	}
	.nav-collapse .dropdown-menu:before,
	.nav-collapse .dropdown-menu:after {
		display: none;
	}
	.nav-collapse .dropdown-menu .divider {
		display: none;
	}
	.nav-collapse .nav > li > .dropdown-menu:before,
	.nav-collapse .nav > li > .dropdown-menu:after {
		display: none;
	}
	.nav-collapse .navbar-form,
	.nav-collapse .navbar-search {
		float: none;
		padding: 10px 15px;
		margin: 10px 0;
		border-top: 1px solid #f2f2f2;
		border-bottom: 1px solid #f2f2f2;
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
	}
	.navbar-inverse .nav-collapse .navbar-form,
	.navbar-inverse .nav-collapse .navbar-search {
		border-top-color: #111111;
		border-bottom-color: #111111;
	}
	.navbar .nav-collapse .nav.pull-right {
		float: none;
		margin-left: 0;
	}
	.nav-collapse,
	.nav-collapse.collapse {
		height: 0;
		overflow: hidden;
	}
	.navbar .btn-navbar {
		display: block;
	}
	.navbar-static .navbar-inner {
		padding-right: 10px;
		padding-left: 10px;
	}
}

@include breakpoint(desktop-only) {
	.nav-collapse.collapse {
		height: auto !important;
	   	overflow: visible !important;
	}
}
engines/nucleus/scss/joomla/theme/breakpoints/_forms.scss000060400000000430150753125200017704 0ustar00@include breakpoint(mobile-only) {
	.form-horizontal {
	    .control-label {
	        display: block;
	        float: none;
	        text-align: left;
	    }

	    .controls {
	        margin: 0;
	    }
	}

	[dir="rtl"] .form-horizontal .control-label {
		text-align: right;
	}
}
engines/nucleus/scss/joomla/theme/breakpoints/_base.scss000060400000000073150753125200017473 0ustar00@import "bootstrap";
@import "forms";
@import "utilities";
engines/nucleus/scss/joomla/_offline.scss000060400000000353150753125200014561 0ustar00#frame {
	margin: 20px auto;
	width: 400px;
	padding: 20px;
}

#frame img {
	max-width: 100%;
	height: auto;
}

#frame form {
	text-align: left;
}

.outline {
  padding: 2px;
}

#system-message {
	margin: 0 auto;
	padding: 20px 0 0;
}
engines/nucleus/scss/joomla/_utilities.scss000060400000006437150753125200015163 0ustar00// Modal
body.modal {
	padding-top: 0;
}

// Thumbnails
.thumbnail.pull-left {
	margin: 0 10px 10px 0;
}
.thumbnail.pull-right {
	margin: 0 0 10px 10px;
}
body.modal {
    .manager {
        .height-50 .icon-folder-2 {
            font-size: 30px;
            height: 35px;
            width: 35px;
            line-height: 35px;
        }
        &.thumbnails {
            .small {
                font-size: 12px;
            }
        }
    }
}

// Accordian
.accordion-body.in:hover {
	overflow: visible;
}

// Tooltips
.tip-wrap {
	max-width: 200px;
	padding: 3px 8px;
	text-align: center;
	text-decoration: none;
	border-radius: $core-border-radius;
	z-index: 100;
}

.tooltip {
	max-width: 400px;
}
.tooltip-inner {
	max-width: none;
	text-align: left;
	text-shadow: none;
}
th .tooltip-inner {
	font-weight: normal;
}
.tooltip.hasimage {
	opacity: 1;
}
.tip-text {
	text-align: left;
}

// Joomla Extras
#helpsite-refresh {
	vertical-align: top;
}

#pop-print {
	float: right;
	margin: 10px;
}

#filter-search {
	vertical-align: top;
}

.editor {
	overflow: hidden;
	position: relative;
}

.search span.highlight {
	font-weight: bold;
	padding: 1px 4px;
}

// Images
.img-rounded {
	border-radius: $core-border-radius;
}

.img-polaroid {
	padding: 4px;
}

// System Messages and Alerts
.alert {
	border-radius: $core-border-radius;
    padding: $content-padding;
    margin-bottom: $leading-margin;
    text-shadow: none;
}

// Icomoon Resets
.add-on {
	[class^="icon-"], [class*=" icon-"] {
		height: auto;
		line-height: $core-line-height;
		margin-right: auto;
	}
}

[class^="icon-"], [class*=" icon-"] {
	margin-right: .25em;
	line-height: 14px;
}

// Article Images
.pull-right {
    &.item-image {
        margin: 0 0 $leading-margin $leading-margin;
    }
}

.pull-left {
    &.item-image {
        margin: 0 $leading-margin $leading-margin 0;
    }
}

#imageForm, #uploadForm {
    button {
        &:hover {
            border-color: inherit;
        }
    }
}

// Calendar
.calendar {
    .title {
        border: none;
    }
    thead {
        .name {
            padding: 2px;
        }
        .button {
            color: #000 !important;
            font-weight: normal;
            border: 1px solid transparent;
            display: table-cell;
            background: inherit;
        }
        .hilite {
            border-radius: 0;
            padding: 2px;
        }
    }
}

// Size Classes
.width-10 {
    width: 10px;
}
.width-20 {
    width: 20px;
}
.width-30 {
    width: 30px;
}
.width-40 {
    width: 40px;
}
.width-50 {
    width: 50px;
}
.width-60 {
    width: 60px;
}
.width-70 {
    width: 70px;
}
.width-80 {
    width: 80px;
}
.width-90 {
    width: 90px;
}
.width-100 {
    width: 100px;
}
.height-10 {
    height: 10px;
}
.height-20 {
    height: 20px;
}
.height-30 {
    height: 30px;
}
.height-40 {
    height: 40px;
}
.height-50 {
    height: 50px;
}
.height-60 {
    height: 60px;
}
.height-70 {
    height: 70px;
}
.height-80 {
    height: 80px;
}
.height-90 {
    height: 90px;
}
.height-100 {
    height: 100px;
}

// Modals
.view-mailto, .print-mode {
    .formelm {
        label {
            display: block;
        }
    }
}

.contentpane.modal {
    padding: $leading-margin;
}

// Third Party Resets
// RokSprocket
.sprocket-strips.loading .sprocket-strips-overlay {
    box-sizing: content-box;
}
engines/nucleus/scss/joomla/_buttons.scss000060400000003755150753125200014646 0ustar00.btn .caret {
	margin-bottom: 7px;
}

.btn.btn-micro .caret {
	margin: 5px 0;
}

.btn-wide {
	width: 80%;
}

.radio.btn-group input[type=radio] {
	display: none;
}

.radio.btn-group > label:first-of-type {
	margin-left: 0;
	-webkit-border-bottom-left-radius: 4px;
	border-bottom-left-radius: 4px;
	-webkit-border-top-left-radius: 4px;
	border-top-left-radius: 4px;
	-moz-border-radius-bottomleft: 4px;
	-moz-border-radius-topleft: 4px;
}

fieldset.radio.btn-group {
	padding-left: 0;
}

.btn-micro {
	padding: 1px 4px;
	font-size: 10px;
	line-height: 8px;
}

.btn-group > .btn-micro {
	font-size: 10px;
}

.btn-group > .btn + .dropdown-backdrop + .btn {
	margin-left: -1px;
}

.btn-group > .btn + .dropdown-backdrop + .dropdown-toggle {
	padding-left: 8px;
	padding-right: 8px;
	-webkit-box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
	-moz-box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
	box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
	*padding-top: 5px;
	*padding-bottom: 5px;
}

.btn-group > .btn-mini + .dropdown-backdrop + .dropdown-toggle {
	padding-left: 5px;
	padding-right: 5px;
	*padding-top: 2px;
	*padding-bottom: 2px;
}

.btn-group > .btn-small + .dropdown-backdrop + .dropdown-toggle {
	*padding-top: 5px;
	*padding-bottom: 4px;
}

.btn-group > .btn-large + .dropdown-backdrop + .dropdown-toggle {
	padding-left: 12px;
	padding-right: 12px;
	*padding-top: 7px;
	*padding-bottom: 7px;
}

.btn-group .chzn-results {
	white-space: normal;
}

// Button Resets
.controls {
	.input-append {
		.btn {
			padding: 6px 12px;
			font-size: 14px;
			line-height: 20px;
		}
	}
}

.btn.jmodedit {
	padding: 0;
	text-align: center;
	font-size: $core-font-size - 0.2;
	[class^="icon-"], [class*=" icon-"] {
		margin: 6px 8px;
		text-align: center;
	}
}

.filters.btn-toolbar .btn-group, .filters.btn-toolbar {
	font-size: inherit;
}
engines/nucleus/scss/joomla/_forms.scss000060400000005141150753125200014265 0ustar00// Box model Resets for Joomla / Bootstrap2
.platform-content input {
    box-sizing: content-box;
}

legend {
	margin-bottom: $leading-margin;
}

textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
	border-color: rgba(82, 168, 236, 0.8);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
}

#{$all-text-inputs} {
	padding: ($leading-margin / 4) ($leading-margin / 4);
}

.uneditable-input {
    width: 100%;
}

.platform-content {
    .input-block-level, .input-large, .input-xlarge, .input-xxlarge, .uneditable-input {
    	display: block;
    	width: 100%;
    	min-height: 28px;
    }
}

.input-prepend .chzn-container-single .chzn-single,
.input-append .chzn-container-single .chzn-single {
	height: 26px;
	box-shadow: none;
}

.input-prepend > .add-on,
.input-append > .add-on {
	vertical-align: top;
	height: auto;
	padding: 5px;
}

.input-prepend .chzn-container-single .chzn-single {
	border-radius: 0 $core-border-radius $core-border-radius 0;
}

.input-prepend .chzn-container-single .chzn-single-with-drop {
	border-radius: 0 $core-border-radius 0 0;
}

.input-append .chzn-container-single .chzn-single {
	border-radius: $core-border-radius 0 0 $core-border-radius;
}

.input-append .chzn-container-single .chzn-single-with-drop {
	border-radius: $core-border-radius 0 0 0;
}

.input-prepend.input-append .chzn-container-single .chzn-single,
.input-prepend.input-append .chzn-container-single .chzn-single-with-drop {
	border-radius: 0;
}

.element-invisible {
	position: absolute;
	padding: 0;
	margin: 0;
	border: 0;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.form-vertical .control-label {
	float: none;
	width: auto;
	padding-right: 0;
	padding-top: 0;
	text-align: left;
}

.control-label .hasTooltip, .control-label .hasPopover {
    display: inline-block;
}

.form-vertical .controls {
	margin-left: 0;
}

.invalid {
	color: #9d261d;
}

input.invalid {
	border: 1px solid #9d261d;
}

// Module Editing
#modules-form {
	.btn-group {
		font-size: inherit;
	}
	.radio.btn-group input[type=radio] {
		display: inherit;
		margin-left: inherit;
	}
}

.controls {
    input[type="radio"] {
        margin-right: 5px;
    }
}

// Editing
.layout-edit {
    #sbox-content.sbox-content-iframe {
        overflow: hidden;
    }
}
engines/nucleus/scss/joomla/_tabs.scss000060400000001175150753125200014073 0ustar00.nav-list > li.offset > a {
	padding-left: 30px;
	font-size: 12px;
}

.navbar .nav > li > a.btn {
	padding: 4px 10px;
	line-height: 18px;
}

.nav-tabs.nav-dark > .active > a,
.nav-tabs.nav-dark > .active > a:hover {
	border-bottom-color: transparent;
}

.tab-content {
	overflow: visible;
}

.tabs-left .tab-content {
	overflow: auto;
}

.nav-tabs > li > span {
	display: block;
	margin-right: 2px;
	padding-right: 12px;
	padding-left: 12px;
	padding-top: 8px;
	padding-bottom: 8px;
	line-height: 18px;
	border: 1px solid transparent;
	border-radius: $core-border-radius $core-border-radius 0 0;
}

.dropdown-menu {
	text-align: left;
}
engines/nucleus/scss/joomla/_typography.scss000060400000004412150753125200015345 0ustar00// Lists and Tables
p {
	margin: $leading-margin 0;
}

dl {
	margin-top: $leading-margin;
	margin-bottom: $leading-margin;
}

dd {
	margin-left: $leading-margin;
}

ul.menu {
	ul {
		margin-left: $leading-margin;
	}
}

.list-striped,
.row-striped {
	list-style: none;
	line-height: 18px;
	text-align: left;
	vertical-align: middle;
	margin-left: 0;
}

.list-striped li,
.list-striped dd,
.row-striped .row,
.row-striped .row-fluid {
	padding: $leading-margin / 2;
}

.row-striped .row-fluid {
	width: 97%;
}

.row-striped .row-fluid [class*="span"] {
	min-height: 10px;
}

.row-striped .row-fluid [class*="span"] {
	margin-left: $leading-margin / 2;
}

.row-striped .row-fluid [class*="span"]:first-child {
	margin-left: 0;
}

.list-condensed li {
	padding: $leading-margin / 3;
}

.row-condensed .row,
.row-condensed .row-fluid {
	padding: $leading-margin / 3;
}

.list-bordered,
.row-bordered {
	list-style: none;
	text-align: left;
	vertical-align: middle;
	margin-left: 0;
	border-radius: 4px;
}

.blog-row-rule,
.blog-item-rule {
	border: 0;
}

.row-even,
.row-odd {
	padding: 5px;
	width: 99%;
}

.row-odd {
	background-color: transparent;
}

.row-fluid .row-reveal {
	visibility: hidden;
}

.row-fluid:hover .row-reveal {
	visibility: visible;
}

hr.hr-condensed {
	margin: 10px 0;
}

// Captions
.img_caption .left {
	float: left;
	margin-right: $leading-margin;
}

.img_caption .right {
	float: right;
	margin-left: $leading-margin;
}

.img_caption .left p {
	clear: left;
	text-align: center;
}

.img_caption .right p {
	clear: right;
	text-align: center;
}

.img_caption {
	text-align: center !important;
}

.img_caption.none {
	margin-left: auto;
	margin-right: auto;
}

figure {
	display: table;
}

figure.pull-center,
img.pull-center {
	margin-left: auto;
	margin-right: auto;
}

img.pull-center {
	display: block;
}

figcaption {
	display: table-caption;
	caption-side: bottom;
}

// Blockquote and Code
blockquote {
	padding: 0 0 0 $content-padding;
	margin: 0 0 $leading-margin;
}

blockquote.pull-right {
	padding-right: $leading-margin;
}

address {
	margin-bottom: $leading-margin;
}

code,
pre {
	border-radius: $core-border-radius;
}

pre {
	padding: $content-padding;
	margin: 0 0 $leading-margin;
	border-radius: $core-border-radius;
}

pre.prettyprint {
	margin-bottom: $leading-margin;
}
engines/nucleus/scss/vendor/color-schemer/color-schemer/_comparison.scss000060400000000775150753125200022641 0ustar00//////////////////////////////
// Color Is Dark
//
// Checks to see if the input color is a dark color taking into account both lightness and hue.
// Suitable for determining, for instance, if a background should have a dark or light text color.
//   @return true/false (boolean)
//////////////////////////////

@function cs-is-dark($color) {
  @if (lightness($color) < 60% and (hue($color) >= 210 or hue($color) <= 27)) or (lightness($color) <= 32%)  {
    @return true;
  } @else {
    @return false;
  }
}
engines/nucleus/scss/vendor/color-schemer/color-schemer/_mix.scss000060400000002601150753125200021252 0ustar00@function cs-mix($color1, $color2, $percent: 50%, $model: $cs-color-model) {

  $decimal           : abs($percent - 100%) / 100%;
  $hue-offset        : ();

  @if $model == rgb {
    $hue-offset        : (hue($color1) - hue($color2)) * $decimal;
    @if (hue($color1) - hue($color2)) * .5 < -90deg {
      $hue-offset      : (hue($color1) + 360deg - hue($color2)) * $decimal;
    }
    @if (hue($color1) - hue($color2)) * .5 > 90deg {
      $hue-offset      : (hue($color1) - 360deg - hue($color2)) * $decimal;
    }
  }

  @if $model == ryb {
    $hue-offset        : (ryb-hue($color1) - ryb-hue($color2)) * $decimal;
    @if (ryb-hue($color1) - ryb-hue($color2)) * .5 < -90deg {
      $hue-offset      : (ryb-hue($color1) + 360deg - ryb-hue($color2)) * $decimal;
    }
    @if (ryb-hue($color1) - ryb-hue($color2)) * .5 > 90deg {
      $hue-offset      : (ryb-hue($color1) - 360deg - ryb-hue($color2)) * $decimal;
    }
  }

  $saturation-offset : (saturation($color1) - saturation($color2)) * $decimal;
  $lightness-offset  : (lightness($color1) - lightness($color2)) * $decimal;

  @if $model == ryb {
    $color1: ryb-adjust-hue($color1, $hue-offset * -1);
  }
  @else {
    $color1: adjust-hue($color1, $hue-offset * -1);
  }

  $color1: set-saturation($color1, saturation($color1) - $saturation-offset);
  $color1: set-lightness($color1, lightness($color1) - $lightness-offset);

  @return $color1;
}
engines/nucleus/scss/vendor/color-schemer/color-schemer/_mixins.scss000060400000001454150753125200021771 0ustar00////////////////////////////////////////////
// From Jina Bolton and Eric Meyer -- http://codepen.io/jina/pen/iosjp
@function cs-stripes($position, $colors) {
  $colors: if(type-of($colors) != 'list', compact($colors), $colors);
  $gradient: ();
  $width: 100% / length($colors);

  @for $i from 1 through length($colors) {
    $pop: nth($colors,$i);
    $new: $pop ($width * ($i - 1)), $pop ($width * $i);
    $gradient: join($gradient, $new, comma);
  }

  @return linear-gradient($position, $gradient);
}

////////////////////////////////////////////
// Color tester

@mixin cs-test($colors, $height: 2em, $element: "body:before") {
  #{$element} {
    content: "";
    display: block;
    height: $height;
    background: cs-stripes(left, ($colors));
    position: relative;
    z-index: 999999999999;
  }
}
engines/nucleus/scss/vendor/color-schemer/color-schemer/_interpolation.scss000060400000001732150753125200023350 0ustar00@function cs-interpolate($value, $units: 360, $stops: $ryb-interpolation) {
  
  // Loop numbers out of scale back into the scale.
  @while $value >= 360 {
    $value: $value - 360;
  }
  @while $value < 0 {
    $value: $value + 360;
  }

  // Find out how many units in each stop
  $cs-color-deg: $units / length($stops);

  // Count through stops
  $cs-deg-count: $cs-color-deg;
  $cs-stop-count: 1;

  // Add the first stop to the end so it will be
  // interpolated with the last stop.
  $stops: append($stops, nth($stops, 1));

  // Start interpolating
  @for $i from 0 through length($stops) {
    @if $value < $cs-deg-count {
      @return cs-mix(nth($stops, $cs-stop-count + 1), nth($stops, $cs-stop-count), abs(percentage(($cs-deg-count - $value) / $cs-color-deg) - 100 ), $model: rgb);
    }

    // If the value is not in this stop, loop up to another stop.
    @else {
      $cs-deg-count: $cs-deg-count + $cs-color-deg;
      $cs-stop-count: $cs-stop-count + 1
    }
  }
}
engines/nucleus/scss/vendor/color-schemer/color-schemer/_harmonize.scss000060400000005117150753125200022456 0ustar00@function cs-harmonize($background, $foreground: $cs-harmonize-color, $mode: $cs-harmonize-mode, $amount: $cs-harmonize-amount) {
  $blend: null;
  @if ($mode == normal) {
    $blend: blend-normal($foreground, $background); }
  @else if ($mode == multiply) {
    $blend: blend-multiply($foreground, $background); }
  @else if ($mode == lighten) {
    $blend: blend-lighten($foreground, $background); }
  @else if ($mode == darken) {
    $blend: blend-darken($foreground, $background); }
  @else if ($mode == darkercolor) {
    $blend: blend-darkercolor($foreground, $background); }
  @else if ($mode == lightercolor) {
    $blend: blend-lightercolor($foreground, $background); }
  @else if ($mode == lineardodge) {
    $blend: blend-lineardodge($foreground, $background); }
  @else if ($mode == linearburn) {
    $blend: blend-linearburn($foreground, $background); }
  @else if ($mode == difference) {
    $blend: blend-difference($foreground, $background); }
  @else if ($mode == screen) {
    $blend: blend-screen($foreground, $background); }
  @else if ($mode == exclusion) {
    $blend: blend-exclusion($foreground, $background); }
  @else if ($mode == overlay) {
    $blend: blend-overlay($foreground, $background); }
  @else if ($mode == softlight) {
    $blend: blend-softlight($foreground, $background); }
  @else if ($mode == hardlight) {
    $blend: blend-hardlight($foreground, $background); }
  @else if ($mode == colordodge) {
    $blend: blend-colordodge($foreground, $background); }
  @else if ($mode == colorburn) {
    $blend: blend-colorburn($foreground, $background); }
  @else if ($mode == linearlight) {
    $blend: blend-linearlight($foreground, $background); }
  @else if ($mode == vividlight) {
    $blend: blend-vividlight($foreground, $background); }
  @else if ($mode == pinlight) {
    $blend: blend-pinlight($foreground, $background); }
  @else if ($mode == hardmix) {
    $blend: blend-hardmix($foreground, $background); }
  @else if ($mode == colorblend) {
    $blend: blend-colorblend($foreground, $background); }
  @else if ($mode == dissolve) {
    $blend: blend-dissolve($foreground, $background); }
  @else if ($mode == divide) {
    $blend: blend-divide($foreground, $background); }
  @else if ($mode == hue) {
    $blend: blend-hue($foreground, $background); }
  @else if ($mode == luminosity) {
    $blend: blend-luminosity($foreground, $background); }
  @else if ($mode == saturation) {
    $blend: blend-saturation($foreground, $background); }
  @else if ($mode == subtract) {
    $blend: blend-subtract($foreground, $background); }
  $mixed: mix($blend, $background, $amount);
  @return $mixed;
}
engines/nucleus/scss/vendor/color-schemer/color-schemer/_cmyk.scss000060400000000635150753125200021425 0ustar00@function cmyk($cyan, $magenta, $yellow, $black) {

  // Get the color values out of white
  $cyan    : mix(cyan   , white, $cyan   );
  $magenta : mix(magenta, white, $magenta);
  $yellow  : mix(yellow , white, $yellow );
  $black   : mix(black  , white, $black  );

  // Subtract the colors from white
  $color: white - invert($cyan) - invert($magenta) - invert($yellow) - invert($black);


  @return $color;
}
engines/nucleus/scss/vendor/color-schemer/color-schemer/_tint-shade.scss000060400000000350150753125200022514 0ustar00// Add percentage of white to a color
@function tint($color, $percent) {
  @return mix(white, $color, $percent);
}

// Add percentage of black to a color
@function shade($color, $percent) {
  @return mix(black, $color, $percent);
}
engines/nucleus/scss/vendor/color-schemer/color-schemer/_ryb.scss000060400000006464150753125200021264 0ustar00$ryb-interpolation: #FF0000 #FF4900 #FF7400 #FF9200 #FFAA00 #FFBF00 #FFD300 #FFE800 #FFFF00 #CCF600 #9FEE00 #67E300 #00CC00 #00AF64 #009999 #0B61A4 #1240AB #1B1BB3 #3914AF #530FAD #7109AA #A600A6 #CD0074 #E40045;

// RYB color interpolation
@function find-ryb($hue) {

  // remove units on $hue
  @if unit($hue) == deg { $hue: $hue / 1deg; }

  // return an interpolated hue
  @return hue(cs-interpolate($hue));
}

// Find the RYB hue instead of RGB hue of a color.

// map of the RYB offset
$ryb-offset: 0 1 2 3 5 6 7 8 9 10 11 13 14 15 16 17 18 19 19 20 21 21 22 23 23 24 25 25 26 27 27 28 28 29 29 30 30 31 31 32 32 32 33 33 34 34 35 35 35 36 36 37 37 37 38 38 38 39 39 40 40 40 41 41 41 42 42 42 43 43 43 44 44 44 45 45 45 46 46 46 47 47 47 47 48 48 48 49 49 49 50 50 50 51 51 51 52 52 52 53 53 53 54 54 54 55 55 55 56 56 56 57 57 57 58 58 59 59 59 60 60 61 61 62 63 63 64 65 65 66 67 68 68 69 70 70 71 72 72 73 73 74 75 75 76 77 77 78 79 79 80 81 82 82 83 84 85 86 87 88 88 89 90 91 92 93 95 96 98 100 102 104 105 107 109 111 113 115 116 118 120 122 125 127 129 131 134 136 138 141 143 145 147 150 152 154 156 158 159 161 163 165 166 168 170 171 173 175 177 178 180 182 184 185 187 189 191 192 194 196 198 199 201 203 205 206 207 208 209 210 212 213 214 215 216 217 218 219 220 221 222 223 224 226 227 228 229 230 232 233 234 235 236 238 239 240 241 242 243 244 245 246 247 248 249 250 251 251 252 253 254 255 256 257 257 258 259 260 260 261 262 263 264 264 265 266 267 268 268 269 270 271 272 273 274 274 275 276 277 278 279 280 282 283 284 286 287 289 290 292 293 294 296 297 299 300 302 303 305 307 309 310 312 314 316 317 319 321 323 324 326 327 328 329 330 331 332 333 334 336 337 338 339 340 341 342 343 344 345 347 348 349 350 352 353 354 355 356 358 359 360;

// loop through the map to find the matching hue.
@function ryb-hue($color) {
  @for $i from 1 through length($ryb-offset) {
    @if nth($ryb-offset, $i) > hue($color) {
      @return $i - 2deg;
    }
  }
}

// Changes the hue of a color.
@function ryb-adjust-hue($color, $degrees) {

  // Convert precentag to degrees.
  @if unit($degrees) == "%" {
    $degrees: 360 * ($degrees / 100%);
  }

  // Start at the current hue and loop in the adjustment.
  $hue-adjust: (ryb-hue($color) + $degrees) / 1deg;

  @return hsl(hue(cs-interpolate($hue-adjust)), saturation($color), lightness($color));
}

@function ryba($red, $yellow, $blue, $alpha) {
  $hue: 0;
  $saturation: 0;
  $lightness: percentage(($red + $yellow + $blue) / (255 * 3));
  @if $red == $yellow and $yellow == $blue {
    @return hsla(0, 0, $lightness, $alpha);
  }
  @if $red >= $yellow and $red >= $blue {
    $hue: 0;
  }
  @elseif $yellow >= $red and $yellow >= $blue {
    $hue: 360 / 3;
  }
  @elseif $blue >= $red and $blue >= $yellow {
    $hue: 360 / 3 * 2;
  }
  @return hsla(hue(cs-interpolate($hue)), 100%, 50%, 1);
}

@function ryb($red, $yellow, $blue) {
  @return ryba($red, $yellow, $blue, 1);
}

@function set-ryb-hue($color, $hue) {
  @return hsla(hue(cs-interpolate($hue)), saturation($color), lightness($color), alpha($color));
}

// Returns the complement of a color.
@function ryb-complement($color) {
  @return ryb-adjust-hue($color, 180deg);
}

// Returns the inverse of a color.
@function ryb-invert($color) {
  @return ryb-adjust-hue(hsl(hue($color), saturation(invert($color)), lightness(invert($color))), 180deg);
}
engines/nucleus/scss/vendor/color-schemer/color-schemer/_color-adjustments.scss000060400000001477150753125200024144 0ustar00// RGB functions
@function set-red($color, $red) {
  @return rgba($red, green($color), blue($color), alpha($color));
}

@function set-green($color, $green) {
  @return rgba(red($color), $green, blue($color), alpha($color));
}

@function set-blue($color, $blue) {
  @return rgba(red($color), green($color), $blue, alpha($color));
}


// HSL Functions
@function set-hue($color, $hue) {
  @return hsla($hue, saturation($color), lightness($color), alpha($color));
}

@function set-saturation($color, $saturation) {
  @return hsla(hue($color), $saturation, lightness($color), alpha($color));
}

@function set-lightness($color, $lightness) {
  @return hsla(hue($color), saturation($color), $lightness, alpha($color));
}

@function set-alpha($color, $alpha) {
  @return hsla(hue($color), saturation($color), lightness($color), $alpha);
}
engines/nucleus/scss/vendor/color-schemer/color-schemer/_colorblind.scss000060400000000762150753125200022612 0ustar00@function cs-colorblind($color, $mode: $cs-colorblind) {

  // Reference: http://www.w3.org/TR/AERT#color-contrast

  // Deuteranopia
  @if $mode == deuteranopia {
    @return $color;
  }

  // Protanopia
  @if $mode == protanopia {
    @return $color;
  }

  // Tritanopia
  @if $mode == tritanopia {
    @return $color;
  }


  // Return color if no color blind mode.
  @else {
    @return $color;
  }
}

@function cs-cb($color, $mode: $cs-colorblind) {
  @return cs-colorblind($color, $mode);
}
engines/nucleus/scss/vendor/color-schemer/color-schemer/_color-schemer.scss000060400000017716150753125200023234 0ustar00// brightness and hue offsets are based on the lightness and saturation of the color
// unless defined otherwise.
@function cs-brightness-offset($cs-brightness-offset) {
  @if $cs-brightness-offset == false {
    // find the difference between lightness
    @return lightness($cs-primary) - lightness(invert($cs-primary));
  }
  @else {
    @return $cs-brightness-offset;
  }
}

// Harmonized or Unaltered Color
@function clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount) {
  @if $cs-harmonize-mode != null {
    @return cs-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
  } @else {
    @return $color;
  }
}

// Primary color
@function cs-primary($cs-primary:$cs-primary, $cs-scheme:$cs-scheme, $cs-hue-offset:$cs-hue-offset, $cs-brightness-offset:$cs-brightness-offset, $cs-harmonize-mode:$cs-harmonize-mode, $cs-harmonize-color:$cs-harmonize-color, $cs-harmonize-amount:$cs-harmonize-amount) {
  @return clean-or-harmonize($cs-primary, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
}

// Secondary color scheme
@function cs-secondary($cs-primary:$cs-primary, $cs-scheme:$cs-scheme, $cs-hue-offset:$cs-hue-offset, $cs-brightness-offset:$cs-brightness-offset, $cs-harmonize-mode:$cs-harmonize-mode, $cs-harmonize-color:$cs-harmonize-color, $cs-harmonize-amount:$cs-harmonize-amount) {
  $cs-brightness-offset: cs-brightness-offset($cs-brightness-offset);

  // mono
  @if $cs-scheme == mono {
    @if $cs-brightness-offset < 0 {
      $color: lighten($cs-primary, abs($cs-brightness-offset));
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
    @else {
      $color: darken($cs-primary, abs($cs-brightness-offset));
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
  }

  // complement
  @if $cs-scheme == complement {
    @if $cs-color-model == ryb {
      $color: ryb-complement($cs-primary);
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
    @else {
      $color: complement($cs-primary);
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
  }

  // triad
  @if $cs-scheme == triad {
    @if $cs-color-model == ryb {
      $color: ryb-adjust-hue(ryb-complement($cs-primary), $cs-hue-offset);
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
    @else {
      $color: adjust-hue(complement($cs-primary), $cs-hue-offset);
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
  }

  // tetrad
  @if $cs-scheme == tetrad {
    @if $cs-color-model == ryb {
      $color: ryb-adjust-hue($cs-primary, $cs-hue-offset);
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
    @else {
      $color: adjust-hue($cs-primary, $cs-hue-offset);
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
  }

  // analogic
  @if $cs-scheme == analogic or $cs-scheme == accented-analogic {
    @if $cs-color-model == ryb {
      $color: ryb-adjust-hue($cs-primary, $cs-hue-offset);
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
    @else {
      $color: adjust-hue($cs-primary, $cs-hue-offset);
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
  }
}

// Tertiary color scheme
@function cs-tertiary($cs-primary:$cs-primary, $cs-scheme:$cs-scheme, $cs-hue-offset:$cs-hue-offset, $cs-brightness-offset:$cs-brightness-offset, $cs-harmonize-mode:$cs-harmonize-mode, $cs-harmonize-color:$cs-harmonize-color, $cs-harmonize-amount:$cs-harmonize-amount) {
  $cs-brightness-offset: cs-brightness-offset($cs-brightness-offset);

  // mono
  @if $cs-scheme == mono {
    $color: mix(cs-primary(), cs-secondary());
    @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
  }

  // complement
  @if $cs-scheme == complement {
    $color: equalize($cs-primary);
    @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
  }

  // triad
  @if $cs-scheme == triad {
    @if $cs-color-model == ryb {
      $color: ryb-adjust-hue(ryb-complement($cs-primary), $cs-hue-offset * -1);
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
    @else {
      $color: adjust-hue(complement($cs-primary), $cs-hue-offset * -1);
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
  }

  // tetrad
  @if $cs-scheme == tetrad {
    @if $cs-color-model == ryb {
      $color: ryb-complement($cs-primary);
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
    @else {
      $color: complement($cs-primary);
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
  }

  // analogic
  @if $cs-scheme == analogic or $cs-scheme == accented-analogic {
    @if $cs-color-model == ryb {
      $color: ryb-adjust-hue($cs-primary, $cs-hue-offset * -1);
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
    @else {
      $color: adjust-hue($cs-primary, $cs-hue-offset * -1);
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
  }

  // accented-analogic
  @if $cs-scheme == accented-analogic {
    @if $cs-color-model == ryb {
      $color: ryb-complement($cs-primary);
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
    @else {
      $color: complement($cs-primary);
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
  }
}

// Quadrary color scheme
@function cs-quadrary($cs-primary:$cs-primary, $cs-scheme:$cs-scheme, $cs-hue-offset:$cs-hue-offset, $cs-brightness-offset:$cs-brightness-offset, $cs-harmonize-mode:$cs-harmonize-mode, $cs-harmonize-color:$cs-harmonize-color, $cs-harmonize-amount:$cs-harmonize-amount) {
  $cs-brightness-offset: cs-brightness-offset($cs-brightness-offset);

  // mono
  @if $cs-scheme == mono {
    $color: equalize($cs-primary);
    @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
  }

  // complement
  @if $cs-scheme == complement {
    $color: equalize(ryb-complement($cs-primary));
    @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
  }

  // triad
  @if $cs-scheme == triad {
    $color: equalize($cs-primary);
    @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
  }

  // tetrad
  @if $cs-scheme == tetrad {
    @if $cs-color-model == ryb {
      $color: ryb-adjust-hue(ryb-complement($cs-primary), $cs-hue-offset);
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
    @else {
      $color: adjust-hue(complement($cs-primary), $cs-hue-offset);
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
  }

  // analogic
  @if $cs-scheme == analogic {
    $color: equalize($cs-primary);
    @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
  }

  // accented-analogic
  @if $cs-scheme == accented-analogic {
    @if $cs-color-model == ryb {
      $color: ryb-complement($cs-primary);
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
    @else {
      $color: complement($cs-primary);
      @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount);
    }
  }
}
engines/nucleus/scss/vendor/color-schemer/color-schemer/_equalize.scss000060400000000361150753125200022275 0ustar00// Color equalize credit to Mason Wendell:
// https://github.com/canarymason/The-Coding-Designers-Survival-Kit/blob/master/sass/partials/lib/variables/_color_schemes.sass
@function equalize($color) {
  @return hsl(hue($color), 100%, 50%);
}
engines/nucleus/scss/vendor/color-schemer/_color-schemer.scss000060400000001723150753125200020461 0ustar00@import "blend-modes";

// Defaults
$cs-primary           : #f00 !default;
$cs-scheme            : mono !default;   // mono, complement, triad, tetrad, analogic, accented-analogic
$cs-hue-offset        : 30 !default;
$cs-brightness-offset : false !default;
$cs-color-model       : rgb !default;    // rgb, ryb
$cs-colorblind        : normal !default;
$cs-harmonize-mode    : null !default;
$cs-harmonize-color   : $cs-primary !default;
$cs-harmonize-amount  : 10% !default;

// Partials
@import "color-schemer/interpolation";
@import "color-schemer/cmyk";
@import "color-schemer/ryb";
@import "color-schemer/colorblind";
@import "color-schemer/equalize";
@import "color-schemer/mix";
@import "color-schemer/tint-shade";
@import "color-schemer/color-adjustments";
@import "color-schemer/harmonize";
@import "color-schemer/color-schemer";

@import "color-schemer/comparison";

@import "color-schemer/mixins";

// Tell other files that this is loaded.
$color-schemer-loaded : true;
engines/nucleus/scss/vendor/bootstrap5/bootstrap-utilities.scss000064400000000611150753125200021145 0ustar00/*!
 * Bootstrap Utilities v5.0.2 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */

// Configuration
@import "functions";
@import "variables";
@import "mixins";
@import "utilities";

// Helpers
@import "helpers";

// Utilities
@import "utilities/api";
engines/nucleus/scss/vendor/bootstrap5/_type.scss000064400000002500150753125200016236 0ustar00//
// Headings
//
.h1 {
  @extend h1;
}

.h2 {
  @extend h2;
}

.h3 {
  @extend h3;
}

.h4 {
  @extend h4;
}

.h5 {
  @extend h5;
}

.h6 {
  @extend h6;
}


.lead {
  @include font-size($lead-font-size);
  font-weight: $lead-font-weight;
}

// Type display classes
@each $display, $font-size in $display-font-sizes {
  .display-#{$display} {
    @include font-size($font-size);
    font-weight: $display-font-weight;
    line-height: $display-line-height;
  }
}

//
// Emphasis
//
.small {
  @extend small;
}

.mark {
  @extend mark;
}

//
// Lists
//

.list-unstyled {
  @include list-unstyled();
}

// Inline turns list items into inline-block
.list-inline {
  @include list-unstyled();
}
.list-inline-item {
  display: inline-block;

  &:not(:last-child) {
    margin-right: $list-inline-padding;
  }
}


//
// Misc
//

// Builds on `abbr`
.initialism {
  @include font-size($initialism-font-size);
  text-transform: uppercase;
}

// Blockquotes
.blockquote {
  margin-bottom: $blockquote-margin-y;
  @include font-size($blockquote-font-size);

  > :last-child {
    margin-bottom: 0;
  }
}

.blockquote-footer {
  margin-top: -$blockquote-margin-y;
  margin-bottom: $blockquote-margin-y;
  @include font-size($blockquote-footer-font-size);
  color: $blockquote-footer-color;

  &::before {
    content: "\2014\00A0"; // em dash, nbsp
  }
}
engines/nucleus/scss/vendor/bootstrap5/_accordion.scss000064400000005053150753125200017224 0ustar00//
// Base styles
//

.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: $accordion-button-padding-y $accordion-button-padding-x;
  @include font-size($font-size-base);
  color: $accordion-button-color;
  text-align: left; // Reset button style
  background-color: $accordion-button-bg;
  border: 0;
  @include border-radius(0);
  overflow-anchor: none;
  transition: $accordion-transition;

  &:not(.collapsed) {
    color: $accordion-button-active-color;
    background-color: $accordion-button-active-bg;
    box-shadow: inset 0 ($accordion-border-width * -1) 0 $accordion-border-color;

    &::after {
      background-image: escape-svg($accordion-button-active-icon);
      transform: $accordion-icon-transform;
    }
  }

  // Accordion icon
  &::after {
    flex-shrink: 0;
    width: $accordion-icon-width;
    height: $accordion-icon-width;
    margin-left: auto;
    content: "";
    background-image: escape-svg($accordion-button-icon);
    background-repeat: no-repeat;
    background-size: $accordion-icon-width;
    transition: $accordion-icon-transition;
  }

  &:hover {
    z-index: 2;
  }

  &:focus {
    z-index: 3;
    border-color: $accordion-button-focus-border-color;
    outline: 0;
    box-shadow: $accordion-button-focus-box-shadow;
  }
}

.accordion-header {
  margin-bottom: 0;
}

.accordion-item {
  background-color: $accordion-bg;
  border: $accordion-border-width solid $accordion-border-color;

  &:first-of-type {
    @include border-top-radius($accordion-border-radius);

    .accordion-button {
      @include border-top-radius($accordion-inner-border-radius);
    }
  }

  &:not(:first-of-type) {
    border-top: 0;
  }

  // Only set a border-radius on the last item if the accordion is collapsed
  &:last-of-type {
    @include border-bottom-radius($accordion-border-radius);

    .accordion-button {
      &.collapsed {
        @include border-bottom-radius($accordion-inner-border-radius);
      }
    }

    .accordion-collapse {
      @include border-bottom-radius($accordion-border-radius);
    }
  }
}

.accordion-body {
  padding: $accordion-body-padding-y $accordion-body-padding-x;
}


// Flush accordion items
//
// Remove borders and border-radius to keep accordion items edge-to-edge.

.accordion-flush {
  .accordion-collapse {
    border-width: 0;
  }

  .accordion-item {
    border-right: 0;
    border-left: 0;
    @include border-radius(0);

    &:first-child { border-top: 0; }
    &:last-child { border-bottom: 0; }

    .accordion-button {
      @include border-radius(0);
    }
  }
}
engines/nucleus/scss/vendor/bootstrap5/_list-group.scss000064400000010710150753125200017364 0ustar00// Base class
//
// Easily usable on <ul>, <ol>, or <div>.

.list-group {
  display: flex;
  flex-direction: column;

  // No need to set list-style: none; since .list-group-item is block level
  padding-left: 0; // reset padding because ul and ol
  margin-bottom: 0;
  @include border-radius($list-group-border-radius);
}

.list-group-numbered {
  list-style-type: none;
  counter-reset: section;

  > li::before {
    // Increments only this instance of the section counter
    content: counters(section, ".") ". ";
    counter-increment: section;
  }
}


// Interactive list items
//
// Use anchor or button elements instead of `li`s or `div`s to create interactive
// list items. Includes an extra `.active` modifier class for selected items.

.list-group-item-action {
  width: 100%; // For `<button>`s (anchors become 100% by default though)
  color: $list-group-action-color;
  text-align: inherit; // For `<button>`s (anchors inherit)

  // Hover state
  &:hover,
  &:focus {
    z-index: 1; // Place hover/focus items above their siblings for proper border styling
    color: $list-group-action-hover-color;
    text-decoration: none;
    background-color: $list-group-hover-bg;
  }

  &:active {
    color: $list-group-action-active-color;
    background-color: $list-group-action-active-bg;
  }
}


// Individual list items
//
// Use on `li`s or `div`s within the `.list-group` parent.

.list-group-item {
  position: relative;
  display: block;
  padding: $list-group-item-padding-y $list-group-item-padding-x;
  color: $list-group-color;
  text-decoration: if($link-decoration == none, null, none);
  background-color: $list-group-bg;
  border: $list-group-border-width solid $list-group-border-color;

  &:first-child {
    @include border-top-radius(inherit);
  }

  &:last-child {
    @include border-bottom-radius(inherit);
  }

  &.disabled,
  &:disabled {
    color: $list-group-disabled-color;
    pointer-events: none;
    background-color: $list-group-disabled-bg;
  }

  // Include both here for `<a>`s and `<button>`s
  &.active {
    z-index: 2; // Place active items above their siblings for proper border styling
    color: $list-group-active-color;
    background-color: $list-group-active-bg;
    border-color: $list-group-active-border-color;
  }

  & + & {
    border-top-width: 0;

    &.active {
      margin-top: -$list-group-border-width;
      border-top-width: $list-group-border-width;
    }
  }
}


// Horizontal
//
// Change the layout of list group items from vertical (default) to horizontal.

@each $breakpoint in map-keys($grid-breakpoints) {
  @include media-breakpoint-up($breakpoint) {
    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);

    .list-group-horizontal#{$infix} {
      flex-direction: row;

      > .list-group-item {
        &:first-child {
          @include border-bottom-start-radius($list-group-border-radius);
          @include border-top-end-radius(0);
        }

        &:last-child {
          @include border-top-end-radius($list-group-border-radius);
          @include border-bottom-start-radius(0);
        }

        &.active {
          margin-top: 0;
        }

        + .list-group-item {
          border-top-width: $list-group-border-width;
          border-left-width: 0;

          &.active {
            margin-left: -$list-group-border-width;
            border-left-width: $list-group-border-width;
          }
        }
      }
    }
  }
}


// Flush list items
//
// Remove borders and border-radius to keep list group items edge-to-edge. Most
// useful within other components (e.g., cards).

.list-group-flush {
  @include border-radius(0);

  > .list-group-item {
    border-width: 0 0 $list-group-border-width;

    &:last-child {
      border-bottom-width: 0;
    }
  }
}


// scss-docs-start list-group-modifiers
// List group contextual variants
//
// Add modifier classes to change text and background color on individual items.
// Organizationally, this must come after the `:hover` states.

@each $state, $value in $theme-colors {
  $list-group-variant-bg: shift-color($value, $list-group-item-bg-scale);
  $list-group-variant-color: shift-color($value, $list-group-item-color-scale);
  @if (contrast-ratio($list-group-variant-bg, $list-group-variant-color) < $min-contrast-ratio) {
    $list-group-variant-color: mix($value, color-contrast($list-group-variant-bg), abs($list-group-item-color-scale));
  }

  @include list-group-item-variant($state, $list-group-variant-bg, $list-group-variant-color);
}
// scss-docs-end list-group-modifiers
engines/nucleus/scss/vendor/bootstrap5/_utilities.scss000064400000032135150753125200017277 0ustar00// stylelint-disable indentation

// Utilities

$utilities: () !default;
// stylelint-disable-next-line scss/dollar-variable-default
$utilities: map-merge(
  (
    // scss-docs-start utils-vertical-align
    "align": (
      property: vertical-align,
      class: align,
      values: baseline top middle bottom text-bottom text-top
    ),
    // scss-docs-end utils-vertical-align
    // scss-docs-start utils-float
    "float": (
      responsive: true,
      property: float,
      values: (
        start: left,
        end: right,
        none: none,
      )
    ),
    // scss-docs-end utils-float
    // scss-docs-start utils-overflow
    "overflow": (
      property: overflow,
      values: auto hidden visible scroll,
    ),
    // scss-docs-end utils-overflow
    // scss-docs-start utils-display
    "display": (
      responsive: true,
      print: true,
      property: display,
      class: d,
      values: inline inline-block block grid table table-row table-cell flex inline-flex none
    ),
    // scss-docs-end utils-display
    // scss-docs-start utils-shadow
    "shadow": (
      property: box-shadow,
      class: shadow,
      values: (
        null: $box-shadow,
        sm: $box-shadow-sm,
        lg: $box-shadow-lg,
        none: none,
      )
    ),
    // scss-docs-end utils-shadow
    // scss-docs-start utils-position
    "position": (
      property: position,
      values: static relative absolute fixed sticky
    ),
    "top": (
      property: top,
      values: $position-values
    ),
    "bottom": (
      property: bottom,
      values: $position-values
    ),
    "start": (
      property: left,
      class: start,
      values: $position-values
    ),
    "end": (
      property: right,
      class: end,
      values: $position-values
    ),
    "translate-middle": (
      property: transform,
      class: translate-middle,
      values: (
        null: translate(-50%, -50%),
        x: translateX(-50%),
        y: translateY(-50%),
      )
    ),
    // scss-docs-end utils-position
    // scss-docs-start utils-borders
    "border": (
      property: border,
      values: (
        null: $border-width solid $border-color,
        0: 0,
      )
    ),
    "border-top": (
      property: border-top,
      values: (
        null: $border-width solid $border-color,
        0: 0,
      )
    ),
    "border-end": (
      property: border-right,
      class: border-end,
      values: (
        null: $border-width solid $border-color,
        0: 0,
      )
    ),
    "border-bottom": (
      property: border-bottom,
      values: (
        null: $border-width solid $border-color,
        0: 0,
      )
    ),
    "border-start": (
      property: border-left,
      class: border-start,
      values: (
        null: $border-width solid $border-color,
        0: 0,
      )
    ),
    "border-color": (
      property: border-color,
      class: border,
      values: map-merge($theme-colors, ("white": $white))
    ),
    "border-width": (
      property: border-width,
      class: border,
      values: $border-widths
    ),
    // scss-docs-end utils-borders
    // Sizing utilities
    // scss-docs-start utils-sizing
    "width": (
      property: width,
      class: w,
      values: (
        25: 25%,
        50: 50%,
        75: 75%,
        100: 100%,
        auto: auto
      )
    ),
    "max-width": (
      property: max-width,
      class: mw,
      values: (100: 100%)
    ),
    "viewport-width": (
      property: width,
      class: vw,
      values: (100: 100vw)
    ),
    "min-viewport-width": (
      property: min-width,
      class: min-vw,
      values: (100: 100vw)
    ),
    "height": (
      property: height,
      class: h,
      values: (
        25: 25%,
        50: 50%,
        75: 75%,
        100: 100%,
        auto: auto
      )
    ),
    "max-height": (
      property: max-height,
      class: mh,
      values: (100: 100%)
    ),
    "viewport-height": (
      property: height,
      class: vh,
      values: (100: 100vh)
    ),
    "min-viewport-height": (
      property: min-height,
      class: min-vh,
      values: (100: 100vh)
    ),
    // scss-docs-end utils-sizing
    // Flex utilities
    // scss-docs-start utils-flex
    "flex": (
      responsive: true,
      property: flex,
      values: (fill: 1 1 auto)
    ),
    "flex-direction": (
      responsive: true,
      property: flex-direction,
      class: flex,
      values: row column row-reverse column-reverse
    ),
    "flex-grow": (
      responsive: true,
      property: flex-grow,
      class: flex,
      values: (
        grow-0: 0,
        grow-1: 1,
      )
    ),
    "flex-shrink": (
      responsive: true,
      property: flex-shrink,
      class: flex,
      values: (
        shrink-0: 0,
        shrink-1: 1,
      )
    ),
    "flex-wrap": (
      responsive: true,
      property: flex-wrap,
      class: flex,
      values: wrap nowrap wrap-reverse
    ),
    "gap": (
      responsive: true,
      property: gap,
      class: gap,
      values: $spacers
    ),
    "justify-content": (
      responsive: true,
      property: justify-content,
      values: (
        start: flex-start,
        end: flex-end,
        center: center,
        between: space-between,
        around: space-around,
        evenly: space-evenly,
      )
    ),
    "align-items": (
      responsive: true,
      property: align-items,
      values: (
        start: flex-start,
        end: flex-end,
        center: center,
        baseline: baseline,
        stretch: stretch,
      )
    ),
    "align-content": (
      responsive: true,
      property: align-content,
      values: (
        start: flex-start,
        end: flex-end,
        center: center,
        between: space-between,
        around: space-around,
        stretch: stretch,
      )
    ),
    "align-self": (
      responsive: true,
      property: align-self,
      values: (
        auto: auto,
        start: flex-start,
        end: flex-end,
        center: center,
        baseline: baseline,
        stretch: stretch,
      )
    ),
    "order": (
      responsive: true,
      property: order,
      values: (
        first: -1,
        0: 0,
        1: 1,
        2: 2,
        3: 3,
        4: 4,
        5: 5,
        last: 6,
      ),
    ),
    // scss-docs-end utils-flex
    // Margin utilities
    // scss-docs-start utils-spacing
    "margin": (
      responsive: true,
      property: margin,
      class: m,
      values: map-merge($spacers, (auto: auto))
    ),
    "margin-x": (
      responsive: true,
      property: margin-right margin-left,
      class: mx,
      values: map-merge($spacers, (auto: auto))
    ),
    "margin-y": (
      responsive: true,
      property: margin-top margin-bottom,
      class: my,
      values: map-merge($spacers, (auto: auto))
    ),
    "margin-top": (
      responsive: true,
      property: margin-top,
      class: mt,
      values: map-merge($spacers, (auto: auto))
    ),
    "margin-end": (
      responsive: true,
      property: margin-right,
      class: me,
      values: map-merge($spacers, (auto: auto))
    ),
    "margin-bottom": (
      responsive: true,
      property: margin-bottom,
      class: mb,
      values: map-merge($spacers, (auto: auto))
    ),
    "margin-start": (
      responsive: true,
      property: margin-left,
      class: ms,
      values: map-merge($spacers, (auto: auto))
    ),
    // Negative margin utilities
    "negative-margin": (
      responsive: true,
      property: margin,
      class: m,
      values: $negative-spacers
    ),
    "negative-margin-x": (
      responsive: true,
      property: margin-right margin-left,
      class: mx,
      values: $negative-spacers
    ),
    "negative-margin-y": (
      responsive: true,
      property: margin-top margin-bottom,
      class: my,
      values: $negative-spacers
    ),
    "negative-margin-top": (
      responsive: true,
      property: margin-top,
      class: mt,
      values: $negative-spacers
    ),
    "negative-margin-end": (
      responsive: true,
      property: margin-right,
      class: me,
      values: $negative-spacers
    ),
    "negative-margin-bottom": (
      responsive: true,
      property: margin-bottom,
      class: mb,
      values: $negative-spacers
    ),
    "negative-margin-start": (
      responsive: true,
      property: margin-left,
      class: ms,
      values: $negative-spacers
    ),
    // Padding utilities
    "padding": (
      responsive: true,
      property: padding,
      class: p,
      values: $spacers
    ),
    "padding-x": (
      responsive: true,
      property: padding-right padding-left,
      class: px,
      values: $spacers
    ),
    "padding-y": (
      responsive: true,
      property: padding-top padding-bottom,
      class: py,
      values: $spacers
    ),
    "padding-top": (
      responsive: true,
      property: padding-top,
      class: pt,
      values: $spacers
    ),
    "padding-end": (
      responsive: true,
      property: padding-right,
      class: pe,
      values: $spacers
    ),
    "padding-bottom": (
      responsive: true,
      property: padding-bottom,
      class: pb,
      values: $spacers
    ),
    "padding-start": (
      responsive: true,
      property: padding-left,
      class: ps,
      values: $spacers
    ),
    // scss-docs-end utils-spacing
    // Text
    // scss-docs-start utils-text
    "font-family": (
      property: font-family,
      class: font,
      values: (monospace: var(--#{$variable-prefix}font-monospace))
    ),
    "font-size": (
      rfs: true,
      property: font-size,
      class: fs,
      values: $font-sizes
    ),
    "font-style": (
      property: font-style,
      class: fst,
      values: italic normal
    ),
    "font-weight": (
      property: font-weight,
      class: fw,
      values: (
        light: $font-weight-light,
        lighter: $font-weight-lighter,
        normal: $font-weight-normal,
        bold: $font-weight-bold,
        bolder: $font-weight-bolder
      )
    ),
    "line-height": (
      property: line-height,
      class: lh,
      values: (
        1: 1,
        sm: $line-height-sm,
        base: $line-height-base,
        lg: $line-height-lg,
      )
    ),
    "text-align": (
      responsive: true,
      property: text-align,
      class: text,
      values: (
        start: left,
        end: right,
        center: center,
      )
    ),
    "text-decoration": (
      property: text-decoration,
      values: none underline line-through
    ),
    "text-transform": (
      property: text-transform,
      class: text,
      values: lowercase uppercase capitalize
    ),
    "white-space": (
      property: white-space,
      class: text,
      values: (
        wrap: normal,
        nowrap: nowrap,
      )
    ),
    "word-wrap": (
      property: word-wrap word-break,
      class: text,
      values: (break: break-word),
      rtl: false
    ),
    // scss-docs-end utils-text
    // scss-docs-start utils-color
    "color": (
      property: color,
      class: text,
      values: map-merge(
        $theme-colors,
        (
          "white": $white,
          "body": $body-color,
          "muted": $text-muted,
          "black-50": rgba($black, .5),
          "white-50": rgba($white, .5),
          "reset": inherit,
        )
      )
    ),
    // scss-docs-end utils-color
    // scss-docs-start utils-bg-color
    "background-color": (
      property: background-color,
      class: bg,
      values: map-merge(
        $theme-colors,
        (
          "body": $body-bg,
          "white": $white,
          "transparent": transparent
        )
      )
    ),
    // scss-docs-end utils-bg-color
    "gradient": (
      property: background-image,
      class: bg,
      values: (gradient: var(--#{$variable-prefix}gradient))
    ),
    // scss-docs-start utils-interaction
    "user-select": (
      property: user-select,
      values: all auto none
    ),
    "pointer-events": (
      property: pointer-events,
      class: pe,
      values: none auto,
    ),
    // scss-docs-end utils-interaction
    // scss-docs-start utils-border-radius
    "rounded": (
      property: border-radius,
      class: rounded,
      values: (
        null: $border-radius,
        0: 0,
        1: $border-radius-sm,
        2: $border-radius,
        3: $border-radius-lg,
        circle: 50%,
        pill: $border-radius-pill
      )
    ),
    "rounded-top": (
      property: border-top-left-radius border-top-right-radius,
      class: rounded-top,
      values: (null: $border-radius)
    ),
    "rounded-end": (
      property: border-top-right-radius border-bottom-right-radius,
      class: rounded-end,
      values: (null: $border-radius)
    ),
    "rounded-bottom": (
      property: border-bottom-right-radius border-bottom-left-radius,
      class: rounded-bottom,
      values: (null: $border-radius)
    ),
    "rounded-start": (
      property: border-bottom-left-radius border-top-left-radius,
      class: rounded-start,
      values: (null: $border-radius)
    ),
    // scss-docs-end utils-border-radius
    // scss-docs-start utils-visibility
    "visibility": (
      property: visibility,
      class: null,
      values: (
        visible: visible,
        invisible: hidden,
      )
    )
    // scss-docs-end utils-visibility
  ),
  $utilities
);
engines/nucleus/scss/vendor/bootstrap5/_dropdown.scss000064400000012575150753125200017126 0ustar00// The dropdown wrapper (`<div>`)
.dropup,
.dropend,
.dropdown,
.dropstart {
  position: relative;
}

.dropdown-toggle {
  white-space: nowrap;

  // Generate the caret automatically
  @include caret();
}

// The dropdown menu
.dropdown-menu {
  position: absolute;
  z-index: $zindex-dropdown;
  display: none; // none by default, but block on "open" of the menu
  min-width: $dropdown-min-width;
  padding: $dropdown-padding-y $dropdown-padding-x;
  margin: 0; // Override default margin of ul
  @include font-size($dropdown-font-size);
  color: $dropdown-color;
  text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
  list-style: none;
  background-color: $dropdown-bg;
  background-clip: padding-box;
  border: $dropdown-border-width solid $dropdown-border-color;
  @include border-radius($dropdown-border-radius);
  @include box-shadow($dropdown-box-shadow);

  &[data-bs-popper] {
    top: 100%;
    left: 0;
    margin-top: $dropdown-spacer;
  }
}

// scss-docs-start responsive-breakpoints
// We deliberately hardcode the `bs-` prefix because we check
// this custom property in JS to determine Popper's positioning

@each $breakpoint in map-keys($grid-breakpoints) {
  @include media-breakpoint-up($breakpoint) {
    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);

    .dropdown-menu#{$infix}-start {
      --bs-position: start;

      &[data-bs-popper] {
        right: auto;
        left: 0;
      }
    }

    .dropdown-menu#{$infix}-end {
      --bs-position: end;

      &[data-bs-popper] {
        right: 0;
        left: auto;
      }
    }
  }
}
// scss-docs-end responsive-breakpoints

// Allow for dropdowns to go bottom up (aka, dropup-menu)
// Just add .dropup after the standard .dropdown class and you're set.
.dropup {
  .dropdown-menu[data-bs-popper] {
    top: auto;
    bottom: 100%;
    margin-top: 0;
    margin-bottom: $dropdown-spacer;
  }

  .dropdown-toggle {
    @include caret(up);
  }
}

.dropend {
  .dropdown-menu[data-bs-popper] {
    top: 0;
    right: auto;
    left: 100%;
    margin-top: 0;
    margin-left: $dropdown-spacer;
  }

  .dropdown-toggle {
    @include caret(end);
    &::after {
      vertical-align: 0;
    }
  }
}

.dropstart {
  .dropdown-menu[data-bs-popper] {
    top: 0;
    right: 100%;
    left: auto;
    margin-top: 0;
    margin-right: $dropdown-spacer;
  }

  .dropdown-toggle {
    @include caret(start);
    &::before {
      vertical-align: 0;
    }
  }
}


// Dividers (basically an `<hr>`) within the dropdown
.dropdown-divider {
  height: 0;
  margin: $dropdown-divider-margin-y 0;
  overflow: hidden;
  border-top: 1px solid $dropdown-divider-bg;
}

// Links, buttons, and more within the dropdown menu
//
// `<button>`-specific styles are denoted with `// For <button>s`
.dropdown-item {
  display: block;
  width: 100%; // For `<button>`s
  padding: $dropdown-item-padding-y $dropdown-item-padding-x;
  clear: both;
  font-weight: $font-weight-normal;
  color: $dropdown-link-color;
  text-align: inherit; // For `<button>`s
  text-decoration: if($link-decoration == none, null, none);
  white-space: nowrap; // prevent links from randomly breaking onto new lines
  background-color: transparent; // For `<button>`s
  border: 0; // For `<button>`s

  // Prevent dropdown overflow if there's no padding
  // See https://github.com/twbs/bootstrap/pull/27703
  @if $dropdown-padding-y == 0 {
    &:first-child {
      @include border-top-radius($dropdown-inner-border-radius);
    }

    &:last-child {
      @include border-bottom-radius($dropdown-inner-border-radius);
    }
  }

  &:hover,
  &:focus {
    color: $dropdown-link-hover-color;
    text-decoration: if($link-hover-decoration == underline, none, null);
    @include gradient-bg($dropdown-link-hover-bg);
  }

  &.active,
  &:active {
    color: $dropdown-link-active-color;
    text-decoration: none;
    @include gradient-bg($dropdown-link-active-bg);
  }

  &.disabled,
  &:disabled {
    color: $dropdown-link-disabled-color;
    pointer-events: none;
    background-color: transparent;
    // Remove CSS gradients if they're enabled
    background-image: if($enable-gradients, none, null);
  }
}

.dropdown-menu.show {
  display: block;
}

// Dropdown section headers
.dropdown-header {
  display: block;
  padding: $dropdown-header-padding;
  margin-bottom: 0; // for use with heading elements
  @include font-size($font-size-sm);
  color: $dropdown-header-color;
  white-space: nowrap; // as with > li > a
}

// Dropdown text
.dropdown-item-text {
  display: block;
  padding: $dropdown-item-padding-y $dropdown-item-padding-x;
  color: $dropdown-link-color;
}

// Dark dropdowns
.dropdown-menu-dark {
  color: $dropdown-dark-color;
  background-color: $dropdown-dark-bg;
  border-color: $dropdown-dark-border-color;
  @include box-shadow($dropdown-dark-box-shadow);

  .dropdown-item {
    color: $dropdown-dark-link-color;

    &:hover,
    &:focus {
      color: $dropdown-dark-link-hover-color;
      @include gradient-bg($dropdown-dark-link-hover-bg);
    }

    &.active,
    &:active {
      color: $dropdown-dark-link-active-color;
      @include gradient-bg($dropdown-dark-link-active-bg);
    }

    &.disabled,
    &:disabled {
      color: $dropdown-dark-link-disabled-color;
    }
  }

  .dropdown-divider {
    border-color: $dropdown-dark-divider-bg;
  }

  .dropdown-item-text {
    color: $dropdown-dark-link-color;
  }

  .dropdown-header {
    color: $dropdown-dark-header-color;
  }
}
engines/nucleus/scss/vendor/bootstrap5/_tables.scss000064400000007747150753125200016551 0ustar00//
// Basic Bootstrap table
//

.table {
  --#{$variable-prefix}table-bg: #{$table-bg};
  --#{$variable-prefix}table-accent-bg: #{$table-accent-bg};
  --#{$variable-prefix}table-striped-color: #{$table-striped-color};
  --#{$variable-prefix}table-striped-bg: #{$table-striped-bg};
  --#{$variable-prefix}table-active-color: #{$table-active-color};
  --#{$variable-prefix}table-active-bg: #{$table-active-bg};
  --#{$variable-prefix}table-hover-color: #{$table-hover-color};
  --#{$variable-prefix}table-hover-bg: #{$table-hover-bg};

  width: 100%;
  margin-bottom: $spacer;
  color: $table-color;
  vertical-align: $table-cell-vertical-align;
  border-color: $table-border-color;

  // Target th & td
  // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.
  // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).
  // Another advantage is that this generates less code and makes the selector less specific making it easier to override.
  // stylelint-disable-next-line selector-max-universal
  > :not(caption) > * > * {
    padding: $table-cell-padding-y $table-cell-padding-x;
    background-color: var(--#{$variable-prefix}table-bg);
    border-bottom: 1px solid rgb(223, 227, 231);
  }

  > tbody {
    vertical-align: inherit;
  }

  > thead {
    vertical-align: bottom;
  }

  // Highlight border color between thead, tbody and tfoot.
  > :not(:last-child) > :last-child > * {
    border-bottom-color: $table-group-separator-color;
  }
}


//
// Change placement of captions with a class
//

.caption-top {
  caption-side: top;
}


//
// Condensed table w/ half padding
//

.table-sm {
  // stylelint-disable-next-line selector-max-universal
  > :not(caption) > * > * {
    padding: $table-cell-padding-y-sm $table-cell-padding-x-sm;
  }
}


// Border versions
//
// Add or remove borders all around the table and between all the columns.
//
// When borders are added on all sides of the cells, the corners can render odd when
// these borders do not have the same color or if they are semi-transparent.
// Therefor we add top and border bottoms to the `tr`s and left and right borders
// to the `td`s or `th`s

.table-bordered {
  > :not(caption) > * {
    border-width: $table-border-width 0;

    // stylelint-disable-next-line selector-max-universal
    > * {
      border-width: 0 $table-border-width;
    }
  }
}

.table-borderless {
  // stylelint-disable-next-line selector-max-universal
  > :not(caption) > * > * {
    border-bottom-width: 0;
  }
}

// Zebra-striping
//
// Default zebra-stripe styles (alternating gray and transparent backgrounds)

.table-striped {
  > tbody > tr:nth-of-type(#{$table-striped-order}) {
    --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-striped-bg);
    color: var(--#{$variable-prefix}table-striped-color);
  }
}

// Active table
//
// The `.table-active` class can be added to highlight rows or cells

.table-active {
  --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-active-bg);
  color: var(--#{$variable-prefix}table-active-color);
}

// Hover effect
//
// Placed here since it has to come after the potential zebra striping

.table-hover {
  > tbody > tr:hover {
    --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-hover-bg);
    color: var(--#{$variable-prefix}table-hover-color);
  }
}


// Table variants
//
// Table variants set the table cell backgrounds, border colors
// and the colors of the striped, hovered & active tables

@each $color, $value in $table-variants {
  @include table-variant($color, $value);
}

// Responsive tables
//
// Generate series of `.table-responsive-*` classes for configuring the screen
// size of where your table will overflow.

@each $breakpoint in map-keys($grid-breakpoints) {
  $infix: breakpoint-infix($breakpoint, $grid-breakpoints);

  @include media-breakpoint-down($breakpoint) {
    .table-responsive#{$infix} {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }
  }
}
engines/nucleus/scss/vendor/bootstrap5/_progress.scss000064400000002210150753125200017117 0ustar00// Disable animation if transitions are disabled

// scss-docs-start progress-keyframes
@if $enable-transitions {
  @keyframes progress-bar-stripes {
    0% { background-position-x: $progress-height; }
  }
}
// scss-docs-end progress-keyframes

.progress {
  display: flex;
  height: $progress-height;
  overflow: hidden; // force rounded corners by cropping it
  @include font-size($progress-font-size);
  background-color: $progress-bg;
  @include border-radius($progress-border-radius);
  @include box-shadow($progress-box-shadow);
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: $progress-bar-color;
  text-align: center;
  white-space: nowrap;
  background-color: $progress-bar-bg;
  transition: $progress-bar-transition;
}

.progress-bar-striped {
  @include gradient-striped();
  background-size: $progress-height $progress-height;
}

@if $enable-transitions {
  .progress-bar-animated {
    animation: $progress-bar-animation-timing progress-bar-stripes;

    @if $enable-reduced-motion {
      @media (prefers-reduced-motion: reduce) {
        animation: none;
      }
    }
  }
}
engines/nucleus/scss/vendor/bootstrap5/_forms.scss000064400000000400150753125200016400 0ustar00@import "forms/labels";
@import "forms/form-text";
@import "forms/form-control";
@import "forms/form-select";
@import "forms/form-check";
@import "forms/form-range";
@import "forms/floating-labels";
@import "forms/input-group";
@import "forms/validation";
engines/nucleus/scss/vendor/bootstrap5/_pagination.scss000064400000003210150753125200017405 0ustar00.pagination {
  display: flex;
  @include list-unstyled();
}

.page-link {
  position: relative;
  display: block;
  color: $pagination-color;
  text-decoration: if($link-decoration == none, null, none);
  background-color: $pagination-bg;
  border: $pagination-border-width solid $pagination-border-color;
  transition: $pagination-transition;

  &:hover {
    z-index: 2;
    color: $pagination-hover-color;
    text-decoration: if($link-hover-decoration == underline, none, null);
    background-color: $pagination-hover-bg;
    border-color: $pagination-hover-border-color;
  }

  &:focus {
    z-index: 3;
    color: $pagination-focus-color;
    background-color: $pagination-focus-bg;
    outline: $pagination-focus-outline;
    box-shadow: $pagination-focus-box-shadow;
  }
}

.page-item {
  &:not(:first-child) .page-link {
    margin-left: $pagination-margin-start;
  }

  &.active .page-link {
    z-index: 3;
    color: $pagination-active-color;
    @include gradient-bg($pagination-active-bg);
    border-color: $pagination-active-border-color;
  }

  &.disabled .page-link {
    color: $pagination-disabled-color;
    pointer-events: none;
    background-color: $pagination-disabled-bg;
    border-color: $pagination-disabled-border-color;
  }
}


//
// Sizing
//
@include pagination-size($pagination-padding-y, $pagination-padding-x, null, $pagination-border-radius);

.pagination-lg {
  @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $pagination-border-radius-lg);
}

.pagination-sm {
  @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $pagination-border-radius-sm);
}
engines/nucleus/scss/vendor/bootstrap5/_tooltip.scss000064400000005060150753125200016753 0ustar00// Base class
.tooltip {
  position: absolute;
  z-index: $zindex-tooltip;
  display: block;
  margin: $tooltip-margin;
  // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
  // So reset our font and text properties to avoid inheriting weird values.
  @include reset-text();
  @include font-size($tooltip-font-size);
  // Allow breaking very long words so they don't overflow the tooltip's bounds
  word-wrap: break-word;
  opacity: 0;

  &.show { opacity: $tooltip-opacity; }

  .tooltip-arrow {
    position: absolute;
    display: block;
    width: $tooltip-arrow-width;
    height: $tooltip-arrow-height;

    &::before {
      position: absolute;
      content: "";
      border-color: transparent;
      border-style: solid;
    }
  }
}

.bs-tooltip-top {
  padding: $tooltip-arrow-height 0;

  .tooltip-arrow {
    bottom: 0;

    &::before {
      top: -1px;
      border-width: $tooltip-arrow-height ($tooltip-arrow-width * .5) 0;
      border-top-color: $tooltip-arrow-color;
    }
  }
}

.bs-tooltip-end {
  padding: 0 $tooltip-arrow-height;

  .tooltip-arrow {
    left: 0;
    width: $tooltip-arrow-height;
    height: $tooltip-arrow-width;

    &::before {
      right: -1px;
      border-width: ($tooltip-arrow-width * .5) $tooltip-arrow-height ($tooltip-arrow-width * .5) 0;
      border-right-color: $tooltip-arrow-color;
    }
  }
}

.bs-tooltip-bottom {
  padding: $tooltip-arrow-height 0;

  .tooltip-arrow {
    top: 0;

    &::before {
      bottom: -1px;
      border-width: 0 ($tooltip-arrow-width * .5) $tooltip-arrow-height;
      border-bottom-color: $tooltip-arrow-color;
    }
  }
}

.bs-tooltip-start {
  padding: 0 $tooltip-arrow-height;

  .tooltip-arrow {
    right: 0;
    width: $tooltip-arrow-height;
    height: $tooltip-arrow-width;

    &::before {
      left: -1px;
      border-width: ($tooltip-arrow-width * .5) 0 ($tooltip-arrow-width * .5) $tooltip-arrow-height;
      border-left-color: $tooltip-arrow-color;
    }
  }
}

.bs-tooltip-auto {
  &[data-popper-placement^="top"] {
    @extend .bs-tooltip-top;
  }
  &[data-popper-placement^="right"] {
    @extend .bs-tooltip-end;
  }
  &[data-popper-placement^="bottom"] {
    @extend .bs-tooltip-bottom;
  }
  &[data-popper-placement^="left"] {
    @extend .bs-tooltip-start;
  }
}

// Wrapper for the tooltip content
.tooltip-inner {
  max-width: $tooltip-max-width;
  padding: $tooltip-padding-y $tooltip-padding-x;
  color: $tooltip-color;
  text-align: center;
  background-color: $tooltip-bg;
  @include border-radius($tooltip-border-radius);
}
engines/nucleus/scss/vendor/bootstrap5/_reboot.scss000064400000027745150753125200016571 0ustar00// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix


// Reboot
//
// Normalization of HTML elements, manually forked from Normalize.css to remove
// styles targeting irrelevant browsers while applying new styles.
//
// Normalize is licensed MIT. https://github.com/necolas/normalize.css


// Document
//
// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.

*,
*::before,
*::after {
  box-sizing: border-box;
}


// Root
//
// Ability to the value of the root font sizes, affecting the value of `rem`.
// null by default, thus nothing is generated.

:root {
  font-size: $font-size-root;

  @if $enable-smooth-scroll {
    @media (prefers-reduced-motion: no-preference) {
      scroll-behavior: smooth;
    }
  }
}


// Body
//
// 1. Remove the margin in all browsers.
// 2. As a best practice, apply a default `background-color`.
// 3. Prevent adjustments of font size after orientation changes in iOS.
// 4. Change the default tap highlight to be completely transparent in iOS.

body {
  margin: 0; // 1
  font-family: $font-family-base;
  @include font-size($font-size-base);
  font-weight: $font-weight-base;
  line-height: $line-height-base;
  color: $body-color;
  text-align: $body-text-align;
  background-color: $body-bg; // 2
  -webkit-text-size-adjust: 100%; // 3
  -webkit-tap-highlight-color: rgba($black, 0); // 4
}


// Content grouping
//
// 1. Reset Firefox's gray color
// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field

hr {
  margin: $hr-margin-y 0;
  color: $hr-color; // 1
  background-color: currentColor;
  border: 0;
  opacity: $hr-opacity;
}

hr:not([size]) {
  height: $hr-height; // 2
}


// Typography
//
// 1. Remove top margins from headings
//    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top
//    margin for easier control within type scales as it avoids margin collapsing.

%heading {
  margin-top: 0; // 1
  margin-bottom: $headings-margin-bottom;
  font-family: $headings-font-family;
  font-style: $headings-font-style;
  font-weight: $headings-font-weight;
  line-height: $headings-line-height;
  color: $headings-color;
}

h1 {
  @extend %heading;
  @include font-size($h1-font-size);
}

h2 {
  @extend %heading;
  @include font-size($h2-font-size);
}

h3 {
  @extend %heading;
  @include font-size($h3-font-size);
}

h4 {
  @extend %heading;
  @include font-size($h4-font-size);
}

h5 {
  @extend %heading;
  @include font-size($h5-font-size);
}

h6 {
  @extend %heading;
  @include font-size($h6-font-size);
}


// Reset margins on paragraphs
//
// Similarly, the top margin on `<p>`s get reset. However, we also reset the
// bottom margin to use `rem` units instead of `em`.

p {
  margin-top: 0;
  margin-bottom: $paragraph-margin-bottom;
}


// Abbreviations
//
// 1. Duplicate behavior to the data-bs-* attribute for our tooltip plugin
// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.
// 3. Add explicit cursor to indicate changed behavior.
// 4. Prevent the text-decoration to be skipped.

abbr[title],
abbr[data-bs-original-title] { // 1
  text-decoration: underline dotted; // 2
  cursor: help; // 3
  text-decoration-skip-ink: none; // 4
}


// Address

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}


// Lists

ol,
ul {
  padding-left: 2rem;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: $dt-font-weight;
}

// 1. Undo browser default

dd {
  margin-bottom: .5rem;
  margin-left: 0; // 1
}


// Blockquote

blockquote {
  margin: 0 0 1rem;
}


// Strong
//
// Add the correct font weight in Chrome, Edge, and Safari

b,
strong {
  font-weight: $font-weight-bolder;
}


// Small
//
// Add the correct font size in all browsers

small {
  @include font-size($small-font-size);
}


// Mark

mark {
  padding: $mark-padding;
  background-color: $mark-bg;
}


// Sub and Sup
//
// Prevent `sub` and `sup` elements from affecting the line height in
// all browsers.

sub,
sup {
  position: relative;
  @include font-size($sub-sup-font-size);
  line-height: 0;
  vertical-align: baseline;
}

sub { bottom: -.25em; }
sup { top: -.5em; }


// Links

a {
  color: $link-color;
  text-decoration: $link-decoration;

  &:hover {
    color: $link-hover-color;
    text-decoration: $link-hover-decoration;
  }
}

// And undo these styles for placeholder links/named anchors (without href).
// It would be more straightforward to just use a[href] in previous block, but that
// causes specificity issues in many other styles that are too complex to fix.
// See https://github.com/twbs/bootstrap/issues/19402

a:not([href]):not([class]) {
  &,
  &:hover {
    color: inherit;
    text-decoration: none;
  }
}


// Code

pre,
code,
kbd,
samp {
  font-family: $font-family-code;
  @include font-size(1em); // Correct the odd `em` font sizing in all browsers.
  direction: ltr #{"/* rtl:ignore */"};
  unicode-bidi: bidi-override;
}

// 1. Remove browser default top margin
// 2. Reset browser default of `1em` to use `rem`s
// 3. Don't allow content to break outside

pre {
  display: block;
  margin-top: 0; // 1
  margin-bottom: 1rem; // 2
  overflow: auto; // 3
  @include font-size($code-font-size);
  color: $pre-color;

  // Account for some code outputs that place code tags in pre tags
  code {
    @include font-size(inherit);
    color: inherit;
    word-break: normal;
  }
}

code {
  @include font-size($code-font-size);
  color: $code-color;
  word-wrap: break-word;

  // Streamline the style when inside anchors to avoid broken underline and more
  a > & {
    color: inherit;
  }
}

kbd {
  padding: $kbd-padding-y $kbd-padding-x;
  @include font-size($kbd-font-size);
  color: $kbd-color;
  background-color: $kbd-bg;
  @include border-radius($border-radius-sm);

  kbd {
    padding: 0;
    @include font-size(1em);
    font-weight: $nested-kbd-font-weight;
  }
}


// Figures
//
// Apply a consistent margin strategy (matches our type styles).

figure {
  margin: 0 0 1rem;
}


// Images and content

img,
svg {
  vertical-align: middle;
}


// Tables
//
// Prevent double borders

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: $table-cell-padding-y;
  padding-bottom: $table-cell-padding-y;
  color: $table-caption-color;
  text-align: left;
}

// 1. Removes font-weight bold by inheriting
// 2. Matches default `<td>` alignment by inheriting `text-align`.
// 3. Fix alignment for Safari

th {
  font-weight: $table-th-font-weight; // 1
  text-align: inherit; // 2
  text-align: -webkit-match-parent; // 3
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}


// Forms
//
// 1. Allow labels to use `margin` for spacing.

label {
  display: inline-block; // 1
}

// Remove the default `border-radius` that macOS Chrome adds.
// See https://github.com/twbs/bootstrap/issues/24093

button {
  // stylelint-disable-next-line property-disallowed-list
  border-radius: 0;
}

// Explicitly remove focus outline in Chromium when it shouldn't be
// visible (e.g. as result of mouse click or touch tap). It already
// should be doing this automatically, but seems to currently be
// confused and applies its very visible two-tone outline anyway.

button:focus:not(:focus-visible) {
  outline: 0;
}

// 1. Remove the margin in Firefox and Safari

input,
button,
select,
optgroup,
textarea {
  margin: 0; // 1
  font-family: inherit;
  @include font-size(inherit);
  line-height: inherit;
}

// Remove the inheritance of text transform in Firefox
button,
select {
  text-transform: none;
}
// Set the cursor for non-`<button>` buttons
//
// Details at https://github.com/twbs/bootstrap/pull/30562
[role="button"] {
  cursor: pointer;
}

select {
  // Remove the inheritance of word-wrap in Safari.
  // See https://github.com/twbs/bootstrap/issues/24990
  word-wrap: normal;

  // Undo the opacity change from Chrome
  &:disabled {
    opacity: 1;
  }
}

// Remove the dropdown arrow in Chrome from inputs built with datalists.
// See https://stackoverflow.com/a/54997118

[list]::-webkit-calendar-picker-indicator {
  display: none;
}

// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
//    controls in Android 4.
// 2. Correct the inability to style clickable types in iOS and Safari.
// 3. Opinionated: add "hand" cursor to non-disabled button elements.

button,
[type="button"], // 1
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; // 2

  @if $enable-button-pointers {
    &:not(:disabled) {
      cursor: pointer; // 3
    }
  }
}

// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.

textarea {
  resize: vertical; // 1
}

// 1. Browsers set a default `min-width: min-content;` on fieldsets,
//    unlike e.g. `<div>`s, which have `min-width: 0;` by default.
//    So we reset that to ensure fieldsets behave more like a standard block element.
//    See https://github.com/twbs/bootstrap/issues/12359
//    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements
// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.

fieldset {
  min-width: 0; // 1
  padding: 0; // 2
  margin: 0; // 2
  border: 0; // 2
}

// 1. By using `float: left`, the legend will behave like a block element.
//    This way the border of a fieldset wraps around the legend if present.
// 2. Fix wrapping bug.
//    See https://github.com/twbs/bootstrap/issues/29712

legend {
  float: left; // 1
  width: 100%;
  padding: 0;
  margin-bottom: $legend-margin-bottom;
  @include font-size($legend-font-size);
  font-weight: $legend-font-weight;
  line-height: inherit;

  + * {
    clear: left; // 2
  }
}

// Fix height of inputs with a type of datetime-local, date, month, week, or time
// See https://github.com/twbs/bootstrap/issues/18842

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

// 1. Correct the outline style in Safari.
// 2. This overrides the extra rounded corners on search inputs in iOS so that our
//    `.form-control` class can properly style them. Note that this cannot simply
//    be added to `.form-control` as it's not specific enough. For details, see
//    https://github.com/twbs/bootstrap/issues/11586.

[type="search"] {
  outline-offset: -2px; // 1
  -webkit-appearance: textfield; // 2
}

// 1. A few input types should stay LTR
// See https://rtlstyling.com/posts/rtl-styling#form-inputs
// 2. RTL only output
// See https://rtlcss.com/learn/usage-guide/control-directives/#raw

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/

// Remove the inner padding in Chrome and Safari on macOS.

::-webkit-search-decoration {
  -webkit-appearance: none;
}

// Remove padding around color pickers in webkit browsers

::-webkit-color-swatch-wrapper {
  padding: 0;
}


// Inherit font family and line height for file input buttons

::file-selector-button {
  font: inherit;
}

// 1. Change font properties to `inherit`
// 2. Correct the inability to style clickable types in iOS and Safari.

::-webkit-file-upload-button {
  font: inherit; // 1
  -webkit-appearance: button; // 2
}

// Correct element displays

output {
  display: inline-block;
}

// Remove border from iframe

iframe {
  border: 0;
}

// Summary
//
// 1. Add the correct display in all browsers

summary {
  display: list-item; // 1
  cursor: pointer;
}


// Progress
//
// Add the correct vertical alignment in Chrome, Firefox, and Opera.

progress {
  vertical-align: baseline;
}


// Hidden attribute
//
// Always hide an element with the `hidden` HTML attribute.

[hidden] {
  display: none !important;
}
engines/nucleus/scss/vendor/bootstrap5/helpers/_clearfix.scss000064400000000045150753125200020516 0ustar00.clearfix {
  @include clearfix();
}
engines/nucleus/scss/vendor/bootstrap5/helpers/_ratio.scss000064400000000641150753125200020041 0ustar00// Credit: Nicolas Gallagher and SUIT CSS.

.ratio {
  position: relative;
  width: 100%;

  &::before {
    display: block;
    padding-top: var(--#{$variable-prefix}aspect-ratio);
    content: "";
  }

  > * {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

@each $key, $ratio in $aspect-ratios {
  .ratio-#{$key} {
    --#{$variable-prefix}aspect-ratio: #{$ratio};
  }
}
engines/nucleus/scss/vendor/bootstrap5/helpers/_stretched-link.scss000064400000000337150753125200021645 0ustar00//
// Stretched link
//

.stretched-link {
  &::#{$stretched-link-pseudo-element} {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: $stretched-link-z-index;
    content: "";
  }
}
engines/nucleus/scss/vendor/bootstrap5/helpers/_text-truncation.scss000064400000000111150753125200022063 0ustar00//
// Text truncation
//

.text-truncate {
  @include text-truncate();
}
engines/nucleus/scss/vendor/bootstrap5/helpers/_position.scss000064400000000765150753125200020576 0ustar00// Shorthand

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: $zindex-fixed;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: $zindex-fixed;
}

// Responsive sticky top
@each $breakpoint in map-keys($grid-breakpoints) {
  @include media-breakpoint-up($breakpoint) {
    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);

    .sticky#{$infix}-top {
      position: sticky;
      top: 0;
      z-index: $zindex-sticky;
    }
  }
}
engines/nucleus/scss/vendor/bootstrap5/helpers/_colored-links.scss000064400000000506150753125200021470 0ustar00@each $color, $value in $theme-colors {
  .link-#{$color} {
    color: $value;

    @if $link-shade-percentage != 0 {
      &:hover,
      &:focus {
        color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage));
      }
    }
  }
}
engines/nucleus/scss/vendor/bootstrap5/helpers/_visually-hidden.scss000064400000000210150753125200022014 0ustar00//
// Visually hidden
//

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  @include visually-hidden();
}
engines/nucleus/scss/vendor/bootstrap5/vendor/_rfs.scss000064400000023455150753125200017360 0ustar00// stylelint-disable property-blacklist, scss/dollar-variable-default

// SCSS RFS mixin
//
// Automated responsive values for font sizes, paddings, margins and much more
//
// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE)

// Configuration

// Base value
$rfs-base-value: 1.25rem !default;
$rfs-unit: rem !default;

@if $rfs-unit != rem and $rfs-unit != px {
  @error "`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.";
}

// Breakpoint at where values start decreasing if screen width is smaller
$rfs-breakpoint: 1200px !default;
$rfs-breakpoint-unit: px !default;

@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {
  @error "`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.";
}

// Resize values based on screen height and width
$rfs-two-dimensional: false !default;

// Factor of decrease
$rfs-factor: 10 !default;

@if type-of($rfs-factor) != number or $rfs-factor <= 1 {
  @error "`#{$rfs-factor}` is not a valid  $rfs-factor, it must be greater than 1.";
}

// Mode. Possibilities: "min-media-query", "max-media-query"
$rfs-mode: min-media-query !default;

// Generate enable or disable classes. Possibilities: false, "enable" or "disable"
$rfs-class: false !default;

// 1 rem = $rfs-rem-value px
$rfs-rem-value: 16 !default;

// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14
$rfs-safari-iframe-resize-bug-fix: false !default;

// Disable RFS by setting $enable-rfs to false
$enable-rfs: true !default;

// Cache $rfs-base-value unit
$rfs-base-value-unit: unit($rfs-base-value);

@function divide($dividend, $divisor, $precision: 10) {
  $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);
  $dividend: abs($dividend);
  $divisor: abs($divisor);
  @if $dividend == 0 {
    @return 0;
  }
  @if $divisor == 0 {
    @error "Cannot divide by 0";
  }
  $remainder: $dividend;
  $result: 0;
  $factor: 10;
  @while ($remainder > 0 and $precision >= 0) {
    $quotient: 0;
    @while ($remainder >= $divisor) {
      $remainder: $remainder - $divisor;
      $quotient: $quotient + 1;
    }
    $result: $result * 10 + $quotient;
    $factor: $factor * .1;
    $remainder: $remainder * 10;
    $precision: $precision - 1;
    @if ($precision < 0 and $remainder >= $divisor * 5) {
      $result: $result + 1;
    }
  }
  $result: $result * $factor * $sign;
  $dividend-unit: unit($dividend);
  $divisor-unit: unit($divisor);
  $unit-map: (
    "px": 1px,
    "rem": 1rem,
    "em": 1em,
    "%": 1%
  );
  @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {
    $result: $result * map-get($unit-map, $dividend-unit);
  }
  @return $result;
}

// Remove px-unit from $rfs-base-value for calculations
@if $rfs-base-value-unit == px {
  $rfs-base-value: divide($rfs-base-value, $rfs-base-value * 0 + 1);
}
@else if $rfs-base-value-unit == rem {
  $rfs-base-value: divide($rfs-base-value, divide($rfs-base-value * 0 + 1, $rfs-rem-value));
}

// Cache $rfs-breakpoint unit to prevent multiple calls
$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);

// Remove unit from $rfs-breakpoint for calculations
@if $rfs-breakpoint-unit-cache == px {
  $rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);
}
@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == "em" {
  $rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));
}

// Calculate the media query value
$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});
$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);
$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);

// Internal mixin used to determine which media query needs to be used
@mixin _rfs-media-query {
  @if $rfs-two-dimensional {
    @if $rfs-mode == max-media-query {
      @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {
        @content;
      }
    }
    @else {
      @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {
        @content;
      }
    }
  }
  @else {
    @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {
      @content;
    }
  }
}

// Internal mixin that adds disable classes to the selector if needed.
@mixin _rfs-rule {
  @if $rfs-class == disable and $rfs-mode == max-media-query {
    // Adding an extra class increases specificity, which prevents the media query to override the property
    &,
    .disable-rfs &,
    &.disable-rfs {
      @content;
    }
  }
  @else if $rfs-class == enable and $rfs-mode == min-media-query {
    .enable-rfs &,
    &.enable-rfs {
      @content;
    }
  }
  @else {
    @content;
  }
}

// Internal mixin that adds enable classes to the selector if needed.
@mixin _rfs-media-query-rule {

  @if $rfs-class == enable {
    @if $rfs-mode == min-media-query {
      @content;
    }

    @include _rfs-media-query {
      .enable-rfs &,
      &.enable-rfs {
        @content;
      }
    }
  }
  @else {
    @if $rfs-class == disable and $rfs-mode == min-media-query {
      .disable-rfs &,
      &.disable-rfs {
        @content;
      }
    }
    @include _rfs-media-query {
      @content;
    }
  }
}

// Helper function to get the formatted non-responsive value
@function rfs-value($values) {
  // Convert to list
  $values: if(type-of($values) != list, ($values,), $values);

  $val: '';

  // Loop over each value and calculate value
  @each $value in $values {
    @if $value == 0 {
      $val: $val + ' 0';
    }
    @else {
      // Cache $value unit
      $unit: if(type-of($value) == "number", unit($value), false);

      @if $unit == px {
        // Convert to rem if needed
        $val: $val + ' ' + if($rfs-unit == rem, #{divide($value, $value * 0 + $rfs-rem-value)}rem, $value);
      }
      @else if $unit == rem {
        // Convert to px if needed
        $val: $val + ' ' + if($rfs-unit == px, #{divide($value, $value * 0 + 1) * $rfs-rem-value}px, $value);
      }
      @else {
        // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value
        $val: $val + ' ' + $value;
      }
    }
  }

  // Remove first space
  @return unquote(str-slice($val, 2));
}

// Helper function to get the responsive value calculated by RFS
@function rfs-fluid-value($values) {
  // Convert to list
  $values: if(type-of($values) != list, ($values,), $values);

  $val: '';

  // Loop over each value and calculate value
  @each $value in $values {
    @if $value == 0 {
      $val: $val + ' 0';
    }

    @else {
      // Cache $value unit
      $unit: if(type-of($value) == "number", unit($value), false);

      // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value
      @if not $unit or $unit != px and $unit != rem {
        $val: $val + ' ' + $value;
      }

      @else {
        // Remove unit from $value for calculations
        $value: divide($value, $value * 0 + if($unit == px, 1, divide(1, $rfs-rem-value)));

        // Only add the media query if the value is greater than the minimum value
        @if abs($value) <= $rfs-base-value or not $enable-rfs {
          $val: $val + ' ' +  if($rfs-unit == rem, #{divide($value, $rfs-rem-value)}rem, #{$value}px);
        }
        @else {
          // Calculate the minimum value
          $value-min: $rfs-base-value + divide(abs($value) - $rfs-base-value, $rfs-factor);

          // Calculate difference between $value and the minimum value
          $value-diff: abs($value) - $value-min;

          // Base value formatting
          $min-width: if($rfs-unit == rem, #{divide($value-min, $rfs-rem-value)}rem, #{$value-min}px);

          // Use negative value if needed
          $min-width: if($value < 0, -$min-width, $min-width);

          // Use `vmin` if two-dimensional is enabled
          $variable-unit: if($rfs-two-dimensional, vmin, vw);

          // Calculate the variable width between 0 and $rfs-breakpoint
          $variable-width: #{divide($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};

          // Return the calculated value
          $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';
        }
      }
    }
  }

  // Remove first space
  @return unquote(str-slice($val, 2));
}

// RFS mixin
@mixin rfs($values, $property: font-size) {
  @if $values != null {
    $val: rfs-value($values);
    $fluidVal: rfs-fluid-value($values);

    // Do not print the media query if responsive & non-responsive values are the same
    @if $val == $fluidVal {
      #{$property}: $val;
    }
    @else {
      @include _rfs-rule {
        #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);

        // Include safari iframe resize fix if needed
        min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);
      }

      @include _rfs-media-query-rule {
        #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);
      }
    }
  }
}

// Shorthand helper mixins
@mixin font-size($value) {
  @include rfs($value);
}

@mixin padding($value) {
  @include rfs($value, padding);
}

@mixin padding-top($value) {
  @include rfs($value, padding-top);
}

@mixin padding-right($value) {
  @include rfs($value, padding-right);
}

@mixin padding-bottom($value) {
  @include rfs($value, padding-bottom);
}

@mixin padding-left($value) {
  @include rfs($value, padding-left);
}

@mixin margin($value) {
  @include rfs($value, margin);
}

@mixin margin-top($value) {
  @include rfs($value, margin-top);
}

@mixin margin-right($value) {
  @include rfs($value, margin-right);
}

@mixin margin-bottom($value) {
  @include rfs($value, margin-bottom);
}

@mixin margin-left($value) {
  @include rfs($value, margin-left);
}
engines/nucleus/scss/vendor/bootstrap5/_mixins.scss000064400000001550150753125200016570 0ustar00// Toggles
//
// Used in conjunction with global variables to enable certain theme features.

// Vendor
@import "vendor/rfs";

// Deprecate
@import "mixins/deprecate";

// Helpers
@import "mixins/breakpoints";
@import "mixins/color-scheme";
@import "mixins/image";
@import "mixins/resize";
@import "mixins/visually-hidden";
@import "mixins/reset-text";
@import "mixins/text-truncate";

// Utilities
@import "mixins/utilities";

// Components
@import "mixins/alert";
@import "mixins/buttons";
@import "mixins/caret";
@import "mixins/pagination";
@import "mixins/lists";
@import "mixins/list-group";
@import "mixins/forms";
@import "mixins/table-variants";

// Skins
@import "mixins/border-radius";
@import "mixins/box-shadow";
@import "mixins/gradients";
@import "mixins/transition";

// Layout
@import "mixins/clearfix";
@import "mixins/container";
@import "mixins/grid";
engines/nucleus/scss/vendor/bootstrap5/_functions.scss000064400000022331150753125200017271 0ustar00// Bootstrap functions
//
// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.

// Ascending
// Used to evaluate Sass maps like our grid breakpoints.
@mixin _assert-ascending($map, $map-name) {
  $prev-key: null;
  $prev-num: null;
  @each $key, $num in $map {
    @if $prev-num == null or unit($num) == "%" or unit($prev-num) == "%" {
      // Do nothing
    } @else if not comparable($prev-num, $num) {
      @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
    } @else if $prev-num >= $num {
      @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
    }
    $prev-key: $key;
    $prev-num: $num;
  }
}

// Starts at zero
// Used to ensure the min-width of the lowest breakpoint starts at 0.
@mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") {
  @if length($map) > 0 {
    $values: map-values($map);
    $first-value: nth($values, 1);
    @if $first-value != 0 {
      @warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.";
    }
  }
}

// Internal Bootstrap function to turn maps into its negative variant.
// It prefixes the keys with `n` and makes the value negative.
@function negativify-map($map) {
  $result: ();
  @each $key, $value in $map {
    @if $key != 0 {
      $result: map-merge($result, ("n" + $key: (-$value)));
    }
  }
  @return $result;
}

// Get multiple keys from a sass map
@function map-get-multiple($map, $values) {
  $result: ();
  @each $key, $value in $map {
    @if (index($values, $key) != null) {
      $result: map-merge($result, ($key: $value));
    }
  }
  @return $result;
}

// Replace `$search` with `$replace` in `$string`
// Used on our SVG icon backgrounds for custom forms.
//
// @author Hugo Giraudel
// @param {String} $string - Initial string
// @param {String} $search - Substring to replace
// @param {String} $replace ('') - New value
// @return {String} - Updated string
@function str-replace($string, $search, $replace: "") {
  $index: str-index($string, $search);

  @if $index {
    @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
  }

  @return $string;
}

// See https://codepen.io/kevinweber/pen/dXWoRw
//
// Requires the use of quotes around data URIs.

@function escape-svg($string) {
  @if str-index($string, "data:image/svg+xml") {
    @each $char, $encoded in $escaped-characters {
      // Do not escape the url brackets
      @if str-index($string, "url(") == 1 {
        $string: url("#{str-replace(str-slice($string, 6, -3), $char, $encoded)}");
      } @else {
        $string: str-replace($string, $char, $encoded);
      }
    }
  }

  @return $string;
}

// Color contrast
// See https://github.com/twbs/bootstrap/pull/30168

// A list of pre-calculated numbers of pow(divide((divide($value, 255) + .055), 1.055), 2.4). (from 0 to 255)
// stylelint-disable-next-line scss/dollar-variable-default, scss/dollar-variable-pattern
$_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 .0033 .0037 .004 .0044 .0048 .0052 .0056 .006 .0065 .007 .0075 .008 .0086 .0091 .0097 .0103 .011 .0116 .0123 .013 .0137 .0144 .0152 .016 .0168 .0176 .0185 .0194 .0203 .0212 .0222 .0232 .0242 .0252 .0262 .0273 .0284 .0296 .0307 .0319 .0331 .0343 .0356 .0369 .0382 .0395 .0409 .0423 .0437 .0452 .0467 .0482 .0497 .0513 .0529 .0545 .0561 .0578 .0595 .0612 .063 .0648 .0666 .0685 .0704 .0723 .0742 .0762 .0782 .0802 .0823 .0844 .0865 .0887 .0908 .0931 .0953 .0976 .0999 .1022 .1046 .107 .1095 .1119 .1144 .117 .1195 .1221 .1248 .1274 .1301 .1329 .1356 .1384 .1413 .1441 .147 .15 .1529 .1559 .159 .162 .1651 .1683 .1714 .1746 .1779 .1812 .1845 .1878 .1912 .1946 .1981 .2016 .2051 .2086 .2122 .2159 .2195 .2232 .227 .2307 .2346 .2384 .2423 .2462 .2502 .2542 .2582 .2623 .2664 .2705 .2747 .2789 .2831 .2874 .2918 .2961 .3005 .305 .3095 .314 .3185 .3231 .3278 .3325 .3372 .3419 .3467 .3515 .3564 .3613 .3663 .3712 .3763 .3813 .3864 .3916 .3968 .402 .4072 .4125 .4179 .4233 .4287 .4342 .4397 .4452 .4508 .4564 .4621 .4678 .4735 .4793 .4851 .491 .4969 .5029 .5089 .5149 .521 .5271 .5333 .5395 .5457 .552 .5583 .5647 .5711 .5776 .5841 .5906 .5972 .6038 .6105 .6172 .624 .6308 .6376 .6445 .6514 .6584 .6654 .6724 .6795 .6867 .6939 .7011 .7084 .7157 .7231 .7305 .7379 .7454 .7529 .7605 .7682 .7758 .7835 .7913 .7991 .807 .8148 .8228 .8308 .8388 .8469 .855 .8632 .8714 .8796 .8879 .8963 .9047 .9131 .9216 .9301 .9387 .9473 .956 .9647 .9734 .9823 .9911 1;

@function color-contrast($background, $color-contrast-dark: $color-contrast-dark, $color-contrast-light: $color-contrast-light, $min-contrast-ratio: $min-contrast-ratio) {
  $foregrounds: $color-contrast-light, $color-contrast-dark, $white, $black;
  $max-ratio: 0;
  $max-ratio-color: null;

  @each $color in $foregrounds {
    $contrast-ratio: contrast-ratio($background, $color);
    @if $contrast-ratio > $min-contrast-ratio {
      @return $color;
    } @else if $contrast-ratio > $max-ratio {
      $max-ratio: $contrast-ratio;
      $max-ratio-color: $color;
    }
  }

  @warn "Found no color leading to #{$min-contrast-ratio}:1 contrast ratio against #{$background}...";

  @return $max-ratio-color;
}

@function contrast-ratio($background, $foreground: $color-contrast-light) {
  $l1: luminance($background);
  $l2: luminance(opaque($background, $foreground));

  @return if($l1 > $l2, divide($l1 + .05, $l2 + .05), divide($l2 + .05, $l1 + .05));
}

// Return WCAG2.0 relative luminance
// See https://www.w3.org/WAI/GL/wiki/Relative_luminance
// See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
@function luminance($color) {
  $rgb: (
    "r": red($color),
    "g": green($color),
    "b": blue($color)
  );

  @each $name, $value in $rgb {
    $value: if(divide($value, 255) < .03928, divide(divide($value, 255), 12.92), nth($_luminance-list, $value + 1));
    $rgb: map-merge($rgb, ($name: $value));
  }

  @return (map-get($rgb, "r") * .2126) + (map-get($rgb, "g") * .7152) + (map-get($rgb, "b") * .0722);
}

// Return opaque color
// opaque(#fff, rgba(0, 0, 0, .5)) => #808080
@function opaque($background, $foreground) {
  @return mix(rgba($foreground, 1), $background, opacity($foreground) * 100);
}

// scss-docs-start color-functions
// Tint a color: mix a color with white
@function tint-color($color, $weight) {
  @return mix(white, $color, $weight);
}

// Shade a color: mix a color with black
@function shade-color($color, $weight) {
  @return mix(black, $color, $weight);
}

// Shade the color if the weight is positive, else tint it
@function shift-color($color, $weight) {
  @return if($weight > 0, shade-color($color, $weight), tint-color($color, -$weight));
}
// scss-docs-end color-functions

// Return valid calc
@function add($value1, $value2, $return-calc: true) {
  @if $value1 == null {
    @return $value2;
  }

  @if $value2 == null {
    @return $value1;
  }

  @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {
    @return $value1 + $value2;
  }

  @if type-of($value1) != number {
    $value1: unquote("(") + $value1 + unquote(")");
  }

  @if type-of($value2) != number {
    $value2: unquote("(") + $value2 + unquote(")");
  }

  @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(" + ") + $value2);
}

@function subtract($value1, $value2, $return-calc: true) {
  @if $value1 == null and $value2 == null {
    @return null;
  }

  @if $value1 == null {
    @return -$value2;
  }

  @if $value2 == null {
    @return $value1;
  }

  @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {
    @return $value1 - $value2;
  }

  @if type-of($value1) != number {
    $value1: unquote("(") + $value1 + unquote(")");
  }

  @if type-of($value2) != number {
    $value2: unquote("(") + $value2 + unquote(")");
  }

  @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(" - ") + $value2);
}

@function divide($dividend, $divisor, $precision: 10) {
  $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);
  $dividend: abs($dividend);
  $divisor: abs($divisor);
  @if $dividend == 0 {
    @return 0;
  }
  @if $divisor == 0 {
    @error "Cannot divide by 0";
  }
  $remainder: $dividend;
  $result: 0;
  $factor: 10;
  @while ($remainder > 0 and $precision >= 0) {
    $quotient: 0;
    @while ($remainder >= $divisor) {
      $remainder: $remainder - $divisor;
      $quotient: $quotient + 1;
    }
    $result: $result * 10 + $quotient;
    $factor: $factor * .1;
    $remainder: $remainder * 10;
    $precision: $precision - 1;
    @if ($precision < 0 and $remainder >= $divisor * 5) {
      $result: $result + 1;
    }
  }
  $result: $result * $factor * $sign;
  $dividend-unit: unit($dividend);
  $divisor-unit: unit($divisor);
  $unit-map: (
    "px": 1px,
    "rem": 1rem,
    "em": 1em,
    "%": 1%
  );
  @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {
    $result: $result * map-get($unit-map, $dividend-unit);
  }
  @return $result;
}
engines/nucleus/scss/vendor/bootstrap5/_carousel.scss000064400000012725150753125200017104 0ustar00// Notes on the classes:
//
// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)
//    even when their scroll action started on a carousel, but for compatibility (with Firefox)
//    we're preventing all actions instead
// 2. The .carousel-item-start and .carousel-item-end is used to indicate where
//    the active slide is heading.
// 3. .active.carousel-item is the current slide.
// 4. .active.carousel-item-start and .active.carousel-item-end is the current
//    slide in its in-transition state. Only one of these occurs at a time.
// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end
//    is the upcoming slide in transition.

.carousel {
  position: relative;
}

.carousel.pointer-event {
  touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
  @include clearfix();
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: $carousel-transition;
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

/* rtl:begin:ignore */
.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
  transform: translateX(-100%);
}

/* rtl:end:ignore */


//
// Alternate transitions
//

.carousel-fade {
  .carousel-item {
    opacity: 0;
    transition-property: opacity;
    transform: none;
  }

  .carousel-item.active,
  .carousel-item-next.carousel-item-start,
  .carousel-item-prev.carousel-item-end {
    z-index: 1;
    opacity: 1;
  }

  .active.carousel-item-start,
  .active.carousel-item-end {
    z-index: 0;
    opacity: 0;
    transition: opacity 0s $carousel-transition-duration;
  }
}


//
// Left/right controls for nav
//

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  // Use flex for alignment (1-3)
  display: flex; // 1. allow flex styles
  align-items: center; // 2. vertically center contents
  justify-content: center; // 3. horizontally center contents
  width: $carousel-control-width;
  padding: 0;
  color: $carousel-control-color;
  text-align: center;
  background: none;
  border: 0;
  opacity: $carousel-control-opacity;
  transition: $carousel-control-transition;

  // Hover/focus state
  &:hover,
  &:focus {
    color: $carousel-control-color;
    text-decoration: none;
    outline: 0;
    opacity: $carousel-control-hover-opacity;
  }
}
.carousel-control-prev {
  left: 0;
  background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null);
}
.carousel-control-next {
  right: 0;
  background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), null);
}

// Icons for within
.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: $carousel-control-icon-width;
  height: $carousel-control-icon-width;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
}

/* rtl:options: {
  "autoRename": true,
  "stringMap":[ {
    "name"    : "prev-next",
    "search"  : "prev",
    "replace" : "next"
  } ]
} */
.carousel-control-prev-icon {
  background-image: escape-svg($carousel-control-prev-icon-bg);
}
.carousel-control-next-icon {
  background-image: escape-svg($carousel-control-next-icon-bg);
}

// Optional indicator pips/controls
//
// Add a container (such as a list) with the following class and add an item (ideally a focusable control,
// like a button) with data-bs-target for each slide your carousel holds.

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  padding: 0;
  // Use the .carousel-control's width as margin so we don't overlay those
  margin-right: $carousel-control-width;
  margin-bottom: 1rem;
  margin-left: $carousel-control-width;
  list-style: none;

  [data-bs-target] {
    box-sizing: content-box;
    flex: 0 1 auto;
    width: $carousel-indicator-width;
    height: $carousel-indicator-height;
    padding: 0;
    margin-right: $carousel-indicator-spacer;
    margin-left: $carousel-indicator-spacer;
    text-indent: -999px;
    cursor: pointer;
    background-color: $carousel-indicator-active-bg;
    background-clip: padding-box;
    border: 0;
    // Use transparent borders to increase the hit area by 10px on top and bottom.
    border-top: $carousel-indicator-hit-area-height solid transparent;
    border-bottom: $carousel-indicator-hit-area-height solid transparent;
    opacity: $carousel-indicator-opacity;
    transition: $carousel-indicator-transition;
  }

  .active {
    opacity: $carousel-indicator-active-opacity;
  }
}


// Optional captions
//
//

.carousel-caption {
  position: absolute;
  right: (100% - $carousel-caption-width) * .5;
  bottom: $carousel-caption-spacer;
  left: (100% - $carousel-caption-width) * .5;
  padding-top: $carousel-caption-padding-y;
  padding-bottom: $carousel-caption-padding-y;
  color: $carousel-caption-color;
  text-align: center;
}

// Dark mode carousel

.carousel-dark {
  .carousel-control-prev-icon,
  .carousel-control-next-icon {
    filter: $carousel-dark-control-icon-filter;
  }

  .carousel-indicators [data-bs-target] {
    background-color: $carousel-dark-indicator-active-bg;
  }

  .carousel-caption {
    color: $carousel-dark-caption-color;
  }
}
engines/nucleus/scss/vendor/bootstrap5/_offcanvas.scss000064400000003375150753125200017236 0ustar00.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: $zindex-offcanvas;
  display: flex;
  flex-direction: column;
  max-width: 100%;
  color: $offcanvas-color;
  visibility: hidden;
  background-color: $offcanvas-bg-color;
  background-clip: padding-box;
  outline: 0;
  @include box-shadow($offcanvas-box-shadow);
  transition: transform $offcanvas-transition-duration ease-in-out;
}

.offcanvas-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: $offcanvas-padding-y $offcanvas-padding-x;

  .btn-close {
    padding: ($offcanvas-padding-y * .5) ($offcanvas-padding-x * .5);
    margin-top: $offcanvas-padding-y * -.5;
    margin-right: $offcanvas-padding-x * -.5;
    margin-bottom: $offcanvas-padding-y * -.5;
  }
}

.offcanvas-title {
  margin-bottom: 0;
  line-height: $offcanvas-title-line-height;
}

.offcanvas-body {
  flex-grow: 1;
  padding: $offcanvas-padding-y $offcanvas-padding-x;
  overflow-y: auto;
}

.offcanvas-start {
  top: 0;
  left: 0;
  width: $offcanvas-horizontal-width;
  border-right: $offcanvas-border-width solid $offcanvas-border-color;
  transform: translateX(-100%);
}

.offcanvas-end {
  top: 0;
  right: 0;
  width: $offcanvas-horizontal-width;
  border-left: $offcanvas-border-width solid $offcanvas-border-color;
  transform: translateX(100%);
}

.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: $offcanvas-vertical-height;
  max-height: 100%;
  border-bottom: $offcanvas-border-width solid $offcanvas-border-color;
  transform: translateY(-100%);
}

.offcanvas-bottom {
  right: 0;
  left: 0;
  height: $offcanvas-vertical-height;
  max-height: 100%;
  border-top: $offcanvas-border-width solid $offcanvas-border-color;
  transform: translateY(100%);
}

.offcanvas.show {
  transform: none;
}
engines/nucleus/scss/vendor/bootstrap5/utilities/_api.scss000064400000003311150753125200020042 0ustar00// Loop over each breakpoint
@each $breakpoint in map-keys($grid-breakpoints) {

  // Generate media query if needed
  @include media-breakpoint-up($breakpoint) {
    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);

    // Loop over each utility property
    @each $key, $utility in $utilities {
      // The utility can be disabled with `false`, thus check if the utility is a map first
      // Only proceed if responsive media queries are enabled or if it's the base media query
      @if type-of($utility) == "map" and (map-get($utility, responsive) or $infix == "") {
        @include generate-utility($utility, $infix);
      }
    }
  }
}

// RFS rescaling
@media (min-width: $rfs-mq-value) {
  @each $breakpoint in map-keys($grid-breakpoints) {
    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);

    @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {
      // Loop over each utility property
      @each $key, $utility in $utilities {
        // The utility can be disabled with `false`, thus check if the utility is a map first
        // Only proceed if responsive media queries are enabled or if it's the base media query
        @if type-of($utility) == "map" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == "") {
          @include generate-utility($utility, $infix, true);
        }
      }
    }
  }
}


// Print utilities
@media print {
  @each $key, $utility in $utilities {
    // The utility can be disabled with `false`, thus check if the utility is a map first
    // Then check if the utility needs print styles
    @if type-of($utility) == "map" and map-get($utility, print) == true {
      @include generate-utility($utility, "-print");
    }
  }
}
engines/nucleus/scss/vendor/bootstrap5/bootstrap-grid.scss000064400000002466150753125200020071 0ustar00/*!
 * Bootstrap Grid v5.0.2 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */

$include-column-box-sizing: true !default;

@import "functions";
@import "variables";

@import "mixins/lists";
@import "mixins/breakpoints";
@import "mixins/container";
@import "mixins/grid";
@import "mixins/utilities";

@import "vendor/rfs";

@import "containers";
@import "grid";

@import "utilities";
// Only use the utilities we need
// stylelint-disable-next-line scss/dollar-variable-default
$utilities: map-get-multiple(
  $utilities,
  (
    "display",
    "order",
    "flex",
    "flex-direction",
    "flex-grow",
    "flex-shrink",
    "flex-wrap",
    "justify-content",
    "align-items",
    "align-content",
    "align-self",
    "margin",
    "margin-x",
    "margin-y",
    "margin-top",
    "margin-end",
    "margin-bottom",
    "margin-start",
    "negative-margin",
    "negative-margin-x",
    "negative-margin-y",
    "negative-margin-top",
    "negative-margin-end",
    "negative-margin-bottom",
    "negative-margin-start",
    "padding",
    "padding-x",
    "padding-y",
    "padding-top",
    "padding-end",
    "padding-bottom",
    "padding-start",
  )
);

@import "utilities/api";
engines/nucleus/scss/vendor/bootstrap5/mixins/_forms.scss000064400000007460150753125200017724 0ustar00// This mixin uses an `if()` technique to be compatible with Dart Sass
// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details

// scss-docs-start form-validation-mixins
@mixin form-validation-state-selector($state) {
  @if ($state == "valid" or $state == "invalid") {
    .was-validated #{if(&, "&", "")}:#{$state},
    #{if(&, "&", "")}.is-#{$state} {
      @content;
    }
  } @else {
    #{if(&, "&", "")}.is-#{$state} {
      @content;
    }
  }
}

@mixin form-validation-state(
  $state,
  $color,
  $icon,
  $tooltip-color: color-contrast($color),
  $tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),
  $focus-box-shadow: 0 0 $input-btn-focus-blur $input-focus-width rgba($color, $input-btn-focus-color-opacity)
) {
  .#{$state}-feedback {
    display: none;
    width: 100%;
    margin-top: $form-feedback-margin-top;
    @include font-size($form-feedback-font-size);
    font-style: $form-feedback-font-style;
    color: $color;
  }

  .#{$state}-tooltip {
    position: absolute;
    top: 100%;
    z-index: 5;
    display: none;
    max-width: 100%; // Contain to parent when possible
    padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;
    margin-top: .1rem;
    @include font-size($form-feedback-tooltip-font-size);
    line-height: $form-feedback-tooltip-line-height;
    color: $tooltip-color;
    background-color: $tooltip-bg-color;
    @include border-radius($form-feedback-tooltip-border-radius);
  }

  @include form-validation-state-selector($state) {
    ~ .#{$state}-feedback,
    ~ .#{$state}-tooltip {
      display: block;
    }
  }

  .form-control {
    @include form-validation-state-selector($state) {
      border-color: $color;

      @if $enable-validation-icons {
        padding-right: $input-height-inner;
        background-image: escape-svg($icon);
        background-repeat: no-repeat;
        background-position: right $input-height-inner-quarter center;
        background-size: $input-height-inner-half $input-height-inner-half;
      }

      &:focus {
        border-color: $color;
        box-shadow: $focus-box-shadow;
      }
    }
  }

  // stylelint-disable-next-line selector-no-qualifying-type
  textarea.form-control {
    @include form-validation-state-selector($state) {
      @if $enable-validation-icons {
        padding-right: $input-height-inner;
        background-position: top $input-height-inner-quarter right $input-height-inner-quarter;
      }
    }
  }

  .form-select {
    @include form-validation-state-selector($state) {
      border-color: $color;

      @if $enable-validation-icons {
        &:not([multiple]):not([size]),
        &:not([multiple])[size="1"] {
          padding-right: $form-select-feedback-icon-padding-end;
          background-image: escape-svg($form-select-indicator), escape-svg($icon);
          background-position: $form-select-bg-position, $form-select-feedback-icon-position;
          background-size: $form-select-bg-size, $form-select-feedback-icon-size;
        }
      }

      &:focus {
        border-color: $color;
        box-shadow: $focus-box-shadow;
      }
    }
  }

  .form-check-input {
    @include form-validation-state-selector($state) {
      border-color: $color;

      &:checked {
        background-color: $color;
      }

      &:focus {
        box-shadow: $focus-box-shadow;
      }

      ~ .form-check-label {
        color: $color;
      }
    }
  }
  .form-check-inline .form-check-input {
    ~ .#{$state}-feedback {
      margin-left: .5em;
    }
  }

  .input-group .form-control,
  .input-group .form-select {
    @include form-validation-state-selector($state) {
      @if $state == "valid" {
        z-index: 1;
      } @else if $state == "invalid" {
        z-index: 2;
      }
      &:focus {
        z-index: 3;
      }
    }
  }
}
// scss-docs-end form-validation-mixins
engines/nucleus/scss/vendor/bootstrap5/mixins/_grid.scss000064400000010252150753125200017514 0ustar00// Grid system
//
// Generate semantic grid columns with these mixins.

@mixin make-row($gutter: $grid-gutter-width) {
  --#{$variable-prefix}gutter-x: #{$gutter};
  --#{$variable-prefix}gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(var(--#{$variable-prefix}gutter-y) * -1); // stylelint-disable-line function-disallowed-list
  margin-right: calc(var(--#{$variable-prefix}gutter-x) * -.5); // stylelint-disable-line function-disallowed-list
  margin-left: calc(var(--#{$variable-prefix}gutter-x) * -.5); // stylelint-disable-line function-disallowed-list
}

@mixin make-col-ready($gutter: $grid-gutter-width) {
  // Add box sizing if only the grid is loaded
  box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);
  // Prevent columns from becoming too narrow when at smaller grid tiers by
  // always setting `width: 100%;`. This works because we set the width
  // later on to override this initial width.
  flex-shrink: 0;
  width: 100%;
  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid
  padding-right: calc(var(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
  padding-left: calc(var(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
  margin-top: var(--#{$variable-prefix}gutter-y);
}

@mixin make-col($size: false, $columns: $grid-columns) {
  @if $size {
    flex: 0 0 auto;
    width: percentage(divide($size, $columns));

  } @else {
    flex: 1 1 0;
    max-width: 100%;
  }
}

@mixin make-col-auto() {
  flex: 0 0 auto;
  width: auto;
}

@mixin make-col-offset($size, $columns: $grid-columns) {
  $num: divide($size, $columns);
  margin-left: if($num == 0, 0, percentage($num));
}

// Row columns
//
// Specify on a parent element(e.g., .row) to force immediate children into NN
// numberof columns. Supports wrapping to new lines, but does not do a Masonry
// style grid.
@mixin row-cols($count) {
  > * {
    flex: 0 0 auto;
    width: divide(100%, $count);
  }
}

// Framework grid generation
//
// Used only by Bootstrap to generate the correct number of grid classes given
// any value of `$grid-columns`.

@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {
  @each $breakpoint in map-keys($breakpoints) {
    // .row-cols defaults must all appear before .col overrides so they can be overridden.
    $infix: breakpoint-infix($breakpoint, $breakpoints);
    @include media-breakpoint-up($breakpoint, $breakpoints) {
      // Provide basic `.col-{bp}` classes for equal-width flexbox columns
      .col#{$infix} {
        flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
      }

      .row-cols#{$infix}-auto > * {
        @include make-col-auto();
      }

      @if $grid-row-columns > 0 {
        @for $i from 1 through $grid-row-columns {
          .row-cols#{$infix}-#{$i} {
            @include row-cols($i);
          }
        }
      }
    }
  }

  @each $breakpoint in map-keys($breakpoints) {
    $infix: breakpoint-infix($breakpoint, $breakpoints);

    @include media-breakpoint-up($breakpoint, $breakpoints) {
      .col#{$infix}-auto {
        @include make-col-auto();
      }

      @if $columns > 0 {
        @for $i from 1 through $columns {
          .col#{$infix}-#{$i} {
            @include make-col($i, $columns);
          }
        }

        // `$columns - 1` because offsetting by the width of an entire row isn't possible
        @for $i from 0 through ($columns - 1) {
          @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0
            .offset#{$infix}-#{$i} {
              @include make-col-offset($i, $columns);
            }
          }
        }
      }

      // Gutters
      //
      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.
      @each $key, $value in $gutters {
        .g#{$infix}-#{$key},
        .gx#{$infix}-#{$key} {
          --#{$variable-prefix}gutter-x: #{$value};
        }

        .g#{$infix}-#{$key},
        .gy#{$infix}-#{$key} {
          --#{$variable-prefix}gutter-y: #{$value};
        }
      }
    }
  }
}
engines/nucleus/scss/vendor/bootstrap5/mixins/_clearfix.scss000064400000000223150753125200020361 0ustar00// scss-docs-start clearfix
@mixin clearfix() {
  &::after {
    display: block;
    clear: both;
    content: "";
  }
}
// scss-docs-end clearfix
engines/nucleus/scss/vendor/bootstrap5/mixins/_box-shadow.scss000064400000000616150753125200020645 0ustar00@mixin box-shadow($shadow...) {
  @if $enable-shadows {
    $result: ();

    @each $value in $shadow {
      @if $value != null {
        $result: append($result, $value, "comma");
      }
      @if $value == none and length($shadow) > 1 {
        @warn "The keyword 'none' must be used as a single argument.";
      }
    }

    @if (length($result) > 0) {
      box-shadow: $result;
    }
  }
}
engines/nucleus/scss/vendor/bootstrap5/mixins/_transition.scss000064400000001225150753125200020761 0ustar00// stylelint-disable property-disallowed-list
@mixin transition($transition...) {
  @if length($transition) == 0 {
    $transition: $transition-base;
  }

  @if length($transition) > 1 {
    @each $value in $transition {
      @if $value == null or $value == none {
        @warn "The keyword 'none' or 'null' must be used as a single argument.";
      }
    }
  }

  @if $enable-transitions {
    @if nth($transition, 1) != null {
      transition: $transition;
    }

    @if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none {
      @media (prefers-reduced-motion: reduce) {
        transition: none;
      }
    }
  }
}
engines/nucleus/scss/vendor/bootstrap5/mixins/_caret.scss000064400000002701150753125200017665 0ustar00// scss-docs-start caret-mixins
@mixin caret-down {
  border-top: $caret-width solid;
  border-right: $caret-width solid transparent;
  border-bottom: 0;
  border-left: $caret-width solid transparent;
}

@mixin caret-up {
  border-top: 0;
  border-right: $caret-width solid transparent;
  border-bottom: $caret-width solid;
  border-left: $caret-width solid transparent;
}

@mixin caret-end {
  border-top: $caret-width solid transparent;
  border-right: 0;
  border-bottom: $caret-width solid transparent;
  border-left: $caret-width solid;
}

@mixin caret-start {
  border-top: $caret-width solid transparent;
  border-right: $caret-width solid;
  border-bottom: $caret-width solid transparent;
}

@mixin caret($direction: down) {
  @if $enable-caret {
    &::after {
      display: inline-block;
      margin-left: $caret-spacing;
      vertical-align: $caret-vertical-align;
      content: "";
      @if $direction == down {
        @include caret-down();
      } @else if $direction == up {
        @include caret-up();
      } @else if $direction == end {
        @include caret-end();
      }
    }

    @if $direction == start {
      &::after {
        display: none;
      }

      &::before {
        display: inline-block;
        margin-right: $caret-spacing;
        vertical-align: $caret-vertical-align;
        content: "";
        @include caret-start();
      }
    }

    &:empty::after {
      margin-left: 0;
    }
  }
}
// scss-docs-end caret-mixins
engines/nucleus/scss/vendor/bootstrap5/mixins/_border-radius.scss000064400000003757150753125200021345 0ustar00// stylelint-disable property-disallowed-list
// Single side border-radius

// Helper function to replace negative values with 0
@function valid-radius($radius) {
  $return: ();
  @each $value in $radius {
    @if type-of($value) == number {
      $return: append($return, max($value, 0));
    } @else {
      $return: append($return, $value);
    }
  }
  @return $return;
}

// scss-docs-start border-radius-mixins
@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {
  @if $enable-rounded {
    border-radius: valid-radius($radius);
  }
  @else if $fallback-border-radius != false {
    border-radius: $fallback-border-radius;
  }
}

@mixin border-top-radius($radius: $border-radius) {
  @if $enable-rounded {
    border-top-left-radius: valid-radius($radius);
    border-top-right-radius: valid-radius($radius);
  }
}

@mixin border-end-radius($radius: $border-radius) {
  @if $enable-rounded {
    border-top-right-radius: valid-radius($radius);
    border-bottom-right-radius: valid-radius($radius);
  }
}

@mixin border-bottom-radius($radius: $border-radius) {
  @if $enable-rounded {
    border-bottom-right-radius: valid-radius($radius);
    border-bottom-left-radius: valid-radius($radius);
  }
}

@mixin border-start-radius($radius: $border-radius) {
  @if $enable-rounded {
    border-top-left-radius: valid-radius($radius);
    border-bottom-left-radius: valid-radius($radius);
  }
}

@mixin border-top-start-radius($radius: $border-radius) {
  @if $enable-rounded {
    border-top-left-radius: valid-radius($radius);
  }
}

@mixin border-top-end-radius($radius: $border-radius) {
  @if $enable-rounded {
    border-top-right-radius: valid-radius($radius);
  }
}

@mixin border-bottom-end-radius($radius: $border-radius) {
  @if $enable-rounded {
    border-bottom-right-radius: valid-radius($radius);
  }
}

@mixin border-bottom-start-radius($radius: $border-radius) {
  @if $enable-rounded {
    border-bottom-left-radius: valid-radius($radius);
  }
}
// scss-docs-end border-radius-mixins
engines/nucleus/scss/vendor/bootstrap5/mixins/_text-truncate.scss000064400000000250150753125200021373 0ustar00// Text truncate
// Requires inline-block or block for proper styling

@mixin text-truncate() {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
engines/nucleus/scss/vendor/bootstrap5/mixins/_color-scheme.scss000064400000000247150753125200021152 0ustar00// scss-docs-start mixin-color-scheme
@mixin color-scheme($name) {
  @media (prefers-color-scheme: #{$name}) {
    @content;
  }
}
// scss-docs-end mixin-color-scheme
engines/nucleus/scss/vendor/bootstrap5/mixins/_deprecate.scss000064400000001145150753125200020524 0ustar00// Deprecate mixin
//
// This mixin can be used to deprecate mixins or functions.
// `$enable-deprecation-messages` is a global variable, `$ignore-warning` is a variable that can be passed to
// some deprecated mixins to suppress the warning (for example if the mixin is still be used in the current version of Bootstrap)
@mixin deprecate($name, $deprecate-version, $remove-version, $ignore-warning: false) {
  @if ($enable-deprecation-messages != false and $ignore-warning != true) {
    @warn "#{$name} has been deprecated as of #{$deprecate-version}. It will be removed entirely in #{$remove-version}.";
  }
}
engines/nucleus/scss/vendor/bootstrap5/mixins/_lists.scss000064400000000250150753125200017722 0ustar00// Lists

// Unstyled keeps list items block level, just removes default browser padding and list-style
@mixin list-unstyled {
  padding-left: 0;
  list-style: none;
}
engines/nucleus/scss/vendor/bootstrap5/mixins/_gradients.scss000064400000003655150753125200020560 0ustar00// Gradients

// scss-docs-start gradient-bg-mixin
@mixin gradient-bg($color: null) {
  background-color: $color;

  @if $enable-gradients {
    background-image: var(--#{$variable-prefix}gradient);
  }
}
// scss-docs-end gradient-bg-mixin

// scss-docs-start gradient-mixins
// Horizontal gradient, from left to right
//
// Creates two color stops, start and end, by specifying a color and position for each color stop.
@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {
  background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);
}

// Vertical gradient, from top to bottom
//
// Creates two color stops, start and end, by specifying a color and position for each color stop.
@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: null, $end-percent: null) {
  background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);
}

@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {
  background-image: linear-gradient($deg, $start-color, $end-color);
}

@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
  background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
}

@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
  background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
}

@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {
  background-image: radial-gradient(circle, $inner-color, $outer-color);
}

@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {
  background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
}
// scss-docs-end gradient-mixins
engines/nucleus/scss/vendor/bootstrap5/mixins/_pagination.scss000064400000001345150753125200020723 0ustar00// Pagination

// scss-docs-start pagination-mixin
@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {
  .page-link {
    padding: $padding-y $padding-x;
    @include font-size($font-size);
  }

  .page-item {
    @if $pagination-margin-start == (-$pagination-border-width) {
      &:first-child {
        .page-link {
          @include border-start-radius($border-radius);
        }
      }

      &:last-child {
        .page-link {
          @include border-end-radius($border-radius);
        }
      }
    } @else {
      //Add border-radius to all pageLinks in case they have left margin
      .page-link {
        @include border-radius($border-radius);
      }
    }
  }
}
// scss-docs-end pagination-mixin
engines/nucleus/scss/vendor/bootstrap5/mixins/_buttons.scss000064400000010201150753125200020257 0ustar00// Button variants
//
// Easily pump out default styles, as well as :hover, :focus, :active,
// and disabled options for all buttons

// scss-docs-start btn-variant-mixin
@mixin button-variant(
  $background,
  $border,
  $color: color-contrast($background),
  $hover-background: if($color == $color-contrast-light, shade-color($background, $btn-hover-bg-shade-amount), tint-color($background, $btn-hover-bg-tint-amount)),
  $hover-border: if($color == $color-contrast-light, shade-color($border, $btn-hover-border-shade-amount), tint-color($border, $btn-hover-border-tint-amount)),
  $hover-color: color-contrast($hover-background),
  $active-background: if($color == $color-contrast-light, shade-color($background, $btn-active-bg-shade-amount), tint-color($background, $btn-active-bg-tint-amount)),
  $active-border: if($color == $color-contrast-light, shade-color($border, $btn-active-border-shade-amount), tint-color($border, $btn-active-border-tint-amount)),
  $active-color: color-contrast($active-background),
  $disabled-background: $background,
  $disabled-border: $border,
  $disabled-color: color-contrast($disabled-background)
) {
  color: $color;
  @include gradient-bg($background);
  border-color: $border;
  @include box-shadow($btn-box-shadow);

  &:hover {
    color: $hover-color;
    @include gradient-bg($hover-background);
    border-color: $hover-border;
  }

  .btn-check:focus + &,
  &:focus {
    color: $hover-color;
    @include gradient-bg($hover-background);
    border-color: $hover-border;
    @if $enable-shadows {
      @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));
    } @else {
      // Avoid using mixin so we can pass custom focus shadow properly
      box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);
    }
  }

  .btn-check:checked + &,
  .btn-check:active + &,
  &:active,
  &.active,
  .show > &.dropdown-toggle {
    color: $active-color;
    background-color: $active-background;
    // Remove CSS gradients if they're enabled
    background-image: if($enable-gradients, none, null);
    border-color: $active-border;

    &:focus {
      @if $enable-shadows {
        @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));
      } @else {
        // Avoid using mixin so we can pass custom focus shadow properly
        box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);
      }
    }
  }

  &:disabled,
  &.disabled {
    color: $disabled-color;
    background-color: $disabled-background;
    // Remove CSS gradients if they're enabled
    background-image: if($enable-gradients, none, null);
    border-color: $disabled-border;
  }
}
// scss-docs-end btn-variant-mixin

// scss-docs-start btn-outline-variant-mixin
@mixin button-outline-variant(
  $color,
  $color-hover: color-contrast($color),
  $active-background: $color,
  $active-border: $color,
  $active-color: color-contrast($active-background)
) {
  color: $color;
  border-color: $color;

  &:hover {
    color: $color-hover;
    background-color: $active-background;
    border-color: $active-border;
  }

  .btn-check:focus + &,
  &:focus {
    box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
  }

  .btn-check:checked + &,
  .btn-check:active + &,
  &:active,
  &.active,
  &.dropdown-toggle.show {
    color: $active-color;
    background-color: $active-background;
    border-color: $active-border;

    &:focus {
      @if $enable-shadows {
        @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));
      } @else {
        // Avoid using mixin so we can pass custom focus shadow properly
        box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
      }
    }
  }

  &:disabled,
  &.disabled {
    color: $color;
    background-color: transparent;
  }
}
// scss-docs-end btn-outline-variant-mixin

// scss-docs-start btn-size-mixin
@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {
  padding: $padding-y $padding-x;
  @include font-size($font-size);
  // Manually declare to provide an override to the browser default
  @include border-radius($border-radius, 0);
}
// scss-docs-end btn-size-mixin
engines/nucleus/scss/vendor/bootstrap5/mixins/_image.scss000064400000000613150753125200017651 0ustar00// Image Mixins
// - Responsive image
// - Retina image


// Responsive image
//
// Keep images from scaling beyond the width of their parents.

@mixin img-fluid {
  // Part 1: Set a maximum relative to the parent
  max-width: 100%;
  // Part 2: Override the height to auto, otherwise images will be stretched
  // when setting a width and height attribute on the img element.
  height: auto;
}
engines/nucleus/scss/vendor/bootstrap5/mixins/_alert.scss000064400000000414150753125200017675 0ustar00// scss-docs-start alert-variant-mixin
@mixin alert-variant($background, $border, $color) {
  color: $color;
  @include gradient-bg($background);
  border-color: $border;

  .alert-link {
    color: shade-color($color, 20%);
  }
}
// scss-docs-end alert-variant-mixin
engines/nucleus/scss/vendor/bootstrap5/mixins/_visually-hidden.scss000064400000001763150753125200021677 0ustar00// stylelint-disable declaration-no-important

// Hide content visually while keeping it accessible to assistive technologies
//
// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/
// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/

@mixin visually-hidden() {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

// Use to only display content when it's focused, or one of its child elements is focused
// (i.e. when focus is within the element/container that the class was applied to)
//
// Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1

@mixin visually-hidden-focusable() {
  &:not(:focus):not(:focus-within) {
    @include visually-hidden();
  }
}
engines/nucleus/scss/vendor/bootstrap5/mixins/_resize.scss000064400000000312150753125200020064 0ustar00// Resize anything

@mixin resizable($direction) {
  overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`
  resize: $direction; // Options: horizontal, vertical, both
}
engines/nucleus/scss/vendor/bootstrap5/mixins/_reset-text.scss000064400000000757150753125200020704 0ustar00@mixin reset-text {
  font-family: $font-family-base;
  // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.
  font-style: normal;
  font-weight: $font-weight-normal;
  line-height: $line-height-base;
  text-align: left; // Fallback for where `start` is not supported
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
}
engines/nucleus/scss/vendor/bootstrap5/mixins/_container.scss000064400000000411150753125200020545 0ustar00// Container mixins

@mixin make-container($gutter: $container-padding-x) {
  width: 100%;
  padding-right: var(--#{$variable-prefix}gutter-x, #{$gutter});
  padding-left: var(--#{$variable-prefix}gutter-x, #{$gutter});
  margin-right: auto;
  margin-left: auto;
}
engines/nucleus/scss/vendor/bootstrap5/mixins/_list-group.scss000064400000000775150753125200020705 0ustar00// List Groups

// scss-docs-start list-group-mixin
@mixin list-group-item-variant($state, $background, $color) {
  .list-group-item-#{$state} {
    color: $color;
    background-color: $background;

    &.list-group-item-action {
      &:hover,
      &:focus {
        color: $color;
        background-color: shade-color($background, 10%);
      }

      &.active {
        color: $white;
        background-color: $color;
        border-color: $color;
      }
    }
  }
}
// scss-docs-end list-group-mixin
engines/nucleus/scss/vendor/bootstrap5/mixins/_breakpoints.scss000064400000010604150753125200021111 0ustar00// Breakpoint viewport sizes and media queries.
//
// Breakpoints are defined as a map of (name: minimum width), order from small to large:
//
//    (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)
//
// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.

// Name of the next breakpoint, or null for the last breakpoint.
//
//    >> breakpoint-next(sm)
//    md
//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
//    md
//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))
//    md
@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {
  $n: index($breakpoint-names, $name);
  @if not $n {
    @error "breakpoint `#{$name}` not found in `#{$breakpoints}`";
  }
  @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);
}

// Minimum breakpoint width. Null for the smallest (first) breakpoint.
//
//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
//    576px
@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {
  $min: map-get($breakpoints, $name);
  @return if($min != 0, $min, null);
}

// Maximum breakpoint width.
// The maximum value is reduced by 0.02px to work around the limitations of
// `min-` and `max-` prefixes and viewports with fractional widths.
// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max
// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.
// See https://bugs.webkit.org/show_bug.cgi?id=178261
//
//    >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
//    767.98px
@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {
  $max: map-get($breakpoints, $name);
  @return if($max and $max > 0, $max - .02, null);
}

// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.
// Useful for making responsive utilities.
//
//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
//    ""  (Returns a blank string)
//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
//    "-sm"
@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {
  @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}");
}

// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.
// Makes the @content apply to the given breakpoint and wider.
@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {
  $min: breakpoint-min($name, $breakpoints);
  @if $min {
    @media (min-width: $min) {
      @content;
    }
  } @else {
    @content;
  }
}

// Media of at most the maximum breakpoint width. No query for the largest breakpoint.
// Makes the @content apply to the given breakpoint and narrower.
@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {
  $max: breakpoint-max($name, $breakpoints);
  @if $max {
    @media (max-width: $max) {
      @content;
    }
  } @else {
    @content;
  }
}

// Media that spans multiple breakpoint widths.
// Makes the @content apply between the min and max breakpoints
@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {
  $min: breakpoint-min($lower, $breakpoints);
  $max: breakpoint-max($upper, $breakpoints);

  @if $min != null and $max != null {
    @media (min-width: $min) and (max-width: $max) {
      @content;
    }
  } @else if $max == null {
    @include media-breakpoint-up($lower, $breakpoints) {
      @content;
    }
  } @else if $min == null {
    @include media-breakpoint-down($upper, $breakpoints) {
      @content;
    }
  }
}

// Media between the breakpoint's minimum and maximum widths.
// No minimum for the smallest breakpoint, and no maximum for the largest one.
// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.
@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {
  $min:  breakpoint-min($name, $breakpoints);
  $next: breakpoint-next($name, $breakpoints);
  $max:  breakpoint-max($next);

  @if $min != null and $max != null {
    @media (min-width: $min) and (max-width: $max) {
      @content;
    }
  } @else if $max == null {
    @include media-breakpoint-up($name, $breakpoints) {
      @content;
    }
  } @else if $min == null {
    @include media-breakpoint-down($next, $breakpoints) {
      @content;
    }
  }
}
engines/nucleus/scss/vendor/bootstrap5/mixins/_utilities.scss000064400000004356150753125200020612 0ustar00// Utility generator
// Used to generate utilities & print utilities
@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {
  $values: map-get($utility, values);

  // If the values are a list or string, convert it into a map
  @if type-of($values) == "string" or type-of(nth($values, 1)) != "list" {
    $values: zip($values, $values);
  }

  @each $key, $value in $values {
    $properties: map-get($utility, property);

    // Multiple properties are possible, for example with vertical or horizontal margins or paddings
    @if type-of($properties) == "string" {
      $properties: append((), $properties);
    }

    // Use custom class if present
    $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));
    $property-class: if($property-class == null, "", $property-class);

    // State params to generate pseudo-classes
    $state: if(map-has-key($utility, state), map-get($utility, state), ());

    $infix: if($property-class == "" and str-slice($infix, 1, 1) == "-", str-slice($infix, 2), $infix);

    // Don't prefix if value key is null (eg. with shadow class)
    $property-class-modifier: if($key, if($property-class == "" and $infix == "", "", "-") + $key, "");

    @if map-get($utility, rfs) {
      // Inside the media query
      @if $is-rfs-media-query {
        $val: rfs-value($value);

        // Do not render anything if fluid and non fluid values are the same
        $value: if($val == rfs-fluid-value($value), null, $val);
      }
      @else {
        $value: rfs-fluid-value($value);
      }
    }

    $is-rtl: map-get($utility, rtl);

    @if $value != null {
      @if $is-rtl == false {
        /* rtl:begin:remove */
      }
      .#{$property-class + $infix + $property-class-modifier} {
        @each $property in $properties {
          #{$property}: $value if($enable-important-utilities, !important, null);
        }
      }

      @each $pseudo in $state {
        .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {
          @each $property in $properties {
            #{$property}: $value if($enable-important-utilities, !important, null);
          }
        }
      }
      @if $is-rtl == false {
        /* rtl:end:remove */
      }
    }
  }
}
engines/nucleus/scss/vendor/bootstrap5/mixins/_table-variants.scss000064400000001724150753125200021507 0ustar00// scss-docs-start table-variant
@mixin table-variant($state, $background) {
  .table-#{$state} {
    $color: color-contrast(opaque($body-bg, $background));
    $hover-bg: mix($color, $background, percentage($table-hover-bg-factor));
    $striped-bg: mix($color, $background, percentage($table-striped-bg-factor));
    $active-bg: mix($color, $background, percentage($table-active-bg-factor));

    --#{$variable-prefix}table-bg: #{$background};
    --#{$variable-prefix}table-striped-bg: #{$striped-bg};
    --#{$variable-prefix}table-striped-color: #{color-contrast($striped-bg)};
    --#{$variable-prefix}table-active-bg: #{$active-bg};
    --#{$variable-prefix}table-active-color: #{color-contrast($active-bg)};
    --#{$variable-prefix}table-hover-bg: #{$hover-bg};
    --#{$variable-prefix}table-hover-color: #{color-contrast($hover-bg)};

    color: $color;
    border-color: mix($color, $background, percentage($table-border-factor));
  }
}
// scss-docs-end table-variant
engines/nucleus/scss/vendor/bootstrap5/_helpers.scss000064400000000332150753125200016720 0ustar00@import "helpers/clearfix";
@import "helpers/colored-links";
@import "helpers/ratio";
@import "helpers/position";
@import "helpers/visually-hidden";
@import "helpers/stretched-link";
@import "helpers/text-truncation";
engines/nucleus/scss/vendor/bootstrap5/_grid.scss000064400000000436150753125200016210 0ustar00// Row
//
// Rows contain your columns.

@if $enable-grid-classes {
  .row {
    @include make-row();

    > * {
      @include make-col-ready();
    }
  }
}


// Columns
//
// Common styles for small and large grid columns

@if $enable-grid-classes {
  @include make-grid-columns();
}
engines/nucleus/scss/vendor/bootstrap5/_breadcrumb.scss000064400000001633150753125200017371 0ustar00.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: $breadcrumb-padding-y $breadcrumb-padding-x;
  margin-bottom: $breadcrumb-margin-bottom;
  @include font-size($breadcrumb-font-size);
  list-style: none;
  background-color: $breadcrumb-bg;
  @include border-radius($breadcrumb-border-radius);
}

.breadcrumb-item {
  // The separator between breadcrumbs (by default, a forward-slash: "/")
  + .breadcrumb-item {
    padding-left: $breadcrumb-item-padding-x;

    &::before {
      float: left; // Suppress inline spacings and underlining of the separator
      padding-right: $breadcrumb-item-padding-x;
      color: $breadcrumb-divider-color;
      content: var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{"/* rtl:"} var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{"*/"};
    }
  }

  &.active {
    color: $breadcrumb-active-color;
  }
}
engines/nucleus/scss/vendor/bootstrap5/_nav.scss000064400000005143150753125200016047 0ustar00// Base class
//
// Kickstart any navigation component with a set of style resets. Works with
// `<nav>`s, `<ul>`s or `<ol>`s.

.nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: $nav-link-padding-y $nav-link-padding-x;
  @include font-size($nav-link-font-size);
  font-weight: $nav-link-font-weight;
  color: $nav-link-color;
  text-decoration: if($link-decoration == none, null, none);
  transition: $nav-link-transition;

  &:hover,
  &:focus {
    color: $nav-link-hover-color;
    text-decoration: if($link-hover-decoration == underline, none, null);
  }

  // Disabled state lightens text
  &.disabled {
    color: $nav-link-disabled-color;
    pointer-events: none;
    cursor: default;
  }
}

//
// Tabs
//

.nav-tabs {
  border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;

  .nav-link {
    margin-bottom: -$nav-tabs-border-width;
    background: none;
    border: $nav-tabs-border-width solid transparent;
    @include border-top-radius($nav-tabs-border-radius);

    &:hover,
    &:focus {
      border-color: $nav-tabs-link-hover-border-color;
      // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link
      isolation: isolate;
    }

    &.disabled {
      color: $nav-link-disabled-color;
      background-color: transparent;
      border-color: transparent;
    }
  }

  .nav-link.active,
  .nav-item.show .nav-link {
    color: $nav-tabs-link-active-color;
    background-color: $nav-tabs-link-active-bg;
    border-color: $nav-tabs-link-active-border-color;
  }

  .dropdown-menu {
    // Make dropdown border overlap tab border
    margin-top: -$nav-tabs-border-width;
    // Remove the top rounded corners here since there is a hard edge above the menu
    @include border-top-radius(0);
  }
}


//
// Pills
//

.nav-pills {
  .nav-link {
    background: none;
    border: 0;
    @include border-radius($nav-pills-border-radius);
  }

  .nav-link.active,
  .show > .nav-link {
    color: $nav-pills-link-active-color;
    @include gradient-bg($nav-pills-link-active-bg);
  }
}


//
// Justified variants
//

.nav-fill {
  > .nav-link,
  .nav-item {
    flex: 1 1 auto;
    text-align: center;
  }
}

.nav-justified {
  > .nav-link,
  .nav-item {
    flex-basis: 0;
    flex-grow: 1;
    text-align: center;
  }
}

.nav-fill,
.nav-justified {
  .nav-item .nav-link {
    width: 100%; // Make sure button will grow
  }
}


// Tabbable tabs
//
// Hide tabbable panes to start, show them when `.active`

.tab-content {
  > .tab-pane {
    display: none;
  }
  > .active {
    display: block;
  }
}
engines/nucleus/scss/vendor/bootstrap5/bootstrap.scss000064400000002026150753125200017136 0ustar00/*!
 * Bootstrap v5.0.2 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */

// scss-docs-start import-stack
// Configuration
@import "functions";
@import "variables";
@import "mixins";
@import "utilities";

// Layout & components
// @import "root";
// @import "reboot";
// @import "type";
@import "images";
@import "containers";
@import "grid";
@import "tables";
@import "forms";
@import "buttons";
@import "transitions";
@import "dropdown";
@import "button-group";
@import "nav";
@import "navbar";
@import "card";
@import "accordion";
@import "breadcrumb";
@import "pagination";
@import "badge";
@import "alert";
@import "progress";
@import "list-group";
@import "close";
@import "toasts";
@import "modal";
@import "tooltip";
@import "popover";
@import "carousel";
@import "spinners";
@import "offcanvas";

// Helpers
@import "helpers";

// Utilities
@import "utilities/api";
// scss-docs-end import-stack
engines/nucleus/scss/vendor/bootstrap5/_card.scss000064400000011150150753125200016167 0ustar00//
// Base styles
//

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106
  height: $card-height;
  word-wrap: break-word;
  background-color: $card-bg;
  background-clip: border-box;
  border: $card-border-width solid $card-border-color;
  @include border-radius($card-border-radius);

  > hr {
    margin-right: 0;
    margin-left: 0;
  }

  > .list-group {
    border-top: inherit;
    border-bottom: inherit;

    &:first-child {
      border-top-width: 0;
      @include border-top-radius($card-inner-border-radius);
    }

    &:last-child  {
      border-bottom-width: 0;
      @include border-bottom-radius($card-inner-border-radius);
    }
  }

  // Due to specificity of the above selector (`.card > .list-group`), we must
  // use a child selector here to prevent double borders.
  > .card-header + .list-group,
  > .list-group + .card-footer {
    border-top: 0;
  }
}

.card-body {
  // Enable `flex-grow: 1` for decks and groups so that card blocks take up
  // as much space as possible, ensuring footers are aligned to the bottom.
  flex: 1 1 auto;
  padding: $card-spacer-y $card-spacer-x;
  color: $card-color;
}

.card-title {
  margin-bottom: $card-title-spacer-y;
}

.card-subtitle {
  margin-top: -$card-title-spacer-y * .5;
  margin-bottom: 0;
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link {
  &:hover {
    text-decoration: none;
  }

  + .card-link {
    margin-left: $card-spacer-x;
  }
}

//
// Optional textual caps
//

.card-header {
  padding: $card-cap-padding-y $card-cap-padding-x;
  margin-bottom: 0; // Removes the default margin-bottom of <hN>
  color: $card-cap-color;
  background-color: $card-cap-bg;
  border-bottom: $card-border-width solid $card-border-color;

  &:first-child {
    @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);
  }
}

.card-footer {
  padding: $card-cap-padding-y $card-cap-padding-x;
  color: $card-cap-color;
  background-color: $card-cap-bg;
  border-top: $card-border-width solid $card-border-color;

  &:last-child {
    @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);
  }
}


//
// Header navs
//

.card-header-tabs {
  margin-right: -$card-cap-padding-x * .5;
  margin-bottom: -$card-cap-padding-y;
  margin-left: -$card-cap-padding-x * .5;
  border-bottom: 0;

  @if $nav-tabs-link-active-bg != $card-bg {
    .nav-link.active {
      background-color: $card-bg;
      border-bottom-color: $card-bg;
    }
  }
}

.card-header-pills {
  margin-right: -$card-cap-padding-x * .5;
  margin-left: -$card-cap-padding-x * .5;
}

// Card image
.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: $card-img-overlay-padding;
  @include border-radius($card-inner-border-radius);
}

.card-img,
.card-img-top,
.card-img-bottom {
  width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
}

.card-img,
.card-img-top {
  @include border-top-radius($card-inner-border-radius);
}

.card-img,
.card-img-bottom {
  @include border-bottom-radius($card-inner-border-radius);
}


//
// Card groups
//

.card-group {
  // The child selector allows nested `.card` within `.card-group`
  // to display properly.
  > .card {
    margin-bottom: $card-group-margin;
  }

  @include media-breakpoint-up(sm) {
    display: flex;
    flex-flow: row wrap;
    // The child selector allows nested `.card` within `.card-group`
    // to display properly.
    > .card {
      // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
      flex: 1 0 0%;
      margin-bottom: 0;

      + .card {
        margin-left: 0;
        border-left: 0;
      }

      // Handle rounded corners
      @if $enable-rounded {
        &:not(:last-child) {
          @include border-end-radius(0);

          .card-img-top,
          .card-header {
            // stylelint-disable-next-line property-disallowed-list
            border-top-right-radius: 0;
          }
          .card-img-bottom,
          .card-footer {
            // stylelint-disable-next-line property-disallowed-list
            border-bottom-right-radius: 0;
          }
        }

        &:not(:first-child) {
          @include border-start-radius(0);

          .card-img-top,
          .card-header {
            // stylelint-disable-next-line property-disallowed-list
            border-top-left-radius: 0;
          }
          .card-img-bottom,
          .card-footer {
            // stylelint-disable-next-line property-disallowed-list
            border-bottom-left-radius: 0;
          }
        }
      }
    }
  }
}
engines/nucleus/scss/vendor/bootstrap5/forms/_validation.scss000064400000000736150753125200020546 0ustar00// Form validation
//
// Provide feedback to users when form field values are valid or invalid. Works
// primarily for client-side validation via scoped `:invalid` and `:valid`
// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for
// server-side validation.

// scss-docs-start form-validation-states-loop
@each $state, $data in $form-validation-states {
  @include form-validation-state($state, $data...);
}
// scss-docs-end form-validation-states-loop
engines/nucleus/scss/vendor/bootstrap5/forms/_input-group.scss000064400000006444150753125200020707 0ustar00//
// Base styles
//

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap; // For form validation feedback
  align-items: stretch;
  width: 100%;

  > .form-control,
  > .form-select {
    position: relative; // For focus state's z-index
    flex: 1 1 auto;
    width: 1%;
    min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size
  }

  // Bring the "active" form control to the top of surrounding elements
  > .form-control:focus,
  > .form-select:focus {
    z-index: 3;
  }

  // Ensure buttons are always above inputs for more visually pleasing borders.
  // This isn't needed for `.input-group-text` since it shares the same border-color
  // as our inputs.
  .btn {
    position: relative;
    z-index: 2;

    &:focus {
      z-index: 3;
    }
  }
}


// Textual addons
//
// Serves as a catch-all element for any text or radio/checkbox input you wish
// to prepend or append to an input.

.input-group-text {
  display: flex;
  align-items: center;
  padding: $input-group-addon-padding-y $input-group-addon-padding-x;
  @include font-size($input-font-size); // Match inputs
  font-weight: $input-group-addon-font-weight;
  line-height: $input-line-height;
  color: $input-group-addon-color;
  text-align: center;
  white-space: nowrap;
  background-color: $input-group-addon-bg;
  border: $input-border-width solid $input-group-addon-border-color;
  @include border-radius($input-border-radius);
}


// Sizing
//
// Remix the default form control sizing classes into new ones for easier
// manipulation.

.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn {
  padding: $input-padding-y-lg $input-padding-x-lg;
  @include font-size($input-font-size-lg);
  @include border-radius($input-border-radius-lg);
}

.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn {
  padding: $input-padding-y-sm $input-padding-x-sm;
  @include font-size($input-font-size-sm);
  @include border-radius($input-border-radius-sm);
}

.input-group-lg > .form-select,
.input-group-sm > .form-select {
  padding-right: $form-select-padding-x + $form-select-indicator-padding;
}


// Rounded corners
//
// These rulesets must come after the sizing ones to properly override sm and lg
// border-radius values when extending. They're more specific than we'd like
// with the `.input-group >` part, but without it, we cannot override the sizing.

// stylelint-disable-next-line no-duplicate-selectors
.input-group {
  &:not(.has-validation) {
    > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
    > .dropdown-toggle:nth-last-child(n + 3) {
      @include border-end-radius(0);
    }
  }

  &.has-validation {
    > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu),
    > .dropdown-toggle:nth-last-child(n + 4) {
      @include border-end-radius(0);
    }
  }

  $validation-messages: "";
  @each $state in map-keys($form-validation-states) {
    $validation-messages: $validation-messages + ":not(." + unquote($state) + "-tooltip)" + ":not(." + unquote($state) + "-feedback)";
  }

  > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {
    margin-left: -$input-border-width;
    @include border-start-radius(0);
  }
}
engines/nucleus/scss/vendor/bootstrap5/forms/_floating-labels.scss000064400000003322150753125200021451 0ustar00.form-floating {
  position: relative;

  > .form-control,
  > .form-select {
    height: $form-floating-height;
    line-height: $form-floating-line-height;
  }

  > label {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%; // allow textareas
    padding: $form-floating-padding-y $form-floating-padding-x;
    pointer-events: none;
    border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model
    transform-origin: 0 0;
    transition: $form-floating-transition;
  }

  // stylelint-disable no-duplicate-selectors
  > .form-control {
    padding: $form-floating-padding-y $form-floating-padding-x;

    &::placeholder {
      color: transparent;
    }

    &:focus,
    &:not(:placeholder-shown) {
      padding-top: $form-floating-input-padding-t;
      padding-bottom: $form-floating-input-padding-b;
    }
    // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped
    &:-webkit-autofill {
      padding-top: $form-floating-input-padding-t;
      padding-bottom: $form-floating-input-padding-b;
    }
  }

  > .form-select {
    padding-top: $form-floating-input-padding-t;
    padding-bottom: $form-floating-input-padding-b;
  }

  > .form-control:focus,
  > .form-control:not(:placeholder-shown),
  > .form-select {
    ~ label {
      opacity: $form-floating-label-opacity;
      transform: $form-floating-label-transform;
    }
  }
  // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped
  > .form-control:-webkit-autofill {
    ~ label {
      opacity: $form-floating-label-opacity;
      transform: $form-floating-label-transform;
    }
  }
  // stylelint-enable no-duplicate-selectors
}
engines/nucleus/scss/vendor/bootstrap5/forms/_form-check.scss000064400000007364150753125200020436 0ustar00//
// Check/radio
//

.form-check {
  display: block;
  min-height: $form-check-min-height;
  padding-left: $form-check-padding-start;
  margin-bottom: $form-check-margin-bottom;

  .form-check-input {
    float: left;
    margin-left: $form-check-padding-start * -1;
  }
}

.form-check-input {
  width: $form-check-input-width;
  height: $form-check-input-width;
  margin-top: ($line-height-base - $form-check-input-width) * .5; // line-height minus check height
  vertical-align: top;
  background-color: $form-check-input-bg;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: $form-check-input-border;
  color-adjust: exact; // Keep themed appearance for print
  transition: $form-check-transition;

  &[type="checkbox"] {
    @include border-radius($form-check-input-border-radius);
  }

  &[type="radio"] {
    // stylelint-disable-next-line property-disallowed-list
    border-radius: $form-check-radio-border-radius;
  }

  &:active {
    filter: $form-check-input-active-filter;
  }

  &:focus {
    border-color: $form-check-input-focus-border;
    outline: 0;
    box-shadow: $form-check-input-focus-box-shadow;
  }

  &:checked {
    background-color: $form-check-input-checked-bg-color;
    border-color: $form-check-input-checked-border-color;

    &[type="checkbox"] {
      @if $enable-gradients {
        background-image: escape-svg($form-check-input-checked-bg-image), var(--#{$variable-prefix}gradient);
      } @else {
        background-image: escape-svg($form-check-input-checked-bg-image);
      }
    }

    &[type="radio"] {
      @if $enable-gradients {
        background-image: escape-svg($form-check-radio-checked-bg-image), var(--#{$variable-prefix}gradient);
      } @else {
        background-image: escape-svg($form-check-radio-checked-bg-image);
      }
    }
  }

  &[type="checkbox"]:indeterminate {
    background-color: $form-check-input-indeterminate-bg-color;
    border-color: $form-check-input-indeterminate-border-color;

    @if $enable-gradients {
      background-image: escape-svg($form-check-input-indeterminate-bg-image), var(--#{$variable-prefix}gradient);
    } @else {
      background-image: escape-svg($form-check-input-indeterminate-bg-image);
    }
  }

  &:disabled {
    pointer-events: none;
    filter: none;
    opacity: $form-check-input-disabled-opacity;
  }

  // Use disabled attribute in addition of :disabled pseudo-class
  // See: https://github.com/twbs/bootstrap/issues/28247
  &[disabled],
  &:disabled {
    ~ .form-check-label {
      opacity: $form-check-label-disabled-opacity;
    }
  }
}

.form-check-label {
  color: $form-check-label-color;
  cursor: $form-check-label-cursor;
}

//
// Switch
//

.form-switch {
  padding-left: $form-switch-padding-start;

  .form-check-input {
    width: $form-switch-width;
    margin-left: $form-switch-padding-start * -1;
    background-image: escape-svg($form-switch-bg-image);
    background-position: left center;
    @include border-radius($form-switch-border-radius);
    transition: $form-switch-transition;

    &:focus {
      background-image: escape-svg($form-switch-focus-bg-image);
    }

    &:checked {
      background-position: $form-switch-checked-bg-position;

      @if $enable-gradients {
        background-image: escape-svg($form-switch-checked-bg-image), var(--#{$variable-prefix}gradient);
      } @else {
        background-image: escape-svg($form-switch-checked-bg-image);
      }
    }
  }
}

.form-check-inline {
  display: inline-block;
  margin-right: $form-check-inline-margin-end;
}

.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;

  &[disabled],
  &:disabled {
    + .btn {
      pointer-events: none;
      filter: none;
      opacity: $form-check-btn-check-disabled-opacity;
    }
  }
}
engines/nucleus/scss/vendor/bootstrap5/forms/_labels.scss000064400000002166150753125200017655 0ustar00//
// Labels
//

.form-label {
  margin-bottom: $form-label-margin-bottom;
  @include font-size($form-label-font-size);
  font-style: $form-label-font-style;
  font-weight: $form-label-font-weight;
  color: $form-label-color;
}

// For use with horizontal and inline forms, when you need the label (or legend)
// text to align with the form controls.
.col-form-label {
  padding-top: add($input-padding-y, $input-border-width);
  padding-bottom: add($input-padding-y, $input-border-width);
  margin-bottom: 0; // Override the `<legend>` default
  @include font-size(inherit); // Override the `<legend>` default
  font-style: $form-label-font-style;
  font-weight: $form-label-font-weight;
  line-height: $input-line-height;
  color: $form-label-color;
}

.col-form-label-lg {
  padding-top: add($input-padding-y-lg, $input-border-width);
  padding-bottom: add($input-padding-y-lg, $input-border-width);
  @include font-size($input-font-size-lg);
}

.col-form-label-sm {
  padding-top: add($input-padding-y-sm, $input-border-width);
  padding-bottom: add($input-padding-y-sm, $input-border-width);
  @include font-size($input-font-size-sm);
}
engines/nucleus/scss/vendor/bootstrap5/forms/_form-select.scss000064400000004314150753125200020630 0ustar00// Select
//
// Replaces the browser default select with a custom one, mostly pulled from
// https://primer.github.io/.

.form-select {
  display: block;
  width: 100%;
  padding: $form-select-padding-y $form-select-indicator-padding $form-select-padding-y $form-select-padding-x;
  // stylelint-disable-next-line property-no-vendor-prefix
  -moz-padding-start: subtract($form-select-padding-x, 3px); // See https://github.com/twbs/bootstrap/issues/32636
  font-family: $form-select-font-family;
  @include font-size($form-select-font-size);
  font-weight: $form-select-font-weight;
  line-height: $form-select-line-height;
  color: $form-select-color;
  background-color: $form-select-bg;
  background-image: escape-svg($form-select-indicator);
  background-repeat: no-repeat;
  background-position: $form-select-bg-position;
  background-size: $form-select-bg-size;
  border: $form-select-border-width solid $form-select-border-color;
  @include border-radius($form-select-border-radius, 0);
  @include box-shadow($form-select-box-shadow);
  transition: $form-select-transition;
  appearance: none;

  &:focus {
    border-color: $form-select-focus-border-color;
    outline: 0;
    @if $enable-shadows {
      @include box-shadow($form-select-box-shadow, $form-select-focus-box-shadow);
    } @else {
      // Avoid using mixin so we can pass custom focus shadow properly
      box-shadow: $form-select-focus-box-shadow;
    }
  }

  &[multiple],
  &[size]:not([size="1"]) {
    padding-right: $form-select-padding-x;
    background-image: none;
  }

  &:disabled {
    color: $form-select-disabled-color;
    background-color: $form-select-disabled-bg;
    border-color: $form-select-disabled-border-color;
  }

  // Remove outline from select box in FF
  &:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 $form-select-color;
  }
}

.form-select-sm {
  padding-top: $form-select-padding-y-sm;
  padding-bottom: $form-select-padding-y-sm;
  padding-left: $form-select-padding-x-sm;
  @include font-size($form-select-font-size-sm);
}

.form-select-lg {
  padding-top: $form-select-padding-y-lg;
  padding-bottom: $form-select-padding-y-lg;
  padding-left: $form-select-padding-x-lg;
  @include font-size($form-select-font-size-lg);
}
engines/nucleus/scss/vendor/bootstrap5/forms/_form-text.scss000064400000000333150753125200020332 0ustar00//
// Form text
//

.form-text {
  margin-top: $form-text-margin-top;
  @include font-size($form-text-font-size);
  font-style: $form-text-font-style;
  font-weight: $form-text-font-weight;
  color: $form-text-color;
}
engines/nucleus/scss/vendor/bootstrap5/forms/_form-control.scss000064400000015056150753125200021036 0ustar00//
// General form controls (plus a few specific high-level interventions)
//

.form-control {
  display: block;
  width: 100%;
  padding: $input-padding-y $input-padding-x;
  font-family: $input-font-family;
  @include font-size($input-font-size);
  font-weight: $input-font-weight;
  line-height: $input-line-height;
  color: $input-color;
  background-color: $input-bg;
  background-clip: padding-box;
  border: $input-border-width solid $input-border-color;
  appearance: none; // Fix appearance for date inputs in Safari

  // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.
  @include border-radius($input-border-radius, 0);

  @include box-shadow($input-box-shadow);
  transition: $input-transition;

  &[type="file"] {
    overflow: hidden; // prevent pseudo element button overlap

    &:not(:disabled):not([readonly]) {
      cursor: pointer;
    }
  }

  // Customize the `:focus` state to imitate native WebKit styles.
  &:focus {
    color: $input-focus-color;
    background-color: $input-focus-bg;
    border-color: $input-focus-border-color;
    outline: 0;
    @if $enable-shadows {
      @include box-shadow($input-box-shadow, $input-focus-box-shadow);
    } @else {
      // Avoid using mixin so we can pass custom focus shadow properly
      box-shadow: $input-focus-box-shadow;
    }
  }

  // Add some height to date inputs on iOS
  // https://github.com/twbs/bootstrap/issues/23307
  // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved
  &::-webkit-date-and-time-value {
    // Multiply line-height by 1em if it has no unit
    height: if(unit($input-line-height) == "", $input-line-height * 1em, $input-line-height);
  }

  // Placeholder
  &::placeholder {
    color: $input-placeholder-color;
    // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.
    opacity: 1;
  }

  // Disabled and read-only inputs
  //
  // HTML5 says that controls under a fieldset > legend:first-child won't be
  // disabled if the fieldset is disabled. Due to implementation difficulty, we
  // don't honor that edge case; we style them as disabled anyway.
  &:disabled,
  &[readonly] {
    background-color: $input-disabled-bg;
    border-color: $input-disabled-border-color;
    // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.
    opacity: 1;
  }

  // File input buttons theming
  &::file-selector-button {
    padding: $input-padding-y $input-padding-x;
    margin: (-$input-padding-y) (-$input-padding-x);
    margin-inline-end: $input-padding-x;
    color: $form-file-button-color;
    @include gradient-bg($form-file-button-bg);
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: $input-border-width;
    border-radius: 0; // stylelint-disable-line property-disallowed-list
    transition: $btn-transition;
  }

  &:hover:not(:disabled):not([readonly])::file-selector-button {
    background-color: $form-file-button-hover-bg;
  }

  &::-webkit-file-upload-button {
    padding: $input-padding-y $input-padding-x;
    margin: (-$input-padding-y) (-$input-padding-x);
    margin-inline-end: $input-padding-x;
    color: $form-file-button-color;
    @include gradient-bg($form-file-button-bg);
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: $input-border-width;
    border-radius: 0; // stylelint-disable-line property-disallowed-list
    transition: $btn-transition;
  }

  &:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
    background-color: $form-file-button-hover-bg;
  }
}

// Readonly controls as plain text
//
// Apply class to a readonly input to make it appear like regular plain
// text (without any border, background color, focus indicator)

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: $input-padding-y 0;
  margin-bottom: 0; // match inputs if this class comes on inputs with default margins
  line-height: $input-line-height;
  color: $input-plaintext-color;
  background-color: transparent;
  border: solid transparent;
  border-width: $input-border-width 0;

  &.form-control-sm,
  &.form-control-lg {
    padding-right: 0;
    padding-left: 0;
  }
}

// Form control sizing
//
// Build on `.form-control` with modifier classes to decrease or increase the
// height and font-size of form controls.
//
// Repeated in `_input_group.scss` to avoid Sass extend issues.

.form-control-sm {
  min-height: $input-height-sm;
  padding: $input-padding-y-sm $input-padding-x-sm;
  @include font-size($input-font-size-sm);
  @include border-radius($input-border-radius-sm);

  &::file-selector-button {
    padding: $input-padding-y-sm $input-padding-x-sm;
    margin: (-$input-padding-y-sm) (-$input-padding-x-sm);
    margin-inline-end: $input-padding-x-sm;
  }

  &::-webkit-file-upload-button {
    padding: $input-padding-y-sm $input-padding-x-sm;
    margin: (-$input-padding-y-sm) (-$input-padding-x-sm);
    margin-inline-end: $input-padding-x-sm;
  }
}

.form-control-lg {
  min-height: $input-height-lg;
  padding: $input-padding-y-lg $input-padding-x-lg;
  @include font-size($input-font-size-lg);
  @include border-radius($input-border-radius-lg);

  &::file-selector-button {
    padding: $input-padding-y-lg $input-padding-x-lg;
    margin: (-$input-padding-y-lg) (-$input-padding-x-lg);
    margin-inline-end: $input-padding-x-lg;
  }

  &::-webkit-file-upload-button {
    padding: $input-padding-y-lg $input-padding-x-lg;
    margin: (-$input-padding-y-lg) (-$input-padding-x-lg);
    margin-inline-end: $input-padding-x-lg;
  }
}

// Make sure textareas don't shrink too much when resized
// https://github.com/twbs/bootstrap/pull/29124
// stylelint-disable selector-no-qualifying-type
textarea {
  &.form-control {
    min-height: $input-height;
  }

  &.form-control-sm {
    min-height: $input-height-sm;
  }

  &.form-control-lg {
    min-height: $input-height-lg;
  }
}
// stylelint-enable selector-no-qualifying-type

.form-control-color {
  max-width: 3rem;
  height: auto; // Override fixed browser height
  padding: $input-padding-y;

  &:not(:disabled):not([readonly]) {
    cursor: pointer;
  }

  &::-moz-color-swatch {
    height: if(unit($input-line-height) == "", $input-line-height * 1em, $input-line-height);
    @include border-radius($input-border-radius);
  }

  &::-webkit-color-swatch {
    height: if(unit($input-line-height) == "", $input-line-height * 1em, $input-line-height);
    @include border-radius($input-border-radius);
  }
}
engines/nucleus/scss/vendor/bootstrap5/forms/_form-range.scss000064400000005332150753125200020446 0ustar00// Range
//
// Style range inputs the same across browsers. Vendor-specific rules for pseudo
// elements cannot be mixed. As such, there are no shared styles for focus or
// active states on prefixed selectors.

.form-range {
  width: 100%;
  height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);
  padding: 0; // Need to reset padding
  background-color: transparent;
  appearance: none;

  &:focus {
    outline: 0;

    // Pseudo-elements must be split across multiple rulesets to have an effect.
    // No box-shadow() mixin for focus accessibility.
    &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }
    &::-moz-range-thumb     { box-shadow: $form-range-thumb-focus-box-shadow; }
  }

  &::-moz-focus-outer {
    border: 0;
  }

  &::-webkit-slider-thumb {
    width: $form-range-thumb-width;
    height: $form-range-thumb-height;
    margin-top: ($form-range-track-height - $form-range-thumb-height) * .5; // Webkit specific
    @include gradient-bg($form-range-thumb-bg);
    border: $form-range-thumb-border;
    @include border-radius($form-range-thumb-border-radius);
    @include box-shadow($form-range-thumb-box-shadow);
    transition: $form-range-thumb-transition;
    appearance: none;

    &:active {
      @include gradient-bg($form-range-thumb-active-bg);
    }
  }

  &::-webkit-slider-runnable-track {
    width: $form-range-track-width;
    height: $form-range-track-height;
    color: transparent; // Why?
    cursor: $form-range-track-cursor;
    background-color: $form-range-track-bg;
    border-color: transparent;
    @include border-radius($form-range-track-border-radius);
    @include box-shadow($form-range-track-box-shadow);
  }

  &::-moz-range-thumb {
    width: $form-range-thumb-width;
    height: $form-range-thumb-height;
    @include gradient-bg($form-range-thumb-bg);
    border: $form-range-thumb-border;
    @include border-radius($form-range-thumb-border-radius);
    @include box-shadow($form-range-thumb-box-shadow);
    transition: $form-range-thumb-transition;
    appearance: none;

    &:active {
      @include gradient-bg($form-range-thumb-active-bg);
    }
  }

  &::-moz-range-track {
    width: $form-range-track-width;
    height: $form-range-track-height;
    color: transparent;
    cursor: $form-range-track-cursor;
    background-color: $form-range-track-bg;
    border-color: transparent; // Firefox specific?
    @include border-radius($form-range-track-border-radius);
    @include box-shadow($form-range-track-box-shadow);
  }

  &:disabled {
    pointer-events: none;

    &::-webkit-slider-thumb {
      background-color: $form-range-thumb-disabled-bg;
    }

    &::-moz-range-thumb {
      background-color: $form-range-thumb-disabled-bg;
    }
  }
}
engines/nucleus/scss/vendor/bootstrap5/_buttons.scss000064400000003611150753125200016757 0ustar00//
// Base styles
//

.btn {
  display: inline-block;
  font-family: $btn-font-family;
  font-weight: $btn-font-weight;
  line-height: $btn-line-height;
  color: $body-color;
  text-align: center;
  text-decoration: if($link-decoration == none, null, none);
  white-space: $btn-white-space;
  vertical-align: middle;
  cursor: if($enable-button-pointers, pointer, null);
  user-select: none;
  background-color: transparent;
  border: $btn-border-width solid transparent;
  @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-border-radius);
  transition: $btn-transition;

  &:hover {
    color: $body-color;
    text-decoration: if($link-hover-decoration == underline, none, null);
  }

  .btn-check:focus + &,
  &:focus {
    outline: 0;
    box-shadow: $btn-focus-box-shadow;
  }

  .btn-check:checked + &,
  .btn-check:active + &,
  &:active,
  &.active {
    @include box-shadow($btn-active-box-shadow);

    &:focus {
      @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);
    }
  }

  &:disabled,
  &.disabled,
  fieldset:disabled & {
    pointer-events: none;
    opacity: $btn-disabled-opacity;
    @include box-shadow(none);
  }
}


// scss-docs-end btn-variant-loops


//
// Link buttons
//

// Make a button look and behave like a link
.btn-link {
  font-weight: $font-weight-normal;
  color: $btn-link-color;
  text-decoration: $link-decoration;

  &:hover {
    color: $btn-link-hover-color;
    text-decoration: $link-hover-decoration;
  }

  &:focus {
    text-decoration: $link-hover-decoration;
  }

  &:disabled,
  &.disabled {
    color: $btn-link-disabled-color;
  }

  // No need for an active state here
}


//
// Button Sizes
//

.btn-lg {
  @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);
}

.btn-sm {
  @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);
}
engines/nucleus/scss/vendor/bootstrap5/_transitions.scss000064400000000443150753125200017636 0ustar00.fade {
  transition: $transition-fade;

  &:not(.show) {
    opacity: 0;
  }
}

// scss-docs-start collapse-classes
.collapse {
  &:not(.show) {
    display: none;
  }
}

.collapsing {
  height: 0;
  overflow: hidden;
  transition: $transition-collapse;
}
// scss-docs-end collapse-classes
engines/nucleus/scss/vendor/bootstrap5/_badge.scss000064400000001160150753125200016320 0ustar00// Base class
//
// Requires one of the contextual, color modifier classes for `color` and
// `background-color`.

.badge {
  display: inline-block;
  padding: $badge-padding-y $badge-padding-x;
  @include font-size($badge-font-size);
  font-weight: $badge-font-weight;
  line-height: 1;
  color: $badge-color;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  @include border-radius($badge-border-radius);
  @include gradient-bg();

  // Empty badges collapse automatically
  &:empty {
    display: none;
  }
}

// Quick fix for badges in buttons
.btn .badge {
  position: relative;
  top: -1px;
}
engines/nucleus/scss/vendor/bootstrap5/_button-group.scss000064400000005631150753125200017732 0ustar00// Make the div behave like a button
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle; // match .btn alignment given font-size hack above

  > .btn {
    position: relative;
    flex: 1 1 auto;
  }

  // Bring the hover, focused, and "active" buttons to the front to overlay
  // the borders properly
  > .btn-check:checked + .btn,
  > .btn-check:focus + .btn,
  > .btn:hover,
  > .btn:focus,
  > .btn:active,
  > .btn.active {
    z-index: 1;
  }
}

// Optional: Group multiple button groups together for a toolbar
.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;

  .input-group {
    width: auto;
  }
}

.btn-group {
  // Prevent double borders when buttons are next to each other
  > .btn:not(:first-child),
  > .btn-group:not(:first-child) {
    margin-left: -$btn-border-width;
  }

  // Reset rounded corners
  > .btn:not(:last-child):not(.dropdown-toggle),
  > .btn-group:not(:last-child) > .btn {
    @include border-end-radius(0);
  }

  // The left radius should be 0 if the button is:
  // - the "third or more" child
  // - the second child and the previous element isn't `.btn-check` (making it the first child visually)
  // - part of a btn-group which isn't the first child
  > .btn:nth-child(n + 3),
  > :not(.btn-check) + .btn,
  > .btn-group:not(:first-child) > .btn {
    @include border-start-radius(0);
  }
}

// Sizing
//
// Remix the default button sizing classes into new ones for easier manipulation.

.btn-group-sm > .btn { @extend .btn-sm; }
.btn-group-lg > .btn { @extend .btn-lg; }


//
// Split button dropdowns
//

.dropdown-toggle-split {
  padding-right: $btn-padding-x * .75;
  padding-left: $btn-padding-x * .75;

  &::after,
  .dropup &::after,
  .dropend &::after {
    margin-left: 0;
  }

  .dropstart &::before {
    margin-right: 0;
  }
}

.btn-sm + .dropdown-toggle-split {
  padding-right: $btn-padding-x-sm * .75;
  padding-left: $btn-padding-x-sm * .75;
}

.btn-lg + .dropdown-toggle-split {
  padding-right: $btn-padding-x-lg * .75;
  padding-left: $btn-padding-x-lg * .75;
}


// The clickable button for toggling the menu
// Set the same inset shadow as the :active state
.btn-group.show .dropdown-toggle {
  @include box-shadow($btn-active-box-shadow);

  // Show no shadow for `.btn-link` since it has no other button styles.
  &.btn-link {
    @include box-shadow(none);
  }
}


//
// Vertical button groups
//

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;

  > .btn,
  > .btn-group {
    width: 100%;
  }

  > .btn:not(:first-child),
  > .btn-group:not(:first-child) {
    margin-top: -$btn-border-width;
  }

  // Reset rounded corners
  > .btn:not(:last-child):not(.dropdown-toggle),
  > .btn-group:not(:last-child) > .btn {
    @include border-bottom-radius(0);
  }

  > .btn ~ .btn,
  > .btn-group:not(:first-child) > .btn {
    @include border-top-radius(0);
  }
}
engines/nucleus/scss/vendor/bootstrap5/_popover.scss000064400000010462150753125200016755 0ustar00.popover {
  position: absolute;
  top: 0;
  left: 0 #{"/* rtl:ignore */"};
  z-index: $zindex-popover;
  display: block;
  max-width: $popover-max-width;
  // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
  // So reset our font and text properties to avoid inheriting weird values.
  @include reset-text();
  @include font-size($popover-font-size);
  // Allow breaking very long words so they don't overflow the popover's bounds
  word-wrap: break-word;
  background-color: $popover-bg;
  background-clip: padding-box;
  border: $popover-border-width solid $popover-border-color;
  @include border-radius($popover-border-radius);
  @include box-shadow($popover-box-shadow);

  .popover-arrow {
    position: absolute;
    display: block;
    width: $popover-arrow-width;
    height: $popover-arrow-height;

    &::before,
    &::after {
      position: absolute;
      display: block;
      content: "";
      border-color: transparent;
      border-style: solid;
    }
  }
}

.bs-popover-top {
  > .popover-arrow {
    bottom: subtract(-$popover-arrow-height, $popover-border-width);

    &::before {
      bottom: 0;
      border-width: $popover-arrow-height ($popover-arrow-width * .5) 0;
      border-top-color: $popover-arrow-outer-color;
    }

    &::after {
      bottom: $popover-border-width;
      border-width: $popover-arrow-height ($popover-arrow-width * .5) 0;
      border-top-color: $popover-arrow-color;
    }
  }
}

.bs-popover-end {
  > .popover-arrow {
    left: subtract(-$popover-arrow-height, $popover-border-width);
    width: $popover-arrow-height;
    height: $popover-arrow-width;

    &::before {
      left: 0;
      border-width: ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5) 0;
      border-right-color: $popover-arrow-outer-color;
    }

    &::after {
      left: $popover-border-width;
      border-width: ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5) 0;
      border-right-color: $popover-arrow-color;
    }
  }
}

.bs-popover-bottom {
  > .popover-arrow {
    top: subtract(-$popover-arrow-height, $popover-border-width);

    &::before {
      top: 0;
      border-width: 0 ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5);
      border-bottom-color: $popover-arrow-outer-color;
    }

    &::after {
      top: $popover-border-width;
      border-width: 0 ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5);
      border-bottom-color: $popover-arrow-color;
    }
  }

  // This will remove the popover-header's border just below the arrow
  .popover-header::before {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: $popover-arrow-width;
    margin-left: -$popover-arrow-width * .5;
    content: "";
    border-bottom: $popover-border-width solid $popover-header-bg;
  }
}

.bs-popover-start {
  > .popover-arrow {
    right: subtract(-$popover-arrow-height, $popover-border-width);
    width: $popover-arrow-height;
    height: $popover-arrow-width;

    &::before {
      right: 0;
      border-width: ($popover-arrow-width * .5) 0 ($popover-arrow-width * .5) $popover-arrow-height;
      border-left-color: $popover-arrow-outer-color;
    }

    &::after {
      right: $popover-border-width;
      border-width: ($popover-arrow-width * .5) 0 ($popover-arrow-width * .5) $popover-arrow-height;
      border-left-color: $popover-arrow-color;
    }
  }
}

.bs-popover-auto {
  &[data-popper-placement^="top"] {
    @extend .bs-popover-top;
  }
  &[data-popper-placement^="right"] {
    @extend .bs-popover-end;
  }
  &[data-popper-placement^="bottom"] {
    @extend .bs-popover-bottom;
  }
  &[data-popper-placement^="left"] {
    @extend .bs-popover-start;
  }
}

// Offset the popover to account for the popover arrow
.popover-header {
  padding: $popover-header-padding-y $popover-header-padding-x;
  margin-bottom: 0; // Reset the default from Reboot
  @include font-size($font-size-base);
  color: $popover-header-color;
  background-color: $popover-header-bg;
  border-bottom: $popover-border-width solid $popover-border-color;
  @include border-top-radius($popover-inner-border-radius);

  &:empty {
    display: none;
  }
}

.popover-body {
  padding: $popover-body-padding-y $popover-body-padding-x;
  color: $popover-body-color;
}
engines/nucleus/scss/vendor/bootstrap5/_variables.scss000064400000173522150753125200017242 0ustar00// Variables
//
// Variables should follow the `$component-state-property-size` formula for
// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.

// Color system

// scss-docs-start gray-color-variables
$white:    #fff !default;
$gray-100: #f8f9fa !default;
$gray-200: #e9ecef !default;
$gray-300: #dee2e6 !default;
$gray-400: #ced4da !default;
$gray-500: #adb5bd !default;
$gray-600: #6c757d !default;
$gray-700: #495057 !default;
$gray-800: #343a40 !default;
$gray-900: #212529 !default;
$black:    #000 !default;
// scss-docs-end gray-color-variables

// fusv-disable
// scss-docs-start gray-colors-map
$grays: (
  "100": $gray-100,
  "200": $gray-200,
  "300": $gray-300,
  "400": $gray-400,
  "500": $gray-500,
  "600": $gray-600,
  "700": $gray-700,
  "800": $gray-800,
  "900": $gray-900
) !default;
// scss-docs-end gray-colors-map
// fusv-enable

// scss-docs-start color-variables
$blue:    #0d6efd !default;
$indigo:  #6610f2 !default;
$purple:  #6f42c1 !default;
$pink:    #d63384 !default;
$red:     #dc3545 !default;
$orange:  #fd7e14 !default;
$yellow:  #ffc107 !default;
$green:   #198754 !default;
$teal:    #20c997 !default;
$cyan:    #0dcaf0 !default;
// scss-docs-end color-variables

// scss-docs-start colors-map
$colors: (
  "blue":       $blue,
  "indigo":     $indigo,
  "purple":     $purple,
  "pink":       $pink,
  "red":        $red,
  "orange":     $orange,
  "yellow":     $yellow,
  "green":      $green,
  "teal":       $teal,
  "cyan":       $cyan,
  "white":      $white,
  "gray":       $gray-600,
  "gray-dark":  $gray-800
) !default;
// scss-docs-end colors-map

// scss-docs-start theme-color-variables
$primary:       $blue !default;
$secondary:     $gray-600 !default;
$success:       $green !default;
$info:          $cyan !default;
$warning:       $yellow !default;
$danger:        $red !default;
$light:         $gray-100 !default;
$dark:          $gray-900 !default;
// scss-docs-end theme-color-variables

// scss-docs-start theme-colors-map
$theme-colors: (
  "primary":    $primary,
  "secondary":  $secondary,
  "success":    $success,
  "info":       $info,
  "warning":    $warning,
  "danger":     $danger,
  "light":      $light,
  "dark":       $dark
) !default;
// scss-docs-end theme-colors-map

// The contrast ratio to reach against white, to determine if color changes from "light" to "dark". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.
// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast
$min-contrast-ratio:   4.5 !default;

// Customize the light and dark text colors for use in our color contrast function.
$color-contrast-dark:      $black !default;
$color-contrast-light:     $white !default;

// fusv-disable
$blue-100: tint-color($blue, 80%) !default;
$blue-200: tint-color($blue, 60%) !default;
$blue-300: tint-color($blue, 40%) !default;
$blue-400: tint-color($blue, 20%) !default;
$blue-500: $blue !default;
$blue-600: shade-color($blue, 20%) !default;
$blue-700: shade-color($blue, 40%) !default;
$blue-800: shade-color($blue, 60%) !default;
$blue-900: shade-color($blue, 80%) !default;

$indigo-100: tint-color($indigo, 80%) !default;
$indigo-200: tint-color($indigo, 60%) !default;
$indigo-300: tint-color($indigo, 40%) !default;
$indigo-400: tint-color($indigo, 20%) !default;
$indigo-500: $indigo !default;
$indigo-600: shade-color($indigo, 20%) !default;
$indigo-700: shade-color($indigo, 40%) !default;
$indigo-800: shade-color($indigo, 60%) !default;
$indigo-900: shade-color($indigo, 80%) !default;

$purple-100: tint-color($purple, 80%) !default;
$purple-200: tint-color($purple, 60%) !default;
$purple-300: tint-color($purple, 40%) !default;
$purple-400: tint-color($purple, 20%) !default;
$purple-500: $purple !default;
$purple-600: shade-color($purple, 20%) !default;
$purple-700: shade-color($purple, 40%) !default;
$purple-800: shade-color($purple, 60%) !default;
$purple-900: shade-color($purple, 80%) !default;

$pink-100: tint-color($pink, 80%) !default;
$pink-200: tint-color($pink, 60%) !default;
$pink-300: tint-color($pink, 40%) !default;
$pink-400: tint-color($pink, 20%) !default;
$pink-500: $pink !default;
$pink-600: shade-color($pink, 20%) !default;
$pink-700: shade-color($pink, 40%) !default;
$pink-800: shade-color($pink, 60%) !default;
$pink-900: shade-color($pink, 80%) !default;

$red-100: tint-color($red, 80%) !default;
$red-200: tint-color($red, 60%) !default;
$red-300: tint-color($red, 40%) !default;
$red-400: tint-color($red, 20%) !default;
$red-500: $red !default;
$red-600: shade-color($red, 20%) !default;
$red-700: shade-color($red, 40%) !default;
$red-800: shade-color($red, 60%) !default;
$red-900: shade-color($red, 80%) !default;

$orange-100: tint-color($orange, 80%) !default;
$orange-200: tint-color($orange, 60%) !default;
$orange-300: tint-color($orange, 40%) !default;
$orange-400: tint-color($orange, 20%) !default;
$orange-500: $orange !default;
$orange-600: shade-color($orange, 20%) !default;
$orange-700: shade-color($orange, 40%) !default;
$orange-800: shade-color($orange, 60%) !default;
$orange-900: shade-color($orange, 80%) !default;

$yellow-100: tint-color($yellow, 80%) !default;
$yellow-200: tint-color($yellow, 60%) !default;
$yellow-300: tint-color($yellow, 40%) !default;
$yellow-400: tint-color($yellow, 20%) !default;
$yellow-500: $yellow !default;
$yellow-600: shade-color($yellow, 20%) !default;
$yellow-700: shade-color($yellow, 40%) !default;
$yellow-800: shade-color($yellow, 60%) !default;
$yellow-900: shade-color($yellow, 80%) !default;

$green-100: tint-color($green, 80%) !default;
$green-200: tint-color($green, 60%) !default;
$green-300: tint-color($green, 40%) !default;
$green-400: tint-color($green, 20%) !default;
$green-500: $green !default;
$green-600: shade-color($green, 20%) !default;
$green-700: shade-color($green, 40%) !default;
$green-800: shade-color($green, 60%) !default;
$green-900: shade-color($green, 80%) !default;

$teal-100: tint-color($teal, 80%) !default;
$teal-200: tint-color($teal, 60%) !default;
$teal-300: tint-color($teal, 40%) !default;
$teal-400: tint-color($teal, 20%) !default;
$teal-500: $teal !default;
$teal-600: shade-color($teal, 20%) !default;
$teal-700: shade-color($teal, 40%) !default;
$teal-800: shade-color($teal, 60%) !default;
$teal-900: shade-color($teal, 80%) !default;

$cyan-100: tint-color($cyan, 80%) !default;
$cyan-200: tint-color($cyan, 60%) !default;
$cyan-300: tint-color($cyan, 40%) !default;
$cyan-400: tint-color($cyan, 20%) !default;
$cyan-500: $cyan !default;
$cyan-600: shade-color($cyan, 20%) !default;
$cyan-700: shade-color($cyan, 40%) !default;
$cyan-800: shade-color($cyan, 60%) !default;
$cyan-900: shade-color($cyan, 80%) !default;
// fusv-enable

// Characters which are escaped by the escape-svg function
$escaped-characters: (
  ("<", "%3c"),
  (">", "%3e"),
  ("#", "%23"),
  ("(", "%28"),
  (")", "%29"),
) !default;

// Options
//
// Quickly modify global styling by enabling or disabling optional features.

$enable-caret:                true !default;
$enable-rounded:              true !default;
$enable-shadows:              false !default;
$enable-gradients:            false !default;
$enable-transitions:          true !default;
$enable-reduced-motion:       true !default;
$enable-smooth-scroll:        true !default;
$enable-grid-classes:         true !default;
$enable-button-pointers:      true !default;
$enable-rfs:                  true !default;
$enable-validation-icons:     true !default;
$enable-negative-margins:     false !default;
$enable-deprecation-messages: true !default;
$enable-important-utilities:  true !default;
$ignore-warning:  true !default;

// Prefix for :root CSS variables

$variable-prefix:             bs- !default;

// Gradient
//
// The gradient which is added to components if `$enable-gradients` is `true`
// This gradient is also added to elements with `.bg-gradient`
// scss-docs-start variable-gradient
$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;
// scss-docs-end variable-gradient

// Spacing
//
// Control the default styling of most Bootstrap elements by modifying these
// variables. Mostly focused on spacing.
// You can add more entries to the $spacers map, should you need more variation.

// scss-docs-start spacer-variables-maps
$spacer: 1rem !default;
$spacers: (
  0: 0,
  1: $spacer * .25,
  2: $spacer * .5,
  3: $spacer,
  4: $spacer * 1.5,
  5: $spacer * 3,
) !default;

$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;
// scss-docs-end spacer-variables-maps

// Position
//
// Define the edge positioning anchors of the position utilities.

// scss-docs-start position-map
$position-values: (
  0: 0,
  50: 50%,
  100: 100%
) !default;
// scss-docs-end position-map

// Body
//
// Settings for the `<body>` element.

$body-bg:                   $white !default;
$body-color:                $gray-900 !default;
$body-text-align:           null !default;


// Links
//
// Style anchor elements.

$link-color:                              $primary !default;
$link-decoration:                         underline !default;
$link-shade-percentage:                   20% !default;
$link-hover-color:                        shift-color($link-color, $link-shade-percentage) !default;
$link-hover-decoration:                   null !default;

$stretched-link-pseudo-element:           after !default;
$stretched-link-z-index:                  1 !default;

// Paragraphs
//
// Style p element.

$paragraph-margin-bottom:   1rem !default;


// Grid breakpoints
//
// Define the minimum dimensions at which your layout will change,
// adapting to different screen sizes, for use in media queries.

// scss-docs-start grid-breakpoints
$grid-breakpoints: (
  xs: 0,
  sm: 576px,
  md: 768px,
  lg: 992px,
  xl: 1200px,
  xxl: 1400px
) !default;
// scss-docs-end grid-breakpoints

@include _assert-ascending($grid-breakpoints, "$grid-breakpoints");
@include _assert-starts-at-zero($grid-breakpoints, "$grid-breakpoints");


// Grid containers
//
// Define the maximum width of `.container` for different screen sizes.

// scss-docs-start container-max-widths
$container-max-widths: (
  sm: 540px,
  md: 720px,
  lg: 960px,
  xl: 1140px,
  xxl: 1320px
) !default;
// scss-docs-end container-max-widths

@include _assert-ascending($container-max-widths, "$container-max-widths");


// Grid columns
//
// Set the number of columns and specify the width of the gutters.

$grid-columns:                12 !default;
$grid-gutter-width:           1.5rem !default;
$grid-row-columns:            6 !default;

$gutters: $spacers !default;

// Container padding

$container-padding-x: $grid-gutter-width * .5 !default;


// Components
//
// Define common padding and border radius sizes and more.

// scss-docs-start border-variables
$border-width:                1px !default;
$border-widths: (
  1: 1px,
  2: 2px,
  3: 3px,
  4: 4px,
  5: 5px
) !default;

$border-color:                $gray-300 !default;
// scss-docs-end border-variables

// scss-docs-start border-radius-variables
$border-radius:               .25rem !default;
$border-radius-sm:            .2rem !default;
$border-radius-lg:            .3rem !default;
$border-radius-pill:          50rem !default;
// scss-docs-end border-radius-variables

// scss-docs-start box-shadow-variables
$box-shadow:                  0 .5rem 1rem rgba($black, .15) !default;
$box-shadow-sm:               0 .125rem .25rem rgba($black, .075) !default;
$box-shadow-lg:               0 1rem 3rem rgba($black, .175) !default;
$box-shadow-inset:            inset 0 1px 2px rgba($black, .075) !default;
// scss-docs-end box-shadow-variables

$component-active-color:      $white !default;
$component-active-bg:         $primary !default;

// scss-docs-start caret-variables
$caret-width:                 .3em !default;
$caret-vertical-align:        $caret-width * .85 !default;
$caret-spacing:               $caret-width * .85 !default;
// scss-docs-end caret-variables

$transition-base:             all .2s ease-in-out !default;
$transition-fade:             opacity .15s linear !default;
// scss-docs-start collapse-transition
$transition-collapse:         height .35s ease !default;
// scss-docs-end collapse-transition

// stylelint-disable function-disallowed-list
// scss-docs-start aspect-ratios
$aspect-ratios: (
  "1x1": 100%,
  "4x3": calc(3 / 4 * 100%),
  "16x9": calc(9 / 16 * 100%),
  "21x9": calc(9 / 21 * 100%)
) !default;
// scss-docs-end aspect-ratios
// stylelint-enable function-disallowed-list

// Typography
//
// Font, line-height, and color for body text, headings, and more.

// scss-docs-start font-variables
// stylelint-disable value-keyword-case
$font-family-sans-serif:      system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
$font-family-monospace:       SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
// stylelint-enable value-keyword-case
$font-family-base:            var(--#{$variable-prefix}font-sans-serif) !default;
$font-family-code:            var(--#{$variable-prefix}font-monospace) !default;

// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins
// $font-size-base affects the font size of the body text
$font-size-root:              null !default;
$font-size-base:              1rem !default; // Assumes the browser default, typically `16px`
$font-size-sm:                $font-size-base * .875 !default;
$font-size-lg:                $font-size-base * 1.25 !default;

$font-weight-lighter:         lighter !default;
$font-weight-light:           300 !default;
$font-weight-normal:          400 !default;
$font-weight-bold:            700 !default;
$font-weight-bolder:          bolder !default;

$font-weight-base:            $font-weight-normal !default;

$line-height-base:            1.5 !default;
$line-height-sm:              1.25 !default;
$line-height-lg:              2 !default;

$h1-font-size:                $font-size-base * 2.5 !default;
$h2-font-size:                $font-size-base * 2 !default;
$h3-font-size:                $font-size-base * 1.75 !default;
$h4-font-size:                $font-size-base * 1.5 !default;
$h5-font-size:                $font-size-base * 1.25 !default;
$h6-font-size:                $font-size-base !default;
// scss-docs-end font-variables

// scss-docs-start font-sizes
$font-sizes: (
  1: $h1-font-size,
  2: $h2-font-size,
  3: $h3-font-size,
  4: $h4-font-size,
  5: $h5-font-size,
  6: $h6-font-size
) !default;
// scss-docs-end font-sizes

// scss-docs-start headings-variables
$headings-margin-bottom:      $spacer * .5 !default;
$headings-font-family:        null !default;
$headings-font-style:         null !default;
$headings-font-weight:        500 !default;
$headings-line-height:        1.2 !default;
$headings-color:              null !default;
// scss-docs-end headings-variables

// scss-docs-start display-headings
$display-font-sizes: (
  1: 5rem,
  2: 4.5rem,
  3: 4rem,
  4: 3.5rem,
  5: 3rem,
  6: 2.5rem
) !default;

$display-font-weight: 300 !default;
$display-line-height: $headings-line-height !default;
// scss-docs-end display-headings

// scss-docs-start type-variables
$lead-font-size:              $font-size-base * 1.25 !default;
$lead-font-weight:            300 !default;

$small-font-size:             .875em !default;

$sub-sup-font-size:           .75em !default;

$text-muted:                  $gray-600 !default;

$initialism-font-size:        $small-font-size !default;

$blockquote-margin-y:         $spacer !default;
$blockquote-font-size:        $font-size-base * 1.25 !default;
$blockquote-footer-color:     $gray-600 !default;
$blockquote-footer-font-size: $small-font-size !default;

$hr-margin-y:                 $spacer !default;
$hr-color:                    inherit !default;
$hr-height:                   $border-width !default;
$hr-opacity:                  .25 !default;

$legend-margin-bottom:        .5rem !default;
$legend-font-size:            1.5rem !default;
$legend-font-weight:          null !default;

$mark-padding:                .2em !default;

$dt-font-weight:              $font-weight-bold !default;

$nested-kbd-font-weight:      $font-weight-bold !default;

$list-inline-padding:         .5rem !default;

$mark-bg:                     #fcf8e3 !default;
// scss-docs-end type-variables


// Tables
//
// Customizes the `.table` component with basic values, each used across all table variations.

// scss-docs-start table-variables
$table-cell-padding-y:        .5rem !default;
$table-cell-padding-x:        .5rem !default;
$table-cell-padding-y-sm:     .25rem !default;
$table-cell-padding-x-sm:     .25rem !default;

$table-cell-vertical-align:   top !default;

$table-color:                 inherit !default;
$table-bg:                    transparent !default;
$table-accent-bg:             transparent !default;

$table-th-font-weight:        null !default;

$table-striped-color:         inherit !default;
$table-striped-bg-factor:     .05 !default;
$table-striped-bg:            inherit !default;

$table-active-color:          inherit !default;
$table-active-bg-factor:      .1 !default;
$table-active-bg:             inherit !default;

$table-hover-color:           inherit !default;
$table-hover-bg-factor:       .075 !default;
$table-hover-bg:              inherit !default;

$table-border-factor:         .1 !default;
$table-border-width:          $border-width !default;
$table-border-color:          inherit !default;

$table-striped-order:         odd !default;

$table-group-separator-color: inherit !default;

$table-caption-color:         $text-muted !default;

$table-bg-scale:              -80% !default;
// scss-docs-end table-variables

// scss-docs-start table-loop
$table-variants: (
  "primary":    shift-color($primary, $table-bg-scale),
  "secondary":  shift-color($secondary, $table-bg-scale),
  "success":    shift-color($success, $table-bg-scale),
  "info":       shift-color($info, $table-bg-scale),
  "warning":    shift-color($warning, $table-bg-scale),
  "danger":     shift-color($danger, $table-bg-scale),
  "light":      $light,
  "dark":       $dark,
) !default;
// scss-docs-end table-loop


// Buttons + Forms
//
// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.

// scss-docs-start input-btn-variables
$input-btn-padding-y:         .375rem !default;
$input-btn-padding-x:         .75rem !default;
$input-btn-font-family:       null !default;
$input-btn-font-size:         $font-size-base !default;
$input-btn-line-height:       $line-height-base !default;

$input-btn-focus-width:         .25rem !default;
$input-btn-focus-color-opacity: .25 !default;
$input-btn-focus-color:         rgba($component-active-bg, $input-btn-focus-color-opacity) !default;
$input-btn-focus-blur:          0 !default;
$input-btn-focus-box-shadow:    0 0 $input-btn-focus-blur $input-btn-focus-width $input-btn-focus-color !default;

$input-btn-padding-y-sm:      .25rem !default;
$input-btn-padding-x-sm:      .5rem !default;
$input-btn-font-size-sm:      $font-size-sm !default;

$input-btn-padding-y-lg:      .5rem !default;
$input-btn-padding-x-lg:      1rem !default;
$input-btn-font-size-lg:      $font-size-lg !default;

$input-btn-border-width:      $border-width !default;
// scss-docs-end input-btn-variables


// Buttons
//
// For each of Bootstrap's buttons, define text, background, and border color.

// scss-docs-start btn-variables
$btn-padding-y:               $input-btn-padding-y !default;
$btn-padding-x:               $input-btn-padding-x !default;
$btn-font-family:             $input-btn-font-family !default;
$btn-font-size:               $input-btn-font-size !default;
$btn-line-height:             $input-btn-line-height !default;
$btn-white-space:             null !default; // Set to `nowrap` to prevent text wrapping

$btn-padding-y-sm:            $input-btn-padding-y-sm !default;
$btn-padding-x-sm:            $input-btn-padding-x-sm !default;
$btn-font-size-sm:            $input-btn-font-size-sm !default;

$btn-padding-y-lg:            $input-btn-padding-y-lg !default;
$btn-padding-x-lg:            $input-btn-padding-x-lg !default;
$btn-font-size-lg:            $input-btn-font-size-lg !default;

$btn-border-width:            $input-btn-border-width !default;

$btn-font-weight:             $font-weight-normal !default;
$btn-box-shadow:              inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;
$btn-focus-width:             $input-btn-focus-width !default;
$btn-focus-box-shadow:        $input-btn-focus-box-shadow !default;
$btn-disabled-opacity:        .65 !default;
$btn-active-box-shadow:       inset 0 3px 5px rgba($black, .125) !default;

$btn-link-color:              $link-color !default;
$btn-link-hover-color:        $link-hover-color !default;
$btn-link-disabled-color:     $gray-600 !default;

// Allows for customizing button radius independently from global border radius
$btn-border-radius:           $border-radius !default;
$btn-border-radius-sm:        $border-radius-sm !default;
$btn-border-radius-lg:        $border-radius-lg !default;

$btn-transition:              color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;

$btn-hover-bg-shade-amount:       15% !default;
$btn-hover-bg-tint-amount:        15% !default;
$btn-hover-border-shade-amount:   20% !default;
$btn-hover-border-tint-amount:    10% !default;
$btn-active-bg-shade-amount:      20% !default;
$btn-active-bg-tint-amount:       20% !default;
$btn-active-border-shade-amount:  25% !default;
$btn-active-border-tint-amount:   10% !default;
// scss-docs-end btn-variables


// Forms

// scss-docs-start form-text-variables
$form-text-margin-top:                  .25rem !default;
$form-text-font-size:                   $small-font-size !default;
$form-text-font-style:                  null !default;
$form-text-font-weight:                 null !default;
$form-text-color:                       $text-muted !default;
// scss-docs-end form-text-variables

// scss-docs-start form-label-variables
$form-label-margin-bottom:              .5rem !default;
$form-label-font-size:                  null !default;
$form-label-font-style:                 null !default;
$form-label-font-weight:                null !default;
$form-label-color:                      null !default;
// scss-docs-end form-label-variables

// scss-docs-start form-input-variables
$input-padding-y:                       $input-btn-padding-y !default;
$input-padding-x:                       $input-btn-padding-x !default;
$input-font-family:                     $input-btn-font-family !default;
$input-font-size:                       $input-btn-font-size !default;
$input-font-weight:                     $font-weight-base !default;
$input-line-height:                     $input-btn-line-height !default;

$input-padding-y-sm:                    $input-btn-padding-y-sm !default;
$input-padding-x-sm:                    $input-btn-padding-x-sm !default;
$input-font-size-sm:                    $input-btn-font-size-sm !default;

$input-padding-y-lg:                    $input-btn-padding-y-lg !default;
$input-padding-x-lg:                    $input-btn-padding-x-lg !default;
$input-font-size-lg:                    $input-btn-font-size-lg !default;

$input-bg:                              $white !default;
$input-disabled-bg:                     $gray-200 !default;
$input-disabled-border-color:           null !default;

$input-color:                           $body-color !default;
$input-border-color:                    $gray-400 !default;
$input-border-width:                    $input-btn-border-width !default;
$input-box-shadow:                      $box-shadow-inset !default;

$input-border-radius:                   $border-radius !default;
$input-border-radius-sm:                $border-radius-sm !default;
$input-border-radius-lg:                $border-radius-lg !default;

$input-focus-bg:                        $input-bg !default;
$input-focus-border-color:              tint-color($component-active-bg, 50%) !default;
$input-focus-color:                     $input-color !default;
$input-focus-width:                     $input-btn-focus-width !default;
$input-focus-box-shadow:                $input-btn-focus-box-shadow !default;

$input-placeholder-color:               $gray-600 !default;
$input-plaintext-color:                 $body-color !default;

$input-height-border:                   $input-border-width * 2 !default;

$input-height-inner:                    add($input-line-height * 1em, $input-padding-y * 2) !default;
$input-height-inner-half:               add($input-line-height * .5em, $input-padding-y) !default;
$input-height-inner-quarter:            add($input-line-height * .25em, $input-padding-y * .5) !default;

$input-height:                          add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;
$input-height-sm:                       add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;
$input-height-lg:                       add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;

$input-transition:                      border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
// scss-docs-end form-input-variables

// scss-docs-start form-check-variables
$form-check-input-width:                  1em !default;
$form-check-min-height:                   $font-size-base * $line-height-base !default;
$form-check-padding-start:                $form-check-input-width + .5em !default;
$form-check-margin-bottom:                .125rem !default;
$form-check-label-color:                  null !default;
$form-check-label-cursor:                 null !default;
$form-check-transition:                   null !default;

$form-check-input-active-filter:          brightness(90%) !default;

$form-check-input-bg:                     $input-bg !default;
$form-check-input-border:                 1px solid rgba($black, .25) !default;
$form-check-input-border-radius:          .25em !default;
$form-check-radio-border-radius:          50% !default;
$form-check-input-focus-border:           $input-focus-border-color !default;
$form-check-input-focus-box-shadow:       $input-btn-focus-box-shadow !default;

$form-check-input-checked-color:          $component-active-color !default;
$form-check-input-checked-bg-color:       $component-active-bg !default;
$form-check-input-checked-border-color:   $form-check-input-checked-bg-color !default;
$form-check-input-checked-bg-image:       url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/></svg>") !default;
$form-check-radio-checked-bg-image:       url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>") !default;

$form-check-input-indeterminate-color:          $component-active-color !default;
$form-check-input-indeterminate-bg-color:       $component-active-bg !default;
$form-check-input-indeterminate-border-color:   $form-check-input-indeterminate-bg-color !default;
$form-check-input-indeterminate-bg-image:       url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>") !default;

$form-check-input-disabled-opacity:        .5 !default;
$form-check-label-disabled-opacity:        $form-check-input-disabled-opacity !default;
$form-check-btn-check-disabled-opacity:    $btn-disabled-opacity !default;

$form-check-inline-margin-end:    1rem !default;
// scss-docs-end form-check-variables

// scss-docs-start form-switch-variables
$form-switch-color:               rgba(0, 0, 0, .25) !default;
$form-switch-width:               2em !default;
$form-switch-padding-start:       $form-switch-width + .5em !default;
$form-switch-bg-image:            url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>") !default;
$form-switch-border-radius:       $form-switch-width !default;
$form-switch-transition:          background-position .15s ease-in-out !default;

$form-switch-focus-color:         $input-focus-border-color !default;
$form-switch-focus-bg-image:      url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>") !default;

$form-switch-checked-color:       $component-active-color !default;
$form-switch-checked-bg-image:    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>") !default;
$form-switch-checked-bg-position: right center !default;
// scss-docs-end form-switch-variables

// scss-docs-start input-group-variables
$input-group-addon-padding-y:           $input-padding-y !default;
$input-group-addon-padding-x:           $input-padding-x !default;
$input-group-addon-font-weight:         $input-font-weight !default;
$input-group-addon-color:               $input-color !default;
$input-group-addon-bg:                  $gray-200 !default;
$input-group-addon-border-color:        $input-border-color !default;
// scss-docs-end input-group-variables

// scss-docs-start form-select-variables
$form-select-padding-y:             $input-padding-y !default;
$form-select-padding-x:             $input-padding-x !default;
$form-select-font-family:           $input-font-family !default;
$form-select-font-size:             $input-font-size !default;
$form-select-indicator-padding:     $form-select-padding-x * 3 !default; // Extra padding for background-image
$form-select-font-weight:           $input-font-weight !default;
$form-select-line-height:           $input-line-height !default;
$form-select-color:                 $input-color !default;
$form-select-bg:                    $input-bg !default;
$form-select-disabled-color:        null !default;
$form-select-disabled-bg:           $gray-200 !default;
$form-select-disabled-border-color: $input-disabled-border-color !default;
$form-select-bg-position:           right $form-select-padding-x center !default;
$form-select-bg-size:               16px 12px !default; // In pixels because image dimensions
$form-select-indicator-color:       $gray-800 !default;
$form-select-indicator:             url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>") !default;

$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;
$form-select-feedback-icon-position:    center right $form-select-indicator-padding !default;
$form-select-feedback-icon-size:        $input-height-inner-half $input-height-inner-half !default;

$form-select-border-width:        $input-border-width !default;
$form-select-border-color:        $input-border-color !default;
$form-select-border-radius:       $border-radius !default;
$form-select-box-shadow:          $box-shadow-inset !default;

$form-select-focus-border-color:  $input-focus-border-color !default;
$form-select-focus-width:         $input-focus-width !default;
$form-select-focus-box-shadow:    0 0 0 $form-select-focus-width $input-btn-focus-color !default;

$form-select-padding-y-sm:        $input-padding-y-sm !default;
$form-select-padding-x-sm:        $input-padding-x-sm !default;
$form-select-font-size-sm:        $input-font-size-sm !default;

$form-select-padding-y-lg:        $input-padding-y-lg !default;
$form-select-padding-x-lg:        $input-padding-x-lg !default;
$form-select-font-size-lg:        $input-font-size-lg !default;

$form-select-transition:          $input-transition !default;
// scss-docs-end form-select-variables

// scss-docs-start form-range-variables
$form-range-track-width:          100% !default;
$form-range-track-height:         .5rem !default;
$form-range-track-cursor:         pointer !default;
$form-range-track-bg:             $gray-300 !default;
$form-range-track-border-radius:  1rem !default;
$form-range-track-box-shadow:     $box-shadow-inset !default;

$form-range-thumb-width:                   1rem !default;
$form-range-thumb-height:                  $form-range-thumb-width !default;
$form-range-thumb-bg:                      $component-active-bg !default;
$form-range-thumb-border:                  0 !default;
$form-range-thumb-border-radius:           1rem !default;
$form-range-thumb-box-shadow:              0 .1rem .25rem rgba($black, .1) !default;
$form-range-thumb-focus-box-shadow:        0 0 0 1px $body-bg, $input-focus-box-shadow !default;
$form-range-thumb-focus-box-shadow-width:  $input-focus-width !default; // For focus box shadow issue in Edge
$form-range-thumb-active-bg:               tint-color($component-active-bg, 70%) !default;
$form-range-thumb-disabled-bg:             $gray-500 !default;
$form-range-thumb-transition:              background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
// scss-docs-end form-range-variables

// scss-docs-start form-file-variables
$form-file-button-color:          $input-color !default;
$form-file-button-bg:             $input-group-addon-bg !default;
$form-file-button-hover-bg:       shade-color($form-file-button-bg, 5%) !default;
// scss-docs-end form-file-variables

// scss-docs-start form-floating-variables
$form-floating-height:            add(3.5rem, $input-height-border) !default;
$form-floating-line-height:       1.25 !default;
$form-floating-padding-x:         $input-padding-x !default;
$form-floating-padding-y:         1rem !default;
$form-floating-input-padding-t:   1.625rem !default;
$form-floating-input-padding-b:   .625rem !default;
$form-floating-label-opacity:     .65 !default;
$form-floating-label-transform:   scale(.85) translateY(-.5rem) translateX(.15rem) !default;
$form-floating-transition:        opacity .1s ease-in-out, transform .1s ease-in-out !default;
// scss-docs-end form-floating-variables

// Form validation

// scss-docs-start form-feedback-variables
$form-feedback-margin-top:          $form-text-margin-top !default;
$form-feedback-font-size:           $form-text-font-size !default;
$form-feedback-font-style:          $form-text-font-style !default;
$form-feedback-valid-color:         $success !default;
$form-feedback-invalid-color:       $danger !default;

$form-feedback-icon-valid-color:    $form-feedback-valid-color !default;
$form-feedback-icon-valid:          url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>") !default;
$form-feedback-icon-invalid-color:  $form-feedback-invalid-color !default;
$form-feedback-icon-invalid:        url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>") !default;
// scss-docs-end form-feedback-variables

// scss-docs-start form-validation-states
$form-validation-states: (
  "valid": (
    "color": $form-feedback-valid-color,
    "icon": $form-feedback-icon-valid
  ),
  "invalid": (
    "color": $form-feedback-invalid-color,
    "icon": $form-feedback-icon-invalid
  )
) !default;
// scss-docs-end form-validation-states

// Z-index master list
//
// Warning: Avoid customizing these values. They're used for a bird's eye view
// of components dependent on the z-axis and are designed to all work together.

// scss-docs-start zindex-stack
$zindex-dropdown:                   1000 !default;
$zindex-sticky:                     1020 !default;
$zindex-fixed:                      1030 !default;
$zindex-modal-backdrop:             1040 !default;
$zindex-offcanvas:                  1050 !default;
$zindex-modal:                      1060 !default;
$zindex-popover:                    1070 !default;
$zindex-tooltip:                    1080 !default;
// scss-docs-end zindex-stack


// Navs

// scss-docs-start nav-variables
$nav-link-padding-y:                .5rem !default;
$nav-link-padding-x:                1rem !default;
$nav-link-font-size:                null !default;
$nav-link-font-weight:              null !default;
$nav-link-color:                    $link-color !default;
$nav-link-hover-color:              $link-hover-color !default;
$nav-link-transition:               color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;
$nav-link-disabled-color:           $gray-600 !default;

$nav-tabs-border-color:             $gray-300 !default;
$nav-tabs-border-width:             $border-width !default;
$nav-tabs-border-radius:            $border-radius !default;
$nav-tabs-link-hover-border-color:  $gray-200 $gray-200 $nav-tabs-border-color !default;
$nav-tabs-link-active-color:        $gray-700 !default;
$nav-tabs-link-active-bg:           $body-bg !default;
$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;

$nav-pills-border-radius:           $border-radius !default;
$nav-pills-link-active-color:       $component-active-color !default;
$nav-pills-link-active-bg:          $component-active-bg !default;
// scss-docs-end nav-variables


// Navbar

// scss-docs-start navbar-variables
$navbar-padding-y:                  $spacer * .5 !default;
$navbar-padding-x:                  null !default;

$navbar-nav-link-padding-x:         .5rem !default;

$navbar-brand-font-size:            $font-size-lg !default;
// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link
$nav-link-height:                   $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;
$navbar-brand-height:               $navbar-brand-font-size * $line-height-base !default;
$navbar-brand-padding-y:            ($nav-link-height - $navbar-brand-height) * .5 !default;
$navbar-brand-margin-end:           1rem !default;

$navbar-toggler-padding-y:          .25rem !default;
$navbar-toggler-padding-x:          .75rem !default;
$navbar-toggler-font-size:          $font-size-lg !default;
$navbar-toggler-border-radius:      $btn-border-radius !default;
$navbar-toggler-focus-width:        $btn-focus-width !default;
$navbar-toggler-transition:         box-shadow .15s ease-in-out !default;
// scss-docs-end navbar-variables

// scss-docs-start navbar-theme-variables
$navbar-dark-color:                 rgba($white, .55) !default;
$navbar-dark-hover-color:           rgba($white, .75) !default;
$navbar-dark-active-color:          $white !default;
$navbar-dark-disabled-color:        rgba($white, .25) !default;
$navbar-dark-toggler-icon-bg:       url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default;
$navbar-dark-toggler-border-color:  rgba($white, .1) !default;

$navbar-light-color:                rgba($black, .55) !default;
$navbar-light-hover-color:          rgba($black, .7) !default;
$navbar-light-active-color:         rgba($black, .9) !default;
$navbar-light-disabled-color:       rgba($black, .3) !default;
$navbar-light-toggler-icon-bg:      url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default;
$navbar-light-toggler-border-color: rgba($black, .1) !default;

$navbar-light-brand-color:                $navbar-light-active-color !default;
$navbar-light-brand-hover-color:          $navbar-light-active-color !default;
$navbar-dark-brand-color:                 $navbar-dark-active-color !default;
$navbar-dark-brand-hover-color:           $navbar-dark-active-color !default;
// scss-docs-end navbar-theme-variables


// Dropdowns
//
// Dropdown menu container and contents.

// scss-docs-start dropdown-variables
$dropdown-min-width:                10rem !default;
$dropdown-padding-x:                0 !default;
$dropdown-padding-y:                .5rem !default;
$dropdown-spacer:                   .125rem !default;
$dropdown-font-size:                $font-size-base !default;
$dropdown-color:                    $body-color !default;
$dropdown-bg:                       $white !default;
$dropdown-border-color:             rgba($black, .15) !default;
$dropdown-border-radius:            $border-radius !default;
$dropdown-border-width:             $border-width !default;
$dropdown-inner-border-radius:      subtract($dropdown-border-radius, $dropdown-border-width) !default;
$dropdown-divider-bg:               $dropdown-border-color !default;
$dropdown-divider-margin-y:         $spacer * .5 !default;
$dropdown-box-shadow:               $box-shadow !default;

$dropdown-link-color:               $gray-900 !default;
$dropdown-link-hover-color:         shade-color($gray-900, 10%) !default;
$dropdown-link-hover-bg:            $gray-200 !default;

$dropdown-link-active-color:        $component-active-color !default;
$dropdown-link-active-bg:           $component-active-bg !default;

$dropdown-link-disabled-color:      $gray-500 !default;

$dropdown-item-padding-y:           $spacer * .25 !default;
$dropdown-item-padding-x:           $spacer !default;

$dropdown-header-color:             $gray-600 !default;
$dropdown-header-padding:           $dropdown-padding-y $dropdown-item-padding-x !default;
// scss-docs-end dropdown-variables

// scss-docs-start dropdown-dark-variables
$dropdown-dark-color:               $gray-300 !default;
$dropdown-dark-bg:                  $gray-800 !default;
$dropdown-dark-border-color:        $dropdown-border-color !default;
$dropdown-dark-divider-bg:          $dropdown-divider-bg !default;
$dropdown-dark-box-shadow:          null !default;
$dropdown-dark-link-color:          $dropdown-dark-color !default;
$dropdown-dark-link-hover-color:    $white !default;
$dropdown-dark-link-hover-bg:       rgba($white, .15) !default;
$dropdown-dark-link-active-color:   $dropdown-link-active-color !default;
$dropdown-dark-link-active-bg:      $dropdown-link-active-bg !default;
$dropdown-dark-link-disabled-color: $gray-500 !default;
$dropdown-dark-header-color:        $gray-500 !default;
// scss-docs-end dropdown-dark-variables


// Pagination

// scss-docs-start pagination-variables
$pagination-padding-y:              .375rem !default;
$pagination-padding-x:              .75rem !default;
$pagination-padding-y-sm:           .25rem !default;
$pagination-padding-x-sm:           .5rem !default;
$pagination-padding-y-lg:           .75rem !default;
$pagination-padding-x-lg:           1.5rem !default;

$pagination-color:                  $link-color !default;
$pagination-bg:                     $white !default;
$pagination-border-width:           $border-width !default;
$pagination-border-radius:          $border-radius !default;
$pagination-margin-start:           -$pagination-border-width !default;
$pagination-border-color:           $gray-300 !default;

$pagination-focus-color:            $link-hover-color !default;
$pagination-focus-bg:               $gray-200 !default;
$pagination-focus-box-shadow:       $input-btn-focus-box-shadow !default;
$pagination-focus-outline:          0 !default;

$pagination-hover-color:            $link-hover-color !default;
$pagination-hover-bg:               $gray-200 !default;
$pagination-hover-border-color:     $gray-300 !default;

$pagination-active-color:           $component-active-color !default;
$pagination-active-bg:              $component-active-bg !default;
$pagination-active-border-color:    $pagination-active-bg !default;

$pagination-disabled-color:         $gray-600 !default;
$pagination-disabled-bg:            $white !default;
$pagination-disabled-border-color:  $gray-300 !default;

$pagination-transition:              color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;

$pagination-border-radius-sm:       $border-radius-sm !default;
$pagination-border-radius-lg:       $border-radius-lg !default;
// scss-docs-end pagination-variables


// Cards

// scss-docs-start card-variables
$card-spacer-y:                     $spacer !default;
$card-spacer-x:                     $spacer !default;
$card-title-spacer-y:               $spacer * .5 !default;
$card-border-width:                 $border-width !default;
$card-border-radius:                $border-radius !default;
$card-border-color:                 rgba($black, .125) !default;
$card-inner-border-radius:          subtract($card-border-radius, $card-border-width) !default;
$card-cap-padding-y:                $card-spacer-y * .5 !default;
$card-cap-padding-x:                $card-spacer-x !default;
$card-cap-bg:                       rgba($black, .03) !default;
$card-cap-color:                    null !default;
$card-height:                       null !default;
$card-color:                        null !default;
$card-bg:                           $white !default;
$card-img-overlay-padding:          $spacer !default;
$card-group-margin:                 $grid-gutter-width * .5 !default;
// scss-docs-end card-variables

// Accordion

// scss-docs-start accordion-variables
$accordion-padding-y:                     1rem !default;
$accordion-padding-x:                     1.25rem !default;
$accordion-color:                         $body-color !default;
$accordion-bg:                            $body-bg !default;
$accordion-border-width:                  $border-width !default;
$accordion-border-color:                  rgba($black, .125) !default;
$accordion-border-radius:                 $border-radius !default;
$accordion-inner-border-radius:           subtract($accordion-border-radius, $accordion-border-width) !default;

$accordion-body-padding-y:                $accordion-padding-y !default;
$accordion-body-padding-x:                $accordion-padding-x !default;

$accordion-button-padding-y:              $accordion-padding-y !default;
$accordion-button-padding-x:              $accordion-padding-x !default;
$accordion-button-color:                  $accordion-color !default;
$accordion-button-bg:                     $accordion-bg !default;
$accordion-transition:                    $btn-transition, border-radius .15s ease !default;
$accordion-button-active-bg:              tint-color($component-active-bg, 90%) !default;
$accordion-button-active-color:           shade-color($primary, 10%) !default;

$accordion-button-focus-border-color:     $input-focus-border-color !default;
$accordion-button-focus-box-shadow:       $btn-focus-box-shadow !default;

$accordion-icon-width:                    1.25rem !default;
$accordion-icon-color:                    $accordion-color !default;
$accordion-icon-active-color:             $accordion-button-active-color !default;
$accordion-icon-transition:               transform .2s ease-in-out !default;
$accordion-icon-transform:                rotate(-180deg) !default;

$accordion-button-icon:         url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default;
$accordion-button-active-icon:  url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-active-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default;
// scss-docs-end accordion-variables

// Tooltips

// scss-docs-start tooltip-variables
$tooltip-font-size:                 $font-size-sm !default;
$tooltip-max-width:                 200px !default;
$tooltip-color:                     $white !default;
$tooltip-bg:                        $black !default;
$tooltip-border-radius:             $border-radius !default;
$tooltip-opacity:                   .9 !default;
$tooltip-padding-y:                 $spacer * .25 !default;
$tooltip-padding-x:                 $spacer * .5 !default;
$tooltip-margin:                    0 !default;

$tooltip-arrow-width:               .8rem !default;
$tooltip-arrow-height:              .4rem !default;
$tooltip-arrow-color:               $tooltip-bg !default;
// scss-docs-end tooltip-variables

// Form tooltips must come after regular tooltips
// scss-docs-start tooltip-feedback-variables
$form-feedback-tooltip-padding-y:     $tooltip-padding-y !default;
$form-feedback-tooltip-padding-x:     $tooltip-padding-x !default;
$form-feedback-tooltip-font-size:     $tooltip-font-size !default;
$form-feedback-tooltip-line-height:   null !default;
$form-feedback-tooltip-opacity:       $tooltip-opacity !default;
$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;
// scss-docs-end tooltip-feedback-variables


// Popovers

// scss-docs-start popover-variables
$popover-font-size:                 $font-size-sm !default;
$popover-bg:                        $white !default;
$popover-max-width:                 276px !default;
$popover-border-width:              $border-width !default;
$popover-border-color:              rgba($black, .2) !default;
$popover-border-radius:             $border-radius-lg !default;
$popover-inner-border-radius:       subtract($popover-border-radius, $popover-border-width) !default;
$popover-box-shadow:                $box-shadow !default;

$popover-header-bg:                 shade-color($popover-bg, 6%) !default;
$popover-header-color:              $headings-color !default;
$popover-header-padding-y:          .5rem !default;
$popover-header-padding-x:          $spacer !default;

$popover-body-color:                $body-color !default;
$popover-body-padding-y:            $spacer !default;
$popover-body-padding-x:            $spacer !default;

$popover-arrow-width:               1rem !default;
$popover-arrow-height:              .5rem !default;
$popover-arrow-color:               $popover-bg !default;

$popover-arrow-outer-color:         fade-in($popover-border-color, .05) !default;
// scss-docs-end popover-variables


// Toasts

// scss-docs-start toast-variables
$toast-max-width:                   350px !default;
$toast-padding-x:                   .75rem !default;
$toast-padding-y:                   .5rem !default;
$toast-font-size:                   .875rem !default;
$toast-color:                       null !default;
$toast-background-color:            rgba($white, .85) !default;
$toast-border-width:                1px !default;
$toast-border-color:                rgba(0, 0, 0, .1) !default;
$toast-border-radius:               $border-radius !default;
$toast-box-shadow:                  $box-shadow !default;
$toast-spacing:                     $container-padding-x !default;

$toast-header-color:                $gray-600 !default;
$toast-header-background-color:     rgba($white, .85) !default;
$toast-header-border-color:         rgba(0, 0, 0, .05) !default;
// scss-docs-end toast-variables


// Badges

// scss-docs-start badge-variables
$badge-font-size:                   .75em !default;
$badge-font-weight:                 $font-weight-bold !default;
$badge-color:                       $white !default;
$badge-padding-y:                   .35em !default;
$badge-padding-x:                   .65em !default;
$badge-border-radius:               $border-radius !default;
// scss-docs-end badge-variables


// Modals

// scss-docs-start modal-variables
$modal-inner-padding:               $spacer !default;

$modal-footer-margin-between:       .5rem !default;

$modal-dialog-margin:               .5rem !default;
$modal-dialog-margin-y-sm-up:       1.75rem !default;

$modal-title-line-height:           $line-height-base !default;

$modal-content-color:               null !default;
$modal-content-bg:                  $white !default;
$modal-content-border-color:        rgba($black, .2) !default;
$modal-content-border-width:        $border-width !default;
$modal-content-border-radius:       $border-radius-lg !default;
$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;
$modal-content-box-shadow-xs:       $box-shadow-sm !default;
$modal-content-box-shadow-sm-up:    $box-shadow !default;

$modal-backdrop-bg:                 $black !default;
$modal-backdrop-opacity:            .5 !default;
$modal-header-border-color:         $border-color !default;
$modal-footer-border-color:         $modal-header-border-color !default;
$modal-header-border-width:         $modal-content-border-width !default;
$modal-footer-border-width:         $modal-header-border-width !default;
$modal-header-padding-y:            $modal-inner-padding !default;
$modal-header-padding-x:            $modal-inner-padding !default;
$modal-header-padding:              $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility

$modal-sm:                          300px !default;
$modal-md:                          500px !default;
$modal-lg:                          800px !default;
$modal-xl:                          1140px !default;

$modal-fade-transform:              translate(0, -50px) !default;
$modal-show-transform:              none !default;
$modal-transition:                  transform .3s ease-out !default;
$modal-scale-transform:             scale(1.02) !default;
// scss-docs-end modal-variables


// Alerts
//
// Define alert colors, border radius, and padding.

// scss-docs-start alert-variables
$alert-padding-y:               $spacer !default;
$alert-padding-x:               $spacer !default;
$alert-margin-bottom:           1rem !default;
$alert-border-radius:           $border-radius !default;
$alert-link-font-weight:        $font-weight-bold !default;
$alert-border-width:            $border-width !default;
$alert-bg-scale:                -80% !default;
$alert-border-scale:            -70% !default;
$alert-color-scale:             40% !default;
$alert-dismissible-padding-r:   $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side
// scss-docs-end alert-variables


// Progress bars

// scss-docs-start progress-variables
$progress-height:                   1rem !default;
$progress-font-size:                $font-size-base * .75 !default;
$progress-bg:                       $gray-200 !default;
$progress-border-radius:            $border-radius !default;
$progress-box-shadow:               $box-shadow-inset !default;
$progress-bar-color:                $white !default;
$progress-bar-bg:                   $primary !default;
$progress-bar-animation-timing:     1s linear infinite !default;
$progress-bar-transition:           width .6s ease !default;
// scss-docs-end progress-variables


// List group

// scss-docs-start list-group-variables
$list-group-color:                  $gray-900 !default;
$list-group-bg:                     $white !default;
$list-group-border-color:           rgba($black, .125) !default;
$list-group-border-width:           $border-width !default;
$list-group-border-radius:          $border-radius !default;

$list-group-item-padding-y:         $spacer * .5 !default;
$list-group-item-padding-x:         $spacer !default;
$list-group-item-bg-scale:          -80% !default;
$list-group-item-color-scale:       40% !default;

$list-group-hover-bg:               $gray-100 !default;
$list-group-active-color:           $component-active-color !default;
$list-group-active-bg:              $component-active-bg !default;
$list-group-active-border-color:    $list-group-active-bg !default;

$list-group-disabled-color:         $gray-600 !default;
$list-group-disabled-bg:            $list-group-bg !default;

$list-group-action-color:           $gray-700 !default;
$list-group-action-hover-color:     $list-group-action-color !default;

$list-group-action-active-color:    $body-color !default;
$list-group-action-active-bg:       $gray-200 !default;
// scss-docs-end list-group-variables


// Image thumbnails

// scss-docs-start thumbnail-variables
$thumbnail-padding:                 .25rem !default;
$thumbnail-bg:                      $body-bg !default;
$thumbnail-border-width:            $border-width !default;
$thumbnail-border-color:            $gray-300 !default;
$thumbnail-border-radius:           $border-radius !default;
$thumbnail-box-shadow:              $box-shadow-sm !default;
// scss-docs-end thumbnail-variables


// Figures

// scss-docs-start figure-variables
$figure-caption-font-size:          $small-font-size !default;
$figure-caption-color:              $gray-600 !default;
// scss-docs-end figure-variables


// Breadcrumbs

// scss-docs-start breadcrumb-variables
$breadcrumb-font-size:              null !default;
$breadcrumb-padding-y:              0 !default;
$breadcrumb-padding-x:              0 !default;
$breadcrumb-item-padding-x:         .5rem !default;
$breadcrumb-margin-bottom:          1rem !default;
$breadcrumb-bg:                     null !default;
$breadcrumb-divider-color:          $gray-600 !default;
$breadcrumb-active-color:           $gray-600 !default;
$breadcrumb-divider:                quote("/") !default;
$breadcrumb-divider-flipped:        $breadcrumb-divider !default;
$breadcrumb-border-radius:          null !default;
// scss-docs-end breadcrumb-variables

// Carousel

// scss-docs-start carousel-variables
$carousel-control-color:             $white !default;
$carousel-control-width:             15% !default;
$carousel-control-opacity:           .5 !default;
$carousel-control-hover-opacity:     .9 !default;
$carousel-control-transition:        opacity .15s ease !default;

$carousel-indicator-width:           30px !default;
$carousel-indicator-height:          3px !default;
$carousel-indicator-hit-area-height: 10px !default;
$carousel-indicator-spacer:          3px !default;
$carousel-indicator-opacity:         .5 !default;
$carousel-indicator-active-bg:       $white !default;
$carousel-indicator-active-opacity:  1 !default;
$carousel-indicator-transition:      opacity .6s ease !default;

$carousel-caption-width:             70% !default;
$carousel-caption-color:             $white !default;
$carousel-caption-padding-y:         1.25rem !default;
$carousel-caption-spacer:            1.25rem !default;

$carousel-control-icon-width:        2rem !default;

$carousel-control-prev-icon-bg:      url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/></svg>") !default;
$carousel-control-next-icon-bg:      url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/></svg>") !default;

$carousel-transition-duration:       .6s !default;
$carousel-transition:                transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)

$carousel-dark-indicator-active-bg:  $black !default;
$carousel-dark-caption-color:        $black !default;
$carousel-dark-control-icon-filter:  invert(1) grayscale(100) !default;
// scss-docs-end carousel-variables


// Spinners

// scss-docs-start spinner-variables
$spinner-width:           2rem !default;
$spinner-height:          $spinner-width !default;
$spinner-vertical-align:  -.125em !default;
$spinner-border-width:    .25em !default;
$spinner-animation-speed: .75s !default;

$spinner-width-sm:        1rem !default;
$spinner-height-sm:       $spinner-width-sm !default;
$spinner-border-width-sm: .2em !default;
// scss-docs-end spinner-variables


// Close

// scss-docs-start close-variables
$btn-close-width:            1em !default;
$btn-close-height:           $btn-close-width !default;
$btn-close-padding-x:        .25em !default;
$btn-close-padding-y:        $btn-close-padding-x !default;
$btn-close-color:            $black !default;
$btn-close-bg:               url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$btn-close-color}'><path d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/></svg>") !default;
$btn-close-focus-shadow:     $input-btn-focus-box-shadow !default;
$btn-close-opacity:          .5 !default;
$btn-close-hover-opacity:    .75 !default;
$btn-close-focus-opacity:    1 !default;
$btn-close-disabled-opacity: .25 !default;
$btn-close-white-filter:     invert(1) grayscale(100%) brightness(200%) !default;
// scss-docs-end close-variables


// Offcanvas

// scss-docs-start offcanvas-variables
$offcanvas-padding-y:               $modal-inner-padding !default;
$offcanvas-padding-x:               $modal-inner-padding !default;
$offcanvas-horizontal-width:        400px !default;
$offcanvas-vertical-height:         30vh !default;
$offcanvas-transition-duration:     .3s !default;
$offcanvas-border-color:            $modal-content-border-color !default;
$offcanvas-border-width:            $modal-content-border-width !default;
$offcanvas-title-line-height:       $modal-title-line-height !default;
$offcanvas-bg-color:                $modal-content-bg !default;
$offcanvas-color:                   $modal-content-color !default;
$offcanvas-box-shadow:              $modal-content-box-shadow-xs !default;
// scss-docs-end offcanvas-variables

// Code

$code-font-size:                    $small-font-size !default;
$code-color:                        $pink !default;

$kbd-padding-y:                     .2rem !default;
$kbd-padding-x:                     .4rem !default;
$kbd-font-size:                     $code-font-size !default;
$kbd-color:                         $white !default;
$kbd-bg:                            $gray-900 !default;

$pre-color:                         null !default;
engines/nucleus/scss/vendor/bootstrap5/bootstrap-reboot.scss000064400000001265150753125200020432 0ustar00/*!
 * Bootstrap Reboot v5.0.2 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */

@import "functions";
@import "variables";
// Prevent the usage of custom properties since we don't add them to `:root` in reboot
$font-family-base: $font-family-sans-serif; // stylelint-disable-line scss/dollar-variable-default
$font-family-code: $font-family-monospace; // stylelint-disable-line scss/dollar-variable-default
@import "mixins";
@import "reboot";
engines/nucleus/scss/vendor/bootstrap5/_root.scss000064400000001125150753125200016242 0ustar00:root {
  // Custom variable values only support SassScript inside `#{}`.
  @each $color, $value in $colors {
    --#{$variable-prefix}#{$color}: #{$value};
  }

  @each $color, $value in $theme-colors {
    --#{$variable-prefix}#{$color}: #{$value};
  }

  // Use `inspect` for lists so that quoted items keep the quotes.
  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172
  --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};
  --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};
  --#{$variable-prefix}gradient: #{$gradient};
}
engines/nucleus/scss/vendor/bootstrap5/_toasts.scss000064400000002233150753125200016575 0ustar00.toast {
  width: $toast-max-width;
  max-width: 100%;
  @include font-size($toast-font-size);
  color: $toast-color;
  pointer-events: auto;
  background-color: $toast-background-color;
  background-clip: padding-box;
  border: $toast-border-width solid $toast-border-color;
  box-shadow: $toast-box-shadow;
  @include border-radius($toast-border-radius);

  &:not(.showing):not(.show) {
    opacity: 0;
  }

  &.hide {
    display: none;
  }
}

.toast-container {
  width: max-content;
  max-width: 100%;
  pointer-events: none;

  > :not(:last-child) {
    margin-bottom: $toast-spacing;
  }
}

.toast-header {
  display: flex;
  align-items: center;
  padding: $toast-padding-y $toast-padding-x;
  color: $toast-header-color;
  background-color: $toast-header-background-color;
  background-clip: padding-box;
  border-bottom: $toast-border-width solid $toast-header-border-color;
  @include border-top-radius(subtract($toast-border-radius, $toast-border-width));

  .btn-close {
    margin-right: $toast-padding-x * -.5;
    margin-left: $toast-padding-x;
  }
}

.toast-body {
  padding: $toast-padding-x; // apply to both vertical and horizontal
  word-wrap: break-word;
}
engines/nucleus/scss/vendor/bootstrap5/_images.scss000064400000002206150753125200016525 0ustar00// Responsive images (ensure images don't scale beyond their parents)
//
// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.
// We previously tried the "images are responsive by default" approach in Bootstrap v2,
// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)
// which weren't expecting the images within themselves to be involuntarily resized.
// See also https://github.com/twbs/bootstrap/issues/18178
.img-fluid {
  @include img-fluid();
}


// Image thumbnails
.img-thumbnail {
  padding: $thumbnail-padding;
  background-color: $thumbnail-bg;
  border: $thumbnail-border-width solid $thumbnail-border-color;
  @include border-radius($thumbnail-border-radius);
  @include box-shadow($thumbnail-box-shadow);

  // Keep them at most 100% wide
  @include img-fluid();
}

//
// Figures
//

.figure {
  // Ensures the caption's text aligns with the image.
  display: inline-block;
}

.figure-img {
  margin-bottom: $spacer * .5;
  line-height: 1;
}

.figure-caption {
  @include font-size($figure-caption-font-size);
  color: $figure-caption-color;
}
engines/nucleus/scss/vendor/bootstrap5/_containers.scss000064400000002254150753125200017430 0ustar00// Container widths
//
// Set the container width, and override it for fixed navbars in media queries.

@if $enable-grid-classes {
  // Single container class with breakpoint max-widths
  .container,
  // 100% wide container at all breakpoints
  .container-fluid {
    @include make-container();
  }

  // Responsive containers that are 100% wide until a breakpoint
  @each $breakpoint, $container-max-width in $container-max-widths {
    .container-#{$breakpoint} {
      @extend .container-fluid;
    }

    @include media-breakpoint-up($breakpoint, $grid-breakpoints) {
      %responsive-container-#{$breakpoint} {
        max-width: $container-max-width;
      }

      // Extend each breakpoint which is smaller or equal to the current breakpoint
      $extend-breakpoint: true;

      @each $name, $width in $grid-breakpoints {
        @if ($extend-breakpoint) {
          .container#{breakpoint-infix($name, $grid-breakpoints)} {
            @extend %responsive-container-#{$breakpoint};
          }

          // Once the current breakpoint is reached, stop extending
          @if ($breakpoint == $name) {
            $extend-breakpoint: false;
          }
        }
      }
    }
  }
}
engines/nucleus/scss/vendor/bootstrap5/_navbar.scss000064400000015224150753125200016535 0ustar00// Contents
//
// Navbar
// Navbar brand
// Navbar nav
// Navbar text
// Responsive navbar
// Navbar position
// Navbar themes


// Navbar
//
// Provide a static navbar from which we expand to create full-width, fixed, and
// other navbar variations.

.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap; // allow us to do the line break for collapsing content
  align-items: center;
  justify-content: space-between; // space out brand from logo
  padding-top: $navbar-padding-y;
  padding-right: $navbar-padding-x; // default: null
  padding-bottom: $navbar-padding-y;
  padding-left: $navbar-padding-x; // default: null
  @include gradient-bg();

  // Because flex properties aren't inherited, we need to redeclare these first
  // few properties so that content nested within behave properly.
  // The `flex-wrap` property is inherited to simplify the expanded navbars
  %container-flex-properties {
    display: flex;
    flex-wrap: inherit;
    align-items: center;
    justify-content: space-between;
  }

  > .container,
  > .container-fluid {
    @extend %container-flex-properties;
  }

  @each $breakpoint, $container-max-width in $container-max-widths {
    > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {
      @extend %container-flex-properties;
    }
  }
}


// Navbar brand
//
// Used for brand, project, or site names.

.navbar-brand {
  padding-top: $navbar-brand-padding-y;
  padding-bottom: $navbar-brand-padding-y;
  margin-right: $navbar-brand-margin-end;
  @include font-size($navbar-brand-font-size);
  text-decoration: if($link-decoration == none, null, none);
  white-space: nowrap;

  &:hover,
  &:focus {
    text-decoration: if($link-hover-decoration == underline, none, null);
  }
}


// Navbar nav
//
// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).

.navbar-nav {
  display: flex;
  flex-direction: column; // cannot use `inherit` to get the `.navbar`s value
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;

  .nav-link {
    padding-right: 0;
    padding-left: 0;
  }

  .dropdown-menu {
    position: static;
  }
}


// Navbar text
//
//

.navbar-text {
  padding-top: $nav-link-padding-y;
  padding-bottom: $nav-link-padding-y;
}


// Responsive navbar
//
// Custom styles for responsive collapsing and toggling of navbar contents.
// Powered by the collapse Bootstrap JavaScript plugin.

// When collapsed, prevent the toggleable navbar contents from appearing in
// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`
// on the `.navbar` parent.
.navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  // For always expanded or extra full navbars, ensure content aligns itself
  // properly vertically. Can be easily overridden with flex utilities.
  align-items: center;
}

// Button for toggling the navbar when in its collapsed state
.navbar-toggler {
  padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;
  @include font-size($navbar-toggler-font-size);
  line-height: 1;
  background-color: transparent; // remove default button style
  border: $border-width solid transparent; // remove default button style
  @include border-radius($navbar-toggler-border-radius);
  transition: $navbar-toggler-transition;

  &:hover {
    text-decoration: none;
  }

  &:focus {
    text-decoration: none;
    outline: 0;
    box-shadow: 0 0 0 $navbar-toggler-focus-width;
  }
}

// Keep as a separate element so folks can easily override it with another icon
// or image file as needed.
.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.navbar-nav-scroll {
  max-height: var(--#{$variable-prefix}scroll-height, 75vh);
  overflow-y: auto;
}

// scss-docs-start navbar-expand-loop
// Generate series of `.navbar-expand-*` responsive classes for configuring
// where your navbar collapses.
.navbar-expand {
  @each $breakpoint in map-keys($grid-breakpoints) {
    $next: breakpoint-next($breakpoint, $grid-breakpoints);
    $infix: breakpoint-infix($next, $grid-breakpoints);

    // stylelint-disable-next-line scss/selector-no-union-class-name
    &#{$infix} {
      @include media-breakpoint-up($next) {
        flex-wrap: nowrap;
        justify-content: flex-start;

        .navbar-nav {
          flex-direction: row;

          .dropdown-menu {
            position: absolute;
          }

          .nav-link {
            padding-right: $navbar-nav-link-padding-x;
            padding-left: $navbar-nav-link-padding-x;
          }
        }

        .navbar-nav-scroll {
          overflow: visible;
        }

        .navbar-collapse {
          display: flex !important; // stylelint-disable-line declaration-no-important
          flex-basis: auto;
        }

        .navbar-toggler {
          display: none;
        }
      }
    }
  }
}
// scss-docs-end navbar-expand-loop


// Navbar themes
//
// Styles for switching between navbars with light or dark background.

// Dark links against a light background
.navbar-light {
  .navbar-brand {
    color: $navbar-light-brand-color;

    &:hover,
    &:focus {
      color: $navbar-light-brand-hover-color;
    }
  }

  .navbar-nav {
    .nav-link {
      color: $navbar-light-color;

      &:hover,
      &:focus {
        color: $navbar-light-hover-color;
      }

      &.disabled {
        color: $navbar-light-disabled-color;
      }
    }

    .show > .nav-link,
    .nav-link.active {
      color: $navbar-light-active-color;
    }
  }

  .navbar-toggler {
    color: $navbar-light-color;
    border-color: $navbar-light-toggler-border-color;
  }

  .navbar-toggler-icon {
    background-image: escape-svg($navbar-light-toggler-icon-bg);
  }

  .navbar-text {
    color: $navbar-light-color;

    a,
    a:hover,
    a:focus  {
      color: $navbar-light-active-color;
    }
  }
}

// White links against a dark background
.navbar-dark {
  .navbar-brand {
    color: $navbar-dark-brand-color;

    &:hover,
    &:focus {
      color: $navbar-dark-brand-hover-color;
    }
  }

  .navbar-nav {
    .nav-link {
      color: $navbar-dark-color;

      &:hover,
      &:focus {
        color: $navbar-dark-hover-color;
      }

      &.disabled {
        color: $navbar-dark-disabled-color;
      }
    }

    .show > .nav-link,
    .nav-link.active {
      color: $navbar-dark-active-color;
    }
  }

  .navbar-toggler {
    color: $navbar-dark-color;
    border-color: $navbar-dark-toggler-border-color;
  }

  .navbar-toggler-icon {
    background-image: escape-svg($navbar-dark-toggler-icon-bg);
  }

  .navbar-text {
    color: $navbar-dark-color;
    a,
    a:hover,
    a:focus {
      color: $navbar-dark-active-color;
    }
  }
}
engines/nucleus/scss/vendor/bootstrap5/_spinners.scss000064400000002761150753125200017127 0ustar00//
// Rotating border
//

// scss-docs-start spinner-border-keyframes
@keyframes spinner-border {
  to { transform: rotate(360deg) #{"/* rtl:ignore */"}; }
}
// scss-docs-end spinner-border-keyframes

.spinner-border {
  display: inline-block;
  width: $spinner-width;
  height: $spinner-height;
  vertical-align: $spinner-vertical-align;
  border: $spinner-border-width solid currentColor;
  border-right-color: transparent;
  // stylelint-disable-next-line property-disallowed-list
  border-radius: 50%;
  animation: $spinner-animation-speed linear infinite spinner-border;
}

.spinner-border-sm {
  width: $spinner-width-sm;
  height: $spinner-height-sm;
  border-width: $spinner-border-width-sm;
}

//
// Growing circle
//

// scss-docs-start spinner-grow-keyframes
@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
// scss-docs-end spinner-grow-keyframes

.spinner-grow {
  display: inline-block;
  width: $spinner-width;
  height: $spinner-height;
  vertical-align: $spinner-vertical-align;
  background-color: currentColor;
  // stylelint-disable-next-line property-disallowed-list
  border-radius: 50%;
  opacity: 0;
  animation: $spinner-animation-speed linear infinite spinner-grow;
}

.spinner-grow-sm {
  width: $spinner-width-sm;
  height: $spinner-height-sm;
}

@if $enable-reduced-motion {
  @media (prefers-reduced-motion: reduce) {
    .spinner-border,
    .spinner-grow {
      animation-duration: $spinner-animation-speed * 2;
    }
  }
}
engines/nucleus/scss/vendor/bootstrap5/_alert.scss000064400000002702150753125200016370 0ustar00//
// Base styles
//

.alert {
  position: relative;
  padding: $alert-padding-y $alert-padding-x;
  margin-bottom: $alert-margin-bottom;
  border: $alert-border-width solid transparent;
  @include border-radius($alert-border-radius);
}

// Headings for larger alerts
.alert-heading {
  // Specified to prevent conflicts of changing $headings-color
  color: inherit;
}

// Provide class for links that match alerts
.alert-link {
  font-weight: $alert-link-font-weight;
}


// Dismissible alerts
//
// Expand the right padding and account for the close button's positioning.

.alert-dismissible {
  padding-right: $alert-dismissible-padding-r;

  // Adjust close link position
  .btn-close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: $stretched-link-z-index + 1;
    padding: $alert-padding-y * 1.25 $alert-padding-x;
  }
}


// scss-docs-start alert-modifiers
// Generate contextual modifier classes for colorizing the alert.

@each $state, $value in $theme-colors {
  $alert-background: shift-color($value, $alert-bg-scale);
  $alert-border: shift-color($value, $alert-border-scale);
  $alert-color: shift-color($value, $alert-color-scale);
  @if (contrast-ratio($alert-background, $alert-color) < $min-contrast-ratio) {
    $alert-color: mix($value, color-contrast($alert-background), abs($alert-color-scale));
  }
  .alert-#{$state} {
    @include alert-variant($alert-background, $alert-border, $alert-color);
  }
}
// scss-docs-end alert-modifiers
engines/nucleus/scss/vendor/bootstrap5/_modal.scss000064400000013243150753125200016357 0ustar00// .modal-open      - body class for killing the scroll
// .modal           - container to scroll within
// .modal-dialog    - positioning shell for the actual modal
// .modal-content   - actual modal w/ bg and corners and stuff


// Container that the modal scrolls within
.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: $zindex-modal;
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  // Prevent Chrome on Windows from adding a focus outline. For details, see
  // https://github.com/twbs/bootstrap/pull/10951.
  outline: 0;
  // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a
  // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342
  // See also https://github.com/twbs/bootstrap/issues/17695
}

// Shell div to position the modal with bottom padding
.modal-dialog {
  position: relative;
  width: auto;
  margin: $modal-dialog-margin;
  // allow clicks to pass through for custom click handling to close modal
  pointer-events: none;

  // When fading in the modal, animate it to slide down
  .modal.fade & {
    transition: $modal-transition;
    transform: $modal-fade-transform;
  }
  .modal.show & {
    transform: $modal-show-transform;
  }

  // When trying to close, animate focus to scale
  .modal.modal-static & {
    transform: $modal-scale-transform;
  }
}

.modal-dialog-scrollable {
  height: subtract(100%, $modal-dialog-margin * 2);

  .modal-content {
    max-height: 100%;
    overflow: hidden;
  }

  .modal-body {
    overflow-y: auto;
  }
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: subtract(100%, $modal-dialog-margin * 2);
}

// Actual modal
.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`
  // counteract the pointer-events: none; in the .modal-dialog
  color: $modal-content-color;
  pointer-events: auto;
  background-color: $modal-content-bg;
  background-clip: padding-box;
  border: $modal-content-border-width solid $modal-content-border-color;
  @include border-radius($modal-content-border-radius);
  @include box-shadow($modal-content-box-shadow-xs);
  // Remove focus outline from opened modal
  outline: 0;
}

// Modal background
.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: $zindex-modal-backdrop;
  width: 100vw;
  height: 100vh;
  background-color: $modal-backdrop-bg;

  // Fade for backdrop
  &.fade { opacity: 0; }
  &.show { opacity: $modal-backdrop-opacity; }
}

// Modal header
// Top section of the modal w/ title and dismiss
.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
  padding: $modal-header-padding;
  border-bottom: $modal-header-border-width solid $modal-header-border-color;
  @include border-top-radius($modal-content-inner-border-radius);

  .btn-close {
    padding: ($modal-header-padding-y * .5) ($modal-header-padding-x * .5);
    margin: ($modal-header-padding-y * -.5) ($modal-header-padding-x * -.5) ($modal-header-padding-y * -.5) auto;
  }
}

// Title text within header
.modal-title {
  margin-bottom: 0;
  line-height: $modal-title-line-height;
}

// Modal body
// Where all modal content resides (sibling of .modal-header and .modal-footer)
.modal-body {
  position: relative;
  // Enable `flex-grow: 1` so that the body take up as much space as possible
  // when there should be a fixed height on `.modal-dialog`.
  flex: 1 1 auto;
  padding: $modal-inner-padding;
}

// Footer (for actions)
.modal-footer {
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  align-items: center; // vertically center
  justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items
  padding: $modal-inner-padding - $modal-footer-margin-between * .5;
  border-top: $modal-footer-border-width solid $modal-footer-border-color;
  @include border-bottom-radius($modal-content-inner-border-radius);

  // Place margin between footer elements
  // This solution is far from ideal because of the universal selector usage,
  // but is needed to fix https://github.com/twbs/bootstrap/issues/24800
  > * {
    margin: $modal-footer-margin-between * .5;
  }
}

// Scale up the modal
@include media-breakpoint-up(sm) {
  // Automatically set modal's width for larger viewports
  .modal-dialog {
    max-width: $modal-md;
    margin: $modal-dialog-margin-y-sm-up auto;
  }

  .modal-dialog-scrollable {
    height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);
  }

  .modal-dialog-centered {
    min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);
  }

  .modal-content {
    @include box-shadow($modal-content-box-shadow-sm-up);
  }

  .modal-sm { max-width: $modal-sm; }
}

@include media-breakpoint-up(lg) {
  .modal-lg,
  .modal-xl {
    max-width: $modal-lg;
  }
}

@include media-breakpoint-up(xl) {
  .modal-xl { max-width: $modal-xl; }
}

// scss-docs-start modal-fullscreen-loop
@each $breakpoint in map-keys($grid-breakpoints) {
  $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
  $postfix: if($infix != "", $infix + "-down", "");

  @include media-breakpoint-down($breakpoint) {
    .modal-fullscreen#{$postfix} {
      width: 100vw;
      max-width: none;
      height: 100%;
      margin: 0;

      .modal-content {
        height: 100%;
        border: 0;
        @include border-radius(0);
      }

      .modal-header {
        @include border-radius(0);
      }

      .modal-body {
        overflow-y: auto;
      }

      .modal-footer {
        @include border-radius(0);
      }
    }
  }
}
// scss-docs-end modal-fullscreen-loop
engines/nucleus/scss/vendor/bootstrap5/_close.scss000064400000002147150753125200016371 0ustar00// transparent background and border properties included for button version.
// iOS requires the button element instead of an anchor tag.
// If you want the anchor version, it requires `href="#"`.
// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile

.btn-close {
  box-sizing: content-box;
  width: $btn-close-width;
  height: $btn-close-height;
  padding: $btn-close-padding-y $btn-close-padding-x;
  color: $btn-close-color;
  background: transparent escape-svg($btn-close-bg) center / $btn-close-width auto no-repeat; // include transparent for button elements
  border: 0; // for button elements
  @include border-radius();
  opacity: $btn-close-opacity;

  // Override <a>'s hover style
  &:hover {
    color: $btn-close-color;
    text-decoration: none;
    opacity: $btn-close-hover-opacity;
  }

  &:focus {
    outline: 0;
    box-shadow: $btn-close-focus-shadow;
    opacity: $btn-close-focus-opacity;
  }

  &:disabled,
  &.disabled {
    pointer-events: none;
    user-select: none;
    opacity: $btn-close-disabled-opacity;
  }
}

.btn-close-white {
  filter: $btn-close-white-filter;
}
engines/nucleus/scss/vendor/cassiopeia/_toolbar.scss000064400000007323150753125200016745 0ustar00$zindex-toolbar:                      1000;
.subhead {
  position: sticky;
  top: 0;
  right: 0;
  left: 0;
  z-index: $zindex-toolbar;
  width: auto;
  min-height: 43px;
  padding: 10px 0;
  color: #495057; //#0c192e;
  background: $white;
  box-shadow: -3px -2px 22px #ddd;

  .row {
    margin-right: 0;
    margin-left: 0;
  }

  &.noshadow {
    box-shadow: none;
  }

  joomla-toolbar-button,
  .btn-group {
    margin-inline-start: .75rem;

    &:first-child {
      margin-inline-start: 0;
    }
  }

  joomla-toolbar-button {

    .btn > span,
    .dropdown-item > span {
      margin-inline-end: .5rem;
      width: 1.25em;
      text-align: center;
    }
  }

  .btn {
    --subhead-btn-accent: #495057;
    padding: 0 1rem;
    margin: 5px 0;
    font-size: 1rem;
    line-height: 2.45rem;
    color: #495057;
    background: $white;
    border: 1px solid $gray-500;

    > span {
      display: inline-block;
      color: var(--subhead-btn-accent);
    }

    &:not([disabled]):hover,
    &:not([disabled]):active,
    &:not([disabled]):focus {
      color: rgba(255, 255, 255, .9);
      background-color: var(--subhead-btn-accent);
      border-color: var(--subhead-btn-accent);

      > span {
        color: rgba(255, 255, 255, .9);
      }
    }

    &.btn-success {
      --subhead-btn-accent: #448344;
    }

    &.btn-danger {
      --subhead-btn-accent: #8c1a14;
    }

    &.btn-primary {
      --subhead-btn-accent: #2a69b8;
      text-transform: none;
      font-weight: normal;
      font-family: inherit;
      letter-spacing: normal;
    }

    &.btn-secondary {
      --subhead-btn-accent: #001b4c;
    }

    &.btn-info {
      --subhead-btn-accent: #132f53;
    }

    &.btn-action {
      --subhead-btn-accent: #132f53;
      display: flex;
      align-items: center;

      &::after {
        width: 2.375rem;
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f078";
        border: 0;

      }
    }

    &[disabled],
    &.dropdown-toggle[disabled] {
      --subhead-btn-accent: #132f53;
      background: rgba($gray-300, .8);
      opacity: .5;

      &:hover,
      &:active,
      &:focus {
        cursor: not-allowed;
      }
    }
  }

  .dropdown-toggle {
    &.btn {
      padding-inline-end: 0;
    }
  }

  .btn-group:not(:last-child) > .dropdown-toggle-split {
    order: 1;
    margin-inline-start: -$border-radius;

    [dir="ltr"] & {
      border-radius: 0 $border-radius $border-radius 0;
    }

    [dir="rtl"] & {
      border-radius: $border-radius 0 0 $border-radius;
    }
  }

  .dropdown-menu joomla-toolbar-button,
  .btn-group joomla-toolbar-button {
    margin-inline-start: 0;
  }
}

@include media-breakpoint-down(sm) {
  joomla-tab[view=accordion] .col-md-9,
  joomla-tab[view=accordion] .col-md-3 {
    padding: .5rem 1rem !important;
  }

  #myTab {
    margin-top: 1rem;
    margin-bottom: 1.5rem;
  }

  joomla-tab[view=accordion] ul li {
    width: 100%;
  }

  .subhead {

    joomla-toolbar-button,
    .btn-group,
    .btn {
      width: 100%;
      margin-left: 0;
      text-align: left;
    }

    .btn-toolbar > .btn-group,
    .btn-toolbar > joomla-toolbar-button {
      margin-left: 0;
    }

    .btn.btn-action::after {
      text-align: center;
      margin-inline-start: auto;
    }

    .dropdown-toggle-split {
      width: auto;
    }
  }
}

// In Microsoft Edge, sticky positioning doesn't work when combined with dir "rtl" attribute
@supports (-ms-ime-align: auto) {
  [dir=rtl] .subhead {
    position: relative;
  }
}


.subhead .btn:not([disabled]):hover, .subhead .btn:not([disabled]):active, .subhead .btn:not([disabled]):focus {
    color: rgba(255, 255, 255, 0.9);
    background-color: var(--subhead-btn-accent);
    border-color: var(--subhead-btn-accent);
}
engines/nucleus/scss/vendor/cassiopeia/_variables.scss000064400000000645150753125200017253 0ustar00// Grid
$grid-gutter-width:                   1em !default;
$cassiopeia-grid-gutter:              $grid-gutter-width;

// Forms
$input-padding:                       .6rem 1rem;
$input-border:                        solid 1px $gray-400;
$input-btn-padding-y:                 .6rem;
$input-btn-padding-x:                 1rem;
$input-max-width:                     100%;
$input-focus-border-color:            transparent;
engines/nucleus/scss/vendor/cassiopeia/_iframe.scss000064400000000105150753125200016535 0ustar00// Iframe

iframe {
  border: 0;
}

.modal iframe {
  width: 100%;
}
engines/nucleus/scss/vendor/cassiopeia/_form.scss000064400000003555150753125200016251 0ustar00// Form

.form-control {
  max-width: $input-max-width;
  background-color: $white;

  &.input-xlarge {
    max-width: 21.875rem;
  }

  &.input-xxlarge {
    max-width: 34.375rem;
  }

  &.input-full {
    max-width: 100%;
  }
}

.spacer hr {
  width: 23.75rem;
}

.form-select {
  max-width: $input-max-width;
}

// Bootstrap 4 b/c on form-inline
.form-inline .form-select {
  display: inline-block;
  width: auto;
}

@include media-breakpoint-down(md) {
  .form-inline .form-select {
    width: 100%;
  }
}

td .form-control {
  display: inline-block;
  width: auto;
}

.checkboxes {
  padding-top: 5px;

  .checkbox input {
    position: static;
    margin-left: 0;
  }
}

.modal label {
  width: 100%;
}

// Validation
.invalid {
  color: $danger;
  border-color: $danger;
}

.valid {
  border-color: $success;
}

.form-control-feedback {
  display: block;
}

// set up hidden tooltip
[role="tooltip"]:not(.show) {
  right: 5em;
  z-index: $zindex-tooltip;
  display: none;
  max-width: 100%;
  padding: .5em;
  margin: .5em;
  color: $black;
  text-align: start;
  background: $white;
  border: 1px solid $gray-600;
  border-radius: $border-radius;
  box-shadow: 0 0 .5rem rgba(0, 0, 0, .8);

  &[id^=editarticle-] {
    right: auto;
    margin-inline-start: -10em;
  }

  &[id^=editcontact-] {
    right: auto;
    margin-inline-start: -10em;
  }
}

// reveal associated tooltip on focus
:focus + [role="tooltip"],
:hover + [role="tooltip"] {
  position: absolute;
  display: block;
}

[id="filter[search]-desc"] {
  bottom: 100%;
}

fieldset {
  margin-bottom: $cassiopeia-grid-gutter*2;
  + fieldset {
    margin-top: $cassiopeia-grid-gutter*2;
  }

  > * {
    margin-bottom: 0;
  }
}

.control-group {
  margin: $cassiopeia-grid-gutter 0;
}
.container-popup [id="filter[search]-desc"] {
  top: 100%;
  bottom: auto;
}

.com-users-login__options {
  margin-top: $cassiopeia-grid-gutter*2;
}
engines/nucleus/scss/vendor/cassiopeia/images/select-bg-active-rtl.svg000064400000000776150753125200022157 0ustar00<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1854.54 295" preserveAspectRatio="xMinYMid" width="1854.54" height="295"><path d="m14.47 145.7 6.898 6.899c0.102 0.101 0.199 0.101 0.3 0.101 0.102 0 0.2 0 0.302-0.101l6.898-6.899c0.102-0.1 0.102-0.2 0.102-0.3s0-0.2-0.102-0.3l-0.7-0.7c-0.101-0.1-0.198-0.1-0.3-0.1-0.101 0-0.2 0-0.301 0.1l-5.8 5.8-5.801-5.8c-0.101-0.1-0.199-0.1-0.301-0.1-0.101 0-0.199 0-0.301 0.1l-0.699 0.7c-0.101 0.1-0.101 0.2-0.101 0.3-0.294 0.1-0.194 0.2-0.094 0.3z" fill="#fff"/></svg>
engines/nucleus/scss/vendor/cassiopeia/images/select-bg-rtl.svg000064400000000603150753125200020673 0ustar00<svg xmlns="http://www.w3.org/2000/svg" width="1854.539" height="295" preserveAspectRatio="xMinYMin meet"><path d="M13.573 145.7l6.9 6.9c.1.1.2.1.3.1s.2 0 .3-.1l6.9-6.9c.1-.1.1-.2.1-.3s0-.2-.1-.3l-.7-.7c-.1-.1-.2-.1-.3-.1s-.2 0-.3.1l-5.8 5.8-5.8-5.8c-.1-.1-.2-.1-.3-.1s-.2 0-.3.1l-.7.7c-.1.1-.1.2-.1.3-.296.1-.195.2-.096.3h-.002z"/><path fill="#fff" d="M44.54 0h1810v295h-1810z"/></svg>
engines/nucleus/scss/vendor/cassiopeia/images/select-bg.svg000064400000000770150753125200020101 0ustar00<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1854.54 295" preserveAspectRatio="xMinYMid" width="1854.54" height="295"><path d="M1825.1,145.7l6.9,6.9c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0,0.3-0.1l6.9-6.9c0.1-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3l-0.7-0.7c-0.1-0.1-0.2-0.1-0.3-0.1s-0.2,0-0.3,0.1l-5.8,5.8l-5.8-5.8c-0.1-0.1-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0.1l-0.7,0.7c-0.1,0.1-0.1,0.2-0.1,0.3C1824.9,145.5,1825,145.6,1825.1,145.7z" fill="#000"/><rect width="1810" height="295" fill="#fff"/></svg>
engines/nucleus/scss/vendor/cassiopeia/images/select-bg-active.svg000064400000000713150753125200021347 0ustar00<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1854.54 295" preserveAspectRatio="xMinYMid" width="1854.54" height="295"><path d="M1825.1,145.7l6.9,6.9c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0,0.3-0.1l6.9-6.9c0.1-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3l-0.7-0.7c-0.1-0.1-0.2-0.1-0.3-0.1s-0.2,0-0.3,0.1l-5.8,5.8l-5.8-5.8c-0.1-0.1-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0.1l-0.7,0.7c-0.1,0.1-0.1,0.2-0.1,0.3C1824.9,145.5,1825,145.6,1825.1,145.7z" fill="#fff"/></svg>
engines/nucleus/scss/vendor/cassiopeia/_choices.scss000064400000007046150753125200016722 0ustar00// Standard
$standard-color-primary:              hsl(220, 67%, 20%);
$standard-color-link:                 hsl(220, 67%, 40%);
$standard-color-hover:                hsl(242, 30%, 36%);

// Forms
$input-padding:                       .6rem 1rem;
$input-border:                        solid 1px $gray-400;
$input-btn-padding-y:                 .6rem;
$input-btn-padding-x:                 1rem;
$input-max-width:                     100%;
$input-focus-border-color:            tint-color($standard-color-primary, 50%);

$cassiopeia-input-focus-shadow:       0 0 0 .2rem hsla(0, 0%, 0%, .1);
.choices {
  border: 0;
  border-radius: $border-radius;

  &:hover {
    cursor: pointer;
  }

  &.is-focused {
    box-shadow: $cassiopeia-input-focus-shadow;
  }
}

.choices__inner {
  padding: .4rem 1rem;
  margin-bottom: 0;
  font-size: 1rem;
  border: $input-border;
  border-radius: $border-radius;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);

  .is-focused & {
    border-color: #000;
  }
}

.choices__input {
  padding: 0;
  margin-bottom: 0;
  font-size: 1rem;
  background-color: transparent;

  &::-moz-placeholder {
    color: $gray-700;
    opacity: 1;
  }

  &::-webkit-input-placeholder {
    color: $gray-700;
    opacity: 1;
  }
}

.choices__list--dropdown {
  z-index: $zindex-popover;
}

.choices__list--multiple .choices__item {
  position: relative;
  margin: 2px;
  background-color: black;
  margin-inline-end: 2px;
  border: 0;
  border-radius: $border-radius;

  &.is-highlighted {
    background-color: black;
    opacity: .9;
  }
}

.choices .choices__list--dropdown {
  .choices__item {
    padding-inline-end: 10px;
  }

  .choices__item--selectable::after {
    display: none;
  }
}

.choices__button_joomla {
  position: relative;
  padding: 0 10px;
  color: inherit;
  text-indent: -9999px;
  cursor: pointer;
  background: none;
  border: 0;
  opacity: .5;
  appearance: none;

  &::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    text-align: center;
    text-indent: 0;
    content: "\00d7";
  }

  &:hover,
  &:focus {
    opacity: 1;
  }

  &:focus {
    outline: none;
  }
}

.choices[data-type*="select-one"],
.choices[data-type*="select-multiple"] {
  .choices__inner {
    padding-inline-end: 3rem;
    cursor: pointer;
    background: url("../images/select-bg.svg") no-repeat 100%/116rem;
    background-color: $form-select-bg;

    [dir="rtl"] & {
      background: url("../images/select-bg-rtl.svg") no-repeat 0/116rem;
      background-color: $form-select-bg;
    }
  }
}

.choices[data-type*="select-one"] {
  .choices__item {
    display: flex;
    justify-content: space-between;
  }

  .choices__button_joomla {
    position: absolute;
    top: 50%;
    right: 0;
    width: 20px;
    height: 20px;
    padding: 0;
    margin-top: -10px;
    margin-right: 50px;
    border-radius: 10em;
    opacity: .5;

    [dir=rtl] & {
      right: auto;
      left: 0;
      margin-right: 0;
      margin-left: 50px;
    }

    &:hover,
    &:focus {
      opacity: 1;
    }

    &:focus {
      box-shadow: 0 0 0 2px #00bcd4;
    }
  }

  &::after {
    display: none;
  }
}

.choices[data-type*="select-multiple"],
.choices[data-type*="text"] {
  .choices__input {
    padding: .2rem 0;
    height: auto;
    background: transparent;
    border: 0 none;
    box-shadow: none;
    padding: 0;
    line-height: normal;
  }
}

.choices__inner {
  line-height: 1.5;
  min-height: 35px;
  box-shadow: 0 0 0 0;
}

.js-stools-field-filter .form-select {
  background-size: 27px 17px;
}

.choices__heading {
  font-size: 1.2rem;
}
engines/nucleus/scss/vendor/cassiopeia/_searchtools.scss000064400000001423150753125200017624 0ustar00// Search tools

.js-stools-container-bar {
    padding: 10px 20px;
  
    .btn-toolbar {
      justify-content: flex-end;
  
      > * {
        margin: 4px 0;
        margin-inline-end: 8px;
      }
  
      .js-stools-btn-clear {
        border: 0;
      }
    }
  
    .ordering-select {
      display: flex;
    }
  }
  
  .js-stools-container-filters {
    display: none;
    padding: 0 20px;
    margin-bottom: 20px;
  
    &-visible {
      display: grid;
      grid-gap: 8px;
      grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
      padding: 10px;
      background-color: $white;
    }
  
    > * {
      margin: 4px 0;
      margin-inline-end: 8px;
    }
  }
  
  .js-stools-field-list {
    + .js-stools-field-list {
      margin-inline-start: 8px;
    }
  }
engines/nucleus/scss/vendor/cassiopeia/_modal.scss000064400000001657150753125200016403 0ustar00// Modal

.jviewport-height {
  &10 {
    height: 10vh;
  }

  &20 {
    height: 20vh;
  }

  &30 {
    height: 30vh;
  }

  &40 {
    height: 40vh;
  }

  &50 {
    height: 50vh;
  }

  &60 {
    height: 60vh;
  }

  &70 {
    height: 70vh;
  }

  &80 {
    height: 80vh;
  }

  &90 {
    height: 90vh;
  }

  &100 {
    height: 100vh;
  }
}

[class*=jviewport-height] iframe {
  height: 100%;
}

.modal-dialog.jviewport-width {
  &10 {
    width: 10vw;
    max-width: none;
  }

  &20 {
    width: 20vw;
    max-width: none;
  }

  &30 {
    width: 30vw;
    max-width: none;
  }

  &40 {
    width: 40vw;
    max-width: none;
  }

  &50 {
    width: 50vw;
    max-width: none;
  }

  &60 {
    width: 60vw;
    max-width: none;
  }

  &70 {
    width: 70vw;
    max-width: none;
  }

  &80 {
    width: 80vw;
    max-width: none;
  }

  &90 {
    width: 90vw;
    max-width: none;
  }

  &100 {
    width: 100vw;
    max-width: none;
  }
}
engines/nucleus/scss/vendor/cassiopeia/_css-grid.scss000064400000004653150753125200017021 0ustar00@supports (display: grid) {
  .site-grid {
    display: grid;
    grid-template-areas: ". head head head head ."
      ". banner banner banner banner ."
      ". top-a top-a top-a top-a ."
      ". top-b top-b top-b top-b ."
      ". comp comp comp comp ."
      ". side-r side-r side-r side-r ."
      ". side-l side-l side-l side-l ."
      ". bot-a bot-a bot-a bot-a ."
      ". bot-b bot-b bot-b bot-b ."
      ". footer footer footer footer ."
      ". debug debug debug debug .";
    grid-template-columns: [full-start] minmax(0, 1fr) [main-start] repeat(4, minmax(0, 19.875rem)) [main-end] minmax(0, 1fr) [full-end];
    grid-gap: 0 $cassiopeia-grid-gutter;

    > [class^="container-"],
    > [class*=" container-"] {
      width: 100%;
      max-width: none;
      column-gap: $cassiopeia-grid-gutter;
    }

    &:not(.has-sidebar-left) .container-component {
      grid-column-start: main-start;
    }

    &:not(.has-sidebar-right) .container-component {
      grid-column-end: main-end;
    }

    > .full-width {
      grid-column: full-start / full-end;
    }

    @include media-breakpoint-up(md) {
      grid-template-areas: ". head head head head ."
        ". banner banner banner banner ."
        ". top-a top-a top-a top-a ."
        ". top-b top-b top-b top-b ."
        ". side-l comp comp side-r ."
        ". bot-a bot-a bot-a bot-a ."
        ". bot-b bot-b bot-b bot-b ."
        ". footer footer footer footer .";
    }

    &.wrapper-fluid {
      grid-template-columns: [full-start] minmax(0, 1fr) [main-start] repeat(4, minmax(0, 25%)) [main-end] minmax(0, 1fr) [full-end];
      grid-gap: 0 ($cassiopeia-grid-gutter*2);
      .grid-child {
        max-width: none;
      }
      header > .grid-child,
      footer > .grid-child {
        padding-right: $cassiopeia-grid-gutter*2;
        padding-left: $cassiopeia-grid-gutter*2;
      }
    }
  }
}

.container-header {
  grid-area: head;
}

.container-banner {
  grid-area: banner;
}

.container-top-a {
  grid-area: top-a;
}

.container-top-b {
  grid-area: top-b;
}

.container-component {
  grid-area: comp;
}

.container-sidebar-left {
  grid-area: side-l;
}

.container-sidebar-right {
  grid-area: side-r;
}

.container-main-top {
  grid-area: main-t;
}

.container-main-bottom {
  grid-area: main-b;
}

.container-breadcrumbs {
  grid-area: bread;
}

.container-bottom-a {
  grid-area: bot-a;
}

.container-bottom-b {
  grid-area: bot-b;
}

.container-footer {
  grid-area: footer;
}
engines/nucleus/scss/vendor/cassiopeia/_modifiers.scss000064400000012222150753125200017256 0ustar00// Modifiers

// error page

.error_site {
  .page-header {
    margin-top: $cassiopeia-grid-gutter;
  }
}

// com_modules
[class^="container-"],
[class*=" container-"] {
  .span-col-2 {
    flex: 0 0 50%;
    max-width: calc(50% - #{$cassiopeia-grid-gutter});
  }

  .span-col-3 {
    flex: 0 0 33.333%;
    max-width: calc(33.333% - #{$cassiopeia-grid-gutter});
  }

  .span-col-4 {
    flex: 0 0 25%;
    max-width: calc(25% - #{$cassiopeia-grid-gutter});
  }
}

@supports (display: grid) {

  [class^="span-"],
  [class*=" span-"] {
    grid-column-end: auto;
    grid-row-end: auto;
  }

  [class^="span-col"],
  [class*=" span-col"] {
    @include media-breakpoint-up(sm) {
      grid-column-end: span 2;
    }
  }

  @include media-breakpoint-up(md) {
    .span-col-2 {
      grid-column-end: span 2;
    }

    .span-col-3 {
      grid-column-end: span 3;
    }

    .span-col-4 {
      grid-column-end: span 4;
    }

    .span-row-2 {
      grid-row-end: span 2;
    }

    .span-row-3 {
      grid-row-end: span 3;
    }

    .span-row-4 {
      grid-row-end: span 4;
    }
  }

  [class^="container-"],
  [class*=" container-"] {

    [class^="span-"],
    [class*=" span-"] {
      flex: 0 1 auto;
      max-width: none;
    }
  }
}

// com_content
.blog-items {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding: 0;
  margin-right: -($cassiopeia-grid-gutter / 2);
  margin-bottom: $cassiopeia-grid-gutter;
  margin-left: -($cassiopeia-grid-gutter / 2);

  @include media-breakpoint-up(md) {
    &.columns-2 {
      > div {
        width: 50%;
      }
    }

    &.columns-3 {
      > div {
        width: 33.33333%;
      }
    }

    &.columns-4 {
      > div {
        width: 25%;
      }
    }
  }
}

.blog-item {
  display: flex;
  flex-direction: column;
  padding: 0 ($cassiopeia-grid-gutter / 2) $cassiopeia-grid-gutter;
  overflow: hidden;

  .boxed & {
    background-color: $white;
    box-shadow: 0 0 2px hsla(216, 13%, 23%, .1), 0 2px 5px hsla(216, 13%, 23%, .08), 0 5px 15px hsla(216, 13%, 23%, .08), inset 0 3px 0 var(--cassiopeia-color-primary);

    .item-content {
      padding: 25px;
    }
  }

  .image-left &,
  .image-right & {
    flex-direction: row;
    .item-image {
      flex: 1 0 40%;
    }
  }

  .item-image {
    margin-top: 3px;
    margin-bottom: 15px;
    overflow: hidden;

    .boxed & {
      margin-bottom: 0;
    }

    .image-right & {
      order: 1;
    }

    .image-bottom & {
      margin-top: -15px;
      order: 1;
    }
  }

  .item-content {
    .image-left & {
      padding-left: 25px;
    }

    .image-right & {
      padding-right: 25px;
    }
  }

  .image-left &,
  .image-right & {
    flex-direction: column;

    @include media-breakpoint-up(md) {
      flex-direction: row;
    }
  }
}

.article-info {
  dd {
    padding: 0;
  }
}

@supports (display: grid) {
  .blog-items {
    display: grid;
    margin: 0 0 $cassiopeia-grid-gutter;
    grid-auto-flow: row;
    grid-template-columns: 1fr;
    grid-gap: $cassiopeia-grid-gutter;

    .blog-item {
      padding: 0;
    }

    &[class^="columns-"],
    &[class*=" columns-"] {
      > div {
        flex: 0 1 auto;
        width: auto;
        max-width: none;
      }
    }

    @include media-breakpoint-up(md) {
      &.columns-2 {
        grid-template-columns: 1fr 1fr;
      }

      &.columns-3 {
        grid-template-columns: 1fr 1fr 1fr;
      }

      &.columns-4 {
        grid-template-columns: 1fr 1fr 1fr 1fr;
      }
    }
  }
}

.blog-items {

  &[class^="masonry-"],
  &[class*=" masonry-"] {
    display: block;
    column-gap: $cassiopeia-grid-gutter;

    .blog-item {
      display: inline-flex;
      margin-bottom: $cassiopeia-grid-gutter;
      page-break-inside: avoid;
      break-inside: avoid;
    }
  }

  @include media-breakpoint-up(md) {
    &.masonry-2 {
      column-count: 2;
    }

    &.masonry-3 {
      column-count: 3;
    }

    &.masonry-4 {
      column-count: 4;
    }
  }
}

.image-alternate {
  .blog-item:nth-of-type(2n+1) {
    .item-image {
      order: 0;
    }
  }

  &.image-left {
    .blog-item:nth-of-type(2n+1) {
      .item-image {
        margin-right: 0;
        margin-left: 25px;
        order: 1;
      }
    }
  }

  &.image-top {
    .blog-item:nth-of-type(2n+1) {
      .item-image {
        order: 1;
      }
    }
  }
}

// Modules

.breadcrumb {
  margin-bottom: 0;
  background-color: hsla(0, 0%, 0%, .03);
}

.no-card {
  .newsflash-horiz {
    li {
      padding: 0 1rem 1rem;
      border: 1px solid $gray-300;
      border-top-left-radius: 0;
      border-top-right-radius: 0;
      @include border-bottom-start-radius($border-radius);
      @include border-bottom-end-radius($border-radius);

      figure {
        margin: 0 -1rem 1rem;
      }
    }
  }
}

.mod-list {
  padding-inline-start: 0;
  list-style: none;

  li {
    padding: .25em 0;

    a {
      text-decoration: none;

      &:hover {
        text-decoration: underline;

        @at-root .container-header & {
          text-decoration: none;
        }
      }
    }

    &.active > a {
      text-decoration: underline;

      @at-root .container-header & {
        text-decoration: none;
      }
    }

    .mod-menu__sub {
      padding-left: $cassiopeia-grid-gutter;
    }
  }
}
engines/nucleus/scss/vendor/cassiopeia/_icons.scss000064400000002724150753125200016416 0ustar00// Icons
$jicon-css-prefix:                    icon !default;
$fa-css-prefix:                       fa !default;
.#{$jicon-css-prefix}-white {
  color: $white;
}

.input-group-text {
  &::before {
    min-width: 16px;
  }
}

.tbody-icon {
  padding: 0 3px;
  text-align: center;
  background-color: transparent;
  border: 0;

  [class^="#{$jicon-css-prefix}-"],
  [class*=" #{$jicon-css-prefix}-"],
  [class^="#{$fa-css-prefix}-"],
  [class*=" #{$fa-css-prefix}-"] {
    width: 26px;
    height: 26px;
    font-size: 1.1rem;
    line-height: 22px;
    color: $gray-400;
    border: 2px solid var(--border);
    border-radius: 50%;
  }

  .#{$jicon-css-prefix}-publish,
  .#{$jicon-css-prefix}-check,
  .#{$fa-css-prefix}-check {
    color: $success;
    border-color: $success;
  }

  .#{$jicon-css-prefix}-checkedout,
  .#{$jicon-css-prefix}-lock,
  .#{$fa-css-prefix}-lock {
    width: auto;
    height: auto;
    font-size: 1.2rem;
    line-height: 1rem;
    color: $gray-700;
    border: 0;
  }

  &.home-disabled,
  &.featured-disabled,
  &.color-featured-disabled,
  &.#{$jicon-css-prefix}-star-disabled,
  &.#{$fa-css-prefix}-star-disabled {
    cursor: not-allowed;
    opacity: 1;
  }
}

.tbody-icon .icon-delete,
.tbody-icon .fa-delete,
.tbody-icon .icon-times,
.tbody-icon .fa-times {
  color: $danger;
  border-color: $danger;
}

// WebAuthn
.plg_system_webauthn_login_button svg {
  margin-inline-end: 2px;
}

.plg_system_webauthn_login_button svg path {
  fill: var(--black);
}
engines/nucleus/scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss000060400000034673150753125200022220 0ustar00// The following features have been deprecated and will be removed in the next MAJOR version release

@mixin inline-block {
  @include _bourbon-deprecate("inline-block");

  display: inline-block;
}

@mixin button ($style: simple, $base-color: #4294f0, $text-size: inherit, $padding: 7px 18px) {
  @include _bourbon-deprecate("button");

  @if type-of($style) == string and type-of($base-color) == color {
    @include buttonstyle($style, $base-color, $text-size, $padding);
  }

  @if type-of($style) == string and type-of($base-color) == number {
    $padding: $text-size;
    $text-size: $base-color;
    $base-color: #4294f0;

    @if $padding == inherit {
      $padding: 7px 18px;
    }

    @include buttonstyle($style, $base-color, $text-size, $padding);
  }

  @if type-of($style) == color and type-of($base-color) == color {
    $base-color: $style;
    $style: simple;
    @include buttonstyle($style, $base-color, $text-size, $padding);
  }

  @if type-of($style) == color and type-of($base-color) == number {
    $padding: $text-size;
    $text-size: $base-color;
    $base-color: $style;
    $style: simple;

    @if $padding == inherit {
      $padding: 7px 18px;
    }

    @include buttonstyle($style, $base-color, $text-size, $padding);
  }

  @if type-of($style) == number {
    $padding: $base-color;
    $text-size: $style;
    $base-color: #4294f0;
    $style: simple;

    @if $padding == #4294f0 {
      $padding: 7px 18px;
    }

    @include buttonstyle($style, $base-color, $text-size, $padding);
  }

  &:disabled {
    cursor: not-allowed;
    opacity: 0.5;
  }
}

// Selector Style Button
@mixin buttonstyle($type, $b-color, $t-size, $pad) {
  // Grayscale button
  @if $type == simple and $b-color == grayscale($b-color) {
    @include simple($b-color, true, $t-size, $pad);
  }

  @if $type == shiny and $b-color == grayscale($b-color) {
    @include shiny($b-color, true, $t-size, $pad);
  }

  @if $type == pill and $b-color == grayscale($b-color) {
    @include pill($b-color, true, $t-size, $pad);
  }

  @if $type == flat and $b-color == grayscale($b-color) {
    @include flat($b-color, true, $t-size, $pad);
  }

  // Colored button
  @if $type == simple {
    @include simple($b-color, false, $t-size, $pad);
  }

  @else if $type == shiny {
    @include shiny($b-color, false, $t-size, $pad);
  }

  @else if $type == pill {
    @include pill($b-color, false, $t-size, $pad);
  }

  @else if $type == flat {
    @include flat($b-color, false, $t-size, $pad);
  }
}

// Simple Button
@mixin simple($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {
  $color:         hsl(0, 0, 100%);
  $border:        adjust-color($base-color, $saturation:  9%,  $lightness: -14%);
  $inset-shadow:  adjust-color($base-color, $saturation: -8%,  $lightness:  15%);
  $stop-gradient: adjust-color($base-color, $saturation:  9%,  $lightness: -11%);
  $text-shadow:   adjust-color($base-color, $saturation:  15%, $lightness: -18%);

  @if is-light($base-color) {
    $color:       hsl(0, 0, 20%);
    $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
  }

  @if $grayscale == true {
    $border:        grayscale($border);
    $inset-shadow:  grayscale($inset-shadow);
    $stop-gradient: grayscale($stop-gradient);
    $text-shadow:   grayscale($text-shadow);
  }

  border: 1px solid $border;
  border-radius: 3px;
  box-shadow: inset 0 1px 0 0 $inset-shadow;
  color: $color;
  display: inline-block;
  font-size: $textsize;
  font-weight: bold;
  @include linear-gradient ($base-color, $stop-gradient);
  padding: $padding;
  text-decoration: none;
  text-shadow: 0 1px 0 $text-shadow;
  background-clip: padding-box;

  &:hover:not(:disabled) {
    $base-color-hover:    adjust-color($base-color, $saturation: -4%, $lightness: -5%);
    $inset-shadow-hover:  adjust-color($base-color, $saturation: -7%, $lightness:  5%);
    $stop-gradient-hover: adjust-color($base-color, $saturation:  8%, $lightness: -14%);

    @if $grayscale == true {
      $base-color-hover:    grayscale($base-color-hover);
      $inset-shadow-hover:  grayscale($inset-shadow-hover);
      $stop-gradient-hover: grayscale($stop-gradient-hover);
    }

    @include linear-gradient ($base-color-hover, $stop-gradient-hover);

    box-shadow: inset 0 1px 0 0 $inset-shadow-hover;
    cursor: pointer;
  }

  &:active:not(:disabled),
  &:focus:not(:disabled) {
    $border-active:       adjust-color($base-color, $saturation: 9%, $lightness: -14%);
    $inset-shadow-active: adjust-color($base-color, $saturation: 7%, $lightness: -17%);

    @if $grayscale == true {
      $border-active:       grayscale($border-active);
      $inset-shadow-active: grayscale($inset-shadow-active);
    }

    border: 1px solid $border-active;
    box-shadow: inset 0 0 8px 4px $inset-shadow-active, inset 0 0 8px 4px $inset-shadow-active;
  }
}

// Shiny Button
@mixin shiny($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {
  $color:         hsl(0, 0, 100%);
  $border:        adjust-color($base-color, $red: -117, $green: -111, $blue: -81);
  $border-bottom: adjust-color($base-color, $red: -126, $green: -127, $blue: -122);
  $fourth-stop:   adjust-color($base-color, $red: -79,  $green: -70,  $blue: -46);
  $inset-shadow:  adjust-color($base-color, $red:  37,  $green:  29,  $blue:  12);
  $second-stop:   adjust-color($base-color, $red: -56,  $green: -50,  $blue: -33);
  $text-shadow:   adjust-color($base-color, $red: -140, $green: -141, $blue: -114);
  $third-stop:    adjust-color($base-color, $red: -86,  $green: -75,  $blue: -48);

  @if is-light($base-color) {
    $color:       hsl(0, 0, 20%);
    $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
  }

  @if $grayscale == true {
    $border:        grayscale($border);
    $border-bottom: grayscale($border-bottom);
    $fourth-stop:   grayscale($fourth-stop);
    $inset-shadow:  grayscale($inset-shadow);
    $second-stop:   grayscale($second-stop);
    $text-shadow:   grayscale($text-shadow);
    $third-stop:    grayscale($third-stop);
  }

  background: linear-gradient(top, $base-color 0%, $second-stop 50%, $third-stop 50%, $fourth-stop 100%);

  border: 1px solid $border;
  border-bottom: 1px solid $border-bottom;
  border-radius: 5px;
  box-shadow: inset 0 1px 0 0 $inset-shadow;
  color: $color;
  display: inline-block;
  font-size: $textsize;
  font-weight: bold;
  padding: $padding;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 -1px 1px $text-shadow;

  &:hover:not(:disabled) {
    $first-stop-hover:  adjust-color($base-color, $red: -13, $green: -15, $blue: -18);
    $second-stop-hover: adjust-color($base-color, $red: -66, $green: -62, $blue: -51);
    $third-stop-hover:  adjust-color($base-color, $red: -93, $green: -85, $blue: -66);
    $fourth-stop-hover: adjust-color($base-color, $red: -86, $green: -80, $blue: -63);

    @if $grayscale == true {
      $first-stop-hover:  grayscale($first-stop-hover);
      $second-stop-hover: grayscale($second-stop-hover);
      $third-stop-hover:  grayscale($third-stop-hover);
      $fourth-stop-hover: grayscale($fourth-stop-hover);
    }

    @include linear-gradient(top, $first-stop-hover  0%,
                                  $second-stop-hover 50%,
                                  $third-stop-hover  50%,
                                  $fourth-stop-hover 100%);
    cursor: pointer;
  }

  &:active:not(:disabled),
  &:focus:not(:disabled) {
    $inset-shadow-active: adjust-color($base-color, $red: -111, $green: -116, $blue: -122);

    @if $grayscale == true {
      $inset-shadow-active: grayscale($inset-shadow-active);
    }

    box-shadow: inset 0 0 20px 0 $inset-shadow-active;
  }
}

// Pill Button
@mixin pill($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {
  $color:         hsl(0, 0, 100%);
  $border-bottom: adjust-color($base-color, $hue:  8, $saturation: -11%, $lightness: -26%);
  $border-sides:  adjust-color($base-color, $hue:  4, $saturation: -21%, $lightness: -21%);
  $border-top:    adjust-color($base-color, $hue: -1, $saturation: -30%, $lightness: -15%);
  $inset-shadow:  adjust-color($base-color, $hue: -1, $saturation: -1%,  $lightness:  7%);
  $stop-gradient: adjust-color($base-color, $hue:  8, $saturation:  14%, $lightness: -10%);
  $text-shadow:   adjust-color($base-color, $hue:  5, $saturation: -19%, $lightness: -15%);

  @if is-light($base-color) {
    $color:       hsl(0, 0, 20%);
    $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
  }

  @if $grayscale == true {
    $border-bottom: grayscale($border-bottom);
    $border-sides:  grayscale($border-sides);
    $border-top:    grayscale($border-top);
    $inset-shadow:  grayscale($inset-shadow);
    $stop-gradient: grayscale($stop-gradient);
    $text-shadow:   grayscale($text-shadow);
  }

  border: 1px solid $border-top;
  border-color: $border-top $border-sides $border-bottom;
  border-radius: 16px;
  box-shadow: inset 0 1px 0 0 $inset-shadow;
  color: $color;
  display: inline-block;
  font-size: $textsize;
  font-weight: normal;
  line-height: 1;
  @include linear-gradient ($base-color, $stop-gradient);
  padding: $padding;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 -1px 1px $text-shadow;
  background-clip: padding-box;

  &:hover:not(:disabled) {
    $base-color-hover:    adjust-color($base-color,                                $lightness: -4.5%);
    $border-bottom:       adjust-color($base-color, $hue:  8, $saturation:  13.5%, $lightness: -32%);
    $border-sides:        adjust-color($base-color, $hue:  4, $saturation: -2%,    $lightness: -27%);
    $border-top:          adjust-color($base-color, $hue: -1, $saturation: -17%,   $lightness: -21%);
    $inset-shadow-hover:  adjust-color($base-color,           $saturation: -1%,    $lightness:  3%);
    $stop-gradient-hover: adjust-color($base-color, $hue:  8, $saturation: -4%,    $lightness: -15.5%);
    $text-shadow-hover:   adjust-color($base-color, $hue:  5, $saturation: -5%,    $lightness: -22%);

    @if $grayscale == true {
      $base-color-hover:    grayscale($base-color-hover);
      $border-bottom:       grayscale($border-bottom);
      $border-sides:        grayscale($border-sides);
      $border-top:          grayscale($border-top);
      $inset-shadow-hover:  grayscale($inset-shadow-hover);
      $stop-gradient-hover: grayscale($stop-gradient-hover);
      $text-shadow-hover:   grayscale($text-shadow-hover);
    }

    @include linear-gradient ($base-color-hover, $stop-gradient-hover);

    background-clip: padding-box;
    border: 1px solid $border-top;
    border-color: $border-top $border-sides $border-bottom;
    box-shadow: inset 0 1px 0 0 $inset-shadow-hover;
    cursor: pointer;
    text-shadow: 0 -1px 1px $text-shadow-hover;
  }

  &:active:not(:disabled),
  &:focus:not(:disabled) {
    $active-color:         adjust-color($base-color, $hue: 4,  $saturation: -12%,  $lightness: -10%);
    $border-active:        adjust-color($base-color, $hue: 6,  $saturation: -2.5%, $lightness: -30%);
    $border-bottom-active: adjust-color($base-color, $hue: 11, $saturation:  6%,   $lightness: -31%);
    $inset-shadow-active:  adjust-color($base-color, $hue: 9,  $saturation:  2%,   $lightness: -21.5%);
    $text-shadow-active:   adjust-color($base-color, $hue: 5,  $saturation: -12%,  $lightness: -21.5%);

    @if $grayscale == true {
      $active-color:         grayscale($active-color);
      $border-active:        grayscale($border-active);
      $border-bottom-active: grayscale($border-bottom-active);
      $inset-shadow-active:  grayscale($inset-shadow-active);
      $text-shadow-active:   grayscale($text-shadow-active);
    }

    background: $active-color;
    border: 1px solid $border-active;
    border-bottom: 1px solid $border-bottom-active;
    box-shadow: inset 0 0 6px 3px $inset-shadow-active;
    text-shadow: 0 -1px 1px $text-shadow-active;
  }
}

// Flat Button
@mixin flat($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {
  $color:         hsl(0, 0, 100%);

  @if is-light($base-color) {
    $color:       hsl(0, 0, 20%);
  }

  background-color: $base-color;
  border-radius: 3px;
  border: 0;
  color: $color;
  display: inline-block;
  font-size: $textsize;
  font-weight: bold;
  padding: $padding;
  text-decoration: none;
  background-clip: padding-box;

  &:hover:not(:disabled){
    $base-color-hover:    adjust-color($base-color, $saturation: 4%, $lightness: 5%);

    @if $grayscale == true {
      $base-color-hover: grayscale($base-color-hover);
    }

    background-color: $base-color-hover;
    cursor: pointer;
  }

  &:active:not(:disabled),
  &:focus:not(:disabled) {
    $base-color-active: adjust-color($base-color, $saturation: -4%, $lightness: -5%);

    @if $grayscale == true {
      $base-color-active: grayscale($base-color-active);
    }

    background-color: $base-color-active;
    cursor: pointer;
  }
}

// Flexible grid
@function flex-grid($columns, $container-columns: $fg-max-columns) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `flex-grid` is deprecated and will be " +
    "removed in 5.0.0. For grid functions, check out Bourbon's sister library" +
    "Neat.";
  }

  $width: $columns * $fg-column + ($columns - 1) * $fg-gutter;
  $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
  @return percentage($width / $container-width);
}

// Flexible gutter
@function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `flex-gutter` is deprecated and will be " +
    "removed in 5.0.0. For grid functions, check out Bourbon's sister library" +
    "Neat.";
  }

  $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
  @return percentage($gutter / $container-width);
}

@function grid-width($n) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `grid-width` is deprecated and will be " +
    "removed in 5.0.0. For grid functions, check out Bourbon's sister library" +
    "Neat.";
  }

  @return $n * $gw-column + ($n - 1) * $gw-gutter;
}

@function golden-ratio($value, $increment) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `golden-ratio` is deprecated and will be " +
    "removed in 5.0.0. You can use the `modular-scale` function instead.";
  }

  @return modular-scale($increment, $value, $ratio: $golden);
}

@mixin box-sizing($box) {
  @include _bourbon-deprecate-for-prefixing("box-sizing");

  @include prefixer(box-sizing, $box, webkit moz spec);
}
engines/nucleus/scss/vendor/bourbon/functions/_contains.scss000060400000001157150753125200020452 0ustar00/// Checks if a list contains a value(s).
///
/// @access private
///
/// @param {List} $list
///   The list to check against.
///
/// @param {List} $values
///   A single value or list of values to check for.
///
/// @example scss - Usage
///   contains($list, $value)
///
/// @return {Bool}

@function contains($list, $values...) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `contains` is deprecated and will be " +
    "removed in 5.0.0.";
  }

  @each $value in $values {
    @if type-of(index($list, $value)) != "number" {
      @return false;
    }
  }

  @return true;
}
engines/nucleus/scss/vendor/bourbon/functions/_assign-inputs.scss000060400000000627150753125200021441 0ustar00@function assign-inputs($inputs, $pseudo: null) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `assign-inputs` is deprecated and will be " +
    "removed in 5.0.0.";
  }

  $list: ();

  @each $input in $inputs {
    $input: unquote($input);
    $input: if($pseudo, $input + ":" + $pseudo, $input);
    $list: append($list, $input, comma);
  }

  @return $list;
}
engines/nucleus/scss/vendor/bourbon/functions/_px-to-rem.scss000060400000001304150753125200020456 0ustar00// Convert pixels to rems
// eg. for a relational value of 12px write rem(12)
// Assumes $em-base is the font-size of <html>

@function rem($pxval) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `rem` is deprecated and will be " +
    "removed in 5.0.0.";
  }

  $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
  $output-bourbon-deprecation-warnings: false !global;

  @if not unitless($pxval) {
    $pxval: strip-units($pxval);
  }

  $base: $em-base;
  @if not unitless($base) {
    $base: strip-units($base);
  }

  $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;

  @return ($pxval / $base) * 1rem;
}
engines/nucleus/scss/vendor/bourbon/functions/_tint.scss000060400000000674150753125200017615 0ustar00/// Mixes a color with white.
///
/// @param {Color} $color
///
/// @param {Number (Percentage)} $percent
///   The amount of white to be mixed in.
///
/// @example scss - Usage
///   .element {
///     background-color: tint(#6ecaa6, 40%);
///   }
///
/// @example css - CSS Output
///   .element {
///     background-color: #a8dfc9;
///   }
///
/// @return {Color}

@function tint($color, $percent) {
  @return mix(#fff, $color, $percent);
}
engines/nucleus/scss/vendor/bourbon/functions/_is-light.scss000060400000001304150753125200020346 0ustar00/// Programatically determines whether a color is light or dark.
///
/// @link http://robots.thoughtbot.com/closer-look-color-lightness
///
/// @param {Color (Hex)} $color
///
/// @example scss - Usage
///   is-light($color)
///
/// @return {Bool}

@function is-light($hex-color) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `is-light` is deprecated and will be " +
    "removed in 5.0.0.";
  }

  $-local-red: red(rgba($hex-color, 1));
  $-local-green: green(rgba($hex-color, 1));
  $-local-blue: blue(rgba($hex-color, 1));
  $-local-lightness: ($-local-red * 0.2126 + $-local-green * 0.7152 + $-local-blue * 0.0722) / 255;

  @return $-local-lightness > 0.6;
}
engines/nucleus/scss/vendor/bourbon/functions/_is-size.scss000060400000001212150753125200020207 0ustar00/// Checks for a valid CSS size.
///
/// @param {String} $value
///
/// @require {function} contains
/// @require {function} is-length

@function is-size($value) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `is-size` is deprecated and will be " +
    "removed in 5.0.0.";
  }

  $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
  $output-bourbon-deprecation-warnings: false !global;

  @return is-length($value)
          or contains("fill" "fit-content" "min-content" "max-content", $value);

  $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;
}
engines/nucleus/scss/vendor/bourbon/functions/_transition-property-name.scss000060400000002400150753125200023616 0ustar00// Return vendor-prefixed property names if appropriate
// Example: transition-property-names((transform, color, background), moz) -> -moz-transform, color, background
//************************************************************************//
@function transition-property-names($props, $vendor: false) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `transition-property-names` is deprecated " +
    "and will be removed in 5.0.0.";
  }

  $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
  $output-bourbon-deprecation-warnings: false !global;

  $new-props: ();

  @each $prop in $props {
    $new-props: append($new-props, transition-property-name($prop, $vendor), comma);
  }

  $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;

  @return $new-props;
}

@function transition-property-name($prop, $vendor: false) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `transition-property-name` is deprecated " +
    "and will be removed in 5.0.0.";
  }

  // put other properties that need to be prefixed here aswell
  @if $vendor and $prop == transform {
    @return unquote('-'+$vendor+'-'+$prop);
  }
  @else {
    @return $prop;
  }
}
engines/nucleus/scss/vendor/bourbon/functions/_modular-scale.scss000060400000003426150753125200021365 0ustar00// Scaling Variables
$golden:           1.618;
$minor-second:     1.067;
$major-second:     1.125;
$minor-third:      1.2;
$major-third:      1.25;
$perfect-fourth:   1.333;
$augmented-fourth: 1.414;
$perfect-fifth:    1.5;
$minor-sixth:      1.6;
$major-sixth:      1.667;
$minor-seventh:    1.778;
$major-seventh:    1.875;
$octave:           2;
$major-tenth:      2.5;
$major-eleventh:   2.667;
$major-twelfth:    3;
$double-octave:    4;

$user-output-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
$output-bourbon-deprecation-warnings: false;

$modular-scale-ratio: $perfect-fourth !default;
$modular-scale-base: em($em-base) !default;

$output-bourbon-deprecation-warnings: $user-output-deprecation-warnings-setting;

@function modular-scale($increment, $value: $modular-scale-base, $ratio: $modular-scale-ratio) {
  $v1: nth($value, 1);
  $v2: nth($value, length($value));
  $value: $v1;

  // scale $v2 to just above $v1
  @while $v2 > $v1 {
    $v2: ($v2 / $ratio); // will be off-by-1
  }
  @while $v2 < $v1 {
    $v2: ($v2 * $ratio); // will fix off-by-1
  }

  // check AFTER scaling $v2 to prevent double-counting corner-case
  $double-stranded: $v2 > $v1;

  @if $increment > 0 {
    @for $i from 1 through $increment {
      @if $double-stranded and ($v1 * $ratio) > $v2 {
        $value: $v2;
        $v2: ($v2 * $ratio);
      } @else {
        $v1: ($v1 * $ratio);
        $value: $v1;
      }
    }
  }

  @if $increment < 0 {
    // adjust $v2 to just below $v1
    @if $double-stranded {
      $v2: ($v2 / $ratio);
    }

    @for $i from $increment through -1 {
      @if $double-stranded and ($v1 / $ratio) < $v2 {
        $value: $v2;
        $v2: ($v2 / $ratio);
      } @else {
        $v1: ($v1 / $ratio);
        $value: $v1;
      }
    }
  }

  @return $value;
}
engines/nucleus/scss/vendor/bourbon/functions/_is-number.scss000060400000000575150753125200020540 0ustar00/// Checks for a valid number.
///
/// @param {Number} $value
///
/// @require {function} contains

@function is-number($value) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `is-number` is deprecated and will be " +
    "removed in 5.0.0.";
  }

  @return contains("0" "1" "2" "3" "4" "5" "6" "7" "8" "9" 0 1 2 3 4 5 6 7 8 9, $value);
}
engines/nucleus/scss/vendor/bourbon/functions/_strip-units.scss000060400000001003150753125200021123 0ustar00/// Strips the unit from a number.
///
/// @param {Number (With Unit)} $value
///
/// @example scss - Usage
///   $dimension: strip-units(10em);
///
/// @example css - CSS Output
///   $dimension: 10;
///
/// @return {Number (Unitless)}

@function strip-units($value) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `strip-units` is deprecated and will be " +
    "removed in 5.0.0 and replaced by the `strip-unit` function.";
  }

  @return ($value / ($value * 0 + 1));
}
engines/nucleus/scss/vendor/bourbon/functions/_unpack.scss000060400000001543150753125200020114 0ustar00/// Converts shorthand to the 4-value syntax.
///
/// @param {List} $shorthand
///
/// @example scss - Usage
///   .element {
///     margin: unpack(1em 2em);
///   }
///
/// @example css - CSS Output
///   .element {
///     margin: 1em 2em 1em 2em;
///   }

@function unpack($shorthand) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `unpack` is deprecated and will be " +
    "removed in 5.0.0.";
  }

  @if length($shorthand) == 1 {
    @return nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1);
  } @else if length($shorthand) == 2 {
    @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 1) nth($shorthand, 2);
  } @else if length($shorthand) == 3 {
    @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 3) nth($shorthand, 2);
  } @else {
    @return $shorthand;
  }
}
engines/nucleus/scss/vendor/bourbon/functions/_is-length.scss000060400000000707150753125200020526 0ustar00/// Checks for a valid CSS length.
///
/// @param {String} $value

@function is-length($value) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `is-length` is deprecated and will be " +
    "removed in 5.0.0.";
  }

  @return type-of($value) != "null" and (str-slice($value + "", 1, 4) == "calc"
       or index(auto inherit initial 0, $value)
       or (type-of($value) == "number" and not(unitless($value))));
}
engines/nucleus/scss/vendor/bourbon/functions/_shade.scss000060400000000676150753125200017725 0ustar00/// Mixes a color with black.
///
/// @param {Color} $color
///
/// @param {Number (Percentage)} $percent
///   The amount of black to be mixed in.
///
/// @example scss - Usage
///   .element {
///     background-color: shade(#ffbb52, 60%);
///   }
///
/// @example css - CSS Output
///   .element {
///     background-color: #664a20;
///   }
///
/// @return {Color}

@function shade($color, $percent) {
  @return mix(#000, $color, $percent);
}
engines/nucleus/scss/vendor/bourbon/functions/_contains-falsy.scss000060400000000703150753125200021562 0ustar00/// Checks if a list does not contains a value.
///
/// @access private
///
/// @param {List} $list
///   The list to check against.
///
/// @return {Bool}

@function contains-falsy($list) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `contains-falsy` is deprecated and will be " +
    "removed in 5.0.0.";
  }

  @each $item in $list {
    @if not $item {
      @return true;
    }
  }

  @return false;
}
engines/nucleus/scss/vendor/bourbon/functions/_px-to-em.scss000060400000001341150753125200020275 0ustar00// Convert pixels to ems
// eg. for a relational value of 12px write em(12) when the parent is 16px
// if the parent is another value say 24px write em(12, 24)

@function em($pxval, $base: $em-base) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `em` is deprecated and will be " +
    "removed in 5.0.0.";
  }

  $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
  $output-bourbon-deprecation-warnings: false !global;

  @if not unitless($pxval) {
    $pxval: strip-units($pxval);
  }
  @if not unitless($base) {
    $base: strip-units($base);
  }

  $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;

  @return ($pxval / $base) * 1em;
}
engines/nucleus/scss/vendor/bourbon/css3/_backface-visibility.scss000060400000000265150753125200021402 0ustar00@mixin backface-visibility($visibility) {
  @include _bourbon-deprecate-for-prefixing("backface-visibility");

  @include prefixer(backface-visibility, $visibility, webkit spec);
}
engines/nucleus/scss/vendor/bourbon/css3/_appearance.scss000060400000000231150753125200017566 0ustar00@mixin appearance($value) {
  @include _bourbon-deprecate-for-prefixing("appearance");

  @include prefixer(appearance, $value, webkit moz ms o spec);
}
engines/nucleus/scss/vendor/bourbon/css3/_filter.scss000060400000000302150753125200016753 0ustar00@mixin filter($function: none) {
  @include _bourbon-deprecate-for-prefixing("filter");

  // <filter-function> [<filter-function]* | none
  @include prefixer(filter, $function, webkit spec);
}
engines/nucleus/scss/vendor/bourbon/css3/_hyphens.scss000060400000000272150753125200017152 0ustar00@mixin hyphens($hyphenation: none) {
  @include _bourbon-deprecate-for-prefixing("hyphens");

  // none | manual | auto
  @include prefixer(hyphens, $hyphenation, webkit moz ms spec);
}
engines/nucleus/scss/vendor/bourbon/css3/_flex-box.scss000060400000021325150753125200017222 0ustar00// CSS3 Flexible Box Model and property defaults

// Custom shorthand notation for flexbox
@mixin box($orient: inline-axis, $pack: start, $align: stretch) {
  @include _bourbon-deprecate-for-prefixing("box");

  @include display-box;
  @include box-orient($orient);
  @include box-pack($pack);
  @include box-align($align);
}

@mixin display-box {
  @include _bourbon-deprecate-for-prefixing("display-box");

  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox; // IE 10
  display: box;
}

@mixin box-orient($orient: inline-axis) {
  @include _bourbon-deprecate-for-prefixing("box-orient");

// horizontal|vertical|inline-axis|block-axis|inherit
  @include prefixer(box-orient, $orient, webkit moz spec);
}

@mixin box-pack($pack: start) {
  @include _bourbon-deprecate-for-prefixing("box-pack");

// start|end|center|justify
  @include prefixer(box-pack, $pack, webkit moz spec);
  -ms-flex-pack: $pack; // IE 10
}

@mixin box-align($align: stretch) {
  @include _bourbon-deprecate-for-prefixing("box-align");

// start|end|center|baseline|stretch
  @include prefixer(box-align, $align, webkit moz spec);
  -ms-flex-align: $align; // IE 10
}

@mixin box-direction($direction: normal) {
  @include _bourbon-deprecate-for-prefixing("box-direction");

// normal|reverse|inherit
  @include prefixer(box-direction, $direction, webkit moz spec);
  -ms-flex-direction: $direction; // IE 10
}

@mixin box-lines($lines: single) {
  @include _bourbon-deprecate-for-prefixing("box-lines");

// single|multiple
  @include prefixer(box-lines, $lines, webkit moz spec);
}

@mixin box-ordinal-group($int: 1) {
  @include _bourbon-deprecate-for-prefixing("box-ordinal-group");

  @include prefixer(box-ordinal-group, $int, webkit moz spec);
  -ms-flex-order: $int; // IE 10
}

@mixin box-flex($value: 0) {
  @include _bourbon-deprecate-for-prefixing("box-flex");

  @include prefixer(box-flex, $value, webkit moz spec);
  -ms-flex: $value; // IE 10
}

@mixin box-flex-group($int: 1) {
  @include _bourbon-deprecate-for-prefixing("box-flex-group");

  @include prefixer(box-flex-group, $int, webkit moz spec);
}

// CSS3 Flexible Box Model and property defaults
// Unified attributes for 2009, 2011, and 2012 flavours.

// 2009 - display (box | inline-box)
// 2011 - display (flexbox | inline-flexbox)
// 2012 - display (flex | inline-flex)
@mixin display($value) {
  @include _bourbon-deprecate-for-prefixing("display");

// flex | inline-flex
  @if $value == "flex" {
    // 2009
    display: -webkit-box;
    display: -moz-box;
    display: box;

    // 2012
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox; // 2011 (IE 10)
    display: flex;
  } @else if $value == "inline-flex" {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: inline-box;

    display: -webkit-inline-flex;
    display: -moz-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
  } @else {
    display: $value;
  }
}

// 2009 - box-flex (integer)
// 2011 - flex (decimal | width decimal)
// 2012 - flex (integer integer width)
@mixin flex($value) {
  @include _bourbon-deprecate-for-prefixing("flex");

  // Grab flex-grow for older browsers.
  $flex-grow: nth($value, 1);

  // 2009
  @include prefixer(box-flex, $flex-grow, webkit moz spec);

  // 2011 (IE 10), 2012
  @include prefixer(flex, $value, webkit moz ms spec);
}

// 2009 - box-orient ( horizontal | vertical | inline-axis | block-axis)
//      - box-direction (normal | reverse)
// 2011 - flex-direction (row | row-reverse | column | column-reverse)
// 2012 - flex-direction (row | row-reverse | column | column-reverse)
@mixin flex-direction($value: row) {
  @include _bourbon-deprecate-for-prefixing("flex-direction");

  // Alt values.
  $value-2009: $value;
  $value-2011: $value;
  $direction: normal;

  @if $value == row {
    $value-2009: horizontal;
  } @else if $value == "row-reverse" {
    $value-2009: horizontal;
    $direction: reverse;
  } @else if $value == column {
    $value-2009: vertical;
  } @else if $value == "column-reverse" {
    $value-2009: vertical;
    $direction: reverse;
  }

  // 2009
  @include prefixer(box-orient, $value-2009, webkit moz spec);
  @include prefixer(box-direction, $direction, webkit moz spec);

  // 2012
  @include prefixer(flex-direction, $value, webkit moz spec);

  // 2011 (IE 10)
  -ms-flex-direction: $value;
}

// 2009 - box-lines (single | multiple)
// 2011 - flex-wrap (nowrap | wrap | wrap-reverse)
// 2012 - flex-wrap (nowrap | wrap | wrap-reverse)
@mixin flex-wrap($value: nowrap) {
  @include _bourbon-deprecate-for-prefixing("flex-wrap");

  // Alt values
  $alt-value: $value;
  @if $value == nowrap {
    $alt-value: single;
  } @else if $value == wrap {
    $alt-value: multiple;
  } @else if $value == "wrap-reverse" {
    $alt-value: multiple;
  }

  @include prefixer(box-lines, $alt-value, webkit moz spec);
  @include prefixer(flex-wrap, $value, webkit moz ms spec);
}

// 2009 - TODO: parse values into flex-direction/flex-wrap
// 2011 - TODO: parse values into flex-direction/flex-wrap
// 2012 - flex-flow (flex-direction || flex-wrap)
@mixin flex-flow($value) {
  @include _bourbon-deprecate-for-prefixing("flex-flow");

  @include prefixer(flex-flow, $value, webkit moz spec);
}

// 2009 - box-ordinal-group (integer)
// 2011 - flex-order (integer)
// 2012 - order (integer)
@mixin order($int: 0) {
  @include _bourbon-deprecate-for-prefixing("order");

  // 2009
  @include prefixer(box-ordinal-group, $int, webkit moz spec);

  // 2012
  @include prefixer(order, $int, webkit moz spec);

  // 2011 (IE 10)
  -ms-flex-order: $int;
}

// 2012 - flex-grow (number)
@mixin flex-grow($number: 0) {
  @include _bourbon-deprecate-for-prefixing("flex-grow");

  @include prefixer(flex-grow, $number, webkit moz spec);
  -ms-flex-positive: $number;
}

// 2012 - flex-shrink (number)
@mixin flex-shrink($number: 1) {
  @include _bourbon-deprecate-for-prefixing("flex-shrink");

  @include prefixer(flex-shrink, $number, webkit moz spec);
  -ms-flex-negative: $number;
}

// 2012 - flex-basis (number)
@mixin flex-basis($width: auto) {
  @include _bourbon-deprecate-for-prefixing("flex-basis");

  @include prefixer(flex-basis, $width, webkit moz spec);
  -ms-flex-preferred-size: $width;
}

// 2009 - box-pack (start | end | center | justify)
// 2011 - flex-pack (start | end | center | justify)
// 2012 - justify-content (flex-start | flex-end | center | space-between | space-around)
@mixin justify-content($value: flex-start) {
  @include _bourbon-deprecate-for-prefixing("justify-content");

  // Alt values.
  $alt-value: $value;
  @if $value == "flex-start" {
    $alt-value: start;
  } @else if $value == "flex-end" {
    $alt-value: end;
  } @else if $value == "space-between" {
    $alt-value: justify;
  } @else if $value == "space-around" {
    $alt-value: distribute;
  }

  // 2009
  @include prefixer(box-pack, $alt-value, webkit moz spec);

  // 2012
  @include prefixer(justify-content, $value, webkit moz ms o spec);

  // 2011 (IE 10)
  -ms-flex-pack: $alt-value;
}

// 2009 - box-align (start | end | center | baseline | stretch)
// 2011 - flex-align (start | end | center | baseline | stretch)
// 2012 - align-items (flex-start | flex-end | center | baseline | stretch)
@mixin align-items($value: stretch) {
  @include _bourbon-deprecate-for-prefixing("align-items");

  $alt-value: $value;

  @if $value == "flex-start" {
    $alt-value: start;
  } @else if $value == "flex-end" {
    $alt-value: end;
  }

  // 2009
  @include prefixer(box-align, $alt-value, webkit moz spec);

  // 2012
  @include prefixer(align-items, $value, webkit moz ms o spec);

  // 2011 (IE 10)
  -ms-flex-align: $alt-value;
}

// 2011 - flex-item-align (auto | start | end | center | baseline | stretch)
// 2012 - align-self (auto | flex-start | flex-end | center | baseline | stretch)
@mixin align-self($value: auto) {
  @include _bourbon-deprecate-for-prefixing("align-self");

  $value-2011: $value;
  @if $value == "flex-start" {
    $value-2011: start;
  } @else if $value == "flex-end" {
    $value-2011: end;
  }

  // 2012
  @include prefixer(align-self, $value, webkit moz spec);

  // 2011 (IE 10)
  -ms-flex-item-align: $value-2011;
}

// 2011 - flex-line-pack (start | end | center | justify | distribute | stretch)
// 2012 - align-content (flex-start | flex-end | center | space-between | space-around | stretch)
@mixin align-content($value: stretch) {
  @include _bourbon-deprecate-for-prefixing("align-content");

  $value-2011: $value;
  @if $value == "flex-start" {
    $value-2011: start;
  } @else if $value == "flex-end" {
    $value-2011: end;
  } @else if $value == "space-between" {
    $value-2011: justify;
  } @else if $value == "space-around" {
    $value-2011: distribute;
  }

  // 2012
  @include prefixer(align-content, $value, webkit moz spec);

  // 2011 (IE 10)
  -ms-flex-line-pack: $value-2011;
}
engines/nucleus/scss/vendor/bourbon/css3/_hidpi-media-query.scss000060400000001006150753125200021005 0ustar00// HiDPI mixin. Default value set to 1.3 to target Google Nexus 7 (http://bjango.com/articles/min-device-pixel-ratio/)
@mixin hidpi($ratio: 1.3) {
  @include _bourbon-deprecate-for-prefixing("hidpi");

  @media only screen and (-webkit-min-device-pixel-ratio: $ratio),
  only screen and (min--moz-device-pixel-ratio: $ratio),
  only screen and (-o-min-device-pixel-ratio: #{$ratio}/1),
  only screen and (min-resolution: round($ratio * 96dpi)),
  only screen and (min-resolution: $ratio * 1dppx) {
    @content;
  }
}
engines/nucleus/scss/vendor/bourbon/css3/_perspective.scss000060400000000550150753125200020024 0ustar00@mixin perspective($depth: none) {
  @include _bourbon-deprecate-for-prefixing("perspective");

  // none | <length>
  @include prefixer(perspective, $depth, webkit moz spec);
}

@mixin perspective-origin($value: 50% 50%) {
  @include _bourbon-deprecate-for-prefixing("perspective-origin");

  @include prefixer(perspective-origin, $value, webkit moz spec);
}
engines/nucleus/scss/vendor/bourbon/css3/_image-rendering.scss000060400000000613150753125200020530 0ustar00@mixin image-rendering ($mode:auto) {
  @include _bourbon-deprecate-for-prefixing("image-rendering");

  @if ($mode == crisp-edges) {
    -ms-interpolation-mode: nearest-neighbor; // IE8+
    image-rendering: -moz-crisp-edges;
    image-rendering: -o-crisp-edges;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
  }

  @else {
    image-rendering: $mode;
  }
}
engines/nucleus/scss/vendor/bourbon/css3/_background.scss000060400000003456150753125200017622 0ustar00//************************************************************************//
// Background property for adding multiple backgrounds using shorthand
// notation.
//************************************************************************//

@mixin background($backgrounds...) {
  @include _bourbon-deprecate-for-prefixing("background");

  $webkit-backgrounds: ();
  $spec-backgrounds: ();

  @each $background in $backgrounds {
    $webkit-background: ();
    $spec-background: ();
    $background-type: type-of($background);

    @if $background-type == string or $background-type == list {
      $background-str: if($background-type == list, nth($background, 1), $background);

      $url-str:       str-slice($background-str, 1, 3);
      $gradient-type: str-slice($background-str, 1, 6);

      @if $url-str == "url" {
        $webkit-background: $background;
        $spec-background:   $background;
      }

      @else if $gradient-type == "linear" {
        $gradients: _linear-gradient-parser("#{$background}");
        $webkit-background: map-get($gradients, webkit-image);
        $spec-background:   map-get($gradients, spec-image);
      }

      @else if $gradient-type == "radial" {
        $gradients: _radial-gradient-parser("#{$background}");
        $webkit-background: map-get($gradients, webkit-image);
        $spec-background:   map-get($gradients, spec-image);
      }

      @else {
        $webkit-background: $background;
        $spec-background:   $background;
      }
    }

    @else {
      $webkit-background: $background;
      $spec-background:   $background;
    }

    $webkit-backgrounds: append($webkit-backgrounds, $webkit-background, comma);
    $spec-backgrounds:   append($spec-backgrounds,   $spec-background,   comma);
  }

  background: $webkit-backgrounds;
  background: $spec-backgrounds;
}
engines/nucleus/scss/vendor/bourbon/css3/_keyframes.scss000060400000002302150753125200017456 0ustar00// Adds keyframes blocks for supported prefixes, removing redundant prefixes in the block's content
@mixin keyframes($name) {
  @include _bourbon-deprecate-for-prefixing("keyframes");

  $original-prefix-for-webkit:    $prefix-for-webkit;
  $original-prefix-for-mozilla:   $prefix-for-mozilla;
  $original-prefix-for-microsoft: $prefix-for-microsoft;
  $original-prefix-for-opera:     $prefix-for-opera;
  $original-prefix-for-spec:      $prefix-for-spec;

  @if $original-prefix-for-webkit {
    @include disable-prefix-for-all();
    $prefix-for-webkit: true !global;
    @-webkit-keyframes #{$name} {
      @content;
    }
  }

  @if $original-prefix-for-mozilla {
    @include disable-prefix-for-all();
    $prefix-for-mozilla: true !global;
    @-moz-keyframes #{$name} {
      @content;
    }
  }

  $prefix-for-webkit:    $original-prefix-for-webkit    !global;
  $prefix-for-mozilla:   $original-prefix-for-mozilla   !global;
  $prefix-for-microsoft: $original-prefix-for-microsoft !global;
  $prefix-for-opera:     $original-prefix-for-opera     !global;
  $prefix-for-spec:      $original-prefix-for-spec      !global;

  @if $original-prefix-for-spec {
    @keyframes #{$name} {
      @content;
    }
  }
}
engines/nucleus/scss/vendor/bourbon/css3/_radial-gradient.scss000060400000002653150753125200020530 0ustar00// Requires Sass 3.1+
@mixin radial-gradient($g1, $g2,
                       $g3: null, $g4: null,
                       $g5: null, $g6: null,
                       $g7: null, $g8: null,
                       $g9: null, $g10: null,
                       $pos: null,
                       $shape-size: null,
                       $fallback: null) {
  @include _bourbon-deprecate-for-prefixing("radial-gradient");

  $data: _radial-arg-parser($g1, $g2, $pos, $shape-size);
  $g1:  nth($data, 1);
  $g2:  nth($data, 2);
  $pos: nth($data, 3);
  $shape-size: nth($data, 4);

  $full: $g1, $g2, $g3, $g4, $g5, $g6, $g7, $g8, $g9, $g10;

  // Strip deprecated cover/contain for spec
  $shape-size-spec: _shape-size-stripper($shape-size);

  // Set $g1 as the default fallback color
  $first-color: nth($full, 1);
  $fallback-color: nth($first-color, 1);

  @if (type-of($fallback) == color) or ($fallback == "transparent") {
    $fallback-color: $fallback;
  }

  // Add Commas and spaces
  $shape-size: if($shape-size, "#{$shape-size}, ", null);
  $pos:        if($pos, "#{$pos}, ", null);
  $pos-spec:   if($pos, "at #{$pos}", null);
  $shape-size-spec: if(($shape-size-spec != " ") and ($pos == null), "#{$shape-size-spec}, ", "#{$shape-size-spec} ");

  background-color:  $fallback-color;
  background-image: -webkit-radial-gradient(#{$pos}#{$shape-size}#{$full});
  background-image: radial-gradient(#{$shape-size-spec}#{$pos-spec}#{$full});
}
engines/nucleus/scss/vendor/bourbon/css3/_border-image.scss000060400000003453150753125210020036 0ustar00@mixin border-image($borders...) {
  @include _bourbon-deprecate-for-prefixing("border-image");

  $webkit-borders: ();
  $spec-borders: ();

  @each $border in $borders {
    $webkit-border: ();
    $spec-border: ();
    $border-type: type-of($border);

    @if $border-type == string or list {
      $border-str: if($border-type == list, nth($border, 1), $border);

      $url-str:       str-slice($border-str, 1, 3);
      $gradient-type: str-slice($border-str, 1, 6);

      @if $url-str == "url" {
        $webkit-border: $border;
        $spec-border:   $border;
      }

      @else if $gradient-type == "linear" {
        $gradients: _linear-gradient-parser("#{$border}");
        $webkit-border: map-get($gradients, webkit-image);
        $spec-border:   map-get($gradients, spec-image);
      }

      @else if $gradient-type == "radial" {
        $gradients: _radial-gradient-parser("#{$border}");
        $webkit-border: map-get($gradients, webkit-image);
        $spec-border:   map-get($gradients, spec-image);
      }

      @else {
        $webkit-border: $border;
        $spec-border:   $border;
      }
    }

    @else {
      $webkit-border: $border;
      $spec-border:   $border;
    }

    $webkit-borders: append($webkit-borders, $webkit-border, comma);
    $spec-borders:   append($spec-borders,   $spec-border,   comma);
  }

  -webkit-border-image: $webkit-borders;
          border-image: $spec-borders;
          border-style: solid;
}

//Examples:
// border-image: url("image.png");
// border-image: url("image.png") 20 stretch;
// border-image: linear-gradient(45deg, orange, yellow);
// border-image: linear-gradient(45deg, orange, yellow) stretch;
// border-image: linear-gradient(45deg, orange, yellow) 20 30 40 50 stretch round;
// border-image: radial-gradient(top, cover, orange, yellow, orange);
engines/nucleus/scss/vendor/bourbon/css3/_font-face.scss000060400000001260150753125210017335 0ustar00@mixin font-face(
  $font-family,
  $file-path,
  $weight: normal,
  $style: normal,
  $asset-pipeline: $asset-pipeline,
  $file-formats: eot woff2 woff ttf svg) {

  $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
  $output-bourbon-deprecation-warnings: false !global;

  $font-url-prefix: font-url-prefixer($asset-pipeline);

  @font-face {
    font-family: $font-family;
    font-style: $style;
    font-weight: $weight;

    src: font-source-declaration(
      $font-family,
      $file-path,
      $asset-pipeline,
      $file-formats,
      $font-url-prefix
    );
  }

  $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;
}
engines/nucleus/scss/vendor/bourbon/css3/_font-feature-settings.scss000060400000000363150753125210021733 0ustar00@mixin font-feature-settings($settings...) {
  @include _bourbon-deprecate-for-prefixing("font-feature-settings");

  @if length($settings) == 0 { $settings: none; }
  @include prefixer(font-feature-settings, $settings, webkit moz ms spec);
}
engines/nucleus/scss/vendor/bourbon/css3/_animation.scss000060400000004102150753125210017450 0ustar00// http://www.w3.org/TR/css3-animations/#the-animation-name-property-
// Each of these mixins support comma separated lists of values, which allows different transitions for individual properties to be described in a single style rule. Each value in the list corresponds to the value at that same position in the other properties.

@mixin animation($animations...) {
  @include _bourbon-deprecate-for-prefixing("animation");

  @include prefixer(animation, $animations, webkit moz spec);
}

@mixin animation-name($names...) {
  @include _bourbon-deprecate-for-prefixing("animation-name");

  @include prefixer(animation-name, $names, webkit moz spec);
}

@mixin animation-duration($times...) {
  @include _bourbon-deprecate-for-prefixing("animation-duration");

  @include prefixer(animation-duration, $times, webkit moz spec);
}

@mixin animation-timing-function($motions...) {
  @include _bourbon-deprecate-for-prefixing("animation-timing-function");

  // ease | linear | ease-in | ease-out | ease-in-out
  @include prefixer(animation-timing-function, $motions, webkit moz spec);
}

@mixin animation-iteration-count($values...) {
  @include _bourbon-deprecate-for-prefixing("animation-iteration-count");

  // infinite | <number>
  @include prefixer(animation-iteration-count, $values, webkit moz spec);
}

@mixin animation-direction($directions...) {
  @include _bourbon-deprecate-for-prefixing("animation-direction");

  // normal | alternate
  @include prefixer(animation-direction, $directions, webkit moz spec);
}

@mixin animation-play-state($states...) {
  @include _bourbon-deprecate-for-prefixing("animation-play-state");

  // running | paused
  @include prefixer(animation-play-state, $states, webkit moz spec);
}

@mixin animation-delay($times...) {
  @include _bourbon-deprecate-for-prefixing("animation-delay");

  @include prefixer(animation-delay, $times, webkit moz spec);
}

@mixin animation-fill-mode($modes...) {
  @include _bourbon-deprecate-for-prefixing("animation-fill-mode");

  // none | forwards | backwards | both
  @include prefixer(animation-fill-mode, $modes, webkit moz spec);
}
engines/nucleus/scss/vendor/bourbon/css3/_selection.scss000060400000001505150753125210017462 0ustar00/// Outputs the spec and prefixed versions of the `::selection` pseudo-element.
///
/// @param {Bool} $current-selector [false]
///   If set to `true`, it takes the current element into consideration.
///
/// @example scss - Usage
///   .element {
///     selection: true {
///       background-color: #ffbb52;
///     }
///   }
///
/// @example css - CSS Output
///   .element::-moz-selection {
///     background-color: #ffbb52;
///   }
///
///   .element::selection {
///     background-color: #ffbb52;
///   }

@mixin selection($current-selector: false) {
  @include _bourbon-deprecate-for-prefixing("selection");

  @if $current-selector {
    &::-moz-selection {
      @content;
    }

    &::selection {
      @content;
    }
  } @else {
    ::-moz-selection {
      @content;
    }

    ::selection {
      @content;
    }
  }
}
engines/nucleus/scss/vendor/bourbon/css3/_placeholder.scss000060400000000370150753125210017756 0ustar00@mixin placeholder {
  @include _bourbon-deprecate-for-prefixing("placeholder");

  $placeholders: ":-webkit-input" ":-moz" "-moz" "-ms-input";
  @each $placeholder in $placeholders {
    &:#{$placeholder}-placeholder {
      @content;
    }
  }
}
engines/nucleus/scss/vendor/bourbon/css3/_background-image.scss000060400000002566150753125210020704 0ustar00//************************************************************************//
// Background-image property for adding multiple background images with
// gradients, or for stringing multiple gradients together.
//************************************************************************//

@mixin background-image($images...) {
  @include _bourbon-deprecate-for-prefixing("background-image");

  $webkit-images: ();
  $spec-images: ();

  @each $image in $images {
    $webkit-image: ();
    $spec-image: ();

    @if (type-of($image) == string) {
      $url-str:       str-slice($image, 1, 3);
      $gradient-type: str-slice($image, 1, 6);

      @if $url-str == "url" {
        $webkit-image: $image;
        $spec-image:   $image;
      }

      @else if $gradient-type == "linear" {
        $gradients: _linear-gradient-parser($image);
        $webkit-image:  map-get($gradients, webkit-image);
        $spec-image:    map-get($gradients, spec-image);
      }

      @else if $gradient-type == "radial" {
        $gradients: _radial-gradient-parser($image);
        $webkit-image: map-get($gradients, webkit-image);
        $spec-image:   map-get($gradients, spec-image);
      }
    }

    $webkit-images: append($webkit-images, $webkit-image, comma);
    $spec-images:   append($spec-images,   $spec-image,   comma);
  }

  background-image: $webkit-images;
  background-image: $spec-images;
}
engines/nucleus/scss/vendor/bourbon/css3/_transform.scss000060400000001263150753125210017511 0ustar00@mixin transform($property: none) {
  @include _bourbon-deprecate-for-prefixing("transform");

  // none | <transform-function>
  @include prefixer(transform, $property, webkit moz ms o spec);
}

@mixin transform-origin($axes: 50%) {
  @include _bourbon-deprecate-for-prefixing("transform-origin");

  // x-axis - left | center | right  | length | %
  // y-axis - top  | center | bottom | length | %
  // z-axis -                          length
  @include prefixer(transform-origin, $axes, webkit moz ms o spec);
}

@mixin transform-style($style: flat) {
  @include _bourbon-deprecate-for-prefixing("transform-style");

  @include prefixer(transform-style, $style, webkit moz ms o spec);
}
engines/nucleus/scss/vendor/bourbon/css3/_calc.scss000060400000000243150753125210016375 0ustar00@mixin calc($property, $value) {
  @include _bourbon-deprecate-for-prefixing("calc");

  #{$property}: -webkit-calc(#{$value});
  #{$property}: calc(#{$value});
}
engines/nucleus/scss/vendor/bourbon/css3/_columns.scss000060400000003531150753125210017156 0ustar00@mixin columns($arg: auto) {
  @include _bourbon-deprecate-for-prefixing("columns");

  // <column-count> || <column-width>
  @include prefixer(columns, $arg, webkit moz spec);
}

@mixin column-count($int: auto) {
  @include _bourbon-deprecate-for-prefixing("column-count");

  // auto || integer
  @include prefixer(column-count, $int, webkit moz spec);
}

@mixin column-gap($length: normal) {
  @include _bourbon-deprecate-for-prefixing("column-gap");

  // normal || length
  @include prefixer(column-gap, $length, webkit moz spec);
}

@mixin column-fill($arg: auto) {
  @include _bourbon-deprecate-for-prefixing("column-fill");

  // auto || length
  @include prefixer(column-fill, $arg, webkit moz spec);
}

@mixin column-rule($arg) {
  @include _bourbon-deprecate-for-prefixing("column-rule");

  // <border-width> || <border-style> || <color>
  @include prefixer(column-rule, $arg, webkit moz spec);
}

@mixin column-rule-color($color) {
  @include _bourbon-deprecate-for-prefixing("column-rule-color");

  @include prefixer(column-rule-color, $color, webkit moz spec);
}

@mixin column-rule-style($style: none) {
  @include _bourbon-deprecate-for-prefixing("column-rule-style");

  // none | hidden | dashed | dotted | double | groove | inset | inset | outset | ridge | solid
  @include prefixer(column-rule-style, $style, webkit moz spec);
}

@mixin column-rule-width($width: none) {
  @include _bourbon-deprecate-for-prefixing("column-rule-width");

  @include prefixer(column-rule-width, $width, webkit moz spec);
}

@mixin column-span($arg: none) {
  @include _bourbon-deprecate-for-prefixing("column-span");

  // none || all
  @include prefixer(column-span, $arg, webkit moz spec);
}

@mixin column-width($length: auto) {
  @include _bourbon-deprecate-for-prefixing("column-width");

  // auto || length
  @include prefixer(column-width, $length, webkit moz spec);
}
engines/nucleus/scss/vendor/bourbon/css3/_transition.scss000060400000004756150753125210017702 0ustar00// Shorthand mixin. Supports multiple parentheses-deliminated values for each variable.
// Example: @include transition (all 2s ease-in-out);
//          @include transition (opacity 1s ease-in 2s, width 2s ease-out);
//          @include transition-property (transform, opacity);

@mixin transition($properties...) {
  @include _bourbon-deprecate-for-prefixing("transition");

  // Fix for vendor-prefix transform property
  $needs-prefixes: false;
  $webkit: ();
  $moz: ();
  $spec: ();

  // Create lists for vendor-prefixed transform
  @each $list in $properties {
    @if nth($list, 1) == "transform" {
      $needs-prefixes: true;
      $list1: -webkit-transform;
      $list2: -moz-transform;
      $list3: ();

      @each $var in $list {
        $list3: join($list3, $var);

        @if $var != "transform" {
          $list1: join($list1, $var);
          $list2: join($list2, $var);
        }
      }

      $webkit: append($webkit, $list1);
      $moz:    append($moz,    $list2);
      $spec:   append($spec,   $list3);
    } @else {
      $webkit: append($webkit, $list, comma);
      $moz:    append($moz,    $list, comma);
      $spec:   append($spec,   $list, comma);
    }
  }

  @if $needs-prefixes {
    -webkit-transition: $webkit;
       -moz-transition: $moz;
            transition: $spec;
  } @else {
    @if length($properties) >= 1 {
      @include prefixer(transition, $properties, webkit moz spec);
    } @else {
      $properties: all 0.15s ease-out 0s;
      @include prefixer(transition, $properties, webkit moz spec);
    }
  }
}

@mixin transition-property($properties...) {
  @include _bourbon-deprecate-for-prefixing("transition-property");

  -webkit-transition-property: transition-property-names($properties, "webkit");
     -moz-transition-property: transition-property-names($properties, "moz");
          transition-property: transition-property-names($properties, false);
}

@mixin transition-duration($times...) {
  @include _bourbon-deprecate-for-prefixing("transition-duration");

  @include prefixer(transition-duration, $times, webkit moz spec);
}

@mixin transition-timing-function($motions...) {
  @include _bourbon-deprecate-for-prefixing("transition-timing-function");

  // ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier()
  @include prefixer(transition-timing-function, $motions, webkit moz spec);
}

@mixin transition-delay($times...) {
  @include _bourbon-deprecate-for-prefixing("transition-delay");

  @include prefixer(transition-delay, $times, webkit moz spec);
}
engines/nucleus/scss/vendor/bourbon/css3/_text-decoration.scss000060400000001575150753125210020615 0ustar00@mixin text-decoration($value) {
  @include _bourbon-deprecate-for-prefixing("text-decoration");

// <text-decoration-line> || <text-decoration-style> || <text-decoration-color>
  @include prefixer(text-decoration, $value, moz);
}

@mixin text-decoration-line($line: none) {
  @include _bourbon-deprecate-for-prefixing("text-decoration-line");

// none || underline || overline || line-through
  @include prefixer(text-decoration-line, $line, moz);
}

@mixin text-decoration-style($style: solid) {
  @include _bourbon-deprecate-for-prefixing("text-decoration-style");

// solid || double || dotted || dashed || wavy
  @include prefixer(text-decoration-style, $style, moz webkit);
}

@mixin text-decoration-color($color: currentColor) {
  @include _bourbon-deprecate-for-prefixing("text-decoration-color");

// currentColor || <color>
  @include prefixer(text-decoration-color, $color, moz);
}
engines/nucleus/scss/vendor/bourbon/css3/_user-select.scss000060400000000240150753125210017723 0ustar00@mixin user-select($value: none) {
  @include _bourbon-deprecate-for-prefixing("user-select");

  @include prefixer(user-select, $value, webkit moz ms spec);
}
engines/nucleus/scss/vendor/bourbon/css3/_linear-gradient.scss000060400000002535150753125210020546 0ustar00@mixin linear-gradient($pos, $g1, $g2: null,
                       $g3: null, $g4: null,
                       $g5: null, $g6: null,
                       $g7: null, $g8: null,
                       $g9: null, $g10: null,
                       $fallback: null) {
  @include _bourbon-deprecate-for-prefixing("linear-gradient");

  // Detect what type of value exists in $pos
  $pos-type: type-of(nth($pos, 1));
  $pos-spec: null;
  $pos-degree: null;

  // If $pos is missing from mixin, reassign vars and add default position
  @if ($pos-type == color) or (nth($pos, 1) == "transparent")  {
    $g10: $g9; $g9: $g8; $g8: $g7; $g7: $g6; $g6: $g5;
    $g5: $g4; $g4: $g3; $g3: $g2; $g2: $g1; $g1: $pos;
    $pos: null;
  }

  @if $pos {
    $positions: _linear-positions-parser($pos);
    $pos-degree: nth($positions, 1);
    $pos-spec:   nth($positions, 2);
  }

  $full: $g1, $g2, $g3, $g4, $g5, $g6, $g7, $g8, $g9, $g10;

  // Set $g1 as the default fallback color
  $fallback-color: nth($g1, 1);

  // If $fallback is a color use that color as the fallback color
  @if (type-of($fallback) == color) or ($fallback == "transparent") {
    $fallback-color: $fallback;
  }

  background-color: $fallback-color;
  background-image: -webkit-linear-gradient($pos-degree $full); // Safari 5.1+, Chrome
  background-image: unquote("linear-gradient(#{$pos-spec}#{$full})");
}
engines/nucleus/scss/vendor/bourbon/settings/_asset-pipeline.scss000060400000000240150753125210021377 0ustar00/// A global setting to enable or disable the `$asset-pipeline` variable for all functions that accept it.
///
/// @type Bool

$asset-pipeline: false !default;
engines/nucleus/scss/vendor/bourbon/settings/_px-to-em.scss000060400000000031150753125210020121 0ustar00$em-base: 16px !default;
engines/nucleus/scss/vendor/bourbon/settings/_prefixer.scss000060400000000371150753125210020306 0ustar00/// Global variables to enable or disable vendor prefixes

$prefix-for-webkit:    true !default;
$prefix-for-mozilla:   true !default;
$prefix-for-microsoft: true !default;
$prefix-for-opera:     true !default;
$prefix-for-spec:      true !default;
engines/nucleus/scss/vendor/bourbon/settings/_deprecation-warnings.scss000064400000000327150753125210022612 0ustar00/// Enable or disable output of Bourbon’s deprecation-related Sass warnings.
/// This variable must be declared _before_ importing Bourbon.
///
/// @type Bool

$output-bourbon-deprecation-warnings: true !default;
engines/nucleus/scss/vendor/bourbon/_bourbon.scss000060400000005033150753125210016270 0ustar00// Bourbon 4.3.4
// http://bourbon.io
// Copyright 2011-2017 thoughtbot, inc.
// MIT License

@import "settings/deprecation-warnings";
@import "settings/prefixer";
@import "settings/px-to-em";
@import "settings/asset-pipeline";

@import "bourbon-deprecate";

@import "functions/assign-inputs";
@import "functions/contains";
@import "functions/contains-falsy";
@import "functions/is-length";
@import "functions/is-light";
@import "functions/is-number";
@import "functions/is-size";
@import "functions/px-to-em";
@import "functions/px-to-rem";
@import "functions/shade";
@import "functions/strip-units";
@import "functions/tint";
@import "functions/transition-property-name";
@import "functions/unpack";
@import "functions/modular-scale";

@import "helpers/convert-units";
@import "helpers/directional-values";
@import "helpers/font-source-declaration";
@import "helpers/gradient-positions-parser";
@import "helpers/linear-angle-parser";
@import "helpers/linear-gradient-parser";
@import "helpers/linear-positions-parser";
@import "helpers/linear-side-corner-parser";
@import "helpers/radial-arg-parser";
@import "helpers/radial-positions-parser";
@import "helpers/radial-gradient-parser";
@import "helpers/render-gradients";
@import "helpers/shape-size-stripper";
@import "helpers/str-to-num";

@import "css3/animation";
@import "css3/appearance";
@import "css3/backface-visibility";
@import "css3/background";
@import "css3/background-image";
@import "css3/border-image";
@import "css3/calc";
@import "css3/columns";
@import "css3/filter";
@import "css3/flex-box";
@import "css3/font-face";
@import "css3/font-feature-settings";
@import "css3/hidpi-media-query";
@import "css3/hyphens";
@import "css3/image-rendering";
@import "css3/keyframes";
@import "css3/linear-gradient";
@import "css3/perspective";
@import "css3/placeholder";
@import "css3/radial-gradient";
@import "css3/selection";
@import "css3/text-decoration";
@import "css3/transform";
@import "css3/transition";
@import "css3/user-select";

@import "addons/border-color";
@import "addons/border-radius";
@import "addons/border-style";
@import "addons/border-width";
@import "addons/buttons";
@import "addons/clearfix";
@import "addons/ellipsis";
@import "addons/font-stacks";
@import "addons/hide-text";
@import "addons/margin";
@import "addons/padding";
@import "addons/position";
@import "addons/prefixer";
@import "addons/retina-image";
@import "addons/size";
@import "addons/text-inputs";
@import "addons/timing-functions";
@import "addons/triangle";
@import "addons/word-wrap";

@import "bourbon-deprecated-upcoming";
engines/nucleus/scss/vendor/bourbon/helpers/_radial-arg-parser.scss000060400000003715150753125210021566 0ustar00@function _radial-arg-parser($g1, $g2, $pos, $shape-size) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `_radial-arg-parser` is " +
    "deprecated and will be removed in 5.0.0.";
  }

  @each $value in $g1, $g2 {
    $first-val: nth($value, 1);
    $pos-type:  type-of($first-val);
    $spec-at-index: null;

    // Determine if spec was passed to mixin
    @if type-of($value) == list {
      $spec-at-index: if(index($value, at), index($value, at), false);
    }
    @if $spec-at-index {
      @if $spec-at-index > 1 {
        @for $i from 1 through ($spec-at-index - 1) {
          $shape-size: $shape-size nth($value, $i);
        }
        @for $i from ($spec-at-index + 1) through length($value) {
          $pos: $pos nth($value, $i);
        }
      }
      @else if $spec-at-index == 1 {
        @for $i from ($spec-at-index + 1) through length($value) {
          $pos: $pos nth($value, $i);
        }
      }
      $g1: null;
    }

    // If not spec calculate correct values
    @else {
      @if ($pos-type != color) or ($first-val != "transparent") {
        @if ($pos-type == number)
        or ($first-val == "center")
        or ($first-val == "top")
        or ($first-val == "right")
        or ($first-val == "bottom")
        or ($first-val == "left") {

          $pos: $value;

          @if $pos == $g1 {
            $g1: null;
          }
        }

        @else if
           ($first-val == "ellipse")
        or ($first-val == "circle")
        or ($first-val == "closest-side")
        or ($first-val == "closest-corner")
        or ($first-val == "farthest-side")
        or ($first-val == "farthest-corner")
        or ($first-val == "contain")
        or ($first-val == "cover") {

          $shape-size: $value;

          @if $value == $g1 {
            $g1: null;
          }

          @else if $value == $g2 {
            $g2: null;
          }
        }
      }
    }
  }
  @return $g1, $g2, $pos, $shape-size;
}
engines/nucleus/scss/vendor/bourbon/helpers/_gradient-positions-parser.scss000060400000001553150753125210023403 0ustar00@function _gradient-positions-parser($gradient-type, $gradient-positions) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `_gradient-positions-parser` is " +
    "deprecated and will be removed in 5.0.0.";
  }

  $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
  $output-bourbon-deprecation-warnings: false !global;

  @if $gradient-positions
  and ($gradient-type == linear)
  and (type-of($gradient-positions) != color) {
    $gradient-positions: _linear-positions-parser($gradient-positions);
  }
  @else if $gradient-positions
  and ($gradient-type == radial)
  and (type-of($gradient-positions) != color) {
    $gradient-positions: _radial-positions-parser($gradient-positions);
  }

  $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;

  @return $gradient-positions;
}
engines/nucleus/scss/vendor/bourbon/helpers/_linear-angle-parser.scss000060400000002177150753125210022122 0ustar00// Private function for linear-gradient-parser
@function _linear-angle-parser($image, $first-val, $prefix, $suffix) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `_linear-angle-parser` is " +
    "deprecated and will be removed in 5.0.0.";
  }

  $offset: null;
  $unit-short:  str-slice($first-val, str-length($first-val) - 2, str-length($first-val));
  $unit-long:   str-slice($first-val, str-length($first-val) - 3, str-length($first-val));

  @if ($unit-long == "grad") or
      ($unit-long == "turn") {
    $offset: if($unit-long == "grad", -100grad * 3, -0.75turn);
  }

  @else if ($unit-short == "deg") or
           ($unit-short == "rad") {
    $offset: if($unit-short == "deg", -90 * 3, 1.6rad);
  }

  @if $offset {
    $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
    $output-bourbon-deprecation-warnings: false !global;

    $num: _str-to-num($first-val);

    $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;

    @return (
      webkit-image: -webkit- + $prefix + ($offset - $num) + $suffix,
      spec-image: $image
    );
  }
}
engines/nucleus/scss/vendor/bourbon/helpers/_str-to-num.scss000060400000002577150753125210020323 0ustar00//************************************************************************//
// Helper function for linear/radial-gradient-parsers.
// Source: http://sassmeister.com/gist/9647408
//************************************************************************//
@function _str-to-num($string) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `_str-to-num` is " +
    "deprecated and will be removed in 5.0.0.";
  }

  // Matrices
  $strings: "0" "1" "2" "3" "4" "5" "6" "7" "8" "9";
  $numbers:  0   1   2   3   4   5   6   7   8   9;

  // Result
  $result: 0;
  $divider: 0;
  $minus: false;

  // Looping through all characters
  @for $i from 1 through str-length($string) {
    $character: str-slice($string, $i, $i);
    $index: index($strings, $character);

    @if $character == "-" {
      $minus: true;
    }

    @else if $character == "." {
      $divider: 1;
    }

    @else {
      @if not $index {
        $result: if($minus, $result * -1, $result);
        @return _convert-units($result, str-slice($string, $i));
      }

      $number: nth($numbers, $index);

      @if $divider == 0 {
        $result: $result * 10;
      }

      @else {
        // Move the decimal dot to the left
        $divider: $divider * 10;
        $number: $number / $divider;
      }

      $result: $result + $number;
    }
  }
  @return if($minus, $result * -1, $result);
}
engines/nucleus/scss/vendor/bourbon/helpers/_font-source-declaration.scss000060400000002555150753125210023021 0ustar00// Used for creating the source string for fonts using @font-face
// Reference: http://goo.gl/Ru1bKP

@function font-url-prefixer($asset-pipeline) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `font-url-prefixer` is deprecated and " +
    "will be removed in 5.0.0.";
  }

  @if $asset-pipeline == true {
    @return font-url;
  } @else {
    @return url;
  }
}

@function font-source-declaration(
  $font-family,
  $file-path,
  $asset-pipeline,
  $file-formats,
  $font-url) {

  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `font-source-declaration` is deprecated " +
    "and will be removed in 5.0.0.";
  }

  $src: ();

  $formats-map: (
    eot:   "#{$file-path}.eot?#iefix" format("embedded-opentype"),
    woff2: "#{$file-path}.woff2" format("woff2"),
    woff:  "#{$file-path}.woff" format("woff"),
    ttf:   "#{$file-path}.ttf" format("truetype"),
    svg:   "#{$file-path}.svg##{$font-family}" format("svg")
  );

  @each $key, $values in $formats-map {
    @if contains($file-formats, $key) {
      $file-path: nth($values, 1);
      $font-format: nth($values, 2);

      @if $asset-pipeline == true {
        $src: append($src, font-url($file-path) $font-format, comma);
      } @else {
        $src: append($src, url($file-path) $font-format, comma);
      }
    }
  }

  @return $src;
}
engines/nucleus/scss/vendor/bourbon/helpers/_convert-units.scss000060400000001721150753125210021104 0ustar00//************************************************************************//
// Helper function for str-to-num fn.
// Source: http://sassmeister.com/gist/9647408
//************************************************************************//
@function _convert-units($number, $unit) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `_convert-units` is deprecated and will " +
    "be removed in 5.0.0.";
  }

  $strings: "px", "cm", "mm", "%", "ch", "pica", "in", "em", "rem", "pt", "pc", "ex", "vw", "vh", "vmin", "vmax", "deg", "rad", "grad", "turn";
  $units:   1px, 1cm, 1mm, 1%, 1ch, 1pica, 1in, 1em, 1rem, 1pt, 1pc, 1ex, 1vw, 1vh, 1vmin, 1vmax, 1deg, 1rad, 1grad, 1turn;
  $index: index($strings, $unit);

  @if not $index {
    @warn "Unknown unit `#{$unit}`.";
    @return false;
  }

  @if type-of($number) != "number" {
    @warn "`#{$number} is not a number`";
    @return false;
  }

  @return $number * nth($units, $index);
}
engines/nucleus/scss/vendor/bourbon/helpers/_radial-gradient-parser.scss000060400000002660150753125210022610 0ustar00@function _radial-gradient-parser($image) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `_radial-gradient-parser` is " +
    "deprecated and will be removed in 5.0.0.";
  }

  $image: unquote($image);
  $gradients: ();
  $start: str-index($image, "(");
  $end: str-index($image, ",");
  $first-val: str-slice($image, $start + 1, $end - 1);

  $prefix: str-slice($image, 1, $start);
  $suffix: str-slice($image, $end, str-length($image));

  $is-spec-syntax: str-index($first-val, "at");

  @if $is-spec-syntax and $is-spec-syntax > 1 {
    $keyword: str-slice($first-val, 1, $is-spec-syntax - 2);
    $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val));
    $pos: append($pos, $keyword, comma);

    $gradients: (
      webkit-image: -webkit- + $prefix + $pos + $suffix,
      spec-image: $image
    );
  }

  @else if $is-spec-syntax == 1 {
    $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val));

    $gradients: (
      webkit-image: -webkit- + $prefix + $pos + $suffix,
      spec-image: $image
    );
  }

  @else if str-index($image, "cover") or str-index($image, "contain") {
    @warn "Radial-gradient needs to be updated to conform to latest spec.";

    $gradients: (
      webkit-image: null,
      spec-image: $image
    );
  }

  @else {
    $gradients: (
      webkit-image: -webkit- + $image,
      spec-image: $image
    );
  }

  @return $gradients;
}
engines/nucleus/scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss000060400000002435150753125210023243 0ustar00// Private function for linear-gradient-parser
@function _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `_linear-side-corner-parser` is " +
    "deprecated and will be removed in 5.0.0.";
  }

  $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
  $output-bourbon-deprecation-warnings: false !global;

  $val-1: str-slice($first-val, 1, $has-multiple-vals - 1);
  $val-2: str-slice($first-val, $has-multiple-vals + 1, str-length($first-val));
  $val-3: null;
  $has-val-3: str-index($val-2, " ");

  @if $has-val-3 {
    $val-3: str-slice($val-2, $has-val-3 + 1, str-length($val-2));
    $val-2: str-slice($val-2, 1, $has-val-3 - 1);
  }

  $pos: _position-flipper($val-1) _position-flipper($val-2) _position-flipper($val-3);
  $pos: unquote($pos + "");

  $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;

  // Use old spec for webkit
  @if $val-1 == "to" {
    @return (
      webkit-image: -webkit- + $prefix + $pos + $suffix,
      spec-image: $image
    );
  }

  // Bring the code up to spec
  @else {
    @return (
      webkit-image: -webkit- + $image,
      spec-image: $prefix + "to " + $pos + $suffix
    );
  }
}
engines/nucleus/scss/vendor/bourbon/helpers/_render-gradients.scss000060400000001765150753125210021531 0ustar00// User for linear and radial gradients within background-image or border-image properties

@function _render-gradients($gradient-positions, $gradients, $gradient-type, $vendor: false) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `_render-gradients` is " +
    "deprecated and will be removed in 5.0.0.";
  }

  $pre-spec: null;
  $spec: null;
  $vendor-gradients: null;
  @if $gradient-type == linear {
    @if $gradient-positions {
      $pre-spec: nth($gradient-positions, 1);
      $spec:     nth($gradient-positions, 2);
    }
  }
  @else if $gradient-type == radial {
    $pre-spec: nth($gradient-positions, 1);
    $spec:     nth($gradient-positions, 2);
  }

  @if $vendor {
    $vendor-gradients: -#{$vendor}-#{$gradient-type}-gradient(#{$pre-spec} $gradients);
  }
  @else if $vendor == false {
    $vendor-gradients: "#{$gradient-type}-gradient(#{$spec} #{$gradients})";
    $vendor-gradients: unquote($vendor-gradients);
  }
  @return $vendor-gradients;
}
engines/nucleus/scss/vendor/bourbon/helpers/_directional-values.scss000060400000006065150753125210022064 0ustar00/// Directional-property mixins are shorthands for writing properties like the following
///
/// @ignore You can also use `false` instead of `null`.
///
/// @param {List} $vals
///   List of directional values
///
/// @example scss - Usage
///   .element {
///     @include border-style(dotted null);
///     @include margin(null 0 10px);
///   }
///
/// @example css - CSS Output
///   .element {
///     border-bottom-style: dotted;
///     border-top-style: dotted;
///     margin-bottom: 10px;
///     margin-left: 0;
///     margin-right: 0;
///   }
///
/// @require {function} contains-falsy
///
/// @return {List}

@function collapse-directionals($vals) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `collapse-directionals` is deprecated and " +
    "will be removed in 5.0.0.";
  }

  $output: null;

  $a: nth($vals, 1);
  $b: if(length($vals) < 2, $a, nth($vals, 2));
  $c: if(length($vals) < 3, $a, nth($vals, 3));
  $d: if(length($vals) < 2, $a, nth($vals, if(length($vals) < 4, 2, 4)));

  @if $a == 0 { $a: 0; }
  @if $b == 0 { $b: 0; }
  @if $c == 0 { $c: 0; }
  @if $d == 0 { $d: 0; }

  @if $a == $b and $a == $c and $a == $d { $output: $a;          }
  @else if $a == $c and $b == $d         { $output: $a $b;       }
  @else if $b == $d                      { $output: $a $b $c;    }
  @else                                  { $output: $a $b $c $d; }

  @return $output;
}

/// Output directional properties, for instance `margin`.
///
/// @access private
///
/// @param {String} $pre
///   Prefix to use
/// @param {String} $suf
///   Suffix to use
/// @param {List} $vals
///   List of values
///
/// @require {function} collapse-directionals
/// @require {function} contains-falsy

@mixin directional-property($pre, $suf, $vals) {
  @include _bourbon-deprecate("directional-property");

  $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
  $output-bourbon-deprecation-warnings: false !global;

  // Property Names
  $top:    $pre + "-top"    + if($suf, "-#{$suf}", "");
  $bottom: $pre + "-bottom" + if($suf, "-#{$suf}", "");
  $left:   $pre + "-left"   + if($suf, "-#{$suf}", "");
  $right:  $pre + "-right"  + if($suf, "-#{$suf}", "");
  $all:    $pre +             if($suf, "-#{$suf}", "");

  $vals: collapse-directionals($vals);

  @if contains-falsy($vals) {
    @if nth($vals, 1) { #{$top}: nth($vals, 1); }

    @if length($vals) == 1 {
      @if nth($vals, 1) { #{$right}: nth($vals, 1); }
    } @else {
      @if nth($vals, 2) { #{$right}: nth($vals, 2); }
    }

    @if length($vals) == 2 {
      @if nth($vals, 1) { #{$bottom}: nth($vals, 1); }
      @if nth($vals, 2) { #{$left}:   nth($vals, 2); }
    } @else if length($vals) == 3 {
      @if nth($vals, 3) { #{$bottom}: nth($vals, 3); }
      @if nth($vals, 2) { #{$left}:   nth($vals, 2); }
    } @else if length($vals) == 4 {
      @if nth($vals, 3) { #{$bottom}: nth($vals, 3); }
      @if nth($vals, 4) { #{$left}:   nth($vals, 4); }
    }
  } @else {
    #{$all}: $vals;
  }

  $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;
}
engines/nucleus/scss/vendor/bourbon/helpers/_linear-gradient-parser.scss000060400000002710150753125210022622 0ustar00@function _linear-gradient-parser($image) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `_linear-gradient-parser` is " +
    "deprecated and will be removed in 5.0.0.";
  }

  $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
  $output-bourbon-deprecation-warnings: false !global;

  $image: unquote($image);
  $gradients: ();
  $start: str-index($image, "(");
  $end: str-index($image, ",");
  $first-val: str-slice($image, $start + 1, $end - 1);

  $prefix: str-slice($image, 1, $start);
  $suffix: str-slice($image, $end, str-length($image));

  $has-multiple-vals: str-index($first-val, " ");
  $has-single-position: unquote(_position-flipper($first-val) + "");
  $has-angle: is-number(str-slice($first-val, 1, 1));

  @if $has-multiple-vals {
    $gradients: _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals);
  }

  @else if $has-single-position != "" {
    $pos: unquote($has-single-position + "");

    $gradients: (
      webkit-image: -webkit- + $image,
      spec-image: $prefix + "to " + $pos + $suffix
    );
  }

  @else if $has-angle {
    // Rotate degree for webkit
    $gradients: _linear-angle-parser($image, $first-val, $prefix, $suffix);
  }

  @else {
    $gradients: (
      webkit-image: -webkit- + $image,
      spec-image: $image
    );
  }

  $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;

  @return $gradients;
}
engines/nucleus/scss/vendor/bourbon/helpers/_shape-size-stripper.scss000060400000000675150753125210022211 0ustar00@function _shape-size-stripper($shape-size) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `_shape-size-stripper` is " +
    "deprecated and will be removed in 5.0.0.";
  }

  $shape-size-spec: null;
  @each $value in $shape-size {
    @if ($value == "cover") or ($value == "contain") {
      $value: null;
    }
    $shape-size-spec: "#{$shape-size-spec} #{$value}";
  }
  @return $shape-size-spec;
}
engines/nucleus/scss/vendor/bourbon/helpers/_linear-positions-parser.scss000060400000004772150753125210023066 0ustar00@function _linear-positions-parser($pos) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `_linear-positions-parser` is " +
    "deprecated and will be removed in 5.0.0.";
  }

  $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
  $output-bourbon-deprecation-warnings: false !global;

  $type: type-of(nth($pos, 1));
  $spec: null;
  $degree: null;
  $side: null;
  $corner: null;
  $length: length($pos);
  // Parse Side and corner positions
  @if ($length > 1) {
    @if nth($pos, 1) == "to" { // Newer syntax
      $side: nth($pos, 2);

      @if $length == 2 { // eg. to top
        // Swap for backwards compatibility
        $degree: _position-flipper(nth($pos, 2));
      }
      @else if $length == 3 { // eg. to top left
        $corner: nth($pos, 3);
      }
    }
    @else if $length == 2 { // Older syntax ("top left")
      $side: _position-flipper(nth($pos, 1));
      $corner: _position-flipper(nth($pos, 2));
    }

    @if ("#{$side} #{$corner}" == "left top") or ("#{$side} #{$corner}" == "top left") {
      $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});
    }
    @else if ("#{$side} #{$corner}" == "right top") or ("#{$side} #{$corner}" == "top right") {
      $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});
    }
    @else if ("#{$side} #{$corner}" == "right bottom") or ("#{$side} #{$corner}" == "bottom right") {
      $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});
    }
    @else if ("#{$side} #{$corner}" == "left bottom") or ("#{$side} #{$corner}" == "bottom left") {
      $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});
    }
    $spec: to $side $corner;
  }
  @else if $length == 1 {
    // Swap for backwards compatibility
    @if $type == string {
      $degree: $pos;
      $spec: to _position-flipper($pos);
    }
    @else {
      $degree: -270 - $pos; //rotate the gradient opposite from spec
      $spec: $pos;
    }
  }
  $degree: unquote($degree + ",");
  $spec:   unquote($spec + ",");

  $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;

  @return $degree $spec;
}

@function _position-flipper($pos) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `_position-flipper` is " +
    "deprecated and will be removed in 5.0.0.";
  }

  @return if($pos == left, right, null)
         if($pos == right, left, null)
         if($pos == top, bottom, null)
         if($pos == bottom, top, null);
}
engines/nucleus/scss/vendor/bourbon/helpers/_radial-positions-parser.scss000060400000001555150753125210023044 0ustar00@function _radial-positions-parser($gradient-pos) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `_radial-positions-parser` is " +
    "deprecated and will be removed in 5.0.0.";
  }

  $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
  $output-bourbon-deprecation-warnings: false !global;

  $shape-size: nth($gradient-pos, 1);
  $pos:        nth($gradient-pos, 2);
  $shape-size-spec: _shape-size-stripper($shape-size);

  $pre-spec: unquote(if($pos, "#{$pos}, ", null))
             unquote(if($shape-size, "#{$shape-size},", null));
  $pos-spec: if($pos, "at #{$pos}", null);

  $spec: "#{$shape-size-spec} #{$pos-spec}";

  // Add comma
  @if ($spec != "  ") {
    $spec: "#{$spec},";
  }

  $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;

  @return $pre-spec $spec;
}
engines/nucleus/scss/vendor/bourbon/_bourbon-deprecate.scss000064400000001131150753125210020221 0ustar00/// Throws Sass warnings to announce library deprecations. You can disable them
/// by setting the `$output-bourbon-deprecation-warnings` variable to `false`.
///
/// @access private
@mixin _bourbon-deprecate($feature, $message: null) {
  @if $output-bourbon-deprecation-warnings == true {
    @warn "[Bourbon] [Deprecation] `#{$feature}` is deprecated and will be " +
      "removed in 5.0.0. #{$message}";
    @content;
  }
}

@mixin _bourbon-deprecate-for-prefixing($feature) {
  @include _bourbon-deprecate($feature, "We suggest using an automated " +
    "prefixing tool, like Autoprefixer.");
}
engines/nucleus/scss/vendor/bourbon/addons/_hide-text.scss000060400000001344150753125210017766 0ustar00/// Hides the text in an element, commonly used to show an image. Some elements will need block-level styles applied.
///
/// @link http://zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement
///
/// @example scss - Usage
///   .element {
///     @include hide-text;
///   }
///
/// @example css - CSS Output
///   .element {
///     overflow: hidden;
///     text-indent: 101%;
///     white-space: nowrap;
///   }
///
/// @todo Remove height argument in v5.0.0

@mixin hide-text($height: null) {
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap;

  @if $height {
    @warn "The `hide-text` mixin has changed and no longer requires a height. The height argument will no longer be accepted in v5.0.0";
  }
}
engines/nucleus/scss/vendor/bourbon/addons/_ellipsis.scss000060400000001212150753125210017711 0ustar00/// Truncates text and adds an ellipsis to represent overflow.
///
/// @param {Number} $width [100%]
///   Max-width for the string to respect before being truncated
///
/// @example scss - Usage
///   .element {
///     @include ellipsis;
///   }
///
/// @example css - CSS Output
///   .element {
///     display: inline-block;
///     max-width: 100%;
///     overflow: hidden;
///     text-overflow: ellipsis;
///     white-space: nowrap;
///     word-wrap: normal;
///   }

@mixin ellipsis($width: 100%) {
  display: inline-block;
  max-width: $width;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-wrap: normal;
}
engines/nucleus/scss/vendor/bourbon/addons/_text-inputs.scss000060400000007130150753125210020376 0ustar00/// Generates variables for all text-based inputs. Please note that you must use interpolation on the variable: `#{$all-text-inputs}`.
///
/// @example scss - Usage
///   #{$all-text-inputs} {
///     border: 1px solid #f00;
///   }
///
///   #{$all-text-inputs-focus},
///   #{$all-text-inputs-hover} {
///     border: 1px solid #0f0;
///   }
///
///   #{$all-text-inputs-active} {
///     border: 1px solid #00f;
///   }
///
/// @example css - CSS Output
///   input[type="color"],
///   input[type="date"],
///   input[type="datetime"],
///   input[type="datetime-local"],
///   input[type="email"],
///   input[type="month"],
///   input[type="number"],
///   input[type="password"],
///   input[type="search"],
///   input[type="tel"],
///   input[type="text"],
///   input[type="time"],
///   input[type="url"],
///   input[type="week"],
///   textarea {
///     border: 1px solid #f00;
///   }
///
///   input[type="color"]:focus,
///   input[type="date"]:focus,
///   input[type="datetime"]:focus,
///   input[type="datetime-local"]:focus,
///   input[type="email"]:focus,
///   input[type="month"]:focus,
///   input[type="number"]:focus,
///   input[type="password"]:focus,
///   input[type="search"]:focus,
///   input[type="tel"]:focus,
///   input[type="text"]:focus,
///   input[type="time"]:focus,
///   input[type="url"]:focus,
///   input[type="week"]:focus,
///   textarea:focus,
///   input[type="color"]:hover,
///   input[type="date"]:hover,
///   input[type="datetime"]:hover,
///   input[type="datetime-local"]:hover,
///   input[type="email"]:hover,
///   input[type="month"]:hover,
///   input[type="number"]:hover,
///   input[type="password"]:hover,
///   input[type="search"]:hover,
///   input[type="tel"]:hover,
///   input[type="text"]:hover,
///   input[type="time"]:hover,
///   input[type="url"]:hover,
///   input[type="week"]:hover,
///   textarea:hover {
///     border: 1px solid #0f0;
///   }
///
///   input[type="color"]:active,
///   input[type="date"]:active,
///   input[type="datetime"]:active,
///   input[type="datetime-local"]:active,
///   input[type="email"]:active,
///   input[type="month"]:active,
///   input[type="number"]:active,
///   input[type="password"]:active,
///   input[type="search"]:active,
///   input[type="tel"]:active,
///   input[type="text"]:active,
///   input[type="time"]:active,
///   input[type="url"]:active,
///   input[type="week"]:active,
///   textarea:active {
///     border: 1px solid #00f;
///   }
///
/// @require assign-inputs
///
/// @type List

$text-inputs-list: 'input[type="color"]',
                   'input[type="date"]',
                   'input[type="datetime"]',
                   'input[type="datetime-local"]',
                   'input[type="email"]',
                   'input[type="month"]',
                   'input[type="number"]',
                   'input[type="password"]',
                   'input[type="search"]',
                   'input[type="tel"]',
                   'input[type="text"]',
                   'input[type="time"]',
                   'input[type="url"]',
                   'input[type="week"]',
                   'input:not([type])',
                   'textarea';

$user-output-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
$output-bourbon-deprecation-warnings: false;

$all-text-inputs:        assign-inputs($text-inputs-list);
$all-text-inputs-active: assign-inputs($text-inputs-list, active);
$all-text-inputs-focus:  assign-inputs($text-inputs-list, focus);
$all-text-inputs-hover:  assign-inputs($text-inputs-list, hover);

$output-bourbon-deprecation-warnings: $user-output-deprecation-warnings-setting;
engines/nucleus/scss/vendor/bourbon/addons/_word-wrap.scss000060400000001102150753125210020005 0ustar00/// Provides an easy way to change the `word-wrap` property.
///
/// @param {String} $wrap [break-word]
///   Value for the `word-break` property.
///
/// @example scss - Usage
///   .wrapper {
///     @include word-wrap(break-word);
///   }
///
/// @example css - CSS Output
///   .wrapper {
///     overflow-wrap: break-word;
///     word-break: break-all;
///     word-wrap: break-word;
///   }

@mixin word-wrap($wrap: break-word) {
  overflow-wrap: $wrap;
  word-wrap: $wrap;

  @if $wrap == break-word {
    word-break: break-all;
  } @else {
    word-break: $wrap;
  }
}
engines/nucleus/scss/vendor/bourbon/addons/_clearfix.scss000060400000000665150753125210017675 0ustar00/// Provides an easy way to include a clearfix for containing floats.
///
/// @link http://cssmojo.com/latest_new_clearfix_so_far/
///
/// @example scss - Usage
///   .element {
///     @include clearfix;
///   }
///
/// @example css - CSS Output
///   .element::after {
///     clear: both;
///     content: "";
///     display: table;
///   }

@mixin clearfix {
  &::after {
    clear: both;
    content: "";
    display: table;
  }
}
engines/nucleus/scss/vendor/bourbon/addons/_border-radius.scss000060400000002034150753125210020632 0ustar00/// Provides a quick method for targeting `border-radius` on both corners on the side of a box.
///
/// @param {Number} $radii
///   List of arguments
///
/// @example scss - Usage
///   .element-one {
///     @include border-top-radius(5px);
///   }
///
///   .element-two {
///     @include border-left-radius(3px);
///   }
///
/// @example css - CSS Output
///   .element-one {
///     border-top-left-radius: 5px;
///     border-top-right-radius: 5px;
///   }
///
///   .element-two {
///     border-bottom-left-radius: 3px;
///     border-top-left-radius: 3px;
///   }
///
/// @output `border-radius`

@mixin border-top-radius($radii) {
  border-top-left-radius: $radii;
  border-top-right-radius: $radii;
}

@mixin border-right-radius($radii) {
  border-bottom-right-radius: $radii;
  border-top-right-radius: $radii;
}

@mixin border-bottom-radius($radii) {
  border-bottom-left-radius: $radii;
  border-bottom-right-radius: $radii;
}

@mixin border-left-radius($radii) {
  border-bottom-left-radius: $radii;
  border-top-left-radius: $radii;
}
engines/nucleus/scss/vendor/bourbon/addons/_triangle.scss000060400000004751150753125210017705 0ustar00@mixin triangle($size, $color, $direction) {
  $width: nth($size, 1);
  $height: nth($size, length($size));
  $foreground-color: nth($color, 1);
  $background-color: if(length($color) == 2, nth($color, 2), transparent);
  height: 0;
  width: 0;

  @if ($direction == up) or ($direction == down) or ($direction == right) or ($direction == left) {
    $width: $width / 2;
    $height: if(length($size) > 1, $height, $height/2);

    @if $direction == up {
      border-bottom: $height solid $foreground-color;
      border-left: $width solid $background-color;
      border-right: $width solid $background-color;
    } @else if $direction == right {
      border-bottom: $width solid $background-color;
      border-left: $height solid $foreground-color;
      border-top: $width solid $background-color;
    } @else if $direction == down {
      border-left: $width solid $background-color;
      border-right: $width solid $background-color;
      border-top: $height solid $foreground-color;
    } @else if $direction == left {
      border-bottom: $width solid $background-color;
      border-right: $height solid $foreground-color;
      border-top: $width solid $background-color;
    }
  } @else if ($direction == up-right) or ($direction == up-left) {
    border-top: $height solid $foreground-color;

    @if $direction == up-right {
      border-left:  $width solid $background-color;
    } @else if $direction == up-left {
      border-right: $width solid $background-color;
    }
  } @else if ($direction == down-right) or ($direction == down-left) {
    border-bottom: $height solid $foreground-color;

    @if $direction == down-right {
      border-left:  $width solid $background-color;
    } @else if $direction == down-left {
      border-right: $width solid $background-color;
    }
  } @else if ($direction == inset-up) {
    border-color: $background-color $background-color $foreground-color;
    border-style: solid;
    border-width: $height $width;
  } @else if ($direction == inset-down) {
    border-color: $foreground-color $background-color $background-color;
    border-style: solid;
    border-width: $height $width;
  } @else if ($direction == inset-right) {
    border-color: $background-color $background-color $background-color $foreground-color;
    border-style: solid;
    border-width: $width $height;
  } @else if ($direction == inset-left) {
    border-color: $background-color $foreground-color $background-color $background-color;
    border-style: solid;
    border-width: $width $height;
  }
}
engines/nucleus/scss/vendor/bourbon/addons/_border-style.scss000060400000001440150753125210020503 0ustar00/// Provides a quick method for targeting `border-style` on specific sides of a box. Use a `null` value to “skip” a side.
///
/// @param {Arglist} $vals
///   List of arguments
///
/// @example scss - Usage
///   .element {
///     @include border-style(dashed null solid);
///   }
///
/// @example css - CSS Output
///   .element {
///     border-bottom-style: solid;
///     border-top-style: dashed;
///   }
///
/// @require {mixin} directional-property
///
/// @output `border-style`

@mixin border-style($vals...) {
  $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
  $output-bourbon-deprecation-warnings: false !global;
  @include directional-property(border, style, $vals...);
  $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;
}
engines/nucleus/scss/vendor/bourbon/addons/_buttons.scss000060400000003563150753125210017576 0ustar00/// Generates variables for all buttons. Please note that you must use interpolation on the variable: `#{$all-buttons}`.
///
/// @example scss - Usage
///   #{$all-buttons} {
///     background-color: #f00;
///   }
///
///   #{$all-buttons-focus},
///   #{$all-buttons-hover} {
///     background-color: #0f0;
///   }
///
///   #{$all-buttons-active} {
///     background-color: #00f;
///   }
///
/// @example css - CSS Output
///   button,
///   input[type="button"],
///   input[type="reset"],
///   input[type="submit"] {
///     background-color: #f00;
///   }
///
///   button:focus,
///   input[type="button"]:focus,
///   input[type="reset"]:focus,
///   input[type="submit"]:focus,
///   button:hover,
///   input[type="button"]:hover,
///   input[type="reset"]:hover,
///   input[type="submit"]:hover {
///     background-color: #0f0;
///   }
///
///   button:active,
///   input[type="button"]:active,
///   input[type="reset"]:active,
///   input[type="submit"]:active {
///     background-color: #00f;
///   }
///
/// @require assign-inputs
///
/// @type List
///
/// @todo Remove double assigned variables (Lines 59–62) in v5.0.0

$buttons-list: 'button',
               'input[type="button"]',
               'input[type="reset"]',
               'input[type="submit"]';

$user-output-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
$output-bourbon-deprecation-warnings: false;

$all-buttons:        assign-inputs($buttons-list);
$all-buttons-active: assign-inputs($buttons-list, active);
$all-buttons-focus:  assign-inputs($buttons-list, focus);
$all-buttons-hover:  assign-inputs($buttons-list, hover);

$output-bourbon-deprecation-warnings: $user-output-deprecation-warnings-setting;

$all-button-inputs:        $all-buttons;
$all-button-inputs-active: $all-buttons-active;
$all-button-inputs-focus:  $all-buttons-focus;
$all-button-inputs-hover:  $all-buttons-hover;
engines/nucleus/scss/vendor/bourbon/addons/_position.scss000060400000002462150753125210017741 0ustar00/// Provides a quick method for setting an element’s position. Use a `null` value to “skip” a side.
///
/// @param {Position} $position [relative]
///   A CSS position value
///
/// @param {Arglist} $coordinates [null null null null]
///   List of values that correspond to the 4-value syntax for the edges of a box
///
/// @example scss - Usage
///   .element {
///     @include position(absolute, 0 null null 10em);
///   }
///
/// @example css - CSS Output
///   .element {
///     left: 10em;
///     position: absolute;
///     top: 0;
///   }
///
/// @require {function} is-length
/// @require {function} unpack

@mixin position($position: relative, $coordinates: null null null null) {
  @if type-of($position) == list {
    $coordinates: $position;
    $position: relative;
  }

  $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
  $output-bourbon-deprecation-warnings: false !global;
  $coordinates: unpack($coordinates);

  $offsets: (
    top:    nth($coordinates, 1),
    right:  nth($coordinates, 2),
    bottom: nth($coordinates, 3),
    left:   nth($coordinates, 4)
  );

  position: $position;

  @each $offset, $value in $offsets {
    @if is-length($value) {
      #{$offset}: $value;
    }
  }
  $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;
}
engines/nucleus/scss/vendor/bourbon/addons/_size.scss000060400000002432150753125210017044 0ustar00/// Sets the `width` and `height` of the element.
///
/// @param {List} $size
///   A list of at most 2 size values.
///
///   If there is only a single value in `$size` it is used for both width and height. All units are supported.
///
/// @example scss - Usage
///   .first-element {
///     @include size(2em);
///   }
///
///   .second-element {
///     @include size(auto 10em);
///   }
///
/// @example css - CSS Output
///   .first-element {
///     width: 2em;
///     height: 2em;
///   }
///
///   .second-element {
///     width: auto;
///     height: 10em;
///   }
///
/// @todo Refactor in 5.0.0 to use a comma-separated argument

@mixin size($value) {
  $width: nth($value, 1);
  $height: $width;

  @if length($value) > 1 {
    $height: nth($value, 2);
  }

  $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
  $output-bourbon-deprecation-warnings: false !global;

  @if is-size($height) {
    height: $height;
  } @else {
    @warn "`#{$height}` is not a valid length for the `$height` parameter in the `size` mixin.";
  }

  @if is-size($width) {
    width: $width;
  } @else {
    @warn "`#{$width}` is not a valid length for the `$width` parameter in the `size` mixin.";
  }

  $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;
}
engines/nucleus/scss/vendor/bourbon/addons/_font-stacks.scss000060400000001067150753125210020331 0ustar00/// Georgia font stack.
///
/// @type List

$georgia: "Georgia", "Cambria", "Times New Roman", "Times", serif;

/// Helvetica font stack.
///
/// @type List

$helvetica: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;

/// Lucida Grande font stack.
///
/// @type List

$lucida-grande: "Lucida Grande", "Tahoma", "Verdana", "Arial", sans-serif;

/// Monospace font stack.
///
/// @type List

$monospace: "Bitstream Vera Sans Mono", "Consolas", "Courier", monospace;

/// Verdana font stack.
///
/// @type List

$verdana: "Verdana", "Geneva", sans-serif;
engines/nucleus/scss/vendor/bourbon/addons/_padding.scss000060400000001432150753125210017477 0ustar00/// Provides a quick method for targeting `padding` on specific sides of a box. Use a `null` value to “skip” a side.
///
/// @param {Arglist} $vals
///   List of arguments
///
/// @example scss - Usage
///   .element {
///     @include padding(12vh null 10px 5%);
///   }
///
/// @example css - CSS Output
///   .element {
///     padding-bottom: 10px;
///     padding-left: 5%;
///     padding-top: 12vh;
///   }
///
/// @require {mixin} directional-property
///
/// @output `padding`

@mixin padding($vals...) {
  $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
  $output-bourbon-deprecation-warnings: false !global;
  @include directional-property(padding, false, $vals...);
  $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;
}
engines/nucleus/scss/vendor/bourbon/addons/_border-color.scss000060400000001521150753125210020461 0ustar00/// Provides a quick method for targeting `border-color` on specific sides of a box. Use a `null` value to “skip” a side.
///
/// @param {Arglist} $vals
///   List of arguments
///
/// @example scss - Usage
///   .element {
///     @include border-color(#a60b55 #76cd9c null #e8ae1a);
///   }
///
/// @example css - CSS Output
///   .element {
///     border-left-color: #e8ae1a;
///     border-right-color: #76cd9c;
///     border-top-color: #a60b55;
///   }
///
/// @require {mixin} directional-property
///
/// @output `border-color`

@mixin border-color($vals...) {
  $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
  $output-bourbon-deprecation-warnings: false !global;
  @include directional-property(border, color, $vals...);
  $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;
}
engines/nucleus/scss/vendor/bourbon/addons/_timing-functions.scss000060400000003336150753125210021373 0ustar00/// CSS cubic-bezier timing functions. Timing functions courtesy of jquery.easie (github.com/jaukia/easie)
///
/// Timing functions are the same as demoed here: http://jqueryui.com/resources/demos/effect/easing.html
///
/// @type cubic-bezier

$ease-in-quad:      cubic-bezier(0.550,  0.085, 0.680, 0.530);
$ease-in-cubic:     cubic-bezier(0.550,  0.055, 0.675, 0.190);
$ease-in-quart:     cubic-bezier(0.895,  0.030, 0.685, 0.220);
$ease-in-quint:     cubic-bezier(0.755,  0.050, 0.855, 0.060);
$ease-in-sine:      cubic-bezier(0.470,  0.000, 0.745, 0.715);
$ease-in-expo:      cubic-bezier(0.950,  0.050, 0.795, 0.035);
$ease-in-circ:      cubic-bezier(0.600,  0.040, 0.980, 0.335);
$ease-in-back:      cubic-bezier(0.600, -0.280, 0.735, 0.045);

$ease-out-quad:     cubic-bezier(0.250,  0.460, 0.450, 0.940);
$ease-out-cubic:    cubic-bezier(0.215,  0.610, 0.355, 1.000);
$ease-out-quart:    cubic-bezier(0.165,  0.840, 0.440, 1.000);
$ease-out-quint:    cubic-bezier(0.230,  1.000, 0.320, 1.000);
$ease-out-sine:     cubic-bezier(0.390,  0.575, 0.565, 1.000);
$ease-out-expo:     cubic-bezier(0.190,  1.000, 0.220, 1.000);
$ease-out-circ:     cubic-bezier(0.075,  0.820, 0.165, 1.000);
$ease-out-back:     cubic-bezier(0.175,  0.885, 0.320, 1.275);

$ease-in-out-quad:  cubic-bezier(0.455,  0.030, 0.515, 0.955);
$ease-in-out-cubic: cubic-bezier(0.645,  0.045, 0.355, 1.000);
$ease-in-out-quart: cubic-bezier(0.770,  0.000, 0.175, 1.000);
$ease-in-out-quint: cubic-bezier(0.860,  0.000, 0.070, 1.000);
$ease-in-out-sine:  cubic-bezier(0.445,  0.050, 0.550, 0.950);
$ease-in-out-expo:  cubic-bezier(1.000,  0.000, 0.000, 1.000);
$ease-in-out-circ:  cubic-bezier(0.785,  0.135, 0.150, 0.860);
$ease-in-out-back:  cubic-bezier(0.680, -0.550, 0.265, 1.550);
engines/nucleus/scss/vendor/bourbon/addons/_margin.scss000060400000001426150753125210017351 0ustar00/// Provides a quick method for targeting `margin` on specific sides of a box. Use a `null` value to “skip” a side.
///
/// @param {Arglist} $vals
///   List of arguments
///
/// @example scss - Usage
///   .element {
///     @include margin(null 10px 3em 20vh);
///   }
///
/// @example css - CSS Output
///   .element {
///     margin-bottom: 3em;
///     margin-left: 20vh;
///     margin-right: 10px;
///   }
///
/// @require {mixin} directional-property
///
/// @output `margin`

@mixin margin($vals...) {
  $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
  $output-bourbon-deprecation-warnings: false !global;
  @include directional-property(margin, false, $vals...);
  $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;
}
engines/nucleus/scss/vendor/bourbon/addons/_retina-image.scss000060400000001563150753125210020440 0ustar00@mixin retina-image($filename, $background-size, $extension: png, $retina-filename: null, $retina-suffix: _2x, $asset-pipeline: $asset-pipeline) {
  @include _bourbon-deprecate("retina-image");

  @if $asset-pipeline {
    background-image: image-url("#{$filename}.#{$extension}");
  } @else {
    background-image:       url("#{$filename}.#{$extension}");
  }

  @include hidpi {
    @if $asset-pipeline {
      @if $retina-filename {
        background-image: image-url("#{$retina-filename}.#{$extension}");
      } @else {
        background-image: image-url("#{$filename}#{$retina-suffix}.#{$extension}");
      }
    } @else {
      @if $retina-filename {
        background-image: url("#{$retina-filename}.#{$extension}");
      } @else {
        background-image: url("#{$filename}#{$retina-suffix}.#{$extension}");
      }
    }

    background-size: $background-size;
  }
}
engines/nucleus/scss/vendor/bourbon/addons/_border-width.scss000060400000001430150753125210020461 0ustar00/// Provides a quick method for targeting `border-width` on specific sides of a box. Use a `null` value to “skip” a side.
///
/// @param {Arglist} $vals
///   List of arguments
///
/// @example scss - Usage
///   .element {
///     @include border-width(1em null 20px);
///   }
///
/// @example css - CSS Output
///   .element {
///     border-bottom-width: 20px;
///     border-top-width: 1em;
///   }
///
/// @require {mixin} directional-property
///
/// @output `border-width`

@mixin border-width($vals...) {
  $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;
  $output-bourbon-deprecation-warnings: false !global;
  @include directional-property(border, width, $vals...);
  $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;
}
engines/nucleus/scss/vendor/bourbon/addons/_prefixer.scss000060400000003155150753125210017721 0ustar00/// A mixin for generating vendor prefixes on non-standardized properties.
///
/// @param {String} $property
///   Property to prefix
///
/// @param {*} $value
///   Value to use
///
/// @param {List} $prefixes
///   Prefixes to define
///
/// @example scss - Usage
///   .element {
///     @include prefixer(border-radius, 10px, webkit ms spec);
///   }
///
/// @example css - CSS Output
///   .element {
///     -webkit-border-radius: 10px;
///     -moz-border-radius: 10px;
///     border-radius: 10px;
///   }
///
/// @require {variable} $prefix-for-webkit
/// @require {variable} $prefix-for-mozilla
/// @require {variable} $prefix-for-microsoft
/// @require {variable} $prefix-for-opera
/// @require {variable} $prefix-for-spec

@mixin prefixer($property, $value, $prefixes) {
  @each $prefix in $prefixes {
    @if $prefix == webkit {
      @if $prefix-for-webkit {
        -webkit-#{$property}: $value;
      }
    } @else if $prefix == moz {
      @if $prefix-for-mozilla {
        -moz-#{$property}: $value;
      }
    } @else if $prefix == ms {
      @if $prefix-for-microsoft {
        -ms-#{$property}: $value;
      }
    } @else if $prefix == o {
      @if $prefix-for-opera {
        -o-#{$property}: $value;
      }
    } @else if $prefix == spec {
      @if $prefix-for-spec {
        #{$property}: $value;
      }
    } @else  {
      @warn "Unrecognized prefix: #{$prefix}";
    }
  }
}

@mixin disable-prefix-for-all() {
  $prefix-for-webkit:    false !global;
  $prefix-for-mozilla:   false !global;
  $prefix-for-microsoft: false !global;
  $prefix-for-opera:     false !global;
  $prefix-for-spec:      false !global;
}
engines/nucleus/scss/configuration/nucleus/_fontawesome.scss000064400000000465150753125210020543 0ustar00$fa-chevron-left: '\f053';
$fa-chevron-right: '\f054';
$fa-chevron-up: '\f077';
$fa-chevron-down: '\f078';
$fa-tag: '\f02b';
$fa-columns: '\f0db';
$fa-times-circle: '\f057';
$fa-plus: '\f067';
$fa-caret-right: '\f0da';
$fa-angle-down: '\f107';
$fa-times: '\f00d';
$fa-bars: '\f0c9';
$fa-folder-open: '\f07c';
engines/nucleus/scss/configuration/nucleus/_base.scss000060400000000250150753125210017112 0ustar00// Core
@import "core";

// Breakpoints
@import "breakpoints";

// Layout
@import "layout";

// Typography
@import "typography";

// FontAwesome
@import "fontawesome";
engines/nucleus/scss/configuration/nucleus/_typography.scss000060400000001262150753125210020412 0ustar00// Base Sizes
$core-font-size:				1rem !default;
$responsive-font-size:			1vw !default;
$core-line-height:				1.5 !default;

// Heading Sizes
$h1-font-size:					$core-font-size + 1.25 !default;
$h2-font-size:					$core-font-size + 0.90 !default;
$h3-font-size:					$core-font-size + 0.50 !default;
$h4-font-size:					$core-font-size + 0.15 !default;
$h5-font-size:					$core-font-size !default;
$h6-font-size:					$core-font-size - 0.15 !default;

// Spacing
$leading-margin:				$core-line-height * 1rem !default;

// Font Families
$font-family-mono:              "Menlo", "Monaco", monospace !default;
$font-family-serif:             "Georgia", "Times", "Times New Roman", serif !default;
engines/nucleus/scss/configuration/nucleus/_layout.scss000060400000000162150753125210017517 0ustar00// Content Block Spacing Variables
$content-margin:				0.625rem !default;
$content-padding:				0.938rem !default;
engines/nucleus/scss/configuration/nucleus/_breakpoints.scss000060400000002357150753125210020533 0ustar00// Media Device Breakpoints
$breakpoints-large-desktop-container:		75.000rem !default;
$breakpoints-desktop-container:				60.000rem !default;
$breakpoints-tablet-container:				48.000rem !default;
$breakpoints-large-mobile-container:		30.000rem !default;
$breakpoints-mobile-container:				100% !default;
$breakpoints-mobile-menu-breakpoint:        48.000rem !default;

// Breakpoint Variables For Particles
$media: "all" !default;
$mobile-only: "#{$media} and (max-width:#{$breakpoints-tablet-container - 0.062})" !default;
$no-mobile: "#{$media} and (min-width:#{$breakpoints-tablet-container})" !default;
$small-mobile-range: "#{$media} and (max-width:#{$breakpoints-large-mobile-container})" !default;
$large-mobile-range: "#{$media} and (min-width:#{$breakpoints-large-mobile-container + 0.063}) and (max-width:#{$breakpoints-tablet-container - 0.062})" !default;
$tablet-range: "#{$media} and (min-width:#{$breakpoints-tablet-container}) and (max-width:#{$breakpoints-desktop-container - 0.062})" !default;
$desktop-range: "#{$media} and (min-width:#{$breakpoints-desktop-container}) and (max-width:#{$breakpoints-large-desktop-container - 0.062})" !default;
$large-desktop-range: "#{$media} and (min-width:#{$breakpoints-large-desktop-container})" !default;
engines/nucleus/scss/configuration/nucleus/_core.scss000060400000000071150753125210017131 0ustar00// Border Radius
$core-border-radius:			rem(3) !default;
engines/nucleus/scss/nucleus/_flex.scss000060400000001077150753125210014277 0ustar00// Page Container
.g-container {
	margin: 0 auto;
	padding: 0;
}

.g-block .g-container {
    width: auto;
}

// Grid Row and Column Setup
.g-grid {
	display: flex;
	flex-flow: row wrap;
	list-style: none;
	margin: 0;
	padding: 0;
	text-rendering: optimizespeed;
	&.nowrap {
		flex-flow: row;
	}
}

.g-block {
	flex: 1;
	min-width: 0;
	min-height: 0;
}

// Reordering
.first-block {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
  -ms-flex-order: -1;
  order: -1;
}

.last-block {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1;
}
engines/nucleus/scss/nucleus/theme/mixins/_typography.scss000060400000002033150753125210020151 0ustar00// Font Import
@mixin import-font($font-list) {
	// Import once Google fonts.
	$url: get-font-url($font-list);
	@if $url {
		@import $url;
	}
	// Import once all local fonts in the list.
	@each $font in get-local-fonts($font-list) {
		@each $weight in get-local-font-weights($font) {
			$url: get-local-font-url($font, $weight);
			@if $url {
				@include font-face($font, $url, $weight);
			}
		}
	}
}

// Responsive Font Mixin
@mixin responsive-font($responsive, $min, $max: false, $fallback: false) {
    $responsive-unitless: $responsive / ($responsive - $responsive + 1);
    $dimension: if(unit($responsive) == 'vh', 'height', 'width');
    $min-breakpoint: $min / $responsive-unitless * 100;

    @media (max-#{$dimension}: #{$min-breakpoint}) {
        font-size: $min;
    }

    @if $max {
        $max-breakpoint: $max / $responsive-unitless * 100;

        @media (min-#{$dimension}: #{$max-breakpoint}) {
            font-size: $max;
        }
    }

    @if $fallback {
        font-size: $fallback;
    }

    font-size: $responsive;
}
engines/nucleus/scss/nucleus/theme/mixins/_base.scss000060400000000026150753125210016655 0ustar00@import "typography";
engines/nucleus/scss/nucleus/theme/_alerts.scss000060400000001756150753125210015741 0ustar00// System Messages and Alerts
.alert {
    border-radius: $core-border-radius;
    padding: $content-padding;
    margin-bottom: $leading-margin;
    text-shadow: none;
}

.alert {
  background-color: #fcf8e3;
  border: 1px solid #fbeed5;
  border-radius: 4px;
}

.alert,
.alert h4 {
  color: #c09853;
}

.alert h4 {
    margin: 0;
}

.alert .close {
    top: -2px;
    right: -21px;
    line-height: 20px;
}

.alert-success {
  color: #468847;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}

.alert-success h4 {
  color: #468847;
}

.alert-danger,
.alert-error {
  color: #b94a48;
  background-color: #f2dede;
  border-color: #eed3d7;
}

.alert-danger h4,
.alert-error h4 {
  color: #b94a48;
}

.alert-info {
  color: #3a87ad;
  background-color: #d9edf7;
  border-color: #bce8f1;
}

.alert-info h4 {
  color: #3a87ad;
}

.alert-block {
    padding-top: 14px;
    padding-bottom: 14px;
}

.alert-block > p,
.alert-block > ul {
    margin-bottom: 0;
}

.alert-block p + p {
    margin-top: 5px;
}
engines/nucleus/scss/nucleus/theme/_typography.scss000060400000001046150753125210016645 0ustar00// Body Base
body {
	font-size: $core-font-size;
	line-height: $core-line-height;
}

// Headings
h1 {
	font-size: $h1-font-size;
}

h2 {
	font-size: $h2-font-size;
}

h3 {
	font-size: $h3-font-size;
}

h4 {
	font-size: $h4-font-size;
}

h5 {
	font-size: $h5-font-size;
}

h6 {
	font-size: $h6-font-size;
}

// Extras
small {
	font-size: $core-font-size - 0.125;
}

cite {
	font-size: $core-font-size - 0.125;
}

sub,
sup {
	font-size: $core-font-size - 0.250;
}

code,
kbd,
pre,
samp {
	font-size: $core-font-size;
	font-family: $font-family-mono;
}
engines/nucleus/scss/nucleus/theme/_flex.scss000060400000000215150753125210015372 0ustar00// Content Block Spacing
.g-content {
	margin: $content-margin;
	padding: $content-padding;

	.g-flushed & {
		margin: 0;
		padding: 0;
	}
}
engines/nucleus/scss/nucleus/theme/breakpoints/_utilities.scss000060400000003044150753125210020773 0ustar00// Visibility
.visible-large,
.visible-desktop,
.visible-tablet,
.visible-phone,
.g-block.visible-large,
.g-block.visible-desktop,
.g-block.visible-tablet,
.g-block.visible-phone {
  display: none !important;
}

@include breakpoint(mobile-only) {
  .visible-phone {
    display: block !important;
  }
  .g-block.visible-phone {
    display: block !important;
  }
}

@include breakpoint(tablet-range) {
  .visible-tablet {
    display: block !important;
  }
  .g-block.visible-tablet {
    display: block !important;
  }
}

@include breakpoint(desktop-range) {
  .visible-desktop {
    display: block !important;
  }
  .g-block.visible-desktop {
    display: block !important;
  }
}

@include breakpoint(large-desktop-range) {
  .visible-large {
    display: block !important;
  }
  .g-block.visible-large {
    display: block !important;
  }
  .visible-desktop {
    display: block !important;
  }
  .g-block.visible-desktop {
    display: block !important;
  }
}

// Invisibility
@include breakpoint(mobile-only) {
  .hidden-phone {
    display: none !important;
  }
}

@include breakpoint(tablet-range) {
  .hidden-tablet {
    display: none !important;
  }
}

@include breakpoint(desktop-range) {
  .hidden-desktop {
    display: none !important;
  }
}

@include breakpoint(large-desktop-range) {
  .hidden-large {
    display: none !important;
  }
  .hidden-desktop {
    display: none !important;
  }
}

// Alignment
@include breakpoint(mobile-only) {
  .align-right {
    text-align: inherit !important;
  }
  .align-left {
    text-align: inherit !important;
  }
}
engines/nucleus/scss/nucleus/theme/breakpoints/_base.scss000060400000000045150753125210017670 0ustar00@import "flex";
@import "utilities";
engines/nucleus/scss/nucleus/theme/breakpoints/_flex.scss000060400000001655150753125210017724 0ustar00// Page Container
.g-container {
	width: $breakpoints-large-desktop-container;
	@include breakpoint(desktop-range) {
		width: $breakpoints-desktop-container;
	}
	@include breakpoint(tablet-range) {
		width: $breakpoints-tablet-container;
	}
	@include breakpoint(large-mobile-range) {
		width: $breakpoints-large-mobile-container;
	}
	@include breakpoint(small-mobile-range) {
		width: $breakpoints-mobile-container;
	}

	&.g-flushed {
		width: 100%;
	}
}

// Grid Row and Column Setup
.g-block {
	@include breakpoint(mobile-only) {
		flex-grow: 0;
		flex-basis: 100%;
	}
}

body [class*="size-"] {
	@include breakpoint(mobile-only) {
        flex-grow: 0;
        flex-basis: 100%;
        max-width: 100%;
	}
}

// Fix for Firefox versions 27 and below
@include breakpoint(mobile-only) {
	@supports not (flex-wrap: wrap) {
		.g-grid {
			display: block;
			flex-wrap: inherit;
		}
		.g-block {
			display: block;
			flex: inherit;
		}
	}
}
engines/nucleus/scss/nucleus/theme/_base.scss000060400000000067150753125210015353 0ustar00@import "flex";
@import "typography";
@import "forms";
engines/nucleus/scss/nucleus/theme/_forms.scss000060400000000142150753125210015561 0ustar00textarea, select[multiple=multiple], #{$all-text-inputs} {
	border-radius: $core-border-radius;
}
engines/nucleus/scss/nucleus/_typography.scss000060400000001416150753125210015544 0ustar00// Headings
h1, h2, h3, h4, h5, h6 {
	margin: $leading-margin / 2 0 $leading-margin 0;
	text-rendering: optimizeLegibility;
}

// Paragraph
p {
	margin: $leading-margin 0;
}

// Lists
ul, ol, dl {
	margin-top: $leading-margin;
	margin-bottom: $leading-margin;
	ul, ol, dl {
		margin-top: 0;
		margin-bottom: 0;
	}
}

ul {
	margin-left: $leading-margin;
	padding: 0;
}

dl {
    padding: 0;
}

ol {
	padding-left: $leading-margin;
}

// Blockquote
blockquote {
	margin: $leading-margin 0;
	padding-left: $leading-margin / 2;
}

cite {
	display: block;
	&:before {
      content: "\2014 \0020";
    }
}

// Inline and Code
pre {
	margin: $leading-margin 0;
 	padding: $content-padding;
}

hr {
	border-left: none;
	border-right: none;
	border-top: none;
	margin: $leading-margin 0;
}
engines/nucleus/scss/nucleus/functions/_direction.scss000060400000001237150753125210017327 0ustar00@function opposite-direction($dir) {
	@if $dir == 'left' {
		@return right;
	}
	@else if  $dir == 'right' {
		@return left;
	}
	@else if $dir == 'ltr' {
		@return rtl;
	}
	@else if $dir == 'rtl' {
		@return ltr;
	}
	@else if $dir == 'top' {
		@return bottom;
	}
	@else if $dir == 'bottom' {
		@return top;
	}
	@else {
		@warn "#{$dir} is not a direction! Make sure your direction is all lowercase!";
		@return false;
	}
}

@function named-direction($dir) {
	@if $dir == 'ltr' {
		@return left;
	}
	@else if $dir == 'rtl' {
		@return right;
	}
	@else {
		@warn "#{$dir} is not a valid HTML direction! Make sure you are using a valid HTML direction";
		@return false;
	}
}
engines/nucleus/scss/nucleus/functions/_range.scss000060400000000325150753125210016440 0ustar00@function lower-bound($range){
	@if length($range) <= 0 {
		@return 0;
	}
	@return nth($range,1);
}

@function upper-bound($range) {
	@if length($range) < 2 {
		@return 999999999999;
	}
	@return nth($range, 2);
}
engines/nucleus/scss/nucleus/functions/_base.scss000060400000000073150753125210016256 0ustar00@import "direction";
@import "range";
@import "utilities";
engines/nucleus/scss/nucleus/functions/_utilities.scss000060400000000260150753125210017355 0ustar00@function textcolor-tint($color, $amount: 65%) {
 	@if (lightness($color) > 50) {
 		@return darken($color, $amount);
	} @else {
    	@return lighten($color, $amount);
  	}	
}
engines/nucleus/scss/nucleus/_offcanvas.scss000060400000002004150753125210015276 0ustar00#g-offcanvas {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow-x: hidden;
	overflow-y: auto;
	text-align: left;
    display: none;
    -webkit-overflow-scrolling: touch
}

.g-offcanvas-toggle {
	display: block;
	position: absolute;
	top: 0.7rem;
	left: 0.7rem;
	z-index: 10;
	line-height: 1;
	cursor: pointer;
}

.g-offcanvas-active {
	overflow-x: hidden;
}

.g-offcanvas-open {
    overflow: hidden;

    body, #g-page-surround {
        overflow: hidden;
    }

    .g-nav-overlay {
        z-index: 15;
        position: absolute;
        opacity: 1;
        height: 100%;
    }

    #g-offcanvas {
        display: block;
    }
}

body .g-offcanvas-hide {
    @extend .hide;
}

.g-offcanvas-left {
    #g-page-surround {
        left: 0;
    }
}

// Right Positioning
.g-offcanvas-right {
	#g-offcanvas {
		left: inherit;
	}
	.g-offcanvas-toggle {
		left: inherit;
		right: 0.7rem;
	}
	#g-page-surround {
		right: 0;
	}
}

// Left Positioning
.g-offcanvas-left {
	#g-offcanvas {
		right: inherit;
	}
}
engines/nucleus/scss/nucleus/_nav.scss000060400000017437150753125210014134 0ustar00.g-main-nav {
	ul {
		@extend %list-reset;
	}

    // Fix for mouse overs and transitions
    &:not(.g-menu-hastouch) {
        .g-dropdown {
        	z-index: 10;
           	top: -9999px;
            &.g-active {
                top: 100%;
            }
            .g-dropdown {
            	top: 0;
            }
        }
        .g-fullwidth {
        	.g-dropdown {
        		&.g-active {
        			top: auto;
        		}
        		.g-dropdown.g-active {
        			top: 0;
        		}
        	}
        }
    }

	// Main Level
	.g-toplevel {
		> li {
			display: inline-block;
			cursor: pointer;
			transition: background .2s ease-out, transform .2s ease-out;

			&.g-menu-item-type-particle, &.g-menu-item-type-module {
				cursor: initial;
			}

			.g-menu-item-content {
				display: inline-block;
				vertical-align: middle;
				cursor: pointer;
			}

            .g-menu-item-container {
                transition: transform .2s ease-out;
            }

	    	// Menu Parent Indicator on Main TopLevel
	    	&.g-parent {
				.g-menu-parent-indicator {
					display: inline-block;
					vertical-align: middle;
                    line-height: normal;

					&:after {
						display: inline-block;
						cursor: pointer;
						width: 1.5rem;
						opacity: 0.5;
						font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", FontAwesome;
						font-weight: 900;
						content: $fa-chevron-down;
						text-align: right;
					}
				}
				&.g-selected {
					> .g-menu-item-container {
						> .g-menu-parent-indicator {
							&:after {
								content: $fa-times;
							}
						}
					}
				}
	    	}
		}
	}

	// First Level Dropdown
	.g-dropdown {
		@extend %inactive-dropdown;
	    transition: opacity .2s ease-out, transform .2s ease-out;
	    z-index: 1;
    }

	// Sublevel Items
	.g-sublevel {
    	> li {
    		transition: background .2s ease-out, transform .2s ease-out;

    		&.g-menu-item-type-particle, &.g-menu-item-type-module {
				cursor: initial;
			}

    		.g-menu-item-content {
				display: inline-block;
				vertical-align: middle;
				word-break: break-word;
			}

    		&.g-parent {
    			.g-menu-item-content {
					margin-right: 2rem;
				}
	    		.g-menu-parent-indicator {
	    			position: absolute;
	    			right: $content-padding - 0.2;
	    			top: $content-padding - 0.1;
	    			width: auto;
	    			text-align: center;

	    			&:after {
						content: $fa-chevron-right;
						text-align: center;
					}
				}
				&.g-selected {
					> .g-menu-item-container {
						> .g-menu-parent-indicator {
							&:after {
								content: $fa-times;
							}
						}
					}
				}
			}
    	}
    }
}

[dir="rtl"] {
	.g-main-nav {
		.g-sublevel {
			> li {
				&.g-parent {
					.g-menu-item-content {
						margin-right: inherit;
						margin-left: 2rem;
						text-align: right;
					}
					.g-menu-parent-indicator {
						right: inherit;
						left: $content-padding - 0.2;
						transform: rotate(180deg);
					}
				}
			}
		}
	}
}

.g-menu-item-container {
	display: block;
	position: relative;

	input, textarea {
		color: #666;
	}
}

// Standard Dropdown Settings
.g-main-nav {
	.g-standard {
		position: relative;
		.g-sublevel {
	    	> li {
	    		position: relative;
	    	}
	    }
	    .g-dropdown {
	    	top: 100%;

            &.g-dropdown-left {
                right: 0;
            }

            &.g-dropdown-center {
                @include dropdown-center;
            }

            &.g-dropdown-right {
                left: 0;
            }

		    .g-dropdown {
	    		top: 0;
		    	@extend %inactive-dropdown;

                &.g-dropdown-left {
                    @include dropdown-left;
                }

                &.g-dropdown-right {
                    @include dropdown-right;
                }
            }
		    .g-block {
				flex-grow: 0;
				flex-basis: 100%;
		    }
		    // Dropdown is Active When Its Parent is Clicked
			&.g-active {
				@extend %active-dropdown;
			}
		}
	    .g-go-back {
	    	display: none;
	    }
	}
}

// Megamenu Settings
.g-main-nav {
	.g-fullwidth {
		.g-dropdown {
			position: absolute;
			left: 0;
			right: 0;

			&.g-dropdown-left {
				right: 0;
				left: inherit;
			}

			&.g-dropdown-center {
				left: inherit;
				right: inherit;
				@include dropdown-center;
			}

			&.g-dropdown-right {
				left: 0;
				right: inherit;
			}

			.g-block {
				position: relative;
				overflow: hidden;
			}
			// Dropdown is Active When Its Parent is Clicked
			&.g-active {
				@extend %active-dropdown;
			}

			// Go Back Button on Dropdown
			.g-go-back {
				&.g-level-1 {
					display: none;
				}
				display: block;
			}
		}
		.g-sublevel {
			.g-dropdown {
				top: 0;
				transform: translateX(100%);
				&.g-active {
					transform: translateX(0);
				}
			}
			&.g-slide-out {
				> .g-menu-item {
					> .g-menu-item-container {
						transform: translateX(-100%);
					}
				}
			}
		}
	}
}

// Dropdown Side Offsets
// @include dropdown-offset-x(5px, left);

// Dropdown Top Offsets
// @include dropdown-offset-y(5px);

// Go Back Arrow
.g-go-back {
	&.g-level-1 {
		display: none;
	}
	a {
		span {
			display: none;
		}
		&:before {
			display: block;
		    text-align: center;
		    width: 1.28571em;
			font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", FontAwesome;
			font-weight: 900;
			content: $fa-chevron-left;
			opacity: 0.5;
		}
	}
}

// Icons
.g-menu-item-container {
	> i {
		vertical-align: middle;
		margin-right: 0.2rem;
	}
}

// Subtitle
.g-menu-item-subtitle {
	display: block;
	font-size: $core-font-size - 0.2;
	line-height: 1.1;
}

// Overlay
.g-nav-overlay, .g-menu-overlay {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    position: absolute;
    transition: opacity .3s ease-out, z-index .1s ease-out;
}

// Mobile Menu
#g-mobilemenu-container {
	ul {
		@extend %list-reset;
	}

	.g-toplevel {
		position: relative;
		li {
			display: block;
			position: static !important;
			margin-right: 0;
			cursor: pointer;

			.g-menu-item-container {
				padding: $content-padding 1rem;
			}

			.g-menu-item-content {
				display: inline-block;
				line-height: 1rem;
			}

	    	// Menu Parent Indicator on Mobile Layout
	    	&.g-parent {
	    		> .g-menu-item-container {
					> .g-menu-item-content {
						position: relative;
					}
				}

				.g-menu-parent-indicator {
					position: absolute;
	    			right: $content-padding;
	    			text-align: center;

					&:after {
						display: inline-block;
						text-align: center;
						opacity: 0.5;
						width: 1.5rem;
						line-height: normal;
						font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", FontAwesome;
						font-weight: 900;
						content: $fa-chevron-right;
					}
				}
	    	}
		}

		.g-dropdown {
			top: 0;
			background: transparent;
			position: absolute;
			left: 0;
			right: 0;
			z-index: 1;
			transition: transform .2s ease-out;
			transform: translateX(100%);
			&.g-active {
				transform: translateX(0);
				z-index: 0;
			}
			.g-go-back {
				display: block;
			}
			.g-block {
				width: 100%;
				overflow: visible;
				.g-go-back {
					display: none;
				}
				&:first-child {
					.g-go-back {
						display: block;
					}
				}
			}
		}
		.g-dropdown-column {
	    	float: none;
	    	padding: 0;
			[class*="size-"] {
				flex: 0 1 100%;
                max-width: 100%;
			}
	    }
	}
	.g-sublevel {
        cursor: default;
		li {
			position: static;
		}
		.g-dropdown {
			top: 0;
		}
	}

	.g-menu-item-container {
		transition: transform .2s ease-out;
	}

	.g-toplevel, .g-sublevel {
		&.g-slide-out {
			> .g-menu-item, > .g-go-back {
				> .g-menu-item-container {
					transform: translateX(-100%);
				}
			}
		}
	}

	.g-menu-item-subtitle {
		line-height: 1.5;
	}
	i {
		float: left;
		line-height: 1.4rem;
		margin-right: 0.3rem;
	}
}

.g-menu-overlay.g-menu-overlay-open {
    z-index: 2;
    position: fixed;
    opacity: 1;
    height: 100vh;
}
engines/nucleus/scss/nucleus/mixins/_utilities.scss000060400000000614150753125210016657 0ustar00// List Reset
%list-reset {
	margin: 0;
	padding: 0;
	list-style: none;
}

// Vertical Centering
%vertical-align {
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}

// Columns
@mixin columns($columns) {
	width: percentage(1/$columns);
}

// Float with margin variable
@mixin float($direction, $margin: 0) {
	float: $direction;
	margin-#{opposite-direction($direction)}: $margin;
}
engines/nucleus/scss/nucleus/mixins/_breakpoints.scss000060400000002656150753125210017175 0ustar00// Breakpoints
@mixin breakpoint($breakpoint, $media: all) {
	@if $breakpoint == large-desktop-range {
		@media only #{$media} and (min-width: $breakpoints-large-desktop-container) { @content; }
	}
	@else if $breakpoint == desktop-range {
		@media only #{$media} and (min-width: $breakpoints-desktop-container) and (max-width: $breakpoints-large-desktop-container - 0.01rem) { @content; }
	}
	@else if $breakpoint == desktop-only {
		@media only #{$media} and (min-width: $breakpoints-desktop-container) { @content; }
	}
	@else if $breakpoint == tablet-range {
		@media only #{$media} and (min-width: $breakpoints-tablet-container) and (max-width: $breakpoints-desktop-container - 0.01rem) { @content; }
	}
	@else if $breakpoint == large-mobile-range {
		@media only #{$media} and (min-width: $breakpoints-large-mobile-container + 0.01rem) and (max-width: $breakpoints-tablet-container - 0.01rem) { @content; }
	}
	@else if $breakpoint == small-mobile-range {
		@media only #{$media} and (max-width: $breakpoints-large-mobile-container) { @content; }
	}
	@else if $breakpoint == no-mobile {
		@media only #{$media} and (min-width: $breakpoints-tablet-container) { @content; }
	}
	@else if $breakpoint == mobile-only {
		@media only #{$media} and (max-width: $breakpoints-tablet-container - 0.01rem) { @content; }
	}
	@else if $breakpoint == no-desktop {
		@media only #{$media} and (max-width: $breakpoints-desktop-container - 0.01rem) { @content; }
	}
}engines/nucleus/scss/nucleus/mixins/_base.scss000060400000000142150753125210015552 0ustar00@import "breakpoints";
@import "sizes";
@import "nav";
@import "typography";
@import "utilities";
engines/nucleus/scss/nucleus/mixins/_sizes.scss000060400000000210150753125210015771 0ustar00@mixin size-x {
	@for $i from 5 through 95 {
	    .size-#{$i} {
            flex: 0 $i * 1%;
            width: $i * 1%;
        }
	}
}
engines/nucleus/scss/nucleus/mixins/_typography.scss000060400000000211150753125210017043 0ustar00// Headers
@mixin header($margin-top: $leading-margin / 2, $margin-bottom: $leading-margin) {
	margin: $margin-top 0 $margin-bottom 0;
}
engines/nucleus/scss/nucleus/mixins/_nav.scss000060400000003413150753125210015430 0ustar00// Inactive Dropdown
%inactive-dropdown {
	position: absolute;
	top: auto;
	left: auto;
	opacity: 0;
    visibility: hidden;
    overflow: hidden;
}

// Inactive Dropdown
%active-dropdown {
	opacity: 1;
	visibility: visible;
	overflow: visible;
}

// Dropdown Top Offset
@mixin dropdown-offset-y($offset: 5px) {
	.g-main-nav {
		.g-standard, .g-fullwidth {
			> .g-dropdown {
				margin-top: $offset;
				&:before {
					content: "";
				    position: absolute;
				    display: block;
				    top: -$offset;
				    left: 0;
				    right: 0;
				    bottom: 0;
				    border-top: $offset solid transparent;
				    z-index: -1;
				}
			}
		}
	}
}

// Dropdown Side Offset
@mixin dropdown-offset-x($offset: 5px, $direction: left, $first_level: true) {
    .g-main-nav {
        .g-standard {
            .g-dropdown {
                margin-#{$direction}: $offset;
                &:after {
                    content: "";
                    position: absolute;
                    display: block;
                    top: 0;
                    left: -$offset;
                    right: -$offset;
                    bottom: 0;
                    border-left: $offset solid transparent;
                    border-right: $offset solid transparent;
                    z-index: -1;
                }
            }

            @if ($first_level == true or type-of($first_level) == number) {
                > .g-dropdown {
                    margin-#{$direction}: if(type-of($first_level) == bool, 0, $first_level);
                }
            }
        }
    }
}

// Dropdown expansion direction

@mixin dropdown-left {
    left: auto;
    right: 100%;
}

@mixin dropdown-center {
    left: 50%;
    transform: translateX(-50%);
}

@mixin dropdown-right {
    left: 100%;
    right: auto;
}

engines/nucleus/scss/nucleus/_utilities.scss000060400000003760150753125210015355 0ustar00// Float Classes
.float-left {
	float: left !important;
}

.float-right {
	float: right !important;
}

.hide {
	display: none;
}

// Clearfix
.clearfix {
	@include clearfix;
}

// Alignment
.center {
	text-align: center !important;
}

.align-right {
	text-align: right !important;
}

.align-left {
	text-align: left !important;
}

// Full Height Section
.full-height {
	min-height: 100vh;
}

// Padding and Margin Adjustments
.nomarginall {
	margin: 0 !important;
	.g-content {
		margin: 0 !important;
	}
}

.nomargintop {
	margin-top: 0 !important;
	.g-content {
		margin-top: 0 !important;
	}
}

.nomarginbottom {
	margin-bottom: 0 !important;
	.g-content {
		margin-bottom: 0 !important;
	}
}

.nomarginleft {
    margin-left: 0 !important;
    .g-content {
        margin-left: 0 !important;
    }
}

.nomarginright {
    margin-right: 0 !important;
    .g-content {
        margin-right: 0 !important;
    }
}

.nopaddingall {
	padding: 0 !important;
	.g-content {
		padding: 0 !important;
	}
}

.nopaddingtop {
	padding-top: 0 !important;
	.g-content {
		padding-top: 0 !important;
	}
}

.nopaddingbottom {
	padding-bottom: 0 !important;
	.g-content {
		padding-bottom: 0 !important;
	}
}

.nopaddingleft {
    padding-left: 0 !important;
    .g-content {
        padding-left: 0 !important;
    }
}

.nopaddingright {
    padding-right: 0 !important;
    .g-content {
        padding-right: 0 !important;
    }
}

.g-flushed {
	padding: 0 !important;

	.g-content {
		padding: 0;
		margin: 0;
	}

	.g-container {
		width: 100%;
	}
}


// Size Adjustment
.full-width {
	flex-grow: 0;
	flex-basis: 100%;
	.g-block {
		flex-grow: 0;
		flex-basis: 100%;
	}
}

// Hidden Classes
.hidden {
	display: none;
	visibility: hidden;
}

@media print {
	.visible-print {
	   display: inherit !important;
	}
    .g-block.visible-print {
        display: block !important;
    }
	.hidden-print {
	   display: none !important;
	}
}

// Same Height for Box Variations
.equal-height {
    display: flex;

	.g-content {
		flex-basis: 100%;
	}
}
engines/nucleus/scss/nucleus/_core.scss000060400000005150150753125210014265 0ustar00@-webkit-viewport{width:device-width}
@-moz-viewport{width:device-width}
@-ms-viewport{width:device-width}
@-o-viewport{width:device-width}
@viewport{width:device-width}

html {
    height: 100%;
	font-size: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
    box-sizing: border-box;
}

*, *::before, *::after {
    box-sizing: inherit;
}

body {
	margin: 0;
}

#g-page-surround {
	min-height: 100vh;
    position: relative;
    overflow: hidden;
}

article,
aside,
details,
footer,
header,
hgroup,
main,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background: transparent;
	text-decoration: none;
}

a:active,
a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

mark {
	background: #ff0;
	color: #000;
}

sub,
sup {
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	height: auto;
	max-width: 100%;
	display: inline-block;
	vertical-align: middle;
	border: 0;
	-ms-interpolation-mode: bicubic;
}

iframe,
svg {
	max-width: 100%;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	height: 0;
}

pre {
	overflow: auto;
}

code {
	vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
	padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"] {
	-webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}

tr, td, th {
	vertical-align: middle;
}

th, td {
	padding: ($leading-margin / 4) 0;
}

th {
	text-align: left;
}

@media print {
	body {
		background: #fff !important;
		color: #000 !important;
	}
}
engines/nucleus/scss/nucleus/_sizes.scss000060400000000717150753125210014476 0ustar00// Run Size Creation Function
@include size-x;

// Equal size fallbacks for older browsers
@each $i, $n in ('33-3', 1/3), ('16-7', 1/6), ('14-3', 1/7), ('12-5', 1/8), ('11-1', 1/9), ('9-1', 1/11), ('8-3', 1/12) {
    .size-#{$i} {
        flex: 0 percentage($n);
        width: percentage($n);
        max-width: percentage($n);
    }
}

// Support for non flex browsers
.size-100 {
    width: 100%;
    max-width: 100%;
    flex-grow: 0;
    flex-basis: 100%;
}
engines/nucleus/scss/nucleus/_forms.scss000060400000001473150753125210014467 0ustar00fieldset {
	border: 0;
	padding: $content-padding;
	margin: 0 0 $leading-margin 0;
}

label {
	margin-bottom: $leading-margin / 4;
	abbr {
		display: none;
	}
}

textarea, select[multiple=multiple] {
	transition: border-color;
	padding: ($leading-margin / 4) ($leading-margin / 4);

	&:focus {
		outline: none;
	}
}

#{$all-text-inputs} {
	transition: border-color;
	padding: ($leading-margin / 4) ($leading-margin / 4);
}

#{$all-text-inputs-focus} {
	outline: none;
}

textarea {
	resize: vertical;
}

input[type="checkbox"], input[type="radio"] {
	display: inline;
	margin-right: $leading-margin / 4;
}

input[type="file"] {
	width: 100%;
}

select {
	//width: auto;
	max-width: 100%;
}

button,
input[type="submit"] {
	cursor: pointer;
	user-select: none;
	vertical-align: middle;
	white-space: nowrap;
	border: inherit;
}
engines/nucleus/scss/custom.scss000064400000000000150753125210013023 0ustar00engines/nucleus/scss/bootstrap5.scss000064400000004524150753125210013632 0ustar00// TODO: Make sure you have Joomla Bootstrap symlinked
//  from JOOMLA4_INSTALL/media/vendor/bootstrap/scss
//  to GANTRY5/engines/joomla/nucleus/scss/vendor/bootstrap5

// Bootstrap functions
@import "vendor/bootstrap5/functions";

// Variables, Functions and Mixins
//@import "tools/tools";

// Bootstrap
@import "vendor/bootstrap5/variables";
@import "vendor/bootstrap5/bootstrap";
// Cassiopeia
@import "vendor/cassiopeia/variables";
@import "vendor/cassiopeia/css-grid";
@import "vendor/cassiopeia/modifiers";
@import "vendor/cassiopeia/form";
@import "vendor/cassiopeia/searchtools";
@import "vendor/cassiopeia/modal";
@import "vendor/cassiopeia/iframe";
@import "vendor/cassiopeia/icons";
@import "vendor/cassiopeia/choices";
@import "vendor/cassiopeia/toolbar";


// jQuery Minicolors
//@import "../../../media/system/scss/jquery-minicolors";

// Blocks
//@import "blocks/global"; // Leave this first
//@import "blocks/alerts";
//@import "blocks/back-to-top";
//@import "blocks/banner";
//@import "blocks/footer";
//@import "blocks/form";
//@import "blocks/frontend-edit";
//@import "blocks/header";
//@import "blocks/icons";
//@import "blocks/iframe";
//@import "blocks/layout";
//@import "blocks/modals";
//@import "blocks/modifiers";
//@import "blocks/utilities";
//@import "blocks/toolbar";
//@import "blocks/legacy";
//@import "blocks/tags";
//@import "blocks/css-grid"; // Last to allow fallback

// Vendor overrides
//@import "vendor/awesomplete";
//@import "bootstrap5/buttons";
//@import "bootstrap5/custom-forms";
//@import "bootstrap5/collapse";
//@import "bootstrap5/dropdown";
//@import "bootstrap5/forms";
//@import "bootstrap5/lists";
//@import "bootstrap5/modal";
//@import "bootstrap5/nav";
//@import "bootstrap5/pagination";
//@import "bootstrap5/table";
//@import "vendor/chosen";
//@import "vendor/dragula";
//@import "vendor/metismenu/metismenu";
//@import "vendor/minicolors";
//@import "vendor/tinymce";

// Chosen (TEMPORARY)
.chzn-container-single {
  width: auto !important;
}

.chzn-container-multi {
  width: 100% !important;
  max-width: 240px;
}
.list-inline {
  margin-left: 0;
}

.list-inline-item {
  display: inline-block;
  .btn {
    border: 1px solid;
    padding: 5px 8px;
  }

  &:not(:last-child) {
    margin-right: $list-inline-padding;
  }
}

.blog figure {
  margin: 0;
}

.platform-content.container {
  max-width: 100% !important;
}

engines/nucleus/scss/joomla.scss000060400000001115150753125210012776 0ustar00// REQUIRED DEPENDENCIES - DO NOT CHANGE

// Load Third Party Libraries
//FIXME Remove deprecated bourbon mixins
$output-bourbon-deprecation-warnings: false;
@import "vendor/bourbon/bourbon";

// Load Nucleus Configuration
@import "configuration/nucleus/base";

// Load Nucleus Mixins and Functions
@import "nucleus/functions/base";
@import "nucleus/mixins/base";

//-------------------------------------------

// JOOMLA COMPONENTS
@import "joomla/typography";
@import "joomla/buttons";
@import "joomla/forms";
@import "joomla/tabs";
@import "joomla/utilities";
@import "joomla/offline";
engines/nucleus/scss/nucleus.scss000060400000001350150753125210013174 0ustar00// REQUIRED DEPENDENCIES - DO NOT CHANGE

// Load Third Party Libraries
//FIXME Remove deprecated bourbon mixins
$output-bourbon-deprecation-warnings: false;
@import "vendor/bourbon/bourbon";

// Load Nucleus Configuration
@import "configuration/nucleus/base";

// Load Nucleus Mixins and Functions
@import "nucleus/functions/base";
@import "nucleus/mixins/base";

//-------------------------------------------

// LOAD NUCLEUS COMPONENTS

// Core
@import "nucleus/core";

// Flex
@import "nucleus/flex";

// Sizes
@import "nucleus/sizes";

// Navigation
@import "nucleus/nav";

// Typography
@import "nucleus/typography";

// Forms
@import "nucleus/forms";

// Utilities
@import "nucleus/utilities";

// OffCanvas
@import "nucleus/offcanvas";
engines/nucleus/particles/branding.html.twig000060400000000262150753125210015260 0ustar00{% extends '@nucleus/partials/particle.html.twig' %}

{% block particle %}
<div class="g-branding {{ particle.css.class }}">
    {{ particle.content|raw }}
</div>
{% endblock %}
engines/nucleus/particles/analytics.yaml000060400000001124150753125210014506 0ustar00name: Google Analytics
description: Configure Google Analytics.
type: atom
icon: fa-area-chart

form:
  fields:
    enabled:
      type: input.checkbox
      label: Enabled
      description: 'Globally enable analytic particles.'
      default: true

    ua.code:
      type: input.text
      description: 'Enter the Google UA tracking code for analytics (UA-XXXXXXXX-X)'
      label: UA Code
      placeholder: UA-XXXXXXXX-X

    ua.anonym:
      type: input.checkbox
      description: 'Send only Anonymous IP Addresses (mandatory in Europe)'
      label: Anonym Statistics
      default: falseengines/nucleus/particles/frameworks.yaml000060400000002370150753125210014703 0ustar00name: JavaScript Frameworks
description: Loads selected frameworks for the page.
type: atom
icon: far fa-file-code

form:
  fields:
    enabled:
      type: input.checkbox
      label: Enabled
      description: Globally enable Frameworks atom.
      default: true

    _info:
      type: separator.note
      class: alert alert-info
      content: '<strong>TIP</strong>: Only enable following frameworks if you need them in your own particles or your content.'

    jquery:
      type: container.set
      label: jQuery
      fields:
        .enabled:
          type: enable.enable
          label: Framework
          default: 0
        .ui_core:
          type: enable.enable
          label: UI Core
          default: 0
        .ui_sortable:
          type: enable.enable
          label: UI Sortable
          default: 0

    bootstrap:
      type: container.set
      label: Bootstrap
      fields:
        .enabled:
          type: enable.enable
          label: Framework
          default: 0

    mootools:
      label: Mootools
      type: container.set
      fields:
        .enabled:
          type: enable.enable
          label: Framework
          default: 0
        .more:
          type: enable.enable
          label: Mootools More
          default: 0
engines/nucleus/particles/custom.yaml000060400000001501150753125210014030 0ustar00name: Custom HTML
description: Display custom HTML block.
type: particle
icon: fa-code

configuration:
  caching:
    type: config_matches
    values:
      twig: '0'
      filter: '0'

form:
  fields:
    enabled:
      type: input.checkbox
      label: Enabled
      description: Globally enable the particle.
      default: true

    html:
      type: textarea.textarea
      label: Custom HTML
      description: Enter custom HTML into here.
      overridable: false

    twig:
       type: input.checkbox
       label: Process Twig
       description: Enable Twig template processing in the content. Twig will be processed before shortcodes.
       default: '0'

    filter:
      type: input.checkbox
      label: Process shortcodes
      description: Enable shortcode processing / filtering in the content.
      default: '0'
engines/nucleus/particles/messages.yaml000060400000001137150753125210014332 0ustar00name: System Messages
description: Display system messages.
type: system
icon: fa-exclamation-circle
hidden: false

form:
  fields:
    enabled:
      type: input.checkbox
      label: Enabled
      description: Globally enable system messages.
      default: true

    _info:
      type: separator.note
      class: alert alert-info
      content: Displays system messages in your layout.

    _alert:
      type: separator.note
      class: alert alert-warning
      content: Always include this particle to all of your layouts. Otherwise users will not see important system messages like login failures.
engines/nucleus/particles/menu.yaml000060400000003725150753125210013474 0ustar00name: Menu
description: Gantry menu
type: particle
icon: fa-bars

configuration:
  caching:
    type: menu

form:
  fields:

    enabled:
      type: input.checkbox
      label: Enabled
      description: Globally enable the menu particle.
      default: true

    _info:
      type: separator.note
      class: alert alert-info
      content: GANTRY5_PARTICLE_MENU_INFO

    menu:
      type: menu.list
      label: Menu
      description: Select menu to be used with the particle.
      default: ''
      selectize:
          allowEmptyOption: true
      options:
        '': Use Default Menu
        '-active-': Use Active Menu

    base:
      type: menu.item
      label: Base Item
      description: "Select a menu item to always be used as the base for the menu display."
      default: '/'
      options:
        '/': Active

    startLevel:
      type: input.text
      label: Start Level
      description: Set the start level of the menu.
      default: 1

    maxLevels:
      type: input.text
      label: Max Levels
      description: Set the maximum number of menu levels to display.
      default: 0

    renderTitles:
      type: input.checkbox
      label: Render Titles
      description: Renders the titles/tooltips of the Menu Items for accessibility.
      default: 0

    hoverExpand:
      type: input.checkbox
      label: Expand on Hover
      description: 'Allows to enable / disable the ability to expand menu items by hover or click only'
      default: 1

    mobileTarget:
      type: input.checkbox
      label: Mobile Target
      description: Check this field if you want this menu to become the target for Mobile Menu and to appear in Offcanvas
      default: 0

    forceTarget:
      type: input.checkbox
      label: Force Target Attribute
      description: "Adds 'target=&quot;_self&quot;' attribute to all menu links instead of omitting the default value. Fixes an issue with pinned tabs in Firefox where external links always open in a new tab."
      default: 0
engines/nucleus/particles/mobile-menu.html.twig000060400000000365150753125210015711 0ustar00{% extends '@nucleus/partials/particle.html.twig' %}

{% block particle %}
    <div id="g-mobilemenu-container" data-g-menu-breakpoint="{{ gantry.config.get('styles.breakpoints.mobile-menu-breakpoint')|default('48rem') }}"></div>
{% endblock %}
engines/nucleus/particles/frameworks.html.twig000060400000001056150753125210015656 0ustar00{% if particle.jquery.enabled %}
    {% do gantry.load('jquery') %}
    {% if particle.jquery.ui_core %}
        {% do gantry.load('jquery.ui.core') %}
    {% endif %}
    {% if particle.jquery.ui_sortable %}
        {% do gantry.load('jquery.ui.sortable') %}
    {% endif %}
{% endif %}

{% if particle.bootstrap.enabled %}
    {% do gantry.load('bootstrap') %}
{% endif %}

{% if particle.mootools.enabled %}
    {% do gantry.load('mootools') %}
    {% if particle.mootools.more %}
        {% do gantry.load('mootools.more') %}
    {% endif %}
{% endif %}
engines/nucleus/particles/totop.html.twig000060400000001172150753125210014642 0ustar00{% extends '@nucleus/partials/particle.html.twig' %}

{% set linkTitle = particle.title ? particle.title|e : particle.text|e %}

{% block particle %}
<div class="{{ particle.css.class|e }} g-particle">
    <div class="g-totop">
        <a href="#" id="g-totop" rel="nofollow"{% if linkTitle %} title="{{linkTitle}}" aria-label="{{linkTitle}}"{% endif %}>
            {% if particle.icon %}<i class="{{particle.icon}}"></i>{% endif %}
            {% if particle.content %}{{particle.content|raw}}{% endif %}
            {% if not particle.icon and not particle.content %}To Top{% endif %}
        </a>
    </div>
</div>
{% endblock %}
engines/nucleus/particles/assets.html.twig000060400000003037150753125210015001 0ustar00{% spaceless %}
{% if (particle.enabled) %}
    {% for css in particle.css %}
        {% set params = {} %}
        {% if css.extra %}
            {% for attributes in css.extra %}
                {% for key, value in attributes %}
                    {% set params = params|default({})|merge({(key): value}) %}
                {% endfor %}
            {% endfor %}
        {% endif %}

        {% if css.location %}
            {% do gantry.document.addStyle(params|default({})|merge({href: css.location}), css.priority) %}
        {% endif %}

        {% if css.inline %}
            {% do gantry.document.addInlineStyle(params|default({})|merge({content: css.inline}), css.priority) %}
        {% endif %}
    {% endfor %}

    {% for script in particle.javascript %}
        {% set params = {} %}
        {% if script.extra %}
            {% for attributes in script.extra %}
                {% for key, value in attributes %}
                    {% set params = params|default({})|merge({(key): value}) %}
                {% endfor %}
            {% endfor %}
        {% endif %}

        {% if script.location %}
            {% do gantry.document.addScript(params|default({})|merge({src: script.location}), script.priority, script.in_footer == true ? 'footer' : 'head') %}
        {% endif %}

        {% if script.inline %}
            {% do gantry.document.addInlineScript(params|default({})|merge({content: script.inline}), script.priority, script.in_footer == true ? 'footer' : 'head') %}
        {% endif %}
    {% endfor %}
{% endif %}
{% endspaceless %}
engines/nucleus/particles/menu.html.twig000060400000021565150753125210014451 0ustar00{% try %}
    {% set menu = gantry.menu.instance(particle) %}
{% catch %}
    <div class="alert alert-error">{{ e.getMessage }}</div>
{% endtry %}

{% macro getCustomWidth(item, menu, mode, dropdown_type, start_level) -%}
    {%- if (item.width|default('auto') != 'auto') and not (dropdown_type == 'fullwidth' and item.level > start_level) -%}
        {%- if mode == 'item' %} style="position: relative;"
        {%- elseif mode == 'submenu' %} style="width:{{ item.width }};" data-g-item-width="{{ item.width }}"
        {%- endif %}
    {%- endif %}
{%- endmacro %}

{% macro displayParticle(item, context) %}
    {% try %}
    {% set in_particle = (context.in_particle ?? 0) + 1 %}
    {% if in_particle > 5 %}
        {% throw 500 'Particle loop detected' %}
    {% endif %}

    {% set context = context|merge({ particle: item.options.particle, in_particle: in_particle}) %}
    {% set classes = item.options.block.class %}
    <div class="menu-item-particle{{ classes ? ' ' ~ classes }}">
        {% include ['particles/' ~ item.particle ~ '.html.twig', '@particles/' ~ item.particle ~ '.html.twig']
        ignore missing with context only %}
    </div>
    {% catch %}
        <div class="alert alert-error">{{ e.getMessage }}</div>
    {% endtry %}
{% endmacro %}

{% macro displayTitle(item) %}
    {% if not item.icon_only or not (item.image or item.icon) %}
        <span class="g-menu-item-title">{{ item.title }}</span>
        {% if item.subtitle %}
            <span class="g-menu-item-subtitle">{{ item.subtitle }}</span>
        {% endif %}
    {% endif %}
{% endmacro %}

{% macro displayItem(item, menu, context, dropdown_type, start_level) %}
    {% import _self as self %}
    {% if item.type == 'particle' and not item.options.particle.enabled %}
        {% set enabled = 0 %}
    {% endif %}
    {% if item.visible and item.enabled and enabled|default(1) %}
        {% set title = item.icon_only or item.link_title ? ' title="' ~ item.link_title|default(item.title)|e ~ '"' %}
        {% set label = item.icon_only and (item.image or item.icon) ? ' aria-label="' ~ item.title|e ~'"' %}
        {% set active = menu.isActive(item) ? ' active' %}
        {% set dropdown = item.level == start_level ? ' g-' ~ item.getDropdown() %}
        {% set parent = item.hasChildren() and not item.dropdown_hide ? ' g-parent' %}
        {% set target = (item.target != '_self' or context.particle.forceTarget) ? ' target="' ~ item.target|e ~ '"' %}
        {% set rel = item.rel %}

        {% if item.target == '_blank' %}
            {% if 'noopener' not in rel %}
                {% set rel = rel ? rel ~ ' ' : rel %}
                {% set rel = rel ~ 'noopener' %}
            {% endif %}
            {% if 'noreferrer' not in rel %}
                {% set rel = rel ? rel ~ ' ' : rel %}
                {% set rel = rel ~ 'noreferrer' %}
            {% endif %}
        {% endif %}

        {% set listAttributes = item.attributes|attribute_array %}
        {% set linkAttributes = '' %}

        {% if item.link_attributes %}
            {% for attribute in item.link_attributes %}
                {% for key, value in attribute %}
                    {% if key == 'rel' %}
                        {% for hVal in value|split(' ') %}
                            {% if hVal not in rel %}
                                {% set rel = rel ? rel ~ ' ' : rel %}
                                {% set rel = rel ~ hVal %}
                            {% endif %}
                        {% endfor %}
                    {% else %}
                        {% set linkAttributes = linkAttributes ~ ' ' ~ key|e ~ '="' ~ value|e('html_attr') ~ '"' %}
                    {% endif %}
                {% endfor %}
            {% endfor %}
        {% endif %}

        {# Special handling for opening link in a new window without navigation #}
        {% if item.target == '_nonav' %}
            {% set target = 'target="_blank"' %}
            {% set linkAttributes = linkAttributes ~ ' onclick="window.open(this.href, \'targetWindow\', \'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes\'); return false;"' %}
        {% endif %}

        {% set rel = rel ? ' rel="' ~ rel|e('html_attr') ~ '"' %}

        <li class="g-menu-item g-menu-item-type-{{ item.type }} g-menu-item-{{ item.id }}{% if not item.dropdown_hide %}{{ parent }}{% endif %}{{ active }}{{ dropdown }} {% if item.url and parent %}{% if not item.dropdown_hide %}g-menu-item-link-parent{% endif %}{% endif %} {{ item.class|default('') }}"
                {{- self.getCustomWidth(item, menu, 'item', dropdown) }}
                {%- if context.particle.renderTitles|default(0) %} title="{{ item.title }}"{% endif %}{{listAttributes|raw}}>
            {% if item.url %}
                <a class="g-menu-item-container{{ item.anchor_class ? ' ' ~ item.anchor_class }}" href="{{ item.url }}{{ item.hash }}"{{ (title ~ label ~ target ~ rel ~ linkAttributes)|raw }}>
            {% else %}
                <div class="g-menu-item-container{{ item.anchor_class ? ' ' ~ item.anchor_class }}" data-g-menuparent=""{{ label|raw }}>{% endif %}
                {% if item.image %}
                    <img src="{{ url(item.image) }}" alt="{{ item.title }}" />
                {% elseif item.icon %}
                    <i class="{{ item.icon }}" aria-hidden="true"></i>
                {% endif %}
                {% if item.url %}
                    <span class="g-menu-item-content">
                        {{ self.displayTitle(item) }}
                    </span>
                    {% if parent and not item.dropdown_hide -%}
                        <span class="g-menu-parent-indicator" data-g-menuparent=""></span>
                    {%- endif %}
                {% else %}
                    {% if item.type == 'particle' %}
                        {{ self.displayParticle(item, context) }}
                    {% elseif item.type == 'heading' %}
                        <span class="g-nav-header g-menu-item-content"{{ title|raw }}>{{ self.displayTitle(item) }}</span>
                    {% else %}
                        <span class="g-separator g-menu-item-content"{{ title|raw }}>{{ self.displayTitle(item) }}</span>
                    {% endif %}
                    {% if parent and not item.dropdown_hide -%}
                        <span class="g-menu-parent-indicator"></span>
                    {%- endif %}
                {% endif %}
            {% if item.url %}</a>
            {% else %}</div>{% endif %}
            {% if parent -%}
                {{ self.displaySubmenu(item, menu, context, dropdown_type, start_level) }}
            {%- endif %}
        </li>
    {% endif %}
{% endmacro %}

{% macro displayContainers(item, menu, context, dropdown_type, start_level) %}
    {% import _self as self %}
    <div class="g-grid">
        {% set groups = item.getDropdown() == 'standard' ? [item] : item.groups %}
        {% for column, items in groups %}
        <div class="g-block {{ item.columnWidth(column)|toGrid }}">
            <ul class="g-sublevel">
                <li class="g-level-{{ item.level - start_level + 1 }} g-go-back">
                    <a class="g-menu-item-container" href="#" data-g-menuparent=""><span>Back</span></a>
                </li>
                {{ self.displayItems(items, menu, context, dropdown_type, start_level) }}
            </ul>
        </div>
        {% endfor %}
    </div>
{% endmacro %}

{% macro displayItems(items, menu, context, dropdown_type, start_level) %}
    {% import _self as self %}
    {% for item in items %}
        {% set start_level = start_level ?? root_level ?? item.level %}
        {% set dropdown = dropdown_type ?? item.dropdown %}
        {{ self.displayItem(item, menu, context, dropdown, start_level) }}
    {% endfor %}
{% endmacro %}

{% macro displaySubmenu(item, menu, context, dropdown_type, start_level) %}
    {% import _self as self %}
    {% if not item.dropdown_hide %}
        {% set animation = context.gantry.config.get('styles.menu.animation')|default('g-fade') %}
        {% if ((item.groups|length == 1 and not dropdown_type == 'fullwidth') or dropdown_type == 'standard') or (item.width|default('auto') != 'auto' and dropdown_type == 'fullwidth')%}
            {% set dropdown_dir = 'g-dropdown-' ~ item.dropdown_dir|default('right') %}
        {% endif %}
        <ul class="g-dropdown g-inactive {{ animation }} {{ dropdown_dir }}"{{ self.getCustomWidth(item, menu, 'submenu', dropdown_type, start_level) }}>
            <li class="g-dropdown-column">
                {{ self.displayContainers(item, menu, context, dropdown_type, start_level) }}
            </li>
        </ul>
    {% endif %}
{% endmacro %}

{% import _self as macro %}

{% if menu.root.count() %}
    <nav class="g-main-nav"{{ particle.mobileTarget ? ' data-g-mobile-target' : '' }} data-g-hover-expand="{{ particle.hoverExpand|default('true') ? 'true': 'false' }}">
        <ul class="g-toplevel">
            {{ macro.displayItems(menu.root, menu, _context) }}
        </ul>
    </nav>
{% endif %}
engines/nucleus/particles/date.yaml000060400000001614150753125210013440 0ustar00name: Date
description: Display a date.
type: particle
icon: fa-calendar

form:
  fields:
    enabled:
      type: input.checkbox
      label: Enabled
      description: Globally enable date particles.
      default: true

    css.class:
      type: input.selectize
      label: CSS Classes
      description: CSS class name for the particle.
      default: date

    date.formats:
      type: select.date
      label: Format
      description: Select preferred date format.
      default: 'l, F d, Y'
      placeholder: 'Select...'
      selectize:
          allowEmptyOption: true
      options:
          'l, F d, Y': Date1
          'l, d F': Date2
          'D, d F': Date3
          'F d': Date4
          'd F': Date5
          'd M': Date6
          'D, M d, Y': Date7
          'D, M d, y': Date8
          'l': Date9
          'l j F Y': Date10
          'j F Y': Date11
          'F d, Y': Date12
engines/nucleus/particles/social.html.twig000060400000002066150753125210014752 0ustar00{% extends '@nucleus/partials/particle.html.twig' %}

{% if particle.target %}
    {% set targetAttrib = ' target="' ~ particle.target|e ~ '"' %}
    {% set targetAttrib = (particle.target == '_blank') ? targetAttrib ~ ' rel="noopener noreferrer"' : targetAttrib %}
{% endif %}

{% block particle %}
    {% if particle.title %}<h2 class="g-title">{{ particle.title|raw }}</h2>{% endif %}
    <div class="g-social {{ particle.css.class }}">
        {% for item in particle.items %}
            {% set title = (item.title is not empty) ? item.title|e : item.text|e %}
            {% set titleAttrib = (title is not empty) ? ' title="' ~ title ~ '" aria-label="' ~ title ~ '"' : '' %}
            <a href="{{ item.link|e }}"{{ targetAttrib|raw }}{{ titleAttrib|raw }}>
                {% if particle.display in ['both', 'icons_only'] %}<span class="{{ item.icon|e }}"></span>{% endif %}
                {% if particle.display in ['both', 'text_only'] %}<span class="g-social-text">{{ item.text|e }}</span>{% endif %}
            </a>
        {% endfor %}
    </div>
{% endblock %}
engines/nucleus/particles/logo.html.twig000060400000002071150753125210014434 0ustar00{% extends '@nucleus/partials/particle.html.twig' %}

{% block particle %}
    {% set url = url(particle.url)|default(gantry.siteUrl()) %}
    {% if (url == gantry.siteUrl()) %}{% set rel='rel="home"' %}{% endif %}
    {% set class=(particle.class ? 'class="'~ particle.class ~'"') %}
    {% set image = url(particle.image) %}
    {% set height = particle.height ? 'style="max-height: ' ~ particle.height ~ '"' %}

    {% if particle.link == true %}
        <a href="{{ url }}" target="{{ particle.target|default('_self') }}" title="{{ particle.text }}" aria-label="{{ particle.text }}" {{ rel|default('')|raw }} {{ class|default('')|raw }}>
    {% else %}<div {{ class|default('')|raw }}>{% endif %}
        {% if particle.svg is not empty %}
            {{ particle.svg|raw }}
        {% elseif image %}
            <img src="{{ url(particle.image) }}" {{ height|default('')|raw }} alt="{{ particle.text }}" />
        {% else %}
            {{ particle.text|default('Logo') }}
        {% endif %}
    {% if particle.link == true %}</a>{% else %}</div>{% endif %}
{% endblock %}
engines/nucleus/particles/content.yaml000060400000001160150753125210014171 0ustar00name: Page Content
description: Display the main page content in the layout.
type: system
icon: far fa-file-alt
hidden: false

form:
  fields:
    enabled:
      type: input.checkbox
      label: Enabled
      description: Globally enable page content.
      default: true

    _info:
      type: separator.note
      class: alert alert-info
      content: Displays the main page content in your layout.

    _alert:
      type: separator.note
      class: alert alert-warning
      content: This particle is needed to display the main page content, though it may be disabled from a few selected pages like your front page.
engines/nucleus/particles/copyright.yaml000060400000001222150753125210014526 0ustar00name: Copyright
description: Display copyright information.
type: particle
icon: fa-copyright

configuration:
  caching:
    type: static

form:
  fields:
    enabled:
      type: input.checkbox
      label: Enabled
      description: Globally enable the particle.
      default: true

    date.start:
      type: input.text
      label: Start Year
      description: Select the copyright start year.
      default: now

    date.end:
      type: input.text
      label: End Year
      description: Select the copyright end year.
      default: now

    owner:
      type: input.text
      label: Copyright owner
      description: Add copyright owner name.
engines/nucleus/particles/logo.yaml000060400000003133150753125210013461 0ustar00name: 'Logo / Image'
description: Display a logo or an image.
type: particle
icon: far fa-file-image

configuration:
  caching:
    type: static

form:
  fields:
    enabled:
      type: input.checkbox
      label: Enabled
      description: Globally enable logo particles.
      default: true

    url:
      type: input.text
      label: Url
      description: Url for the image. Leave empty to go to home page.

    target:
      type: select.select
      label: Target
      description: Target browser window when logo is clicked.
      placeholder: 'Select...'
      default: _self
      options:
          _self: Same Frame (default)
          _parent: Parent Frame
          _blank: New Window or Tab

    image:
      type: input.imagepicker
      label: Image
      description: Select desired logo image.

    height:
      type: input.text
      label: Maximum Height
      description: Set image max. height in rem, em, px, or percentage unit values. Leave empty to use the default height.
      pattern: '\d+(\.\d+){0,1}(rem|em|ex|ch|vw|vh|vmin|vmax|%|px|cm|mm|in|pt|pc)'

    link:
      type: input.checkbox
      label: Link
      description: 'Renders Logo/Image with a link.'
      default: true

    svg:
      type: textarea.textarea
      label: SVG Code
      description: Your SVG code that will be added inline to the site.
      placeholder: 'Place your <svg> code here.'

    text:
      type: input.text
      label: Text
      description: Input logo description text.

    class:
      type: input.selectize
      label: CSS Classes
      description: Set a specific CSS class for custom styling.
engines/nucleus/particles/custom.html.twig000060400000000376150753125210015014 0ustar00{% extends '@nucleus/partials/particle.html.twig' %}

{% block particle %}
    {% set html = particle.twig ? gantry.theme.compile(particle.html) : particle.html %}
    {{ (particle.filter ? gantry.platform.filter(html) : html)|html|raw }}
{% endblock %}
engines/nucleus/particles/totop.yaml000060400000001655150753125210013675 0ustar00name: To Top
description: Scroll back to top.
type: particle
icon: fa-chevron-up

configuration:
  caching:
    type: static

form:
  fields:
    enabled:
      type: checkbox
      label: Enabled
      description: Globally enable to top particles.
      default: true

    css.class:
      type: input.selectize
      label: CSS Classes
      description: CSS class name for the particle.
      default: totop

    icon:
      type: input.icon
      label: Icon
      description: A Font Awesome icon to be displayed for the link.

    content:
      type: input.text
      label: Text
      description: The text to be displayed for the link. HTML is allowed.
      placeholder: To Top

    title:
      type: input.text
      label: Title
      description: The title to be applied on the link. If no title is set here but a text is defined above, the text is used automatically for the <code>title</code>.
      placeholder: jump to topengines/nucleus/particles/lightcase.yaml000060400000001455150753125210014471 0ustar00name: Lightcase
description: Flexible and responsive Lightbox Plugin.
type: atom
icon: fa-image

form:
  fields:
    enabled:
      type: input.checkbox
      label: Enabled
      description: Globally enable Lightcase atom.
      default: true

    _instructions:
      type: separator.note
      class: alert alert-info
      content: 'Basic usage: <pre>&lt;a href="path/to/media.jpg"<br />   data-rel="lightcase"<br />   title="Your title"<br />><br />    Your link description or thumb<br />&lt;/a></pre>'

    _info:
      type: separator.note
      class: alert alert-info
      content: 'For more information on how to use this atom, see <a href="http://cornel.bopp-art.com/lightcase/documentation/">Lightcase documentation <i class="fa fa-external-link fa-external-link-alt" aria-hidden="true"></i></a>.'
engines/nucleus/particles/contentarray.html.twig000060400000026211150753125210016207 0ustar00{% extends '@nucleus/partials/particle.html.twig' %}

{% set attr_extra = particle.extra|attribute_array %}
{% set article_settings = particle.article %}
{% set filter = article_settings.filter %}
{% set sort = article_settings.sort %}
{% set limit = article_settings.limit %}
{% set display = article_settings.display %}

{# Category Finder #}
{% set category_options = filter.categories ? {id: [filter.categories|split(','), 0]} : {} %}
{% set categories = joomla.finder('category', category_options).published(1).language().limit(0).find() %}

{# Content Finder #}
{% if filter.articles %}
    {% set article_options = filter.articles ? {id: [filter.articles|replace({' ': ''})|split(',')]} : {} %}
    {% set article_finder = joomla.finder('content', article_options).published(1).language() %}
{% else %}
    {% set article_finder = joomla.finder('content').category(categories).published(1).language() %}
{% endif %}

{% set featured = filter.featured|default('include') %}
{% if featured == 'exclude' %}
    {% do article_finder.featured(false) %}
{% elseif featured == 'only' %}
    {% do article_finder.featured(true) %}
{% endif %}

{% set start = limit.start + max(0, ajax.start|int) %}
{% do article_finder.order(sort.orderby, sort.ordering).limit(limit.total).start(start) %}
{% set total = article_finder.count() %}
{% set articles = article_finder.find() %}

{% block particle %}

     {% if particle.title %}
            <h2 class="g-title">{{ particle.title|raw }}</h2>
        {% endif %}

    {# All Articles #}
    <div class="g-content-array g-joomla-articles{% if particle.css.class %} {{ particle.css.class }}{% endif %}" {{- attr_extra|raw }}>

        {% for column in articles|batch(limit.columns) %}
            <div class="g-grid">
                {% for article in column %}

                    <div class="g-block">
                        <div class="g-content">
                            <div class="g-array-item">
                                {% if display.edit and article.edit %}
                                    {% if not joomla.checkVersion('4.0') %}
                                        <a class="g-array-item-edit" href="{{ article.edit }}">{{ 'COM_CONTENT_FORM_EDIT_ARTICLE'|trans }}</a>
                                    {% else %}
                                        <a class="g-array-item-edit" href="{{ article.edit }}" aria-describedby="editarticle-{{ article.id }}">{{ 'JGLOBAL_EDIT'|trans }}</a>
                                    {% endif %}
                                {% endif %}
                                {% if display.image.enabled and article.images.image_intro or article.images.image_fulltext %}
                                    {% if article.images.image_intro and display.image.enabled == 'intro' or display.image.enabled == 'show' %}
                                        <div class="g-array-item-image">
                                            <a href="{{ article.route }}">
                                                <img src="{{ url(article.images.image_intro) }}" {{ article.images.image_intro|imagesize|raw }} alt="{{ article.images.image_intro_alt }}" />
                                            </a>
                                        </div>
                                    {% elseif article.images.image_fulltext and display.image.enabled == 'full' %}
                                        <div class="g-array-item-image">
                                            <a href="{{ article.route }}">
                                                <img src="{{ url(article.images.image_fulltext) }}" {{ article.images.image_fulltext|imagesize|raw }} alt="{{ article.images.image_fulltext_alt }}" />
                                            </a>
                                        </div>
                                    {% endif %}
                                {% endif %}

                                {% if display.title.enabled %}
                                    <div class="g-array-item-title">
                                        <h3 class="g-item-title">
                                            <a href="{{ article.route }}">
                                                {{ display.title.limit ? article.title|truncate_text(display.title.limit) : article.title }}
                                            </a>
                                        </h3>
                                    </div>
                                {% endif %}

                                {% if display.date.enabled or display.author.enabled or display.category.enabled or display.hits.enabled %}
                                    <div class="g-array-item-details">
                                        {% if display.date.enabled %}
                                            <span class="g-array-item-date">
                                                {% if display.date.enabled == 'published' %}
                                                    <i class="far fa-clock" aria-hidden="true"></i>{{ article.publish_up|date(display.date.format) }}
                                                {% elseif display.date.enabled == 'modified' %}
                                                    <i class="far fa-clock" aria-hidden="true"></i>{{ article.modified|date(display.date.format) }}
                                                {% else %}
                                                    <i class="far fa-clock" aria-hidden="true"></i>{{ article.created|date(display.date.format) }}
                                                {% endif %}
                                            </span>
                                        {% endif %}

                                        {% if display.author.enabled %}
                                            <span class="g-array-item-author">
                                                <i class="fa fa-user" aria-hidden="true"></i>{{ article.author.name }}
                                            </span>
                                        {% endif %}

                                        {% if display.category.enabled %}
                                            {% set category_link = display.category.enabled == 'link' %}
                                            <span class="g-array-item-category">
                                                {% set cat = article.categories|last %}
                                                {% if category_link %}
                                                    <a href="{{ cat.route }}">
                                                        <i class="fa fa-folder-open" aria-hidden="true"></i>{{ cat.title }}
                                                    </a>
                                                {% else %}
                                                    <i class="fa fa-folder-open" aria-hidden="true"></i>{{ cat.title }}
                                                {% endif %}
                                            </span>
                                        {% endif %}

                                        {% if display.hits.enabled %}
                                            <span class="g-array-item-hits">
                                                <i class="fa fa-eye" aria-hidden="true"></i>{{ article.hits }}
                                            </span>
                                        {% endif %}
                                    </div>
                                {% endif %}

                                {% if display.text.type %}
                                    {% set article_text = display.text.type == 'intro' ? display.text.prepare ? article.preparedIntroText : article.introtext : display.text.prepare ? article.preparedText : article.text %}
                                    <div class="g-array-item-text">
                                        {% if display.text.formatting == 'text' %}
                                            {{ article_text|truncate_text(display.text.limit)|raw }}
                                        {% else %}
                                            {{ article_text|truncate_html(display.text.limit)|raw }}
                                        {% endif %}
                                    </div>
                                {% endif %}

                                {% if display.read_more.enabled %}
                                    <div class="g-array-item-read-more">
                                        <a href="{{ article.route }}" class="button{% if display.read_more.css %} {{ display.read_more.css }}{% endif %}">
                                            {{ display.read_more.label|default('Read More...') }}
                                        </a>
                                    </div>
                                {% endif %}
                            </div>
                        </div>
                    </div>

                {% endfor %}
            </div>
        {% endfor %}

        {% if total > limit.total and display.pagination_buttons %}
            <div class="g-content-array-pagination">
                <button class="button float-left contentarray-button pagination-button pagination-button-prev" data-id="{{ id }}" data-start="{{ max(0, start - limit.total) }}"{{ start - limit.total < 0 ? ' disabled' }}>{{ 'GANTRY5_ENGINE_PREV'|trans }}</button>
                <button class="button float-right contentarray-button pagination-button pagination-button-next" data-id="{{ id }}" data-start="{{ start + limit.total }}"{{ start + limit.total >= total ? ' disabled' }}>{{ 'GANTRY5_ENGINE_NEXT'|trans }}</button>
                <div class="clearfix"></div>
            </div>
        {% endif %}
    </div>
{% endblock %}

{% block javascript_footer %}
{% if total > limit.total and display.pagination_buttons %}
{% do gantry.load('jquery') %}
<script>
    (function ($) {
        $(document).on('click', 'button.contentarray-button', function () {
            var id = $(this).attr('data-id'),
                start = $(this).attr('data-start'),
                request = {
                'option' : 'com_ajax',
                'plugin' : 'particle',
                'Itemid' : {{ gantry.page.itemid|int }},
                'id'     : id,
                'start'  : start,
                'format' : 'json'
            };
            $.ajax({
                type       : 'GET',
                data       : request,
                indexValue : id + '-particle',
                success: function (response) {
                    if(response.data){
                        $('#' + this.indexValue).html(response.data[0].html);
                    } else {
                        // TODO: Improve error handling -- instead of replacing particle content, display flash message or something...
                        $('#' + this.indexValue).html(response.message);
                    }
                },
                error: function(response) {
                    // TODO: Improve error handling -- instead of replacing particle content, display flash message or something...
                    $('#' + this.indexValue).html('AJAX FAILED ON ERROR');
                }
            });
            return false;
        });
    })(jQuery)
</script>
{% endif %}
{% endblock %}
engines/nucleus/particles/position.html.twig000060400000000303150753125210015334 0ustar00{% extends '@nucleus/partials/particle.html.twig' %}

{% block particle %}
    {{ gantry.platform.displayModules(particle.key, {'style': particle.chrome|default('gantry')})|raw }}
{% endblock %}
engines/nucleus/particles/contentarray.yaml000060400000021742150753125210015240 0ustar00name: Joomla Articles
description: Display Joomla Articles.
type: particle
icon: fa-joomla fab

form:
  fields:
    enabled:
      type: input.checkbox
      label: Enabled
      description: Globally enable Joomla Articles particles.
      default: true

    _tabs:
      type: container.tabs
      fields:
        _tab_articles:
          label: Articles
          overridable: false
          fields:

            title:
                type: input.text
                label: Title
                description: Customize the title text.
                placeholder: Enter title

            article.filter.categories:
              type: joomla.categories
              label: Categories
              description: Select the categories the articles should be taken from.
              overridable: false

            article.filter.articles:
              type: input.text
              label: Articles
              description: 'Enter the Joomla articles that should be shown. It should be a list of article IDs separated with a comma (i.e. 1,2,3,4,5).'
              overridable: false

            article.filter.featured:
              type: select.select
              label: Featured Articles
              description: Select how Featured articles should be filtered.
              default: ''
              options:
                include: Include Featured
                exclude: Exclude Featured
                only: Only Featured
              overridable: false

            article.limit.total:
              type: input.text
              label: Number of Articles
              description: Enter the maximum number of articles to display.
              default: 2
              pattern: '\d{1,2}'
              overridable: false

            article.display.pagination_buttons:
              type: select.select
              label: Pagination
              description: Select if the pagination buttons should be shown to allow users to see more articles.
              default: ''
              options:
                show: Show
                '': Hide
              overridable: false

            article.limit.columns:
              type: select.select
              label: Number of columns
              description: Select the number of columns that you want articles to appear in.
              default: 2
              options:
                1: 1
                2: 2
                3: 3
                4: 4
                5: 5
                6: 6
              overridable: false

            article.limit.start:
              type: input.text
              label: Start From
              description: Enter offset specifying the first article to return. The default is '0' (the first article).
              default: 0
              pattern: '\d{1,2}'
              overridable: false

            article.sort.orderby:
              type: select.select
              label: Order By
              description: Select how the articles should be ordered by.
              default: publish_up
              options:
                publish_up: Published Date
                created: Created Date
                modified: Last Modified Date
                title: Title
                ordering: Ordering
                hits: Hits
                id: ID
                alias: Alias
              overridable: false

            article.sort.ordering:
              type: select.select
              label: Ordering Direction
              description: Select the direction the articles should be ordered by.
              default: ASC
              options:
                ASC: Ascending
                DESC: Descending
                RANDOM: Random
              overridable: false

        _tab_display:
          label: Display
          fields:
            article.display.image.enabled:
              type: select.select
              label: Image
              description: Select if and what image of the article should be shown.
              default: intro
              options:
                intro: Intro
                full: Full
                '': None
            article.display.text.type:
              type: select.select
              label: Article Text
              description: Select if and how the article text should be shown.
              default: intro
              options:
                intro: Introduction
                full: Full Article
                '': Hide

            article.display.text.limit:
              type: input.text
              label: Text Limit
              description: Type in the number of characters the article text should be limited to.
              default: ''
              pattern: '\d+'

            article.display.text.formatting:
              type: select.select
              label: Text Formatting
              description: Select the formatting you want to use to display the article text.
              default: text
              options:
                text: Plain Text
                html: HTML

            article.display.text.prepare:
              type: input.checkbox
              label: Prepare Content
              description: Use Joomla Content Plugins
              default: false

            article.display.edit:
              type: input.checkbox
              label: Show Edit Link
              description: Display a link to the article edit form
              default: false

            article.display.title.enabled:
              type: select.select
              label: Title
              description: Select if the article title should be shown.
              default: show
              options:
                show: Show
                '': Hide

            article.display.title.limit:
              type: input.text
              label: Title Limit
              description: Enter the maximum number of characters the article title should be limited to.
              pattern: '\d+(\.\d+){0,1}'

            article.display.date.enabled:
              type: select.select
              label: Date
              description: Select if the article date should be shown.
              default: published
              options:
                created: Show Created Date
                published: Show Published Date
                modified: Show Modified Date
                '': Hide

            article.display.date.format:
              type: select.date
              label: Date Format
              description: Select preferred date format. Leave empty not to display a date.
              default: 'l, F d, Y'
              selectize:
                  allowEmptyOption: true
              options:
                  'l, F d, Y': Date1
                  'l, d F': Date2
                  'D, d F': Date3
                  'F d': Date4
                  'd F': Date5
                  'd M': Date6
                  'D, M d, Y': Date7
                  'D, M d, y': Date8
                  'l': Date9
                  'l j F Y': Date10
                  'j F Y': Date11
                  'F d, Y': Date12

        _tab_readmore:
          label: Read More
          fields:
            article.display.read_more.enabled:
              type: select.select
              label: Read More
              description: "Select if the article 'Read More' button should be shown."
              default: show
              options:
                show: Show
                '': Hide

            article.display.read_more.label:
              type: input.text
              label: Read More Label
              description: "Type in the label for the 'Read More' button."
              placeholder: 'Read More...'

            article.display.read_more.css:
              type: input.selectize
              label: Button CSS Classes
              description: "CSS class name for the 'Read More' button."

        _tab_extras:
          label: Extras
          fields:
            article.display.author.enabled:
              type: select.select
              label: Author
              description: Select if the article author should be shown.
              default: show
              options:
                show: Show
                '': Hide

            article.display.category.enabled:
              type: select.select
              label: Category
              description: Select if and how the article category should be shown.
              default: link
              options:
                show: Show
                link: Show with Link
                '': Hide

            article.display.hits.enabled:
              type: select.select
              label: Hits
              description: Select if the article hits should be shown.
              default: show
              options:
                show: Show
                '': Hide

    css.class:
      type: input.selectize
      label: CSS Classes
      description: CSS class name for the particle.

    extra:
      type: collection.keyvalue
      label: Tag Attributes
      description: Extra Tag attributes.
      key_placeholder: 'Key (data-*, style, ...)'
      value_placeholder: Value
      exclude: ['id', 'class']
engines/nucleus/particles/branding.yaml000060400000001275150753125210014312 0ustar00name: Branding
description: Displays powered by link to Gantry Framework
type: particle
icon: fa-trademark

configuration:
  caching:
    type: static

form:
  fields:
    enabled:
      type: input.checkbox
      label: Enabled
      description: Globally enable to the particles.
      default: true

    content:
      type: textarea.textarea
      label: Content
      description: Create or modify custom branding content.
      default: 'Powered by <a href="http://www.gantry.org/" title="Gantry Framework" class="g-powered-by">Gantry Framework</a>'

    css.class:
      type: input.selectize
      label: CSS Classes
      description: CSS class name for the particle.
      default: branding
engines/nucleus/particles/module.yaml000060400000001730150753125210014007 0ustar00name: Module Instance
description: Display a module instance.
type: position
icon: fa-object-ungroup
hidden: false

form:
  fields:
    enabled:
      type: input.checkbox
      label: Enabled
      description: Globally enable module positions.
      default: true

    _info:
      type: separator.note
      class: alert alert-info
      content: 'To edit the Module please use the <a href="index.php?option=com_modules" target="_blank" data-g-urltemplate="index.php?option=com_modules&view=module&task=module.edit&id=#ID#" href="#">Joomla''s Module Manager <i class="fa fa-fw fa-external-link fa-external-link-alt" aria-hidden="true"></i></a>'

    module_id:
      type: gantry.module
      label: Module Id
      class: g-urltemplate input-small
      picker_label: Pick a Module
      description: Enter module Id.
      pattern: '\d+'
      overridable: false

    chrome:
      type: input.text
      label: Chrome
      description: Module chrome.
      placeholder: gantry
engines/nucleus/particles/lightcase.html.twig000060400000000047150753125210015440 0ustar00{% do gantry.load('lightcase.init') %}
engines/nucleus/particles/position.yaml000060400000001031150753125210014360 0ustar00name: Module Position
description: Display a module position.
type: position
icon: fa-object-group
hidden: false

form:
  fields:
    enabled:
      type: input.checkbox
      label: Enabled
      description: Globally enable module positions.
      default: true

    key:
      type: input.text
      label: Key
      description: Position name.
      pattern: '[A-Za-z0-9-]+'
      overridable: false

    chrome:
      type: input.text
      label: Chrome
      description: Module chrome in this position.
      placeholder: gantry
engines/nucleus/particles/mobile-menu.yaml000060400000001243150753125210014732 0ustar00name: Mobile Menu
description: Renders the mobile menu container for the offcanvas section.
type: particle
icon: fa-ellipsis-v
hidden: false

configuration:
  caching:
    type: static

form:
  fields:
    enabled:
      type: input.checkbox
      label: Enabled
      description: Globally enable spacer.
      default: true

    _note:
      type: separator.note
      class: alert alert-info
      content: '<p>This Particle is the container target where, on Mobile, the Menu will be injected.</p><p>Please note that this Particle <strong>must</strong> be unique in the Layout and positioned in the Offcanvas section. You will also need a Menu present in the Layout.</p>'
engines/nucleus/particles/date.html.twig000060400000000320150753125210014404 0ustar00{% extends '@nucleus/partials/particle.html.twig' %}

{% block particle %}
    <div class="g-date">
        <span>{{ "now"|date(particle.date.formats|default('l, F d, Y')) }}</span>
    </div>
{% endblock %}
engines/nucleus/particles/social.yaml000060400000003116150753125210013774 0ustar00name: Social
description: Display social buttons.
type: particle
icon: fa-share-alt

configuration:
  caching:
    type: static

form:
  fields:
    enabled:
      type: input.checkbox
      label: Enabled
      description: Globally enable social particles.
      default: true

    css.class:
      type: input.selectize
      label: CSS Classes
      description: CSS class name for the particle.
      default: social

    title:
      type: input.text
      label: Title
      description: Customize the title text.
      placeholder: Enter title

    target:
      type: select.select
      label: Target
      description: Target browser window when item is clicked.
      placeholder: 'Select...'
      default: ''
      options:
          '': None
          _self: Self
          _parent: Parent
          _top: Top
          _blank: New Window

    display:
      type: input.radios
      label: Display
      description: How to display the Social Icons
      default: both
      options:
        icons_only: Icons Only
        text_only: Text Only
        both: Both

    items:
      type: collection.list
      array: true
      label: Social Items
      description: Create each social item to display.
      value: name
      ajax: true

      fields:
        .name:
          type: input.text
          label: Name
          skip: true

        .icon:
          type: input.icon
          label: Icon

        .text:
          type: input.text
          label: Text

        .title:
          type: input.text
          label: Title

        .link:
          type: input.text
          label: Linkengines/nucleus/particles/spacer.yaml000060400000000720150753125210013775 0ustar00name: Spacer
description: Add empty column to the row.
type: spacer
icon: fa-arrows-h fa-arrows-alt-h
hidden: false

configuration:
  caching:
    type: static

form:
  fields:
    enabled:
      type: input.checkbox
      label: Enabled
      description: Globally enable spacer.
      default: true

    _info:
      type: separator.note
      class: alert alert-info
      content: Add empty spacer column to the row. Shows up as an empty space in your layout.
engines/nucleus/particles/module.html.twig000060400000000340150753125210014756 0ustar00{% extends '@nucleus/partials/particle.html.twig' %}

{% block particle %}
    {{ gantry.platform.displayModule(particle.module_id, {'style': particle.chrome|default('gantry'), 'position': 'particle'})|raw }}
{% endblock %}
engines/nucleus/particles/analytics.html.twig000060400000001053150753125210015462 0ustar00{% if particle.ua.code %}

    {% scripts %}
      <script async src="https://www.googletagmanager.com/gtag/js?id={{ particle.ua.code }}"></script>
    {% endscripts %}

    {% set script %}
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());

      gtag('config', '{{ particle.ua.code }}');

      {% if particle.ua.anonym %}
        gtag('set', { 'anonymize_ip': true });
      {% endif %}
    {% endset %}

    {% do gantry.document.addInlineScript(script, 0) %}
{% endif %}
engines/nucleus/particles/assets.yaml000060400000006072150753125210014030 0ustar00name: Custom CSS / JS
description: Configure custom CSS and Javascript.
type: atom
icon: far fa-file-code

form:
  fields:
    enabled:
      type: input.checkbox
      label: Enabled
      description: Globally enable CSS/JS particles.
      default: true

    css:
      type: collection.list
      array: true
      label: CSS
      description: Add remove or modify custom CSS assets.
      value: name
      ajax: true

      fields:

        .name:
          type: input.text
          label: Name
          skip: true

        .location:
          type: input.filepicker
          label: File Location
          icon: far fa-file-code
          placeholder: 'http://cdn1.remote/file.css'
          filter: '\.(css|less|scss|sass)$'
          root: 'gantry-assets://'

        .inline:
          type: textarea.textarea
          label: Inline CSS
          description: Adds inline CSS for quick snippets.

        _info:
          type: separator.note
          class: alert alert-info
          content: 'Only add your inline CSS code, the &lt;style&gt;&lt;/style&gt; tags will get automatically added for you.'

        .extra:
          type: collection.keyvalue
          label: Tag attributes
          key_placeholder: 'Key (data-*, style, ...)'
          value_placeholder: Value
          exclude: ['rel', 'href', 'type']

        .priority:
          type: input.number
          label: Load Priority
          description: 'Sets the load priority of the asset in the page. Value can be between 10 (first) and -10 (last). Default value is 0.'
          default: 0
          min: -10
          max: 10

    javascript:
      type: collection.list
      array: true
      label: Javascript
      description: Add remove or modify custom Javascript assets.
      value: name
      ajax: true

      fields:

        .name:
          type: input.text
          label: Name
          skip: true

        .location:
          type: input.filepicker
          label: File Location
          icon: far fa-file-code
          placeholder: 'http://cdn1.remote/file.js'
          filter: '\.(jsx?|coffee)$'
          root: 'gantry-assets://'

        .inline:
          type: textarea.textarea
          label: Inline JavaScript
          description: Adds inline JavaScript for quick snippets.

        _info:
          type: separator.note
          class: alert alert-info
          content: 'Only add your inline JavaScript code, the &lt;script&gt;&lt;/script&gt; tags will get automatically added for you.'

        .in_footer:
          type: input.checkbox
          label: 'Before </body>'
          description: Whether you want the script to load at the end of the body tag or inside head
          default: false

        .extra:
          type: collection.keyvalue
          label: Tag attributes
          exclude: ['src', 'type']

        .priority:
          type: input.number
          label: Load Priority
          description: 'Sets the load priority of the asset in the page. Value can be between 10 (first) and -10 (last). Default value is 0.'
          default: 0
          min: -10
          max: 10
engines/nucleus/particles/copyright.html.twig000060400000000652150753125210015507 0ustar00{% extends '@nucleus/partials/particle.html.twig' %}

{% set start_date = particle.date.start|trim in ['now', ''] ? 'now'|date('Y') : particle.date.start|e %}
{% set end_date = particle.date.end|trim in ['now', ''] ? 'now'|date('Y') : particle.date.end|e %}

{% block particle %}
    &copy;
    {% if (start_date != end_date) %}{{ start_date|e }} - {% endif %}
    {{ end_date|e }}
    {{ particle.owner|raw }}
{% endblock %}
engines/nucleus/admin/blueprints/position/chrome.yaml000060400000000514150753125210017133 0ustar00name: Module chrome
description: Module chrome
type: position.chrome

form:
  fields:

    display_title:
      type: enable.enable
      label: Display Title
      description: Display title.
      default: 1

    class:
      type: input.selectize
      label: CSS Classes
      description: Enter CSS class names.
      default:
engines/nucleus/admin/blueprints/layout/block.yaml000060400000003724150753125210016427 0ustar00name: Block
description: Layout block.
type: block

form:
  fields:
    block_container:
      type: container.set
      id: g-settings-block-attributes

      fields:
        id:
          type: input.text
          label: CSS ID
          description: 'Enter the ID for the block without the hash (#) (ie. <code>your-id</code>. You can then reference the element via CSS as <code>#your-id</code>'
          default:

        class:
          type: input.selectize
          label: CSS Classes
          description: Enter CSS class names.
          default:

        variations:
          type: input.block-variations
          label: Variations
          description: Enter Theme Variations.
          default:

        extra:
          type: collection.keyvalue
          label: Tag Attributes
          description: Extra Tag attributes.
          key_placeholder: 'Key (data-*, style, ...)'
          value_placeholder: Value
          exclude: ['id', 'class']

        _inherit:
          type: gantry.inherit

    size_container:
      type: container.set
      id: g-settings-block-size

      fields:
        fixed:
          type: input.checkbox
          label: Fixed Size
          description: Make block size fixed. If set, this block will always take the same amount of space.

        size:
          type: input.text
          label: Block Size
          description: 'Block size in percentages (5-100).'
          class: 'custom-validation-field'
          formnovalidate: true
          pattern: '^([5-9]|[1-9][0-9]|8.3|9.1|11.1|12.5|14.3|16.7|33.3|100)$'
          min: 5
          max: 100
          append:
            type: "text"
            text: "%"

        _note:
          type: separator.note
          class: alert alert-warning center blocksize-note
          content: 'The <em>Block Size</em> can only be set <span class="blocksize-range">between <strong>#min#</strong>% and <strong>#max#</strong>%</span><span class="blocksize-fixed">to <strong>#max#</strong>%</span>'
engines/nucleus/admin/blueprints/layout/section.yaml000060400000001744150753125210017001 0ustar00name: Section
description: Layout section.
type: section

form:
  fields:
    boxed:
      type: select.selectize
      label: Layout
      description: "Select the Layout container behavior. 'Inherit' refers to Page Settings."
      isset: true
      selectize:
        allowEmptyOption: true
      options:
        '': Inherit from Page Settings
        0: Fullwidth (Boxed Content)
        2: Fullwidth (Flushed Content)
        1: Boxed
        3: Remove Container

    class:
      type: input.selectize
      label: CSS Classes
      description: Enter CSS class names.
      default:

    variations:
      type: input.section-variations
      label: Variations
      description: Enter Section Variations.
      default:

    extra:
      type: collection.keyvalue
      label: Tag Attributes
      description: Extra Tag attributes.
      key_placeholder: 'Key (data-*, style, ...)'
      value_placeholder: Value
      exclude: ['id', 'class']

    _inherit:
      type: gantry.inherit
engines/nucleus/admin/blueprints/layout/offcanvas.yaml000060400000002165150753125210017301 0ustar00name: Offcanvas
description: Section outside the viewport.
type: offcanvas

form:
  fields:
    position:
      type: select.selectize
      label: Position
      description: Enter position where you would like see the section.
      default: g-offcanvas-left
      options:
        g-offcanvas-left: Left
        g-offcanvas-right: Right


    class:
      type: input.selectize
      label: CSS Classes
      description: Enter CSS class names.
      default:

    extra:
      type: collection.keyvalue
      label: Tag Attributes
      description: Extra Tag attributes.
      key_placeholder: 'Key (data-*, style, ...)'
      value_placeholder: Value
      exclude: ['id', 'class']

    swipe:
      type: input.checkbox
      label: Swipe Gesture
      description: Enables or disables the Swipe gestures for opening and closing the offcanvas.
      default: 1

    css3animation:
      type: input.checkbox
      label: CSS3 Animation
      description: Animates the offcanvas using translate3d. If causes issues due to fixed elements, disable to fallback to left animation
      default: 1

    _inherit:
      type: gantry.inherit
engines/nucleus/admin/blueprints/layout/inheritance/system.yaml000060400000001573150753125210021152 0ustar00name: Inheritance
description: System inheritance tab
type: system.inheritance

form:
  fields:
    mode:
      type: input.radios
      label: Mode
      description: Whether to clone or inherit the particle properties
      default: inherit
      options:
        clone: Clone
        inherit: Inherit

    outline:
      type: gantry.outlines
      label: Outline
      description: Outline to inherit from.
      selectize:
        allowEmptyOption: true
      options:
        '': No Inheritance

    particle:
      type: gantry.particles
      id: g-inherit-particle
      outline_field: outline
      label: Position Instance
      description: Position to inherit from

    include:
      type: input.multicheckbox
      label: Replace
      description: Which parts of the Position to inherit?
      options:
        attributes: Position Attributes
        block: Block Attributes
engines/nucleus/admin/blueprints/layout/inheritance/position.yaml000060400000001577150753125210021476 0ustar00name: Inheritance
description: Position inheritance tab
type: position.inheritance

form:
  fields:
    mode:
      type: input.radios
      label: Mode
      description: Whether to clone or inherit the particle properties
      default: inherit
      options:
        clone: Clone
        inherit: Inherit

    outline:
      type: gantry.outlines
      label: Outline
      description: Outline to inherit from.
      selectize:
        allowEmptyOption: true
      options:
        '': No Inheritance

    particle:
      type: gantry.particles
      id: g-inherit-particle
      outline_field: outline
      label: Position Instance
      description: Position to inherit from

    include:
      type: input.multicheckbox
      label: Replace
      description: Which parts of the Position to inherit?
      options:
        attributes: Position Attributes
        block: Block Attributes
engines/nucleus/admin/blueprints/layout/inheritance/messages/inherited.yaml000060400000000374150753125210023406 0ustar00name: Inheritance
description: Inherited tab
type: inherited.inheritance

form:
  fields:
    _note:
      type: separator.note
      class: 'alert alert-success blocksize-note'
      content: 'This %s has been inherited by the following Outlines: %s'
engines/nucleus/admin/blueprints/layout/inheritance/messages/empty.yaml000060400000000437150753125210022571 0ustar00name: Inheritance
description: Nothing to inherit tab
type: empty.inheritance

form:
  fields:
    _note:
      type: separator.note
      class: 'alert alert-warning blocksize-note'
      content: 'This item does not exist in any other Outline and cannot be inherited because of that.'
engines/nucleus/admin/blueprints/layout/inheritance/messages/default.yaml000060400000000627150753125210023060 0ustar00name: Inheritance
description: Nothing to inherit tab
type: empty.inheritance

form:
  fields:
    _note:
      type: separator.note
      class: 'alert alert-info blocksize-note'
      content: 'You can inherit sections and particles from Base Outline.'
    _note2:
      type: separator.note
      class: 'alert alert-success blocksize-note'
      content: 'No Outline is currently inheriting this item.'
engines/nucleus/admin/blueprints/layout/inheritance/offcanvas.yaml000060400000001527150753125210021573 0ustar00name: Inheritance
description: Offcanvas inheritance tab
type: offcanvas.inheritance

form:
  fields:
    mode:
      type: input.radios
      label: Mode
      description: 'Whether to clone or inherit the particle properties. <code>inherit</code> makes the Offcanvas identical to that of the inherited outline.'
      default: inherit
      options:
        clone: Clone
        inherit: Inherit

    outline:
      type: gantry.outlines
      label: Outline
      description: Outline to inherit from.
      selectize:
        allowEmptyOption: true
      options:
        '': No Inheritance

    include:
      type: input.multicheckbox
      label: Replace
      description: Which parts of the Offcanvas to inherit?
      options:
        attributes: Offcanvas Attributes
        block: Block Attributes
        children: Particles within Offcanvas
engines/nucleus/admin/blueprints/layout/inheritance/section.yaml000060400000001512150753125210021263 0ustar00name: Inheritance
description: Section inheritance tab
type: section.inheritance

form:
  fields:
    mode:
      type: input.radios
      label: Mode
      description: 'Whether to clone or inherit the section properties. <code>inherit</code> makes the Section identical to that of the inherited outline.'
      default: inherit
      options:
        clone: Clone
        inherit: Inherit

    outline:
      type: gantry.outlines
      label: Outline
      description: Outline to inherit from.
      selectize:
        allowEmptyOption: true
      options:
        '': No Inheritance

    include:
      type: input.multicheckbox
      label: Replace
      description: Which parts of the Section to inherit?
      options:
        attributes: Section Attributes
        block: Block Attributes
        children: Particles within Section
engines/nucleus/admin/blueprints/layout/inheritance/particle.yaml000060400000001577150753125210021435 0ustar00name: Inheritance
description: Particle inheritance tab
type: particle.inheritance

form:
  fields:
    mode:
      type: input.radios
      label: Mode
      description: Whether to clone or inherit the particle properties
      default: inherit
      options:
        clone: Clone
        inherit: Inherit

    outline:
      type: gantry.outlines
      label: Outline
      description: Outline to inherit from.
      selectize:
        allowEmptyOption: true
      options:
        '': No Inheritance

    particle:
      type: gantry.particles
      id: g-inherit-particle
      outline_field: outline
      label: Particle Instance
      description: Particle to inherit from

    include:
      type: input.multicheckbox
      label: Replace
      description: Which parts of the Particle to inherit?
      options:
        attributes: Particle Attributes
        block: Block Attributes
engines/nucleus/admin/blueprints/layout/inheritance/atom.yaml000060400000001467150753125210020570 0ustar00name: Inheritance
description: Atom inheritance tab
type: atom.inheritance

form:
  fields:
    mode:
      type: input.radios
      label: Mode
      description: Whether to clone or inherit the atom properties
      default: inherit
      options:
        clone: Clone
        inherit: Inherit

    outline:
      type: gantry.outlines
      label: Outline
      description: Outline to inherit from.
      selectize:
        allowEmptyOption: true
      options:
        '': No Inheritance

    atom:
      type: gantry.atoms
      id: g-inherit-atom
      outline_field: outline
      label: Atom Instance
      description: Atom to inherit from

    include:
      type: input.multicheckbox
      label: Replace
      description: Which parts of the Atom to inherit?
      options:
        attributes: Atom Attributes
engines/nucleus/admin/blueprints/layout/container.yaml000060400000001460150753125210017312 0ustar00name: Container
description: Layout container.
type: container

form:
  fields:
    boxed:
      type: select.selectize
      label: Layout
      description: "Select the Layout container behavior. 'Inherit' refers to Page Settings."
      isset: true
      selectize:
        allowEmptyOption: true
      options:
        '': Inherit from Page Settings
        0: Fullwidth (Boxed Content)
        2: Fullwidth (Flushed Content)
        1: Boxed
        3: Remove Container

    class:
      type: input.selectize
      label: CSS Classes
      description: Enter CSS class names.
      default:

    extra:
      type: collection.keyvalue
      label: Tag Attributes
      description: Extra Tag attributes.
      key_placeholder: 'Key (data-*, style, ...)'
      value_placeholder: Value
      exclude: ['class']
engines/nucleus/admin/blueprints/menu/block.yaml000060400000000617150753125210016054 0ustar00name: Block
description: Layout block.
type: block

form:
  fields:
    class:
      type: input.selectize
      label: CSS Classes
      description: Enter CSS class names.

    extra:
      type: collection.keyvalue
      label: Tag Attributes
      description: Extra Tag attributes.
      key_placeholder: 'Key (data-*, style, ...)'
      value_placeholder: Value
      exclude: ['id', 'class']
engines/nucleus/images/select-bg.svg000064400000000770150753125210013512 0ustar00<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1854.54 295" preserveAspectRatio="xMinYMid" width="1854.54" height="295"><path d="M1825.1,145.7l6.9,6.9c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0,0.3-0.1l6.9-6.9c0.1-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3l-0.7-0.7c-0.1-0.1-0.2-0.1-0.3-0.1s-0.2,0-0.3,0.1l-5.8,5.8l-5.8-5.8c-0.1-0.1-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0.1l-0.7,0.7c-0.1,0.1-0.1,0.2-0.1,0.3C1824.9,145.5,1825,145.6,1825.1,145.7z" fill="#000"/><rect width="1810" height="295" fill="#fff"/></svg>
engines/nucleus/images/select-bg-rtl.svg000064400000000603150753125210014304 0ustar00<svg xmlns="http://www.w3.org/2000/svg" width="1854.539" height="295" preserveAspectRatio="xMinYMin meet"><path d="M13.573 145.7l6.9 6.9c.1.1.2.1.3.1s.2 0 .3-.1l6.9-6.9c.1-.1.1-.2.1-.3s0-.2-.1-.3l-.7-.7c-.1-.1-.2-.1-.3-.1s-.2 0-.3.1l-5.8 5.8-5.8-5.8c-.1-.1-.2-.1-.3-.1s-.2 0-.3.1l-.7.7c-.1.1-.1.2-.1.3-.296.1-.195.2-.096.3h-.002z"/><path fill="#fff" d="M44.54 0h1810v295h-1810z"/></svg>
engines/nucleus/images/select-bg-active.svg000064400000000713150753125210014760 0ustar00<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1854.54 295" preserveAspectRatio="xMinYMid" width="1854.54" height="295"><path d="M1825.1,145.7l6.9,6.9c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0,0.3-0.1l6.9-6.9c0.1-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3l-0.7-0.7c-0.1-0.1-0.2-0.1-0.3-0.1s-0.2,0-0.3,0.1l-5.8,5.8l-5.8-5.8c-0.1-0.1-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0.1l-0.7,0.7c-0.1,0.1-0.1,0.2-0.1,0.3C1824.9,145.5,1825,145.6,1825.1,145.7z" fill="#fff"/></svg>
engines/nucleus/images/select-bg-active-rtl.svg000064400000000776150753125210015570 0ustar00<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1854.54 295" preserveAspectRatio="xMinYMid" width="1854.54" height="295"><path d="m14.47 145.7 6.898 6.899c0.102 0.101 0.199 0.101 0.3 0.101 0.102 0 0.2 0 0.302-0.101l6.898-6.899c0.102-0.1 0.102-0.2 0.102-0.3s0-0.2-0.102-0.3l-0.7-0.7c-0.101-0.1-0.198-0.1-0.3-0.1-0.101 0-0.2 0-0.301 0.1l-5.8 5.8-5.801-5.8c-0.101-0.1-0.199-0.1-0.301-0.1-0.101 0-0.199 0-0.301 0.1l-0.699 0.7c-0.101 0.1-0.101 0.2-0.101 0.3-0.294 0.1-0.194 0.2-0.094 0.3z" fill="#fff"/></svg>
engines/nucleus/layouts/_joomla_-_beez3.yaml000060400000001220150753125210015152 0ustar00version: 2

preset:
  image: gantry-admin://images/layouts/3-col.png

layout:
  /header/:
    - [logo, position-0]

  /navigation/:
    - menu

  /container-main/:
    -
      - sidebar 20:
        - position-7
        - position-4
        - position-5
      - main 60:
        - position-2
        - position-12
        - system-messages
        - system-content
      - aside 20:
        - position-6
        - position-8
        - position-3

  /footer/:
    - [position-9, position-10, position-11]
    - position-14

  offcanvas:
    - mobile-menu

structure:
  sidebar:
    subtype: aside
    block:
      fixed: 1
  aside:
    block:
      fixed: 1
engines/nucleus/layouts/_joomla_-_protostar.yaml000060400000001105150753125210016201 0ustar00version: 2

preset:
  image: gantry-admin://images/layouts/3-col.png

layout:
  /header/:
    - [logo 50, position-0 50]

  /navigation/:
    - menu

  /container-main/:
    -
      - sidebar 20:
        - position-8
      - main 60:
        - position-3
        - system-messages
        - system-content
        - position-2
      - aside 20:
        - position-7

  /footer/:
    - position-footer
    - [copyright 40, spacer 30, branding 30]

  offcanvas:
    - mobile-menu

structure:
  sidebar:
    subtype: aside
    block:
      fixed: 1
  aside:
    block:
      fixed: 1
engines/nucleus/layouts/_joomla_-_gantry4.yaml000060400000003277150753125210015550 0ustar00version: 2

preset:
  image: gantry-admin://images/layouts/3-col.png

layout:
  /drawer/:
    - [position-drawer 100]

  /top/:
    - [position-top-a 33.3,position-top-b 33.3,position-top-c 33.3]

  /navigation/:
    - [position-header-a 30, menu 70]

  /showcase/:
    - [position-showcase-a 33.3,position-showcase-b 33.3,position-showcase-c 33.3]

  /feature/:
    - [position-feature-a 33.3,position-feature-b 33.3,position-feature-c 33.3]

  /utility/:
    - [position-utility-a 33.3,position-utility-b 33.3,position-utility-c 33.3]

  /breadcrumb/:
    - [position-breadcrumb 100]

  /maintop/:
    - [position-maintop-a 33.3,position-maintop-b 33.3,position-maintop-c 33.3]

  /container-main/:
    -
      - main-mainbody 80:
        - system-messages
        - [position-content-top-a 33.3,position-content-top-b 33.3,position-content-top-c 33.3]
        - system-content
        - [position-content-bottom-a 33.3,position-content-bottom-b 33.3,position-content-bottom-c 33.3]
      - sidebar 20:
        - position-sidebar-a
        - position-sidebar-b
        - position-sidebar-c

  /mainbottom/:
    - [position-mainbottom-a 33.3,position-mainbottom-b 33.3,position-mainbottom-c 33.3]

  /extension/:
    - [position-extension-a 33.3,position-extension-b 33.3,position-extension-c 33.3]

  /bottom/:
    - [position-bottom-a 33.3,position-bottom-b 33.3,position-bottom-c 33.3]

  /footer/:
    - [position-footer-a 33.3,position-footer-b 33.3,position-footer-c 33.3]

  /copyright/:
    - [position-copyright-a 33.3,position-copyright-b 33.3,position-copyright-c 33.3]
    - [copyright 40, spacer 30, branding 30]

  offcanvas:
    - mobile-menu

structure:
  sidebar:
    subtype: aside
    block:
      fixed: 1
engines/nucleus/css/nucleus-ie9.css000060400000001735150753125210013321 0ustar00/* IE9 Resets and Normalization */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
}

[hidden],
template {
	display: none;
}

abbr[title] {
	border-bottom: 1px dotted;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

button {
	overflow: visible;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

/* IE9 Grid Tweaks */
.g-grid {
	letter-spacing: -0.31em;
}
.g-block {
	display: inline-block;
	letter-spacing: normal;
	zoom: 1;
	vertical-align: top;
}

/* OffCanvas */
#g-offcanvas {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	position: static !important;
}

[data-offcanvas-toggle], [data-offcanvas-open], [data-offcanvas-close] { display: none; }engines/nucleus/templates/content/particle.html.twig000060400000003067150753125210016767 0ustar00{% try %}
    {% set in_particle = (in_particle ?? 0) + 1 %}
    {% if in_particle > 5 %}
        {% throw 500 'Particle loop detected' %}
    {% endif %}

    {% set id = segment.id %}
    {% if not particle %}
        {% if noConfig %}
            {% set enabled = true %}
            {% set particle = segment.attributes %}
        {% else %}
            {% set enabled = gantry.config.get('particles.' ~ segment.subtype ~ '.enabled', 1) %}
            {% set particle = gantry.config.getJoined('particles.' ~ segment.subtype, segment.attributes) %}
        {% endif %}
    {% endif %}

    {% set html %}
        {% if enabled and (segment.attributes.enabled is null or segment.attributes.enabled) %}
            {% include ['particles/' ~ segment.subtype ~ '.html.twig',
            '@particles/' ~ segment.subtype ~ '.html.twig',
            '@nucleus/content/missing.html.twig'] %}
        {% endif %}
    {% endset %}
    {% set html = html|trim %}

    {% set classes = ((not inContent ? 'g-content g-particle ' : 'g-particle ') ~ segment.classes|join(' '))|trim %}
    {%- if html -%}
            {% if gantry.debug %}<!-- START PARTICLE {{ id }} -->{% endif %}

            {% if ajax is not defined %}<div id="{{ id }}-particle" class="{{ classes }}">{% endif %}
            {{ html|raw }}
            {% if ajax is not defined %}</div>{% endif %}
            {% if gantry.debug %}<!-- END PARTICLE {{ id }} -->{% endif %}
    {%- endif -%}

{% catch %}
    <div class="alert alert-error"><strong>Error</strong> while rendering {{ segment.subtype }} particle.</div>
{% endtry %}
engines/nucleus/templates/content/atom.html.twig000060400000000155150753125210016117 0ustar00{% extends '@nucleus/content/particle.html.twig' %}

{# Handle atoms, which are special case of particles #}
engines/nucleus/templates/content/spacer.html.twig000060400000000626150753125210016437 0ustar00{% if not particle %}
    {% set enabled = gantry.config.get('particles.' ~ segment.type ~ '.enabled', 1) %}
    {% set spacer = gantry.config.getJoined('particles.' ~ segment.type, segment.attributes) %}
{% endif %}

{% if enabled and (segment.attributes.enabled is null or segment.attributes.enabled) %}
    <div class="spacer{{ segment.classes ? ' ' ~ segment.classes|join(' ')|e }}"></div>
{% endif %}
engines/nucleus/templates/content/unknown.html.twig000060400000000324150753125210016654 0ustar00{% if gantry.debug or not gantry.global.get('production') %}
<div class="alert alert-error"><strong>Warning:</strong> Content type {{ segment.type }} {{ segment.options.type }} is not supported.</div>
{% endif %}engines/nucleus/templates/content/system.html.twig000060400000001326150753125210016504 0ustar00{% set subtype = segment.subtype|default(segment.type) %}
{% set enabled = gantry.config.get('particles.' ~ subtype ~ '.enabled', 1) %}

{% set html %}
    {% if enabled and (segment.attributes.enabled is null or segment.attributes.enabled) %}
        {% if subtype == 'content' %}
            {% set class = 'g-content' %}
            {{ content|raw }}
        {% elseif subtype == 'messages' %}
            {% set class = 'g-system-messages' %}
            {{ gantry.platform.displaySystemMessages()|raw }}
        {% endif %}
    {% endif %}
{% endset %}

{% if html|trim %}
    <div class="{{ class ~ (segment.attributes.class ? ' ' ~ segment.attributes.class|join(' ')) }}">
        {{ html|raw }}
    </div>
{% endif %}
engines/nucleus/templates/content/missing.html.twig000060400000000203150753125210016622 0ustar00<div class="alert alert-error"><strong>Missing content:</strong> '{{ segment.subtype }}' {{ segment.type }} cannot be found.</div>
engines/nucleus/templates/content/position.html.twig000060400000002154150753125210017024 0ustar00{% try %}
    {% if not particle %}
        {% set enabled = gantry.config.get('particles.' ~ segment.type ~ '.enabled', 1) %}
        {% set particle = gantry.config.getJoined('particles.' ~ segment.type, segment.attributes) %}
    {% endif %}

    {% set html %}
        {% if enabled and (segment.attributes.enabled is null or segment.attributes.enabled) %}
            {% include ['particles/' ~ segment.subtype|default('position') ~ '.html.twig',
            '@particles/' ~ segment.subtype|default('position') ~ '.html.twig'] %}
        {% endif %}
    {% endset %}

    {%- if html|trim %}
        {% if gantry.debug and segment.attributes.key %}<!-- START POSITION {{ segment.attributes.key }} -->{% endif %}

        <div class="g-content{{ segment.classes ? ' ' ~ segment.classes|join(' ')|e }}">
            {{ html|raw }}
        </div>
        {% if gantry.debug and segment.attributes.key %}<!-- END POSITION {{ segment.attributes.key }} -->{% endif %}
    {% endif %}

{% catch %}
    <div class="alert alert-error"><strong>Error</strong> while rendering {{ segment.subtype|default('position') }}.</div>
{% endtry %}
engines/nucleus/templates/page_head.html.twig000060400000011076150753125210015406 0ustar00{%- do gantry.debugger.assets() -%}
{%- do gantry.theme.loadAtoms() -%}

{% set faEnabled = gantry.config.page.fontawesome.enable|default(1) %}
{% set faVersion = gantry.config.page.fontawesome.version ?? gantry.config.page.fontawesome.default_version ?? 'fa4' %}
{% assets with { priority: 10 } %}
    {% block head_stylesheets -%}
        <link rel="stylesheet" href="gantry-engine://css-compiled/nucleus.css" type="text/css"/>
        {% for scss in gantry.theme.configuration.css.persistent|default(gantry.theme.configuration.css.files) %}
        <link rel="stylesheet" href="{{ scss }}.scss" type="text/css"/>
        {%- endfor %}
    {% endblock -%}

    {% block head_scripts -%}
        {% if faEnabled %}
            {% if faVersion == 'manual' or gantry.config.page.fontawesome.html_js_import|trim %}
                {{ gantry.config.page.fontawesome.html_js_import|html|raw -}}
            {% elseif faVersion == 'fa5js' %}
                <script type="text/javascript" src="{{ url('gantry-assets://js/font-awesome5-all.min.js') }}"></script>
                {% if gantry.config.page.fontawesome.fa4_compatibility|default(1) %}
                    <script type="text/javascript" src="{{ url('gantry-assets://js/font-awesome5-shim.min.js') }}"></script>
                {% endif %}
            {% endif %}
        {% endif %}
    {% endblock -%}

    {% block head_platform %}{% endblock %}

    {% block head_overrides -%}
        {% if faEnabled %}
            {% if faVersion == 'manual' or gantry.config.page.fontawesome.html_css_import|trim %}
                {{ gantry.config.page.fontawesome.html_css_import|html|raw -}}
            {% elseif faVersion == 'fa4' %}
                <link rel="stylesheet" href="gantry-assets://css/font-awesome.min.css" type="text/css"/>
            {% elseif faVersion == 'fa5css' %}
                <link rel="stylesheet" href="gantry-assets://css/font-awesome5-all.min.css" type="text/css">
                {% if gantry.config.page.fontawesome.fa4_compatibility|default(1) %}
                    <link rel="stylesheet" href="gantry-assets://css/font-awesome5-shim.min.css" type="text/css">
                {% endif %}
            {% elseif (faVersion == 'fa5js' or (faVersion == 'manual' and gantry.config.page.fontawesome.html_js_import)) and (gantry.config.page.fontawesome.content_compatibility|default(1)) %}
                <link rel="stylesheet" href="gantry-assets://css/font-awesome5-pseudo.min.css" type="text/css">
            {% endif %}
        {% endif %}
        {% for scss in gantry.theme.configuration.css.overrides %}
        <link rel="stylesheet" href="{{ scss }}.scss" type="text/css"/>
        {%- endfor %}
    {% endblock -%}
{% endassets -%}

<head>
    {{ gantry.document.getHtml('head_top')|join("\n    ")|raw }}
    {% block head_meta %}
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        {% if gantry.config.page.head.meta -%}
            {% for attributes in gantry.config.page.head.meta -%}
                {%- for key, value in attributes %}
                    {% if key starts with 'og:' %}
                    <meta property="{{ key|e }}" content="{{ value|e }}" />
                    {% else %}
                    <meta name="{{ key|e }}" content="{{ value|e }}" />
                    {% endif %}
                {% endfor -%}
            {%- endfor -%}
        {%- endif -%}
        {{ gantry.document.getHtml('head_meta')|join("\n    ")|raw }}

        {% if gantry.config.page.assets.favicon %}
        <link rel="icon" type="image/x-icon" href="{{ url(gantry.config.page.assets.favicon) }}" />
        {% endif %}

        {% if gantry.config.page.assets.touchicon %}
        <link rel="apple-touch-icon" sizes="180x180" href="{{ url(gantry.config.page.assets.touchicon) }}">
        <link rel="icon" sizes="192x192" href="{{ url(gantry.config.page.assets.touchicon) }}">
        {% endif %}
    {% endblock %}

    {%- block head_title -%}
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Title</title>
    {%- endblock %}

    {% block head_application -%}
        {{ gantry.styles('head')|join("\n")|raw }}
        {{ gantry.scripts('head')|join("\n")|raw }}
    {%- endblock %}

    {% block head_ie_stylesheets -%}
    {% endblock -%}

    {% block head %}{% endblock -%}
    {% block head_custom %}
        {% if gantry.config.page.head.head_bottom %}
        {{ gantry.config.page.head.head_bottom|raw }}
        {% endif %}
    {% endblock -%}
    {{ gantry.document.getHtml('head_bottom')|join("\n    ")|raw }}
</head>
engines/nucleus/templates/page.html.twig000060400000006454150753125210014431 0ustar00{%- do gantry.debugger.startTimer('render', 'Rendering page') %}
{%- do gantry.theme.setLayout() -%}
{%- do gantry.theme.loadAtoms() -%}
{%- set segments = gantry.theme.segments() -%}

{%- set content %}
    {% if gantry.theme.hasContent() %}
        {% block content %}
        {% endblock %}
    {% endif %}
{% endset -%}

{%- set offcanvas = null -%}
{%- for segment in segments %}
    {% if segment.type == 'offcanvas' %}
        {%- set offcanvas = segment -%}
    {% endif %}
{% endfor -%}

{%- set page_offcanvas %}
    {% block page_offcanvas %}
        {% if offcanvas %}
            {% include '@nucleus/layout/' ~ offcanvas.type ~ '.html.twig' with { 'segment': offcanvas } -%}
        {% endif %}
    {% endblock %}
{% endset -%}

{%- set page_offcanvas = page_offcanvas|trim ?: '' %}
{%- set offcanvas_position = page_offcanvas ? offcanvas.attributes.position|default('g-offcanvas-left') : '' -%}

{%- set page_layout %}
    {% block page_layout %}
    {% for segment in segments %}
        {% if segment.type != 'offcanvas' %}
            {% include '@nucleus/layout/' ~ segment.type ~ '.html.twig' with { 'segments': segment.children } %}
        {% endif %}
    {% endfor %}
    {% endblock %}
{% endset -%}

{%- set page_top %}
    {% block page_top %}
    {% endblock %}
    {{ gantry.document.getHtml('top')|join("\n    ")|raw }}
{% endset -%}

{%- set page_bottom %}
    {% block page_bottom %}
    {% endblock %}
    {{ gantry.document.getHtml('bottom')|join("\n    ")|raw }}
{% endset -%}

{%- set body_top %}
    {% block body_top %}
    {% endblock %}
    {{ gantry.document.getHtml('body_top')|join("\n    ")|raw }}
{% endset -%}

{%- set body_bottom %}
    {% block body_bottom %}
    {% endblock %}
    {{ gantry.document.getHtml('body_bottom')|join("\n    ")|raw }}
{% endset -%}

{%- do gantry.document.addScript(url('gantry-assets://js/main.js'), 11, 'footer') -%}

{# Head and footer needs to come last because of any of the above blocks may have CSS or JavaScript in them #}

{%- set page_head %}
    {% block page_head -%}
        {% include 'partials/page_head.html.twig' %}
    {%- endblock %}
{% endset -%}

{%- set page_footer %}
    {% block page_footer %}
        {% do gantry.platform.finalize() -%}
        {{ gantry.scripts('footer')|join("\n    ")|raw -}}
    {% endblock %}

    {{ gantry.debugger.render()|raw }}
{% endset -%}

{%- block page -%}
<!DOCTYPE {{ gantry.config.page.doctype|default('html')|raw }}>
<html{{ gantry.page.htmlAttributes|raw }}>
    {{ page_head|raw }}
    {% block page_body -%}
    <body{{ gantry.page.bodyAttributes({'class': [offcanvas_position, gantry.page.preset, 'g-style-' ~ gantry.theme.preset]})|raw }}>
        {{ gantry.config.page.body.body_top|raw }}
        {{ body_top|raw }}
        {{ page_offcanvas|raw }}
        <div id="g-page-surround">
            {% if page_offcanvas|trim -%}
            <div class="g-offcanvas-hide g-offcanvas-toggle" role="navigation" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div>
            {%- endif %}
            {{ page_top|raw }}
            {{ page_layout|raw }}
            {{ page_bottom|raw }}
        </div>
        {{ body_bottom|raw }}
        {{ page_footer|raw }}
        {{ gantry.config.page.body.body_bottom|raw }}
    </body>
    {%- endblock %}

</html>
{% endblock -%}
engines/nucleus/templates/layout/container.html.twig000060400000002206150753125210017003 0ustar00{% set html %}
    {% for segment in segments %}
        {% include '@nucleus/layout/' ~ segment.type ~ '.html.twig' with { 'segments': segment.children } %}
    {% endfor %}
{% endset %}

{% if segment.attributes.sticky or html|trim %}
    {% set attr_id = segment.attributes.id ?: 'g-' ~ segment.id %}
    {% set boxed = segment.attributes.boxed %}
    {% if boxed is not null %}
        {% set boxed = boxed|trim == '' ? gantry.config.page.body.layout.sections : boxed %}
    {% endif %}
    {% set class = 'g-wrapper' ~ (segment.attributes.class ? ' ' ~ segment.attributes.class) %}
    {% set attr_extra = segment.attributes.extra|attribute_array %}

    {% if boxed is not null and (boxed == 0 or boxed == 2) %}
        {% set html %}
        <div class="g-container{{ boxed == 2 ? ' g-flushed' }}">{{ html|raw }}</div>
        {% endset %}
    {% endif %}

    {% set html %}
    <section id="{{ attr_id }}" class="{{ class }}" {{- attr_extra|raw }}>
        {{ html|raw }}
    </section>
    {% endset %}

    {% if boxed == 1 %}
        <div class="g-container">{{ html|raw }}</div>
    {% else %}
        {{ html|raw }}
    {% endif %}
{% endif %}
engines/nucleus/templates/layout/section.html.twig000060400000002620150753125210016465 0ustar00{% set tag_type = segment.subtype|default('section') %}
{% set attr_id = segment.attributes.id ?: 'g-' ~ segment.id %}
{% set attr_class = segment.attributes.class
    ~ (segment.attributes.variations ? ' ' ~ segment.attributes.variations|join(' ')) %}
{% set attr_extra = segment.attributes.extra|attribute_array %}
{% set boxed = segment.attributes.boxed %}
{% if boxed is not null %}
    {% set boxed = boxed|trim == '' ? gantry.config.page.body.layout.sections : boxed %}
{% endif %}

{%- set html %}
    {% if segment.children %}
        {% for segment in segments %}
            {% include '@nucleus/layout/' ~ segment.type ~ '.html.twig' with { 'segments':segment.children } %}
        {% endfor %}
    {% endif %}
{% endset %}

{%- if segment.attributes.sticky or html|trim %}
    {%- if boxed is not null and (boxed == 0 or boxed == 2) %}
        {% set html %}
        <div class="g-container">{{ html|raw }}</div>
        {% endset %}
    {% endif %}

    {% set html %}
    {% if boxed == 2 %}{% set attr_class = attr_class ~ ' g-flushed' %}{% endif %}
    {% set attr_class = attr_class ? ' class="' ~ attr_class|trim ~ '"' -%}
    <{{ tag_type }} id="{{ attr_id }}"{{ attr_class|raw }} {{- attr_extra|raw }}>
        {{ html|raw }}
    </{{ tag_type }}>
    {%- endset %}

    {%- if boxed == 1 %}
    <div class="g-container">{{ html|raw }}</div>
    {% else %}
    {{ html|raw }}
    {% endif %}
{% endif %}
engines/nucleus/templates/layout/grid.html.twig000060400000001151150753125210015744 0ustar00{% set attr_extra = segment.attributes.extra|attribute_array %}
{% set class = 'g-grid' ~ (segment.attributes.class ? ' ' ~ segment.attributes.class|join(' ')) %}

{%- set html %}
    {% if segment.children %}
        {% for segment in segments %}
            {% include '@nucleus/layout/' ~ segment.type ~ '.html.twig' with { 'segments':segment.children } %}
        {% endfor %}
    {% endif %}
{% endset %}

{%- if html|trim %}
        <div {% if segment.attributes.id %}id="{{ segment.attributes.id|e }}" {% endif %}class="{{ class }}" {{- attr_extra|raw }}>
          {{- html|raw -}}
        </div>
{% endif %}
engines/nucleus/templates/layout/atoms.html.twig000060400000000375150753125210016151 0ustar00{%- set invisible %}
    {% if segment.children %}
        {% for segment in segments %}
            {% include '@nucleus/layout/' ~ segment.type ~ '.html.twig' with { 'segments': segment.children } %}
        {% endfor %}
    {% endif %}
{% endset -%}
engines/nucleus/templates/layout/wrapper.html.twig000060400000001024150753125210016476 0ustar00{% set html %}
    {% for segment in segments %}
        {% include '@nucleus/layout/' ~ segment.type ~ '.html.twig' with { 'segments': segment.children } %}
    {% endfor %}
{% endset %}

{% if segment.attributes.sticky or html|trim %}
    {% set attr_id = segment.attributes.id|default('g-' ~ segment.id) %}
    {% set attr_extra = segment.attributes.extra|attribute_array %}

    <div id="{{ attr_id }}" {{- attr_extra|raw }} class="{{ segment.attributes.class|default(attr_id) }}">
        {{ html|raw }}
    </div>
{% endif %}
engines/nucleus/templates/layout/offcanvas.html.twig000060400000001233150753125210016766 0ustar00{% set attr_class = segment.attributes.class ? ' class="' ~ segment.attributes.class|e ~ '"' %}
{% set attr_extra = segment.attributes.extra|attribute_array %}

{% set offcanvas %}
    {% for child in segment.children %}
        {% include '@nucleus/layout/' ~ child.type ~ '.html.twig' with { 'segments': child.children } %}
    {% endfor %}
{% endset %}

{%- if segment.attributes.sticky or offcanvas|trim -%}
<div id="g-offcanvas" {{ attr_class|raw }} {{- attr_extra|raw }} data-g-offcanvas-swipe="{{ segment.attributes.swipe|default('1') }}" data-g-offcanvas-css3="{{ segment.attributes.css3animation|default('1') }}">
    {{ offcanvas|raw -}}
</div>
{% endif %}
engines/nucleus/templates/layout/block.html.twig000060400000001643150753125210016117 0ustar00{% set attr_extra = segment.attributes.extra|attribute_array %}

{% set class = 'g-block ' ~ segment.attributes.size|toGrid
    ~ (segment.attributes.variations ? ' ' ~ segment.attributes.variations|join(' '))
    ~ (segment.attributes.class ? ' ' ~ segment.attributes.class|join(' ')) %}

{% set html %}
    {% if segment.children %}
        {% for segment in segments %}
            {% if segment.content %}
                {{ segment.content|raw }}
            {% else %}
                {% include ['@nucleus/content/' ~ segment.type ~ '.html.twig', '@nucleus/layout/' ~ segment.type ~ '.html.twig'] with { 'segments': segment.children } %}
            {% endif %}
        {% endfor %}
    {% endif %}
{% endset %}

{%- if html|trim %}
        <div {% if segment.attributes.id %}id="{{ segment.attributes.id }}" {% endif %}class="{{ class }}" {{- attr_extra|raw }}>
             {{ html|trim|raw }}
        </div>
{% endif -%}
engines/nucleus/templates/partials/particle.html.twig000060400000000401150753125210017121 0ustar00{% assets %}
    {% block stylesheets %}
    {% endblock %}

    {% block javascript %}
    {% endblock %}
{% endassets -%}

{% assets in 'footer' %}
    {% block javascript_footer %}
    {% endblock %}
{% endassets -%}

{% block particle %}
{% endblock %}
engines/nucleus/blueprints/page/body.yaml000060400000002173150753125210014576 0ustar00name: Body Attributes
description: Settings that can be applied to the page.
type: global

form:
  fields:

    attribs.id:
      type: input.text
      label: Body Id
      default:

    attribs.class:
      type: input.selectize
      label: Body Classes
      default: gantry

    attribs.extra:
      type: collection.keyvalue
      label: Tag Attributes
      description: Extra Tag attributes.
      key_placeholder: 'Key (data-*, style, ...)'
      value_placeholder: Value
      exclude: ['id', 'class']

    layout.sections:
      type: select.selectize
      label: Sections Layout
      description: Default layout container behavior for Sections
      default: 0
      options:
        0: Fullwidth (Boxed Content)
        2: Fullwidth (Flushed Content)
        1: Boxed
        3: Remove Container

    body_top:
      type: textarea.textarea
      label: 'After <body>'
      description: Anything in this field will be appended right after the opening body tag

    body_bottom:
      type: textarea.textarea
      label: 'Before </body>'
      description: Anything in this field will be appended right before the closing body tag
engines/nucleus/blueprints/page/fontawesome.yaml000064400000004026150753125210016173 0ustar00name: Font Awesome Settings
description: Configuration for Font Awesome icon set and toolkit.
type: global

form:
  fields:

    _info:
      type: separator.note
      condition: override
      content: Set your Font Awesome settings in the <strong>Base Outline</strong>. These settings should not be overridden <strong>here</strong>.

    enable:
      type: enable.enable
      label: Enable
      description: Enable or disable the loading of the Font Awesome icon library on the frontend. This is useful if you want to manually add a different version of the library (e.g. paid version).
      default: 1

    version:
      type: select.select
      label: Version
      description: Specify which version of the Font Awesome icon library should be loaded on the frontend. You can also completely disable Font Awesome or specify the import tags yourself in the textfield below.
      default: fa4
      options:
        fa4: Font Awesome 4 (legacy)
        fa5css: Font Awesome 5 Free (Webfont / CSS)
        fa5js: Font Awesome 5 Free (SVG / JS)

    fa4_compatibility:
      type: enable.enable
      label: V4 Compatibility
      description: Enable or disable the backwards compatibility for version 4.x of the Font Awesome library when using version 5.x.
      default: 1

    content_compatibility:
      type: enable.enable
      label: Content Compatibility
      description: Enable or disable the content (pseudo-element) compatibility when using the SVG / JS version of Font Awesome 5.x. This also applies when loading the library manually.
      default: 1

    html_css_import:
      type: textarea.textarea
      label: CSS Link HTML (Manual Override)
      description: Enter your HTML to manually load the CSS files of the Font Awesome library. This option replaces the Gantry version of the library.

    html_js_import:
      type: textarea.textarea
      label: JS Script HTML (Manual Override)
      description: Enter your HTML to manually load the JS files of the Font Awesome library. This option replaces the Gantry version of the library.
engines/nucleus/blueprints/page/head.yaml000060400000001162150753125210014537 0ustar00name: Head Properties
description: Settings that can be applied to the page.
type: global

form:
  fields:

    meta:
      type: collection.keyvalue
      label: Meta Tags
      description: Meta Tags for extras such as Facebook and Twitter.
      key_placeholder: 'og:title, og:site_name, twitter:site'
      value_placeholder: Value
      default:

    head_bottom:
      type: textarea.textarea
      label: Custom Content
      description: Anything in this field will be appended to the head tag

    atoms:
      type: input.hidden
      override_target: '#atoms .atoms-list + input[type="checkbox"]'
      array: true
engines/nucleus/blueprints/page/assets.yaml000060400000006341150753125210015144 0ustar00name: Assets
description: Assets such as JS and CSS that can be globally loaded
type: global

form:
  fields:

    favicon:
      type: input.imagepicker
      label: Favicon
      filter: '.(jpe?g|gif|png|svg|ico)$'

    touchicon:
      type: input.imagepicker
      label: Touch Icon
      description: 'A PNG only image that will be used as icon for Touch Devices. Recommended 180x180 or 192x192.'
      filter: '.png$'

    css:
      type: collection.list
      array: true
      label: CSS
      description: Add remove or modify custom CSS assets.
      value: name
      ajax: true

      fields:

        .name:
          type: input.text
          label: Name
          skip: true

        .location:
          type: input.filepicker
          label: File Location
          icon: far fa-file-code
          placeholder: 'http://cdn1.remote/file.css'
          filter: '\.(css|less|scss|sass)$'
          root: 'gantry-assets://'

        .inline:
          type: textarea.textarea
          label: Inline CSS
          description: Adds inline CSS for quick snippets.

        _info:
          type: separator.note
          class: alert alert-info
          content: 'Only add your inline CSS code, the &lt;style&gt;&lt;/style&gt; tags will get automatically added for you.'

        .extra:
          type: collection.keyvalue
          label: Tag attributes
          key_placeholder: 'Key (data-*, style, ...)'
          value_placeholder: Value
          exclude: ['rel', 'href', 'type']

        .priority:
          type: input.number
          label: Load Priority
          description: 'Sets the load priority of the asset in the page. Value can be between 10 (first) and -10 (last). Default value is 0.'
          default: 0
          min: -10
          max: 10

    javascript:
      type: collection.list
      array: true
      label: Javascript
      description: Add remove or modify custom Javascript assets.
      value: name
      ajax: true

      fields:

        .name:
          type: input.text
          label: Name
          skip: true

        .location:
          type: input.filepicker
          label: File Location
          icon: far fa-file-code
          placeholder: 'http://cdn1.remote/file.js'
          filter: '\.(jsx?|coffee)$'
          root: 'gantry-assets://'

        .inline:
          type: textarea.textarea
          label: Inline JavaScript
          description: Adds inline JavaScript for quick snippets.

        _info:
          type: separator.note
          class: alert alert-info
          content: 'Only add your inline JavaScript code, the &lt;script&gt;&lt;/script&gt; tags will get automatically added for you.'

        .in_footer:
          type: input.checkbox
          label: 'Before </body>'
          description: Whether you want the script to load at the end of the body tag or inside head
          default: false

        .extra:
          type: collection.keyvalue
          label: Tag attributes
          exclude: ['src', 'type']

        .priority:
          type: input.number
          label: Load Priority
          description: 'Sets the load priority of the asset in the page. Value can be between 10 (first) and -10 (last). Default value is 0.'
          default: 0
          min: -10
          max: 10
engines/nucleus/yarn.lock000060400000561612150753125210011505 0ustar00# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1


"@gulp-sourcemaps/identity-map@^2.0.1":
  version "2.0.1"
  resolved "https://registry.yarnpkg.com/@gulp-sourcemaps/identity-map/-/identity-map-2.0.1.tgz#a6e8b1abec8f790ec6be2b8c500e6e68037c0019"
  integrity sha512-Tb+nSISZku+eQ4X1lAkevcQa+jknn/OVUgZ3XCxEKIsLsqYuPoJwJOPQeaOk75X3WPftb29GWY1eqE7GLsXb1Q==
  dependencies:
    acorn "^6.4.1"
    normalize-path "^3.0.0"
    postcss "^7.0.16"
    source-map "^0.6.0"
    through2 "^3.0.1"

"@gulp-sourcemaps/map-sources@^1.0.0":
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz#890ae7c5d8c877f6d384860215ace9d7ec945bda"
  integrity sha1-iQrnxdjId/bThIYCFazp1+yUW9o=
  dependencies:
    normalize-path "^2.0.1"
    through2 "^2.0.3"

JSONStream@^1.0.3:
  version "1.3.1"
  resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a"
  dependencies:
    jsonparse "^1.2.0"
    through ">=2.2.7 <3"

abbrev@1:
  version "1.1.1"
  resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
  integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==

acorn-node@^1.3.0, acorn-node@^1.5.2, acorn-node@^1.6.1:
  version "1.8.2"
  resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8"
  integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==
  dependencies:
    acorn "^7.0.0"
    acorn-walk "^7.0.0"
    xtend "^4.0.2"

acorn-walk@^7.0.0:
  version "7.2.0"
  resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
  integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==

acorn@^4.0.3:
  version "4.0.13"
  resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787"

acorn@^6.4.1:
  version "6.4.2"
  resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6"
  integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==

acorn@^7.0.0:
  version "7.4.1"
  resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
  integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==

ajv@^6.12.3:
  version "6.12.6"
  resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
  integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
  dependencies:
    fast-deep-equal "^3.1.1"
    fast-json-stable-stringify "^2.0.0"
    json-schema-traverse "^0.4.1"
    uri-js "^4.2.2"

amdefine@>=0.0.4:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
  integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=

ansi-colors@^1.0.1:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9"
  integrity sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==
  dependencies:
    ansi-wrap "^0.1.0"

ansi-gray@^0.1.1:
  version "0.1.1"
  resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251"
  integrity sha1-KWLPVOyXksSFEKPetSRDaGHvclE=
  dependencies:
    ansi-wrap "0.1.0"

ansi-regex@^2.0.0:
  version "2.1.1"
  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"

ansi-regex@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
  integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=

ansi-regex@^4.1.0:
  version "4.1.0"
  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
  integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==

ansi-regex@^5.0.0:
  version "5.0.0"
  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
  integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==

ansi-styles@^2.2.1:
  version "2.2.1"
  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"

ansi-styles@^3.2.0, ansi-styles@^3.2.1:
  version "3.2.1"
  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
  integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
  dependencies:
    color-convert "^1.9.0"

ansi-styles@^4.0.0:
  version "4.3.0"
  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
  integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
  dependencies:
    color-convert "^2.0.1"

ansi-wrap@0.1.0, ansi-wrap@^0.1.0:
  version "0.1.0"
  resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf"
  integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768=

anymatch@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
  integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==
  dependencies:
    micromatch "^3.1.4"
    normalize-path "^2.1.1"

anymatch@^3.1.0, anymatch@~3.1.1:
  version "3.1.2"
  resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
  integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
  dependencies:
    normalize-path "^3.0.0"
    picomatch "^2.0.4"

append-buffer@^1.0.2:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1"
  integrity sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=
  dependencies:
    buffer-equal "^1.0.0"

aproba@^1.0.3:
  version "1.2.0"
  resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
  integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==

archy@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40"

are-we-there-yet@~1.1.2:
  version "1.1.5"
  resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
  integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==
  dependencies:
    delegates "^1.0.0"
    readable-stream "^2.0.6"

arr-diff@^4.0.0:
  version "4.0.0"
  resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
  integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=

arr-filter@^1.1.1:
  version "1.1.2"
  resolved "https://registry.yarnpkg.com/arr-filter/-/arr-filter-1.1.2.tgz#43fdddd091e8ef11aa4c45d9cdc18e2dff1711ee"
  integrity sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=
  dependencies:
    make-iterator "^1.0.0"

arr-flatten@^1.0.1:
  version "1.0.3"
  resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.3.tgz#a274ed85ac08849b6bd7847c4580745dc51adfb1"

arr-flatten@^1.1.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
  integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==

arr-map@^2.0.0, arr-map@^2.0.2:
  version "2.0.2"
  resolved "https://registry.yarnpkg.com/arr-map/-/arr-map-2.0.2.tgz#3a77345ffc1cf35e2a91825601f9e58f2e24cac4"
  integrity sha1-Onc0X/wc814qkYJWAfnljy4kysQ=
  dependencies:
    make-iterator "^1.0.0"

arr-union@^3.1.0:
  version "3.1.0"
  resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
  integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=

array-differ@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031"

array-each@^1.0.0, array-each@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f"

array-filter@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83"
  integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=

array-filter@~0.0.0:
  version "0.0.1"
  resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec"

array-find-index@^1.0.1:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
  integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=

array-initial@^1.0.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/array-initial/-/array-initial-1.1.0.tgz#2fa74b26739371c3947bd7a7adc73be334b3d795"
  integrity sha1-L6dLJnOTccOUe9enrcc74zSz15U=
  dependencies:
    array-slice "^1.0.0"
    is-number "^4.0.0"

array-last@^1.1.1:
  version "1.3.0"
  resolved "https://registry.yarnpkg.com/array-last/-/array-last-1.3.0.tgz#7aa77073fec565ddab2493f5f88185f404a9d336"
  integrity sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==
  dependencies:
    is-number "^4.0.0"

array-map@~0.0.0:
  version "0.0.0"
  resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662"

array-reduce@~0.0.0:
  version "0.0.0"
  resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b"

array-slice@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.0.0.tgz#e73034f00dcc1f40876008fd20feae77bd4b7c2f"

array-sort@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/array-sort/-/array-sort-1.0.0.tgz#e4c05356453f56f53512a7d1d6123f2c54c0a88a"
  integrity sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==
  dependencies:
    default-compare "^1.0.0"
    get-value "^2.0.6"
    kind-of "^5.0.2"

array-uniq@^1.0.2:
  version "1.0.3"
  resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"

array-unique@^0.3.2:
  version "0.3.2"
  resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
  integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=

asn1.js@^4.0.0:
  version "4.9.1"
  resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40"
  dependencies:
    bn.js "^4.0.0"
    inherits "^2.0.1"
    minimalistic-assert "^1.0.0"

asn1@~0.2.3:
  version "0.2.4"
  resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
  integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
  dependencies:
    safer-buffer "~2.1.0"

assert-plus@1.0.0, assert-plus@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
  integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=

assert@^1.4.0:
  version "1.4.1"
  resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91"
  dependencies:
    util "0.10.3"

assign-symbols@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
  integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=

async-done@^1.2.0, async-done@^1.2.2:
  version "1.3.2"
  resolved "https://registry.yarnpkg.com/async-done/-/async-done-1.3.2.tgz#5e15aa729962a4b07414f528a88cdf18e0b290a2"
  integrity sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==
  dependencies:
    end-of-stream "^1.1.0"
    once "^1.3.2"
    process-nextick-args "^2.0.0"
    stream-exhaust "^1.0.1"

async-each@^1.0.1:
  version "1.0.3"
  resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
  integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==

async-foreach@^0.1.3:
  version "0.1.3"
  resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
  integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=

async-settle@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/async-settle/-/async-settle-1.0.0.tgz#1d0a914bb02575bec8a8f3a74e5080f72b2c0c6b"
  integrity sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=
  dependencies:
    async-done "^1.2.2"

asynckit@^0.4.0:
  version "0.4.0"
  resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
  integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=

atob@^2.1.2:
  version "2.1.2"
  resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
  integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==

available-typed-arrays@^1.0.2:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz#6b098ca9d8039079ee3f77f7b783c4480ba513f5"
  integrity sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==
  dependencies:
    array-filter "^1.0.0"

aws-sign2@~0.7.0:
  version "0.7.0"
  resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
  integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=

aws4@^1.8.0:
  version "1.11.0"
  resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
  integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==

bach@^1.0.0:
  version "1.2.0"
  resolved "https://registry.yarnpkg.com/bach/-/bach-1.2.0.tgz#4b3ce96bf27134f79a1b414a51c14e34c3bd9880"
  integrity sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=
  dependencies:
    arr-filter "^1.1.1"
    arr-flatten "^1.0.1"
    arr-map "^2.0.0"
    array-each "^1.0.0"
    array-initial "^1.0.0"
    array-last "^1.1.1"
    async-done "^1.2.2"
    async-settle "^1.0.0"
    now-and-later "^2.0.0"

balanced-match@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"

base64-js@^1.0.2:
  version "1.2.1"
  resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886"

base@^0.11.1:
  version "0.11.2"
  resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
  integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
  dependencies:
    cache-base "^1.0.1"
    class-utils "^0.3.5"
    component-emitter "^1.2.1"
    define-property "^1.0.0"
    isobject "^3.0.1"
    mixin-deep "^1.2.0"
    pascalcase "^0.1.1"

bcrypt-pbkdf@^1.0.0:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
  integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
  dependencies:
    tweetnacl "^0.14.3"

beeper@^1.0.0:
  version "1.1.1"
  resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809"

binary-extensions@^1.0.0:
  version "1.8.0"
  resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774"

binary-extensions@^2.0.0:
  version "2.2.0"
  resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
  integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==

bindings@^1.5.0:
  version "1.5.0"
  resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
  integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
  dependencies:
    file-uri-to-path "1.0.0"

bl@^1.2.1:
  version "1.2.3"
  resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7"
  integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==
  dependencies:
    readable-stream "^2.3.5"
    safe-buffer "^5.1.1"

block-stream@*:
  version "0.0.9"
  resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
  integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=
  dependencies:
    inherits "~2.0.0"

bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
  version "4.11.7"
  resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.7.tgz#ddb048e50d9482790094c13eb3fcfc833ce7ab46"

brace-expansion@^1.1.7:
  version "1.1.8"
  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292"
  dependencies:
    balanced-match "^1.0.0"
    concat-map "0.0.1"

braces@^2.3.1, braces@^2.3.2:
  version "2.3.2"
  resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
  integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
  dependencies:
    arr-flatten "^1.1.0"
    array-unique "^0.3.2"
    extend-shallow "^2.0.1"
    fill-range "^4.0.0"
    isobject "^3.0.1"
    repeat-element "^1.1.2"
    snapdragon "^0.8.1"
    snapdragon-node "^2.0.1"
    split-string "^3.0.2"
    to-regex "^3.0.1"

braces@~3.0.2:
  version "3.0.2"
  resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
  integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
  dependencies:
    fill-range "^7.0.1"

brorand@^1.0.1:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"

browser-pack@^6.0.1:
  version "6.0.2"
  resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-6.0.2.tgz#f86cd6cef4f5300c8e63e07a4d512f65fbff4531"
  dependencies:
    JSONStream "^1.0.3"
    combine-source-map "~0.7.1"
    defined "^1.0.0"
    through2 "^2.0.0"
    umd "^3.0.0"

browser-resolve@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-2.0.0.tgz#99b7304cb392f8d73dba741bb2d7da28c6d7842b"
  integrity sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==
  dependencies:
    resolve "^1.17.0"

browserify-aes@^1.0.0, browserify-aes@^1.0.4:
  version "1.0.6"
  resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a"
  dependencies:
    buffer-xor "^1.0.2"
    cipher-base "^1.0.0"
    create-hash "^1.1.0"
    evp_bytestokey "^1.0.0"
    inherits "^2.0.1"

browserify-cipher@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a"
  dependencies:
    browserify-aes "^1.0.4"
    browserify-des "^1.0.0"
    evp_bytestokey "^1.0.0"

browserify-des@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd"
  dependencies:
    cipher-base "^1.0.1"
    des.js "^1.0.0"
    inherits "^2.0.1"

browserify-rsa@^4.0.0:
  version "4.0.1"
  resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
  dependencies:
    bn.js "^4.1.0"
    randombytes "^2.0.1"

browserify-sign@^4.0.0:
  version "4.0.4"
  resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"
  dependencies:
    bn.js "^4.1.1"
    browserify-rsa "^4.0.0"
    create-hash "^1.1.0"
    create-hmac "^1.1.2"
    elliptic "^6.0.0"
    inherits "^2.0.1"
    parse-asn1 "^5.0.0"

browserify-zlib@~0.2.0:
  version "0.2.0"
  resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
  integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==
  dependencies:
    pako "~1.0.5"

browserify@^17.0.0:
  version "17.0.0"
  resolved "https://registry.yarnpkg.com/browserify/-/browserify-17.0.0.tgz#4c48fed6c02bfa2b51fd3b670fddb805723cdc22"
  integrity sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==
  dependencies:
    JSONStream "^1.0.3"
    assert "^1.4.0"
    browser-pack "^6.0.1"
    browser-resolve "^2.0.0"
    browserify-zlib "~0.2.0"
    buffer "~5.2.1"
    cached-path-relative "^1.0.0"
    concat-stream "^1.6.0"
    console-browserify "^1.1.0"
    constants-browserify "~1.0.0"
    crypto-browserify "^3.0.0"
    defined "^1.0.0"
    deps-sort "^2.0.1"
    domain-browser "^1.2.0"
    duplexer2 "~0.1.2"
    events "^3.0.0"
    glob "^7.1.0"
    has "^1.0.0"
    htmlescape "^1.1.0"
    https-browserify "^1.0.0"
    inherits "~2.0.1"
    insert-module-globals "^7.2.1"
    labeled-stream-splicer "^2.0.0"
    mkdirp-classic "^0.5.2"
    module-deps "^6.2.3"
    os-browserify "~0.3.0"
    parents "^1.0.1"
    path-browserify "^1.0.0"
    process "~0.11.0"
    punycode "^1.3.2"
    querystring-es3 "~0.2.0"
    read-only-stream "^2.0.0"
    readable-stream "^2.0.2"
    resolve "^1.1.4"
    shasum-object "^1.0.0"
    shell-quote "^1.6.1"
    stream-browserify "^3.0.0"
    stream-http "^3.0.0"
    string_decoder "^1.1.1"
    subarg "^1.0.0"
    syntax-error "^1.1.1"
    through2 "^2.0.0"
    timers-browserify "^1.0.1"
    tty-browserify "0.0.1"
    url "~0.11.0"
    util "~0.12.0"
    vm-browserify "^1.0.0"
    xtend "^4.0.0"

buffer-equal@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe"
  integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74=

buffer-from@^1.0.0:
  version "1.1.1"
  resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
  integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==

buffer-xor@^1.0.2:
  version "1.0.3"
  resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"

buffer@~5.2.1:
  version "5.2.1"
  resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.1.tgz#dd57fa0f109ac59c602479044dca7b8b3d0b71d6"
  integrity sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==
  dependencies:
    base64-js "^1.0.2"
    ieee754 "^1.1.4"

builtin-modules@^1.0.0:
  version "1.1.1"
  resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"

builtin-status-codes@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"

cache-base@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
  integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
  dependencies:
    collection-visit "^1.0.0"
    component-emitter "^1.2.1"
    get-value "^2.0.6"
    has-value "^1.0.0"
    isobject "^3.0.1"
    set-value "^2.0.0"
    to-object-path "^0.3.0"
    union-value "^1.0.0"
    unset-value "^1.0.0"

cached-path-relative@^1.0.0:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.1.tgz#d09c4b52800aa4c078e2dd81a869aac90d2e54e7"

cached-path-relative@^1.0.2:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.2.tgz#a13df4196d26776220cc3356eb147a52dba2c6db"
  integrity sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==

call-bind@^1.0.0, call-bind@^1.0.2:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
  integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
  dependencies:
    function-bind "^1.1.1"
    get-intrinsic "^1.0.2"

camelcase-keys@^2.0.0:
  version "2.1.0"
  resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
  integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc=
  dependencies:
    camelcase "^2.0.0"
    map-obj "^1.0.0"

camelcase@^2.0.0:
  version "2.1.1"
  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
  integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=

camelcase@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
  integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo=

camelcase@^5.0.0:
  version "5.3.1"
  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
  integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==

caseless@~0.12.0:
  version "0.12.0"
  resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
  integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=

chalk@^1.0.0, chalk@^1.1.1:
  version "1.1.3"
  resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
  dependencies:
    ansi-styles "^2.2.1"
    escape-string-regexp "^1.0.2"
    has-ansi "^2.0.0"
    strip-ansi "^3.0.0"
    supports-color "^2.0.0"

chalk@^2.3.0, chalk@^2.4.2:
  version "2.4.2"
  resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
  integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
  dependencies:
    ansi-styles "^3.2.1"
    escape-string-regexp "^1.0.5"
    supports-color "^5.3.0"

chokidar@^2.0.0:
  version "2.1.8"
  resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
  integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==
  dependencies:
    anymatch "^2.0.0"
    async-each "^1.0.1"
    braces "^2.3.2"
    glob-parent "^3.1.0"
    inherits "^2.0.3"
    is-binary-path "^1.0.0"
    is-glob "^4.0.0"
    normalize-path "^3.0.0"
    path-is-absolute "^1.0.0"
    readdirp "^2.2.1"
    upath "^1.1.1"
  optionalDependencies:
    fsevents "^1.2.7"

chokidar@^3.4.0:
  version "3.5.1"
  resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a"
  integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==
  dependencies:
    anymatch "~3.1.1"
    braces "~3.0.2"
    glob-parent "~5.1.0"
    is-binary-path "~2.1.0"
    is-glob "~4.0.1"
    normalize-path "~3.0.0"
    readdirp "~3.5.0"
  optionalDependencies:
    fsevents "~2.3.1"

cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
  version "1.0.3"
  resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07"
  dependencies:
    inherits "^2.0.1"

class-utils@^0.3.5:
  version "0.3.6"
  resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
  integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
  dependencies:
    arr-union "^3.1.0"
    define-property "^0.2.5"
    isobject "^3.0.0"
    static-extend "^0.1.1"

cliui@^3.2.0:
  version "3.2.0"
  resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
  dependencies:
    string-width "^1.0.1"
    strip-ansi "^3.0.1"
    wrap-ansi "^2.0.0"

cliui@^5.0.0:
  version "5.0.0"
  resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
  integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
  dependencies:
    string-width "^3.1.0"
    strip-ansi "^5.2.0"
    wrap-ansi "^5.1.0"

cliui@^7.0.2:
  version "7.0.4"
  resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
  integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
  dependencies:
    string-width "^4.2.0"
    strip-ansi "^6.0.0"
    wrap-ansi "^7.0.0"

clone-buffer@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
  integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg=

clone-stats@^0.0.1:
  version "0.0.1"
  resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1"

clone-stats@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680"
  integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=

clone@^1.0.0:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149"

clone@^2.1.1:
  version "2.1.2"
  resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
  integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=

cloneable-readable@^1.0.0:
  version "1.1.3"
  resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec"
  integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==
  dependencies:
    inherits "^2.0.1"
    process-nextick-args "^2.0.0"
    readable-stream "^2.3.5"

code-point-at@^1.0.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"

collection-map@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/collection-map/-/collection-map-1.0.0.tgz#aea0f06f8d26c780c2b75494385544b2255af18c"
  integrity sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=
  dependencies:
    arr-map "^2.0.2"
    for-own "^1.0.0"
    make-iterator "^1.0.0"

collection-visit@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
  integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
  dependencies:
    map-visit "^1.0.0"
    object-visit "^1.0.0"

color-convert@^1.9.0:
  version "1.9.3"
  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
  integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
  dependencies:
    color-name "1.1.3"

color-convert@^2.0.1:
  version "2.0.1"
  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
  integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
  dependencies:
    color-name "~1.1.4"

color-name@1.1.3:
  version "1.1.3"
  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
  integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=

color-name@~1.1.4:
  version "1.1.4"
  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
  integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==

color-support@^1.1.3:
  version "1.1.3"
  resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
  integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==

combine-source-map@^0.8.0:
  version "0.8.0"
  resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.8.0.tgz#a58d0df042c186fcf822a8e8015f5450d2d79a8b"
  integrity sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=
  dependencies:
    convert-source-map "~1.1.0"
    inline-source-map "~0.6.0"
    lodash.memoize "~3.0.3"
    source-map "~0.5.3"

combine-source-map@~0.7.1:
  version "0.7.2"
  resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.7.2.tgz#0870312856b307a87cc4ac486f3a9a62aeccc09e"
  dependencies:
    convert-source-map "~1.1.0"
    inline-source-map "~0.6.0"
    lodash.memoize "~3.0.3"
    source-map "~0.5.3"

combined-stream@^1.0.6, combined-stream@~1.0.6:
  version "1.0.8"
  resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
  integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
  dependencies:
    delayed-stream "~1.0.0"

commander@~2.9.0:
  version "2.9.0"
  resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
  dependencies:
    graceful-readlink ">= 1.0.0"

component-emitter@^1.2.1:
  version "1.3.0"
  resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
  integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==

concat-map@0.0.1:
  version "0.0.1"
  resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"

concat-stream@^1.6.0, concat-stream@^1.6.1, concat-stream@~1.6.0:
  version "1.6.2"
  resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
  integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
  dependencies:
    buffer-from "^1.0.0"
    inherits "^2.0.3"
    readable-stream "^2.2.2"
    typedarray "^0.0.6"

console-browserify@^1.1.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
  dependencies:
    date-now "^0.1.4"

console-control-strings@^1.0.0, console-control-strings@~1.1.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
  integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=

constants-browserify@~1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"

convert-source-map@^1.0.0:
  version "1.5.0"
  resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5"

convert-source-map@^1.5.0:
  version "1.7.0"
  resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
  integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
  dependencies:
    safe-buffer "~5.1.1"

convert-source-map@~1.1.0:
  version "1.1.3"
  resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.1.3.tgz#4829c877e9fe49b3161f3bf3673888e204699860"

copy-descriptor@^0.1.0:
  version "0.1.1"
  resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
  integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=

copy-props@^2.0.1:
  version "2.0.5"
  resolved "https://registry.yarnpkg.com/copy-props/-/copy-props-2.0.5.tgz#03cf9ae328d4ebb36f8f1d804448a6af9ee3f2d2"
  integrity sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==
  dependencies:
    each-props "^1.3.2"
    is-plain-object "^5.0.0"

core-util-is@1.0.2, core-util-is@~1.0.0:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"

create-ecdh@^4.0.0:
  version "4.0.0"
  resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d"
  dependencies:
    bn.js "^4.1.0"
    elliptic "^6.0.0"

create-hash@^1.1.0, create-hash@^1.1.1, create-hash@^1.1.2:
  version "1.1.3"
  resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd"
  dependencies:
    cipher-base "^1.0.1"
    inherits "^2.0.1"
    ripemd160 "^2.0.0"
    sha.js "^2.4.0"

create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
  version "1.1.6"
  resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06"
  dependencies:
    cipher-base "^1.0.3"
    create-hash "^1.1.0"
    inherits "^2.0.1"
    ripemd160 "^2.0.0"
    safe-buffer "^5.0.1"
    sha.js "^2.4.8"

cross-spawn@^3.0.0:
  version "3.0.1"
  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982"
  integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI=
  dependencies:
    lru-cache "^4.0.1"
    which "^1.2.9"

crypto-browserify@^3.0.0:
  version "3.11.0"
  resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522"
  dependencies:
    browserify-cipher "^1.0.0"
    browserify-sign "^4.0.0"
    create-ecdh "^4.0.0"
    create-hash "^1.1.0"
    create-hmac "^1.1.0"
    diffie-hellman "^5.0.0"
    inherits "^2.0.1"
    pbkdf2 "^3.0.3"
    public-encrypt "^4.0.0"
    randombytes "^2.0.0"

css@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/css/-/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d"
  integrity sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==
  dependencies:
    inherits "^2.0.4"
    source-map "^0.6.1"
    source-map-resolve "^0.6.0"

currently-unhandled@^0.4.1:
  version "0.4.1"
  resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
  integrity sha1-mI3zP+qxke95mmE2nddsF635V+o=
  dependencies:
    array-find-index "^1.0.1"

d@1:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f"
  dependencies:
    es5-ext "^0.10.9"

d@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a"
  integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
  dependencies:
    es5-ext "^0.10.50"
    type "^1.0.1"

dash-ast@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/dash-ast/-/dash-ast-1.0.0.tgz#12029ba5fb2f8aa6f0a861795b23c1b4b6c27d37"
  integrity sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==

dashdash@^1.12.0:
  version "1.14.1"
  resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
  integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
  dependencies:
    assert-plus "^1.0.0"

date-now@^0.1.4:
  version "0.1.4"
  resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"

dateformat@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17"

debug-fabulous@^1.0.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/debug-fabulous/-/debug-fabulous-1.1.0.tgz#af8a08632465224ef4174a9f06308c3c2a1ebc8e"
  integrity sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==
  dependencies:
    debug "3.X"
    memoizee "0.4.X"
    object-assign "4.X"

debug@3.X:
  version "3.2.7"
  resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
  integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
  dependencies:
    ms "^2.1.1"

debug@^2.2.0:
  version "2.6.8"
  resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
  dependencies:
    ms "2.0.0"

debug@^2.3.3:
  version "2.6.9"
  resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
  integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
  dependencies:
    ms "2.0.0"

decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0:
  version "1.2.0"
  resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"

decode-uri-component@^0.2.0:
  version "0.2.0"
  resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
  integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=

default-compare@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f"
  integrity sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==
  dependencies:
    kind-of "^5.0.2"

default-resolution@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684"
  integrity sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=

define-properties@^1.1.3:
  version "1.1.3"
  resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
  integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
  dependencies:
    object-keys "^1.0.12"

define-property@^0.2.5:
  version "0.2.5"
  resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
  integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
  dependencies:
    is-descriptor "^0.1.0"

define-property@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
  integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
  dependencies:
    is-descriptor "^1.0.0"

define-property@^2.0.2:
  version "2.0.2"
  resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
  integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
  dependencies:
    is-descriptor "^1.0.2"
    isobject "^3.0.1"

defined@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"

delayed-stream@~1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
  integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=

delegates@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
  integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=

deps-sort@^2.0.1:
  version "2.0.1"
  resolved "https://registry.yarnpkg.com/deps-sort/-/deps-sort-2.0.1.tgz#9dfdc876d2bcec3386b6829ac52162cda9fa208d"
  integrity sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==
  dependencies:
    JSONStream "^1.0.3"
    shasum-object "^1.0.0"
    subarg "^1.0.0"
    through2 "^2.0.0"

des.js@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
  dependencies:
    inherits "^2.0.1"
    minimalistic-assert "^1.0.0"

detect-file@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
  integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=

detect-newline@^2.0.0:
  version "2.1.0"
  resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2"
  integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=

detective@^5.2.0:
  version "5.2.0"
  resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b"
  integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==
  dependencies:
    acorn-node "^1.6.1"
    defined "^1.0.0"
    minimist "^1.1.1"

diffie-hellman@^5.0.0:
  version "5.0.2"
  resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e"
  dependencies:
    bn.js "^4.1.0"
    miller-rabin "^4.0.0"
    randombytes "^2.0.0"

domain-browser@^1.2.0:
  version "1.2.0"
  resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
  integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==

duplexer2@0.0.2:
  version "0.0.2"
  resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db"
  dependencies:
    readable-stream "~1.1.9"

duplexer2@^0.1.2, duplexer2@~0.1.0, duplexer2@~0.1.2:
  version "0.1.4"
  resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1"
  dependencies:
    readable-stream "^2.0.2"

duplexify@^3.6.0:
  version "3.7.1"
  resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
  integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==
  dependencies:
    end-of-stream "^1.0.0"
    inherits "^2.0.1"
    readable-stream "^2.0.0"
    stream-shift "^1.0.0"

duplexify@^4.1.1:
  version "4.1.1"
  resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.1.tgz#7027dc374f157b122a8ae08c2d3ea4d2d953aa61"
  integrity sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==
  dependencies:
    end-of-stream "^1.4.1"
    inherits "^2.0.3"
    readable-stream "^3.1.1"
    stream-shift "^1.0.0"

each-props@^1.3.2:
  version "1.3.2"
  resolved "https://registry.yarnpkg.com/each-props/-/each-props-1.3.2.tgz#ea45a414d16dd5cfa419b1a81720d5ca06892333"
  integrity sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==
  dependencies:
    is-plain-object "^2.0.1"
    object.defaults "^1.1.0"

ecc-jsbn@~0.1.1:
  version "0.1.2"
  resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
  integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
  dependencies:
    jsbn "~0.1.0"
    safer-buffer "^2.1.0"

elliptic@^6.0.0:
  version "6.4.0"
  resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df"
  dependencies:
    bn.js "^4.4.0"
    brorand "^1.0.1"
    hash.js "^1.0.0"
    hmac-drbg "^1.0.0"
    inherits "^2.0.1"
    minimalistic-assert "^1.0.0"
    minimalistic-crypto-utils "^1.0.0"

emoji-regex@^7.0.1:
  version "7.0.3"
  resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
  integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==

emoji-regex@^8.0.0:
  version "8.0.0"
  resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
  integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==

end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1:
  version "1.4.4"
  resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
  integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
  dependencies:
    once "^1.4.0"

error-ex@^1.2.0:
  version "1.3.1"
  resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
  dependencies:
    is-arrayish "^0.2.1"

es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2:
  version "1.18.0"
  resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4"
  integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==
  dependencies:
    call-bind "^1.0.2"
    es-to-primitive "^1.2.1"
    function-bind "^1.1.1"
    get-intrinsic "^1.1.1"
    has "^1.0.3"
    has-symbols "^1.0.2"
    is-callable "^1.2.3"
    is-negative-zero "^2.0.1"
    is-regex "^1.1.2"
    is-string "^1.0.5"
    object-inspect "^1.9.0"
    object-keys "^1.1.1"
    object.assign "^4.1.2"
    string.prototype.trimend "^1.0.4"
    string.prototype.trimstart "^1.0.4"
    unbox-primitive "^1.0.0"

es-to-primitive@^1.2.1:
  version "1.2.1"
  resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
  integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
  dependencies:
    is-callable "^1.1.4"
    is-date-object "^1.0.1"
    is-symbol "^1.0.2"

es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14, es5-ext@~0.10.2:
  version "0.10.30"
  resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.30.tgz#7141a16836697dbabfaaaeee41495ce29f52c939"
  dependencies:
    es6-iterator "2"
    es6-symbol "~3.1"

es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.46:
  version "0.10.53"
  resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1"
  integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==
  dependencies:
    es6-iterator "~2.0.3"
    es6-symbol "~3.1.3"
    next-tick "~1.0.0"

es6-iterator@2, es6-iterator@^2.0.1:
  version "2.0.1"
  resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512"
  dependencies:
    d "1"
    es5-ext "^0.10.14"
    es6-symbol "^3.1"

es6-iterator@^2.0.3, es6-iterator@~2.0.3:
  version "2.0.3"
  resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
  integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
  dependencies:
    d "1"
    es5-ext "^0.10.35"
    es6-symbol "^3.1.1"

es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1:
  version "3.1.1"
  resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"
  dependencies:
    d "1"
    es5-ext "~0.10.14"

es6-symbol@~3.1.3:
  version "3.1.3"
  resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18"
  integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==
  dependencies:
    d "^1.0.1"
    ext "^1.1.2"

es6-weak-map@^2.0.1, es6-weak-map@^2.0.3:
  version "2.0.3"
  resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53"
  integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==
  dependencies:
    d "1"
    es5-ext "^0.10.46"
    es6-iterator "^2.0.3"
    es6-symbol "^3.1.1"

escalade@^3.1.1:
  version "3.1.1"
  resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
  integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==

escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
  version "1.0.5"
  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"

event-emitter@^0.3.5:
  version "0.3.5"
  resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
  dependencies:
    d "1"
    es5-ext "~0.10.14"

events@^3.0.0:
  version "3.3.0"
  resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
  integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==

evp_bytestokey@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz#497b66ad9fef65cd7c08a6180824ba1476b66e53"
  dependencies:
    create-hash "^1.1.1"

expand-brackets@^2.1.4:
  version "2.1.4"
  resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
  integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
  dependencies:
    debug "^2.3.3"
    define-property "^0.2.5"
    extend-shallow "^2.0.1"
    posix-character-classes "^0.1.0"
    regex-not "^1.0.0"
    snapdragon "^0.8.1"
    to-regex "^3.0.1"

expand-tilde@^2.0.0, expand-tilde@^2.0.2:
  version "2.0.2"
  resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
  dependencies:
    homedir-polyfill "^1.0.1"

ext@^1.1.2:
  version "1.4.0"
  resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244"
  integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==
  dependencies:
    type "^2.0.0"

extend-shallow@^2.0.1:
  version "2.0.1"
  resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
  integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
  dependencies:
    is-extendable "^0.1.0"

extend-shallow@^3.0.0, extend-shallow@^3.0.2:
  version "3.0.2"
  resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
  integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
  dependencies:
    assign-symbols "^1.0.0"
    is-extendable "^1.0.1"

extend@^3.0.0:
  version "3.0.1"
  resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"

extend@~3.0.2:
  version "3.0.2"
  resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
  integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==

extglob@^2.0.4:
  version "2.0.4"
  resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
  integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
  dependencies:
    array-unique "^0.3.2"
    define-property "^1.0.0"
    expand-brackets "^2.1.4"
    extend-shallow "^2.0.1"
    fragment-cache "^0.2.1"
    regex-not "^1.0.0"
    snapdragon "^0.8.1"
    to-regex "^3.0.1"

extsprintf@1.3.0:
  version "1.3.0"
  resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
  integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=

extsprintf@^1.2.0:
  version "1.4.0"
  resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
  integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=

fancy-log@^1.1.0:
  version "1.3.0"
  resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.0.tgz#45be17d02bb9917d60ccffd4995c999e6c8c9948"
  dependencies:
    chalk "^1.1.1"
    time-stamp "^1.0.0"

fancy-log@^1.3.2:
  version "1.3.3"
  resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7"
  integrity sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==
  dependencies:
    ansi-gray "^0.1.1"
    color-support "^1.1.3"
    parse-node-version "^1.0.0"
    time-stamp "^1.0.0"

fast-deep-equal@^3.1.1:
  version "3.1.3"
  resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
  integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==

fast-json-stable-stringify@^2.0.0:
  version "2.1.0"
  resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
  integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==

fast-levenshtein@^1.0.0:
  version "1.1.4"
  resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz#e6a754cc8f15e58987aa9cbd27af66fd6f4e5af9"
  integrity sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk=

fast-safe-stringify@^2.0.7:
  version "2.0.7"
  resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743"
  integrity sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==

file-uri-to-path@1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
  integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==

fill-range@^4.0.0:
  version "4.0.0"
  resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
  integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
  dependencies:
    extend-shallow "^2.0.1"
    is-number "^3.0.0"
    repeat-string "^1.6.1"
    to-regex-range "^2.1.0"

fill-range@^7.0.1:
  version "7.0.1"
  resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
  integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
  dependencies:
    to-regex-range "^5.0.1"

find-up@^1.0.0:
  version "1.1.2"
  resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
  integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=
  dependencies:
    path-exists "^2.0.0"
    pinkie-promise "^2.0.0"

find-up@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
  integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
  dependencies:
    locate-path "^3.0.0"

findup-sync@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc"
  integrity sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=
  dependencies:
    detect-file "^1.0.0"
    is-glob "^3.1.0"
    micromatch "^3.0.4"
    resolve-dir "^1.0.1"

findup-sync@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1"
  integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==
  dependencies:
    detect-file "^1.0.0"
    is-glob "^4.0.0"
    micromatch "^3.0.4"
    resolve-dir "^1.0.1"

fined@^1.0.1:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/fined/-/fined-1.1.0.tgz#b37dc844b76a2f5e7081e884f7c0ae344f153476"
  dependencies:
    expand-tilde "^2.0.2"
    is-plain-object "^2.0.3"
    object.defaults "^1.1.0"
    object.pick "^1.2.0"
    parse-filepath "^1.0.1"

flagged-respawn@^1.0.0:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41"
  integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==

flush-write-stream@^1.0.2:
  version "1.1.1"
  resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
  integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==
  dependencies:
    inherits "^2.0.3"
    readable-stream "^2.3.6"

for-in@^1.0.1, for-in@^1.0.2:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"

for-own@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b"
  dependencies:
    for-in "^1.0.1"

foreach@^2.0.5:
  version "2.0.5"
  resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
  integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k=

forever-agent@~0.6.1:
  version "0.6.1"
  resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
  integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=

fork-stream@^0.0.4:
  version "0.0.4"
  resolved "https://registry.yarnpkg.com/fork-stream/-/fork-stream-0.0.4.tgz#db849fce77f6708a5f8f386ae533a0907b54ae70"

form-data@~2.3.2:
  version "2.3.3"
  resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
  integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
  dependencies:
    asynckit "^0.4.0"
    combined-stream "^1.0.6"
    mime-types "^2.1.12"

fragment-cache@^0.2.1:
  version "0.2.1"
  resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
  integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
  dependencies:
    map-cache "^0.2.2"

fs-mkdirp-stream@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb"
  integrity sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=
  dependencies:
    graceful-fs "^4.1.11"
    through2 "^2.0.3"

fs.realpath@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"

fsevents@^1.2.7:
  version "1.2.13"
  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38"
  integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==
  dependencies:
    bindings "^1.5.0"
    nan "^2.12.1"

fsevents@~2.3.1:
  version "2.3.2"
  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
  integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==

fstream@^1.0.0, fstream@^1.0.12:
  version "1.0.12"
  resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045"
  integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==
  dependencies:
    graceful-fs "^4.1.2"
    inherits "~2.0.0"
    mkdirp ">=0.5 0"
    rimraf "2"

function-bind@^1.0.2:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771"

function-bind@^1.1.1:
  version "1.1.1"
  resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
  integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==

gauge@~2.7.3:
  version "2.7.4"
  resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
  integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
  dependencies:
    aproba "^1.0.3"
    console-control-strings "^1.0.0"
    has-unicode "^2.0.0"
    object-assign "^4.1.0"
    signal-exit "^3.0.0"
    string-width "^1.0.1"
    strip-ansi "^3.0.1"
    wide-align "^1.1.0"

gaze@^1.0.0:
  version "1.1.3"
  resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a"
  integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==
  dependencies:
    globule "^1.0.0"

get-assigned-identifiers@^1.2.0:
  version "1.2.0"
  resolved "https://registry.yarnpkg.com/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz#6dbf411de648cbaf8d9169ebb0d2d576191e2ff1"
  integrity sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==

get-caller-file@^1.0.1:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"

get-caller-file@^2.0.1, get-caller-file@^2.0.5:
  version "2.0.5"
  resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
  integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==

get-intrinsic@^1.0.2, get-intrinsic@^1.1.1:
  version "1.1.1"
  resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
  integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==
  dependencies:
    function-bind "^1.1.1"
    has "^1.0.3"
    has-symbols "^1.0.1"

get-stdin@^4.0.1:
  version "4.0.1"
  resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
  integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=

get-value@^2.0.3, get-value@^2.0.6:
  version "2.0.6"
  resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
  integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=

getpass@^0.1.1:
  version "0.1.7"
  resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
  integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
  dependencies:
    assert-plus "^1.0.0"

glob-parent@^3.1.0:
  version "3.1.0"
  resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
  integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=
  dependencies:
    is-glob "^3.1.0"
    path-dirname "^1.0.0"

glob-parent@~5.1.0:
  version "5.1.2"
  resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
  integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
  dependencies:
    is-glob "^4.0.1"

glob-stream@^6.1.0:
  version "6.1.0"
  resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4"
  integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=
  dependencies:
    extend "^3.0.0"
    glob "^7.1.1"
    glob-parent "^3.1.0"
    is-negated-glob "^1.0.0"
    ordered-read-streams "^1.0.0"
    pumpify "^1.3.5"
    readable-stream "^2.1.5"
    remove-trailing-separator "^1.0.1"
    to-absolute-glob "^2.0.0"
    unique-stream "^2.0.2"

glob-watcher@^5.0.3:
  version "5.0.5"
  resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.5.tgz#aa6bce648332924d9a8489be41e3e5c52d4186dc"
  integrity sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==
  dependencies:
    anymatch "^2.0.0"
    async-done "^1.2.0"
    chokidar "^2.0.0"
    is-negated-glob "^1.0.0"
    just-debounce "^1.0.0"
    normalize-path "^3.0.0"
    object.defaults "^1.1.0"

glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@~7.1.1:
  version "7.1.6"
  resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
  integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
  dependencies:
    fs.realpath "^1.0.0"
    inflight "^1.0.4"
    inherits "2"
    minimatch "^3.0.4"
    once "^1.3.0"
    path-is-absolute "^1.0.0"

glob@^7.0.3, glob@^7.1.0:
  version "7.1.2"
  resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
  dependencies:
    fs.realpath "^1.0.0"
    inflight "^1.0.4"
    inherits "2"
    minimatch "^3.0.4"
    once "^1.3.0"
    path-is-absolute "^1.0.0"

global-modules@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
  integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==
  dependencies:
    global-prefix "^1.0.1"
    is-windows "^1.0.1"
    resolve-dir "^1.0.0"

global-prefix@^1.0.1:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe"
  integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=
  dependencies:
    expand-tilde "^2.0.2"
    homedir-polyfill "^1.0.1"
    ini "^1.3.4"
    is-windows "^1.0.1"
    which "^1.2.14"

globule@^1.0.0:
  version "1.3.2"
  resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4"
  integrity sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==
  dependencies:
    glob "~7.1.1"
    lodash "~4.17.10"
    minimatch "~3.0.2"

glogg@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5"
  dependencies:
    sparkles "^1.0.0"

graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.6:
  version "4.2.6"
  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee"
  integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==

graceful-fs@^4.1.2:
  version "4.1.11"
  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"

"graceful-readlink@>= 1.0.0":
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"

gulp-cli@^2.2.0:
  version "2.3.0"
  resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.3.0.tgz#ec0d380e29e52aa45e47977f0d32e18fd161122f"
  integrity sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==
  dependencies:
    ansi-colors "^1.0.1"
    archy "^1.0.0"
    array-sort "^1.0.0"
    color-support "^1.1.3"
    concat-stream "^1.6.0"
    copy-props "^2.0.1"
    fancy-log "^1.3.2"
    gulplog "^1.0.0"
    interpret "^1.4.0"
    isobject "^3.0.1"
    liftoff "^3.1.0"
    matchdep "^2.0.0"
    mute-stdout "^1.0.0"
    pretty-hrtime "^1.0.0"
    replace-homedir "^1.0.0"
    semver-greatest-satisfied-range "^1.1.0"
    v8flags "^3.2.0"
    yargs "^7.1.0"

gulp-if@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/gulp-if/-/gulp-if-3.0.0.tgz#6c3e7edc8bafadc34f2ebecb314bf43324ba1e40"
  integrity sha512-fCUEngzNiEZEK2YuPm+sdMpO6ukb8+/qzbGfJBXyNOXz85bCG7yBI+pPSl+N90d7gnLvMsarthsAImx0qy7BAw==
  dependencies:
    gulp-match "^1.1.0"
    ternary-stream "^3.0.0"
    through2 "^3.0.1"

gulp-match@^1.1.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/gulp-match/-/gulp-match-1.1.0.tgz#552b7080fc006ee752c90563f9fec9d61aafdf4f"
  integrity sha512-DlyVxa1Gj24DitY2OjEsS+X6tDpretuxD6wTfhXE/Rw2hweqc1f6D/XtsJmoiCwLWfXgR87W9ozEityPCVzGtQ==
  dependencies:
    minimatch "^3.0.3"

gulp-rename@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-2.0.0.tgz#9bbc3962b0c0f52fc67cd5eaff6c223ec5b9cf6c"
  integrity sha512-97Vba4KBzbYmR5VBs9mWmK+HwIf5mj+/zioxfZhOKeXtx5ZjBk57KFlePf5nxq9QsTtFl0ejnHE3zTC9MHXqyQ==

gulp-sass@^4.1.0:
  version "4.1.0"
  resolved "https://registry.yarnpkg.com/gulp-sass/-/gulp-sass-4.1.0.tgz#486d7443c32d42bf31a6b1573ebbdaa361de7427"
  integrity sha512-xIiwp9nkBLcJDpmYHbEHdoWZv+j+WtYaKD6Zil/67F3nrAaZtWYN5mDwerdo7EvcdBenSAj7Xb2hx2DqURLGdA==
  dependencies:
    chalk "^2.3.0"
    lodash "^4.17.11"
    node-sass "^4.8.3"
    plugin-error "^1.0.1"
    replace-ext "^1.0.0"
    strip-ansi "^4.0.0"
    through2 "^2.0.0"
    vinyl-sourcemaps-apply "^0.2.0"

gulp-sourcemaps@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-3.0.0.tgz#2e154e1a2efed033c0e48013969e6f30337b2743"
  integrity sha512-RqvUckJkuYqy4VaIH60RMal4ZtG0IbQ6PXMNkNsshEGJ9cldUPRb/YCgboYae+CLAs1HQNb4ADTKCx65HInquQ==
  dependencies:
    "@gulp-sourcemaps/identity-map" "^2.0.1"
    "@gulp-sourcemaps/map-sources" "^1.0.0"
    acorn "^6.4.1"
    convert-source-map "^1.0.0"
    css "^3.0.0"
    debug-fabulous "^1.0.0"
    detect-newline "^2.0.0"
    graceful-fs "^4.0.0"
    source-map "^0.6.0"
    strip-bom-string "^1.0.0"
    through2 "^2.0.0"

gulp-uglify@^3.0.2:
  version "3.0.2"
  resolved "https://registry.yarnpkg.com/gulp-uglify/-/gulp-uglify-3.0.2.tgz#5f5b2e8337f879ca9dec971feb1b82a5a87850b0"
  integrity sha512-gk1dhB74AkV2kzqPMQBLA3jPoIAPd/nlNzP2XMDSG8XZrqnlCiDGAqC+rZOumzFvB5zOphlFh6yr3lgcAb/OOg==
  dependencies:
    array-each "^1.0.1"
    extend-shallow "^3.0.2"
    gulplog "^1.0.0"
    has-gulplog "^0.1.0"
    isobject "^3.0.1"
    make-error-cause "^1.1.1"
    safe-buffer "^5.1.2"
    through2 "^2.0.0"
    uglify-js "^3.0.5"
    vinyl-sourcemaps-apply "^0.2.0"

gulp-util@^3.0.8:
  version "3.0.8"
  resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f"
  dependencies:
    array-differ "^1.0.0"
    array-uniq "^1.0.2"
    beeper "^1.0.0"
    chalk "^1.0.0"
    dateformat "^2.0.0"
    fancy-log "^1.1.0"
    gulplog "^1.0.0"
    has-gulplog "^0.1.0"
    lodash._reescape "^3.0.0"
    lodash._reevaluate "^3.0.0"
    lodash._reinterpolate "^3.0.0"
    lodash.template "^3.0.0"
    minimist "^1.1.0"
    multipipe "^0.1.2"
    object-assign "^3.0.0"
    replace-ext "0.0.1"
    through2 "^2.0.0"
    vinyl "^0.5.0"

gulp@^4.0.2:
  version "4.0.2"
  resolved "https://registry.yarnpkg.com/gulp/-/gulp-4.0.2.tgz#543651070fd0f6ab0a0650c6a3e6ff5a7cb09caa"
  integrity sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==
  dependencies:
    glob-watcher "^5.0.3"
    gulp-cli "^2.2.0"
    undertaker "^1.2.1"
    vinyl-fs "^3.0.0"

gulplog@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5"
  dependencies:
    glogg "^1.0.0"

har-schema@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
  integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=

har-validator@~5.1.3:
  version "5.1.5"
  resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
  integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==
  dependencies:
    ajv "^6.12.3"
    har-schema "^2.0.0"

has-ansi@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
  dependencies:
    ansi-regex "^2.0.0"

has-bigints@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113"
  integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==

has-flag@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
  integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=

has-gulplog@^0.1.0:
  version "0.1.0"
  resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce"
  dependencies:
    sparkles "^1.0.0"

has-symbols@^1.0.1, has-symbols@^1.0.2:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"
  integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==

has-unicode@^2.0.0:
  version "2.0.1"
  resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
  integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=

has-value@^0.3.1:
  version "0.3.1"
  resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
  integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
  dependencies:
    get-value "^2.0.3"
    has-values "^0.1.4"
    isobject "^2.0.0"

has-value@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
  integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
  dependencies:
    get-value "^2.0.6"
    has-values "^1.0.0"
    isobject "^3.0.0"

has-values@^0.1.4:
  version "0.1.4"
  resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
  integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=

has-values@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
  integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
  dependencies:
    is-number "^3.0.0"
    kind-of "^4.0.0"

has@^1.0.0:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
  dependencies:
    function-bind "^1.0.2"

has@^1.0.3:
  version "1.0.3"
  resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
  integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
  dependencies:
    function-bind "^1.1.1"

hash-base@^2.0.0:
  version "2.0.2"
  resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1"
  dependencies:
    inherits "^2.0.1"

hash.js@^1.0.0, hash.js@^1.0.3:
  version "1.1.2"
  resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.2.tgz#bf5c887825cfe40b9efde7bf11bd2db26e6bf01b"
  dependencies:
    inherits "^2.0.3"
    minimalistic-assert "^1.0.0"

hmac-drbg@^1.0.0:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
  dependencies:
    hash.js "^1.0.3"
    minimalistic-assert "^1.0.0"
    minimalistic-crypto-utils "^1.0.1"

homedir-polyfill@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc"
  dependencies:
    parse-passwd "^1.0.0"

hosted-git-info@^2.1.4:
  version "2.5.0"
  resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c"

htmlescape@^1.1.0:
  version "1.1.1"
  resolved "https://registry.yarnpkg.com/htmlescape/-/htmlescape-1.1.1.tgz#3a03edc2214bca3b66424a3e7959349509cb0351"

http-signature@~1.2.0:
  version "1.2.0"
  resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
  integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
  dependencies:
    assert-plus "^1.0.0"
    jsprim "^1.2.2"
    sshpk "^1.7.0"

https-browserify@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"

ieee754@^1.1.4:
  version "1.1.8"
  resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"

in-publish@^2.0.0:
  version "2.0.1"
  resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.1.tgz#948b1a535c8030561cea522f73f78f4be357e00c"
  integrity sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==

indent-string@^2.1.0:
  version "2.1.0"
  resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
  integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=
  dependencies:
    repeating "^2.0.0"

inflight@^1.0.4:
  version "1.0.6"
  resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
  dependencies:
    once "^1.3.0"
    wrappy "1"

inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
  version "2.0.3"
  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"

inherits@2.0.1:
  version "2.0.1"
  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"

inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.4:
  version "2.0.4"
  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
  integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==

ini@^1.3.4:
  version "1.3.4"
  resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"

inline-source-map@~0.6.0:
  version "0.6.2"
  resolved "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.6.2.tgz#f9393471c18a79d1724f863fa38b586370ade2a5"
  dependencies:
    source-map "~0.5.3"

insert-module-globals@^7.2.1:
  version "7.2.1"
  resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-7.2.1.tgz#d5e33185181a4e1f33b15f7bf100ee91890d5cb3"
  integrity sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==
  dependencies:
    JSONStream "^1.0.3"
    acorn-node "^1.5.2"
    combine-source-map "^0.8.0"
    concat-stream "^1.6.1"
    is-buffer "^1.1.0"
    path-is-absolute "^1.0.1"
    process "~0.11.0"
    through2 "^2.0.0"
    undeclared-identifiers "^1.1.2"
    xtend "^4.0.0"

interpret@^1.4.0:
  version "1.4.0"
  resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
  integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==

invert-kv@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"

is-absolute@^0.2.3:
  version "0.2.6"
  resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.2.6.tgz#20de69f3db942ef2d87b9c2da36f172235b1b5eb"
  dependencies:
    is-relative "^0.2.1"
    is-windows "^0.2.0"

is-absolute@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576"
  integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==
  dependencies:
    is-relative "^1.0.0"
    is-windows "^1.0.1"

is-accessor-descriptor@^0.1.6:
  version "0.1.6"
  resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
  integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
  dependencies:
    kind-of "^3.0.2"

is-accessor-descriptor@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
  integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
  dependencies:
    kind-of "^6.0.0"

is-arguments@^1.0.4:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9"
  integrity sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==
  dependencies:
    call-bind "^1.0.0"

is-arrayish@^0.2.1:
  version "0.2.1"
  resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"

is-bigint@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2"
  integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==

is-binary-path@^1.0.0:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
  dependencies:
    binary-extensions "^1.0.0"

is-binary-path@~2.1.0:
  version "2.1.0"
  resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
  integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
  dependencies:
    binary-extensions "^2.0.0"

is-boolean-object@^1.1.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0"
  integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==
  dependencies:
    call-bind "^1.0.0"

is-buffer@^1.1.0, is-buffer@^1.1.5:
  version "1.1.5"
  resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc"

is-builtin-module@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
  dependencies:
    builtin-modules "^1.0.0"

is-callable@^1.1.4, is-callable@^1.2.3:
  version "1.2.3"
  resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e"
  integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==

is-core-module@^2.2.0:
  version "2.3.0"
  resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.3.0.tgz#d341652e3408bca69c4671b79a0954a3d349f887"
  integrity sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw==
  dependencies:
    has "^1.0.3"

is-data-descriptor@^0.1.4:
  version "0.1.4"
  resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
  integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
  dependencies:
    kind-of "^3.0.2"

is-data-descriptor@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
  integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
  dependencies:
    kind-of "^6.0.0"

is-date-object@^1.0.1:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
  integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==

is-descriptor@^0.1.0:
  version "0.1.6"
  resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
  integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==
  dependencies:
    is-accessor-descriptor "^0.1.6"
    is-data-descriptor "^0.1.4"
    kind-of "^5.0.0"

is-descriptor@^1.0.0, is-descriptor@^1.0.2:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
  integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
  dependencies:
    is-accessor-descriptor "^1.0.0"
    is-data-descriptor "^1.0.0"
    kind-of "^6.0.2"

is-extendable@^0.1.0, is-extendable@^0.1.1:
  version "0.1.1"
  resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
  integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=

is-extendable@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
  integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
  dependencies:
    is-plain-object "^2.0.4"

is-extglob@^2.1.0, is-extglob@^2.1.1:
  version "2.1.1"
  resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
  integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=

is-finite@^1.0.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3"
  integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==

is-fullwidth-code-point@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
  dependencies:
    number-is-nan "^1.0.0"

is-fullwidth-code-point@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
  integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=

is-fullwidth-code-point@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
  integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==

is-generator-function@^1.0.7:
  version "1.0.8"
  resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.8.tgz#dfb5c2b120e02b0a8d9d2c6806cd5621aa922f7b"
  integrity sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==

is-glob@^3.1.0:
  version "3.1.0"
  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
  integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=
  dependencies:
    is-extglob "^2.1.0"

is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
  version "4.0.1"
  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
  integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
  dependencies:
    is-extglob "^2.1.1"

is-negated-glob@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2"
  integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=

is-negative-zero@^2.0.1:
  version "2.0.1"
  resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24"
  integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==

is-number-object@^1.0.4:
  version "1.0.4"
  resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197"
  integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==

is-number@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
  dependencies:
    kind-of "^3.0.2"

is-number@^4.0.0:
  version "4.0.0"
  resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff"
  integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==

is-number@^7.0.0:
  version "7.0.0"
  resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
  integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==

is-plain-object@^2.0.1, is-plain-object@^2.0.4:
  version "2.0.4"
  resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
  integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
  dependencies:
    isobject "^3.0.1"

is-plain-object@^2.0.3:
  version "2.0.3"
  resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.3.tgz#c15bf3e4b66b62d72efaf2925848663ecbc619b6"
  dependencies:
    isobject "^3.0.0"

is-plain-object@^5.0.0:
  version "5.0.0"
  resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
  integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==

is-promise@^2.2.2:
  version "2.2.2"
  resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1"
  integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==

is-regex@^1.1.2:
  version "1.1.2"
  resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251"
  integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==
  dependencies:
    call-bind "^1.0.2"
    has-symbols "^1.0.1"

is-relative@^0.2.1:
  version "0.2.1"
  resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.2.1.tgz#d27f4c7d516d175fb610db84bbeef23c3bc97aa5"
  dependencies:
    is-unc-path "^0.1.1"

is-relative@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d"
  integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==
  dependencies:
    is-unc-path "^1.0.0"

is-string@^1.0.5:
  version "1.0.5"
  resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
  integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==

is-symbol@^1.0.2, is-symbol@^1.0.3:
  version "1.0.3"
  resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937"
  integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==
  dependencies:
    has-symbols "^1.0.1"

is-typed-array@^1.1.3:
  version "1.1.5"
  resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.5.tgz#f32e6e096455e329eb7b423862456aa213f0eb4e"
  integrity sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==
  dependencies:
    available-typed-arrays "^1.0.2"
    call-bind "^1.0.2"
    es-abstract "^1.18.0-next.2"
    foreach "^2.0.5"
    has-symbols "^1.0.1"

is-typedarray@~1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
  integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=

is-unc-path@^0.1.1:
  version "0.1.2"
  resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-0.1.2.tgz#6ab053a72573c10250ff416a3814c35178af39b9"
  dependencies:
    unc-path-regex "^0.1.0"

is-unc-path@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d"
  integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==
  dependencies:
    unc-path-regex "^0.1.2"

is-utf8@^0.2.0, is-utf8@^0.2.1:
  version "0.2.1"
  resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
  integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=

is-valid-glob@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa"
  integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=

is-windows@^0.2.0:
  version "0.2.0"
  resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c"

is-windows@^1.0.1, is-windows@^1.0.2:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
  integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==

isarray@0.0.1, isarray@~0.0.1:
  version "0.0.1"
  resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"

isarray@1.0.0, isarray@~1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"

isexe@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"

isobject@^2.0.0, isobject@^2.1.0:
  version "2.1.0"
  resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
  dependencies:
    isarray "1.0.0"

isobject@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.0.tgz#39565217f3661789e8a0a0c080d5f7e6bc46e1a0"

isobject@^3.0.1:
  version "3.0.1"
  resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
  integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=

isstream@~0.1.2:
  version "0.1.2"
  resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
  integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=

js-base64@^2.1.8:
  version "2.6.4"
  resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4"
  integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==

jsbn@~0.1.0:
  version "0.1.1"
  resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
  integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=

json-schema-traverse@^0.4.1:
  version "0.4.1"
  resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
  integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==

json-schema@0.2.3:
  version "0.2.3"
  resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
  integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=

json-stable-stringify-without-jsonify@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
  integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=

json-stringify-safe@~5.0.1:
  version "5.0.1"
  resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
  integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=

jsonify@~0.0.0:
  version "0.0.0"
  resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"

jsonparse@^1.2.0:
  version "1.3.1"
  resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"

jsprim@^1.2.2:
  version "1.4.1"
  resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
  integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
  dependencies:
    assert-plus "1.0.0"
    extsprintf "1.3.0"
    json-schema "0.2.3"
    verror "1.10.0"

just-debounce@^1.0.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.1.0.tgz#2f81a3ad4121a76bc7cb45dbf704c0d76a8e5ddf"
  integrity sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==

kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
  version "3.2.2"
  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
  dependencies:
    is-buffer "^1.1.5"

kind-of@^4.0.0:
  version "4.0.0"
  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
  dependencies:
    is-buffer "^1.1.5"

kind-of@^5.0.0, kind-of@^5.0.2:
  version "5.1.0"
  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
  integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==

kind-of@^6.0.0, kind-of@^6.0.2:
  version "6.0.3"
  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
  integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==

labeled-stream-splicer@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz#a52e1d138024c00b86b1c0c91f677918b8ae0a59"
  dependencies:
    inherits "^2.0.1"
    isarray "~0.0.1"
    stream-splicer "^2.0.0"

last-run@^1.1.0:
  version "1.1.1"
  resolved "https://registry.yarnpkg.com/last-run/-/last-run-1.1.1.tgz#45b96942c17b1c79c772198259ba943bebf8ca5b"
  integrity sha1-RblpQsF7HHnHchmCWbqUO+v4yls=
  dependencies:
    default-resolution "^2.0.0"
    es6-weak-map "^2.0.1"

lazystream@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4"
  integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=
  dependencies:
    readable-stream "^2.0.5"

lcid@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
  dependencies:
    invert-kv "^1.0.0"

lead@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42"
  integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=
  dependencies:
    flush-write-stream "^1.0.2"

liftoff@^3.1.0:
  version "3.1.0"
  resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-3.1.0.tgz#c9ba6081f908670607ee79062d700df062c52ed3"
  integrity sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==
  dependencies:
    extend "^3.0.0"
    findup-sync "^3.0.0"
    fined "^1.0.1"
    flagged-respawn "^1.0.0"
    is-plain-object "^2.0.4"
    object.map "^1.0.0"
    rechoir "^0.6.2"
    resolve "^1.1.7"

load-json-file@^1.0.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
  integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=
  dependencies:
    graceful-fs "^4.1.2"
    parse-json "^2.2.0"
    pify "^2.0.0"
    pinkie-promise "^2.0.0"
    strip-bom "^2.0.0"

locate-path@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
  integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
  dependencies:
    p-locate "^3.0.0"
    path-exists "^3.0.0"

lodash._basecopy@^3.0.0:
  version "3.0.1"
  resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"

lodash._basetostring@^3.0.0:
  version "3.0.1"
  resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5"

lodash._basevalues@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7"

lodash._getnative@^3.0.0:
  version "3.9.1"
  resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"

lodash._isiterateecall@^3.0.0:
  version "3.0.9"
  resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c"

lodash._reescape@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a"

lodash._reevaluate@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed"

lodash._reinterpolate@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"

lodash._root@^3.0.0:
  version "3.0.1"
  resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692"

lodash.escape@^3.0.0:
  version "3.2.0"
  resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698"
  dependencies:
    lodash._root "^3.0.0"

lodash.isarguments@^3.0.0:
  version "3.1.0"
  resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"

lodash.isarray@^3.0.0:
  version "3.0.4"
  resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"

lodash.keys@^3.0.0:
  version "3.1.2"
  resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
  dependencies:
    lodash._getnative "^3.0.0"
    lodash.isarguments "^3.0.0"
    lodash.isarray "^3.0.0"

lodash.memoize@~3.0.3:
  version "3.0.4"
  resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f"

lodash.restparam@^3.0.0:
  version "3.6.1"
  resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"

lodash.template@^3.0.0:
  version "3.6.2"
  resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f"
  dependencies:
    lodash._basecopy "^3.0.0"
    lodash._basetostring "^3.0.0"
    lodash._basevalues "^3.0.0"
    lodash._isiterateecall "^3.0.0"
    lodash._reinterpolate "^3.0.0"
    lodash.escape "^3.0.0"
    lodash.keys "^3.0.0"
    lodash.restparam "^3.0.0"
    lodash.templatesettings "^3.0.0"

lodash.templatesettings@^3.0.0:
  version "3.1.1"
  resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5"
  dependencies:
    lodash._reinterpolate "^3.0.0"
    lodash.escape "^3.0.0"

lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.15, lodash@~4.17.10:
  version "4.17.21"
  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
  integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==

loud-rejection@^1.0.0:
  version "1.6.0"
  resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
  integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=
  dependencies:
    currently-unhandled "^0.4.1"
    signal-exit "^3.0.0"

lru-cache@^4.0.1:
  version "4.1.1"
  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55"
  dependencies:
    pseudomap "^1.0.2"
    yallist "^2.1.2"

lru-queue@^0.1.0:
  version "0.1.0"
  resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3"
  integrity sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=
  dependencies:
    es5-ext "~0.10.2"

make-error-cause@^1.1.1:
  version "1.2.2"
  resolved "https://registry.yarnpkg.com/make-error-cause/-/make-error-cause-1.2.2.tgz#df0388fcd0b37816dff0a5fb8108939777dcbc9d"
  dependencies:
    make-error "^1.2.0"

make-error@^1.2.0:
  version "1.3.0"
  resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.0.tgz#52ad3a339ccf10ce62b4040b708fe707244b8b96"

make-iterator@^1.0.0:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6"
  integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==
  dependencies:
    kind-of "^6.0.2"

map-cache@^0.2.0, map-cache@^0.2.2:
  version "0.2.2"
  resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"

map-obj@^1.0.0, map-obj@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
  integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=

map-visit@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
  integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
  dependencies:
    object-visit "^1.0.0"

matchdep@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/matchdep/-/matchdep-2.0.0.tgz#c6f34834a0d8dbc3b37c27ee8bbcb27c7775582e"
  integrity sha1-xvNINKDY28OzfCfui7yyfHd1WC4=
  dependencies:
    findup-sync "^2.0.0"
    micromatch "^3.0.4"
    resolve "^1.4.0"
    stack-trace "0.0.10"

memoizee@0.4.X:
  version "0.4.15"
  resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72"
  integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==
  dependencies:
    d "^1.0.1"
    es5-ext "^0.10.53"
    es6-weak-map "^2.0.3"
    event-emitter "^0.3.5"
    is-promise "^2.2.2"
    lru-queue "^0.1.0"
    next-tick "^1.1.0"
    timers-ext "^0.1.7"

meow@^3.7.0:
  version "3.7.0"
  resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
  integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=
  dependencies:
    camelcase-keys "^2.0.0"
    decamelize "^1.1.2"
    loud-rejection "^1.0.0"
    map-obj "^1.0.1"
    minimist "^1.1.3"
    normalize-package-data "^2.3.4"
    object-assign "^4.0.1"
    read-pkg-up "^1.0.1"
    redent "^1.0.0"
    trim-newlines "^1.0.0"

merge-stream@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
  integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==

micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4:
  version "3.1.10"
  resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
  integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
  dependencies:
    arr-diff "^4.0.0"
    array-unique "^0.3.2"
    braces "^2.3.1"
    define-property "^2.0.2"
    extend-shallow "^3.0.2"
    extglob "^2.0.4"
    fragment-cache "^0.2.1"
    kind-of "^6.0.2"
    nanomatch "^1.2.9"
    object.pick "^1.3.0"
    regex-not "^1.0.0"
    snapdragon "^0.8.1"
    to-regex "^3.0.2"

miller-rabin@^4.0.0:
  version "4.0.0"
  resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d"
  dependencies:
    bn.js "^4.0.0"
    brorand "^1.0.1"

mime-db@1.47.0:
  version "1.47.0"
  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c"
  integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==

mime-types@^2.1.12, mime-types@~2.1.19:
  version "2.1.30"
  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d"
  integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==
  dependencies:
    mime-db "1.47.0"

minimalistic-assert@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"

minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"

minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2:
  version "3.0.4"
  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
  dependencies:
    brace-expansion "^1.1.7"

minimist@^1.1.0:
  version "1.2.0"
  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"

minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.5:
  version "1.2.5"
  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
  integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==

mixin-deep@^1.2.0:
  version "1.3.2"
  resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
  integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==
  dependencies:
    for-in "^1.0.2"
    is-extendable "^1.0.1"

mkdirp-classic@^0.5.2:
  version "0.5.3"
  resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113"
  integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==

"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1:
  version "0.5.5"
  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
  integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
  dependencies:
    minimist "^1.2.5"

module-deps@^6.2.3:
  version "6.2.3"
  resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-6.2.3.tgz#15490bc02af4b56cf62299c7c17cba32d71a96ee"
  integrity sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==
  dependencies:
    JSONStream "^1.0.3"
    browser-resolve "^2.0.0"
    cached-path-relative "^1.0.2"
    concat-stream "~1.6.0"
    defined "^1.0.0"
    detective "^5.2.0"
    duplexer2 "^0.1.2"
    inherits "^2.0.1"
    parents "^1.0.0"
    readable-stream "^2.0.2"
    resolve "^1.4.0"
    stream-combiner2 "^1.1.1"
    subarg "^1.0.0"
    through2 "^2.0.0"
    xtend "^4.0.0"

ms@2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"

ms@^2.1.1:
  version "2.1.3"
  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
  integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==

multipipe@^0.1.2:
  version "0.1.2"
  resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b"
  dependencies:
    duplexer2 "0.0.2"

mute-stdout@^1.0.0:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/mute-stdout/-/mute-stdout-1.0.1.tgz#acb0300eb4de23a7ddeec014e3e96044b3472331"
  integrity sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==

nan@^2.12.1, nan@^2.13.2:
  version "2.14.2"
  resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19"
  integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==

nanomatch@^1.2.9:
  version "1.2.13"
  resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
  integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
  dependencies:
    arr-diff "^4.0.0"
    array-unique "^0.3.2"
    define-property "^2.0.2"
    extend-shallow "^3.0.2"
    fragment-cache "^0.2.1"
    is-windows "^1.0.2"
    kind-of "^6.0.2"
    object.pick "^1.3.0"
    regex-not "^1.0.0"
    snapdragon "^0.8.1"
    to-regex "^3.0.1"

next-tick@1, next-tick@~1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
  integrity sha1-yobR/ogoFpsBICCOPchCS524NCw=

next-tick@^1.1.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb"
  integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==

node-gyp@^3.8.0:
  version "3.8.0"
  resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c"
  integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==
  dependencies:
    fstream "^1.0.0"
    glob "^7.0.3"
    graceful-fs "^4.1.2"
    mkdirp "^0.5.0"
    nopt "2 || 3"
    npmlog "0 || 1 || 2 || 3 || 4"
    osenv "0"
    request "^2.87.0"
    rimraf "2"
    semver "~5.3.0"
    tar "^2.0.0"
    which "1"

node-sass@^4.8.3:
  version "4.14.1"
  resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5"
  integrity sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==
  dependencies:
    async-foreach "^0.1.3"
    chalk "^1.1.1"
    cross-spawn "^3.0.0"
    gaze "^1.0.0"
    get-stdin "^4.0.1"
    glob "^7.0.3"
    in-publish "^2.0.0"
    lodash "^4.17.15"
    meow "^3.7.0"
    mkdirp "^0.5.1"
    nan "^2.13.2"
    node-gyp "^3.8.0"
    npmlog "^4.0.0"
    request "^2.88.0"
    sass-graph "2.2.5"
    stdout-stream "^1.4.0"
    "true-case-path" "^1.0.2"

"nopt@2 || 3":
  version "3.0.6"
  resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
  integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k=
  dependencies:
    abbrev "1"

normalize-package-data@^2.3.2:
  version "2.4.0"
  resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f"
  dependencies:
    hosted-git-info "^2.1.4"
    is-builtin-module "^1.0.0"
    semver "2 || 3 || 4 || 5"
    validate-npm-package-license "^3.0.1"

normalize-package-data@^2.3.4:
  version "2.5.0"
  resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
  integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
  dependencies:
    hosted-git-info "^2.1.4"
    resolve "^1.10.0"
    semver "2 || 3 || 4 || 5"
    validate-npm-package-license "^3.0.1"

normalize-path@^2.0.1, normalize-path@^2.1.1:
  version "2.1.1"
  resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
  dependencies:
    remove-trailing-separator "^1.0.1"

normalize-path@^3.0.0, normalize-path@~3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
  integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==

now-and-later@^2.0.0:
  version "2.0.1"
  resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c"
  integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==
  dependencies:
    once "^1.3.2"

"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0:
  version "4.1.2"
  resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
  integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
  dependencies:
    are-we-there-yet "~1.1.2"
    console-control-strings "~1.1.0"
    gauge "~2.7.3"
    set-blocking "~2.0.0"

number-is-nan@^1.0.0:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"

oauth-sign@~0.9.0:
  version "0.9.0"
  resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
  integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==

object-assign@4.X, object-assign@^4.0.1, object-assign@^4.1.0:
  version "4.1.1"
  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
  integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=

object-assign@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2"

object-copy@^0.1.0:
  version "0.1.0"
  resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
  integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
  dependencies:
    copy-descriptor "^0.1.0"
    define-property "^0.2.5"
    kind-of "^3.0.3"

object-inspect@^1.9.0:
  version "1.10.2"
  resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.2.tgz#b6385a3e2b7cae0b5eafcf90cddf85d128767f30"
  integrity sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA==

object-keys@^1.0.12, object-keys@^1.1.1:
  version "1.1.1"
  resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
  integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==

object-visit@^1.0.0:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
  integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
  dependencies:
    isobject "^3.0.0"

object.assign@^4.0.4, object.assign@^4.1.0, object.assign@^4.1.2:
  version "4.1.2"
  resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
  integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
  dependencies:
    call-bind "^1.0.0"
    define-properties "^1.1.3"
    has-symbols "^1.0.1"
    object-keys "^1.1.1"

object.defaults@^1.0.0, object.defaults@^1.1.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf"
  dependencies:
    array-each "^1.0.1"
    array-slice "^1.0.0"
    for-own "^1.0.0"
    isobject "^3.0.0"

object.map@^1.0.0:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37"
  integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=
  dependencies:
    for-own "^1.0.0"
    make-iterator "^1.0.0"

object.pick@^1.2.0:
  version "1.2.0"
  resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.2.0.tgz#b5392bee9782da6d9fb7d6afaf539779f1234c2b"
  dependencies:
    isobject "^2.1.0"

object.pick@^1.3.0:
  version "1.3.0"
  resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
  integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
  dependencies:
    isobject "^3.0.1"

object.reduce@^1.0.0:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/object.reduce/-/object.reduce-1.0.1.tgz#6fe348f2ac7fa0f95ca621226599096825bb03ad"
  integrity sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=
  dependencies:
    for-own "^1.0.0"
    make-iterator "^1.0.0"

once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0:
  version "1.4.0"
  resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
  dependencies:
    wrappy "1"

ordered-read-streams@^1.0.0:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e"
  integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=
  dependencies:
    readable-stream "^2.0.1"

os-browserify@~0.3.0:
  version "0.3.0"
  resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
  integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=

os-homedir@^1.0.0:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
  integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=

os-locale@^1.4.0:
  version "1.4.0"
  resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
  integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=
  dependencies:
    lcid "^1.0.0"

os-tmpdir@^1.0.0:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
  integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=

osenv@0:
  version "0.1.5"
  resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
  integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
  dependencies:
    os-homedir "^1.0.0"
    os-tmpdir "^1.0.0"

outpipe@^1.1.0:
  version "1.1.1"
  resolved "https://registry.yarnpkg.com/outpipe/-/outpipe-1.1.1.tgz#50cf8616365e87e031e29a5ec9339a3da4725fa2"
  dependencies:
    shell-quote "^1.4.2"

p-limit@^2.0.0:
  version "2.3.0"
  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
  integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
  dependencies:
    p-try "^2.0.0"

p-locate@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
  integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
  dependencies:
    p-limit "^2.0.0"

p-try@^2.0.0:
  version "2.2.0"
  resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
  integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==

pako@~1.0.5:
  version "1.0.11"
  resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
  integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==

parents@^1.0.0, parents@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/parents/-/parents-1.0.1.tgz#fedd4d2bf193a77745fe71e371d73c3307d9c751"
  dependencies:
    path-platform "~0.11.15"

parse-asn1@^5.0.0:
  version "5.1.0"
  resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712"
  dependencies:
    asn1.js "^4.0.0"
    browserify-aes "^1.0.0"
    create-hash "^1.1.0"
    evp_bytestokey "^1.0.0"
    pbkdf2 "^3.0.3"

parse-filepath@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.1.tgz#159d6155d43904d16c10ef698911da1e91969b73"
  dependencies:
    is-absolute "^0.2.3"
    map-cache "^0.2.0"
    path-root "^0.1.1"

parse-json@^2.2.0:
  version "2.2.0"
  resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
  dependencies:
    error-ex "^1.2.0"

parse-node-version@^1.0.0:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b"
  integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==

parse-passwd@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"

pascalcase@^0.1.1:
  version "0.1.1"
  resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
  integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=

path-browserify@^1.0.0:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd"
  integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==

path-dirname@^1.0.0:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
  integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=

path-exists@^2.0.0:
  version "2.1.0"
  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
  dependencies:
    pinkie-promise "^2.0.0"

path-exists@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"

path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"

path-parse@^1.0.5:
  version "1.0.5"
  resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"

path-parse@^1.0.6:
  version "1.0.6"
  resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
  integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==

path-platform@~0.11.15:
  version "0.11.15"
  resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2"

path-root-regex@^0.1.0:
  version "0.1.2"
  resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d"

path-root@^0.1.1:
  version "0.1.1"
  resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7"
  dependencies:
    path-root-regex "^0.1.0"

path-type@^1.0.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
  integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=
  dependencies:
    graceful-fs "^4.1.2"
    pify "^2.0.0"
    pinkie-promise "^2.0.0"

pbkdf2@^3.0.3:
  version "3.0.12"
  resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.12.tgz#be36785c5067ea48d806ff923288c5f750b6b8a2"
  dependencies:
    create-hash "^1.1.2"
    create-hmac "^1.1.4"
    ripemd160 "^2.0.1"
    safe-buffer "^5.0.1"
    sha.js "^2.4.8"

performance-now@^2.1.0:
  version "2.1.0"
  resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
  integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=

picomatch@^2.0.4, picomatch@^2.2.1:
  version "2.2.3"
  resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d"
  integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==

pify@^2.0.0:
  version "2.3.0"
  resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"

pinkie-promise@^2.0.0:
  version "2.0.1"
  resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
  dependencies:
    pinkie "^2.0.0"

pinkie@^2.0.0:
  version "2.0.4"
  resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"

plugin-error@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-1.0.1.tgz#77016bd8919d0ac377fdcdd0322328953ca5781c"
  integrity sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==
  dependencies:
    ansi-colors "^1.0.1"
    arr-diff "^4.0.0"
    arr-union "^3.1.0"
    extend-shallow "^3.0.2"

posix-character-classes@^0.1.0:
  version "0.1.1"
  resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
  integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=

postcss@^7.0.16:
  version "7.0.35"
  resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24"
  integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==
  dependencies:
    chalk "^2.4.2"
    source-map "^0.6.1"
    supports-color "^6.1.0"

pretty-hrtime@^1.0.0:
  version "1.0.3"
  resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1"

process-nextick-args@^2.0.0, process-nextick-args@~2.0.0:
  version "2.0.1"
  resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
  integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==

process-nextick-args@~1.0.6:
  version "1.0.7"
  resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"

process@~0.11.0:
  version "0.11.10"
  resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"

pseudomap@^1.0.2:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"

psl@^1.1.28:
  version "1.8.0"
  resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
  integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==

public-encrypt@^4.0.0:
  version "4.0.0"
  resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6"
  dependencies:
    bn.js "^4.1.0"
    browserify-rsa "^4.0.0"
    create-hash "^1.1.0"
    parse-asn1 "^5.0.0"
    randombytes "^2.0.1"

pump@^2.0.0:
  version "2.0.1"
  resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
  integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==
  dependencies:
    end-of-stream "^1.1.0"
    once "^1.3.1"

pumpify@^1.3.5:
  version "1.5.1"
  resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce"
  integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==
  dependencies:
    duplexify "^3.6.0"
    inherits "^2.0.3"
    pump "^2.0.0"

punycode@1.3.2:
  version "1.3.2"
  resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"

punycode@^1.3.2:
  version "1.4.1"
  resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"

punycode@^2.1.0, punycode@^2.1.1:
  version "2.1.1"
  resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
  integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==

qs@~6.5.2:
  version "6.5.2"
  resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
  integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==

querystring-es3@~0.2.0:
  version "0.2.1"
  resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"

querystring@0.2.0:
  version "0.2.0"
  resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"

randombytes@^2.0.0, randombytes@^2.0.1:
  version "2.0.5"
  resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.5.tgz#dc009a246b8d09a177b4b7a0ae77bc570f4b1b79"
  dependencies:
    safe-buffer "^5.1.0"

read-only-stream@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/read-only-stream/-/read-only-stream-2.0.0.tgz#2724fd6a8113d73764ac288d4386270c1dbf17f0"
  dependencies:
    readable-stream "^2.0.2"

read-pkg-up@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
  integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=
  dependencies:
    find-up "^1.0.0"
    read-pkg "^1.0.0"

read-pkg@^1.0.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
  integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=
  dependencies:
    load-json-file "^1.0.0"
    normalize-package-data "^2.3.2"
    path-type "^1.0.0"

"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.1.1, readable-stream@^3.5.0, readable-stream@^3.6.0:
  version "3.6.0"
  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
  integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
  dependencies:
    inherits "^2.0.3"
    string_decoder "^1.1.1"
    util-deprecate "^1.0.1"

readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5:
  version "2.3.2"
  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.2.tgz#5a04df05e4f57fe3f0dc68fdd11dc5c97c7e6f4d"
  dependencies:
    core-util-is "~1.0.0"
    inherits "~2.0.3"
    isarray "~1.0.0"
    process-nextick-args "~1.0.6"
    safe-buffer "~5.1.0"
    string_decoder "~1.0.0"
    util-deprecate "~1.0.1"

readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6:
  version "2.3.7"
  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
  integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
  dependencies:
    core-util-is "~1.0.0"
    inherits "~2.0.3"
    isarray "~1.0.0"
    process-nextick-args "~2.0.0"
    safe-buffer "~5.1.1"
    string_decoder "~1.1.1"
    util-deprecate "~1.0.1"

readable-stream@~1.1.9:
  version "1.1.14"
  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
  dependencies:
    core-util-is "~1.0.0"
    inherits "~2.0.1"
    isarray "0.0.1"
    string_decoder "~0.10.x"

readdirp@^2.2.1:
  version "2.2.1"
  resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
  integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==
  dependencies:
    graceful-fs "^4.1.11"
    micromatch "^3.1.10"
    readable-stream "^2.0.2"

readdirp@~3.5.0:
  version "3.5.0"
  resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e"
  integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==
  dependencies:
    picomatch "^2.2.1"

rechoir@^0.6.2:
  version "0.6.2"
  resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
  dependencies:
    resolve "^1.1.6"

redent@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
  integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=
  dependencies:
    indent-string "^2.1.0"
    strip-indent "^1.0.1"

regex-not@^1.0.0, regex-not@^1.0.2:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
  integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
  dependencies:
    extend-shallow "^3.0.2"
    safe-regex "^1.1.0"

remove-bom-buffer@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53"
  integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==
  dependencies:
    is-buffer "^1.1.5"
    is-utf8 "^0.2.1"

remove-bom-stream@^1.2.0:
  version "1.2.0"
  resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523"
  integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=
  dependencies:
    remove-bom-buffer "^3.0.0"
    safe-buffer "^5.1.0"
    through2 "^2.0.3"

remove-trailing-separator@^1.0.1:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz#69b062d978727ad14dc6b56ba4ab772fd8d70511"

remove-trailing-separator@^1.1.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
  integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=

repeat-element@^1.1.2:
  version "1.1.2"
  resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"

repeat-string@^1.6.1:
  version "1.6.1"
  resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
  integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=

repeating@^2.0.0:
  version "2.0.1"
  resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
  integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=
  dependencies:
    is-finite "^1.0.0"

replace-ext@0.0.1:
  version "0.0.1"
  resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924"

replace-ext@^1.0.0:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a"
  integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==

replace-homedir@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/replace-homedir/-/replace-homedir-1.0.0.tgz#e87f6d513b928dde808260c12be7fec6ff6e798c"
  integrity sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=
  dependencies:
    homedir-polyfill "^1.0.1"
    is-absolute "^1.0.0"
    remove-trailing-separator "^1.1.0"

request@^2.87.0, request@^2.88.0:
  version "2.88.2"
  resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
  integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
  dependencies:
    aws-sign2 "~0.7.0"
    aws4 "^1.8.0"
    caseless "~0.12.0"
    combined-stream "~1.0.6"
    extend "~3.0.2"
    forever-agent "~0.6.1"
    form-data "~2.3.2"
    har-validator "~5.1.3"
    http-signature "~1.2.0"
    is-typedarray "~1.0.0"
    isstream "~0.1.2"
    json-stringify-safe "~5.0.1"
    mime-types "~2.1.19"
    oauth-sign "~0.9.0"
    performance-now "^2.1.0"
    qs "~6.5.2"
    safe-buffer "^5.1.2"
    tough-cookie "~2.5.0"
    tunnel-agent "^0.6.0"
    uuid "^3.3.2"

require-directory@^2.1.1:
  version "2.1.1"
  resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"

require-main-filename@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"

require-main-filename@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
  integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==

resolve-dir@^1.0.0, resolve-dir@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43"
  integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=
  dependencies:
    expand-tilde "^2.0.0"
    global-modules "^1.0.0"

resolve-options@^1.1.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131"
  integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=
  dependencies:
    value-or-function "^3.0.0"

resolve-url@^0.2.1:
  version "0.2.1"
  resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
  integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=

resolve@^1.1.4, resolve@^1.1.6, resolve@^1.1.7:
  version "1.3.3"
  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5"
  dependencies:
    path-parse "^1.0.5"

resolve@^1.10.0, resolve@^1.17.0, resolve@^1.4.0:
  version "1.20.0"
  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
  integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
  dependencies:
    is-core-module "^2.2.0"
    path-parse "^1.0.6"

ret@~0.1.10:
  version "0.1.15"
  resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
  integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==

rimraf@2:
  version "2.7.1"
  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
  integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
  dependencies:
    glob "^7.1.3"

ripemd160@^2.0.0, ripemd160@^2.0.1:
  version "2.0.1"
  resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7"
  dependencies:
    hash-base "^2.0.0"
    inherits "^2.0.1"

safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.1.0:
  version "5.1.1"
  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"

safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0:
  version "5.2.1"
  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
  integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==

safe-buffer@~5.1.1:
  version "5.1.2"
  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
  integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==

safe-regex@^1.1.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
  integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
  dependencies:
    ret "~0.1.10"

safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
  version "2.1.2"
  resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
  integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==

sass-graph@2.2.5:
  version "2.2.5"
  resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8"
  integrity sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==
  dependencies:
    glob "^7.0.0"
    lodash "^4.0.0"
    scss-tokenizer "^0.2.3"
    yargs "^13.3.2"

scss-tokenizer@^0.2.3:
  version "0.2.3"
  resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1"
  integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE=
  dependencies:
    js-base64 "^2.1.8"
    source-map "^0.4.2"

semver-greatest-satisfied-range@^1.1.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz#13e8c2658ab9691cb0cd71093240280d36f77a5b"
  integrity sha1-E+jCZYq5aRywzXEJMkAoDTb3els=
  dependencies:
    sver-compat "^1.5.0"

"semver@2 || 3 || 4 || 5", semver@~5.3.0:
  version "5.3.0"
  resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"

set-blocking@^2.0.0, set-blocking@~2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"

set-value@^2.0.0, set-value@^2.0.1:
  version "2.0.1"
  resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
  integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==
  dependencies:
    extend-shallow "^2.0.1"
    is-extendable "^0.1.1"
    is-plain-object "^2.0.3"
    split-string "^3.0.1"

sha.js@^2.4.0, sha.js@^2.4.8:
  version "2.4.8"
  resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f"
  dependencies:
    inherits "^2.0.1"

shasum-object@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/shasum-object/-/shasum-object-1.0.0.tgz#0b7b74ff5b66ecf9035475522fa05090ac47e29e"
  integrity sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==
  dependencies:
    fast-safe-stringify "^2.0.7"

shell-quote@^1.4.2, shell-quote@^1.6.1:
  version "1.6.1"
  resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767"
  dependencies:
    array-filter "~0.0.0"
    array-map "~0.0.0"
    array-reduce "~0.0.0"
    jsonify "~0.0.0"

signal-exit@^3.0.0:
  version "3.0.3"
  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
  integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==

simple-concat@^1.0.0:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
  integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==

snapdragon-node@^2.0.1:
  version "2.1.1"
  resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
  integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
  dependencies:
    define-property "^1.0.0"
    isobject "^3.0.0"
    snapdragon-util "^3.0.1"

snapdragon-util@^3.0.1:
  version "3.0.1"
  resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
  integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
  dependencies:
    kind-of "^3.2.0"

snapdragon@^0.8.1:
  version "0.8.2"
  resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
  integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
  dependencies:
    base "^0.11.1"
    debug "^2.2.0"
    define-property "^0.2.5"
    extend-shallow "^2.0.1"
    map-cache "^0.2.2"
    source-map "^0.5.6"
    source-map-resolve "^0.5.0"
    use "^3.1.0"

source-map-resolve@^0.5.0:
  version "0.5.3"
  resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
  integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==
  dependencies:
    atob "^2.1.2"
    decode-uri-component "^0.2.0"
    resolve-url "^0.2.1"
    source-map-url "^0.4.0"
    urix "^0.1.0"

source-map-resolve@^0.6.0:
  version "0.6.0"
  resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2"
  integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==
  dependencies:
    atob "^2.1.2"
    decode-uri-component "^0.2.0"

source-map-url@^0.4.0:
  version "0.4.1"
  resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56"
  integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==

source-map@^0.4.2:
  version "0.4.4"
  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
  integrity sha1-66T12pwNyZneaAMti092FzZSA2s=
  dependencies:
    amdefine ">=0.0.4"

source-map@^0.5.1, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3:
  version "0.5.6"
  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"

source-map@^0.6.0, source-map@^0.6.1:
  version "0.6.1"
  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
  integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==

sparkles@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3"

spdx-correct@~1.0.0:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40"
  dependencies:
    spdx-license-ids "^1.0.2"

spdx-expression-parse@~1.0.0:
  version "1.0.4"
  resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c"

spdx-license-ids@^1.0.2:
  version "1.2.2"
  resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57"

split-string@^3.0.1, split-string@^3.0.2:
  version "3.1.0"
  resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
  integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
  dependencies:
    extend-shallow "^3.0.0"

sshpk@^1.7.0:
  version "1.16.1"
  resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
  integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
  dependencies:
    asn1 "~0.2.3"
    assert-plus "^1.0.0"
    bcrypt-pbkdf "^1.0.0"
    dashdash "^1.12.0"
    ecc-jsbn "~0.1.1"
    getpass "^0.1.1"
    jsbn "~0.1.0"
    safer-buffer "^2.0.2"
    tweetnacl "~0.14.0"

stack-trace@0.0.10:
  version "0.0.10"
  resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
  integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=

static-extend@^0.1.1:
  version "0.1.2"
  resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
  integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
  dependencies:
    define-property "^0.2.5"
    object-copy "^0.1.0"

stdout-stream@^1.4.0:
  version "1.4.1"
  resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de"
  integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==
  dependencies:
    readable-stream "^2.0.1"

stream-browserify@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f"
  integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==
  dependencies:
    inherits "~2.0.4"
    readable-stream "^3.5.0"

stream-combiner2@^1.1.1:
  version "1.1.1"
  resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe"
  dependencies:
    duplexer2 "~0.1.0"
    readable-stream "^2.0.2"

stream-exhaust@^1.0.1:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d"
  integrity sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==

stream-http@^3.0.0:
  version "3.2.0"
  resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5"
  integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==
  dependencies:
    builtin-status-codes "^3.0.0"
    inherits "^2.0.4"
    readable-stream "^3.6.0"
    xtend "^4.0.2"

stream-shift@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"

stream-splicer@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/stream-splicer/-/stream-splicer-2.0.0.tgz#1b63be438a133e4b671cc1935197600175910d83"
  dependencies:
    inherits "^2.0.1"
    readable-stream "^2.0.2"

string-width@^1.0.1, string-width@^1.0.2:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
  dependencies:
    code-point-at "^1.0.0"
    is-fullwidth-code-point "^1.0.0"
    strip-ansi "^3.0.0"

"string-width@^1.0.2 || 2":
  version "2.1.1"
  resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
  integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
  dependencies:
    is-fullwidth-code-point "^2.0.0"
    strip-ansi "^4.0.0"

string-width@^3.0.0, string-width@^3.1.0:
  version "3.1.0"
  resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
  integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
  dependencies:
    emoji-regex "^7.0.1"
    is-fullwidth-code-point "^2.0.0"
    strip-ansi "^5.1.0"

string-width@^4.1.0, string-width@^4.2.0:
  version "4.2.2"
  resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5"
  integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==
  dependencies:
    emoji-regex "^8.0.0"
    is-fullwidth-code-point "^3.0.0"
    strip-ansi "^6.0.0"

string.prototype.trimend@^1.0.4:
  version "1.0.4"
  resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80"
  integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==
  dependencies:
    call-bind "^1.0.2"
    define-properties "^1.1.3"

string.prototype.trimstart@^1.0.4:
  version "1.0.4"
  resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed"
  integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==
  dependencies:
    call-bind "^1.0.2"
    define-properties "^1.1.3"

string_decoder@^1.1.1:
  version "1.3.0"
  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
  integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
  dependencies:
    safe-buffer "~5.2.0"

string_decoder@~0.10.x:
  version "0.10.31"
  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"

string_decoder@~1.0.0:
  version "1.0.3"
  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab"
  dependencies:
    safe-buffer "~5.1.0"

string_decoder@~1.1.1:
  version "1.1.1"
  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
  integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
  dependencies:
    safe-buffer "~5.1.0"

strip-ansi@^3.0.0, strip-ansi@^3.0.1:
  version "3.0.1"
  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
  dependencies:
    ansi-regex "^2.0.0"

strip-ansi@^4.0.0:
  version "4.0.0"
  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
  integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
  dependencies:
    ansi-regex "^3.0.0"

strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
  version "5.2.0"
  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
  integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
  dependencies:
    ansi-regex "^4.1.0"

strip-ansi@^6.0.0:
  version "6.0.0"
  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
  integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
  dependencies:
    ansi-regex "^5.0.0"

strip-bom-string@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92"
  integrity sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=

strip-bom@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
  integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=
  dependencies:
    is-utf8 "^0.2.0"

strip-indent@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
  integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=
  dependencies:
    get-stdin "^4.0.1"

subarg@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2"
  dependencies:
    minimist "^1.1.0"

supports-color@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"

supports-color@^5.3.0:
  version "5.5.0"
  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
  integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
  dependencies:
    has-flag "^3.0.0"

supports-color@^6.1.0:
  version "6.1.0"
  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
  integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
  dependencies:
    has-flag "^3.0.0"

sver-compat@^1.5.0:
  version "1.5.0"
  resolved "https://registry.yarnpkg.com/sver-compat/-/sver-compat-1.5.0.tgz#3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8"
  integrity sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=
  dependencies:
    es6-iterator "^2.0.1"
    es6-symbol "^3.1.1"

syntax-error@^1.1.1:
  version "1.3.0"
  resolved "https://registry.yarnpkg.com/syntax-error/-/syntax-error-1.3.0.tgz#1ed9266c4d40be75dc55bf9bb1cb77062bb96ca1"
  dependencies:
    acorn "^4.0.3"

tar@^2.0.0:
  version "2.2.2"
  resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40"
  integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==
  dependencies:
    block-stream "*"
    fstream "^1.0.12"
    inherits "2"

ternary-stream@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/ternary-stream/-/ternary-stream-3.0.0.tgz#7951930ea9e823924d956f03d516151a2d516253"
  integrity sha512-oIzdi+UL/JdktkT+7KU5tSIQjj8pbShj3OASuvDEhm0NT5lppsm7aXWAmAq4/QMaBIyfuEcNLbAQA+HpaISobQ==
  dependencies:
    duplexify "^4.1.1"
    fork-stream "^0.0.4"
    merge-stream "^2.0.0"
    through2 "^3.0.1"

through2-filter@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254"
  integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==
  dependencies:
    through2 "~2.0.0"
    xtend "~4.0.0"

through2@^2.0.0, through2@^2.0.3:
  version "2.0.3"
  resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
  dependencies:
    readable-stream "^2.1.5"
    xtend "~4.0.1"

through2@^3.0.1:
  version "3.0.2"
  resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4"
  integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==
  dependencies:
    inherits "^2.0.4"
    readable-stream "2 || 3"

through2@^4.0.2:
  version "4.0.2"
  resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764"
  integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==
  dependencies:
    readable-stream "3"

through2@~2.0.0:
  version "2.0.5"
  resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
  integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
  dependencies:
    readable-stream "~2.3.6"
    xtend "~4.0.1"

"through@>=2.2.7 <3":
  version "2.3.8"
  resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"

time-stamp@^1.0.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3"

timers-browserify@^1.0.1:
  version "1.4.2"
  resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d"
  dependencies:
    process "~0.11.0"

timers-ext@^0.1.7:
  version "0.1.7"
  resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6"
  integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==
  dependencies:
    es5-ext "~0.10.46"
    next-tick "1"

to-absolute-glob@^2.0.0:
  version "2.0.2"
  resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b"
  integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=
  dependencies:
    is-absolute "^1.0.0"
    is-negated-glob "^1.0.0"

to-object-path@^0.3.0:
  version "0.3.0"
  resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
  integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
  dependencies:
    kind-of "^3.0.2"

to-regex-range@^2.1.0:
  version "2.1.1"
  resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
  integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
  dependencies:
    is-number "^3.0.0"
    repeat-string "^1.6.1"

to-regex-range@^5.0.1:
  version "5.0.1"
  resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
  integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
  dependencies:
    is-number "^7.0.0"

to-regex@^3.0.1, to-regex@^3.0.2:
  version "3.0.2"
  resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
  integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
  dependencies:
    define-property "^2.0.2"
    extend-shallow "^3.0.2"
    regex-not "^1.0.2"
    safe-regex "^1.1.0"

to-through@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6"
  integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=
  dependencies:
    through2 "^2.0.3"

tough-cookie@~2.5.0:
  version "2.5.0"
  resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
  integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
  dependencies:
    psl "^1.1.28"
    punycode "^2.1.1"

trim-newlines@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
  integrity sha1-WIeWa7WCpFA6QetST301ARgVphM=

"true-case-path@^1.0.2":
  version "1.0.3"
  resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d"
  integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==
  dependencies:
    glob "^7.1.2"

tty-browserify@0.0.1:
  version "0.0.1"
  resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811"
  integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==

tunnel-agent@^0.6.0:
  version "0.6.0"
  resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
  integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
  dependencies:
    safe-buffer "^5.0.1"

tweetnacl@^0.14.3, tweetnacl@~0.14.0:
  version "0.14.5"
  resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
  integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=

type@^1.0.1:
  version "1.2.0"
  resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0"
  integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==

type@^2.0.0:
  version "2.5.0"
  resolved "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d"
  integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==

typedarray@^0.0.6:
  version "0.0.6"
  resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
  integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=

uglify-js@^3.0.5:
  version "3.0.20"
  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.20.tgz#cb35b2bcfe478051b6f3282be8db4e4add49a1e5"
  dependencies:
    commander "~2.9.0"
    source-map "~0.5.1"

umd@^3.0.0:
  version "3.0.1"
  resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.1.tgz#8ae556e11011f63c2596708a8837259f01b3d60e"

unbox-primitive@^1.0.0:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471"
  integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==
  dependencies:
    function-bind "^1.1.1"
    has-bigints "^1.0.1"
    has-symbols "^1.0.2"
    which-boxed-primitive "^1.0.2"

unc-path-regex@^0.1.0, unc-path-regex@^0.1.2:
  version "0.1.2"
  resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"

undeclared-identifiers@^1.1.2:
  version "1.1.3"
  resolved "https://registry.yarnpkg.com/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz#9254c1d37bdac0ac2b52de4b6722792d2a91e30f"
  integrity sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==
  dependencies:
    acorn-node "^1.3.0"
    dash-ast "^1.0.0"
    get-assigned-identifiers "^1.2.0"
    simple-concat "^1.0.0"
    xtend "^4.0.1"

undertaker-registry@^1.0.0:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50"
  integrity sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=

undertaker@^1.2.1:
  version "1.3.0"
  resolved "https://registry.yarnpkg.com/undertaker/-/undertaker-1.3.0.tgz#363a6e541f27954d5791d6fa3c1d321666f86d18"
  integrity sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==
  dependencies:
    arr-flatten "^1.0.1"
    arr-map "^2.0.0"
    bach "^1.0.0"
    collection-map "^1.0.0"
    es6-weak-map "^2.0.1"
    fast-levenshtein "^1.0.0"
    last-run "^1.1.0"
    object.defaults "^1.0.0"
    object.reduce "^1.0.0"
    undertaker-registry "^1.0.0"

union-value@^1.0.0:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
  integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==
  dependencies:
    arr-union "^3.1.0"
    get-value "^2.0.6"
    is-extendable "^0.1.1"
    set-value "^2.0.1"

unique-stream@^2.0.2:
  version "2.3.1"
  resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac"
  integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==
  dependencies:
    json-stable-stringify-without-jsonify "^1.0.1"
    through2-filter "^3.0.0"

unset-value@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
  integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
  dependencies:
    has-value "^0.3.1"
    isobject "^3.0.0"

upath@^1.1.1:
  version "1.2.0"
  resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
  integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==

uri-js@^4.2.2:
  version "4.4.1"
  resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
  integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
  dependencies:
    punycode "^2.1.0"

urix@^0.1.0:
  version "0.1.0"
  resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"

url@~0.11.0:
  version "0.11.0"
  resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
  dependencies:
    punycode "1.3.2"
    querystring "0.2.0"

use@^3.1.0:
  version "3.1.1"
  resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
  integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==

util-deprecate@^1.0.1, util-deprecate@~1.0.1:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"

util@0.10.3:
  version "0.10.3"
  resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
  dependencies:
    inherits "2.0.1"

util@~0.12.0:
  version "0.12.3"
  resolved "https://registry.yarnpkg.com/util/-/util-0.12.3.tgz#971bb0292d2cc0c892dab7c6a5d37c2bec707888"
  integrity sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==
  dependencies:
    inherits "^2.0.3"
    is-arguments "^1.0.4"
    is-generator-function "^1.0.7"
    is-typed-array "^1.1.3"
    safe-buffer "^5.1.2"
    which-typed-array "^1.1.2"

uuid@^3.3.2:
  version "3.4.0"
  resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
  integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==

v8flags@^3.2.0:
  version "3.2.0"
  resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656"
  integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==
  dependencies:
    homedir-polyfill "^1.0.1"

validate-npm-package-license@^3.0.1:
  version "3.0.1"
  resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
  dependencies:
    spdx-correct "~1.0.0"
    spdx-expression-parse "~1.0.0"

value-or-function@^3.0.0:
  version "3.0.0"
  resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813"
  integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=

verror@1.10.0:
  version "1.10.0"
  resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
  integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
  dependencies:
    assert-plus "^1.0.0"
    core-util-is "1.0.2"
    extsprintf "^1.2.0"

vinyl-buffer@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/vinyl-buffer/-/vinyl-buffer-1.0.1.tgz#96c1a3479b8c5392542c612029013b5b27f88bbf"
  integrity sha1-lsGjR5uMU5JULGEgKQE7Wyf4i78=
  dependencies:
    bl "^1.2.1"
    through2 "^2.0.3"

vinyl-fs@^3.0.0:
  version "3.0.3"
  resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7"
  integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==
  dependencies:
    fs-mkdirp-stream "^1.0.0"
    glob-stream "^6.1.0"
    graceful-fs "^4.0.0"
    is-valid-glob "^1.0.0"
    lazystream "^1.0.0"
    lead "^1.0.0"
    object.assign "^4.0.4"
    pumpify "^1.3.5"
    readable-stream "^2.3.3"
    remove-bom-buffer "^3.0.0"
    remove-bom-stream "^1.2.0"
    resolve-options "^1.1.0"
    through2 "^2.0.0"
    to-through "^2.0.0"
    value-or-function "^3.0.0"
    vinyl "^2.0.0"
    vinyl-sourcemap "^1.1.0"

vinyl-source-stream@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/vinyl-source-stream/-/vinyl-source-stream-2.0.0.tgz#f38a5afb9dd1e93b65d550469ac6182ac4f54b8e"
  integrity sha1-84pa+53R6Ttl1VBGmsYYKsT1S44=
  dependencies:
    through2 "^2.0.3"
    vinyl "^2.1.0"

vinyl-sourcemap@^1.1.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16"
  integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=
  dependencies:
    append-buffer "^1.0.2"
    convert-source-map "^1.5.0"
    graceful-fs "^4.1.6"
    normalize-path "^2.1.1"
    now-and-later "^2.0.0"
    remove-bom-buffer "^3.0.0"
    vinyl "^2.0.0"

vinyl-sourcemaps-apply@^0.2.0:
  version "0.2.1"
  resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705"
  dependencies:
    source-map "^0.5.1"

vinyl@^0.5.0:
  version "0.5.3"
  resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde"
  dependencies:
    clone "^1.0.0"
    clone-stats "^0.0.1"
    replace-ext "0.0.1"

vinyl@^2.0.0, vinyl@^2.1.0:
  version "2.2.1"
  resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974"
  integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==
  dependencies:
    clone "^2.1.1"
    clone-buffer "^1.0.0"
    clone-stats "^1.0.0"
    cloneable-readable "^1.0.0"
    remove-trailing-separator "^1.0.1"
    replace-ext "^1.0.0"

vm-browserify@^1.0.0:
  version "1.1.2"
  resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
  integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==

watchify@^4.0.0:
  version "4.0.0"
  resolved "https://registry.yarnpkg.com/watchify/-/watchify-4.0.0.tgz#53b002d51e7b0eb640b851bb4de517a689973392"
  integrity sha512-2Z04dxwoOeNxa11qzWumBTgSAohTC0+ScuY7XMenPnH+W2lhTcpEOJP4g2EIG/SWeLadPk47x++Yh+8BqPM/lA==
  dependencies:
    anymatch "^3.1.0"
    browserify "^17.0.0"
    chokidar "^3.4.0"
    defined "^1.0.0"
    outpipe "^1.1.0"
    through2 "^4.0.2"
    xtend "^4.0.2"

which-boxed-primitive@^1.0.2:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
  integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
  dependencies:
    is-bigint "^1.0.1"
    is-boolean-object "^1.1.0"
    is-number-object "^1.0.4"
    is-string "^1.0.5"
    is-symbol "^1.0.3"

which-module@^1.0.0:
  version "1.0.0"
  resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
  integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=

which-module@^2.0.0:
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
  integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=

which-typed-array@^1.1.2:
  version "1.1.4"
  resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.4.tgz#8fcb7d3ee5adf2d771066fba7cf37e32fe8711ff"
  integrity sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==
  dependencies:
    available-typed-arrays "^1.0.2"
    call-bind "^1.0.0"
    es-abstract "^1.18.0-next.1"
    foreach "^2.0.5"
    function-bind "^1.1.1"
    has-symbols "^1.0.1"
    is-typed-array "^1.1.3"

which@1, which@^1.2.14:
  version "1.3.1"
  resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
  integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
  dependencies:
    isexe "^2.0.0"

which@^1.2.9:
  version "1.2.14"
  resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5"
  dependencies:
    isexe "^2.0.0"

wide-align@^1.1.0:
  version "1.1.3"
  resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
  integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
  dependencies:
    string-width "^1.0.2 || 2"

wrap-ansi@^2.0.0:
  version "2.1.0"
  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
  dependencies:
    string-width "^1.0.1"
    strip-ansi "^3.0.1"

wrap-ansi@^5.1.0:
  version "5.1.0"
  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
  integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
  dependencies:
    ansi-styles "^3.2.0"
    string-width "^3.0.0"
    strip-ansi "^5.0.0"

wrap-ansi@^7.0.0:
  version "7.0.0"
  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
  integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
  dependencies:
    ansi-styles "^4.0.0"
    string-width "^4.1.0"
    strip-ansi "^6.0.0"

wrappy@1:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"

xtend@^4.0.0, xtend@~4.0.1:
  version "4.0.1"
  resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"

xtend@^4.0.1, xtend@^4.0.2, xtend@~4.0.0:
  version "4.0.2"
  resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
  integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==

y18n@^3.2.1:
  version "3.2.1"
  resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"

y18n@^4.0.0:
  version "4.0.3"
  resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
  integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==

y18n@^5.0.5:
  version "5.0.8"
  resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
  integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==

yallist@^2.1.2:
  version "2.1.2"
  resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"

yargs-parser@^13.1.2:
  version "13.1.2"
  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
  integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
  dependencies:
    camelcase "^5.0.0"
    decamelize "^1.2.0"

yargs-parser@^20.2.2:
  version "20.2.7"
  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a"
  integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==

yargs-parser@^5.0.1:
  version "5.0.1"
  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.1.tgz#7ede329c1d8cdbbe209bd25cdb990e9b1ebbb394"
  integrity sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==
  dependencies:
    camelcase "^3.0.0"
    object.assign "^4.1.0"

yargs@^13.3.2:
  version "13.3.2"
  resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
  integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==
  dependencies:
    cliui "^5.0.0"
    find-up "^3.0.0"
    get-caller-file "^2.0.1"
    require-directory "^2.1.1"
    require-main-filename "^2.0.0"
    set-blocking "^2.0.0"
    string-width "^3.0.0"
    which-module "^2.0.0"
    y18n "^4.0.0"
    yargs-parser "^13.1.2"

yargs@^16.2.0:
  version "16.2.0"
  resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
  integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
  dependencies:
    cliui "^7.0.2"
    escalade "^3.1.1"
    get-caller-file "^2.0.5"
    require-directory "^2.1.1"
    string-width "^4.2.0"
    y18n "^5.0.5"
    yargs-parser "^20.2.2"

yargs@^7.1.0:
  version "7.1.2"
  resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.2.tgz#63a0a5d42143879fdbb30370741374e0641d55db"
  integrity sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==
  dependencies:
    camelcase "^3.0.0"
    cliui "^3.2.0"
    decamelize "^1.1.1"
    get-caller-file "^1.0.1"
    os-locale "^1.4.0"
    read-pkg-up "^1.0.1"
    require-directory "^2.1.1"
    require-main-filename "^1.0.1"
    set-blocking "^2.0.0"
    string-width "^1.0.2"
    which-module "^1.0.0"
    y18n "^3.2.1"
    yargs-parser "^5.0.1"
engines/nucleus/twig/raw.html.twig000060400000000042150753125220013246 0ustar00<jdoc:include type="component" />
engines/nucleus/twig/offline.html.twig000060400000000142150753125220014100 0ustar00{% extends "partials/page.html.twig" %}

{% block content %}
    {{ message|raw }}
{% endblock %}
engines/nucleus/twig/error.html.twig000060400000000415150753125220013612 0ustar00{% extends "partials/page.html.twig" %}

{% block page_head -%}
    {% include 'partials/error_head.html.twig' %}
{%- endblock %}

{% block content %}
    <h1>{{ errorcode|default(500) }} {{ error|default('Unknown Error') }}</h1>
    {{ backtrace|raw }}
{% endblock %}
engines/nucleus/twig/component.html.twig000060400000001265150753125220014467 0ustar00{% extends "partials/page.html.twig" %}

{% block page_body -%}
    <body{{ gantry.page.bodyAttributes({'class': [offcanvas_position, gantry.page.preset, 'g-style-' ~ gantry.theme.preset]})|raw }}>
    {{ gantry.config.page.body.body_top|raw }}
    {{ page_top|raw }}
    {{ page_layout|raw }}
    {{ page_bottom|raw }}
    {{ page_footer|raw }}
    {{ gantry.config.page.body.body_bottom|raw }}
    </body>
{%- endblock %}

{% block page_layout %}
    {% do gantry.theme.joomla(true) %}
    <div class="platform-content row-fluid">
        <div class="span12">
            <jdoc:include type="message" />
            <jdoc:include type="component" />
        </div>
    </div>
{% endblock %}
engines/nucleus/twig/index.html.twig000060400000000202150753125220013562 0ustar00{% extends "partials/page.html.twig" %}

{% block content %}
    {{ gantry.platform.displayContent(content)|raw }}
{% endblock %}
engines/nucleus/twig/partials/page.html.twig000060400000000224150753125220015212 0ustar00{% extends "@nucleus/page.html.twig" %}

{% block page_footer %}
    {{ parent() }}
    <jdoc:include type="modules" name="debug" />
{% endblock %}
engines/nucleus/twig/partials/error_head.html.twig000060400000000767150753125220016424 0ustar00{% extends "partials/page_head.html.twig" %}

{% block head_application -%}
    <meta charset="utf-8" />
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>{{ errorcode|default(500) }} {{ error|default('GANTRY5_ENGINE_UNKNOWN_ERROR'|trans) }}</title>
    {% do gantry.document.errorPage(true) -%}
    {% do gantry.platform.finalize() -%}
    {{ gantry.styles('head', true)|join("\n    ")|raw }}
    {{ gantry.scripts('head', true)|join("\n    ")|raw }}
{%- endblock %}
engines/nucleus/twig/partials/page_head.html.twig000060400000004522150753125220016200 0ustar00{% extends "@nucleus/page_head.html.twig" %}

{% block head_title -%}
{%- endblock %}

{% block head_application -%}
    {% if gantry.platform.checkVersion(4) %} {# Joomla 4.x #}
    <jdoc:include type="metas" />
    <jdoc:include type="styles" />
    <jdoc:include type="scripts" />
    {% elseif gantry.platform.checkVersion(3) %} {# Joomla 3.x #}
    <jdoc:include type="head" />
    {% endif %}
{%- endblock %}

{% block head_platform -%}
    {{ parent() }}
    {% if gantry.theme.joomla %}
        {% if gantry.platform.checkVersion(4) %} {# Joomla 4.x #}
            {% if gantry.page.direction != 'rtl' %}
            <link rel="stylesheet" href="{{ url('gantry-engine://css-compiled/bootstrap5.css') }}" type="text/css" />
            {% else %}
            <link rel="stylesheet" href="{{ url('gantry-engine://css-compiled/bootstrap5-rtl.css') }}" type="text/css" />
            {% endif %}
            <link rel="stylesheet" href="{{ url('media/system/css/joomla-fontawesome.min.css') }}" type="text/css" />
        {% elseif gantry.platform.checkVersion(3) %} {# Joomla 3.x #}
            <link rel="stylesheet" href="{{ url('gantry-assets://css/bootstrap-gantry.css') }}" type="text/css" />
            <link rel="stylesheet" href="{{ url('gantry-engine://css-compiled/joomla.css') }}" type="text/css" />
            {% if gantry.page.direction == 'rtl' %}
            <link rel="stylesheet" href="{{ url('media/jui/css/bootstrap-rtl.css') }}" type="text/css" />
            {% endif %}
            <link rel="stylesheet" href="{{ url('media/jui/css/icomoon.css') }}" type="text/css" />
        {% endif %}
    {% endif %}

    {% if gantry.theme.joomla %}
        {% if gantry.platform.checkVersion(5) %}
            {# Joomla 5.x #}
            <link rel="stylesheet" href="{{ url('media/plg_system_debug/css/debug.css') }}" type="text/css"/>
        {% elseif gantry.platform.checkVersion(4) %}
            {# Joomla 4.x #}
            <link rel="stylesheet" href="{{ url('media/system/css/debug.css') }}" type="text/css"/>
        {% elseif gantry.platform.checkVersion(3) %}
            {# Joomla 3.x #}
            {% if gantry.debug %}
                <link rel="stylesheet" href="{{ url('media/cms/css/debug.css') }}" type="text/css"/>
            {% endif %}
        {% endif %}
    {% endif %}
{%- endblock %}

{% block head -%}
    {{ parent() }}
{%- endblock %}
engines/nucleus/css-compiled/bootstrap5.css000064400000522750150753125220015065 0ustar00/*! Bootstrap v5.0.2 (https://getbootstrap.com/) Copyright 2011-2021 The Bootstrap Authors Copyright 2011-2021 Twitter, Inc. Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */
.img-fluid { max-width: 100%; height: auto; }

.img-thumbnail { padding: 0.25rem; background-color: #fff; border: 1px solid #dee2e6; border-radius: 0.25rem; max-width: 100%; height: auto; }

.figure { display: inline-block; }

.figure-img { margin-bottom: 0.5rem; line-height: 1; }

.figure-caption { font-size: 0.875em; color: #6c757d; }

.container, .container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl { width: 100%; padding-right: var(--bs-gutter-x, 0.75rem); padding-left: var(--bs-gutter-x, 0.75rem); margin-right: auto; margin-left: auto; }

@media (min-width: 576px) { .container, .container-sm { max-width: 540px; } }

@media (min-width: 768px) { .container, .container-sm, .container-md { max-width: 720px; } }

@media (min-width: 992px) { .container, .container-sm, .container-md, .container-lg { max-width: 960px; } }

@media (min-width: 1200px) { .container, .container-sm, .container-md, .container-lg, .container-xl { max-width: 1140px; } }

@media (min-width: 1400px) { .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl { max-width: 1320px; } }

.row { --bs-gutter-x: 1.5rem; --bs-gutter-y: 0; display: flex; flex-wrap: wrap; margin-top: calc(var(--bs-gutter-y) * -1); margin-right: calc(var(--bs-gutter-x) * -.5); margin-left: calc(var(--bs-gutter-x) * -.5); }

.row > * { flex-shrink: 0; width: 100%; max-width: 100%; padding-right: calc(var(--bs-gutter-x) * .5); padding-left: calc(var(--bs-gutter-x) * .5); margin-top: var(--bs-gutter-y); }

.col { flex: 1 0 0%; }

.row-cols-auto > * { flex: 0 0 auto; width: auto; }

.row-cols-1 > * { flex: 0 0 auto; width: 100%; }

.row-cols-2 > * { flex: 0 0 auto; width: 50%; }

.row-cols-3 > * { flex: 0 0 auto; width: 33.33333%; }

.row-cols-4 > * { flex: 0 0 auto; width: 25%; }

.row-cols-5 > * { flex: 0 0 auto; width: 20%; }

.row-cols-6 > * { flex: 0 0 auto; width: 16.66667%; }

@media (min-width: 576px) { .col-sm { flex: 1 0 0%; }
  .row-cols-sm-auto > * { flex: 0 0 auto; width: auto; }
  .row-cols-sm-1 > * { flex: 0 0 auto; width: 100%; }
  .row-cols-sm-2 > * { flex: 0 0 auto; width: 50%; }
  .row-cols-sm-3 > * { flex: 0 0 auto; width: 33.33333%; }
  .row-cols-sm-4 > * { flex: 0 0 auto; width: 25%; }
  .row-cols-sm-5 > * { flex: 0 0 auto; width: 20%; }
  .row-cols-sm-6 > * { flex: 0 0 auto; width: 16.66667%; } }

@media (min-width: 768px) { .col-md { flex: 1 0 0%; }
  .row-cols-md-auto > * { flex: 0 0 auto; width: auto; }
  .row-cols-md-1 > * { flex: 0 0 auto; width: 100%; }
  .row-cols-md-2 > * { flex: 0 0 auto; width: 50%; }
  .row-cols-md-3 > * { flex: 0 0 auto; width: 33.33333%; }
  .row-cols-md-4 > * { flex: 0 0 auto; width: 25%; }
  .row-cols-md-5 > * { flex: 0 0 auto; width: 20%; }
  .row-cols-md-6 > * { flex: 0 0 auto; width: 16.66667%; } }

@media (min-width: 992px) { .col-lg { flex: 1 0 0%; }
  .row-cols-lg-auto > * { flex: 0 0 auto; width: auto; }
  .row-cols-lg-1 > * { flex: 0 0 auto; width: 100%; }
  .row-cols-lg-2 > * { flex: 0 0 auto; width: 50%; }
  .row-cols-lg-3 > * { flex: 0 0 auto; width: 33.33333%; }
  .row-cols-lg-4 > * { flex: 0 0 auto; width: 25%; }
  .row-cols-lg-5 > * { flex: 0 0 auto; width: 20%; }
  .row-cols-lg-6 > * { flex: 0 0 auto; width: 16.66667%; } }

@media (min-width: 1200px) { .col-xl { flex: 1 0 0%; }
  .row-cols-xl-auto > * { flex: 0 0 auto; width: auto; }
  .row-cols-xl-1 > * { flex: 0 0 auto; width: 100%; }
  .row-cols-xl-2 > * { flex: 0 0 auto; width: 50%; }
  .row-cols-xl-3 > * { flex: 0 0 auto; width: 33.33333%; }
  .row-cols-xl-4 > * { flex: 0 0 auto; width: 25%; }
  .row-cols-xl-5 > * { flex: 0 0 auto; width: 20%; }
  .row-cols-xl-6 > * { flex: 0 0 auto; width: 16.66667%; } }

@media (min-width: 1400px) { .col-xxl { flex: 1 0 0%; }
  .row-cols-xxl-auto > * { flex: 0 0 auto; width: auto; }
  .row-cols-xxl-1 > * { flex: 0 0 auto; width: 100%; }
  .row-cols-xxl-2 > * { flex: 0 0 auto; width: 50%; }
  .row-cols-xxl-3 > * { flex: 0 0 auto; width: 33.33333%; }
  .row-cols-xxl-4 > * { flex: 0 0 auto; width: 25%; }
  .row-cols-xxl-5 > * { flex: 0 0 auto; width: 20%; }
  .row-cols-xxl-6 > * { flex: 0 0 auto; width: 16.66667%; } }

.col-auto { flex: 0 0 auto; width: auto; }

.col-1 { flex: 0 0 auto; width: 8.33333%; }

.col-2 { flex: 0 0 auto; width: 16.66667%; }

.col-3 { flex: 0 0 auto; width: 25%; }

.col-4 { flex: 0 0 auto; width: 33.33333%; }

.col-5 { flex: 0 0 auto; width: 41.66667%; }

.col-6 { flex: 0 0 auto; width: 50%; }

.col-7 { flex: 0 0 auto; width: 58.33333%; }

.col-8 { flex: 0 0 auto; width: 66.66667%; }

.col-9 { flex: 0 0 auto; width: 75%; }

.col-10 { flex: 0 0 auto; width: 83.33333%; }

.col-11 { flex: 0 0 auto; width: 91.66667%; }

.col-12 { flex: 0 0 auto; width: 100%; }

.offset-1 { margin-left: 8.33333%; }

.offset-2 { margin-left: 16.66667%; }

.offset-3 { margin-left: 25%; }

.offset-4 { margin-left: 33.33333%; }

.offset-5 { margin-left: 41.66667%; }

.offset-6 { margin-left: 50%; }

.offset-7 { margin-left: 58.33333%; }

.offset-8 { margin-left: 66.66667%; }

.offset-9 { margin-left: 75%; }

.offset-10 { margin-left: 83.33333%; }

.offset-11 { margin-left: 91.66667%; }

.g-0, .gx-0 { --bs-gutter-x: 0; }

.g-0, .gy-0 { --bs-gutter-y: 0; }

.g-1, .gx-1 { --bs-gutter-x: 0.25rem; }

.g-1, .gy-1 { --bs-gutter-y: 0.25rem; }

.g-2, .gx-2 { --bs-gutter-x: 0.5rem; }

.g-2, .gy-2 { --bs-gutter-y: 0.5rem; }

.g-3, .gx-3 { --bs-gutter-x: 1rem; }

.g-3, .gy-3 { --bs-gutter-y: 1rem; }

.g-4, .gx-4 { --bs-gutter-x: 1.5rem; }

.g-4, .gy-4 { --bs-gutter-y: 1.5rem; }

.g-5, .gx-5 { --bs-gutter-x: 3rem; }

.g-5, .gy-5 { --bs-gutter-y: 3rem; }

@media (min-width: 576px) { .col-sm-auto { flex: 0 0 auto; width: auto; }
  .col-sm-1 { flex: 0 0 auto; width: 8.33333%; }
  .col-sm-2 { flex: 0 0 auto; width: 16.66667%; }
  .col-sm-3 { flex: 0 0 auto; width: 25%; }
  .col-sm-4 { flex: 0 0 auto; width: 33.33333%; }
  .col-sm-5 { flex: 0 0 auto; width: 41.66667%; }
  .col-sm-6 { flex: 0 0 auto; width: 50%; }
  .col-sm-7 { flex: 0 0 auto; width: 58.33333%; }
  .col-sm-8 { flex: 0 0 auto; width: 66.66667%; }
  .col-sm-9 { flex: 0 0 auto; width: 75%; }
  .col-sm-10 { flex: 0 0 auto; width: 83.33333%; }
  .col-sm-11 { flex: 0 0 auto; width: 91.66667%; }
  .col-sm-12 { flex: 0 0 auto; width: 100%; }
  .offset-sm-0 { margin-left: 0; }
  .offset-sm-1 { margin-left: 8.33333%; }
  .offset-sm-2 { margin-left: 16.66667%; }
  .offset-sm-3 { margin-left: 25%; }
  .offset-sm-4 { margin-left: 33.33333%; }
  .offset-sm-5 { margin-left: 41.66667%; }
  .offset-sm-6 { margin-left: 50%; }
  .offset-sm-7 { margin-left: 58.33333%; }
  .offset-sm-8 { margin-left: 66.66667%; }
  .offset-sm-9 { margin-left: 75%; }
  .offset-sm-10 { margin-left: 83.33333%; }
  .offset-sm-11 { margin-left: 91.66667%; }
  .g-sm-0, .gx-sm-0 { --bs-gutter-x: 0; }
  .g-sm-0, .gy-sm-0 { --bs-gutter-y: 0; }
  .g-sm-1, .gx-sm-1 { --bs-gutter-x: 0.25rem; }
  .g-sm-1, .gy-sm-1 { --bs-gutter-y: 0.25rem; }
  .g-sm-2, .gx-sm-2 { --bs-gutter-x: 0.5rem; }
  .g-sm-2, .gy-sm-2 { --bs-gutter-y: 0.5rem; }
  .g-sm-3, .gx-sm-3 { --bs-gutter-x: 1rem; }
  .g-sm-3, .gy-sm-3 { --bs-gutter-y: 1rem; }
  .g-sm-4, .gx-sm-4 { --bs-gutter-x: 1.5rem; }
  .g-sm-4, .gy-sm-4 { --bs-gutter-y: 1.5rem; }
  .g-sm-5, .gx-sm-5 { --bs-gutter-x: 3rem; }
  .g-sm-5, .gy-sm-5 { --bs-gutter-y: 3rem; } }

@media (min-width: 768px) { .col-md-auto { flex: 0 0 auto; width: auto; }
  .col-md-1 { flex: 0 0 auto; width: 8.33333%; }
  .col-md-2 { flex: 0 0 auto; width: 16.66667%; }
  .col-md-3 { flex: 0 0 auto; width: 25%; }
  .col-md-4 { flex: 0 0 auto; width: 33.33333%; }
  .col-md-5 { flex: 0 0 auto; width: 41.66667%; }
  .col-md-6 { flex: 0 0 auto; width: 50%; }
  .col-md-7 { flex: 0 0 auto; width: 58.33333%; }
  .col-md-8 { flex: 0 0 auto; width: 66.66667%; }
  .col-md-9 { flex: 0 0 auto; width: 75%; }
  .col-md-10 { flex: 0 0 auto; width: 83.33333%; }
  .col-md-11 { flex: 0 0 auto; width: 91.66667%; }
  .col-md-12 { flex: 0 0 auto; width: 100%; }
  .offset-md-0 { margin-left: 0; }
  .offset-md-1 { margin-left: 8.33333%; }
  .offset-md-2 { margin-left: 16.66667%; }
  .offset-md-3 { margin-left: 25%; }
  .offset-md-4 { margin-left: 33.33333%; }
  .offset-md-5 { margin-left: 41.66667%; }
  .offset-md-6 { margin-left: 50%; }
  .offset-md-7 { margin-left: 58.33333%; }
  .offset-md-8 { margin-left: 66.66667%; }
  .offset-md-9 { margin-left: 75%; }
  .offset-md-10 { margin-left: 83.33333%; }
  .offset-md-11 { margin-left: 91.66667%; }
  .g-md-0, .gx-md-0 { --bs-gutter-x: 0; }
  .g-md-0, .gy-md-0 { --bs-gutter-y: 0; }
  .g-md-1, .gx-md-1 { --bs-gutter-x: 0.25rem; }
  .g-md-1, .gy-md-1 { --bs-gutter-y: 0.25rem; }
  .g-md-2, .gx-md-2 { --bs-gutter-x: 0.5rem; }
  .g-md-2, .gy-md-2 { --bs-gutter-y: 0.5rem; }
  .g-md-3, .gx-md-3 { --bs-gutter-x: 1rem; }
  .g-md-3, .gy-md-3 { --bs-gutter-y: 1rem; }
  .g-md-4, .gx-md-4 { --bs-gutter-x: 1.5rem; }
  .g-md-4, .gy-md-4 { --bs-gutter-y: 1.5rem; }
  .g-md-5, .gx-md-5 { --bs-gutter-x: 3rem; }
  .g-md-5, .gy-md-5 { --bs-gutter-y: 3rem; } }

@media (min-width: 992px) { .col-lg-auto { flex: 0 0 auto; width: auto; }
  .col-lg-1 { flex: 0 0 auto; width: 8.33333%; }
  .col-lg-2 { flex: 0 0 auto; width: 16.66667%; }
  .col-lg-3 { flex: 0 0 auto; width: 25%; }
  .col-lg-4 { flex: 0 0 auto; width: 33.33333%; }
  .col-lg-5 { flex: 0 0 auto; width: 41.66667%; }
  .col-lg-6 { flex: 0 0 auto; width: 50%; }
  .col-lg-7 { flex: 0 0 auto; width: 58.33333%; }
  .col-lg-8 { flex: 0 0 auto; width: 66.66667%; }
  .col-lg-9 { flex: 0 0 auto; width: 75%; }
  .col-lg-10 { flex: 0 0 auto; width: 83.33333%; }
  .col-lg-11 { flex: 0 0 auto; width: 91.66667%; }
  .col-lg-12 { flex: 0 0 auto; width: 100%; }
  .offset-lg-0 { margin-left: 0; }
  .offset-lg-1 { margin-left: 8.33333%; }
  .offset-lg-2 { margin-left: 16.66667%; }
  .offset-lg-3 { margin-left: 25%; }
  .offset-lg-4 { margin-left: 33.33333%; }
  .offset-lg-5 { margin-left: 41.66667%; }
  .offset-lg-6 { margin-left: 50%; }
  .offset-lg-7 { margin-left: 58.33333%; }
  .offset-lg-8 { margin-left: 66.66667%; }
  .offset-lg-9 { margin-left: 75%; }
  .offset-lg-10 { margin-left: 83.33333%; }
  .offset-lg-11 { margin-left: 91.66667%; }
  .g-lg-0, .gx-lg-0 { --bs-gutter-x: 0; }
  .g-lg-0, .gy-lg-0 { --bs-gutter-y: 0; }
  .g-lg-1, .gx-lg-1 { --bs-gutter-x: 0.25rem; }
  .g-lg-1, .gy-lg-1 { --bs-gutter-y: 0.25rem; }
  .g-lg-2, .gx-lg-2 { --bs-gutter-x: 0.5rem; }
  .g-lg-2, .gy-lg-2 { --bs-gutter-y: 0.5rem; }
  .g-lg-3, .gx-lg-3 { --bs-gutter-x: 1rem; }
  .g-lg-3, .gy-lg-3 { --bs-gutter-y: 1rem; }
  .g-lg-4, .gx-lg-4 { --bs-gutter-x: 1.5rem; }
  .g-lg-4, .gy-lg-4 { --bs-gutter-y: 1.5rem; }
  .g-lg-5, .gx-lg-5 { --bs-gutter-x: 3rem; }
  .g-lg-5, .gy-lg-5 { --bs-gutter-y: 3rem; } }

@media (min-width: 1200px) { .col-xl-auto { flex: 0 0 auto; width: auto; }
  .col-xl-1 { flex: 0 0 auto; width: 8.33333%; }
  .col-xl-2 { flex: 0 0 auto; width: 16.66667%; }
  .col-xl-3 { flex: 0 0 auto; width: 25%; }
  .col-xl-4 { flex: 0 0 auto; width: 33.33333%; }
  .col-xl-5 { flex: 0 0 auto; width: 41.66667%; }
  .col-xl-6 { flex: 0 0 auto; width: 50%; }
  .col-xl-7 { flex: 0 0 auto; width: 58.33333%; }
  .col-xl-8 { flex: 0 0 auto; width: 66.66667%; }
  .col-xl-9 { flex: 0 0 auto; width: 75%; }
  .col-xl-10 { flex: 0 0 auto; width: 83.33333%; }
  .col-xl-11 { flex: 0 0 auto; width: 91.66667%; }
  .col-xl-12 { flex: 0 0 auto; width: 100%; }
  .offset-xl-0 { margin-left: 0; }
  .offset-xl-1 { margin-left: 8.33333%; }
  .offset-xl-2 { margin-left: 16.66667%; }
  .offset-xl-3 { margin-left: 25%; }
  .offset-xl-4 { margin-left: 33.33333%; }
  .offset-xl-5 { margin-left: 41.66667%; }
  .offset-xl-6 { margin-left: 50%; }
  .offset-xl-7 { margin-left: 58.33333%; }
  .offset-xl-8 { margin-left: 66.66667%; }
  .offset-xl-9 { margin-left: 75%; }
  .offset-xl-10 { margin-left: 83.33333%; }
  .offset-xl-11 { margin-left: 91.66667%; }
  .g-xl-0, .gx-xl-0 { --bs-gutter-x: 0; }
  .g-xl-0, .gy-xl-0 { --bs-gutter-y: 0; }
  .g-xl-1, .gx-xl-1 { --bs-gutter-x: 0.25rem; }
  .g-xl-1, .gy-xl-1 { --bs-gutter-y: 0.25rem; }
  .g-xl-2, .gx-xl-2 { --bs-gutter-x: 0.5rem; }
  .g-xl-2, .gy-xl-2 { --bs-gutter-y: 0.5rem; }
  .g-xl-3, .gx-xl-3 { --bs-gutter-x: 1rem; }
  .g-xl-3, .gy-xl-3 { --bs-gutter-y: 1rem; }
  .g-xl-4, .gx-xl-4 { --bs-gutter-x: 1.5rem; }
  .g-xl-4, .gy-xl-4 { --bs-gutter-y: 1.5rem; }
  .g-xl-5, .gx-xl-5 { --bs-gutter-x: 3rem; }
  .g-xl-5, .gy-xl-5 { --bs-gutter-y: 3rem; } }

@media (min-width: 1400px) { .col-xxl-auto { flex: 0 0 auto; width: auto; }
  .col-xxl-1 { flex: 0 0 auto; width: 8.33333%; }
  .col-xxl-2 { flex: 0 0 auto; width: 16.66667%; }
  .col-xxl-3 { flex: 0 0 auto; width: 25%; }
  .col-xxl-4 { flex: 0 0 auto; width: 33.33333%; }
  .col-xxl-5 { flex: 0 0 auto; width: 41.66667%; }
  .col-xxl-6 { flex: 0 0 auto; width: 50%; }
  .col-xxl-7 { flex: 0 0 auto; width: 58.33333%; }
  .col-xxl-8 { flex: 0 0 auto; width: 66.66667%; }
  .col-xxl-9 { flex: 0 0 auto; width: 75%; }
  .col-xxl-10 { flex: 0 0 auto; width: 83.33333%; }
  .col-xxl-11 { flex: 0 0 auto; width: 91.66667%; }
  .col-xxl-12 { flex: 0 0 auto; width: 100%; }
  .offset-xxl-0 { margin-left: 0; }
  .offset-xxl-1 { margin-left: 8.33333%; }
  .offset-xxl-2 { margin-left: 16.66667%; }
  .offset-xxl-3 { margin-left: 25%; }
  .offset-xxl-4 { margin-left: 33.33333%; }
  .offset-xxl-5 { margin-left: 41.66667%; }
  .offset-xxl-6 { margin-left: 50%; }
  .offset-xxl-7 { margin-left: 58.33333%; }
  .offset-xxl-8 { margin-left: 66.66667%; }
  .offset-xxl-9 { margin-left: 75%; }
  .offset-xxl-10 { margin-left: 83.33333%; }
  .offset-xxl-11 { margin-left: 91.66667%; }
  .g-xxl-0, .gx-xxl-0 { --bs-gutter-x: 0; }
  .g-xxl-0, .gy-xxl-0 { --bs-gutter-y: 0; }
  .g-xxl-1, .gx-xxl-1 { --bs-gutter-x: 0.25rem; }
  .g-xxl-1, .gy-xxl-1 { --bs-gutter-y: 0.25rem; }
  .g-xxl-2, .gx-xxl-2 { --bs-gutter-x: 0.5rem; }
  .g-xxl-2, .gy-xxl-2 { --bs-gutter-y: 0.5rem; }
  .g-xxl-3, .gx-xxl-3 { --bs-gutter-x: 1rem; }
  .g-xxl-3, .gy-xxl-3 { --bs-gutter-y: 1rem; }
  .g-xxl-4, .gx-xxl-4 { --bs-gutter-x: 1.5rem; }
  .g-xxl-4, .gy-xxl-4 { --bs-gutter-y: 1.5rem; }
  .g-xxl-5, .gx-xxl-5 { --bs-gutter-x: 3rem; }
  .g-xxl-5, .gy-xxl-5 { --bs-gutter-y: 3rem; } }

.table { --bs-table-bg: transparent; --bs-table-accent-bg: transparent; --bs-table-striped-color: inherit; --bs-table-striped-bg: inherit; --bs-table-active-color: inherit; --bs-table-active-bg: inherit; --bs-table-hover-color: inherit; --bs-table-hover-bg: inherit; width: 100%; margin-bottom: 1rem; color: inherit; vertical-align: top; border-color: inherit; }

.table > :not(caption) > * > * { padding: 0.5rem 0.5rem; background-color: var(--bs-table-bg); border-bottom: 1px solid #dfe3e7; }

.table > tbody { vertical-align: inherit; }

.table > thead { vertical-align: bottom; }

.table > :not(:last-child) > :last-child > * { border-bottom-color: inherit; }

.caption-top { caption-side: top; }

.table-sm > :not(caption) > * > * { padding: 0.25rem 0.25rem; }

.table-bordered > :not(caption) > * { border-width: 1px 0; }

.table-bordered > :not(caption) > * > * { border-width: 0 1px; }

.table-borderless > :not(caption) > * > * { border-bottom-width: 0; }

.table-striped > tbody > tr:nth-of-type(odd) { --bs-table-accent-bg: var(--bs-table-striped-bg); color: var(--bs-table-striped-color); }

.table-active { --bs-table-accent-bg: var(--bs-table-active-bg); color: var(--bs-table-active-color); }

.table-hover > tbody > tr:hover { --bs-table-accent-bg: var(--bs-table-hover-bg); color: var(--bs-table-hover-color); }

.table-primary { --bs-table-bg: #cfe2ff; --bs-table-striped-bg: #c5d7f2; --bs-table-striped-color: #000; --bs-table-active-bg: #bacbe6; --bs-table-active-color: #000; --bs-table-hover-bg: #bfd1ec; --bs-table-hover-color: #000; color: #000; border-color: #bacbe6; }

.table-secondary { --bs-table-bg: #e2e3e5; --bs-table-striped-bg: #d7d8da; --bs-table-striped-color: #000; --bs-table-active-bg: #cbccce; --bs-table-active-color: #000; --bs-table-hover-bg: #d1d2d4; --bs-table-hover-color: #000; color: #000; border-color: #cbccce; }

.table-success { --bs-table-bg: #d1e7dd; --bs-table-striped-bg: #c7dbd2; --bs-table-striped-color: #000; --bs-table-active-bg: #bcd0c7; --bs-table-active-color: #000; --bs-table-hover-bg: #c1d6cc; --bs-table-hover-color: #000; color: #000; border-color: #bcd0c7; }

.table-info { --bs-table-bg: #cff4fc; --bs-table-striped-bg: #c5e8ef; --bs-table-striped-color: #000; --bs-table-active-bg: #badce3; --bs-table-active-color: #000; --bs-table-hover-bg: #bfe2e9; --bs-table-hover-color: #000; color: #000; border-color: #badce3; }

.table-warning { --bs-table-bg: #fff3cd; --bs-table-striped-bg: #f2e7c3; --bs-table-striped-color: #000; --bs-table-active-bg: #e6dbb9; --bs-table-active-color: #000; --bs-table-hover-bg: #ece1be; --bs-table-hover-color: #000; color: #000; border-color: #e6dbb9; }

.table-danger { --bs-table-bg: #f8d7da; --bs-table-striped-bg: #eccccf; --bs-table-striped-color: #000; --bs-table-active-bg: #dfc2c4; --bs-table-active-color: #000; --bs-table-hover-bg: #e5c7ca; --bs-table-hover-color: #000; color: #000; border-color: #dfc2c4; }

.table-light { --bs-table-bg: #f8f9fa; --bs-table-striped-bg: #ecedee; --bs-table-striped-color: #000; --bs-table-active-bg: #dfe0e1; --bs-table-active-color: #000; --bs-table-hover-bg: #e5e6e7; --bs-table-hover-color: #000; color: #000; border-color: #dfe0e1; }

.table-dark { --bs-table-bg: #212529; --bs-table-striped-bg: #2c3034; --bs-table-striped-color: #fff; --bs-table-active-bg: #373b3e; --bs-table-active-color: #fff; --bs-table-hover-bg: #323539; --bs-table-hover-color: #fff; color: #fff; border-color: #373b3e; }

.table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }

@media (max-width: 575.98px) { .table-responsive-sm { overflow-x: auto; -webkit-overflow-scrolling: touch; } }

@media (max-width: 767.98px) { .table-responsive-md { overflow-x: auto; -webkit-overflow-scrolling: touch; } }

@media (max-width: 991.98px) { .table-responsive-lg { overflow-x: auto; -webkit-overflow-scrolling: touch; } }

@media (max-width: 1199.98px) { .table-responsive-xl { overflow-x: auto; -webkit-overflow-scrolling: touch; } }

@media (max-width: 1399.98px) { .table-responsive-xxl { overflow-x: auto; -webkit-overflow-scrolling: touch; } }

.form-label { margin-bottom: 0.5rem; }

.col-form-label { padding-top: calc(0.375rem + 1px); padding-bottom: calc(0.375rem + 1px); margin-bottom: 0; font-size: inherit; line-height: 1.5; }

.col-form-label-lg { padding-top: calc(0.5rem + 1px); padding-bottom: calc(0.5rem + 1px); font-size: 1.25rem; }

.col-form-label-sm { padding-top: calc(0.25rem + 1px); padding-bottom: calc(0.25rem + 1px); font-size: 0.875rem; }

.form-text { margin-top: 0.25rem; font-size: 0.875em; color: #6c757d; }

.form-control { display: block; width: 100%; padding: 0.375rem 0.75rem; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #212529; background-color: #fff; background-clip: padding-box; border: 1px solid #ced4da; appearance: none; border-radius: 0.25rem; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }

.form-control[type="file"] { overflow: hidden; }

.form-control[type="file"]:not(:disabled):not([readonly]) { cursor: pointer; }

.form-control:focus { color: #212529; background-color: #fff; border-color: #86b7fe; outline: 0; box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); }

.form-control::-webkit-date-and-time-value { height: 1.5em; }

.form-control::placeholder { color: #6c757d; opacity: 1; }

.form-control:disabled, .form-control[readonly] { background-color: #e9ecef; opacity: 1; }

.form-control::file-selector-button { padding: 0.375rem 0.75rem; margin: -0.375rem -0.75rem; margin-inline-end: 0.75rem; color: #212529; background-color: #e9ecef; pointer-events: none; border-color: inherit; border-style: solid; border-width: 0; border-inline-end-width: 1px; border-radius: 0; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }

.form-control:hover:not(:disabled):not([readonly])::file-selector-button { background-color: #dde0e3; }

.form-control::-webkit-file-upload-button { padding: 0.375rem 0.75rem; margin: -0.375rem -0.75rem; margin-inline-end: 0.75rem; color: #212529; background-color: #e9ecef; pointer-events: none; border-color: inherit; border-style: solid; border-width: 0; border-inline-end-width: 1px; border-radius: 0; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }

.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { background-color: #dde0e3; }

.form-control-plaintext { display: block; width: 100%; padding: 0.375rem 0; margin-bottom: 0; line-height: 1.5; color: #212529; background-color: transparent; border: solid transparent; border-width: 1px 0; }

.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { padding-right: 0; padding-left: 0; }

.form-control-sm { min-height: calc(1.5em + (0.5rem + 2px)); padding: 0.25rem 0.5rem; font-size: 0.875rem; border-radius: 0.2rem; }

.form-control-sm::file-selector-button { padding: 0.25rem 0.5rem; margin: -0.25rem -0.5rem; margin-inline-end: 0.5rem; }

.form-control-sm::-webkit-file-upload-button { padding: 0.25rem 0.5rem; margin: -0.25rem -0.5rem; margin-inline-end: 0.5rem; }

.form-control-lg { min-height: calc(1.5em + (1rem + 2px)); padding: 0.5rem 1rem; font-size: 1.25rem; border-radius: 0.3rem; }

.form-control-lg::file-selector-button { padding: 0.5rem 1rem; margin: -0.5rem -1rem; margin-inline-end: 1rem; }

.form-control-lg::-webkit-file-upload-button { padding: 0.5rem 1rem; margin: -0.5rem -1rem; margin-inline-end: 1rem; }

textarea.form-control { min-height: calc(1.5em + (0.75rem + 2px)); }

textarea.form-control-sm { min-height: calc(1.5em + (0.5rem + 2px)); }

textarea.form-control-lg { min-height: calc(1.5em + (1rem + 2px)); }

.form-control-color { max-width: 3rem; height: auto; padding: 0.375rem; }

.form-control-color:not(:disabled):not([readonly]) { cursor: pointer; }

.form-control-color::-moz-color-swatch { height: 1.5em; border-radius: 0.25rem; }

.form-control-color::-webkit-color-swatch { height: 1.5em; border-radius: 0.25rem; }

.form-select { display: block; width: 100%; padding: 0.375rem 2.25rem 0.375rem 0.75rem; -moz-padding-start: calc(0.75rem - 3px); font-size: 1rem; font-weight: 400; line-height: 1.5; color: #212529; background-color: #fff; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right 0.75rem center; background-size: 16px 12px; border: 1px solid #ced4da; border-radius: 0.25rem; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; appearance: none; }

.form-select:focus { border-color: #86b7fe; outline: 0; box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); }

.form-select[multiple], .form-select[size]:not([size="1"]) { padding-right: 0.75rem; background-image: none; }

.form-select:disabled { background-color: #e9ecef; }

.form-select:-moz-focusring { color: transparent; text-shadow: 0 0 0 #212529; }

.form-select-sm { padding-top: 0.25rem; padding-bottom: 0.25rem; padding-left: 0.5rem; font-size: 0.875rem; }

.form-select-lg { padding-top: 0.5rem; padding-bottom: 0.5rem; padding-left: 1rem; font-size: 1.25rem; }

.form-check { display: block; min-height: 1.5rem; padding-left: 1.5em; margin-bottom: 0.125rem; }

.form-check .form-check-input { float: left; margin-left: -1.5em; }

.form-check-input { width: 1em; height: 1em; margin-top: 0.25em; vertical-align: top; background-color: #fff; background-repeat: no-repeat; background-position: center; background-size: contain; border: 1px solid rgba(0, 0, 0, 0.25); color-adjust: exact; }

.form-check-input[type="checkbox"] { border-radius: 0.25em; }

.form-check-input[type="radio"] { border-radius: 50%; }

.form-check-input:active { filter: brightness(90%); }

.form-check-input:focus { border-color: #86b7fe; outline: 0; box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); }

.form-check-input:checked { background-color: #0d6efd; border-color: #0d6efd; }

.form-check-input:checked[type="checkbox"] { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e"); }

.form-check-input:checked[type="radio"] { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); }

.form-check-input[type="checkbox"]:indeterminate { background-color: #0d6efd; border-color: #0d6efd; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); }

.form-check-input:disabled { pointer-events: none; filter: none; opacity: 0.5; }

.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { opacity: 0.5; }

.form-switch { padding-left: 2.5em; }

.form-switch .form-check-input { width: 2em; margin-left: -2.5em; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); background-position: left center; border-radius: 2em; transition: background-position 0.15s ease-in-out; }

.form-switch .form-check-input:focus { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e"); }

.form-switch .form-check-input:checked { background-position: right center; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); }

.form-check-inline { display: inline-block; margin-right: 1rem; }

.btn-check { position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none; }

.btn-check[disabled] + .btn, .btn-check:disabled + .btn { pointer-events: none; filter: none; opacity: 0.65; }

.form-range { width: 100%; height: 1.5rem; padding: 0; background-color: transparent; appearance: none; }

.form-range:focus { outline: 0; }

.form-range:focus::-webkit-slider-thumb { box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); }

.form-range:focus::-moz-range-thumb { box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); }

.form-range::-moz-focus-outer { border: 0; }

.form-range::-webkit-slider-thumb { width: 1rem; height: 1rem; margin-top: -0.25rem; background-color: #0d6efd; border: 0; border-radius: 1rem; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; appearance: none; }

.form-range::-webkit-slider-thumb:active { background-color: #b6d4fe; }

.form-range::-webkit-slider-runnable-track { width: 100%; height: 0.5rem; color: transparent; cursor: pointer; background-color: #dee2e6; border-color: transparent; border-radius: 1rem; }

.form-range::-moz-range-thumb { width: 1rem; height: 1rem; background-color: #0d6efd; border: 0; border-radius: 1rem; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; appearance: none; }

.form-range::-moz-range-thumb:active { background-color: #b6d4fe; }

.form-range::-moz-range-track { width: 100%; height: 0.5rem; color: transparent; cursor: pointer; background-color: #dee2e6; border-color: transparent; border-radius: 1rem; }

.form-range:disabled { pointer-events: none; }

.form-range:disabled::-webkit-slider-thumb { background-color: #adb5bd; }

.form-range:disabled::-moz-range-thumb { background-color: #adb5bd; }

.form-floating { position: relative; }

.form-floating > .form-control, .form-floating > .form-select { height: calc(3.5rem + 2px); line-height: 1.25; }

.form-floating > label { position: absolute; top: 0; left: 0; height: 100%; padding: 1rem 0.75rem; pointer-events: none; border: 1px solid transparent; transform-origin: 0 0; transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; }

.form-floating > .form-control { padding: 1rem 0.75rem; }

.form-floating > .form-control::placeholder { color: transparent; }

.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) { padding-top: 1.625rem; padding-bottom: 0.625rem; }

.form-floating > .form-control:-webkit-autofill { padding-top: 1.625rem; padding-bottom: 0.625rem; }

.form-floating > .form-select { padding-top: 1.625rem; padding-bottom: 0.625rem; }

.form-floating > .form-control:focus ~ label, .form-floating > .form-control:not(:placeholder-shown) ~ label, .form-floating > .form-select ~ label { opacity: 0.65; transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); }

.form-floating > .form-control:-webkit-autofill ~ label { opacity: 0.65; transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); }

.input-group { position: relative; display: flex; flex-wrap: wrap; align-items: stretch; width: 100%; }

.input-group > .form-control, .input-group > .form-select { position: relative; flex: 1 1 auto; width: 1%; min-width: 0; }

.input-group > .form-control:focus, .input-group > .form-select:focus { z-index: 3; }

.input-group .btn { position: relative; z-index: 2; }

.input-group .btn:focus { z-index: 3; }

.input-group-text { display: flex; align-items: center; padding: 0.375rem 0.75rem; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #212529; text-align: center; white-space: nowrap; background-color: #e9ecef; border: 1px solid #ced4da; border-radius: 0.25rem; }

.input-group-lg > .form-control, .input-group-lg > .form-select, .input-group-lg > .input-group-text, .input-group-lg > .btn { padding: 0.5rem 1rem; font-size: 1.25rem; border-radius: 0.3rem; }

.input-group-sm > .form-control, .input-group-sm > .form-select, .input-group-sm > .input-group-text, .input-group-sm > .btn { padding: 0.25rem 0.5rem; font-size: 0.875rem; border-radius: 0.2rem; }

.input-group-lg > .form-select, .input-group-sm > .form-select { padding-right: 3rem; }

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu), .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3) { border-top-right-radius: 0; border-bottom-right-radius: 0; }

.input-group.has-validation > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu), .input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4) { border-top-right-radius: 0; border-bottom-right-radius: 0; }

.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { margin-left: -1px; border-top-left-radius: 0; border-bottom-left-radius: 0; }

.valid-feedback { display: none; width: 100%; margin-top: 0.25rem; font-size: 0.875em; color: #198754; }

.valid-tooltip { position: absolute; top: 100%; z-index: 5; display: none; max-width: 100%; padding: 0.25rem 0.5rem; margin-top: .1rem; font-size: 0.875rem; color: #fff; background-color: rgba(25, 135, 84, 0.9); border-radius: 0.25rem; }

.was-validated :valid ~ .valid-feedback, .was-validated :valid ~ .valid-tooltip, .is-valid ~ .valid-feedback, .is-valid ~ .valid-tooltip { display: block; }

.was-validated .form-control:valid, .form-control.is-valid { border-color: #198754; padding-right: calc(1.5em + 0.75rem); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right calc(0.375em + 0.1875rem) center; background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }

.was-validated .form-control:valid:focus, .form-control.is-valid:focus { border-color: #198754; box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); }

.was-validated textarea.form-control:valid, textarea.form-control.is-valid { padding-right: calc(1.5em + 0.75rem); background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }

.was-validated .form-select:valid, .form-select.is-valid { border-color: #198754; }

.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { padding-right: 4.125rem; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); background-position: right 0.75rem center, center right 2.25rem; background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }

.was-validated .form-select:valid:focus, .form-select.is-valid:focus { border-color: #198754; box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); }

.was-validated .form-check-input:valid, .form-check-input.is-valid { border-color: #198754; }

.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { background-color: #198754; }

.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); }

.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { color: #198754; }

.form-check-inline .form-check-input ~ .valid-feedback { margin-left: .5em; }

.was-validated .input-group .form-control:valid, .input-group .form-control.is-valid, .was-validated .input-group .form-select:valid, .input-group .form-select.is-valid { z-index: 1; }

.was-validated .input-group .form-control:valid:focus, .input-group .form-control.is-valid:focus, .was-validated .input-group .form-select:valid:focus, .input-group .form-select.is-valid:focus { z-index: 3; }

.invalid-feedback { display: none; width: 100%; margin-top: 0.25rem; font-size: 0.875em; color: #dc3545; }

.invalid-tooltip { position: absolute; top: 100%; z-index: 5; display: none; max-width: 100%; padding: 0.25rem 0.5rem; margin-top: .1rem; font-size: 0.875rem; color: #fff; background-color: rgba(220, 53, 69, 0.9); border-radius: 0.25rem; }

.was-validated :invalid ~ .invalid-feedback, .was-validated :invalid ~ .invalid-tooltip, .is-invalid ~ .invalid-feedback, .is-invalid ~ .invalid-tooltip { display: block; }

.was-validated .form-control:invalid, .form-control.is-invalid { border-color: #dc3545; padding-right: calc(1.5em + 0.75rem); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right calc(0.375em + 0.1875rem) center; background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }

.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { border-color: #dc3545; box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); }

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { padding-right: calc(1.5em + 0.75rem); background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }

.was-validated .form-select:invalid, .form-select.is-invalid { border-color: #dc3545; }

.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { padding-right: 4.125rem; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); background-position: right 0.75rem center, center right 2.25rem; background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }

.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { border-color: #dc3545; box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); }

.was-validated .form-check-input:invalid, .form-check-input.is-invalid { border-color: #dc3545; }

.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { background-color: #dc3545; }

.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); }

.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { color: #dc3545; }

.form-check-inline .form-check-input ~ .invalid-feedback { margin-left: .5em; }

.was-validated .input-group .form-control:invalid, .input-group .form-control.is-invalid, .was-validated .input-group .form-select:invalid, .input-group .form-select.is-invalid { z-index: 2; }

.was-validated .input-group .form-control:invalid:focus, .input-group .form-control.is-invalid:focus, .was-validated .input-group .form-select:invalid:focus, .input-group .form-select.is-invalid:focus { z-index: 3; }

.btn { display: inline-block; font-weight: 400; line-height: 1.5; color: #212529; text-align: center; text-decoration: none; vertical-align: middle; cursor: pointer; user-select: none; background-color: transparent; border: 1px solid transparent; padding: 0.375rem 0.75rem; font-size: 1rem; border-radius: 0.25rem; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }

.btn:hover { color: #212529; }

.btn-check:focus + .btn, .btn:focus { outline: 0; box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); }

.btn:disabled, .btn.disabled, fieldset:disabled .btn { pointer-events: none; opacity: 0.65; }

.btn-link { font-weight: 400; color: #0d6efd; text-decoration: underline; }

.btn-link:hover { color: #0a58ca; }

.btn-link:disabled, .btn-link.disabled { color: #6c757d; }

.btn-lg, .btn-group-lg > .btn { padding: 0.5rem 1rem; font-size: 1.25rem; border-radius: 0.3rem; }

.btn-sm, .btn-group-sm > .btn { padding: 0.25rem 0.5rem; font-size: 0.875rem; border-radius: 0.2rem; }

.fade { transition: opacity 0.15s linear; }

.fade:not(.show) { opacity: 0; }

.collapse:not(.show) { display: none; }

.collapsing { height: 0; overflow: hidden; transition: height 0.35s ease; }

.dropup, .dropend, .dropdown, .dropstart { position: relative; }

.dropdown-toggle { white-space: nowrap; }

.dropdown-toggle::after { display: inline-block; margin-left: 0.255em; vertical-align: 0.255em; content: ""; border-top: 0.3em solid; border-right: 0.3em solid transparent; border-bottom: 0; border-left: 0.3em solid transparent; }

.dropdown-toggle:empty::after { margin-left: 0; }

.dropdown-menu { position: absolute; z-index: 1000; display: none; min-width: 10rem; padding: 0.5rem 0; margin: 0; font-size: 1rem; color: #212529; text-align: left; list-style: none; background-color: #fff; background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 0.25rem; }

.dropdown-menu[data-bs-popper] { top: 100%; left: 0; margin-top: 0.125rem; }

.dropdown-menu-start { --bs-position: start; }

.dropdown-menu-start[data-bs-popper] { right: auto; left: 0; }

.dropdown-menu-end { --bs-position: end; }

.dropdown-menu-end[data-bs-popper] { right: 0; left: auto; }

@media (min-width: 576px) { .dropdown-menu-sm-start { --bs-position: start; }
  .dropdown-menu-sm-start[data-bs-popper] { right: auto; left: 0; }
  .dropdown-menu-sm-end { --bs-position: end; }
  .dropdown-menu-sm-end[data-bs-popper] { right: 0; left: auto; } }

@media (min-width: 768px) { .dropdown-menu-md-start { --bs-position: start; }
  .dropdown-menu-md-start[data-bs-popper] { right: auto; left: 0; }
  .dropdown-menu-md-end { --bs-position: end; }
  .dropdown-menu-md-end[data-bs-popper] { right: 0; left: auto; } }

@media (min-width: 992px) { .dropdown-menu-lg-start { --bs-position: start; }
  .dropdown-menu-lg-start[data-bs-popper] { right: auto; left: 0; }
  .dropdown-menu-lg-end { --bs-position: end; }
  .dropdown-menu-lg-end[data-bs-popper] { right: 0; left: auto; } }

@media (min-width: 1200px) { .dropdown-menu-xl-start { --bs-position: start; }
  .dropdown-menu-xl-start[data-bs-popper] { right: auto; left: 0; }
  .dropdown-menu-xl-end { --bs-position: end; }
  .dropdown-menu-xl-end[data-bs-popper] { right: 0; left: auto; } }

@media (min-width: 1400px) { .dropdown-menu-xxl-start { --bs-position: start; }
  .dropdown-menu-xxl-start[data-bs-popper] { right: auto; left: 0; }
  .dropdown-menu-xxl-end { --bs-position: end; }
  .dropdown-menu-xxl-end[data-bs-popper] { right: 0; left: auto; } }

.dropup .dropdown-menu[data-bs-popper] { top: auto; bottom: 100%; margin-top: 0; margin-bottom: 0.125rem; }

.dropup .dropdown-toggle::after { display: inline-block; margin-left: 0.255em; vertical-align: 0.255em; content: ""; border-top: 0; border-right: 0.3em solid transparent; border-bottom: 0.3em solid; border-left: 0.3em solid transparent; }

.dropup .dropdown-toggle:empty::after { margin-left: 0; }

.dropend .dropdown-menu[data-bs-popper] { top: 0; right: auto; left: 100%; margin-top: 0; margin-left: 0.125rem; }

.dropend .dropdown-toggle::after { display: inline-block; margin-left: 0.255em; vertical-align: 0.255em; content: ""; border-top: 0.3em solid transparent; border-right: 0; border-bottom: 0.3em solid transparent; border-left: 0.3em solid; }

.dropend .dropdown-toggle:empty::after { margin-left: 0; }

.dropend .dropdown-toggle::after { vertical-align: 0; }

.dropstart .dropdown-menu[data-bs-popper] { top: 0; right: 100%; left: auto; margin-top: 0; margin-right: 0.125rem; }

.dropstart .dropdown-toggle::after { display: inline-block; margin-left: 0.255em; vertical-align: 0.255em; content: ""; }

.dropstart .dropdown-toggle::after { display: none; }

.dropstart .dropdown-toggle::before { display: inline-block; margin-right: 0.255em; vertical-align: 0.255em; content: ""; border-top: 0.3em solid transparent; border-right: 0.3em solid; border-bottom: 0.3em solid transparent; }

.dropstart .dropdown-toggle:empty::after { margin-left: 0; }

.dropstart .dropdown-toggle::before { vertical-align: 0; }

.dropdown-divider { height: 0; margin: 0.5rem 0; overflow: hidden; border-top: 1px solid rgba(0, 0, 0, 0.15); }

.dropdown-item { display: block; width: 100%; padding: 0.25rem 1rem; clear: both; font-weight: 400; color: #212529; text-align: inherit; text-decoration: none; white-space: nowrap; background-color: transparent; border: 0; }

.dropdown-item:hover, .dropdown-item:focus { color: #1e2125; background-color: #e9ecef; }

.dropdown-item.active, .dropdown-item:active { color: #fff; text-decoration: none; background-color: #0d6efd; }

.dropdown-item.disabled, .dropdown-item:disabled { color: #adb5bd; pointer-events: none; background-color: transparent; }

.dropdown-menu.show { display: block; }

.dropdown-header { display: block; padding: 0.5rem 1rem; margin-bottom: 0; font-size: 0.875rem; color: #6c757d; white-space: nowrap; }

.dropdown-item-text { display: block; padding: 0.25rem 1rem; color: #212529; }

.dropdown-menu-dark { color: #dee2e6; background-color: #343a40; border-color: rgba(0, 0, 0, 0.15); }

.dropdown-menu-dark .dropdown-item { color: #dee2e6; }

.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus { color: #fff; background-color: rgba(255, 255, 255, 0.15); }

.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active { color: #fff; background-color: #0d6efd; }

.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled { color: #adb5bd; }

.dropdown-menu-dark .dropdown-divider { border-color: rgba(0, 0, 0, 0.15); }

.dropdown-menu-dark .dropdown-item-text { color: #dee2e6; }

.dropdown-menu-dark .dropdown-header { color: #adb5bd; }

.btn-group, .btn-group-vertical { position: relative; display: inline-flex; vertical-align: middle; }

.btn-group > .btn, .btn-group-vertical > .btn { position: relative; flex: 1 1 auto; }

.btn-group > .btn-check:checked + .btn, .btn-group > .btn-check:focus + .btn, .btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn-check:checked + .btn, .btn-group-vertical > .btn-check:focus + .btn, .btn-group-vertical > .btn:hover, .btn-group-vertical > .btn:focus, .btn-group-vertical > .btn:active, .btn-group-vertical > .btn.active { z-index: 1; }

.btn-toolbar { display: flex; flex-wrap: wrap; justify-content: flex-start; }

.btn-toolbar .input-group { width: auto; }

.btn-group > .btn:not(:first-child), .btn-group > .btn-group:not(:first-child) { margin-left: -1px; }

.btn-group > .btn:not(:last-child):not(.dropdown-toggle), .btn-group > .btn-group:not(:last-child) > .btn { border-top-right-radius: 0; border-bottom-right-radius: 0; }

.btn-group > .btn:nth-child(n + 3), .btn-group > :not(.btn-check) + .btn, .btn-group > .btn-group:not(:first-child) > .btn { border-top-left-radius: 0; border-bottom-left-radius: 0; }

.dropdown-toggle-split { padding-right: 0.5625rem; padding-left: 0.5625rem; }

.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after { margin-left: 0; }

.dropstart .dropdown-toggle-split::before { margin-right: 0; }

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { padding-right: 0.375rem; padding-left: 0.375rem; }

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { padding-right: 0.75rem; padding-left: 0.75rem; }

.btn-group-vertical { flex-direction: column; align-items: flex-start; justify-content: center; }

.btn-group-vertical > .btn, .btn-group-vertical > .btn-group { width: 100%; }

.btn-group-vertical > .btn:not(:first-child), .btn-group-vertical > .btn-group:not(:first-child) { margin-top: -1px; }

.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), .btn-group-vertical > .btn-group:not(:last-child) > .btn { border-bottom-right-radius: 0; border-bottom-left-radius: 0; }

.btn-group-vertical > .btn ~ .btn, .btn-group-vertical > .btn-group:not(:first-child) > .btn { border-top-left-radius: 0; border-top-right-radius: 0; }

.nav { display: flex; flex-wrap: wrap; padding-left: 0; margin-bottom: 0; list-style: none; }

.nav-link { display: block; padding: 0.5rem 1rem; color: #0d6efd; text-decoration: none; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; }

.nav-link:hover, .nav-link:focus { color: #0a58ca; }

.nav-link.disabled { color: #6c757d; pointer-events: none; cursor: default; }

.nav-tabs { border-bottom: 1px solid #dee2e6; }

.nav-tabs .nav-link { margin-bottom: -1px; background: none; border: 1px solid transparent; border-top-left-radius: 0.25rem; border-top-right-radius: 0.25rem; }

.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { border-color: #e9ecef #e9ecef #dee2e6; isolation: isolate; }

.nav-tabs .nav-link.disabled { color: #6c757d; background-color: transparent; border-color: transparent; }

.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { color: #495057; background-color: #fff; border-color: #dee2e6 #dee2e6 #fff; }

.nav-tabs .dropdown-menu { margin-top: -1px; border-top-left-radius: 0; border-top-right-radius: 0; }

.nav-pills .nav-link { background: none; border: 0; border-radius: 0.25rem; }

.nav-pills .nav-link.active, .nav-pills .show > .nav-link { color: #fff; background-color: #0d6efd; }

.nav-fill > .nav-link, .nav-fill .nav-item { flex: 1 1 auto; text-align: center; }

.nav-justified > .nav-link, .nav-justified .nav-item { flex-basis: 0; flex-grow: 1; text-align: center; }

.nav-fill .nav-item .nav-link, .nav-justified .nav-item .nav-link { width: 100%; }

.tab-content > .tab-pane { display: none; }

.tab-content > .active { display: block; }

.navbar { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding-top: 0.5rem; padding-bottom: 0.5rem; }

.navbar > .container, .navbar > .container-fluid, .navbar > .container-sm, .navbar > .container-md, .navbar > .container-lg, .navbar > .container-xl, .navbar > .container-xxl { display: flex; flex-wrap: inherit; align-items: center; justify-content: space-between; }

.navbar-brand { padding-top: 0.3125rem; padding-bottom: 0.3125rem; margin-right: 1rem; font-size: 1.25rem; text-decoration: none; white-space: nowrap; }

.navbar-nav { display: flex; flex-direction: column; padding-left: 0; margin-bottom: 0; list-style: none; }

.navbar-nav .nav-link { padding-right: 0; padding-left: 0; }

.navbar-nav .dropdown-menu { position: static; }

.navbar-text { padding-top: 0.5rem; padding-bottom: 0.5rem; }

.navbar-collapse { flex-basis: 100%; flex-grow: 1; align-items: center; }

.navbar-toggler { padding: 0.25rem 0.75rem; font-size: 1.25rem; line-height: 1; background-color: transparent; border: 1px solid transparent; border-radius: 0.25rem; transition: box-shadow 0.15s ease-in-out; }

.navbar-toggler:hover { text-decoration: none; }

.navbar-toggler:focus { text-decoration: none; outline: 0; box-shadow: 0 0 0 0.25rem; }

.navbar-toggler-icon { display: inline-block; width: 1.5em; height: 1.5em; vertical-align: middle; background-repeat: no-repeat; background-position: center; background-size: 100%; }

.navbar-nav-scroll { max-height: var(--bs-scroll-height, 75vh); overflow-y: auto; }

@media (min-width: 576px) { .navbar-expand-sm { flex-wrap: nowrap; justify-content: flex-start; }
  .navbar-expand-sm .navbar-nav { flex-direction: row; }
  .navbar-expand-sm .navbar-nav .dropdown-menu { position: absolute; }
  .navbar-expand-sm .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; }
  .navbar-expand-sm .navbar-nav-scroll { overflow: visible; }
  .navbar-expand-sm .navbar-collapse { display: flex !important; flex-basis: auto; }
  .navbar-expand-sm .navbar-toggler { display: none; } }

@media (min-width: 768px) { .navbar-expand-md { flex-wrap: nowrap; justify-content: flex-start; }
  .navbar-expand-md .navbar-nav { flex-direction: row; }
  .navbar-expand-md .navbar-nav .dropdown-menu { position: absolute; }
  .navbar-expand-md .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; }
  .navbar-expand-md .navbar-nav-scroll { overflow: visible; }
  .navbar-expand-md .navbar-collapse { display: flex !important; flex-basis: auto; }
  .navbar-expand-md .navbar-toggler { display: none; } }

@media (min-width: 992px) { .navbar-expand-lg { flex-wrap: nowrap; justify-content: flex-start; }
  .navbar-expand-lg .navbar-nav { flex-direction: row; }
  .navbar-expand-lg .navbar-nav .dropdown-menu { position: absolute; }
  .navbar-expand-lg .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; }
  .navbar-expand-lg .navbar-nav-scroll { overflow: visible; }
  .navbar-expand-lg .navbar-collapse { display: flex !important; flex-basis: auto; }
  .navbar-expand-lg .navbar-toggler { display: none; } }

@media (min-width: 1200px) { .navbar-expand-xl { flex-wrap: nowrap; justify-content: flex-start; }
  .navbar-expand-xl .navbar-nav { flex-direction: row; }
  .navbar-expand-xl .navbar-nav .dropdown-menu { position: absolute; }
  .navbar-expand-xl .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; }
  .navbar-expand-xl .navbar-nav-scroll { overflow: visible; }
  .navbar-expand-xl .navbar-collapse { display: flex !important; flex-basis: auto; }
  .navbar-expand-xl .navbar-toggler { display: none; } }

@media (min-width: 1400px) { .navbar-expand-xxl { flex-wrap: nowrap; justify-content: flex-start; }
  .navbar-expand-xxl .navbar-nav { flex-direction: row; }
  .navbar-expand-xxl .navbar-nav .dropdown-menu { position: absolute; }
  .navbar-expand-xxl .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; }
  .navbar-expand-xxl .navbar-nav-scroll { overflow: visible; }
  .navbar-expand-xxl .navbar-collapse { display: flex !important; flex-basis: auto; }
  .navbar-expand-xxl .navbar-toggler { display: none; } }

.navbar-expand { flex-wrap: nowrap; justify-content: flex-start; }

.navbar-expand .navbar-nav { flex-direction: row; }

.navbar-expand .navbar-nav .dropdown-menu { position: absolute; }

.navbar-expand .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; }

.navbar-expand .navbar-nav-scroll { overflow: visible; }

.navbar-expand .navbar-collapse { display: flex !important; flex-basis: auto; }

.navbar-expand .navbar-toggler { display: none; }

.navbar-light .navbar-brand { color: rgba(0, 0, 0, 0.9); }

.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { color: rgba(0, 0, 0, 0.9); }

.navbar-light .navbar-nav .nav-link { color: rgba(0, 0, 0, 0.55); }

.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { color: rgba(0, 0, 0, 0.7); }

.navbar-light .navbar-nav .nav-link.disabled { color: rgba(0, 0, 0, 0.3); }

.navbar-light .navbar-nav .show > .nav-link, .navbar-light .navbar-nav .nav-link.active { color: rgba(0, 0, 0, 0.9); }

.navbar-light .navbar-toggler { color: rgba(0, 0, 0, 0.55); border-color: rgba(0, 0, 0, 0.1); }

.navbar-light .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

.navbar-light .navbar-text { color: rgba(0, 0, 0, 0.55); }

.navbar-light .navbar-text a, .navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { color: rgba(0, 0, 0, 0.9); }

.navbar-dark .navbar-brand { color: #fff; }

.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { color: #fff; }

.navbar-dark .navbar-nav .nav-link { color: rgba(255, 255, 255, 0.55); }

.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { color: rgba(255, 255, 255, 0.75); }

.navbar-dark .navbar-nav .nav-link.disabled { color: rgba(255, 255, 255, 0.25); }

.navbar-dark .navbar-nav .show > .nav-link, .navbar-dark .navbar-nav .nav-link.active { color: #fff; }

.navbar-dark .navbar-toggler { color: rgba(255, 255, 255, 0.55); border-color: rgba(255, 255, 255, 0.1); }

.navbar-dark .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

.navbar-dark .navbar-text { color: rgba(255, 255, 255, 0.55); }

.navbar-dark .navbar-text a, .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { color: #fff; }

.card { position: relative; display: flex; flex-direction: column; min-width: 0; word-wrap: break-word; background-color: #fff; background-clip: border-box; border: 1px solid rgba(0, 0, 0, 0.125); border-radius: 0.25rem; }

.card > hr { margin-right: 0; margin-left: 0; }

.card > .list-group { border-top: inherit; border-bottom: inherit; }

.card > .list-group:first-child { border-top-width: 0; border-top-left-radius: calc(0.25rem - 1px); border-top-right-radius: calc(0.25rem - 1px); }

.card > .list-group:last-child { border-bottom-width: 0; border-bottom-right-radius: calc(0.25rem - 1px); border-bottom-left-radius: calc(0.25rem - 1px); }

.card > .card-header + .list-group, .card > .list-group + .card-footer { border-top: 0; }

.card-body { flex: 1 1 auto; padding: 1rem 1rem; }

.card-title { margin-bottom: 0.5rem; }

.card-subtitle { margin-top: -0.25rem; margin-bottom: 0; }

.card-text:last-child { margin-bottom: 0; }

.card-link:hover { text-decoration: none; }

.card-link + .card-link { margin-left: 1rem; }

.card-header { padding: 0.5rem 1rem; margin-bottom: 0; background-color: rgba(0, 0, 0, 0.03); border-bottom: 1px solid rgba(0, 0, 0, 0.125); }

.card-header:first-child { border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }

.card-footer { padding: 0.5rem 1rem; background-color: rgba(0, 0, 0, 0.03); border-top: 1px solid rgba(0, 0, 0, 0.125); }

.card-footer:last-child { border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); }

.card-header-tabs { margin-right: -0.5rem; margin-bottom: -0.5rem; margin-left: -0.5rem; border-bottom: 0; }

.card-header-pills { margin-right: -0.5rem; margin-left: -0.5rem; }

.card-img-overlay { position: absolute; top: 0; right: 0; bottom: 0; left: 0; padding: 1rem; border-radius: calc(0.25rem - 1px); }

.card-img, .card-img-top, .card-img-bottom { width: 100%; }

.card-img, .card-img-top { border-top-left-radius: calc(0.25rem - 1px); border-top-right-radius: calc(0.25rem - 1px); }

.card-img, .card-img-bottom { border-bottom-right-radius: calc(0.25rem - 1px); border-bottom-left-radius: calc(0.25rem - 1px); }

.card-group > .card { margin-bottom: 0.75rem; }

@media (min-width: 576px) { .card-group { display: flex; flex-flow: row wrap; }
  .card-group > .card { flex: 1 0 0%; margin-bottom: 0; }
  .card-group > .card + .card { margin-left: 0; border-left: 0; }
  .card-group > .card:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
  .card-group > .card:not(:last-child) .card-img-top, .card-group > .card:not(:last-child) .card-header { border-top-right-radius: 0; }
  .card-group > .card:not(:last-child) .card-img-bottom, .card-group > .card:not(:last-child) .card-footer { border-bottom-right-radius: 0; }
  .card-group > .card:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
  .card-group > .card:not(:first-child) .card-img-top, .card-group > .card:not(:first-child) .card-header { border-top-left-radius: 0; }
  .card-group > .card:not(:first-child) .card-img-bottom, .card-group > .card:not(:first-child) .card-footer { border-bottom-left-radius: 0; } }

.accordion-button { position: relative; display: flex; align-items: center; width: 100%; padding: 1rem 1.25rem; font-size: 1rem; color: #212529; text-align: left; background-color: #fff; border: 0; border-radius: 0; overflow-anchor: none; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease; }

.accordion-button:not(.collapsed) { color: #0c63e4; background-color: #e7f1ff; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125); }

.accordion-button:not(.collapsed)::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); transform: rotate(-180deg); }

.accordion-button::after { flex-shrink: 0; width: 1.25rem; height: 1.25rem; margin-left: auto; content: ""; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-size: 1.25rem; transition: transform 0.2s ease-in-out; }

.accordion-button:hover { z-index: 2; }

.accordion-button:focus { z-index: 3; border-color: #86b7fe; outline: 0; box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); }

.accordion-header { margin-bottom: 0; }

.accordion-item { background-color: #fff; border: 1px solid rgba(0, 0, 0, 0.125); }

.accordion-item:first-of-type { border-top-left-radius: 0.25rem; border-top-right-radius: 0.25rem; }

.accordion-item:first-of-type .accordion-button { border-top-left-radius: calc(0.25rem - 1px); border-top-right-radius: calc(0.25rem - 1px); }

.accordion-item:not(:first-of-type) { border-top: 0; }

.accordion-item:last-of-type { border-bottom-right-radius: 0.25rem; border-bottom-left-radius: 0.25rem; }

.accordion-item:last-of-type .accordion-button.collapsed { border-bottom-right-radius: calc(0.25rem - 1px); border-bottom-left-radius: calc(0.25rem - 1px); }

.accordion-item:last-of-type .accordion-collapse { border-bottom-right-radius: 0.25rem; border-bottom-left-radius: 0.25rem; }

.accordion-body { padding: 1rem 1.25rem; }

.accordion-flush .accordion-collapse { border-width: 0; }

.accordion-flush .accordion-item { border-right: 0; border-left: 0; border-radius: 0; }

.accordion-flush .accordion-item:first-child { border-top: 0; }

.accordion-flush .accordion-item:last-child { border-bottom: 0; }

.accordion-flush .accordion-item .accordion-button { border-radius: 0; }

.breadcrumb { display: flex; flex-wrap: wrap; padding: 0 0; margin-bottom: 1rem; list-style: none; }

.breadcrumb-item + .breadcrumb-item { padding-left: 0.5rem; }

.breadcrumb-item + .breadcrumb-item::before { float: left; padding-right: 0.5rem; color: #6c757d; content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; }

.breadcrumb-item.active { color: #6c757d; }

.pagination { display: flex; padding-left: 0; list-style: none; }

.page-link { position: relative; display: block; color: #0d6efd; text-decoration: none; background-color: #fff; border: 1px solid #dee2e6; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }

.page-link:hover { z-index: 2; color: #0a58ca; background-color: #e9ecef; border-color: #dee2e6; }

.page-link:focus { z-index: 3; color: #0a58ca; background-color: #e9ecef; outline: 0; box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); }

.page-item:not(:first-child) .page-link { margin-left: -1px; }

.page-item.active .page-link { z-index: 3; color: #fff; background-color: #0d6efd; border-color: #0d6efd; }

.page-item.disabled .page-link { color: #6c757d; pointer-events: none; background-color: #fff; border-color: #dee2e6; }

.page-link { padding: 0.375rem 0.75rem; }

.page-item:first-child .page-link { border-top-left-radius: 0.25rem; border-bottom-left-radius: 0.25rem; }

.page-item:last-child .page-link { border-top-right-radius: 0.25rem; border-bottom-right-radius: 0.25rem; }

.pagination-lg .page-link { padding: 0.75rem 1.5rem; font-size: 1.25rem; }

.pagination-lg .page-item:first-child .page-link { border-top-left-radius: 0.3rem; border-bottom-left-radius: 0.3rem; }

.pagination-lg .page-item:last-child .page-link { border-top-right-radius: 0.3rem; border-bottom-right-radius: 0.3rem; }

.pagination-sm .page-link { padding: 0.25rem 0.5rem; font-size: 0.875rem; }

.pagination-sm .page-item:first-child .page-link { border-top-left-radius: 0.2rem; border-bottom-left-radius: 0.2rem; }

.pagination-sm .page-item:last-child .page-link { border-top-right-radius: 0.2rem; border-bottom-right-radius: 0.2rem; }

.badge { display: inline-block; padding: 0.35em 0.65em; font-size: 0.75em; font-weight: 700; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: 0.25rem; }

.badge:empty { display: none; }

.btn .badge { position: relative; top: -1px; }

.alert { position: relative; padding: 1rem 1rem; margin-bottom: 1rem; border: 1px solid transparent; border-radius: 0.25rem; }

.alert-heading { color: inherit; }

.alert-link { font-weight: 700; }

.alert-dismissible { padding-right: 3rem; }

.alert-dismissible .btn-close { position: absolute; top: 0; right: 0; z-index: 2; padding: 1.25rem 1rem; }

.alert-primary { color: #084298; background-color: #cfe2ff; border-color: #b6d4fe; }

.alert-primary .alert-link { color: #06357a; }

.alert-secondary { color: #41464b; background-color: #e2e3e5; border-color: #d3d6d8; }

.alert-secondary .alert-link { color: #34383c; }

.alert-success { color: #0f5132; background-color: #d1e7dd; border-color: #badbcc; }

.alert-success .alert-link { color: #0c4128; }

.alert-info { color: #055160; background-color: #cff4fc; border-color: #b6effb; }

.alert-info .alert-link { color: #04414d; }

.alert-warning { color: #664d03; background-color: #fff3cd; border-color: #ffecb5; }

.alert-warning .alert-link { color: #523e02; }

.alert-danger { color: #842029; background-color: #f8d7da; border-color: #f5c2c7; }

.alert-danger .alert-link { color: #6a1a21; }

.alert-light { color: #636464; background-color: #fefefe; border-color: #fdfdfe; }

.alert-light .alert-link { color: #4f5050; }

.alert-dark { color: #141619; background-color: #d3d3d4; border-color: #bcbebf; }

.alert-dark .alert-link { color: #101214; }

@keyframes progress-bar-stripes { 0% { background-position-x: 1rem; } }

.progress { display: flex; height: 1rem; overflow: hidden; font-size: 0.75rem; background-color: #e9ecef; border-radius: 0.25rem; }

.progress-bar { display: flex; flex-direction: column; justify-content: center; overflow: hidden; color: #fff; text-align: center; white-space: nowrap; background-color: #0d6efd; transition: width 0.6s ease; }

.progress-bar-striped { background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-size: 1rem 1rem; }

.progress-bar-animated { animation: 1s linear infinite progress-bar-stripes; }

@media (prefers-reduced-motion: reduce) { .progress-bar-animated { animation: none; } }

.list-group { display: flex; flex-direction: column; padding-left: 0; margin-bottom: 0; border-radius: 0.25rem; }

.list-group-numbered { list-style-type: none; counter-reset: section; }

.list-group-numbered > li::before { content: counters(section, ".") ". "; counter-increment: section; }

.list-group-item-action { width: 100%; color: #495057; text-align: inherit; }

.list-group-item-action:hover, .list-group-item-action:focus { z-index: 1; color: #495057; text-decoration: none; background-color: #f8f9fa; }

.list-group-item-action:active { color: #212529; background-color: #e9ecef; }

.list-group-item { position: relative; display: block; padding: 0.5rem 1rem; color: #212529; text-decoration: none; background-color: #fff; border: 1px solid rgba(0, 0, 0, 0.125); }

.list-group-item:first-child { border-top-left-radius: inherit; border-top-right-radius: inherit; }

.list-group-item:last-child { border-bottom-right-radius: inherit; border-bottom-left-radius: inherit; }

.list-group-item.disabled, .list-group-item:disabled { color: #6c757d; pointer-events: none; background-color: #fff; }

.list-group-item.active { z-index: 2; color: #fff; background-color: #0d6efd; border-color: #0d6efd; }

.list-group-item + .list-group-item { border-top-width: 0; }

.list-group-item + .list-group-item.active { margin-top: -1px; border-top-width: 1px; }

.list-group-horizontal { flex-direction: row; }

.list-group-horizontal > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; }

.list-group-horizontal > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; }

.list-group-horizontal > .list-group-item.active { margin-top: 0; }

.list-group-horizontal > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; }

.list-group-horizontal > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; }

@media (min-width: 576px) { .list-group-horizontal-sm { flex-direction: row; }
  .list-group-horizontal-sm > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; }
  .list-group-horizontal-sm > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; }
  .list-group-horizontal-sm > .list-group-item.active { margin-top: 0; }
  .list-group-horizontal-sm > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; } }

@media (min-width: 768px) { .list-group-horizontal-md { flex-direction: row; }
  .list-group-horizontal-md > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; }
  .list-group-horizontal-md > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; }
  .list-group-horizontal-md > .list-group-item.active { margin-top: 0; }
  .list-group-horizontal-md > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; } }

@media (min-width: 992px) { .list-group-horizontal-lg { flex-direction: row; }
  .list-group-horizontal-lg > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; }
  .list-group-horizontal-lg > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; }
  .list-group-horizontal-lg > .list-group-item.active { margin-top: 0; }
  .list-group-horizontal-lg > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; } }

@media (min-width: 1200px) { .list-group-horizontal-xl { flex-direction: row; }
  .list-group-horizontal-xl > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; }
  .list-group-horizontal-xl > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; }
  .list-group-horizontal-xl > .list-group-item.active { margin-top: 0; }
  .list-group-horizontal-xl > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; } }

@media (min-width: 1400px) { .list-group-horizontal-xxl { flex-direction: row; }
  .list-group-horizontal-xxl > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; }
  .list-group-horizontal-xxl > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; }
  .list-group-horizontal-xxl > .list-group-item.active { margin-top: 0; }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; } }

.list-group-flush { border-radius: 0; }

.list-group-flush > .list-group-item { border-width: 0 0 1px; }

.list-group-flush > .list-group-item:last-child { border-bottom-width: 0; }

.list-group-item-primary { color: #084298; background-color: #cfe2ff; }

.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { color: #084298; background-color: #bacbe6; }

.list-group-item-primary.list-group-item-action.active { color: #fff; background-color: #084298; border-color: #084298; }

.list-group-item-secondary { color: #41464b; background-color: #e2e3e5; }

.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { color: #41464b; background-color: #cbccce; }

.list-group-item-secondary.list-group-item-action.active { color: #fff; background-color: #41464b; border-color: #41464b; }

.list-group-item-success { color: #0f5132; background-color: #d1e7dd; }

.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { color: #0f5132; background-color: #bcd0c7; }

.list-group-item-success.list-group-item-action.active { color: #fff; background-color: #0f5132; border-color: #0f5132; }

.list-group-item-info { color: #055160; background-color: #cff4fc; }

.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { color: #055160; background-color: #badce3; }

.list-group-item-info.list-group-item-action.active { color: #fff; background-color: #055160; border-color: #055160; }

.list-group-item-warning { color: #664d03; background-color: #fff3cd; }

.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { color: #664d03; background-color: #e6dbb9; }

.list-group-item-warning.list-group-item-action.active { color: #fff; background-color: #664d03; border-color: #664d03; }

.list-group-item-danger { color: #842029; background-color: #f8d7da; }

.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { color: #842029; background-color: #dfc2c4; }

.list-group-item-danger.list-group-item-action.active { color: #fff; background-color: #842029; border-color: #842029; }

.list-group-item-light { color: #636464; background-color: #fefefe; }

.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { color: #636464; background-color: #e5e5e5; }

.list-group-item-light.list-group-item-action.active { color: #fff; background-color: #636464; border-color: #636464; }

.list-group-item-dark { color: #141619; background-color: #d3d3d4; }

.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { color: #141619; background-color: #bebebf; }

.list-group-item-dark.list-group-item-action.active { color: #fff; background-color: #141619; border-color: #141619; }

.btn-close { box-sizing: content-box; width: 1em; height: 1em; padding: 0.25em 0.25em; color: #000; background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat; border: 0; border-radius: 0.25rem; opacity: 0.5; }

.btn-close:hover { color: #000; text-decoration: none; opacity: 0.75; }

.btn-close:focus { outline: 0; box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); opacity: 1; }

.btn-close:disabled, .btn-close.disabled { pointer-events: none; user-select: none; opacity: 0.25; }

.btn-close-white { filter: invert(1) grayscale(100%) brightness(200%); }

.toast { width: 350px; max-width: 100%; font-size: 0.875rem; pointer-events: auto; background-color: rgba(255, 255, 255, 0.85); background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.1); box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); border-radius: 0.25rem; }

.toast:not(.showing):not(.show) { opacity: 0; }

.toast.hide { display: none; }

.toast-container { width: max-content; max-width: 100%; pointer-events: none; }

.toast-container > :not(:last-child) { margin-bottom: 0.75rem; }

.toast-header { display: flex; align-items: center; padding: 0.5rem 0.75rem; color: #6c757d; background-color: rgba(255, 255, 255, 0.85); background-clip: padding-box; border-bottom: 1px solid rgba(0, 0, 0, 0.05); border-top-left-radius: calc(0.25rem - 1px); border-top-right-radius: calc(0.25rem - 1px); }

.toast-header .btn-close { margin-right: -0.375rem; margin-left: 0.75rem; }

.toast-body { padding: 0.75rem; word-wrap: break-word; }

.modal { position: fixed; top: 0; left: 0; z-index: 1060; display: none; width: 100%; height: 100%; overflow-x: hidden; overflow-y: auto; outline: 0; }

.modal-dialog { position: relative; width: auto; margin: 0.5rem; pointer-events: none; }

.modal.fade .modal-dialog { transition: transform 0.3s ease-out; transform: translate(0, -50px); }

.modal.show .modal-dialog { transform: none; }

.modal.modal-static .modal-dialog { transform: scale(1.02); }

.modal-dialog-scrollable { height: calc(100% - 1rem); }

.modal-dialog-scrollable .modal-content { max-height: 100%; overflow: hidden; }

.modal-dialog-scrollable .modal-body { overflow-y: auto; }

.modal-dialog-centered { display: flex; align-items: center; min-height: calc(100% - 1rem); }

.modal-content { position: relative; display: flex; flex-direction: column; width: 100%; pointer-events: auto; background-color: #fff; background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 0.3rem; outline: 0; }

.modal-backdrop { position: fixed; top: 0; left: 0; z-index: 1040; width: 100vw; height: 100vh; background-color: #000; }

.modal-backdrop.fade { opacity: 0; }

.modal-backdrop.show { opacity: 0.5; }

.modal-header { display: flex; flex-shrink: 0; align-items: center; justify-content: space-between; padding: 1rem 1rem; border-bottom: 1px solid #dee2e6; border-top-left-radius: calc(0.3rem - 1px); border-top-right-radius: calc(0.3rem - 1px); }

.modal-header .btn-close { padding: 0.5rem 0.5rem; margin: -0.5rem -0.5rem -0.5rem auto; }

.modal-title { margin-bottom: 0; line-height: 1.5; }

.modal-body { position: relative; flex: 1 1 auto; padding: 1rem; }

.modal-footer { display: flex; flex-wrap: wrap; flex-shrink: 0; align-items: center; justify-content: flex-end; padding: 0.75rem; border-top: 1px solid #dee2e6; border-bottom-right-radius: calc(0.3rem - 1px); border-bottom-left-radius: calc(0.3rem - 1px); }

.modal-footer > * { margin: 0.25rem; }

@media (min-width: 576px) { .modal-dialog { max-width: 500px; margin: 1.75rem auto; }
  .modal-dialog-scrollable { height: calc(100% - 3.5rem); }
  .modal-dialog-centered { min-height: calc(100% - 3.5rem); }
  .modal-sm { max-width: 300px; } }

@media (min-width: 992px) { .modal-lg, .modal-xl { max-width: 800px; } }

@media (min-width: 1200px) { .modal-xl { max-width: 1140px; } }

.modal-fullscreen { width: 100vw; max-width: none; height: 100%; margin: 0; }

.modal-fullscreen .modal-content { height: 100%; border: 0; border-radius: 0; }

.modal-fullscreen .modal-header { border-radius: 0; }

.modal-fullscreen .modal-body { overflow-y: auto; }

.modal-fullscreen .modal-footer { border-radius: 0; }

@media (max-width: 575.98px) { .modal-fullscreen-sm-down { width: 100vw; max-width: none; height: 100%; margin: 0; }
  .modal-fullscreen-sm-down .modal-content { height: 100%; border: 0; border-radius: 0; }
  .modal-fullscreen-sm-down .modal-header { border-radius: 0; }
  .modal-fullscreen-sm-down .modal-body { overflow-y: auto; }
  .modal-fullscreen-sm-down .modal-footer { border-radius: 0; } }

@media (max-width: 767.98px) { .modal-fullscreen-md-down { width: 100vw; max-width: none; height: 100%; margin: 0; }
  .modal-fullscreen-md-down .modal-content { height: 100%; border: 0; border-radius: 0; }
  .modal-fullscreen-md-down .modal-header { border-radius: 0; }
  .modal-fullscreen-md-down .modal-body { overflow-y: auto; }
  .modal-fullscreen-md-down .modal-footer { border-radius: 0; } }

@media (max-width: 991.98px) { .modal-fullscreen-lg-down { width: 100vw; max-width: none; height: 100%; margin: 0; }
  .modal-fullscreen-lg-down .modal-content { height: 100%; border: 0; border-radius: 0; }
  .modal-fullscreen-lg-down .modal-header { border-radius: 0; }
  .modal-fullscreen-lg-down .modal-body { overflow-y: auto; }
  .modal-fullscreen-lg-down .modal-footer { border-radius: 0; } }

@media (max-width: 1199.98px) { .modal-fullscreen-xl-down { width: 100vw; max-width: none; height: 100%; margin: 0; }
  .modal-fullscreen-xl-down .modal-content { height: 100%; border: 0; border-radius: 0; }
  .modal-fullscreen-xl-down .modal-header { border-radius: 0; }
  .modal-fullscreen-xl-down .modal-body { overflow-y: auto; }
  .modal-fullscreen-xl-down .modal-footer { border-radius: 0; } }

@media (max-width: 1399.98px) { .modal-fullscreen-xxl-down { width: 100vw; max-width: none; height: 100%; margin: 0; }
  .modal-fullscreen-xxl-down .modal-content { height: 100%; border: 0; border-radius: 0; }
  .modal-fullscreen-xxl-down .modal-header { border-radius: 0; }
  .modal-fullscreen-xxl-down .modal-body { overflow-y: auto; }
  .modal-fullscreen-xxl-down .modal-footer { border-radius: 0; } }

.tooltip { position: absolute; z-index: 1080; display: block; margin: 0; font-family: var(--bs-font-sans-serif); font-style: normal; font-weight: 400; line-height: 1.5; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; letter-spacing: normal; word-break: normal; word-spacing: normal; white-space: normal; line-break: auto; font-size: 0.875rem; word-wrap: break-word; opacity: 0; }

.tooltip.show { opacity: 0.9; }

.tooltip .tooltip-arrow { position: absolute; display: block; width: 0.8rem; height: 0.4rem; }

.tooltip .tooltip-arrow::before { position: absolute; content: ""; border-color: transparent; border-style: solid; }

.bs-tooltip-top, .bs-tooltip-auto[data-popper-placement^="top"] { padding: 0.4rem 0; }

.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow { bottom: 0; }

.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before { top: -1px; border-width: 0.4rem 0.4rem 0; border-top-color: #000; }

.bs-tooltip-end, .bs-tooltip-auto[data-popper-placement^="right"] { padding: 0 0.4rem; }

.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow { left: 0; width: 0.4rem; height: 0.8rem; }

.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before { right: -1px; border-width: 0.4rem 0.4rem 0.4rem 0; border-right-color: #000; }

.bs-tooltip-bottom, .bs-tooltip-auto[data-popper-placement^="bottom"] { padding: 0.4rem 0; }

.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow { top: 0; }

.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before { bottom: -1px; border-width: 0 0.4rem 0.4rem; border-bottom-color: #000; }

.bs-tooltip-start, .bs-tooltip-auto[data-popper-placement^="left"] { padding: 0 0.4rem; }

.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow { right: 0; width: 0.4rem; height: 0.8rem; }

.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before { left: -1px; border-width: 0.4rem 0 0.4rem 0.4rem; border-left-color: #000; }

.tooltip-inner { max-width: 200px; padding: 0.25rem 0.5rem; color: #fff; text-align: center; background-color: #000; border-radius: 0.25rem; }

.popover { position: absolute; top: 0; left: 0 /* rtl:ignore */; z-index: 1070; display: block; max-width: 276px; font-family: var(--bs-font-sans-serif); font-style: normal; font-weight: 400; line-height: 1.5; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; letter-spacing: normal; word-break: normal; word-spacing: normal; white-space: normal; line-break: auto; font-size: 0.875rem; word-wrap: break-word; background-color: #fff; background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 0.3rem; }

.popover .popover-arrow { position: absolute; display: block; width: 1rem; height: 0.5rem; }

.popover .popover-arrow::before, .popover .popover-arrow::after { position: absolute; display: block; content: ""; border-color: transparent; border-style: solid; }

.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow { bottom: calc(-0.5rem - 1px); }

.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before { bottom: 0; border-width: 0.5rem 0.5rem 0; border-top-color: rgba(0, 0, 0, 0.25); }

.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after { bottom: 1px; border-width: 0.5rem 0.5rem 0; border-top-color: #fff; }

.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow { left: calc(-0.5rem - 1px); width: 0.5rem; height: 1rem; }

.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before { left: 0; border-width: 0.5rem 0.5rem 0.5rem 0; border-right-color: rgba(0, 0, 0, 0.25); }

.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after { left: 1px; border-width: 0.5rem 0.5rem 0.5rem 0; border-right-color: #fff; }

.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow { top: calc(-0.5rem - 1px); }

.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before { top: 0; border-width: 0 0.5rem 0.5rem 0.5rem; border-bottom-color: rgba(0, 0, 0, 0.25); }

.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after { top: 1px; border-width: 0 0.5rem 0.5rem 0.5rem; border-bottom-color: #fff; }

.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before { position: absolute; top: 0; left: 50%; display: block; width: 1rem; margin-left: -0.5rem; content: ""; border-bottom: 1px solid #f0f0f0; }

.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow { right: calc(-0.5rem - 1px); width: 0.5rem; height: 1rem; }

.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before { right: 0; border-width: 0.5rem 0 0.5rem 0.5rem; border-left-color: rgba(0, 0, 0, 0.25); }

.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after { right: 1px; border-width: 0.5rem 0 0.5rem 0.5rem; border-left-color: #fff; }

.popover-header { padding: 0.5rem 1rem; margin-bottom: 0; font-size: 1rem; background-color: #f0f0f0; border-bottom: 1px solid rgba(0, 0, 0, 0.2); border-top-left-radius: calc(0.3rem - 1px); border-top-right-radius: calc(0.3rem - 1px); }

.popover-header:empty { display: none; }

.popover-body { padding: 1rem 1rem; color: #212529; }

.carousel { position: relative; }

.carousel.pointer-event { touch-action: pan-y; }

.carousel-inner { position: relative; width: 100%; overflow: hidden; }

.carousel-inner::after { display: block; clear: both; content: ""; }

.carousel-item { position: relative; display: none; float: left; width: 100%; margin-right: -100%; backface-visibility: hidden; transition: transform 0.6s ease-in-out; }

.carousel-item.active, .carousel-item-next, .carousel-item-prev { display: block; }

/* rtl:begin:ignore */
.carousel-item-next:not(.carousel-item-start), .active.carousel-item-end { transform: translateX(100%); }

.carousel-item-prev:not(.carousel-item-end), .active.carousel-item-start { transform: translateX(-100%); }

/* rtl:end:ignore */
.carousel-fade .carousel-item { opacity: 0; transition-property: opacity; transform: none; }

.carousel-fade .carousel-item.active, .carousel-fade .carousel-item-next.carousel-item-start, .carousel-fade .carousel-item-prev.carousel-item-end { z-index: 1; opacity: 1; }

.carousel-fade .active.carousel-item-start, .carousel-fade .active.carousel-item-end { z-index: 0; opacity: 0; transition: opacity 0s 0.6s; }

.carousel-control-prev, .carousel-control-next { position: absolute; top: 0; bottom: 0; z-index: 1; display: flex; align-items: center; justify-content: center; width: 15%; padding: 0; color: #fff; text-align: center; background: none; border: 0; opacity: 0.5; transition: opacity 0.15s ease; }

.carousel-control-prev:hover, .carousel-control-prev:focus, .carousel-control-next:hover, .carousel-control-next:focus { color: #fff; text-decoration: none; outline: 0; opacity: 0.9; }

.carousel-control-prev { left: 0; }

.carousel-control-next { right: 0; }

.carousel-control-prev-icon, .carousel-control-next-icon { display: inline-block; width: 2rem; height: 2rem; background-repeat: no-repeat; background-position: 50%; background-size: 100% 100%; }

/* rtl:options: { "autoRename": true, "stringMap":[ { "name"    : "prev-next", "search"  : "prev", "replace" : "next" } ] } */
.carousel-control-prev-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e"); }

.carousel-control-next-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); }

.carousel-indicators { position: absolute; right: 0; bottom: 0; left: 0; z-index: 2; display: flex; justify-content: center; padding: 0; margin-right: 15%; margin-bottom: 1rem; margin-left: 15%; list-style: none; }

.carousel-indicators [data-bs-target] { box-sizing: content-box; flex: 0 1 auto; width: 30px; height: 3px; padding: 0; margin-right: 3px; margin-left: 3px; text-indent: -999px; cursor: pointer; background-color: #fff; background-clip: padding-box; border: 0; border-top: 10px solid transparent; border-bottom: 10px solid transparent; opacity: 0.5; transition: opacity 0.6s ease; }

.carousel-indicators .active { opacity: 1; }

.carousel-caption { position: absolute; right: 15%; bottom: 1.25rem; left: 15%; padding-top: 1.25rem; padding-bottom: 1.25rem; color: #fff; text-align: center; }

.carousel-dark .carousel-control-prev-icon, .carousel-dark .carousel-control-next-icon { filter: invert(1) grayscale(100); }

.carousel-dark .carousel-indicators [data-bs-target] { background-color: #000; }

.carousel-dark .carousel-caption { color: #000; }

@keyframes spinner-border { to { transform: rotate(360deg) /* rtl:ignore */; } }

.spinner-border { display: inline-block; width: 2rem; height: 2rem; vertical-align: -0.125em; border: 0.25em solid currentColor; border-right-color: transparent; border-radius: 50%; animation: 0.75s linear infinite spinner-border; }

.spinner-border-sm { width: 1rem; height: 1rem; border-width: 0.2em; }

@keyframes spinner-grow { 0% { transform: scale(0); }
  50% { opacity: 1;
    transform: none; } }

.spinner-grow { display: inline-block; width: 2rem; height: 2rem; vertical-align: -0.125em; background-color: currentColor; border-radius: 50%; opacity: 0; animation: 0.75s linear infinite spinner-grow; }

.spinner-grow-sm { width: 1rem; height: 1rem; }

@media (prefers-reduced-motion: reduce) { .spinner-border, .spinner-grow { animation-duration: 1.5s; } }

.offcanvas { position: fixed; bottom: 0; z-index: 1050; display: flex; flex-direction: column; max-width: 100%; visibility: hidden; background-color: #fff; background-clip: padding-box; outline: 0; transition: transform 0.3s ease-in-out; }

.offcanvas-header { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1rem; }

.offcanvas-header .btn-close { padding: 0.5rem 0.5rem; margin-top: -0.5rem; margin-right: -0.5rem; margin-bottom: -0.5rem; }

.offcanvas-title { margin-bottom: 0; line-height: 1.5; }

.offcanvas-body { flex-grow: 1; padding: 1rem 1rem; overflow-y: auto; }

.offcanvas-start { top: 0; left: 0; width: 400px; border-right: 1px solid rgba(0, 0, 0, 0.2); transform: translateX(-100%); }

.offcanvas-end { top: 0; right: 0; width: 400px; border-left: 1px solid rgba(0, 0, 0, 0.2); transform: translateX(100%); }

.offcanvas-top { top: 0; right: 0; left: 0; height: 30vh; max-height: 100%; border-bottom: 1px solid rgba(0, 0, 0, 0.2); transform: translateY(-100%); }

.offcanvas-bottom { right: 0; left: 0; height: 30vh; max-height: 100%; border-top: 1px solid rgba(0, 0, 0, 0.2); transform: translateY(100%); }

.offcanvas.show { transform: none; }

.clearfix::after { display: block; clear: both; content: ""; }

.link-primary { color: #0d6efd; }

.link-primary:hover, .link-primary:focus { color: #0a58ca; }

.link-secondary { color: #6c757d; }

.link-secondary:hover, .link-secondary:focus { color: #565e64; }

.link-success { color: #198754; }

.link-success:hover, .link-success:focus { color: #146c43; }

.link-info { color: #0dcaf0; }

.link-info:hover, .link-info:focus { color: #3dd5f3; }

.link-warning { color: #ffc107; }

.link-warning:hover, .link-warning:focus { color: #ffcd39; }

.link-danger { color: #dc3545; }

.link-danger:hover, .link-danger:focus { color: #b02a37; }

.link-light { color: #f8f9fa; }

.link-light:hover, .link-light:focus { color: #f9fafb; }

.link-dark { color: #212529; }

.link-dark:hover, .link-dark:focus { color: #1a1e21; }

.ratio { position: relative; width: 100%; }

.ratio::before { display: block; padding-top: var(--bs-aspect-ratio); content: ""; }

.ratio > * { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.ratio-1x1 { --bs-aspect-ratio: 100%; }

.ratio-4x3 { --bs-aspect-ratio: calc(3 / 4 * 100%); }

.ratio-16x9 { --bs-aspect-ratio: calc(9 / 16 * 100%); }

.ratio-21x9 { --bs-aspect-ratio: calc(9 / 21 * 100%); }

.fixed-top { position: fixed; top: 0; right: 0; left: 0; z-index: 1030; }

.fixed-bottom { position: fixed; right: 0; bottom: 0; left: 0; z-index: 1030; }

.sticky-top { position: sticky; top: 0; z-index: 1020; }

@media (min-width: 576px) { .sticky-sm-top { position: sticky; top: 0; z-index: 1020; } }

@media (min-width: 768px) { .sticky-md-top { position: sticky; top: 0; z-index: 1020; } }

@media (min-width: 992px) { .sticky-lg-top { position: sticky; top: 0; z-index: 1020; } }

@media (min-width: 1200px) { .sticky-xl-top { position: sticky; top: 0; z-index: 1020; } }

@media (min-width: 1400px) { .sticky-xxl-top { position: sticky; top: 0; z-index: 1020; } }

.visually-hidden, .visually-hidden-focusable:not(:focus):not(:focus-within) { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

.stretched-link::after { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; content: ""; }

.text-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.align-baseline { vertical-align: baseline !important; }

.align-top { vertical-align: top !important; }

.align-middle { vertical-align: middle !important; }

.align-bottom { vertical-align: bottom !important; }

.align-text-bottom { vertical-align: text-bottom !important; }

.align-text-top { vertical-align: text-top !important; }

.float-start { float: left !important; }

.float-end { float: right !important; }

.float-none { float: none !important; }

.overflow-auto { overflow: auto !important; }

.overflow-hidden { overflow: hidden !important; }

.overflow-visible { overflow: visible !important; }

.overflow-scroll { overflow: scroll !important; }

.d-inline { display: inline !important; }

.d-inline-block { display: inline-block !important; }

.d-block { display: block !important; }

.d-grid { display: grid !important; }

.d-table { display: table !important; }

.d-table-row { display: table-row !important; }

.d-table-cell { display: table-cell !important; }

.d-flex { display: flex !important; }

.d-inline-flex { display: inline-flex !important; }

.d-none { display: none !important; }

.shadow { box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; }

.shadow-sm { box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; }

.shadow-lg { box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; }

.shadow-none { box-shadow: none !important; }

.position-static { position: static !important; }

.position-relative { position: relative !important; }

.position-absolute { position: absolute !important; }

.position-fixed { position: fixed !important; }

.position-sticky { position: sticky !important; }

.top-0 { top: 0 !important; }

.top-50 { top: 50% !important; }

.top-100 { top: 100% !important; }

.bottom-0 { bottom: 0 !important; }

.bottom-50 { bottom: 50% !important; }

.bottom-100 { bottom: 100% !important; }

.start-0 { left: 0 !important; }

.start-50 { left: 50% !important; }

.start-100 { left: 100% !important; }

.end-0 { right: 0 !important; }

.end-50 { right: 50% !important; }

.end-100 { right: 100% !important; }

.translate-middle { transform: translate(-50%, -50%) !important; }

.translate-middle-x { transform: translateX(-50%) !important; }

.translate-middle-y { transform: translateY(-50%) !important; }

.border { border: 1px solid #dee2e6 !important; }

.border-0 { border: 0 !important; }

.border-top { border-top: 1px solid #dee2e6 !important; }

.border-top-0 { border-top: 0 !important; }

.border-end { border-right: 1px solid #dee2e6 !important; }

.border-end-0 { border-right: 0 !important; }

.border-bottom { border-bottom: 1px solid #dee2e6 !important; }

.border-bottom-0 { border-bottom: 0 !important; }

.border-start { border-left: 1px solid #dee2e6 !important; }

.border-start-0 { border-left: 0 !important; }

.border-primary { border-color: #0d6efd !important; }

.border-secondary { border-color: #6c757d !important; }

.border-success { border-color: #198754 !important; }

.border-info { border-color: #0dcaf0 !important; }

.border-warning { border-color: #ffc107 !important; }

.border-danger { border-color: #dc3545 !important; }

.border-light { border-color: #f8f9fa !important; }

.border-dark { border-color: #212529 !important; }

.border-white { border-color: #fff !important; }

.border-1 { border-width: 1px !important; }

.border-2 { border-width: 2px !important; }

.border-3 { border-width: 3px !important; }

.border-4 { border-width: 4px !important; }

.border-5 { border-width: 5px !important; }

.w-25 { width: 25% !important; }

.w-50 { width: 50% !important; }

.w-75 { width: 75% !important; }

.w-100 { width: 100% !important; }

.w-auto { width: auto !important; }

.mw-100 { max-width: 100% !important; }

.vw-100 { width: 100vw !important; }

.min-vw-100 { min-width: 100vw !important; }

.h-25 { height: 25% !important; }

.h-50 { height: 50% !important; }

.h-75 { height: 75% !important; }

.h-100 { height: 100% !important; }

.h-auto { height: auto !important; }

.mh-100 { max-height: 100% !important; }

.vh-100 { height: 100vh !important; }

.min-vh-100 { min-height: 100vh !important; }

.flex-fill { flex: 1 1 auto !important; }

.flex-row { flex-direction: row !important; }

.flex-column { flex-direction: column !important; }

.flex-row-reverse { flex-direction: row-reverse !important; }

.flex-column-reverse { flex-direction: column-reverse !important; }

.flex-grow-0 { flex-grow: 0 !important; }

.flex-grow-1 { flex-grow: 1 !important; }

.flex-shrink-0 { flex-shrink: 0 !important; }

.flex-shrink-1 { flex-shrink: 1 !important; }

.flex-wrap { flex-wrap: wrap !important; }

.flex-nowrap { flex-wrap: nowrap !important; }

.flex-wrap-reverse { flex-wrap: wrap-reverse !important; }

.gap-0 { gap: 0 !important; }

.gap-1 { gap: 0.25rem !important; }

.gap-2 { gap: 0.5rem !important; }

.gap-3 { gap: 1rem !important; }

.gap-4 { gap: 1.5rem !important; }

.gap-5 { gap: 3rem !important; }

.justify-content-start { justify-content: flex-start !important; }

.justify-content-end { justify-content: flex-end !important; }

.justify-content-center { justify-content: center !important; }

.justify-content-between { justify-content: space-between !important; }

.justify-content-around { justify-content: space-around !important; }

.justify-content-evenly { justify-content: space-evenly !important; }

.align-items-start { align-items: flex-start !important; }

.align-items-end { align-items: flex-end !important; }

.align-items-center { align-items: center !important; }

.align-items-baseline { align-items: baseline !important; }

.align-items-stretch { align-items: stretch !important; }

.align-content-start { align-content: flex-start !important; }

.align-content-end { align-content: flex-end !important; }

.align-content-center { align-content: center !important; }

.align-content-between { align-content: space-between !important; }

.align-content-around { align-content: space-around !important; }

.align-content-stretch { align-content: stretch !important; }

.align-self-auto { align-self: auto !important; }

.align-self-start { align-self: flex-start !important; }

.align-self-end { align-self: flex-end !important; }

.align-self-center { align-self: center !important; }

.align-self-baseline { align-self: baseline !important; }

.align-self-stretch { align-self: stretch !important; }

.order-first { order: -1 !important; }

.order-0 { order: 0 !important; }

.order-1 { order: 1 !important; }

.order-2 { order: 2 !important; }

.order-3 { order: 3 !important; }

.order-4 { order: 4 !important; }

.order-5 { order: 5 !important; }

.order-last { order: 6 !important; }

.m-0 { margin: 0 !important; }

.m-1 { margin: 0.25rem !important; }

.m-2 { margin: 0.5rem !important; }

.m-3 { margin: 1rem !important; }

.m-4 { margin: 1.5rem !important; }

.m-5 { margin: 3rem !important; }

.m-auto { margin: auto !important; }

.mx-0 { margin-right: 0 !important; margin-left: 0 !important; }

.mx-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; }

.mx-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; }

.mx-3 { margin-right: 1rem !important; margin-left: 1rem !important; }

.mx-4 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; }

.mx-5 { margin-right: 3rem !important; margin-left: 3rem !important; }

.mx-auto { margin-right: auto !important; margin-left: auto !important; }

.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }

.my-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; }

.my-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; }

.my-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; }

.my-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }

.my-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }

.my-auto { margin-top: auto !important; margin-bottom: auto !important; }

.mt-0 { margin-top: 0 !important; }

.mt-1 { margin-top: 0.25rem !important; }

.mt-2 { margin-top: 0.5rem !important; }

.mt-3 { margin-top: 1rem !important; }

.mt-4 { margin-top: 1.5rem !important; }

.mt-5 { margin-top: 3rem !important; }

.mt-auto { margin-top: auto !important; }

.me-0 { margin-right: 0 !important; }

.me-1 { margin-right: 0.25rem !important; }

.me-2 { margin-right: 0.5rem !important; }

.me-3 { margin-right: 1rem !important; }

.me-4 { margin-right: 1.5rem !important; }

.me-5 { margin-right: 3rem !important; }

.me-auto { margin-right: auto !important; }

.mb-0 { margin-bottom: 0 !important; }

.mb-1 { margin-bottom: 0.25rem !important; }

.mb-2 { margin-bottom: 0.5rem !important; }

.mb-3 { margin-bottom: 1rem !important; }

.mb-4 { margin-bottom: 1.5rem !important; }

.mb-5 { margin-bottom: 3rem !important; }

.mb-auto { margin-bottom: auto !important; }

.ms-0 { margin-left: 0 !important; }

.ms-1 { margin-left: 0.25rem !important; }

.ms-2 { margin-left: 0.5rem !important; }

.ms-3 { margin-left: 1rem !important; }

.ms-4 { margin-left: 1.5rem !important; }

.ms-5 { margin-left: 3rem !important; }

.ms-auto { margin-left: auto !important; }

.p-0 { padding: 0 !important; }

.p-1 { padding: 0.25rem !important; }

.p-2 { padding: 0.5rem !important; }

.p-3 { padding: 1rem !important; }

.p-4 { padding: 1.5rem !important; }

.p-5 { padding: 3rem !important; }

.px-0 { padding-right: 0 !important; padding-left: 0 !important; }

.px-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; }

.px-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; }

.px-3 { padding-right: 1rem !important; padding-left: 1rem !important; }

.px-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }

.px-5 { padding-right: 3rem !important; padding-left: 3rem !important; }

.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }

.py-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }

.py-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }

.py-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }

.py-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }

.py-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }

.pt-0 { padding-top: 0 !important; }

.pt-1 { padding-top: 0.25rem !important; }

.pt-2 { padding-top: 0.5rem !important; }

.pt-3 { padding-top: 1rem !important; }

.pt-4 { padding-top: 1.5rem !important; }

.pt-5 { padding-top: 3rem !important; }

.pe-0 { padding-right: 0 !important; }

.pe-1 { padding-right: 0.25rem !important; }

.pe-2 { padding-right: 0.5rem !important; }

.pe-3 { padding-right: 1rem !important; }

.pe-4 { padding-right: 1.5rem !important; }

.pe-5 { padding-right: 3rem !important; }

.pb-0 { padding-bottom: 0 !important; }

.pb-1 { padding-bottom: 0.25rem !important; }

.pb-2 { padding-bottom: 0.5rem !important; }

.pb-3 { padding-bottom: 1rem !important; }

.pb-4 { padding-bottom: 1.5rem !important; }

.pb-5 { padding-bottom: 3rem !important; }

.ps-0 { padding-left: 0 !important; }

.ps-1 { padding-left: 0.25rem !important; }

.ps-2 { padding-left: 0.5rem !important; }

.ps-3 { padding-left: 1rem !important; }

.ps-4 { padding-left: 1.5rem !important; }

.ps-5 { padding-left: 3rem !important; }

.font-monospace { font-family: var(--bs-font-monospace) !important; }

.fs-1 { font-size: calc(1.375rem + 1.5vw) !important; }

.fs-2 { font-size: calc(1.325rem + 0.9vw) !important; }

.fs-3 { font-size: calc(1.3rem + 0.6vw) !important; }

.fs-4 { font-size: calc(1.275rem + 0.3vw) !important; }

.fs-5 { font-size: 1.25rem !important; }

.fs-6 { font-size: 1rem !important; }

.fst-italic { font-style: italic !important; }

.fst-normal { font-style: normal !important; }

.fw-light { font-weight: 300 !important; }

.fw-lighter { font-weight: lighter !important; }

.fw-normal { font-weight: 400 !important; }

.fw-bold { font-weight: 700 !important; }

.fw-bolder { font-weight: bolder !important; }

.lh-1 { line-height: 1 !important; }

.lh-sm { line-height: 1.25 !important; }

.lh-base { line-height: 1.5 !important; }

.lh-lg { line-height: 2 !important; }

.text-start { text-align: left !important; }

.text-end { text-align: right !important; }

.text-center { text-align: center !important; }

.text-decoration-none { text-decoration: none !important; }

.text-decoration-underline { text-decoration: underline !important; }

.text-decoration-line-through { text-decoration: line-through !important; }

.text-lowercase { text-transform: lowercase !important; }

.text-uppercase { text-transform: uppercase !important; }

.text-capitalize { text-transform: capitalize !important; }

.text-wrap { white-space: normal !important; }

.text-nowrap { white-space: nowrap !important; }

/* rtl:begin:remove */
.text-break { word-wrap: break-word !important; word-break: break-word !important; }

/* rtl:end:remove */
.text-primary { color: #0d6efd !important; }

.text-secondary { color: #6c757d !important; }

.text-success { color: #198754 !important; }

.text-info { color: #0dcaf0 !important; }

.text-warning { color: #ffc107 !important; }

.text-danger { color: #dc3545 !important; }

.text-light { color: #f8f9fa !important; }

.text-dark { color: #212529 !important; }

.text-white { color: #fff !important; }

.text-body { color: #212529 !important; }

.text-muted { color: #6c757d !important; }

.text-black-50 { color: rgba(0, 0, 0, 0.5) !important; }

.text-white-50 { color: rgba(255, 255, 255, 0.5) !important; }

.text-reset { color: inherit !important; }

.bg-primary { background-color: #0d6efd !important; }

.bg-secondary { background-color: #6c757d !important; }

.bg-success { background-color: #198754 !important; }

.bg-info { background-color: #0dcaf0 !important; }

.bg-warning { background-color: #ffc107 !important; }

.bg-danger { background-color: #dc3545 !important; }

.bg-light { background-color: #f8f9fa !important; }

.bg-dark { background-color: #212529 !important; }

.bg-body { background-color: #fff !important; }

.bg-white { background-color: #fff !important; }

.bg-transparent { background-color: transparent !important; }

.bg-gradient { background-image: var(--bs-gradient) !important; }

.user-select-all { user-select: all !important; }

.user-select-auto { user-select: auto !important; }

.user-select-none { user-select: none !important; }

.pe-none { pointer-events: none !important; }

.pe-auto { pointer-events: auto !important; }

.rounded { border-radius: 0.25rem !important; }

.rounded-0 { border-radius: 0 !important; }

.rounded-1 { border-radius: 0.2rem !important; }

.rounded-2 { border-radius: 0.25rem !important; }

.rounded-3 { border-radius: 0.3rem !important; }

.rounded-circle { border-radius: 50% !important; }

.rounded-pill { border-radius: 50rem !important; }

.rounded-top { border-top-left-radius: 0.25rem !important; border-top-right-radius: 0.25rem !important; }

.rounded-end { border-top-right-radius: 0.25rem !important; border-bottom-right-radius: 0.25rem !important; }

.rounded-bottom { border-bottom-right-radius: 0.25rem !important; border-bottom-left-radius: 0.25rem !important; }

.rounded-start { border-bottom-left-radius: 0.25rem !important; border-top-left-radius: 0.25rem !important; }

.visible { visibility: visible !important; }

.invisible { visibility: hidden !important; }

@media (min-width: 576px) { .float-sm-start { float: left !important; }
  .float-sm-end { float: right !important; }
  .float-sm-none { float: none !important; }
  .d-sm-inline { display: inline !important; }
  .d-sm-inline-block { display: inline-block !important; }
  .d-sm-block { display: block !important; }
  .d-sm-grid { display: grid !important; }
  .d-sm-table { display: table !important; }
  .d-sm-table-row { display: table-row !important; }
  .d-sm-table-cell { display: table-cell !important; }
  .d-sm-flex { display: flex !important; }
  .d-sm-inline-flex { display: inline-flex !important; }
  .d-sm-none { display: none !important; }
  .flex-sm-fill { flex: 1 1 auto !important; }
  .flex-sm-row { flex-direction: row !important; }
  .flex-sm-column { flex-direction: column !important; }
  .flex-sm-row-reverse { flex-direction: row-reverse !important; }
  .flex-sm-column-reverse { flex-direction: column-reverse !important; }
  .flex-sm-grow-0 { flex-grow: 0 !important; }
  .flex-sm-grow-1 { flex-grow: 1 !important; }
  .flex-sm-shrink-0 { flex-shrink: 0 !important; }
  .flex-sm-shrink-1 { flex-shrink: 1 !important; }
  .flex-sm-wrap { flex-wrap: wrap !important; }
  .flex-sm-nowrap { flex-wrap: nowrap !important; }
  .flex-sm-wrap-reverse { flex-wrap: wrap-reverse !important; }
  .gap-sm-0 { gap: 0 !important; }
  .gap-sm-1 { gap: 0.25rem !important; }
  .gap-sm-2 { gap: 0.5rem !important; }
  .gap-sm-3 { gap: 1rem !important; }
  .gap-sm-4 { gap: 1.5rem !important; }
  .gap-sm-5 { gap: 3rem !important; }
  .justify-content-sm-start { justify-content: flex-start !important; }
  .justify-content-sm-end { justify-content: flex-end !important; }
  .justify-content-sm-center { justify-content: center !important; }
  .justify-content-sm-between { justify-content: space-between !important; }
  .justify-content-sm-around { justify-content: space-around !important; }
  .justify-content-sm-evenly { justify-content: space-evenly !important; }
  .align-items-sm-start { align-items: flex-start !important; }
  .align-items-sm-end { align-items: flex-end !important; }
  .align-items-sm-center { align-items: center !important; }
  .align-items-sm-baseline { align-items: baseline !important; }
  .align-items-sm-stretch { align-items: stretch !important; }
  .align-content-sm-start { align-content: flex-start !important; }
  .align-content-sm-end { align-content: flex-end !important; }
  .align-content-sm-center { align-content: center !important; }
  .align-content-sm-between { align-content: space-between !important; }
  .align-content-sm-around { align-content: space-around !important; }
  .align-content-sm-stretch { align-content: stretch !important; }
  .align-self-sm-auto { align-self: auto !important; }
  .align-self-sm-start { align-self: flex-start !important; }
  .align-self-sm-end { align-self: flex-end !important; }
  .align-self-sm-center { align-self: center !important; }
  .align-self-sm-baseline { align-self: baseline !important; }
  .align-self-sm-stretch { align-self: stretch !important; }
  .order-sm-first { order: -1 !important; }
  .order-sm-0 { order: 0 !important; }
  .order-sm-1 { order: 1 !important; }
  .order-sm-2 { order: 2 !important; }
  .order-sm-3 { order: 3 !important; }
  .order-sm-4 { order: 4 !important; }
  .order-sm-5 { order: 5 !important; }
  .order-sm-last { order: 6 !important; }
  .m-sm-0 { margin: 0 !important; }
  .m-sm-1 { margin: 0.25rem !important; }
  .m-sm-2 { margin: 0.5rem !important; }
  .m-sm-3 { margin: 1rem !important; }
  .m-sm-4 { margin: 1.5rem !important; }
  .m-sm-5 { margin: 3rem !important; }
  .m-sm-auto { margin: auto !important; }
  .mx-sm-0 { margin-right: 0 !important; margin-left: 0 !important; }
  .mx-sm-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; }
  .mx-sm-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; }
  .mx-sm-3 { margin-right: 1rem !important; margin-left: 1rem !important; }
  .mx-sm-4 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; }
  .mx-sm-5 { margin-right: 3rem !important; margin-left: 3rem !important; }
  .mx-sm-auto { margin-right: auto !important; margin-left: auto !important; }
  .my-sm-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
  .my-sm-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; }
  .my-sm-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; }
  .my-sm-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; }
  .my-sm-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
  .my-sm-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }
  .my-sm-auto { margin-top: auto !important; margin-bottom: auto !important; }
  .mt-sm-0 { margin-top: 0 !important; }
  .mt-sm-1 { margin-top: 0.25rem !important; }
  .mt-sm-2 { margin-top: 0.5rem !important; }
  .mt-sm-3 { margin-top: 1rem !important; }
  .mt-sm-4 { margin-top: 1.5rem !important; }
  .mt-sm-5 { margin-top: 3rem !important; }
  .mt-sm-auto { margin-top: auto !important; }
  .me-sm-0 { margin-right: 0 !important; }
  .me-sm-1 { margin-right: 0.25rem !important; }
  .me-sm-2 { margin-right: 0.5rem !important; }
  .me-sm-3 { margin-right: 1rem !important; }
  .me-sm-4 { margin-right: 1.5rem !important; }
  .me-sm-5 { margin-right: 3rem !important; }
  .me-sm-auto { margin-right: auto !important; }
  .mb-sm-0 { margin-bottom: 0 !important; }
  .mb-sm-1 { margin-bottom: 0.25rem !important; }
  .mb-sm-2 { margin-bottom: 0.5rem !important; }
  .mb-sm-3 { margin-bottom: 1rem !important; }
  .mb-sm-4 { margin-bottom: 1.5rem !important; }
  .mb-sm-5 { margin-bottom: 3rem !important; }
  .mb-sm-auto { margin-bottom: auto !important; }
  .ms-sm-0 { margin-left: 0 !important; }
  .ms-sm-1 { margin-left: 0.25rem !important; }
  .ms-sm-2 { margin-left: 0.5rem !important; }
  .ms-sm-3 { margin-left: 1rem !important; }
  .ms-sm-4 { margin-left: 1.5rem !important; }
  .ms-sm-5 { margin-left: 3rem !important; }
  .ms-sm-auto { margin-left: auto !important; }
  .p-sm-0 { padding: 0 !important; }
  .p-sm-1 { padding: 0.25rem !important; }
  .p-sm-2 { padding: 0.5rem !important; }
  .p-sm-3 { padding: 1rem !important; }
  .p-sm-4 { padding: 1.5rem !important; }
  .p-sm-5 { padding: 3rem !important; }
  .px-sm-0 { padding-right: 0 !important; padding-left: 0 !important; }
  .px-sm-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; }
  .px-sm-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; }
  .px-sm-3 { padding-right: 1rem !important; padding-left: 1rem !important; }
  .px-sm-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }
  .px-sm-5 { padding-right: 3rem !important; padding-left: 3rem !important; }
  .py-sm-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
  .py-sm-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }
  .py-sm-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
  .py-sm-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
  .py-sm-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
  .py-sm-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
  .pt-sm-0 { padding-top: 0 !important; }
  .pt-sm-1 { padding-top: 0.25rem !important; }
  .pt-sm-2 { padding-top: 0.5rem !important; }
  .pt-sm-3 { padding-top: 1rem !important; }
  .pt-sm-4 { padding-top: 1.5rem !important; }
  .pt-sm-5 { padding-top: 3rem !important; }
  .pe-sm-0 { padding-right: 0 !important; }
  .pe-sm-1 { padding-right: 0.25rem !important; }
  .pe-sm-2 { padding-right: 0.5rem !important; }
  .pe-sm-3 { padding-right: 1rem !important; }
  .pe-sm-4 { padding-right: 1.5rem !important; }
  .pe-sm-5 { padding-right: 3rem !important; }
  .pb-sm-0 { padding-bottom: 0 !important; }
  .pb-sm-1 { padding-bottom: 0.25rem !important; }
  .pb-sm-2 { padding-bottom: 0.5rem !important; }
  .pb-sm-3 { padding-bottom: 1rem !important; }
  .pb-sm-4 { padding-bottom: 1.5rem !important; }
  .pb-sm-5 { padding-bottom: 3rem !important; }
  .ps-sm-0 { padding-left: 0 !important; }
  .ps-sm-1 { padding-left: 0.25rem !important; }
  .ps-sm-2 { padding-left: 0.5rem !important; }
  .ps-sm-3 { padding-left: 1rem !important; }
  .ps-sm-4 { padding-left: 1.5rem !important; }
  .ps-sm-5 { padding-left: 3rem !important; }
  .text-sm-start { text-align: left !important; }
  .text-sm-end { text-align: right !important; }
  .text-sm-center { text-align: center !important; } }

@media (min-width: 768px) { .float-md-start { float: left !important; }
  .float-md-end { float: right !important; }
  .float-md-none { float: none !important; }
  .d-md-inline { display: inline !important; }
  .d-md-inline-block { display: inline-block !important; }
  .d-md-block { display: block !important; }
  .d-md-grid { display: grid !important; }
  .d-md-table { display: table !important; }
  .d-md-table-row { display: table-row !important; }
  .d-md-table-cell { display: table-cell !important; }
  .d-md-flex { display: flex !important; }
  .d-md-inline-flex { display: inline-flex !important; }
  .d-md-none { display: none !important; }
  .flex-md-fill { flex: 1 1 auto !important; }
  .flex-md-row { flex-direction: row !important; }
  .flex-md-column { flex-direction: column !important; }
  .flex-md-row-reverse { flex-direction: row-reverse !important; }
  .flex-md-column-reverse { flex-direction: column-reverse !important; }
  .flex-md-grow-0 { flex-grow: 0 !important; }
  .flex-md-grow-1 { flex-grow: 1 !important; }
  .flex-md-shrink-0 { flex-shrink: 0 !important; }
  .flex-md-shrink-1 { flex-shrink: 1 !important; }
  .flex-md-wrap { flex-wrap: wrap !important; }
  .flex-md-nowrap { flex-wrap: nowrap !important; }
  .flex-md-wrap-reverse { flex-wrap: wrap-reverse !important; }
  .gap-md-0 { gap: 0 !important; }
  .gap-md-1 { gap: 0.25rem !important; }
  .gap-md-2 { gap: 0.5rem !important; }
  .gap-md-3 { gap: 1rem !important; }
  .gap-md-4 { gap: 1.5rem !important; }
  .gap-md-5 { gap: 3rem !important; }
  .justify-content-md-start { justify-content: flex-start !important; }
  .justify-content-md-end { justify-content: flex-end !important; }
  .justify-content-md-center { justify-content: center !important; }
  .justify-content-md-between { justify-content: space-between !important; }
  .justify-content-md-around { justify-content: space-around !important; }
  .justify-content-md-evenly { justify-content: space-evenly !important; }
  .align-items-md-start { align-items: flex-start !important; }
  .align-items-md-end { align-items: flex-end !important; }
  .align-items-md-center { align-items: center !important; }
  .align-items-md-baseline { align-items: baseline !important; }
  .align-items-md-stretch { align-items: stretch !important; }
  .align-content-md-start { align-content: flex-start !important; }
  .align-content-md-end { align-content: flex-end !important; }
  .align-content-md-center { align-content: center !important; }
  .align-content-md-between { align-content: space-between !important; }
  .align-content-md-around { align-content: space-around !important; }
  .align-content-md-stretch { align-content: stretch !important; }
  .align-self-md-auto { align-self: auto !important; }
  .align-self-md-start { align-self: flex-start !important; }
  .align-self-md-end { align-self: flex-end !important; }
  .align-self-md-center { align-self: center !important; }
  .align-self-md-baseline { align-self: baseline !important; }
  .align-self-md-stretch { align-self: stretch !important; }
  .order-md-first { order: -1 !important; }
  .order-md-0 { order: 0 !important; }
  .order-md-1 { order: 1 !important; }
  .order-md-2 { order: 2 !important; }
  .order-md-3 { order: 3 !important; }
  .order-md-4 { order: 4 !important; }
  .order-md-5 { order: 5 !important; }
  .order-md-last { order: 6 !important; }
  .m-md-0 { margin: 0 !important; }
  .m-md-1 { margin: 0.25rem !important; }
  .m-md-2 { margin: 0.5rem !important; }
  .m-md-3 { margin: 1rem !important; }
  .m-md-4 { margin: 1.5rem !important; }
  .m-md-5 { margin: 3rem !important; }
  .m-md-auto { margin: auto !important; }
  .mx-md-0 { margin-right: 0 !important; margin-left: 0 !important; }
  .mx-md-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; }
  .mx-md-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; }
  .mx-md-3 { margin-right: 1rem !important; margin-left: 1rem !important; }
  .mx-md-4 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; }
  .mx-md-5 { margin-right: 3rem !important; margin-left: 3rem !important; }
  .mx-md-auto { margin-right: auto !important; margin-left: auto !important; }
  .my-md-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
  .my-md-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; }
  .my-md-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; }
  .my-md-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; }
  .my-md-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
  .my-md-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }
  .my-md-auto { margin-top: auto !important; margin-bottom: auto !important; }
  .mt-md-0 { margin-top: 0 !important; }
  .mt-md-1 { margin-top: 0.25rem !important; }
  .mt-md-2 { margin-top: 0.5rem !important; }
  .mt-md-3 { margin-top: 1rem !important; }
  .mt-md-4 { margin-top: 1.5rem !important; }
  .mt-md-5 { margin-top: 3rem !important; }
  .mt-md-auto { margin-top: auto !important; }
  .me-md-0 { margin-right: 0 !important; }
  .me-md-1 { margin-right: 0.25rem !important; }
  .me-md-2 { margin-right: 0.5rem !important; }
  .me-md-3 { margin-right: 1rem !important; }
  .me-md-4 { margin-right: 1.5rem !important; }
  .me-md-5 { margin-right: 3rem !important; }
  .me-md-auto { margin-right: auto !important; }
  .mb-md-0 { margin-bottom: 0 !important; }
  .mb-md-1 { margin-bottom: 0.25rem !important; }
  .mb-md-2 { margin-bottom: 0.5rem !important; }
  .mb-md-3 { margin-bottom: 1rem !important; }
  .mb-md-4 { margin-bottom: 1.5rem !important; }
  .mb-md-5 { margin-bottom: 3rem !important; }
  .mb-md-auto { margin-bottom: auto !important; }
  .ms-md-0 { margin-left: 0 !important; }
  .ms-md-1 { margin-left: 0.25rem !important; }
  .ms-md-2 { margin-left: 0.5rem !important; }
  .ms-md-3 { margin-left: 1rem !important; }
  .ms-md-4 { margin-left: 1.5rem !important; }
  .ms-md-5 { margin-left: 3rem !important; }
  .ms-md-auto { margin-left: auto !important; }
  .p-md-0 { padding: 0 !important; }
  .p-md-1 { padding: 0.25rem !important; }
  .p-md-2 { padding: 0.5rem !important; }
  .p-md-3 { padding: 1rem !important; }
  .p-md-4 { padding: 1.5rem !important; }
  .p-md-5 { padding: 3rem !important; }
  .px-md-0 { padding-right: 0 !important; padding-left: 0 !important; }
  .px-md-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; }
  .px-md-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; }
  .px-md-3 { padding-right: 1rem !important; padding-left: 1rem !important; }
  .px-md-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }
  .px-md-5 { padding-right: 3rem !important; padding-left: 3rem !important; }
  .py-md-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
  .py-md-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }
  .py-md-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
  .py-md-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
  .py-md-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
  .py-md-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
  .pt-md-0 { padding-top: 0 !important; }
  .pt-md-1 { padding-top: 0.25rem !important; }
  .pt-md-2 { padding-top: 0.5rem !important; }
  .pt-md-3 { padding-top: 1rem !important; }
  .pt-md-4 { padding-top: 1.5rem !important; }
  .pt-md-5 { padding-top: 3rem !important; }
  .pe-md-0 { padding-right: 0 !important; }
  .pe-md-1 { padding-right: 0.25rem !important; }
  .pe-md-2 { padding-right: 0.5rem !important; }
  .pe-md-3 { padding-right: 1rem !important; }
  .pe-md-4 { padding-right: 1.5rem !important; }
  .pe-md-5 { padding-right: 3rem !important; }
  .pb-md-0 { padding-bottom: 0 !important; }
  .pb-md-1 { padding-bottom: 0.25rem !important; }
  .pb-md-2 { padding-bottom: 0.5rem !important; }
  .pb-md-3 { padding-bottom: 1rem !important; }
  .pb-md-4 { padding-bottom: 1.5rem !important; }
  .pb-md-5 { padding-bottom: 3rem !important; }
  .ps-md-0 { padding-left: 0 !important; }
  .ps-md-1 { padding-left: 0.25rem !important; }
  .ps-md-2 { padding-left: 0.5rem !important; }
  .ps-md-3 { padding-left: 1rem !important; }
  .ps-md-4 { padding-left: 1.5rem !important; }
  .ps-md-5 { padding-left: 3rem !important; }
  .text-md-start { text-align: left !important; }
  .text-md-end { text-align: right !important; }
  .text-md-center { text-align: center !important; } }

@media (min-width: 992px) { .float-lg-start { float: left !important; }
  .float-lg-end { float: right !important; }
  .float-lg-none { float: none !important; }
  .d-lg-inline { display: inline !important; }
  .d-lg-inline-block { display: inline-block !important; }
  .d-lg-block { display: block !important; }
  .d-lg-grid { display: grid !important; }
  .d-lg-table { display: table !important; }
  .d-lg-table-row { display: table-row !important; }
  .d-lg-table-cell { display: table-cell !important; }
  .d-lg-flex { display: flex !important; }
  .d-lg-inline-flex { display: inline-flex !important; }
  .d-lg-none { display: none !important; }
  .flex-lg-fill { flex: 1 1 auto !important; }
  .flex-lg-row { flex-direction: row !important; }
  .flex-lg-column { flex-direction: column !important; }
  .flex-lg-row-reverse { flex-direction: row-reverse !important; }
  .flex-lg-column-reverse { flex-direction: column-reverse !important; }
  .flex-lg-grow-0 { flex-grow: 0 !important; }
  .flex-lg-grow-1 { flex-grow: 1 !important; }
  .flex-lg-shrink-0 { flex-shrink: 0 !important; }
  .flex-lg-shrink-1 { flex-shrink: 1 !important; }
  .flex-lg-wrap { flex-wrap: wrap !important; }
  .flex-lg-nowrap { flex-wrap: nowrap !important; }
  .flex-lg-wrap-reverse { flex-wrap: wrap-reverse !important; }
  .gap-lg-0 { gap: 0 !important; }
  .gap-lg-1 { gap: 0.25rem !important; }
  .gap-lg-2 { gap: 0.5rem !important; }
  .gap-lg-3 { gap: 1rem !important; }
  .gap-lg-4 { gap: 1.5rem !important; }
  .gap-lg-5 { gap: 3rem !important; }
  .justify-content-lg-start { justify-content: flex-start !important; }
  .justify-content-lg-end { justify-content: flex-end !important; }
  .justify-content-lg-center { justify-content: center !important; }
  .justify-content-lg-between { justify-content: space-between !important; }
  .justify-content-lg-around { justify-content: space-around !important; }
  .justify-content-lg-evenly { justify-content: space-evenly !important; }
  .align-items-lg-start { align-items: flex-start !important; }
  .align-items-lg-end { align-items: flex-end !important; }
  .align-items-lg-center { align-items: center !important; }
  .align-items-lg-baseline { align-items: baseline !important; }
  .align-items-lg-stretch { align-items: stretch !important; }
  .align-content-lg-start { align-content: flex-start !important; }
  .align-content-lg-end { align-content: flex-end !important; }
  .align-content-lg-center { align-content: center !important; }
  .align-content-lg-between { align-content: space-between !important; }
  .align-content-lg-around { align-content: space-around !important; }
  .align-content-lg-stretch { align-content: stretch !important; }
  .align-self-lg-auto { align-self: auto !important; }
  .align-self-lg-start { align-self: flex-start !important; }
  .align-self-lg-end { align-self: flex-end !important; }
  .align-self-lg-center { align-self: center !important; }
  .align-self-lg-baseline { align-self: baseline !important; }
  .align-self-lg-stretch { align-self: stretch !important; }
  .order-lg-first { order: -1 !important; }
  .order-lg-0 { order: 0 !important; }
  .order-lg-1 { order: 1 !important; }
  .order-lg-2 { order: 2 !important; }
  .order-lg-3 { order: 3 !important; }
  .order-lg-4 { order: 4 !important; }
  .order-lg-5 { order: 5 !important; }
  .order-lg-last { order: 6 !important; }
  .m-lg-0 { margin: 0 !important; }
  .m-lg-1 { margin: 0.25rem !important; }
  .m-lg-2 { margin: 0.5rem !important; }
  .m-lg-3 { margin: 1rem !important; }
  .m-lg-4 { margin: 1.5rem !important; }
  .m-lg-5 { margin: 3rem !important; }
  .m-lg-auto { margin: auto !important; }
  .mx-lg-0 { margin-right: 0 !important; margin-left: 0 !important; }
  .mx-lg-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; }
  .mx-lg-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; }
  .mx-lg-3 { margin-right: 1rem !important; margin-left: 1rem !important; }
  .mx-lg-4 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; }
  .mx-lg-5 { margin-right: 3rem !important; margin-left: 3rem !important; }
  .mx-lg-auto { margin-right: auto !important; margin-left: auto !important; }
  .my-lg-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
  .my-lg-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; }
  .my-lg-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; }
  .my-lg-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; }
  .my-lg-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
  .my-lg-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }
  .my-lg-auto { margin-top: auto !important; margin-bottom: auto !important; }
  .mt-lg-0 { margin-top: 0 !important; }
  .mt-lg-1 { margin-top: 0.25rem !important; }
  .mt-lg-2 { margin-top: 0.5rem !important; }
  .mt-lg-3 { margin-top: 1rem !important; }
  .mt-lg-4 { margin-top: 1.5rem !important; }
  .mt-lg-5 { margin-top: 3rem !important; }
  .mt-lg-auto { margin-top: auto !important; }
  .me-lg-0 { margin-right: 0 !important; }
  .me-lg-1 { margin-right: 0.25rem !important; }
  .me-lg-2 { margin-right: 0.5rem !important; }
  .me-lg-3 { margin-right: 1rem !important; }
  .me-lg-4 { margin-right: 1.5rem !important; }
  .me-lg-5 { margin-right: 3rem !important; }
  .me-lg-auto { margin-right: auto !important; }
  .mb-lg-0 { margin-bottom: 0 !important; }
  .mb-lg-1 { margin-bottom: 0.25rem !important; }
  .mb-lg-2 { margin-bottom: 0.5rem !important; }
  .mb-lg-3 { margin-bottom: 1rem !important; }
  .mb-lg-4 { margin-bottom: 1.5rem !important; }
  .mb-lg-5 { margin-bottom: 3rem !important; }
  .mb-lg-auto { margin-bottom: auto !important; }
  .ms-lg-0 { margin-left: 0 !important; }
  .ms-lg-1 { margin-left: 0.25rem !important; }
  .ms-lg-2 { margin-left: 0.5rem !important; }
  .ms-lg-3 { margin-left: 1rem !important; }
  .ms-lg-4 { margin-left: 1.5rem !important; }
  .ms-lg-5 { margin-left: 3rem !important; }
  .ms-lg-auto { margin-left: auto !important; }
  .p-lg-0 { padding: 0 !important; }
  .p-lg-1 { padding: 0.25rem !important; }
  .p-lg-2 { padding: 0.5rem !important; }
  .p-lg-3 { padding: 1rem !important; }
  .p-lg-4 { padding: 1.5rem !important; }
  .p-lg-5 { padding: 3rem !important; }
  .px-lg-0 { padding-right: 0 !important; padding-left: 0 !important; }
  .px-lg-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; }
  .px-lg-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; }
  .px-lg-3 { padding-right: 1rem !important; padding-left: 1rem !important; }
  .px-lg-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }
  .px-lg-5 { padding-right: 3rem !important; padding-left: 3rem !important; }
  .py-lg-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
  .py-lg-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }
  .py-lg-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
  .py-lg-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
  .py-lg-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
  .py-lg-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
  .pt-lg-0 { padding-top: 0 !important; }
  .pt-lg-1 { padding-top: 0.25rem !important; }
  .pt-lg-2 { padding-top: 0.5rem !important; }
  .pt-lg-3 { padding-top: 1rem !important; }
  .pt-lg-4 { padding-top: 1.5rem !important; }
  .pt-lg-5 { padding-top: 3rem !important; }
  .pe-lg-0 { padding-right: 0 !important; }
  .pe-lg-1 { padding-right: 0.25rem !important; }
  .pe-lg-2 { padding-right: 0.5rem !important; }
  .pe-lg-3 { padding-right: 1rem !important; }
  .pe-lg-4 { padding-right: 1.5rem !important; }
  .pe-lg-5 { padding-right: 3rem !important; }
  .pb-lg-0 { padding-bottom: 0 !important; }
  .pb-lg-1 { padding-bottom: 0.25rem !important; }
  .pb-lg-2 { padding-bottom: 0.5rem !important; }
  .pb-lg-3 { padding-bottom: 1rem !important; }
  .pb-lg-4 { padding-bottom: 1.5rem !important; }
  .pb-lg-5 { padding-bottom: 3rem !important; }
  .ps-lg-0 { padding-left: 0 !important; }
  .ps-lg-1 { padding-left: 0.25rem !important; }
  .ps-lg-2 { padding-left: 0.5rem !important; }
  .ps-lg-3 { padding-left: 1rem !important; }
  .ps-lg-4 { padding-left: 1.5rem !important; }
  .ps-lg-5 { padding-left: 3rem !important; }
  .text-lg-start { text-align: left !important; }
  .text-lg-end { text-align: right !important; }
  .text-lg-center { text-align: center !important; } }

@media (min-width: 1200px) { .float-xl-start { float: left !important; }
  .float-xl-end { float: right !important; }
  .float-xl-none { float: none !important; }
  .d-xl-inline { display: inline !important; }
  .d-xl-inline-block { display: inline-block !important; }
  .d-xl-block { display: block !important; }
  .d-xl-grid { display: grid !important; }
  .d-xl-table { display: table !important; }
  .d-xl-table-row { display: table-row !important; }
  .d-xl-table-cell { display: table-cell !important; }
  .d-xl-flex { display: flex !important; }
  .d-xl-inline-flex { display: inline-flex !important; }
  .d-xl-none { display: none !important; }
  .flex-xl-fill { flex: 1 1 auto !important; }
  .flex-xl-row { flex-direction: row !important; }
  .flex-xl-column { flex-direction: column !important; }
  .flex-xl-row-reverse { flex-direction: row-reverse !important; }
  .flex-xl-column-reverse { flex-direction: column-reverse !important; }
  .flex-xl-grow-0 { flex-grow: 0 !important; }
  .flex-xl-grow-1 { flex-grow: 1 !important; }
  .flex-xl-shrink-0 { flex-shrink: 0 !important; }
  .flex-xl-shrink-1 { flex-shrink: 1 !important; }
  .flex-xl-wrap { flex-wrap: wrap !important; }
  .flex-xl-nowrap { flex-wrap: nowrap !important; }
  .flex-xl-wrap-reverse { flex-wrap: wrap-reverse !important; }
  .gap-xl-0 { gap: 0 !important; }
  .gap-xl-1 { gap: 0.25rem !important; }
  .gap-xl-2 { gap: 0.5rem !important; }
  .gap-xl-3 { gap: 1rem !important; }
  .gap-xl-4 { gap: 1.5rem !important; }
  .gap-xl-5 { gap: 3rem !important; }
  .justify-content-xl-start { justify-content: flex-start !important; }
  .justify-content-xl-end { justify-content: flex-end !important; }
  .justify-content-xl-center { justify-content: center !important; }
  .justify-content-xl-between { justify-content: space-between !important; }
  .justify-content-xl-around { justify-content: space-around !important; }
  .justify-content-xl-evenly { justify-content: space-evenly !important; }
  .align-items-xl-start { align-items: flex-start !important; }
  .align-items-xl-end { align-items: flex-end !important; }
  .align-items-xl-center { align-items: center !important; }
  .align-items-xl-baseline { align-items: baseline !important; }
  .align-items-xl-stretch { align-items: stretch !important; }
  .align-content-xl-start { align-content: flex-start !important; }
  .align-content-xl-end { align-content: flex-end !important; }
  .align-content-xl-center { align-content: center !important; }
  .align-content-xl-between { align-content: space-between !important; }
  .align-content-xl-around { align-content: space-around !important; }
  .align-content-xl-stretch { align-content: stretch !important; }
  .align-self-xl-auto { align-self: auto !important; }
  .align-self-xl-start { align-self: flex-start !important; }
  .align-self-xl-end { align-self: flex-end !important; }
  .align-self-xl-center { align-self: center !important; }
  .align-self-xl-baseline { align-self: baseline !important; }
  .align-self-xl-stretch { align-self: stretch !important; }
  .order-xl-first { order: -1 !important; }
  .order-xl-0 { order: 0 !important; }
  .order-xl-1 { order: 1 !important; }
  .order-xl-2 { order: 2 !important; }
  .order-xl-3 { order: 3 !important; }
  .order-xl-4 { order: 4 !important; }
  .order-xl-5 { order: 5 !important; }
  .order-xl-last { order: 6 !important; }
  .m-xl-0 { margin: 0 !important; }
  .m-xl-1 { margin: 0.25rem !important; }
  .m-xl-2 { margin: 0.5rem !important; }
  .m-xl-3 { margin: 1rem !important; }
  .m-xl-4 { margin: 1.5rem !important; }
  .m-xl-5 { margin: 3rem !important; }
  .m-xl-auto { margin: auto !important; }
  .mx-xl-0 { margin-right: 0 !important; margin-left: 0 !important; }
  .mx-xl-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; }
  .mx-xl-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; }
  .mx-xl-3 { margin-right: 1rem !important; margin-left: 1rem !important; }
  .mx-xl-4 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; }
  .mx-xl-5 { margin-right: 3rem !important; margin-left: 3rem !important; }
  .mx-xl-auto { margin-right: auto !important; margin-left: auto !important; }
  .my-xl-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
  .my-xl-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; }
  .my-xl-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; }
  .my-xl-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; }
  .my-xl-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
  .my-xl-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }
  .my-xl-auto { margin-top: auto !important; margin-bottom: auto !important; }
  .mt-xl-0 { margin-top: 0 !important; }
  .mt-xl-1 { margin-top: 0.25rem !important; }
  .mt-xl-2 { margin-top: 0.5rem !important; }
  .mt-xl-3 { margin-top: 1rem !important; }
  .mt-xl-4 { margin-top: 1.5rem !important; }
  .mt-xl-5 { margin-top: 3rem !important; }
  .mt-xl-auto { margin-top: auto !important; }
  .me-xl-0 { margin-right: 0 !important; }
  .me-xl-1 { margin-right: 0.25rem !important; }
  .me-xl-2 { margin-right: 0.5rem !important; }
  .me-xl-3 { margin-right: 1rem !important; }
  .me-xl-4 { margin-right: 1.5rem !important; }
  .me-xl-5 { margin-right: 3rem !important; }
  .me-xl-auto { margin-right: auto !important; }
  .mb-xl-0 { margin-bottom: 0 !important; }
  .mb-xl-1 { margin-bottom: 0.25rem !important; }
  .mb-xl-2 { margin-bottom: 0.5rem !important; }
  .mb-xl-3 { margin-bottom: 1rem !important; }
  .mb-xl-4 { margin-bottom: 1.5rem !important; }
  .mb-xl-5 { margin-bottom: 3rem !important; }
  .mb-xl-auto { margin-bottom: auto !important; }
  .ms-xl-0 { margin-left: 0 !important; }
  .ms-xl-1 { margin-left: 0.25rem !important; }
  .ms-xl-2 { margin-left: 0.5rem !important; }
  .ms-xl-3 { margin-left: 1rem !important; }
  .ms-xl-4 { margin-left: 1.5rem !important; }
  .ms-xl-5 { margin-left: 3rem !important; }
  .ms-xl-auto { margin-left: auto !important; }
  .p-xl-0 { padding: 0 !important; }
  .p-xl-1 { padding: 0.25rem !important; }
  .p-xl-2 { padding: 0.5rem !important; }
  .p-xl-3 { padding: 1rem !important; }
  .p-xl-4 { padding: 1.5rem !important; }
  .p-xl-5 { padding: 3rem !important; }
  .px-xl-0 { padding-right: 0 !important; padding-left: 0 !important; }
  .px-xl-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; }
  .px-xl-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; }
  .px-xl-3 { padding-right: 1rem !important; padding-left: 1rem !important; }
  .px-xl-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }
  .px-xl-5 { padding-right: 3rem !important; padding-left: 3rem !important; }
  .py-xl-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
  .py-xl-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }
  .py-xl-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
  .py-xl-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
  .py-xl-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
  .py-xl-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
  .pt-xl-0 { padding-top: 0 !important; }
  .pt-xl-1 { padding-top: 0.25rem !important; }
  .pt-xl-2 { padding-top: 0.5rem !important; }
  .pt-xl-3 { padding-top: 1rem !important; }
  .pt-xl-4 { padding-top: 1.5rem !important; }
  .pt-xl-5 { padding-top: 3rem !important; }
  .pe-xl-0 { padding-right: 0 !important; }
  .pe-xl-1 { padding-right: 0.25rem !important; }
  .pe-xl-2 { padding-right: 0.5rem !important; }
  .pe-xl-3 { padding-right: 1rem !important; }
  .pe-xl-4 { padding-right: 1.5rem !important; }
  .pe-xl-5 { padding-right: 3rem !important; }
  .pb-xl-0 { padding-bottom: 0 !important; }
  .pb-xl-1 { padding-bottom: 0.25rem !important; }
  .pb-xl-2 { padding-bottom: 0.5rem !important; }
  .pb-xl-3 { padding-bottom: 1rem !important; }
  .pb-xl-4 { padding-bottom: 1.5rem !important; }
  .pb-xl-5 { padding-bottom: 3rem !important; }
  .ps-xl-0 { padding-left: 0 !important; }
  .ps-xl-1 { padding-left: 0.25rem !important; }
  .ps-xl-2 { padding-left: 0.5rem !important; }
  .ps-xl-3 { padding-left: 1rem !important; }
  .ps-xl-4 { padding-left: 1.5rem !important; }
  .ps-xl-5 { padding-left: 3rem !important; }
  .text-xl-start { text-align: left !important; }
  .text-xl-end { text-align: right !important; }
  .text-xl-center { text-align: center !important; } }

@media (min-width: 1400px) { .float-xxl-start { float: left !important; }
  .float-xxl-end { float: right !important; }
  .float-xxl-none { float: none !important; }
  .d-xxl-inline { display: inline !important; }
  .d-xxl-inline-block { display: inline-block !important; }
  .d-xxl-block { display: block !important; }
  .d-xxl-grid { display: grid !important; }
  .d-xxl-table { display: table !important; }
  .d-xxl-table-row { display: table-row !important; }
  .d-xxl-table-cell { display: table-cell !important; }
  .d-xxl-flex { display: flex !important; }
  .d-xxl-inline-flex { display: inline-flex !important; }
  .d-xxl-none { display: none !important; }
  .flex-xxl-fill { flex: 1 1 auto !important; }
  .flex-xxl-row { flex-direction: row !important; }
  .flex-xxl-column { flex-direction: column !important; }
  .flex-xxl-row-reverse { flex-direction: row-reverse !important; }
  .flex-xxl-column-reverse { flex-direction: column-reverse !important; }
  .flex-xxl-grow-0 { flex-grow: 0 !important; }
  .flex-xxl-grow-1 { flex-grow: 1 !important; }
  .flex-xxl-shrink-0 { flex-shrink: 0 !important; }
  .flex-xxl-shrink-1 { flex-shrink: 1 !important; }
  .flex-xxl-wrap { flex-wrap: wrap !important; }
  .flex-xxl-nowrap { flex-wrap: nowrap !important; }
  .flex-xxl-wrap-reverse { flex-wrap: wrap-reverse !important; }
  .gap-xxl-0 { gap: 0 !important; }
  .gap-xxl-1 { gap: 0.25rem !important; }
  .gap-xxl-2 { gap: 0.5rem !important; }
  .gap-xxl-3 { gap: 1rem !important; }
  .gap-xxl-4 { gap: 1.5rem !important; }
  .gap-xxl-5 { gap: 3rem !important; }
  .justify-content-xxl-start { justify-content: flex-start !important; }
  .justify-content-xxl-end { justify-content: flex-end !important; }
  .justify-content-xxl-center { justify-content: center !important; }
  .justify-content-xxl-between { justify-content: space-between !important; }
  .justify-content-xxl-around { justify-content: space-around !important; }
  .justify-content-xxl-evenly { justify-content: space-evenly !important; }
  .align-items-xxl-start { align-items: flex-start !important; }
  .align-items-xxl-end { align-items: flex-end !important; }
  .align-items-xxl-center { align-items: center !important; }
  .align-items-xxl-baseline { align-items: baseline !important; }
  .align-items-xxl-stretch { align-items: stretch !important; }
  .align-content-xxl-start { align-content: flex-start !important; }
  .align-content-xxl-end { align-content: flex-end !important; }
  .align-content-xxl-center { align-content: center !important; }
  .align-content-xxl-between { align-content: space-between !important; }
  .align-content-xxl-around { align-content: space-around !important; }
  .align-content-xxl-stretch { align-content: stretch !important; }
  .align-self-xxl-auto { align-self: auto !important; }
  .align-self-xxl-start { align-self: flex-start !important; }
  .align-self-xxl-end { align-self: flex-end !important; }
  .align-self-xxl-center { align-self: center !important; }
  .align-self-xxl-baseline { align-self: baseline !important; }
  .align-self-xxl-stretch { align-self: stretch !important; }
  .order-xxl-first { order: -1 !important; }
  .order-xxl-0 { order: 0 !important; }
  .order-xxl-1 { order: 1 !important; }
  .order-xxl-2 { order: 2 !important; }
  .order-xxl-3 { order: 3 !important; }
  .order-xxl-4 { order: 4 !important; }
  .order-xxl-5 { order: 5 !important; }
  .order-xxl-last { order: 6 !important; }
  .m-xxl-0 { margin: 0 !important; }
  .m-xxl-1 { margin: 0.25rem !important; }
  .m-xxl-2 { margin: 0.5rem !important; }
  .m-xxl-3 { margin: 1rem !important; }
  .m-xxl-4 { margin: 1.5rem !important; }
  .m-xxl-5 { margin: 3rem !important; }
  .m-xxl-auto { margin: auto !important; }
  .mx-xxl-0 { margin-right: 0 !important; margin-left: 0 !important; }
  .mx-xxl-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; }
  .mx-xxl-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; }
  .mx-xxl-3 { margin-right: 1rem !important; margin-left: 1rem !important; }
  .mx-xxl-4 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; }
  .mx-xxl-5 { margin-right: 3rem !important; margin-left: 3rem !important; }
  .mx-xxl-auto { margin-right: auto !important; margin-left: auto !important; }
  .my-xxl-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
  .my-xxl-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; }
  .my-xxl-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; }
  .my-xxl-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; }
  .my-xxl-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
  .my-xxl-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }
  .my-xxl-auto { margin-top: auto !important; margin-bottom: auto !important; }
  .mt-xxl-0 { margin-top: 0 !important; }
  .mt-xxl-1 { margin-top: 0.25rem !important; }
  .mt-xxl-2 { margin-top: 0.5rem !important; }
  .mt-xxl-3 { margin-top: 1rem !important; }
  .mt-xxl-4 { margin-top: 1.5rem !important; }
  .mt-xxl-5 { margin-top: 3rem !important; }
  .mt-xxl-auto { margin-top: auto !important; }
  .me-xxl-0 { margin-right: 0 !important; }
  .me-xxl-1 { margin-right: 0.25rem !important; }
  .me-xxl-2 { margin-right: 0.5rem !important; }
  .me-xxl-3 { margin-right: 1rem !important; }
  .me-xxl-4 { margin-right: 1.5rem !important; }
  .me-xxl-5 { margin-right: 3rem !important; }
  .me-xxl-auto { margin-right: auto !important; }
  .mb-xxl-0 { margin-bottom: 0 !important; }
  .mb-xxl-1 { margin-bottom: 0.25rem !important; }
  .mb-xxl-2 { margin-bottom: 0.5rem !important; }
  .mb-xxl-3 { margin-bottom: 1rem !important; }
  .mb-xxl-4 { margin-bottom: 1.5rem !important; }
  .mb-xxl-5 { margin-bottom: 3rem !important; }
  .mb-xxl-auto { margin-bottom: auto !important; }
  .ms-xxl-0 { margin-left: 0 !important; }
  .ms-xxl-1 { margin-left: 0.25rem !important; }
  .ms-xxl-2 { margin-left: 0.5rem !important; }
  .ms-xxl-3 { margin-left: 1rem !important; }
  .ms-xxl-4 { margin-left: 1.5rem !important; }
  .ms-xxl-5 { margin-left: 3rem !important; }
  .ms-xxl-auto { margin-left: auto !important; }
  .p-xxl-0 { padding: 0 !important; }
  .p-xxl-1 { padding: 0.25rem !important; }
  .p-xxl-2 { padding: 0.5rem !important; }
  .p-xxl-3 { padding: 1rem !important; }
  .p-xxl-4 { padding: 1.5rem !important; }
  .p-xxl-5 { padding: 3rem !important; }
  .px-xxl-0 { padding-right: 0 !important; padding-left: 0 !important; }
  .px-xxl-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; }
  .px-xxl-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; }
  .px-xxl-3 { padding-right: 1rem !important; padding-left: 1rem !important; }
  .px-xxl-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }
  .px-xxl-5 { padding-right: 3rem !important; padding-left: 3rem !important; }
  .py-xxl-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
  .py-xxl-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }
  .py-xxl-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
  .py-xxl-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
  .py-xxl-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
  .py-xxl-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
  .pt-xxl-0 { padding-top: 0 !important; }
  .pt-xxl-1 { padding-top: 0.25rem !important; }
  .pt-xxl-2 { padding-top: 0.5rem !important; }
  .pt-xxl-3 { padding-top: 1rem !important; }
  .pt-xxl-4 { padding-top: 1.5rem !important; }
  .pt-xxl-5 { padding-top: 3rem !important; }
  .pe-xxl-0 { padding-right: 0 !important; }
  .pe-xxl-1 { padding-right: 0.25rem !important; }
  .pe-xxl-2 { padding-right: 0.5rem !important; }
  .pe-xxl-3 { padding-right: 1rem !important; }
  .pe-xxl-4 { padding-right: 1.5rem !important; }
  .pe-xxl-5 { padding-right: 3rem !important; }
  .pb-xxl-0 { padding-bottom: 0 !important; }
  .pb-xxl-1 { padding-bottom: 0.25rem !important; }
  .pb-xxl-2 { padding-bottom: 0.5rem !important; }
  .pb-xxl-3 { padding-bottom: 1rem !important; }
  .pb-xxl-4 { padding-bottom: 1.5rem !important; }
  .pb-xxl-5 { padding-bottom: 3rem !important; }
  .ps-xxl-0 { padding-left: 0 !important; }
  .ps-xxl-1 { padding-left: 0.25rem !important; }
  .ps-xxl-2 { padding-left: 0.5rem !important; }
  .ps-xxl-3 { padding-left: 1rem !important; }
  .ps-xxl-4 { padding-left: 1.5rem !important; }
  .ps-xxl-5 { padding-left: 3rem !important; }
  .text-xxl-start { text-align: left !important; }
  .text-xxl-end { text-align: right !important; }
  .text-xxl-center { text-align: center !important; } }

@media (min-width: 1200px) { .fs-1 { font-size: 2.5rem !important; }
  .fs-2 { font-size: 2rem !important; }
  .fs-3 { font-size: 1.75rem !important; }
  .fs-4 { font-size: 1.5rem !important; } }

@media print { .d-print-inline { display: inline !important; }
  .d-print-inline-block { display: inline-block !important; }
  .d-print-block { display: block !important; }
  .d-print-grid { display: grid !important; }
  .d-print-table { display: table !important; }
  .d-print-table-row { display: table-row !important; }
  .d-print-table-cell { display: table-cell !important; }
  .d-print-flex { display: flex !important; }
  .d-print-inline-flex { display: inline-flex !important; }
  .d-print-none { display: none !important; } }

@supports (display: grid) { .site-grid { display: grid; grid-template-areas: ". head head head head ." ". banner banner banner banner ." ". top-a top-a top-a top-a ." ". top-b top-b top-b top-b ." ". comp comp comp comp ." ". side-r side-r side-r side-r ." ". side-l side-l side-l side-l ." ". bot-a bot-a bot-a bot-a ." ". bot-b bot-b bot-b bot-b ." ". footer footer footer footer ." ". debug debug debug debug ."; grid-template-columns: [full-start] minmax(0, 1fr) [main-start] repeat(4, minmax(0, 19.875rem)) [main-end] minmax(0, 1fr) [full-end]; grid-gap: 0 1.5rem; }
  .site-grid > [class^="container-"], .site-grid > [class*=" container-"] { width: 100%; max-width: none; column-gap: 1.5rem; }
  .site-grid:not(.has-sidebar-left) .container-component { grid-column-start: main-start; }
  .site-grid:not(.has-sidebar-right) .container-component { grid-column-end: main-end; }
  .site-grid > .full-width { grid-column: full-start / full-end; }
  @media (min-width: 768px) { .site-grid { grid-template-areas: ". head head head head ." ". banner banner banner banner ." ". top-a top-a top-a top-a ." ". top-b top-b top-b top-b ." ". side-l comp comp side-r ." ". bot-a bot-a bot-a bot-a ." ". bot-b bot-b bot-b bot-b ." ". footer footer footer footer ."; } }
  .site-grid.wrapper-fluid { grid-template-columns: [full-start] minmax(0, 1fr) [main-start] repeat(4, minmax(0, 25%)) [main-end] minmax(0, 1fr) [full-end]; grid-gap: 0 3rem; }
  .site-grid.wrapper-fluid .grid-child { max-width: none; }
  .site-grid.wrapper-fluid header > .grid-child, .site-grid.wrapper-fluid footer > .grid-child { padding-right: 3rem; padding-left: 3rem; } }

.container-header { grid-area: head; }

.container-banner { grid-area: banner; }

.container-top-a { grid-area: top-a; }

.container-top-b { grid-area: top-b; }

.container-component { grid-area: comp; }

.container-sidebar-left { grid-area: side-l; }

.container-sidebar-right { grid-area: side-r; }

.container-main-top { grid-area: main-t; }

.container-main-bottom { grid-area: main-b; }

.container-breadcrumbs { grid-area: bread; }

.container-bottom-a { grid-area: bot-a; }

.container-bottom-b { grid-area: bot-b; }

.container-footer { grid-area: footer; }

.error_site .page-header { margin-top: 1.5rem; }

[class^="container-"] .span-col-2, [class*=" container-"] .span-col-2 { flex: 0 0 50%; max-width: calc(50% - 1.5rem); }

[class^="container-"] .span-col-3, [class*=" container-"] .span-col-3 { flex: 0 0 33.333%; max-width: calc(33.333% - 1.5rem); }

[class^="container-"] .span-col-4, [class*=" container-"] .span-col-4 { flex: 0 0 25%; max-width: calc(25% - 1.5rem); }

@supports (display: grid) { [class^="span-"], [class*=" span-"] { grid-column-end: auto; grid-row-end: auto; }
  @media (min-width: 576px) { [class^="span-col"], [class*=" span-col"] { grid-column-end: span 2; } }
  @media (min-width: 768px) { .span-col-2 { grid-column-end: span 2; }
    .span-col-3 { grid-column-end: span 3; }
    .span-col-4 { grid-column-end: span 4; }
    .span-row-2 { grid-row-end: span 2; }
    .span-row-3 { grid-row-end: span 3; }
    .span-row-4 { grid-row-end: span 4; } }
  [class^="container-"] [class^="span-"], [class^="container-"] [class*=" span-"], [class*=" container-"] [class^="span-"], [class*=" container-"] [class*=" span-"] { flex: 0 1 auto; max-width: none; } }

.blog-items { display: flex; flex-wrap: wrap; width: 100%; padding: 0; margin-right: -0.75rem; margin-bottom: 1.5rem; margin-left: -0.75rem; }

@media (min-width: 768px) { .blog-items.columns-2 > div { width: 50%; }
  .blog-items.columns-3 > div { width: 33.33333%; }
  .blog-items.columns-4 > div { width: 25%; } }

.blog-item { display: flex; flex-direction: column; padding: 0 0.75rem 1.5rem; overflow: hidden; }

.boxed .blog-item { background-color: #fff; box-shadow: 0 0 2px rgba(51, 57, 66, 0.1), 0 2px 5px rgba(51, 57, 66, 0.08), 0 5px 15px rgba(51, 57, 66, 0.08), inset 0 3px 0 var(--cassiopeia-color-primary); }

.boxed .blog-item .item-content { padding: 25px; }

.image-left .blog-item, .image-right .blog-item { flex-direction: row; }

.image-left .blog-item .item-image, .image-right .blog-item .item-image { flex: 1 0 40%; }

.blog-item .item-image { margin-top: 3px; margin-bottom: 15px; overflow: hidden; }

.boxed .blog-item .item-image { margin-bottom: 0; }

.image-right .blog-item .item-image { order: 1; }

.image-bottom .blog-item .item-image { margin-top: -15px; order: 1; }

.image-left .blog-item .item-content { padding-left: 25px; }

.image-right .blog-item .item-content { padding-right: 25px; }

.image-left .blog-item, .image-right .blog-item { flex-direction: column; }

@media (min-width: 768px) { .image-left .blog-item, .image-right .blog-item { flex-direction: row; } }

.article-info dd { padding: 0; }

@supports (display: grid) { .blog-items { display: grid; margin: 0 0 1.5rem; grid-auto-flow: row; grid-template-columns: 1fr; grid-gap: 1.5rem; }
  .blog-items .blog-item { padding: 0; }
  .blog-items[class^="columns-"] > div, .blog-items[class*=" columns-"] > div { flex: 0 1 auto; width: auto; max-width: none; }
  @media (min-width: 768px) { .blog-items.columns-2 { grid-template-columns: 1fr 1fr; }
    .blog-items.columns-3 { grid-template-columns: 1fr 1fr 1fr; }
    .blog-items.columns-4 { grid-template-columns: 1fr 1fr 1fr 1fr; } } }

.blog-items[class^="masonry-"], .blog-items[class*=" masonry-"] { display: block; column-gap: 1.5rem; }

.blog-items[class^="masonry-"] .blog-item, .blog-items[class*=" masonry-"] .blog-item { display: inline-flex; margin-bottom: 1.5rem; page-break-inside: avoid; break-inside: avoid; }

@media (min-width: 768px) { .blog-items.masonry-2 { column-count: 2; }
  .blog-items.masonry-3 { column-count: 3; }
  .blog-items.masonry-4 { column-count: 4; } }

.image-alternate .blog-item:nth-of-type(2n+1) .item-image { order: 0; }

.image-alternate.image-left .blog-item:nth-of-type(2n+1) .item-image { margin-right: 0; margin-left: 25px; order: 1; }

.image-alternate.image-top .blog-item:nth-of-type(2n+1) .item-image { order: 1; }

.breadcrumb { margin-bottom: 0; background-color: rgba(0, 0, 0, 0.03); }

.no-card .newsflash-horiz li { padding: 0 1rem 1rem; border: 1px solid #dee2e6; border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 0.25rem; border-bottom-right-radius: 0.25rem; }

.no-card .newsflash-horiz li figure { margin: 0 -1rem 1rem; }

.mod-list { padding-inline-start: 0; list-style: none; }

.mod-list li { padding: .25em 0; }

.mod-list li a { text-decoration: none; }

.mod-list li a:hover { text-decoration: underline; }

.container-header .mod-list li a:hover { text-decoration: none; }

.mod-list li.active > a { text-decoration: underline; }

.container-header .mod-list li.active > a { text-decoration: none; }

.mod-list li .mod-menu__sub { padding-left: 1.5rem; }

.form-control { max-width: 100%; background-color: #fff; }

.form-control.input-xlarge { max-width: 21.875rem; }

.form-control.input-xxlarge { max-width: 34.375rem; }

.form-control.input-full { max-width: 100%; }

.spacer hr { width: 23.75rem; }

.form-select { max-width: 100%; }

.form-inline .form-select { display: inline-block; width: auto; }

@media (max-width: 767.98px) { .form-inline .form-select { width: 100%; } }

td .form-control { display: inline-block; width: auto; }

.checkboxes { padding-top: 5px; }

.checkboxes .checkbox input { position: static; margin-left: 0; }

.modal label { width: 100%; }

.invalid { color: #dc3545; border-color: #dc3545; }

.valid { border-color: #198754; }

.form-control-feedback { display: block; }

[role="tooltip"]:not(.show) { right: 5em; z-index: 1080; display: none; max-width: 100%; padding: .5em; margin: .5em; color: #000; text-align: start; background: #fff; border: 1px solid #6c757d; border-radius: 0.25rem; box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.8); }

[role="tooltip"]:not(.show)[id^=editarticle-] { right: auto; margin-inline-start: -10em; }

[role="tooltip"]:not(.show)[id^=editcontact-] { right: auto; margin-inline-start: -10em; }

:focus + [role="tooltip"], :hover + [role="tooltip"] { position: absolute; display: block; }

[id="filter[search]-desc"] { bottom: 100%; }

fieldset { margin-bottom: 3rem; }

fieldset + fieldset { margin-top: 3rem; }

fieldset > * { margin-bottom: 0; }

.control-group { margin: 1.5rem 0; }

.container-popup [id="filter[search]-desc"] { top: 100%; bottom: auto; }

.com-users-login__options { margin-top: 3rem; }

.js-stools-container-bar { padding: 10px 20px; }

.js-stools-container-bar .btn-toolbar { justify-content: flex-end; }

.js-stools-container-bar .btn-toolbar > * { margin: 4px 0; margin-inline-end: 8px; }

.js-stools-container-bar .btn-toolbar .js-stools-btn-clear { border: 0; }

.js-stools-container-bar .ordering-select { display: flex; }

.js-stools-container-filters { display: none; padding: 0 20px; margin-bottom: 20px; }

.js-stools-container-filters-visible { display: grid; grid-gap: 8px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); padding: 10px; background-color: #fff; }

.js-stools-container-filters > * { margin: 4px 0; margin-inline-end: 8px; }

.js-stools-field-list + .js-stools-field-list { margin-inline-start: 8px; }

.jviewport-height10 { height: 10vh; }

.jviewport-height20 { height: 20vh; }

.jviewport-height30 { height: 30vh; }

.jviewport-height40 { height: 40vh; }

.jviewport-height50 { height: 50vh; }

.jviewport-height60 { height: 60vh; }

.jviewport-height70 { height: 70vh; }

.jviewport-height80 { height: 80vh; }

.jviewport-height90 { height: 90vh; }

.jviewport-height100 { height: 100vh; }

[class*=jviewport-height] iframe { height: 100%; }

.modal-dialog.jviewport-width10 { width: 10vw; max-width: none; }

.modal-dialog.jviewport-width20 { width: 20vw; max-width: none; }

.modal-dialog.jviewport-width30 { width: 30vw; max-width: none; }

.modal-dialog.jviewport-width40 { width: 40vw; max-width: none; }

.modal-dialog.jviewport-width50 { width: 50vw; max-width: none; }

.modal-dialog.jviewport-width60 { width: 60vw; max-width: none; }

.modal-dialog.jviewport-width70 { width: 70vw; max-width: none; }

.modal-dialog.jviewport-width80 { width: 80vw; max-width: none; }

.modal-dialog.jviewport-width90 { width: 90vw; max-width: none; }

.modal-dialog.jviewport-width100 { width: 100vw; max-width: none; }

iframe { border: 0; }

.modal iframe { width: 100%; }

.icon-white { color: #fff; }

.input-group-text::before { min-width: 16px; }

.tbody-icon { padding: 0 3px; text-align: center; background-color: transparent; border: 0; }

.tbody-icon [class^="icon-"], .tbody-icon [class*=" icon-"], .tbody-icon [class^="fa-"], .tbody-icon [class*=" fa-"] { width: 26px; height: 26px; font-size: 1.1rem; line-height: 22px; color: #ced4da; border: 2px solid var(--border); border-radius: 50%; }

.tbody-icon .icon-publish, .tbody-icon .icon-check, .tbody-icon .fa-check { color: #198754; border-color: #198754; }

.tbody-icon .icon-checkedout, .tbody-icon .icon-lock, .tbody-icon .fa-lock { width: auto; height: auto; font-size: 1.2rem; line-height: 1rem; color: #495057; border: 0; }

.tbody-icon.home-disabled, .tbody-icon.featured-disabled, .tbody-icon.color-featured-disabled, .tbody-icon.icon-star-disabled, .tbody-icon.fa-star-disabled { cursor: not-allowed; opacity: 1; }

.tbody-icon .icon-delete, .tbody-icon .fa-delete, .tbody-icon .icon-times, .tbody-icon .fa-times { color: #dc3545; border-color: #dc3545; }

.plg_system_webauthn_login_button svg { margin-inline-end: 2px; }

.plg_system_webauthn_login_button svg path { fill: var(--black); }

.choices { border: 0; border-radius: 0.25rem; }

.choices:hover { cursor: pointer; }

.choices.is-focused { box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0.1); }

.choices__inner { padding: .4rem 1rem; margin-bottom: 0; font-size: 1rem; border: solid 1px #ced4da; border-radius: 0.25rem; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }

.is-focused .choices__inner { border-color: #000; }

.choices__input { padding: 0; margin-bottom: 0; font-size: 1rem; background-color: transparent; }

.choices__input::-moz-placeholder { color: #495057; opacity: 1; }

.choices__input::-webkit-input-placeholder { color: #495057; opacity: 1; }

.choices__list--dropdown { z-index: 1070; }

.choices__list--multiple .choices__item { position: relative; margin: 2px; background-color: black; margin-inline-end: 2px; border: 0; border-radius: 0.25rem; }

.choices__list--multiple .choices__item.is-highlighted { background-color: black; opacity: .9; }

.choices .choices__list--dropdown .choices__item { padding-inline-end: 10px; }

.choices .choices__list--dropdown .choices__item--selectable::after { display: none; }

.choices__button_joomla { position: relative; padding: 0 10px; color: inherit; text-indent: -9999px; cursor: pointer; background: none; border: 0; opacity: .5; appearance: none; }

.choices__button_joomla::before { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: block; text-align: center; text-indent: 0; content: "\00d7"; }

.choices__button_joomla:hover, .choices__button_joomla:focus { opacity: 1; }

.choices__button_joomla:focus { outline: none; }

.choices[data-type*="select-one"] .choices__inner, .choices[data-type*="select-multiple"] .choices__inner { padding-inline-end: 3rem; cursor: pointer; background: url("../images/select-bg.svg") no-repeat 100%/116rem; background-color: #fff; }

[dir="rtl"] .choices[data-type*="select-one"] .choices__inner, [dir="rtl"] .choices[data-type*="select-multiple"] .choices__inner { background: url("../images/select-bg-rtl.svg") no-repeat 0/116rem; background-color: #fff; }

.choices[data-type*="select-one"] .choices__item { display: flex; justify-content: space-between; }

.choices[data-type*="select-one"] .choices__button_joomla { position: absolute; top: 50%; right: 0; width: 20px; height: 20px; padding: 0; margin-top: -10px; margin-right: 50px; border-radius: 10em; opacity: .5; }

[dir=rtl] .choices[data-type*="select-one"] .choices__button_joomla { right: auto; left: 0; margin-right: 0; margin-left: 50px; }

.choices[data-type*="select-one"] .choices__button_joomla:hover, .choices[data-type*="select-one"] .choices__button_joomla:focus { opacity: 1; }

.choices[data-type*="select-one"] .choices__button_joomla:focus { box-shadow: 0 0 0 2px #00bcd4; }

.choices[data-type*="select-one"]::after { display: none; }

.choices[data-type*="select-multiple"] .choices__input, .choices[data-type*="text"] .choices__input { padding: .2rem 0; height: auto; background: transparent; border: 0 none; box-shadow: none; padding: 0; line-height: normal; }

.choices__inner { line-height: 1.5; min-height: 35px; box-shadow: 0 0 0 0; }

.js-stools-field-filter .form-select { background-size: 27px 17px; }

.choices__heading { font-size: 1.2rem; }

.subhead { position: sticky; top: 0; right: 0; left: 0; z-index: 1000; width: auto; min-height: 43px; padding: 10px 0; color: #495057; background: #fff; box-shadow: -3px -2px 22px #ddd; }

.subhead .row { margin-right: 0; margin-left: 0; }

.subhead.noshadow { box-shadow: none; }

.subhead joomla-toolbar-button, .subhead .btn-group { margin-inline-start: .75rem; }

.subhead joomla-toolbar-button:first-child, .subhead .btn-group:first-child { margin-inline-start: 0; }

.subhead joomla-toolbar-button .btn > span, .subhead joomla-toolbar-button .dropdown-item > span { margin-inline-end: .5rem; width: 1.25em; text-align: center; }

.subhead .btn { --subhead-btn-accent: #495057; padding: 0 1rem; margin: 5px 0; font-size: 1rem; line-height: 2.45rem; color: #495057; background: #fff; border: 1px solid #adb5bd; }

.subhead .btn > span { display: inline-block; color: var(--subhead-btn-accent); }

.subhead .btn:not([disabled]):hover, .subhead .btn:not([disabled]):active, .subhead .btn:not([disabled]):focus { color: rgba(255, 255, 255, 0.9); background-color: var(--subhead-btn-accent); border-color: var(--subhead-btn-accent); }

.subhead .btn:not([disabled]):hover > span, .subhead .btn:not([disabled]):active > span, .subhead .btn:not([disabled]):focus > span { color: rgba(255, 255, 255, 0.9); }

.subhead .btn.btn-success { --subhead-btn-accent: #448344; }

.subhead .btn.btn-danger { --subhead-btn-accent: #8c1a14; }

.subhead .btn.btn-primary { --subhead-btn-accent: #2a69b8; text-transform: none; font-weight: normal; font-family: inherit; letter-spacing: normal; }

.subhead .btn.btn-secondary { --subhead-btn-accent: #001b4c; }

.subhead .btn.btn-info { --subhead-btn-accent: #132f53; }

.subhead .btn.btn-action { --subhead-btn-accent: #132f53; display: flex; align-items: center; }

.subhead .btn.btn-action::after { width: 2.375rem; font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f078"; border: 0; }

.subhead .btn[disabled], .subhead .btn.dropdown-toggle[disabled] { --subhead-btn-accent: #132f53; background: rgba(222, 226, 230, 0.8); opacity: .5; }

.subhead .btn[disabled]:hover, .subhead .btn[disabled]:active, .subhead .btn[disabled]:focus, .subhead .btn.dropdown-toggle[disabled]:hover, .subhead .btn.dropdown-toggle[disabled]:active, .subhead .btn.dropdown-toggle[disabled]:focus { cursor: not-allowed; }

.subhead .dropdown-toggle.btn { padding-inline-end: 0; }

.subhead .btn-group:not(:last-child) > .dropdown-toggle-split { order: 1; margin-inline-start: -0.25rem; }

[dir="ltr"] .subhead .btn-group:not(:last-child) > .dropdown-toggle-split { border-radius: 0 0.25rem 0.25rem 0; }

[dir="rtl"] .subhead .btn-group:not(:last-child) > .dropdown-toggle-split { border-radius: 0.25rem 0 0 0.25rem; }

.subhead .dropdown-menu joomla-toolbar-button, .subhead .btn-group joomla-toolbar-button { margin-inline-start: 0; }

@media (max-width: 575.98px) { joomla-tab[view=accordion] .col-md-9, joomla-tab[view=accordion] .col-md-3 { padding: .5rem 1rem !important; }
  #myTab { margin-top: 1rem; margin-bottom: 1.5rem; }
  joomla-tab[view=accordion] ul li { width: 100%; }
  .subhead joomla-toolbar-button, .subhead .btn-group, .subhead .btn { width: 100%; margin-left: 0; text-align: left; }
  .subhead .btn-toolbar > .btn-group, .subhead .btn-toolbar > joomla-toolbar-button { margin-left: 0; }
  .subhead .btn.btn-action::after { text-align: center; margin-inline-start: auto; }
  .subhead .dropdown-toggle-split { width: auto; } }

@supports (-ms-ime-align: auto) { [dir=rtl] .subhead { position: relative; } }

.subhead .btn:not([disabled]):hover, .subhead .btn:not([disabled]):active, .subhead .btn:not([disabled]):focus { color: rgba(255, 255, 255, 0.9); background-color: var(--subhead-btn-accent); border-color: var(--subhead-btn-accent); }

.chzn-container-single { width: auto !important; }

.chzn-container-multi { width: 100% !important; max-width: 240px; }

.list-inline { margin-left: 0; }

.list-inline-item { display: inline-block; }

.list-inline-item .btn { border: 1px solid; padding: 5px 8px; }

.list-inline-item:not(:last-child) { margin-right: 0.5rem; }

.blog figure { margin: 0; }

.platform-content.container { max-width: 100% !important; }
engines/nucleus/css-compiled/bootstrap5-rtl.css000064400000540675150753125220015672 0ustar00/*!
 * Bootstrap v5.0.2 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
.img-fluid {
  max-width: 100%;
  height: auto;
}

.img-thumbnail {
  padding: 0.25rem;
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-radius: 0.25rem;
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1;
}

.figure-caption {
  font-size: 0.875em;
  color: #6c757d;
}

.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
  width: 100%;
  padding-right: var(--bs-gutter-x, 0.75rem);
  padding-left: var(--bs-gutter-x, 0.75rem);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container, .container-sm {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .container, .container-sm, .container-md {
    max-width: 720px;
  }
}

@media (min-width: 992px) {
  .container, .container-sm, .container-md, .container-lg {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl {
    max-width: 1140px;
  }
}

@media (min-width: 1400px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {
    max-width: 1320px;
  }
}

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(var(--bs-gutter-y) * -1);
  margin-right: calc(var(--bs-gutter-x) * -.5);
  margin-left: calc(var(--bs-gutter-x) * -.5);
}

.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0%;
}

.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}

.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.33333%;
}

.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.66667%;
}

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0%;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66667%;
  }
}

@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0%;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66667%;
  }
}

@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0%;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66667%;
  }
}

@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0%;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66667%;
  }
}

@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0%;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66667%;
  }
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 8.33333%;
}

.col-2 {
  flex: 0 0 auto;
  width: 16.66667%;
}

.col-3 {
  flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  flex: 0 0 auto;
  width: 33.33333%;
}

.col-5 {
  flex: 0 0 auto;
  width: 41.66667%;
}

.col-6 {
  flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  flex: 0 0 auto;
  width: 58.33333%;
}

.col-8 {
  flex: 0 0 auto;
  width: 66.66667%;
}

.col-9 {
  flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  flex: 0 0 auto;
  width: 83.33333%;
}

.col-11 {
  flex: 0 0 auto;
  width: 91.66667%;
}

.col-12 {
  flex: 0 0 auto;
  width: 100%;
}

.offset-1 {
  margin-left: 8.33333%;
}

.offset-2 {
  margin-left: 16.66667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.33333%;
}

.offset-5 {
  margin-left: 41.66667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.33333%;
}

.offset-8 {
  margin-left: 66.66667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.33333%;
}

.offset-11 {
  margin-left: 91.66667%;
}

.g-0,
.gx-0 {
  --bs-gutter-x: 0;
}

.g-0,
.gy-0 {
  --bs-gutter-y: 0;
}

.g-1,
.gx-1 {
  --bs-gutter-x: 0.25rem;
}

.g-1,
.gy-1 {
  --bs-gutter-y: 0.25rem;
}

.g-2,
.gx-2 {
  --bs-gutter-x: 0.5rem;
}

.g-2,
.gy-2 {
  --bs-gutter-y: 0.5rem;
}

.g-3,
.gx-3 {
  --bs-gutter-x: 1rem;
}

.g-3,
.gy-3 {
  --bs-gutter-y: 1rem;
}

.g-4,
.gx-4 {
  --bs-gutter-x: 1.5rem;
}

.g-4,
.gy-4 {
  --bs-gutter-y: 1.5rem;
}

.g-5,
.gx-5 {
  --bs-gutter-x: 3rem;
}

.g-5,
.gy-5 {
  --bs-gutter-y: 3rem;
}

@media (min-width: 576px) {
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333%;
  }
  .offset-sm-2 {
    margin-left: 16.66667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333%;
  }
  .offset-sm-5 {
    margin-left: 41.66667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333%;
  }
  .offset-sm-8 {
    margin-left: 66.66667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333%;
  }
  .offset-sm-11 {
    margin-left: 91.66667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 3rem;
  }
}

@media (min-width: 768px) {
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333%;
  }
  .offset-md-2 {
    margin-left: 16.66667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333%;
  }
  .offset-md-5 {
    margin-left: 41.66667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333%;
  }
  .offset-md-8 {
    margin-left: 66.66667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333%;
  }
  .offset-md-11 {
    margin-left: 91.66667%;
  }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 1rem;
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 1rem;
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 3rem;
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 3rem;
  }
}

@media (min-width: 992px) {
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333%;
  }
  .offset-lg-2 {
    margin-left: 16.66667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333%;
  }
  .offset-lg-5 {
    margin-left: 41.66667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333%;
  }
  .offset-lg-8 {
    margin-left: 66.66667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333%;
  }
  .offset-lg-11 {
    margin-left: 91.66667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 3rem;
  }
}

@media (min-width: 1200px) {
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333%;
  }
  .offset-xl-2 {
    margin-left: 16.66667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333%;
  }
  .offset-xl-5 {
    margin-left: 41.66667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333%;
  }
  .offset-xl-8 {
    margin-left: 66.66667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333%;
  }
  .offset-xl-11 {
    margin-left: 91.66667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 3rem;
  }
}

@media (min-width: 1400px) {
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 3rem;
  }
}

.table {
  --bs-table-bg: transparent;
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: inherit;
  --bs-table-striped-bg: inherit;
  --bs-table-active-color: inherit;
  --bs-table-active-bg: inherit;
  --bs-table-hover-color: inherit;
  --bs-table-hover-bg: inherit;
  width: 100%;
  margin-bottom: 1rem;
  color: inherit;
  vertical-align: top;
  border-color: inherit;
}

.table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  background-color: var(--bs-table-bg);
  border-bottom-width: 1px;
  box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
}

.table > tbody {
  vertical-align: inherit;
}

.table > thead {
  vertical-align: bottom;
}

.table > :not(:last-child) > :last-child > * {
  border-bottom-color: inherit;
}

.caption-top {
  caption-side: top;
}

.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}

.table-bordered > :not(caption) > * {
  border-width: 1px 0;
}

.table-bordered > :not(caption) > * > * {
  border-width: 0 1px;
}

.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}

.table-striped > tbody > tr:nth-of-type(odd) {
  --bs-table-accent-bg: var(--bs-table-striped-bg);
  color: var(--bs-table-striped-color);
}

.table-active {
  --bs-table-accent-bg: var(--bs-table-active-bg);
  color: var(--bs-table-active-color);
}

.table-hover > tbody > tr:hover {
  --bs-table-accent-bg: var(--bs-table-hover-bg);
  color: var(--bs-table-hover-color);
}

.table-primary {
  --bs-table-bg: #cfe2ff;
  --bs-table-striped-bg: #c5d7f2;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #bacbe6;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bfd1ec;
  --bs-table-hover-color: #000;
  color: #000;
  border-color: #bacbe6;
}

.table-secondary {
  --bs-table-bg: #e2e3e5;
  --bs-table-striped-bg: #d7d8da;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #cbccce;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #d1d2d4;
  --bs-table-hover-color: #000;
  color: #000;
  border-color: #cbccce;
}

.table-success {
  --bs-table-bg: #d1e7dd;
  --bs-table-striped-bg: #c7dbd2;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #bcd0c7;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #c1d6cc;
  --bs-table-hover-color: #000;
  color: #000;
  border-color: #bcd0c7;
}

.table-info {
  --bs-table-bg: #cff4fc;
  --bs-table-striped-bg: #c5e8ef;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #badce3;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bfe2e9;
  --bs-table-hover-color: #000;
  color: #000;
  border-color: #badce3;
}

.table-warning {
  --bs-table-bg: #fff3cd;
  --bs-table-striped-bg: #f2e7c3;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #e6dbb9;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #ece1be;
  --bs-table-hover-color: #000;
  color: #000;
  border-color: #e6dbb9;
}

.table-danger {
  --bs-table-bg: #f8d7da;
  --bs-table-striped-bg: #eccccf;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #dfc2c4;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e5c7ca;
  --bs-table-hover-color: #000;
  color: #000;
  border-color: #dfc2c4;
}

.table-light {
  --bs-table-bg: #f8f9fa;
  --bs-table-striped-bg: #ecedee;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #dfe0e1;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e5e6e7;
  --bs-table-hover-color: #000;
  color: #000;
  border-color: #dfe0e1;
}

.table-dark {
  --bs-table-bg: #212529;
  --bs-table-striped-bg: #2c3034;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #373b3e;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #323539;
  --bs-table-hover-color: #fff;
  color: #fff;
  border-color: #373b3e;
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 767.98px) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 991.98px) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 1199.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.form-label {
  margin-bottom: 0.5rem;
}

.col-form-label {
  padding-top: calc(0.375rem + 1px);
  padding-bottom: calc(0.375rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

.col-form-label-lg {
  padding-top: calc(0.5rem + 1px);
  padding-bottom: calc(0.5rem + 1px);
  font-size: 1.25rem;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + 1px);
  padding-bottom: calc(0.25rem + 1px);
  font-size: 0.875rem;
}

.form-text {
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: #6c757d;
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  appearance: none;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}

.form-control[type="file"] {
  overflow: hidden;
}

.form-control[type="file"]:not(:disabled):not([readonly]) {
  cursor: pointer;
}

.form-control:focus {
  color: #212529;
  background-color: #fff;
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.form-control::-webkit-date-and-time-value {
  height: 1.5em;
}

.form-control::placeholder {
  color: #6c757d;
  opacity: 1;
}

.form-control:disabled, .form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}

.form-control::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  margin-inline-end: 0.75rem;
  color: #212529;
  background-color: #e9ecef;
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: 1px;
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-control::file-selector-button {
    transition: none;
  }
}

.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: #dde0e3;
}

.form-control::-webkit-file-upload-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  margin-inline-end: 0.75rem;
  color: #212529;
  background-color: #e9ecef;
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: 1px;
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-control::-webkit-file-upload-button {
    transition: none;
  }
}

.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
  background-color: #dde0e3;
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  line-height: 1.5;
  color: #212529;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
}

.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  min-height: calc(1.5em + (0.5rem + 2px));
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: 0.2rem;
}

.form-control-sm::file-selector-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  margin-inline-end: 0.5rem;
}

.form-control-sm::-webkit-file-upload-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  margin-inline-end: 0.5rem;
}

.form-control-lg {
  min-height: calc(1.5em + (1rem + 2px));
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: 0.3rem;
}

.form-control-lg::file-selector-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  margin-inline-end: 1rem;
}

.form-control-lg::-webkit-file-upload-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  margin-inline-end: 1rem;
}

textarea.form-control {
  min-height: calc(1.5em + (0.75rem + 2px));
}

textarea.form-control-sm {
  min-height: calc(1.5em + (0.5rem + 2px));
}

textarea.form-control-lg {
  min-height: calc(1.5em + (1rem + 2px));
}

.form-control-color {
  max-width: 3rem;
  height: auto;
  padding: 0.375rem;
}

.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer;
}

.form-control-color::-moz-color-swatch {
  height: 1.5em;
  border-radius: 0.25rem;
}

.form-control-color::-webkit-color-swatch {
  height: 1.5em;
  border-radius: 0.25rem;
}

.form-select {
  display: block;
  width: 100%;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  -moz-padding-start: calc(0.75rem - 3px);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}

@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}

.form-select:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 0.75rem;
  background-image: none;
}

.form-select:disabled {
  background-color: #e9ecef;
}

.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #212529;
}

.form-select-sm {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
}

.form-select-lg {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem;
}

.form-check {
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5em;
  margin-bottom: 0.125rem;
}

.form-check .form-check-input {
  float: left;
  margin-left: -1.5em;
}

.form-check-input {
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: 1px solid rgba(0, 0, 0, 0.25);
  appearance: none;
  color-adjust: exact;
}

.form-check-input[type="checkbox"] {
  border-radius: 0.25em;
}

.form-check-input[type="radio"] {
  border-radius: 50%;
}

.form-check-input:active {
  filter: brightness(90%);
}

.form-check-input:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.form-check-input:checked {
  background-color: #0d6efd;
  border-color: #0d6efd;
}

.form-check-input:checked[type="checkbox"] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}

.form-check-input:checked[type="radio"] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}

.form-check-input[type="checkbox"]:indeterminate {
  background-color: #0d6efd;
  border-color: #0d6efd;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}

.form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}

.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  opacity: 0.5;
}

.form-switch {
  padding-left: 2.5em;
}

.form-switch .form-check-input {
  width: 2em;
  margin-left: -2.5em;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
  background-position: left center;
  border-radius: 2em;
  transition: background-position 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-switch .form-check-input {
    transition: none;
  }
}

.form-switch .form-check-input:focus {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e");
}

.form-switch .form-check-input:checked {
  background-position: right center;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}

.form-check-inline {
  display: inline-block;
  margin-right: 1rem;
}

.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}

.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
  pointer-events: none;
  filter: none;
  opacity: 0.65;
}

.form-range {
  width: 100%;
  height: 1.5rem;
  padding: 0;
  background-color: transparent;
  appearance: none;
}

.form-range:focus {
  outline: 0;
}

.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.form-range::-moz-focus-outer {
  border: 0;
}

.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  background-color: #0d6efd;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}

@media (prefers-reduced-motion: reduce) {
  .form-range::-webkit-slider-thumb {
    transition: none;
  }
}

.form-range::-webkit-slider-thumb:active {
  background-color: #b6d4fe;
}

.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}

.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  background-color: #0d6efd;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}

@media (prefers-reduced-motion: reduce) {
  .form-range::-moz-range-thumb {
    transition: none;
  }
}

.form-range::-moz-range-thumb:active {
  background-color: #b6d4fe;
}

.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}

.form-range:disabled {
  pointer-events: none;
}

.form-range:disabled::-webkit-slider-thumb {
  background-color: #adb5bd;
}

.form-range:disabled::-moz-range-thumb {
  background-color: #adb5bd;
}

.form-floating {
  position: relative;
}

.form-floating > .form-control,
.form-floating > .form-select {
  height: calc(3.5rem + 2px);
  line-height: 1.25;
}

.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  padding: 1rem 0.75rem;
  pointer-events: none;
  border: 1px solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-floating > label {
    transition: none;
  }
}

.form-floating > .form-control {
  padding: 1rem 0.75rem;
}

.form-floating > .form-control::placeholder {
  color: transparent;
}

.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}

.form-floating > .form-control:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}

.form-floating > .form-select {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}

.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}

.form-floating > .form-control:-webkit-autofill ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}

.input-group > .form-control,
.input-group > .form-select {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}

.input-group > .form-control:focus,
.input-group > .form-select:focus {
  z-index: 3;
}

.input-group .btn {
  position: relative;
  z-index: 2;
}

.input-group .btn:focus {
  z-index: 3;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}

.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: 0.3rem;
}

.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: 0.2rem;
}

.input-group-lg > .form-select,
.input-group-sm > .form-select {
  padding-right: 3rem;
}

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group.has-validation > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: -1px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: #198754;
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: rgba(25, 135, 84, 0.9);
  border-radius: 0.25rem;
}

.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: #198754;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: #198754;
  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:valid, .form-select.is-valid {
  border-color: #198754;
}

.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
  padding-right: 4.125rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: #198754;
  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}

.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: #198754;
}

.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
  background-color: #198754;
}

.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}

.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: #198754;
}

.form-check-inline .form-check-input ~ .valid-feedback {
  margin-left: .5em;
}

.was-validated .input-group .form-control:valid, .input-group .form-control.is-valid, .was-validated
.input-group .form-select:valid,
.input-group .form-select.is-valid {
  z-index: 1;
}

.was-validated .input-group .form-control:valid:focus, .input-group .form-control.is-valid:focus, .was-validated
.input-group .form-select:valid:focus,
.input-group .form-select.is-valid:focus {
  z-index: 3;
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: #dc3545;
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 0.25rem;
}

.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: #dc3545;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: #dc3545;
}

.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
  padding-right: 4.125rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: #dc3545;
}

.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
  background-color: #dc3545;
}

.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: #dc3545;
}

.form-check-inline .form-check-input ~ .invalid-feedback {
  margin-left: .5em;
}

.was-validated .input-group .form-control:invalid, .input-group .form-control.is-invalid, .was-validated
.input-group .form-select:invalid,
.input-group .form-select.is-invalid {
  z-index: 2;
}

.was-validated .input-group .form-control:invalid:focus, .input-group .form-control.is-invalid:focus, .was-validated
.input-group .form-select:invalid:focus,
.input-group .form-select.is-invalid:focus {
  z-index: 3;
}

.btn {
  display: inline-block;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}

.btn:hover {
  color: #212529;
}

.btn-check:focus + .btn, .btn:focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.btn:disabled, .btn.disabled,
fieldset:disabled .btn {
  pointer-events: none;
  opacity: 0.65;
}

.btn-link {
  font-weight: 400;
  color: #0d6efd;
  text-decoration: underline;
}

.btn-link:hover {
  color: #0a58ca;
}

.btn-link:disabled, .btn-link.disabled {
  color: #6c757d;
}

.btn-lg, .btn-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: 0.3rem;
}

.btn-sm, .btn-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: 0.2rem;
}

.fade {
  transition: opacity 0.15s linear;
}

@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}

.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}

.dropup,
.dropend,
.dropdown,
.dropstart {
  position: relative;
}

.dropdown-toggle {
  white-space: nowrap;
}

.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}

.dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropdown-menu {
  position: absolute;
  z-index: 1000;
  display: none;
  min-width: 10rem;
  padding: 0.5rem 0;
  margin: 0;
  font-size: 1rem;
  color: #212529;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
}

.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
  margin-top: 0.125rem;
}

.dropdown-menu-start {
  --bs-position: start;
}

.dropdown-menu-start[data-bs-popper] {
  right: auto;
  left: 0;
}

.dropdown-menu-end {
  --bs-position: end;
}

.dropdown-menu-end[data-bs-popper] {
  right: 0;
  left: auto;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-start {
    --bs-position: start;
  }
  .dropdown-menu-sm-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-sm-end {
    --bs-position: end;
  }
  .dropdown-menu-sm-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}

@media (min-width: 768px) {
  .dropdown-menu-md-start {
    --bs-position: start;
  }
  .dropdown-menu-md-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-md-end {
    --bs-position: end;
  }
  .dropdown-menu-md-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}

@media (min-width: 992px) {
  .dropdown-menu-lg-start {
    --bs-position: start;
  }
  .dropdown-menu-lg-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-lg-end {
    --bs-position: end;
  }
  .dropdown-menu-lg-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}

@media (min-width: 1200px) {
  .dropdown-menu-xl-start {
    --bs-position: start;
  }
  .dropdown-menu-xl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xl-end {
    --bs-position: end;
  }
  .dropdown-menu-xl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}

@media (min-width: 1400px) {
  .dropdown-menu-xxl-start {
    --bs-position: start;
  }
  .dropdown-menu-xxl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xxl-end {
    --bs-position: end;
  }
  .dropdown-menu-xxl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}

.dropup .dropdown-menu[data-bs-popper] {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.125rem;
}

.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}

.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropend .dropdown-menu[data-bs-popper] {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem;
}

.dropend .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
}

.dropend .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropend .dropdown-toggle::after {
  vertical-align: 0;
}

.dropstart .dropdown-menu[data-bs-popper] {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem;
}

.dropstart .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}

.dropstart .dropdown-toggle::after {
  display: none;
}

.dropstart .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}

.dropstart .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropstart .dropdown-toggle::before {
  vertical-align: 0;
}

.dropdown-divider {
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 1px solid rgba(0, 0, 0, 0.15);
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}

.dropdown-item:hover, .dropdown-item:focus {
  color: #1e2125;
  background-color: #e9ecef;
}

.dropdown-item.active, .dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: #0d6efd;
}

.dropdown-item.disabled, .dropdown-item:disabled {
  color: #adb5bd;
  pointer-events: none;
  background-color: transparent;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-header {
  display: block;
  padding: 0.5rem 1rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #6c757d;
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: 0.25rem 1rem;
  color: #212529;
}

.dropdown-menu-dark {
  color: #dee2e6;
  background-color: #343a40;
  border-color: rgba(0, 0, 0, 0.15);
}

.dropdown-menu-dark .dropdown-item {
  color: #dee2e6;
}

.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.15);
}

.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active {
  color: #fff;
  background-color: #0d6efd;
}

.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled {
  color: #adb5bd;
}

.dropdown-menu-dark .dropdown-divider {
  border-color: rgba(0, 0, 0, 0.15);
}

.dropdown-menu-dark .dropdown-item-text {
  color: #dee2e6;
}

.dropdown-menu-dark .dropdown-header {
  color: #adb5bd;
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}

.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  flex: 1 1 auto;
}

.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn-check:checked + .btn,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.btn-toolbar .input-group {
  width: auto;
}

.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) {
  margin-left: -1px;
}

.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.btn-group > .btn:nth-child(n + 3),
.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem;
}

.dropdown-toggle-split::after,
.dropup .dropdown-toggle-split::after,
.dropend .dropdown-toggle-split::after {
  margin-left: 0;
}

.dropstart .dropdown-toggle-split::before {
  margin-right: 0;
}

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
  width: 100%;
}

.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: -1px;
}

.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.btn-group-vertical > .btn ~ .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: 0.5rem 1rem;
  color: #0d6efd;
  text-decoration: none;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .nav-link {
    transition: none;
  }
}

.nav-link:hover, .nav-link:focus {
  color: #0a58ca;
}

.nav-link.disabled {
  color: #6c757d;
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  border-bottom: 1px solid #dee2e6;
}

.nav-tabs .nav-link {
  margin-bottom: -1px;
  background: none;
  border: 1px solid transparent;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}

.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  border-color: #e9ecef #e9ecef #dee2e6;
  isolation: isolate;
}

.nav-tabs .nav-link.disabled {
  color: #6c757d;
  background-color: transparent;
  border-color: transparent;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: #495057;
  background-color: #fff;
  border-color: #dee2e6 #dee2e6 #fff;
}

.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills .nav-link {
  background: none;
  border: 0;
  border-radius: 0.25rem;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #0d6efd;
}

.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
  width: 100%;
}

.tab-content > .tab-pane {
  display: none;
}

.tab-content > .active {
  display: block;
}

.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.navbar > .container,
.navbar > .container-fluid, .navbar > .container-sm, .navbar > .container-md, .navbar > .container-lg, .navbar > .container-xl, .navbar > .container-xxl {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}

.navbar-brand {
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  margin-right: 1rem;
  font-size: 1.25rem;
  text-decoration: none;
  white-space: nowrap;
}

.navbar-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.navbar-nav .nav-link {
  padding-right: 0;
  padding-left: 0;
}

.navbar-nav .dropdown-menu {
  position: static;
}

.navbar-text {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center;
}

.navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  transition: box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .navbar-toggler {
    transition: none;
  }
}

.navbar-toggler:hover {
  text-decoration: none;
}

.navbar-toggler:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: 0 0 0 0.25rem;
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.navbar-nav-scroll {
  max-height: var(--bs-scroll-height, 75vh);
  overflow-y: auto;
}

@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
}

@media (min-width: 768px) {
  .navbar-expand-md {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
}

@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
}

@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
}

@media (min-width: 1400px) {
  .navbar-expand-xxl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xxl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xxl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xxl .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-xxl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xxl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xxl .navbar-toggler {
    display: none;
  }
}

.navbar-expand {
  flex-wrap: nowrap;
  justify-content: flex-start;
}

.navbar-expand .navbar-nav {
  flex-direction: row;
}

.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}

.navbar-expand .navbar-nav .nav-link {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}

.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}

.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}

.navbar-expand .navbar-toggler {
  display: none;
}

.navbar-light .navbar-brand {
  color: rgba(0, 0, 0, 0.9);
}

.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
  color: rgba(0, 0, 0, 0.9);
}

.navbar-light .navbar-nav .nav-link {
  color: rgba(0, 0, 0, 0.55);
}

.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
  color: rgba(0, 0, 0, 0.7);
}

.navbar-light .navbar-nav .nav-link.disabled {
  color: rgba(0, 0, 0, 0.3);
}

.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .nav-link.active {
  color: rgba(0, 0, 0, 0.9);
}

.navbar-light .navbar-toggler {
  color: rgba(0, 0, 0, 0.55);
  border-color: rgba(0, 0, 0, 0.1);
}

.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-light .navbar-text {
  color: rgba(0, 0, 0, 0.55);
}

.navbar-light .navbar-text a,
.navbar-light .navbar-text a:hover,
.navbar-light .navbar-text a:focus {
  color: rgba(0, 0, 0, 0.9);
}

.navbar-dark .navbar-brand {
  color: #fff;
}

.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
  color: #fff;
}

.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.55);
}

.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
  color: rgba(255, 255, 255, 0.75);
}

.navbar-dark .navbar-nav .nav-link.disabled {
  color: rgba(255, 255, 255, 0.25);
}

.navbar-dark .navbar-nav .show > .nav-link,
.navbar-dark .navbar-nav .nav-link.active {
  color: #fff;
}

.navbar-dark .navbar-toggler {
  color: rgba(255, 255, 255, 0.55);
  border-color: rgba(255, 255, 255, 0.1);
}

.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-dark .navbar-text {
  color: rgba(255, 255, 255, 0.55);
}

.navbar-dark .navbar-text a,
.navbar-dark .navbar-text a:hover,
.navbar-dark .navbar-text a:focus {
  color: #fff;
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.25rem;
}

.card > hr {
  margin-right: 0;
  margin-left: 0;
}

.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}

.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}

.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}

.card-body {
  flex: 1 1 auto;
  padding: 1rem 1rem;
}

.card-title {
  margin-bottom: 0.5rem;
}

.card-subtitle {
  margin-top: -0.25rem;
  margin-bottom: 0;
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link:hover {
  text-decoration: none;
}

.card-link + .card-link {
  margin-left: 1rem;
}

.card-header {
  padding: 0.5rem 1rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}

.card-header:first-child {
  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}

.card-footer {
  padding: 0.5rem 1rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid rgba(0, 0, 0, 0.125);
}

.card-footer:last-child {
  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
}

.card-header-tabs {
  margin-right: -0.5rem;
  margin-bottom: -0.5rem;
  margin-left: -0.5rem;
  border-bottom: 0;
}

.card-header-pills {
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1rem;
  border-radius: calc(0.25rem - 1px);
}

.card-img,
.card-img-top,
.card-img-bottom {
  width: 100%;
}

.card-img,
.card-img-top {
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}

.card-group > .card {
  margin-bottom: 0.75rem;
}

@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0%;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-top,
  .card-group > .card:not(:last-child) .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-bottom,
  .card-group > .card:not(:last-child) .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-top,
  .card-group > .card:not(:first-child) .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-bottom,
  .card-group > .card:not(:first-child) .card-footer {
    border-bottom-left-radius: 0;
  }
}

.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 1rem 1.25rem;
  font-size: 1rem;
  color: #212529;
  text-align: left;
  background-color: #fff;
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    transition: none;
  }
}

.accordion-button:not(.collapsed) {
  color: #0c63e4;
  background-color: #e7f1ff;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125);
}

.accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  transform: rotate(-180deg);
}

.accordion-button::after {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-left: auto;
  content: "";
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: 1.25rem;
  transition: transform 0.2s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .accordion-button::after {
    transition: none;
  }
}

.accordion-button:hover {
  z-index: 2;
}

.accordion-button:focus {
  z-index: 3;
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.accordion-header {
  margin-bottom: 0;
}

.accordion-item {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125);
}

.accordion-item:first-of-type {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}

.accordion-item:first-of-type .accordion-button {
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.accordion-item:not(:first-of-type) {
  border-top: 0;
}

.accordion-item:last-of-type {
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.accordion-item:last-of-type .accordion-button.collapsed {
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}

.accordion-item:last-of-type .accordion-collapse {
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.accordion-body {
  padding: 1rem 1.25rem;
}

.accordion-flush .accordion-collapse {
  border-width: 0;
}

.accordion-flush .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}

.accordion-flush .accordion-item:first-child {
  border-top: 0;
}

.accordion-flush .accordion-item:last-child {
  border-bottom: 0;
}

.accordion-flush .accordion-item .accordion-button {
  border-radius: 0;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 0 0;
  margin-bottom: 1rem;
  list-style: none;
}

.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem;
}

.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: 0.5rem;
  color: #6c757d;
  content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
}

.breadcrumb-item.active {
  color: #6c757d;
}

.pagination {
  display: flex;
  padding-left: 0;
  list-style: none;
}

.page-link {
  position: relative;
  display: block;
  color: #0d6efd;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #dee2e6;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .page-link {
    transition: none;
  }
}

.page-link:hover {
  z-index: 2;
  color: #0a58ca;
  background-color: #e9ecef;
  border-color: #dee2e6;
}

.page-link:focus {
  z-index: 3;
  color: #0a58ca;
  background-color: #e9ecef;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.page-item:not(:first-child) .page-link {
  margin-left: -1px;
}

.page-item.active .page-link {
  z-index: 3;
  color: #fff;
  background-color: #0d6efd;
  border-color: #0d6efd;
}

.page-item.disabled .page-link {
  color: #6c757d;
  pointer-events: none;
  background-color: #fff;
  border-color: #dee2e6;
}

.page-link {
  padding: 0.375rem 0.75rem;
}

.page-item:first-child .page-link {
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.page-item:last-child .page-link {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}

.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: 1.25rem;
}

.pagination-lg .page-item:first-child .page-link {
  border-top-left-radius: 0.3rem;
  border-bottom-left-radius: 0.3rem;
}

.pagination-lg .page-item:last-child .page-link {
  border-top-right-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}

.pagination-sm .page-link {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
}

.pagination-sm .page-item:first-child .page-link {
  border-top-left-radius: 0.2rem;
  border-bottom-left-radius: 0.2rem;
}

.pagination-sm .page-item:last-child .page-link {
  border-top-right-radius: 0.2rem;
  border-bottom-right-radius: 0.2rem;
}

.badge {
  display: inline-block;
  padding: 0.35em 0.65em;
  font-size: 0.75em;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
}

.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

.alert {
  position: relative;
  padding: 1rem 1rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}

.alert-heading {
  color: inherit;
}

.alert-link {
  font-weight: 700;
}

.alert-dismissible {
  padding-right: 3rem;
}

.alert-dismissible .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 1.25rem 1rem;
}

.alert-primary {
  color: #084298;
  background-color: #cfe2ff;
  border-color: #b6d4fe;
}

.alert-primary .alert-link {
  color: #06357a;
}

.alert-secondary {
  color: #41464b;
  background-color: #e2e3e5;
  border-color: #d3d6d8;
}

.alert-secondary .alert-link {
  color: #34383c;
}

.alert-success {
  color: #0f5132;
  background-color: #d1e7dd;
  border-color: #badbcc;
}

.alert-success .alert-link {
  color: #0c4128;
}

.alert-info {
  color: #055160;
  background-color: #cff4fc;
  border-color: #b6effb;
}

.alert-info .alert-link {
  color: #04414d;
}

.alert-warning {
  color: #664d03;
  background-color: #fff3cd;
  border-color: #ffecb5;
}

.alert-warning .alert-link {
  color: #523e02;
}

.alert-danger {
  color: #842029;
  background-color: #f8d7da;
  border-color: #f5c2c7;
}

.alert-danger .alert-link {
  color: #6a1a21;
}

.alert-light {
  color: #636464;
  background-color: #fefefe;
  border-color: #fdfdfe;
}

.alert-light .alert-link {
  color: #4f5050;
}

.alert-dark {
  color: #141619;
  background-color: #d3d3d4;
  border-color: #bcbebf;
}

.alert-dark .alert-link {
  color: #101214;
}

@keyframes progress-bar-stripes {
  0% {
    background-position-x: 1rem;
  }
}

.progress {
  display: flex;
  height: 1rem;
  overflow: hidden;
  font-size: 0.75rem;
  background-color: #e9ecef;
  border-radius: 0.25rem;
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #0d6efd;
  transition: width 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}

.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 1rem 1rem;
}

.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}

@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}

.list-group {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: 0.25rem;
}

.list-group-numbered {
  list-style-type: none;
  counter-reset: section;
}

.list-group-numbered > li::before {
  content: counters(section, ".") ". ";
  counter-increment: section;
}

.list-group-item-action {
  width: 100%;
  color: #495057;
  text-align: inherit;
}

.list-group-item-action:hover, .list-group-item-action:focus {
  z-index: 1;
  color: #495057;
  text-decoration: none;
  background-color: #f8f9fa;
}

.list-group-item-action:active {
  color: #212529;
  background-color: #e9ecef;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 0.5rem 1rem;
  color: #212529;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125);
}

.list-group-item:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}

.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}

.list-group-item.disabled, .list-group-item:disabled {
  color: #6c757d;
  pointer-events: none;
  background-color: #fff;
}

.list-group-item.active {
  z-index: 2;
  color: #fff;
  background-color: #0d6efd;
  border-color: #0d6efd;
}

.list-group-item + .list-group-item {
  border-top-width: 0;
}

.list-group-item + .list-group-item.active {
  margin-top: -1px;
  border-top-width: 1px;
}

.list-group-horizontal {
  flex-direction: row;
}

.list-group-horizontal > .list-group-item:first-child {
  border-bottom-left-radius: 0.25rem;
  border-top-right-radius: 0;
}

.list-group-horizontal > .list-group-item:last-child {
  border-top-right-radius: 0.25rem;
  border-bottom-left-radius: 0;
}

.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}

.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: 1px;
  border-left-width: 0;
}

.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: -1px;
  border-left-width: 1px;
}

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}

@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}

@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}

@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}

@media (min-width: 1400px) {
  .list-group-horizontal-xxl {
    flex-direction: row;
  }
  .list-group-horizontal-xxl > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}

.list-group-flush {
  border-radius: 0;
}

.list-group-flush > .list-group-item {
  border-width: 0 0 1px;
}

.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

.list-group-item-primary {
  color: #084298;
  background-color: #cfe2ff;
}

.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
  color: #084298;
  background-color: #bacbe6;
}

.list-group-item-primary.list-group-item-action.active {
  color: #fff;
  background-color: #084298;
  border-color: #084298;
}

.list-group-item-secondary {
  color: #41464b;
  background-color: #e2e3e5;
}

.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
  color: #41464b;
  background-color: #cbccce;
}

.list-group-item-secondary.list-group-item-action.active {
  color: #fff;
  background-color: #41464b;
  border-color: #41464b;
}

.list-group-item-success {
  color: #0f5132;
  background-color: #d1e7dd;
}

.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
  color: #0f5132;
  background-color: #bcd0c7;
}

.list-group-item-success.list-group-item-action.active {
  color: #fff;
  background-color: #0f5132;
  border-color: #0f5132;
}

.list-group-item-info {
  color: #055160;
  background-color: #cff4fc;
}

.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
  color: #055160;
  background-color: #badce3;
}

.list-group-item-info.list-group-item-action.active {
  color: #fff;
  background-color: #055160;
  border-color: #055160;
}

.list-group-item-warning {
  color: #664d03;
  background-color: #fff3cd;
}

.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
  color: #664d03;
  background-color: #e6dbb9;
}

.list-group-item-warning.list-group-item-action.active {
  color: #fff;
  background-color: #664d03;
  border-color: #664d03;
}

.list-group-item-danger {
  color: #842029;
  background-color: #f8d7da;
}

.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
  color: #842029;
  background-color: #dfc2c4;
}

.list-group-item-danger.list-group-item-action.active {
  color: #fff;
  background-color: #842029;
  border-color: #842029;
}

.list-group-item-light {
  color: #636464;
  background-color: #fefefe;
}

.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
  color: #636464;
  background-color: #e5e5e5;
}

.list-group-item-light.list-group-item-action.active {
  color: #fff;
  background-color: #636464;
  border-color: #636464;
}

.list-group-item-dark {
  color: #141619;
  background-color: #d3d3d4;
}

.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
  color: #141619;
  background-color: #bebebf;
}

.list-group-item-dark.list-group-item-action.active {
  color: #fff;
  background-color: #141619;
  border-color: #141619;
}

.btn-close {
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: #000;
  background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
  border: 0;
  border-radius: 0.25rem;
  opacity: 0.5;
}

.btn-close:hover {
  color: #000;
  text-decoration: none;
  opacity: 0.75;
}

.btn-close:focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  opacity: 1;
}

.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  user-select: none;
  opacity: 0.25;
}

.btn-close-white {
  filter: invert(1) grayscale(100%) brightness(200%);
}

.toast {
  width: 350px;
  max-width: 100%;
  font-size: 0.875rem;
  pointer-events: auto;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
}

.toast:not(.showing):not(.show) {
  opacity: 0;
}

.toast.hide {
  display: none;
}

.toast-container {
  width: max-content;
  max-width: 100%;
  pointer-events: none;
}

.toast-container > :not(:last-child) {
  margin-bottom: 0.75rem;
}

.toast-header {
  display: flex;
  align-items: center;
  padding: 0.5rem 0.75rem;
  color: #6c757d;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.toast-header .btn-close {
  margin-right: -0.375rem;
  margin-left: 0.75rem;
}

.toast-body {
  padding: 0.75rem;
  word-wrap: break-word;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none;
}

.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}

@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}

.modal.show .modal-dialog {
  transform: none;
}

.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  height: calc(100% - 1rem);
}

.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}

.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem);
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  outline: 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}

.modal-backdrop.fade {
  opacity: 0;
}

.modal-backdrop.show {
  opacity: 0.5;
}

.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #dee2e6;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}

.modal-header .btn-close {
  padding: 0.5rem 0.5rem;
  margin: -0.5rem -0.5rem -0.5rem auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: 1.5;
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1rem;
}

.modal-footer {
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem;
  border-top: 1px solid #dee2e6;
  border-bottom-right-radius: calc(0.3rem - 1px);
  border-bottom-left-radius: calc(0.3rem - 1px);
}

.modal-footer > * {
  margin: 0.25rem;
}

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto;
  }
  .modal-dialog-scrollable {
    height: calc(100% - 3.5rem);
  }
  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem);
  }
  .modal-sm {
    max-width: 300px;
  }
}

@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    max-width: 800px;
  }
}

@media (min-width: 1200px) {
  .modal-xl {
    max-width: 1140px;
  }
}

.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}

.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}

.modal-fullscreen .modal-header {
  border-radius: 0;
}

.modal-fullscreen .modal-body {
  overflow-y: auto;
}

.modal-fullscreen .modal-footer {
  border-radius: 0;
}

@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-header {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
  .modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
}

@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
  .modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
}

@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-header {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
  .modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
}

@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
  .modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
}

@media (max-width: 1399.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-header {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
  .modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
}

.tooltip {
  position: absolute;
  z-index: 1080;
  display: block;
  margin: 0;
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  opacity: 0;
}

.tooltip.show {
  opacity: 0.9;
}

.tooltip .tooltip-arrow {
  position: absolute;
  display: block;
  width: 0.8rem;
  height: 0.4rem;
}

.tooltip .tooltip-arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top, .bs-tooltip-auto[data-popper-placement^="top"] {
  padding: 0.4rem 0;
}

.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow {
  bottom: 0;
}

.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  top: -1px;
  border-width: 0.4rem 0.4rem 0;
  border-top-color: #000;
}

.bs-tooltip-end, .bs-tooltip-auto[data-popper-placement^="right"] {
  padding: 0 0.4rem;
}

.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow {
  left: 0;
  width: 0.4rem;
  height: 0.8rem;
}

.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before {
  right: -1px;
  border-width: 0.4rem 0.4rem 0.4rem 0;
  border-right-color: #000;
}

.bs-tooltip-bottom, .bs-tooltip-auto[data-popper-placement^="bottom"] {
  padding: 0.4rem 0;
}

.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow {
  top: 0;
}

.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before {
  bottom: -1px;
  border-width: 0 0.4rem 0.4rem;
  border-bottom-color: #000;
}

.bs-tooltip-start, .bs-tooltip-auto[data-popper-placement^="left"] {
  padding: 0 0.4rem;
}

.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow {
  right: 0;
  width: 0.4rem;
  height: 0.8rem;
}

.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before {
  left: -1px;
  border-width: 0.4rem 0 0.4rem 0.4rem;
  border-left-color: #000;
}

.tooltip-inner {
  max-width: 200px;
  padding: 0.25rem 0.5rem;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 0.25rem;
}

.popover {
  position: absolute;
  top: 0;
  left: 0 /* rtl:ignore */;
  z-index: 1070;
  display: block;
  max-width: 276px;
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
}

.popover .popover-arrow {
  position: absolute;
  display: block;
  width: 1rem;
  height: 0.5rem;
}

.popover .popover-arrow::before, .popover .popover-arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow {
  bottom: calc(-0.5rem - 1px);
}

.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before {
  bottom: 0;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after {
  bottom: 1px;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: #fff;
}

.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow {
  left: calc(-0.5rem - 1px);
  width: 0.5rem;
  height: 1rem;
}

.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before {
  left: 0;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after {
  left: 1px;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: #fff;
}

.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow {
  top: calc(-0.5rem - 1px);
}

.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before {
  top: 0;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after {
  top: 1px;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: #fff;
}

.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 1rem;
  margin-left: -0.5rem;
  content: "";
  border-bottom: 1px solid #f0f0f0;
}

.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow {
  right: calc(-0.5rem - 1px);
  width: 0.5rem;
  height: 1rem;
}

.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before {
  right: 0;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after {
  right: 1px;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: #fff;
}

.popover-header {
  padding: 0.5rem 1rem;
  margin-bottom: 0;
  font-size: 1rem;
  background-color: #f0f0f0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}

.popover-header:empty {
  display: none;
}

.popover-body {
  padding: 1rem 1rem;
  color: #212529;
}

.carousel {
  position: relative;
}

.carousel.pointer-event {
  touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

/* rtl:begin:ignore */
.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
  transform: translateX(-100%);
}

/* rtl:end:ignore */
.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
  z-index: 1;
  opacity: 1;
}

.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-start,
  .carousel-fade .active.carousel-item-end {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: none;
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}

.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
}

/* rtl:options: {
  "autoRename": true,
  "stringMap":[ {
    "name"    : "prev-next",
    "search"  : "prev",
    "replace" : "next"
  } ]
} */
.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  padding: 0;
  margin-right: 15%;
  margin-bottom: 1rem;
  margin-left: 15%;
  list-style: none;
}

.carousel-indicators [data-bs-target] {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  padding: 0;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-indicators [data-bs-target] {
    transition: none;
  }
}

.carousel-indicators .active {
  opacity: 1;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 1.25rem;
  left: 15%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  color: #fff;
  text-align: center;
}

.carousel-dark .carousel-control-prev-icon,
.carousel-dark .carousel-control-next-icon {
  filter: invert(1) grayscale(100);
}

.carousel-dark .carousel-indicators [data-bs-target] {
  background-color: #000;
}

.carousel-dark .carousel-caption {
  color: #000;
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg) /* rtl:ignore */;
  }
}

.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  border: 0.25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: 0.75s linear infinite spinner-border;
}

.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}

.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  background-color: currentColor;
  border-radius: 50%;
  opacity: 0;
  animation: 0.75s linear infinite spinner-grow;
}

.spinner-grow-sm {
  width: 1rem;
  height: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    animation-duration: 1.5s;
  }
}

.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: 1050;
  display: flex;
  flex-direction: column;
  max-width: 100%;
  visibility: hidden;
  background-color: #fff;
  background-clip: padding-box;
  outline: 0;
  transition: transform 0.3s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    transition: none;
  }
}

.offcanvas-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1rem;
}

.offcanvas-header .btn-close {
  padding: 0.5rem 0.5rem;
  margin-top: -0.5rem;
  margin-right: -0.5rem;
  margin-bottom: -0.5rem;
}

.offcanvas-title {
  margin-bottom: 0;
  line-height: 1.5;
}

.offcanvas-body {
  flex-grow: 1;
  padding: 1rem 1rem;
  overflow-y: auto;
}

.offcanvas-start {
  top: 0;
  left: 0;
  width: 400px;
  border-right: 1px solid rgba(0, 0, 0, 0.2);
  transform: translateX(-100%);
}

.offcanvas-end {
  top: 0;
  right: 0;
  width: 400px;
  border-left: 1px solid rgba(0, 0, 0, 0.2);
  transform: translateX(100%);
}

.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: 30vh;
  max-height: 100%;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  transform: translateY(-100%);
}

.offcanvas-bottom {
  right: 0;
  left: 0;
  height: 30vh;
  max-height: 100%;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  transform: translateY(100%);
}

.offcanvas.show {
  transform: none;
}

.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.link-primary {
  color: #0d6efd;
}

.link-primary:hover, .link-primary:focus {
  color: #0a58ca;
}

.link-secondary {
  color: #6c757d;
}

.link-secondary:hover, .link-secondary:focus {
  color: #565e64;
}

.link-success {
  color: #198754;
}

.link-success:hover, .link-success:focus {
  color: #146c43;
}

.link-info {
  color: #0dcaf0;
}

.link-info:hover, .link-info:focus {
  color: #3dd5f3;
}

.link-warning {
  color: #ffc107;
}

.link-warning:hover, .link-warning:focus {
  color: #ffcd39;
}

.link-danger {
  color: #dc3545;
}

.link-danger:hover, .link-danger:focus {
  color: #b02a37;
}

.link-light {
  color: #f8f9fa;
}

.link-light:hover, .link-light:focus {
  color: #f9fafb;
}

.link-dark {
  color: #212529;
}

.link-dark:hover, .link-dark:focus {
  color: #1a1e21;
}

.ratio {
  position: relative;
  width: 100%;
}

.ratio::before {
  display: block;
  padding-top: var(--bs-aspect-ratio);
  content: "";
}

.ratio > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ratio-1x1 {
  --bs-aspect-ratio: 100%;
}

.ratio-4x3 {
  --bs-aspect-ratio: calc(3 / 4 * 100%);
}

.ratio-16x9 {
  --bs-aspect-ratio: calc(9 / 16 * 100%);
}

.ratio-21x9 {
  --bs-aspect-ratio: calc(9 / 21 * 100%);
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

.sticky-top {
  position: sticky;
  top: 0;
  z-index: 1020;
}

@media (min-width: 576px) {
  .sticky-sm-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

@media (min-width: 768px) {
  .sticky-md-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

@media (min-width: 992px) {
  .sticky-lg-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

@media (min-width: 1200px) {
  .sticky-xl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

@media (min-width: 1400px) {
  .sticky-xxl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

.float-start {
  float: left !important;
}

.float-end {
  float: right !important;
}

.float-none {
  float: none !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.overflow-visible {
  overflow: visible !important;
}

.overflow-scroll {
  overflow: scroll !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-grid {
  display: grid !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

.d-none {
  display: none !important;
}

.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

.top-0 {
  top: 0 !important;
}

.top-50 {
  top: 50% !important;
}

.top-100 {
  top: 100% !important;
}

.bottom-0 {
  bottom: 0 !important;
}

.bottom-50 {
  bottom: 50% !important;
}

.bottom-100 {
  bottom: 100% !important;
}

.start-0 {
  left: 0 !important;
}

.start-50 {
  left: 50% !important;
}

.start-100 {
  left: 100% !important;
}

.end-0 {
  right: 0 !important;
}

.end-50 {
  right: 50% !important;
}

.end-100 {
  right: 100% !important;
}

.translate-middle {
  transform: translate(-50%, -50%) !important;
}

.translate-middle-x {
  transform: translateX(-50%) !important;
}

.translate-middle-y {
  transform: translateY(-50%) !important;
}

.border {
  border: 1px solid #dee2e6 !important;
}

.border-0 {
  border: 0 !important;
}

.border-top {
  border-top: 1px solid #dee2e6 !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-end {
  border-right: 1px solid #dee2e6 !important;
}

.border-end-0 {
  border-right: 0 !important;
}

.border-bottom {
  border-bottom: 1px solid #dee2e6 !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-start {
  border-left: 1px solid #dee2e6 !important;
}

.border-start-0 {
  border-left: 0 !important;
}

.border-primary {
  border-color: #0d6efd !important;
}

.border-secondary {
  border-color: #6c757d !important;
}

.border-success {
  border-color: #198754 !important;
}

.border-info {
  border-color: #0dcaf0 !important;
}

.border-warning {
  border-color: #ffc107 !important;
}

.border-danger {
  border-color: #dc3545 !important;
}

.border-light {
  border-color: #f8f9fa !important;
}

.border-dark {
  border-color: #212529 !important;
}

.border-white {
  border-color: #fff !important;
}

.border-1 {
  border-width: 1px !important;
}

.border-2 {
  border-width: 2px !important;
}

.border-3 {
  border-width: 3px !important;
}

.border-4 {
  border-width: 4px !important;
}

.border-5 {
  border-width: 5px !important;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.vw-100 {
  width: 100vw !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mh-100 {
  max-height: 100% !important;
}

.vh-100 {
  height: 100vh !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.gap-0 {
  gap: 0 !important;
}

.gap-1 {
  gap: 0.25rem !important;
}

.gap-2 {
  gap: 0.5rem !important;
}

.gap-3 {
  gap: 1rem !important;
}

.gap-4 {
  gap: 1.5rem !important;
}

.gap-5 {
  gap: 3rem !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.justify-content-evenly {
  justify-content: space-evenly !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

.order-first {
  order: -1 !important;
}

.order-0 {
  order: 0 !important;
}

.order-1 {
  order: 1 !important;
}

.order-2 {
  order: 2 !important;
}

.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-last {
  order: 6 !important;
}

.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}

.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}

.mx-3 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.mx-4 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important;
}

.mx-5 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mt-3 {
  margin-top: 1rem !important;
}

.mt-4 {
  margin-top: 1.5rem !important;
}

.mt-5 {
  margin-top: 3rem !important;
}

.mt-auto {
  margin-top: auto !important;
}

.me-0 {
  margin-right: 0 !important;
}

.me-1 {
  margin-right: 0.25rem !important;
}

.me-2 {
  margin-right: 0.5rem !important;
}

.me-3 {
  margin-right: 1rem !important;
}

.me-4 {
  margin-right: 1.5rem !important;
}

.me-5 {
  margin-right: 3rem !important;
}

.me-auto {
  margin-right: auto !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.mb-5 {
  margin-bottom: 3rem !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ms-0 {
  margin-left: 0 !important;
}

.ms-1 {
  margin-left: 0.25rem !important;
}

.ms-2 {
  margin-left: 0.5rem !important;
}

.ms-3 {
  margin-left: 1rem !important;
}

.ms-4 {
  margin-left: 1.5rem !important;
}

.ms-5 {
  margin-left: 3rem !important;
}

.ms-auto {
  margin-left: auto !important;
}

.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.px-1 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important;
}

.px-2 {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important;
}

.px-3 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.px-4 {
  padding-right: 1.5rem !important;
  padding-left: 1.5rem !important;
}

.px-5 {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.py-5 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 0.25rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.pt-3 {
  padding-top: 1rem !important;
}

.pt-4 {
  padding-top: 1.5rem !important;
}

.pt-5 {
  padding-top: 3rem !important;
}

.pe-0 {
  padding-right: 0 !important;
}

.pe-1 {
  padding-right: 0.25rem !important;
}

.pe-2 {
  padding-right: 0.5rem !important;
}

.pe-3 {
  padding-right: 1rem !important;
}

.pe-4 {
  padding-right: 1.5rem !important;
}

.pe-5 {
  padding-right: 3rem !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pb-3 {
  padding-bottom: 1rem !important;
}

.pb-4 {
  padding-bottom: 1.5rem !important;
}

.pb-5 {
  padding-bottom: 3rem !important;
}

.ps-0 {
  padding-left: 0 !important;
}

.ps-1 {
  padding-left: 0.25rem !important;
}

.ps-2 {
  padding-left: 0.5rem !important;
}

.ps-3 {
  padding-left: 1rem !important;
}

.ps-4 {
  padding-left: 1.5rem !important;
}

.ps-5 {
  padding-left: 3rem !important;
}

.font-monospace {
  font-family: var(--bs-font-monospace) !important;
}

.fs-1 {
  font-size: calc(1.375rem + 1.5vw) !important;
}

.fs-2 {
  font-size: calc(1.325rem + 0.9vw) !important;
}

.fs-3 {
  font-size: calc(1.3rem + 0.6vw) !important;
}

.fs-4 {
  font-size: calc(1.275rem + 0.3vw) !important;
}

.fs-5 {
  font-size: 1.25rem !important;
}

.fs-6 {
  font-size: 1rem !important;
}

.fst-italic {
  font-style: italic !important;
}

.fst-normal {
  font-style: normal !important;
}

.fw-light {
  font-weight: 300 !important;
}

.fw-lighter {
  font-weight: lighter !important;
}

.fw-normal {
  font-weight: 400 !important;
}

.fw-bold {
  font-weight: 700 !important;
}

.fw-bolder {
  font-weight: bolder !important;
}

.lh-1 {
  line-height: 1 !important;
}

.lh-sm {
  line-height: 1.25 !important;
}

.lh-base {
  line-height: 1.5 !important;
}

.lh-lg {
  line-height: 2 !important;
}

.text-start {
  text-align: left !important;
}

.text-end {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

.text-decoration-none {
  text-decoration: none !important;
}

.text-decoration-underline {
  text-decoration: underline !important;
}

.text-decoration-line-through {
  text-decoration: line-through !important;
}

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

/* rtl:begin:remove */
.text-break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}

/* rtl:end:remove */
.text-primary {
  color: #0d6efd !important;
}

.text-secondary {
  color: #6c757d !important;
}

.text-success {
  color: #198754 !important;
}

.text-info {
  color: #0dcaf0 !important;
}

.text-warning {
  color: #ffc107 !important;
}

.text-danger {
  color: #dc3545 !important;
}

.text-light {
  color: #f8f9fa !important;
}

.text-dark {
  color: #212529 !important;
}

.text-white {
  color: #fff !important;
}

.text-body {
  color: #212529 !important;
}

.text-muted {
  color: #6c757d !important;
}

.text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important;
}

.text-reset {
  color: inherit !important;
}

.bg-primary {
  background-color: #0d6efd !important;
}

.bg-secondary {
  background-color: #6c757d !important;
}

.bg-success {
  background-color: #198754 !important;
}

.bg-info {
  background-color: #0dcaf0 !important;
}

.bg-warning {
  background-color: #ffc107 !important;
}

.bg-danger {
  background-color: #dc3545 !important;
}

.bg-light {
  background-color: #f8f9fa !important;
}

.bg-dark {
  background-color: #212529 !important;
}

.bg-body {
  background-color: #fff !important;
}

.bg-white {
  background-color: #fff !important;
}

.bg-transparent {
  background-color: transparent !important;
}

.bg-gradient {
  background-image: var(--bs-gradient) !important;
}

.user-select-all {
  user-select: all !important;
}

.user-select-auto {
  user-select: auto !important;
}

.user-select-none {
  user-select: none !important;
}

.pe-none {
  pointer-events: none !important;
}

.pe-auto {
  pointer-events: auto !important;
}

.rounded {
  border-radius: 0.25rem !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.rounded-1 {
  border-radius: 0.2rem !important;
}

.rounded-2 {
  border-radius: 0.25rem !important;
}

.rounded-3 {
  border-radius: 0.3rem !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: 50rem !important;
}

.rounded-top {
  border-top-left-radius: 0.25rem !important;
  border-top-right-radius: 0.25rem !important;
}

.rounded-end {
  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important;
}

.rounded-bottom {
  border-bottom-right-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-start {
  border-bottom-left-radius: 0.25rem !important;
  border-top-left-radius: 0.25rem !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

@media (min-width: 576px) {
  .float-sm-start {
    float: left !important;
  }
  .float-sm-end {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .gap-sm-0 {
    gap: 0 !important;
  }
  .gap-sm-1 {
    gap: 0.25rem !important;
  }
  .gap-sm-2 {
    gap: 0.5rem !important;
  }
  .gap-sm-3 {
    gap: 1rem !important;
  }
  .gap-sm-4 {
    gap: 1.5rem !important;
  }
  .gap-sm-5 {
    gap: 3rem !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-0 {
    order: 0 !important;
  }
  .order-sm-1 {
    order: 1 !important;
  }
  .order-sm-2 {
    order: 2 !important;
  }
  .order-sm-3 {
    order: 3 !important;
  }
  .order-sm-4 {
    order: 4 !important;
  }
  .order-sm-5 {
    order: 5 !important;
  }
  .order-sm-last {
    order: 6 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-sm-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-sm-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-sm-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-sm-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mt-sm-3 {
    margin-top: 1rem !important;
  }
  .mt-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mt-sm-5 {
    margin-top: 3rem !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .me-sm-0 {
    margin-right: 0 !important;
  }
  .me-sm-1 {
    margin-right: 0.25rem !important;
  }
  .me-sm-2 {
    margin-right: 0.5rem !important;
  }
  .me-sm-3 {
    margin-right: 1rem !important;
  }
  .me-sm-4 {
    margin-right: 1.5rem !important;
  }
  .me-sm-5 {
    margin-right: 3rem !important;
  }
  .me-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-sm-3 {
    margin-bottom: 1rem !important;
  }
  .mb-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-sm-5 {
    margin-bottom: 3rem !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-left: 0 !important;
  }
  .ms-sm-1 {
    margin-left: 0.25rem !important;
  }
  .ms-sm-2 {
    margin-left: 0.5rem !important;
  }
  .ms-sm-3 {
    margin-left: 1rem !important;
  }
  .ms-sm-4 {
    margin-left: 1.5rem !important;
  }
  .ms-sm-5 {
    margin-left: 3rem !important;
  }
  .ms-sm-auto {
    margin-left: auto !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-sm-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-sm-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-sm-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-sm-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-sm-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-sm-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pt-sm-3 {
    padding-top: 1rem !important;
  }
  .pt-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pt-sm-5 {
    padding-top: 3rem !important;
  }
  .pe-sm-0 {
    padding-right: 0 !important;
  }
  .pe-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pe-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pe-sm-3 {
    padding-right: 1rem !important;
  }
  .pe-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pe-sm-5 {
    padding-right: 3rem !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pb-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-sm-5 {
    padding-bottom: 3rem !important;
  }
  .ps-sm-0 {
    padding-left: 0 !important;
  }
  .ps-sm-1 {
    padding-left: 0.25rem !important;
  }
  .ps-sm-2 {
    padding-left: 0.5rem !important;
  }
  .ps-sm-3 {
    padding-left: 1rem !important;
  }
  .ps-sm-4 {
    padding-left: 1.5rem !important;
  }
  .ps-sm-5 {
    padding-left: 3rem !important;
  }
  .text-sm-start {
    text-align: left !important;
  }
  .text-sm-end {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}

@media (min-width: 768px) {
  .float-md-start {
    float: left !important;
  }
  .float-md-end {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .gap-md-0 {
    gap: 0 !important;
  }
  .gap-md-1 {
    gap: 0.25rem !important;
  }
  .gap-md-2 {
    gap: 0.5rem !important;
  }
  .gap-md-3 {
    gap: 1rem !important;
  }
  .gap-md-4 {
    gap: 1.5rem !important;
  }
  .gap-md-5 {
    gap: 3rem !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
  .order-md-first {
    order: -1 !important;
  }
  .order-md-0 {
    order: 0 !important;
  }
  .order-md-1 {
    order: 1 !important;
  }
  .order-md-2 {
    order: 2 !important;
  }
  .order-md-3 {
    order: 3 !important;
  }
  .order-md-4 {
    order: 4 !important;
  }
  .order-md-5 {
    order: 5 !important;
  }
  .order-md-last {
    order: 6 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-md-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 0.25rem !important;
  }
  .mt-md-2 {
    margin-top: 0.5rem !important;
  }
  .mt-md-3 {
    margin-top: 1rem !important;
  }
  .mt-md-4 {
    margin-top: 1.5rem !important;
  }
  .mt-md-5 {
    margin-top: 3rem !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-right: 0 !important;
  }
  .me-md-1 {
    margin-right: 0.25rem !important;
  }
  .me-md-2 {
    margin-right: 0.5rem !important;
  }
  .me-md-3 {
    margin-right: 1rem !important;
  }
  .me-md-4 {
    margin-right: 1.5rem !important;
  }
  .me-md-5 {
    margin-right: 3rem !important;
  }
  .me-md-auto {
    margin-right: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-md-3 {
    margin-bottom: 1rem !important;
  }
  .mb-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-md-5 {
    margin-bottom: 3rem !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-left: 0 !important;
  }
  .ms-md-1 {
    margin-left: 0.25rem !important;
  }
  .ms-md-2 {
    margin-left: 0.5rem !important;
  }
  .ms-md-3 {
    margin-left: 1rem !important;
  }
  .ms-md-4 {
    margin-left: 1.5rem !important;
  }
  .ms-md-5 {
    margin-left: 3rem !important;
  }
  .ms-md-auto {
    margin-left: auto !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-md-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-md-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-md-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 0.25rem !important;
  }
  .pt-md-2 {
    padding-top: 0.5rem !important;
  }
  .pt-md-3 {
    padding-top: 1rem !important;
  }
  .pt-md-4 {
    padding-top: 1.5rem !important;
  }
  .pt-md-5 {
    padding-top: 3rem !important;
  }
  .pe-md-0 {
    padding-right: 0 !important;
  }
  .pe-md-1 {
    padding-right: 0.25rem !important;
  }
  .pe-md-2 {
    padding-right: 0.5rem !important;
  }
  .pe-md-3 {
    padding-right: 1rem !important;
  }
  .pe-md-4 {
    padding-right: 1.5rem !important;
  }
  .pe-md-5 {
    padding-right: 3rem !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-md-3 {
    padding-bottom: 1rem !important;
  }
  .pb-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-md-5 {
    padding-bottom: 3rem !important;
  }
  .ps-md-0 {
    padding-left: 0 !important;
  }
  .ps-md-1 {
    padding-left: 0.25rem !important;
  }
  .ps-md-2 {
    padding-left: 0.5rem !important;
  }
  .ps-md-3 {
    padding-left: 1rem !important;
  }
  .ps-md-4 {
    padding-left: 1.5rem !important;
  }
  .ps-md-5 {
    padding-left: 3rem !important;
  }
  .text-md-start {
    text-align: left !important;
  }
  .text-md-end {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}

@media (min-width: 992px) {
  .float-lg-start {
    float: left !important;
  }
  .float-lg-end {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .gap-lg-0 {
    gap: 0 !important;
  }
  .gap-lg-1 {
    gap: 0.25rem !important;
  }
  .gap-lg-2 {
    gap: 0.5rem !important;
  }
  .gap-lg-3 {
    gap: 1rem !important;
  }
  .gap-lg-4 {
    gap: 1.5rem !important;
  }
  .gap-lg-5 {
    gap: 3rem !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-0 {
    order: 0 !important;
  }
  .order-lg-1 {
    order: 1 !important;
  }
  .order-lg-2 {
    order: 2 !important;
  }
  .order-lg-3 {
    order: 3 !important;
  }
  .order-lg-4 {
    order: 4 !important;
  }
  .order-lg-5 {
    order: 5 !important;
  }
  .order-lg-last {
    order: 6 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-lg-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mt-lg-3 {
    margin-top: 1rem !important;
  }
  .mt-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mt-lg-5 {
    margin-top: 3rem !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .me-lg-0 {
    margin-right: 0 !important;
  }
  .me-lg-1 {
    margin-right: 0.25rem !important;
  }
  .me-lg-2 {
    margin-right: 0.5rem !important;
  }
  .me-lg-3 {
    margin-right: 1rem !important;
  }
  .me-lg-4 {
    margin-right: 1.5rem !important;
  }
  .me-lg-5 {
    margin-right: 3rem !important;
  }
  .me-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-lg-3 {
    margin-bottom: 1rem !important;
  }
  .mb-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-lg-5 {
    margin-bottom: 3rem !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-left: 0 !important;
  }
  .ms-lg-1 {
    margin-left: 0.25rem !important;
  }
  .ms-lg-2 {
    margin-left: 0.5rem !important;
  }
  .ms-lg-3 {
    margin-left: 1rem !important;
  }
  .ms-lg-4 {
    margin-left: 1.5rem !important;
  }
  .ms-lg-5 {
    margin-left: 3rem !important;
  }
  .ms-lg-auto {
    margin-left: auto !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-lg-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-lg-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-lg-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pt-lg-3 {
    padding-top: 1rem !important;
  }
  .pt-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pt-lg-5 {
    padding-top: 3rem !important;
  }
  .pe-lg-0 {
    padding-right: 0 !important;
  }
  .pe-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pe-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pe-lg-3 {
    padding-right: 1rem !important;
  }
  .pe-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pe-lg-5 {
    padding-right: 3rem !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pb-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-lg-5 {
    padding-bottom: 3rem !important;
  }
  .ps-lg-0 {
    padding-left: 0 !important;
  }
  .ps-lg-1 {
    padding-left: 0.25rem !important;
  }
  .ps-lg-2 {
    padding-left: 0.5rem !important;
  }
  .ps-lg-3 {
    padding-left: 1rem !important;
  }
  .ps-lg-4 {
    padding-left: 1.5rem !important;
  }
  .ps-lg-5 {
    padding-left: 3rem !important;
  }
  .text-lg-start {
    text-align: left !important;
  }
  .text-lg-end {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}

@media (min-width: 1200px) {
  .float-xl-start {
    float: left !important;
  }
  .float-xl-end {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .gap-xl-0 {
    gap: 0 !important;
  }
  .gap-xl-1 {
    gap: 0.25rem !important;
  }
  .gap-xl-2 {
    gap: 0.5rem !important;
  }
  .gap-xl-3 {
    gap: 1rem !important;
  }
  .gap-xl-4 {
    gap: 1.5rem !important;
  }
  .gap-xl-5 {
    gap: 3rem !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-0 {
    order: 0 !important;
  }
  .order-xl-1 {
    order: 1 !important;
  }
  .order-xl-2 {
    order: 2 !important;
  }
  .order-xl-3 {
    order: 3 !important;
  }
  .order-xl-4 {
    order: 4 !important;
  }
  .order-xl-5 {
    order: 5 !important;
  }
  .order-xl-last {
    order: 6 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xl-3 {
    margin-top: 1rem !important;
  }
  .mt-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xl-5 {
    margin-top: 3rem !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .me-xl-0 {
    margin-right: 0 !important;
  }
  .me-xl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xl-3 {
    margin-right: 1rem !important;
  }
  .me-xl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xl-5 {
    margin-right: 3rem !important;
  }
  .me-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-left: 0 !important;
  }
  .ms-xl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xl-3 {
    margin-left: 1rem !important;
  }
  .ms-xl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xl-5 {
    margin-left: 3rem !important;
  }
  .ms-xl-auto {
    margin-left: auto !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xl-3 {
    padding-top: 1rem !important;
  }
  .pt-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xl-5 {
    padding-top: 3rem !important;
  }
  .pe-xl-0 {
    padding-right: 0 !important;
  }
  .pe-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xl-3 {
    padding-right: 1rem !important;
  }
  .pe-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xl-5 {
    padding-right: 3rem !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xl-0 {
    padding-left: 0 !important;
  }
  .ps-xl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xl-3 {
    padding-left: 1rem !important;
  }
  .ps-xl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xl-5 {
    padding-left: 3rem !important;
  }
  .text-xl-start {
    text-align: left !important;
  }
  .text-xl-end {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}

@media (min-width: 1400px) {
  .float-xxl-start {
    float: left !important;
  }
  .float-xxl-end {
    float: right !important;
  }
  .float-xxl-none {
    float: none !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .gap-xxl-0 {
    gap: 0 !important;
  }
  .gap-xxl-1 {
    gap: 0.25rem !important;
  }
  .gap-xxl-2 {
    gap: 0.5rem !important;
  }
  .gap-xxl-3 {
    gap: 1rem !important;
  }
  .gap-xxl-4 {
    gap: 1.5rem !important;
  }
  .gap-xxl-5 {
    gap: 3rem !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
  .order-xxl-first {
    order: -1 !important;
  }
  .order-xxl-0 {
    order: 0 !important;
  }
  .order-xxl-1 {
    order: 1 !important;
  }
  .order-xxl-2 {
    order: 2 !important;
  }
  .order-xxl-3 {
    order: 3 !important;
  }
  .order-xxl-4 {
    order: 4 !important;
  }
  .order-xxl-5 {
    order: 5 !important;
  }
  .order-xxl-last {
    order: 6 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 0.25rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 1rem !important;
  }
  .m-xxl-4 {
    margin: 1.5rem !important;
  }
  .m-xxl-5 {
    margin: 3rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xxl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xxl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xxl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xxl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xxl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xxl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xxl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xxl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xxl-3 {
    margin-top: 1rem !important;
  }
  .mt-xxl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xxl-5 {
    margin-top: 3rem !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .me-xxl-0 {
    margin-right: 0 !important;
  }
  .me-xxl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xxl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xxl-3 {
    margin-right: 1rem !important;
  }
  .me-xxl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xxl-5 {
    margin-right: 3rem !important;
  }
  .me-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xxl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xxl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xxl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-left: 0 !important;
  }
  .ms-xxl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xxl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xxl-3 {
    margin-left: 1rem !important;
  }
  .ms-xxl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xxl-5 {
    margin-left: 3rem !important;
  }
  .ms-xxl-auto {
    margin-left: auto !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 0.25rem !important;
  }
  .p-xxl-2 {
    padding: 0.5rem !important;
  }
  .p-xxl-3 {
    padding: 1rem !important;
  }
  .p-xxl-4 {
    padding: 1.5rem !important;
  }
  .p-xxl-5 {
    padding: 3rem !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xxl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xxl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xxl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xxl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xxl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xxl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xxl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xxl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xxl-3 {
    padding-top: 1rem !important;
  }
  .pt-xxl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xxl-5 {
    padding-top: 3rem !important;
  }
  .pe-xxl-0 {
    padding-right: 0 !important;
  }
  .pe-xxl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xxl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xxl-3 {
    padding-right: 1rem !important;
  }
  .pe-xxl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xxl-5 {
    padding-right: 3rem !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xxl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xxl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xxl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xxl-0 {
    padding-left: 0 !important;
  }
  .ps-xxl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xxl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xxl-3 {
    padding-left: 1rem !important;
  }
  .ps-xxl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xxl-5 {
    padding-left: 3rem !important;
  }
  .text-xxl-start {
    text-align: left !important;
  }
  .text-xxl-end {
    text-align: right !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
}

@media (min-width: 1200px) {
  .fs-1 {
    font-size: 2.5rem !important;
  }
  .fs-2 {
    font-size: 2rem !important;
  }
  .fs-3 {
    font-size: 1.75rem !important;
  }
  .fs-4 {
    font-size: 1.5rem !important;
  }
}

@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}

@supports (display: grid) {
  .site-grid {
    display: grid;
    grid-template-areas: ". head head head head ." ". banner banner banner banner ." ". top-a top-a top-a top-a ." ". top-b top-b top-b top-b ." ". comp comp comp comp ." ". side-r side-r side-r side-r ." ". side-l side-l side-l side-l ." ". bot-a bot-a bot-a bot-a ." ". bot-b bot-b bot-b bot-b ." ". footer footer footer footer ." ". debug debug debug debug .";
    grid-template-columns: [full-start] minmax(0, 1fr) [main-start] repeat(4, minmax(0, 19.875rem)) [main-end] minmax(0, 1fr) [full-end];
    grid-gap: 0 1.5rem;
  }
  .site-grid > [class^="container-"],
  .site-grid > [class*=" container-"] {
    width: 100%;
    max-width: none;
    column-gap: 1.5rem;
  }
  .site-grid:not(.has-sidebar-left) .container-component {
    grid-column-start: main-start;
  }
  .site-grid:not(.has-sidebar-right) .container-component {
    grid-column-end: main-end;
  }
  .site-grid > .full-width {
    grid-column: full-start / full-end;
  }
  @media (min-width: 768px) {
    .site-grid {
      grid-template-areas: ". head head head head ." ". banner banner banner banner ." ". top-a top-a top-a top-a ." ". top-b top-b top-b top-b ." ". side-l comp comp side-r ." ". bot-a bot-a bot-a bot-a ." ". bot-b bot-b bot-b bot-b ." ". footer footer footer footer .";
    }
  }
  .site-grid.wrapper-fluid {
    grid-template-columns: [full-start] minmax(0, 1fr) [main-start] repeat(4, minmax(0, 25%)) [main-end] minmax(0, 1fr) [full-end];
    grid-gap: 0 3rem;
  }
  .site-grid.wrapper-fluid .grid-child {
    max-width: none;
  }
  .site-grid.wrapper-fluid header > .grid-child,
  .site-grid.wrapper-fluid footer > .grid-child {
    padding-right: 3rem;
    padding-left: 3rem;
  }
}

.container-header {
  grid-area: head;
}

.container-banner {
  grid-area: banner;
}

.container-top-a {
  grid-area: top-a;
}

.container-top-b {
  grid-area: top-b;
}

.container-component {
  grid-area: comp;
}

.container-sidebar-left {
  grid-area: side-l;
}

.container-sidebar-right {
  grid-area: side-r;
}

.container-main-top {
  grid-area: main-t;
}

.container-main-bottom {
  grid-area: main-b;
}

.container-breadcrumbs {
  grid-area: bread;
}

.container-bottom-a {
  grid-area: bot-a;
}

.container-bottom-b {
  grid-area: bot-b;
}

.container-footer {
  grid-area: footer;
}

.error_site .page-header {
  margin-top: 1.5rem;
}

[class^="container-"] .span-col-2,
[class*=" container-"] .span-col-2 {
  flex: 0 0 50%;
  max-width: calc(50% - 1.5rem);
}

[class^="container-"] .span-col-3,
[class*=" container-"] .span-col-3 {
  flex: 0 0 33.333%;
  max-width: calc(33.333% - 1.5rem);
}

[class^="container-"] .span-col-4,
[class*=" container-"] .span-col-4 {
  flex: 0 0 25%;
  max-width: calc(25% - 1.5rem);
}

@supports (display: grid) {
  [class^="span-"],
  [class*=" span-"] {
    grid-column-end: auto;
    grid-row-end: auto;
  }
  @media (min-width: 576px) {
    [class^="span-col"],
    [class*=" span-col"] {
      grid-column-end: span 2;
    }
  }
  @media (min-width: 768px) {
    .span-col-2 {
      grid-column-end: span 2;
    }
    .span-col-3 {
      grid-column-end: span 3;
    }
    .span-col-4 {
      grid-column-end: span 4;
    }
    .span-row-2 {
      grid-row-end: span 2;
    }
    .span-row-3 {
      grid-row-end: span 3;
    }
    .span-row-4 {
      grid-row-end: span 4;
    }
  }
  [class^="container-"] [class^="span-"],
  [class^="container-"] [class*=" span-"],
  [class*=" container-"] [class^="span-"],
  [class*=" container-"] [class*=" span-"] {
    flex: 0 1 auto;
    max-width: none;
  }
}

.blog-items {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding: 0;
  margin-right: -0.75rem;
  margin-bottom: 1.5rem;
  margin-left: -0.75rem;
}

@media (min-width: 768px) {
  .blog-items.columns-2 > div {
    width: 50%;
  }
  .blog-items.columns-3 > div {
    width: 33.33333%;
  }
  .blog-items.columns-4 > div {
    width: 25%;
  }
}

.blog-item {
  display: flex;
  flex-direction: column;
  padding: 0 0.75rem 1.5rem;
  overflow: hidden;
}

.boxed .blog-item {
  background-color: #fff;
  box-shadow: 0 0 2px rgba(51, 57, 66, 0.1), 0 2px 5px rgba(51, 57, 66, 0.08), 0 5px 15px rgba(51, 57, 66, 0.08), inset 0 3px 0 var(--cassiopeia-color-primary);
}

.boxed .blog-item .item-content {
  padding: 25px;
}

.image-left .blog-item,
.image-right .blog-item {
  flex-direction: row;
}

.image-left .blog-item .item-image,
.image-right .blog-item .item-image {
  flex: 1 0 40%;
}

.blog-item .item-image {
  margin-top: 3px;
  margin-bottom: 15px;
  overflow: hidden;
}

.boxed .blog-item .item-image {
  margin-bottom: 0;
}

.image-right .blog-item .item-image {
  order: 1;
}

.image-bottom .blog-item .item-image {
  margin-top: -15px;
  order: 1;
}

.image-left .blog-item .item-content {
  padding-left: 25px;
}

.image-right .blog-item .item-content {
  padding-right: 25px;
}

.image-left .blog-item,
.image-right .blog-item {
  flex-direction: column;
}

@media (min-width: 768px) {
  .image-left .blog-item,
  .image-right .blog-item {
    flex-direction: row;
  }
}

.article-info dd {
  padding: 0;
}

@supports (display: grid) {
  .blog-items {
    display: grid;
    margin: 0 0 1.5rem;
    grid-auto-flow: row;
    grid-template-columns: 1fr;
    grid-gap: 1.5rem;
  }
  .blog-items .blog-item {
    padding: 0;
  }
  .blog-items[class^="columns-"] > div, .blog-items[class*=" columns-"] > div {
    flex: 0 1 auto;
    width: auto;
    max-width: none;
  }
  @media (min-width: 768px) {
    .blog-items.columns-2 {
      grid-template-columns: 1fr 1fr;
    }
    .blog-items.columns-3 {
      grid-template-columns: 1fr 1fr 1fr;
    }
    .blog-items.columns-4 {
      grid-template-columns: 1fr 1fr 1fr 1fr;
    }
  }
}

.blog-items[class^="masonry-"], .blog-items[class*=" masonry-"] {
  display: block;
  column-gap: 1.5rem;
}

.blog-items[class^="masonry-"] .blog-item, .blog-items[class*=" masonry-"] .blog-item {
  display: inline-flex;
  margin-bottom: 1.5rem;
  page-break-inside: avoid;
  break-inside: avoid;
}

@media (min-width: 768px) {
  .blog-items.masonry-2 {
    column-count: 2;
  }
  .blog-items.masonry-3 {
    column-count: 3;
  }
  .blog-items.masonry-4 {
    column-count: 4;
  }
}

.image-alternate .blog-item:nth-of-type(2n+1) .item-image {
  order: 0;
}

.image-alternate.image-left .blog-item:nth-of-type(2n+1) .item-image {
  margin-right: 0;
  margin-left: 25px;
  order: 1;
}

.image-alternate.image-top .blog-item:nth-of-type(2n+1) .item-image {
  order: 1;
}

.breadcrumb {
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
}

.no-card .newsflash-horiz li {
  padding: 0 1rem 1rem;
  border: 1px solid #dee2e6;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}

.no-card .newsflash-horiz li figure {
  margin: 0 -1rem 1rem;
}

.mod-list {
  padding-inline-start: 0;
  list-style: none;
}

.mod-list li {
  padding: .25em 0;
}

.mod-list li a {
  text-decoration: none;
}

.mod-list li a:hover {
  text-decoration: underline;
}

.container-header .mod-list li a:hover {
  text-decoration: none;
}

.mod-list li.active > a {
  text-decoration: underline;
}

.container-header .mod-list li.active > a {
  text-decoration: none;
}

.mod-list li .mod-menu__sub {
  padding-left: 1.5rem;
}

.form-control {
  max-width: 100%;
  background-color: #fff;
}

.form-control.input-xlarge {
  max-width: 21.875rem;
}

.form-control.input-xxlarge {
  max-width: 34.375rem;
}

.form-control.input-full {
  max-width: 100%;
}

.spacer hr {
  width: 23.75rem;
}

.form-select {
  max-width: 100%;
}

.form-inline .form-select {
  display: inline-block;
  width: auto;
}

@media (max-width: 767.98px) {
  .form-inline .form-select {
    width: 100%;
  }
}

td .form-control {
  display: inline-block;
  width: auto;
}

.checkboxes {
  padding-top: 5px;
}

.checkboxes .checkbox input {
  position: static;
  margin-left: 0;
}

.modal label {
  width: 100%;
}

.invalid {
  color: #dc3545;
  border-color: #dc3545;
}

.valid {
  border-color: #198754;
}

.form-control-feedback {
  display: block;
}

[role="tooltip"]:not(.show) {
  right: 5em;
  z-index: 1080;
  display: none;
  max-width: 100%;
  padding: .5em;
  margin: .5em;
  color: #000;
  text-align: start;
  background: #fff;
  border: 1px solid #6c757d;
  border-radius: 0.25rem;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.8);
}

[role="tooltip"]:not(.show)[id^=editarticle-] {
  right: auto;
  margin-inline-start: -10em;
}

[role="tooltip"]:not(.show)[id^=editcontact-] {
  right: auto;
  margin-inline-start: -10em;
}

:focus + [role="tooltip"],
:hover + [role="tooltip"] {
  position: absolute;
  display: block;
}

[id="filter[search]-desc"] {
  bottom: 100%;
}

fieldset {
  margin-bottom: 3rem;
}

fieldset + fieldset {
  margin-top: 3rem;
}

fieldset > * {
  margin-bottom: 0;
}

.control-group {
  margin: 1.5rem 0;
}

.container-popup [id="filter[search]-desc"] {
  top: 100%;
  bottom: auto;
}

.com-users-login__options {
  margin-top: 3rem;
}

.chzn-container-single {
  width: auto !important;
}

.chzn-container-multi {
  width: 100% !important;
  max-width: 240px;
}

.list-inline {
  margin-left: 0;
}

.list-inline-item {
  display: inline-block;
}

.list-inline-item .btn {
  border: 1px solid;
  padding: 5px 8px;
}

.list-inline-item:not(:last-child) {
  margin-right: 0.5rem;
}

.blog figure {
  margin: 0;
}

.platform-content.container {
  max-width: 100% !important;
}

body,
.dropdown-item {
  text-align: right;
}

.float-right {
  float: left !important;
}

.float-left {
  float: right !important;
}

.form-check {
  padding-right: 1.25rem;
  padding-left: 0;
}

.form-check-input {
  margin-right: -1.25rem;
}

.list-unstyled {
  padding-right: 0;
}

.nav {
  padding-right: 0;
}

.metismenu.mod-menu .mm-toggler:after {
  margin-right: .5em;
  margin-left: 0;
}

.container-header .container-nav .container-search:only-child {
  margin-right: auto;
  margin-left: 0;
}

.container-header .mod-menu > li {
  margin-left: 1.55em;
}

.skip-to [role="separator"] {
  text-align: right !important;
}

.awesomplete input {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group > .form-control:not(:last-child),
.input-group > .form-select:not(:last-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}

.btn-group > .btn:first-child:not(.dropdown-toggle) {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}

.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  margin-left: -1px;
}

.btn-group > .btn:last-child:not(.dropdown-toggle) {
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
engines/nucleus/css-compiled/nucleus.css000060400000047530150753125220014433 0ustar00@charset "UTF-8";
.g-main-nav .g-dropdown, .g-main-nav .g-standard .g-dropdown .g-dropdown { position: absolute; top: auto; left: auto; opacity: 0; visibility: hidden; overflow: hidden; }

.g-main-nav .g-standard .g-dropdown.g-active, .g-main-nav .g-fullwidth .g-dropdown.g-active { opacity: 1; visibility: visible; overflow: visible; }

.g-main-nav ul, #g-mobilemenu-container ul { margin: 0; padding: 0; list-style: none; }

@-webkit-viewport { width: device-width; }

@-moz-viewport { width: device-width; }

@-ms-viewport { width: device-width; }

@-o-viewport { width: device-width; }

@viewport { width: device-width; }

html { height: 100%; font-size: 100%; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; box-sizing: border-box; }

*, *::before, *::after { box-sizing: inherit; }

body { margin: 0; }

#g-page-surround { min-height: 100vh; position: relative; overflow: hidden; }

article, aside, details, footer, header, hgroup, main, nav, section, summary { display: block; }

audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }

audio:not([controls]) { display: none; height: 0; }

[hidden], template { display: none; }

a { background: transparent; text-decoration: none; }

a:active, a:hover { outline: 0; }

abbr[title] { border-bottom: 1px dotted; }

b, strong { font-weight: bold; }

dfn { font-style: italic; }

mark { background: #ff0; color: #000; }

sub, sup { line-height: 0; position: relative; vertical-align: baseline; }

sup { top: -0.5em; }

sub { bottom: -0.25em; }

img { height: auto; max-width: 100%; display: inline-block; vertical-align: middle; border: 0; -ms-interpolation-mode: bicubic; }

iframe, svg { max-width: 100%; }

svg:not(:root) { overflow: hidden; }

figure { margin: 1em 40px; }

hr { height: 0; }

pre { overflow: auto; }

code { vertical-align: bottom; }

button, input, optgroup, select, textarea { color: inherit; font: inherit; margin: 0; }

button { overflow: visible; }

button, select { text-transform: none; }

button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; }

button[disabled], html input[disabled] { cursor: default; }

button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }

input { line-height: normal; }

input[type="checkbox"], input[type="radio"] { padding: 0; }

input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }

input[type="search"] { -webkit-appearance: textfield; }

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

legend { border: 0; padding: 0; }

textarea { overflow: auto; }

optgroup { font-weight: bold; }

table { border-collapse: collapse; border-spacing: 0; width: 100%; }

tr, td, th { vertical-align: middle; }

th, td { padding: 0.375rem 0; }

th { text-align: left; }

@media print { body { background: #fff !important; color: #000 !important; } }

.g-container { margin: 0 auto; padding: 0; }

.g-block .g-container { width: auto; }

.g-grid { display: flex; flex-flow: row wrap; list-style: none; margin: 0; padding: 0; text-rendering: optimizespeed; }

.g-grid.nowrap { flex-flow: row; }

.g-block { flex: 1; min-width: 0; min-height: 0; }

.first-block { -webkit-box-ordinal-group: 0; -webkit-order: -1; -ms-flex-order: -1; order: -1; }

.last-block { -webkit-box-ordinal-group: 2; -webkit-order: 1; -ms-flex-order: 1; order: 1; }

.size-5 { flex: 0 5%; width: 5%; }

.size-6 { flex: 0 6%; width: 6%; }

.size-7 { flex: 0 7%; width: 7%; }

.size-8 { flex: 0 8%; width: 8%; }

.size-9 { flex: 0 9%; width: 9%; }

.size-10 { flex: 0 10%; width: 10%; }

.size-11 { flex: 0 11%; width: 11%; }

.size-12 { flex: 0 12%; width: 12%; }

.size-13 { flex: 0 13%; width: 13%; }

.size-14 { flex: 0 14%; width: 14%; }

.size-15 { flex: 0 15%; width: 15%; }

.size-16 { flex: 0 16%; width: 16%; }

.size-17 { flex: 0 17%; width: 17%; }

.size-18 { flex: 0 18%; width: 18%; }

.size-19 { flex: 0 19%; width: 19%; }

.size-20 { flex: 0 20%; width: 20%; }

.size-21 { flex: 0 21%; width: 21%; }

.size-22 { flex: 0 22%; width: 22%; }

.size-23 { flex: 0 23%; width: 23%; }

.size-24 { flex: 0 24%; width: 24%; }

.size-25 { flex: 0 25%; width: 25%; }

.size-26 { flex: 0 26%; width: 26%; }

.size-27 { flex: 0 27%; width: 27%; }

.size-28 { flex: 0 28%; width: 28%; }

.size-29 { flex: 0 29%; width: 29%; }

.size-30 { flex: 0 30%; width: 30%; }

.size-31 { flex: 0 31%; width: 31%; }

.size-32 { flex: 0 32%; width: 32%; }

.size-33 { flex: 0 33%; width: 33%; }

.size-34 { flex: 0 34%; width: 34%; }

.size-35 { flex: 0 35%; width: 35%; }

.size-36 { flex: 0 36%; width: 36%; }

.size-37 { flex: 0 37%; width: 37%; }

.size-38 { flex: 0 38%; width: 38%; }

.size-39 { flex: 0 39%; width: 39%; }

.size-40 { flex: 0 40%; width: 40%; }

.size-41 { flex: 0 41%; width: 41%; }

.size-42 { flex: 0 42%; width: 42%; }

.size-43 { flex: 0 43%; width: 43%; }

.size-44 { flex: 0 44%; width: 44%; }

.size-45 { flex: 0 45%; width: 45%; }

.size-46 { flex: 0 46%; width: 46%; }

.size-47 { flex: 0 47%; width: 47%; }

.size-48 { flex: 0 48%; width: 48%; }

.size-49 { flex: 0 49%; width: 49%; }

.size-50 { flex: 0 50%; width: 50%; }

.size-51 { flex: 0 51%; width: 51%; }

.size-52 { flex: 0 52%; width: 52%; }

.size-53 { flex: 0 53%; width: 53%; }

.size-54 { flex: 0 54%; width: 54%; }

.size-55 { flex: 0 55%; width: 55%; }

.size-56 { flex: 0 56%; width: 56%; }

.size-57 { flex: 0 57%; width: 57%; }

.size-58 { flex: 0 58%; width: 58%; }

.size-59 { flex: 0 59%; width: 59%; }

.size-60 { flex: 0 60%; width: 60%; }

.size-61 { flex: 0 61%; width: 61%; }

.size-62 { flex: 0 62%; width: 62%; }

.size-63 { flex: 0 63%; width: 63%; }

.size-64 { flex: 0 64%; width: 64%; }

.size-65 { flex: 0 65%; width: 65%; }

.size-66 { flex: 0 66%; width: 66%; }

.size-67 { flex: 0 67%; width: 67%; }

.size-68 { flex: 0 68%; width: 68%; }

.size-69 { flex: 0 69%; width: 69%; }

.size-70 { flex: 0 70%; width: 70%; }

.size-71 { flex: 0 71%; width: 71%; }

.size-72 { flex: 0 72%; width: 72%; }

.size-73 { flex: 0 73%; width: 73%; }

.size-74 { flex: 0 74%; width: 74%; }

.size-75 { flex: 0 75%; width: 75%; }

.size-76 { flex: 0 76%; width: 76%; }

.size-77 { flex: 0 77%; width: 77%; }

.size-78 { flex: 0 78%; width: 78%; }

.size-79 { flex: 0 79%; width: 79%; }

.size-80 { flex: 0 80%; width: 80%; }

.size-81 { flex: 0 81%; width: 81%; }

.size-82 { flex: 0 82%; width: 82%; }

.size-83 { flex: 0 83%; width: 83%; }

.size-84 { flex: 0 84%; width: 84%; }

.size-85 { flex: 0 85%; width: 85%; }

.size-86 { flex: 0 86%; width: 86%; }

.size-87 { flex: 0 87%; width: 87%; }

.size-88 { flex: 0 88%; width: 88%; }

.size-89 { flex: 0 89%; width: 89%; }

.size-90 { flex: 0 90%; width: 90%; }

.size-91 { flex: 0 91%; width: 91%; }

.size-92 { flex: 0 92%; width: 92%; }

.size-93 { flex: 0 93%; width: 93%; }

.size-94 { flex: 0 94%; width: 94%; }

.size-95 { flex: 0 95%; width: 95%; }

.size-33-3 { flex: 0 33.33333%; width: 33.33333%; max-width: 33.33333%; }

.size-16-7 { flex: 0 16.66667%; width: 16.66667%; max-width: 16.66667%; }

.size-14-3 { flex: 0 14.28571%; width: 14.28571%; max-width: 14.28571%; }

.size-12-5 { flex: 0 12.5%; width: 12.5%; max-width: 12.5%; }

.size-11-1 { flex: 0 11.11111%; width: 11.11111%; max-width: 11.11111%; }

.size-9-1 { flex: 0 9.09091%; width: 9.09091%; max-width: 9.09091%; }

.size-8-3 { flex: 0 8.33333%; width: 8.33333%; max-width: 8.33333%; }

.size-100 { width: 100%; max-width: 100%; flex-grow: 0; flex-basis: 100%; }

.g-main-nav:not(.g-menu-hastouch) .g-dropdown { z-index: 10; top: -9999px; }

.g-main-nav:not(.g-menu-hastouch) .g-dropdown.g-active { top: 100%; }

.g-main-nav:not(.g-menu-hastouch) .g-dropdown .g-dropdown { top: 0; }

.g-main-nav:not(.g-menu-hastouch) .g-fullwidth .g-dropdown.g-active { top: auto; }

.g-main-nav:not(.g-menu-hastouch) .g-fullwidth .g-dropdown .g-dropdown.g-active { top: 0; }

.g-main-nav .g-toplevel > li { display: inline-block; cursor: pointer; transition: background .2s ease-out, transform .2s ease-out; }

.g-main-nav .g-toplevel > li.g-menu-item-type-particle, .g-main-nav .g-toplevel > li.g-menu-item-type-module { cursor: initial; }

.g-main-nav .g-toplevel > li .g-menu-item-content { display: inline-block; vertical-align: middle; cursor: pointer; }

.g-main-nav .g-toplevel > li .g-menu-item-container { transition: transform .2s ease-out; }

.g-main-nav .g-toplevel > li.g-parent .g-menu-parent-indicator { display: inline-block; vertical-align: middle; line-height: normal; }

.g-main-nav .g-toplevel > li.g-parent .g-menu-parent-indicator:after { display: inline-block; cursor: pointer; width: 1.5rem; opacity: 0.5; font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", FontAwesome; font-weight: 900; content: ""; text-align: right; }

.g-main-nav .g-toplevel > li.g-parent.g-selected > .g-menu-item-container > .g-menu-parent-indicator:after { content: ""; }

.g-main-nav .g-dropdown { transition: opacity .2s ease-out, transform .2s ease-out; z-index: 1; }

.g-main-nav .g-sublevel > li { transition: background .2s ease-out, transform .2s ease-out; }

.g-main-nav .g-sublevel > li.g-menu-item-type-particle, .g-main-nav .g-sublevel > li.g-menu-item-type-module { cursor: initial; }

.g-main-nav .g-sublevel > li .g-menu-item-content { display: inline-block; vertical-align: middle; word-break: break-word; }

.g-main-nav .g-sublevel > li.g-parent .g-menu-item-content { margin-right: 2rem; }

.g-main-nav .g-sublevel > li.g-parent .g-menu-parent-indicator { position: absolute; right: 0.738rem; top: 0.838rem; width: auto; text-align: center; }

.g-main-nav .g-sublevel > li.g-parent .g-menu-parent-indicator:after { content: ""; text-align: center; }

.g-main-nav .g-sublevel > li.g-parent.g-selected > .g-menu-item-container > .g-menu-parent-indicator:after { content: ""; }

[dir="rtl"] .g-main-nav .g-sublevel > li.g-parent .g-menu-item-content { margin-right: inherit; margin-left: 2rem; text-align: right; }

[dir="rtl"] .g-main-nav .g-sublevel > li.g-parent .g-menu-parent-indicator { right: inherit; left: 0.738rem; transform: rotate(180deg); }

.g-menu-item-container { display: block; position: relative; }

.g-menu-item-container input, .g-menu-item-container textarea { color: #666; }

.g-main-nav .g-standard { position: relative; }

.g-main-nav .g-standard .g-sublevel > li { position: relative; }

.g-main-nav .g-standard .g-dropdown { top: 100%; }

.g-main-nav .g-standard .g-dropdown.g-dropdown-left { right: 0; }

.g-main-nav .g-standard .g-dropdown.g-dropdown-center { left: 50%; transform: translateX(-50%); }

.g-main-nav .g-standard .g-dropdown.g-dropdown-right { left: 0; }

.g-main-nav .g-standard .g-dropdown .g-dropdown { top: 0; }

.g-main-nav .g-standard .g-dropdown .g-dropdown.g-dropdown-left { left: auto; right: 100%; }

.g-main-nav .g-standard .g-dropdown .g-dropdown.g-dropdown-right { left: 100%; right: auto; }

.g-main-nav .g-standard .g-dropdown .g-block { flex-grow: 0; flex-basis: 100%; }

.g-main-nav .g-standard .g-go-back { display: none; }

.g-main-nav .g-fullwidth .g-dropdown { position: absolute; left: 0; right: 0; }

.g-main-nav .g-fullwidth .g-dropdown.g-dropdown-left { right: 0; left: inherit; }

.g-main-nav .g-fullwidth .g-dropdown.g-dropdown-center { left: inherit; right: inherit; left: 50%; transform: translateX(-50%); }

.g-main-nav .g-fullwidth .g-dropdown.g-dropdown-right { left: 0; right: inherit; }

.g-main-nav .g-fullwidth .g-dropdown .g-block { position: relative; overflow: hidden; }

.g-main-nav .g-fullwidth .g-dropdown .g-go-back { display: block; }

.g-main-nav .g-fullwidth .g-dropdown .g-go-back.g-level-1 { display: none; }

.g-main-nav .g-fullwidth .g-sublevel .g-dropdown { top: 0; transform: translateX(100%); }

.g-main-nav .g-fullwidth .g-sublevel .g-dropdown.g-active { transform: translateX(0); }

.g-main-nav .g-fullwidth .g-sublevel.g-slide-out > .g-menu-item > .g-menu-item-container { transform: translateX(-100%); }

.g-go-back.g-level-1 { display: none; }

.g-go-back a span { display: none; }

.g-go-back a:before { display: block; text-align: center; width: 1.28571em; font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", FontAwesome; font-weight: 900; content: ""; opacity: 0.5; }

.g-menu-item-container > i { vertical-align: middle; margin-right: 0.2rem; }

.g-menu-item-subtitle { display: block; font-size: 0.8rem; line-height: 1.1; }

.g-nav-overlay, .g-menu-overlay { top: 0; right: 0; bottom: 0; left: 0; z-index: -1; opacity: 0; position: absolute; transition: opacity .3s ease-out, z-index .1s ease-out; }

#g-mobilemenu-container .g-toplevel { position: relative; }

#g-mobilemenu-container .g-toplevel li { display: block; position: static !important; margin-right: 0; cursor: pointer; }

#g-mobilemenu-container .g-toplevel li .g-menu-item-container { padding: 0.938rem 1rem; }

#g-mobilemenu-container .g-toplevel li .g-menu-item-content { display: inline-block; line-height: 1rem; }

#g-mobilemenu-container .g-toplevel li.g-parent > .g-menu-item-container > .g-menu-item-content { position: relative; }

#g-mobilemenu-container .g-toplevel li.g-parent .g-menu-parent-indicator { position: absolute; right: 0.938rem; text-align: center; }

#g-mobilemenu-container .g-toplevel li.g-parent .g-menu-parent-indicator:after { display: inline-block; text-align: center; opacity: 0.5; width: 1.5rem; line-height: normal; font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", FontAwesome; font-weight: 900; content: ""; }

#g-mobilemenu-container .g-toplevel .g-dropdown { top: 0; background: transparent; position: absolute; left: 0; right: 0; z-index: 1; transition: transform .2s ease-out; transform: translateX(100%); }

#g-mobilemenu-container .g-toplevel .g-dropdown.g-active { transform: translateX(0); z-index: 0; }

#g-mobilemenu-container .g-toplevel .g-dropdown .g-go-back { display: block; }

#g-mobilemenu-container .g-toplevel .g-dropdown .g-block { width: 100%; overflow: visible; }

#g-mobilemenu-container .g-toplevel .g-dropdown .g-block .g-go-back { display: none; }

#g-mobilemenu-container .g-toplevel .g-dropdown .g-block:first-child .g-go-back { display: block; }

#g-mobilemenu-container .g-toplevel .g-dropdown-column { float: none; padding: 0; }

#g-mobilemenu-container .g-toplevel .g-dropdown-column [class*="size-"] { flex: 0 1 100%; max-width: 100%; }

#g-mobilemenu-container .g-sublevel { cursor: default; }

#g-mobilemenu-container .g-sublevel li { position: static; }

#g-mobilemenu-container .g-sublevel .g-dropdown { top: 0; }

#g-mobilemenu-container .g-menu-item-container { transition: transform .2s ease-out; }

#g-mobilemenu-container .g-toplevel.g-slide-out > .g-menu-item > .g-menu-item-container, #g-mobilemenu-container .g-toplevel.g-slide-out > .g-go-back > .g-menu-item-container, #g-mobilemenu-container .g-sublevel.g-slide-out > .g-menu-item > .g-menu-item-container, #g-mobilemenu-container .g-sublevel.g-slide-out > .g-go-back > .g-menu-item-container { transform: translateX(-100%); }

#g-mobilemenu-container .g-menu-item-subtitle { line-height: 1.5; }

#g-mobilemenu-container i { float: left; line-height: 1.4rem; margin-right: 0.3rem; }

.g-menu-overlay.g-menu-overlay-open { z-index: 2; position: fixed; opacity: 1; height: 100vh; }

h1, h2, h3, h4, h5, h6 { margin: 0.75rem 0 1.5rem 0; text-rendering: optimizeLegibility; }

p { margin: 1.5rem 0; }

ul, ol, dl { margin-top: 1.5rem; margin-bottom: 1.5rem; }

ul ul, ul ol, ul dl, ol ul, ol ol, ol dl, dl ul, dl ol, dl dl { margin-top: 0; margin-bottom: 0; }

ul { margin-left: 1.5rem; padding: 0; }

dl { padding: 0; }

ol { padding-left: 1.5rem; }

blockquote { margin: 1.5rem 0; padding-left: 0.75rem; }

cite { display: block; }

cite:before { content: "\2014 \0020"; }

pre { margin: 1.5rem 0; padding: 0.938rem; }

hr { border-left: none; border-right: none; border-top: none; margin: 1.5rem 0; }

fieldset { border: 0; padding: 0.938rem; margin: 0 0 1.5rem 0; }

label { margin-bottom: 0.375rem; }

label abbr { display: none; }

textarea, select[multiple=multiple] { transition: border-color; padding: 0.375rem 0.375rem; }

textarea:focus, select[multiple=multiple]:focus { outline: none; }

input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"], input:not([type]), textarea { transition: border-color; padding: 0.375rem 0.375rem; }

input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="week"]:focus, input:not([type]):focus, textarea:focus { outline: none; }

textarea { resize: vertical; }

input[type="checkbox"], input[type="radio"] { display: inline; margin-right: 0.375rem; }

input[type="file"] { width: 100%; }

select { max-width: 100%; }

button, input[type="submit"] { cursor: pointer; user-select: none; vertical-align: middle; white-space: nowrap; border: inherit; }

.float-left { float: left !important; }

.float-right { float: right !important; }

.hide, body .g-offcanvas-hide { display: none; }

.clearfix::after { clear: both; content: ""; display: table; }

.center { text-align: center !important; }

.align-right { text-align: right !important; }

.align-left { text-align: left !important; }

.full-height { min-height: 100vh; }

.nomarginall { margin: 0 !important; }

.nomarginall .g-content { margin: 0 !important; }

.nomargintop { margin-top: 0 !important; }

.nomargintop .g-content { margin-top: 0 !important; }

.nomarginbottom { margin-bottom: 0 !important; }

.nomarginbottom .g-content { margin-bottom: 0 !important; }

.nomarginleft { margin-left: 0 !important; }

.nomarginleft .g-content { margin-left: 0 !important; }

.nomarginright { margin-right: 0 !important; }

.nomarginright .g-content { margin-right: 0 !important; }

.nopaddingall { padding: 0 !important; }

.nopaddingall .g-content { padding: 0 !important; }

.nopaddingtop { padding-top: 0 !important; }

.nopaddingtop .g-content { padding-top: 0 !important; }

.nopaddingbottom { padding-bottom: 0 !important; }

.nopaddingbottom .g-content { padding-bottom: 0 !important; }

.nopaddingleft { padding-left: 0 !important; }

.nopaddingleft .g-content { padding-left: 0 !important; }

.nopaddingright { padding-right: 0 !important; }

.nopaddingright .g-content { padding-right: 0 !important; }

.g-flushed { padding: 0 !important; }

.g-flushed .g-content { padding: 0; margin: 0; }

.g-flushed .g-container { width: 100%; }

.full-width { flex-grow: 0; flex-basis: 100%; }

.full-width .g-block { flex-grow: 0; flex-basis: 100%; }

.hidden { display: none; visibility: hidden; }

@media print { .visible-print { display: inherit !important; }
  .g-block.visible-print { display: block !important; }
  .hidden-print { display: none !important; } }

.equal-height { display: flex; }

.equal-height .g-content { flex-basis: 100%; }

#g-offcanvas { position: fixed; top: 0; left: 0; right: 0; bottom: 0; overflow-x: hidden; overflow-y: auto; text-align: left; display: none; -webkit-overflow-scrolling: touch; }

.g-offcanvas-toggle { display: block; position: absolute; top: 0.7rem; left: 0.7rem; z-index: 10; line-height: 1; cursor: pointer; }

.g-offcanvas-active { overflow-x: hidden; }

.g-offcanvas-open { overflow: hidden; }

.g-offcanvas-open body, .g-offcanvas-open #g-page-surround { overflow: hidden; }

.g-offcanvas-open .g-nav-overlay { z-index: 15; position: absolute; opacity: 1; height: 100%; }

.g-offcanvas-open #g-offcanvas { display: block; }

.g-offcanvas-left #g-page-surround { left: 0; }

.g-offcanvas-right #g-offcanvas { left: inherit; }

.g-offcanvas-right .g-offcanvas-toggle { left: inherit; right: 0.7rem; }

.g-offcanvas-right #g-page-surround { right: 0; }

.g-offcanvas-left #g-offcanvas { right: inherit; }
engines/nucleus/css-compiled/joomla.css000060400000023662150753125220014236 0ustar00p { margin: 1.5rem 0; }

dl { margin-top: 1.5rem; margin-bottom: 1.5rem; }

dd { margin-left: 1.5rem; }

ul.menu ul { margin-left: 1.5rem; }

.list-striped, .row-striped { list-style: none; line-height: 18px; text-align: left; vertical-align: middle; margin-left: 0; }

.list-striped li, .list-striped dd, .row-striped .row, .row-striped .row-fluid { padding: 0.75rem; }

.row-striped .row-fluid { width: 97%; }

.row-striped .row-fluid [class*="span"] { min-height: 10px; }

.row-striped .row-fluid [class*="span"] { margin-left: 0.75rem; }

.row-striped .row-fluid [class*="span"]:first-child { margin-left: 0; }

.list-condensed li { padding: 0.5rem; }

.row-condensed .row, .row-condensed .row-fluid { padding: 0.5rem; }

.list-bordered, .row-bordered { list-style: none; text-align: left; vertical-align: middle; margin-left: 0; border-radius: 4px; }

.blog-row-rule, .blog-item-rule { border: 0; }

.row-even, .row-odd { padding: 5px; width: 99%; }

.row-odd { background-color: transparent; }

.row-fluid .row-reveal { visibility: hidden; }

.row-fluid:hover .row-reveal { visibility: visible; }

hr.hr-condensed { margin: 10px 0; }

.img_caption .left { float: left; margin-right: 1.5rem; }

.img_caption .right { float: right; margin-left: 1.5rem; }

.img_caption .left p { clear: left; text-align: center; }

.img_caption .right p { clear: right; text-align: center; }

.img_caption { text-align: center !important; }

.img_caption.none { margin-left: auto; margin-right: auto; }

figure { display: table; }

figure.pull-center, img.pull-center { margin-left: auto; margin-right: auto; }

img.pull-center { display: block; }

figcaption { display: table-caption; caption-side: bottom; }

blockquote { padding: 0 0 0 0.938rem; margin: 0 0 1.5rem; }

blockquote.pull-right { padding-right: 1.5rem; }

address { margin-bottom: 1.5rem; }

code, pre { border-radius: 0.1875rem; }

pre { padding: 0.938rem; margin: 0 0 1.5rem; border-radius: 0.1875rem; }

pre.prettyprint { margin-bottom: 1.5rem; }

.btn .caret { margin-bottom: 7px; }

.btn.btn-micro .caret { margin: 5px 0; }

.btn-wide { width: 80%; }

.radio.btn-group input[type=radio] { display: none; }

.radio.btn-group > label:first-of-type { margin-left: 0; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-topleft: 4px; }

fieldset.radio.btn-group { padding-left: 0; }

.btn-micro { padding: 1px 4px; font-size: 10px; line-height: 8px; }

.btn-group > .btn-micro { font-size: 10px; }

.btn-group > .btn + .dropdown-backdrop + .btn { margin-left: -1px; }

.btn-group > .btn + .dropdown-backdrop + .dropdown-toggle { padding-left: 8px; padding-right: 8px; -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); *padding-top: 5px; *padding-bottom: 5px; }

.btn-group > .btn-mini + .dropdown-backdrop + .dropdown-toggle { padding-left: 5px; padding-right: 5px; *padding-top: 2px; *padding-bottom: 2px; }

.btn-group > .btn-small + .dropdown-backdrop + .dropdown-toggle { *padding-top: 5px; *padding-bottom: 4px; }

.btn-group > .btn-large + .dropdown-backdrop + .dropdown-toggle { padding-left: 12px; padding-right: 12px; *padding-top: 7px; *padding-bottom: 7px; }

.btn-group .chzn-results { white-space: normal; }

.controls .input-append .btn { padding: 6px 12px; font-size: 14px; line-height: 20px; }

.btn.jmodedit { padding: 0; text-align: center; font-size: 0.8rem; }

.btn.jmodedit [class^="icon-"], .btn.jmodedit [class*=" icon-"] { margin: 6px 8px; text-align: center; }

.filters.btn-toolbar .btn-group, .filters.btn-toolbar { font-size: inherit; }

.platform-content input { box-sizing: content-box; }

legend { margin-bottom: 1.5rem; }

textarea:focus, input[type="text"]:focus, input[type="password"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, input[type="number"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="color"]:focus, .uneditable-input:focus { border-color: rgba(82, 168, 236, 0.8); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); }

input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"], input:not([type]), textarea { padding: 0.375rem 0.375rem; }

.uneditable-input { width: 100%; }

.platform-content .input-block-level, .platform-content .input-large, .platform-content .input-xlarge, .platform-content .input-xxlarge, .platform-content .uneditable-input { display: block; width: 100%; min-height: 28px; }

.input-prepend .chzn-container-single .chzn-single, .input-append .chzn-container-single .chzn-single { height: 26px; box-shadow: none; }

.input-prepend > .add-on, .input-append > .add-on { vertical-align: top; height: auto; padding: 5px; }

.input-prepend .chzn-container-single .chzn-single { border-radius: 0 0.1875rem 0.1875rem 0; }

.input-prepend .chzn-container-single .chzn-single-with-drop { border-radius: 0 0.1875rem 0 0; }

.input-append .chzn-container-single .chzn-single { border-radius: 0.1875rem 0 0 0.1875rem; }

.input-append .chzn-container-single .chzn-single-with-drop { border-radius: 0.1875rem 0 0 0; }

.input-prepend.input-append .chzn-container-single .chzn-single, .input-prepend.input-append .chzn-container-single .chzn-single-with-drop { border-radius: 0; }

.element-invisible { position: absolute; padding: 0; margin: 0; border: 0; height: 1px; width: 1px; overflow: hidden; }

.form-vertical .control-label { float: none; width: auto; padding-right: 0; padding-top: 0; text-align: left; }

.control-label .hasTooltip, .control-label .hasPopover { display: inline-block; }

.form-vertical .controls { margin-left: 0; }

.invalid { color: #9d261d; }

input.invalid { border: 1px solid #9d261d; }

#modules-form .btn-group { font-size: inherit; }

#modules-form .radio.btn-group input[type=radio] { display: inherit; margin-left: inherit; }

.controls input[type="radio"] { margin-right: 5px; }

.layout-edit #sbox-content.sbox-content-iframe { overflow: hidden; }

.nav-list > li.offset > a { padding-left: 30px; font-size: 12px; }

.navbar .nav > li > a.btn { padding: 4px 10px; line-height: 18px; }

.nav-tabs.nav-dark > .active > a, .nav-tabs.nav-dark > .active > a:hover { border-bottom-color: transparent; }

.tab-content { overflow: visible; }

.tabs-left .tab-content { overflow: auto; }

.nav-tabs > li > span { display: block; margin-right: 2px; padding-right: 12px; padding-left: 12px; padding-top: 8px; padding-bottom: 8px; line-height: 18px; border: 1px solid transparent; border-radius: 0.1875rem 0.1875rem 0 0; }

.dropdown-menu { text-align: left; }

body.modal { padding-top: 0; }

.thumbnail.pull-left { margin: 0 10px 10px 0; }

.thumbnail.pull-right { margin: 0 0 10px 10px; }

body.modal .manager .height-50 .icon-folder-2 { font-size: 30px; height: 35px; width: 35px; line-height: 35px; }

body.modal .manager.thumbnails .small { font-size: 12px; }

.accordion-body.in:hover { overflow: visible; }

.tip-wrap { max-width: 200px; padding: 3px 8px; text-align: center; text-decoration: none; border-radius: 0.1875rem; z-index: 100; }

.tooltip { max-width: 400px; }

.tooltip-inner { max-width: none; text-align: left; text-shadow: none; }

th .tooltip-inner { font-weight: normal; }

.tooltip.hasimage { opacity: 1; }

.tip-text { text-align: left; }

#helpsite-refresh { vertical-align: top; }

#pop-print { float: right; margin: 10px; }

#filter-search { vertical-align: top; }

.editor { overflow: hidden; position: relative; }

.search span.highlight { font-weight: bold; padding: 1px 4px; }

.img-rounded { border-radius: 0.1875rem; }

.img-polaroid { padding: 4px; }

.alert { border-radius: 0.1875rem; padding: 0.938rem; margin-bottom: 1.5rem; text-shadow: none; }

.add-on [class^="icon-"], .add-on [class*=" icon-"] { height: auto; line-height: 1.5; margin-right: auto; }

[class^="icon-"], [class*=" icon-"] { margin-right: .25em; line-height: 14px; }

.pull-right.item-image { margin: 0 0 1.5rem 1.5rem; }

.pull-left.item-image { margin: 0 1.5rem 1.5rem 0; }

#imageForm button:hover, #uploadForm button:hover { border-color: inherit; }

.calendar .title { border: none; }

.calendar thead .name { padding: 2px; }

.calendar thead .button { color: #000 !important; font-weight: normal; border: 1px solid transparent; display: table-cell; background: inherit; }

.calendar thead .hilite { border-radius: 0; padding: 2px; }

.width-10 { width: 10px; }

.width-20 { width: 20px; }

.width-30 { width: 30px; }

.width-40 { width: 40px; }

.width-50 { width: 50px; }

.width-60 { width: 60px; }

.width-70 { width: 70px; }

.width-80 { width: 80px; }

.width-90 { width: 90px; }

.width-100 { width: 100px; }

.height-10 { height: 10px; }

.height-20 { height: 20px; }

.height-30 { height: 30px; }

.height-40 { height: 40px; }

.height-50 { height: 50px; }

.height-60 { height: 60px; }

.height-70 { height: 70px; }

.height-80 { height: 80px; }

.height-90 { height: 90px; }

.height-100 { height: 100px; }

.view-mailto .formelm label, .print-mode .formelm label { display: block; }

.contentpane.modal { padding: 1.5rem; }

.sprocket-strips.loading .sprocket-strips-overlay { box-sizing: content-box; }

#frame { margin: 20px auto; width: 400px; padding: 20px; }

#frame img { max-width: 100%; height: auto; }

#frame form { text-align: left; }

.outline { padding: 2px; }

#system-message { margin: 0 auto; padding: 20px 0 0; }
assets/fonts/fontawesome-webfont.ttf000064400000503254150753125220013722 0ustar00
�PFFTMk�G���GDEF��p OS/2�2z@X`cmap
�:��gasp���hglyf���M�L�head��-�6hhea
�$hmtxEy��
�loca��\�maxp,8 name㗋�gh�post����k�uː�xY_<��3�2�3�2���	�	����	��'@i��3��3s�pyrs@ �� �pU�]�����y�n�����2��@������
��������z���Z@�5�5
���z���ZZ����@���������,_���@������s���@	��@��(������@�����@��@-
�M�M�-�
�M�M�����@�����@@�
�-����`��b����
���$����6�4�8�"�"""""���@�D@���,,@� ���������	m��)@�@	 	' D9>dY*	'						�	��	��T										�@	f�	%RE	 		$!k(D�'	��	�%��	�%	��	��0%�/�&��p@0 �����!"""`���>�N�^�n�~��������������.�>�N�^�n�~��������������>�N�^�n�~������������ �����!"""`���!�@�P�`�p�������������� �0�@�P�`�p��������������!�@�P�`�p�������������\�X�S�B�1����ݬ

	����������������������������������
�
	,,,,,,,,,,,,,��t�L�T$�l	x	�
T(��
d����l,����4d�pH�$d,t( � �!�"0# $,$�&D'�(�)T**�,,�-�.@.�/`/�00�1�2�3d444�5 5�5�6 6\6�7H7�88`8�9L9�:h:�;�<p=p><>�?h?�@H@�A0A�BXB�CdC�DLD�E�F�G0G�H�I�J8K�L�MdN,N�N�O�P`P�Q4Q�RRlS,S�T`U0W�X�Z[@[�\<\�]�^(^�_�`pb,b�dd�ePe�f�g`g�iLi�jDkk�l�m@n,oLp�q�r�sxtt�uD{`||�}}�~��������H��������l�@����������l�H� ���T��H�������`����@�����$�\�X��D�������T�X�����D�P�,���8���d�\����������������H���x��� �t���X���p��d��������x�t�������������@������Œ�\� ļ�ŸƔ�0���d��ʨˀ����͔�x��ϰЌ�,ш�҈�ӌ���8�,՜�`���l�Hش�`���Tڸ�۔�@���l��ބ�߬��l�p� ������������������������������4�����X���$�l���(����`����������	d

��
,�,��8��(�X���x|T�@��| �!�"x##l$$�'h(�*L,T.L1t1�2�303�4�5t6T7$89H::�;�<�<�?X@A�B�C�D�EHFHGpHHIxJ J�K�L�MN@P@Q�R�SDT ULV`V�WXX4X�ZZ�[d[�\|]�^�`�aHa�b�cXd�etfhg�h�i\jxn�p@s�vw�x�y�z�{h|�}}�\���l�t���4���������t���8�8���L���T�������������|�������|�������4�x�����L����������X�(� ������� ������@�����l���t����$����x�L�L��� �H������Ġ�T�(����ʈˠ��ϔ�l�d���P�Մ�x�p���ڬ�T�T���ވ�L�����<�H��$���l������4����������� �P�l����,���x���p�,�x�t��d����4���4,h�P	4
��
�4�<,,408$�8�T� |!h"�$L%0&H'�(�)�*0*�+�,�.$.�0�1�2@2�3�4t5$6�9 :�:�;;�<(<�=4?�@�A�C�D�F�H`H�I�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�p7!!!���@p�p �p�]���!2#!"&463!&54>3!2�+��@&&��&&@��+$(�($F#+���&4&&4&x+#��+".4>32".4>32467632DhgZghDDhg-iW�DhgZghDDhg-iW&@(8 ��2N++NdN+'�;2N++NdN+'�3
8���!  #"'#"$&6$ �������rL46$���܏���oo��o|W%r��������4L&V|o��oo����ܳ��%��=M%+".'&%&'3!26<.#!";2>767>7#!"&5463!2� %��3@m00m@3���% 
�
�@
���:"7..7":�6]�^B�@B^^B�B^ $΄+0110+��$�
(	

�t��1%%1��+�`��B^^B@B^^���"'.54632>32�4��
#L</��>�oP$$Po�>���Z$_d�C�+I@$$@I+��������"#"'%#"&547&547%62���V�?�?V��8��<��8y���
���b%	I�))�9I	����	+	%%#"'%#"&547&547%62q2�Z���Z2Izy���V)�?�?V��8��<��8)>~��>��[��
���
2���b%	I�))�9I	���%#!"&54>3 72 &6 }X��X}.GuL�l�LuG.�����>�m��mU��mE��Em�������>����/?O_o���54&+";2654&+";2654&+";264&#!"3!2654&+";2654&+";264&#!"3!2654&+";2654&+";2654&+";267#!"&5463!2�&�&&�&&�&&�&&�&&�&&�&&&�&�&&�&�&�&&�&��&�&&&�&�&&�&&�&&�&&�&&�&�^B��B^^B@B^@�&&�&&��&&�&&��&&�&&�&&�&&��&&�&&���&&�&&&&�&&���&&�&&��&&�&&��&&�&&���B^^B@B^^��/?#!"&5463!2#!"&5463!2#!"&5463!2#!"&5463!2L4�4LL44LL4�4LL44L�L4�4LL44LL4�4LL44L��4LL4�4LL��4LL4�4LL���4LL4�4LL��4LL4�4LL	�/?O_o�#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!28(��(88(@(88(��(88(@(8�8(��(88(@(8��8(��(88(@(8�8(��(88(@(8�8(��(88(@(8��8(��(88(@(8�8(��(88(@(88(��(88(@(8 �(88(�(88�(88(�(88��(88(�(88�(88(�(88��(88(�(88��(88(�(88�(88(�(88��(88(�(88�(88(�(88�/?O_#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!28(��(88(@(88(��(88(@(88(�@(88(�(8�8(��(88(@(88(�@(88(�(88(�@(88(�(8 �(88(�(88�(88(�(88��(88(�(88�(88(�(88��(88(�(88�(88(�(88y��"/&4?62	62��,�P����P&�P��P�,��jP�����n���#$"'	"/&47	&4?62	62	�P���P�&���P&&P���&�P�&���P&&P���&�P������#+D++"&=#"&=46;546;232  #"'#"$&6$ 
�
@
�

�
@
�
�������rK56$���܏���oo��o|W�@
�

�
@
�

��r��������jK&V|o��oo����ܳ�����0#!"&=463!2  #"'#"$&6$ 
��

@
�������rK56$���܏���oo��o|W�@

@
�r��������jK&V|o��oo����ܳ����)5 $&54762>54&'.7>"&5462z�����z��+i *bkQ��н�Qkb* j*����LhLLhL�����zz���Bm +*i J�yh��QQ��hy�J i*+ m��J��4LL4�4LL���/?O%+"&=46;2%+"&546;2%+"&546;2+"&546;2+"&546;2��������������`��r��@�@r�@��@����n4&"2#"/+"&/&'#"'&'&547>7&/.=46?67&'&547>3267676;27632�Ԗ����#H
	��,/
�1)�
~'H�
�(C
	�

�,/
�1)�	
�$H�
Ԗ�Ԗm�6%2X
%�	l�2
�k	r6

[21
�..9Q

$�
k�2
�k	
w3[20����/;Cg+"&546;2+"&546;2+"&546;2!3!2>!'&'!+#!"&5#"&=463!7>3!2!2@@@@@@���@�`�0
��
o`^B��B^`5FN(@(NF5 ��@��@��@���L%%Ju		�@�LSyuS�@�%44%�f5#!!!"&5465	7#"'	'&/&6762546;2�&�����&??�>

�L�L
>
� X ���
 � &���&��&AJ	A��	J
W���h��##!"&5463!2!&'&!"&5!�(8(��(88(�(`�x
��c�`(8��`(��(88(@(8(D��9�8(����� ,#!"&=46;46;2.  6 $$ ����@��������(�r���^����a�a�@@`��(��������_�^����a�a��2NC5.+";26#!26'.#!"3!"547>3!";26/.#!2W
�
��.�@

��

�@.�$S

�

S$�@

���9I


�
I6>
��
��>�%=$4&"2$4&"2#!"&5463!2?!2"'&763!463!2!2&4&&4&&4&&4�8(�@(88(ч:�:��(8���@6�@*&&*�4&&4&&4&&4& ��(88(@(8�88�8)�@�)'�&&�@���$0"'&76;46;232  >& $$ `
������������(���r���^����a�a`��		@`��2�������(���^����a�a�����$0++"&5#"&54762  >& $$ ^���
?@�����(���r���^����a�a���`?		����������(���^����a�a��
#!.'!!!%#!"&547>3!2�<�<�<_@`&��&�
5@5
�@����&&�>=(""��=���'#"'&5476.  6 $$ � ��  ! ��������(�r���^����a�a�J��	%�%���(��������_�^����a�a�����3#!"'&?&#"3267672#"$&6$3276&�@*���h��QQ��hw�I
�	m�ʬ����zz���k�)'�@&('��Q��н�Qh_
	�
��z�8�zoe����$G!"$'"&5463!23267676;2#!"&4?&#"+"&=!2762�@�h���k�4&&�&�G�a��F*�
&�@&��Ɇ�F*�
A��k�4&���nf�&�&&4�BH�rd�@&&4���rd
Moe�&�/?O_o+"&=46;25+"&=46;25+"&=46;2#!"&=463!25#!"&=463!25#!"&=463!24&#!"3!26#!"&5463!2�
@

@

@

@

@

@
�
�@

�

�@

�

�@

�
�
�@

�
�^B�@B^^B�B^`@

@
�@

@
�@

@
��@

@
�@

@
�@

@
�3@

��
M��B^^B@B^^��!54&"#!"&546;54 32@�Ԗ@8(�@(88( p (8�j��j��(88(@(8������8@���7+"&5&5462#".#"#"&5476763232>32@@
@
@KjK�ך=}\�I���&:�k�~&26]S
&H&�

�&H5KKu�t,4,�	&� x:;*4*&��K#+"&546;227654$ >3546;2+"&="&/&546$ �<��X@@Gv"D�����װD"vG@@X��<��4L4����1!Sk @ G<_b������b_<G �� kS!1����zz�� �"'!"&5463!62&4����&&M4&���&M&�&M& ��-"'!"&5463!62#"&54>4.54632&4����&&M4&�UF
&""""&
F���&M&�&M&���%/B/%���G-Ik"'!"&5463!62#"&54>4.54632#"&54767>4&'&'&54632#"&547>7676'&'.'&54632&4����&&M4&�UF
&""""&
FU��
&'8JSSJ8'&

����

&'.${��{$.'&

����&M&�&M&���%/B/%7���;&'6���6'&;��4�[&$
[2[
$&[��#/37#5#5!#5!!!!!!!#5!#5!5##!35!!!����������������������������������������������������������������������������#'+/37;?3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3????  ^��>>~??�??�??~??~??^??�^^?  ^??������������������������������������4&"2#"'.5463!2�KjKKjv%�'45%�5&5L4�5�&�%jKKjK�@5%�%%�%�5�4L5&�6'��k�54&"2#"'.5463!2#"&'654'.#32�KjKKjv%�'45%�5&5L4�5�&�%�%�'4$.�%%�5&�5�5�&�%jKKjK�@5%�%%�%�5�4L5&�6'45%�%�%54'�&55&�6'
��y�Tdt#!"&'&74676&7>7>76&7>7>76&7>7>76&7>7>63!2#!"3!2676'3!26?6&#!"3!26?6&#!"g(��sA�eM�,*$/
!'&
�JP��$G]��
x�6,&��`
��
h`
��
"9H�v@WkNC<.
&k&
("$p"	.
#u&#	%!'	pJ�vwEF�#

@

��

@

���2#"'	#"'.546763�!''!0#�G�G$/!''!�	
8"��"8
 ��X!	
8"	"8
	����<)!!#"&=!4&"27+#!"&=#"&546;463!232������(8���&4&&4�
�8(�@(8�
qO@8(�(`�(@Oq��8(��&4&&4&@�`
�(88(�
�Oq (8(�`(�q���!)2"&42#!"&546;7>3!2  I��j��j��j��j�3e55e3�gr������`��I�j��j��j�j��1GG1���r��������P2327&7>7;"&#"4?2>54.'%3"&#"#ժ!�9&W��B03&�K5�!�)V�?�@L��'�	
>R�>e;&L:�:%P�>��vO
'h�� N��_"�:-&+#
��:��	'	����+a%3 4'.#"32>54.#"7>7><5'./6$3232#"&#"+JBx)EB_I:I*CRzb3:dtB2P���$$5.3b�ZF�|\8!-T>5��Fu��\,�,j�n OrB,<!
5�4wJ]�?tTFi;
2�3j.�p^%/2�+
	S:T}K4W9: #ƕd�fE���:7>7676'5.'732>7"#"&#&#"OA
zj=N!�}:0e��%	y�
+t�D3�~U#B4#
g		'2
%/!:
���T	bRU,7����}%2"/&6;#"&?62+326323!2>?23&'.'.#"&"$#"#&=>764=464.'&#"&'�!~:~!PP!~:~!P��6�,�,$�$%*'
c2N 	
(�$"L��A2�3Yl�!x!*�%��%%��%��
p�P,T	NE	Q7^���oH!+(
3	 *Ue�eu
wg��a�32632$?23&'.5&'&#"&"5$#"#&=>7>4&54&54>.'&#"&'2#".465!#".'&47>32!4&4>Q6�,�,Faw!*'
=~Pl*	
(�$"L��A2�3Yl	�)�!*<7@@7<
�
<7@@7<
 p�P,T	MF
Q7�47ƢHoH!+(
3	 t���JHQ6wh��',686,'$##$',686,'$##$�/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&��&&�&��&�&&&&�&&&��&��&&�&��&&�&&f�&&�&&f�&&�&&f�&&�&&�/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&��&&�&��&��&&�&&��&&�&��&��&&�&��&&�&&f�&&�&&f�&&�&&f�&&�&&�/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&��&&�&&�&&&&�&&&&��&&�&��&&�&&f�&&�&&f�&&�&&f�&&�&&�/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&��&&�&&��&&�&&��&&�&&��&&�&��&&�&&f�&&�&&f�&&�&&f�&&�&&�/?O_o%+"&=46;2+"&=46;2+"&=46;2#!"&=463!2+"&=46;2#!"&=463!2#!"&=463!2#!"&=463!2
�

�

�

�

�

�

��

@
�
�

�

��

@

��

@

��

@
�

�
s�

�
s�

�
��

�
s�

�
��

�
s�

�
s�

�
�/?O#"'&47632#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2�
	��		 	
�
�@

�

��

@

��

@

�@

�
�
	 		 	��

�
s�

�
s�

�
s�

�
�/?O#"&54632	#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2`	��	

	 �
�@

�

��

@

��

@

�@

�
�	��	
@
	��	�

�
s�

�
s�

�
s�

�
#"'#!"&5463!2632'
�m�w�@w��w�w��
'���*��w��w�w��w������."&462!5	!"3!2654&#!"&5463!2�p�pp�p��@���

@
�^B��B^^B@B^�pp�p���@�@� 
�@

�
 �@B^^B�B^^���k%!7'34#"3276'	!7632k[�[�v
��
6����`�%��`�$65&�%[�[k����
�`����5%���&&�'���4&"2"&'&54 �Ԗ���!��?H?��!,�,Ԗ�ԖmF��!&&!Fm�,�����%" $$ ���������^����a�a`@������^����a�a���-4'.'&"26% 547>7>2"KjK��X��QqYn	243nYqQ�$!+!77!+!$5KK���,ԑ�	���]""]ً�	��9>H7'3&7#!"&5463!2'&#!"3!26=4?6	!762xt�t` �� ^Q�w��w��w@?61��B^^B@B^	@(` �`��\\��\P�`t�t8`� �� ^�Ͼw��w@w�1^B��B^^B~
	@��` \ \�P�+Z#!"&5463!12+"3!26=47676#"'&=# #"'.54>;547632��w��w��w�
M8
pB^^B@B^�
'���sw-

9*##;No��j�'
�#��w��w@w�
"^B��B^^B�

	��*�����
"g`�81T`PSA:'�*��4�/D#!"&5463!2#"'&#!"3!26=4?632"'&4?62	62��w��w��w@?61

��B^^B@B^	@

��B�RnB�Bn^��w��w@w�1
^B��B^^B�
	@
���Bn���nB�C"&=!32"'&46;!"'&4762!#"&4762+!5462�4&���&�4�&���&4�4&��&4&��&4�4�&���&4�4&��&4&��&4�4&���&����6'&'+"&546;267��:	&�&&�&	s�@�	
�Z&&�&&�Z
	���+6'&''&'+"&546;267667��:	�:	&�&&�&	�	s�@�	
�:�	
�Z&&�&&�Z
	��:
	z����6'&''&47667S�:	�:�	s�@�	
�:�4��:
	�|�	&546h��!!0a�
�
�
$���#!"&5463!2#!"&5463!2&�&&&��&�&&&@��&&�&&��&&�&&���#!"&5463!2&��&&�&@��&&�&&���&54646&5-�	��:	s��:	
��:4�:�
	���+&5464646;2+"&5&5-�	�	&�&&�&	�:	s��:	
��:	
�&&��&&�
	�:�
	���&54646;2+"&5-�	&�&&�&	s��:	
�&&��&&�
	62#!"&!"&5463!2�4��@��&&�&&-��:��&&&�&�����	"'&4762����4��4����4��4��4Z��f�	"/&47	&4?62S�4����4����44��4���#/54&#!4&+"!"3!;265!26 $$ �&�&�&�&&&�&&@���^����a�a@�&&&�&�&�&&&+�^����a�a�����54&#!"3!26 $$ �&�&&&@���^����a�a@�&&�&&+�^����a�a�����+74/7654/&#"'&#"32?32?6 $$ }��Z��Z��Z��Z����^����a�a���Z��Z��Z��Z�^����a�a�����#4/&"'&"327> $$ [4�h�4[j����^����a�a"Z�i�Z��J�^����a�a�����:F%54&+";264.#"32767632;265467>$ $$ ���o�W��	5!"40K(0?i�+! ":����^����a�a����X�R�dD4!&.uC$=1/J=�^����a�a�����.:%54&+4&#!";#"3!2654&+";26 $$ `��``��������^����a�a�����������^����a�a�����/_#"&=46;.'+"&=32+546;2>++"&=.'#"&=46;>7546;232�m&&m �l&�&l� m&&m �l&�&l�s&�%�&�&��%�&&�%�&�&��%�&&�&l� m&&m �l&�&l� m&&m �,�&��%�&&�%�&�&��%�&&�%�&���#/;"/"/&4?'&4?627626.  6 $$ I�

��

�

��

�

��

�

��
͒������(�r���^����a�aɒ

��

�

��

�

��

�

��
(��������_�^����a�a����� ,	"'&4?6262.  6 $$ ��Z4��f4�4fz�������(�r���^����a�a�Z&4f�f4�(��������_�^����a�a�����	"4'32>&#" $&6$  W���oɒV�󇥔�� z�����zz�8�����YW�˼�[����?����zz�:�zz�@�5K #!#"'&547632!2A4�@%&&K%54'�u%%�&54&K&&���4A��5K��$l$L%%�%54'�&&J&j&��K�5�K #"/&47!"&=463!&4?632�%�u'43'K&&%�@4AA4���&&K&45&�%@6%�u%%K&j&%K5�5K&$l$K&&�u#5��K@!#"'+"&5"/&547632K%K&56$��K5�5K��$l$K&&�#76%�%53'K&&%�@4AA4���&&K&45&�%%�u'5��K�"#"'&54?63246;2632K%�u'45%�u&&J'45%&L4�4L&%54'K%�5%�t%%�$65&K%%���4LL4�@&%%K'���,"&5#"#"'.'547!3462�4&�b��qb>#5���&4�4�&6Uu�e7D#		"�dž�&����/#!"&546262"/"/&47'&463!2�
���&�@&&4�L

r&4���

r

L�&�&�
���4&&�&�L

rI�@&���

r

L�4&&
���s/"/"/&47'&463!2#!"&546262&4���

r

L�&�&�
���&�@&&4�L

r@�@&���

r

L�4&&�
���4&&�&�L

r��##!+"&5!"&=463!46;2!2�8(�`8(�(8�`(88(�8(�(8�(8 �(8�`(88(�8(�(8�(88(�`8��#!"&=463!2�8(�@(88(�(8 �(88(�(88z���5'%+"&5&/&67-.?>46;2%6�.@g.��L4�4L��.g@.
��.@g.
L4�4L
.g@.���g.n.���4LL43�.n.g��g.n.�34LL4�͙.n.g����-  $54&+";264'&+";26/�a����^�����
�

�


�

�����^����a�a��
�
fm��
@
J%55!;263'&#"$4&#"32+#!"&5#"&5463!"&46327632#!2���$�$�8�~+(88�8(+}�(�`8(��(8`�]��]k=��=k]��]��8���,8e�8P88P8�����`(88(�@���M��M����N4&#"327>76$32#"'.#"#"&'.54>54&'&54>7>7>32&����z&^��&.������/+>+)>J>	W��m7����'
'"''? &4&c��&^|h_b��ml/J@L@#*
#M6:D
35sҟw$	'%
'	\�t��3#!"&=463!2'.54>54''�
��

@
�1O``O1CZ��Z71O``O1BZ��Z7�@

@
N�]SHH[3`�)Tt��bN�]SHH[3^�)Tt���!1&' 547 $4&#"2654632 '&476 ���=������=嘅�����}�(zVl��'��'���ٌ@�uhy����yhu����9(�}Vz��D#���#D#�������	=CU%7.5474&#"2654632%#"'&547.'&476!27632#76$7&'7+NWb=嘧�}�(zV�j�\i1
z,��X��
Y[6
$!%���'F��u�J�iys�?_�9ɍ?�kyhu�n(�}Vz����YF
KA؉L�a
�0��2�-�F"@Q���sp@�_���!3%54&+";264'&+";26#!"&'&7>2
�

�


�
�
#%;"�";%#<F<������7


���??""??�$$ll2#"'&'	+&/&'&?632	&'&?67>`,@L�����5
`		��
`	�����L�`4�L��H`
����`	��
a	5�
��L@��#37;?Os!!!!%!!!!%!!!!!!!!%!!4&+";26!!%!!!!74&+";26%#!"&546;546;2!546;232� ��`@���� ��`@���� ���@����@�� ��@����
@

@
� ��@��� �� 
@

@
�L4��4LL4�^B@B^�^B@B^�4L� �� @@��@@ � � � @@  

��
��@@ �� � 

��
M�4LL44L`B^^B``B^^B`L���7q.+"&=46;2#"&=".'673!54632#"&=!"+"&=46;2>767>3!54632�<M33K,��	��	
 j8Z4L2B4:;M33K,?		��	
�0N<* .)C=W]xD��0N<* .)C=W]xD?\�-7H)��	��	
�".=']�-7H)�
��w	��	
�<?.>mBZxPV3!�<?.>mBZxPV3!�
���&#"'&'5&6&>7>7&54>$32�d�FK��1A
0)����L���.���٫�C58.H(Y���e����#3C $=463!22>=463!2#!"&5463!2#!"&5463!2���H���&�&/<R.*.R</&�&�&��&&�&&��&&�&������Bɀ&&�4L&&L4�&&f��&&�&&��&&�&&Z� %"'	"/&4762��4���4��4�ͥ���5��5Z����	"'&4?62	62��4��44���5����5��%K%#!".<=#"&54762+!2"'&546;!"/&5463!232
�@�&@<@&�@	����:��&���	�
��& 

��&���&���
����&��	

��`&���:$"&462"&462!2#!"&54>7#"&463!2!2�LhLLh�LhLLh�!��
�&&�&��&&�&4hLLhLLhLLhL��%z<
0&4&&)17&4&
&&��#!"&5463!2!2��\�@\��\@\��\���@\��\�\��\ �W�*#!"&547>3!2!"4&5463!2!2W��+�B��"5P+�B@"5����^�=���\@\� \�H#�t3G#�3G:�_H�t�\��\ �@��+32"'&46;#"&4762�&��&�4�&��&4�4&�&4�4&&4�@�"&=!"'&4762!5462�4&�&4�4&&4�4�&��&4&��&����
!!!3!!��������������������������0@67&#".'&'#"'#"'32>54'6#!"&5463!28ADAE=\W{��O[/5dI
kDt���pČe1?*�w�@w��w�w��	(M&
B{Wta28r=Ku?RZ^Gw��T	-�@w��w�w�����$2+37#546375&#"#3!"&5463�w��w���/Dz?s�����w��w��w�@w�S�88�	�����w�w����#'.>4&#"26546326"&462!5!&  !5!!=!!%#!"&5463!2�B^8(�Ԗ���������>��������@�|�K5�5KK55K�^B(8Ԗ�Ԗ�€>�������v����5KK55KK�H��G4&"&#"2654'32#".'#"'#"&54$327.54632@p�p)*Ppp�p)*P�b	'"+`�N*(�a���;2��̓c`." b
PTY9��ppP*)p�ppP*)�b ".`�(*N��ͣ�2�ͣ����`+"'	b
MRZB�����4&"24&"264&"26#"/+"&/&'#"'&547>7&/.=46?67&'&547>3267676;27632#"&'"'#"'&547&'&=4767&547>32626?2#"&'"'#"'&547&'&=4767&547>32626?2��Ԗ���LhLKjKLhLKjK��	�"8w
s%(�")v

�
>�
	�"8x
s"+�")v
�<�
��3zLLz3��
3>8L3)x3
��3zLLz3��
3>8L3)x3
�Ԗ�Ԗ�4LL45KK54LL45KK���
#)0C	wZl/
�
Y�	
N,&�
#)0C	vZl.
�
Y�L0"��qG^^Gq�q$ ]G)Fq�qG^^Gq�q$ ]G)Fq��%O#"'#"&'&4>7>7.546$ '&'&'# '32$7>54'�����VZ|�$2$
|��E~E<�|
$2$�|ZV���:�(t}�������X(	
&%(H�w�쉉��x�H(%&	(X�ZT\�MKG���<m$4&"24&#!4654&#+32;254'>4'654&'>7+"&'&#!"&5463!6767>763232&4&&4�N2��`@`%)7&,$)'  
%/0Ӄy�#5 +�1	&<��$]`�{t��5KK5$e:1&+'3T�F0�h��4&&4&�3M:�;b^v�+D2 5#$��I�IJ 2E=\$YJ!$MCeM��-+(K5�5K�K5y�*%A�u]c���>q4&"24&'>54'654&'654&+"+322654&5!267+#"'.'&'&'!"&5463!27>;2&4&&4�+ 5#bW���0/%
  ')$,&7)%`@``2N��h�0##�T3'"(0;e$��5KK5 t��ip��<&	1&4&&4&�#\=E2&%IURI��$#5 2D+�v^b;�:M2g�c]vDEA%!bSV2M�K5�5K(,,��MeCM$!I��@�#"&547&547%6@�?V��8������b%	I�)���94.""'."	67"'.54632>32�+C`\hxeH>Hexh\`C+�ED���4��
#L</��>�oP$$Po�>��Q|I.3MCCM3.I|Q����/����Z$_d�C�+I@$$@I+� (@%#!"&5463!2#!"3!:"&5!"&5463!462�
��w��w@

��B^^B 
���4&�@&&�&4 ` 
�w�w�
 
^B�@B^24��& &�& &�����%573#7.";2634&#"35#347>32#!"&5463!2���FtIG9;HI�x�I��<,tԩw�@w��w�w�z��4DD43EE�����ueB���&#1�s�@w��w�w�����.4&"26#!+"'!"&5463"&463!2#2��&�S3L�l&�c4LL4�4LL4c����@��&��&{�LhLLhL��'?#!"&5463!2#!"3!26546;2"/"/&47'&463!2��w��w��w��@B^^B@B^@�&4��t

r

��&&`��w��w@w�@^B��B^^B@R�&��t

r

��4&&@"&5!"&5463!462	#!"&54&>3!2654&#!*.54&>3!2���4&�@&&�&4 s�w��

@B^^B��

@w��4��& &�& &��3�@w�
 
^B�B^ 
�����
I&5!%5!>732#!"&=4632654&'&'.=463!5463!2!2�J���J���S��q*5&=CKu��uKC=&5*q͍S8( ^B@B^ (8���`N��`Ѣ�΀G�tO6)"M36J[E@@E[J63M")6Ot�G�(8`B^^B`8	���',2��6'&'&76'6'&6&'&6'&4#"7&64 654'.'&'.63226767.547&7662>76#!"&5463!2		/[		.
=���X��Ě4,+"*+, 1JH'5G:�:#L5+@=&#���w�@w��w�w�P.1GE�,��ԧ��44+	;/5cFO:>JJ>:O9W5$@(b4��@w��w�w������'?$4&"2$4&"2#!"&5463!3!267!2#!#!"&5!"'&762&4&&4&&4&&4�8(�@(88(�c==c�(8��*�&�&�*�6�&4&&4&&4&&4& ��(88(@(88HH88`(�@&&�('��@����1c4&'.54654'&#"#"&#"32632327>7#"&#"#"&54654&54>76763232632


	N<�;+gC8�A`1a9�9�g��w����|�9�8aIe$I�VN��z<�:LQJ
�,�-[%	061I��(�)W,$-������7,oIX(�)o�ζA;=N0
eTZ
	 (���O#".'&'&'&'.54767>3232>32�e^\4?P	bM��O0#382W#& 9C9
Lĉ"	82<*9FF(W283#0OMb	P?4\^eFF9*<28	"��L
9C9 &#��!"3!2654&#!"&5463!2`��B^^B@B^^ީw��w��w@w�^B��B^^B@B^���w��w@w�����#!72#"'	#"'.546763���YY�!''!0#�G�G$/!''!�&�UU�jZ	
8"��"8
 ��X!	
8"	"8
	���GW4.'.#"#".'.'.54>54.'.#"32676#!"&5463!2 1.-
+$)
c�8
)1)

05.D
<9�0)$9��w�@w��w�w�W

)1)
7�c
)$+
-.1 �9$)0���<
D.59�@w��w�w��,T1# '327.'327.=.547&54632676TC_L��Ҭ���#+�i�!+*p�DNBN,y[����`m`%i]hbE����m��}a�u&,�SXK��
&$��f9s?
_���#"!#!#!54632��V<%'����Э��HH���	�(ں����T\dksz�� &54654'>54'6'&&"."&'./"?'&546'&6'&6'&6'&6'&74"727&6/�a���49[aA)O%-j'&]�]5r-%O)@a[9'
0BA;+


>HC���U


	#	
	
$				2	
AC: �����oM�=a-6O�UwW[q	( -	q[WwU�P6$C

+) (	
8&/
&eM���a�	
&
$	

��%+"&54&"32#!"&5463!54 �&@&�Ԗ`(88(�@(88(�r��&&j��j�8(��(88(@(8��������#'+2#!"&5463"!54&#265!375!35!�B^^B��B^^B
�

��
`���^B�@B^^B�B^�
��
�
`��
�������!="&462+"&'&'.=476;+"&'&$'.=476;�p�pp�p�$���!�$qr�
�%���}�#ߺ���pp�p��!�E$�
�rq�ܢ#���
%�
ֻ��!)?"&462"&4624&#!"3!26!.#!"#!"&547>3!2/B//B//B//B�
�@

�
�2�����^B�@B^�\77\�aB//B//B//B/�@

��
��

�~��B^^B@2^5BB5��2���.42##%&'.67#"&=463! 2�5KK5L4�_�u:B&1/&��.-
zB^^B���4L��v��y�KjK��4L[!^k'!A3;):2*�<vTq6^B�B^�L4�$���)��*@��A4#"&54"3!4."#!"&5!"&5>547&5462�;U gI�v��0Z���Z0�L4�@�Ԗ�@4L2RX='�8P8��'=XR� U;Ig0,3lb??bl3���4Lj��jL4*\���(88(�����\���}I/#"/'&/'&?'&'&?'&76?'&7676767676`�
(�5)�0
)��*)
0�)5�(
��
(�5)�0
))��))
0�)5�(
��*)
0�)5�(��
)�5)�0
)*��*)
0�)5�)
��
)�5)�0
)*���5h$4&"24&#!4>54&#"+323254'>4'654&'!267+#"'&#!"&5463!2>767>32!2&4&&4�N2��$YGB
(HGEG  H��Q�#5K4L��i�!<�����;��5KK5 
A#
("/?&}�vh��4&&4&�3M95S+C=�,@QQ9��@@�IJ 2E=L5i�>9eM��E;K5�5K	J7R>@#�zD<����5=q%3#".'&'&'&'.#"!"3!32>$4&"2#!"#"&?&547&'#"&5463!&546323!2`  #A<(H(GY$��2NL4K5#aWTƾh&4&&4�K5��;����=!�i��hv�}&?/"(
#A
 5K��2*!	Q@.'!&=C+S59M34L=E2 JI UR@@&4&&4&���5K;E��Lf9>�ig�<Dz�#@>R7J	K�5h4&"24#"."&#"4&#"".#"!54>7#!"&54.'&'.5463246326326&4&&4��IJ 2E=L43M95S+C=�,@QQ9�@@�E;K5��5K	J7R>@#�zD<�gi�>9eM��Z4&&4&<�#5K4LN2��$YGB
(HGEG  H��V���;��5KK5 
A#
("/?&}�vh��i�!<��4<p4.=!32>332653272673264&"2/#"'#"&5#"&54>767>5463!2�@@��2*!	Q@.'!&=C+S59M34L.9E2 JI UR�&4&&4&��Lf6A�ig�6Jy�#@>R7J	K5�5K;E@TƾH  #A<(H(GY$��2NL4K#5#a=4&&4&�D��=�i��hv�}&?/"(
#A
 5KK5��;�����+54&#!764/&"2?64/!26 $$ &�
�[6��[[j6[��&���^����a�a@�&�4[��[6[��[6�&+�^����a�a�����+4/&"!"3!277$ $$ [��6[��
&&��[6j[
���^����a�ae6[j[6�&�&�4[j[��^����a�a�����+4''&"2?;2652?$ $$ ��[6[��[6�&�&�4[���^����a�af6j[[��6[��
&&��[��^����a�a�����+4/&"4&+"'&"2? $$ [6�&�&�4[j[6[j���^����a�ad6[��&&�
�[6��[[j��^����a�a������  $2>767676&67>?&'4&'.'.'."#&6'&6&'3.'.&'&'&&'&6'&>567>#7>7636''&'&&'.'"6&'6'..'/"&'&76.'7>767&.'"76.7"7"#76'&'.'2#22676767765'4.6326&'.'&'"'>7>&&'.54>'>7>67&'&#674&7767>&/45'.67>76'27".#6'>776'>7647>?6#76'6&'676'&67.'&'6.'.#&'.&6'&.5/�a����^����D&"	


	4
	$!	#
	
		
	



 
.0"�Y
	+


!	
	

$	
	"
+


		
	�Α	
		
����^����a�a��

	

			
	

	

		
	
		P� '-(	#	*	$

"
!				
*
!	

(				

	
��$�
		
2
�~�/$4&"2	#"/&547#"32>32�&4&&4��V%54'j&&�'��/덹���:,���{	&4&&4&�V%%l$65&�b��'C��r!"��k[G�+;%!5!!5!!5!#!"&5463!2#!"&5463!2#!"&5463!2����������&��&&�&&��&&�&&��&&�&�������@�&&&&�&&&&�&&&&��{#"'&5&763!2{�'
��**�)��*��)'/!5!#!"&5!3!26=#!5!463!5463!2!2���^B�@B^�&@&`��^B`8(@(8`B^��� B^^B�&&�����B^�(88(�^���G	76#!"'&?	#!"&5476	#"'&5463!2	'&763!2#"'��c�)'&�@*������*�@&('�c���(&�*�cc�*�&'
����*�@&('�c���'(&�*�cc�*�&('���c�'(&�@*��19AS[#"&532327#!"&54>322>32"&462 &6 +&'654'32>32"&462Q�g�Rp|Kx;CB��y��y� 6Fe=
BP���PB
=eF6 ��Ԗ��V����>!pR�g�QBC;xK|��Ԗ���{QNa*+%��x��x5eud_C(+5++5+(C_due2Ԗ�Ԗ�����>�NQ{u�%+*jԖ�Ԗ��p�!Ci4/&#"#".'32?64/&#"327.546326#"/&547'#"/&4?632632��(* 8(!�)(��A�('��)* 8(!U�SxyS�SXXVzxT�TU�SxyS�SXXVzxT�@(� (8 *(���(��'(�(8 ���S�SU�Sx{VXXT�T�S�SU�Sx{VXXT���#!"5467&5432632�������t,Ԟ;F`j�)��������6�,��>�jK?�s��
�!%#!"&7#"&463!2+!'5#�8Ej��jE8�@&&&&@������XYY�&4&&4&�qD�S�%��q%��N\jx��2"&4#"'#"'&7>76326?'&'#"'.'&676326326&'&#"32>'&#"3254?''7�4&&4&l��
�NnbS���VZbR��SD	
zz
	DS��Rb)+U���Sbn�
��\.2Q\dJ'.2Q\dJ.Q2.'Jd\Q2.'Jd`!O�`��	`�����&4&&4�r$#@�B10M�5TNT{L�5T
	II	
T5�L;l'OT4�M01B�@#$�*�3;$*�3;�;3�*$;3�*$�:$/� @@�Qq`��@���"%3<2#!"&5!"&5467>3!263!	!!#!!46!#!�(88(�@(8��(8(�`(�(8D<���+����+�<��8(�`(��8(�`�8(�@(88( 8(�(`�(8(��(������<��`(8��(`����`(8����||?%#"'&54632#"'&#"32654'&#"#"'&54632|�u�d��qܟ�s]
=
��Ofj�L?R@T?��"&�
>
�f?rRX=Ed�u�ds���q��
=
_M�jiL��?T@R?E& �f
>
�=XRr?��b���!1E)!34&'.##!"&5#3463!24&+";26#!"&5463!2����
��
08(��(8��8(@(8��
�

�
�8(��(88(�(`(����1

�`(88(���(88(@

��
�`(88(@(8(��`���#!"&5463!2�w�@w��w�w�`�@w��w�w��/%#!"&=463!2#!"&=463!2#!"&=463!2&��&&�&&��&&�&&��&&�&��&&�&&�&&�&&�&&�&&��@'7G$"&462"&462#!"&=463!2"&462#!"&=463!2#!"&=463!2�p�pp�pp�pp��
�@

�
��p�pp��
�@

�

�@

�
Рpp�p��pp�p���

�
�pp�p���

�
�

�
��<L\l|#"'732654'>75"##5!!&54>54&#"'>3235#!"&=463!2!5346=#'73#!"&=463!2#!"&=463!2}mQjB919+i1$AjM_3<��/BB/.#U_:IdDRE�
�@
�
����k*G�j�
�@
�

�@

�
TP\BX-@8
C)5�XsJ@�$3T4+,:;39SG2S.7<���

�vcc)�)%L�l�}�

��

�
���5e2#!"&=463%&'&5476!2/&'&#"!#"/&'&=4'&?5732767654'&��@�0��2uBo
T25XzrDCBB�Eh:%��)0%HPIP{rQ�9f#-+>;I@KM-/Q"�@@@#-bZ��$&P{<�8[;:XICC>.�'5oe80#.0(
l0&%,"J&9%$<=DTI���cs&/6323276727#"327676767654./&'&'737#"'&'&'&54'&54&#!"3!260%
<4�"VRt8<@<
-#=XYhW8+0$"+dT�Lx-'I&JKkm��uw<=V�@�!X@		v
'��|N;!/!$8:I�Ob�V;C#V

&
(���mL.A:9 !./KLwP�M�$��@@
��/?O_o��%54&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!26#!"&5463!2��@��@��@���@��@��@���@��@��@�^B��B^^B@B^�����������������������������N��B^^B@B^^���#+3	'$"/&4762%/?/?/?/?�%k��*��6�6��bbbb|��<<��<�bbbb��bbbb�%k���6���6Ƒbbb��<<��<<�^bbbbbb@��M$4&"2!#"4&"2&#"&5!"&5#".54634&>?>;5463!2�LhLLh����
	�	LhLLhL!'�Ԗ���Ԗ@'!&	
�?�&&LhLLhL�	�	
��hLLhL��	j��jj��j	&@6/"
��&&���J#"'676732>54.#"7>76'&54632#"&7>54&#"&54$ ���ok;	-j=y�hw�i�[+PM3ѩ���k=J%62>Vc��a�aQ�^��� ]G"�'9��r�~:`}�Ch�  0=Z�٤���W=#uY2BrUI1�^Fk[|��a�����L2#!67673254.#"67676'&54632#"&7>54&#"#"&5463�w��w�+U	,i<��F{�jh�}Z+OM

2ϧ���j<J%51=Ub�w��w��w�@w�zX"�'8'�T�yI9`{�Bf� 
,>X�բ���W<"uW1AqSH1�bd��w�w����'74'!3#"&46327&#"326%35#5##33#!"&5463!2����0U6c��c\=hl���ࠥ�Ymmnnnn�w�@w��w�w�w&�46#�Ȏ;ed����wnnnnn��@w��w�w����	]#/#"$&6$3 &#"32>7!5!%##5#5353����Е���tt����u�{�zz�{S�ZC�`�c�����o���t�*�t��q|��|.EXN#�??�������,<!5##673#$".4>2"&5!#2!46#!"&5463!2��r�M*
�*M~�~M**M~�~M*j����jj����&�&&&�`��P%��挐|NN|���|NN|�*�jj���jj�@��&&�&&@�
"'&463!2�@4�@&�Z4�@�4&@
#!"&4762&��&�4�Z4&&4��@@���
"'&4762�&4�@�4&@��&�4�&�@�
"&5462@�@4&&4��4�@&�&�@����
3!!%!!26#!"&5463!2�`��m��`
�^B��B^^B@B^���
 `���@B^^B�B^^��@
"'&463!2#!"&4762�@4�@&�&&��&�4��4�@�4&Z4&&4��@��
"'&463!2�@4�@&��4�@�4&@
#!"&4762&��&�4�Z4&&4��@��:#!"&5;2>76%6+".'&$'.5463!2^B�@B^,9j�9Gv33vG9�H9+bI��\
A+=66=+A
[��">nSM�A_:��B^^B1&�c*/11/*{�'VO�3��@/$$/@�*�?Nh^��l+!+"&5462!4&#"!/!#>32]��_gTRdg�d���QV?U��I*Gg?����!�2IbbIJaa���iwE33����00� 08����4#"$'&6?6332>4.#"#!"&54766$32z�䜬��m�
I�wh��QQ��hb�F�*�@&('�k�������z��
�	
_hQ��н�QGB�'(&�*�eoz�(���q!#"'&547"'#"'&54>7632&4762.547>32#".'632�%k'45%��&+�~(
(�h		&

\(
(�		&

~+54'k%5%l%%l$65+~

&		�(
(\

&		�h(
(~�+%��'��!)19K4&"24&"26.676&$4&"24&"24&"2#!"'&46$ �KjKKjKjKKj�e2.e<^P��,bKjKKj��KjKKjKjKKj��#��#���LlL�KjKKjKjKKjK��~-��M<M�(PM<rjKKjK�jKKjKujKKjK�������L���< 6?32$6&#"'#"&'5&6&>7>7&54$ L�h��я�W.�{+9E=�c��Q�d�FK��1A
0)���������p�J2`[Q?l&������٫�C58.H(Y��'����:d 6?32$64&$ #"'#"&'&4>7>7.546'&'&'# '32$7>54'Y����j`a#",5NK�
����~E�����VZ|�$2$
|��:
$2$�|ZV���:�(t}�����h�fR�88T
h�̲����X(	
&%(H�w��(%&	(X�ZT\�MKG�{x��|�!#"'.7#"'&7>3!2%632u��

�j
�H����{(e9
�1b���U#!"&546;5!32#!"&546;5!32#!"&546;5463!5#"&5463!2+!2328(��(88(`�`(88(��(88(`�`(88(��(88(`L4`(88(@(88(`4L`(8 ��(88(@(8��8(��(88(@(8��8(��(88(@(8�4L�8(@(88(��(8�L4�8����OY"&546226562#"'.#"#"'.'."#"'.'.#"#"&5476$32&"5462��И&4&NdN!>!
1X:Dx++w�w++xD:X1
-�U��
�!�*,*&4&��h��h&&2NN2D&

..J<
$$
<JJ<
$$
<J..

��P���bb&&�7!!"&5!54&#!"3!26!	#!"&=!"&5463!2��`(8��
�@

�
+��8(�@(8��(88(@(8�(��8(� @

@
�m+�U�`(88(�8(@(88(��
�h`���(\"&54&#"&46324."367>767#"&'"&547&547&547.'&54>2�l4

2cK�Eo���oED
)
�
�
�
)
D�g-;</-
?.P^P.?
-/<;-gY�����Y�

.2 L4H|O--O|HeO,����,Oe�q1Ls26%%4.2,44,2.4%%62sL1q�c�qAAq����4#!#"'&547632!2#"&=!"&=463!54632
��
��		@	
`
	��	
��

`?`�
�

@	
	@	
�!	��	
�
�
�
����54&+4&+"#"276#!"5467&5432632�
�
�
	`		_
�������v,Ԝ;G_j�)��``

��
	��		_ԟ����7
�,��>�jL>���54'&";;265326#!"5467&5432632	��		��
�
�
�
�������v,Ԝ;G_j�)���	`		����

`������7
�,��>�jL>�����X`$"&462#!"&54>72654&'547 7"2654'54622654'54&'46.' &6 �&4&&4&�y��y�%:hD:Fp�pG9�F�j� 8P8 LhL 8P8 E;
Dh:%������>�4&&4&}y��yD~�s[4D�d=PppP=d�>hh>@�jY*(88(*Y4LL4Y*(88(*YDw"
A4*[s�~����>�����M4&"27 $=.54632>32#"' 65#"&4632632 65.5462&4&&4�G9��������&
<#5KK5!��!5KK5#<
&ܤ��9Gp�p&4&&4&@>b�u��ោؐ&$KjK�nj��j�KjK$&����j��j�b>Ppp���
%!5!#"&5463!!35463!2+32����@\��\���8(@(8�\@@\������\@\���(88(��\��@��34#"&54"3#!"&5!"&5>547&5462�;U gI@L4�@�Ԗ�@4L2RX='�8P8��'=XR� U;Ig04Lj��jL4*\���(88(�����\��@"4&+32!#!"&+#!"&5463!2�pP@@P���j�j�@�@�\�@\�&��0�p����j��	��� \��\�&��-B+"&5.5462265462265462+"&5#"&5463!2�G9L4�4L9G&4&&4&&4&&4&&4&L4�4L�
��&���=d��4LL4d=�&&�`&&�&&�`&&�&&��4LL4
 ��&�#3CS#!"&5463!2!&'&!"&5!463!2#!"&52#!"&=4632#!"&=463�(8(��(88(�(`�x
��c�`(8���@��@��@�`(��(88(@(8(D��9�8(��`@�@@�@@��/?O_o��������-=%+"&=46;25+"&=46;2+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2+"&=46;2!!!5463!2#!"&5463!2�
@

@

@

@

@

@
�
@

@

@

@
�
@

@
�
@

@
�
@

@

@

@
�
@

@
�
@

@
�
@

@

@

@
�
@

@
�
@

@

@

@
�
@

@

@

@
�����
@
&�&&&�@

@
�@

@

@

@
�@

@
��@

@
�@

@
�@

@
�@

@
��@

@
�@

@
�@

@
�@

@
��@

@
�@

@
�@

@
��@

@
�@

@

@

@
����

`��&&�&&
��/?O_o�����%+"&=46;25+"&=46;2+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2+"&=46;2!!#!"&=!!5463!24&+"#54&+";26=3;26%#!"&5463!463!2!2�
@

@

@

@

@

@
�
@

@

@

@
�
@

@
�
@

@

@

@
�
@

@

@

@
���8(�@(8��
@

@
�
@

@
�
@
&�&&@8(�(8@&�@

@
�@

@

@

@
�@

@
��@

@
�@

@
�@

@
��@

@
�@

@

@

@
��� (88( ���

�@

``

��

``
-�&&& (88(��&@����<c$4&"2!#4&"254&+54&+"#";;26=326+"&5!"&5#"&46346?>;463!2�KjKKj�����KjKKj�������&��Ԗ���Ԗ�&&�@�&�&KjKKjK��
��jKKjK ������.��&j��jj��j&4&�@�@&&���#'1?I54&+54&+"#";;26=326!5!#"&5463!!35463!2+32����������� \��\����8(@(8�\  \����������\@\���(88(��\����:
#32+53##'53535'575#5#5733#5;2+3����@��E&&`�@@��`  ����  `��@@�`&&E%@�`��@ @ @��		 �� � � � �� 		��@ 0
@��!3!57#"&5'7!7!��K5�������@ � � @���5K�@����@@��� �����#3%4&+"!4&+";265!;26#!"&5463!2&�&�&�&&�&&�&�w�@w��w�w���&&��@&&��&&@��&&��@w��w�w�����#354&#!4&+"!"3!;265!26#!"&5463!2&��&�&��&&@&�&@&�w�@w��w�w�@�&@&&��&�&��&&@&:�@w��w�w��-M�3)$"'&4762	"'&4762	s
2

�.

�

2

�w��
2

�.

�

2

�w��
2

�

�

2

�w�w

2

�

�

2

�w�w
M�3)"/&47	&4?62"/&47	&4?62S
�.

2

��w

2

��
�.

2

��w

2

�M
�.

2

��

2

�.

�.

2

��

2

�.M�3S)$"'	"/&4762"'	"/&47623
2

�w�w

2

�

�

2

�w�w

2

�

��
2

��w

2

�

�.v
2

��w

2

�

�.M�3s)"'&4?62	62"'&4?62	623
�.

�.

2

��

2

�.

�.

2

��

2�
�.

�

2

�w�

2v
�.

�

2

�w�

2-Ms3	"'&4762s
�w�

2

�.

�

2�
�w�w

2

�

�

2
MS3"/&47	&4?62S
�.

2

��w

2

�M
�.

2

��

2

�.M
3S"'	"/&47623
2

�w�w

2

�

�m
2

��w

2

�

�.M-3s"'&4?62	623
�.

�.

2

��

2-
�.

�

2

�w�

2���/4&#!"3!26#!#!"&54>5!"&5463!2
��

@
�^B��  &�&  ��B^^B@B^ @

��
M��B^%Q=
&&<P&^B@B^^�+3"&5463!2#3!2654&#!"3#!"&=324+"3�B^^B@B^^B��
@

��
`�^B��B^�p�^B�B^^B�@B^`�@

�
�S`(88(``  ��'$4&"2%4&#!"3!26#!"&5463!2�&4&&4�
��

@
�^B��B^^B@B^f4&&4&��

�@
��B^^B@B^^/$4&"2%4&#!"3!264+";%#!"&5463!2�/B//B�
�


���0L4�4LL44L_B//B/��

�@
M   �4LL44LL���  >& $$ ������(���r���^����a�a��������(���^����a�a����!C#!"&54>;2+";2#!"&54>;2+";2pP��PpQ��h@&&@j�8(�Pp�pP��PpQ��h@&&@j�8(�Pp@��PppP�h��Q&�&�j (8pP��PppP�h��Q&�&�j (8p��!C+"&=46;26=4&+"&5463!2+"&=46;26=4&+"&5463!2Q��h@&&@j�8(�PppP�Pp�Q��h@&&@j�8(�PppP�Pp��@h��Q&�&�j (8pP�PppP�@h��Q&�&�j (8pP�Ppp@�@�	#+3;G$#"&5462"&462"&462#"&462"&462"&462"&462#"&54632K54LKj=KjKKj��KjKKj�L45KKjK�<^�^^��KjKKj��p�pp���\]��]\��jKL45K��jKKjKujKKjK��4LKjKK�^^�^��jKKjK��pp�p�r]��]\����� $$ ���^����a�aQ�^����a�a�����,#"&5465654.+"'&47623 #>bq��b�&4�4&�ɢ5����"		#D7e�uU6�&4&��m����1X".4>2".4>24&#""'&#";2>#".'&547&5472632>3�=T==T=�=T==T=��v)�G�G�+v�@b��R�R��b@�=&����\N����j!>�3l�k����i�k3�hPTDDTPTDDTPTDDTPTDD|x��xX�K--K��|Mp<#	)>dA{��RXtfOT# RNftWQ���,%4&#!"&=4&#!"3!26#!"&5463!2!28(�@(88(��(88(�(8��\�@\��\@\��\���(88(@(88(�@(88�@\��\�\��\ �u�'E4#!"3!2676%!54&#!"&=4&#!">#!"&5463!2!232�5��([��5@(\&��8(��(88(��(8,�9.��+�C��\��\@\� \��6Z]#+��#,k��(88(@(88(��;5E�>:��5E�\�\��\ �\�1. ���$4@"&'&676267>"&462"&462.  > $$ n%��%/���02�
KjKKjKKjKKjKf���ff�������^����a�a�y��y/PccP/�jKKjKKjKKjK���ff���ff�@�^����a�a�����$4@&'."'.7>2"&462"&462.  > $$ n20���/%��7KjKKjKKjKKjKf���ff�������^����a�a3/PccP/y��	jKKjKKjKKjK���ff���ff�@�^����a�a�����+7#!"&463!2"&462"&462.  > $$ �&��&&��&KjKKjKKjKKjKf���ff�������^����a�a�4&&4&�jKKjKKjKKjK���ff���ff�@�^����a�a���#+3C54&+54&+"#";;26=3264&"24&"2$#"'##"3!2@������@KjKKjKKjKKjK����ܒ���,����������gjKKjKKjKKjK�X�Ԁ�,�,��#/;GS_kw�����+"=4;27+"=4;2'+"=4;2#!"=43!2%+"=4;2'+"=4;2+"=4;2'+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;54;2!#!"&5463!2�``����``��`��``�``�``�``�``�``�````�p`���K5��5KK5�5Kp``�``�``��``�``�``��``�``��``��``�````��`��������5KK5�5KK@���*V#"'.#"63232+"&5.5462#"/.#"#"'&547>32327676���R?d�^��7ac77,9x�m#@#KjK�#
ڗXF@Fp:f��_ #W��Ip�p&3z�	�h[ 17��q%q#:��:#5KKu�'t#!X:	%�#+=&>7p@���*2Fr56565'5&'.	#"32325#"'+"&5.5462#"/.#"#"'&547>32327676@��ͳ�����8
2.,#,f�k*1x���-!���#@#KjK�#
ڗXF@Fp:f��_ #W��Ip�p&3z�	�e�`��v�o�8�t-�	�:5	��[�*�#:��:#5KKu�'t#!X:	%�#+=&>7p
�3$	"/&47	&4?62#!"&=463!2I�.

2

��w

2

�
-�@�)�.

2

��

2

�.
�-@@-��S�$9%"'&4762		/.7>	"/&47	&4?62i2

�.

�

2

�w�
E��>

u>

��.

2

��w

2

�
�2

�

�

2

�w�w
!��




�h�.

2

��

2

�.
���;#"'&476#"'&7'.'#"'&476�'
�)'�s
"+5+�@ա'
�)'����F*4*E�r4�M:�}}8��GO
�*4*������~�
(-/'	#"'%#"&7&67%632���B�;><���V�?�?V�� -����-C�4
<B�=�cB5���!%��%!�b 7I�))�9I7���	#"'.5!".67632y��(
��#

��##@,(
�)���8!	!++"&=!"&5#"&=46;546;2!76232-S��S����������S�

		��S��S�`���`���		

������K$4&"24&"24&"27"&5467.546267>5.5462 8P88P88P88P�8P88P�4,�C��S,4p�p4,,4p�p4,6d7AL*',4p�pP88P8�P88P8HP88P8`4Y��&+(>EY4PppP4Y4Y4PppP4Y�%*<O4Y4Ppp���
%@\ht�	"'&4762"&5462&#!"&463!2#"'&'7?654'7&#"&'&54?632#!"&463!2"&5462"'&4762��		

	����@U�SxyS���R���#PT����('�#��TU�SxySN���@����		

		�		

		
3��@��xS�SUO#���'(���V^�'(���PVvxS�SU��i��@��		

		
`�<+"&=46;2+"&=467>54&#"#"/.7!2���<'G,')7��N;2]=A+#H

�
�0P��R��H6^;<T%-S�#:/*@Z}


>h���.%#!"&=46;#"&=463!232#!"&=463!2�&�&&@@&&�&@&�&�&&&��&&�&�&�&&��&f�&&�&&b�#!"&=463!2#!"&'&63!2&�&&&'�'%@% �&&�&&�&&&&�k%J%#/&'#!53#5!36?!#!'&54>54&#"'6763235���
����Ź���}���4NZN4;)3.i%Sin�1KXL7觧�*		��#��&		*������@jC?.>!&1'\%Awc8^;:+<!P��%I%#/&'#!53#5!36?!#!'&54>54&#"'6763235���
����Ź���}���4NZN4;)3.i%Pln�EcdJ觧�*		��#��&		*������-@jC?.>!&1'\%AwcBiC:D'P%!	#!"&'&6763!2�P������&:�&?�&:&?����5"K�,)""K,)���h#".#""#"&54>54&#"#"'./"'"5327654.54632326732>32�YO)I-D%n "h.=T#)#lQTv%.%P_�	%	
%�_P%.%vUPl#)#T=@�/#,-91P+R[�Ql#)#|'�'
59%D-I)OY[R+P19-,##,-91P+R[YO)I-D%95%�_P%.%v���'3!2#!"&463!5&=462 =462 &546 ����&&��&&��&4&r&4&�������@����&4&&4&�G݀&&������&&f��������
��sCK&=462	#"'32=462!2#!"&463!5&'"/&4762%4632e*&4&i����76`al�&4&���&&��&&}n�

R

�

R
�z����f�Oego�&&�5�����`3��&&����&4&&4&�
D�

R

�

R
z����v���"!676"'.5463!2@�@w^�Cc�t~55~t�cC&�&@���?J���V��|RIIR|��V&&��#G!!%4&+";26%4&+";26%#!"&546;546;2!546;232�����@@@@�L4��4LL4�^B@B^�^B@B^�4L�� �� ��N�4LL44L`B^^B``B^^B`L����L4&"2%#"'%.5!#!"&54675#"#"'.7>7&5462!467%632&4&&4��@�o�&�&}c ;pG=(
8Ai8^�^.�&4&&4&`��	`f�s��&& j�o/;J!#2
 KAE*,B^^B!`	$� ��-4&"2#"/&7#"/&767%676$!2�8P88P��Qr��	@
U���	@�
{`P�TP88P8�����P`��
�	@U	@�rQ���!6'&+!!!!2Ѥ���
8�������̙�e�;<*��@8 !�G��G�GQII���� %764'	64/&"2 $$ �f��3f4�:�4����^����a�a�f4334f�:4�:�^����a�a����� %64'&"	2 $$ ���:4f3��f4F���^����a�a��4�f4���4f�^����a�a����� 764'&"27	2 $$ �f�:4�:f4334����^����a�a�f4��:4f3���^����a�a����� %64/&"	&"2 $$ -�f4���4f�4����^����a�a��4f��3f4�:w�^����a�a���@��7!!/#35%!'!%j��/d��
�jg2�|�8�����������55���dc ��b���@��!	!%!!7!���FG)��D�H:�&�H����d���S)��U4&"2#"/ $'#"'&5463!2#"&=46;5.546232+>7'&763!2�&4&&4f]w�q�4�qw]	`dC���&&�:F�ԖF:�&&���Cd`�4&&4&����	]����]	`d[}�&�&�"uFj��jFu"�&�&�y}[d�#2#!"&546;4 +"&54&" (88(�@(88( r&@&�Ԗ8(��(88(@(8@����&&j��j�����'3"&462&    .  > $$ �Ԗ������>a��X��,��f���ff�������^����a�a�Ԗ�Ԗ�a>����T�X��,�,�~�ff���ff�@�^����a�a����/+"&=46;2+"&=46;2+"&=46;2�8(�(88(�(88(�(88(�(88(�(88(�(8 �(88(�(88(�(88(�(88(�(88(�(88��/+"&=46;2+"&=46;2+"&=46;2�8(�(88(�(88(�(88(�(88(�(88(�(8 �(88(�(88�(88(�(88�(88(�(88���5E$4&"2%&'&;26%&.$'&;276#!"&5463!2KjKKj�
���
��
�
f���	

�\�
�
�w�@w��w�w��jKKjK"�G

�
ܚ

��f


�
���

	�@w��w�w�����  $64'&327/�a����^�����  ��!  ����^����a�a��J@%��%	6�5��/	64'&"2	"/64&"'&476227<���ij��6��j6��u%k%~8p�8}%%�%k%}8p�8~%<���<�ij4j��4����t%%~8�p8~%k%�%%}8�p8}%k���54&#!"3!26#!"&5463!2&��&&�&�w�@w��w�w�@�&&�&&:�@w��w�w����/#!"&=463!24&#!"3!26#!"&5463!2���@�^B��B^^B@B^��w��w��w@w��@@�2@B^^B��B^^���w��w@w���+#!"'&?63!#"'&762�(��@�	@�(@>@�%����%%��� ���!232"'&76;!"/&76 �
�($��>��(����
		��J ���&%�����$%64/&"'&"2#!"&5463!2�ff4�-�4ff4f�w�@w��w�w��f4f�-�f4����@w��w�w�����/#5#5'&76	764/&"%#!"&5463!2��48`���
#�� ����\�P\��w�@w��w�w���4`8�
��
#�@  ���`\P�\`�@w��w�w�����)4&#!"273276#!"&5463!2&� *���f4�
'�w�@w��w�w�`�&')���4f�*�@w��w�w�����%5	64'&"3276'7>332#!"&5463!2�`��'(wƒa8!
�,j.��(&�w�@w��w�w��`4`*�'?_`ze<��	bw4/�*��@w��w�w�����-.  6 $$ ���� �������(�r���^����a�a���O����(��������_�^����a�a�����
-"'&763!24&#!"3!26#!"&5463!2y��B��(�(�
�@

�
�w�@w��w�w�]#�@�##� �

�@
�@w��w�w�����
-#!"'&7624&#!"3!26#!"&5463!2y(��(@B@u
�@

�
�w�@w��w�w��###��@���

�@
�@w��w�w�����
-'&54764&#!"3!26#!"&5463!2@�@####���@��w�@w��w�w��B��(�(������@�@w��w�w����`%#"'#"&=46;&7#"&=46;632/.#"!2#!!2#!32>?6�#
!"'�?_

BCbCa�f\	+
~�2�	
��
	�}0�$

��
q
90r�
�

�pr%Dpu���?#!"&=46;#"&=46;54632'.#"!2#!!546;2��D
a__����	g	

*`-Uh1

��������

�߫�}
	$^L��
���
4��b+"&=.'&?676032654.'.5467546;2'.#"�ǟ�
B{PDg	q�%%Q{%P46'-N/B).ĝ
�9kC<Q
7>W*_x*%K./58`7E%_���
�	,-3�
cVO2")#,)9;J)���
�"!*�
#VD,'#/&>AX��>++"''&=46;267!"&=463!&+"&=463!2+32��Ԫ�$
�	��	
p���U�9ӑ
@�/�*f�����o�	

VRfq
�f=S��E!#"&5!"&=463!5!"&=46;&76;2>76;232#!!2#![�
��

 ��

��
�
�%
)��
	���

��"

��Jg
Uh
B�W&WX���
hU
g��
�84&#!!2#!!2#!+"&=#"&=46;5#"&=46;463!2�j��@jo�����
������g�|�@��~�v����v�
u�n#467!!3'##467!++"'#+"&'#"&=46;'#"&=46;&76;2!6;2!6;232+32Q�Kt#�� ��#F�N�Qo!��"�դ��ѧ����!�mY

�Zga~bm]�

[o�"�U+��������,����� @��h��
h@�@X
��h��h
��@�8���3H\#5"'#"&+73273&#&+5275363534."#22>4.#2>��ut
3NtR�P*�H�o2

Lo�@!�R(�Ozh=�,G<X2O:&D1A.1G$<2I+A;"B,;&$��L��GlF/�����3�D�����;a��$8$��".�!3!
��.�3!#!"&5463!���8( 8(��(88( ��h (8��(88(@(8�(8H!!#!"&5463!54&#!"3!2654&#!"3!2654&#!"3!26��(D 8(��(88( 8��@��@��@�$����(88(@(8��(8� @@@@@@"�}
$BR3/&5##"'&76;46;232!56?5"#+#5!76;5!53'#3!533��H��
��

�����D��q		�x7��	���K/�/K��F��h�/"���		@`����Z		s�Y��w�jj��jj��j"�}
$4R%3/&5##"'&76;46;232!53'#3!533!56?5"#+#5!76;5��H��
��

��������K/�/K��F����q		�x7��	�h�/"���		@`����jj��jj��j�Z		s�Y��
w"�)9IY%#"'&76;46;232#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2�
��

����� ��@������@���`��		@`�����������"�)9IY#!"&=463!2%#"'&76;46;232#!"&=463!2#!"&=463!2#!"&=463!2��� 
��

�������@��������@ ��r��		@`��r������"��
$CV%4&#"326#"'&76;46;232%#"'&'73267##"&54632!5346=#'73BX;4>ID2F��
��

������8PuE>.'%&TeQ,j��m{��+�>R�{�?jJrL6V��		@`��7>wmR1q
uW�ei��/rr�
:V��r"��
$7V4&#"326#"'&76;46;232!5346=#'73#"'&'73267##"&54632BX;4>ID2F��
��

������+�>R�{�8PuE>.'%&TeQ,j��m{��?jJrL6����		@`���rr�
:V��r3>wmR1q
uW�ei����@�\%4&#"326#!"&5463!2+".'&'.5467>767>7>7632!2&%%&�&��&& &�7.'	:@�$LB�WM{#&$h1D!		.I/!	Nr�&&%%��&&�&&V?, L=8=9%pEL+%�%r@W!<%*',<2(<&L,"r�@\#"&546324&#!"3!26%#!#"'.'.'&'.'.546767>;&%%&�&��&& &i7qN��	!/I.		!D1h$&#{MW�BL$�@:	'.�&&%%���&&��&&�=XNr%(M&<(2<,'*%<!W@r%�%+LEp%9=8=L ���	+=\d����%54#"327354"%###5#5#"'&53327#"'#3632#"'&=4762#3274645"=424'.'&!  7>76#'#3%54'&#"32763##"'&5#327#!"&5463!2��BB��PJN�C'%!	B?)#!CC $)�54f�"��@@
B+����,A

A+�&�+A
�
ZK35N #J!1331�CCC $)��w�@w��w�w��2��"33�F�Y�F~��(-%"��o�4*)$�(*�	(&;�;&&9LA38�33�4��S,;;,W��T+<<+T;(��\g7�x�:&&:�:&&<r����%-�@w��w�w����	+=[c}���#"'632#542%35!33!3##"'&5#327%54'&#"5#353276%5##"=354'&#"32767654"2 '.'&547>76 3#&'&'3#"'&=47632%#5#"'&53327�''RZZ�:k��id YYY.06�	62+YY-06	R[!.�'CD''EH$��VV�X:���:Y
X;��:Y
�fyd/%jG�&DC&&CD&O[52.
[$�C-D..D�^^���* l�y1%=^�I86�i077S
3
$EWgO%33%O�O%35	��EE�F�W�t;PP;p��t;PP;p�q��J�gT��F�Q%33&P�P%33%R�
7>%3���!+}��{�'+"&72'&76;2+"'66;2U
�&�
��	�(���P

�*��'�e�J."�-d�Z��-n �-���'74'&+";27&+";276'56#!"&5463!2�~�}�		�7��e �	���۩w�@w��w�w��"���
$Q#�'�!#
����@w��w�w��
�I-22#!&$/.'.'.'=&7>?>36����9II ! '	$ !�����01$$%A'	$ ! ����g	
\7@�)(���7Y
	
 \7@�)(���7Y
@����	'5557	���,���VW�QV���.R���W��=���?��l��%l`��������~����0��!#!#%777	5!	������R!!�XC�C��fff�݀�#�� `��,��������{��{{�`��������Og4&"2 &6 $"&462$"&62>7>7>&46.'.'. '.'&7>76 �Ԗ�� ���HR6L66L�G�HyU2LL2UyH��HyU2LL2UyHn
��X�6X��

��X�X��
Ԗ�Ԗ�����H�6L66L6�L2UyH��HyU2LL2UyH��HyU2L�n�6X��

��X�X��

�����2#!"&54634&"2$4&"2�w��w�@w��w�|�||��|�||���w�@w��w�w����||�||�||�|���	!3	37! $$ �n6^�5�5^h
����^����a�a������M�1�^����a�a���P��
*Cg'.676.7>.'$7>&'.'&'? 7%&'.'.'>767$/u5'&$I7o�b?K�\[z�H,1���+.@\7<��?5\V
,$V��g.GR@ �7��U,+!�����
	#	"8$}�{)�<�?L RR;kr,yE[��z#	/1
"#	#�eCI0/"5#`�	��"8���4~&p)4	2�{�H-.%W.L>���':Yi4&67&'&676'.'>7646&' '7>6'&'&7>7#!"&5463!2PR$++'TJX�j7-F��C',��,&C
."��!$28��h�/���"�	+p��^&+3$
i��0(�w�@w��w�w��+.i6=Bn\C1XR:#"�'jj�8Q.cAj�57!?"0D��$4"P[
&2�@w��w�w��D��"%.5#5>7>;!!76�P�Yh�pN!�HrD0�M��
 C0N��#>8\xx: �W]oW-�X���45���/%'#.5!5!#"37>#!"&5463!2p>,;$4
��5eD�+W�cE���w�@w��w�w�K�()��F
,VhV��^9tjA0/�@w��w�w���@�#"'&76;46;23�
��


��
	���&��

��� ���++"&5#"&7632�	���
^


c
� �&�

��@�#!'&5476!2� &��

����
^


b	���'&=!"&=463!546�
��� �&�
�
��	���
��
��q&8#"'&#"#"5476323276326767q'T��1[VA=QQ3���qq�Hih"-bfGw^44O#A���?66%CKJ�A}}�  !"�䒐""A$@C3^q|�z=KK?6�lk)���%!%!��V��V��u��u�u^-�m5�w��}�n�����~7M[264&"264&"2"&546+"&=##"&5'#"&5!467'&766276#"&54632�  �  ��*<;V<<O@-K<V<�<+*<J.@�k��c�lG
H_�_H
�<+*<<*+<    �<*�R+<<+�*<�f.@�+<<+��+<<+�@.��7�uu�7�
�**�
���R+<<+�+;;	��"%3I�#5472&6&67><&4'>&4.'.'.'.'.'&6&'.'.6767645.'#.'6&'&7676"&'&627>76'&7>'&'&'&'&766'.7>7676>76&6763>6&'&232.'.6'4."7674.'&#>7626'.'&#"'.'.'&676.67>7>5'&7>.'&'&'&7>7>767&'&67636'.'&67>7>.'.67�	\
��
	U7	
J#!W!'	

"';%

k	)"	
	'


/7* 		I	,6
*&"!

O6*
O $.(�	*.'

.x�,	$CN��	
�		*	�
6
		
7%&&_f&
",VL,G$3�@@$+
"


V5 3"	
""�#dA++
y0D-%&n4P'A5j$9E#"c7Y
6"	&
8Z(;=I50' !!e
�R
��
"+0n?�t(-z.'<>R$A"24B@(	~	9B9,	*$		
		<>	?0D�9f?Ae �	.(;1.D	4H&.Ct iY% *	�
7��


��
J	 <
W0%$	
""I!
*D	 ,4A'�4J"	.0f6D�4p�Z{+*�D_wqi;�W1G("%%T7F}AG!1#% JG3��� '.2>Vb%&#'32&'!>?>'&' &>"6&#">&'>26 $$ *b6�~�#��= ���XP2��{&%gx|�� .���W)o���O��LO�sEzG<��	CK}E	$MFD<5+
z���^����a�a$�MW�M��1>]|�YY�^D
�եA��<��K�m����E6<�"�@9I5*�^����a�a�����>^4./.543232654.#"#".#"32>#"'#"$&547&54632632�':XM1h*�+D($,/9p�`D�oC&JV<�Z PA3Q1*223�I�oBkែhMI����oPែhMI��oP�2S6,M!"@-7Y.?oI=[<%$('3 -- <-\�%Fu���Po��IMh���Po����IMh,���#?D76&#!"7>;267676&#!"&=463!267
#!"'&5463!26�%�8#!�
��&&Z"�M>2!��
	�^I7LRx_@�>MN�""��`�=&&*%�I�}��,
	�	L�7_jj��9����/%4&#!"3!264&#!"3!26#!"&5463!2�� ��� ��&��&&�&��������&&�&&��19#"'#++"&5#"&5475##"&54763!2"&4628(3�-�	&�B.�.B�&	�-�3(8Ig�gI�`������(8+U��e&��.BB.&����+8(�kk��`�������%-"&5#"&5#"&5#"&5463!2"&4628P8@B\B@B\B@8P8pP�Pp�����@�`(88(`�p.BB.�0.BB.���(88(�Pppͺ�������!%>&'&#"'.$ $$ ^/(V=$<;$=V).X���^����a�a��J`"(("`J��^����a�a��,���I4."2>%'%"/'&5%&'&?'&767%476762%6�[���՛[[���՛o��
�ܴ
 
���
��	��	$
$�	"	�$
$	��	�՛[[���՛[[�5`��

^�

�^

2`��
`2

^��^

��`
�����1%#"$54732$%#"$&546$763276�68��ʴh�f�킐&^�����zs��,!V[���vn)�	�6���<��ׂ�f{���z����}))N�s���3(@����+4&#!"3!2#!"&5463!2#!"&5463!2@&�&&f&��&&�&@&�&&&�4&&4&�@&&�&&��&&&& ��`�BH+"/##"./#"'.?&5#"&46;'&462!76232!46 `&�C�6�@Bb0�3eI;��:�&&�&4�L�4&���F���
�Z4&�w�4�) ���''
�5�r�&4&&�4&��&4��������}G�#&/.#./.'&4?63%27>'./&'&7676>767>?>%6}�)(."�2*&�@P9A
#sG�q]
#lh�<*46+(
	
<
5�R5"*>%</
 '2�@� 53*9*,�Z&VE/#E+)AC
(���	2k<X1$:hI(B
"	!:4Y&>"/	+[>hy
	���K
!/Ui%6&'&676&'&6'.7>%.$76$% $.5476$6?62'.76&&'&676%.76&'..676�#"NDQt	
�-�okQ//�jo_	������	���%&J�������Ղ���YJA-��.--
9\DtT+X?*<UW3'	26$>>�W0{�"F!"E �

^f`$"�_]\�<`�F�`�F�D��h>Cw�ls���J@�;=?s
:i_^{8+?`
)
O`�s2R�DE58/K��r	#"'>7&4$&5m��ī��"#���̵�$5���$�"^^W����=���ac��E�*���c������zk./"&4636$7.'>67.'>65.67>&/>z X^hc^O<q����+f$H^XbVS!rȇr?5GD_RV@-FbV=3!G84&3Im<$/6X_�D'=NUTL;2KPwt��Pt= 

�&ռ
,J~S/#NL,��8JsF);??1zIEJpq�DIPZXSF6\?5:NR=��;.&1��+!"&=!!%!5463!2�sQ9����Qs�*�*�*sQNQsBUw��
wUBF��H���CCTww���%1#"&=!"&=463!54632.  6 $$ �	��	
��

`?��������(�r���^����a�a�	��	
�
�
�
���(��������_�^����a�a�����%1#!#"'&47632!2.  6 $$ �
����		@	
`
��������(�r���^����a�a�
�
?		@	
���(��������_�^����a�a�����/#"'&476324&#!"3!26#!"&5463!2&�@�&
�@

�
�w�@w��w�w����&@B@&���

�@
�@w��w�w�����"&462  >& $$ �Ԗ��*�����(���r���^����a�a�Ԗ�Ԗ �������(���^����a�a���]�6#"$54732>%#"'!"&'&7>32'!!!2�f:�л����Ѫz��~�u:�
(�(%`V6B^hD%��i�(�]̳ޛ	��*>�6߅�����r�#�!3?^BEa�߀�#�9���#36'&632#"'&'&63232#!"&5463!2
��Q,&U�#+'
 �;il4L92<D`����w�@w��w�w�����`9ܩ6ɽ]`C4�7�7�&�@w��w�w����D+"&5#"'&=4?5#"'&=4?546;2%6%66546;2�������
	
��
	
��w�ww�w�������cB
�G]B
�G��t�y]t�y�
���#3C#!+"&5!"&=463!46;2!24&#!"3!26#!"&5463!2���@��`@`�^B��B^^B@B^��w��w��w@w��@��`@`���2@B^^B��B^^���w��w@w�����'/?P+5#"&547.467&546;532!764'!"+32#323!&ln��@
:MM:
@��nY*�Yz--zY�*55QDD�U���9p��Y-`]��]`.X /2I$�	t�@@/!!/@@3,$,3�$p$0�0��&*0��&���&��
!P@���RV2#"&/#"&/#"&546?#"&546?'&54632%'&54632763276%�>S]�8T;/M7��7T</L7�=Q7,�i�<R7,�5T</L666U;/M5�<U<,�i���6i���Q=a!;�;V6-�j�;V6-�5	P=/L596Q</L5�<U6-�i�;V7,�7O;-I6��8��i;k���)I2#!"&5463#9"'.'.'3!264&#!"2>7%>�w��w�@w��w�!"�5bBBb/�/*
8(@(87)��(8=%/�'#?��w�@w��w�w����#~$EE y &�L(88e):8(%O r		

		�O�?GQaq47&67>&&'&67>&"&#6$32#"#"'654  $&6 $6&$ Co��L��.*�KPx���.*� 
iSƓi
7J?��~�pi{_Я�;��lL�������UZ=刈�����刈�����_t'<Z
�:!
	���@!
��j`Q7$k�y, R����f��k*4�������LlL��=Z=刈��������&$&546$7%7&'5>�����]���5��%��w�����������&��P�?�zrSF�!|��&0	##!"&5#5!3!3!3!32!546;2!5463���)�
)����;)��);;)��)���&&������&@@&�&��&��	�
6 $&727"'%+"'&7&54767%&4762������֬>4P���t+8?::
	�	
::AW��``���EvEEvE<�.���"�e$IE&�O�&EI&�{h.`��m���"&#"&'327>73271[
>+)@
(���]:2,C?��*%�Zx/658:@#N
�C�=�E�(�o��E=��W'c:������#!#"$&6$3 &#"32>7!����ڝ���yy��,��{��ۀ�ہW�^F!�L�C=���y�:�y��w���߂0H\R%�"N^ '&76232762$"&5462"&46274&"&'264&#"'&&#"32$54'>$ $&6$ G>��>0yx1��4J55J�5J44J5�Fd$��?�4J55%6�E��#42F%��$f�������LlL�q>>11�J44%&4Z%44J54R1F$Z-%45J521��Z%F1#:��ʎ 9�������LlL�����#Qa"'&7622762%"&5462"&546274&#"&'73264&#"'&&#"32654'>#!"&5463!2�

5�5

*�*��.>.-@-R.>.-@-�<+*q�6�- -- 0�<�o,+< ��3�w�@w��w�w��

55

**�.. -- .. --G*<N�' ,-@-+*��M <*2
z��z
1�@w��w�w�����0<754&""&=#326546325##"&='26 $$ bZt�t&�sRQs��Z<t�sQ���^����a�a�>OpoO��xzRrqP6�z~{{Prr��^����a�a�����]054&"#"&5!2654632!#"&57265&<T<����H<T<������H������<T<8v*<<*������
��+;;+l���:�������=:��*;;*���
%!!"!!26#!"&5463!2��@� ]���]�@�w�@w��w�w�����]� �@��@w��w�w���	
%)3!!#335!!5!5!%#!!5!5!%#H��H{����R��H��H{���G��G{�)���q���G����R�R�q���R�R�q�����	#0@#"'632#"'632&#"7532&#"#7532#!"&5463!2L5+*5��L5+*5~�}7W|�3B}��}JC��7=}�w�@w��w�w�D�ZQ�[�1�N:_��)�i�$��)���@w��w�w��
)�	�����������6.#&#"'&547>'&#".'&'#"&5467%&4>7>3263232654.547'654'63277.'.*#">7?67>?>32#"'7'>3'>3235?�K�cgA+![<E0y�$,<'.cI
	,#� '!;7$�=ep���	��/�/7/
D+R>,7*
2(-#=
	/~[(D?G  �|,)"#+)O��8,+�'�6	y{=@��0mI�#938OA�E`
-�
)y_/FwaH8j7=7?%����a	%%!?)L
J
9=5]~�pj

 %(��1$",I 
$@((�
+!.S		-L__$'-9L	5V��+	
	6�T+6.8-$�0��+
t�|S1��6]�&#"'&#"67>76'&'&#"67>32764.#"#.32>67>7 $&54>7>7>7�rJ�@"kb2)W+,5/1		#

Z
-!��$IOXp7s�LCF9�vz NAG#/ 5|����Հ';RKR/J#=$,�9,�+$UCS7'2"1
 !�/
,

/--ST(::(�ep4AM@=I>".)x��ls��Y�|qK@
%(YQ�&N
EHv~����<Zx'#"&5467&6?2?'&"/.7.546326#"&'&/7264/7'764&"'?>>32.��A�UpIUxYE.A�%%%h%����%hJ%�����D,FZxULsT�gxUJrV�D�%hJ%�����@/LefL.C�%Jh%�����C�VsNUxϠ�@.FZyUHpV�A�%h&%%���%Ji%�����C�WpIUybJ/��Uy^G,D�%Jh%�����@�UsMtU�C�%hJ%�����C-Kfy�EX[_gj��&/&'.''67>7>7&'&'&'>76763>7>#&'&'767672'%'7'+"&'&546323267>7%#"'4'6767672,32�,+DCCQL�Df'
%:/d
B	4@}
�&!0$�?�����J�f�d�f-�.=���6(��:!TO�?
!I�G_�U%
����.
k*.=;�	5gN_X��	"
##
292Q41�
��*����6���nA;�|�
�BSN.	%1$����
6	$��nk�^�'7GWgw�����2+"&5463#!"&5463!254&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";26#"&=! B^^B�B^^B�:F�j��B^8(�(`�(� ������������������`�(8���^B��B^^B@B^�"vE�j�^B(8(�`(�����������������������8(����/?O_o��������/?2#!"&5463;26=4&+";26=4&+";26=4&+";26=4&+"54&+";2654&+";2654&+";2654&+";2654&+";2654&#!"3!2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";26@&&�&&�@@@@@@@@�@@@@@@@@@@��@@@@@@@@@@@@@@@@@@@&��&&�&��@@��@@��@@��@@��@@@@@@@@@@���@@@@@@@@�@@@@@@@@@@@��`'	"&5#"&5&4762!762$"&462���B\B@B\B��O�p�P����������.BB.���.BB.8$P��O広�������3CQ#".54>32#".546322#"&#"#"54>%".54>32%2#"&54>&X=L|<&X=M{<��TML�FTML�F�v�"?B+D�?B�J�p��H=X&<{M=X&<|dMTF�LMTF�(<kNs�I<kNs���Pvo�JPwo�/��s.=ZY�VӮv�Nk<J�sNk<I�shwPJ�ovPJ�o@��+"&7.54>2�r_-$�$-_rU���U��%��&&5%ő������'-
"'.546762����@��F�F�$�@B�@$.&�,�&.]]|�q����#<���<#(B�B��B%'-%'-'%'-"'%&'"'%.5467%467%62����@��l�l����@��l�l,���@��G�G�&!�@@�@�@@�@!&+#�+#�6�#+�$*`�:�p������:�p���x�
�p����=�`$>����>$�&@��&@�

�@&�p�@��	&.A!!"!&2673!"5432!%!254#!5!2654#!%!2#!8���Zp��?v�d���Ί�e�ns�6(���N[�����RW�u?�rt1Sr�F���|��iZ��@7�����މoy2���IM��C~[�R �yK{T:���%,AGK2#!"&5463!!2654'654.#532#532"&5!654&#"327#2#>!!�w��w�@w��w��~u��k'JTM��wa��|
DH��������>�I1q�Fj?����w�@w��w�w�����sq�*4p9O*�¸Z^���qh LE
�������"(nz8B
M���'?"&4624&#"'.'324&#"3267##"&/632632.�ʏ����hhMA�LR vGhг~��~������K„y���O^
��ʏ�ʏ��В*�LM@!<I�~��~����������t\��0�������CM4&"2#"&'676&/632#!"&=3267%2654&#"&#"%463!2"&4632�r�qq��tR8^4.<x3=RR��w�@w���_h�
Y��Ӗ���	K>�שw�w���ȍ�de�)�qrOPq�Ȧs:03=<x!m�@w��w�E\x�g�ӕ��є��%w�w����d��Ȏ��V��
-<K\%.'.>7'.?67'67%'>&%'7%7./6D�\$>	"N,��?a0�#O���1G�����9�'/���P(1#00��
($=!F"�9|��]�"RE<�6'o��9%8J$\:��\H�iTe<?}V��#�oj��?���d,6���%N#"
Hl��S��VY�]C

=�@�C4&"2!.#!"4&"2+"&=!"&=#"&546;>3!232�^�^^���Y	�	^�^^��`p�p�p�p`�]i�bb�i]�~�^^�^�e��^^�^���PppP��PppP��]��^^�]��3;EM2+"&=!"&=#"&546;>;5463!232264&"!.#!"264&" ]�`p�p�p�p`�]i�b���b�i���^^�^d�Y	�	!�^^�^��]��@PppP@@PppP@�]��^��^�]� ^�^^��e��^�^^� ��3$#!#!"&5467!"&47#"&47#"&4762++�&�2
$��$
�2&��&��&�4�&��&��Z4&�&##&�&4�&4�&4���4&�m4&�m���+DP4'&#"32763232674'&!"32763 3264'&$#"32763232> $$ g����* �o�`#�ə�0#z��#l(~���̠)���-g+����^����a�aF s"	+g�(�*
3#!|
#/IK/%*%D=)[�^����a�a����	!!!'!!77!���,���/���,�-���a��/G��	t%/;<HTbcq������%7.#"32%74'&"32765"/7627#"5'7432#"/7632#"5'7432#"&5'74632	#"/6327#"/6327#"/46329"&/462"&/>21"&/567632#!.547632632
	
	*


			��X		�

^

`		���

^b
	��c�
	f�u��
U`�59u���

���

4�J���
	
l�~		~�	F��	
��	�2�����

�
�	��	�m����|O�,��� ����	

���
��������

ru|	��u�
�
"�����
)9 $7 $&= $7 $&= $7 $&=  $&=46��w���`���w���w���`���w���w���`���w��b����`����VT�EvEEvE�T��VT�EvEEvE�T*VT�EvEEvE�T*EvE�EvEEvE�Ev�#^ct�#!"&5463!2!&'&!"&5!632#"&'#"/&'&7>766767.76;267674767&5&5&'67.'&'&#3274�(8(��(88(�(`�x
��c�`(8��!3;:�A0�?ݫ�Y

	^U	47D$

	7�4U3I�
|��L38wtL0�`(��(88(@(8(D��9�8(��Q1&(!;��
(g-	Up�~R�2(/{E���(Xz*Z%(�i6CmVo8�#T#!"&5463!2!&'&!"&5!3367653335!3#4.5.'##'&'35�(8(��(88(�(`�x
��c�`(8�iF������F��Zc�r�cZ�`(��(88(@(8(D��9�8(���k�k�"	��kk�J	 	!��	�k�#S#!"&5463!2!&'&!"&5!%!5#7>;#!5#35!3#&'&/35!3�(8(��(88(�(`�x
��c�`(8�-Kg
kL#D��C��JgjL��D���`(��(88(@(8(D��9�8(���jj�	�jjkk��kk����#8C#!"&5463!2!&'&!"&5!%!5#5327>54&'&#!3#32�(8(��(88(�(`�x
��c�`(8� G]�L*COJ?0R��\wx48>�`(��(88(@(8(D��9�8(���jj��RQxk��!RY�#*2#!"&5463!2!&'&!"&5!!57"&462�(8(��(88(�(`�x
��c�`(8�������P�pp�p�`(��(88(@(8(D��9�8(����������p�pp�	�#*7JR5#5#5#5##!"&5463!2!&'&!"&5##5!"&54765332264&"�����<(8(��(88(�(`�x
��c�`(8����k�ޑc�O"�jKKjK�������������`(��(88(@(8(D��9�8(������SmmS?M���&4&&4�#9L^#!"&5463!2!&'&!"&5!#"/#"&=46;76276'.'2764'.�(8(��(88(�(`�x
��c�`(8���������6dd�WW6&44�`(��(88(@(8(D��9�8(��.��	����G���5{��{5�]�]$59�95�#3C#!"&5463!2!&'&!"&5!2#!"&5463#"'5632�(8(��(88(�(`�x
��c�`(8��4LL4��4LL4l	��		�`(��(88(@(8(D��9�8(���L4��4LL4�4L��	
Z
	�#7K[#!"&5463!2!&'&!"&5!>&'&7!/.?'&6?6.7>'�(8(��(88(�(`�x
��c�`(8�`3��3��3��3�v
�
?
�
�`(��(88(@(8(D��9�8(���&��&-��&��&�
?


��
'���6#'.
'!67&54632".'654&#"32�eaAɢ/PRAids`WXyzO�v��д��:C;A:25@Ң>�����-05r��n������`��H(�����' gQWZc[���
-%7'	%'-'%	%"'&54762�[������3[��M���N�����
��3"��,��""3,3"o�ng�$������߆���]�g�n��$����+��)��

")")"

��x#W#"&#!+.5467&546326$32327.'#"&5463232654&#"632#".#"o���G��n\�u_MK'����̨|�g?CM7MM5,QAAIQqAy��{�b]BL4PJ9+OABIRo?z��.�z��
�n�6'+s�:�������z�cIAC65D*DRRD*�wy�al@B39E*DRRD*��'/7  $&6$ 6277&47' 7'"' 6& 6'�lL������������R�R����ZB|��R�R��>����d�ZZ��������LlL�Z����R�R«����Z��&�>���«|��R� � ��! $&54$7 >54'5��������P���f���f����P�����牉�@��s��-����ff���`-����c6721>?>././76&/7>?>?>./&31#"$&��(@8!IH2hM>'

)-*
h'N'��!'Og,R"/!YQG<I *1)

(-O1D+0�n�������z�3fw���G2'3�rd1!sF0o ��.q"!%GsH8��@-!5|w|pgS=
"B2PJfh�G���d�R	�(P]ly��&$'77&7567'676'"'7&'&'7&47'6767'627''6$'67'654'7&'7'&'&'7&'5&$  $6 $&6$ j��j:,A��A��S9bb9R#:j���8AܔA,z��C�9Z04\40Z9�C��!B�;X0,l,0X;�B�*A8ܔA&#9j`b9S$#R99#&A��8A�`
������䇇�<Z<䳎������LlL�fBϬ"129�,V<4!���!88dpm��"��BV,�92[P*V*P\M�C�

�C�M\P*V*P]L�D�

�D�L&BV*�8*8!����f�!4<gmpd88!&!8*8�*VB�Z<䇇�����䇇��������LlL�����9Eis�%#"5432#"543275#&#"3254&'.547>54'63&547#5#"=3235#47##6323#324&"26%#!"&5463!2F]kbf$JMM$&�N92<Vv;,&)q(DL+�`N11MZ
%G���&54	#	i�<$8&@��0H12F1d�w�@w��w�w��B?@�UTZ3%}rV2hD5%f-C#�C@,nO	�a7�.0�x2	yR�uR/u�%6;&�$76%$56S�@w��w�w��D��<Hlw%4#"324&#"32!".5475&5475.546322#654'3%#".535"&#"5354'33"&+32#"&54632S����;<;||w
$+�|('-GVVG-��EznA�C?H_��`Rb���]Gg>Z2&`��9UW=��N9:PO;:dhe\=R����
+)�&')-S9��9kJ�<)Um�Q��/��-Ya^"![��Y��'(<`X;_�L6#)|����tWW:;X���	#'#3#!"&5463!2)
p�*�xeשw�@w��w�w���0,\8�����@w��w�w��9��I#"'#"&'&>767&5462#"'.7>32>4."&'&54>32JrO<3>5�-&FD(=Gq���@C$39a��LL��²�L4

&)
@]��v�
�q#CO���!~󿵂<ZK#*Pq.���%
L��²�LL��arh({�w؜\���i&5467&6747632#".'&##".'&'.'#".5467>72765'./"#"&'&5
�}����1R<2"7MW'$	;IS7@�5sQ@@)�R#DvTA;
0x
I)�!:>�+<B76:NFcP:SC4r�l+r �E%.*a-(6%('�>)C	6.�>�
!-I[4&#"324&#"3264&#"324&#"326&#"#".'7$4$32'#"$&6$32D2)+BB+)3(--(3�1)+BB+)�4'--'4��'���#!0>R	�H���MŰ9�o�u7ǖD��䣣���
R23('3�_,--,�R23('3�_,--,�����NJ
������?u�W�m%������#"'%#"'.5	%&'&7632�!�
�;�
	`��u%"��(����!]#�c�)(�	��� #"'%#"'.5%&'&76	�!�
���	�(%#�#���fP_�"�(���!�)'��+�ʼn�����4I#"$'&6?6332>4.#"#!"&54766$32#!"&=46;46;2z�䜬��m�
I�wh��QQ��hb�F�*�@&('�k�������@����z��
�	
_hQ��н�QGB�'(&�*�eozΘ�@@`���  >. $$ ����ff���ff�����^����a�af���ff�����^����a�a��>�����"&#"#"&54>7654'&#!"#"&#"#"&54>765'46.'."&54632326323!27654'.5463232632�,�-,�,",:!
%�]&
%@2(/�.+�*)6!	<.$.�.*�*"+8#
�
#Q3,�,+�+#-:#"</$�)

w�

���
,*

x9-.2"'
,,
���@�&,,
��Qw
,����,#"+"&5#+"&5&'&'&547676)2�%2$l$�#l#�b~B@XXyo2�$CI@5��$$�>$$�/:yu��xv)%$	��/?CG%!5%2#!"&5463!5#5!52#!"&54632#!"&5463#5!5`���&&�&&������ �&&�&&�&&�&&@������&�&&&���������&�&&&�&�&&&��������%2 &547%#"&632%&546 #"'6���������\~����~\h�
���~\��h\�������V�
�V�������V��V���%5$4&#"'64'73264&"&#"3272#!"&5463!2}XT=��=TX}}�~�>SX}}XS>�~�}�w�@w��w�w���~:xx:~�}}Xx9}�}9xX}�@w��w�w���/>LXds.327>76 $&6$32762#"/&4762"/&47626+"&46;2'"&=462#"'&4?62E0l�,

*"�T�.�D@Yo������oo����@5D�

[		

Z
�Z

		[	 ``��[



Z

	�2
,�l0
(T�"�.�D5@������oo��oY@D,

Z

		[	�		[		

Z
��``EZ

		[		
�5%!  $&66='&'%77'727'%am��lL�������m�f�?���5���5>�f�F�tu�ut�F������������LlL�H�Y�C�L|��|L����Y�˄(��E''E*(�/?IYiy����%+"&=46;2+"&=46;2+"&=46;2+"&=46;2%"&=!#+"&=46;2+"&=46;2+"&=46;2+"&=46;2!54!54>$ +"&=46;2#!"&=������@�������&&������@��������������3P��
>��P3��&��&��r���r��r���&��&���r���r��r���
he

4LKM:%%:MKL4�W��T�&&��%/9##!"&563!!#!"&5"&5!2!5463!2!5463!2�&&�&��&�&&���� ��� ��&��&&i�@����&&@&7�����'#5&?6262�%%�o����;����j|/����&jJ%�p��&j;&i&�p���/|���j�ţ���%Jk%�o��%��	:g"&5462#"&546324&#!"263662>7'&75.''&'&&'&6463!276i���~ZYYZ~�@O��S;+[G[3YUD#o?D&G3I=J�y�TkBuhNV!WOhuAiS�y*'^C�C^'*SwwSTvvTSwwSTvv���WID\�_"[�g��q# /3qF��r2/ $r�g�%4
�HffH�J4d���#!#7!!7!#5!������VF��N����rmN�N��N����������N���!Y���+?Ne%&'&'&7>727>'#&'&'&>2'&'&676'&76$7&'&767>76'6�#
<�;1�1x��#*#
�G,T9�3%�/#0v�N�Z;:8��)M:(	&���C.J}2	%0����
 	^*
J�F	
&�7'X"2L�DM"	+��6�
M2+'BQfXV#+]
#���'
L/(e�B�9
�#,8!!!5!!5!5!5!5#26%!!26#!"&5!5���������������&4&���&�pP��Pp������������������@��@&&@��!&�@PppP@�*
��	9Q$"&54627"."#"&547>2"'.#"#"&5476$ "'&$ #"&5476$ (�}R}hL�K�
N���N
����U�d:�
�x�x�
�����8���
��
�
� ,, |2222�
MXXM

�ic,>>,�
����
�	����	�
��̺

�
��'/7?KSck{4&"2$4&"24&"24&"24&"24&"24&"24&"24&"264&"24&#!"3!264&"2#!"&5463!2�KjKKj�KjKKj��KjKKjKKjKKj��KjKKj��KjKKjKKjKKj��KjKKjKLhLLhL��KjKKj�&�&&&KjKKj�L4��4LL4�4L5jKKjKKjKKjK�jKKjK��jKKjK�jKKjK�jKKjK��jKKjK�jKKjK���4LL4��4LL�jKKjK�&&�&&��jKKjK�4LL44LL	��'E!#"+"&7>76;7676767>'#'"#!"&7>3!2�W�",&7'�	#$	&��g�pf5O�.P�q�ZZdS���-V"0kqzTx�D!��!8�p�8%'i_�F?;�k��R(`��
!�&)�'�
(2!&6367!	&63!2�!
`�B��1LO�(���+#�=)�heC��Qg#s`���f�4#����6�������q�'���X�|0-�g��	�>IY#6?>7&#!%'.'33#&#"#"/3674'.54636%#"3733#!"&5463!2��4��:@��7�vH��%�h��EP{��0&<'VFJo���1,1.F6��A��#���L4�4LL44L"%�	
 
7x'6
O\�JYFw���~�v^fH$ !�"xdjD"!�6��`J�4LL44LL��	�+3@GXcgqz�����-<JX{�&#"327&76'32>54.#"35#3;5#'#3537+5;3'23764/"+353$4632#"$2#462#"6462""'"&5&5474761256321##%354&'"&#"5#35432354323=#&#"32?4/&54327&#"#"'326'#"=35#5##3327"327'#"'354&3"5#354327&327''"&46327&#"3=#&#"32?"5#354327&3=#&"32?"#3274?67654'&'4/"&#!"&5463!2_��g��QQ��h���^_�~\[[\]�_^���h��QQ��g�e��<F�$�$$��� !!�&&�/!/

!!�

00/e&'!"e$�
		'!!�''�
	8''NgL4�4LL44L�UQ��gh��QUk=<Sc���cc,-{k���jUQ��hg��Q��



�9

,&W &$U�K$$KK$$KDC(>("
!
=))=2�( '! '�L#(>(
&�DC(>(z�L#�DzG)<)�4LL44LL��	�
BWbjq}��+532%+5324&+32763#4&'.546327&#"#"'3265#"&546325&#"32!264&"2%#'#735#535#535#3'654&+353#!"&5463!29$<=$�@?�SdO__J-<AA@)7")9,<$.%0*,G3@%)1??.+&((JgfJ*�A�������!&��j�jj��GZYG�иwssw��PiL>8aA	!M7�7MM7�7M�3!�
4erJ]��&3YM�(,
,%7(#)
,(@=)M%A20C&Me�e��(X���0&Ėjj�jV��	8Z8J9���N/4���$�8NN8�8NN��	�#&:O[���	$?b3'7'#3#%54+32%4+324+323'%#5#'#'##337"&##'!!732%#3#3##!"&53733537!572!56373353#'#'#"5#&#!'#'#463!2#"5#"5!&+&+'!!7353273532!2732%#54&+#32#46.+#2#3#3##+53254&".546;#"67+53254&.546;#"#'#'##"54;"&;7335wY-AJF���=c�(TS)!*RQ+��*RQ+�Y,�B^9^��Ft`njUM�')	~PS�PR�m���٘���M7�7Mo7�q

@)U	8�"����E(�1��++��NM7�7Mx3�7��8�D�62��W74�;�9�<�-A"EA�0:��AF@�1:�ؗ����B�f~~""12"4(�w$#11#�@}}!%+%5(�v$:O�\z��K��?*$\amcrVl��OO176Nn�<!E(=�<&l/������<<������
[ZZYY�89176���7OO7�==..//cV==::z,,,,aa,,��7OO7�Z::��;;Y
fcW�(		"6-!c�(		!5	#
b�t88176����tV:
&$'*9	%e#:
%'*9B����<<��;
&(�����	�#:Sn�����#"&54632%#76;2#"&54632%4&+";2?>23266&+"&#"3267;24&+"'&+";27%4&+";2?>23266&+"&#"3267;254+";27#76;2#!"&5463!2�3%#2%%,, _3$$2%%��M>�ALVb5)LDHeE:<
E�Mj,K'-R
M�~M>�ARVb5)LEHeE:<
E�
JAB�I*'!($rL4�4LL44Lv%1 %3!x*k�$2 %3!�;5�h
n
a�
!(lI;F	
	
��	r�p
p8;5�h

t
a�
!(lI;F��`	#k�4LL44LL
��	�
2HW[lt��#"'5632#6324&'.54327&#"#"&'32767#533275#"=5&#"'#36323#4'&#"'#7532764&"24'&#"327'#"'&'36#!"&5463!2=!9�n23��BD$ &:BCRM.0AC'0RH`Q03'`�.>,&I / *�
 /

��8/��n-(G@5��$ S3=�,.B..B�02^`o?7je;9G+��L4�4LL44LyE%#	�Vb�;A
!p &'F:Aq)%)#o�rg�T$v2�� 8�)2����z948/�{�8A�B..B/��q?@�r�<7(g/��4LL44LL��?#!"&'24#"&54"&/&6?&5>547&54626=�L4�@�ԕ;U g3
��
T
�2RX='�8P8|�5�
����4Lj��j� U;Ig@
	��
`
� "*\���(88(�]k
��&N4#"&54"3	.#"#!"&'7!&7&/&6?&5>547&54626;U gI��m*��]�Z0�L4�@�ԕ���=o=CT
��
T
�2RX='�8P8|�5�
� U;Ig��Xu?bl3���@4Lj��j��a���`
	��
`
� "*\���(88(�]k����/7[%4&+";26%4&+";26%4&+";26!'&'!+#!"&5#"&=463!7>3!2!2@@@@@@���0
��
o`^B��B^`5FN(@(NF5���@��@��@�u		�@�LSyuS�@�%44%����,<H#"5432+"=4&#"326=46;2  >. $$ ~Isy9���"SgR8v�H����D�	w
����ff���ff�����^����a�a�m2N+��	)H-mF+1����0*F		+f���ff�����^����a�a�����b4&#"32>"#"'&'#"&54632?>;23>5!"3276#"$&6$3 �k^?zb=ka`�U4J{�K_/4�^����W�&	vx :XB0���܂�ff���)
f������zz��X��lz=l�apz��o�b35!2BX���
�G@8��'	'=vN$\f���f�	1
	SZz�8�z�X�#("/+'547'&4?6276	'D�^�h

�

i��%5�@�%[i

�

h�]��@������]�h

�

i��%�@�5%[i

�

h�^�@@������)2#"&5476#".5327>OFi-���ay~�\~;��'�S���{�s:D8>)AJfh]F?X��{[��TC6��LlG��]��v2'"%B];$�-o��%!2>7>3232>7>322>7>32".'.#"#"&'.#"#"&'.#"#546;!!!!!32#"&54>52#"&54>52#"&54>52�-P&+#($P.-P$'#+&PZP&+#"+&P-($P-.P$(#+$P.-P$'#+&P-.P$+#pP@@Pp�H85K"&ZH85K"&ZH85K"&Z����@��Pp��@��@��@pMSK5, :&�LMSK5, :&�LMSK5, :&����!!3	!	�����@�����@@�����	#"$$3!!2"j������aѻxl���a����lx�a�a����j������!!3/"/'62'&63!2��'y��

�`�I

��y�����My��

�`�I

��y'W`#".'.#"32767!"&54>3232654.'&546#&'5&#"

4$%Eӕ;iNL291 ;XxR`�f՝�Q8T������W��iW�gW:;*:`�Qs&?RWXJ8�oNU0�J1F@#)
[�%6_PO�QiX(o�`��_?5�"$���iʗ\&>bd�s�6�aP*< -;iFn�*-c1B���Wg4'.'4.54632#7&'.#"#"'.#"32767'#"&54632326#!"&5463!2��#$(	1$6]'
!E3P|ad(2S;aF9'EO�Se�j]�m�]<*rYs��hpt.#)$78L*k�h�w�@w��w�w��B

%
$/$G6
sP`X):F�/�fwH1p�dl�qnmPH�ui�kw_:[9D'��@w��w�w��34."2>$4.#!!2>#!".>3!2�Q��н�QQ��н�QQ��h�~w��w�h���f����ff����н�QQ��н�QQ��н�QZ����ZQ�����ff���ff�#>3!2#!".2>4."f����ff�����н�QQ��н�QQ���ff���ff��Q��н�QQ��н�	,\!"&?&#"326'3&'!&#"#"'  5467'+#"327#"&463!!'#"&463!2632���(#�AH����s���9q � ci��<=�
#�]�<������OFA��!�������re��&&��U�&&![e��F �������U?���g�����4_���������a�?b�+��r7�&4&��&4&�p,�+K4&"2$4&"2.#!"3!264&#!"3!2#"&=!"&=#47>$ �KjKKjKKjKKjH#�j#H&&&������KjK�KjK�g	�V�	ijKKjKKjKKjK���..n((�[���5KK5��5KK5�[po�Nv<<vN�:f���.R#!"&463!24'!"&5463!&$#"!2#!32>+#"'#"&546;&546$3232�2$�B$22$�$�*$22$�X�ڭ��ӯ�$22$�tX'���hs2$���ϧ��kc�$22$���1���c�$2�F33F3VVT2#$2����ԱVT2#$2��g���#2UU���݃
�2$#2UU�1݃���2��,u�54#"67.632&#"32654'.#"32764.'&$#"7232&'##"&54732654&#"467&5463254632>32#"'&�ru�&9��%"*#�͟ <yK0Og�" 
&9B3�;��㛘8��s%+DWXRD= @Y%�	!Q6R�!4M8�+6rU^z=)�RN��.)C>O%GR�=O&^���op������C8�pP*�b�Y
_�#��$��N Pb@6��)?����+0L15"4$.�Es
�5I�Q"!@h"�Y7e|J>z�iPe��n�eHbIl�F>^]@����n*9
���6[_3#"&54632#.#"32%3#"&54632#.#"326%4&'.'&! ! 7>7>!���������
�=39?
6'_����������
�>29?
5'17m-V����U--,�bW.�������뮠@Fyu0HC$������뮠@Fyu0HC$L���=??
<����=! A	<��`�;+"&54&#!+"&5463!2#!"&546;2!26546;2���p���Ї����0�p�����p���@��I�������pp���>Sc+"&=46;254&+"&+";2=46;2;2=46;2;2%54&#!";2=;26#!"&5463!2���A5�DD�5A7^6a7MB5��5B7?�5B~�`��`��`0`��rr��5A44A5�����v�5AA5�f�*A���`��`0`�����	!!!!	#!"&5463!2��ړ�7���H��7j�v�@v��v�v��'���:��@v��v�v���MUahmrx���������������#"'!"'!#"&547.547.54674&547&54632!62!632!#!627'!%!"67'#77!63!!7357/7'%#	%'3/&=&'	5#?&5476��!�p4�q"���"�"�6�"� ��'������h*�[���
��|�*��,�@���?wA�UM�pV���@�˝�����)��Ϳw����7(�{��*U%���K6������=0�(���M���		��"!O		dX$k
!!��!
����b��	
���[�����TDOi
��@��6��b��xBA�ݽ�5
�
�ɝ:����J���+���3����,��p
x�1���������Fi
(��R��
463!#!"&5%'4&#!"3���`����а@.�.@A-X��f�B����$��.BB.�.C��}
)&54$32&'%&&'67���"w�`�Rd]G�{��o]>p6��sc(��@wg����mJ�PAjy���YW�a͊AZq���{HZ�:�<dv\gx�>��2AT�Kn������+;"'&#"&#"+6!263 2&#"&#">3267&#">326e��~�└�Ȁ|��隚���Ν|����ū|iy�Zʬ��7Ӕ�ް�r|�uѥ��x�9[��[9�jj��9A�N��N�+,#ll"���B�S32fk��[/?\%4&+";26%4&+";26%4&+";26%4&+";26%#!"&5467&546326$32�]]��ee��ee��ee��$��~i
�qfN-*���������#����Sj������t�2"'q�C���B8!�'�>	
!%)-159=AEIMQUY]agkosw{��������!	%!	5!#5#5#5#5#57777????#5!#5!#5!#5!#5!#5!#5!#5#537#5!#5!#5!#5!#5!#55#535353535353%"&546326#"'#32>54.&54>3237.#"����������Q%%%%%%%%%?iiihOiixiiyiixii�Arssrrssr��%s�ssrrss�Ns%%%%%%%%%%�����������'<D<'paC_78#7PO7)("I$	75!����RA��b��(���ss�ss�ss�ss�ss�"/!".""."
!."".!/^.".^.".]/".�$$$$$$$$$$$$$$$$��Os$$$$$$$$$$$$$$sO$s�ss�ss�ss�ss�ss#��������}$)	13?*
,./:
-�s�*4&"2$4&"2#!"&5463!2!5463!2_��������?-��-??-�,@�@,�-?����pq�8��,??,D,??,��,??(�Z2#".#"3267>32#".543232654&#"#"&54654&#"#"&547>326���ڞU�zrhgrx�S��Пd�U <e�����x՞����Zf��_gן:k=2;�^��9��Œ��7\x��x\7����K=5Xltֆ�W����W{e_�%N��%,%CI��%���#+W4&+54&"#";26=32"&462"&462!2#!"&54>7#"&463!2!2�&�&4&�&&�&4&���KjKKj�KjKKj� ���&&�&%��&&�&&4&�&&�&4&�&&��5jKKjKKjKKjK��%z
0&4&&3D7&4&
%&���'S4&"4&"'&"27"&462"&462!2#!"&54>7#"&463!2!2&4�&4&�4&4��KjKKj�KjKKj� ���&&�&%��&&�&&4&�%&&�ے&4��"jKKjKKjKKjK��%z
0&4&&3D7&4&
%&��	&	!'!	!%!!!!%"'.763!2�o���]�F������o�������oZ��Y��@:�@�!�!�g���������������f�/�/��I��62'"/"/"/"/"/"/"/7762762762762762762%"/77627&6?35!5!!3762762'"/"/"/"/"/"/%5#5!4�ZSS6SS4SS4SS4SS4SS4SS4�ZSS4SS4SS4SS4SS4SS4S�-4�ZSS4S@������4SS4�ZSS6SS4SS4SS4SS4SS4S@�����ZSSSSSSSSSSSSSS�ZSSSSSSSSSSSSSy�ZRRR@%:=
:+������:
=���RR�ZSSSSSSSSSSSSS���������Cv!/&'&#""'&#"	32>;232>7>76#!"&54>7'3&547&547>763226323@``����`
VFaaFV


$.


.$

��y��y�	.Q5Z���E$ ,l<l, $E���R?Y*��@���@�2	!#""#!	��y��y=r�na�@@(89*>�*%>>%*�>*98(QO�!���L\p'.'&67'#!##"327&+"&46;2!3'#"&7>;276;2+6267!"'&7&#"(6&#"#"'�D��g��OOG`n%�E������LL{�@&&�N�c,sU�&&�!Fre&&�s�����s���#�/,�������<=�
#�]�g��L�o�GkP�'��r-n&4&2�-ir&�&�?���o 
��������4_�����5OW! .54>762>7.'.7>+#!"&5#"&5463!2"&462�{�����{BtxG,:`9(0b��Կ�b0(9`:,GxtB��&@&�&@&K5�5K`�����?e==e?1O6#,
#$
,#6OO��&��&&�&�5KK���������?!"'&'!2673267!'.."!&54632>321
��4��q#F�""�8'g��o#-��#,"t�Yg��>�oP$$Po�>�	��Z�e�p#����)�R��0���+I@$$@I+����+332++"&=#"&=46;.7>76$  ������@����ᅪ*��r���������@��@�����������r���'/2+"&5".4>32!"&=463  �&@��~[���՛[[��u˜~���gr�������&�`����u՛[[���՛[~~@��r������=E32++"&=#"&=46;5&547&'&6;22676;2  >�����``@``�ٱ��?E,��,=?��r�������H�����@``@�GݧH`�j��j���r������BJ463!2+"&=32++"&=#"&=46;5.7676%#"&5   &@�~���``@``�� �v�X����r�������&���������@``@����+BF��`r������ks463!2+"&=32++"&=#"&=46;5&547'/.?'+"&5463!2+7>6 %#"&5   &@�~���``@``��~4e	
0
	io@& �jV	
0
	Z9�������r�������&���������@``@�G�ɞ5o
,
sp� &@k^
,
c8~~��`r�������8>KR_32++"&=!+"&=#"&=46;.767666'27&547&#"&'2#"�����@�@���'�Ϋ���'������sg��gs�����ww�@����sg��g����@����@���-ss��ʃl������9���9��������OO���r9���9��FP^l463!2+"&=$'.7>76%#"&=463!2+"&=%#"&54'>%&547.#"254&' &@�L?����CuГP	��v�Y�� &@�;"����������ޥ�5݇�����ޥ���5�`&����_��ڿg��w��BF�@&����J_	s���&��&�����?%x���������%x��JP\h463!2+"&='32++"&=#"&=46;5.7676632%#"&56'327&7&#"2#"� &@�L? ���ߺu�``@``��}
�ຒ�ɞ���������ue��eu�9����ue��e�&����_��"|N�@``@��"��"|a~���l����o����9���9��r9��@�9���;C2+"&5"/".4>327'&4?627!"&=463  �&@Ռ		.	
�N~[���՛[[��u˜N�		.	
����gr�������&�`֌
	.		�O��u՛[[���՛[~N�
	.		��@��r������9A'.'&675#"&=46;5"/&4?62"/32+  ��'��֪�����\
	.		�4�		.	
\���r������|��ݧ���憛��@�\		.	
��
	.		\�@��r�����~9A"/&4?!+"&=##"$7>763546;2!'&4?62  m��		-

���@���ݧ���憛��@&�

-		�@r������m4��

-		����ٮ*�������		-

��r������+"&5&54>2  ����@��[���՛[�r�����������dG�u՛[[���r������  ".4>2������r�[���՛[[���՛�r������5�՛[[���՛[[����$2#!37#546375&#"#3!"&5463�#22#�y��/Dz?s����!#22#�2#��#2S�88�	����2#V#2��L4>32#"&''&5467&5463232>54&#"#"'.K���g��&Rv�gD�
$*2%	+Z hP=DXZ@7^?1
۰��3O+�l��h4���`���M@8'�+c+RI2
�\�ZAhS�Q>B�>?S2Vhui/�����,R0+	ZRkm�z�+>Q2#"'.'&756763232322>4."7 #"'&546��n/9�b�LHG2E"D8_
p�dd���dxO�"2�xx��ê�_�lx�2X	
!+'5>-�pkW[C
�I
I@50�Od���dd��˥�Mhfx�����x^���ә�	�#'+/7!5!!5!4&"2!5!4&"24&"2!!!��� 8P88P�� 8P88P88P88P����������P88P8 ���P88P88P88P8� ������������+N &6 !2#!+"&5!"&=463!46;23!#!"&54>32267632#"_����>�@`

��
�
��

`
�
� L4Dg��y� 6Fe=O���O�U�4L��>����
�
��

`
�
`

��4L�2�y5eud_C(====`L4����3V &6 #"/#"/&54?'&54?6327632#!"&54>32 7632_����>���		�	
	��	
	�		��		�	
	��	
	�		��%%S��y� 6Fe=�J�%��>����	
	�		��		�	
	��	
	�		��		�	
	��%65%S�y5eud_C(zz.!6%$!2!!!46;24&"2!54&#!"�&���&�&@�Ԗ��V�@&&�@��&&�Ԗ�Ԗ@��&���3!!!	!5!'!53!!	#����7I�e�����eI7��CzC�l��@�����@������@�#2#!"&?.54$3264&"!@������մ���pp�p���������((��������p�pp����#+/2#!"&?.54$3264&"!264&"!@������մ���^^�^@����^^�^@���������((��������^�^^�����^�^^�����v(#"'%.54632	"'%	632U�/�@��k0�G��,�zD#[�k#�
/t�g��
F��
����Gz�����	#'#3!)
p�*�xe���0,\8�����T���#/DM�%2<GQ^lw�����
&'&676676&'&7654&'&&546763"#"'3264&7.>&'%'.767&7667&766747665"'.'&767>3>7&'&'47.'.7676767&76767.'$73>?>67673>#6766666&'&6767.'"'276&67&54&&671&'6757>7&"2654&57>&>&'5#%67>76$7&74>=.''&'&'#'#''&'&'&'65.'&6767.'#%&''&'#2%676765&'&'&7&5&'6.7>�&5R4&5S9
W"-J�0(/�r
V"-J�0(.�)#"6&4pOPpp�c�|o}vQ�[�60X�Q��W1V�	
#5X		N"&
.
)
D>q J:102(z/=f��*4!>S5b<U$:I o<G*	,
&"O	X5
#!

��	R N#
C
83J*��R	!(D
#%37	�;$-.�
(,��覦�6ij
�	���"���)9
E�%����!B83
	j9�6/,	:QD')yX#�63V
��b�a	,
Ue��LPA@���*	̳�`Xx*&E
V36��%	B3%	B3XA	
#!.mU"A	
#!.mUB-#2+Jii�i�m-C<I(m��8qF/*)0�S
		
I
E5&+>!%
(!$p8~5..:5I

~��T�
4~9p# !
)& ?()5F	1	
	
� d%{v*�:
 @e
s|D�1d {�:�*dAA|oYk'&��<��tu��ut�&vHC�XXTR�;w��
��71™
Z*&'
1	9?	.

$��Gv5k65P<�?8q=4�a	
SC"��1#<�/6B&!ML	�^;�6k5wF1<P�C	�;$"&462"&46232>.$.�`�aa��sa�``��Z9k����'9؋ӗa-*Gl|M�e_]`F&O������ܽ�sDD!/+�``�aa�``�a1<YK3(
 /8HQelA�Z3t_fQP<343J;T7Q�+?Kgw  $6&$  $&62+"5432+"&=.54  $;26=462;26=4& 4&#!"3!26)����߄��4R4߄��mlL�������r {jK#@#Q�a����^�����@���@���`&��&&�&�������߄��4R4�Ď������LlL�N� �@K5#:rr:#5K���^����a�a��``]��]``����&&�&&	/!3#4&#!"3!265##!"&5463!22�������@K5^B��B^^B@B^5K���� �@���5K�B^^B�B^^B�K	/!2##!"&5463!2#4&#!"3!265�5KK5^B��B^^B@B^���@��K5��5K�B^^B�B^^B�`� �@ 	/!2##!"&5463!2#4&#!"3!265�5KK5^B��B^^B@B^���@��K5��5K�B^^B�B^^B�`� �@ 	/!2##!"&5463!2#4&#!"3!265�5KK5^B��B^^B@B^���@��K5��5K�B^^B�B^^B�`� �@ 	+2##!"&5463!2#4&#!"3!265�5KK5^B��B^^B@B^���@�K5��5K�B^^B�B^^B�`� �@ �{#!&'#"'&547632m*���
�0���((�'(�$0K
��*�*��% 3#!3# '!#53 5#534!#53 6!3@����@@@��pp��@@@����@@pp@��`������� �����	�+/7;A#3!5!!3#!!5!35!355#%53#5!#35#!!!!!!!!����������������������������������������������������������������������
�	#'+/3?CGW#3!5!!35!!3#!!5!#!5!3535!355#%#3%!53#5!#35#!5##5!3!5!3!5	����������������������������������������������������������������������������������������������������������������!"&5463!2!"!�`(88(@(8�`(8�}2�2R �`8(@(88(�`8HR2�2���##6?6%!!!46#!"&5463!2x���� ��8�(�`(�(88(@(8�
���� (8��(`�(8(@(88��	�'ATd+5326+5323##"' %5&465./&76%4&'5>54&'"&#!!26#!"&5463!2�
��

���i�LCly5�)*H�celzzlec0h�b,,b�eIVB9@RB�9�J_�L4�4LL44L44%��2"��4��:I;p!q4b�b3p(P`t`P(�6EC.7B�I6�4LL44LL��	�.>$4&'6#".54$ 4.#!"3!2>#!"&5463!2Zj��b�jj[���wٝ]�>o��Ӱ�ٯ�*�-���oXL4�4LL44L'�)�꽽�)�J)���]��w����L���`��ֺ��۪e���4LL44LL�;4&#!"3!26#!"&5463!2#54&#!";#"&5463!2�
��

@
�^B��B^^B@B^���
��

��B^^B@B^`@

��
M��B^^B@B^^>��

��
�^B@B^^��5=Um	!	!!2#!"&=463!.'!"&=463!>2!2#264&"".54>762".54>762��������?(`��`(?��b|b��?B//B/�]�����]FrdhLhdrF�]�����]FrdhLhdrF@�@��@�(?��@@?(@9GG9@/B//B�aItB!!BtI�Ѷ�!!��ьItB!!BtI�Ѷ�!!��ь�-M32#!"&=46;7&#"&=463!2#>5!!4.'.46�ՠ��`�@`ՠ��`���M�sF�Fs�MM�sFFs�M����ojj�o��@@�jj�@@�<���!(!���!(!�-3?32#!"&=46;7&#"&=463!2+!!64.'#�ՠ��`�@`ՠ��`��	�	Dq�L�L�qD����ojj�o��@@�jj�@@B>=�C�����-3;32#!"&=46;7&#"&=463!2+!!6.'#�ՠ��`�@`ՠ��`��UVU96�g�g�6����ojj�o��@@�jj�@@β����**ɍ�-G32#!"&=46;7&#"&=463!2#>5!!&'.46�ՠ��`�@`ՠ��`���M�sF�Fs�M�k�k�����ojj�o��@@�jj�@@�<���!(!3��3!(!�9I2#!"&=4637>7.'!2#!"&=463��@b":1P4Y,++,Y4P1:"�":1P4Y,++,Y4P1:"b�@@��@7hVX@K-AA-K@XVh77hVX@K-AA-K@XVh7����Aj"#54&#"'54&#"3!26=476=4&#"#54&'&#"#54&'&'2632632#!"&5&=4632>3265K @0.B @0.B#6'&�&
l
@0.B 2'	.B A2TA9B;h" d�
mpP��Tl��L�c�_4.H�K5�]0CB.�S�0CB.�/#��'?&&)$�$)�0CB. }(AB.�z3M�2"61�d�39�L/PpuT(If�c�_�E�`1X"#4&"'&#"3!267654&"#4&"#4&26326#!"&'&5463246326�\B B\B�&@5K�&@�"6LB\B B\B ��sc�i�L}Q�P<m$��3�jN2�c�B.�p.BB.���3K5+"�3,"� �.BB.��.BB.���.�G=�c�i�(+�lOh7/DVj�"�c�=���&5Jb�#"'&=.547!"&46;'.54632!2327%.54&#"327%>%&#"!"3!754?27%>54&#!26=31��?>I��j��jq,J[�j.-t�j�lV��\���$B.R1?@B.��+?2`$�v5K-%��5KK5�.olRIS+6K5�̈$B\B 94E.&�ʀ�15uE&
�Ԗ�Pj��j�dX�U�GJ7!.B
�
P2�.B
�
%2@	�7�K5(B�@KjKj�?+f�UE,�5K~!1��.>F.��F,Q5*H��$b2#!"&=%!"&=463!7!"&'&=4634'&#!">3!!"3!32#!"3!23!26=n$<vpP��Pp���Pp�w�*�Rd�ApP�]��'@�A&
3@��&H-�[(8@
2�EB^&1
=&�&81����PppP��pP w���cOg Pp��c�
4& #.& &,,:8(�%^B &�
.�&&��2t"&'&54'&5467>32>32>32#"#.#"#.#"3!27654&#"547654&#"#654&�Mye
t|]�WS�Sg�SY�\x{
70"1i�92�DU1&=	��	=&0@�c	>&/Btd4!�*"�8K4+"��@H@/'=	t�?�_K�93-�]�
UlgQ���QgsW
�]#�+�i>p&��3�0&�VZ&0B/
���%3B.�"t�o ){+C4I��(
/D0&�p0D��3[_cg"'&#"3!2676=4&"#54&#"#54&#"#4&'2632632632#!"&'&5463246#!#!#�5K�)B4J�&@�#\8P8 @0.B J65K J6k�
cJ/4qG^�\hB�2<m$��3�iG;��     �K5����6L4+"�3p`b�)<8(=0CB.@Z7OK5`:7O��k�EW�^�tm��@Q7/DVi�##j�������������%4Ia�2#!"&5&546325462632"32654&"3267654&76;74&"#.#"2676=#"&'+53264&#!"3</�U�X�dj���jP��ԖEu�!7JG72P
�
B�%
�
B.!7�	@�A�f+?�jKjK@�B(5K,EU�H*5Q,F��.F>.��1!~K5y?��^\��Vl�j�t-.j�[J,qj��j��I7$��?1R.B�+��.B$`2?g�vEo.�5KK5��%-K��6+SIR[��&.E49 B\B$���5K�G#!+"&5!"&=463!2+"&'+"'+"'&5>;2>76;2Y
��
�
��

M	

�.�x	�-�
	N�	�


�	�
�u
��
,
u
�?

L�W���

���#	�	*:J4'&+326+"'#+"&5463!2  $6& $&6$ <!T{�BH4�	�›�&�>UbUI-����uu�,�uu�ڎ������LlL�AX!��J��m����f\�$
6u�����uu�,�K������LlL���-[k{276/&'&#"&5463276?6'.#"!276/&'&#"&5463276?6'.#"  $6&  $&6]�h-%Lb`J%E5
,5R-����h
-%Lb`J%E5
,5R-���'����uu�,�uu��lL�������/hR

dMLcN����hR
dMLcN����1u�����uu�,��������LlL�@��� 	'	7	'7	�����`��`H� �����`�`H� �!`��������`H� � ���`�`�`H���`��'%		7'	7'7	' $&6$ ���X�`��(W�:,�:��X�`��(WL�������LlL�X�`(W��:�B����X�`���(X�������LlL��
��	$%/9ES[�#"&54632$"&4624&"26$4&#"2%#"&462$#"&4632#"32&! 24>  !#"&'.'#"$547.'!6$32�7&'77'&7�7N77N�'q�qq�q�qPOrq��E�st�����ts��st���}�||�}�������uԙ[W��Q���~,>	n������P/RU P酛���n	>,m�����'77'&77N77N6^Orq�qq�qq�q�t��棣棣�(~|��|on[��usј^�~���33������pc8{y%cq����33dqpf��	L 54 "2654"'&'"/&477&'.67>326?><����
x
�������,

(-'s�IVC��VH�r'-(

$0@!BHp9[�%&!@0$u
��
������]\��\]��-$)!IH��V
D��
VHI!)$-#3���6>N"&462."&/.2?2?64/67>&  #!"&5463!2�]�]]�3
$;
&|�v;$
(CS�3�1	=�rM=	�4�TC(G���z�w�@w��w�w���]]�]��($-;,54�0=	�sL	=�45,;�����@w��w�w������(2#"$&546327654&#"	&#"AZ�������\@�/#�%E1/#����#.1E$�!�[A�����懇�@�@\��!�#21E!��6!E13"�|!��	gL&5&'.#4&5!67&'&'5676&'6452>3.'5����A5R��V[t,G'Q4}-��&�<C!l n?D_@Փ>r!�
��G;��>��!g�1�����2sV&2:#;��d=�*'�5E2/..F�D֕71$1>2�F!���&12,��@K�
r��#"&5462>%.#"'&#"#"'>54#".'7654&&5473254&/>7326/632327?&$  $6 $&6$ �!&"2&^	u��_��x��^�h
;J݃HJǭ
q�E
Dm!
M�
G?̯'%o�8
9U�������(F(�ߎ������LlL��&!&!SEm|�[��n{�[<ɪ
"p� C
Di%
(K�HCέp�C
B
m8	
@Kނ
H�F(���������������LlL���"*6%&6$	7&$5%%6'$2"&4}���x����3��n��QH������:dΏ���Xe�8�����z��'	������l�i���=!��7�����S�o�?v�������M '&7>>7'7>''>76.'6'���El:F�gr
*�t6�K3UZ8�3P)3^I%=9	)<�}J���k+C-Wd��	&U���-��TE+]��Qr-�<Q#0
�C+M8	3':$
_Q=+If5[ˮ&&SG�ZoM�k���ܬc�#7&#"327#"'&$&546$;#"'654'632ե›��fKYYKf�¥y�ͩ���䆎�L��1���hv�v��ƚw�wk��n�]��*��]�nlx��D��L�w�����~?T8b��b9SA}����+5?F!3267!#"'#"4767%!2$324&#"6327.'!.#"��۔c�2�8�Ψ����-\���?���@hU0KeFjTl�y�E3��aVs�z�.b��؏��W80��]T��Sts�<�h�O��_u7bBt���SbF/�o��|V]SHކ�J�������34&#!"3!26#!!2#!"&=463!5!"&5463!2
��

@
�^B� `��`� B^^B@B^ �

�@
�@B^�@@�^B�B^^����>3!"&546)2+6'.'.67>76%&��F8$.39_��0DD�40DD0���+*M7{L *="#
U<-M93#�D�@U8v�k�_Y	�[�hD00DD0��0D�ce-JF1BD����N&)@
/1 d��y%F��#"'&'&'&'&763276?6#"/#"/&54?'&763276"&'&'&5#&763567632#"'&7632654'&#"32>54'&#"'.5463!2#!3>7632#"'&'&#"'&767632yq������oq>*432fb������a
$�B?
	>B
BB
AA�.-QP���PR+	42
%<ci���ђ:6&h�HGhkG@n�`��I���Ȍ5
!m��(|.mzy�PQ-.	
	je����	
�����q>@@?pp�gVZE|fb6887a
%RB?
=B
ABBAJvniQP\\PRh!cDS�`gΒ��23�geFGPHX�cCI��_ƍ��5"	
�n�*T.\PQip�
[*81
/
9@:��>t�%6#".'.>%6%&7>'.#*.'&676./&'.54>754'&#"%4>327676=
>���vwd"

�l����"3	/!,+	j2.|��%&
�(N&w���h>8X}x�c2"W<4<��,Z~�fd�aA�`FBIT;hmA<7QC1>[u])		u1�V(�k1S)
-�	0�B2*�%M;W(0S�[T�]I)	A 5%R7<vlR12I]O"��V/,b-8�/_��#3CGk2#!"&546;546;2!546;2%;2654&+";2654&+"!32++"&=#"&=46;546;24LL4��4LL4�^B@B^�^B@B^�@@�@@�����@��@L4�4LL44L`B^^B``B^^B``�� �� ��@@��@���#3W#!"&=463!2!!%4&+";26%4&+";26%#!"&546;546;2!546;232���@�����@@@@�L4��4LL4�^B@B^�^B@B^�4L�@@��� �� ��N�4LL44L`B^^B``B^^B`L��#'7Gk%"/"/&4?'&4?62762!!%4&+";26%4&+";26%#!"&546;546;2!546;232W.	
��
	.		��		.	
��
	.		��	� ����@@@@�L4��4LL4�^B@B^�^B@B^�4L�.		��		.	
��
	.		��		.	
��
��� �� ��N�4LL44L`B^^B``B^^B`L��(8\	"'&4?6262!!%4&+";26%4&+";26%#!"&546;546;2!546;232�

��		.	
��
	.	�`����@@@@�L4��4LL4�^B@B^�^B@B^�4L<�		 
	.		��		.	�:� �� ��N�4LL44L`B^^B``B^^B`L�2632632#!"&5463�&&&&��&&&���&���&��&&�&�#27+"&5  %264&#"26546��>&�&T�,��X�������q&&�1��X��,�LΒw�%��%;#!"&5463!546;2!2!+"&52#!"/&4?63!5!�

�(��&&@&�&(��&�&@&&��(�

�(�

�&&@&&@��&&�&�&�

�����#''%#"'&54676%6%%�������
�hh �@�` ���!�� ���!� ��
��
��
�
������
�#52#"&5476!2#"&5476!2#"'&546
� 
��
� 
���
�
�@�
�
�@�
��
�@

�
� 84&"2$4&"2$4&"2#"'&'&7>7.54$ �KjKKj�KjKKj�KjKKj��d�ne���4"%!������KjKKjKKjKKjKKjKKjK.���٫�8
!%00C'Z���'���.W"&462"&462"&462 6?32$6&#"'#"&'5&6&>7>7&54>$ �KjKKj�KjKKj�KjKKj�h��я�W.�{+9E=�c��Q�d�FK��1A
0)����LlL��jKKjKKjKKjKKjKKjK���p�J2`[Q?l&�����٫�C58.H(Y���ee���	�

			���Y'����w��(�����O��'��R���@$#"&#"'>7676327676#"�
�����b,XHUmM�.�U_t,7A3ge
z9@xS���a�Q�BLb�(�	����V���U�����
!!!�=�����=���w)��������AU!!77'7'#'#274.#"#32!5'.>537#"76=4>5'.465!��KkkK_5 5�� �#BH1��`L

I���&�v6��SF���!Sr99rS!``� /7K%s}H���XV
��P��V	e��		V�d/9Q[ $547.546326%>>32"&5%632264&#"64'&""&'&"2>&2654&#";2���P���3>tSU<�)tqH+>XX|W��h,�:USt��W|XX>=X*
)���)
+�^X^�|WX=>X�:_.2������//a:Ru?�
	
Q%-W|XW>J�(	�=u��>XX|WX�`

*((*


+2		2�X>=XW|E��03>$32!>7'&'&7!6./EU����noh��i����I\�������0<{ >ORD��ƚ�~�˕V�ƻ��o�R C3��7J6I`��Tb<�^M~M8O����	�	
5!#!"&!5!!52!5463	^B�@B^���`B^�^B `��B^^"�����^B��B^��0;%'#".54>327&$#"32$	!"$&6$3 ##320�J�����U��n��L�n��ʡ���~~�&��q�@�t�K�����L��}�'`� -
-�ox����nǑUyl}��~������~�F����ڎ�LlL��t�`(88( ��	7!'	!���\W�������\���d;����tZ�`_��O��;���}54+";2%54+";2!4&"!4;234;2354;2354>3&546263232632#"&#"26354;2354;2354;2�````��p�p��`�`�`� !,! -&M<FI(2�`�`�`�����@PppP���pppppp�#  #
�
�pppp��p	�j#"'&=!;5463!2#!"&=#".'.#!#"&463232>7>;>32#"&'#"!546���	��%. `@��` :,.',-���Xj��jX�h-,'.,: kb>PppP>bk .%Z �&�
�:k%$> $`��`6&L')59I"Tl�ԖlT"I95)'L&69Gp�pG9$ >$%k:��!+32&#!332 $&6$ ~O8��8���O�����������LlL�>pN
�����
i������LlL����	'':Ma4&'#"'.7654.#""'&#"3!267#!"&54676$32#"'.76'&>$#"'.7654'&676mD5)
z�{��6lP,@Kij��jOo�Ɏ���ȕ>>��[t��a)GG4?a�)
ll
>�;_-/
9GH{�z�yN@,K�ԕoN��繁������y��!
?hh>$
�D��"
>��â?$��	n"&5462'#".54>22654.'&'.54>32#"#*.5./"�~��~�s�!��m�{b6#	-SjR,l'(s�-6^]It�g))[��zxȁZ&+6,4$.X%%Dc*
&D~WL}]I0"

YYZ��vJ@N*CVTR3/A3$#/;'"/fR-,&2-"
7Zr�^N��a94Rji3.I+

&6W6>N%&60;96@7F6I3���+4&#!"3!26%4&#!"3!26 $$ ��������^����a�a`@��@����^����a�a�����'7  $ >. %"&546;2#!"&546;2#/�a����^�����(�����������������^����a�a����(������N@��@�����4&#!"3!26 $$ @��@����^����a�a`@����^����a�a�����'  $ >. 7"&5463!2#/�a����^�����(��������n@����^����a�a����(������N@���%=%#!"'&7!>3!26=!26=!2%"&54&""&546 �#��#]V�TV$KjK�KjK$��&4&�Ԗ&4&�>��9G��!�5KK5��5KK5�!��&&j��j�&&����#/;Im2+#!"&'#"&463>'.3%4&"26%4&"26%6.326#>;463!232#.+#!"&5#"�5KK5sH.�.Hs5KK5e# )4# %�&4&&4&�&4&&4&` #4) #%�~]�e�Z�&�&�Z�e�]E-�&��&�-EKjK�j.<<.�KjK��)�#)�`"@�&&�`&&�&&�`&&�)#�`)"�d�Xo&&oX�G�,8&&8!����O##!!2#!+"'&7#+"'&7!"'&?63!!"'&?63!6;236;2!2�@�@�8��@7

8��Q�
	N�Q�
	N��
	8G@��

8GQ�
	N�Q�
	N7
	�������8��8��H��H��k��%		".>2I�������2�0�]@��]��@o�����o@@o�����o㔕����a�22���]����]�p�^���|11|�9�9�|11|�(��%7'7'	'	7T���� d���lt��l)q��n�������luul�������)1$4&"24&"2 &6 +"&5476;2 &6 LhLLh�LLhLLhL����>�
�� �&
  �&�`����>�hLLhLLhLLhL�����>����&�&�����>��G��
	.7)1!62	1!62h��e�������2�20e���2�2>�	v
+4�	[��d����+
���d� �135#5&'72!5!#"&'"'#"$547&54$ ���Eh���`X����(����cY���z�:L:�z���Yc��������\$_K`Pa}��f��iXXiޝf���a���	���(+.>#5#5!5!5!54&+'#"3!267!7!#!"&5463!2����U�`��`' ����� �����j��j�V>�(>VV>�>Vq����������������(^����(>VV>�>VV�=&'&'&'&76'&'&.' #.�h8��"$Y
''>eX5,	,Pts�K�25M�RLqS;:.K'�5�R

Ch���h�����R�t(+e�^TT���u B"$:2�~<�����2�Hp����wTT�� V�/7GWg. %&32?673327>/.'676$4&"2 $&6$   $6& $&6$ d-����-�m	
	,6*6,	
	m���KjKKj�o������oo���K����zz�8�zz�Ȏ������LlL�U4>>4-.��YG0
)�xx�)
0GYޞ.�jKKjKq���oo��oo�lz�����zz�8�0������LlL��D��/7H#"'.7'654&#"'67'.6?>%"&46227#".547|D,=),9#�7��[͑�f�x���!X: �D�$+�s)�hh�i��jZ������t�<��F/��*8C,�q؜�e���\�r,W�BX���/C2��h�hh���=�t������Xm�����>NZ+"&=46;2+"&=4>7>54&#"#"/.7632  >. $$ p��=+& �35,W48'3	l
z����ff���ff�����^����a�aP���2P: D#;$#
$*;?R
��Cf���ff�����^����a�a��'�Y	>O`"&5462&'.'.76.5632.'#&'.'&6?65��\\�[�<C��z�C
25�U#
.�ZK ��m+[$/#>(	|�	r���[A@[[@A�#2#�
����7�*
<Y���$
+}"(��
�q�87] F 	_��1)
��	�	#1Ke34&+326+"&=!#!"&763!2#!"&5463!2#>?4.'3#>?4.'3#>?4.'3��Xe`64[l�����7
��
,	L;�����=+3&98&+)>�>+3&98&+)>�=+3&88&+)>	�Wj�|r�>Q$��~���d$kaw+-wi[[\�;/xgY$kaw+-wi[[\�;/xgY$kaw+-wi[[\�;/xgY���J\m�4.'.'&#"#"'.'&47>7632327>7>54&'&#"327>"&47654'&462"'&476'&462"'&47>&'&462i$		$^"

%%

"^$		$W "@9O?1&&18?t@" W�&%%&4KK�6pp&4���6ZaaZ&4mttm�^x	-���-	x^=/U7Ck���kz'[$=�&5%54'4&K�K�4r<r4&��X��4[��[4&m����m��'/7?GOW_gow����"264$"264"264"264$"264"264$"264"264"&462"&462"&462"&462"&462"&462"&462"&462"&462"&462"&462"&462�^^�^��^^�^^�^^�^��^^�^��^^�^���^^�^��^^�^^�^^�^� p�pp�pp�pp��pp�pp�pp�pp��pp�pp�pp�pp��pp�pp�pp�pp��pp�pp�pp�pp��pp�pp�pp�pp�`^�^^�^^�^^�^^�^^��^^�^^�^^�^^�^^�^^�^^�^^�^^�^^���pp�pp�pp�p��pp�pp�pp�p��pp�p���pp�p��pp�p���pp�p��pp�pp�pp�p��pp�pp�pp�p	��LTi{�"&4626"&462$"&462#"&4632654>7>54 "&54>2"&462%"&54&#""&546 %#"&'&'.7>#"'&'.7>�&4&&4�&4&&4SZ��&4&&4�4$#&�&&j�3$"('$������&4&[���՛[��&4&&4F&4&�]\�&4&�$��
	!D�4�%	,\�4�4&&4&�4&&4&-�Z�4&&4&;cX/)#&>B)��&4&�j9aU0'.4a7����&&u՛[[���4&&4&@&&]��]&&��Ώ0
�u4��0
)�4���#g�&'.#"32676%4/&#"326'&#"2632#2+&'%#"'&6?676676632%#"'&6767#"&'&6767#"'.7>327"#"&'&6763"'.7>;7632;>%5K$
"0%>s$
"0%>;;>%5K�VL#>H30
\�($$(�\���(�є�yO2F/{�(?0(TK.5sg$��є�y#-F/{�$70(TK.5sg$L#>H30
\�($$(�\#�(@5"'K58!'"5�8!'"55"'K#dS$K		K$Sdx#@1
w�d>N;ET0((?
-
2K|��1
w�����d#N;ET0$(?
-
2K$#dS$K		K$Sdx�DN\2654& 265462"2654 #"32654>7>54."/&47&'?62 &4&���&4&���h�՛[&4&r$'("$3�j&&��&#$4[����"�@��GB�[�
"�&&��Β&&]���[��u&&����7a4.'0Ua9j�&4&�)B>&#)/Xc;u՛����"�"
�G�i[����Xh#"&54676324&'&#"'>54#"32#"54>54'.#"32>7>767632326#!"&5463!2b
)
:4FD�N

[�1�,^�J��K-*E#9gWR�Yvm0O	��w�@w��w�w��C2�2c@X�&!�9{M�A���_��"S4b// DR"Xlj�PY<	�@w��w�w��%���e4.#"32>7676#'.#"#"&54>3232>754&*#"&54>763 >32�
''il$E/
@�P@��
^��`��'W6&�!.. ! -P5+


�E{�n46vLe�Vz�:���,SN/
M5M[��
	]$�[��^��5�iC'2H&!(?]v`*	��l�	��b��$9>
���=R�2
#"&5467%!"&7>3-.7>;%.7>322326/.76/.'&6766/&/&#"&676	&676&6766/&672? �=1�(H/ ��	'96&�@)9<'���)29%
�&06#���#��$� J� �07j)�5@�"*3%�"!M
��%#K�"%N�e8)'8_�(9�.<�c +8 8(%6 <)'4@@)#-<^
?%$-`%.
}Q!&�}%&N�-l���IJ�;6>/�=*�%8!Q ���#P"�\Q#N&�a��)<9�bR]mp%"'.'&54>76%&54763263 #"/7#"'#"&/%$%322654&#"%'OV�9
�nt
|\d
ϓ[��nt
|@�D:)��	
;9�8'+|�j�," �41����CH^�nVz(�~R	�9�\'	�r�

@����L��@�
	@�w4�6�HI(+�C
,��55,��
f[op@�\j�;(zV~����i/5O#"'&54>32&#" 654'67'"'>54''&'"'6767&546767>7���蒓��`V BM���R� B9)̟�!SH-77I�Xm�SM�H*�k#".o;^J q�ן���ד��>@�����YM
$bK���d ��ү[E"����;���Kx%^�6;%T,U:i�m=Mk���).DT4'"&5463267&#" 6;64'.'4'>732676%#!"&5463!2),�蛜s5-<A���4ϲ
2W9
�&P:\�3)SEPJ��D4:3NI�w�@w��w�w��NE	2@u��us�+,�����/?x�sa�tmP�'�)fHVEA(%dA4w&4J5*�@w��w�w�����O[4'.'&54>54&#"#"'654'.#"#"&#"3263232>3232>76 $$ �Cf'/'%($�U�L
(
#'/'@��3#@,G)+H+@#3
����^����a�a�X@_O#NW�#O_�.*	##(��^����a�a����q�[632632#"&#"#".'&#"#".'&54767>7654.54632327&547>P��9	B6?K?%�O4�T% >6>Z64Y=6>%S�4N�$?L?4B	@���{:y/�$ ,'R�!F!8%
#)(()#%:!F �Q'+%�0z:�z���O_4'.'&54>54&#"#"'654'.#"#"&#"3263232>3232>76#!"&5463!2Cf'.'%($�V�M
)
#'.'@��
3
#A,G)+H+A#
4
��w�@w��w�w��XA?4N$NW�&M&L�/*
##	+�@w��w�w����	O$>?>762'&#"./454327327>7>	EpB5
3FAP/h����\�/NG�S�L�	� ���R�P*��m�95F84f&3Ga4B|wB.\FI*/�.?&,��5~K %
&��Y."7n<	"-I.�M`{�ARwJ!�FX^dj''''"'7&'7&'7&'7&547'67'67'67'63277774$#"32$			*��'ֱ,?�g=OO&L&NJBg�;1��'����'ֱ.=�gCIM
$'&&NJBg�=.��%�����w؝\\��w�
�I�o�o��<�<���-NIDg�=/��%����(ײ+A�hEHO*"#*OICh�=/��'����(ֲ/=�h>ON.��]��xwڝ]��������7��e��[���@�����)6!!"3#"&546%3567654'3!67!4&'7S��gn�y]K-�����#75LSl>�9���V��%�cPe}&H�n��_�HȌ����=UoLQ1!��4564���7U�C"�
�!-9[nx��"&46254&"326754&"326754&"26754&"26#".547632632626326'4#"#"54732764&"264.#"327632>#"'"'#"'#"&5#"'67&'327&'&54>3267>7>7>32632632T"8""8�)<())�(<)))�)<))<)�)<))<)T�د{ՐRh�x=8 78 n 81
p��H_6�S��oc
�F@b@?d?uK�bM�70[f5Y$35KUC<:��[;+8 n 87 8/8Zlv]64qE 'YK�0-AlB;
W��#;WS9
&�(#-7Z�://:/�Tr++r,,r++r,,r++r,,r++r,,ʠ�g��xXV�ע��e9222222^�K�Vv���F0�2OO23OO��`�lF;�mhj84D�ro��B@�r+@222222C0DP`.�r8h9��~T4.&o�@9��1P���%14'!3#"&46327&#"326%35#5##33 $$ ����}Pc��c]<hl���ࠥ�Ymmnnnn���^����a�aw!�LY�Ə;ed����wnnnnnv�^����a�a��%�'#"$#"#.5462632327>321��I��U�Π?L���L?��cc�4MX�&��04;0��XpD[��[DpD,)&&�Q	9V\�26&".'&'&6?.#"#26327677>'32>&3#'&+"?626&"#!'.'!"&5463!>;26;2!2�P  P 	
92#.}S�P9:�:%L\B�� )spN/9oJ5 
!+D�`]�Bg�Y9�+�,�9%
Pk4P  P &�NnF!_7*}B<�{o0��&&�B;*<@$ucRRc�#@16#37c&�@@@
J"@*4�^`E�D�B�����o/8927
*@O�LC�!T!32�3X$�BJ@@@��&AS
0C59"'D/&�&D488$5A&�%O#!"&547>7>2$7>/.".'&'&2>^B�@B^>FFz�n_0P:P2\n�zFF>��R&�p^1P:P1^��&R
P2NMJMQ0Rr�.B^^B�	7:5]yPH!%%"FPy]5:7	���=4�QH!%%!H�t4=�<"-/ ?�1Pp+".'.'.?>;2>7$76&'&%.+"3!26#!"&54767>;2�'
+�~'*OJ%%JN,&x�'%^�M,EE,M7�ZE[��P*FF*P��:5
�
�^B�@B^){�$.MK%%KM.$+��X)o3"�a  22!]�4	I�>"">�,�&�S8J�B##B��12�`
��`B^^B�8&ra#11#$��R&��"&.2v%/%''%/%7%7'%7'/#&5'&&?&'&?&'&7%27674?6J�"�����0�<=���_gNU�?D��f���u�Y����G�b���7=^H^�`	�=v~yT������3����G���D��P�O	4F��ѭ����q������i_w\ހ�!1u�S���%V_-d�
���1=U{J8n~�r����'U4.#".'"3!264&"26+#!"&5463!232+32+32�0P373/./373P0T=@=T��֙�֙|`^B�@B^^B�B^`````*9deG-!

!-Ged9Iaa�l��lk���O��B^^B�B^^B�������	+Yi"&54622#!"&54>;2>+32+32+#!"&5463!2324&#!"3!26�֙�֙0.I/ OB��BO	-Q52-)&)-2�
``

``

`^B�@B^^B�B^`
�
�@

�
|k��kl����"=IYL)CggC0[jM4				
�
�
�
�
�B^^B�B^^B�
�@�

�@
���!1AQu4.#".'"3!24&"254&#!"3!2654&#!"3!2654&#!"3!26#!54&+"!54&+"!"&5463!2)P90,***,09P)J66S�����"��@��8��@^B��@�@��B^^B�B^U�kc9		9ck�U?�������@@88@@N�@B^````^B�B^^���!1AQu�#!"&4>32>72"&462#!"&=463!25#!"&=463!25#!"&=463!24&#!"3!546;2!546;2!26#!"&5463!2J6�6J)P90,***,09P)������"��@��8��@�
�@

`@@`
�^B�@B^^B�B^ՀUU�kc9		9c�������`@@�88�@@�2�

�@
````�@B^^B�B^^�(%.'"&' $&  #"$&6$ ��wC�ιCw�jJ~J�����>��������LlL�ś�JSSJ͛����>����6������LlL���$,  $&6654&$ 3 72&&  �lL������m�z�����z�B�l������>�������KlL�G���zz���G���>�����'7#!"&54>7&54>2  62654' '3�/U]B,ȍ����,B]U/OQ��н�Q������>�+X}��������}X�0b�Ӄ��ۚ�Ӆb0}�h��QQ��h�����>��f����f��#=#!"&4>3272"&462!3!26#!"&5463!;26=!2J6�6J)Q8P�P8Q)��������
�
�^B�@B^^B`�`B^V�VV�ld9KK9d��������`��
�@B^^B�B^``^���+;K[eu4.#"'"3!264&"254&#!"3!2654&#!"3!26%54&+";2654&#!"3!26!54&#!"!#!"&5463!2�"D/@�@/D"?,�,?�p�pp�p�@�����@����@����@�^B�@B^^B�B^D6]W2@@2W]67MM��pp�p��@@@@@@@@n`�@B^^B�B^^���+;K[eu#!"&54>3272"&462#!"&=463!2%#!"&=463!2+"&=46;25#!"&=463!2!3!26#!"&5463!2�?,�V,?"D/@�@/D"�p�pp�p�@�����@����@���
�
�^B�@B^^B�B^D7MM76]W2@@2W]֠pp�p��@@�@@@@�@@��`��
�@B^^B�B^^��A#"327.#"'63263#".'#"$&546$32326�������J9"65I).!1i���CC�u
+I�\Gw\B!al���݇���y�ǙV��/]:=B�>9�����+<F+a[le���Pn[A&JR7t�)��+�tH�������kFIK�e	� .��#"'&'>32%#!"&5463!2#"&54>54'&#"#"54654'.#"#"'.54>54'&'&543232654&432#"&54>764&'&'.54632� ?c��'p& ?b1w{2V	?#��&#9&�CY'&.&#+B

: &65&*2w�1GF1)2<)<'

(
BH=ӊ:NT :O	�)4:i F~b`e!}�U3i?fR����UX|'&'&I�c&Q
	*2U.L6*/
L:90%>..>%b>++�z7ymlw45)0	33J@0!!TFL����� P]=GS�-��kwm	!����*�(%6&692? $&6$ ��	' ����al�@l�������LlL���,&��EC
���h�$�������LlL���
/37;%"&546734&'4&" 67 54746 #5#5#5�p�pF:�:F�D<p�p<D�
����������
���������PppP<d��ud<M�-PppP�-�M����������Dž����9���������
/37;%"&546734&'4&" 67 54746 #5#5#5�p�pF:�:F�D<p�p<D�
����������
���������PppP<d��ud<M�-PppP�-�M����������Dž����9���������
/37;%"&546734&'4&" 67 54746 #5#5#5�p�pF:�:F�D<p�p<D�
����������
���������PppP<d��ud<M�-PppP�-�M����������Dž����9���������
/37;%"&5467534&'4&" 67 54746 #5#5#5�p�pF:�:F�D<p�p<D�
����������
���������PppP<d��d<M�-PppP�-�M����������Dž����9���������	+/37%"&54624&'4&" 67 54746 #5#5#5�p�pp�p�D<p�p<D�
����������
���������PppPOqqOM�-PppP�-�M����������Dž����9����������&.6>FNV^fnv~����"/&4?.7&#"!4>3267622"&4"&46262"&42"&4462"$2"&42"&4"&46262"&4"&46262"&42"&4$2"&42"&42"&4�

��

R

,H8Jfj��Q��hj�G^�R,

!4&&4&Z4&&4&�4&&4&��4&&4&&4&&44&&4&��4&&4&Z4&&4&�4&&4&��4&&4&�4&&4&��4&&4&&4&&4&Z4&&4&Z4&&4&

��

R

,[�cG�j�h��QRJ'A,

��&4&&4Z&4&&4Z&4&&4Z&4&&444&&4&�&4&&4Z&4&&4Z&4&&4Z&4&&4�&4&&4Z&4&&4Z&4&&4&&4&&4Z&4&&4Z&4&&4�%-5=EM}���������+"&=#!"'+"&=&="&4626"&462&"&462"&462&"&462&"&462#!"&=46;4632676/&?.7&#"!2"&462&"&462&"&462"&462&"&462&"&462"&462&"&462"&462��@?A�A?
@
�@R.�..R�@`�jlL.h)*��*$	%35K���..�..�.����u�vn�u���....��@@�j�N *��*.t2#K5���..R..R.��
@Hq '&'&54 &7676767654$'.766$76"&462&'&'&7>54.'.7>76�����������ȵ|�_ğ��yv���/ۃ�⃺����k]
:Bu�q��
CA
_k�ނ���XVo�bZZb�nW��|V	0 	Q2��-�
l��}���O		/	:�1���z	
q��%������z�G
4(

6�Ro�aą\�<

)4	J�}�������%!!#!"&5463!2�^B�@B^^B�B^�`�@B^^B�B^^���%#!"&=463!2^B�@B^^B�B^�B^^B�B^^�&))!32#!#!"&5463!463!2��`B^^B��^B�@B^^B`^B�B^�^B�@B^��B^^B�B^`B^^���#3%764/764/&"'&"2?2#!"&5463!2��

��

�

��

�

��

�

��
s^B�@B^^B�B^ג

��

�

��

�

��

�

��
�@B^^B�B^^���#'7"/"/&4?'&4?62762!!%#!"&5463!2�

��

�

��

�

��

�

��
�
�^B�@B^^B�B^��

��

�

��

�

��

�

��
��`�@B^^B�B^^�	! $&6$ .2�r��`�������LlL�f4��������LlL���#.C��&>"'&4762"/&4?62'"'&4762%'.>6.'.>6'>/>76&'&.'&7&'">?4'.677>7.>37654'&'67>776 $&6$ (4�Z�##
&##
&y�"�6&.JM@&� "(XE*$+8
jT<l$3-V<
2'.


-1
%#e"!Z�
+*)H	 8
(j

	#*
-ƷVv/kh?'��������MlM�$($�R#

&
"
#'#vZ@+&MbV$
�
G7
--)

R2T�
313dJ6@8lr2_�5m/."�G:=	)%5f0gt*2)?;CB66&, �	`48]USy������LlL���G6?>?3#'.'&!3!2>?3.'#!57>7'./5!27#'.#!"g�%%D-!gg<6W��WZe#1=/2*]Y3��-,����C1/Dx���] VF��I�q-H�����D2��NK'>*�%�R=f
07���=.
fD�]\|yu���,0>Seu#2#"'&5<>323#3#&'#334'."#"+236'&54.#"5#37326#!"&5463!2�		<	��zz�j��k-L+� )[$�8=".un/2 �^B�@B^^B�B^�5cy	
�
��(�ݔI�(8��?C�(3�>�� #"��($=�@B^^B�B^^0�K�S�&'.'&'./674&$#">&>?>'76'# "&#./.'7676767>76$w
.~ku�BR�]� T%z+",�|�ޟ���j<���)(!(	~ˣzF8"{���%%#5����)��}''�x��JF��0"H[$%��EJ#%
.Gk29(B13"?�@S)�5" �#9����dm�W"��;L�65R�A0@T.���$�}i`:f3A%%
BM<$q�:)BD	aa%`�]A&c|	�M��s!
Z
2}i[F&���**
< ��ʣsc"J<&Ns�F%���0@Wm6&'.6$.7>7$76".4>2.,&>6'"'&7>=GV:�e#:$?+%

q4����g
&3h�T`Zt�Q��м�QQ��м�pA������P1L������K!:<��}҈`d��l��b�,�9'


%%($!
���a3���)W)x
�������
о�QQ��о�QQ���cQ����ǡ-�җe)U�s2����XD\���ϼ�Yd����/?O_o���#"=#"=4;543#"=#"=4;543#"=#"=4;543#"=#"=4;543#"=#"=4;543%#!"&5463!2++532325++532325++532325++532325++53232�p00pp00pp00pp00pp00�8(��(88(@(80pp00pp00pp00pp00pp0� � � � � ��@(88(�(88� �� �� �� �� �/�Q�/&'%&/"&=.6?&?&'&6?'.>-#".6?'.>'&6'.>54627>%>76#"'%
%6��

2�7
2G
f���!)p&4&p)!��f
G2
7�2

��	*6���	"��
4�7
2G
f�!)p&4&p)!�f
G2
7�2

��"	���6*	�!k
3

j�&3
%,����*��&&ր*�9���%
3&�j

3
k!./!>��>$,*!k
3.j�&3
%�Ԝ9�*��&&ր*�ǜ,%
3&�j

3
k!*,$>��>!/.�&6.'&$	&76$76$�P��utۥiP��u��G��xy
��Զ�[xy
�-���_v١eN��uv١e	��=��u�ʦ�����[t7��8�X�
&6##'7-'%'&$  $6 $&6$ ��3��1�N��E0�����g��R�=|�����||�">"��������LlL����^��v!1f2i��Ђwg�fZQ�Q^>"�||�����||�w������LlL��&�Z�Xblw��������.'&>'&'&".'.'&&'&'&7>767>67>7626&'&>&'&>'.7>.676'&'&'&'.67.>7>6&'&676&'&676.676&'&>&'&676'.>6/4-LJg-$	6)j2%+QF)�b3FSP21DK2�AW")")�$??8A&A�E5lZm��=g�G2Sw*&>$5jD ���GH�yX/4F �r	1
	1�"�"!�l=6>��	6
,5./��'e



.*�|�Ed!
u&�&%&��	&��5d	
���))66@�C&8B@q��L?P^7	G-hI[q��:<�rS	U~97A_�IR`gp1	1	�;"("j?>"�T�6
,6 
&/`���LwQ'�	
��A	^	�	�	"�		$&	_	��	y		�	*�	<Copyright Dave Gandy 2016. All rights reserved.Copyright Dave Gandy 2016. All rights reserved.FontAwesomeFontAwesomeRegularRegularFONTLAB:OTFEXPORTFONTLAB:OTFEXPORTFontAwesomeFontAwesomeVersion 4.7.0 2016Version 4.7.0 2016FontAwesomeFontAwesomePlease refer to the Copyright section for the font trademark attribution notices.Please refer to the Copyright section for the font trademark attribution notices.Fort AwesomeFort AwesomeDave GandyDave Gandyhttp://fontawesome.iohttp://fontawesome.iohttp://fontawesome.io/license/http://fontawesome.io/license/����������	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab�
cdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������"	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS�TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������������������������glassmusicsearchenvelopeheartstar
star_emptyuserfilmth_largethth_listokremovezoom_inzoom_outoffsignalcogtrashhomefile_alttimeroaddownload_altdownloaduploadinboxplay_circlerepeatrefreshlist_altlockflag
headphones
volume_offvolume_down	volume_upqrcodebarcodetagtagsbookbookmarkprintcamerafontbolditalictext_height
text_width
align_leftalign_centeralign_right
align_justifylistindent_leftindent_rightfacetime_videopicturepencil
map_markeradjusttinteditsharecheckmove
step_backward
fast_backwardbackwardplaypausestopforwardfast_forwardstep_forwardejectchevron_left
chevron_right	plus_sign
minus_signremove_signok_sign
question_sign	info_sign
screenshot
remove_circle	ok_circle
ban_circle
arrow_leftarrow_rightarrow_up
arrow_down	share_altresize_fullresize_smallexclamation_signgiftleaffireeye_open	eye_closewarning_signplanecalendarrandomcommentmagnet
chevron_upchevron_downretweet
shopping_cartfolder_closefolder_openresize_verticalresize_horizontal	bar_charttwitter_sign
facebook_signcamera_retrokeycogscomments
thumbs_up_altthumbs_down_alt	star_halfheart_emptysignout
linkedin_signpushpin
external_linksignintrophygithub_sign
upload_altlemonphonecheck_emptybookmark_empty
phone_signtwitterfacebookgithubunlockcredit_cardrsshddbullhornbellcertificate
hand_right	hand_lefthand_up	hand_downcircle_arrow_leftcircle_arrow_rightcircle_arrow_upcircle_arrow_downglobewrenchtasksfilter	briefcase
fullscreengrouplinkcloudbeakercutcopy
paper_clipsave
sign_blankreorderulol
strikethrough	underlinetablemagictruck	pinterestpinterest_signgoogle_plus_signgoogle_plusmoney
caret_downcaret_up
caret_leftcaret_rightcolumnssort	sort_downsort_upenvelope_altlinkedinundolegal	dashboardcomment_altcomments_altboltsitemapumbrellapaste
light_bulbexchangecloud_downloadcloud_uploaduser_mdstethoscopesuitcasebell_altcoffeefood
file_text_altbuildinghospital	ambulancemedkitfighter_jetbeerh_signf0fedouble_angle_leftdouble_angle_rightdouble_angle_updouble_angle_down
angle_leftangle_rightangle_up
angle_downdesktoplaptoptabletmobile_phonecircle_blank
quote_leftquote_rightspinnercirclereply
github_altfolder_close_altfolder_open_alt
expand_altcollapse_altsmilefrownmehgamepadkeyboardflag_altflag_checkeredterminalcode	reply_allstar_half_emptylocation_arrowcrop	code_forkunlink_279exclamationsuperscript	subscript_283puzzle_piece
microphonemicrophone_offshieldcalendar_emptyfire_extinguisherrocketmaxcdnchevron_sign_leftchevron_sign_rightchevron_sign_upchevron_sign_downhtml5css3anchor
unlock_altbullseyeellipsis_horizontalellipsis_vertical_303	play_signticketminus_sign_altcheck_minuslevel_up
level_down
check_sign	edit_sign_312
share_signcompasscollapsecollapse_top_317eurgbpusdinrjpyrubkrwbtcfile	file_textsort_by_alphabet_329sort_by_attributessort_by_attributes_alt
sort_by_ordersort_by_order_alt_334_335youtube_signyoutubexing	xing_signyoutube_playdropbox
stackexchange	instagramflickradnf171bitbucket_signtumblrtumblr_signlong_arrow_down
long_arrow_uplong_arrow_leftlong_arrow_rightwindowsandroidlinuxdribbleskype
foursquaretrellofemalemalegittipsun_366archivebugvkweiborenren_372stack_exchange_374arrow_circle_alt_left_376dot_circle_alt_378vimeo_square_380
plus_square_o_382_383_384_385_386_387_388_389uniF1A0f1a1_392_393f1a4_395_396_397_398_399_400f1ab_402_403_404uniF1B1_406_407_408_409_410_411_412_413_414_415_416_417_418_419uniF1C0uniF1C1_422_423_424_425_426_427_428_429_430_431_432_433_434uniF1D0uniF1D1uniF1D2_438_439uniF1D5uniF1D6uniF1D7_443_444_445_446_447_448_449uniF1E0_451_452_453_454_455_456_457_458_459_460_461_462_463_464uniF1F0_466_467f1f3_469_470_471_472_473_474_475_476f1fc_478_479_480_481_482_483_484_485_486_487_488_489_490_491_492_493_494f210_496f212_498_499_500_501_502_503_504_505_506_507_508_509venus_511_512_513_514_515_516_517_518_519_520_521_522_523_524_525_526_527_528_529_530_531_532_533_534_535_536_537_538_539_540_541_542_543_544_545_546_547_548_549_550_551_552_553_554_555_556_557_558_559_560_561_562_563_564_565_566_567_568_569f260f261_572f263_574_575_576_577_578_579_580_581_582_583_584_585_586_587_588_589_590_591_592_593_594_595_596_597_598f27euniF280uniF281_602_603_604uniF285uniF286_607_608_609_610_611_612_613_614_615_616_617_618_619_620_621_622_623_624_625_626_627_628_629uniF2A0uniF2A1uniF2A2uniF2A3uniF2A4uniF2A5uniF2A6uniF2A7uniF2A8uniF2A9uniF2AAuniF2ABuniF2ACuniF2ADuniF2AEuniF2B0uniF2B1uniF2B2uniF2B3uniF2B4uniF2B5uniF2B6uniF2B7uniF2B8uniF2B9uniF2BAuniF2BBuniF2BCuniF2BDuniF2BEuniF2C0uniF2C1uniF2C2uniF2C3uniF2C4uniF2C5uniF2C6uniF2C7uniF2C8uniF2C9uniF2CAuniF2CBuniF2CCuniF2CDuniF2CEuniF2D0uniF2D1uniF2D2uniF2D3uniF2D4uniF2D5uniF2D6uniF2D7uniF2D8uniF2D9uniF2DAuniF2DBuniF2DCuniF2DDuniF2DEuniF2E0uniF2E1uniF2E2uniF2E3uniF2E4uniF2E5uniF2E6uniF2E7_698uniF2E9uniF2EAuniF2EBuniF2ECuniF2EDuniF2EE����=���O<0�1h�assets/fonts/FontAwesome.otf000064400000407230150753125220012150 0ustar00OTTO
� CFF 9s�7���EPAR(�l0OS/2�2z^��`cmapǢT��head���6hhea
��P$hmtxJ+��t
�maxp�P
`name>$#
h
postx FontAwesomeC�������������	�U�6����U�6���2�2���
�",04<>EGMT\_ehmqy}�����������������#)4>HT_lp{������������������
'4=GRYfoy��������������
&,39COVcoz������������"/5;FPUZes}���������������&+16<EOW_hmqv|����������������)04=DPX\aju����������������(,26GYhy���������������%16;>EMUckox��������������				$	5	G	V	g	l	p	v	�	�	�	�	�	�	�	�	�	�	�	�	�




&
*
-
0
3
6
9
<
?
B
F
O
_
c
u
�
�
�
�
�
�
�
�
�
�
�
�
�&5BQafmty�������������������!%)-159=AHLPTX\`dhlptx|������������������������������






%
,
3
7
;
?
C
G
K
O
V
Z
^
b
f
j
n
r
v
z
~
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�	
!%)-159=AEJNRVZ^bfjnrvz~��������������������������������
"&*.26:>BFJNRVZ^bfjnrvz~�����������������������������
"&*.29@GNU\cjqx������������������ '.5<CJQX_fmt{������������������ '.5<kvglassmusicsearchenvelopeheartstarstar_emptyuserfilmth_largethth_listokremovezoom_inzoom_outoffsignalcogtrashhomefile_alttimeroaddownload_altdownloaduploadinboxplay_circlerepeatrefreshlist_altlockflagheadphonesvolume_offvolume_downvolume_upqrcodebarcodetagtagsbookbookmarkprintcamerafontbolditalictext_heighttext_widthalign_leftalign_centeralign_rightalign_justifylistindent_leftindent_rightfacetime_videopicturepencilmap_markeradjusttinteditsharecheckmovestep_backwardfast_backwardbackwardplaypausestopforwardfast_forwardstep_forwardejectchevron_leftchevron_rightplus_signminus_signremove_signok_signquestion_signinfo_signscreenshotremove_circleok_circleban_circlearrow_leftarrow_rightarrow_uparrow_downshare_altresize_fullresize_smallexclamation_signgiftleaffireeye_openeye_closewarning_signplanecalendarrandomcommentmagnetchevron_upchevron_downretweetshopping_cartfolder_closefolder_openresize_verticalresize_horizontalbar_charttwitter_signfacebook_signcamera_retrokeycogscommentsthumbs_up_altthumbs_down_altstar_halfheart_emptysignoutlinkedin_signpushpinexternal_linksignintrophygithub_signupload_altlemonphonecheck_emptybookmark_emptyphone_signtwitterfacebookgithubunlockcredit_cardrsshddbullhornbellcertificatehand_righthand_lefthand_uphand_downcircle_arrow_leftcircle_arrow_rightcircle_arrow_upcircle_arrow_downglobewrenchtasksfilterbriefcasefullscreennotequalinfinitylessequalgrouplinkcloudbeakercutcopypaper_clipsavesign_blankreorderulolstrikethroughunderlinetablemagictruckpinterestpinterest_signgoogle_plus_signgoogle_plusmoneycaret_downcaret_upcaret_leftcaret_rightcolumnssortsort_downsort_upenvelope_altlinkedinundolegaldashboardcomment_altcomments_altboltsitemapumbrellapastelight_bulbexchangecloud_downloadcloud_uploaduser_mdstethoscopesuitcasebell_altcoffeefoodfile_text_altbuildinghospitalambulancemedkitfighter_jetbeerh_signf0fedouble_angle_leftdouble_angle_rightdouble_angle_updouble_angle_downangle_leftangle_rightangle_upangle_downdesktoplaptoptabletmobile_phonecircle_blankquote_leftquote_rightspinnercirclereplygithub_altfolder_close_altfolder_open_altexpand_altcollapse_altsmilefrownmehgamepadkeyboardflag_altflag_checkeredterminalcodereply_allstar_half_emptylocation_arrowcropcode_forkunlink_279exclamationsuperscriptsubscript_283puzzle_piecemicrophonemicrophone_offshieldcalendar_emptyfire_extinguisherrocketmaxcdnchevron_sign_leftchevron_sign_rightchevron_sign_upchevron_sign_downhtml5css3anchorunlock_altbullseyeellipsis_horizontalellipsis_vertical_303play_signticketminus_sign_altcheck_minuslevel_uplevel_downcheck_signedit_sign_312share_signcompasscollapsecollapse_top_317eurgbpusdinrjpyrubkrwbtcfilefile_textsort_by_alphabet_329sort_by_attributessort_by_attributes_altsort_by_ordersort_by_order_alt_334_335youtube_signyoutubexingxing_signyoutube_playdropboxstackexchangeinstagramflickradnf171bitbucket_signtumblrtumblr_signlong_arrow_downlong_arrow_uplong_arrow_leftlong_arrow_rightapplewindowsandroidlinuxdribbleskypefoursquaretrellofemalemalegittipsun_366archivebugvkweiborenren_372stack_exchange_374arrow_circle_alt_left_376dot_circle_alt_378vimeo_square_380plus_square_o_382_383_384_385_386_387_388_389uniF1A0f1a1_392_393f1a4_395_396_397_398_399_400f1ab_402_403_404uniF1B1_406_407_408_409_410_411_412_413_414_415_416_417_418_419uniF1C0uniF1C1_422_423_424_425_426_427_428_429_430_431_432_433_434uniF1D0uniF1D1uniF1D2_438_439uniF1D5uniF1D6uniF1D7_443_444_445_446_447_448_449uniF1E0_451_452_453_454_455_456_457_458_459_460_461_462_463_464uniF1F0_466_467f1f3_469_470_471_472_473_474_475_476f1fc_478_479_480_481_482_483_484_485_486_487_488_489_490_491_492_493_494f210_496f212_498_499_500_501_502_503_504_505_506_507_508_509venus_511_512_513_514_515_516_517_518_519_520_521_522_523_524_525_526_527_528_529_530_531_532_533_534_535_536_537_538_539_540_541_542_543_544_545_546_547_548_549_550_551_552_553_554_555_556_557_558_559_560_561_562_563_564_565_566_567_568_569f260f261_572f263_574_575_576_577_578_579_580_581_582_583_584_585_586_587_588_589_590_591_592_593_594_595_596_597_598f27euniF280uniF281_602_603_604uniF285uniF286_607_608_609_610_611_612_613_614_615_616_617_618_619_620_621_622_623_624_625_626_627_628_629uniF2A0uniF2A1uniF2A2uniF2A3uniF2A4uniF2A5uniF2A6uniF2A7uniF2A8uniF2A9uniF2AAuniF2ABuniF2ACuniF2ADuniF2AEuniF2B0uniF2B1uniF2B2uniF2B3uniF2B4uniF2B5uniF2B6uniF2B7uniF2B8uniF2B9uniF2BAuniF2BBuniF2BCuniF2BDuniF2BEuniF2C0uniF2C1uniF2C2uniF2C3uniF2C4uniF2C5uniF2C6uniF2C7uniF2C8uniF2C9uniF2CAuniF2CBuniF2CCuniF2CDuniF2CEuniF2D0uniF2D1uniF2D2uniF2D3uniF2D4uniF2D5uniF2D6uniF2D7uniF2D8uniF2D9uniF2DAuniF2DBuniF2DCuniF2DDuniF2DEuniF2E0uniF2E1uniF2E2uniF2E3uniF2E4uniF2E5uniF2E6uniF2E7_698uniF2E9uniF2EAuniF2EBuniF2ECuniF2EDuniF2EECopyright Dave Gandy 2016. All rights reserved.FontAwesome�[_�������"+/37;TX_dhn���������������#'Prz�����������.26:@DHM����%*.48@ENUZ^}������/3�������������PW^cgl������8<FJ�������������CUajov{�������			@	J	Z	�	�	�	�	�	�	�	�	�	�	�


&
*
.
:
A
T
m
r
}
�
�
�
�
�
�
�
�
�;BFLTX_cinsz���������� .38@FKPp|�������������

&
E
d
m
z
�
�
�
�
�
�
�
�
�
�
�
�
�
%1=BGNU[e���������
#)-7=CJO]kr����������������):PUblqv|����������",5:BJOTgz���������������$6HZ]hs{�������������
 &,6@JTX`hnt|�����������������
)8@OSX\bhp~�����������������"/4;?FLSW\hmt����������������
',2=HS^elw�����*
�A
�T&������fA�V��
��T���l�f��P��������������z�z����
�P
���4�!
��t������
���
�����q
��q
�bt�&
y}}y�3���3%�3���3�
`z���T~����~���������������4���]
�Tg@Z
�4��
���
������R
��,�T[@��
��<���<4
,
^�2
���%�%�����%�%�����%�%��3�
�T<
�n�h@;�TN
���TI���TN
���C
KFKk�6
?����������J
��������
�
:
K,:
��y}���Tj
5
�/W
K$'�T$����V
L
v
��
�
L
6
f
y}}y�y}����������}y�lz||z%
��1
��
��������K�T���T�Y�=��|�zKz||zKz�|����������N
�
!�5�
�!��
�
�f�f�(
������������G
���
Q
3|�T|�T|��T�
�T�
�T��|zs�
R��������3��&'
'
<
@A
��������G
������������^
���[�=������
�T� /
3
c�-�`�V�}�h�n"����B�v
�����g
�O����G���
�`�E��}n\>l�g
����,�������������������h����h�@�@�h��E�Q��P
�|�z�@z||z�Tz�|���������|�z��z||z�Tz�|�����7
�F
���x�
����3�C�DRRDD��uy
;
�;
���5�!Jb���
h
����
�����5
�/������
�T���T �+
-tzux��u�[��Br�lmy�z�~���5�������q�s�������U��hnnh�hn����������nh���
��t��t��t�T
y}}yKy}���?
j3CC��
��
������5�;��(�=��Z�XW�G/�9�;���/�_M�knm��n9��:Y�I�Ƒ���P�`�q���������������~���d�_�i�r�c�rr�i��i�i����������y��
@�H���-�R
�'
�����
���T� �����1��<t0
��l�n�l||��}_zob^��^�b�z�����������M�<�M�<v��������������	�o�_��}|�|r
���
/�0
���]�}
���]�
���
�E�Q���y�
v�(�
��W���
��T/�T����
���
�j��i�h��{�t���*
�<���<�<���
��<+���B�����������
�����A�S� ����i�^wv�h�������v�i�^����S� �A��E�]�#���'
K(
��D
F�m���3�'!�����%�Ơ���#xM'�nq��w������d����������������o�^�]���
t
x
�1�!���!���������EQQE5������i��������'�Ty�}���������
�tV`�����
��
K��
�T�����
��
��
����t��
kb
K<����z�
X
�@3CC3�@���#P
����n�hQ
�h����������/�:�n�h��
��
���:�
���
���;x��t������u�l�TK�
1���
�0
���8�i8_dd_�~~�x�z�������������������ƅ����y���"�9��O��9�%������9�)��o�'�0�q�i�?�@�h�h�?�@�i�r�����C
�TFKk�Tr
P
��;���;�Y�S<��!��y�o�t�s�{tq�T/�T��g���5��[��
�F
��
��s
��*
�41
���������������������Z�Zr�w�h�)��S
�
-
v�v����z�z�����:
�t�t���t�t���t�t�
1
����7
�Ԏ���8�
����J����n�������������������+����t����m�y�;�
[�8�����
�����������
������hn�>�����~�w�~����~�w�~����������K�
=+�tX
�@]
�@g�Z
�t�V``V��;
��;��`���L����<��� �xra��������
Y�W�
@3�&��
~~�w�~@���������5!�����������}y�vKy�x}z��y����n
������T7rr�c�r����~�g
��hnnh����
���YYG
����P
�����~�����*���*�*���*�*���*�*���*=
�4�����
�4����������)
.@�����(�����[
�h
������������������P
����v��T�~z��$�j�
+�[
��<���<�5�!I
��4���*
�A
C
�7
�r
C
��7
@r
b
�!�6��g������T����E ��
��ˋ�������h�3�/�����{�V=��������������n���������������\�n���]������������9�
��v���������x�{�zz{��X
�����CZ�7)������D
�T���}�y�T8�TC
�T7
�Tr
���]�]��[
1��
��
����������
����7��������U������f�
�@��m���
����� �
��<
�Z�Z�������Z�Z�������{�B
����r�r�����z�{���
+
�T
<�Z��������:�������w��B��������D�$�$�D�����(�=`��h��Z����������TA
�
/��0
�����nh����&�&�����&�&�����&�&�����{��V��v�7�+�4��2�y�qpV``VV`��������J
���Y
M�Y��
}�
���>
��|z��nhyy�rrr�r�ypttp&pt��1��5
t�v�������'
K(
����
�����������;���;�����g
���
$�4��������y���������~�M���Q��������������s����Q�Dnt��y���������������������y���t��
��F�t��e�11e�BB������T�������������2
������
����������r��������I
�F
y����������'�&��K�
��w�_�_�c����������4��4�����4��4�����������p�]��R����
���G�T��TX
��������������x�����]�]��
 83��
���w�rrh�������h�@���;�f�v�eK\xcik�v�ss]tRat�7�+�4���4��7�&&����
7����
�V��(����-
hn�����D�$�$�D�
�,
�}�t��P
��`=��d��b��9�7�B��x����������������������t���3
�������?�L���g�__gg__�g��������������a��
������`�V������������������C3~�w��]������}
���y���6�%�6-��������������	�_�$��cX��~
�TR�V�2�2�V�V�2�2�V������P@��z�y�z����z�
������s�/A����v����������zz{���������������b
�������z����-
�
�����f�t����&
���3�
������
���]�]�EG�xZ�n�yt�P
P
�������������+�+P�,������������ʲ�������,�������
����
_h�m��x�����2
�
������������
����ˋ��
�
�
�d�4����������4
�T[�`�M���`�My}}y�T,�V���;���;�0
���&�&���T��
��3
��
����������t'.
%���@p
�)qt{t��s�o�y�����s�%�$����������33�3v�K�����
�4��4\~�v����
}jii�C�@�@�����x�~�C
��Kw5 !4���wk�z|��|,$P��+�+�
����������-
�������
�
���
�g�s��}���}y������������f����
����#�E���T�@��)W��b�it���
��S
���4X��wmx�yj�h�����o�fZedZdW
f�r
r�syy�'�&� �������������h�@�v� }�������������59������������2I�8��8��!����~			I	�
M
�
�?y���
*
�BP�|88;�l�]5��m����+\��<���b-�G_y����'>U��>c� R �!0!�","^"�#0#�$$q$�$�%%~&5&�'A'�))�*J++�,,m,�,�-�..1.�.�.�/P/�00�192�2�45q5�5�6<6�717x7�8h9�:S;x<<T<�==�=�?�?�@!@�AjA�B�C�D�E�F�G�HJH�IITNN�N�O"OxPPPPP�R-RvR�T�UGVV�V�V�WX1YXZ�[+[�\C]]�]�^�_+_9_G_o_�_�_�_�_�`�aaGb6b�b�cPc�d'd�eNfGf�f�g>g�h�h�i-i�i�j j�kwl%l�m7m�m�m�n$n;nOncn�n�n�n�o"o�o�pp&p>pXqq
q}rIr�s8s:s<s�s�s�t�u�v<wIwhw�xGx�y y�z&{6{u{�||�|�}�~~�~�~���C������M�����9��C�|�����2���8�V�����P���	�c����S�������O����I�������#�|����L���������`������m�
����P�o�������1�����*�x���������4�f�.��H����U�\���1����������'�C�w�����[���W��������(������b�������;������J�{���.�ŝ�Qƭ�fǮ�*����ʛ˗̉͌����|�`ϫ�Zҝ�(���Jտ���׻����p�9����D��9���������g�����t���g��,������q���?�����o�]��1�a�JC���0��g����	$

�N��
F.yq��4����+M�<�� �!>!�";"h"�##�$b%g&D&�''�'�'�'�'�((�)�*"*�+�+�,?,p,�-F-U4>4�5~5�66636>6�7	8"9�9�:-;F;�<9<�='=\=�=�>?Y@RA�B�DEAF�G�H(H�IImKGLL�M^NZO�PxQ@RS%SlS�V�W�X:XRX�X�YY]Y�Z�Z�[+[n[�\d\�]g^Y^�_2_�`5`�a�a�cBdd;dWdvd�e!ff�gog�hNh�ikj@j�k�l�m�n�o�p�qhr�t�ukvYwfx�zV{r|�}/~~�������U�����u�����[�������
�t����J�����~������������������3�J���#���������c�������$���;������������������������������������T��t� �T��T���4P
�4��� c�
��z���.���.Ȯ��h�K�h�<�Nh���-���
��
�����-N�<vhNK�hN�<�h���.���.Nhv<�N��N�vȮ���-���
�����-�hڠ�����v�N����v���4�4���T�
�4�4V``V�T<
�4�4��TA
�4�4M
����0������T���y�u��uyyu��u�y�����������y���?�j�`�,4�G��y�u�~�8������������գ����������YSKkj>h3c�#�
^u�i�����������ƭ��R��������������@2�A
��4
�����F�M�f��fM�Zn�n�w�������
�������������v��
�x
P
 �`�V��������c~ofa�[�!
�Y�������!
 �����
����
�T@
����������b����@�
���s�u�w�#��$���L��>�����������$��#�����������69�JX�"�!�!`V+/E��E+�V������1�R�F
����_r���
�Z���o�
���p�]����������t��
�k�s����u�[��z�tv�U������������Z
�tq���9�
�[��[�9����:�Q��Q��:M�q��k�s����u�[��z�tv�U������������Z
�Z�����J�����
��J����&��	���	��&���a�
�)���|
�����s
�Kw�����
����t�������
��w��4X
��]
��g@�
 �v��
������
�����
�������Y�T3
���Y���`�V��V``V�TV�`���������Գ
���
�T3
������Y�T3
����TV``V�T�;
��Y����TV``V�T�;
�T\�TV``V�T�;
����
��^���y����
�$�%�����
���I�������V��������h�h��������v���j���y�����������������y����
���������
���I���������I���V��������������V������������ ���V��
V��������
�t�tC
KF�t�tFKk�t�t�
�r
�t�t>
��@
�
 ���V��
������
��FKk��r
��@
�
���������
pP
�����t�W�&S�:�aR`S�:�a�)�)�6����z�
�6�)��õ��`�a�;�R`�W�&��t�����P����Q�EEQQE�E�Q��������������Y
���8
��&��8
��&�T�8
�T�&��8
�@�
e
���{
�����z��K���}�z�����������������a�E�V������������" n�m�l�o�L��{�y�ry}{�{O�J�Nl�l~n|�������i��&js�����������^�^�[{m~m�k�No|�y|�rz�{���Kp�i�j�ki\f_i]�����������Q�M�[�����������!��|�����Lz��~��r������Ǒ̒Ȫ���������������'������������f�g�i��������M��������m����������������������������([po����p���H��H�4���
�wO�V��VOcZwE�;����L��1�������H�u
 �v�
��t���������n��n�����t/��
������s������~��o�J�,z�W���`a�G�ah�c��~��v�~�A�������������H���H��������������������
���
���w
!�4��t�4����t��t����4�t��t��
��to
�T
�4�#
�)�v��TV���{�||��||���������N���������g���|��5����p�p����Ty�~}y�:y~�����T����ppur��5��|g�ccn�_��Tz}���������������y�}}z�T���� ���
����T�
�d��gf[wXX[��f���e�6
�
��t�q���T�K�T�����T�T�
�T�T������x�4���4�t8����
��z��T~����~���������������f���9x�4���4�t8��(���������������������������&
��T���
��T�������9�v��T�
����,�T��,�T���������h���X�h���������Ym���}������}c�h��hcqj}����}i�Vg�v��
�����w�����x�r�w�wvt��L��������������#
������P
���
����!�S�Y��
�y�l�D�&�������������������)�'C�3�$
��Y4����K
�Ti
������t�}�y�T|��}�zcesd�,.�9/�F����-���
1�T5
�T��
����"�Q>�W�����������������
����"�S�X�������5����z�|��[������������,�9�F��Z3����
�Ti
�������9
�����"��!
��!
�
�T�����������@�
���
��G�����
���v��T�i
���T����T�
�T��+�3
k�T���^�^�����^�^���Tk��c�����v
]�b�t�k�r
�������Kg
_�=��1ln��o����1�"�-SK�q~n}s{x}zs�z.�������;�3�n� �L��������� �v��T��T��V��T���/���W�W���/��!�(�Z�Mj���:�kD
��L
k+8V=_G�xɁ��������������H�KxMG�_8�+��������M������������r�������r����N�-������hnog?���
�
��?g�o���������� Gw���_
r����N�-������hnog?���
�
��?g�o�������������_��Q�P��o�x��}��y�C���Q�(Csyrp}t{xo^�������P��Q�_����K�����
��n�{�}�������|�z�x�8�
�S�`�`*�S�8�
qxozo||�{�}�s}|{n.��������
�K���������������
�������������
��
���
�x
��
�����������
����
���������
��
���� ����0m�� 8����
����������������v�v�ʪ�ʪ����ꪫ����������ʪ��骫������k��i�hvv�v�i��j�i����ʌ�����������
�����1�
����
w�������
����ʓ
����ʓ
������1�Y�������1�����������������������Q�
kl�l�������ʙ
�����F?������i��j�ivv�v�i��i�j����z
�)z
����_�^�X*�D�t��cX��_�^�s�jii}jtt�j�jh��s����������W
 m���
����g��|�v�t��y�w�x���og�`vf�/TF��w�����������������.��������q��ra�\��zz��z������aM{tsw�x�y�z�z�Vc,sj|wu��t�{�t�v�\h2p]�yx}�x�z�u�x�Wi:mY{pvz�s��~�{�s�w�w}e�_�^#��:��/�����������r�����8����"������ �����
�����
�������������4<
�4���K��4�"K���m�e��,�,�eB�V�4�
��K"44"�4k�t�4�:�4�t>
�)����T���3���3�3���3�3���3�3���3�T�4�tX��r=�E��E=UIrX��t����
tK��

�T��/
 ��,�Q�����i�ep�%�/��,�xx�x((��(���#�Ɏ���������	w�����������R��'������V��b���gfV�p��o�q�qq�������{����������\�/�j�}�}���Y�h�^��?�DF�G@�E�a�t������V@���h����a�%�-n�<����5���s��c���������sŔ�O��������5���*��V�JM���(0�x[[��_}�~􊢋��������%����������;�AH�W�{�'Q�bgf��g���
��F�I��G���������f�=��R��!��G������v�^]�^����z����8����'��n�\��PuH�#hPMqJ�K{�-�!ߜv���`�������Њ�����xġ���������M�M�N�������[�����������Đơ�ϦԖУ�������!!�!�����x$ǁΓ�m`r�;�n�i~G�h�ftnOlF�Kw�z6���������-�������������;�������p��6p�_�ph��6hp�o���;_}oh���6�h������6���}�_�����
�Ǐ��\����������|��}�Cy�	�^��^�^L���uZ�
����������������������q�����m����ept�c��CD�C��m����������
ǐ��]����������|��z��b|�|}3��mrS�
�6��6��7W��,��������
�"�����������������m����~yv}u�������������]� y�����]h��vp|�zww�z�v�����{����y{ ��������������|��p��hm
��R�<�0
���R�<P
0
��R��<�
i
m
��R�<�0
�������R�<�i
m
��1�<�0
��1�<P
0
��1��<�
i
m
��H
��H
��H
��������t�#���#����@�������w
��t\
�
�����������������������>
t�Tdw
��T���i���������F��y
�������������td��v�0��{�t������z{�~�'�&�9*
�T��T�3���3�T&�:�'�'~����
�)��T�T�������Tn����4�4�����4�4����Tt����|z�@���
���4kX
���S
�@g@�
m���� �
�����D����������������~��������������������~U�T����4�4�����������~�sj�iij}st�:�9�4�4�:�:�W
��
�
��
���{
����
�
N�L�T���_��p����������’��x���J
������ 
�����v�����P����P���������Ϡ������������H�G�w�w�srP��
�m�X�X�j��:���b�kkcv`~:���j��X;`Y;l-&P���y�y���Q
�����4����������S�+����,�,������|�������|�������������������������~���KK�������X����������������������������fc�c��Q+�4�4�4�����4�4�0�0����f��,�,f�M�ff//������ ���
��g���t�������}���{|y~w������j�X������������������|�z����h
"��Q�����2��{�z�����t�{tq�T�4� 7����\�3�u������������������l�z��*���� ��p�4�Tq�t��������������
 ���
�Jw���
���t����������������KK�������3CC��
��
���������������������G
���������������fc�c��Q�{������k���k�Y�kk������k�Y�kk��kk�Y�k�B�B�k��������������
����C
��
�
�����
�����
���-
�4����=�����
1���
��
�����
�������gs���v���������Z�v��Z� ���S���Z�v�Z�Z��Z�Z�r����Z�����h������l���vl�r|h��h�|��e
P
@g
���
��@��g
���
��i
e
P
@� �����
�Z�w�Z�Z�2�Z�Zr�w�h�Z�
���P
����
�Z�w�
�Z�
����������
�@�w�}����rr�w�������r�Z�Z����
�
���
�%L�.�����2�:�:��z�z��z�z�r�����:�:�2���������%L���'�2�z�z��:�:�����������:�:�
�z�z�������������
����p��������h
��H���� 
Z�������
��hn�����
���� 
e
}�2z�z11z���I�I�I�I{�zzz��1�����������I�I�I�I�����������������
���I�I�I�I��������1��zzz�{�I�I�I�I��{z��v 
�P
�����������z�z{z�����������������M
�v�v�,�+�M
�1��zz���6��
����T���
��4y}}y�Ty}���T��
�T���4�,#Q?`\pnZt�������ҫȧ����P�Kgjzx}wy\O������������~������#��7�@�T��K��T 
��t��t��t�4�
���4:
�T��
��+y}���4j
�����4��y}}y�Ty}���4��
�4��4 
��
����`�$���$`����$���`�$���
���$���$�����$`����$�<���Tg
�#Z�k�=�=�k��#��#�kZ�=�=Z�k�#<�#��k�=�=�kZ�#��#�k��=�=��k�#i
���]�������&�&�
�����
�&�&�������&�&�������&�&�k�K#
���g�2%�������'�'�%%������
�:�:�!8#
��t��
 ���������%��5�����6�&��{��S�j�����������jQ��h�[�=���<�<���=�>���
��>Kw��P
��^�C�T����������}�s�@��sk�iij}ss��t�v
j�t�� ��
��������}�s������TӸ��Kw������~�s����sj�iik}ss@@st��j�t�����TC^OG�G�O��T����s�v
j�s�@t���E��������� @w�K�������sj�iij~st��s�v
k�s�@s���������TC�^���Ǹ��T����s����������� @��K�T��@��sj�iij}tt�����T�
��
�T�����tj�iij}tsA@s�v
j�t�� t������ �W
��@��j{�����������t��,Q��a!���� �K��t�k�v��������������������q���C�t���
�����
e
���t�����
�������ԛ
��������4���
���*
�<���<�<���
��<+��!y}|z��
|���R�����T��|y��.}�|�y�Mx|��z������������p����������������
��������4�Hhnzh�Thn����h�T��T�hS�\��V`��f��y~���5���V``V�V��5�������`V���R�L����'�HMoZd��9��9�dM�H�''��e
�L(
��$�4���A
�4�u
��v��߈���
���/J�7�I[^_[Z_~}�yhn����������{�x�(���H���Z�f���7p\XT���H�aG��-���w��h�h�i�w�V�Q�Z:#v���z]��l���`���L{�l��{��,�+������\�^���˒�����1
��t�4C
��FKk@r
�������C��������N�.E���Ti����C�������k�h����T�������$�T�$������?���L������L���?�'���0�cGv=<���
v�c��0;���'�d�quuq�--��]
��������L��a������a��Lv�trr�t�v��L��a������`��L�������v���$�T�$���]�D�'�#�5�'���0�cGv=<�#��7���quuq�-.��]
���S������v-�y����U*�PN�O���_��Z~w�rsr�s�w��H�7�*�V3�ziU{������Q��������g�
�e��g�
�������S����������A��:�N�T����~�=�����L��=�&��0�����E��rA�������u�X��������������������5y}|y��
}���R����|y�R��
~�|�y�Mx|��z�]�����������p����������k�o�u`�\\`qbu����ud�[�dd��s�P
���������u����z``K�4K++�4�4�-�3���������������������������V�������
+*���������������Q�Q���������������듔����V�V�������������������������땓�����4�L�5�5���4K� �
�������4��
�˫��4�4��˫����
�����
�4�������������4����T�t��
�T�t��
�T�t���4�������4��K�
���
�G���t��������4���
������t�K�
���
�G�������q
��q
�bt��������.���"&��F�t8�t�+�
�
��������������+K�
�
Qc-b.T5���M�K����Tz�|������������sRrQnS�SL0��t8�t��������ĤŨ��������Ty�}���v�0����%�������%�����_��I�b�	\�;COLD|yz|�r�����s�{���������A��0����������%����e
P
�T�%�K�i�``�i��K��%�,����Q�Q����,����g
��
�/�����g
��
�/������
�a����r��z�y��z�yrr�b�r�:�9�r�������������
�:�9�k��
�l����r��:�9�����������:�9rr�b�r�z�y�
�z�y�)��
�����������4�T��������T@��������y�xxy�}�����||�g
�T�4�4r�d��Tr
��4g
�T�4�4���f�TF������4�T��������TB
|�|����}���������������� ��
��
�����p��Q�EEQQEE�Q����Q�EEQQEE�Q������g
�O����H���
�`�E��{l^@l�g
����,�������������h����� �v��
��4�
�4�
��&���Q�)�WW���X�g��3�
UGQ�� {y|ss^������
����� ��������
���
�������� ��/�����
�����T�����
�
�����
����1�4����=�����
1����i
�������
����
����
�����
��m����}
����������������������t����������������������������2o`gfbn��������h������.���������/�>�p�����������+�>�������|����R�i���������/8�C�����������rb�������{Zja_q���������V �O���m�|������
�P�C�������������4��4�T%V``V��
����L
�t�e�����P
����
���������T������
�����
�h���P
�
���T��T��T��T����
no��q�q�on��
�������������T�����f������t//tq�:�v++��������n�+�*�m�����m�*�+�n������3�3�V����y��p�p��v��-�����)m�v�v����
����
��>��{
����ERQDEQ��c
��ERQDEQ������QE��9���}��,����~��������������
�q������������
2s�r�q�t�-��}�}�N}�}�~Z�T�Yp�r�r~�������n��
pw�����������e�f�c~r�r�q�/s~��|~�M}�~���,s�o�p�pndmfne�����n�
 �s�����������
�������-}�����N����������������1��������������������k�m�o��������/�����������
`
��
>�a�����
B`
���
�aN����t������y���������6��$�7m��F��
�����d��I�.�3�W�W��-
��hn����
��fo1\��s�\ko��{�y�xx�<^��
�
�����U/�Sk��W���?Ÿ��������j�-����@�	�
+6�	����OG��o���
�	��D�ɝ��·�l��Z'�#ik}ts')��2OKebh`i_��mdG1dq��h�����W���m��]��a�"W����Y����������������
V��F�� �����e��
�G�.�3�O�׈����-
7�hn����
��GNOH���	�6�
�	t@�K̬�-*�o�s�r��^��?<kO����篞������
�O���Y�	O�x�x�y�t�R]׈s�sv�k�c\k}\vsO����1f��O��z�k������O��~�r�������v�d�����O����J��.�eY�$�n:mo��O�h������q�1�d�_�`�c�Jl�2�)t��}�����Ǐ���y�m��D׈��
�	���83�������v���b��@�K�M�>����������M�>�K���R�4�)�<�5M��n����ɿ�<�5�)�4�RP����
���p�]����������o �u���d�r����
�T�������~ϧ\
�ԕ�T�3���3���~ϧ�4���
����J�������{��{���{������J�{�J�� IYU:��=Y��Ͽ��ڼWG��� ��j�8Ke`bz�|�vw��{���	�̋�{&������,�(�i�"���z ���
�����4�t�4��
�T,
L
�T�4���8��0�����Q�E�EQQEE�Q������0�8.�(�y{���������������w�Ai
����
��
t���
��X�Ti�TQ��g
��B
�4�D�D� � G
��U� � �D�D��
�����t����
���*
��^�Gof��������Tp
��^�Go�
��& ���
�������8�^�!�Y������1���/���)���Yb���1��+���3
���X
��]
+��V``V��R�z�f��|�X�m�}�[�YKKkK+++K+>��7��+�++k��˙����������̚�z�f�R����[�
�/��`����������������������������������o��������������������������b���������������������������t��������������������������@��������������������������������������������������������������������������v�'�T�_Gq���������z�y������Y�w�j�����o�`�)I��b`�__`�b�)�`~oD�W�~jgw^S�X�_�~|~~t�jn~@t^�o�Y��Y�k��|�P��/�"���`�c}�{q��_�'�T�v�Q
���y�y�����t  ���
�����
�?ApDU8��8D��p�?�6
�\����x��T�T�z�{{z�~�T�T�K
���T���T���������������
�1� ��!���8�� 2 �Z���Z���.n8��2����Y\uZQ m{���������r�������^�-Ʒ֫Ϧ����� ��[�����������@�{�wx^�^]U�p�[�c��\��ˀ�t�� ���������b�de�e�	����@�$fb%� <l6fGW���G4���� 9�<:]ua\Q ,�2�������n��������{����
t���������Z�w�R�Q�S��qk�lN2�IUph��s�J��&�J}�r����I���m�{�j�l�kā�u�v������gE{|jZvkSr^kPxOH.�7�6�N�P�T�>�a�a�>"�i�p�ul��e��Ǟ����ë�����ѯ�����
��
�������X�����4*
���(�����3��&���
�����
���&�;�*2�26�;�*���������qX�sIm�[FHN��M�o����;�ot�p��л�ͩ�������������&�o�x�tt_�Jdw�r�y��0�A���y������u���{�&A�y���������  �v�(T��QrLyJ�γ�ʣ�MfEpB}�P7�.�G�$�%�Fr�r�s�������3�Xo[{TO��(�QV�Y�`������1���(m�pn�nvw��w���.�"�4��X�+pr��q/�#�>V�K�����?�����ʹ�ķ�����������S��p.���v�/����n�������������������Q���11��'�A������<������*
�<���<x��p����%�����������j]^��h�Y��E�֊�ׅ�B�
�����������?��G��ߩϼ���qٵ�˟�'(���͔��͂z���'��w�!q=�w�U�G7���HJ�?x�s�]C$�8rw�s�����p�����+�q���������������������������i�������������������������^�������������������������a�������������������������r������������������������ʆ������������������ŕ������������������������ �v��T���T���T��T�$�T�4���\+�T�
��/�i
�)����������*
��l
@Z
�����@�G�t���t��
���
������ ��������V��
��Tn���z�i.�]�,�+�+�,�]�i�����{{���}�zy�j�p����n�������j��r����������������y��'�����������'������{{�~�{y�#j�o����i�c�c���i��q��#���������������4���
�����4�4��������������4��@�
���
��G���2�t�1�v���������~z��1�v�F�4������Y���tH�A��AHZEt�Y���r�tp��g��
���
�2
����
�4�T��t��t]
�Tg�E�u�F�F�6����!�1��=۴�����n���_�F�(���
�R�D������\�����������������\����D����
��V���T����$�4�[
�
�.���G�^������S������S�����G�^�J�(��@�t�w�T�3�f������V``V}�~���d�3�f�T�w�@�t�(�E�Q��T�!���
�T�e
`�����������w�r��P���N����x�y�p�r��NV[�P��w�r�q�q�yx����y�p�r�r�ww�r[�P�N�r�p�yxxy�p�r��N�P[r�ww�r�r�p�y����xy�p�r�r�w���P[V�N�r�p�y�x�����N���P�r�w������������}�����������������P�NV������������V�N�P�����������x��,���4���.����o����U
w�t��FPPF���s�\k�{o��y�xx�>\��V�?��Ck������������������������w���k+�+JL����OG����
�	��
������=��3��`�?.Qm\ibgbjnG5[��ho��������fu�e�l��Y�������=� ��	� �,���.�G�c��4���n8`��X�C�>��[�B��
n������a�tĹ�����o8i�x���������FP��������v8�+��֫ঽ�t��t�t�u�V�]�]B��1�����������
o8��[G�ng�i�m��Q`�?��3�4�=_�`�b�
��
�	�� ��	� �=�a�c�fn��}�|}K�K�Y�X���S��#�L���n8�������
�
���4���.����B
�`�K����P�V��?�Ck���1�B�]�]�V�v�u�u�t����������+��������`��PF���`�������xi�������P��ta�������
�?����M���Q��YK�K}|��}�Pf�c�a��=� �	�� ��	�
��
�b`�_�=4��3��?`�Q�m�i�g�`�n�G[����
��
��ʰ�����
���.�G�c��4���B
��t���ZB�
��xx��yatRt]ss��vikcx\j_��q����FPPFGO����LJ+�+k����������������������ϰ�k�p�C��>�[���������H�������k�f�u�f������
���h��[5Gjnbgbi\m.Q�?`��3��<������
��	�
�� �	�� �p�=������ϰ������ˠ�������S���L���������H���
���Q�Q���{zH��
00��
����0������,
��{zz�{�Q�Q�����
� 
���
����X���00�����{�zXz{��0�����������Q�Q�������Q�Q���N�����0��{z��� 
�����������00{���Q�Q��p���Q�Q��
�������,
������{z�����
���������P�������00��
�������M
�Q�Q��q���Q�Q�,
��{z�����
�����%�������������Q�4�.���������&����E��݂���������v����'�����*
�<���<�<���
��<+�'����������������~��'���������������|iyz���r|���������x|��~t��}�uz��������������������������~�}����t���yzr����j����hv�������������~|�����'����{���|����������������~�oz|������������'���������r}s�pw�h����������������������jh�y�~�|��������������������}}��|x}�o���w������u����x�����������z�����p���}�o�~�v���q�y���v�}��}�{�o�����������y�~�t�����c�����u����������������y�u�u~�������x�����������r���}�������|�~���g���w������������ɛ����������|����������������c���������x|�����������������������|����������������������������������v���������������'݀���������������t���|�������$���|����~����������������d����������+������|������~��������v���r����y��������s~�݇�����uw�}�{�~|�G�����|��}}x�z���ut�����������������l��������݇�������|���������~���|�r�������������������������k��������|��������������������'�����|}�����y����������������������~���������z�{�������|������}�{����x����|�����sv��~�v�z�y�z�z����������y���������'���7�����������������������������������������������������������}�r~�����������w�������������������������w������������/*�G�s �k�i��n
��8��"�W��=�=s�v
j�t����
�>�>��G��ww�|�&xj�U��t���=�����������N,�B[
��Q�?��F������������������
��������������
�������������������t��{���t�q��������z�4��~����
�z������������v��
�x
��
�����������4�4B
���
�4�4�t�
���t�������X
����S
�{e
�w�$�$����
�Tx
�Tqt{s��t�o�y�$�$���������$�$��������t�q�T5
�T�p
�$�$����������
y�o�t�s�{tq�T/�T���
���������$�$�K
�T0
�T�
�$�$��������)�
����W�n�������|`_�]�#�v����:��[���������vV��i���\�\��i��V��v�6�*�4���4��6���e�T�a�
��u܎���v#6�]_��`�u�uu0n1W@��^�;������e ��U�U`�4�U�5�T���T��T�T`�4�S�2�SB�����zyr�rrr��y�b�cy���������j��d�M
�d�j���������y��d�d�y�sq�S�Umtvw�jo�XV``VX�o�jvwt�nrr��yB�d�d�k������y��b�c�y�rr��U�n�T��d�d�UA�?<AkST3��«���n�U��b�c,��UB�>�?BnUU�'�&UVlA?>�C�T�d�dU��m��ի���3STk@<�?�B�U�b�cT��m�,��Ԩ���'�&������)�����J��,�>��������
KQtd_�O>�K��j�
}�|�}�,D!�/�G����
 ���
�������#�����
�#�����@�*�!�
�!��@���i����#��#f�l���A�\���4�v��4����4��4��3�T�3���o@�T�M��K���"��������~�x��������������F��͇�������������F���6)�-1?pWSRWn?�=�%�(�EU��m�þ����������B��B�������_X�S-(mU6�EF(�%�=�?�VX��p�O�������򎬇������������F������������˞���������y��\�&sqb]�NE��N��e����������wd��G�&NS6�}dNDwO�]b��qNñ����џ���s��Se&�G�F�������������������\}�w~vt���:�4+q����������������4�����C�K�t������ې������E����,��
����� ��aV�����4dYztd���P\�4VAlff�,�,fflAV�4<
�����:�\���i�������?��������fflAV������4M
�4��4������4�0M
�4������������������|�+�f�L�����dU�S�55�T�T�d�.�.�������Ġ���
�.�.|�����������|�����e�WT6LL6UV��e����[�o���!���"��m\�������������
����B)�%�h�;�=�h&�)�C����M��e��0���0���������
�����������4\���
�4����4<
��A
�4��{}������~�bx����4��T�
���
�T�G���k�m�e������eB�V�4V``V��Te
P
�� ��
�&
�P
�T��������
�w�Vn���5�!Jt�4C
��
7
�F
����nt�4C
��
7
�F
�T�
��
7
�F
�����'��)�����������h��	�$�J��7�_�H����,�� �� �����`djXg]�S��ˈScfzheb��pR3� ^��v������" O���m��(�;�.?GdFj�P�������yi7�vo�My�y�y����4�
�������(!���?�������:�:: @(��t���
�T�
�@��
�Tz�|���>
�������$����@1
�i���{p�k�g�G�R�[��"�.�_�_�u��š�����ȟ���mN��g�G�&��߅���������Ȃ�������A�P�_��AT�e�A�a6226^%�O�L�J�n�p�s�����o�s�x�Z�WS]{`lcmcbnXzyY\�a\^��cb�h�n�n�p�s���z�f�%�_w�h�Y�+�W�~������������ cv�͉��Β���������������������И���������������1�5��h���v�9��U�!݉�}�t�{�D���$�<�T�;�J�Y�Y�b�ll��|����ԡǩ������������������+�}������������������������������������y�L�J�G��a�7�5�����t�|�m�`�P���v���G#�?}Z�hzdqcwuvltlsj{h�xPK�GQP��Ob�k�t�l�{·�}����y����ُ���������������ˌ��|n�a`�Z�U���TS�R{S��-�de�h}~��~�3U��������:
�@�4
u
�R
 ���`
�����
���4������y}}y��y}���T��������}y�T����
�����
�5���X
��]
��g@�
 &e�e��O ������ �.�����Z�Z�{�zz{������{zz�{��Z�Z�����
�����������R�%
���O�XO�X�XO�XO�X�X�X��r�6�%
�v�2�%
�������	
��>
�
����������W�W������2�����
����g
��5
�T�4g[wrr��Z�ZTT�<D��Aٕ���!���
��!���
�ف����1�;�������)�)�����P��P
�+�<���<��Q��������̙������r��ԋ����ѭVLE^"t*9x�I��&�O�q�=���b�}�%�B�VH�\�f�z���w�}�i�~�w{�z� �Y�
��n�L������U�i�w��<�u��8=��q^�E�i�{PjPn]v�Ӏ��
���)�9��
�(�(�����N����K�‚��������s��Ӌ����ЬWMF_#t+:x�I��$�M�o�;���`�z�$�?�TH�]�f�{���x�}�i�~�x{�z�!�Y���l�J�������S�f�u���:�s��9>��p_�C�i�v9U:j\�i�C���eM�#&�nY�A� �������,�Ó�m�����x�wr��� ��.������f�f�������F�f���������H����4 z��e�����`�c�����`�c���#�NW��[�S���9�Z��)���)�)���)�;�����7����e�e�f�e�e�f�e�e�f�e�e�)���4������
������
�������{r|�sv>��(���T�+����J��~�f�f��~�J�J��~�f�f��~�J�����������K�
�
�����g
�5
��/{i
����W�Ԃ
�����W��~
�����������
�T�T�{z�4�T�T��
�������������T�T���
�T�T�
 m�
������F8�4�
����������
�����X
��l
@�
�@w�W�T�
�~
�K��W�T�
�@w�W��~
��t�0��mjingr�;��<��7�
M7#?����#��7�7��<��:�f�i�m����
���B�4�@ V7)0��[�/��1��/�^�/�������/��1��0������6���;�$�����p��#��s�����E��AA*,�?���������m��6�"�mp�F=(G`���$����.�����������ƣ�����0�����������п�����
����D�&�l&�y�P�������������sj�iel{pp�������������m��o��������������y��,�,�yr�rUg[giyx�tq]�u�m���~~���������~~����mu�]qt�yxgi[gUr�r�y�,�,�V�����������o�m���������������pp{lei�j�t���t�������W
�m�
�b��
G�T�TG�@�u�^�9v:p%"M$�%�M�����ڑ�����������h�i���G��G�T�TG��T�����&�&���@��;�$y����z������%��:�@������b���
���%��������%�����
��v�������
�T������D�d�d���D��WX��YV�_lw}v~v��*���A���d���D����������y����o�6��$�7���������	�^���~������ )�?�c������w�r���vy~x��]�͈}�|�������������*�Y���v�v�������������������������T�����
p{���3
+�T�
���T�A
��\���
��<
�T���
�T+�
��\+�T���T+�
��\+�T���T+�
 m �4���
��X�vv�uuv��v��HNNHHN��)
��	�	���	�	�����������1��j��
��j�/������
������������������������������eU������>
���k�)���������$��1
��
�����������
����
��4<
�4�����T�
��
�T�GK���4�������i��m�e��,�,���~���\��-���4�:����4� �#��x�:�4����t�T���.F�
��pF�
F
�4KqHaZxuuvwtD6O'���x��O�D�w�u�x�a�q���\�_��I�I�_��\������D�������D��$�2�?��?� � nzykjs�t�z{z�tsj�m�y�}�z{�J�l�Q��e��űťž�̛������������{�������y�n�������׭������
�0���|�z���T�|�����������������������T`>
�t���7
`�Tz�|��)��t������������������������������������t��F
�T�G��t����t�
�)�������4z}|y�t����T�
��ty}��������������������������������
������b
������t�T�4���T����N�[c�����G�=B�^�60�A�Q�EEQQE�AK����u��I7#e  #��7up�jj�_�p�B:��
ܾ�ئ�_�������Wc��[�|��a�
��m��
��w�����������������7�E�p��{
��m��;�4�U��3������ua�[�
�RҢ�����&�{
�&������
�R�D[apdu������-
���U�;�4�mp��h�]�@��@�h���֦������
���t��
�t�����������K�}��������������
K��Q��$�4�[
�
����(��@�t�w�T�3�f�����V``V}�~���d�3�f�T�w�@�t�(�E�Q��T�!���
�T��)���T��T��T���
K����5!�����
�K���h���h��5
�t��
�T�Q���
���
��_
����4��n�hhnnh�4��n�hhnnh�:�B�p����
��צ������g
���U
��k�t��E�Q������9��
���w
!�4���4>�Ti�T(
�t�t�T1
�Ti���T1
�Ti�����9����9
�������t"��!
���N
���T�|�zKz||zKz�|����������I���T�|�zKz||zKz�|�����������|�zKz||zKz�|����������6F
����^P
�
��@g
�5
��/�i
���������
��� �����U��t"��!
���6D>
�����^�
��k<
�TA
���������K�
�+�K�
���
�G+���

T�G���E���g
���p�\�T�
�����/�i
�)����������������������>
G�����������W�W���������2�����G��4��
�t�t���T������1��5
��4hZwrr���Z�ZrrwZh�4�
��!���"�"��
��
�"��
�Ti
���������
�4��
��4�����4����
�t�t�����T����t�������k�}�����4��4�����
k���Q�)���T��k��k����������������t�K�����
+�4Kk�4�4�T�t+kk�T�k���Ts��Ts��kk�T�k���T�t�4�4Kk��4�
F������t����ˋ�� �v���
�����|g�>DR������������T��T��˫k�T�Tk��tk��K���h�@�@�h������T�T�����Tp�����p�q�����q����4 ����
���p��������h
�����
�� ��z��Z��4�
�����
���k
��
�����
���k
��z��Z����
��
���!�Z���tL�L���A�Z���4K
�K
���z�����t���k
�
�����
���z�������
YY�������������
�����������Y�
���������L���������K
�)�d
��{�����
����|z�����X
��]
��g��4KGf�g
��0
�K�����
�)��+�TK���x
����
�^�4����Z
�T���]
�Tgk��F
��G�T��Ԁ
`�t���4+V�`�@�Ӷ����+�r
������S
��
�>
n
��4��Ԁ
�T�
��q��]
��g���
����4���������d�_gg_��
�d�4����
�T�
���G�T�T���[
�r
�������
��E�Q��������9 �v�
�
����ԫ��� �����
�������T���T��Y��������w����N�������T��t���"�R�DEQRDE�Q��������bB�T�TB����Q�EhE�Q���X�x�C�3p
3�C�Bc
���B��T��
���
���b�&��'&��e
p����e
P
� 
��@*�j{�4���a����,���t���
�����{z�4�����
���t�C��8�qb�b�b�{�y{x�{��������������K�  ����t�4��
�4�t����_��_�4���\���<�������-��7����������������ʗ��7��-�t�D�&c�+�������z�i��0&H.��0,�-##�s&�&�2iGz@@R�Q�T+�c��&����&����t������������
� ��������x
P
�tV``V��
V`���T�^
�T��
�T��T�
�4�
��&���Q�)�����������F������|�~������aiEjV��ul�������������Ѭ������o���70 XDQ������^
���
�4���7������mG�G�T�4�}
���
��&���������������������
�T�n�a��x�j�i�gx�i j(C��(�j��g�j�i�xh�i�5��'��=�=�'��5����G8
m�T�i
�n���5Y�'��=�=�'��5Y�i�h��������������C ��i�x������������8
�����
�Tg
��
�0
���T8
�)��TK���4�T��T������T:
�T�Tx�
�T�T4
��[�T�T��T�T�����KG����xP�
��
���x��
���
���y�y����
����p<�
Z��Q
�)����
��������������������I
����t�+�����t�
�������I
���4��!���+�������
�������I
��������r@I
��������0��I
��������I
���p%I
���0�0
����+�����t�
��$��������
��h������
�������q��������^��jM�P�di��oo�� '��.��<WN�����2���XV�u������
������^v
~\�b�u�D
���
��
^�z�xvu�z~�L������^�?
ޠ����������˜�0���������������$]�U�M��'����T�6���"W�
N�Q��(���Y��cjM�P�im��p�P~�~�~�����+�����r������+�UQ��������t�b�3���L�?0X�3>���X�������
�Q����v
\�b�u�D
�J�
���
�zxvu�z�L����J����?
����� ���s����
��]R�T1
�T�*�)�\�&���������Y��
�f�f��f�f���������z�M�{�y��z�	���z�y���z�������	�%��
��@��tJ�j��Z�!�!�3�!�"��
�
��$y�f�+�/���Y������
���kz�X�,���Hn���|�}���������������1��d�t���Z\�I����<P��W�3�֩Ó��W�W���}�O�����u�[�}z�y�yy}p~�u�[��BO�}a�`���5��_��q�������U���U������������5���������t��y�����w��{�z�������q~}m�nn��w����m�r�������������� ��
������������������4R�t�����������~�w�~������tT
�t�t?�t����t��t�t6
��������T���T����
�
�
��V``V�V`�����
`V���
D�M�j��e!_�NPZ|UzXr���Ĭ����D�M�j���RjdMD!�5�
�d�R��쿣�3��>���ێ��Ĭ��� ��TPv�4�T��T��T���T��T{��K����=b����u�t���5����m�U����z�x�w�y�������y�sq�ggK�g�������y�w�x�z{����T��m��Ө���'�&�������h�~�z�����UB�>>CnUU�'�&TUmC>>�C�T���z�~�{���������k������y���������
7�5��������u�+�=������
�T������Tg
K���%.�Khnnh��<��K�T/��i
���v�P�����K�t/�
�����o�h��honh����h��n���
���������;�m�g�<��&S�3������r�<��
����;�|��#����&�%6Nkj�k
�����hW�
x�}�p�������;�F�&���<U�3������r�<��
�Y�;�|��$����&�%6Nli�k
�����hW�
y�|�p���)������
�������9�I�v]�Y��fh{os���je�V�]]��n���������������w� �v�v���K�u�Kp��J�Q��T*Fhl��tn����ݖݘ����Ǝ������q�DA�������5�%!*Q���TFhulstnl_�a99��:��P���p���������������~�݀������������*�������P���k�9�o������������k��թ������������m��
p�
����[
�S����D
�
�����D��
�D�U
���D�$�$�D����m����8������������?�C�I������9��
�.�.��9�~���������`�n��
���[
AE��N����������������^�
��U
�������T��T����%�� 7;L9\Xpq�T��T��g
��5
���9�������������$�����9 �
���
�
#���
�������4�����@n
������������������T+}��~|��������C�3p
k�n�r�]J'�V��{k�e�{��������������o�h���c-��#���<���/���&��|�~���T+���������������� �t`�`����
�t���{�y��S;����RQPIOD�w�������t���{���K���������������6��������K��������t�������������������q����v�M�����������n�;��<����-��������=��v��v�k�h�F�����8����������
�!�!�f
�Z�Z�3�Z�Z�g�%�E
������E
���! 
��������
�a�!�f
%��3������3��g�Z�Z�E
�� 
Z��������!�f
������f
%�3�Z�Z�g�Z�Z�E
���! 
Z�����������f
�Z�Z�3���g������g�%�E
��X 
�����F�I�C�������?�6��I�Y����(�����u���C�� �XV�Y���x��\���������b��6��6�������S�������*
P���e�S�GQ���G��z�5�:�5��'��D���N��������5���T�T��(���TK��K�T���(�Tn
��4R��~����~���'1�
�A3�Zp��T4��
�T�7׷���
b
,�9�_�7�T5
��2
�T��Z��A�1�
�����������~���'��~�������������Q�1���
������
�Q�1�.�����
ꗐ������v@�T�i
���T�����t���2
�@�$��k���\�����9
��
���e�
���
�
���y�y���Q
�a
�U�)
����������_
���T_
���T_
�������_
�T_
�T_
��s������s����
G��-�������
���|�a�9�9�a�z�~���������z����������������
���|�3���3�z�}���������z�9�9������S e
���*
�<���<�<���
��<+�����������������w���������������������vttvw���_������������������������������+������3���������s�����E
�������Z���@@��@�@֋������Y�9�ZYh��YY�9�Z������@�@��@@���Z݋���� Z���������
������
�� ���t
���
��
�tR��1
���
�~���������*
��Q������
���9����{���s�Y�sn��{x�p�ut��}��T���������4�T���~�������T7��T������������
���������}���4�T��������Tru|u��t�p�x���n��������������u�r�T���}�yZ�n��n�A���f
�����3���g�g�g�g�g�g�%�E
���� �������������(�@WWS�+���������}����������}���������������������F�������������������簰ɋ�f�,�,�f�Mff���� ����z������z�����q{tt������z{����
�����f
%�3������
x�����������t�
�t���� ��4��4�����4���G{�z�����s�{���4�O!mFNB9x�*����}�}~��������������5�W�]������4����������x����E
�G�� x���������t��T�������c��������
���##
�y����u�s�su~u��v�q�x��Tz�����������T��������QO�y�7����}���T�x�vvx�z��T}x�q�vu��~����������O������z��T��x�q�v�u�~us�s�u���������T��������T�t:
�T,�T[�T��}ys���x���E�F���v��d�y�������������Ds4�>�$�0K��������������������_�������|�������������������h�)�!�<��z���������3��������������5�#�����N��2)(
�$��h�e�kI��
�z�|�������P���諌����������j�j�n��W��{����2�v|���#R�6�'�I�2|���6
�S��k�����G�������������������������\���L�9�x�s,'�$�*��
�*$�P�*��
���[��f�����d�L��"�������*�
 ���������������&�����������_��DS�z|}y�H�ec�$�,�L���t1�HD�U�
\+�!W)�E� ���������������$���z����� �~j�Cy�}��7�C�h��&�5�`���v�8�:�$�:�����R�?��v�k��}7�S��(
�z�|��%� �e@��1(
%$�?�n�P�D���
�������Q�]�(�E�5�U������W������������+�M�3�T�)�3�w��'���T�<�*�|�v���;�<�#����������6
�S���7��}�y�k��א�����������S���S�8x_uaz`{�{�s��k�=�����V��������������j��
#$��6�
$$������@��v�t�T�
�i�T�i���{�������_�,1�!��T����!�1������N�H�����'�	���)$�t�
�t(
�$�t�T���;7�T��6
�S���
�����N�H����v�����������������@���3���uk����1��������@����������:���6���zi����
�4R�G���%i��쎔����������|~�}�.���)�����|�}~�}�*����1����~�|���������������1
�"���C1
�d�4��}�����3������;���e�:��}�����3������8���i�*���O�J�K��.��J�?�7�����1�.��.K��z�J�1�Z����.S��cb��b���.K���jj�l��h�M�8�����ʟgk�������������&w�l`�����l�KK�\��������.���������K�.������H̢����W/�&�����~��k���S�ڡ#���ڨ�ZD�p�A���4�����I���
�����l�������,�,���}��������V``V��T����V`�������������,�,���}��l�l�������p�8V`������V``V��T����t�
�T�
�T�
 ����������$�����+�����)���f������}�����]�|�
��z
�@�\
 ����$�����������+��)���f�1���z
�\
2����}�����]�@�|�
�+
�t�)�f���R��8����8����T8�T����8���*�+
�kR��8��7�t��)�f�4�R�T8�T7�T�TR�8�7�T�TR��8��*���
����iw�q
�s�j
�)�f��Оm�a�
����"�
�q
�j
��)�f�d���
��� ���4�gnohgo�������H�4�R��5
�/��0
���3�#�������������؋�G�t�
`aM�PQ�Oddlli`g]_Q+�f�j�ooj�h�o�����v�uf��\�#�������ͥ�����ȅ֤�������������������������� ������T�n�hgoogh�n���4��-
���
���
���
����)�������|�m���������x�r���z�e�`�I�3��}�y?z�#�\f�LuOvh�i�moh�j�o������Q�]�`�l�d�O�Q�P�M�a��t��G��m�q��������������v�i���� ���Ǿ������n�4���^��ːΆ—̀Ə����n�԰�+�}j�{x������t�������zj�1�"��L��������zii����|E�;�;��]SH��v|~�}������������I��q�z��x���������c������������y�pst}qv�5H��ίp��}��������������Gq�|�z���{t��������}��yp�jip~rx}x�od�d�n�yr��~������������������W�����vu�yi�0i�z���������x�`6�0w7~Q[`R�|���������R�[�~�wߋ�������ƻ�ő��������|�ą�`�P�8�05�����]A�]��|�s�|�z�|����W��W��[�
d�m}yrxq~jiq��y}�����������������~r��x�nd��I��mpr|rv|������������{������������������H�� ���X�?�����A���܅w��l�D���z�ك��{�ц����Ԩ�_���~�q||�||��|����������f�|�mm|t^]��Z����'��X��"��-�I���bgiwknv����������v����}�������������(]�j�vg�rxhkl��m[2�+�*�m�������xf��w�j]�Y��n�w���w�y�{hsfy\\h��qx�����A������������zi��r�eV$�G4]�t������������~��%]~smn}���f������t]�f�c�����q�y�J�>���L�N��M�M�N�w�K=�KQx<r�����������<�Q؃v�L�N��M�M�N���Lؓ�Ş�������z�G��D��!�M�L�M�.�E�Z����
�#�������x��rh�]^hzirxr�dV�CV�d�qi��z��������������0�nwx}y����������0�g�s�|r��������T�����v��������7���y�g��}������}�~�5����������T�~�~�����������������K����������}��g|ut~���$zm������v��s�����������������������:�������/
�s��s�A����~�T��z�}xp�M������������X��������l������������L��y{���q�������������-�g�������p������������Ln}������t�������"�V������O������w�( ����[�,���x���x���M����
��y�h�>�GC�TU{�x�%��%�����%��%���T��D即���#}�f���
������؋����›���%��%�����%x�%{�T��G�>�h������
��
˳�&�����~��������'+�����������'���}���������~������~�����������������}���}����������3���3	+�t�4��b��4�t�D�����8��0���9�m�i���%�i����f��������������+�q����U�����3���������@�������
��
��n�D�D�n�n�D�D�n�n�D�D�n�n�D�D�n��.�b�XXbbXX�b��������p����c��}�z�p�p�q�h�&��������c&}hzqppppqzh}c&���������&h�q�p�p�z�}�c��������������������������
�����o�1�1����!�"�!!"�!$���o1111o����!�"�!�!�"!%�����1�1�o������$��������������Z���<� �<��ps
�����7
���7
e
���&�]���&�8�t#�4��#�4-�_�G�_�G��� 
���C���3��u����X���r� ���9�*�Hb=g���h�`�̀�����,�����������ް��5-��"����MM/�8��(x�,��(�9�0�KDz�іɕ�O��T��Om̀ց�Q������\����Y�5����Yy��{�)�)�+�)�j�x�Yh�m��G���{����I�U����s�V�7�=��o�{��vu!� z'f@o&d1��c��a��a�P�E�b�4�"f�|�au�n��O鿦ɯ�˱�n��n��o��I����7�J�!�I������5����.�OB\W�Q���Ħ���dRۛ~��-aOpbK�I�2�C������@�l�U�[������s^�Y�oc�`̄ƃ�~����ƒΑ����~vD�,@a�D�1��"�@�3�b�yЀ�ѐ����l�"����k�"��rbs��Ir�3p�1o�1�]_qew�G�1��(�'�$�:�e�����r�)n�'y�*��ԧ��ӥؘؒ�6��;��2]�z�t�[�u�n�s��� ����P�D�cl|P~_���q��������<����������}�N�x��0�k�<���N�������������/
p�ti"d-����"�`�#�6��9�VѺ�D�����������M����V���"T�A�������K�$�� ��T��h��������~�t�T
� �t~������~�����������h
������������������h�������������������h
����������~������t� ��t���������{�tR� �t������~�������������������򕃘���������t�6
���������������~�����~�t� ?�t~����������������������
qq��P�V�]�]�t��סж�������i�h�h��MD�;ZQuItI[�nt]��F�EQ�Z�-[+@@*e��-�8��;�@�@��4��������������u�vǹ��������ߤ��������������p7ZYCYCq5�(����������������������� �v��
�>����>���>-r�>-��>�j7��)������1����
�;��a�u�a��b�t�a����vz��������yvvzyu�:uz��������yvvzyv���LR]]S�BR�]�ĸ���B�]�S��x�*�.N�Z����wR�]�Ĺ���w��wR�]�Ĺ���w�Ǽ���|���������������C��NG�CCG|pNC���������������!C,��3�1�3,�� ��q�|�]�RS]^R�BR�]�Ĺ�����_���w���η�����}�����|���w����$��䔻k���i��ᦿ���ů��I�7�����J��+��k��t���������}����n~����x����?�����z�}}���}�������������b����;u{�{~(0YP��
�K��S{T�Sm���������������������{qiTAsF�G�K�i���wz�������w0�o�_ew��k�j��	"�˒��l�s���h�z�t���u�|Ц������y(0u"�5��������@B���'��\��ϊ؊����s�q��ٱ������0@��.&7�e�}�|�_��g͗��������������������������|qD|u�n�l�a�K���]�~���������������������d� i��q�qq��u���zw��|�wʎ����ó����^�=~Ş�v�}M�,������7���Qu�p�z�������T�S��(�����p���zKY�N��G����J������ ��b/ѓ��������c�c�t�u���p�4�K�6�gp1���zy�������@���������������������y�r�7�Y�}�{�w�\�������w������x�F�i���������������������s��}��t���x��y������������������������������o�G���qt��
�s�p�^�)X)iz�=J<I�
����ԑ�yʂ����������X�j�eˈP𫐠���{�y�M�9<��I�b�q�u�ҏБ�Z�=�Z�>�F�df�|o�L{1�$�+���#~[G0`SQRn�e*wXjs�I�x�[��Ͽ���^��d�7�,vX�9�<�D�B�c�r�������������~�������������������������}�\{zeugwT�qtmq�F�X�ec_�d���d��y�q�]ʼn���������������m]�n�r╠�����Ĩ�@԰�=�������{������ ����j<5x0�3�%��������������������\�Q�M�������������G���#�K�.�<(�������؃���f�f�f �h�8����z��_��=�K��
�8��^�@��m�K#�2�'(��h�U5���h��KQ�����y�����������%��.�"��/��b��7�������$�:�,M%��s�y���s��vnX������}�|�|�����,����#��/�� 
K���=�{���@��������m�_�X-�P�u�P�ª�����.�M�IJ��T�2��&��&���<�_�]�A�Q�S@�QdXJ*���13SsVQ�~�y�s�"k�=O�B���m�m�Y����������XX��[�J:�3�3�:�J�[�XX���������Y��m���
��)�M���C���K��K�|��|��v�pus�r���dopdad�o��������mn��no�&�{{�xoj�p��h_�hm�nf����������������A�����rk��R���h�������g/Q��Q��I�s���������7�z����������6����ݺ�����Ͱ�H�f�H��́b������������48�T�T:
�t,��[�tR
���4�:
�t,�[�tR
��4������������t���������cM�A�AM[Pc����|�xxW
������w�������/�����g
�T��M�Y��4��
���T@��������/���w��p��{�M
�4��|
�������T�t�t�T�����
��
�4�
���$�D�d�d�D�$��
����|
e
���~��mp�k������`�Yy��u��������ݶ�S�Hk�pf�1H 
��������x�
����������������������������������������H���H��������������������������������-�H���o�{�H����遏�������������+�������������H���H����������������+�����������������H�������������H����-����������������p������m�t������}�%��I3�U�����[���R�����H!f��������������_�����x�x�o�r�iB?z<���������.�"����������t�o��2|���3�������C�������T˳��T-
��hn��4���
��Tg
��5
�T/t0
��g
��
P
i
 �v������@`��g
�t�����A�A�2��A�A���A�A���A�AI�'��t�
�t��2�F�^�wtp�c�s�����������K�c����I��
��>����Z�Y�
�2�d�e�Ҧ��t0
�t���E�
�E�E�#���)�v�����o��}���}�4����u�{���z��u\�
O#���nWv�Z�����h��,�l�t�:�$�4�Zsj{rg�������l��b�1���Xl�dvG�'�b�Q�^���{���y�q�����a|x��|{�j�j���������s�}�����������������.Ӣ�ѡ�?�I��Y–�����K����k�.�#�4�)�s�V���
�1��|��5���G�c�%�1��A���� �X��R�f�
����7��n]Mw]�^�}�����ǟ�x�w�Vo]�
�yt�y�y��������������w�y�B �A��'��!��3EM�M��!�#]��([�B����4��W�t�I��m�@��n���x�Wx�W�t�I�����������W�ȇ���$�r�z����ӎ�l�Q�3��J>�Rq�����_�(�%�v�v��=�=)�G�/����H��{����uA�R�6�=z@k�wl�k�k�w��������l�l�ae��l�j����������{�R��I�7�
��A��5i�f�sg�f�f�s�����h�.�/��g���g�e���������0l�F�
����
mi�E��#�=[�Z\�Z�#�=�E�O��i����������N�����Q�@������Q���������������y��Q��������@�Q�������p������z�E�������������&��}���9�ً���܉���{�H�[�1�����������N����[�G�C��J��ۋz"q*g2E��K�a�"�8�1�&����*����a�/��rwxrr�w�������T�(����v��]����������������*I��0���������������
��
��3����30�H��5
����7
��Tz�|��4#
�5
��
��T�|������������������6
�T��>
�4�#
����T3~~����T��z�wwv�x��T�������4���4O����e����9 �1
�����������d�p���S�F�4�7�z��w8�,�l�����������r�7����R��Z(�x�[��t�s�[{��+��;f�������C�3DK^Fx���u���k��r��l���qv��}�������������T����K�����?�(�&�P�X�+�)#JU�^m�m�m��jg�e�nyiYW�»������ë���P�����7�i���S����պ�ԤÎ�˒r�Spp�o��G��.����B��%���r ����u�`v���t�T�tp��
�TR�4%���Z�d��z�{�	
�	
�IS�4(
���
�k�.�
p�k����T�������t
�t
��
�tR���M���o
����
���6
��~���������*
��Q�)��ۛ��S�%������4��՘Ζ���T��˫�K�T�]�H�A����F-�"�K�
g_�y�z�}>�Q~{{�~؉؇}�zy_�g��K��飳���ܩ�n�_ZZp_bn:�������v�k����bA*t%n�d�ʋ��̫�����4�4���������m�����4��tb�����m�����+�+�4�4k��kL�J�J�l.�d ��
��|{��|�8S"��1�Þ����H�=|}��}�6TV�5�wS�L<JI<{�{�|��4��"U�4�wT�L;KI<{�{�|��3�1VPwcSM;�Nۛ�����0���0VPwcSM:�Oܜ�����-��7O��d����ٛ����T�8���9O��d����ڛ����S�;�@�Ǡ����L�9����"������t��������s
���V``V��V`���H�z�u�|�K�R�Kj��g���
�ů�������ɣ������YPOdq2P2R2QreL]]]L��e3�0�3�a�S�f��ó^U�����hv������n�2�o�����E��������`+s!���j�m�d�f������������J�\������e������܌���
����<������b�d�a��ʵ���֊��ی���
�������������!�z�2v�Ԁ�����������<���r�qo=w5d���:�y��.�����h�O��6���?���)�k��k�k��
�k�k���k�k���k�����������
�������ɲ�~�=�`�U�f�6����@�IV������������`b�����1�N� <��:�M��@�x�i�]�'8��������T���
��}
�T��
�T�mh�n��������������PelnhK���l�eP�����������������������;�T�
elnh����l�e��Z	�P��I�{{�{{{��{��Iy���!�����������
�������~�������������$���~��}}�����#M4m���	eupb[^�d�tQ�E������������T�����������Q�E������r�e�����ĸ� �b���������$�����������0�Y����	�`�	�_��_�	�����fd�egg��h����1���(���'���,��� ���ge�ffg��h�a��C��N��~�W�����������������������������H�y��n�����j�m�����j�m���)�KT��e�]���B�c�=���=�=���=�O����J������i�����!�G�)�e���G�l�G����}���ff>TT=��g��}������}��R����������������I�c�ZYccYZ�c�������c�YZccYZ�c��������\pcdw�y�wx�R�j�.�����j�.�R�����c�o����ͭ�}t���������������qZ�������bZZcbYZc���\�L���
��g�S������VI��m�
0�ܰ�
�.��G�.�����k�.�L�.�k���?�+�����llH�\\H��l����������Z�釧�鏼����������0��
����
�k�cthjz�{�{z�7�L��v�v�K��7�����i�s��ù�Ĩ�w�л�����������Qa�������haahhaai����?�U����l�[�����Ĺ]S��Z Z��+�)�*�*�����MO���v�rqvvq�� 25 �3�����
�+�q�v������������6!M���r�34��2���o��q�v�������*�
����� 
�).����`��`��`�������N�W���{�W�M�}�|�X�L�y�R]^SS]��������������T�T����V�Q�~��ù��ù]S������S]^SS]�����WQ������U�R�����T�T���������t���t���4�''��t�T�T�t����t�T�T�t�T ����7�8��8����a��`��a��a�`��a�^�������M���kl�`���
���8�a�M�a�k�aW�`�a��9�M��9��7���B�a����
���8�M��9��7���B�a����
������H����g��g�[�o�������\���@�\���C�G��%�:`d��h�b�gb�ۏ֯�Ȱ�����������:��%�G��?�G��%�;ad��h�b�gb��N������;��%�G���H ���v���/��}��������7����������
Q��Yr�3F���ZXa��X�x�wx_blk�x�����B�)� K��%Lo�3�B�����J�������w�u~�k�u��x�u�����*�k�?��O�z!x�yxv�z���A��������Y�����
�Ϲ�������[�D�j�m�hl|�{�{������̡���ԡԈ֊���j�8ч�������������5�T������&�9�E��
�Z�$�j����������b������������<���r��������(�B{]�<��6�T�Y�u���Z�|�i�JC^E,g_zsyub��Ֆ�Ӫ������u�^�q�-��1������ݛ���zJ�1jI�1jgT����iԻ���E�Y��}M�F{M��`���@��������]�����~tv��t�z����,�������������������������J�����~����Y�������=U/�0���A����������������q��t��ת��ԛ�����d��z��}��������PPxvtnos�������������������������~���}�m�z����Vz-cObPru[�N��
�S=��)�i�d�<&l��i�X�sŒՍ����0��Z���Z���6�:���3W��4�U��_U�2�6�6�W�B�N����	h[aj6GUv@cLj��^�H�I���,�+�����T��j���k�(�j���j��c�+�,�5�4�+�,mmZZ;�Z�Z��۽����+�,33m���0vH9*��/������o���⩩�+�,�4�4��>4�
��q�{7�$�//�)�9�wh�	���0�m��+�,�5�4�+�,�4�4�,�,n�Z��ܼ���ۋ�Z��,�,�����>�'���l�4�n��,�,�4�4�,�,�4�4�,�,�m�Z�;ZZZZ;�Z���+�,��/�o���-��D��������/�#5>'}���n00nm�,�,�5�4��,�,�4�4�,�,����ۋ�Z�Z�;ZZ�+�,����j���������+��
����J��Ѳ�"�^����������z�}�i�{��ѧ������錐��������z�s�s�^my�z�Svn�n�U{u�u�w���z������~����������������������˜����ڦ���L�vewe��:rnwt]R{���������ϝ��ȹ̯�����\�����j�����t���a�z�������m�|�}�l�~�~�n������h�~�u����������������������N�?�M�a�m�����J�}�����f��g�^�%��l���l�I�%��u��X������Blznxj|Z�6{�&���1�~\�����������N�UL���������ܿ�I��4�����'��6�������k����Z�6nNw���������������������������a���������������t�T�T�T�t��
��
���T��������]
��g�Z
��`�7�7�l�f��,�,�fA�V�4�
�g��K���W�?��t�qE���E���E������4��4�
��������
�
��
��@��
�5
��/�0
�x
���AA�K�
�TV
1�CK�
�TAK�
�TA_�K�
���y}}yKy}����������}y�T9
����;��9
>0����y}}yKy}����������}y�T9
���P��t�t��p����f�e�O�ef�x�x��x�xe�O�effe�O�e������D���D��������8|
 Z������ *�`�7�Q��� �`�6�����w�%�	�Y�4�W%*�%�	�X�4������������j��%����1�������������g�6�`� �Q���7*�`� ����D��4�	�Y�%*�&��4�	�X�%�W���
��T�����#���E�E�#�����\��[^��h��n��T�����^������\������z��.����}��T���N���N���N�����i�Y��T���}|�|||��}�T��Yyi[U��\�`�u�T������������T���������v����
��
�+�
�@��
������8���T�j�M�Q�M�Q�M�Q��W�m�[��F�N�$�l�\��T�T�{z�zzz��{�T�T\vl]X�$�F�N\vl]X�4[�^�v�T�t��
�������������T�t��
���������P�8�j�J�2��R��Q��k����V���o�����8��������>��A�
��,��������'>�&�&��������2�u�����Q�e�����G�W���n�!�e��q=s)b?�ɽV����W��X��/c���������@���o� E`(�������y�k����2@�	�/������@���O�l��m�C����L�����A������A���l�s
�����	e�1<fXEi�o�B(�4�G�#������ɷ���R�M�7�L�M���ģ��[�?�Q�m��k�ȥ����a3N���H��
�F�?���A�G�!�<������/0�U����@Y\@���քd�= @�6��>�������U�*���*j�*�.�N�������������������z����+8��a��{�z�{�a�����Y�%�#������������y�=���<�=���=�<���=�<���<�*����`�`�����`�^������+���LPzlX��1�A�z/�-����6�D�&��@��I�����`�_����4��|�����4���B������
 4���4!�����3�}|��~�j�k�/k;j:/d;�j�k�j�L��`�������*
�`�h��������������u���Y��5�4�Y�\�5�5�\�Z�5�6�\���~� � ���
q�@��-�3���3�T&���k������������������v�vXw��p���D�>��m2W��.�_�Z���8n��������E�� 5<�hL��hL�Q�R�����S�u���'/�����>0����A�g���z���8�(�Ғ��ӑ���P�����0K�C�'�Z�L{o_�u�����O�n�	�ɋ�#��x���W�{��D����ߥ���p������B�dȋ�e�E��)�p��3�����+5�7w�p�	����n�t�T�y
���@
����y
�4��'���
���
��
��
�
��u
����n ���
��t'
�T��
��
K�
��K�
�V
��'�� �t��X�t�@
�X�t��v������&�'�y���&�'�Y����
�
���
�Y�&�'�
�y�&�'�
�b�K�HJj�p�������̃Έ��bi
����������a����ouwr~�������'89�{=�{��mx������������<�*e>����o�kjqpi{������A��R*7}xE�|��}jp�����������]�VY0�-�|�xp���aime{���}��l��d""�p*��}�|bl�������������v��\&�A�}�xf�a�) 
����W������po��"��_m���3���m������������"�������3��s������ٝϞ���¿���������8~���~����}������������~�������h�s�������������������������������׌���������������$���������������������z����������������c������������t�c��^�����������_�������P����������v����������������������������v������������������~���������w�~������������������������������������y������������������f������������{�h�������������������������{�������������������
�����
��Z�~���}}��}}�����}�����������������||{������|������������Z}���������������������������	��z��}���������{���1���0df�}i��t�j�\��KMuTu���z�y�~��������0���0�����&
����
���
��
�
�<���!��!����
�
��!���<�
��jv�����t�
��Ǒ�m����l�����!��4���CP�W�h�Ќnj��������������������������|�vw||r�yI����s7h3^1c:gJlX������������JU>�]�w�������������������D����&���_��n�����������������������r6�Hgd��al�o�r�@���/������K&``m}�"�,���� �����y������������@��}�z�~�|�{@��Ë�����)�������ҧ̞ȭB�O�`������)y)o3h������������m^��Z��x���
���
�:���w
!�4�i��� 1�J�{�z�~�v����������$����$���{�z�~���������������J1��� E�8�)�3��y���������������{�|�|��y�3�8�)E�
���
���1��V�!�4�g����V���Q��G��� ?��3�������������������3A��� H�W���T���!����� �5���������������|x$�5�!���
�~�;������
����~�V��!�4�t���/�����|��h�7��S.1l~gd�`��;�!������������������w�g��vp�h����
�i
�?v��
�x
V�!�4�������m�T�T�T���������
�
���x
�������-
��V���P
����P
����P
�������P������fA�V��
��T���l�f��P��������������z�z�! ���
�P
�����4��4�����r�n<��B@(��vM��z�zy��:�(�(�������! �u�6��B@�!�eDR���Ĩ���nhhRnD�
�����
�x
K����!�4B���f�~����:�;�8��:�;�����
������������5�E}}��o������ۮ���h�J�t����������o�%����]�8%{~y�x�g�(|{��~r�����������x�j�r����������q�O�>99l>SO~~z�z�
���
�x
K����!�4����
�E�Q��y��
����������
����1���������
������������
�%v��
���w
!�4�4��v�����{���v���}�������������J���J������}�X�}�w��}�����v����w�}�Xe}��w�}�J���J���}�w���e�������v����������aʁ��������ӎ���y�L�z�z��y��ӈz�z���|�c���y���u���Y�aa�f�f�6�&������̶Q�HyA~`��D���ޟ������(�����#�P������g�Q+<�3%�!!!�S�|�B��D�����������M�h����ߺ����� ���ђ���O
�.�-�.�-�.p�l����H��s���-�����U���7����s���H�<����J���J���J�?����H��&������U�����r��s����&�l�~�v�����~|�|||��~���v}~rr��r�r�}�������������������������|�"�����������������d� �^)�[O�K�0���-n�p�q�
D:��)�r�J�?�t~���������r�I�F�o�9$�"�%�����9��/����i�ü��I�IR^rdcl�m�k���ԧ��2�*�:�8�)�0��\��pFN[BA�\�Ÿ����g�h�gGDDl)�3��=�
���
0�
���jR��V�V�VT�PQS�yV�V�V�����:��R�j�������V�VyV�TPQ�S�V�x�������V�Vy�Á��•���V�VR��j���h���h�
��@��x�m�����Ł�y��V�V�����j�R���t�t��t��t��F����4��x��P�p�����������������[��p������x�4M����F�q���q�q���q�Iw�w��v���|���yx���*��|��8�����������G�}�A�I��r��w��-�u�����\�?�	�5'���p�����x$�� PY8������4�I�5�K��� �G�3�#���T�1��!����I��%�>�H�G����U����������B�&�����������v\w�ͷ�����- �-������%b�b�d����&���-�JRp�r�v��Qi��u���,������t�~��՗Ӣ�9�������R�M�g������Ĭx�{�}�ާ�EvhrjplJ�- �?�&n	�5d�b�b�I������,��u�e��u�i�`��M�6�f�X�P�����lj�iij��l���PXlf`�M�6`ZiRuL�};�p�omm�o�p�|;�L�R�Z�M�6�`�m�[�������
���[��Ɨ�����M�6���Ġ��|������������}�����������+��v�j�������S��&�z���������z�g�M�Rj�h�e�d9o�I�CAA~CtI�o}d{fxg�j������;��v���+���I������z5�&o�?� ���m�j�hĬ�7�;�j���j�j���j�j���j��j���j��
�0��K����B��H���
��\�O�+�:�������x�O�a_U�TS˄�B����g�f�t�XRweWW�k�!�����:�{�z�{��z�zy"J<%wl�y}jh�w���|�m'�!+\�!�
��ո�ϡ�n���������M�b��������x��������7�������������t�tt�p�o�p��yje�f�{��m������~���	Ǻ������ �i�ii�	yz�yW�uf�^�������
���V]g`[[f��������_\��� ����A���^���N�?�I�`�U�j��f�#�b�'�^��j�T�m���4=yBF$�������3P��:kS43g��߫��ޯG@����pFAw@�UM�M�M�%��O&��i�Wt�LXU�_�o��gBF��b�WR�?�d�/�y����(#�-������:���=�������������;�������������r�a�``��^�_�^�r��ruke�dA~����������R�?��‰“��w�n�mm"�?+��R���������������U`�B��=�j�ȕ����w�S�<;QE>?�F�` �����
� ���R���X�����X�4�! 55 p�q�sa_^U^H��K��ʲ�Jp��w�����������m�����7���ų���u��~�������������������/�/�:�q��������~�i�y�����k�k�����k�k�����k�k��gf��ho�py�p�o�o���������������
�����n�0�
+�(�\f�m�j������ő�¡���������C�B�{������������g�tzl�dg{S������)���������i��k��-���������z�/�R��ɮ٫ސ������q��,�Þ���2=�5�����������q�n���Y�V�L���9+�3��zZ$�;;�#�}�Mwz�V�qzvy^oy�z�z���v�!������UggTUT���¯�¯gT�{��fggTgg������¯gg����UggUTU������gT���ffgUgg��������gg���!��M��m���#�����[��8�I�C�n���y��y������|����������죢����������������������������Ԟ���[�T�I�&���%�7�O
�����~�~��������Tvt�s�r�v����6���1����p�s�����������������Y�M�	�O
���w�p�v~���Tv~t�s�r�v���l�U�Xq�s������������������k�	���%���]�r���������������Kw�x
���ܿ����
���D�&�l&�y�P�����
����>�T
�/
��������Ua
�������
�
���������3�����������^�������bX�k���>��C������_��}�g55�533�3g}cm6ﳽm�v�%f���������~~��O�~~��~�����^���������a��}�g76�7/.�/h~bn1���l�p��.[���Rh�5kuZi/�4o�e������������
^W�f����������������7������������h�7jvWi'�2n�f�������������z�#�z�C�p�i�s�L�2r@;pEVP<Q<m+�,�4�>�;�O�d�l�w�����
�#�>��
��������������������ƭ��
��t��t���������4��������t��t ��t��t�T��������t��t�����e
���7>jVR���H�����������%���HV��j��E�#�#�E�E�
�E�E�#��������H�R>�7�E�#��E�#�#�E�ج�����H�����E�#�#�E�E�#�#�E�E�
�E��?�>�?�
��������	++�	�
+�	��������heXuS�	+�
�
��	þuh����������	��
�	�+�	�
++�	SX��e��������������%���������	�+�
���� ��o�9�˫�4��9��/�ː�/��4��G�j{fj}�^11^�r�t|q�����j�|����$���$�J���|�j�B������G�r�b�rrKK�&�	���������������j�	S��ˤ���r�eG����e�����~�1�~�w�~~�w�~�1��������G
�z�z�����0��v�~���0B��������KR+%+
�~
�T��+u�+������~�w�~10����������G
���4
�v���2
���d���������d��0�
����m���c����Fr@:}77:��@�����ڳm�-�T�0�>�����2���tM�����2�V����3���3V��2Y�&���L����t�������>T�0-����������V�-���
K��K��K��K��K��K��K��K�����T�tY
�T��Y
��TY
�"�6
������������g�n�~��Y
��T��Y
��TY
�"�@6
����
��������H~���������Hf����T
�T��������g�n��p(���������������p�T��<}~�}��������<���4������T�����T������~�}�<��2
���<����p�4�t�p�
��Y�:�YY�%�$�~�~�$�%����Y�Y�:�YZ�$�%�*�*�4�4�o�ol��8�������I�I�������8��o�o�4�4�*�*�%�$����Z������u������*���
������+���
����u�H����d���8�lh�Tw�w�v�������y�m�\����_u����5��������^��/�7���h�Vf�������J�C�2�2C=+�J������V�hX�[�<�*�N?�Y�3�: ������]�#�������"��S����:��Y�3�N���������%��%�I�%���%���%����%�F�%�"�F�%�F�%���"�m�m�m�������%�@�5����z�"�m�m�m�m���F�F�
�V���m��y�j�j�g�wrPE����]�����}��������~���S�u8ӗ������������������)����x�m�6�����
���|u�w�}un]~�'�)�k�p�{�u�~������������������������y���������
����n�k�upto�g�o�>�4���y���}����Ϧ�)�Q���4���
g������y�r�=���7TRyy�t�v��z����3�����������*��������WJ�t�t�x~����8�tA&���ys�j�m�m�}���������������՗����������������
��:
V�x
�������
����������������������������������������d�T���T�-
�5�������P
����������x`�������
����������� � ����ee�pZp� � �������%�$����
� �B�(�(�BP! ������(�'�'�������$�$����
�G�G�������(�G�G�����s�$�$���z�h���l�?��9�����������%�$����
�������������������������_�{����������_�{�������
V��|
��m
%
�G���G�G�G���G�G����EQQE�EQ��������QE����G���-
��
����
��
����%
������
�E�Q�t������
�
���l�T�������^_|_j-Z7BG:?)_�s:y8�C��Xc�cs{~s�y�y�y�y�z�y�o��t��������������������o�����֎�~���@���,=��"��H(�`��dine��|�An��q��������������˗����NJ����ܨ�,����+P�מ���
���M���	q{mv��=�m�
�����RJ������C���w�w���7�c��l�!�w��/|�)q�%�
�Q�X��e�������Y�G���D��������W[���r�����0�I����d��?����q�o��v|wv���N��X��^�U��������������Z���������l�-ƒs|e��W�"}f��ڋ��\�G�Q�+�L�������~b����G���D����C����d�5�.�2�6�J����:#��:���t�|�m�c�U�Jmopm�v�n�]�TB���4�B�@D��d��$��r���������v�J�L�8�������8˿}~��=����.|Ն��s�=�x��zo<�B��������������d
��������l�8�l���	�\�������ʨʩ��ܧ��x�x��Ӫѩ��̉�Ш�ܧ��̩ۨ�~��������+U������n��/���nT8)m'����x�x�����x�x����+U��mT��s���_�����^���^�����_���������x�x������x�x��((��8���m��0���n�y�fz�������z��~���|����~���w�L����������������������������@���������������%������"���s�x�@�����{�s�@q|xs@�m��w~x� ���~�x ��_s�x������{�rr|xs@��s�x��@�����z�s (r{xs �2C���������������������������%���������������������$����������������������%����������������������w� x}s@n����ww~s@m� (�{��������|���������vk�6��~�}�xen�������������H�G�)�qtyduw��{���������������z�~�l�{������������s��{�y{��������������s�i�����|�h���o����b�p[N�@~���� ������r�@���na����&s���� ������u}{x�w� cn�������3�������o������w�~u?m���{�������D����@�����}s����~�szzqq�z��������s�}}�w��_o����G��~�}�xem��������������HG����������o�����x�~u?n��{������� ��~�}�wfm��������������G�������������(�����������������%���������������������$����������������������%������������������d
�����;�z�u�1�t&�A����"Ω̵�i�����&��L�̔��+��@�����~�t��vq�az�p�������@��������u�bw&�����8@�SJZu\ek pkf�Y8@,�����F)��:�������J\^GZg��m��n��|���������~���~�r�N�v�����Ư�r�i_��z{�wow{vy���}�p�sV��1}ns�o(>�������}�>�pt�lN[XKH�[ͨ����>��-
���"�?���4�����'::'�':��������:'�,�Ah�"����t�t������LR�A�S�1�S�c1���J����ֶgLXpjZ�@� ��=�P�B�BPOA�A�O�����������gŬ�\�]�W»�[�Z��3�)��S�����f�f�@�_±�R���D�=��̹���|��ͻ�M�V˹�$���Q�G̟�^ͫ�w�_�B��G�.����O�`�I�Τwϓ�RϺ�T�EDjX������������3��"����"��7�<�"�ߊ��m�Q�1@@ry�t��8�����s���pv�u:@�����r���fqv�u:���d@���r�_F�������/D@�>�L6�L!�� @���+���������O��h�h��h�h������[�N@�c@92;�����@�����1 ���y������,����(�(��,�m���m<��}ni�k�<�ytg�n��������(�B�nl�mva2�gW�TP �����Q���~a���w���e���z�����!uP�������!�Eu�������:�P�B�BPNB��G�=�_!!@1�@��Z�*������y����@u@��������_@��M��_��H�EQ�Ji�Q�wr�SrNG2��Jt��A��������(���@w\�EQx�]�nr�TrN��:B�N���������c�T�X�.���E��!���]^����g���������g�T�W�-�������|cQ�� ����f�
P����������+���(�(��+�l���l�>�vI����I���<5�������YaqT��;�Qvy�{�Q�ŷ�����`b��Z������
�Y`qT��;�Rwz�{�Q�������9�RI�P��P(�����*/�inW�����|ϊ�L/b\04�]������O��_��_@�P������(��	���e�,�l�,���|�}�
��v��������)��e�iy�����z ��������)��v��������?��������?����4��
F���������or^{g=Z�������i���
�*��������������>������薚��=�v�������������*��0��������������������9H����3��
�F���������os^{f=Z��P�����i���
�E�(J�-�����I�������4��������������i�^x�����z �������x��d
����6��2��3�������~�����*�*��)��(��!���=�
�x�e�t�pqR�t����������������J�͉y�iiylH����Xzdipsl_~UGJ��h��s��x������y�W�9�Y������������ӿw�y��k]�]s}�zw�~�{��m�h7���k>�Yi�{�������
�zt�dYg��rn�|���oM�򹓝�������������gp�tx��*�k��S���������������k�*�k�l��1wGb_]aT�fvs��t�+�*r����\�������zh��e�N;�h��_hg_@_h��������h_�����i�����l�u�~��~����������$rfP|KEU��f�a�v���,��ɼua��a�P@��d
�����Xv�v����T��@���A�!����!�K�Ty�	�����
��~@7뀙v�~��6����
������������D����
����
���T���4�[
*<�씒�������<�Jڔ������o�C��j�����S���R�'"��p�G�	�*��J�,�����)��!����!K�Ty�p��v�~��6���
����������������9������4:�T[��R
�T��:��T?
�T��:�T?
�T���t�
߼wO�V��VOcZwE�;��(
�K�&
�L��1��������H�u
m�4�"�9�!�4� �D�7���*��*�����~�b���������EL�pC�Q��'�]�V���O�
nLE�������
�
��3���(���`�`�����b�e���!�u��!��3�U��a
�������
���
m�O����%��*� �&�-�~�&��ހ���`���b� �z�]�A�)߀���F�9�:��5�$����
�_���_��
�E�A��������������b���w�}.��$X�'�����[�����[ހ���������poG�b{����������������������
������S�x�Y-��	���q����|���k������j�o�uh��yə����R��r�	�����T�i
�����_����s�u#�
�f�f��"���ss~ki�_����K����_���������"��f�f�#�u�s����_���^���T�T���T�T�O
�O��
Z]ukh���PUj=;�<��$�=�ӭ�������}�(������7�0�!���u��c6�rt�v}ra��f��'�����Z�X������,�W������a
p{��Y��
�XXuxmihaX_)(X��b�hu�X��
�{�T�K�T���T���T���T���T���TK�
�T���������������������������_h�m��x������������
��������T���Գ���
��������
�i�V�!����������!��V�iK�������
�`R�Go|iv��
�
�d�d�}�}�
���T�T�4�4�}�}��
�
�
�
�v������8���7��8�W�9��7����̩��u���x�t�o��v�w�p��E�V�3��'����(�������I�6���/H#�@��_��6s�2�r�����������v����)���	���������7�,u`melh�@K(w,�k�/�T�c�W�B�R�Z�s��Z��������V�:� �[�X�2�;�@�L�p������Z�"
���x�#�&��|C���@H�#SQ�4� ����+�� �2�й����y�z{�6C'r �v�'�Q�j���a��N�S�c������I��=��λۊ���6�O���F�u����������ɷ�a���y�r�v.D����x���yl�u\eh[��x���O�~�|�i�K�!� ���u���F�
���$
���z�z�������0�	�N�e�e%�N�0�	����z�z�������������������������������
��������������������
������������������t���$
���z�z����
�������-
����F׀����
�D��
�D�����w��P��ak�O����N���(瀰b�X�S���9}�^�H���t��T�U
�D��
�D׀�������7׀����]�]��FJ{oQ���$�w�v���
�r��G���
�t��K�KB�=׀[
��v�N�;�m��Y��������i�)09Q��瀷���]��
��T���
�4���������������G��%
]� c�mgc���cm����������*��um���v��pvvp��qu���������vp�$�i݆�y�"�Z�4x������+�4x$�Zy;�N9�������������@��?�@�?��@�]�?�?��T�e�[�R[ed\\�d��R�����j����������b��O�� �����e�[�j|ƒ�����������~�b��O�� [ee[\�e��j�T�SP����e�[�P������Z���[���ZQ�R�T�[ee\[�e��Q������Z���Z���ZŅĀ���������������4�
P����:�����
l�����9�4��t�M����J���lrH��m9�	��M��������qxttur��������������Je��
���sp�szy��}e�
���<��������cH��u�Rtyzuw@B�X�����2�����ʳ�8�g^zp}UY̲nx�v�w�ww~zm��#����Ԓ����������,���������f�����������������������~��t���x*��}�-�������������oA��c�2S�3_�(���%�Q�,�d�F��W<~����4���g�E�W�RC�tp��|��1����$�+s��<����
��
@�T�)�0��a�_�i�3��� 4��X;&��
���us�s9&%9l�_�n�hY5�����]��\�a�\�<�R��V��k���_�k���`�1�T����<�kOF�w���2���ϵZ6��_�"
�
��g���<�jOF�x���2���ζZ6��`�"
���g��-���~�	L9wu�z~\L��y����Ǟ�My�v�}�N�}�������	����������ǜ����z]�����z�7�����T������t�T�t��t�4�t�4�t�4�t�t�$���r�r���d(
����
���*���*�����TR�4(
��*���*����'
�4(
�T$�d���r�r�����n���Z�\������J�x�k�^kwwk�k�w��^�����~�|��}T|����z�x�k*kw��U|����z�w�k-jx��T}�����һ�����xj�������Һ\D�����E[[D�S^m��x�H|��|T}����.һ����һ\D�.����#����##�����#���������
�'�V�'���'�����8�����������L����t�t�2���2�T�2���2�T�2���2�T�2���2�����������������O���
)�$������x�r��O��������r�m��c��������q�ly|�~��"��|�yy|�~��@� ��|�ylqrk������e��w�}xt�����[��p�wtop�t���b�������p�t���U�������k�r�������#�����
����$�����������������U�������������a��ᰥ�����m����}�||}���€�����#������V�䕌�����O�V���@�P�[�������d�������������������������������\�R�\���D?���G������!�cL���������m����������?J���9_����������	��l��q�1�:���KI���������<�E�Q�8���8����?�E���������d�V��w�s������-�1���a��������S�]�aA�����<�U�i�u��t�,����������e���#���z���_6�������������������I�c�������l�����������T��7P�7���o���7������w�>��������>�����?�������������
�D�����B��(�D���D��(�B����z�D��)�A����NZ����ȼ���xȼXN�=�v�
�:j�TR�R�;���;P�P�Q�2�<���;�5������,�$�(�)���M�U�]�(���)�+���+\�T�M��q���q�z΂�3�����4��y�p�m�1��
�.�o��Qk�e�^�
�����'�u�v�&������^�e�k����7|��e��pex�#�B��9��o=������9�B]:�#��/���ݠ��p�����"�\&�����"��iR��e��x�p�����
hB���
���R�XD�@���������� �_*����� ��pX�����@���Rp��c����h�E�����:�dM�+��A�����*�[ �����$���0�b�w�q�f�]�]�]�U���9pttp.pt���q�������to���q�J���N
�����J�A�N
���A�J���N
��l�L��6�H���������������p�A��O�YK�I�+���+s�r�s� I0�"�/�r�I�H�q��q�I�H�r�v���;�(h�q�j�u�q�i�F�����
����ﷰg�����(����7�]F���$������g�����)XP
��������p'���7���)���28���]8�����j*�%��j��j��j���A�o�]��"��
-�]��"��-�]��"��
.�\��#��<]�i�|����i�|����i�|����j�|�������6���6����6���F��ٯ��������6��UaZ�g����<��xg��w��������������������;�A� � �A�@� �!�A�@�!�!�@�A�!� �@�9����ŵwv�mQ��uL�flD�^A����94�wHMZ��X���a�ǂ��ݏ����,���!���|�����)�
�
�*�)�
�
�)�*�
�
�)�*�
�
�*���*�
�
�)�*�
�
�*�)�
�
�*�)�
�
�)����[�O�CPZ[P�5���5�Z�P�CO[[P��P�[�(ǻ��������.�S��"�0���@��:��M���������`ed��e��������S�O����[/:~~|yw�{���
�>�g�7�.�iczdfp�t���+��&4��R���������l�^�����v�Q���B�R��������{�xxgd~y<��/R��c�4��j�c�'��^������d�<�/�g�Z�8�%�V�������d�
�
X������'nh��`����z�{����{�������@����X�'�&������'�&����H�`�������h�������-�Q ���N����������k�g���-�����`����`��%�`�������a�z�x�w��wx�z���xs�h�t�T��~����������T������x��������'e�'������'����
����
���������x"�888ށ888ށ888ށ888ށ888ށ888ށ��888�11�
�r�����J��8�
�����8��m��D�ڱ��8�
���8��m�898݁xy���f�΢�{�c��E����H�����
������$��D����EQc}{[�h�f����KK8݁��898�11�
�D�r�����'m�$�������H��D�
����m���������>
K��4�T+�T����������������DqT1���aa���1��q��������������������ӌ��������������$�����ӊ���������4��Fl���G��u�j���������/���>�c�v�Y�X��wr�lO[MOO[�Olr}twXPY�v@c��>kPS�/k�������_�`�b�j�p�N1k���I�|�������
��� ��F��k����u�U�)�4�S�'�-{:d��@�G��
&zz�����E��w�v��lmul�c��h��r�������]��t��
���bF�s^�[X�V[
��v�N�;�m�Ћ�������D�1��� g�%/O���,k���j�F�?�j}����y�y��k�����D��
�D��������'���w�s�xx������
t�D��
�D�������7�U
�1
��t��_�>�h�jt�h�h�j���bg�S��g��T.�
�
�T譁����b���������j�h��>n�_K��D�;����D����
�h�/�����4+��|
�Z���su���S��&�yp�rxo�h
nr����R�/E��o�qwn��������������������썍�����c�@�
��"�;�;��d�������xp��X�B��B���������}�t��q��۽���������w
�
�T������d��m�l�su��r��|����j���to
�t�t�
�t�tD�t�����E
[
�S����)�����\�<�����D
�4x
���/
�m�
���
8���������{�uNv����Q�*�3�3��Q����~Fu{uv����+�N�R-��X�v�D
^
���v��X�R����X/
m�
��
����
������*��6x��l�l�sv��r��}����jX�m�
�9
��������)�����[=)R����~�[�~�w�~5-!��i��5
��D
���"�~�v���_��������V=)[���D
X����w����a����u���q�u���� ��f!D!��� }��q�q�uu��r��|����j���to
�t�t�
�t���tD
�t�tD�t���ì�|��r������6�Z�<:���S�
�vg����$gJAv<��������ֽ�Y�i��<A��J�������Z�)����
����������
�����P
���0����u�l�c������
�
����*��5x��l�m�xy��v�������{����?�������Z�S����!��
���4���t�9�M�kj������t�9�M�k��x�xw�����
�J�1��1���Z�`���w�w�x�n��=�O�v�T���J�1��1E����`���������nm�=�O�v[
��m�������� V������
�������)����
�gN/��#��-t��e�Z�\i��\�������h^
����ֽ��?�#f�,�����W�S�����CZ�7)������
����6�Z�<:������
�vg����$gK@v<�S���T<@��K������Z��i�i���#
�@�@==�)�����\�<��� �!�������� � �i�j��D
�4x
���/
��
�
����w
����4D�4�9�/��������^�]��^�]�����9�4o
�4���j�|����ѡ���l�s��m��d���������t�����K��/
�������
m������v�~^^���M�M���t�M�t�j����|��r��u�s�lm����d�����������t�����t�
�t���M�M���^�~���������2���/
�����
p�
�T��
�D
��D
�����T/
��������[
���]�]��E
������������O���m�|����*
��\ee\��\�e��s�
�����V�e�\���9���7��M��|�?���S�#`���������<����`�R���w�<����ED��z8D������^�7�E�&S�M�X]�Z-���`L�M�L�����<�z����=��a����3������l����x�-��v����x�m��qY*m�����S�Z�]�e�a�u�������ж��X�������p~�v{�}|[^s\�I��F�F�S���#Jw��a���â�������������7�z��_����
��%��>�}=�a������������������f�4���4����	��)x�5��M��k��4���4�4���4���+�����
 ������
������
���T�
��T��
���T�
���
������{���{���{��������t���T��
a�T���
�TF���7
����
�Tr
����J
��t�T���s�R@�6{���@),\��,��)�@�ə������EQ����Z��T��
a��������������������������������������������������������������������������������������������������������������������������I�Is�~��������xx�x{���?+)]��)��+�@�����8�s�~����������v���
����������T��@����P
��Tx
����{
��������T���
��T�i
�
P
��
������������T�T�T�T�����T�/��������/�T������T�T�������l�v��T��
��T�
�T�����!5���
��������
��s�^v���t��
��4�����~�������4���������������4���������
��������������}}�{ptr��m�g�}�e�}������������������������M�p�������������������������vw�y����������ۏ�
�
��P
�������X�t�j\���b��'�d�j�����гg�[���L����״�(�
����¯����#��w��m��ݿ��������b���t��G�(�r���|�k�j�>S�l�s�t�������� =���������S�l�s_ti�q�n�����v���„Ņ�3I`QnN�^�D�y��a��g�T�Q��3I`�nȜ������n����;((5;!!6����r��y��������q�h��������n}�����.�d�9�=k��%���)���}���|�|���������|�{�z�v�v��������u�yyv�v�x�}�������������̖ҹ�֐�������a�c���r�p�p�xs�w����z�n�}{������w�v�v�����������������Ӎ⟳�����͂�p�T�l�Zx�e�y�R{��0o|W�b�e�V�H���q��u��O� �z�|�n*�)j4_SnNe]_\]“��†gwkrmn�n�n�y�{��ʼn���Z�lvTdp@�J�I�4�X�^�xԉ�@����������j������w�v�w�������@~�n�y� ������y�o�r�pm�ue{`nY��n�p�r�@�^������r�ss�~�~�x�v�v�y�v�����}y�@u�wzD8{�{������|�z|{}{x}�~������y�z�~�~�}��	�;���$ˉˬ��7y�8��8��S�iˎ���;���	D8������h���������L����p�`� �d|�j�K������='��������t�<�<������vug|c��`��|�[���hf�@�_�&u1�||�~��y�o��������9����������ut�w��KrjR|Y�% �������ڬ�Ӣ�
2�H��������[Q|+�<c�g�v��EU||��zzЕ֦����������dBr;�9�Wd�������Ir�Pmu������͆�~������/���/�0���/�/���0�/���/�x��y��w�`~"�b�|������ьҋъ���[[~!�[�s���'��ҍҋӌ��l��3z���Q��������R�#�k�r�w�:�v�����������������t�v�v ��L�F���T����Ő�����{ό���������x�s�x�<�ծ���������������������
�|����D�B�F�+��D�~�I�#�6�B������7�}IH_I�D�&�\Ӂ��@��r�{�)�5��
�������?���}�����������������������z���������
������ T����&�#?�a�O�C�����:������������)��x�{�}�������������.`�A�<�~���������$��!��	������������z�~�|�}�}��������X�X�X��}s�r�uj~^�a�t\C&OD�I�H�}���������ߤ�@������J�6�	�r�B�00AA00�B��������A�00BA00�B����������N������p��i���4�r��������������������t�����������T�������_�	�	�_�_�	�	�_�_�	�	�_�_�	�	�_�0�
�$��k��t������
�t�
�$Kh\�b�u�D
��������
���<���<�<���
��<+��t��+�
��'��''�+�
��-
��
����
��
�����i
��T�� ���������������i
�R
��,��T[@R
���������
�4���]
�T�3�C�@Z
�4�
�����������K*�����������K*�������������K*����T*��
��
m�������{�z�����s�{tq� �p
���S�X�k�{���E֫���}��]�p����
���FV��*
�K�H�W-C�C���HK���h�@�)�4��
���)�@�hK���H����-�W�H�K�h��)����
�4�)��h���
�������������� ������������-
���@P�����@��h���!����(��@@���P���
! ���@@�� �!������@�@���! m�iP�t��
�����m������P
�����������������������������
�����
�����m��a������� ����������������a����R@	�������@�P(���" ��Z���D��

��$�����@��@D������
%����D�B���" �
@ �@��� �$"���� �@D�� @�$���

(���
��>
���jm������P
���P
�Z-m���m����
���
me
����f�4�4�����-�4����������L�L������m�������x���z�z���M�M��z�z��������V``V��������4�3
���-���ժ���L�L�������\�U�I� �����(�f�c���}����s�m�������-� �-����������y�i�s�n��������������������K�8�A*����,����g��t������x���^�L p&����{'��%�%���{��p�V�J�9��$�5E���E�$�ݑͥ��}��r��:CW*����[������_?P`X=��}��[A�����bo���/
���k�������k�������(��2�2����I�����2(��U�J�U��2�k����������������������������������������������������������d
�
�+��Ԁ
���
��G�����X
��]
��g��Z
��X
��]
��g�4��4�
���
��G�4����
�t����
�����������������T����T��T�����i��pE�77EV@p�1
��U�_�x����o
�H
6
�f
���������I{��
_gg_����n
���7���b��n
���7���b$
���Xr�zspp�s���^?�`�������`���^��
$
�_�`�b���������������Z���[��z�[;�Z����$
��&j�W���W�j��&�[�@�"�U�����z�U���U$
���Xr�zspp�s���k�G�+�P������
���T�v@�T�
�K�
����x���I�L��L����I��������I�L��L����Ix��^�
m����K�+��� �t�������t�����t�t���������΄�PH����t��
��������ZV����t��
˻WL��q�q�r��H�r�qqr-
�hn�����n����u�~���t��
�t˻WL�@�m�A��
˻WL.���t�
�JMs^\�t�lj�i�!)���������tI�K�^�����0���������t��H��������!��ww��x�t�^B�<``uf�t�`W�U�4
�x
��������t��t��t��t������*
ɽYM�$�����
ɽYM�������
ɽYM��w�w�x?�)^�cj]�Dce��s��
���ҳ�xk��.�a������
ɽYM����$��
�18X:b��}}�}��F�hX�a�"���!��
�D�����(�������� �	��������}}��}���b8�1�m��o�9�����t�������t�����������ʓ���������
�0�

�%����nl�lb
!�+�f�z���x�!�����p��|/�7�c�h�h�k+��^���[TH�P�}��.�}{�{MY�ɷ�����7��o��_qccy��4��{�H]���ȣǦ��������ɽYM�|����%npzdc�Z�}!��DR��߼�
�����\Z�j�����ћ�����|���0��!�����߼�X�E���������dk�dNYTMNX��������������
�0PcXR}��6~YV�W��������t���
���
��
�S�
kI�J�X���%��Ba��8�k�������#�E�����
���b�>�����[=�:����-
��
�Y�v�k���2��������
������O������T�����\0�OU�ƀ�������ԫ��afob~h������S��wk�����9�&&�����F�D�[� �����_���J�������ͽ���� ���"QQO;���������2���x)��+?�q$�@8���q+��*;�u�~-%�x�x�x��q�u�utg�f�h�%�'��E���̹VL������*����v�����˺VM������`�����w��z�������TE`ubiq���zup�p�J_e���'�%|ŕ�}���r�����ɾ�ɿ�dZ��,����������ɻ�˾�gY��%����8�>������4
�x
��[�;������k�t��t�T��t��T���l��*
��MC���
��MC1����
˻WLN͜�f´[V�mJ�J{K/�o�qwn�bce��s՜��
����ѵ�vj��+�^����
������d^�]� ��� ��
�b������l�Ք���m�)�xy��x�^H�Cii�}l�\N�J������p�"���#���k�����k՜��͜���k�眫�
������t�������t���:
���o�V�t�t�
���c7�/{{��{���b
�z��f+�!b
l�l�n����%�
�0�
������Ǔ���E�t�^�+��jf�f�l�l�ɽYM{�{�}�.���}P�HT�/�7������q�ͻ]H�{���4��cycq_MY�ɛ�������Ǧ����s�������jZ��\����
�
��!�}�Z��cdznp%������������� �0DR�������������ɹXNMTYN�dk��d�����E��X�ÿ����!��0W�V~Y6����R}XcP�^�v��H��Z��t�|�z��(
�	z]�����������������������}�z�!~�����q���{�y�z�������p������~�"{}~{�=�U�������������������P�?�����������Q�=���{��~�����G
����������4��I���H�t����Z���]��4����1YW3�6�������u�bQ�������������E����d]�"��(
�T$�7��/�V�������,������������'����t�
�0����4�����4����
�'�%�Y�T�8�l
�������9���|����2'�8�
�
�(�%�X�U�7�l
�������9���|����3'�9����40�
��k@���t�t++�����U�U�t�t�t�t�C��<�<�4�4�4�4��
�T�T��������U�U�t�t�t�tC�++�<�<�4�4�
�a�J�Z�Z�Z�Z��44c�����������T�S������������c��������++�T�S�33����������Z�Z����
0��g�Qv����O���y#������D��O��R����K��P��K�������a�XWaaXW�a��������a�WWabWW�a�������� 45! 5����4!�� 5���4!����-���.�.���-�.���.�.���.���.���.�-���.�.���-�.���.���X����c�c��@����c�c�����c�c�����c�c���0���ɂ���������ь�8�`��a�@�a�NdC�9�s�����b�c�����c�c����@���c�c�����b�c���������X�������9��X��E�-�JF,b���������H�5����@�Y�&�n��Ë��49�H�������b�F�8s��̷�������p�z�S�z�N�{�R�{<��	���`�_�����`�_�����`�_�����`�_���9��'��''��'�������pq�D�-A��&�a�a��-�D`qX_1�`�A�M�t�CC%&*)GGbb�I�c�~�c͋�������%�)�G�c͋��������c�����B������ս�_�m�����
�3�P�D�33DD33�D������j���Kgl:VF_-zM��W�S�R�n�\nn��nn\�n�Z�E�C�S�Snn\�n���n����������Ӿ�N�+�F�:�g��˝����V��C�&�&�Ӌ��l�gZ���G�%�%�G�G�%�%�G�G�%�%�G�G�%�%�G�P�8 X�P
�����������*
�6DD6���s���r�p���s���G�4�T��mm��v�)�t�~����̩�v������������VJk}ltu�(�vumm��4�[��	`��$�����O�?���$�d����`���`�z�w~���y�8�M��v��a�\t�i�N��߶܎�`�����4���s�~���nkA�[�"�gwdL�a�G�$l�Υэ����`v�~{ҊꅮK�-�5��%L�
�.��U <�B���B<�Gi�
�Џ����|�r�`��0�+�=� �E��=��������w����	�y���K����w��"w����o����I��l�khslji�s������Q�x�K�)]`������J�'�����������R~����������×b�B!�-�(��pW}��������������^^��_�I����������|�Dc�/ %�)���p}�����[���D�e��\�]�]Ϛ����������F|��E��/�+'���Ǚ�����eT��G��f������{������������H�B��-��*�\��������m��������N�����N�N�����N�N�����N�N�����N��
0�
���
������
�@�j���<�Z�\�
�f�zd?�*���1�"�0��-���)/�!U�=�I�T���AI�z�W�dd�]�,�O��+2�=��q��4��{��E�)��<��A��1���t�1�j�1�(��w�;���;�;���;�;���;�;���;������
�	��u��p�������R�@���@�g�����L�)�w�te�C�#��B��3�B3�C��V���j�>|���肙�����i�5�4�_:�v�x���H|�Q���̋����y�P���B����CĻ�*��O8Q�z� �}y����������2����!��v�����
�w�
���2�!�d�x��������%�%���u���ou������y�f�"�2E"�c��i�P��8�+�H�>��V������V�>��8��P��i��cE����0����}�D�8�F?�:/5mV?�_@�)������*���_AU��m��֡���F�8��~������4�p�w����:�{���h�I������K��6��AOR��||�|�����7���:�:�-�R�=�6�j��snVK�
{Qr2w..�4�$�<��1��U��n����k���;�H�K��T�C�$�[�����E�Eq;rI/�(���6�������F����+������G��-�7+`=(c2�F����]�U��=��P�O�>��U��l�������x
�x
{�����
�T����@�q��]
�Tg�t���1
��i���t�
�c�����*
KWWK��K�W����#�1b�nZ�yO��L���/���õ������B�+��
�h'X�=�-k7yS[rWmK|C����O�]�e�w�,������i����@�R���F˿���W�K����Jv�f��|��������)���}������xy�����k��~�������������JJ?X7gf3.x,+.��46�?�J�G�X�j�kځLJ��������v�l�~�d��o��J�L�N�*�4�A�@�P�ba�u�����������������l����~��x�y���JJJ���������ww�}���IIJ������������������������Ð��N������������~���L����kR�{�m�m�a�U�U�L�E��C>�<;;{mDRs*MSP��w���������m�s}wy�<u�|�������������ƌ���
����Y1��0����Y�
11��22�X�48��C�1£dz���ʧ���r]��^�NJ����qZ��o�e�~|Z����~�����W�4�3�X�V�3�2�X+1fIHJLh6�7�����:�g�f�s˂�u�n��c�o���r�~�E�M�U�U�a�ml��|��ؚ��ѩʵ�����ɩ��ӛ��l��G�@�/��' ��"�vg9���������~�{�~�i��������ye��n�a�M�����������x����x�����,���w����M��������������w��^�����Fy�l}�l�
����6�6���x����t�m|�c�w�&�L�L�+d�t������������j�iJ�4qq����ߠ�������˚�|���O���)�x���O�p�Y��p�Z�,���,��p��W��wT�,�J��y�I���������E�7�w�t����4v�Q�^����6���_�4
�T��T�4��
�������P
����q
��q
�bty��
����%�
��������%�
���
�@����t��T�t�L
�t�to
�t�t�
�t�tD�4
�T��T�
�
�4� 
���t#�4
���
��+������P�P�P�P�����]��w�~�P�P�P�P�#
�Q�P�Q�P���P�Q�P�Q���k��#�4
���
�������]��w�~�P�P�p�p�#
��������������i�P#�
�T��
��
��/�0
���
���
�x
�`���t�����T_`��b�#��#�b`�_���
���y�y���Q
��
�t�3���3��
�V�2�2�VL
'�
�������!�!�yr�r���1�1K��-
��/�H
������!�!��e�+�������T��T���T��rr�yy�!�!��!�!�V@�;���v�����������y�u�w���������{�{�{����s�{sq��v�w�������������������������������t���z������z�
��z�����m�
���m{�`���m����m�
����
�
��
��F���������������>
�����������������v���
���m
�m
�m
���%�������%�����W��B�S�	q�g@\LP���{��|�����������@��)���҅����%����������V�����`
���B�B�B�����
���%��������%�����
������������������������������������������������������������������@w�\�����h<��;��v��-�;�������ݯ].��Sg9G��FXVi_d�:f�t�l�\m�M>�U�:\!-<F<C;D�)�Ե���4�C���5��5��4�C��3��.�N�$���r�j����m��2��	�O�
���W�������q��q����q����t��*�Q���t������
��4�������������+��j@8ߪ�rr � Rr���@����L�iO;����{e��S�w�����)}5�T��Ԓ����������?����>��B�	�o�-�Bvˌ{�b������є���������~�8�������w��������0�R�8�#�0�F�2�SXteg��J�]��l��A9�H������H�8QXi[s��y�x�y����\��HN�-�fX�R�22�<�G�j�m�kk������K�L�����Ь����̬������[������H98HH89H������,,�K�UU�K��,|����������}N�v����������}�|�u||��a8H��������H98HH9��������v�[�����y�-�r���n�
��� �f�����������=�q�����F����)�����?��
��`�9{��d���P�3o�&?����(���$��������W�2����
����3�C��Z
���������������`���@]
�t	�t�����T������0�����!���,���J�����J�J�����J������v�'�k��$&�8�C�����������������P�B�4��n����!�4���8���V�����%�%�����%�%�����k��,�H�����T�����4�Tw���������/�+�,��{�{�a�{��������������L��{�{����������
���=��=������

�

k�
�����F
�o�~��������|��܏��f�
yh|lid�boo��p�������r�mmrrmv�w���~o�v�F
�����I
�����������v���	�o��T��~�������������ƣ�������@��V���5�!7EV@p �-F�1�M \Z�G#�n'���x�!������ϼ� ����1�-�+���T
��S��(
++EZ��[s�p�k�������������������T���������������~���O�@�������������G�A� � �B������H��E��B� � �B�c��
0���-���/���-��-�-�-�-m�J#66"���!���!�!���!��p[��m��������m�V�J�E��4�6��H���`�`��Z�[|]~c�`�}�����������������p�G;�-�7���-���m���������{�<��8�Yn�,�=�a�u�K�K�v���Q�.�-�Q���j�K�s�[�hshs�\�h�F�:87s;\Fsh�[�t�����������������3]�-3�s�\�hsht�[�h�"����e�E!sh�\�s��������������-�3����������~�+��**���*�����}���Mz�]�c�.���p�����%��$��f���M������5�5�2��7�7�<�������&�������U���A�+��+�K�������q�5�P�Pm�;XY����;����v����2�
��,�c�T��T��:
��,��[��R
���T:
��,��[��R
����� 
x�t������t��t�
��
e
���:
��,��[��R
���T�� 
��t��t��t�ԙ���t��~S��(
��$�t�����
��Fh�͉y�y�}~����������������������p�j���P���P���jprk�5����j�T�h������c���
���c�����t���������t��������
�R����*N��^����Ȗ��*��
�R�D�e������jo���k�4���������p�h��4�hplh��/�X
��4�X
��9j�oqj����h�p�����4���������l�h�\��ƙ����;2
���;ǾbP��0�&�M�	q$��;1��
�;�$9�	q&�M���t���������s���������T���������������
���
��|~�}�S�t�������������K����|�}�S�t�������=�������u���������=�������t���������������t�����������������������t�����*��w�����)�)�)�������(�(����������.��������������d�d����������Z���N�����N�Z�Z���N������N�Z��
�Q�+������A�@�A������A�@�!�����������[��������	���	�������[�������P
��������������P
��������B����
�����
����a�
��+��1�4wx�{���������~}�g
�4�������t������4��a�
��Mr�����&�Ȃo�l�y���
���������������_��l�Z����b�����������
������&���Z����_��l�Z���b��>�������T�t�4�t�9��lF9y4�d��;����1�?;�U��Ғ�/����t��t����<�%�����%��<����"SKj<5�e�Z�>���:�$�����������$��$=�:���Z�>�e�j�S����m��������$�������5���������������������������4��4��4��4��q�����(��������������f�?�f�?����������(����q�*�*���*�M�*�*��w�I�9�(9II9�(9�I����������*�'
�w�����d�A�4���6�7�M�������R����*�M8�=�I���F��[-��2�	�~�����������
�0����������X��P����d�ow�����4
�4�����b^��hvii�!r(u)����-���v�jzfj~�����qs�����o�q�z�az�qHoC�wq�s|q�����j�z����������)�(�!�i�v���������i�#�o������#���v�i��%G�������������������T���;���;�;���;�;���;�P����
�0���V�v���i�W�P�V��gu�m�l��w�a�|��������|�q�����{��c�Y�il���i`d�H�_�_·���I�5�)4�����y)Y>B����ݮ��U�1�1�V1h8SM������$�w�h��#�h�A�Q�WƇ�����¹�Ð�������v��Z�]�����;�();;)(�<���&�U�1�1�Uԡϱ���B.`������������	�����eSGtCm�$�t��]�$������t��t������R��4'�4����$�B�L��8��,�L�9�}�x���9�����������������������`Q^fxOoDk3d�G�������Դ��"��T�Ua
�������
�
���v����s�X����Q����������F�55EE65�E��������������������<����xi�UNg�s{�����f������<ϖ�Җ~�h�r�8��4�W��{��m�X�x�|������������c���������������q��J�_�s��'�*0����󍂎������i�ZӵԵY�n��5�U+������"�C��������������~��?��i�h����y�v����x�n��n���n�6������������������>��������#A0�W����9���
�|�x�����������uz�l������������Mx�|��l���������T�(����x||x���x�|�������T�*���0������(�=��`��h��Z�������6��,��
�L�8��6��-��
�I�8��6��,��
��������_
���-i1Yn��||�|jj��k�8�d�J�!E�+z�$�9�9��$�+�!��8��������������YisV�>�c�r�bxy~v�z\\�\}v��{~�^�ws8~644�6�8�w�^�~��������������y�b�r�c��>s�3�%�����������p�[��rr�c�r�r�kii~kssqr�b�r��I�I���������V�*����B�+$$c+CB�~�����I�I������%�%�U�a�a;�U�%�%����
�5�?�?H�5��
�~�����)���ԫ���
���
���
�T����t
������������t
���`�
�����5�!J�����
�J����n�����
�J�����
��������������w���N��k����+���m��T��T�T���11��������W���
�E
�
VNMDH>>3�5b
d�-
�E.�
���������:��������V�2�2�V�V�2�2�Vd�������'��c���U�/���o�c�uovo�c�v�?�%��	q��|����������~��f�F�F�
�0�.�*o�c�vnvo�c�v�&��0q��|��������������K�T�i
K�T��T��d����h�jw{i^u_oYln��u��s����
��o^��i�w����hY_��u{�j�h���������������w����u�ji�>�q��w�[��GA�?�ij��k����Œ��������[�V�(1g=V����������i�j�N�bi�6�%�Qt�b�(���e�nz�f�l�4��u��~������d������p��������������"������v�[��~�}�����d����t��V��l���������d���v��tş���W�4��t�t�����������}�}�}���������"��C�Vt[�R�t�����}~��[tvR�[���C������lj�h\^��a\�Qwt\s[�R�sj��z������\oUwQ�V�f[�VT[��g������d���k\c`^ebi�O�bt���������6��Q��b�(��T�e�����|�������T����T�&��&'������d�q���������:=2G<LCYR��hn��@K�5�������
�$������������c���{{�q�{�<�<�{����������{�q�z{�c�c00�E�3�'�ҥ��}�}����{���P��RH�L�������byz��{*Tb�#E�.ᕖ�������������������z�<����������_d�_:@sgD�������_�^�_�*d��J�A�	B�ɴ�׵�to��������'W4p�w�ο�š������������v���W���X�M��u�Y�������1�A�3�g,{ ����հ���������	y�L�� �����Z�=�x��s���a��v�^�������|�Z�Z�[k�.k�/k�.h�e�m�f�$��6�k�+������ː]V���$���Iq��o�~��QN�ڈ���7�.�;�������gh��h��V�N����D�<��������{B���3^w����/ۍ�ֵ��5�b�	L�Q*��G���J���W���}��ϗѝ�ڏ�����������y�������� k�T��U���nn~ryj_�M�l�N�y�|bm�����m��T������]bj[��X�]�~��-�u�����[_k[��T�Z����K�N�W]dW�T��]��T��kY�acYU�a�������ö������1����r��&�>k�f�b��r�(�yw�vE�^n�w����������������"�'h�R�cl`j�O�b�����������e���nf�Q����a�WT�`]�T��t�i\~{�&�X�U�3t�O�Zq]s~Q�[������8q�Q�]sZq{N�\���[����k�P�`m]l�M�_�����������|��r�(�n�h�d�&�>�l�e�c����������o��������v�D�d��$��H������6��}���z�~��������t�1��Y���b��������Su��������\�������������������q�����������P�����y��������������,�:|��`�B�/��O��������~���T��a��KJ�~L��y�����y1V�w����y�:�p�I>�/���2ndgaWr�s�w��	��	=������������!�Y�	2��R?�2�"��?��=�.� �O?��U�����<���<quuqqu���u�d��dV�Tqu���������"����w���+�������B�~�o�ftaz_��V�SR�t�9�K�x�x�:�K�t�p�;�V�w���x��������QM�M���t�����#���"��Y�(�)�������#�`�Q�x�g��i�hi��V�K�����������l��f��T����'F�b����(��-���]�������ݸ�u�W�h@JM;uT|NwbdghsK[b�e�i���(���{q�}P#�4%Sa��j�����_≖�����������`�/�7�b�b�/�6�a�a�.�;�c���}�}p�m�m�lj�i�0���+�.���1�0���.���{��������\�YY�F���C�?>�AD�$�(-�}}��}�[ׯ���M������g�Y�S��T�*�*���l�SmMrWJB`e��n�ū�)���c1&E,u|�����Ѱڡš�����X�MN��9*
�T�(�T�3���3�T&����V���
��]!zl�t��ahqr�p!s,��o�"pr�rg����l�!�������������������|���������������������N#��l�[he�e�e�����������zpK��^������7�L�w����}���� 
 c�b��*
�[��)F3�RtZ�>UK�L�L�����dl�lh]rd.�^�7|�}�}\".% _q�q�o�y��~yG�Ao��k�zAï��������w����P�W�����������~��|Ԫ����A�����y�o�q�q���0�[�������]y��Z�igmpg������ː�����t�@�6�)�H�����W�����������\!zk�t��aiqq�q s,��o�!qr�qh����k�!�������������������{�����������������
����N#��k�[ie�d�e�����������zpK��^������7�K�x����}���p ����
		��
#`� R�N�{��M�{ ��xi�wi9�#G�s���������E�����}T������������l�+������{��X�|���������V������}������2��h��8p�ihE[��&�Yr!h�g���R��o��q���������-ε�ߝ�A������ ���U���Ǿ�����Ծ�*��������}�t�~�x�q��i#�E�3l�g�c��2�F�j`�\�Y�=�u���r�r�qrq�s$���>�tY~\w`r�k�2�Fclgglb�E�3�j�r`w\~Y�u<����r�q�q�q�rr%����t<�Y�\�_�j�F�2�b�f�m�1�F$�k�q�w�~�v}�����������$}���x������$�k�1�F�������E�2�j$��������t��}���������������������������������%��%����%��%��%�L�X�0���X�/�X�/�������T���T����T���T ���������&�O�,�-�O���O�,�-�O��jj��k��1�����'��
�'�-���4�n����O���x���q�i�ggg�h~ie$DN�y�W��������v�w���#1���rH�e�%����:qzt{s����������[����s�,�w���������!���w����"��"��0������t�dcubhg�c������8��cliccm�������������id��@dmh�o
�id�0�B�cli�o
�id���Bdlhccl���������id����@��Y3�W�,��zh�ehjwmy�xj�hhj�
gk�
ditiy�7�4�k�g����
}R�QP��t�����d�,�c��*�p�q�q`NAp@�`��J�Q���zH~GF�+�/�2������������rY�N�'K_IFF_��ʷ��зIL�	���P�&0������h�Fyz��y�\\�[� V��������_�
�J�P����m�z�
B��pg�fsvy|s�#L���������c�|������������gV�XTVtbe�wv�v�N�A(�$�h^~mo_��~���|z}y~x�|n�f�{D��BY�L�\�'�
��>mZR{Qss��t�N�]�wig�g�X��n��Ϥ��O�Tͮ����m��w������m��w������m��w�ŷ������	��v�����|����iI�#&�bS�S�!�����������m����v�vu�� 
�
�D�4P
��3i-k�b�US�T34��5�II�I��yq��߬����
)�
�
))�
1�9�j���4��������:�P�*�������������C�3���������+�������K��}�������T���
��-�M��u����jmatvhj_|[�t>4a@�kk[|^4<��N�����hc�_���/���2�2��ģ��֖k��E�b=0���/���Y������� �-�"�$�3Q��t�l�Z�[�Y�f�b�e���7�]X�U�nPI"�R�g��ɰ��e��������;��o[��1�Hw���T��
�T��g
����<��R���;JLwgV�VL�J�	�B;����95
�4w�2
��������
�N:�9�����՛ͻ����ů��F��4�O
�cb�c{������"犖����M��88�']L�����"/������f�
��UA�������=�0���;�}��������������Q�<�0�^�'�����0����ř����}�W�}�w}�;O�<�0��4
����
�b���w�}�GU)@�'�eY(.E�������"E(�Y�"�+�G�}�v��|fW�}�x���?�r�?��Q��<����������ŕ��z�E�٘������+�0��@�
�4��|��c��������������"��-d��c��|��.�4��4�|�q��\�N���E���E*�#�������"#*;QE�"�	���9�a�Rqs|ig�4���v��������ߟ�	��ތ[��l�i����f�����k�����8I����`�����Z���\�����u���ρ�6�ٿ�������<�������0�J���A�e���c�i�>����z�8���qF�l�;�7��M�t��H����������$��v�"�?-�=���x�G��n��������S�-���������u�������������������b��������7È������
A���������
������w�c�������-������E��������f��7��-^���������D���Nf�������r������x����������������~�������5�8�������~�O�������	 �������K������������(JD;��;J��E��Y�Fk��T���«��F��Y�E�A���#�	��#�#�	��#�$�	��#�#�	��$���R+��7�TS+��V
�T�}�y����� �
���`
���������$�	��#�#�	��$�#�	��#�#�	��#[�pdIH[<<H��I��Nm�}�!7�5������'m�w�S�@���T�|�z��J
+���J
+��r
������@�
��
��G����������������
�x
����)4RMD��DR��/��@�2o��[��ͻ���2��@�/�1��$�%&��%������%��1��:
�ԩ
��R
K��w{{w��w{�����������{wS��::
��,�u
��R
K����X
�@l
���A+���?
+��c
����������V���w
���)�/e�@�2oZI[BBI��Z�2e�@�/4�M��������1���%��%%���&�����1�Q� 
���{�w��w{{wSw�{���������'
��1
���
�����M+���L
+���
��
��G�@��X
�@l
��
�4
�������Y�X��y������y��X���O�:�>�+�N� � �����>t�:��O���O
�����
���%�%�����%�&�����$�'�����b���
���%�%�����$�'�����#�(���
�����Gg4�(�K��
�K4�(�Gg.�S�1�>�P�;���;�>S�1.���
���F���
��
����ڨ�����z�z���'�.�<�!b�V��[�b�-�;�P���P�-�;�b�[�V��!��E�$��@��h���h�
�?����	+�����Y�Z�<�	[���	����Z���Y���+��	��
�d
��������0d�A�1]ZInBBI��Z�1d�A�05�K��������.���$��$%���&���������T�
`������X
��+����S
�@g�T�
�����T�����������
���B[PP�>P[����,�c��s��£�����,���P��
����t�
K���:
��y}���j
K�y}}y�Ty}����
K���
K�����[�R
+��X
�@l
��
����9������t��������k�,�ccTsNNT��c�k�,�B�P��>ƻ����Pn���4R�T1
�T7����}�y��1
�T
��8
K�
��'
�T1
�T��
����@�
��{����X
�@l
��
�����o�0�v��@��0��<��;u�^'\�	=*�S<�,cXP�*�������"����c`�[����h�3\�5��j�����j�5<��U�gF19P��R��E���i���j���+�#���h�d���$�є�������Z�ۯ��ӄ��h��w���*�K���	�(���Y&�Z�v�V�^�e�1�.j�4�E�9��"�"�о���������q�rQ)�`j�#�KE�[�|���z�0�Y�`�7�~����������?�g
��drlf.�������k���g�*��{W�r����r�Z^mwvl[�s� n���jb�gn�z��������h�y�l�qf�S���B�[�<�	��.S���������������h�t�v�i�����K���k��������Tp��x��vn�mn`�j������|��������k���f�Z_��Fn������������ʬ��Ҟ���gn�����|�rR�M��H�h,�Irqprg�^�s�A�M�/�)���8�[P�D��0nf�	�iv�q���Xѵ�+��D�D�
��y�Znb��t�9�#��t��x��
�3���u�s{����q�[���Ƣ��᳚�s~N�\���
0H���"
H���"
H���"
H���"
��1
��
��V��K�T����T�6�  64"�
��E�#��E�
�E����������P�/"�@���Z�<��[�@�E�
�E�E�#��[<:Z�������
���T���T��T��@�T��T�x �T�)�������
������9�
__��&��X�.��$��
����K��p_�A���;�__��9�~�������2��M���@�n�h�
���M*��
�TK�����MT��
���@�n�h�
���M(���@�n�h�
���M P��
��M@ ��
�@��
����i
����������@ ��T��T��&�D�Nu�y�e���  �}������������
���
�V�ҽ� �T��}��
�l�j�l�l���R� ��
��~u�fH�7�Nuu�������a���������������a�������uuT�A�Mr�\J�C���+1
�7����}�yy}}yy�}�����K��}�yy}}y���+
,
@�j�
����������v��������j�I�I�J�#� �%B��z��Ϝԝ����̒�����<�L����Ro�s���x�z��c������������������������������e�%�k�������������������$�l�d!�������|�{�{�t�u�v���������\�������|
��k�����~��}���l�r�����>�+�+������������������6�Y�����F�$�&�E��{��Y�I�v�['?E�������l�j�o�~�����
��(�9���
��������������������0�tX
�@]
�T��������������
��
�����
����������������+����������X
�T]
����S
�Tg�TZ
���c
��������k~~w�~��}�}�}�}~~w�~��&�&~������}�}�}�}~������&�&�����~�}�}�}�}�����~�&�&�~�w~~�}�}�}�}�~�w~~�k������������=��=�=�=�=��&�&�
�=�=�=�=�
�&�&��=�=�=�=��&�&��=�=�=�=��&�&�}������������
����"����"�4���
0����_�}�2�/���b�����w�������_�1*���S����@���H2sp�o��ȫg� �����������z������z���������9A����{�e�z�p�{{hh{z�q�z��@�e�z���������������@���z������z���������'���L�`�F�F�=1<1�#�W�X�
����]�vv����L;�3lK@+�@L�V���	+�<������q�U�]�%��F���������O�^��e�PV���n�`�r�'s���y�sfX\Rq8dsض��������������s�F�%����Kٮ������J�}�3����������х�b�s�lt�[�`T��������v�uai4�.�:�e��?�2��%��ٰۂ�~�%~��GbRSl��g}^�`�s�t�`�an좾]�4�jމ�Q@���.���&�%�����&�%�����&�%�����&�%�����	�Y��J�	������I�������8�/����������-�p����R��%�s�z�w�8�����&����%����Bpq2z�r%�����!�����!��2.�l�?A�����R������჋Ί�t�,�����ә��$j�"u/}s-����|�Z�H����8�����	��	��
�H�.�w���_�������������pu�j}���$�x�������������l��l����`��?^���� �l�2�B�A�A��q�3�l����۴����l���8��o�km��YQ�SBjt��v�m��l�	�.�����ڎ\K��H�qX
�@l
��
�)����u��A��p�6������w�Y������l4����~�y������U������������������ѯ������W�?Q���Y�m}�ptjh���������F��E������Px3|�����(���/�ŏ�4��5��&ϻ��ą���f�am����J�?�j�ԋ�<�#�>��n����,�����i�I�Ι������J�\�D��Hհ���4����.���4��g��"]vzuyia=sA|M5#M�o�`Ba,����l���#��:��P�hC�t���"���]у��������H���������������ą�����������3��B��̖ڒ���������/���q��u�=��hU��U�v��@i�����/��
:�:��hU��������yr�w�>�g���g��j�k>��p���D���L���U���x�z�����x�z�����x�z�����x�z��������[�a�����������7���������M��z���R��?�ݙo����b�����4�~�{z����+�4�+�4�+�4�+�4�+���
����T���@ �
� �
 �
( �
 �

 �
 �
��
`�
@��{���������3
���
�@<
��A
��������P�������
 ��������
��������
�P�������
��P���� �
�x
�7ޜr�8{��M���1���1��M�����ז��@�;��N�����y�y�d�my�N!�4���p<%�����0���d����*�TK���j��j��T�*6�L�d�������0%��p�b�;�4�N�m�d�ylym�c�z�N �;j|@�������������1���1���8�r��z�;j�N mz�c�m�m�����N�T�4o;�b�����0���d��SL�6�����j�c�j���K��S��d�������0�<��o�T�4�N!�y��������m��N��
��]��]���z������Ϟ�Ҟ������ԝ�������x��x����y����5��_��_��_�Y����t�	~�r�l�3�/����������������r5�l�3�/������� ��� ��H���r�����vZ�j�G�
��?��C������-��������T%����%��\:�R�R:�R��_�D���D�D���D�D���D�D���D����?�)���|�8��oC��A��
�/��-���$��"�,�B�5��|6���-�G�c�K�dԛӘ��
�p����y��|���|u~w�'��~rb<!��ێ��j������w�w�s{��z���}qr^r}d�0�Gة蘵�и۩�޴�r�~�v���~�������������w�v�y�������������y�7�-�8�����<�ÖC�K�l��w�x�x�w�x�w�������������|�l�t{u{�l�t�t��������{���������h�h�[�sgsh�Z�s�r�����|
�9�q�Y�fqgq�X�f�|�f��������r�!����|��b�R�$�������I��=�X�,���3�|�Mq&�h�8 �?�4��ye�R�R�Y��Ni�ꏏ�������]ȵ�9ЉОȶ�%�[/�+���(y�f�qypx�f�p�p��������y��|�3����u�u�u�}u�u�t�}����������H��q�q�q�zq�p�q�z���������,�N\u�\�gugu[�f�g�������v��~�$��x�x�w�w�w�x�~���������S��w�b�nvmv�b�m�m��������w���������������p�@��
�����
���
��#'+/2<@EJOcgkoz�����������BFJNRY^ly����������������.9��������&.9=AFMQZbfmsw{����9BJNRY^u������-z������������<MU[agos�������"29@EN^px~��			 	V	Z	_	�	�	�	�	�	�	�

	



/
>
F
o
�
�
�
�
�
�
�
�
�&,@es{������������� -:KUcglu|������


/
O
V
Z
`
j
o
u
{
�
�
�
�
�
&Dbs~����������������-18>EKOTm�������������� ).7<DQYns��������������%:@Ui{���������������"',1CUZl~�������������$(-2BHP`gku{������������������$,2APWZ_drw}���������������+8EOU[binty~��������������	$).38CNY_doz���������
�<���<C
KFKk�r
=oYB;�
��E�#��E�
�E����������P�/"� �@�Z�<��[� �E�
�E�E�#��[<:Z���@���
���T���T��T�� �T��T�x��T���������B�t)
�
P
�����t�*
�i�@���E���X��X��E���+y}}yK��
�.
+��E���X��X��E���P�
�
+
.
' 
�3���3y]����hnnh�}�y���]�]�����]�]���s4�
.\��2��A
y}�B
,
F�TkB��B��a
�U�)
y}}yKy}����������}y�TN%�
��=hnnh�hn���q�F
A[
���]�]��E
�����}�t�����	�� �"�������������"� ��	���M
-
\
�
��
���������������1��<�0
�0
+������
������������
����������f�f�
��}yf_��"-
.hnnh�Cp
�}�y�T(
���-�V�`��C�3�}�y�Ty}}y�T�
c
���|�zS
�+o
�+�
��D+\�T2�TA
���������� ʆ��iimdod���������$��@�~� K������z�&�w{�y�yw��}|� |�}���x�z�{�wa&z��������K������������$|��'��������������[�����[�!���!������oZ�S1���
0
[��R
��Y�W�f�fG
�f�fU���
]
�@gw
�TH
U
�
3CC3X
K]
+>
��T�Y
�����[�R�Dh���1�
��T��T�T��G�������_�^�X*�D�4�
�4D�*�Y�_�`t��������W
����!�
�'��''��e
������
�
�T�T�
�
�T�T�
�i
��h���h�
���
�
O
g
�B
�4�T�T��=�T�T�
y�}��7�!�x�!hD�:
�,�����
�J�����J�4��
����������F��/�B��������
NPuc]�T<�O��d�
}�}�|�1B&�2�B����
:����5
��/���%�%���
YY�������������
�(
�f�f�����������9�>�!����
�
�>��9��U��G�
��@���V``V}�~���d�3�f�T�w�@�t�(�s�u�w�N�5~��w�}�+�}����PV�
������{z�g
�����:
�T�
�TR
�]�Ky}��Hg
�TB
�4�$�$���G
��U���$�$�
V``VV`�����
`V����!�_��I�b�	\�;COLD|yz|�r����u��{������������A��0����������%�����{[�k������@�hhn��z|������r������4��~������~�4`_��`R�`e9C/R&a���žҦ�4��A�'�"�)����~�4���U�f�f�
,u
!55!=
�=
����������T-
�/�T���
�����
�{�z���G�C���C�8�=<�<�8��C���G�C��������� �VV�����z�|�Y���Y�.�:�t��:���}
���&&��T�O
�'��Lf��eN�z�y�z����#� u��"������������=�1�?�u՗����f�f�
YY����
��Y��f�f����
������&��������/����]�]������1����a}�.
�M�M���Y����;���/����������������������a�3����:��������t�������@y
������t����������
g�Z
!�5�
��\�|�\�?�Z���E�ԅ���c��*y^H�(�ym�|�[��n
��U
��t�3
�������Z�Z�r���EQQEEQ��c
'>�
�0
�4Z
V``V�
���������~����
�����������������������z�z����3�'�)������������
�����{z�4���
�+�<���<�<���<�{�������.�=�=
C
�9�"��T�M�5���������{��~~�D�;��i�
�f�fW4��x
�!�x�!�Q�E�
���8�
���8�
���8�
����x
�
���i����
��������	����������������	�tkR��E�;V``V��<
��A
5
��/�
R��T�&
�
��
+
,
3�
��� ���O�>
��������z�r��^�`�������`���^?*<�씒������<�Jڔ���>��������@(
���
�St
���}��
�����
���
X
�@]
���-
���
����
������}y�yr�rrr�yy�
��(
���y�y��~�w�~~����������
��������������������[
�
���t����������t���|�z�@(
�Tz�|���}D}��}������������������RD��,�l"�7o�''��$�{��������������������������1���D
�
�������
����!K��
��z{�����8���T���(�A�(�A�(�A��m����t��������K��x�x�t�w�����~��̍�����������t|~�}�:����@�w�{�t�s�o�yx~����������R��1
��7�OI�I��gX�!�!�gX���g��!�fz���\�J�$�9������:�l�A~�w�]]�w�~���z��
�
m�m))m�m�)������{G
�YU3-
t������a
�h����N�0����������K�m��
+��
�)vP
�\��
��t�4���4�
�
�
��<
�A
���	,,�	�	,�	�	��	�	�,�	T
���
�b
�<
�TA
����F
���}t����.�+ݭ�����������������{����`�T�3���3�����V��@�
���t����k�r�crr������@�
>
��xy�o�ts��{�SK(
����
���������tp�
�����y�y����:
�������7�D�$�$�D��������������nh&�T*
�����5������������������@��$����$@!��quuqqu���;���;��uqf���
K<
�����p�������
� ������QEt�����'�rrc�r�2
������TSTdJ,]��շ����49��arwwvyr�/��������(DB%$�A���Ό������%
����`���u�ttu~w�c��cl��������q�t��������=�h�F��� B�4������4�����
��
����V
s���V�������E�z�*�6�z�*E!�!�$��D�D�$�
����7�T���-
R
����
�5
���y�y��C
�.
���@�h����������<���<�<���<����o7��������T�T�_���L��d��h�aahi`a�h���������
�/ti
�V���H������
��ԫ���ԫ��
��
��]�������������T�t���.�;���;��<:�Z�����:����3}|������A���P
3C��ɽ������Nb�a�]����
0�$�7o"�7�l�����
������������
��
@���
�����������������<�<��y}|z��i
�z�{�R�D3���$�$D�R����i�p���������w��������
����
E�Q��y��
���
���1�
0
��
fM�@�
jm��q�����������,�4[�
���@XtxmihbW_)�RK(
t����:���z�{���������z}R��%���7��tC
(
�t�
���z�x
����x
�
!5������x
����&�%y}��������_g��������g_��
����
��*1���0���˒�����������h�����
��`V������m�����������[
ˋˋˋˋˋ�7���ߋ�7�������
K��������[���L����z����������-
�-��������������������Ty�������!�5�����z��+���&m���/�%��t��~���-���������\�$�"�W�T�*��������n�h�t��t��t���v��������������#�#��
��	��h��3��3s�pyrs@ ��  ""
	���x@8 �����!"""`���>�N�^�f�i�n�~��������������'�(�.�>�N�^�n�~��������������>�N�^�n�~������������ �����!"""`���!�@�P�`�g�j�p�������������� �(�)�0�@�P�`�p��������������!�@�P�`�p��������������\�Q�A�0��ޕ�R

	��������������������������������������v^��%|�_<��O<0�1h�����	�	����	��p��v�_�]�����y�n�����2��@����������������z�����Z@�5�5
���ZZ����@���������,_���@��������f���@	��@��(������@�����@��@-
�M�M�-�
�M�M�����@�����@@�
�-������b����
��� ����5�-�8�����@�D@���,*@� ���������	m��)@�@	 	' D9��>dU*#						�	��	����R										�@	e�	
%RE	 		$�� k(��D�'	��	�%��	�%	��	��0$�.�$P�//:/K/Q]�	
���	^�	U	k	"y	U	$�	U	��	a		y	*�	<�Copyright Dave Gandy 2016. All rights reserved.FontAwesomeFONTLAB:OTFEXPORTVersion 4.7.0 2016Please refer to the Copyright section for the font trademark attribution notices.Fort AwesomeDave Gandyhttp://fontawesome.iohttp://fontawesome.io/license/Copyright Dave Gandy 2016. All rights reserved.FontAwesomeRegularFONTLAB:OTFEXPORTVersion 4.7.0 2016Please refer to the Copyright section for the font trademark attribution notices.Fort AwesomeDave Gandyhttp://fontawesome.iohttp://fontawesome.io/license/assets/fonts/lightcase.ttf000064400000013044150753125220011665 0ustar00�`OS/2>(I|�Vcmap��DJcvt 
,
fpgm���Y
8pgasp
$glyf�K�/��headH2#L6hhea�Z�$hmtxX�locaH�maxp��� name��4���post���	�Rprep�k��{��z��z��1PfEd@��R�jZR�D(�������j�R14
@
32'-+67&&'67&#0"#23812?64'5���������������	��}R��������?����������
��}�j�R!-
@
+%-+67&&'67"'462#&'462��������������E 

�
	
R��������?�������g��4

��	4

�k�Q'3
�1+%-+"/"&4?'&462762&'67&'6���	��
��

��
N��������������牉
��
��
��
���������������k�Q'
�$-+67&&'67"/&?62��������������{��

�		�	Q��������A�������_��
��
�k�Q'
�$-+67&'&'67'&76"'&��������������{��		��
���������������������
��R�-+#&'5�$����.;�$����Đ_<��� �Y� b)�j�RR�jZ���������b� r��5sp�5	5>	E	NW	b
+k�	j�		%	3	E	W	m	
V	&�Copyright (C) 2015 by original authors @ fontello.comlightcaseRegularlightcaselightcaseVersion 1.0lightcaseGenerated by svg2ttf from Fontello project.http://fontello.comCopyright (C) 2015 by original authors @ fontello.comlightcaseRegularlightcaselightcaseVersion 1.0lightcaseGenerated by svg2ttf from Fontello project.http://fontello.com
playpausecloseprevnextspin���, �UXEY  K�QK�SZX�4�(Y`f �UX�%a�cc#b!!�Y�C#D�C`B-�,� `f-�, d ��P�&Z�(
CEcER[X!#!�X �PPX!�@Y �8PX!�8YY �
CEcEad�(PX!�
CEcE �0PX!�0Y ��PX f ��a �
PX` � PX!�
` �6PX!�6``YYY�+YY#�PXeYY-�, E �%ad �CPX�#B�#B!!Y�`-�,#!#! d�bB �#B�
CEc�
C�`Ec�*! �C � ��+�0%�&QX`PaRYX#Y! �@SX�+!�@Y#�PXeY-�,�C+�C`B-�,�#B# �#Ba�bf�c�`�*-�,  E �Cc�b �PX�@`Yf�c`D�`-�,�CEB*!�C`B-�	,�C#D�C`B-�
,  E �+#�C�%` E�#a d � PX!��0PX� �@YY#�PXeY�%#aDD�`-�,  E �+#�C�%` E�#a d�$PX��@Y#�PXeY�%#aDD�`-�, �#B�
EX!#!Y*!-�
,�E�daD-�,�`  �CJ�PX �#BY�
CJ�RX �
#BY-�, �bf�c �c�#a�C` �` �#B#-�,KTX�dDY$�
e#x-�,KQXKSX�dDY!Y$�e#x-�,�CUX�C�aB�+Y�C�%B�%B�
%B�# �%PX�C`�%B�� �#a�*!#�a �#a�*!�C`�%B�%a�*!Y�CG�
CG`�b �PX�@`Yf�c �Cc�b �PX�@`Yf�c`�#D�C�>�C`B-�,�ETX�#B E�#B�
#�`B `�a�BB�`�+�r+"Y-�,�+-�,�+-�,�+-�,�+-�,�+-�,�+-�,�+-�,�+-�,�+-�,�	+-�,�
+�ETX�#B E�#B�
#�`B `�a�BB�`�+�r+"Y-�,�+-� ,�+-�!,�+-�",�+-�#,�+-�$,�+-�%,�+-�&,�+-�',�+-�(,�	+-�), <�`-�*, `�` C#�`C�%a�`�)*!-�+,�*+�**-�,,  G  �Cc�b �PX�@`Yf�c`#a8# �UX G  �Cc�b �PX�@`Yf�c`#a8!Y-�-,�ETX��,*�0"Y-�.,�
+�ETX��,*�0"Y-�/, 5�`-�0,�Ec�b �PX�@`Yf�c�+�Cc�b �PX�@`Yf�c�+��D>#8�/*-�1, < G �Cc�b �PX�@`Yf�c`�Ca8-�2,.<-�3, < G �Cc�b �PX�@`Yf�c`�Ca�Cc8-�4,�% . G�#B�%I��G#G#a Xb!Y�#B�3*-�5,��%�%G#G#a�	C+e�.#  <�8-�6,��%�% .G#G#a �#B�	C+ �`PX �@QX�  �&YBB# �C �#G#G#a#F`�C�b �PX�@`Yf�c` �+ ��a �C`d#�CadPX�Ca�C`Y�%�b �PX�@`Yf�ca#  �&#Fa8#�CF�%�CG#G#a` �C�b �PX�@`Yf�c`# �+#�C`�+�%a�%�b �PX�@`Yf�c�&a �%`d#�%`dPX!#!Y#  �&#Fa8Y-�7,�   �& .G#G#a#<8-�8,� �#B   F#G�+#a8-�9,��%�%G#G#a�TX. <#!�%�%G#G#a �%�%G#G#a�%�%I�%a�cc# Xb!Yc�b �PX�@`Yf�c`#.#  <�8#!Y-�:,� �C .G#G#a `� `f�b �PX�@`Yf�c#  <�8-�;,# .F�%FRX <Y.�++-�<,# .F�%FPX <Y.�++-�=,# .F�%FRX <Y# .F�%FPX <Y.�++-�>,�5+# .F�%FRX <Y.�++-�?,�6+�  <�#B�8# .F�%FRX <Y.�++�C.�++-�@,��%�& .G#G#a�	C+# < .#8�++-�A,�%B��%�% .G#G#a �#B�	C+ �`PX �@QX�  �&YBB# G�C�b �PX�@`Yf�c` �+ ��a �C`d#�CadPX�Ca�C`Y�%�b �PX�@`Yf�ca�%Fa8# <#8!  F#G�+#a8!Y�++-�B,�5+.�++-�C,�6+!#  <�#B#8�++�C.�++-�D,� G�#B�.�1*-�E,� G�#B�.�1*-�F,��2*-�G,�4*-�H,�E# . F�#a8�++-�I,�#B�H+-�J,�A+-�K,�A+-�L,�A+-�M,�A+-�N,�B+-�O,�B+-�P,�B+-�Q,�B+-�R,�>+-�S,�>+-�T,�>+-�U,�>+-�V,�@+-�W,�@+-�X,�@+-�Y,�@+-�Z,�C+-�[,�C+-�\,�C+-�],�C+-�^,�?+-�_,�?+-�`,�?+-�a,�?+-�b,�7+.�++-�c,�7+�;+-�d,�7+�<+-�e,��7+�=+-�f,�8+.�++-�g,�8+�;+-�h,�8+�<+-�i,�8+�=+-�j,�9+.�++-�k,�9+�;+-�l,�9+�<+-�m,�9+�=+-�n,�:+.�++-�o,�:+�;+-�p,�:+�<+-�q,�:+�=+-�r,�	EX!#!YB+�e�$Px�0-K��RX��Y��cp�B�*�B�*�B�*�B�	*�B�	*�D�$�QX�@�X�dD�&�QX��@�cTX�DYYYY�*������Dassets/fonts/fontawesome-webfont.eot000064400000503556150753125220013721 0ustar00n����LPYxϐFontAwesomeRegular$Version 4.7.0 2016FontAwesome
�PFFTMk�G���GDEF��p OS/2�2z@X`cmap
�:��gasp���hglyf���M�L�head��-�6hhea
�$hmtxEy��
�loca��\�maxp,8 name㗋�gh�post����k�uː�xY_<��3�2�3�2���	�	����	��'@i��3��3s�pyrs@ �� �pU�]�����y�n�����2��@������
��������z���Z@�5�5
���z���ZZ����@���������,_���@������s���@	��@��(������@�����@��@-
�M�M�-�
�M�M�����@�����@@�
�-����`��b����
���$����6�4�8�"�"""""���@�D@���,,@� ���������	m��)@�@	 	' D9>dY*	'						�	��	��T										�@	f�	%RE	 		$!k(D�'	��	�%��	�%	��	��0%�/�&��p@0 �����!"""`���>�N�^�n�~��������������.�>�N�^�n�~��������������>�N�^�n�~������������ �����!"""`���!�@�P�`�p�������������� �0�@�P�`�p��������������!�@�P�`�p�������������\�X�S�B�1����ݬ

	����������������������������������
�
	,,,,,,,,,,,,,��t�L�T$�l	x	�
T(��
d����l,����4d�pH�$d,t( � �!�"0# $,$�&D'�(�)T**�,,�-�.@.�/`/�00�1�2�3d444�5 5�5�6 6\6�7H7�88`8�9L9�:h:�;�<p=p><>�?h?�@H@�A0A�BXB�CdC�DLD�E�F�G0G�H�I�J8K�L�MdN,N�N�O�P`P�Q4Q�RRlS,S�T`U0W�X�Z[@[�\<\�]�^(^�_�`pb,b�dd�ePe�f�g`g�iLi�jDkk�l�m@n,oLp�q�r�sxtt�uD{`||�}}�~��������H��������l�@����������l�H� ���T��H�������`����@�����$�\�X��D�������T�X�����D�P�,���8���d�\����������������H���x��� �t���X���p��d��������x�t�������������@������Œ�\� ļ�ŸƔ�0���d��ʨˀ����͔�x��ϰЌ�,ш�҈�ӌ���8�,՜�`���l�Hش�`���Tڸ�۔�@���l��ބ�߬��l�p� ������������������������������4�����X���$�l���(����`����������	d

��
,�,��8��(�X���x|T�@��| �!�"x##l$$�'h(�*L,T.L1t1�2�303�4�5t6T7$89H::�;�<�<�?X@A�B�C�D�EHFHGpHHIxJ J�K�L�MN@P@Q�R�SDT ULV`V�WXX4X�ZZ�[d[�\|]�^�`�aHa�b�cXd�etfhg�h�i\jxn�p@s�vw�x�y�z�{h|�}}�\���l�t���4���������t���8�8���L���T�������������|�������|�������4�x�����L����������X�(� ������� ������@�����l���t����$����x�L�L��� �H������Ġ�T�(����ʈˠ��ϔ�l�d���P�Մ�x�p���ڬ�T�T���ވ�L�����<�H��$���l������4����������� �P�l����,���x���p�,�x�t��d����4���4,h�P	4
��
�4�<,,408$�8�T� |!h"�$L%0&H'�(�)�*0*�+�,�.$.�0�1�2@2�3�4t5$6�9 :�:�;;�<(<�=4?�@�A�C�D�F�H`H�I�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�p7!!!���@p�p �p�]���!2#!"&463!&54>3!2�+��@&&��&&@��+$(�($F#+���&4&&4&x+#��+".4>32".4>32467632DhgZghDDhg-iW�DhgZghDDhg-iW&@(8 ��2N++NdN+'�;2N++NdN+'�3
8���!  #"'#"$&6$ �������rL46$���܏���oo��o|W%r��������4L&V|o��oo����ܳ��%��=M%+".'&%&'3!26<.#!";2>767>7#!"&5463!2� %��3@m00m@3���% 
�
�@
���:"7..7":�6]�^B�@B^^B�B^ $΄+0110+��$�
(	

�t��1%%1��+�`��B^^B@B^^���"'.54632>32�4��
#L</��>�oP$$Po�>���Z$_d�C�+I@$$@I+��������"#"'%#"&547&547%62���V�?�?V��8��<��8y���
���b%	I�))�9I	����	+	%%#"'%#"&547&547%62q2�Z���Z2Izy���V)�?�?V��8��<��8)>~��>��[��
���
2���b%	I�))�9I	���%#!"&54>3 72 &6 }X��X}.GuL�l�LuG.�����>�m��mU��mE��Em�������>����/?O_o���54&+";2654&+";2654&+";264&#!"3!2654&+";2654&+";264&#!"3!2654&+";2654&+";2654&+";267#!"&5463!2�&�&&�&&�&&�&&�&&�&&�&&&�&�&&�&�&�&&�&��&�&&&�&�&&�&&�&&�&&�&&�&�^B��B^^B@B^@�&&�&&��&&�&&��&&�&&�&&�&&��&&�&&���&&�&&&&�&&���&&�&&��&&�&&��&&�&&���B^^B@B^^��/?#!"&5463!2#!"&5463!2#!"&5463!2#!"&5463!2L4�4LL44LL4�4LL44L�L4�4LL44LL4�4LL44L��4LL4�4LL��4LL4�4LL���4LL4�4LL��4LL4�4LL	�/?O_o�#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!28(��(88(@(88(��(88(@(8�8(��(88(@(8��8(��(88(@(8�8(��(88(@(8�8(��(88(@(8��8(��(88(@(8�8(��(88(@(88(��(88(@(8 �(88(�(88�(88(�(88��(88(�(88�(88(�(88��(88(�(88��(88(�(88�(88(�(88��(88(�(88�(88(�(88�/?O_#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!28(��(88(@(88(��(88(@(88(�@(88(�(8�8(��(88(@(88(�@(88(�(88(�@(88(�(8 �(88(�(88�(88(�(88��(88(�(88�(88(�(88��(88(�(88�(88(�(88y��"/&4?62	62��,�P����P&�P��P�,��jP�����n���#$"'	"/&47	&4?62	62	�P���P�&���P&&P���&�P�&���P&&P���&�P������#+D++"&=#"&=46;546;232  #"'#"$&6$ 
�
@
�

�
@
�
�������rK56$���܏���oo��o|W�@
�

�
@
�

��r��������jK&V|o��oo����ܳ�����0#!"&=463!2  #"'#"$&6$ 
��

@
�������rK56$���܏���oo��o|W�@

@
�r��������jK&V|o��oo����ܳ����)5 $&54762>54&'.7>"&5462z�����z��+i *bkQ��н�Qkb* j*����LhLLhL�����zz���Bm +*i J�yh��QQ��hy�J i*+ m��J��4LL4�4LL���/?O%+"&=46;2%+"&546;2%+"&546;2+"&546;2+"&546;2��������������`��r��@�@r�@��@����n4&"2#"/+"&/&'#"'&'&547>7&/.=46?67&'&547>3267676;27632�Ԗ����#H
	��,/
�1)�
~'H�
�(C
	�

�,/
�1)�	
�$H�
Ԗ�Ԗm�6%2X
%�	l�2
�k	r6

[21
�..9Q

$�
k�2
�k	
w3[20����/;Cg+"&546;2+"&546;2+"&546;2!3!2>!'&'!+#!"&5#"&=463!7>3!2!2@@@@@@���@�`�0
��
o`^B��B^`5FN(@(NF5 ��@��@��@���L%%Ju		�@�LSyuS�@�%44%�f5#!!!"&5465	7#"'	'&/&6762546;2�&�����&??�>

�L�L
>
� X ���
 � &���&��&AJ	A��	J
W���h��##!"&5463!2!&'&!"&5!�(8(��(88(�(`�x
��c�`(8��`(��(88(@(8(D��9�8(����� ,#!"&=46;46;2.  6 $$ ����@��������(�r���^����a�a�@@`��(��������_�^����a�a��2NC5.+";26#!26'.#!"3!"547>3!";26/.#!2W
�
��.�@

��

�@.�$S

�

S$�@

���9I


�
I6>
��
��>�%=$4&"2$4&"2#!"&5463!2?!2"'&763!463!2!2&4&&4&&4&&4�8(�@(88(ч:�:��(8���@6�@*&&*�4&&4&&4&&4& ��(88(@(8�88�8)�@�)'�&&�@���$0"'&76;46;232  >& $$ `
������������(���r���^����a�a`��		@`��2�������(���^����a�a�����$0++"&5#"&54762  >& $$ ^���
?@�����(���r���^����a�a���`?		����������(���^����a�a��
#!.'!!!%#!"&547>3!2�<�<�<_@`&��&�
5@5
�@����&&�>=(""��=���'#"'&5476.  6 $$ � ��  ! ��������(�r���^����a�a�J��	%�%���(��������_�^����a�a�����3#!"'&?&#"3267672#"$&6$3276&�@*���h��QQ��hw�I
�	m�ʬ����zz���k�)'�@&('��Q��н�Qh_
	�
��z�8�zoe����$G!"$'"&5463!23267676;2#!"&4?&#"+"&=!2762�@�h���k�4&&�&�G�a��F*�
&�@&��Ɇ�F*�
A��k�4&���nf�&�&&4�BH�rd�@&&4���rd
Moe�&�/?O_o+"&=46;25+"&=46;25+"&=46;2#!"&=463!25#!"&=463!25#!"&=463!24&#!"3!26#!"&5463!2�
@

@

@

@

@

@
�
�@

�

�@

�

�@

�
�
�@

�
�^B�@B^^B�B^`@

@
�@

@
�@

@
��@

@
�@

@
�@

@
�3@

��
M��B^^B@B^^��!54&"#!"&546;54 32@�Ԗ@8(�@(88( p (8�j��j��(88(@(8������8@���7+"&5&5462#".#"#"&5476763232>32@@
@
@KjK�ך=}\�I���&:�k�~&26]S
&H&�

�&H5KKu�t,4,�	&� x:;*4*&��K#+"&546;227654$ >3546;2+"&="&/&546$ �<��X@@Gv"D�����װD"vG@@X��<��4L4����1!Sk @ G<_b������b_<G �� kS!1����zz�� �"'!"&5463!62&4����&&M4&���&M&�&M& ��-"'!"&5463!62#"&54>4.54632&4����&&M4&�UF
&""""&
F���&M&�&M&���%/B/%���G-Ik"'!"&5463!62#"&54>4.54632#"&54767>4&'&'&54632#"&547>7676'&'.'&54632&4����&&M4&�UF
&""""&
FU��
&'8JSSJ8'&

����

&'.${��{$.'&

����&M&�&M&���%/B/%7���;&'6���6'&;��4�[&$
[2[
$&[��#/37#5#5!#5!!!!!!!#5!#5!5##!35!!!����������������������������������������������������������������������������#'+/37;?3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3????  ^��>>~??�??�??~??~??^??�^^?  ^??������������������������������������4&"2#"'.5463!2�KjKKjv%�'45%�5&5L4�5�&�%jKKjK�@5%�%%�%�5�4L5&�6'��k�54&"2#"'.5463!2#"&'654'.#32�KjKKjv%�'45%�5&5L4�5�&�%�%�'4$.�%%�5&�5�5�&�%jKKjK�@5%�%%�%�5�4L5&�6'45%�%�%54'�&55&�6'
��y�Tdt#!"&'&74676&7>7>76&7>7>76&7>7>76&7>7>63!2#!"3!2676'3!26?6&#!"3!26?6&#!"g(��sA�eM�,*$/
!'&
�JP��$G]��
x�6,&��`
��
h`
��
"9H�v@WkNC<.
&k&
("$p"	.
#u&#	%!'	pJ�vwEF�#

@

��

@

���2#"'	#"'.546763�!''!0#�G�G$/!''!�	
8"��"8
 ��X!	
8"	"8
	����<)!!#"&=!4&"27+#!"&=#"&546;463!232������(8���&4&&4�
�8(�@(8�
qO@8(�(`�(@Oq��8(��&4&&4&@�`
�(88(�
�Oq (8(�`(�q���!)2"&42#!"&546;7>3!2  I��j��j��j��j�3e55e3�gr������`��I�j��j��j�j��1GG1���r��������P2327&7>7;"&#"4?2>54.'%3"&#"#ժ!�9&W��B03&�K5�!�)V�?�@L��'�	
>R�>e;&L:�:%P�>��vO
'h�� N��_"�:-&+#
��:��	'	����+a%3 4'.#"32>54.#"7>7><5'./6$3232#"&#"+JBx)EB_I:I*CRzb3:dtB2P���$$5.3b�ZF�|\8!-T>5��Fu��\,�,j�n OrB,<!
5�4wJ]�?tTFi;
2�3j.�p^%/2�+
	S:T}K4W9: #ƕd�fE���:7>7676'5.'732>7"#"&#&#"OA
zj=N!�}:0e��%	y�
+t�D3�~U#B4#
g		'2
%/!:
���T	bRU,7����}%2"/&6;#"&?62+326323!2>?23&'.'.#"&"$#"#&=>764=464.'&#"&'�!~:~!PP!~:~!P��6�,�,$�$%*'
c2N 	
(�$"L��A2�3Yl�!x!*�%��%%��%��
p�P,T	NE	Q7^���oH!+(
3	 *Ue�eu
wg��a�32632$?23&'.5&'&#"&"5$#"#&=>7>4&54&54>.'&#"&'2#".465!#".'&47>32!4&4>Q6�,�,Faw!*'
=~Pl*	
(�$"L��A2�3Yl	�)�!*<7@@7<
�
<7@@7<
 p�P,T	MF
Q7�47ƢHoH!+(
3	 t���JHQ6wh��',686,'$##$',686,'$##$�/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&��&&�&��&�&&&&�&&&��&��&&�&��&&�&&f�&&�&&f�&&�&&f�&&�&&�/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&��&&�&��&��&&�&&��&&�&��&��&&�&��&&�&&f�&&�&&f�&&�&&f�&&�&&�/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&��&&�&&�&&&&�&&&&��&&�&��&&�&&f�&&�&&f�&&�&&f�&&�&&�/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&��&&�&&��&&�&&��&&�&&��&&�&��&&�&&f�&&�&&f�&&�&&f�&&�&&�/?O_o%+"&=46;2+"&=46;2+"&=46;2#!"&=463!2+"&=46;2#!"&=463!2#!"&=463!2#!"&=463!2
�

�

�

�

�

�

��

@
�
�

�

��

@

��

@

��

@
�

�
s�

�
s�

�
��

�
s�

�
��

�
s�

�
s�

�
�/?O#"'&47632#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2�
	��		 	
�
�@

�

��

@

��

@

�@

�
�
	 		 	��

�
s�

�
s�

�
s�

�
�/?O#"&54632	#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2`	��	

	 �
�@

�

��

@

��

@

�@

�
�	��	
@
	��	�

�
s�

�
s�

�
s�

�
#"'#!"&5463!2632'
�m�w�@w��w�w��
'���*��w��w�w��w������."&462!5	!"3!2654&#!"&5463!2�p�pp�p��@���

@
�^B��B^^B@B^�pp�p���@�@� 
�@

�
 �@B^^B�B^^���k%!7'34#"3276'	!7632k[�[�v
��
6����`�%��`�$65&�%[�[k����
�`����5%���&&�'���4&"2"&'&54 �Ԗ���!��?H?��!,�,Ԗ�ԖmF��!&&!Fm�,�����%" $$ ���������^����a�a`@������^����a�a���-4'.'&"26% 547>7>2"KjK��X��QqYn	243nYqQ�$!+!77!+!$5KK���,ԑ�	���]""]ً�	��9>H7'3&7#!"&5463!2'&#!"3!26=4?6	!762xt�t` �� ^Q�w��w��w@?61��B^^B@B^	@(` �`��\\��\P�`t�t8`� �� ^�Ͼw��w@w�1^B��B^^B~
	@��` \ \�P�+Z#!"&5463!12+"3!26=47676#"'&=# #"'.54>;547632��w��w��w�
M8
pB^^B@B^�
'���sw-

9*##;No��j�'
�#��w��w@w�
"^B��B^^B�

	��*�����
"g`�81T`PSA:'�*��4�/D#!"&5463!2#"'&#!"3!26=4?632"'&4?62	62��w��w��w@?61

��B^^B@B^	@

��B�RnB�Bn^��w��w@w�1
^B��B^^B�
	@
���Bn���nB�C"&=!32"'&46;!"'&4762!#"&4762+!5462�4&���&�4�&���&4�4&��&4&��&4�4�&���&4�4&��&4&��&4�4&���&����6'&'+"&546;267��:	&�&&�&	s�@�	
�Z&&�&&�Z
	���+6'&''&'+"&546;267667��:	�:	&�&&�&	�	s�@�	
�:�	
�Z&&�&&�Z
	��:
	z����6'&''&47667S�:	�:�	s�@�	
�:�4��:
	�|�	&546h��!!0a�
�
�
$���#!"&5463!2#!"&5463!2&�&&&��&�&&&@��&&�&&��&&�&&���#!"&5463!2&��&&�&@��&&�&&���&54646&5-�	��:	s��:	
��:4�:�
	���+&5464646;2+"&5&5-�	�	&�&&�&	�:	s��:	
��:	
�&&��&&�
	�:�
	���&54646;2+"&5-�	&�&&�&	s��:	
�&&��&&�
	62#!"&!"&5463!2�4��@��&&�&&-��:��&&&�&�����	"'&4762����4��4����4��4��4Z��f�	"/&47	&4?62S�4����4����44��4���#/54&#!4&+"!"3!;265!26 $$ �&�&�&�&&&�&&@���^����a�a@�&&&�&�&�&&&+�^����a�a�����54&#!"3!26 $$ �&�&&&@���^����a�a@�&&�&&+�^����a�a�����+74/7654/&#"'&#"32?32?6 $$ }��Z��Z��Z��Z����^����a�a���Z��Z��Z��Z�^����a�a�����#4/&"'&"327> $$ [4�h�4[j����^����a�a"Z�i�Z��J�^����a�a�����:F%54&+";264.#"32767632;265467>$ $$ ���o�W��	5!"40K(0?i�+! ":����^����a�a����X�R�dD4!&.uC$=1/J=�^����a�a�����.:%54&+4&#!";#"3!2654&+";26 $$ `��``��������^����a�a�����������^����a�a�����/_#"&=46;.'+"&=32+546;2>++"&=.'#"&=46;>7546;232�m&&m �l&�&l� m&&m �l&�&l�s&�%�&�&��%�&&�%�&�&��%�&&�&l� m&&m �l&�&l� m&&m �,�&��%�&&�%�&�&��%�&&�%�&���#/;"/"/&4?'&4?627626.  6 $$ I�

��

�

��

�

��

�

��
͒������(�r���^����a�aɒ

��

�

��

�

��

�

��
(��������_�^����a�a����� ,	"'&4?6262.  6 $$ ��Z4��f4�4fz�������(�r���^����a�a�Z&4f�f4�(��������_�^����a�a�����	"4'32>&#" $&6$  W���oɒV�󇥔�� z�����zz�8�����YW�˼�[����?����zz�:�zz�@�5K #!#"'&547632!2A4�@%&&K%54'�u%%�&54&K&&���4A��5K��$l$L%%�%54'�&&J&j&��K�5�K #"/&47!"&=463!&4?632�%�u'43'K&&%�@4AA4���&&K&45&�%@6%�u%%K&j&%K5�5K&$l$K&&�u#5��K@!#"'+"&5"/&547632K%K&56$��K5�5K��$l$K&&�#76%�%53'K&&%�@4AA4���&&K&45&�%%�u'5��K�"#"'&54?63246;2632K%�u'45%�u&&J'45%&L4�4L&%54'K%�5%�t%%�$65&K%%���4LL4�@&%%K'���,"&5#"#"'.'547!3462�4&�b��qb>#5���&4�4�&6Uu�e7D#		"�dž�&����/#!"&546262"/"/&47'&463!2�
���&�@&&4�L

r&4���

r

L�&�&�
���4&&�&�L

rI�@&���

r

L�4&&
���s/"/"/&47'&463!2#!"&546262&4���

r

L�&�&�
���&�@&&4�L

r@�@&���

r

L�4&&�
���4&&�&�L

r��##!+"&5!"&=463!46;2!2�8(�`8(�(8�`(88(�8(�(8�(8 �(8�`(88(�8(�(8�(88(�`8��#!"&=463!2�8(�@(88(�(8 �(88(�(88z���5'%+"&5&/&67-.?>46;2%6�.@g.��L4�4L��.g@.
��.@g.
L4�4L
.g@.���g.n.���4LL43�.n.g��g.n.�34LL4�͙.n.g����-  $54&+";264'&+";26/�a����^�����
�

�


�

�����^����a�a��
�
fm��
@
J%55!;263'&#"$4&#"32+#!"&5#"&5463!"&46327632#!2���$�$�8�~+(88�8(+}�(�`8(��(8`�]��]k=��=k]��]��8���,8e�8P88P8�����`(88(�@���M��M����N4&#"327>76$32#"'.#"#"&'.54>54&'&54>7>7>32&����z&^��&.������/+>+)>J>	W��m7����'
'"''? &4&c��&^|h_b��ml/J@L@#*
#M6:D
35sҟw$	'%
'	\�t��3#!"&=463!2'.54>54''�
��

@
�1O``O1CZ��Z71O``O1BZ��Z7�@

@
N�]SHH[3`�)Tt��bN�]SHH[3^�)Tt���!1&' 547 $4&#"2654632 '&476 ���=������=嘅�����}�(zVl��'��'���ٌ@�uhy����yhu����9(�}Vz��D#���#D#�������	=CU%7.5474&#"2654632%#"'&547.'&476!27632#76$7&'7+NWb=嘧�}�(zV�j�\i1
z,��X��
Y[6
$!%���'F��u�J�iys�?_�9ɍ?�kyhu�n(�}Vz����YF
KA؉L�a
�0��2�-�F"@Q���sp@�_���!3%54&+";264'&+";26#!"&'&7>2
�

�


�
�
#%;"�";%#<F<������7


���??""??�$$ll2#"'&'	+&/&'&?632	&'&?67>`,@L�����5
`		��
`	�����L�`4�L��H`
����`	��
a	5�
��L@��#37;?Os!!!!%!!!!%!!!!!!!!%!!4&+";26!!%!!!!74&+";26%#!"&546;546;2!546;232� ��`@���� ��`@���� ���@����@�� ��@����
@

@
� ��@��� �� 
@

@
�L4��4LL4�^B@B^�^B@B^�4L� �� @@��@@ � � � @@  

��
��@@ �� � 

��
M�4LL44L`B^^B``B^^B`L���7q.+"&=46;2#"&=".'673!54632#"&=!"+"&=46;2>767>3!54632�<M33K,��	��	
 j8Z4L2B4:;M33K,?		��	
�0N<* .)C=W]xD��0N<* .)C=W]xD?\�-7H)��	��	
�".=']�-7H)�
��w	��	
�<?.>mBZxPV3!�<?.>mBZxPV3!�
���&#"'&'5&6&>7>7&54>$32�d�FK��1A
0)����L���.���٫�C58.H(Y���e����#3C $=463!22>=463!2#!"&5463!2#!"&5463!2���H���&�&/<R.*.R</&�&�&��&&�&&��&&�&������Bɀ&&�4L&&L4�&&f��&&�&&��&&�&&Z� %"'	"/&4762��4���4��4�ͥ���5��5Z����	"'&4?62	62��4��44���5����5��%K%#!".<=#"&54762+!2"'&546;!"/&5463!232
�@�&@<@&�@	����:��&���	�
��& 

��&���&���
����&��	

��`&���:$"&462"&462!2#!"&54>7#"&463!2!2�LhLLh�LhLLh�!��
�&&�&��&&�&4hLLhLLhLLhL��%z<
0&4&&)17&4&
&&��#!"&5463!2!2��\�@\��\@\��\���@\��\�\��\ �W�*#!"&547>3!2!"4&5463!2!2W��+�B��"5P+�B@"5����^�=���\@\� \�H#�t3G#�3G:�_H�t�\��\ �@��+32"'&46;#"&4762�&��&�4�&��&4�4&�&4�4&&4�@�"&=!"'&4762!5462�4&�&4�4&&4�4�&��&4&��&����
!!!3!!��������������������������0@67&#".'&'#"'#"'32>54'6#!"&5463!28ADAE=\W{��O[/5dI
kDt���pČe1?*�w�@w��w�w��	(M&
B{Wta28r=Ku?RZ^Gw��T	-�@w��w�w�����$2+37#546375&#"#3!"&5463�w��w���/Dz?s�����w��w��w�@w�S�88�	�����w�w����#'.>4&#"26546326"&462!5!&  !5!!=!!%#!"&5463!2�B^8(�Ԗ���������>��������@�|�K5�5KK55K�^B(8Ԗ�Ԗ�€>�������v����5KK55KK�H��G4&"&#"2654'32#".'#"'#"&54$327.54632@p�p)*Ppp�p)*P�b	'"+`�N*(�a���;2��̓c`." b
PTY9��ppP*)p�ppP*)�b ".`�(*N��ͣ�2�ͣ����`+"'	b
MRZB�����4&"24&"264&"26#"/+"&/&'#"'&547>7&/.=46?67&'&547>3267676;27632#"&'"'#"'&547&'&=4767&547>32626?2#"&'"'#"'&547&'&=4767&547>32626?2��Ԗ���LhLKjKLhLKjK��	�"8w
s%(�")v

�
>�
	�"8x
s"+�")v
�<�
��3zLLz3��
3>8L3)x3
��3zLLz3��
3>8L3)x3
�Ԗ�Ԗ�4LL45KK54LL45KK���
#)0C	wZl/
�
Y�	
N,&�
#)0C	vZl.
�
Y�L0"��qG^^Gq�q$ ]G)Fq�qG^^Gq�q$ ]G)Fq��%O#"'#"&'&4>7>7.546$ '&'&'# '32$7>54'�����VZ|�$2$
|��E~E<�|
$2$�|ZV���:�(t}�������X(	
&%(H�w�쉉��x�H(%&	(X�ZT\�MKG���<m$4&"24&#!4654&#+32;254'>4'654&'>7+"&'&#!"&5463!6767>763232&4&&4�N2��`@`%)7&,$)'  
%/0Ӄy�#5 +�1	&<��$]`�{t��5KK5$e:1&+'3T�F0�h��4&&4&�3M:�;b^v�+D2 5#$��I�IJ 2E=\$YJ!$MCeM��-+(K5�5K�K5y�*%A�u]c���>q4&"24&'>54'654&'654&+"+322654&5!267+#"'.'&'&'!"&5463!27>;2&4&&4�+ 5#bW���0/%
  ')$,&7)%`@``2N��h�0##�T3'"(0;e$��5KK5 t��ip��<&	1&4&&4&�#\=E2&%IURI��$#5 2D+�v^b;�:M2g�c]vDEA%!bSV2M�K5�5K(,,��MeCM$!I��@�#"&547&547%6@�?V��8������b%	I�)���94.""'."	67"'.54632>32�+C`\hxeH>Hexh\`C+�ED���4��
#L</��>�oP$$Po�>��Q|I.3MCCM3.I|Q����/����Z$_d�C�+I@$$@I+� (@%#!"&5463!2#!"3!:"&5!"&5463!462�
��w��w@

��B^^B 
���4&�@&&�&4 ` 
�w�w�
 
^B�@B^24��& &�& &�����%573#7.";2634&#"35#347>32#!"&5463!2���FtIG9;HI�x�I��<,tԩw�@w��w�w�z��4DD43EE�����ueB���&#1�s�@w��w�w�����.4&"26#!+"'!"&5463"&463!2#2��&�S3L�l&�c4LL4�4LL4c����@��&��&{�LhLLhL��'?#!"&5463!2#!"3!26546;2"/"/&47'&463!2��w��w��w��@B^^B@B^@�&4��t

r

��&&`��w��w@w�@^B��B^^B@R�&��t

r

��4&&@"&5!"&5463!462	#!"&54&>3!2654&#!*.54&>3!2���4&�@&&�&4 s�w��

@B^^B��

@w��4��& &�& &��3�@w�
 
^B�B^ 
�����
I&5!%5!>732#!"&=4632654&'&'.=463!5463!2!2�J���J���S��q*5&=CKu��uKC=&5*q͍S8( ^B@B^ (8���`N��`Ѣ�΀G�tO6)"M36J[E@@E[J63M")6Ot�G�(8`B^^B`8	���',2��6'&'&76'6'&6&'&6'&4#"7&64 654'.'&'.63226767.547&7662>76#!"&5463!2		/[		.
=���X��Ě4,+"*+, 1JH'5G:�:#L5+@=&#���w�@w��w�w�P.1GE�,��ԧ��44+	;/5cFO:>JJ>:O9W5$@(b4��@w��w�w������'?$4&"2$4&"2#!"&5463!3!267!2#!#!"&5!"'&762&4&&4&&4&&4�8(�@(88(�c==c�(8��*�&�&�*�6�&4&&4&&4&&4& ��(88(@(88HH88`(�@&&�('��@����1c4&'.54654'&#"#"&#"32632327>7#"&#"#"&54654&54>76763232632


	N<�;+gC8�A`1a9�9�g��w����|�9�8aIe$I�VN��z<�:LQJ
�,�-[%	061I��(�)W,$-������7,oIX(�)o�ζA;=N0
eTZ
	 (���O#".'&'&'&'.54767>3232>32�e^\4?P	bM��O0#382W#& 9C9
Lĉ"	82<*9FF(W283#0OMb	P?4\^eFF9*<28	"��L
9C9 &#��!"3!2654&#!"&5463!2`��B^^B@B^^ީw��w��w@w�^B��B^^B@B^���w��w@w�����#!72#"'	#"'.546763���YY�!''!0#�G�G$/!''!�&�UU�jZ	
8"��"8
 ��X!	
8"	"8
	���GW4.'.#"#".'.'.54>54.'.#"32676#!"&5463!2 1.-
+$)
c�8
)1)

05.D
<9�0)$9��w�@w��w�w�W

)1)
7�c
)$+
-.1 �9$)0���<
D.59�@w��w�w��,T1# '327.'327.=.547&54632676TC_L��Ҭ���#+�i�!+*p�DNBN,y[����`m`%i]hbE����m��}a�u&,�SXK��
&$��f9s?
_���#"!#!#!54632��V<%'����Э��HH���	�(ں����T\dksz�� &54654'>54'6'&&"."&'./"?'&546'&6'&6'&6'&6'&74"727&6/�a���49[aA)O%-j'&]�]5r-%O)@a[9'
0BA;+


>HC���U


	#	
	
$				2	
AC: �����oM�=a-6O�UwW[q	( -	q[WwU�P6$C

+) (	
8&/
&eM���a�	
&
$	

��%+"&54&"32#!"&5463!54 �&@&�Ԗ`(88(�@(88(�r��&&j��j�8(��(88(@(8��������#'+2#!"&5463"!54&#265!375!35!�B^^B��B^^B
�

��
`���^B�@B^^B�B^�
��
�
`��
�������!="&462+"&'&'.=476;+"&'&$'.=476;�p�pp�p�$���!�$qr�
�%���}�#ߺ���pp�p��!�E$�
�rq�ܢ#���
%�
ֻ��!)?"&462"&4624&#!"3!26!.#!"#!"&547>3!2/B//B//B//B�
�@

�
�2�����^B�@B^�\77\�aB//B//B//B/�@

��
��

�~��B^^B@2^5BB5��2���.42##%&'.67#"&=463! 2�5KK5L4�_�u:B&1/&��.-
zB^^B���4L��v��y�KjK��4L[!^k'!A3;):2*�<vTq6^B�B^�L4�$���)��*@��A4#"&54"3!4."#!"&5!"&5>547&5462�;U gI�v��0Z���Z0�L4�@�Ԗ�@4L2RX='�8P8��'=XR� U;Ig0,3lb??bl3���4Lj��jL4*\���(88(�����\���}I/#"/'&/'&?'&'&?'&76?'&7676767676`�
(�5)�0
)��*)
0�)5�(
��
(�5)�0
))��))
0�)5�(
��*)
0�)5�(��
)�5)�0
)*��*)
0�)5�)
��
)�5)�0
)*���5h$4&"24&#!4>54&#"+323254'>4'654&'!267+#"'&#!"&5463!2>767>32!2&4&&4�N2��$YGB
(HGEG  H��Q�#5K4L��i�!<�����;��5KK5 
A#
("/?&}�vh��4&&4&�3M95S+C=�,@QQ9��@@�IJ 2E=L5i�>9eM��E;K5�5K	J7R>@#�zD<����5=q%3#".'&'&'&'.#"!"3!32>$4&"2#!"#"&?&547&'#"&5463!&546323!2`  #A<(H(GY$��2NL4K5#aWTƾh&4&&4�K5��;����=!�i��hv�}&?/"(
#A
 5K��2*!	Q@.'!&=C+S59M34L=E2 JI UR@@&4&&4&���5K;E��Lf9>�ig�<Dz�#@>R7J	K�5h4&"24#"."&#"4&#"".#"!54>7#!"&54.'&'.5463246326326&4&&4��IJ 2E=L43M95S+C=�,@QQ9�@@�E;K5��5K	J7R>@#�zD<�gi�>9eM��Z4&&4&<�#5K4LN2��$YGB
(HGEG  H��V���;��5KK5 
A#
("/?&}�vh��i�!<��4<p4.=!32>332653272673264&"2/#"'#"&5#"&54>767>5463!2�@@��2*!	Q@.'!&=C+S59M34L.9E2 JI UR�&4&&4&��Lf6A�ig�6Jy�#@>R7J	K5�5K;E@TƾH  #A<(H(GY$��2NL4K#5#a=4&&4&�D��=�i��hv�}&?/"(
#A
 5KK5��;�����+54&#!764/&"2?64/!26 $$ &�
�[6��[[j6[��&���^����a�a@�&�4[��[6[��[6�&+�^����a�a�����+4/&"!"3!277$ $$ [��6[��
&&��[6j[
���^����a�ae6[j[6�&�&�4[j[��^����a�a�����+4''&"2?;2652?$ $$ ��[6[��[6�&�&�4[���^����a�af6j[[��6[��
&&��[��^����a�a�����+4/&"4&+"'&"2? $$ [6�&�&�4[j[6[j���^����a�ad6[��&&�
�[6��[[j��^����a�a������  $2>767676&67>?&'4&'.'.'."#&6'&6&'3.'.&'&'&&'&6'&>567>#7>7636''&'&&'.'"6&'6'..'/"&'&76.'7>767&.'"76.7"7"#76'&'.'2#22676767765'4.6326&'.'&'"'>7>&&'.54>'>7>67&'&#674&7767>&/45'.67>76'27".#6'>776'>7647>?6#76'6&'676'&67.'&'6.'.#&'.&6'&.5/�a����^����D&"	


	4
	$!	#
	
		
	



 
.0"�Y
	+


!	
	

$	
	"
+


		
	�Α	
		
����^����a�a��

	

			
	

	

		
	
		P� '-(	#	*	$

"
!				
*
!	

(				

	
��$�
		
2
�~�/$4&"2	#"/&547#"32>32�&4&&4��V%54'j&&�'��/덹���:,���{	&4&&4&�V%%l$65&�b��'C��r!"��k[G�+;%!5!!5!!5!#!"&5463!2#!"&5463!2#!"&5463!2����������&��&&�&&��&&�&&��&&�&�������@�&&&&�&&&&�&&&&��{#"'&5&763!2{�'
��**�)��*��)'/!5!#!"&5!3!26=#!5!463!5463!2!2���^B�@B^�&@&`��^B`8(@(8`B^��� B^^B�&&�����B^�(88(�^���G	76#!"'&?	#!"&5476	#"'&5463!2	'&763!2#"'��c�)'&�@*������*�@&('�c���(&�*�cc�*�&'
����*�@&('�c���'(&�*�cc�*�&('���c�'(&�@*��19AS[#"&532327#!"&54>322>32"&462 &6 +&'654'32>32"&462Q�g�Rp|Kx;CB��y��y� 6Fe=
BP���PB
=eF6 ��Ԗ��V����>!pR�g�QBC;xK|��Ԗ���{QNa*+%��x��x5eud_C(+5++5+(C_due2Ԗ�Ԗ�����>�NQ{u�%+*jԖ�Ԗ��p�!Ci4/&#"#".'32?64/&#"327.546326#"/&547'#"/&4?632632��(* 8(!�)(��A�('��)* 8(!U�SxyS�SXXVzxT�TU�SxyS�SXXVzxT�@(� (8 *(���(��'(�(8 ���S�SU�Sx{VXXT�T�S�SU�Sx{VXXT���#!"5467&5432632�������t,Ԟ;F`j�)��������6�,��>�jK?�s��
�!%#!"&7#"&463!2+!'5#�8Ej��jE8�@&&&&@������XYY�&4&&4&�qD�S�%��q%��N\jx��2"&4#"'#"'&7>76326?'&'#"'.'&676326326&'&#"32>'&#"3254?''7�4&&4&l��
�NnbS���VZbR��SD	
zz
	DS��Rb)+U���Sbn�
��\.2Q\dJ'.2Q\dJ.Q2.'Jd\Q2.'Jd`!O�`��	`�����&4&&4�r$#@�B10M�5TNT{L�5T
	II	
T5�L;l'OT4�M01B�@#$�*�3;$*�3;�;3�*$;3�*$�:$/� @@�Qq`��@���"%3<2#!"&5!"&5467>3!263!	!!#!!46!#!�(88(�@(8��(8(�`(�(8D<���+����+�<��8(�`(��8(�`�8(�@(88( 8(�(`�(8(��(������<��`(8��(`����`(8����||?%#"'&54632#"'&#"32654'&#"#"'&54632|�u�d��qܟ�s]
=
��Ofj�L?R@T?��"&�
>
�f?rRX=Ed�u�ds���q��
=
_M�jiL��?T@R?E& �f
>
�=XRr?��b���!1E)!34&'.##!"&5#3463!24&+";26#!"&5463!2����
��
08(��(8��8(@(8��
�

�
�8(��(88(�(`(����1

�`(88(���(88(@

��
�`(88(@(8(��`���#!"&5463!2�w�@w��w�w�`�@w��w�w��/%#!"&=463!2#!"&=463!2#!"&=463!2&��&&�&&��&&�&&��&&�&��&&�&&�&&�&&�&&�&&��@'7G$"&462"&462#!"&=463!2"&462#!"&=463!2#!"&=463!2�p�pp�pp�pp��
�@

�
��p�pp��
�@

�

�@

�
Рpp�p��pp�p���

�
�pp�p���

�
�

�
��<L\l|#"'732654'>75"##5!!&54>54&#"'>3235#!"&=463!2!5346=#'73#!"&=463!2#!"&=463!2}mQjB919+i1$AjM_3<��/BB/.#U_:IdDRE�
�@
�
����k*G�j�
�@
�

�@

�
TP\BX-@8
C)5�XsJ@�$3T4+,:;39SG2S.7<���

�vcc)�)%L�l�}�

��

�
���5e2#!"&=463%&'&5476!2/&'&#"!#"/&'&=4'&?5732767654'&��@�0��2uBo
T25XzrDCBB�Eh:%��)0%HPIP{rQ�9f#-+>;I@KM-/Q"�@@@#-bZ��$&P{<�8[;:XICC>.�'5oe80#.0(
l0&%,"J&9%$<=DTI���cs&/6323276727#"327676767654./&'&'737#"'&'&'&54'&54&#!"3!260%
<4�"VRt8<@<
-#=XYhW8+0$"+dT�Lx-'I&JKkm��uw<=V�@�!X@		v
'��|N;!/!$8:I�Ob�V;C#V

&
(���mL.A:9 !./KLwP�M�$��@@
��/?O_o��%54&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!26#!"&5463!2��@��@��@���@��@��@���@��@��@�^B��B^^B@B^�����������������������������N��B^^B@B^^���#+3	'$"/&4762%/?/?/?/?�%k��*��6�6��bbbb|��<<��<�bbbb��bbbb�%k���6���6Ƒbbb��<<��<<�^bbbbbb@��M$4&"2!#"4&"2&#"&5!"&5#".54634&>?>;5463!2�LhLLh����
	�	LhLLhL!'�Ԗ���Ԗ@'!&	
�?�&&LhLLhL�	�	
��hLLhL��	j��jj��j	&@6/"
��&&���J#"'676732>54.#"7>76'&54632#"&7>54&#"&54$ ���ok;	-j=y�hw�i�[+PM3ѩ���k=J%62>Vc��a�aQ�^��� ]G"�'9��r�~:`}�Ch�  0=Z�٤���W=#uY2BrUI1�^Fk[|��a�����L2#!67673254.#"67676'&54632#"&7>54&#"#"&5463�w��w�+U	,i<��F{�jh�}Z+OM

2ϧ���j<J%51=Ub�w��w��w�@w�zX"�'8'�T�yI9`{�Bf� 
,>X�բ���W<"uW1AqSH1�bd��w�w����'74'!3#"&46327&#"326%35#5##33#!"&5463!2����0U6c��c\=hl���ࠥ�Ymmnnnn�w�@w��w�w�w&�46#�Ȏ;ed����wnnnnn��@w��w�w����	]#/#"$&6$3 &#"32>7!5!%##5#5353����Е���tt����u�{�zz�{S�ZC�`�c�����o���t�*�t��q|��|.EXN#�??�������,<!5##673#$".4>2"&5!#2!46#!"&5463!2��r�M*
�*M~�~M**M~�~M*j����jj����&�&&&�`��P%��挐|NN|���|NN|�*�jj���jj�@��&&�&&@�
"'&463!2�@4�@&�Z4�@�4&@
#!"&4762&��&�4�Z4&&4��@@���
"'&4762�&4�@�4&@��&�4�&�@�
"&5462@�@4&&4��4�@&�&�@����
3!!%!!26#!"&5463!2�`��m��`
�^B��B^^B@B^���
 `���@B^^B�B^^��@
"'&463!2#!"&4762�@4�@&�&&��&�4��4�@�4&Z4&&4��@��
"'&463!2�@4�@&��4�@�4&@
#!"&4762&��&�4�Z4&&4��@��:#!"&5;2>76%6+".'&$'.5463!2^B�@B^,9j�9Gv33vG9�H9+bI��\
A+=66=+A
[��">nSM�A_:��B^^B1&�c*/11/*{�'VO�3��@/$$/@�*�?Nh^��l+!+"&5462!4&#"!/!#>32]��_gTRdg�d���QV?U��I*Gg?����!�2IbbIJaa���iwE33����00� 08����4#"$'&6?6332>4.#"#!"&54766$32z�䜬��m�
I�wh��QQ��hb�F�*�@&('�k�������z��
�	
_hQ��н�QGB�'(&�*�eoz�(���q!#"'&547"'#"'&54>7632&4762.547>32#".'632�%k'45%��&+�~(
(�h		&

\(
(�		&

~+54'k%5%l%%l$65+~

&		�(
(\

&		�h(
(~�+%��'��!)19K4&"24&"26.676&$4&"24&"24&"2#!"'&46$ �KjKKjKjKKj�e2.e<^P��,bKjKKj��KjKKjKjKKj��#��#���LlL�KjKKjKjKKjK��~-��M<M�(PM<rjKKjK�jKKjKujKKjK�������L���< 6?32$6&#"'#"&'5&6&>7>7&54$ L�h��я�W.�{+9E=�c��Q�d�FK��1A
0)���������p�J2`[Q?l&������٫�C58.H(Y��'����:d 6?32$64&$ #"'#"&'&4>7>7.546'&'&'# '32$7>54'Y����j`a#",5NK�
����~E�����VZ|�$2$
|��:
$2$�|ZV���:�(t}�����h�fR�88T
h�̲����X(	
&%(H�w��(%&	(X�ZT\�MKG�{x��|�!#"'.7#"'&7>3!2%632u��

�j
�H����{(e9
�1b���U#!"&546;5!32#!"&546;5!32#!"&546;5463!5#"&5463!2+!2328(��(88(`�`(88(��(88(`�`(88(��(88(`L4`(88(@(88(`4L`(8 ��(88(@(8��8(��(88(@(8��8(��(88(@(8�4L�8(@(88(��(8�L4�8����OY"&546226562#"'.#"#"'.'."#"'.'.#"#"&5476$32&"5462��И&4&NdN!>!
1X:Dx++w�w++xD:X1
-�U��
�!�*,*&4&��h��h&&2NN2D&

..J<
$$
<JJ<
$$
<J..

��P���bb&&�7!!"&5!54&#!"3!26!	#!"&=!"&5463!2��`(8��
�@

�
+��8(�@(8��(88(@(8�(��8(� @

@
�m+�U�`(88(�8(@(88(��
�h`���(\"&54&#"&46324."367>767#"&'"&547&547&547.'&54>2�l4

2cK�Eo���oED
)
�
�
�
)
D�g-;</-
?.P^P.?
-/<;-gY�����Y�

.2 L4H|O--O|HeO,����,Oe�q1Ls26%%4.2,44,2.4%%62sL1q�c�qAAq����4#!#"'&547632!2#"&=!"&=463!54632
��
��		@	
`
	��	
��

`?`�
�

@	
	@	
�!	��	
�
�
�
����54&+4&+"#"276#!"5467&5432632�
�
�
	`		_
�������v,Ԝ;G_j�)��``

��
	��		_ԟ����7
�,��>�jL>���54'&";;265326#!"5467&5432632	��		��
�
�
�
�������v,Ԝ;G_j�)���	`		����

`������7
�,��>�jL>�����X`$"&462#!"&54>72654&'547 7"2654'54622654'54&'46.' &6 �&4&&4&�y��y�%:hD:Fp�pG9�F�j� 8P8 LhL 8P8 E;
Dh:%������>�4&&4&}y��yD~�s[4D�d=PppP=d�>hh>@�jY*(88(*Y4LL4Y*(88(*YDw"
A4*[s�~����>�����M4&"27 $=.54632>32#"' 65#"&4632632 65.5462&4&&4�G9��������&
<#5KK5!��!5KK5#<
&ܤ��9Gp�p&4&&4&@>b�u��ោؐ&$KjK�nj��j�KjK$&����j��j�b>Ppp���
%!5!#"&5463!!35463!2+32����@\��\���8(@(8�\@@\������\@\���(88(��\��@��34#"&54"3#!"&5!"&5>547&5462�;U gI@L4�@�Ԗ�@4L2RX='�8P8��'=XR� U;Ig04Lj��jL4*\���(88(�����\��@"4&+32!#!"&+#!"&5463!2�pP@@P���j�j�@�@�\�@\�&��0�p����j��	��� \��\�&��-B+"&5.5462265462265462+"&5#"&5463!2�G9L4�4L9G&4&&4&&4&&4&&4&L4�4L�
��&���=d��4LL4d=�&&�`&&�&&�`&&�&&��4LL4
 ��&�#3CS#!"&5463!2!&'&!"&5!463!2#!"&52#!"&=4632#!"&=463�(8(��(88(�(`�x
��c�`(8���@��@��@�`(��(88(@(8(D��9�8(��`@�@@�@@��/?O_o��������-=%+"&=46;25+"&=46;2+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2+"&=46;2!!!5463!2#!"&5463!2�
@

@

@

@

@

@
�
@

@

@

@
�
@

@
�
@

@
�
@

@

@

@
�
@

@
�
@

@
�
@

@

@

@
�
@

@
�
@

@

@

@
�
@

@

@

@
�����
@
&�&&&�@

@
�@

@

@

@
�@

@
��@

@
�@

@
�@

@
�@

@
��@

@
�@

@
�@

@
�@

@
��@

@
�@

@
�@

@
��@

@
�@

@

@

@
����

`��&&�&&
��/?O_o�����%+"&=46;25+"&=46;2+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2+"&=46;2!!#!"&=!!5463!24&+"#54&+";26=3;26%#!"&5463!463!2!2�
@

@

@

@

@

@
�
@

@

@

@
�
@

@
�
@

@

@

@
�
@

@

@

@
���8(�@(8��
@

@
�
@

@
�
@
&�&&@8(�(8@&�@

@
�@

@

@

@
�@

@
��@

@
�@

@
�@

@
��@

@
�@

@

@

@
��� (88( ���

�@

``

��

``
-�&&& (88(��&@����<c$4&"2!#4&"254&+54&+"#";;26=326+"&5!"&5#"&46346?>;463!2�KjKKj�����KjKKj�������&��Ԗ���Ԗ�&&�@�&�&KjKKjK��
��jKKjK ������.��&j��jj��j&4&�@�@&&���#'1?I54&+54&+"#";;26=326!5!#"&5463!!35463!2+32����������� \��\����8(@(8�\  \����������\@\���(88(��\����:
#32+53##'53535'575#5#5733#5;2+3����@��E&&`�@@��`  ����  `��@@�`&&E%@�`��@ @ @��		 �� � � � �� 		��@ 0
@��!3!57#"&5'7!7!��K5�������@ � � @���5K�@����@@��� �����#3%4&+"!4&+";265!;26#!"&5463!2&�&�&�&&�&&�&�w�@w��w�w���&&��@&&��&&@��&&��@w��w�w�����#354&#!4&+"!"3!;265!26#!"&5463!2&��&�&��&&@&�&@&�w�@w��w�w�@�&@&&��&�&��&&@&:�@w��w�w��-M�3)$"'&4762	"'&4762	s
2

�.

�

2

�w��
2

�.

�

2

�w��
2

�

�

2

�w�w

2

�

�

2

�w�w
M�3)"/&47	&4?62"/&47	&4?62S
�.

2

��w

2

��
�.

2

��w

2

�M
�.

2

��

2

�.

�.

2

��

2

�.M�3S)$"'	"/&4762"'	"/&47623
2

�w�w

2

�

�

2

�w�w

2

�

��
2

��w

2

�

�.v
2

��w

2

�

�.M�3s)"'&4?62	62"'&4?62	623
�.

�.

2

��

2

�.

�.

2

��

2�
�.

�

2

�w�

2v
�.

�

2

�w�

2-Ms3	"'&4762s
�w�

2

�.

�

2�
�w�w

2

�

�

2
MS3"/&47	&4?62S
�.

2

��w

2

�M
�.

2

��

2

�.M
3S"'	"/&47623
2

�w�w

2

�

�m
2

��w

2

�

�.M-3s"'&4?62	623
�.

�.

2

��

2-
�.

�

2

�w�

2���/4&#!"3!26#!#!"&54>5!"&5463!2
��

@
�^B��  &�&  ��B^^B@B^ @

��
M��B^%Q=
&&<P&^B@B^^�+3"&5463!2#3!2654&#!"3#!"&=324+"3�B^^B@B^^B��
@

��
`�^B��B^�p�^B�B^^B�@B^`�@

�
�S`(88(``  ��'$4&"2%4&#!"3!26#!"&5463!2�&4&&4�
��

@
�^B��B^^B@B^f4&&4&��

�@
��B^^B@B^^/$4&"2%4&#!"3!264+";%#!"&5463!2�/B//B�
�


���0L4�4LL44L_B//B/��

�@
M   �4LL44LL���  >& $$ ������(���r���^����a�a��������(���^����a�a����!C#!"&54>;2+";2#!"&54>;2+";2pP��PpQ��h@&&@j�8(�Pp�pP��PpQ��h@&&@j�8(�Pp@��PppP�h��Q&�&�j (8pP��PppP�h��Q&�&�j (8p��!C+"&=46;26=4&+"&5463!2+"&=46;26=4&+"&5463!2Q��h@&&@j�8(�PppP�Pp�Q��h@&&@j�8(�PppP�Pp��@h��Q&�&�j (8pP�PppP�@h��Q&�&�j (8pP�Ppp@�@�	#+3;G$#"&5462"&462"&462#"&462"&462"&462"&462#"&54632K54LKj=KjKKj��KjKKj�L45KKjK�<^�^^��KjKKj��p�pp���\]��]\��jKL45K��jKKjKujKKjK��4LKjKK�^^�^��jKKjK��pp�p�r]��]\����� $$ ���^����a�aQ�^����a�a�����,#"&5465654.+"'&47623 #>bq��b�&4�4&�ɢ5����"		#D7e�uU6�&4&��m����1X".4>2".4>24&#""'&#";2>#".'&547&5472632>3�=T==T=�=T==T=��v)�G�G�+v�@b��R�R��b@�=&����\N����j!>�3l�k����i�k3�hPTDDTPTDDTPTDDTPTDD|x��xX�K--K��|Mp<#	)>dA{��RXtfOT# RNftWQ���,%4&#!"&=4&#!"3!26#!"&5463!2!28(�@(88(��(88(�(8��\�@\��\@\��\���(88(@(88(�@(88�@\��\�\��\ �u�'E4#!"3!2676%!54&#!"&=4&#!">#!"&5463!2!232�5��([��5@(\&��8(��(88(��(8,�9.��+�C��\��\@\� \��6Z]#+��#,k��(88(@(88(��;5E�>:��5E�\�\��\ �\�1. ���$4@"&'&676267>"&462"&462.  > $$ n%��%/���02�
KjKKjKKjKKjKf���ff�������^����a�a�y��y/PccP/�jKKjKKjKKjK���ff���ff�@�^����a�a�����$4@&'."'.7>2"&462"&462.  > $$ n20���/%��7KjKKjKKjKKjKf���ff�������^����a�a3/PccP/y��	jKKjKKjKKjK���ff���ff�@�^����a�a�����+7#!"&463!2"&462"&462.  > $$ �&��&&��&KjKKjKKjKKjKf���ff�������^����a�a�4&&4&�jKKjKKjKKjK���ff���ff�@�^����a�a���#+3C54&+54&+"#";;26=3264&"24&"2$#"'##"3!2@������@KjKKjKKjKKjK����ܒ���,����������gjKKjKKjKKjK�X�Ԁ�,�,��#/;GS_kw�����+"=4;27+"=4;2'+"=4;2#!"=43!2%+"=4;2'+"=4;2+"=4;2'+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;54;2!#!"&5463!2�``����``��`��``�``�``�``�``�``�````�p`���K5��5KK5�5Kp``�``�``��``�``�``��``�``��``��``�````��`��������5KK5�5KK@���*V#"'.#"63232+"&5.5462#"/.#"#"'&547>32327676���R?d�^��7ac77,9x�m#@#KjK�#
ڗXF@Fp:f��_ #W��Ip�p&3z�	�h[ 17��q%q#:��:#5KKu�'t#!X:	%�#+=&>7p@���*2Fr56565'5&'.	#"32325#"'+"&5.5462#"/.#"#"'&547>32327676@��ͳ�����8
2.,#,f�k*1x���-!���#@#KjK�#
ڗXF@Fp:f��_ #W��Ip�p&3z�	�e�`��v�o�8�t-�	�:5	��[�*�#:��:#5KKu�'t#!X:	%�#+=&>7p
�3$	"/&47	&4?62#!"&=463!2I�.

2

��w

2

�
-�@�)�.

2

��

2

�.
�-@@-��S�$9%"'&4762		/.7>	"/&47	&4?62i2

�.

�

2

�w�
E��>

u>

��.

2

��w

2

�
�2

�

�

2

�w�w
!��




�h�.

2

��

2

�.
���;#"'&476#"'&7'.'#"'&476�'
�)'�s
"+5+�@ա'
�)'����F*4*E�r4�M:�}}8��GO
�*4*������~�
(-/'	#"'%#"&7&67%632���B�;><���V�?�?V�� -����-C�4
<B�=�cB5���!%��%!�b 7I�))�9I7���	#"'.5!".67632y��(
��#

��##@,(
�)���8!	!++"&=!"&5#"&=46;546;2!76232-S��S����������S�

		��S��S�`���`���		

������K$4&"24&"24&"27"&5467.546267>5.5462 8P88P88P88P�8P88P�4,�C��S,4p�p4,,4p�p4,6d7AL*',4p�pP88P8�P88P8HP88P8`4Y��&+(>EY4PppP4Y4Y4PppP4Y�%*<O4Y4Ppp���
%@\ht�	"'&4762"&5462&#!"&463!2#"'&'7?654'7&#"&'&54?632#!"&463!2"&5462"'&4762��		

	����@U�SxyS���R���#PT����('�#��TU�SxySN���@����		

		�		

		
3��@��xS�SUO#���'(���V^�'(���PVvxS�SU��i��@��		

		
`�<+"&=46;2+"&=467>54&#"#"/.7!2���<'G,')7��N;2]=A+#H

�
�0P��R��H6^;<T%-S�#:/*@Z}


>h���.%#!"&=46;#"&=463!232#!"&=463!2�&�&&@@&&�&@&�&�&&&��&&�&�&�&&��&f�&&�&&b�#!"&=463!2#!"&'&63!2&�&&&'�'%@% �&&�&&�&&&&�k%J%#/&'#!53#5!36?!#!'&54>54&#"'6763235���
����Ź���}���4NZN4;)3.i%Sin�1KXL7觧�*		��#��&		*������@jC?.>!&1'\%Awc8^;:+<!P��%I%#/&'#!53#5!36?!#!'&54>54&#"'6763235���
����Ź���}���4NZN4;)3.i%Pln�EcdJ觧�*		��#��&		*������-@jC?.>!&1'\%AwcBiC:D'P%!	#!"&'&6763!2�P������&:�&?�&:&?����5"K�,)""K,)���h#".#""#"&54>54&#"#"'./"'"5327654.54632326732>32�YO)I-D%n "h.=T#)#lQTv%.%P_�	%	
%�_P%.%vUPl#)#T=@�/#,-91P+R[�Ql#)#|'�'
59%D-I)OY[R+P19-,##,-91P+R[YO)I-D%95%�_P%.%v���'3!2#!"&463!5&=462 =462 &546 ����&&��&&��&4&r&4&�������@����&4&&4&�G݀&&������&&f��������
��sCK&=462	#"'32=462!2#!"&463!5&'"/&4762%4632e*&4&i����76`al�&4&���&&��&&}n�

R

�

R
�z����f�Oego�&&�5�����`3��&&����&4&&4&�
D�

R

�

R
z����v���"!676"'.5463!2@�@w^�Cc�t~55~t�cC&�&@���?J���V��|RIIR|��V&&��#G!!%4&+";26%4&+";26%#!"&546;546;2!546;232�����@@@@�L4��4LL4�^B@B^�^B@B^�4L�� �� ��N�4LL44L`B^^B``B^^B`L����L4&"2%#"'%.5!#!"&54675#"#"'.7>7&5462!467%632&4&&4��@�o�&�&}c ;pG=(
8Ai8^�^.�&4&&4&`��	`f�s��&& j�o/;J!#2
 KAE*,B^^B!`	$� ��-4&"2#"/&7#"/&767%676$!2�8P88P��Qr��	@
U���	@�
{`P�TP88P8�����P`��
�	@U	@�rQ���!6'&+!!!!2Ѥ���
8�������̙�e�;<*��@8 !�G��G�GQII���� %764'	64/&"2 $$ �f��3f4�:�4����^����a�a�f4334f�:4�:�^����a�a����� %64'&"	2 $$ ���:4f3��f4F���^����a�a��4�f4���4f�^����a�a����� 764'&"27	2 $$ �f�:4�:f4334����^����a�a�f4��:4f3���^����a�a����� %64/&"	&"2 $$ -�f4���4f�4����^����a�a��4f��3f4�:w�^����a�a���@��7!!/#35%!'!%j��/d��
�jg2�|�8�����������55���dc ��b���@��!	!%!!7!���FG)��D�H:�&�H����d���S)��U4&"2#"/ $'#"'&5463!2#"&=46;5.546232+>7'&763!2�&4&&4f]w�q�4�qw]	`dC���&&�:F�ԖF:�&&���Cd`�4&&4&����	]����]	`d[}�&�&�"uFj��jFu"�&�&�y}[d�#2#!"&546;4 +"&54&" (88(�@(88( r&@&�Ԗ8(��(88(@(8@����&&j��j�����'3"&462&    .  > $$ �Ԗ������>a��X��,��f���ff�������^����a�a�Ԗ�Ԗ�a>����T�X��,�,�~�ff���ff�@�^����a�a����/+"&=46;2+"&=46;2+"&=46;2�8(�(88(�(88(�(88(�(88(�(88(�(8 �(88(�(88(�(88(�(88(�(88(�(88��/+"&=46;2+"&=46;2+"&=46;2�8(�(88(�(88(�(88(�(88(�(88(�(8 �(88(�(88�(88(�(88�(88(�(88���5E$4&"2%&'&;26%&.$'&;276#!"&5463!2KjKKj�
���
��
�
f���	

�\�
�
�w�@w��w�w��jKKjK"�G

�
ܚ

��f


�
���

	�@w��w�w�����  $64'&327/�a����^�����  ��!  ����^����a�a��J@%��%	6�5��/	64'&"2	"/64&"'&476227<���ij��6��j6��u%k%~8p�8}%%�%k%}8p�8~%<���<�ij4j��4����t%%~8�p8~%k%�%%}8�p8}%k���54&#!"3!26#!"&5463!2&��&&�&�w�@w��w�w�@�&&�&&:�@w��w�w����/#!"&=463!24&#!"3!26#!"&5463!2���@�^B��B^^B@B^��w��w��w@w��@@�2@B^^B��B^^���w��w@w���+#!"'&?63!#"'&762�(��@�	@�(@>@�%����%%��� ���!232"'&76;!"/&76 �
�($��>��(����
		��J ���&%�����$%64/&"'&"2#!"&5463!2�ff4�-�4ff4f�w�@w��w�w��f4f�-�f4����@w��w�w�����/#5#5'&76	764/&"%#!"&5463!2��48`���
#�� ����\�P\��w�@w��w�w���4`8�
��
#�@  ���`\P�\`�@w��w�w�����)4&#!"273276#!"&5463!2&� *���f4�
'�w�@w��w�w�`�&')���4f�*�@w��w�w�����%5	64'&"3276'7>332#!"&5463!2�`��'(wƒa8!
�,j.��(&�w�@w��w�w��`4`*�'?_`ze<��	bw4/�*��@w��w�w�����-.  6 $$ ���� �������(�r���^����a�a���O����(��������_�^����a�a�����
-"'&763!24&#!"3!26#!"&5463!2y��B��(�(�
�@

�
�w�@w��w�w�]#�@�##� �

�@
�@w��w�w�����
-#!"'&7624&#!"3!26#!"&5463!2y(��(@B@u
�@

�
�w�@w��w�w��###��@���

�@
�@w��w�w�����
-'&54764&#!"3!26#!"&5463!2@�@####���@��w�@w��w�w��B��(�(������@�@w��w�w����`%#"'#"&=46;&7#"&=46;632/.#"!2#!!2#!32>?6�#
!"'�?_

BCbCa�f\	+
~�2�	
��
	�}0�$

��
q
90r�
�

�pr%Dpu���?#!"&=46;#"&=46;54632'.#"!2#!!546;2��D
a__����	g	

*`-Uh1

��������

�߫�}
	$^L��
���
4��b+"&=.'&?676032654.'.5467546;2'.#"�ǟ�
B{PDg	q�%%Q{%P46'-N/B).ĝ
�9kC<Q
7>W*_x*%K./58`7E%_���
�	,-3�
cVO2")#,)9;J)���
�"!*�
#VD,'#/&>AX��>++"''&=46;267!"&=463!&+"&=463!2+32��Ԫ�$
�	��	
p���U�9ӑ
@�/�*f�����o�	

VRfq
�f=S��E!#"&5!"&=463!5!"&=46;&76;2>76;232#!!2#![�
��

 ��

��
�
�%
)��
	���

��"

��Jg
Uh
B�W&WX���
hU
g��
�84&#!!2#!!2#!+"&=#"&=46;5#"&=46;463!2�j��@jo�����
������g�|�@��~�v����v�
u�n#467!!3'##467!++"'#+"&'#"&=46;'#"&=46;&76;2!6;2!6;232+32Q�Kt#�� ��#F�N�Qo!��"�դ��ѧ����!�mY

�Zga~bm]�

[o�"�U+��������,����� @��h��
h@�@X
��h��h
��@�8���3H\#5"'#"&+73273&#&+5275363534."#22>4.#2>��ut
3NtR�P*�H�o2

Lo�@!�R(�Ozh=�,G<X2O:&D1A.1G$<2I+A;"B,;&$��L��GlF/�����3�D�����;a��$8$��".�!3!
��.�3!#!"&5463!���8( 8(��(88( ��h (8��(88(@(8�(8H!!#!"&5463!54&#!"3!2654&#!"3!2654&#!"3!26��(D 8(��(88( 8��@��@��@�$����(88(@(8��(8� @@@@@@"�}
$BR3/&5##"'&76;46;232!56?5"#+#5!76;5!53'#3!533��H��
��

�����D��q		�x7��	���K/�/K��F��h�/"���		@`����Z		s�Y��w�jj��jj��j"�}
$4R%3/&5##"'&76;46;232!53'#3!533!56?5"#+#5!76;5��H��
��

��������K/�/K��F����q		�x7��	�h�/"���		@`����jj��jj��j�Z		s�Y��
w"�)9IY%#"'&76;46;232#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2�
��

����� ��@������@���`��		@`�����������"�)9IY#!"&=463!2%#"'&76;46;232#!"&=463!2#!"&=463!2#!"&=463!2��� 
��

�������@��������@ ��r��		@`��r������"��
$CV%4&#"326#"'&76;46;232%#"'&'73267##"&54632!5346=#'73BX;4>ID2F��
��

������8PuE>.'%&TeQ,j��m{��+�>R�{�?jJrL6V��		@`��7>wmR1q
uW�ei��/rr�
:V��r"��
$7V4&#"326#"'&76;46;232!5346=#'73#"'&'73267##"&54632BX;4>ID2F��
��

������+�>R�{�8PuE>.'%&TeQ,j��m{��?jJrL6����		@`���rr�
:V��r3>wmR1q
uW�ei����@�\%4&#"326#!"&5463!2+".'&'.5467>767>7>7632!2&%%&�&��&& &�7.'	:@�$LB�WM{#&$h1D!		.I/!	Nr�&&%%��&&�&&V?, L=8=9%pEL+%�%r@W!<%*',<2(<&L,"r�@\#"&546324&#!"3!26%#!#"'.'.'&'.'.546767>;&%%&�&��&& &i7qN��	!/I.		!D1h$&#{MW�BL$�@:	'.�&&%%���&&��&&�=XNr%(M&<(2<,'*%<!W@r%�%+LEp%9=8=L ���	+=\d����%54#"327354"%###5#5#"'&53327#"'#3632#"'&=4762#3274645"=424'.'&!  7>76#'#3%54'&#"32763##"'&5#327#!"&5463!2��BB��PJN�C'%!	B?)#!CC $)�54f�"��@@
B+����,A

A+�&�+A
�
ZK35N #J!1331�CCC $)��w�@w��w�w��2��"33�F�Y�F~��(-%"��o�4*)$�(*�	(&;�;&&9LA38�33�4��S,;;,W��T+<<+T;(��\g7�x�:&&:�:&&<r����%-�@w��w�w����	+=[c}���#"'632#542%35!33!3##"'&5#327%54'&#"5#353276%5##"=354'&#"32767654"2 '.'&547>76 3#&'&'3#"'&=47632%#5#"'&53327�''RZZ�:k��id YYY.06�	62+YY-06	R[!.�'CD''EH$��VV�X:���:Y
X;��:Y
�fyd/%jG�&DC&&CD&O[52.
[$�C-D..D�^^���* l�y1%=^�I86�i077S
3
$EWgO%33%O�O%35	��EE�F�W�t;PP;p��t;PP;p�q��J�gT��F�Q%33&P�P%33%R�
7>%3���!+}��{�'+"&72'&76;2+"'66;2U
�&�
��	�(���P

�*��'�e�J."�-d�Z��-n �-���'74'&+";27&+";276'56#!"&5463!2�~�}�		�7��e �	���۩w�@w��w�w��"���
$Q#�'�!#
����@w��w�w��
�I-22#!&$/.'.'.'=&7>?>36����9II ! '	$ !�����01$$%A'	$ ! ����g	
\7@�)(���7Y
	
 \7@�)(���7Y
@����	'5557	���,���VW�QV���.R���W��=���?��l��%l`��������~����0��!#!#%777	5!	������R!!�XC�C��fff�݀�#�� `��,��������{��{{�`��������Og4&"2 &6 $"&462$"&62>7>7>&46.'.'. '.'&7>76 �Ԗ�� ���HR6L66L�G�HyU2LL2UyH��HyU2LL2UyHn
��X�6X��

��X�X��
Ԗ�Ԗ�����H�6L66L6�L2UyH��HyU2LL2UyH��HyU2L�n�6X��

��X�X��

�����2#!"&54634&"2$4&"2�w��w�@w��w�|�||��|�||���w�@w��w�w����||�||�||�|���	!3	37! $$ �n6^�5�5^h
����^����a�a������M�1�^����a�a���P��
*Cg'.676.7>.'$7>&'.'&'? 7%&'.'.'>767$/u5'&$I7o�b?K�\[z�H,1���+.@\7<��?5\V
,$V��g.GR@ �7��U,+!�����
	#	"8$}�{)�<�?L RR;kr,yE[��z#	/1
"#	#�eCI0/"5#`�	��"8���4~&p)4	2�{�H-.%W.L>���':Yi4&67&'&676'.'>7646&' '7>6'&'&7>7#!"&5463!2PR$++'TJX�j7-F��C',��,&C
."��!$28��h�/���"�	+p��^&+3$
i��0(�w�@w��w�w��+.i6=Bn\C1XR:#"�'jj�8Q.cAj�57!?"0D��$4"P[
&2�@w��w�w��D��"%.5#5>7>;!!76�P�Yh�pN!�HrD0�M��
 C0N��#>8\xx: �W]oW-�X���45���/%'#.5!5!#"37>#!"&5463!2p>,;$4
��5eD�+W�cE���w�@w��w�w�K�()��F
,VhV��^9tjA0/�@w��w�w���@�#"'&76;46;23�
��


��
	���&��

��� ���++"&5#"&7632�	���
^


c
� �&�

��@�#!'&5476!2� &��

����
^


b	���'&=!"&=463!546�
��� �&�
�
��	���
��
��q&8#"'&#"#"5476323276326767q'T��1[VA=QQ3���qq�Hih"-bfGw^44O#A���?66%CKJ�A}}�  !"�䒐""A$@C3^q|�z=KK?6�lk)���%!%!��V��V��u��u�u^-�m5�w��}�n�����~7M[264&"264&"2"&546+"&=##"&5'#"&5!467'&766276#"&54632�  �  ��*<;V<<O@-K<V<�<+*<J.@�k��c�lG
H_�_H
�<+*<<*+<    �<*�R+<<+�*<�f.@�+<<+��+<<+�@.��7�uu�7�
�**�
���R+<<+�+;;	��"%3I�#5472&6&67><&4'>&4.'.'.'.'.'&6&'.'.6767645.'#.'6&'&7676"&'&627>76'&7>'&'&'&'&766'.7>7676>76&6763>6&'&232.'.6'4."7674.'&#>7626'.'&#"'.'.'&676.67>7>5'&7>.'&'&'&7>7>767&'&67636'.'&67>7>.'.67�	\
��
	U7	
J#!W!'	

"';%

k	)"	
	'


/7* 		I	,6
*&"!

O6*
O $.(�	*.'

.x�,	$CN��	
�		*	�
6
		
7%&&_f&
",VL,G$3�@@$+
"


V5 3"	
""�#dA++
y0D-%&n4P'A5j$9E#"c7Y
6"	&
8Z(;=I50' !!e
�R
��
"+0n?�t(-z.'<>R$A"24B@(	~	9B9,	*$		
		<>	?0D�9f?Ae �	.(;1.D	4H&.Ct iY% *	�
7��


��
J	 <
W0%$	
""I!
*D	 ,4A'�4J"	.0f6D�4p�Z{+*�D_wqi;�W1G("%%T7F}AG!1#% JG3��� '.2>Vb%&#'32&'!>?>'&' &>"6&#">&'>26 $$ *b6�~�#��= ���XP2��{&%gx|�� .���W)o���O��LO�sEzG<��	CK}E	$MFD<5+
z���^����a�a$�MW�M��1>]|�YY�^D
�եA��<��K�m����E6<�"�@9I5*�^����a�a�����>^4./.543232654.#"#".#"32>#"'#"$&547&54632632�':XM1h*�+D($,/9p�`D�oC&JV<�Z PA3Q1*223�I�oBkែhMI����oPែhMI��oP�2S6,M!"@-7Y.?oI=[<%$('3 -- <-\�%Fu���Po��IMh���Po����IMh,���#?D76&#!"7>;267676&#!"&=463!267
#!"'&5463!26�%�8#!�
��&&Z"�M>2!��
	�^I7LRx_@�>MN�""��`�=&&*%�I�}��,
	�	L�7_jj��9����/%4&#!"3!264&#!"3!26#!"&5463!2�� ��� ��&��&&�&��������&&�&&��19#"'#++"&5#"&5475##"&54763!2"&4628(3�-�	&�B.�.B�&	�-�3(8Ig�gI�`������(8+U��e&��.BB.&����+8(�kk��`�������%-"&5#"&5#"&5#"&5463!2"&4628P8@B\B@B\B@8P8pP�Pp�����@�`(88(`�p.BB.�0.BB.���(88(�Pppͺ�������!%>&'&#"'.$ $$ ^/(V=$<;$=V).X���^����a�a��J`"(("`J��^����a�a��,���I4."2>%'%"/'&5%&'&?'&767%476762%6�[���՛[[���՛o��
�ܴ
 
���
��	��	$
$�	"	�$
$	��	�՛[[���՛[[�5`��

^�

�^

2`��
`2

^��^

��`
�����1%#"$54732$%#"$&546$763276�68��ʴh�f�킐&^�����zs��,!V[���vn)�	�6���<��ׂ�f{���z����}))N�s���3(@����+4&#!"3!2#!"&5463!2#!"&5463!2@&�&&f&��&&�&@&�&&&�4&&4&�@&&�&&��&&&& ��`�BH+"/##"./#"'.?&5#"&46;'&462!76232!46 `&�C�6�@Bb0�3eI;��:�&&�&4�L�4&���F���
�Z4&�w�4�) ���''
�5�r�&4&&�4&��&4��������}G�#&/.#./.'&4?63%27>'./&'&7676>767>?>%6}�)(."�2*&�@P9A
#sG�q]
#lh�<*46+(
	
<
5�R5"*>%</
 '2�@� 53*9*,�Z&VE/#E+)AC
(���	2k<X1$:hI(B
"	!:4Y&>"/	+[>hy
	���K
!/Ui%6&'&676&'&6'.7>%.$76$% $.5476$6?62'.76&&'&676%.76&'..676�#"NDQt	
�-�okQ//�jo_	������	���%&J�������Ղ���YJA-��.--
9\DtT+X?*<UW3'	26$>>�W0{�"F!"E �

^f`$"�_]\�<`�F�`�F�D��h>Cw�ls���J@�;=?s
:i_^{8+?`
)
O`�s2R�DE58/K��r	#"'>7&4$&5m��ī��"#���̵�$5���$�"^^W����=���ac��E�*���c������zk./"&4636$7.'>67.'>65.67>&/>z X^hc^O<q����+f$H^XbVS!rȇr?5GD_RV@-FbV=3!G84&3Im<$/6X_�D'=NUTL;2KPwt��Pt= 

�&ռ
,J~S/#NL,��8JsF);??1zIEJpq�DIPZXSF6\?5:NR=��;.&1��+!"&=!!%!5463!2�sQ9����Qs�*�*�*sQNQsBUw��
wUBF��H���CCTww���%1#"&=!"&=463!54632.  6 $$ �	��	
��

`?��������(�r���^����a�a�	��	
�
�
�
���(��������_�^����a�a�����%1#!#"'&47632!2.  6 $$ �
����		@	
`
��������(�r���^����a�a�
�
?		@	
���(��������_�^����a�a�����/#"'&476324&#!"3!26#!"&5463!2&�@�&
�@

�
�w�@w��w�w����&@B@&���

�@
�@w��w�w�����"&462  >& $$ �Ԗ��*�����(���r���^����a�a�Ԗ�Ԗ �������(���^����a�a���]�6#"$54732>%#"'!"&'&7>32'!!!2�f:�л����Ѫz��~�u:�
(�(%`V6B^hD%��i�(�]̳ޛ	��*>�6߅�����r�#�!3?^BEa�߀�#�9���#36'&632#"'&'&63232#!"&5463!2
��Q,&U�#+'
 �;il4L92<D`����w�@w��w�w�����`9ܩ6ɽ]`C4�7�7�&�@w��w�w����D+"&5#"'&=4?5#"'&=4?546;2%6%66546;2�������
	
��
	
��w�ww�w�������cB
�G]B
�G��t�y]t�y�
���#3C#!+"&5!"&=463!46;2!24&#!"3!26#!"&5463!2���@��`@`�^B��B^^B@B^��w��w��w@w��@��`@`���2@B^^B��B^^���w��w@w�����'/?P+5#"&547.467&546;532!764'!"+32#323!&ln��@
:MM:
@��nY*�Yz--zY�*55QDD�U���9p��Y-`]��]`.X /2I$�	t�@@/!!/@@3,$,3�$p$0�0��&*0��&���&��
!P@���RV2#"&/#"&/#"&546?#"&546?'&54632%'&54632763276%�>S]�8T;/M7��7T</L7�=Q7,�i�<R7,�5T</L666U;/M5�<U<,�i���6i���Q=a!;�;V6-�j�;V6-�5	P=/L596Q</L5�<U6-�i�;V7,�7O;-I6��8��i;k���)I2#!"&5463#9"'.'.'3!264&#!"2>7%>�w��w�@w��w�!"�5bBBb/�/*
8(@(87)��(8=%/�'#?��w�@w��w�w����#~$EE y &�L(88e):8(%O r		

		�O�?GQaq47&67>&&'&67>&"&#6$32#"#"'654  $&6 $6&$ Co��L��.*�KPx���.*� 
iSƓi
7J?��~�pi{_Я�;��lL�������UZ=刈�����刈�����_t'<Z
�:!
	���@!
��j`Q7$k�y, R����f��k*4�������LlL��=Z=刈��������&$&546$7%7&'5>�����]���5��%��w�����������&��P�?�zrSF�!|��&0	##!"&5#5!3!3!3!32!546;2!5463���)�
)����;)��);;)��)���&&������&@@&�&��&��	�
6 $&727"'%+"'&7&54767%&4762������֬>4P���t+8?::
	�	
::AW��``���EvEEvE<�.���"�e$IE&�O�&EI&�{h.`��m���"&#"&'327>73271[
>+)@
(���]:2,C?��*%�Zx/658:@#N
�C�=�E�(�o��E=��W'c:������#!#"$&6$3 &#"32>7!����ڝ���yy��,��{��ۀ�ہW�^F!�L�C=���y�:�y��w���߂0H\R%�"N^ '&76232762$"&5462"&46274&"&'264&#"'&&#"32$54'>$ $&6$ G>��>0yx1��4J55J�5J44J5�Fd$��?�4J55%6�E��#42F%��$f�������LlL�q>>11�J44%&4Z%44J54R1F$Z-%45J521��Z%F1#:��ʎ 9�������LlL�����#Qa"'&7622762%"&5462"&546274&#"&'73264&#"'&&#"32654'>#!"&5463!2�

5�5

*�*��.>.-@-R.>.-@-�<+*q�6�- -- 0�<�o,+< ��3�w�@w��w�w��

55

**�.. -- .. --G*<N�' ,-@-+*��M <*2
z��z
1�@w��w�w�����0<754&""&=#326546325##"&='26 $$ bZt�t&�sRQs��Z<t�sQ���^����a�a�>OpoO��xzRrqP6�z~{{Prr��^����a�a�����]054&"#"&5!2654632!#"&57265&<T<����H<T<������H������<T<8v*<<*������
��+;;+l���:�������=:��*;;*���
%!!"!!26#!"&5463!2��@� ]���]�@�w�@w��w�w�����]� �@��@w��w�w���	
%)3!!#335!!5!5!%#!!5!5!%#H��H{����R��H��H{���G��G{�)���q���G����R�R�q���R�R�q�����	#0@#"'632#"'632&#"7532&#"#7532#!"&5463!2L5+*5��L5+*5~�}7W|�3B}��}JC��7=}�w�@w��w�w�D�ZQ�[�1�N:_��)�i�$��)���@w��w�w��
)�	�����������6.#&#"'&547>'&#".'&'#"&5467%&4>7>3263232654.547'654'63277.'.*#">7?67>?>32#"'7'>3'>3235?�K�cgA+![<E0y�$,<'.cI
	,#� '!;7$�=ep���	��/�/7/
D+R>,7*
2(-#=
	/~[(D?G  �|,)"#+)O��8,+�'�6	y{=@��0mI�#938OA�E`
-�
)y_/FwaH8j7=7?%����a	%%!?)L
J
9=5]~�pj

 %(��1$",I 
$@((�
+!.S		-L__$'-9L	5V��+	
	6�T+6.8-$�0��+
t�|S1��6]�&#"'&#"67>76'&'&#"67>32764.#"#.32>67>7 $&54>7>7>7�rJ�@"kb2)W+,5/1		#

Z
-!��$IOXp7s�LCF9�vz NAG#/ 5|����Հ';RKR/J#=$,�9,�+$UCS7'2"1
 !�/
,

/--ST(::(�ep4AM@=I>".)x��ls��Y�|qK@
%(YQ�&N
EHv~����<Zx'#"&5467&6?2?'&"/.7.546326#"&'&/7264/7'764&"'?>>32.��A�UpIUxYE.A�%%%h%����%hJ%�����D,FZxULsT�gxUJrV�D�%hJ%�����@/LefL.C�%Jh%�����C�VsNUxϠ�@.FZyUHpV�A�%h&%%���%Ji%�����C�WpIUybJ/��Uy^G,D�%Jh%�����@�UsMtU�C�%hJ%�����C-Kfy�EX[_gj��&/&'.''67>7>7&'&'&'>76763>7>#&'&'767672'%'7'+"&'&546323267>7%#"'4'6767672,32�,+DCCQL�Df'
%:/d
B	4@}
�&!0$�?�����J�f�d�f-�.=���6(��:!TO�?
!I�G_�U%
����.
k*.=;�	5gN_X��	"
##
292Q41�
��*����6���nA;�|�
�BSN.	%1$����
6	$��nk�^�'7GWgw�����2+"&5463#!"&5463!254&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";26#"&=! B^^B�B^^B�:F�j��B^8(�(`�(� ������������������`�(8���^B��B^^B@B^�"vE�j�^B(8(�`(�����������������������8(����/?O_o��������/?2#!"&5463;26=4&+";26=4&+";26=4&+";26=4&+"54&+";2654&+";2654&+";2654&+";2654&+";2654&#!"3!2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";26@&&�&&�@@@@@@@@�@@@@@@@@@@��@@@@@@@@@@@@@@@@@@@&��&&�&��@@��@@��@@��@@��@@@@@@@@@@���@@@@@@@@�@@@@@@@@@@@��`'	"&5#"&5&4762!762$"&462���B\B@B\B��O�p�P����������.BB.���.BB.8$P��O広�������3CQ#".54>32#".546322#"&#"#"54>%".54>32%2#"&54>&X=L|<&X=M{<��TML�FTML�F�v�"?B+D�?B�J�p��H=X&<{M=X&<|dMTF�LMTF�(<kNs�I<kNs���Pvo�JPwo�/��s.=ZY�VӮv�Nk<J�sNk<I�shwPJ�ovPJ�o@��+"&7.54>2�r_-$�$-_rU���U��%��&&5%ő������'-
"'.546762����@��F�F�$�@B�@$.&�,�&.]]|�q����#<���<#(B�B��B%'-%'-'%'-"'%&'"'%.5467%467%62����@��l�l����@��l�l,���@��G�G�&!�@@�@�@@�@!&+#�+#�6�#+�$*`�:�p������:�p���x�
�p����=�`$>����>$�&@��&@�

�@&�p�@��	&.A!!"!&2673!"5432!%!254#!5!2654#!%!2#!8���Zp��?v�d���Ί�e�ns�6(���N[�����RW�u?�rt1Sr�F���|��iZ��@7�����މoy2���IM��C~[�R �yK{T:���%,AGK2#!"&5463!!2654'654.#532#532"&5!654&#"327#2#>!!�w��w�@w��w��~u��k'JTM��wa��|
DH��������>�I1q�Fj?����w�@w��w�w�����sq�*4p9O*�¸Z^���qh LE
�������"(nz8B
M���'?"&4624&#"'.'324&#"3267##"&/632632.�ʏ����hhMA�LR vGhг~��~������K„y���O^
��ʏ�ʏ��В*�LM@!<I�~��~����������t\��0�������CM4&"2#"&'676&/632#!"&=3267%2654&#"&#"%463!2"&4632�r�qq��tR8^4.<x3=RR��w�@w���_h�
Y��Ӗ���	K>�שw�w���ȍ�de�)�qrOPq�Ȧs:03=<x!m�@w��w�E\x�g�ӕ��є��%w�w����d��Ȏ��V��
-<K\%.'.>7'.?67'67%'>&%'7%7./6D�\$>	"N,��?a0�#O���1G�����9�'/���P(1#00��
($=!F"�9|��]�"RE<�6'o��9%8J$\:��\H�iTe<?}V��#�oj��?���d,6���%N#"
Hl��S��VY�]C

=�@�C4&"2!.#!"4&"2+"&=!"&=#"&546;>3!232�^�^^���Y	�	^�^^��`p�p�p�p`�]i�bb�i]�~�^^�^�e��^^�^���PppP��PppP��]��^^�]��3;EM2+"&=!"&=#"&546;>;5463!232264&"!.#!"264&" ]�`p�p�p�p`�]i�b���b�i���^^�^d�Y	�	!�^^�^��]��@PppP@@PppP@�]��^��^�]� ^�^^��e��^�^^� ��3$#!#!"&5467!"&47#"&47#"&4762++�&�2
$��$
�2&��&��&�4�&��&��Z4&�&##&�&4�&4�&4���4&�m4&�m���+DP4'&#"32763232674'&!"32763 3264'&$#"32763232> $$ g����* �o�`#�ə�0#z��#l(~���̠)���-g+����^����a�aF s"	+g�(�*
3#!|
#/IK/%*%D=)[�^����a�a����	!!!'!!77!���,���/���,�-���a��/G��	t%/;<HTbcq������%7.#"32%74'&"32765"/7627#"5'7432#"/7632#"5'7432#"&5'74632	#"/6327#"/6327#"/46329"&/462"&/>21"&/567632#!.547632632
	
	*


			��X		�

^

`		���

^b
	��c�
	f�u��
U`�59u���

���

4�J���
	
l�~		~�	F��	
��	�2�����

�
�	��	�m����|O�,��� ����	

���
��������

ru|	��u�
�
"�����
)9 $7 $&= $7 $&= $7 $&=  $&=46��w���`���w���w���`���w���w���`���w��b����`����VT�EvEEvE�T��VT�EvEEvE�T*VT�EvEEvE�T*EvE�EvEEvE�Ev�#^ct�#!"&5463!2!&'&!"&5!632#"&'#"/&'&7>766767.76;267674767&5&5&'67.'&'&#3274�(8(��(88(�(`�x
��c�`(8��!3;:�A0�?ݫ�Y

	^U	47D$

	7�4U3I�
|��L38wtL0�`(��(88(@(8(D��9�8(��Q1&(!;��
(g-	Up�~R�2(/{E���(Xz*Z%(�i6CmVo8�#T#!"&5463!2!&'&!"&5!3367653335!3#4.5.'##'&'35�(8(��(88(�(`�x
��c�`(8�iF������F��Zc�r�cZ�`(��(88(@(8(D��9�8(���k�k�"	��kk�J	 	!��	�k�#S#!"&5463!2!&'&!"&5!%!5#7>;#!5#35!3#&'&/35!3�(8(��(88(�(`�x
��c�`(8�-Kg
kL#D��C��JgjL��D���`(��(88(@(8(D��9�8(���jj�	�jjkk��kk����#8C#!"&5463!2!&'&!"&5!%!5#5327>54&'&#!3#32�(8(��(88(�(`�x
��c�`(8� G]�L*COJ?0R��\wx48>�`(��(88(@(8(D��9�8(���jj��RQxk��!RY�#*2#!"&5463!2!&'&!"&5!!57"&462�(8(��(88(�(`�x
��c�`(8�������P�pp�p�`(��(88(@(8(D��9�8(����������p�pp�	�#*7JR5#5#5#5##!"&5463!2!&'&!"&5##5!"&54765332264&"�����<(8(��(88(�(`�x
��c�`(8����k�ޑc�O"�jKKjK�������������`(��(88(@(8(D��9�8(������SmmS?M���&4&&4�#9L^#!"&5463!2!&'&!"&5!#"/#"&=46;76276'.'2764'.�(8(��(88(�(`�x
��c�`(8���������6dd�WW6&44�`(��(88(@(8(D��9�8(��.��	����G���5{��{5�]�]$59�95�#3C#!"&5463!2!&'&!"&5!2#!"&5463#"'5632�(8(��(88(�(`�x
��c�`(8��4LL4��4LL4l	��		�`(��(88(@(8(D��9�8(���L4��4LL4�4L��	
Z
	�#7K[#!"&5463!2!&'&!"&5!>&'&7!/.?'&6?6.7>'�(8(��(88(�(`�x
��c�`(8�`3��3��3��3�v
�
?
�
�`(��(88(@(8(D��9�8(���&��&-��&��&�
?


��
'���6#'.
'!67&54632".'654&#"32�eaAɢ/PRAids`WXyzO�v��д��:C;A:25@Ң>�����-05r��n������`��H(�����' gQWZc[���
-%7'	%'-'%	%"'&54762�[������3[��M���N�����
��3"��,��""3,3"o�ng�$������߆���]�g�n��$����+��)��

")")"

��x#W#"&#!+.5467&546326$32327.'#"&5463232654&#"632#".#"o���G��n\�u_MK'����̨|�g?CM7MM5,QAAIQqAy��{�b]BL4PJ9+OABIRo?z��.�z��
�n�6'+s�:�������z�cIAC65D*DRRD*�wy�al@B39E*DRRD*��'/7  $&6$ 6277&47' 7'"' 6& 6'�lL������������R�R����ZB|��R�R��>����d�ZZ��������LlL�Z����R�R«����Z��&�>���«|��R� � ��! $&54$7 >54'5��������P���f���f����P�����牉�@��s��-����ff���`-����c6721>?>././76&/7>?>?>./&31#"$&��(@8!IH2hM>'

)-*
h'N'��!'Og,R"/!YQG<I *1)

(-O1D+0�n�������z�3fw���G2'3�rd1!sF0o ��.q"!%GsH8��@-!5|w|pgS=
"B2PJfh�G���d�R	�(P]ly��&$'77&7567'676'"'7&'&'7&47'6767'627''6$'67'654'7&'7'&'&'7&'5&$  $6 $&6$ j��j:,A��A��S9bb9R#:j���8AܔA,z��C�9Z04\40Z9�C��!B�;X0,l,0X;�B�*A8ܔA&#9j`b9S$#R99#&A��8A�`
������䇇�<Z<䳎������LlL�fBϬ"129�,V<4!���!88dpm��"��BV,�92[P*V*P\M�C�

�C�M\P*V*P]L�D�

�D�L&BV*�8*8!����f�!4<gmpd88!&!8*8�*VB�Z<䇇�����䇇��������LlL�����9Eis�%#"5432#"543275#&#"3254&'.547>54'63&547#5#"=3235#47##6323#324&"26%#!"&5463!2F]kbf$JMM$&�N92<Vv;,&)q(DL+�`N11MZ
%G���&54	#	i�<$8&@��0H12F1d�w�@w��w�w��B?@�UTZ3%}rV2hD5%f-C#�C@,nO	�a7�.0�x2	yR�uR/u�%6;&�$76%$56S�@w��w�w��D��<Hlw%4#"324&#"32!".5475&5475.546322#654'3%#".535"&#"5354'33"&+32#"&54632S����;<;||w
$+�|('-GVVG-��EznA�C?H_��`Rb���]Gg>Z2&`��9UW=��N9:PO;:dhe\=R����
+)�&')-S9��9kJ�<)Um�Q��/��-Ya^"![��Y��'(<`X;_�L6#)|����tWW:;X���	#'#3#!"&5463!2)
p�*�xeשw�@w��w�w���0,\8�����@w��w�w��9��I#"'#"&'&>767&5462#"'.7>32>4."&'&54>32JrO<3>5�-&FD(=Gq���@C$39a��LL��²�L4

&)
@]��v�
�q#CO���!~󿵂<ZK#*Pq.���%
L��²�LL��arh({�w؜\���i&5467&6747632#".'&##".'&'.'#".5467>72765'./"#"&'&5
�}����1R<2"7MW'$	;IS7@�5sQ@@)�R#DvTA;
0x
I)�!:>�+<B76:NFcP:SC4r�l+r �E%.*a-(6%('�>)C	6.�>�
!-I[4&#"324&#"3264&#"324&#"326&#"#".'7$4$32'#"$&6$32D2)+BB+)3(--(3�1)+BB+)�4'--'4��'���#!0>R	�H���MŰ9�o�u7ǖD��䣣���
R23('3�_,--,�R23('3�_,--,�����NJ
������?u�W�m%������#"'%#"'.5	%&'&7632�!�
�;�
	`��u%"��(����!]#�c�)(�	��� #"'%#"'.5%&'&76	�!�
���	�(%#�#���fP_�"�(���!�)'��+�ʼn�����4I#"$'&6?6332>4.#"#!"&54766$32#!"&=46;46;2z�䜬��m�
I�wh��QQ��hb�F�*�@&('�k�������@����z��
�	
_hQ��н�QGB�'(&�*�eozΘ�@@`���  >. $$ ����ff���ff�����^����a�af���ff�����^����a�a��>�����"&#"#"&54>7654'&#!"#"&#"#"&54>765'46.'."&54632326323!27654'.5463232632�,�-,�,",:!
%�]&
%@2(/�.+�*)6!	<.$.�.*�*"+8#
�
#Q3,�,+�+#-:#"</$�)

w�

���
,*

x9-.2"'
,,
���@�&,,
��Qw
,����,#"+"&5#+"&5&'&'&547676)2�%2$l$�#l#�b~B@XXyo2�$CI@5��$$�>$$�/:yu��xv)%$	��/?CG%!5%2#!"&5463!5#5!52#!"&54632#!"&5463#5!5`���&&�&&������ �&&�&&�&&�&&@������&�&&&���������&�&&&�&�&&&��������%2 &547%#"&632%&546 #"'6���������\~����~\h�
���~\��h\�������V�
�V�������V��V���%5$4&#"'64'73264&"&#"3272#!"&5463!2}XT=��=TX}}�~�>SX}}XS>�~�}�w�@w��w�w���~:xx:~�}}Xx9}�}9xX}�@w��w�w���/>LXds.327>76 $&6$32762#"/&4762"/&47626+"&46;2'"&=462#"'&4?62E0l�,

*"�T�.�D@Yo������oo����@5D�

[		

Z
�Z

		[	 ``��[



Z

	�2
,�l0
(T�"�.�D5@������oo��oY@D,

Z

		[	�		[		

Z
��``EZ

		[		
�5%!  $&66='&'%77'727'%am��lL�������m�f�?���5���5>�f�F�tu�ut�F������������LlL�H�Y�C�L|��|L����Y�˄(��E''E*(�/?IYiy����%+"&=46;2+"&=46;2+"&=46;2+"&=46;2%"&=!#+"&=46;2+"&=46;2+"&=46;2+"&=46;2!54!54>$ +"&=46;2#!"&=������@�������&&������@��������������3P��
>��P3��&��&��r���r��r���&��&���r���r��r���
he

4LKM:%%:MKL4�W��T�&&��%/9##!"&563!!#!"&5"&5!2!5463!2!5463!2�&&�&��&�&&���� ��� ��&��&&i�@����&&@&7�����'#5&?6262�%%�o����;����j|/����&jJ%�p��&j;&i&�p���/|���j�ţ���%Jk%�o��%��	:g"&5462#"&546324&#!"263662>7'&75.''&'&&'&6463!276i���~ZYYZ~�@O��S;+[G[3YUD#o?D&G3I=J�y�TkBuhNV!WOhuAiS�y*'^C�C^'*SwwSTvvTSwwSTvv���WID\�_"[�g��q# /3qF��r2/ $r�g�%4
�HffH�J4d���#!#7!!7!#5!������VF��N����rmN�N��N����������N���!Y���+?Ne%&'&'&7>727>'#&'&'&>2'&'&676'&76$7&'&767>76'6�#
<�;1�1x��#*#
�G,T9�3%�/#0v�N�Z;:8��)M:(	&���C.J}2	%0����
 	^*
J�F	
&�7'X"2L�DM"	+��6�
M2+'BQfXV#+]
#���'
L/(e�B�9
�#,8!!!5!!5!5!5!5#26%!!26#!"&5!5���������������&4&���&�pP��Pp������������������@��@&&@��!&�@PppP@�*
��	9Q$"&54627"."#"&547>2"'.#"#"&5476$ "'&$ #"&5476$ (�}R}hL�K�
N���N
����U�d:�
�x�x�
�����8���
��
�
� ,, |2222�
MXXM

�ic,>>,�
����
�	����	�
��̺

�
��'/7?KSck{4&"2$4&"24&"24&"24&"24&"24&"24&"24&"264&"24&#!"3!264&"2#!"&5463!2�KjKKj�KjKKj��KjKKjKKjKKj��KjKKj��KjKKjKKjKKj��KjKKjKLhLLhL��KjKKj�&�&&&KjKKj�L4��4LL4�4L5jKKjKKjKKjK�jKKjK��jKKjK�jKKjK�jKKjK��jKKjK�jKKjK���4LL4��4LL�jKKjK�&&�&&��jKKjK�4LL44LL	��'E!#"+"&7>76;7676767>'#'"#!"&7>3!2�W�",&7'�	#$	&��g�pf5O�.P�q�ZZdS���-V"0kqzTx�D!��!8�p�8%'i_�F?;�k��R(`��
!�&)�'�
(2!&6367!	&63!2�!
`�B��1LO�(���+#�=)�heC��Qg#s`���f�4#����6�������q�'���X�|0-�g��	�>IY#6?>7&#!%'.'33#&#"#"/3674'.54636%#"3733#!"&5463!2��4��:@��7�vH��%�h��EP{��0&<'VFJo���1,1.F6��A��#���L4�4LL44L"%�	
 
7x'6
O\�JYFw���~�v^fH$ !�"xdjD"!�6��`J�4LL44LL��	�+3@GXcgqz�����-<JX{�&#"327&76'32>54.#"35#3;5#'#3537+5;3'23764/"+353$4632#"$2#462#"6462""'"&5&5474761256321##%354&'"&#"5#35432354323=#&#"32?4/&54327&#"#"'326'#"=35#5##3327"327'#"'354&3"5#354327&327''"&46327&#"3=#&#"32?"5#354327&3=#&"32?"#3274?67654'&'4/"&#!"&5463!2_��g��QQ��h���^_�~\[[\]�_^���h��QQ��g�e��<F�$�$$��� !!�&&�/!/

!!�

00/e&'!"e$�
		'!!�''�
	8''NgL4�4LL44L�UQ��gh��QUk=<Sc���cc,-{k���jUQ��hg��Q��



�9

,&W &$U�K$$KK$$KDC(>("
!
=))=2�( '! '�L#(>(
&�DC(>(z�L#�DzG)<)�4LL44LL��	�
BWbjq}��+532%+5324&+32763#4&'.546327&#"#"'3265#"&546325&#"32!264&"2%#'#735#535#535#3'654&+353#!"&5463!29$<=$�@?�SdO__J-<AA@)7")9,<$.%0*,G3@%)1??.+&((JgfJ*�A�������!&��j�jj��GZYG�иwssw��PiL>8aA	!M7�7MM7�7M�3!�
4erJ]��&3YM�(,
,%7(#)
,(@=)M%A20C&Me�e��(X���0&Ėjj�jV��	8Z8J9���N/4���$�8NN8�8NN��	�#&:O[���	$?b3'7'#3#%54+32%4+324+323'%#5#'#'##337"&##'!!732%#3#3##!"&53733537!572!56373353#'#'#"5#&#!'#'#463!2#"5#"5!&+&+'!!7353273532!2732%#54&+#32#46.+#2#3#3##+53254&".546;#"67+53254&.546;#"#'#'##"54;"&;7335wY-AJF���=c�(TS)!*RQ+��*RQ+�Y,�B^9^��Ft`njUM�')	~PS�PR�m���٘���M7�7Mo7�q

@)U	8�"����E(�1��++��NM7�7Mx3�7��8�D�62��W74�;�9�<�-A"EA�0:��AF@�1:�ؗ����B�f~~""12"4(�w$#11#�@}}!%+%5(�v$:O�\z��K��?*$\amcrVl��OO176Nn�<!E(=�<&l/������<<������
[ZZYY�89176���7OO7�==..//cV==::z,,,,aa,,��7OO7�Z::��;;Y
fcW�(		"6-!c�(		!5	#
b�t88176����tV:
&$'*9	%e#:
%'*9B����<<��;
&(�����	�#:Sn�����#"&54632%#76;2#"&54632%4&+";2?>23266&+"&#"3267;24&+"'&+";27%4&+";2?>23266&+"&#"3267;254+";27#76;2#!"&5463!2�3%#2%%,, _3$$2%%��M>�ALVb5)LDHeE:<
E�Mj,K'-R
M�~M>�ARVb5)LEHeE:<
E�
JAB�I*'!($rL4�4LL44Lv%1 %3!x*k�$2 %3!�;5�h
n
a�
!(lI;F	
	
��	r�p
p8;5�h

t
a�
!(lI;F��`	#k�4LL44LL
��	�
2HW[lt��#"'5632#6324&'.54327&#"#"&'32767#533275#"=5&#"'#36323#4'&#"'#7532764&"24'&#"327'#"'&'36#!"&5463!2=!9�n23��BD$ &:BCRM.0AC'0RH`Q03'`�.>,&I / *�
 /

��8/��n-(G@5��$ S3=�,.B..B�02^`o?7je;9G+��L4�4LL44LyE%#	�Vb�;A
!p &'F:Aq)%)#o�rg�T$v2�� 8�)2����z948/�{�8A�B..B/��q?@�r�<7(g/��4LL44LL��?#!"&'24#"&54"&/&6?&5>547&54626=�L4�@�ԕ;U g3
��
T
�2RX='�8P8|�5�
����4Lj��j� U;Ig@
	��
`
� "*\���(88(�]k
��&N4#"&54"3	.#"#!"&'7!&7&/&6?&5>547&54626;U gI��m*��]�Z0�L4�@�ԕ���=o=CT
��
T
�2RX='�8P8|�5�
� U;Ig��Xu?bl3���@4Lj��j��a���`
	��
`
� "*\���(88(�]k����/7[%4&+";26%4&+";26%4&+";26!'&'!+#!"&5#"&=463!7>3!2!2@@@@@@���0
��
o`^B��B^`5FN(@(NF5���@��@��@�u		�@�LSyuS�@�%44%����,<H#"5432+"=4&#"326=46;2  >. $$ ~Isy9���"SgR8v�H����D�	w
����ff���ff�����^����a�a�m2N+��	)H-mF+1����0*F		+f���ff�����^����a�a�����b4&#"32>"#"'&'#"&54632?>;23>5!"3276#"$&6$3 �k^?zb=ka`�U4J{�K_/4�^����W�&	vx :XB0���܂�ff���)
f������zz��X��lz=l�apz��o�b35!2BX���
�G@8��'	'=vN$\f���f�	1
	SZz�8�z�X�#("/+'547'&4?6276	'D�^�h

�

i��%5�@�%[i

�

h�]��@������]�h

�

i��%�@�5%[i

�

h�^�@@������)2#"&5476#".5327>OFi-���ay~�\~;��'�S���{�s:D8>)AJfh]F?X��{[��TC6��LlG��]��v2'"%B];$�-o��%!2>7>3232>7>322>7>32".'.#"#"&'.#"#"&'.#"#546;!!!!!32#"&54>52#"&54>52#"&54>52�-P&+#($P.-P$'#+&PZP&+#"+&P-($P-.P$(#+$P.-P$'#+&P-.P$+#pP@@Pp�H85K"&ZH85K"&ZH85K"&Z����@��Pp��@��@��@pMSK5, :&�LMSK5, :&�LMSK5, :&����!!3	!	�����@�����@@�����	#"$$3!!2"j������aѻxl���a����lx�a�a����j������!!3/"/'62'&63!2��'y��

�`�I

��y�����My��

�`�I

��y'W`#".'.#"32767!"&54>3232654.'&546#&'5&#"

4$%Eӕ;iNL291 ;XxR`�f՝�Q8T������W��iW�gW:;*:`�Qs&?RWXJ8�oNU0�J1F@#)
[�%6_PO�QiX(o�`��_?5�"$���iʗ\&>bd�s�6�aP*< -;iFn�*-c1B���Wg4'.'4.54632#7&'.#"#"'.#"32767'#"&54632326#!"&5463!2��#$(	1$6]'
!E3P|ad(2S;aF9'EO�Se�j]�m�]<*rYs��hpt.#)$78L*k�h�w�@w��w�w��B

%
$/$G6
sP`X):F�/�fwH1p�dl�qnmPH�ui�kw_:[9D'��@w��w�w��34."2>$4.#!!2>#!".>3!2�Q��н�QQ��н�QQ��h�~w��w�h���f����ff����н�QQ��н�QQ��н�QZ����ZQ�����ff���ff�#>3!2#!".2>4."f����ff�����н�QQ��н�QQ���ff���ff��Q��н�QQ��н�	,\!"&?&#"326'3&'!&#"#"'  5467'+#"327#"&463!!'#"&463!2632���(#�AH����s���9q � ci��<=�
#�]�<������OFA��!�������re��&&��U�&&![e��F �������U?���g�����4_���������a�?b�+��r7�&4&��&4&�p,�+K4&"2$4&"2.#!"3!264&#!"3!2#"&=!"&=#47>$ �KjKKjKKjKKjH#�j#H&&&������KjK�KjK�g	�V�	ijKKjKKjKKjK���..n((�[���5KK5��5KK5�[po�Nv<<vN�:f���.R#!"&463!24'!"&5463!&$#"!2#!32>+#"'#"&546;&546$3232�2$�B$22$�$�*$22$�X�ڭ��ӯ�$22$�tX'���hs2$���ϧ��kc�$22$���1���c�$2�F33F3VVT2#$2����ԱVT2#$2��g���#2UU���݃
�2$#2UU�1݃���2��,u�54#"67.632&#"32654'.#"32764.'&$#"7232&'##"&54732654&#"467&5463254632>32#"'&�ru�&9��%"*#�͟ <yK0Og�" 
&9B3�;��㛘8��s%+DWXRD= @Y%�	!Q6R�!4M8�+6rU^z=)�RN��.)C>O%GR�=O&^���op������C8�pP*�b�Y
_�#��$��N Pb@6��)?����+0L15"4$.�Es
�5I�Q"!@h"�Y7e|J>z�iPe��n�eHbIl�F>^]@����n*9
���6[_3#"&54632#.#"32%3#"&54632#.#"326%4&'.'&! ! 7>7>!���������
�=39?
6'_����������
�>29?
5'17m-V����U--,�bW.�������뮠@Fyu0HC$������뮠@Fyu0HC$L���=??
<����=! A	<��`�;+"&54&#!+"&5463!2#!"&546;2!26546;2���p���Ї����0�p�����p���@��I�������pp���>Sc+"&=46;254&+"&+";2=46;2;2=46;2;2%54&#!";2=;26#!"&5463!2���A5�DD�5A7^6a7MB5��5B7?�5B~�`��`��`0`��rr��5A44A5�����v�5AA5�f�*A���`��`0`�����	!!!!	#!"&5463!2��ړ�7���H��7j�v�@v��v�v��'���:��@v��v�v���MUahmrx���������������#"'!"'!#"&547.547.54674&547&54632!62!632!#!627'!%!"67'#77!63!!7357/7'%#	%'3/&=&'	5#?&5476��!�p4�q"���"�"�6�"� ��'������h*�[���
��|�*��,�@���?wA�UM�pV���@�˝�����)��Ϳw����7(�{��*U%���K6������=0�(���M���		��"!O		dX$k
!!��!
����b��	
���[�����TDOi
��@��6��b��xBA�ݽ�5
�
�ɝ:����J���+���3����,��p
x�1���������Fi
(��R��
463!#!"&5%'4&#!"3���`����а@.�.@A-X��f�B����$��.BB.�.C��}
)&54$32&'%&&'67���"w�`�Rd]G�{��o]>p6��sc(��@wg����mJ�PAjy���YW�a͊AZq���{HZ�:�<dv\gx�>��2AT�Kn������+;"'&#"&#"+6!263 2&#"&#">3267&#">326e��~�└�Ȁ|��隚���Ν|����ū|iy�Zʬ��7Ӕ�ް�r|�uѥ��x�9[��[9�jj��9A�N��N�+,#ll"���B�S32fk��[/?\%4&+";26%4&+";26%4&+";26%4&+";26%#!"&5467&546326$32�]]��ee��ee��ee��$��~i
�qfN-*���������#����Sj������t�2"'q�C���B8!�'�>	
!%)-159=AEIMQUY]agkosw{��������!	%!	5!#5#5#5#5#57777????#5!#5!#5!#5!#5!#5!#5!#5#537#5!#5!#5!#5!#5!#55#535353535353%"&546326#"'#32>54.&54>3237.#"����������Q%%%%%%%%%?iiihOiixiiyiixii�Arssrrssr��%s�ssrrss�Ns%%%%%%%%%%�����������'<D<'paC_78#7PO7)("I$	75!����RA��b��(���ss�ss�ss�ss�ss�"/!".""."
!."".!/^.".^.".]/".�$$$$$$$$$$$$$$$$��Os$$$$$$$$$$$$$$sO$s�ss�ss�ss�ss�ss#��������}$)	13?*
,./:
-�s�*4&"2$4&"2#!"&5463!2!5463!2_��������?-��-??-�,@�@,�-?����pq�8��,??,D,??,��,??(�Z2#".#"3267>32#".543232654&#"#"&54654&#"#"&547>326���ڞU�zrhgrx�S��Пd�U <e�����x՞����Zf��_gן:k=2;�^��9��Œ��7\x��x\7����K=5Xltֆ�W����W{e_�%N��%,%CI��%���#+W4&+54&"#";26=32"&462"&462!2#!"&54>7#"&463!2!2�&�&4&�&&�&4&���KjKKj�KjKKj� ���&&�&%��&&�&&4&�&&�&4&�&&��5jKKjKKjKKjK��%z
0&4&&3D7&4&
%&���'S4&"4&"'&"27"&462"&462!2#!"&54>7#"&463!2!2&4�&4&�4&4��KjKKj�KjKKj� ���&&�&%��&&�&&4&�%&&�ے&4��"jKKjKKjKKjK��%z
0&4&&3D7&4&
%&��	&	!'!	!%!!!!%"'.763!2�o���]�F������o�������oZ��Y��@:�@�!�!�g���������������f�/�/��I��62'"/"/"/"/"/"/"/7762762762762762762%"/77627&6?35!5!!3762762'"/"/"/"/"/"/%5#5!4�ZSS6SS4SS4SS4SS4SS4SS4�ZSS4SS4SS4SS4SS4SS4S�-4�ZSS4S@������4SS4�ZSS6SS4SS4SS4SS4SS4S@�����ZSSSSSSSSSSSSSS�ZSSSSSSSSSSSSSy�ZRRR@%:=
:+������:
=���RR�ZSSSSSSSSSSSSS���������Cv!/&'&#""'&#"	32>;232>7>76#!"&54>7'3&547&547>763226323@``����`
VFaaFV


$.


.$

��y��y�	.Q5Z���E$ ,l<l, $E���R?Y*��@���@�2	!#""#!	��y��y=r�na�@@(89*>�*%>>%*�>*98(QO�!���L\p'.'&67'#!##"327&+"&46;2!3'#"&7>;276;2+6267!"'&7&#"(6&#"#"'�D��g��OOG`n%�E������LL{�@&&�N�c,sU�&&�!Fre&&�s�����s���#�/,�������<=�
#�]�g��L�o�GkP�'��r-n&4&2�-ir&�&�?���o 
��������4_�����5OW! .54>762>7.'.7>+#!"&5#"&5463!2"&462�{�����{BtxG,:`9(0b��Կ�b0(9`:,GxtB��&@&�&@&K5�5K`�����?e==e?1O6#,
#$
,#6OO��&��&&�&�5KK���������?!"'&'!2673267!'.."!&54632>321
��4��q#F�""�8'g��o#-��#,"t�Yg��>�oP$$Po�>�	��Z�e�p#����)�R��0���+I@$$@I+����+332++"&=#"&=46;.7>76$  ������@����ᅪ*��r���������@��@�����������r���'/2+"&5".4>32!"&=463  �&@��~[���՛[[��u˜~���gr�������&�`����u՛[[���՛[~~@��r������=E32++"&=#"&=46;5&547&'&6;22676;2  >�����``@``�ٱ��?E,��,=?��r�������H�����@``@�GݧH`�j��j���r������BJ463!2+"&=32++"&=#"&=46;5.7676%#"&5   &@�~���``@``�� �v�X����r�������&���������@``@����+BF��`r������ks463!2+"&=32++"&=#"&=46;5&547'/.?'+"&5463!2+7>6 %#"&5   &@�~���``@``��~4e	
0
	io@& �jV	
0
	Z9�������r�������&���������@``@�G�ɞ5o
,
sp� &@k^
,
c8~~��`r�������8>KR_32++"&=!+"&=#"&=46;.767666'27&547&#"&'2#"�����@�@���'�Ϋ���'������sg��gs�����ww�@����sg��g����@����@���-ss��ʃl������9���9��������OO���r9���9��FP^l463!2+"&=$'.7>76%#"&=463!2+"&=%#"&54'>%&547.#"254&' &@�L?����CuГP	��v�Y�� &@�;"����������ޥ�5݇�����ޥ���5�`&����_��ڿg��w��BF�@&����J_	s���&��&�����?%x���������%x��JP\h463!2+"&='32++"&=#"&=46;5.7676632%#"&56'327&7&#"2#"� &@�L? ���ߺu�``@``��}
�ຒ�ɞ���������ue��eu�9����ue��e�&����_��"|N�@``@��"��"|a~���l����o����9���9��r9��@�9���;C2+"&5"/".4>327'&4?627!"&=463  �&@Ռ		.	
�N~[���՛[[��u˜N�		.	
����gr�������&�`֌
	.		�O��u՛[[���՛[~N�
	.		��@��r������9A'.'&675#"&=46;5"/&4?62"/32+  ��'��֪�����\
	.		�4�		.	
\���r������|��ݧ���憛��@�\		.	
��
	.		\�@��r�����~9A"/&4?!+"&=##"$7>763546;2!'&4?62  m��		-

���@���ݧ���憛��@&�

-		�@r������m4��

-		����ٮ*�������		-

��r������+"&5&54>2  ����@��[���՛[�r�����������dG�u՛[[���r������  ".4>2������r�[���՛[[���՛�r������5�՛[[���՛[[����$2#!37#546375&#"#3!"&5463�#22#�y��/Dz?s����!#22#�2#��#2S�88�	����2#V#2��L4>32#"&''&5467&5463232>54&#"#"'.K���g��&Rv�gD�
$*2%	+Z hP=DXZ@7^?1
۰��3O+�l��h4���`���M@8'�+c+RI2
�\�ZAhS�Q>B�>?S2Vhui/�����,R0+	ZRkm�z�+>Q2#"'.'&756763232322>4."7 #"'&546��n/9�b�LHG2E"D8_
p�dd���dxO�"2�xx��ê�_�lx�2X	
!+'5>-�pkW[C
�I
I@50�Od���dd��˥�Mhfx�����x^���ә�	�#'+/7!5!!5!4&"2!5!4&"24&"2!!!��� 8P88P�� 8P88P88P88P����������P88P8 ���P88P88P88P8� ������������+N &6 !2#!+"&5!"&=463!46;23!#!"&54>32267632#"_����>�@`

��
�
��

`
�
� L4Dg��y� 6Fe=O���O�U�4L��>����
�
��

`
�
`

��4L�2�y5eud_C(====`L4����3V &6 #"/#"/&54?'&54?6327632#!"&54>32 7632_����>���		�	
	��	
	�		��		�	
	��	
	�		��%%S��y� 6Fe=�J�%��>����	
	�		��		�	
	��	
	�		��		�	
	��%65%S�y5eud_C(zz.!6%$!2!!!46;24&"2!54&#!"�&���&�&@�Ԗ��V�@&&�@��&&�Ԗ�Ԗ@��&���3!!!	!5!'!53!!	#����7I�e�����eI7��CzC�l��@�����@������@�#2#!"&?.54$3264&"!@������մ���pp�p���������((��������p�pp����#+/2#!"&?.54$3264&"!264&"!@������մ���^^�^@����^^�^@���������((��������^�^^�����^�^^�����v(#"'%.54632	"'%	632U�/�@��k0�G��,�zD#[�k#�
/t�g��
F��
����Gz�����	#'#3!)
p�*�xe���0,\8�����T���#/DM�%2<GQ^lw�����
&'&676676&'&7654&'&&546763"#"'3264&7.>&'%'.767&7667&766747665"'.'&767>3>7&'&'47.'.7676767&76767.'$73>?>67673>#6766666&'&6767.'"'276&67&54&&671&'6757>7&"2654&57>&>&'5#%67>76$7&74>=.''&'&'#'#''&'&'&'65.'&6767.'#%&''&'#2%676765&'&'&7&5&'6.7>�&5R4&5S9
W"-J�0(/�r
V"-J�0(.�)#"6&4pOPpp�c�|o}vQ�[�60X�Q��W1V�	
#5X		N"&
.
)
D>q J:102(z/=f��*4!>S5b<U$:I o<G*	,
&"O	X5
#!

��	R N#
C
83J*��R	!(D
#%37	�;$-.�
(,��覦�6ij
�	���"���)9
E�%����!B83
	j9�6/,	:QD')yX#�63V
��b�a	,
Ue��LPA@���*	̳�`Xx*&E
V36��%	B3%	B3XA	
#!.mU"A	
#!.mUB-#2+Jii�i�m-C<I(m��8qF/*)0�S
		
I
E5&+>!%
(!$p8~5..:5I

~��T�
4~9p# !
)& ?()5F	1	
	
� d%{v*�:
 @e
s|D�1d {�:�*dAA|oYk'&��<��tu��ut�&vHC�XXTR�;w��
��71™
Z*&'
1	9?	.

$��Gv5k65P<�?8q=4�a	
SC"��1#<�/6B&!ML	�^;�6k5wF1<P�C	�;$"&462"&46232>.$.�`�aa��sa�``��Z9k����'9؋ӗa-*Gl|M�e_]`F&O������ܽ�sDD!/+�``�aa�``�a1<YK3(
 /8HQelA�Z3t_fQP<343J;T7Q�+?Kgw  $6&$  $&62+"5432+"&=.54  $;26=462;26=4& 4&#!"3!26)����߄��4R4߄��mlL�������r {jK#@#Q�a����^�����@���@���`&��&&�&�������߄��4R4�Ď������LlL�N� �@K5#:rr:#5K���^����a�a��``]��]``����&&�&&	/!3#4&#!"3!265##!"&5463!22�������@K5^B��B^^B@B^5K���� �@���5K�B^^B�B^^B�K	/!2##!"&5463!2#4&#!"3!265�5KK5^B��B^^B@B^���@��K5��5K�B^^B�B^^B�`� �@ 	/!2##!"&5463!2#4&#!"3!265�5KK5^B��B^^B@B^���@��K5��5K�B^^B�B^^B�`� �@ 	/!2##!"&5463!2#4&#!"3!265�5KK5^B��B^^B@B^���@��K5��5K�B^^B�B^^B�`� �@ 	+2##!"&5463!2#4&#!"3!265�5KK5^B��B^^B@B^���@�K5��5K�B^^B�B^^B�`� �@ �{#!&'#"'&547632m*���
�0���((�'(�$0K
��*�*��% 3#!3# '!#53 5#534!#53 6!3@����@@@��pp��@@@����@@pp@��`������� �����	�+/7;A#3!5!!3#!!5!35!355#%53#5!#35#!!!!!!!!����������������������������������������������������������������������
�	#'+/3?CGW#3!5!!35!!3#!!5!#!5!3535!355#%#3%!53#5!#35#!5##5!3!5!3!5	����������������������������������������������������������������������������������������������������������������!"&5463!2!"!�`(88(@(8�`(8�}2�2R �`8(@(88(�`8HR2�2���##6?6%!!!46#!"&5463!2x���� ��8�(�`(�(88(@(8�
���� (8��(`�(8(@(88��	�'ATd+5326+5323##"' %5&465./&76%4&'5>54&'"&#!!26#!"&5463!2�
��

���i�LCly5�)*H�celzzlec0h�b,,b�eIVB9@RB�9�J_�L4�4LL44L44%��2"��4��:I;p!q4b�b3p(P`t`P(�6EC.7B�I6�4LL44LL��	�.>$4&'6#".54$ 4.#!"3!2>#!"&5463!2Zj��b�jj[���wٝ]�>o��Ӱ�ٯ�*�-���oXL4�4LL44L'�)�꽽�)�J)���]��w����L���`��ֺ��۪e���4LL44LL�;4&#!"3!26#!"&5463!2#54&#!";#"&5463!2�
��

@
�^B��B^^B@B^���
��

��B^^B@B^`@

��
M��B^^B@B^^>��

��
�^B@B^^��5=Um	!	!!2#!"&=463!.'!"&=463!>2!2#264&"".54>762".54>762��������?(`��`(?��b|b��?B//B/�]�����]FrdhLhdrF�]�����]FrdhLhdrF@�@��@�(?��@@?(@9GG9@/B//B�aItB!!BtI�Ѷ�!!��ьItB!!BtI�Ѷ�!!��ь�-M32#!"&=46;7&#"&=463!2#>5!!4.'.46�ՠ��`�@`ՠ��`���M�sF�Fs�MM�sFFs�M����ojj�o��@@�jj�@@�<���!(!���!(!�-3?32#!"&=46;7&#"&=463!2+!!64.'#�ՠ��`�@`ՠ��`��	�	Dq�L�L�qD����ojj�o��@@�jj�@@B>=�C�����-3;32#!"&=46;7&#"&=463!2+!!6.'#�ՠ��`�@`ՠ��`��UVU96�g�g�6����ojj�o��@@�jj�@@β����**ɍ�-G32#!"&=46;7&#"&=463!2#>5!!&'.46�ՠ��`�@`ՠ��`���M�sF�Fs�M�k�k�����ojj�o��@@�jj�@@�<���!(!3��3!(!�9I2#!"&=4637>7.'!2#!"&=463��@b":1P4Y,++,Y4P1:"�":1P4Y,++,Y4P1:"b�@@��@7hVX@K-AA-K@XVh77hVX@K-AA-K@XVh7����Aj"#54&#"'54&#"3!26=476=4&#"#54&'&#"#54&'&'2632632#!"&5&=4632>3265K @0.B @0.B#6'&�&
l
@0.B 2'	.B A2TA9B;h" d�
mpP��Tl��L�c�_4.H�K5�]0CB.�S�0CB.�/#��'?&&)$�$)�0CB. }(AB.�z3M�2"61�d�39�L/PpuT(If�c�_�E�`1X"#4&"'&#"3!267654&"#4&"#4&26326#!"&'&5463246326�\B B\B�&@5K�&@�"6LB\B B\B ��sc�i�L}Q�P<m$��3�jN2�c�B.�p.BB.���3K5+"�3,"� �.BB.��.BB.���.�G=�c�i�(+�lOh7/DVj�"�c�=���&5Jb�#"'&=.547!"&46;'.54632!2327%.54&#"327%>%&#"!"3!754?27%>54&#!26=31��?>I��j��jq,J[�j.-t�j�lV��\���$B.R1?@B.��+?2`$�v5K-%��5KK5�.olRIS+6K5�̈$B\B 94E.&�ʀ�15uE&
�Ԗ�Pj��j�dX�U�GJ7!.B
�
P2�.B
�
%2@	�7�K5(B�@KjKj�?+f�UE,�5K~!1��.>F.��F,Q5*H��$b2#!"&=%!"&=463!7!"&'&=4634'&#!">3!!"3!32#!"3!23!26=n$<vpP��Pp���Pp�w�*�Rd�ApP�]��'@�A&
3@��&H-�[(8@
2�EB^&1
=&�&81����PppP��pP w���cOg Pp��c�
4& #.& &,,:8(�%^B &�
.�&&��2t"&'&54'&5467>32>32>32#"#.#"#.#"3!27654&#"547654&#"#654&�Mye
t|]�WS�Sg�SY�\x{
70"1i�92�DU1&=	��	=&0@�c	>&/Btd4!�*"�8K4+"��@H@/'=	t�?�_K�93-�]�
UlgQ���QgsW
�]#�+�i>p&��3�0&�VZ&0B/
���%3B.�"t�o ){+C4I��(
/D0&�p0D��3[_cg"'&#"3!2676=4&"#54&#"#54&#"#4&'2632632632#!"&'&5463246#!#!#�5K�)B4J�&@�#\8P8 @0.B J65K J6k�
cJ/4qG^�\hB�2<m$��3�iG;��     �K5����6L4+"�3p`b�)<8(=0CB.@Z7OK5`:7O��k�EW�^�tm��@Q7/DVi�##j�������������%4Ia�2#!"&5&546325462632"32654&"3267654&76;74&"#.#"2676=#"&'+53264&#!"3</�U�X�dj���jP��ԖEu�!7JG72P
�
B�%
�
B.!7�	@�A�f+?�jKjK@�B(5K,EU�H*5Q,F��.F>.��1!~K5y?��^\��Vl�j�t-.j�[J,qj��j��I7$��?1R.B�+��.B$`2?g�vEo.�5KK5��%-K��6+SIR[��&.E49 B\B$���5K�G#!+"&5!"&=463!2+"&'+"'+"'&5>;2>76;2Y
��
�
��

M	

�.�x	�-�
	N�	�


�	�
�u
��
,
u
�?

L�W���

���#	�	*:J4'&+326+"'#+"&5463!2  $6& $&6$ <!T{�BH4�	�›�&�>UbUI-����uu�,�uu�ڎ������LlL�AX!��J��m����f\�$
6u�����uu�,�K������LlL���-[k{276/&'&#"&5463276?6'.#"!276/&'&#"&5463276?6'.#"  $6&  $&6]�h-%Lb`J%E5
,5R-����h
-%Lb`J%E5
,5R-���'����uu�,�uu��lL�������/hR

dMLcN����hR
dMLcN����1u�����uu�,��������LlL�@��� 	'	7	'7	�����`��`H� �����`�`H� �!`��������`H� � ���`�`�`H���`��'%		7'	7'7	' $&6$ ���X�`��(W�:,�:��X�`��(WL�������LlL�X�`(W��:�B����X�`���(X�������LlL��
��	$%/9ES[�#"&54632$"&4624&"26$4&#"2%#"&462$#"&4632#"32&! 24>  !#"&'.'#"$547.'!6$32�7&'77'&7�7N77N�'q�qq�q�qPOrq��E�st�����ts��st���}�||�}�������uԙ[W��Q���~,>	n������P/RU P酛���n	>,m�����'77'&77N77N6^Orq�qq�qq�q�t��棣棣�(~|��|on[��usј^�~���33������pc8{y%cq����33dqpf��	L 54 "2654"'&'"/&477&'.67>326?><����
x
�������,

(-'s�IVC��VH�r'-(

$0@!BHp9[�%&!@0$u
��
������]\��\]��-$)!IH��V
D��
VHI!)$-#3���6>N"&462."&/.2?2?64/67>&  #!"&5463!2�]�]]�3
$;
&|�v;$
(CS�3�1	=�rM=	�4�TC(G���z�w�@w��w�w���]]�]��($-;,54�0=	�sL	=�45,;�����@w��w�w������(2#"$&546327654&#"	&#"AZ�������\@�/#�%E1/#����#.1E$�!�[A�����懇�@�@\��!�#21E!��6!E13"�|!��	gL&5&'.#4&5!67&'&'5676&'6452>3.'5����A5R��V[t,G'Q4}-��&�<C!l n?D_@Փ>r!�
��G;��>��!g�1�����2sV&2:#;��d=�*'�5E2/..F�D֕71$1>2�F!���&12,��@K�
r��#"&5462>%.#"'&#"#"'>54#".'7654&&5473254&/>7326/632327?&$  $6 $&6$ �!&"2&^	u��_��x��^�h
;J݃HJǭ
q�E
Dm!
M�
G?̯'%o�8
9U�������(F(�ߎ������LlL��&!&!SEm|�[��n{�[<ɪ
"p� C
Di%
(K�HCέp�C
B
m8	
@Kނ
H�F(���������������LlL���"*6%&6$	7&$5%%6'$2"&4}���x����3��n��QH������:dΏ���Xe�8�����z��'	������l�i���=!��7�����S�o�?v�������M '&7>>7'7>''>76.'6'���El:F�gr
*�t6�K3UZ8�3P)3^I%=9	)<�}J���k+C-Wd��	&U���-��TE+]��Qr-�<Q#0
�C+M8	3':$
_Q=+If5[ˮ&&SG�ZoM�k���ܬc�#7&#"327#"'&$&546$;#"'654'632ե›��fKYYKf�¥y�ͩ���䆎�L��1���hv�v��ƚw�wk��n�]��*��]�nlx��D��L�w�����~?T8b��b9SA}����+5?F!3267!#"'#"4767%!2$324&#"6327.'!.#"��۔c�2�8�Ψ����-\���?���@hU0KeFjTl�y�E3��aVs�z�.b��؏��W80��]T��Sts�<�h�O��_u7bBt���SbF/�o��|V]SHކ�J�������34&#!"3!26#!!2#!"&=463!5!"&5463!2
��

@
�^B� `��`� B^^B@B^ �

�@
�@B^�@@�^B�B^^����>3!"&546)2+6'.'.67>76%&��F8$.39_��0DD�40DD0���+*M7{L *="#
U<-M93#�D�@U8v�k�_Y	�[�hD00DD0��0D�ce-JF1BD����N&)@
/1 d��y%F��#"'&'&'&'&763276?6#"/#"/&54?'&763276"&'&'&5#&763567632#"'&7632654'&#"32>54'&#"'.5463!2#!3>7632#"'&'&#"'&767632yq������oq>*432fb������a
$�B?
	>B
BB
AA�.-QP���PR+	42
%<ci���ђ:6&h�HGhkG@n�`��I���Ȍ5
!m��(|.mzy�PQ-.	
	je����	
�����q>@@?pp�gVZE|fb6887a
%RB?
=B
ABBAJvniQP\\PRh!cDS�`gΒ��23�geFGPHX�cCI��_ƍ��5"	
�n�*T.\PQip�
[*81
/
9@:��>t�%6#".'.>%6%&7>'.#*.'&676./&'.54>754'&#"%4>327676=
>���vwd"

�l����"3	/!,+	j2.|��%&
�(N&w���h>8X}x�c2"W<4<��,Z~�fd�aA�`FBIT;hmA<7QC1>[u])		u1�V(�k1S)
-�	0�B2*�%M;W(0S�[T�]I)	A 5%R7<vlR12I]O"��V/,b-8�/_��#3CGk2#!"&546;546;2!546;2%;2654&+";2654&+"!32++"&=#"&=46;546;24LL4��4LL4�^B@B^�^B@B^�@@�@@�����@��@L4�4LL44L`B^^B``B^^B``�� �� ��@@��@���#3W#!"&=463!2!!%4&+";26%4&+";26%#!"&546;546;2!546;232���@�����@@@@�L4��4LL4�^B@B^�^B@B^�4L�@@��� �� ��N�4LL44L`B^^B``B^^B`L��#'7Gk%"/"/&4?'&4?62762!!%4&+";26%4&+";26%#!"&546;546;2!546;232W.	
��
	.		��		.	
��
	.		��	� ����@@@@�L4��4LL4�^B@B^�^B@B^�4L�.		��		.	
��
	.		��		.	
��
��� �� ��N�4LL44L`B^^B``B^^B`L��(8\	"'&4?6262!!%4&+";26%4&+";26%#!"&546;546;2!546;232�

��		.	
��
	.	�`����@@@@�L4��4LL4�^B@B^�^B@B^�4L<�		 
	.		��		.	�:� �� ��N�4LL44L`B^^B``B^^B`L�2632632#!"&5463�&&&&��&&&���&���&��&&�&�#27+"&5  %264&#"26546��>&�&T�,��X�������q&&�1��X��,�LΒw�%��%;#!"&5463!546;2!2!+"&52#!"/&4?63!5!�

�(��&&@&�&(��&�&@&&��(�

�(�

�&&@&&@��&&�&�&�

�����#''%#"'&54676%6%%�������
�hh �@�` ���!�� ���!� ��
��
��
�
������
�#52#"&5476!2#"&5476!2#"'&546
� 
��
� 
���
�
�@�
�
�@�
��
�@

�
� 84&"2$4&"2$4&"2#"'&'&7>7.54$ �KjKKj�KjKKj�KjKKj��d�ne���4"%!������KjKKjKKjKKjKKjKKjK.���٫�8
!%00C'Z���'���.W"&462"&462"&462 6?32$6&#"'#"&'5&6&>7>7&54>$ �KjKKj�KjKKj�KjKKj�h��я�W.�{+9E=�c��Q�d�FK��1A
0)����LlL��jKKjKKjKKjKKjKKjK���p�J2`[Q?l&�����٫�C58.H(Y���ee���	�

			���Y'����w��(�����O��'��R���@$#"&#"'>7676327676#"�
�����b,XHUmM�.�U_t,7A3ge
z9@xS���a�Q�BLb�(�	����V���U�����
!!!�=�����=���w)��������AU!!77'7'#'#274.#"#32!5'.>537#"76=4>5'.465!��KkkK_5 5�� �#BH1��`L

I���&�v6��SF���!Sr99rS!``� /7K%s}H���XV
��P��V	e��		V�d/9Q[ $547.546326%>>32"&5%632264&#"64'&""&'&"2>&2654&#";2���P���3>tSU<�)tqH+>XX|W��h,�:USt��W|XX>=X*
)���)
+�^X^�|WX=>X�:_.2������//a:Ru?�
	
Q%-W|XW>J�(	�=u��>XX|WX�`

*((*


+2		2�X>=XW|E��03>$32!>7'&'&7!6./EU����noh��i����I\�������0<{ >ORD��ƚ�~�˕V�ƻ��o�R C3��7J6I`��Tb<�^M~M8O����	�	
5!#!"&!5!!52!5463	^B�@B^���`B^�^B `��B^^"�����^B��B^��0;%'#".54>327&$#"32$	!"$&6$3 ##320�J�����U��n��L�n��ʡ���~~�&��q�@�t�K�����L��}�'`� -
-�ox����nǑUyl}��~������~�F����ڎ�LlL��t�`(88( ��	7!'	!���\W�������\���d;����tZ�`_��O��;���}54+";2%54+";2!4&"!4;234;2354;2354>3&546263232632#"&#"26354;2354;2354;2�````��p�p��`�`�`� !,! -&M<FI(2�`�`�`�����@PppP���pppppp�#  #
�
�pppp��p	�j#"'&=!;5463!2#!"&=#".'.#!#"&463232>7>;>32#"&'#"!546���	��%. `@��` :,.',-���Xj��jX�h-,'.,: kb>PppP>bk .%Z �&�
�:k%$> $`��`6&L')59I"Tl�ԖlT"I95)'L&69Gp�pG9$ >$%k:��!+32&#!332 $&6$ ~O8��8���O�����������LlL�>pN
�����
i������LlL����	'':Ma4&'#"'.7654.#""'&#"3!267#!"&54676$32#"'.76'&>$#"'.7654'&676mD5)
z�{��6lP,@Kij��jOo�Ɏ���ȕ>>��[t��a)GG4?a�)
ll
>�;_-/
9GH{�z�yN@,K�ԕoN��繁������y��!
?hh>$
�D��"
>��â?$��	n"&5462'#".54>22654.'&'.54>32#"#*.5./"�~��~�s�!��m�{b6#	-SjR,l'(s�-6^]It�g))[��zxȁZ&+6,4$.X%%Dc*
&D~WL}]I0"

YYZ��vJ@N*CVTR3/A3$#/;'"/fR-,&2-"
7Zr�^N��a94Rji3.I+

&6W6>N%&60;96@7F6I3���+4&#!"3!26%4&#!"3!26 $$ ��������^����a�a`@��@����^����a�a�����'7  $ >. %"&546;2#!"&546;2#/�a����^�����(�����������������^����a�a����(������N@��@�����4&#!"3!26 $$ @��@����^����a�a`@����^����a�a�����'  $ >. 7"&5463!2#/�a����^�����(��������n@����^����a�a����(������N@���%=%#!"'&7!>3!26=!26=!2%"&54&""&546 �#��#]V�TV$KjK�KjK$��&4&�Ԗ&4&�>��9G��!�5KK5��5KK5�!��&&j��j�&&����#/;Im2+#!"&'#"&463>'.3%4&"26%4&"26%6.326#>;463!232#.+#!"&5#"�5KK5sH.�.Hs5KK5e# )4# %�&4&&4&�&4&&4&` #4) #%�~]�e�Z�&�&�Z�e�]E-�&��&�-EKjK�j.<<.�KjK��)�#)�`"@�&&�`&&�&&�`&&�)#�`)"�d�Xo&&oX�G�,8&&8!����O##!!2#!+"'&7#+"'&7!"'&?63!!"'&?63!6;236;2!2�@�@�8��@7

8��Q�
	N�Q�
	N��
	8G@��

8GQ�
	N�Q�
	N7
	�������8��8��H��H��k��%		".>2I�������2�0�]@��]��@o�����o@@o�����o㔕����a�22���]����]�p�^���|11|�9�9�|11|�(��%7'7'	'	7T���� d���lt��l)q��n�������luul�������)1$4&"24&"2 &6 +"&5476;2 &6 LhLLh�LLhLLhL����>�
�� �&
  �&�`����>�hLLhLLhLLhL�����>����&�&�����>��G��
	.7)1!62	1!62h��e�������2�20e���2�2>�	v
+4�	[��d����+
���d� �135#5&'72!5!#"&'"'#"$547&54$ ���Eh���`X����(����cY���z�:L:�z���Yc��������\$_K`Pa}��f��iXXiޝf���a���	���(+.>#5#5!5!5!54&+'#"3!267!7!#!"&5463!2����U�`��`' ����� �����j��j�V>�(>VV>�>Vq����������������(^����(>VV>�>VV�=&'&'&'&76'&'&.' #.�h8��"$Y
''>eX5,	,Pts�K�25M�RLqS;:.K'�5�R

Ch���h�����R�t(+e�^TT���u B"$:2�~<�����2�Hp����wTT�� V�/7GWg. %&32?673327>/.'676$4&"2 $&6$   $6& $&6$ d-����-�m	
	,6*6,	
	m���KjKKj�o������oo���K����zz�8�zz�Ȏ������LlL�U4>>4-.��YG0
)�xx�)
0GYޞ.�jKKjKq���oo��oo�lz�����zz�8�0������LlL��D��/7H#"'.7'654&#"'67'.6?>%"&46227#".547|D,=),9#�7��[͑�f�x���!X: �D�$+�s)�hh�i��jZ������t�<��F/��*8C,�q؜�e���\�r,W�BX���/C2��h�hh���=�t������Xm�����>NZ+"&=46;2+"&=4>7>54&#"#"/.7632  >. $$ p��=+& �35,W48'3	l
z����ff���ff�����^����a�aP���2P: D#;$#
$*;?R
��Cf���ff�����^����a�a��'�Y	>O`"&5462&'.'.76.5632.'#&'.'&6?65��\\�[�<C��z�C
25�U#
.�ZK ��m+[$/#>(	|�	r���[A@[[@A�#2#�
����7�*
<Y���$
+}"(��
�q�87] F 	_��1)
��	�	#1Ke34&+326+"&=!#!"&763!2#!"&5463!2#>?4.'3#>?4.'3#>?4.'3��Xe`64[l�����7
��
,	L;�����=+3&98&+)>�>+3&98&+)>�=+3&88&+)>	�Wj�|r�>Q$��~���d$kaw+-wi[[\�;/xgY$kaw+-wi[[\�;/xgY$kaw+-wi[[\�;/xgY���J\m�4.'.'&#"#"'.'&47>7632327>7>54&'&#"327>"&47654'&462"'&476'&462"'&47>&'&462i$		$^"

%%

"^$		$W "@9O?1&&18?t@" W�&%%&4KK�6pp&4���6ZaaZ&4mttm�^x	-���-	x^=/U7Ck���kz'[$=�&5%54'4&K�K�4r<r4&��X��4[��[4&m����m��'/7?GOW_gow����"264$"264"264"264$"264"264$"264"264"&462"&462"&462"&462"&462"&462"&462"&462"&462"&462"&462"&462�^^�^��^^�^^�^^�^��^^�^��^^�^���^^�^��^^�^^�^^�^� p�pp�pp�pp��pp�pp�pp�pp��pp�pp�pp�pp��pp�pp�pp�pp��pp�pp�pp�pp��pp�pp�pp�pp�`^�^^�^^�^^�^^�^^��^^�^^�^^�^^�^^�^^�^^�^^�^^�^^���pp�pp�pp�p��pp�pp�pp�p��pp�p���pp�p��pp�p���pp�p��pp�pp�pp�p��pp�pp�pp�p	��LTi{�"&4626"&462$"&462#"&4632654>7>54 "&54>2"&462%"&54&#""&546 %#"&'&'.7>#"'&'.7>�&4&&4�&4&&4SZ��&4&&4�4$#&�&&j�3$"('$������&4&[���՛[��&4&&4F&4&�]\�&4&�$��
	!D�4�%	,\�4�4&&4&�4&&4&-�Z�4&&4&;cX/)#&>B)��&4&�j9aU0'.4a7����&&u՛[[���4&&4&@&&]��]&&��Ώ0
�u4��0
)�4���#g�&'.#"32676%4/&#"326'&#"2632#2+&'%#"'&6?676676632%#"'&6767#"&'&6767#"'.7>327"#"&'&6763"'.7>;7632;>%5K$
"0%>s$
"0%>;;>%5K�VL#>H30
\�($$(�\���(�є�yO2F/{�(?0(TK.5sg$��є�y#-F/{�$70(TK.5sg$L#>H30
\�($$(�\#�(@5"'K58!'"5�8!'"55"'K#dS$K		K$Sdx#@1
w�d>N;ET0((?
-
2K|��1
w�����d#N;ET0$(?
-
2K$#dS$K		K$Sdx�DN\2654& 265462"2654 #"32654>7>54."/&47&'?62 &4&���&4&���h�՛[&4&r$'("$3�j&&��&#$4[����"�@��GB�[�
"�&&��Β&&]���[��u&&����7a4.'0Ua9j�&4&�)B>&#)/Xc;u՛����"�"
�G�i[����Xh#"&54676324&'&#"'>54#"32#"54>54'.#"32>7>767632326#!"&5463!2b
)
:4FD�N

[�1�,^�J��K-*E#9gWR�Yvm0O	��w�@w��w�w��C2�2c@X�&!�9{M�A���_��"S4b// DR"Xlj�PY<	�@w��w�w��%���e4.#"32>7676#'.#"#"&54>3232>754&*#"&54>763 >32�
''il$E/
@�P@��
^��`��'W6&�!.. ! -P5+


�E{�n46vLe�Vz�:���,SN/
M5M[��
	]$�[��^��5�iC'2H&!(?]v`*	��l�	��b��$9>
���=R�2
#"&5467%!"&7>3-.7>;%.7>322326/.76/.'&6766/&/&#"&676	&676&6766/&672? �=1�(H/ ��	'96&�@)9<'���)29%
�&06#���#��$� J� �07j)�5@�"*3%�"!M
��%#K�"%N�e8)'8_�(9�.<�c +8 8(%6 <)'4@@)#-<^
?%$-`%.
}Q!&�}%&N�-l���IJ�;6>/�=*�%8!Q ���#P"�\Q#N&�a��)<9�bR]mp%"'.'&54>76%&54763263 #"/7#"'#"&/%$%322654&#"%'OV�9
�nt
|\d
ϓ[��nt
|@�D:)��	
;9�8'+|�j�," �41����CH^�nVz(�~R	�9�\'	�r�

@����L��@�
	@�w4�6�HI(+�C
,��55,��
f[op@�\j�;(zV~����i/5O#"'&54>32&#" 654'67'"'>54''&'"'6767&546767>7���蒓��`V BM���R� B9)̟�!SH-77I�Xm�SM�H*�k#".o;^J q�ן���ד��>@�����YM
$bK���d ��ү[E"����;���Kx%^�6;%T,U:i�m=Mk���).DT4'"&5463267&#" 6;64'.'4'>732676%#!"&5463!2),�蛜s5-<A���4ϲ
2W9
�&P:\�3)SEPJ��D4:3NI�w�@w��w�w��NE	2@u��us�+,�����/?x�sa�tmP�'�)fHVEA(%dA4w&4J5*�@w��w�w�����O[4'.'&54>54&#"#"'654'.#"#"&#"3263232>3232>76 $$ �Cf'/'%($�U�L
(
#'/'@��3#@,G)+H+@#3
����^����a�a�X@_O#NW�#O_�.*	##(��^����a�a����q�[632632#"&#"#".'&#"#".'&54767>7654.54632327&547>P��9	B6?K?%�O4�T% >6>Z64Y=6>%S�4N�$?L?4B	@���{:y/�$ ,'R�!F!8%
#)(()#%:!F �Q'+%�0z:�z���O_4'.'&54>54&#"#"'654'.#"#"&#"3263232>3232>76#!"&5463!2Cf'.'%($�V�M
)
#'.'@��
3
#A,G)+H+A#
4
��w�@w��w�w��XA?4N$NW�&M&L�/*
##	+�@w��w�w����	O$>?>762'&#"./454327327>7>	EpB5
3FAP/h����\�/NG�S�L�	� ���R�P*��m�95F84f&3Ga4B|wB.\FI*/�.?&,��5~K %
&��Y."7n<	"-I.�M`{�ARwJ!�FX^dj''''"'7&'7&'7&'7&547'67'67'67'63277774$#"32$			*��'ֱ,?�g=OO&L&NJBg�;1��'����'ֱ.=�gCIM
$'&&NJBg�=.��%�����w؝\\��w�
�I�o�o��<�<���-NIDg�=/��%����(ײ+A�hEHO*"#*OICh�=/��'����(ֲ/=�h>ON.��]��xwڝ]��������7��e��[���@�����)6!!"3#"&546%3567654'3!67!4&'7S��gn�y]K-�����#75LSl>�9���V��%�cPe}&H�n��_�HȌ����=UoLQ1!��4564���7U�C"�
�!-9[nx��"&46254&"326754&"326754&"26754&"26#".547632632626326'4#"#"54732764&"264.#"327632>#"'"'#"'#"&5#"'67&'327&'&54>3267>7>7>32632632T"8""8�)<())�(<)))�)<))<)�)<))<)T�د{ՐRh�x=8 78 n 81
p��H_6�S��oc
�F@b@?d?uK�bM�70[f5Y$35KUC<:��[;+8 n 87 8/8Zlv]64qE 'YK�0-AlB;
W��#;WS9
&�(#-7Z�://:/�Tr++r,,r++r,,r++r,,r++r,,ʠ�g��xXV�ע��e9222222^�K�Vv���F0�2OO23OO��`�lF;�mhj84D�ro��B@�r+@222222C0DP`.�r8h9��~T4.&o�@9��1P���%14'!3#"&46327&#"326%35#5##33 $$ ����}Pc��c]<hl���ࠥ�Ymmnnnn���^����a�aw!�LY�Ə;ed����wnnnnnv�^����a�a��%�'#"$#"#.5462632327>321��I��U�Π?L���L?��cc�4MX�&��04;0��XpD[��[DpD,)&&�Q	9V\�26&".'&'&6?.#"#26327677>'32>&3#'&+"?626&"#!'.'!"&5463!>;26;2!2�P  P 	
92#.}S�P9:�:%L\B�� )spN/9oJ5 
!+D�`]�Bg�Y9�+�,�9%
Pk4P  P &�NnF!_7*}B<�{o0��&&�B;*<@$ucRRc�#@16#37c&�@@@
J"@*4�^`E�D�B�����o/8927
*@O�LC�!T!32�3X$�BJ@@@��&AS
0C59"'D/&�&D488$5A&�%O#!"&547>7>2$7>/.".'&'&2>^B�@B^>FFz�n_0P:P2\n�zFF>��R&�p^1P:P1^��&R
P2NMJMQ0Rr�.B^^B�	7:5]yPH!%%"FPy]5:7	���=4�QH!%%!H�t4=�<"-/ ?�1Pp+".'.'.?>;2>7$76&'&%.+"3!26#!"&54767>;2�'
+�~'*OJ%%JN,&x�'%^�M,EE,M7�ZE[��P*FF*P��:5
�
�^B�@B^){�$.MK%%KM.$+��X)o3"�a  22!]�4	I�>"">�,�&�S8J�B##B��12�`
��`B^^B�8&ra#11#$��R&��"&.2v%/%''%/%7%7'%7'/#&5'&&?&'&?&'&7%27674?6J�"�����0�<=���_gNU�?D��f���u�Y����G�b���7=^H^�`	�=v~yT������3����G���D��P�O	4F��ѭ����q������i_w\ހ�!1u�S���%V_-d�
���1=U{J8n~�r����'U4.#".'"3!264&"26+#!"&5463!232+32+32�0P373/./373P0T=@=T��֙�֙|`^B�@B^^B�B^`````*9deG-!

!-Ged9Iaa�l��lk���O��B^^B�B^^B�������	+Yi"&54622#!"&54>;2>+32+32+#!"&5463!2324&#!"3!26�֙�֙0.I/ OB��BO	-Q52-)&)-2�
``

``

`^B�@B^^B�B^`
�
�@

�
|k��kl����"=IYL)CggC0[jM4				
�
�
�
�
�B^^B�B^^B�
�@�

�@
���!1AQu4.#".'"3!24&"254&#!"3!2654&#!"3!2654&#!"3!26#!54&+"!54&+"!"&5463!2)P90,***,09P)J66S�����"��@��8��@^B��@�@��B^^B�B^U�kc9		9ck�U?�������@@88@@N�@B^````^B�B^^���!1AQu�#!"&4>32>72"&462#!"&=463!25#!"&=463!25#!"&=463!24&#!"3!546;2!546;2!26#!"&5463!2J6�6J)P90,***,09P)������"��@��8��@�
�@

`@@`
�^B�@B^^B�B^ՀUU�kc9		9c�������`@@�88�@@�2�

�@
````�@B^^B�B^^�(%.'"&' $&  #"$&6$ ��wC�ιCw�jJ~J�����>��������LlL�ś�JSSJ͛����>����6������LlL���$,  $&6654&$ 3 72&&  �lL������m�z�����z�B�l������>�������KlL�G���zz���G���>�����'7#!"&54>7&54>2  62654' '3�/U]B,ȍ����,B]U/OQ��н�Q������>�+X}��������}X�0b�Ӄ��ۚ�Ӆb0}�h��QQ��h�����>��f����f��#=#!"&4>3272"&462!3!26#!"&5463!;26=!2J6�6J)Q8P�P8Q)��������
�
�^B�@B^^B`�`B^V�VV�ld9KK9d��������`��
�@B^^B�B^``^���+;K[eu4.#"'"3!264&"254&#!"3!2654&#!"3!26%54&+";2654&#!"3!26!54&#!"!#!"&5463!2�"D/@�@/D"?,�,?�p�pp�p�@�����@����@����@�^B�@B^^B�B^D6]W2@@2W]67MM��pp�p��@@@@@@@@n`�@B^^B�B^^���+;K[eu#!"&54>3272"&462#!"&=463!2%#!"&=463!2+"&=46;25#!"&=463!2!3!26#!"&5463!2�?,�V,?"D/@�@/D"�p�pp�p�@�����@����@���
�
�^B�@B^^B�B^D7MM76]W2@@2W]֠pp�p��@@�@@@@�@@��`��
�@B^^B�B^^��A#"327.#"'63263#".'#"$&546$32326�������J9"65I).!1i���CC�u
+I�\Gw\B!al���݇���y�ǙV��/]:=B�>9�����+<F+a[le���Pn[A&JR7t�)��+�tH�������kFIK�e	� .��#"'&'>32%#!"&5463!2#"&54>54'&#"#"54654'.#"#"'.54>54'&'&543232654&432#"&54>764&'&'.54632� ?c��'p& ?b1w{2V	?#��&#9&�CY'&.&#+B

: &65&*2w�1GF1)2<)<'

(
BH=ӊ:NT :O	�)4:i F~b`e!}�U3i?fR����UX|'&'&I�c&Q
	*2U.L6*/
L:90%>..>%b>++�z7ymlw45)0	33J@0!!TFL����� P]=GS�-��kwm	!����*�(%6&692? $&6$ ��	' ����al�@l�������LlL���,&��EC
���h�$�������LlL���
/37;%"&546734&'4&" 67 54746 #5#5#5�p�pF:�:F�D<p�p<D�
����������
���������PppP<d��ud<M�-PppP�-�M����������Dž����9���������
/37;%"&546734&'4&" 67 54746 #5#5#5�p�pF:�:F�D<p�p<D�
����������
���������PppP<d��ud<M�-PppP�-�M����������Dž����9���������
/37;%"&546734&'4&" 67 54746 #5#5#5�p�pF:�:F�D<p�p<D�
����������
���������PppP<d��ud<M�-PppP�-�M����������Dž����9���������
/37;%"&5467534&'4&" 67 54746 #5#5#5�p�pF:�:F�D<p�p<D�
����������
���������PppP<d��d<M�-PppP�-�M����������Dž����9���������	+/37%"&54624&'4&" 67 54746 #5#5#5�p�pp�p�D<p�p<D�
����������
���������PppPOqqOM�-PppP�-�M����������Dž����9����������&.6>FNV^fnv~����"/&4?.7&#"!4>3267622"&4"&46262"&42"&4462"$2"&42"&4"&46262"&4"&46262"&42"&4$2"&42"&42"&4�

��

R

,H8Jfj��Q��hj�G^�R,

!4&&4&Z4&&4&�4&&4&��4&&4&&4&&44&&4&��4&&4&Z4&&4&�4&&4&��4&&4&�4&&4&��4&&4&&4&&4&Z4&&4&Z4&&4&

��

R

,[�cG�j�h��QRJ'A,

��&4&&4Z&4&&4Z&4&&4Z&4&&444&&4&�&4&&4Z&4&&4Z&4&&4Z&4&&4�&4&&4Z&4&&4Z&4&&4&&4&&4Z&4&&4Z&4&&4�%-5=EM}���������+"&=#!"'+"&=&="&4626"&462&"&462"&462&"&462&"&462#!"&=46;4632676/&?.7&#"!2"&462&"&462&"&462"&462&"&462&"&462"&462&"&462"&462��@?A�A?
@
�@R.�..R�@`�jlL.h)*��*$	%35K���..�..�.����u�vn�u���....��@@�j�N *��*.t2#K5���..R..R.��
@Hq '&'&54 &7676767654$'.766$76"&462&'&'&7>54.'.7>76�����������ȵ|�_ğ��yv���/ۃ�⃺����k]
:Bu�q��
CA
_k�ނ���XVo�bZZb�nW��|V	0 	Q2��-�
l��}���O		/	:�1���z	
q��%������z�G
4(

6�Ro�aą\�<

)4	J�}�������%!!#!"&5463!2�^B�@B^^B�B^�`�@B^^B�B^^���%#!"&=463!2^B�@B^^B�B^�B^^B�B^^�&))!32#!#!"&5463!463!2��`B^^B��^B�@B^^B`^B�B^�^B�@B^��B^^B�B^`B^^���#3%764/764/&"'&"2?2#!"&5463!2��

��

�

��

�

��

�

��
s^B�@B^^B�B^ג

��

�

��

�

��

�

��
�@B^^B�B^^���#'7"/"/&4?'&4?62762!!%#!"&5463!2�

��

�

��

�

��

�

��
�
�^B�@B^^B�B^��

��

�

��

�

��

�

��
��`�@B^^B�B^^�	! $&6$ .2�r��`�������LlL�f4��������LlL���#.C��&>"'&4762"/&4?62'"'&4762%'.>6.'.>6'>/>76&'&.'&7&'">?4'.677>7.>37654'&'67>776 $&6$ (4�Z�##
&##
&y�"�6&.JM@&� "(XE*$+8
jT<l$3-V<
2'.


-1
%#e"!Z�
+*)H	 8
(j

	#*
-ƷVv/kh?'��������MlM�$($�R#

&
"
#'#vZ@+&MbV$
�
G7
--)

R2T�
313dJ6@8lr2_�5m/."�G:=	)%5f0gt*2)?;CB66&, �	`48]USy������LlL���G6?>?3#'.'&!3!2>?3.'#!57>7'./5!27#'.#!"g�%%D-!gg<6W��WZe#1=/2*]Y3��-,����C1/Dx���] VF��I�q-H�����D2��NK'>*�%�R=f
07���=.
fD�]\|yu���,0>Seu#2#"'&5<>323#3#&'#334'."#"+236'&54.#"5#37326#!"&5463!2�		<	��zz�j��k-L+� )[$�8=".un/2 �^B�@B^^B�B^�5cy	
�
��(�ݔI�(8��?C�(3�>�� #"��($=�@B^^B�B^^0�K�S�&'.'&'./674&$#">&>?>'76'# "&#./.'7676767>76$w
.~ku�BR�]� T%z+",�|�ޟ���j<���)(!(	~ˣzF8"{���%%#5����)��}''�x��JF��0"H[$%��EJ#%
.Gk29(B13"?�@S)�5" �#9����dm�W"��;L�65R�A0@T.���$�}i`:f3A%%
BM<$q�:)BD	aa%`�]A&c|	�M��s!
Z
2}i[F&���**
< ��ʣsc"J<&Ns�F%���0@Wm6&'.6$.7>7$76".4>2.,&>6'"'&7>=GV:�e#:$?+%

q4����g
&3h�T`Zt�Q��м�QQ��м�pA������P1L������K!:<��}҈`d��l��b�,�9'


%%($!
���a3���)W)x
�������
о�QQ��о�QQ���cQ����ǡ-�җe)U�s2����XD\���ϼ�Yd����/?O_o���#"=#"=4;543#"=#"=4;543#"=#"=4;543#"=#"=4;543#"=#"=4;543%#!"&5463!2++532325++532325++532325++532325++53232�p00pp00pp00pp00pp00�8(��(88(@(80pp00pp00pp00pp00pp0� � � � � ��@(88(�(88� �� �� �� �� �/�Q�/&'%&/"&=.6?&?&'&6?'.>-#".6?'.>'&6'.>54627>%>76#"'%
%6��

2�7
2G
f���!)p&4&p)!��f
G2
7�2

��	*6���	"��
4�7
2G
f�!)p&4&p)!�f
G2
7�2

��"	���6*	�!k
3

j�&3
%,����*��&&ր*�9���%
3&�j

3
k!./!>��>$,*!k
3.j�&3
%�Ԝ9�*��&&ր*�ǜ,%
3&�j

3
k!*,$>��>!/.�&6.'&$	&76$76$�P��utۥiP��u��G��xy
��Զ�[xy
�-���_v١eN��uv١e	��=��u�ʦ�����[t7��8�X�
&6##'7-'%'&$  $6 $&6$ ��3��1�N��E0�����g��R�=|�����||�">"��������LlL����^��v!1f2i��Ђwg�fZQ�Q^>"�||�����||�w������LlL��&�Z�Xblw��������.'&>'&'&".'.'&&'&'&7>767>67>7626&'&>&'&>'.7>.676'&'&'&'.67.>7>6&'&676&'&676.676&'&>&'&676'.>6/4-LJg-$	6)j2%+QF)�b3FSP21DK2�AW")")�$??8A&A�E5lZm��=g�G2Sw*&>$5jD ���GH�yX/4F �r	1
	1�"�"!�l=6>��	6
,5./��'e



.*�|�Ed!
u&�&%&��	&��5d	
���))66@�C&8B@q��L?P^7	G-hI[q��:<�rS	U~97A_�IR`gp1	1	�;"("j?>"�T�6
,6 
&/`���LwQ'�	
��A	^	�	�	"�		$&	_	��	y		�	*�	<Copyright Dave Gandy 2016. All rights reserved.Copyright Dave Gandy 2016. All rights reserved.FontAwesomeFontAwesomeRegularRegularFONTLAB:OTFEXPORTFONTLAB:OTFEXPORTFontAwesomeFontAwesomeVersion 4.7.0 2016Version 4.7.0 2016FontAwesomeFontAwesomePlease refer to the Copyright section for the font trademark attribution notices.Please refer to the Copyright section for the font trademark attribution notices.Fort AwesomeFort AwesomeDave GandyDave Gandyhttp://fontawesome.iohttp://fontawesome.iohttp://fontawesome.io/license/http://fontawesome.io/license/����������	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab�
cdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������"	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS�TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������������������������glassmusicsearchenvelopeheartstar
star_emptyuserfilmth_largethth_listokremovezoom_inzoom_outoffsignalcogtrashhomefile_alttimeroaddownload_altdownloaduploadinboxplay_circlerepeatrefreshlist_altlockflag
headphones
volume_offvolume_down	volume_upqrcodebarcodetagtagsbookbookmarkprintcamerafontbolditalictext_height
text_width
align_leftalign_centeralign_right
align_justifylistindent_leftindent_rightfacetime_videopicturepencil
map_markeradjusttinteditsharecheckmove
step_backward
fast_backwardbackwardplaypausestopforwardfast_forwardstep_forwardejectchevron_left
chevron_right	plus_sign
minus_signremove_signok_sign
question_sign	info_sign
screenshot
remove_circle	ok_circle
ban_circle
arrow_leftarrow_rightarrow_up
arrow_down	share_altresize_fullresize_smallexclamation_signgiftleaffireeye_open	eye_closewarning_signplanecalendarrandomcommentmagnet
chevron_upchevron_downretweet
shopping_cartfolder_closefolder_openresize_verticalresize_horizontal	bar_charttwitter_sign
facebook_signcamera_retrokeycogscomments
thumbs_up_altthumbs_down_alt	star_halfheart_emptysignout
linkedin_signpushpin
external_linksignintrophygithub_sign
upload_altlemonphonecheck_emptybookmark_empty
phone_signtwitterfacebookgithubunlockcredit_cardrsshddbullhornbellcertificate
hand_right	hand_lefthand_up	hand_downcircle_arrow_leftcircle_arrow_rightcircle_arrow_upcircle_arrow_downglobewrenchtasksfilter	briefcase
fullscreengrouplinkcloudbeakercutcopy
paper_clipsave
sign_blankreorderulol
strikethrough	underlinetablemagictruck	pinterestpinterest_signgoogle_plus_signgoogle_plusmoney
caret_downcaret_up
caret_leftcaret_rightcolumnssort	sort_downsort_upenvelope_altlinkedinundolegal	dashboardcomment_altcomments_altboltsitemapumbrellapaste
light_bulbexchangecloud_downloadcloud_uploaduser_mdstethoscopesuitcasebell_altcoffeefood
file_text_altbuildinghospital	ambulancemedkitfighter_jetbeerh_signf0fedouble_angle_leftdouble_angle_rightdouble_angle_updouble_angle_down
angle_leftangle_rightangle_up
angle_downdesktoplaptoptabletmobile_phonecircle_blank
quote_leftquote_rightspinnercirclereply
github_altfolder_close_altfolder_open_alt
expand_altcollapse_altsmilefrownmehgamepadkeyboardflag_altflag_checkeredterminalcode	reply_allstar_half_emptylocation_arrowcrop	code_forkunlink_279exclamationsuperscript	subscript_283puzzle_piece
microphonemicrophone_offshieldcalendar_emptyfire_extinguisherrocketmaxcdnchevron_sign_leftchevron_sign_rightchevron_sign_upchevron_sign_downhtml5css3anchor
unlock_altbullseyeellipsis_horizontalellipsis_vertical_303	play_signticketminus_sign_altcheck_minuslevel_up
level_down
check_sign	edit_sign_312
share_signcompasscollapsecollapse_top_317eurgbpusdinrjpyrubkrwbtcfile	file_textsort_by_alphabet_329sort_by_attributessort_by_attributes_alt
sort_by_ordersort_by_order_alt_334_335youtube_signyoutubexing	xing_signyoutube_playdropbox
stackexchange	instagramflickradnf171bitbucket_signtumblrtumblr_signlong_arrow_down
long_arrow_uplong_arrow_leftlong_arrow_rightwindowsandroidlinuxdribbleskype
foursquaretrellofemalemalegittipsun_366archivebugvkweiborenren_372stack_exchange_374arrow_circle_alt_left_376dot_circle_alt_378vimeo_square_380
plus_square_o_382_383_384_385_386_387_388_389uniF1A0f1a1_392_393f1a4_395_396_397_398_399_400f1ab_402_403_404uniF1B1_406_407_408_409_410_411_412_413_414_415_416_417_418_419uniF1C0uniF1C1_422_423_424_425_426_427_428_429_430_431_432_433_434uniF1D0uniF1D1uniF1D2_438_439uniF1D5uniF1D6uniF1D7_443_444_445_446_447_448_449uniF1E0_451_452_453_454_455_456_457_458_459_460_461_462_463_464uniF1F0_466_467f1f3_469_470_471_472_473_474_475_476f1fc_478_479_480_481_482_483_484_485_486_487_488_489_490_491_492_493_494f210_496f212_498_499_500_501_502_503_504_505_506_507_508_509venus_511_512_513_514_515_516_517_518_519_520_521_522_523_524_525_526_527_528_529_530_531_532_533_534_535_536_537_538_539_540_541_542_543_544_545_546_547_548_549_550_551_552_553_554_555_556_557_558_559_560_561_562_563_564_565_566_567_568_569f260f261_572f263_574_575_576_577_578_579_580_581_582_583_584_585_586_587_588_589_590_591_592_593_594_595_596_597_598f27euniF280uniF281_602_603_604uniF285uniF286_607_608_609_610_611_612_613_614_615_616_617_618_619_620_621_622_623_624_625_626_627_628_629uniF2A0uniF2A1uniF2A2uniF2A3uniF2A4uniF2A5uniF2A6uniF2A7uniF2A8uniF2A9uniF2AAuniF2ABuniF2ACuniF2ADuniF2AEuniF2B0uniF2B1uniF2B2uniF2B3uniF2B4uniF2B5uniF2B6uniF2B7uniF2B8uniF2B9uniF2BAuniF2BBuniF2BCuniF2BDuniF2BEuniF2C0uniF2C1uniF2C2uniF2C3uniF2C4uniF2C5uniF2C6uniF2C7uniF2C8uniF2C9uniF2CAuniF2CBuniF2CCuniF2CDuniF2CEuniF2D0uniF2D1uniF2D2uniF2D3uniF2D4uniF2D5uniF2D6uniF2D7uniF2D8uniF2D9uniF2DAuniF2DBuniF2DCuniF2DDuniF2DEuniF2E0uniF2E1uniF2E2uniF2E3uniF2E4uniF2E5uniF2E6uniF2E7_698uniF2E9uniF2EAuniF2EBuniF2ECuniF2EDuniF2EE����=���O<0�1h�assets/fonts/fontawesome-webfont.woff2000064400000226550150753125220014151 0ustar00wOF2-h
��-�?FFTM `�r
��(��X6$�p� ��u[R	rGa���*�
�'�=�:�&��=r�*
��]t�E�n�������1F��@���|��f�m�`�$ؑ�@d[BQ$([U<+(��@P�5�`���>�P;�(��1��l�hԨ��)��Yy��Ji�����|%ہ�^�G��3�n���ڕ�
�͐D��p\Yr �L�P���t�)����6R�^"SL~�YR�CXR	�4���F�y\[��7n��|s໌q�M��%K�.ۺ,����L�t�'���M,c��+b��ׇ�O�s�^�$���z.�mŠ�h&gb���v���'�6�:����s�m�b�1بm0"ǂ��*V����c�$,0ATPT�1��<�;���`�'�H?�sΩ:�ND����I�$�T�[��b4�����,�μ�」bl6��IL�i}ی&�4�m,'���#�ץ�Rw�bu��,K����v��m_-���\H����HH������?���m�9P���)9�J��$ƽ����8������~�;�r�n�=$��Nddn!'����;��8��'�N��!-Jʶ�.����X�=,��"`:��		 {�����K!'��-FH��	�#$~�Z_����N5VU8Fȯ��%P�ݫ���Cp$Q�����r��ʽ��k�k��3ٷ�:R%��2{�ީ��h%�)8����
ILK�6v�#��,;Ц6��N�2�hv�����OO��t#��xT��Bf���q^#����?{�5b�I��%-WZ��b�A�^�1��n5���צNQ�Y'�������S��!t" `b3�%���35��fv;����lά�9�:jgf?gr��p�x� �|� $ e��Z(�$w(ZrS��v+�Z���q�M������ݙm?&s[��t�S�Sj��9���?�|��
���>G�,bDշ^��^���:l�3��NA�`�5�26�L�pS�	Aߧ/U�
�֘����'9\��Նt���!������l� PMR���9n�
�`(�@� Hy)M�dM�
�5�ԤH'ґ��mS<���q&k�)\�{;�1��m��8�{��X�1�-3ǚ��)�B(��,�%���������w�o~��t��HW8l��Z	r��=e���1+�/Ɏ1W?ְr�89PL��>uo9 �1 tØ��uc�����@��]KR�bN���v������(�"��y뽻{c�����scz�&�p5���,j�n �kN�!�.�n^��Uu@|�?v�>�����rUa�HR ����Ց��I
D��ˋQ��~p�
�܍;;�n���L$�t�	:	hFCY���TO�FNN~}�1"`�����a��(�?H ����\���u�0LԵ��'���͔PbnmO������Jl�?��s���0,8�x�B�B��F��_�RiZ����~e#j��w�hOc*&F6�Yq��{�}?��>�u��.�4�h%g�`�&�� ��)��R5�H�}���ˤ�kܩ��'J��O�I����_��qOb'�HǟBYEM�6�v��5�NJ
�O�NFNx(1�:\�߫C�k�c�b8Q�	d�[L(el+2u-��a֘d��5;�N$�"�H���SF�o�2i�"��\�h7I���<SCO���ȐH��Ew!.��!BSC�gĝ�c���s*էs�(5m�=q�ʊe���Y�$�\>fN8�q��x�#v
�6um�	���`�NM-J\�F��r�D��Z�0�#'ꥈn��GjL�چXʌ�A���gYs�*�Y���^ٵ�;"�$hb=�ϛ�0�vH<�Vv�c�_\Y���w;dB��N��3!$������I|P� ~&�d�.�԰�-a�a	++��9�.mR��4�cy���#�U��FW�u�
�	i/𜯔f~�4��l��XS�9Ä�1E��3@���k��@'#���c���n� ���S_;�%��I��+��.�L�Cx�����ꆱw	��Vۂ������Exf~H`��0�!d��@Q{Oh1��H��Fë�zs�7�݉��Ɯtrv���k���heS3�ۇv�9�q|�O��K)�U\�A�%����o{l<��K����͎���i���H�G�I�z�=6�WWo0��|�%A�jdD)!
��pw���_���;���c�D#�ˁM���Nz���p�^�CDx��xj)�5O�9�
�`��EDX�x� ݒGU��˯ę����ډ�.%
���Έ�~��=�Co�)
F�7���$Z��(�g��oB��
�Ɯ�@��&���e�{��厣�l��f�_�Rx�N[�]��8`-3�s����{Pj��Wuc9���[>�-�.D�܎Y����d������+^{���C��m����,��@N<������.��V��M��S�+�\D�+��R�|�6��'q\T�����9�D�X<$�p���"�酦��$�ҷ�,�p�s��T����b���NkI�_�`��
F��W��V��%��w�~���DԐ����*�xi��y[rZ���[S%�G��s`F<ㅣ��� ��V�+��!+������؍�9y�k�fb�82�s�}l;[)e$��T���k����)�v���9����{�u�u�t��޳@E��>|C��<\4%�Rv���������@׺C�8\��~)#k|��.a�o����00G�q0%����hp���
L���"�+>���%�^Mˊ�N�s��q��=�����䦆�K4r�-*��%��h#�%;pP馔h�C=����
��&)�ba��KL�@����t�!�~2�S]rYl�Z6�3ўJ�o��O�V�;�h&gO5�RT�/}����{���AZ�&�S���t����ͯ�P��C���0��D,�pbpз�z)� ]�I�>Q\Bl�"��^3R>r�*��C>����xPU�z�}Y=�̕�}�ж��
�
6-`/"H
o�&�D�I0�E2Xa��-�{5���<
,}��``6����ji���im<UujY�Z�jB\@�g�3Ejfp����:����W�Ǯ���߳����p�ij3ao���1�da�� ��ݫ����J�ײ? j�q7��M���ff�Y�f��s�$��	��H���l��������(%.�r��w?�m=~�y�cY�bg)<�W� /Vx�k���$��B�r~����9�6�0�&��_vMY�%��ҝ{�E�6<������%�%�4���ߠO�@��N����"Z��OD{u3S��W�M��R��3s<���س
����\I0��.��-2ݭ��ㄭ;�	�0��}N�/b���N{�I��|b_r�e��_pSi���>'�w�5��RF,ч�%SY����Wh�6L_i샣=���i1�3�YI7N�Cp�I��Ĕ��(�r���0��{j����r�K����Тo)l���3na�T1\��IE(�m����߃���D�l��e����$Å�wX���U��(@����M�a"n�,�*vG���̨x���>�G�S����g�̉"�Q�v�b0*z��PE�y�ɉ�?7�$����%��G����p�dY�&f�!��a6��|�)�;u7#�3�4�mJij�
o���O�p�ȁ�v8j��x(K�/Z�d���x�Ń�m7V�_\�f�L�7p�X�z�H7�-���,(1KHb�e��,r-��p�L����3=�T��2�t�2ټX�k:����Z�5��s�p��SsT����:.]��D"�@��-�E�̑!�A��2�ɶ-�F}�˒�2Bǃ��Q���)t�ç|�#4�|�\�㨀��`�fc,��#�g��1:�-����ty �]�����2�Z~��.)�����nj�����%R�K����(y�`�8��C��֍���z���K-N����`^+����n���3��ϴ����T��3�tQ�أ�4<>:J0È%�ݑZab`��vͬ��a�T/Z��aޝ�ГIi	�W1���_��>)���H"�����p���|7mF�^Z��~f�0J��^�I��3V�!���{�<e�/=�p`���q��8^����K8��O�9�w0��Z��|��v?�n�	�3��f�!��߷�~��T� ������ Jӛ����5��p���V	��3�˫����.=����-}��[�g�R�5���n�B8���3.��8	Yg�#0�&���S�/.fg\
E�f�}��,k����g��$�?XY�*������1��p��E(����RS��Q��t��6,�Q�j\��</]N�s���;�'HX]�E�29��d�kY�
�j���R6���Q!���� V���
%"^�`�N3O�����[�v:�ʄ:��^ڜr׿�@���
�F�_���Nc�B���8p�\i����7��g�*���,�C����[�6�T�?����%�z��@jApBN5�"4T����"�}0uJ􇏞�Ȝ~3���{}uW����M�j�9�-�]����'lS� /�R><�+�O����eB#�Bc���jL\��-�Zh�[�I<����q�v�~�k]�G���TD�?S����/�-��%ݒ����7��w�i|C�I��q�wc��W�x�� �/7�x��HO/���o]���G]�y�߃��#��7��b��$�t��R�$ ���]�a7�F�Ѯ���,n!r��I|2���8�x�6�gS�h�	��R^^�D.�x�M�MS?漞'G�#�~�+�����v4�d!FyT�9�-�fVa7h�B��4�����,�2�Ɖ�&vTHMqp�4?R\�����Xa<��4�@Mi�H�D_��	�Eg��R�y�M���lT�ؠJݮ
��yc��"�HJ�, 6�u�/ڴ��������y��V���nJn۟H\P�R�Bd|�4�_�$k����.��w��™I�pS��$��|}j���9������m�|�1�ߘ����n�93�9���5qS�|���xW�9�����B��VZ!����m�K/�Ln;i��u��$�*�t3�Ͷ��@}���B{�Y���ԑ�z�2J�u@�a�\M���R7o��dz����e��7�/$4]^���2k�h$�=%��1�I�B�؃ ��H|�N.[�M\L���b����1Mg��:�NV._0�,�+�,��h�t7�l8�s~IV^
N�˼M���ؑj��ك-�	oܮůQ�o[m��j�=r��m>�~z4$M��}z �s�h""���u7�V{Rûݦ�O-��D9V�٥g�IʎK�Lg۶B�T��P�'�K��̦�
qW�֒�3e����p�&���ے��L�hp����N�aS��w��
&���;e(�,-7v�x�-��w$W��nX�U��������t8�����Y���?KM�ct�Y؃�p*Շ�����-���БfL�|�[nL��
}4�{5�頠�3᧌�n���$$,+�DNԄ-H�V>��H����Os\���-�;�W6N��M��8��Fi���;���7k�2�6%֒�a],:!�ʲڽE,��{U��naw����Ng��.��I9r:j������<IE�1�`$`Lbrǒ��ם��]�x�9=Rv&*Q5�0z��y<���`M|�ԙ�dO�٥iZ���$���+#KH�F
��������	������)-	�:M$�yc��E�%Ai��2]���l嶨����8�I�y��ZGJ����\�2֙Xb�L���I�A-�GrR!�0���L+�Qh�S�Y����S�5�_�(�poF��T���#kN۾�l|r�n�d�H���yۊ����&ۆx�p�����[�8G���dt�����z찃٦	8��B��KP"@2e�e��y�x��j����JKˆh�XŬB�}��6�â��`?�i�*�[9e+b�VL�aL͙����dBYp.�ψ
�n\4�糅Ƥ���d�<w��W"��? �'�O%�a2N�9��,�ߟ���!���.�y�Z��%�4�U�^��u�φ�g�)M%��C��V����M!z�&�����|D�,�i�~R,%��|O"�����h\3+��a����������i8��\$!1�L��a6s�
z+M�R�b��_
k�v�j���U��裒-��jX�Gt������b�~�˚��ꖺwt���͝�SkP�2���(=cvt�"�[3��&��h�DN�=�򈎋Pɛ�A�G���'_�R#��M:.���3�	���tJ~��3zwx ���;�7��O�8��Y)
�DSE����/����7�i��!wy�6��$��8E0�Taތ�|@�
g����.;m���9�9�s�HrL7&�����3Bs�|[o&ou�Sg�խ�+{�AE���kZ�	�"N�d�5��:��IV��ڊ�>�F�b�K��Ψf)*c��G5<��C����.g�]��k��
��� A0�-��٣��v�T �d4K(��Yq`���(u��{,�:0*$|2����/I��,�`E�����xP��#q�����`��/�:�����';�ىV�D)˴�r��89�w�}[��F����ޜη���+��šh�KH�\�ǚU���䬂J�V$pUj�|c0���{���L��A��?�V�=�4���S�Ŵt`���d���o��d�bUP���J�x�g��JR�r�O���s	�����4Mw���
�""�42����`M��D�/N!��v�3չ���.�f+�@xO�V�q�j^�Cߪ�Km���,�8H9�Z��<&�o��(�@��k����M5����]�M��U2=vpB6DXj`�r��<�w��1�Y�:� �o�<�9�;����F���$;2֜�j���޺�x,�ʁ�C�Rĉt��$�VJf�f��9�)�a�9P��&���6Oo��l�<������ds=#3�s��P-�bD��"��[:�wɺ^j��Ӂ��Qej`���Tq�=����H&�o��kĉLD�W�O������*J3s[�6�j1�@��nr<�ξۇ�#���@	�0��c	���?ﵝ<2�D�Ӧ	��}��Ts��S��"�R�
���.}�oZ���Fo*���ݗ������:�������7��H��䍚�x��]���a6v5�R��̾e1��$XL����
J�aa�݆,��섐�"3-�G�!˥8���8
|�T:S�P������pMR�Y�b��{�+�O�eۛ2���g���u��V=�U>-�kb6U���ЩpZ�M��O�`���$W�D�y���A߻�[�4��a��J?�fD?=�d��(KD䴱:�D�/[�#��$A�#KH.:��x?%��V�r�@[B$�}�c�o��S6`LPfM&ɔ��A<:��v��Ú
Q�~P�w���[��+�������`+j� V��+��R*���u�l!���|�+'�KY�6�6��_�ud�}_���[�yuۘ�j����o$��Y=�yjR�i)��b�ԋLaD(�X�U�wI�ڻZ�$�7ڻ�9��&��4Z���'��DF���[N]�~�dD?V�Q�W��Ͳ�}vS>�Nm���+S�q�H��a���U!�Β����Wb_+�����U�O]�^���l59	@��1�'���A�^��m����o�:��9�ף�s�-�N:���tD-�zkS��j�a4�rc�zF�ۻ ޿�x��v��7[�äC8�#7�p5�+��� �~*�bJJY�zֳw+�����-��p�/L�L[cg���n�lc��a�P����H�F����$}�9`������\
��83�Ym�1b>�~ƽJ��؂�Ϗ�yBs="�����f�(zK��M�"�H`��w�c�Ed��:b8�6(9��<��c�l�ݘ/���k��g�G���������^ESE)5�G�_^��k߇�v���̚�}T3�;6� WvTCP_���k���._e��єNJ�L{T�!��6�j>h��0��#���[��㗚����K��z�,�!�3���2����:6d>�himE�\�=�H��Z+{6��@W�ʯ&lC'�,��rX !8�(\�̭2�-�P8h��@�C4��<~����Z7j%)e����eF�pZ�'15��^6B���3�nc�o#~���²q��R�@!ա�� z�^�Ks]T�@�TN�T �,S*@7��C���ī�Ʌ����L��iQ�N�,��	#:��RѪ���j��9��1�-�Y��P�N¿�\&�yL8�ӹ��&0�c��v�Ɖ\�����J�A��;��Q;�]���I�M8	�s���Mf�?԰�I��r�r!�K�9я8p�}Q�콍��g�-�*sm�~�X�P0d�M^��?D�dI�m<��p;�y�,"ۦ�6��v�pT\^�n���3m�>8�eC���N}����cà�٭$s7ۼ��#յ<SF-A����z��≱�
�B�	*{�6cg���Tz�GX2+�����a��0����;� �EEaG�d�Θ׿�[�M���
�i���g��:B�[�	U���3�J9�
0��I�2'	o����\e�%4^5}����5��� �0=�
��J�}m�y�&����"��.cւ	V��}e�J���:42q`G�O�-���-B���J�F��Y�۾�3|��|)��������IG��a����+�*��ttPb��A�Do?C��g�t��;��I�]G��2RE<^�mK3����+��;�
�[���3���[1����y�v���
#��p�<j�iC�af�~\�G�C�4���dubt B�K��бQm�=�a���Tq<��^z�ء�(�޹�G~QۼZoO��c��r>R�{b��4���vM�q���l)<�V�{ě晐�2P��T�'D�
Vt�������oP�aU���6`���"�Qe�]ka-�^<xj�<�G.���~��������5۹�ۯ]�V��`8Ϧ����%���r�y�v����;��pc���������`�٘�uҙ��9q��q�E���ҹ���B�����6�Ǒa�e��E�ثO�Y���Ǒ#:y�p���/!/��5s���U'! ��"|���B㡪�
�t\�T#���ҝM�$+2n_��� ���b���^�&��������e��i��c�I�=��u%E���ȭ�֓
���fj�aظ֐����E�ӝ��_�e���(r}�mo9��UP6zH$g�4�ٺ6�P�@@�X
(1�Θ��x_	Jy�{�3���',����M�1n���>v�O��ճ����j���ְr�1�f4cs�_%v%l��K�ZNi�+V��3�'�����~��N�M�G@H��B�b+���v�VFq@�ݱuKZ�h�p@��E0�����ua����SXd��U���K}ԯ�8G�X�KiI���%���uR)�E��I-�ږ8��|1��G�Ξ��f6�Ȁ�=!K�F6�Qf[X���~��_��j�\^�͋^k����`����D��s�G]~�㤛yo�}��;+i%�N}�Q��0��ԥ�U��u)M��[�Z`"�7
��?/[C�{�l�)�$Mr����|^��	a�����:���"�֊��a	�l�>�h��y��a��{�2>��CP����L� �j?�ntg���]��S����{�UӇ�('��b�'f��g0Ӄ����LPA�Mtd�)�2ú�Y!�v�&`o���2P[�aޔ��5��S�|#+��7J��
#ȸ�_��dU��6#VD����B"K���|�����)o���tk�l���,��l���U�)ݹe�5�<A��\0��_�7���^~{�$
qR�ΰf���P
a!f���XU���hX�l۽^��:(�m�?��@=bhg��O͖{-�i�:�'�A�8?g��zHFz0�[D#�A�.��%'��w�=23�ɸ��Z'�Hx�����&I��4�1I�Ji����e�z����͏��o�ٴ��{�����i�ß8	0[�K�/�n*�a5���ᰉ�,c������+��A��BDrlDo���"$Th�T����9�$�岣�'���0V�'|�"������
���S�AJ!�Տߑ�6�F6R\�6\��9�-�_=��Q�"9IW.\.zmkz�F͵U�x<9��ɑ�$�7i�FS����ʧb߂@�ۨ�}��u��o���Ͼ��Ѫj�4=���oeUK�xd�W�뻸1nD�X���y�"���5倘�ʂ����K�����-�o7B"��ě)��uW��E�h9��b)P�%.�$�G��(@(��u��R��fLT ϪJ6
���)H*y����=���Q/����uI.��<���,��r#�y|�l�<`��Q��=���F$��A�t阍2��d6c��Wǥ䇣4~�%�vb�a�Е_Cծ�Y�l�̨�vq��s$m:�G���\�W[����C	�l��}�R�^�2J�I6�X�l9��=��`t�ӑ�/���P��jes"��_�
L��w�m��~��X���N�M�1x���ٛ#��NmzS�%b��,���Ž�~�B��	`�9�Vu6U�}ֺG��u�n�wO�����fsC�\������g�������V��Φ��@����:�_`c+}�L�<�[��#U��*|�歺[��[姙�ԧo��ɼ��\=GR�K,![<��H�?��;�9���:��Iͣ+��a���!���*��?#�'G��=���Q6�,�g�m&;���������X故0��
�������;qW�q�'�4��I�C�g���΃Y�`�~`6ix0OG�g`���[~��?NC�Q@�Ȅ6�N΁���A}j��Ba�3�ť)���˴:q�I���gZ�2�vlf,�У��Y��Ѯ��bԩ����Xo�Iė˜�X���_'���5��]J���2P�92��C͉���@�C�����6E�e�B@���A�9�߇���Ǵ�y]�H�	�-� �b��9
��O�0uw��I���7J�x�ū2��\�Vf=nV�V����"#9���v8x
��mpAh���y�3��pQ	%��t^��� |�‚]�YB8jC׬n�#&�ɇ��ʴv�˒P�>�O�������y�UAt2�_�������n53e*��1���v����(K_H�vV�ʉ3},��A�C�Uƍ؂�Cu���t��i�-]�`�����7�]R�
!zs�N��t���&��̉̄k)��SL����̹�y7��$��ϥDJ�N�d��"��9�
�31 I��Z(^(
lw6
/�@�Y�B�^���}�OT~9c�c��]���{�)��}�D8�${����yc�,ʤ�{�tA�W3zHI��m��D�4ܤU��T3d�I���D�)
��I۬�.d�~�[-�K�^2�Zc��
�8��u�,Y�^\�_��ԁ�_�+�cJ��$�\2:ZW��b�B��w=��[1'N�YVz4�;��(�fzN���U��f(p֙�!x�#����L�=#ŋT�hn�b��a˳"��,�T�\o�!��@@sN%��|
���t��Xj�	j��	�Qo5��������o�eF)o�� �9˷�:�h*'cJ�孏��[��{ȄNf�nz�]8F�/�|��1�v��g@�J:�Y��նNu�:�d��hH���o
����t�M��`��R̍�R�i�:|N�_P"����B@���� m`a����:M���	c2�Ũ<���ؓ��U�O�S�\��%a\A�p���ꄯ�e�\��A�����.̰{���w�ǿ~<dXIh��RN�gkv��o�{n�Ԝ�}���H|e�iV�W����?��#�(K:��m`�&�L�x^F��+'�����؜Z慉��ŏ1?^�E�(�ݝ�D��u��6��T˜��LS��6O�am��d�ʙy�2���|�^�S�K�}*�2L/Ř)�h~����\1�� 
D�̅���$��1�G/Εo��0^����_|q,��|��`�ܷ*z�|���'�usv�j(q�R��zL>��6������	�;s2�ŋ`���W�`�TyP�g�ee0����00�}/ǔ��;h[tG�D�5�^E��#�h�ȍ:f?	�u3z0�ڎ�$�T���^T�Ahz�	�x
�I{��5�������'�r��K
��z�o l֢<���Nl���f��M*�~�Uʏ�W��_�?�v;(A���ͺ�R�^� 3�=6�6=2�n�~}c���O7�X���d��J�|��LP�ޝ~ͅ���8�+QD���\���ҭíS�\�=�U�v�
M䅚c"a��K;�A�=ԨĚ����k�J�N�p��M%AR`�و;�(���5�W���=���Y �g-�^v4��X�ى��J�@��=�c�3���}�*)u���b�T�F�'�|�N3����E����9��ڪ)1��!G���k8��6�D�
~H���Gp�%�Fz3�2��M�J�aZ��?�c��n0�)?�h�N��u�����m3H�~����1rD�'����1������Kr�t�sJ�Js������ָU�����2��r^�+hNzg��l0'\/e��tXԐ�v�l �j�cm}!Q�ϼ��t#��z��#]����ϕ��O��ׇjE�:�#	�6�n:<�N���u�i�����{�z���1ʞ����UV��l�+�a�N��W���h��)O�2ymEl٤�A��7���YQp���fB��<8����;����'gKR5n�����T@	�n�*��!=a5��������Z~CW��P^DX-Xf�j�N�ű�q4�O�I@��S����}�Xh/�>�,b����89����-:G|W��)��b��A��5G��<*ٕ��:ğ�!]gj~�O�&��U�N뢹8�� ����g�]-WW(W�NI�3��N��gr�3|��m
�m��'=[n�힬M,?�$��HD��D�-��O?5uX�]˓��3�7�>�*�w�g?���*!��JyT�@U�g��z��I��_��7�&�\t��H.Y�Z�(4Y'�d��T�
�F��s�-�qy�a�7�
[��67K&�J�/$�c/��x���[���ᶏ;�Ī�z1Fv��]G�'ڏ�Q�BSO�������І$�y�(��TS��-;�hűz��T��%D��ts��"��=�gwU�uD?b�$Zr�9�G���<��&�Ña<�v5��0�]f%S��an*���؊���oмb���8pJ9����⠚�'�-s�@�r��넅��T���AX��I�\8m]{�Of�`#��X�T^f�5��''������W�2Ϸ v�sE�\��Qs��(�ː@A�jR*Z���a��̳�Slі�R�[�ܜd�*)�ɩ���P�¢ĽHt�o��5��8��.��]�h�\s�І؋����?�Vs���h-U�'�#E�g�m]��2NjWl�rm�Z������#2�BE75^^��a4��wU��K�'g?ge���213����Ǹ�o`��lKzP6^� �$�$9N���Wvg2�HϏ���CR�ߜa7F�/��3�\8���F�\�/zP��/?������{x��Ӽ�]�������/�^9�@7c�ޥG<Ho~�F��!�6�:�j�*��Nb�lNy����C�cG��d2[d7�W4]�
�5�4i�2���*��h��p�*�9���mYmط��kh"ɋŊ�W�!��A�an��J�|�V�N�c|�u���j+�'���7������('tcnV��d�Uc���)�I╵��8()�K�Ζ9�U'���պ�j��?Vפ@B�O�E�G
,�cC�"Q[b�$�9td҆�=��X� �dL���M���͋��h��~���l�c�.��ж�t�q�?Y'{'ވ�A�cS�V�M�%�kD�
�{Ʀ�X�=�:��*|�ͼe"������~��Ov	;�G_RϞ��\���G�$4<��ie�f3���Ph�H��b0��6ĎU����s����LӨ���Q�|_P�����3�0����D���C��H���,A1^'�M4������]%�EJ53�蕂
+ͪBP�^$R��R
DB+�M-�	�s��b�R�VFeP�;7����I��o��m��^��M����k��++_�����[9K����W��R�vۧ�?f�q2�s��}�X�@y�f��������H�/=�����֯�A~ ��0�̜�xra� GD�v�l�Q���Z\\�D,h�i�J�]&(A/�"Fb��a�ƚ�
��m2�l]��x$��E5x�Ð1x��{�����A�1>^2���_���Be�;b��~�փ)�Ό2�j��� �r�8]'�7��
���� b�C�h�T��d���)�+���mD)���.5�1�-���|Yy���*��o�ڤ�L ���4A她=
��T���@|�X$�in.K�I|�R���@�P����@���P��*���a����k@�۟�������=I��	�=�l����[���ג"�h�X0�QҜf��˒��펖�c�<#9`|cO}$o>e�X<�`,�o���_��K�3�����p�{Y����An[�9�M�
�T(!"��?Z�]�iE�m�Ğ�>�'����{G�t�� ��*~���y���`�'�A�?٘#��)�o�($��ȉەL���vYO1o���_<�/ǐ�M�(���W�藑Q�'^�#0�M|�3}x7t��<��a��@�̻�H�l�1�>���& .�m�v��!*��)$�z��mr��t���(�:���G�G�beV�w�i$C�O1� ���c�Z�Z�<Gc<z��@�:�J-����_`�8���~�چ��M�	���)
uE����sY1�B��7�4w�0�G��5��z��A0�|Р��[��@��V��ܟ�Q�q^@W�r-���U��O���$9'��IBjf`5
�"ѦYx�Z�� �U�O/&83��,�8�k�2�&�� '�?�eEv�$��L`�B�%�=�T��ftF5対8�.���<1=>�0�G� 7z@Jy��~��p)g�,g��YL.$�,�� ��-�<�k��{�y�c*0�2�/q1��������g������K���M&�R<���7xC�y[M�ʛ
#ͺ����Dya���3\��wf�wr�F<G�W>�ĸ��M�]\��N���s�Wݍd�<ӡ���W����064�t�ȴ��v�Ȼ0>ԯ����; ��)f�#�*	�2<�h�� �~'B�w���m�H/��������wqM����o�gC)̵67�#�B�S��>_-[��L|R�R����lQ�}�\T�H)
�9Fa��"^�b�A:�ݳQ4��' �=�sO	���'�@.���Y&8z
�,i7����3y�;���U}p/�I��xV�x��il�F�Z��f���hX�c����.b��B*�|&��|g��e/�k�u��v\_H����b���d�p�G��/�A�}�㬬'�xȜ�Ջ�;�E����
�!W�����j��{���ZI$�z�{O�p�;�x��=׺�q�{�����5�l2�3O��=�@�j�j#�GY�T�n�>�&ެ��#��CBϩ�zLuy���lS�a�a���0�LTv��3��,�2
�sdTr�U}E����l1�z�`Xa*h{�qiuU�\��"L��д@�T��X�RU��Fg�]s���E���5�V0��X��/��u��k�z��B��'ك�J�x����	�Iz����7�������Y��Ε�1t���y���Κ_}��|�xm�[�xJ}z�l��D��V���r��csdsq�v�[��&��`�oU���l�?<j�C�!	OeqB��=�J�\�`��Lr�孈�d1Mh�o�w�ѹKi�ģ�d��*;^ҋ��$��xH���U��U`]G�kC�ꆂ�����O��QS�C��w�o�g~�yG8P�{{H��.$���6�!}d4,q>�`�ll�UMBR��Pe�2�A�1R���H�q��lB�Q���$�W�%��b�hB���ÚV@(?��F��A�Q}<GD�2�:�e@�f�$"�8�ȍF����f��5`��{���K�uv�\��X�+���vj��^4=��03O��(���0-I��fK�R���o���O���i�2�)؆�G�Ǟ
X<�ǘe�l��m��S�\��P��!!�ox�$�+��>dl���+��b���NIM�dT"+�ƌ��o0��`�89����\|5 ޣ�ئ(������y�j�q�m(����<\G�	�2���dT��P��0���$���n��@�
Ē!�X�㺕�����N��kճ�xiki����ݝͨћ"0?�^2�XF�,{s��r_e@V�����y�g����N�_�i����wq�;X��ED��\��b1G��(����Rs���T����<\ډQ���2tT	�;��`���[�,��Ak��K��bDl#�b8�,]�i\����|kC����xLq~r�
�Ά>|�ž�B����a��b�?a��ag3�0����(	j��"F�A*�{ߣ�d�]ř+XH�z�s����Z�S��L�u:��˅�)�Ҳ��n�J�EBnS����>Ħ�����	m�h,�R����T�~}�9,	�/������.��H�~�!���`��E���x��O�ۖ �mwI�l꧴ёUz�z�k*�*|m��*.?���~�
��c��hp��?e�Y�]�*H|̛1���e?�V;	ا	2�PQV���lW6m5O�3'�^���x�,�ҹ�a)T��eU��s10����ft9�����T��{�!��L���@�OL���tǽ!���^�L!t��i ���^��:C��R��	����K��
?2T��Yx�۩Fq#0���
<��hѭ����)���kes�a�T�l��
x����9���d��%+��b8X�Z� ��;g�v8n7�ϻ��a��&�^���o�b{w	OO��7�jϯ�زΞ��,�~��WY��ػqÎz����Voλ�g�'5�(��"ե�
�A�Ӄ[�:��P��|�Ӓ+>��#�2?$Mnd�u�e�S�J%����e؞~��U�q����
�޳�҈z�Rn�п,7��˱������>`�
�/�uFg��Og)P�J�\)X�k VF"��\t����r�#��wE]�s�:Y�#n��8��Lm"6D��
�Vġ�H`Q ௢��ү�QkG�]�<2�N�?����U
��&��|�a���_G܏�}�di�!�:`Ⱦ�����[�\,Y��]J����Ϲߐ���ì~���O���A%>���]��2P�l5p��O��ѐ��[ʀ4O@�¡,�Ҭ���-�,�4��X7�-#?�3��{���M·�C��1�8�a��Y)�M�"k��a�_=4�JqM��?��nh6�k�ɜ��P� 	�2�;�3�g�4ՍZЦө�GZ�k(m�p�v��riZF�}���i:�/��czP��uV�Q9E��&'�/���v��<�2���ۊ����YQ)�j.�HN����11�s��ʗ���؋�{�
��'|�k��lT�%�1�ꪋC���g�QUJ[�'��U�ؔ�̝�ֶ{�81� ��r�n���ҹ��}��
:,�й�6X7����f��e�'
NM�2p|�4��p6��Vn듁p&S=�[- ߞ��~�Nj�I���Y�/c`YAq6�-��Y�30#V~hs��EPT;�u��b6��WD#�N1o>��)Θ��Cx4�$�/jl1�
y�.�/���,���Rr���[YE*GЕ�Km/�|7�����SI��SƗ�q�F��㍹���6��:c�Vs�@��w��+�k�1��c��aí�����w0:Y5�Q�"
���+g"%*�2�t��`�G��ݴ�
�f:hN3�3�^�~<PM��Z�*w�����Ґ�I0�p!"`�PS�L�6
6�O��{&���`(�ۅ���Mq�aP����=P��Z_]��pv�W�{m�h:
�Uu,
A�j9�^��*��7#�C�f��]��gr�{NY��� 5���$�O�e�
Gn��s��$��\�i�`�D�����?�߾;���w���5U�xj~�̦�ܵ����֝�>�yө��)�o)l*��H�-�;���+�|��+[��-��ZG�X�f~<F���_��̝����r�f^R��
߂�4/)+��1La1PEv~�:+L>�M�e�b75���[	�Ho}pi8�;`�$�7��~�Yw�4��RypJ�s�������}�!*Yf�~����W��]�TKV�0Fy��l��$"��\��A��E?���W
,�[b�0q���.�|��x�Z�/�ˁ���]���P*4�$*(����R7��L�&����`goTܑ.�$�V̇�h�U�L�Hn�e��i_�"���o߁��e*mb��D2���u{��ݹш
߶\����ؿ����Z�D�ܚ��
v�z�1Ul��Rl-wk2V�x�Ց;�؀4�00�=ԑx�~޽ګ��o2R�mԔ��=��_��r���Z&�ן/߸�����(��[��C{�%b[f�.��<Nc0G2�ڼj��~H��iDP��ce�|:P�7i�/q���-ڏ���\�b�7R�>�\l$}�V����چU���*B3�l�RPf�	�d�'���<j�E����x���}�6f�s�(İS���e~4�U���)�C1�i�s%C��r�H"�3���؃)	��L[��ө)�mj��U��ٜ"����I��R��6�W3��nP���H����ߛ5Q7s\�@��Sw���RhƄ�eq�܍G0?޽~�ؑZ>���GL������c[�d�N
�%C9�X�<�Q��^i����p,U ȑTÉ�~��U�2('w|�/��B3�����J,�t
���WgLN$� [�V�|޾�v�h0X�X�����<�j�h���j0��{rLNm���[[L�3S�$Y����ʈ~
߇���K������!�QE(؋�����P:&��{�ƼӬ4sœ��WL3A�6�R
iv-7S:�L�3��e���=^�����Ŧ4˳�4�OC��R~ܐ��NK0+c$&3�M����u<:�"Z���,���n2N����EG���%Wթ!`�4ى‡��_��`��}�.�Kq���~�J�k��t��k�S�y*�
��)�I��k$Q��r�q3�T��)A
Rs��=[D�
j9q���v�C�no�KR2�v�)���1d�c}D�2k<9?�];�8����BR)x�ˣ;H�i�}{�74���4Ϗ[��:g�V-}@� ݡ_׀JPz�������X;�)aDJ�?���\#X���r��w�m���A�Ў2\�
�=�69j�R�Lm���.I�eG��R�'��v�$�	P�>5h_
��c�ҠW�?��+��������`ރχ�#C�����B��W'B��~����c�b
���5~}`��A�E((r�{2me5�
t>`v���d,p*=�ϕƼ'�� o�$ݥ�;f�`�̢�t��ɟJ�$��H��Z�K��Ԋ���k�+Lm����R2��1�,�q������F���p�̹-��J%b�����=g�V���^�y���~��׼�0~-P��ת{�ƛB���2X�Z�?�oG!x�n.��}%�}Oo	_�?b�J���N��v�$bl;z��`�&K��x^]"���d�+�geI2����� �B#�(ijNN>SwF�W��|�b�	���W�oW^\q�?��1>BL�/=�iR��,����cykW�Z)�BU����kjy�4X���K��,
3�
�F��9�pK�u���շ����q�@���OAv�yG4����.,m��#D"^�ѣ�8l�QZ��1���C����\�4oJܨ��힊������dD6�h[��|��L�]�V�~�.��:������0z*��HX�,�Ͽ�7��z��U�QN�e.7$:���.��0֣M��j��9�g�{2ڬC���O��墸���N٘�@.��W�1D�z[���[�M%V�5�r!4&U�r�
s�7%y�N�J(?�nYm�"T�C�Mmr�.�ݴ{bSNT��]*}�v`������1�^H����v�No�UۆAS6W�Oىe[(��B�͝�to1bϫZH��{���~�N�}Vˋٹo��<�>#��o���TFD"�%7�3���.�(?�f������]��`!��������1%U��qL:蜧�ϸ|��@8'�+��V��Wu۠��0��} +T/��Qn���l�~�c��{�p��a�=��V:#vm��~���1���t	0�SPH�]�/�j�g/!���{/�c �j���h���[�=�U�@ʍq�Ig6�M������mq�%Y8�dc�`"��X�t�������>�"��{��ri���P�O?��0=�/�9��F�nV}�OY[՜���"I��
�{GEz	`)Ӈr���OoK�Y꺧�S����4;�������L'�>�c���N@����8 �ʋ�{삕zb�8_xV������(X"]Δ�ěM6w�,�f�gf��+͜)T��JUt>
-�]z}�o�*�mGŶ�1�S��<����۵��&��:��Q�z�H��j��l�j��L�
�F,����a�Y�"'Lˬ�ɴ��bJp{���6�ի�h���]��m�
�E�=��~��f���Fv���E�`EWinux�8!GVY�??7K^�+�[2���%_�mw�s�Z���MZ?�v�l���9��f��O��{���,�'9�/}
T}�����6��V�zô�vU�[��dT,_u�V���E�+B:�x��a�Y.L4�r�P�1�"��n��j[)Xs�54��� �4s�S�6����{�(,�kW���
�:Dm�3����/
�T�*���z'�1�o�'3��o�w|Ћ��=�Y�<
a�D�m�?F_�Y3�f^�L�f�f'@�&M7�F0{���G���T�B����/�f��zqc�].L.I�n^����W�k��(�h��c�!Ȝ��|�%�?%��\��6�Q��n*��0��'�'����W�hĩ�=��ŝL��CgR񛙌��9V��玫؛A�ӚT�Q��y�č&i�٣h���QJ,#�|d驺z���|yYH�����{�FI%��O���RD�&�k�'�	��(����k�ͷ_�u�XT��4�J�o���tǠ��`X����l�/��-�ԩ����
TBIj�ԛ/�
��J�n0,�ħXB��U��H�h�Fe�%�6�%�/���:&zLl�dKT��
�^�Gv͊��SA4�:�D�I����ʯ���<��!.�1?nT���zhԓ尵�Z�B�����Cn���I������~+��sm�8�T��=f!c�(�KH���S���H7!L�S�.D�4�$��~]��ٴa�G��s�iK7���"dϸ}�����|�{���ܰQ�7�r-�y����̂z�RaV�]v4t��������2�����-��讨YD�ی�S�@�%_�B(F���Hke%&5��='�jF,�����G��oW�9�;�(�ڤ���X�3z`�f�M��<�~�1��bR�6t��0l�u�F���Ij˯���Jo��I�q���Ĵ(��cǘ�U��@���Ѣ#e�&��V������y(�	�{̧Ku���WKe��Z
^>(wDI���߹}x��
��ƺ�5�gY�G2�2��&���sσ!q��\	�������C�P%U�
fb���S����'�H�Lbi�,�s��F���6���7߼D�
�g̣oGa)j�S-&�>7��y���CCΖi�]MR���A��0��
Kf��F=z��gg��tf�7Kx �[��L^.[��ԭ>�Z�c�7���36�c͗��q��w��*CC�V<��])E��9��)�ϛ�0l�SM�.$�bAS��Hib%z�qݓV��޷ʀ7�+8�{
\�H�A�Z#[�8��0�*��r[-�swn�xP+HEl���Y./�k6wKb�?�8�8G�I.�u���r޼�l9�Eiޜ����`�"�ƃ���ȇ�˺�&v��I��բu*J\[�^en�Q%j	?{�nW+��1��Z���C��	�$��3��!��6���/�SG� @�4ΌE�!�Rd�8hg?��J~���u?Zi��D��4��K{j%)�'�x��Ma��YvkEt�,l���c:��w�Xk||2��$�.Ey�=x��*-LM��_���xC���{�t��4.��<�P�r�͙��s�1��/��N8�uu��.ӿS�_r�j�]�\���av^�����s��Q��ZŜ�-��D�u�S��g�6����{${�r�2����5�>���,	��hc�b�J֊�?${ou�o>ͨ��vCl��(��<�/0�x�(D'aԧ�R�0��"�o@����>N�9ߖQ�]��}��3�(� z^)(Үe�}E1\�p�B�(y��f̷�H����Y��/HI��;,���q«=���d��<zl�hi f|A��f�g]y\��:e���}���կ�F��M�.M�-L�C��E�f麬��u��\Q(K�ۄ�Rj���R�Ǐ��/��[��uTOb��D;Cطc�E���E�TSq��h3d��-{�fXp���6��h]���V�Ha3<���v��J@X�����M�zdR�Lb�3��/�����dz�"���?Ԁg�:D_���P��7���_٠�Sc}����ߨ�ʕ�0�$��0��s���MG%^��X��5��Tn;���>&T�<��)3SfV1��ړ'���vh���D���n�$4n���'�r}b0��D�xo�V���U�JgIN����}��4��/��|ߥ\��$M��y��"�j�}j����ib�!�NӽSB�v�C9�wp�7}��5�����q2�Ѫ��Ҵ�UÍ�,��鼁I��}�;��Y͜ȝ�DJm[���O��sޥ$Fl�X��~�=/_��S�L��J���&��^(
qwv#��	�꒎��.�P���:bB��fV�2q�gn�ٙ��l8VӅ��b��0�aG-OTlO=A�f��W�O׭OJ��{��̑Ͳ�g�� k:���I��3��*z�A$���̊k�P
�`��n�FGx)�G�RPE%�5�\�}������3۵Ruu��W�-�������2�����G��������%v�oM���k x��B�uF��N7ׂkV)12�dB!4
��.
��N�8O,f����2TiV
u����d�L��zy���u�g��’�;�Ks�'^���y+�7UUO���B��ж�+�$�%O�9elե*��c@��F��c6gg�MU_�~1f��v�V�5
��-V
��0�� )_D�{��Գb1�#Q|�k�9=�?���Po���c�s��$&��}�BoWT��"M���=�Dy$,I��N,چ�	w�I�x�E���6��x�n�C�C-���,�ϕ��̲Y
:�y�~��ʝ�،��=Y���c�,Txe�qU�k���*O��Tq�\�E���*��/ؒ/��NS�Uf:��b��?�ī�H�t$ٶUfu��dH"��$�2kQ�/���WiX���N��x
�r6���_y{?2�ڽ��C~{���u�8�|�܁�Sf��+��{��3�0`�wbcC���Q��+zƪ\T�-�{�]��ξ6�Ѯ�c�?�8�Z~|�&�e��D��9qW�2R,Y+���y<`Ow�A�bz6|�]�:q��Z�O�V�gM��̥ic�kJ�0�=,������4�,am"����RC#��,c�f���Z6RcG�Ţ:�)e�		���eI��r6.��Z;��P�+O�)��$\�wI�V��(h�`z�{%�fp��xl	}�o��nr
��7�%ӧ��{��
��x�m���1o��i��q�� J���O��'V!��"��=�$

ї4��KS�+���&Z�ۙ��'�憥Y���^��e���~���}�,��x'"s�o߮d����߽}{.�k���TJY;ff��j�KV���B�+�j��qM�WL�"�e�/�׶�߻Yf����xw�I��:k�I��q.��Dz�dLWim��]ɗ���]
f��)�B��{l�ֻ��`�j�~�ކ��;ā;~�7��-zA����X�'��tb����WO�.��$�GS0R��a�#�Q���P�O�|�P[����%`C)c���"�ͽdD1�xp_s*5�ac<�v��P��c�q`{D8�Shv��i ���W�	��w�pk���R|��O�2/n�@�6M��R�իB|��\Un��^�l�s���=[{���A�?��zJ_R6��SA���	�������o���wn���~��GK+�(uhK�7���,���H��⺔���Q��/��,���Z��y�(NZ��y
����ɧ���e+u�h�C�<�/�,s	wy��#�j��I��诵�{�Ҏ����,ٿ�%�`S"[;��_~`!>�]�܎*��t]8J�u׷�uO�
��աH>��h�Lkq7g��R2�,ʪ��Z]�|��$�CZ���m
������q�X��	�LrS���Kb��홞���%H���/���w�>G�9�(|�v�v�NnNvX
N
Ѐ`p�����+�{(��u\� s��Q��p�ݨ3��q�\��͟��$�ﵧ�;Q�Sřz��[jl	�6n� 8�DT�}��㔨�P�E	%��BW�ح�Y�w��.�����!����/^�mdSZ~j=�*Qgd�⨎�0t���]�����q�-�.P�JBp��1	�ث��at�l�/���y�p�q�{~��TOH���6���	u�N���wY�|�
A�Vr��wDh4Kk���+
�/�@
@��O�����J��ZB1[�?l{�JՊ���q�9Pv�oY6�CJ������������$���H`7Ei���)*eK��؂Y8��{V���)b��pNv/A�%�;�uh�(w̃�l}�*�4�y|uV:&�*P;L�Q���g*}O��W;xT�!���F�[���o�
l���*�����K��K��Uv�ܼƌ٫NY4�$Gd+�3�$K�VZ���F&FuR��j.GN��ۖ�5ƴ�revv�v���Ȭ2M��C[�)�|��eGyb�{�)ڻ���.I{l�1����C��e�sZ�t��h��ɻ�RæGp��7?��(�d��W�^=�

���&�f�V��͞�iϟ\���G��6$��$��uP=o�u87����[�%>`<�.��$�Mtӗ�B)G�jS�Q���Ud�`��S�"��3��ɽ�}Mױ�Tth?�7���]�����i�EH���zş��|�-���td���ۑ,�:�D�����j7l��D6٧-�����+�}ZU4�^��xO�ݼ��f��QH����U;"I{�)��1��Z���.����@�2󄖩b+q�z�V��s^�>��V[ŵ���-5�v�����]蚮���c��"��"f���\�߬��<�ۋcy��#��Qj�6dr#�ȑ���J��4l�O���(y��N��}$m�[�-�|�Ԉ*��S�\�ќ��臉@��@
���ie'�m��'q$��s'B���੻A��d�)��.�*	�_y��#z_Ы_����{��_a�_=+䊒ӌϞ'P�ܺw
G�J��l.���r�q�Z�vD(�DCG�&�C�ر�!��=�ǣz4���v(�$;�{�2 @�iǘ�u��pc�E��
	hh	s��>
��L�^�f�ڻw�
TWޟ��R�
�/_�I�Ħ�M'B.���,P�-�H�j)��%P����Dp2��^�^w�`K֫�K�Pa>ξ﫥jϨg�)�KS��ټ�dGFYG�$����X`�7%�Ҁc�K��QO����"BաB�'��^.�`"�;�G����leԒ�O^l��:�Q�>�45e�=[7$z�����i��F�\*B�'ǝ�A�ko����MFc�������3|�Ӭ%v�>!���]�€����'!	��}:xi�/�xcR�^W��I������C��z��_`~c���V��Fvf�]5On��C��?��ҷ�7�9��']�/g}��փi��UIȃ��O�t��̒�?��k���:����[��>TSi������E<7�E-�N	ؐw;�mD��u���[�����z�+9��g_PO$��UYN��[�#j���I&���3�\e4n����)Rvcx�/�V�C�?�K�����g{G��X����"b��(�6��ʛ�|����	R�r�I���&�-Nձ��*�?��2BpEYP�[��.���r?�gO�h��/%l�RO�E�
�f N=d&�u_qb�?X°��f:��J/��}?(u�6����P�"��L~�iV-�g1��YBg�	�����}H�K2�4鵖r)�ۡ�#|ti�@@��J�R[��k
x����cE^����I2߸�dVo�qP���kZa2��H�/�=(�c[lW%i����cX�c���hP�q���6�c�M�?�}iSh�Rm��]��6;���?'����B}g��M�m��Ǟ���Cj,v���Ա��>����G��+zYl?G�ܦ*{��.�m7�A�T�^1D�"�;R�Ur��"bh��lqw$���/gy�R�mZp�%�0B�ϝ#4�b���\q0n�	�N]M�<�q��N��{Ԉ��h�@��1?��~�t����6͜��T��k���̆ҙ҇�\M�|�t �5O<4> J�}��,�QrQ*ͯ��A\'�)yz�'�KdخD��Wdi�@gzu'1\}�^q���I<>e^�h)�Q*��lz�B�l?g�������G��Z���0`��~���9�<!:���+��xۣ""p�[�W�}��"�Y|ʒ��>�/ie+U�r�W���Ws6
�g�*�D}�z�yn+ህwUӋ։��f�G�%!���L[#��"�h2�fmh��|Fqb}*�H��#z���nV˴��]�xA �1����m��k�
	ׂV|=�@�=��OB�z�P�d��5Vrl$���ZՄ8����8^Ϗ�qp(:A6J5PY2		èV��'G����pe�᝭\��hj���p�1a���w�ʓS�A$�|�H��E#7ч����|��p��*���
�`�D]Z�B-��\6�iWẍG������GG��׮~�Y�J��T7Mq^��#�0����õq������b�0�KVot�[
�Ֆm^�k k��-d�p�ݟ��^J��d�3��ݕF�F�T�Ϻۗ�9o�\S�8��qk�"�σxL_:��P��Lh��0!��iˌ�{��8�:���zE
 �Oy���/�l
,)�G�����q��Q��R�`��\J�>[����ip&Հ@�����
��$��:�Q8���Bt:@`{>���'�a�ޝu9��9�'��L�cи�đHh��d͞���YG�f�������/�	N�=�Sf�0T�;WJ&� �I�2����31��kÉr`��}��A̶���������d���@\q-�9(�B�,vѣ�ALX�q�H[�!�f�-t|����n�PΤR^�b����GO�f�=+����h���W�D;Kf�x1��^U�]�3�@j�K8{V�. "k5���h�G¾�pC鹒�*�6i��S+п�u4495�dj�+��Kk��Nq�B��M�++?{�2M��NJV�u�90�$#dV�/�,)��
Ak0�Ƃ^����F�ߛ����n������<%��J�����vq$������d	@�ww��?��R��s�
D1�F-�_�E1}�zc�ƝZ�h��[����$��&DWx&fe�%�� ~)	~��XL�t˛�҅��JK�//(�F[�KY=;��ؕb����~$Vd�]��8��|��bJ�):v ���3R�R�Q��}˺�O��	k�UP��}��SV����xsQ�ro���3��z�2�F���'֯���nN?��{"]�1B+�յ�
�;*�
���eO]���-��N~���2�̜�u%l�(Z�����b�9M�h]Z3')�9�#�>�*�<c�;�Ԛ}l>�%�)�V`leY�.5*���D~�-��d5J��Z�!Q��Ӧ�^fP��/fj��T�X��X&(f!�Ý^�g/j<	�/��륃S'J֓5�V^	���ߟ��^�m�{��2��;��
0i7$�&⩵�ӵ�����XEOS��x�5DZ�يt"�h��v�_C���S���~A$�<�@���f�\;S�a�)��6C��_���Ίg0(4i-k�<
#5t�\CC��h�>;�!`���� 3��-�6�ht�D]�S�eN����
�}�}�����"����#Qn����`F:��>�79$lV��e~���̈Ja�%��q~�ܣ�˴��^l�C��
f+/����eBa��<�'� \*F�C�;��|�c
��ڀ�N��f�!�L2i~�<[
����p�&�ѕA�kn�n��r�틧���n&�fvnjn�-��2�5(!�������rC~��D���"`\T�'j	��P`�0i�O͚�F�krf�uə��کj\'�3�!B�IEl�Q?��m12<T���R礥|�X}���v��f�*�?_�K|IY������{�%m`*5�D���`��N��9$#�c�����z�K����t�؀d��k؁�7��[�3�z�ܐ,����b<�|S<�~غ-VE�l̤��iA@O[��.5>�pQ����e�>��R�w�تD�.ۋ���
XN#�'N���jj��о4�!��tK_���f�R��!@棼C�J-�ja�H*�����N��p�@w�V�[;��
��➄s�q���H��l��ڜA�?�y�	"�j�!���<�U�?�h����k�1��oa޻���e�8S��1�Н䋄��!���9�h��I
��B��
9K�o_([f0���o!����31�C���;X�Ih$�ɀ禹@��@0Wl
�]�&)s6��4w�Y�3c.��Mg^��1���O�qs#Ms�3ZNLMi�}���
�9�U�~��x~{�$6���F�ɬQ�Ei�2Wv�YF�A��Vl�����VDXer�(���Z�e���Ͱ�3)��\t��5\^�"r�Ш�s�
�w�P�5��f7�N�K$f��^q{�"L���]��z`@��DQh���6f���~h�G�5�uU7G�����~�
���.�#3�P��TV�!�n���ژPf6�Չ>l�6	9@�Җ������5Ϛ62�t@7
��L��2	�� t���'ԯ�bH���Լ�w��Wf��Ɋ7=��.=bx
%d?
���a��� �9�e�p����H�ҩK��\��ۏ������$����C%�0����
������ntv��:��M�`᳑B���asp�&)"-qc���	��@�I����bk������3eP�F8��ZmUL(�(qP05�n'���C���V���i��������j���ɿX?q�g^:ӛ�[[P�V8�����6��=Iɉ(�c�G���@���Lb!l�l��8߬Mv���vVb�q�~��/���%�Ii����҂ϡ֣T�=�!B��PS:�m�u�v��P��s�ϥ�;����Z|s,G��:��pH���g��Vu��ZR>f��@��e⋮@F�<6�Ͳ�.��L�
�/�)�X�3"LN>�^�m��w'����>��\�C<��C�Kb`�(.��u�ְ����T�'� �o���MG�{x�$
v��9�
�|�F���x�ʀa@QI�֧�'�=�z|Q�o�^B�f��,�Zf�W�4�#�4��y�I���9#��5ZڭE���2�p�'��B��~���U�j}ۣWwE�`�	
m�'?�!�@ ��C 2C���pc��lݻOš�{(�C2��kC����k��'�U�"��C?�T�Q^��ڝ��kK��m�3��m��$�۝��ͮ��]�<i(Q&wldmY�1� s��3�hOJ����:�N�I��7N��$�zڸ��##ot4zϊ�p��驚�0��k�x�ȬU����ÜF~:(|�B�����n��m�	`N-���d�l��9�/\T�&1����9�V<vn�:};B+ׇd�S�\H���l5� j���fe_�����Ńa�8��||g���x��WF�i��%C�F#�Mk��1����wJ%"�\Ӿ7����R
��6�;�{<�UK�9`�;$�Ѿ�<�{b�a*MwfԱ���O_�g�2��Ej�]V��4�X�*��g�S0�K���c��A��T�P�ݏ�`~�e?�F�[��n�jX�nر�U��5Z �"��p�ss���41�@�����Gi�<J��<{��z���ޢM�}�a��!Be:�܍o�`-�C\�.yk��$��exdz�N�H���(���_����!�KF���otvW��w-��s�L�>��]9b�	�Jn�)sn�t_���_xEK��D� ��B	�$gY�A�V>g$�%L�0L#��{&Ν��Ftd�\��P�=��a4��
�8"�<ܝ��s�L^^N���Ec��v���H-_>���֋��;|+�c��!�������8�O/�.规��Jn�8�&�,���%�s�t�]6(k�H6��Fq#(ۉ[�y����{��0(�^��ֿ�b��ף�Ŭ�����������&f��zCqI���<Μ$��((h\�ED�C�������c_�x�/��E�.:���i^��+�Ο�1צ��҂Ji4@`l�xN�L$搘6��T���.��?���4]�X�1h|}g8<1Ȥ<�@K��/��/��5�p�ל�o��t��p�a j�t�bE��E�y��&Ц4`د���$�L���"����Jvi��l�j�Z%=')��8�e���`8�T����*�M�8���.������w�~��\(H�t�vr�"jDo�GG
�i���lHe��%ia&9�d���d>�-i
�lM�ܰ��TA�$��VHG|��
�$��:�1Rs\�Z $�Pj�ۇ��]ً�g�8`簆 �zߒ��V�X��ݕx�rtX/�A�p�2�^[1~R{�뚬���ɇ�:kCU'5n��%�'�CXP06G�ۮ��l[�<�N�scOFeQ��-�gi$�RN���o7�Wz�
_t��"?�z<Q��l&��B,5�"�}\��i^�|}��R�����l;$��ѻ�'dxw��A*�ͺ1_w�f$or�w�V�$
��T�Hi�����L����lVc\����7O슚��ŹR�D)�]��B����=3���qF�MM��ȓ�B�g����
�OM[�԰`�W[pBΉt��i�\��`�{X���/)�ƩcD�R��Pvz�x��49H�_��ه�#�1��&��P�/��֡��&�U��u���)��l9�Э�:!�}ɑ�=[�*��;����u{����.��p��"�!��,��|v�nN�K�63ud>��6����y/H�}���ё�{qL���$��
��-���a��[���st�nS�n2�ğ�@���ѷ�����xHNp�������2���&��3	�����f��x�)�WP'h�7f�>�� �s!�;�p��&Q����cN>OgdH�E�1u	{��^�گ�V�}���2�@�J�H�S��>!~��L�^d	��r��5/��GyNW�-�`����ɚLJ��=��(R�V2�ȏ�M;�:�-��A0<Ȥ	L�1L<F(�J��L��Cl�Y���N��_7�:*�\8͏�w��
d5'L�����H�s5M �2ID�%��WP\pyr�~��ҍ�)qN0�E�|)�(�@��(";�JGZ�!���U��,WL�#E׬�E�����O5.K��������Slso��z�d�7��ӳ;%n<�5�*���iu���?o��mI��"m��.�XL���F������r��s������
8�!���{N�c�yٗ����Nf��2�!�n"5hU�F��J'�d�B�2��sv5�	�����C�r>~.���ܤ�kg��LinN�d����u'����f]��B�sL��A�5S�h�K�v�vn-�_e�9e�V"m���B:�GΫ�x�c�ZX
���o��y����HKgT�~cN¸���OZK:�b�A�%9C	]��o�ʗ����w�1��)(�t��^�?��u�Ʀ�-A���9�����9N�لL����#�A2Yu����5��/_=fql��j���އ���ˡ?u��Ar�Z����]�A�X _�v�M��1V��&P\���6X��2��m7䥱[lҏ'�A��Q6R�S�Q}�딭S��e���S\D-wLrTC]�ӎorly�݂X���J^fo�-���˰��(�X3�R>\�#�	9��VP饘QՐۑ,a�e���X�#�*���gV�Tnq���GL�(��Z)�o�M�i��!#Z��H.��$�ɀW�����\�p���*ȶ��/��.g��y 9��L2��p�(�#Z-)i�����j��jԭ=�0b���`n�0�a]�k2�I)�X�E�8f�nD�η�%8�CS.�o��ě�Ng�'d�p�-��J�=a���Y<l��Ǡ�OYdb�Hl_LC
^]����o����>�ɹب��Nk�Y	��Ե=�����f��N���H�^�����f�<���(|�E��(SL��\���>�u�4vdN��~�HN��[�nD���eh/ڈ(2�1�he_ʔQnV=�C��H�E��gi~�%�B��15���czŕv
�>a�Y��%�e�&c!��pIB
�8г]~A-l�64�1���/�[\\ZI�
T4�W���aa8'l��xRY��N�e��j3:��-:G��6�v��ad$$`�M,ܔC�z�3�!q�1�����]Ӌ��n#x��B����l]��K�^�t����_@Y�u�gS��k��]�OƤ�&v:��N��a�L�ewɋ��-hY}:��xi O� ��x|+^�ñ�Cq%��]{[[�q"�	�x@L�upՔ��j����-��[=�����ئ�\�e��jq[�%��^W���'�Hj�y�c��%J8�Imx���=�C/�].&�w4�D��,Ƙ��3���"�z���`�U���
|M:3Qc!�_ǣ��W(Wj���q��S�#f(G4GޗI>�����n�ڄE��٩����^�����˗��<D$>n�HG[�M�'�C�&�Ǹ'o�rUm�����N��ݾwJ?��6�\A<��N���ZK5�D�)����Hi=�i�qlS��:�B2�&yY��^�bخu}�Y+lc��Z�mL��%9��s��̪Y�O�1�ߺYD2L�
���ʢ%���c+7�V�_.rsIq
pש�� >�bG�Nz�Ž2�q�X��D�I��a����'H�V�T��으���E�t�|��G�3�(
oOtrJl�s<�;���3)YQ��`gw�8"o�&��7>�cѭ��^��@&��t�T�}g��$�}��0h�h�)�GT���s��y4r��
 o�
M�H;Φw�~|� !(���������ad�"	���-sQg#�,1M��|��/�u�h�R���-�.k$G�K,݅1a=a���YP�A�,q�%!�
ONzvN6�^��>��ƬA�v�J�F�ӽ�)��
/���ުl̒�B3GM��'[�,n\��\k�ѣ
m1�hm�o�>!����jM0C <����埵��ߎ\������`K|_xN�`ǀ���pWJ�jHL�M�<��_���=����C��M@Wޅ�%ꉷ��dž���f���%�Mn�p�Z�3�@>'�M��d
�Y�,BT��u��J�:����o>��b^չ�ȑ�ދGx��_W�`�H��"=�ϟ��z&=�@�%ӌH���qi�x�DH�Xx�jꄯK |@QT��P��+�:u�c�}О�T�����B5�ڨ�81��hȩ����a��Fu�XLc[�nNרxtN�D�X��*N8������s7�|����2
�R{>}78��.��G���yՂ��Og�#�Q���q�'�g
�f����K�Y��`�9�h�2�„�6�$}�� ��(�T?��}A�`�7�8��LHFR�G�
E�FJXw!S�K�r���@EKa��2�'��ʌ�%v[؟[7��S�F�j��j��[5�h�Mt,���^���i#��Co���q§�Z�e���t��e�Wi�����p_�t��^*>����Vlh�Z�Q�jX��B�㨪�9�q7�@������'������[=e��H+^ї����a/�G�6�z�<�6)yж��DH�wF����v�2nF�)%�d�����.�)��ەP6^÷r	��{�h��<�L�?�Ih.�����dht[$���]	��fŘ�9&4.�;�s;�B�����
�k�����~�>�j)ϰy"T�㝼j�MU��d΂M�ݱ��[��D�g4{+�ݝ���:�<�9q���A��w	L}��A=£6�۠ev��Au�+U�_��Q�3f�?���R�\�0R�
�R^ �,���V�w��W����2�`A	�v�G�<9��4nX;�?��?�*uV0�����{[4"��΂,���qӼ��<��RK�+���k5�WxcF��PO�=*��;E����D�~��:�	�m\A��p�����\XX�d����+�Hk6��Zb���WsX�/��$_��Q��Z_���hh�L�u|��8�
	���Z����}�IH�:ƋoK}��
�a/-�k��xVq0��r��LC�_�D6h&軓S�q}pߨ�=��~38���^x�Sߡc���8Um��e~7����VUZ�:�vƯ�[m�>���?�
��p}�_�gKB���_
%�_�g=�Ih|.ݥą�V^1䓺0	"{��7��m�s�9�ꛦ���B��N��I�p��i{
]J� ��:M����y�%��u�����G��Vց����kk<o)�{<O�GJץ�xCNj3-˪���W-739�Bƒ(T
`�P���X�i��wQ�:����6�)"S #�-��,�"v	��\��d~n��2rr2Ob�6�[�T���
R�Kc�Y�犋��4c]�>����py��jp:G]�Z����$0
��_�N+M7�Y2l
@x��6q��	��4���59O�Т�}T��r�f5��2�k t�߲�}�p�U\�ur����sVl�ת�a���޲�
}Vm���~3�gm���,\7m}�-���*�,EH�q�$Yx�=E���_V'��C��R�i�ND��9���/Cb����x��@8`�2I̪,!���f݄�nE��8�b�+Q��2쪘�CZ^?G��Vf��砱��(B��Ie�+�9��:
A���
��v����4�RB�H �z�ѳy�|�x���֣�W?�E�t��FO�ܔ�c��=��1E�$V(T��}�rY�!HhQ!.F/
d���իG���0����;j86t��������	8��y��QG��/Z��a3=
���O����_�ؤJ��Pג�I�Rs�Z=��|ڼA#������#�su��曻;.�����.t�ש:�KIT'�6���m7��"�:���s�b�q�yL�@Z,Y�	bg����,���n����{O�;]�ɪ!_�"=c�Ӻ���dij�2�G�B�X�$���|��i�!���*nT�%��;�*���^3�/c�E��s�4��CwLj})���<(��YpHw���W�^��HL�-v��p��đ@w��Пp�̹�U�K����>1뷀��L˾�f�0p��Ύ�=�_��!	9�q�[���ƭ��t�-c\
�	@�q�]���CAJ��p�Pao|y�lN��{F��*3�F��xLTv���0ԛV,�������jH�A(\���x�����xtP�
���R�^����S��h"�H��Jn#_p�.�$���s2�i��B����{T�uZKt\�LI�%���*���P�={�b�"U�Q�"V�R}	>Z������ŊN��Vݮ�-�J��hσ��
�^����;��FQ��,*+�"�"�00)�:;:V��P8*e(7�Jl�����0oHe^Ɗ��y%�`��4��Y�[eX}�6K�J˩���^#<ɝ��I�_/�23-@�l�4��`��P�=�K&=.)��՜XvL���f�o���BG]ޮ��+��؂Py��I�n�V`�k-~S��d��d��cU��.�gƗ'� 1N����0P!��ί��H��]Hf��[�Z�x���\.� ��+�\_4b��Ov�����#������v!�l�,�x<�DxIN-F��e,/�\m���d�Py��Ir��ǐ&$�G�K�K��և1�q�zG�!����A��38�̍�97U;ȴVe�g ��݌�L��ΐo�tp�R<s��k0U�-������=C���C����WjA����Oi�ퟌ��il0Gtc=T�	�u5�<ل�'M�>#��
�A�D���䶅�)�m�"Ǜ�X!-�Μa�R�����_��});�;6��П�(��o:֔�qC^��Ǖ��۵�A=�z�O�b�	�d�~���������hz�n/J~�ǪŤzS�,J��J#2ŭ��i�Z~_�{c��]o�bR:�v:��?e?	tZ]ָ�ՠ�gժMk�&�zz�q��%�UCW\Y�ڻes���7iv����Z�d��T�V�Q�C�$mČk�i�w�ƿ#��;�̋�	%y�G�8@5:yq)���|⌬N��=������Bց�^\��S�8]�]�?{��rW����[-�+W�q�)^2���-��KK�0g4�LҼ�&O��SP�d���Ş-m���>����n�x�QyY崎b��y�CQ����A��)��B��D`<`���������7����%f"�Y����>���ШG]�T}�_�����T�,a���^&xԠ���,v�4�EpW�¶��S�A�N�Ⅽgj�)����&��d��5�4��(���$���sD�Bݦx��O�h�XQ��L�w��`�q�nP�sT�s��'@�Tz��,�2��J�*njވ�4_�}3�����י�j�ҫ-�%i����
����P�O�F?��kjS�#�G�'��p�1��J�m�b���a[�2��?kKq��!��@-^Y97�*��o0�i�M�l�=�ߺ��������(�7g���_��Ǚ�W�أ��..��
�p���k�����#��c]@��q�o�s]�vK��i]�C+�K6�-�/'S���{V��F#pƦuO&��g�z��u��t��xeL�.��v�s�Mf�џ@/��)�u����A�)0!۽�)/Y���_$mU?S^�	Gq����Vċj.v���UH��0��mǕ��*3����bt3����(��$F#��P�hzZ���o��\��d�沠pmL�~�Ljb�mmK���	�qsN�"Q_Qh9�	-��㳟CU�џ��O�=ކ�y�5��Yk�����N.eu�i�#u��ڒࠠ���p�*��!��C_߻3��Q�p�azm�g�-���	�-���k
8��Z��莧�YP�d�M����`TG���hѤ]:�d���VN�vc�W:w��|kҁ.:ӫ�O�ڑs�w pT����%z΁ه�*�0)��A&3��PPQ_i.�-Z�!���%�Tt���f3�k״�+��f���6������6mP�яH4�ׇ��2��
�umMCͥ�pm*Y˭���9�_����J[���.9��&��,r�H�i߃8Ʌ��a������[�N�n��<�CrxL��r�J2�vc��>x�	�����J�#u��:nY���}l�z�Ӯ��^Y;���z��Ӊ�1�`7z�v/��_眓��{��='T� `Jټ]�ȇU�)K{v�[���՝y�`�-0-�?���^����[�mSƐ�=�O#_D���q�q�mR0���)�
i�bJ��}���<�w�o�a�6�[����^D���Zz`����̶.D�K���=b�	����b��l�޲w헂M���7dֆ������#wQ]!���˘��g1}BJ�9�����Ԏ�I��=CVR��%�L�MU�]C(�+#O�1Q�dj�2��~&�B'٩p��c�Q�4�1#���qʸL��̮�L�➒��GZt*j�I�`��Q���/�HJe�l���豎���x[0�D�֌1�STK�af�;���3`L��}�{اJ&5������J�^����G������&���x��%n�q##�G��7���p(/8����ʶJGy���8�?�����+>I�����克W�T�m
Aj��/b����YFNG�uc����\�����:�i%���fU,p�I�p ��^y���B�cx�2�����
Vb�6N�d�ٍәT���l�W�{tĈT{��S/�Q�Y��K���7��#��pQcGo���g�Q��G?e<���t���J���8�3�Y��ި�F^:�̊�|�ʚ8`r}�Q�hF�4�뢺j"�:k�2;k��.,�&��z�TIF�Ty�=�K��;�pr$�Ѳ�8f_��TIV[��[�ź`���.N0�U���8IY��
�D5�7�o-
!�mv9��\/�KR����!���6���b��\�+'I�e/��a��Fzͷ��{���P|�w��4ej-��t�۠^�\�SK�+'�J�R��S�f����4��Ԗ+�e���"Ӄ�j\��ʌ�E�.�>p���!�\�B���}vچN!"f���R�0r�G�߻�*�� ����/J����6�M���n���~��}}<��o���lϸ�p�f%��n~��W�X�U�lA!�ˍ!ӫ��8�iD*�z3��@��EYo�J�N�C8f���,�R	�Ə�m�w�E��(�i�wL��e��7�xЬ���2��Lz� B��,�'\n@Oޤl�o<i���YU��ʣ�:�8��p�u��Z�8�&>�s4PcX�Y��������}t�p�-�	��yC&��z���
Z`7�)�<i���6Oggtx�
hTI�w1a�r���3;e����0t����Ysmv�YE����{)�K���Yh�&�ۑǶ��X����>T)�0�jJ���ׯ�$7
�����۷o�Uck��w��Y;8��>���+g�6w&$�>ނu���>�
�VZ�J�����g�˿�=���>O��i�]@����QY������O�����ƽAI�N%F(��Y�9�9��J�C4�Q@J���9��u�3p=�0A��1
��,^�>�(��HR��Bx��Lԇ�j-���a�p3���7ub�NV4|u��砋ale��z���J@��5���y�C�Q@RRq�O���</�&�IG&-p@_S/�mn�����c��Z5;�<y	��/骞P��e ��������P.Wk�Y�D4�<�A������NǬ��i�D��N$�7 �.� �+�gI�g��:�#?ḤPuG�q+5<(��ڮ-H�JD����U1&g�ξ#Y�#}ă��-�s�<I�ʹ�`�{6p�S���uA�mm�G�p<��s�Oic0ʶ�u�����f�5o#������.�o]�l�<(I�Ֆ+� [D-���d���qꝻ�)�<UPqyoQ^49K�#	*���%^��"Vv�*-���s�y1"N�!�4��\U$џʋ[��M}�ߑO�r=��K-�
��82I��+��(�Ydmh����La��$U�T��
��C�(����' H(x��
��=��<XU��Q�����L)FM��^�>�¼�p����1�B��j�*�O��|O�,������0�߰�ʹн�,u����
�Hs�5��IJ��R���(���+��F�L�?Fh#~J��1�������p)O"�-J��q
�Ƀ7�u6��(ۄ������!P@��>Á1�
�&'�s3�ه�X,�9Y�|�s��A�CEvp�|̺%��3�7�_*xC��8�
<�"�'"G�����!�£���V�볩�s�&<6D-m�������t�t�z�q5��"m����J���}_�(^�m�'V����s�۴F�>}*s�V�Ӈ"����m��������9oq�����{��o��!<�]w�@a�#a���Y�Y}i����|#�r��\��I�_ߙ�W+��"푎��Nܞ�0�|��9�8�ֽ
.�yf����n�sˡ�b���~p*5E#�s
�vN�9>�c���QG�!�Ú��8��Њ�y�6&���-2�~Q����[�aṖ��о)5�����_[��z�_i�t���b(߭O��=�C/�����P4?9�T�,�1��լ��9��"�f���P]S���Ԝ(0v4�s�Jsb��nQ�{��}�#�@����ɏ���U����^��R+�/6�'
������Kh��-��F�s�5�X��ޖX�yXQ�3����
����WK���b"��&�â�{�[�m�p��Z���ֶ/ʲ��Z[��Z-l$�N�e�WHW�M�_�
Vӧ�x�s�䀱X
)���o�C&�6�l�ktIp��].@?wS���h�s-�$�9��n�P[������p�Y�ӲG�:������E�t����b&�<
�E�_���p�0Jtz�X��B����.R��
.E��Ď��u-0OSBþm	���Ǣ�����]v��d�`��ÝX�P���[
��V�C�4O�������0&z��u��4�&��E�ʙ't�A��B��%�+�DˎG~A�x��CPKZ��n���Rg��x�+��i|�o�ʜ��8��o�qJ�`��G��~��ɕo P
�8�yuq�뢵����𐠵�������Ռ=ƶ��T�·n2p���aA/�F[
]+p^��F���(���?ɬ3gg���Q)���Ċ�DLm4��G;�?81�[ѫ�T�> =�Q8��)ʒ�5��ck+gdR�����A|�v��a�kBcz���[���C8�^'�դ���O�S0��* )�5r��|��Ȥ��^�?�z}�[�SWU�����T}��?L���U�^����}L	�6h�8�
�b�ǎEڰn�/�M��A��6����6Mk<��u9�o5)?q�	#�019u�A.�mX�iȪ�fg�Q���Wo�g�@��u�;�	�o#���&�o4�O�:on��M^���;>��r�0�.'�}�)X��"�9��O����~�.7@3����_~I*���`���֣��q���^Q(T����ߠ1�``��w2����u���Փ��أ���0�F�(zc<��mL�hc�-p�:�|m��.Ǣ�VfhJ��M�~� �[е�}��r��2��~��wzJ�:Ս{�s	�3��xԺ�,G� �MKd���v%b�o���|��l6�z	^aCG;zVl� |_����m௷E�ZQl��Z��>g��sSo���l���P��8�C�4>@���e1bς���	 ��z���F]�5�Qƃ�/Y
�vAfG�WJ;��=�yw@�R���q�\kK0{2tv�0="w
0�N����r
�D�n��J`3�7�%/-�*�R��.U+�[l�Q��7H����0x�/{džq���8>6F��'0*G\�Q�a�$;�h�fEB���C����-`0��)�y�[hʑ����V�
H2�pC��xQ�P¥��9�>&zgိ�*�+kɼ�'���W_�~I����Pg_�CO{b���̖���aշ�N�� ���
��~A'�/I��팟o����"��ܬ*0w�����K�OLx���i1�M*ˀzܗ�{� �m�eJ�!,O'��Z2N�m��:���ܢ*G�`��x]sҶ#fD\�����FI��Hw��]���I���?�7#ȂU�.�5w5ɮ�R?7�����0�:�3��np&9&�Vup���AFs���Uc;I}�!\��Uv���}��b���z:���9y�! R����ξ�����
N@)�0ߗDd;(A�Xr�[B�N�a+��{��?X����/��Jڽ՜v�ݶ�6�lҤg���O%���P
(�/V�� �j��>MT��c74bɤ^�~^�()y�I����Єe7a'x�U$u8���/����N�Ψ'n���h贑�51��;�^n4�8�ߖS�q�F;� Jx�����]�]��Y ��MG-WM���_�	K���V�gGg����>���W&��i�&
�əۣκ5�X�n��F>gla�⧲�0���x){���8��}>;|��9	i� 7?��kN���W����� ��A��P�Ej��p�Y�rҊ���J�p7�~V����8��o�?������� ����3#JF	;Sl6QA�i����C��fT0Y�w�I���+~��[��kB��4�1L��[�*��;/j�LAM0X�}>������.�tغu��tj���iZ���6��)���u�d���n�������?������
�|n4oZ��8H�/��h�!��}�I>����d��	�_�Y�3�rD�wc6�Z���K�ج���A�;��T�� GXKb4�p:I9��m��{#?{��X%��C��KM;���E�({vT6La�Y}�j�O��ѭT�в�`u ������J��ۃ�2f�1��D���/�M��R�1�Cb� @#�^$yH"�c�%߀��.Mt��B��l7 ��^���]]]�*��e�g^1:��	v"t���2��=M@f]�M�̟D_��w`tј������m�����uJw�"Bh����O;��ֽ.��w�3,�eJ�VKm�C2LCyӝO�L��U�{�/\"����K�	h����	�bxZ���LR���i�O�(=�|���V}��)�׾��[[��P�[����n���2�6Y�K��	�UL�}�W0$ڃR:���O�3Ij�(ΒRօJ���)��������H�I���n�S�(�g�K�p���2�\���oN��ya軚����8�'��p��%�K�EE�gO�[:*�׸�p��ⳇW�����F��t��!W�o�ڧ�"�˲"Cրo��o��B�J�d��;'K͒�__���h�v�+���d�����ލ�� '������V���m���I.^�˅	��8��B��s�f�G0�8�ռ�*ʮ ��꩐�Tҕ��c��6�s~���Jim���xY~��V�)�I��ƛ��+��h���Μ�;]��E���BAАQ��l"�U����,�C�)��'f�C{�KD�]�p#(^�����y�s=��=U��jon��lVe�u�iJ+$��d�U�#�;��O��
	?9�2��<�;�q>o	T�r�x&�
[��'-�x�p�0j�[�;3�Iw����6N?;��<m'*�xD�?$A�ʂ�8�f""0���ZI�;�� _ߢUcGk�"�#�+QE	��p�Xd|ĭ̧�!x3�f2��[��F����K��oa���K~�۷R�6	�Y�cj��<��L]��%���TS˶R�O��Wöbc�£�e�P�}�S���\��
��T���u� h���Ыk��.x�{���zZ	JTo�;�8��H�����P^EsT
'K�@�����
�t��B�%Fj�dC���ת
o����@XV+���z.�T��"!"�����B����F�.~�_��ac�a;��
�;%#	O6�L��=B
dX���o�
�ߡ�s���L�!.�A2�R�  �4
����:g�_�*[t���S*]��6�,�O9�3����5��ؖ#^��l��m��[�e��П��W�
=�68u�P�ݤ�_��
��M��p�"K�}q��fn�V}[�[�!q�e���*`g if��|T��/\w�G3�	��zC�Ulr������QH�$q�}r`���og�՚g�O3�=���+����ƻ��{�N�b��-p�g[r�:�􏃽����~Df,�!�>��K���9YR2��v�r�D3��'�
��K�gՂ?h?�r_��K&`t͡񟞉���y7��&.�>�t��u�4�ߛ�G�
���:�^M�pv��wڴ�Yz~ڇձ�M٪�!�RW�d�;�#��	^�z�ʈ����Q��t\�Wy�\OJ14��:5�\���SXT��� ݓ��g�v�V9�UkX,m�iM�\����(n��>E�I� a���I�i�_��,������(�
;.s�)�=5�A�I��(��wX�g�}4Y����Dp�4��{�jq(Q
̷ZJ�U�Zf�K��*�xC~p"�2��r�#�$!�J��zZY�.�^|h�}���z���Xa�I���E�Xg�t^4�R{��f�L�y�p�ᚚ�1ި|�O
�2��5�"�t�U�A�ޗ�@��u�R�PN�X�1�ZN���/�ܨ�x�����IQ�×��_�y6�EK���� /������ cuD�o���7դ�	���|2��V�C��f+H��
�:`�w��i��y�~wk���t@�4OE],�<����ͦ?s��b1-��
�J����A�������A2��-=��t�칙C�õ̍�:�
�Ba�;�W�CE�Ξr��{�`�&��,'��t�����[8�q�u�
-(�J�]��4
����ʹ5���ay��
hh�Y����.��4�j&���4��a����q�'(��5���s�X�G�jWB���~����cm۶�/��.6�a�_A5���+=d���>Ĺ_.�h����8tB�s��0�HJ��l��l[UH4�v.	��>]�(
k�9.� U�A:,A-���w�yʰ�҉��V�jVU�^���}�|wTH�Ә,Aq�0;,�ZD*��#{���l�H7��bRX�0C��d�uBѢ�5�d�=�V�\T=�Q3�7o�qA̐A���O��l�ܿ���!��{_uDG_���rk��ߘT�^���}W�o).8����|gWP�Ce�J����x�6N����(�~v�_�;�Ξ���S?���W#M�˿��^��S����mG�
θJ��Q50 �i�<�&+��;��V=�K�rU��
�e������#��,�t��F�jë��Γ�U��|N'uL�����x��&�)
�6wrroG�4
���L�R��	gn��Za�����#t+2�>if!ϥ�)Ǿ�>0$&��q�����qJY\���I�S(�ˤ7�^+�'����w�ٚ�ze�!�e��-���ݙ{��a��wτ� ��K"�Jd
��Ly"F��ջ�P�n�)�ж��w�-YU��6L�8"�!ѡ��|�F�j=c��Ƞ���E����R���z!�<�nU<�Qc������o+�-`(|ɍ ���O,�tcR҇�ӆ���/j�n�@<�Q�g�����4�6���W=Z�ڒ�9���4cK���&{���}�8#Z�X��WUU+�QG��Q�����3,��/�%�Eo�����އռ���d�7z}
#O�t{yD"3����K��d��� {Cu7��'�
C)n�0{�4�k���(|	u(5��u)"�|�V ��Wr���e��n�n���XW�O�{���Bu�WU���,2L!�(�K}���=��	�[�MP)�s2��l�6%�j
#\Jg1a^9Q�.���F�/
�
y|x��&�>z�|%%N��{�9��c׉S'I�#�ܳ&�QF��n�๕��!JƄe�e�o},��X�M0c�s9]��e08u�x���޾�B䦂��@h~T$�%
?��-&�=���Es��nϨ��f'$��Є`9��w����vȒ�ߖ���$sNy�7zԯ�3.ɉA�>��c���,v��A���?p-?�#�G�v˧�hm,�Qv��G�=KԾ	��n�k@p*�;r��Q���w�Z�*ړ�Ǥ��� �3ν�եwR�-�`Qz\�ӧ�v��c�<�s���*)���%m�gNܦIy�~#��+U`~�U����獫l'�-q�'��֣����h&ɚ,�B�L��<�g�MIM	٧����@nf��\��}��do�‡���[6[�B$��9-��R]Ղ��T�}�uA$�+�eҢ4�k���v'����^K����6
a;8d-x+���J_�u_2΢G��re=�?���(�����w��//�(�_`�5�w�/�/+:X}�Z�X��.ruȐQ����W&��eUs?�z�N��|jj_�Mw31���#qJ[u�WF�x�Ԏ�}�y}M�r�.)r�1+��)	�Qn�"|D�U)^8s6���c��#���A�;}�/�
��	���?��K��θĻ�G���Mg�i��9^#0��;؎�Jb��ꘙ��#�<���M�z}tum��k��p��aS����� 2�p.A^S1�_.wGao%7�,SUW��Օ
7�md�%E�=,�P���[Ұ�劚���l����K�=3�>h:pZ7ן�g~��#��;xD�t��O���|��tҺ}��&Y9����ƮpbuU[]���T���ι#��U�Fo~�y�ե��j��`a����~�.;&\UB�D����<��j���5y�уo�)]���,���+�]�*�D��89�ż���mS��T�I�9⺹���"����_KKgh��&�\^a=�X���(�u`��mgO,�Ӊ�h}����y�$�ے�$�E�[��b����\ڊ�xl~[����l:�鈼�,����g�\j��gY�	��'��&f)�GL|�ƭ*�Q��pr���~�;�Z��I]��
!<�aPB�I��b�CUxЏ��Eg��C�(�<g�d���РrM{LWҮGh7�9�W�Fɜ,sR��ߕzH7�zϙ�FrcHK����oS���Fa0��z���h�C���:+/����ҭ�[-W�� p���3v��\uq�GG+ԛDX)��'��&M�uƗ�Û~E��ވ�Wp���5J�pGՠ���0��_�ԍ���qW�Ę��
]5�x�����1�yu�&��8Hȏ'��;��@�<Q�v�8�����uV�<�ɦEY)+��tn��|�߲�K������3*����"���ޫ##���
�ЎN�i"MC�F�Z�uT
���7���y\=�ц�ёc�XY$*�^�IN�h�q��h�<��쇢��[�筆��%���UY��A�G�8�m^��s��u�¶��$6	y�7YVP�߾���tF�(j�:���ڸ�$j����{w%ph�B�L���\=@�"0���4)U�w�' �O�w4��#��N>q��٘���>��0S|�_Ae�g�<2�8�@�+�5�	3�gKp:���E�L�Bv�K����j�:��*&z����0�V >��G�X�CJ��I�O��Er����W����b�$�W+�^j�ɒ�����ϖ����6�H�X#18�ˌ5����ԋ���`�֩�wG�U�,�03	�������̵1��Q�&���g;!��]v�X��~0�a������	��\�M�����F4C&h� �V�Ӿӗ|���怙w9�}��9�/��H�Y����1��˚�W�(�u2igo�}9�~!V7�;�:H�	�xǗ�~㲿��vW�ز�j��
�w�$��kʪe���1Z^�W$S�+ļњ,�-�3��!�cm�h��9����% Q*;%�_���8�FV(����s�߷f�8d�����شgm5@@7V։��!)���^`��#m�܊����G�k�!��y�u訦���(+�q��:�­�D݉5/��b��w������b+�b��ᎁ���6�}�H�Л�m$��te�1-ě
���G]i�ܘ��$��Q:npy�s�ǩ��B��q8��H�r-;�-c�N�*�r�J]c����G�Y���ucyUk�u���DQ�)��:4^���K<|�XE�ޚ.Hx�r亞�j�Κơ���-�]��eU6���x�bk���_lo��Ⱟuv��oL�zA+�$^ҕ\w�%>�[�P��G<����2���<�U����w�����+=ܧT�2bwݠwx����
�ay�#G���t�s+�s������[�U�Y1��n,�,(�4��c$�U�S��9���B�%�Z�H�\R�׮��m�YZ�,]�KH�[�E�ÿ��/l;�f��
�$�6��![aB�r���d�Z���V�zoْ��n�H��K�VU�%����)G��B�$�E7\f�YֵT���
�Kg��ɷ;�7� w��Bh�)�k���4�����\�r<�zu��t�S�o�?(#�"�*G����<K?�'<i��T?����Zm
l��ױ�k�ưC��d�	@�P�J�����uU� 7"C*����l�e����A�I����̮BZ|G�~ۙ���Q����ec)XH��#�����k�����3��KV� =[����X�_��ߐ���W�Co����F�x�#)ȁt8�6�]��H��w3,ky��ѡx���,A�׷	e��#��/��t�su��#���8������;g̗��]�[�d`�o��A�l��g#� o�@�^��vI�C������k��r��k�Mp�Ԁ��K���mnJ�6���!�	{�zQIVN�r�rE�Z��p��W�w([y����
*
N�C�S��!!�أc�����-q���UwJ�=j,�������l�[^sM��u�;כΧ�:}�Ҝ�	�	qg������cNh����T�v�)W��d���]�]�*I����n����M�:�2�ұ�ux�v�>����F��n�D!�$S�x8��;����;�(���~
�Wou�\�Ht�*GĞv�:��[�L�r��-���y�G�m
k�-6K�=�9�D>�Gk����aD�l9�<j�U�r��7����j��*�Nl�����)8�j�2��b��S�-a��s���4d ,�`�8j0_FC*�6���*�[$_\ q';C2lD�I�=#��:�Vp-(_��Ha̹$�$=w�#mC*A�1J��P�%�s�d*�:��%	}���4�AR8������zø���=�?Eu,q-��أ����÷���,!�p��N��:��Ő5��V�I4����?>�*K2����J8Os������P"偙�bN�%�
�p�xc��N�&ay�{M�lƪ3#L�mN̕&�>��4w��ՙި���|3����}+�e�}����_���,�,A�L��u�[����ϲQJ5�'z���@Nԝ�Z̉�ED�@�(PVdl��\8N�&,��)I]�d��N���Y8+�ʞ�_�w���u⥊�8�#��+�1d�8s6����Ǭ}壯����Uy��fc����+��!)�Ȧ��1���[�N����}3ǮIG��u]��x~�^�ʔ�4
���qd���[>�,{�1#�^3��ID��=�q$�%�ɥ��:A*��Cg
R��@�B��H���@�!Tn���w�l��˭��a�]���ɬ���z5����{z���1�R&��l�\Wџ��g���EIّt)���8�R�Tp*YM�ڋ�FfR�8V�Y�bJir5Fč	N4e�gH%�<�ټ�
��n�j�c*v��<᧼ /���U��jao.lG��vA�vP���ؠ�Z�j����9�IdA��v�Ɖ<��jO��3��j�5�Kh�iMt|��en�*=-AB��Q����׍.|�"?��Ïs���\Z��%�g��t2^L�#;K�0>;���!���SSI��!!��H�>�S��|�B�ϵŵQN�,$�,J��,��y�a�>A���"T�S�M���K�����"�I쫈�+�;;�Ӽ�[���5��*^�1!��;m�--?wb^e��Ci�O{�*���N�C/���.M�s'������f+v�S�'�̘��
T�kO�H�L��T�pR��s�#2�Y��@�2��N�6^T��)u[�>4(n#�*w�²Jb����$Ȥ��F�TxM3,"&
�ܴy��Wm�����k!o� ��	��,˒�e����6�G�G\r]U2%��8�WH��
C����Qo娣�)���*�[zb�2�n����ʹ�.CL?��g��l�2�\��#�.W���Y`�WG��>r8��e1����j��B����
��U���q8�`{l_d<C�hj�h��|�v�o��L9����g���䇄�b�%�&��h� �x��L��){(fo���P�H���~l����8� -s�3�(!���Ckb���er�
A�E�H��Њm�q�ؠ̮�x���+9&V��HLa������jK##0c�e��[abh�@�/9�����Jy1�MK��:�5b�oN�K�T��hw���Q��	��)坁�(
�i�Ƕ&p9������F�d�I���S�z��Ԣ���uq�g�ݴ�VD�Z�&`�W�::�*�^�!�V��p}�����a���,?���8��晛�K��_���7�g�?�r�W.U�[���c�>��9)\�<����r�.-�^�
�BtR@�͓�f�8�w��<_I���a���Ɵ̢��(��C�U��/)�\R�~���?~ۨ
ÿ�dZ��ZەGƐ�����rg���Jp_�"}�Ie�g�����̒6-G�;����K�>�$n�����+��L�[��o�"�N�>��e��Y�f��C-��\Qz��%��se�g����@��%��� I���^؄������*�Ӭ����D��<�����!��0�O!
�w!����ޞ{����D�S����r.��~���B�z��+�B�mA�*�+y����(k����w�_�3d���V��y��4/ܺ��Y���hs�v�zJ�0�a�p67��X��6����	��y�n�o���}l��k�n�r7
yyh�D�bK��S�OR5p�8�.T�a[��Y�hKHCJ]c@�/�s-`ϼ���E��a�Gk�Yr�ʇ�K<�E�e��W�V�RP���t�G+$�д� ����R��b��͇P��TE[j҅�
���*���NU��Z��{�V<�����Q�����w�*�?�Ӄ7N�s�O��	j�$�0`۱���/�N�K�]ϫ�]
iZ?;:w���<����7҆�҇��ߦ�٨nV�wl�}D��A�%�yv���+�w$,��Xl>�/j�1�'$Y�F���\��(���AЃ�]x�i�Zk���$5��U܈�?Z��N�:5�Z��C�'Z�ܤ�}w���~HE���VN'�O:�R��|J%�ء��C.^��ڎ�`��g͐(3!��a
�[0ɘ»#��c]j��)��`��rsJ!�*j�c�f`��o�+�
���;mx���x�� �2<s�5��@�HT�}��^��P��:u{��P'����/���>=
}JKo���
a
��XN�-��K�;xL@@����a��,�����u]Ϻ��U,Y�;I�a�˯�%y��\	��#�2"�d���aE޵>P�~�?nŠv]wZ���Y׬���a)���3�3t2������T��۷MN�6=�?Cݹ�ސ�d�}1�y"9�gV��˚!Z1�qz&�W��w��-f�R��C|K�>���'�cwA?`6$,�|C�kٝ��0�->\�#�˽�����5K�Li�Tom��\[کNJXu�}ꕵۡ�x���[@4�u�	�g�����@���+�"��R.AS�T�+�8S���3r
P,qݕV^�f���b��ڝ]d|k�
xtQ�ä=�:�qC/Ѿ�K�6�9@�̦��8ۃ�)��6m�k�ϋ�z{�v����C��G���v�̠d���
lC�ȇ�`�h��r�����.�S�F�m�إ>2푈��n��\�y
���3�k��43b�?��s�Nj����T����%�a�)���2��}7
��� I���
}A6m�"o'�iLI��I5��y��?����|��Ue-�Ң�hb��=Ϫ۱_�*'�{��h�3r����y":�U@>�q��|J�!����׎���72ZΝ��	]�p%}��,r	�T���āe�u�1't�̖X�m�٩X$:Dl>�O������KX[�;���4E�h!�BA���j�Z�<|:f����^�O��h5��a� ����K�����u����/bz�t��w~�8i$��oo��t�^3Q?r��Lˊ�f��o��In�H���i�qUgg��)Ӈ�i�-a��ui��4,a{� n�Y$����H�kJc��J8@�t1A�y��8�RQ�)(�
�qr�<���'T��2QUE��T�����ԫ
���*D<!�⥘`��]�0^ߢ+=ǫ��I|	^�O�ax��'��D�TSR<=�O+_.��㨊����d��'��	tl�9���e5��,ƙOv'zz�{�S�]���x����j
D]�âKqo"
���M~���7��*5ׯ��S�p�E���B>WV-J(��YWZ~]�^��oP�6{
�[���=<ozQ%��g�fx��>���ʤ�Ɣڗ��>�����!���C�/�9���ky�y�r�L+>;��ʒ����[�/�	�f�n��>�O<�1�#r��y�w�70"���a�YM��0Ib�8H^-r�i�
a�޴B��7�N9�!��gI 2�iOB���*{Ȫ!�&�F�s��S�����mt�*V��ch|��ʢ�&E=��E�+��BJ�&Q"/q�d��"�8Yn�����$�:����W�|�8���a�%	�F������~�\����\� ���=��w��帙�"��i�4��}B��W3�߬���[o4Yf��"����31Doڔ��r�]C���pϼAyl��k�7S L��j��
�@�>��s�%���0�)u�A� �9��-^{#x�/�ަL[`�0/��(��?¨Y�)�؛a
�wI{�d�dC1������ڐ�G�d�j��<����R��0�*eYC�NsI(~.�D<��ouwϪ/۟EP�q�{��cۉX$6����i��E���<�-����o�mp�V�tX�b�K�ͻ���/�mjh��o��2,;W�́�x�I�gƭ،90s��Q�NO�� �HP�1�'�gK�,-���"�z2��ט�m���q
Z�(Ez�QNe�sD���=Ն;�,c�P�_"bpy�Ik<Ɖt�,_��B����-�q��� ��ܐ.�_����h�"{��g�G�j����y����;!X�;����C
H��*g�r-��;2I;���d�T��X��%\�fT����ǚRs��m��-�/,���;U��U�����v-{���=�nO	9���k�U�땐������(�ndz�Ii���P_�
�k��a��6d>*;��	ڻ�{�V���q��S���[�B�O�l]yW��MRZ�$.��%������qj"�̙��.��9*����H*�:�H��fc�Ep��R��o���Q#"h��tL��\�V�	���Of������}=Q]��L���H��|�<l�%��C�6h�%`t4�5{�)�D�$�C���W2M���F���D���p����VI4e@� ���G"�����S�]}��ۅ��M�b�F�)�Ktݸ�����Mq9%qc+���9����sf�
Ѷ����b�!�t�Oe�
�^7u|�P����^g-jъ(B�	q
7�~���?V\x]�oF�og&�w5O��o�,3�۪lLT���õ��Nn�U`z�\T����d��S���\��k��+](PX����x%2��_�垘�2g@�E����g��Hj��t�M��M�6�FN�
�c^���ٲ���c���-J�D�_�.+�LQl�O��d�`u����;��֦U�b�h�+�}O�]�����ډõ!�bh�	�����y2/�$}-4���-�����}��|�~\��/m�ڈϱ� ^�$2�͔�5#��\�P\�kX����txM�)ƕOl�)^�V9f+�ts�j���˗##��x���?g�B�P|�Cv
޶�q�?/�&�����yt�g"�g']�OIi�W�vd��/����n����)�0���P#X2?�Bdž��)�5�sb�b{t�c�zc�7�U�A�Ԓ1)!��(����S���,�4���H�C�$np?$�=��i[��~�׉�����YX���A#�_0�����j�%#J��8_���f.�����-Ί^�.��'
�du�����x,=r�#�e������*AZ��݅�[S*k����촀��HN�T��%�E����v�A���c�R�Y�6��d�̻�Yܲ��������G&�c�<��o���&�l�wu��?LHZ���n���M)D/�U�qֲ;���;�
�쏌���g������)��ݢ�������yw|^~d�l�&ɾ@��S
�lև�΍r�S�Z�.b~��
�~��ey�ye���f�i���S��ԑDT�����M���O%�,%d,�L�=�B��-��1�;,��{�}�,Ҝ�=��s��n��=ǺOI;�$���p���'i&k��7���G.�����t�0�r��
'��b\9��r���
lgjO��-r��l�c���7icm+�!�D�]���a1=Ѥ5q��l��l��գ�%���ґ�j�	G�dT
�v/��	��#����N޾�^�x���B�:��W�ڼɏ��E�vR4q�U=zjUdARK�]����hl!�W���uB��
m(c��'
He��t��o{R�}$oEb��?����ˬ�A�y�f���C/Ο�{�ֳu7z䒏���XG�v�����-W>���_~�kϣ��񏈔�v�rți�&!�*)��rI���b@�쪖%M5Нs�!N���=�3h�%`�U3����yV|���p��k,6��խ�]+{���EΗ\��^����yn۔.*Qz�MO��տ��D���'�T��S\�0�WU'5���:�#�h΅A%�EZ�ʜ5b�Ҝ�6M.�^q���Ӷ�X��(��1���]l���(4��A���Ң�ۋ���VXkv)^ۚ�n6�e�Q�~�q`�a4E������l�Z{!����e�ٹ�R��fm��wš|���N�wda{%Q�	c�y��g��R�����A9z�X�BN�|5�ّ��O��49_w��9������.���f�o��(�D��\EPl��~�P��ˢA�'��Ǐm���� |��)�]ˍ��1��<|`){��y?�J;|Ɠ�=���J7��M��MA���~we����H��b^;+��4���T��1纲ѳ�'ZNWR�f�Z�x��
R���}�����E�ڢu^���}�
����=ּ3�CA�lC\�'EΩ)�.�b.-��GB���؄��HA|ZE�y�˭�y�H��:��$��'�X��v�3&�y�VQJ/����I^����	�'4Z�Y[}>�ēn�����ѭ�ţv�To�w(�kxǂ� ��Կ�^gWzۼ�r�1k
}Pc�.f�ŝ��L@�^�-��7�pj�o����rͤ�DⶴppKt��r��U}�$gmJt�AP���v���h*ٲ�͛-���Z�v&�dH�j|4�P�9���?]]zw�� �w���L�����z� z�����Щ!�.+',z�b8����*߮$����jΆ,��7�bC���o�/�]�E�h+��#PN��:
��<�D�S_S4;��LG������V_�!G��8��ʜ%���gq]�wX���\z]�B�W���λ�z��TS�v��l�������V�+#��ᡜ��������L ��W����ϛ=�u5�f�]�Y:�5tgq8hĢ)����+��<5d��P�:9�?tun$�{`�Y���?!�&]ܳ��p�a���R�<�ұ�nk}�DpzawY��$�z�:�ߓ�Hz�����dY�Gj�a�r�>��q͸E@��G�4�����+������5|��"�E@������8�x�y>�XqI��3%�4&���Ueѣx�ޜ+�V[
W�?�$�U����7���H���2�ܘ�m
�&�{}�3�}�������`RU��=}ii*��"Q:��, !8��6�ܤP�'�T�s���rvw���MDKOx���inM�'\W��	mF���f�P��O�V�
	��\����`���%~�J�JvCm�8�kv9�E��g�fv�G١�w2�0�$�-�\��I�MD7�Oۺ��rU��:Qڃ�1<;�	-���:�z�^%�q��B�ZK�QD���{җ�x�oe%�*p�7|�-t<^�xأ�bT��*n��}�ۙo��˞�(��ﴲ����\���^(�Zn��3�f��Z�,2��:����"��n�@{��8,�-�^��wQ���R����E~����'>�@^U�>���W5��%3#X�5�"߶縵�mw���#,�,�C�8閅�W��O=Ļ��H�7��=ζ��:+�
ᓞ(N�<��n"];٬�D


+�M}�Y`��*L��vl �q����Zf���u&��-��A8�M���������6u
t2i{�5���k���
	�v@����Jgv;1ph�Pu�2[�p��C��Um��
�^H��n�|:�}���Jt�8��2E����l=�U-�ӭ}����0��s�	.>Q����x��T��a7$�m�}�;aÿ�mk.�4���7���Kt݋�B�{����Z=���+�I�����w��oN�.��R�"k�O5h��a��C�K�0O���P�$�/�{q�u[��_f�_".�w�y$�8)"oX�;3�4Z'��G&���o��5��gȬ	[�푂p�x�$~VlYy�?A:�O0O.?Iv�{��~l�z]%��x��դ�1�G2��
ͯ�4`1w����^��"B�~��<׎k�h�:���&�9D�ɗ��@	�I���4<�l�C"�`��6���7Ћ�콀{�=V�+��
`��T�U0딎��s*Oʏ�tj���y�2�Ϡ��|*(Tw�l�d��b�nQ/��7Z[�i}�hím^��W�L�m�?�,/okkX�Ft�����+�-��{V���X7�NFd���39�ȑ�V��{\��o��o���7*:�^�.f��=g���
;:uP[�u�+�Z��P��ϸ�u~({��������R���ʑг%�?�L��'m�O#��8�x
��$N>�|�ߖ^��y~r���׮ۙ|�,y-�n��Q�ߖB�N�"n���%;Ts��B֭f� =3�EXX�7�W
��s	��i*(*+"AC.��ڥ�+�:����WR^m�SQM��z+�.� �sS��!�F]��bZxL�}N��N�
�$��pgv��E��mA~D���Ph#�.�0k���㲧�o�n��?��֭l���/Ox��$]��L�`.\(�P�+:rj{�x}cO���#V ��̥)�:��f���(ý�Q�� �ǀ�*��[�յ����~�-`h��1):����ҙ���n@-��݁�'>c(�����>,����U0�.Q����/��sU*�k�ޑR1&&;{�=<�	Q���dÅR%����R�	�����F@"��z��EG1�M�}<*:Q�5	��zW���՟���D��Kj~�_������[#������Z���/��9XMF��ۇ{��7�ș���ک�����+�h����sDf!!/���y��{ܸ��=��g0<���)�8�4�T�Mʦzj�^K"��$L�+�܏�!^��\*��d%\��%��N��s���$���Z��:˼��&�,�t'U�}�~�#���
�\���ɝ��/!-�mY�V�B-Ei8ɷ9���2<��S~N	K۩�p�'�Â���*�֜�wcWF�c���K?�ZAJ�ƺ�p7Է��b �i����KL�`]��gɎp$l)�q�����ҍV�B�C�*c�K�irz!�3�ڇ���|0��F��
`�Z�B�Q^��z}"!թM���r"�[�R���M?����� �7���	�dLdH+X��Tp�����;��߻W����3��k>j��W]�[��т�QT~�79�E�<�r���jO>�3�Sѧ�B0�n+�\q�\Xh�;ed���I�x��6�>� ��XC���Vr�pN�F��K�|99QP�ba-�~
$�GnX��?:a.pf.!®C�f��߄Z$����
���ݞ\؉j����rv�b�1��F4
%B �B
k"�r�,$��$��\�7K��5�s��n_���+����v��� ��P$�ϩ3�/��x�>J��aw/��T�i�X�F�N��)@��ԅA����K$r>�G�nc	Q�R]
��]e\C w^�ʺ�𑞯W6ު}LB|��ұ���61�R
��pn=��b�>@k��D�R��ƌB�<d�D�OK���gzJ�2�mo��zMnE�}EKG�W�䷔H�C�	i���3��<I>�MQ����n�h��5�0�qb9jC_�~P�o��a��ʀ�1�>bש����i�v���63u_��;fj�/1'y�9�D8�a� ��n+.Z��fq��>�Z���T��Οά�s6����
���w�V�@)������w1����`�h�	�|Zw������U��i�a�{�]�"��5�X� �M��DXfl|6�b��3��Z=c�d�dž/��bWO�����g�L �Á^�~Їo�;Lx��0e�_�Z��,���Cõݷ%�"����({���>��9�6?���������C��`/���}�G�(?���Zi�	�6�m��	v{L��3�Z�[a��x���'�96!��1�2�'�p���ͥ�[�˔�)�)�L@ƙV~+r���2��ʑkk��9�Z��	0NG����2�5r�aQJ�#�+�Z�,�O���h�O
�:��X=`�O��0���ߋ��W<�N�;��{[�����e0�^�G���ݬ�-{:�&ܖ�V�O=t]����4ƏKF}1Q�WP�y�@O�~k��[�+��c��D�����@��k,�UB�#ű&�rC��e�,�/at[XOd�Ԛ{-�@�a�i` Q�/�
��B�X�I�HU�,}�Ȥ]�Oy�,�����tGd���.@�뾄���}�ۀ���9S�U�W�!O��ҕ��`h��?�/�=���
 �o�"���:8��A6VK�#��X�����Iq�q�K����y,Ѹ�:^PAu~���[��5���<�`d��l2u���v
6�5b��ǭ���K�v����o�����
�o��
Iѐ�8��0���M����	S��N����&Q�%�����x["��:�v�EbJړ�0��K"�`�G^���!�ܾ�3#G����WT�b�Aý'���4I��Io��5�K@�d)ƻ�H9eW�`��p�[��':��q�\}���4=�@D7�Z���w�Y5����06���Ә��В� �*)����z�G�S<.F9"��Ca�!z����[�~�P>��ݴc��ZB��b�4l’ٟ��s���ԳܻY���j(J��՜�:�qZo%9" ����]c,:�Zr�PA<�@p�/�"����
��g�]�[u�o�W�(�AǸ3aI�L/��)^j��_��s��;�_"����K�Y�		mĄ�"�oj��=1H��f�Τ;F ��
U\V>��{��9Yc6J�?x�̀W�0M-��7�ؙ���HrV�2
��I��<�����(�����
5uywjBt����A���֏o��\e3Y��L\�ʺkl#s�s���˯�G�b�/k���BZ0��r�D�h�D�q9�W���z�C�8 @���C�4������.7��U�{_�\���_}#!|z�(12�O������d�@�C?�x7�N.?y�jvGC��Ҍ��"�ʚY�lC�`���2�'%��b[iܫ6���hLF�
�HO]������
�M���"��U��1�P��
[���9���������X��
�|U��B���� S~z|.�4���TP��{.��b9�p�y�-�~^z��
�\��@J��X`n�bDWpk9_c,:�2�Ya��FμҦ׭b�1���DLc�a�u"ҝT�T�7+ov�z�Ӏƣ<�n�siDw١/�ţ�����3mW.�{2+ا���t�b��J���c�"��9����ʓ�����8�lɭ@��Ѥ̤%�>i�����O��������~��}$��f}e���]�Է��9��9y2�6WL���u�SMv����q��9t�)iG׉��0���6��G	-0I�#�u��1��}ŭ[c���z���6WŁ!-pi?K����8�'`�PCrr������p\���B;�k�i��~8�߯I��{'�D����ʪ�J�"am@!�B��S҂��� �?{���łk}�Mq�W���W�,/���R+O��C�[��Yw3|c����k=}Q����c;Y�4���������ed6n���گlc`��,�ɩߤ@7iM��=���Gs��4g��%�rG���p�H�C5p�#��S/ڝ*���	ϓ]6��}�N�x����������Er�P?Sr��b���O�{Q��p���h*L���b���YS�n�
/�BZ�;}�m~9a�4����-�h�[�����͎ϭ�J$�1��N�&�|'�c�䬥/ʺ��&᧥�,��/�94�
�g��)^D��/�P"�܈Edӽ&S#��pK���D��D��
�Ț���M�9B��4G��e@�f�~޻;a~�WOk
�CL�� T��|�;��v�)␳aH������z�=lyN��S^���xG��0�f��x!e�Ƹ.�9����\(
�(noAiO�@ut:)�S�P�U6�&*��B�v���pF~�[����@���]���J��a0��dT�x͊Z�С���q0.�W2v���1hd�-CZ�V�A@�G�ñ|g;��=E�4�'K<�@��|��4^�q	|�\���V���1p�%[�#S���#�F����#��-�C�I����̥�+\),�Wyy�:#��s�Q�����P^<���E�/�P����Ny����ߞ�?)��e��S��b:	jw�na����\�T�]n>,��Jz���F "穼�ƹ0-���h�����q�(B?���Z{)���6{�o���ݔ��2WC��tˋ��g�5�T8�����,+O�e0HU�ܺ�vRrA�D�
��6���ř��!��D)n:��nc	�a��=2�ݫ��ws9�O�Y�V@^��XI�{+���#��b�����W��y+@%
��0.�{�'~{d�z�r��/�ێl����L��*b��d�_����Ec�f����a�"�sص�-	��v�$�95�]�&,�̋�P��L�Y��$8�>���=��[��w�<*	C~�$\���Y�Y7��W$Y���^��q�F%E����A�W�Q�7�{����EH2�C�)C��u͔��.w9A�Yȓ�K������c������d
�Ị�<����w��TPN�wb���ԡ���"~H��6�6�_�0wnDKAAN���e9������iFVg�?����#���|�����ּ^2�|�Ś{�A&�X�|��[QhY�^���oG|���#W*��fe`-�ޣ�\�6�i��˺�.tu/^��y���kA�������/�˙��5��n�nמz�]1���Z[ϝomV95˅_�6�	e^�^��!M���M���H�чVx]m$��Տ�KJM�4F-��oQ�C����2����3q/�T�]�)�<6.jxo�/|CA^�[cB�2��|A	�{o�1��K{�2A`O��F8��;��' ��9ƀ@bR�]ʷ�q,V�o�<*�l�^�ܫ�QcT��_�5?$�U�0_9׊ f��)��C��ץ��)���י�P�["q,6��
���<sZ�mNv.
���.'��
Ԝ����}9��P̂�$
���h?���˃2=��+.�#G=wO��G>�#�a���cd$�\�ـ����ݻ���g�y�Z�g��v�b���Էaz8�{ț}Bh�A�{mD�����.��'*K��Oik;��D �#�����/h����;�@��±
!��+�ګ�-�c�kn.���v�$?:���ܗ���b�{��az�K���ޣd�GkyVֶ����Z��ͥ:��'Z�sg�.�O\/+�i�.��5j�>(��=��>��v
��w=7\�4���߈y�~)��qNKs�s~�9<��k
��{d����o�Þ;���Z荄��A�R�4�vríḾ�Ѳ�ʀ���&�_>�p<a\&�R�_q���o
@X"P]TU�0y��v�v�w��t�]�U՗�i��<C���i�x=c1v79�(f�
�M�k�ڄ:�'ڪ
�I���`|y�9D��5�n��U:�C+/>9U�F(#eI�|�K!����l0��36��n�LG�e*6Ne
/ˌ�Ԏ�Ūjj՚�w����e��7r|т���֔������讞��
�A�Z�S�Cr
֔B�I��nt���~�-�#Z�V����v��L��Br��"9ŗ5���9��8V��x�h�_d^�:�|xmW(��~��
�M�y�+�)#%ʂ��u�����~ޯ���щ�*���K��X����<���g��7|`����z��H0���ikY�=2�����n
_��u�X��GWVҹ����Y]/K<J�Tdn���Y���JM6@��rݍ��N�bj���D8�| ��'�+^�j��t}���΁�bFAGĊ���̃��/��c�D�;'f�{s�)y��'�	�K17���E��m�蘷Ҕ�k�<#���ꨏS�I��V�:�	�e�8Z�(t i��@>�8[���4XL��{��J.��.
5|E��^]sҝc�C~���L@�!=�I�uz�m�ʐ^��IU:���d���݌a?a2h/���i�y�;��nQ����o �(�����&�=X;-�?�vkC�)���fm9��ҟE��f^��-MזJ��=�4o,q�˒�i^�X\lX޳�ۓ����{-:�������V{��??�&��*_i��]�Ţ@����T~�9{��U�p��M��Xא�j���S雩W::��@V�Vپ��=-��}_e���y{�Ď�^�g�if�h�j�r�Ԯ���0(��w90���{�T�,OT�<~
����>ϷXVX���8��^tΪ���/�����y
�F&��$ZL����ȏ!D����Hn˃8�m�����L����:�d�J'�!c\?�<ƶ}���@}���������݁
"'�||�2�_}��W	3:����}6)X�.�邈�I���e�mś�[�:ޝ��r�m��L#hd ��c^o����;�6��a�!m����L�S���
>�n��N-���j'�9BP�B��"7�%"���J�<��Z���)�
}�B	�[S�����gԓd%���7
�O�M�mf�Z�dQ?��8k����
��8V��jW��{z�
�5�zՄ���ff2!�]�J�7�����3��Cƅ2P����,�Mw��ǹ���*)��5H�����% s�9ҏt�I�TH��'�~�ic��K�"�~X��=~KH�^�!O�q&�
�"�^���S9c*l`t��12�2�Q�d�@���Z1�N���[
:����H\��t܆���Ce�S�S�R|D��XECyd�hp�9@<(�+�����$̙4���;.9댋)5��d�e�s׷z$���U��f����{��<&�v�$���b�)K��W��T�����R�8Y�j���'��?K^GW��{�o%8���dw������J�g�M�z	3.��7S�[�^�n�?�ԣ��l���C9�Xd��C?��5{/�����{/���{� �2D{D
u�wo����̧���
�Cj�c���T�#Ț����y+L��@w1�����c�@�]��?�|���K��9��d�X�����e,r���755���뼼�ِ���\\5A���	�7�	�[��B�~����b��s�^w�E)`sOrя)eަlCZ�@Kg���ߝ��z��/mi�M)�|D�R�ѿ��=���/��|��pzW�PC<��x�u=(9�m8m؊�-LW��.n:�Z}w杠6�
w�$"��O5��t�5����Nց�;&̢� '|^0���R�.�T(|$p��Ȳ���!��M:�
toTĦK���MH'������O��|2�6N�5�k 1J-�1�YYs��ViU�8o��fYp�s�*�l	�/�Evs2J��/�?|��Ÿ�F�b-�VAcF��:���l�l��{类�.K�M(6MYW��,3��w���Ec©Q���<
���CT?�l�7UZ�����*��{E��ipCT�4�c)f�(1/�Z,�O��,��T�eE��C���kؖ��K�,�KH:�&��#H���D5mrH���?3�Q�F"���D�Љ���6��ŷP�>���	!�Uq�u�.��f�c�^�t��X�\ZZ�J��9V]�бو+|�f��q�,��ҏ��A�_/儘�(#� :�Γ��k�Q�n��~C�
����<�ϳM�f��ɥ�$<;���e����ڤ1%��i���EUg�q*;�R��1=X��hW`�VU�r7���.Y"�q��y�W�(�M��&��q��ψ��b�)�c�����Anj�I�W4y��tҝ�1���Q�܃��j�	6���W!h�d77�"N���˴��:�C�M\t��i1r��[?Ѓo�{�TEz�r�	�6��k?Z���Q[���7�/�����V�{.�=ծ�"�+����9=� K�Le,`S��w�9oW͡ɓ�l��
�_��G�׆aR�0��e����_ǁu���5��X2��k�>���[�:��k�ї/7:�YÒ���+W.1Ad�e;�f��4�����Y.����H:��^����θ`"<�H�W��G!�u�M�,�Z@LT7�cC����ގ���
��>�7%1��$E5��:D�kP����2r�@����5�����ݕ+�Z����f}��G�
7���R=�4GOb��T˷�
��ώ�#_�w�Taҳ�j���t��[����H�	�-ys���G�d�h�Au.Z�54N^�����R�ӲG�2Qё��\I����>�]zP����=�>';��r���?�8D�x[k5j�4I�T�U	�W�0�*����hڬ�Fg��LRg�X,���cA�!����*��}%��s�Y|�{�F����+���u]�$�_oI�r+sź�v8��s����R���?,%_��'N,�8+ ���kħ�F�gd/$[�5�'��Z�ǡ)���A�{P���
{�2d��fܥ�C(���QU�g1�r�\;�H��b��b�τ�����e+lI�"�"�Ӝ��
�.�?��>ik����V2Y�r.��6�ы�<�OF}K��lc�+$�#˧{ɘ
6S�9Ґu����d���`���*�ٕX���5�=��e���ou7~�4�-�x��f��&�|ۼc���;¼�,�Z�_ݥ�&k㯩���\&��cwF��c렮7��ؔ���WK��]�}Q�Y�:��HA=r/KuWT�7���Voi�������;�Ս��+�ݖO?e������m�+�9W���*�3���M��u=��-�ZR)����Q�v!E�Qa�(9�P+Bv�{@�E5�*q�]?�����vS���!W㐸�7g!�N���£Ir��WO���ԇdmb���W�B���M�!��*I��>t�3<Z��o��30X������ܧ�?�y��I=�5`ռ�4�j�M,��Cy�=�o݉�TpGX��Fo���~U�o���+ZmG��z-�V-���;z�i���ʁ@�5~c8{���n�PL�T�{���+�<�T4��B��-ܾ[�@A��d/y@e��A�*m�hɛ��03�N>�9� �3��D��˓���ʬ�������y�*{+�I�fD$5w����[E�G�e��L�e�ur�H����1�����T�~ΧtWyw�$vsj�f2(�d���F�g]kSz!~�']:4`�lyi1�Yʸ��7y��T��)IJ��u�� ����^��ճ�ķ�'^D��v������IwN{+$>�|��ؿ�z�Fd����a�����O��bDL�{̬��o���<5|�ʐ��-DI��ߚk���y�BoW�+�o���^��'^N?�� =8\|7rp0�~Iq��X��������3�
X���dyz��l���0�E�p)��K�d��BĔ,�D�K��Ξk���m���?^$�fRd9M"Q��%��ƨѣf�H��ç�]�9_R�U��Aq�}<����=�^��F-ڋ�V���욽Vq�*ĝ�/s�r��������u!`D����[I�w�=)	Ek�v���kȿgou�S�,`����*糣:�g<�N����Ͼ${֩ڗm��ߕ�˻:7m�L̝VP�	���Zo�x��\�b'C��L}zq!=Ew�
h8���t��[�F3Xc���Xru�.�$K|�3�b��8���r�ҋ���?Mzbި�A�ԧ?�k+Q��=�JZ;T�gr��]M{C�}BK��&0��F~~�Y��:�P]�\��
B���T�*&��,F�u�U�y���`H��n�
n��
F��|�K�ln��x��\.���H|���Im�,�i]�&�+C��9�DZ���7�+�g����Ds��>���������mb�|{�{q�Ouye�ڬ(+7��oʈz0'�#2�VQ���ǗM�E��}�
��LK�4��~�I�:�ֲnj5'J�e9wse>{hP��g���,��f!�k���土^��Ɔ��l|�w�u|Ñ߬�<e��͛�ԝ|wZ@O�iP��	�l�ns��S�֔���L��|���Br��%I�Р�u֡;E��R,���Mj7���l}�-[���`�p���ɮ�0ف.u��I"uCC6�L���N��-�J�b�;B�!� ��~)����4dn�dNj7s�'�E	o�9J�	n0���p�3�;����̝�07*]�R݇�Ɖ�C�� ܙ<?��4���?�{t�q����������b�X��ݰ���e��m�7��	�	w�v�C��l�W�j�m'�|[d��>���D�Q�x3Ck�p)���e���C>��Ԟ$�2f=����:H�h5ڢ��hF��L�,@��:�����E��~7��BV?Q#���3QA�.јڬ��xW�uj�T�a7`N�"�*�kKbY��JD�:
��,T����3sq�%̓!L�ooP�M�Z~8_BU�h�2|��H@�����m�Ej]<��m��	wFɇ�|�![��$��Q��#�z����T�֞N��6�		�讎�HNb!b'r�V���!R�n�&>w���w�������)�rR`�><\��|�a� 	��+��Q۹o���=b$Jh��ܒ"A丄�uu?�\��hG!�7�˽&K>��p50�E��*���~#>ĤR�>p8%�q��{��}�#��p����q�Ϳ�fOG[pVa��rN�v�
@`H�r�r��UHk�έ|z��g,t��Q����ͭ�Nb��)��Y�0G�}ws=�?1�]�Ο.:����X��ӻ$��V�ލځsw�/��@�@���{W,}v✥"Ըz����EIIK�U��ŏIe�P�`��fq�4ꒀ<Et�\|4:C(zm�;n	�ih07��1(�XX�b>�y]%]� �-"Փ9�s��zRi� 
٪Ӎ럤1�!�Sj�3
��^��-S`Y9����%̥ʒ�>�2�.�-}�pѷ��7��^�-R��2�U�[��KV�^����j��]�N牅�a��"}���-��|����� k�2a�^����!b)-D��*5�7ho�Ѡ��J���?\ζn<�o��Q���0^�06�%g�>)�f��U�*7���U��'��M$+���6_7	Ԥ��Y�|j���ip��UzǵA�������[���.`�{f�"[ꨃ����H17�0��u eeɲH�k.���a0<�bGQ�Ji�%��_�+!���}W�jۑu(Gkf��EsF�/�r�yy�#�X5�F��H�Ʈ5��Y�e��8<�1g휨�}fP�}�,-�^_�J��Ϸ&}$��6�vƸ����e���o�0��?�
{�d–�"�+�=����*��c�y��xy�Z%�=vS#C��9
p"8*�^Zx��7S�͊;���s���_"�̯i��#'�+*�q2I��yl%��E����^[Ɖ��7�8A�-�4�㋲�.��A�uF�EOZ�a�;R3G�F����~#�ž�T�]\{jg�W�X�~�<�pDm�E�ݭ���Q��G�C���=p�$sC�T"���Y�uG?��1zˠx��i�v�5:�h�`��亟#�*�����,����f�#>3e�Tu��u+(�l�:��*o�w����Q���ʑ��GwE��8���w����U��՛�n�K�-� �͎K�M��r�9�]�ay��+��2���p+ҹ����x��?�_Q{��(Ƕ;
�-!��1FR9n�f��!������?n��
 cD$=K��n,P�Yg��xq�ͩ�'C�� 
�}�G�%3Cg�Q�Ӝc$�n�%lcf�Uˌ�N�^�ޤ��M�-�'KV�Ϛ�9�y��e�z�bQ��ȵ��ƏxT�R�Q���5~
^��u9g��3�f �{��&#T��u�H�8%���2t�):�N#�s�??%��?05����љ�T*�R��g�)Sאy"҇SAܻ�錪�)q���R�K=W�H���=��.(<���>L}�,�7�汫�Ǝ��P��� s�+�fI��X\h���;s�b)�.V��Ħ,��|pU����YY�
��}�0ӐT�z��q�M�eRp���-NS\ �.�]���H�d�v�i�dK9}�dqz���K�5�nX e���5bF���6�ʍm�C��@;�?�{R,l�=���p�e��(��FM-��c�<�:G�Нn��喊����&R�aRV��z*/�ҴT�#�H6����v���#�I�(����V!QҠ��G���߄�+x�m2k3����zU�35հ����2o�~Gq��r�v �����*�
��[Ւ�C�[~:�m&��$�4ij��B8�4|���؍pH��r���+ƺQ)��؂�I�
�<Dmh��	l��H�7Iy�C��j�����AG�@���^�rUe5��ôc�G#[!C�"J�Tܻr7+LUʻ��|%�#N�M�6�t?&���B��D�o��;�<>��g�H�S��ba-ui-��l����/о�0�\M�}K�?�FdD��{=�{<ԍ���^Ѡ��;��|x�݋	��]94j���Fa��f�|�l\�Q�!�r5��3L�c6�?a�a���5�c��G|�-����ls^���8�%�6u�O��9�Q��ǟ��nXIx����4paܽf�ζ�K~�?+2yIb)��;�(��J���Ε�FH�����+�*1&"ɰ��ɍ���P�a�%'o�f?���cO�O�K����8�Vz��M��é�cg��֧�6Y_}�	�o��m��+zgT|�VQ?'����"�x��R�;gO^�L��8;��q���a��ߘl�Lb�L\�Ww�>k���~[gwk��:��>2}Z�B�{��W
,�w�&�S� k��a@�Ը�?�6>3����n=)?{�2���������H2,)q��H`��ޕ�3jkTĞB���?��Qm$%�)�����}bU�q_�c�qY	-����_�1Ӂ�)j�?���E=7>��-9�6�l���.�� s�x"�h��c���[��y��7�?�N
-������ T��K�����7�9�|�Ѱxz�j�gmh�I�n�H�o�g)�v���~����
C�;L�Jq�u��p��mW�<���˗=l+(�lCP���m-�[I�H�HK(��|LQk�g�ª?C�EBx��}QN�"��;��FNU��cE�\k5E�G
н�^Jv�<�+��Dk���r�K�C�N
�w¹*�{�����Ϛ�>��j��h��É�W~{�|�k�ÿ��$a�=�����g�1�iz���f҆M��m�� ���z`��0X�*��+G��n�� ?J�>�[St�d�>)�`zdM���+�9���,Z', į>cu}n��mĐ�N�=�z8$Rգ�3�c��1ME��K�Y�$����������
5�
�]Y<z�(�����:�Ob�N��A�E�5إ,��/��-���D�ʰ���sU�2
b�C=���(�F�sU�;ˏ(.��&��@÷?K�*ؕ�1���E<�
�|g�<�%u"
���kC�D%ʫ��p�zE�]�h?�*d�Pg�\�R
D�ć�U�$F��&�i�橇�Z>^=xܠ�KHUNy����xU���q��Y��d*�gg�mnL�%��r䰼!�@��Z"��["(�͘pf��k��"v���$�ρ9&L�I�Q����V�:���WIZ�k�7��TT�!�X�52Q���I��e(�Z���P��
b��}LL�ϰ�:�.'���T/�k�S-�>���l��T��5�}T�r��#�e�(��S�G��:�'Wm�P 8��oV�V����7S*��6⋫��-���7k�I�5P|-�w����S�X�����-g���`(�T��zI(j�aZ�c^�w.��8��g-�fV���]hl�3.yO�u�2&������8EAD|L|Z�3�ɡ���2�]�ۑ�5�KqO�[�شܵ,Մ>�k*���j��sέ�	*��Ѯ|\�A[
��T����O��=5�@'����z��=]Z(CGE��fM��8�G�W��P+q�NE��m�F06�8Z:b7���-�Ь��%�{��Ch����1��^t��m,R��\��H�T�Z#x�㮽���`��Y�'���}?����}��iou8�K��P1�����㥙夆C����������Z�"�8������@x�
µ-�``�Pj�}6Ll�R����U\�6[��CZ�����N�"��*Y���=3C�Ⱦ3���ڣ��x~���,ce�G��;�,5�R>U�w�6Լ�SAR7|aq��u��^�ځ;V�`ۼ<��V�����V�HɪE-�3��t9Ʌh��G�;��~V�n<r-˥������V��?�%�asR�1��>:����{�~۔x�9:�7N�+m1����f75dGr��z��ZFݬ(:��%�P�
9�G��a�xLI�rl2}���>M�n?��K�wE/��:T�@��Y_���a���^O�ME^3�	����O��\��������s

_�^��9$-�Q���5��y�'��m��s���с
�c�v�V �I����߇�!?�I���$7�ܡ�\ód[�#���mH��܁���F��&8�$*����p��w,意�hiḩt�-,6�i0��I�^�,`�Ś7��{~�5Q�R<?OȊc%S���(��D<�Cɓά����*��r���W/�<5�IT���,�y�P�	��4�M^�V˿�׏��e?1�M��BO�P��<qBT}��6Z	|.<��3p�G�2q�Zoݹ�p|UNbUqk��w~m��9`�L�E�E@Ka}��!,��/��p���7���b�� ]��G�{�����O1�R1��
;č��A��&���u³F��?�m	��]��1���ϛ�Gg����돾��IY���ƃ�#J��j�aZ��z"L(�Bz~Fq���i�eU7m��4/��u?��@��H���	D�B��L�����0}*�X"��J�Z���
F��b��N�����@FP'H�fX�DIVTM7L�v\��(N�,/ʪnڮ�i^�m?��~����(N�,/ʪnڮaBRic�0N�n�q^��~?��yd��=#?��j��ߴl�|�`�p���B�XB�+��J�Z���
F��b��N���q ���$
����")�Pit���py|�P$�Her�R��huz��d�Xmv����z@��H���	D�B�Y��`��.�/���L�P���No0�����p����?_ �%R�\�T�5Z�!A1� )�a9��d�Xmv���x}~�	e\H��u�Ӳ]n��)�&�q!=?�8Q��4ˋ�����q��uۏ�s���I���(Ɋ��iَ�A�I��EY�M��8�˺��yݟ� #(�$E3,��$+���e;��a'i�eU7m��/!��m)hrYzb��3�3�S�H`]A�Mx1A���>]���5�j��^F�i�T\?8E|ӕ��_�e��oH{U��Ġ��T�&L�-3�QW�n��Ԥu����M������*
ۥ����D��+�%�j;�b�ͮ�' Y�>
(؟�4��w�]|���/���JW#Ȥ�Zca7�����B'8:{�} ��N�$�8�o��Q|W���� �mOnL�)��Q^!W��CM8�}:N�hۑc&4ٝq�o���_��@�xމ�ɐ��5����
Q�+�t�*\��]�w	�C!�W��^"�yw��n������e�/��R�=�`���*��5b�J����z�MwZ���N	h��PQ�7޴���-�␜�E��g�����C�29��*X����YK�Uk�&D���\�4����]�aw�-�5�&_kD�@�;���I1f�ͫ�{�C�[ŏY}E��xd�S�9ɇ��@�~��$�`�K��P����K}���=�wv��ZR
?P��h{�%���Zdϙ�'�bi��ys-KhO�ü���.�� [4/%0y�]�|�(��珫D���Bˀ(�D��뺹�"�c��fw��8��Ng�P�m���zd�o*Ģj6h�n�i[�}�iY
L�ٱ�E�f�9��eF�8�d�ǣ��O�k�@�p����#B\���'Mo�=�)�
uĐE�B>:��6Qlo�����6��]�Z* �)�
˸k�ֿ����� �/�d?6�
Q���7D��x����'ey:��K��CaM�۽�T&�uf��T����x_�����W�D�){5�PJ7�A�����2��wW�q��o-C��g*�����te�
���j^"�~�4�{;fo-�W�?��*w�W�1�{���|���k�.Q�Z"�
X�-��J��/~������۵�dp��;�<W����4�M�S��/��+�En���ش�0�;��=��N���{�3����!�Q)9]=$}���޵���2����K��Pg(۫PY�)k�揚�f�,�}�eK��fh��#�*�3W��A+�����xv��fe��+�+�,��fTr�~j��)	�[Tn����*��4p��]���W1dz�%�f��5*y�����W	��	@Y�9~����Ë���Ʉ�T5�X�ٳi_�q# �;�����K(�56�9L�FQ�/�R���L��EE&Rz��O�EK��-�Q}Y�kv���
������qsOLc�G�2�h����n⪻� :`�֥��$����ǘ7UѬr���_J�Q!wJ������:6���m�纏h�%��b��4����	�T�M��_�3\j�z��Fs1g�.�c�b��G�d?2RY`o��;�����2u��%�{��^r�)`+�v��۳������7�Fs=���CuC�{�C.�=Z8kV�Ye���`�Ԯ_Y�ꓣUu@�i��R|:��^�y��%�����}.ӀT4O���.]qq�Z-v.w�e��i��������o���:��f/1I|F�b���D�X����CE��?{���U�-Nx���0�w���6�~U�~}.x�����c��f�!�6�x�>�}�WAD<i��3��״)�>�|Qķ��~������X���C�����}���<A�>�������6cT���;k���#7.{7c��8�T����_���4��X��;B*bm���#"""*��RJ)EDDDD����̛?9��7���t3Zk�g�с�hz�������t&ޯw.���Y�N�ˋվ�gH@E���!�6����~b�rݴ���z��]DDDDDDDfffffffVUUUUUUU�i��{z�����6�Nd�assets/fonts/fontawesome-webfont.svg000064400001542426150753125220013731 0ustar00<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg>
<metadata>
Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016
 By ,,,
Copyright Dave Gandy 2016. All rights reserved.
</metadata>
<defs>
<font id="FontAwesome" horiz-adv-x="1536" >
  <font-face
    font-family="FontAwesome"
    font-weight="400"
    font-stretch="normal"
    units-per-em="1792"
    panose-1="0 0 0 0 0 0 0 0 0 0"
    ascent="1536"
    descent="-256"
    bbox="-1.02083 -256.962 2304.6 1537.02"
    underline-thickness="0"
    underline-position="0"
    unicode-range="U+0020-F500"
  />
<missing-glyph horiz-adv-x="896"
d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" />
    <glyph glyph-name=".notdef" horiz-adv-x="896"
d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" />
    <glyph glyph-name=".null" horiz-adv-x="0"
 />
    <glyph glyph-name="nonmarkingreturn" horiz-adv-x="597"
 />
    <glyph glyph-name="space" unicode=" " horiz-adv-x="448"
 />
    <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="1792"
 />
    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="1792"
 />
    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="1792"
 />
    <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="1792"
 />
    <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1792"
 />
    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1792"
 />
    <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="1792"
 />
    <glyph glyph-name="infinity" unicode="&#x221e;" horiz-adv-x="1792"
 />
    <glyph glyph-name="notequal" unicode="&#x2260;" horiz-adv-x="1792"
 />
    <glyph glyph-name="glass" unicode="&#xf000;" horiz-adv-x="1792"
d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
    <glyph glyph-name="music" unicode="&#xf001;"
d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89
t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
    <glyph glyph-name="search" unicode="&#xf002;" horiz-adv-x="1664"
d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5
t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
    <glyph glyph-name="envelope" unicode="&#xf003;" horiz-adv-x="1792"
d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13
t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z
M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
    <glyph glyph-name="heart" unicode="&#xf004;" horiz-adv-x="1792"
d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600
q-18 -18 -44 -18z" />
    <glyph glyph-name="star" unicode="&#xf005;" horiz-adv-x="1664"
d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455
l502 -73q56 -9 56 -46z" />
    <glyph glyph-name="star_empty" unicode="&#xf006;" horiz-adv-x="1664"
d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500
l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
    <glyph glyph-name="user" unicode="&#xf007;" horiz-adv-x="1280"
d="M1280 137q0 -109 -62.5 -187t-150.5 -78h-854q-88 0 -150.5 78t-62.5 187q0 85 8.5 160.5t31.5 152t58.5 131t94 89t134.5 34.5q131 -128 313 -128t313 128q76 0 134.5 -34.5t94 -89t58.5 -131t31.5 -152t8.5 -160.5zM1024 1024q0 -159 -112.5 -271.5t-271.5 -112.5
t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
    <glyph glyph-name="film" unicode="&#xf008;" horiz-adv-x="1920"
d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128
q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45
t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128
q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19
t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
    <glyph glyph-name="th_large" unicode="&#xf009;" horiz-adv-x="1664"
d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38
h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
    <glyph glyph-name="th" unicode="&#xf00a;" horiz-adv-x="1792"
d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320
q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28
h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192
q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
    <glyph glyph-name="th_list" unicode="&#xf00b;" horiz-adv-x="1792"
d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960
q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28
h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
    <glyph glyph-name="ok" unicode="&#xf00c;" horiz-adv-x="1792"
d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
    <glyph glyph-name="remove" unicode="&#xf00d;" horiz-adv-x="1408"
d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68
t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
    <glyph glyph-name="zoom_in" unicode="&#xf00e;" horiz-adv-x="1664"
d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224
q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5
t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
    <glyph glyph-name="zoom_out" unicode="&#xf010;" horiz-adv-x="1664"
d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z
M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z
" />
    <glyph glyph-name="off" unicode="&#xf011;"
d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5
t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
    <glyph glyph-name="signal" unicode="&#xf012;" horiz-adv-x="1792"
d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23
v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
    <glyph glyph-name="cog" unicode="&#xf013;"
d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38
q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13
l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22
q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
    <glyph glyph-name="trash" unicode="&#xf014;" horiz-adv-x="1408"
d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576
q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832
q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
    <glyph glyph-name="home" unicode="&#xf015;" horiz-adv-x="1664"
d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5
l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
    <glyph glyph-name="file_alt" unicode="&#xf016;"
d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
" />
    <glyph glyph-name="time" unicode="&#xf017;"
d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640
q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="road" unicode="&#xf018;" horiz-adv-x="1920"
d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256
q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
    <glyph glyph-name="download_alt" unicode="&#xf019;" horiz-adv-x="1664"
d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136
q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
    <glyph glyph-name="download" unicode="&#xf01a;"
d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273
t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="upload" unicode="&#xf01b;"
d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198
t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="inbox" unicode="&#xf01c;"
d="M1023 576h316q-1 3 -2.5 8.5t-2.5 7.5l-212 496h-708l-212 -496q-1 -3 -2.5 -8.5t-2.5 -7.5h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552
q25 -61 25 -123z" />
    <glyph glyph-name="play_circle" unicode="&#xf01d;"
d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640
q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="repeat" unicode="&#xf01e;"
d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q15 0 25 -9
l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
    <glyph glyph-name="refresh" unicode="&#xf021;"
d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117
q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5
q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
    <glyph glyph-name="list_alt" unicode="&#xf022;" horiz-adv-x="1792"
d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z
M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5
t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47
t47 -113z" />
    <glyph glyph-name="lock" unicode="&#xf023;" horiz-adv-x="1152"
d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
    <glyph glyph-name="flag" unicode="&#xf024;" horiz-adv-x="1792"
d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48
t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
    <glyph glyph-name="headphones" unicode="&#xf025;" horiz-adv-x="1664"
d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78
t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5
t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
    <glyph glyph-name="volume_off" unicode="&#xf026;" horiz-adv-x="768"
d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
    <glyph glyph-name="volume_down" unicode="&#xf027;" horiz-adv-x="1152"
d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36
t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
    <glyph glyph-name="volume_up" unicode="&#xf028;" horiz-adv-x="1664"
d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36
t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5
t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289
t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
    <glyph glyph-name="qrcode" unicode="&#xf029;" horiz-adv-x="1408"
d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z
M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
    <glyph glyph-name="barcode" unicode="&#xf02a;" horiz-adv-x="1792"
d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z
M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
    <glyph glyph-name="tag" unicode="&#xf02b;"
d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5
l715 -714q37 -39 37 -91z" />
    <glyph glyph-name="tags" unicode="&#xf02c;" horiz-adv-x="1920"
d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5
l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
    <glyph glyph-name="book" unicode="&#xf02d;" horiz-adv-x="1664"
d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23
q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906
q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5
t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
    <glyph glyph-name="bookmark" unicode="&#xf02e;" horiz-adv-x="1280"
d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
    <glyph glyph-name="print" unicode="&#xf02f;" horiz-adv-x="1664"
d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68
v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
    <glyph glyph-name="camera" unicode="&#xf030;" horiz-adv-x="1920"
d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136
q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
    <glyph glyph-name="font" unicode="&#xf031;" horiz-adv-x="1664"
d="M725 977l-170 -450q33 0 136.5 -2t160.5 -2q19 0 57 2q-87 253 -184 452zM0 -128l2 79q23 7 56 12.5t57 10.5t49.5 14.5t44.5 29t31 50.5l237 616l280 724h75h53q8 -14 11 -21l205 -480q33 -78 106 -257.5t114 -274.5q15 -34 58 -144.5t72 -168.5q20 -45 35 -57
q19 -15 88 -29.5t84 -20.5q6 -38 6 -57q0 -5 -0.5 -13.5t-0.5 -12.5q-63 0 -190 8t-191 8q-76 0 -215 -7t-178 -8q0 43 4 78l131 28q1 0 12.5 2.5t15.5 3.5t14.5 4.5t15 6.5t11 8t9 11t2.5 14q0 16 -31 96.5t-72 177.5t-42 100l-450 2q-26 -58 -76.5 -195.5t-50.5 -162.5
q0 -22 14 -37.5t43.5 -24.5t48.5 -13.5t57 -8.5t41 -4q1 -19 1 -58q0 -9 -2 -27q-58 0 -174.5 10t-174.5 10q-8 0 -26.5 -4t-21.5 -4q-80 -14 -188 -14z" />
    <glyph glyph-name="bold" unicode="&#xf032;" horiz-adv-x="1408"
d="M555 15q74 -32 140 -32q376 0 376 335q0 114 -41 180q-27 44 -61.5 74t-67.5 46.5t-80.5 25t-84 10.5t-94.5 2q-73 0 -101 -10q0 -53 -0.5 -159t-0.5 -158q0 -8 -1 -67.5t-0.5 -96.5t4.5 -83.5t12 -66.5zM541 761q42 -7 109 -7q82 0 143 13t110 44.5t74.5 89.5t25.5 142
q0 70 -29 122.5t-79 82t-108 43.5t-124 14q-50 0 -130 -13q0 -50 4 -151t4 -152q0 -27 -0.5 -80t-0.5 -79q0 -46 1 -69zM0 -128l2 94q15 4 85 16t106 27q7 12 12.5 27t8.5 33.5t5.5 32.5t3 37.5t0.5 34v35.5v30q0 982 -22 1025q-4 8 -22 14.5t-44.5 11t-49.5 7t-48.5 4.5
t-30.5 3l-4 83q98 2 340 11.5t373 9.5q23 0 68 -0.5t68 -0.5q70 0 136.5 -13t128.5 -42t108 -71t74 -104.5t28 -137.5q0 -52 -16.5 -95.5t-39 -72t-64.5 -57.5t-73 -45t-84 -40q154 -35 256.5 -134t102.5 -248q0 -100 -35 -179.5t-93.5 -130.5t-138 -85.5t-163.5 -48.5
t-176 -14q-44 0 -132 3t-132 3q-106 0 -307 -11t-231 -12z" />
    <glyph glyph-name="italic" unicode="&#xf033;" horiz-adv-x="1024"
d="M0 -126l17 85q22 7 61.5 16.5t72 19t59.5 23.5q28 35 41 101q1 7 62 289t114 543.5t52 296.5v25q-24 13 -54.5 18.5t-69.5 8t-58 5.5l19 103q33 -2 120 -6.5t149.5 -7t120.5 -2.5q48 0 98.5 2.5t121 7t98.5 6.5q-5 -39 -19 -89q-30 -10 -101.5 -28.5t-108.5 -33.5
q-8 -19 -14 -42.5t-9 -40t-7.5 -45.5t-6.5 -42q-27 -148 -87.5 -419.5t-77.5 -355.5q-2 -9 -13 -58t-20 -90t-16 -83.5t-6 -57.5l1 -18q17 -4 185 -31q-3 -44 -16 -99q-11 0 -32.5 -1.5t-32.5 -1.5q-29 0 -87 10t-86 10q-138 2 -206 2q-51 0 -143 -9t-121 -11z" />
    <glyph glyph-name="text_height" unicode="&#xf034;" horiz-adv-x="1792"
d="M1744 128q33 0 42 -18.5t-11 -44.5l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80zM81 1407l54 -27q12 -5 211 -5q44 0 132 2
t132 2q36 0 107.5 -0.5t107.5 -0.5h293q6 0 21 -0.5t20.5 0t16 3t17.5 9t15 17.5l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 48t-14.5 73.5t-7.5 35.5q-6 8 -12 12.5t-15.5 6t-13 2.5t-18 0.5t-16.5 -0.5
q-17 0 -66.5 0.5t-74.5 0.5t-64 -2t-71 -6q-9 -81 -8 -136q0 -94 2 -388t2 -455q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27
q19 42 19 383q0 101 -3 303t-3 303v117q0 2 0.5 15.5t0.5 25t-1 25.5t-3 24t-5 14q-11 12 -162 12q-33 0 -93 -12t-80 -26q-19 -13 -34 -72.5t-31.5 -111t-42.5 -53.5q-42 26 -56 44v383z" />
    <glyph glyph-name="text_width" unicode="&#xf035;"
d="M81 1407l54 -27q12 -5 211 -5q44 0 132 2t132 2q70 0 246.5 1t304.5 0.5t247 -4.5q33 -1 56 31l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 47.5t-15 73.5t-7 36q-10 13 -27 19q-5 2 -66 2q-30 0 -93 1t-103 1
t-94 -2t-96 -7q-9 -81 -8 -136l1 -152v52q0 -55 1 -154t1.5 -180t0.5 -153q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27
q7 16 11.5 74t6 145.5t1.5 155t-0.5 153.5t-0.5 89q0 7 -2.5 21.5t-2.5 22.5q0 7 0.5 44t1 73t0 76.5t-3 67.5t-6.5 32q-11 12 -162 12q-41 0 -163 -13.5t-138 -24.5q-19 -12 -34 -71.5t-31.5 -111.5t-42.5 -54q-42 26 -56 44v383zM1310 125q12 0 42 -19.5t57.5 -41.5
t59.5 -49t36 -30q26 -21 26 -49t-26 -49q-4 -3 -36 -30t-59.5 -49t-57.5 -41.5t-42 -19.5q-13 0 -20.5 10.5t-10 28.5t-2.5 33.5t1.5 33t1.5 19.5h-1024q0 -2 1.5 -19.5t1.5 -33t-2.5 -33.5t-10 -28.5t-20.5 -10.5q-12 0 -42 19.5t-57.5 41.5t-59.5 49t-36 30q-26 21 -26 49
t26 49q4 3 36 30t59.5 49t57.5 41.5t42 19.5q13 0 20.5 -10.5t10 -28.5t2.5 -33.5t-1.5 -33t-1.5 -19.5h1024q0 2 -1.5 19.5t-1.5 33t2.5 33.5t10 28.5t20.5 10.5z" />
    <glyph glyph-name="align_left" unicode="&#xf036;" horiz-adv-x="1792"
d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45
t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
    <glyph glyph-name="align_center" unicode="&#xf037;" horiz-adv-x="1792"
d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19
h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
    <glyph glyph-name="align_right" unicode="&#xf038;" horiz-adv-x="1792"
d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45
t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
    <glyph glyph-name="align_justify" unicode="&#xf039;" horiz-adv-x="1792"
d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45
t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
    <glyph glyph-name="list" unicode="&#xf03a;" horiz-adv-x="1792"
d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5
t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344
q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5
t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192
q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
    <glyph glyph-name="indent_left" unicode="&#xf03b;" horiz-adv-x="1792"
d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5
t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088
q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
    <glyph glyph-name="indent_right" unicode="&#xf03c;" horiz-adv-x="1792"
d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5
t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088
q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
    <glyph glyph-name="facetime_video" unicode="&#xf03d;" horiz-adv-x="1792"
d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5
q39 -17 39 -59z" />
    <glyph glyph-name="picture" unicode="&#xf03e;" horiz-adv-x="1920"
d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216
q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
    <glyph glyph-name="pencil" unicode="&#xf040;"
d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38
q53 0 91 -38l235 -234q37 -39 37 -91z" />
    <glyph glyph-name="map_marker" unicode="&#xf041;" horiz-adv-x="1024"
d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
    <glyph glyph-name="adjust" unicode="&#xf042;"
d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="tint" unicode="&#xf043;" horiz-adv-x="1024"
d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362
q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
    <glyph glyph-name="edit" unicode="&#xf044;" horiz-adv-x="1792"
d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832
q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92
l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
    <glyph glyph-name="share" unicode="&#xf045;" horiz-adv-x="1664"
d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832
q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5
t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
    <glyph glyph-name="check" unicode="&#xf046;" horiz-adv-x="1664"
d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832
q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110
q24 -24 24 -57t-24 -57z" />
    <glyph glyph-name="move" unicode="&#xf047;" horiz-adv-x="1792"
d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45
t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
    <glyph glyph-name="step_backward" unicode="&#xf048;" horiz-adv-x="1024"
d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19z" />
    <glyph glyph-name="fast_backward" unicode="&#xf049;" horiz-adv-x="1792"
d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19l710 710
q19 19 32 13t13 -32v-710q4 10 13 19z" />
    <glyph glyph-name="backward" unicode="&#xf04a;" horiz-adv-x="1664"
d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q4 10 13 19z" />
    <glyph glyph-name="play" unicode="&#xf04b;" horiz-adv-x="1408"
d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
    <glyph glyph-name="pause" unicode="&#xf04c;"
d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
    <glyph glyph-name="stop" unicode="&#xf04d;"
d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
    <glyph glyph-name="forward" unicode="&#xf04e;" horiz-adv-x="1664"
d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" />
    <glyph glyph-name="fast_forward" unicode="&#xf050;" horiz-adv-x="1792"
d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19l-710 -710
q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" />
    <glyph glyph-name="step_forward" unicode="&#xf051;" horiz-adv-x="1024"
d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19z" />
    <glyph glyph-name="eject" unicode="&#xf052;" horiz-adv-x="1538"
d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
    <glyph glyph-name="chevron_left" unicode="&#xf053;" horiz-adv-x="1280"
d="M1171 1235l-531 -531l531 -531q19 -19 19 -45t-19 -45l-166 -166q-19 -19 -45 -19t-45 19l-742 742q-19 19 -19 45t19 45l742 742q19 19 45 19t45 -19l166 -166q19 -19 19 -45t-19 -45z" />
    <glyph glyph-name="chevron_right" unicode="&#xf054;" horiz-adv-x="1280"
d="M1107 659l-742 -742q-19 -19 -45 -19t-45 19l-166 166q-19 19 -19 45t19 45l531 531l-531 531q-19 19 -19 45t19 45l166 166q19 19 45 19t45 -19l742 -742q19 -19 19 -45t-19 -45z" />
    <glyph glyph-name="plus_sign" unicode="&#xf055;"
d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5
t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="minus_sign" unicode="&#xf056;"
d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
t103 -385.5z" />
    <glyph glyph-name="remove_sign" unicode="&#xf057;"
d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19
q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="ok_sign" unicode="&#xf058;"
d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="question_sign" unicode="&#xf059;"
d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59
q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="info_sign" unicode="&#xf05a;"
d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23
t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="screenshot" unicode="&#xf05b;"
d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109
q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143
q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
    <glyph glyph-name="remove_circle" unicode="&#xf05c;"
d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23
l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5
t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="ok_circle" unicode="&#xf05d;"
d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198
t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="ban_circle" unicode="&#xf05e;"
d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61
t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
    <glyph glyph-name="arrow_left" unicode="&#xf060;"
d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5
t32.5 -90.5z" />
    <glyph glyph-name="arrow_right" unicode="&#xf061;"
d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
    <glyph glyph-name="arrow_up" unicode="&#xf062;" horiz-adv-x="1664"
d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651
q37 -39 37 -91z" />
    <glyph glyph-name="arrow_down" unicode="&#xf063;" horiz-adv-x="1664"
d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
    <glyph glyph-name="share_alt" unicode="&#xf064;" horiz-adv-x="1792"
d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22
t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
    <glyph glyph-name="resize_full" unicode="&#xf065;"
d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332
q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
    <glyph glyph-name="resize_small" unicode="&#xf066;"
d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45
t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
    <glyph glyph-name="plus" unicode="&#xf067;" horiz-adv-x="1408"
d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
    <glyph glyph-name="minus" unicode="&#xf068;" horiz-adv-x="1408"
d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
    <glyph glyph-name="asterisk" unicode="&#xf069;" horiz-adv-x="1664"
d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154
q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
    <glyph glyph-name="exclamation_sign" unicode="&#xf06a;"
d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192
q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
    <glyph glyph-name="gift" unicode="&#xf06b;"
d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320
q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5
t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
    <glyph glyph-name="leaf" unicode="&#xf06c;" horiz-adv-x="1792"
d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268
q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-43 0 -63.5 17.5t-45.5 59.5q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5
t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
    <glyph glyph-name="fire" unicode="&#xf06d;" horiz-adv-x="1408"
d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1
q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
    <glyph glyph-name="eye_open" unicode="&#xf06e;" horiz-adv-x="1792"
d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5
t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
    <glyph glyph-name="eye_close" unicode="&#xf070;" horiz-adv-x="1792"
d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9
q-106 -189 -316 -567t-315 -566l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5
q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z
" />
    <glyph glyph-name="warning_sign" unicode="&#xf071;" horiz-adv-x="1792"
d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185
q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
    <glyph glyph-name="plane" unicode="&#xf072;" horiz-adv-x="1408"
d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9
q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
    <glyph glyph-name="calendar" unicode="&#xf073;" horiz-adv-x="1664"
d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z
M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64
q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47
h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
    <glyph glyph-name="random" unicode="&#xf074;" horiz-adv-x="1792"
d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1
t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5
v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111
t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
    <glyph glyph-name="comment" unicode="&#xf075;" horiz-adv-x="1792"
d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281
q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
    <glyph glyph-name="magnet" unicode="&#xf076;"
d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384
q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
    <glyph glyph-name="chevron_up" unicode="&#xf077;" horiz-adv-x="1792"
d="M1683 205l-166 -165q-19 -19 -45 -19t-45 19l-531 531l-531 -531q-19 -19 -45 -19t-45 19l-166 165q-19 19 -19 45.5t19 45.5l742 741q19 19 45 19t45 -19l742 -741q19 -19 19 -45.5t-19 -45.5z" />
    <glyph glyph-name="chevron_down" unicode="&#xf078;" horiz-adv-x="1792"
d="M1683 728l-742 -741q-19 -19 -45 -19t-45 19l-742 741q-19 19 -19 45.5t19 45.5l166 165q19 19 45 19t45 -19l531 -531l531 531q19 19 45 19t45 -19l166 -165q19 -19 19 -45.5t-19 -45.5z" />
    <glyph glyph-name="retweet" unicode="&#xf079;" horiz-adv-x="1920"
d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -10 7 -21
zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z
" />
    <glyph glyph-name="shopping_cart" unicode="&#xf07a;" horiz-adv-x="1664"
d="M640 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1536 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1664 1088v-512q0 -24 -16.5 -42.5t-40.5 -21.5l-1044 -122q13 -60 13 -70q0 -16 -24 -64h920q26 0 45 -19t19 -45
t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 11 8 31.5t16 36t21.5 40t15.5 29.5l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t19.5 -15.5t13 -24.5t8 -26t5.5 -29.5t4.5 -26h1201q26 0 45 -19t19 -45z" />
    <glyph glyph-name="folder_close" unicode="&#xf07b;" horiz-adv-x="1664"
d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
    <glyph glyph-name="folder_open" unicode="&#xf07c;" horiz-adv-x="1920"
d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5
t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
    <glyph glyph-name="resize_vertical" unicode="&#xf07d;" horiz-adv-x="768"
d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
    <glyph glyph-name="resize_horizontal" unicode="&#xf07e;" horiz-adv-x="1792"
d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
    <glyph glyph-name="bar_chart" unicode="&#xf080;" horiz-adv-x="2048"
d="M640 640v-512h-256v512h256zM1024 1152v-1024h-256v1024h256zM2048 0v-128h-2048v1536h128v-1408h1920zM1408 896v-768h-256v768h256zM1792 1280v-1152h-256v1152h256z" />
    <glyph glyph-name="twitter_sign" unicode="&#xf081;"
d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4
q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5
t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="facebook_sign" unicode="&#xf082;"
d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-188v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-532q-119 0 -203.5 84.5t-84.5 203.5v960
q0 119 84.5 203.5t203.5 84.5h960z" />
    <glyph glyph-name="camera_retro" unicode="&#xf083;" horiz-adv-x="1792"
d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5
t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280
q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
    <glyph glyph-name="key" unicode="&#xf084;" horiz-adv-x="1792"
d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26
l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5
t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
    <glyph glyph-name="cogs" unicode="&#xf085;" horiz-adv-x="1920"
d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5
t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -11 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5
l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7
l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -8 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31
q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20
t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68
q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70
q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
    <glyph glyph-name="comments" unicode="&#xf086;" horiz-adv-x="1792"
d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224
q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7
q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
    <glyph glyph-name="thumbs_up_alt" unicode="&#xf087;"
d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5
t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769
q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128
q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
    <glyph glyph-name="thumbs_down_alt" unicode="&#xf088;"
d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 31 18 69q0 37 -17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5
t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z
M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5
h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -73 49 -163z" />
    <glyph glyph-name="star_half" unicode="&#xf089;" horiz-adv-x="896"
d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
    <glyph glyph-name="heart_empty" unicode="&#xf08a;" horiz-adv-x="1792"
d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559
q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5
q224 0 351 -124t127 -344z" />
    <glyph glyph-name="signout" unicode="&#xf08b;" horiz-adv-x="1664"
d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704
q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
    <glyph glyph-name="linkedin_sign" unicode="&#xf08c;"
d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5
q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="pushpin" unicode="&#xf08d;" horiz-adv-x="1152"
d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38
t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
    <glyph glyph-name="external_link" unicode="&#xf08e;" horiz-adv-x="1792"
d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320
q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
    <glyph glyph-name="signin" unicode="&#xf090;"
d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5
q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="trophy" unicode="&#xf091;" horiz-adv-x="1664"
d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91
t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96
q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
    <glyph glyph-name="github_sign" unicode="&#xf092;"
d="M519 336q4 6 -3 13q-9 7 -14 2q-4 -6 3 -13q9 -7 14 -2zM491 377q-5 7 -12 4q-6 -4 0 -12q7 -8 12 -5q6 4 0 13zM450 417q2 4 -5 8q-7 2 -8 -2q-3 -5 4 -8q8 -2 9 2zM471 394q2 1 1.5 4.5t-3.5 5.5q-6 7 -10 3t1 -11q6 -6 11 -2zM557 319q2 7 -9 11q-9 3 -13 -4
q-2 -7 9 -11q9 -3 13 4zM599 316q0 8 -12 8q-10 0 -10 -8t11 -8t11 8zM638 323q-2 7 -13 5t-9 -9q2 -8 12 -6t10 10zM1280 640q0 212 -150 362t-362 150t-362 -150t-150 -362q0 -167 98 -300.5t252 -185.5q18 -3 26.5 5t8.5 20q0 52 -1 95q-6 -1 -15.5 -2.5t-35.5 -2t-48 4
t-43.5 20t-29.5 41.5q-23 59 -57 74q-2 1 -4.5 3.5l-8 8t-7 9.5t4 7.5t19.5 3.5q6 0 15 -2t30 -15.5t33 -35.5q16 -28 37.5 -42t43.5 -14t38 3.5t30 9.5q7 47 33 69q-49 6 -86 18.5t-73 39t-55.5 76t-19.5 119.5q0 79 53 137q-24 62 5 136q19 6 54.5 -7.5t60.5 -29.5l26 -16
q58 17 128 17t128 -17q11 7 28.5 18t55.5 26t57 9q29 -74 5 -136q53 -58 53 -137q0 -57 -14 -100.5t-35.5 -70t-53.5 -44.5t-62.5 -26t-68.5 -12q35 -31 35 -95q0 -40 -0.5 -89t-0.5 -51q0 -12 8.5 -20t26.5 -5q154 52 252 185.5t98 300.5zM1536 1120v-960
q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="upload_alt" unicode="&#xf093;" horiz-adv-x="1664"
d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92
t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
    <glyph glyph-name="lemon" unicode="&#xf094;"
d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5
q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44
q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5
q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -13 2 -25t3.5 -16.5t7.5 -20.5t8 -20q16 -40 25 -118.5t9 -136.5z" />
    <glyph glyph-name="phone" unicode="&#xf095;" horiz-adv-x="1408"
d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -53 3.5t-57.5 12.5t-47 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-127 79 -264 216t-216 264q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47t-12.5 57.5t-3.5 53q0 92 51 186
q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174q2 -1 19 -11.5t24 -14
t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
    <glyph glyph-name="check_empty" unicode="&#xf096;" horiz-adv-x="1408"
d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832
q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="bookmark_empty" unicode="&#xf097;" horiz-adv-x="1280"
d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289
q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
    <glyph glyph-name="phone_sign" unicode="&#xf098;"
d="M1280 343q0 11 -2 16t-18 16.5t-40.5 25t-47.5 26.5t-45.5 25t-28.5 15q-5 3 -19 13t-25 15t-21 5q-15 0 -36.5 -20.5t-39.5 -45t-38.5 -45t-33.5 -20.5q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170 126.5t-127 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5
t-3.5 16.5q0 13 20.5 33.5t45 38.5t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5
t320.5 -216.5q6 -2 30 -11t33 -12.5t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z
" />
    <glyph glyph-name="twitter" unicode="&#xf099;" horiz-adv-x="1664"
d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41
q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
    <glyph glyph-name="facebook" unicode="&#xf09a;" horiz-adv-x="1024"
d="M959 1524v-264h-157q-86 0 -116 -36t-30 -108v-189h293l-39 -296h-254v-759h-306v759h-255v296h255v218q0 186 104 288.5t277 102.5q147 0 228 -12z" />
    <glyph glyph-name="github" unicode="&#xf09b;"
d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -40 7t-13 30q0 3 0.5 76.5t0.5 134.5q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 119 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24
q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-85 13.5q-45 -113 -8 -204q-79 -87 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-39 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5
t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -88.5t0.5 -54.5q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103zM291 305q3 7 -7 12
q-10 3 -13 -2q-3 -7 7 -12q9 -6 13 2zM322 271q7 5 -2 16q-10 9 -16 3q-7 -5 2 -16q10 -10 16 -3zM352 226q9 7 0 19q-8 13 -17 6q-9 -5 0 -18t17 -7zM394 184q8 8 -4 19q-12 12 -20 3q-9 -8 4 -19q12 -12 20 -3zM451 159q3 11 -13 16q-15 4 -19 -7t13 -15q15 -6 19 6z
M514 154q0 13 -17 11q-16 0 -16 -11q0 -13 17 -11q16 0 16 11zM572 164q-2 11 -18 9q-16 -3 -14 -15t18 -8t14 14z" />
    <glyph glyph-name="unlock" unicode="&#xf09c;" horiz-adv-x="1664"
d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5
t316.5 -131.5t131.5 -316.5z" />
    <glyph glyph-name="credit_card" unicode="&#xf09d;" horiz-adv-x="1920"
d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608
q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
    <glyph glyph-name="rss" unicode="&#xf09e;" horiz-adv-x="1408"
d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5
t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294
q187 -186 294 -425.5t120 -501.5z" />
    <glyph glyph-name="hdd" unicode="&#xf0a0;"
d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5
h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75
l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
    <glyph glyph-name="bullhorn" unicode="&#xf0a1;" horiz-adv-x="1792"
d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5
t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
    <glyph glyph-name="bell" unicode="&#xf0a2;" horiz-adv-x="1792"
d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM246 128h1300q-266 300 -266 832q0 51 -24 105t-69 103t-121.5 80.5t-169.5 31.5t-169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -532 -266 -832z
M1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5
t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
    <glyph glyph-name="certificate" unicode="&#xf0a3;"
d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70
l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70
l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
    <glyph glyph-name="hand_right" unicode="&#xf0a4;" horiz-adv-x="1792"
d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106
q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43
q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5
t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
    <glyph glyph-name="hand_left" unicode="&#xf0a5;" horiz-adv-x="1792"
d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-8 9 -12 14q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576q-50 0 -89 -38.5
t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45z
M1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128q0 122 81.5 189t206.5 67
q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
    <glyph glyph-name="hand_up" unicode="&#xf0a6;"
d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576
q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5
t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76
q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
    <glyph glyph-name="hand_down" unicode="&#xf0a7;"
d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33
t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580
q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100
q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
    <glyph glyph-name="circle_arrow_left" unicode="&#xf0a8;"
d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640
q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="circle_arrow_right" unicode="&#xf0a9;"
d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640
q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="circle_arrow_up" unicode="&#xf0aa;"
d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640
q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="circle_arrow_down" unicode="&#xf0ab;"
d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640
q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="globe" unicode="&#xf0ac;"
d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11
q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 11t-9.5 10q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5
q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5
q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5
t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-4 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3
q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25
q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5
t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5
t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10.5t17 -19.5q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21
q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5
q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3
q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5
t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q8 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5
q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7
q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
    <glyph glyph-name="wrench" unicode="&#xf0ad;" horiz-adv-x="1664"
d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5
t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
    <glyph glyph-name="tasks" unicode="&#xf0ae;" horiz-adv-x="1792"
d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19
t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
    <glyph glyph-name="filter" unicode="&#xf0b0;" horiz-adv-x="1408"
d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
    <glyph glyph-name="briefcase" unicode="&#xf0b1;" horiz-adv-x="1792"
d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68
t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
    <glyph glyph-name="fullscreen" unicode="&#xf0b2;"
d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144
l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z
" />
    <glyph glyph-name="group" unicode="&#xf0c0;" horiz-adv-x="1920"
d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5
t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75
t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5
t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
    <glyph glyph-name="link" unicode="&#xf0c1;" horiz-adv-x="1664"
d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26
l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15
t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207
q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
    <glyph glyph-name="cloud" unicode="&#xf0c2;" horiz-adv-x="1920"
d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z
" />
    <glyph glyph-name="beaker" unicode="&#xf0c3;" horiz-adv-x="1664"
d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
    <glyph glyph-name="cut" unicode="&#xf0c4;" horiz-adv-x="1792"
d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84
q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148
q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108
q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6
q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
    <glyph glyph-name="copy" unicode="&#xf0c5;" horiz-adv-x="1792"
d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299
h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
    <glyph glyph-name="paper_clip" unicode="&#xf0c6;" horiz-adv-x="1408"
d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181
l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235
z" />
    <glyph glyph-name="save" unicode="&#xf0c7;"
d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5
h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
    <glyph glyph-name="sign_blank" unicode="&#xf0c8;"
d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="reorder" unicode="&#xf0c9;"
d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45
t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
    <glyph glyph-name="ul" unicode="&#xf0ca;" horiz-adv-x="1792"
d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5
t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z
M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
    <glyph glyph-name="ol" unicode="&#xf0cb;" horiz-adv-x="1792"
d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362
q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5
t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 121.5t0.5 121.5v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216
q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
    <glyph glyph-name="strikethrough" unicode="&#xf0cc;" horiz-adv-x="1792"
d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 98 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6
l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -56 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23
l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
    <glyph glyph-name="underline" unicode="&#xf0cd;"
d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47
q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41
q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472
q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
    <glyph glyph-name="table" unicode="&#xf0ce;" horiz-adv-x="1664"
d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23
v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192
q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192
q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113
z" />
    <glyph glyph-name="magic" unicode="&#xf0d0;" horiz-adv-x="1664"
d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276
l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
    <glyph glyph-name="truck" unicode="&#xf0d1;" horiz-adv-x="1792"
d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5
t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38
t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
    <glyph glyph-name="pinterest" unicode="&#xf0d2;"
d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134
q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33
q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="pinterest_sign" unicode="&#xf0d3;"
d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5
t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5
t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
    <glyph glyph-name="google_plus_sign" unicode="&#xf0d4;"
d="M917 631q0 26 -6 64h-362v-132h217q-3 -24 -16.5 -50t-37.5 -53t-66.5 -44.5t-96.5 -17.5q-99 0 -169 71t-70 171t70 171t169 71q92 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585
h109v110h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="google_plus" unicode="&#xf0d5;" horiz-adv-x="2304"
d="M1437 623q0 -208 -87 -370.5t-248 -254t-369 -91.5q-149 0 -285 58t-234 156t-156 234t-58 285t58 285t156 234t234 156t285 58q286 0 491 -192l-199 -191q-117 113 -292 113q-123 0 -227.5 -62t-165.5 -168.5t-61 -232.5t61 -232.5t165.5 -168.5t227.5 -62
q83 0 152.5 23t114.5 57.5t78.5 78.5t49 83t21.5 74h-416v252h692q12 -63 12 -122zM2304 745v-210h-209v-209h-210v209h-209v210h209v209h210v-209h209z" />
    <glyph glyph-name="money" unicode="&#xf0d6;" horiz-adv-x="1920"
d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384
v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
    <glyph glyph-name="caret_down" unicode="&#xf0d7;" horiz-adv-x="1024"
d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
    <glyph glyph-name="caret_up" unicode="&#xf0d8;" horiz-adv-x="1024"
d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
    <glyph glyph-name="caret_left" unicode="&#xf0d9;" horiz-adv-x="640"
d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
    <glyph glyph-name="caret_right" unicode="&#xf0da;" horiz-adv-x="640"
d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
    <glyph glyph-name="columns" unicode="&#xf0db;" horiz-adv-x="1664"
d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
    <glyph glyph-name="sort" unicode="&#xf0dc;" horiz-adv-x="1024"
d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
    <glyph glyph-name="sort_down" unicode="&#xf0dd;" horiz-adv-x="1024"
d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
    <glyph glyph-name="sort_up" unicode="&#xf0de;" horiz-adv-x="1024"
d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
    <glyph glyph-name="envelope_alt" unicode="&#xf0e0;" horiz-adv-x="1792"
d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123
q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
    <glyph glyph-name="linkedin" unicode="&#xf0e1;"
d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329
q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
    <glyph glyph-name="undo" unicode="&#xf0e2;"
d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5
t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
    <glyph glyph-name="legal" unicode="&#xf0e3;" horiz-adv-x="1792"
d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5
t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14
q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28
q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
    <glyph glyph-name="dashboard" unicode="&#xf0e4;" horiz-adv-x="1792"
d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5
t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5
t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29
q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
    <glyph glyph-name="comment_alt" unicode="&#xf0e5;" horiz-adv-x="1792"
d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640
q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5
t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
    <glyph glyph-name="comments_alt" unicode="&#xf0e6;" horiz-adv-x="1792"
d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257
t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5
t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129
q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
    <glyph glyph-name="bolt" unicode="&#xf0e7;" horiz-adv-x="896"
d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
    <glyph glyph-name="sitemap" unicode="&#xf0e8;" horiz-adv-x="1792"
d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320
q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68
z" />
    <glyph glyph-name="umbrella" unicode="&#xf0e9;" horiz-adv-x="1664"
d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97
q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69
q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
    <glyph glyph-name="paste" unicode="&#xf0ea;" horiz-adv-x="1792"
d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28
h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
    <glyph glyph-name="light_bulb" unicode="&#xf0eb;" horiz-adv-x="1024"
d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134
q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47
q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5
t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
    <glyph glyph-name="exchange" unicode="&#xf0ec;" horiz-adv-x="1792"
d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9
q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
    <glyph glyph-name="cloud_download" unicode="&#xf0ed;" horiz-adv-x="1920"
d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088
q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
    <glyph glyph-name="cloud_upload" unicode="&#xf0ee;" horiz-adv-x="1920"
d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088
q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
    <glyph glyph-name="user_md" unicode="&#xf0f0;" horiz-adv-x="1408"
d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56
t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68
t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5
t271.5 -112.5t112.5 -271.5z" />
    <glyph glyph-name="stethoscope" unicode="&#xf0f1;" horiz-adv-x="1408"
d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48
t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252
t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
    <glyph glyph-name="suitcase" unicode="&#xf0f2;" horiz-adv-x="1792"
d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66
t66 -158z" />
    <glyph glyph-name="bell_alt" unicode="&#xf0f3;" horiz-adv-x="1792"
d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5
t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
    <glyph glyph-name="coffee" unicode="&#xf0f4;" horiz-adv-x="1920"
d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45
t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
    <glyph glyph-name="food" unicode="&#xf0f5;" horiz-adv-x="1408"
d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45
t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
    <glyph glyph-name="file_text_alt" unicode="&#xf0f6;"
d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
M384 736q0 14 9 23t23 9h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64zM1120 512q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704zM1120 256q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704
q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704z" />
    <glyph glyph-name="building" unicode="&#xf0f7;" horiz-adv-x="1408"
d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
    <glyph glyph-name="hospital" unicode="&#xf0f8;" horiz-adv-x="1408"
d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5
t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320
v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
    <glyph glyph-name="ambulance" unicode="&#xf0f9;" horiz-adv-x="1920"
d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5
t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152
q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
    <glyph glyph-name="medkit" unicode="&#xf0fa;" horiz-adv-x="1792"
d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32
q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
    <glyph glyph-name="fighter_jet" unicode="&#xf0fb;" horiz-adv-x="1920"
d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96
q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q128 -28 200 -52t80 -34z" />
    <glyph glyph-name="beer" unicode="&#xf0fc;" horiz-adv-x="1664"
d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
    <glyph glyph-name="h_sign" unicode="&#xf0fd;"
d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960
q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="f0fe" unicode="&#xf0fe;"
d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960
q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="double_angle_left" unicode="&#xf100;" horiz-adv-x="1024"
d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23
t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
    <glyph glyph-name="double_angle_right" unicode="&#xf101;" horiz-adv-x="1024"
d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23
l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
    <glyph glyph-name="double_angle_up" unicode="&#xf102;" horiz-adv-x="1152"
d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393
q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
    <glyph glyph-name="double_angle_down" unicode="&#xf103;" horiz-adv-x="1152"
d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23
t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
    <glyph glyph-name="angle_left" unicode="&#xf104;" horiz-adv-x="640"
d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
    <glyph glyph-name="angle_right" unicode="&#xf105;" horiz-adv-x="640"
d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
    <glyph glyph-name="angle_up" unicode="&#xf106;" horiz-adv-x="1152"
d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
    <glyph glyph-name="angle_down" unicode="&#xf107;" horiz-adv-x="1152"
d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
    <glyph glyph-name="desktop" unicode="&#xf108;" horiz-adv-x="1920"
d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19
t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
    <glyph glyph-name="laptop" unicode="&#xf109;" horiz-adv-x="1920"
d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z
M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
    <glyph glyph-name="tablet" unicode="&#xf10a;" horiz-adv-x="1152"
d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832
q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
    <glyph glyph-name="mobile_phone" unicode="&#xf10b;" horiz-adv-x="768"
d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136
q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
    <glyph glyph-name="circle_blank" unicode="&#xf10c;"
d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103
t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="quote_left" unicode="&#xf10d;" horiz-adv-x="1664"
d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z
M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
    <glyph glyph-name="quote_right" unicode="&#xf10e;" horiz-adv-x="1664"
d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216
v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
    <glyph glyph-name="spinner" unicode="&#xf110;" horiz-adv-x="1792"
d="M526 142q0 -53 -37.5 -90.5t-90.5 -37.5q-52 0 -90 38t-38 90q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 -64q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -53 -37.5 -90.5t-90.5 -37.5
t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1522 142q0 -52 -38 -90t-90 -38q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM558 1138q0 -66 -47 -113t-113 -47t-113 47t-47 113t47 113t113 47t113 -47t47 -113z
M1728 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1088 1344q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1618 1138q0 -93 -66 -158.5t-158 -65.5q-93 0 -158.5 65.5t-65.5 158.5
q0 92 65.5 158t158.5 66q92 0 158 -66t66 -158z" />
    <glyph glyph-name="circle" unicode="&#xf111;"
d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="reply" unicode="&#xf112;" horiz-adv-x="1792"
d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19
l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
    <glyph glyph-name="github_alt" unicode="&#xf113;" horiz-adv-x="1664"
d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320
q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86
t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218
q0 -87 -27 -168q136 -160 136 -398z" />
    <glyph glyph-name="folder_close_alt" unicode="&#xf114;" horiz-adv-x="1664"
d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320
q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
    <glyph glyph-name="folder_open_alt" unicode="&#xf115;" horiz-adv-x="1920"
d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68
v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z
" />
    <glyph glyph-name="expand_alt" unicode="&#xf116;" horiz-adv-x="1792"
 />
    <glyph glyph-name="collapse_alt" unicode="&#xf117;" horiz-adv-x="1792"
 />
    <glyph glyph-name="smile" unicode="&#xf118;"
d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5
t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="frown" unicode="&#xf119;"
d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204
t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="meh" unicode="&#xf11a;"
d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640
q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="gamepad" unicode="&#xf11b;" horiz-adv-x="1920"
d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5
t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150
t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
    <glyph glyph-name="keyboard" unicode="&#xf11c;" horiz-adv-x="1920"
d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16
h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16
h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96
q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896
h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
    <glyph glyph-name="flag_alt" unicode="&#xf11d;" horiz-adv-x="1792"
d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9
h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102
q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
    <glyph glyph-name="flag_checkered" unicode="&#xf11e;" horiz-adv-x="1792"
d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2
q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266
q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8
q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
    <glyph glyph-name="terminal" unicode="&#xf120;" horiz-adv-x="1664"
d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9
t9 -23z" />
    <glyph glyph-name="code" unicode="&#xf121;" horiz-adv-x="1920"
d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5
l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
    <glyph glyph-name="reply_all" unicode="&#xf122;" horiz-adv-x="1792"
d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1
q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
    <glyph glyph-name="star_half_empty" unicode="&#xf123;" horiz-adv-x="1664"
d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5
l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
    <glyph glyph-name="location_arrow" unicode="&#xf124;" horiz-adv-x="1408"
d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
    <glyph glyph-name="crop" unicode="&#xf125;" horiz-adv-x="1664"
d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23
v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
    <glyph glyph-name="code_fork" unicode="&#xf126;" horiz-adv-x="1024"
d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5
q-2 -287 -226 -414q-67 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497
q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
    <glyph glyph-name="unlink" unicode="&#xf127;" horiz-adv-x="1664"
d="M439 265l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320
q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18
l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9
t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
    <glyph glyph-name="question" unicode="&#xf128;" horiz-adv-x="1024"
d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5
t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
    <glyph glyph-name="_279" unicode="&#xf129;" horiz-adv-x="640"
d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192
q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
    <glyph glyph-name="exclamation" unicode="&#xf12a;" horiz-adv-x="640"
d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
    <glyph glyph-name="superscript" unicode="&#xf12b;"
d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z
M1534 846v-206h-514l-3 27q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5
t-65.5 -51.5t-30.5 -63h232v80h126z" />
    <glyph glyph-name="subscript" unicode="&#xf12c;"
d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z
M1536 -50v-206h-514l-4 27q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73
h232v80h126z" />
    <glyph glyph-name="_283" unicode="&#xf12d;" horiz-adv-x="1920"
d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
    <glyph glyph-name="puzzle_piece" unicode="&#xf12e;" horiz-adv-x="1664"
d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5
t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89
q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117
q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
    <glyph glyph-name="microphone" unicode="&#xf130;" horiz-adv-x="1152"
d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5
t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
    <glyph glyph-name="microphone_off" unicode="&#xf131;" horiz-adv-x="1408"
d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128
q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23
t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
    <glyph glyph-name="shield" unicode="&#xf132;" horiz-adv-x="1280"
d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150
t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
    <glyph glyph-name="calendar_empty" unicode="&#xf133;" horiz-adv-x="1664"
d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280
q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
    <glyph glyph-name="fire_extinguisher" unicode="&#xf134;" horiz-adv-x="1408"
d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800
q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113
q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
    <glyph glyph-name="rocket" unicode="&#xf135;" horiz-adv-x="1664"
d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1
q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
    <glyph glyph-name="maxcdn" unicode="&#xf136;" horiz-adv-x="1792"
d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
    <glyph glyph-name="chevron_sign_left" unicode="&#xf137;"
d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="chevron_sign_right" unicode="&#xf138;"
d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="chevron_sign_up" unicode="&#xf139;"
d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="chevron_sign_down" unicode="&#xf13a;"
d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="html5" unicode="&#xf13b;" horiz-adv-x="1408"
d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
    <glyph glyph-name="css3" unicode="&#xf13c;" horiz-adv-x="1792"
d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
    <glyph glyph-name="anchor" unicode="&#xf13d;" horiz-adv-x="1792"
d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352
q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19
t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
    <glyph glyph-name="unlock_alt" unicode="&#xf13e;" horiz-adv-x="1152"
d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181
v-320h736z" />
    <glyph glyph-name="bullseye" unicode="&#xf140;"
d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150
t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640
q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="ellipsis_horizontal" unicode="&#xf141;" horiz-adv-x="1408"
d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192
q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
    <glyph glyph-name="ellipsis_vertical" unicode="&#xf142;" horiz-adv-x="384"
d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192
q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
    <glyph glyph-name="_303" unicode="&#xf143;"
d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 233 -176.5 396.5t-396.5 176.5q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128
q13 0 23 10t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960
q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="play_sign" unicode="&#xf144;"
d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56
q16 -8 32 -8q17 0 32 9z" />
    <glyph glyph-name="ticket" unicode="&#xf145;" horiz-adv-x="1792"
d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136
t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
    <glyph glyph-name="minus_sign_alt" unicode="&#xf146;"
d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
t84.5 -203.5z" />
    <glyph glyph-name="check_minus" unicode="&#xf147;" horiz-adv-x="1408"
d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5
t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="level_up" unicode="&#xf148;" horiz-adv-x="1024"
d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
    <glyph glyph-name="level_down" unicode="&#xf149;" horiz-adv-x="1024"
d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
    <glyph glyph-name="check_sign" unicode="&#xf14a;"
d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5
t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="edit_sign" unicode="&#xf14b;"
d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120
v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="_312" unicode="&#xf14c;"
d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960
q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="share_sign" unicode="&#xf14d;"
d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q11 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5
t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="compass" unicode="&#xf14e;"
d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="collapse" unicode="&#xf150;"
d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120
v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="collapse_top" unicode="&#xf151;"
d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960
q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="_317" unicode="&#xf152;"
d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5
t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="eur" unicode="&#xf153;" horiz-adv-x="1024"
d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9
t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26
l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
    <glyph glyph-name="gbp" unicode="&#xf154;" horiz-adv-x="1024"
d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7
q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
    <glyph glyph-name="usd" unicode="&#xf155;" horiz-adv-x="1024"
d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43
t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5
t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50
t53 -63.5t31.5 -76.5t13 -94z" />
    <glyph glyph-name="inr" unicode="&#xf156;" horiz-adv-x="898"
d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102
q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
    <glyph glyph-name="jpy" unicode="&#xf157;" horiz-adv-x="1027"
d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61
l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
    <glyph glyph-name="rub" unicode="&#xf158;" horiz-adv-x="1280"
d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128
q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
    <glyph glyph-name="krw" unicode="&#xf159;" horiz-adv-x="1792"
d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23
t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28
q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
    <glyph glyph-name="btc" unicode="&#xf15a;" horiz-adv-x="1280"
d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164
l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30
t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
    <glyph glyph-name="file" unicode="&#xf15b;"
d="M1024 1024v472q22 -14 36 -28l408 -408q14 -14 28 -36h-472zM896 992q0 -40 28 -68t68 -28h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544z" />
    <glyph glyph-name="file_text" unicode="&#xf15c;"
d="M1468 1060q14 -14 28 -36h-472v472q22 -14 36 -28zM992 896h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544q0 -40 28 -68t68 -28zM1152 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704
q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23z" />
    <glyph glyph-name="sort_by_alphabet" unicode="&#xf15d;" horiz-adv-x="1664"
d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23
v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162
l230 -662h70z" />
    <glyph glyph-name="_329" unicode="&#xf15e;" horiz-adv-x="1664"
d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150
v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248
v119h121z" />
    <glyph glyph-name="sort_by_attributes" unicode="&#xf160;" horiz-adv-x="1792"
d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832
q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256
q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
    <glyph glyph-name="sort_by_attributes_alt" unicode="&#xf161;" horiz-adv-x="1792"
d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192
q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832
q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
    <glyph glyph-name="sort_by_order" unicode="&#xf162;"
d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23
zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5
t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
    <glyph glyph-name="sort_by_order_alt" unicode="&#xf163;"
d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9
t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13
q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
    <glyph glyph-name="_334" unicode="&#xf164;" horiz-adv-x="1664"
d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76
q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5
t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
    <glyph glyph-name="_335" unicode="&#xf165;" horiz-adv-x="1664"
d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135
t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121
t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
    <glyph glyph-name="youtube_sign" unicode="&#xf166;"
d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 17 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15
q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38
q21 -29 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5
q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78q7 -23 23 -69l24 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38
q-51 0 -78 -38q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5
h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="youtube" unicode="&#xf167;"
d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73
q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51
q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99
q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-38 -51 -106 -51q-67 0 -105 51
q-28 38 -28 118v175q0 80 28 117q38 51 105 51q68 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
    <glyph glyph-name="xing" unicode="&#xf168;" horiz-adv-x="1408"
d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942
q25 45 64 45h241q22 0 31 -15z" />
    <glyph glyph-name="xing_sign" unicode="&#xf169;"
d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1
l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="youtube_play" unicode="&#xf16a;" horiz-adv-x="1792"
d="M711 408l484 250l-484 253v-503zM896 1270q168 0 324.5 -4.5t229.5 -9.5l73 -4q1 0 17 -1.5t23 -3t23.5 -4.5t28.5 -8t28 -13t31 -19.5t29 -26.5q6 -6 15.5 -18.5t29 -58.5t26.5 -101q8 -64 12.5 -136.5t5.5 -113.5v-40v-136q1 -145 -18 -290q-7 -55 -25 -99.5t-32 -61.5
l-14 -17q-14 -15 -29 -26.5t-31 -19t-28 -12.5t-28.5 -8t-24 -4.5t-23 -3t-16.5 -1.5q-251 -19 -627 -19q-207 2 -359.5 6.5t-200.5 7.5l-49 4l-36 4q-36 5 -54.5 10t-51 21t-56.5 41q-6 6 -15.5 18.5t-29 58.5t-26.5 101q-8 64 -12.5 136.5t-5.5 113.5v40v136
q-1 145 18 290q7 55 25 99.5t32 61.5l14 17q14 15 29 26.5t31 19.5t28 13t28.5 8t23.5 4.5t23 3t17 1.5q251 18 627 18z" />
    <glyph glyph-name="dropbox" unicode="&#xf16b;" horiz-adv-x="1792"
d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
    <glyph glyph-name="stackexchange" unicode="&#xf16c;"
d="M1289 -96h-1118v480h-160v-640h1438v640h-160v-480zM347 428l33 157l783 -165l-33 -156zM450 802l67 146l725 -339l-67 -145zM651 1158l102 123l614 -513l-102 -123zM1048 1536l477 -641l-128 -96l-477 641zM330 65v159h800v-159h-800z" />
    <glyph glyph-name="instagram" unicode="&#xf16d;"
d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1162 640q0 -164 -115 -279t-279 -115t-279 115t-115 279t115 279t279 115t279 -115t115 -279zM1270 1050q0 -38 -27 -65t-65 -27t-65 27t-27 65t27 65t65 27t65 -27t27 -65zM768 1270
q-7 0 -76.5 0.5t-105.5 0t-96.5 -3t-103 -10t-71.5 -18.5q-50 -20 -88 -58t-58 -88q-11 -29 -18.5 -71.5t-10 -103t-3 -96.5t0 -105.5t0.5 -76.5t-0.5 -76.5t0 -105.5t3 -96.5t10 -103t18.5 -71.5q20 -50 58 -88t88 -58q29 -11 71.5 -18.5t103 -10t96.5 -3t105.5 0t76.5 0.5
t76.5 -0.5t105.5 0t96.5 3t103 10t71.5 18.5q50 20 88 58t58 88q11 29 18.5 71.5t10 103t3 96.5t0 105.5t-0.5 76.5t0.5 76.5t0 105.5t-3 96.5t-10 103t-18.5 71.5q-20 50 -58 88t-88 58q-29 11 -71.5 18.5t-103 10t-96.5 3t-105.5 0t-76.5 -0.5zM1536 640q0 -229 -5 -317
q-10 -208 -124 -322t-322 -124q-88 -5 -317 -5t-317 5q-208 10 -322 124t-124 322q-5 88 -5 317t5 317q10 208 124 322t322 124q88 5 317 5t317 -5q208 -10 322 -124t124 -322q5 -88 5 -317z" />
    <glyph glyph-name="flickr" unicode="&#xf16e;"
d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150
t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
    <glyph glyph-name="adn" unicode="&#xf170;"
d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="f171" unicode="&#xf171;" horiz-adv-x="1408"
d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22
t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18
t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5
t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
    <glyph glyph-name="bitbucket_sign" unicode="&#xf172;"
d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5
t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z
M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120
v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="tumblr" unicode="&#xf173;" horiz-adv-x="1024"
d="M944 207l80 -237q-23 -35 -111 -66t-177 -32q-104 -2 -190.5 26t-142.5 74t-95 106t-55.5 120t-16.5 118v544h-168v215q72 26 129 69.5t91 90t58 102t34 99t15 88.5q1 5 4.5 8.5t7.5 3.5h244v-424h333v-252h-334v-518q0 -30 6.5 -56t22.5 -52.5t49.5 -41.5t81.5 -14
q78 2 134 29z" />
    <glyph glyph-name="tumblr_sign" unicode="&#xf174;"
d="M1136 75l-62 183q-44 -22 -103 -22q-36 -1 -62 10.5t-38.5 31.5t-17.5 40.5t-5 43.5v398h257v194h-256v326h-188q-8 0 -9 -10q-5 -44 -17.5 -87t-39 -95t-77 -95t-118.5 -68v-165h130v-418q0 -57 21.5 -115t65 -111t121 -85.5t176.5 -30.5q69 1 136.5 25t85.5 50z
M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="long_arrow_down" unicode="&#xf175;" horiz-adv-x="768"
d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
    <glyph glyph-name="long_arrow_up" unicode="&#xf176;" horiz-adv-x="768"
d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
    <glyph glyph-name="long_arrow_left" unicode="&#xf177;" horiz-adv-x="1792"
d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
    <glyph glyph-name="long_arrow_right" unicode="&#xf178;" horiz-adv-x="1792"
d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
    <glyph glyph-name="apple" unicode="&#xf179;" horiz-adv-x="1408"
d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q113 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65
q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
    <glyph glyph-name="windows" unicode="&#xf17a;" horiz-adv-x="1664"
d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
    <glyph glyph-name="android" unicode="&#xf17b;" horiz-adv-x="1408"
d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30
t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5
h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
    <glyph glyph-name="linux" unicode="&#xf17c;"
d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-10 -11 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z
M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7
q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15
q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5
t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19
q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63
q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18q-2 -1 -4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92
q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152
q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-6 0 -8 -2t0 -4
t5 -3q14 -4 18 -31q0 -3 8 2q2 2 2 3zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5
t-30 -18.5t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43
q-19 4 -51 9.5t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49
t-14 -48q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54
q110 143 124 195q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5
t-40.5 -33.5t-61 -14q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5
t15.5 47.5q1 -31 8 -56.5t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
    <glyph glyph-name="dribble" unicode="&#xf17d;"
d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81
t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19
q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -5 6.5 -17t7.5 -17q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6
t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="skype" unicode="&#xf17e;"
d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5
t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5
q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80
q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
    <glyph glyph-name="foursquare" unicode="&#xf180;" horiz-adv-x="1280"
d="M1000 1102l37 194q5 23 -9 40t-35 17h-712q-23 0 -38.5 -17t-15.5 -37v-1101q0 -7 6 -1l291 352q23 26 38 33.5t48 7.5h239q22 0 37 14.5t18 29.5q24 130 37 191q4 21 -11.5 40t-36.5 19h-294q-29 0 -48 19t-19 48v42q0 29 19 47.5t48 18.5h346q18 0 35 13.5t20 29.5z
M1227 1324q-15 -73 -53.5 -266.5t-69.5 -350t-35 -173.5q-6 -22 -9 -32.5t-14 -32.5t-24.5 -33t-38.5 -21t-58 -10h-271q-13 0 -22 -10q-8 -9 -426 -494q-22 -25 -58.5 -28.5t-48.5 5.5q-55 22 -55 98v1410q0 55 38 102.5t120 47.5h888q95 0 127 -53t10 -159zM1227 1324
l-158 -790q4 17 35 173.5t69.5 350t53.5 266.5z" />
    <glyph glyph-name="trello" unicode="&#xf181;"
d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408
q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
    <glyph glyph-name="female" unicode="&#xf182;" horiz-adv-x="1280"
d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43
q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
    <glyph glyph-name="male" unicode="&#xf183;" horiz-adv-x="1024"
d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z
M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
    <glyph glyph-name="gittip" unicode="&#xf184;"
d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="sun" unicode="&#xf185;" horiz-adv-x="1792"
d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4
l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94
q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
    <glyph glyph-name="_366" unicode="&#xf186;"
d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61
t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
    <glyph glyph-name="archive" unicode="&#xf187;" horiz-adv-x="1792"
d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536
q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
    <glyph glyph-name="bug" unicode="&#xf188;" horiz-adv-x="1664"
d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207
q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19
t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
    <glyph glyph-name="vk" unicode="&#xf189;" horiz-adv-x="1920"
d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-40 -51 -55 -72t-30.5 -49.5t-12 -42t13 -34.5t32.5 -43t57 -53q4 -2 5 -4q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58
t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6
q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q16 19 38 30q53 26 239 24
q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2
q39 5 64 -2.5t31 -16.5z" />
    <glyph glyph-name="weibo" unicode="&#xf18a;" horiz-adv-x="1792"
d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12
q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422
q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178
q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z
M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
    <glyph glyph-name="renren" unicode="&#xf18b;"
d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495
q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
    <glyph glyph-name="_372" unicode="&#xf18c;" horiz-adv-x="1408"
d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5
t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56
t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -4 1 -50t-1 -72q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5
t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
    <glyph glyph-name="stack_exchange" unicode="&#xf18d;" horiz-adv-x="1280"
d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z
" />
    <glyph glyph-name="_374" unicode="&#xf18e;"
d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198
t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="arrow_circle_alt_left" unicode="&#xf190;"
d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198
t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="_376" unicode="&#xf191;"
d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z
M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="dot_circle_alt" unicode="&#xf192;"
d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5
t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="_378" unicode="&#xf193;" horiz-adv-x="1664"
d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128
q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 17 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
    <glyph glyph-name="vimeo_square" unicode="&#xf194;"
d="M1292 898q10 216 -161 222q-231 8 -312 -261q44 19 82 19q85 0 74 -96q-4 -57 -74 -167t-105 -110q-43 0 -82 169q-13 54 -45 255q-30 189 -160 177q-59 -7 -164 -100l-81 -72l-81 -72l52 -67q76 52 87 52q57 0 107 -179q15 -55 45 -164.5t45 -164.5q68 -179 164 -179
q157 0 383 294q220 283 226 444zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="_380" unicode="&#xf195;" horiz-adv-x="1152"
d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160
q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
    <glyph glyph-name="plus_square_o" unicode="&#xf196;" horiz-adv-x="1408"
d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832
q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="_382" unicode="&#xf197;" horiz-adv-x="2176"
d="M620 416q-110 -64 -268 -64h-128v64h-64q-13 0 -22.5 23.5t-9.5 56.5q0 24 7 49q-58 2 -96.5 10.5t-38.5 20.5t38.5 20.5t96.5 10.5q-7 25 -7 49q0 33 9.5 56.5t22.5 23.5h64v64h128q158 0 268 -64h1113q42 -7 106.5 -18t80.5 -14q89 -15 150 -40.5t83.5 -47.5t22.5 -40
t-22.5 -40t-83.5 -47.5t-150 -40.5q-16 -3 -80.5 -14t-106.5 -18h-1113zM1739 668q53 -36 53 -92t-53 -92l81 -30q68 48 68 122t-68 122zM625 400h1015q-217 -38 -456 -80q-57 0 -113 -24t-83 -48l-28 -24l-288 -288q-26 -26 -70.5 -45t-89.5 -19h-96l-93 464h29
q157 0 273 64zM352 816h-29l93 464h96q46 0 90 -19t70 -45l288 -288q4 -4 11 -10.5t30.5 -23t48.5 -29t61.5 -23t72.5 -10.5l456 -80h-1015q-116 64 -273 64z" />
    <glyph glyph-name="_383" unicode="&#xf198;" horiz-adv-x="1664"
d="M1519 760q62 0 103.5 -40.5t41.5 -101.5q0 -97 -93 -130l-172 -59l56 -167q7 -21 7 -47q0 -59 -42 -102t-101 -43q-47 0 -85.5 27t-53.5 72l-55 165l-310 -106l55 -164q8 -24 8 -47q0 -59 -42 -102t-102 -43q-47 0 -85 27t-53 72l-55 163l-153 -53q-29 -9 -50 -9
q-61 0 -101.5 40t-40.5 101q0 47 27.5 85t71.5 53l156 53l-105 313l-156 -54q-26 -8 -48 -8q-60 0 -101 40.5t-41 100.5q0 47 27.5 85t71.5 53l157 53l-53 159q-8 24 -8 47q0 60 42 102.5t102 42.5q47 0 85 -27t53 -72l54 -160l310 105l-54 160q-8 24 -8 47q0 59 42.5 102
t101.5 43q47 0 85.5 -27.5t53.5 -71.5l53 -161l162 55q21 6 43 6q60 0 102.5 -39.5t42.5 -98.5q0 -45 -30 -81.5t-74 -51.5l-157 -54l105 -316l164 56q24 8 46 8zM725 498l310 105l-105 315l-310 -107z" />
    <glyph glyph-name="_384" unicode="&#xf199;"
d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM1280 352v436q-31 -35 -64 -55q-34 -22 -132.5 -85t-151.5 -99q-98 -69 -164 -69v0v0q-66 0 -164 69
q-47 32 -142 92.5t-142 92.5q-12 8 -33 27t-31 27v-436q0 -40 28 -68t68 -28h832q40 0 68 28t28 68zM1280 925q0 41 -27.5 70t-68.5 29h-832q-40 0 -68 -28t-28 -68q0 -37 30.5 -76.5t67.5 -64.5q47 -32 137.5 -89t129.5 -83q3 -2 17 -11.5t21 -14t21 -13t23.5 -13
t21.5 -9.5t22.5 -7.5t20.5 -2.5t20.5 2.5t22.5 7.5t21.5 9.5t23.5 13t21 13t21 14t17 11.5l267 174q35 23 66.5 62.5t31.5 73.5z" />
    <glyph glyph-name="_385" unicode="&#xf19a;" horiz-adv-x="1792"
d="M127 640q0 163 67 313l367 -1005q-196 95 -315 281t-119 411zM1415 679q0 -19 -2.5 -38.5t-10 -49.5t-11.5 -44t-17.5 -59t-17.5 -58l-76 -256l-278 826q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-75 1 -202 10q-12 1 -20.5 -5t-11.5 -15t-1.5 -18.5t9 -16.5
t19.5 -8l80 -8l120 -328l-168 -504l-280 832q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-7 0 -23 0.5t-26 0.5q105 160 274.5 253.5t367.5 93.5q147 0 280.5 -53t238.5 -149h-10q-55 0 -92 -40.5t-37 -95.5q0 -12 2 -24t4 -21.5t8 -23t9 -21t12 -22.5t12.5 -21
t14.5 -24t14 -23q63 -107 63 -212zM909 573l237 -647q1 -6 5 -11q-126 -44 -255 -44q-112 0 -217 32zM1570 1009q95 -174 95 -369q0 -209 -104 -385.5t-279 -278.5l235 678q59 169 59 276q0 42 -6 79zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286
t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 -215q173 0 331.5 68t273 182.5t182.5 273t68 331.5t-68 331.5t-182.5 273t-273 182.5t-331.5 68t-331.5 -68t-273 -182.5t-182.5 -273t-68 -331.5t68 -331.5t182.5 -273
t273 -182.5t331.5 -68z" />
    <glyph glyph-name="_386" unicode="&#xf19b;" horiz-adv-x="1792"
d="M1086 1536v-1536l-272 -128q-228 20 -414 102t-293 208.5t-107 272.5q0 140 100.5 263.5t275 205.5t391.5 108v-172q-217 -38 -356.5 -150t-139.5 -255q0 -152 154.5 -267t388.5 -145v1360zM1755 954l37 -390l-525 114l147 83q-119 70 -280 99v172q277 -33 481 -157z" />
    <glyph glyph-name="_387" unicode="&#xf19c;" horiz-adv-x="2048"
d="M960 1536l960 -384v-128h-128q0 -26 -20.5 -45t-48.5 -19h-1526q-28 0 -48.5 19t-20.5 45h-128v128zM256 896h256v-768h128v768h256v-768h128v768h256v-768h128v768h256v-768h59q28 0 48.5 -19t20.5 -45v-64h-1664v64q0 26 20.5 45t48.5 19h59v768zM1851 -64
q28 0 48.5 -19t20.5 -45v-128h-1920v128q0 26 20.5 45t48.5 19h1782z" />
    <glyph glyph-name="_388" unicode="&#xf19d;" horiz-adv-x="2304"
d="M1774 700l18 -316q4 -69 -82 -128t-235 -93.5t-323 -34.5t-323 34.5t-235 93.5t-82 128l18 316l574 -181q22 -7 48 -7t48 7zM2304 1024q0 -23 -22 -31l-1120 -352q-4 -1 -10 -1t-10 1l-652 206q-43 -34 -71 -111.5t-34 -178.5q63 -36 63 -109q0 -69 -58 -107l58 -433
q2 -14 -8 -25q-9 -11 -24 -11h-192q-15 0 -24 11q-10 11 -8 25l58 433q-58 38 -58 107q0 73 65 111q11 207 98 330l-333 104q-22 8 -22 31t22 31l1120 352q4 1 10 1t10 -1l1120 -352q22 -8 22 -31z" />
    <glyph glyph-name="_389" unicode="&#xf19e;"
d="M859 579l13 -707q-62 11 -105 11q-41 0 -105 -11l13 707q-40 69 -168.5 295.5t-216.5 374.5t-181 287q58 -15 108 -15q44 0 111 15q63 -111 133.5 -229.5t167 -276.5t138.5 -227q37 61 109.5 177.5t117.5 190t105 176t107 189.5q54 -14 107 -14q56 0 114 14v0
q-28 -39 -60 -88.5t-49.5 -78.5t-56.5 -96t-49 -84q-146 -248 -353 -610z" />
    <glyph glyph-name="uniF1A0" unicode="&#xf1a0;"
d="M768 750h725q12 -67 12 -128q0 -217 -91 -387.5t-259.5 -266.5t-386.5 -96q-157 0 -299 60.5t-245 163.5t-163.5 245t-60.5 299t60.5 299t163.5 245t245 163.5t299 60.5q300 0 515 -201l-209 -201q-123 119 -306 119q-129 0 -238.5 -65t-173.5 -176.5t-64 -243.5
t64 -243.5t173.5 -176.5t238.5 -65q87 0 160 24t120 60t82 82t51.5 87t22.5 78h-436v264z" />
    <glyph glyph-name="f1a1" unicode="&#xf1a1;" horiz-adv-x="1792"
d="M1095 369q16 -16 0 -31q-62 -62 -199 -62t-199 62q-16 15 0 31q6 6 15 6t15 -6q48 -49 169 -49q120 0 169 49q6 6 15 6t15 -6zM788 550q0 -37 -26 -63t-63 -26t-63.5 26t-26.5 63q0 38 26.5 64t63.5 26t63 -26.5t26 -63.5zM1183 550q0 -37 -26.5 -63t-63.5 -26t-63 26
t-26 63t26 63.5t63 26.5t63.5 -26t26.5 -64zM1434 670q0 49 -35 84t-85 35t-86 -36q-130 90 -311 96l63 283l200 -45q0 -37 26 -63t63 -26t63.5 26.5t26.5 63.5t-26.5 63.5t-63.5 26.5q-54 0 -80 -50l-221 49q-19 5 -25 -16l-69 -312q-180 -7 -309 -97q-35 37 -87 37
q-50 0 -85 -35t-35 -84q0 -35 18.5 -64t49.5 -44q-6 -27 -6 -56q0 -142 140 -243t337 -101q198 0 338 101t140 243q0 32 -7 57q30 15 48 43.5t18 63.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191
t348 71t348 -71t286 -191t191 -286t71 -348z" />
    <glyph glyph-name="_392" unicode="&#xf1a2;"
d="M939 407q13 -13 0 -26q-53 -53 -171 -53t-171 53q-13 13 0 26q5 6 13 6t13 -6q42 -42 145 -42t145 42q5 6 13 6t13 -6zM676 563q0 -31 -23 -54t-54 -23t-54 23t-23 54q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1014 563q0 -31 -23 -54t-54 -23t-54 23t-23 54
q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1229 666q0 42 -30 72t-73 30q-42 0 -73 -31q-113 78 -267 82l54 243l171 -39q1 -32 23.5 -54t53.5 -22q32 0 54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5q-48 0 -69 -43l-189 42q-17 5 -21 -13l-60 -268q-154 -6 -265 -83
q-30 32 -74 32q-43 0 -73 -30t-30 -72q0 -30 16 -55t42 -38q-5 -25 -5 -48q0 -122 120 -208.5t289 -86.5q170 0 290 86.5t120 208.5q0 25 -6 49q25 13 40.5 37.5t15.5 54.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960
q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="_393" unicode="&#xf1a3;"
d="M866 697l90 27v62q0 79 -58 135t-138 56t-138 -55.5t-58 -134.5v-283q0 -20 -14 -33.5t-33 -13.5t-32.5 13.5t-13.5 33.5v120h-151v-122q0 -82 57.5 -139t139.5 -57q81 0 138.5 56.5t57.5 136.5v280q0 19 13.5 33t33.5 14q19 0 32.5 -14t13.5 -33v-54zM1199 502v122h-150
v-126q0 -20 -13.5 -33.5t-33.5 -13.5q-19 0 -32.5 14t-13.5 33v123l-90 -26l-60 28v-123q0 -80 58 -137t139 -57t138.5 57t57.5 139zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103
t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="f1a4" unicode="&#xf1a4;" horiz-adv-x="1920"
d="M1062 824v118q0 42 -30 72t-72 30t-72 -30t-30 -72v-612q0 -175 -126 -299t-303 -124q-178 0 -303.5 125.5t-125.5 303.5v266h328v-262q0 -43 30 -72.5t72 -29.5t72 29.5t30 72.5v620q0 171 126.5 292t301.5 121q176 0 302 -122t126 -294v-136l-195 -58zM1592 602h328
v-266q0 -178 -125.5 -303.5t-303.5 -125.5q-177 0 -303 124.5t-126 300.5v268l131 -61l195 58v-270q0 -42 30 -71.5t72 -29.5t72 29.5t30 71.5v275z" />
    <glyph glyph-name="_395" unicode="&#xf1a5;"
d="M1472 160v480h-704v704h-480q-93 0 -158.5 -65.5t-65.5 -158.5v-480h704v-704h480q93 0 158.5 65.5t65.5 158.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
t84.5 -203.5z" />
    <glyph glyph-name="_396" unicode="&#xf1a6;" horiz-adv-x="2048"
d="M328 1254h204v-983h-532v697h328v286zM328 435v369h-123v-369h123zM614 968v-697h205v697h-205zM614 1254v-204h205v204h-205zM901 968h533v-942h-533v163h328v82h-328v697zM1229 435v369h-123v-369h123zM1516 968h532v-942h-532v163h327v82h-327v697zM1843 435v369h-123
v-369h123z" />
    <glyph glyph-name="_397" unicode="&#xf1a7;"
d="M1046 516q0 -64 -38 -109t-91 -45q-43 0 -70 15v277q28 17 70 17q53 0 91 -45.5t38 -109.5zM703 944q0 -64 -38 -109.5t-91 -45.5q-43 0 -70 15v277q28 17 70 17q53 0 91 -45t38 -109zM1265 513q0 134 -88 229t-213 95q-20 0 -39 -3q-23 -78 -78 -136q-87 -95 -211 -101
v-636l211 41v206q51 -19 117 -19q125 0 213 95t88 229zM922 940q0 134 -88.5 229t-213.5 95q-74 0 -141 -36h-186v-840l211 41v206q55 -19 116 -19q125 0 213.5 95t88.5 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960
q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="_398" unicode="&#xf1a8;" horiz-adv-x="2038"
d="M1222 607q75 3 143.5 -20.5t118 -58.5t101 -94.5t84 -108t75.5 -120.5q33 -56 78.5 -109t75.5 -80.5t99 -88.5q-48 -30 -108.5 -57.5t-138.5 -59t-114 -47.5q-44 37 -74 115t-43.5 164.5t-33 180.5t-42.5 168.5t-72.5 123t-122.5 48.5l-10 -2l-6 -4q4 -5 13 -14
q6 -5 28 -23.5t25.5 -22t19 -18t18 -20.5t11.5 -21t10.5 -27.5t4.5 -31t4 -40.5l1 -33q1 -26 -2.5 -57.5t-7.5 -52t-12.5 -58.5t-11.5 -53q-35 1 -101 -9.5t-98 -10.5q-39 0 -72 10q-2 16 -2 47q0 74 3 96q2 13 31.5 41.5t57 59t26.5 51.5q-24 2 -43 -24
q-36 -53 -111.5 -99.5t-136.5 -46.5q-25 0 -75.5 63t-106.5 139.5t-84 96.5q-6 4 -27 30q-482 -112 -513 -112q-16 0 -28 11t-12 27q0 15 8.5 26.5t22.5 14.5l486 106q-8 14 -8 25t5.5 17.5t16 11.5t20 7t23 4.5t18.5 4.5q4 1 15.5 7.5t17.5 6.5q15 0 28 -16t20 -33
q163 37 172 37q17 0 29.5 -11t12.5 -28q0 -15 -8.5 -26t-23.5 -14l-182 -40l-1 -16q-1 -26 81.5 -117.5t104.5 -91.5q47 0 119 80t72 129q0 36 -23.5 53t-51 18.5t-51 11.5t-23.5 34q0 16 10 34l-68 19q43 44 43 117q0 26 -5 58q82 16 144 16q44 0 71.5 -1.5t48.5 -8.5
t31 -13.5t20.5 -24.5t15.5 -33.5t17 -47.5t24 -60l50 25q-3 -40 -23 -60t-42.5 -21t-40 -6.5t-16.5 -20.5zM1282 842q-5 5 -13.5 15.5t-12 14.5t-10.5 11.5t-10 10.5l-8 8t-8.5 7.5t-8 5t-8.5 4.5q-7 3 -14.5 5t-20.5 2.5t-22 0.5h-32.5h-37.5q-126 0 -217 -43
q16 30 36 46.5t54 29.5t65.5 36t46 36.5t50 55t43.5 50.5q12 -9 28 -31.5t32 -36.5t38 -13l12 1v-76l22 -1q247 95 371 190q28 21 50 39t42.5 37.5t33 31t29.5 34t24 31t24.5 37t23 38t27 47.5t29.5 53l7 9q-2 -53 -43 -139q-79 -165 -205 -264t-306 -142q-14 -3 -42 -7.5
t-50 -9.5t-39 -14q3 -19 24.5 -46t21.5 -34q0 -11 -26 -30zM1061 -79q39 26 131.5 47.5t146.5 21.5q9 0 22.5 -15.5t28 -42.5t26 -50t24 -51t14.5 -33q-121 -45 -244 -45q-61 0 -125 11zM822 568l48 12l109 -177l-73 -48zM1323 51q3 -15 3 -16q0 -7 -17.5 -14.5t-46 -13
t-54 -9.5t-53.5 -7.5t-32 -4.5l-7 43q21 2 60.5 8.5t72 10t60.5 3.5h14zM866 679l-96 -20l-6 17q10 1 32.5 7t34.5 6q19 0 35 -10zM1061 45h31l10 -83l-41 -12v95zM1950 1535v1v-1zM1950 1535l-1 -5l-2 -2l1 3zM1950 1535l1 1z" />
    <glyph glyph-name="_399" unicode="&#xf1a9;"
d="M1167 -50q-5 19 -24 5q-30 -22 -87 -39t-131 -17q-129 0 -193 49q-5 4 -13 4q-11 0 -26 -12q-7 -6 -7.5 -16t7.5 -20q34 -32 87.5 -46t102.5 -12.5t99 4.5q41 4 84.5 20.5t65 30t28.5 20.5q12 12 7 29zM1128 65q-19 47 -39 61q-23 15 -76 15q-47 0 -71 -10
q-29 -12 -78 -56q-26 -24 -12 -44q9 -8 17.5 -4.5t31.5 23.5q3 2 10.5 8.5t10.5 8.5t10 7t11.5 7t12.5 5t15 4.5t16.5 2.5t20.5 1q27 0 44.5 -7.5t23 -14.5t13.5 -22q10 -17 12.5 -20t12.5 1q23 12 14 34zM1483 346q0 22 -5 44.5t-16.5 45t-34 36.5t-52.5 14
q-33 0 -97 -41.5t-129 -83.5t-101 -42q-27 -1 -63.5 19t-76 49t-83.5 58t-100 49t-111 19q-115 -1 -197 -78.5t-84 -178.5q-2 -112 74 -164q29 -20 62.5 -28.5t103.5 -8.5q57 0 132 32.5t134 71t120 70.5t93 31q26 -1 65 -31.5t71.5 -67t68 -67.5t55.5 -32q35 -3 58.5 14
t55.5 63q28 41 42.5 101t14.5 106zM1536 506q0 -164 -62 -304.5t-166 -236t-242.5 -149.5t-290.5 -54t-293 57.5t-247.5 157t-170.5 241.5t-64 302q0 89 19.5 172.5t49 145.5t70.5 118.5t78.5 94t78.5 69.5t64.5 46.5t42.5 24.5q14 8 51 26.5t54.5 28.5t48 30t60.5 44
q36 28 58 72.5t30 125.5q129 -155 186 -193q44 -29 130 -68t129 -66q21 -13 39 -25t60.5 -46.5t76 -70.5t75 -95t69 -122t47 -148.5t19.5 -177.5z" />
    <glyph glyph-name="_400" unicode="&#xf1aa;"
d="M1070 463l-160 -160l-151 -152l-30 -30q-65 -64 -151.5 -87t-171.5 -2q-16 -70 -72 -115t-129 -45q-85 0 -145 60.5t-60 145.5q0 72 44.5 128t113.5 72q-22 86 1 173t88 152l12 12l151 -152l-11 -11q-37 -37 -37 -89t37 -90q37 -37 89 -37t89 37l30 30l151 152l161 160z
M729 1145l12 -12l-152 -152l-12 12q-37 37 -89 37t-89 -37t-37 -89.5t37 -89.5l29 -29l152 -152l160 -160l-151 -152l-161 160l-151 152l-30 30q-68 67 -90 159.5t5 179.5q-70 15 -115 71t-45 129q0 85 60 145.5t145 60.5q76 0 133.5 -49t69.5 -123q84 20 169.5 -3.5
t149.5 -87.5zM1536 78q0 -85 -60 -145.5t-145 -60.5q-74 0 -131 47t-71 118q-86 -28 -179.5 -6t-161.5 90l-11 12l151 152l12 -12q37 -37 89 -37t89 37t37 89t-37 89l-30 30l-152 152l-160 160l152 152l160 -160l152 -152l29 -30q64 -64 87.5 -150.5t2.5 -171.5
q76 -11 126.5 -68.5t50.5 -134.5zM1534 1202q0 -77 -51 -135t-127 -69q26 -85 3 -176.5t-90 -158.5l-12 -12l-151 152l12 12q37 37 37 89t-37 89t-89 37t-89 -37l-30 -30l-152 -152l-160 -160l-152 152l161 160l152 152l29 30q67 67 159 89.5t178 -3.5q11 75 68.5 126
t135.5 51q85 0 145 -60.5t60 -145.5z" />
    <glyph glyph-name="f1ab" unicode="&#xf1ab;"
d="M654 458q-1 -3 -12.5 0.5t-31.5 11.5l-20 9q-44 20 -87 49q-7 5 -41 31.5t-38 28.5q-67 -103 -134 -181q-81 -95 -105 -110q-4 -2 -19.5 -4t-18.5 0q6 4 82 92q21 24 85.5 115t78.5 118q17 30 51 98.5t36 77.5q-8 1 -110 -33q-8 -2 -27.5 -7.5t-34.5 -9.5t-17 -5
q-2 -2 -2 -10.5t-1 -9.5q-5 -10 -31 -15q-23 -7 -47 0q-18 4 -28 21q-4 6 -5 23q6 2 24.5 5t29.5 6q58 16 105 32q100 35 102 35q10 2 43 19.5t44 21.5q9 3 21.5 8t14.5 5.5t6 -0.5q2 -12 -1 -33q0 -2 -12.5 -27t-26.5 -53.5t-17 -33.5q-25 -50 -77 -131l64 -28
q12 -6 74.5 -32t67.5 -28q4 -1 10.5 -25.5t4.5 -30.5zM449 944q3 -15 -4 -28q-12 -23 -50 -38q-30 -12 -60 -12q-26 3 -49 26q-14 15 -18 41l1 3q3 -3 19.5 -5t26.5 0t58 16q36 12 55 14q17 0 21 -17zM1147 815l63 -227l-139 42zM39 15l694 232v1032l-694 -233v-1031z
M1280 332l102 -31l-181 657l-100 31l-216 -536l102 -31l45 110l211 -65zM777 1294l573 -184v380zM1088 -29l158 -13l-54 -160l-40 66q-130 -83 -276 -108q-58 -12 -91 -12h-84q-79 0 -199.5 39t-183.5 85q-8 7 -8 16q0 8 5 13.5t13 5.5q4 0 18 -7.5t30.5 -16.5t20.5 -11
q73 -37 159.5 -61.5t157.5 -24.5q95 0 167 14.5t157 50.5q15 7 30.5 15.5t34 19t28.5 16.5zM1536 1050v-1079l-774 246q-14 -6 -375 -127.5t-368 -121.5q-13 0 -18 13q0 1 -1 3v1078q3 9 4 10q5 6 20 11q107 36 149 50v384l558 -198q2 0 160.5 55t316 108.5t161.5 53.5
q20 0 20 -21v-418z" />
    <glyph glyph-name="_402" unicode="&#xf1ac;" horiz-adv-x="1792"
d="M288 1152q66 0 113 -47t47 -113v-1088q0 -66 -47 -113t-113 -47h-128q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h128zM1664 989q58 -34 93 -93t35 -128v-768q0 -106 -75 -181t-181 -75h-864q-66 0 -113 47t-47 113v1536q0 40 28 68t68 28h672q40 0 88 -20t76 -48
l152 -152q28 -28 48 -76t20 -88v-163zM928 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 512v128q0 14 -9 23
t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128
q14 0 23 9t9 23zM1184 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 256v128q0 14 -9 23t-23 9h-128
q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1536 896v256h-160q-40 0 -68 28t-28 68v160h-640v-512h896z" />
    <glyph glyph-name="_403" unicode="&#xf1ad;"
d="M1344 1536q26 0 45 -19t19 -45v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280zM512 1248v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 992v-64q0 -14 9 -23t23 -9h64q14 0 23 9
t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 736v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 480v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 160v64
q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64
q14 0 23 9t9 23zM384 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 -96v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9
t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM896 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 928v64
q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 160v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64
q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9
t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23z" />
    <glyph glyph-name="_404" unicode="&#xf1ae;" horiz-adv-x="1280"
d="M1188 988l-292 -292v-824q0 -46 -33 -79t-79 -33t-79 33t-33 79v384h-64v-384q0 -46 -33 -79t-79 -33t-79 33t-33 79v824l-292 292q-28 28 -28 68t28 68q29 28 68.5 28t67.5 -28l228 -228h368l228 228q28 28 68 28t68 -28q28 -29 28 -68.5t-28 -67.5zM864 1152
q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
    <glyph glyph-name="uniF1B1" unicode="&#xf1b0;" horiz-adv-x="1664"
d="M780 1064q0 -60 -19 -113.5t-63 -92.5t-105 -39q-76 0 -138 57.5t-92 135.5t-30 151q0 60 19 113.5t63 92.5t105 39q77 0 138.5 -57.5t91.5 -135t30 -151.5zM438 581q0 -80 -42 -139t-119 -59q-76 0 -141.5 55.5t-100.5 133.5t-35 152q0 80 42 139.5t119 59.5
q76 0 141.5 -55.5t100.5 -134t35 -152.5zM832 608q118 0 255 -97.5t229 -237t92 -254.5q0 -46 -17 -76.5t-48.5 -45t-64.5 -20t-76 -5.5q-68 0 -187.5 45t-182.5 45q-66 0 -192.5 -44.5t-200.5 -44.5q-183 0 -183 146q0 86 56 191.5t139.5 192.5t187.5 146t193 59zM1071 819
q-61 0 -105 39t-63 92.5t-19 113.5q0 74 30 151.5t91.5 135t138.5 57.5q61 0 105 -39t63 -92.5t19 -113.5q0 -73 -30 -151t-92 -135.5t-138 -57.5zM1503 923q77 0 119 -59.5t42 -139.5q0 -74 -35 -152t-100.5 -133.5t-141.5 -55.5q-77 0 -119 59t-42 139q0 74 35 152.5
t100.5 134t141.5 55.5z" />
    <glyph glyph-name="_406" unicode="&#xf1b1;" horiz-adv-x="768"
d="M704 1008q0 -145 -57 -243.5t-152 -135.5l45 -821q2 -26 -16 -45t-44 -19h-192q-26 0 -44 19t-16 45l45 821q-95 37 -152 135.5t-57 243.5q0 128 42.5 249.5t117.5 200t160 78.5t160 -78.5t117.5 -200t42.5 -249.5z" />
    <glyph glyph-name="_407" unicode="&#xf1b2;" horiz-adv-x="1792"
d="M896 -93l640 349v636l-640 -233v-752zM832 772l698 254l-698 254l-698 -254zM1664 1024v-768q0 -35 -18 -65t-49 -47l-704 -384q-28 -16 -61 -16t-61 16l-704 384q-31 17 -49 47t-18 65v768q0 40 23 73t61 47l704 256q22 8 44 8t44 -8l704 -256q38 -14 61 -47t23 -73z
" />
    <glyph glyph-name="_408" unicode="&#xf1b3;" horiz-adv-x="2304"
d="M640 -96l384 192v314l-384 -164v-342zM576 358l404 173l-404 173l-404 -173zM1664 -96l384 192v314l-384 -164v-342zM1600 358l404 173l-404 173l-404 -173zM1152 651l384 165v266l-384 -164v-267zM1088 1030l441 189l-441 189l-441 -189zM2176 512v-416q0 -36 -19 -67
t-52 -47l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-4 2 -7 4q-2 -2 -7 -4l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-33 16 -52 47t-19 67v416q0 38 21.5 70t56.5 48l434 186v400q0 38 21.5 70t56.5 48l448 192q23 10 50 10t50 -10l448 -192q35 -16 56.5 -48t21.5 -70
v-400l434 -186q36 -16 57 -48t21 -70z" />
    <glyph glyph-name="_409" unicode="&#xf1b4;" horiz-adv-x="2048"
d="M1848 1197h-511v-124h511v124zM1596 771q-90 0 -146 -52.5t-62 -142.5h408q-18 195 -200 195zM1612 186q63 0 122 32t76 87h221q-100 -307 -427 -307q-214 0 -340.5 132t-126.5 347q0 208 130.5 345.5t336.5 137.5q138 0 240.5 -68t153 -179t50.5 -248q0 -17 -2 -47h-658
q0 -111 57.5 -171.5t166.5 -60.5zM277 236h296q205 0 205 167q0 180 -199 180h-302v-347zM277 773h281q78 0 123.5 36.5t45.5 113.5q0 144 -190 144h-260v-294zM0 1282h594q87 0 155 -14t126.5 -47.5t90 -96.5t31.5 -154q0 -181 -172 -263q114 -32 172 -115t58 -204
q0 -75 -24.5 -136.5t-66 -103.5t-98.5 -71t-121 -42t-134 -13h-611v1260z" />
    <glyph glyph-name="_410" unicode="&#xf1b5;"
d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM499 1041h-371v-787h382q117 0 197 57.5t80 170.5q0 158 -143 200q107 52 107 164q0 57 -19.5 96.5
t-56.5 60.5t-79 29.5t-97 8.5zM477 723h-176v184h163q119 0 119 -90q0 -94 -106 -94zM486 388h-185v217h189q124 0 124 -113q0 -104 -128 -104zM1136 356q-68 0 -104 38t-36 107h411q1 10 1 30q0 132 -74.5 220.5t-203.5 88.5q-128 0 -210 -86t-82 -216q0 -135 79 -217
t213 -82q205 0 267 191h-138q-11 -34 -47.5 -54t-75.5 -20zM1126 722q113 0 124 -122h-254q4 56 39 89t91 33zM964 988h319v-77h-319v77z" />
    <glyph glyph-name="_411" unicode="&#xf1b6;" horiz-adv-x="1792"
d="M1582 954q0 -101 -71.5 -172.5t-172.5 -71.5t-172.5 71.5t-71.5 172.5t71.5 172.5t172.5 71.5t172.5 -71.5t71.5 -172.5zM812 212q0 104 -73 177t-177 73q-27 0 -54 -6l104 -42q77 -31 109.5 -106.5t1.5 -151.5q-31 -77 -107 -109t-152 -1q-21 8 -62 24.5t-61 24.5
q32 -60 91 -96.5t130 -36.5q104 0 177 73t73 177zM1642 953q0 126 -89.5 215.5t-215.5 89.5q-127 0 -216.5 -89.5t-89.5 -215.5q0 -127 89.5 -216t216.5 -89q126 0 215.5 89t89.5 216zM1792 953q0 -189 -133.5 -322t-321.5 -133l-437 -319q-12 -129 -109 -218t-229 -89
q-121 0 -214 76t-118 192l-230 92v429l389 -157q79 48 173 48q13 0 35 -2l284 407q2 187 135.5 319t320.5 132q188 0 321.5 -133.5t133.5 -321.5z" />
    <glyph glyph-name="_412" unicode="&#xf1b7;"
d="M1242 889q0 80 -57 136.5t-137 56.5t-136.5 -57t-56.5 -136q0 -80 56.5 -136.5t136.5 -56.5t137 56.5t57 136.5zM632 301q0 -83 -58 -140.5t-140 -57.5q-56 0 -103 29t-72 77q52 -20 98 -40q60 -24 120 1.5t85 86.5q24 60 -1.5 120t-86.5 84l-82 33q22 5 42 5
q82 0 140 -57.5t58 -140.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v153l172 -69q20 -92 93.5 -152t168.5 -60q104 0 181 70t87 173l345 252q150 0 255.5 105.5t105.5 254.5q0 150 -105.5 255.5t-255.5 105.5
q-148 0 -253 -104.5t-107 -252.5l-225 -322q-9 1 -28 1q-75 0 -137 -37l-297 119v468q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5zM1289 887q0 -100 -71 -170.5t-171 -70.5t-170.5 70.5t-70.5 170.5t70.5 171t170.5 71q101 0 171.5 -70.5t70.5 -171.5z
" />
    <glyph glyph-name="_413" unicode="&#xf1b8;" horiz-adv-x="1792"
d="M836 367l-15 -368l-2 -22l-420 29q-36 3 -67 31.5t-47 65.5q-11 27 -14.5 55t4 65t12 55t21.5 64t19 53q78 -12 509 -28zM449 953l180 -379l-147 92q-63 -72 -111.5 -144.5t-72.5 -125t-39.5 -94.5t-18.5 -63l-4 -21l-190 357q-17 26 -18 56t6 47l8 18q35 63 114 188
l-140 86zM1680 436l-188 -359q-12 -29 -36.5 -46.5t-43.5 -20.5l-18 -4q-71 -7 -219 -12l8 -164l-230 367l211 362l7 -173q170 -16 283 -5t170 33zM895 1360q-47 -63 -265 -435l-317 187l-19 12l225 356q20 31 60 45t80 10q24 -2 48.5 -12t42 -21t41.5 -33t36 -34.5
t36 -39.5t32 -35zM1550 1053l212 -363q18 -37 12.5 -76t-27.5 -74q-13 -20 -33 -37t-38 -28t-48.5 -22t-47 -16t-51.5 -14t-46 -12q-34 72 -265 436l313 195zM1407 1279l142 83l-220 -373l-419 20l151 86q-34 89 -75 166t-75.5 123.5t-64.5 80t-47 46.5l-17 13l405 -1
q31 3 58 -10.5t39 -28.5l11 -15q39 -61 112 -190z" />
    <glyph glyph-name="_414" unicode="&#xf1b9;" horiz-adv-x="2048"
d="M480 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM516 768h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5zM1888 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM2048 544v-384
q0 -14 -9 -23t-23 -9h-96v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-1024v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5t179 63.5h768q98 0 179 -63.5t104 -157.5
l105 -419h28q93 0 158.5 -65.5t65.5 -158.5z" />
    <glyph glyph-name="_415" unicode="&#xf1ba;" horiz-adv-x="2048"
d="M1824 640q93 0 158.5 -65.5t65.5 -158.5v-384q0 -14 -9 -23t-23 -9h-96v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-1024v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5
t179 63.5h128v224q0 14 9 23t23 9h448q14 0 23 -9t9 -23v-224h128q98 0 179 -63.5t104 -157.5l105 -419h28zM320 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM516 640h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5z
M1728 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47z" />
    <glyph glyph-name="_416" unicode="&#xf1bb;"
d="M1504 64q0 -26 -19 -45t-45 -19h-462q1 -17 6 -87.5t5 -108.5q0 -25 -18 -42.5t-43 -17.5h-320q-25 0 -43 17.5t-18 42.5q0 38 5 108.5t6 87.5h-462q-26 0 -45 19t-19 45t19 45l402 403h-229q-26 0 -45 19t-19 45t19 45l402 403h-197q-26 0 -45 19t-19 45t19 45l384 384
q19 19 45 19t45 -19l384 -384q19 -19 19 -45t-19 -45t-45 -19h-197l402 -403q19 -19 19 -45t-19 -45t-45 -19h-229l402 -403q19 -19 19 -45z" />
    <glyph glyph-name="_417" unicode="&#xf1bc;"
d="M1127 326q0 32 -30 51q-193 115 -447 115q-133 0 -287 -34q-42 -9 -42 -52q0 -20 13.5 -34.5t35.5 -14.5q5 0 37 8q132 27 243 27q226 0 397 -103q19 -11 33 -11q19 0 33 13.5t14 34.5zM1223 541q0 40 -35 61q-237 141 -548 141q-153 0 -303 -42q-48 -13 -48 -64
q0 -25 17.5 -42.5t42.5 -17.5q7 0 37 8q122 33 251 33q279 0 488 -124q24 -13 38 -13q25 0 42.5 17.5t17.5 42.5zM1331 789q0 47 -40 70q-126 73 -293 110.5t-343 37.5q-204 0 -364 -47q-23 -7 -38.5 -25.5t-15.5 -48.5q0 -31 20.5 -52t51.5 -21q11 0 40 8q133 37 307 37
q159 0 309.5 -34t253.5 -95q21 -12 40 -12q29 0 50.5 20.5t21.5 51.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="_418" unicode="&#xf1bd;" horiz-adv-x="1024"
d="M1024 1233l-303 -582l24 -31h279v-415h-507l-44 -30l-142 -273l-30 -30h-301v303l303 583l-24 30h-279v415h507l44 30l142 273l30 30h301v-303z" />
    <glyph glyph-name="_419" unicode="&#xf1be;" horiz-adv-x="2304"
d="M784 164l16 241l-16 523q-1 10 -7.5 17t-16.5 7q-9 0 -16 -7t-7 -17l-14 -523l14 -241q1 -10 7.5 -16.5t15.5 -6.5q22 0 24 23zM1080 193l11 211l-12 586q0 16 -13 24q-8 5 -16 5t-16 -5q-13 -8 -13 -24l-1 -6l-10 -579q0 -1 11 -236v-1q0 -10 6 -17q9 -11 23 -11
q11 0 20 9q9 7 9 20zM35 533l20 -128l-20 -126q-2 -9 -9 -9t-9 9l-17 126l17 128q2 9 9 9t9 -9zM121 612l26 -207l-26 -203q-2 -9 -10 -9q-9 0 -9 10l-23 202l23 207q0 9 9 9q8 0 10 -9zM401 159zM213 650l25 -245l-25 -237q0 -11 -11 -11q-10 0 -12 11l-21 237l21 245
q2 12 12 12q11 0 11 -12zM307 657l23 -252l-23 -244q-2 -13 -14 -13q-13 0 -13 13l-21 244l21 252q0 13 13 13q12 0 14 -13zM401 639l21 -234l-21 -246q-2 -16 -16 -16q-6 0 -10.5 4.5t-4.5 11.5l-20 246l20 234q0 6 4.5 10.5t10.5 4.5q14 0 16 -15zM784 164zM495 785
l21 -380l-21 -246q0 -7 -5 -12.5t-12 -5.5q-16 0 -18 18l-18 246l18 380q2 18 18 18q7 0 12 -5.5t5 -12.5zM589 871l19 -468l-19 -244q0 -8 -5.5 -13.5t-13.5 -5.5q-18 0 -20 19l-16 244l16 468q2 19 20 19q8 0 13.5 -5.5t5.5 -13.5zM687 911l18 -506l-18 -242
q-2 -21 -22 -21q-19 0 -21 21l-16 242l16 506q0 9 6.5 15.5t14.5 6.5q9 0 15 -6.5t7 -15.5zM1079 169v0v0v0zM881 915l15 -510l-15 -239q0 -10 -7.5 -17.5t-17.5 -7.5t-17 7t-8 18l-14 239l14 510q0 11 7.5 18t17.5 7t17.5 -7t7.5 -18zM980 896l14 -492l-14 -236
q0 -11 -8 -19t-19 -8t-19 8t-9 19l-12 236l12 492q1 12 9 20t19 8t18.5 -8t8.5 -20zM1192 404l-14 -231v0q0 -13 -9 -22t-22 -9t-22 9t-10 22l-6 114l-6 117l12 636v3q2 15 12 24q9 7 20 7q8 0 15 -5q14 -8 16 -26zM2304 423q0 -117 -83 -199.5t-200 -82.5h-786
q-13 2 -22 11t-9 22v899q0 23 28 33q85 34 181 34q195 0 338 -131.5t160 -323.5q53 22 110 22q117 0 200 -83t83 -201z" />
    <glyph glyph-name="uniF1C0" unicode="&#xf1c0;"
d="M768 768q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 0q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127
t443 -43zM768 384q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 1536q208 0 385 -34.5t280 -93.5t103 -128v-128q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5
t-103 128v128q0 69 103 128t280 93.5t385 34.5z" />
    <glyph glyph-name="uniF1C1" unicode="&#xf1c1;"
d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
M894 465q33 -26 84 -56q59 7 117 7q147 0 177 -49q16 -22 2 -52q0 -1 -1 -2l-2 -2v-1q-6 -38 -71 -38q-48 0 -115 20t-130 53q-221 -24 -392 -83q-153 -262 -242 -262q-15 0 -28 7l-24 12q-1 1 -6 5q-10 10 -6 36q9 40 56 91.5t132 96.5q14 9 23 -6q2 -2 2 -4q52 85 107 197
q68 136 104 262q-24 82 -30.5 159.5t6.5 127.5q11 40 42 40h21h1q23 0 35 -15q18 -21 9 -68q-2 -6 -4 -8q1 -3 1 -8v-30q-2 -123 -14 -192q55 -164 146 -238zM318 54q52 24 137 158q-51 -40 -87.5 -84t-49.5 -74zM716 974q-15 -42 -2 -132q1 7 7 44q0 3 7 43q1 4 4 8
q-1 1 -1 2q-1 2 -1 3q-1 22 -13 36q0 -1 -1 -2v-2zM592 313q135 54 284 81q-2 1 -13 9.5t-16 13.5q-76 67 -127 176q-27 -86 -83 -197q-30 -56 -45 -83zM1238 329q-24 24 -140 24q76 -28 124 -28q14 0 18 1q0 1 -2 3z" />
    <glyph glyph-name="_422" unicode="&#xf1c2;"
d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
M233 768v-107h70l164 -661h159l128 485q7 20 10 46q2 16 2 24h4l3 -24q1 -3 3.5 -20t5.5 -26l128 -485h159l164 661h70v107h-300v-107h90l-99 -438q-5 -20 -7 -46l-2 -21h-4q0 3 -0.5 6.5t-1.5 8t-1 6.5q-1 5 -4 21t-5 25l-144 545h-114l-144 -545q-2 -9 -4.5 -24.5
t-3.5 -21.5l-4 -21h-4l-2 21q-2 26 -7 46l-99 438h90v107h-300z" />
    <glyph glyph-name="_423" unicode="&#xf1c3;"
d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
M429 106v-106h281v106h-75l103 161q5 7 10 16.5t7.5 13.5t3.5 4h2q1 -4 5 -10q2 -4 4.5 -7.5t6 -8t6.5 -8.5l107 -161h-76v-106h291v106h-68l-192 273l195 282h67v107h-279v-107h74l-103 -159q-4 -7 -10 -16.5t-9 -13.5l-2 -3h-2q-1 4 -5 10q-6 11 -17 23l-106 159h76v107
h-290v-107h68l189 -272l-194 -283h-68z" />
    <glyph glyph-name="_424" unicode="&#xf1c4;"
d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
M416 106v-106h327v106h-93v167h137q76 0 118 15q67 23 106.5 87t39.5 146q0 81 -37 141t-100 87q-48 19 -130 19h-368v-107h92v-555h-92zM769 386h-119v268h120q52 0 83 -18q56 -33 56 -115q0 -89 -62 -120q-31 -15 -78 -15z" />
    <glyph glyph-name="_425" unicode="&#xf1c5;"
d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
M1280 320v-320h-1024v192l192 192l128 -128l384 384zM448 512q-80 0 -136 56t-56 136t56 136t136 56t136 -56t56 -136t-56 -136t-136 -56z" />
    <glyph glyph-name="_426" unicode="&#xf1c6;"
d="M640 1152v128h-128v-128h128zM768 1024v128h-128v-128h128zM640 896v128h-128v-128h128zM768 768v128h-128v-128h128zM1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400
v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-128v-128h-128v128h-512v-1536h1280zM781 593l107 -349q8 -27 8 -52q0 -83 -72.5 -137.5t-183.5 -54.5t-183.5 54.5t-72.5 137.5q0 25 8 52q21 63 120 396v128h128v-128h79
q22 0 39 -13t23 -34zM640 128q53 0 90.5 19t37.5 45t-37.5 45t-90.5 19t-90.5 -19t-37.5 -45t37.5 -45t90.5 -19z" />
    <glyph glyph-name="_427" unicode="&#xf1c7;"
d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
M620 686q20 -8 20 -30v-544q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-166 167h-131q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h131l166 167q16 15 35 7zM1037 -3q31 0 50 24q129 159 129 363t-129 363q-16 21 -43 24t-47 -14q-21 -17 -23.5 -43.5t14.5 -47.5
q100 -123 100 -282t-100 -282q-17 -21 -14.5 -47.5t23.5 -42.5q18 -15 40 -15zM826 145q27 0 47 20q87 93 87 219t-87 219q-18 19 -45 20t-46 -17t-20 -44.5t18 -46.5q52 -57 52 -131t-52 -131q-19 -20 -18 -46.5t20 -44.5q20 -17 44 -17z" />
    <glyph glyph-name="_428" unicode="&#xf1c8;"
d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
M768 768q52 0 90 -38t38 -90v-384q0 -52 -38 -90t-90 -38h-384q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h384zM1260 766q20 -8 20 -30v-576q0 -22 -20 -30q-8 -2 -12 -2q-14 0 -23 9l-265 266v90l265 266q9 9 23 9q4 0 12 -2z" />
    <glyph glyph-name="_429" unicode="&#xf1c9;"
d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
M480 768q8 11 21 12.5t24 -6.5l51 -38q11 -8 12.5 -21t-6.5 -24l-182 -243l182 -243q8 -11 6.5 -24t-12.5 -21l-51 -38q-11 -8 -24 -6.5t-21 12.5l-226 301q-14 19 0 38zM1282 467q14 -19 0 -38l-226 -301q-8 -11 -21 -12.5t-24 6.5l-51 38q-11 8 -12.5 21t6.5 24l182 243
l-182 243q-8 11 -6.5 24t12.5 21l51 38q11 8 24 6.5t21 -12.5zM662 6q-13 2 -20.5 13t-5.5 24l138 831q2 13 13 20.5t24 5.5l63 -10q13 -2 20.5 -13t5.5 -24l-138 -831q-2 -13 -13 -20.5t-24 -5.5z" />
    <glyph glyph-name="_430" unicode="&#xf1ca;"
d="M1497 709v-198q-101 -23 -198 -23q-65 -136 -165.5 -271t-181.5 -215.5t-128 -106.5q-80 -45 -162 3q-28 17 -60.5 43.5t-85 83.5t-102.5 128.5t-107.5 184t-105.5 244t-91.5 314.5t-70.5 390h283q26 -218 70 -398.5t104.5 -317t121.5 -235.5t140 -195q169 169 287 406
q-142 72 -223 220t-81 333q0 192 104 314.5t284 122.5q178 0 273 -105.5t95 -297.5q0 -159 -58 -286q-7 -1 -19.5 -3t-46 -2t-63 6t-62 25.5t-50.5 51.5q31 103 31 184q0 87 -29 132t-79 45q-53 0 -85 -49.5t-32 -140.5q0 -186 105 -293.5t267 -107.5q62 0 121 14z" />
    <glyph glyph-name="_431" unicode="&#xf1cb;" horiz-adv-x="1792"
d="M216 367l603 -402v359l-334 223zM154 511l193 129l-193 129v-258zM973 -35l603 402l-269 180l-334 -223v-359zM896 458l272 182l-272 182l-272 -182zM485 733l334 223v359l-603 -402zM1445 640l193 -129v258zM1307 733l269 180l-603 402v-359zM1792 913v-546
q0 -41 -34 -64l-819 -546q-21 -13 -43 -13t-43 13l-819 546q-34 23 -34 64v546q0 41 34 64l819 546q21 13 43 13t43 -13l819 -546q34 -23 34 -64z" />
    <glyph glyph-name="_432" unicode="&#xf1cc;" horiz-adv-x="2048"
d="M1800 764q111 -46 179.5 -145.5t68.5 -221.5q0 -164 -118 -280.5t-285 -116.5q-4 0 -11.5 0.5t-10.5 0.5h-1209h-1h-2h-5q-170 10 -288 125.5t-118 280.5q0 110 55 203t147 147q-12 39 -12 82q0 115 82 196t199 81q95 0 172 -58q75 154 222.5 248t326.5 94
q166 0 306 -80.5t221.5 -218.5t81.5 -301q0 -6 -0.5 -18t-0.5 -18zM468 498q0 -122 84 -193t208 -71q137 0 240 99q-16 20 -47.5 56.5t-43.5 50.5q-67 -65 -144 -65q-55 0 -93.5 33.5t-38.5 87.5q0 53 38.5 87t91.5 34q44 0 84.5 -21t73 -55t65 -75t69 -82t77 -75t97 -55
t121.5 -21q121 0 204.5 71.5t83.5 190.5q0 121 -84 192t-207 71q-143 0 -241 -97l93 -108q66 64 142 64q52 0 92 -33t40 -84q0 -57 -37 -91.5t-94 -34.5q-43 0 -82.5 21t-72 55t-65.5 75t-69.5 82t-77.5 75t-96.5 55t-118.5 21q-122 0 -207 -70.5t-85 -189.5z" />
    <glyph glyph-name="_433" unicode="&#xf1cd;" horiz-adv-x="1792"
d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 1408q-190 0 -361 -90l194 -194q82 28 167 28t167 -28l194 194q-171 90 -361 90zM218 279l194 194
q-28 82 -28 167t28 167l-194 194q-90 -171 -90 -361t90 -361zM896 -128q190 0 361 90l-194 194q-82 -28 -167 -28t-167 28l-194 -194q171 -90 361 -90zM896 256q159 0 271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5
t271.5 -112.5zM1380 473l194 -194q90 171 90 361t-90 361l-194 -194q28 -82 28 -167t-28 -167z" />
    <glyph glyph-name="_434" unicode="&#xf1ce;" horiz-adv-x="1792"
d="M1760 640q0 -176 -68.5 -336t-184 -275.5t-275.5 -184t-336 -68.5t-336 68.5t-275.5 184t-184 275.5t-68.5 336q0 213 97 398.5t265 305.5t374 151v-228q-221 -45 -366.5 -221t-145.5 -406q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5
t136.5 204t51 248.5q0 230 -145.5 406t-366.5 221v228q206 -31 374 -151t265 -305.5t97 -398.5z" />
    <glyph glyph-name="uniF1D0" unicode="&#xf1d0;" horiz-adv-x="1792"
d="M19 662q8 217 116 406t305 318h5q0 -1 -1 -3q-8 -8 -28 -33.5t-52 -76.5t-60 -110.5t-44.5 -135.5t-14 -150.5t39 -157.5t108.5 -154q50 -50 102 -69.5t90.5 -11.5t69.5 23.5t47 32.5l16 16q39 51 53 116.5t6.5 122.5t-21 107t-26.5 80l-14 29q-10 25 -30.5 49.5t-43 41
t-43.5 29.5t-35 19l-13 6l104 115q39 -17 78 -52t59 -61l19 -27q1 48 -18.5 103.5t-40.5 87.5l-20 31l161 183l160 -181q-33 -46 -52.5 -102.5t-22.5 -90.5l-4 -33q22 37 61.5 72.5t67.5 52.5l28 17l103 -115q-44 -14 -85 -50t-60 -65l-19 -29q-31 -56 -48 -133.5t-7 -170
t57 -156.5q33 -45 77.5 -60.5t85 -5.5t76 26.5t57.5 33.5l21 16q60 53 96.5 115t48.5 121.5t10 121.5t-18 118t-37 107.5t-45.5 93t-45 72t-34.5 47.5l-13 17q-14 13 -7 13l10 -3q40 -29 62.5 -46t62 -50t64 -58t58.5 -65t55.5 -77t45.5 -88t38 -103t23.5 -117t10.5 -136
q3 -259 -108 -465t-312 -321t-456 -115q-185 0 -351 74t-283.5 198t-184 293t-60.5 353z" />
    <glyph glyph-name="uniF1D1" unicode="&#xf1d1;" horiz-adv-x="1792"
d="M874 -102v-66q-208 6 -385 109.5t-283 275.5l58 34q29 -49 73 -99l65 57q148 -168 368 -212l-17 -86q65 -12 121 -13zM276 428l-83 -28q22 -60 49 -112l-57 -33q-98 180 -98 385t98 385l57 -33q-30 -56 -49 -112l82 -28q-35 -100 -35 -212q0 -109 36 -212zM1528 251
l58 -34q-106 -172 -283 -275.5t-385 -109.5v66q56 1 121 13l-17 86q220 44 368 212l65 -57q44 50 73 99zM1377 805l-233 -80q14 -42 14 -85t-14 -85l232 -80q-31 -92 -98 -169l-185 162q-57 -67 -147 -85l48 -241q-52 -10 -98 -10t-98 10l48 241q-90 18 -147 85l-185 -162
q-67 77 -98 169l232 80q-14 42 -14 85t14 85l-233 80q33 93 99 169l185 -162q59 68 147 86l-48 240q44 10 98 10t98 -10l-48 -240q88 -18 147 -86l185 162q66 -76 99 -169zM874 1448v-66q-65 -2 -121 -13l17 -86q-220 -42 -368 -211l-65 56q-38 -42 -73 -98l-57 33
q106 172 282 275.5t385 109.5zM1705 640q0 -205 -98 -385l-57 33q27 52 49 112l-83 28q36 103 36 212q0 112 -35 212l82 28q-19 56 -49 112l57 33q98 -180 98 -385zM1585 1063l-57 -33q-35 56 -73 98l-65 -56q-148 169 -368 211l17 86q-56 11 -121 13v66q209 -6 385 -109.5
t282 -275.5zM1748 640q0 173 -67.5 331t-181.5 272t-272 181.5t-331 67.5t-331 -67.5t-272 -181.5t-181.5 -272t-67.5 -331t67.5 -331t181.5 -272t272 -181.5t331 -67.5t331 67.5t272 181.5t181.5 272t67.5 331zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71
t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
    <glyph glyph-name="uniF1D2" unicode="&#xf1d2;"
d="M582 228q0 -66 -93 -66q-107 0 -107 63q0 64 98 64q102 0 102 -61zM546 694q0 -85 -74 -85q-77 0 -77 84q0 90 77 90q36 0 55 -25.5t19 -63.5zM712 769v125q-78 -29 -135 -29q-50 29 -110 29q-86 0 -145 -57t-59 -143q0 -50 29.5 -102t73.5 -67v-3q-38 -17 -38 -85
q0 -53 41 -77v-3q-113 -37 -113 -139q0 -45 20 -78.5t54 -51t72 -25.5t81 -8q224 0 224 188q0 67 -48 99t-126 46q-27 5 -51.5 20.5t-24.5 39.5q0 44 49 52q77 15 122 70t45 134q0 24 -10 52q37 9 49 13zM771 350h137q-2 27 -2 82v387q0 46 2 69h-137q3 -23 3 -71v-392
q0 -50 -3 -75zM1280 366v121q-30 -21 -68 -21q-53 0 -53 82v225h52q9 0 26.5 -1t26.5 -1v117h-105q0 82 3 102h-140q4 -24 4 -55v-47h-60v-117q36 3 37 3q3 0 11 -0.5t12 -0.5v-2h-2v-217q0 -37 2.5 -64t11.5 -56.5t24.5 -48.5t43.5 -31t66 -12q64 0 108 24zM924 1072
q0 36 -24 63.5t-60 27.5t-60.5 -27t-24.5 -64q0 -36 25 -62.5t60 -26.5t59.5 27t24.5 62zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="_438" unicode="&#xf1d3;" horiz-adv-x="1792"
d="M595 22q0 100 -165 100q-158 0 -158 -104q0 -101 172 -101q151 0 151 105zM536 777q0 61 -30 102t-89 41q-124 0 -124 -145q0 -135 124 -135q119 0 119 137zM805 1101v-202q-36 -12 -79 -22q16 -43 16 -84q0 -127 -73 -216.5t-197 -112.5q-40 -8 -59.5 -27t-19.5 -58
q0 -31 22.5 -51.5t58 -32t78.5 -22t86 -25.5t78.5 -37.5t58 -64t22.5 -98.5q0 -304 -363 -304q-69 0 -130 12.5t-116 41t-87.5 82t-32.5 127.5q0 165 182 225v4q-67 41 -67 126q0 109 63 137v4q-72 24 -119.5 108.5t-47.5 165.5q0 139 95 231.5t235 92.5q96 0 178 -47
q98 0 218 47zM1123 220h-222q4 45 4 134v609q0 94 -4 128h222q-4 -33 -4 -124v-613q0 -89 4 -134zM1724 442v-196q-71 -39 -174 -39q-62 0 -107 20t-70 50t-39.5 78t-18.5 92t-4 103v351h2v4q-7 0 -19 1t-18 1q-21 0 -59 -6v190h96v76q0 54 -6 89h227q-6 -41 -6 -165h171
v-190q-15 0 -43.5 2t-42.5 2h-85v-365q0 -131 87 -131q61 0 109 33zM1148 1389q0 -58 -39 -101.5t-96 -43.5q-58 0 -98 43.5t-40 101.5q0 59 39.5 103t98.5 44q58 0 96.5 -44.5t38.5 -102.5z" />
    <glyph glyph-name="_439" unicode="&#xf1d4;"
d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="uniF1D5" unicode="&#xf1d5;" horiz-adv-x="1280"
d="M842 964q0 -80 -57 -136.5t-136 -56.5q-60 0 -111 35q-62 -67 -115 -146q-247 -371 -202 -859q1 -22 -12.5 -38.5t-34.5 -18.5h-5q-20 0 -35 13.5t-17 33.5q-14 126 -3.5 247.5t29.5 217t54 186t69 155.5t74 125q61 90 132 165q-16 35 -16 77q0 80 56.5 136.5t136.5 56.5
t136.5 -56.5t56.5 -136.5zM1223 953q0 -158 -78 -292t-212.5 -212t-292.5 -78q-64 0 -131 14q-21 5 -32.5 23.5t-6.5 39.5q5 20 23 31.5t39 7.5q51 -13 108 -13q97 0 186 38t153 102t102 153t38 186t-38 186t-102 153t-153 102t-186 38t-186 -38t-153 -102t-102 -153
t-38 -186q0 -114 52 -218q10 -20 3.5 -40t-25.5 -30t-39.5 -3t-30.5 26q-64 123 -64 265q0 119 46.5 227t124.5 186t186 124t226 46q158 0 292.5 -78t212.5 -212.5t78 -292.5z" />
    <glyph glyph-name="uniF1D6" unicode="&#xf1d6;" horiz-adv-x="1792"
d="M270 730q-8 19 -8 52q0 20 11 49t24 45q-1 22 7.5 53t22.5 43q0 139 92.5 288.5t217.5 209.5q139 66 324 66q133 0 266 -55q49 -21 90 -48t71 -56t55 -68t42 -74t32.5 -84.5t25.5 -89.5t22 -98l1 -5q55 -83 55 -150q0 -14 -9 -40t-9 -38q0 -1 1.5 -3.5t3.5 -5t2 -3.5
q77 -114 120.5 -214.5t43.5 -208.5q0 -43 -19.5 -100t-55.5 -57q-9 0 -19.5 7.5t-19 17.5t-19 26t-16 26.5t-13.5 26t-9 17.5q-1 1 -3 1l-5 -4q-59 -154 -132 -223q20 -20 61.5 -38.5t69 -41.5t35.5 -65q-2 -4 -4 -16t-7 -18q-64 -97 -302 -97q-53 0 -110.5 9t-98 20
t-104.5 30q-15 5 -23 7q-14 4 -46 4.5t-40 1.5q-41 -45 -127.5 -65t-168.5 -20q-35 0 -69 1.5t-93 9t-101 20.5t-74.5 40t-32.5 64q0 40 10 59.5t41 48.5q11 2 40.5 13t49.5 12q4 0 14 2q2 2 2 4l-2 3q-48 11 -108 105.5t-73 156.5l-5 3q-4 0 -12 -20q-18 -41 -54.5 -74.5
t-77.5 -37.5h-1q-4 0 -6 4.5t-5 5.5q-23 54 -23 100q0 275 252 466z" />
    <glyph glyph-name="uniF1D7" unicode="&#xf1d7;" horiz-adv-x="2048"
d="M580 1075q0 41 -25 66t-66 25q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 66 24.5t25 65.5zM1323 568q0 28 -25.5 50t-65.5 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q40 0 65.5 22t25.5 51zM1087 1075q0 41 -24.5 66t-65.5 25
q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 65.5 24.5t24.5 65.5zM1722 568q0 28 -26 50t-65 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q39 0 65 22t26 51zM1456 965q-31 4 -70 4q-169 0 -311 -77t-223.5 -208.5t-81.5 -287.5
q0 -78 23 -152q-35 -3 -68 -3q-26 0 -50 1.5t-55 6.5t-44.5 7t-54.5 10.5t-50 10.5l-253 -127l72 218q-290 203 -290 490q0 169 97.5 311t264 223.5t363.5 81.5q176 0 332.5 -66t262 -182.5t136.5 -260.5zM2048 404q0 -117 -68.5 -223.5t-185.5 -193.5l55 -181l-199 109
q-150 -37 -218 -37q-169 0 -311 70.5t-223.5 191.5t-81.5 264t81.5 264t223.5 191.5t311 70.5q161 0 303 -70.5t227.5 -192t85.5 -263.5z" />
    <glyph glyph-name="_443" unicode="&#xf1d8;" horiz-adv-x="1792"
d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-453 185l-242 -295q-18 -23 -49 -23q-13 0 -22 4q-19 7 -30.5 23.5t-11.5 36.5v349l864 1059l-1069 -925l-395 162q-37 14 -40 55q-2 40 32 59l1664 960q15 9 32 9q20 0 36 -11z" />
    <glyph glyph-name="_444" unicode="&#xf1d9;" horiz-adv-x="1792"
d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-527 215l-298 -327q-18 -21 -47 -21q-14 0 -23 4q-19 7 -30 23.5t-11 36.5v452l-472 193q-37 14 -40 55q-3 39 32 59l1664 960q35 21 68 -2zM1422 26l221 1323l-1434 -827l336 -137
l863 639l-478 -797z" />
    <glyph glyph-name="_445" unicode="&#xf1da;"
d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5
t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298zM896 928v-448q0 -14 -9 -23
t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23z" />
    <glyph glyph-name="_446" unicode="&#xf1db;"
d="M768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="_447" unicode="&#xf1dc;" horiz-adv-x="1792"
d="M1682 -128q-44 0 -132.5 3.5t-133.5 3.5q-44 0 -132 -3.5t-132 -3.5q-24 0 -37 20.5t-13 45.5q0 31 17 46t39 17t51 7t45 15q33 21 33 140l-1 391q0 21 -1 31q-13 4 -50 4h-675q-38 0 -51 -4q-1 -10 -1 -31l-1 -371q0 -142 37 -164q16 -10 48 -13t57 -3.5t45 -15
t20 -45.5q0 -26 -12.5 -48t-36.5 -22q-47 0 -139.5 3.5t-138.5 3.5q-43 0 -128 -3.5t-127 -3.5q-23 0 -35.5 21t-12.5 45q0 30 15.5 45t36 17.5t47.5 7.5t42 15q33 23 33 143l-1 57v813q0 3 0.5 26t0 36.5t-1.5 38.5t-3.5 42t-6.5 36.5t-11 31.5t-16 18q-15 10 -45 12t-53 2
t-41 14t-18 45q0 26 12 48t36 22q46 0 138.5 -3.5t138.5 -3.5q42 0 126.5 3.5t126.5 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17 -43.5t-38.5 -14.5t-49.5 -4t-43 -13q-35 -21 -35 -160l1 -320q0 -21 1 -32q13 -3 39 -3h699q25 0 38 3q1 11 1 32l1 320q0 139 -35 160
q-18 11 -58.5 12.5t-66 13t-25.5 49.5q0 26 12.5 48t37.5 22q44 0 132 -3.5t132 -3.5q43 0 129 3.5t129 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17.5 -44t-40 -14.5t-51.5 -3t-44 -12.5q-35 -23 -35 -161l1 -943q0 -119 34 -140q16 -10 46 -13.5t53.5 -4.5t41.5 -15.5t18 -44.5
q0 -26 -12 -48t-36 -22z" />
    <glyph glyph-name="_448" unicode="&#xf1dd;" horiz-adv-x="1280"
d="M1278 1347v-73q0 -29 -18.5 -61t-42.5 -32q-50 0 -54 -1q-26 -6 -32 -31q-3 -11 -3 -64v-1152q0 -25 -18 -43t-43 -18h-108q-25 0 -43 18t-18 43v1218h-143v-1218q0 -25 -17.5 -43t-43.5 -18h-108q-26 0 -43.5 18t-17.5 43v496q-147 12 -245 59q-126 58 -192 179
q-64 117 -64 259q0 166 88 286q88 118 209 159q111 37 417 37h479q25 0 43 -18t18 -43z" />
    <glyph glyph-name="_449" unicode="&#xf1de;"
d="M352 128v-128h-352v128h352zM704 256q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM864 640v-128h-864v128h864zM224 1152v-128h-224v128h224zM1536 128v-128h-736v128h736zM576 1280q26 0 45 -19t19 -45v-256
q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1216 768q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1536 640v-128h-224v128h224zM1536 1152v-128h-864v128h864z" />
    <glyph glyph-name="uniF1E0" unicode="&#xf1e0;"
d="M1216 512q133 0 226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5q0 12 2 34l-360 180q-92 -86 -218 -86q-133 0 -226.5 93.5t-93.5 226.5t93.5 226.5t226.5 93.5q126 0 218 -86l360 180q-2 22 -2 34q0 133 93.5 226.5t226.5 93.5
t226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5q-126 0 -218 86l-360 -180q2 -22 2 -34t-2 -34l360 -180q92 86 218 86z" />
    <glyph glyph-name="_451" unicode="&#xf1e1;"
d="M1280 341q0 88 -62.5 151t-150.5 63q-84 0 -145 -58l-241 120q2 16 2 23t-2 23l241 120q61 -58 145 -58q88 0 150.5 63t62.5 151t-62.5 150.5t-150.5 62.5t-151 -62.5t-63 -150.5q0 -7 2 -23l-241 -120q-62 57 -145 57q-88 0 -150.5 -62.5t-62.5 -150.5t62.5 -150.5
t150.5 -62.5q83 0 145 57l241 -120q-2 -16 -2 -23q0 -88 63 -150.5t151 -62.5t150.5 62.5t62.5 150.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="_452" unicode="&#xf1e2;" horiz-adv-x="1792"
d="M571 947q-10 25 -34 35t-49 0q-108 -44 -191 -127t-127 -191q-10 -25 0 -49t35 -34q13 -5 24 -5q42 0 60 40q34 84 98.5 148.5t148.5 98.5q25 11 35 35t0 49zM1513 1303l46 -46l-244 -243l68 -68q19 -19 19 -45.5t-19 -45.5l-64 -64q89 -161 89 -343q0 -143 -55.5 -273.5
t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5q182 0 343 -89l64 64q19 19 45.5 19t45.5 -19l68 -68zM1521 1359q-10 -10 -22 -10q-13 0 -23 10l-91 90q-9 10 -9 23t9 23q10 9 23 9t23 -9l90 -91
q10 -9 10 -22.5t-10 -22.5zM1751 1129q-11 -9 -23 -9t-23 9l-90 91q-10 9 -10 22.5t10 22.5q9 10 22.5 10t22.5 -10l91 -90q9 -10 9 -23t-9 -23zM1792 1312q0 -14 -9 -23t-23 -9h-96q-14 0 -23 9t-9 23t9 23t23 9h96q14 0 23 -9t9 -23zM1600 1504v-96q0 -14 -9 -23t-23 -9
t-23 9t-9 23v96q0 14 9 23t23 9t23 -9t9 -23zM1751 1449l-91 -90q-10 -10 -22 -10q-13 0 -23 10q-10 9 -10 22.5t10 22.5l90 91q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
    <glyph glyph-name="_453" unicode="&#xf1e3;" horiz-adv-x="1792"
d="M609 720l287 208l287 -208l-109 -336h-355zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1515 186q149 203 149 454v3l-102 -89l-240 224l63 323
l134 -12q-150 206 -389 282l53 -124l-287 -159l-287 159l53 124q-239 -76 -389 -282l135 12l62 -323l-240 -224l-102 89v-3q0 -251 149 -454l30 132l326 -40l139 -298l-116 -69q117 -39 240 -39t240 39l-116 69l139 298l326 40z" />
    <glyph glyph-name="_454" unicode="&#xf1e4;" horiz-adv-x="1792"
d="M448 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM256 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM832 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23
v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM66 768q-28 0 -47 19t-19 46v129h514v-129q0 -27 -19 -46t-46 -19h-383zM1216 224v-192q0 -14 -9 -23t-23 -9h-192
q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1600 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23
zM1408 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1016v-13h-514v10q0 104 -382 102q-382 -1 -382 -102v-10h-514v13q0 17 8.5 43t34 64t65.5 75.5t110.5 76t160 67.5t224 47.5t293.5 18.5t293 -18.5t224 -47.5
t160.5 -67.5t110.5 -76t65.5 -75.5t34 -64t8.5 -43zM1792 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 962v-129q0 -27 -19 -46t-46 -19h-384q-27 0 -46 19t-19 46v129h514z" />
    <glyph glyph-name="_455" unicode="&#xf1e5;" horiz-adv-x="1792"
d="M704 1216v-768q0 -26 -19 -45t-45 -19v-576q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v512l249 873q7 23 31 23h424zM1024 1216v-704h-256v704h256zM1792 320v-512q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v576q-26 0 -45 19t-19 45v768h424q24 0 31 -23z
M736 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23zM1408 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23z" />
    <glyph glyph-name="_456" unicode="&#xf1e6;" horiz-adv-x="1792"
d="M1755 1083q37 -38 37 -90.5t-37 -90.5l-401 -400l150 -150l-160 -160q-163 -163 -389.5 -186.5t-411.5 100.5l-362 -362h-181v181l362 362q-124 185 -100.5 411.5t186.5 389.5l160 160l150 -150l400 401q38 37 91 37t90 -37t37 -90.5t-37 -90.5l-400 -401l234 -234
l401 400q38 37 91 37t90 -37z" />
    <glyph glyph-name="_457" unicode="&#xf1e7;" horiz-adv-x="1792"
d="M873 796q0 -83 -63.5 -142.5t-152.5 -59.5t-152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59t152.5 -59t63.5 -143zM1375 796q0 -83 -63 -142.5t-153 -59.5q-89 0 -152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59q90 0 153 -59t63 -143zM1600 616v667q0 87 -32 123.5
t-111 36.5h-1112q-83 0 -112.5 -34t-29.5 -126v-673q43 -23 88.5 -40t81 -28t81 -18.5t71 -11t70 -4t58.5 -0.5t56.5 2t44.5 2q68 1 95 -27q6 -6 10 -9q26 -25 61 -51q7 91 118 87q5 0 36.5 -1.5t43 -2t45.5 -1t53 1t54.5 4.5t61 8.5t62 13.5t67 19.5t67.5 27t72 34.5z
M1763 621q-121 -149 -372 -252q84 -285 -23 -465q-66 -113 -183 -148q-104 -32 -182 15q-86 51 -82 164l-1 326v1q-8 2 -24.5 6t-23.5 5l-1 -338q4 -114 -83 -164q-79 -47 -183 -15q-117 36 -182 150q-105 180 -22 463q-251 103 -372 252q-25 37 -4 63t60 -1q4 -2 11.5 -7
t10.5 -8v694q0 72 47 123t114 51h1257q67 0 114 -51t47 -123v-694l21 15q39 27 60 1t-4 -63z" />
    <glyph glyph-name="_458" unicode="&#xf1e8;" horiz-adv-x="1792"
d="M896 1102v-434h-145v434h145zM1294 1102v-434h-145v434h145zM1294 342l253 254v795h-1194v-1049h326v-217l217 217h398zM1692 1536v-1013l-434 -434h-326l-217 -217h-217v217h-398v1158l109 289h1483z" />
    <glyph glyph-name="_459" unicode="&#xf1e9;"
d="M773 217v-127q-1 -292 -6 -305q-12 -32 -51 -40q-54 -9 -181.5 38t-162.5 89q-13 15 -17 36q-1 12 4 26q4 10 34 47t181 216q1 0 60 70q15 19 39.5 24.5t49.5 -3.5q24 -10 37.5 -29t12.5 -42zM624 468q-3 -55 -52 -70l-120 -39q-275 -88 -292 -88q-35 2 -54 36
q-12 25 -17 75q-8 76 1 166.5t30 124.5t56 32q13 0 202 -77q71 -29 115 -47l84 -34q23 -9 35.5 -30.5t11.5 -48.5zM1450 171q-7 -54 -91.5 -161t-135.5 -127q-37 -14 -63 7q-14 10 -184 287l-47 77q-14 21 -11.5 46t19.5 46q35 43 83 26q1 -1 119 -40q203 -66 242 -79.5
t47 -20.5q28 -22 22 -61zM778 803q5 -102 -54 -122q-58 -17 -114 71l-378 598q-8 35 19 62q41 43 207.5 89.5t224.5 31.5q40 -10 49 -45q3 -18 22 -305.5t24 -379.5zM1440 695q3 -39 -26 -59q-15 -10 -329 -86q-67 -15 -91 -23l1 2q-23 -6 -46 4t-37 32q-30 47 0 87
q1 1 75 102q125 171 150 204t34 39q28 19 65 2q48 -23 123 -133.5t81 -167.5v-3z" />
    <glyph glyph-name="_460" unicode="&#xf1ea;" horiz-adv-x="2048"
d="M1024 1024h-384v-384h384v384zM1152 384v-128h-640v128h640zM1152 1152v-640h-640v640h640zM1792 384v-128h-512v128h512zM1792 640v-128h-512v128h512zM1792 896v-128h-512v128h512zM1792 1152v-128h-512v128h512zM256 192v960h-128v-960q0 -26 19 -45t45 -19t45 19
t19 45zM1920 192v1088h-1536v-1088q0 -33 -11 -64h1483q26 0 45 19t19 45zM2048 1408v-1216q0 -80 -56 -136t-136 -56h-1664q-80 0 -136 56t-56 136v1088h256v128h1792z" />
    <glyph glyph-name="_461" unicode="&#xf1eb;" horiz-adv-x="2048"
d="M1024 13q-20 0 -93 73.5t-73 93.5q0 32 62.5 54t103.5 22t103.5 -22t62.5 -54q0 -20 -73 -93.5t-93 -73.5zM1294 284q-2 0 -40 25t-101.5 50t-128.5 25t-128.5 -25t-101 -50t-40.5 -25q-18 0 -93.5 75t-75.5 93q0 13 10 23q78 77 196 121t233 44t233 -44t196 -121
q10 -10 10 -23q0 -18 -75.5 -93t-93.5 -75zM1567 556q-11 0 -23 8q-136 105 -252 154.5t-268 49.5q-85 0 -170.5 -22t-149 -53t-113.5 -62t-79 -53t-31 -22q-17 0 -92 75t-75 93q0 12 10 22q132 132 320 205t380 73t380 -73t320 -205q10 -10 10 -22q0 -18 -75 -93t-92 -75z
M1838 827q-11 0 -22 9q-179 157 -371.5 236.5t-420.5 79.5t-420.5 -79.5t-371.5 -236.5q-11 -9 -22 -9q-17 0 -92.5 75t-75.5 93q0 13 10 23q187 186 445 288t527 102t527 -102t445 -288q10 -10 10 -23q0 -18 -75.5 -93t-92.5 -75z" />
    <glyph glyph-name="_462" unicode="&#xf1ec;" horiz-adv-x="1792"
d="M384 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5
t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5
t37.5 90.5zM384 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 768q0 53 -37.5 90.5t-90.5 37.5
t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1536 0v384q0 52 -38 90t-90 38t-90 -38t-38 -90v-384q0 -52 38 -90t90 -38t90 38t38 90zM1152 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z
M1536 1088v256q0 26 -19 45t-45 19h-1280q-26 0 -45 -19t-19 -45v-256q0 -26 19 -45t45 -19h1280q26 0 45 19t19 45zM1536 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1408v-1536q0 -52 -38 -90t-90 -38
h-1408q-52 0 -90 38t-38 90v1536q0 52 38 90t90 38h1408q52 0 90 -38t38 -90z" />
    <glyph glyph-name="_463" unicode="&#xf1ed;"
d="M1519 890q18 -84 -4 -204q-87 -444 -565 -444h-44q-25 0 -44 -16.5t-24 -42.5l-4 -19l-55 -346l-2 -15q-5 -26 -24.5 -42.5t-44.5 -16.5h-251q-21 0 -33 15t-9 36q9 56 26.5 168t26.5 168t27 167.5t27 167.5q5 37 43 37h131q133 -2 236 21q175 39 287 144q102 95 155 246
q24 70 35 133q1 6 2.5 7.5t3.5 1t6 -3.5q79 -59 98 -162zM1347 1172q0 -107 -46 -236q-80 -233 -302 -315q-113 -40 -252 -42q0 -1 -90 -1l-90 1q-100 0 -118 -96q-2 -8 -85 -530q-1 -10 -12 -10h-295q-22 0 -36.5 16.5t-11.5 38.5l232 1471q5 29 27.5 48t51.5 19h598
q34 0 97.5 -13t111.5 -32q107 -41 163.5 -123t56.5 -196z" />
    <glyph glyph-name="_464" unicode="&#xf1ee;" horiz-adv-x="1792"
d="M441 864q33 0 52 -26q266 -364 362 -774h-446q-127 441 -367 749q-12 16 -3 33.5t29 17.5h373zM1000 507q-49 -199 -125 -393q-79 310 -256 594q40 221 44 449q211 -340 337 -650zM1099 1216q235 -324 384.5 -698.5t184.5 -773.5h-451q-41 665 -553 1472h435zM1792 640
q0 -424 -101 -812q-67 560 -359 1083q-25 301 -106 584q-4 16 5.5 28.5t25.5 12.5h359q21 0 38.5 -13t22.5 -33q115 -409 115 -850z" />
    <glyph glyph-name="uniF1F0" unicode="&#xf1f0;" horiz-adv-x="2304"
d="M1975 546h-138q14 37 66 179l3 9q4 10 10 26t9 26l12 -55zM531 611l-58 295q-11 54 -75 54h-268l-2 -13q311 -79 403 -336zM710 960l-162 -438l-17 89q-26 70 -85 129.5t-131 88.5l135 -510h175l261 641h-176zM849 318h166l104 642h-166zM1617 944q-69 27 -149 27
q-123 0 -201 -59t-79 -153q-1 -102 145 -174q48 -23 67 -41t19 -39q0 -30 -30 -46t-69 -16q-86 0 -156 33l-22 11l-23 -144q74 -34 185 -34q130 -1 208.5 59t80.5 160q0 106 -140 174q-49 25 -71 42t-22 38q0 22 24.5 38.5t70.5 16.5q70 1 124 -24l15 -8zM2042 960h-128
q-65 0 -87 -54l-246 -588h174l35 96h212q5 -22 20 -96h154zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
    <glyph glyph-name="_466" unicode="&#xf1f1;" horiz-adv-x="2304"
d="M1119 1195q-128 85 -281 85q-103 0 -197.5 -40.5t-162.5 -108.5t-108.5 -162t-40.5 -197q0 -104 40.5 -198t108.5 -162t162 -108.5t198 -40.5q153 0 281 85q-131 107 -178 265.5t0.5 316.5t177.5 265zM1152 1171q-126 -99 -172 -249.5t-0.5 -300.5t172.5 -249
q127 99 172.5 249t-0.5 300.5t-172 249.5zM1185 1195q130 -107 177.5 -265.5t0.5 -317t-178 -264.5q128 -85 281 -85q104 0 198 40.5t162 108.5t108.5 162t40.5 198q0 103 -40.5 197t-108.5 162t-162.5 108.5t-197.5 40.5q-153 0 -281 -85zM1926 473h7v3h-17v-3h7v-17h3v17z
M1955 456h4v20h-5l-6 -13l-6 13h-5v-20h3v15l6 -13h4l5 13v-15zM1947 16v-2h-2h-3v3h3h2v-1zM1947 7h3l-4 5h2l1 1q1 1 1 3t-1 3l-1 1h-3h-6v-13h3v5h1zM685 75q0 19 11 31t30 12q18 0 29 -12.5t11 -30.5q0 -19 -11 -31t-29 -12q-19 0 -30 12t-11 31zM1158 119q30 0 35 -32
h-70q5 32 35 32zM1514 75q0 19 11 31t29 12t29.5 -12.5t11.5 -30.5q0 -19 -11 -31t-30 -12q-18 0 -29 12t-11 31zM1786 75q0 18 11.5 30.5t29.5 12.5t29.5 -12.5t11.5 -30.5q0 -19 -11.5 -31t-29.5 -12t-29.5 12.5t-11.5 30.5zM1944 3q-2 0 -4 1q-1 0 -3 2t-2 3q-1 2 -1 4
q0 3 1 4q0 2 2 4l1 1q2 0 2 1q2 1 4 1q3 0 4 -1l4 -2l2 -4v-1q1 -2 1 -3l-1 -1v-3t-1 -1l-1 -2q-2 -2 -4 -2q-1 -1 -4 -1zM599 7h30v85q0 24 -14.5 38.5t-39.5 15.5q-32 0 -47 -24q-14 24 -45 24q-24 0 -39 -20v16h-30v-135h30v75q0 36 33 36q30 0 30 -36v-75h29v75
q0 36 33 36q30 0 30 -36v-75zM765 7h29v68v67h-29v-16q-17 20 -43 20q-29 0 -48 -20t-19 -51t19 -51t48 -20q28 0 43 20v-17zM943 48q0 34 -47 40l-14 2q-23 4 -23 14q0 15 25 15q23 0 43 -11l12 24q-22 14 -55 14q-26 0 -41 -12t-15 -32q0 -33 47 -39l13 -2q24 -4 24 -14
q0 -17 -31 -17q-25 0 -45 14l-13 -23q25 -17 58 -17q29 0 45.5 12t16.5 32zM1073 14l-8 25q-13 -7 -26 -7q-19 0 -19 22v61h48v27h-48v41h-30v-41h-28v-27h28v-61q0 -50 47 -50q21 0 36 10zM1159 146q-29 0 -48 -20t-19 -51q0 -32 19.5 -51.5t49.5 -19.5q33 0 55 19l-14 22
q-18 -15 -39 -15q-34 0 -41 33h101v12q0 32 -18 51.5t-46 19.5zM1318 146q-23 0 -35 -20v16h-30v-135h30v76q0 35 29 35q10 0 18 -4l9 28q-9 4 -21 4zM1348 75q0 -31 19.5 -51t52.5 -20q29 0 48 16l-14 24q-18 -13 -35 -12q-18 0 -29.5 12t-11.5 31t11.5 31t29.5 12
q19 0 35 -12l14 24q-20 16 -48 16q-33 0 -52.5 -20t-19.5 -51zM1593 7h30v68v67h-30v-16q-15 20 -42 20q-29 0 -48.5 -20t-19.5 -51t19.5 -51t48.5 -20q28 0 42 20v-17zM1726 146q-23 0 -35 -20v16h-29v-135h29v76q0 35 29 35q10 0 18 -4l9 28q-8 4 -21 4zM1866 7h29v68v122
h-29v-71q-15 20 -43 20t-47.5 -20.5t-19.5 -50.5t19.5 -50.5t47.5 -20.5q29 0 43 20v-17zM1944 27l-2 -1h-3q-2 -1 -4 -3q-3 -1 -3 -4q-1 -2 -1 -6q0 -3 1 -5q0 -2 3 -4q2 -2 4 -3t5 -1q4 0 6 1q0 1 2 2l2 1q1 1 3 4q1 2 1 5q0 4 -1 6q-1 1 -3 4q0 1 -2 2l-2 1q-1 0 -3 0.5
t-3 0.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
    <glyph glyph-name="_467" unicode="&#xf1f2;" horiz-adv-x="2304"
d="M313 759q0 -51 -36 -84q-29 -26 -89 -26h-17v220h17q61 0 89 -27q36 -31 36 -83zM2089 824q0 -52 -64 -52h-19v101h20q63 0 63 -49zM380 759q0 74 -50 120.5t-129 46.5h-95v-333h95q74 0 119 38q60 51 60 128zM410 593h65v333h-65v-333zM730 694q0 40 -20.5 62t-75.5 42
q-29 10 -39.5 19t-10.5 23q0 16 13.5 26.5t34.5 10.5q29 0 53 -27l34 44q-41 37 -98 37q-44 0 -74 -27.5t-30 -67.5q0 -35 18 -55.5t64 -36.5q37 -13 45 -19q19 -12 19 -34q0 -20 -14 -33.5t-36 -13.5q-48 0 -71 44l-42 -40q44 -64 115 -64q51 0 83 30.5t32 79.5zM1008 604
v77q-37 -37 -78 -37q-49 0 -80.5 32.5t-31.5 82.5q0 48 31.5 81.5t77.5 33.5q43 0 81 -38v77q-40 20 -80 20q-74 0 -125.5 -50.5t-51.5 -123.5t51 -123.5t125 -50.5q42 0 81 19zM2240 0v527q-65 -40 -144.5 -84t-237.5 -117t-329.5 -137.5t-417.5 -134.5t-504 -118h1569
q26 0 45 19t19 45zM1389 757q0 75 -53 128t-128 53t-128 -53t-53 -128t53 -128t128 -53t128 53t53 128zM1541 584l144 342h-71l-90 -224l-89 224h-71l142 -342h35zM1714 593h184v56h-119v90h115v56h-115v74h119v57h-184v-333zM2105 593h80l-105 140q76 16 76 94q0 47 -31 73
t-87 26h-97v-333h65v133h9zM2304 1274v-1268q0 -56 -38.5 -95t-93.5 -39h-2040q-55 0 -93.5 39t-38.5 95v1268q0 56 38.5 95t93.5 39h2040q55 0 93.5 -39t38.5 -95z" />
    <glyph glyph-name="f1f3" unicode="&#xf1f3;" horiz-adv-x="2304"
d="M119 854h89l-45 108zM740 328l74 79l-70 79h-163v-49h142v-55h-142v-54h159zM898 406l99 -110v217zM1186 453q0 33 -40 33h-84v-69h83q41 0 41 36zM1475 457q0 29 -42 29h-82v-61h81q43 0 43 32zM1197 923q0 29 -42 29h-82v-60h81q43 0 43 31zM1656 854h89l-44 108z
M699 1009v-271h-66v212l-94 -212h-57l-94 212v-212h-132l-25 60h-135l-25 -60h-70l116 271h96l110 -257v257h106l85 -184l77 184h108zM1255 453q0 -20 -5.5 -35t-14 -25t-22.5 -16.5t-26 -10t-31.5 -4.5t-31.5 -1t-32.5 0.5t-29.5 0.5v-91h-126l-80 90l-83 -90h-256v271h260
l80 -89l82 89h207q109 0 109 -89zM964 794v-56h-217v271h217v-57h-152v-49h148v-55h-148v-54h152zM2304 235v-229q0 -55 -38.5 -94.5t-93.5 -39.5h-2040q-55 0 -93.5 39.5t-38.5 94.5v678h111l25 61h55l25 -61h218v46l19 -46h113l20 47v-47h541v99l10 1q10 0 10 -14v-86h279
v23q23 -12 55 -18t52.5 -6.5t63 0.5t51.5 1l25 61h56l25 -61h227v58l34 -58h182v378h-180v-44l-25 44h-185v-44l-23 44h-249q-69 0 -109 -22v22h-172v-22q-24 22 -73 22h-628l-43 -97l-43 97h-198v-44l-22 44h-169l-78 -179v391q0 55 38.5 94.5t93.5 39.5h2040
q55 0 93.5 -39.5t38.5 -94.5v-678h-120q-51 0 -81 -22v22h-177q-55 0 -78 -22v22h-316v-22q-31 22 -87 22h-209v-22q-23 22 -91 22h-234l-54 -58l-50 58h-349v-378h343l55 59l52 -59h211v89h21q59 0 90 13v-102h174v99h8q8 0 10 -2t2 -10v-87h529q57 0 88 24v-24h168
q60 0 95 17zM1546 469q0 -23 -12 -43t-34 -29q25 -9 34 -26t9 -46v-54h-65v45q0 33 -12 43.5t-46 10.5h-69v-99h-65v271h154q48 0 77 -15t29 -58zM1269 936q0 -24 -12.5 -44t-33.5 -29q26 -9 34.5 -25.5t8.5 -46.5v-53h-65q0 9 0.5 26.5t0 25t-3 18.5t-8.5 16t-17.5 8.5
t-29.5 3.5h-70v-98h-64v271l153 -1q49 0 78 -14.5t29 -57.5zM1798 327v-56h-216v271h216v-56h-151v-49h148v-55h-148v-54zM1372 1009v-271h-66v271h66zM2065 357q0 -86 -102 -86h-126v58h126q34 0 34 25q0 16 -17 21t-41.5 5t-49.5 3.5t-42 22.5t-17 55q0 39 26 60t66 21
h130v-57h-119q-36 0 -36 -25q0 -16 17.5 -20.5t42 -4t49 -2.5t42 -21.5t17.5 -54.5zM2304 407v-101q-24 -35 -88 -35h-125v58h125q33 0 33 25q0 13 -12.5 19t-31 5.5t-40 2t-40 8t-31 24t-12.5 48.5q0 39 26.5 60t66.5 21h129v-57h-118q-36 0 -36 -25q0 -20 29 -22t68.5 -5
t56.5 -26zM2139 1008v-270h-92l-122 203v-203h-132l-26 60h-134l-25 -60h-75q-129 0 -129 133q0 138 133 138h63v-59q-7 0 -28 1t-28.5 0.5t-23 -2t-21.5 -6.5t-14.5 -13.5t-11.5 -23t-3 -33.5q0 -38 13.5 -58t49.5 -20h29l92 213h97l109 -256v256h99l114 -188v188h66z" />
    <glyph glyph-name="_469" unicode="&#xf1f4;" horiz-adv-x="2304"
d="M745 630q0 -37 -25.5 -61.5t-62.5 -24.5q-29 0 -46.5 16t-17.5 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM1530 779q0 -42 -22 -57t-66 -15l-32 -1l17 107q2 11 13 11h18q22 0 35 -2t25 -12.5t12 -30.5zM1881 630q0 -36 -25.5 -61t-61.5 -25q-29 0 -47 16
t-18 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM513 801q0 59 -38.5 85.5t-100.5 26.5h-160q-19 0 -21 -19l-65 -408q-1 -6 3 -11t10 -5h76q20 0 22 19l18 110q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM822 489l41 261q1 6 -3 11t-10 5h-76
q-14 0 -17 -33q-27 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q28 0 58 12t48 32q-4 -12 -4 -21q0 -16 13 -16h69q19 0 22 19zM1269 752q0 5 -4 9.5t-9 4.5h-77q-11 0 -18 -10l-106 -156l-44 150q-5 16 -22 16h-75q-5 0 -9 -4.5t-4 -9.5q0 -2 19.5 -59
t42 -123t23.5 -70q-82 -112 -82 -120q0 -13 13 -13h77q11 0 18 10l255 368q2 2 2 7zM1649 801q0 59 -38.5 85.5t-100.5 26.5h-159q-20 0 -22 -19l-65 -408q-1 -6 3 -11t10 -5h82q12 0 16 13l18 116q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM1958 489
l41 261q1 6 -3 11t-10 5h-76q-14 0 -17 -33q-26 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q29 0 59 12t47 32q0 -1 -2 -9t-2 -12q0 -16 13 -16h69q19 0 22 19zM2176 898v1q0 14 -13 14h-74q-11 0 -13 -11l-65 -416l-1 -2q0 -5 4 -9.5t10 -4.5h66
q19 0 21 19zM392 764q-5 -35 -26 -46t-60 -11l-33 -1l17 107q2 11 13 11h19q40 0 58 -11.5t12 -48.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
    <glyph glyph-name="_470" unicode="&#xf1f5;" horiz-adv-x="2304"
d="M1597 633q0 -69 -21 -106q-19 -35 -52 -35q-23 0 -41 9v224q29 30 57 30q57 0 57 -122zM2035 669h-110q6 98 56 98q51 0 54 -98zM476 534q0 59 -33 91.5t-101 57.5q-36 13 -52 24t-16 25q0 26 38 26q58 0 124 -33l18 112q-67 32 -149 32q-77 0 -123 -38q-48 -39 -48 -109
q0 -58 32.5 -90.5t99.5 -56.5q39 -14 54.5 -25.5t15.5 -27.5q0 -31 -48 -31q-29 0 -70 12.5t-72 30.5l-18 -113q72 -41 168 -41q81 0 129 37q51 41 51 117zM771 749l19 111h-96v135l-129 -21l-18 -114l-46 -8l-17 -103h62v-219q0 -84 44 -120q38 -30 111 -30q32 0 79 11v118
q-32 -7 -44 -7q-42 0 -42 50v197h77zM1087 724v139q-15 3 -28 3q-32 0 -55.5 -16t-33.5 -46l-10 56h-131v-471h150v306q26 31 82 31q16 0 26 -2zM1124 389h150v471h-150v-471zM1746 638q0 122 -45 179q-40 52 -111 52q-64 0 -117 -56l-8 47h-132v-645l150 25v151
q36 -11 68 -11q83 0 134 56q61 65 61 202zM1278 986q0 33 -23 56t-56 23t-56 -23t-23 -56t23 -56.5t56 -23.5t56 23.5t23 56.5zM2176 629q0 113 -48 176q-50 64 -144 64q-96 0 -151.5 -66t-55.5 -180q0 -128 63 -188q55 -55 161 -55q101 0 160 40l-16 103q-57 -31 -128 -31
q-43 0 -63 19q-23 19 -28 66h248q2 14 2 52zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
    <glyph glyph-name="_471" unicode="&#xf1f6;" horiz-adv-x="2048"
d="M1558 684q61 -356 298 -556q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5zM1024 -176q16 0 16 16t-16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5zM2026 1424q8 -10 7.5 -23.5t-10.5 -22.5
l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5
l418 363q10 8 23.5 7t21.5 -11z" />
    <glyph glyph-name="_472" unicode="&#xf1f7;" horiz-adv-x="2048"
d="M1040 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM503 315l877 760q-42 88 -132.5 146.5t-223.5 58.5q-93 0 -169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -384 -137 -645zM1856 128
q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5l149 129h757q-166 187 -227 459l111 97q61 -356 298 -556zM1942 1520l84 -96q8 -10 7.5 -23.5t-10.5 -22.5l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161
q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5l418 363q10 8 23.5 7t21.5 -11z" />
    <glyph glyph-name="_473" unicode="&#xf1f8;" horiz-adv-x="1408"
d="M512 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM768 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1024 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704
q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167
q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
    <glyph glyph-name="_474" unicode="&#xf1f9;"
d="M1150 462v-109q0 -50 -36.5 -89t-94 -60.5t-118 -32.5t-117.5 -11q-205 0 -342.5 139t-137.5 346q0 203 136 339t339 136q34 0 75.5 -4.5t93 -18t92.5 -34t69 -56.5t28 -81v-109q0 -16 -16 -16h-118q-16 0 -16 16v70q0 43 -65.5 67.5t-137.5 24.5q-140 0 -228.5 -91.5
t-88.5 -237.5q0 -151 91.5 -249.5t233.5 -98.5q68 0 138 24t70 66v70q0 7 4.5 11.5t10.5 4.5h119q6 0 11 -4.5t5 -11.5zM768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5
t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="_475" unicode="&#xf1fa;"
d="M972 761q0 108 -53.5 169t-147.5 61q-63 0 -124 -30.5t-110 -84.5t-79.5 -137t-30.5 -180q0 -112 53.5 -173t150.5 -61q96 0 176 66.5t122.5 166t42.5 203.5zM1536 640q0 -111 -37 -197t-98.5 -135t-131.5 -74.5t-145 -27.5q-6 0 -15.5 -0.5t-16.5 -0.5q-95 0 -142 53
q-28 33 -33 83q-52 -66 -131.5 -110t-173.5 -44q-161 0 -249.5 95.5t-88.5 269.5q0 157 66 290t179 210.5t246 77.5q87 0 155 -35.5t106 -99.5l2 19l11 56q1 6 5.5 12t9.5 6h118q5 0 13 -11q5 -5 3 -16l-120 -614q-5 -24 -5 -48q0 -39 12.5 -52t44.5 -13q28 1 57 5.5t73 24
t77 50t57 89.5t24 137q0 292 -174 466t-466 174q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51q228 0 405 144q11 9 24 8t21 -12l41 -49q8 -12 7 -24q-2 -13 -12 -22q-102 -83 -227.5 -128t-258.5 -45q-156 0 -298 61
t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q344 0 556 -212t212 -556z" />
    <glyph glyph-name="_476" unicode="&#xf1fb;" horiz-adv-x="1792"
d="M1698 1442q94 -94 94 -226.5t-94 -225.5l-225 -223l104 -104q10 -10 10 -23t-10 -23l-210 -210q-10 -10 -23 -10t-23 10l-105 105l-603 -603q-37 -37 -90 -37h-203l-256 -128l-64 64l128 256v203q0 53 37 90l603 603l-105 105q-10 10 -10 23t10 23l210 210q10 10 23 10
t23 -10l104 -104l223 225q93 94 225.5 94t226.5 -94zM512 64l576 576l-192 192l-576 -576v-192h192z" />
    <glyph glyph-name="f1fc" unicode="&#xf1fc;" horiz-adv-x="1792"
d="M1615 1536q70 0 122.5 -46.5t52.5 -116.5q0 -63 -45 -151q-332 -629 -465 -752q-97 -91 -218 -91q-126 0 -216.5 92.5t-90.5 219.5q0 128 92 212l638 579q59 54 130 54zM706 502q39 -76 106.5 -130t150.5 -76l1 -71q4 -213 -129.5 -347t-348.5 -134q-123 0 -218 46.5
t-152.5 127.5t-86.5 183t-29 220q7 -5 41 -30t62 -44.5t59 -36.5t46 -17q41 0 55 37q25 66 57.5 112.5t69.5 76t88 47.5t103 25.5t125 10.5z" />
    <glyph glyph-name="_478" unicode="&#xf1fd;" horiz-adv-x="1792"
d="M1792 128v-384h-1792v384q45 0 85 14t59 27.5t47 37.5q30 27 51.5 38t56.5 11q24 0 44 -7t31 -15t33 -27q29 -25 47 -38t58 -27t86 -14q45 0 85 14.5t58 27t48 37.5q21 19 32.5 27t31 15t43.5 7q35 0 56.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14t85 14t59 27.5
t47 37.5q30 27 51.5 38t56.5 11q34 0 55.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14zM1792 448v-192q-24 0 -44 7t-31 15t-33 27q-29 25 -47 38t-58 27t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-22 -19 -33 -27t-31 -15t-44 -7q-35 0 -56.5 11t-51.5 38q-29 25 -47 38
t-58 27t-86 14q-45 0 -85 -14.5t-58 -27t-48 -37.5q-21 -19 -32.5 -27t-31 -15t-43.5 -7q-35 0 -56.5 11t-51.5 38q-28 24 -47 37.5t-59 27.5t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-30 -27 -51.5 -38t-56.5 -11v192q0 80 56 136t136 56h64v448h256v-448h256v448h256v-448
h256v448h256v-448h64q80 0 136 -56t56 -136zM512 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1024 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5
q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1536 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150z" />
    <glyph glyph-name="_479" unicode="&#xf1fe;" horiz-adv-x="2048"
d="M2048 0v-128h-2048v1536h128v-1408h1920zM1664 1024l256 -896h-1664v576l448 576l576 -576z" />
    <glyph glyph-name="_480" unicode="&#xf200;" horiz-adv-x="1792"
d="M768 646l546 -546q-106 -108 -247.5 -168t-298.5 -60q-209 0 -385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103v-762zM955 640h773q0 -157 -60 -298.5t-168 -247.5zM1664 768h-768v768q209 0 385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="_481" unicode="&#xf201;" horiz-adv-x="2048"
d="M2048 0v-128h-2048v1536h128v-1408h1920zM1920 1248v-435q0 -21 -19.5 -29.5t-35.5 7.5l-121 121l-633 -633q-10 -10 -23 -10t-23 10l-233 233l-416 -416l-192 192l585 585q10 10 23 10t23 -10l233 -233l464 464l-121 121q-16 16 -7.5 35.5t29.5 19.5h435q14 0 23 -9
t9 -23z" />
    <glyph glyph-name="_482" unicode="&#xf202;" horiz-adv-x="1792"
d="M1292 832q0 -6 10 -41q10 -29 25 -49.5t41 -34t44 -20t55 -16.5q325 -91 325 -332q0 -146 -105.5 -242.5t-254.5 -96.5q-59 0 -111.5 18.5t-91.5 45.5t-77 74.5t-63 87.5t-53.5 103.5t-43.5 103t-39.5 106.5t-35.5 95q-32 81 -61.5 133.5t-73.5 96.5t-104 64t-142 20
q-96 0 -183 -55.5t-138 -144.5t-51 -185q0 -160 106.5 -279.5t263.5 -119.5q177 0 258 95q56 63 83 116l84 -152q-15 -34 -44 -70l1 -1q-131 -152 -388 -152q-147 0 -269.5 79t-190.5 207.5t-68 274.5q0 105 43.5 206t116 176.5t172 121.5t204.5 46q87 0 159 -19t123.5 -50
t95 -80t72.5 -99t58.5 -117t50.5 -124.5t50 -130.5t55 -127q96 -200 233 -200q81 0 138.5 48.5t57.5 128.5q0 42 -19 72t-50.5 46t-72.5 31.5t-84.5 27t-87.5 34t-81 52t-65 82t-39 122.5q-3 16 -3 33q0 110 87.5 192t198.5 78q78 -3 120.5 -14.5t90.5 -53.5h-1
q12 -11 23 -24.5t26 -36t19 -27.5l-129 -99q-26 49 -54 70v1q-23 21 -97 21q-49 0 -84 -33t-35 -83z" />
    <glyph glyph-name="_483" unicode="&#xf203;"
d="M1432 484q0 173 -234 239q-35 10 -53 16.5t-38 25t-29 46.5q0 2 -2 8.5t-3 12t-1 7.5q0 36 24.5 59.5t60.5 23.5q54 0 71 -15h-1q20 -15 39 -51l93 71q-39 54 -49 64q-33 29 -67.5 39t-85.5 10q-80 0 -142 -57.5t-62 -137.5q0 -7 2 -23q16 -96 64.5 -140t148.5 -73
q29 -8 49 -15.5t45 -21.5t38.5 -34.5t13.5 -46.5v-5q1 -58 -40.5 -93t-100.5 -35q-97 0 -167 144q-23 47 -51.5 121.5t-48 125.5t-54 110.5t-74 95.5t-103.5 60.5t-147 24.5q-101 0 -192 -56t-144 -148t-50 -192v-1q4 -108 50.5 -199t133.5 -147.5t196 -56.5q186 0 279 110
q20 27 31 51l-60 109q-42 -80 -99 -116t-146 -36q-115 0 -191 87t-76 204q0 105 82 189t186 84q112 0 170 -53.5t104 -172.5q8 -21 25.5 -68.5t28.5 -76.5t31.5 -74.5t38.5 -74t45.5 -62.5t55.5 -53.5t66 -33t80 -13.5q107 0 183 69.5t76 174.5zM1536 1120v-960
q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="_484" unicode="&#xf204;" horiz-adv-x="2048"
d="M1152 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1920 640q0 104 -40.5 198.5
t-109.5 163.5t-163.5 109.5t-198.5 40.5h-386q119 -90 188.5 -224t69.5 -288t-69.5 -288t-188.5 -224h386q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM2048 640q0 -130 -51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5
t-136.5 204t-51 248.5t51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5z" />
    <glyph glyph-name="_485" unicode="&#xf205;" horiz-adv-x="2048"
d="M0 640q0 130 51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5t-51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5t-136.5 204t-51 248.5zM1408 128q104 0 198.5 40.5t163.5 109.5
t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5z" />
    <glyph glyph-name="_486" unicode="&#xf206;" horiz-adv-x="2304"
d="M762 384h-314q-40 0 -57.5 35t6.5 67l188 251q-65 31 -137 31q-132 0 -226 -94t-94 -226t94 -226t226 -94q115 0 203 72.5t111 183.5zM576 512h186q-18 85 -75 148zM1056 512l288 384h-480l-99 -132q105 -103 126 -252h165zM2176 448q0 132 -94 226t-226 94
q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94t226 94t94 226zM2304 448q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 97 39.5 183.5t109.5 149.5l-65 98l-353 -469
q-18 -26 -51 -26h-197q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q114 0 215 -55l137 183h-224q-26 0 -45 19t-19 45t19 45t45 19h384v-128h435l-85 128h-222q-26 0 -45 19t-19 45t19 45t45 19h256q33 0 53 -28l267 -400
q91 44 192 44q185 0 316.5 -131.5t131.5 -316.5z" />
    <glyph glyph-name="_487" unicode="&#xf207;"
d="M384 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1362 716l-72 384q-5 23 -22.5 37.5t-40.5 14.5
h-918q-23 0 -40.5 -14.5t-22.5 -37.5l-72 -384q-5 -30 14 -53t49 -23h1062q30 0 49 23t14 53zM1136 1328q0 20 -14 34t-34 14h-640q-20 0 -34 -14t-14 -34t14 -34t34 -14h640q20 0 34 14t14 34zM1536 603v-603h-128v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
t-37.5 90.5v128h-768v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5v128h-128v603q0 112 25 223l103 454q9 78 97.5 137t230 89t312.5 30t312.5 -30t230 -89t97.5 -137l105 -454q23 -102 23 -223z" />
    <glyph glyph-name="_488" unicode="&#xf208;" horiz-adv-x="2048"
d="M1463 704q0 -35 -25 -60.5t-61 -25.5h-702q-36 0 -61 25.5t-25 60.5t25 60.5t61 25.5h702q36 0 61 -25.5t25 -60.5zM1677 704q0 86 -23 170h-982q-36 0 -61 25t-25 60q0 36 25 61t61 25h908q-88 143 -235 227t-320 84q-177 0 -327.5 -87.5t-238 -237.5t-87.5 -327
q0 -86 23 -170h982q36 0 61 -25t25 -60q0 -36 -25 -61t-61 -25h-908q88 -143 235.5 -227t320.5 -84q132 0 253 51.5t208 139t139 208t52 253.5zM2048 959q0 -35 -25 -60t-61 -25h-131q17 -85 17 -170q0 -167 -65.5 -319.5t-175.5 -263t-262.5 -176t-319.5 -65.5
q-246 0 -448.5 133t-301.5 350h-189q-36 0 -61 25t-25 61q0 35 25 60t61 25h132q-17 85 -17 170q0 167 65.5 319.5t175.5 263t262.5 176t320.5 65.5q245 0 447.5 -133t301.5 -350h188q36 0 61 -25t25 -61z" />
    <glyph glyph-name="_489" unicode="&#xf209;" horiz-adv-x="1280"
d="M953 1158l-114 -328l117 -21q165 451 165 518q0 56 -38 56q-57 0 -130 -225zM654 471l33 -88q37 42 71 67l-33 5.5t-38.5 7t-32.5 8.5zM362 1367q0 -98 159 -521q17 10 49 10q15 0 75 -5l-121 351q-75 220 -123 220q-19 0 -29 -17.5t-10 -37.5zM283 608q0 -36 51.5 -119
t117.5 -153t100 -70q14 0 25.5 13t11.5 27q0 24 -32 102q-13 32 -32 72t-47.5 89t-61.5 81t-62 32q-20 0 -45.5 -27t-25.5 -47zM125 273q0 -41 25 -104q59 -145 183.5 -227t281.5 -82q227 0 382 170q152 169 152 427q0 43 -1 67t-11.5 62t-30.5 56q-56 49 -211.5 75.5
t-270.5 26.5q-37 0 -49 -11q-12 -5 -12 -35q0 -34 21.5 -60t55.5 -40t77.5 -23.5t87.5 -11.5t85 -4t70 0h23q24 0 40 -19q15 -19 19 -55q-28 -28 -96 -54q-61 -22 -93 -46q-64 -46 -108.5 -114t-44.5 -137q0 -31 18.5 -88.5t18.5 -87.5l-3 -12q-4 -12 -4 -14
q-137 10 -146 216q-8 -2 -41 -2q2 -7 2 -21q0 -53 -40.5 -89.5t-94.5 -36.5q-82 0 -166.5 78t-84.5 159q0 34 33 67q52 -64 60 -76q77 -104 133 -104q12 0 26.5 8.5t14.5 20.5q0 34 -87.5 145t-116.5 111q-43 0 -70 -44.5t-27 -90.5zM11 264q0 101 42.5 163t136.5 88
q-28 74 -28 104q0 62 61 123t122 61q29 0 70 -15q-163 462 -163 567q0 80 41 130.5t119 50.5q131 0 325 -581q6 -17 8 -23q6 16 29 79.5t43.5 118.5t54 127.5t64.5 123t70.5 86.5t76.5 36q71 0 112 -49t41 -122q0 -108 -159 -550q61 -15 100.5 -46t58.5 -78t26 -93.5
t7 -110.5q0 -150 -47 -280t-132 -225t-211 -150t-278 -55q-111 0 -223 42q-149 57 -258 191.5t-109 286.5z" />
    <glyph glyph-name="_490" unicode="&#xf20a;" horiz-adv-x="2048"
d="M785 528h207q-14 -158 -98.5 -248.5t-214.5 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-203q-5 64 -35.5 99t-81.5 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t40 -51.5t66 -18q95 0 109 139zM1497 528h206
q-14 -158 -98 -248.5t-214 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-204q-4 64 -35 99t-81 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t39.5 -51.5t65.5 -18q49 0 76.5 38t33.5 101zM1856 647q0 207 -15.5 307
t-60.5 161q-6 8 -13.5 14t-21.5 15t-16 11q-86 63 -697 63q-625 0 -710 -63q-5 -4 -17.5 -11.5t-21 -14t-14.5 -14.5q-45 -60 -60 -159.5t-15 -308.5q0 -208 15 -307.5t60 -160.5q6 -8 15 -15t20.5 -14t17.5 -12q44 -33 239.5 -49t470.5 -16q610 0 697 65q5 4 17 11t20.5 14
t13.5 16q46 60 61 159t15 309zM2048 1408v-1536h-2048v1536h2048z" />
    <glyph glyph-name="_491" unicode="&#xf20b;"
d="M992 912v-496q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v496q0 112 -80 192t-192 80h-272v-1152q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v1344q0 14 9 23t23 9h464q135 0 249 -66.5t180.5 -180.5t66.5 -249zM1376 1376v-880q0 -135 -66.5 -249t-180.5 -180.5
t-249 -66.5h-464q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h160q14 0 23 -9t9 -23v-768h272q112 0 192 80t80 192v880q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
    <glyph glyph-name="_492" unicode="&#xf20c;"
d="M1311 694v-114q0 -24 -13.5 -38t-37.5 -14h-202q-24 0 -38 14t-14 38v114q0 24 14 38t38 14h202q24 0 37.5 -14t13.5 -38zM821 464v250q0 53 -32.5 85.5t-85.5 32.5h-133q-68 0 -96 -52q-28 52 -96 52h-130q-53 0 -85.5 -32.5t-32.5 -85.5v-250q0 -22 21 -22h55
q22 0 22 22v230q0 24 13.5 38t38.5 14h94q24 0 38 -14t14 -38v-230q0 -22 21 -22h54q22 0 22 22v230q0 24 14 38t38 14h97q24 0 37.5 -14t13.5 -38v-230q0 -22 22 -22h55q21 0 21 22zM1410 560v154q0 53 -33 85.5t-86 32.5h-264q-53 0 -86 -32.5t-33 -85.5v-410
q0 -21 22 -21h55q21 0 21 21v180q31 -42 94 -42h191q53 0 86 32.5t33 85.5zM1536 1176v-1072q0 -96 -68 -164t-164 -68h-1072q-96 0 -164 68t-68 164v1072q0 96 68 164t164 68h1072q96 0 164 -68t68 -164z" />
    <glyph glyph-name="_493" unicode="&#xf20d;"
d="M915 450h-294l147 551zM1001 128h311l-324 1024h-440l-324 -1024h311l383 314zM1536 1120v-960q0 -118 -85 -203t-203 -85h-960q-118 0 -203 85t-85 203v960q0 118 85 203t203 85h960q118 0 203 -85t85 -203z" />
    <glyph glyph-name="_494" unicode="&#xf20e;" horiz-adv-x="2048"
d="M2048 641q0 -21 -13 -36.5t-33 -19.5l-205 -356q3 -9 3 -18q0 -20 -12.5 -35.5t-32.5 -19.5l-193 -337q3 -8 3 -16q0 -23 -16.5 -40t-40.5 -17q-25 0 -41 18h-400q-17 -20 -43 -20t-43 20h-399q-17 -20 -43 -20q-23 0 -40 16.5t-17 40.5q0 8 4 20l-193 335
q-20 4 -32.5 19.5t-12.5 35.5q0 9 3 18l-206 356q-20 5 -32.5 20.5t-12.5 35.5q0 21 13.5 36.5t33.5 19.5l199 344q0 1 -0.5 3t-0.5 3q0 36 34 51l209 363q-4 10 -4 18q0 24 17 40.5t40 16.5q26 0 44 -21h396q16 21 43 21t43 -21h398q18 21 44 21q23 0 40 -16.5t17 -40.5
q0 -6 -4 -18l207 -358q23 -1 39 -17.5t16 -38.5q0 -13 -7 -27l187 -324q19 -4 31.5 -19.5t12.5 -35.5zM1063 -158h389l-342 354h-143l-342 -354h360q18 16 39 16t39 -16zM112 654q1 -4 1 -13q0 -10 -2 -15l208 -360l15 -6l188 199v347l-187 194q-13 -8 -29 -10zM986 1438
h-388l190 -200l554 200h-280q-16 -16 -38 -16t-38 16zM1689 226q1 6 5 11l-64 68l-17 -79h76zM1583 226l22 105l-252 266l-296 -307l63 -64h463zM1495 -142l16 28l65 310h-427l333 -343q8 4 13 5zM578 -158h5l342 354h-373v-335l4 -6q14 -5 22 -13zM552 226h402l64 66
l-309 321l-157 -166v-221zM359 226h163v189l-168 -177q4 -8 5 -12zM358 1051q0 -1 0.5 -2t0.5 -2q0 -16 -8 -29l171 -177v269zM552 1121v-311l153 -157l297 314l-223 236zM556 1425l-4 -8v-264l205 74l-191 201q-6 -2 -10 -3zM1447 1438h-16l-621 -224l213 -225zM1023 946
l-297 -315l311 -319l296 307zM688 634l-136 141v-284zM1038 270l-42 -44h85zM1374 618l238 -251l132 624l-3 5l-1 1zM1718 1018q-8 13 -8 29v2l-216 376q-5 1 -13 5l-437 -463l310 -327zM522 1142v223l-163 -282zM522 196h-163l163 -283v283zM1607 196l-48 -227l130 227h-82
zM1729 266l207 361q-2 10 -2 14q0 1 3 16l-171 296l-129 -612l77 -82q5 3 15 7z" />
    <glyph glyph-name="f210" unicode="&#xf210;"
d="M0 856q0 131 91.5 226.5t222.5 95.5h742l352 358v-1470q0 -132 -91.5 -227t-222.5 -95h-780q-131 0 -222.5 95t-91.5 227v790zM1232 102l-176 180v425q0 46 -32 79t-78 33h-484q-46 0 -78 -33t-32 -79v-492q0 -46 32.5 -79.5t77.5 -33.5h770z" />
    <glyph glyph-name="_496" unicode="&#xf211;"
d="M934 1386q-317 -121 -556 -362.5t-358 -560.5q-20 89 -20 176q0 208 102.5 384.5t278.5 279t384 102.5q82 0 169 -19zM1203 1267q93 -65 164 -155q-389 -113 -674.5 -400.5t-396.5 -676.5q-93 72 -155 162q112 386 395 671t667 399zM470 -67q115 356 379.5 622t619.5 384
q40 -92 54 -195q-292 -120 -516 -345t-343 -518q-103 14 -194 52zM1536 -125q-193 50 -367 115q-135 -84 -290 -107q109 205 274 370.5t369 275.5q-21 -152 -101 -284q65 -175 115 -370z" />
    <glyph glyph-name="f212" unicode="&#xf212;" horiz-adv-x="2048"
d="M1893 1144l155 -1272q-131 0 -257 57q-200 91 -393 91q-226 0 -374 -148q-148 148 -374 148q-193 0 -393 -91q-128 -57 -252 -57h-5l155 1272q224 127 482 127q233 0 387 -106q154 106 387 106q258 0 482 -127zM1398 157q129 0 232 -28.5t260 -93.5l-124 1021
q-171 78 -368 78q-224 0 -374 -141q-150 141 -374 141q-197 0 -368 -78l-124 -1021q105 43 165.5 65t148.5 39.5t178 17.5q202 0 374 -108q172 108 374 108zM1438 191l-55 907q-211 -4 -359 -155q-152 155 -374 155q-176 0 -336 -66l-114 -941q124 51 228.5 76t221.5 25
q209 0 374 -102q172 107 374 102z" />
    <glyph glyph-name="_498" unicode="&#xf213;" horiz-adv-x="2048"
d="M1500 165v733q0 21 -15 36t-35 15h-93q-20 0 -35 -15t-15 -36v-733q0 -20 15 -35t35 -15h93q20 0 35 15t15 35zM1216 165v531q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-531q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM924 165v429q0 20 -15 35t-35 15h-101
q-20 0 -35 -15t-15 -35v-429q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM632 165v362q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-362q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM2048 311q0 -166 -118 -284t-284 -118h-1244q-166 0 -284 118t-118 284
q0 116 63 214.5t168 148.5q-10 34 -10 73q0 113 80.5 193.5t193.5 80.5q102 0 180 -67q45 183 194 300t338 117q149 0 275 -73.5t199.5 -199.5t73.5 -275q0 -66 -14 -122q135 -33 221 -142.5t86 -247.5z" />
    <glyph glyph-name="_499" unicode="&#xf214;"
d="M0 1536h1536v-1392l-776 -338l-760 338v1392zM1436 209v926h-1336v-926l661 -294zM1436 1235v201h-1336v-201h1336zM181 937v-115h-37v115h37zM181 789v-115h-37v115h37zM181 641v-115h-37v115h37zM181 493v-115h-37v115h37zM181 345v-115h-37v115h37zM207 202l15 34
l105 -47l-15 -33zM343 142l15 34l105 -46l-15 -34zM478 82l15 34l105 -46l-15 -34zM614 23l15 33l104 -46l-15 -34zM797 10l105 46l15 -33l-105 -47zM932 70l105 46l15 -34l-105 -46zM1068 130l105 46l15 -34l-105 -46zM1203 189l105 47l15 -34l-105 -46zM259 1389v-36h-114
v36h114zM421 1389v-36h-115v36h115zM583 1389v-36h-115v36h115zM744 1389v-36h-114v36h114zM906 1389v-36h-114v36h114zM1068 1389v-36h-115v36h115zM1230 1389v-36h-115v36h115zM1391 1389v-36h-114v36h114zM181 1049v-79h-37v115h115v-36h-78zM421 1085v-36h-115v36h115z
M583 1085v-36h-115v36h115zM744 1085v-36h-114v36h114zM906 1085v-36h-114v36h114zM1068 1085v-36h-115v36h115zM1230 1085v-36h-115v36h115zM1355 970v79h-78v36h115v-115h-37zM1355 822v115h37v-115h-37zM1355 674v115h37v-115h-37zM1355 526v115h37v-115h-37zM1355 378
v115h37v-115h-37zM1355 230v115h37v-115h-37zM760 265q-129 0 -221 91.5t-92 221.5q0 129 92 221t221 92q130 0 221.5 -92t91.5 -221q0 -130 -91.5 -221.5t-221.5 -91.5zM595 646q0 -36 19.5 -56.5t49.5 -25t64 -7t64 -2t49.5 -9t19.5 -30.5q0 -49 -112 -49q-97 0 -123 51
h-3l-31 -63q67 -42 162 -42q29 0 56.5 5t55.5 16t45.5 33t17.5 53q0 46 -27.5 69.5t-67.5 27t-79.5 3t-67 5t-27.5 25.5q0 21 20.5 33t40.5 15t41 3q34 0 70.5 -11t51.5 -34h3l30 58q-3 1 -21 8.5t-22.5 9t-19.5 7t-22 7t-20 4.5t-24 4t-23 1q-29 0 -56.5 -5t-54 -16.5
t-43 -34t-16.5 -53.5z" />
    <glyph glyph-name="_500" unicode="&#xf215;" horiz-adv-x="2048"
d="M863 504q0 112 -79.5 191.5t-191.5 79.5t-191 -79.5t-79 -191.5t79 -191t191 -79t191.5 79t79.5 191zM1726 505q0 112 -79 191t-191 79t-191.5 -79t-79.5 -191q0 -113 79.5 -192t191.5 -79t191 79.5t79 191.5zM2048 1314v-1348q0 -44 -31.5 -75.5t-76.5 -31.5h-1832
q-45 0 -76.5 31.5t-31.5 75.5v1348q0 44 31.5 75.5t76.5 31.5h431q44 0 76 -31.5t32 -75.5v-161h754v161q0 44 32 75.5t76 31.5h431q45 0 76.5 -31.5t31.5 -75.5z" />
    <glyph glyph-name="_501" unicode="&#xf216;" horiz-adv-x="2048"
d="M1430 953zM1690 749q148 0 253 -98.5t105 -244.5q0 -157 -109 -261.5t-267 -104.5q-85 0 -162 27.5t-138 73.5t-118 106t-109 126t-103.5 132.5t-108.5 126.5t-117 106t-136 73.5t-159 27.5q-154 0 -251.5 -91.5t-97.5 -244.5q0 -157 104 -250t263 -93q100 0 208 37.5
t193 98.5q5 4 21 18.5t30 24t22 9.5q14 0 24.5 -10.5t10.5 -24.5q0 -24 -60 -77q-101 -88 -234.5 -142t-260.5 -54q-133 0 -245.5 58t-180 165t-67.5 241q0 205 141.5 341t347.5 136q120 0 226.5 -43.5t185.5 -113t151.5 -153t139 -167.5t133.5 -153.5t149.5 -113
t172.5 -43.5q102 0 168.5 61.5t66.5 162.5q0 95 -64.5 159t-159.5 64q-30 0 -81.5 -18.5t-68.5 -18.5q-20 0 -35.5 15t-15.5 35q0 18 8.5 57t8.5 59q0 159 -107.5 263t-266.5 104q-58 0 -111.5 -18.5t-84 -40.5t-55.5 -40.5t-33 -18.5q-15 0 -25.5 10.5t-10.5 25.5
q0 19 25 46q59 67 147 103.5t182 36.5q191 0 318 -125.5t127 -315.5q0 -37 -4 -66q57 15 115 15z" />
    <glyph glyph-name="_502" unicode="&#xf217;" horiz-adv-x="1664"
d="M1216 832q0 26 -19 45t-45 19h-128v128q0 26 -19 45t-45 19t-45 -19t-19 -45v-128h-128q-26 0 -45 -19t-19 -45t19 -45t45 -19h128v-128q0 -26 19 -45t45 -19t45 19t19 45v128h128q26 0 45 19t19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920
q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
    <glyph glyph-name="_503" unicode="&#xf218;" horiz-adv-x="1664"
d="M1280 832q0 26 -19 45t-45 19t-45 -19l-147 -146v293q0 26 -19 45t-45 19t-45 -19t-19 -45v-293l-147 146q-19 19 -45 19t-45 -19t-19 -45t19 -45l256 -256q19 -19 45 -19t45 19l256 256q19 19 19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920
q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
    <glyph glyph-name="_504" unicode="&#xf219;" horiz-adv-x="2048"
d="M212 768l623 -665l-300 665h-323zM1024 -4l349 772h-698zM538 896l204 384h-262l-288 -384h346zM1213 103l623 665h-323zM683 896h682l-204 384h-274zM1510 896h346l-288 384h-262zM1651 1382l384 -512q14 -18 13 -41.5t-17 -40.5l-960 -1024q-18 -20 -47 -20t-47 20
l-960 1024q-16 17 -17 40.5t13 41.5l384 512q18 26 51 26h1152q33 0 51 -26z" />
    <glyph glyph-name="_505" unicode="&#xf21a;" horiz-adv-x="2048"
d="M1811 -19q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83
q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83
q19 19 45 19t45 -19l83 -83zM237 19q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -82l83 82q19 19 45 19t45 -19l83 -82l64 64v293l-210 314q-17 26 -7 56.5t40 40.5l177 58v299h128v128h256v128h256v-128h256v-128h128v-299l177 -58q30 -10 40 -40.5t-7 -56.5l-210 -314
v-293l19 18q19 19 45 19t45 -19l83 -82l83 82q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83
q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83zM640 1152v-128l384 128l384 -128v128h-128v128h-512v-128h-128z" />
    <glyph glyph-name="_506" unicode="&#xf21b;"
d="M576 0l96 448l-96 128l-128 64zM832 0l128 640l-128 -64l-96 -128zM992 1010q-2 4 -4 6q-10 8 -96 8q-70 0 -167 -19q-7 -2 -21 -2t-21 2q-97 19 -167 19q-86 0 -96 -8q-2 -2 -4 -6q2 -18 4 -27q2 -3 7.5 -6.5t7.5 -10.5q2 -4 7.5 -20.5t7 -20.5t7.5 -17t8.5 -17t9 -14
t12 -13.5t14 -9.5t17.5 -8t20.5 -4t24.5 -2q36 0 59 12.5t32.5 30t14.5 34.5t11.5 29.5t17.5 12.5h12q11 0 17.5 -12.5t11.5 -29.5t14.5 -34.5t32.5 -30t59 -12.5q13 0 24.5 2t20.5 4t17.5 8t14 9.5t12 13.5t9 14t8.5 17t7.5 17t7 20.5t7.5 20.5q2 7 7.5 10.5t7.5 6.5
q2 9 4 27zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 61 4.5 118t19 125.5t37.5 123.5t63.5 103.5t93.5 74.5l-90 220h214q-22 64 -22 128q0 12 2 32q-194 40 -194 96q0 57 210 99q17 62 51.5 134t70.5 114q32 37 76 37q30 0 84 -31t84 -31t84 31
t84 31q44 0 76 -37q36 -42 70.5 -114t51.5 -134q210 -42 210 -99q0 -56 -194 -96q7 -81 -20 -160h214l-82 -225q63 -33 107.5 -96.5t65.5 -143.5t29 -151.5t8 -148.5z" />
    <glyph glyph-name="_507" unicode="&#xf21c;" horiz-adv-x="2304"
d="M2301 500q12 -103 -22 -198.5t-99 -163.5t-158.5 -106t-196.5 -31q-161 11 -279.5 125t-134.5 274q-12 111 27.5 210.5t118.5 170.5l-71 107q-96 -80 -151 -194t-55 -244q0 -27 -18.5 -46.5t-45.5 -19.5h-256h-69q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5
t-131.5 316.5t131.5 316.5t316.5 131.5q76 0 152 -27l24 45q-123 110 -304 110h-64q-26 0 -45 19t-19 45t19 45t45 19h128q78 0 145 -13.5t116.5 -38.5t71.5 -39.5t51 -36.5h512h115l-85 128h-222q-30 0 -49 22.5t-14 52.5q4 23 23 38t43 15h253q33 0 53 -28l70 -105
l114 114q19 19 46 19h101q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-179l115 -172q131 63 275 36q143 -26 244 -134.5t118 -253.5zM448 128q115 0 203 72.5t111 183.5h-314q-35 0 -55 31q-18 32 -1 63l147 277q-47 13 -91 13q-132 0 -226 -94t-94 -226t94 -226
t226 -94zM1856 128q132 0 226 94t94 226t-94 226t-226 94q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94z" />
    <glyph glyph-name="_508" unicode="&#xf21d;"
d="M1408 0q0 -63 -61.5 -113.5t-164 -81t-225 -46t-253.5 -15.5t-253.5 15.5t-225 46t-164 81t-61.5 113.5q0 49 33 88.5t91 66.5t118 44.5t131 29.5q26 5 48 -10.5t26 -41.5q5 -26 -10.5 -48t-41.5 -26q-58 -10 -106 -23.5t-76.5 -25.5t-48.5 -23.5t-27.5 -19.5t-8.5 -12
q3 -11 27 -26.5t73 -33t114 -32.5t160.5 -25t201.5 -10t201.5 10t160.5 25t114 33t73 33.5t27 27.5q-1 4 -8.5 11t-27.5 19t-48.5 23.5t-76.5 25t-106 23.5q-26 4 -41.5 26t-10.5 48q4 26 26 41.5t48 10.5q71 -12 131 -29.5t118 -44.5t91 -66.5t33 -88.5zM1024 896v-384
q0 -26 -19 -45t-45 -19h-64v-384q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v384h-64q-26 0 -45 19t-19 45v384q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5zM928 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5
t158.5 -65.5t65.5 -158.5z" />
    <glyph glyph-name="_509" unicode="&#xf21e;" horiz-adv-x="1792"
d="M1280 512h305q-5 -6 -10 -10.5t-9 -7.5l-3 -4l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-5 2 -21 20h369q22 0 39.5 13.5t22.5 34.5l70 281l190 -667q6 -20 23 -33t39 -13q21 0 38 13t23 33l146 485l56 -112q18 -35 57 -35zM1792 940q0 -145 -103 -300h-369l-111 221
q-8 17 -25.5 27t-36.5 8q-45 -5 -56 -46l-129 -430l-196 686q-6 20 -23.5 33t-39.5 13t-39 -13.5t-22 -34.5l-116 -464h-423q-103 155 -103 300q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124
t127 -344z" />
    <glyph glyph-name="venus" unicode="&#xf221;" horiz-adv-x="1280"
d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292
q11 134 80.5 249t182 188t245.5 88q170 19 319 -54t236 -212t87 -306zM128 960q0 -185 131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5z" />
    <glyph glyph-name="_511" unicode="&#xf222;"
d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-382 -383q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5
q203 0 359 -126l382 382h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
    <glyph glyph-name="_512" unicode="&#xf223;" horiz-adv-x="1280"
d="M830 1220q145 -72 233.5 -210.5t88.5 -305.5q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5
t-147.5 384.5q0 167 88.5 305.5t233.5 210.5q-165 96 -228 273q-6 16 3.5 29.5t26.5 13.5h69q21 0 29 -20q44 -106 140 -171t214 -65t214 65t140 171q8 20 37 20h61q17 0 26.5 -13.5t3.5 -29.5q-63 -177 -228 -273zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
    <glyph glyph-name="_513" unicode="&#xf224;"
d="M1024 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64
q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-149 16 -270.5 103t-186.5 223.5t-53 291.5q16 204 160 353.5t347 172.5q118 14 228 -19t198 -103l255 254h-134q-14 0 -23 9t-9 23v64zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
    <glyph glyph-name="_514" unicode="&#xf225;" horiz-adv-x="1792"
d="M1280 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64
q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5t-147.5 384.5q0 201 126 359l-52 53l-101 -111q-9 -10 -22 -10.5t-23 7.5l-48 44q-10 8 -10.5 21.5t8.5 23.5l105 115l-111 112v-134q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9
t-9 23v288q0 26 19 45t45 19h288q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-133l106 -107l86 94q9 10 22 10.5t23 -7.5l48 -44q10 -8 10.5 -21.5t-8.5 -23.5l-90 -99l57 -56q158 126 359 126t359 -126l255 254h-134q-14 0 -23 9t-9 23v64zM832 256q185 0 316.5 131.5
t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
    <glyph glyph-name="_515" unicode="&#xf226;" horiz-adv-x="1792"
d="M1790 1007q12 -155 -52.5 -292t-186 -224t-271.5 -103v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-512v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23
t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292q17 206 164.5 356.5t352.5 169.5q206 21 377 -94q171 115 377 94q205 -19 352.5 -169.5t164.5 -356.5zM896 647q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM576 512q115 0 218 57q-154 165 -154 391
q0 224 154 391q-103 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM1152 128v260q-137 15 -256 94q-119 -79 -256 -94v-260h512zM1216 512q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5q-115 0 -218 -57q154 -167 154 -391
q0 -226 -154 -391q103 -57 218 -57z" />
    <glyph glyph-name="_516" unicode="&#xf227;" horiz-adv-x="1920"
d="M1536 1120q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-31 -182 -166 -312t-318 -156q-210 -29 -384.5 80t-241.5 300q-117 6 -221 57.5t-177.5 133t-113.5 192.5t-32 230
q9 135 78 252t182 191.5t248 89.5q118 14 227.5 -19t198.5 -103l255 254h-134q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q59 -74 93 -169q182 -9 328 -124l255 254h-134q-14 0 -23 9
t-9 23v64zM1024 704q0 20 -4 58q-162 -25 -271 -150t-109 -292q0 -20 4 -58q162 25 271 150t109 292zM128 704q0 -168 111 -294t276 -149q-3 29 -3 59q0 210 135 369.5t338 196.5q-53 120 -163.5 193t-245.5 73q-185 0 -316.5 -131.5t-131.5 -316.5zM1088 -128
q185 0 316.5 131.5t131.5 316.5q0 168 -111 294t-276 149q3 -28 3 -59q0 -210 -135 -369.5t-338 -196.5q53 -120 163.5 -193t245.5 -73z" />
    <glyph glyph-name="_517" unicode="&#xf228;" horiz-adv-x="2048"
d="M1664 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-32 -180 -164.5 -310t-313.5 -157q-223 -34 -409 90q-117 -78 -256 -93v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23
t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-155 17 -279.5 109.5t-187 237.5t-39.5 307q25 187 159.5 322.5t320.5 164.5q224 34 410 -90q146 97 320 97q201 0 359 -126l255 254h-134q-14 0 -23 9
t-9 23v64zM896 391q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM128 704q0 -185 131.5 -316.5t316.5 -131.5q117 0 218 57q-154 167 -154 391t154 391q-101 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5zM1216 256q185 0 316.5 131.5t131.5 316.5
t-131.5 316.5t-316.5 131.5q-117 0 -218 -57q154 -167 154 -391t-154 -391q101 -57 218 -57z" />
    <glyph glyph-name="_518" unicode="&#xf229;"
d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-213 -214l140 -140q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-140 141l-78 -79q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5
t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5q203 0 359 -126l78 78l-172 172q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l172 -172l213 213h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
    <glyph glyph-name="_519" unicode="&#xf22a;" horiz-adv-x="1280"
d="M640 892q217 -24 364.5 -187.5t147.5 -384.5q0 -167 -87 -306t-236 -212t-319 -54q-133 15 -245.5 88t-182 188t-80.5 249q-12 155 52.5 292t186 224t271.5 103v132h-160q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h160v165l-92 -92q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22
t9 23l202 201q19 19 45 19t45 -19l202 -201q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-92 92v-165h160q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-160v-132zM576 -128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5
t131.5 -316.5t316.5 -131.5z" />
    <glyph glyph-name="_520" unicode="&#xf22b;" horiz-adv-x="2048"
d="M1901 621q19 -19 19 -45t-19 -45l-294 -294q-9 -10 -22.5 -10t-22.5 10l-45 45q-10 9 -10 22.5t10 22.5l185 185h-294v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-132q-24 -217 -187.5 -364.5t-384.5 -147.5q-167 0 -306 87t-212 236t-54 319q15 133 88 245.5
t188 182t249 80.5q155 12 292 -52.5t224 -186t103 -271.5h132v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h294l-185 185q-10 9 -10 22.5t10 22.5l45 45q9 10 22.5 10t22.5 -10zM576 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5
t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
    <glyph glyph-name="_521" unicode="&#xf22c;" horiz-adv-x="1280"
d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-612q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v612q-217 24 -364.5 187.5t-147.5 384.5q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM576 512q185 0 316.5 131.5
t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
    <glyph glyph-name="_522" unicode="&#xf22d;" horiz-adv-x="1280"
d="M1024 576q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1152 576q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123
t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5z" />
    <glyph glyph-name="_523" unicode="&#xf22e;" horiz-adv-x="1792"
 />
    <glyph glyph-name="_524" unicode="&#xf22f;" horiz-adv-x="1792"
 />
    <glyph glyph-name="_525" unicode="&#xf230;"
d="M1451 1408q35 0 60 -25t25 -60v-1366q0 -35 -25 -60t-60 -25h-391v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-735q-35 0 -60 25t-25 60v1366q0 35 25 60t60 25h1366z" />
    <glyph glyph-name="_526" unicode="&#xf231;" horiz-adv-x="1280"
d="M0 939q0 108 37.5 203.5t103.5 166.5t152 123t185 78t202 26q158 0 294 -66.5t221 -193.5t85 -287q0 -96 -19 -188t-60 -177t-100 -149.5t-145 -103t-189 -38.5q-68 0 -135 32t-96 88q-10 -39 -28 -112.5t-23.5 -95t-20.5 -71t-26 -71t-32 -62.5t-46 -77.5t-62 -86.5
l-14 -5l-9 10q-15 157 -15 188q0 92 21.5 206.5t66.5 287.5t52 203q-32 65 -32 169q0 83 52 156t132 73q61 0 95 -40.5t34 -102.5q0 -66 -44 -191t-44 -187q0 -63 45 -104.5t109 -41.5q55 0 102 25t78.5 68t56 95t38 110.5t20 111t6.5 99.5q0 173 -109.5 269.5t-285.5 96.5
q-200 0 -334 -129.5t-134 -328.5q0 -44 12.5 -85t27 -65t27 -45.5t12.5 -30.5q0 -28 -15 -73t-37 -45q-2 0 -17 3q-51 15 -90.5 56t-61 94.5t-32.5 108t-11 106.5z" />
    <glyph glyph-name="_527" unicode="&#xf232;"
d="M985 562q13 0 97.5 -44t89.5 -53q2 -5 2 -15q0 -33 -17 -76q-16 -39 -71 -65.5t-102 -26.5q-57 0 -190 62q-98 45 -170 118t-148 185q-72 107 -71 194v8q3 91 74 158q24 22 52 22q6 0 18 -1.5t19 -1.5q19 0 26.5 -6.5t15.5 -27.5q8 -20 33 -88t25 -75q0 -21 -34.5 -57.5
t-34.5 -46.5q0 -7 5 -15q34 -73 102 -137q56 -53 151 -101q12 -7 22 -7q15 0 54 48.5t52 48.5zM782 32q127 0 243.5 50t200.5 134t134 200.5t50 243.5t-50 243.5t-134 200.5t-200.5 134t-243.5 50t-243.5 -50t-200.5 -134t-134 -200.5t-50 -243.5q0 -203 120 -368l-79 -233
l242 77q158 -104 345 -104zM782 1414q153 0 292.5 -60t240.5 -161t161 -240.5t60 -292.5t-60 -292.5t-161 -240.5t-240.5 -161t-292.5 -60q-195 0 -365 94l-417 -134l136 405q-108 178 -108 389q0 153 60 292.5t161 240.5t240.5 161t292.5 60z" />
    <glyph glyph-name="_528" unicode="&#xf233;" horiz-adv-x="1792"
d="M128 128h1024v128h-1024v-128zM128 640h1024v128h-1024v-128zM1696 192q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM128 1152h1024v128h-1024v-128zM1696 704q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1696 1216
q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1792 384v-384h-1792v384h1792zM1792 896v-384h-1792v384h1792zM1792 1408v-384h-1792v384h1792z" />
    <glyph glyph-name="_529" unicode="&#xf234;" horiz-adv-x="2048"
d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1664 512h352q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-352q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5
t-9.5 22.5v352h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v352q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5v-352zM928 288q0 -52 38 -90t90 -38h256v-238q-68 -50 -171 -50h-874q-121 0 -194 69t-73 190q0 53 3.5 103.5t14 109t26.5 108.5
t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q79 -61 154.5 -91.5t164.5 -30.5t164.5 30.5t154.5 91.5q20 17 39 17q132 0 217 -96h-223q-52 0 -90 -38t-38 -90v-192z" />
    <glyph glyph-name="_530" unicode="&#xf235;" horiz-adv-x="2048"
d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1781 320l249 -249q9 -9 9 -23q0 -13 -9 -22l-136 -136q-9 -9 -22 -9q-14 0 -23 9l-249 249l-249 -249q-9 -9 -23 -9q-13 0 -22 9l-136 136
q-9 9 -9 22q0 14 9 23l249 249l-249 249q-9 9 -9 23q0 13 9 22l136 136q9 9 22 9q14 0 23 -9l249 -249l249 249q9 9 23 9q13 0 22 -9l136 -136q9 -9 9 -22q0 -14 -9 -23zM1283 320l-181 -181q-37 -37 -37 -91q0 -53 37 -90l83 -83q-21 -3 -44 -3h-874q-121 0 -194 69
t-73 190q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q154 -122 319 -122t319 122q20 17 39 17q28 0 57 -6q-28 -27 -41 -50t-13 -56q0 -54 37 -91z" />
    <glyph glyph-name="_531" unicode="&#xf236;" horiz-adv-x="2048"
d="M256 512h1728q26 0 45 -19t19 -45v-448h-256v256h-1536v-256h-256v1216q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-704zM832 832q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM2048 576v64q0 159 -112.5 271.5t-271.5 112.5h-704
q-26 0 -45 -19t-19 -45v-384h1152z" />
    <glyph glyph-name="_532" unicode="&#xf237;"
d="M1536 1536l-192 -448h192v-192h-274l-55 -128h329v-192h-411l-357 -832l-357 832h-411v192h329l-55 128h-274v192h192l-192 448h256l323 -768h378l323 768h256zM768 320l108 256h-216z" />
    <glyph glyph-name="_533" unicode="&#xf238;"
d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM768 192q80 0 136 56t56 136t-56 136t-136 56
t-136 -56t-56 -136t56 -136t136 -56zM1344 768v512h-1152v-512h1152z" />
    <glyph glyph-name="_534" unicode="&#xf239;"
d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM288 224q66 0 113 47t47 113t-47 113t-113 47
t-113 -47t-47 -113t47 -113t113 -47zM704 768v512h-544v-512h544zM1248 224q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM1408 768v512h-576v-512h576z" />
    <glyph glyph-name="_535" unicode="&#xf23a;" horiz-adv-x="1792"
d="M597 1115v-1173q0 -25 -12.5 -42.5t-36.5 -17.5q-17 0 -33 8l-465 233q-21 10 -35.5 33.5t-14.5 46.5v1140q0 20 10 34t29 14q14 0 44 -15l511 -256q3 -3 3 -5zM661 1014l534 -866l-534 266v600zM1792 996v-1054q0 -25 -14 -40.5t-38 -15.5t-47 13l-441 220zM1789 1116
q0 -3 -256.5 -419.5t-300.5 -487.5l-390 634l324 527q17 28 52 28q14 0 26 -6l541 -270q4 -2 4 -6z" />
    <glyph glyph-name="_536" unicode="&#xf23b;"
d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1408v-1536h-1536v1536h1536z" />
    <glyph glyph-name="_537" unicode="&#xf23c;" horiz-adv-x="2296"
d="M478 -139q-8 -16 -27 -34.5t-37 -25.5q-25 -9 -51.5 3.5t-28.5 31.5q-1 22 40 55t68 38q23 4 34 -21.5t2 -46.5zM1819 -139q7 -16 26 -34.5t38 -25.5q25 -9 51.5 3.5t27.5 31.5q2 22 -39.5 55t-68.5 38q-22 4 -33 -21.5t-2 -46.5zM1867 -30q13 -27 56.5 -59.5t77.5 -41.5
q45 -13 82 4.5t37 50.5q0 46 -67.5 100.5t-115.5 59.5q-40 5 -63.5 -37.5t-6.5 -76.5zM428 -30q-13 -27 -56 -59.5t-77 -41.5q-45 -13 -82 4.5t-37 50.5q0 46 67.5 100.5t115.5 59.5q40 5 63 -37.5t6 -76.5zM1158 1094h1q-41 0 -76 -15q27 -8 44 -30.5t17 -49.5
q0 -35 -27 -60t-65 -25q-52 0 -80 43q-5 -23 -5 -42q0 -74 56 -126.5t135 -52.5q80 0 136 52.5t56 126.5t-56 126.5t-136 52.5zM1462 1312q-99 109 -220.5 131.5t-245.5 -44.5q27 60 82.5 96.5t118 39.5t121.5 -17t99.5 -74.5t44.5 -131.5zM2212 73q8 -11 -11 -42
q7 -23 7 -40q1 -56 -44.5 -112.5t-109.5 -91.5t-118 -37q-48 -2 -92 21.5t-66 65.5q-687 -25 -1259 0q-23 -41 -66.5 -65t-92.5 -22q-86 3 -179.5 80.5t-92.5 160.5q2 22 7 40q-19 31 -11 42q6 10 31 1q14 22 41 51q-7 29 2 38q11 10 39 -4q29 20 59 34q0 29 13 37
q23 12 51 -16q35 5 61 -2q18 -4 38 -19v73q-11 0 -18 2q-53 10 -97 44.5t-55 87.5q-9 38 0 81q15 62 93 95q2 17 19 35.5t36 23.5t33 -7.5t19 -30.5h13q46 -5 60 -23q3 -3 5 -7q10 1 30.5 3.5t30.5 3.5q-15 11 -30 17q-23 40 -91 43q0 6 1 10q-62 2 -118.5 18.5t-84.5 47.5
q-32 36 -42.5 92t-2.5 112q16 126 90 179q23 16 52 4.5t32 -40.5q0 -1 1.5 -14t2.5 -21t3 -20t5.5 -19t8.5 -10q27 -14 76 -12q48 46 98 74q-40 4 -162 -14l47 46q61 58 163 111q145 73 282 86q-20 8 -41 15.5t-47 14t-42.5 10.5t-47.5 11t-43 10q595 126 904 -139
q98 -84 158 -222q85 -10 121 9h1q5 3 8.5 10t5.5 19t3 19.5t3 21.5l1 14q3 28 32 40t52 -5q73 -52 91 -178q7 -57 -3.5 -113t-42.5 -91q-28 -32 -83.5 -48.5t-115.5 -18.5v-10q-71 -2 -95 -43q-14 -5 -31 -17q11 -1 32 -3.5t30 -3.5q1 5 5 8q16 18 60 23h13q5 18 19 30t33 8
t36 -23t19 -36q79 -32 93 -95q9 -40 1 -81q-12 -53 -56 -88t-97 -44q-10 -2 -17 -2q0 -49 -1 -73q20 15 38 19q26 7 61 2q28 28 51 16q14 -9 14 -37q33 -16 59 -34q27 13 38 4q10 -10 2 -38q28 -30 41 -51q23 8 31 -1zM1937 1025q0 -29 -9 -54q82 -32 112 -132
q4 37 -9.5 98.5t-41.5 90.5q-20 19 -36 17t-16 -20zM1859 925q35 -42 47.5 -108.5t-0.5 -124.5q67 13 97 45q13 14 18 28q-3 64 -31 114.5t-79 66.5q-15 -15 -52 -21zM1822 921q-30 0 -44 1q42 -115 53 -239q21 0 43 3q16 68 1 135t-53 100zM258 839q30 100 112 132
q-9 25 -9 54q0 18 -16.5 20t-35.5 -17q-28 -29 -41.5 -90.5t-9.5 -98.5zM294 737q29 -31 97 -45q-13 58 -0.5 124.5t47.5 108.5v0q-37 6 -52 21q-51 -16 -78.5 -66t-31.5 -115q9 -17 18 -28zM471 683q14 124 73 235q-19 -4 -55 -18l-45 -19v1q-46 -89 -20 -196q25 -3 47 -3z
M1434 644q8 -38 16.5 -108.5t11.5 -89.5q3 -18 9.5 -21.5t23.5 4.5q40 20 62 85.5t23 125.5q-24 2 -146 4zM1152 1285q-116 0 -199 -82.5t-83 -198.5q0 -117 83 -199.5t199 -82.5t199 82.5t83 199.5q0 116 -83 198.5t-199 82.5zM1380 646q-105 2 -211 0v1q-1 -27 2.5 -86
t13.5 -66q29 -14 93.5 -14.5t95.5 10.5q9 3 11 39t-0.5 69.5t-4.5 46.5zM1112 447q8 4 9.5 48t-0.5 88t-4 63v1q-212 -3 -214 -3q-4 -20 -7 -62t0 -83t14 -46q34 -15 101 -16t101 10zM718 636q-16 -59 4.5 -118.5t77.5 -84.5q15 -8 24 -5t12 21q3 16 8 90t10 103
q-69 -2 -136 -6zM591 510q3 -23 -34 -36q132 -141 271.5 -240t305.5 -154q172 49 310.5 146t293.5 250q-33 13 -30 34q0 2 0.5 3.5t1.5 3t1 2.5v1v-1q-17 2 -50 5.5t-48 4.5q-26 -90 -82 -132q-51 -38 -82 1q-5 6 -9 14q-7 13 -17 62q-2 -5 -5 -9t-7.5 -7t-8 -5.5t-9.5 -4
l-10 -2.5t-12 -2l-12 -1.5t-13.5 -1t-13.5 -0.5q-106 -9 -163 11q-4 -17 -10 -26.5t-21 -15t-23 -7t-36 -3.5q-6 -1 -9 -1q-179 -17 -203 40q-2 -63 -56 -54q-47 8 -91 54q-12 13 -20 26q-17 29 -26 65q-58 -6 -87 -10q1 -2 4 -10zM507 -118q3 14 3 30q-17 71 -51 130
t-73 70q-41 12 -101.5 -14.5t-104.5 -80t-39 -107.5q35 -53 100 -93t119 -42q51 -2 94 28t53 79zM510 53q23 -63 27 -119q195 113 392 174q-98 52 -180.5 120t-179.5 165q-6 -4 -29 -13q0 -1 -1 -4t-1 -5q31 -18 22 -37q-12 -23 -56 -34q-10 -13 -29 -24h-1q-2 -83 1 -150
q19 -34 35 -73zM579 -113q532 -21 1145 0q-254 147 -428 196q-76 -35 -156 -57q-8 -3 -16 0q-65 21 -129 49q-208 -60 -416 -188h-1v-1q1 0 1 1zM1763 -67q4 54 28 120q14 38 33 71l-1 -1q3 77 3 153q-15 8 -30 25q-42 9 -56 33q-9 20 22 38q-2 4 -2 9q-16 4 -28 12
q-204 -190 -383 -284q198 -59 414 -176zM2155 -90q5 54 -39 107.5t-104 80t-102 14.5q-38 -11 -72.5 -70.5t-51.5 -129.5q0 -16 3 -30q10 -49 53 -79t94 -28q54 2 119 42t100 93z" />
    <glyph glyph-name="_538" unicode="&#xf23d;" horiz-adv-x="2304"
d="M1524 -25q0 -68 -48 -116t-116 -48t-116.5 48t-48.5 116t48.5 116.5t116.5 48.5t116 -48.5t48 -116.5zM775 -25q0 -68 -48.5 -116t-116.5 -48t-116 48t-48 116t48 116.5t116 48.5t116.5 -48.5t48.5 -116.5zM0 1469q57 -60 110.5 -104.5t121 -82t136 -63t166 -45.5
t200 -31.5t250 -18.5t304 -9.5t372.5 -2.5q139 0 244.5 -5t181 -16.5t124 -27.5t71 -39.5t24 -51.5t-19.5 -64t-56.5 -76.5t-89.5 -91t-116 -104.5t-139 -119q-185 -157 -286 -247q29 51 76.5 109t94 105.5t94.5 98.5t83 91.5t54 80.5t13 70t-45.5 55.5t-116.5 41t-204 23.5
t-304 5q-168 -2 -314 6t-256 23t-204.5 41t-159.5 51.5t-122.5 62.5t-91.5 66.5t-68 71.5t-50.5 69.5t-40 68t-36.5 59.5z" />
    <glyph glyph-name="_539" unicode="&#xf23e;" horiz-adv-x="1792"
d="M896 1472q-169 0 -323 -66t-265.5 -177.5t-177.5 -265.5t-66 -323t66 -323t177.5 -265.5t265.5 -177.5t323 -66t323 66t265.5 177.5t177.5 265.5t66 323t-66 323t-177.5 265.5t-265.5 177.5t-323 66zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348
t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM496 704q16 0 16 -16v-480q0 -16 -16 -16h-32q-16 0 -16 16v480q0 16 16 16h32zM896 640q53 0 90.5 -37.5t37.5 -90.5q0 -35 -17.5 -64t-46.5 -46v-114q0 -14 -9 -23
t-23 -9h-64q-14 0 -23 9t-9 23v114q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5zM896 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM544 928v-96
q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 93 65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5v-96q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 146 -103 249t-249 103t-249 -103t-103 -249zM1408 192v512q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-512
q0 -26 19 -45t45 -19h896q26 0 45 19t19 45z" />
    <glyph glyph-name="_540" unicode="&#xf240;" horiz-adv-x="2304"
d="M1920 1024v-768h-1664v768h1664zM2048 448h128v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288zM2304 832v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113
v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160q53 0 90.5 -37.5t37.5 -90.5z" />
    <glyph glyph-name="_541" unicode="&#xf241;" horiz-adv-x="2304"
d="M256 256v768h1280v-768h-1280zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
    <glyph glyph-name="_542" unicode="&#xf242;" horiz-adv-x="2304"
d="M256 256v768h896v-768h-896zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
    <glyph glyph-name="_543" unicode="&#xf243;" horiz-adv-x="2304"
d="M256 256v768h512v-768h-512zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
    <glyph glyph-name="_544" unicode="&#xf244;" horiz-adv-x="2304"
d="M2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23
v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
    <glyph glyph-name="_545" unicode="&#xf245;" horiz-adv-x="1280"
d="M1133 493q31 -30 14 -69q-17 -40 -59 -40h-382l201 -476q10 -25 0 -49t-34 -35l-177 -75q-25 -10 -49 0t-35 34l-191 452l-312 -312q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v1504q0 42 40 59q12 5 24 5q27 0 45 -19z" />
    <glyph glyph-name="_546" unicode="&#xf246;" horiz-adv-x="1024"
d="M832 1408q-320 0 -320 -224v-416h128v-128h-128v-544q0 -224 320 -224h64v-128h-64q-272 0 -384 146q-112 -146 -384 -146h-64v128h64q320 0 320 224v544h-128v128h128v416q0 224 -320 224h-64v128h64q272 0 384 -146q112 146 384 146h64v-128h-64z" />
    <glyph glyph-name="_547" unicode="&#xf247;" horiz-adv-x="2048"
d="M2048 1152h-128v-1024h128v-384h-384v128h-1280v-128h-384v384h128v1024h-128v384h384v-128h1280v128h384v-384zM1792 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 -128v128h-128v-128h128zM1664 0v128h128v1024h-128v128h-1280v-128h-128v-1024h128v-128
h1280zM1920 -128v128h-128v-128h128zM1280 896h384v-768h-896v256h-384v768h896v-256zM512 512h640v512h-640v-512zM1536 256v512h-256v-384h-384v-128h640z" />
    <glyph glyph-name="_548" unicode="&#xf248;" horiz-adv-x="2304"
d="M2304 768h-128v-640h128v-384h-384v128h-896v-128h-384v384h128v128h-384v-128h-384v384h128v640h-128v384h384v-128h896v128h384v-384h-128v-128h384v128h384v-384zM2048 1024v-128h128v128h-128zM1408 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 256
v128h-128v-128h128zM1536 384h-128v-128h128v128zM384 384h896v128h128v640h-128v128h-896v-128h-128v-640h128v-128zM896 -128v128h-128v-128h128zM2176 -128v128h-128v-128h128zM2048 128v640h-128v128h-384v-384h128v-384h-384v128h-384v-128h128v-128h896v128h128z" />
    <glyph glyph-name="_549" unicode="&#xf249;"
d="M1024 288v-416h-928q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68v-928h-416q-40 0 -68 -28t-28 -68zM1152 256h381q-15 -82 -65 -132l-184 -184q-50 -50 -132 -65v381z" />
    <glyph glyph-name="_550" unicode="&#xf24a;"
d="M1400 256h-248v-248q29 10 41 22l185 185q12 12 22 41zM1120 384h288v896h-1280v-1280h896v288q0 40 28 68t68 28zM1536 1312v-1024q0 -40 -20 -88t-48 -76l-184 -184q-28 -28 -76 -48t-88 -20h-1024q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68
z" />
    <glyph glyph-name="_551" unicode="&#xf24b;" horiz-adv-x="2304"
d="M1951 538q0 -26 -15.5 -44.5t-38.5 -23.5q-8 -2 -18 -2h-153v140h153q10 0 18 -2q23 -5 38.5 -23.5t15.5 -44.5zM1933 751q0 -25 -15 -42t-38 -21q-3 -1 -15 -1h-139v129h139q3 0 8.5 -0.5t6.5 -0.5q23 -4 38 -21.5t15 -42.5zM728 587v308h-228v-308q0 -58 -38 -94.5
t-105 -36.5q-108 0 -229 59v-112q53 -15 121 -23t109 -9l42 -1q328 0 328 217zM1442 403v113q-99 -52 -200 -59q-108 -8 -169 41t-61 142t61 142t169 41q101 -7 200 -58v112q-48 12 -100 19.5t-80 9.5l-28 2q-127 6 -218.5 -14t-140.5 -60t-71 -88t-22 -106t22 -106t71 -88
t140.5 -60t218.5 -14q101 4 208 31zM2176 518q0 54 -43 88.5t-109 39.5v3q57 8 89 41.5t32 79.5q0 55 -41 88t-107 36q-3 0 -12 0.5t-14 0.5h-455v-510h491q74 0 121.5 36.5t47.5 96.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90
t90 38h2048q52 0 90 -38t38 -90z" />
    <glyph glyph-name="_552" unicode="&#xf24c;" horiz-adv-x="2304"
d="M858 295v693q-106 -41 -172 -135.5t-66 -211.5t66 -211.5t172 -134.5zM1362 641q0 117 -66 211.5t-172 135.5v-694q106 41 172 135.5t66 211.5zM1577 641q0 -159 -78.5 -294t-213.5 -213.5t-294 -78.5q-119 0 -227.5 46.5t-187 125t-125 187t-46.5 227.5q0 159 78.5 294
t213.5 213.5t294 78.5t294 -78.5t213.5 -213.5t78.5 -294zM1960 634q0 139 -55.5 261.5t-147.5 205.5t-213.5 131t-252.5 48h-301q-176 0 -323.5 -81t-235 -230t-87.5 -335q0 -171 87 -317.5t236 -231.5t323 -85h301q129 0 251.5 50.5t214.5 135t147.5 202.5t55.5 246z
M2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
    <glyph glyph-name="_553" unicode="&#xf24d;" horiz-adv-x="1792"
d="M1664 -96v1088q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5zM1792 992v-1088q0 -66 -47 -113t-113 -47h-1088q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113
zM1408 1376v-160h-128v160q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h160v-128h-160q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113z" />
    <glyph glyph-name="_554" unicode="&#xf24e;" horiz-adv-x="2304"
d="M1728 1088l-384 -704h768zM448 1088l-384 -704h768zM1269 1280q-14 -40 -45.5 -71.5t-71.5 -45.5v-1291h608q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1344q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h608v1291q-40 14 -71.5 45.5t-45.5 71.5h-491q-14 0 -23 9t-9 23v64
q0 14 9 23t23 9h491q21 57 70 92.5t111 35.5t111 -35.5t70 -92.5h491q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-491zM1088 1264q33 0 56.5 23.5t23.5 56.5t-23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5zM2176 384q0 -73 -46.5 -131t-117.5 -91
t-144.5 -49.5t-139.5 -16.5t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81zM896 384q0 -73 -46.5 -131t-117.5 -91t-144.5 -49.5t-139.5 -16.5
t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81z" />
    <glyph glyph-name="_555" unicode="&#xf250;"
d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-77 -29 -149 -92.5
t-129.5 -152.5t-92.5 -210t-35 -253h1024q0 132 -35 253t-92.5 210t-129.5 152.5t-149 92.5q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
    <glyph glyph-name="_556" unicode="&#xf251;"
d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -66 9 -128h1006q9 61 9 128zM1280 -128q0 130 -34 249.5t-90.5 208t-126.5 152t-146 94.5h-230q-76 -31 -146 -94.5t-126.5 -152t-90.5 -208t-34 -249.5h1024z" />
    <glyph glyph-name="_557" unicode="&#xf252;"
d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -206 85 -384h854q85 178 85 384zM1223 192q-54 141 -145.5 241.5t-194.5 142.5h-230q-103 -42 -194.5 -142.5t-145.5 -241.5h910z" />
    <glyph glyph-name="_558" unicode="&#xf253;"
d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-137 -51 -244 -196
h700q-107 145 -244 196q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
    <glyph glyph-name="_559" unicode="&#xf254;"
d="M1504 -64q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472zM130 0q3 55 16 107t30 95t46 87t53.5 76t64.5 69.5t66 60t70.5 55t66.5 47.5t65 43q-43 28 -65 43t-66.5 47.5t-70.5 55t-66 60t-64.5 69.5t-53.5 76t-46 87
t-30 95t-16 107h1276q-3 -55 -16 -107t-30 -95t-46 -87t-53.5 -76t-64.5 -69.5t-66 -60t-70.5 -55t-66.5 -47.5t-65 -43q43 -28 65 -43t66.5 -47.5t70.5 -55t66 -60t64.5 -69.5t53.5 -76t46 -87t30 -95t16 -107h-1276zM1504 1536q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9
h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472z" />
    <glyph glyph-name="_560" unicode="&#xf255;"
d="M768 1152q-53 0 -90.5 -37.5t-37.5 -90.5v-128h-32v93q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-429l-32 30v172q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-224q0 -47 35 -82l310 -296q39 -39 39 -102q0 -26 19 -45t45 -19h640q26 0 45 19t19 45v25
q0 41 10 77l108 436q10 36 10 77v246q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-32h-32v125q0 40 -25 72.5t-64 40.5q-14 2 -23 2q-46 0 -79 -33t-33 -79v-128h-32v122q0 51 -32.5 89.5t-82.5 43.5q-5 1 -13 1zM768 1280q84 0 149 -50q57 34 123 34q59 0 111 -27
t86 -76q27 7 59 7q100 0 170 -71.5t70 -171.5v-246q0 -51 -13 -108l-109 -436q-6 -24 -6 -71q0 -80 -56 -136t-136 -56h-640q-84 0 -138 58.5t-54 142.5l-308 296q-76 73 -76 175v224q0 99 70.5 169.5t169.5 70.5q11 0 16 -1q6 95 75.5 160t164.5 65q52 0 98 -21
q72 69 174 69z" />
    <glyph glyph-name="_561" unicode="&#xf256;" horiz-adv-x="1792"
d="M880 1408q-46 0 -79 -33t-33 -79v-656h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528v-256l-154 205q-38 51 -102 51q-53 0 -90.5 -37.5t-37.5 -90.5q0 -43 26 -77l384 -512q38 -51 102 -51h688q34 0 61 22t34 56l76 405q5 32 5 59v498q0 46 -33 79t-79 33t-79 -33
t-33 -79v-272h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528h-32v656q0 46 -33 79t-79 33zM880 1536q68 0 125.5 -35.5t88.5 -96.5q19 4 42 4q99 0 169.5 -70.5t70.5 -169.5v-17q105 6 180.5 -64t75.5 -175v-498q0 -40 -8 -83l-76 -404q-14 -79 -76.5 -131t-143.5 -52
h-688q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 106 75 181t181 75q78 0 128 -34v434q0 99 70.5 169.5t169.5 70.5q23 0 42 -4q31 61 88.5 96.5t125.5 35.5z" />
    <glyph glyph-name="_562" unicode="&#xf257;" horiz-adv-x="1792"
d="M1073 -128h-177q-163 0 -226 141q-23 49 -23 102v5q-62 30 -98.5 88.5t-36.5 127.5q0 38 5 48h-261q-106 0 -181 75t-75 181t75 181t181 75h113l-44 17q-74 28 -119.5 93.5t-45.5 145.5q0 106 75 181t181 75q46 0 91 -17l628 -239h401q106 0 181 -75t75 -181v-668
q0 -88 -54 -157.5t-140 -90.5l-339 -85q-92 -23 -186 -23zM1024 583l-155 -71l-163 -74q-30 -14 -48 -41.5t-18 -60.5q0 -46 33 -79t79 -33q26 0 46 10l338 154q-49 10 -80.5 50t-31.5 90v55zM1344 272q0 46 -33 79t-79 33q-26 0 -46 -10l-290 -132q-28 -13 -37 -17
t-30.5 -17t-29.5 -23.5t-16 -29t-8 -40.5q0 -50 31.5 -82t81.5 -32q20 0 38 9l352 160q30 14 48 41.5t18 60.5zM1112 1024l-650 248q-24 8 -46 8q-53 0 -90.5 -37.5t-37.5 -90.5q0 -40 22.5 -73t59.5 -47l526 -200v-64h-640q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5
t90.5 -37.5h535l233 106v198q0 63 46 106l111 102h-69zM1073 0q82 0 155 19l339 85q43 11 70 45.5t27 78.5v668q0 53 -37.5 90.5t-90.5 37.5h-308l-136 -126q-36 -33 -36 -82v-296q0 -46 33 -77t79 -31t79 35t33 81v208h32v-208q0 -70 -57 -114q52 -8 86.5 -48.5t34.5 -93.5
q0 -42 -23 -78t-61 -53l-310 -141h91z" />
    <glyph glyph-name="_563" unicode="&#xf258;" horiz-adv-x="2048"
d="M1151 1536q61 0 116 -28t91 -77l572 -781q118 -159 118 -359v-355q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v177l-286 143h-546q-80 0 -136 56t-56 136v32q0 119 84.5 203.5t203.5 84.5h420l42 128h-686q-100 0 -173.5 67.5t-81.5 166.5q-65 79 -65 182v32
q0 80 56 136t136 56h959zM1920 -64v355q0 157 -93 284l-573 781q-39 52 -103 52h-959q-26 0 -45 -19t-19 -45q0 -32 1.5 -49.5t9.5 -40.5t25 -43q10 31 35.5 50t56.5 19h832v-32h-832q-26 0 -45 -19t-19 -45q0 -44 3 -58q8 -44 44 -73t81 -29h640h91q40 0 68 -28t28 -68
q0 -15 -5 -30l-64 -192q-10 -29 -35 -47.5t-56 -18.5h-443q-66 0 -113 -47t-47 -113v-32q0 -26 19 -45t45 -19h561q16 0 29 -7l317 -158q24 -13 38.5 -36t14.5 -50v-197q0 -26 19 -45t45 -19h384q26 0 45 19t19 45z" />
    <glyph glyph-name="_564" unicode="&#xf259;" horiz-adv-x="2048"
d="M459 -256q-77 0 -137.5 47.5t-79.5 122.5l-101 401q-13 57 -13 108q0 45 -5 67l-116 477q-7 27 -7 57q0 93 62 161t155 78q17 85 82.5 139t152.5 54q83 0 148 -51.5t85 -132.5l83 -348l103 428q20 81 85 132.5t148 51.5q89 0 155.5 -57.5t80.5 -144.5q92 -10 152 -79
t60 -162q0 -24 -7 -59l-123 -512q10 7 37.5 28.5t38.5 29.5t35 23t41 20.5t41.5 11t49.5 5.5q105 0 180 -74t75 -179q0 -62 -28.5 -118t-78.5 -94l-507 -380q-68 -51 -153 -51h-694zM1104 1408q-38 0 -68.5 -24t-39.5 -62l-164 -682h-127l-145 602q-9 38 -39.5 62t-68.5 24
q-48 0 -80 -33t-32 -80q0 -15 3 -28l132 -547h-26l-99 408q-9 37 -40 62.5t-69 25.5q-47 0 -80 -33t-33 -79q0 -14 3 -26l116 -478q7 -28 9 -86t10 -88l100 -401q8 -32 34 -52.5t59 -20.5h694q42 0 76 26l507 379q56 43 56 110q0 52 -37.5 88.5t-89.5 36.5q-43 0 -77 -26
l-307 -230v227q0 4 32 138t68 282t39 161q4 18 4 29q0 47 -32 81t-79 34q-39 0 -69.5 -24t-39.5 -62l-116 -482h-26l150 624q3 14 3 28q0 48 -31.5 82t-79.5 34z" />
    <glyph glyph-name="_565" unicode="&#xf25a;" horiz-adv-x="1792"
d="M640 1408q-53 0 -90.5 -37.5t-37.5 -90.5v-512v-384l-151 202q-41 54 -107 54q-52 0 -89 -38t-37 -90q0 -43 26 -77l384 -512q38 -51 102 -51h718q22 0 39.5 13.5t22.5 34.5l92 368q24 96 24 194v217q0 41 -28 71t-68 30t-68 -28t-28 -68h-32v61q0 48 -32 81.5t-80 33.5
q-46 0 -79 -33t-33 -79v-64h-32v90q0 55 -37 94.5t-91 39.5q-53 0 -90.5 -37.5t-37.5 -90.5v-96h-32v570q0 55 -37 94.5t-91 39.5zM640 1536q107 0 181.5 -77.5t74.5 -184.5v-220q22 2 32 2q99 0 173 -69q47 21 99 21q113 0 184 -87q27 7 56 7q94 0 159 -67.5t65 -161.5
v-217q0 -116 -28 -225l-92 -368q-16 -64 -68 -104.5t-118 -40.5h-718q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 105 74.5 180.5t179.5 75.5q71 0 130 -35v547q0 106 75 181t181 75zM768 128v384h-32v-384h32zM1024 128v384h-32v-384h32zM1280 128v384h-32
v-384h32z" />
    <glyph glyph-name="_566" unicode="&#xf25b;"
d="M1288 889q60 0 107 -23q141 -63 141 -226v-177q0 -94 -23 -186l-85 -339q-21 -86 -90.5 -140t-157.5 -54h-668q-106 0 -181 75t-75 181v401l-239 628q-17 45 -17 91q0 106 75 181t181 75q80 0 145.5 -45.5t93.5 -119.5l17 -44v113q0 106 75 181t181 75t181 -75t75 -181
v-261q27 5 48 5q69 0 127.5 -36.5t88.5 -98.5zM1072 896q-33 0 -60.5 -18t-41.5 -48l-74 -163l-71 -155h55q50 0 90 -31.5t50 -80.5l154 338q10 20 10 46q0 46 -33 79t-79 33zM1293 761q-22 0 -40.5 -8t-29 -16t-23.5 -29.5t-17 -30.5t-17 -37l-132 -290q-10 -20 -10 -46
q0 -46 33 -79t79 -33q33 0 60.5 18t41.5 48l160 352q9 18 9 38q0 50 -32 81.5t-82 31.5zM128 1120q0 -22 8 -46l248 -650v-69l102 111q43 46 106 46h198l106 233v535q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-640h-64l-200 526q-14 37 -47 59.5t-73 22.5
q-53 0 -90.5 -37.5t-37.5 -90.5zM1180 -128q44 0 78.5 27t45.5 70l85 339q19 73 19 155v91l-141 -310q-17 -38 -53 -61t-78 -23q-53 0 -93.5 34.5t-48.5 86.5q-44 -57 -114 -57h-208v32h208q46 0 81 33t35 79t-31 79t-77 33h-296q-49 0 -82 -36l-126 -136v-308
q0 -53 37.5 -90.5t90.5 -37.5h668z" />
    <glyph glyph-name="_567" unicode="&#xf25c;" horiz-adv-x="1973"
d="M857 992v-117q0 -13 -9.5 -22t-22.5 -9h-298v-812q0 -13 -9 -22.5t-22 -9.5h-135q-13 0 -22.5 9t-9.5 23v812h-297q-13 0 -22.5 9t-9.5 22v117q0 14 9 23t23 9h793q13 0 22.5 -9.5t9.5 -22.5zM1895 995l77 -961q1 -13 -8 -24q-10 -10 -23 -10h-134q-12 0 -21 8.5
t-10 20.5l-46 588l-189 -425q-8 -19 -29 -19h-120q-20 0 -29 19l-188 427l-45 -590q-1 -12 -10 -20.5t-21 -8.5h-135q-13 0 -23 10q-9 10 -9 24l78 961q1 12 10 20.5t21 8.5h142q20 0 29 -19l220 -520q10 -24 20 -51q3 7 9.5 24.5t10.5 26.5l221 520q9 19 29 19h141
q13 0 22 -8.5t10 -20.5z" />
    <glyph glyph-name="_568" unicode="&#xf25d;" horiz-adv-x="1792"
d="M1042 833q0 88 -60 121q-33 18 -117 18h-123v-281h162q66 0 102 37t36 105zM1094 548l205 -373q8 -17 -1 -31q-8 -16 -27 -16h-152q-20 0 -28 17l-194 365h-155v-350q0 -14 -9 -23t-23 -9h-134q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h294q128 0 190 -24q85 -31 134 -109
t49 -180q0 -92 -42.5 -165.5t-115.5 -109.5q6 -10 9 -16zM896 1376q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM1792 640
q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
    <glyph glyph-name="_569" unicode="&#xf25e;" horiz-adv-x="1792"
d="M605 303q153 0 257 104q14 18 3 36l-45 82q-6 13 -24 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13.5t-23.5 -14.5t-28.5 -13t-33.5 -9.5t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78
q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-148 0 -246 -96.5t-98 -240.5q0 -146 97 -241.5t247 -95.5zM1235 303q153 0 257 104q14 18 4 36l-45 82q-8 14 -25 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13.5t-23.5 -14.5t-28.5 -13t-33.5 -9.5
t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-147 0 -245.5 -96.5t-98.5 -240.5q0 -146 97 -241.5t247 -95.5zM896 1376
q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191
t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71z" />
    <glyph glyph-name="f260" unicode="&#xf260;" horiz-adv-x="2048"
d="M736 736l384 -384l-384 -384l-672 672l672 672l168 -168l-96 -96l-72 72l-480 -480l480 -480l193 193l-289 287zM1312 1312l672 -672l-672 -672l-168 168l96 96l72 -72l480 480l-480 480l-193 -193l289 -287l-96 -96l-384 384z" />
    <glyph glyph-name="f261" unicode="&#xf261;" horiz-adv-x="1792"
d="M717 182l271 271l-279 279l-88 -88l192 -191l-96 -96l-279 279l279 279l40 -40l87 87l-127 128l-454 -454zM1075 190l454 454l-454 454l-271 -271l279 -279l88 88l-192 191l96 96l279 -279l-279 -279l-40 40l-87 -88zM1792 640q0 -182 -71 -348t-191 -286t-286 -191
t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
    <glyph glyph-name="_572" unicode="&#xf262;" horiz-adv-x="2304"
d="M651 539q0 -39 -27.5 -66.5t-65.5 -27.5q-39 0 -66.5 27.5t-27.5 66.5q0 38 27.5 65.5t66.5 27.5q38 0 65.5 -27.5t27.5 -65.5zM1805 540q0 -39 -27.5 -66.5t-66.5 -27.5t-66.5 27.5t-27.5 66.5t27.5 66t66.5 27t66.5 -27t27.5 -66zM765 539q0 79 -56.5 136t-136.5 57
t-136.5 -56.5t-56.5 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM1918 540q0 80 -56.5 136.5t-136.5 56.5q-79 0 -136 -56.5t-57 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM850 539q0 -116 -81.5 -197.5t-196.5 -81.5q-116 0 -197.5 82t-81.5 197
t82 196.5t197 81.5t196.5 -81.5t81.5 -196.5zM2004 540q0 -115 -81.5 -196.5t-197.5 -81.5q-115 0 -196.5 81.5t-81.5 196.5t81.5 196.5t196.5 81.5q116 0 197.5 -81.5t81.5 -196.5zM1040 537q0 191 -135.5 326.5t-326.5 135.5q-125 0 -231 -62t-168 -168.5t-62 -231.5
t62 -231.5t168 -168.5t231 -62q191 0 326.5 135.5t135.5 326.5zM1708 1110q-254 111 -556 111q-319 0 -573 -110q117 0 223 -45.5t182.5 -122.5t122 -183t45.5 -223q0 115 43.5 219.5t118 180.5t177.5 123t217 50zM2187 537q0 191 -135 326.5t-326 135.5t-326.5 -135.5
t-135.5 -326.5t135.5 -326.5t326.5 -135.5t326 135.5t135 326.5zM1921 1103h383q-44 -51 -75 -114.5t-40 -114.5q110 -151 110 -337q0 -156 -77 -288t-209 -208.5t-287 -76.5q-133 0 -249 56t-196 155q-47 -56 -129 -179q-11 22 -53.5 82.5t-74.5 97.5
q-80 -99 -196.5 -155.5t-249.5 -56.5q-155 0 -287 76.5t-209 208.5t-77 288q0 186 110 337q-9 51 -40 114.5t-75 114.5h365q149 100 355 156.5t432 56.5q224 0 421 -56t348 -157z" />
    <glyph glyph-name="f263" unicode="&#xf263;" horiz-adv-x="1280"
d="M640 629q-188 0 -321 133t-133 320q0 188 133 321t321 133t321 -133t133 -321q0 -187 -133 -320t-321 -133zM640 1306q-92 0 -157.5 -65.5t-65.5 -158.5q0 -92 65.5 -157.5t157.5 -65.5t157.5 65.5t65.5 157.5q0 93 -65.5 158.5t-157.5 65.5zM1163 574q13 -27 15 -49.5
t-4.5 -40.5t-26.5 -38.5t-42.5 -37t-61.5 -41.5q-115 -73 -315 -94l73 -72l267 -267q30 -31 30 -74t-30 -73l-12 -13q-31 -30 -74 -30t-74 30q-67 68 -267 268l-267 -268q-31 -30 -74 -30t-73 30l-12 13q-31 30 -31 73t31 74l267 267l72 72q-203 21 -317 94
q-39 25 -61.5 41.5t-42.5 37t-26.5 38.5t-4.5 40.5t15 49.5q10 20 28 35t42 22t56 -2t65 -35q5 -4 15 -11t43 -24.5t69 -30.5t92 -24t113 -11q91 0 174 25.5t120 50.5l38 25q33 26 65 35t56 2t42 -22t28 -35z" />
    <glyph glyph-name="_574" unicode="&#xf264;"
d="M927 956q0 -66 -46.5 -112.5t-112.5 -46.5t-112.5 46.5t-46.5 112.5t46.5 112.5t112.5 46.5t112.5 -46.5t46.5 -112.5zM1141 593q-10 20 -28 32t-47.5 9.5t-60.5 -27.5q-10 -8 -29 -20t-81 -32t-127 -20t-124 18t-86 36l-27 18q-31 25 -60.5 27.5t-47.5 -9.5t-28 -32
q-22 -45 -2 -74.5t87 -73.5q83 -53 226 -67l-51 -52q-142 -142 -191 -190q-22 -22 -22 -52.5t22 -52.5l9 -9q22 -22 52.5 -22t52.5 22l191 191q114 -115 191 -191q22 -22 52.5 -22t52.5 22l9 9q22 22 22 52.5t-22 52.5l-191 190l-52 52q141 14 225 67q67 44 87 73.5t-2 74.5
zM1092 956q0 134 -95 229t-229 95t-229 -95t-95 -229t95 -229t229 -95t229 95t95 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="_575" unicode="&#xf265;" horiz-adv-x="1720"
d="M1565 1408q65 0 110 -45.5t45 -110.5v-519q0 -176 -68 -336t-182.5 -275t-274 -182.5t-334.5 -67.5q-176 0 -335.5 67.5t-274.5 182.5t-183 275t-68 336v519q0 64 46 110t110 46h1409zM861 344q47 0 82 33l404 388q37 35 37 85q0 49 -34.5 83.5t-83.5 34.5q-47 0 -82 -33
l-323 -310l-323 310q-35 33 -81 33q-49 0 -83.5 -34.5t-34.5 -83.5q0 -51 36 -85l405 -388q33 -33 81 -33z" />
    <glyph glyph-name="_576" unicode="&#xf266;" horiz-adv-x="2304"
d="M1494 -103l-295 695q-25 -49 -158.5 -305.5t-198.5 -389.5q-1 -1 -27.5 -0.5t-26.5 1.5q-82 193 -255.5 587t-259.5 596q-21 50 -66.5 107.5t-103.5 100.5t-102 43q0 5 -0.5 24t-0.5 27h583v-50q-39 -2 -79.5 -16t-66.5 -43t-10 -64q26 -59 216.5 -499t235.5 -540
q31 61 140 266.5t131 247.5q-19 39 -126 281t-136 295q-38 69 -201 71v50l513 -1v-47q-60 -2 -93.5 -25t-12.5 -69q33 -70 87 -189.5t86 -187.5q110 214 173 363q24 55 -10 79.5t-129 26.5q1 7 1 25v24q64 0 170.5 0.5t180 1t92.5 0.5v-49q-62 -2 -119 -33t-90 -81
l-213 -442q13 -33 127.5 -290t121.5 -274l441 1017q-14 38 -49.5 62.5t-65 31.5t-55.5 8v50l460 -4l1 -2l-1 -44q-139 -4 -201 -145q-526 -1216 -559 -1291h-49z" />
    <glyph glyph-name="_577" unicode="&#xf267;" horiz-adv-x="1792"
d="M949 643q0 -26 -16.5 -45t-41.5 -19q-26 0 -45 16.5t-19 41.5q0 26 17 45t42 19t44 -16.5t19 -41.5zM964 585l350 581q-9 -8 -67.5 -62.5t-125.5 -116.5t-136.5 -127t-117 -110.5t-50.5 -51.5l-349 -580q7 7 67 62t126 116.5t136 127t117 111t50 50.5zM1611 640
q0 -201 -104 -371q-3 2 -17 11t-26.5 16.5t-16.5 7.5q-13 0 -13 -13q0 -10 59 -44q-74 -112 -184.5 -190.5t-241.5 -110.5l-16 67q-1 10 -15 10q-5 0 -8 -5.5t-2 -9.5l16 -68q-72 -15 -146 -15q-199 0 -372 105q1 2 13 20.5t21.5 33.5t9.5 19q0 13 -13 13q-6 0 -17 -14.5
t-22.5 -34.5t-13.5 -23q-113 75 -192 187.5t-110 244.5l69 15q10 3 10 15q0 5 -5.5 8t-10.5 2l-68 -15q-14 72 -14 139q0 206 109 379q2 -1 18.5 -12t30 -19t17.5 -8q13 0 13 12q0 6 -12.5 15.5t-32.5 21.5l-20 12q77 112 189 189t244 107l15 -67q2 -10 15 -10q5 0 8 5.5
t2 10.5l-15 66q71 13 134 13q204 0 379 -109q-39 -56 -39 -65q0 -13 12 -13q11 0 48 64q111 -75 187.5 -186t107.5 -241l-56 -12q-10 -2 -10 -16q0 -5 5.5 -8t9.5 -2l57 13q14 -72 14 -140zM1696 640q0 163 -63.5 311t-170.5 255t-255 170.5t-311 63.5t-311 -63.5
t-255 -170.5t-170.5 -255t-63.5 -311t63.5 -311t170.5 -255t255 -170.5t311 -63.5t311 63.5t255 170.5t170.5 255t63.5 311zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191
t191 -286t71 -348z" />
    <glyph glyph-name="_578" unicode="&#xf268;" horiz-adv-x="1792"
d="M893 1536q240 2 451 -120q232 -134 352 -372l-742 39q-160 9 -294 -74.5t-185 -229.5l-276 424q128 159 311 245.5t383 87.5zM146 1131l337 -663q72 -143 211 -217t293 -45l-230 -451q-212 33 -385 157.5t-272.5 316t-99.5 411.5q0 267 146 491zM1732 962
q58 -150 59.5 -310.5t-48.5 -306t-153 -272t-246 -209.5q-230 -133 -498 -119l405 623q88 131 82.5 290.5t-106.5 277.5zM896 942q125 0 213.5 -88.5t88.5 -213.5t-88.5 -213.5t-213.5 -88.5t-213.5 88.5t-88.5 213.5t88.5 213.5t213.5 88.5z" />
    <glyph glyph-name="_579" unicode="&#xf269;" horiz-adv-x="1792"
d="M903 -256q-283 0 -504.5 150.5t-329.5 398.5q-58 131 -67 301t26 332.5t111 312t179 242.5l-11 -281q11 14 68 15.5t70 -15.5q42 81 160.5 138t234.5 59q-54 -45 -119.5 -148.5t-58.5 -163.5q25 -8 62.5 -13.5t63 -7.5t68 -4t50.5 -3q15 -5 9.5 -45.5t-30.5 -75.5
q-5 -7 -16.5 -18.5t-56.5 -35.5t-101 -34l15 -189l-139 67q-18 -43 -7.5 -81.5t36 -66.5t65.5 -41.5t81 -6.5q51 9 98 34.5t83.5 45t73.5 17.5q61 -4 89.5 -33t19.5 -65q-1 -2 -2.5 -5.5t-8.5 -12.5t-18 -15.5t-31.5 -10.5t-46.5 -1q-60 -95 -144.5 -135.5t-209.5 -29.5
q74 -61 162.5 -82.5t168.5 -6t154.5 52t128 87.5t80.5 104q43 91 39 192.5t-37.5 188.5t-78.5 125q87 -38 137 -79.5t77 -112.5q15 170 -57.5 343t-209.5 284q265 -77 412 -279.5t151 -517.5q2 -127 -40.5 -255t-123.5 -238t-189 -196t-247.5 -135.5t-288.5 -49.5z" />
    <glyph glyph-name="_580" unicode="&#xf26a;" horiz-adv-x="1792"
d="M1493 1308q-165 110 -359 110q-155 0 -293 -73t-240 -200q-75 -93 -119.5 -218t-48.5 -266v-42q4 -141 48.5 -266t119.5 -218q102 -127 240 -200t293 -73q194 0 359 110q-121 -108 -274.5 -168t-322.5 -60q-29 0 -43 1q-175 8 -333 82t-272 193t-181 281t-67 339
q0 182 71 348t191 286t286 191t348 71h3q168 -1 320.5 -60.5t273.5 -167.5zM1792 640q0 -192 -77 -362.5t-213 -296.5q-104 -63 -222 -63q-137 0 -255 84q154 56 253.5 233t99.5 405q0 227 -99 404t-253 234q119 83 254 83q119 0 226 -65q135 -125 210.5 -295t75.5 -361z
" />
    <glyph glyph-name="_581" unicode="&#xf26b;" horiz-adv-x="1792"
d="M1792 599q0 -56 -7 -104h-1151q0 -146 109.5 -244.5t257.5 -98.5q99 0 185.5 46.5t136.5 130.5h423q-56 -159 -170.5 -281t-267.5 -188.5t-321 -66.5q-187 0 -356 83q-228 -116 -394 -116q-237 0 -237 263q0 115 45 275q17 60 109 229q199 360 475 606
q-184 -79 -427 -354q63 274 283.5 449.5t501.5 175.5q30 0 45 -1q255 117 433 117q64 0 116 -13t94.5 -40.5t66.5 -76.5t24 -115q0 -116 -75 -286q101 -182 101 -390zM1722 1239q0 83 -53 132t-137 49q-108 0 -254 -70q121 -47 222.5 -131.5t170.5 -195.5q51 135 51 216z
M128 2q0 -86 48.5 -132.5t134.5 -46.5q115 0 266 83q-122 72 -213.5 183t-137.5 245q-98 -205 -98 -332zM632 715h728q-5 142 -113 237t-251 95q-144 0 -251.5 -95t-112.5 -237z" />
    <glyph glyph-name="_582" unicode="&#xf26c;" horiz-adv-x="2048"
d="M1792 288v960q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1248v-960q0 -66 -47 -113t-113 -47h-736v-128h352q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23
v64q0 14 9 23t23 9h352v128h-736q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
    <glyph glyph-name="_583" unicode="&#xf26d;" horiz-adv-x="1792"
d="M138 1408h197q-70 -64 -126 -149q-36 -56 -59 -115t-30 -125.5t-8.5 -120t10.5 -132t21 -126t28 -136.5q4 -19 6 -28q51 -238 81 -329q57 -171 152 -275h-272q-48 0 -82 34t-34 82v1304q0 48 34 82t82 34zM1346 1408h308q48 0 82 -34t34 -82v-1304q0 -48 -34 -82t-82 -34
h-178q212 210 196 565l-469 -101q-2 -45 -12 -82t-31 -72t-59.5 -59.5t-93.5 -36.5q-123 -26 -199 40q-32 27 -53 61t-51.5 129t-64.5 258q-35 163 -45.5 263t-5.5 139t23 77q20 41 62.5 73t102.5 45q45 12 83.5 6.5t67 -17t54 -35t43 -48t34.5 -56.5l468 100
q-68 175 -180 287z" />
    <glyph glyph-name="_584" unicode="&#xf26e;"
d="M1401 -11l-6 -6q-113 -113 -259 -175q-154 -64 -317 -64q-165 0 -317 64q-148 63 -259 175q-113 112 -175 258q-42 103 -54 189q-4 28 48 36q51 8 56 -20q1 -1 1 -4q18 -90 46 -159q50 -124 152 -226q98 -98 226 -152q132 -56 276 -56q143 0 276 56q128 55 225 152l6 6
q10 10 25 6q12 -3 33 -22q36 -37 17 -58zM929 604l-66 -66l63 -63q21 -21 -7 -49q-17 -17 -32 -17q-10 0 -19 10l-62 61l-66 -66q-5 -5 -15 -5q-15 0 -31 16l-2 2q-18 15 -18 29q0 7 8 17l66 65l-66 66q-16 16 14 45q18 18 31 18q6 0 13 -5l65 -66l65 65q18 17 48 -13
q27 -27 11 -44zM1400 547q0 -118 -46 -228q-45 -105 -126 -186q-80 -80 -187 -126t-228 -46t-228 46t-187 126q-82 82 -125 186q-15 33 -15 40h-1q-9 27 43 44q50 16 60 -12q37 -99 97 -167h1v339v2q3 136 102 232q105 103 253 103q147 0 251 -103t104 -249
q0 -147 -104.5 -251t-250.5 -104q-58 0 -112 16q-28 11 -13 61q16 51 44 43l14 -3q14 -3 33 -6t30 -3q104 0 176 71.5t72 174.5q0 101 -72 171q-71 71 -175 71q-107 0 -178 -80q-64 -72 -64 -160v-413q110 -67 242 -67q96 0 185 36.5t156 103.5t103.5 155t36.5 183
q0 198 -141 339q-140 140 -339 140q-200 0 -340 -140q-53 -53 -77 -87l-2 -2q-8 -11 -13 -15.5t-21.5 -9.5t-38.5 3q-21 5 -36.5 16.5t-15.5 26.5v680q0 15 10.5 26.5t27.5 11.5h877q30 0 30 -55t-30 -55h-811v-483h1q40 42 102 84t108 61q109 46 231 46q121 0 228 -46
t187 -126q81 -81 126 -186q46 -112 46 -229zM1369 1128q9 -8 9 -18t-5.5 -18t-16.5 -21q-26 -26 -39 -26q-9 0 -16 7q-106 91 -207 133q-128 56 -276 56q-133 0 -262 -49q-27 -10 -45 37q-9 25 -8 38q3 16 16 20q130 57 299 57q164 0 316 -64q137 -58 235 -152z" />
    <glyph glyph-name="_585" unicode="&#xf270;" horiz-adv-x="1792"
d="M1551 60q15 6 26 3t11 -17.5t-15 -33.5q-13 -16 -44 -43.5t-95.5 -68t-141 -74t-188 -58t-229.5 -24.5q-119 0 -238 31t-209 76.5t-172.5 104t-132.5 105t-84 87.5q-8 9 -10 16.5t1 12t8 7t11.5 2t11.5 -4.5q192 -117 300 -166q389 -176 799 -90q190 40 391 135z
M1758 175q11 -16 2.5 -69.5t-28.5 -102.5q-34 -83 -85 -124q-17 -14 -26 -9t0 24q21 45 44.5 121.5t6.5 98.5q-5 7 -15.5 11.5t-27 6t-29.5 2.5t-35 0t-31.5 -2t-31 -3t-22.5 -2q-6 -1 -13 -1.5t-11 -1t-8.5 -1t-7 -0.5h-5.5h-4.5t-3 0.5t-2 1.5l-1.5 3q-6 16 47 40t103 30
q46 7 108 1t76 -24zM1364 618q0 -31 13.5 -64t32 -58t37.5 -46t33 -32l13 -11l-227 -224q-40 37 -79 75.5t-58 58.5l-19 20q-11 11 -25 33q-38 -59 -97.5 -102.5t-127.5 -63.5t-140 -23t-137.5 21t-117.5 65.5t-83 113t-31 162.5q0 84 28 154t72 116.5t106.5 83t122.5 57
t130 34.5t119.5 18.5t99.5 6.5v127q0 65 -21 97q-34 53 -121 53q-6 0 -16.5 -1t-40.5 -12t-56 -29.5t-56 -59.5t-48 -96l-294 27q0 60 22 119t67 113t108 95t151.5 65.5t190.5 24.5q100 0 181 -25t129.5 -61.5t81 -83t45 -86t12.5 -73.5v-589zM692 597q0 -86 70 -133
q66 -44 139 -22q84 25 114 123q14 45 14 101v162q-59 -2 -111 -12t-106.5 -33.5t-87 -71t-32.5 -114.5z" />
    <glyph glyph-name="_586" unicode="&#xf271;" horiz-adv-x="1792"
d="M1536 1280q52 0 90 -38t38 -90v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128zM1152 1376v-288q0 -14 9 -23t23 -9
h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 1376v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM1536 -128v1024h-1408v-1024h1408zM896 448h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224
v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224z" />
    <glyph glyph-name="_587" unicode="&#xf272;" horiz-adv-x="1792"
d="M1152 416v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23
t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47
t47 -113v-96h128q52 0 90 -38t38 -90z" />
    <glyph glyph-name="_588" unicode="&#xf273;" horiz-adv-x="1792"
d="M1111 151l-46 -46q-9 -9 -22 -9t-23 9l-188 189l-188 -189q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22t9 23l189 188l-189 188q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l188 -188l188 188q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23l-188 -188l188 -188q9 -10 9 -23t-9 -22z
M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280
q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
    <glyph glyph-name="_589" unicode="&#xf274;" horiz-adv-x="1792"
d="M1303 572l-512 -512q-10 -9 -23 -9t-23 9l-288 288q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l220 -220l444 444q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23
t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47
t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
    <glyph glyph-name="_590" unicode="&#xf275;" horiz-adv-x="1792"
d="M448 1536q26 0 45 -19t19 -45v-891l536 429q17 14 40 14q26 0 45 -19t19 -45v-379l536 429q17 14 40 14q26 0 45 -19t19 -45v-1152q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h384z" />
    <glyph glyph-name="_591" unicode="&#xf276;" horiz-adv-x="1024"
d="M512 448q66 0 128 15v-655q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v655q62 -15 128 -15zM512 1536q212 0 362 -150t150 -362t-150 -362t-362 -150t-362 150t-150 362t150 362t362 150zM512 1312q14 0 23 9t9 23t-9 23t-23 9q-146 0 -249 -103t-103 -249
q0 -14 9 -23t23 -9t23 9t9 23q0 119 84.5 203.5t203.5 84.5z" />
    <glyph glyph-name="_592" unicode="&#xf277;" horiz-adv-x="1792"
d="M1745 1239q10 -10 10 -23t-10 -23l-141 -141q-28 -28 -68 -28h-1344q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h576v64q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-64h512q40 0 68 -28zM768 320h256v-512q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v512zM1600 768
q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-1344q-40 0 -68 28l-141 141q-10 10 -10 23t10 23l141 141q28 28 68 28h512v192h256v-192h576z" />
    <glyph glyph-name="_593" unicode="&#xf278;" horiz-adv-x="2048"
d="M2020 1525q28 -20 28 -53v-1408q0 -20 -11 -36t-29 -23l-640 -256q-24 -11 -48 0l-616 246l-616 -246q-10 -5 -24 -5q-19 0 -36 11q-28 20 -28 53v1408q0 20 11 36t29 23l640 256q24 11 48 0l616 -246l616 246q32 13 60 -6zM736 1390v-1270l576 -230v1270zM128 1173
v-1270l544 217v1270zM1920 107v1270l-544 -217v-1270z" />
    <glyph glyph-name="_594" unicode="&#xf279;" horiz-adv-x="1792"
d="M512 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472q0 20 17 28l480 256q7 4 15 4zM1760 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472
q0 20 17 28l480 256q7 4 15 4zM640 1536q8 0 14 -3l512 -256q18 -10 18 -29v-1472q0 -13 -9.5 -22.5t-22.5 -9.5q-8 0 -14 3l-512 256q-18 10 -18 29v1472q0 13 9.5 22.5t22.5 9.5z" />
    <glyph glyph-name="_595" unicode="&#xf27a;" horiz-adv-x="1792"
d="M640 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 640q0 53 -37.5 90.5t-90.5 37.5
t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-110 0 -211 18q-173 -173 -435 -229q-52 -10 -86 -13q-12 -1 -22 6t-13 18q-4 15 20 37q5 5 23.5 21.5t25.5 23.5t23.5 25.5t24 31.5t20.5 37
t20 48t14.5 57.5t12.5 72.5q-146 90 -229.5 216.5t-83.5 269.5q0 174 120 321.5t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
    <glyph glyph-name="_596" unicode="&#xf27b;" horiz-adv-x="1792"
d="M640 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 -53 -37.5 -90.5t-90.5 -37.5
t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5
t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51
t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 130 71 248.5t191 204.5t286 136.5t348 50.5t348 -50.5t286 -136.5t191 -204.5t71 -248.5z" />
    <glyph glyph-name="_597" unicode="&#xf27c;" horiz-adv-x="1024"
d="M512 345l512 295v-591l-512 -296v592zM0 640v-591l512 296zM512 1527v-591l-512 -296v591zM512 936l512 295v-591z" />
    <glyph glyph-name="_598" unicode="&#xf27d;" horiz-adv-x="1792"
d="M1709 1018q-10 -236 -332 -651q-333 -431 -562 -431q-142 0 -240 263q-44 160 -132 482q-72 262 -157 262q-18 0 -127 -76l-77 98q24 21 108 96.5t130 115.5q156 138 241 146q95 9 153 -55.5t81 -203.5q44 -287 66 -373q55 -249 120 -249q51 0 154 161q101 161 109 246
q13 139 -109 139q-57 0 -121 -26q120 393 459 382q251 -8 236 -326z" />
    <glyph glyph-name="f27e" unicode="&#xf27e;"
d="M0 1408h1536v-1536h-1536v1536zM1085 293l-221 631l221 297h-634l221 -297l-221 -631l317 -304z" />
    <glyph glyph-name="uniF280" unicode="&#xf280;"
d="M0 1408h1536v-1536h-1536v1536zM908 1088l-12 -33l75 -83l-31 -114l25 -25l107 57l107 -57l25 25l-31 114l75 83l-12 33h-95l-53 96h-32l-53 -96h-95zM641 925q32 0 44.5 -16t11.5 -63l174 21q0 55 -17.5 92.5t-50.5 56t-69 25.5t-85 7q-133 0 -199 -57.5t-66 -182.5v-72
h-96v-128h76q20 0 20 -8v-382q0 -14 -5 -20t-18 -7l-73 -7v-88h448v86l-149 14q-6 1 -8.5 1.5t-3.5 2.5t-0.5 4t1 7t0.5 10v387h191l38 128h-231q-6 0 -2 6t4 9v80q0 27 1.5 40.5t7.5 28t19.5 20t36.5 5.5zM1248 96v86l-54 9q-7 1 -9.5 2.5t-2.5 3t1 7.5t1 12v520h-275
l-23 -101l83 -22q23 -7 23 -27v-370q0 -14 -6 -18.5t-20 -6.5l-70 -9v-86h352z" />
    <glyph glyph-name="uniF281" unicode="&#xf281;" horiz-adv-x="1792"
d="M1792 690q0 -58 -29.5 -105.5t-79.5 -72.5q12 -46 12 -96q0 -155 -106.5 -287t-290.5 -208.5t-400 -76.5t-399.5 76.5t-290 208.5t-106.5 287q0 47 11 94q-51 25 -82 73.5t-31 106.5q0 82 58 140.5t141 58.5q85 0 145 -63q218 152 515 162l116 521q3 13 15 21t26 5
l369 -81q18 37 54 59.5t79 22.5q62 0 106 -43.5t44 -105.5t-44 -106t-106 -44t-105.5 43.5t-43.5 105.5l-334 74l-104 -472q300 -9 519 -160q58 61 143 61q83 0 141 -58.5t58 -140.5zM418 491q0 -62 43.5 -106t105.5 -44t106 44t44 106t-44 105.5t-106 43.5q-61 0 -105 -44
t-44 -105zM1228 136q11 11 11 26t-11 26q-10 10 -25 10t-26 -10q-41 -42 -121 -62t-160 -20t-160 20t-121 62q-11 10 -26 10t-25 -10q-11 -10 -11 -25.5t11 -26.5q43 -43 118.5 -68t122.5 -29.5t91 -4.5t91 4.5t122.5 29.5t118.5 68zM1225 341q62 0 105.5 44t43.5 106
q0 61 -44 105t-105 44q-62 0 -106 -43.5t-44 -105.5t44 -106t106 -44z" />
    <glyph glyph-name="_602" unicode="&#xf282;" horiz-adv-x="1792"
d="M69 741h1q16 126 58.5 241.5t115 217t167.5 176t223.5 117.5t276.5 43q231 0 414 -105.5t294 -303.5q104 -187 104 -442v-188h-1125q1 -111 53.5 -192.5t136.5 -122.5t189.5 -57t213 -3t208 46.5t173.5 84.5v-377q-92 -55 -229.5 -92t-312.5 -38t-316 53
q-189 73 -311.5 249t-124.5 372q-3 242 111 412t325 268q-48 -60 -78 -125.5t-46 -159.5h635q8 77 -8 140t-47 101.5t-70.5 66.5t-80.5 41t-75 20.5t-56 8.5l-22 1q-135 -5 -259.5 -44.5t-223.5 -104.5t-176 -140.5t-138 -163.5z" />
    <glyph glyph-name="_603" unicode="&#xf283;" horiz-adv-x="2304"
d="M0 32v608h2304v-608q0 -66 -47 -113t-113 -47h-1984q-66 0 -113 47t-47 113zM640 256v-128h384v128h-384zM256 256v-128h256v128h-256zM2144 1408q66 0 113 -47t47 -113v-224h-2304v224q0 66 47 113t113 47h1984z" />
    <glyph glyph-name="_604" unicode="&#xf284;" horiz-adv-x="1792"
d="M1584 246l-218 111q-74 -120 -196.5 -189t-263.5 -69q-147 0 -271 72t-196 196t-72 270q0 110 42.5 209.5t115 172t172 115t209.5 42.5q131 0 247.5 -60.5t192.5 -168.5l215 125q-110 169 -286.5 265t-378.5 96q-161 0 -308 -63t-253 -169t-169 -253t-63 -308t63 -308
t169 -253t253 -169t308 -63q213 0 397.5 107t290.5 292zM1030 643l693 -352q-116 -253 -334.5 -400t-492.5 -147q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71q260 0 470.5 -133.5t335.5 -366.5zM1543 640h-39v-160h-96v352h136q32 0 54.5 -20
t28.5 -48t1 -56t-27.5 -48t-57.5 -20z" />
    <glyph glyph-name="uniF285" unicode="&#xf285;" horiz-adv-x="1792"
d="M1427 827l-614 386l92 151h855zM405 562l-184 116v858l1183 -743zM1424 697l147 -95v-858l-532 335zM1387 718l-500 -802h-855l356 571z" />
    <glyph glyph-name="uniF286" unicode="&#xf286;" horiz-adv-x="1792"
d="M640 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1152 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1664 496v-752h-640v320q0 80 -56 136t-136 56t-136 -56t-56 -136v-320h-640v752q0 16 16 16h96
q16 0 16 -16v-112h128v624q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 6 2.5 9.5t8.5 5t9.5 2t11.5 0t9 -0.5v391q-32 15 -32 50q0 23 16.5 39t38.5 16t38.5 -16t16.5 -39q0 -35 -32 -50v-17q45 10 83 10q21 0 59.5 -7.5t54.5 -7.5
q17 0 47 7.5t37 7.5q16 0 16 -16v-210q0 -15 -35 -21.5t-62 -6.5q-18 0 -54.5 7.5t-55.5 7.5q-40 0 -90 -12v-133q1 0 9 0.5t11.5 0t9.5 -2t8.5 -5t2.5 -9.5v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-624h128v112q0 16 16 16h96
q16 0 16 -16z" />
    <glyph glyph-name="_607" unicode="&#xf287;" horiz-adv-x="2304"
d="M2288 731q16 -8 16 -27t-16 -27l-320 -192q-8 -5 -16 -5q-9 0 -16 4q-16 10 -16 28v128h-858q37 -58 83 -165q16 -37 24.5 -55t24 -49t27 -47t27 -34t31.5 -26t33 -8h96v96q0 14 9 23t23 9h320q14 0 23 -9t9 -23v-320q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v96h-96
q-32 0 -61 10t-51 23.5t-45 40.5t-37 46t-33.5 57t-28.5 57.5t-28 60.5q-23 53 -37 81.5t-36 65t-44.5 53.5t-46.5 17h-360q-22 -84 -91 -138t-157 -54q-106 0 -181 75t-75 181t75 181t181 75q88 0 157 -54t91 -138h104q24 0 46.5 17t44.5 53.5t36 65t37 81.5q19 41 28 60.5
t28.5 57.5t33.5 57t37 46t45 40.5t51 23.5t61 10h107q21 57 70 92.5t111 35.5q80 0 136 -56t56 -136t-56 -136t-136 -56q-62 0 -111 35.5t-70 92.5h-107q-17 0 -33 -8t-31.5 -26t-27 -34t-27 -47t-24 -49t-24.5 -55q-46 -107 -83 -165h1114v128q0 18 16 28t32 -1z" />
    <glyph glyph-name="_608" unicode="&#xf288;" horiz-adv-x="1792"
d="M1150 774q0 -56 -39.5 -95t-95.5 -39h-253v269h253q56 0 95.5 -39.5t39.5 -95.5zM1329 774q0 130 -91.5 222t-222.5 92h-433v-896h180v269h253q130 0 222 91.5t92 221.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348
t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
    <glyph glyph-name="_609" unicode="&#xf289;" horiz-adv-x="2304"
d="M1645 438q0 59 -34 106.5t-87 68.5q-7 -45 -23 -92q-7 -24 -27.5 -38t-44.5 -14q-12 0 -24 3q-31 10 -45 38.5t-4 58.5q23 71 23 143q0 123 -61 227.5t-166 165.5t-228 61q-134 0 -247 -73t-167 -194q108 -28 188 -106q22 -23 22 -55t-22 -54t-54 -22t-55 22
q-75 75 -180 75q-106 0 -181 -74.5t-75 -180.5t75 -180.5t181 -74.5h1046q79 0 134.5 55.5t55.5 133.5zM1798 438q0 -142 -100.5 -242t-242.5 -100h-1046q-169 0 -289 119.5t-120 288.5q0 153 100 267t249 136q62 184 221 298t354 114q235 0 408.5 -158.5t196.5 -389.5
q116 -25 192.5 -118.5t76.5 -214.5zM2048 438q0 -175 -97 -319q-23 -33 -64 -33q-24 0 -43 13q-26 17 -32 48.5t12 57.5q71 104 71 233t-71 233q-18 26 -12 57t32 49t57.5 11.5t49.5 -32.5q97 -142 97 -318zM2304 438q0 -244 -134 -443q-23 -34 -64 -34q-23 0 -42 13
q-26 18 -32.5 49t11.5 57q108 164 108 358q0 195 -108 357q-18 26 -11.5 57.5t32.5 48.5q26 18 57 12t49 -33q134 -198 134 -442z" />
    <glyph glyph-name="_610" unicode="&#xf28a;"
d="M1500 -13q0 -89 -63 -152.5t-153 -63.5t-153.5 63.5t-63.5 152.5q0 90 63.5 153.5t153.5 63.5t153 -63.5t63 -153.5zM1267 268q-115 -15 -192.5 -102.5t-77.5 -205.5q0 -74 33 -138q-146 -78 -379 -78q-109 0 -201 21t-153.5 54.5t-110.5 76.5t-76 85t-44.5 83
t-23.5 66.5t-6 39.5q0 19 4.5 42.5t18.5 56t36.5 58t64 43.5t94.5 18t94 -17.5t63 -41t35.5 -53t17.5 -49t4 -33.5q0 -34 -23 -81q28 -27 82 -42t93 -17l40 -1q115 0 190 51t75 133q0 26 -9 48.5t-31.5 44.5t-49.5 41t-74 44t-93.5 47.5t-119.5 56.5q-28 13 -43 20
q-116 55 -187 100t-122.5 102t-72 125.5t-20.5 162.5q0 78 20.5 150t66 137.5t112.5 114t166.5 77t221.5 28.5q120 0 220 -26t164.5 -67t109.5 -94t64 -105.5t19 -103.5q0 -46 -15 -82.5t-36.5 -58t-48.5 -36t-49 -19.5t-39 -5h-8h-32t-39 5t-44 14t-41 28t-37 46t-24 70.5
t-10 97.5q-15 16 -59 25.5t-81 10.5l-37 1q-68 0 -117.5 -31t-70.5 -70t-21 -76q0 -24 5 -43t24 -46t53 -51t97 -53.5t150 -58.5q76 -25 138.5 -53.5t109 -55.5t83 -59t60.5 -59.5t41 -62.5t26.5 -62t14.5 -63.5t6 -62t1 -62.5z" />
    <glyph glyph-name="_611" unicode="&#xf28b;"
d="M704 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1152 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103
t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="_612" unicode="&#xf28c;"
d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273
t73 -273t198 -198t273 -73zM864 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192z" />
    <glyph glyph-name="_613" unicode="&#xf28d;"
d="M1088 352v576q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
t103 -385.5z" />
    <glyph glyph-name="_614" unicode="&#xf28e;"
d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273
t73 -273t198 -198t273 -73zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h576q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-576z" />
    <glyph glyph-name="_615" unicode="&#xf290;" horiz-adv-x="1792"
d="M1757 128l35 -313q3 -28 -16 -50q-19 -21 -48 -21h-1664q-29 0 -48 21q-19 22 -16 50l35 313h1722zM1664 967l86 -775h-1708l86 775q3 24 21 40.5t43 16.5h256v-128q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5v128h384v-128q0 -53 37.5 -90.5t90.5 -37.5
t90.5 37.5t37.5 90.5v128h256q25 0 43 -16.5t21 -40.5zM1280 1152v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
    <glyph glyph-name="_616" unicode="&#xf291;" horiz-adv-x="2048"
d="M1920 768q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-15l-115 -662q-8 -46 -44 -76t-82 -30h-1280q-46 0 -82 30t-44 76l-115 662h-15q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5h1792zM485 -32q26 2 43.5 22.5t15.5 46.5l-32 416q-2 26 -22.5 43.5
t-46.5 15.5t-43.5 -22.5t-15.5 -46.5l32 -416q2 -25 20.5 -42t43.5 -17h5zM896 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1280 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1632 27l32 416
q2 26 -15.5 46.5t-43.5 22.5t-46.5 -15.5t-22.5 -43.5l-32 -416q-2 -26 15.5 -46.5t43.5 -22.5h5q25 0 43.5 17t20.5 42zM476 1244l-93 -412h-132l101 441q19 88 89 143.5t160 55.5h167q0 26 19 45t45 19h384q26 0 45 -19t19 -45h167q90 0 160 -55.5t89 -143.5l101 -441
h-132l-93 412q-11 44 -45.5 72t-79.5 28h-167q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45h-167q-45 0 -79.5 -28t-45.5 -72z" />
    <glyph glyph-name="_617" unicode="&#xf292;" horiz-adv-x="1792"
d="M991 512l64 256h-254l-64 -256h254zM1759 1016l-56 -224q-7 -24 -31 -24h-327l-64 -256h311q15 0 25 -12q10 -14 6 -28l-56 -224q-5 -24 -31 -24h-327l-81 -328q-7 -24 -31 -24h-224q-16 0 -26 12q-9 12 -6 28l78 312h-254l-81 -328q-7 -24 -31 -24h-225q-15 0 -25 12
q-9 12 -6 28l78 312h-311q-15 0 -25 12q-9 12 -6 28l56 224q7 24 31 24h327l64 256h-311q-15 0 -25 12q-10 14 -6 28l56 224q5 24 31 24h327l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h254l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h311
q15 0 25 -12q9 -12 6 -28z" />
    <glyph glyph-name="_618" unicode="&#xf293;"
d="M841 483l148 -148l-149 -149zM840 1094l149 -149l-148 -148zM710 -130l464 464l-306 306l306 306l-464 464v-611l-255 255l-93 -93l320 -321l-320 -321l93 -93l255 255v-611zM1429 640q0 -209 -32 -365.5t-87.5 -257t-140.5 -162.5t-181.5 -86.5t-219.5 -24.5
t-219.5 24.5t-181.5 86.5t-140.5 162.5t-87.5 257t-32 365.5t32 365.5t87.5 257t140.5 162.5t181.5 86.5t219.5 24.5t219.5 -24.5t181.5 -86.5t140.5 -162.5t87.5 -257t32 -365.5z" />
    <glyph glyph-name="_619" unicode="&#xf294;" horiz-adv-x="1024"
d="M596 113l173 172l-173 172v-344zM596 823l173 172l-173 172v-344zM628 640l356 -356l-539 -540v711l-297 -296l-108 108l372 373l-372 373l108 108l297 -296v711l539 -540z" />
    <glyph glyph-name="_620" unicode="&#xf295;"
d="M1280 256q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM512 1024q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5
t112.5 -271.5zM1440 1344q0 -20 -13 -38l-1056 -1408q-19 -26 -51 -26h-160q-26 0 -45 19t-19 45q0 20 13 38l1056 1408q19 26 51 26h160q26 0 45 -19t19 -45zM768 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5
t271.5 -112.5t112.5 -271.5z" />
    <glyph glyph-name="_621" unicode="&#xf296;" horiz-adv-x="1792"
d="M104 830l792 -1015l-868 630q-18 13 -25 34.5t0 42.5l101 308v0zM566 830h660l-330 -1015v0zM368 1442l198 -612h-462l198 612q8 23 33 23t33 -23zM1688 830l101 -308q7 -21 0 -42.5t-25 -34.5l-868 -630l792 1015v0zM1688 830h-462l198 612q8 23 33 23t33 -23z" />
    <glyph glyph-name="_622" unicode="&#xf297;" horiz-adv-x="1792"
d="M384 704h160v224h-160v-224zM1221 372v92q-104 -36 -243 -38q-135 -1 -259.5 46.5t-220.5 122.5l1 -96q88 -80 212 -128.5t272 -47.5q129 0 238 49zM640 704h640v224h-640v-224zM1792 736q0 -187 -99 -352q89 -102 89 -229q0 -157 -129.5 -268t-313.5 -111
q-122 0 -225 52.5t-161 140.5q-19 -1 -57 -1t-57 1q-58 -88 -161 -140.5t-225 -52.5q-184 0 -313.5 111t-129.5 268q0 127 89 229q-99 165 -99 352q0 209 120 385.5t326.5 279.5t449.5 103t449.5 -103t326.5 -279.5t120 -385.5z" />
    <glyph glyph-name="_623" unicode="&#xf298;"
d="M515 625v-128h-252v128h252zM515 880v-127h-252v127h252zM1273 369v-128h-341v128h341zM1273 625v-128h-672v128h672zM1273 880v-127h-672v127h672zM1408 20v1240q0 8 -6 14t-14 6h-32l-378 -256l-210 171l-210 -171l-378 256h-32q-8 0 -14 -6t-6 -14v-1240q0 -8 6 -14
t14 -6h1240q8 0 14 6t6 14zM553 1130l185 150h-406zM983 1130l221 150h-406zM1536 1260v-1240q0 -62 -43 -105t-105 -43h-1240q-62 0 -105 43t-43 105v1240q0 62 43 105t105 43h1240q62 0 105 -43t43 -105z" />
    <glyph glyph-name="_624" unicode="&#xf299;" horiz-adv-x="1792"
d="M896 720q-104 196 -160 278q-139 202 -347 318q-34 19 -70 36q-89 40 -94 32t34 -38l39 -31q62 -43 112.5 -93.5t94.5 -116.5t70.5 -113t70.5 -131q9 -17 13 -25q44 -84 84 -153t98 -154t115.5 -150t131 -123.5t148.5 -90.5q153 -66 154 -60q1 3 -49 37q-53 36 -81 57
q-77 58 -179 211t-185 310zM549 177q-76 60 -132.5 125t-98 143.5t-71 154.5t-58.5 186t-52 209t-60.5 252t-76.5 289q273 0 497.5 -36t379 -92t271 -144.5t185.5 -172.5t110 -198.5t56 -199.5t12.5 -198.5t-9.5 -173t-20 -143.5t-13 -107l323 -327h-104l-281 285
q-22 -2 -91.5 -14t-121.5 -19t-138 -6t-160.5 17t-167.5 59t-179 111z" />
    <glyph glyph-name="_625" unicode="&#xf29a;" horiz-adv-x="1792"
d="M1374 879q-6 26 -28.5 39.5t-48.5 7.5q-261 -62 -401 -62t-401 62q-26 6 -48.5 -7.5t-28.5 -39.5t7.5 -48.5t39.5 -28.5q194 -46 303 -58q-2 -158 -15.5 -269t-26.5 -155.5t-41 -115.5l-9 -21q-10 -25 1 -49t36 -34q9 -4 23 -4q44 0 60 41l8 20q54 139 71 259h42
q17 -120 71 -259l8 -20q16 -41 60 -41q14 0 23 4q25 10 36 34t1 49l-9 21q-28 71 -41 115.5t-26.5 155.5t-15.5 269q109 12 303 58q26 6 39.5 28.5t7.5 48.5zM1024 1024q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z
M1600 640q0 -143 -55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5zM896 1408q-156 0 -298 -61t-245 -164t-164 -245t-61 -298t61 -298
t164 -245t245 -164t298 -61t298 61t245 164t164 245t61 298t-61 298t-164 245t-245 164t-298 61zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
    <glyph glyph-name="_626" unicode="&#xf29b;"
d="M1438 723q34 -35 29 -82l-44 -551q-4 -42 -34.5 -70t-71.5 -28q-6 0 -9 1q-44 3 -72.5 36.5t-25.5 77.5l35 429l-143 -8q55 -113 55 -240q0 -216 -148 -372l-137 137q91 101 91 235q0 145 -102.5 248t-247.5 103q-134 0 -236 -92l-137 138q120 114 284 141l264 300
l-149 87l-181 -161q-33 -30 -77 -27.5t-73 35.5t-26.5 77t34.5 73l239 213q26 23 60 26.5t64 -14.5l488 -283q36 -21 48 -68q17 -67 -26 -117l-205 -232l371 20q49 3 83 -32zM1240 1180q-74 0 -126 52t-52 126t52 126t126 52t126.5 -52t52.5 -126t-52.5 -126t-126.5 -52z
M613 -62q106 0 196 61l139 -139q-146 -116 -335 -116q-148 0 -273.5 73t-198.5 198t-73 273q0 188 116 336l139 -139q-60 -88 -60 -197q0 -145 102.5 -247.5t247.5 -102.5z" />
    <glyph glyph-name="_627" unicode="&#xf29c;"
d="M880 336v-160q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h160q14 0 23 -9t9 -23zM1136 832q0 -50 -15 -90t-45.5 -69t-52 -44t-59.5 -36q-32 -18 -46.5 -28t-26 -24t-11.5 -29v-32q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v68q0 35 10.5 64.5
t24 47.5t39 35.5t41 25.5t44.5 21q53 25 75 43t22 49q0 42 -43.5 71.5t-95.5 29.5q-56 0 -95 -27q-29 -20 -80 -83q-9 -12 -25 -12q-11 0 -19 6l-108 82q-10 7 -12 20t5 23q122 192 349 192q129 0 238.5 -89.5t109.5 -214.5zM768 1280q-130 0 -248.5 -51t-204 -136.5
t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5
t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="_628" unicode="&#xf29d;" horiz-adv-x="1408"
d="M366 1225q-64 0 -110 45.5t-46 110.5q0 64 46 109.5t110 45.5t109.5 -45.5t45.5 -109.5q0 -65 -45.5 -110.5t-109.5 -45.5zM917 583q0 -50 -30 -67.5t-63.5 -6.5t-47.5 34l-367 438q-7 12 -14 15.5t-11 1.5l-3 -3q-7 -8 4 -21l122 -139l1 -354l-161 -457
q-67 -192 -92 -234q-15 -26 -28 -32q-50 -26 -103 -1q-29 13 -41.5 43t-9.5 57q2 17 197 618l5 416l-85 -164l35 -222q4 -24 -1 -42t-14 -27.5t-19 -16t-17 -7.5l-7 -2q-19 -3 -34.5 3t-24 16t-14 22t-7.5 19.5t-2 9.5l-46 299l211 381q23 34 113 34q75 0 107 -40l424 -521
q7 -5 14 -17l3 -3l-1 -1q7 -13 7 -29zM514 433q43 -113 88.5 -225t69.5 -168l24 -55q36 -93 42 -125q11 -70 -36 -97q-35 -22 -66 -16t-51 22t-29 35h-1q-6 16 -8 25l-124 351zM1338 -159q31 -49 31 -57q0 -5 -3 -7q-9 -5 -14.5 0.5t-15.5 26t-16 30.5q-114 172 -423 661
q3 -1 7 1t7 4l3 2q11 9 11 17z" />
    <glyph glyph-name="_629" unicode="&#xf29e;" horiz-adv-x="2304"
d="M504 542h171l-1 265zM1530 641q0 87 -50.5 140t-146.5 53h-54v-388h52q91 0 145 57t54 138zM956 1018l1 -756q0 -14 -9.5 -24t-23.5 -10h-216q-14 0 -23.5 10t-9.5 24v62h-291l-55 -81q-10 -15 -28 -15h-267q-21 0 -30.5 18t3.5 35l556 757q9 14 27 14h332q14 0 24 -10
t10 -24zM1783 641q0 -193 -125.5 -303t-324.5 -110h-270q-14 0 -24 10t-10 24v756q0 14 10 24t24 10h268q200 0 326 -109t126 -302zM1939 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5
t-7.5 60t-20 91.5t-41 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2123 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-45 -108t-74 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5
h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2304 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66 104.5t41 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96
t9.5 -70.5z" />
    <glyph glyph-name="uniF2A0" unicode="&#xf2a0;" horiz-adv-x="1408"
d="M617 -153q0 11 -13 58t-31 107t-20 69q-1 4 -5 26.5t-8.5 36t-13.5 21.5q-15 14 -51 14q-23 0 -70 -5.5t-71 -5.5q-34 0 -47 11q-6 5 -11 15.5t-7.5 20t-6.5 24t-5 18.5q-37 128 -37 255t37 255q1 4 5 18.5t6.5 24t7.5 20t11 15.5q13 11 47 11q24 0 71 -5.5t70 -5.5
q36 0 51 14q9 8 13.5 21.5t8.5 36t5 26.5q2 9 20 69t31 107t13 58q0 22 -43.5 52.5t-75.5 42.5q-20 8 -45 8q-34 0 -98 -18q-57 -17 -96.5 -40.5t-71 -66t-46 -70t-45.5 -94.5q-6 -12 -9 -19q-49 -107 -68 -216t-19 -244t19 -244t68 -216q56 -122 83 -161q63 -91 179 -127
l6 -2q64 -18 98 -18q25 0 45 8q32 12 75.5 42.5t43.5 52.5zM776 760q-26 0 -45 19t-19 45.5t19 45.5q37 37 37 90q0 52 -37 91q-19 19 -19 45t19 45t45 19t45 -19q75 -75 75 -181t-75 -181q-21 -19 -45 -19zM957 579q-27 0 -45 19q-19 19 -19 45t19 45q112 114 112 272
t-112 272q-19 19 -19 45t19 45t45 19t45 -19q150 -150 150 -362t-150 -362q-18 -19 -45 -19zM1138 398q-27 0 -45 19q-19 19 -19 45t19 45q90 91 138.5 208t48.5 245t-48.5 245t-138.5 208q-19 19 -19 45t19 45t45 19t45 -19q109 -109 167 -249t58 -294t-58 -294t-167 -249
q-18 -19 -45 -19z" />
    <glyph glyph-name="uniF2A1" unicode="&#xf2a1;" horiz-adv-x="2176"
d="M192 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 352
q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 864
q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 1376q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 192q0 -80 -56 -136
t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 1216q0 -80 -56 -136t-136 -56
t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 192q0 -80 -56 -136t-136 -56t-136 56
t-56 136t56 136t136 56t136 -56t56 -136zM1664 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136
t56 136t136 56t136 -56t56 -136zM2176 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z" />
    <glyph glyph-name="uniF2A2" unicode="&#xf2a2;" horiz-adv-x="1792"
d="M128 -192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM320 0q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM365 365l256 -256l-90 -90l-256 256zM704 384q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45z
M1411 704q0 -59 -11.5 -108.5t-37.5 -93.5t-44 -67.5t-53 -64.5q-31 -35 -45.5 -54t-33.5 -50t-26.5 -64t-7.5 -74q0 -159 -112.5 -271.5t-271.5 -112.5q-26 0 -45 19t-19 45t19 45t45 19q106 0 181 75t75 181q0 57 11.5 105.5t37 91t43.5 66.5t52 63q40 46 59.5 72
t37.5 74.5t18 103.5q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM896 576q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45
t45 19t45 -19t19 -45zM1184 704q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 93 -65.5 158.5t-158.5 65.5q-92 0 -158 -65.5t-66 -158.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 146 103 249t249 103t249 -103t103 -249zM1578 993q10 -25 -1 -49t-36 -34q-9 -4 -23 -4
q-19 0 -35.5 11t-23.5 30q-68 178 -224 295q-21 16 -25 42t12 47q17 21 43 25t47 -12q183 -137 266 -351zM1788 1074q9 -25 -1.5 -49t-35.5 -34q-11 -4 -23 -4q-44 0 -60 41q-92 238 -297 393q-22 16 -25.5 42t12.5 47q16 22 42 25.5t47 -12.5q235 -175 341 -449z" />
    <glyph glyph-name="uniF2A3" unicode="&#xf2a3;" horiz-adv-x="2304"
d="M1032 576q-59 2 -84 55q-17 34 -48 53.5t-68 19.5q-53 0 -90.5 -37.5t-37.5 -90.5q0 -56 36 -89l10 -8q34 -31 82 -31q37 0 68 19.5t48 53.5q25 53 84 55zM1600 704q0 56 -36 89l-10 8q-34 31 -82 31q-37 0 -68 -19.5t-48 -53.5q-25 -53 -84 -55q59 -2 84 -55
q17 -34 48 -53.5t68 -19.5q53 0 90.5 37.5t37.5 90.5zM1174 925q-17 -35 -55 -48t-73 4q-62 31 -134 31q-51 0 -99 -17q3 0 9.5 0.5t9.5 0.5q92 0 170.5 -50t118.5 -133q17 -36 3.5 -73.5t-49.5 -54.5q-18 -9 -39 -9q21 0 39 -9q36 -17 49.5 -54.5t-3.5 -73.5
q-40 -83 -118.5 -133t-170.5 -50h-6q-16 2 -44 4l-290 27l-239 -120q-14 -7 -29 -7q-40 0 -57 35l-160 320q-11 23 -4 47.5t29 37.5l209 119l148 267q17 155 91.5 291.5t195.5 236.5q31 25 70.5 21.5t64.5 -34.5t21.5 -70t-34.5 -65q-70 -59 -117 -128q123 84 267 101
q40 5 71.5 -19t35.5 -64q5 -40 -19 -71.5t-64 -35.5q-84 -10 -159 -55q46 10 99 10q115 0 218 -50q36 -18 49 -55.5t-5 -73.5zM2137 1085l160 -320q11 -23 4 -47.5t-29 -37.5l-209 -119l-148 -267q-17 -155 -91.5 -291.5t-195.5 -236.5q-26 -22 -61 -22q-45 0 -74 35
q-25 31 -21.5 70t34.5 65q70 59 117 128q-123 -84 -267 -101q-4 -1 -12 -1q-36 0 -63.5 24t-31.5 60q-5 40 19 71.5t64 35.5q84 10 159 55q-46 -10 -99 -10q-115 0 -218 50q-36 18 -49 55.5t5 73.5q17 35 55 48t73 -4q62 -31 134 -31q51 0 99 17q-3 0 -9.5 -0.5t-9.5 -0.5
q-92 0 -170.5 50t-118.5 133q-17 36 -3.5 73.5t49.5 54.5q18 9 39 9q-21 0 -39 9q-36 17 -49.5 54.5t3.5 73.5q40 83 118.5 133t170.5 50h6h1q14 -2 42 -4l291 -27l239 120q14 7 29 7q40 0 57 -35z" />
    <glyph glyph-name="uniF2A4" unicode="&#xf2a4;" horiz-adv-x="1792"
d="M1056 704q0 -26 19 -45t45 -19t45 19t19 45q0 146 -103 249t-249 103t-249 -103t-103 -249q0 -26 19 -45t45 -19t45 19t19 45q0 93 66 158.5t158 65.5t158 -65.5t66 -158.5zM835 1280q-117 0 -223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5q0 -26 19 -45t45 -19t45 19
t19 45q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -55 -18 -103.5t-37.5 -74.5t-59.5 -72q-34 -39 -52 -63t-43.5 -66.5t-37 -91t-11.5 -105.5q0 -106 -75 -181t-181 -75q-26 0 -45 -19t-19 -45t19 -45t45 -19q159 0 271.5 112.5t112.5 271.5q0 41 7.5 74
t26.5 64t33.5 50t45.5 54q35 41 53 64.5t44 67.5t37.5 93.5t11.5 108.5q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5zM591 561l226 -226l-579 -579q-12 -12 -29 -12t-29 12l-168 168q-12 12 -12 29t12 29zM1612 1524l168 -168q12 -12 12 -29t-12 -30l-233 -233
l-26 -25l-71 -71q-66 153 -195 258l91 91l207 207q13 12 30 12t29 -12z" />
    <glyph glyph-name="uniF2A5" unicode="&#xf2a5;"
d="M866 1021q0 -27 -13 -94q-11 -50 -31.5 -150t-30.5 -150q-2 -11 -4.5 -12.5t-13.5 -2.5q-20 -2 -31 -2q-58 0 -84 49.5t-26 113.5q0 88 35 174t103 124q28 14 51 14q28 0 36.5 -16.5t8.5 -47.5zM1352 597q0 14 -39 75.5t-52 66.5q-21 8 -34 8q-91 0 -226 -77l-2 2
q3 22 27.5 135t24.5 178q0 233 -242 233q-24 0 -68 -6q-94 -17 -168.5 -89.5t-111.5 -166.5t-37 -189q0 -146 80.5 -225t227.5 -79q25 0 25 -3t-1 -5q-4 -34 -26 -117q-14 -52 -51.5 -101t-82.5 -49q-42 0 -42 47q0 24 10.5 47.5t25 39.5t29.5 28.5t26 20t11 8.5q0 3 -7 10
q-24 22 -58.5 36.5t-65.5 14.5q-35 0 -63.5 -34t-41 -75t-12.5 -75q0 -88 51.5 -142t138.5 -54q82 0 155 53t117.5 126t65.5 153q6 22 15.5 66.5t14.5 66.5q3 12 14 18q118 60 227 60q48 0 127 -18q1 -1 4 -1q5 0 9.5 4.5t4.5 8.5zM1536 1120v-960q0 -119 -84.5 -203.5
t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="uniF2A6" unicode="&#xf2a6;" horiz-adv-x="1535"
d="M744 1231q0 24 -2 38.5t-8.5 30t-21 23t-37.5 7.5q-39 0 -78 -23q-105 -58 -159 -190.5t-54 -269.5q0 -44 8.5 -85.5t26.5 -80.5t52.5 -62.5t81.5 -23.5q4 0 18 -0.5t20 0t16 3t15 8.5t7 16q16 77 48 231.5t48 231.5q19 91 19 146zM1498 575q0 -7 -7.5 -13.5t-15.5 -6.5
l-6 1q-22 3 -62 11t-72 12.5t-63 4.5q-167 0 -351 -93q-15 -8 -21 -27q-10 -36 -24.5 -105.5t-22.5 -100.5q-23 -91 -70 -179.5t-112.5 -164.5t-154.5 -123t-185 -47q-135 0 -214.5 83.5t-79.5 219.5q0 53 19.5 117t63 116.5t97.5 52.5q38 0 120 -33.5t83 -61.5
q0 -1 -16.5 -12.5t-39.5 -31t-46 -44.5t-39 -61t-16 -74q0 -33 16.5 -53t48.5 -20q45 0 85 31.5t66.5 78t48 105.5t32.5 107t16 90v9q0 2 -3.5 3.5t-8.5 1.5h-10t-10 -0.5t-6 -0.5q-227 0 -352 122.5t-125 348.5q0 108 34.5 221t96 210t156 167.5t204.5 89.5q52 9 106 9
q374 0 374 -360q0 -98 -38 -273t-43 -211l3 -3q101 57 182.5 88t167.5 31q22 0 53 -13q19 -7 80 -102.5t61 -116.5z" />
    <glyph glyph-name="uniF2A7" unicode="&#xf2a7;" horiz-adv-x="1664"
d="M831 863q32 0 59 -18l222 -148q61 -40 110 -97l146 -170q40 -46 29 -106l-72 -413q-6 -32 -29.5 -53.5t-55.5 -25.5l-527 -56l-352 -32h-9q-39 0 -67.5 28t-28.5 68q0 37 27 64t65 32l260 32h-448q-41 0 -69.5 30t-26.5 71q2 39 32 65t69 26l442 1l-521 64q-41 5 -66 37
t-19 73q6 35 34.5 57.5t65.5 22.5h10l481 -60l-351 94q-38 10 -62 41.5t-18 68.5q6 36 33 58.5t62 22.5q6 0 20 -2l448 -96l217 -37q1 0 3 -0.5t3 -0.5q23 0 30.5 23t-12.5 36l-186 125q-35 23 -42 63.5t18 73.5q27 38 76 38zM761 661l186 -125l-218 37l-5 2l-36 38
l-238 262q-1 1 -2.5 3.5t-2.5 3.5q-24 31 -18.5 70t37.5 64q31 23 68 17.5t64 -33.5l142 -147q-2 -1 -5 -3.5t-4 -4.5q-32 -45 -23 -99t55 -85zM1648 1115l15 -266q4 -73 -11 -147l-48 -219q-12 -59 -67 -87l-106 -54q2 62 -39 109l-146 170q-53 61 -117 103l-222 148
q-34 23 -76 23q-51 0 -88 -37l-235 312q-25 33 -18 73.5t41 63.5q33 22 71.5 14t62.5 -40l266 -352l-262 455q-21 35 -10.5 75t47.5 59q35 18 72.5 6t57.5 -46l241 -420l-136 337q-15 35 -4.5 74t44.5 56q37 19 76 6t56 -51l193 -415l101 -196q8 -15 23 -17.5t27 7.5t11 26
l-12 224q-2 41 26 71t69 31q39 0 67 -28.5t30 -67.5z" />
    <glyph glyph-name="uniF2A8" unicode="&#xf2a8;" horiz-adv-x="1792"
d="M335 180q-2 0 -6 2q-86 57 -168.5 145t-139.5 180q-21 30 -21 69q0 9 2 19t4 18t7 18t8.5 16t10.5 17t10 15t12 15.5t11 14.5q184 251 452 365q-110 198 -110 211q0 19 17 29q116 64 128 64q18 0 28 -16l124 -229q92 19 192 19q266 0 497.5 -137.5t378.5 -369.5
q20 -31 20 -69t-20 -69q-91 -142 -218.5 -253.5t-278.5 -175.5q110 -198 110 -211q0 -20 -17 -29q-116 -64 -127 -64q-19 0 -29 16l-124 229l-64 119l-444 820l7 7q-58 -24 -99 -47q3 -5 127 -234t243 -449t119 -223q0 -7 -9 -9q-13 -3 -72 -3q-57 0 -60 7l-456 841
q-39 -28 -82 -68q24 -43 214 -393.5t190 -354.5q0 -10 -11 -10q-14 0 -82.5 22t-72.5 28l-106 197l-224 413q-44 -53 -78 -106q2 -3 18 -25t23 -34l176 -327q0 -10 -10 -10zM1165 282l49 -91q273 111 450 385q-180 277 -459 389q67 -64 103 -148.5t36 -176.5
q0 -106 -47 -200.5t-132 -157.5zM848 896q0 -20 14 -34t34 -14q86 0 147 -61t61 -147q0 -20 14 -34t34 -14t34 14t14 34q0 126 -89 215t-215 89q-20 0 -34 -14t-14 -34zM1214 961l-9 4l7 -7z" />
    <glyph glyph-name="uniF2A9" unicode="&#xf2a9;" horiz-adv-x="1280"
d="M1050 430q0 -215 -147 -374q-148 -161 -378 -161q-232 0 -378 161q-147 159 -147 374q0 147 68 270.5t189 196.5t268 73q96 0 182 -31q-32 -62 -39 -126q-66 28 -143 28q-167 0 -280.5 -123t-113.5 -291q0 -170 112.5 -288.5t281.5 -118.5t281 118.5t112 288.5
q0 89 -32 166q66 13 123 49q41 -98 41 -212zM846 619q0 -192 -79.5 -345t-238.5 -253l-14 -1q-29 0 -62 5q83 32 146.5 102.5t99.5 154.5t58.5 189t30 192.5t7.5 178.5q0 69 -3 103q55 -160 55 -326zM791 947v-2q-73 214 -206 440q88 -59 142.5 -186.5t63.5 -251.5z
M1035 744q-83 0 -160 75q218 120 290 247q19 37 21 56q-42 -94 -139.5 -166.5t-204.5 -97.5q-35 54 -35 113q0 37 17 79t43 68q46 44 157 74q59 16 106 58.5t74 100.5q74 -105 74 -253q0 -109 -24 -170q-32 -77 -88.5 -130.5t-130.5 -53.5z" />
    <glyph glyph-name="uniF2AA" unicode="&#xf2aa;"
d="M1050 495q0 78 -28 147q-41 -25 -85 -34q22 -50 22 -114q0 -117 -77 -198.5t-193 -81.5t-193.5 81.5t-77.5 198.5q0 115 78 199.5t193 84.5q53 0 98 -19q4 43 27 87q-60 21 -125 21q-154 0 -257.5 -108.5t-103.5 -263.5t103.5 -261t257.5 -106t257.5 106.5t103.5 260.5z
M872 850q2 -24 2 -71q0 -63 -5 -123t-20.5 -132.5t-40.5 -130t-68.5 -106t-100.5 -70.5q21 -3 42 -3h10q219 139 219 411q0 116 -38 225zM872 850q-4 80 -44 171.5t-98 130.5q92 -156 142 -302zM1207 955q0 102 -51 174q-41 -86 -124 -109q-69 -19 -109 -53.5t-40 -99.5
q0 -40 24 -77q74 17 140.5 67t95.5 115q-4 -52 -74.5 -111.5t-138.5 -97.5q52 -52 110 -52q51 0 90 37t60 90q17 42 17 117zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
t84.5 -203.5z" />
    <glyph glyph-name="uniF2AB" unicode="&#xf2ab;"
d="M1279 388q0 22 -22 27q-67 15 -118 59t-80 108q-7 19 -7 25q0 15 19.5 26t43 17t43 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-12 0 -32 -8t-31 -8q-4 0 -12 2q5 95 5 114q0 79 -17 114q-36 78 -103 121.5t-152 43.5q-199 0 -275 -165q-17 -35 -17 -114q0 -19 5 -114
q-4 -2 -14 -2q-12 0 -32 7.5t-30 7.5q-21 0 -38.5 -12t-17.5 -32q0 -21 19.5 -35.5t43 -20.5t43 -17t19.5 -26q0 -6 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -46 137 -68q2 -5 6 -26t11.5 -30.5t23.5 -9.5q12 0 37.5 4.5t39.5 4.5q35 0 67 -15t54 -32.5t57.5 -32.5
t76.5 -15q43 0 79 15t57.5 32.5t53.5 32.5t67 15q14 0 39.5 -4t38.5 -4q16 0 23 10t11 30t6 25q137 22 137 68zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
t103 -385.5z" />
    <glyph glyph-name="uniF2AC" unicode="&#xf2ac;" horiz-adv-x="1664"
d="M848 1408q134 1 240.5 -68.5t163.5 -192.5q27 -58 27 -179q0 -47 -9 -191q14 -7 28 -7q18 0 51 13.5t51 13.5q29 0 56 -18t27 -46q0 -32 -31.5 -54t-69 -31.5t-69 -29t-31.5 -47.5q0 -15 12 -43q37 -82 102.5 -150t144.5 -101q28 -12 80 -23q28 -6 28 -35
q0 -70 -219 -103q-7 -11 -11 -39t-14 -46.5t-33 -18.5q-20 0 -62 6.5t-64 6.5q-37 0 -62 -5q-32 -5 -63 -22.5t-58 -38t-58 -40.5t-76 -33.5t-99 -13.5q-52 0 -96.5 13.5t-75 33.5t-57.5 40.5t-58 38t-62 22.5q-26 5 -63 5q-24 0 -65.5 -7.5t-58.5 -7.5q-25 0 -35 18.5
t-14 47.5t-11 40q-219 33 -219 103q0 29 28 35q52 11 80 23q78 32 144.5 101t102.5 150q12 28 12 43q0 28 -31.5 47.5t-69.5 29.5t-69.5 31.5t-31.5 52.5q0 27 26 45.5t55 18.5q15 0 48 -13t53 -13q18 0 32 7q-9 142 -9 190q0 122 27 180q64 137 172 198t264 63z" />
    <glyph glyph-name="uniF2AD" unicode="&#xf2ad;"
d="M1280 388q0 22 -22 27q-67 14 -118 58t-80 109q-7 14 -7 25q0 15 19.5 26t42.5 17t42.5 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-11 0 -31 -8t-32 -8q-4 0 -12 2q5 63 5 115q0 78 -17 114q-36 78 -102.5 121.5t-152.5 43.5q-198 0 -275 -165q-18 -38 -18 -115
q0 -38 6 -114q-10 -2 -15 -2q-11 0 -31.5 8t-30.5 8q-20 0 -37.5 -12.5t-17.5 -32.5q0 -21 19.5 -35.5t42.5 -20.5t42.5 -17t19.5 -26q0 -11 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -47 138 -69q2 -5 6 -26t11 -30.5t23 -9.5q13 0 38.5 5t38.5 5q35 0 67.5 -15
t54.5 -32.5t57.5 -32.5t76.5 -15q43 0 79 15t57.5 32.5t54 32.5t67.5 15q13 0 39 -4.5t39 -4.5q15 0 22.5 9.5t11.5 31t5 24.5q138 22 138 69zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960
q119 0 203.5 -84.5t84.5 -203.5z" />
    <glyph glyph-name="uniF2AE" unicode="&#xf2ae;" horiz-adv-x="2304"
d="M2304 1536q-69 -46 -125 -92t-89 -81t-59.5 -71.5t-37.5 -57.5t-22 -44.5t-14 -29.5q-10 -18 -35.5 -136.5t-48.5 -164.5q-15 -29 -50 -60.5t-67.5 -50.5t-72.5 -41t-48 -28q-47 -31 -151 -231q-341 14 -630 -158q-92 -53 -303 -179q47 16 86 31t55 22l15 7
q71 27 163 64.5t133.5 53.5t108 34.5t142.5 31.5q186 31 465 -7q1 0 10 -3q11 -6 14 -17t-3 -22l-194 -345q-15 -29 -47 -22q-128 24 -354 24q-146 0 -402 -44.5t-392 -46.5q-82 -1 -149 13t-107 37t-61 40t-33 34l-1 1v2q0 6 6 6q138 0 371 55q192 366 374.5 524t383.5 158
q5 0 14.5 -0.5t38 -5t55 -12t61.5 -24.5t63 -39.5t54 -59t40 -82.5l102 177q2 4 21 42.5t44.5 86.5t61 109.5t84 133.5t100.5 137q66 82 128 141.5t121.5 96.5t92.5 53.5t88 39.5z" />
    <glyph glyph-name="uniF2B0" unicode="&#xf2b0;"
d="M1322 640q0 -45 -5 -76l-236 14l224 -78q-19 -73 -58 -141l-214 103l177 -158q-44 -61 -107 -108l-157 178l103 -215q-61 -37 -140 -59l-79 228l14 -240q-38 -6 -76 -6t-76 6l14 238l-78 -226q-74 19 -140 59l103 215l-157 -178q-59 43 -108 108l178 158l-214 -104
q-39 69 -58 141l224 79l-237 -14q-5 42 -5 76q0 35 5 77l238 -14l-225 79q19 73 58 140l214 -104l-177 159q46 61 107 108l158 -178l-103 215q67 39 140 58l77 -224l-13 236q36 6 75 6q38 0 76 -6l-14 -237l78 225q74 -19 140 -59l-103 -214l158 178q61 -47 107 -108
l-177 -159l213 104q37 -62 58 -141l-224 -78l237 14q5 -31 5 -77zM1352 640q0 160 -78.5 295.5t-213 214t-292.5 78.5q-119 0 -227 -46.5t-186.5 -125t-124.5 -187.5t-46 -229q0 -119 46 -228t124.5 -187.5t186.5 -125t227 -46.5q158 0 292.5 78.5t213 214t78.5 294.5z
M1425 1023v-766l-657 -383l-657 383v766l657 383zM768 -183l708 412v823l-708 411l-708 -411v-823zM1536 1088v-896l-768 -448l-768 448v896l768 448z" />
    <glyph glyph-name="uniF2B1" unicode="&#xf2b1;" horiz-adv-x="1664"
d="M339 1318h691l-26 -72h-665q-110 0 -188.5 -79t-78.5 -189v-771q0 -95 60.5 -169.5t153.5 -93.5q23 -5 98 -5v-72h-45q-140 0 -239.5 100t-99.5 240v771q0 140 99.5 240t239.5 100zM1190 1536h247l-482 -1294q-23 -61 -40.5 -103.5t-45 -98t-54 -93.5t-64.5 -78.5
t-79.5 -65t-95.5 -41t-116 -18.5v195q163 26 220 182q20 52 20 105q0 54 -20 106l-285 733h228l187 -585zM1664 978v-1111h-795q37 55 45 73h678v1038q0 85 -49.5 155t-129.5 99l25 67q101 -34 163.5 -123.5t62.5 -197.5z" />
    <glyph glyph-name="uniF2B2" unicode="&#xf2b2;" horiz-adv-x="1792"
d="M852 1227q0 -29 -17 -52.5t-45 -23.5t-45 23.5t-17 52.5t17 52.5t45 23.5t45 -23.5t17 -52.5zM688 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50 -21.5t-20 -51.5v-114q0 -30 20.5 -52t49.5 -22q30 0 50.5 22t20.5 52zM860 -149v114q0 30 -20 51.5t-50 21.5t-50.5 -21.5
t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22q29 0 49.5 22t20.5 52zM1034 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1208 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114
q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1476 535q-84 -160 -232 -259.5t-323 -99.5q-123 0 -229.5 51.5t-178.5 137t-113 197.5t-41 232q0 88 21 174q-104 -175 -104 -390q0 -162 65 -312t185 -251q30 57 91 57q56 0 86 -50q32 50 87 50q56 0 86 -50q32 50 87 50t87 -50
q30 50 86 50q28 0 52.5 -15.5t37.5 -40.5q112 94 177 231.5t73 287.5zM1326 564q0 75 -72 75q-17 0 -47 -6q-95 -19 -149 -19q-226 0 -226 243q0 86 30 204q-83 -127 -83 -275q0 -150 89 -260.5t235 -110.5q111 0 210 70q13 48 13 79zM884 1223q0 50 -32 89.5t-81 39.5
t-81 -39.5t-32 -89.5q0 -51 31.5 -90.5t81.5 -39.5t81.5 39.5t31.5 90.5zM1513 884q0 96 -37.5 179t-113 137t-173.5 54q-77 0 -149 -35t-127 -94q-48 -159 -48 -268q0 -104 45.5 -157t147.5 -53q53 0 142 19q36 6 53 6q51 0 77.5 -28t26.5 -80q0 -26 -4 -46
q75 68 117.5 165.5t42.5 200.5zM1792 667q0 -111 -33.5 -249.5t-93.5 -204.5q-58 -64 -195 -142.5t-228 -104.5l-4 -1v-114q0 -43 -29.5 -75t-72.5 -32q-56 0 -86 50q-32 -50 -87 -50t-87 50q-30 -50 -86 -50q-55 0 -87 50q-30 -50 -86 -50q-47 0 -75 33.5t-28 81.5
q-90 -68 -198 -68q-118 0 -211 80q54 1 106 20q-113 31 -182 127q32 -7 71 -7q89 0 164 46q-192 192 -240 306q-24 56 -24 160q0 57 9 125.5t31.5 146.5t55 141t86.5 105t120 42q59 0 81 -52q19 29 42 54q2 3 12 13t13 16q10 15 23 38t25 42t28 39q87 111 211.5 177
t260.5 66q35 0 62 -4q59 64 146 64q83 0 140 -57q5 -5 5 -12q0 -5 -6 -13.5t-12.5 -16t-16 -17l-10.5 -10.5q17 -6 36 -18t19 -24q0 -6 -16 -25q157 -138 197 -378q25 30 60 30q45 0 100 -49q90 -80 90 -279z" />
    <glyph glyph-name="uniF2B3" unicode="&#xf2b3;"
d="M917 631q0 33 -6 64h-362v-132h217q-12 -76 -74.5 -120.5t-142.5 -44.5q-99 0 -169 71.5t-70 170.5t70 170.5t169 71.5q93 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585h109v110
h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
    <glyph glyph-name="uniF2B4" unicode="&#xf2b4;"
d="M1536 1024v-839q0 -48 -49 -62q-174 -52 -338 -52q-73 0 -215.5 29.5t-227.5 29.5q-164 0 -370 -48v-338h-160v1368q-63 25 -101 81t-38 124q0 91 64 155t155 64t155 -64t64 -155q0 -68 -38 -124t-101 -81v-68q190 44 343 44q99 0 198 -15q14 -2 111.5 -22.5t149.5 -20.5
q77 0 165 18q11 2 80 21t89 19q26 0 45 -19t19 -45z" />
    <glyph glyph-name="uniF2B5" unicode="&#xf2b5;" horiz-adv-x="2304"
d="M192 384q40 0 56 32t0 64t-56 32t-56 -32t0 -64t56 -32zM1665 442q-10 13 -38.5 50t-41.5 54t-38 49t-42.5 53t-40.5 47t-45 49l-125 -140q-83 -94 -208.5 -92t-205.5 98q-57 69 -56.5 158t58.5 157l177 206q-22 11 -51 16.5t-47.5 6t-56.5 -0.5t-49 -1q-92 0 -158 -66
l-158 -158h-155v-544q5 0 21 0.5t22 0t19.5 -2t20.5 -4.5t17.5 -8.5t18.5 -13.5l297 -292q115 -111 227 -111q78 0 125 47q57 -20 112.5 8t72.5 85q74 -6 127 44q20 18 36 45.5t14 50.5q10 -10 43 -10q43 0 77 21t49.5 53t12 71.5t-30.5 73.5zM1824 384h96v512h-93l-157 180
q-66 76 -169 76h-167q-89 0 -146 -67l-209 -243q-28 -33 -28 -75t27 -75q43 -51 110 -52t111 49l193 218q25 23 53.5 21.5t47 -27t8.5 -56.5q16 -19 56 -63t60 -68q29 -36 82.5 -105.5t64.5 -84.5q52 -66 60 -140zM2112 384q40 0 56 32t0 64t-56 32t-56 -32t0 -64t56 -32z
M2304 960v-640q0 -26 -19 -45t-45 -19h-434q-27 -65 -82 -106.5t-125 -51.5q-33 -48 -80.5 -81.5t-102.5 -45.5q-42 -53 -104.5 -81.5t-128.5 -24.5q-60 -34 -126 -39.5t-127.5 14t-117 53.5t-103.5 81l-287 282h-358q-26 0 -45 19t-19 45v672q0 26 19 45t45 19h421
q14 14 47 48t47.5 48t44 40t50.5 37.5t51 25.5t62 19.5t68 5.5h117q99 0 181 -56q82 56 181 56h167q35 0 67 -6t56.5 -14.5t51.5 -26.5t44.5 -31t43 -39.5t39 -42t41 -48t41.5 -48.5h355q26 0 45 -19t19 -45z" />
    <glyph glyph-name="uniF2B6" unicode="&#xf2b6;" horiz-adv-x="1792"
d="M1792 882v-978q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v978q0 15 11 24q8 7 39 34.5t41.5 36t45.5 37.5t70 55.5t96 73t143.5 107t192.5 140.5q5 4 52.5 40t71.5 52.5t64 35t69 18.5t69 -18.5t65 -35.5t71 -52t52 -40q110 -80 192.5 -140.5t143.5 -107
t96 -73t70 -55.5t45.5 -37.5t41.5 -36t39 -34.5q11 -9 11 -24zM1228 297q263 191 345 252q11 8 12.5 20.5t-6.5 23.5l-38 52q-8 11 -21 12.5t-24 -6.5q-231 -169 -343 -250q-5 -3 -52 -39t-71.5 -52.5t-64.5 -35t-69 -18.5t-69 18.5t-64.5 35t-71.5 52.5t-52 39
q-186 134 -343 250q-11 8 -24 6.5t-21 -12.5l-38 -52q-8 -11 -6.5 -23.5t12.5 -20.5q82 -61 345 -252q10 -8 50 -38t65 -47t64 -39.5t77.5 -33.5t75.5 -11t75.5 11t79 34.5t64.5 39.5t65 47.5t48 36.5z" />
    <glyph glyph-name="uniF2B7" unicode="&#xf2b7;" horiz-adv-x="1792"
d="M1474 623l39 -51q8 -11 6.5 -23.5t-11.5 -20.5q-43 -34 -126.5 -98.5t-146.5 -113t-67 -51.5q-39 -32 -60 -48t-60.5 -41t-76.5 -36.5t-74 -11.5h-1h-1q-37 0 -74 11.5t-76 36.5t-61 41.5t-60 47.5q-5 4 -65 50.5t-143.5 111t-122.5 94.5q-11 8 -12.5 20.5t6.5 23.5
l37 52q8 11 21.5 13t24.5 -7q94 -73 306 -236q5 -4 43.5 -35t60.5 -46.5t56.5 -32.5t58.5 -17h1h1q24 0 58.5 17t56.5 32.5t60.5 46.5t43.5 35q258 198 313 242q11 8 24 6.5t21 -12.5zM1664 -96v928q-90 83 -159 139q-91 74 -389 304q-3 2 -43 35t-61 48t-56 32.5t-59 17.5
h-1h-1q-24 0 -59 -17.5t-56 -32.5t-61 -48t-43 -35q-215 -166 -315.5 -245.5t-129.5 -104t-82 -74.5q-14 -12 -21 -19v-928q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 832v-928q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v928q0 56 41 94
q123 114 350 290.5t233 181.5q36 30 59 47.5t61.5 42t76 36.5t74.5 12h1h1q37 0 74.5 -12t76 -36.5t61.5 -42t59 -47.5q43 -36 156 -122t226 -177t201 -173q41 -38 41 -94z" />
    <glyph glyph-name="uniF2B8" unicode="&#xf2b8;"
d="M330 1l202 -214l-34 236l-216 213zM556 -225l274 218l-11 245l-300 -215zM245 413l227 -213l-48 327l-245 204zM495 189l317 214l-14 324l-352 -200zM843 178l95 -80l-2 239l-103 79q0 -1 1 -8.5t0 -12t-5 -7.5l-78 -52l85 -70q7 -6 7 -88zM138 930l256 -200l-68 465
l-279 173zM1173 267l15 234l-230 -164l2 -240zM417 722l373 194l-19 441l-423 -163zM1270 357l20 233l-226 142l-2 -105l144 -95q6 -4 4 -9l-7 -119zM1461 496l30 222l-179 -128l-20 -228zM1273 329l-71 49l-8 -117q0 -5 -4 -8l-234 -187q-7 -5 -14 0l-98 83l7 -161
q0 -5 -4 -8l-293 -234q-4 -2 -6 -2q-8 2 -8 3l-228 242q-4 4 -59 277q-2 7 5 11l61 37q-94 86 -95 92l-72 351q-2 7 6 12l94 45q-133 100 -135 108l-96 466q-2 10 7 13l433 135q5 0 8 -1l317 -153q6 -4 6 -9l20 -463q0 -7 -6 -10l-118 -61l126 -85q5 -2 5 -8l5 -123l121 74
q5 4 11 0l84 -56l3 110q0 6 5 9l206 126q6 3 11 0l245 -135q4 -4 5 -7t-6.5 -60t-17.5 -124.5t-10 -70.5q0 -5 -4 -7l-191 -153q-6 -5 -13 0z" />
    <glyph glyph-name="uniF2B9" unicode="&#xf2b9;" horiz-adv-x="1664"
d="M1201 298q0 57 -5.5 107t-21 100.5t-39.5 86t-64 58t-91 22.5q-6 -4 -33.5 -20.5t-42.5 -24.5t-40.5 -20t-49 -17t-46.5 -5t-46.5 5t-49 17t-40.5 20t-42.5 24.5t-33.5 20.5q-51 0 -91 -22.5t-64 -58t-39.5 -86t-21 -100.5t-5.5 -107q0 -73 42 -121.5t103 -48.5h576
q61 0 103 48.5t42 121.5zM1028 892q0 108 -76.5 184t-183.5 76t-183.5 -76t-76.5 -184q0 -107 76.5 -183t183.5 -76t183.5 76t76.5 183zM1664 352v-192q0 -14 -9 -23t-23 -9h-96v-224q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h1216
q66 0 113 -47t47 -113v-224h96q14 0 23 -9t9 -23v-192q0 -14 -9 -23t-23 -9h-96v-128h96q14 0 23 -9t9 -23v-192q0 -14 -9 -23t-23 -9h-96v-128h96q14 0 23 -9t9 -23z" />
    <glyph glyph-name="uniF2BA" unicode="&#xf2ba;" horiz-adv-x="1664"
d="M1028 892q0 -107 -76.5 -183t-183.5 -76t-183.5 76t-76.5 183q0 108 76.5 184t183.5 76t183.5 -76t76.5 -184zM980 672q46 0 82.5 -17t60 -47.5t39.5 -67t24 -81t11.5 -82.5t3.5 -79q0 -67 -39.5 -118.5t-105.5 -51.5h-576q-66 0 -105.5 51.5t-39.5 118.5q0 48 4.5 93.5
t18.5 98.5t36.5 91.5t63 64.5t93.5 26h5q7 -4 32 -19.5t35.5 -21t33 -17t37 -16t35 -9t39.5 -4.5t39.5 4.5t35 9t37 16t33 17t35.5 21t32 19.5zM1664 928q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-128h96q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-128h96
q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-224q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h1216q66 0 113 -47t47 -113v-224h96q13 0 22.5 -9.5t9.5 -22.5v-192zM1408 -96v1472q0 13 -9.5 22.5t-22.5 9.5h-1216
q-13 0 -22.5 -9.5t-9.5 -22.5v-1472q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5z" />
    <glyph glyph-name="uniF2BB" unicode="&#xf2bb;" horiz-adv-x="2048"
d="M1024 405q0 64 -9 117.5t-29.5 103t-60.5 78t-97 28.5q-6 -4 -30 -18t-37.5 -21.5t-35.5 -17.5t-43 -14.5t-42 -4.5t-42 4.5t-43 14.5t-35.5 17.5t-37.5 21.5t-30 18q-57 0 -97 -28.5t-60.5 -78t-29.5 -103t-9 -117.5t37 -106.5t91 -42.5h512q54 0 91 42.5t37 106.5z
M867 925q0 94 -66.5 160.5t-160.5 66.5t-160.5 -66.5t-66.5 -160.5t66.5 -160.5t160.5 -66.5t160.5 66.5t66.5 160.5zM1792 416v64q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1792 676v56q0 15 -10.5 25.5t-25.5 10.5h-568
q-15 0 -25.5 -10.5t-10.5 -25.5v-56q0 -15 10.5 -25.5t25.5 -10.5h568q15 0 25.5 10.5t10.5 25.5zM1792 928v64q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-352v96q0 14 -9 23t-23 9
h-64q-14 0 -23 -9t-9 -23v-96h-768v96q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-96h-352q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
    <glyph glyph-name="uniF2BC" unicode="&#xf2bc;" horiz-adv-x="2048"
d="M1024 405q0 -64 -37 -106.5t-91 -42.5h-512q-54 0 -91 42.5t-37 106.5t9 117.5t29.5 103t60.5 78t97 28.5q6 -4 30 -18t37.5 -21.5t35.5 -17.5t43 -14.5t42 -4.5t42 4.5t43 14.5t35.5 17.5t37.5 21.5t30 18q57 0 97 -28.5t60.5 -78t29.5 -103t9 -117.5zM867 925
q0 -94 -66.5 -160.5t-160.5 -66.5t-160.5 66.5t-66.5 160.5t66.5 160.5t160.5 66.5t160.5 -66.5t66.5 -160.5zM1792 480v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM1792 732v-56q0 -15 -10.5 -25.5t-25.5 -10.5h-568
q-15 0 -25.5 10.5t-10.5 25.5v56q0 15 10.5 25.5t25.5 10.5h568q15 0 25.5 -10.5t10.5 -25.5zM1792 992v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM1920 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1728q-13 0 -22.5 -9.5
t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h352v96q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-96h768v96q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-96h352q13 0 22.5 9.5t9.5 22.5zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-1728q-66 0 -113 47t-47 113v1216q0 66 47 113
t113 47h1728q66 0 113 -47t47 -113z" />
    <glyph glyph-name="uniF2BD" unicode="&#xf2bd;" horiz-adv-x="1792"
d="M1523 197q-22 155 -87.5 257.5t-184.5 118.5q-67 -74 -159.5 -115.5t-195.5 -41.5t-195.5 41.5t-159.5 115.5q-119 -16 -184.5 -118.5t-87.5 -257.5q106 -150 271 -237.5t356 -87.5t356 87.5t271 237.5zM1280 896q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5
t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1792 640q0 -182 -71 -347.5t-190.5 -286t-285.5 -191.5t-349 -71q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
    <glyph glyph-name="uniF2BE" unicode="&#xf2be;" horiz-adv-x="1792"
d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348q0 -181 -70.5 -347t-190.5 -286t-286 -191.5t-349 -71.5t-349 71t-285.5 191.5t-190.5 286t-71 347.5t71 348t191 286t286 191t348 71zM1515 185q149 205 149 455q0 156 -61 298t-164 245t-245 164t-298 61t-298 -61
t-245 -164t-164 -245t-61 -298q0 -250 149 -455q66 327 306 327q131 -128 313 -128t313 128q240 0 306 -327zM1280 832q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5z" />
    <glyph glyph-name="uniF2C0" unicode="&#xf2c0;"
d="M1201 752q47 -14 89.5 -38t89 -73t79.5 -115.5t55 -172t22 -236.5q0 -154 -100 -263.5t-241 -109.5h-854q-141 0 -241 109.5t-100 263.5q0 131 22 236.5t55 172t79.5 115.5t89 73t89.5 38q-79 125 -79 272q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5
t198.5 -40.5t163.5 -109.5t109.5 -163.5t40.5 -198.5q0 -147 -79 -272zM768 1408q-159 0 -271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5zM1195 -128q88 0 150.5 71.5t62.5 173.5q0 239 -78.5 377t-225.5 145
q-145 -127 -336 -127t-336 127q-147 -7 -225.5 -145t-78.5 -377q0 -102 62.5 -173.5t150.5 -71.5h854z" />
    <glyph glyph-name="uniF2C1" unicode="&#xf2c1;" horiz-adv-x="1280"
d="M1024 278q0 -64 -37 -107t-91 -43h-512q-54 0 -91 43t-37 107t9 118t29.5 104t61 78.5t96.5 28.5q80 -75 188 -75t188 75q56 0 96.5 -28.5t61 -78.5t29.5 -104t9 -118zM870 797q0 -94 -67.5 -160.5t-162.5 -66.5t-162.5 66.5t-67.5 160.5t67.5 160.5t162.5 66.5
t162.5 -66.5t67.5 -160.5zM1152 -96v1376h-1024v-1376q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1280 1376v-1472q0 -66 -47 -113t-113 -47h-960q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h352v-96q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v96h352
q66 0 113 -47t47 -113z" />
    <glyph glyph-name="uniF2C2" unicode="&#xf2c2;" horiz-adv-x="2048"
d="M896 324q0 54 -7.5 100.5t-24.5 90t-51 68.5t-81 25q-64 -64 -156 -64t-156 64q-47 0 -81 -25t-51 -68.5t-24.5 -90t-7.5 -100.5q0 -55 31.5 -93.5t75.5 -38.5h426q44 0 75.5 38.5t31.5 93.5zM768 768q0 80 -56 136t-136 56t-136 -56t-56 -136t56 -136t136 -56t136 56
t56 136zM1792 288v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1408 544v64q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1792 544v64q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23
v-64q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1792 800v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM128 1152h1792v96q0 14 -9 23t-23 9h-1728q-14 0 -23 -9t-9 -23v-96zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-1728
q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
    <glyph glyph-name="uniF2C3" unicode="&#xf2c3;" horiz-adv-x="2048"
d="M896 324q0 -55 -31.5 -93.5t-75.5 -38.5h-426q-44 0 -75.5 38.5t-31.5 93.5q0 54 7.5 100.5t24.5 90t51 68.5t81 25q64 -64 156 -64t156 64q47 0 81 -25t51 -68.5t24.5 -90t7.5 -100.5zM768 768q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z
M1792 352v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1408 608v-64q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h320q14 0 23 -9t9 -23zM1792 608v-64q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v64
q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 864v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1920 32v1120h-1792v-1120q0 -13 9.5 -22.5t22.5 -9.5h1728q13 0 22.5 9.5t9.5 22.5zM2048 1248v-1216q0 -66 -47 -113t-113 -47
h-1728q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
    <glyph glyph-name="uniF2C4" unicode="&#xf2c4;" horiz-adv-x="1792"
d="M1255 749q0 318 -105 474.5t-330 156.5q-222 0 -326 -157t-104 -474q0 -316 104 -471.5t326 -155.5q74 0 131 17q-22 43 -39 73t-44 65t-53.5 56.5t-63 36t-77.5 14.5q-46 0 -79 -16l-49 97q105 91 276 91q132 0 215.5 -54t150.5 -155q67 149 67 402zM1645 117h117
q3 -27 -2 -67t-26.5 -95t-58 -100.5t-107 -78t-162.5 -32.5q-71 0 -130.5 19t-105.5 56t-79 78t-66 96q-97 -27 -205 -27q-150 0 -292.5 58t-253 158.5t-178 249t-67.5 317.5q0 170 67.5 319.5t178.5 250.5t253.5 159t291.5 58q121 0 238.5 -36t217 -106t176 -164.5
t119.5 -219t43 -261.5q0 -190 -80.5 -347.5t-218.5 -264.5q47 -70 93.5 -106.5t104.5 -36.5q61 0 94 37.5t38 85.5z" />
    <glyph glyph-name="uniF2C5" unicode="&#xf2c5;" horiz-adv-x="2304"
d="M453 -101q0 -21 -16 -37.5t-37 -16.5q-1 0 -13 3q-63 15 -162 140q-225 284 -225 676q0 341 213 614q39 51 95 103.5t94 52.5q19 0 35 -13.5t16 -32.5q0 -27 -63 -90q-98 -102 -147 -184q-119 -199 -119 -449q0 -281 123 -491q50 -85 136 -173q2 -3 14.5 -16t19.5 -21
t17 -20.5t14.5 -23.5t4.5 -21zM1796 33q0 -29 -17.5 -48.5t-46.5 -19.5h-1081q-26 0 -45 19t-19 45q0 29 17.5 48.5t46.5 19.5h1081q26 0 45 -19t19 -45zM1581 644q0 -134 -67 -233q-25 -38 -69.5 -78.5t-83.5 -60.5q-16 -10 -27 -10q-7 0 -15 6t-8 12q0 9 19 30t42 46
t42 67.5t19 88.5q0 76 -35 130q-29 42 -46 42q-3 0 -3 -5q0 -12 7.5 -35.5t7.5 -36.5q0 -22 -21.5 -35t-44.5 -13q-66 0 -66 76q0 15 1.5 44t1.5 44q0 25 -10 46q-13 25 -42 53.5t-51 28.5q-5 0 -7 -0.5t-3.5 -2.5t-1.5 -6q0 -2 16 -26t16 -54q0 -37 -19 -68t-46 -54
t-53.5 -46t-45.5 -54t-19 -68q0 -98 42 -160q29 -43 79 -63q16 -5 17 -10q1 -2 1 -5q0 -16 -18 -16q-6 0 -33 11q-119 43 -195 139.5t-76 218.5q0 55 24.5 115.5t60 115t70.5 108.5t59.5 113.5t24.5 111.5q0 53 -25 94q-29 48 -56 64q-19 9 -19 21q0 20 41 20q50 0 110 -29
q41 -19 71 -44.5t49.5 -51t33.5 -62.5t22 -69t16 -80q0 -1 3 -17.5t4.5 -25t5.5 -25t9 -27t11 -21.5t14.5 -16.5t18.5 -5.5q23 0 37 14t14 37q0 25 -20 67t-20 52t10 10q27 0 93 -70q72 -76 102.5 -156t30.5 -186zM2304 615q0 -274 -138 -503q-19 -32 -48 -72t-68 -86.5
t-81 -77t-74 -30.5q-16 0 -31 15.5t-15 31.5q0 15 29 50.5t68.5 77t48.5 52.5q183 230 183 531q0 131 -20.5 235t-72.5 211q-58 119 -163 228q-2 3 -13 13.5t-16.5 16.5t-15 17.5t-15 20t-9.5 18.5t-4 19q0 19 16 35.5t35 16.5q70 0 196 -169q98 -131 146 -273t60 -314
q2 -42 2 -64z" />
    <glyph glyph-name="uniF2C6" unicode="&#xf2c6;" horiz-adv-x="1792"
d="M1189 229l147 693q9 44 -10.5 63t-51.5 7l-864 -333q-29 -11 -39.5 -25t-2.5 -26.5t32 -19.5l221 -69l513 323q21 14 32 6q7 -5 -4 -15l-415 -375v0v0l-16 -228q23 0 45 22l108 104l224 -165q64 -36 81 38zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71
t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
    <glyph glyph-name="uniF2C7" unicode="&#xf2c7;" horiz-adv-x="1024"
d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v907h128v-907q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
v128h192z" />
    <glyph glyph-name="uniF2C8" unicode="&#xf2c8;" horiz-adv-x="1024"
d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v651h128v-651q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
v128h192z" />
    <glyph glyph-name="uniF2C9" unicode="&#xf2c9;" horiz-adv-x="1024"
d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v395h128v-395q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
v128h192z" />
    <glyph glyph-name="uniF2CA" unicode="&#xf2ca;" horiz-adv-x="1024"
d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v139h128v-139q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
v128h192z" />
    <glyph glyph-name="uniF2CB" unicode="&#xf2cb;" horiz-adv-x="1024"
d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 79 56 135.5t136 56.5t136 -56.5t56 -135.5zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5t93.5 226.5z
M896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192v128h192z" />
    <glyph glyph-name="uniF2CC" unicode="&#xf2cc;" horiz-adv-x="1920"
d="M1433 1287q10 -10 10 -23t-10 -23l-626 -626q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l44 44q-72 91 -81.5 207t46.5 215q-74 71 -176 71q-106 0 -181 -75t-75 -181v-1280h-256v1280q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5q106 0 201 -41
t166 -115q94 39 197 24.5t185 -79.5l44 44q10 10 23 10t23 -10zM1344 1024q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1600 896q-26 0 -45 19t-19 45t19 45t45 19t45 -19t19 -45t-19 -45t-45 -19zM1856 1024q26 0 45 -19t19 -45t-19 -45t-45 -19
t-45 19t-19 45t19 45t45 19zM1216 896q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1408 832q0 26 19 45t45 19t45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45zM1728 896q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 768
q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1344 640q-26 0 -45 19t-19 45t19 45t45 19t45 -19t19 -45t-19 -45t-45 -19zM1600 768q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1216 512q-26 0 -45 19t-19 45t19 45t45 19t45 -19
t19 -45t-19 -45t-45 -19zM1472 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 512q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1344 512q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1216 384
q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 256q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19z" />
    <glyph glyph-name="uniF2CD" unicode="&#xf2cd;" horiz-adv-x="1792"
d="M1664 448v-192q0 -169 -128 -286v-194q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v118q-63 -22 -128 -22h-768q-65 0 -128 22v-110q0 -17 -9.5 -28.5t-22.5 -11.5h-64q-13 0 -22.5 11.5t-9.5 28.5v186q-128 117 -128 286v192h1536zM704 864q0 -14 -9 -23t-23 -9t-23 9
t-9 23t9 23t23 9t23 -9t9 -23zM768 928q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM704 992q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 992q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM768 1056q0 -14 -9 -23t-23 -9t-23 9
t-9 23t9 23t23 9t23 -9t9 -23zM704 1120q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1792 608v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v640q0 106 75 181t181 75q108 0 184 -78q46 19 98 12t93 -39l22 22q11 11 22 0l42 -42
q11 -11 0 -22l-314 -314q-11 -11 -22 0l-42 42q-11 11 0 22l22 22q-36 46 -40.5 104t23.5 108q-37 35 -88 35q-53 0 -90.5 -37.5t-37.5 -90.5v-640h1504q14 0 23 -9t9 -23zM896 1056q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 1120q0 -14 -9 -23t-23 -9
t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM768 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM960 1120q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM896 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 1248q0 -14 -9 -23
t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1024 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM960 1248q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1088 1248q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23z" />
    <glyph glyph-name="uniF2CE" unicode="&#xf2ce;"
d="M994 344q0 -86 -17 -197q-31 -215 -55 -313q-22 -90 -152 -90t-152 90q-24 98 -55 313q-17 110 -17 197q0 168 224 168t224 -168zM1536 768q0 -240 -134 -434t-350 -280q-8 -3 -15 3t-6 15q7 48 10 66q4 32 6 47q1 9 9 12q159 81 255.5 234t96.5 337q0 180 -91 330.5
t-247 234.5t-337 74q-124 -7 -237 -61t-193.5 -140.5t-128 -202t-46.5 -240.5q1 -184 99 -336.5t257 -231.5q7 -3 9 -12q3 -21 6 -45q1 -9 5 -32.5t6 -35.5q1 -9 -6.5 -15t-15.5 -2q-148 58 -261 169.5t-173.5 264t-52.5 319.5q7 143 66 273.5t154.5 227t225 157.5t272.5 70
q164 10 315.5 -46.5t261 -160.5t175 -250.5t65.5 -308.5zM994 800q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5zM1282 768q0 -122 -53.5 -228.5t-146.5 -177.5q-8 -6 -16 -2t-10 14q-6 52 -29 92q-7 10 3 20
q58 54 91 127t33 155q0 111 -58.5 204t-157.5 141.5t-212 36.5q-133 -15 -229 -113t-109 -231q-10 -92 23.5 -176t98.5 -144q10 -10 3 -20q-24 -41 -29 -93q-2 -9 -10 -13t-16 2q-95 74 -148.5 183t-51.5 234q3 131 69 244t177 181.5t241 74.5q144 7 268 -60t196.5 -187.5
t72.5 -263.5z" />
    <glyph glyph-name="uniF2D0" unicode="&#xf2d0;" horiz-adv-x="1792"
d="M256 128h1280v768h-1280v-768zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
    <glyph glyph-name="uniF2D1" unicode="&#xf2d1;" horiz-adv-x="1792"
d="M1792 224v-192q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
    <glyph glyph-name="uniF2D2" unicode="&#xf2d2;" horiz-adv-x="2048"
d="M256 0h768v512h-768v-512zM1280 512h512v768h-768v-256h96q66 0 113 -47t47 -113v-352zM2048 1376v-960q0 -66 -47 -113t-113 -47h-608v-352q0 -66 -47 -113t-113 -47h-960q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h608v352q0 66 47 113t113 47h960q66 0 113 -47
t47 -113z" />
    <glyph glyph-name="uniF2D3" unicode="&#xf2d3;" horiz-adv-x="1792"
d="M1175 215l146 146q10 10 10 23t-10 23l-233 233l233 233q10 10 10 23t-10 23l-146 146q-10 10 -23 10t-23 -10l-233 -233l-233 233q-10 10 -23 10t-23 -10l-146 -146q-10 -10 -10 -23t10 -23l233 -233l-233 -233q-10 -10 -10 -23t10 -23l146 -146q10 -10 23 -10t23 10
l233 233l233 -233q10 -10 23 -10t23 10zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
    <glyph glyph-name="uniF2D4" unicode="&#xf2d4;" horiz-adv-x="1792"
d="M1257 425l-146 -146q-10 -10 -23 -10t-23 10l-169 169l-169 -169q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l169 169l-169 169q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l169 -169l169 169q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23
l-169 -169l169 -169q10 -10 10 -23t-10 -23zM256 128h1280v1024h-1280v-1024zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
    <glyph glyph-name="uniF2D5" unicode="&#xf2d5;" horiz-adv-x="1792"
d="M1070 358l306 564h-654l-306 -564h654zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
    <glyph glyph-name="uniF2D6" unicode="&#xf2d6;" horiz-adv-x="1794"
d="M1291 1060q-15 17 -35 8.5t-26 -28.5t5 -38q14 -17 40 -14.5t34 20.5t-18 52zM895 814q-8 -8 -19.5 -8t-18.5 8q-8 8 -8 19t8 18q7 8 18.5 8t19.5 -8q7 -7 7 -18t-7 -19zM1060 740l-35 -35q-12 -13 -29.5 -13t-30.5 13l-38 38q-12 13 -12 30t12 30l35 35q12 12 29.5 12
t30.5 -12l38 -39q12 -12 12 -29.5t-12 -29.5zM951 870q-7 -8 -18.5 -8t-19.5 8q-7 8 -7 19t7 19q8 8 19 8t19 -8t8 -19t-8 -19zM1354 968q-34 -64 -107.5 -85.5t-127.5 16.5q-38 28 -61 66.5t-21 87.5t39 92t75.5 53t70.5 -5t70 -51q2 -2 13 -12.5t14.5 -13.5t13 -13.5
t12.5 -15.5t10 -15.5t8.5 -18t4 -18.5t1 -21t-5 -22t-9.5 -24zM1555 486q3 20 -8.5 34.5t-27.5 21.5t-33 17t-23 20q-40 71 -84 98.5t-113 11.5q19 13 40 18.5t33 4.5l12 -1q2 45 -34 90q6 20 6.5 40.5t-2.5 30.5l-3 10q43 24 71 65t34 91q10 84 -43 150.5t-137 76.5
q-60 7 -114 -18.5t-82 -74.5q-30 -51 -33.5 -101t14.5 -87t43.5 -64t56.5 -42q-45 4 -88 36t-57 88q-28 108 32 222q-16 21 -29 32q-50 0 -89 -19q19 24 42 37t36 14l13 1q0 50 -13 78q-10 21 -32.5 28.5t-47 -3.5t-37.5 -40q2 4 4 7q-7 -28 -6.5 -75.5t19 -117t48.5 -122.5
q-25 -14 -47 -36q-35 -16 -85.5 -70.5t-84.5 -101.5l-33 -46q-90 -34 -181 -125.5t-75 -162.5q1 -16 11 -27q-15 -12 -30 -30q-21 -25 -21 -54t21.5 -40t63.5 6q41 19 77 49.5t55 60.5q-2 2 -6.5 5t-20.5 7.5t-33 3.5q23 5 51 12.5t40 10t27.5 6t26 4t23.5 0.5q14 -7 22 34
q7 37 7 90q0 102 -40 150q106 -103 101 -219q-1 -29 -15 -50t-27 -27l-13 -6q-4 -7 -19 -32t-26 -45.5t-26.5 -52t-25 -61t-17 -63t-6.5 -66.5t10 -63q-35 54 -37 80q-22 -24 -34.5 -39t-33.5 -42t-30.5 -46t-16.5 -41t-0.5 -38t25.5 -27q45 -25 144 64t190.5 221.5
t122.5 228.5q86 52 145 115.5t86 119.5q47 -93 154 -178q104 -83 167 -80q39 2 46 43zM1794 640q0 -182 -71 -348t-191 -286t-286.5 -191t-348.5 -71t-348.5 71t-286.5 191t-191 286t-71 348t71 348t191 286t286.5 191t348.5 71t348.5 -71t286.5 -191t191 -286t71 -348z" />
    <glyph glyph-name="uniF2D7" unicode="&#xf2d7;"
d="M518 1353v-655q103 -1 191.5 1.5t125.5 5.5l37 3q68 2 90.5 24.5t39.5 94.5l33 142h103l-14 -322l7 -319h-103l-29 127q-15 68 -45 93t-84 26q-87 8 -352 8v-556q0 -78 43.5 -115.5t133.5 -37.5h357q35 0 59.5 2t55 7.5t54 18t48.5 32t46 50.5t39 73l93 216h89
q-6 -37 -31.5 -252t-30.5 -276q-146 5 -263.5 8t-162.5 4h-44h-628l-376 -12v102l127 25q67 13 91.5 37t25.5 79l8 643q3 402 -8 645q-2 61 -25.5 84t-91.5 36l-127 24v102l376 -12h702q139 0 374 27q-6 -68 -14 -194.5t-12 -219.5l-5 -92h-93l-32 124q-31 121 -74 179.5
t-113 58.5h-548q-28 0 -35.5 -8.5t-7.5 -30.5z" />
    <glyph glyph-name="uniF2D8" unicode="&#xf2d8;"
d="M922 739v-182q0 -4 0.5 -15t0 -15l-1.5 -12t-3.5 -11.5t-6.5 -7.5t-11 -5.5t-16 -1.5v309q9 0 16 -1t11 -5t6.5 -5.5t3.5 -9.5t1 -10.5v-13.5v-14zM1238 643v-121q0 -1 0.5 -12.5t0 -15.5t-2.5 -11.5t-7.5 -10.5t-13.5 -3q-9 0 -14 9q-4 10 -4 165v7v8.5v9t1.5 8.5l3.5 7
t5 5.5t8 1.5q6 0 10 -1.5t6.5 -4.5t4 -6t2 -8.5t0.5 -8v-9.5v-9zM180 407h122v472h-122v-472zM614 407h106v472h-159l-28 -221q-20 148 -32 221h-158v-472h107v312l45 -312h76l43 319v-319zM1039 712q0 67 -5 90q-3 16 -11 28.5t-17 20.5t-25 14t-26.5 8.5t-31 4t-29 1.5
h-29.5h-12h-91v-472h56q169 -1 197 24.5t25 180.5q-1 62 -1 100zM1356 515v133q0 29 -2 45t-9.5 33.5t-24.5 25t-46 7.5q-46 0 -77 -34v154h-117v-472h110l7 30q30 -36 77 -36q50 0 66 30.5t16 83.5zM1536 1248v-1216q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113
v1216q0 66 47 113t113 47h1216q66 0 113 -47t47 -113z" />
    <glyph glyph-name="uniF2D9" unicode="&#xf2d9;" horiz-adv-x="2176"
d="M1143 -197q-6 1 -11 4q-13 8 -36 23t-86 65t-116.5 104.5t-112 140t-89.5 172.5q-17 3 -175 37q66 -213 235 -362t391 -184zM502 409l168 -28q-25 76 -41 167.5t-19 145.5l-4 53q-84 -82 -121 -224q5 -65 17 -114zM612 1018q-43 -64 -77 -148q44 46 74 68zM2049 584
q0 161 -62 307t-167.5 252t-250.5 168.5t-304 62.5q-147 0 -281 -52.5t-240 -148.5q-30 -58 -45 -160q60 51 143 83.5t158.5 43t143 13.5t108.5 -1l40 -3q33 -1 53 -15.5t24.5 -33t6.5 -37t-1 -28.5q-126 11 -227.5 0.5t-183 -43.5t-142.5 -71.5t-131 -98.5
q4 -36 11.5 -92.5t35.5 -178t62 -179.5q123 -6 247.5 14.5t214.5 53.5t162.5 67t109.5 59l37 24q22 16 39.5 20.5t30.5 -5t17 -34.5q14 -97 -39 -121q-208 -97 -467 -134q-135 -20 -317 -16q41 -96 110 -176.5t137 -127t130.5 -79t101.5 -43.5l39 -12q143 -23 263 15
q195 99 314 289t119 418zM2123 621q-14 -135 -40 -212q-70 -208 -181.5 -346.5t-318.5 -253.5q-48 -33 -82 -44q-72 -26 -163 -16q-36 -3 -73 -3q-283 0 -504.5 173t-295.5 442q-1 0 -4 0.5t-5 0.5q-6 -50 2.5 -112.5t26 -115t36 -98t31.5 -71.5l14 -26q8 -12 54 -82
q-71 38 -124.5 106.5t-78.5 140t-39.5 137t-17.5 107.5l-2 42q-5 2 -33.5 12.5t-48.5 18t-53 20.5t-57.5 25t-50 25.5t-42.5 27t-25 25.5q19 -10 50.5 -25.5t113 -45.5t145.5 -38l2 32q11 149 94 290q41 202 176 365q28 115 81 214q15 28 32 45t49 32q158 74 303.5 104
t302 11t306.5 -97q220 -115 333 -336t87 -474z" />
    <glyph glyph-name="uniF2DA" unicode="&#xf2da;" horiz-adv-x="1792"
d="M1341 752q29 44 -6.5 129.5t-121.5 142.5q-58 39 -125.5 53.5t-118 4.5t-68.5 -37q-12 -23 -4.5 -28t42.5 -10q23 -3 38.5 -5t44.5 -9.5t56 -17.5q36 -13 67.5 -31.5t53 -37t40 -38.5t30.5 -38t22 -34.5t16.5 -28.5t12 -18.5t10.5 -6t11 9.5zM1704 178
q-52 -127 -148.5 -220t-214.5 -141.5t-253 -60.5t-266 13.5t-251 91t-210 161.5t-141.5 235.5t-46.5 303.5q1 41 8.5 84.5t12.5 64t24 80.5t23 73q-51 -208 1 -397t173 -318t291 -206t346 -83t349 74.5t289 244.5q20 27 18 14q0 -4 -4 -14zM1465 627q0 -104 -40.5 -199
t-108.5 -164t-162 -109.5t-198 -40.5t-198 40.5t-162 109.5t-108.5 164t-40.5 199t40.5 199t108.5 164t162 109.5t198 40.5t198 -40.5t162 -109.5t108.5 -164t40.5 -199zM1752 915q-65 147 -180.5 251t-253 153.5t-292 53.5t-301 -36.5t-275.5 -129t-220 -211.5t-131 -297
t-10 -373q-49 161 -51.5 311.5t35.5 272.5t109 227t165.5 180.5t207 126t232 71t242.5 9t236 -54t216 -124.5t178 -197q33 -50 62 -121t31 -112zM1690 573q12 244 -136.5 416t-396.5 240q-8 0 -10 5t24 8q125 -4 230 -50t173 -120t116 -168.5t58.5 -199t-1 -208
t-61.5 -197.5t-122.5 -167t-185 -117.5t-248.5 -46.5q108 30 201.5 80t174 123t129.5 176.5t55 225.5z" />
    <glyph glyph-name="uniF2DB" unicode="&#xf2db;"
d="M192 256v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 512v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 768v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16
q0 16 16 16h112zM192 1024v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 1280v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM1280 1440v-1472q0 -40 -28 -68t-68 -28h-832q-40 0 -68 28
t-28 68v1472q0 40 28 68t68 28h832q40 0 68 -28t28 -68zM1536 208v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 464v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 720v-32
q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 976v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 1232v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16
h48q16 0 16 -16z" />
    <glyph glyph-name="uniF2DC" unicode="&#xf2dc;" horiz-adv-x="1664"
d="M1566 419l-167 -33l186 -107q23 -13 29.5 -38.5t-6.5 -48.5q-14 -23 -39 -29.5t-48 6.5l-186 106l55 -160q13 -38 -12 -63.5t-60.5 -20.5t-48.5 42l-102 300l-271 156v-313l208 -238q16 -18 17 -39t-11 -36.5t-28.5 -25t-37 -5.5t-36.5 22l-112 128v-214q0 -26 -19 -45
t-45 -19t-45 19t-19 45v214l-112 -128q-16 -18 -36.5 -22t-37 5.5t-28.5 25t-11 36.5t17 39l208 238v313l-271 -156l-102 -300q-13 -37 -48.5 -42t-60.5 20.5t-12 63.5l55 160l-186 -106q-23 -13 -48 -6.5t-39 29.5q-13 23 -6.5 48.5t29.5 38.5l186 107l-167 33
q-29 6 -42 29t-8.5 46.5t25.5 40t50 10.5l310 -62l271 157l-271 157l-310 -62q-4 -1 -13 -1q-27 0 -44 18t-19 40t11 43t40 26l167 33l-186 107q-23 13 -29.5 38.5t6.5 48.5t39 30t48 -7l186 -106l-55 160q-13 38 12 63.5t60.5 20.5t48.5 -42l102 -300l271 -156v313
l-208 238q-16 18 -17 39t11 36.5t28.5 25t37 5.5t36.5 -22l112 -128v214q0 26 19 45t45 19t45 -19t19 -45v-214l112 128q16 18 36.5 22t37 -5.5t28.5 -25t11 -36.5t-17 -39l-208 -238v-313l271 156l102 300q13 37 48.5 42t60.5 -20.5t12 -63.5l-55 -160l186 106
q23 13 48 6.5t39 -29.5q13 -23 6.5 -48.5t-29.5 -38.5l-186 -107l167 -33q27 -5 40 -26t11 -43t-19 -40t-44 -18q-9 0 -13 1l-310 62l-271 -157l271 -157l310 62q29 6 50 -10.5t25.5 -40t-8.5 -46.5t-42 -29z" />
    <glyph glyph-name="uniF2DD" unicode="&#xf2dd;" horiz-adv-x="1792"
d="M1473 607q7 118 -33 226.5t-113 189t-177 131t-221 57.5q-116 7 -225.5 -32t-192 -110.5t-135 -175t-59.5 -220.5q-7 -118 33 -226.5t113 -189t177.5 -131t221.5 -57.5q155 -9 293 59t224 195.5t94 283.5zM1792 1536l-349 -348q120 -117 180.5 -272t50.5 -321
q-11 -183 -102 -339t-241 -255.5t-332 -124.5l-999 -132l347 347q-120 116 -180.5 271.5t-50.5 321.5q11 184 102 340t241.5 255.5t332.5 124.5q167 22 500 66t500 66z" />
    <glyph glyph-name="uniF2DE" unicode="&#xf2de;" horiz-adv-x="1792"
d="M948 508l163 -329h-51l-175 350l-171 -350h-49l179 374l-78 33l21 49l240 -102l-21 -50zM563 1100l304 -130l-130 -304l-304 130zM907 915l240 -103l-103 -239l-239 102zM1188 765l191 -81l-82 -190l-190 81zM1680 640q0 159 -62 304t-167.5 250.5t-250.5 167.5t-304 62
t-304 -62t-250.5 -167.5t-167.5 -250.5t-62 -304t62 -304t167.5 -250.5t250.5 -167.5t304 -62t304 62t250.5 167.5t167.5 250.5t62 304zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71
t286 -191t191 -286t71 -348z" />
    <glyph glyph-name="uniF2E0" unicode="&#xf2e0;" horiz-adv-x="1920"
d="M1334 302q-4 24 -27.5 34t-49.5 10.5t-48.5 12.5t-25.5 38q-5 47 33 139.5t75 181t32 127.5q-14 101 -117 103q-45 1 -75 -16l-3 -2l-5 -2.5t-4.5 -2t-5 -2t-5 -0.5t-6 1.5t-6 3.5t-6.5 5q-3 2 -9 8.5t-9 9t-8.5 7.5t-9.5 7.5t-9.5 5.5t-11 4.5t-11.5 2.5q-30 5 -48 -3
t-45 -31q-1 -1 -9 -8.5t-12.5 -11t-15 -10t-16.5 -5.5t-17 3q-54 27 -84 40q-41 18 -94 -5t-76 -65q-16 -28 -41 -98.5t-43.5 -132.5t-40 -134t-21.5 -73q-22 -69 18.5 -119t110.5 -46q30 2 50.5 15t38.5 46q7 13 79 199.5t77 194.5q6 11 21.5 18t29.5 0q27 -15 21 -53
q-2 -18 -51 -139.5t-50 -132.5q-6 -38 19.5 -56.5t60.5 -7t55 49.5q4 8 45.5 92t81.5 163.5t46 88.5q20 29 41 28q29 0 25 -38q-2 -16 -65.5 -147.5t-70.5 -159.5q-12 -53 13 -103t74 -74q17 -9 51 -15.5t71.5 -8t62.5 14t20 48.5zM383 86q3 -15 -5 -27.5t-23 -15.5
q-14 -3 -26.5 5t-15.5 23q-3 14 5 27t22 16t27 -5t16 -23zM953 -177q12 -17 8.5 -37.5t-20.5 -32.5t-37.5 -8t-32.5 21q-11 17 -7.5 37.5t20.5 32.5t37.5 8t31.5 -21zM177 635q-18 -27 -49.5 -33t-57.5 13q-26 18 -32 50t12 58q18 27 49.5 33t57.5 -12q26 -19 32 -50.5
t-12 -58.5zM1467 -42q19 -28 13 -61.5t-34 -52.5t-60.5 -13t-51.5 34t-13 61t33 53q28 19 60.5 13t52.5 -34zM1579 562q69 -113 42.5 -244.5t-134.5 -207.5q-90 -63 -199 -60q-20 -80 -84.5 -127t-143.5 -44.5t-140 57.5q-12 -9 -13 -10q-103 -71 -225 -48.5t-193 126.5
q-50 73 -53 164q-83 14 -142.5 70.5t-80.5 128t-2 152t81 138.5q-36 60 -38 128t24.5 125t79.5 98.5t121 50.5q32 85 99 148t146.5 91.5t168 17t159.5 -66.5q72 21 140 17.5t128.5 -36t104.5 -80t67.5 -115t17.5 -140.5q52 -16 87 -57t45.5 -89t-5.5 -99.5t-58 -87.5z
M455 1222q14 -20 9.5 -44.5t-24.5 -38.5q-19 -14 -43.5 -9.5t-37.5 24.5q-14 20 -9.5 44.5t24.5 38.5q19 14 43.5 9.5t37.5 -24.5zM614 1503q4 -16 -5 -30.5t-26 -18.5t-31 5.5t-18 26.5q-3 17 6.5 31t25.5 18q17 4 31 -5.5t17 -26.5zM1800 555q4 -20 -6.5 -37t-30.5 -21
q-19 -4 -36 6.5t-21 30.5t6.5 37t30.5 22q20 4 36.5 -7.5t20.5 -30.5zM1136 1448q16 -27 8.5 -58.5t-35.5 -47.5q-27 -16 -57.5 -8.5t-46.5 34.5q-16 28 -8.5 59t34.5 48t58 9t47 -36zM1882 792q4 -15 -4 -27.5t-23 -16.5q-15 -3 -27.5 5.5t-15.5 22.5q-3 15 5 28t23 16
q14 3 26.5 -5t15.5 -23zM1691 1033q15 -22 10.5 -49t-26.5 -43q-22 -15 -49 -10t-42 27t-10 49t27 43t48.5 11t41.5 -28z" />
    <glyph glyph-name="uniF2E1" unicode="&#xf2e1;" horiz-adv-x="1792"
 />
    <glyph glyph-name="uniF2E2" unicode="&#xf2e2;" horiz-adv-x="1792"
 />
    <glyph glyph-name="uniF2E3" unicode="&#xf2e3;" horiz-adv-x="1792"
 />
    <glyph glyph-name="uniF2E4" unicode="&#xf2e4;" horiz-adv-x="1792"
 />
    <glyph glyph-name="uniF2E5" unicode="&#xf2e5;" horiz-adv-x="1792"
 />
    <glyph glyph-name="uniF2E6" unicode="&#xf2e6;" horiz-adv-x="1792"
 />
    <glyph glyph-name="uniF2E7" unicode="&#xf2e7;" horiz-adv-x="1792"
 />
    <glyph glyph-name="_698" unicode="&#xf2e8;" horiz-adv-x="1792"
 />
    <glyph glyph-name="uniF2E9" unicode="&#xf2e9;" horiz-adv-x="1792"
 />
    <glyph glyph-name="uniF2EA" unicode="&#xf2ea;" horiz-adv-x="1792"
 />
    <glyph glyph-name="uniF2EB" unicode="&#xf2eb;" horiz-adv-x="1792"
 />
    <glyph glyph-name="uniF2EC" unicode="&#xf2ec;" horiz-adv-x="1792"
 />
    <glyph glyph-name="uniF2ED" unicode="&#xf2ed;" horiz-adv-x="1792"
 />
    <glyph glyph-name="uniF2EE" unicode="&#xf2ee;" horiz-adv-x="1792"
 />
    <glyph glyph-name="lessequal" unicode="&#xf500;" horiz-adv-x="1792"
 />
  </font>
</defs></svg>
assets/fonts/fontawesome-webfont.woff000064400000277350150753125220014073 0ustar00wOFF~�
��FFTM0k�G�GDEFL �OS/2l>`�2z@cmap�i�
�:gasp��glyf _yL����Mheadb�36��-hheab�$
�hmtxb��
�Ey�locae���\maxpl� ,namemD�㗋�posto`�u�����=���O<0�1h�x�c`d``�b	`b`d`d:$Y�<��x�c`f�d�������b��������ʢb��l��|6F�0#�F��nx�͒�J�q��gje�>�"�D���>�{�E�O >�����,"�u�^�[[[���j�os���_�M��%:0g80������B�.L�s�zðפ 1Y��lKWv�es�t��)Mk^�Zֵ֪�m���׉Θb�k̳�2����6���>'�Y�Җ����jukZۺ�g�m2� ����(�4�-iEk�Жv��}�X�B��Y`���`����c��9�Z�JV��5�e�Y߆6�G΂�`3�|6����[uI�p�n�-�����[pL��0�Lp�;��׸�%���8�o��>F8�	��G8�`�W�ί�����"�E^�_�=(K,F�K�+�y�b�����x���	�TՕ0��o�}{�uuuwUWի�n�njmz-��nv�E�EAAJ!*�(��hD�2c�%F�ʦ�Ebb6���$&�����7�߹�UUW7
��t�w���{�9���8�m�8b�I�	ڃ�����݌7�S�E�G�!�3�����j�㔐=w;�P�^I�A;RR�n��k��LS�.��)�o8G�([��)�9O,,�At�S�
��h
y�u�jZupPGx�N�o��n��{��ho2�A�D�-r��]��u��5��e��^��dM�X�8=���r5ͻ^Q\�~��2��V�0 �o�0kC� qA跍����G<�
�9���v�`�|N�X�W�I�:"�'�a��W޺O=}��k�#�"�7�e	��%Vs�~-�y$ŵ������X��w&'q��.n.�E��K�#��JD�ڝn봽7����=�|�w�L:Ӎ2vmrRv:=0P�@D�ۓ��V�Z7eO��d��7�HM�SY�|�[o��f'B��L}��Ʒҗ�V����^�+�{W�=���uҤ֦='j��,�|;�v�A���o=��0�q8"�I³��8���yZ�6Ǵo9��q<i3���k������1%�&��
���u���k�����{H}��@΁W�—^q�Է��4;gg7���N�y��/��
q���P���OЌL�4��q�,���ԇ�"�Sv�=jL�/U�jC�-w�o���ȍn���j�̮�{�j\��
��vE��k

���z�>p�n=�^=�ajID(����෠���qu��F;э�5֮�s7;QC7�U��[����׈���yZIۘ�ػ�*�!$	�dⵄ��Ŗ�-ˇ?��{��m������f6��po��~�mԽw��o���G6M��oz�a�--�m#]?]?V��k�z��ܥܵ�.�>�)�9NH%�&T/� ��_���I�Ax���O��B��]8(���.v��)�G=���H�P�S�U��P���>f�F�E�-G�G�s|���'?~z�I*���R�|��[`���-V�'ݙG�P3b�'\R��I̞#n�;W��ٟD�T��ѹb8�0�^s6,rȥ��i��������sm15kk��,}��q��Wȝ;�t�s��e�Yq�qC/���0�q��|>��
3������W�/�ը��s�F�"���s��I�oAHI� 8��C�„���w���~�@
����_�(�]h=������r�9���p!�;�H���-[If��w;%=�d��꯵���bmH)��k=o��\���h�E�i�7i:-!mn:`[�G�]���GE,�;��s�yH6�2�ƈs�՗:��I��@�^\�w���OV�õ������<�g?]�Y{?qK�g�H�[��X��&�td�n�[�,�Z�!H�6#�=nݳ����;O��W�U����G4]]�6�ٰp��7��[�aM�5P���B�]?����4�����P呂����7o\�!׺ߜ����ؤ������
��2>8�/p�2�h@�k~ھ��B~�a�[�r��=Pr8�S�e�sc�F�
ӗ�� �S�#P��|0z��'�z��S��)��8aFB�FE	��V�r�J��(E���fDp���U�\���'h4P�� 	�j��<t�$>d3}Cv�f���M�}Zlf���,.��p��j1��t�Y�j�2�lƗ,U������<:�z��t[�%�Y!1v��M�frc:_n�"��7z�w�v��m�
z�ui��dt���O��.3K��<y��d0��3l�Ll؞�Y�ĭ~�bg�#8H7��J�C*gY��_��YKi�n��0�AQ���PiMg-c�����)<�9ܹ��JH�X-��o��w��aX�;�����<z�̳�@)��*��rw��|u�`���l�c����߸m1�:���H2yΡ�ؕ�d��Yנ�E�+�G�Z��Q
k��P*��.�6�O����W�=���n���u��B��d�u��8�<�7�4~c�8�(bK]4�x�~�*x�=��¿���1T��2��Gߡ}S�}����J�X��ùP��@z${P�™��"h^���b�ؙJr����`R_3���@|8~� v:G�E8�c�i�]5&4�t��َS��צ��	#�������5���jQ ��0즰���N`��v�!
�Ry�S(v
]wB}J]�>u��=�.#Cjn(,THu��_Z���	6�q���hh�P�4#J�H�%jt�3�M�)�#��z���z���dt��1Dn~�9�/��ȋ������B��@NV?�p'r��f:�;�b�B�QHb�$h�3�CG|��#v2�y�d�m)�e��sv��w�~٬�fp�~��DG�	�r�0��^Xzˣ����Շ��c���l&
 \�`\�8HHa��IC?������6���:5�H;�l��ވ�4C����&�\�F����jԬ,�|MC�ݔ��/f8��ܮ2���	�.��ҍl
_/��A���kT�V�Νg�~T��΂<`2����Q�&;�X�A�W@��@g��j{��j,�	�s�uuE
����֟���:�A��
8,&���ռ
}|��b0��lFQ$px=��4ddm7��nru"�N:O�u^��x@񝂍��C�G����*�%F�>Tm��?��2.�o��p������ˮ�1�r�\T��١K+L�؜c���n��:8����q�y�N��\Dv�j���[��ܦDy/�*=H	�[0�l�8=���`�D��d&�<����qR�}~��|m?9[�Y
{�H�I��FP��H�p;@���Y�����[D��]j��}�*ÞhJԆ�'v^��6XD��L���V�a@XF�k�<������N����.���pV�e�u���p����+O�;����FG�\E��нb�kfy
z��s��

	X����k��M֊P����Y�_g��#�f��}{���Lh.tMV((���/���4u�X�4u�<�k%�Ņ��s=x�f�Ȍ�ݐ��P��(�.(��q\��+����i}��J�/[��O��k<Ew{W%��҂p�RJ�
˙��$["�H�6#] �F���C�֫C�_c����|=�F�2[�#�\��eyÃ�.�a��nơz�K�9řeN��Ԟe����Uտx��Uw�Ϋ�m>����76�t�O�d�٧�,崅v���2+�׷� TU[�NHN8�W|���fG{�ܘlT�_��Z1 ���8j
�`A����r��㼌��`h�*�b��
���#����ռ��B����j���0s$n�^�7��w�$�Gɡ;�N
.�A>3;M��y��?��zpͥ�Ι��4�aqp҃GF��w�|]��֯�!��ؾ�bv�q8�e�+�)��h.,U~�4]�h.�P4s��)��+k�q�D2�u����ϸu��E3V�⭯�ҟ�f�S��8��/D�]5���ޖ*xWG�j���}�l&k�lnçi��Pv'�6#�������(%��)>q��E��o6U+�6�ŋ�8ۢ��lޏ>���`����M���n'���'��zB-t�/ꬱ����3ik�3
���55��Z	1ao�|+�
őm��
��0$Yə�Oa��1ag�9��up�9Gת+����b��=H߀��Q1h�T��]�Ғ�Q���^��?������s9��ػ��� ��l��B�|4�TN���YBL�,�
g�#�5��A�㉐=!�7~=�/X]W��uw�ZW����避[��Ꞟ�W�d==B��m®�ҏ΋v�?$���
E#
�L�!7���ط��!����T��RR�I4��)���H#��l*�:#��H.���)����pӇ�
źR�M�B���=�ƅ��(ǂ�͵���˥�>A��,�_��2�%�5�p�yn�6/���Mb�t,�L֮���l+�9�Q�Gb]*�D;�
����{PZ!�*��U1���|���s��{�"�3�\�g�������Gχy��G:�-nQg7��`ԏ3�x���Ax�%ÏU���XMZ�&HX9�>o��s�Ga��
��'��!�lü��|�EW-��e�b��bxs��Y0��6E��>�)�V��H��߰}��V=��G~�Yk�h��/;��ۇ��0�{4.c��\h`�5���
F�A��5��Tg�[4��#���S�o3��yuy��=����<'j{�	h�N�k�6�	�@1c/��5-T:��`Y�X]��g~���i��l�p�!��e>�1x06�?�e�oA�s�b���̪fy�b3�@B�߂�Yq�?;�m)�h4s�k�P�����UfW��62��c�>8F�(�t*G�C	ym
s��r�p�?��I��C�Y:ϻ&͜9��9T�Y�-k���%�)�@�|FF�h�9*��(Rt���K��ǻ�T��XM-IP.%�C"���?�,+ˆ�=��	��>�t�����U�gQ���W��w#�Υ7݋���[��P�	��ޮ���'j7��7̗�9Z���I
�S����O4YkDE�͂�B~�`�Ig;�m�����u�֢z�Sg)����r��E܉�=m�K��9�ZD�]�4����~7߉R6Hۂ(��j��i!�BldpӜ^���zz拾�g�F:�qꢝk�Wl�/С��uX2�r��TsB�נ�����ͫڂ�t�}}ƶ��_5�	��k�4���	�A;oH�L�Ϲ�)�z�.�qu���A�z��yx�j�k5�F�-��@�lҙ��c�ڗ�җ\6�=�
���O]9�/�5ڔ�볝�\tO���C�T3�f(i
]�w�P��iQ���w�γ�=J�ߌv�Gޮy���[�[���,��Et&Q��o�c�Â��yb66k���MK|�֋$Y��z%���P��(���^�87D�rK��`��%�5�.�:��	�Ďx=m��n�ً���m]�Ю�&�2G�(-@�Q7xu3%@�p���~н��t���S�]���=�)AG�����A��Vg;��*=�$mz
�-|_E�Z�ˢk�<�5U5�fF�I�j����`�=H}���)0��~�F�,"���N�6�k��"��}�Ṓk���T�"$��mZPc�',�ϛ�tz���Յ��];+�j��+�NG�>K#�h-zp�6\��;y��b�~�9�.m�	�\�=�qrqü�=fS
6�u(����؍��3���#����0����
:�Nz{S�M�]"��`R������.C���r`-��U{낍�z�n�q��	t�x��
�ic+Ԛ:3Y��㳙N��*�a�V��P��
�`�1�Q�b���@fc^X�9�̼���ܶ����jtҜYӂ��hھ����3�	i�js��+\�8Tv��i|�Q<
v��߹c�8�1���-��t�������\1����6���G���I��n�J�:̇�h�X��G��r�+��<�O�|a��l�yxuco���7狿P�'�j{���G�w��s��ʥ���s�����
?��?kL5>4��Hj��v4���l���!���,��c�C�5�4{�ٱ�4d��R��~��p�*;9n����C%d��}�d�A4Q8�i��O�i	���T����gd��ul�U�S���A�q�$.j6U;�MǶ�ۏێ�ۏ���j�9J�D�vAF��b�m�LOI=`�j�f:��>Iǁ�J!�
�6T�xư�qn���̓��S9�ĀM|�!ґ8X)��h�ͅ��ͳ�(����,�ӌ���2����+l�D���3Qɕp�$`�Pt�[��� ���DV��2�op��o%x�Z)�����n�:p4�N)�F Նt�T7M�u`8��P*r
>�(��O^����tX�i(��M4!
t(�>h��cU��<�@��ܦç��$�M'���(��J�׳��Q�܃�<8�Vj��j7P�?Ͼ;�������_��!Q����.h|:B��)Ӓ��xܘs��_���d9��aN=�.WO.�\|�_O&t�k.�".D�p53�͓	6�`8���I�u�����Kj��k/�����wi�U��S��us��U�lr
̥;��ѠMe`�T���B�&��n¦\�	g2pd���[0��O�v�z����I�'m%�4���1}�@�€:įZ���/r
@1m8_.���W�R���lv(F5A�ս���~]*@Qؿ
V�����g��M܊�����:M��ʞQZ�㖵��.
H��f��J�wK�IA��\������f7�z��l��}5�V��z����G����Ɛ�
u̻vߋ�a��ɰ��Z(�S6W�z���7e��k���[j�����#6[���6i���Sڣn��@�d��`�[��}�i�]<{b�N&k��G�[�Q������`E�������k�$|'������GO���R��4:	y��X��1d��hz3T�ʷL-�3��D�G%�Z
��b锥�3�I��陌R�^cy,�3��P!�@�ieNq좀FS'}@4�шÏ~�����*�T(�P���Y+�=�!?�}>�Ю�+�����w*�3�U�����sƽ ��i[�9�a���\��u�We�Y5���	���+����,��iK�\��ʚe�<����z��K�C�&�Hd�bktݩ7<��Gh���
�f�O��fp�+d<�8�Y��X��(�ϴ�s�>!;B�TR@J	vK��U�8�bU�H^Q;O�k�b%�[Q�H���O�9谉����0r�0��}����U��>�ʔV5^����ܵ�����}ecF���mۈr���qLEl��	"�I5��ڦ�fU���2c��W+�O,
���MJ񝁧6���y�?*�0&N�ݚ�xq?�)��>�e�(�	@��qT�Vx��>sjA�i�2W@�W�<K������P
+
�i
���4�(ا����	�
����xA��̓��	1Jz'O����?�<L0,;V|'[�9;j:[��B��خRk�nC�.и�iޱ�T���ݝ&[h��5V�,�R��I��N�{oF|Tn�_|Q�W��>��U����{L�Г�K^A'�96&�E[h8�����J*�X�>�w��yW��+��V���c�*��Y���P����!���3�
��^������%�"��`�ɒ�R������cD@�2�ܵG��5g��L6}*X�l틵�\�"������*����p9������B4M�z�A����65L��.���2�k,0���^�>�G@���@H�ty����Z4iepWt��A�h,8�<{9Ƚ��ǷƶwZ��OY�E�<���Z�)��t#�/�崐�\F7ʔ�B>(���&��6�ld�i��t��/���=�n�>?&s��]@Ν�0Z.3Ĥ�9M�G�6�XI�J�H�Xa�:��C�}��3����6��~>�D��3��U�O>[vZ_�}ס�qN!ʃ�
��-�W� �������
S���Ha)Y���'l�g8=�`z��(bwv�����i:2E�!��`�;x�,����Y ������ߩ����
=��Іj^ǻ��Q�^��_�Yy`���Q����[&aY��Q
u�s0{&m胑*����j)���T�C��$YQ�>*�P����}H��������˥��_�7��!n?Vا(s����O�GRB�X���bG/*󨴉b����E��(��"�lrʔ$Ϋ����dJ�wGp6���
P�/�#j��mtC�R0�}B�j̣R��X�v��I�>(�j=���:E�C�t�V�:O[h[5�"u�E�3W�.
f�[eܫ8�P)�e
�0Rԁ��d.ُ:~}����t<)��/Q
c��O�B��GGp�<��"-G�-b΢�y3�b�#����5�RPCk{d˚� ح6�d��]������L�d�Lu鋶
��LCz�Ӯ��IYs�;�A��@*n�yڢ�����Kˏɩ���E���W���eM����â��x�[�*u����-z��җ�rizH>�������2$�����=�_�����j7�{�!�h7Ύ�|p�fs%9LA�Q,��2��WH�(EEug��&�/�
$̃cm$0^(K_�C]D����i����+�/�TR�hOJ?��N���ޛ j�;�쁳�#��ISm0Q�4W�����Տ��5_��fd���"0�ԏ� ��~D}��R'��k ��GK1(���_/�T��F�Ȥ8��>��Q8����m�.m���s��t�Á��-��`wZ�a���x��x�";ͯ��2�o2�:�h*4X���-hW�3sn���P,ɞ
��"ޗ`7�Nw8ɐ�D\���	�(,f鄝�	��I�M�|؟��ն���k��ÿl�5�n�v�xL/L��M}��ݻ/�Е�um�.�u��m�d>�Nh���&k�Ե-h���#�
+���q����s�}v.��L��8�c|�P=/2�,��T�,��\f��x���P!:*���}��uL�v�yj{C��[��	���^�܋�����lV�͛C���Z��k������9�~�_��+�2_�ʗ����7��%�\~�N�V�w�|�:$^�fH����-œl6��[D���n��i�D�>�=�}4b��=�U{��x�C��u���:����6ݨ�18�=�Z��%�ܓ��&��?i*�V�߻"��z��,K���=�,�5keb �PÒ��}aM)d��Ő".Aǝ�2�An�K%
���%7;��QΤx9:�J'���s�������9��:�(��w��̿s��lt�W�����N�~�+lA�ڏ��m[w�7���7n\����W<9��-N�߹t���i�?��"�;�i�w�[��;L�vP�2�z����r�g�k�cl;#��E�*��b��8�*�<~h!������:�Q�@�qӼek�/��#�@w��ꪫ'���	���r���*2_�2mp�pm��"Oގ�:�wFgR��ۜ����������{z�h?U_3�������m3�ؾ)��[�_�.��/��d��
j�����G�̨�.��+{����7g�|�6w6؟>d��5��;{O"�-��<���+�jaW2�2�����p�����W�a��g��y6&�Bh��I2%��1���S������*�[Ϥ��F��۷�%nwT��	Q��Ķ!=����00!�dP��$O����j!%��l�6bd������[6�,6��`^H�fɖ3V߶[��8|\��M��Q
���lƜYxj�?KO�3��ٲ�%)���)JrGƼQ��̼)���2c�"����^�–�;��@Y5��u�!���'�h��VGTi M9��#�(ן<�4�s�{��������@�e�fQ`�Gy�
�8�L��"KB3�+��fOx����_�c`=C@�d�-T�Oj�+�Jw�]��f1���򉠦J��� ��-�L��[,�Əv�u�&}��z�)Aԫyz�X߶"��M�Ww�P-蒺Mr�k����
4�4L�ZvɎiZcK���U/N��j�a,�a����!"Y<��]�K�����-��������{S��&�,�-��l�5�V�(��DSJZ�������U����+�6��U�Ԥ)�j�ȀMXju5xk�O�x�kC��f���>���v;o�Ău)O[���H<t��_X���4�i�+*�d��Ԓx7)�l��O=��R�|O��h�\��ؼ��E�RD*c R?ʇ�﫯��"��bL�+n�wSB��IZ���^��ģ|��r#R�e���A�>����%��rJ���r�ZN���C�Q�n�?|��x�����_B��*k��gY�n��3:B��4Wͤu�Q�������.�R�M�F�2���>��8�G�3J<ZŠ�r���Vŗ�Y�~P�9��w�;�<
+�iչ+�5�D��D�hp,;ʹ�j���fƼ=䵫9�� �3�Ƒ,�@�('h:���Ƌ&m��TkP�q�8�󨴱�!�ä.���#��Q�{�=����=4��V���#��m���x	�_�)If�C�#y��F��N�������
u����Q�R��PQ��y��Q
�u�:�]�g�*O<�j,0?��g`O�N\Z��\�F�k�rIݝJ%QM	$%G�/-�S_hz��t�>U����֧�c��'��P���fՅԭ���ں�o�>x�,u�����P^��"���������yXdc�i+�Y�_'�z�����6~(+q$��U�;{S<�^x�Gn}���ou�vXt%�&3`�.:gA����'�%��O�0j�@E�w���:���м�jd���q�g��e��<TCB=�nҗ��Cq�+���d������)Ӫ�L�Z��&��ίYْ�bv���sm��������k'm�xl�0�k"���ȓU��\��{ӲY�zY��.T���Yt|�"�������cK����:6�.4L�S��z�D&D��LJa|��+Q����h��_�}�e�Ξ��z�_���
b"	P8^����Џ��>�����4c�&ū��Y3�]��*��tI�*�
r6% ���&A�R�^3��$�p��,a2GÇ�}O>W4�7�6Ո�n7[�Y��Nq����O�e�cu/=�cm:&�4���C�o��<���}��i�A�O6�ă�N�Y�����m�:�̲f3�J�"M��K:�Ek���:e-O��7�
�6��;k�h}x�?�1�/\���g^��y}7�|�4����q���'�7o^�� o.�Uξ&�d�5���v��� ���3�_P� Mp���Ĺ�V�jl�U�	��a^vqǹ�܈\��?虽쪰��:���Oo���b2AL2���9�zXv��Q� VUq��^�k%@���$Ǡ��#�o}��Ts�cFW}�$y��F����$y^2:�����l4�/�m�a���Խ�&�o�L�3Ѥ�N��Iq�!�#��ĺ~������N>�0=�ٞ��bD�A�w�	���O��h��C���Tѡ�
�����֩F�I��.��M[�V�#�Œ�3�z�e�{��EvceR]�
�
�ecsER����n��`{ah��Z]���'3W�0v��Ix�V[mQ�8��f6�4�Sc%�Wr��F.aR�6�a��Lv0�n���=,L	�Z�BU\���]�a�JX��L���7�e銛
ljQƀ�c��H�j\���}MG����ޛ
�[X@"�W�dNS<���+�������#(���;<�"w�~o�myL�'�D���pEb�Y?�~�{{����,o,�RD��(J�bC�>�ܶ�_�dՇw��f�f�s�ܦk3�ގ&��~�L	�=�$&���Cyd�"�le��؄� ��tQRʉ�@*����΋����7����JՄpC��#5-�V�g�o��!G�i
4�&��N�pO���o޴խ�9�k�'y=JS4���/�;�٬����v�Y��3M�iB<�
���(Yuv<�9_�m��@|zU��
_<'�;��^;��#�b})�K�yw���n����o�%���6��,i7�-+v�(�k6i�c"Ym���=t#WRT�����m���R[����na��<���j
X�)G�VX�,��gB���&blц�*�ϸ"^(���^�Bk(tǒD�>f�ʭk��l�W�޼����(�I��d�r�U��U5=^�Df�j}-���:�$r�p(��<M����zM���Ư:|�%7L�>%\�x�+>w�W�؄	O��u���
gq�/�,��W:˺/Ɏ��+�����y+�&��Lo)�	���@�[�@e�x���b�i�u;���:��Ykw�[50��x:��r���s�S&_Xx��f[b�T���:7ak�}���Yx���<5����r'���(>q�-��p�r���o��ɴ2��H��U&�I-K������m�h�ɠ\���YF���Y`��|fM0]63���B�w5�%#�'iH(�8�[*�k�.�Etc&a���Nm�V�JQ�K�T�M��b�X4�?��#4c�왓Q�,<��v�5���?J��	[��J�s'�ڛ�iӒ��Ӈ�C�>�䶵���h��Mz__�m2�7��b�2�HC'���
 j
,J�N؋����
��Luq�M�Z�W7��'./�^L^�DL���%S�	������n��4:O�W���^�o�f߷Rпl�q�{��\�PȖ叙y4*x�Ba�v���� k��x@͗qY’.3�HQ�F����|�:r�Ɣ���9`P_�SRL���
6b�|jAn~<D��N��"�u���0��Q����\�� W��u�ާ��fn6�oH�玤�N	N'�S;���)̓vG�vejO��XJUP��s�p�����s<���׷4�����}��a��m}S�j�T���Y�Cheubm���20�~�t��'r3��:_H7��M�笜�Y���rN:1��!-��z��\�M�a��P}���l��&pq�6�*_U�Y�IG�~O����_KU8��FT{��t��(���av"CBf���_F��;Q��n�qӳ�B$MU*r��g,�^��GD�,I�H:7FD�	�Jl���k6��c'�]�u��;��&��Fb���F��iB�"�&͙Myk�U�����P�\�M���]J��~q��Z JP�$5K���?��1/,#	K:I�)�D�o�Y��:Mg�!'�S��$���M� }��Ê�N��~�$��Ū��3�w��m6�]r׊s���O^�
��ll
6�H�{R�vB����o���Lg(�i��Z�hVd��˂��]�w!��r�<3��H�/����7Cy�Y�N9���Y����@��Lc���eY�֖�Y���$�rz�2�d��k`����8v1�gI1�"0��k�~��,��c�$����ty��h2�^/�sv���骩m{��T���UM~{�W���Ï��ɿm���k�U�ٹ������?��΅s�4a��:���Z�D�g�;�@�V�ם�4����`�gلw]x�/���g�o��L���v�w�'v��ڟ��ڔ��y���K<+<f�>�Ǟ�����~NF�=ΐ7�.'�h��ٖ�}�t�)v�SK4�Yԉ����s]kW��N��-Я��K�`~k��R�-^���"9BF%`%5��S'$��^\o��;��NKM#_5y�<C$(V��*ޖ��Zj�����/��IV�Z��et�M��k,��x�C_m��{�ۏ\�ʶ�k@1�R�+ې�.����臬������t�и�����l���=C;�x�|^c&�a=w���9�9��p�t袋�Š��7���1��R���1@e��a�����<�3�w6��Lj�(
~���n0K��M.��
�E�aR��I��W�1[S���,9p'��Y���P�M>�r��֖
�j����K�g�M�dn7Y
n� Nl��ݮ��m�G��Y��N�̂0�9E&W�K��b�K�|�ĸ������JﱵWr{�ݷ���kQ�cZ\2�R�؛�O����ۡ��_��h]��Ը��y��&܈V��;~��M��/�׭�n�߮>�_���[.��/m�2������A	�q�J���{�>��L���M���8�A��f��]��'�v�HTUO��μ�Ń���̚u\�eA���b�~�u��:�y���nw��������ݥIٸ��$j[Q�����V*b�聇nE�C�*�ZɭE�o?҃�&k=�t��#��=�K��T�rf�W�Q�jJN^yٔ������Q�W/����O��o�^�rr��j��;�N�M4I���`0wϚ� _���ߜ����!Io���uz�#�3�tz�i
��k�j��m��f�L�'��k�
^9�u�Dћ������Vn�Ǽ^����߲r��n_����CSC ���"�6�Gi1#�W���0=p�'��]�@8z}�Q/
F�"�̒��&=�lF�w�d�F3v1��F�uDFY�V�'F���`.bN�u�䡁��V�l�|I׀��ɷ�*�~���)���Z�*�!+��u��Qv���C�M/��vԂ.q��c���Ys��,������wD������iN6� Y���r�L����U߲�[cr�c�q5)V��!�c0�31;�B0ތeG͝Ua�V��NU�e�	�(��;�;��|d���;��_T��A"�?/}�M�i	���;]��w�t7W�Y㰛�n�����Ng��h7���E��B��7_R�E=S�x�V�5P�s���m�`�ržYa�������z�Ra�t��	�k�����_�F�=���dVٿgC��j��߇%��T�}�[��n.�Z$��Uq�:�ۛ*<gg�n�Gh�(U?.b�=Ђ� z��3ek�
4��	v^�QVJR�T����+N�1�E�y���D���;Y�C�+�dN�A݇n$9�M���Ay��hpJ����=^�蹭�%[ҫ{���\r8L^Rڠ����g8�ޥ~�a�d8U=�gP��'�1�.#l�
��=ΑѬzR6��np�~[�E��fn��G�+y��|:���f���E˻�~E׶�M�ʟ�]�����f�}jE�3�qMOϚ���{��d?]u���U?���#�/;��s�~���򹃫ؚǀK��-�6�B��'闘̵�L��gc��g&�=��G��'�
���}�S�唩���VC�I�s�y�����RCM�)�r�d��7&UC͝w�4�N�sc�a7�fl���]t��Tw�ݵFè4�o��u��֍�2�B�>#o7(���J~j�E(�EM���-P<��n}�en�pt^���
�^<���5�fͬ�>3���/rQQ@��Wヌ�����(�Q��Um��)!s���G��7����ꜜZ�4���	��…U��l���ڟ��p�d��:�Cc�e���'s2�E���;�u�*�'����$�]"���c4��}�
v�zyDz�ɨ�n4��bTF�.b4R#�P*��~6��t�jt���ŋd�ۥ�y1W!�ןD}g��lْW_A�4R�/�u|��]���P	�Ǯ~��:t���[�����94{-�.�ǀ���y�A��0�� �x��6-NMv�M$�c50g���hQ6����1���B��n����W_u�s��;B��E���g��}\���"\�a���Q=�#���ͧ���վv����1�ŊS�Y(R.i�[��9��Jd��QӜ<0@B�Nya�)�j0Vh�2쬄�s��O�eP5>I��~���1!���-�A8ag�j�Nq^7�6��e��/�쾇ݳRuԢ�Z&�U�EJ��l�p�Yo�<2�"_���:��97�9f���阎���.�!
hI��4
Rk��Cj�G�Bu+b���tQ�P�u�/А1��TZ5�����V:+�zp��8��j����y\ST��!�zr��u8Y۸$��Յ�F�uFY���Tj
+[k�j`�GŦ��+�yl�֦Y닍�4R����,�+��h"�)=��U�>���yV�˕!��V]�Z�8G_
jW��p��H�� ֬Q6P��8=w�Q9�]W���80��9���{��z$�5��p�+��҃D%ꔒ�-��R`5CbJi��h�EI@����x�Q@��-�J����h�n��א!7���#ם��Y
ѣX�����2��M��n��Ɣ���i&�#i�x2n�B��~��#��}2n)Ͱ�.w��o��B��(��Y�k�"��5n��G
PTF����;�N�Q@�(�奣$���%l7Q?��lR��P�fB!w�ҤJƝa�îG�ٍ�J� �vK�g�WOӬ��L_�$��t���a��[!i&�M�>J�LBf�R����%�ۣ6!�o����"$�,J�{�l2"Qo����#BQ'!"#����H�:�.	o	��<�9*a$
<1ʔ/-
᪠(J&���$�
f^o�ћ�<o���n�!����A���E
fl��5
��H�<�o!ͭ�(�p�N��tH¼բ��.�a.�&3�!"I�:L�fsZ�0A�:�A� RE�E�b"`��\�`qbѦӻEA��lr�Zg0��_
�X0JX�	�Щ��9�1��"BN,�b�q�H/b�I����2&0�6�IM�U��%U��	l�I:D�Y%�Y�K�xí�AЛt�PG$Lx7��0lĤ'vluۏ�x���!"Io#�E�NF.�`�E�b�Uo���˘'�\�y�
����~ّ��$�(�d�Fnd3Haz���I��+F��#�&�z��h$�Yg�u.����X���l��b%��N���[/���*W8����BV���0f�^�@�`^y'/T�z��:h��M�#�$��<E�H,0���A��o�a�,0�(�i"!1”_E�63�;�x���Mr��X�v�uaQ2���C_�yY��#"/輘�X�Hp#9x���1@1@�
6�	Z ����m��݆�Q���D/��.T;O|�`1�e7J:�^G�	:^��&#�a�A��$è
:d�z+
a�(�~�d�D[��i��F�XVX��DX�F�'�
:Cqs�����jӎp�q��2��E5!K(����K�Wk̙�g�ط(����h���P+���R���^Q���-O˻�h�@�&�l�o�%<x��j/ޅ��G6R-V|l��ht��iL�`���xlhY9��U~�S�㨆ӵ(�`*�J�|�u���(��xn\T�"K��L?�
gKl/j����P�[�&�cr�n�l�*�oEŅ��u�̬۝�dU���F�W
5�\�1�v��C@��4P�b�|�M��e�^I�]%�S!W�}�`��*�_��U�<���(�cnu/�Xxh�w���
���)��k�0T�$׻Z3
^�^v����1e�F��g'P��JAR�#F��,+E��Y�@�'��C�K�_}B}�~:@ŏݏ.��g2��K�.�L�KZy��,��ߍ��6:&5Fs��n���-Ț\%��۹I�dn
��[ɸ��@�i��5�]�i��v�$��t��W3�L\�	C^\L�>}��6�,����+�7���
�g��2�.��;����H\Ұf��,-Jǒ��Ew\��B�wjǎ>�fM�.��.kl�Dj�.Xv�}����mW\:5֔j����K�ضV�3�B������S��$l��&�ijD�YdIO�~q��!�rW��)\�3�
H��.iT2�R
˔D��'�i���>-�(*�Q�����o�c��$`������g�#A��ꆘ���0�����ߨn������7.>�x��;w,yc�?�Ơ��3����6I6��1�q���	���($�����,��Njwܴt�r(y��h�2�l{s\p�@5�H?��]�J�Hʽ���<l��n�h��'�1��P�mϣ�So���7i��$��½݇�����a͙�~}�Z}gP��$���6M��h������M_:�~z�{�dZK�e���:s�/޵�bR��+ʤm��.F_�����-m�AE�L��ǭ��s;�;��\�激��q9��:��L0��hֳoȰ�h�mS!��S�b���f�D"N��� (����(�YqG�"�Č��;Ck%�mD��D�͙mvKa�5:p�5��<p��Fi͢=Oӛw�4�->�g�Ihh�h�{�� ���e��f��
�zUs|�+�D�W��xst����-�}�"��<;�p>�#��?���X;$}�u�pȖ�ow/�&�ν'�dޒ���M-�3�g�֛떤������$y���I��E�uR�
;�5�It��Б��f<�n;u->b��{g���-:��6ާ���>�k�0ڹQ��s.A�,1��xB��U\�tBBA=
��)~�3�.{�ҍPa�~�OBP��:s��QS�=��:Uf�s1�K�ɗM
�@����P����s�y���gQ'�)�_�@\l`�|N�1�6f�p�p3��,Y��,w�Z�1��~ט���On���oy�'�Ǘ�lfC��W�?�Ot=��Kz
����(U�QC��dP��n��.<����=y�]��S����d�2�K�Zu���{�d���^�&P�^	q��h��E�AakF�Q���7>�<�~̈^�=Qby��A�s�X� Gr9�A���ժ���`�	����Ε�Mʆ�돱��,����,)���4K���ݑ�Y���Z���?0J�d\;|���h��~��ki��?�e��v��宰�����K��v��2�)i�9J��cj��~�Uivo��	V޴�ʍX�~�eC�k�ˆ���Ɔ�K�ڰZ�n�߹ZX�ko�n�퀭���:�h7Τ�����G�+Ș��}I��]Sfn"u�!�`*��ئ(E3	��M�N�4���j�nRX�M��Gs/Mtb������RS���{i��+�-��v	��a�J���u�3�Z/�WS9ZK��]>�Ɵյ�68N^~�i�>v$�$�&x���;�ό/n�Tu�������
�_�p��d���R7���#ƌ��]��Kqk�^:J�1�)Ǥ5���$�2
;�ʗ$X��[���Z(ޜ�h�J���7*�%2E叙#����z�g��{��hLK,����M�������#�ǤOkdւ�n�n��V����Z��Ħ��پ�[���ȷ����kV���%��ʂ�:�@S>Զ��}��S���~�.��vm[k������l&�ż��V�L��s��H��uvM[2���/z9ն���.�S<#y\�6 n�G����fmȬ@���xʃEӻe���iwX��D��v
[#:b��L�_�hkm[-�Nٌ�E��Z~�emM����%Y��뛮��%���Zbt�h%:���9}6xn��.��^%,uXF>�.1^�x��o��U��Q��O7��������}����\�1�B�,53V̒ׄ���'Ō�z�w6�7Oi�6��o_���rU���qp��,�1���qOi#*�n�;6������F(�Ny�'�+ܣcT��q�<e����LA�"qe���޲Sq�x�LPQ�W��Q�W�y�h�Bf��M���(��[�vL#���ۛ�Q�}�;��Ε��˒-�$�glY�o+�s8q�N�er:��@B���p��&�*АB�y	�����RZhMKy-Gۗ����̮!��>������3��3�3��~x�h�4[� �A�=,O�c⋢�rx{�+=�.z���f�G�A=��SM�ϒk߉�kѥ1|���u�g�<D�k~>�\==j��=$��rR3�,��xٰ�U`B�!��"LQ�� �Jc@(��{˯��F�/�����4��3�i��bM6A�
>A� �0Z��������(�	��zc��d�I
Q&������Z+8L�T�W���&�� ��a�Q<a���"�*F�S)1�^T�}uМ�5`��-q'6nh���־�ڻ�O׬��%��3<h��%r�ܿ�e��	:b��
VY���z�l�N�]6��p�/oyiOc������5x����r�M��{�>_�ؾ��v��5������>9�X�ru�ʓ�3�r0�rd���e��t�|��¶����L�d_���*�5�hct,g�}��W��i��\�<�c�s���p=�i�v6��l��۽�N��8��E�߹�����ٿ}aq̈́�s���+Wߚ
D�ٶ�D^�؉>[DP�jq\j3t��h �d[�)��7r��h����UW]�jiK�97���
X|����/����>g],p�K�4�Y�W_�ځ��/&���-�.S���0����+���0:��A��H4bc���7o��|~۶�F�y�W��ub����^yV{1���
�o�8�����S8#(�緥~���w�޹�jҢ����6��ĉ�"�h0P�T�	u)�� �$�`]+�E:�E��q؎�W7jD����-7�(3�uŲ{�Q�l`Y��$����OC�oɊ���= ��;h�>���E3g^tP��e����N�B*���ʘ��!x�%�	�֙�Y}IK %�ep��H�	�ZR�́�H�+!)�ʵ	*	1B�1ˬ�B`�>� &�)ç��	&��
���)��,~�)|H}��ؚ"����od�A��[�aO:)�禓�G����wLr��(y����ļ��C��g�Q���#[U�N��84��~��c�!yz��ݰ��ҔZ�3�;z�ss��.�F������M�ؾ�1F�SI`A	��4Q�ByE軼a�"�Oi���P��S�b�nByḰ��XK���G�����`SVЍC/|WM�߫ʪkj��v�!�:�|uQ�(�U�Ϝe׷��]N�#h<;�����v�U{�}���f��j�H�%X&?	V�u����~���V~j����6���A'��MY�v�M��!�GP۹re紳�� ����D��k�����/�s�)�k�q8vI8��#x�
���G,�c�?��;_�?��!��sy�ٯ3��ηw�>w`����||����t���u�P~I�����hh�nE/�&�j��y+���ٸ�uT��S6�o�o�O�oh-N�p8ޗU��2$�u�]������v$0$��
c���߂��S��T�6��h�Bڭw�.ci��[����ҙ-:g������<F�=�*ǫT���9� ���r��%@+�2�u!t�ޮՒ�2#��ލn�A7�A���YQ��Ⱥ�U���ax(�Ę�[6��b��œ�8���{`.�92q��+vK��$	2�+���p��*~M�r����Vs\IΤ_!���j)p��j�f�]_^ș�P�G>��*�K���h�q��{F�A��
�lW��?}�'�M��R~<3.(�[v<�QHPC����c
}I�br`\~`8��{�;N\�w��Yu��I-��U'N��y]��9
��Kp;�+��I^����^�V۳dv�9!Ns�߁��_倻l�1p�~�G��� p�F#�:��:ԅ�[���	H��˯�����쀿�":s�-@w��;1n��3�+���U�&���97��ϳJ�:���W���ja�3�,���)���a>�� ��'Tgx4J�A�]ԧ?21:��yA�c4�Qd�8�`��b���4�D�lu�*�l��.]�&'� ��N�Y	�?�_EJ�OG�#�y�n�	^��TA��/UB
{d��Ȏ��U�}xX�1r_i}~8b*��=�^]W*s->��K��d��fgQ�U�(��s,�Ze��M\�����]2�)�1
��$l!?OnG'o~��P]h�꙾V�'���E���6Fo���/�q��+Z����jz�*�S`�O�Ɓ�| M�U�a�����{o���0�3g��}�(骪�5�J8��+�5O�OWU�$#��+�����Z	�J,�2Y��i�n���>Ŗ��X���p�'E!��4�l񺻜��i��	S�(�߁T��R_ʠ�̈́�$^����ŊM����O�wޯ,�cӊф惞�\I�`�T)���&IX��3��W��
Sv$F�ݸ{�e�1�fH�ț�aw�(Q �\�9u�\����O�x���7N�Ѝ�%��hۑ\W���TT۪��˻�Um�ʂ�j���r����S�-���kU-����n�E�*+g]4u�,}���뮻mf��msM����X���9�U�uu�UNGQ>+���U���UG7O���(��Y�A!��9ې�#I�%�y���\��gf<�/
��Z-H��L�HP&O���E�Z�:�3.&0B�}�H������`n�(�.�Y�2�,L�~�]��Da��x�Q�`2�:��6_u>�6��)+���{?�D�C�<���Uk��mb��~�c|T��`�ᾮ����&��
>E�7�"B����1�����;��/��� ʤ�A�$v�Bf�������Ytج�G_))P@	p�7�:�z3hfa2
������:v(�^&��m胍���ɛ�7Mi(�&�+�;��v�v��&����1��S���	{��\ر���%���W��[�7m�nYm}������5q�oqQ��ˊc���^��nBq]�dZ������CG6�\i�9I/�����`��b��}��ޥ7���5!���pa�r�H�ٰ�)
|��\����n���@s�؇Ӂf��s�޿j��Z�V��+m�#~xd���	���Iq�|Y�;$���`k�G^i[ي�F�T�X�
*�Ql�N��+����xD�Ց������-M��L���[J�� ��ϧ����},��i.F,2"B�G�щ�����0��~�Ie�O��Ö��[咛���o���}�T�a>��ľ��/���o���z>�E}ʋ�`v�z%5Q��l��ҥH��+�+��l6g���S�Ô|�B��h�8��ڱ�t}C_Ꮐ֣*�=��d�[™��M{�W�J���fw.a4��4���D�o��*��V��VA�8�sP-��Ҟ�}��A���"�
�@�"Ȥ�����t0���+|�|E�4N��Ł�ݓ1	�9��)*���Y��Ѷ����QoP��@�	�J�2��::b��?2�H���ϴ����3�Y_�n�x[��b¼�Y1-��M�ҧ���i��.�#?<���e���n��g���_�+�w,��1���?�Q�`���tt@��܁�
�w|3OQ�������ozi�/#����@ :�ۨDl���#����w��w
k�h�i��Sy�I����M�@�$�I��g�QC�3I/���Iү�RО��c����}>�\!��Б��c�k3Fʷ�׌8'�חe�d($lٷYS �hC�:Sl��i�,�ɯ�䝂�<d)r�$�S����Ib��T�^K���p�+Vu	i����A�>F�i��$��柌��t���n�_=���Pp��T
�;�(�3V�{I�D{��iEZL�I
��sҢ�c����"3�[*8#��^NG#�c�`4�cCf4q���&������E�:��r�@B��$�=��D���M�RI��'���04	�'yP^�?R���xS^�3�Ԡ��j�"�����!���p��sm�h��g8�����G41$�G>Lx���Ny8���.'R�ԇG@"�L��C�8S1�I�.u�ߣB�G�?>�����sj��6�خ0FƆ�{�1�7qD����X�SJ�Rʳ�R%F�L!sM(�~l^0�������a�v$.��X�V]�Υ��t:�J��t����1�"GЏ�e��C7�aR.#*�f�E�|[r���X�\�p���M�[�\c�3�����`�Z�*�؇q�fPW3f��!�u������6�����1SJ���rm�o��XQ�N[�1�c�_.ʁ6�a<������K�#�QGRs�7�gc7�P߀s���ޝ�to��s02z�r�����{V�{n͕�{6>]y��T�Њ�X����(�|�'��׵�h����%"� ���׫��{�i���`./Md�!����]Ђ�[�x��C9w�<�X�c�pKC�a��bP�#lm�Пur�8�/�^�W`���Mfs��(=TA��{r���\�X݃f��?8��:4�g����d��<�Pm#�4Vo-Y@PV��p	�׆9�1JȺ�C�F?��!i�&0���I��SH��H�o
7A?�U'S��C]�
7�4���O��z�C$���=*E�L��@1NfY�oȒ�:4�����#�}n,�uN���\}Za�gi���~��@S���d�&l�'�Y��p}�@�&:y�0�o�)�@���}H�U��q����Ss��G��|����@S�
��$q�Os�I�#KH�OsY�d�Y/�R�����&5�@�ѩ�Ff����k.�`����G뺦��Ÿ~%�0iB�7}�y����1_��w�lᆬ��q�_�M��R�uŐ���p�t�����{��JH��E�2#�f�,��t��D%Q}�:�0�Z`�1��
b������W6K�+���b�d�
f��e�+7�r�JLZ+S�!�}w�P�3�wi-V�6�u���o�+6�]�
�`W��d�d)���P��L �#,{yi��*�+��ӕђ�����	g,cʺ9^V'��0Y�2����[��g�?��)M�������~0�9?8�21�����^:3y��+�|�W�#�ܻ�oط��
���{^GǼ�?]�M��=p��K�W
B��K�捋fljh9i\��	���ȜE��Κ�Ι�v���ÿ+~긇���}�$���9�3&�E�4ɹDR�u$���c���<�a!�;���Ă��Ȃ!ŕ�1/嗋X�v��`�t�K��e�K@H���2؅�Ѐ�8�6T��jLeˍ4�T�,�	.��7:́�b���x�*GASt�=����I��,�"���G^H�Pu�e��PCn��A�	�G���W�fD#��OR~^�e����*��\�����NY���LW|i��=��<��ѵh�ώ~<�h��o��Btt��U��]Ns5x�O��|�2�lm�6h��ݎ]7;��S���.���i����ZU��\W9�?�[��ڜ���Uj��u��rl��!�.������D߄I����D1
�'�G�W�<�Qf���BŒ��*1S8�)�Z:!
)QH
��I„Zu#��v���Ro�o������ 5��\G��zx��dT�f17e�E�X����\9�ZAm�vP����{�Lj�	
��t8/��Ҩ���9��ӥ��%���}�����	�{��_�<`F��=�2!���1��������ʔ��ۢ�n�|�����o	v&F��H�/�~�_�:$���n��Q��$�ǟ%�~��:���٩2j��2�A���l0�l�Z3�q�єɢGĉ�k&b
����i[���cu<~��x����sE��U@}�Mt��nZ4�01yS�Z��&�l�^}o�_l
Ev�k�����`�oM���M��`�7-�����҈����lXd�m��)\Ԩ�HA�q�j+o	�ƥM�,Zq�O��,�eT-5�ڂ�C���$���(*��9l�R�:��j���j:��+�=����ҟ��F���k�*WE���pIk�� Y�j.8��J�
����
:S�5��G^М��F���m���.䜼����CcT��@��%������kKH.!�%
��ud�)�kAA�T��1��x�7�*�\�y��p���g�
*����5�U�ftL���1���ń��Zm�I���j42`���W�Y��c�D1��_��-����D�w���|㟥lS�2�4�B���a"
�OR��z#2���(Klq�h\X�*I��_-�4V�.��7&޹kxp�����1��*{cG�I�	0��ݻ�
�q���M�e�O>Y��c��
O���*Eu�DmO[,���	�f<�a�#$�K�0w �>�s�	�6�W�X�����6�����b%���֢Bۇ�ߕ"l?Y�k�Z��&��|�l�
��!��\I�8�����
�|��`�&��1���1�P�/��IK)����){@'ZY�hv�&��g�
@6`�	wE�&yI���IJ9D�I=A���b̚�|�/����H���u<��R	禓���̘*���Y.�F�E���vP�ߡ��<�ݓg�Z�E��=tL�T�"&ǣ2=��"��ǾG
GL `D݋g�9��X�F��Me������
8�~ErnE�F�*�Mlu|BWY�Bv���i��J~{��^*/m��*X\�wt��˥e���R,k��T��$�ӈ�� �t�R��6j����<ڭ�'������E6���ZhP��q;��q>D���@&� ��찇��NQz�^�~y�
��@^,,�Q��`q�q__X(.l�{^��/�/T8 �c�#*b�i����&�O���a�S�	�l"y�$�&̲D�s7P�u��
=j\.Qܑ?�҆���|r���z�4�ʻ�}��ǃ��u�fůs���fB�Q���B���Ev^M9�4�$?��8<�"<.��L��3�j��L(L5��FV��w߽wpf.p©��M�n�c^��8(Uν>�n�.K�e���y�@��{SF׆�{�`�|���73���7K��ݒ�pȕHd��Q"�p�(@dY��T
c�T�YKKJ�+�V�O�wd�C$Zѧ�tH��ο����n� ���w��?�&i��G,���
蛙�������|шD�>y��A�-@K��#��L����җ|sĩ�i@3@g�M��/<�X��6t��\��_���e���y�̺�q�*�������+j�/������2�����<y?�1!�Ak(���+����݅b�������	��K�Ev��_��X���V�!���{Q�:�_���׍��u�{Zf��u�>�+&�Z=�9s��{�]	F�l�Ǝp7�@��Ŭ�7G��/Ð"�^9M��4%?�}e�%C�i*�fFi�i�&8{L�?�p���G[m�����Xګ`d�l�'k��&���cb5n����cd`A0g�	-������X
R��Y�<��z�ŽU-���̞w�'�
v�8�
j�BX���V�����>�ג�k5`Y�TT�j���,O�Ƨ.
�f�ء�6;*;��Z�dNywM���"��0ԈKՒ4D=#���eL�p�E�H�6_�-�8��(�u��wʫ���%S���$��#0��z�ޓ���d%NQ��o�c�[:��@~ƹOq���S>P����䬕�}Ǐ�{�"�f+�wm�3;�a�8Z�x����
9�a>�n
���
f�|��}�X���<C�;�>�ϓѸ?G�c�"[yg�����g�Y�Q�@z䛒��K=�"�aU5v�:t��o�p
��I+<I~��}���*���2�E�$�Ď�K��ڿmO�l(4��{��_ծ8��L^�6�i��4��K/���Œm��9]��e`T�%*��������~�?"bH�)Ԣhr9�>���'���	/N����AO٠#HzK/� �]^z� 1Q�8��0�)�]��h"� ��+�_Ta�U8�i�cm<����ǥe�}�d���@ų���Ac`h9�NQ�S&�ݫ�M���XK���X�~�����JЃ͠�X��)��=Pԯu<�u�LU���A���i>M�7�:u��&�e�V�b�{��u+9���de�n���W���jdS���X	6>�A8ozt�+�$�5�Fv��_��iN�&,�����>�V�2��
���7>��#_f�
0Z�Ҭ�`>�&$+H
кe���H�!oڇ����և�h���N�+?����]����¿�0Ck~��\�,���������?0evg�φ����
�cuH��`�s$%��C_�V���@D��b��Q���R���Uͫ�YA��$|E���{Z|u���a�ޡU���_C�Sn�n"�k� ���ǥ�ES��ʇ�8��A<��vQ �#��\�W)WI0���#F`�w�i~m�!F���Q�R^�ȥ��H#�|ap�m� �#���gaH���F�A�>�
2}桫��j����>��M_d���d2���/��?�(�J�t5X�O�wN���n�
���r>-�|<��+��> ��z?=y
W~>����<����W䯀������\0�gj[�y��c~޷��CՀC��C��<�9O�E2VnK+�g�j�2*��j�~�y�\'oޱL+0+1{��iu�W7*�v���o�ܨ��U�j�Fc=��|LƦ�~�߮��e����˴P9i�̫���ˉ�~��d�
9y��r }�u���f�**�?��8��?'a"U�[/�͑zyU�@��ʙ�p��y=�K��.��۳�H+9�ې�3۽��R�NgQ l�]�}g+D�d���3E�
d�٠�C|=����"�猖���D�$����1���K��/%���c�io&5�O���p�F��r���r��re�+��9�Sn*���Y�L�I�D�#�#�@	fq �패����a�#���'��b��}=�I�\̮��'�
Z�h|,=��:=(��T"����)F`E�E��V��j��,���Q��|�FQ��_�/���a��|2�r�K�bIx�X��^��b����I�&��$J�t2(i��]�NE�Wؗ�,�ޥ���x�V��c�m�pF&+a�)
�����z؇d�=�>���>1F_9�=�!��~S��`�����;{�L��|c���pn|U�^;�-�.�߄�m���"��;�aX�(��Ȑ�1|Y�Yz�_-�^U��{����3�u��!��C+Hn9��d>�)Ȯ�˵�U�I�ͧ@E�$*}���*�~�� V���9�_��X��AW6��Я5�D�T��@BlE��M��+��Ք��d0X�v������mRf�Fu%�T��c^�*-q�)tS9岠G�)A�o�jYJ����}A�8�I}J�J�e��<Y�s�����\�����X&Z��?�kUY�Q2�*�?���q�C#�M}�;�x�~Z�T2#�h�n���o	��Q���E�^y =@'��\�]��ce}�溞z�F|�`ė��з)���芛����/�����%�g��@Y@�k�K��ӟ*
�E����{R"��p>�r(��Z`Y~Ir��Ximf�)~�U�(�0�$���(���@z)��p�_\zv�Ow�^�9;]�W��U����5�c(?	z���?ܶ�g��'�h��N�rG]u����a���!z�"�!�`4y��p
�A72E{�\G9 �T2	f��t�B��IQ�
W���sxn�R��P>�#G����\(:�4Q�S�R
��7�~�F��9�����r����@ ��:b�Q&e�P�3��R�N�ZD�%&J ��~�2�{�@1H��r�X��/�SV�18c����Y�Ϸ����w�5��m��4�����y�� �/T�4"9�	|�O��"u(�M�(�֍�nb.e1�"���r%��	�ӆ���ڠg��t� }*�ݶ7�DH��B�lg�]��rt9m72��Z�.��T�6ku��u�N������^�=���Œ�B��a�F�_�l���cY����@2n6J
�Ea� �(z��6���i��d0[\����Ioھ�fЅ�<����j���W��}�q�G��9�aM�\WWr�!���(�^�k���=s��F��-멜�jH ��NQ���k��p�è�],/�?��nM��b=�Z��dy׻�p�Q�/{B5T�)�~�+�������0�c�ы�[�p��kM��[��J%����~uD.7Jwuw��:�l���{��ٻ<��X�rf��qU���bÆ�f��fkL��v�[����R�^U��O
���[>p=�[�amEeĉ�u�B=\��,�UX�簙ŀ�b\CӴq��<�a��23'Z����@�cA��"�H��Qj��H}g{�;k�����*Sp�
g���Y&���3����֚������J��K�V~c}l�w�]�O���h���p�h�}Rm9������x�q��fQ4���j��sD��,/�yQ�e�H@
���ʋ�u_@�WaJ��M9j1�2R_%�F�j$��l�g��P� 1���l#�L�щ��t�JA�8�g��,:�F�ջ����-�
�&
��|Q�5Jp��l兡��Ep�d,��$c� Η��Q~�(�����QOtu��1WJ~ɲ�1��dSʨ�H{�pTWؘ~I~|K,y�x�D��[C�K�.��.y��?ґ
��}� ��i(�v
�h{�R@�[u1)�s�"�>�� 倢#Ҥ��Za����͍�t��a[;Ogxl����Ll��{�]W&�#3�l�����w��G��O܏�z���a�5xs�bV�3�w�g�ug��=N~%8w��o���%q���1c>(G�3��J&�i�J��t�X2�E�4}��	{ѯ���D�VV��"���o�N��`4���~[�b���1BM%�CvL|"0�-��m�}Fq$Y"��;(:j�ш-��P=4]W�	im+�w�ԀvZ9�Z���ی|d涋���]v�8Uz�xc����]�N�n�Sz묝�-'<S����hC5�j<Ҕ������	<��X�*��]����r��j;sjQ��Sp��{�~5�7���������A�ǀf
f��
|�:�54=hGq���A�%�xIl�w�J�`ޔ�Pv�,��K�7�E��oA��������瑽o)�n��6u�,T~x���.��{�>{=��.t������(F������~>WZ�Y��fu3 �����i7�Q�K���T��
�h2
SF}R&�U���*�0����,	6�1*a��p������2Հ���:��:�A/��J\���`�����`�A�I��_/�q�ZΤ��oޒ�W��z������]����aГ�2KV�@o��/��,h�Z�[��8��F�CwЗ�<�����O~��p���z���7Q3�;��{��a��N�
�j�i�Z�C��1�j��v���WqӰ^�@ub��w���+#!δƮ2��_Y��~�t�$ّI�)�s�";�g�Z�A���Ie���ߔ���Z��=F���a�V�;vk��u��v�f��e��[���ϳ��}�{���X�O��V���`^B5�	�����5յvv�NN�y�J���>���)�M�`h�3�ͮ��sw�����׈�sR����7mKWl�Xu���8wN�Y�o����k׬?��޲<�;Y��(6.x&��U�8����ǹՓ��9�G��̯�/��!��?��C#��F�l�ndB]�]�y����u?��y;��x��m/1HB�
D_���A//Q!�;t�B�!�Ll���
1�q]e������e%]���/��+�
�8{k:|�K��V�U�Y�3i�$���a�m�b�A���l�]�V��j�oin���ݮr�.xIA�-��>�9X�h�J����f�3�U��Va�����1s�8�ٗ7R��mD��C�1�/Th��&���Dc5��[O���`�L�o�F�E�
�&_ug�K��y��%�:jz�%!W`׌��O�t�\�hԆMKMgZ"��
H{<ܲh���䂥3BNOsim�M�6W�˂͢oab��x�+@��]�&m
6����b��Z��ؑʩ�������;�G�_^��W�"Z-�F��E�/�.�[X�Ge��#^e�Y3,1h@$N�E `���u�:�i��4jA���y	:�
~�%���|8@�0mLtJ<����,�a �Z��Z�Qx7Y�fK��'�_�6��=�i��V;h�
���vo�8?i�;ZWd��u�.�;9 _�H@���X~��w��+*&�V݄�0����Ƴ�G�3y�&��|�����fsGj�lO��8�vN����_��Z�?��dy1������BK��:��87����+��UZf{R[$��Ґ��&w(T��5!�����=��.M�dnEk2�M�=2�������M��t,u�������E��F�q7�-�_���	���h��᢯��!���ZE�S�Q=��w�"���6�x���o�גyyQ�;�����aZ@dԋ�c�?ڭ%�<�%]C��^�%=Dhtw��2}O�g�����+a����9g�5ԸA~i�j�]���i�Xc�Ǵ�Xm��ŕ�c-��
kU�����¢�HQ���.aQ��i�Ӎ��.�nz
~L�C������}S������Paa��#Tf-��V5K-�=��?����QU�qx������l��#_X��,��U{/�~|<�k��J&-\7+�gC��ۭ��֤IoMN/�t[S7g�q�M�>�i�j�Q����?�iځu��o'?<]�~��d�l���p@����`��K�ys�MI8�p��j���
�2�2 �A8_��;�ͪKp�A�u|Q�_���_�n�Ng���)!(��N��iU~�[�^��T	V�mCg��-V���祯�̌���$e�E�z� �h΁���v@�ba��p�(��[�Ӣ���~^�՘�)��8oy�#�k��m�>-��<n�~�"5
>��
�����`,�g�0�}�`���O��1k(O1�F�N��/�2���+l�ESs����_��*3	��- D��[�H�
|$>�h��^���zN
�R �%� x�N!�+ސ�_SR���C�Ap��4X�e��tf��+XO\7��뮋/F�ä�hZ�,����:o��EJ���R�b[���hX`l�� �@��6�)��?��l�lG���z��0=,�E��l�#;��B�cY�[�7�?�6��s��>��9=����1���,�	���?䟃"z��s��`<�h\������Ȥ��?,�/gyLI��h�k��������h��6�ҋ��;��^׮}|���GioH'a��n��C���ҧvѻ���KN�u�����u9/�m��Br��h��S�����ڱ��t���b9���y�97�e�4��O�1�
�ĺb�.y�p����vY�&�k�[�j��_8��ӟ�籺��\$�����%i�2NC;q��*O��<$����~J>o�Iz�wm"8#�e"���L�
�:R�4p�E�\t�#����)_�����/�9�^�\�-��}�\��_���r9*G��B��pH~}>���jƊO�f/a�A���l�}ع0�3��wW��r�KDoSB﹄E�;N#iQ"�H���������܅ :��3�3#^�b��Z�=.*�t�7
/�l�N3�/]��#�Ԋ�����Yo�������d�/���2'a-�r�a|�ƙ�p�g+�}C��2ٌ,��KK��K<���]`�m�f�k��Z�̱��&ˆ-�NZ��hn�;������]�-_T���Dך�N�jڢ��������n����NO]�eOȽ�P4�]��}i�CS]��I_%VuY[	��4d�oD:9a�*�X����P}	�3��FU�.
����!n��S`9^ik��3XWG	��sJ�Ayx�4͢}}4�WN��Ik{��+B�6c����[���z=k�K���L�w|���c�\k)��[�����#��^�
'�?�'����xP:̚wky�ݺ^t�Z&�gX�^��Z<4�\k�r|�Ur�H�`��4͇��>�pk�lw�*iB�U����
~�u��㪗K�:�_�m-\b��l@jG�C��1`�Y�����*IbQԟ ��X=��G��,�=�i�[:�[Y�3�
fȏ���g��Y����\���.۸����EC铞���|;�� FS[�Z|Q�Ё>	��Y�`�-tSkESI]��S�q
`�k:��/�mդ���7�);p��s�k~&�*�.(�O^ް�o���P�T�Q�1j�}l�~e6�w댂N�è�ZU�@����N�fIb��b0�SB�4��T�V���q5H������`9�;Xed$i�8p3!3@7��f�%�St��3�����w(�<�K0�Pp`�3V
��2���zO�.==��pF�
^���NA�_�@Y�ͨ=C$�QU簰��0�J�Xf'��
2ܪ
ѝ�jg7��]��Y�`B��ّ�o�~��S��+W���cy]ݬ���E��X,�NO����3a���^�����A���P�h�,�|ы�Ζ���b����
�h3�����\�(`	Z����?J/�\rh;v�bz�rX	�+}.��w}��H�7�1��u+���2�"Itҁ(�6F�'Fݲ�,�tnʒT�`u�,.���Zb�z��Z��p�8O��è������{�v�ch���iAs33+Q9�yA���f0�*�!9�*y��`䧮x{�T�h�a|�����)r�(��h.��77���5K�U�?�?+��*x+�1���/�/5�a_Y�>��7f�*ojB�(���%�&�4H��� x*L�T��B<��q����J7����;x��Ē��B1u9�hԏ���0��P7����@š!O��v���)��c?���p��Y"��h��#^��ކV�!ю��@JI�+��h��
X�jȏ3n�A�V�p���Z�C�/��LU�:4�q�aE�aa. `�M���1�8�@���
�a�)�p#`�DIq�hފ�����ո>I��P���!`6���N$Or[�F�Y��-�a�Mz-�J�RƤsjh�6��4��2@ =?��4
y��i�o�O.6��&�@��ƪ��8
g/��"�*,v�h��_�.�@k�u��-X�+v�&��N����8,s{Y����k���UCӂ�����v#���tᬘ�Vf����(:fi �46/9�����-e�h�t�GS&T�#h����*zD��l�B��J@���]���BZG�z���ղ��2Q�\g�9��Fc��6i�,
�2�F���V;䝎�+�	�(��
���S�@�VL)�ݛ�%�NV�
�:a���E���(B�?M�����'8��iѪ�p|G��A����5A{�z�```]wxB���a��U��&$n�unw�/�E��!�l�t�g�6�tF���^���`r��� ΀vM����s��²=j_��/ʷ�NS��\������ֶ���B�rgU��X4��9��m�_C{������3	�Sj�Қ=&�@�
h(6UCZ�E���J�`p��j&=�`�Z��JBsŌ� 	�aLfɤe��e����2�[��4_�6���{�A\�qڊ�
%�	k^�q��TUJ��j����Z��l��pU�Hݖ�ym��ĠWO�Y\jY`��B����x�q�z�0`�4?������1F��Q���K���n�EF��6�Ȏz2zK�����g,z�B�y|�Dk`t���鳲��T�9
v��C�h�
�h��nB��Ӻi~��l/�t�kc�k�6�x֮r(r��X�c�7�L)��D���ElP���{��W(@�*��M1G<n�I��Dz�@y�]E�R���U�l��ct(��,�P��X�
/�� �|���;�a�P_EF�VP�a�ae+!4�n�sE���Zl^���a������BAF\w�ER^PE��֯��x��?Фg=�M׬K�N�9���}h���wO*��%3&w4G�=��#�|%g�������e�pч�߶�C0�7��7�7}�\����B��u�J?z�5)�l��}

���2։����4��~��r�T��s'Gj=��{���!��-�[���;J+T��8�4���a�(�	E�=��n\4���SX&��w��T��6=�ӑ�������Yvo���욲ڢ��?���������y�<��Fs��X�ޫ��p�<o6�,3�>�3Q_\Uܶ��eIsP(���p�[Y�m�\zip�G>�6o|��v��ݫ�ȃx���Hwx�IJ�Q$�*c�|�ZBSʳr����_�	��t���B[��Q́����F��&��F��D�Ǧ���ݵ>�F�F^n�4Ļ���H��dZg03�����LE��-6tmYQ�y��[���n��[uZ�]�k�]������O-�\J�XwP4�Q��g�8�vi"3��b����N��~S��Q��K.���B.S(W�����b�
��d'~L��Y��R4@�lm$�����/����kmȕ�X�_51�
i���sQ�����u ��Pf���������`�>y�It��/�&N��K4���G��K�� �a��t�=��K��2��A≫
���l�6��Q����K'�?���
�ݛ�R:!+<y=C�HIޔ��-}P&��{�&�Z��{�aV� ꒡p(�j��쎒�,7[��K�8K��J�-�UY�̢̧�=���b�WJK��U�3�~�cD�/�fO�~ԉW�aj[A
+8�-$1�,q��'�3�A�#��	�<��a�#��Φ��Χ�ܶDـ��Y~�h��yu���&����a��?�e3(A'A��Z��qP�N��$��n�6Q�#�n������,�t:3��aM�7���,�U��Y�ut�l���������Q��x\��GF�HmI�cԡN��IC|`�a"�3��꟔_~��ק��l�A4_��˗
܎)f���[*,�o��C'o8��q��	�M���}�����ѵ�~�ʿv�
o�8^��q�g������"b�P�`�q)զ]�z0s�o���ؖD�\���3'��`�P������‚�p8���T?�æ����"���n%�����W���bPI��%���b���zB���7%I��/���ĕ㓑5�M��)k�S�h�ˍ
��1)T'���Iu!�؀K��N>t�³�BGw���$Iz�5��08�;6
o��b��-��b!�B�6�� uٳϢ��)
�)�e�g���K�Y@��\͍4�VB���}��f�$��9�z��x+C�#�…{
�i������<�A���ǜ�J=żT�g�յ4�k�B�(g�j�t7Lp�:�d<È��So^�,��齺��S
v�5k�u&sQ����9Q�c��s�F�l��ǜ��-�	�EЈ���`s5�Dr�Yu����o{���wi�g�����a��m��j
`��I���hf܄v�SWzM?�6�YNB�&C�m�
����@S���Y:�h�k�]һ 0��b_c�␾�_]����|Ik�:�dMZ��#�kv:�##^55�ZO]��ƬN�gc�D��#���5XJx��b<VDz/ql��v�:�Nk�(�>[�ZBPCcH�TT� 9F�Xe�*:��~g��b��m�Q(�-��D�6n�]]}�o�
�#�˧�Q������A������?�����W&��M�d8��qW�������а�cۼIS�@�.js�1����/����1����������
��9�l\>�$��6��e��b��/_�S�f��'�{n�,8>;�l�����O��0�0-q�`@�6��m5
zԡ���wգ��2���ӝ�X㬞�V�K�u�y�cRT��9��|�b��$�O�m���k��Ǥ�%�̣��bgD�ܣ/<�/��_ʷ�_}�~P�D�x5�(�߿|��o��m��C�٫��g��ߤ�俾�
�F~VY�C��N$�m�k/4U9�'(h, 6�q�p��i�ĢU,�i8hx�k#��9�dwz-�]�|V�ٲY>��rI�@�ڒ���\0׷�˷�D]�}JNJ9���W.h���,cи���	�H��%,g5<R���آ�t�p���,G-�޽c�5�'��Z���)��>���Px� j��̭�fvU\�hH[��m�\h��5��՘�;;9�i�6_�Q��}֢��c&���;ڢ���1��9-}>�W��Ab�
�.c)�In%�UD���>��,�/h�021�:�AJ1{+��������[�{��q��`�)���~�jo��cG����j��1iL�	�b�*�i�dS!2}���5c�����a2�Z��l��d��iˊ9KqsT��ɴ�;;��afT��U>���%�+k��b���GY���jQ��,VC�j)�[eP�����G<����\�x�՞[�]�jt=�~'}�����6*�#A�8����ϭT�2�
�X���bK��p��D�Z�(�����׷���e�!�?�����x�2�K-_ȥ� �5‚���Ap���~Uj�,{��?���?�Z/���g�o�~�ڒ�����[
"m�'N:����L�a:����h�x�>�,j�Q����
�8�;Ѡ;�_�+B��U�����۴�}���K�Pkj6u���O{�{�i�I=
�?��s~����^�X����@����,h*�*#���Q԰��Q��3aXHp)Brk�$,1J=�$�����_ߥ9���$�t�0��us0�(L�L>��(�U�3'�)˲��X�|bk�{.�$�#��{��b�*��M
3R*���V��.+��r?Q~{���3F���O��]��j\��x�	�_�b}�*JpPh���=�->"�WT������>��#��БZ: a�^�a"�/�9��$����3yɘH�y����❕�;�/)��������a��Pp-��YVt�E�z�����k;K�KC�m�?���9��i�N_u"��iS���"b��Pɦ��˿	��w:�W(x�7��(c�غ��D��d��b
Q�"!�2��4�:��n�H��%Ux;�R<�4�~�:w�C��������r\3��������2;^q���]��9�;�ʉ��4�q���6{��;���������-g����*����{���t�G�w�GUe��{�{�7�f��'3���N���zh�w	 ahb��(Qv,(�Y�ZP��ς����� s���L�t?��?0���}��s�9�eq�r��>��rt<�gn)�Ȼ=!^�?TG/�J�鹠b��{5ق&�:"@�vd_Ү�C���i�I��M��@%����})6��~Z�s��yi��
�&��zåU���C�C��-F����
���uMΜ�|�:��AY���A)j!�ff���íYKl���dD��x��y8��%
�,�̓��Tj1E�xB!�D?A���Ax'�?���ą�h≩}�7��5[���X	����� ^n�T�?��A��M�����JY��δ��
rx5Ͽ9l�R'�5�����Ӹ,�\0���b�<��0J���$�0�6tϥ�Ly���+��@��۷���!�A'���+>A/����;w��S��@ʇ*���]N���r J=�R��ҵ�Ԟg�u�H(-�]�R���R�$l^����}��{���n�"<̩'��T]���Gh=�:6�'cğ0J��1�HC1��T��O�k��0�q�)�}F?H}wÊہ�
�4i؟�q�O�m�'���ێj��%#��=k3:��)%���ї�¾�袺�s�ql&�{��d��ܑ�xMJf�W8�O�
	��
%E��T
��O�'%�_�I�h�N��$t�Ϛ"������58>��s�dO2~�$��3џ�~�烌V�JLL��L�dR��Jj�ˡ\����䰼�N1=f21]8��GЋ���A���R�yã�[f��
��j�S�G����Z3GZ ]����&�D��� �g`6Ko��$XL��	����ZU�}xRy$��f��s�w�,��J���6�ؐ�R(���K |�F��K�dU����X�:4��r��i�8���Je�~Y�h���O!y�΢��R>�z�Vt��UG��V���w�<�����0v��&���7TG����8����Vl����Ƣ!;�^�8O�W/�&H#LD90((ѓ���?
�a��)A�m�!�L<|ئ���%\��ÌL4⏕`n�?`�������V�Wk���h��b�+i�Ś��b�%8t�i���5���@�/th��$�pK�套��s�����G�X����h%��bɻ�b�/u�5K:����`��Ěc�bֈ^�:Mžr�ݹ��׶gY5e�\pA:K#xs"��N�t;�f
d����B�C	3�v���Dk��/���U��1��ղ9GsX-B�����C<��27ǽ�� �M�.E�guL�͋\y��Y6��{�Zbu��y���E�5%���.wA�P3}�S�nc�e����z�5�2�QYͫx`�բ*'/Η���C�i�~��E�'`ciE�*������&9��ҞKA��#��
�\���:+/�c)q!�r�^=�{�p�n7�\ݱdq;������z������kڗ,\�Ր9�N.�N�[�EZ4��w^/<4�z29愘�+GU�=��0R=��9��#}�^�)t�r�����grt:��".����^Q~;���3�ʪr�mNEE�@~��}P�f\t�z���Mբ�I�`/81iS���N��M�PV�v�<_aO�6)��h��N�v�9dy�X�O�JA�1�`S�N�F�0d
���7�����`z�$�
8g0:�a�ї
���Z\f0<\o�����qg�~1�?8`|�l�"�[��nb�1 �Mys���B�'F~���Zb�vGN���u_f�͉�k�E�/���˚�>����6��D٘����HN �T1P>G��O��6g��\��=������WNe��qo�t#u�z�:J�O���'�)�%��A]4Q�WC���MR�&
�$%�j��¢
�7�Hl�%�Gm�P�P�F� ���@9sBM�\���+�,u�`4c�NZ#�,�U̥����.a�L��Q<4I&ũ1��@��aWN�]��P9�h�^^�=T0}�\��$y����'�Ѿ�Y!�aE�D��*��n�Ĉ\n�E���*���e����S���4Op����D��1���K��r�2B��}���qj���1�Ʀ/T���
7�8K�YY&�駵��l�W�S�J9�=�4OG�:�ٝf+\����*Z8�N�ʢ�g^�@��$�|%�-ϦWH�M��VLR:/Q�J�h{8�s*dX�J�5`��j�[p��k��&UY��b���d`l�&��L�S�Tr��@���t�ڞ�)�{i�E���ڲ��Z�w�:��0Th���	&�!̀\��V`)��;^��L1�C�|]ߢ����r.-��8��e�u�J�|�W>R���N��r �8x�A���#��b�+�<���SfL�M�6�e-��
!��d#_��Ԛ�Q&��q����qPB�k����A��(#Zq�Ɨ!���Jp��l"�1ײ�kI�ZV��p@�?-�=6�S��s���,��e:3���eZ5���R9+7�N�9��In�ۇםX��gCSٮ嫳lmu�
��,�3��m�9z��O�PEǰ�B^��r�������F&B^m�c� �r�4�s�ͅj�\�g1H9T1rFBC�Z��0JPh��w����an��]b�յ�P5��ނ�G���n��W��g��k�uʥC��?■�ͮ��|��@�-^%;��x>�@5e�yA�U�9��54mƄ�Wbp�\!,�G��hD"��	3!�
鄛HT\�6H8�`9L�E5t�V�\�)���{`��{����
ꔻ�@`N�����{��9�瞞ݷ�v5�ٛ:W�nY�u?={���%�1�4*ve\{z�?gm��e&��b+hP��9B��{�
O�Q,m��ճ�U[`l�\5zH�ṽu�=���`��zr�������X
~�UӚ
�gv�^5y�#�Q(2'}CW��Ks륊�O6��7�Րo6k��C��D��&PS���<�J�N��,\ՅDe�PZC1$ӡ� *r���1ѽ�c�ȅOQe�4}�TB��%"�9:���v̀��OHn! ˆ�"B]b���	��PIH'h�$tl$gup;0y�\#��0�¸iI�q�Z����!����-z9$Ey�(�WȬi�����*/c�[4��\6����P��u𹚫��H53�g=>㯳�X�N�o�Q�5���\�8<��O�n�����}�թN��h
f ft+x��2�����mS4���8�vו2�
)ѻ����$:(��Z�1��F������bpB�2k��Yc�ÐQ+Ꮏ�n�#�4w��ݩ�/��+�kO�T=�#�ʶN��=;��3��3�Q�
@&.֯ɗ/�oD�{����L��=a���M�M=I�����;�eχ,'���d<�FO�c�J��wy^��@��L�{��i׼���ɥa��r�q�SY��<�.��'\�J2���+��]>(E��5�^B�K�1��g��Հ�bAt������p��7o�C/�Ҳ�j8�Q��Q��ޢ>”�Y�nPj.����$Qlw�����[�Dž@>����|���rF�R�=�v�?$k�sH
�L�k꿿��
�N	�\|D g������C ]<xF�L��_�=�	�g�L/ۅGI��^�TGd�e!�ɐ�2e���Ӻu�}��9�qt�t�;�GT�{����Z�DIA���I�ɓ��'�n���L�S���h��|�	_D_1 ���FO,*������4&0�4�	�aDr
�g�ส����غ��7��eS�pW-���5���_�ԧ���m0�j\�rM+9�3ZG5mj!&\9�m�ޡ�xK�X��E{��W,�����҂*��s��1�\~�m~e�-K�q�ޥsV�7�]�����E��,�/p���ț������g��K��C����S���u߮���׿�{]��^�>�ݭ�~wS$cw��T<б�|�"QDRMc����jI�d*Y�N5����~w��Q�Hպ�A�k�3��`�$0	��t1B�(_�%�Z��U�h*\��Tz�R׋Py��Rя�9�h����`A����s�d�Ӭb ��ဟRX|�
N�j��hZ��; �'���h0{*�A��Z+�ehȦ��`�<����r�����^P����Hm˄V���}��T��WkO��' �#gm��k�O���W.���Q���ZQ����{�p������=4A6
Ҙ‹B�3?��#9���Db%>O�Cxu�'@<�����>W�8���-{�j��>���9أW�9�.Yz&�o����m�C}�s�1��e5�\Z<rI�)u+�Z�ǹ�/���M�7��/o���Թ���}蹡���Ѱn��YV
[3�ܖ����L�����\�����[ 
�/�)UC���2�x���&�#fz�QJŽ�m`ݲ�k燚G�>|犩��]�C�-`���.��*����
�4�5��K��}_.]|[NIw��z�������d��6?rp����%�K끼5�kq��Ag�Z �3�g!B��E	��R�Ǖ�>C�l)I���]{�k�m;���sZ���=-�C��s�[����֯{l���|~󪧭�[�OV�ƀ�#@��I�k�<��I�{wKk�[�V�?Z�����E?��oxtϥ��A�� E?P��R�>
Tk	�l�R"7(�/��C��m�Ue�@$��8��} ��,�	a�[ҳxq�^�Q:�ZRP��j�Vu�t��%n�2�f9��ر]7�~,�U�����n�6c�6:�g���ѫ����+-.?�M�&��fv߱����s#zV�wq:꙱m۫۷��c$_�g)��O&�&�\@�b�d�3�4�n�'B�X̡�<i �!�h%�D�ĩY.�St A��8��Mt���x�+8�����P3��M3�� '�
�F�<�,�o���w���R����dž����Wd)����+L����Ӥ����>����1�R�;�q�"��LN�,`/m�O䔰m�8���F0�V���\6&�������yhM&��t�3J0��`���g�����@���5��zzX�—#�Ն1�o�ԠRڮ�T�}�V*�y���p-����"D$ן2�pԓ1 �8��G����0��7O��y#��xh��(���������>
��M�s�wL��iw��:&m�H����)�yi�*F)�I�$q�����K��wN^�~2��I�����6JU`>�u���<����I{�2��Yp���)\֤M}��$/p��3�7��`r�$����k�㹗8AȬ�UP��L`��}�QLda��~��TW�l�i	�f�Gџ0Q"�쉠
E��oE�V���-ȃ�Ǘ�1I`�|�؁����%Aݶ�����8���C���D�À��H�R��.L4I���f��N�H�Ry����K3�{>0P5m��h��9v��y����ռ��%��M��|Vεz0�cQ[}��У��cvg��-�����3���盲��^Y��)��Vؿ�娢V�ԳV��B��a�\��Α���.ї-�&<���_6��0�¡��0z�̈���B�@�}
��0�g�I=�FS]�+(��]`��\x�����\J��
K<�WRC�Q�4j:�s�ۨ�ۨ�T/�.�Ez����Gq3���h�9�< Fv��Ķ7a&�8�P����3���(���e�ӊ;8�sd���g$�"ٔ�0&FD��2@�l��D�i�az��s�B�x�_�o�:�@	B
Z�IH�\�V��Jf9
�J����\!��2ٙ/��:T��٠Tf6ˤ�v�jUȡ���f3T��F������ �����(��KZN>��R�q�bN3�8��ʔ�ʗ5
f	�j�A3]�֚�@�Z��Oj�M$%��RN
�Y���[�w��z�t��e�r�Z������l�JYV�����9��q*� �N&[��5���L��[2<2?��K����l�*�}*�g?je܏�Id���?r
��`�^1�}/U�߃wyE�|k4~N�T��~��Wr�Z�@
�څ_(�Z���V���T�%��ZZ#�X�>u㲻�^Eo2˽�T����'��v�����	<Ր�*`��c�N-FK�+���P���
��W�A�v4?JScF�'�c�7���3 ���SR��Ӏ�\��Q>j2;�ⱳ�I�ܯ3s:�,([.�edW��=s
~��=; �!F�Kl*`D��ǯ���P 1�I����𿐁�I����
�Ș,a�8���p�c3X)W�W�`:�5KQy��7��j$uE��|p�M�5*`�l�h��$��J�6�R/#�������4*�8B��ݺ�ؖ���WX.m)R3�fa�-�v4�+�JP�<�g(b�v��#l.�؄�+�a���攀��³�eGw_���HXc,�@�u���-���ѫs:�f��p{����(nX8fQ����:����h�o�6���֏E��:�~�D|%�5V'���8��jK�mڿ/�ѐ�K'��oB�vNg!d��K�uK��,`�靿�����|��Zh�����Q��f$�v�,�>��%F������v��ځ���'�C7�8-6��F�
�@���6��a�Y9�_��,G�o���Чͳ%�{#Q�kA6>��oh���ͻ�㥌��d�����͟���_G����蓌���/t�k`�R�Ӎ)
��|:2r	�⯿s<�ʖ����5E躉�]���]Z�m/x�Ɯ�����O�	X�R����\�r��o�yt�X�Q]��$��^����Ӎi���ܠ���*�nR� gf�5�/C�7A5(�1���������G��u@����|,J�$�4
�DI������ID�m��x��8=9��="�zc�����q2���wНv�ȅGZ�5�5��!��_�u��*�Zm�ߴN3^#�7$��Q��LZu%!^AI1)��91�C|G�D�M��߰A7Y݌:֨�n;VB�������NRS�q%y��o|�&5ز��g��t1��cL���0�o�1Cٍe��^w�>����½!6�jf4��K��	Gzi��d�ߴ���L]���/y �r�E��F�~ӛU�Q@�߉��`��1q��Uwb���\L(�bY�����%�)�
Z��Rlҿ��˪��0-Wi�UФ�I�S��+�_!���y���]����+���r�=`�'tv7{�������}��1���{\ǃ��$
��c�ϜZ��;
�;usg,�kv۸U��߻|�oz�r��PQ�w�Gb�����
���"]lɵ\��{h7���{�‡{8ֻo=`����#�vN���_�2}N��$�sSz̙Z	6t6��@f��n:6�i�!�T��$"�W8=�����(}�mZ�x}}5hK�ż�{�8P�޾7�yƾ7�^:�8,B����7l�{�8���O<�Ĥ��lt	�j��C`�)7�a�9��J��l��6C/��?4g�Z�+q�+�Ia���Ʌ��������q&�g����w���.���yE�Z�EW~q7������K&*�/��:�;,w��oܳ����eCk��5�7��n��u��g͵�&շ��7����ڱ�f�}����?��u���P��;�o>r;��N�}�z�t�Pu]C<֘���јs�Uۧ.����
��o bo���?�7�g�W�� ,I�$Z*�!N�|˲f<s&|헪��m�����:�?������^K���g<���CB]DSX�I*᪤�hs�9!?+K��_���_�%9����@�s
Nz��O|��j������ĕ�D�������A���i���������$���ڇ��~�>��z��Qtc���+���k����x>�7n�鸧��H1���L"�b�N65�|#.h��d
�`/�0�뉚�]R�>�[�K�����R;tHdNk�Vrh�*�<;?G��j3� d4���	ьi��1;����^C�g���&c�P��S��V�9y8xqcn���蒳�ѡϷ�]�j<B��Y+��<08Һu��%3\Nk��&�,�5��E���O>^���	�閪�8�����w<:ml튵ݳGV�t*�魏�7Ϛ�q0J����g�!�=B_Sb>7L�S���*�J�&�o#�'����q��&���]+F.O��	s��!����qLCDk�tK���||<Q����~J����%�� U�Z�+P�a�8�<5xz���y�μ���ե�6�d/�6���w�Xi�<t�ۥu��o��[��Z�/w��΢��%E�e��R�?���W�� �h\��z�SWJ�}e�@��Vf7��:xW���$7)�{t�֓�Et�xr�֓�t�ʓ�]d�̪��u�[)�'o���%�C��C��Rnj��_ރoI�rL�=e8�=gLN���;�������h�($Mj��Q��\�������19���z����:�)�t�^�=�QZ�	zpƽ9c����ɶ|Z��b��dY��T� j.��h7DJ���)��2j�F��O^��d8�P��
����7lLč���1I#n��5�peZ�����.PaӤ��f��[[��me��1�+�ًÍ-�'����ŭ���+!���]x���ds�k�J?���{ӻK���բ!ő�b8c�H�d}M-�9zTg4p�ӹdLd���5�,t`V~�O{��Vͺ-yR�%�-�jO�MfsZ��2v|�u,��e4�����O��X|����CGl�����ZA�z��ĿMV$ #C�. ��F��+�&��K����#Z��(Q�T��.�
����D��U�ΐ��?8���X�vP�s�;ֆC��nj��vZ}I�
5C�<wMW�4�ć�!'
�]�qJ!g��]��K�ה�G��J}�VV�>���4c�LzbU�[���)���3K�!w����Y�޶��o������X�q��¾���é���	�[�?�b(\�5�La�乖�/{�s�a��t���q�/�Rˀ�Ɠ���/�=����V�!疕��	�r�R�|��B�DP�xt���|߳eg)����V��A"#�^A����qF��$ڻ"��d���b&B��%�+�ձ�����a�6��U���{�����n�m0�Y�o��M}4�Ғ|�y|*������I{���6�b=�}
��6d1y�ݰ��=���s�/�}q���U�|gF���OS��1�
j~��;q/^��u� 5�eZ�XnK�Dk��c`LSU���xM��֔v)#(���&:�!��PU����Ԥ:��ˮ>�eKqGe��6(ABO3�cC~�QgTh&�*�F&��ak�[:�V#U�J���5.Ugp+*�¢�*���f����=�c(ך��W����1^��4���٠.Q�K�� w�ƐetC��<�(�a,��z�B��0�������V<[M��>CwUc:�y'܃i���9�}��^<� C��08C\�OPE��^1��sZ�R5��Hvn}}n6m����p�b1,	��P	��������؊����������A�1���e�Wv5�wǽ����#
��h�#/����_]�ps3:��������u�8��i�fٟ�>�0��[�v۶�D��Y�4���a�g
�"DR�9K�v���H�R�]�S�Pŷz�Jƛ�3�в
����?X§)�V�F���1�I��o���0O����%�eœh�yw����	x������A�;�2ބ���I�>��g�vz
�_�a�p����^�i5��ҕp}��ϛwJ�9���ˉ�lԔV�4��W5q��H�>.{�C[�|_B�>�N�=�^[��r����9�^5b�U�Ιv��J��ڂ�k�|�߰8��Ng��NJh��J����,�J��A��9���*��r��D��x��0s��{P�6_WF����j��pm8Ϛl#�)k��u?���!K�́�Г��
V�{=��ӓi�3a��3�	`�F�`v�i�n`�n7�<2n���7�un�h�C�"�$T/^B��dG�#�y�Yl޼r�U 5)� ����������嘭���C�/Y�Z��,�[,�r�ͱZ����h��XqE�~D�jŗ�=�k����q�W[Y�$9.��v1r�q�j�3�܈�m7�%���q\���b�r��2:�.�G�!�D�8��<��%r�ըר�i��^��`:�X����+�r:]�<c�r6� ��yi���䜂��?D��E;�x6��@K��Ih�u���϶��aں��q�V-���6u��U;����V�3���V��Z��������G�>E
�;B4�����1zb�_h
{b��#g�¼��p9�t�(��J��8!�RY'�%��saX{�D_�!"8�d����r50�.&ʷӾ�6��ې������9�p:��X�	�q�w�3Ϡ��h��u8�e�D0�7D{ s&B�yf��th�sȤ��'�7VT����
l�L������.�/!�”��.7����5��^����FV�=.H*�^W�R�֮,_�0.�iW�]��ee+�ܸ���&��w��o]M�P��{�(a�W���80�=���p���\�����qZkք�΁���w��3�V]��"�K��f��E����J���ne��*����k��T�7�*��>q{-��ȕ*��Ln�w��WX�r��.� �ҫ�.��z���=���b6���9b��X`-���Q�
�@�w�����?qm��Ep_���|#�KW�W�%eB�3µ{ҷ��e(�K@ږ��˃K{�[@ Ǹys0df		��Q�9��)��8��{!�����p笯k.�U}�>�}�kk�׳v�@�՗.�q٥W�&���o����E�3C^?C�?�G[��۷��={b<}��a��A�� ���ui���������p�(u����iW����2JM�_+��X	���^]��"�~ǡ@�)��<��MN=�B�ó�M-�L!�mL!]�}�c@���ж���\��%��:����%K��o�`���*�*�|3�*]I˰��@��uXK	{��(|I|�~�_� hq���%� A_&A%D̠ڍ��ޠ-hCxB>�Y����3�=��8�:Y�7bzS8?%,���S���/�ҋ^$(3H�ݝ��H�
��$��#�BL�*��f@��p��O ���UF����ٳ\��@ݟ����� ��e
�
E��H����q��uA�o=���S��g���DQ.����b�&.�{���f�׋�w	Z���%��0���.7�s�?��?���~���u�?s�Ȋ�	�'D�;F�F�����El��188:����UgFͯ_6�m�0c��YV7w�U֜��'70�6L6�rh��+F�Z�|T��~����815��5ipM��V���OKZ�۲s6���ž���b����D
��K�읁;���!�f
I5k�%��f�poZNK�$p�܉���7&�x8"~����}���3c@�qL4����GK2m�
<J~))��g�y�8s_�����#���g{�œ`.��ڨ�d����"J�ϐD��1��x1"".@�P��9�~����O����QO�mUP���h��P��O����
*4�V�}]�}���JV����7�l�˸{����B5���寷I�N���].�g����[h���`����/����]�����,�lr�ƨT˛k�2y�dB��H�㍰թ��rё��
j�[�c����	��eЍ�c|��I�O����!��E#�� )����Kx���2��_��$ϳ}�S>L��5��	T�N�y���#4��I���� <1�BD��,5X
a���y���$y�R��c����T��P��YL�єP�����Z�Wfj��z�A�3��*S��Us(�go����.K�Z�!���Jڊ&A� 0���%Έ��-B:�)NゝKg��u\6��߸~��-o��_��wSg�+��g��g�C�.�f�$����]H�x�G�h�c
�n���@d���V�`����2���]z��uܸV�J�h�s��UW���+�w��,W�D���}�n���O���Ӥ т�f�}́R�j5��Nͧ��y�O8�<lH�.�6�N;@{ ��È^x]8!�D�h"=�eN��2�3�x,>
I����$�,>�扵��pB��]41����+�R���KH���)'!G��,�~%!�z��}���< A���
 ��&�d!�t2�B�	��&Jd4�1Q���4y�A�I@6d=c��2��/c����~�{V̢4�������Wwv��Ñ@������|'�]_41�z�J������qKOtT����)��j$4�+���ӎ0�K��Q�1��sm|�~2���k����<L�*3�{ �̟��t<��$E�4�ou�ఇ�.T��k��@�/n�H�9��� ׇ���̙ـ޷�`x-�m�K�.�]g�àD�C���<��'�Ap-:���bxJ��qh-,�
��Z�̀f���h7��,��8�z�	b��ҸorL@p�G�}�`)B����0g�������w�f��h"j2G/��ܓW�KhFI+Oo,WԢ�!H�:��![l�pϠ�5{�Q��i2��m�^S�W\�׀�d���}ﲚ��-%?�I����.�g�+A(�>5�oZ�DnH�����g
1���,��:/X9c^��k4y�UzK<u���L?F�+�MK�k�\*J�bN�	fS����^�)���P+n�J�Ɓ5�j��q΁�� �'$Po��aȤ������@4�3F�0F|K�1s4AsA���H4/)�\�E�%�B}��cĹ�����
y��4O�ő���Zl6�������IQ"��r��c|Ւh�	���%PL6��;I�9!�
��%�6y��d�y�H;c�E�B�N�sw�W1�3C�I�p�oz^�tf&��Ȗ�
0��	�'�p5"���ϔ�M���bĈ+�̹)�i�;�M��~����6N��)yӜ#$���7������+����a���	(���gL&^o2�ypW%���0}��O��f�+љ$�Ȟ;`�P	��G\Nk�F�h\.���qp:u6�hġy�Pm��
J���*TY�V���qz6JU*����pg:�!�Ǥ���L�&���rʥ2�>�q�j�No6�y����u�4vg(�t����N')&]�tjJC!�S�F4�!�H!C3�Ą'$O={�b���j6i���A�9C�N��@������<Rb�l\��8M�*�A�R�2H�Y@ZA��-V=o��V��������C�n�3���,�v�0��56h
���@F�QX���uj�΢�r�*{v��*�=��
�&�G��[|�����-J���̥Vg��n\=ؐ]�m��#-�� �CA�0��
D���\ dz����RӨyx&�����Y�rHa��!�Cx]�9<��!��
)�Q��q-�*A��V�eЩ���s�B@�D�'��K�@Tм"���Bj��J����|]�jN��1|ʔ�JW]��N8�v����.˫����Td����@vqMMAn0n�=�9���nz݋I<�`��v͛���w����V,]��)��}nKu��:�&~�&Z[�ωV�S�c{��V��\�<	=����
��z��h�$¾l�J�4�y�ڪ��@]��!�j��cf�I�	�۱ᚢ |��t��9q�'+�,m.C�]�m+,A�m��3�Ҷ�R�{|$举��AL��1��xs�é	�Q�oxg��A
�FQ|4d2��Z�3���7O@<��q��BF_��x��E�	`P3� �C&��	\���E�����txa4s=&����L��g���TH�^!��B�y��s�'� Ẹ���B�IO��6H8pb�t
�(AD'���h!�Lv�<&Ap;0A�+Q��D�o��@�(��IyD:�h]�9����
��"!�Nl�|X��t��j���Q#��'�cD.������L���&o�n�6]�uɼѭp�B簄,ٲu�#�R�i�xk!���=7�Ⱦ+��Eք�=~�:�r`6�f��YK��>q�z�|jP���8uMn�˦{��n�2�z$aF/�K�17~��;��D�1c��A����2�=��|�ɪ��x��\T�>�m�:��V�����b̗����o�}Y��n��[�7��}_Yj/��c
�������7N\��v�u؆-5\�ƭ�I�~�ĩ�/��,H]>|xq"�v��JϠ��
|�.(D߼��*+��੧R�\���N�?��h�p��;�$�O�UU��Ӂz�Y��������&�7uj^�c`+)��4�������U��3ұ�sX&�:��t�q�{,8�q�d>�I�M�L]��Z��
�E�M��1�V���C9eV�H꙾r�J	XE�E
�֣o_��r�Uxv��|0�'�5�#G�T�O�|x\��.��P������ި�D�K�8�ć���GK��g�d,�Xo�3.A	�5 $@���k3�7_� ��c%ByN�;I�p�M����h��Z��UT�M6��;�$��=��=<�RI��R�5�c��X6IQ��!3�;*��j����
n^��JC��C���Y���z�A�H����El��E�z@.�Y!��ᩡl�I����%�����Y�@Գ2��+���^�����D*��ԿV"���h��2-0�e򽻴2.��tKUr�]�����U��т�@�@]��������b��ҿk�5���ԥ���-�:�TB�����
�nz��҈܄�
�n"������(E�.VX��䫋\I^X�+�PM2q��2$��E��)�2����(O\"�DO}Q���
���:Z��B�"g�[?�kDQ3[]����Ь�,e�R��*��7�jw킗��Ƥ�w��FF�P^A}AA=�pQdrע�ļ�ڲ��3�3<�KZ5(�p���iE�UeR�<�Y�PSy�Emֺ���فl�[�ոD:�F�]��\�%��t��e��=���겒����nEix�ܹ}���v�de"<���j��y��Ԙ'�VB	� +�ͤ��~p���c��2�D`J[����f����^��D�^b������zw'�V[1:k6������Q8�4�W��9ii{�t�s1p΁��WKZ���9�Z��ْZ�]v�>)�w��gys&�p߷W���7�z��0	��D{�s�a�tD�����]3jA��%<A:�'���b��*CS?�s�2��"�7�;��U��Q����_|��fڂ(J�Z��7<�S�^枮���l�_Ε �C�w�0��D��_�	�f�
�ė���q����.�40�:z�89zA�ы��.с� p�&M[Ԇ�4M ��@A�����0��e2e;q��e�e#駄��()	ܭ�e�'h:]9D��.��PNު��R��O:(̺�KW�����׽#gw�j�k7
��'�7^#����~MG]i����ׁVf���P�m�-~r�r�8���5-��rx5��*���l�Y�l�g��֯^@��=q�Mx�$eq��R��d�$p���r�~c���Ӫ�O��
K��\3L�sS
lɾɷ?��o[�^�
 c��R�d�Y��q�Eh?z?�	��M�-P>���������SVW-80�{��Wt�N�B�D���[�����|�D�`��-��
�BU��0�?1�D�ɠ�X�T�Fv�K�R�8�������|dO�2i�M�A�<�xaC<��2FI��ϑ�(����
�^?K�&p�\1m�G��^����^	u�4�98�r�l�P�DŽ�Bڜ�'�����Ȑ ��N����^;��L��h�]�D5#�47�2uպ�'�u}O�����/k�[Z�5�Vk��ֺ�Ys$Ԥ��q���L8�>9
6��ز�4�O�Iw��������I~�y��~4=�:"`h��0*� �6���4`��F��)b�r���#��!�f��"G#jS1�s2�_F8���t�r}������]Fs���u9��b�W�������&S���e!��n�%~����g�!��a�����?F�D��[�&����N��תM8�!�
!P�+�:lb�mV������̯�ֶ�s�Y���[�cD󂼊%t��H�@`������u*	za-�N2T_⾗���+��Z�R���>�Y-�{���=MA�<�ɭ���;�����S�;xށ��>\�23��[�'��4�'��͝y6�d��F�[Ha��,��rTH�*��OQW/J��UZ�<�֋�p�uB�L!�LH����Q�X��P���u�%!�]��D��kա�m["��)���\0$��R.w��`б�s�Z"e�bEVŸ�]�ӭ��(���8�&t���{�+s�^7{lyEN����K�5c�5�*���.J���`s�����Z�ϙmW�'|�������/w��;.��Ѯ�����x�`�m����i3._�#�����,�9�bn�Vw�~�6�(���b#0֟��d�D�0T�پ�0)�H�-^�L��*K��l�D?t�0̹�Ep�|��e,��u��O
�=���k�v�g8b#+�6��B��'G�|b�Lzp�ӓ�ʜ%���?����ϔ�O�����3�<?'����R@�F��;
K�9m�8�T�ȶ��M�bHq�S3��'_b�,l�ಹ��_a�R>��1d�~r������Q�|ϻ~���!*L�G�Z<�C-�%<
2ɴ�x��X�n��W��<{�;dmKQ�U�&!h9W!s�Dߣ7��#�w_@�'��|�Ļ����_�������o����P����F����>�K��*��5D"ђ��b2x8��@������
Yx
�">�!���~�S�&�����J��Z4O���>ˑ�!��ټ��;�֗�� eM�kd�#�+���M�O��#@
*�)���T���=/���9�N��W
�� 	����1ń��A�)����_���$7��"���>s�Z�̔����JS���rm��X�ē��`����;o�]5'�\��G] O�3`T�D����.ķҕ�'13��0#�n�CX��o���a�.&�
��aH%
�&
� )���!i�-{�`D6��P	�f�ӌ���xI��;RRw%cÆŒ�N�^^n[^Y��
��օ+p��[�����0-�XE=J0#�,��!�1@Q����8T���� <��OF��z$����ܗC��5��{<��=d��L�.Bl���9`iĿI��}���?��ӟ%��q���9��?���6Enj�#���z��Lx�C߀;���w��>���#~!�?؄~<!v���C���q�_&`��f}󆂭t~5��d&{ZpNM�Wd]��i�V\WB�Q��F��ID�$��#N�$���5L����]q�PXT�M�jV�DI�h��>�d�]�2t��x�9>��>]��rհ"�0|�f�ڜ�
��;
�۬�n��-{�w*EXP*sǎ�pj9�V�8��j�h�J��G�;�H[K�·���%�';VW9���h��J
���w�TO��oϢ��1�����Ҿ�vi�r�e/g���}}?�\cS[ڲڧ��ѭ�5���^s�Z��1��8x��<�w�L��+����J(?
9ul��^O�r�N�p|b�Z[��z���>3��N�]�3�L�5i�'O�݅���$����#럍�8��\�|�Տ,t�����'
z�������"`�Հ�4,�{K}��;?}͍��^g��e5r[<4�����L�Lu���B�	�Н/�8�ԭ�kG�V�$��ʗ�͒<��p�X֢c\�?SP{��z����mZ��hH���Z�x��*�Rkj�JZ��;o�R%U�YOV�V�*_�_?M��̺�v�vqR��c =8���0���j�Y�3��}B�-�Ӎ��a{��- ���VTD�8h�{�}�
e���9�$!��[N��;��#�g�V�[�eɲ$W�Ȓl�e٘bl��f�馛N���$@BO�@�R)��0�KB
�A�8�4�\��Kli���J�l��}����������̛7o�<Pف��*aOiaZ6�$H4x��ڱ��U���Q\�֭���NEr/��ރ�IKIz'�bA�h��m��X��*
ĺOH��FK�$���*��B���S���[�:�7m���4m��[�s���,.���_㸯;�K�*+}p���Lv%}���-��i45c-B{
����
wÏv_�
_���u|i$���L����u��q�(��?�����q5��D5Ss���r�
�@�A�Q�QG�����ԓ����k�i�]�!�Ll�.�?��1���t�8J�mv?�	�:�����b��k
h�"�MN�'���@@g~΋V8&#c�x�F�2i��&�9�� ��n
�{�I�O�^ø����:�W�NL~1e֟e���{R��h�5p��lJgO듙s���[ �}6�dւmj�ܥ�wo��/�#n������X@�W��BM?W�Fg�oչ�
i���T��+�0Hi�H��E�dW�{���GX ~̺d}�{���Y������gft��u��a��K����(�ǖ��=�<�vG�5���>�D�NO�Ŧt�^��'��`���H�T.M�ҀF���-'�
�=I$��ݨP�Wش�Y0V3V"�ར�����4h=sF�1\�U�	��l�?|�U��'EX^*��Փb�h�V�
|�(��S1�6�mZ�y|�^�v��'�`K�€�,,,�/�_>�_G�_��?���)e�gΌ������1�(�;��	�xϯ��Mϯ��}���Bh�*�����
���!��(�0�zO�ެG��vJJ<{cyK1�qA|��^t��@K9�#����72����e����|�:�?\}c��`�G�0%S	��в��O?���\0�=C}%7�6�
O�uL:{g���p�1`]��L��K��X��c���r��,��w�'c�AL�� �����/?d�$��{mX����3x���9O�C��&~���Ϝ�bϞ/N�	�����W
�{�C�{�m߾�7[5�Ƽs��O�?�ӧ�,\������x�]�!.�g��R�ښY�:*�d���oarrs�3[�{VE�y����>����v�[���ˡo��XM@Z!��
�+V�x���V�4Fx��an�wud<�����,�>8d��7�[���1���j�:pBZ�����<��p	�"�}��C�}���7���~��?��*�LamI�FP$��~��S���jˣ
)UJ�S�T_��塈2���#�<��MͧQ˨��BoDz;��{���1�"X��$G�݀��L=���.������	��[��q���Xi�����ԧ"���o4y^��ȵ�������>�~f�3��B5S��~VrnV
�����n��#��~0,���/�x��聞�?^ԙ�3�e�/�]����wuow�$3��gbj�����4�ר7�!�*�Fyj�gQ�;����9�?�2�~~�hў�������tO:�)��t�=�'݃���=�=��Cu�Y4$�[����:���,	t�BoE�Ԙ����LoHMe@��-5��,B�o;�{���q^̍,f4&��v�p��h�Ȼv)��"<��
�'�*�|�0Nز�0[�JnEE.W����
:��LD�.��D��8�ߵ?O���DP�I1����We�s��烏�8�ba���v���zig��������k6~���[~��΍�����q�D��>M���f��U��^OM8�R����u���6.x~���j��T�A��k����Mg�z�և�:j崉a�U�����3�iP�R��t��LU�xY���`�(��@|R��*���EDzgcg�@�
��'uA`�2+���,vЋ�ć/	D�t�U�wm���Kb��I"��et�'��&�d���{��b���D�r�RINf��$U`�>��[�2ThӌN�Յk��-��z�*�FO<����(��:s��X��v7b2u����Tt�\k�.��7�ǻt(���?���GC�߱7N9�5C�t����%��igC��̉g�S`/�@χ�U0>��`;lc�(��������|0��v0���:Җi#!5�a��
�*:���0,����O <R�|M���YJ���)llj*������S��nE�뇀`�O��Do�k��ͨC�b
��+��z%089�fx���1Æi��a�P��p�_�?�=/!U���z2,l�OZ��t�9���@`������~��m�nC�N�NPf.���l/�I���M���l��LX��\ܗKj)E�u�%u*bN �c� 7��kg1( �;�p{1��-�g1�@�\����2t��	7D�	P4-�oo�'�)%z�2���9�L�5)2<:�B&�)�:O�¤������T�]�E�ݶK����~�M�[�uN�9�\[F_���)6T��V��p�H��tK�u4�ӬV��<k��z^βɎ���tG2��y=���<�H"Go������1o��J($�g��fwd;�Ag��`viI��!����;�oE��q�-��EIc�
�(!"PG����in�Mv/���^;��1�b�Mx�	q���"���3��&�8*�^���|��ҿi�3�շS^W���Yb�iJn*M-��ű���]�o�.e��_����k=e�o:�Z���
��…����2w�����/�����/ץ���y�ԥ��yV��2s����:Q�b���9?͖�VtX�JOq{̿���;τv���yhOÈ�l�,oe�'t�ALAV��qҩ��1��ʳ?��Ϯ�Z���9����eM��*�L^w�©u���,m*3�ql�����U0�2�'�z�>��6_W����ʧU�;�(+��4%ɤfei�^o�H���$S���;�C�!;��竭�>��N�5)D{ʎ!�K�}� �rљ��y�V��Ќ�w�1�H�d�����e�;����N
\��D�FC�hW��vπw�;ty���9rӹ�p��\;�>#�~��`�)��a��h��Z�b��iz�Y�jq�;~���\l��ЛS����+�rjB���k���oPl���
�)^��NA]'ޮ�h�}��f�"�c����.�!��ok岭�o<���PB��{?L�'�Eԗ�
�D��	�=���]*�.�g�����J�Ŷ��}Bo�t��&�&��
e��\��E^׭{��/�NK޽��DX9#^4x�C_
jK"���w���C��j�M{��.��(,����ր���+M�sQD�Q��c�T�P^/4�y5���@^+/��'w��4}
����Zsũ���"�`W%��
�y��GIpC���0��:E?kݺY��Ɏ+	U"���5U�@��Sx�W�����.�0p���Ka����X}����:���]z����I��nN�6����C�̦�߾uQ'�|䘔U��V�є���N���=�?��v7�	9l�&m�O�N�b��{#p���G^]<Mb�H�d�|r!��q��؍1�����a+�n�a�|)�S��Z6�>/��	�SJV������N\�*��T-�@vf���V��O��!h�4Rh�t��LaH\d�,�Ӏ"F�'aKDP��o�(�z�
p�=��c��wd7b]Z�8p`�"2����X��:�"�ŋ��׃�'��H�����-2����s֯�{�/�Ǿh{�ThrĐ��!CT0b����/��b�
����	Ԝ[�9�>�(^��0a�tv�av؀ńQ1�So4�V�x��E
�Nl�n=��˜z�x�ϒ��Œ;�ؼ��Ѥ�$���.	)����_$��1(�}�5$ӊE��P۔��&�~F̩��8���ޫ�`(1���E(ѻ��&�G"�T��¹|���b,i��(��(��1��8��W����0w#BS��GX��K�{_g�S�.�ф6��g?{i�֛��뷛��⥶�v=�vlTRa���dځӖ�Ȕ
��\v��힁���U�U7V͋ ����*5}�$2��uC0w�҇A�å�ήC�v��E���L�SY��>{�4&��<zq�D�ADh������B����>�~�MjF	%ۇt�_��O\�'�,}�%�l)��h�z�%ۺZ���y�I�F��]݂�Շ_�'��7~�U�)�<2N(�;h-��P�q�]�aV%�?y�y�N���M��	��َ��y[�{[�h�1r�#�}B+:>̮�ׅ���N �"
��	ܖ���7A�q0������t�#I�$O*}~�����T��w���D�E�	7^� ���ٝ�#D�(�%�M�*�6X>$�@p^ ���
��")	zA��G���%b�>�>�T�^}��;�
�O��ǘQ��;c-/
^��#7w�Vt	s&��G'*�-#�צ�����Q%��^M'p�c��"��-�W��+*m9z�LԎ�p�������힒�{ɑ]�}}��(�b��0}��;ax]����t�[)��Q��@��]�g�Д����vÉ7g�㮆�'fToJ�fȬ��"�R���ۚ�˫DŽ*
S?u�=95�j�U�!9F�9��j.��4�p|�P�{wΔ���"Nz(m�W`���yخ����`Ű���Kf�?~F��m(ȑX�0���s�r���6��D#�P2	�='����H���BL"�-0j�0d�NG����̏r�F=/�t��u�?�"J�u*���/�^]2Q.U�����ԩ�\��|�O�Y�w�/^���p�9�ߡ�%�Ԟ��v��%���(�-��FʋkB��e�Nk�=vuP37g���,��	�}��Q�įKL����Z��>��:M���N�⏆���/�"[I}II}{R…�w�u
�R�_����Kn��x�RFmX`HS]��}G�ŝ�-g(�K�qA��M�"�����qpn��8o|�5R�g����1:?M
�N���
<�/@����U=��x���oZ�N?䞧���m�Yq���o~Z�7�Z\�Cѝ���-�:�O����4��u����y��	��=Q��W\A�F[%2|���	�BbE�6RM�|u������B)�~]�T� ��u:�L�*|<��YR-fgg}����L�b�u�}�aLW�W�ЈR<v�3A/VK�	�"�������g�Ԥ���7�vDȉ��o�n��GC�#��&����}��?G�p�.�cF���x
v�n�Kp_w�}^������
�8
D�������P�X�@j�%C���H+�O�5�����8}ރ���,�ψ�!��Bp�����=��z����x�Zm�h3����@|ُĉ���7F��^��Qef���^XDŽ7���J|6��ީo.��9�4����O�˲|!�,
E�(�4
a+�[Kp�
^�Ŋ&^�j�Dth)�b!�72A��yc!��$��y��� D�#��4j�oH��Vp�	����ٖ�O'Go���Z�P��T��1;�!�*�7����
��9�t��/��W���ȩ��
Ze���n�ꪞ��vMOL�v��:{\�~K�����n���jj"�)���|o����x\W���a�4�I3rXڍ=1�]�	�f"!
V@��7����cۙ�.��⃴#❍B���8����xq;�[�/6��P���.���]�ĞC�>��1a�%O0�<�;�,�A[w��*�
X�'����!(�=��i��}��&?��#�^$	^�2)�m4��sD��E|g�P�b�2�Dq>�����n.*�?�W̸x��(Ļ8�s�D���SD<\��"�5�3PsA90�7�@�R���F�q1x�od�YХ&���]�b�nʁ�db��zy�a(r�j�~���}@��8��
��	>���>4��J�.]���R��RŨ�2��*F
A�6�r���]��eH}KK۔��J��ҡ�ObƆ�������L�
G�hN'%+Sx�̒jU�,�V/�}�2�D5�NwY8�G���,�Je���A�h*c�幔‚�����wޡ�.���0��{D�x��Sf�Ѣ��2�w�$�F�-�:W�Y\���D,o�Iy�ך��nN�I��	�,i��)�m�#Y�Ǫ��j�U�-3���Y$v�%%3�Z��p��V򒲗.#�cNf.�5��d�$��C}���,�KSצIX�$fX�͊D��M�^uV�J�0R���s0=t�@k�T�o��RZ$��b�X��*e�V�E�W��ϕ�5��T0��T��nk��ޑ
��7&�$2�iy�ThF7�����u�bqe�y�#l�R�*[)I����M��k\���a�#��u[�N^��3Vq�אnL��(v�\���f�T�GQ�I7p��=3?��קw�(sn�Y�IS��M�g''g��aFm�L*1��J�J�2U,��O����}}���]�&k9-��D�����i-%�}jS*0������XX���W��b%��c��R�LR)��$M�����NK�,N����c�إ�Udf��I��$�D�Ģ�*$R�� f�LM�Mu�LձK�7�)lJeh�Z%�V1՛
�ڒS��.u��4e��l�J=�RS�j>��r�l��ڮ��b���4����%ǎ-Y]�#�,E�J����؈�]?��S�gz-K���=��:�b�����+4�A|h��FCR�(��"���F'ch�)���=
Ejj�����R��7�﫧��W*J�o��J����L2�lX����B��a��a��r��:���Z�cůM��?�'�-�V���<C	�^%�y/�ϻ����v�YYL�� �A���iˤI[��&mij�S:{��=ܠ���?�3)���?gՠ��N���%r�|^���E�����$��$����Zo�I�IM���C�ͩ<4ƻx���ij�V[��{
���r�T�Zj��Bu�T���4�+��v4�{Y�X�;�	X����ڸͳ� ��	 ׈�_�l��X�l|��ن
��b��q(:�f��j�M�+g�:R�?�1T�l��J@�׿����+�&�9��s�>��x��n����]m�P��Q�Y��5eS��0� ��Ư_?^�:w.rMP	ToܞL"�ʛ_��b^��GS�7e�ZUd����<Z�i�׈<Ol�k}���VM�PŇ�&�jY
��V�����j��dI|���Q���2��=�`H7��E���R�("*E��z!�Խ���Q-m�*�8���Н�1�QK�OJ"��R0���,�cW"�a!(�赺��L����nb���ޖ�N&�N�3:�\��)��h��Vw&�@ѵ�6���i���l
��,��>
l�X�������>�ͧAGM1	������0�B�ǖ�c(B�0lEguKP��pl
G��»v��h[!A�9�v
qo9����b\����#�}v�@�0�4>���
B4ZQ)�?ݘ�:>�u��X� vn�(��z�HE�~���Jń�s�(�7Pz�Xx��@�?n;����E)҃�4�E�J��ACuJ�yc>,Fu�U��i���Z:^�����{��P?��cY�ոOB�k����3Xt�5�P��T�Er�ׁn�*~)pD�����M�0��;bMA�폨p�[인�ւ��	4��]�Lv�ky��4a.�YB\��UE/5lbK2#M%P��J����vW�θ��n�p�����k����'`�@��ɴ�`iʌP�W��8Ġl�%�t�	%ʌ�SQ~V����pj*���$�w��^#G���1i��6��}��"vw�"��b��<nc?��ͦN��i&�t�~�ؤ���֭��:f~Y�g�m�-Y�`�ΔisV��3mJA�Ų�ɹ���_3��YUj�B�$,8�;DQq�����ܓE�,X�6P�+��բR`_P̋'�4Y�{[�*�e�7-n���w��r���'PŠuw
��?�u��:0S*�{����?E<�y��N�!7�Pղ��A�&��1�6l�'o�5�=���C��oJ�2�����x
^~�	���[���Acb-��~6��?���������u������!X��燚�������G�cD�q��n��-���&�h��ˀ�Hp�����:EG+�n�!�.<����zMh���9�l��b�젮�@�ȑ��p,.��U�i7�e�Q��j.��`)Ƒ�t�;��h��yAP��IظLK�q!���"���zF�Z�c
J�g��4�����F7eV(���`1L^5��B�+�������ڽa�]�-���j�l�ԅ�:�[Ų!�}!b�(����8z)	���_J�|�}dR��*��jq�l�Ͻ���KϽ�Mv��Dg5�Z5��q��.\jm�Ek6��md|v4�MVlq�dvԵ���_<r��&��M�ל`Oy���E�~�vҙL:|�Ư�0��g͂�aG:v��p	(M�S�<�ӆ
?=�&��g���<2��j��z��N�n�߿�V[��0?H�l���nۂ��&U��>�zrMZښ�]�].����?+;�z�����#��#J���z�����~:��vv��ۻ������$���3�1�~e�����ݹ�+t��J�G;�I	���mW�y�ؤ�q�k�*�dƜ^VX_<:7''wtq}aY��a#����TH��3:��#C�y�V��Z�Wj��U֕�?��;A�Y|�.d�7�R]���&�ODh<*z@��	i݉Aw�N�A�%L
@�v�I0�c���*�T����.3����9R[�VJЩ���,��՜�b��M1W�R
�߫�>EƉ�N,�`õ��>U8�z����/{��2�3Y��h�확b��^�āpQ����{�/�RX��_߲d8Ȭ��6e;���зk��	}�B
r�fq� � �Hˠf�ŬD	�ζ��%�,�Ĭ��m
?sx\��j\�W�W�UqC�S�~����m�lY��3M�>�q����s3`ػo���SL�4.\剶�jl��u�[��I��77쵥������������S4�m3�23��ȧ�ꑳ�����lg��@��͢��؏1��W��%`T�;�����ω�
�ExC�t�#�8*g��3�0Gx{�!w>滢x�i$�pl�ɣ�`
;f��7kA��fy���h�3>>��G�U�4V��O-����H�M֌o�K����<'���)m��?����%�{[2p������;��>κ��K���>�e}��}����ڸ�0�D���2`�TIH�nP(�A!6�Ƣ��2�h��k}�U�3��Y��ެș�t#d}s�|����'��s�|�\�P_��ξGփ�$��į8;���Bh�Q�",Ƙ��{5�k'Z�Uָߚ8��~�)��A�^�R�-��-�.fG��W�ԋZ�G�E*�.F��zӘP��������.$-J�}�&��\�V��T�Tnv�������?a�/'�n��-{4�yʐ����`ʡ5���e�9<�4��e�U斕d�T���	U6��?��AX&�튨Řf�5?M��A����6�eb�$�d�`�t��%Q��p3�`��s�b3�N����n�MSp��U�5�G
[�6C�n���q��Ҁ� �0y��"�U�(t�K\�SR�*1�S$AW~��g�S��v���t�QR[������
��%������Z��ԛg��X�o���3c(|�:c�(����s�V�l��`�n����Hz���*_��~�uz�<J9L�,���,3X�ӧ����X �
�,����t�RYP�����%$S׭)]��d��K���nB�d&�n&|���)�ò�{���
����K*�/���~4Y���k�N�_��J�u�q��h�@����kߟm���84@
����"�b-M�/g�.�,��@hL`H���.	�}��k�o�py�\�#4T �3�qЎY��cvh�/a_�I��N��O+�U�i��
S�V1���O�!�D�t%C��ԯP4`��@|��&��8CP_�º�OV*��^��w�v������Y����7�~�E�U������zD���4:
f�b��ʃ��HB��k�s*�DT�6tFY��e-�}e#t�5�}CŹ�Ο��z�B��Zs�����	���#��C��8�3k�؁�0!�\M �z�`E!hЛ=U����~��VФ�U�Ƥ�Ҿ�=Wi���0�t�ն�ş��4���<}�K񬗱���ā�a)*��[k�9��'�n�JG'�������Pٔ�	�0�u
��V�Y��T�J&Y�c���D��$�ϫb�r��<��oVH%��.��T�(�O$��
-ӶD��\ �jK�Z�4R��I5r����cѧ��Tɜ�kt�kI)�CB�u������P�T�`���8�M����.o� �0��$T�	�0a����W>P5���X"�ݫ�~P��]���#jDy���%K�j��$��-v!��F�~3�2ܪQ�5`.|�ap���>nw���/y��#?X�##J�w�5��(
�����Nx�4슩q�V��^�����=~�R�'Ҫe,�ҧX����M�}�j�J-�)T�:�א��w�3r�T�'�����x�}scF�y��7k�
�V0�\���S�M�(�2@��u�:-YzǮS8���W���[4;0���q��Ʒr6�SBIX��qL���t&t�&��#M�
�����G�#�&t
ڠ�4�7�0݆���I���p�X2���M Lu��w��Do2�`
�%\��7߳��g�
^mlm�W�)s�X��7a�o`B���f�b�nQ��1J�)�?F�T�7ѣ���;��C6���XV}EBq��:��ٗ�zh��W���*S/�'��W
I��~F,��앀��Ud�
�A:�ɫ�+�z:�b��4'�Ŵ���؉�szk��ܮ�.08q/8���k�Y��H���E��>��Qv��ŋ����g�O�~aժ��b��x.��쨽���'��T�Y�&7(�w^;�����[�Ս��$�\0w/��6p'�"�>@�'�w.XHZɋ��(���j����X�yc\X��{'Dy�>z-�z�x�y�>xm˔���ۜS��^��O]Ђ���{��E�&`��`�w)�+��ySL��>c���u�a=$+�h)V,��7�R�H�֯a=�U���<��35@f���F��9N��i@6�݅�L�D�Q�s��-�cr�졂z	���
��W^׏�~���чS�2���5�$��Z}�݊#q~��d{VF^�ުԚY��l�&'��Jk~O�� �V���{��W��|šG&�$��d�]���8��/�v�Dj��&���7��x��Ҥ�U떦���ʐ3���{W��(1�O-����T��}2�����k@N�H�:e �i|�}�,N���j��$}^�\�����X��,_+V�r{-���s�v�7d/�zk�ux�C4�9�9/���%���V���<��S���[ƅ����ٷ��_��:<�}3�^;[��l�z��A�)���d���}���-��U�������}�����sQ������H���:�z��3
\D��_�+B��3F�	xh�&��>����ϕ����4�]����j3�=/�#���T�Q��c�ϱͫH��Bw��_��Ee�^f�[�џ�3���76N3�w���\�"�R���1��v�/}}�"�O{<��Z���@!�g�(��E��=
5�uW� ���n��&�iK�$j!�jw%P<��T�<�N=���Q��Z�UA�nŀ82�+�^Ra>?�1	�E>��9�|�.�mV�
�
40
����l�<kO6�ҋP�$K6m�����
�&�w63�dV�k�'�Ո!���o=�t
4H���Je\�r.mOa�z���
*Z�ҩ�W���[.s�ߟV"����k>���K�҇k�|2A?���g��`�f.�}�W<wպ���+�����~�8�U)��-�l}P�ժ����*R3���7�9~�>�F�\���[XQ:�J1�D��~�NN�*(|C^�&�@���G���j��1:�;kN�\�	0�ƅf�Ө��p?���$��0����o�G�G�߽�0���Cは/�������z�����F�4X�~�d�IE���[��.����9љw�I���`� 샧�'�a��b��$~�+�/�m��`��.-�� Q�b��'͛�"+6�XJ̓n+�fA0�����H+�l�_��sʴ��!�-Td�ؿ�O����dɜiL�j�����N�q��J��ɘe���O�;;%G�'o����;"),=�K��
�][��� g<�F�h�.��~�[�?�
u��}r�����f�2h^�3���s�j��ƾ���5��q0f� 8���u�Ĕ�,'���5�D�k��)@?\��a��^�=M��Z_1�&����c���M�Ͳ�k���׏��>��|���M�o<�<
���4/�c遷�<�l�ٛ��,�v�߾={{��5���Y�{~�'��=	,�\k����^&�'0�tX���Dl}�F��G*��QT?���.�ZۂK�
�u-Z���Rhu���0��!$7@d~X��ɢŎ���xx��+x����4����V^�Vu��P��i�f
���w�z��9i�{V<��ї�Kw�#=��`������~ёޏ��_���ф3,1&W->�xj��~����ܱj�a>�t�x�k���la^�3�qn��i�i�З�1M��Ɏ�H�͌�و������
KQ�j�1$a�g2g#��K|�!�y�eD��Q�Lx�X��{i�4�{{V�����N��l�	��Ѩr��|�_I�G�$iu,�N�?TW�߂bt*x�����A��u���t�A�Տ�7���Ѐ�\84�d��ه&��I~�Xsu��l����0eZ�~�rsUJ�kG����
)�2S~�m��Vy��n#�~�c�hV��A+�c%�YY�� Z!���W1������t���A�1y51�+A�E��8��ICo.��V�3��['��1�;��S�v2Q��:p�ؽ{�/f��b/�����vܽ1<I$U�
�PUa�hTRI����ԴV\U��j"��RkMoy���Ӈ�
9* ).�:{f��=�Ͽ���oQ��j�%k�1���y���T�}�[g���h��n4�4�\�5rd���]qۇ�C�<i�̬�𳦅�l\��E�O����C&Z�*ZZv�i�-��w�����*1��t)����S�*%/��R�j��J�5e��y3�֏W��l�S4j˔j0���4�ܮ��ղ"��aDwϘ֯��F8�Oͦ�&��}�6_:-�HŜIE?�2̓���u�q�Cg���b�Za��f�J�j�4T��L�
J�c���X����h:p�{�[`���:�N�6�84�����J&�n�F�ٗ�,-P2d��_
'1@�2�'��r�dD*�Q�����e?<slj��I\��x
�+��ӽ�Đ��vs�.��b	'���YE�UpC�ӥT�)s�N'S��mٱ�9X�x��mS��D��Ž���1�ON������hS����Ve�湕�E�T�:0�Oap��Y���§Ff~��]8,K)���7��BTpK��/��Ue�dm�Az���kT��`��c�o_�e��k*m>��l��^:����f���������y%����6?a2Gy������8�r�mng�ô��0.�ׂ~�X�nj����cpD1�N70%��p{����UWܥ�҄�oS�(آ�	�v-6=�C=s"�n�"^�D�͐8'��ݿ��
�ڊE�BTPAE��U!�DwU�I�O�e��p$�F���Zo��|놪��'܈s!}��q�"T��P��d����(le��+�����
V���W^�Dl�Y��s��:�a����h�I�`�X��k�����Uq&HI�R�&�
����5�R	�	
�r#�F����<oj��25�O	�	�jv�IS��2_'z�"�e�l�+]f(�:�xt䊬��!^G��@��<~�$;%�"#?xmC��}��\x6�4�+��֢}����+��B�6��ԡ{�v�d�d�N�?&s����T����ca��x���i����R�vKf;�7�C�U*�i��U�व�fZ���4j[���o�`@H��2�,W����i�Pr���U���)����L	{�<��\\c�@���sN�D�:�_Z��h8))zo�^�R�A�4����f[G�h�ml[���Yoo�m�
J&��N��s��KŁ���/��e���(���i�lX�J��7x���$*��1�p<�p�iJ��@/F'�Ƴ�v��xD,�)�N!At!f�=��ΣCs�^p�gs��������߯��x�c��b{xT���N��S�@�`%	��I�S���O?©�7�q�^�.�3l�T�Uf�����>�-���M����>/?�}�D��Le��J�����{L��'����:�y��!��=l��g�w��K�sC�8��3�j�wV˩}.�����'v
c���U����Q)I�{W�-Ly�}0W�_훰���S%�����YIV١g�D�7�;���;Z�X�4vh��H��;��n}5���>J1�3��U!�P�3�xd��}�?1mډ��w����E��R`*�A �36��?M~h����Ix�Y=	2��8L��q,�6�h=΅��P�t����{k0f���7?��rF��R�����8`�vG<����ؔkTzgL+V����aL�wp
�#�
��&�ɼS,Y�~>�o~3b��!w�cE.�� k����,��)���O��>�������e �1z<���g�T%5"�<O0��;���J7�Քc� ���vZub�o���9�� 
|DIϧ���\,.�M^��<{vrZ�|���l��	GՀ���RE
h�+�hN���,#O���y��ߛ����~��l�}��������MMGm��@�S��a1\���q���r`}X$b�SRRe�ߎDK!F.��ӌ�ޥ�В�Bݧ��{�b/�Xϐl��b�01�v�.LQ-�c��dX����B��G��������AWZ�S����Xw^�y������Z�$)�퀜`c�Q��f��qوa�����1X�� �^j�e9r$Kf��d9�Lh�p�qը��`#�t��dO�Axm�~ >���<��aIŽRZ�P3C�y(�Q��0SrO��
yI#l�YeRivff�T*M��I$E���F�"}��
Z�2j�,}2x
k:ح����~�(����a��
�/P��{���7w3��߮��l�g������J�-8���h�|���W��yw��?���W�m���x��@�_�~�>���	�V*1���'�_�n��F�BQ���X
�!�I'��P��!q`3�Q���ltS���tb‚�����	���/��<�;ɖ��?��&%�yD,eOp8jb�>��
�@T����ᄊc�η歿Z��y�w~?��z���E���g�Z��sq	�s��n��ݴŖ'��2��;�����͹�����G�z�,>���#Q�Q��?_���bN��Ɇ���Ӎ��i���v��njj��~���w`�GS�^`�=�O3c��M#�!�ȧt�xۄ��~����.k:��D!�,茮�?�:�A���t�$6p9�*�> bi(�[�nϠ�A#�鰺I��h*~��[��Dqt珓�j`���my.� ��7���e5/����6u�_T
BXa
��?��-t:������U��fr�4R�J��J��o��E-���-j��#髳,��*v����>�&�$Q?㰗.;Q��<a�U (�b���t%�ա��G1*l�%�:�ӣ֤��l�&ĩ���d��,�cqku&Kn^��xg#V�i��؜��k1�n�'��6�09�+�l����|4j��cS��]�V��j�e��A[��)��V٤O���Y�Қ��s�]�7gxzM�/�]���K���ҿT�af8g���zYw��b;�I����6@^�ԲzHI4Z����!�D�ћo��l��}!
0��'��\F�ō��2j5�� v��MxK�UM�ܻ�-~���C�g&�
<~L�vU��3
�� �[���|V�\�f��V|�r��9��ܐ�v&��q��o����G<�7���kZ��}�)+Ig�k���ʋ+���ɔeҙ�9s�
�9���h��O�0�Rk�+�_��6�`S(�X������:��G�i|�K��o�_���v�����fs0Ca��&����������<�7(�
ه���H2��*�2b6��4����OR֍��}q��rdK,��WS+c���+��Y���W��:������Ē7lVCn��d���\�O��0�ƢZ|׌�����Z����1.k�?WC�t���E�jt:��dK]իG��>�� ]'��׬=f͚S�'�
��3rx�W�˯�f8�{���)VLo0�床��|`��;&ޱ~Riqì�^OMN�T�u�G��:���I.A���R(��_�M����o�=p��Nt�M�j�7���#�~��s��&#�K(�=<kw�r��M�X�wZ�S� P{����D_i����5��ݦ��v��K�~�eh�*9p=��Į�Χw+zB���=�Ԓ�\��s���V7�ӣ}�i�m5�Uk����	z�G9�r�k�A3�W��'Z܂|�Ȉ�C�'<�FB�o3�>q0:]�p�N�8D�G^>��HY4���׻�]�F�#��
÷,F��h�L��u�O�'zܴ��%���*����cvv�d E��lg���:�1h�r3�5kg��Fa�t�u~��ˆ�����m�>џ�z�9q�L�I)U��<�g�x�
_�ifm����љ�`��.���l��8�s��dg����鶍yX�Wx�6ݴ
�e}�ư_("�/�[0:�ӻ��އ��6:���l�6%��P�,4���
P8�u�,:��N/6�Ƿ�7���.A�ߎ��gd
6{�r0x���؋LF"\b�6(����%D��"`�F��v�p�g!b`	�_��J*eK83|q(�Ԧ�J���>W����R��!&)A��|r�*�2�H�8���%ݠ�Je[|MojP?�C[�8����ra�9�3{c��bqo�5&��0�
4���%�e��ٳw��<<�`��� [�S7�߇�?�����C��Ӟ�̶�{"��yP�����n����)�hAc���W�z���Z*����y�b.u��rܚ�[�%Xq��Ꮳ605����n���'N�y'ND����~^���%s�%��藂]ML��c��B��uJ�D�O��_D~��_�8��;U�\W��#'��s�o���MgC=P���9���NWǐ�u0-�ת׶�Nn�k9tz9M�F̍��(�"���QIS�?�E�@!&O�"��>H@!�����}Z%?
�����?�	��q�x�6r�D.�L0"��*r�8"���GO5E7�9���?Е)A�ֆ��u)�~Q}@l��� Lrz�\�'��I���,�\z�ӷy���M��ڞ�0�`�����V�+����έxFGO�_�C?ҭm��2h0���~����|l��C��l�q槇�L?���d�n��O�u���D��`�mp�t����GD������Vf�롷G3�H��	>F`��h㖋mp��M6�\.f/�ђ�E8��	:|12ؑ92�^
����ԍ5k F?��p�A��
��Иwd�<�	����w=6���J��@l�^�������}SCG�mr�������f��%[ϧg����i��\	�[�x����,�ރ
u��*�Ժ�0:
|W�l�rJ��i���6��}�w
�,�i2�ִ�i&׈��y|�[��I�0�������C�^ym�r򑯎�i���&�"H����m$��ۖOv���y�x��t)�^��F�(  
�buroQ ���i7��c#���R�s��M��a�v���)����)f�DjL�(s�b�&[��s��d�Tb1��s_7�牀��:�U������_��UX�/ϭXqX@	��Й[�F���AQJq��#?����)��ߺ|�V}+-H6���a�Gt��S�x�Yq~�ㅰ�Vjh��W#��r���#1�!���w�48Q{�n/��������i=(
�U�-�z�FnU5�˖g���R�qw`�c���4�����g�e���j+�6C��9e�in�33�Ѭ1[w���c�⭽�ҿ�ˏ^�.L�\�x��K��1m��s��\�rG���U5�^4�Z��!�Oѷz�h3Φ���w��ye��ƹ;�R=}�&��z���(��6�It���}	|����ZieݲNˇdK��ۊ�8�'�slj��	9I�!��R �j�p�%�p�%�H�Z�޶�(���h���ʎ�Ҿ�~ߗX;;�������<���<�4�kA`��6KTV2�^4���"��?K/�A��nyܵE!��JbG��*/����J�Z�X���?��3ҹO�;��OCBp�`����D8o�r[Lf����5��~���V;������>Qq�����J������D>�C\K7���]�A-�a�oy�@]
"
;�v�sHH��'����&����!�zX��X5���g�ԞNpCM�N���14�^4���x��F���~Fe2��1����)�^p?�#fJZRԙ���1]�����顕j3�R�%��i5��!���̐�?�����B{��WJ-�sv���a����{>�Zi�9O?��W�������'+�Ӽ�Q�J0]z�L�BVQ=>�J�}FS*)ƉFZ5�˨Vj�	�p4����]��!n
s��Ds4���3�Q:�pӞ#�
���'��N%;g_��=� �.�2I_Y-,V��H���>{L�Bg6��ep�;k��J���W��"u.#|
��]H�������(Pڰ��������F����t�oQ���,�V�XST�fA�ápuN�\[;o�����l��BME��hZ���ة>g�6	%�ؑY�$h�0g��gyX$�^�T���D�V��Å� �b��$R�rIh���;�,J�>`���i9�� P�*N����J���}�׌���.G��Be���i:㳙���CB0�1�Z[-O�L��|9���uG�̘1G�\~��;�]k�L�C�S�Y��bz�	ɪ�:���Q��R�����n��NH_�X�>�����҇B�B�)�,l}�U�1ƙ[	jV�]Ҥ]/��?�ϝ8i	��~%���I7モ���l�4U��b��5��˨5��Q7Sߣ�;{��ȅ0N��|�v4�-�]�����$����e�q�����2\Ni�%b�d�.�3�]��@�8m@�n�|7��\9+�إ2�9�e�9���?�G-���n@�@��R�H���T�lI[���RV
w=b�C�����A9MVꐗ#�bPƝ����&�b��f.A���@�c5I����ؚ�=����>,�/�eM|ဌ����b7dI~Ќ��Ӧ^���@�5p��|��n��`LZ�A�Ŧ���*�C���}d��.y��<5P��U=kR,��5D��«2+g�/
G�3�2�
�S�}r��.q���nƬ�(^��*p���ٍ���9=\�<����,�Q?"�|��p�)�+F�kr�x���o>.�����|4߅�A��d
)S:�ƦI|*���Έ� q�Gs�6;^O�~+r.�uD� �뻐�%WC���A�QTیu��ր�W�3��e�gչ+��H��D)����)0:&��p�L�N��t��~�N��m���yF�yOs�[
���`\k���y;�h_���e��0�@�.ӿx�9�?f`�/�Z^���}�W�BHR��o7z�`��@�Q�4��Άб�����L��w�l_7�^=t�=�SU���Z7HGq���g�E�G�J}9�R��c�jB<�T��M��B�>=)Ĝl
#=�v�~�����x�q�vwo������D��k(���k��.�	�@���@ºk!��}��!��HZ;wg_8�}V��ܯ�pt��>���׵>x4G�;r�>�p<8"���d4\:~F�B���/�P�Gb�fU�ޓ��J�i8�ۆݹ��uM�5|35��.a��xn�o��X�0f�1K�����4?��szRG|���{G�gjC��B��*���:����m�6H�}�W�u{ˁ�6���֒B��-�yC=�Jۼ�;&[8��ի���4�|r�q^��9������pH�/U�`mP<=�c�x�O����A����X^�kC��]M�I��h'����P?�Lq�A�C�`�S6ħR�_�h fA
��tL2�jX�BZ����`�͘�p��iDl��JA�Lx�f�ˮ����Ѻ�������ԘUА1����3�CO�9�Ka��|�{۾��T���z�%��E"˫T*��7C�xvi2V�d�9'�a=�z�ˣ�VI���x��F���:��x-�
�i
!p����;�m/�Y���p|x(��~���B%��W��~�FA)�1S�~�����?E4���=K�R���0j*^F�R0*9GH�g�PR�
�Ar��X㲁�xkҽ��쯎����[��q���-E%�C!P�L�4"�z��ڲ��\̛���_�L�#e"�ք���D�WT�SҁP)ǥ���
`�Uo~گ�9,O�`g
��^O��&����W��K5�0��<�0�Ħ��������]o�G���p�
���+���
*��H��EL��� �b�5�pd�L�_Rӥ�J`wD��c�C�l��<�lV�s'`a�bpH���������؃���Y��"⺽�~p��.��|�T0�?�(�CҌ��Y��d�T�c���ؙ�kMC�ba�2x�GM�x��ؚ��6�HF"�"���v G�h��]~l�K���$n(L�bn$E�-��ѐ�po��aT��3�'�f��r�I�a�l���4�;�%�Ն���WE��Qj�+i�"\�6�u�2O�����,�G�>n�%-u�'�w8_iJ�qX�����l0kD��>��%����K�>��g���g^Қ�(a
��󬬔���H���΂�l#�*�~������)���e�,�3L]�,�.p��`v:�W62|���]�����ţ��^J+���q�XrJ�Ű�/�a��b�
��`�ݰZ�<��TVb�;o�ßv�����	^���Ї�@�IoCe�W���\�c7
/����-��dǶ�.���}���.GK�w����������e����O?}pr�60�����l�zo���v��>|�t�y�ֵ��B׭�Tup���m_��%�m�z�c���NE�(�O�D}�˹�8%ٛ�	�/V���a�M�r��8NJ
�,�3R,���w_V^�Xk���� ��a���'VZ,��CL{�TpU"2vh{^�scS�*1�b#�O�QCm�xf���.{@(*��Fz孷A6/V����f��p���'�wG��`�)gI�	%[�?�hN�}��Do.�ۇ�̡c��ܴ�m}��J'cy� �
��*2u��=/6�u��X8h��kll��eT��ŏ���P�7h:�xX�hxQƯKh
:����a׈�~RF���%
6�.����x��0����F�s�u.V��l��t���Oa.`Epv�:��V�v����q�dE&�;HpYs�`P�k��3��$7�L�X�ʎ&�x9ݾ��J�R�35�\���zMp�hg�>�0[��Ġ�[����JN�M�y��F�Y�������ԏ�O��
f�N�ȼ��믨Z��w��b!��;;��kԜ�9_]Բ�?R�pD�,�V��]�Z�n�6yA;S�k����Wi`���� ��@]�!t�e�Km&N��̈� tpT�ڄ�?D��!~mR��+�u���&
�Z�9"�O�
 "��FB�M&�A�J&�PD��zP_�N"��ce��`��:P��K�'�`.
c Y�D��D��g��:1�Jj��rQ�U	��yH�"6_zH���7c��aO��2�i�s+�����sz�Dm���^��uK~�
���I�\J��lذ����S�G�8ӧQW}���{��J����ޠ��9Q-r�y�!pF}F�KA
P�}%#��2m�W�2�cMK~??X͈g�f�63F�{��/��C�xU��~hx���_�D���0	D/�(�g�[��~���=�jG�օF�t�Z��.;�NX8�)˞9�3Dk��k��pHα�6���A���#}�w�{{�N��ޚ�@�gDvYv��,[��a�%���ģ5�	�;�nP��s�;sZ(x�pѐ���+�u�G4�߇s�����>=%�s8V�o~��Q:Ot?����5'��f=tg�t�%���_���4�-�9���\��G�p�Oϒ�E��7�s�0H��u�L�c�W��@B�T�]��n�����yK���fm-���1�����V�|���u+�f�Ï��'�����7��6g#�w����v��7��
/������F�)ˇ/��N����w�'�gH��\��Ǩ^_�9]>3�O�P�h4\J��n��x���I���A4�]:2�p97�i4T�z��YS��FMa,�qXK����AJ��9%��+dDF��������ر��DBF�t(LF_2��d���u"�ၝ���E9���*���D\���5����A�5�Ќ���o��a��Zwm�ۛF��^w��L��ꛆ��S��c�X6K+5gff�g��U�ߛ�vK��sn��1Qδ��ƚ*�L'S]�+ �~��)�WOK%W��'�-�3�Y�P-
Vh�U�<�į����V�-"��aO��_����*��}3n���Ƚ�]\�g���=tr�	?|���[s*������Z9��	�7ݶ�wͥ�p|��xb�h�d�}����-��P�*�vsӋ+�I�4d��ʢ�|ciS;<�|��ʊ����}帤�F�9}4d^v
��dy֨��A�����2��
-�d8ߒ�S���80De�D���o�[�Ā=��9i�o4�g�pìi5�߾�����L^�d)�L�X�&�s���7�ts���X��5KI�Ճ�<7s�e���ajE�o��9'��F^1#��L9�����>�k��G��Y�ܝ�f�^L�MR_g����S��du��v�mySgOOg�r[S�FL���������8��J�FQ�x
u6ʆe��z��>z�7Ʊ����1ɰ]5��Cքя�ҡLؤMf)7�&\
Cʓ'ky�D�=X!.�M�Xuutpsر��^o��S�*�qT�8�l{%�zT�
�TOmػ��j:�D.[>*V���Rn�BU~Q����{ڞ�y�&W���(�Z��
ɮ�v�k�:	(R,P���(�����
5�\��T:%�E���5��k2�U�::f�g�R���޳�!Г�d8m�/S�����t=��Z
`���I��;�B��������VUaft��e�������	�0)/p�������!cU����JƧ7ŀ=d���!]�3iu�+*4ƀ��3��s$\�(��R�g��E��������m�p���X7��y���LC�ZQgin^�Rvzi{U{|*����͖:�:�+�w�iEHaW�q9�U���u�O�Q�Q����=>���mLi��\�@���W�icU��u���`��̶��V^eL���?�U��IT�ch|58��rTVRmS�TQ�+Ř�~��cՎ%p����������"�覫!V��S�`D/��\d������߄[�Vy!��UE��d…�[�[F�ص�¨�A�C��V<4����m,�i���)C;�w��f��\�N����r������+�K\ �֊�lm��N�����}W͠�޸��0Ӯr��a�#2u��SǼT���!z�؊�?����n���+�k�s��~�����W�V���_��W�w>ҁɅRS���I?�;�|Tɢqj5"#kU+�+A�14�r�F�t�y+IN�y�����0�MYcX����p���dW>��q++Zb�m�bilˊ]m`A�Z^�L���ޒ�|X�b"ku�~p�t8Bf�x>[�&�cf��0{
����]�����3�̟y~&�H�3P���|m][`7T�GY�rfn��,������k��f�x�/oK�_���
��*{���t����@�����2��#g��=��/���{��Lg�5S?�(�lK?òc��!_0��3�	�γ%��
�
�ɰRO׎��-S������m�r��;�<����ɪ)��1X��ɫ��l�̊%�"a ���	ΘG՞��v'b�X����Z���ȝ�܉�������l� fm�"&�}GPX9{ΰ&ߐ�R��asfW��1�^|���q�4���t��؍�Dӻ'w��'�wTRE�dj���i����}�GU7�c.�.}�!.zs�Em��j��1��ݐ=�0Z�,S��qK�+��J,q����&ʹ�V�
�)A{���0�7�Ы.B�,=�1yd�q޼��΅mIƣ�*�?����	2�|��*�0����V�B'G!�$�h�B��Va{�(�H���e��Rz�q�#.O��b��{�o�2E�+�RGqaaa����l��ZR�J���-[~����[�ٗ��V�-T��l"���C"�,zw0�gѬJƩ7+�f������g<�Džo�����*p��RG�oҟ&���%c^�~[�$��[⑩.wػ�<�G�wą�u	���a���D�Z.n��&E�uF���C~����L_��3��ϐ��v�5䙾��/�\�!���̫zB��kh�y�8!�� ��G��JR�^ό�*�_���4>��S�k6�A��\��6��n�Lz��#��UC�ر-�Ww���a
�HI�I?�� ���2P���j�&����%v�sh1[M	ћ��r����%݈$wH���d��~A���7�ś? Wa�º�G~�*|�M���^��nY�R���o^�zz�j=��#[ۀC^�W��b�H�Ro�0�
sd�y46~ZC��7�{�Ɨ�����sݳǟ�n�8d]�I��U��֝{6N���Jgnys�]���7��,�m�9�F7��	���|s�湟3�i/�峹7���fe6ʏ�z��&1>�+a��K;��i�
c*��k�پ�m۞Ρѕ���s��0���HzBτ	=�gW��V�OR>���#9��~��Vs#�y��nIUM�R��<��}H$���ո��6����K��.^�P�����}M�̓�X�O__,��!�0�r��I���]��^�H@���L�d���\LӤ����)5mb<��O��J����D�F:ya�������/,%�׿���v�#�!�oS���� 
؋��Kn�biBq}���c�׈丣���&�v龖�V�^p���%�Bڹ�L�YL��LH|��F��N�
��F�	;9d��3Y�	o�#A����b玲I$^9J ^�o����Z*E_�|D$�_��k56�����2�Ʃ��Lmȟ�x����m��n_�ɱ;'�.6���~�ģJ�%�E�g�/�E5�E.Ì��sn��8ڗv	�t���Dx�r������礟/j��;�QR�nʋ$�;��O�6�^G ��Ez��Y���g��&��UuB�����W����Y{o���3A����c5�Y�Y"q�.��SF�/��Meg�H����4��N�^��3��\�m:���������.��z��69lP�P�i}���Vi�D����Ty��7`�k�(�\fs9�H�&Rv�Pi�*��@�h^߼N�5�kpW�V>IV-��ZP+�B�3�5p�%��oN�����ਟ�q��o��D�
6q�+���uVh�Y�ᔅ��ё�BVӊ���*��b�K��h�.8���̲�6���_�^�d�dy�ԠԘ]B"ђ)��,��i��37�ܿM:�_�i��~�X�@����,�-�Ѭ��,}�pa���<2����8����<�|{����ޝʰ��~�Ő�;,j^-�@��d.��=���4�cj��
u
V%]��8���})��Ϸ���$'*��K��	�X1��l8HH̛J����41��E!gy��,�U=U�=M5账��z�GV��!�=G�?l�^3�B_n�evM����IY�dkۖg����5�:�ñl�fp�l\Cl���;�>��m���J������_����$�\������?�7��wj=zŊ�q�
}Lx�	{�o�FQ�.j.��ZM]Im�n�vQ{e���W`�el�|cΑJJ�b�L�sI���R���0)���-����
�;U��M*��C�*.T��]��<���
�z��]ʗu��@V��ޗSޕ5����3J'�Grd�)��,���ꁪaWw�iְ]�"Fs�-aאb�J:D�r�1I���'.J	]��-[�|����:�j�6"y�F�vju/��c�Y��x��|�P�/���A�ޡ\(��.�]V��H���!��O6q���r�����q�Gv�X?$K
���q3̘�&����丣߹|d:dnI&�.���B�Zz�b@�&�[1�㹞��~�_��OG�>����բ��h��^��Q�|��w4]���`��]��w`増�s��^toǿL��ψu)VB�l�N��u�x$�V��6����}y�q�c�<$^�G�VM�)$��U�e_y�[��ń�$�`xK)J�_Sn@�6z�D霘�1���-��=F]` P�{����7�>0����!Mz�m��)��?�������7?�y����i
��XyUUê�Vl9�U5Q�y,4(�/��5\}�?o�&,{w�)3�]:�~@}.m�@k��&�^I��'%���ŏ�q���i�%O�(5L��A١���z�j�q� ~������q
U�@�J��X����g[��_�RE�J�rb����r�ֿ�|��v���� �e4L�E�Cލ��f?��_^r9�-R��7~��'�rfna����@S4�S`�@4z��9���Me�`(x$������[vrQ���
�p������
AW�_v����.L��1@!��Cd/;)̡�X��?x��{;T��?V�v�a�vՠ8������m�rqF�ߦt����>��_�A��?���P5(~N{�'\:o_\z���ʬ�c<�%�}[��J�5��<<���_����yR6$��k�j�~F���Lt���ɦq�N���DrÄ{��� ����x!E��:��0���r ��D�8���ҡ��hWaY[�p���q.�p�Qr�Fv:
�:&!=Q�Ί�PXǠ&e":�آ}0���hԺ�A����
oU�{��6���:��+D�޷3�2-m�y���,ͿH[�>�`�P�P���tQ�Z8�f�����	:g�AQ�V�*)�Bȃ��&���1�^o)*���k�V�y,Z��/X��V˸E���J?m��N+���g�jGl����ч|}���kC_��s&`4��l�-�B!�W;�ZmH��5��ƿ�+qJ�(�l�9��@gQY�9O2�]:�jXڠUPRb��Ty�q[T|�,1�%�g2�WZ�B�����bh����u�aI,�{b�A�1٪D�P놜�z�|$X>�t��B�����wʞ�N���j�a��Nn��6~,
��Kڠ��uX�h�}y=HЂ�h$�����A�T��g��wLa엪�͏�1a�x�r�
�J���t�<��&5Q���)`���6/4M��%���go��oj,
Z
cM��Z���p���Lh�֩gGdW��a����75Ł"�֨VFm���:jYh�ڴ�i��6�͛�q4e�Mݰn�1�Bt\�T1U�x�;$��1��H�kh�b�Ą�Џ��H�����1�S�[.�s���Kګ�d:�I����J����,
�~�~=8�p�Ӭٻ�ddx��
&�%b�(�Ns�
�ZF�sE=����X�x�-9��FTx
ʡ�6��u���sJ�n����Ԭ�xO*��(��^��F��fа4JH�۷���}wI�@-m��R�硢��'��,����(1&^�D
+1��/������������J_�i�^F"�����5<�M�ҍ�œ�KѾ���0�5J�@��c�����"f
�j�W.Z�1�mҴ�m^�d�����
oJ��)�m�[_s��E
��}�/�of��+�~��`P��]�q)��H����׾x�Ego��륾ᝁ F�i���� <���]4d+�>�P0�c#ۜ�z�w/��]�=�s@+ܳ�<4���-���#�H�w�4�f�EEi�xk��!���+T�-
m5�_Vq��&[�A)�f�����ӆ�5��,�(���>�,_mW�`
Ђ���v��9t�͛�Eo�s84*O��{����l�ӧo�	��LjF�/x^ý����^��&�S�P8��>��A&���::�ف V�7C3�!D6d���!X�|y:E��_%7���gk]�&Tm�c��VO�#P_�3k�*�"��_�/�o>|�����������1�r�'���X>�ҧ�/��%�H���yӳ�>����Z�j4һ�T@h��n�u����/~�L�y�C�a��aU�4�Wi���@~�d���y��G������Z�qi�$ݥ9p�C�@����&�sr��<>K1�ѿK�;J����D���,~�t���&�<��g��OvL���;^��I�C��J=��^FmB}d�C�,~�P�xG�2�?���XVD~��h"^�?�]n(5����2?�(8w�L�3�1��[H����E��l�7�?���+�G(���6}�[0�)��ư4
�A�k߄b�؝��k�Ŋ��uX��U�#�)V����7Ń��D��e��t�[���ٙ�>�@����84�� �-9����Z�.n}:���Ε�z���#��dh�!��
ǥ����k�O[�:���!�]Y�)�
�t��dO��r�����rv��P2�+�2�*T���EڄUj�PB�wK�Θ
=�����|�Ǥ<��3��n魠*ڿ�fMh�s�X>W�gO����N'$�u7��tAұ�A�����q��h�͌̇��D0��'�*��&4�0<BXFF�V�}�o�q|���߻�Gg�^��ä�kש�G������NrJ��w��s`Ϗ���U�L��:��J���^��	��c�k@�� }ߓ��M�$�?��t�^"�Y���S�N[yļ�+��]p}�L���FY>�HCA���qp��y��M?�x��	MzA���
�>Dm�7�r)y��蒾V�͍������l�1ύ�"wm�_\s	�ɬ�?�=OM�fR��5�U�C��ԫ�{�G�����eHa[�y����
�=sD� R�U�W%Rd1�'�=�uR�(/_� �9�ַܺI��
�"�%����;�0��ݎ����b�+M���G`�p�\�{��?sX΁R�K����V7��M3��y��>��
��s���h�)wd���c���yt�\��̌m��7�x���5~ng��l4mp‰�Ѩ�!k	ԣI�dBG�4CB�s�5C�OYb�jo��۰8=vMa�.��/l�n�����M�q�f���J��,�i��a��s2�`0:�{�Y�),fs~v�A�t��T��1��2?�+E1�V��h���cO=��B@����U�
X��y$c9��h���
����h�ׂU
��ׇL_�CAkHq�>�������yJ-��-?��I'��<��TJ#�2v��$d��1��h0�Y!}=��n�b�J0�d��N݊�T�l_9V9��Jk����m���{\n.ӡ�&GTA�B0��f�s�f�X
|,c�:��k;�u>Cv����F�ގ�sZL��W�T�x�c`d```a<=�|Ed<��Wnv�b|�F�������
��``b�d#�x�c`d``c������8�"Ȁi+{
�x��VKkA�y�<��,�5VIL�,���E����"�E"�'sj�����J��U3U=ߴ��K>�����Փ��g�_��(�ET��u���=O�'{?<c|u�>�Law��]+t�w���^��nD.�}k�zՇ��쯍U}ɩ�o9�:�΋���;��FШ����O��;��XS�B�[x���e#2U�o�ا�C��������??✼	9�Xz{w�>�	O3��E��*��De�[�=픖wE�:s�e�I5o�ÞR݇�G����=SB�P�s�|W�+�Ⱥ�	��}[0��l�]�1V����~�ٴ�F�o���M���r�����;�'�����O^gL���y�h�o����l7��/���ӌr�q3}=vC����C��HF=�ǡv���@�i�lr�.�r�4�C���үV����ldV¬�L�[�e��N���0WԿ�o�ϓ�iosW�wz:�z���Q��Y��Y��3���R�y��K �>?��+#�B����|�J���zj�����6�]@�UD-�P�v�>n໌u�;���W����O���MeFY�г���\�l@���*�!����u?�'�m������
�'�18��>�w��C�Ú\f�M��c}��~5���l���mo,.�}��Y��r�[�K����f\�y���B�G�y���o����C[�����
����|�E�E@
����\}�d<�z��/�
|�x���{T�g����N.��i�B�d�b!���3�i�M��e�$׹4��M�=�'4r���i�!�e������������}Nҿ�1��H6dH��A�T8T*�
�H�GJ%��K�^�
������2	RY����HY��Ryr*УB�Tq"(�*ѯ��T���D�S�Tu�T-�I����z
�jp�E/�N��:�R]ɕW����gKn�l7w��S�G�G�{�o�x���D��J�=é	=���Ż7����,5�w�0@N386C�����&�9^5��;�J-�H~�i	>��j�^+z���O��P�u/�/��w�R+�����=q� �v@G�S�LLgr���<��IR�B��]�<�1���ug���fO|�E���_�P;�ap�K\?��G�������ǁ�\���Ti5��s܇�}8�A�p	�O�?������Ͽ���R� �Kr�Q'�s�?�YO�w���1��IN���0��EQ
�S�9�?�'���0��i�O��do91�1��ٜ�X�Ų�X�b9�s�?��84�Q+����q>�_��:K�ຈ��L����zK�[�w˘Y<����r4/G�
f��+��*�$p�V�{"��r
�kr���Z��u�1	nI��x���c�7�l��Fzmd���f��L�-�ڂ[9�[�L�6�i{�[�G
�w�o:wSo3܇��j?�R镊���:�g&
>��u�:��s�GXK�˟���Qt�����8�;��<O��$�'�|
ON������2�Ltg��k��uo����\�G���|�؋輄���]書竬_×�h�ιȆ�
�o2�[�ݢw� ��q���L�g��<D�#r�=��'�|J~>��S�g�9�^г�o��/��/�
ͯX{]\Fe�l�)�H�X�L��eJ�dJ9�8+eJ{Ȕ�*.-��o�x���2|@6�t�L%7@l�^�@���(��ce�E�T�q>%S��IN-��bυ����!�.�ꎔqeϕ��ʸ�ȸ�xP�!�Fލ��4�I2^	2ެ7%���w�i$��<���_�L+8�;�гu�L�X�-��@��2A<;���@c'8��3�tAC�.3���=P&��p�(ۓ��1�����o���������O��)2�	ye�e0ڇd�eN��d��gF�{u�B��p��o����q�D��>�*3��	�s3������=��6��(���T~G�7�����7��L4���Y�C�ٜ�9��񜋮��z���]�����%�q	���ϖ1�T���e�W�e}�(�=��dr��w���s�oWs�e
\����迎�$�H�}nEc2�pϘ��o�����K�S
}w�o����Z{�/��o?9��w*z�� ��%
އ�a�a/�G�|���<�lO0��!�������r���Q&�<�/P3\�w��D��p����ˆ�
�n��܂�-��?�3u�>w�y��wᘋ��ɀ��u}�є��<��m�󐼇����O�~�p���)>���k�y�g���{ü�,��Ǜ��u���β�<d�-rJ�X�l	�K���l�<ٲN��Xs̖��'[��J���lOY'٪��բe���&ٚ� ]�%R�6��$ʺ˾C|� �ĺ=�m0C֝5�,�w�d=x6�V�\YO�(J��?(�m�,�!��~Sr��������~n S�%�Z�@6m�e�ю��p@~����e��tx�c`d``:�$ɠ�L@��`>(Mx����jAƿݤMk�`�R��AD��ݴ��7�?�Mhb�W�6;I�&�av��k_@��+@���U�o'c�BMH�7g�����<�������d�E	�,p?-QvZ^��S��J��r	/�g��p�}oyw�/��x���G��Y��:w�LƜl�e��>[.�1�[.b�q-��	u�y��זK�輵��mwfy����x�~������b�b�Ї��1BL I���vQ����K^��I��k��&���LŽ���D��0�fb����`0�(JfRMdD��I/��DK1�Z��`*�t�M��Ƭ d.�do<U��ڨ�U�ڴ��Mr�;�g�zpXm�k'�F�}���FUF��]�=j;௲��K��i"���bD�.x�B$�d��y�&��_j����Q�>��º\ՒO���-�9"Z��mW���j��\DI�滎��Sid�IΩ+�Щ�})��dG�»�2']�Z����J�Z��rl�$��;2��V���z���n�M�"�L4�R�+�_�
���e�k=��~^^8����D�9�yW�y�1�E&���ϋ�x�}Wt�ȲuU�b'X��̔ؖ�,O`����ݶ5�-� 0����̏��1�}�̰�����L�s~N�$ݾ�}oW))L��?����nJ]��.uc�ԭ�R��n�4d 9����0����
X	�ư	l
���l	[�ְ
�	���`{�v��`g�v��`w����`o���1����P�	���`8���`8V�L��¡pG��p
��p'��p����p�g��p�
�P��zj4�Fj�-hClX
]p�}p��5�C!D0���·�B�.�K�R�.�+�J�
��k�Z����F�	n�[�V�
n�;�N��{�^���Ax�G�Qx�'�Ix
��g�Yx���Ex	^�W�Ux3��
o���;��.x7������!�0��������	�$|
>
���������"�_�/�W��5�:|�	߂o�w��=�>�~?��O��3�9�~	��_�o���~�?Ÿ����+�
���¿����/��0��b�pX�a�Q\��q�čpc�7��ps��ĭpk�߄��v�=�;�N�3�n�;�{�^�7���c	�XAM��N�~�?��Ax0��p
�qg�P<�#�H<
��c�X<���D<)�:����x��g�x����X����:6��
[��ڸ��`�袇k��C�p�qq-���x^���x^�W�x^���x^�7�xތ��xގw�xލ��xޏ�>���>�O�>���>�/�����f|�߆o�w�;�]�n|�߇����C�a|
?�ŏ����I�~?��������E|��_Ư�W�k�u�~������w�{�}���?Ɵ�O�g�s�������o�
�����?��/�W��������?�_JQ�2���i�
T�a�QZF�i���hcڄ6��hsڂ���hkچ�D��v�=�@;�N�3�B��n�;�A{�^�7�C���S��T!�L��M�~�?@�At0B�h��i�f�P:��#�H:���c�X:����D:�N�S�T:�N�3�L:�Φs�\��ydQ��$E-jS�lZM]r�G}rɣ5�S@!E4G�@���Χ�B��.�K�R��.�+�J����k�Z�����F��n�[�V��n�;�N���{�^����Az��G�Qz��'�Iz���g�Yz����Ez�^�W�����cA�v#(�ot�?��S���tZ~A���y�b:
��n�N/vj������� D���UϝS���۫�|\�QHn��
�v�r��3�o�t��<Ϧj��C��Ҿk5���|����l�I���uw��9�b�a�
G1���0竖��N^�O踍n��X�o��uܾ

s��T��S�M!���ˮ�nS��V\Sh������Kѳ�n���~�mX=�[������ڡ�؍b��ZG��NX���v3��Y�_sT+N�
��_L:��>��WGAh�Ӳ���o�{	N��wG[VCɩ���rs��#_e=�o�N�gy5Y��VS&��u��f���L����D�� T^�n5���iY|��^~�Hˡg<�M��p�\�e|8~}Љgҝ�Z��0��n��A'��DAM�Q��}�,&&��9��#k"�G�8�
�������T?�ሆ%�b`�*ԭ��i��;���4�U�v���#�#�r{���"���g9�r��p���nY��b�)��w�Wy��Fc5���p�@
���~;~=���W���~���o��\��X�l�j�UX�W�;GY�=�W*�{�L��;�b*?!+�,a�^���C�W�~��l_�b���$��C�er�b2�}�N_crߥ�ZL�m�z�H؉z���*�L�d���I�rZ�8�$1%'�r�q�~�͙e΋�ok�o��9l��qB�~�ɽ�b�m3C=�A�&��p�c�'D��˛t�	��p~��l2s6�K)����7��4�R����r�bC����B�e��\܊�dDdE���zG��`$�`�C��!H����Uv��;�ɄV�
�Qy3Cu�V����87�'���F^Z�2���ٺ�8BP#
YJ�O��b��^:��TAΧVg�v�q��~��A����]vx�vg(����PwT��k78�G�������;�����y7�b@q�@�5T�>s�;�'M��I#��I3>+�7�A:p}��=�[|y�-N*��y�.��orJ���qQ�Y�X;�(�C�k�8����>koqD�Wpd5�E=�q�un���k�6�t��$��z�"cÎ��|١(�S	c���J)�0.Geɔq:�-�#�����$�Y=f��
��f��-Y��V�t�y�����XK�h�Q]�ԗ����H�
���e_����`~�(�5�TA��Fֱ<�b���=�.��o�w�š�
��I3љw���f�w3���ł|0˗��8-	��/�Ona�.�%�e�/$��է�����<���0�"/���h܈C����3��e9i�b�į9���;�8�$�"���G�!�H��J�aW�k��dqIf)�H���Ƕ��I�_�({�ڵrv�j(N�2���f-�����i�M����j�&�Pd>Q����ij�hr���&|���`D��C�����	{��nA9���YH��61G&Ύ��m/��%	iź�A�J��c��O��� �wt��C�����ŗ^l�4b�&��ψ8��W�V/��g��|�%�%Y����]%�Ԯ{M��>��ɏ���6�3Y
�����8Tcx��7�V.M�\7r8�G�
6��C����p�WlЋcS�\�Ha/r6��z#��^`����ޑ��5�,�Q�!����������^��ߴ]��&����h�����#���*Z�L�>K�,�G�ҧ��K�����\w>��5�]���-�2�䖠��qRs#?X�b�9�Vq�-ˎJK!	<�=
"��4s�ύ=���q���Wv�����/TK���k���Xe�dI���$9G��M7\�@�&��S��J�5����H��⁚+C%)�R�V��U)&���E}���Uc|��8�L
h�,]M
hR@����d�V�ui��(KQIf���)EU�	)4>&�<и��+RRb\��k�ӵ�J�+	�$���J�+	�$��0���,�� ʂ(����	g�u�!в��1tm�Z&��a�kEX+��V4tV�
!6dZC@��2dȐ���0a
����zh�L@f�ϻ?PUTTPUT��*4US^nHKh���Ą ��EE|Q_T��EE|Q�Ĥ &!��L
b��n�b�܊BLa�)���$EY����U)&����)��K2�!�0��X�Kb	C,a�IIHJ�3bC�`�1�!f0����3bC�`�	_FYeA�!0ʂ��"�� DzC�7DzC�7DzC�7*�0!���!���!���!���!���!���!�� LA��)S,z��.��sK"�!�UAT!�"�!�"�!�"�!�"�!�"�!�"�!�"�!�"�1)��DC"����JU۴41�kƙ"�)қ:�&]�2X�bB
�3�K��o����o����o����o����o����o����o����o����o��f)���Uz���u]�uY�z���RW����zB׃�V�zJ�Ӻ��lROi�)�;�y�4��ҼS�wJ�Ni�)�;�y�4��ҼS�W�Ҵ�ּӚwZ�Nk�i�;�y�5��ּӚwZ�Nk�iͫckI��Ҍ�Ѽ3�WGؒ����;�yg4��Ѽ3�wF��h�Y�;�yg5��ռ��wV�ΊS&5�&�դ��tV��j����	�assets/fonts/lightcase.woff000064400000006130150753125220012027 0ustar00wOFFX$OS/2DDV>(I|cmap�:J��cvt �

fpgm��p���Ygaspdglyfl%��K�/head	�46H2#hhea	�$�Zhmtx	�Xloca	�Hmaxp
  ��name
(�ي�4�post�AR���prep�e{�k�x�c`d~�8�������iC�f|�`������̀���08�`x���?�!�9�aP�$
4"x�c```f�`Fp��|
 ���^���R�DK0B�#ÈiX�x��VisG��a�6>�6�Y�r�vV����J���B�]Kv�O���^�T�o����`'UT(J����L��^�В�^X���|)��6id�IH7lZ��C��)SL�.��h�Ծ�8$"��u�%����$�C�2Z�%�jRn�Iw�����Q��	%5��C�-�¨E2푒6-��_IZ��+�|�%��$�ƛa��g�V��vE�M�E�D3<�"��Zb�\1A@��R^�4�|��{��
q�v��%?�ο$�z��%�@vd{�+�"��
㦝lG���t}'�#����Q^�h�vE�'���W�X�	e��j�|ʗ<Ւ��Z/sb_��GL�k&Ȃ�N����c����],!�8���J�F)a��$m9���E��zGL��:-�-a�N��Kg�I�;1��������x4��L�N��єQJ:<����$�����ʣil3c$�P��si*�e'�4�<�ћ�a�kעE�<P�=zOon��;=��?k�gu*���0���J|�v�IѺ~z�&�C�*�-6Ô�C�~��cK��kl���+�}�DȤ���/�)L��UPݴֵ,��jV�Td�!M+_�iM9}c_�8���KL	���������%�4��f]��uj�]��l��4�}���~��<��:ak�t��:-��H�cl/hA��;r�\���u�K��B l�"a��@�~�@�.#�����~*i;�E��9��en*WSɥ��F�6�)r���xV�+��7���@�D��I�|T�㏮hy�Ĺ�U{s\�e�X�S�ښ��W�ydry#Г�D�&����G���k�~�EY�
����Q��P
\�33��e���!�~�7܃NYIY�`��׏e���'X�b���[ዌ�J�Ef){>�y�0*�a�
\���{��M�L�e���Ǚ ��c0o�� $L]���)����`�)��CTo��p{�}��kW��M�m�F��P�[���'���@U!MŸ��K#�j�a\��F2N����
˲�G�wJ�e �H�GG?��B�Թ��(n�;��Aib����⠔w��eVmS��Sך�ū�ͣ�{��'r�4�tO��U����Y����L.�����ͥ��e\��v0,0�ߡ�W�q�<W�
��H�����b�8G���1L����{��n���2]�]�������f�pC�
���Z��
|�:=�܎���
�`�b��Z��)��|��s�0h2��sl3g
`�9v��`�9�`�:���a2�A�O�<e�����k�0��9��e��9�0��tk(s�t�mP����8�T���ao�0��?j�=���C�� ��bS�tgH�����AL�� �>�/�r��_F�K��.6����@���x���?o�P���r���v�����@��CU � 1V��0"�G@k�0��Nep�B�,��	eg@m�T�;5*�ݳ��~�<����8|hC܇��	o�p$�wwP���� @�%��{
Ք�T�=��w�c�3�~/T{>����DX�ϱF�ͧ�O>oLg����N
syQ�?��9��8�f*/����,^�^��)�"��hq��m�5;��J��z�����b�FX�sg>�YB�o�.�/Z����^'/��ŧ�"���*>ݰp�`��B�C
B��f�2	FV�W����d#�
1����&H�roF#�
r4����+�#�j|B�y����`��j�
/8۵M��R&~}��d.�X�b�8�ه���2c׌=ux_�'�-I�+4���db\"ˊd��+�u��#�]�ɔ��h��9�	K\�HK���K��h˃0���U6��$`Ƅ-m���cdF�r^�
��fu�D|J�(a���h�8�m�������[���y�M���m�����smKƟ����x�c`d``�K/����|e�f~a���	��4�g1�`r9�@�_��x�c`d``������$#*`fy�x�c~����`�nb� r��5spx�u��N�0�?C)�JTb�!�mK�T6�2��)I9n�L����,|IM�����}w�;;���sI۰��
oaW������w�w0���>�G�8dz��x���Go�7��b�x���6��=����ă�>���>���'�}��ڤqb���L��ɥ|����A&��M��䵌taU�i/�y��A��U���,��R]ȉ7�[U(X��t�ֱom$#�sy���KZ/����F�{b�5R�H`!qJ��_cL�3$/��]V�2*V�H�HE���+�*fdd!ל��!d]�=-�}�G����5�Ҷ��tg��wK+�ܠ��;C�5s}���6Ӛv:��sK�K[R	�{mKu���	uŇ;x�c`b�.쀝��������������� '��� ��8�59'�8���(��%/����� 3���lox�c��p"(b##c_�Ɲ�X�620hAhz''2���e�
cG`������).�@�]
�,�! %�@���Gk��
,��\�"�assets/fonts/lightcase.svg000064400000005336150753125220011674 0ustar00<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>Copyright (C) 2015 by original authors @ fontello.com</metadata>
<defs>
<font id="lightcase" horiz-adv-x="1000" >
<font-face font-family="lightcase" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
<missing-glyph horiz-adv-x="1000" />
<glyph glyph-name="play" unicode="&#xe800;" d="m500 850c-275 0-499-224-499-500 0-275 224-500 499-500s500 225 500 500c0 276-224 500-500 500z m0-966c-256 0-466 210-466 466 0 257 210 466 466 466 257 0 466-209 466-466 0-257-209-466-466-466z m-38 644c-3 3-8 5-12 5 0 0 0 0 0 0-1 0-2 0-3-1-1 0-2 0-4 0-6-3-10-9-10-16v-331 0c0-3 0-5 1-7 2-4 5-7 10-9 1 0 2 0 3-1 1 0 2 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 9 1 12 5l165 165c7 7 7 18 0 24l-165 166z m5-302v249l125-125-125-124z" horiz-adv-x="1000" />
<glyph glyph-name="pause" unicode="&#xe801;" d="m500 850c-275 0-500-225-500-500 0-276 225-500 500-500s500 224 500 500c0 275-224 500-500 500z m0-966c-257 0-466 209-466 466 0 257 209 466 466 466 257 0 466-209 466-466 0-257-209-466-466-466z m129 620v-308c0-10-7-17-17-17s-17 7-17 17v308c0 9 8 17 17 17s17-8 17-17z m-223 0v-308c0-10-8-17-17-17-10 0-17 7-17 17v308c0 9 7 17 17 17 9 0 17-8 17-17z" horiz-adv-x="1000" />
<glyph glyph-name="close" unicode="&#xe802;" d="m660 487l-136-137 136-137c7-6 7-17 0-24-3-3-7-5-12-5-4 0-8 2-12 5l-136 137-137-137c-3-3-8-5-12-5-4 0-9 2-12 5-7 7-7 18 0 24l137 137-137 137c-7 6-7 17 0 24 6 6 17 6 24 0l137-137 136 137c7 6 18 6 24 0 7-7 7-18 0-24z m339-137c0-275-224-499-499-499-276 0-500 224-500 499 0 275 224 499 500 499 275 0 499-224 499-499z m-34 0c0 257-209 466-465 466-257 0-466-209-466-466 0-257 209-466 466-466 256 0 465 209 465 466z" horiz-adv-x="1000" />
<glyph glyph-name="prev" unicode="&#xe803;" d="m500 849c-275 0-499-223-499-499 0-275 224-499 499-499 275 0 499 224 499 499 0 276-224 499-499 499z m0-964c-257 0-466 209-466 465 0 257 209 466 466 466 256 0 465-209 465-466 0-256-209-465-465-465z m74 612l-153-154 153-153c7-7 7-18 0-24-6-7-17-7-24 0l-165 165c-6 7-6 17 0 24l165 166c4 3 8 5 12 5 5 0 9-2 12-5 7-7 7-18 0-24z" horiz-adv-x="1000" />
<glyph glyph-name="next" unicode="&#xe804;" d="m500-149c275 0 499 224 499 499 0 276-224 499-499 499-275 0-499-223-499-499 0-275 224-499 499-499z m0 965c256 0 465-209 465-466 0-256-209-465-465-465-257 0-466 209-466 465 0 257 209 466 466 466z m-75-612l153 154-153 153c-6 7-6 17 0 24 7 7 17 7 24 0l165-165c7-7 7-18 0-24l-165-166c-3-3-8-5-12-5-4 0-9 2-12 5-7 7-7 17 0 24z" horiz-adv-x="1000" />
<glyph glyph-name="spin" unicode="&#xe805;" d="m1000 315h-36c0 275-224 499-499 499v36c295 0 535-240 535-535z" horiz-adv-x="1000" />
</font>
</defs>
</svg>assets/fonts/lightcase.eot000064400000013320150753125220011654 0ustar00�$�LP����lightcaseRegularVersion 1.0lightcase�`OS/2>(I|�Vcmap��DJcvt 
,
fpgm���Y
8pgasp
$glyf�K�/��headH2#L6hhea�Z�$hmtxX�locaH�maxp��� name��4���post���	�Rprep�k��{��z��z��1PfEd@��R�jZR�D(�������j�R14
@
32'-+67&&'67&#0"#23812?64'5���������������	��}R��������?����������
��}�j�R!-
@
+%-+67&&'67"'462#&'462��������������E 

�
	
R��������?�������g��4

��	4

�k�Q'3
�1+%-+"/"&4?'&462762&'67&'6���	��
��

��
N��������������牉
��
��
��
���������������k�Q'
�$-+67&&'67"/&?62��������������{��

�		�	Q��������A�������_��
��
�k�Q'
�$-+67&'&'67'&76"'&��������������{��		��
���������������������
��R�-+#&'5�$����.;�$����Đ_<��� �Y� b)�j�RR�jZ���������b� r��5sp�5	5>	E	NW	b
+k�	j�		%	3	E	W	m	
V	&�Copyright (C) 2015 by original authors @ fontello.comlightcaseRegularlightcaselightcaseVersion 1.0lightcaseGenerated by svg2ttf from Fontello project.http://fontello.comCopyright (C) 2015 by original authors @ fontello.comlightcaseRegularlightcaselightcaseVersion 1.0lightcaseGenerated by svg2ttf from Fontello project.http://fontello.com
playpausecloseprevnextspin���, �UXEY  K�QK�SZX�4�(Y`f �UX�%a�cc#b!!�Y�C#D�C`B-�,� `f-�, d ��P�&Z�(
CEcER[X!#!�X �PPX!�@Y �8PX!�8YY �
CEcEad�(PX!�
CEcE �0PX!�0Y ��PX f ��a �
PX` � PX!�
` �6PX!�6``YYY�+YY#�PXeYY-�, E �%ad �CPX�#B�#B!!Y�`-�,#!#! d�bB �#B�
CEc�
C�`Ec�*! �C � ��+�0%�&QX`PaRYX#Y! �@SX�+!�@Y#�PXeY-�,�C+�C`B-�,�#B# �#Ba�bf�c�`�*-�,  E �Cc�b �PX�@`Yf�c`D�`-�,�CEB*!�C`B-�	,�C#D�C`B-�
,  E �+#�C�%` E�#a d � PX!��0PX� �@YY#�PXeY�%#aDD�`-�,  E �+#�C�%` E�#a d�$PX��@Y#�PXeY�%#aDD�`-�, �#B�
EX!#!Y*!-�
,�E�daD-�,�`  �CJ�PX �#BY�
CJ�RX �
#BY-�, �bf�c �c�#a�C` �` �#B#-�,KTX�dDY$�
e#x-�,KQXKSX�dDY!Y$�e#x-�,�CUX�C�aB�+Y�C�%B�%B�
%B�# �%PX�C`�%B�� �#a�*!#�a �#a�*!�C`�%B�%a�*!Y�CG�
CG`�b �PX�@`Yf�c �Cc�b �PX�@`Yf�c`�#D�C�>�C`B-�,�ETX�#B E�#B�
#�`B `�a�BB�`�+�r+"Y-�,�+-�,�+-�,�+-�,�+-�,�+-�,�+-�,�+-�,�+-�,�+-�,�	+-�,�
+�ETX�#B E�#B�
#�`B `�a�BB�`�+�r+"Y-�,�+-� ,�+-�!,�+-�",�+-�#,�+-�$,�+-�%,�+-�&,�+-�',�+-�(,�	+-�), <�`-�*, `�` C#�`C�%a�`�)*!-�+,�*+�**-�,,  G  �Cc�b �PX�@`Yf�c`#a8# �UX G  �Cc�b �PX�@`Yf�c`#a8!Y-�-,�ETX��,*�0"Y-�.,�
+�ETX��,*�0"Y-�/, 5�`-�0,�Ec�b �PX�@`Yf�c�+�Cc�b �PX�@`Yf�c�+��D>#8�/*-�1, < G �Cc�b �PX�@`Yf�c`�Ca8-�2,.<-�3, < G �Cc�b �PX�@`Yf�c`�Ca�Cc8-�4,�% . G�#B�%I��G#G#a Xb!Y�#B�3*-�5,��%�%G#G#a�	C+e�.#  <�8-�6,��%�% .G#G#a �#B�	C+ �`PX �@QX�  �&YBB# �C �#G#G#a#F`�C�b �PX�@`Yf�c` �+ ��a �C`d#�CadPX�Ca�C`Y�%�b �PX�@`Yf�ca#  �&#Fa8#�CF�%�CG#G#a` �C�b �PX�@`Yf�c`# �+#�C`�+�%a�%�b �PX�@`Yf�c�&a �%`d#�%`dPX!#!Y#  �&#Fa8Y-�7,�   �& .G#G#a#<8-�8,� �#B   F#G�+#a8-�9,��%�%G#G#a�TX. <#!�%�%G#G#a �%�%G#G#a�%�%I�%a�cc# Xb!Yc�b �PX�@`Yf�c`#.#  <�8#!Y-�:,� �C .G#G#a `� `f�b �PX�@`Yf�c#  <�8-�;,# .F�%FRX <Y.�++-�<,# .F�%FPX <Y.�++-�=,# .F�%FRX <Y# .F�%FPX <Y.�++-�>,�5+# .F�%FRX <Y.�++-�?,�6+�  <�#B�8# .F�%FRX <Y.�++�C.�++-�@,��%�& .G#G#a�	C+# < .#8�++-�A,�%B��%�% .G#G#a �#B�	C+ �`PX �@QX�  �&YBB# G�C�b �PX�@`Yf�c` �+ ��a �C`d#�CadPX�Ca�C`Y�%�b �PX�@`Yf�ca�%Fa8# <#8!  F#G�+#a8!Y�++-�B,�5+.�++-�C,�6+!#  <�#B#8�++�C.�++-�D,� G�#B�.�1*-�E,� G�#B�.�1*-�F,��2*-�G,�4*-�H,�E# . F�#a8�++-�I,�#B�H+-�J,�A+-�K,�A+-�L,�A+-�M,�A+-�N,�B+-�O,�B+-�P,�B+-�Q,�B+-�R,�>+-�S,�>+-�T,�>+-�U,�>+-�V,�@+-�W,�@+-�X,�@+-�Y,�@+-�Z,�C+-�[,�C+-�\,�C+-�],�C+-�^,�?+-�_,�?+-�`,�?+-�a,�?+-�b,�7+.�++-�c,�7+�;+-�d,�7+�<+-�e,��7+�=+-�f,�8+.�++-�g,�8+�;+-�h,�8+�<+-�i,�8+�=+-�j,�9+.�++-�k,�9+�;+-�l,�9+�<+-�m,�9+�=+-�n,�:+.�++-�o,�:+�;+-�p,�:+�<+-�q,�:+�=+-�r,�	EX!#!YB+�e�$Px�0-K��RX��Y��cp�B�*�B�*�B�*�B�	*�B�	*�D�$�QX�@�X�dD�&�QX��@�cTX�DYYYY�*������Dassets/webfonts/fa-regular-400.ttf000064400000102404150753125220012745 0ustar00
�PFFTM�T����GDEF*���OS/2A�SX`cmapǠ���gasp����glyf|�7	 n�headFQ
�6hhea5�$hmtx�t�Tloca�eȸ�6maxp��8 name9�1*w�[post�iA�}�KC���_<��4�z�4�|��������������@��LfGLf��PfEd�������.�T:� ���@��@@����@@��@��@@�����`������@���@���������������������@���@�����@����������@��@��@����@�@���������������������������������*����"�$�.�>�D�Y�n�p�s�u�|�����������������������3�D�F�J�N�R�\�e����������������
�I�M�[�]�t�z����������������(�[�������V�g�z������������������"�$�.�>�D�W�n�p�s�u�{�����������������������3�D�F�J�M�P�[�d���������������
�G�M�T�]�q�y���������������(�X�������V�g�y�������������������������������|zwZYB81-(�����������}zpf`USC
�
�
�
�
�
�
�
�
�
�
�
�
�
�
m
H
��g��$
�
�
�
�
�
�
�@|��n��*��b���H�*N�`�`�	\	�

8
�
�8�4��

�L��B���<l�6�&d��J�B��J�j�,j�B��d���X�f�B��\�� \ � �!8!~!�"T"�#<#�#�$X$�$�%%>&0&�&�':'p'�'�((V(�))l)�*8*�+ +h+�,4,�,�-�-�.P.�/r00�1
1�1�2Z2�3z3�4$4~4�5
5|5�6D6�6�7L�����$"/.676>64'&'.7�$�,�$+u**u$O##O$��UN��OT$	**	�W"##"W���1�"/&?'&6?627/7j �� j�A	(	Ad�>>�d||&g�	DD
�g&���b~~b�BB����"*2%2#!"&=46322654&#"#"&#"6"&462&"264:7O��O7
344b3#99#3�xTTxThP88P8�O77O�#33#�TxTTx�8P88P����2"&4264&"'&=4;2�Α�Α��uu�uU C	��Α���u�uu�
>��0

���'3?GOW2#!"&5463254#!"3%+"=4;25+"=4;25+"=4;2"&462"&462"&462��`��lj����������`�pT��\TT	uu���(8276#"&#"+"&5&5466325#"&#"63232P,A+=C%gA?		')%g�E;f9-4Lf9p
�( S		� ��   � ����
2'4634#!"7P�� �����0pp��Tv��T�#.2#!"&5463254#!"362"&457676��`��l9""((xX��� �����""�0((xXP��A�*/7%76#!"&5463!2+!547&?62'7'&76� 
�� �`���Z
0+t:�A�+:g �`
 ��r��
Z+10:�A
+:����+2"&4264&"%//&?'&?676�Α�Α��uu�u.>>	>>	>>	>>	��Α���u�uu��>>	>>	>>	>>����2"&4$"264/&?676�Α�ΑK�uu�u<		�	[			;�	��Α��au�uu�
	�		[	=�	����8@2"&4264&"%+"&=4>7>54&#"/&7632"&462�Α�Α��uu�u3.
				%@&?A""��Α���u�uu�� 		
64�""@�#/2"&54732654'6#".'&47>2267." /AA]A
!-*�[<oV*����J%%�%J[0A]AA.!
aPa-O5Paa�MCCMMC,A#������3F#"'&54?632632#"&'7"'632'67.27#"&'&4767z
��
-AY-Ap/54<oV&%J/54[�*&%��?-r?-�$-O5)"!CM��$aP)"!CM����#/;Ggo7#"=4;27+"=4;2+"=4;2+"=4;2+"=4;2+"=4;27#!"&546;54;2354;232!3!2�((`((`((`((`((�((`��0(�(00��T�(((((�(((((��`4444��*�������&2#"'#"&7>7&54264&"6?�Ԗ�j/.AJ
5Vzz�z(
&�z�z.%8FV�^�^^B3*

�2#!"&546;25#"/#��`�
	7��
	7�@� 	7���	7��H�"&%2#!"&546;32%763!54+'#"7!P�p�@��P?�@��P��M�1� @0j�h*@���/DT%"&=46;2+"&=46;2#3"&=46;2#2#!"&546;27"&=46;2#��J�		�0
		=`������0		
P		��0FF����E�#6M%#"'#"&'&'#"&767&54632%3264&"67654&'32?&/
A<@g;B
,zV@hKe�KA__�_x@1/R21R>
'6,'#+7B^6,	Y<71B\BB.# /#$;(E,2 �� �%&?'&6?63 � j�A	>�d?7D	�g&�D~b������#AQ&.7>&>6766&&7>2>7>&6&.7>76�*

'>D88(%6*

'>D88(%5
,36<FD 
,*(32;" �
	)`

t7�*6%(88D>&
*6%(88D>&
i+
 DF<63+
	!"F<63
`)	

7t��@� ,82#!"&5463"!54#2=!37+"=4;2+"=4;2

� �� �HH����

��`0**����d((((@�#+%#!"&=4?63!2!'5!$"&462"&4627	� 	i��N�Ni� �M����pp��M���2U]2++"&++"&=46;2327167>322654&+4654#";2'>'>'4&"2�"1
$5."S
	
@

@
			*2V�,
 **=
	
�61"

"(3(�$/$v,#$�= 
&
����2V^546;&546321;6;2+"'#"+"&'&7&'#"&7;;2675&'&'.#"#""2641"V2*			
@	
@
	
S".5$"10[
	
=L 
,�
	��"1$/$�(3("
1"
&
 =&�$#,

�����3U]46326+"&=4754'1&'.5463274&#""&#"3>=4.."264j1"'
"(3(
�
/$v,#$�&= 
&
�m"1'$5."S
	
@		
@
			

*2V�,
 L=
	
�����1S["&=#"&54>76716=&=46;2''26=6767=4&'#3263264&"�"1$/
�(3("
1"
&
 =&�$#,�@1"V2*


			
@

@
	
S".5$"10[
	
=L 
,������*9B++"&546;546;22=#"&=#"3%2=#"&=#"354/&+�P�P�t`JTX
j�0
~��0@0�>*���`�
X��
0@����+3;#!"&5463!2#3254/+"&=#"362"&4264&"���N��zN
�
*�H44H4G"">��`"P��Nd

h���4H44HL""����2#!"&5463254#!"3���Z�����`�pT��� 22#!"&5463!32>567!5".'&'��`��`#dd#�`�#FF#��� 0)N		N��7

7��`�B2#""&54653+"/&2#4767654&#"#.'&546�		&		8(�	N	PIg,0+ K54L +0,ep		&		(8��++%%�gIB25=1$05KJ60$1=%
2BGi������%39%#!".54767>54675462!&5414&"0"&53�	��		H8%:!��8,B\B�4&�V

	
C,:V

,B&,C;d.BB.d�%����#/Ka}754;2+"3"=4;2#+"=4;2"=4;2#!54;46;546;23232%354;23#+"&=#7#54+"#";;2=32=4�((�(t((L(��@
X
p
X
��p(p@
p
@��((((T(4((|$${	(

(	��CC_

0����+7%++"=#"=4;54;2327#!"&5463!24#!"3!2`X XX X`��`0��T� XX XX���`��T������2"&4264&"�Α�Α��uu�u��Α���u�uu�����/2"&4264&"6"&462"&462>"'&>2�Α�Α��uu�u��/�/!f��Α���u�uu�c\
99
'����02"&4264&"6"&46262"&42&'&".7�Α�Α��uu�u�so~)R��Α���u�uu�c-m1
����+2"&4264&"6"&46262"&42+"&463�Α�Α��uu�u�s(

�

��Α���u�uu�c-}@�'3?KWco{����2#!"&54634#!"3!2%+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2%+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2� �� ���```�����````b����� �� ���n������'2#!"&546;54;2354;225!3���0(�(*�����`4444�p*������%.=46"&462264&"t�	4�Α���u�uu��e
	�Α�Α��uu�u����'7"=4;2#7#!"&5463!24#!"3!2l�l��`0��T�  ��`��T������#2#!"&5463!%/&?676���`��<�	[			;�		���`�p`���		[	=�			��A�2Y&='.54767675467'".>7676#!"&546;2+"3!2=42�;1+6(-$50I;"��!0<*&>))
���VT"(� 6  )K-;(!9 ����h)A'%
�+`	
��	����
%6&?6764&"2"&4264&"\B�B9ZΑ�Α��uu�u>�B�\�Α���u�uu�����
&732/&6%#!"&5463!24#!"3!2}�ccK��`0��T�cc���`��T������
&%#"&?67#!"&5463!24#!"3!2C�ccu��`0��T�cc�`��T������
&7546&#!"&5463!24#!"3!2�cc��`0��T]�cc��`��T������#!"&546;2'!#"&=#r���.L� h
�^���rLL�� 
h����),5%+"=4;22+"=43%#!"&546;2'3#"&=# ������T�Lh
��T����T<L�� 
h�`����.T\%#*#".#+"&=46;>7>3232>'2654&+4654.#+2;2'>4&"2�3&-E/@

c
-3	$(Kh	
m&%@

���!$*

�
 #	:/45'N)
9

G%�&B"U����.6[%+#".'.'#+"&=46;232>3:32264&"2>54&#6&'6&'6+"#322>54&5�2$$	3-0

@

@	.G-88�]b



@%&m"(�"454/:?	
�
3,$h	
)"B&�#6G

9���(8@H%/"/&?'&4?'&6762767'7''77&2"&4264&"�<G(
+(G<<G(,(G5MM[44[MM[44[�V==V=Q.!!.!�+)G<<F)+)G<<G54[MM[44\MM�=V==Vc!.!!.����&"&463276"3267&5467&j��j	%a>!"$h;VzzV0UT�2*@�Ԗ#(
>$?P9-2�z�z)$mU2T����
&/&?67#!"&5463!24#!"3!2cc���`0��T#�ccE��`��T������"264$2"&42"&4S�uu�u��Α�Α�B//B/�u�uu���Α��/B//B����#/;GYe54;2+"3"=4;2#"=4;2#3"=4;2#+"=4;2"=4;2#!54;463!232%354;23%�((�(�(X(t((L(��@
P
��p(p��,((((`((((T(4((|$$�

�HCC�����7=DJQ#!"&546;2'!#"&=##"''&76767&766>77"6467&'6&7r���.L� h
��

6'.
$
3�N-

x^���rLL�� 
h��D
.0*[�"�
#����R#!"&546;2'!#"&=#32+"'&/+"'.'&6;2476;21676r���.L� h
��


	


	
^���rLL�� 
h�&b		+	H		78	
`b		aa
����B#!"&546;2'!#"&=#2+"'&'+"&?'&6;26763r���.L� h
��#...		^���rLL�� 
h�=N7NN($����6>#!"&546;2'!#"&=#54;2*#+"73264&+r���.L� h
�HE#	
0

^���rLL�� 
h���%
/c����(0#!"&546;2'!#"&=#57676&2"&4r���.L� h
� ((X�((^���rLL�� 
h��@((X��((
����!$1@LP3#7#53#3#57#!"&546;23#"&=##5#7#"&?53322654."7#5�  @    @ ����Lh
0 P�
 
-		@   �      ���&L�� 
h�`�W'a  �

�  ����/=#!"&546;2'!#"&=#/#"&=46;7664'&>.r���.L� h
��$$)
	^���rLL�� 
h��$8$Y

:����7#!"&546;2'!#"&=#6/+"&=46;2r���.L� h
��5hh^���rLL�� 
h�p4%h%����$'0<M7#"/&?67#!"&546;23#"&=#7/&?6&?6/5&?�99!����Lh
��	7		7!99!c66����&L�� 
h�`�	�		�O66����$+"&46227''64&"264''&"67&7gΑ�Α��/p/522�/B//B�5/p/522�58�Α��D5UB//B//p/522�5/p/522�����!6#"/&='.77'76�2<
	p+) r�%%�;�`l���!�|.;T0<�2$��-�	����� '.5#"&'&676326767'7&'7'757/?'#� ^a&'O� ^a&'4_H:'G,4%=/@G�<&
G@]+G'%e:@,O+
b� ^Mb� *N�
*/%L=�4J/}45/J��>J%?4I0==	@�+/;GS_2#!"&546;>32=#!7"=4;2#'3554;2+"754;2+"=4;2+"54;2+"(

�!
+@�`=�lPx���hhhhhh�
��
!
���� ��x``P((��<������8@'&?63!"&54767>57"'675462'&5414&"&53z


��


��>��				.	|"&&%:!;B.&�


�


��0

	
*#D�

,B&7&/.B�`%����42"&4264&"#"&54>32'&#"3276�Α�Α��uu�u3)?=O$@(;&!$*$$
��Α���u�uu�)Q<'@%#	%"2�3K2#!"&5463254#!"37&546'&76&546'&76��`��l�R@AR@=�R@AR@>��� ����V6/.4"%6/.4"%	���+/37;Ocgo#32+"=!+"=4;#"=4;2!54;2'35!355#!5#'#"=!+32!543'2+"=#"=4;2'355#+�H��HH@H@ �@  � ��@�T���`8L@�HHHH@    ��    @���4�4pp�pL
��@�CGKOSgk���%#32+"=#+"=4;5#+"=4;5#"=4;2354;2+354;2'35355#5#354;5#"=#+325#%5#"=#32+"=#3235435#5#4H�HXHH�HXH�   ��   @��� 8XHX�4   �HHH�HHH�  �       ����  @�XH@    ����%#!"&5463!27#!3546;�T��`�LLP���
hdT`��L��h
���(42+#!"&546;54632=#"&=#"3%254#!"3�0��0��*������0@0�0*���`4������%+132#!"=4;467.5#"=43!2#!2654&"p2//2��2//2h��KjKKjK�?ss??ss?LllL�`LllL���)q6+"&5<&4&/&=46>62654&+"&=4&+"&=4&+"&=4&#"/&=4&354?6�$C	+
�
b'8#I$@:H						a�+q,(rd	!

U"49#,)(
�r

		

		(
)		

t)

9U
d������Y6+"/&676546>654&+"&=4&+"&=4&+"&=4&/.376u.�
w!3 P4			

	
s�O)��
�7~!($%)!ф


L		�
�		�
�		�
�	&	�w��� ]"&7.7#"&463'.>6#'32?6=4/&#"/&+";2+";2#""(
X++^O8�+1b"wFFw	b
�
�
	��		

		

 6 
#+<+	88857'�%0�7@	;

			��@�A%#5'&+"&546;7#"&=463!254/&#!";2+";2-�d�!4$r�!/!&'v�
��
�	r�

c�$|H&!$40/!!!��L�
@	'���.a+"/&5476'&5467&54>767>3266&&?6&"/././&;267�:
E-k=,\('&)+ /+ $
	4
[*k+L	�*8*V R
*
6"	Rh
��

��iz"$0V#������^p��6+"/&676546266&;2?6=4&+"&=4&+".=4&+"&=4&'546;2+"&7546;2+"&754;2+"f!9%�"m!'7'!-��m	�			DL		K
(#Tw�7�''J
w

�wT

	

	#

#	�

�	R`		`	`		`		``������#^6+"/&7'&676'462654&+"&=4&+"&=4&+"/.;2?6j(%�'758%	+<+#0			

;@7�#Fw"b1+�8O^++X�F

		

		��	
��
b	w����,52"&4264&"+"/#+"&=46;2'254.+�Α�Α��uu�u6+0 'Of(: ��Α���u�uu�#ZT�U3)!

@����;C%++"=#"=4;54;2327#!"&546;54;2354;232!3!2PLLLLp��0(�(00��T�LLLL���`4444��*������+37"=4;2#7#!"&546;54;2354;232!3!2|�|��0(�(00��Tx��`4444��*������;C%//&?'&?6767#!"&546;54;2354;232!3!28	66	66	66	66���0(�(00��TI66	66	66	66���`4444��*������'72#!"&546;54;2354;225!3%/&?676���0(�(*���	K			,o		���`4444�p*��Ɏ	K	-n			��@�!&+2#"/#"&54?6327673#0
�



��
�



����������	��5=?	Z5=?:��.��/,�!/�����*2+#"=#"&54634&#!";?326�&&�}`&&�	��		�C
�	�&��&^T& &�� 		��	<2
	����/2"&4264&"%+"&=46;2+"&=46;2�Α�Α��uu�u(	0		0	p	0		0	��Α���u�uu���		�		�		�		����"&462264&"+"&=46;2��Α���u�uu��	�		�	'Α�Α��uu�ux�		�		����#+Lfn3#"&5#'#"'&/#+376;2264&"6/&'&6?#"##36???5#'&+"6?6264&"y@
:#;U			@v0��Q			�l	-	'9>*a!
%		�-=TA7
gn			@�

 	L		0��

		
W	;#>�X

 
$I�><3
S0

		
���5`#!"&54767>254'&'"."#3!2'#".'&'&?6232>7676��`(_dQ4/V� 
7
7
	7

7	��!K
	O���B)
	%F��
-

-
	,


,	����'+3H#32+32+#!"&5463!232!6"&462"&=463232632#���@P���4&&4&�	
''
	 @(@(0�0(����`�&4&&4�""��@�0<HT2#!"&5463!6"&462"&=463232632#7"=4;2#'"=4;2#'"=4;2#� � �4&&4&�	
''
	>ppppp���`�p`���&4&&4�""@@@����"42"&4264&"&2"&427&'#"'%654&"6322632�P88P8L((7Α�Α��8.-%%u�u%)@%$%@X8P88PX((ԑΑ���0&

'$4@SuuS@44

����'<2#!"&5463!"&46;2#"&462"&=463232632#P�� ��`		`		4&&4&�	
''
	��`��0��``				�&4&&4�""��@�$0<HP2#!"&5463!3&54632326327"=4;2#'"=4;2#'"=4;2#"&462� � !''9ppppp�4&&4&���`�p ��""P@@`&4&&4���2#!"&54635!3!2��`��`����`�v���� !"&463!2�@

�
 ���&2+#!"&546;54635!%!32�0��0��������0@0�0��`@0��������%/&//+"&=/&4?5/.?&/&?'.?>7'&/&6?'&?6'&6?65'&?6546;276?>76/76�'	H;		:H	'
'"PHHP"''	H:		:H	(
'"PHHP"]"Q*T;.		.<T*Q#	**	"Q*T;.		.<T*Q#	**	����-59E%"=4;2#2+#!"&5#"&=46;76;2'3'&+"!7"=4;2#�		��		R"d"��^��L ��P		��P		99�`P��0����@�$4<G%#!"&546;#"3!2=!"3!2=452#!"&5463"&4627676!���
tZ��t��x""1((hH�� 0�
P��0�_""�((hHP����12#!"&546;462&"2644++"=#"3!2P��P&4&6x*�*���`&&�lT$$������"2"&4264&"74;232/&6;�Α�Α��uu�u�(CddC��Α���u�uu��tdd����"6462"$4&"27+/&?632�Α��/u�uu�-tddtYΑ�Α��uu�u�(CddC����""&462264&"54;546&=#"��Α���u�uu�-tddt'Α�Α��uu�u�(CddC����""&462"264#"=#"&?6+gΑ�Α��uu�u�(CddC8�Α��/u�uu��tddt����C�!$2"'&?63#3%3'#37'377#�d����dM94D��4�4�?D4dxD3aax4����U�0``````�������%5E2"&454+54+"327#";22#!"&54635"&5!#2!46P88P8�@�

��

0%�`%%�%0B\BB\fX
7
��

@
��%%�%%���72#!"&54634#!"3!2'//&?'&?676��`��l�l==			==			==			==		���`�vT���==			==			==			==		�����+>62"&462"&462"&4&2#"'#"&7>7&54264&"6?����Ԗ�j/.AJ
5Vzz�z(
&��z�z.%8FV�^�^^B3*

����'92"&4264&"$"'&>276&"&46272/&"&7>�Α�Α��uu�u6/�/!f!��%
&	��Α���u�uu�$
99
''A)				
���� 3H2"&4264&"62&'&".?"&547'.>6"&5"'&>?6�Α�Α��uu�u�j">'	

P	
�
	P
��Α���u�uu�)
q

	

@	

	����+GO2"&4264&"6"/"&4?'&4627626"/"&4?'&462762"&4�Α�Α��uu�u���4&&4&��Α���u�uu�kL�&4&&4	����'/7?K2"&4264&"$2"&4264&"62"&4&"&462264&"62"&42+"&463�Α�Α��uu�uB//B/<((&X/B//B5((&�

�

��Α���u�uu��/B//BQ((,B//B/�((,�����-2"&4264&"6"&46:"&42'&"&76�Α�Α��uu�u��N<=
	141	
��Α���u�uu��]"		
����/6=AEIMT[2"&4264&"6"&462"&4622+"&=4635#375#"5#75#5#75#5#326=4&+�Α�Α��uu�u���(		h000p000h(		��Α���u�uu�c#  `	(	((((		����'/2"&4264&"%6#".'&62&"&462"&462�Α�Α��uu�u2M)6()�����Α���u�uu�"
".&

N����
#+97"'&'6762"'&'6762&2"&4264&"%6"&'&62�q�Α�Α��uu�u2MRM)��		""		""		""		""ڑΑ���u�uu�"
".."

����4E2"&4264&"%6#".'&62'&7>32/&"7&7>2/&"�Α�Α��uu�u2M)6()��#
	
&
	�#&#
	
&
	��Α���u�uu�"
".&

V)))����
+EZ"&5476".'&62766/&"'&7>27"&4632&#"2654'2$"'&7>32/�,..�6')�)M`
	
&
	#&#d�Α�gC:2:Suu�u��&
	#
	 "EE��%


".�)),%(g��Α" u�uuS!)����
4<D%6"&'&62/.7>7>7/&67676&2"&4264&"bMRM)�pF�F	
�Α�Α��uu�u�
".."

>
FDF	
��Α���u�uu�����,:2"&4264&"%6#".'&62.?'&63'&4?6�Α�Α��uu�u2M)6()��
!!PP�PP	!!
��Α���u�uu�"
".&

/((0000((�����/;JYh76"&4767&67632&#"%67#"'67327>'&76762+&/.?"'&?6367>'&676u/")7Hg<5/6S:.{$9Ig30)-S:1C/"��
	
4

Z4	

4

&.:T&@R"/6D�6I;-�E�9I;0�TR"/s
Z	
4Z	
4p/%T:����6P2"&4264&"%6"&'&62'7'&6?62/&%/&?'&6?62�Α�Α��uu�u2MRM)��#
##
��Α���u�uu�"
".."

G#		#N	##	������%5CTi76"&476"'&'&6"&'6726%&>2&.""&'&62766/&"'&7>2&"'&7>32/u/"M"/Rl#l~l#_r_��'Em~mE&p�p�RM)�)
	
&
	#&#�&
	#
	�R"//"RP 2;;2 1;;�>f;;f?	H``�."


"|))")����;CK2"&45'&"/.32>>54&"&=&'&6276&2"&462"&4�Α�Α8%1;u�u;1)�)����Α��,		+'_9SuuS9_,


,�����;HU2"&45'&"/.32>>54&"&=&'&6276/&4?&?'&6�Α�Α8%1;u�u;1)�)!!
	PP�P	
!!��Α��,		+'_9SuuS9_,


,((0000((����!)1Ge2/&"&7>2"&4264&"62"&4&2"&45'&"/.32>>54&"&=&'&6276�

&
%�B//B/<((&�Α�Α8%1;u�u;1)�)
					4/B//BQ((,��Α��,		+'_9SuuS9_,


,����%-52/&"&76"&4626"&'&622"&4264&"4(%
&
Z�MRM)��Α�Α��uu�u						$T
".."

6�Α���u�uu�����)19A2"&4#"'&?64/&4?64/&762"&4264&"$2"&4��##)�Α�Α��uu�uq				%�Α���u�uu������#EU2/&"&7>&2"&4264&"%#"'&?64/&4?64/&7662/&"&76�#
&
	
Α�Α��uu�u##)&#
&
	
()��Α���u�uu�				�)����!4<Ol%#"'&?64/&4?64/&7637&"&7>32'&462"/&>7676#"&4632&#&'654&"320##)F&

%�ZS
�/4g��gg�
u�uuS-�					L

		�!	S	1(�Α�g.,
 Suu�u����-2"&464&"6"&462"&4622+"&'&63�Α�ΑKuu�uu���E..E��Α���u�uu�u�S	-<<-	����/=2"&464&"2/&"&76&7>2/&"2+"&'&63�Α�ΑKuu�uu�&#
&
	
�
#&#	
&
�E..E��Α���u�uu�u0)#))M	-<<-	����)72"&464&"/&4?6&?'&62+"&'&63�Α�ΑKuu�uu�!PP�	
!!P�E..E��Α���u�uu�u(00b((0R	-<<-	����!)72"&464&"2/&"&7>"&4622+"&'&63�Α�ΑKuu�uu�
&	l�E..E��Α���u�uu�u$
				2S	-<<-	����2"&4264&"62"&462"&4�Α�Α��uu�uk���Α���u�uu������)1CO2"&4264&"$2"&42654'"&547&"&4622654'"&5472+"&463�Α�Α��uu�u<**<*7"@*<**<F"�

�

��Α���u�uu��*<**<F

/<**<*H

�����!3CK2"&4654&"5462275462&/&"&7>3262/&"&762"&4�Α�Α�8u�u8-f-�	&

%p(%
&
>.!!.!��Α���:PSuuSP:r

��

2						
*				D&4&&4����&.92"&4264&"72&'&#"&46&"&46262"&46"&54�Α�Α��uu�u�<&&
As�$"��Α���u�uu�#.@-P1����4E2"&4264&"%>"'&>2''&7>32/&"62/&"'&76�Α�Α��uu�u/�/!f�	#
	
&�&#
	
&
	��Α���u�uu�
99
'�)%)����'2"&4264&"62"&46"&46:"&4�Α�Α��uu�u�4&&4&���Α���u�uu�;&4&&4{����)82"&4264&"$/&4?&?'&62'&".76�Α�Α��uu�uC
!!
	PP�P	
!!PHC
#r#��Α���u�uu��((0030((0J6'	
'V6��"^&�!
,��1U���	4	6Q	�	D�	6&	Lz	0�	
X:	.�	&		E	6]	&�	�Copyright (c) Font AwesomeCopyright (c) Font AwesomeFont Awesome 5 Free RegularFont Awesome 5 Free RegularRegularRegularFont Awesome 5 Free Regular-5.14.0Font Awesome 5 Free Regular-5.14.0Font Awesome 5 Free RegularFont Awesome 5 Free Regular331.264 (Font Awesome version: 5.14.0)331.264 (Font Awesome version: 5.14.0)FontAwesome5Free-RegularFontAwesome5Free-RegularThe web's most popular icon set and toolkit.The web's most popular icon set and toolkit.https://fontawesome.comhttps://fontawesome.comFont Awesome 5 FreeFont Awesome 5 FreeRegularRegularFont Awesome 5 Free RegularFont Awesome 5 Free RegularFont Awesome 5 FreeFont Awesome 5 FreeRegularRegular���	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJ�KLMNOPQRSTUVW�XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~�����������������������heartstaruserclocklist-altflagbookmarkimageedittimes-circlecheck-circlequestion-circleeye	eye-slashcalendar-altcommentfolderfolder-open	chart-barcomments	star-halflemoncredit-cardhddhand-point-righthand-point-left
hand-point-uphand-point-downcopysavesquareenvelope	lightbulbbellhospitalplus-squarecirclesmilefrownmehkeyboardcalendarplay-circleminus-squarecheck-squareshare-squarecompasscaret-square-downcaret-square-upcaret-square-rightfilefile-alt	thumbs-upthumbs-downsunmooncaret-square-left
dot-circlebuildingfile-pdf	file-word
file-excelfile-powerpoint
file-imagefile-archive
file-audio
file-video	file-code	life-ringpaper-planefutbol	newspaper
bell-slashclosed-captioningobject-groupobject-ungroupsticky-noteclone	hourglass	hand-rock
hand-paper
hand-scissorshand-lizard
hand-spockhand-pointer
hand-peace
calendar-pluscalendar-minuscalendar-timescalendar-checkmapcomment-altpause-circlestop-circle	handshake
envelope-openaddress-bookaddress-carduser-circleid-badgeid-cardwindow-maximizewindow-minimizewindow-restore	snowflake	trash-altimages	clipboardarrow-alt-circle-downarrow-alt-circle-leftarrow-alt-circle-rightarrow-alt-circle-upgemmoney-bill-altwindow-closecomment-dots
smile-winkangrydizzyflushed
frown-opengrimacegringrin-alt	grin-beamgrin-beam-sweatgrin-heartsgrin-squintgrin-squint-tears
grin-stars
grin-tearsgrin-tonguegrin-tongue-squintgrin-tongue-wink	grin-winkkiss	kiss-beamkiss-wink-heartlaugh
laugh-beamlaugh-squint
laugh-wink	meh-blankmeh-rolling-eyessad-crysad-tear
smile-beamsurprisetired�������4�z�4�|assets/webfonts/fa-brands-400.woff2000064400000227130150753125220013007 0ustar00wOF2.X
�-�KC�?FFTM`�r
��$��6$�� ��{[��q�и�K��b}��t�O0#�DE�bM�8fl��H�g����#�ȘM���6�������h`nAb��!��jo���7(0�If0�d��ՓP���9Ȳ��b	.��o�tU795�y���W	�beh?:�O�����3<;gj(l�l-s%�%��7q�TI�T�_�a
�aZ
+�$Ux��Q34��F�'�4$�1%����p&��Z�fa�3�
���b��1P�=~a�Ϻ��H�8�f���jҫ!/~Ǡ��T9��R���Aj�-��S�����
�2�K4:o���~��G�<U\ID�hn"�T ����A̧��Q���t�5����o�����+$��`I��I,�MT	OtH��_1O��H�T!�aM�*��*�2ā���r�O��]��+}�owˎg8N�`f_s8�ʖ�H��ﹻ'3�Y�Y~C��f�r/�;�$��K"/�H�4$L��Ĉ��z+_ߊ/M�������9��gyI�D��%i*hR�#UZhj��ѱ����(2lc+6QdL����&���)�y�4��7��K[i��N�i;��I��<I7�<�x�ɣϋ����rA�nH8������Ҵ�����",������w�T%/� T=R`@
/_a޶{�?/3P��?T�j���?�eU�7s���\�3^(���G�us~=>�W�&*��0;��v�0AmJ�S�A	j�{�������e��3�`6h*�$��A�w��y]-]I%��qz�'�~�rfN��@M�������h�̫��D��h����-���wU�`�)4�%G�)@?��a��پ7�fy���64HV7,+`���q��G�|����wW��;�0^,C0�!�6Qt���Yl�����
�aI��-Y���������������I#�a'��c}w��\&��B�x�_��y��7+#\*P~ #"�i;c��~���p0r��L�:�3* ���xߦ��97`Z����b�_�n+l�1��$2a�ߦe+-�X�L�_OP�M��:�#ؙ��h�Œ$yA�4��"�>`�BTA�G��͘�|k�;cf䃑�9R��*@�M�2E)��E���A�ڳ�0%C��r����8���`�yU�Z�aF��K��s�s�{��ۢݢ�����������H�#�,�G�l�����޹�Hc��v҉�&�M��.�P��TW��A�{�w��m�m�$M:��2�2�no�d<�%�%2QU��a��񹇱�0��0j����c�m�;�>�J�FY�J����"N���?g��e%H�Ka�$[�n_�o/���+R
p$�E���/�]���}�h!5������\ �37��3?Pa�n���ѥj�왧��z��ֵ�Լ�w�/���K��W������~�w�ٺ�nR�=q��[p���������[٢}ߌ���(#h��	[X��ܻ?�̐jM-��|!$��j��q4&Ol�st�\q�#�������6���ؒ���̋��gw�mԼcg����O=��bےu{���JN��D��4`�v;t�u�<�lH��k�{�Wxy �NI]s����{_�3��|��������XQ�O(��@1Mq�س/�D�(��NW��kY�h��O��t��S�ٯ���K��}�+:)�O|i<ϫ��^�?a�h����?z1���?��3�����66Po��Qp6���:`��v�a�uV[e�����T��+Q W3�0��|,\L�`��>g��<S�I�9��HE`���X�r뻳n*���&6ڈHSI��fR	�
�=�[�׉�_"�$������ �j�Jb1���I�w�{�g��(�(��h%C��Cq*vE������
��E�*y��!'I?K���)��F�z\.�޲%���w��3.��z�d`W���������iX�*(�L��r�XB��%rQ�FO8Щ�>Z��L)�!}��N�*
��;Ȝ��߷hk*�YH�(���o4�nd�,��I��[M͡H8S�%z����M$Ϩ�h���-*���$10ˎ��!�rNBi���^5b���.�"3�6�i���/M�81I���*ߠ�'p936�KuI����&)�M��&�g�����Wq�­Gq�I��H��1	�R��p��U�	:u�Z�(�,=#U����zWCB�F�s�o	^rd@0��L�1Z@hSEJ?�-ğ?�\"�2��t�:&�H#T�te���SE��lϦ>���;3{���[�7���'r(�.͠�K���+��-�\��<Ʌ��d���@E;F�o
�A�t���d�0��rI������le*P=:��u�x"+�&XVG����J��m@�SL���E-J�V�h>O�"��N�Ƭ55C�z�������eg�ڕ�� �蒺�\׋�@<8�|�Ѹ%
$M��ֆ��!�A!1���
F<�)R� ��J�Yeg1g�%�FZ��te2̓BW��ISv�UF���Q��-X&b�b�Ny��L�3Y�u�g��*�r
��6��^����$T�ߎ��II4�~H��ی6��Yc��윷������X��@�e
e%�u��s�C�/���s��v<�`B��SR�4���ޟ7���Hӡ��1�~ӛВ��6�ۀ��1��,���L������0��FC�<�T2欖K5>������P�0[��{�10�"�,���z�@�Qwrr�Cb���QH��C�mJ���倱�k3ܞ9�4n�r�]s�����MA����ASg#S�Ōꥫ��m/B����*�*�fY"<2�^0Hq�܍g�,q���xA<�I�o'�Ϋ�g.�斸`�.?�D�<@n:�1�+��Qk�m`�_��@��1[�c���PhU�U7�D��K�ȴ�Nw;���Fc�WX��mv�e ��?����k��+l��i�w֏v�щ�~B~+Ѭk�!���毐�U�(qꥱ���W�˛Ú��	�3>�ɶ��Pl�Xs3�cmF�6lQ��mG��s,O�Y7w�j��B)���2
���>��}�n�1�b�x��n>EW���p\�>�f
�H�DP�I�W�R���~`���\ݹ������.K�螄©���x��+�LxT�VۻG�ZwŶ�N���{hb���Dt�]�W���B�Li�)B]}W�S�/��f�j�W�
K�JGG�&�;�<2R�.���E��h-D3�x}V2���c�����e�]`y2*�<���d�
���W�e;�D�ױ�C?�����mp����];�f��[+�;�(��J�x�x8<s��/���.~����|�V�Z��������>uU��m�>��eۼ=�`�y��q���.l��GSܙ
�`�&�o{�r�|v����gZ�"�u�����g�R��"�t�yo��V�Ֆ�Ij�R��}/�Ɗ-M�D�[Kݘ�V��r�f�qZ~=W�#Mkg}�:�&�	��1㓖`�6�r�̗<���r�WDL$�����H�Aby��q��յ0�:@��]-��U�i~B[�g��H$�̉*�	�CƮr~؏ʗq��G�Du8����5M(s`��=N/b{����p�G��~�sT���ܞi�1�
��AeE����ց��w�?�K���[6��y��q���>�4\�}õ�»�McЩ���#�g/u)+�L1k�`���:3������N�Ld�M��I�y�8��s؋f�"L�ȑ�c�{=�/�d�BR���̆�b��ob�\|>��&���_�8������TS�D!\�@C��؞<��l��|�aA�����z���ryR��Z��2�;g���1_;��7���S���}b+��6�����]�>`Y��-�$��0+E E&dS���۰D�v!��r��@�GT��A|?�]�:v��B�	+���K��s������*�
����o/�}����T���ֱ�/-����asbm�Vo��qUx��2�h�������ɚ�LJT��9 �o���ݝm�+�ɖ�v��#J�8x՜��s�����¦�>�pV�k2_.��&��)d�����>eﱛ�Kz�V�5��6q[�uX�;�5[_��f�֮{v(�ݮlNC����tL!Bv[�S�S�u�Z>	��Z�� �#!j:V���_ƃ�I�Ca�%�Hȁ��t-�*�+�g��$�qN�kx;��:������r~R6��޷�	��B�`���5gsa@��C���[��{�����-���8ly�*���,Uk�@��!OD%>
8p�0]�f�������� s�(�,_gZ���U��Q�-�s�i�cRI��2u},��;�cd+cb[)T�/�m�z��!B�g�d?vo����鷃��A�J�|\�8`~���񾗩�a�
V����š����VB}?=F�&��N���B{͂�m@���>�tK�Dd�fS�Ѩ��B��g�
e` kM���Ka9^$��Q�-G4���1���̭��I̥2F$3��:D�8��L�D��J�dy&-G'�n(�tժ�!��(U�D`)ä��
�"c��9�H�r�T,B�>S/�ټ���[�D�U�v��q7Ǖ֙��̊�MD��"F& P̎(랐{.��j]8�b

u�x��s>B���������w�}�@��P����ɩp�}A ����D�;xa��1��Z�A�R��E�#�Fd�k�z�����]^*�I��A,�u�01|n�4�t���.Tr����d���I���kKx��,`EL��2��x�U��7	ink�I�	oy����~�HHx�ha����h3�����tSx��Ջ�4��h�Ύ��ޖ��+]e��k�Mq4�V/A_:��^�%���Qy�kz�5�B;�0�c�}ɱ"�n/�;wT�g��j����Kb]z���Lo��sh_oM��:�y��+k��,B�m�WkOz�wI�;3�Уk��ϴ�f��)d��0�����s:���S�z�^k���d����f[�CI�W�9�O�F�A��F��a�zdŗ����8�{�VG��ѳ��,���+p/ ׬;o�'r/�	[Hu&B��
%As4��rv
�zTǗ'��Q��V�Nx��M Ԫ�GHD�Xb tD�b���:�Oy���^@t/^ܽZG�=U��N|t��
,4�$��=���@u3����Pjb�N�*�S7���ww�n��!-s���H�9>S�
8�8}`�r�y���1�F���s�`�9>N[��$3~�`�����Ϲ��U�H���!�����5����DiV\o�1�-�XN�\�-C�������h��X�X���p��#s$��ND|y�*6���q�@$�S�kQ���3�|Q����LїT=-M�%����f��,G�j#�Q��]3Yͳ4'&�-�,��?*��Ny��˷6	j�v�W�3�߀7i�j��<G��<q���ZZ�C��B%��X�c�V��D}�?ُF6�'��$�KE�|뉛�	��Kbw&��rYQ�[�Ps��;5sұ(��TA&��霬d�H,�H�Yɨ����*��3�젾hj�^nn�E,�X�4�7��h������4��:���_��5o���)̘����xYn"������M��ͦ~W��2��#/��.�X	��)�K�R�Zs%&o�bD��)pQ)��)k;�*H6���
*鞀
�J�c6m"Yk�j{��f�
h�9.��
�j%��> {�@G��%�}���*7?�fX�W��L�zr�m�}?��')��D�嚾��R@HF��A�$�'/���ܐ�
��n<܀����R�_7A�=2i7�5S�a���ր�i۹�'F��kR����֛�G�˃q���$q�z����S�6m�bM[�p�1��������u))ބћG�2~����5�ݏ	�t}�~t�����9�GA$��(:�_o��]�Y�o?�6���D����7M�o�_�7?��E�vW�B�PZ/L]<&�	-N��F�._�1�hAq�?�=%f�;Xr+�PJױ�~��Kv�C&�'����?ո�]g5u*����E�����2�1,���O���1fġ�ݦ�8@��ª�q�聚�T�]���f4c�����/A<���(�$�l`p�`|m~�&�IA̱���0sb�H�pOP5��~�n+J���<�҉�����i�^N�6��KE����q7yC��B`ws���<��`�X��"���4UbT�I�׌4�BȲ��A�s�5�m�ިݒU�G�X
.ZZ�@�:���Hm׌���9GB8Cݿյv&�C5l.��:Ť��Y������t��m&$�s�I�<Ւ�?
�m�Q(Ђ^^B���a*�E��l�!ԓ�h�df�r��֜�#�{����0K���4�3(����XԴ �"�����')�����>m�K}
���	S�G���`ֲ��!X_a5ЏH�q���P�_lhy����fb�E��RY�C�X5|
���a�Z��H���P�h����^Qr�)�ѝF%X�c�����]�C7����6�GW)n]g�� �^A�T@S�0Lp�S���!>#�6��-I繽C�Dz���������pQx��=ֻӭ����u�+���O�`!�*`������g��hst1���Wv���2V+`mx��)�S��8�'�H�58@��5�!!dm�E}3�F�#;�*a�#�.a�_�;�ڎ�Z�S1�6�run6���ro�6�*�Z]��-�Ta��۫o��xS{�ԟ5"E�sn��;��ҕՠ�5���Az/:�D��M���!u�Q9ݖ�3���u�e�_~���6��BZ،A���
Go�B8���8��K�쎚�����J* J!W�c��"¡8�̭��:�!�gH��c]%���l
:[�Q#���:Ɩ�|����Q��LiA#lFh�/c����Jϡ]T𸴝�{�u�.r�uW��z�(P�9����FvOo�����k�8��HJ*	��$���QZ��h�̀`���՝ʇ�V�-˩��¹�)I��\�>6�?<�ڠ�`���KObGA$��3�H:q�:^��/��d�v���j��$����sۥn)7������w������tI��}걋4��^��eQ8�T����$����}�~ZE�o�i�$����ز��-�����޳�y*+����(6�%hS��iW��M�#a��ַ�]��{����)Ó�����J<n�Г����_��YO����'
9n�����Q�~�Qy�aE�����[��?T��W=���<]�$�夂rQ僴���L`�
���i�P/�X؂�Bhԗ�"�@Ö�B8��.�V�gh, /=�ic�Y�|�S��ة�=�֡RA4ֶ ֎�)�O���υ^ۗ\�����95����C�=���dA~�dkT�bǗ]�!@� �5�}�ٷ Z�Օ�^���:k��|�=l<k�e&e��j�
���ى"�K��{��Z����PN-B��Aȴ<�=�xbU���ެY�qZ�.l���+�����N�jFS�@� ���﹁�
V��$�"��m������*�8`�W���ѨL��d'�
�
f����<�p�'tĠ�Z.�����:^P���7�*3�ނ"�Tl`O�AXtV�@ *^���t��n��ՋF�=Z�P�����i�o�
�n~wgJcI!�����"B�/�VJ�8љ6�섩��L�iO�}�$γʽ���\vs��S~��l7����N��(H�K��a����d�K�Z�םS���I�t�J]3IJ8qg+Xp����3�N���P��;AD�����A@�dpRKƧ��򁀂&��@��B�e���$T�~2K[����Ol�H:&;�+��=Ÿ8EW8��6 "_5-B!;�����
�[ݶ�lW�-�	���A�)��E�[�Ȃ	��j3;��]�]���@2�FX`�S����=��JXf�({Yg~T�-��d��z��i��s�AsIB�2�1�N���\�F�t���oGL��>t(��]��WډHf�o�4#�\�q1=���K�?�[�#��es� Pv�8��"%!C �@h4�?�}^)K���.�YXEn��(R�J�t2��i/X*�����]X��F�Y�!�8r;�6BQ5������O��9{*zXN�����f�n�j:��e���H
2�K@�5ҁp�}N��(s(sPq��j�S2y��JP������q��w����M�Q0�0���}'dv2�x�����
�G+�Z^3e���p���6��!�ÁNUUZ��N���/�'���'�(�V��<�E����>�b�>�..��?[�"�A��h)��~��T���.��k�I���U��!�2�U�p��f��8��0n��I �0��If1�̎z3��Ŝ�e�,��BTա/oL��켍�ĵ�P��A��v��y#�}�`U�gN-���j����3탟$/|�����s���ǂq�����vF�َ�s&i����@����ZFF��`�����
�=l�.w�R��:��f�gU�_��7�{"��᪲Ʈ�hJt�������	��@*m$6���
}F�^�y�����/
)V�<G������}������uSʼ�I{�G>����H��+�$�RHT���N��!��,Q;B�/2���폐������-Jhri��&g�j`�\/�Esg�2ޏ�C{$Q#�Fn&
GƵQOp�R������f7��0&���6�3^���4��+�g�l�-=<�6����M��'�ݛ����n�5�򴇪B�t.�o[��a]ؽ��Ex�*��zR�S��'�N|8�?�ig���믆
.[����I�B)]L,�"�E<��5�2l4}�P�x5l���:{:�V�F�B�#9?�}.+��'.�7շ�����b�@��@��]�ElVc���S�(��d�bOAױ4�)�ҵ�b$50�dO֚A��A�^��#�T+:�W���N�_g��=N����~��3�dt�*�ߥN�vv�O%�K,o����ٌ�wmX��(�ك6O�Mf
�z�˘N1Y��7'vn?i��-)�ɆXA_���]��_�ol����sm���!�t�8{{�Qa,,�
�n����80P|�2���Űf��CU	���9�!����Ɲ97�L��";�k�SOQ��r�����Y�J��H
�\8ib�A*E���5��${�;M�V�QA��,M�$!�<v�����=I
�c��F}M��R13��*�P����$]YG���èq��E&eV��P}̱�Wk�/�E�>�W�Bs�B����<����^��gS,�K?W(�0�n��Va%�<��f�uq
ɔ��!�$��h#�SN0����@�v6�\/�zV����읩�/�����d��@��i|U�6o��y�)p������1�DO���A!�r3׌Cq���^7{�[�.?��	jX������"�e�
��҄���o�_��r;3wg�~H�o�-.�5�_���I��:�p4�||g.f�7��/hD��a�`_GC:{X%��SQƿ�)�0k2f���뫶 �,�l-ʌP��`˦�:��e�Vr����9�˭���x�O/fnT���?~�9�C�#��l�E�q7O�l�G�{��}����v�M�_�Y���>&ۋu+|%��eωb�v�fG���<wX�~����Qt�r�]4i =�eű+����	�}郏�
^�r�o�j�'Ӿ���f—PaC��S*�wz;'�r�|Ž/��Q�|��L���N��;-Bi�-��!2/A����ή��W������I@
;�0S�OK�㟇�>�Gq�O�M��ũ<�+��+�v�+(��)��=�3����Fo<9
�q:k�t'<��{2�3]¤�>��ΐ�Yi��6�O��%������$�8i��ETk�2�E;�2����y������:�)϶ȵ��Gxz��z���Y<�C�o&�8�H	fF]�gga�0��P�Aݍ�J����`�wx_��g)�'?�hv}��������*�"~c��&��j�ó��CI���5�2t��v���i6���;����x\�I����3vu�/��H�n ju�j�C0e� �̤[d*�Qԕ~j!�e_6")�w�%�A�6"�&�Q�]jƠ�x�kYC̩X���{B��k{�!8[7;��8��4=
��n��S��Qr
�=;g��m�&ko�?�ʭ�I���lcM�Ly[K^Boi�"��93��I�7�'�c��E.
��`�|��䍵���K�9���:ē� ��쿐:m/���n���X)�&��K�,��r���SY.�;w�M#�?==�A�:���ui+'�h��,*�Jǵ�c6��e@��sR�GK/Cc2�R���<���|�%�_�v�D����9�0�
;�x�@:�����_��>�ї�:Uw3�(O���bub�\�5癓������~!Y\��e�o�i?���y�†OK��i�w�z�V�ue$>�
� s�ƃ9��x9n:�+>�M}[�W�UZI}T����V�a���:��5�?Ci� w��}���VX�~%�����G�v����m`cp�W 
�����0�p5JR&
Av���G��v��6�!%U�Uo�Єwg@:��n�g�W�'�$sƚm�^�@�_�	_�����&��T9d}��Duev9�Q8.�����*%�9Ovgy�m�c�	{�g�mIbd槡�_�����P��e�S�I_�%����	q�x�떧!kxך��q�wϡ��l���p?:MacPy�_K�o���͖[�_|����z��bޱ9od Ь�\��,a��ៃE���{�X�k�����$8:�`?x��v(w�ů/����/��ָԽu�3�qaks ����?��oƠ��˃�x�'9��U[�V���[�Q�؀�w�ϑGx;5�C�4
ڪW_�.1z$7�goOF�i��֤{{w�U�A�rEt��]�4���r����ɠ��I��M�9z�C�F�
y����Cbx�ܢ�$;ޡ��br`^������Ao��ЀW���^��)�ˆm�=��� ����zN_5cI��z�	��^���(݉�F�,���Cku@ۚ���o[��z�<+D��	�����X��>T� Yv{z�D>*CU�
#�\AX�(��A#�ؗ�k
}�sƢ�&���D�~�}yu�j&��s�͞q����ސnӫ�$,7��[q.�6���3���W� x���1��y}X���U�֤���'�Iz5
����Y�ԿH��$9��E�3j�±�s�/  �]�e�Z"���"~�օn6@$ 2�b1�pEw̮UVPp�`�g�KBt�*��mLg+	aʉ�з	���,�2����Rc�e�,��ǍB��u����b��@<G�oS��'az2f�NmG_�����)G/� v�%Nع�����S0>`�+��7�ln`�D�
/48�2���}��v�-/��z+�'-�SM#"?'ۅ��k�>�6�{��!xx���ç��t�'\�ܥLQ�Q�eB�2�,�#�i��8.�=�"��e�C����=�Yfv��֠����:[K�"������\�)�bFĩN���FTn"��W�a�lܽ����Y�5x'��L���UJ�?��e������*��ʵW�U#�u��]����G�Qk�f��s��#�RR��]���L�֮#���b��j/
X*�3� ��s�A�[�d#�1 ��=�E�@�n1�M��R�xm��M����)[��P���_�C��6*�� K�����9M���������
�(���h>J�G�AK�JҋM:�;)I�xG>�������4�YEث����:�E�)+�$��j�OЅf��%k+=��Q2]����]���#�q�.47�c���0�k-K��7���mg�^o/ϳ̄�	:^qMyNҽ��ښRA�"E���OZ�-rL�I�<�}M��$���ģ�n
���H��%��}s��v��
���Ts��ހr?V
�}�*�a�z�Q���mNk���|U/�,���TN����l��0�[�t]9�&^���'V�6g��3fv�y�p|�c��7+����R��cm)ra ,o��;@��פ�E�����[�������(#�u
ӇՌ�kX�o�����a��Rm��W��H^�hK!T(Wn�]��
���S����<ϼa�aH�L}���}>�P��b��!gI��C��Ə�2�ea��ɅN6%7���ɔ܍��&Or}s$Qo��F����|�+}�����Tǎ�����0ߜ�:Q�v,U��K��`���r�G	����gl"� ���
4�)�8����%{�֋��G�tS���d�V�W~�\�}#��,�KM��#q�+i��f����_[�L
?%��(�K�7�P (&���ܹD!�����Њ3R�j��媟�Y4-R�-�Qm��=�,�RPN�9��RȯѾ��s�% bd�9�����y�S�A`�UM��
-��@|$yО��專���O�X��RnR%�B'V�vГ��\t�Q%�|���ݧ�",�ޙ��~,څ��9ũ��{��V4衕�u�T7�§���N&r�.\q�&�i�pN�v����u��6)��?�$u��@l�
1��(��eh�a�2u����KV,[D�1�2���U����ƅc��fF�%ˎ+��oOC7#d���U��D2X�Ѥ��m��_7Q�݄ЛG�,ï/��_��#B�(��[�G��O�O���[��l
��K�v�Y�{iUn� ��r�Y~�G�g$$��0�4����	3�ݵ
�K3y�T�(!�,�t!nM�S!NqIԊOӊ�G�EOm/����{��:��m�(��fŜ�cp���N���Xf�)�%Omv-�S��v琑_+�_Ұ�=�����R�ݬL0�K�1�u���j���i�"��������a{b�y��!K[d�����=d��,�=2�(�)�t�Q����_&#8��W��!��셑i�;�b�C
��;�N�����B8�w<��wd����ْN�U]�S�;��n�z礀D�:��z�f�@vA�k��mL���'��C­~0�E���R�e��-�<�;���X��f��8��� ��?�Q�]��`��z�-h��`� ��	X�|��b�̌�2�d�atn����ߡ8s3{%��B��F��4e
���gvmE���W�&��!���wMަ��g����Gt������[����_��֧�g�]�~�n�x�e�J�����K�N�K�&�����k��5���C������4;��2�@�V���#��5�9��6��c2.t2��Y�60��;
�As��C��s�豀�@�5%��ru�#�����I�)6��)���bJ�ȠPL{�R�t?���8���A��v(hG5.�,��}�!�~�=�	"��)$r��9���T0�ڶeTR"��}���:���`W��@�&k����
���}mw}��;'�c̈́�J�AzJS)��X[�l�E�a���։�f��x,]8�/��)�,��`�u�A6��	�KK�/d��wU�1Y����.e�	���!�?fqM]5k/˽M(c0���=q�
�9�1�ZE�Vnˣ7,R���9Yo��"���aA��AM�@t�$�9zTս���?���U����t��K3=D��
���i�Jh7�J\����p~�B�f�N���&����+�%�ϊ��4l����&o����̏��� h�:�ZX퟽�קw�e�KL�ƃ�4,������j+��;o�/Oy��Q�oc���0�}�E�!Br�V�%1&ؐ�b4B�D���wl�U�W�]�	�2a�ilY;R��H����
})��_u.%����i�l$E?������vϒv�i2˼����WK����4��U�����.�a��O�z\�~A�LX�����6��Yi�оU�{��PBHq��sb�t�`�I�7#�v�f$� @������s�u�Ֆ�
M�EF���F`I�\]Gk���T�Y�H&l0Q��r��^~�sNi_D��$d��J�U�bY�
���t;
ݲ���(�;�A�S(��\�b�J6nΧ���2����ZsRuk��	�*�x�S���w�j�d�&nYmQ��&X3-a� �R���A�F�z!]:DP��Q��*�j��	p��V 5t�9�P#��M�E�CD�(��2�m�B��hvP�:�������=|��AM}Ia�����G9��d,��lO����w��V�m�]��½.���c�f�g9�!~�5�4��+�&-�,��t�k:ns���)���م�:�� 8����k����2.ܖe�*i�*���T��V�텩����'w�y�=�-��9�j�Nz�B�����I/<�s�DNm��Z�U��<{�[�_�,5�����ˈl�u�,���9�!/p�g��<���(�ɍ�4h��N��ܧ[��-~��(�Y��f�z���}pWr��翇ީO����>v�f�8��U��Ȧ#{	�w�۟����N��@�ڥ��_/�
�(�m]�obk�S��s/�w����a��?��֟Cp����ޗ5c���a$������"���%>l��m��ɍ	X��U�{-�%�#�56�]�d!tl����i@v5%���V���/�s�Z����p�F}�tq�<��p���ڂ�Ǵ����z]�@����wrjP�r)�6�&��O(I�8��'�*6�އ��/}��Ɖ(f��m7��a��u�
r��Y�hZL
�,��j��<�IW
G�����B�BZ�>�����<0��y�<+/��9"��X��u���l��}1�4#�0ѣ���
7\��o���3l�8ǻx��T:�`2-�E�i>t nHA2�Fv�_�~lP���
�Ҳ �e:%`	0b�ш�2��FYy�ɓ���3yAB����
Y���\f&���l)�M&!d<`L��2a�&�{��N�S�Y��o��EHħ�	��*k}�(%����i��T��S�I`X����fw$ܛ�ԝ*M�����+�9NO�<��=�89s�3���71Q7���W��׳��� #�N3E�H��3�ZI�f�	3���:�zR�YR��&k��*qVV�g��Zj�����cM��L���:e�[yNDk���Q�ES�k�/ȱ���`���f��W����v�I��Y��x�	x�zj|Br�k_�IƊ�('��i7�!cX�Ǘ��7���B<SO�u�+2?$3��,r���t�4%O����b���i˅7��<>٫z�fӘjL�a�\�w]yNF���Y"h��-�{<|��C�ޞ�;?l�������L�&&�˛=h�ZI�9��li�2���x31h�L9 R�!Ԩ�2G)�Uv�ѐ
[s�%4P�@@��T�N���1�gX]��j�ɭVkle�3#qt��w�%��J�e������=!Œ�!�r��6��TYb�,k�[K�d���"#�}��jY�LBa�S���U����,��'��(�pJ��!Ĭ"G�Ɔ��4כ4�+���!�$�]rB��o
:�ti$FZ��<���$
�\�<Q}p,p��k��Q�<�m�DI�z���T��`4�$������[`�w�IL9�����Z��<����.Y�cÔѮR�I,�8x��u�v
��F�&���CE���H�C��\ID�y�8(�
�
�$���h�(�Ds��BBr�����q�塂$Dk ���Q͑�*�p���������ހQ�ۊ��6k�P����I�!���_�K.����w���.��}���?EJfFw�\���� i�o!̊�V����	�
^�-��R'�*\1��;�Y��(C0���ac5ij��k�ί]�>�P��c�.]���"{�u�Y?JQX�&�M"�ř�
��}�g?T�qT��'� ��'��I��q�A��O,R4��@��ax��B���˼"&M��RSh�NN�#%<��;M|��!�@�(I������
�x�.��1�CI��I���F��y�U�l��gt���7|c�X�X�<�Ӆ��ک3|�_�긣�� ��	�m8\o�J��]R{�,���lR���?���BB�'퉒��� 6i�Z������du�Z%Q���X��d�.�AC��ZCӰEd1c�w�RCn;����Xƶ�R���=Ι�˦CFQ\YU AgY�h���|�d�"R�E��i�����+�\=�fP��
/J%�;:�ޣЬ�=�55Bn����{�L%<����B*@wa�\Y��T;k�Z��:�a�7�8�2F*WxT^E��Q�R���S�xc���Z �n2W���`�7�K���=~q�8�l��W�8��&���%�ۛ�G�+�|����N��"�_��	���H+){���h�w�,;�
,����|���;=ᛓ�E���
��>ޙ�����,a��B��?K� W��{p�[���$��@����Ӆ3
�ь4�;`�ы)[2��G��A���ҐP���s@��o�t�Q�O��δ�zi�4ݽ�
��h���3�Bn���Ҟ+;�B"!C	��ܐs�Δ:�Q�(�#+�j��S���~ۑ@B�{A|h)�9N��m���v��Dn�xX��{/���s��g����i=@���^�i�tLi
��0��l�am�
kлN&P��o�杷w���`}Ы����ߟ�v%�B���N~�,���^����ٵ���x�\\(\Ljxneo��*�&�*ɜx)x`�"Z�Ja��AA�"G�����h�����t��a��~������(j^fY.�o��['��������Z�>.�]�t
Xx*B����#�c��g��Bn1'+?�ue6�]��r;�Ɵ��N��t]���=���gTcÀ,@I��b/�ǧF3۫����׳֚UV�آ��>������{�fJzGm�2IG�f�!�I^4�r�~�7a��2�
�'.���k̯���lB���M��ƹ85]�c+�F�����?�0�Ekj�*��%�္�1�I��*����	���gwu%/��.+�ak����H)�L{����zt������&Z_nM,�z�z�i	XR�<uVf�AY'�ǽ�vk%�S�`��h��D"a�S�7�h�U!dw���/{�v����,�˝��)sEj:��G��%��4�!*V���F+UU3$��8�����''5�k�VU���W����u�˹۵k0Ԅ����G�$�?g1l��
y�U|���
e�1-�u�H�����Cz粪d]{�:WZ��W���՛�8N�Qz��2|V�dӅ�rf#f5*��V ��L������Ӱbgr�;���h��~k��m��>��l�Dž�3�
ݻ+�R�̽뢷�_DW˶�/.�.0z;��P�`������&;T���p�
�-Y���XЯf�6���{k<d/��/�`�{������0tdwx�m� �=��w�ތ�T� 6�(P����IRr�o�����?f� &QG��`G�,bf	�OBd�
&&i�����9���"��
��;>tT3[����3�X:bJP�+�k�kP 8�`[�W2m�t�p����j������p��@8���N�g���~�:6���2��d3S����
$D2�o����g�V���ѾT*��N�I��a`���s��gu�u��٥�_�brq�u���f&7���á�+�k��=_p\��5"o�UݙP���|G����7&�Hh��Y��x�
���c
rM�dF%�L��W��8r(�e��r�yL�i�]�t���g�#��+(�<g��
.iqm� ���~�C��և[�),��P���;v�щ�KѸ�:c��X���b�����M#���ꍰ�n�O�ơD���Ƚ��� 5����5D�9�?��X/�;�{�ĕ�?xxQo~�(���>�'K'��ڪ��
,W��2�&�I�Z�E�&����l����b��W(��)Z�p�*�yo�2�V�œ9+{�6�]7F�I��{g�;5c�\2ǎ];���Ƒw�+�,`J��? ~�1���{��O�^�&��c��͟1��ͮk�}�]�����-�$Q8��t��!�)n��1߬sw���MK���0�@��En���l�f�X���i��#Ksܢ{<�f�{&u+wN�S��b���QJ2�*� �.��O��5�J�1E!���=�t���2=��4{J����s?�i�����������# 5}$��J~WYR��	?H���g��-�6�sf��ئ^�C���Y�9��T�=m����y�,ZW�T�������U?s�U�N(Ij����(��4�n	J]��}��Y���,5��b2,[!JJ	�G���~�2DN�rA��""�^�ܪ;/N`���*x���NjUi(IC��
��	�-���A�����z?��}%j���-w:��>�����%�f��3�Nh�%���/�'�7ݐ�Ъ��[�]�$�0g�CbV8ƒ��g>AB��G�@���X�Ŧ���j.#�E��Wo�j��\���c�*`5kw
��)IdDw�1�
�-��eLDžA-n�i�Ε�{�-h���B�m�t�ufZ9�%��s�ti#r;%��`Fl�Ͳ���s2��7�;�ne��g�1x�J�g���p�X����C���Ҳ�T�Q�+�"�,Gh�5�$��/�q�m��˴���,>���$��٧c�#ea�s�y�Hm[�.�>�5��P����۾v5���_��߸\G�}=�?y�}�Μ;��v��jg�yo䃏�z�Z;��%�Kl��T`��mA�v��81}��wZ��V\>iJ�i&2qU�`p;.�$C�R)J�hi�zs�H� E��p�H[*q.�4�QnH�	̤!�#�H�?lS�*8E�7�垭�c�Ɂ�yY)^�D���K�YU�J��|[b��(PmB�ۋE���S4C���o�I��j_�խ#�
����޽�!u�zr��o�k��"����W�N�����I�%�EG-P�����E�W�06����|��!�!�WIs_Ӳ��Z3�7`�^���ύ�ιs�||y5�Kk_�2:v4I���;\�i�h��N�ݜ��GE�����Q��vb�ޥQ��9̈U.'
��~�0kN	�����O�J�;�a��k%�jx��H�}07GJ��e�A++�B��
+�m�r��9���xE�bf��-R�v/D������!��L��LD�8J�&�0~8��c�H�B\�Da����H���#�Y��i1_�ڌ�2�8S����*>���$���Pށ(_�>��#�ߤ4�"�H�˂��kD�G�&)x+{޶�J���&b�ZYdľ�(/�K͚�/p&�[	�`�32�V��{v�g�r�~!V0ծ�€�?��3�"�v�.�q�u�kPo2�V:Tf%�f�LT�n�^ɦ���$IK��	�КGs�	�+�ʁ��>b�r����������
�+�G���7��9�vւk��q�!g�
6�<�-��d�R,�b���)�:e UX70��X@G�c׼a)2�K���ߍ�2‡���\O���r-�r�:�кa�X�_��@v
�d7i��fU�y�-ש+��C��~�+���\��\��y9J����e�Bl"7(0SuI(s phu���H[�����Bɽ<V��1Zqĺ�x=X��Y��r�L���<��Uڸ?��ǥ�����'�Z�2��;�~�Ȉ��뿽-�vjC���(^�la3A|{��K�j�UK-!YE�~c7�5�<�A~�4��#���i�= n��~
���F�4����9�Y�������i/1 ���;aNl��'
�|wX�^D�|��x�4AH�4g>4fw�xD,ɔ&�i�9��I�,*��<oȋ�\��sj �1ˁ��Rt�Lmf.���d�B��R;��<]U�N�üWMiݦҪ?���R��#6���[S�^�ӈ����Z�4�f�w.��)6�P{��v���M�,7]�j�� ���]<Giy~4��5��{�Ά\�R:֖ai��������f�C0�uXF���em�z�(�/K�]�zO@��X�.j���| 
�8�煟^Lrn�yd �=@ �W2F,QHS��s�߲���V&!�8⾁�%�hQ�U���n��<R�b��1ל�O�;��o���|�KqaV���iw�1-ـm<;Q5����>I��x'���ڧ�T���AXgnxd�cA�2�#PA�o���0ƒ�۵)\���&�fxY�03P�fZ+�j�1"=)��dή݈Ӊ��2"��2�O�X�̝h;-&���\�� VF,�R�PaS0���-�2��4�Q�q77d~"���~Rܟ
t�/�ٳ#ik�����.Z����'�I+�Y	D��6�n
�y��J�Gؤݩ�آ��^�pԐ��k�2 ���mh}��d(��Xh���
��)Jmwxni���\�1I;H�]�Z�EUt�	-����J�L
��
ڿ;ʍ���ڪ�K�1-С��J�;�v�EG��u�n���sx�E�JQ��o��lr� J1��d�v���ܘ,�"���CkT#�t�'�n6� ���Ғ���ah��-%T��-FTd]`���]sa?���_5��ZA���k`2�G~nď/(}�L���a:�Vœ�D�t~0)��u�������Z+�e�"�aa�S
}ߓ�p�Ż�W�9wa���PX��럑Q��ʰ���zm��.6�1�����~8i[�y�`���546��� V�2��߁���F��q��~���\��n�$���S�[w^�9�F��V�G�݊��q�E�tS�,�&����0x�:{�qPw�LKz���/�f��Cl\��B�QF��hb&$�"�	&"TD�.y1C�hZ�`zOP�0�׵u2�C��?�3�
�᳈m�[�അL2^���C�|!$�D��3�"��%
��9Ķp���B�m�g��:���9g��f@��B�d����-~WR���6�C �1n�������H�:`���e���������32�Z
L@?���D��������e&��³<��s�܈!�)�0?.��f�����2��JI���3��d�H(�5tT����EI�e�y��\r�"'��(t��:ra8�p}�
D�?�r�45����>��#WU�
>�@$����ȕXKe.�<r��r60��(Ӵ��B���l.Y�P<�;	��:�T�Ar�E�ŏ&4�#,.Aй�����X7���d�Na>l�pK��[��tDY�J�QPS�s��J+&Q���B�[�ܧO��_�v��P%"]����U�Ӊ
bY;G�T�8;I"�!4��Gq���\�2��&xu�TÔ1��ъ�v����Os:{x֭b��Y��Z�ڃB��i��y�Hߛ��� ��+������/�/�8���l�f'�z,.l��C/N]�/�R��k��t���<�<���>�rr<��f������X����_�a�]��JRSE
"�0�Xs0���NĈ�Soj�jk&1Lay��6�4�]�x�e�c�+�'��ʻ\�W����O���#%$6�1b�#��5�:�l�~*X;x��<>{�c#��_]	�PS_�q%�l0�*K�Om�-�yua�7,�g��~m���vv�&�����3��T؀��7��B�W����pH��{�z���1���C��?^�.�y��XrCl[�^dZn��q�����?C���¿`��Ê�)�38��M��w�ո��O=���OSS�J�2H���D�
�*�T����4�ڗ� �Eu�.f��$-4
�ѿ�.�f%�T�o�k�4($4�7MN�q�ao2�S=��0���}��]%-������G]�Z�?D�u���j(mO�L����gCΣ%K�p�49ȑWEI��-��u�f$�����7�NpY�h��hH��"��=����`��P\�rm�@z	+l�(�F`�I2��6�*��P���%�&�f��*4���U���v�s(�5��`I��I\Q*�0N�>��H��@cx7�mO���cea�_�(3��	�e��t�k�]TM3�n�ǞH�-
�*�1��nC0����c�����Y�;�ғk}�k���)�n4�)�}�J�l#�AzK0�W�H���9�V��4��2��=X|!{f���Nltl��ߘ�%q������'��53=¼j�OT����R��Z�(�󭑤�T}K/N��wK!j�(��-�-�>�#k�d��"��շ"�0�y�Vf:-��4�n%a>q�J�!XBsk@�z�k��ſ؆���nR�o����M2e��{%�к�cp`���Z8�8l���Ҟ�01�J��4�w����`V��p������XY�	�t�v�.��s�խQG�>�:��̈?�pI�]=������E�M���7��꙳I&��e|�h��Gş������@eܑ�ˑ��Lxo#
��|��~赳���M���_�蘜�pކzdX���K���2>�ܽ�c�o�'g2�I�sIm��|T�R�œ}X�J19�+_h������ʐ�ض�;�?k?8����f��v'���%�i��� ��̣Q����ƹ��h����[���C
U��2;��4��b�g��S����Ƌ#)fO���� d�I^��rf|r�-���K%)�V86i�k�Y��R�M0��1 ds�G��,�j8!6w��sֻ�{�����V��?��)K���{�����ߚ�g���|Nn�;y��ս� ؛���|iG�����e��;O?��|�<녳wP�~N�N�Z�ؐR�a|�����cIx�VdL��p�V	d�ʼFQ����9h�3u�!̅�G��ǃj�<� L�P���Ԣ�S���Y9��m0	#={X�`�*���4@T�rG�jήA�.��}������ �V9��q �
�y9ƅ�l�j��Z��/�1�w-�H���`N���~��z���9�Y����b�vU��a�8�7]5w�N�d��+ɠ!�sŇ?�{7�t��[�ҕãu�E5���47K�c�ʲ1`�*�D=���|�H��""c�$�G��ĈKe-��e�)��'yf��ڹzu��֪D Y�ba4ب�;ӷTJK]�6�:R3K�iu|�_����9��1�m��5AL�*�k�'�s��ʊ/b
<��i����,��Uo���t�D&���������jfyA���T#���Q���*�"��R�'y�Zk �T2%Jݟ�0qǒ؟�u����#dI��x��XVy�ҕ�^}D{�����
@%��A+H	W6�_���Fﴲb�q&ր�b�ϰ�X4he`@�=Yb��T�ZF"m��I��9%Q�8 /d:HT�&�C@�6\�ѿGU�Eq��c�s#|�L3�R(���ϥ�j#"W;ͳ���CT�b^�*��醏�Gc��;����+C��X�g�I+�U(-t����xWHQ�q�e[A�5����T1\��6�5�L_#��xvt�n�ş�]z�|��F��)�<����C�}I�3�m6��Bp��K���K�Li��g��69BH'YTV*�4��N�-�-d�+gPF8�r��Ǽ=�Y�4��g43�	�S�/�(�϶�B�e��L�0H�X�ɸŠ=Rt[GW����9c��q���sAg��N���ra���dw��Ӧd^�Ü,x��E��ޭ%Hoo"�w�E��>���d!3/kQ&N�
��9
���������d�o?����4ON$�O�k�G��cw�iS��BɑF�͌�������"�f1.5\�o7��i)���5_�?��E���Ư�X�>%�yb�o�5��"z�{��pi���!1�8�T_��������fϩ�|Y�q�@X�e��%$��P�E0�C4�G/#�#�iZ�Zi�����c�	�)���Ű6V	g�1"y�B�zנ�;�����n?���u*���G�"��D����Zm~骝���z{�3��CvR�4�q�H��Ձxg��Ѿ�����d.K�cPV����2��;0M<�5��Y9$�1��� �~��ťs��usDh�K45��1��y�|Y_��9�<{�|�
T��0���Ѻs}����O��%�F����1�h'x�u0�B�[Q5����HV'�
@s��ڲ����i���{Yu��Spy�>M��WR����c�� y]|����9��0ұV��U+��
�?�=�'�}0�+F�էk3��9A��:�k�lkk�����b����M��t4�oůl�)=|��pu7�����QR�lM��U%�ك��p.v��^;g+ v��T�����ƚe�����/�o:AC����w��A�ݡ;OT٭[�ar�&�����tL!$����fӊ^��'ա�@�Ƃ���}����p�@�X����R��_<������xRT����fB��q(�c����x��$�ZP+R�
V�9(	̸���)�؊��������X<gvDf<�\p��
2��x�5
^(��-za\զ�<�0�u�Ug��+��ؼb�&:��/�Q��x�ak�n�w�:8t��$1 �~֪���';v�laMC�b��D6>� E�'
3b�JU�,7{��@'�S�9K��t2�P��
�/�7�D��}DK_z�8�_�J�R�=�;c��c�W5gB8���&��C��{��Mo�&y�;�/U��s&S�y�^��e1X��s'+
	g0Y����4r�K٨M�	oNR;4�ښ��u�aFP��H��LX|���
���ӷ�!7_��]��#���ɭ�I?���γ�B+{��Q�h�C^�#��~J9�Q�+i� U����Q���F����0P'G�d���Q����O����[j3��D�7'���ԧ�>EL���A����������+�h�WZ\�Һ}4�;ь-rK!���%�ဘ�D���>�lVO���:�g��6z��X�	�jt�-���F�@d��t!����%Q:��
^ʙ�Rf�n��>�u%mx��_2�M��C�J�ђJ/������>�+���� !�<(!"SQ�d�U�$��E�N�Z&!�v2n�:�G�r�}�r��L�K��.!�3X������0\�41
#�u��M�b
��\ �,ے�l�L���=% (u�c�5�8e-X��1���\Y��[�����Y)*ɢ����� ������^���Vs8u��`R9�roC��o������g�#DЁ��G��U���}(3�k-�C�"�J�܆�,
��,EFwNbKm3�X�m��@ۡ��
~���b�@Kp]EO�5���}���5��N �1�a�u�}�*1���j�T��x%`9�E�i'[,�XB�)���5���+�v ֡
S���04�f���{�9'�fG����D��z�ˈp�%	Lq�%��O�J�l+�\�"-�J�n�^�q�0�,D3�kUҚ��Ph�@x�ŝ2��|�����v��@7vt��@�D�W+e�Ke�R�y��[)�񠬕p&��#�ZG���5�y`~d�~`dG�G%�,QB�u��#�B8��ZBL���W��=�\�C8� gC� �D�#�־�h8�(��&���D��#�6DZ9�Tox�ĜPi�ćO3JD.�/3'�܉�W���9zK�X�ae�B��3���B�(IA!x�2���%#.�0q�^HDPq$���	S�-NQ�����cJDS |(�w�O���:9J��*X�U:��I��
oO-�
#H�
��J��*�::����W���ƪyf�B/�%�j�I���2���Ҏ��!VV
ŋG�*( �<��i���	�v	�|���@��=2MֲQ��t�N+'����d�0�˼q�D����bc�Dw��&�ui!e��{=T�_*��`��Be����Z��r�Bm›!0Vzi�>���%�[ޅ����� ���fv��v��
l�ۙ��DZB�P��uhμ���
/m/$�k�{,�x��4r�7����UJ��;@�&C��Ϙ���~^DA�������o��܅�3DL^,�yˇ�E=���+
P�Yf@�P�.˔����tkfn���33r�~�K�!��Lj���=S�B3��N{5&���ՙ�"��.rg��AOtk�A���A/rWR�'�[�X�*5xx�{��3�enZ��wFX~�<#&�l@a�*�)����zJ`�"MK��C[��	��߼��F�N^��mC��K'��
ÉQ�V�Zk*�w��cXPI{�d1"�6��#��|����cB���a$G�/�͜p%D���y�y�IX����Hy���K�Ξ�s�����e�&����t�1L<�H���N�rOi�u����$������%���P�۱<��/�d�u�T�8s˞wz%wWo�Wz��;vL��@,t�	/Y93�[-�x87?OsɌ@�&�׶N����@J�W˸Tf�gU;���UĪ��4ܚx�W}���Q��r��B�h�0A��@E%�<��쐽R���Q;�֭vv��iwܾ#_��@?Vi[��Ǩh��;�������4� �h���>�is����j�Qj�Fϕvj֝c%|8~q� �T�k�vӷ�*�w F��j^L�ycE ��;M�׵�L�bK�WD�F�Ui���uY��B�B,�Wݒ�S��
���=Ti֍�ܵ7{�?�)�8��p��#u�-�d+���BIq<�嘛�v!*D�V����:��E�zxLMV>� ��I)���:�S+jM��W����^1���<S��ZNJ�3�|;Y687848�� 螁]�-aA�����,ڠ����.ۓ�d=}"FΡOj�
o�'@�ƕ�l��0������`tXd��H�*�)�~
�$0h#���Ѡ�xLk;
�Z��u�����ã��2��4ϗ������n͠�������c��l����$ϼg^�go�R&o�y����w�k�3
�w�O�	���f�]L�JD>ġ���,�����"W�xiBO[�����I#�1X��ݔnO�b��^@z��[2A~����B��XvC�w~y���m�o�l�ϗ����G“<��"l��V�4��F��>{��љ��S���O��*���{%�h�[ �f@R��U�S��=����)�����^�"}y$�H�j��/3)g^!e��\�W1��VR=K�q䞠�%uL�O��/�|��3�p��/Q��~�[�?1:��W�
"��k�&�r��s	^	M�1�~4�JZSmf��U�P�	�*ʰ���uZͪe���[bL�u�}q�)U/�v:A�V��R��1��U�۷�Q�:�7�5�q~�k*�ՙ��������Y��ζ�s��ry6�I���~�-A��6�(���d�]����L�����h?h,5�+��C�ܒV���=v7�[�#�:%����6t+��E�*N��zpa'��t�[m�݀jN�MRؚZM�;�VsA�rpD9�a/7���'�/�Үz}݁�=��N�{�nl(3ADKJ#f���%
L�}=D��>z֌wm̷sD����9{��Ӎ˛�ۧ����a��W��4����Vz�\��y�V#��$�� \R�"�L�<4	���U)��	�����8@~*NJm���8��kuMf巣�ݨ��x%�h+��[�z�@�o��S������)�E�+��}�2��(hx�S�Xkz�tp]v�[��0N^[���ɷ�i�f�\h%����,�<z��N�?����փ��t��l!��[K��i��t�����H{2
!�K������C�_컵*���#��ǽo]��&|�λ�v�zᑝT�-�7����̪r|�j���(
h� e\�!�ޜ�)�*�1;���d�j�{Qw�`��6h]xk������mv��`� �9��+��Ag5\���+7�X�zK�z%��w��_�Yv0���m�b�Cw�R�zl_1O"!�@�R_�hL	
g:�������Tmqe��m@��}����MR��l��y^d"����݋�A�6�W8�&��,k�W�Ӎ���퉪�^rꇝ��ԂD}��֏���Z�����:�NA�r�=&�����[;P����^ኻ�K~:(F�w��M����s�?�zD~�\]^#�^���Wl��Nn�"��M���%;�E*f}�,+'�Ҿ3�62����L��n���3�2Pp-U�թ�+�1�{QTr<M�*�e�m�XuH����[��[�Y[������O0��
]�+�{7�SK/��S�
��W���(��"zA�Hv����b�g�pZ��β:�ī		��
���fm�rc�R9����qmZ��p�f]}1 �z��R�L5��dC�c��0��P	#)u�;�H�RU�i���(��f�h���)�`�o(��%��������UIc�N��˺��+4����n�%Uf6�M���R-`
�^���%.��mWԉ��b< ��:DAA��u�b��\�J��鈩a���YO&�_H$��GG�;�����^���f�_�d���8y��gY XZ�!�2Ǩ)0�� q|��N+����"���o�A�h�c�C�|��JB���PS�������J�VdZq��6��`��ɓ���m �.�:{]
�ӟ1���l14���9"��ɜ�����}�	��M��#,(;[�=��-��3���(%K��Dz3%��'�H��Fl��F]z'�Z�����^M�Y�{�!���P]W��I��+.�f����y�)�`��S�й����:*A�7Zc��;��ì�x��QH�P��/�* �[��|<�}(w�IW��uo�R#���Iݦϵꝃ.��I��ʨ�����H����iT]�niD�R�5�w���d���Ee#�)Mj~up�1<��8�.����Qm�Jݲh�JC,�7�O�w%��NX���~m$:�"��Q��/�_�'Z[k�{���1sQG�$�Y<��T=���LL�PhұV�.�-ŵ��2Nx޾��Z���9����OzK�HEM�ۍ�Y&t�$p~�n��G����w
F���X���&{��V��}.��١Rmoo�k����h�K��UaDe�ޗ^KV���\�K�*vW%I��~7�$�7I��,BW���B(���e1	�o<��E�
���#e"6�J�z�+��2�,b����hA݀R�Kc�1TM��@�|2�o1�F�ba�c�bb@S�_|m�rT�F�B4Jѥ��ذU��Cg�[������m���g�'6/�V���2H����*|˧`S?X7��JƲ�,sd?��7��E�n�L%C��V�r33�sÙt�=^W�i�%��FO���a�j�F%pL�\�^4kf�2�45��vɅ
g@�����'��/y��N���T��0�T����|��x���-�X:��;HH�$a:JI�?T,3�bߢ~���p�ݔ����v�R��Fσn�Og&̌��ePF:�����s�P��7��iJü���fNe:[B�u$X^��N�C�(S��9�_�r��mӪ�ԏ'#���X\T�RX�c^4j��$h�O�G���	8'7sJ�z�e�f�E�gӐ�P�8R��'���4A��Q�k�W)��_��4��&VOnzG
��(�G�ɣW=����3#j�_;Ţ�s����U����A���t�p���bsr�<�y���^��g/��D�n��޾��z& �Gc���[5e��
*��ٱkv#ol���?Py���{�l�G�,��N���[j��9���7��K��(��z��(3��%�b�l����P�bys3_��o���62p����Z��I�0��95�͌�4���t��v�U}>c�g5@g�ou��"kM����H���0
�w*�#�h�����MZY/������p�����N��}���+���'lUm{ʕCCg�	���
�����s�\�e��b�g��>�o���E�FM���z^d�
Y�Z�CW1Lc�l��Ԃ1��ɸY�ͲYq�qjc�/�~��6/��oFHd�|W.q��������A��>1��~w�L��:��[sV� �Ň�9q�Z��r��b�I,�x����CsY������nc��]O6������L����K��P����_�K,w4"^i�A�R��8���@i)SM�~_J�, �K����)�����k)`2�>@��u�@8�Bȫ�Ig
D63�t��9S2υ1<
��)�H�ҏ5�D��_1�Mg2�(\���	�#`����������,0�FmC�/T����N�y�u_�O[����+�0�H!���W�ҷ�V�>�l�����X����@X:[J���MQ�'�>�_�ط���1��) 9��}x%u����MG����`�Ewd	h�$>�fO�)�4�Oћo�i^�F�����f_w��o�A4������g�@8zf��ms>r���a����jd"��qԑ�d�G��R!bK�5z]���;�g쟙�kZO�f/K��f�K����c���2�S[�
�0�.���6�t���';���}���j�B;-�oA !�������A�=��/,2lA��[˖���v�sGqt�x�,*v*%;����(\�
�n�y�sHI��3��688�ϔ�i6gf��B�����`��]�U���8��cM3s3���s����A�Q���o�X�CK4�u,�D��墐�]H�B"��d��0�i]\��4X�*���{'_@C ��s.H�֥42�^��=B�Z,�\ڏw\k�J�!2�?�^��|v y\��~�d���Hf�T��3�؜Jn��Y����Z�B[��~B��uH��	����m��0C�ɞ�ͭ�@SD�Շ�o{�1(8������p�Xp�%�ҟ���O�̵�C�:��ճssIT�S��갗Θ�J�DNH�G�!�X	��j��v�L*G��!�@�8�7�������I��c�SB�����P8)aK<�uj��bc0�����L'�s^�>
�a#�#��ɭ��G�/����7���"�{H�E��*؛�����?m��U^�=EF6=M�_Q�w�\�v2C� �t�XMD��/�%�|��fO'[�=ʧm#�|
��k�~�
�
�:!�S��R���z$Zb��ޢ�b�9\�J��2Va�����,��;�ߞK�)�gM�g
Ҙ�h�2�,�t7h�Hr�t���s��I�"C*�G1:6��_#Pm�������5�8����a��N��/JxMUaM�6	��°��_+��w-�s�ߟ-,H�J�����j���V��Yv ��{��K�/V�?�0��{�;�Ⲵ>��V>ԜB�}H�[V�0a,��mk�����Q�&����@�R,
S��G���<r<l�O�)�c{�|��д��%(��ɓ�	����3^��B� �t�,�:���w��5j�l�s��`�?���;$����NV�膙�2ԡ���1�bBҌ
z�j�a�W���,`�;`�8�*]��1�TLԶXj���5�HL�~f��>���QA�	��3�	W9*��=7���d�%�gqG��;��H�(Vh��zCb��qs��R���K/J2�l�z̵����3ǯ��ێڸ�iُ��q=�!��u�dĵlU��N{;��Q����?���3���p�������߃�����##�O��?��va�]�����W�����a}��2�L-�ҽ͖H�C�+�fG��i?.��]^�ͥ�
�E<��v#82�1k�u��aP��])(�" ��ȍ;��ah������&��%.z�N �'ʖ�#��AF�T��9A�\Ac�FZ"}D&ͮ�`�M���|��N��aup�;�.�H�H�J�=!&���w]�L�+��0��ԓۺ�z�U}3�]>d�]@�^ގ}���ۦ���?ABL|�+�<�x�|�x��Y��L��
I `d�ąz��% �H���I\3:R���}��!��:�����h�v����?�/'&�-_~A��s�O��.�v?�7�Y�FF2}�(�,��
�E�݊ �	W����|�"�G�ž�����V������1�+$�?��&�JI=���p���E�����=�s����038���I}�)��z���I≕�r����'����Q=�^��s�0}���C��������+:�y��9�/�[A���"D��?��DY�b��aH�z�<��͟�M��0U����)�$�	�; �&Ǯʫ���1�D-�d�$�ORy����:������`o��o�c�tث�;MQ����:������8K(�Ku+�m�����
�*i]���L�u�O�~��&�=3	`�P���^��|��NjnNb�*�ΩZ/��[@:S�yS�e�3g���]��X��1E��F���:�R��q�Nf��y(�ɩ�r`8(�������Qz��K~l����L���n�4 h�%]�*t���bg�7��(S�i3Ȑ�gp,�?�Rbpc�+ǝa�E��v�����K?�0K�͊=]����������"K@�^[�;t�r������@��j��T\�HKq~�R��ڿH;�� ����?>9~j�g�#��"��
΁1��r}K
�-@e���&��ȥq�<r�t��C��םn�MSbB�11;w8����D
Dl�M���1z�Kq�l�o6#V0�����%O�m������;�$�u��)<wn��+�PJj�!�d�=�#%�s(2
�d۬]z�Sz��4�4�6��|�e��:_59�bNJu[B�5�e����/���۷��F��$�%��E=G-~V[���j�aF��#>8F�P�q����3-:"#�aڱ�m�Ψ���W�����ON/���la�#9-}�C��+iqҢ*��НrH��)���%���N�k\����ZT*��u��i<
�h�����Kg���.��.��Ɍ�|�&ƨ�F�����Y������g�OƐU�6�����<�6�r�B؅�4}q�W�������ص�H�r���==�em;\#fcp��~����Sa�pz�n����|W.��W7�CF:���v���6m{�T��)�`��VZlx�R���96`^�QԾmF��x��Ä���G���l紲��~��0!��;R��٥�K����]=%^5J�L:��W*!V��ҧe��O��3��҂�3Y	��y&�/<|�W(7��ฉ���C��ꢎEO���Q5��Wl�k����_�a_ƻ$֫�&#�F�Z}���D���=�_d4�l4�Qcz���� �"��!�{��C���)��/����P�.��7c��g���7����X�Lk������w�ق�	��Q�B�>�(��2��@�~�J�0�܈@o�Q'�N�5�;P�E$��x�>3.S��w��pJ��:�p���{�/b�'���^o���$��llA���J/Ch�!�K
Mdb=Ʋ��F��y`�jE�Ű
��b�Vnۆ݂屁����{��;�)+���k��M`����\p�J0�h��
���٪DNl2��T@$����N�d���N/?sՄ9�E��0�t��%7��M�͎��b����]��rv7��D�g�fg�Ii��A�(��6�JT3�װ��|������e��t�^��b.���&_�:�`����J pҲ�����l���L�MJu�0�6U�$�2�1� ���_7`R%J��iK�0c���^'"��ʺ+�LV�~9m O�a3wĠ�1���'����/�/�{�y��-r�h!��1��|�Ӷ�OC��r�4#�뇧� 2���1�kr�U����WZ�<cڞ��v�yI���f%��T
��d�kcFt�_����|���?���N�6yI��~-!)��],��Ղ�^nM��	��x.�T0kx��V渰�`T��zr���=;)�4�G.�p%<���?�7��=��]��$<�U|����Q���[������*���)��o��շF>,��05e#xuMG�TG���
�֦����|<\���}�M韔��c����Z�/��%��I���Q�A���������j�`�B����۱���rvz
����y�1ǔ['�3�����s��cYŠy���"x!}��%q��%�B,�pĨ����:Y���9|�BrCPM��KQ\��T��͙ٙ#¶�|q�⅛����w�ck"8S^4��#Y�.�.`��q6޼�f�|��킩9�GV�զʼ9�`�R���(�I�$2��b4�,7�2(h̵+V2�d}�a:ig�c��2�a�`lss�g8�-X�D�Miw��6��kb=U�}�qp8�a2�o�4��<m��hC�		t`�Z�;���Q�Ѿ����fee�,Mn_|��ޛ����/e4X,�L��s��RN������ֱ8�T�B�]��b��ĺq�@J�M��*ą(��ģ<�Q�B�g"�q^�Sm���%I�22�!`~��@��\���@1
{	�Y��k��J�\����5žw-�;�7��Ş���)�e�$�%��F$Q�0�[����X9����"���D�����mL����1?s��
�hi+>:�T8m�w�8��W��sQ�\�'ޤ	lo�
��ߜ�n&�s�޽c���$;4Vu�nc�W�!Mt��1u�(/N��`L�!�������=�L��h��<��m8eGY*2����&z,��-:���/=�LY9�h73_sS+#j4���.Mާ��7�VB�	�����M�1���M���"N�yl[r�j�2��G��([1аK
@�ЧqD4O��Jf�E�w*͇�ڵc5�?0
}�=�&߂q1f3���s.��]�B������>cNa�4O-���q{JD�B�X�#��j��,]w�pfB��Q�0@e�t������s�BǙ�_|��sy@����9ŋ��6EH���<��?'r��p��G�����3��M�y9O�JN2k܃̰�+�D_�Vj~�򺑟���ŎN��s��XG���_��6>	b�~��z|�e}j ŎP'����ތ�js�گaQ��*��S��O��,����b��2*�(��iP
	�wHV�����g�^3}¦\ٜ�r�HE�|1��Y�2#�g>���g��	\�Sȃ���-�0�m����=�\>p����+R�,��-V�1L�S��Sx���s��:L
Y�	��U��I%\�A��@��X:B6c%��h��~!��M
��R���3 ����CH�6�(��z�v"�B�ıY��Y`�ӧ�3����,�N����έ��8��Q���;Rz�p�[v���yy�	��YŵGeVc@BB��:N�[����c=�.ˁ�[�2޼��܉�W�Ҫi�|����|��"RU��TdAdYZlVk3"[d)]V
�9�4�ޏ3qF�{�o��6�Qw��VC�$���!�}�}�M�޼(Ĩ��9��ck��
7��������iV� Z<*�����u!�[��(Y.W+J�R�S$��B�����r�p���OHÃ`s�Gףdt�*�4s%lw,���^��)�&F	���3����8m<�r�����%j���0RȦ�q��L�\�M*��W��g4D�<����aq����[>_*x0R~���-90:�<�<�ʺ�<�\*��G�sIw���R�Wڕ合W�x�D�lQ�s��!��$�I~G�*�����Y%�d'Y:UP���}|L�.)��BOC��x��JH�8�\���@b�]=Q��t)e�JG:"|S��}��"�WB��An�ic����OB��o\YQ�Cc�cUP��}մ�����:��U����ssᾨ.t��,d3Tr�N#�z�%�m�c(H\K�x��s��\>��1T:����5��T��r��xK���d��uH�*��k�l�C�3xNEԚ�3����"�FDD���M2�aU�j�.�A@:�=�C� �C���RꘪfM��z�%�ݹ��pq��=�'2�R�N��'0)(Q��!F��@E���H^B�$���ҍ�B�Tȥ�re�X��� �#����z){Q���p�qJ���~���n����h��.�p�-�4��N�Nm!;��ipl�.�:Zr�4w����i-��hI�����@\u�(��V�����Ajg&P��qLTm��J�kf��v'O�N���p�4,F$\�&&��6���ؼ(�%�Rzt�h�'��3Ւ��ۅ�H�[�x@6�_�r�I3n8��M���.��}+�����$��td4�[�a�m�v�|.��l9�}*���ʊ���r(��5���oEɰ������v�ilLN{�Ǝ^�o��lԚ�R�)әi_(�l{J�%ŭ6g���3�Q\�Yv̉r�.�CSy��K��\8�\��ka�Fjo�$[�M��z�Cv�Ðg��L�r�N�~b&r�����k�P�l[�q`���L��j�+��n����4�K�IR�}��Y:Q.�&j\�_�G_��rF��b�a���(!�-{�C�<��k!=6aW\���9
�ZP�D���Y��%�N�w�4![e	��]��o,^�Z~*MD�$���]Ib��l���|<Kt'����^�'<)"�u�ۙeov����g,A�BB���g?��10̥a����f�1%��}����d3�i�څf����T4��^[("nL2q��Z���� }}J�3͑��+�9;(39�~�8x��$��5�BEwh�"(�:s߆�l	ˀ�Q�׮f����[�J5�{/qgPF�ǁ�1�L�?CgL{<pj7��9�!A��*��*`2�Mʋ��S܍j�4iC
$\?�<�(���+g
]�~�W�ň�!�fP�!��ad�^-�09�L1�N.u�R�� �ԑ�����z�;�ʒ筻Z����ª>�6��Q&�W����&-\�%\i���[B��?|&xb�<?gz��l7��8���|-j��4�w
B�0��X�s�Fj���lL������x$�w���\�S��M�߮�C���BKr��v�s���~U�?V���hv+����3�,uh�0R ߀�a��[U*�p��1�5U�_����S ���&ڷj��|��x���|��L���ѧ@����0�W%{�Kb'�F�&)�ᦸ#�դ�Y�����*�S~�rqw�����yΩ�u������j��q����Ǫ���L�O�ɮ�,��(��=�����#���ąl��Z�4j�B�>�B�ӘsԬU�1��J�I�(��(t��\�=�2q{e�!�|�2~1�Q�3�~-�GӍLy�q/.6�K��R��8�$x��,��IQ4�K�vk�`Fu:'�_�NV�e#���AȊ�Pb�b�t�	+l��'�b�\��3 B�
Źd�⅋̔���ڊP���0�5g��z�U_���R1�E(B�<��[y"�<�]ˁZ:��5�F9{���{j��a?j���7�����m`������!m���G"�r���}Z|�ᠺX�2��k�\�f�-H�
�����3�ӐV	z}}Z�����
1E��D���S�J6���;'�_��;{�A�e�^㶓��d?@oM�gvtdr�2��g�ֈ֬��ʼn�W��������R��2Lj�g��%S:%I��K����'���Gh�"da�x�S�6��7T[�#��2�E�/�E\>b�s����P��b�y����/�l�p�Oc�PGF�&��,���;��T�qj��h��73SvWc{1É�cˈ���0*<B(
��B�1���'���t�~��%�y������3��2�D����wq�G���]Իڐw�+&Hd"���#���!{���P	Qb�M��!J��}���b�p��
8�/m��ZW�X�9$u��E����th��*�}�>c��=�[A�lrK<�45�3E���k��ގ��'��>ۙXG���e�_��u��e>����\l#�c��-'����,��<�J���W���i��Y4Xۤ4�U¤��+�LB���z׃�D;�OeRƟ6��.���j2��Ż��:V�o�����|�…�a��ө������y�,���d�$��/�*ψ�эG��u�=gV�~�E�'�S�Ҕ�H�p�5���E3zQ�����]�68!.�SI���
˄0)�`H�윒@��Tw-8s�m�̌y�U�� �'iAeE���/�h���?mlwio��ze�'/�ITΑH��?Hc���2ͥpm]h[�S�P��%���.Q��
�j��Hv:�|���ԨOB7�2����We?�g��0�Mـ��Ӈ���[�y7���-��w�����^�U�<ӥ1����6R�i�zf�F��X�+͊<u�ŊW���c����l�_K�[���4?�^�.�!�	[>��IЗhW��=�:�J��ě�=|����8���'�^z#�b.�\�T!��#h@ׇ��k$�x��1�z3�Y^ǎ��:��'�S!�%�M�f)��ı�,t"ڹ��r�3�w5�Ԭnf�
�׹�`���]�s5W�d*��B�A��A��DɁQh\�
0�zi�L�%wƋ�.��nP�j����"�^�6�Dt���W�zx��h�G�̠{:�>g5�扫_K��}lF��{��d��?�͎K��/��	k��Zn�wH���S��zw�'�0�{M-W�C:�5�\a�r-�@!_>�y���}�N��f{�&=	�>�ԪF�D2��;�'�=���,�FC���g�����’��X��r[�X	p|J����
�yh�K�fX�sv^������e�����5�#�
k<��vI�-N!Y@.VO���6٢B�%d�lζI���Z���x:ׁ3;�ogm����.~�b�n�o$8�����nǣP�h�G�а�N�ޑ�E19j�H�@k��:u;����"gp��8
ů	�®Rג�EF�u�4L��ԇ�:�'*JA_�:������7���b(LB�Ul䤽�(ߢ��ՏD�L��Fd�Dz-XS=X\<P\2����v�ߖ��j�_�RJ�F��ͥ���-Kh��Kl��fhS|�i���	��k0D���]�=	IK>q\O�WHA'�$�=�I3?rUv�n�P6kv��k�)4M�(�/1����Ǭ��R����[�M�`��bmQ��H�^�:6f��k����e�S/��c�ZL�c�'��#mm}4�Ս��-o3�Io�@p�=(����?؞���2�Q�Ϳ�/K���A}t�	�}���?9B��\ɾ\6��q@��E@�Eu�bb.�x�F�KJ�u8&W]�}J�8��T��KxM��Ñ?'|cb|�;�eڢ*�$z
?Q��w��hWHd��fQ��I�Q�L�]���~_n[����_��ճ7�x�祃~�G/�^�p^K���o���z�::�`��Кi��3�>!������K����j�8ߩ���� 5�����Ӕu\Jݱ���L�"(ν[2���Pp�]�1�����Ӥ�U�S'��\m�nxF�P�q�+*SK��a�ǹ��u�'���b����'9�q_exx���ulH�G#qq�O�I�
B%�&�0�	�c,d�e�%	p��Q�0a�'h�|Q�W��Zs�_�����$�O���{��$��J�j��E""lR
��o�Z?v	w����b�±2�lx��Q��g�*�_ $��F�q��9RP�L p���%��k��:�]���:?tR� ɞѭ��%�ܡS�̾�t�(��O��p����o	��u��#�ڎ:̂��P���l�N���S��"Pw*��|��!��@B��&=��D������yFg�v1`���Z��BЭ0h��q	0aJ�L4�ѷ��!9Qn�֜���sh���UX��^(�z�g��pče�y��y[��#��G�O��FBd���#�g<����bx!�,N���f�)���[nA�Ws\��e�i�O��tK=t���+���=��g�G��Lj*�e�A��PԔIp�@���$U�{ߪj��>��W�U��@6--w�>盱�W���K��+W�/>�FMuu]ઌt��^'�o����ͩ�lFI�$���/�}*�v�:�(A��s�=�*
��@��]f�A2�����9���ߑ���#�b�h�<mS����f��'�g�B}�}�&*Rf�Z��ӑ�4��T����0oB�Z�ԇd&KFs5��)D�8�,$
��tu�:�.��MM=��wh�ω��"�M�d7;�O��,�֞i��vGE���g)

�f���35��'�`}���
�����1��~h��>�
es�U�*���9B�Z����u�G���7��7�o��k�1�yN����l���QE&���R�&��
K���2R52�0nx��ܑOv�r6Y����;y;Y���	q	�&ۧ�g$BB,U�VL%&�`y���/�_�������K��/7�'�S�&�������3f�r`��G8�q��vsh��b\�0&% ����M0���,�&��*)*���”��AoϷyˉz��$��I@����֭"��n�>e(Wc}l*z��qiQ��޵k�ך+���8�n4*z��w�J%cJ����|�pO�;ˢB!��"�Q��t���UI	.���H+���R�������q:C�\5�d��H�n�p�%������P�����}��/��}O���
.F����ٺ�s�&�;�-7�zO&��^/C��{s�w?w�}w@�D��<�M>�����s}�(����y�q5��̙dF	Pi���(�B�d��ll4�r�KՈX������Jvp��Ӷ�o�
�"JGrO88,�e%��n����#�~]�E嬤�t�[���َdˢ�Rt�!U�_�������ӂ�����Y�OUt��}f�]�]$>z��Ǹ��i�����eb����BTO��35QQ��Ƿ�4�ך��A��枈R"iw���vY��#�֦���.ۭ�n�&�������PUDĚpw�r�`�%hIr8ʅ��8�<�W��X#�Gx`~���X�iN�� ��d�
 	�˾pb����)�o���m`u��
JK�/O=ǕW�$:>e���Q��3�236DEBw_�����A�JJ�PAS�.
,��
�i`��-��o�3�Þ6���u�
f�]^wG���X�.�-l
y�51��-'u,{�v�_�9J�-��+B�EQ��$��E�����wfs.�f��ʲ5�k���rz/"d�1���G+��`�A
ȣ�Q��'�`F�A~B~<��s��M}�`��$w9$x��bL�j���7�cV�#�Dڽ�xqtwxFDc��젷pxo�cΜ.����u�w2�ϝ6�E���y>n��1U��(a�pu

��a]�8
�]Z���v�]�#��� 
���7/$6����/b��m
,|���t�<�,$���_�����X4��w��a�B�<�W�T_�+.���S�;�Ȃg������B�
��/Y�U�+�2C&`�gUwc�*VX�E��\;��Տc]魥t�҉�K��q��b��R�+�1n�&��.���T}���*V)?0�(9�R�؉�X.�9��Ҩ��9�9vB�ޑ΂�Ѯ�21��ʈLG���4x~�:s�b��k�L9B�0�'ɖCڠ���X*/��ԛ�"J�V:3�V��	����vs/��Yz�����}V'����#<�q���k���G���b�� (Үnk}.R�[��_:��woέ	��
�)���E`�5���C~WyԂ�?B�Ec��e�����t�_��� �Pd�̖���I�kK���T�a^���8�
޴-����Y�y�ynY�M�Ύ��o�<�DdH}��@]���<�{�s��FM��:3פ��F�_�i�������e����{T0�M��\�:n(/5������(M{[$�S}�JJ��G�-ޔ�<~��m�d�7z_^mƩ�,��ٔ���k��A�g�p�t\pq ��)��R��ܸ�`���B�[�,����d���x^�i���MY)��w^���ݔ���po����}ghz{��QF+�V!�������y��o��w
�	/
�1H�F�En����b��6��ŏ9sfL/z�I���l7���t�P���0�r�A�qp9����J����V=��χ,yͳ8m�L��֔w&�n~W�d���?��&_�vdMa�9��d��`v�܅��^*���b��Yb|>���\c}���Ty�G�U�OL��hg��Fw�.s��?���-��T�����B���7�ϗ�� �	�a���P�kN���8<�4��z5�[�$h���f�&�����#�#^=��͋��kÜ��KΌ����Vo�BJr�G��>|�4
�.�U #���,n;�ʤ2)+���
�/c>`fV����k�Rt2W ��gh��4	E{����� HBZ?��w>��+kp��X!��W����41��ɠ���\m��L(e#d��ʨ�`߀��Pugm-��ɡQ�%��D�ߛ�]�YYB�JP�����_Y�����,k��Xc��%s��l��E�A<%
���M��*�d)*B��&}�$�[V�]�Oj��Oh��P�ǝ*��L(�Ą&��_gI�w:�7*�#��˞]�!�rst���vOh��j�F}-#s>RX�� ��{�t���_�[0o�
���{��I�5�����CW���t�����/M��{������X�U��Z&��@R~��3t��14ߏ��?��\�
u�3�����j���$�����G]v%.�;o�/���[Z֗�7���M�$��ٜ(}���=[B�&�L�E�cL��)�=P�2�i
�R����Á���H��D΀��>�?b"Unwz�9��J-�Sn/?����%��m�U�d���L�K7�
�i���ǁ��@��J�}���@C�fq�E	y�c?�pˬ�{�Io)m����O�S"��#���W
���f�+ ��/����!�6q���g&O�l���<��%>0<9J1I��T�7D�4%Wo���F
���7�snl)����vq�`�GE�ģ]�Dlt�NsE+#������O�($ݖ/#*w)�֡N�ح�gY�����F�O96��)f%s�\;%ï2KaC�=�ֱ�x�|I"M�
��kf�G;�ܸF��n��.y����5�[6
�(�7�&��|2��-�A|��^x�H���G`�����mi�����k-�۫������y���h~']~���gc���`��.���Gh���r�"Y�J P����9A�Z�
2(!EU�H��p�C@=_q�=!�ha�F0-&����v�-�0E:�^n����''�C7!�م&�,��F�%'����4�ޓo���g�	);��#l���+��o�s�n���w����G�2�X�A�wUY�(���Ӳ��l���l�x����\��Qk&�8q���w
=�+t
���o�K�"��_3�"�?�'c�^��e�]-�ܬ���i�\4e'�s\���A�����?MB4)��ϧ<�43�ZA�ΚH5��YC
��"e�t�Ȯ�y9+��HІ�Ɲ&/k3�bOܻg{�Y'!V-�>ѶJ�q6õ��U�G��!��t��kh� ���I��r�^����DH��nQ�z&*��Y�;l�Z���)�x�tT:w&�S%d�1:���	lX����n�ie331}�~�2d����_G�u�3C�N�"2���܎IZ���.��w�n{6�Ч����(��(���KN��=Y�s���i}���} S���vgBn
&�oin*��a(/��E��]�鑔�1�����>xZ�x�
��������)�-Ⱥ^<O�$�Z��{wI�ۛ��O��G�]���
�Qڜѻ4l�/��Y� �8ܫ&)��Yb�C�pH)��u�_�J�p��ιg��/t�jx�4`iЬ �]	����i�2pMeDT�;�>�?e����@�љ��iH�1fS�wG~�~��k ��$�->�Z�B�Ґ�	��:r[�(Q���[�'wD�ER�+['EE�T�3����|s�ܤ|f��#5�_��q����8�+�B�ɉ��Y�L�L�r^qj�6x&�I�4zis�<��$N�_�� ��,/;2�
��Bk..�b
W����J�IJ�.qYnƚ�k�`����_����%OM�@�I���0�s��3Lwk�zHhO1���5����	�6���F�;\�.�&�n��+��)ވ���C��2-�b�v�!��iJ��a`jj����<�Qú�v�ֶ�Y��oMG�<�xtd5��松,}F^�bb遼��ںO��k���e���3f܀s�w�'�d:�:�1�ӹ�'�q�Gc�a��e��}@���q�u��~SL�[�mX1�T�����Ji.ψ�)�1{�\�H>�4���}Qo$D$��~Y���V`A�N�pUT��8���0��M�ܵ�����8�M�k
������rq��ִ���i¾�]��#z��/�Y��o������;k���a�*]���>�K���p�G�-X3[�r����	~
�{�vҟ�Q�<�2���=��5�t(��:ѫ1�jB�$.SuUZ6#��?�Y��]�q��A�ٖ
�D�}���DQW��wF-1�j���_{T
u\/޾�Lz�X�,"� �F_��uHY�-X,u=�B�ܫښ$6{���]�yQ-�*�f��l{dU�Wx�iԖv5�+��0�7l*r:��No&�#��{�;2.��.�k���Ҕ��r��j��Ÿ�>���_�hY��7�!�Vk�6|��g�Aϧ+�R=;҃���E��4NC�0�ꊌ�;�LB��Ơ�X&���cq�%���NO�n�-<�Xi���wbcqM��� �|p��39�kz��ί�ڙ~��D�oV�3k��������곢#&�4��d�	����u����0��c�~w�*$#�!��Kg�f�Gh#|�,�,����0Bq���ڷ�T�  ��p��r.�)m�A�Wk�4�%���Q�ȵs&��4���B�;��2K���	�3\�����1�6`��5��gh�#v$."��O2��b�T���Q|M$���:�.����I�gh���!כ����xs��q�n"Ε�شzC�k6m�FVD$�G���0D��.S4�Wآ�#�ct`Ŧ��>��j8Ս��a�<x&��%d�d�[�I����5�؝�)�&t��x��h7)�p&2<Y���-w��,��m���/rY��yvޠ��4���x�u�fq��Lvef�]���[�Ja�,?I��W��ܕ�PD(��N"N�@���f�I���eT�,��N�,���™�?ENE8=hM�p9���ǜَ��Z���:��H����	��p=Aj��j��'�D���N��Q։
5��)˵�ի�v�[�Z�^��mX/�EY0�V$m���U=嶖8Y�0[7�刐�cn#h?n���6p�1�t{��=�~���#��+V�bA����|MM^�����p�xN��w�N���a/�y��-��_\�ړTk4؇��v�H���ؚc��,��.&� �bb�	?h��G�%����mх^!S�!�D�y�j�}�׆�Lm����1+�J�،��p3x��dž��\J𒭨:N땗X�|Xb�Ձ%�ueemC �a��	�����T��`"�+��ұ�10g���sƅ��5���X�v��!wm��د ���2u��p����H�~���F�r�ʧm��w�V��������;bV԰y�q
0��:Yg8�(|3⊹A���V��u�AI#������%��2^�
E,�urAV�J^}�~-�lMs'������lwb��4iP�/,��v�$�0Lq���k�q�5ٝ�*�8�g�����#�ƹ�LbƯ�t����5,FД��X���!�
Nh��L�Μ�x�s>�Ln��2cNa�u.���G9��aJ��ӝ���D��y�s��9{b~�w8���ʕ�VA�����:%�6�e�I����	J���u��Tv��-�D��;��I~�������M���z�q��}4�.�����>E!�)��^LS_O4sճU��1}s0D��Y/}��A��‘��WD�_3@1�k�+�;d���.�D����w�`İ����!=ɩ�l���4�Ͻ�S���.Cw�8���X@H�W�ܛ��R=�*%����MC�@�(c�z�����B�r���Cu)%��é\��Dk�����±g���
�Jh!�Z���>-��5��v�V�$����w12��J�à���)R0�v��/d��BF��4�j�#Dv�/b+s��@Y�+�_lp�rM3B:�Bq_�����S@�_�ˏ�WwW���\�sX����A��||��Ρщ�i�E{,5��O�Qúr�#�S��Ƈ�)F��l8��'O6��y��� �)��}b��.���>`Zȃ
���������^��,87!��E{O"M�$�t2G��m�z ��h��T)�eG�6�j�y��
��|�����]bt;��uE�_4Y���R�gjhH赗	�F}z�68��21�/����dQ�k���ܯ�6�]G�Sj�;��Dqo%P2��ճ?p�s]��<�H�z�Ng�g�R�H��=�1�u
Ť򏉉�J�����h���xsc#oa�qZ
lP�
3��	<��^`Tq
ɜҹwJW��ǨY��i9����my���h+c:��4k�����Ǯ���'�kNm!Ⱥn2�Bf���"�
��P��3�3
�5]i�8?�;-y� �U�͙w����_6[�Ctp�$x��m�YR3#��䈊P���>���|"�:�o!+(+�Ll�n�|����)z���S��}�}���<��#}�,駷��$���Wwqh�^�M+߅�7}5�ȃ�5�G�LM��;]4	F(�YUzjR�ʹ@�v��ŷ��E�1E��M4���d~���p$[�Q�19;7LW�c������vA�s4�)��-O<k��‹�ۿ@�+Ƚ���"��
��G�_�^�_��7l�a��1 ��{��]se�[�ńQ���h�����Ȗ~���K"s�9fL%��G?��B]!��OԖ$8s����yF�T^�g�H�X���_�Y~gJ�c�iW��4&.�[%Ps2T�KK�����|]�ڭ��G��VN�ş*}�� ��R$�V�0�o@P�7#1�F'���k�"�Ƈ�� �O_;%�V8DŽ���'�H�\맥9>��d�ei�0��m1�[��᮷+e�j�?�U0����e3{Ks&z�0a2+j���DIOH�C�9C���J�s�>4Cvf_��@!�y$���zY�!>hm��[���p+ӗ���S���W����GYO�"(M��k'�L�!��BU����	k�LVO�X0�ȁ�;G𻥝��W4�.�?8<w��Q�frYV���aeF��̸a��.�АEJ�W"

��*'d�h)��ȗ�{X;�_��"5@���d�0�����h,i�	���
� a+�Pahӂl҉�LNj����!�[8�d���^"���?�$3d�"�u�N�aP;B'ՌoVk%�Ebx�{����Ho��S	Z�d�q%KI��?�ʐ#x��a���\��z${�]�I�F���:�b�-����X��=���Ț�*��R�@S��7Nrc��m�D�z҂�ȑ����;#?-( ?? H�k�j�m�~��Q��adMrp۶�.]�p����sNi�򝥱v�"��d���::jNpHq�9nܝ�uU8&�ë}8�cA�Q;J���5���<&����;q�搐��9Qѫۜl^ɥ�z���~�F����?H$ȼO�K�a�̕btg�?���,`lc��L2ZK��:3��;23t������jR
?�]j�2��xMS��D��?�:�r��y���+�A�?${�L�"��C�\����
`),����n9��Ť)>���)vJo�R��ot�E8[uq����/��=>,H�~P� ㇃j�[�
�&1i�5�F2b�-u�:D���XUrغV�W�໱}-3}E�m3QN0ݼw�3b�~��=�=|�.��v]X�ժ��Ճ�O:sm��^?DJ�8�gL�ӷDqD�m��C��ǁ���/S��x�,�/��\�6�|�I��~�|��M�N�;��"gcF���Gt)CoŽ�g9ž4@7���[j��O��2�'�.����U|��\��5ߊ�I$e�6I�|Et�\a�^���vA�K�#L��H�_��J�^(��ҔL~V��Z�,�y�F������.%l��
�N?!j@�à��ذU���QI�������D@M 9V�����B����S�[��d_p-��0��
-
�.��e=8�T�?�?a��O@����Œ�,�8�30:��"�'��6�&i��2�xT���0��_փ�?%L��D�I�+��ɹ�xؤ؋_u�LrBX&F�3����ya�b�����0�Mh�O�s��H�<厮����Z�;3��_���uZ{�|9E��C}
I����4Q]N��zeg\6���]=��8'5�1*�:!%���8�P=��9:��[�J�^�!�ro���o��4��dzW/,�̀�&r�Vd�@^���Y�X��?-2^��We�%�Ŏ�O�E(���w�u���f�I�wX�f^��2�P]�Y�R6N�n�F�XqeC��$��n�h�$�����8�Iz����E@��n��=���(�Z������p��\�vLjk��X���Q_~;��y�
޹F�tJіjd�"�!�u�M�E
IB�9�;݄��1�q9��{첤�I]y�Y���B��:���	vs=q��}�^����]��~G�G���ϵD�‹�N����(�4�q�&�;F����1�BS ��+��g9TnݵwԎrQd�
�">����CEf��� �~�������i�x�Gebp���<��C�ցդyQ.��H��^	E�G��Lw+��O�>}Q�M;'B�/Wԝ����x�q���SS���BF��]F�N��/C#�5�t�1�����$�4l�>��_8)�G��~����g�,(��}�3
y@�n2χ�^D��h^��3�ݞ�n�y5ԍ3���č�f�vo�Ǩ�g�ѲH��V����RS��F�O��QR}7 7�3���r�c��d\�$��`�SIG�y$6�Gl�g
��RC�cw�f�+�q �	3�"q
@��<QҢ�?�"�܉�Rdžs#���Ą��C�qm_(X�a\}.��Z!��U_hշ��К*�Q;�/.�v�Uv)X�(�M�H��Pԏ�/�z�b#�9��J�:��N܇��[��/F�tX����a����߳��h�-�ME�mf—��l�
'_.N���>Q�.]w�2��b$Ӧc�T[y��'v�vn|"��3X�\�	!�y�W��r]!��1bU��wvy���SO�ٗj�� �O�
��A��� �V]�["�r�xyE�����i��4��0��ͼ���0#���\$mj��'�"� ����i1���i]\��VZT�%=i�܄�Œ{!O7��ZO6�����!�(�LOJ�����'��.�!��"h���7�����5kR%ð��\�Ʋ��є4V�й�@�]?�}Ջ_�ͤ�:I�j]�ah�	�~7e��:0~0E�}�b�i�-��D��R^]21QN�1����=��T3������
ݢ��
y�^]���M�ڸ6��t�Ç���6��u
Ry_;8����R>2�y�ͣ1�ٰ�ɴjm��xtm9���v���Pw1�^B�|'�q��C/��yDF@��N��}s:;繠�y�`�o:'��L7��B=.���^��$ŧ���L���_����9hO6��`^�B��O�*|�l��+o�W��1,o,4�B�R�A�QQ�V�s1Tl�,�Le��'3��b��Fd��"(�+/���M�+�W~���x��T���1w���X��,���'�݃b���+(����n?�"޶1�fd�Js5�<��\�t�Y��>^$'w� YQ���(U���<2�>�vE��)�����g�<E�k�|�����W�ʠ�@:6ϗ����l��<���;�����Y���33Ԁ 
������,�<�+CcW`C��vDgn���=�kҁq���y3��P�@R�PFm�UP&�;����R��`����P����g���B3�Z�\��*�������!�|��zr�|�qQk�y��(��
ݛ��
Cu�U��w�u���'��K���8�K���N�Qwyk?�+���v��uN�>^�Y`�m�ȕ�󚮸Z"���/�����W�9���d�����@�Uh(��F�b�d�2Ӭ�B���~��1a���{P��s��ǹb	��zaL�m�$´��^Ekە7�����\����o��M��a⋣�_��=��=<��Ð�����ߓ�@�_|wU��wSq�F�1&��:���d�~b��7����T���{K�K�.�{l�����g��YK�����
Kۉ	�v�Mb㊿�HpY�+�`��~;��m^�b[i�G��]pس[�u��ҭ�uKv�����i����=��I���ӊ�I���w�H��b2��s�� '���7�zjt���R��&ĜrkNq;sed�����}g��O/)�g�r/�y�n����^���;͙��p�ܹ�u��ۧ������<Z2
-�'��A�<41]�ͭC=>��(�E,�7��0>�Aa�-�6�R��54���J��+����@Sz�|��1��)���X����:��=Z&�ʐ�QVz�$��
��K|���97����'�@�MN�6Ȕ�=�Mh��i`@�'D�ޓ��<?��kr�O�ͻZ���_q38�&҉���D�v���2��v]��,kkщt��Ɣ$���	'/�e�2�2/�2�o��:I��[�{�x��g�?�QB�^��mĬ,,���	C�3�#s�u�0	�jz��"��DxR��u���@�+�_=�g�icHً4��Q�̢A����g0�7���9dV�m:�܏��9� �_t��E+�i��m"��	_�>��5���+��G�������Rm�(���/SJ��h.Ʀ�G�U��SV�~�J]�ۄ�K��sn�|��e���#�8"Ƒ'��r�đ'��"z��
���h�����D��癩��($�R�����&��D�XCզ�o��yD��s��¢ "S:>˂���A�s�%����@M����<u*��'� Q�&ڐ0u�J��f%�	C�gO/�b,n��<e�(C�όv���8��?�}���|��̝�F=hG].���݊�X\PQɫ_�{�W��ڶ�)vkUid�D
����21uBk����\�Ż��RYc����ޚ�Z~Nv���d�sP�h��B�pc����M���"����;m�mAU���D�EА�8)܏�E�;Ug��
jV6h^��5���)��Ljj+HK���:�k(p���7"�x��Ǟ��h]R;k��bA�A��~�Z�f��T���cV�x�	�߬���q�N�8.��S+k-@��=�E!����FɄ���U�iE>�V/�^fF���_;v�y����R�c�mH�q��� � ��xv)��+�a�����~_$�b@������U'�\�mXb�)%��Ǘ��w�@,�ȿ3���O=���Za����p8�*��7��G��YdS��I4U�����C~
�����S�$2���ڹ�"�H�y����o%��&�p+�E�t'f�f�,���~g�+~"��::��}s%�����e�K��y)�L�&�fx�XN~5��J�A�mT��f�.����'[a�ρ���u1&���zpRG.����e��b7���b�ov��A�����'tGbp}k�OiJ9�`��[���!�b7�W�:�k�-���b�v�L[��Ī��IJ@�!�$Q���J��	�n���*��
��@A� �ȫE!����i���v��v)+�LGt��J4�r3Mep��:|��f&�����L)}Z�=r�5ĄȒXT.���9�����5��KX[cC4�L��s�Ďf����d|v6�����	�L.y)�o<kr)�J�'_��B����s8�"�a���O�;�j'�ӭI��G�j��:c�@�y���(�o�?�0U�oΣ�����	�����W�5*�q.P�n�_#Y0��"�>��c~y�׌-������LM�P�N��?`���ߪ
�PU
EEf�D,���Ɔ��F��6^����i��s�MQX��,ٷX�xhSzb�=?�ͽT�	��YQ�q�Q�hUi�o�p�����=�ǂ�e�Ŋ3�8G��Gٶ��͢E�mn��nN����xn\}Pn=�IN ���>���v�j�S'"��M������־��
0�x�9M�@Ϝ�������=n��I��R��쟷-"���Q���>Hyu�տ��^/#6]H:�]R��5�\�;Cc7��<��n���g���=�����ѯSSeLG%8�=���~����ui�,���T;�/�����ؔ��y��i:���Myx��/u�|�9�W���7�\�u�Ʀ�n<tL�4H���,'ǴLG�#H���մ��w��9�T���u_�\p�q{9y���d��\'�xXe��s���>z��L�"��I���rQ�ɕk���qs�h�CEE�Q�Evk�ۢ��E�I�ר��x�q����ƌ���쌤������7�Z��xq���wQ���T��c0�TƋ�b�~�k�y��UG�)z��S܍��4Lް˷9.�H+M��Nب��V��.8���:.���YI���-)AǗ"8���V��J��Ov-�=��,���cvr�A%U�&�؀H8]b�`2����
0"A]�DI1��#��߂��2@�x�6�*�|��OY�
�D�˷"@�Hw"��I��e7�\���h�Q>Ӯ�Zwww7��;�v�}>
i�!PQ(��vqK"6�AB��{���\�#�X�t�8?c�;q�	�08g��3�Q���^�$��MZ+~��:ZQ��_L���ς���Ư��ݧӤ��Y4��h�/�i��R
�T43J�!y�K@{��9���"9s��fFeN�{1ު������
i�M���"��ǿ���:o�4]�r#���I�{�>��Sb�����a��k��hp����ޘ
�;�>�'Y��9ى
�`���1�H��.RD�s�y*�R{�8�i�(.xjcq����"'�Y4c�9nY�̴�v-�&�OM1ƙK���X�Ԉ��)`4��v��V�gcWtO�€d
3E����pj�}����Gn�o��N�Γx���;�h%��M�ӏ������R�|���YJ��t�I�Uu�L�2�Ж�*{f���B���^�?r�һ`O\��>yq��rC3�J�oG>��=��d��<傊��]�_מ��6�򖟗lI#�iD(c��#��*`�܊c.�%Q���x��M���4h��bLG���U�í-��B2X�i+��Em��J�m��I��DZ�,���q�k��os��k��_�_���ū��,�%quqb��;��_c�����K]�d.��n[���^�n�!�ԃw�����9~�B��Y����
�#_������&�^��n=��F���bId�(*
���OR<�~rjZ��‰-�pL懤��k�O���Ɨ���]'�ň�
�q�t݂�[k�t(dH�ք �p�!=�c7"���z�4��2#�r��fzY�sx(�?“�����=bL}TUuM!�
?|C��b����I�3��v��TP~�~� �F�� f��30��*��;<�&Yj�@���NCc��dх3A�z��IJ]M��u��g�
$���0��>�Bu/j��Hbc(��y�Σ�m�����ɤ�D�g�7�dO���G��CL?1��h&$݊�y�cŞc���7�=��Gz��v!�}TV!j�40р�Q;?D������5�Ԡ�؅1�ф}��n�޷Թ|�����\�m�������l$b�s��e����<���Ì�IZ����y�C��c��n�u�}���[�4�W�C]Z�[
 �
��#�tR&U�àX��P�>������X�|ǰ�eс�|p"�����˦[0�>)]2'���;�8X��>Z���#��LU��Z߸X?���,����&h���d�>�- 9�l���`�\:˂�B�t&�dRJz�?e�O������n�d����>>���F�0��v�q<�`Xy�dz�iE%�r�,hBɭ��^�w͊�-e;��e+M�%�����ԥ���;g�ε�7_���Yb>�~2����8U�9�-�^l�����[��P�U�Bn��F+����O��:2��&[���Z��s������R��JS���?a8�:4<�=;
m����Hq���	G���W�}��u�JḼ�uF7������5���)��ԙ�Q
��.�FM�n�Q�ڭˆ�*��g�$��Xn��,�=nco�u��N,�>w`Ly|�֜浙Y��Q9m�no[pC���r�+��t&��\����%�u6�w����	�J�uak���/�X��`2V����h��8p@Kqh���I��k+�����0�=^,8��6̹]Hz�JŸL2F���Q�.Nʴ��̶
�5g������ga�kV���)���D�S��*
���P��gU3��u���I3��x��t�76�j�	3����f��۶p�X�dWPn!��CxdG]ɖcv�t��>]��a�{Y>B���-^�mg��/�#t�.
֧J�?�{4WG�Ǜ���'���@�Q�בS�t
H�	�ht�~�m��[�Y�FI���E�D�Cs���)V�+߯_��*^.z9o��;<U�G�[��XJ}C}Z$����FD����YPD����]��
�
[�B�~Pu�g�%�TÐ��:���j�R4�D[���gͬ��C�;�
�<��GNU�)Z�4+ r�k�a����p�
����g�-��6��fEΊ��f�����*Xމp��0��~��7b#��I�$�j���u�0P����A��ƴҰ���i�2Ug	��������ܠ�J��L��/�lR!T�#@ć�5SXћF�Po�s�ӛ�[E'c�f�)f�.%�M_~�X�_y�p�
\�"vO��[�^�ۤd��#�v����[��hh^ӯD.��T��*	��;��Iur�j��rk	�Sq�*bcfg<;���WjJ$}xh<�����f�ttpp[�

��V'���&�n���˭�I�A/��;N��2�}����e�=E���u誃+V��p-7wݗ������`�]VWX�5ٓd��������ڕ+�:���P����Ȩ;�}�?�ﱌb�Q[�7��h�A�p���S�N��^���
z)��n�?���@�o�|˘�\d&�
����a)r��d��Y�(�ki�p|K_��D��\�ԧ�ŇIo%���#�6�R�l&b[^&�Վh� :�ۄ$[�#Y�6K(�=`J���,��ns$�����v F�H�}�ʎ�L�_��2�hEY`�@����x�d_�p�DK����%�w+cv��
�,!�������黶�
Gئ�X`�����lR������z���#J&�Ґ�C`���F�X�v�*�zSӜ!V��C00��	{Vv]1&�ҷ'��5��~�� p�f[��������(��wQ��o�iPA�*���^?~c�X9Ѐl��S-*&o�#�s�x�&=��@�H��"�5�#pSg|Z_���[����On�����)��|�xtڪǒ��a
�� fw�R<�9ɍ�z����F���V�K��%��R�Omr5�[u�ip,3D _�<jqS�0"�*&�Z9�	��d���yh��)��-�Q��l�O�_�#��N�ړ;��;����r�ckX+q�1_?���+�4n���I<��%3��y� �Fok��o�7��
I�2�|�x�x�<������n�Y���9���|PǮ����!Y�4�y���m�B��w�x��	.�!��e8��A3U$�Ce\����}��ȱI'l��2��k%a��/���?�)}����#��ⓒ�!4W.���_������s:�k��c(�|{z�X���Gc�}�RQT�t�ӕ`�<nѶd���6˗����r$^¦ �nW}�.I��� �*��z\��$��(���G#�-
S�c	�F-Z�]ύ�`�J�D���P˾�E��f1iГD�[�Ah'l���/.����fE�B�P��t�N;������1���T��Oހ̓S0��v�i�C�GW��@�(�#L8my�R
�u���wÕߩƌ�kƳ�cW���3
k�n�^�Hd�`����p�aL[� GSq�����J/!���(�|g_��C�q��"���N���o�!lH�5�TUa�.��P��`v��+�t�f�j�R�����8�k���ME"4	B��^�L��-Gя�b�	��{q�'f�+�Mt%���6y�Cg��b�m�a�u�;�t�9���3�p���J*���NN	S�
���o�p�Jc�ʒH���G�����ߏ���<iZH��Ҽ�����3y��U�Β��0|i�H��ɜϜ�鶻�-�r��sv�l�da#�ө�0x�K94"6j���!8p�ܣ9T�;��&�c��R�4��Q�B��\�+kT�@��~��؍��	�Wt�K���[jEÞ�`������\c*�3��NS�^�~R�ǯ��~�cJ�Rc���Fi���9��&�0Iy�xYjk�2
g�Ef���	�i��2=���cy�������k�+Ws̎��:W�ڰyJLҪ� � $n�tI"-2
n�� _�T�
_�`$�
	g6%�	��~n��o5zJL n���9�o]�\�İ�o�]��)�$�0	`�#����uE�B�}�G�\��0�G2[Dм����-U���er��c��rv����� "���6��<�&HRKw��%wY��s
	�ѵ?�O���ޝ�� ����.��(E����ѕ���.�+�)��D�@\wzeZ��¬����bY�3�@����ѝ�+;��՞Zo����u�g���Ʒ���=Jӯs���,^�I����O��
g�0F4�M@iZC�h���s��&SE�f����_�AJE���\{�m$PArz��`�#�;q6b�:PV QQ���wf��NᒙW5�]ge9l,��c�O-{���}�F�D,�]���,n�F��THu��e�lO�V�21@�œ��Ǣ%h I����{���}����TJ��p����c؄k�����g|09'��߁��̣���Ϙ?LY“����܈'���u��YRߠ�6�t�u�ց���/�wO�ۍg\�dU�ks�ek�1�^�D�4��A����G:
��M���U�y�A��<�"R)���t�,������!�"Q�Y�]5擵����fbzk���{[��#���<�%�!vʊ�D���'�Y��^hɣɀ�-����}�//qG�}�r�O���O�w��{�5�?��I9��߶�	!���AϤ�L�f�Hf��Ttn
gZ��(k���a�Hr8����4'6��F�=jT���Y���sn�g�4����:	]�Aq��O�O��G�X�@�p��#���c4��3�O��3�(D�X=��n���<)͚u~+T��OW�t��I����iP�:۰���?܆m��C1�vmxӣ��4��*].��q�9C�ZW�*�{���
r�6����6l��6� Q#� �A�h<kj<����h!���.+:�p2��+)��p�k%Xn
��g��jZ�)ɮ�!�V}��O���(	/T.b`�A���Y5z���t�_�ߍ��=h���
 �a���"��/@��/y�	�l�6�s���	p��^d����lZ��H��L�ES|=�=��Ew��1�m�8��H
$#�+�:���)�}�8��=	���{��]%)�@�ɉ�қ������7B�8�(���?d����m��*����%�EX�ƌ\&S���,��%����Q�n�E3�<�<r�&S����~�-�5�����][d��&;�
�J��22]S+j���nBZ�N)��2�݋4
�����3���搼~#��y���vƧ}�1�H����el�w\rD��isp�����l�ڛ�
����TA�
L�ɴH�K�%�[dz�r���pG��y�bV�R��?�_碣g�&�M��cC_�����s���v�/}��"]apI*s�1��;/��ٹ����<v&��r��Z�C!7�����֩t�� �73��^J����sT1)>_�h!���dפ*�G��&�[}9��+�y�d����pm��B�B��‚f$dU��1����Py�NJ�[𿐏�d�A�:�y�[��CB�E����k�W������T��1\_�[�^�����[�a�;{K�1�K���,��W�ΛEK	,�2�/�&����"ۚk�qc<j�O���,�0�jV���%�S�\խ�8k�dY_�|z%N����bl������š���Ra/
!B�hV�[���.q�.tl�W<�Ī�kc,a�(������cnY�b����$�8Cv�%���4�f�����(�4Ft'f�p�hI��nb���C� �	�@�f�	���c!�يl��6չ��Vn5T.��5HmP�p�,�Y�Âpp��iL��`�:]\p���Z�Y�$��lwp}�@%8�Qn¿hdJ���?/b׋,~Ύ�exN��sQb71KhT��R�[E�:�8�Y�
����-�A�_�$�l��}�O��{Ųa7�jgO9�NO�FǍ�{�n�*^��E�>����.(�Ľy�:��8�<�U��0T���5[�5K�u�P�6���V}K�:�vE���!�:gWgɣL���mD
Ɛ-R�c̕�Thj��HQ����$?�:�\L=�P���:M�b헡7�� կ{�6���ytk���r6_�#�_�!�S~hN�Ӭ����B!IH}�]b+�q��'z>݋+$���,# <� >�t�@��0}���'���+Z�G�!���Cm�K4.>� ���eq�u}mKB�:.�Ťk�r!x����i���Ա�TfI��ސ�1%�q&n�n����e��S�jD"kق�c�B���n�n�9Kc��!���v	�,���\�4��4M�.>2A]��I˛�;<�$D�d�b����Xa�I�������r|��I,��r)l_
E�+%GoZK��R����b�?��wr2O�#&ay2e8����A���$�i�m̌���zRA�5��a�gPoj��%�f{T��� ���y��$'�xx6ncereO͘�
�	��i_���&NT<�9�V���ׄJiTU�C�v�YϏ�[%�ʲ|5���`E	�2�������Pe��X��U��
�K�v2Jr�,�oC��$+
�8y��[�Ϙq�q�ͭ@�dG\g�x��3@�_@�Ώ�:u��\m�QZ̭ޭ�Q���v�̆�
3�lN6�R�3�l"��Z�0�=ݫ4�v��h��x���
�&���5h�D11����4��f�-�7ʗ�Ro%��76
�M�/��f��'�g�W�ka�vS�V�ʗ�9JZ����T<⃓�GR&���Y^�Z�)�<�v�ņޢ�t��bW˻w��@8�ݑ>%��:�_~�)��U|ىƎ�43��H�u����3Ui�CP�V�Z���G]'_\�������{�c��(��%^�v!*�a���Y���R��=�O����ȿ0��l��w/J���^��|9��E/^6�_��Y@�����;�N� ��ݜm��Pc}�v�v����b���?&[��zզ�[�}��Ȁ'
�
cC\0u(�r
](#2^�X����B�)l؇Nr8�vk��蝢E`���2:R����T�	�Iw���+PC��|>�:L'%��ظ�F'�ْ�oҸX�F�Yyg��Q@�"HBy݆r���/\	Ө�.�F4*'Q6�RCu����w�3��vt�c��"��T4��C������ZS�h�YVH��/�)�X��+�XH@�kg�7䨡�D#�p�Ft�qt���E����P��5�z�
S�,d�T�+�(碘�%ĩOTe���ގ=.�&�
]g��x8~�+�V	�5����GG�D���m��P����x<N�3QM]�Z��RCGqh�[�.K�� �<S��y��/Y�f�&��J��/X����ϻ��z�,��6A�8"F�ܭ�<���`�fR�7߰I���i��(i i�J�"��Y�u���ժ�u�u��ìKU��8���C�?�<�~���'R3��"�/(�@�Rp\�H����w=3�p7�h������
z�z;�㾷<�lNUӆ��)G��ߞ�8aF�0h
��J��XP^R\��Jd�ݛ�޽��<�wYx�fҦ�/�;{R�Gp�m�.=�_�B@�!U��"E�9�:�-	�s4ũ���&[�H���U}���HL�C�JfV��%�ӈ@P@��*T?�i�KG{�d멜�⛱$�1Z e�,,�h��'d�R����<�R��hl��J.eᮏ����^���F�o�ƪ�H�p�%�43�{hC�|L7h�T��r��{�:�h���q��fB��9�o]m����;�dp�N�!Z��=x��xǓ'�K�I4��|{��rh"�"vY�.�Z�W�qtB�����D�!Ia�f�*(�*���Kh��!��Ƹ�f4<��	��%�P��0"�X[����	Y!1��f�jb�z��EB��e�R���x	�$��p�Ŷ$ P��s���<L�Uٞ�xZ����p^ԍ=e��t4u:��V��&���6��"%F�쩭�s4� �pu�9�q��~¡	M*r�K����hj��|w
)�]Pɼ�H����Q�bׅ�yF�|��ՏRy$V4J#F>s�z����=�U�^b�34�x��|��#��9)��,W�n��:Rr~|��`g�D�J6vc[�?C�$UeaGu�u`���&�t�1���#��ln�hN��`��t�2g�$ۇ��.�K""J>�,^&�T3'�{��k�Y���mu�><(M�I<�8���v,2��?��d�t��}yf�'�;9�Eh�Jʙ�U/Z<��D�.�����q�JLc#{��v��.�L/JtT��-�m<�9��}>����-��	����[���Ճ�İ����{g�R�ͥ�i�	�ƫ�O�wת-1����,4��g뫇��Nw<����ﱲ۝�L��_�L�G��Q�Jc�j�c%3B�XHS���y���A���_�!�~S�۾�fW!3�![R�I�!�ƜD�W����]�9�Qt����|k��k��Y���
��c��-�EL�:�g�����
!m�l���f{���n� OW�	Mc�ݫ�\i6|!�dķnr�"g��v"�+n��8N%9%�H�㎭��R�P������1^G���
b�\V??��sҌt�ҟ�ow..Y�
��&�P�&�;�������.��~�n�]����}Wz@]�j�����)���&m&m��!g���O���#�H���%!�U�'&,!��\e�H����7�"'D0��� ԅ��O���T|F�e:�ɤ�$�㼯nI=�$@�S�t���p�j�23��[S�7_�P�07��˞'L�F�#n�+��k��Gܹ��}�Nl��Ho�TC��U�=�?�Oޖ�I��8ٯ�qfow�,_'��U��g�q�O�O��,��D`nU�Γ�;��NY-�A��<4j��/�Ǩ���!q�EH���؎r����r�s,�2"����I��;���5M>-�s�\�CH�z �8;�B��n��A1�3V/i�=��1��1��R����rp��9�ߜ_[�U�@�?��M8.�;��ѥ�C%��	�Ou	'�옧�76v\\lU��E�I�ɾۃ�]�A���q�	�%�
�ۖ����5��u!"��DCV=5c��0�=����D��c�	�b�ro�! �������P&����ŋ/؆m��޻=~�z�����%���/���K��]hf��ulf��m1�����}K����^�p�a|�.�*��WY?����Q_����B�T�P��q�Ӣ2��~��f'�n'��
����`9?�s�a�īVY�Hw$X��L���	���癍!��!F�iZ��c��KU�"O��I}�kȊzQ�}�5��fq�&��
�]�lR�˨�B�B"7����;7@.
�
�2��	]s
��r��Z��X�C�j�����AC��жw�)�v�?a��O*I�Cej�[r�Vun~>۲�pT�Z�P�X�)V���XY���&��/N+��۴�0�w��&ʩ붔�^W<��u
d�tf��:}�Nej
z�E��K-�B����?�+ٔbMnhŊ?�F��]�QB\�5IL�
Q��.�٨,�����뛚It��e�,p��!eD��:�dT�y\hNSՌw�8��GC��mƘѮ��S������
[dBN�׵������k�-����Y�e!�5��a93�B�VM�Z��w����o��|ノ�_'��>��8�����<��+���<&�����l��@�nO�Bb0!�ķ-��l,�B@Z]-9�p�#&��KҰ�BDЊ���yV�������Ġ�.��Ј۩4�΢RжAD��x����>���&DQ�Rɧ����0r�PQI8�rO-d��k��8��v�*�����;>b�b)�	{�o���C�z�T�*F�Z�8�8�Lڎ%��;����+�s(Z��e�|fh���-�D^�h'��0#xu�̶�D�f���mpxc"H��E�h��%u�cRxW�N�ﹺz���+2���$LjY�
'O�/�д7oor�]&&�座_t�e�@��_s݂�qPKg������Ǎe����;���$'�D�[�}�T� 6w�i����wuJi(�,�9��NS�����V4$��
R
c��/��ܛPg��	�%�Z�W�����[�8X�EI�3~�\R8���*D�L܀2 �?�#����s�LC{�!>v���T�-	*`�;W����6��O�3bhL�vq+A�=��
M�*���I���D��T�*�W�C
/�j:�Uis'�Q��/��,�򚁽3I}�u;jٙ�~��ȱ�k�?��ȷ;���	��f��{	T���~��~J���v�G�ו�QJz����D���q�#bA���u͛�IN#�w�ۃ��H��J�,,2�����-����ތ�G\�7���,�CO�M�3
'EP����
�%���L�aHY��'|�B�����	š<�3gu���e!��3��Z��_KJ*�6�iS��F��|N6r�x�Y֪@!�i-@�豶�_�|MM�^�y��)�F�[����D@l7��vr�TG0\'�ݤ�
,b�C-}��X]"���(��T)���ό��Bn`D�jwgDRP,E�X�q�P��B��`��+��3�9���$w�d�g�V�ɆhމB�u�L�g�
�tsiJ,vAH�f��Ey�ɑ��
��Q�+�J�`��m��"|��<Wo���]���"��>!�~G�FLi"xAN�իV�ѝ�@(�pH[=��W#��/Z���QBR�q��ZD���Od��CI0+6�|�5��k�M��k
�d��VeE��Us����َ��� ��i„�ǶM��ND�

�
�NW&������F�V2��ޠ#��G����]�yM�	0r�yK��:���
2Rꀦ�?�+�^g"���3�����|�T#�ʾ�"
E��ybY93����@�c�\�$E�s��" h�)�nq1��B:�DV�J"����1̡	�'
)�l@�iv�Rd#�iH!���"dQ�mT��cS
��L@���b�]b)�H��b����@��D�৔+^]�V}��͌���1
6J@���*���	�4��Z\��]X,��р�p�����TNӈ�^x��8�#>J�絏nz���&-�o�tX����S(Jo~l1��P��vJrJ�8���c�	�l�=x�3�=��~��偟�����u���=+��$i&i$�JĈ���&��`�\�cT�k�
�y@�B"�ˇ�8�D�:�G"�/y���V�2
�8����{J���N��x�c��M��'V�>�mET�~@פ�>�崐�4�(X'��8�,����Fڨj�o�B=�YwYhN9�,J0V��(Zy��R���`3����Ew�����nW�	@�Q=m��+���Ѣ��f���l�%�Em����p�"3��%jC�	V������\�v�:�
ki\I�

5x�p<�hb�i0�Df�	f��[�۷Q8s�{)�C�l�&�G&6��|�b �� K����w:!
��~����c�<y�y�R��f�2%�{l�c��{m�cj*��2�63h(!/M9��%F�o��������/�p�򣂾�沑>L/��U!*�*�b�����1��F::*�:�E΋��bA��Vt�����K��g�,P'�&�7�i���6v��@H���N�AT�F#P�4����M���D��i��b�Tr���ػ�w�m���V�����&<��m�أmy��qEɎy
�8���,�֎&G�Bb�iO�,I5�n��^�g��F~���m��f
@��  �D���	�͜���h����AHQ�9�F�+S.�z�(Z�u�u��,�gE.:9"DA���D?���q�o��רF����ba�
M��oh��{���_|�#�i8E*��A����,��נ�����)G�	�ɟ	39�?f�&��H�H8��*��	@�B	��:K#��6�e�
	���̅�d�����eҡ!��9@���iR[=Z)����I�<<
��A��H@�ڗ����>А&'#����45���D	�^��k��<�X���n�7�Jf�`m���pS�.�p�&��Fh� 2���9j6=|�_f}�ٕ�3�3��Mqy;/�	D5�+|�i(Eb�'�`���[ZT'��a30�~O�S�����]�Y~�4�� +0��kfdB��h��gj�����
,|�p��SI��J}����츓�����
�TD�S�1ɬ�E6�d��/����Z��D�樗��.<47m4>]1��C�7���L|���=�أ�s���NK/���]d���2��l�����=�B�%�4w�ʉ�g��XV���@�Ζ��y[���0e_ʪ�%C*���jJΰښ�=ٱq��w.q�=��<*
��K�R;l��u��
@��v~���y߽��r^�\��{��ݾf�>O�x�n=Ybæv%*y<�����Rš�6[e�)�*dB �:N���y��,�>�0m£�\G�LΡ˹�2ut,���� p7jS�A�MUS���sE��\���"�)K�;� �!�A:�f���E�R�&8�����@��V3m�7nD� �cK\N2N�l��f���ϳ���4qY���MQұΨ�kw>���c��/�qӧ�I�"���-��Æ�ޅE�&���9��VRܻk�2u�q��	��$���.�#�|vϴ"��)R�A����k�*`���c��+�6�L�A�,Ń�0!W~6�e���w�d*�X�g*.��9r�K�d�#��i(��$�Ƥ�|R�F3!�����gŪE���&v`"�B�Xf/���D?5�?�
�1S������j��/\�b�Hɱy�ٴA����%r@*"���������C�Ғ\V�rP���c��W~C�v 8;�� �mC��m}[�������	*
,��)"����#�No����?
�_g	���o�m�����)�߇'~3q�Q��9*�1b��Jn$h�ID���f�)�k�Sq����d�L��5L�߃�Q�ą{8�)W��pO�GDd�i�7��V�cF�.vp�]���s���V6:��4�4{��_�N[;X��}f����̦/)�۽�9�_��TmF��W���:;�� �߱1�½��5��?���(�N�^�cb��>xUzSG\R6�T�پaC�x�ߖ�?`�����5%{'3~�Ҕ��b��ZH~�v�<�I-w�	'Zo��o#ˤ'y���’l�-����������9`��I�8S��
�
fe�Ғ��M4S��p��K4fLhC� m�"ߌ��nd�,���@�_L���,��Ҝ��Fa�km��������Yٴ����L(�	@MAHnE�X�l8�N$������Pc1��1�p,�}���@R(R'�������$�����t���c�����S�r�qw�����ؗ���J�9%%􋻏��i_~H��P9�{��$�N9k�%�\�[��ov�~�y�b�kלA��`_GG���F���#��@X?X�.�t�Զ8�+��b�ی����n�c�R�\sC./�:_gq��@�-�p�VHQ��5��H���g�~�G��0��t���}��=������$�pе����X�̅������G��ֶ�����Ն)�&��d�nҨ�Zy3΅�XA�s����tZ;`2���AP�̈́�Pb6r��p�c��
�Ϭg(C(g�C��w&M��,MS��T�4|V�|��{�jB�/O���a���e�f�8`Ω��M�h��=���w~��L ��EWػzLC"F��!:'��)bg8�G�ۼxŝ��[b�W�w5�y1	N���w�7dybcW�JZ������f�'��.ND������?����mK�����i�fǨ���?-h���g���X��l�.sB�o�CduQ��`�����2�`�U��2H6ڻ�1x6Sl�S�~�y�}��'�N�����#fnKah�7?W�:��*�����^:+@�h��SX�7���c3#��/t[���ßd�u"&/�`���Y����e�G�#��~�(Y�NI�TcE�J���Uc��v������ ������BISP��mC$���$�4�9)4��!,��	ī5��DU;�S��H���F��^����KK�#լ�H����b�"	j 	��s@�|����6��j71֨������Uջ;���D�*��_v�#eO�ˊ�d���ˊ���Of-��Q�?�l���J'6W׬�c����G��뭏$������zN~�	�V@�>hf�{:�G��K�	��8�v^
��8-�$4��<��]�������u�qvs�+pƕ�;2:f`6N\�‡��Ygf�-)w���t�4��k �ܩ��yP
�;�q��
_��e׋1͘\�_|�7&65���b��h���R��RA:)�GD��8ӿ<�*�g)���!��'hׯZ��?�c3̭�g�'�S�&󜁤�O=k������zt��X�:��}Z��;�n8�*]���ymI����w�@O"9;�ו��r&�?����)�*90�}�U�ɲʩ�J+�]�d|�k���Ɇ���˳˛7���̼��[S+�N�LF��P���җB�t�����g�	_�����t�O�j�-�㗈K)o^�~�r9s�ZV��e��`ɢ�iC���5gъ�e Ӈ���b(�p�?S[{�}�7�<��i�Y,���43��}�����:�EUR�~�Q�:�S��4y�"".j�0���U%�TߌL��MќN8�8?���@��f�$�فh���1��X���w& �BB���A![����������?�kK���FKF��n����U�+|L�\�X�.�6�5�6�[�0>:�į/�	���q1�Q��#tR`V	�tS�
�����z�߼���g�v��C�5N��.��
�7�҃щ�,	|kR�0�gnm�ödno x�p��A��[�7(�Wud���0+�z��mPv��ƛĂk{�Nsc:���Ȃ���ALP�͜�<~Ӷ��`���W;r�K"{{o/+�k�M�s��G��7^����삜�vrw�5(��Zd-+���W��}' �s7&������gT�A�WbӾ��+�ۆx`���3+���OW,�n}�Zp��Oå�7ԏ?ѓ��c[u�h�/[�1�<e��~�2��m:�謋�����f.q���Ն�>g�IɅ?���<��
QT�Zܥ��tt��?��l�}6S���u��ԒKyJcLd���]��:��Nw�Q'�Bէ<�栄���e�ȃ�m��u���p"W��ͬ���
lh�A�R�O
0��O�8��Jl�)�Yp���HW����m�^�;�5�c�{��C'�&�䠛������H������z�@K�+��]��~w$�%K!RO��D���#O?�Nũ5J��H��`]��U{�ga���yjS{O[B��:B�:4y@��$pݕCm5|���\Ԇ7&L���Y��o���=O�Χ:�gT�X�yAY<�7Qq���X�̋n��ת(�K^#��g>`��3Yq�j� ��']3q%�gj�ٌ��;���1beh;)���t�v�:N�<8�X?���Gr-Jμ��v��Ⱦa�u��˞rX۸}66���
���:ƃ�� ��|���,����
�I�
�LY���&>�=�KP�~J6�LO?O4s�����q�3��IBtt�go�^�p��DŽ�����<R m B6}����(Q��������Ĉ"����B�\�9�禊 ?�.�@��J��It,�Jqt·�1e�H�.��Pγt6��:�%y6:N�,#�wK*;��
 ��k P�RB��G>6{�����-��!�����I��L}PPOg)�?+C�W>ij^�L
�#6����0D��\��O�`:
q�LK���,4��!a�J�s c�I�r~~��<�[7�$i�{��L�o��[?�[HD4o�����ʍ������G�&
�%�r+�_��_B�}�_��p���;[�^u�4WI�$��Bc�A*r}P���'^|y�i���_3� ?�`�5>��#��Ѭ�bh�2�?�/�«^����Z��q;_I��Kw�o���}��/�}$z��
��,<��B7�>L��/����LuV�O̩GVιS�a�K�y�b��B�le	v������D��M�%3�3�I��K�.r������*<�=̷kD2��e^���!;�DH��
���H�@�"vώhlH٫f6���ut��_#�
!�MO���ɵ\�j�eÇi�U��I.�m��	ԌeO�
�^o�;���9~\Rwj7=jƋ�����+�'�Nx���Jzq��������f����c��߶kơܮE9\n�#�_�c}f����{�W2�	�/u��V#s_3M�À˟1�}N>}=���B#�n��������ܻ0l<zDUlryCC�Y���5@��b��IN����(�Gǽ��>Fo�~�"�҂�_]p�O]�<��$�t ��	%��x:���X+���UA!�B'�u64t��m�7�,)��ٓ^�j7ظ�ʎ!�2{��#OR
�A��wS��yO���v=���u+d����L{��B&�Z��˲s��+�٩�܉w�+B�|�{>�?g��5�6z��7Y��吀�.9�:��_|j������1�AD���]+�o�X��̟>/�<�A��xʵ�,�=H�eH�D����I��d��{���$��9;S�Pkn_q�B�sE%Z:*q^齻^*/���d�+����s�?6��A��d�w���?*�n���%Ms��!��������ׄ���qC,�H�m����;�x�a梸����Ha��"щ!�f�N��_�F_�(v�F߿�u-�_�m�:EOP��e�SE�H�M˭���͏� rRz�s��X2�'���D�F��XQ�	n;��j>�p���7>�6��1��=�F��d��]O��y��v�ѫ����z���ԟ�͹�Y�ƛή�oH*5�4��{�Z����Հ@Gc�f:��/!��'j�Y��?Lm��,�H�a����,=,��1��)��sW���SY��V{�̂*������~�2�5هZ�s�f�4/%��q�xє�|�V�\� S�88�������U�2�^7=�����pR
�MjnX�D���_�q"�k��/��Ʋt�/7;�ϋ��Ԓ �hTh
��FA�xM���,���tLԁl���q���S��`�������6j�V�dD,��t�����탻6��*F.�M�G؛g27a����$�҇�<A�$�a����Ϙ�J���k�J&J﫫����J]��G��8�Q:䥗���0���%u�y� ѸL��A��{ٕP{+fju��6%+2.;�
@
k��t
�(��0yhK�l�4%g��-Khʈ��\xhBUK������
�
򅉚��6ߝl���n:�Ze�Rb4������y�7�ɞ�T�l��aM5Eq�:�G��2�/Z,U��_>�6��k(;����y��ީ��D���<3!z%��j��T�髾��Iܑn��
�W���먜��I�W:��/	�3�M���de
��;��l�B���jY�ߒ����`<6V2�9���פ]�?)k��5[�?dm�Z��^N']OX�5bA�ꋶ<����'Z��Kpl%�ӣ�TKq2�yɄ���J��)�Z����N�du�M�+=�K%��D��H���P�\��|�l��!��)샊d�[3p�/��#�����\C���<B
-�DH�ݺ"��9#0��r;V)��ES�H�PZ�'���s�sѴ�����b�F<�Ύ��9�s�+ɡ���!��M�$(�~���c1s����[���V(�vE	�M�֣�q����|��E
�%�Ŝ���XA�Ƙ��1Rk��/����Ô�U=K]�x�G,���p9�x��z,�%�TF/���[���G�xu�{԰�Im��JO�4�I���Z�� �N�<y���DT�R46�V�\i�'��ɖE:I!�!
�Ũb��<�Vy����W�����F�|��~�+4���6tϒ3/�/`��x2�3Q	�߹m���}C۔����k	V��+s[�\��S���Y��IJ���}��v����pJ��R�7>j�7��F뗔lI��Z��#~�{i��]An�oi��u?���c�~����R���j�.��"�ԼƱ�m����9�)���-���q\�O�Zi0b�|��~�*X��)۫L�6y���<���G���ζ
���S����d��q��@�z�9^{��g<��Fq�VjȤ�]�j��-��v�㑾z�~n���$P`-\;�#��ܓVy��"$���'��y�pm��0��I}l)�/�v?�/���i����~�С���I�}S��x$=�-������n٣�u�����:0�0�wt��XY�&S�m8�"��v���q�%ࢻ��|�\:W�	��G��a�7C�Ulj�`_�h�5D���M]���Y�!�.�!5r�+0���p���p�'A!.�!T�;an�'܅����KD�W��˘���Lt�o1ѳ98H���<=J�oO�pn��sXl��Ġ1"\p{���ǽ�����ܱl�Q-�cJ���|�8*A}�"�c���r�?={��X�>WB]�԰n}�C�؁T-;�$-��9<�ڿjS�t��ξ:��}ߜ������}INp��z彼�k�~.�/1�b�;���u�=H�xN^z�2�9j.�,L���ɑ�
�"$���V��%���A$NȤ{����|��O�xo��)��񠣑�!��$����q�D	u�b^\}�y�鬤��ɘc�r�jKk$���ڟ:��w�O)]�O+oh�0sW���%ʠ�H-ce�L�u}�,��)��v� #(�$E3,����"�D*�+����No0�����p��/�b8AR4�r� J��j�aZ��z~Fq�fyQVu�v�0N�n�q^����z����I���(Ɋ��iَ�A�I��EY�M��8����j���?��FP'H�fX�DIVTM7L�v\��(N�,/ʪnڮ�i^�m?��~�����&YQ5�0-�q=@�	e\H��u\��(N�,/ʪnڮ�i^�m?��~^H��#�(4���$2�J�3�,6����"�D*�+�*�F���&��j�;�.�n��^�>� ���$
����"�L���&�����H,���
�J�������������������g�)�E^U>��
���2Y�1��*j��خA~N*�.N���aU�w_JT/��C*-g`�'�ڊ��
�Ų�g3�<L=\�V�v����������#���f�ȷc~��+h�_�v�>��߷���~{K�aO�ᶋL묌���RA�x��m�{��7Z�ϯ�Sw}�1c�!^�^R��)u���7�G�Oԥ���{!vJ�@����a�>�=z��y�Y>��T(�U|�zN�5p��?g�1��\ea&�"�$8U8��O{H��A~d0�X��l��J�׭EM�{\l8�\�B��+���D�X��`��G��s���*�4����Y(�ְ�f��Z���ErJ(��@�܀���Ln����%ç8-��|����>8�BIr��ؑ3V侬�r.��XB�+)j�/��¦��@�
?�6�	��tF������-����x��4����B�^bJA�芛n��9j�S,�d�N��`���nL#�+U��~�{����|XD�R�|�:-,-d���1y�'�=öt��G�ψ]%p=�PY��WR7�(�ɵ�rrͨx���M{��֟7��ۂ$�A��د� �gbp�[�NU�TܾO����_1�c6+ᩳ��>�`T�T����鉘Ȧ�/�;Ļ��B�Q��$��o,�fL�>&L�wz4a3y:Y��k�x�c�@��c'�m����(G�Ex�"��� �l����)�&����{��'��N�Kve���rڊ=9V�F�_�h-!��`��櫥�#yL{�zQ�;��4g�O8�E|�%"�+���WbF��\Dwa<I��N��Q�d����g���6�D���7X��Ul�O;E�y�Q�k0f�d'�
��ϩBK�U�p��)�O$�k?YpU�{�g�|D>���l���������WE��j��.�O�D?�{��"�+��cN�}|��d��ՠ��g�B�H��A_�Mp�,��X���+
0kt�[��,�ƺ����}GWztP��a;�0�.�؀�e���;�'!n<���3��vYW��#��� 
|UTǑȎ�$�ߪˑ-A���|��w1�hc��G�R|�r/��m�9�E�,kǴGU��Vr(�'��:ȋ;�0��v��&�',���co�J��� �E�1@�9�f!�:�����0A�yEic�����H�����8[D�Px q�+� ��٦��J����s��U��KR]H��<��R��y��$)F�	KE
��K5[y�6ݯ;6q�
�Alm�����+
ϔyz�栎z����*�i���.�)Vd�N��V�y�����F�o"��/�WP}LAͨ�5TsԮ9c,vis������\�I�^�a��0�sgpE�dI*N0+%p�ol��Ž����:�Md��
s�׷��`�s��S�����ZΜ6)O�u\��6�.�����
�&'hڐW�S��Ќ	w.s��h�\EL`[��u�
�Y���s��@��ԣ ��#�<�A)x�Z�Ή
����Y'j�� �� ŵ�=����~-;�a��ۭ�X*����|S�y��{�w�GY�
6���g|}���@7Ĕ~�JW���%��i�x��AH~�r���P�Y��Z�W�3����
������b�U�tu�6Y
�
O�?�*�+�����?r�5�b�J������!tܑ]�n:��g���,��I�v��ë�-A�0yǦ�	Z�S&��̃7�L���~|�1�������K����8�og�N�7�����k!^�����I�c��?��?Q�	'���s�^a.�	���|���'���+8����7�N�WIz��HN)��\(��6rdp3=􌓂3Q���돽s���en\��O��1bF�v�#ey	�GDp����}��L�
*i��������}.z|�R?@q�0�UH���Iq.���Մ^d��1
�ֵLR���M�X��:�Af`��E�_ �� 㙝-fN�U�2��%)x����x
��}v�3�B��Q`G���� �>A�ž�cI�|�A������;�R��&3���w���GG���;j�X�@dɼ�9ᅣ�,�޳v�W�a�A�}64���$#�H�WrƂ�u��ْ��`�����M������aX�~\ִf�k�r����W]06�-n�Pֲ��fz8�y��*u��������`$�Ro
52*���}>��O��ډ9.��aK�
�����E8&�3�XAW�h�۞�r�-ޭ{VHassets/webfonts/fa-solid-900.ttf000064400000616314150753125220012435 0ustar00
�PFFTM�T���GDEF*��OS/23�V`X`cmapu�`�gasp���glyf�#�B-��pheadTQ�6hheaC+$hmtx����locakh(�maxpL`8 name"�&&�D+postU���p1KC�:I`s_<��4�x�4�|�������������] @��LfGLf��PfEd�������.�T:� ���@�@ ������@��@����
��������������@�`�@@��@��@������@@�������@�`@�@����@���@@��������@���@�@��@��������@@���@��@�@������@�@@�����������������������@@��@
@
@
@�@���`�������������@@@@@��@����@����@������@`�������@���������@����@@ ��@��@����������������������������������������������� ���@������� ��@@��@@������� � ��@� �  ����������@@���������@������������ ��@�@���������������@����@��@�������@������
��
��
���@@��@��@�`@������@@�������@��@�����������@�@����@���@@@��@�����������������������@@@@�������@�������������� ������������������������@�������������������@@��������@���������������������@��h��������@�@��������@����@��@���@�@��@�����������������������@ @���������@@�����������������������@������������������ ������������@�����@�������������@���@������@�@��@������������@��������@�����@���@ ������@���@@�������������������@��@�����@��@���@�@���@���@��������@������������ �������@������ ���������@�����������@�@@��� ���� ������������������������������@�������
�
�����A�v���������>�D�N�[�^�n�|��������������������������������"�.�1�5�:�>�D�F�K�N�Y�^�e���������������������������������-�6�9�I�N�]�l�w�z�������������������������������������(�8�[�]�`�b��������������������������"�$�4�6�:�<�?�A�C�E�G�K�N�P�S�X�]�_�b�f�m�r�t�y��������������������������	������������������������������������!�0�7�<�A�D�G�J�O�Q�U�X�^�b�f�k�m�o�t�v�y�|�����������������������������������������������"�)�/�=�@�C�G�M�S�V�[�_�i�k�s�}�������������������������������������������������
�����*�/�>�J�L�P�S�c�m�y�}������������������A�Y���������!�A�H�P�^�`�p���������������������������
���� �$�0�3�7�=�@�F�J�M�P�[�`�����������������������������
���!�3�8�@�M�Q�l�q�y����������������������������������	��(�7�X�]�`�b��������������������������"�$�3�6�9�<�?�A�C�E�G�K�N�P�S�X�\�_�a�f�h�p�t�w�}������������������������������������������������������������!�.�7�;�A�D�G�J�O�Q�S�X�]�b�d�i�m�o�t�v�x�{������������������������������������������������"�(�.�;�@�C�G�M�S�V�Z�^�i�k�r�|�������������������������������������������������
�����)�/�>�J�L�P�S�c�m�y�{�������������������#"! 
�������������������������������������������}tsrqnedca_TSQLKEB@2.-����������������������hF.-*'$!	
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�

}
|
{
s
o
m
k
i
S
H
G
F
E
C
B
A
@
?
>
=
<
8
6
5
4
3
1
/
,
*





��������������������������������������������~{yrqoed_^XUPLA?=:50.+) 

�������������������������������������tk`_\[RM%
�
���8�t	���
���H�T0D`������@�� �"$$T$�%%d%�&'h()�*�*�+L+�,t--�.�/�/�0�1L1�2D3 3�4H4�5@5|5�6�7h848�99�9�:t:�;x;�<d=,=�>�?P@@�A�B�CPC�DDdD�EE�E�FPF�F�G8GpG�H$HlH�II`I�JJ|J�KlK�L�MMxM�N<N�OO�PTP�P�Q�Q�R�S0S�T T�U\U�V�W�W�X�X�Y Y�ZlZ�[[�\�]8_�`D`�`�a�bhcclc�ddd�epe�f�gPhh�itj(j�kk�k�l�mDn`n�oo�p�qxq�r<r�sdtt�t�u@vw�xhyyxzz�{H{|{�{�||h|�|�}}�~@~�D����������D���@�L�0���t�������,���<������d���L������������l���L���l�l���|��H�������(�������������`�(���T���\������T���D���������4���,���T����d�$���h������(�|� ������������X� ���������d�$������� ���t����������T�„�8�8�@�Ơ�����|�$ʰ˄�X���Έ��P��а��Ҍ�(�Ԩ�X�׌�h�� ���8��ܤ�ݜހ���T���P����`�����x�x��`���\���|��������D���`������X���`�,����|���L���X����0�����8���d����$����\�����H�	@	�	�
H
��p

��pp��0P(0��|��d��4�!�"t#|#�$$�%�'�((�)4)�*�+0+�,<,�-�.$.�//p/�/�080|1(1�1�2T2�33T3�4@4�585�6T6�77l7�8899t:D:�;T;�<$<�=�>>l>�?|?�@�A<A�CC�EE�FTF�G�HXI,J<J�K<K�LL�MPN�O4O�P8P�QQ�R4S$T4UU�V�W W�XHYtY�Zx[,[�\X\�]l^0_ ``�apa�bXcc�dHe|ff�gg�h�ihi�j�k�l@mm�n\o�p�q(q�r<r�sHs�tTu u�vvpw|xx�y�z�{({�|�}}�~<~�l��p�����8�����x���x� ���4���x�d��������,�����T���4���l�(�<������@���P�����x�@���x���0���P���L������P���L��T�����p�����@����d�����H�0���L�L���h�l�h���t�����H���������X��p�l����� ��������l��Đ�<ư�@���<�|˨̀�ͤ�\�P�и����������ׄ�x�t� ���@�t����d�@�h����@����@���T��P���h���p�P��0���x������x�,�������`������������4�����$��x�����4�\0��x4��HX	4	�
�|4�
0
�(���(��H��P<\�pP� D!D"d#($%d&�()t**�,�-�.�0�1X1�2�3<3�4�5�6�7D7�8�9D9�:�;�<�=P=�>X?8@H@�A�BB�C�D�E0E�F�G,IJ4K\K�LxN�O,PP�Q�RPSHS�T,UU�V@WW�XhX�ZZ�\H]]�^�^�_�a4bc8d�f\g�h�i�jlk\l�m�nLoo�q8q�r�tt�u|vv�w�y<z<{||�}�~������P���T���<���H���t��������x���d�L�(������x������p�(�����0����������d���P���`���������@���|����l������X���<�d���T�P������������l�h���p���H���p�#>%2+"&4&+"&'#"&=46;6757'&=46546;276/`B^
@


=L=]		w"  !�n	 	n��^B
##	`	00`

		

����#-6>FNV%2#!."#"&5463!2%54+"6754+"6254+"54+"354+" 2"&4264&"p		��>T>2			�@qlo���B//B/C�	 	)77)	 		�Ll�YY(�lD����/B//BA�������T\%#1"/1#"/"/#0"##"&54?&'"#"&54?454767'&5463267'&54763267'&54763267'&5463267632376327232#"/264&"6264&"#"/#"/#"/#"/#"##"&54?&'#"&54?&547'&546326767'&547632467676767461'&546326767'&46263023763272312264&"	

			





		


	

�i			�




	





	

			


��	
	
	


				
	

			"M			6
	
			

	

				
	
	
�������"/#"/"#"/"/#*##"'&54?&'#"&54?454767'&5463267'&5463267'&54763267'&5463267632376327632264&"6264&"�

	


! 





		

			 ��((vY

	


	
 
	

	


��((l�����	-%!32;5!#!"&2!546;#"3!264&+7��@�%%n�@
�@
�
�
1		`		� *��@@


��
@	


	@����@�$N"&=46;546;232++"&=#!"&=46;76;2+";7632�		@	@	@	@	@	X�"��		7/ *�
	N		xx

@	@		@	@@

@�
d
`	&

	
X����`t�"/.54?62+"/&546325462;2=462;2=462;2=462#'64/&"2?11"/&54?62k111;&
�}
&x@11111111���
 �

��

��

�H

�&0
P1111 ��!�W���$"&462'7>&#".=4627>32?>32?>20"%2+";2+";2+"'654&'54>?63232+"3"&4622"&4((�			
�<		'/
,""J/<�	
�	
�_	
�!$'l
/�	
�E��((�((B

0�
 )q


2�	
	z�	
�klQ32


,0#!

��((����7L%7654&#"#"'&54?63276;76;232+&'%3#"/#"/#"&=46g	!K��u	
TLX	
V
	7p		b�~	
[�		�	��[	EQ	7	�
���
R	�	���� )4c3+7"264&5#"/#"/%3#".5:64&#"%#"'&54?63276;76;2&/7654&#"H
@0			I	
[�`@	)		��K��u	
TLX	
V
	7�	@8�
@			 ��
R�			���[	EQ	7�v
����'/QY$"&4622"&4&2"&42"&462"&4&2"&4'+#";+#5&546;2&264&"rb2�23
 `

`&@�@pP*#@45��~FZv6;
 & �:UPp'�%����!)19LT%#"'&54?6326;2'654&#""&462"&462;+#5&547#"2"&4ƴ��'1;*#@45�
	jN��
`&@�@?
+���!'�j		
�N& �:U.(������ 767#5&1!'>;2&264&"";#";+5!ܠC���g>B4Y�0		�
�		�!��ñ=�7E/)GR!�		 		�0���)y$2"&4&2"&4++!5&546;2'264&+"&?64&"&=4&"/&"+";22?626=46264/&63				7			=
 &@�@pPJ4Y5�			

(		(
				

(		(
	�			I			Z
@&@�9VPp/)�		(
				

(		(
				

(��@�+3A%&/#!"&=&/&547%62546;2&"2642654&+"3;
��
e	@	�4&&4&0	8(@(8	��

��

Z4		�&4&&4�	(88(	����3NR%#"&=#"/&54?62546;2#"54&+"32#!"&=46;54>;2#5#�
�

X	 	;�	@		���%
�0���
��		N'		`4%		@	�

�		
�������9����&"546;2327&54767>32&#"#";6"/&"&=4&"&4?6&+"&46;26/&4626=462?62;2+"&264&"264&"/&'32654/3264&+764&#"54632X		�
 </N!E
)�

(		(
				

(		(
				�			I			,N/< )
E)�		�T	
7.{l
&(	(	'
				

(		(
				

(		(d			I			.7
		(	'&
l��@�$,Hh"&462+"&="&=46;2$"&4622#+"&=764/.5>3"&=#"/&4?6235462z4&&4&@2
@

&@
H�4&&4& &

@
2H H
�
HH
�
@&4&&4�&
0`

�
`&
D�&4&&4F&`
�

`0
&
D�
D$$D
D$$����@4547+"&54?#+"&5457#"'&54?632'&546;232+ EB	B
1g+(	 :���%
B	irBB9,�u	�:	l����	�'2'������;R2+"&5457>354&+54&+"#";;2>=3267"/##546;232��%$�((((�
+C�
@
C 	�&�!�((((�
+ `

����&=2+"&54574>32654'&""/##546;232�$&�&
L#4
4
�
+C�
@
C "�&%�
�"EF	B
+ `

����!u}2"&4%"'.546?632264&+"&?64&"&=4&"/&"+";22?626=4632>54/&63"2"&4�			#-3/*M@'�		
n			

(		(
				

(		(	[						u 5bLA/ 	C_�GP�		(
				

(		(
				(			���	P75!#!"&%2#!"&=46;5#"&=46;235467632+"&=4&"3546;2+ �8(�(8�		� 		`@		P
@+"	
(8	 	@
P		@   (88�	 		 	 		
0�$88(		

�0
		 ��� (08D2#!"&=46;#";2654&'6"&462&"&4626"&46232+"&46�(88(��(88(�Y(88(�(8#F4&&4&�((���&&�&&8(�(88(�(8%8P88(2
&4&&4z((�&4&&4&
����)S^g'.7>75#"&=46;2+762#67>54#";27543230;2=4754&#"32&2#"=�"|WVyeI 		�		 8,
�1

88	
R	�879E

3>Wz�ULp"	 		 	"	$
� =<'
k ?j?�tt������,:#"&7#"'&54?632763!2#!3535#!"&53XJ::��#	�	V
��)5�@�@
�
@DD"��-��" )c��2I

���`�
F73!"&=327'#"'.7#"'&54?632763!2#"'#"'532767z�a		+$����"		�	=$-**
�		@�
�Y(m��h(Z!!pP�����<D47#!".547>5#"'&54?63263!&5462&264&"@<��
:��6# 28P8+!!�6	&

^�*-e>I'3=PppPEh{%6%%6����BM[7#"&547#"&=46;2$"&462#"'&54?632>32467#!"&5%2+.'63�%� B
&@�4&&4&k����>+.B 7!��<,����&
B(�%�!*
 & &4&&4�g�*8B.*+A,B��& 
#:�����W_g%2+"#"/&"&=4&#"&54?6&+"&46;26/&546326=462?6323264&"264&"�&GG&&GG&��((v�G&&GG&&G,((T������$Yb767#".=4&.6?6&+"&463'&?6626=462?62;2+"%4654&#"r
�
G		&

��	

]GG	&�	����
&G���
	I	&&G
~
�����OW���%2+""/&"&=4&"&4?6&+"&46;26/&4626=462?623264&"'""/&"&=4&"&4?6&+"&46;26/&4626=462?62;2#&264&"264&"p			

(		(
				

(		(
	�e55


55


�i			`		(
				

(		(
				

( �5

55



53			�����32+"546;5'&63!2��8�8������**���632"&46325"&463247�
8P88(�8P88(�
��%%6%�K�%%6%���!%"/&=#"&46232&264&"�d8HVzz�z,
�jKKjKd
,z�zzVH8KjKKj�����"/&6767>�/+�

�+/)k&&k�(|+�

�+|(#	''	��1�62/&?'&6?	(	A�j �� j���&g�	DD
�g&����$"&4622#!"&=46;27jKKjK&7O��O7#L#�KjKKjkO7**7O	�/;GS_kw��2+54+"!54+"#"&546;;2=!;2=54+";2=4+";2=4+";254+";2=4+";254+";2=4+";2=4+";2�

(��(

(@(��((((((����p((((((�
��

P
��((l((l((�``�``�((l((l((���/?32+"&=46#2+"&=46346;2+"&5"&=46;2#(�

�
F

�


�

�
(

�

�
�

�

�

�
��

�


�

�
	��� 0BRbr��+"&=46;2+"&=46;2746;2+"&5#+"&=46;22+"&=46346;2+"&5%"&=46;2#"&=46;2#%46;2+"&5�
e

e
�f

f
 
e

e
 f

f
�

e


e

e
�

e

e

e

��
f

f
�P

P
�
P

�

P

	
P

�
P

P
�

P

�
P

P
�
P

P
h

P

���/?O_7+"&=46;246;2+"&52+"&=463"&=463!2#463!2#!"&5"&=463!2#�
e

e
�
e

e
}

e

�



��


��




�P

P
�

P

�
P

P
�@
P

P
�

P

�
P

P
7'&4?62762"��%p�%��	�$p�$����aq#7"/"/&4?'&4?62762�d		
	dd	
		dd		
	dd	
		�d	
		dd		
	dd	
		dd		
	���5=++"=#"=4;54;232"/&=#"&46232&4&"208 88 8�d8HVzz�z,
d�PpPPp 88 88��d
,z�zzVH8d�pPPpP���%-+"=4;2"/&=#"&46232&4&"20���d8HVzz�z,
d�PpPPp  ��d
,z�zzVH8d�pPPpP����)9#".54>7632654&'.?>+"&=46;2�08�gCrC. 	
bFEc$ _
 

 
�"k=g�BrD)L>	"'EcbG'G	�

�

��h�/?O72+"&=4632+"&=463%2+"&546372+"&546372+"&5463�		0		P		0		0		0		�		0		�		0		�	�		�	`	`		`	�	��		 	`	��		�	`	� 		�	����<D%/'&=&''&'&?&47'&767667547676264&"�	&+"	76
"*	&	**	&	*"	77	"*	&	*�B//B/�
5)1

1)5	$
5)1

1)5
##-/B//B����A�D62+"&=4&+"+"&=%#"/&"#"/&54?62546;2�	p		@	p	����"
Z8,��	
`		`	�1���JI�����2"&4654/54&+"327�Α�ΑT:	 	C��Α�Ψ*�		�1��E�"0B%+'4&+"#"&76;;265'32;26/&+"2>5'4&+"3=�	D��bb�((7	.	-bb@4,,�00���+3;3232"/&6;546#!"&=46;2?324&"264&"2�P
X
	��	

X2
�0

�1*1�
|L�
�	��	�
��p

p
11j@�%#!"&=4?63!23373'8� j��U{ p {U����+�@@����92+"&=46303.#"327632#".54632'41463��e,8IggIB2"F`CsB�f%G:��/#g�g,"@BrDf�'R���)S4146;2+"&=463.#"+"&545>322676;2#"&'1+"=46;2#'�/�fM->_
1�Z8b#�=`
1�Z8b#/�fM��/$*L;	Ws.)��L;	Ws.)R�/$*���'3?K!"&5463!2"264"264"264754+";254+";254+";2�`���""""""������� `��h""I""I""�  T  T  ����%2#!"&=46;5462#54&"���Y~YP*<*���H?YY?HH**H���'276#"&#"+"&5&54662^0E;?$h>4

"!Gh] �	)#^

�!

#���/2+"&=46;254&"6;2+"&/&=4�ԖA-

/!q�q!/

-A��j0	-?
�
"OqqO"
�
?-	0j���6/#"&=46;�Yf

fy��Y
�
����#6/#"&=46;.6764'.>�Yf

f�				x��Y
�
)0).��@�'>P6/#"&=46;%.67>54&'.>&'&67>4.'.>.6764'.>�Yf

fB<DD<	!/91	(-)			
)a				y��Y
�
�'~�~'=J';h!�`S	$,.,$6)0).	����#'+=3'3573#75#53'35%3#5##5333#'3#��@����@����@  ` @`@  @  ��@@@�@@@�����@@@� `� �   �#'+/37;?13333333333333333333333333333333			$										���������������������������������������������������=46;2"/&6"264���(��((���(���((����)%"/&=46;2264&""'764/32��(���((2�(��1��(����((���J��(����#/8%#!"&5463!2;2=4+";2=4+"&7!"3�		
��(88(H
���������

X4
8(@(8
nF�  ����
463!2' �@��0p���#'082+#!"&=#"&=4635463!25!%5#"&=#264&"�%	0
��
0	%

	.	@�0	�&%p	`

`	p%�
	.	
��``�`	0�H���"*#!"&546;7>;2324&"26"&462�`X

~X�FdFFd&4H44H0�� !	!�dFFdF�H44H4����+.%2+"&=46;'#32+"&=46;6;2'3'�		�		�		�		�0��^/ 	 		 	@@	 		 	j��������%-%+"&=46;#"&=46;2'3264&#264&+MR6�		  		�9L�W  W�?$4F	0	 	0	T9$a`(��!.!p��@�#+32+"&=46;#"&=46;2@	?P/		�		?P/		�	� 	��	 		 	@	 		��C�-I2+"&=#32+"&=46;#+"&=4632"/&6;5#"&?62+0		 	8(		�		(8	 		 PP00PP0�	`		 ��	 		 	0 		`	��PP�PP�����-I2+"&=#32+"&=46;5#+"&=463&=#/&4?63546�		 	x		�		x	 		[PP�PP��	P		p	 		 	p		P	��PP00PP00����/?7"&=463!2#"&=463!2#2#!"&=4632#!"&=463
���		�`		�		�`		`&&&&@	 		 	�	 		 	����/?2#!"&=4632#!"&=463"&=46;2##"&=46;2�		�`		�		�`		\��� 	 		 	�	 		 	@((�((����/?7"&=463!2#2#!"&=4632#!"&=4632#!"&=463		�				�`		������	 		 	�	 		 	�&&�&&����/?%2#!"&=463%2#!"&=463%2#!"&=463%2#!"&=463�		�`		�		�`		�		�`		�		�`		 	 		 	�	 		 	�	 		 	�	 		 	���/?O_72+"&=4632+"&=4632+"&=4632#!"&=4632#!"&=4632#!"&=463P		@		@		@		@		@		�		��		@		��		@		��		P	@		@	@	@		@	�	@		@	�	 		 	@	 		 	�	 		 	����+;K7'&4?62#!"&=463%2+"&=46372+"&=46372#!"&=463e``D		�`		�����		�`		U``�-	 		 	�&&�&&�	 		 	����+;K7&=462#!"&=463%2+"&=46372+"&=46372#!"&=463`5		�`		�����		�`		U�`�	 		 	�&&�&&�	 		 	@�2#!"&54636/5P���"#n��� &�K��")"&5463!2"264!5'&'&�`���.!!.!h�X�8H ��H!.!!.�pX�8H����.5462"�="
p�p
"=6#X$5"PppP"5$X#
����
6462"7264&#�Α��gLllLYΑ�Α@l�l��`�!"&54>762264&#"&54&"�6,!g�g!-5-		!/		B�4_6I&JhhJ&H8^4�@		/!		.B��@�7.?67/&?624?6#!"&5463!2+!�Z�\
��$Z$ �(��(�@mZ�
\� #Z#��(�`(��@����4;276/+"@0�%%�0���
��
�����54;27676//+"(�%�%%�%�(h��
��
��
��
�����7&4?6'7&4?6'�%%@�%%�

�
��
�

�
��
����%&546���13�6������#"&546;2%+"&546;2�`````��0`����2#!"&5463������`���%&546&546��%%@�%%�

�
@
�

�
@
���+"=&=&54654654;2(�%�%%�%�(t����
��
@
��
��@����+"=&54654;2�0�%%�0��X��
�
��������%#!"&=463!2%"&?62#�
��

�
�p�*�@@

@
39��9��%�?62"/&4#�����������%�%"/.?'&6?62�������������#2"&454+54+"#";;2=32�Α�Α�\8\\8\��Α�΃8\\8\\����2"&4!2=4#!"�Α�Αt����Α�Ώ88����#2"&4'76/&'&??6�Α�ΑrBB(	AA	(BB(	AA	(��Α�ΨAA	(BB(	AA	(BB(����"&46276/&'&��Α�΄��Fh'Α�Α����Fh����+3"&462"7>32;2=4>54&"264��Α��`J+	#	

8H &&'Α�ΑR@		



	&*<�&&����'2"&4$"26454+54+";#";2�Α�Α	""@X��Α��#""�d@���(PX%2++"=.'#"=4;>754;2>7#"=4;.'+"=32+54;24"&462�3N.(FeeF(Fe�,?
))
?,(,?
))
?,(�(.N3eF(FeeF�
?,(,?
))
?,(,?
)y����
2"&4.67�Α�Α�`�4&��`�4��&��Α��`&��4`&4������%"/&4?62!2#!��x

��x��s
 
s����762"/&6?!"&=463!'.���x��

x}��s
 
s����7'&4?62&/+"&5#��s
 
s���x��

x����%"/&4?646;27>���s
 
s���x

��x���&='.54>7546��1D2
#02LP4�

X*@+U,,B)	P
����!2C546;2++"%4;2+"=#"52+"=4;543+"&=4;232
|T( |
(T�
|T�|
(T|
(T�
|T�|
(T�
|T����!2C#"&=4;232%+"=4;54;2+"=#"=4;2+"=46;2+�|
(T��
|T((T|
�(
|T
|T(
(T�XT(
||
(����#%2++"&=#"&=46;546;2�

�
 
�

�
 
�
 
�

�
 
�

����%2#!"&=463�

��

�
 

 
����6%/+"&?&/&6?'.?>'&>;276�	�&�	��	�&�	�r	"	T��T	"	NN	"	T��T	"	N����"&462"264';2574&+"��Α��T&&Z0@'Α�Α��&&������
.9C353#"&53#2#!"&=46;&54632>32!3.#"3264&#" ��
�
 
	� 	
,
4$..$4
��V#!� ����
@
P		P
$4 $$ 4$5"$%����@�'&'.7>3264&#"&546;26762"�u8[5	 @Q}G		�upPP/O�BN��	.%,.
/>0"		TPp/)����!"&547632654.676�#11#q�q7%&
"�2,2M/OqqON9U&% "*=%
@�-%#".'&47>22654&"72"&54732654'6=*�[<oV*����<TTxTT<(88O9	�Pa-O5Paa�T<<TTxT�8O99'
	����0F%27#"&'&4767#"'&54?632632'654&#"654'6320@

4)%[�*i'@_���EN[�*3IT<4'I	

'80)
aPQ%=#:�c&aP;+9<T!98'����H�!%#!"&762"264';2574&+":
� 
�8&&Z0@00���&&�������@�*2++"&?#+"&?'&6;23'&>;2�BBri	B	1g+(	  	(+g1B	i'2'�
�:ll:������	!-9EQo!#!"&%;2=4+";2=4+"';2=4+";2=4+"';2=4+";2=4+"2!546;546;23546;2���@((((�((((�((((P�@0	 	�	 	���((�((t((�((t((�((@000		00		0���;%&=#"/73546%"=4;2'!#+"=4;76;546&5�P;F55 �coF55  �oT�;PPYP(K:9(g8K:9�8�(PP�����2#"'#"&'&>7&54�Ԗ�j83AL9�z�z319JV���>#"&=46;2%+"=46;232".54546;226=46��hW�h��Nt{tO�2<2,PPP|,	Ht;;tG14-44-4;�E/&/&4?62�����=����;�E7'&4?>76"�����C������}�!C%"/&4?625#"/&6;2762+"&="/&4?62"/32vee(�	�
(���
(ee(�	hdd+�
�+
�+dd+���B�.%#!!2"&547#"&547#"&=46;2!2��
 !.!�!.!FF

g
	�� #!!!! W

-�2#!"&546;��`�@@� @D�
%#!"&?63!2%"46;32=I%�pI%��T 	E�@��| | 8v@0�/?T%"&=46;2#3"&=46;2#!"&=46;2#3"&=46;2#2#!"&546;2M&:&��&:&�		�0
	 	�����FF��@	 	
P		�����-5=M!2#!"&546";2=4#2=4&+"#"3264&"62"&4265463264&#"0��`	t@	���dFFdFTH44H4!	
		&���` 	
`J	-$��FdFFd�4H44H4	
		&���"*#"'+++"&=4?&54>32264&"gI%
(
p
�	/Q0Ig�((Ig(
(

N
�0Q/g((������;C����'&'&?&'#"'&76;67'&767667632+/'>'&/'.=&''&'&?&7'&76766754676276>.6'&'&?&'#"'&76;67'&767667632+/'>'&







&	
&	g"	!
&&	
 
!!
 	&&
 
"{#0#0	







&	
&			
			
	

	>##�
(
""
'
 
'

"	
"&
50#0#�		

				

		>##����B�+#"'#"&'&767&5462#"'#"&'32654'�zV<3+.&z��.+3<@hc�9HB�^")3B^��"
6,qO	Q13�� �
&?'&6?6 � j�A	��HD	�g&�����,%+"/&=#"&546?#"&=463!2+*&
�
�
0&*



*� -
h00h
$<v
0

0
��@�19A232#!"=46;5.'&'&=46;5463!2&'#%5#676(
>0>%0%��%0$>0>
h

��@�@#�
88-"4HH
&"-88
(

(�
)--)
���/7?%#"&=#"&?62+7#!"&=46;;26=324&"264&"2(P
X
	��	

X�
�0

�!P!�
|L@
�	��	�
p

p
!!j�����#7&.7>&>676>.2327>�"		
'BF:;-+
+"		
'BF:;-+
�4j
^�"+
+-;:FB'
		"+
+-;:FB'
	c
j4,^�����#"/&?6>7'&?6���p1;[<0����h0<\:2p����.2#!"&54632654/"#"'&#"���.x�A
%#KF	���`���x	FK#%
A����&%2#!"&=46;5462+"&=4&#"���Y}Z
 
+*���f@ZY?

*+g��@�	!+=!#!"&7;2=4+";2=4+"!5463!2@� ����HH�����X((((00����16"&462+"&5.'"&=463+"&5.'"&=463�%5&&5�	0	wT	
t��	0	ː	
V�sF;5&&5%o
	Tw	0	�t
	��	0	Gr�@�#+%#!"&=463!2'!"763!2&"264&"264@� �0� aa3s�``<��`��@�,4$#"/&++"'&547#"&=46;2?632#2@ 	UBUK"%%�UBU	@!TkkT�J�
D5+"#5:%`%5D
��C`C�����;%//&/&?'.?'&6?'&67>7676�.

?>	--	>?

..

?>	--
>?

�-
>?
..
?>
--
>?
//

?>
�'7?%+#*#"&'.=47>763232+"&=46;24&"2d

##GE
	��`
0

0
�
+% $
	�

-+
�

�
��&6>3&'&632#*#"&7.7.7#"&54632+"&=46264&"-�	
EG#('

d�0

0
$
+-

�	
$$#%+

�

�
�������'7?2666+"'.'&54654632+"&=46"264�
+%#$$
�

-+
�

�
��d

'(#G
E
	��`
0

0
������&6>5&547>76;2'''#"&546;2+"&64&"2\
+-

�	
$$#%+

�

�
��	
EG#('

d�0

0
����%"&462'326=4&+764/&"2?64gΑ�Α�L�

�L��8�Α��H

H������%2"&47#";2?64/&"�Α�Α�L�

�L����Α��H

H������%6462"'7;26=2?64/&"2�Α��H

H��YΑ�Α�L�

�L������%"&46254&+"'&"2?64/&"��Α��H

H��'Α�Α�L�

�L��	����
"+17=#>2473#%#&'%#>#64'#&4733"&673%3.P�0:0���Bl#5S��$lSk		r�r		r(�0:0�$lS��l#5S DTT�@  @ �\2K[2\3K�    !>!@"!>!!DTTJ2\3K~\2K�����$'"&4?&67>76264&"�	P&�5%�
J$JDK
�<S$I
�%5�%Q	
KDJ�������+3CSc"/&4?62762"/&4?627622"&4%2#!"&=4632#!"&=4632#!"&=463�I
/
@
H
/
@
\((�		��		 		��		 		��		�	H0
?�
H/	?�((	 		 	@	 		 	�	 		 	�����2/&='&63��P
�����
8��'+%53#!"&=3;2672!546;546;2#5#@��`�	`	��P�@�p0��0		�PP00  �����;%"/&6;5#/&4?635#"&?62+3546&=#32`OO3eOOe3
OO3eOOe3
OOe3OO
3eOOe3OO
3e����&:H6"&462"&4622+.'63*&4622#!"&=46;27'#"&=46;2z4&&4&�4&&4& &
B �\BB\B#0C��C0	!F!�(B
&@�&4&&4&&4&&4F& 
*!B\BB\bC00C
:#
 &�����%K"&4?62?64'&'&5&?66&'&'&?>'&"&'&4?6G,,D,~Y,&	
<C	jY,&	
<C	
,,D,-~,D,Y~,&
	;C<
�Y~,&
	;C<
	-~,D,����%#!"&5467454632632.K5��<T6*^B,J(8�$65KT</JB^,$8(����%%#!"&?5#"&=46;2+3'&=#�(*��*(u

�

��0@,#II#��



�iN
��
����'/7%"/"&46327'#"&462762264&"264&"�		Ft8P88(!!(88P8tF		����	s(88P8!!8P88(s	F������#,!#!"&546;3;#!"&546;#532@
��

H!�
h
��

�y`
(

p
��!X
��

p
I
`������2&6?62&'&6?6?64'&"2?6"++,�"^!!!�@��		�(�3H��-~--�"""_!�?��		�*�K5��-����(#!"&5463!2264&"4/&+";25����6%%6%���>��`��%6%%6h����2#!"&5463������`����/"&=463!2#"&=463!2#"&=463!2#		�		�`		�		�`		�		<	(		(	�	(		(	�	(		(	���'7G2"&42"&42"&4%2#!"&=4632#!"&=4632#!"&=463((((((�		��		@		��		@		��		�((�((�((	 		 	@	 		 	�	 		 	�����*:JZt�7#"'&?63254+"/&?67#"=4;20%2#!"&=463%2#!"&=4632#!"&=463'"=4;5#"54?6;232#"=4>54#"/&763232#>	9�		��		@		��		@		��		�D		


'/		
		�	 		 	�	 		 	��	 		 	�@X�
	���/M%2#!"&=46;&'&546;2#"'&+"3+"&/&54?632;2654�		� 		fH4D%=	+
BW^H4D%=	+
B�	 		 	3I' 
`3I' 
����/?"&=46;2+26=#"&=46;2+"&=2#!"&=463 		�		 /B/ 		�		 ^�^p		�`		�	 		 	�!//!�	 		 	�B^^B���	 		 	���2#!"&54635#75#5#75#��`�����������`��``�``�``�``���'+/?/?/?"/&47627'�    �5555E5555b		��	
U		l	
;W3V`   `555�555�
	��		U
	l		�V3W����'/7<%2+"&5#"&5#"&5463!232264&"264&"75'#p		08P8�8P8@,d�,((\((�d,`	 	(88((88(@0dlp((((�dp��!&+2#!"&546334&#5265#264&"5"75#`

��

@%%@�B//B/`%@@%�
��

@
��%�%�8P88Ph@%�@%W9!2"/&6
	��	
	��	`9	%!"&?62!��
	��	
`	��	'�Y/&4?6�	��	A��
	��	
'�Y546&	��	?
	��	
���2#!"&5463#!#��`�������`����
��3�732"/&6%+"&?62)�ww�w�wwiw
��3�732"/&6)�ww�ww
�4�%#"&?62�ww�ww�:6#!"&=4632>76".#&'&=463!2"��`!y
	v�z4	�	1}��X	
	Ue	Y(&[	����+7#"&=4;2>3#"'&?63264&#"32��0#a6g��g_G
	"	2BIggI+Jb��N'+�͑@		",g�g'!0���7%"/&4?'"/&4?627'"/&4?62762�|(Q		s		.		s		Q(}q�}(Q		s		.		s		Q(|q����D�2#"&?#".?>;2(�.w 
�* ����
�����5EU72+"&=4637#546;5#"&=46;2+32#5##52+"&=463!2+"&=463�

`

H0�(

�

(�0�0H

`

P

`

`
`

`
P0:@
`

`
@:000P
`

`

`

`
����B�-C%'."'0.#""'.&7>75462632#"&'&>3265@57	(74�\\���/!*	�

#+
'"+$
cz



zx�!/
		����/8#"&546;6232#"6"2643+"&546;7#532�h

QJQ
�!*�h
�

�r`
B�
P
  
H!y��

0
h
&`B��`�
 053+"/&46320#41&'&7264&#"26546`�
>	`dKJg,%�%,�		.B		/&&
 GigIB2+00+2�		B.		!/����U$"&462462"7#!"&=4672654&'527267?6/546?6=4&'jKKjK��6J��@0!.!:$00 
$�KjKKj��N5--1KQ!!R

.,, 
*,���BJ2#"&'.=46?6326='.?>326=&7>264&"� gIGg7I?
	9('8
?I73.B!$			P%qEc_DY9�	
	
{(8:'z



	�9X.=+q&%P			���	
!46;235+32#"&546;�����00�`00 ��p�  P�`��������+"&537#!".54767>54675462�4&��	��		H8%:!@%q

	
C,:V

,B&,C������'7"&=463!2+##3264&!"'&763!2�(8
�5KK5 8(�  &&�!	
H@8(�
KjK(8 �&4&�� 	����'3;GSo!54;46;546;23232#";2=432=4+"#"3547#";2=44+";25'3;2=32=4+54+"#"��@
X
p
X
�((�((t(@4((�((
,h
H

H
�� ((@((�TT`(((�����'/KSX%2+"&5#"&5#"&5463!232264&"754+54+"#";;2=32264&"75'#p		08P8�8P8@,d�,((�808808�((�d,`	 	(88((88(@0dlp((�088088�((�dp���
%I3546;2335+32#"&546;4&+54&+"#";;26=3265` � ��@ 	0	 	0		0	 	0	 `00���  P�`���	0		0	 	0		0	����/%#32+535##'53535'575#5#57335#532+3 ``�0u(s0C"0@@0"C0s(u0���PE*EP������".:2#!"&5463!254&+7626=4&"26=4&"p!/Q
��


@	07	�			W			`/!�'
$*

�

(с	�E	�		�		�		�����3#!"&5463!2#"#54&+";26=3;26=4&���`p 	�	 		 	�	 		p��`D	PP		�		PP		�	����+2#!"&546354+54+"#";;2=32���@\8\\8\���`�8\\8\\�a*?62"/&4&4?62"'�``���``ш``
��``�a+7"/&4?'&4?627"/&4?'&4?>2�``���``			��``��``����A�+7"/"/&4?62'62"/"&/&47��``��``			��``���``����A�)7'&4?62762""/&4?62762��``��``��``���``�a?62"/&4 �``�ш``
��a7"/&4?'&4?62�``���``���XA("/"/&4?62��``� �``���X@(7'&4?62762"��``�`�``���@�#2+32#!"&46;7#"&5463!�H

��

H��@���00@�� ������!%%2#!"&=46;;267!463!2!p	&�&	�
=��@�� 	&&	p��P�������2#!"&5463264&"������`�� ��@�2+"&5463264&"�c��`�� ���9%2+"&=46;2+"#2+"&=46;2+"��^B

&��^B

&���B^
0
&@��B^
0
&@���92+"&=46;26=#"&=463#2+"&=46;26=#"&=463�^B

&P�^B

&P��B^
0
&@��B^
0
&@����'/7"&4622"&462"&4 "&4622"&4$2"&42"&40(((((�((��((((B((��((�((�`((�((((�((((B((����2"&4�Α�Α��Α������)2"&4"264&"26464."'.2�Α�ΑU��	
#n#
	-���Α���**6����%2"&4"264&"264>'&"762�Α�ΑU��-�-#n��Α���66*����2"&4"26424+"36264&"�Α�Α������Α���  ��`+3;2#"'##"&46354+54+"#";;2=32264&"6264&"�B^^BC/\/CB^^BX4444�""W""`^�^00^�^�4444@""I""
@�'3?KWco{���)"&5463!254+";2754+";2754+";2754+";2754+";254+";2754+";2754+";2754+";254+";2%54+";2754+";2� ��\((`((`((`((`((��((`((`((`((��(( ��`(( ��((((((((((T((((((((T((((((���.4X.'76#"&#"+"&5&546623256%5'5&'&56765767556�	2	2�;?$i>4

"!Gh0�"(#M'##&>&#7.(!?&#%% *D��	)"^

�!
#�HF
�GH	DDGFFDDHFG������$%"/&4?'&4?62#!"&=463!2����w
��

0
������

 

������+'&76'/&?6/&?'&?6=�=�}	�

�	+		[[			+		[[		+	�

@��*t	�		�	.	PP	/	.	PP	.	�		����@�.76&76&'/&4&4?61'��3N>!0#9T�x�mm�

S)F/,UZR
T
��

^^
����	�6.=#"&67�/� �
�/�`�%-���7%2++"&53#"&5#"&=46;546;27#5376�

(
0
�s�
(

(
0
�s�;;`
0
(

�`

0
(

��`;;�����6>FN"&54>75.546267>767.5462$"264264&""264�
- 2
/B//B/9/B/��						�			0**	)!//!�*!//!*�	
 !///			��			7			�����/?%"&4?62?6/&?62/&?64&""'&4?620		-,~Y,-	(-*<-(		-,~Y,-	(-*<-��G�*	-,Y~,-		(-<*-�(	-,Y~,-		(-<*-����G��z�)12+"&=4>7>54&#"/.762"&4�Bn%%
H

,+?F:((:(�Z@ 1


"
![��)9))9����&735#"&=46;232+"&=462"&4p�6<**<*�0�00�*<**<����6"&46246;2+"&5�/B//Bh
^

B
1B//B/G

��


�S2+"&=46;5#"&54?6;2'2+32+"/+"&=46;7'#"&=46;2763�		`			
0	�		!NN!		CPPC		!NN!		CPP 	 		 	`	 		�`	0	pp	0	ss	0	pp	0	ss���S!2+"&=46;5#"&54?6;22+32+"/+"&=46;7'#"&=46;2763�		`			
0	�		!NN!		CPPC		!NN!		CPP	 		 	`	 		��	0	pp	0	ss	0	pp	0	ss�����%32#!"/&4762%37���`(���|PrD��(`(�(1}PC��@�K%2#"&#"".54654&#"&/054&54632>?03261
! $$#%54@p '#$#**")	2�#$##

0	M
2	20Ek��`�<6"&=4627232+"&=46;5.=46;26=463�P88P8@	WA8		�		8AW		B19T	`8(�(88(�(h	0Bc	"				"	iD(		*3NM80	������%F'&?6546326=46;22+"&=46;5.=7z	
��	
�8(,		L		�		8AW4/2


	�

	�-(8,�0		0*&�				"	iD),'"����
+!2#!"&54%#!"=46;54;2354;232�����X0(�(0��,$4444������8@6/&5#+"&=4675*.767&632347264&"��
(
�
)
	<!":
�			�t�

�!5

		L1-			���,8#"&=&/&6?#".54?>;>322>4.#"�D<b
	3	h1h'dH3 
w�!2Hd'h
1
h	3
	c=C�"����"&462%2?64/764/&"gΑ�Α���ee�8�Α��V�ff�����2"&4'&"2?64�Α�Αj�ee���Α��V�ff�����6462"2?2?64/&"�Α��V�ff�YΑ�Αj�ee�����"&462764/&"'&"2��Α��V�ff�'Α�Α���ee�����B�BJ7"&?6+5#"=4;5.54632+>7#"&?6+"&'"264
DD#R044$9((7$440R#DD ���`DD'1�(
2(98'2
(�1'DDIWWI ����&2%2#!"&=46;5462+"&=4&#"54&"26���Y}Z
 
+*p""���f@ZY?

*+g�00����2"&4264&"62"&4264&"�Α�Α��ll�l�jKKjKf4&&4&��Α���l�ll��KjKKju&4&&4x�$"&46:"&4$2"&4H*<**<t<**<*��<**<*�<**<**<**<**<**<����2"&<62"462"B<**<**<**<**<**<*<**<t<**<*��<**<*����);2#!"&5463264&"265.'"3;265.'"33���,((�uS<U��~f����`��((Su#U<}�#�f����2"&4>4&/&7�Α�Αl���Α��k�����2#!"&5463!2=4#!"���,�����`��88����!"&5463!2'76/&'&���`��Fh `��b��Fh����*!"&5463!23?6/&7'&"?64���`��9�7g7 `��.�9�8	7��A�@&="'.54>3546463276#!"&546;2+!8�-?0	+-FJ/��
��y	3@�H
';(
O)*>&	H��Y`������>2"&2"&46.?67�GΑ�Αv	�B���Α��B�B����#!"&5463!2?6&+"���`��||�p��`�||����5463!2#!"&%'&;26`��d||�`���||����!2#!"&54676/&0`���||���`��||���B�E%#"&'#"&=4;&7#"&=4;>32'&#"32+32+32767	Mp!oH(>�
��
r&",VF@P,(#	
		 
��@�6%2#!"=4;5#"=4;54632'&#"32+354634��$O=7/			TT{`h(�(B7G#
$

@(3����*�A7+"&="'.?6;2654/.'&6;546;22'&+"�,-:$	 	0&"

B
g".A1	 	0&"

B
	�
T-!'0		0"	


4"1G0		0"	

	��@�4#32++"/&=46;267#"=4;&+"&=43!24I	;5L9�S�T'��)U(`(8F��5 (-(��n�:232+32++"=#"=4;5'#"=4;'&6;236?63_P:Xll8llX:PA77�� % \\ % �qH%#q����)27#32++"=#"=4;5#"=46;54;2'32654&#�\��;4444�@QQ�M$((#� (44( -�O�Qۖ)#"(��@�ENRZdh#32++"/#+"/#"=4;'#"=4;'&6;2376;2376;2327#32>?#;'&'#7#136?#4?FU*
9	+7*
9	)TF>0*
m	,
n
.0�x&Q��'Q (�		��		�( (Q		VV		VV		Q(�66/�  	66�  ����;#!"&546;#532�
�
��

Ƞ�
b8
��

�
z�b����)5>;#!"&546;54+";2=4+";254+";257#532�
�
��

�@������`�
b8
��

�
��LTz�b������5OR72"/&6;46;2%232+"&=4?#"&=4637+"/#+"&54?6;23'�PP0	 	 	=8		�	=8		�	G	;*4 ```0		��@	
F	 		
F	 	U	

	�e0������5OR"&?62++"&5232+"&=4?#"&=4637+"/#+"&54?6;23'PP0	 	`	=8		�	=8		�	G	;*4  ``��		0�	
F	 		
F	 	U	

	�e0�����%5EU%2+"&=463'2"/&6;46;2%2+"&=4632+"&=4632#!"&=4630		@		@PP0	 	0		�		�		�				�		 	 		 	@``0		��	 		 	�	 		 		 		 	�����%5EU%2+"&=463"&?62++"&5!2+"&=4632+"&=4632#!"&=4630		@		�PP0	 	p		�		�		�				�		 	 		 	``��		0	 		 	�	 		 		 		 	������7?U"&54?6;232+"&=46;56&/&767.7>264&"2"/&6;46;20	
0			`		
(>%


	$+
�PP0	 	`	 		p	 		 	@�1'#2"
=&

^``0		��������=S%6&/&767.7>264&"'"&54?6;232+"&=46;5'++"&5#"&?62J(>%


	$+
"	
0			`		�P0	 	0P�1'#2"
=&\�	 		p	 		 	@;`��		0`���D72+"&=463264&"32#+"'&#"&=47>767632h

P

X e#


*!0H#5�
�

�
�y?#.) �M,:$���F46;2+"&56264&""'&'.'&=463276;23+
P

P
(#H0$

#e �

�

2��:,
(+� 
).#?$����"2"&4++"&=#"&?6;732e6%%6%�8
 
80%%�%6%%6��h

h�����$2"&42++"&=#"&=46;7E6%%6%p

@

%%�%6%%6k�
�

�
������/72"&4/"/&?'&4?'&67627664&"�P88P8V

^!
d0/d
!^

^!d//d
!cKKjKK 8P88P/d
!^

^!d//d
!^

^!
d�KjKKjK����".5463276EvE�j/7�]>J@EuFj�^6^y*���	%3!#!"&7;2=4+"%2#!"&=463 �
��
�hh 
	� 	
 ��
��
0		0
�����?E%+"/#54+""'"&4?&=#"&546;5'&4623762322#4
7=	
6(33(6
	=7

8/	
6�6
	/8
��\B�
 <
	7 �� 7	
< 
;.
	77	
.;B..����!"&5463!26=4&���`�|| `��d||�����2"&44&"2�Α�ΑH/B//B��Α�ΈB//B/���,B%&/#"&'&54>32+3276'#"&54673267�A>� #�		y�	9%�W5Ig=2B.*?>
!	��$!	 	 {7/:gI7Y'3.B7)����:%2+"=&=4?5&=4?54;27676265463t{eP1		71		78�		��		�Fb�dp�)
)
E3)
)
�MH����3<%#!3#5#"&="=435"=435463352#!226&#"Q//4E��	�(B+*7"    "7*+B(�	E5�4
#$#��%@((@%��#$#
p((@����%=2#!"&546322>36754&#!"".'&'3!265����
J(
��
(I	I

���`�5 

 	5		5�

����%9+#!"=#"=4?622#!"=4637335335332!54;��x��
�0
8@@@@@$�`$@XX��

�����#./+"&?&54767'&47%67"&57n���	8	0
�p�p�!'"U<

ss
	"U�,q%%q,
 �`DNe7#?%2#!54+54+"#";&'&767?6'&'6732%463!!"&57;2?3;26/&+"�&�

��@@r			





 ��
��
;		<		9	 	�&&!�
��
@x
	


		



##l
��
8		
����%5EU^n2#!"&546;254&+";26=4&+";2654&+";26=4&+";26=#"&=#'2+"&5463�

��

�
	.	�	 		 		 		 	�	 		 		 		 	0	��

 

 
��

�
	.	
�� 		 		� 		 		y 		 		� 		 		w@	0�@
��

@
����)5=IUa2!54;463!2;2=4+";2=4+"2=4+"354+"754+";2=4+";2=4+";2��@
P
��((((4(t(�(((((( �

�8�((l((�((�TT�((l((l((����)462"6+"&=#+"&5'&462376x*<**<�	_



_	
VfV
Z<**<*P
^��

pp

^
	WW	�����(3?62#"&#"#"&546&.'&>.676.7>.>�L\>&"LM"&>,�/-	�*,�-/	�C_&&_j4--
&A7 !-4
-!7A&7!���6/&=46?7575����������N�
hh
�HNN��P�B���!'+/37%//&=4?54?65'75'57'57'�dhhdad

d"UwfffUUfffVUUfff�	n
2442
n	$l	&&	lI$E�))&��K'O�''*FK'O�''*�����8U7/;2+".?'&6?67&"/&?6276/.?+/&?6326/&?6�	(3
44$6	3)	n|	$	"
j*(	n	(�-`PP`

"
�

Q!(0A"QI

--B
n�5+0PP0!,

���7APa2++"&=!+"&=&=47#"/&6;7>;2%!'.+":>54&"!264&#":�	
 
�
 
	< �"9���9
"N	
		06

  

60		*
& *22
�!	���19BJ%+"&=!+"&=&=46?>;546;232264&"7!'.+"264&"� 
 
�
 
 +
�
+��5
�
�#0$)

  

)%0#U" 

 "�]C�������/%++"&?5#"&?#"&?#"'&?>2++z
�		`		�
P	O
nn
O	F11Z[
uu
[����##".=4632"&= "&= ��]=g<�]=g<���G2G���G2w.+!.+!{g++g1og++g1����&BKO7.4326673#!"&546;&'6'.32767326'&7#532'6�3
O��
��

�&$>$

O�
%+�(6V
	��

�
�
�$/
76 &
>"	�
�������<E;#!"&546;"&'&+"&'&+";27673;2?6.#7#532�
�
��

�9
	

%
%		&
&O�
b8
��

�
�
es		s_
	�		cX		���b����4=;#!"&546;6&+"4'&+";2767;26/7#532�
�
��

�<#%%#<<#"#<��
b8
��

�
�ED
]^=!$^��b����"=72+57#532;#!"&546;4&+";26=:>�

��
7
�
��

�5(!Q�=�
��
��

�
��!,�9����"-#5323#!"&546;"2645'&'&��
b��
��

�j''�(	g((F�b0��

�
�
((�p(h((0����*.O#5322"&5467;#!"&546;3533526/&+535#535#535##3#3#y�
�		w
�
��

h @� 2
           W
���

�
��

�
     ��&W
            a����!/=F;#!"&546;54&#";67764'&7&7647#532�
�
��

�@$$!
		O
	
)@�
b8
��

�
�l�$8$8	;n
N	*u��b����4#532;#!"&546;4&54&+";26=65��
b�
�
��

�`7
p

p
7F�b
��

�
��7&

p

&7����3G`#5323#!"&546;7654/7654/&#"32032?454/0#"764/&#"327��
b��
��

�s((AA5>>�A((F�b0��

�
�
�$$==1��g=$$����
!'2"&4%&'264&"'677&'67'�Α�Α�?�P88P8 @m?�@��Α��@�8P88P�?�@m?����#46#"&'46762654&'&5 QiBrCg�iQ:Ll�lL:��VCrC�gV�b?LllL?b�����6/&=6&'.7�
H
}@
 ���j
��P4M
Q%�,����%7#"'.?>3264&#"+"&=46632/546;2��gXD2@LllLI53�	2Hcg$A

)'͒7(l�l23	�2E��3�

h ����K32+"&=46;5#32+"&=46;#"&=46;2+35#"&=46;2#� 		�		 � 		�		  		�		 � 		�		`��	 		 	��	 		 	@	 		 	��	 		 	 ����!++"&5#+"&=#"&46;2�	0	 	 	 	 B^^B�	� 	��		p��		p^�^	���#Gk%2#!+"&=#"&=46;546;2%2++"&=!"&=463!546;272++"&=#"&=46;546;2�		��	 	P		P	 	P		P	 	��		P	 	P		�	 	�		�	 	@	 				 			�	 				 			�	 				 			����%%2"&547'#"&46327&5462#"'6`(88P8f"(88("f8P88("ff�8P88(
@8P8@
(88P8@

@����5#!"&5463!2"'64'73264&"&#"327264&���`�DD!!.!D!!D!.!!p��`�))!.!!)!.!)!!.!���'/7?O"&4632762?2+"43&2"=&?6'&6/&6463264&#"26�4z�zzV-)4M0.	U	;	��&		(8		h4)-Vzz�z4<+					�&		8(		����%*"&462'7&''77'77'?6'7��Α��a?"'>KK>'#?&U%>>%U&�NN'Α�Α�:T6**6T:B4"MM"4\88\
���!-9EQ]iu�����>#"/&5057&0#"/&54+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2D��D
+W``W+`((`((`((`((`((��((`((`((`((��(( ��`((XD11D

E#
<##<
#E�(((((((((�(((((((�(((((���	3=A#546;246;#+"&=>%+"&=#532%2#546353�`	@	��
` 
`


�
`
 `		��	`	p@�00		w
��

,$;)%-9)G,,

��	w	00	�������#+#54622+#5.=#"&=4637#5462@@0		I7@7I		p@�``
�	 	 9YccY9 	 	�``
@�&2>JV2#!"&546;54632=#72=4+"3!2=4+"3'2=4+"3!2=4+"372=4#!"3(
�(!
(
(��h�8�h�����
��!

����``((������,'& /&47>2"&4%'&"/&4762{"n��n"W��6%%6%"?�?"W�%"dd"Q99��%6%%6y"

66

"L����/?O_o2#!"&546354&+";26=4&+";2654&+";26=4&+";2654&+";2654&#!"3!26���P&&&&�&&&&�&&��&��`��M&&�&&{&&�&&{��ff������#/7'&?66754621%#".547>"&53z	
��	
�%=8H	�~��		�&�


	�

	p1


V:,C
��	
2�%����!2#!"&=46;76;2!+"&�		�`		x	r	�����	 		 	

�MS������82"&4654/.#"&546326?654'.#"32>�Α�Αm
#'("$
>R$C) 8��Α���"	0 !+#	R=)B&����:F2#".'#"&546326;2>54&#"3276#"&462654&#"j�JL
*,4Q9*- jNLllL6-
	=Jg��Q%$�|d?T91BVy
2JVl�l	(�Α��)) ���#?+'754"/&4?62763~�~-8  �8M
)�)
Ms~�~  8-`8PM
)�)
M�����,70#"&532762#"/&54>76�XF:@@
j UP.
@	'%?�J8@XC			
D:�a5	#8����#4?JU%"&""&#"#"&"#546;5335335332!526226226323"&546523"&546523"&54652�'/''(
'/'@@@@@�@''/''/'
'��
 
r
 
r
 
@      P�������`      @
%&
%&
%&�%2#!"54;2%6!57>��(5Z��W
U@(h����h�r����!�#%2/7+5463&'&676
=��	�
Y���<K`�wZ�S:
�A
�	���+�`\�	�2%2#!"&546;22/"//&?627'&63�		�0
	 	�	 `

I.D

II @	 	
P		�� 	v `		J.E		JJ @�2+"&463264&"264&+�PppP�PppP�KjKKj�5KK5111�p�pp�p�jKKjK�KjK7�7@�2+"&463264&"�PppP�PppP�jKKjK�p�pp�p��KjKKj������8<KQg2'.547'+#"&546327#"&54>;23'#"&=46;263&267#"&?&#"?#654&#"&/5KK54K)V
4E,5KL41
W	r3		@
N��+J(	Q-	!//�J�$�"2/!

-

-,M55JK48&�*6K64K0
			}J&vI/B/`x( 0`0"!/H
	G,���4<LT2+++"&=#+"&="&=#"&=46;5462264&"7!26=4&#!"264&"�


 
�
 



�����0

�
@
P
� 

  

 
�
P
0".."0��]
�

�
p�'?2#!"&5463&546?6'.676/&&546?6'.676/&��`�=@RA?S�>@RA@R��� �%"4./6%"4./6����94&++"&546;2+"&52+"&546;23265463�!p	0	
�8P	0	�	P8�
	0	p!	!��		�
P8�		0	��8P
		�!(	��B�3W%!!2#"&'&7#'.'4>7#"&=46;2!2'#54&+"#";;26=326=4&���
 ! �#
	FF

g
	�/t0		0		0		0		� #! !W

	-��(		(		(		(		��B�3F%!!2#"&'&7#'.'4>7#"&=46;2!2'#54+"#"?6&���
 ! �#
	FF

g
	�/y++DD� #! !W

	-��<<DD����<D%32#"'+".'#"&=463267'&6?546;546;232%7625�=,

X70�#7X

,>
F*
@
�
@
*��v
vK")

;!;

)"F
#�
(

(
�#
�X&&X����26:V%#!"&=467'&6;&5&54767>?6327/77475#"'0326762676�#��%
:@F

F@;
� 2�*2J,42.	�=#--$><!

1"		"1

!�x( �� (�������HWm2'"&547'+#"&7>767&+"&546;23'#"&=46;276;2+6267#"&?&#"%6&#"&/7>4KL64K-

TE,6KH2 8

8E�B		P&-

R ��(	Q)!//�0"1

22"+K46LK4;')-
*6M63H

( 		&*
 
7�K/B/L"2Q
R "0+���$@%"&54672654&'56&"&462"&=46;2732#+"&5pAO�ԖOA!3z�z=3M6%%6%�
&

@
v.(88(.	!!�%6%%6�
``
`

�����
)%3"/3727#'&"'&"#&6?62762@m��^9�$!w1:$f!$&n''n&�,��H		
%i(7		b�	
V(i%((''�� �!)32++"=#"=4;5.5462264&" ?1$$($$1?TxT�/B//B3N4($$(4N3<TTB//B/�� 2/"&46327'&63264&"tQTxTT<*#P�B//B/�OP#*<TTxTQ��/B//B�� �;C%32++"=#"=4;5.547&'&'&6;227676;2264&" ?1$$($$1?3&(
F
(&3�/B//B�3N4($$(4N3C+ /

/ +"B//B/����192/32++"=#"=4;5.546327'&63264&"tQ?1$$($$1?T<*#P�B//B/�OP#*3N((N3<TQ��/B//B����PX2/32++"=#"=4;5.547'/&?'&=4;276627'&63264&"�Q?1$$($$ 3			O	#T#P�B//B/�OP#*3N(((;"*#	O	Q��/B//B���!)W32++"=#"=4;5.5462264&"32++"=#"=4;5&'673264&#"&'632 ?1$$($$1?TxT�/B//B!$$($$"!//!"'2<T?3N4($$(4N3<TTB//B/�4($$(4/B/ T<3N���!N2"/"&46327'&63264&"%2"/#".'672654.#0"1677'&63T
1TxTT<*#0�B//B/�
1T<%?'!/B/%!0�O0#*<TTxT1��/B//BQO0#*<T";$!//!%!1��@�&HP2"/#"'673264&#"&'6327'&63232++"=#"=4;5.54264&"4
1T<2'"!//!"'2*#0�oxT?1$$($$1?oB//B/�O0#*<T /B/1@T<3N4($$(4N3<�/B//B��+32//"&54>327'&?67'&63264&"t			TxT'B'*#	�B//B/�O			#*<TT<'B'			��/B//B��!�,47"&47675#"&=46;5#"&?6+32+64&"�*TxT*(88('//B//�*xTTx*	(88(	�/B//B/0�P(0%&=#+"=#"&462354;2354664&"�		8(	*xTTx*	(�//B//�8(*TxT*(�/B//B/�� �+"=.5462264&" ?1(1?TxT�B//B/3N��N3<TT�/B//B0 P"264&2"&4�B//B/�xTTxT/B//BoTxTTx	���/7?OW_!"&=463!2&"264&"264!"&=463!2&"264&"264!"&=463!2&"264&"264�@

�
3NX�@

�
3NX�@

�
3N 
@

@
X�
@

@
X�
@

@
X����#+?%2++"&=#"&=46;546;2"&4622#!"&=46;27p		@	 	@		@	 	��jKKjK&7O��O7#L#�	 	@		@	 	@		@0KjKKjkO7**7O����#7%//&?'&?676"&4622#!"&=46;27N-..--..��jKKjK&7O��O7#L#�.--..-->KjKKjkO7**7O��+6"&462%2+"&=!+"&546;235463�B//B/.B	 	�	 		 	�	�/B//BQB.�		00		`		А	����'/##!"&?"&546;254&#!"3!26"264�N4?��?4NO1�2N0
��

0
�.!!.!`�'9229''99�p

p
6!.!!.����'7?G##!"&?"&546;254&+";26754&+";26"264$"264�N4?��?4NO1�2N�
h

h
�
h

h
((��((`�'9229''99�p

p

p

p
.(((( �`!%!!535#7232+#!"&=463!5 � �  

��` �@@�
�
�`�� �`!%!!535#7232+#!"&=463!5 � �  

�p�� �@@�
�
�`�� �`!%!!535#7232+#!"&=463#5 � �  

�� �@@�
�
�`�� �`!%!!535#7232+#!"&=463#5 � �  

��� �@@�
�
�`�� �`!!!535#7232+#!"&=463 � �  

� �@@�
�
���D�%#&/&546.j81
5W	w��Y	
�	�����H#"32+72#".'#"&=4632=#"=4;54".=4>32>32T$$T-.T$$T-.�0p(p1((0p(p1(���,8G32+"=!+"=4;#"=4;2!54;2+;2=4+"54++;2�(��((�(����@T
H�@��((@((���H
4��@�+]7+"=4;5#"=4;2!54;2+32+"=732+"=!+"=4;53;26=4&+5354;2+@44 44�4��4�
@

h4�4�44�4@�44H

@
H4����%"!"&5463!2+538
��

�
b
��
�
�

��7b�
���!2#!"&54633#!"&546;������0/��� �`0 �!/������47c%"&5054676762'3#"&505467>762'3'2#!"&=46;&'#"&=46;6232+KjK

<

�H��";#5K

<

ȐH		�`		�&�		�N�		�&p!//!<4&(59	��%/!<

(59	���	 		 	')	 	  	 	)������*02#2#!"&=463467.5"&=4634&"h

D55D

��

D5#7

=V=�

CkkC



Ck8O-

�@;UU;����*062#2#!"&=463467.5"&=463."65#h

D55D

��

D5#7


2<2
���

CkkC



Ck8O-

��$,,$""����*02#!"&=463467.5"&=463!2265#hD55D

��

D5#7

P
�V=��CkkC



Ck8O-



�U;;����*2#!"&=463467.5"&=463!2hD55D

��

D5#7

P
�CkkC



Ck8O-



���?2+"&=4/&=463254632354632354632346�

0�
p p
�t
d+B0�0/ ������72+"/&>54>32354>323546323546�

�}
!	 



@�q�!
,���ױ�W���-4635#"&46;5#"&46;5'.7>7>+"�  �в$�	
p�P	""(E
K@� ��@�$54/&+"&=46;2?6&+"&=463!2�p�
%|

�!
N� =G
%3	!
��t���P+"/&546324/&54>3232545'&54>3232?>32132?>32�D	8%6'l
=*	&3

8&	"/��#-%f9)(�
	}�
��	�{������-159%+"/&>46235462354623462#37#37#3� ��
!	 """"�XX�`��!
,�((a`````������+$2+"/&6?'&>354623546234�" �@K%$E("�P�p
	�$���   �`G2++"&=#"&=43+"/5#+"/#+"&76;236?6;2U6Ut
6		2		6A	+	+	A`+��+��
�6"UU6�(5 ����*%+5326"&462&'654+";26=3;26ۑΑ��+&jG		
,�8'Α�Α��O2Y
�

HS
����#'2+32#!"&=46;5#"&5463!P�		�`		������ 	 		 	 @�� ������+G!"=46;54;2354;232!2#!"&544+54+"#";;2=325��X0(�(0�L���H<(<<(< $4444$ ���<<(<<����+7!"=46;54;2354;232!2#!"&542=4+"3��X0(�(0�L���<� $4444$ ���((����+G!"=46;54;2354;232!2#!"&5476/&'&??6'��X0(�(0�L���
0			00			00			00			 $4444$ ���0			00			00			00			����+;!"=46;54;2354;232!2#!"&54'&'&?6��X0(�(0�L���Y	j.			R	�	 $4444$ ��`	j/	T�	���6#!"&546;276�
�0

p
���

�

�XD�� �	727"/2"&4724#"2546pxTTxT�&6(��!!�TxTTx6&(�����$9#!"&=46;546;23253+"&2#!"/&?6;53�+	�

�	 	�	�@	 	�

�	++	�@k,	
P
			�9pp		
P
	,,	  ��@�4?&576�����	�J8��?
0�@�����8����2+&=#"&5463�&&�}
`&&�&��&^T& &����'2"&454&+";26754&+";26�Α�Α�	0		0	p	0		0	��Α�η�		�		�		�		����2"&454&+";26�Α�ΑX	�		�	��Α�η�		�		����!)3#!"&535462#354&"264&"264&"``/!��!/`KjK��&4&�� ��!//! 5KK5  &&���@�*6BN%+#!"&/#"&=46;7>3'&>3254&"26754&"26'54&"26@

��

CkP�PkC
��p��
��

�mm��p

p

p

p

p

p
������CG+32++"&?#+"&?#"&?6;7#"&?6;76;2376;2327#�
OK
P
(b
)K
OK
P
(b
)K�c

�	(
V
	RV
	R	(
�	(
V
	RV
	R	���������-6"&462&"2642"&4264&"32+"&76�\BB\B\((�\BB\B\((h ��"	p�B\BB\^((�B\BB\^((��0
�
����G"264$2"&462"&46"264>."'&67673>'.56V�zz�z��Α�Α��pp�p�RHLH5	




	�z�zz���Α��Yp�pp�DM

/A.!!.A/����B#"/67'&/"&462&/&#".?5#"&=76;2|}~�?$$$ofB6

= ?��Ú
X<$$��'l�	
��P
_O		�7G7#76772+57#!"&5463!2'&+";2?3;2>74.+";26�		�/��`���9	$9	4	�-99.5�

1b_�� ��		T+�4����!3CS.676#"#'7232#"/&764'&?67/&764'&?6/&764'&?6a@-.?
@	 8  8 @�		_--
	%%	
&

;@��@
(
QZZQ
(�"V6�6
	-t-	7#X#
	B	��'/7?GOW_6"&4622"&42"&42"&42"&42"&42"&42"&42"&42"&42"&42"&4�%6%%6(6%%6%�6%%6%6%%6%��6%%6%�s%6%%6��s%6%%6��s%6%%6��S���8@H`d7"&5462"&54&"&2#"&4632654>54&""&542"&42"&4%"&54=.'.7>'7�/B/1�g?-FdFSmQ@
	Qf��"P"�!//!
�gI+	-?%&2FF2I�m�Do	�V�"P"������2At�&2#2#'&/&?6766766&#"32763&%.6767&'&>767'.7>7"'&63"&7>376"#32654&# !=+^C,:)
F
"(-+
%

	
p:)
F
"(	-+
	 !=+\C�

3

	!Y	!JZ9
	


A
4!JZ9

	


3

	!G�����8DQ7"&5462"&54&"&2#"&4632654>54&""&54%/&?6"/&?6�/B/1�g?-FdF�		W	W	��		�
		��!//!
�gI+	-?%&2FF2I�	W	W		��	�	�	������2?k46;5#"&546;5#"&546;5#"&746;'.>+"&7'&6767054/&'&6767'&6767'&676'&>[
>~��}�
	|PkI%		

�
={4	
N^
	_M
	g$Z
��.

#

0ZC	
cy
	zb
	�&����@�-E%&'#"/&'&767'&6?6632654&#"6"326591W+
��)w
}q<1W+
5(*Y��"P8*&�T+:
e	
��:��(fT+:
H
W�'38P	
=���� (/7W2&/76'&"&'&4757633#"&5:64&"3#&"264///#576;?�
	7�

P
"


b	
�`@
)			��`
				�
		
 	5[7	
TR;�	7�vI
!Z@�
			)�
@			

	&
R�7	K<���F#!"&547670>321&0#".'&'&2>767654'�`)||)B#G
G#	$FF$ Z		Z B3		32


2����'/D#32+32+#!"&5463!232&"26454&+"'#";26���@�4&&4&0'*
	�	
 @(@(0�0( &4&&4�"��@�+7CO2#!"&5463"26454&+"'#";26754+";2=4+";2=4+";2� �4&&4&0'*'
	�	
����������``&4&&4�""=HH����2"&4$"26427.#""'&#"�Α�ΑH44H4��94 ( 4��Α��14H44H��D!!����#72#!"&5463";264&#"26454&+"'#";26P��`		`		4&&4&0'*'
	�	
��`� 				�&4&&4�""��@�	+7?R2!5463!#!"&%;2=4+";2=4+";2=4+"&"264;26'.+"'#"��0@� `�������4&&4&�
�
"*��p0���HH�&4&&4�
�����3C#0#"&54754622654.'54&"37"&5475462� K55J 8P8`!/(%A%6%  `�%05KL50$�(88�h/!			��
		%P%%%�

������"C7"&54754627#0#"&54754624.'54&";26�%6%    K55J 8P8(%!/@%%%�

�0%05KL50$�(88(��			��
		%/�����"C7"&54754627#0#"&54754624.'54&";26�%6%    K55J 8P8(%!/@%%%i

i0%05KL50$�(88(��			��
		%/�����"C7"&54754627#0#"&54754624.'54&";26�%6%    K55J 8P8(%!/@%%%)

)0%05KL50$�(88(��			��
		%/�����;6"&4627#0#"&54754624.'54&";26�%6%%6E K55J 8P8(%!/[6%%6%%05KL50$�(88(��			��
		%/���'/7?GOW_gow�$2"&462"&4"&462"&462&2"&46"&462462"&2"&42"&462"&42"&42"&42"&42"&462"&47"/&4?&547'&#"#+"&5462632762)			)			7			)			7			�			@			 			i			)			7						7						I			&� 
	 	Ie#
. �			i			7			)			7			)			 			@						)			7						7						I			�� .
$��		/4M$
 ���I75!+"&=!+"&=&%2#!"&=46;5462662"/&47&7'&" � 	 	�	 	 �		� 		)9-#
i
@00+)				)�				�)
i
#,	�����+QY"'.542''&546'&'&7654&2&767>54.#"'.542"&4J�u.W=9R0;)%5��F8%,!+6Ig*$9E�6%%6%)U,,U�
+>=UQ9A,
()95%+�]BlN.5, gH-NlB]%6%%6���2#!"&546354#!"��`������`�TT��`%2#!"&=463��``  ���!)+54&+5463!2#!"&5463!24+"30/!� ��� D������!/0��� 04	���/?O_o�+"&546;2++53232++53232++53232++53232%3#"=#"=4;5473#"=#"=4;5473#"=#"=4;5473#"=#"=4;54���`********�********��`�N0f0f0f00`0`0`0�������%/&/"/+"&="/&4?5/.?/&?'.?>7'&/&6?'&?6'&>?65'&4?6546;2762?>76/76�!?5

 	
6?!"F@@F"!?6	 	6?!
"F@@Fg

G$N5
(		(
6N$G

%%

G$N5
(		(
5N$G

%%����	�'"/&4?&67>�(0$X%�	3	�
$1��*�1$
�	3	�%X$0����*<+"&?.5476227>56227562.>32+"&7�% 

@

,,,y,"*9

8�_"&7�

�*"_�G;����#VLB&
�0

����&2#"'&?632676&+"&=466CrC�g_G
	(0?FaeEB0*�
$G�BsCg�@	(*bEGc,*
�$E����	!-E!#!"&26=4&"26=4&"26=4&"%2#!"&=46;76;2 ���				`				`				@		�`		x	r	P���		�		�		�		�		�		�	 		 	

����:&#"+"&7>3276+"&73232>76;2#"'&=46s1B:[
9�ZcH$
��׆*1B&D0	
9�ZcH$;-G8		WsE$�
y*-!9%		WsE$�
����"0%"&54675#"=4;2+7654&+";2�z�zeKx8,			"�((�VzzVMu"(("	$			3b������1%&=#"&=46;546+"&=46;2+";2��

����T(88(TT

T��`
`
`��8(�(8(
�
���1!#"=4;26=4&+"=4;2'&=#"&=46;546�TT

TT(88W��

�(
�
(8(�(8��`
`
`����$276+"&?&'&3276#"&46dG$
�*0BEeaF?0(	
G_g���E$�
*,cGEb*(	@�Α���08DL%#!"&5467&546;&546;2654'6323232$"2646&+"26&264&"�#*��*#*&!/	(8&*����<8<%O(**(#*&/!8(&*#[x  `��@�!)4%#!"&546;3%#!"&5463!24&"2!5'&'&���/!������((D`X�( �!/PD((`0pX�(�����
!(/&?62'6&?6?6&5#75�.	o		.(<�	o		��z\
�

�$$ @2.		o	.<(		o	��z 
�

�h0@ $�����&?'762#���r
�9�9(c���
r)(9�9�����	'762&76?'/&?62�9�9(�US�Qr
Q�fw!v(9�9(TS�Q
rQ�fv
����732"/&6;4;2�.VV.8fVV.��M�37/&4?6!2#�VV.�.VV.8M�3%546&=!"=43:VV���.VV.8
����#"&?62++"5X.VV.8VV��������;%+"&?'+"&=467'&=46;27'&6;2/76�
p$kk$p
$kk$
p$kk$p
$kk$hp
$kk$
p$kk$p
$kk$
p$kk$����)#!"&546;46232&"26454+";2���P&4&P�H��P��`&&4d��M346&=#/&4?63zVV�VV�VV..VV.
����72"/&6;5#"&?62+�VV..VV.FVV�VV�����"&462#"?6&+54+"��Α�ΓGssG@'Α�Α�tsst����"&462'#54&6=32=4gΑ�Α�tsst8�Α�ΓGssG@����2"&43?6/&#"�Α�Α�tsst��Α�ΓGssG@����6462"75326/&;;2�Α�ΓGssG@YΑ�Α�tsst���4%2#!"&546;2+!54632/"/&4?'&63�	���		�@	X
$��$�	�`	 	��p	@
�$��$����##!"&5463!2#"?6=4&���`Xp �			� p��`$ �			� p
���+5463!546&=!"&2#!/&4?6
hPP��
�

��PP
0PP0�

0PP0����1%#!"&54674546326326&+54&+"#"7.K5��<T6*^B,J(8�A	0	Aj�$65KT</JB^,$8(ip		pj����1%#!"&546745463263226/&;;26=.K5��<T6*^B,J(8�jjA	0	�$65KT</JB^,$8(Njjp		p��@�#'#!7#3#3'!"'?3&�ZeE0E��E�PEee{G�C{e������� ����B������E�%"/&6;#"/&6;232:hh
@T8�
@8pp8
������E�++"&?6;#"&?62:
@
�8T@
hH��
8p��@�&2+"&=4&#"32#!"&=46;54i}Z
 
+*0����Y?P

P*+G��F@����.5462"&264&"�="
p�p
"=B//B/6#X$5"PppP"5$X#
�/B//B��`�0R232+"&=46;5.=46;26=463"&=462#";#";#";P	WA8		�		8AW		B19T	hP88P8UUUUUU	0Bc	"				"	iD(		*3NM80	�8(�(88(  (��@�#2+"&5463264&"74+";2�c�����`�� Y8����-27?DI%2+"=4;5#"/&54?6;2%2#!"&546334&#5265#264&"5"75#`@

��

@%%@�P88P8p%@@%�7
X�
��

@
��%�%�B\BB\b@%�@%������
(%67#"/&?6'&?667'&?6Py�p�
��	

a<0heC>Wh0�

�

	��$%2p������+2#!"&5463"26454&+"'#";26P���4&&4&0'*'
	�	
��`��&4&&4�""����� 76&7>.'/&4�4PL20#	.6"��

P	)B,,U2&
X
�����'.54>?62>7'�.=9*M@'	�Kc�l?sSC)C_�G
P�F%�lJ����#2#!"&5463264&"74#!"3!2�������H��`�� Y8����@�
&.BLT2#!"'&54%"32?4761.264&"6264&"%6.'&3654'73264&#"264&"��'	�D	' 		
			�C
=#	n	L


.��wNCCNwi		

���5
		�%�@�/!!$3#!"&=264&#5463!2"'4&#!"3!265�@���� �L
��

P
 �t(``(``8

�

���$"&4622#!"&=46;27<xTTxT5K�`K57#L#�TxTTxtK55K���+2#!"&5463'76/&'&??6��`LCC		(		BB		(		CC		(		BB		(	���`��BB		(		CC		(		BB		(		CC		(	������'?'&6;2//&+"&=4676c!p
c�c!p
cc
p!cbc
p!c����(7+"&=4676?'&6;2//&�]!p
]]!p]�]
p!]k]p!]���� &,%#"'67'&477&'6267&'%6'77&7p!HddH 66 H�H 67���T'FF'!D�D!&FF&!D�D"MM
CC�MM
BD����
 &+'6'676'7&'%'67%&'667�*N5i.9S?��N7M
<.�4b�.8S?^N7M
��.�4b�*N5�M7N,�.Fb4"N*E�.�?S,.Fb4"N*E�.�?S�M7N,����2"&4264&"6264&"264&"�Α�Αk`��Α��'Z����;Ss{�7'&546;5#"=4;54;232+3232+#65#"&=463+"&=4?546;27'&=4;2354;2354;2#7354&"+"&=4?546;2J"	99	"
		�		�		�			�	t6~/ 		w		�			�	�Z	  	Z		A??A		�
		
		�
;;
RP  		�
		
		��@�#37467.546;22?#5&2#!"&=463G*
@
&!ld8�8(		��		�5�"

=le<+C,,]	 		 	 ���#'+/37;?CGKOSW[_cgkosw{#53#7#53#'3##53#5#5#535#5353#5353#53353%3##53533#753'533#%3##5353'#5373#3#'#553%#53#@�@@�@�@@�@@�@�@��@�@@@@�@@@@��@�@�@��@@@@@@@�@@�@@@@@@�@@�@@�@�@@�@@�@@@@@��@@@@�@@@@�@@�@�@@@@@�@@�@@@�@@@@��@@@@@@�@@�@@�@�@@�@@�@@@@@��@@�@@@�@�@@@@@�@@�@����5!2#!"&=4632!'&546;5#"=4;54;232+�		��		p
J��J
�((0((	 		 	 
��
00((00������%-=7&=4?'&54;2!546?6=#"'4"2642#!"&=463	�Oq��9
	(		��		��
	pP�&

2���	 		 	��@�#37.546232+#6=#"&=4632#!"&=463i=V=		�		�		��		�/+==+/	 	P++P	 	�	 		 	�����I"&4622#!"&=463!'&54?6323>546;232>76;23276.!!.!x		��		�f��f
''
P!.!!.��	 		 	��	




����#+;2!65'546;23546;23546354&"2#!"&=463p	@
��
@	8	0	P	0	X�		��		�	� VJJV �		00		00	��@

@�	 		 	����/S2+"&=#"=4;54632++"&546;2'2+"&=#+"&546;235463h

0

@
0

0
�

0
�
0

0
�
`
��

h0h
�0h



h�
�p

��

�

��
����
Q'&'&'&'>7'&'&'&??6/7?6/7?6/76/&�
�63�4
�63�g��gf�45��[45��o��o�T����#-8B73+"+"=4&+"&%#.54622654''4''32674''326`�

(

@$�-5z�z�H
@ 


�5,&]7Vzz�/

M�<62"'67"&5�Ԗ�Ԗ7��7�Ԗ�P88P8((n(88(����#5%/6?6&67>32"&54>'7>76W
�65_<Q	"..C.�
�";V"�
�m($*
 pJ�/B//!A
�+m7+�	���!!�@����	�
'%&'762&/"/&4?'.72"&4�0q"�8?�?/�)$Y5g#	>P88P8� /�8??/��$g5Y#Q"�8P88P������	%-;7&'>7'&67&'&'667&'67#"'6#"16&�5K$`D$>_GE#�70Z0344�LS)(F�>!3v�E[F;
�0K*,-'�!c=#.Gr 2Oc?Q�&��]2�U(
1)+,GR;$/�D_5E�������:BJRZbjr2+"/&>5462;2=462;2=462;2=4264&"6264&"264&"6264&"264&"264&"6264&"��}
!	�							I							I			)			)			P
�q�!
!�

��

��

�H
��			W			�			W			)			I			w			 �`	'/746;#"&52+!&"264"264&"264"264&``&@&&`��Fn &��&&�&@��@���RnR���	0#532'#617>3!#!"&5����3c�`�
!������@�)>%2+"&=46;75%"&=46;7532#2+"&=46;750		�		P  ��		P  P		�		�		P  �	�		�	``@	�	``	�	@	�		�	``���92#!"&546;546;2'3554+54+"#";;2=32��`P��� 808808@�� 00   �088088����
"&5462654'�Ukk�kj,T6``�M�:^vv^:���5*8ii8*��G�%/%#"/&'"&=46326763254&"7'&#"+'$<"�B\BB.-@
$<"��(#RA�']1�
�.BB.�.B>,!1�pp-:]	)����-2#!"&546;462&"2646/&'&7P��P&4&6a			j.			R	���`&&�	j/	T����%-5AMY2#!"&546;462264&"6264&"6264&"6"26454+";2=4+";2=4+";2P��P&4&��h���������`&&��RR���hh����3;CK[$"&462&"&462'&67676563267'&'#5&$"264&"264&"&4622#!"&=463�			�H44H4��7VJ<E /

27�81
7n�			�		��		�			G4H44H�	
 #
	[[n			�	 		 	������<AGM>7.'&6;2!676;23&'67+"'&'!+"&67#7!36!&'# B--B 
 8 

*M1,"
 *9
 �� 
�$����	��
�./DIID/

(?9@$Z8		h����B�5=%'&>?7'76&'.'&7#"&=46;276264&"&5>!=!=<���D-+,\Y		pd-���((��cc�5)G,8,7#	 	��$G�((����B7"&546;7532#2+"&547#"&547#"&5#"&=46;2�		�00�		 		S(�(S	0		`	�		�  �	�	@	 				p	 		������6#532;#!"&546;4+54+"#";;2=325y�
7
�
��

�@808808W
��
��

�
��88088����/8;#!"&=32?3264&+'&"'&+"=4;546;#532 
�
��
F#
9Z		F#
9�8
ș�
8
��

�Fr,		Fr(�
i
���@�	
)346;#"&5!%;;2=32=4+54+"#"%2+00�@�808808P0p�@0��@�088088������@�%1=Ieq}2#!"&546;546;254+";2=4+";254+";2=4+";2754+54+"#";;2=3254+";2=4+";2 
	��	
�
�
�((((�((((�((((`
��		p
@

@��((�((t((�((���((�((���#2"&454+"#54+";2=3;2�Ԗ�Ԗp0`00`0��Ԗ����XX�XX��@�.82#!"&546;35"26426'.+"'#"3#546;2� ��F4&&4&
"*
��
@
���```�&4&&4�


�``
����9E2#!"&546;462&"26454+54+"#";;2=32=4+";2P��P&4&6H808808�����`&&��088088�����8<@7"&=46;7532##32#!"&=46;5#"&=463!25#!5#�		p@@p		�00		��		00		`		������	�	�  �	�	�@	 		 	@	 		 	@@@@@��D�'2"&=454&"7.7>/&76B\BB\B�(��/vT"�S	#�/�B.�.BB.�.�pp�#	Sv/7Tv/�"����!15!#!"&=32=4+532=4+532=4#72#!"&=463 @
�
xxxxx�

��

@��

@@@�
0

0
����52#!"&=463!#!"&7;;2=32=4+54+"#"h

��

@
�
@808808�
0

0
� `��
�088088����#?G%2+"&=!+"&546;235463'"=4;276232+'"/"&462.B	 	�	 		 	�	��2f		z2L4&&4&�B.�		00		`		�	�(c		7		,c		7�&4&&4����IQY^%2+"&5#"&=32=4+"=4;2=4+"=4;2=4#!"=4;5463!232264&"264&"75'#p		08P8�8P8�������8,d�,((\((�d,`	 	(88((88(�00dlp((((�dp����#37NZ%2+"=43+"=4&'&=4;22#!"&=4635#+"=4'&=4;22+"=43x0).0$0p		��`�0$<0X0`��	W1&B%>>��	�	@p@@B9!,*AB>,��������>7//&?'&??6/7?6'7//&?67'&?6�@��&@BC87-8�-I"�"9-A��CB@&87.8�-J"�"8-������$.2#!"&562#".'463/&76.76dx[	��	/	[<7*T	#�/F�/vT	#M::c:M$1kTv/�#F�#	Tv/�����(#"&4?57?6/7?6/7?6/7>�#�dYY-22-22-23.M�!R�YYe.32.32.32.������/#"'&6?'&?67'�"�+/�"FO�"�$ R�"�EO�����';?"=4;2+"&=3352#!"&=463"=4;2+"&=335H�/B/0@�		��		X�/B/0@�00�!//!�``��	 		 	�00�!//!�``����#A%2#!"=432#!"=43%2#!"5743%+"=4&#!"+"547%62���p��p���P��P`00`00�00� ���

�W q���!22#!"&546;2654'"&462'"2654'76.�&&��&&q�qd�^^�^�""�&��&&@&-3OqqO3-�^�^^�:O����3}62"&4"&4622#!"&=4632#!"&=46;!'54+532=4+54+"#";#";#";#"26=3264&+532=4+532�			�			�		��		`		��		0`�hhhh��hh@(@(@hh�@						�	 		 	�@	 		 	`���    ((  ������"-%2?/.=32?7/76!6/.7��
��
�@@��\����\��'�66�'kkp8� 

 �8�����$,2#"'#"&'&>7&54264&"264&"264&"�Ԗ�j83AL9s���z�z319JVv������$747#"'#"&767&'&?6632@	E&(83AL,9:
��	

iI`j�9��
3
4+9�

�

	R5zVH:��974&+463!2#"!%2+"&=!+"&=&546;2!5463�& 8(@(8 &���& 	@	��	@	 & 
�
�&(88(&@`&$y				y$&
``
���Fh$"&462'+"&;26=>54&/&546;2?6&'&'54&+"2#!"&=46;#"3!2=4+67V�zz�z�"?
&
	
">
'

�

�@

 +?

l

@, z�zz��$!




$!



��
`

`
''�����	)1&'67673+#&'&6?&'&54762546264&" N5 
,pp ^BMA
k.�U}N/			;1%
E8K@�B^8H$Qh=7	
EX<!/`			��A�%%#!"&=46;76;2+";2?625���		7/ *�N		v]	x
	y	`	&		J��A�8%'&6767>"#!"&=46;76;2+";2?62m=<m���		7/ *�N		v]	�rHHrH
	y	`	&		J��A�En.'&67546;2'&+"+"&=&'&5474?6;254'#!"&=46;76;2+";2?62 

	$	6
 
	$	����		7/ *�
N		v]	0%			%		�

y	`	&
		J��A�1$"&54762#!"&=46;76;2+";2?62HP8SS����		7/ *�N		v]	�7',pp,'
	y	`	&		J����"E7+"'&/&=4622?6/&>$2+"&=4?>2?54�9	�i
Z
&�
i�	9&

Z�M"+p		�
�

�l
	3�
�
�		p+"M
3	
l�
������%@2+++&/&6?54?26=%54&+"&=4?6;76�


&�gPPA*<*,P!�"!gg
0
@
&<�.0$'z**8%.!X~	
<�����5++"&=47'#"&7>7#6;5#462#327#4'
	�		�
�	
.C)>t0pQ^Qp0t>?X
��		
��
$A,Dl��RnnR��lDT������en"&462"&462#"/?#"#.?6?'#&/&/"#"&/&?676546;2?676.7�((d((N)
C
	


+3�3+



C$
	�	
#��)`((((�pE.d L]
\1G
!!
G1\]L P 
'"
`		`
"'
 �.E
����@�CKZ%2++"&=#+"&=.5#"&7>32+";>;26;264&"'"4&54621&#0		1
	@	�	@	("
+X:�, 
i			�8P8�	�	
Q		00		Q'0&	7I"L@			�(88(������)?/.%'.4>?6762'67&"uO[D	�	E
�
,
"k
,"O4!Z!�Xf#	II@&W;���&.;C%2#!673264&+"&46;&5462#"3"2642.54264&"�(88(���

`(88(--8P80`

m�xP80 5S�8P8!8P8@ (88(P�8(P&V(H���2+"&="&5%3&'>@]�	 	]��@tU+)2;`�]�		��]@V�	=/*���#'2#!+"&5#"&=46;546;25!�		��	 	0		0	 	 @�	 	��		p	 	0		0��������"/<62"4&"276'.#"?62&276&"�Α��7�

%
&�-�-

#nYΑ�Α						o66*����!2"&42#!"&462&264&"�4&&4&�		�p]����C�P88P8&4&&4�	 	����]^B@8P88P������)17'&>?7'72&!#"&'/&7%46264&"21M>M2�LB.-A�w
Z�((H�\]�:~�p.B?-l.^D
�@((����)19?G%+"&547##"'#"&5463!232264&"264&"%3'&#264&"m	/B/�/!((!/
�
&��0\+�V	!//!!/  /!P

`��0+�������&/'&?632576%5#!"&z

���%	

N� n"��n
��

	�!

	=��K�
���
����%�2+"546;5.?4>;2��(4@�	@4uW7��7Wu������!'&?6>323!"&=46z
��	

�M2<T!�0���O


�

	i/=T<0&3�
7O����.6RZb7"&=46;>3232+"&'7;26=4&+"/?+54&+"#"&=46722"&4&2#54@		P0.%			P`P8(0(8�H$$$$�3EP
�
PE30p			W	 �	`	+5$	`	+55+X(88(Y$$$�L3
@

@
3L`					00����+$"&4622#!"&=46;27%/&?676jKKjK&7O��O7#L#T	�	Q			-i	�KjKKjkO7**7O��	R			-h	����+3$2"&454+54+";2'!"&=46;2732&"&462�xTTxT�
&


<
�(#��O7#L#
+jKKjK�TxTTxB
6

L
,L*7O&HKjKKj����;CKv%/'&=&''&'&?&7'&767667547676264&"&"&462#!"&=46;2732332?b
!!

!!
�((�jKKjKI��O7#L#


	K    0((tKjKKj��
*7O

'����$/$"&4622!"&=46;277&7%'?62jKKjK&;)N��O7#L#>�G�=*H%�KjKKjk.M=
*7O��G��*H&����#76"&4622#!"&=46;27$"&4622+46=4'6;27�\BB\B#0C��C0	!F!P88P80.B�(*�B\BB\bC00C 8P88PXB.'9+����:%#!"&=467&4?6"&547'+"&?&5475?6K��K6_���`KjKB*M6

6M_P..5KK55
>	>
;����4<D$"&462!"&=46;32730%2+"&=46;5462264&"754&"jKKjK 	��O7#&&# 

�

 /B/]@�KjKKj��*7O
�

�
P!//!P�}P

P����+%2+"&=463"&4622#!"&=46;27p		�		�jKKjK&7O��O7#L#�	 		 	0KjKKjkO7**7O����%-%#!"&=467'47&52>32#"&'7"34&#E4G��G4e�++1#5KK5,Cg
�
�L4**4Lf�33(KjK5)`

����7%'.54?6>7'&"&462#!"&=46;273230n$"5Ps!;`�jKKjK 7,	
��O7#L#�$@/&sN-�N:&KjKKjsDm#*7O������!'&?6>324>7!"&5z
��	

�#8!5K0&��3��


�

	r 6K5)B
� 9%�����+@%"/&=46;22>4.#"'".54632#!"&=46;2732w	
\		[O\
�#;"K5#;"KK:��O7#L#S		]		[O
E
X";#5K";#5Ko(:*7O����$"&462#!"&=4677'3jKKjK 5K��K50  `  �KjKKjlN5**5N��88�����;CKb��%/'&=&''&'&?&7'&767667547676264&"$"&462"&5462"'&#""#"&=46;323630#3273'#"&=46;2b
!!

!!
�((��4&&4&�.BA]B	

f�D/	!##
�(B
&@k    0((t&4&&4FB..BB."�


0C '	�:#
 &������*BE[^!2+"&5&'&/&6?&5463276%#"&505467>762'3'1"&50546767623'		�	�
�/!.v
�  ";#5K


<
SȐH��
KjK

<f�H	 		W0+!/(',!�ِ%/!<�
�j(59	!//!<4&��������+>AWZ46;&/.?>632/+"&5'054676762"&73'0546767621"&73'`	� �
v.!/�
�	�	`

<
SKjK8�H

<

KjK8�H	'!,'(/!+0��		�	96(�!//1���	95(&4<!//1����;?%2#!"&=463264&"";#";#";!'#"&=463!3'#�%
��
%sH���ri�	g��QQF@% 

 %`�@@@`�@����@�"6#.5476'&'"&546
�OM{O�
����'	l	//	��	'R	����$9Kil"'&476;2#'+"'&476;2%+".7>&'&>;22+"&764'&63&/#/.7&54>23'�"		_		#
#		#		#y"		R�1�1�"p`06
,
�4]+	9|9	9|9	)[6@6
,
d��
vv
:�t����)%/6?6&67>3%'7>76W
�65_<Q�	�";V"�
�m)$*
 pJ�
	�+m6+�	����
!#463!2#2#!"&=463!53`@�@P		��		����x��`��	 		 	@@������472+"&54632276&"&4622+&'3533!&#5463�/A�A/(P88P8P�	L�@��!`B//B 8P88P��&@@ 2.����-6?%#54&"#54?5#"&=46;546;232+4?#"&5%+5�`%6%`p0		0	 	0		0��mp	m	p�	�`%%`�	D3	 	0		0	 	3�/�	�d	����	(085 7"&5"&46232>7"&5%567$2"&4&'67==q�q��qq�q�h:&H>q�q�?!#���pp�p�0n37++++&&@&4&&4�4&&)?+	�/B//B	"%+����2"&44635"264&"62"&4�Α�ΑX^BOq�P88P8S��Α��gB^ qO`8P88PH����)12/"#"+/#&54754632264&" (8`M=),'&,ayt/!'J�%PAepxhx=	%!/ H����;!2#!"&=4632#"'!'#"&4626?&5462?&54		�`		�(H��H(HR(RH	 		 	@(��(

+��+

����(08@HP2+"&=7>'264&"'"/&4?62264&"264&"6264&"6264&"264&"P��	
�(��(����.�1��(��(���rr�����'/72#!"&5463264&"6264&"264&"264&"6264&"�%%��%%3ss�%��%%@%���ss�����'/2#!"&5463264&"6264&"264&"6264&"�%%��%%3��%��%%@%���������2#!"&5463264&"�%%��%%��%��%%@%�����'/7?2#!"&5463264&"6264&"6264&"264&"6264&"6264&"�%%��%%3��%��%%@%��MM�MM����'2#!"&5463264&"264&"264&"�%%��%%3ss�%��%%@%�ss����2#!"&5463264&"264&"�%%��%%3��%��%%@%������62"&46"&4622#!"&=463�6%%6%[6%%6%�

��

`%6%%6�%6%%6U
 

 
����!!2#!"&=46;463!2&264&"p		��		p m	 		 	��s�����"*!2+#5326!"&=46;467264&"p		�`p���		P
�	 	�@����!	 	m�0�P%2#!"&=463%2#!"&=463�

��

�

��

�
 

 
�
 

 
���"33&'"&476&&67>7>�'
!�b'�bGE:B�)!.,_Q�'g9,'1B�5t*"-,!����@�8@32+'6.'&"?632#!"&54>7>2264&"�:)�b6
	Zw	F#
 #& #O
	��&5HX0,:,S_#"Vi
	~,
	B0
	%1]L<%%%C���@D!2#!"&=463'.=4&+!46;23226=.='&4?625#P		��		�/!%��&�&$4&��	 		 	U� +,p`&&�4$ 

�>&�����@�CP]%+"&/#+"&=4?>/&6323632'&'&&/&6?67&#";26%5&#";26>C0%.B$B.%0C-
C$'));7J7;))'$C
��##%$%6$%##%�F/C=,'',=C/F�&%
	��	
%&��)

%%

)������%&/&6?'.?>n��	��
	�"	�	ff
	����(.?>&/&6?2#!"&=4637

.��

��

�p

T
xx
D�
0

0
������&,>%"/&6;235#"&=463!2+2#'3.#!"&=463!260
V� 	(+а		�		�]�
�}#4�!#��		F
@
s@l:@	 		 	@�]
�|4#��	 	 �`)2#"'#"&4632627&#"!2>54&#"�FccFQFFQFccFQFF�////!+L+///`^�^OO^�^OO�@@&
&@@����@�4@D%"#"/#"+"&=#"'+"&=.54>76;2264&#"5@
JLL				,4$0	TFCP
.Ew
	h��1	;		16		JY4)D&
0.=K	
�c	����%'%&=47%6m
	��3	�Z
	�"	�	f����&7&=47%6'2#!"&=4637.


��

D

�p

�xDD
B
0

0
�� $H!5>4&'5463!25#35#35#5!#54&"#54&"#54&"#54&"���
@
�`@�@�@�`�@		�		�		�		=	cc#

��������``







������5U'&?65462#";#";#36=46;22+"&=46;5.=7z	
��	
�8P8UUUUU),		L		�		8AW4
<)2


	�

	�-(88(   0		0*&�				"	iD)(9'"����&,4:@#"'&#"#"'&54632326322>7&.#6264&"575&'m	+1>�>?5
+1>�>?��$"%�B//B/` ���	
>=
>d=��$8P88PT:�1
#����&#"'&#"#"'&5463232632264&"m	+1>�>?5
+1>�>?��B//B/���	
>=
>��8P88P����	%1=G1!#!"&%;26=4&+";2=4+"%3!2=4#!";2=4+"2!5463�
��
�	`		`	pp��0����0	��	@��
� 		 		Xh@	00	����KWco2#!"&54632>54&/&546;2?6'&'54+"+"'&;25754+";2754+";2=4#!"3!2`

��

�	-	-	�pp�PP���
��

�
��	



 h����3%#32+/&?#"&=46;7#"&=463!7632�bK�

�S	

37

�K�

R


4
�`
 
j		
C
 
`
 
j		
C
 
�����%-56+".7>264&"6264&"6264&"264&"�P�U&P&(/hP)
n/3���=N&@";*P}CJm��m-S����"*2#!"&5463264&+";26=72+5����(88(`		 	0

0���`��8P8	�		0�@����"&462"&467"/&4762�%6%%6%�%%6%%F

��





%%%6%%�%6%%6%�

��





����$4%2+"&=4633#"'#"&=46;2%2+"&=463�

�

@��@$I`

�
�

�

�
�

�
  @0p �
�

�

�
����%1=I6/"/"/&54676276254+";2=4+";2=4+";2f&6
66
6&&6
66
6�������	
� 
	------	
�
	-----��hh������	"*.2:>H73#"&=46%#!"&54>;5462324&"2#37#364&"2#37+532   

&��&%pp!/��""@@`@@h""@@�
  
�
�
0��&&%@

@/�""X   �""X ��
�������7&/&6??6/7?6/7?6/7?6/7?6/76|�PE<
<87<<77<
;E���'ef/0ff/0ff'���#G7&546;2#";#";#"32#!"'73;2=3;2=3;2=��
`
88888x

�@�)@@�)��

 @@@
`
�888888@@@72#!"&=46;;2=3;2=3;2=3;2=3;2= 

�

0@@@@@
�

�
XXXXXXXXXX���/73+"&546;2#";#";#";#"�X
�

�
XXXXXXX @

�

@@@@����	/7A546;#"&52+"=4;27#54&+"#4?62264&"%2+
@P	h0��	`	��3B//B/p
	P�
��	@@(@
���		�u
k�/B//B
��	@���	#.'7562"/&47�@`>SS�>+u5�@�SS>�+>u5����!4"&46;46;#"%2'&/52>76#"'.#57676�%% �%  ,IfHM-4#-:+0�MH2N/80+:-#3 %6%���6%��2.&B

�	 B&, 	�
���*2:2+54+"#54+"#"&?6'.54264&"264&"�Ԗ*	N@N		,2�4&&4&�4&&4&��]"A6B8888B Z4]�&4&&4&&4&&4���	/J7546;#"&2"&427735654&#"32+'2+"'.#".'46;2`	`v	6Ԗ�Ԗ=2��$q| 3$qO=2|�		#,#�@	`	7�Ԗ���$2=Oq�  o2=Oq$|	@	���t�3#"'"'"'#"'.?63!22767#!".=327!5Z&/,XX-/&A	�				
�@					
�I(Z!!!!!!Z(h���
		�dd������
%%53#!"&53%#!"&?63!23+"&@@
�
@�
��U	�	%@	 	@��

��""����		���/"&=463!2#2#!"&=4632#!"&=463		�		@		�`		`		�`		@	@		@	P	@		@	�	@		@	�����7'7'772"&464/76/&'7?6/76/&'&'76/&'&'76/&'&?'&?'&??6/7??6/7??6/76/&'77'7�---�-------jԖ�Ԗ�.""--"!-.""--"!-�---�---D---�---q�Ԗ�Ԓ-"!-.""--"!-.""-3---���+/M%#54&+"#54&+"#54?6;546;232'5#53#!"&=3;26=3;26�	�	 	�	 	�	.	
3�3
	����
�@
�	 	�	 	�	
S				S
	.	PP		@@�`

`				������%/&#!"&=4&&/&6?267w9
9
�
99�?L?`
r		�

�		r
`��C�:I"&462/&/&/&/&?.?67>327"&4?6�((.		-
<"	#8	�(	;
	2
`((�E2Y


JB"<	 	*"�4
,"	<	
2	���$2#!"&5463!2#!"3264&"��s%%p	��		C@�%@%			�����$6O2"&42654':12764./&>'&"67627>'.3232654'�Α�Α�P
�b FbP
��Α��W


	�&&�

	��@�"2!2+"&=4&"+"&=46;!2#!"&=4630		�	8P8	�				��			 		�(88(�		 	`���	 		 		����	#:BJ%6?#&''#>#6&'37.'#!"&5463!2"2645!"3>-''-V
."'--'L
�

��)77)F�jKKjK ��
�1) )#*)1�1))*#�	4
	7)@)7&KjKKj��@������,x�7327/"&?#'&/32767672>367'&"&'.'&'.'&764'&7>76767676276&2654.#"a4%4	
.
	!
	4%4	
J
		
	

	

�7N7+'U
�&p
Y&�



	
	

	�P88(,����-2#!"/&4?63'76/&'&??6@%%���		�>>>>>>>>�%�%�

��>>>>>>>>����'7M]2+"&=463#>7##"&46322+"&=4632#"&'##&'6=3>2+"&=463p

`

@629*P
%% %

`

%% P*926U 

`

�
`

`
8H'?0O	
%6%�
`

`
%6%O0?'H��
`

`
����1;#"'&54675#"&=46;2+7'&?6/'!&/5#.�&4,		�		'	4	+�%%`@!,34Y�	 
	 
�'	4	+.53,!�''
������	#2!54635!+"&=#"&"264`
��
 �%@%6%@%��
��
��  %@%%@%M���4@HR\d2+++"&=#+"&="&=#"&=46;5462%;2=4+"264&"75#";26=4&+264&"�


 
�
 



�������=�p

�p

ps@
P
� 

  

 
�
P
0".."08��]�
`

`
�������[%#"##"'&'+"=#"'&767"#"'&4767.'4546320454>762>7632�		<I		%((%		I<		 ,+	"S!!	
!S"+-X	@@		!V#

)5p(
.0F!)
	#V!	�����'"/&4?62762'&?62762"����(o���p-
7�
-����(p��p-7�-�����@�-2+"546;5'&63!22#"'73264&#"#>(�8�n��<TT<(#$(88(,
4J}��}�TxT$	8P8+5�)!4675#"&=46;2+2#!"&=463 Rn�@nR		`		�		� 		=~TT~				��	 		 	���'/7%/&/&/&54?6?6264&"6264&"264&"�$&E'*M*7$&E'*M*7��3��*'E&$7+L
 E&$7+������&.6%/&/&/&54?6?63264&"6264&"264&"�#&E'*M*7$&E&*J5J��3��*&E&$7+L
 E&$4J5Jq�����1%2++"&5#5323#"&5#"&=46;546;2�

(
0
��
���
(

(
0
`
0
(

H`
�H��`

0
(
 �`'3?K[g2#!"&546354+";2';2=4+";2=4+";2=4+";2=4+"754&+";2654+";2`

��

���@@@(	�		�	��`
�


�H00		0		y����!)A2"&4>/7>.'&7264&"7'76.'&?>�Α�Α�
c4&&4&���Α��>
�&4&&4����@H%/67#"'".5'7&'&6?67&5462'0"0"132676&"264�767,RL\142G6G!	D8P84#03C#"9d
�h`:_~)= {:|"

v(88(Y$
Xt7/

����3N54&"54&"&'54&"&=4>3276322654.'#"/&54?&#"�QH4<<4H0>R-97n		�Vz'v		IVz8_F9�. f

wh

hw

f .�-

G
	�%
M
/&��@� *62"&=46/627.#"75&"26>54&'���8DF;<<"} @ &4&/&:!D8�K5�5KK5�5S,
&&

�

&&m&
,���!33#"&476&67>	-jQ�e:K? 9�2D[OV,�}n5119�."3W8.����)T];#!"&546;;2=4+";2=4+""'.'&"+";26?212?62;264&##532�
�
��

ȠPPPP�	+"		
/		I�
8
��

�
HH�	)6		2
			
�����'0;#!"&546;6&+54&+"#"27#532�
�
��

�LA	 	A`��
8
��

�
��P		P`R
���G�3#532&=#53546;#!"&546;;#"��
b�`@@��	�
��

�
��	F�b�`A@A|	�

�
�
�	���	373#"&=46%#532;#!"&=3?6/&#46;pp		��
7
�
��
�``�
Ƞ@	 	�
��
��

�A``A
����*6BR%#5%#532;#!"&546;;2=4+";2=4+"54+";254&+";265 ��
7
�
��

ȠPPPPPP	�		�	�@@�
��
��

�
HH���		`		����&2m#532;#!"&546;;2=4+";2=4+">54./&546;2?6'&'54+"+"'&;25y�
7
�
��

ȠPPPP�	-	-	W
��
��

�
HX��





����;CL;#!"&546;&'654&+";26=3??6/76/#5327#532�
�
��

�E!!%P			;�00		ɀ
b8
��

�
��!&%	�		0;7 		��b��A�7@EO7;#!"&546;;&'.'&"+";26??62#5327#%'762��
��

�
��	+"		��
b`�D�ED
(

�
�
/R	)6		2

(�b�D��D����'0;#!"&546;26/&";;26=7#532�
�
��

�A``A	 	��
8
��

�
��``P		P�
����&%"/&4?'&?67627'"/�		�Pu_VVR		[1�;;		;Q�		�uP_VVR		��0�;;		;R
��@�
"1%"&546?"/&4?'&?67627'"/@%6% 		�Pu_VVR		[1�;;		;Q�]#%%@		�uP_VVR		��0�;;		;R
�����
-A\n�62#"&76'47'.76'4&'".76'&6&'.76'&767'.76'.'".676#"&54'&676'&'.#&#0#"&=&762�+>		";I		
(�Lm

Q9		



'"&(X<9

GKl>60�
rn	ik
`<*MK	
GH  ML	
FI)<
#.><	
79?1:kJ
65
897O
z,
	'
V		<9R
fHJ*�� @`$2#"&'&?'&6>264&#"G0a@((@a0>p&X	
W&p�		`)7337)<*B
nn
B*<�	
����'/$2"&4&2"&462"&4264&"24+"36264&"N�Α�ΑP*<**<���<**<*�ΑΑ��)<**<*�  h*<**<����'2"&4264&"6'.#"7626264&"�Α�Α��	
=("
	14)��Α��*�	"
	������32+"546;5'&63!2!!��8�8��J��0����**0����j2"&446;.'+";2;2/&+";232?676?6?6=4&+"/&6?63232?65�Α�Α�	Y;		Z
	/
 	
	
	��Α��G	:R				 	
	
����_n2"&4654/&+.#"/&54?632;26/&54?6;2?6/&?6//2?676767654'�Α�ΑJ		
C	
	
G 	
	
_
��Α���
			


		G&
	
			 
	
/d/*����8m2"&4762;2=4/&4?&#"32?6;26=4/&?63254/&=4+"+"/&+";237632;2?6�Α�Α�	3Su>
		�'

	��Α��_N
	&
uS-			f



	
����!%)-15=DK2"&45#375#"6264&"5#75#5#75#5#75#6264&"5#326=4&+�Α�Α�(

 5000p000p000`(

��Α��(
8(
��((8((8((8((8((8((h�(%
(����&2"&4"264&"2642676&"'&�Α�ΑU�`Y
	/�/
��Α���6'	
'����#22"&4%2767&'&"2767&'&"2676&"'&�Α�Α8�+`Y
	/�/
��Α��!"		!"		!"		!"	��6'	
'����+92"&4$"?626'&'"?626'.2676&"'&�Α�Α[&#
&
	
�#
&
	
`Y
	/�/	
��Α��)))��6'		'����-AP"&5476227"&4632&"?626'&'"?626'.2676&"'&�(**0	�Α�gJ>/L&#
&
	
�#
&
	
`Y
	/�/
@77<03g��Α)!.)))��6'	
'����':2"&4?6&'&'&2676&"'&%>'.'.7�Α�ΑZFi`Y
	/�/	
	��Α��F

��6'		'�	
F����#12"&46/764.?64/&2676&"'&�Α�ΑP!!�!!PPX`Y
	/�/	
��Α��-0((	((00��6'		'�����/<JZ"&767622"&47667'676&&>'?6&/.?6.>'&26�*��)!)y�G!)y�G�	Z

4]Z

4�"k,<@PH)��H)
G�y) G�y) ([
4
�

Z`"a$,k���� .G2"&4?6/76&/&"2676&"'&%6&/&"?6/�Α�Α_#
F`Y
	/�/	
'#
#��Α��	##	  ��6'		'�	  	##������6FVd72"&476"'&'&61"&'?676&>32&'&&"?626'."?626'&2676&"'&f)S)
Hr s�s 
�_?lE
K&#
&
	
�&#
&
	
`Y
	/�/	
�H))GR9DD9R]:e=b)))�6'		'����%-K26=676&"'&.54264&"264&":#".=6362?>�ΑYH	*
	/�/	
*	HY��&

��gO~.$		$.~OgW�@%
?	����;HU%:#".=6362?>26=676&"'&.5464/&?'76&6%&

�ΑYH	*
	/�/	
*	HY�P!!�!!
	PPI@%
?	l�gO~.$		$.~OgA0((((00����%8@^2"&4&26=676&"'&.546'.#"?62264&":#".=6362?>N�ΑYH	*
	/�/	
*	HY�
%
&�4&&4&
&

��gO~.$		$.~OgP						0&4&&4�@%
?	����"1<62"4&"276'.#"?62&2676."�Α��7�
%
&�	
Y`Y
/�YΑ�Α						a	'66'
 �`/?O_72+"&=46;2+"&=46;2+"&=463%2+"&=46;2+"&=46;2+"&=463`

@

�

@

�

@

�

@

�

@

�

@

�
@

@

@

@

@

@
�
@

@

@

@

@

@
��@�/?O_2+"&=4632+"&=4632+"&=4632+"&=4632+"&=4632+"&=463`

@

@

@

@

@



@

@

@

@

@

�
@

@
�
@

@
�
@

@
@
@

@
�
@

@
�
@

@
���"@72+".=4>;2+"&=4632+"&=4&#"+"&=6�

�%

�Ҕ		zV8`8		�
�
@&@
�
�ip		pVz8`8p		pi���F7+"&=46;2#"&=46;22+"&46;23265454&"+"&=6�
%%
�

%%�Ҕ5%� fz�z		�p
%0%�
p
%0%`�i�%5(�VzzV		i��!�77/'7'&54%'76DC#)�#+3`3
����+ FC##�*
3`3+�+ǩ����';GS_ks&'&'&6;2+"'&'&'&6;2+"2#!"&=46;254+";2754+";2754+";2754+";2"&462�+
+
n+
+
�
%��%%+o�```��6%%6%($>($>($>($>@
�%%�%
S�pppppppp@%6%%6��@�-=M]ms��#32+54&+"#"&=46;#"&=463!2;26=4&+";26=4&+"';26=4&+"26=4&+"334&"%54&+";26=4&+";260		�	 	�				 		��&&&&�&&3&3�8P8&&&&���	 	P		P	 	�	 		 	-&&e&&[&&�&&�(88e&&e&&����7@L&=4;2+"=46#"'6+"=4.'&=4;22#"/2!2+"/�<0(0��$qY��Z�).00�vYuV

v*AB>,9!,��P8!W1/'
%>>����
p
�����-52"&4264&"4'654.'&7>264&"�Α�Α��##")��Α��W�

			�����5G2"&465."?624'654.'&7>765.#"?62�Α�Α�#&#	
&
h##")A#	
&
��Α��K))�

			�!)����&.Ma%/&>7676#"&462&#.&264&"4'654.'&7>?626'.#"�S
�/4g��ΑT��##
)
'	

.!	S	T�Α�g.,%#�

			�						
	����%2"&4"264&"2642676&#!"3�Α�ΑU�87Q
��
Q7��Α���H66H����.<2"&4?626'.#"?626'.#"6&#!";26�Α�Α

&
	
#�

&
	

��
Q77Q��Α��6)!!w6HH����#12"&46/764.?64/&6&#!";26�Α�ΑP!!�!!PP
��
Q77Q��Α��0((	((00�6HH����!/2"&4?626'.#"&"2646&#!";26�Α�Α
&	
%Z�
��
Q77Q��Α��5						
6HH����	ALP7"&=46;%+5322+"&547#"&547#"&5#"&=46;2#46;25#�

 @
  
0		S(�(S	0		`	`�`0`�
�
� 
�
�	 		p	 		�� �000��@�",2"'&547.=42767'5%6�hJrr�w�
,!�!/	��J4>��>4�0�?��(%�@�%(��8 ��@� *42"'&54264&"7.=42767'5%6�hJrrm""�w�
,!�!/	��J4>��>4^""I0�?��(%�@�%(��8 �����	?&76'7'/&?6276^K�KQr
�5��bWi!%�K�KQ
rs5K��bWh$�����	4'&6;2%2&'7632"&46&/&"?6/�?/o	
o
U
	o/?E
ʒgg�g
44&	//	=
+��+
s�g�gg�6
//
%4		4����2"&4264&"264&"�Α�Α����Α��W����!32"&42654'"&54724+"362654'"&547�Α�ΑX&4&""���4&""��Α��G&&&

�  p&&

&����*!2#!"&=463!6?654&+";26p		��		�MM0FF	 		 	[��;LL�&&���	+#76322++"&767.5#"&=463�d��				C6
�
6C		�c�$�	 	<a  a<	 	���0#!"&=463!22+2+"&=463546;265�
��

`
 %8(�

@

%�
@

`

 %@(8 
�

�
 %
	����	-9AF673&.'3'>76732#!"&5463264&+"36264&"7#&�-''-V.
'j

��%%		�		;jKKjK�-'1) )**h*#f)1
�@
%�%�`				`KjKKj�1)���?'73264&"'766'OTc!�]
];1#]$�b�!cT;]
]�'T(�b���!7'73264&"'6%'762���+	 ���
(�]�9�9(5+��!]�(
� J(9�9�����$67'&4?622?'762'&?%"/7?md		Z		">>,�.q.(-�q��k�		Z		d�,>>�d		Z		">>,.q.-(q��k		Z		e�,>>����.!2#!"&=4637&=46'46'%&'p		��		

'f0
A	db+
(&+��	 		 	�
e		C�	�1N
������1!2#!"&=4637'&6?627'&6?63276+"p		��		AM(Hh�A�c++.,���	 		 	kS$4b!R21'$�����*2%//&?'#+"&546;276%3264&#-NNNN�	 		�(80$TN��`

`NNNN�P			8($6TN�@����.6J254&""'54&".546'.#"?62264&"76'.#"?62�ΑA7		.d.		7A�

%
&9((�
%
&	��gBq!�		��		�!qBgG						�&4&&4�							����#.2"&4"2642654'&"6264&">'&#"32�Α�ΑU�(**3�-F7��Α���77��6 ����!)-59%+"&5#"&5#"&5463!235#264&"75#264&"'3'#u
 8P8�8P8 

��R``L((�`�((0�PB�
o
(88((88(
 
�`��((�``�((�`����=2##"'&7#"&?6&&/&?6>76327>o
)"(
C#+M�

b:

7:&
*KJ6
E=	 8=�	�'
	%#3hG6!'����'92"&4?626'.#"6&"'&276'.#"?62�Α�Αp

&
	
#�

#n#

-�3
#	
&
��Α��F)�**6�!)����(,048<@!2+"&=4>;53#!"&54>3!23'7#?#3'#73'3'#�		�	0��7		��7	���
�
�j�
`����
gFrj	 
	   ���		
B1``�pp�``�p�``�p����A�,2"'.543267>&'&'6768'S�S''?D++D?'��!FG"%;?QQ?;%$'88'$oo==o����"%/&&?6/&6?6�%">H6 F&3
&)'H!.L	�C>"(	4949/!=	���	!)19AIQ#546;22"&42#!"&=463264&""&4622"&4&2"&462"&42"&4�
@
��(8
�
8(B//B/��Mss�``
m
8(�

�(8�/B//B3s����*5!2#!"&=46;26=4'&5463 �@(8
�@
8(C	D-+@@@8( 

 (8(2,:+ *$
�����'#"/#"&?'&6?627//�
j��j
�A	(	ARr3f&g�DD�g&���Qg��6r����#/;I2++"&=#+"&=#"&=46354+";2=4+";2'#546;2#5P	 	�	 	�����0`0 �				��h�PPPP����2"&4264&"264&"6264&"�Α�Α�C4&&4&���Α��*�&4&&4����
%-1573622#!>?"&546;2264&"75#75#�		�K		�

����8P8
�
j8@@@		�L		�
�
� ��(88(�
�[�@@�@@ �hT\7&'76?6/&"'&+""2+"'"'"'+"&=46;276;2276;2276;23$"&462�	DP(1d"dq
0

0�		:&&t&&t&&:		%JJ%�1B//B/�b9
"&
P			 	 	      	 	`/B//B����4j%2+"'"'"'+"&=46;276;2276;2276;23%"'&'5462+"&=4&"35462+"&=4&"#5#p		:&&t&&t&&:		%JJ%��
8P8	 	�8P8	 	
� 	 	      	 	 	
�(88(		

``(88(		

�
	`������ '&?66762%47#"&z	
��	
�(-6,!��2BIg


	�

	�>@4_6I&(&�-h����#22"&46/764.?64/&"7626'&�Α�ΑP!!�!!PP�RM	)�)��Α��-0((	((00�>-
-������3#"./.""&/&'&'&7>76676/676�%

	""
%2" #d
	

0)"2`>1(CS9"

�

�


"9SC(2="3	@#3����	1.7>>327/6'&2#!"&=46;7s-�G'I!`+
.#:?f		��		�I<A78;Z=L_�[�,�H	%]J��	 		 	�����/37;?W#2+"&5#+"&=4635"&=46;2346;235!355#!5#=#"&=#+3235463


`
�
`



`
�
`
` ��  �  
�
  
�
@
�
`



`
�
`



     ��    `�
  
�
  
�����$%#!"&7>;&5463232&264&"��`I<8(,<	�))$(8,����%�"2+"546;5.?4>;23'��(4@�	@4r�uW7��7Wu�PP������/7;%+32#!"&=46;5#"&?#"&?&5462+&"264#3{	�p		��		p�	^1
r(r
1V			`��
 	`		`	 
a	~~	�			�y ������"5#"'&"#"'&'&767676676'#'&7676763_'$+A
 
A+$'*$$*?#/++G0:

:0G++/#

%
$
	���� (3:AIQ\62"&47'"'".'&7&766267&'&'767"&#">"6727&'6264&"6''6'&#"#��77W$|$("
77W$|$W��%,� 2 B//B/�%�s5KK54
VV5KK54
VV
��	
#�
#
�%��%K/B//B?
#
	�#
	 �`O%#"&'4.#!"#"&=46764'.=46323!2>5>32W,'
��',,
	',�
$,

,$

$,

,$���+"&462'&'.=46%2.=476`8P88P>
F|�<|E
D�P88P8��#��"�)��@�%K2#"&'#"&547.547&5467&5463021>#"'#"&546320212�&*&*(&"�*&*&"&(�&��**	(.(	&��(	**x%&	(��+5HY%+"&=!+"&=&=46?>;2%!'.+":>54&#"!264&#":�
 
�
 
 �"9���9
"N	
�!06

  

60!2
& 222
�!	�#/K2#!"&546;546;23546;254+";2%54+54+"#";;2=32�

�@

 	`	�	`	�pp((((@
�


0		00		0�((((������*fz��7&?6/.?6/&6?>?6/.?'/&'&?&'&?676?676767676%&>76&'&'&/&#"&>76�#
NA	2M
+= %�




	�
	
 {
�}
	
	{ �l)

�.M
+=
NA	28+$�/4
C

4.+!	5d
	)6!+.O
����#+/3;2+"&5#"&5#"&=46?>;2264&"75#;'#264&" (8	08P8�8P80	0!�m�|((xM&��MY�((8(P	(88((88(	p"z��((�```��((��@�Qh!2#!"&=46332'.=4&+!46;2327>=.=46;5462354626&+76&+";327P		��			2"'��%�%$4

			 		��:D;	 		 	@	 *x!..p`%%�4$
v* 	0		00		`3	kS���'%"/&4?626/&#";2=37�		�

�		�

{U
p
 `
�

�		�

�		�N6
P@6����'8@HPX`%2#"'##"&5475&546323632#0#23'"1"&46;7#264&"64&"2$"264264&"264&"�%%%�%%  %%�%%%''���&%%&��			w			��			 			@			`%6%  %%�%%  %6%A A	@%6%@b			�			 			��			 			����7AE%'&?67&?'&?6'2#!"&=46;;267!463!2!�::$$U$$::	&�&	�
=��@���;;$$$$;;�	&&	p��P��������0&4?62'%/&4?2?/&4?2?������;��:��:��,jjjjjII�jjII����X%/.=32?654/32?&54767>3276=46;254632|N/<(V	��	V(</N!E
)!		!)
E:.7
1X:
pp
:X1
7.zm
&<�		�<&
m���!;G7"&=463546;22++"&=2#!"&5463!264&#52%"=4;2#�

	@	

	(	$	� 	5KK5Oq1����
�
		
�
		�		KjK@qOI7  �`26A6#!"&='.=4>3235#"&=46;2+325'46?"&v�	
��
F		�88		�		892��0�
+$ �

/_	0				0A?>]
+>���0%#!"&5467&546;&546;2654'6323232�#*��*#*%!/
(8%*O(**(#*%/!8(%*#���%62"&4%+".?622+"&=463KjKKjK��
k*P

�

�KjKKj�%
	���
�

�
������7%/+"&=&/&6?'.?>546;276� 
�	@	�
 �� 
�	@�
 �r
8O�		�O8
NN
8O�	�O8
N	����+9GUcq2#!"&546354&+"26=4&";2654&+"26=4&";2654&+"26=4&";2654&+"26=4&";26 (88(�@(88(@	@	((	@	�	P	!.!!.!	P	�	P	!.!!.!	P	�	@	((	@	�8(��(88(@(8��@		@�@@		q8		8!!�X!!X		q8		8!!�X!!X		y@		@�@@		
����+9GWes��2#!"&=46354&";26754&";26754&";26754&";262#!"&=46354&+"26754&+"26754&+"26754&+"26 (8%�%8(@(	@	�!.!	P	�!.!	P	�(	@	%8(�@(8%`	@	(�	P	!.!�	P	!.!�	@	(�8(@%%@(8�  		8!!8		8!!8		  		�% (88( %P 		 		!!		!! 		 ������(6HT\j7&>#"./&67632*#"0&'&567%.?>766676.67&'7676.'&6� ]F&
#YJ gu$$ dY�,
� SaAO6 ��,
 SF
.�"�,�+-2# $D&�'
91+
	
�)H!A`)��	�,'*(O	����.6>F3"&'.535.535.53546;23264&"6264&"6264&"�@	F\F	%@$@$@
�
@�((((((
&%,99,	2 &
1&
1 

 %&�((d((d((����04����%2+.#"#."#"&=46;546;546;232%3'#2+/+"&=&'/&?&'#"&=46;67'&?667546;276264&"'2+/+"&=&'/&?&'#"&=46;67'&?667546;276264&"p		'0&CBCLC			�
qSJ
���3Q0	
	 	
		
	 	
((�	
	 	
		
	 	
((�	 	"""	 	P	`
h
@`@�� 	
		
	 	
		
P((4	 
		
	 	
		
P((����6:BJ%2+"&547#"&547#"&=46;546;546;232%3'264&"264&"p		2B\BDB\B2		
�
qm0
���M�((<((�	 	.BB..BB.	 	@
�
�
@�``��((((�
0H?62"&472#!"&546326/&+";2?33754&+"&#"327;26����`�	66	F�		**
	�55��� ��
��
�		$*<*	��@�#/%2++"&=#"&=46;&5462&">54(

`
 
`

-%JlJ%E,�
 
�

�
 
;5AOOA5;�"9!(����:B%#!"&5463!2;;26=326=4&+54&+"#"5!"3�

��)77)F��	0	 	0		0	 	0	��
Z	4
	7)@)7v 	p		p	 	0		0	��@����/3B$2"&454+54+";2'"!546;546;232&'5#!"&=33�xTTxT�
&


<
@7.�uP�P	������	�TxTTxB
6

L
� P001`  �*&�0	����-9EQ]iu�����2#!"&546;546;23546;23546;254+";2=4+";2=4+";254+";2=4+";2=4+";254+";2=4+";2=4+";254+";2=4+";2h

��

(		@		@
�
��((((((�((((((�((((((�((((
��

h
P		PP		PH

��((l((l((�((l((l((T((l((l((��((l((���T2#"'#"547>7&54>'./&54;2?6&'&'54&+"+"'&;265�Ԗ�j83AL92	 		2	 		�z�z329JV�%						��B�Og#"'#"54767&5462;2=>54./&54>;2?6'&'54+"+"'&#"'#"&'32654'�zV<3+.&z�f-	-	Z.+3<@hc�9HB�^)3B^�	



�
6,qO

P23����#2++"&=#"&=46;546;2`

`
@
`

`
@
@
@
�

�
@
`

`
���W]ciou}���%2#'"/+"&57&'"/&4?&'"&=46367'&4?6267'46;2762'7&'67#677&'7&'6264&"67'367'?&'�

$
/;		;/
$

$
/;		;/
$�
+Y%+
l@	L1	C
+2:%+
l@	@1	�		;/
$

$
/;		;/
$

$
/;@	11	%
L%+
�@	1w�1	%
H%+
���-T7"&=46;2#546;2+"&2?#!"&=%5!'54767546;>3232�		�		�	�		�	F4��`�`��`NN�				P				r��՗�
F��F

,		,�!2#!"&546;54&+";26��`�@`	�		�	@� @�				�52#!"&546;54&+54&+"#";;26=326��`�@X
@
	@		@	
@
@� @�	@		@		@		@	������Z/&='&63!22"&4>54&/&546;2?6'&'54+""+"'&;25�?R;#P��y�^^�^�-		-	gCQ9	<��''�^�^^��

	

���eoy%2+5#5#5#33#54&+"#53535####"&=46;546;546;54623546235462354623232'354&+"54&+"�		P     P	@	P     P						@		@		@				�0		8	 	`	�	��``��P		P��``��	�	p	P	p								p	P	p�00		�@		@���1?G%"/&5476;5462;2=462;2=4623226?."62"&4�	f8�8f	@ 

 

 @��00200=�
	n<<n	
��

��

�Ѐ $ <�����2D%/#"/#"&57"#"&?'&6?'&676276'7'7''77'�
bK	
lDDl
Kb
n*^""^*/$/5--5/$4!!�5S
qYYq
S5h
<k

k<
h}(2332(6**6��0��%#"#.'3'&'45473'676327#"'&54?'&4?'&543243127632#"/>7654'&547654'&54763231!�QM(;/)V
:)9+****%5):
	V)/;`HXWE;	
)f<G+%7-D	A!		! ��!		!A5%
7%+G=f);�����%#!"&5463!2!"3!0#"/267#"'&54?<14'#"54?&''312545'764/7454#"#'4"'"#"32?.547&547#"/�
��)77)FC��
�%	=N=	%

		
F	4
	7)@)7�� &11&  #	
po	! ��A�-<JX%&54?626"/.=54&?6754&3766=4/&'6=4/&*����� ,�

��PP�``�PP�``l1PP1OmR�66�"-$���nv~/612#".5'"&5475#"&46307'/&'&6765'&?.5467'&?7>54'&54764'6'76/�82
5P/
))
	

/P8
/<		&!M,;;,L"&	U

�~s?'$=
*!
	

		!*
AE� 	

(/(F6$	33	55	33	$6F(/(	t &&""&&���'7#!"&=4?62335335332!546;2#!"&=463�
	� 	
��@`@`@	�@	�		� 		d%		%Z������	00	`	 		 	��@�'9=L:767#!"&=72"#".'.'5463%2+5.+54635#%#5463!2#"�*+ @
�
@ �
,)"	),


�$`
 @��`
@
�& 0�

�0�
!	"
`
�
�! 
�@@` �

`&����	'2=HS^it�2#546;2#546;2#546;2#54636"&546?"&546?"&546?"&546?"&546?"&546?"&546?546;2+32#!"&=46;5#"&=46;2;546;2326�	@	�	@	�	@	�	@	} s s s s s s 	 	8(��		�`		��(8	 	
�	 	�
@	��		��		��		��	 
 .

 .

 .

 .

 .

 .

 .
Ӑ		�(8@	 		 	@8(�		�
�		�����	CP3+"&%!&5476?2+54&"#54&/#54&"#"&=463#5467�
@
C��XE++EX

 @@ 

��  @��
�C8+5

5+8C<
�
@

@H$
&H@

@
�
@!  0
�����h�'&4?6"2#".5'546326=4&"+#".5463264&+&/&6;264&#"/&47632?6#".'&66iR;;%'
#/
)K5*A$!1 &&!			 

(8%	/
q%
&'5��;)d$4
&+	d
!5K01&4& (&
$'$
�	
$	

���������$&#".'&'32#".'"'#"&463267&'#"'&&'&4>7>6767&'#".'&#"&463232>7'.5462627&5462327>32#"#"'7>"264$"264g
!	 

(

(

 	!



*#%6%:%6%#*


�			��			h	

#8-%%-8#
	

!4"%%%%%%%%"4!

'							����2"&44&'657677�Α�Α�WA��Y&s3&�+E(���Α��gCg�g)�rG"ir	"?3N,/)g����,%+54?#"&5%#54&"#54?54?6m	p�mp	�`%6%`0	LL	Qd	�L/�	�	�`%%`�	s	KK	s����/?2#!"&546354&+";26754&+";26754&+";26���p	 		 	`	 		 	`	 		 	���`���		�		�		�		@		@		����/?%#!"&5463!2326=4&+"326=4&+"326=4&+"���`���		�		�		�		@		@		`p	 		 	`	 		 	`	 		 	����("&462'+"&46;'.?67676&6%%6%_#n�\- 1&(':!
X!@%6%%6�An1"#G!\!./
!H
������(Q2#"&=4?54?03>26=4#"/.=46226=4/&67621/&�Zu
M		z�&/		M
u
�'?
/`Q��M		P
�`/
?'�

P		M�
�Q����1NV%#!"&5463!2"3237232/76&#/&"'"327654#0"#"&463:1324#&5!"3�

��)77)F�;/DD/'88'u��
Z	4
	7)@)7xCC`C8N8��@���$_%"/&=#"&462322654.#"7+"=&'&?6;2654/.54>354;2'&+"�d8HVzz�z,
��xT'B'<T�	-	d
,z�zzVH8	T<'C&TxE



���$0;%"/&=#"&462322654.#"62"'&54264&"�d8HVzz�z,
��xT'B'<Tq>+CCJ
d
,z�zzVH8	T<'C&Tx�+$OO$5
�����%47#"&'&6?535#546;272#546353#"&'&67�( .
W��
��
�
 �3s -
�^)!HA���  

  
���@&W!H��G�;%//&?'&?67672+#"/#"&=46;2>3;........

�b X,

Q
:U�........�
0
���
0
jC
���92#"&4632#0&#"3267#"/#"&?'&6?62T	+.j��j.,
W||W�7
DD
7L""	�Ԗ
|�|�6L$$L6EE������ &),/25%+"/#"&?'&6;76232#'#3373'7#73'�5k8*8k55k8*8kB( 5p55p8.�((�.�(�Y$^^$YY$^^$!7XXX&8!!�!&8!����	'E762#547!#762'#54&#4?6'76&+'&"#";2?326F&�r�&�`-`�H''''�+���

�+�f
��`'&]z
f�((((����EQTW]%'37'$2"&54737!;32?327654/7654&+'&#1"#"$2"&54#''73@$Q��((�|�����	<<	<<s((�$,B!!B!!R��
�@

�
�����`11
1

111
1

1�
�@

�
o8888���59=27+32++"&=!+"&=#"&=46;5#"&=3355#xH@
 0		0	 	�	 	0		0 
@H`�`� `
@	 	�		��		�	 	@
` `@@@@@������@DH%+"&=#+"&=#+"&='&'&?5'&4?5'&6?%35!5!y7	 	�	 	�	 	7Y7		w��w		7����@��/
0		00		00		0
1@2@VV@2@�@@�@���-6/#"&=46;//&?'&?676�Yf

fP-..--..y��Y
�
`.--..--����%2"&4264&"&264&#"3"&462"&4�Α�Α�P88(PppP(8S��Α���m8P8p�p8P�����@�4DL";#";#";!!&'.7>/762#!"&=463264&"����ri����p'
FF'--[%
��
%��@@@`@��
M�N	
?JJp% 

 %`����0LT\"&462#!"&5463!2";26=654??6/76/&'&5!"3"&462			�

��)77)F�B/ 	@	 �GGbbFFbb���
w			8			�	4
	7)@)7& 
		
 �++**�@8			���� #!2#!"&=46;'&?676%3p		��		�5	

))


	5��t�	 		 	JJ
		
88
		
J�������-7?G327+"&=32+"&54&"&4632>?"&=264&"264&"#!*	 	� 
	�&
(833�@8P8@			Y			&�		�`
	&
8(V'`@�(88(�@P							������7#546;2#54'#5##5#+"&=!+"&="&?63!2p0K5@5K0(000(N	 	�	 	
j@��5KK5��.������p		pp		p ��B�<%+"&54674&5463263276&'654&#"&'&54632W*/!�(8$8(,
&�5T%8(
qO#)m_.!/8(1
(8&'A$(8
Pp
F)F[����DQ%#!"&54674&454632632%&?'&4?'&676276&'&"74632.?$8(��(84%B."6&�R	L	
SS
	X))X	

	!\B1#)
;
'z
1(88(&6.B$
&
	X))X	
SS
	Y
!B\.#1$D/
������ '0:EKO7'"&?&=46&63''&4?6#76276/&>2".=7#'3'kl�MA�rQ�	=m__}LP��uj�ddd�8�.�BY1b	����z�b��WBߜŰ�����#'&4?66&='46/&5����  � ���� R
ww
e��&]

�mt�

]& �� �4<%+"&=#+"&=.54623%+'54632324&"2*�	@	�	@	$
�& �5	@	p			�6�		pp		�
1
p &$.�				������AG7&?>#"&?#!"&547>7.='&4?'&6;2+"/#77		u*x�[ #H0�

GU�Z-3<<>�
K		@�uW+*)EB<#/@
_6m
2

c	
	%����(&#"+"'&7'&4632?54762�3HV(	#2"#(?2��3I	X!
)#"1$	(VO?2��� 0@P`p�����7+".767>%+"/&67622+"&=4632+"&=463/.7676"'&'&?6#''&'&?>2+"&=4632+"&=463'62+"5'67+"5+"5�
a%*%@�		`		`		`		�		S*
�
S
*S		$
*I		`		`		`		�

@��

.+�
hh
��	@		@	�	@		@		3$�

3+.
�3	Z�	@		@	�	@		@	�����������-Ohq;#!"&546;54+";2=4+"&=46;22654/&54;2=4+"+"374+"276=4+"&57#532�
�
��

�`		,`$$y�
8
��

�
�� 	 	`x7''7�
�����CO_o#"546;2!5'&=;27;2732?>72=4+"&546;2'&+546;2"&=46;2#3"&=46;2#0	 	�$�%   
#	p&  	 	��		 		@		 		 �		�X($@@%5N	(			%?p		�	�		�		�		�	����&.6/&/&"/&&546264&"264&"�Rt
+))+
l��qQ��	0..0	Pv�����G�'%/&?'/&='6276"&47%;Z$1Z/�/-	��1�4%��Z	1-//-$1�%4�����'/mx��������32#54#32#54;2#54;2#54#54;2!32#54!2+32#!"&=46;5#"&=46;2;546;2326=4636"&546?"&546?%".546?"&546?"&546?2"&546?"&546?"&546?"&546?� 8 � H ` �H 	8(��		�`		��(8	 	
�	 	�
	���(
C�2(
 xxxxxxxxxxxx	p(8@	 		 	@8(p		p
�		�
p	 

'

' 

'0

'

'

'

'

'

'���#+!2#!"&=4637#76?#?/7?/�		� 		��o$�8V�@@  @�    	 		 	@ �&k�


�   @@ �   ������JR7#"'.7/.?>2+"&=#"/1"&='&54?>3235463&"&462Q#4@:!�			0
/W	 /#	\((�5e
�b"+	��		�	P/S

SV

k/	@((����>F2#+"&=#+"&="'+"&=4632546;2632>264&"E
	 	�	@	3z3	@	pPI7

#�			`\
 		 �		GG		�B^)1

	P			��A�IQ&/0+"&='+"/&54?&5457+"&=4636;46;2264&"@! 	@	�	B		4$+�K5x	G			sM
	&f-!�		�@idD)
8		8$4!5K	 			����G�43+'7'#"&=265%/&/&7%62546;2 �	�(h�<h%�	���
e	@	M��	7@�w@I	�H�

��

Z4		�����Z%#32+;2?6+".'&7#"&=46;7#"&=46;7654&+"&/&6?6;232pd"�		�	T	%O#	*		d"�		�	T	%O2*		� 	 				
.0	 	 	 				
.0	 	����!+2#"/&"#"&7676276'&"276'&"A�J2??&'&@OarJO^!		!^!		1^!		!^!		�mIWH
8&&8�P`,�)))))))����#!"&'&5476273{	��	 
"
f&@U			�L�&@����KOSW%+32+"&=46;5!32+"&=46;5#"&=463!5#"&=46;2+!2%35#5#!5#�	h8

�

8��8

�

8h		H

�

H	����@`�`�	(
�

�
((
�

�
(		(
�

�
(	x@��@@@@������>FN2+32+'32+";2+"&'&76=46;76;2"264267#7`
8(\7
	PK�@
	�		p

l0(pP8�
9			Mwf�
 (82n
	�P
			%*&.PpX
			W;7�2"&=4$"6265427&"�ړ�ԖP�pI�I��9�9:��R>b;SS;b>/!

**

!Z����B"&462+"&46;%2+"/#"'.?'.?'&.6?6$((�

 M

C

6
 >U
%
(
'%,G*`((��)N$	f
W2
.W
(5����
&2#"&=4&54'!2!!2#!265(P	-P(8�� P	B.��(8�P	@�&'p8(� 	.B8(������#7?G/&/&6?'.?>76'.5462+"&76"264&"264�
��
��
��
�� &TxT& ~
��
ZZ
EE
ZZ
E�:"5KK5":

�������&?6S��	
M	
=�

	�9

����G�o�'&54?>#/#+"&='"&547+"&=4?#/&?6;'&/&?637>23?632/&6?6#'&'��	

	0/=		J7R7J		=/0	

	4
NE
5	

	2=$
$
$=2	

	5
EN
s6NH(�		
Ha	N		Iw
(==(wI		N	aH
		O	P		
L44L
		P	�HN6	����@�$,4<DL!#!"&7>=46264&"264&"264&"264&"62"&4264&"�	��
	8			I			I			I			�P88P8S�:J)�1
	
�Pp�															�p�pp��%6%%6����ksx$2"&4264&"2&#"#+"/+"&=&'"/&4?&'#"&=46;67'&4?6546;2354762264&"73'#�H44H4Nh
	3;$Q
	
	,	
	

	� 
8f	
�oB//B/fn)kp4H44H<
3
	30	
	

	
	,	

��(.$

(�/B//B�``����
 (<#>32#7"&547367#'547"&%2+'72+654&+'327ZR@(\gB6jK���b�P0
*q7OP/!F*#L#�D$,P2�K5

5w�0*=)�D(`�O7*!/`��$,2+"./&"+"&5463264&"264&"`

�

:
 �

e6%%6%e6%%6%�
��
	==
@
�%6%%6%%6%%6��
� A[72#"&'&6;232>'.+"&=4635"&=463!2676&#"+".7>#2&'&6;23264&+&'�%9:+#5
 
�				N !26(	:-06D
/+H
"
t�/$,A,"

		 	 	 	
	'(.G T7.
+'
(&���'"/&4?>7&?67'�M�5Z�N#L��zZzwL#N�Z5�M�^zZz���-W62"&4$2"&4'#"'"'#"'&7&47&66266+&'&#&""#"&5467&54632632:12((�((G2$2#�8(+	<	+(8%B. 5%!/(`((((2

2#$�P8
	
8(2

.B!/!	��B�8ER_l%#!"&5467<146326326#"&"'.'&'>32#"'&?>#"'&?>#"'&?>#"'&?>^%/!�!/%8(1,�+E+T:

%2�$	%
[$	%
[$	%
[$	%
�,!//!,(8(%5#+:P
5.�@@@@@@@@���+;J2#!"&5467&54632632:62"&546762#"&546762"&54>�(88(��(8%B. 5%!/��"("�"

"�"(@8P88(2

.B!/!	�232
32
 �����
)7Ec6#"'.?>#"'.?6&#"'.?6$#"'.?6&#"'.?672#!"&5467&54632632:�@	@m@	@�@	@�@	@S@	@;(88(��(8%B. 5%!/Q
p
p
p
p
p
p
p
p
p
p�8P88(2

.B!/!	����@�EP]jw�%#!"&5467<146326321&?'&4?'&6762760"1"&7&54632#"'&?>#"'&?>#"'&?>#"'&?>�%/!�!/$8(1"��;GGK##K	% Ib&D$	%
[$	%
[$	%
[$	%
�,!//!,(8(5K##KGGP&
�@@@@@@@@������1Jc|�%'.'!'+"/&?67&'.7676326&#/&""?65'76&#/&""?65'76&#/&""?65'5!+"&=#+"&}	

	��6&

	K	+*
Q�&C��
�
�
��`	@	�	@	�
		
	Nl#	c#
	+**Q$ 





퐐		PP		���
1U]emy2+"&54327.5>7327&'.5>7&'327&'.5>676.264&"6264&"264&"7264&"	 	,>&3=1S?AW3+O-%>&3=+O-%&.T,+O-.	5!6H+O-%&.T,1N.1(A( 4$)�							I						�
�0		�
��$
E	V>		
=	t!E		
�

	(			/	


9	


/	

���%-7?"&4726767632676324&"2'"&462"&462� LB9�r9D�[a	�KjKKj5 			�a[�D9r�9BL 
��jKKjK�

I			��@�	5=RYf53+"&2+"/#".='0&5#".=46;2&"&462753"&5#"&'#"&?'46;#%2+"&5�@	 	 

:)
	
		&-Y((��

�
 @`
	 	0��		Q=
8
		8+e
		�`&-`((D �`


��
��
�0		�����M%2#"&?#".576;27+76'&+76&+"#"&5467&546;2654'632324X;
D|+/!


D0!/+
&!/	(8&p�	ax
	Ao.!/"x/!.&/!8(&��@�<Z6+"&=4&'&+"&=466+"&=4&'&+"&=466+"&=4&"+"&=46S�S	 	oSf�	 	�lW�	 	B19T	 	_N5 	 		 	+�K�Q�		�V�
�e�		�t�ZtV�		�3NM8�		�JrW0�		�

�		�#9����	";T�!546;26&/&"?6/76&/&"?6/76&/&"?6/2'.=#+"&=#+"&=!26=463 ��^B�B^��

�

�

�	)) 	`	�	`	 			@@B^^,





�	@'1 +p		PP		�p		@	����/G%2#!"&=4632+"&=463!2#!"&=463'"&4632632632+"'p		��		@		�		 		��		P<TT<=++=(D.BB.<%^%P				`								�TxT--*"B\B  ���/A2"&4264&""&54754622654'54&"7"&54675462xP88P8S� TxT B\B�B/ ( `(		�8P88PH�(2<TT<1)�.BB��/!(��(!N�		���/A2"&4264&""&54754622654'54&"7"&54675462xP88P8S� TxT B\B�B/ ( `(		�8P88PH�(2<TT<1)�.BB��/!(��(!N		����+;%2#!"&=46;#"3!2=4+5!4>3!2?6/&'&`

��

@

�

 ��	@
��J�_)�
`

`
@@@@	
�K^)��@�,X�%#&'"'"'"&=46767>7>7627#&'"'"'"&=46767>7>7627#&'"'"'"&=46767>7>7622+$)l+)l+)
!
X

Y
!+$)l+)l+#,
!
X

Y
!+$)l+)l+#,
!
X

Y
@	 
	 				�	 	 				�	 	 				������%="&462#"/&4?7#"'.?'6#5&/.>2?6�B//B/�


0	.=u.	0


�)�) )'b') /B//B��'
!
@9339@
!
' � 

 		���2:B!46762+"&547"'"&54>7&5!5463264&" 4&"2�o�0+!h		0<"/B/!F!/B/<�&��`��6`"
\	 	@K8+!//!
		
!//!!8K@&������B�
 go"&'62&.'632767632&7'&'&'&''&4767>.&76767&547632>54'&6264&" 	'V'	�%,5�4,$k6+`2+=66>+2`+6
)F2!7 )
�((P

��P/C**C/P� =	Xb	  bX= ?13H!8"0@�((��� 4I7&=46;22654.'&=467+"&5.'.=46+"&5.'".=46�:D
	<)Ej
0
(	0z�	 	�a	
Sv	 	S9
�d=)<	WD�

�
2��z
	a�	 	`vS
:R 
����	7!#!"&7;26=4&+"%2!546;546;23546;2���@	`		`	P�@0	 	�	 	���`		`		�000		00		0����	7!#!"&73!26=4&#!"%2!546;546;23546;2���@	 		��	P�@0	 	�	 	���@		@		�000		00		0�����")-15;C#"/&67%>'&#"#"/&6?63267'7'?'?'77&'67'�)6��
 a				!%,.O��=�<�<Q	-
$=d9w!�6�718>=��'''�.
	�	�����*'&&'&7276/>76/&67*."'f91��3
7S�DX!"&#b.&291B		
28 &"!XD
�����+;K[_o���%#!"&=4?>;5#"&=463!2+32;26=4&+"";26=4&#'#";26=4&'35#26=4&+"3;26=4&+"54+";2754&+";26754&+";26�	�@
U`				`��				 				0				���(				 				���				0				E[	
[�@	`		`	@				G				P				� �				@				�x				W				���+@V72/"/&4?'&637"&=46762#/&=46;26+"&?'&4?62�
c
c!�
c
c!cc
p��
p!c
c�
p!c
c@
p!c
c�c
c!p
p
c
c����B�C#'32%#73#5"&?6;2++"&=!+"&='#"&=46;'!0ac	��~�~��	c�			 	��	 			 �`������`�@	 	�				�	 	  ������	%?N^#53##7/32210'&/&"&?6;#+"&='#"&=46;'%"&54676>'&'&'32�=d�~!c
�'	c�51�	 			%4^�^D4('?3&X���H
>``� K7H6		�	 	 !`A]]A&m/$(�?/S!('1�32+5##5##5##5##"&=46;546;546;232�		P @ @ @ P		0	0	�	0		�	��������	�	0	0		0	0����7>Eeoy7#"&546;'&?6'&6?67>763253#"&53#2#5+#546;&54632632#3&#"7654&#"36�
	�


			  
		)��
�

��
( 7!!7 (�5	�	5��
`
	


	66

��`��`
 
`��`
,KK,
0		0������9=A%'&6?'#"&/#"'/&7>7.?>76767'7'�
'(??('
�'%WrrW%'��_$�p$_C	h.'KK'.h	C	fW(�
00
�(Wf	G'@..@'�����2#!".'&63!!�8��8���9���e@�����cs�2"&44&#"+;2=732;2?6;2;2=4?6=46;2+";2;6$;2?6=4&">7#"/&+'&+";2�Α�Α�uS(	

	% 

		 ��
	}5W
	
+ +	��Α��gSu	

	
		
			!�
	��8-
%

` %2#!"&=463%2#!"&=463�		� 		�		� 		�	 		 	�	 		 	 ����+"&546;2+"&546;2`	 		 	�	 		 	0		�		� 		�		�����+3.767>7676?6?62264&"�		/$L
#
#kS#&"7L/		��((�		/L7"&"Sk##
L%/		��((�����"/&6?>'7'6�$!��!$"b&`�0`"&a"v%i(��(i%#W@��@h#������@j"&4622462"&"&462&54'&>367>'&'&636762'&'.7676&'"'6'&5<546�((@(((((@	72		94�	27	
	49	((((`((�=3


:2
	�
1:
+3	

���/7%+"/#"&'.+"&=4>?6264&"�.	
3
./	7")�
%B0�
0%zt(	
@
 &R
Q?bU;K
6!8�����"'"/"/"'&63!2�WB.".,$W���,l����}��@�'08!>32#47%#534'3+#."#553#"&62#54@��'~J�`Bp?��B��
� 2:F:2���
�P8��~;E��C=�_��=C@`
 �##��``�8(``(������%2#!"&=463$!'&>76p		��		e(H��0@te
 	@		@	�"5W�:e@:����(:B&'&'&6;2+"7&'&'4>;2+"2++"&=463264&+#

n#
�.BB.8(�(8
p.#1,#1, B\B(88(�
�(`������"/%4'7>#"'.?2&"&462%"&5>76H&Q,6	�Q7|7Q-((��	6,Q&�,� `8
D�

� ((
8` �,����&.6>%4'7>#27"'.7'"&7676"&462"264"&4628*4�$*"H"C
4*�Α�Α��ll�l��#C*B6

C

y
B*C#��Α��l�ll�l ����)9V"&462"&462++"&=#"&?6727%2+"&5463++"&=#"&=4672�4&&4&Z4&&4&?7
0
7.8��		 		|

P

8@&4&&4&&4&&4��h

h��	� 		�	��
�

�
������;?C%"//"&46327'&676327'&4?6;2762%7''�a		P
k
l*0)&
Q		a	

	P0

/

0Q	��IEI2EID�a		Q
&)0*l
k	Q		a		Q0

/

0P	hIEJ�EIE�����6Q.7>7&5462#"'%1+".5.'.=463210+".5.'"&=4632119�bu
C	 �a		z�Z	 S9		Sv b�9t


+	a�	 	�z	:R	 	v����
2#!"&575#35#35#@&&�&� 0�0�0�&��&&@��``````����
#*.546;#!"&575#354&+326=#35#;5'!5%35#"&��&�&�@�
  
�@�
 @�@ 
�&���&&�@@ 
@�@
 @@ 
@`@@@ @������(2O2"&42+"&46;264!6"/&627"&4?"&46;2"1"&='&6?|(()	`		`	��'DD
=\		0

�R=N�((�\				DD�	\	
�1S=Y

SN8�����$C"&462#"'%.>7'&776'&76776/&//'�((%�x			�.Kk(

1���#>R04	: s/`((���fEK5(#JFa 3		
9��@�.BN"&4622#!"&46;0&5&6?63232647'.?'&3737#"/d((�*� 

+6
(%,G*,
F
�U
%
'4>+�!
 =`((��
*
(5
�"Q2
.W
���

[�)N$	L����C%#!"&=463!2654/&?6%5"&46;2;26=32###5##5.e,��			



��

&"	/= &`

8(@�@*6a&'		


w�	,&@`(80004E�����6Wy2#"'#"&'&>7&542654/&54;2=4+"+"3754&+"'&+";2=2?;232654/&54;2=4+"+"3�Ԗ�j83AL9��	

	
0�z�z319JV�h		##		hD88D�����EQ"&462'76#"'%&'&>&'&6?54?'&/&>#"'&7�((TB4Z		��!&
J#*		?o
�<U�`((�?'f"�!			
5(:4S

--=

�����T\dlt�+"'.547&507'.?>54>;2167&5462704=46;276$264&"264&"6264&"6264&"7654&"6264&"��!	#%c
!&,�	8	
8P8
	8		
��			)																(7
"-.QC(?,
7	.!(88(".		*			��			7			7			O			2			����[`l62"&462"&462"&462"&4"/&=##!"&54>7546;546;2354?623'264&#!"3n^^^$
%)+B.�.B� O@)%
$��@zD:�H#%
$*:.BB.(	[p�
3:*$
% f S`@���((����2++"=#"=43%2#!"=43t�8�h�� 8��8�88����%19#+"&?.5475#"&=463!2;2=4+"264&"p /(�(/ 		`		��006tRRtR��2TGGT2�				������/9A%"/.7'#'76'"'&7>76'&"&4?264&"�5
uk>`@�k04
R*I%JDK
	�|5%�u45u0k�@`>k6R=+	KDJ$JR {%5�������)-15="&462232#!"&=46;5"#"'&67%65#%35+3"&462-��

��

�����``�``c�
<\
�

�
S;���`````` ����"&54676>'&'&'32D4H���_I9*
$:\K8+�0�+_��_6�D5: ��Y'	Cu ((8E����A�,X7'&67670767>767632%"#"/67>7>7>767�

5#$	
$7E #3

	%.&%
L	
$7E %C(

	%.
	 !5#p
!#
J$'

	%
%&!�
J6'/

	%&!!	!����2:%#!"&5463!2;;2=32=4+54+"#"5!"3�

��)77)F��808808��
Z	4
	7)@)7�088088��@��@�2##!"&5".546 AoH(#��	��2;�

	>k���	5!#!"&5!%630
�@
,Y{���

��Z�����@�,H3#!"&=26554+54+"#";;2=327#"/&"#"/&547%62 �	�`	;808808���M��		�D088088����

���22#"1"'#"547>7&5454+54+"#";;2=32�Ԗ�j73AL9`808808�z�z31:IVn088088�����%."/&4?627"/&4?6?7'76�
�7-nxf
fn-7
D
P	�
�7-nf
fxn-7{
D
	P����"*2:%/&&?6/&6?6264&"264&"6264&"�%">H7 F&3
&)'H!.L	���)			�C>")	4949/!=Ssm			����2"&546�b]2p�p2�u�7PppP7����'/7?%2#!"&4632#!"&=4637"&7>2#&"264&"264"264��`�	&��&	~�~>			�			�			�((�	&&	�42BB24p			)						 ����>%+"/&=4?2=4>3762=463212=46�B.�.!


'$
�S.B!J
L� �� 2	
�#%!5467546;272#!"&=463�@B5)	`	)5B		� 		�@@;aRp		pRa�	 		 	����>JVr~�$"&46220+"&50546322760!"&546;546;23254+";2=4+";27532=4+54+"#";;254+";2=4+";2P88P80.B�B.*�*��	
 
�
 
�((((0P((((�8P88PXB..B
*<	p
@

@
�4((�((��((�((�����
7AK#"&547664&"2767>7>7>7>76'.?6&/�/��"!/`(	
 ' ' 	
 ' ' �|�3��3�/B��/!"`w
' ' 
' ' �3��3� ����2#!"&46;&5462'!"p��TxT�cc	( ((	;UU;	��������%)A7"=4;54;232++"=%!463!2!2#!"&=46;;267�80880 ��@���	&�&	�
=�088088���P���`	&&	�#32#!"&54635#"3754&+326754&#!"3!26�&&��&&`P		�	PP	�
��

@
�&�&&&��0			0	�@

@
���0%3#"&4632>77'#5'6326'&54?632Kk%Kj�L!!1$5�26YK$(
�'"G@)!.!#+2-,&.D9N"+
$7���&.6.'7>#"&5476264&"6264&"264&"�Z�b9R�]
3X�K��
rC{�	_�Y]�P9qJ�Vi
L�{����	7!+"&7;;26=326/&"72#!"&=46;76;25��E9	 	9Z�		�`		x	r	S���p		p^�	 		 	

����	7!#!"&7;;26=326/&"72#!"&=46;76;2 ���[9	 	9Z�		�`		x	r	P���p		p^�	 		 	

����:B%#!"&54676"&=4?62';;2=32=4+54+"#"26=?6K"��"K6_5jKU

U�(/B/�N6""6N_oK5n  n5�]!//!����-#"&5#+"&=46;546;23546;2+ܘ`�		p�`�		p \�	 	����	 	�����'/7?G"&462'"&='&54?63232+"2"&4264&"$2"&4264&"�((4);*Rp		G5

@6jKKjKf4&&4&��jKKjKf4&&4&`((�!2
�

o6
	`9 KjKKju&4&&4�KjKKju&4&&4����2#!"&5463#3'#335#35#�

��

`������������
��

�
@�����������/?O_o��������/?O72+"&=46;2+"&=46;2+"&=463!2+"&=4632+"&=46;2+"&=46;2+"&=46372+"&=46372+"&=4632+"&=46372+"&=4632+"&=4632+"&=46;2+"&=46;2+"&=4632+"&=4632+"&=46372+"&=46372+"&=46372+"&=46;2+"&=463�		 		�		 		�		 		�		 		�		 		�		 		�		 		 		 		 		 		�		 		 		 		@		 		�		 		�		 		�		 		��		 		 		 		 		 		 		 		 		 		�		 		�	 		 		 		 		 		 		 		 	�	 		 		 		 		 		 	`	 		 	�	 		 	�	 		 	�	 		 	��	 		 	�	 		 		 		 		 		 	�	 		 	�	 		 	`	 		 	�	 		 	`	 		 		 		 	����/?O_o�72+"&=463#2+"&=46;2+"&=46372+"&=4632+"&=4632+"&=4632+"&=46372#!+"&5463�		 		@		 		�		 		�		 		 		 		 		 		 		 		 		��	 	
 	 		 		 		 		 		 	�	 		 	`	 		 	`	 		 	 	 		 	`	 	��		�
�����$,2/&?#"&'&6&546766264&"a=Z{
%A'#*=Z{
Q<#D@Q<#*(E-{
Q<#*=Z{
������+3Ig7'&6767>"2+"&=46;76;2264&"%2"&?#"&?6;26"&46325"&46325467ua5

5a�
�0H[,,�\
>L'&5%%p&5%%�c>>c`
���,,V�Sk	3`�(0l(k���%#"54?6327632����h0	<8y1Vh�p1y8<	����.2#!"&5463454/&#"&'7654/&#"#327���P	FK#&
A�x���`��
&#KF	x�����(4@PX_2+##546354+";254+";2=4+";2=4+";22#!"&5463"2645''`

���
H				`												�

��

M`� @�
��
@@`
g			�			q			q			0
��

 
@�``� @ ����;?%2+"&=46;7#"'&54?6325463!2+"&=#'7#P		�		 C	5��s	�		 	v1C v 	 		 	P4*�Y,		`		 �4`������5OR72"/&6;46;27"&=4?#"&=46;232#+"/#+"&54?6;23'�PP0	 	�	=8		�	=8			G	;*4 ```0		�Ѐ	
F	 		
F	 	�	

	�e0������5OR"&?62++"&5"&=4?#"&=46;232#+"/#+"&54?6;23'PP0	 	�	=8		�	=8			G	;*4  ``��		0@	
F	 		
F	 	�	

	�e0�����/?U"&=46;2#"&=46;2#2#!"&=4635"&=46;2#!2"/&6;46;2�		@		@		�		�		�				�		�PP0	 	`	 		 	�	 		 	�	 		 	@	 		 	``0		�������/?U"&=46;2#"&=46;2#2#!"&=4635"&=46;2#%"&?62++"&5�		@		@		�		�		�				�		�`PP0	 	`	 		 	�	 		 	�	 		 	@	 		 	�``��		0������5JR72"/&6;46;22+"&=46;5#"&54?6;26&/&767.7>264&"�PP0	 			`			
0	6(>*,


	$+
"```0		��@	 		 	@	 		p}1'3>=&\������5JR++"&5#"&?622+"&=46;5#"&54?6;26&/&767.7>264&"kP0	 	0P)		`			
0	6(>*,


	$+
"�`��		0`��	 		 	@	 		p}1'3>=&\��A�&@CX%"&=46;2#'3264&#3264&#'+"/#+"&54?6;23'"/&4?62762		K 2	2!3(

(8

�D	X	D;.��p-
7�
�	�	*# +�0`0��	$$	��E�
�p
-8��� �@#2#!"&4623&54264&"264&"�xTT<��<TTxTp��/B//B`B//B/@TxTTwUU;,$$,<B//B/�/B//B����
5%"'63227632".'&5463232>7632�G�G';(;�4Bt�tB4	!47K'6d?7���	D5++5D	

������-%3!"'&7>32#"./&#"7>?632b!-9<&��Z:5)=1$+b6@�#�U!FV ,$	T+A)����	=!+"&#546;2#5�^B@B^��^B@B^�`��B^^�� B^^B �����2"&4264&"2"&4264&"�V==V=^OΑ�Α�jKKjK(=V==VC�Α���KjKKj����"*:D$2"&42#!"&5#"&5463!2264&"754&+";2654&+"�			�		��8P8 &&`B^�l((p
�

�
�
@
�			g	 	(88(&&^B�p((�@

@
s�

�V6�� �H&�
,v�3m��	4	2Q	
�	@�	2	Lb	,�	
X	.�	&�	
'	29	&�	
�Copyright (c) Font AwesomeCopyright (c) Font AwesomeFont Awesome 5 Free SolidFont Awesome 5 Free SolidSolidSolidFont Awesome 5 Free Solid-5.14.0Font Awesome 5 Free Solid-5.14.0Font Awesome 5 Free SolidFont Awesome 5 Free Solid331.264 (Font Awesome version: 5.14.0)331.264 (Font Awesome version: 5.14.0)FontAwesome5Free-SolidFontAwesome5Free-SolidThe web's most popular icon set and toolkit.The web's most popular icon set and toolkit.https://fontawesome.comhttps://fontawesome.comFont Awesome 5 FreeFont Awesome 5 FreeSolidSolidFont Awesome 5 Free SolidFont Awesome 5 Free SolidFont Awesome 5 FreeFont Awesome 5 FreeSolidSolid���	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu�
vwxyz{|}~�������������������������������������������������������������������������������������������������������������������"�������������	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI�JKLMNOPQRSTUV�#WXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~����������������������������������������������������������������������������������������������������������������������������������	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde�fghijklmno�pqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab�cdefghijklmnopqrstuvwxyz{|}~�������������������������������������������������������������������������������������������faucettrailerbacteria	bacterium
box-tissuehand-holding-medical
hand-sparkles
hands-washhandshake-alt-slashhandshake-slashhead-side-coughhead-side-cough-slashhead-side-maskhead-side-virus
house-userlaptop-houselungs-virus
people-arrowsplane-slashpump-medical	pump-soapshield-virussinksoapstopwatch-20store-alt-slashstore-slashtoilet-paper-slashusers-slashvirusvirus-slashviruses
glass-martinimusicsearchheartstaruserfilmth-largethth-listchecktimessearch-plussearch-minus	power-offsignalcoghomeclockroaddownloadinboxredosynclist-altlockflag
headphones
volume-offvolume-down	volume-upqrcodebarcodetagtagsbookbookmarkprintcamerafontbolditalictext-height
text-width
align-leftalign-centeralign-right
align-justifylistoutdentindentvideoimage
map-markeradjusttintedit
step-backward
fast-backwardbackwardplaypausestopforwardfast-forwardstep-forwardejectchevron-left
chevron-rightplus-circleminus-circletimes-circlecheck-circlequestion-circleinfo-circle
crosshairsban
arrow-leftarrow-rightarrow-up
arrow-downshareexpandcompressexclamation-circlegiftleaffireeye	eye-slashexclamation-triangleplanecalendar-altrandomcommentmagnet
chevron-upchevron-downretweet
shopping-cartfolderfolder-open	chart-barcamera-retrokeycogscomments	star-half	thumbtacktrophyuploadlemonphonephone-squareunlockcredit-cardrsshddbullhorncertificatehand-point-righthand-point-left
hand-point-uphand-point-downarrow-circle-leftarrow-circle-rightarrow-circle-uparrow-circle-downglobewrenchtasksfilter	briefcase
arrows-altuserslinkcloudflaskcutcopy	paperclipsavesquarebarslist-ullist-ol
strikethrough	underlinetablemagictruck
money-bill
caret-downcaret-up
caret-leftcaret-rightcolumnssort	sort-downsort-upenvelopeundogavelboltsitemapumbrellapaste	lightbulbuser-mdstethoscopesuitcasebellcoffeehospital	ambulancemedkitfighter-jetbeerh-squareplus-squareangle-double-leftangle-double-rightangle-double-upangle-double-down
angle-leftangle-rightangle-up
angle-downdesktoplaptoptabletmobile
quote-leftquote-rightspinnercirclesmilefrownmehgamepadkeyboardflag-checkeredterminalcode	reply-alllocation-arrowcropcode-branchunlinkinfoexclamationsuperscript	subscripteraserpuzzle-piece
microphonemicrophone-slashcalendarfire-extinguisherrocketchevron-circle-leftchevron-circle-rightchevron-circle-upchevron-circle-downanchor
unlock-altbullseye
ellipsis-h
ellipsis-v
rss-squareplay-circleminus-squarecheck-square
pen-squareshare-squarecompasscaret-square-downcaret-square-upcaret-square-right	euro-sign
pound-signdollar-sign
rupee-signyen-sign
ruble-signwon-signfilefile-altsort-alpha-down
sort-alpha-upsort-amount-downsort-amount-upsort-numeric-downsort-numeric-up	thumbs-upthumbs-downfemalemalesunmoonarchivebugcaret-square-left
dot-circle
wheelchair	lira-sign
space-shuttleenvelope-square
universitygraduation-caplanguagefaxbuildingchildpawcubecubesrecyclecartaxitreedatabasefile-pdf	file-word
file-excelfile-powerpoint
file-imagefile-archive
file-audio
file-video	file-code	life-ringcircle-notchpaper-planehistoryheading	sliders-h	share-altshare-alt-squarebombfutboltty
binocularsplug	newspaperwifi
calculator
bell-slashtrasheye-dropperpaint-brush
birthday-cake
chart-area	chart-pie
chart-line
toggle-off	toggle-onbicyclebusclosed-captioningshekel-sign	cart-pluscart-arrow-downshipuser-secret
motorcyclestreet-view	heartbeatvenusmarsmercurytransgendertransgender-altvenus-doublemars-double
venus-marsmars-stroke
mars-stroke-v
mars-stroke-hneuter
genderlessserver	user-plus
user-timesbedtrainsubwaybattery-fullbattery-three-quartersbattery-halfbattery-quarter
battery-empty
mouse-pointeri-cursorobject-groupobject-ungroupsticky-noteclone
balance-scalehourglass-starthourglass-half
hourglass-end	hourglass	hand-rock
hand-paper
hand-scissorshand-lizard
hand-spockhand-pointer
hand-peacetv
calendar-pluscalendar-minuscalendar-timescalendar-checkindustrymap-pin	map-signsmapcomment-altpause-circlestop-circleshopping-bagshopping-baskethashtaguniversal-accessblindaudio-descriptionphone-volumebrailleassistive-listening-systems#american-sign-language-interpretingdeaf
sign-language
low-vision	handshake
envelope-openaddress-bookaddress-carduser-circleid-badgeid-cardthermometer-fullthermometer-three-quartersthermometer-halfthermometer-quarterthermometer-emptyshowerbathpodcastwindow-maximizewindow-minimizewindow-restore	microchip	snowflake
utensil-spoonutensilsundo-alt	trash-altsync-alt	stopwatchsign-out-altsign-in-altredo-altpooimages
pencil-altpenpen-altlong-arrow-alt-downlong-arrow-alt-leftlong-arrow-alt-rightlong-arrow-alt-upexpand-arrows-alt	clipboardarrows-alt-harrows-alt-varrow-alt-circle-downarrow-alt-circle-leftarrow-alt-circle-rightarrow-alt-circle-upexternal-link-altexternal-link-square-altexchange-altcloud-download-altcloud-upload-altgemlevel-down-altlevel-up-alt	lock-openmap-marker-altmicrophone-alt
mobile-altmoney-bill-altphone-slashportraitreply
shield-alt
tablet-alttachometer-alt
ticket-altuser-altwindow-closecompress-alt
expand-alt
baseball-ballbasketball-ballbowling-ballchesschess-bishopchess-board
chess-kingchess-knight
chess-pawnchess-queen
chess-rookdumbbell
football-ball	golf-ballhockey-puck	quidditchsquare-fulltable-tennisvolleyball-ball	allergiesband-aidboxboxesbriefcase-medicalburncapsulesclipboard-checkclipboard-list	diagnosesdnadolly
dolly-flatbedfile-medicalfile-medical-alt	first-aidhospital-althospital-symbolid-card-alt
notes-medicalpalletpillsprescription-bottleprescription-bottle-alt
procedures
shipping-fastsmokingsyringetabletsthermometervialvials	warehouseweightx-raybox-opencomment-dots
comment-slashcouchdonatedovehand-holdinghand-holding-hearthand-holding-usdhand-holding-waterhands
hands-helping
parachute-boxpeople-carry
piggy-bankribbonrouteseedlingsign
smile-winktape
truck-loadingtruck-movingvideo-slash
wine-glassuser-alt-slashuser-astronaut
user-check
user-clockuser-cog	user-edituser-friends
user-graduate	user-lock
user-minus
user-ninjauser-shield
user-slashuser-taguser-tie	users-cogbalance-scale-leftbalance-scale-rightblender	book-openbroadcast-towerbroom
chalkboardchalkboard-teacherchurchcoinscompact-disccrowcrowndice	dice-five	dice-fourdice-onedice-six
dice-threedice-twodoor-closed	door-openequalsfeatherfroggas-pumpglassesgreater-thangreater-than-equal
helicopter	kiwi-bird	less-thanless-than-equalmemorymicrophone-alt-slashmoney-bill-wavemoney-bill-wave-altmoney-checkmoney-check-alt	not-equalpaletteparking
percentageproject-diagramreceiptrobotrulerruler-combinedruler-horizontalruler-verticalschoolscrewdrivershoe-printsskullsmoking-banstore	store-altstreamstroopwafeltoolboxtshirtwalkingwalletangryarchwayatlasaward	backspacebezier-curvebongbrushbus-altcannabischeck-doublecocktailconcierge-bellcookiecookie-bitecrop-altdigital-tachographdizzydrafting-compassdrum
drum-steelpanfeather-alt
file-contract
file-downloadfile-exportfile-importfile-invoicefile-invoice-dollarfile-prescriptionfile-signaturefile-uploadfill	fill-dripfingerprintfishflushed
frown-openglass-martini-altglobe-africaglobe-americas
globe-asiagrimacegringrin-alt	grin-beamgrin-beam-sweatgrin-heartsgrin-squintgrin-squint-tears
grin-stars
grin-tearsgrin-tonguegrin-tongue-squintgrin-tongue-wink	grin-winkgrip-horizontal
grip-verticalheadphones-altheadsethighlighterhot-tubhoteljointkiss	kiss-beamkiss-wink-heartlaugh
laugh-beamlaugh-squint
laugh-winkluggage-cart
map-markedmap-marked-altmarkermedal	meh-blankmeh-rolling-eyesmonument
mortar-pestlepaint-rollerpassport	pen-fancypen-nibpencil-ruler
plane-arrivalplane-departureprescriptionsad-crysad-tearshuttle-van	signature
smile-beamsolar-panelspasplotch	spray-canstamp
star-half-altsuitcase-rollingsurprise
swatchbookswimmer
swimming-pool
tint-slashtiredtoothumbrella-beach
vector-squareweight-hangingwine-glass-alt
air-freshener	apple-altatombonebook-readerbraincar-altcar-battery	car-crashcar-sidecharging-station
directionsdraw-polygonlaptop-codelayer-grouplungs
microscopeoil-canpoopshapesstar-of-lifeteeth
teeth-open
theater-masks
traffic-light
truck-monstertruck-pickupadankhbible
business-timecitycomment-dollarcomments-dollarcrossdharmachakraenvelope-open-textfolder-minusfolder-plus
funnel-dollargopuramhamsabahaijedijournal-whillskaabakhandalandmark	mail-bulkmenorahmosqueompastafarianismpeaceplace-of-worshippollpoll-hpray
praying-handsquran
search-dollarsearch-locationsockssquare-root-altstar-and-crescent
star-of-david	synagoguetorah
torii-gateviharavolume-muteyin-yang
blender-phone	book-dead
campgroundcatchair
cloud-moon	cloud-sundice-d20dice-d6dogdragondrumstick-bitedungeonfile-csvfist-raisedghosthammerhanukiah
hat-wizardhikinghippohorsehouse-damagehryvniamaskmountain
network-wiredotterrunningscrollskull-crossbonesspidertoilet-papertractoruser-injuredvr-cardboardwindwine-bottlecloud-meatballcloud-moon-rain
cloud-raincloud-showers-heavycloud-sun-raindemocratflag-usameteorperson-booth	poo-stormrainbow
republicansmogtemperature-hightemperature-lowvote-yeawaterbaby
baby-carriage	biohazardblogcalendar-day
calendar-week
candy-canecarrot
cash-registercompress-arrows-altdumpster
dumpster-fireethernetgiftsglass-cheers
glass-whiskeyglobe-europe
grip-linesgrip-lines-verticalguitarheart-brokenholly-berry
horse-headiciclesigloomittenmug-hot	radiation
radiation-altrestroom	satellitesatellite-dishsd-cardsim-cardskatingskiing
skiing-nordicsleighsmssnowboardingsnowmansnowplowtengetoilettoolstramfire-altbaconbook-medicalbread-slicecheeseclinic-medicalcomment-medicalcrutchdiseaseegg	hamburgerhand-middle-fingerhard-hat
hospital-userhotdog	ice-creamlaptop-medicalpager
pepper-hotpizza-slice
trash-restoretrash-restore-alt
user-nursewave-squarebiking
border-allborder-noneborder-stylefanicons	phone-altphone-square-altphoto-video
remove-formatsort-alpha-down-altsort-alpha-up-altsort-amount-down-altsort-amount-up-altsort-numeric-down-altsort-numeric-up-altspell-check	voicemail
hat-cowboyhat-cowboy-sidemouserecord-vinylcaravan�������4�x�4�|assets/webfonts/fa-brands-400.svg000064400002622276150753125220012577 0ustar00<?xml version="1.0" standalone="no"?>
<!--
Font Awesome Free 5.14.0 by @fontawesome - https://fontawesome.com
License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
-->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<metadata>
Created by FontForge 20200314 at Wed Jul 15 11:59:41 2020
 By Robert Madole
Copyright (c) Font Awesome
</metadata>
<defs>
<font id="FontAwesome5Brands-Regular" horiz-adv-x="448" >
  <font-face 
    font-family="Font Awesome 5 Brands Regular"
    font-weight="400"
    font-stretch="normal"
    units-per-em="512"
    panose-1="2 0 5 3 0 0 0 0 0 0"
    ascent="448"
    descent="-64"
    bbox="-0.200195 -66.9505 641.5 448.3"
    underline-thickness="25"
    underline-position="-50"
    unicode-range="U+0020-F8E8"
  />
    <missing-glyph />
    <glyph glyph-name="firefox-browser" unicode="&#xe007;" horiz-adv-x="512" 
d="M130.63 324.51c0.160156 -0.00976562 0.0800781 -0.00976562 0 0zM482.05 279.16c15.2803 -36.7598 20.6709 -80.748 15.8213 -122.578c-0.370117 -3.15039 -0.700195 -6.29004 -1.11035 -9.41016c-19.6094 -115.04 -119.79 -202.62 -240.43 -202.62
c-134.71 0 -243.92 109.19 -243.92 243.891v1.23926c0.149414 2.70996 0.30957 5.41016 0.490234 8.12012c0.0498047 0.240234 0.0498047 0.480469 0.0498047 0.719727c0.439453 6.29004 0.870117 10.3105 1.43945 14c0.240234 1.91309 0.5 3.82617 0.780273 5.73926
c1.66992 12.2705 3.94043 22.21 4 22.4805c5.99219 26.8799 17.3516 52.1084 32.7305 73.8994v0c6.86816 9.79785 14.3965 18.8301 22.7695 27.3301c7.36719 7.53418 15.2451 14.2881 23.8398 20.4307c0.930664 0.629883 8.03027 4.83984 8.15039 4.30957
c-0.570312 -8.42969 -1.24023 -48.8301 8.42969 -61.0801h0.120117c14.1602 15.9199 33.6504 33.96 58.71 45.3701c-2.38477 -9.13379 -3.64844 -18.6562 -3.64844 -28.5332c0 -10.7832 1.51367 -21.2158 4.33887 -31.0967
c2.20508 -1.47852 4.29199 -3.05566 6.30957 -4.77051c3.71973 -3.14941 7.91992 -7.34961 16.7705 -16.0596c16.5498 -16.3096 59 -33.1797 59.0898 -35.1797c-0.400391 -6.08008 -21.8301 -27 -29.3301 -27c-69.3701 0 -80.6201 -41.9502 -80.6201 -41.9502
c3.07031 -35.3301 27.6699 -64.4102 57.5098 -79.75c1.36035 -0.730469 2.74023 -1.37012 4.12012 -2c2.36035 -1.04004 4.74023 -2.02051 7.16016 -2.92969c9.95996 -3.52539 20.6885 -5.66895 31.7402 -6.12012c121.569 -5.7002 145.13 145.34 57.3896 189.199
c22.4697 3.91016 45.8203 -5.12988 58.8203 -14.2793c-10.374 18.1104 -24.9414 33.167 -42.6602 44.1299c-0.993164 0.620117 -1.99316 1.21973 -3 1.7998c-1.55957 0.913086 -3.13965 1.79004 -4.74023 2.62988c-0.75 0.390625 -1.5 0.759766 -2.25 1.12988
c-1.65332 0.813477 -3.32031 1.59668 -5.00098 2.34961c-1.07031 0.469727 -2.16016 0.910156 -3.25 1.34961c-1.33984 0.580078 -2.68945 1.08008 -4.0498 1.58008c-1.86035 0.669922 -3.73047 1.2998 -5.62012 1.87012c-0.679688 0.209961 -1.33008 0.429688 -2 0.629883
c-10.8193 3.12793 -22.2139 4.82422 -34.0352 4.82422c-0.338867 0 -0.676758 -0.00195312 -1.01465 -0.00390625c-2 -0.0205078 -4 -0.100586 -6 -0.220703l-1.41992 -0.0996094c-14.8984 -1.04102 -29.2461 -4.92383 -42.1104 -11l-0.519531 -0.209961
c-0.625977 -0.21582 -1.29688 -0.335938 -1.99609 -0.335938c-2.68164 0 -4.96289 1.72559 -5.79395 4.12598c-0.246094 0.669922 -0.388672 1.39258 -0.388672 2.14746c0 2.4541 1.41797 4.58008 3.47852 5.60254c14.7295 6.98535 31.1982 11.3564 48.3301 12.3301
c5.7793 35.3994 28.2695 91.0098 82.5 122.78l-0.100586 -0.140625l0.180664 0.100586l0.120117 0.0693359c0.0732422 0.0195312 0.149414 0.0302734 0.229492 0.0302734c0.0791016 0 0.15625 -0.0107422 0.230469 -0.0302734
c0.30957 -0.0390625 0.550781 -0.303711 0.550781 -0.624023c0 -0.0117188 -0.000976562 -0.0244141 -0.000976562 -0.0361328c0.84375 -3.34961 2.08887 -6.61523 3.63965 -9.61914c0.830078 -1.70996 1.69043 -3.40039 2.69043 -5.05078
c1.87988 -3.21973 3.80957 -6.2793 5.73926 -9.33008c38.2002 -60.3594 84.9707 -88.0791 112.551 -156.829c-0.0507812 0.269531 -0.0507812 0.40918 -0.0507812 0.40918c-3.0293 20.1201 -10.9795 47.1104 -24.6992 74
c16.8594 -8.72949 38.3301 -36.2295 48.9395 -61.7295z" />
    <glyph glyph-name="ideal" unicode="&#xe013;" horiz-adv-x="576" 
d="M125.61 282.52c27.0713 -0.0107422 49.0488 -21.9873 49.0596 -49.0596v-0.00976562c0 -27.083 -21.9873 -49.0703 -49.0703 -49.0703c-27.082 0 -49.0693 21.9873 -49.0693 49.0703c0 27.082 21.9873 49.0693 49.0693 49.0693h0.0107422zM86.1504 22.1602v140.52
h78.9395v-140.52h-78.9395zM237.61 233.76c0 -20.4502 -8.99023 -23.2598 -18.7402 -23.2598h-14.0498v45.79h14.0498c8.74023 0 18.7402 -2.53027 18.7402 -22.5303zM439.3 187.76h57.0898c-1.7793 -98.4795 -52.1094 -165.64 -196.72 -165.64h-94.8301v165.62h14
c25.9805 0 41.5 17.1895 41.5 46c0 27.9102 -15.8994 45.2598 -41.5 45.2598h-14v82.8096h94.8301c88.9404 0 186.83 -26.8896 196.07 -151.31h-33.6904v68.5703h-22.75v-91.3105zM329.55 187.76l-0.0400391 22.7402h-33.5098v12.5h30v22.6904h-30v10.5791h31.7305v22.7305
h-54.4307v-91.2402h56.25zM404.21 187.76l23.6699 -0.0195312l-27.5303 91.3398h-32.3496l-27.5303 -91.3203h23.6602l5.17969 17.6699h29.7402zM299.65 416c218.35 0 250.97 -140 251 -223.48c0 -144.789 -89.1504 -224.52 -251 -224.52h-267.65v448h267.65z
M299.65 -10.9199c148.899 0 229.899 69.3496 229.899 203.439c0 137.801 -87.7998 202.41 -229.899 202.41h-246.58v-405.85h246.58zM383.51 253.93h1.37012l7.52051 -25.8096h-16.4004z" />
    <glyph glyph-name="microblog" unicode="&#xe01a;" 
d="M399.36 85.7695l0.149414 0.0605469c-13.5439 -15.3408 -21.7432 -35.5967 -21.7432 -57.6494c0 -19.957 6.73438 -38.3545 18.0537 -53.041c0.589844 -0.745117 0.944336 -1.68652 0.944336 -2.71094c0 -0.311523 -0.0322266 -0.615234 -0.0947266 -0.90918
c-0.416992 -2.00684 -2.19434 -3.52051 -4.32422 -3.52051c-0.306641 0 -0.606445 0.03125 -0.895508 0.0908203c-32.2803 7.17969 -61.3105 24.8301 -79.8906 49.9199c-1.30566 1.78906 -3.41699 2.94434 -5.7998 2.94434
c-0.811523 0 -1.5918 -0.135742 -2.31934 -0.383789c-24.7363 -8.66016 -51.3818 -13.4404 -79.0586 -13.4404h-0.381836c-122.86 0 -222.46 91.4805 -222.46 204.43c0 112.95 99.5996 204.44 222.46 204.44s222.46 -91.4902 222.46 -204.44
c0 -47.4492 -17.6104 -91.0996 -47.0996 -125.79zM329.52 235.6c1.56738 1.18652 2.57324 3.03516 2.57324 5.15039c0 3.57227 -2.88672 6.47461 -6.45312 6.5l-71.8799 1.50977l-23.6602 67.9199c-0.882812 2.54199 -3.29688 4.36914 -6.1377 4.36914
s-5.25879 -1.82715 -6.1416 -4.36914l-23.6602 -67.9199l-71.8799 -1.50977c-3.5293 -0.0673828 -6.38086 -2.95117 -6.38086 -6.49609c0 -2.11523 1.01367 -3.99707 2.58105 -5.18359l57.2998 -43.4902l-20.79 -68.8604
c-0.178711 -0.59375 -0.269531 -1.21875 -0.269531 -1.87109c0 -3.59277 2.91699 -6.50977 6.50977 -6.50977c1.37793 0 2.65723 0.429688 3.70996 1.16113l59.0596 41.0801l59.0596 -41.0498c1.05371 -0.735352 2.33984 -1.1709 3.71973 -1.1709
c3.58789 0 6.5 2.91211 6.5 6.5c0 0.657227 -0.0976562 1.29199 -0.279297 1.89062l-20.7803 68.8604z" />
    <glyph glyph-name="pied-piper-square" unicode="&#xe01e;" 
d="M32 29l-32 -60.2002l0.799805 328c0 65.9004 53.2002 119.2 119.2 119.2h327.2c-93 -28.9004 -189.9 -94.2002 -253.9 -168.6c-70.5996 -81.4004 -110.7 -137.4 -161.3 -218.4zM448 416c0 0 0 -328.8 0.0996094 -328.8c0 -65.9004 -53.2998 -119.2 -119.3 -119.2
h-328.399c18.5 25.5 61.6992 54 84.8994 66c35.5 18.0996 76.4004 28.5 105.3 56.2998c42.1006 40.5 47.8008 105 71 158.601c43.6006 100.3 186.4 167.1 186.4 167.1z" />
    <glyph glyph-name="unity" unicode="&#xe049;" horiz-adv-x="576" 
d="M498.11 241.6l-30 -49.5996l30 -49.6299l-52.8008 -191.62l-197.079 51.3604l-29.2402 50l-59.1699 -0.430664l-144.28 140.32l144.26 140.29l59.2002 -0.429688l29.2002 50.0596l197.109 51.3604zM223.77 323.8l-108.899 -108.13h173.13l86.5498 145.82zM223.77 60.1699
l150.78 -37.6895l-86.5498 145.81h-173.13zM416.77 46.1699l41.79 145.83l-41.8096 145.84l-86.5801 -145.84z" />
    <glyph glyph-name="dailymotion" unicode="&#xe052;" 
d="M298.93 181c7.14062 -4 12.9844 -9.85254 16.9727 -17c3.86426 -6.83691 6.10059 -14.7783 6.10059 -23.1865c0 -0.0947266 0 -0.188477 -0.000976562 -0.283203c-0.0332031 -13.6602 -4.58691 -25.084 -13.6602 -34.2705s-20.4434 -13.7793 -34.1104 -13.7793
c-13.4336 0 -24.5771 4.47949 -33.4307 13.4395s-13.2803 20.4932 -13.2803 34.5996c0 13.4336 4.53711 24.5742 13.6104 33.4209s20.2197 13.2695 33.4395 13.2695c0.214844 0.00292969 0.469727 -0.0263672 0.685547 -0.0263672
c8.59668 0 16.6738 -2.24609 23.6738 -6.18359zM0.00195312 416h448v-448h-448v448zM374.712 42.7402l-0.0302734 264.349l-55.79 -12.0898v-77.9199c-7.81348 7.86035 -16.1465 13.5273 -25 17.001c-8.87695 3.35352 -18.5127 5.21875 -28.5576 5.21875
c-0.394531 0 -0.789062 -0.00292969 -1.18164 -0.00878906c-17.6934 -0.00683594 -33.6006 -4.37305 -47.7207 -13.0996c-14.0625 -8.68066 -25.4102 -20.9805 -32.9297 -35.7803c-7.83984 -15.1064 -11.7598 -31.8467 -11.7598 -50.2197
c-0.00683594 -18.8066 3.85645 -35.7705 11.5898 -50.8906c7.45215 -14.8447 18.8232 -27.1611 32.9395 -35.7695c14.2197 -8.7334 30.5166 -13.1006 48.8906 -13.1006c26.6602 0 45.2539 8.7334 55.7803 26.2002h0.669922v-23.8896h53.0996z" />
    <glyph glyph-name="instagram-square" unicode="&#xe055;" 
d="M224 245.34c29.4385 -0.0107422 53.3379 -23.9043 53.3604 -53.3398c0 -29.4395 -23.9004 -53.3398 -53.3398 -53.3398s-53.3398 23.9004 -53.3398 53.3398c0 29.4326 23.8896 53.3291 53.3193 53.3398zM348.71 286.34
c8.34961 -21.0703 6.46973 -71.0596 6.46973 -94.3398s1.91992 -73.3301 -6.42969 -94.3301c-5.4834 -13.8955 -16.5146 -24.9268 -30.4102 -30.4102c-21.0596 -8.35938 -70.9902 -6.42969 -94.2998 -6.42969s-73.3096 -1.86035 -94.3096 6.42969
c-13.8955 5.4834 -24.9277 16.5146 -30.4102 30.4102c-8.32031 21.0703 -6.4707 71.0605 -6.4707 94.3398c0 23.2803 -1.84961 73.3301 6.43066 94.3301c5.48242 13.8955 16.5146 24.9268 30.4102 30.4102c21.0596 8.36035 71.0098 6.42969 94.3096 6.42969
s73.2998 1.86035 94.2998 -6.42969c13.8955 -5.4834 24.9268 -16.5146 30.4102 -30.4102zM224 110c0.0341797 0 0.0664062 -0.00195312 0.0996094 -0.00195312c45.2021 0 81.9004 36.6982 81.9004 81.9004v0.101562c0 45.2568 -36.7432 82 -82 82s-82 -36.7432 -82 -82
s36.7432 -82 82 -82zM309.38 258.3c10.5371 0.00585938 19.1299 8.52051 19.1299 19.0586v0.0820312c0 10.5635 -8.57617 19.1396 -19.1396 19.1396c-10.5645 0 -19.1406 -8.57617 -19.1406 -19.1396c0 -10.5645 8.57617 -19.1406 19.1406 -19.1406h0.00976562zM400 416
c26.4922 0 48 -21.5078 48 -48v-352c0 -26.4922 -21.5078 -48 -48 -48h-352c-26.4922 0 -48 21.5078 -48 48v352c0 26.4922 21.5078 48 48 48h352zM382.88 126c1.49023 26.4404 1.49023 105.56 0 131.88c-1.21973 25.6299 -7.17969 48.3506 -25.8496 67.0498
c-18.6699 18.7002 -41.3701 24.5605 -67 25.8506c-26.4102 1.48926 -105.59 1.48926 -132 0c-25.5303 -1.2207 -48.2207 -7.12012 -67 -25.7803c-18.7803 -18.6602 -24.5605 -41.3701 -25.8506 -67c-1.48926 -26.3896 -1.48926 -105.58 0 -132
c1.2207 -25.5801 7.11035 -48.2998 25.8506 -67c18.7393 -18.7002 41.3701 -24.5596 67 -25.8496c26.4102 -1.49023 105.59 -1.49023 132 0c25.5996 1.21973 48.29 7.18945 67 25.8496s24.5596 41.3701 25.8496 67z" />
    <glyph glyph-name="mixer" unicode="&#xe056;" horiz-adv-x="512" 
d="M114.57 371.93l128.319 -172.399c1.44531 -1.99805 2.29785 -4.47461 2.29785 -7.12598c0 -2.65234 -0.852539 -5.10645 -2.29785 -7.10449l-128.89 -173.24c-8.33594 -11.1826 -21.6582 -18.3877 -36.666 -18.3877c-11.877 0 -22.7031 4.54004 -30.834 11.9785
c-17.8496 16.1797 -18.9697 43.5195 -4.74023 62.7695l92.3301 124.15l-91.7803 123c-14.25 19.25 -12.8291 46.5898 4.75 62.7695c8.13281 7.44141 18.9551 12.0264 30.8359 12.0264c15.0088 0 28.3389 -7.25 36.6748 -18.4365zM470.24 68.4199
c14.2295 -19.25 13.1094 -46.5898 -4.73047 -62.7695c-8.13184 -7.44141 -18.9551 -12.0264 -30.835 -12.0264c-15.0098 0 -28.3389 7.25 -36.6748 18.4355l-128.57 173.5c-1.44434 1.99805 -2.29688 4.47461 -2.29688 7.12598c0 2.65234 0.852539 5.10645 2.29688 7.10449
l128 172.12c8.33594 11.1855 21.6602 18.3926 36.6699 18.3926c11.8809 0 22.708 -4.54199 30.8408 -11.9824c17.5791 -16.1807 18.9697 -43.5205 4.75 -62.7705l-91.7803 -123z" />
    <glyph glyph-name="shopify" unicode="&#xe057;" 
d="M388.32 343.9c0.399414 -2.40039 54.4395 -367.9 54.4395 -367.9l-125.689 -31.2002v432.73c8.00977 -8.01074 29.6201 -28.8301 29.6201 -28.8301s35.2295 -0.799805 37.2295 -0.799805c2.25 -0.103516 4.08887 -1.81055 4.40039 -4zM288.65 377.53
c9.20996 2.7998 13.3604 4.18945 14.8096 4.39941c1.4502 0.209961 2.90625 0.34375 4.40039 0.400391v-438.33l-302.58 52.4805s36.7998 281.819 38 291.819c1.58984 13.2002 2 13.6006 16 18c0.399414 0.400391 19.6094 6.41016 47.2295 14.8105
c2.82031 21.2197 13.21 48.4395 26.8203 70.0596c19.25 30.8301 43.25 48.0303 67.25 48.8301c12.4199 0.370117 22.8203 -3.62988 30.8203 -12.4004c0.399414 -0.799805 1.19922 -1.19922 1.59961 -2c1.11914 0.267578 2.27051 0.40918 3.4707 0.40918
c0.176758 0 0.353516 -0.00292969 0.529297 -0.00878906c18.4199 0 34 -10.8496 44.4404 -30.8604c2.84082 -5.58887 5.28809 -11.5479 7.20996 -17.6094zM233.41 360.31c0.399414 13.21 -1.2002 32.8301 -8.00977 47.2002
c-6.80078 -3.2002 -12.8105 -8.41016 -17.21 -12.8096c-11.21 -12.3701 -20.8203 -31.1807 -25.6201 -50c17.21 5.20996 34.8398 10.8096 50.8398 15.6094zM200.58 423.56c-36.8301 -0.799805 -69.25 -58.8398 -78.0098 -97.2295c13.1699 4 27.5801 8.40039 42 12.8096
c4.7998 24.4502 16.4102 50.0303 31.6201 66.4502c6 6 12.4092 11.21 18.8096 14.4102c-3.99414 2.26367 -8.625 3.57422 -13.54 3.57422c-0.293945 0 -0.587891 -0.00488281 -0.879883 -0.0146484zM154.15 203.39c-0.400391 4.81055 0 23.6104 29.6191 25.6201
c20.4209 1.60059 37.6309 -6.39941 37.6309 -6.39941l15.21 57.5996s-13.2305 6.41016 -39.2305 4.80957c-67.25 -4.40918 -97.6699 -51.2393 -94.4697 -97.6797c3.59961 -55.2402 58.8398 -53.2402 60.8398 -86.8594
c0.410156 -8.01074 -4.80957 -19.6201 -18.8096 -20.4209c-21.6201 -1.59961 -48.4404 18.8203 -48.4404 18.8203l-10.4004 -44s26.8203 -28.8203 75.6504 -25.6201c40.4297 2.41016 68.4502 34.8301 65.6504 82.4707c-4 60.4395 -71.6504 66.0498 -73.25 91.6592z
M249.42 365.12c8.80664 2.7998 16.8135 5.2002 24.0205 7.2002c-4.01074 12.4297 -12.8105 32.8301 -31.2305 36.4297c5.61035 -14.4102 7.20996 -31.6299 7.20996 -43.6299z" />
    <glyph glyph-name="deezer" unicode="&#xe077;" horiz-adv-x="576" 
d="M451.46 203.29v72.71h124.54v-72.71h-124.54zM451.46 377.18h124.54v-72.6699h-124.54v72.6699zM451.46 102.12v72.6797h124.54v-72.6797h-124.54zM0 0.910156v72.6699h124.54v-72.6699h-124.54zM150.47 0.910156v72.6699h124.53v-72.6699h-124.53zM300.99 0.910156
l0.00976562 72.6699h124.53v-72.6699h-124.54zM451.46 0.910156v72.6699h124.54v-72.6699h-124.54zM301 102.12v72.6797h124.53v-72.6797h-124.53zM150.48 102.12l-0.0107422 72.6797h124.53v-72.6797h-124.52zM150.48 203.29l-0.0107422 72.71h124.53v-72.71h-124.52z" />
    <glyph glyph-name="edge-legacy" unicode="&#xe078;" horiz-adv-x="512" 
d="M25.71 219.84l0.349609 0.480469c0 -0.160156 0 -0.320312 -0.0693359 -0.480469h-0.280273zM486.29 204.33v-52.0703h-314.08c1.38965 -128.49 191.39 -124.06 272.26 -67.5693v-104.431c-47.3594 -28.5293 -156.779 -53.1699 -240.13 -21.3301
c-70.6201 27.1602 -119.92 100.551 -120.75 172c-1.09961 92.2207 45.7002 153.42 120.75 188.32c-15.79 -19.9297 -27.9697 -41.54 -34.3398 -78.9297h175.85c10.25 105 -99.4199 105 -99.4199 105c-103.3 -3.62012 -177.949 -63.6904 -220.37 -125
c14.5605 114.47 92.9404 219.96 232.83 219.68c85.0205 0 157.61 -39.8799 198.591 -113.27c21.0498 -37.9404 28.8096 -78.4004 28.8096 -122.4z" />
    <glyph glyph-name="google-pay" unicode="&#xe079;" horiz-adv-x="640" 
d="M105.72 233h99.6602c1.1543 -7.06152 1.75 -14.1768 1.75 -21.5635v-0.216797c0 -32.7598 -11.4102 -60.2998 -31.4102 -78.9102c-17.4502 -16.3799 -41.5293 -25.9092 -70 -25.9092c-41.4531 0.103516 -77.2598 24.0869 -94.3799 59v0.149414
c-7.21582 14.4512 -11.2773 30.957 -11.2773 48.1943c0 17.2383 4.06152 33.5352 11.2773 47.9863c17.1172 34.9355 52.9199 58.9502 94.3799 59.1094c0.344727 0.00390625 0.699219 0.00585938 1.04492 0.00585938c27 0 51.5469 -10.5928 69.7051 -27.8457
l-30.2793 -30.6201c-10.1777 9.95508 -24.0938 16.0898 -39.4404 16.0898c-0.357422 0 -0.713867 -0.00292969 -1.07031 -0.00976562c-27.5996 0 -50.9297 -18.9102 -59.2998 -44.3701v0c-2.12109 -6.44824 -3.26855 -13.3545 -3.26855 -20.5088
s1.14746 -14.043 3.26855 -20.4912c8.37012 -25.3096 31.7002 -44.2197 59.2998 -44.2197c14.2803 0 26.46 3.72949 36 10.2803c10.9629 7.39648 18.7705 19.0664 21.1406 32.5996h-57.1006v41.25zM495.13 237c10.1299 -9.33984 15.1201 -22.4502 15.0498 -39v-78.7002
h-22.6094v17.7197h-1c-9.79004 -14.5898 -22.71 -21.8896 -39 -21.8896c-13.79 0 -25.54 4.16992 -34.79 12.5098c-8.55078 7.29199 -13.9541 18.1143 -13.9541 30.2207c0 0.350586 0.00488281 0.701172 0.0136719 1.0498c0 13.25 4.98047 23.6699 14.8203 31.5596
c9.83984 7.89062 23.0498 11.7705 39.4902 11.7705c14.0898 0 25.54 -2.68066 34.6396 -7.75v5.50977c-0.00488281 8.47461 -3.75098 16.0723 -9.69043 21.2305c-6.02051 5.44141 -14.0078 8.76855 -22.75 8.78906c-13.2061 0 -23.626 -5.66699 -31.2598 -17
l-20.8496 13.2607c11.1602 16.5195 28.04 24.8594 50.5 24.8594c17.46 0 31.2598 -4.75977 41.3896 -14.1396zM475.9 147.7c7.7793 7.4502 11.7393 16.2295 11.7393 26.3594c-7.33984 5.94043 -17.6396 8.94043 -30.7998 8.78027c-9.54004 0 -17.75 -2.38965 -24.0703 -7
c-6.31934 -4.60938 -9.53906 -10.4199 -9.53906 -17.4199c-0.000976562 -0.0332031 -0.0166016 -0.0546875 -0.0166016 -0.0878906c0 -6.35449 3.05957 -12 7.78613 -15.542c4.8916 -3.90625 11.1035 -6.25391 17.8447 -6.25391
c0.162109 0 0.324219 0.000976562 0.485352 0.00390625c10.3965 0.0126953 19.8076 4.2793 26.5703 11.1602zM382.25 289.7c10.4268 -9.92188 16.9102 -23.9102 16.9102 -39.4248c0 -14.166 -5.4209 -27.0752 -14.2998 -36.7656
c-0.890625 -0.889648 -1.77051 -1.79004 -2.65039 -2.67969c-11.0098 -10.5703 -24.5098 -15.9297 -40.5098 -15.9297h-39v-75.6406h-23.6299v186.74h62.6699c0.379883 0.0078125 0.749023 0.0185547 1.13086 0.0185547c15.3701 0 29.2949 -6.23828 39.3789 -16.3184z
M365.67 227.47c5.5957 5.94141 9.03223 13.9971 9.03223 22.7939c0 9.18164 -3.7373 17.4961 -9.77246 23.5059c-5.78027 5.70801 -13.7236 9.23047 -22.4814 9.23047h-0.118164h-39.6299v-65.21h39.6299c0.328125 -0.0107422 0.640625 -0.0253906 0.970703 -0.0253906
c8.82031 0 16.7754 3.7334 22.3691 9.70508zM614.31 247h25.6904l-79 -183.87h-24.3496l29.3496 64.3203l-51.79 119.55h25.6904l37.4199 -91.7002h0.449219z" />
    <glyph glyph-name="rust" unicode="&#xe07a;" horiz-adv-x="512" 
d="M508.52 198.25c2.09375 -1.2959 3.44043 -3.60449 3.44043 -6.24512c0 -2.6416 -1.39648 -4.95898 -3.49023 -6.25488l-21.8193 -13.5098c-0.169922 -1.95996 -0.34082 -3.91992 -0.550781 -5.87012l18.7207 -17.5c1.43457 -1.3418 2.33203 -3.24805 2.33203 -5.36523
c0 -3.15039 -1.98535 -5.83984 -4.77246 -6.88477l-24 -9c-0.540039 -1.88965 -1.08008 -3.78027 -1.66992 -5.65039l15 -20.8301c0.865234 -1.20508 1.37207 -2.68945 1.37207 -4.28516c0 -3.65234 -2.66992 -6.68555 -6.16211 -7.25488l-25.4199 -4.14941
c-0.900391 -1.71973 -1.79004 -3.4502 -2.73047 -5.15039l10.6807 -23.4199c0.420898 -0.925781 0.655273 -1.96875 0.655273 -3.05176c0 -1.50781 -0.455078 -2.91113 -1.23535 -4.07812c-1.29199 -1.97168 -3.51172 -3.26758 -6.04297 -3.26758
c-0.109375 0 -0.21875 0.00292969 -0.327148 0.0078125l-25.8203 0.910156c-1.18652 -1.4873 -2.38965 -2.9541 -3.60938 -4.40039l5.92969 -25.1602c0.125977 -0.538086 0.196289 -1.0957 0.196289 -1.67188c0 -4.0625 -3.29785 -7.36035 -7.35938 -7.36035
c-0.577148 0 -1.13867 0.0664062 -1.67676 0.192383l-25.1504 5.92969c-1.45312 -1.21289 -2.91992 -2.41602 -4.39941 -3.60938l0.90918 -25.8203c0.00390625 -0.0878906 -0.000976562 -0.167969 -0.000976562 -0.256836c0 -4.05664 -3.29395 -7.34961 -7.34961 -7.34961
c-1.08398 0 -2.1123 0.235352 -3.03906 0.65625l-23.4199 10.6807c-1.7002 -0.94043 -3.42969 -1.83008 -5.15039 -2.73047l-4.14941 -25.4199c-0.56543 -3.49121 -3.60254 -6.16309 -7.25293 -6.16309c-1.59961 0 -3.08105 0.512695 -4.28711 1.38281l-20.8203 15
c-1.87012 -0.599609 -3.75977 -1.12988 -5.64941 -1.67969l-9 -24c-1.05078 -2.7832 -3.7373 -4.7627 -6.88574 -4.7627c-2.11426 0 -4.02148 0.892578 -5.36426 2.32227l-17.5 18.7305c-1.9502 -0.219727 -3.88086 -0.390625 -5.88086 -0.560547l-13.5098 -21.8193
c-1.2959 -2.09375 -3.60352 -3.49023 -6.24512 -3.49023s-4.95898 1.39648 -6.25488 3.49023l-13.5098 21.8193c-1.95996 0.169922 -3.92969 0.34082 -5.87988 0.550781l-17.5 -18.7207c-1.34277 -1.42969 -3.24707 -2.32422 -5.36133 -2.32422
c-3.14844 0 -5.83789 1.98145 -6.88867 4.76465l-9 24c-1.88965 0.549805 -3.79004 1.08008 -5.65039 1.67969l-20.8301 -15c-1.20605 -0.870117 -2.69434 -1.37988 -4.29395 -1.37988c-3.64941 0 -6.68066 2.66895 -7.24609 6.16016l-4.14941 25.4199
c-1.71973 0.900391 -3.4502 1.79004 -5.14062 2.73047l-23.4297 -10.6807c-0.925781 -0.420898 -1.96094 -0.664062 -3.04492 -0.664062c-4.05664 0 -7.34961 3.29297 -7.34961 7.34961c0 0.0888672 0.00195312 0.176758 0.00488281 0.264648l0.919922 25.8203
c-1.4873 1.18652 -2.95703 2.38965 -4.41016 3.60938l-25.1602 -5.92969c-0.538086 -0.125977 -1.0957 -0.196289 -1.67188 -0.196289c-4.0625 0 -7.36035 3.29785 -7.36035 7.35938c0 0.577148 0.0664062 1.13867 0.192383 1.67676l5.92969 25.1602
c-1.21973 1.45312 -2.41992 2.91992 -3.59961 4.40039l-25.8301 -0.910156c-0.125977 -0.00683594 -0.243164 -0.0175781 -0.371094 -0.0175781c-2.5166 0 -4.72949 1.30664 -5.99902 3.27734c-0.776367 1.16504 -1.23047 2.57812 -1.23047 4.08301
c0 1.08691 0.236328 2.11816 0.660156 3.04688l10.6309 23.4297c-0.94043 1.69043 -1.83008 3.4209 -2.73047 5.14062l-25.4199 4.14941c-3.49219 0.569336 -6.16504 3.60938 -6.16504 7.26172c0 1.5957 0.509766 3.07324 1.375 4.27832l15 20.8301
c-0.599609 1.87012 -1.12988 3.76074 -1.67969 5.65039l-24 9c-2.78711 1.04492 -4.77148 3.73145 -4.77148 6.88184c0 2.11719 0.896484 4.02637 2.33105 5.36816l18.7197 17.5c-0.209961 1.9502 -0.379883 3.87012 -0.549805 5.87012l-21.8193 13.5098
c-2.09473 1.2959 -3.49023 3.60449 -3.49023 6.24512c0 2.6416 1.39551 4.95898 3.49023 6.25488l21.8594 13.5c0.169922 1.96973 0.339844 3.92969 0.549805 5.87988l-18.7197 17.5c-1.43457 1.3418 -2.33203 3.24805 -2.33203 5.36523
c0 3.15039 1.98535 5.83984 4.77246 6.88477l24 9c0.549805 1.88965 1.08984 3.79004 1.67969 5.66016l-15 20.8203c-0.865234 1.20508 -1.37207 2.68945 -1.37207 4.28516c0 3.65234 2.66992 6.68555 6.16211 7.25488l25.4102 4.13965
c0.899414 1.72949 1.79004 3.45996 2.72949 5.16016l-10.6602 23.4102c-0.423828 0.927734 -0.65918 1.97363 -0.65918 3.06055c0 1.50391 0.453125 2.90332 1.22949 4.06934c1.33398 1.97266 3.58398 3.26367 6.14258 3.26367
c0.0761719 0 0.152344 -0.00195312 0.227539 -0.00390625l25.8096 -0.910156c1.19043 1.48047 2.39062 2.95996 3.62012 4.41016l-5.92969 25.1602c-0.125977 0.538086 -0.196289 1.0957 -0.196289 1.67188c0 4.0625 3.29785 7.36035 7.35938 7.36035
c0.577148 0 1.13867 -0.0664062 1.67676 -0.192383l25.1504 -5.96973c1.41992 1.21973 2.92969 2.41992 4.41992 3.60938l-0.919922 25.8105c-0.00488281 0.104492 -0.000976562 0.201172 -0.000976562 0.307617c0 4.05566 3.29395 7.34961 7.35059 7.34961
c1.08398 0 2.11328 -0.235352 3.04004 -0.657227l23.4004 -10.6299c1.70996 0.939453 3.42969 1.83008 5.16016 2.72949l4.14941 25.4102c0.569336 3.49219 3.60938 6.16504 7.26172 6.16504c1.5957 0 3.07324 -0.509766 4.27832 -1.375l20.8203 -15
c1.87012 0.599609 3.76953 1.12988 5.66016 1.67969l9 24c1.04492 2.78711 3.73145 4.77148 6.88184 4.77148c2.11719 0 4.02637 -0.896484 5.36816 -2.33105l17.5 -18.7197c1.94922 0.209961 3.87988 0.379883 5.87988 0.549805l13.5098 21.8193
c1.2959 2.09473 3.60449 3.49023 6.24512 3.49023c2.6416 0 4.95898 -1.39551 6.25488 -3.49023l13.4805 -21.8398c1.96973 -0.169922 3.92969 -0.339844 5.87988 -0.549805l17.5 18.7197c1.3418 1.43457 3.24805 2.33301 5.36523 2.33301
c3.14941 0 5.83984 -1.98535 6.88477 -4.77246l9 -24c1.88965 -0.540039 3.7793 -1.08008 5.63965 -1.66992l20.8604 14.9697c1.20508 0.865234 2.68945 1.37207 4.28516 1.37207c3.65234 0 6.68555 -2.66992 7.25488 -6.16211l4.14941 -25.4199
c1.71973 -0.889648 3.4502 -1.79004 5.15039 -2.73047l23.4199 10.7305c0.926758 0.421875 1.96289 0.666016 3.04688 0.666016c4.05664 0 7.34961 -3.29395 7.34961 -7.35059c0 -0.105469 -0.00195312 -0.210938 -0.00683594 -0.31543l-0.910156 -25.8203
c1.4873 -1.18652 2.9541 -2.38965 4.40039 -3.60938l25.1602 5.92969c0.538086 0.125977 1.0957 0.196289 1.67188 0.196289c4.0625 0 7.36035 -3.29785 7.36035 -7.35938c0 -0.577148 -0.0664062 -1.13867 -0.192383 -1.67676l-5.87988 -25.1602
c1.21387 -1.45312 2.41699 -2.91992 3.61035 -4.40039l25.8193 0.910156c0.0878906 0.00292969 0.167969 -0.000976562 0.256836 -0.000976562c4.05664 0 7.34961 -3.29395 7.34961 -7.35059c0 -1.08301 -0.234375 -2.1123 -0.65625 -3.03809l-10.6797 -23.4199
c0.939453 -1.7002 1.83008 -3.41992 2.72949 -5.15039l25.4199 -4.14941c3.49219 -0.569336 6.16504 -3.60938 6.16504 -7.26172c0 -1.5957 -0.509766 -3.07324 -1.375 -4.27832l-15 -20.8301c0.589844 -1.86035 1.12988 -3.76074 1.66992 -5.64062l24 -9
c2.78711 -1.04492 4.77148 -3.73145 4.77148 -6.88184c0 -2.11719 -0.896484 -4.02637 -2.33105 -5.36816l-18.7197 -17.5c0.209961 -1.94922 0.379883 -3.87988 0.549805 -5.87988zM357.52 69.1699l32.1406 -6.87988c6.28125 6.3125 12.0029 12.9395 17.3398 20.0898
h-79.0498c-12.5 0 -24.21 17.6396 -27.1006 26.46c-2.88965 7.86035 -7.14941 32.4502 -9.05957 40c-6.12988 24.5898 -25.3799 25.8701 -29.79 25.8701h-48.4805l-0.0498047 -34.3496h44.8301c1.71973 0 2.89062 -0.34082 2.89062 -1.91016v-54.1904
c0 -1.62012 -1.1709 -1.91016 -2.89062 -1.91016h-153.17c5.01953 -6.80957 10.3848 -13.1465 16.2598 -19.21l31.5107 6.76074c0.935547 0.199219 1.89746 0.294922 2.89258 0.294922c6.66211 0 12.2344 -4.70801 13.5674 -10.9756l7.63965 -35.6602
c23.9688 -11.1318 50.9941 -17.3506 79.1416 -17.3506c27.5205 0 53.665 5.94141 77.2188 16.6113l7.63965 35.6699c1.34668 6.27246 6.91797 10.9893 13.5908 10.9893c1.00488 0 1.98438 -0.106445 2.92871 -0.30957zM383.29 34.6797
c0 0.00585938 -0.0576172 0.0107422 -0.0576172 0.0166016c0 8.25977 -6.58887 14.9922 -14.792 15.2236h-0.44043c-8.3877 -0.0273438 -15.1904 -6.8457 -15.1904 -15.2402c0 -8.41113 6.8291 -15.2393 15.2402 -15.2393s15.2402 6.82812 15.2402 15.2393zM157.67 35.3604
c0 0.00195312 -0.0576172 0.00488281 -0.0576172 0.0078125c0 8.24707 -6.56055 14.9736 -14.7422 15.2422h-0.450195c-8.40625 -0.00585938 -15.2295 -6.83203 -15.2295 -15.2402c0 -8.41113 6.82812 -15.2402 15.2393 -15.2402c8.4082 0 15.2344 6.82324 15.2402 15.2305z
M69.5703 213.85c-0.725586 -6.69922 -1.0625 -13.2754 -1.0625 -20.167c0 -17.8242 2.49023 -35.0713 7.14258 -51.4131h53.5996v119.73h-26.5596l6.76953 -15.2197c0.765625 -1.7207 1.20801 -3.62988 1.20801 -5.63281c0 -5.66406 -3.39941 -10.54 -8.26758 -12.6973z
M58.3096 249.91c0.00292969 -8.4082 6.84375 -15.2236 15.2529 -15.2236c8.41113 0 15.2402 6.82812 15.2402 15.2393c0 8.26562 -6.59375 15.0029 -14.8027 15.2344h-0.459961c-8.40625 -0.00585938 -15.2305 -6.83203 -15.2305 -15.2402v-0.00976562zM213.47 225.42
h58.7002c12.4902 0 27.6797 4.41016 27.6797 16.7002c0 14.8496 -19.79 18.6201 -23.0693 18.6201h-63.2607zM399 141.29c10.3096 1.12988 22 5.70996 22.0195 26.46v8.82031c0 1.85938 0.780273 3.12988 2.69043 3.12988h19.2803
c0.349609 4.6709 0.529297 9.02832 0.529297 13.7891c0 6.32812 -0.314453 12.583 -0.929688 18.751l-34.5898 15.3301c-4.86621 2.19434 -8.23828 7.0918 -8.23828 12.7725c0 1.97363 0.410156 3.85352 1.14844 5.55762l18 40.5693
c-26.8047 47.0127 -73.3965 81.1328 -128.37 91.4307l-26.2598 -25c-2.48535 -2.39062 -5.86523 -3.86523 -9.58203 -3.86523c-3.94141 0 -7.5 1.6543 -10.0186 4.30469l-23.4697 24.6006c-41.29 -7.80371 -77.9434 -29.083 -104.89 -59.1904h198.899
c4.99023 0 23.5107 -2.23047 40.2705 -13.2305c11.9102 -7.88965 29.3994 -23.96 29.3994 -49.4795c0 -23.6201 -19.5996 -41.3096 -38.46 -53.2598c15.1807 -12 24.79 -18.9102 30.5703 -51.4004c1.37012 -5.96973 12.2002 -11.2197 22 -10.0898zM240 387.79
c0 -0.0078125 -0.00683594 -0.015625 -0.00683594 -0.0244141c0 -8.41113 6.82812 -15.2393 15.2402 -15.2393c8.41113 0 15.2393 6.82812 15.2393 15.2393c0 8.26855 -6.59863 15.0078 -14.8125 15.2344h-0.450195c-8.38672 -0.0166016 -15.1934 -6.82324 -15.21 -15.21z
M436.84 234c0.0742188 -0.000976562 0.141602 -0.00195312 0.21582 -0.00195312c8.41211 0 15.2422 6.83008 15.2422 15.2422c0 8.33691 -6.70898 15.1201 -15.0176 15.2402h-0.44043c-8.41113 0 -15.2402 -6.8291 -15.2402 -15.2402s6.8291 -15.2402 15.2402 -15.2402z" />
    <glyph glyph-name="tiktok" unicode="&#xe07b;" 
d="M448 238.09h-0.512695c-45.5098 0 -87.8428 14.6162 -122.257 39.25v-178.72c-0.0332031 -89.6855 -72.8574 -162.489 -162.551 -162.489c-89.7139 0 -162.55 72.8359 -162.55 162.55s72.8359 162.55 162.55 162.55c7.62891 0 14.9697 -0.521484 22.3203 -1.54004
v-89.8906c-7.06836 2.22363 -14.5889 3.42285 -22.3877 3.42285c-41.1836 0 -74.6201 -33.4365 -74.6201 -74.6201c0 -41.1846 33.4365 -74.6201 74.6201 -74.6201c41.1846 0 74.6182 33.4541 74.6182 74.6377v349.38h88
c-0.00292969 -0.337891 -0.00488281 -0.676758 -0.00488281 -1.01562c0 -7.25977 0.638672 -14.2441 1.86426 -21.1543v0c6.28613 -33.5771 26.1982 -62.3613 53.9102 -80.2197c19.1787 -12.6816 42.1592 -20.0674 66.8506 -20.0674
c0.00878906 0 0.140625 -0.0732422 0.149414 -0.0732422v-87.3799z" />
    <glyph glyph-name="unsplash" unicode="&#xe07c;" 
d="M448 217.83v-249.83h-448v249.83h141.13v-124.92h165.74v124.92h141.13zM306.87 416v-124.91h-165.74v124.91h165.74z" />
    <glyph glyph-name="twitter-square" unicode="&#xf081;" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM351.1 257.2c12.8008 9.2998 24 20.8994 32.9004 34c-11.7998 -5.10059 -24.5996 -8.7998 -37.7998 -10.2002
c13.5996 8.09961 23.8994 20.9004 28.7998 36.0996c-12.5996 -7.5 -26.7998 -13 -41.5996 -15.7998c-12 12.7998 -29 20.7002 -47.9004 20.7002c-40 0 -73.2998 -36.0996 -64 -80.5996c-54.4004 2.7998 -102.9 28.7998 -135.2 68.5996
c-5.7002 -9.7002 -8.89941 -20.9004 -8.89941 -33.0996c0 -0.0371094 -0.0664062 -0.0322266 -0.0664062 -0.0683594c0 -22.749 11.6309 -42.8018 29.2656 -54.5322c-10.6992 0.400391 -20.8994 3.40039 -29.5996 8.2998v-0.799805c0 -31.8994 22.5 -58.2998 52.5 -64.3994
c-10.4004 -2.7002 -19.5 -2.7002 -29.5996 -1.2002c8.2998 -26 32.5 -44.9004 61.2998 -45.5c-22.5 -17.6006 -50.7002 -28 -81.4004 -28c-5.39941 0 -10.5 0.200195 -15.7998 0.799805c29 -18.5996 63.5 -29.4004 100.7 -29.4004c120.6 0 186.6 99.9004 186.6 186.601
c0 2.7998 0 5.7002 -0.200195 8.5z" />
    <glyph glyph-name="facebook-square" unicode="&#xf082;" 
d="M400 416c26.4922 0 48 -21.5078 48 -48v-352c0 -26.4922 -21.5078 -48 -48 -48h-137.25v152.31h57.7803l11 71.6904h-68.7803v46.5498c0 19.6104 9.61035 38.7305 40.4199 38.7305h31.2705v61s-28.3809 4.83984 -55.5205 4.83984
c-56.6699 0 -93.6699 -34.3301 -93.6699 -96.4805v-54.6396h-63v-71.6904h63v-152.31h-137.25c-26.4922 0 -48 21.5078 -48 48v352c0 26.4922 21.5078 48 48 48h352z" />
    <glyph glyph-name="linkedin" unicode="&#xf08c;" 
d="M416 416c17.5996 0 32 -14.5 32 -32.2998v-383.4c0 -17.7998 -14.4004 -32.2998 -32 -32.2998h-384.1c-17.6006 0 -31.9004 14.5 -31.9004 32.2998v383.4c0 17.7998 14.2998 32.2998 31.9004 32.2998h384.1zM135.4 32h0.0996094v213.8h-66.5v-213.8h66.4004zM102.2 275
c21.2998 0 38.5 17.2002 38.5 38.5c0 21.2002 -17.2998 38.5 -38.5 38.5c-21.2998 0 -38.5 -17.2998 -38.5 -38.5s17.2002 -38.5 38.5 -38.5zM384.3 32v117.2c0 57.5996 -12.5 101.899 -79.7002 101.899c-32.2998 0 -54 -17.6992 -62.8994 -34.5h-0.900391v29.2002h-63.7002
v-213.8h66.4004v105.8c0 27.9004 5.2998 54.9004 39.9004 54.9004c34 0 34.5 -31.9004 34.5 -56.7002v-104h66.3994z" />
    <glyph glyph-name="github-square" unicode="&#xf092;" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM277.3 32.2998c66 22 110.8 84.9004 110.7 158.3c0 91.8008 -74.4004 161.5 -166.2 161.5s-162 -69.6992 -162 -161.5
c0 -73.3994 46.2002 -136.199 112.2 -158.3c8.5 -1.5 11.5 3.7002 11.5 8c0 4.10059 -0.200195 26.7002 -0.200195 40.6006c0 0 -46.3994 -10 -56.0996 19.6992c0 0 -7.60059 19.2002 -18.4004 24.2002c0 0 -15.0996 10.4004 1.10059 10.2002
c0 0 16.3994 -1.2998 25.5 -17.0996c14.5 -25.6006 38.7998 -18.2002 48.2998 -13.9004c1.5 10.5996 5.7998 18 10.5996 22.2998c-37 4.10059 -74.2998 9.5 -74.2998 73.1006c0 18.1992 5 27.2998 15.5996 39c-1.7998 4.39941 -7.39941 22.0996 1.7002 45
c13.9004 4.2998 45.7002 -17.9004 45.7002 -17.9004c13.2002 3.7002 27.5 5.59961 41.5996 5.59961c14.1006 0 28.4004 -1.89941 41.6006 -5.59961c0 0 31.7998 22.2002 45.7002 17.9004c9.09961 -23 3.39941 -40.7002 1.69922 -45
c10.6006 -11.7002 17.1006 -20.8008 17.1006 -39c0 -63.9004 -39 -69 -76 -73.1006c6.09961 -5.2002 11.2998 -15.0996 11.2998 -30.7002c0 -22.2998 -0.200195 -49.8994 -0.200195 -55.2998c0 -4.2998 3.10059 -9.5 11.5 -8zM179.2 93.4004
c-1.90039 -0.400391 -3.7002 0.399414 -3.90039 1.69922c-0.200195 1.5 1.10059 2.80078 3 3.2002c1.90039 0.200195 3.7002 -0.599609 3.90039 -1.89941c0.299805 -1.30078 -1 -2.60059 -3 -3zM169.7 94.2998c0 1.5 -1.7998 2.60059 -3.7002 2.40039
c-2 0 -3.5 -1.10059 -3.5 -2.40039c0 -1.5 1.5 -2.59961 3.7002 -2.39941c2 0 3.5 1.09961 3.5 2.39941zM156 95.4004c-0.400391 -1.30078 -2.40039 -1.90039 -4.09961 -1.30078c-1.90039 0.400391 -3.2002 1.90039 -2.80078 3.2002
c0.400391 1.2998 2.40039 1.90039 4.10059 1.5c2 -0.599609 3.2998 -2.09961 2.7998 -3.39941zM143.7 100.8c0.899414 0.799805 0.399414 2.7998 -0.900391 4.10059c-1.5 1.5 -3.39941 1.69922 -4.2998 0.599609c-1 -0.900391 -0.599609 -2.7998 0.900391 -4.09961
c1.5 -1.5 3.39941 -1.7002 4.2998 -0.600586zM134.6 109.9c1.10059 0.799805 1.10059 2.59961 0 4.09961c-0.899414 1.5 -2.59961 2.2002 -3.69922 1.2998c-1.10059 -0.700195 -1.10059 -2.39941 0 -3.89941c1.09961 -1.5 2.7998 -2.10059 3.69922 -1.5zM128.1 119.6
c0.900391 0.700195 0.700195 2.2002 -0.399414 3.5c-1.10059 1 -2.60059 1.5 -3.5 0.600586c-0.900391 -0.700195 -0.700195 -2.2002 0.399414 -3.5c1.10059 -1 2.60059 -1.5 3.5 -0.600586zM121.4 127c0.399414 0.799805 -0.200195 1.90039 -1.5 2.59961
c-1.30078 0.5 -2.40039 0.200195 -2.80078 -0.399414c-0.399414 -0.900391 0.200195 -2 1.5 -2.60059c1.10059 -0.699219 2.40039 -0.5 2.80078 0.400391z" />
    <glyph glyph-name="twitter" unicode="&#xf099;" horiz-adv-x="512" 
d="M459.37 296.284c0.325195 -4.54785 0.325195 -9.09766 0.325195 -13.6455c0 -138.72 -105.583 -298.558 -298.559 -298.558c-59.4521 0 -114.68 17.2188 -161.137 47.1055c8.44727 -0.973633 16.5684 -1.29883 25.3398 -1.29883
c49.0547 0 94.2129 16.5684 130.274 44.832c-46.1318 0.975586 -84.792 31.1885 -98.1123 72.7725c6.49805 -0.974609 12.9951 -1.62402 19.8184 -1.62402c9.4209 0 18.8428 1.2998 27.6133 3.57324c-48.0811 9.74707 -84.1426 51.9795 -84.1426 102.984v1.29883
c13.9688 -7.79688 30.2139 -12.6699 47.4307 -13.3184c-28.2637 18.8428 -46.7803 51.0049 -46.7803 87.3906c0 19.4922 5.19629 37.3604 14.2939 52.9541c51.6543 -63.6748 129.3 -105.258 216.364 -109.807c-1.62402 7.79688 -2.59863 15.918 -2.59863 24.04
c0 57.8271 46.7822 104.934 104.934 104.934c30.2139 0 57.502 -12.6699 76.6709 -33.1367c23.7148 4.54785 46.4551 13.3193 66.5986 25.3398c-7.79785 -24.3662 -24.3662 -44.833 -46.1318 -57.8271c21.1172 2.27344 41.584 8.12207 60.4258 16.2432
c-14.292 -20.791 -32.1611 -39.3086 -52.6279 -54.2529z" />
    <glyph glyph-name="facebook" unicode="&#xf09a;" horiz-adv-x="512" 
d="M504 192c0 -123.78 -90.6904 -226.38 -209.25 -245v173.31h57.7803l11 71.6904h-68.7803v46.5498c0 19.6104 9.61035 38.7305 40.4102 38.7305h31.2803v61s-28.3809 4.83984 -55.5205 4.83984c-56.6699 0 -93.6699 -34.3301 -93.6699 -96.4805v-54.6396h-63v-71.6904h63
v-173.31c-118.56 18.6201 -209.25 121.22 -209.25 245c0 137 111 248 248 248s248 -111 248 -248z" />
    <glyph glyph-name="github" unicode="&#xf09b;" horiz-adv-x="496" 
d="M165.9 50.5996c0 -2 -2.30078 -3.59961 -5.2002 -3.59961c-3.2998 -0.299805 -5.60059 1.2998 -5.60059 3.59961c0 2 2.30078 3.60059 5.2002 3.60059c3 0.299805 5.60059 -1.2998 5.60059 -3.60059zM134.8 55.0996c0.700195 2 3.60059 3 6.2002 2.30078
c3 -0.900391 4.90039 -3.2002 4.2998 -5.2002c-0.599609 -2 -3.59961 -3 -6.2002 -2c-3 0.599609 -5 2.89941 -4.2998 4.89941zM179 56.7998c2.90039 0.299805 5.59961 -1 5.90039 -2.89941c0.299805 -2 -1.7002 -3.90039 -4.60059 -4.60059
c-3 -0.700195 -5.59961 0.600586 -5.89941 2.60059c-0.300781 2.2998 1.69922 4.19922 4.59961 4.89941zM244.8 440c138.7 0 251.2 -105.3 251.2 -244c0 -110.9 -67.7998 -205.8 -167.8 -239c-12.7002 -2.2998 -17.2998 5.59961 -17.2998 12.0996
c0 8.2002 0.299805 49.9004 0.299805 83.6006c0 23.5 -7.7998 38.5 -17 46.3994c55.8994 6.30078 114.8 14 114.8 110.5c0 27.4004 -9.7998 41.2002 -25.7998 58.9004c2.59961 6.5 11.0996 33.2002 -2.60059 67.9004c-20.8994 6.59961 -69 -27 -69 -27
c-20 5.59961 -41.5 8.5 -62.7998 8.5s-42.7998 -2.90039 -62.7998 -8.5c0 0 -48.0996 33.5 -69 27c-13.7002 -34.6006 -5.2002 -61.4004 -2.59961 -67.9004c-16 -17.5996 -23.6006 -31.4004 -23.6006 -58.9004c0 -96.1992 56.4004 -104.3 112.3 -110.5
c-7.19922 -6.59961 -13.6992 -17.6992 -16 -33.6992c-14.2998 -6.60059 -51 -17.7002 -72.8994 20.8994c-13.7002 23.7998 -38.6006 25.7998 -38.6006 25.7998c-24.5 0.300781 -1.59961 -15.3994 -1.59961 -15.3994c16.4004 -7.5 27.7998 -36.6006 27.7998 -36.6006
c14.7002 -44.7998 84.7002 -29.7998 84.7002 -29.7998c0 -21 0.299805 -55.2002 0.299805 -61.3994c0 -6.5 -4.5 -14.4004 -17.2998 -12.1006c-99.7002 33.4004 -169.5 128.3 -169.5 239.2c0 138.7 106.1 244 244.8 244zM97.2002 95.0996
c1.2998 1.30078 3.59961 0.600586 5.2002 -1c1.69922 -1.89941 2 -4.19922 0.699219 -5.19922c-1.2998 -1.30078 -3.59961 -0.600586 -5.19922 1c-1.7002 1.89941 -2 4.19922 -0.700195 5.19922zM86.4004 103.2c0.699219 1 2.2998 1.2998 4.2998 0.700195
c2 -1 3 -2.60059 2.2998 -3.90039c-0.700195 -1.40039 -2.7002 -1.7002 -4.2998 -0.700195c-2 1 -3 2.60059 -2.2998 3.90039zM118.8 67.5996c1.2998 1.60059 4.2998 1.30078 6.5 -1c2 -1.89941 2.60059 -4.89941 1.2998 -6.19922
c-1.2998 -1.60059 -4.19922 -1.30078 -6.5 1c-2.2998 1.89941 -2.89941 4.89941 -1.2998 6.19922zM107.4 82.2998c1.59961 1.2998 4.19922 0.299805 5.59961 -2c1.59961 -2.2998 1.59961 -4.89941 0 -6.2002c-1.2998 -1 -4 0 -5.59961 2.30078
c-1.60059 2.2998 -1.60059 4.89941 0 5.89941z" />
    <glyph glyph-name="pinterest" unicode="&#xf0d2;" horiz-adv-x="496" 
d="M496 192c0 -137 -111 -248 -248 -248c-25.5996 0 -50.2002 3.90039 -73.4004 11.0996c10.1006 16.5 25.2002 43.5 30.8008 65c3 11.6006 15.3994 59 15.3994 59c8.10059 -15.3994 31.7002 -28.5 56.7998 -28.5c74.8008 0 128.7 68.8008 128.7 154.301
c0 81.8994 -66.8994 143.199 -152.899 143.199c-107 0 -163.9 -71.7998 -163.9 -150.1c0 -36.4004 19.4004 -81.7002 50.2998 -96.0996c4.7002 -2.2002 7.2002 -1.2002 8.2998 3.2998c0.800781 3.39941 5 20.2998 6.90039 28.0996
c0.599609 2.5 0.299805 4.7002 -1.7002 7.10059c-10.0996 12.5 -18.2998 35.2998 -18.2998 56.5996c0 54.7002 41.4004 107.6 112 107.6c60.9004 0 103.6 -41.5 103.6 -100.899c0 -67.1006 -33.8994 -113.601 -78 -113.601c-24.2998 0 -42.5996 20.1006 -36.6992 44.8008
c7 29.5 20.5 61.2998 20.5 82.5996c0 19 -10.2002 34.9004 -31.4004 34.9004c-24.9004 0 -44.9004 -25.7002 -44.9004 -60.2002c0 -22 7.40039 -36.7998 7.40039 -36.7998s-24.5 -103.801 -29 -123.2c-5 -21.4004 -3 -51.6006 -0.900391 -71.2002
c-92.1992 36.0996 -157.6 125.9 -157.6 231c0 137 111 248 248 248s248 -111 248 -248z" />
    <glyph glyph-name="pinterest-square" unicode="&#xf0d3;" 
d="M448 368v-352c0 -26.5 -21.5 -48 -48 -48h-245.6c9.7998 16.4004 22.3994 40 27.3994 59.2998c3 11.5 15.2998 58.4004 15.2998 58.4004c8 -15.2998 31.4004 -28.2002 56.3008 -28.2002c74.0996 0 127.399 68.0996 127.399 152.7
c0 81.0996 -66.2002 141.8 -151.399 141.8c-106 0 -162.2 -71.0996 -162.2 -148.6c0 -36 19.2002 -80.8008 49.7998 -95.1006c4.7002 -2.2002 7.09961 -1.2002 8.2002 3.2998c0.799805 3.40039 5 20.1006 6.7998 27.8008c0.599609 2.5 0.299805 4.59961 -1.7002 7
c-10.0996 12.2998 -18.2998 34.8994 -18.2998 56c0 54.1992 41 106.6 110.9 106.6c60.2998 0 102.6 -41.0996 102.6 -99.9004c0 -66.3994 -33.5 -112.399 -77.2002 -112.399c-24.0996 0 -42.0996 19.8994 -36.3994 44.3994c6.89941 29.2002 20.2998 60.7002 20.2998 81.8008
c0 53 -75.5 45.6992 -75.5 -25c0 -21.7002 7.2998 -36.5 7.2998 -36.5c-31.4004 -132.801 -36.0996 -134.5 -29.5996 -192.601l2.19922 -0.799805h-88.5996c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48z" />
    <glyph glyph-name="google-plus-square" unicode="&#xf0d4;" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM164 92c57.7002 0 96 40.5 96 97.5996c0 6.5 -0.599609 11.6006 -1.59961 16.6006h-94.4004v-34.4004h56.9004
c-2.40039 -14.5996 -17.2002 -43.0996 -56.8008 -43.0996c-34.0996 0 -61.8994 28.2998 -61.8994 63.2002c0 35 27.7998 63.1992 61.8994 63.1992c19.5 0 32.4004 -8.2998 39.8008 -15.3994l27.0996 26.0996c-17.5 16.4004 -40 26.2002 -67 26.2002
c-55.2998 0 -100 -44.7002 -100 -100s44.7002 -100 100 -100zM384 173.8v29.2002h-29v29h-29.2002v-29h-29v-29.2002h29v-29h29.2002v29h29z" />
    <glyph glyph-name="google-plus-g" unicode="&#xf0d5;" horiz-adv-x="640" 
d="M386.061 219.504c1.83398 -9.69238 3.14355 -19.3838 3.14355 -31.9561c0 -109.753 -73.6055 -187.548 -184.404 -187.548c-106.084 0 -192 85.915 -192 192s85.916 192 192 192c51.8643 0 95.083 -18.8594 128.611 -50.292l-52.126 -50.0303
c-14.1455 13.6211 -39.0283 29.5996 -76.4854 29.5996c-65.4834 0 -118.92 -54.2217 -118.92 -121.277s53.4365 -121.277 118.92 -121.277c75.9609 0 104.514 54.7451 108.965 82.7734h-108.965v66.0088h181.261v-0.000976562zM571.467 213.067h55.7334v-56.001h-55.7334
v-55.7334h-56.001v55.7334h-55.7324v56.001h55.7324v55.7324h56.001v-55.7324z" />
    <glyph glyph-name="linkedin-in" unicode="&#xf0e1;" 
d="M100.28 0h-92.8799v299.1h92.8799v-299.1zM53.79 339.9c-29.7002 0 -53.79 24.5996 -53.79 54.2998c0 29.6875 24.1025 53.79 53.79 53.79s53.79 -24.1025 53.79 -53.79c0 -29.7002 -24.0996 -54.2998 -53.79 -54.2998zM447.9 0h-92.6807v145.6
c0 34.7002 -0.700195 79.2002 -48.29 79.2002c-48.29 0 -55.6895 -37.7002 -55.6895 -76.7002v-148.1h-92.7803v299.1h89.0801v-40.7998h1.2998c12.4004 23.5 42.6904 48.2998 87.8799 48.2998c94 0 111.28 -61.8994 111.28 -142.3v-164.3h-0.0996094z" />
    <glyph glyph-name="github-alt" unicode="&#xf113;" horiz-adv-x="480" 
d="M186.1 119.3c0 -20.8994 -10.8994 -55.0996 -36.6992 -55.0996c-25.8008 0 -36.7002 34.2002 -36.7002 55.0996c0 20.9004 10.8994 55.1006 36.7002 55.1006c25.7998 0 36.6992 -34.2002 36.6992 -55.1006zM480 169.8c0 -31.8994 -3.2002 -65.7002 -17.5 -95
c-37.9004 -76.5996 -142.1 -74.7998 -216.7 -74.7998c-75.7998 0 -186.2 -2.7002 -225.6 74.7998c-14.6006 29 -20.2002 63.1006 -20.2002 95c0 41.9004 13.9004 81.5 41.5 113.601c-5.2002 15.7998 -7.7002 32.3994 -7.7002 48.7998
c0 21.5 4.90039 32.2998 14.6006 51.7998c45.2998 0 74.2998 -9 108.8 -36c29 6.90039 58.7998 10 88.7002 10c27 0 54.1992 -2.90039 80.3994 -9.2002c34 26.7002 63 35.2002 107.8 35.2002c9.80078 -19.5 14.6006 -30.2998 14.6006 -51.7998
c0 -16.4004 -2.60059 -32.7002 -7.7002 -48.2002c27.5 -32.4004 39 -72.2998 39 -114.2zM415.7 119.3c0 43.9004 -26.7002 82.6006 -73.5 82.6006c-18.9004 0 -37 -3.40039 -56 -6c-14.9004 -2.30078 -29.7998 -3.2002 -45.1006 -3.2002
c-15.1992 0 -30.0996 0.899414 -45.0996 3.2002c-18.7002 2.59961 -37 6 -56 6c-46.7998 0 -73.5 -38.7002 -73.5 -82.6006c0 -87.7998 80.4004 -101.3 150.4 -101.3h48.1992c70.3008 0 150.601 13.4004 150.601 101.3zM333.1 174.4
c25.8008 0 36.7002 -34.2002 36.7002 -55.1006c0 -20.8994 -10.8994 -55.0996 -36.7002 -55.0996c-25.7998 0 -36.6992 34.2002 -36.6992 55.0996c0 20.9004 10.8994 55.1006 36.6992 55.1006z" />
    <glyph glyph-name="maxcdn" unicode="&#xf136;" horiz-adv-x="512" 
d="M461.1 5.2998h-97.3994l51.8994 242.7c2.30078 10.2002 0.900391 19.5 -4.39941 25.7002c-5 6.09961 -13.7002 9.59961 -24.2002 9.59961h-49.2998l-59.5 -278h-97.4004l59.5 278h-83.3994l-59.5 -278h-97.4004l59.5 278l-44.5996 95.4004h372.1
c39.4004 0 75.2998 -16.2998 98.2998 -44.9004c23.2998 -28.5996 31.7998 -67.3994 23.6006 -105.899z" />
    <glyph glyph-name="html5" unicode="&#xf13b;" horiz-adv-x="384" 
d="M0 416h384l-34.9004 -395.8l-157.6 -52.2002l-156.6 52.2002zM308.2 288.1l4.39941 47.7002h-241.1l12.7998 -145.6h166.9l-6 -62.2002l-53.7002 -14.5l-53.5 14.5l-3.5 38.0996h-47.7002l6 -75.7998l98.7002 -27.2998h1.09961v0.299805l97.9004 27l13.5996 148.4h-175.6
l-4.09961 49.3994h183.8z" />
    <glyph glyph-name="css3" unicode="&#xf13c;" horiz-adv-x="512" 
d="M480 416l-64 -368l-223.3 -80l-192.7 80l19.5996 94.7998h82l-8 -40.5996l116.4 -44.4004l134.1 44.4004l18.8008 97.0996h-333.4l16 82h333.7l10.5 52.7002h-333.4l16.2998 82h407.4z" />
    <glyph glyph-name="btc" unicode="&#xf15a;" horiz-adv-x="384" 
d="M310.204 205.362c46.0059 -11.0283 74.9971 -38.4443 69.3262 -99.8906c-7.24805 -76.5723 -61.5967 -97.0547 -142.896 -101.467v-68.0049h-48.5273v66.7451c-12.29 0 -25.21 0 -38.4443 0.314453v-67.0596h-48.5283v68.0049s-8.88867 0.31543 -97.3701 0.31543
l9.76758 57.666c34.7305 -0.614258 50.3301 -3.4209 53.2549 16.0703v217.43c-4.60645 24.5664 -24.709 22.1045 -63.0234 21.4268v51.6777c58.748 -0.275391 79.5283 -0.539062 97.3701 0v79.4092h48.5283v-77.833c12.9189 0.31543 25.8389 0.629883 38.4443 0.629883
v77.2031h48.5273v-79.4092c62.3926 -5.35547 109.492 -24.5781 114.851 -81.9287c4.09668 -41.9102 -13.5508 -67.1201 -41.2803 -81.2998zM150.608 313.447v-96.7402c27.416 0 113.126 -6.30273 113.126 48.2119c0 57.0352 -85.7109 48.5283 -113.126 48.5283z
M150.608 61.6709c32.7715 0 133.126 -6.93262 133.127 53.2529c0 62.3936 -100.355 53.2549 -133.127 53.2549v-106.508z" />
    <glyph glyph-name="youtube" unicode="&#xf167;" horiz-adv-x="576" 
d="M549.655 323.917c11.4121 -42.8672 11.4121 -132.305 11.4121 -132.305s0 -89.4385 -11.4121 -132.306c-6.28125 -23.6494 -24.7871 -41.5 -48.2842 -47.8203c-42.5908 -11.4863 -213.371 -11.4863 -213.371 -11.4863s-170.78 0 -213.371 11.4863
c-23.4971 6.32031 -42.0029 24.1709 -48.2842 47.8203c-11.4121 42.8672 -11.4121 132.306 -11.4121 132.306s0 89.4375 11.4121 132.305c6.28125 23.6504 24.7871 42.2754 48.2842 48.5967c42.5908 11.4863 213.371 11.4863 213.371 11.4863s170.781 0 213.371 -11.4863
c23.4971 -6.32031 42.0029 -24.9463 48.2842 -48.5967zM232.145 110.409l142.739 81.2012l-142.739 81.2051v-162.406z" />
    <glyph glyph-name="xing" unicode="&#xf168;" horiz-adv-x="384" 
d="M162.7 238c-1.7998 -3.2998 -25.2002 -44.4004 -70.1006 -123.5c-4.89941 -8.2998 -10.7998 -12.5 -17.6992 -12.5h-65.1006c-7.7002 0 -12.0996 7.5 -8.5 14.4004l69 121.3c0.200195 0 0.200195 0.0996094 0 0.299805l-43.8994 75.5996
c-4.30078 7.80078 0.299805 14.1006 8.5 14.1006h65.0996c7.2998 0 13.2998 -4.10059 18 -12.2002zM382.6 401.9l-144 -253v-0.300781l91.6006 -166.6c3.89941 -7.09961 0.200195 -14.0996 -8.5 -14.0996h-65.2002c-7.59961 0 -13.5996 4 -18 12.1992l-92.4004 168.5
c3.30078 5.80078 51.5 90.8008 144.801 255.2c4.59961 8.10059 10.3994 12.2002 17.5 12.2002h65.6992c8 0 12.3008 -6.7002 8.5 -14.0996z" />
    <glyph glyph-name="xing-square" unicode="&#xf169;" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM140.4 127.8c4.89941 0 9.09961 2.90039 12.5996 9.10059c32.0996 56.5 48.7998 85.8994 50.0996 88.1992l-31.8994 55.3008
c-3.40039 5.7998 -7.7002 8.69922 -12.9004 8.69922h-46.5996c-5.7998 0 -9 -4.5 -6 -10.0996l31.3994 -54c0.100586 -0.0996094 0.100586 -0.200195 0 -0.200195l-49.2998 -86.7002c-2.7002 -5 0.5 -10.2998 6 -10.2998h46.6006zM360.1 341.9
c2.80078 5.2998 -0.299805 10.0996 -6 10h-46.8994c-5.10059 0 -9.2002 -2.90039 -12.5 -8.7002c-66.6006 -117.4 -101.101 -178.2 -103.4 -182.3l66 -120.301c3.2002 -5.7998 7.40039 -8.69922 12.9004 -8.69922h46.5996c6.10059 0 8.7998 5 6 10.0996l-65.5 119v0.200195z
" />
    <glyph glyph-name="dropbox" unicode="&#xf16b;" horiz-adv-x="528" 
d="M264.4 331.7l-132 -84.2998l132 -84.3008l-132 -84.2998l-132.4 85.1006l132.3 84.2998l-132.3 83.5l132.3 84.2998zM131.6 52.2998l132 84.2998l132 -84.2998l-132 -84.2998zM264.4 163.9l132 84.2998l-132 83.5996l131.3 84.2002l132.3 -84.2998l-132.3 -84.2998
l132.3 -84.2002l-132.3 -84.2998z" />
    <glyph glyph-name="stack-overflow" unicode="&#xf16c;" horiz-adv-x="384" 
d="M290.7 137l-8.2002 -39l-195.7 41l8.2002 39.2998zM341.7 224l-25.5 -30.7998l-153.5 128.3l25.5 30.7998zM310.5 184.3l-16.7998 -36.2998l-181.2 84.5l16.7002 36.5zM262 416l119.3 -160.3l-32 -24l-119.3 160.3zM282.5 88v-39.7002h-200v39.7002h200zM322.2 8v120h40
v-160h-359.5v160h40v-120h279.5z" />
    <glyph glyph-name="instagram" unicode="&#xf16d;" 
d="M224.1 307c63.6006 0 114.9 -51.2998 114.9 -114.9c0 -63.5996 -51.2998 -114.899 -114.9 -114.899c-63.5996 0 -114.899 51.2998 -114.899 114.899c0 63.6006 51.2998 114.9 114.899 114.9zM224.1 117.4c41.1006 0 74.7002 33.5 74.7002 74.6992
c0 41.2002 -33.5 74.7002 -74.7002 74.7002c-41.1992 0 -74.6992 -33.5 -74.6992 -74.7002c0 -41.1992 33.5996 -74.6992 74.6992 -74.6992zM370.5 311.7c0 -14.9004 -12 -26.7998 -26.7998 -26.7998c-14.9004 0 -26.7998 12 -26.7998 26.7998s12 26.7998 26.7998 26.7998
s26.7998 -12 26.7998 -26.7998zM446.6 284.5c2.10059 -37 2.10059 -147.8 0 -184.8c-1.7998 -35.9004 -10 -67.7002 -36.1992 -93.9004c-26.2002 -26.2998 -58 -34.5 -93.9004 -36.2002c-37 -2.09961 -147.9 -2.09961 -184.9 0
c-35.8994 1.80078 -67.5996 10 -93.8994 36.2002s-34.5 58 -36.2002 93.9004c-2.09961 37 -2.09961 147.899 0 184.899c1.7998 35.9004 9.90039 67.7002 36.2002 93.9004s58.0996 34.4004 93.8994 36.0996c37 2.10059 147.9 2.10059 184.9 0
c35.9004 -1.7998 67.7002 -10 93.9004 -36.1992c26.2998 -26.2002 34.5 -58 36.1992 -93.9004zM398.8 60c11.7002 29.4004 9 99.5 9 132.1c0 32.6006 2.7002 102.601 -9 132.101c-7.89941 19.7002 -23 34.7998 -42.5996 42.5996c-29.4004 11.6006 -99.5 9 -132.101 9
c-32.5996 0 -102.6 2.7002 -132.1 -9c-19.7002 -7.89941 -34.7998 -23 -42.5996 -42.5996c-11.6006 -29.4004 -9 -99.5 -9 -132.101c0 -32.5996 -2.7002 -102.6 9 -132.1c7.89941 -19.7002 23 -34.7998 42.5996 -42.5996c29.4004 -11.6006 99.5 -9 132.1 -9
c32.6006 0 102.601 -2.7002 132.101 9c19.7002 7.89941 34.7998 23 42.5996 42.5996z" />
    <glyph glyph-name="flickr" unicode="&#xf16e;" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM144.5 129c35.0996 0 63.5 28.4004 63.5 63.5s-28.4004 63.5 -63.5 63.5s-63.5 -28.4004 -63.5 -63.5s28.4004 -63.5 63.5 -63.5z
M303.5 129c35.0996 0 63.5 28.4004 63.5 63.5s-28.4004 63.5 -63.5 63.5s-63.5 -28.4004 -63.5 -63.5s28.4004 -63.5 63.5 -63.5z" />
    <glyph glyph-name="adn" unicode="&#xf170;" horiz-adv-x="496" 
d="M248 280.5l64.9004 -98.7998h-129.801zM496 192c0 -136.9 -111.1 -248 -248 -248s-248 111.1 -248 248s111.1 248 248 248s248 -111.1 248 -248zM396.2 109.3l-148.2 223.2l-148.2 -223.2h30.4004l33.5996 51.7002h168.601l33.5996 -51.7002h30.2002z" />
    <glyph glyph-name="bitbucket" unicode="&#xf171;" horiz-adv-x="512" 
d="M22.2002 416l466.8 -0.200195c0.954102 -0.0136719 1.875 -0.0800781 2.7998 -0.200195c7.58789 -1.25 13.3994 -7.83203 13.3994 -15.7715c0 -0.860352 -0.0683594 -1.7041 -0.199219 -2.52832l-67.9004 -416.8c-1.24902 -7.58887 -7.84277 -13.4014 -15.7832 -13.4014
c-0.0722656 0 -0.144531 0 -0.216797 0.000976562h-325.699c-10.7129 0.0869141 -19.5967 7.94727 -21.3008 18.2002l-67.8994 412.101c-0.116211 0.924805 -0.182617 1.84668 -0.200195 2.7998c0.108398 8.7373 7.23242 15.8008 15.9951 15.8008
c0.0683594 0 0.136719 0 0.205078 -0.000976562zM308.1 118.2l25.2002 147h-157.3l28.0996 -147h104z" />
    <glyph glyph-name="tumblr" unicode="&#xf173;" horiz-adv-x="320" 
d="M309.8 -32.2998c-13.5996 -14.5 -50 -31.7002 -97.3994 -31.7002c-120.801 0 -147 88.7998 -147 140.6v144h-47.5c-5.5 0 -10 4.5 -10 10v68c0 7.2002 4.5 13.6006 11.2998 16c62 21.8008 81.5 76 84.2998 117.101c0.799805 11 6.5 16.2998 16.0996 16.2998h70.9004
c5.5 0 10 -4.5 10 -10v-115.2h83c5.5 0 10 -4.39941 10 -9.89941v-81.7002c0 -5.5 -4.5 -10 -10 -10h-83.4004v-133.2c0 -34.2002 23.7002 -53.5996 68 -35.7998c4.80078 1.89941 9 3.2002 12.7002 2.2002c3.5 -0.900391 5.7998 -3.40039 7.40039 -7.90039l22 -64.2998
c1.7998 -5 3.2998 -10.6006 -0.400391 -14.5z" />
    <glyph glyph-name="tumblr-square" unicode="&#xf174;" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM317.7 51.7998c2.2998 2.40039 1.2998 5.90039 0.299805 9.10059l-13.7998 40.1992c-1 2.80078 -2.40039 4.40039 -4.60059 4.90039
c-2.39941 0.599609 -5 -0.200195 -8 -1.40039c-27.6992 -11.0996 -42.5 1 -42.5 22.4004v83.2998h52.1006c3.39941 0 6.2002 2.7998 6.2002 6.2002v51.0996c0 3.40039 -2.80078 6.2002 -6.2002 6.2002h-51.9004v72c0 3.40039 -2.7998 6.2002 -6.2002 6.2002h-44.2998
c-5.89941 0 -9.5 -3.2998 -10 -10.2002c-1.7998 -25.7002 -13.8994 -59.5 -52.7002 -73.2002c-4.2998 -1.5 -7.09961 -5.5 -7.09961 -10v-42.5c0 -3.39941 2.7998 -6.19922 6.2002 -6.19922h29.7002v-90c0 -32.4004 16.3994 -87.9004 91.8994 -87.9004
c29.7002 0 52.4004 10.7002 60.9004 19.7998z" />
    <glyph glyph-name="apple" unicode="&#xf179;" horiz-adv-x="384" 
d="M318.7 179.3c0 -1.89941 -3.5 -61.2002 61.7002 -91.8994c-12.2002 -36.8008 -54 -118.601 -102.601 -119.301c-28.0996 0 -44.5996 17.9004 -76.3994 17.9004c-32.8008 0 -50.6006 -17.2998 -75.8008 -17.9004c-48.1992 -1.5 -94.3994 88.5 -107.199 125.2
c-9.60059 27.9336 -14.4004 55 -14.4004 81.2002c0 88.7002 59.2998 132.3 115.1 133.2c27 0 61.4004 -19.7002 76.4004 -19.7002c14.2002 0 53 23.5 88.5 20.7002c37.5 -2.90039 65.9004 -17.7002 84.7002 -44.6006c-33.6006 -20.3994 -50.2002 -48.0996 -50 -84.7998z
M262.1 343.5c-19.5996 -22.9004 -43.3994 -36.2998 -69.5 -34.2998c-2.19922 27.5996 8.10059 52.0996 25.6006 71.8994c15.8994 18.5 43.7998 33.5 67.8994 34.9004c0.800781 -10.5996 3.30078 -40.0996 -24 -72.5z" />
    <glyph glyph-name="windows" unicode="&#xf17a;" 
d="M0 354.3l183.6 25.2998v-177.399h-183.6v152.1zM0 29.7002v149.899h183.6v-175.199zM203.8 1.7002v177.899h244.2v-211.6zM203.8 382.3l244.2 33.7002v-213.8h-244.2v180.1z" />
    <glyph glyph-name="android" unicode="&#xf17b;" horiz-adv-x="576" 
d="M420.55 146.07c-13.2461 0 -24 10.7539 -24 24s10.7539 24 24 24s24 -10.7539 24 -24s-10.7539 -24 -24 -24zM155.45 146.07c-13.2461 0 -24 10.7539 -24 24s10.7539 24 24 24s24 -10.7539 24 -24s-10.7539 -24 -24 -24zM429.15 290.55l47.9395 83
c1.06738 1.59082 1.69043 3.50391 1.69043 5.5625c0 5.51855 -4.48047 10 -10 10c-3.93359 0 -7.32812 -2.25684 -8.95996 -5.5625v0l-48.54 -84.0693c-37.5742 16.8516 -79.2197 26.2266 -123.037 26.2266c-43.8164 0 -85.9492 -9.375 -123.523 -26.2266l-48.54 84.0693
c-1.63184 3.30566 -5.03809 5.58203 -8.97168 5.58203c-5.51953 0 -10 -4.48145 -10 -10c0 -2.05859 0.634766 -3.99121 1.70215 -5.58203v0l47.9395 -83c-82.3193 -44.7695 -138.609 -128.1 -146.85 -226.55h576c-8.24023 98.4502 -64.54 181.78 -146.85 226.55z" />
    <glyph glyph-name="linux" unicode="&#xf17c;" 
d="M220.8 324.7c-1.09961 0.599609 -3.09961 0.399414 -3.39941 1.7002c-0.200195 0.399414 0.199219 0.899414 0.599609 1.09961c1.59961 0.900391 3.7998 0.599609 5.5 -0.0996094c1.2998 -0.600586 3.40039 -1.5 3.2002 -2.90039
c-0.100586 -1.09961 -1.7998 -1.5 -2.90039 -1.5c-1.2002 0 -2 1.2002 -3 1.7002zM198.9 323c-1 -0.0996094 -2.7002 0.400391 -2.80078 1.40039c-0.199219 1.39941 1.90039 2.2998 3.2002 2.89941c1.7002 0.700195 3.90039 1 5.5 0.100586
c0.400391 -0.200195 0.799805 -0.700195 0.600586 -1.10059c-0.400391 -1.2002 -2.40039 -1 -3.5 -1.59961c-1 -0.5 -1.80078 -1.7002 -3 -1.7002zM420 44.2002c11.0996 -12.4004 15.9004 -21.5 15.5 -29.7002c-0.5 -8.2002 -6.5 -13.7998 -13.9004 -18.2998
c-14.8994 -9 -37.2998 -15.7998 -50.8994 -32.2002c-14.2002 -16.9004 -31.7002 -26.5996 -48.2998 -27.9004c-16.5 -1.2998 -32 6.30078 -40.3008 23v0.100586c-1.09961 2.09961 -1.89941 4.39941 -2.5 6.7002c-21.5 -1.2002 -40.1992 5.2998 -55.0996 4.09961
c-22 -1.2002 -35.7998 -6.5 -48.2998 -6.59961c-4.7998 -10.6006 -14.2998 -17.6006 -25.9004 -20.2002c-16 -3.7002 -36.0996 0 -55.8994 10.3994c-18.5 9.80078 -42 8.90039 -59.3008 12.5c-8.69922 1.80078 -16.2998 5 -20.0996 12.3008
c-3.7002 7.2998 -3 17.2998 2.2002 31.6992c1.7002 5.10059 0.399414 12.7002 -0.799805 20.8008c-0.600586 3.89941 -1.2002 7.89941 -1.2002 11.7998c0 4.2998 0.700195 8.5 2.7998 12.3994c4.5 8.5 11.7998 12.1006 18.5 14.5c6.7002 2.40039 12.7998 4 17 8.30078
c5.2002 5.5 10.0996 14.3994 16.5996 20.1992c-2.59961 17.2002 0.200195 35.4004 6.2002 53.3008c12.6006 37.8994 39.2002 74.1992 58.1006 96.6992c16.0996 22.9004 20.7998 41.3008 22.5 64.7002c1.09961 31.7998 -24.5 135.4 77.8994 135.2
c80.9004 -0.0996094 76.2998 -85.4004 75.7998 -131.3c-0.299805 -30.1006 16.3008 -50.5 33.4004 -72c15.2002 -18 35.0996 -44.2998 46.5 -74.4004c9.2998 -24.5996 12.9004 -51.7998 3.7002 -79.0996c1.39941 -0.5 2.7998 -1.2002 4.09961 -2
c1.40039 -0.799805 2.7002 -1.7998 4 -2.90039c6.60059 -5.59961 8.7002 -14.2998 10.5 -22.3994c1.90039 -8.10059 3.60059 -15.7002 7.2002 -19.7002zM223.7 360.7c-3.2002 -7.2002 -3.90039 -14.9004 -2.90039 -21.7998c3.60059 -0.900391 8.90039 -2.40039 13 -4.40039
c-2.09961 12.2002 4.5 23.5 11.7998 23c8.90039 -0.299805 13.9004 -15.5 9.10059 -27.2998c-0.799805 -1.90039 -2.7998 -3.40039 -3.90039 -4.60059c6.7002 -2.2998 11 -4.09961 12.6006 -4.89941c7.89941 9.5 10.7998 26.2002 4.2998 40.3994
c-9.7998 21.4004 -34.2002 21.8008 -44 -0.399414zM183 372.2c-18.9004 0 -24 -37.5 -8.40039 -52.1006c7.80078 5.7002 6.90039 4.7002 5.90039 5.5c-8 6.90039 -6.59961 27.4004 1.7998 28.1006c6.2998 0.5 10.7998 -10.7002 9.60059 -19.6006
c3.09961 2.10059 6.69922 3.60059 10.1992 4.60059c1.7002 19.2998 -9 33.5 -19.0996 33.5zM169.4 311.5c-4.2002 -3.2998 -5.60059 -7.40039 -4.2002 -12.2998c1.5 -4.90039 6.09961 -10.5 14.7002 -15.2998c7.7998 -4.60059 12 -11.5 20 -15
c2.59961 -1.10059 5.69922 -1.90039 9.59961 -2.10059c18.4004 -1.09961 27.0996 11.2998 38.2002 14.9004c11.7002 3.7002 20.0996 11 22.7002 18.0996c3.19922 8.5 -2.10059 14.7002 -10.5 18.2002c-11.3008 4.90039 -16.3008 5.2002 -22.6006 9.2998
c-10.2998 6.60059 -18.7998 8.90039 -25.8994 8.90039c-14.4004 0 -23.2002 -9.7998 -27.9004 -14.2002c-0.5 -0.5 -7.90039 -5.90039 -14.0996 -10.5zM172.7 -22.5c2.09961 20.5 -31.5 49 -41 68.9004l-19.6006 35.5996c-6.7998 9.2002 -13.7998 14.7998 -21.8994 16
c-7.7002 1.2002 -12.6006 -1.40039 -17.7002 -6.90039c-4.7998 -5.09961 -8.7998 -12.2998 -14.2998 -18c-7.7998 -6.5 -9.2998 -6.19922 -19.6006 -9.89941c-6.2998 -2.2002 -11.2998 -4.60059 -14.7998 -11.2998c-2.7002 -5 -2.09961 -12.2002 -0.899414 -20
c1.19922 -7.90039 3 -16.3008 0.599609 -23.9004v-0.200195c-5 -13.7002 -5 -21.7002 -2.59961 -26.3994c7.89941 -15.4004 46.5996 -6.10059 76.5 -21.9004c31.3994 -16.4004 72.5996 -17.0996 75.2998 18zM171.3 3.40039c37.6006 -25.7002 82.2002 -15.7002 114.3 7.19922
c3.2002 11 6.30078 21.3008 6.80078 29c0.799805 15.2002 1.59961 28.7002 4.39941 39.9004c3.10059 12.5996 9.2998 23.0996 21.4004 27.2998c2.2998 21.1006 18.7002 21.1006 38.2998 12.5c18.9004 -8.5 26 -16 22.7998 -26.0996c1 0 2 0.0996094 4.2002 0
c5.2002 16.8994 -14.2998 28 -30.7002 34.7998c2.90039 12 2.40039 24.0996 -0.399414 35.7002c-6 25.2998 -22.6006 47.7998 -35.2002 59c-2.2998 0.0996094 -2.10059 -1.90039 2.59961 -6.5c11.6006 -10.7002 37.1006 -49.2002 23.2998 -84.9004
c-3.89941 1 -7.59961 1.5 -10.8994 1.40039c-5.2998 29.0996 -17.5 53.2002 -23.6006 64.5996c-11.5 21.4004 -29.5 65.2998 -37.1992 95.7002c-4.5 -6.40039 -12.4004 -11.9004 -22.3008 -15c-4.69922 -1.5 -9.69922 -5.5 -15.8994 -9
c-13.9004 -8 -30 -8.7998 -42.4004 1.2002c-4.5 3.59961 -8 7.59961 -12.5996 10.2998c-1.60059 0.900391 -5.10059 3.2998 -6.2002 4.09961c-2 -37.7998 -27.2998 -85.2998 -39.2998 -112.699c-8.2998 -19.7002 -13.2002 -40.8008 -13.7998 -61.5
c-21.8008 29.0996 -5.90039 66.2998 2.59961 82.3994c9.5 17.6006 11 22.5 8.7002 20.7998c-8.60059 -14 -22 -36.2998 -27.2002 -59.1992c-2.7002 -11.9004 -3.2002 -24 0.299805 -35.2002s11.1006 -21.5 24.6006 -29.9004c0 0 24.7998 -14.2998 38.2998 -32.5
c7.39941 -10 9.7002 -18.7002 7.39941 -24.8994c-2.5 -6.7002 -9.59961 -8.90039 -16.6992 -8.90039c4.7998 -6 10.2998 -13 14.3994 -19.5996zM428.7 14.9004c0.299805 5.09961 -3.10059 13 -13.7002 24.5996c-10 11.2998 -7.2002 33.0996 -17.0996 41.5996
c-6.90039 6 -13.6006 5.40039 -22.6006 5.10059c-7.7002 -8.7998 -25.7998 -19.6006 -38.3994 -16.2998c-11.5 2.89941 -18 16.2998 -18.8008 29.5c-0.299805 -0.200195 -0.699219 -0.300781 -1 -0.5c-7.09961 -3.90039 -11.0996 -10.8008 -13.6992 -21.1006
c-2.5 -10.2002 -3.40039 -23.5 -4.2002 -38.7002c-0.700195 -11.7998 -6.2002 -26.3994 -9.90039 -40.5996c-3.5 -13.2002 -5.7998 -25.2002 -1.09961 -36.2998c7.2002 -14.5 19.5 -20.4004 33.7002 -19.2998c14.1992 1.09961 30.3994 9.7998 43.5996 25.5
c22 26.5996 62.2998 29.6992 63.2002 46.5zM173.3 299.3c-3.5 2.7998 -3.09961 6.60059 -1.7002 6.5c2.40039 -0.299805 2.80078 -3.5 4.30078 -4.89941c2 -1.90039 4.59961 -4.40039 7.69922 -6.90039c6.2002 -4.90039 14.5 -9.7002 24.9004 -9.7002
s22.5 6 29.9004 10.2002c4.19922 2.40039 9.5 6.59961 13.8994 9.7998c3.40039 2.5 3.2002 5.40039 6 5.10059c2.7998 -0.300781 0.799805 -3.2002 -3.09961 -6.60059c-3.90039 -3.39941 -9.90039 -7.7998 -14.7998 -10.3994
c-9.30078 -4.90039 -20.2002 -10.8008 -31.8008 -10.8008c-11.5 0 -20.6992 5.40039 -27.2998 10.6006c-3.2998 2.59961 -6 5.2002 -8 7.09961z" />
    <glyph glyph-name="dribbble" unicode="&#xf17d;" horiz-adv-x="512" 
d="M256 440c136.748 0 248 -111.252 248 -248s-111.252 -248 -248 -248s-248 111.252 -248 248s111.252 248 248 248zM419.97 325.634c-4.46582 -6.04102 -39.9629 -51.5459 -118.284 -83.5225c7.43652 -15.2217 12.8652 -27.5732 18.6172 -41.6143
c70.4844 8.86426 140.519 -5.34082 147.502 -6.81836c-0.46582 49.998 -18.332 95.9092 -47.835 131.955zM396.421 350.13c-52.0947 46.2188 -122.885 63.6816 -190.061 47.4893c5.85449 -7.83984 44.3281 -60.2324 79.04 -124.008
c75.3232 28.2324 107.211 71.0918 111.021 76.5186zM165.941 383.38c-59.2637 -27.9531 -103.562 -82.585 -117.298 -148.318c9.47461 -0.125 96.7471 -0.503906 195.834 25.8096c-35.0986 62.3926 -72.9512 114.85 -78.5361 122.509zM44.1699 191.677
c0 -54.4072 20.624 -104.082 54.457 -141.636c34.3369 58.7793 103.932 120.731 180.531 142.306c-5.31738 12.0342 -11.1104 24.0811 -17.1738 35.9492c-105.786 -31.6592 -208.438 -30.3359 -217.706 -30.1455c-0.0654297 -2.15137 -0.108398 -4.30762 -0.108398 -6.47363
zM125.977 24.5645c62.7539 -48.9355 144.656 -56.8955 212.769 -27.8828c-3.15039 18.585 -15.4492 83.3555 -45.1895 160.639c-85.4004 -29.1348 -145.452 -87.5234 -167.579 -132.756zM374.357 16.0752c47.5215 32.1338 81.3525 83.0371 90.7949 141.978
c-7.24707 2.28711 -65.5674 19.6816 -131.947 9.05566c27.7061 -76.1367 38.9805 -138.147 41.1523 -151.033z" />
    <glyph glyph-name="skype" unicode="&#xf17e;" 
d="M424.7 148.2c14.5996 -18.9004 23.2998 -42.5 23.2002 -68.1006c0 -61.7998 -50.2002 -112 -112 -112c-25.6006 0 -49.2002 8.7002 -68.2002 23.3008c-14.1006 -3 -28.9004 -4.7002 -43.7998 -4.7002c-113.4 0 -205.301 91.7998 -205.301 205.3
c0 14.9004 1.80078 29.7998 4.7002 43.7998c-14.5996 18.9004 -23.2998 42.5 -23.2998 68.2002c0 61.7998 50.2002 112 112 112c25.7002 0 49.2998 -8.7002 68.2998 -23.4004c14.1006 3 28.9004 4.7002 43.7998 4.7002c113.4 0 205.301 -91.7998 205.301 -205.3
c0 -14.9004 -1.80078 -29.7998 -4.7002 -43.7998zM230.1 56.7002c54.9004 0 112 27.3994 112 86.5c0 50.7998 -49.2998 68.2998 -90.6992 77.5996c-48.3008 11.2002 -69.1006 13.2002 -69.1006 33c0 15.5 16.2998 22.5 42 22.5c45.7998 0 46.7002 -33.5 75 -33.5
c18.9004 0 30.2998 14.9004 30.2998 31.7998c0 33.5 -55.6992 55.4004 -110.8 55.4004c-50.5 0 -109.1 -21.9004 -109.1 -81.0996c0 -65.2002 55.2998 -71.8008 117.8 -87.2002c26 -6.40039 42 -9.2998 42 -28c0 -14.9004 -16.5996 -26.2998 -42.2998 -26.2998
c-54 0 -56.9004 44.8994 -88.1006 44.8994c-20.5 0 -29.5 -14.5996 -29.5 -30.5996c0 -35.7998 54.9004 -65 120.5 -65z" />
    <glyph glyph-name="foursquare" unicode="&#xf180;" horiz-adv-x="368" 
d="M323.1 445c40 0 50.7002 -22.7998 42.2002 -65.2002l-48.5996 -243c-3.7002 -14.5 -9.2002 -39.7002 -44.2998 -39.7002h-83.4004c-3.40039 0 -3.7002 0.300781 -6.7998 -3.09961c0 0 -2.2002 -2.5 -131.101 -151.9
c-10.0996 -11.6992 -26.6992 -9.59961 -32.8994 -7.09961c-6.10059 2.40039 -18.2002 9.7998 -18.2002 30.0996v433.801c0 17.7998 12.4004 46.0996 49.9004 46.0996h273.199zM306.8 371.2c2.10059 9.7998 -5.2998 17.5 -13.5 17.5h-219
c-9.7998 0 -16.5996 -8.90039 -16.5996 -16.6006v-338.8c0 -0.899414 0.899414 -1.2002 1.7998 -0.299805c80.5996 96.9004 89.5 108.3 89.5 108.3c9.2998 10.7998 13 12.6006 26.5 12.6006h73.5c10.0996 0 16 8.59961 16.9004 13.5
c0.899414 5 9.59961 49.8994 11.3994 58.7998c1.7998 9 -6.5 18.2002 -14.7998 18.2002h-90.4004c-12 0 -20.5996 8.59961 -20.5996 20.5996v13c0 12 8.59961 20.2998 20.5996 20.2998h106.4c7.40039 0 15.7002 6.7002 16.9004 13.2002z" />
    <glyph glyph-name="trello" unicode="&#xf181;" 
d="M392.3 416c30.7998 -0.200195 55.7002 -25.2002 55.6006 -56v-336c0 -30.7998 -24.9004 -55.7998 -55.7002 -56h-336.2c-30.9004 0 -56 25.0996 -56 56c0 340 -0.0996094 336 0 336c0 30.9004 25.0996 56 56.0996 56h336.2zM197 76.7002h0.0996094v254.2
c0 14.8994 -12.0996 26.8994 -26.8994 26.8994h-82.9004c-14.8994 0 -26.8994 -12.0996 -26.8994 -26.8994v-254.2c0.0996094 -14.7998 12.1992 -26.7002 27 -26.6006h82.6992c14.8008 0 26.7002 11.9004 26.9004 26.6006zM390.1 188.7v142.1
c0 14.9004 -12.0996 26.9004 -26.8994 26.9004h-81.1006c-14.7998 0 -26.7998 -12.1006 -26.7998 -26.9004v-142.1c0 -14.9004 12.1006 -26.9004 26.9004 -26.9004h81c14.8994 0 26.8994 12.1006 26.8994 26.9004z" />
    <glyph glyph-name="gratipay" unicode="&#xf184;" horiz-adv-x="496" 
d="M248 440c136.9 0 248 -111.1 248 -248s-111.1 -248 -248 -248s-248 111.1 -248 248s111.1 248 248 248zM362.6 213.6c8.80078 12 19.1006 50.4004 -13.7998 72c-27.7002 18.1006 -54.2002 4.2002 -68.0996 -11.8994c-15.1006 -16.9004 -45.7998 -17.9004 -61.7002 0
c-13.9004 16.0996 -40.4004 30 -68.5 11.8994c-32.7002 -21.5996 -22.2998 -60.0996 -13.5996 -72l112.699 -152.699z" />
    <glyph glyph-name="vk" unicode="&#xf189;" horiz-adv-x="576" 
d="M545 330.3c-7.40039 -34.2998 -79.2998 -135.5 -79.4004 -135.6c-6.19922 -10 -8.69922 -15 0 -26.2002c3.40039 -4.7998 79.1006 -76.5996 90.3008 -111.5c4.89941 -16.5996 -3.60059 -25 -20.4004 -25h-58.9004c-22.3994 0 -29 17.9004 -69 57.9004
c-35 33.6992 -50 38.0996 -58.6992 38.0996c-18.8008 0 -15.4004 -6.2998 -15.4004 -73.0996c0 -14.5 -4.59961 -22.9004 -42.0996 -22.9004c-62.4004 0 -131 37.9004 -179.7 107.8c-73.1006 102.4 -93.1006 179.9 -93.1006 195.5c0 8.7998 3.40039 16.7002 20.2002 16.7002
h58.9004c15.0996 0 20.7998 -6.59961 26.5996 -22.9004c28.7998 -84 77.4004 -157.399 97.4004 -157.399c7.5 0 10.8994 3.5 10.8994 22.5v86.7998c-2.19922 40 -23.3994 43.2998 -23.3994 57.5c0 6.5 5.59961 13.5 15 13.5h92.5996
c12.4004 0 16.6006 -6.7002 16.6006 -21.7002v-116.7c0 -12.5 5.69922 -16.8994 9.39941 -16.8994c7.5 0 13.7998 4.39941 27.5 18.0996c42.4004 47.4004 72.4004 120.5 72.4004 120.5c3.7002 8.7998 10.5996 16.7002 25.5996 16.7002h58.9004
c17.7998 0 21.5 -9.2002 17.7998 -21.7002z" />
    <glyph glyph-name="weibo" unicode="&#xf18a;" horiz-adv-x="512" 
d="M407 270.4c7.59961 24 -13.4004 46.7998 -37.4004 41.6992c-22 -4.7998 -28.7998 28.1006 -7.09961 32.8008c50.0996 10.8994 92.2998 -37.1006 76.5 -84.8008c-6.7998 -21.1992 -38.7998 -10.7998 -32 10.3008zM214.8 1.2998c-106.3 0 -214.8 51.4004 -214.8 136.3
c0 44.3008 28 95.4004 76.2998 143.7c99.7002 99.7002 203.2 100.9 173.601 5.7002c-4 -13.0996 12.2998 -5.7002 12.2998 -6c79.5 33.5996 140.5 16.7998 114 -51.4004c-3.7002 -9.39941 1.09961 -10.8994 8.2998 -13.0996c135.7 -42.2998 34.7998 -215.2 -169.7 -215.2z
M358.5 147.6c-5.40039 55.7002 -78.5 94 -163.4 85.7002c-84.7998 -8.59961 -148.8 -60.2998 -143.399 -116c5.39941 -55.7002 78.5 -94 163.399 -85.7002c84.8008 8.60059 148.801 60.3008 143.4 116zM347.9 412.9c102.3 21.5996 189.3 -74.5 157.399 -174.301
c-8.2998 -25 -44.7998 -12.1992 -37.3994 12c23.0996 71.2002 -39.4004 139.2 -111.7 124c-25.1006 -5.39941 -34.2002 32.7002 -8.2998 38.3008zM269.4 101.9c-17.1006 -38.8008 -66.8008 -60 -109.101 -46.3008c-40.7998 13.1006 -58 53.4004 -40.2998 89.7002
c17.7002 35.4004 63.0996 55.4004 103.4 45.1006c42 -10.8008 63.0996 -50.2002 46 -88.5zM183.1 131.9c-12.8994 5.39941 -30 -0.300781 -38 -12.9004c-8.2998 -12.9004 -4.2998 -28 8.60059 -34c13.0996 -6 30.7998 -0.299805 39.0996 12.9004
c8 13.0996 3.7002 28.2998 -9.7002 34zM215.7 145.3c-5.10059 1.7002 -11.4004 -0.599609 -14.2998 -5.39941c-2.90039 -5.10059 -1.40039 -10.6006 3.69922 -12.9004c5.10059 -2 11.7002 0.299805 14.6006 5.40039c2.7998 5.19922 1.09961 10.8994 -4 12.8994z" />
    <glyph glyph-name="renren" unicode="&#xf18b;" horiz-adv-x="512" 
d="M214 278.9c0 -110.4 -61 -205.4 -147.6 -247.4c-36.4004 43.2998 -58.4004 98.7998 -58.4004 159.9c0 122.699 89.0996 224.399 206 244.1v-156.6zM255 -56c-42.9004 0 -83.2998 11 -118.5 30.4004c57.2002 36.0996 103.4 90.6992 118.5 154.6
c15.5 -63.9004 61.7002 -118.5 118.8 -154.7c-35.0996 -19.2998 -75.5 -30.2998 -118.8 -30.2998zM445.6 31.5c-86.5996 42 -147.6 136.9 -147.6 247.4v156.6c116.9 -19.7002 206 -121.4 206 -244.1c0 -61.1006 -22 -116.601 -58.4004 -159.9z" />
    <glyph glyph-name="pagelines" unicode="&#xf18c;" horiz-adv-x="384" 
d="M384 135.3c-55.0996 -136.7 -187.1 -54 -187.1 -54c-40.5 -81.7998 -107.4 -134.399 -184.601 -134.7c-16.0996 0 -16.5996 24.4004 0 24.4004c64.4004 0.299805 120.5 42.7002 157.2 110.1c-41.0996 -15.8994 -118.6 -27.8994 -161.6 82.2002
c109 44.9004 159.1 -11.2002 178.3 -45.5c9.89941 24.4004 17 50.9004 21.5996 79.7002c0 0 -139.7 -21.9004 -149.5 98.0996c119.101 47.9004 152.601 -76.6992 152.601 -76.6992c1.59961 16.6992 3.2998 52.5996 3.2998 53.3994c0 0 -106.3 73.7002 -38.1006 165.2
c124.601 -43 61.4004 -162.4 61.4004 -162.4c0.5 -1.59961 0.5 -23.7998 0 -33.3994c0 0 45.2002 89 136.4 57.5c-4.2002 -134 -141.9 -106.4 -141.9 -106.4c-4.40039 -27.3994 -11.2002 -53.3994 -20 -77.5c0 0 83 91.7998 172 20z" />
    <glyph glyph-name="stack-exchange" unicode="&#xf18d;" 
d="M17.7002 115.7h412.7v-22c0 -37.7002 -29.3008 -68 -65.3008 -68h-19l-86.7998 -89.7002v89.7002h-176.3c-36 0 -65.2998 30.2998 -65.2998 68v22zM17.7002 139.3v85h412.7v-85h-412.7zM17.7002 248.7v85h412.7v-85h-412.7zM365 448
c36 0 65.2998 -30.2998 65.4004 -67.7002v-22.2998h-412.7v22.2998c0 37.4004 29.2998 67.7002 65.2998 67.7002h282z" />
    <glyph glyph-name="vimeo-square" unicode="&#xf194;" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM383.8 266.4c1.90039 41.5996 -13.5996 63 -46.5 64c-44.2998 1.39941 -74.3994 -23.6006 -90.0996 -75.1006
c19.5996 8.40039 48.5996 10.6006 45.2002 -22.2002c-0.900391 -11.0996 -8.10059 -27.0996 -21.5 -48.2998c-37.2002 -58.7002 -46.3008 -39.0996 -66.8008 90.5c-5.7998 36.5 -21.0996 53.5 -46 51.1006c-22 -2 -57.1992 -38 -94.0996 -70.4004l15 -19.4004
c14.2998 10.1006 22.7002 15.1006 25.0996 15.1006c20.8008 0 31.5 -54.1006 56.7002 -146.4c12.9004 -34.3994 28.6006 -51.5996 47.2998 -51.5996c30.1006 0 66.9004 28.2998 110.4 84.7998c42.0996 54.0996 63.9004 96.7998 65.2998 127.9z" />
    <glyph glyph-name="slack" unicode="&#xf198;" 
d="M94.1201 132.9c0 -25.9004 -21.1602 -47.0605 -47.0605 -47.0605c-25.8994 0 -47.0596 21.1602 -47.0596 47.0605c0 25.8994 21.1602 47.0596 47.0596 47.0596h47.0605v-47.0596zM117.84 132.9c0 25.8994 21.1602 47.0596 47.0605 47.0596
c25.8994 0 47.0596 -21.1602 47.0596 -47.0596v-117.841c0 -25.8994 -21.1602 -47.0596 -47.0596 -47.0596c-25.9004 0 -47.0605 21.1602 -47.0605 47.0596v117.841zM164.9 321.88c-25.9004 0 -47.0605 21.1602 -47.0605 47.0605c0 25.8994 21.1602 47.0596 47.0605 47.0596
c25.8994 0 47.0596 -21.1602 47.0596 -47.0596v-47.0605h-47.0596zM164.9 298.16c25.8994 0 47.0596 -21.1602 47.0596 -47.0605c0 -25.8994 -21.1602 -47.0596 -47.0596 -47.0596h-117.841c-25.8994 0 -47.0596 21.1602 -47.0596 47.0596
c0 25.9004 21.1602 47.0605 47.0596 47.0605h117.841zM353.88 251.1c0 25.9004 21.1602 47.0605 47.0605 47.0605c25.8994 0 47.0596 -21.1602 47.0596 -47.0605c0 -25.8994 -21.1602 -47.0596 -47.0596 -47.0596h-47.0605v47.0596zM330.16 251.1
c0 -25.8994 -21.1602 -47.0596 -47.0605 -47.0596c-25.8994 0 -47.0596 21.1602 -47.0596 47.0596v117.841c0 25.8994 21.1602 47.0596 47.0596 47.0596c25.9004 0 47.0605 -21.1602 47.0605 -47.0596v-117.841zM283.1 62.1201c25.9004 0 47.0605 -21.1602 47.0605 -47.0605
c0 -25.8994 -21.1602 -47.0596 -47.0605 -47.0596c-25.8994 0 -47.0596 21.1602 -47.0596 47.0596v47.0605h47.0596zM283.1 85.8398c-25.8994 0 -47.0596 21.1602 -47.0596 47.0605c0 25.8994 21.1602 47.0596 47.0596 47.0596h117.841
c25.8994 0 47.0596 -21.1602 47.0596 -47.0596c0 -25.9004 -21.1602 -47.0605 -47.0596 -47.0605h-117.841z" />
    <glyph glyph-name="wordpress" unicode="&#xf19a;" horiz-adv-x="512" 
d="M61.7002 278.6l101.5 -278c-71 34.4004 -119.9 107.2 -119.9 191.4c0 30.9004 6.60059 60.0996 18.4004 86.5996zM399.6 202.7c0 -18.2002 -7 -39.2998 -16 -68.7002l-21.1992 -70.9004l-76.9004 228.7c12.7998 0.700195 24.2998 2 24.2998 2
c11.4004 1.2998 10.1006 18.2002 -1.39941 17.5c0 0 -34.5 -2.7002 -56.7002 -2.7002c-20.9004 0 -56 2.7002 -56 2.7002c-11.4004 0.700195 -12.7998 -16.7998 -1.2998 -17.5c0 0 10.7998 -1.2998 22.2998 -2l33.0996 -90.7998l-46.5996 -139.6l-77.5 230.399
c12.7998 0.700195 24.2998 2 24.2998 2c11.4004 1.2998 10.0996 18.2002 -1.40039 17.5c0 0 -34.5 -2.7002 -56.6992 -2.7002c-4 0 -8.7002 0.100586 -13.7002 0.300781c38.0996 57.7998 103.5 95.8994 177.8 95.8994c55.4004 0 105.8 -21.2002 143.7 -55.8994
c-1 0.0996094 -1.90039 0.199219 -2.7998 0.199219c-20.9004 0 -35.7002 -18.1992 -35.7002 -37.7998c0 -17.5 10.0996 -32.3994 20.8994 -49.8994c8.10059 -14.2002 17.5 -32.4004 17.5 -58.7002zM259.7 173.4l65.3994 -179.2c0.400391 -1 0.900391 -2 1.5 -2.90039
c-22.0996 -7.7998 -45.7998 -12.0996 -70.5996 -12.0996c-20.9004 0 -41 3.09961 -60.0996 8.7002zM442.7 294.1c16.5996 -30.2998 26 -65.0996 26 -102.1c0 -78.5 -42.5 -147 -105.8 -183.9l65 187.9c12.1992 30.4004 16.1992 54.5996 16.1992 76.2002
c0 7.89941 -0.5 15.0996 -1.39941 21.8994zM504 192c0 -136.8 -111.3 -248 -248 -248c-136.8 0 -248 111.3 -248 248c0 136.8 111.2 248 248 248c136.7 0 248 -111.2 248 -248zM492.6 192c0 130.5 -106.199 236.6 -236.6 236.6c-130.5 0 -236.6 -106.1 -236.6 -236.6
s106.199 -236.6 236.6 -236.6c130.5 0 236.6 106.1 236.6 236.6z" />
    <glyph glyph-name="openid" unicode="&#xf19b;" 
d="M271.5 16l-68 -32c-115 10.2998 -203.5 71.5 -203.5 145.8c0 71.5 82.5 131 191.7 144.3v-43c-71.5 -12.5 -124 -53 -124 -101.3c0 -51 58.5 -93.2998 135.7 -103v340l68 33.2002v-384h0.0996094zM448 157l-131.3 28.5l36.7998 20.7002c-19.5 11.5 -43.5 20 -70 24.7998
v43c46.2002 -5.5 87.7002 -19.5 120.3 -39.2998l35 19.7998z" />
    <glyph glyph-name="yahoo" unicode="&#xf19e;" horiz-adv-x="512" 
d="M223.69 306.94h93.5791l-140.909 -338.94h-94.1699l38.5693 89.8096l-105.83 249.131h96.0703l56 -143.171zM329.09 171.15c32.1328 0 58.2197 -26.0879 58.2197 -58.2207c0 -32.1318 -26.0869 -58.2197 -58.2197 -58.2197s-58.2197 26.0879 -58.2197 58.2197
c0 32.1328 26.0869 58.2207 58.2197 58.2207zM394.65 416h104.42l-92.6299 -223.47h-104.79z" />
    <glyph glyph-name="google" unicode="&#xf1a0;" horiz-adv-x="488" 
d="M488 186.2c0 -141.5 -96.9004 -242.2 -240 -242.2c-137.2 0 -248 110.8 -248 248s110.8 248 248 248c66.7998 0 123 -24.5 166.3 -64.9004l-67.5 -64.8994c-88.2998 85.2002 -252.5 21.2002 -252.5 -118.2c0 -86.5 69.1006 -156.6 153.7 -156.6
c98.2002 0 135 70.3994 140.8 106.899h-140.8v85.2998h236.1c2.30078 -12.6992 3.90039 -24.8994 3.90039 -41.3994z" />
    <glyph glyph-name="reddit" unicode="&#xf1a1;" horiz-adv-x="512" 
d="M201.5 142.5c-13.7998 0 -24.9004 11.0996 -24.9004 24.5996c0 13.8008 11.1006 24.9004 24.9004 24.9004c13.5996 0 24.5996 -11.0996 24.5996 -24.9004c0 -13.5996 -11.0996 -24.5996 -24.5996 -24.5996zM504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248
s111 248 248 248s248 -111 248 -248zM371.7 233.2c-9.40039 0 -17.7002 -3.90039 -23.7998 -10c-22.4004 15.5 -52.6006 25.5 -86.1006 26.5996l17.4004 78.2998l55.3994 -12.5c0 -13.5996 11.1006 -24.5996 24.6006 -24.5996c13.7998 0 24.8994 11.2998 24.8994 24.9004
c0 13.5996 -11.0996 24.8994 -24.8994 24.8994c-9.7002 0 -18 -5.7998 -22.1006 -13.7998l-61.1992 13.5996c-3 0.800781 -6.10059 -1.39941 -6.90039 -4.39941l-19.0996 -86.4004c-33.2002 -1.39941 -63.1006 -11.2998 -85.5 -26.7998
c-6.10059 6.40039 -14.7002 10.2002 -24.1006 10.2002c-34.8994 0 -46.2998 -46.9004 -14.3994 -62.7998c-1.10059 -5 -1.7002 -10.2002 -1.7002 -15.5c0 -52.6006 59.2002 -95.2002 132 -95.2002c73.0996 0 132.3 42.5996 132.3 95.2002
c0 5.2998 -0.599609 10.7998 -1.90039 15.7998c31.3008 16 19.8008 62.5 -14.8994 62.5zM302.8 117c2.2002 2.2002 6.10059 2.2002 8.2998 0c2.5 -2.5 2.5 -6.40039 0 -8.59961c-22.8994 -22.8008 -87.3994 -22.8008 -110.199 0c-2.5 2.19922 -2.5 6.09961 0 8.59961
c2.19922 2.2002 6.09961 2.2002 8.2998 0c17.5 -17.9004 75.3994 -18.2002 93.5996 0zM310.5 192c13.9004 0 24.9004 -11.0996 24.9004 -24.9004c0 -13.5 -11.1006 -24.5996 -24.9004 -24.5996c-13.5 0 -24.5996 11 -24.5996 24.5996c0 13.8008 11 24.9004 24.5996 24.9004z
" />
    <glyph glyph-name="reddit-square" unicode="&#xf1a2;" 
d="M283.2 102.5c2.7002 -2.7002 2.7002 -6.7998 0 -9.2002c-24.5 -24.5 -93.7998 -24.5996 -118.4 0c-2.7002 2.40039 -2.7002 6.5 0 9.2002c2.40039 2.40039 6.5 2.40039 8.90039 0c18.7002 -19.2002 81 -19.5996 100.5 0c2.39941 2.2998 6.59961 2.2998 9 0zM191.9 156.3
c0 -14.5996 -11.9004 -26.5 -26.5 -26.5c-14.9004 0 -26.8008 11.9004 -26.8008 26.5c0 14.9004 11.9004 26.7998 26.8008 26.7998c14.5996 0 26.5 -11.8994 26.5 -26.7998zM282.6 183.1c14.9004 0 26.8008 -11.8994 26.8008 -26.7998
c0 -14.5996 -11.9004 -26.5 -26.8008 -26.5c-14.5996 0 -26.5 11.9004 -26.5 26.5c0 14.9004 11.9004 26.7998 26.5 26.7998zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM348.3 227.4
c-10.0996 0 -19 -4.2002 -25.5996 -10.7002c-24.1006 16.7002 -56.5 27.3994 -92.5 28.5996l18.7002 84.2002l59.5 -13.4004c0 -14.5996 11.8994 -26.5 26.5 -26.5c14.8994 0 26.7998 12.2002 26.7998 26.8008c0 14.5996 -11.9004 26.7998 -26.7998 26.7998
c-10.4004 0 -19.3008 -6.2002 -23.8008 -14.9004l-65.6992 14.6006c-3.30078 0.899414 -6.5 -1.5 -7.40039 -4.80078l-20.5 -92.7998c-35.7002 -1.5 -67.7998 -12.2002 -91.9004 -28.8994c-6.5 6.7998 -15.7998 11 -25.8994 11c-37.5 0 -49.7998 -50.4004 -15.5 -67.5
c-1.2002 -5.40039 -1.7998 -11 -1.7998 -16.7002c0 -56.5 63.6992 -102.3 141.899 -102.3c78.5 0 142.2 45.7998 142.2 102.3c0 5.7002 -0.599609 11.5996 -2.09961 17c33.5996 17.2002 21.1992 67.2002 -16.1006 67.2002z" />
    <glyph glyph-name="stumbleupon-circle" unicode="&#xf1a3;" horiz-adv-x="496" 
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 262.5c9.7998 0 17.7998 -8 17.7002 -17.5996v-20.6006l22.8994 -10.7002l34.1006 10.1006v23.7002c0 40.2998 -34 72.5996 -74.7002 72.5996
c-40.5 0 -74.7002 -32.0996 -74.7002 -72.0996v-108.4c0 -9.90039 -8 -17.7998 -17.7998 -17.7998s-17.7998 7.7998 -17.7998 17.7998v45.7998h-57.2998v-46.5c0 -41.3994 33.5 -74.8994 74.8994 -74.8994c41 0 74.9004 33 74.9004 73.8994v106.9
c0 9.7998 8 17.7998 17.7998 17.7998zM423.6 138.9c0 0 0 0.5 0.100586 46.3994h-57.2998v-48c0 -9.7002 -8 -17.5996 -17.8008 -17.5996c-9.7998 0 -17.7998 7.7998 -17.7998 17.5996v47.1006l-34.0996 -10.1006l-22.9004 10.7002v-46.7998
c0 -41 33.7002 -74.2002 74.9004 -74.2002c41.3994 0 74.8994 33.5 74.8994 74.9004z" />
    <glyph glyph-name="stumbleupon" unicode="&#xf1a4;" horiz-adv-x="512" 
d="M502.9 182v-69.7002c0 -62.0996 -50.3008 -112.399 -112.4 -112.399c-61.7998 0 -112.4 49.7998 -112.4 111.3v70.2002l34.3008 -16l51.0996 15.1992v-70.5996c0 -14.7002 12 -26.5 26.7002 -26.5s26.7998 11.7998 26.7998 26.5v72h85.9004zM278.2 240.2v30.8994
c0 14.7002 -12 26.7002 -26.7002 26.7002s-26.7002 -12 -26.7002 -26.7002v-160.3c0 -61.2998 -50.7998 -110.8 -112.399 -110.8c-62.1006 0 -112.4 50.2998 -112.4 112.3v69.7002h86v-68.5996c0 -14.9004 12 -26.7002 26.7002 -26.7002s26.7002 11.7998 26.7002 26.7002
v162.399c0 60 51.2998 108.2 112.1 108.2c61 0 112.1 -48.5 112.1 -109v-35.5996l-51.0996 -15.2002z" />
    <glyph glyph-name="delicious" unicode="&#xf1a5;" 
d="M446.5 380c1 -3.7998 1.5 -7.90039 1.59961 -12v-352.1c0 -26.5 -21.5 -48 -48 -48h-352c-4.09961 0 -8.19922 0.5 -12 1.5c-7.69922 2 -14.5996 5.7998 -20.2998 11c-1.2002 1.09961 -2.2998 2.19922 -3.2998 3.2998c-5.2002 5.7002 -9 12.5996 -11 20.2998
c-1 3.7998 -1.5 7.90039 -1.5 12v352c0 26.5 21.5 48 48 47.9004h352c4.09961 0 8.2002 -0.5 12 -1.5c1.90039 -0.400391 3.7002 -1 5.40039 -1.7002c1.89941 -0.700195 3.69922 -1.5 5.5 -2.5c1.39941 -0.700195 2.69922 -1.5 4 -2.40039
c1.09961 -0.799805 2.19922 -1.59961 3.2998 -2.5c2.5 -2 4.7998 -4.2998 6.89941 -6.7998c1.7002 -2.09961 3.30078 -4.5 4.7002 -6.90039c1.2998 -2.2998 2.40039 -4.59961 3.2998 -7.09961c0.5 -1.5 1 -3 1.40039 -4.5zM416 16v176h-192v192h-176
c-8.7998 0 -16 -7.2002 -16 -16v-176h192v-192h176c8.7998 0 16 7.2002 16 16z" />
    <glyph glyph-name="digg" unicode="&#xf1a6;" horiz-adv-x="512" 
d="M81.7002 275.7v76.2998h51v-250.7h-132.7v174.4h81.7002zM81.7002 142.3v92.2998h-30.7998v-92.2998h30.7998zM378.9 275.7h133.1v-243.7h-133.1v40.7998h81.7998v28.5h-81.7998v174.4zM460.7 142.3v92.2998h-30.7998v-92.2998h30.7998zM225.1 101.3v174.4h133.301
v-243.7h-133.301v40.7998h82.1006v28.5h-82.1006zM276.3 234.6v-92.2998h30.7998v92.2998h-30.7998zM153.3 352h51.2998v-51h-51.2998v51zM153.3 275.7h51.2998v-174.4h-51.2998v174.4z" />
    <glyph glyph-name="pied-piper-pp" unicode="&#xf1a7;" 
d="M205.3 273.4c0 -21.1006 -14.2002 -38.1006 -31.7002 -38.1006c-7.09961 0 -12.7998 1.2002 -17.1992 3.7002v68c4.39941 2.7002 10.0996 4.2002 17.1992 4.2002c17.5 0 31.7002 -16.9004 31.7002 -37.7998zM257.9 206.4c17.3994 0 31.6992 -17 31.6992 -38.1006
c0 -20.8994 -14.2998 -37.7998 -31.6992 -37.7998c-7.10059 0 -12.8008 1.2002 -17.2002 3.7002v68c4.39941 2.7002 10.0996 4.2002 17.2002 4.2002zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352
c26.5 0 48 -21.5 48 -48zM185 192.9c41 0 74.2002 35.5996 74.2002 79.5996s-33.2002 79.5996 -74.2002 79.5996c-12 0 -24.0996 -3.19922 -34.5996 -8.7998h-45.7002v-206.3l51.7998 10.0996v50.6006c8.59961 -3.10059 18.0996 -4.7998 28.5 -4.7998zM343.4 167.6
c0 44 -33.2002 79.6006 -73.9004 79.6006c-3.2002 0 -6.40039 -0.200195 -9.59961 -0.700195c-3.7002 -12.5 -10.1006 -23.7998 -19.2002 -33.4004c-13.7998 -15 -32.2002 -23.7998 -51.7998 -24.7998v-156.3l51.7998 10.0996v50.6006
c8.59961 -3.2002 18.2002 -4.7002 28.7002 -4.7002c40.7998 0 74 35.5996 74 79.5996z" />
    <glyph glyph-name="pied-piper-alt" unicode="&#xf1a8;" horiz-adv-x="576" 
d="M244 202l-27.7002 -5.7002l-1.7002 4.90039c6.7002 0.5 12.7002 3.7002 19.3008 3.7002c3.7998 0 6.89941 -0.900391 10.0996 -2.90039zM379.9 4.09961c9.5 0 28.1992 -45.0996 33 -55.0996c-35.9004 -13.4004 -70.3008 -15.9004 -106 -9.7998l-6.90039 45.0996
c15.7998 10.2998 60.9004 19.7998 79.9004 19.7998zM340.8 271c-7.59961 3.5 -63.8994 6.40039 -98.7998 -10c6.2998 11.7998 13.2002 17 25.9004 21.7998c27.2998 10.2998 40.1992 30.5 58.8994 51.1006c11.9004 -8.40039 12 -24.6006 31.6006 -23v-21.8008
l6.2998 -0.299805c37.3994 14.4004 74.7002 30.2002 106.6 54.6006c48.2998 36.7998 52.9004 50 81.2998 100l2 2.59961c-0.599609 -14.0996 -6.2998 -27.2998 -12.3994 -39.9004c-30.5 -63.7998 -78.7002 -100.3 -146.8 -116.699
c-12.4004 -2.90039 -26.4004 -3.2002 -37.6006 -8.90039c1.40039 -9.7998 13.2002 -18.0996 13.2002 -23c0 -3.40039 -5.5 -7.2002 -7.5 -8.59961c-11.2002 12.8994 -16.0996 19.2998 -22.7002 22.0996zM555.5 448l-0.299805 -1.40039l-0.600586 -0.599609
l0.300781 0.900391zM496.3 65.9004c20.1006 -34.2002 43.7002 -54.3008 72.7002 -79.9004c-31 -19.2998 -70.4004 -32.2002 -103.5 -47.2002c-55.2002 46.2998 -23 229.9 -111.5 229.9c-3.5 -0.700195 -2.40039 -0.299805 -4.59961 -1.7002
c1.09961 -1.40039 2.59961 -2.90039 3.69922 -4c23.9004 -20.0996 33.4004 -24.4004 34.8008 -58.5996l0.299805 -9.5c0.799805 -21.6006 -5.5 -42.5 -9.7998 -63.5c-25.9004 0.699219 -51.2002 -11 -77.9004 -2.90039c-0.700195 5.90039 -1.09961 30.9004 0.299805 41.0996
c1.40039 9.5 33.6006 29.9004 33 43.7002c-5.5 0.600586 -9.2002 -2.59961 -12.3994 -6.89941c-13.3008 -19.5 -47.2002 -41.9004 -71.3008 -41.9004c-16.5996 0 -56.2998 71.5 -76.3994 85.9004c-3.2002 2.2998 -5.2002 5.39941 -7.7998 8.59961
c-16.1006 -3.7998 -139.4 -32.2002 -147.4 -32.2002c-6 0 -11.5 4.90039 -11.5 10.9004c0 5.5 3.40039 10.7002 8.90039 11.7998l139.6 30.4004c-9.5 17.1992 12.2998 17.5 21.5 20.0996c3.2002 0.799805 6.2998 4 9.5 4c6.2998 0 11.7998 -8.90039 13.7998 -14.0996
c6.2998 1.39941 45.7002 10.5996 49.4004 10.5996c15.2002 0 15.8994 -20.0996 2.89941 -22.7002l-52.2998 -11.5l-0.299805 -4.59961c-0.299805 -10.1006 45.4004 -60.1006 53.4004 -60.1006c18.0996 0 54.8994 41.7002 54.8994 60.1006
c0 30.7002 -42.7998 12.5996 -42.7998 33.5996c0 3.5 1.2002 6.60059 2.90039 9.7998l-19.5 5.5c13.0996 13.6006 13.7998 31.7002 10.8994 50.3008c14.7002 2.89941 26.7002 4.59961 41.4004 4.59961c56.8994 0 45.7002 -8.59961 65.5 -54.2998l14.3994 7.2002
c-2.2998 -34.2002 -36.1992 -17.5 -35.0996 -31l0.299805 -6c74.7002 2.89941 116.101 -58.6006 150 -115.5zM300.1 19.7998h8.90039l2.90039 -23.7998l-11.8008 -3.40039v27.2002zM231.4 170.2l13.7998 3.5l31.2998 -50.9004l-21 -13.7998zM315.8 15.2998
c22.6006 2.5 32.7002 6.2998 59.5 6.2998c0.299805 -1.39941 0.900391 -3.19922 0.900391 -4.59961c0 -7.5 -49.4004 -12.5996 -58.4004 -14.0996z" />
    <glyph glyph-name="drupal" unicode="&#xf1a9;" 
d="M319.5 333.3c13.5 -8.2998 96.5 -67 96.5 -179.3c0 -112 -88.5 -186 -190.2 -186c-102 0 -193.8 80.2998 -193.8 189.5c0 109 85 167.5 100.8 175.8c18.7002 10.1006 32.2002 15.2998 53.5 32.2998c10.5 8.30078 19.2998 20.2002 22 49.5
c15.2002 -18.2998 33.5 -39.5 46.5 -48.2998c21.2002 -14 42.5 -19.5 64.7002 -33.5zM322 7.7002c4.2002 4.2002 1.90039 13.0996 -4.2002 8.5c-8.5 -6.2998 -27.5 -14 -54.5 -14c-34.5 0 -51.5 13.2998 -51.5 13.2998c-6.2002 0 -11.2998 -7.2002 -6.5 -12
c26.6006 -24.5 96.6006 -15.9004 116.7 4.2002zM267.5 60.2998c-6.5 -2.7002 -28.4004 -16.7998 -22.4004 -25c2.40039 -3.2998 5.2002 -1.2998 12.2002 4.7002c7.2002 5.7998 12 11 26.7002 11c25.2998 0 18.0996 -19.9004 26.5 -15.7002
c9.90039 4.90039 -2.09961 20.9004 -6.2002 23.7002c-7.7998 5.09961 -28.0996 4.90039 -36.7998 1.2998zM360 43c39.0996 -3.2998 64.5 106 15.7998 106c-20 0 -60.5 -41.5 -81.7998 -41.7998c-24.7002 -0.5 -59 49 -108.5 48.5
c-66.4004 -0.400391 -90.5996 -78.6006 -51.7998 -105.2c57.2002 -38.7002 130.399 42.9004 161.3 42c19.5 -0.700195 49.7998 -48.5 65 -49.5z" />
    <glyph glyph-name="joomla" unicode="&#xf1aa;" 
d="M0.599609 355.9c0 33.2998 26.8008 60.0996 59.8008 60.0996c30 0 54.5 -21.9004 59.1992 -50.2002c32.6006 7.60059 67.1006 -0.599609 96.5 -30l-44.2998 -44.2998c-20.5 20.5 -42.5996 16.2998 -55.3994 3.5c-14.3008 -14.2998 -14.3008 -37.9004 0 -52.2002
l99.5 -99.5l-44 -44.2998c-87.7002 87.2002 -49.7002 49.7002 -99.8008 99.7002c-26.7998 26.5 -35 64.7998 -24.7998 98.8994c-26.8994 5.80078 -46.7002 29.7002 -46.7002 58.3008zM130.1 239.5c28.5 28.4004 81.3008 80.7998 99.6006 99.9004
c26.5996 26.5996 64.5 35 98.2998 25.0996c4.09961 29.0996 29.2002 51.5996 59.5 51.5996c33 0 59.7998 -26.8994 59.7998 -60.0996c0 -30.2998 -22.7002 -55.4004 -51.8994 -59.5c9.59961 -33.5996 2.2998 -70 -28.9004 -101.2l-44 44.2998
c20.5 20.4004 16.2998 42.6006 3.5 55.4004c-14.2998 14.2998 -37.5996 14.2998 -51.9004 0c-10 -10.0996 -89.6992 -89.7998 -99.6992 -99.7998zM396.4 87.2998c29.0996 -4.09961 51.5996 -28.8994 51.5996 -59.0996c0 -33.2998 -26.7998 -60.1006 -59.7998 -60.1006
c-29.2002 0 -53.4004 20.7002 -58.9004 48.1006c-34.7002 -10.7998 -75.0996 -2.2002 -102.7 28l44 44.2998c20.4004 -20.5 42.6006 -16.2998 55.4004 -3.5c14.2998 14.2998 14.2998 37.5996 0 51.9004l-99.7002 99.6992l44.2998 44.3008
c104.5 -104.4 87.7002 -87.5 99.5 -99.7002c25.4004 -25.4004 34.5 -61.2002 26.3008 -93.9004zM312.1 140.4c-87.2998 -87.3008 -67.3994 -67.7002 -99.5 -99.7002c-25.6992 -25.4004 -61.5 -34.2002 -94.1992 -26c-6.10059 -26.9004 -30 -46.7002 -58.6006 -46.7002
c-33 0 -59.7998 26.7998 -59.7998 60.0996c0 28.3008 19.5 52.2002 46.2002 58.2002c-8.5 33.1006 -0.700195 68.1006 29.5 98.2998l44 -44.2998c-20.1006 -20.0996 -16.2998 -42 -3.2002 -55.3994c14.2998 -14.3008 37.5996 -14.3008 51.9004 0
c49.2998 49.3994 12.6992 13.3994 99.6992 99.7998z" />
    <glyph glyph-name="behance" unicode="&#xf1b4;" horiz-adv-x="576" 
d="M232 210.8c43.5996 -12.2998 64.7002 -45.2002 64.7002 -89.7002c0 -72 -60.5 -102.899 -124.9 -102.899h-171.8v354.399h167.1c60.7002 0 113.301 -17.1992 113.301 -87.7998c0 -35.7998 -16.6006 -58.7998 -48.4004 -74zM77.9004 312.1v-82.6992h79
c27.7998 0 47.5 12.0996 47.5 42.1992c0 32.6006 -25.3008 40.5 -53.4004 40.5h-73.0996zM161.2 78.4004c31.7002 0 57.5996 11.1992 57.5996 47c0 36.2998 -21.7002 50.5996 -56 50.5996h-84.8994v-97.5996h83.2998zM519.7 319.1h-143.7v34.9004h143.7v-34.9004zM576 142.8
c0 -4.5 -0.299805 -9 -0.599609 -13.2002h-185.101c0 -41.0996 21.7002 -65.2998 63 -65.2998c21.4004 0 49 11.6006 55.7002 33.5h62.2002c-19.1006 -58.7002 -58.7998 -86.2998 -120.101 -86.2998c-81 0 -131.3 54.7998 -131.3 134.7c0 77 53.1006 135.8 131.3 135.8
c80.5 0 124.9 -63.2998 124.9 -139.2zM390.4 174h114.699c-3 34 -20.7998 54.7998 -56.1992 54.7998c-33.8008 0 -56.2002 -21.0996 -58.5 -54.7998z" />
    <glyph glyph-name="behance-square" unicode="&#xf1b5;" 
d="M186.5 155c0 -19.2998 -14 -25.4004 -31.2002 -25.4004h-45.0996v52.9004h46c18.5996 -0.0996094 30.2998 -7.7998 30.2998 -27.5zM178.8 237.3c0 -16.2998 -10.7002 -22.8994 -25.7998 -22.8994h-42.7002v44.7998h39.6006c15.1992 0 28.8994 -4.2002 28.8994 -21.9004z
M311.1 214.1c19.2002 0 28.8008 -11.1992 30.5 -29.6992h-62.1992c1.19922 18.2998 13.3994 29.6992 31.6992 29.6992zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM271.7 263h77.7998
v18.9004h-77.7998v-18.9004zM228.7 152.7c0 24.0996 -11.4004 44.8994 -35 51.5996c17.2002 8.2002 26.2002 17.7002 26.2002 37c0 38.2002 -28.5 47.5 -61.4004 47.5h-90.5v-192h93.0996c34.9004 0.200195 67.6006 16.9004 67.6006 55.9004zM380 167.5
c0 41.0996 -24.0996 75.4004 -67.5996 75.4004c-42.4004 0 -71.1006 -31.8008 -71.1006 -73.6006c0 -43.2998 27.2998 -73 71.1006 -73c33.1992 0 54.6992 14.9004 65.0996 46.7998h-33.7002c-3.7002 -11.8994 -18.5996 -18.0996 -30.2002 -18.0996
c-22.3994 0 -34.0996 13.0996 -34.0996 35.2998h100.2c0.0996094 2.2998 0.299805 4.7998 0.299805 7.2002z" />
    <glyph glyph-name="steam" unicode="&#xf1b6;" horiz-adv-x="496" 
d="M496 192c0 -137 -111.2 -248 -248.4 -248c-113.8 0 -209.6 76.2998 -239 180.4l95.2002 -39.3008c6.40039 -32.0996 34.9004 -56.3994 68.9004 -56.3994c39.2002 0 71.8994 32.3994 70.2002 73.5l84.5 60.2002c52.0996 -1.30078 95.7998 40.8994 95.7998 93.5
c0 51.5996 -42 93.5 -93.7002 93.5s-93.7002 -42 -93.7002 -93.5v-1.2002l-59.2002 -85.7002c-15.5 0.900391 -30.6992 -3.40039 -43.5 -12.0996l-133.1 55c10.2002 127.699 117.1 228.1 247.6 228.1c137.2 0 248.4 -111 248.4 -248zM155.7 63.7002
c19.7998 -8.2002 42.5 1.09961 50.7998 21c8.2998 19.7998 -1.09961 42.5 -20.9004 50.7002l-31.5 13c12.2002 4.59961 26 4.7998 38.9004 -0.600586c13 -5.39941 23.0996 -15.5996 28.5 -28.5996s5.2998 -27.2998 -0.0996094 -40.2998
c-11.2002 -26.8008 -42.1006 -39.6006 -69 -28.4004c-11.9453 4.99414 -21.6055 14.1826 -27.2002 25.7998zM329.5 193.6c-34.4004 0 -62.4004 28 -62.4004 62.3008c0 34.2998 28 62.2998 62.4004 62.2998s62.4004 -28 62.4004 -62.2998
c0 -34.3008 -27.9004 -62.3008 -62.4004 -62.3008zM329.6 209.2c25.9004 0 46.9004 21 46.9004 46.7998c0 25.9004 -21 46.7998 -46.9004 46.7998c-25.8994 0 -46.8994 -21 -46.8994 -46.7998c0.0996094 -25.7998 21.0996 -46.7998 46.8994 -46.7998z" />
    <glyph glyph-name="steam-square" unicode="&#xf1b7;" 
d="M185.2 91.5c7.7002 18.5 -1 39.7002 -19.6006 47.4004l-29.5 12.1992c11.4004 4.30078 24.3008 4.5 36.4004 -0.5c12.2002 -5.09961 21.5996 -14.5996 26.7002 -26.6992c5 -12.2002 5 -25.6006 -0.100586 -37.7002c-10.5 -25.1006 -39.3994 -37 -64.5996 -26.5
c-11.5996 4.7998 -20.4004 13.5996 -25.4004 24.2002l28.5 -11.8008c18.6006 -7.7998 39.9004 0.900391 47.6006 19.4004zM400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v112.8l89.0996 -36.8994
c6 -30 32.7002 -52.7002 64.5 -52.7002c36.6006 0 67.3008 30.2998 65.7002 68.7998l79 56.2998c48.7002 -1.2002 89.6006 38.2998 89.6006 87.5c0 48.2002 -39.3008 87.5 -87.6006 87.5s-87.5996 -39.2998 -87.5996 -87.5v-1.09961l-55.4004 -80.2002
c-14.5 0.799805 -28.7002 -3.09961 -40.7002 -11.2998l-116.6 48.0996v160.7c0 26.5 21.5 48 48 48h352zM300.3 193.5c-32.2002 0 -58.3994 26.0996 -58.3994 58.2998s26.1992 58.2998 58.3994 58.2998s58.4004 -26.1992 58.4004 -58.2998
c0 -32.0996 -26.2002 -58.2998 -58.4004 -58.2998zM300.4 208.1c24.1992 0 43.8994 19.6006 43.8994 43.8008c0 24.1992 -19.5996 43.7998 -43.8994 43.7998c-24.2002 0 -43.9004 -19.6006 -43.9004 -43.7998c0 -24.2002 19.7002 -43.8008 43.9004 -43.8008z" />
    <glyph glyph-name="spotify" unicode="&#xf1bc;" horiz-adv-x="496" 
d="M248 440c136.9 0 248 -111.1 248 -248s-111.1 -248 -248 -248s-248 111.1 -248 248s111.1 248 248 248zM348.7 75.0996c8.09961 0 15.2002 6.30078 15.2002 15.4004s-3.60059 12.5996 -9.7002 16.5c-71.4004 42.7002 -155.101 44.2998 -237 26.2002
c-7.5 -1.60059 -13.6006 -6.5 -13.6006 -16.7998c0 -8.10059 6.10059 -15.8008 15.8008 -15.8008c2.89941 0 8 1.60059 11.8994 2.60059c71.7002 14.7002 144.3 13.0996 206.7 -24.5c3.90039 -2.2998 6.5 -3.60059 10.7002 -3.60059zM375.6 140.7
c10.9004 0 19.3008 8.7002 19.4004 19.5c0 8.7002 -3.2002 14.8994 -11.2998 19.7002c-49.4004 29.3994 -112.101 45.5 -177 45.5c-41.6006 0 -70 -5.80078 -97.7998 -13.6006c-10.3008 -2.89941 -15.5 -10 -15.5 -20.7002c0 -10.6992 8.69922 -19.3994 19.3994 -19.3994
c4.5 0 7.10059 1.2998 11.9004 2.59961c82.8994 22.5 176.1 7.60059 238.6 -29.3994c3.60059 -1.90039 7.10059 -4.2002 12.2998 -4.2002zM406.6 216.9c12.2002 0 23.2002 9.69922 23.2002 23.2998c0 11.8994 -5.09961 18.0996 -12.8994 22.5996
c-55.9004 32.6006 -132.4 47.7998 -205.4 47.7998c-42.9004 0 -82.2998 -4.89941 -117.5 -15.1992c-9 -2.60059 -17.4004 -10.3008 -17.4004 -23.9004c0 -13.2998 10.1006 -23.5996 23.3008 -23.5996c4.7998 0 9.2998 1.59961 12.8994 2.59961
c82.4004 23 209.7 12.7998 280.9 -29.7002c4.5 -2.59961 7.7002 -3.89941 12.8994 -3.89941z" />
    <glyph glyph-name="deviantart" unicode="&#xf1bd;" horiz-adv-x="320" 
d="M320 354.8l-98.2002 -179.1l7.40039 -9.5h90.7998v-127.7h-160.9l-13.5 -9.2002l-43.6992 -84c-0.300781 0 -8.60059 -8.59961 -9.2002 -9.2002h-92.7002v93.2002l93.2002 179.4l-7.40039 9.2002h-85.7998v127.6h156l13.5 9.2002l43.7002 84
c0.299805 0 8.59961 8.59961 9.2002 9.2002h97.5996v-93.1006z" />
    <glyph glyph-name="soundcloud" unicode="&#xf1be;" horiz-adv-x="640" 
d="M111.4 191.7l5.7998 -65l-5.7998 -68.2998c-0.300781 -2.5 -2.2002 -4.40039 -4.40039 -4.40039s-4.2002 1.90039 -4.2002 4.40039l-5.59961 68.2998l5.59961 65c0 2.2002 1.90039 4.2002 4.2002 4.2002c2.2002 0 4.09961 -2 4.40039 -4.2002zM132.8 237.3
c2.5 0 4.7002 -2.2002 4.7002 -5l5.7998 -105.6l-5.7998 -68.2998c0 -2.80078 -2.2002 -5 -4.7002 -5c-2.7998 0 -4.7002 2.19922 -5 5l-5 68.2998l5 105.6c0.299805 2.7998 2.2002 5 5 5zM158.3 261.4c2.7998 0 5.2998 -2.2002 5.2998 -5.30078l5.30078 -130
l-5.30078 -67.7998c0 -3.09961 -2.5 -5.2998 -5.2998 -5.2998c-3.09961 0 -5.2998 2.2002 -5.59961 5.2998l-4.40039 67.7998l4.40039 130c0.299805 3.10059 2.5 5.30078 5.59961 5.30078zM7.2002 164.8c1.39941 0 2.2002 -1.09961 2.5 -2.5l5.59961 -35.5996l-5.59961 -35
c-0.299805 -1.40039 -1.10059 -2.5 -2.5 -2.5c-1.40039 0 -2.2002 1.09961 -2.5 2.5l-4.7002 35l4.7002 35.5996c0.299805 1.40039 1.09961 2.5 2.5 2.5zM30.7998 186.7c1.40039 0 2.5 -1.10059 2.7998 -2.5l7.2002 -57.5l-7.2002 -56.4004
c-0.299805 -1.39941 -1.39941 -2.5 -2.7998 -2.5c-1.39941 0 -2.5 1.10059 -2.5 2.7998l-6.39941 56.1006l6.39941 57.5c0 1.39941 1.10059 2.5 2.5 2.5zM56.0996 198.1c1.7002 0 3.10059 -1.39941 3.10059 -3.2998l6.89941 -68.0996l-6.89941 -65.7998
c0 -1.7002 -1.40039 -3.10059 -3.10059 -3.10059c-1.59961 0 -3 1.40039 -3.2998 3.10059l-5.7998 65.7998l5.7998 68.0996c0.200195 1.90039 1.60059 3.2998 3.2998 3.2998zM81.4004 200.3c1.89941 0 3.59961 -1.39941 3.89941 -3.59961l6.40039 -70l-6.40039 -67.7998
c-0.299805 -2.2002 -2 -3.60059 -3.89941 -3.60059c-1.90039 0 -3.60059 1.40039 -3.60059 3.60059l-5.7998 67.7998l5.7998 70c0 2.2002 1.7002 3.59961 3.60059 3.59961zM322.8 311.2c2.5 -1.40039 4.10059 -4.2002 4.5 -7.2002l3.90039 -177.5l-3.90039 -64.2002
c0 -4.7002 -3.89941 -8.59961 -8.59961 -8.59961s-8.60059 3.89941 -8.90039 8.59961l-1.7002 31.7002l-1.69922 32.5l3.2998 176.7v0.799805c0.200195 2.5 1.39941 5 3.2998 6.7002c1.40039 1.09961 3.40039 1.89941 5.59961 1.89941
c1.40039 0 3.10059 -0.599609 4.2002 -1.39941zM296.1 295.9c2.2002 -1.40039 3.60059 -3.90039 3.90039 -6.7002l3.2998 -162.8l-3.09961 -58.6006l-0.299805 -6.7002c0 -2.2998 -0.800781 -4.19922 -2.5 -5.59961c-1.40039 -1.40039 -3.40039 -2.5 -5.60059 -2.5
c-2.5 0 -4.7002 1.2002 -6.39941 3.09961c-1.10059 1.40039 -1.7002 3 -1.7002 4.7002v0.299805c-3.10059 65.3008 -3.10059 65.6006 -3.10059 65.6006l2.80078 160.8l0.299805 1.7002c0 2.7998 1.39941 5.2998 3.59961 6.7002
c1.2998 0.799805 2.7998 1.39941 4.40039 1.39941c1.59961 0 3 -0.599609 4.39941 -1.39941zM184.7 273.4c3.39941 0 5.89941 -2.80078 6.09961 -6.10059l5 -140.6l-5 -67.2002c-0.299805 -3.2998 -2.7998 -5.7998 -6.09961 -5.7998c-3 0 -5.5 2.5 -5.7998 5.7998
l-4.40039 67.2002l4.40039 140.6c0 3.2998 2.69922 6.10059 5.7998 6.10059zM561.4 210.6c43.2998 0 78.5996 -35.2998 78.5 -78.8994c0 -43.2998 -35.3008 -78.2998 -78.6006 -78.2998h-218.3c-4.7002 0.599609 -8.59961 4.19922 -8.59961 9.19922v249.7
c0 4.7998 1.69922 7 7.7998 9.2002c15.2998 6.09961 32.5 9.40039 50.2998 9.40039c72.5 0 131.9 -55.6006 138.3 -126.4c9.5 3.90039 19.7998 6.09961 30.6006 6.09961zM264.7 270.9c4.2002 0 7.2002 -3.30078 7.5 -7.80078l3.89941 -136.699l-3.89941 -65.6006
c0 -4.2002 -3.2998 -7.5 -7.5 -7.5s-7.5 3.2998 -7.7998 7.5l-3.30078 65.6006l3.30078 136.699c0.299805 4.5 3.59961 7.80078 7.7998 7.80078zM211.1 278.7c3.60059 0 6.40039 -3.10059 6.7002 -6.7002l4.40039 -145.3l-4.40039 -66.9004
c-0.299805 -3.59961 -3.09961 -6.39941 -6.7002 -6.39941c-3.2998 0 -6.09961 2.7998 -6.39941 6.39941l-3.90039 66.9004l3.90039 145.3c0 3.59961 3.09961 6.7002 6.39941 6.7002zM237.8 275.3c3.90039 0 6.90039 -3 6.90039 -6.89941l4.2002 -141.7l-4.2002 -66.4004
c0 -3.7998 -3.10059 -6.89941 -6.90039 -6.89941s-6.59961 3 -6.89941 6.89941l-3.90039 66.4004l3.90039 141.7c0 3.7998 3 6.89941 6.89941 6.89941z" />
    <glyph glyph-name="vine" unicode="&#xf1ca;" horiz-adv-x="384" 
d="M384 193.3v-52.0996c-18.4004 -4.2002 -36.9004 -6.10059 -52.0996 -6.10059c-36.9004 -77.3994 -103 -143.8 -125.101 -156.199c-14 -7.90039 -27.0996 -8.40039 -42.7002 0.799805c-27.0996 16.2998 -129.899 100.6 -164.1 365.6h74.5
c18.7002 -159.1 64.5 -240.7 114.8 -301.8c27.9004 27.9004 54.7998 65.0996 75.6006 106.9c-49.8008 25.2998 -80.1006 80.8994 -80.1006 145.6c0 65.5996 37.7002 115.1 102.2 115.1c114.9 0 106.2 -127.899 81.5996 -181.5c0 0 -46.3994 -9.19922 -63.5 20.5
c3.40039 11.3008 8.2002 30.8008 8.2002 48.5c0 31.3008 -11.2998 46.6006 -28.3994 46.6006c-18.2002 0 -30.8008 -17.1006 -30.8008 -50c0.100586 -79.2002 59.4004 -118.7 129.9 -101.9z" />
    <glyph glyph-name="codepen" unicode="&#xf1cb;" horiz-adv-x="512" 
d="M502.285 288.296c6.00098 -3.99902 9.71484 -11.1426 9.71582 -18.2852v-155.999c0 -7.14258 -3.71484 -14.2871 -9.71484 -18.2861l-234 -156.021c-8.06055 -4.95996 -16.584 -4.91504 -24.5713 0l-234 156.021c-6.00098 4 -9.71484 11.1436 -9.71484 18.2861v155.999
c0 7.14258 3.71387 14.2861 9.71387 18.2852l234 156c8.06055 4.95996 16.584 4.91504 24.5713 0zM278 384.869v-102.572l95.4287 -63.7148l76.8574 51.4287zM234 384.869l-172.286 -114.858l76.8574 -51.4287l95.4287 63.7148v102.572zM44 228.868v-73.7139
l55.1426 36.8564zM234 -0.84668v102.571l-95.4287 63.7158l-76.8574 -51.4297zM256 140.011l77.7148 52l-77.7148 52l-77.7148 -52zM278 -0.84668l172.286 114.857l-76.8574 51.4297l-95.4287 -63.7158v-102.571zM468 155.154v73.7139l-55.1426 -36.8574z" />
    <glyph glyph-name="jsfiddle" unicode="&#xf1cc;" horiz-adv-x="576" 
d="M510.634 210.538c45.6885 -25.334 68.3721 -74.5605 56.832 -122.634c-12.1035 -50.4199 -55.5479 -86.6592 -108.212 -87.293c-84.0303 -1.01172 -168.079 -0.458984 -252.12 -0.480469c-30.3223 -0.00683594 -60.668 -0.492188 -90.959 0.539062
c-48.0938 1.63672 -91.7764 35.8643 -105.607 81.4326c-14.1289 46.5508 2.18945 94.623 41.9014 124.615c2.54688 1.92383 4.86914 6.52051 4.51465 9.54492c-3.74609 31.8604 7.14453 57.6709 32.6758 76.4082c26.2822 19.2881 55.2285 21.5879 85.3311 9.16699
c2.36621 -0.975586 4.63965 -2.17773 7.82422 -3.68555c16.5215 27.5332 38.1221 48.6523 65.4922 63.9023c92.8594 51.7402 210.954 8.31152 246.85 -91.6455c5.55762 -15.4766 6.74512 -32.6074 9.09668 -49.0947c0.716797 -5.02832 1.6543 -8.15527 6.38086 -10.7764z
M531.741 53.6582c39.3135 48.375 22.418 117.668 -35.1426 144.497c-7.43555 3.46582 -9.72559 7.74414 -9.84766 15.8936c-1.87012 125.129 -132.78 187.063 -230.24 132.697c-26.1133 -14.5674 -46.4492 -34.8955 -60.6709 -61.2939
c-7.59082 -14.0908 -11.9287 -7.97754 -22.1982 -2.52734c-24.6113 13.0635 -49.0469 12.6406 -72.0332 -3.08301c-21.9678 -15.0244 -31.9102 -36.6201 -26.4199 -62.9805c2.4082 -11.5703 -0.914062 -17.0635 -10.0967 -23.1367
c-38.1895 -25.2578 -53.0879 -74.8604 -34.1855 -116.105c18.4355 -40.2295 51.3135 -59.6631 95.1748 -59.9951c0.700195 -0.00488281 163.728 -0.545898 163.728 0.154297c56.8857 0 113.778 -0.551758 170.652 0.229492
c28.9375 0.397461 53.0498 13.2178 71.2803 35.6504zM443.952 134.157c-5.84863 -31.1572 -34.6221 -55.0967 -66.666 -55.0957c-16.9531 0.00195312 -32.0586 6.5459 -44.0791 17.7051c-27.6973 25.7139 -71.1406 74.9805 -95.9375 93.3877
c-20.0557 14.8877 -41.9893 12.333 -60.2715 -3.78223c-49.9961 -44.0713 15.8594 -121.775 67.0625 -77.1885c4.54883 3.95996 7.84082 9.54297 12.7441 12.8447c8.18457 5.50879 20.7666 0.883789 13.168 -10.6221c-17.3574 -26.2842 -49.3301 -38.1973 -78.8623 -29.3008
c-28.8975 8.70312 -48.8408 35.9678 -48.626 70.1787c1.22461 22.4844 12.3633 43.0596 35.4141 55.9648c22.5742 12.6377 46.3682 13.1455 66.9902 -2.47363c50.791 -38.4756 75.5781 -81.7451 107.296 -101.245c24.5586 -15.0996 54.2549 -7.36328 68.8232 17.5059
c28.8301 49.209 -34.5918 105.016 -78.8682 63.46c-3.98828 -3.74414 -6.91699 -8.93164 -11.4092 -11.7197c-10.9756 -6.81152 -17.333 4.1123 -12.8096 10.3525c20.7031 28.5537 50.4639 40.4404 83.2715 28.2139c31.4287 -11.7139 49.1074 -44.3662 42.7598 -78.1855z
" />
    <glyph glyph-name="rebel" unicode="&#xf1d0;" horiz-adv-x="512" 
d="M256.5 -56c-139.3 0 -247.5 116.2 -243.3 254.1c2.7998 79.2002 43.2002 152.2 116.5 200.4c0.299805 0 1.89941 0.599609 1.09961 -0.799805c-5.7998 -5.5 -111.3 -129.8 -14.0996 -226.4c49.7998 -49.5 90 -2.5 90 -2.5c38.5 50.1006 -0.600586 125.9 -0.600586 125.9
c-10 24.8994 -45.6992 40.0996 -45.6992 40.0996l28.7998 31.7998c24.3994 -10.5 43.2002 -38.6992 43.2002 -38.6992c0.799805 29.5996 -21.9004 61.3994 -21.9004 61.3994l44.5996 50.7002l44.3008 -50.0996c-20.5 -28.8008 -21.9004 -62.6006 -21.9004 -62.6006
c13.7998 23 43.5 39.2998 43.5 39.2998l28.5 -31.7998c-27.4004 -8.89941 -45.4004 -39.8994 -45.4004 -39.8994c-15.7998 -28.5 -27.0996 -89.4004 0.600586 -127.301c32.3994 -44.5996 87.7002 2.80078 87.7002 2.80078c102.699 91.8994 -10.5 225 -10.5 225
c-6.10059 5.5 0.799805 2.7998 0.799805 2.7998c50.0996 -36.5 114.6 -84.4004 116.2 -204.8c2 -145.601 -99.9004 -249.4 -242.4 -249.4z" />
    <glyph glyph-name="empire" unicode="&#xf1d1;" horiz-adv-x="496" 
d="M287.6 393.8c-10.7998 2.2002 -22.0996 3.2998 -33.5 3.60059v18.1992c78.1006 -2.19922 146.101 -44 184.601 -106.6l-15.7998 -9.09961c-6.10059 9.69922 -12.7002 18.7998 -20.2002 27.0996l-18 -15.5c-26 29.5996 -61.4004 50.7002 -101.9 58.4004zM53.4004 125.6
c3.89941 -10.7998 8.2998 -21.0996 13.5996 -31.0996l-15.7998 -9.09961c-17.1006 31.5996 -27.1006 68.0996 -27.1006 106.6s9.90039 75 27.1006 106.5l15.7998 -9.09961c-5.2998 -9.7002 -10 -20.2002 -13.5996 -31l22.6992 -7.7002
c-6.39941 -18.2998 -9.69922 -38.2002 -9.69922 -58.7002s3.59961 -40.4004 10 -58.7002zM213.1 14l-4.69922 -23.7998c10.7998 -1.90039 22.1992 -3.2998 33.5 -3.60059v-18.2998c-78.1006 2.2998 -146.4 44.2998 -184.9 106.601l16 9.39941
c5.7998 -9.7002 12.7002 -18.7998 20.2002 -27.3994l18 15.7998c26.0996 -29.6006 61.5 -50.7002 101.899 -58.7002zM93.2998 327.1c-7.5 -8.2998 -14.0996 -17.5 -20.0996 -27.1992l-15.7998 9.09961c38.5 62.5996 106.5 104.4 184.6 106.6v-18.1992
c-11.4004 -0.300781 -22.7002 -1.40039 -33.5 -3.60059l4.7002 -23.7998c-40.5 -7.7002 -75.9004 -28.7998 -101.9 -58.4004zM402.7 56.9004c7.5 8.59961 14.3994 17.6992 20.0996 27.3994l16.1006 -9.39941c-38.5 -62.3008 -106.801 -104.4 -184.9 -106.601v18.2998
c11.4004 0.300781 22.7002 1.7002 33.5 3.60059l-4.7002 23.7998c40.5 8 75.9004 29.0996 101.9 58.7002zM496 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM483.8 192c0 130.1 -105.7 235.8 -235.8 235.8
s-235.8 -105.7 -235.8 -235.8s105.7 -235.8 235.8 -235.8s235.8 105.7 235.8 235.8zM444.8 298.6c17.2002 -31.5996 27.1006 -68.0996 27.1006 -106.6s-9.90039 -75 -27.1006 -106.4l-15.7998 9.10059c5.2998 10 9.7002 20.2002 13.5996 31l-23 7.7002
c6.40039 18.2998 10 38.1992 10 58.6992s-3.2998 40.4004 -9.69922 58.7002l22.6992 7.7002c-3.59961 10.7998 -8.2998 21.2998 -13.5996 31zM261.8 120.9l13.2998 -66.7002c-8.59961 -1.7002 -17.6992 -2.7998 -27.0996 -2.7998s-18.5 1.09961 -27.0996 2.7998
l13.2998 66.7002c-16.2998 3.2998 -30.5 11.5996 -40.7002 23.5l-51.2002 -44.8008c-11.8994 13.6006 -21.2998 29.4004 -27.0996 46.8008l64.2002 22.0996c-2.5 7.40039 -3.90039 15.2002 -3.90039 23.5s1.40039 16 3.90039 23.5l-64.5 22.0996
c6.09961 17.5 15.5 33.2002 27.3994 46.8008l51.2002 -44.8008c10.2998 11.9004 24.4004 20.5 40.7002 23.8008l-13.2998 66.3994c8.59961 2 17.6992 2.7998 27.0996 2.7998s18.5 -0.899414 27.0996 -2.7998l-13.2998 -66.3994
c16.2998 -3.30078 30.5 -11.9004 40.7002 -23.8008l51.2002 44.8008c11.8994 -13.6006 21.2998 -29.4004 27.3994 -46.8008l-64.5 -22.0996c2.5 -7.40039 3.90039 -15.2002 3.90039 -23.5s-1.40039 -16 -3.90039 -23.5l64.2002 -22.0996
c-5.7998 -17.5 -15.2002 -33.2002 -27.0996 -46.8008l-51.2002 44.8008c-10.2998 -11.9004 -24.4004 -20.2002 -40.7002 -23.5z" />
    <glyph glyph-name="git-square" unicode="&#xf1d2;" 
d="M100.59 113.76c48.5703 -3.30957 58.9502 -2.10938 58.9502 -11.9395c0 -20 -65.5498 -20.0605 -65.5498 -1.52051c0.00976562 5.08984 3.29004 9.40039 6.59961 13.46zM128.54 230.4c30.96 0 31.7598 -44.4707 -0.75 -44.4707c-33 0 -31.54 44.4707 0.75 44.4707z
M448 368v-352c0 -26.4922 -21.5078 -48 -48 -48h-352c-26.4922 0 -48 21.5078 -48 48v352c0 26.4922 21.5078 48 48 48h352c26.4922 0 48 -21.5078 48 -48zM221 298.69c0 -14.4902 8.37988 -22.8809 22.8604 -22.8809c14.7393 0 23.1299 8.39062 23.1299 22.8809
c0 14.4893 -8.37012 22.3096 -23.1104 22.3096c-14.4795 0 -22.8799 -7.83984 -22.8799 -22.3096zM199.18 253h-49.5498c-25 6.5498 -81.5596 4.84961 -81.5596 -46.75c0 -18.7998 9.39941 -32 21.8496 -38.1104c-15.6895 -14.3701 -23.1201 -21.1396 -23.1201 -30.7393
c0 -6.87012 2.79004 -13.2207 11.1807 -16.7607c-8.90039 -8.39941 -14 -14.4795 -14 -25.9199c0.0195312 -20.0693 17.5498 -31.7197 63.5391 -31.7197c44.2207 0 69.8701 16.5098 69.8701 45.7305c0 36.6699 -28.2295 35.3193 -94.7695 39.3799l8.37988 13.4297
c17 -4.74023 74.1904 -6.23047 74.1904 42.4297c0 11.6904 -4.83008 19.8203 -9.40039 25.6699l23.3799 1.78027zM283.52 143.16l-13 1.78027c-3.81934 0.509766 -4.06934 1 -4.06934 5.08984v105.45h-52.6006l-2.79004 -20.5703c15.75 -5.5498 17 -4.86035 17 -10.1699
v-74.7402c0 -5.62012 -0.30957 -4.58008 -17 -6.87012v-20.0596h72.4209zM384 133l-6.87012 22.3701c-40.9297 -15.3701 -37.8496 12.4102 -37.8496 16.7295v60.7207h37.8496v25.4102h-35.8203c-2.86914 0 -2 -2.52051 -2 38.6299h-24.1797
c-2.79004 -27.7002 -11.6797 -38.8799 -34 -41.4199v-22.6201c20.4697 0 19.8203 0.849609 19.8203 -2.54004v-66.5703c0 -28.7197 11.4297 -40.9102 41.6699 -40.9102c14.4502 0 30.4502 4.83008 41.3799 10.2002z" />
    <glyph glyph-name="git" unicode="&#xf1d3;" horiz-adv-x="512" 
d="M216.29 289.61l0.0400391 -34.5508l-37.4102 -2.83984c7.27051 -9.35938 15 -22.3701 15 -41.0693c0 -77.8906 -91.4297 -75.4707 -118.7 -67.8906l-13.4297 -21.5498c106.47 -6.5 151.63 -4.33984 151.63 -63c0 -46.7598 -41.04 -73.1797 -111.79 -73.1797
c-73.5801 0 -101.63 18.71 -101.63 50.8193c0 18.3008 8.12988 28.04 22.4004 41.4502c-13.4199 5.66992 -17.8906 15.8105 -17.8906 26.8105c0 15.3594 11.9004 26.21 37 49.21c-20 9.76953 -35 30.9102 -35 61c0 82.5498 90.4902 85.2793 130.49 74.79h79.29z
M152.87 47.71c0 15.7402 -16.6104 13.8096 -94.3203 19.1104c-5.2998 -6.54004 -10.5693 -13.4004 -10.5693 -21.54c0 -29.6699 104.89 -29.6299 104.89 2.42969zM102.06 182.29c52.0205 0 50.7402 71.1602 1.2002 71.1602c-51.6602 0 -54 -71.1602 -1.2002 -71.1602z
M235.36 81.7803v32.0996c26.75 3.66016 27.2393 2 27.2393 11v119.51c0 8.5 -2.0498 7.37988 -27.2393 16.2607l4.46973 32.9199h84.1699v-168.71c0 -6.51074 0.400391 -7.32031 6.50977 -8.14062l20.7305 -2.83984v-32.0996h-115.88zM287.81 326.09
c-23.1699 0 -36.5898 13.4297 -36.5898 36.6104c0 23.1797 13.4199 35.7695 36.5898 35.7695c23.5801 0 37 -12.6201 37 -35.7695c0 -23.1504 -13.4199 -36.6104 -37 -36.6104zM512 97.54c-17.4902 -8.53027 -43.0996 -16.2598 -66.2803 -16.2598
c-48.3799 0 -66.6699 19.5 -66.6699 65.46v106.51c0 5.41992 1.0498 4.05957 -31.71 4.05957v36.1904c35.7803 4.07031 50 22 54.4697 66.2695h38.6309c0 -65.8291 -1.34082 -61.8096 3.25977 -61.8096h57.2998v-40.6504h-60.5596v-97.1494
c0 -6.91992 -4.9209 -51.4102 60.5693 -26.8398z" />
    <glyph glyph-name="hacker-news" unicode="&#xf1d4;" 
d="M0 416h448v-448h-448v448zM21.2002 218.8h-0.200195c0.0996094 0.100586 0.200195 0.299805 0.299805 0.400391c0 -0.100586 0 -0.299805 -0.0996094 -0.400391zM239.2 164.9l80.7998 155.1h-34.7998c-54.7998 -101.2 -48.2998 -98.5996 -60.6006 -125.6
c-10.0996 24.3994 -6.7998 27.2998 -59.2998 125.6h-37.2998l79.7998 -153.3v-102.7h31.4004v100.9z" />
    <glyph glyph-name="tencent-weibo" unicode="&#xf1d5;" horiz-adv-x="384" 
d="M72.2998 -47.7998c1.40039 -19.9004 -27.5996 -22.2002 -29.7002 -2.90039c-11.5996 129.9 31.1006 239.5 101.4 313.2c-15.5996 34 9.2002 77.0996 50.5996 77.0996c30.3008 0 55.1006 -24.5996 55.1006 -55.0996c0 -44 -49.5 -70.7998 -86.9004 -45.0996
c-65.7002 -71.3008 -101.399 -169.801 -90.5 -287.2zM192 447.9c92 0 166.6 -74.6006 166.6 -166.5c0 -102.301 -93.2998 -185.5 -204 -162.301c-19 4.7002 -12.5 33.2002 6.60059 29.1006c80.7998 -20.7998 167.7 42.2998 167.7 133.1c0 75.5 -61.5 136.9 -136.9 136.9
c-101 0 -168.3 -106.601 -122 -199.2c9 -17.9004 -17.5996 -30.7998 -26.2998 -13.4004c-56 108.101 22.3994 242.301 148.3 242.301z" />
    <glyph glyph-name="qq" unicode="&#xf1d6;" 
d="M433.754 27.5547c-11.5264 -1.39258 -44.8604 52.7412 -44.8604 52.7412c0 -31.3447 -16.1357 -72.2471 -51.0508 -101.786c16.8418 -5.19141 54.8428 -19.167 45.8037 -34.4209c-7.31641 -12.3428 -125.511 -7.88086 -159.633 -4.03711
c-34.1221 -3.84375 -152.315 -8.30566 -159.632 4.03711c-9.04492 15.25 28.918 29.2139 45.7832 34.415c-34.9199 29.5391 -51.0586 70.4453 -51.0586 101.792c0 0 -33.334 -54.1338 -44.8594 -52.7412c-5.37012 0.650391 -12.4238 29.6445 9.34668 99.7041
c10.2617 33.0244 21.9951 60.4785 40.1445 105.779c-3.05566 116.898 45.2441 214.956 160.262 214.962c113.737 -0.00585938 163.156 -96.1328 160.264 -214.963c18.1182 -45.2227 29.9121 -72.8506 40.1445 -105.778c21.7676 -70.0596 14.7158 -99.0527 9.3457 -99.7041z
" />
    <glyph glyph-name="weixin" unicode="&#xf1d7;" horiz-adv-x="576" 
d="M385.2 280.4c-92.4004 0 -165.4 -69.1006 -165.3 -154c0 -14.2002 2.19922 -27.9004 6.19922 -40.8008c-6.19922 -0.5 -12.0996 -0.799805 -18.2998 -0.799805c-24.3994 0 -43.7998 4.90039 -68.2002 9.7002l-68 -34.0996l19.3008 58.5996
c-48.6006 34.0996 -77.9004 78.2002 -77.9004 131.6c0 92.6006 87.5 165.4 194.7 165.4c95.5996 0 179.7 -58.2998 196.3 -136.7c-6.2002 0.799805 -12.4004 1.10059 -18.7998 1.10059zM280.7 333.3c-14.7002 0 -29.2002 -9.7002 -29.2998 -24.3994
c0 -14.5 14.5 -24.2002 29.2998 -24.2002c14.5 0 24.2002 9.7002 24.2002 24.2002c0 14.6992 -9.7002 24.3994 -24.2002 24.3994zM144.3 284.7c14.7998 0 24.4004 9.59961 24.4004 24.2002c0 14.6992 -9.60059 24.3994 -24.4004 24.3994
c-14.5 0 -29.2998 -9.59961 -29.2998 -24.3994c0 -14.5 14.7998 -24.2002 29.2998 -24.2002zM563 128.6c0 -43.7998 -29 -82.6992 -68.2002 -112.1l14.7998 -48.5996l-53.3994 29.2998c-19.7002 -4.7998 -39.2998 -9.90039 -58.6006 -9.90039
c-92.5996 0 -165.399 63.4004 -165.399 141.3c0 77.9004 72.7002 141.301 165.399 141.301c87.5 0 165.4 -63.4004 165.4 -141.301zM343.9 153.1c14.6992 0 24.3994 9.60059 24.3994 19.6006c0 9.59961 -9.59961 19.2998 -24.3994 19.2998
c-9.60059 0 -19.3008 -9.59961 -19.3008 -19.2998c0 -9.90039 9.60059 -19.6006 19.3008 -19.6006zM451 153.1c14.5 0 24.5 9.60059 24.4004 19.6006c0 9.59961 -9.90039 19.2998 -24.4004 19.2998c-9.59961 0 -19.2998 -9.59961 -19.2998 -19.2998
c0 -9.90039 9.59961 -19.6006 19.2998 -19.6006z" />
    <glyph glyph-name="slideshare" unicode="&#xf1e7;" horiz-adv-x="512" 
d="M187.7 294.3c34 0 61.7002 -25.7002 61.7002 -57.7002c0 -31.6992 -27.7002 -57.6992 -61.7002 -57.6992s-61.7002 26 -61.7002 57.6992c0 32 27.7002 57.7002 61.7002 57.7002zM331.1 294.3c34.3008 0 61.8008 -25.7002 61.7002 -57.7002
c0 -31.6992 -27.3994 -57.6992 -61.7002 -57.6992c-34 0 -61.6992 26 -61.6992 57.6992c0 32 27.6992 57.7002 61.6992 57.7002zM487.7 204.3c15.2002 10.5 25.2002 -4 16.0996 -17.7998c-18.2998 -22.5996 -53.2002 -50.2998 -106.3 -72
c56.2998 -191.7 -137.4 -222.3 -134.3 -124c0 0.700195 -0.299805 53.7998 -0.299805 93.5c-4.30078 0.799805 -8.60059 2 -13.7002 3.09961c0 -40 -0.299805 -95.8994 -0.299805 -96.5996c3.09961 -98.2002 -190.601 -67.5996 -134.301 124.1
c-53.1992 21.7002 -88 49.4004 -106.3 72c-9.09961 13.7002 0.900391 28.3008 16 17.7002c2 -1.39941 4.2998 -2.89941 6.2998 -4.2998v198.3c0 27.4004 20.6006 49.7002 46 49.7002h359.101c25.3994 0 46 -22.2998 46 -49.7002v-198.3zM457.2 185.1h0.0996094v190.601
c0 32.7998 -10.5996 45.7002 -40.8994 45.7002h-317.7c-31.7002 0 -40.6006 -10.8008 -40.6006 -45.7002v-192.4c67.7002 -35.3994 125.7 -29.0996 157.4 -28c13.4004 0.299805 22 -2.2998 27.0996 -7.7002c1.7002 -1.59961 10 -9.39941 20.3008 -17.0996
c1.09961 15.7998 10 25.7998 33.6992 24.9004c32.3008 -1.40039 91.7002 -7.7002 160.601 29.6992z" />
    <glyph glyph-name="twitch" unicode="&#xf1e8;" horiz-adv-x="512" 
d="M391.17 344.53v-109.7h-38.6299v109.7h38.6299zM285 345v-109.75h-38.6299v109.75h38.6299zM120.83 448h366.86v-256l-173.771 -164.58h-77.25l-96.5303 -91.4199v91.4199h-115.83v329.16zM449.07 210.25v201.17h-308.931v-274.29h86.8701v-64l67.6006 64h77.2393z" />
    <glyph glyph-name="yelp" unicode="&#xf1e9;" horiz-adv-x="384" 
d="M42.9004 207.68l99.6191 -48.6094c19.2002 -9.40039 16.2002 -37.5107 -4.5 -42.71l-107.52 -26.8105c-1.78223 -0.448242 -3.64746 -0.685547 -5.56738 -0.685547c-11.7246 0 -21.3848 8.89453 -22.6426 20.2861c-0.853516 7.44141 -1.29297 15.0078 -1.29297 22.6768
c0 21.9561 3.65723 42.9111 10.293 62.6426c3.03906 9.02148 11.5723 15.5264 21.6133 15.5264c3.5791 0 6.98145 -0.84375 9.99707 -2.31641zM86.9004 -31.5703c-6.01172 4.1123 -9.9248 11.0195 -9.9248 18.8457c0 5.85742 2.21191 11.2021 5.84473 15.2441l74.21 82.4004
c14.3096 15.8105 40.5098 5.2002 39.8096 -16.0996l-3.89941 -110.82c-0.414062 -12.21 -10.4365 -22.0088 -22.7461 -22.0088c-1.32129 0 -2.61523 0.112305 -3.87402 0.329102c-28.9365 4.90039 -56.1416 16.1621 -79.4199 32.1094zM232.24 78.3496
c-11.2998 18.1104 6.2002 40.4102 26.5098 33.9102l105.42 -34.2598c9.14453 -3.04102 15.7305 -11.6855 15.7305 -21.8447c0 -3.46289 -0.767578 -6.74805 -2.14062 -9.69531c-12.5361 -26.3281 -30.4697 -49.2246 -52.71 -67.6104
c-3.96191 -3.26465 -9.03809 -5.25781 -14.5674 -5.25781c-8.18555 0 -15.375 4.29785 -19.4326 10.7578zM380.57 210.58c1.21289 -2.79883 1.93359 -5.89941 1.93359 -9.1416c0 -10.4385 -6.96875 -19.2627 -16.5039 -22.0684l-106.64 -30.5098
c-20.5 -5.90039 -37.1006 17.0098 -25.2002 34.71l62 91.9199c4.10742 6.08398 11.0635 10.0615 18.9502 10.0615c5.76172 0 11.0283 -2.1377 15.0498 -5.66211c21.5781 -19.0479 38.7783 -42.5518 50.4102 -69.3096zM62.1104 417.82
c34.3301 16.3438 72.6104 26.9434 112.33 30.0996c0.610352 0.0498047 1.20703 0.078125 1.83008 0.078125c12.5127 0 22.6709 -10.1582 22.6709 -22.6699c0 -0.0693359 -0.000976562 -0.138672 -0.000976562 -0.208008v-208.34
c0 -23.2998 -30.9102 -31.6006 -42.6104 -11.4004l-104.12 180.44c-1.92871 3.35059 -3.06738 7.24805 -3.06738 11.3887c0 9.07422 5.29883 16.9199 12.9678 20.6113z" />
    <glyph glyph-name="paypal" unicode="&#xf1ed;" horiz-adv-x="384" 
d="M111.4 152.1c-3.5 -19.1992 -17.4004 -108.699 -21.5 -134c-0.300781 -1.7998 -1 -2.5 -3 -2.5h-74.6006c-7.59961 0 -13.0996 6.60059 -12.0996 13.9004l58.5996 371.9c1.5 9.59961 10.1006 16.8994 20 16.8994c152.3 0 165.101 3.7002 204 -11.3994
c60.1006 -23.3008 65.6006 -79.5 44 -140.301c-21.5 -62.5996 -72.5 -89.5 -140.1 -90.2998c-43.4004 -0.700195 -69.5 7 -75.2998 -24.2002zM357.1 296c28.4004 -21.2002 30.3008 -57.7998 23.8008 -92.5996c-16.5 -83.5 -71.9004 -112.301 -142.9 -112.301
c-15 0 -24.7002 2.30078 -29.2998 -19.6992c-15.5 -97.4004 -13.7002 -85.9004 -14.4004 -91.3008c-1.7002 -8.59961 -8.7998 -14.8994 -17.3994 -14.8994h-63.5c-7.10059 0 -11.6006 5.7998 -10.6006 12.8994c0 0 4.5 29.3008 27.1006 169.7
c0.799805 6.10059 4.7998 9.40039 10.8994 9.40039c54 0 164.601 -9.90039 204.5 103.899c3.7002 11.1006 6.7998 22.2002 8.7998 33.6006c0.5 3.09961 1.2002 2.59961 3 1.2998z" />
    <glyph glyph-name="google-wallet" unicode="&#xf1ee;" 
d="M156.8 321.2c37.6006 -60.6006 64.2002 -113.101 84.2998 -162.5c-8.2998 -33.7998 -18.7998 -66.5 -31.2998 -98.2998c-13.2002 52.2998 -26.5 101.3 -56 148.5c6.5 36.3994 2.2998 73.5996 3 112.3zM109.3 248c5 0 10 -2.5 13 -6.5
c43.7998 -59.7998 66.2998 -123.8 82.5 -193.5h-103.5c-20 69.5 -49.5 133 -91.7002 187.3c-4 5.2002 0 12.7002 6.5 12.7002h93.2002zM157.1 336h108.7c74.7998 -103 131.2 -230 143.2 -368h-113.7c-8.2002 133.5 -69.7002 260 -138.2 368zM408.9 404.5
c19 -67.5 31.0996 -139 31.0996 -212.6c0 -69.5 -9.5 -142.5 -25.2998 -203c-10.9004 92.5 -42.4004 184.6 -90.6006 270.8c-4.19922 50.5 -13.2998 99.5 -26.5 146c-1.19922 5.2998 2.5 10.2998 7.80078 10.2998h88.2998c7 0 13.3994 -4.7002 15.2002 -11.5z" />
    <glyph glyph-name="cc-visa" unicode="&#xf1f0;" horiz-adv-x="576" 
d="M470.1 216.7c0 0 7.60059 -37.2002 9.30078 -45h-33.4004c3.2998 8.89941 16 43.5 16 43.5c-0.200195 -0.299805 3.2998 9.09961 5.2998 14.8994zM576 368v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480
c26.5 0 48 -21.5 48 -48zM152.5 116.8l63.2002 155.2h-42.5l-39.2998 -106l-4.30078 21.5l-14 71.4004c-2.2998 9.89941 -9.39941 12.6992 -18.1992 13.0996h-64.7002l-0.700195 -3.09961c15.7998 -4 29.9004 -9.80078 42.2002 -17.1006l35.7998 -135h42.5zM246.9 116.6
l25.1992 155.4h-40.1992l-25.1006 -155.4h40.1006zM386.8 167.4c0.200195 17.6992 -10.5996 31.1992 -33.7002 42.2998c-14.0996 7.09961 -22.6992 11.8994 -22.6992 19.2002c0.199219 6.59961 7.2998 13.3994 23.0996 13.3994
c13.0996 0.299805 22.7002 -2.7998 29.9004 -5.89941l3.59961 -1.7002l5.5 33.5996c-7.90039 3.10059 -20.5 6.60059 -36 6.60059c-39.7002 0 -67.5996 -21.2002 -67.7998 -51.4004c-0.299805 -22.2998 20 -34.7002 35.2002 -42.2002
c15.5 -7.59961 20.7998 -12.5996 20.7998 -19.2998c-0.200195 -10.4004 -12.6006 -15.2002 -24.1006 -15.2002c-16 0 -24.5996 2.5 -37.6992 8.2998l-5.30078 2.5l-5.59961 -34.8994c9.40039 -4.2998 26.7998 -8.10059 44.7998 -8.2998
c42.2002 -0.100586 69.7002 20.7998 70 53zM528 116.6l-32.4004 155.4h-31.0996c-9.59961 0 -16.9004 -2.7998 -21 -12.9004l-59.7002 -142.5h42.2002s6.90039 19.2002 8.40039 23.3008h51.5996c1.2002 -5.5 4.7998 -23.3008 4.7998 -23.3008h37.2002z" />
    <glyph glyph-name="cc-mastercard" unicode="&#xf1f1;" horiz-adv-x="576" 
d="M482.9 37.7002c0 -6.7998 -4.60059 -11.7002 -11.2002 -11.7002c-6.7998 0 -11.2002 5.2002 -11.2002 11.7002s4.40039 11.7002 11.2002 11.7002c6.59961 0 11.2002 -5.2002 11.2002 -11.7002zM172.1 49.4004c6.5 0 10.8008 -5.2002 10.9004 -11.7002
c0 -6.7998 -4.40039 -11.7002 -10.9004 -11.7002c-7.09961 0 -11.1992 5.2002 -11.1992 11.7002s4.09961 11.7002 11.1992 11.7002zM289.6 49.7002c5.2002 0 8.7002 -3 9.60059 -8.7002h-19.1006c0.800781 5.2002 4.10059 8.7002 9.5 8.7002zM397.4 49.4004
c6.7998 0 11.1992 -5.2002 11.1992 -11.7002c0 -6.7998 -4.39941 -11.7002 -11.1992 -11.7002c-6.80078 0 -10.9004 5.2002 -10.9004 11.7002s4.09961 11.7002 10.9004 11.7002zM503.3 23.2998c0 -0.299805 0.299805 -0.5 0.299805 -1.09961
c0 -0.299805 -0.299805 -0.5 -0.299805 -1.10059c-0.299805 -0.299805 -0.299805 -0.5 -0.5 -0.799805c-0.299805 -0.299805 -0.5 -0.5 -1.09961 -0.5c-0.299805 -0.299805 -0.5 -0.299805 -1.10059 -0.299805c-0.299805 0 -0.5 0 -1.09961 0.299805
c-0.299805 0 -0.5 0.299805 -0.799805 0.5c-0.299805 0.299805 -0.5 0.5 -0.5 0.799805c-0.299805 0.5 -0.299805 0.800781 -0.299805 1.10059c0 0.5 0 0.799805 0.299805 1.09961c0 0.5 0.299805 0.799805 0.5 1.10059c0.299805 0.299805 0.5 0.299805 0.799805 0.5
c0.5 0.299805 0.799805 0.299805 1.09961 0.299805c0.5 0 0.800781 0 1.10059 -0.299805c0.5 -0.300781 0.799805 -0.300781 1.09961 -0.5c0.299805 -0.200195 0.200195 -0.600586 0.5 -1.10059zM501.1 21.9004c0.5 0 0.5 0.299805 0.800781 0.299805
c0.299805 0.299805 0.299805 0.5 0.299805 0.799805s0 0.5 -0.299805 0.799805c-0.300781 0 -0.5 0.299805 -1.10059 0.299805h-1.59961v-3.5h0.799805v1.40039h0.299805l1.10059 -1.40039h0.799805zM576 367v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48
v352c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48zM64 227.4c0 -76.5 62.0996 -138.5 138.5 -138.5c27.2002 0 53.9004 8.19922 76.5 23.0996c-72.9004 59.2998 -72.4004 171.2 0 230.5c-22.5996 15 -49.2998 23.0996 -76.5 23.0996
c-76.4004 0.100586 -138.5 -62 -138.5 -138.199zM288 118.6c70.5 55 70.2002 162.2 0 217.5c-70.2002 -55.2998 -70.5 -162.6 0 -217.5zM145.7 42.2998c0 8.7002 -5.7002 14.4004 -14.7002 14.7002c-4.59961 0 -9.5 -1.40039 -12.7998 -6.5
c-2.40039 4.09961 -6.5 6.5 -12.2002 6.5c-3.7998 0 -7.59961 -1.40039 -10.5996 -5.40039v4.40039h-8.2002v-36.7002h8.2002c0 18.9004 -2.5 30.2002 9 30.2002c10.1992 0 8.19922 -10.2002 8.19922 -30.2002h7.90039c0 18.2998 -2.5 30.2002 9 30.2002
c10.2002 0 8.2002 -10 8.2002 -30.2002h8.2002v23h-0.200195zM190.6 56h-7.89941v-4.40039c-2.7002 3.30078 -6.5 5.40039 -11.7002 5.40039c-10.2998 0 -18.2002 -8.2002 -18.2002 -19.2998c0 -11.2002 7.90039 -19.2998 18.2002 -19.2998
c5.2002 0 9 1.89941 11.7002 5.39941v-4.59961h7.89941v36.7998zM231.1 30.4004c0 15 -22.8994 8.19922 -22.8994 15.1992c0 5.7002 11.8994 4.80078 18.5 1.10059l3.2998 6.5c-9.40039 6.09961 -30.2002 6 -30.2002 -8.2002c0 -14.2998 22.9004 -8.2998 22.9004 -15
c0 -6.2998 -13.5 -5.7998 -20.7002 -0.799805l-3.5 -6.2998c11.2002 -7.60059 32.5996 -6 32.5996 7.5zM266.5 21.0996l-2.2002 6.80078c-3.7998 -2.10059 -12.2002 -4.40039 -12.2002 4.09961v16.5996h13.1006v7.40039h-13.1006v11.2002h-8.19922v-11.2002h-7.60059
v-7.2998h7.60059v-16.7002c0 -17.5996 17.2998 -14.4004 22.5996 -10.9004zM279.8 34.5h27.5c0 16.2002 -7.39941 22.5996 -17.3994 22.5996c-10.6006 0 -18.2002 -7.89941 -18.2002 -19.2998c0 -20.5 22.5996 -23.8994 33.7998 -14.2002l-3.7998 6
c-7.7998 -6.39941 -19.6006 -5.7998 -21.9004 4.90039zM338.9 56c-4.60059 2 -11.6006 1.7998 -15.2002 -4.40039v4.40039h-8.2002v-36.7002h8.2002v20.7002c0 11.5996 9.5 10.0996 12.7998 8.40039zM349.5 37.7002c0 11.3994 11.5996 15.0996 20.7002 8.39941l3.7998 6.5
c-11.5996 9.10059 -32.7002 4.10059 -32.7002 -15c0 -19.7998 22.4004 -23.7998 32.7002 -15l-3.7998 6.5c-9.2002 -6.5 -20.7002 -2.59961 -20.7002 8.60059zM416.2 56h-8.2002v-4.40039c-8.2998 11 -29.9004 4.80078 -29.9004 -13.8994
c0 -19.2002 22.4004 -24.7002 29.9004 -13.9004v-4.59961h8.2002v36.7998zM449.9 56c-2.40039 1.2002 -11 2.90039 -15.2002 -4.40039v4.40039h-7.90039v-36.7002h7.90039v20.7002c0 11 9 10.2998 12.7998 8.40039zM490.2 70.9004h-7.90039v-19.3008
c-8.2002 10.9004 -29.8994 5.10059 -29.8994 -13.8994c0 -19.4004 22.5 -24.6006 29.8994 -13.9004v-4.59961h7.90039v51.7002zM497.8 146v-4.59961h0.799805v4.59961h1.90039v0.799805h-4.59961v-0.799805h1.89941zM504.4 22.2002c0 0.5 0 1.09961 -0.300781 1.59961
c-0.299805 0.299805 -0.5 0.799805 -0.799805 1.10059c-0.299805 0.299805 -0.799805 0.5 -1.09961 0.799805c-0.5 0 -1.10059 0.299805 -1.60059 0.299805c-0.299805 0 -0.799805 -0.299805 -1.39941 -0.299805c-0.5 -0.299805 -0.799805 -0.5 -1.10059 -0.799805
c-0.5 -0.300781 -0.799805 -0.800781 -0.799805 -1.10059c-0.299805 -0.5 -0.299805 -1.09961 -0.299805 -1.59961c0 -0.299805 0 -0.799805 0.299805 -1.40039c0 -0.299805 0.299805 -0.799805 0.799805 -1.09961c0.300781 -0.299805 0.5 -0.5 1.10059 -0.799805
c0.5 -0.300781 1.09961 -0.300781 1.39941 -0.300781c0.5 0 1.10059 0 1.60059 0.300781c0.299805 0.299805 0.799805 0.5 1.09961 0.799805s0.5 0.799805 0.799805 1.09961c0.300781 0.600586 0.300781 1.10059 0.300781 1.40039zM507.6 146.9h-1.39941l-1.60059 -3.5
l-1.59961 3.5h-1.40039v-5.40039h0.800781v4.09961l1.59961 -3.5h1.09961l1.40039 3.5v-4.09961h1.09961v5.40039zM512 227.4c0 76.1992 -62.0996 138.3 -138.5 138.3c-27.2002 0 -53.9004 -8.2002 -76.5 -23.1006c72.0996 -59.2998 73.2002 -171.5 0 -230.5
c22.5996 -15 49.5 -23.0996 76.5 -23.0996c76.4004 -0.0996094 138.5 61.9004 138.5 138.4z" />
    <glyph glyph-name="cc-discover" unicode="&#xf1f2;" horiz-adv-x="576" 
d="M520.4 251.9c0 -8.40039 -5.5 -12.8008 -15.8008 -12.8008h-4.69922v24.9004h4.89941c10.1006 0 15.6006 -4.2002 15.6006 -12.0996zM528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480z
M483.9 277.1v-82h16v32.8008h2.19922l22.2002 -32.8008h19.6006l-25.8008 34.4004c12.1006 2.5 18.7002 10.5996 18.7002 23.2002c0 28.5 -30.2998 24.3994 -52.8994 24.3994zM428 277v-82h45.2998v13.7998h-29.2998v22.2002h28.2998v13.7998h-28.2998v18.2002h29.2998v14
h-45.2998zM359.3 277h-17.5l35 -84.2002h8.60059l35.5 84.2002h-17.5l-22.2002 -55.2002zM303.4 280c-24.6006 0 -44.6006 -19.9004 -44.6006 -44.5996c0 -24.6006 19.9004 -44.6006 44.6006 -44.6006c24.5996 0 44.5996 19.9004 44.5996 44.6006
c0 24.5996 -19.9004 44.5996 -44.5996 44.5996zM254.1 273.9c-30.1992 15 -63.2998 -6.80078 -63.2998 -38c0 -32.5 33.6006 -52.5 63.2998 -38.2002v19c-19.2998 -19.2998 -46.7998 -5.7998 -46.7998 19.2002c0 23.6992 26.7002 39.0996 46.7998 19v19zM156.9 207.6
c-7.60059 0 -13.8008 3.7002 -17.5 10.8008l-10.3008 -9.90039c17.8008 -26.0996 56.6006 -18.2002 56.6006 11.2998c0 13.1006 -5.40039 19 -23.6006 25.6006c-9.59961 3.39941 -12.2998 5.89941 -12.2998 10.2998c0 8.7002 14.5 14.0996 24.9004 2.5l8.39941 10.7998
c-19.0996 17.0996 -49.6992 8.90039 -49.6992 -14.2998c0 -11.2998 5.19922 -17.2002 20.1992 -22.7002c25.7002 -9.09961 14.7002 -24.4004 3.30078 -24.4004zM55.4004 195c30.8994 0 44.0996 22.4004 44.0996 40.9004c0 24.0996 -18 41.0996 -44.0996 41.0996h-23.4004
v-82h23.4004zM122.9 195v82h-16v-82h16zM544 15v145c-33.2998 -20.7998 -226.4 -124.4 -416 -160h401c8.2002 0 15 6.7998 15 15zM74.0996 256.4c5.7002 -5 8.90039 -12.6006 8.90039 -20.5c0 -7.90039 -3.2002 -15.5 -8.90039 -20.7002
c-4.89941 -4.40039 -11.5996 -6.40039 -21.8994 -6.40039h-4.2002v54.2002h4.2002c10.2998 0 16.7002 -1.7002 21.8994 -6.59961z" />
    <glyph glyph-name="cc-amex" unicode="&#xf1f3;" horiz-adv-x="576" 
d="M325.1 280.2c0.100586 -8 -4.2998 -15.7002 -11.6992 -18.7002c9.5 -3.2998 11 -9.2002 11 -18.4004v-13.5h-16.6006c-0.299805 14.8008 3.60059 25.1006 -14.7998 25.1006h-18v-25.1006h-16.4004v69.3008l39.1006 -0.300781c13.2998 0 27.3994 -2 27.3994 -18.3994z
M295.7 268.9c5.7002 0 11 1.2998 11 7.89941c0 6.40039 -5.60059 7.40039 -10.7002 7.40039h-21v-15.2998h20.7002zM279 179.4c15.5996 0 27.9004 -5.40039 27.9004 -22.7002c0 -27.9004 -30.4004 -23.2998 -49.3008 -23.2998l-0.0996094 -23.3008h-32.2002l-20.3994 23
l-21.3008 -23h-65.3994l0.0996094 69.3008h66.5l20.5 -22.8008l21 22.8008h52.7002zM175.2 124.7l19 20.2002l-17.9004 20.1992h-41.7002v-12.5h36.3008v-14.0996h-36.3008v-13.7998h40.6006zM241 116.5v55.5l-25.2998 -27.4004zM278.8 147.5
c5.90039 0 10.5 2.7998 10.5 9.2002c0 6.09961 -4.59961 8.39941 -10.2002 8.39941h-21.5v-17.5996h21.2002zM247.2 284.2h-38.9004v-12.5h37.7998v-14.1006h-37.7998v-13.7998h38.9004v-14.2998h-55.5v69.2998h55.5v-14.5996zM576 192.6h-0.200195h0.200195zM381.4 160.7
c-0.100586 -7.60059 -4.2002 -15.2998 -11.9004 -18.4004c9.2002 -3.2998 11 -9.5 11 -18.3994l-0.0996094 -13.8008h-16.6006l0.100586 11.5c0 11.8008 -3.80078 13.8008 -14.8008 13.8008h-17.5996l-0.0996094 -25.3008h-16.6006l0.100586 69.3008h39.3994
c13 0 27.1006 -2.30078 27.1006 -18.7002zM352.2 149.5c5.59961 0 11 1.2998 11 8.2002c0 6.39941 -5.60059 7.39941 -10.7002 7.39941h-21v-15.5996h20.7002zM179.4 229.5h-16.8008v54.2002l-24 -54.2002h-14.5996l-24 54.2002v-54.2002h-33.7998l-6.40039 15.2998h-34.5
l-6.39941 -15.2998h-17.9004l29.7002 69.2998h24.5l28.0996 -65.7002v65.7002h27.1006l21.6992 -47l19.7002 47h27.6006v-69.2998zM31.2002 259.2h22.7002l-11.5 27.5996zM508.6 100.3c34.8008 0 54.8008 -2.2002 67.5 6.10059v-90.4004c0 -26.5 -21.5 -48 -48 -48h-480.1
c-26.5 0 -48 21.5 -48 48v203.7h26.5996c4.2002 10.0996 2.2002 5.2998 6.40039 15.2998h19.2002c4.2002 -10 2.2002 -5.2002 6.39941 -15.2998h52.9004v11.3994c2.2002 -5 1.09961 -2.5 5.09961 -11.3994h29.5c2.40039 5.5 2.60059 5.7998 5.10059 11.3994v-11.3994h135.5
v25.0996c6.39941 0 8 0.100586 9.7998 -0.200195c0 0 -0.200195 -10.8994 0.0996094 -24.7998h66.5v8.90039c7.40039 -5.90039 17.4004 -8.90039 29.7002 -8.90039h26.7998c4.2002 10.1006 2.2002 5.2998 6.40039 15.2998h19c6.5 -15 0.200195 -0.5 6.59961 -15.2998
h52.8008v21.9004c11.7998 -19.7002 7.7998 -12.9004 13.1992 -21.9004h41.6006v92h-39.9004v-18.3994c-12.2002 20.1992 -6.2998 10.3994 -11.2002 18.3994h-43.2998v-20.5996c-6.2002 14.5996 -4.59961 10.7998 -8.7998 20.5996h-32.4004
c-0.399414 0 -2.2998 -0.200195 -2.2998 0.299805h-27.5996c-12.7998 0 -23.1006 -3.19922 -30.7002 -9.2998v9.2998h-39.9004v-5.2998c-10.7998 6.10059 -20.6992 5.10059 -64.3994 5.2998c-0.100586 0 -11.6006 0.100586 -11.6006 0h-103
c-2.5 -6.09961 -6.7998 -16.3994 -12.5996 -30c-2.7998 6 -11 23.8008 -13.9004 30h-46v-21.0996c-7.39941 17.4004 -4.69922 11 -9 21.0996h-39.6992c-3.40039 -7.89941 -13.7002 -32 -23.1006 -53.8994v109.8c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48v-175.4
c-37.7002 0.200195 -44 0.900391 -54.2998 -5v5c-45.2998 0 -53.5 1.7002 -64.9004 -5.19922v5.19922h-78.1992v-5.09961c-11.4004 6.5 -21.4004 5.09961 -75.7002 5.09961v-5.59961c-6.2998 3.7002 -14.5 5.59961 -24.2998 5.59961h-58
c-3.5 -3.7998 -12.5 -13.6992 -15.7002 -17.1992c-12.7002 14.0996 -10.5 11.5996 -15.5 17.1992h-83.1006v-92.2998h82c3.30078 3.5 12.9004 13.9004 16.1006 17.4004c12.7002 -14.2998 10.2998 -11.7002 15.3994 -17.4004h48.9004
c0 14.7002 0.0996094 8.2998 0.0996094 23c11.5 -0.200195 24.3008 0.200195 34.3008 6.2002c0 -13.9004 -0.100586 -17.0996 -0.100586 -29.2002h39.6006c0 18.5 0.0996094 7.40039 0.0996094 25.2998c6.2002 0 7.7002 0 9.40039 -0.0996094
c0.0996094 -1.2998 0 0 0 -25.2002c152.8 0 145.899 -1.09961 156.699 4.5v-4.5zM544.9 164.8c-4.60059 0 -9.2002 -0.700195 -9.2002 -6.5c0 -12.2002 28.7998 0.299805 39.2998 -13.5v-25.7998c-4.90039 -7.09961 -14.0996 -8.90039 -22.5 -8.90039h-32l0.0996094 14.8008
h32c4.10059 0 8.40039 1.2998 8.40039 6.39941c0 14.6006 -42.7002 -5.59961 -42.7002 27.4004c0 14.0996 11 20.7002 23.7998 20.7002h32.9004v-14.6006h-30.0996zM487.9 125c4.09961 0 8.69922 1 8.7998 6.40039c0 14.8994 -42.7002 -5.60059 -42.7002 27.3994
c0 14.1006 10.7002 20.7002 23.5 20.7002h33.2002v-14.5996h-30.4004c-4.2998 0 -9.2002 -0.800781 -9.2002 -6.40039c0 -15.0996 42.9004 6.90039 42.9004 -26.2998c0 -16.4004 -11.4004 -22 -26.2002 -22h-32.2002l0.100586 14.7998h32.2002zM445.7 165.1h-38.5v-12.5
h37.7998v-14.0996h-37.9004v-13.7998l38.6006 -0.299805l-0.100586 -14.3008h-55.1992l0.0996094 69.3008h55.2002v-14.3008zM389.4 273.2c0.299805 0.299805 1.69922 1 7.2998 1c1 0 2 -0.100586 3.09961 -0.100586l-7.2998 -16.8994
c-2.2998 0 -3.2002 0.399414 -3.40039 0.5c-0.199219 0.200195 -1.09961 1.89941 -1.09961 7.89941c0 5.40039 1.09961 7.40039 1.40039 7.60059zM409.8 283.7h-0.0996094h0.0996094zM393.6 298.9h16.1006v-15.2002c-17.4004 0.299805 -33.1006 4.09961 -33.1006 -19.7002
c0 -11.7998 2.80078 -19.9004 16.1006 -19.9004h7.39941l23.5 54.5h24.8008l27.8994 -65.3994v65.3994h25.2998l29.1006 -48.0996v48.0996h16.8994v-69h-23.5996l-31.2002 51.9004v-51.9004h-33.7002l-6.59961 15.3008h-34.2998l-6.40039 -15.3008h-19.2002
c-22.7998 0 -33 11.8008 -33 34c0 23.3008 10.5 35.3008 34 35.3008zM435.7 286.8l-11.6006 -27.5996h22.8008zM334.6 298.8h16.9004v-69.2998h-16.9004v69.2998z" />
    <glyph glyph-name="cc-paypal" unicode="&#xf1f4;" horiz-adv-x="576" 
d="M186.3 189.8c0 -12.2002 -9.7002 -21.5 -22 -21.5c-9.2002 0 -16 5.2002 -16 15c0 12.2002 9.5 22 21.7002 22c9.2998 0 16.2998 -5.7002 16.2998 -15.5zM80.5 238.3c11.2998 0 19.7998 -1.5 17.5 -14.8994c-2 -12.7002 -10.5 -14.2002 -21.5 -14.2002l-8.2002 -0.299805
l4.2998 26.6992c0.200195 1.7002 1.7002 2.7002 3.2002 2.7002h4.7002zM364.5 238.3c8.5 0 18 -0.5 18.0996 -11.0996c0 -15 -9 -18 -22 -18l-8 -0.299805l4.2002 26.6992c0.200195 1.7002 1.40039 2.7002 3.2002 2.7002h4.5zM576 368v-352c0 -26.5 -21.5 -48 -48 -48h-480
c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48zM128.3 232.6c0 21 -16.2002 28 -34.7002 28h-40c-2.5 0 -5 -2 -5.19922 -4.69922l-16.4004 -102.101c-0.299805 -2 1.2002 -4 3.2002 -4h19c2.7002 0 5.2002 2.90039 5.5 5.7002l4.5 26.5996
c1 7.2002 13.2002 4.7002 18 4.7002c28.5996 0 46.0996 17 46.0996 45.7998zM212.5 223.8h-19c-3.7998 0 -4 -5.5 -4.2002 -8.2002c-5.7998 8.5 -14.2002 10 -23.7002 10c-24.5 0 -43.1992 -21.5 -43.1992 -45.1992c0 -19.5 12.1992 -32.2002 31.6992 -32.2002
c9 0 20.2002 4.89941 26.5 11.8994c-0.5 -1.5 -1 -4.69922 -1 -6.19922c0 -2.30078 1 -4 3.2002 -4h17.2002c2.7002 0 5 2.89941 5.5 5.69922l10.2002 64.3008c0.299805 1.89941 -1.2002 3.89941 -3.2002 3.89941zM253 125.9l63.7002 92.5996c0.5 0.5 0.5 1 0.5 1.7002
c0 1.7002 -1.5 3.5 -3.2002 3.5h-19.2002c-1.7002 0 -3.5 -1 -4.5 -2.5l-26.5 -39l-11 37.5c-0.799805 2.2002 -3 4 -5.5 4h-18.7002c-1.69922 0 -3.19922 -1.7998 -3.19922 -3.5c0 -1.2002 19.5 -56.7998 21.1992 -62.1006c-2.69922 -3.7998 -20.5 -28.5996 -20.5 -31.5996
c0 -1.7998 1.5 -3.2002 3.2002 -3.2002h19.2002c1.7998 0.100586 3.5 1.10059 4.5 2.60059zM412.3 232.6c0 21 -16.2002 28 -34.7002 28h-39.6992c-2.7002 0 -5.2002 -2 -5.5 -4.69922l-16.2002 -102c-0.200195 -2 1.2998 -4 3.2002 -4h20.5c2 0 3.5 1.5 4 3.19922l4.5 29
c1 7.2002 13.1992 4.7002 18 4.7002c28.3994 0 45.8994 17 45.8994 45.7998zM496.5 223.8h-19c-3.7998 0 -4 -5.5 -4.2998 -8.2002c-5.5 8.5 -14 10 -23.7002 10c-24.5 0 -43.2002 -21.5 -43.2002 -45.1992c0 -19.5 12.2002 -32.2002 31.7002 -32.2002
c9.2998 0 20.5 4.89941 26.5 11.8994c-0.299805 -1.5 -1 -4.69922 -1 -6.19922c0 -2.30078 1 -4 3.2002 -4h17.2998c2.7002 0 5 2.89941 5.5 5.69922l10.2002 64.3008c0.299805 1.89941 -1.2002 3.89941 -3.2002 3.89941zM544 257.1c0 2 -1.5 3.5 -3.2002 3.5h-18.5
c-1.5 0 -3 -1.19922 -3.2002 -2.69922l-16.1992 -104l-0.300781 -0.5c0 -1.80078 1.5 -3.5 3.5 -3.5h16.5c2.5 0 5 2.89941 5.2002 5.69922l16.2002 101.2v0.299805zM454 205.3c9.2998 0 16.2998 -5.7002 16.2002 -15.5c0 -12.2998 -9.7002 -21.5 -21.7002 -21.5
c-9.2002 0 -16.2002 5.2998 -16.2002 15c0 12.2998 9.5 22 21.7002 22z" />
    <glyph glyph-name="cc-stripe" unicode="&#xf1f5;" horiz-adv-x="576" 
d="M492.4 227.2c8.69922 0 18 -6.7002 18 -22.7002h-36.7002c0 16 9.7998 22.7002 18.7002 22.7002zM375 224.6c12.9004 0.100586 21.9004 -14.5 21.9004 -33.0996c0 -19.0996 -8.80078 -33.4004 -21.9004 -33.4004c-8.2998 0 -13.2998 3 -16.7998 6.7002l-0.200195 52.7998
c3.7002 4.10059 8.7998 7 17 7zM528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480zM122.2 166.9c0 42.2998 -54.2998 34.6992 -54.2998 50.6992c0 5.5 4.59961 7.7002 12.0996 7.7002
c10.7998 0 24.5 -3.2998 35.2998 -9.09961v33.3994c-11.7998 4.7002 -23.5 6.5 -35.2998 6.5c-28.7998 0 -48 -15 -48 -40.1992c0 -39.3008 54 -32.9004 54 -49.9004c0 -6.59961 -5.7002 -8.7002 -13.5996 -8.7002c-11.8008 0 -26.9004 4.90039 -38.9004 11.2998v-33.8994
c13.2002 -5.7002 26.5996 -8.10059 38.7998 -8.10059c29.6006 0.200195 49.9004 14.7002 49.9004 40.3008zM191 223.5v30.2998h-26.9004v30.7998l-34.6992 -7.39941l-0.200195 -113.9c0 -21 15.7998 -36.5 36.8994 -36.5c11.6006 0 20.2002 2.10059 24.9004 4.7002v28.9004
c-4.5 -1.80078 -27 -8.30078 -27 12.5996v50.5h27zM265 221.1v32.7002h-0.0996094c-4.7002 1.7002 -21.3008 4.7998 -29.6006 -10.5l-2.2002 10.5h-30.6992v-124.5h35.5v84.4004c8.39941 11 22.5996 8.89941 27.0996 7.39941zM309.1 129.3v124.5h-35.6992v-124.5h35.6992z
M309.1 272.2v28.8994l-35.6992 -7.59961v-28.9004zM383.2 126.7c25.3994 0.0996094 48.5996 20.5 48.5996 65.5996c0 41.2998 -23.5 63.7998 -48.3994 63.7998c-13.9004 0 -22.9004 -6.59961 -27.8008 -11.0996l-1.7998 8.7998h-31.2998v-165.8l35.5 7.5l0.0996094 40.2002
c5.10059 -3.7002 12.7002 -9 25.1006 -9zM543.6 178.2c0.100586 2 0.400391 9.39941 0.400391 12.8994c0 36.4004 -17.5996 65.1006 -51.2998 65.1006c-33.7998 0 -54.2998 -28.7002 -54.2998 -64.9004c0 -42.7998 24.1992 -64.5 58.7998 -64.5
c17 0 29.7002 3.90039 39.3994 9.2002v28.5996c-9.69922 -4.89941 -20.7998 -7.89941 -34.8994 -7.89941c-13.7998 0 -26 4.89941 -27.6006 21.5h69.5z" />
    <glyph glyph-name="lastfm" unicode="&#xf202;" horiz-adv-x="512" 
d="M225.8 80.9004c0 0 -31.7002 -31.1006 -97.8994 -31.1006c-82.2002 0 -127.9 48.1006 -127.9 137.2c0 92.7002 45.7002 147.2 131.8 147.2c117.7 0 129.3 -66.2002 161.3 -163c14 -42.7998 38.7002 -73.9004 97.9004 -73.9004c39.9004 0 61 8.7998 61 30.5
c0 31.9004 -34.9004 35.1006 -79.7998 45.7002c-48.6006 11.7002 -68 36.9004 -68 76.7998c0 64 51.5996 83.9004 104.399 83.9004c59.8008 0 96.2002 -21.7002 100.9 -74.5l-58.5996 -7c-2.30078 25.2002 -17.5 35.7998 -45.7002 35.7998
c-25.7998 0 -41.6006 -11.7998 -41.6006 -31.7002c0 -17.5996 7.60059 -28.0996 33.4004 -34c52.2998 -11.5 115 -19.2002 115 -92.0996c0 -58.6006 -49.2998 -80.9004 -122 -80.9004c-101.4 0 -136.6 45.7002 -155.4 102.601
c-26.0996 81.5996 -34.3994 134.899 -100.899 134.899c-35.7002 0 -72.1006 -25.7998 -72.1006 -97.8994c0 -56.3008 28.7002 -91.5 69.2002 -91.5c45.7002 0 76.2002 34 76.2002 34z" />
    <glyph glyph-name="lastfm-square" unicode="&#xf203;" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM307.8 103.1c45.4004 0 76.2002 13.9004 76.1006 50.6006c0 45.5 -39.1006 50.3994 -71.8008 57.5
c-16.0996 3.7002 -20.8994 10.2998 -20.8994 21.2998c0 12.5 9.89941 19.7998 26 19.7998c17.5996 0 27.0996 -6.59961 28.5996 -22.3994l36.7002 4.39941c-2.90039 33 -25.5996 46.6006 -63 46.6006c-32.9004 0 -65.2002 -12.4004 -65.2002 -52.4004
c0 -24.9004 12.1006 -40.7002 42.5 -48c28.1006 -6.59961 49.9004 -8.7002 49.9004 -28.5996c0 -13.6006 -13.2002 -19.1006 -38.1006 -19.1006c-37 0 -52.3994 19.4004 -61.1992 46.2002c-20 60.5 -27.3008 101.9 -100.801 101.9c-53.8994 0 -82.5 -34.1006 -82.5 -92
c0 -55.7002 28.6006 -85.8008 79.9004 -85.8008c41.4004 0 61.2002 19.4004 61.2002 19.4004l-11.7002 31.9004s-19 -21.3008 -47.5996 -21.3008c-25.3008 0 -43.3008 22 -43.3008 57.2002c0 45.1006 22.7002 61.2002 45.1006 61.2002c41.5 0 46.7002 -33.2998 63 -84.2998
c11.7002 -35.5 33.7002 -64.1006 97.0996 -64.1006z" />
    <glyph glyph-name="ioxhost" unicode="&#xf208;" horiz-adv-x="640" 
d="M616 288c13.2998 0 24 -10.7002 24 -24c0 -13.2002 -10.7002 -24 -24 -24h-52.7002c3.10059 -15.5 4.7002 -31.5996 4.7002 -48c0 -137 -111 -248 -248 -248c-102.9 0 -191.2 62.7002 -228.7 152h-67.2998c-13.2998 0 -24 10.7002 -24 24c0 13.2002 10.7002 24 24 24
h52.7002c-3.10059 15.5 -4.7002 31.5996 -4.7002 48c0 137 111 248 248 248c102.9 0 191.2 -62.7002 228.7 -152h67.2998zM520 192c0 16.5996 -2 32.5996 -5.7998 48h-298.2c-13.2998 0 -24 10.7002 -24 24c0 13.2002 10.7002 24 24 24h279.5
c-33.9004 62 -99.7998 104 -175.5 104c-110.5 0 -200 -89.5 -200 -200c0 -16.5996 2 -32.5996 5.7998 -48h298.2c13.2998 0 24 -10.7002 24 -24c0 -13.2002 -10.7002 -24 -24 -24h-279.5c33.9004 -62 99.7998 -104 175.5 -104c110.5 0 200 89.5 200 200zM216 216h208
c13.2998 0 24 -10.7002 24 -24c0 -13.2002 -10.7002 -24 -24 -24h-208c-13.2998 0 -24 10.7002 -24 24c0 13.2002 10.7002 24 24 24z" />
    <glyph glyph-name="angellist" unicode="&#xf209;" 
d="M347.1 232.6c48 -11.6992 54.9004 -50.5996 54.9004 -93.6992c0 -114.301 -73.4004 -202.9 -191.4 -202.9c-96.1992 0 -164.6 76.4004 -164.5 148.6c0 37.1006 14.2002 61.7002 51.1006 71.7002c-3.10059 8.2998 -8 20.7998 -8 29.7002
c0 23.5 24.8994 52.5996 48.2998 52.5996c6.90039 0 13.7002 -2 20 -4.2998c-12.4004 35.2002 -46.5996 126.7 -46.5996 162c0 28.7998 14.5996 51.7002 45.6992 51.7002c40 0 85.4004 -144 95.1006 -172.5c12.5 31.4004 52.5 163.1 97.0996 163.1
c28 0 43.7002 -22.2998 43.7002 -48.8994c0 -30.2002 -33.7002 -124.5 -45.4004 -157.101zM311.7 340l-33.1006 -93.7002l34 -6c8.5 23.4004 47.1006 128.9 47.1006 148c0 7.10059 -2.2998 16 -10.9004 16c-16 0 -33.0996 -52 -37.0996 -64.2998zM142.3 399.7
c0 -29.1006 34.6006 -120 45.5 -148.8c7.7002 4.39941 19.7998 2.69922 35.4004 1.39941l-34.6006 100.3c-31.7998 92.8008 -46.2998 59 -46.2998 47.1006zM140 204c-7.7002 0 -20.2998 -13.4004 -20.4004 -21.0996c0 -20.8008 56 -97.7002 76.9004 -97.7002
c5.7002 0 10.5996 6.2998 10.5996 11.3994c0 12.8008 -37.7998 107.4 -67.0996 107.4zM324.3 17.7002c55.2998 61.5 49.1006 158.6 31 174.7c-24 21.0996 -106 29.0996 -138.3 29.0996c-17.2998 0 -17.4004 -6.40039 -17.4004 -13.0996
c0 -43.7002 92.9004 -39.7002 120.601 -39.7002c11.2002 0 15.7998 -9.90039 16.8994 -21.1006c-7.39941 -7.39941 -17.6992 -11.6992 -27.3994 -15.3994c-9.40039 -3.40039 -19.1006 -7.10059 -27.1006 -13.1006c-22 -16 -43.6992 -43.3994 -43.6992 -71.6992
c0 -17.7002 10.5996 -32.9004 10.5996 -50.3008c0 -0.299805 -2 -6.5 -2 -7.39941c-32.5996 2.2998 -40.5996 34.5996 -41.7002 61.7002c-3.39941 -0.900391 -8 -0.600586 -11.7002 -0.600586c5.10059 -17.7998 -11.8994 -42 -38 -42
c-37.7998 0 -88 57.2002 -58.2998 86.9004c28.7002 -35.9004 35 -51.4004 51.1006 -51.4004c4 0 11.6992 3.40039 11.6992 8.2998c0 12.8008 -42.8994 73.1006 -54.2998 73.1006c-16.7998 0 -37.7002 -24.9004 -20.5996 -68.2998
c22.5996 -55.7002 69.5 -88.3008 128.899 -88.3008c43.4004 0 80.6006 16.6006 109.7 48.6006zM225.7 143.7c3.2002 -8.2998 6.59961 -16.6006 9.39941 -25.1006c6.30078 7.10059 12.9004 13.7002 20.3008 19.1006c-10 2 -20 2.89941 -29.7002 6z" />
    <glyph glyph-name="buysellads" unicode="&#xf20d;" 
d="M224 297.3l42.9004 -160.7h-85.8008zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM382.7 42.7002l-94.5 298.7h-128.4l-94.5 -298.7h90.7002l111.7 91.5996l24.2002 -91.5996h90.7998z
" />
    <glyph glyph-name="connectdevelop" unicode="&#xf20e;" horiz-adv-x="576" 
d="M550.5 207c6.69629 -1.33887 11.7861 -7.5 11.7881 -14.7324c0 -7.5 -5.3584 -13.6602 -12.3223 -15l-54.9111 -95.3574c0.536133 -1.60742 0.804688 -3.21387 0.804688 -4.82129c0 -7.23145 -5.09082 -13.3926 -12.0547 -14.7314l-51.6963 -90.2686
c0.535156 -1.33887 0.802734 -2.67773 0.802734 -4.28516c0 -8.30371 -6.69727 -15.2676 -15.2686 -15.2676c-4.28516 0 -8.30371 1.875 -10.9814 4.82129h-107.144c-2.67871 -3.21484 -6.96484 -5.35742 -11.5176 -5.35742s-8.83887 2.14258 -11.5166 5.35645h-106.875
c-2.67969 -3.21484 -6.69727 -5.35742 -11.5186 -5.35742c-8.30371 0 -15.2676 6.69727 -15.2676 15.2676c0 1.875 0.535156 3.75 1.07031 5.35742l-51.6963 89.7324c-6.96484 1.33887 -12.0547 7.5 -12.0547 14.7314c0 1.875 0.268555 3.21387 0.804688 4.82129
l-55.1797 95.3574c-6.96484 1.60742 -12.0537 7.76855 -12.0537 15c0 7.5 5.3584 13.6611 12.5898 15l53.3047 92.1436c0 0.536133 -0.268555 1.07227 -0.268555 1.60645c0 6.16113 3.75098 11.251 9.10742 13.6611l55.9824 97.2334
c-0.536133 1.33887 -1.07129 3.21387 -1.07129 4.82129c0 8.57129 6.96484 15.2676 15.2676 15.2676c4.82227 0 8.83887 -2.14258 11.7861 -5.625h106.071c2.67871 3.48242 6.69629 5.625 11.5176 5.625s8.83887 -2.14258 11.5176 -5.62402h106.606
c2.94727 3.48242 6.96484 5.625 11.7861 5.625c8.30371 0 15.2676 -6.69727 15.2676 -15.2676c0 -1.60742 -0.535156 -3.21484 -1.07031 -4.82129l55.4463 -95.8936c8.03613 -0.267578 14.7324 -6.96484 14.7324 -15.001c0 -2.67871 -0.803711 -5.08984 -1.875 -7.23145z
M153.535 -2.73242v75.8037h-43.6602zM153.535 81.1074v50.624l-44.999 -47.4102c0.535156 -1.07227 1.07129 -2.14355 1.33887 -3.21387h43.6602zM153.535 143.518l0.000976562 92.9463l-50.0889 51.9648c-2.41113 -1.60645 -5.08887 -2.41113 -7.76855 -2.67871
l-51.9648 -90c0.268555 -1.07227 0.268555 -2.14258 0.268555 -3.48242c0 -1.33887 0 -2.67871 -0.535156 -4.01758l55.7129 -96.4287c1.33887 -0.267578 2.67871 -1.07129 4.01758 -1.60742zM153.535 245.84v72.0527l-43.9277 -15.8037
c0 -0.267578 0.267578 -0.803711 0.267578 -1.07227c0 -2.94531 -0.803711 -5.62402 -2.14258 -7.7666zM153.535 326.465v59.7324l-43.6602 -75.5361zM480.054 287.357l-0.267578 0.267578l-98.0361 -101.518l63.75 -67.2324l35.3584 167.143zM291.75 92.8926
l-11.25 -11.7852h22.7676zM291.482 104.143l79.2852 82.2324l-83.0352 87.5889l-79.5537 -84.375zM296.839 98.25l16.875 -17.1426h124.02l5.8916 28.125l-67.5 71.25zM410.411 403.607l-117.053 -124.019l83.0342 -87.5889l97.5 101.25
c-1.33984 2.14258 -2.14258 4.82129 -2.14258 7.7666v0.536133l-57.8574 100.714c-1.33984 0.268555 -2.41016 0.804688 -3.48145 1.34082zM401.304 405.75h-4.28711l-166.339 -60l57.0547 -60.2676zM277.821 405.75h-103.929l50.8936 -53.5713l148.393 53.5713h-75
c-2.67871 -2.67773 -6.16016 -4.28516 -10.1787 -4.28516s-7.50098 1.60742 -10.1787 4.28516zM161.572 400.125v-70.7148l54.9111 19.8213l-51.1611 53.8398c-0.870117 -0.300781 -1.77832 -0.574219 -2.67969 -0.804688zM161.572 320.839v-83.3037l40.9814 -42.0527
l79.5537 84.1064l-59.7324 63.2139zM161.572 228.161v-76.0723l36.4277 38.3037zM161.572 140.303v-59.1953h107.678l17.1426 17.6777l-82.7676 85.9814zM168.536 -21.75h1.33887l91.6074 94.8213h-99.9102v-89.7324l1.07031 -1.60645
c2.41113 -0.804688 4.28613 -1.875 5.89355 -3.48242zM298.447 -21.75h104.194l-91.6064 94.8213h-38.3037l-91.6074 -94.8213h96.4287c2.68066 2.41016 6.42871 4.28516 10.4473 4.28516s7.76758 -1.875 10.4473 -4.28516zM418.447 -9.96387l17.4121 83.0361h-114.376
l89.1953 -91.875c1.07227 0.536133 2.14355 1.07031 3.48242 1.33887zM431.303 12.2676l34.8223 60.8037h-21.9639zM466.125 81.1074c0.267578 1.07129 0.803711 2.14258 1.33887 2.94531l-17.1426 18.2139l-4.55371 -21.1592h20.3574zM532.286 188.518
c-0.268555 1.33984 -0.536133 2.41113 -0.536133 3.75c0 1.60742 0.536133 2.94629 0.802734 4.28516l-45.8027 79.2861l-34.5537 -163.928l20.625 -21.9639c1.33887 0.802734 2.67871 1.33887 4.01758 1.87402z" />
    <glyph glyph-name="dashcube" unicode="&#xf210;" 
d="M326.6 344l102.2 104v-427c0 -50.5 -40.0996 -85 -91.2002 -85h-227.199c-51.1006 0 -91.2002 34.5 -91.2002 85v229.5c0 50.2002 40.0996 93.5 91.2002 93.5h216.199zM153.9 31.5v-0.0996094h223.8l-51.1006 52.2998v123.5c0 17.7002 -14.2998 32.5 -32 32.5h-140.699
c-17.7002 0 -32.4004 -14.7998 -32.4004 -32.5v-142.9c0 -17.7002 14.7002 -32.7998 32.4004 -32.7998z" />
    <glyph glyph-name="forumbee" unicode="&#xf211;" 
d="M5.7998 138.3c-3.7998 17 -5.7998 34.2002 -5.7998 51.4004c0 123.3 99.7998 223.3 223.1 223.3c16.6006 0 33.3008 -2 49.3008 -5.5c-123.4 -47 -220.5 -145.5 -266.601 -269.2zM398.7 327.5c-151.101 -44 -269.2 -164.4 -312.3 -315.7
c-17.2002 13.4004 -32.7002 30.9004 -45.2002 49c43.3994 149.9 160.1 267.7 309.7 312c18.0996 -12.5996 34.0996 -27.7998 47.7998 -45.2998zM414.5 74.7998c13.0996 -35.2998 24.2002 -73.2998 33.5 -109.8c-36.0996 9.2998 -72 20.5 -107 33.5996
c-25.7002 -16 -54.5996 -26.8994 -84.5996 -31.2998c42.5996 79.7002 108.199 147.4 187.6 190.3c-4.09961 -29.0996 -14.2998 -57.6992 -29.5 -82.7998zM444.2 220.3c-113.7 -46.7002 -204.2 -139.399 -250.5 -253.5c-19.6006 2.7002 -38.5 7.60059 -56.6006 15.2002
c44.9004 138.5 153.4 249.3 291.301 295.1c7.89941 -18.0996 13.1992 -37.2998 15.7998 -56.7998z" />
    <glyph glyph-name="leanpub" unicode="&#xf212;" horiz-adv-x="576" 
d="M386.539 336.515l15.0957 -248.955l-10.9785 0.275391c-36.2324 0.824219 -71.6406 -8.7832 -102.657 -27.9971c-31.0156 19.2139 -66.4238 27.9971 -102.657 27.9971c-45.5635 0 -82.0693 -10.7051 -123.516 -27.7227l31.291 258.288
c28.5459 11.8027 61.4834 18.1143 92.2256 18.1143c41.1729 0 73.8359 -13.1748 102.657 -42.5439c27.7227 28.2715 59.0127 41.7217 98.5391 42.5439zM569.07 0c-25.5264 0 -47.4854 5.21484 -70.542 15.6445c-34.3105 15.6455 -69.9932 24.9785 -107.871 24.9785
c-38.9775 0 -74.9346 -12.9014 -102.657 -40.623c-27.7227 27.7227 -63.6797 40.623 -102.657 40.623c-37.8779 0 -73.5605 -9.33301 -107.871 -24.9785c-22.2324 -9.88086 -44.7402 -15.6445 -69.1689 -15.6445h-1.37305l42.5449 349.141
c39.251 22.2334 87.0117 34.8594 132.301 34.8594c37.0547 0 75.209 -7.68457 106.225 -29.0947c31.0156 21.4102 69.1699 29.0947 106.225 29.0947c45.2891 0 93.0498 -12.626 132.301 -34.8594zM525.702 44.7412l-34.0361 280.246
c-30.7422 13.999 -67.248 21.4102 -101.009 21.4102c-38.4287 0 -74.3848 -12.0771 -102.657 -38.7021c-28.2725 26.625 -64.2275 38.7021 -102.657 38.7021c-33.7607 0 -70.2666 -7.41113 -101.009 -21.4102l-34.0361 -280.246
c47.2109 19.4863 82.8945 33.4854 135.045 33.4854c37.6045 0 70.8174 -9.60547 102.657 -29.6436c31.8398 20.0381 65.0518 29.6436 102.657 29.6436c52.1504 0 87.834 -13.999 135.045 -33.4854z" />
    <glyph glyph-name="sellsy" unicode="&#xf213;" horiz-adv-x="640" 
d="M539.71 210.692c55.1572 -13.4834 94.0742 -63.124 94.0732 -119.509c0 -68.0264 -55.4639 -123.184 -123.185 -123.184h-381.197c-67.7217 0 -123.186 55.1572 -123.185 123.185c0 47.4961 27.8848 91.0098 70.7852 111.234
c-2.14453 7.35449 -3.06543 15.0146 -3.06543 22.3691c0 46.2705 37.6914 83.9609 83.9629 83.9609c20.2227 0 39.835 -7.35449 55.1562 -20.5303c18.3867 74.7695 85.8008 127.781 163.021 127.781c92.542 0 167.924 -75.3818 167.924 -167.924
c0 -12.5635 -1.22559 -25.127 -4.29004 -37.3838zM199.88 46.4463v110.928c0 8.27344 -7.04688 15.3213 -15.3213 15.3213h-30.9482c-8.27344 0 -15.3213 -7.04785 -15.3213 -15.3213v-110.928c0 -8.27344 7.04688 -15.3213 15.3213 -15.3213h30.9482
c8.27344 0 15.3213 7.04688 15.3213 15.3213zM289.357 46.4463v131.458c0 8.27246 -7.04883 15.3203 -15.3223 15.3203h-30.9492c-8.27246 0 -15.3213 -7.04688 -15.3213 -15.3203v-131.458c0 -8.27344 7.04688 -15.3213 15.3213 -15.3213h30.9492
c8.27344 0 15.3223 7.04688 15.3223 15.3213zM378.834 46.4463v162.714c0 8.27246 -7.04688 15.3213 -15.3213 15.3213h-30.9482c-8.27441 0 -15.3223 -7.04785 -15.3223 -15.3213v-162.714c0 -8.27344 7.04785 -15.3213 15.3223 -15.3213h30.9482
c8.27441 0 15.3213 7.04688 15.3213 15.3213zM465.861 46.4463v224.612c0 8.58008 -7.04785 15.6279 -15.3223 15.6279h-28.4971c-8.27441 0 -15.3213 -7.04883 -15.3213 -15.6279v-224.612c0 -8.27344 7.04688 -15.3213 15.3213 -15.3213h28.4971
c8.27441 0 15.3223 7.04688 15.3223 15.3213z" />
    <glyph glyph-name="shirtsinbulk" unicode="&#xf214;" 
d="M100 37.7002l4.40039 9.89941l30.5996 -13.3994l-4.40039 -9.90039zM139.4 20.2002l4.39941 9.89941l30.6006 -13.3994l-4.40039 -9.90039zM311.5 34.2002l30.5996 13.3994l4.40039 -9.89941l-30.5996 -13.4004zM179.1 3l4.40039 9.59961l30.2998 -13.3994
l-4.39941 -9.90039zM60.4004 55.2002l4.39941 9.89941l30.6006 -13.6992l-4.40039 -9.60059zM271.8 16.7002l30.6006 13.3994l4.39941 -9.89941l-30.5996 -13.4004zM232.5 -0.799805l30.5996 13.3994l4.40039 -9.59961l-30.5996 -13.7002zM350.9 51.4004l30.5996 13.6992
l4.40039 -9.89941l-30.6006 -13.4004zM170 401.4v-10.5h-33.5v10.5h33.5zM122.8 401.4l-0.0996094 -10.5h-33.5v10.5h33.5996zM75.5 401.4l0.0996094 -10.5h-33.2998v10.5h33.2002zM217 401.4v-10.5h-33.2002v10.5h33.2002zM311.5 401.4v-10.5h-33.5v10.5h33.5zM358.8 401.4
v-10.5h-33.5v10.5h33.5zM264.2 401.4v-10.5h-33.2002v10.5h33.2002zM405.7 401.4v-10.5h-33.2998v10.5h33.2998zM52.7998 96.9004v-33.5h-10.7998v33.5h10.7998zM122.8 312.8l-0.0996094 -10.5h-33.5v10.5h33.5996zM52.7998 302.2v-23h-10.7998v33.5h33.5996v-10.5h-22.7998
zM221.7 73.5996c-50.2002 0 -91.2998 40.8008 -91.2998 91.3008c0 50.1992 41.0996 91.2998 91.2998 91.2998c50.5 0 91.2998 -41.1006 91.2998 -91.2998c0 -50.5 -40.7998 -91.3008 -91.2998 -91.3008zM173.5 184.7c0 -44.2998 77.5996 -11.9004 77.5996 -38
c0 -13.1006 -24 -14.2998 -32.6992 -14.2998c-12.3008 0 -29.8008 2.69922 -35.9004 14.8994h-0.900391l-9 -18.3994c14.8008 -9.30078 29.1006 -12.2002 47.2002 -12.2002c19.5 0 51 5.7998 51 31.2002c0 48.0996 -78.5 16.2998 -78.5 37.8994
c0 13.1006 20.7998 14.9004 29.7998 14.9004c10.8008 0 29.2002 -3.2002 35.6006 -13.1006h0.899414l8.80078 16.9004c-15.1006 6.2002 -27.4004 12 -44.3008 12c-20.0996 0 -49.5996 -6.40039 -49.5996 -31.7998zM52.7998 269.6v-33.5996h-10.7998v33.5996h10.7998z
M395.2 63.4004v33.5h10.7998v-33.5h-10.7998zM52.7998 140.1v-33.5h-10.7998v33.5h10.7998zM0 444.3h448v-406l-226.3 -98.5996l-221.7 98.5996v406zM418.8 57.2002h0.100586v270.1h-389.7v-270.1l192.8 -85.7002zM418.8 356.5h0.100586v58.5996h-389.7v-58.5996h389.6z
M52.7998 226.4v-33.5h-10.7998v33.5h10.7998zM52.7998 183.2v-33.5h-10.7998v33.5h10.7998zM170 312.8v-10.5h-33.5v10.5h33.5zM395.2 149.7v33.5h10.7998v-33.5h-10.7998zM395.2 192.9v33.5h10.7998v-33.5h-10.7998zM217 312.8v-10.5h-33.2002v10.5h33.2002zM395.2 236
v33.5h10.7998v-33.5h-10.7998zM395.2 106.5v33.5h10.7998v-33.5h-10.7998zM264.2 312.8v-10.5h-33.2002v10.5h33.2002zM311.5 312.8v-10.5h-33.5v10.5h33.5zM395.2 279.2l0.0996094 23h-22.7998v10.5h33.5v-33.5h-10.7998zM358.8 312.8v-10.5h-33.5v10.5h33.5z" />
    <glyph glyph-name="simplybuilt" unicode="&#xf215;" horiz-adv-x="512" 
d="M481.2 384c14.7002 0 26.5 -11.7998 26.7002 -26.2998v-331.4c0 -14.5 -11.8008 -26.2998 -26.6006 -26.2998h-450.399c-14.8008 0 -26.6006 11.7998 -26.6006 26.2998v331.4c0 14.5 11.7998 26.2998 26.4004 26.2998h106c14.5996 0 26.5996 -11.7998 26.5996 -26.2998
v-39.6006h185.3v39.6006c0 14.5 12.1006 26.2998 26.6006 26.2998h106zM149.8 92.2002c36.9004 0 66.6006 29.7002 66.6006 66.3994c0 36.9004 -29.7002 66.6006 -66.6006 66.6006c-36.7002 0 -66.3994 -29.7002 -66.3994 -66.6006
c0 -36.6992 29.7998 -66.3994 66.3994 -66.3994zM362.2 92.2002c36.5996 0 66.3994 29.7002 66.3994 66.5996c0 36.7002 -29.7998 66.4004 -66.3994 66.4004c-36.9004 0 -66.6006 -29.7998 -66.6006 -66.4004c0 -36.8994 29.7002 -66.5996 66.6006 -66.5996z" />
    <glyph glyph-name="skyatlas" unicode="&#xf216;" horiz-adv-x="640" 
d="M640 118.7c0 -65.9004 -52.5 -114.4 -117.5 -114.4c-165.9 0 -196.6 249.7 -359.7 249.7c-146.899 0 -147.1 -212.2 5.60059 -212.2c42.5 0 90.8994 17.7998 125.3 42.5c5.59961 4.10059 16.8994 16.2998 22.7998 16.2998s10.9004 -5 10.9004 -10.8994
c0 -7.7998 -13.1006 -19.1006 -18.7002 -24.1006c-40.9004 -35.5996 -100.3 -61.1992 -154.7 -61.1992c-83.4004 -0.100586 -154 59 -154 144.899c0 85.9004 67.5 149.101 152.8 149.101c185.3 0 222.5 -245.9 361.9 -245.9c99.8994 0 94.7998 139.7 3.39941 139.7
c-17.5 0 -35 -11.6006 -46.8994 -11.6006c-8.40039 0 -15.9004 7.2002 -15.9004 15.6006c0 11.5996 5.2998 23.7002 5.2998 36.2998c0 66.5996 -50.8994 114.7 -116.899 114.7c-53.1006 0 -80 -36.9004 -88.7998 -36.9004c-6.2002 0 -11.2002 5 -11.2002 11.2002
c0 5.59961 4.09961 10.2998 7.7998 14.4004c25.2998 28.7998 64.7002 43.6992 102.8 43.6992c79.4004 0 139.101 -58.3994 139.101 -137.8c0 -6.89941 -0.300781 -13.7002 -1.2002 -20.5996c11.8994 3.09961 24.0996 4.7002 35.8994 4.7002
c60.7002 0 111.9 -45.3008 111.9 -107.2z" />
    <glyph glyph-name="pinterest-p" unicode="&#xf231;" horiz-adv-x="384" 
d="M204 441.5c94.2002 0 180 -64.7998 180 -164.1c0 -93.3008 -47.7002 -196.801 -153.9 -196.801c-25.1992 0 -57 12.6006 -69.2998 36c-22.7998 -90.2998 -21 -103.8 -71.3994 -172.8c-5.2002 -1.89941 -3.5 -2.2998 -6.90039 1.5c-1.7998 18.9004 -4.5 37.5 -4.5 56.4004
c0 61.2002 28.2002 149.7 42 209.1c-7.5 15.2998 -9.59961 33.9004 -9.59961 50.7002c0 80 93.8994 92 93.8994 25.7998c0 -39 -26.3994 -75.5996 -26.3994 -113.399c0 -25.8008 21.2998 -43.8008 46.1992 -43.8008c69 0 90.3008 99.6006 90.3008 152.7
c0 71.1006 -50.4004 109.8 -118.5 109.8c-79.2002 0 -140.4 -57 -140.4 -137.399c0 -38.7002 23.7002 -58.5 23.7002 -67.7998c0 -7.80078 -5.7002 -35.4004 -15.6006 -35.4004c-24 0 -63.5996 40 -63.5996 110.4c0 110.699 101.4 179.1 204 179.1z" />
    <glyph glyph-name="whatsapp" unicode="&#xf232;" 
d="M380.9 350.9c41.8994 -42 67.0996 -97.7002 67.0996 -157c0 -122.4 -101.8 -222 -224.1 -222h-0.100586c-37.2002 0 -73.7002 9.2998 -106.1 27l-117.7 -30.9004l31.5 115c-19.4004 33.7002 -29.5996 71.9004 -29.5996 111c0 122.4 99.5996 222 222 222
c59.2998 0 115.1 -23.0996 157 -65.0996zM223.9 9.2998c101.699 0 186.6 82.7998 186.6 184.601c0.0996094 49.2998 -21.2998 95.5996 -56.0996 130.5c-34.8008 34.8994 -81.1006 54.0996 -130.4 54.0996c-101.8 0 -184.6 -82.7998 -184.6 -184.5
c0 -34.9004 9.69922 -68.7998 28.1992 -98.2002l4.40039 -7l-18.5996 -68.0996l69.7998 18.2998l6.7002 -4c28.2998 -16.7998 60.7998 -25.7002 94 -25.7002zM325.1 147.5c5.5 -2.7002 9.2002 -4.09961 10.5 -6.59961c1.40039 -2.30078 1.40039 -13.4004 -3.19922 -26.4004
c-4.60059 -13 -26.7002 -24.7998 -37.4004 -26.4004c-17.5996 -2.59961 -31.4004 -1.2998 -66.5996 13.9004c-55.7002 24.0996 -92 80.0996 -94.8008 83.7998c-2.69922 3.7002 -22.5996 30.1006 -22.5996 57.4004s14.2998 40.7002 19.4004 46.2998
c5.09961 5.5 11.0996 6.90039 14.7998 6.90039s7.39941 0 10.5996 -0.200195c3.40039 -0.200195 8 1.2998 12.5 -9.5c4.60059 -11.1006 15.7002 -38.4004 17.1006 -41.2002c1.39941 -2.7998 2.2998 -6 0.5 -9.7002c-10.6006 -21.2002 -22 -20.5 -16.3008 -30.2998
c21.5 -36.9004 42.9004 -49.7002 75.5 -66c5.5 -2.7998 8.80078 -2.2998 12 1.40039c3.30078 3.7998 13.9004 16.1992 17.6006 21.7998c3.7002 5.59961 7.39941 4.7002 12.5 2.7998c5.09961 -1.7998 32.3994 -15.2002 37.8994 -18z" />
    <glyph glyph-name="viacoin" unicode="&#xf237;" horiz-adv-x="384" 
d="M384 416l-48 -112h48v-48h-68.5l-13.7998 -32h82.2998v-48h-102.8l-89.2002 -208l-89.2002 208h-102.8v48h82.2998l-13.7998 32h-68.5v48h48l-48 112h64l80.7998 -192h94.5l80.7002 192h64zM192 112l27 64h-54z" />
    <glyph glyph-name="medium" unicode="&#xf23a;" 
d="M0 416h448v-448h-448v448zM372.2 309.9v5h-83.2002l-59.2998 -147.9l-67.4004 148h-87.2998v-5.09961l28.0996 -33.9004c2.80078 -2.5 4.2002 -6.09961 3.80078 -9.7998v-133c0.799805 -4.7998 -0.700195 -9.7002 -4.10059 -13.2002l-31.5996 -38.2998v-5.10059h89.7998
v5.10059l-31.5996 38.2998c-3.40039 3.5 -5.10059 8.40039 -4.40039 13.2002v115l78.7002 -171.601h9.09961l67.6006 171.601v-136.9c0 -3.59961 0 -4.2998 -2.40039 -6.7002l-24.2998 -23.5996v-4.90039h118v5.10059l-23.5 23
c-2.10059 1.5 -3.10059 4.09961 -2.7002 6.7002v169.3c-0.400391 2.5 0.599609 5.09961 2.7002 6.7002z" />
    <glyph glyph-name="y-combinator" unicode="&#xf23b;" 
d="M448 416v-448h-448v448h448zM236 160.5l77.5 145.5h-32.7002l-45.7998 -91c-4.7002 -9.2998 -9 -18.2998 -12.7998 -26.7998l-12.2002 26.7998l-45.2002 91h-35l76.7002 -143.8v-94.5h29.5v92.7998z" />
    <glyph glyph-name="optin-monster" unicode="&#xf23c;" horiz-adv-x="576" 
d="M572.6 26.5996c1 -3.5 1.90039 -7 1.7002 -10.6992c0.799805 -31.6006 -44.2998 -64 -73.5 -65.1006c-17.2998 -0.799805 -34.5996 8.40039 -42.7002 23.5c-113.5 -4.09961 -227 -4.89941 -340.199 0c-8.40039 -15.0996 -25.7002 -24 -43 -23.5
c-28.9004 1.10059 -74 33.5 -73.5 65.1006c0.299805 3.7998 0.799805 7.2998 1.89941 10.7998c-5.59961 9.39941 -4.7998 15.2998 5.40039 11.5996c3.2998 5.2002 7 9.5 11.0996 13.7998c-2.5 10.9004 1.2998 14.1006 11.1006 9.2002c4.5 3.2998 10 6.5 15.8994 9.2002
c0 15.7998 11.7998 11.2002 17.2998 5.7002c12.5 1.7998 20.2002 -0.700195 26.8008 -5.7002v19.7002c-12.9004 0 -40.6006 11.3994 -45.9004 36.2002c-5 20.7998 2.59961 38.0996 25.0996 47.5996c0.800781 5.90039 8.10059 14 14.9004 15.9004
c7.59961 1.89941 12.5 -4.60059 14.0996 -10.3008c7.40039 0 17.8008 -1.5 21.1006 -8.09961c5.39941 0.5 11.0996 1.40039 16.5 1.90039c-2.40039 1.89941 -5.10059 3.5 -8.10059 4.59961c-5.09961 8.90039 -13.7998 11.0996 -24.5996 11.5996
c0 0.800781 0 1.60059 0.299805 2.7002c-19.7998 0.5 -44.0996 5.60059 -54.8994 17.7998c-21.3008 23.6006 -15.9004 83.6006 12.1992 103.5c8.40039 5.7002 21.6006 0.800781 22.7002 -9.69922c2.40039 -20.6006 0.400391 -26.8008 26.2002 -25.9004
c8.09961 7.7998 16.7998 14.5996 26.5 20c-14.9004 1.2998 -28.9004 -1.59961 -43.7998 -3.7998c12.7002 12.5 23.8994 25.3994 56.7002 42.3994c23.5 11.9004 50 20.8008 76.1992 23.2002c-18.5996 7.90039 -40 11.9004 -59.6992 16.5
c76.5 16.2002 174.6 22.1006 244.199 -37.5996c18.1006 -15.4004 32.4004 -36.2002 42.7002 -60c39.7998 -4.90039 36.4004 5.5 38.6006 25.0996c1.09961 10.2998 14.2998 15.4004 22.6992 9.5c14.9004 -10.5 22.2002 -30.7998 24.6006 -48.0996
c2.2002 -17.7998 0.299805 -41.2998 -12.4004 -55.1006c-10.7998 -12.1992 -34.2998 -17.5996 -53.7998 -18.0996v-2.7998c-11.0996 -0.200195 -20.2998 -2.40039 -25.7002 -11.6006c-3 -1.09961 -5.7002 -2.69922 -8.39941 -4.59961
c5.69922 -0.5 11.3994 -1.40039 16.7998 -1.90039c1.89941 5.60059 12.5996 8.40039 21.0996 8.40039c1.7002 5.40039 6.7998 11.9004 14.1006 10.2998c7.2998 -1.59961 14.0996 -10 14.8994 -15.8994c10.7998 -4.40039 22.1006 -12.2002 25.1006 -25.7002
c1.89941 -8.10059 1.69922 -15.1006 0.299805 -21.9004c-5.7002 -25.2002 -33.2998 -36.2002 -45.9004 -36.2002c0 -6.69922 0 -13.1992 -0.299805 -19.6992c8.09961 6 16.4004 7.19922 26.7998 5.69922c6 5.90039 17.6006 9.40039 17.6006 -5.69922
c5.59961 -2.7002 11.2998 -6 15.8994 -9.2002c10.1006 5 13.7002 0.5 10.7998 -9.2002c4.10059 -4.2998 8.10059 -8.90039 11.1006 -13.7998c10.0996 3.59961 11 -2.10059 5.39941 -11.6006zM498.8 280.6c17.2998 -6.69922 26.2002 -22.0996 30.2998 -35.6992
c1.10059 10.5996 -2.69922 39.5 -13.7998 51.0996c-7.2998 7.2998 -14.0996 5.09961 -14.0996 -0.799805c0 -6.2002 -1.2998 -11.6006 -2.40039 -14.6006zM494.2 273.9c-3.2002 -3.30078 -9.2002 -4.90039 -14.1006 -5.7002c13 -15.7002 17 -41.7002 12.7002 -63
c10.7998 2.2002 20.5 6.2998 26.2002 12.2002c1.90039 2.19922 3.7998 4.89941 4.90039 7.59961c-1.10059 21.2998 -10.2002 42.7002 -29.7002 48.9004zM470.1 267.1c-3.69922 0 -8.09961 0 -11.7998 0.300781c7.5 -20.6006 12.4004 -42.7002 14.2998 -64.6006
c3.5 0 7.5 0.299805 11.6006 0.799805c5.89941 24.3008 -0.299805 51.6006 -14.1006 63.5zM47.5 245c4.09961 13.5 13 28.9004 30.2998 35.7002c-1 3 -2.39941 8.39941 -2.39941 14.5996c0 5.90039 -7.10059 8.10059 -14.1006 0.799805
c-11.3994 -11.5996 -14.8994 -40.5996 -13.7998 -51.0996zM57.2002 217.4c5.7002 -6.2002 15.3994 -10 26.2002 -12.2002c-4.30078 21.3994 -0.300781 47.2998 12.6992 63c-4.89941 0.799805 -10.8994 2.5 -14.0996 5.7002
c-19.4004 -6.2002 -28.2998 -27.6006 -29.7002 -48.9004c1.40039 -2.7002 3 -5.40039 4.90039 -7.59961zM105.1 202.8c2.40039 22.2002 9.10059 43.7998 19.8008 63.5c-5.2002 -1.09961 -10 -3 -14.9004 -4.89941l-12.2002 -5.10059v0.299805
c-7.2998 -14.0996 -10 -34.3994 -5.39941 -53c4.59961 -0.5 8.59961 -0.799805 12.6992 -0.799805zM289.1 365.5c-41.8994 0 -76.1992 -34.0996 -76.1992 -75.9004c0 -42.1992 34.2998 -76.1992 76.1992 -76.1992c41.9004 0 76.2002 34 76.2002 76.1992
c0 41.9004 -34.2998 75.9004 -76.2002 75.9004zM404.7 191.2c-12.9004 0.799805 -26.2002 0.799805 -39.5 1.09961c10 -50.5996 3.2998 -64.7002 16.5 -58.0996c16 8.09961 22.7002 39.2002 23 57zM350.7 192.8c-18.9004 0.299805 -38.1006 0.299805 -57 0v0.299805
c-0.299805 -5.19922 0.200195 -38.0996 4.2998 -41.0996c11.0996 -5.40039 39.5 -4.59961 51.0996 -1.09961c5.40039 1.59961 2.40039 37 1.60059 41.8994zM278.3 139c4.60059 2.5 2.40039 45.4004 1.2998 53.7002v0.299805
c-19.3994 -0.299805 -38.5996 -0.299805 -57.7998 -0.799805c-1.89941 -9.2002 -4.59961 -48.9004 1.90039 -51.6006c13 -5.69922 41.5996 -5.09961 54.5996 -1.59961zM171.8 190.1c-5.39941 -19.6992 0.299805 -45.0996 22.2002 -54.8994
c5.40039 -2.5 8.59961 -2.5 9.7002 4.2998c1.89941 8.7002 2.5 36.7998 4.89941 52.2002c-12.1992 -0.200195 -24.5996 -0.799805 -36.7998 -1.60059zM136.4 158.8c2.39941 -3.7002 1.59961 -9.09961 -8 -12.5c43.7998 -47 92.6992 -85.7002 155.899 -106.5
c67.5 19.2002 115.601 60 163.2 107c-11.0996 4.2998 -7.7002 10.2998 -7.2998 11.6006c-8.90039 0.799805 -17.9004 1.89941 -26.5 2.69922c-9.5 -33 -36 -52.8994 -46.7998 -31.5996c-2.7002 5.2002 -3.5 11.7002 -4.60059 16.7998
c-3.7998 -8.39941 -13.2998 -8.09961 -24.5996 -8.89941c-13.2002 -1.10059 -31.6006 -1.30078 -44 3c-3 -12.9004 -11.1006 -12.9004 -26.7998 -14.3008c-14.1006 -1.39941 -48.7002 -4.09961 -54.9004 10.8008c-1.09961 -28.7002 -35.0996 -10 -45.0996 7
c-3.2002 5.69922 -5.40039 11.3994 -7 17.5996c-7.80078 -0.799805 -15.7002 -1.59961 -23.5 -2.7002zM114.8 -13.7002c0.5 2.5 0.799805 5.2002 0.799805 8.2002c-5.69922 23.2002 -18.5996 49.7002 -33.5 54c-22.3994 6.7002 -68.8994 -23.5 -66.1992 -54.5996
c12.6992 -19.5 40 -35.7002 59.1992 -36.5c17.8008 -0.800781 35.9004 11.0996 39.7002 28.8994zM106.1 52.2998c9 -16 15.5 -33.2998 16.7002 -51.8994c33.5 19.3994 69.1006 35.6992 105.9 47c-38.7002 20.5 -68.1006 47.7998 -97.2998 77
c-2.10059 -1.30078 -5.10059 -2.40039 -7.80078 -3.5c-1.59961 -4.90039 8.7002 -5.30078 5.40039 -12.4004c-2.09961 -4.09961 -8.59961 -7.59961 -15.0996 -9.2002c-2.10059 -2.7002 -5.10059 -4.89941 -7.80078 -6.5h-0.299805
c-0.200195 -13.5 -0.200195 -27 0.299805 -40.5zM443.7 -12.2998c-36.7998 21.2998 -74.1006 41.2998 -115.601 53c-13.7998 -6.2002 -27.8994 -11.2998 -42.1992 -15.4004c-2.10059 -0.799805 -2.10059 -0.799805 -4.30078 0
c-11.8994 3.7002 -23.2998 8.10059 -34.8994 13.2002c-40.2002 -11.5996 -77.2998 -29.2002 -112.4 -50.7998h-0.299805v-0.299805c0.299805 0 0.299805 0 0.299805 0.299805c103.2 -4.10059 206.4 -3.5 309.4 0zM454.2 0.0996094c1 14.7002 7.2002 35.8008 16.5 51.7002
l-0.299805 -0.299805c0.5 13.7002 0.799805 27.5 0.799805 41.2998c-3 1.7002 -5.7002 4.10059 -8.10059 6.7998c-6.5 1.30078 -12.8994 5.10059 -15.0996 8.90039c-1.90039 4.09961 1.2998 7.59961 5.90039 10.2998c-0.200195 0.5 -0.5 1.60059 -0.5 2.40039
c-3 0.799805 -5.40039 1.7998 -7.60059 3.2002c-31.5996 -29.4004 -65.3994 -56.7002 -103.5 -76.7002c38.9004 -11.7002 76 -28.1006 111.9 -47.6006zM560.1 -6.09961c3 31.0996 -43.5 61.3994 -66.1992 54.5c-14.6006 -4.30078 -27.8008 -30.8008 -33.5 -54
c0 -23.8008 21.1992 -37.9004 40.5 -37c19.1992 0.799805 46.5 17 59.1992 36.5zM372.9 372.8c-35.7002 39.2002 -81.4004 47.7998 -126 23.5c25.1992 56.2002 122.199 48.6006 126 -23.5zM74.7998 40.9004c14.9004 1.89941 24.6006 -19.2002 18.6006 -30.8008
c-4.80078 -9.69922 -23.7002 -24.0996 -35.9004 -27.2998c-16.5 -4.59961 -32.2002 3.2998 -32.2002 14.9004c0 17.7998 33.7998 41.5996 49.5 43.2002zM290.7 217.1c-30.9004 0 -57.6006 25.7002 -50.2998 59.8008c13.1992 -20.7002 46.5 -12 46.5 11.2998
c0 10 -7 18.5996 -16.5 21.5996c31.6992 13.7998 72.1992 -8.2002 72.1992 -44.2998c0 -26.7998 -23.2998 -48.4004 -51.8994 -48.4004zM68 -26.0996c-0.5 8.39941 20.2998 23.5 29.2002 25.0996c8.59961 1.59961 12.7002 -11.4004 9.7002 -18.4004
c-2.7002 -5.69922 -10.5 -13.5 -17.3008 -16.1992c-9.39941 -3.2002 -21.0996 3 -21.5996 9.5zM501.2 40.9004c15.7002 -1.60059 49.5 -25.4004 49.5 -43.2002c0 -11.7002 -15.7002 -19.5 -32.2002 -14.9004c-12.0996 3.2002 -31.2998 17.6006 -36.2002 27.2998
c-5.7002 11.6006 4 32.7002 18.9004 30.8008zM478.8 -1c8.90039 -1.59961 30 -16.7002 29.1006 -25.0996c-0.200195 -6.5 -12.1006 -12.7002 -21.3008 -9.5c-7 2.69922 -14.8994 10.5 -17.2998 16.1992c-2.89941 7.10059 1.10059 20 9.5 18.4004z" />
    <glyph glyph-name="opencart" unicode="&#xf23d;" horiz-adv-x="640" 
d="M423.3 7.2998c0 -25.2998 -20.2998 -45.5996 -45.5996 -45.5996s-45.7998 20.2998 -45.7998 45.5996s20.5996 45.7998 45.7998 45.7998c25.3994 0 45.5996 -20.5 45.5996 -45.7998zM169.4 53.0996c25.2998 0 45.7998 -20.5 45.7998 -45.7998
s-20.5 -45.5996 -45.7998 -45.5996c-25.3008 0 -45.6006 20.3994 -45.6006 45.5996s20.2998 45.7998 45.6006 45.7998zM461.1 323.1c302.2 0 169.5 -67.1992 -17.1992 -233.899c59.1992 102.8 262.5 193.899 -70.8008 188.899c-319.8 -4.69922 -338.699 92.5 -373.1 144.2
c81.9004 -86.3994 158.9 -99.2002 461.1 -99.2002z" />
    <glyph glyph-name="expeditedssl" unicode="&#xf23e;" horiz-adv-x="496" 
d="M248 404.6c117.4 0 212.6 -95.1992 212.6 -212.6s-95.1992 -212.6 -212.6 -212.6s-212.6 95.1992 -212.6 212.6s95.1992 212.6 212.6 212.6zM150.6 271.7h-0.199219v-26.6006c0 -5 3.89941 -8.89941 8.89941 -8.89941h17.7002c5 0 8.90039 3.89941 8.90039 8.89941
v26.6006c0 82.0996 124 82.0996 124 0v-26.6006c0 -5 3.89941 -8.89941 8.89941 -8.89941h17.7002c5 0 8.90039 3.89941 8.90039 8.89941v26.6006c0 53.7002 -43.7002 97.3994 -97.4004 97.3994s-97.4004 -43.6992 -97.4004 -97.3994zM389.7 68v141.7
c0 9.7002 -8 17.7002 -17.7002 17.7002h-248c-9.7002 0 -17.7002 -8 -17.7002 -17.7002v-141.7c0 -9.7002 8 -17.7002 17.7002 -17.7002h248c9.7002 0 17.7002 8 17.7002 17.7002zM141.7 205.3v-132.899c0 -2.5 -1.90039 -4.40039 -4.40039 -4.40039h-8.89941
c-2.5 0 -4.40039 1.90039 -4.40039 4.40039v132.899c0 2.5 1.90039 4.40039 4.40039 4.40039h8.89941c2.5 0 4.40039 -1.90039 4.40039 -4.40039zM283.4 156.6c0 -13 -7.2002 -24.3994 -17.7002 -30.3994v-31.6006c0 -5 -3.90039 -8.89941 -8.90039 -8.89941h-17.7002
c-5 0 -8.89941 3.89941 -8.89941 8.89941v31.6006c-10.5 6.09961 -17.7002 17.3994 -17.7002 30.3994c0 19.7002 15.7998 35.4004 35.4004 35.4004c19.5996 0 35.5 -15.7998 35.5 -35.4004zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248
s111 248 248 248zM248 -38.2998c127 0 230.3 103.3 230.3 230.3s-103.3 230.3 -230.3 230.3s-230.3 -103.3 -230.3 -230.3s103.3 -230.3 230.3 -230.3z" />
    <glyph glyph-name="cc-jcb" unicode="&#xf24b;" horiz-adv-x="576" 
d="M431.5 203.7v32.2998c41.2002 0 38.5 -0.200195 38.5 -0.200195c7.2998 -1.2998 13.2998 -7.2998 13.2998 -16c0 -8.7998 -6 -14.5 -13.2998 -15.7998c-1.2002 -0.400391 -3.2998 -0.299805 -38.5 -0.299805zM474.3 183.5c7.5 -1.5 13.5 -8.2998 13.5 -17
c0 -9 -6 -15.5 -13.5 -17c-2.7998 -0.700195 -3.2002 -0.5 -42.7998 -0.5v35c39.5 0 40 0.200195 42.7998 -0.5zM576 368v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48zM182 255.7h-57
c0 -67.1006 10.7002 -109.7 -35.7998 -109.7c-19.5 0 -38.7998 5.7002 -57.2002 14.7998v-28c30 -8.2998 68 -8.2998 68 -8.2998c97.9004 0 82 47.7002 82 131.2zM360.5 251.2c-63.4004 16 -165 14.8994 -165 -59.2998c0 -77.1006 108.2 -73.6006 165 -59.2002v28.2998
c-47.5996 -24.7002 -107.5 -22 -107.5 31s59.7998 55.5996 107.5 31.2002v28zM544 161.5c0 18.5 -16.5 30.5 -38 32v0.799805c19.5 2.7002 30.2998 15.5 30.2998 30.2002c0 19 -15.7002 30 -37 31c0 0 6.2998 0.299805 -120.3 0.299805v-127.5h122.7
c24.2998 -0.0996094 42.2998 12.9004 42.2998 33.2002z" />
    <glyph glyph-name="cc-diners-club" unicode="&#xf24c;" horiz-adv-x="576" 
d="M239.7 368.1c97.2002 0 175.8 -78.5996 175.8 -175.8c0 -96.8994 -78.5996 -175.8 -175.8 -175.8c-96.9004 0 -175.8 78.9004 -175.8 175.8c0 97.2002 78.8994 175.8 175.8 175.8zM199.8 88.5v207.9c-41.7002 -16.2002 -71.3994 -56.7002 -71.3994 -104.101
c0 -47.3994 29.6992 -87.8994 71.3994 -103.8zM279.6 88.2002c41.7002 16.2002 71.4004 56.7002 71.4004 104.1c0 47.4004 -29.7002 87.9004 -71.4004 104.101v-208.2zM528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352
c0 26.5 21.5 48 48 48h480zM329.7 0c105 0 200.7 85.5 200.7 190.2c0 114.6 -95.7002 193.8 -200.7 193.8h-90.2998c-106.2 0 -193.801 -79.2002 -193.801 -193.8c0 -104.7 87.6006 -190.2 193.801 -190.2h90.2998z" />
    <glyph glyph-name="creative-commons" unicode="&#xf25e;" horiz-adv-x="496" 
d="M245.83 233.13l-33.2197 -17.2803c-9.43066 19.5801 -25.2402 19.9307 -27.46 19.9307c-22.1309 0 -33.2207 -14.6104 -33.2207 -43.8398c0 -23.5703 9.20996 -43.8408 33.2207 -43.8408c14.4697 0 24.6494 7.09082 30.5693 21.2607l30.5498 -15.5
c-6.16992 -11.5107 -25.6895 -38.9805 -65.0996 -38.9805c-22.5996 0 -73.96 10.3203 -73.96 77.0498c0 58.6904 43 77.0605 72.6299 77.0605c30.7197 0.00976562 52.7002 -11.9502 65.9902 -35.8604zM388.88 233.13l-32.7803 -17.2803
c-9.5 19.7705 -25.7197 19.9307 -27.8994 19.9307c-22.1406 0 -33.2197 -14.6104 -33.2197 -43.8398c0 -23.5508 9.22949 -43.8408 33.2197 -43.8408c14.4502 0 24.6494 7.09082 30.54 21.2607l31 -15.5c-2.10059 -3.75 -21.3906 -38.9805 -65.0898 -38.9805
c-22.6904 0 -73.96 9.87012 -73.96 77.0498c0 58.6699 42.9697 77.0605 72.6299 77.0605c30.71 0.00976562 52.5801 -11.9502 65.5596 -35.8604zM247.56 439.95c141.82 0 248.44 -110.13 248.44 -248c0 -147.13 -118.51 -248 -248.44 -248
c-133.96 0 -247.56 109.51 -247.56 248c0 132.939 104.74 248 247.56 248zM248.43 -10.8604c103.16 0 202.83 81.1299 202.84 202.82c0 113.8 -90.2891 203.26 -202.819 203.26c-118.29 0 -203.72 -97.8496 -203.72 -203.27c0 -109.771 91.1592 -202.811 203.699 -202.811z
" />
    <glyph glyph-name="gg" unicode="&#xf260;" horiz-adv-x="512" 
d="M179.2 217.6l102.399 -102.399l-102.399 -102.4l-179.2 179.2l179.2 179.2l44.7998 -44.7998l-25.5996 -25.6006l-19.2002 19.2002l-128 -128l128 -128l51.5 51.5l-77.1006 76.5zM332.8 371.2l179.2 -179.2l-179.2 -179.2l-44.7998 44.7998l25.5996 25.6006
l19.2002 -19.2002l128 128l-128 128l-51.5 -51.5l77.1006 -76.5l-25.6006 -25.5996l-102.399 102.399z" />
    <glyph glyph-name="gg-circle" unicode="&#xf261;" horiz-adv-x="512" 
d="M257 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM207.5 65.2002l75 75.2002l-77.2002 77.1992l-24.3994 -24.3994l53.0996 -52.9004l-26.5996 -26.5996l-77.2002 77.2002l77.2002 77.1992l11.0996 -11.0996l24.2002 24.2002
l-35.2002 35.3994l-125.7 -125.699zM306.5 67.4004l125.7 125.6l-125.7 125.7l-75 -75l77.2002 -77.2002l24.3994 24.4004l-53.0996 52.8994l26.5 26.5l77.2002 -77.2002l-77.2002 -77.1992l-11.0996 11.0996l-24.1006 -24.4004z" />
    <glyph glyph-name="tripadvisor" unicode="&#xf262;" horiz-adv-x="576" 
d="M528.91 269.18c28.8652 -26.2666 46.9404 -64.1113 46.9404 -106.176c0 -0.0615234 -0.000976562 -0.12207 -0.000976562 -0.183594h0.0302734c-0.00195312 -79.4414 -64.5479 -143.928 -143.989 -143.928c-37.7363 0 -72.0996 14.5527 -97.7803 38.3477
l-46.1104 -50.1699l-46.1396 50.1992c-25.6064 -23.4443 -59.8145 -37.7793 -97.2334 -37.7793c-79.4268 0 -143.911 64.4844 -143.911 143.911c0 41.8076 17.8662 79.4756 46.374 105.778l-47.0898 51.2402h104.66c52.2266 35.5498 115.938 56.3369 183.822 56.3369
s130.95 -20.7871 183.178 -56.3369h104.34zM144.06 65.4297c53.751 0 97.3906 43.6396 97.3906 97.3906s-43.6396 97.3896 -97.3906 97.3896s-97.3896 -43.6387 -97.3896 -97.3896s43.6387 -97.3906 97.3896 -97.3906zM288 165.63c0 64.0801 46.6104 119.07 108.08 142.59
c-33.2285 13.8467 -70.0527 21.4941 -108.272 21.4941c-38.2207 0 -74.6689 -7.64746 -107.897 -21.4941c61.4697 -23.5098 108.09 -78.5 108.09 -142.59zM431.88 65.4297c53.7568 0.00292969 97.4004 43.6475 97.4004 97.4053c0 53.7598 -43.6455 97.4053 -97.4053 97.4053
c-53.7588 0 -97.4053 -43.6455 -97.4053 -97.4053c0 -53.7578 43.6436 -97.4023 97.4004 -97.4053h0.00976562zM144.06 213.88c0.0175781 0 0.0332031 -0.000976562 0.0507812 -0.000976562c28.1299 0 50.9717 -22.8242 51 -50.9492v-0.109375
c0 -28.1807 -22.8799 -51.0605 -51.0605 -51.0605s-51.0596 22.8799 -51.0596 51.0605s22.8789 51.0596 51.0596 51.0596h0.00976562zM431.88 213.88c28.1807 0 51.0605 -22.8789 51.0605 -51.0596s-22.8799 -51.0605 -51.0605 -51.0605s-51.0596 22.8799 -51.0596 51.0605
s22.8789 51.0596 51.0596 51.0596z" />
    <glyph glyph-name="odnoklassniki" unicode="&#xf263;" horiz-adv-x="320" 
d="M275.1 114c-27.3994 -17.4004 -65.0996 -24.2998 -90 -26.9004l20.9004 -20.5996l76.2998 -76.2998c27.9004 -28.6006 -17.5 -73.2998 -45.7002 -45.7002c-19.0996 19.4004 -47.0996 47.4004 -76.2998 76.5996l-76.2998 -76.5
c-28.2002 -27.5 -73.5996 17.6006 -45.4004 45.7002c19.4004 19.4004 47.1006 47.4004 76.3008 76.2998l20.5996 20.6006c-24.5996 2.59961 -62.9004 9.09961 -90.5996 26.8994c-32.6006 21 -46.9004 33.3008 -34.3008 59c7.40039 14.6006 27.7002 26.9004 54.6006 5.7002
c0 0 36.2998 -28.8994 94.8994 -28.8994c58.6006 0 94.9004 28.8994 94.9004 28.8994c26.9004 21.1006 47.0996 8.90039 54.5996 -5.7002c12.4004 -25.6992 -1.89941 -38 -34.5 -59.0996zM30.2998 318.3c0 71.7002 58.2998 129.7 129.7 129.7s129.7 -58 129.7 -129.7
c0 -71.3994 -58.2998 -129.399 -129.7 -129.399s-129.7 58 -129.7 129.399zM96.2998 318.3c0 -35.0996 28.6006 -63.7002 63.7002 -63.7002s63.7002 28.6006 63.7002 63.7002c0 35.4004 -28.6006 64 -63.7002 64s-63.7002 -28.5996 -63.7002 -64z" />
    <glyph glyph-name="odnoklassniki-square" unicode="&#xf264;" 
d="M184.2 270.9c0 22.0996 17.8994 40 39.7998 40s39.7998 -17.9004 39.7998 -40c0 -22 -17.8994 -39.8008 -39.7998 -39.8008s-39.7998 17.9004 -39.7998 39.8008zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352
c26.5 0 48 -21.5 48 -48zM142.9 270.9c0 -44.6006 36.3994 -80.9004 81.0996 -80.9004s81.0996 36.2002 81.0996 80.9004c0 44.7998 -36.3994 81.0996 -81.0996 81.0996s-81.0996 -36.2002 -81.0996 -81.0996zM317.4 180.2
c-4.60059 9.09961 -17.3008 16.7998 -34.1006 3.59961c0 0 -22.7002 -18 -59.2998 -18s-59.2998 18 -59.2998 18c-16.7998 13.2002 -29.5 5.5 -34.1006 -3.59961c-7.89941 -16.1006 1.10059 -23.7002 21.4004 -37c17.2998 -11.1006 41.2002 -15.2002 56.5996 -16.7998
l-12.8994 -12.9004c-18.2002 -18 -35.5 -35.5 -47.7002 -47.7002c-17.5996 -17.5996 10.7002 -45.7998 28.4004 -28.5996l47.6992 47.8994c18.2002 -18.1992 35.7002 -35.6992 47.7002 -47.8994c17.6006 -17.2002 46 10.7002 28.6006 28.5996l-47.7002 47.7002l-13 12.9004
c15.5 1.59961 39.0996 5.89941 56.2002 16.7998c20.3994 13.2998 29.2998 21 21.5 37z" />
    <glyph glyph-name="get-pocket" unicode="&#xf265;" 
d="M407.6 384c22.7002 0 40.4004 -18.2002 40.4004 -40.5996v-135.2c0 -124.7 -99.7998 -224.2 -223.8 -224.2c-124.5 0 -224.2 99.5 -224.2 224.2v135.2c0 22.0996 18.5 40.5996 40.5996 40.5996h367zM245.6 115.5c111.9 107.5 114.801 105.4 114.801 123.2
c0 16.8994 -13.8008 30.7002 -30.7002 30.7002c-16.9004 0 -14.9004 -2.40039 -105.5 -89.3008c-89.1006 85.5 -88.2002 89.3008 -105.2 89.3008c-16.9004 0 -30.7002 -13.8008 -30.7002 -30.7002c0 -18.1006 1.2002 -14.2998 114.9 -123.2
c11 -11.0996 30 -11.7998 42.3994 0z" />
    <glyph glyph-name="wikipedia-w" unicode="&#xf266;" horiz-adv-x="640" 
d="M640 396.8l-0.299805 -12.2002c-28.1006 -0.799805 -45 -15.7998 -55.7998 -40.2998c-25 -57.7998 -103.301 -240 -155.301 -358.6h-13.5996l-81.9004 193.1c-32.5 -63.5996 -68.2998 -130 -99.1992 -193.1c-0.300781 -0.299805 -15 0 -15 0.299805
c-46.9004 109.7 -96.1006 218.6 -143.101 328.6c-11.3994 26.7002 -49.3994 70 -75.5996 69.7002c0 3.10059 -0.299805 10 -0.299805 14.2002h161.899v-13.9004c-19.2002 -1.09961 -52.7998 -13.2998 -43.2998 -34.1992c21.9004 -49.7002 103.6 -240.301 125.6 -288.601
c15 29.7002 57.8008 109.2 75.3008 142.8c-13.9004 28.3008 -58.6006 133.9 -72.8008 160c-9.69922 17.8008 -36.0996 19.4004 -55.7998 19.7002v13.9004l142.5 -0.299805v-13.1006c-19.3994 -0.599609 -38.0996 -7.7998 -29.3994 -26.0996
c18.8994 -40 30.5996 -68.1006 48.0996 -104.7c5.59961 10.7998 34.7002 69.4004 48.0996 100.8c8.90039 20.6006 -3.89941 28.6006 -38.5996 29.4004c0.299805 3.59961 0 10.2998 0.299805 13.5996c44.4004 0.299805 111.101 0.299805 123.101 0.600586v-13.6006
c-22.5 -0.799805 -45.8008 -12.7998 -58.1006 -31.7002l-59.2002 -122.8c6.40039 -16.0996 63.3008 -142.8 69.2002 -156.7l122.4 282.601c-8.60059 23.0996 -36.4004 28.0996 -47.2002 28.2998v13.9004l127.8 -1.10059z" />
    <glyph glyph-name="safari" unicode="&#xf267;" horiz-adv-x="512" 
d="M274.69 173.31l-108.69 -71.3096l71.3096 108.69zM256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM411.85 265.21c-2.88672 -1.20801 -4.9082 -4.0625 -4.9082 -7.38574c0 -1.08496 0.21582 -2.12012 0.608398 -3.06445v0
c1.20215 -2.90039 4.06348 -4.93457 7.39648 -4.93457c1.08105 0 2.1123 0.214844 3.05371 0.604492l14.75 6.11035c2.90234 1.20117 4.93848 4.06348 4.93848 7.39746c0 1.08496 -0.216797 2.11914 -0.608398 3.0625v0c-1.2002 2.90527 -4.06348 4.94336 -7.39941 4.94336
c-1.08008 0 -2.11035 -0.214844 -3.05078 -0.603516zM314.43 354c-0.396484 -0.949219 -0.625 -1.99219 -0.625 -3.08496c0 -3.33398 2.04395 -6.19336 4.94531 -7.39551v0c0.941406 -0.388672 1.97461 -0.613281 3.05566 -0.613281
c3.33301 0 6.19238 2.04297 7.39453 4.94336l6.12988 14.7803c0.389648 0.941406 0.613281 1.97461 0.613281 3.05566c0 3.33301 -2.04297 6.19238 -4.94336 7.39453v0c-0.944336 0.392578 -1.98047 0.618164 -3.06641 0.618164
c-3.32324 0 -6.17578 -2.03125 -7.38379 -4.91797zM256 388c-4.41504 0 -8 -3.58496 -8 -8v-16c0 -4.41504 3.58496 -8 8 -8v0c4.41504 0 8 3.58496 8 8v16c0 4.41504 -3.58496 8 -8 8v0zM181 373.08c-2.89941 -1.20215 -4.93262 -4.0625 -4.93262 -7.39551
c0 -1.06934 0.210938 -2.09082 0.592773 -3.02441l6.12988 -14.7803c1.16504 -2.97754 4.05762 -5.07812 7.44531 -5.07812c4.41602 0 8 3.58496 8 8c0 1.13672 -0.237305 2.21875 -0.665039 3.19824l-6.11035 14.75c-1.20117 2.90234 -4.06348 4.93848 -7.39746 4.93848
c-1.08496 0 -2.11914 -0.216797 -3.0625 -0.608398zM117.42 330.59c-1.44727 -1.44824 -2.35254 -3.44922 -2.35254 -5.65625c0 -2.19141 0.883789 -4.17773 2.3125 -5.62402l11.3105 -11.3096c1.44727 -1.44727 3.44922 -2.34277 5.65527 -2.34277
c2.20703 0 4.20605 0.895508 5.6543 2.34277v0c1.43848 1.44629 2.32715 3.44238 2.32715 5.6416c0 2.19824 -0.888672 4.19141 -2.32715 5.63867l-11.2695 11.3096c-1.44824 1.44727 -3.4502 2.34277 -5.65625 2.34277c-2.20703 0 -4.20605 -0.895508 -5.6543 -2.34277v0z
M60 192c0 -4.41504 3.58496 -8 8 -8h16c4.41504 0 8 3.58496 8 8v0c0 4.41504 -3.58496 8 -8 8h-16c-4.41504 0 -8 -3.58496 -8 -8v0zM100.15 118.79c2.88672 1.20801 4.9082 4.0625 4.9082 7.38574c0 1.08496 -0.21582 2.12012 -0.608398 3.06445v0
c-1.20215 2.90039 -4.06348 4.93457 -7.39648 4.93457c-1.08105 0 -2.1123 -0.214844 -3.05371 -0.604492l-14.75 -6.11035c-2.90234 -1.20117 -4.93848 -4.06348 -4.93848 -7.39746c0 -1.08496 0.216797 -2.11914 0.608398 -3.0625v0
c1.2002 -2.90527 4.06348 -4.94336 7.39941 -4.94336c1.08008 0 2.11035 0.214844 3.05078 0.603516zM104.48 254.79c0.386719 0.939453 0.609375 1.93945 0.609375 3.0166c0 3.33203 -2.04102 6.19043 -4.93945 7.39355l-14.7803 6.12988
c-0.941406 0.389648 -1.97461 0.613281 -3.05566 0.613281c-3.33301 0 -6.19238 -2.04297 -7.39453 -4.94336v0c-0.392578 -0.944336 -0.618164 -1.98047 -0.618164 -3.06641c0 -3.32324 2.03125 -6.17578 4.91797 -7.38379l14.7803 -6.12012
c0.945312 -0.393555 1.9834 -0.619141 3.07129 -0.619141c3.34668 0 6.21582 2.05957 7.40918 4.97949v0zM197.57 30c0.427734 0.979492 0.672852 2.07129 0.672852 3.20801c0 4.41602 -3.58496 8 -8 8c-3.38867 0 -6.28809 -2.11035 -7.45312 -5.08789l-6.12988 -14.7803
c-0.389648 -0.941406 -0.611328 -1.9834 -0.611328 -3.06543c0 -4.41699 3.58594 -8.00293 8.00293 -8.00293c3.33496 0 6.19727 2.04492 7.39844 4.94824zM264 4v16c0 4.41504 -3.58496 8 -8 8v0c-4.41504 0 -8 -3.58496 -8 -8v-16c0 -4.41504 3.58496 -8 8 -8v0
c4.41504 0 8 3.58496 8 8zM331 10.9199c2.89941 1.20215 4.93262 4.0625 4.93262 7.39551c0 1.06934 -0.210938 2.09082 -0.592773 3.02441l-6.12988 14.7803c-1.20215 2.90039 -4.06348 4.93457 -7.39648 4.93457c-1.08105 0 -2.1123 -0.214844 -3.05371 -0.604492v0
c-2.90039 -1.20215 -4.93457 -4.06348 -4.93457 -7.39648c0 -1.08105 0.214844 -2.1123 0.604492 -3.05371l6.11035 -14.75c1.20117 -2.90234 4.06348 -4.93848 7.39746 -4.93848c1.08496 0 2.11914 0.216797 3.0625 0.608398v0zM394.58 53.4102
c1.44727 1.44824 2.35254 3.44922 2.35254 5.65625c0 2.19141 -0.883789 4.17773 -2.3125 5.62402l-11.3105 11.3096c-1.44727 1.44727 -3.44922 2.34277 -5.65527 2.34277c-2.20703 0 -4.20605 -0.895508 -5.6543 -2.34277v0
c-1.43848 -1.44629 -2.32715 -3.44238 -2.32715 -5.6416c0 -2.19824 0.888672 -4.19141 2.32715 -5.63867l11.2695 -11.3096c1.44824 -1.44727 3.4502 -2.34277 5.65625 -2.34277c2.20703 0 4.20605 0.895508 5.6543 2.34277v0zM286.25 161.75l115.41 175.91
l-175.91 -115.41l-115.41 -175.91zM437.08 117c0.392578 0.944336 0.618164 1.98047 0.618164 3.06641c0 3.32324 -2.03125 6.17578 -4.91797 7.38379l-14.7803 6.12012c-0.949219 0.396484 -1.99219 0.625 -3.08496 0.625c-3.33398 0 -6.19336 -2.04395 -7.39551 -4.94531
v0c-0.388672 -0.941406 -0.613281 -1.97461 -0.613281 -3.05566c0 -3.33301 2.04297 -6.19238 4.94336 -7.39453l14.7803 -6.12988c0.941406 -0.389648 1.97461 -0.613281 3.05566 -0.613281c3.33301 0 6.19238 2.04297 7.39453 4.94336v0zM444 184c4.41504 0 8 3.58496 8 8
v0c0 4.41504 -3.58496 8 -8 8h-16c-4.41504 0 -8 -3.58496 -8 -8v0c0 -4.41504 3.58496 -8 8 -8h16z" />
    <glyph glyph-name="chrome" unicode="&#xf268;" horiz-adv-x="496" 
d="M131.5 230.5l-76.4004 117.4c47.6006 59.1992 119 91.7998 192 92.0996c42.3008 0.299805 85.5 -10.5 124.801 -33.2002c43.3994 -25.2002 76.3994 -61.3994 97.3994 -103l-205.3 10.7998c-58.0996 3.40039 -113.4 -29.2998 -132.5 -84.0996zM164.4 192
c0 46.2998 37.3994 83.5996 83.5996 83.5996s83.5996 -37.3994 83.5996 -83.5996s-37.3994 -83.5996 -83.5996 -83.5996s-83.5996 37.3994 -83.5996 83.5996zM479.3 281.2c43.5 -111.9 0 -241.9 -107.399 -303.9c-43.4004 -25.2002 -91.3008 -35.3994 -137.801 -32.8994
l112.101 172.399c31.8994 49 31.2998 112.9 -6.60059 157.2zM133.7 144.4c26.2998 -51.7002 81.8994 -83.3008 139.5 -72.5l-63.7002 -124.801c-118.7 18.2002 -209.5 120.9 -209.5 244.9c0 50.0996 14.9004 96.9004 40.4004 135.9z" />
    <glyph glyph-name="firefox" unicode="&#xf269;" horiz-adv-x="512" 
d="M503.52 206.52c0.240234 -4.43945 0.360352 -9 0.480469 -13.5195c0 -137.19 -111.23 -248.42 -248.32 -248.42c-122.779 0 -224.859 89.2695 -244.779 206.38c-0.360352 3.24023 -0.720703 6.36035 -1.08008 9.59961c-4.91992 42.6006 0.479492 87.3604 16.0801 124.79
c10.7998 25.8809 32.6396 54 49.7998 62.8809c-16.2002 -31.8008 -24.1201 -63 -25.7998 -83.8809c11.2793 37.2002 32.6299 68.3604 62.5098 90.3604c51.2402 37.6699 120.229 39.3604 147.71 15.3604c-51 -17.5107 -106.55 -87.96 -94.3105 -170.511
c2.00586 -13.791 6.21289 -27.1582 12.1201 -39.2393c-9.51953 25.0801 -10.3594 60.3594 5 83.2793c17.1602 25.5508 41.6299 30.9502 54.71 28.1904c-5.15918 1.08008 -16.5596 -20.75 -18.2393 -24.5898c-3.99609 -9.09863 -6.25098 -19.1865 -6.25098 -29.7539
c0 -0.416016 0.00390625 -0.832031 0.0107422 -1.24609c0.392578 -23.1182 10.1045 -44.0088 25.5596 -59c47.6504 -46.4307 124.561 -28.1602 159 24.8398c23.6406 36.4795 26.5205 98.3896 -3.83984 147.59c-7.62891 12.0801 -16.5693 22.9639 -26.8799 32.7598
c-47.6602 45.4707 -116.06 64.6699 -180.24 52.9902c-0.240234 0 -0.599609 -0.120117 -0.839844 -0.120117c-1.7998 -0.359375 -3.47949 -0.719727 -5.16016 -1.08008c-0.359375 -0.120117 -0.839844 -0.120117 -1.2002 -0.239258l-5.87988 -1.44043
c-14.5195 -3.55957 -34.7998 -10.7998 -49.4395 -19.5596c-0.09375 -0.0136719 -0.176758 -0.0566406 -0.240234 -0.120117l0.120117 0.120117c0 -0.0664062 -0.0537109 -0.120117 -0.120117 -0.120117l-0.120117 -0.120117l0.120117 0.120117h-0.129883l0.479492 0.479492
c0.480469 0.480469 1.32031 1.16016 2.40039 2.16016c19.6797 17.7598 49.3203 31.9199 82.9102 39c14.7383 3.09766 29.8691 4.81543 45.4795 5h10.6299c12.9863 -0.311523 25.6123 -1.67188 38 -4c0.960938 -0.120117 1.76074 -0.360352 2.76074 -0.479492h0.120117
c1.7998 -0.360352 3.71973 -0.84082 5.63965 -1.2002c19.2676 -4.375 38.0977 -11.0762 55.4297 -19.5605c2.40039 -1.2002 4.7998 -2.39941 7.2002 -3.71973c8.6748 -4.32129 16.8906 -9.37891 24.5996 -15.1201c4.32031 -3.12012 8.48047 -6.36035 12.4805 -9.83984
c6.50781 -5.19434 12.5332 -10.6973 18.29 -16.7002c8.51074 -8.35645 16.2646 -17.1406 23.5098 -26.6396c0.959961 -1.2002 1.75977 -2.40039 2.75977 -3.71973c0.400391 -0.480469 0.640625 -0.84082 1 -1.32031l1.80078 -2.52051
c0.359375 -0.479492 0.719727 -1.08008 1.08008 -1.55957c0.479492 -0.719727 1.0791 -1.56055 1.55957 -2.28027c0.441406 -0.571289 0.839844 -1.16992 1.2002 -1.7998l1.43945 -2.12988c0.441406 -0.571289 0.84082 -1.16992 1.2002 -1.7998
c0.480469 -0.720703 0.959961 -1.56055 1.32031 -2.16016c0.359375 -0.600586 0.839844 -1.24023 1.2002 -1.91992c0.359375 -0.680664 0.839844 -1.32031 1.19922 -2c0.360352 -0.680664 0.84082 -1.28027 1.2002 -2c0.441406 -0.638672 0.842773 -1.30566 1.2002 -2
c0.360352 -0.720703 0.839844 -1.56055 1.2002 -2.16016c0.359375 -0.599609 0.719727 -1.32031 1.08008 -1.91992c0.359375 -0.839844 0.799805 -1.67969 1.2002 -2.28027c0.399414 -0.599609 0.639648 -1.2002 1 -1.7998
c0.359375 -0.839844 0.839844 -1.56055 1.19922 -2.40039c0.240234 -0.479492 0.480469 -1.08008 0.720703 -1.55957c0.479492 -0.839844 0.839844 -1.63965 1.31934 -2.63965l0.360352 -0.720703c1.75977 -3.71973 3.44043 -7.55957 5 -11.3994
c0 -0.120117 0.120117 -0.240234 0.120117 -0.360352c0.439453 -1.2002 0.959961 -2.28027 1.43945 -3.48047c0.120117 -0.239258 0.240234 -0.599609 0.360352 -0.839844c0.480469 -1.08008 0.839844 -2.2793 1.32031 -3.35938
c0.138672 -0.321289 0.261719 -0.660156 0.359375 -1c0.360352 -1.08008 0.84082 -2.28027 1.2002 -3.36035l0.360352 -1.08008c0.479492 -1.2002 0.839844 -2.28027 1.2002 -3.47949c0.119141 -0.400391 0.239258 -0.640625 0.359375 -1
c0.360352 -1.08008 0.720703 -2.28027 1.08008 -3.48047c0.120117 -0.240234 0.120117 -0.599609 0.240234 -0.839844c0.360352 -1.2002 0.719727 -2.52051 1.08008 -3.71973c0.120117 -0.120117 0.120117 -0.360352 0.240234 -0.600586l1.08008 -4
c0.119141 -0.120117 0.119141 -0.120117 0.119141 -0.240234c3.54297 -13.2549 6.04102 -27.1152 7.32031 -41.1494v-0.120117l0.360352 -4.67969v-0.120117c0 -1.56055 0.120117 -3.12012 0.239258 -4.68066z" />
    <glyph glyph-name="opera" unicode="&#xf26a;" horiz-adv-x="496" 
d="M313.9 415.3c-170.2 0 -252.601 -223.8 -147.5 -355.1c36.5 -45.4004 88.5996 -75.6006 147.5 -75.6006c36.2998 0 70.2998 11.1006 99.3994 30.4004c-43.7998 -39.2002 -101.899 -63 -165.3 -63c-3.90039 0 -8 0 -11.9004 0.299805
c-131.5 6.10059 -236.1 114.601 -236.1 247.7c0 137 111 248 248 248h0.799805c63.1006 -0.299805 120.7 -24.0996 164.4 -63.0996c-29 19.3994 -63.1006 30.3994 -99.2998 30.3994zM415.7 17.5996c-40.9004 -24.6992 -90.7002 -23.5996 -132 5.80078
c56.2002 20.5 97.7002 91.5996 97.7002 176.6c0 84.7002 -41.2002 155.8 -97.4004 176.6c41.7998 29.2002 91.2002 30.3008 132.9 5c105.899 -98.6992 105.5 -265.699 -1.2002 -364z" />
    <glyph glyph-name="internet-explorer" unicode="&#xf26b;" horiz-adv-x="512" 
d="M483.049 288.294c25.1963 -45.4473 33.2578 -97.5811 26.8516 -141.162h-328.792c0 -100.432 144.31 -136.029 196.818 -47.4355h120.833c-32.5645 -91.7285 -119.689 -146.022 -216.813 -146.022c-35.1367 0 -70.2725 0.143555 -101.695 15.5732
c-87.3975 -44.4941 -180.251 -56.5693 -180.251 42.0059c0 45.8066 23.2461 107.096 43.9922 145.022c35.1357 63.7227 81.4121 124.875 135.687 173.168c-43.7061 -18.8604 -91.125 -66.2959 -121.977 -101.158c25.877 112.787 129.466 193.638 237.098 186.457
c130.032 59.7939 209.673 34.1445 209.673 -38.5771c0 -27.4326 -10.5684 -63.2959 -21.4238 -87.8711zM64.5586 101.123c-73.001 -152.4 11.5254 -172.244 100.267 -123.304c-46.5635 27.4326 -82.5557 72.1533 -100.267 123.304zM180.536 209.996h207.961
c-2 55.1514 -50.5635 94.8711 -103.981 94.8711c-53.7041 0 -101.979 -39.7197 -103.979 -94.8711zM365.072 397.596c46.2764 -18.002 85.9824 -57.2939 112.263 -99.5859c7.1416 18.8604 14.5693 47.8643 14.5693 67.8672c0 32.0049 -22.8525 53.7217 -54.2744 53.7217
c-23.9951 0 -51.1328 -11.7158 -72.5576 -22.0029z" />
    <glyph glyph-name="contao" unicode="&#xf26d;" horiz-adv-x="512" 
d="M45.4004 143c14.3994 -67.0996 26.3994 -129 68.1992 -175h-79.5996c-18.7002 0 -34 15.2002 -34 34v380c0 18.7002 15.2002 34 34 34h57.7002c-13.7998 -12.5996 -26.1006 -27.2002 -36.9004 -43.5996c-45.3994 -70 -27 -146.801 -9.39941 -229.4zM478 416
c18.7998 0 34 -15.2002 34 -34v-380.1c0 -18.8008 -15.2998 -34 -34 -34h-52.0996c38.6992 38.3994 60.5996 92.0996 57.3994 163.6l-137.399 -29.5996c-1.7002 -32.5 -12.9004 -63.8008 -57.4004 -73.2002c-24.9004 -5.2998 -45.4004 0.599609 -58.2998 11.7002
c-15.7998 13.5 -28.4004 31 -49.5 131.199c-21.4004 100.5 -17 121.601 -8.2002 140.301c7.2998 15.2998 23.7002 29.2998 48.2998 34.5996c44.7998 9.40039 67.7002 -14.9004 82.6006 -43.9004l137.1 29.3008c-13.5 34.5996 -31.2998 62.6992 -52.7002 84.0996h90.2002z
" />
    <glyph glyph-name="500px" unicode="&#xf26e;" 
d="M103.3 103.7c-6.5 14.2002 -6.89941 18.2998 7.40039 23.0996c25.5996 8 8 -9.2002 43.2002 -49.2002h0.299805v93.9004c1.2002 50.2002 44 92.2002 97.7002 92.2002c53.8994 0 97.6992 -43.5 97.6992 -96.7998c0 -63.4004 -60.7998 -113.2 -128.5 -93.3008
c-10.5 4.2002 -2.09961 31.7002 8.5 28.6006c53 0 89.4004 10.0996 89.4004 64.3994c0 61 -77.0996 89.6006 -116.9 44.6006c-23.5 -26.4004 -17.5996 -42.1006 -17.5996 -157.601c50.7002 -31 118.3 -22 160.4 20.1006c24.7998 24.7998 38.5 58 38.5 93
c0 35.2002 -13.8008 68.2002 -38.8008 93.2998c-24.7998 24.7998 -57.7998 38.5 -93.2998 38.5s-68.7998 -13.7998 -93.5 -38.5c-0.299805 -0.299805 -16 -16.5 -21.2002 -23.9004l-0.5 -0.599609c-3.2998 -4.7002 -6.2998 -9.09961 -20.0996 -6.09961
c-6.90039 1.69922 -14.2998 5.7998 -14.2998 11.7998v186.8c0 5 3.89941 10.5 10.5 10.5h241.3c8.2998 0 8.2998 -11.5996 8.2998 -15.0996c0 -3.90039 0 -15.1006 -8.2998 -15.1006h-223.2v-132.899h0.299805c104.2 109.8 282.801 36 282.801 -108.9
c0 -178.1 -244.801 -220.3 -310.101 -62.7998zM166.6 364.5c3.80078 18.7998 145.101 50.7998 238.301 -38.2002c8.5 -7.5 -9.5 -22.7998 -14.3008 -22.7998c-6.59961 0 -84.5996 87.9004 -209.399 40.4004c-10 -3.90039 -15.1006 16.3994 -14.6006 20.5996zM393 33.2998
c8.09961 8 27.5996 -12.5996 20.7002 -20.3994c-135.601 -135.601 -357.601 -52.1006 -381.601 121.3c-1.5 10.7002 28.9004 15.5 28.9004 3.2998c33 -165 222 -214.1 332 -104.2zM213.6 141.4c0 3.39941 2.30078 4.69922 20.4004 22.5996l-18.2002 18.2002
c-5.59961 5.59961 7.40039 17.2998 12.4004 17.2998c3.09961 0 2.89941 -0.700195 21.5 -19.5l17.8994 17.9004c6.10059 6.09961 22.5 -8.90039 16.2002 -15.7002l-18.2002 -18.2002l17.3008 -17.2998c7.7998 -7.7998 -5.30078 -18.2002 -10.7002 -18.2002
c-3.2002 0 -2.7002 0.200195 -22.2998 19.5c-19.7002 -19.7002 -18.5 -19.5 -22.3008 -19.5c-2.39941 0 -5.5 1.40039 -8.5 4.40039c-1.19922 1.19922 -5.5 4.5 -5.5 8.5z" />
    <glyph glyph-name="amazon" unicode="&#xf270;" 
d="M257.2 285.3c0 39.2998 5.2002 69.2002 -35.5 69.1006c0 0 -37.9004 0 -54.2002 -49.5l-73.5 6.7998c0 49.2998 46.7002 104.3 134.7 104.3c87.7998 0 112.3 -57 112.3 -82.2998v-147.101c0 -27.5 32.2998 -52.7998 32.2998 -52.7998l-56.7998 -56
c-9.90039 9.2998 -38.7998 36.6006 -45.2998 46.7998c-45.2002 -70.7998 -183.5 -66.2998 -183.5 43.2002c0 102 120.8 115.7 169.5 117.5zM257.2 198.5v40.5996c-33.7002 -1.09961 -84.2002 -10.5996 -84.2002 -57.7998c0 -50.7998 84.2002 -62.7998 84.2002 17.2002z
M393.2 35c-7.7002 -10 -70 -67 -174.5 -67s-184.5 71.5 -209 101c-6.7998 7.7002 1 11.2998 5.5 8.2998c73.2998 -44.5 187.8 -117.8 372.5 -30.2998c7.5 3.7002 13.2998 -2 5.5 -12zM433 32.7998c-6.5 -15.7998 -16 -26.7998 -21.2002 -31
c-5.5 -4.5 -9.5 -2.7002 -6.5 3.7998s19.2998 46.5 12.7002 55c-6.5 8.30078 -37 4.30078 -48 3.2002c-10.7998 -1 -13 -2 -14 0.299805c-2.2998 5.7002 21.7002 15.5 37.5 17.5c15.7002 1.80078 41 0.800781 46 -5.69922c3.7002 -5.10059 0 -27.1006 -6.5 -43.1006z" />
    <glyph glyph-name="houzz" unicode="&#xf27c;" 
d="M275.9 117.3h-104.601v-149.3h-154.3v448h109.5v-104.5l305.1 -85.5996v-257.9h-155.699v149.3z" />
    <glyph glyph-name="vimeo-v" unicode="&#xf27d;" 
d="M447.8 294.4c-2 -43.6006 -32.3994 -103.301 -91.3994 -179.101c-60.9004 -79.2002 -112.4 -118.8 -154.601 -118.8c-26.0996 0 -48.2002 24.0996 -66.2998 72.2998c-35.2002 129.2 -50.2002 204.9 -79.2998 204.9c-3.40039 0 -15.1006 -7.10059 -35.2002 -21.1006
l-21 27.2002c51.5996 45.2998 100.9 95.7002 131.8 98.5c34.9004 3.40039 56.2998 -20.5 64.4004 -71.5c28.7002 -181.5 41.3994 -208.899 93.5996 -126.7c18.7002 29.6006 28.7998 52.1006 30.2002 67.6006c4.7998 45.8994 -35.7998 42.7998 -63.2998 31
c22 72.0996 64.0996 107.1 126.2 105.1c45.7998 -1.2002 67.5 -31.0996 64.8994 -89.3994z" />
    <glyph glyph-name="black-tie" unicode="&#xf27e;" 
d="M0 416h448v-448h-448v448zM316.5 90.7998l-64.5 184l64.4004 86.6006h-184.9l64.5 -86.6006l-64.5 -184l92.5 -88.7002z" />
    <glyph glyph-name="fonticons" unicode="&#xf280;" 
d="M0 416h448v-448h-448v448zM187 275.1c11.9004 0 16.5996 -4.2998 16.2998 -23l50.7002 6.10059c0 44.5996 -30.5996 52.7998 -64.7002 52.7998c-50.7998 0 -77.2998 -20.4004 -77.2998 -70v-21h-28v-37.4004h22.2002c2.89941 0 5.7998 0 5.7998 -2.2998v-111.399
c0 -5.60059 -1.5 -7.30078 -6.7002 -7.90039l-21.2998 -2v-25.7002h130.7v25.1006l-43.5 4.09961c-5.2002 0.599609 -3.2002 1.5 -3.2002 7.2998v112.9h55.7002l11.0996 37.2998h-67.3994c-2.90039 0 0.599609 2 0.599609 4.40039v23.2998
c0 17.5 0.599609 27.3994 19 27.3994zM261.3 33.2998h102.601v25.1006l-15.7002 2.59961c-5.5 0.900391 -2.90039 1.5 -2.90039 7.2998v151.7h-80.2002l-6.69922 -29.5l24.1992 -6.40039c3.80078 -1.19922 6.7002 -3.7998 6.7002 -7.89941v-107.9
c0 -5.59961 -2.39941 -6.7002 -7.59961 -7.2998l-20.4004 -2.59961v-25.1006zM342.1 288.8l21.9004 24.2002l-3.5 9.59961h-27.7002l-15.5 28h-9.2998l-15.5 -28h-27.7002l-3.5 -9.59961l21.7998 -24.2002l-9 -33.2002l7.30078 -7.2998l31.1992 16.6006l31.2002 -16.6006
l7.2998 7.2998z" />
    <glyph glyph-name="reddit-alien" unicode="&#xf281;" horiz-adv-x="512" 
d="M440.3 244.5c55.2998 0 73.7002 -74.0996 23.7998 -99.7002c2.2002 -7.89941 3.10059 -16.7002 3.10059 -25.0996c0 -83.7998 -94.4004 -151.7 -210.8 -151.7c-115.9 0 -210.301 67.9004 -210.301 151.7c0 8.39941 0.800781 16.7998 2.60059 24.7002
c-50.9004 25.5 -32.7002 100.1 22.8994 100.1c15 0 28.7002 -6.2002 38.4004 -16.2998c35.7998 24.7002 83.4004 40.5996 136.3 42.7998l30.4004 137.6c1.2998 4.90039 6.09961 8.40039 11 7.10059l97.3994 -21.6006c6.60059 12.7002 19.9004 22 35.3008 22
c22.0996 0 39.6992 -18.0996 39.6992 -39.6992c0 -21.6006 -17.6992 -39.7002 -39.6992 -39.7002c-21.6006 0 -39.2002 17.5996 -39.2002 39.2002l-88.2002 19.7998l-27.7002 -124.8c53.2998 -1.7002 101.4 -17.6006 137.101 -42.3008
c9.69922 9.7002 22.8994 15.9004 37.8994 15.9004zM129.4 139.1c0 -21.5996 17.6992 -39.2998 39.6992 -39.1992c21.6006 0 39.2002 17.5996 39.2002 39.1992c0 22.1006 -17.5996 39.7002 -39.2002 39.7002c-22.0996 0 -39.6992 -17.7002 -39.6992 -39.7002zM343.7 45.5996
c4 3.5 4 9.7002 -0.100586 13.7002c-3.5 3.5 -9.69922 3.5 -13.1992 0c-29 -29 -121.2 -28.5 -149 0c-3.5 3.5 -9.7002 3.5 -13.2002 0c-4 -4 -4 -10.2002 0 -13.7002c36.3994 -36.3994 139.1 -36.3994 175.5 0zM342.9 99.7998c22 0 39.5996 17.7002 39.6992 39.2002
c0 22.0996 -17.6992 39.7002 -39.6992 39.7002c-21.6006 0 -39.2002 -17.7002 -39.2002 -39.7002c0 -21.5996 17.5996 -39.2002 39.2002 -39.2002z" />
    <glyph glyph-name="edge" unicode="&#xf282;" horiz-adv-x="512" 
d="M481.92 313.52c6.46973 -12.7793 22.4697 -41.6494 21.9697 -85.0791c-0.0917969 -43.7148 -23.6953 -81.8525 -58.9492 -102.44c-17.1387 -10.1797 -37.2617 -16.1211 -58.6104 -16.1797c-0.139648 0 -52.6504 -2.56055 -80.5098 16.8096
c-5.85059 4.08008 -9.14062 8.94043 -9.14062 14c0 6.16016 4.82031 9 6.39062 11c9.7998 12.75 15.1094 28.1699 15.1094 38.5703c0 32.71 -11 59.2998 -33 83.0996c-1.16016 1.25 -42.9795 50.1807 -122.25 50.1807c-63.2393 0 -123.46 -32.6504 -149.46 -79.1406
c24.04 111.98 123.58 195.66 242.44 195.66c96.3496 0 184.96 -46.1797 226.01 -126.48zM212.77 -27.6699c1.28027 -0.570312 29.0107 -20.5898 67.1309 -27.21c-7.89551 -0.759766 -15.5156 -1.3584 -23.6084 -1.3584c-99.3408 0 -185.118 58.5361 -224.692 142.969
c-25.75 55.4697 -24.0801 105.96 -23 118.27c4.16992 34.2803 27.0801 59.7002 46.8408 74.7998c29.6299 22.6904 68.8193 35.6904 107.529 35.6904c7.0498 0 43.9199 -0.900391 77.6406 -18.5898c32.5596 -17.1006 47.3193 -37.5801 56.5596 -53.5107
c1.84961 -3.23242 3.49902 -6.64551 4.88965 -10.1396c-4.21973 4.65039 -40.0596 44.2002 -99.0596 -1c-26.6719 -19.334 -46.8008 -46.8369 -56.9697 -78.9199c-14.1406 -40.4004 -12.8398 -88.5801 20.0996 -136c12.2471 -18.1914 27.9951 -33.3955 46.6396 -45z
M463.49 70.6602c2.1748 -1.37305 3.60742 -3.80176 3.60742 -6.56152c0 -1.53418 -0.447266 -2.96484 -1.21777 -4.16895c-47.5703 -75.4297 -127.86 -108.87 -163 -108.87c-22.7002 0 -48.1299 6.95996 -71.7002 19.6104c-33 17.6699 -49.4893 38.7598 -56 47.6699
c-46.3301 63.5303 -28.25 122.29 -13.3301 151.66c9.73145 19.1172 22.8193 35.9404 38.7607 50c-4.04688 -8.04102 -6.40625 -17.168 -6.52051 -26.75c0 -80.9404 79.8506 -144 171.521 -144c0.116211 0 0.310547 0.0693359 0.426758 0.0693359
c24.3125 0 47.6045 4.40137 69.123 12.4502c6.98145 2.61816 13.8652 5.69824 20.4102 9.12012c1.11328 0.618164 2.41113 0.970703 3.77441 0.970703c1.52344 0 2.94531 -0.44043 4.14551 -1.2002z" />
    <glyph glyph-name="codiepie" unicode="&#xf284;" horiz-adv-x="472" 
d="M422.5 245.1c30.7002 0 33.5 -53.0996 -0.299805 -53.0996h-10.7998v-44.2998h-26.6006v97.3994h37.7002zM472 95.4004c-42.0996 -91.9004 -121.6 -151.4 -224 -151.4c-137 0 -248 111 -248 248s111 248 248 248c97.4004 0 172.8 -53.7002 218.2 -138.4l-186 -108.8z
M433.5 82.9004l-60.2998 30.6992c-27.1006 -44.2998 -70.4004 -71.3994 -122.4 -71.3994c-82.5 0 -149.2 66.7002 -149.2 148.899c0 82.5 66.7002 149.2 149.2 149.2c48.4004 0 88.9004 -23.5 116.9 -63.3994l59.5 34.5996c-40.7002 62.5996 -104.7 100 -179.2 100
c-121.2 0 -219.5 -98.2998 -219.5 -219.5s98.2998 -219.5 219.5 -219.5c78.5996 0 146.5 42.0996 185.5 110.4z" />
    <glyph glyph-name="modx" unicode="&#xf285;" 
d="M356 206.2l36.7002 -23.7002v-214.5l-133 83.7998zM440 373l-83.2002 -134.3l-153.5 96.5l23 37.7998h213.7zM351 230.2l-249.8 -57.7002l-46 29v214.5zM97 153.8l249.7 57.7002l-125 -200.5h-213.7z" />
    <glyph glyph-name="fort-awesome" unicode="&#xf286;" horiz-adv-x="512" 
d="M489.2 160.1c2.59961 0 4.59961 -2 4.5 -4.59961v-219.5h-182.9v96c0 72.5996 -109.7 72.5996 -109.7 0v-96h-182.899v219.5c0 2.59961 2 4.59961 4.59961 4.59961h27.4004c2.59961 0 4.59961 -2 4.59961 -4.59961v-32h36.6006v178.3
c0 2.60059 2 4.60059 4.59961 4.60059h27.4004c2.59961 0 4.59961 -2 4.59961 -4.60059v-32h36.2998v32c0 2.60059 2 4.60059 4.60059 4.60059h27.3994c2.60059 0 4.60059 -2 4.60059 -4.60059v-32h36.5996v32c0 6 8 4.60059 11.7002 4.60059v111.699
c-5.40039 2.60059 -9.10059 8.30078 -9.10059 14.3008c0 20.7998 31.4004 20.6992 31.4004 0c0 -6 -3.7002 -11.7002 -9.09961 -14.3008v-4.89941c7.69922 1.7998 15.6992 2.89941 23.6992 2.89941c11.7002 0 22.9004 -4.2998 32.6006 -4.2998
c8.89941 0 18.8994 4.2998 24 4.2998c2.59961 0 4.59961 -2 4.59961 -4.59961v-60c0 -6.90039 -23.0996 -8 -27.7002 -8c-10.5 0 -20.5 4.2998 -31.3994 4.2998c-8.60059 0 -17.4004 -1.39941 -25.7002 -3.39941v-38c3.7002 0 11.7002 1.39941 11.7002 -4.60059v-32h36.5996
v32c0 2.60059 2 4.60059 4.60059 4.60059h27.3994c2.60059 0 4.60059 -2 4.60059 -4.60059v-32h36.5996v32c0 2.60059 2 4.60059 4.59961 4.60059h27.4004c2.59961 0 4.59961 -2 4.59961 -4.60059v-178.3h36.6006v32c0 2.59961 2 4.59961 4.59961 4.59961h27.4004z
M201.1 164.6v64c0 2.60059 -2 4.60059 -4.59961 4.60059h-27.4004c-2.59961 0 -4.59961 -2 -4.59961 -4.60059v-64c0 -2.59961 2 -4.59961 4.59961 -4.59961h27.4004c2.59961 0 4.59961 2 4.59961 4.59961zM347.5 164.6v64c0 2.60059 -2 4.60059 -4.59961 4.60059h-27.4004
c-2.59961 0 -4.59961 -2 -4.59961 -4.60059v-64c0 -2.59961 2 -4.59961 4.59961 -4.59961h27.4004c2.59961 0 4.59961 2 4.59961 4.59961z" />
    <glyph glyph-name="usb" unicode="&#xf287;" horiz-adv-x="640" 
d="M641.5 192c0 -3.09961 -1.7002 -6.09961 -4.5 -7.5l-89.0996 -53.5c-1.40039 -0.799805 -2.80078 -1.40039 -4.5 -1.40039c-1.40039 0 -3.10059 0.300781 -4.5 1.10059c-2.80078 1.7002 -4.5 4.5 -4.5 7.7998v35.5996h-238.7
c25.2998 -39.5996 40.5 -106.899 69.5996 -106.899h26.7002v26.7998c0 5 3.90039 8.90039 8.90039 8.90039h89.0996c5 0 8.90039 -3.90039 8.90039 -8.90039v-89.0996c0 -5 -3.90039 -8.90039 -8.90039 -8.90039h-89.0996c-5 0 -8.90039 3.90039 -8.90039 8.90039v26.6992
h-26.7002c-75.3994 0 -81.0996 142.5 -124.7 142.5h-100.3c-8.09961 -30.5996 -35.8994 -53.5 -69 -53.5c-39.2998 0.100586 -71.2998 32.1006 -71.2998 71.4004s32 71.2998 71.2998 71.2998c33.1006 0 61 -22.7998 69 -53.5c39.1006 0 43.9004 -9.5 74.6006 60.4004
c40.0996 89.0996 58.0996 82.0996 108.899 82.0996c7.5 20.9004 27 35.6006 50.4004 35.6006c29.5 0 53.5 -23.9004 53.5 -53.5c0 -29.6006 -23.9004 -53.5 -53.5 -53.5c-23.4004 0 -42.9004 14.7998 -50.4004 35.5996h-29.7998
c-29.0996 0 -44.2998 -67.4004 -69.5996 -106.9h310.1v35.6006c0 3.2998 1.7002 6.09961 4.5 7.7998s6.40039 1.40039 8.90039 -0.299805l89.0996 -53.5c2.7998 -1.10059 4.5 -4.10059 4.5 -7.2002z" />
    <glyph glyph-name="product-hunt" unicode="&#xf288;" horiz-adv-x="512" 
d="M326.3 229.2c0 -20.5 -16.7002 -37.2002 -37.2002 -37.2002h-70.2998v74.4004h70.2998c20.5 0 37.2002 -16.7002 37.2002 -37.2002zM504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM375.9 229.2
c0 47.8994 -38.9004 86.7998 -86.8008 86.7998h-119.899v-248h49.5996v74.4004h70.2998c47.9004 0 86.8008 38.8994 86.8008 86.7998z" />
    <glyph glyph-name="mixcloud" unicode="&#xf289;" horiz-adv-x="640" 
d="M424.43 228.271c42.3623 -9.1377 74.4805 -47.0693 74.4805 -92.2002c0 -52.3311 -42.6406 -94.6934 -94.9688 -94.6934h-289.614c-62.5752 0 -113.243 50.668 -113.243 112.966c0 56.7598 42.085 103.554 96.6299 111.582
c22.9814 67.5586 86.9395 114.074 159.205 114.074c87.2158 0 159.205 -66.7266 167.511 -151.729zM403.941 83.7412c29.0713 0 52.6064 23.5352 52.6064 52.3301c0 22.1494 -14.1211 40.9766 -33.502 48.4531c-1.38477 -8.58301 -3.59961 -17.166 -6.36914 -25.4727
c-8.01367 -25.6484 -49.0898 -14.2266 -40.1465 13.29c4.15332 12.7373 6.36914 26.0264 6.36914 39.5938c0 69.2197 -56.4834 125.702 -125.979 125.702c-49.8379 0 -94.6934 -29.626 -114.628 -73.9258c19.3809 -4.98438 37.3779 -14.9512 52.0527 -29.3486
c19.9531 -19.9531 -10.2168 -50.1436 -30.1797 -30.1807c-13.29 13.291 -31.0107 20.7666 -49.8379 20.7666c-39.04 0 -70.8809 -31.5645 -70.8809 -70.6045s31.8408 -70.6035 70.8809 -70.6035h289.614zM639.01 136.071c0 -44.0244 -12.7363 -86.3867 -37.1016 -122.657
c-4.15332 -6.0918 -10.7979 -9.41406 -17.7197 -9.41406c-16.3174 0 -27.1279 18.8262 -17.4434 32.9492c19.3809 29.3486 29.9033 63.6816 29.9033 99.1221c0 35.4395 -10.5215 69.7725 -29.9033 98.8447c-15.6553 22.8311 19.3613 47.2402 35.1631 23.5342
c24.3662 -35.9932 37.1016 -78.3564 37.1016 -122.379zM568.13 136.071c0 -31.5654 -9.13672 -62.0215 -26.8564 -88.3252c-4.15332 -6.09082 -10.7988 -9.13574 -17.7207 -9.13574c-17.2012 0 -27.0215 18.9785 -17.4424 32.9473
c13.0127 19.1045 19.6572 41.2559 19.6572 64.5137c0 22.9805 -6.64453 45.4072 -19.6572 64.5117c-15.7617 22.9863 19.0078 47.0947 35.1631 23.5352c17.7188 -26.0264 26.8564 -56.4834 26.8564 -88.0469z" />
    <glyph glyph-name="scribd" unicode="&#xf28a;" horiz-adv-x="384" 
d="M42.2998 195.3c-16.0996 19 -24.7002 45.9004 -24.7998 79.9004c0 100.399 75.2002 153.1 167.2 153.1c98.5996 1.60059 156.8 -49 184.3 -70.5996l-50.5 -72.1006l-37.2998 24.6006l26.8994 38.5996c-36.5 24 -79.3994 36.5 -123 35.7998
c-50.6992 0.800781 -111.699 -27.1992 -111.699 -76.1992c0 -18.7002 11.1992 -20.7002 28.5996 -15.6006c23.2998 5.2998 41.9004 -0.599609 55.7998 -14c26.4004 -24.2998 23.2002 -67.5996 -0.700195 -91.8994c-29.1992 -29.5 -85.1992 -27.3008 -114.8 8.39941z
M360 189.4c33.9004 -40.4004 36.7998 -138.2 -20.2998 -189.601c-39.2002 -33.5996 -82.2002 -44.0996 -133.601 -44.0996c-70.2998 -0.299805 -138.199 25.3994 -190.699 72.2002l-15.4004 13.7998l60.7998 71.7998l35.6006 -27.4004l-33.7002 -39.3994
c41.7002 -30.9004 92.2002 -47.5 144.1 -47.2998c61.9004 0 104.7 23.5 121.4 64.3994c0.899414 4.2002 1.39941 8.40039 1.39941 12.7002c0 18.7002 -11.1992 20.7002 -28.5996 15.5996c-23.2998 -5.2998 -42.2002 0.5 -56.2998 14.4004
c-12.4004 11.2998 -19.1006 27.5 -18.4004 44.2998c-0.599609 39.2002 32.4004 69.2002 70.5 67.2002c24.2998 0.799805 47.7002 -9.7998 63.2002 -28.5996z" />
    <glyph glyph-name="bluetooth" unicode="&#xf293;" 
d="M292.6 276.9l-42.8994 -42.9004l-0.299805 86zM249.4 57.0996l0.199219 86l42.9004 -42.8994zM416 188.6c0 -205.6 -71.9004 -252.6 -185.1 -252.6c-113.2 0 -198.9 47 -198.9 252.6c0 205.601 83.4004 259.4 196.6 259.4c113.2 0 187.4 -53.9004 187.4 -259.4z
M257.5 188.6l79.4004 88.6006l-125.101 134.3v-176.9l-73.7998 73.8008l-27 -26.9004l92.7002 -93l-92.7002 -93l26.9004 -26.9004l73.7998 73.8008l2.2998 -170l127.4 127.5z" />
    <glyph glyph-name="bluetooth-b" unicode="&#xf294;" horiz-adv-x="320" 
d="M196.48 187.977l97.9111 -103.333l-148.552 -148.644l-2.71484 198.284l-86.1113 -86.1113l-31.4053 31.4053l108.061 108.398l-108.061 108.399l31.4053 31.4053l86.1113 -86.1113v206.33l145.981 -156.69zM237.34 290.973l-50.3145 50.3174l0.337891 -100.295z
M187.363 134.96l-0.337891 -100.294l50.3145 50.3164z" />
    <glyph glyph-name="gitlab" unicode="&#xf296;" horiz-adv-x="512" 
d="M105.2 423.1c0 0 56.5 -174.8 56.5996 -174.8h-132l56.5 174.8c3.2002 8.90039 15.7998 8.90039 18.9004 0zM0.900391 160.3l28.7998 88l226.2 -294l-247.9 184c-6.7998 5.10059 -9.7002 14 -7.09961 22zM161.7 248.3h188.6l-94.2998 -294zM511.1 160.3
c2.5 -8 -0.299805 -16.8994 -7.19922 -22l-247.9 -184l226.3 294zM425.7 423.1l56.5 -174.8h-132l56.5996 174.8c3.2002 8.90039 15.7998 8.90039 18.9004 0z" />
    <glyph glyph-name="wpbeginner" unicode="&#xf297;" horiz-adv-x="512" 
d="M462.799 125.626c56.2109 -64.3076 4.16211 -157.626 -91.8545 -157.626c-39.6025 0 -78.8242 17.6865 -100.143 50.04c-6.88672 -0.356445 -22.7021 -0.356445 -29.5898 0c-21.3643 -32.4209 -60.624 -50.04 -100.143 -50.04
c-95.4902 0 -148.349 92.9961 -91.8555 157.626c-79.1387 131.851 31.2646 290.374 206.792 290.374c175.632 0 285.87 -158.626 206.793 -290.374zM123.152 208.598h41.5283v58.0752h-41.5283v-58.0752zM340.332 122.526v23.8389
c-60.5059 -20.915 -132.355 -9.19824 -187.589 33.9707l0.246094 -24.8965c51.1006 -46.3672 131.746 -57.875 187.343 -32.9131zM189.579 208.598h166.058v58.0752h-166.058v-58.0752z" />
    <glyph glyph-name="wpforms" unicode="&#xf298;" 
d="M448 372.8v-361.7c0 -24.2998 -19 -43.1992 -43.2002 -43.1992h-361.6c-23.9004 0.0996094 -43.2002 18.6992 -43.2002 43.2998v361.6c0 24.1006 18.7998 43.2002 43.2002 43.2002h361.7c24 0 43.0996 -18.7998 43.0996 -43.2002zM410.7 11.2002v361.6
c0 3 -2.60059 5.7998 -5.7998 5.7998h-9.30078l-110.3 -74.5996l-61.2998 49.9004l-61.2002 -49.9004l-110.3 74.7002h-9.2998c-3.2002 0 -5.7998 -2.7998 -5.7998 -5.7998v-361.7c0 -3 2.59961 -5.7998 5.7998 -5.7998h361.7
c3.19922 -0.100586 5.7998 2.69922 5.7998 5.7998zM150.2 262v-37h-73.5v37h73.5zM150.2 187.6v-37.2998h-73.5v37.2998h73.5zM161.3 334.9l54 43.6992h-118.5zM371.3 262v-37h-196v37h196zM371.3 187.6v-37.2998h-196v37.2998h196zM286.7 334.9l64.5 43.6992h-118.4z
M371.3 113v-37.2998h-99.3994v37.2998h99.3994z" />
    <glyph glyph-name="envira" unicode="&#xf299;" 
d="M0 416c477.6 0 366.6 -317.3 367.1 -366.3l80.9004 -81.7002h-26l-70.4004 71.2002c-39 -4.2002 -124.399 -34.5 -214.399 37c-90.2002 71.5 -85.2002 157.1 -137.2 339.8zM79.7002 370c-49.7002 23.5 -5.2002 -9.2002 -5.2002 -9.2002
c45.2002 -31.2002 66 -73.7002 90.2002 -119.899c31.5 -60.2002 79 -139.7 144.2 -167.7c65 -28 34.1992 -12.5 6 8.5c-28.2002 21.2002 -68.2002 87 -91 130.2c-31.7002 60 -61 118.6 -144.2 158.1z" />
    <glyph glyph-name="glide" unicode="&#xf2a5;" 
d="M252.8 299.4c0 -8.80078 -1.59961 -17.7002 -3.39941 -26.4004c-5.80078 -27.7998 -11.6006 -55.7998 -17.3008 -83.5996c-1.39941 -6.30078 -8.2998 -4.90039 -13.6992 -4.90039c-23.8008 0 -30.5 26 -30.5 45.5c0 29.2998 11.1992 68.0996 38.5 83.0996
c4.2998 2.5 9.19922 4.2002 14.0996 4.2002c11.4004 0 12.2998 -8.2998 12.2998 -17.8994zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM384 181c0 5.09961 -20.7998 37.7002 -25.5 39.5
c-2.2002 0.900391 -7.2002 2.2998 -9.59961 2.2998c-23.1006 0 -38.7002 -10.5 -58.2002 -21.5l-0.5 0.5c4.2998 29.4004 14.5996 57.2002 14.5996 87.4004c0 44.5996 -23.7998 62.7002 -67.5 62.7002c-71.7002 0 -108 -70.8008 -108 -123.5c0 -54.7002 32 -85 86.2998 -85
c7.5 0 6.90039 0.599609 6.90039 -2.30078c-10.5 -80.2998 -56.5 -82.8994 -56.5 -58.8994c0 24.3994 28 36.5 28.2998 38c-0.200195 7.59961 -29.2998 17.2002 -36.7002 17.2002c-21.0996 0 -32.6992 -33 -32.6992 -50.6006c0 -32.2998 20.3994 -54.7002 53.2998 -54.7002
c48.2002 0 83.3994 49.7002 94.2998 91.7002c9.40039 37.7002 7 39.4004 12.2998 42.1006c20 10.0996 35.7998 16.7998 58.4004 16.7998c11.0996 0 19 -2.2998 36.7002 -5.2002c1.7998 -0.0996094 4.09961 1.7002 4.09961 3.5z" />
    <glyph glyph-name="glide-g" unicode="&#xf2a6;" 
d="M407.1 236.8c7.5 -2.89941 40.9004 -55.3994 40.9004 -63.3994c0 -2.90039 -3.7998 -5.80078 -6.7002 -5.80078c-28.3994 4.7002 -41.0996 8.40039 -58.8994 8.40039c-36.3008 0 -61.6006 -10.7998 -93.8008 -27c-8.5 -4.2998 -4.59961 -7.09961 -19.6992 -67.5996
c-17.4004 -67.6006 -74 -145.4 -151.4 -145.4c-52.7002 0 -85.5 36 -85.5 87.9004c0 28.0996 18.5 79.1992 52.4004 79.2998c11.8994 0 58.5996 -15.4004 58.8994 -27.6006c-0.5 -2.39941 -45.5 -21.7998 -45.5 -61c0 -38.5 73.9004 -34.2998 90.7998 94.6006
c0 4.7998 1 3.7998 -11 3.7998c-87.2998 0 -138.6 48.7002 -138.6 136.6c0 84.7002 58.2998 198.4 173.4 198.4c70.1992 0 108.399 -29.0996 108.399 -100.6c0 -48.5 -16.5 -93.1006 -23.5 -140.4l0.900391 -0.900391c31.2998 17.7002 56.3994 34.5 93.5 34.5
c3.7998 0 11.8994 -2.39941 15.3994 -3.7998zM231.8 321.2c2.90039 13.8994 5.5 28.0996 5.60059 42.3994c0 15.4004 -1.40039 28.7002 -20 28.7002c-7.80078 0 -15.6006 -2.59961 -22.6006 -6.7002c-43.7998 -24.0996 -61.7998 -86.3994 -61.7998 -133.399
c0 -31.2998 10.7002 -73.1006 49 -73.1006c8.7002 0 19.7002 -2.39941 22 7.80078c9.2002 44.6992 18.5 89.5996 27.7998 134.3z" />
    <glyph glyph-name="viadeo" unicode="&#xf2a9;" 
d="M276.2 297.5v-0.700195c-17.9004 52.6006 -42.6006 103.4 -70.7998 151.2c43.2998 -29.2002 67 -100 70.7998 -150.5zM308.9 175.8c15.0996 3.10059 29.5 9 42.1992 17c24.5 -58.5996 20.2002 -139.7 -36.3994 -201c-67.7998 -73.8994 -191.9 -74.5996 -259.8 0
c-108.801 117.8 -31.6006 313.7 129.899 313.7c21.2998 0 42.6006 -3.5 62.5 -10.7002c-6.89941 -13.3994 -11.7002 -28.2002 -13.3994 -43.2998c-15.4004 6.5 -32.3008 9.59961 -49.1006 9.59961c-78 0 -135.399 -66.6992 -135.399 -142.3
c0 -68.7998 45.5996 -126 111.3 -137.399c98.5 38.3994 116.6 188.199 116.6 280c0 11.6992 0 23.6992 -1 35.3994c12.4004 -36.0996 18.9004 -73.8994 18.9004 -112c0 -86.5 -35.1006 -158.399 -109.3 -205.1l-3.80078 -0.299805
c80 -1.60059 137.801 61.6992 137.801 139.399c0 19.5 -3.40039 38.7998 -11 57zM418.1 436.3c52 -74 20.9004 -208.6 -58.0996 -208.6c-21.2998 0 -40.2002 11.3994 -55 25.7998c35.0996 19.2998 79.4004 49.2002 99.7002 84.9004
c2.39941 4.7998 6.5 13.6992 7.2002 19.1992c-19.9004 -44.6992 -70.8008 -79.6992 -118.2 -90.6992c-7.5 11.6992 -12 24.6992 -12 38.7998c0 16.5 8.2002 38.5 20.5996 50.5c34.5 32.8994 84.7998 13.5996 115.8 80.0996z" />
    <glyph glyph-name="viadeo-square" unicode="&#xf2aa;" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM280.7 66.7998c35.3994 38.2998 38.0996 89 22.7998 125.601c-7.90039 -4.90039 -16.9004 -8.60059 -26.4004 -10.5
c4.80078 -11.4004 6.90039 -23.5 6.90039 -35.7002c0 -48.6006 -36.2002 -88.2002 -86.2002 -87.2002l2.40039 0.200195c46.3994 29.2002 68.2998 74.0996 68.2998 128.2c0 23.7998 -4.09961 47.5 -11.7998 70v0.399414c-2.2998 31.6006 -17.1006 75.7998 -44.2002 94.1006
c17.5996 -29.9004 33 -61.6006 44.2002 -94.5c0.599609 -7.30078 0.599609 -14.8008 0.599609 -22.1006c0 -57.3994 -11.3994 -151 -72.8994 -175c-41 7.2002 -69.5 42.9004 -69.5 85.9004c0 47.2002 35.7998 88.8994 84.5996 88.8994c10.5 0 21 -1.89941 30.7002 -6
c1.09961 9.5 4.09961 18.7002 8.39941 27.1006c-12.5 4.59961 -25.7998 6.7002 -39.0996 6.7002c-101 0 -149.2 -122.5 -81.2002 -196.101c42.4004 -46.5996 120 -46.2002 162.4 0zM309 214.3c49.4004 0 68.7998 84.1006 36.2998 130.3
c-19.3994 -41.5 -50.7998 -29.5 -72.3994 -50c-7.7002 -7.5 -12.9004 -21.2998 -12.9004 -31.5996c0 -8.7998 2.7998 -17 7.5 -24.2998c29.7002 6.89941 61.4004 28.7998 73.9004 56.7002c-0.400391 -3.40039 -3 -9 -4.5 -12c-12.7002 -22.3008 -40.4004 -41 -62.3008 -53
c9.30078 -9 21.1006 -16.1006 34.4004 -16.1006z" />
    <glyph glyph-name="snapchat" unicode="&#xf2ab;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM417.5 101.1c2.2002 5.30078 -0.900391 9.80078 -4.90039 10.8008c-46.2998 7.59961 -67.0996 55.0996 -68 57.0996
c-0.0996094 0.0996094 -0.0996094 0.200195 -0.199219 0.299805c-2.40039 5 -3 9.2002 -1.60059 12.5c2.60059 6.2998 12.5 9.40039 19 11.5c1.7998 0.600586 3.5 1.10059 4.90039 1.7002c11.5 4.5 17.2998 10.0996 17.2002 16.5996
c-0.100586 5.10059 -4.10059 9.60059 -10.4004 11.9004c-4 1.59961 -9.59961 1.90039 -13.5996 0c-5.5 -2.59961 -10.4004 -4 -14.7002 -4.2002c-2.7998 0.100586 -4.60059 0.799805 -5.7002 1.40039c1.40039 24 4.7002 58 -3.7998 77.0996
c-16.2998 36.5 -49.6006 54.2998 -84.2998 54.2998c-0.600586 0 -6.10059 -0.0996094 -6.7002 -0.0996094c-14 0 -61.6006 -4 -84.1006 -54.2998c-8.5 -19.1006 -5.19922 -53.2002 -3.7998 -77.1006c-1.09961 -0.599609 -3.2998 -1.39941 -6.59961 -1.39941
c-4.5 0 -9.7998 1.39941 -15.7002 4.2002c-7.5 3.5 -20.2998 -1.80078 -21.9004 -10.3008c-1 -4.89941 1.2002 -12.0996 17 -18.2998c6.10059 -2.5 20.6006 -5.2998 24 -13.2002c1.40039 -3.2998 0.900391 -7.5 -1.59961 -12.5
c-0.0996094 -0.0996094 -0.200195 -0.199219 -0.200195 -0.299805c-0.899414 -2 -21.7002 -49.5 -68 -57.0996c-3.59961 -0.600586 -6.09961 -3.7998 -5.89941 -7.40039c0.699219 -13.8994 31.6992 -19.2998 45.5 -21.3994c1.39941 -1.90039 2.5 -9.90039 4.2998 -16
c0.799805 -2.7002 2.89941 -6 8.2998 -6s13.2998 3.09961 25.7998 3.09961c17.6006 0 23.6006 -4 37.4004 -13.7002c9.89941 -7 27.5 -19.7998 48.5 -18.2002c20.7998 -0.899414 34.7002 7.90039 49.2002 18.2002c13.6992 9.7002 19.7998 13.7002 37.3994 13.7002
c13 0 19.6006 -2.90039 25.7998 -2.90039h0.200195c4.40039 0 7 2.2002 8.10059 5.90039c1.7998 6.09961 2.89941 14 4.2998 15.9004c26.7002 4.19922 41.2998 10.0996 44.7998 18.1992z" />
    <glyph glyph-name="snapchat-ghost" unicode="&#xf2ac;" horiz-adv-x="512" 
d="M510.846 55.3271c-5.21094 -12.1572 -27.2383 -21.0889 -67.3594 -27.3184c-2.06445 -2.78613 -3.77539 -14.6855 -6.50781 -23.9561c-1.625 -5.56543 -5.62207 -8.86914 -12.1279 -8.86914l-0.296875 0.00585938c-9.39453 0 -19.2031 4.32227 -38.8516 4.32227
c-26.5215 0 -35.6621 -6.04297 -56.2539 -20.5879c-21.832 -15.4375 -42.7715 -28.7637 -74.0273 -27.3984c-31.6455 -2.33398 -58.0244 16.9072 -72.8711 27.4033c-20.7139 14.6436 -29.8281 20.582 -56.2412 20.582c-18.8633 0 -30.7354 -4.71973 -38.8516 -4.71973
c-8.07324 0 -11.2129 4.92188 -12.4219 9.04004c-2.70312 9.18848 -4.4043 21.2627 -6.52344 24.1299c-20.6787 3.20898 -67.3096 11.3438 -68.498 32.1504c-0.0107422 0.196289 -0.015625 0.393555 -0.015625 0.591797c0 5.27148 3.85645 9.64355 8.89258 10.4766
c69.583 11.4551 100.925 82.9014 102.228 85.9346c0.0742188 0.175781 0.155273 0.34375 0.237305 0.514648c3.71289 7.53711 4.54395 13.8486 2.46289 18.7529c-5.05078 11.8965 -26.8721 16.1641 -36.0537 19.7959c-23.7148 9.36621 -27.0146 20.1279 -25.6113 27.5039
c2.43652 12.8359 21.7246 20.7354 33.002 15.4531c8.91895 -4.18066 16.8428 -6.29688 23.5469 -6.29688c5.02148 0 8.21191 1.2041 9.95996 2.1709c-2.04297 35.9365 -7.10156 87.29 5.68652 115.969c33.7734 75.7188 105.356 81.6025 126.478 81.6025
c0.943359 0 9.14062 0.0888672 10.1094 0.0888672c52.1484 0 102.255 -26.7803 126.724 -81.6426c12.7764 -28.6504 7.74902 -79.792 5.69434 -116.01c1.58203 -0.87207 4.35742 -1.94141 8.59961 -2.13867c6.39648 0.286133 13.8145 2.38867 22.0693 6.25684
c6.08496 2.84668 14.4053 2.46094 20.4795 -0.0576172l0.0292969 -0.00976562c9.47559 -3.38574 15.4385 -10.2158 15.5889 -17.8701c0.183594 -9.74707 -8.52246 -18.165 -25.8779 -25.0186c-2.11816 -0.834961 -4.69434 -1.6543 -7.43457 -2.52441
c-9.79688 -3.10645 -24.5996 -7.80566 -28.6152 -17.2715c-2.0791 -4.9043 -1.25684 -11.2109 2.45996 -18.748c0.0869141 -0.167969 0.166016 -0.341797 0.238281 -0.514648c1.30176 -3.03027 32.6152 -74.46 102.23 -85.9346
c6.42676 -1.05762 11.1631 -7.87695 7.72461 -15.8584z" />
    <glyph glyph-name="snapchat-square" unicode="&#xf2ad;" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM393.5 101.1c2.2002 5.30078 -0.900391 9.80078 -4.90039 10.8008c-46.2998 7.59961 -67.0996 55.0996 -68 57.0996
c-0.0996094 0.0996094 -0.0996094 0.200195 -0.199219 0.299805c-2.40039 5 -3 9.2002 -1.60059 12.5c2.60059 6.2998 12.5 9.40039 19 11.5c1.7998 0.600586 3.5 1.10059 4.90039 1.7002c11.5 4.5 17.2998 10.0996 17.2002 16.5996
c-0.100586 5.10059 -4.10059 9.60059 -10.4004 11.9004c-4 1.59961 -9.59961 1.90039 -13.5996 0c-5.5 -2.59961 -10.4004 -4 -14.7002 -4.2002c-2.7998 0.100586 -4.60059 0.799805 -5.7002 1.40039c1.40039 24 4.7002 58 -3.7998 77.0996
c-16.2998 36.5 -49.6006 54.2998 -84.2998 54.2998c-0.600586 0 -6.10059 -0.0996094 -6.7002 -0.0996094c-14 0 -61.6006 -4 -84.1006 -54.2998c-8.5 -19.1006 -5.19922 -53.2002 -3.7998 -77.1006c-1.09961 -0.599609 -3.2998 -1.39941 -6.59961 -1.39941
c-4.5 0 -9.7998 1.39941 -15.7002 4.2002c-7.5 3.5 -20.2998 -1.80078 -21.9004 -10.3008c-1 -4.89941 1.2002 -12.0996 17 -18.2998c6.10059 -2.5 20.6006 -5.2998 24 -13.2002c1.40039 -3.2998 0.900391 -7.5 -1.59961 -12.5
c-0.0996094 -0.0996094 -0.200195 -0.199219 -0.200195 -0.299805c-0.899414 -2 -21.7002 -49.5 -68 -57.0996c-3.59961 -0.600586 -6.09961 -3.7998 -5.89941 -7.40039c0.699219 -13.8994 31.6992 -19.2998 45.5 -21.3994c1.39941 -1.90039 2.5 -9.90039 4.2998 -16
c0.799805 -2.7002 2.89941 -6 8.2998 -6s13.2998 3.09961 25.7998 3.09961c17.6006 0 23.6006 -4 37.4004 -13.7002c9.89941 -7 27.5 -19.7998 48.5 -18.2002c20.7998 -0.899414 34.7002 7.90039 49.2002 18.2002c13.6992 9.7002 19.7998 13.7002 37.3994 13.7002
c13 0 19.6006 -2.90039 25.7998 -2.90039h0.200195c4.40039 0 7 2.2002 8.10059 5.90039c1.7998 6.09961 2.89941 14 4.2998 15.9004c26.7002 4.19922 41.2998 10.0996 44.7998 18.1992z" />
    <glyph glyph-name="pied-piper" unicode="&#xf2ae;" horiz-adv-x="480" 
d="M455.93 424.8c9.41992 2.40039 15.0703 -10.25 6.99023 -15.6797c-98.2295 -65.9199 -120.439 -127.561 -126.229 -160.18c-33.5205 -188.881 -101.37 -119.32 -184.311 -226.65c25.7607 -14.8125 55.8076 -23.3984 87.6299 -23.4004
c97.6504 0 177.09 79.4502 177.09 177.11c-0.00488281 45.0508 -16.9824 86.25 -44.8496 117.41c4.72754 9.75293 10.4238 18.9131 17 27.3994c36.3574 -37.3457 58.75 -88.3779 58.75 -144.564v-0.245117c0 -114.87 -93.1299 -208 -208 -208s-208 93.1201 -208 208
s93.1299 208 208 208c36.7422 -0.000976562 71.4697 -9.77246 101.35 -26.6602c46.4404 38.9697 87.8809 60.6602 114.58 67.46zM125 41.5996c64.7695 140.881 125.64 231.641 191.63 293.75c-23.0674 11.3037 -49.1611 17.75 -76.5615 17.75h-0.0683594
c-97.6504 0 -177.1 -79.4395 -177.1 -177.1c0.0234375 -53.8203 24.0684 -102.002 62.0996 -134.4z" />
    <glyph glyph-name="first-order" unicode="&#xf2b0;" 
d="M12.9004 218.8c0.0996094 0.100586 0.199219 0.299805 0.299805 0.400391c0 -0.100586 0 -0.299805 -0.100586 -0.400391h-0.199219zM224 351.4c7.40039 0 14.5996 -0.5 21.7002 -1.7002l-4 -67.7002l22.2998 64.2998c14.2998 -3.7998 27.7002 -9.5 40 -16.8994
l-29.4004 -61.1006l45.1006 50.9004c11.5 -8.90039 21.7002 -19.2002 30.5996 -30.9004l-50.5996 -45.3994l60.8994 29.6992c7.5 -12.2998 12.9004 -26 16.6006 -40.2998l-64 -22.2998l67.7002 4c1.09961 -7.09961 1.39941 -14.5996 1.39941 -22
s-0.299805 -14.5996 -1.39941 -21.7002l-67.4004 4l64 -22.2998c-3.7002 -14.5996 -9.5 -28 -16.5996 -40.2998l-61.1006 29.3994l50.6006 -45.0996c-8.60059 -11.7998 -18.9004 -22 -30.6006 -30.9004l-44.8994 50.9004l29.3994 -61.2998
c-12.2998 -7.5 -25.7002 -12.9004 -40 -16.9004l-22.5996 65.1006l4 -68.6006c-7.10059 -1.09961 -14.2998 -1.7002 -21.7002 -1.7002c-7.09961 0 -14.5996 0.600586 -21.7002 1.7002l4 68l-22.2998 -64.5996c-14.2998 3.7998 -27.7002 9.5 -40 16.8994l29.5 61.4004
l-44.9004 -50.9004c-11.7998 8.60059 -22 19.2002 -30.8994 30.9004l50.8994 45.0996l-61.0996 -29.6992c-7.2002 12.5996 -12.9004 26 -16.5996 40.2998l64 22.5996l-67.7002 -4c-0.799805 7.10059 -1.40039 14.2998 -1.40039 21.7002s0.5 14.9004 1.40039 22l68 -4
l-64.2998 22.5996c3.69922 14.3008 9.5 27.7002 16.5996 40l61.0996 -29.6992l-50.5996 45.3994c8.90039 11.7998 19.2002 22 30.5996 30.9004l45.1006 -50.9004l-29.4004 61.4004c12.2998 7.2002 25.7002 12.8994 40 16.5996l22 -64l-3.7002 67.4004
c6.80078 1.09961 14.3008 1.7002 21.4004 1.7002zM443.4 320v-256l-219.4 -128l-219.4 128v256l219.4 128zM426.3 309.7l-202.3 117.399l-202.3 -117.399v-235.101l202.3 -117.699l202.3 117.699v235.101zM224 410.9l187.7 -109.4v-218.9l-187.7 -109.5l-187.7 109.5
v218.801zM224 360c-92.2998 0 -166.9 -75.0996 -166.9 -168c0 -92.5996 74.6006 -167.7 166.9 -167.7c92 0 166.9 75.1006 166.9 167.7c0 92.9004 -74.9004 168 -166.9 168z" />
    <glyph glyph-name="yoast" unicode="&#xf2b1;" 
d="M91.2998 372h186l-7 -18.9004h-179c-39.7002 0 -71.8994 -31.5996 -71.8994 -70.2998v-205.399c0 -35.4004 24.8994 -70.3008 84 -70.3008v-19.0996h-12.1006c-50.0996 0 -91.2998 40.2002 -91.2998 89.5v205.3c0 49.2998 40.7002 89.2002 91.2998 89.2002zM320.4 428
h66.5c-143.801 -378.1 -145.7 -398.9 -184.7 -439.3c-20.7998 -21.6006 -49.2998 -31.7002 -78.2998 -32.7002v51.0996c49.1992 7.7002 64.5996 49.9004 64.5996 75.3008c0 20.0996 0.599609 12.5996 -82.0996 223.199h61.3994l50.4004 -156.6zM448 286.5v-298.5h-214
c6.59961 9.59961 10.7002 16.2998 12.0996 19.4004h182.5v279.1c0 32.5 -17.0996 51.9004 -48.1992 62.9004l6.69922 17.5996c41.7002 -13.5996 60.9004 -43.0996 60.9004 -80.5z" />
    <glyph glyph-name="themeisle" unicode="&#xf2b2;" horiz-adv-x="512" 
d="M208 359.714c0 10 6.28613 21.7139 17.7148 21.7139c11.1426 0 17.7139 -11.7139 17.7139 -21.7139c0 -10.2852 -6.57129 -21.7139 -17.7139 -21.7139c-11.4287 0 -17.7148 11.4287 -17.7148 21.7139zM512 199.714c0 -36.001 -11.4287 -102.286 -36.2861 -129.714
c-22.8574 -24.8584 -87.4277 -61.1426 -120.856 -70.5723l-1.14355 -0.286133v-32.5703c0 -16.2861 -12.5723 -30.5713 -29.1426 -30.5713c-10 0 -19.4297 5.71387 -24.5723 14.2861c-5.42676 -8.57227 -14.8564 -14.2861 -24.8564 -14.2861
s-19.4287 5.71387 -24.8574 14.2861c-5.14258 -8.57227 -14.5713 -14.2861 -24.5703 -14.2861c-10.2861 0 -19.4287 5.71387 -24.8574 14.2861c-5.14355 -8.57227 -14.5713 -14.2861 -24.5713 -14.2861c-18.8574 0 -29.4287 15.7139 -29.4287 32.8574
c-16.2861 -12.2852 -35.7158 -19.4287 -56.5713 -19.4287c-22 0 -43.4287 8.28516 -60.2861 22.8574c10.2852 0.286133 20.5713 2.28613 30.2852 5.71387c-20.8574 5.71387 -39.4277 18.8574 -52 36.2861c21.3701 -4.64551 46.209 -1.67285 67.1426 11.1426
c-22 22 -56.5703 58.8574 -68.5713 87.4287c-5.71387 13.4287 -6.85645 31.4287 -6.85645 45.7139c0 49.7139 20.2861 160 86.2861 160c10.5713 0 18.8564 -4.8584 23.1426 -14.8574c3.7041 5.41992 7.6709 10.5186 12 15.4277c2 2.57227 5.71387 5.42969 7.14355 8.28613
c7.99902 12.5713 11.7139 21.1426 21.7139 34c32.2852 41.1445 81.7139 69.4297 134.856 69.4297c6 0 12 -0.285156 17.7148 -1.14355c10.8564 11.7148 26 18.2861 41.7148 18.2861c14.5703 0 29.7139 -6 40 -16.2861c0.856445 -0.857422 1.42773 -2.28613 1.42773 -3.42773
c0 -3.71387 -10.2852 -13.4287 -12.8574 -16.2861c4.28613 -1.42871 15.7148 -6.8584 15.7148 -12c0 -2.85742 -2.85742 -5.14258 -4.57129 -7.14258c31.4287 -27.7148 49.4287 -67.1436 56.2861 -108c4.28613 5.14258 10.2852 8.57129 17.1426 8.57129
c10.5713 0 20.8574 -7.14355 28.5713 -14.001c20.8564 -18.5703 25.7139 -53.1416 25.7139 -79.7139zM188 358.572c0 -18.2861 12.5713 -37.1436 32.2861 -37.1436c19.7139 0 32.2852 18.8574 32.2852 37.1436c0 18 -12.5713 36.8564 -32.2852 36.8564
c-19.7148 0 -32.2861 -18.8574 -32.2861 -36.8564zM237.714 254c0 19.7139 3.71387 39.1426 8.57129 58.2861c-52.0391 -79.5342 -13.5312 -184.571 68.8574 -184.571c21.4287 0 42.5713 7.71387 60 20c2 7.42871 3.71484 14.8574 3.71484 22.5723
c0 14.2861 -6.28613 21.4277 -20.5723 21.4277c-4.57129 0 -9.14355 -0.856445 -13.4287 -1.71387c-63.3438 -12.668 -107.143 -3.66895 -107.143 63.999zM196.572 -0.858398c0 11.1436 -8.8584 20.8574 -20.2861 20.8574c-11.4287 0 -20 -9.71484 -20 -20.8574v-32.5703
c0 -11.1436 8.57129 -21.1426 20 -21.1426c11.4277 0 20.2861 9.71484 20.2861 21.1426v32.5703zM245.715 -0.858398c0 11.1436 -8.57227 20.8574 -20 20.8574c-11.4287 0 -20.2861 -9.71484 -20.2861 -20.8574v-32.5703c0 -11.1436 8.85742 -21.1426 20.2861 -21.1426
c11.4277 0 20 10 20 21.1426v32.5703zM295.428 -0.858398c0 11.1436 -8.85645 20.8574 -20.2852 20.8574s-20.2852 -9.71484 -20.2852 -20.8574v-32.5703c0 -11.1436 8.85645 -21.1426 20.2852 -21.1426s20.2852 9.71484 20.2852 21.1426v32.5703zM345.143 -0.858398
c0 11.1436 -8.85645 20.8574 -20.2852 20.8574s-20.2861 -9.71484 -20.2861 -20.8574v-32.5703c0 -11.1436 8.85742 -21.1426 20.2861 -21.1426s20.2852 10 20.2852 21.1426v32.5703zM421.714 162c-30.8564 -59.1416 -90.2852 -102.572 -158.571 -102.572
c-96.5703 0 -160.57 84.5723 -160.57 176.572c0 16.8574 2 33.4287 6 49.7139c-20 -33.7148 -29.7139 -72.5723 -29.7139 -111.429c0 -60.2861 24.8564 -121.715 71.4287 -160.857c5.14258 9.71387 14.8564 16.2861 26 16.2861c10 0 19.4277 -5.71387 24.5713 -14.2861
c5.42871 8.57129 14.5703 14.2861 24.8574 14.2861c10 0 19.4277 -5.71387 24.5713 -14.2861c5.42871 8.57129 14.8564 14.2861 24.8574 14.2861c10 0 19.4287 -5.71387 24.8574 -14.2861c5.14258 8.57129 14.5713 14.2861 24.5723 14.2861
c10.8564 0 20.8564 -6.57227 25.7139 -16c43.4268 36.2861 68.5693 92 71.4258 148.286zM432.286 261.714c0 53.7139 -34.5713 105.714 -92.5723 105.714c-30.2852 0 -58.5713 -15.1426 -78.8564 -36.8564c-19.9951 -66.3828 -27.4473 -136.571 41.4287 -136.571
c28.8047 0 97.3564 28.5381 84.2861 -36.8574c28.8564 26 45.7139 65.7148 45.7139 104.571z" />
    <glyph glyph-name="google-plus" unicode="&#xf2b3;" horiz-adv-x="512" 
d="M256 440c136.9 0 248 -111.1 248 -248s-111.1 -248 -248 -248s-248 111.1 -248 248s111.1 248 248 248zM185.3 68c71.2998 0 118.8 50.4004 118.8 121.2c0.000976562 0.140625 0.00195312 0.182617 0.00195312 0.323242c0 6.96289 -0.65332 13.7744 -1.90137 20.377
h-116.9v-42.6006h70.1006c-5.2002 -34.2002 -37.5 -53.2998 -70.1006 -53.2998c-43 0 -77.2002 35.5 -77.2002 78.0996c0 42.6006 34.3008 78.1006 77.2002 78.1006c18.1006 0 36.2002 -6.2002 49.4004 -19.1006l33.5996 32.6006
c-22.8994 21.2998 -51.7002 32.2998 -83 32.2998c-68.4375 0 -124 -55.5625 -124 -124s55.5625 -124 124 -124zM415.5 174.2h35.2002v35.5h-35.2002v35.5h-35.5v-35.5h-35.5v-35.5h35.5v-35.5h35.5v35.5z" />
    <glyph glyph-name="font-awesome" unicode="&#xf2b4;" 
d="M397.8 416c27.5 0 50.2002 -22.7002 50.2002 -50.2002v-347.6c0 -27.5 -22.7002 -50.2002 -50.2002 -50.2002h-347.6c-27.5 0 -50.2002 22.7002 -50.2002 50.2002v347.6c0 27.5 22.7002 50.2002 50.2002 50.2002h347.6zM352.4 131.7h0.0996094v140.3
c0 4.2002 -4.2002 7.7998 -9 7.7998c-6 0 -31.0996 -16.0996 -53.7998 -16.0996c-4.7002 0 -8.90039 0.599609 -13.1006 2.39941c-20.2998 7.7002 -38.1992 13.7002 -60.8994 13.7002c-20.9004 0 -43 -6.5 -61.5 -14.2998
c-1.7998 -1.2002 -3.60059 -1.7998 -5.40039 -2.40039v18.5c8.2998 6 13.1006 15.5 13.1006 26.3008c0 18.5996 -15 33.5 -33.5 33.5c-18.6006 0 -33.5 -15 -33.5 -33.5c0 -10.8008 5.2998 -20.3008 13.0996 -26.3008v-218.6c0 -11.2998 9 -20.2998 20.2998 -20.2998
c8.90039 0 16.7002 5.89941 19.1006 14.2998v1.2002c0.599609 1.2002 0.599609 3 0.599609 4.7998v45.4004c1.2002 0.599609 2.40039 0.599609 3.59961 1.19922c19.7002 8.90039 44.2002 17.3008 67.5 17.3008c32.3008 0 44.8008 -16.7002 71.7002 -16.7002
c19.2002 0 37.1006 6.5 53.7998 13.7002c4.2002 1.7998 7.80078 3.59961 7.80078 7.7998z" />
    <glyph glyph-name="linode" unicode="&#xf2b8;" 
d="M437.4 221.7c0.599609 -2 -8.80078 -66.2998 -9.7002 -72.7998c0 -0.900391 -0.5 -1.7002 -1.10059 -2l-54.5996 -43.7002c-1.09961 -0.900391 -2.59961 -0.900391 -3.7002 0l-20.2998 14l-2.2998 -33.4004c0 -0.899414 -0.200195 -1.7002 -1.10059 -2.2998
l-66.8994 -53.4004c-1.10059 -0.899414 -2.90039 -0.899414 -4 0l-28 23.7002l2 -46c0 -0.899414 -0.200195 -1.7002 -1.10059 -2.2998l-83.6992 -66.9004c-0.600586 -0.299805 -1.10059 -0.599609 -1.7002 -0.599609c-0.900391 0.299805 -1.7002 0.299805 -2.2998 0.900391
l-65.1006 69.0996c-1.5 1.40039 -15.5 72 -16.8994 79.0996c-0.300781 1.10059 0.5 2.5 1.39941 3.10059l17.4004 10.5996c-3.40039 3.2002 -26.5 23.4004 -27.1006 26.2998l-20.5996 100.301c-0.299805 1.09961 0.299805 2.5 1.7002 3.39941l26.8994 12.9004
c-4.59961 3.5 -37.6992 27.5 -38.5996 30.8994l-27.4004 133.101c-0.299805 1.7002 0.600586 3.09961 2 3.7002l123.7 38.5996c0.600586 0 1.40039 0 2.2998 -0.299805l90.6006 -43.7002c0.799805 -0.599609 1.7002 -1.7002 1.7002 -2.59961l5.69922 -132.301
c0 -1.19922 -0.599609 -2.2998 -1.69922 -2.89941l-33.7002 -17.4004l36 -24.2998c0.799805 -0.299805 1.39941 -1.40039 1.39941 -2.2998l1.40039 -35.1006l34.5996 21.2002c0.800781 0.600586 2.2002 0.600586 3.10059 0l24 -16l0.899414 31.4004
c0 0.899414 0.5 2 1.40039 2.59961l58.9004 36c1.09961 0.600586 2.19922 0.600586 3.09961 0l70 -38.5996c0.5 -0.600586 1.09961 -1.10059 1.40039 -2zM232.6 216.9l-100.6 -57.2002l14 -96.6006l90.5996 61.2002zM224.9 396.9l-120.9 -46.6006l19.7002 -134.8
l106.6 55.4004zM44 274.9l73.0996 -57.2002l-19.3994 132.899l-79.7002 49.4004zM74.5996 127.1l64.8008 -60.7998l-13.7002 93.4004l-70 58.2998zM98.9004 9.40039l57.6992 -61.2002l-9.69922 67.3994l-61.7002 60.9004zM163.4 -55.0996l78.1992 62.2998l-3.09961 70
l-85.7002 -61.4004zM245.4 60l27.0996 -22.9004l-0.599609 68.3008l-29.4004 22.5996c0 -2.2998 1.2002 -6.2998 -1.09961 -8l-22.3008 -14.9004l24.3008 -20c2.89941 -2.19922 2 -21.6992 2 -25.0996zM339.7 85.4004l4.2002 66.8994l-65.7002 -46.8994l0.599609 -68.6006z
M367.4 111.1l5.7998 66.6006l-64.6006 40.5996l-0.599609 -30l41.2002 -27.2002c0.799805 -0.599609 1.39941 -1.69922 1.09961 -2.59961l-2 -34zM422 150.9l8.5 63.3994l-51.0996 -36.5996l-5.7002 -65.1006z" />
    <glyph glyph-name="quora" unicode="&#xf2c4;" 
d="M440.5 61.2998c1.7998 -18 -7.2002 -93.2998 -89 -93.2998c-49.5 0 -75.5 28.7002 -95.2002 62.2998c-117.7 -32.5996 -249 54.9004 -249 189c0 117 98 196.7 197.7 196.7c101.8 0 198.5 -79.2002 198.4 -196.7c0 -65.5 -30.5 -118.8 -74.7002 -153
c14.2002 -21.5996 29 -35.7998 49.5 -35.7998c22.5 0 31.5 17.2998 33 30.7998h29.2998zM297 118.8c11.2998 24.9004 16.7998 58.7002 16.7002 100.5c0 104.2 -32.5 157.7 -108.7 157.7c-75 0 -107.5 -53.5 -107.5 -157.9c0 -103.699 32.5 -156.699 107.5 -156.699
c12 0 22.7002 1.19922 32.7002 4.19922c-15.5 30.5 -33.7002 61.3008 -69.2002 61.3008c-6.7998 0 -13.5996 -1 -19.7998 -4l-12.2002 24.2998c14.7002 12.7998 38.5 22.7998 69 22.7998c47.7998 0 72 -23 91.5 -52.2002z" />
    <glyph glyph-name="free-code-camp" unicode="&#xf2c5;" horiz-adv-x="576" 
d="M97.2197 351.79c-43.2197 -41.6201 -64.9697 -92.5898 -64.8193 -154.021c0.15918 -68 23.0293 -122.67 67.4795 -165c9.33984 -8.34961 13.2002 -14.9199 13.2002 -20.5498c0 -2.75 -1.90039 -5.62012 -3.81055 -8.37988
c-2.19141 -2.1543 -5.12598 -3.56836 -8.36914 -3.83984c-10.2803 0 -24.6807 12.1396 -43.4707 35.79c-36.5898 44.8701 -53.1992 94.3398 -54.0596 161.87s20.3096 113.34 61.79 160.6c14.9199 16.9004 27.3594 25.6904 35.8398 25.6904
c3.12402 -0.0712891 6.03027 -1.11914 8.38965 -2.83984c1.91016 -1.91016 3.83008 -4.66016 3.83008 -7.41992c0 -4.78027 -5.63965 -11.25 -16 -21.9004zM239.47 27.9297c0.580078 -0.370117 0.910156 -0.549805 0.910156 -0.549805zM333.26 27.3799l0.169922 0.129883
c-0.189453 -0.129883 -0.259766 -0.179688 -0.169922 -0.129883zM336.39 185.56c16.2305 -4.14941 24.04 24.04 30.0303 30.0508c84.71 -110.101 -27.5098 -184.45 -33 -188.101c3.86035 3.04004 44.3301 49.7705 21.5801 76.5498
c-1 1.03027 -67.2998 -20.0596 -54.8398 53.54c8.30957 48.6807 -7.60059 71.1309 -7.60059 71.1309c-17.9697 -37.29 -32.5 -53.8604 -43.5 -72.1602c-56.9492 -92.9404 -16.2793 -124.29 -9.5498 -128.641c-10.54 6.5 -108.27 70.8799 -34 175.23
c78.3701 110.189 62.8301 159.57 62.8301 159.57c118.46 -94.2803 51.8105 -173.021 68.0498 -177.171zM510.88 358.31c41.4404 -47.3096 62.6699 -93.1592 61.75 -160.649s-17.4697 -117.021 -54.0596 -161.87c-18.79 -23.6602 -33.1904 -35.79 -43.4707 -35.79
c-3.24219 0.279297 -6.17676 1.69629 -8.36914 3.84961c-1.91016 2.76074 -3.81055 5.63086 -3.81055 8.38086c0.0205078 5.62988 3.86035 12.1992 13.2002 20.5498c44.4795 42.3701 67.3203 97 67.4795 165c0.180664 61.4697 -21.5898 112.45 -64.8193 154.06
c-10.4004 10.6406 -16 17.1201 -16 21.9004c0 2.75977 1.91992 5.50977 3.83008 7.41992c2.35938 1.7207 5.26562 2.76855 8.38965 2.83984c8.51953 0 21 -8.79004 35.8799 -25.6904z" />
    <glyph glyph-name="telegram" unicode="&#xf2c6;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM369.8 270.1c3.60059 16.8008 -6.09961 23.5 -17.2002 19.5l-239.1 -92.1992c-16.4004 -6.40039 -16.0996 -15.5 -2.7998 -19.7002l61.2002 -19.1006l142 89.4004
c6.59961 4.40039 12.6992 1.90039 7.69922 -2.5l-114.899 -103.8l-4.40039 -63.1006c6.40039 0 9.2002 2.80078 12.5 6.10059l29.9004 28.7998l62 -45.7002c11.2998 -6.39941 19.3994 -3.09961 22.3994 10.5z" />
    <glyph glyph-name="bandcamp" unicode="&#xf2d5;" horiz-adv-x="512" 
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM304.2 113.9l84.7002 156.1h-181l-84.7002 -156.1h181z" />
    <glyph glyph-name="grav" unicode="&#xf2d6;" horiz-adv-x="512" 
d="M301.1 236c4.40039 -4.40039 4.40039 -11.9004 0 -16.2998l-9.69922 -9.7002c-4.40039 -4.7002 -11.9004 -4.7002 -16.6006 0l-10.5 10.5c-4.39941 4.7002 -4.39941 11.9004 0 16.5996l9.7002 9.7002c4.40039 4.40039 11.9004 4.40039 16.5996 0zM270.9 255.7
c-2.7002 -2.7998 -7.40039 -2.7998 -10.5 0c-2.80078 3 -2.80078 7.7002 0 10.5c3 3 7.69922 3 10.5 0c3 -2.7002 3 -7.5 0 -10.5zM244.9 250.4c2.7998 3 7.5 3 10.5 0c2.7998 -2.7002 2.7998 -7.40039 0 -10.2002c-3 -3 -7.7002 -3 -10.5 0c-3 2.7002 -3 7.39941 0 10.2002
zM317.4 263.7c-19.9004 14.3994 -33.8008 43.2002 -11.9004 68.0996c21.5996 24.9004 40.7002 17.2002 59.7998 -0.799805c11.9004 -11.2998 29.2998 -24.9004 17.2002 -48.2002c-12.5 -23.5 -45.0996 -33.2002 -65.0996 -19.0996zM365.1 308.2
c-8.89941 10 -23.2998 -6.90039 -15.5 -16.1006c7.40039 -9 32.1006 -2.39941 15.5 16.1006zM504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM437.8 149.4c2.5 16.0996 -20.2002 16.5996 -25.2002 25.6992
c-13.5996 24.1006 -27.6992 36.8008 -54.5 30.4004c11.6006 8 23.5 6.09961 23.5 6.09961c0.300781 6.40039 0 13 -9.39941 24.9004c3.89941 12.5 0.299805 22.4004 0.299805 22.4004c15.5 8.59961 26.7998 24.3994 29.0996 43.1992
c3.60059 31 -18.7998 59.2002 -49.7998 62.8008c-22.0996 2.5 -43.7002 -7.7002 -54.2998 -25.7002c-23.2002 -40.1006 1.40039 -70.9004 22.4004 -81.4004c-14.4004 1.40039 -34.3008 11.9004 -40.1006 34.2998c-6.59961 25.7002 2.7998 49.8008 8.90039 61.4004
c0 0 -4.40039 5.7998 -8 8.90039c0 0 -13.7998 0 -24.6006 -5.30078c11.9004 15.2002 25.2002 14.4004 25.2002 14.4004c0 6.40039 -0.599609 14.9004 -3.59961 21.5996c-5.40039 11 -23.7998 12.9004 -31.7002 -2.7998c0.0996094 0.200195 0.299805 0.400391 0.400391 0.5
c-5 -11.8994 -1.10059 -55.8994 16.8994 -87.2002c-2.5 -1.39941 -9.09961 -6.09961 -13 -10c-21.5996 -9.69922 -56.2002 -60.2998 -56.2002 -60.2998c-28.1992 -10.7998 -77.1992 -50.8994 -70.5996 -79.7002c0.299805 -3 1.40039 -5.5 3 -7.5
c-2.7998 -2.19922 -5.5 -5 -8.2998 -8.2998c-11.9004 -13.7998 -5.2998 -35.2002 17.7002 -24.3994c15.7998 7.19922 29.5996 20.1992 36.2998 30.3994c0 0 -5.5 5 -16.2998 4.40039c27.6992 6.59961 34.2998 9.39941 46.1992 9.09961c8 -3.89941 8 34.2998 8 34.2998
c0 14.7002 -2.19922 31 -11.0996 41.5c12.5 -12.1992 29.0996 -32.6992 28 -60.5996c-0.799805 -18.2998 -15.2002 -23 -15.2002 -23c-9.09961 -16.5996 -43.2002 -65.9004 -30.3994 -106c0 0 -9.7002 14.9004 -10.2002 22.0996
c-17.4004 -19.3994 -46.5 -52.2998 -24.6006 -64.5c26.6006 -14.6992 108.801 88.6006 126.2 142.301c34.6006 20.7998 55.4004 47.2998 63.9004 65c22 -43.5 95.2998 -94.5 101.1 -59z" />
    <glyph glyph-name="etsy" unicode="&#xf2d7;" horiz-adv-x="384" 
d="M384 100c-1.75 -10.75 -13.75 -110 -15.5 -132c-117.879 4.29883 -219.895 4.74316 -368.5 0v25.5c45.457 8.94824 60.627 8.01855 61 35.25c1.79297 72.3223 3.52441 244.143 0 322c-1.0293 28.46 -12.1299 26.7646 -61 36v25.5
c73.8857 -2.3584 255.933 -8.55078 362.999 3.75c-3.5 -38.25 -7.75 -126.5 -7.75 -126.5h-23.249c-11.0527 42.835 -18.7588 90.5 -54.75 90.5h-137c-10.25 0 -10.75 -3.5 -10.75 -9.75v-163.75c58 -0.5 88.5 2.5 88.5 2.5c29.7695 0.951172 27.5596 8.50195 40.75 65.251
h25.75c-4.40723 -101.351 -3.91016 -61.8291 -1.75 -160.25h-25.75c-9.15527 40.0859 -9.06543 61.0449 -39.501 61.5c0 0 -21.5 2 -88 2v-139c0 -26 14.25 -38.25 44.25 -38.25h89.251c63.6357 0 66.5645 24.9961 98.751 99.75h22.249v-0.000976562z" />
    <glyph glyph-name="imdb" unicode="&#xf2d8;" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM21.2998 218.8h-0.299805c0.0996094 0.100586 0.200195 0.299805 0.299805 0.400391v-0.400391zM97 128.2v127.8h-33v-127.8h33z
M210.2 128.2v127.8h-43l-7.60059 -59.9004c-2.69922 20 -5.39941 40.1006 -8.69922 59.9004h-42.8008v-127.8h29v84.5l12.2002 -84.5h20.6006l11.5996 86.3994v-86.3994h28.7002zM221.6 128.2c86.1006 -0.100586 75 -6 75 82.5c0 8.09961 0.300781 16.7998 -1.39941 24.3994
c-4.2998 22.5 -31.4004 20.9004 -49 20.9004h-24.6006v-127.8zM382.5 157.4v36c0 17.2998 -0.799805 30.0996 -22.2002 30.0996c-8.89941 0 -14.8994 -2.7002 -20.8994 -9.2002v41.7002h-31.7002v-127.8h29.7998l1.90039 8.09961
c5.69922 -6.7998 11.8994 -9.7998 20.8994 -9.7998c19.7998 0 22.2002 15.2002 22.2002 30.9004zM265 218.1v-49.2998c0 -9.7002 1.90039 -18.7002 -10.2998 -18.3994v83.6992c11.8994 0 10.2998 -6.2998 10.2998 -16zM350.5 192v-32.7002
c0 -5.39941 1.59961 -14.3994 -6.2002 -14.3994c-1.59961 0 -3 0.799805 -3.7998 2.39941c-2.2002 5.10059 -1.09961 44.1006 -1.09961 44.7002c0 3.7998 -1.10059 12.7002 4.89941 12.7002c7.2998 0 6.2002 -7.2998 6.2002 -12.7002z" />
    <glyph glyph-name="ravelry" unicode="&#xf2d9;" horiz-adv-x="512" 
d="M407.4 386.5c72.6992 -37.9004 112 -117.2 103.3 -199.5c-1.7002 -16.7002 -4.40039 -36.2002 -9.7998 -52.2002c-22.2002 -65.7002 -52.9004 -108.6 -123.101 -147.7c-6.39941 -4.39941 -13.2998 -8.59961 -20.2002 -10.7998
c-12.5 -4.39941 -26.0996 -5.39941 -40.0996 -3.89941c-5.90039 -0.5 -11.7998 -0.700195 -18 -0.700195c-93.7002 0 -173 64 -196.9 151.399c-0.699219 0 -1.5 0.200195 -2.19922 0.200195c-5.60059 -44.2998 27.0996 -104.1 27.0996 -104.1s2 -3 13.2998 -20.2002
c-62.7998 33.2002 -64.5 131.2 -64.5 131.2c-15 5.59961 -67.2002 23.3994 -76.2998 37.8994c0 0 40.9004 -22.3994 76.2002 -27c-0.200195 0.300781 0.5 7.90039 0.5 7.90039c2.2002 30 12.5 53.4004 23.0996 71.4004c6.90039 33.7998 22.1006 64.2998 43.2998 89.8994
c3.7002 15.2998 9.60059 33.5 19.9004 52.7002c4.40039 8.40039 8.59961 13.7998 19.9004 19c74.8994 35 148.699 43.9004 224.5 4.5zM138.8 284.8c-7.59961 -11.2998 -13.7002 -23.5996 -18.8994 -36.3994c8.09961 8.59961 14.7998 14.1992 18.1992 16.6992
c-0.5 7.40039 0.700195 19.7002 0.700195 19.7002zM107.6 162.9c0.700195 -9.60059 2 -18.9004 4.2002 -28.1006l41.4004 -6.89941c-14.1006 42.0996 -15.7998 90.0996 -15.7998 90.0996c-16.5 -16 -25.4004 -37.9004 -29.8008 -55.0996zM115.5 120.1
c21.4004 -69.6992 81 -122.8 154.1 -134.399c-1 0.299805 -1.69922 0.5 -2.69922 1c0 0 -81 47.5 -108.301 124.3c-9.09961 1.5 -28.2998 5.90039 -43.0996 9.09961zM386 3.90039c63 32 106.6 98 106.8 174c0 107.399 -86.5996 194.5 -193 194.5
c-49.2998 0 -94.0996 -18.7002 -128.3 -49.5c-5.2002 -10.1006 -8.59961 -22.9004 -11.0996 -39.4004c52.5 44.5996 146 33.5 146 33.5c23.3994 -1 20.5996 -21.7002 20.3994 -28.0996c-85.2002 7.19922 -127 -17.2002 -168.399 -52.4004
c0 0 8.09961 -78.7998 26.7998 -110.8c107.8 -4.90039 189.8 53.7002 189.8 53.7002c10.2998 7.39941 19.4004 8.09961 21.4004 -4.7002c1.5 -10.4004 2.19922 -24.4004 -9.60059 -29.7998c-36 -16.8008 -75.5996 -27.3008 -115 -33
c-25.5996 -3.7002 -39.7998 -4.60059 -78 -3.90039c36.4004 -84.7002 127.5 -107.8 127.5 -107.8c28.5 -4.7002 50.2002 -1 64.7002 3.7002z" />
    <glyph glyph-name="sellcast" unicode="&#xf2da;" 
d="M353.4 416c52.0996 0 94.6992 -42.5996 94.6992 -94.5996v-258.801c0 -52 -42.5996 -94.5996 -94.6992 -94.5996h-258.7c-52.1006 0 -94.7002 42.5996 -94.7002 94.7002v258.7c0 52 42.5996 94.5996 94.7002 94.5996h258.7zM303.4 99.5996
c27.8994 48.2002 11.1992 110.5 -37.2002 138.5c-18.6006 10.8008 0.0996094 -0.0996094 -18.5 10.7002c-25 14.4004 -46.2002 -23.2998 -21.6006 -37.5c18 -10.2002 0.800781 -0.399414 18.6006 -10.5996c27.5996 -16 37.2002 -51.7998 21.2998 -79.4004
c-16 -27.5996 -51.7998 -37.2002 -79.4004 -21.2998c-18.5996 10.7998 0.100586 -0.0996094 -18.5 10.7002c-10.2998 6 -23.5996 2.39941 -29.5 -7.90039l-15.6992 -27.2002c-12.6006 -21.7998 19.3994 -53 42.2998 -13.1992c48.2998 -27.7002 110.3 -11 138.2 37.1992z
M325.2 308.4c14.2998 24.7998 -23.4004 46.3994 -37.7002 21.5l-4.7998 -8.40039c-48.2998 27.7002 -110.3 11 -138.2 -37.2002c-27.7998 -48.2998 -11.0996 -110.6 37.0996 -138.399c18.6006 -10.8008 -0.0996094 0.0996094 18.5 -10.7002
c25 -14.4004 46.2002 23.2998 21.6006 37.5c-0.100586 0 -18.6006 10.5996 -18.6006 10.5996c-27.5996 16 -37.2998 51.7998 -21.2998 79.4004c16 27.5996 51.7998 37.2002 79.4004 21.2998c18.5996 -10.7998 -0.100586 0.0996094 18.5 -10.7002
c10.2002 -5.09961 20 -2.89941 26.5 3.60059c2.7002 2.69922 2 2 19 31.5z" />
    <glyph glyph-name="superpowers" unicode="&#xf2dd;" 
d="M448 416l-87.2002 -87c39.7002 -38.7002 61.2002 -92.7002 57.7002 -148.2c-5.40039 -93 -76.9004 -167.3 -168.7 -179.8c-83.2998 -11 -166.5 -22 -249.8 -33l86.7998 86.7998c-39.7998 38.7002 -61.0996 92.7002 -57.7998 148.2c5.7002 93.2998 77 167.5 169 180
c83.2002 11 166.7 22 250 33zM368.3 183.7c4.40039 80 -56.7998 146.3 -136.1 151c-78.7002 4.7998 -148.5 -55.2998 -153 -134.5c-4.40039 -80 56.7998 -146.3 136.3 -151c78.7998 -4.7002 148.6 55 152.8 134.5z" />
    <glyph glyph-name="wpexplorer" unicode="&#xf2de;" horiz-adv-x="512" 
d="M512 192c0 -141.2 -114.7 -256 -256 -256c-141.2 0 -256 114.7 -256 256s114.7 256 256 256s256 -114.7 256 -256zM480 192c0 123.2 -100.3 224 -224 224c-123.5 0 -224 -100.5 -224 -224s100.5 -224 224 -224s224 100.5 224 224zM160.9 323.4l86.8994 -37.1006
l-37.0996 -86.8994l-86.9004 37.0996zM270.9 154.3l46.5996 -94h-14.5996l-50 100l-48.9004 -100h-14l51.0996 106.9l-22.2998 9.39941l6 14l68.6006 -29.0996l-6 -14.2998zM259.1 270.6l68.6006 -29.3994l-29.4004 -68.2998l-68.2998 29.0996zM339.4 227.7
l54.5996 -23.1006l-23.4004 -54.2998l-54.2998 23.1006z" />
    <glyph glyph-name="meetup" unicode="&#xf2e0;" horiz-adv-x="512" 
d="M99 33.7002c1.09961 -5.7002 -2.2998 -11.1006 -8 -12.2998c-5.40039 -1.10059 -10.9004 2.2998 -12 8c-1.09961 5.39941 2.2998 11.0996 7.7002 12.2998c5.39941 1.2002 11.0996 -2.2998 12.2998 -8zM242.1 -37.7002c6.60059 4.60059 15.5 2.7998 19.7002 -3.7002
c4.60059 -6.59961 2.90039 -15.3994 -3.39941 -20c-6.60059 -4.59961 -15.4004 -2.89941 -20 3.7002c-4.30078 6.60059 -2.60059 15.4004 3.69922 20zM156.1 424.6c-6.2998 -1.5 -12.5 2.5 -13.8994 9.10059c-1.2002 6.2998 2.7998 12.5996 9.09961 14
c6.2998 1.5 12.6006 -2.5 13.7002 -9.10059c1.40039 -6.2998 -2.59961 -12.5996 -8.90039 -14zM34.4004 221.7c10 -7.10059 12.5996 -20.7998 5.69922 -31.2002c-6.89941 -10.2998 -20.5996 -12.7998 -30.5996 -5.7002c-10 6.90039 -12.5996 20.9004 -5.7002 30.9004
c6.90039 10.2998 20.6006 12.8994 30.6006 6zM306.4 392.6c-10.3008 -6.2998 -23.7002 -2.89941 -29.7002 7.40039c-6.2998 10.5996 -2.90039 24.2998 7.39941 30.5996c10.3008 6.30078 23.7002 2.90039 30 -7.69922c6 -10.3008 2.90039 -24 -7.69922 -30.3008zM115.3 334.6
c-7.5 -5.19922 -18 -3.5 -23.0996 4.30078c-5.10059 7.69922 -3.40039 18.2998 4.2998 23.6992c7.40039 5.10059 18 3.40039 23.0996 -4.2998c5.10059 -7.7002 3.40039 -18.2998 -4.2998 -23.7002zM487.6 178.6c7.40039 1.40039 14.8008 -3.5 16.3008 -10.8994
c1.69922 -7.7002 -3.2002 -15.2002 -10.6006 -16.6006c-7.39941 -1.69922 -14.8994 3.2002 -16.2998 10.6006c-1.7002 7.7998 3.2002 15.2002 10.5996 16.8994zM527.3 235.4c1.40039 -5.7002 -2.2998 -11.1006 -7.7002 -12.6006
c-5.69922 -1.09961 -11.1992 2.60059 -12.2998 8c-1.09961 5.7002 2.2998 11.5 8 12.6006c5.40039 1.09961 10.9004 -2.30078 12 -8zM447 309.1c8.2998 6 20 3.80078 25.7002 -4.89941c5.7002 -8.60059 3.7002 -20.2998 -4.60059 -26.2998
c-8.59961 -5.7002 -20.2998 -3.7002 -26 4.89941c-5.69922 8.60059 -3.69922 20.2998 4.90039 26.2998zM440.7 169.7c26.2998 -43.1006 15.0996 -100 -26.2998 -129.101c-17.4004 -12.2998 -37.1006 -17.6992 -56.9004 -17.0996
c-12 -47.0996 -69.4004 -64.5996 -105.1 -32.5996c-1.10059 -0.900391 -2.60059 -1.7002 -3.7002 -2.90039c-39.1006 -27.0996 -92.2998 -17.4004 -119.4 22.2998c-9.7002 14.2998 -14.5996 30.6006 -15.0996 46.9004c-65.4004 10.8994 -90 94 -41.1006 139.7
c-28.2998 46.8994 0.600586 107.399 53.4004 114.899c25.0996 66.2002 107.6 97.6006 163.6 54.2002c67.4004 22.2998 136.301 -29.4004 130.9 -101.1c41.0996 -12.6006 52.7998 -66.9004 19.7002 -95.2002zM370.7 95.4004
c-3.10059 20.5996 -40.9004 4.59961 -43.1006 27.0996c-3.09961 32 43.7002 101.1 40 128c-3.39941 24 -19.3994 29.0996 -33.3994 29.4004c-13.4004 0.299805 -16.9004 -2 -21.4004 -4.60059c-2.89941 -1.7002 -6.59961 -4.89941 -11.7002 0.299805
c-6.2998 6 -11.0996 11.7002 -19.3994 12.9004c-12.2998 2 -17.7002 -2 -26.6006 -9.7002c-3.39941 -2.89941 -12 -12.8994 -20 -9.09961c-3.39941 1.7002 -15.3994 7.7002 -24 11.3994c-16.2998 7.10059 -40 -4.59961 -48.5996 -20
c-12.9004 -22.8994 -38 -113.1 -41.7002 -125.1c-8.59961 -26.5996 10.9004 -48.5996 36.9004 -47.0996c11.0996 0.599609 18.2998 4.59961 25.3994 17.3994c4 7.40039 41.7002 107.7 44.6006 112.601c2 3.39941 8.89941 8 14.5996 5.09961
c5.7002 -3.09961 6.90039 -9.40039 6 -15.0996c-1.09961 -9.7002 -28 -70.9004 -28.8994 -77.7002c-3.40039 -22.9004 26.8994 -26.6006 38.5996 -4c3.7002 7.09961 45.7002 92.5996 49.4004 98.2998c4.2998 6.2998 7.39941 8.2998 11.6992 8
c3.10059 0 8.30078 -0.900391 7.10059 -10.9004c-1.40039 -9.39941 -35.1006 -72.2998 -38.9004 -87.6992c-4.59961 -20.6006 6.60059 -41.4004 24.9004 -50.6006c11.3994 -5.7002 62.5 -15.7002 58.5 11.1006zM376.4 3.09961c10.5996 7.5 24.8994 4.60059 32.2998 -6
c7.09961 -10.5996 4.59961 -25.1992 -6 -32.5996c-10.6006 -7.09961 -24.9004 -4.59961 -32 6c-7.2002 10.5996 -4.60059 25.2002 5.7002 32.5996z" />
    <glyph glyph-name="font-awesome-alt" unicode="&#xf35c;" 
d="M339.3 276.8c5.40039 0 9.5 -3 7.7002 -7.09961v-134.4c0 -4.2002 -3 -6 -7.2002 -7.7998c-15.5996 -7.09961 -33.5 -13.7002 -52 -13.7002c-26.2998 0 -38.2002 16.1006 -69.2998 16.1006c-22.7002 0 -46 -8.30078 -65.7002 -16.7002
c-0.599609 -0.600586 -1.7998 -1.2002 -3 -1.2002v-44.2002c0 -1.7998 0 -3 -0.599609 -4.7998v-1.2998c-2.40039 -7.7002 -9.5 -13.7002 -18.5 -13.7002c-10.7002 0 -19.7002 8.90039 -19.7002 19.7002v212.1c-7.7002 6 -12.5 15.5 -12.5 25.7002
c0 18 14.2998 32.2998 32.2998 32.2998s32.2998 -14.3994 32.2998 -32.2998c0 -10.7998 -4.69922 -19.7002 -12.5 -25.7002v-17.8994c1.2002 0.599609 3 1.19922 4.80078 1.7998c17.8994 7.09961 39.3994 13.7002 59.6992 13.7002
c22.1006 0 39.4004 -5.90039 59.1006 -13.7002c4.09961 -1.7998 8.2998 -2.40039 12.5 -2.40039c22.7002 0 46.5996 15.5 52.5996 15.5zM397.8 416c27.5 0 50.2002 -22.7002 50.2002 -50.2002v-347.6c0 -27.5 -22.7002 -50.2002 -50.2002 -50.2002h-347.6
c-27.5 0 -50.2002 22.7002 -50.2002 50.2002v347.6c0 27.5 22.7002 50.2002 50.2002 50.2002h347.6zM412.1 18.2998v347.601c0 7.69922 -6.5 14.2998 -14.2998 14.2998v-0.100586h-347.6c-7.7002 0 -14.2998 -6.5 -14.2998 -14.2998v-347.5
c0 -7.7002 6.5 -14.2998 14.2998 -14.2998h347.6c7.7002 0 14.2998 6.5 14.2998 14.2998z" />
    <glyph glyph-name="accessible-icon" unicode="&#xf368;" 
d="M423.9 192.2l-12.9004 -157.3c-3.2998 -40.7002 -63.9004 -35.1006 -60.5996 4.89941l10 122.5l-41.1006 -2.2998c10.1006 -20.7002 15.7998 -43.9004 15.7998 -68.5c0 -41.2002 -16.0996 -78.7002 -42.2998 -106.5l-39.2998 39.2998
c57.9004 63.7002 13.0996 167.2 -74 167.2c-25.9004 0 -49.5 -9.90039 -67.2002 -26l-39.2998 39.2998c22 20.7002 50.0996 35.1006 81.4004 40.2002l75.2998 85.7002l-42.6006 24.7998l-51.5996 -46c-30 -26.7998 -70.5996 18.5 -40.5 45.4004l68 60.6992
c9.7998 8.80078 24.0996 10.2002 35.5 3.60059c0 0 139.3 -80.9004 139.5 -81.1006c16.2002 -10.0996 20.7002 -36 6.09961 -52.5996l-58.3994 -66.5l106.1 5.90039c18.5 1.09961 33.6006 -14.4004 32.1006 -32.7002zM359 346.2
c-28.0996 0 -50.9004 22.7998 -50.9004 50.8994c0 28.1006 22.8008 50.9004 50.9004 50.9004s50.9004 -22.7998 50.9004 -50.9004c0 -28.0996 -22.8008 -50.8994 -50.9004 -50.8994zM179.6 -8.5c20.8008 0 40.1006 6.40039 56.1006 17.2998l39.7002 -39.7002
c-100.7 -78.8994 -251.4 -8.19922 -251.4 122.5c0 36.1006 12.4004 69.4004 33.2002 95.7002l39.7002 -39.7002c-44.7002 -65.5 2.09961 -156.1 82.6992 -156.1z" />
    <glyph glyph-name="accusoft" unicode="&#xf369;" horiz-adv-x="640" 
d="M322.1 196c-1.69922 -1.59961 -89.5996 -82.5 -90.1992 -83.2998l-92.6006 -33.7998c-4.7998 -2 -7.59961 -3.7002 -7 -8.90039c0.200195 -1.5 0.600586 -22.5996 1 -27.7002c-0.700195 -0.5 -0.0996094 0 -0.599609 -0.599609c0 0 -113.7 -36.6006 -114.5 -36.6006
c-14.1006 -5.09961 -22.7002 -8.2998 -15.7002 1.7002c1.2998 1.7998 234.4 231.601 243.4 240.9c13 13.5 25 15.0996 25 15.0996l51.1992 -65.7998v-1zM482.2 75.9004c-5.7002 6.89941 -232.2 297.1 -239.9 306.6c-13.7002 17.2002 0 16.7998 19.2002 16.9004
c9.7002 0.0996094 106.3 0.599609 116.5 0.599609c24.0996 0.0996094 28.7002 -0.599609 38.4004 -12.7998c2.09961 -2.7002 205.1 -245.8 207.199 -248.3c5.5 -6.7002 15.2002 -19.1006 7.2002 -23.4004c-2.39941 -1.2998 -114.6 -47.7002 -117.8 -48.9004
c-10.0996 -4 -17.5 -6.7998 -30.7998 9.30078zM634.9 74.2998c6 -1.39941 7.09961 -4.2002 1.69922 -8.2002c-2 -1.39941 -123.699 -76.5996 -125.8 -77.7998c-15.0996 -8.7998 -38 -1.59961 -53.5996 1.7002c-7.10059 1.5 -305.3 68.2998 -308 69.0996
c-2.60059 0.900391 -4.40039 1 -4.60059 3.5c-0.299805 4 6 5.60059 11.1006 7.60059c5 1.89941 145.3 52.5996 150.2 54.7002c4.7998 2.09961 11.2998 2.69922 14.3994 2.89941c4.90039 0.299805 59.9004 -8.39941 65.2998 -9.2998l57.1006 -74
c9.7998 -11.4004 20.7002 -21.9004 36.7002 -14.5996c2.5 1.19922 117.5 51.5996 117.5 51.5996c13.3994 -2.5 35.6992 -6.90039 38 -7.2002z" />
    <glyph glyph-name="adversal" unicode="&#xf36a;" horiz-adv-x="512" 
d="M482.1 416c24.5 0 29.9004 -5.59961 29.9004 -30.2002v-388.1c0 -24.5 -5.5 -29.7002 -29.9004 -29.7002h-453.399c-22.9004 0 -28.7002 5.59961 -28.7002 28.9004v390.199c0 23 5.7998 28.9004 28.7002 28.9004h453.399zM178.4 227.7
c9.39941 -7.2002 12.3994 -17.1006 11.2998 -27.2998c-1.7998 -19.1006 -75.7998 -11.4004 -114 -30.9004c-27.2002 -13.9004 -42.7002 -41.7002 -39.6006 -71c6.7002 -64.7002 89.6006 -79.7002 147 -43.2998c4.60059 3.2002 8.30078 4.89941 11.9004 1
c2.09961 -2.60059 2 -4 3.90039 -6.2002c7.2998 -9.59961 38.1992 -14.0996 46.5996 -7.40039c3.09961 2.80078 4.59961 6.30078 2.7002 10.7002c-13.6006 30.5 -6.60059 63 -9.2998 88.7998c0 69.3008 6.39941 111.7 -34.5 128.5
c-41.9004 17.4004 -84.2002 16.6006 -125.301 -4.7998c-16.2998 -9 -53.6992 -52.8994 -24.8994 -64.2998c5.2998 -2.2998 12.7998 -4 22.5 -5.5c8.2002 -1.2002 13.2002 -2.7998 17.5 8.2998c12.0996 32.1006 56.7002 43.6006 84.2002 23.4004zM465.1 5.7002
c0 14.2998 -9.7998 9.89941 -16.5996 9.89941c-132.3 0.400391 -264.5 0.400391 -396.8 0c-6.60059 0 -16.7002 4.80078 -17.1006 -9.09961c-0.399414 -15.5 10.4004 -10.7002 17.8008 -10.7002h394.899c6.7002 0 17.7998 -5.2002 17.7998 9.90039zM468.9 346.2
c0 0.200195 0 0.299805 0.0996094 0.5c0 9.89941 -3.5 15.0996 -13.5996 14.2998c-3.10059 -0.400391 -6.60059 0 -9.7002 0c-26.1006 0 -26 0 -26 -26.2002v-71c-79.2002 45.6006 -124.3 -6.59961 -136.101 -30.5c-16.3994 -32.8994 -21.7998 -66.5996 -15.6992 -100
c16.2998 -92.2998 91 -114.899 144.399 -85.2002c4.60059 2.80078 6.60059 7.5 12.4004 -1.19922c8.59961 -12.7002 23.7002 -5.2002 36.0996 -5.60059c7.40039 0 8.10059 8.2002 8.10059 13.9004v291zM417.4 113.9c-19.5 -47.6006 -72.9004 -43.3008 -90 -5.2002
c-15.1006 33.2998 -15.5 68.2002 0.399414 101.5c16.2998 34.0996 59.7002 35.7002 81.5 4.7998c20.6006 -28.7998 14.9004 -84.5996 8.10059 -101.1zM122.6 78.5996c-7.5 1.30078 -33 3.30078 -33.6992 27.8008c-0.400391 13.8994 7.7998 23 19.7998 25.7998
c24.3994 5.89941 49.2998 9.89941 73.7002 14.7002c8.89941 2 7.39941 -4.40039 7.7998 -9.5c1.39941 -33 -26.1006 -59.2002 -67.6006 -58.8008z" />
    <glyph glyph-name="affiliatetheme" unicode="&#xf36b;" horiz-adv-x="512" 
d="M159.7 210.6c-51.2998 -70.8994 -116.601 -110.8 -145.7 -89.1992c-29.2002 21.6992 -11.2002 96.5996 40.2002 167.5c51.2998 70.8994 116.6 110.8 145.7 89.1992c29.0996 -21.5996 11.0996 -96.5996 -40.2002 -167.5zM510.9 267.9
c0.699219 -8.2002 1.09961 -16.5 1 -25c0 -151.801 -121.601 -274.9 -271.601 -274.9c-82.8994 0 -157.2 37.5996 -207 96.9004c71.2998 19.3994 130.5 68.3994 164.101 133.199c7.69922 -32.5996 24 -58.5996 49 -73.7998c72.5996 -44.0996 190.699 20.2002 264.5 143.601z
" />
    <glyph glyph-name="algolia" unicode="&#xf36c;" 
d="M229.3 265.4c49.2002 0 89.2002 -39.9004 89.2002 -89.2002s-39.9004 -89.2002 -89.2002 -89.2002s-89.2002 39.9004 -89.2002 89.2002s39.9004 89.2002 89.2002 89.2002zM292 208.8c1.2998 0.700195 1.7998 2.40039 1.09961 3.7002
c-12.1992 21.4004 -34.8994 36.0996 -61.0996 37.0996c-1.40039 0.100586 -2.7002 -1.09961 -2.7002 -2.59961v-66.5c0 -1.90039 2 -3.2002 3.7998 -2.2998zM389.1 416c32.5 0 58.9004 -26.4004 58.8008 -58.9004v-330.199c0 -32.5 -26.3008 -58.9004 -58.9004 -58.9004
h-330.1c-32.5 0 -58.9004 26.4004 -58.9004 59v330.1c0 32.5 26.4004 58.9004 58.9004 58.9004h330.199zM186.5 331.3h0.0996094v-15.7998c0 -1.7002 1.7002 -3 3.40039 -2.5c12.7002 3.7002 25.9004 5.5 39.4004 5.5c13 0 25.7998 -1.7002 38.0996 -5.09961
c1.59961 -0.5 3.2998 0.699219 3.2998 2.5v15.3994c0 10.7998 -8.7002 19.5 -19.5 19.5h-45.2998c-10.7998 0 -19.5 -8.7002 -19.5 -19.5zM102.1 294.3c-7.59961 -7.59961 -7.59961 -19.8994 0 -27.3994l7.7002 -7.7002c1.10059 -1.2002 3 -1 4 0.299805
c4.40039 6.09961 9.40039 12 14.7998 17.4004c5.5 5.5 11.4004 10.3994 17.6006 14.8994c1.2998 1 1.39941 2.90039 0.299805 4l-7.7002 7.7002c-7.59961 7.59961 -19.8994 7.59961 -27.5 0zM229.3 49.5c69.9004 0 126.601 56.7998 126.601 126.6
c0 70 -56.6006 126.601 -126.601 126.601c-69.8994 0 -126.6 -56.7002 -126.6 -126.601c0 -69.8994 56.5996 -126.6 126.6 -126.6z" />
    <glyph glyph-name="amilia" unicode="&#xf36d;" 
d="M240.1 416c134.101 0 191.9 -55.7002 192 -136v-296.6c0 -3 -1 -8.10059 -5.09961 -9.10059c-4 -1 -57.2998 -0.700195 -66.5 -0.700195s-56.7998 1 -59.9004 2c-4 0.900391 -6.09961 6.10059 -6.09961 9.10059v25.3994
c-39.5996 -21.3994 -105.5 -42.0996 -153.3 -42.0996c-109.7 0 -124.9 85.7002 -124.9 104s-5.09961 95.5 30.4004 111.8c31.5 13.2002 156.3 36.5 243.7 47.7998v38.5c0 44.7002 -1 73.1006 -58.9004 73.1006c-55.7998 0 -119.8 -25.4004 -152.3 -47.7002
c-6.10059 -4.09961 -16.2002 -4.09961 -20.2998 6.09961c-5.10059 12.2002 -9.10059 34.5 -10.2002 39.6006c-1.90039 10.2002 2.09961 16.2998 7.2002 19.3994c52.6992 38.5 122.3 55.4004 184.199 55.4004zM290.3 68v106.7c-44.7002 -4.10059 -95.5 -20.2998 -119.8 -33.5
c-21.2998 -10.2002 -18.2998 -40.7002 -18.2998 -52.9004c0.0996094 -11.2002 6.2002 -44.7002 59 -44.7002c30.3994 0 57.7002 11.2002 79.0996 24.4004z" />
    <glyph glyph-name="angrycreative" unicode="&#xf36e;" horiz-adv-x="640" 
d="M640 209.8l-3.2002 -28.2002l-34.5 -2.2998l-2 -18.0996l34.5 2.2998l-3.2002 -28.2002l-34.3994 -2.2002l-2.2998 -20.0996l34.3994 2.2002l-3 -26.1006l-64.7002 -4.09961l12.7002 113.2l-47.2998 -115.4l-31.9004 -2l-23.7998 117.8l30.2998 2l13.6006 -79.3994
l31.7002 82.3994zM426.8 76.5l12.7998 120l28.4004 1.90039l-12.9004 -120.101zM162 59.9004l-19.4004 36l-3.5 -37.4004l-28.1992 -1.7002l2.69922 29.1006c-11 -18 -32 -34.3008 -56.8994 -35.8008c-32.7998 -2 -59.7002 20.9004 -56.4004 58.2002
c2.60059 29.2998 26.7002 62.7998 67.5 65.4004c37.7002 2.39941 47.6006 -23.2002 51.2998 -28.7998l2.80078 30.7998l38.8994 2.5c20.1006 1.2998 38.7002 -3.7002 42.5 -23.7002l2.60059 26.5996l64.7998 4.2002l-2.7002 -27.8994l-36.4004 -2.40039l-1.69922 -17.9004
l36.3994 2.30078l-2.7002 -27.9004l-36.3994 -2.2998l-1.90039 -19.9004l36.2998 2.2998l-2.09961 -20.7998l55 117.2l23.7998 1.59961l32.1006 -110.6l8.89941 85.5996l-22.2998 -1.39941l2.90039 27.8994l75 4.90039l-3 -28l-24.3008 -1.59961l-9.69922 -91.9004
l-58 -3.7002l-4.30078 15.6006l-39.3994 -2.5l-8 -16.3008zM117.7 130.1l-26.4004 -1.69922c-6.7002 12.3994 -14.3994 16.5996 -26.2998 15.7998c-19 -1.2002 -33.2998 -17.5 -34.5996 -33.2998c-1.40039 -16 7.2998 -32.5 28.6992 -31.2002
c12.8008 0.799805 21.3008 8.59961 28.9004 18.8994l27 1.7002zM173.8 137.8c1.2002 12.9004 -7.59961 13.6006 -26.0996 12.4004l-2.7002 -28.5c14.2002 0.899414 27.5 2.09961 28.7998 16.0996zM194.9 67l5.7998 60c-5 -13.5 -14.7002 -21.0996 -27.9004 -26.5996z
M330.3 112l-7.89941 37.7998l-15.8008 -39.2998zM160.2 186.6l-4.2998 17.5l-39.6006 -2.59961l-8.09961 -18.2002l-31.9004 -2.09961l57 121.899l23.9004 1.60059l30.7002 -102l9.89941 104.7l27 1.7998l37.7998 -63.6006l6.5 66.6006l28.5 1.89941l-4 -41.1992
c7.40039 13.5 22.9004 44.6992 63.6006 47.5c40.5 2.7998 52.3994 -29.3008 53.3994 -30.3008l3.30078 32l39.2998 2.7002c12.7002 0.900391 27.7998 -0.299805 36.2998 -9.7002l-4.40039 11.9004l32.2002 2.2002l12.9004 -43.2002l23 45.7002l31 2.2002l-43.6006 -78.4004
l-4.7998 -44.2998l-28.3994 -1.90039l4.7998 44.2998l-15.7998 43c1 -22.2998 -9.2002 -40.0996 -32 -49.5996l25.1992 -38.7998l-36.3994 -2.40039l-19.2002 36.7998l-4 -38.2998l-28.4004 -1.89941l3.30078 31.5c-6.7002 -9.30078 -19.7002 -35.4004 -59.6006 -38
c-26.2002 -1.7002 -45.5996 10.2998 -55.3994 39.1992l-4 -40.2998l-25 -1.59961l-37.6006 63.2998l-6.2998 -66.2002zM436.8 268.7c10.2002 0.700195 17.5 2.09961 21.6006 4.2998c4.5 2.40039 7 6.40039 7.59961 12.0996
c0.599609 5.30078 -0.599609 8.80078 -3.40039 10.4004c-3.59961 2.09961 -10.5996 2.7998 -22.8994 2zM327.7 234c5.59961 -5.90039 12.7002 -8.5 21.2998 -7.90039c4.7002 0.300781 9.09961 1.80078 13.2998 4.10059c5.5 3 10.6006 8 15.1006 14.2998l-34.2002 -2.2998
l2.39941 23.8994l63.1006 4.30078l1.2002 12l-31.2002 -2.10059c-4.10059 3.7002 -7.7998 6.60059 -11.1006 8.10059c-4 1.69922 -8.09961 2.7998 -12.1992 2.5c-8 -0.5 -15.3008 -3.60059 -22 -9.2002c-7.7002 -6.40039 -12 -14.5 -12.9004 -24.4004
c-1.09961 -9.59961 1.40039 -17.2998 7.2002 -23.2998zM126.4 225.8l23.7998 1.60059l-8.2998 37.5996z" />
    <glyph glyph-name="app-store" unicode="&#xf36f;" horiz-adv-x="512" 
d="M255.9 327.1l9.09961 15.7002c5.59961 9.7998 18.0996 13.1006 27.9004 7.5c9.7998 -5.59961 13.0996 -18.0996 7.5 -27.8994l-87.5 -151.5h63.2998c20.5 0 32 -24.1006 23.0996 -40.8008h-185.5c-11.2998 0 -20.3994 9.10059 -20.3994 20.4004
s9.09961 20.4004 20.3994 20.4004h52l66.6006 115.399l-20.8008 36.1006c-5.59961 9.7998 -2.2998 22.1992 7.5 27.8994c9.80078 5.60059 22.2002 2.2998 27.9004 -7.5zM177.2 109.1l-19.6006 -34c-5.59961 -9.7998 -18.0996 -13.0996 -27.8994 -7.5
c-9.7998 5.60059 -13.1006 18.1006 -7.5 27.9004l14.5996 25.2002c16.4004 5.09961 29.7998 1.2002 40.4004 -11.6006zM346.1 170.8h53.1006c11.2998 0 20.3994 -9.09961 20.3994 -20.3994c0 -11.3008 -9.09961 -20.4004 -20.3994 -20.4004h-29.5l19.8994 -34.5
c5.60059 -9.7998 2.30078 -22.2002 -7.5 -27.9004c-9.7998 -5.59961 -22.1992 -2.2998 -27.8994 7.5c-33.5 58.1006 -58.7002 101.601 -75.4004 130.601c-17.0996 29.5 -4.89941 59.0996 7.2002 69.0996c13.4004 -23 33.4004 -57.7002 60.0996 -104zM256 440
c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM472 192c0 119.9 -97.2998 216 -216 216c-119.9 0 -216 -97.2998 -216 -216c0 -119.9 97.2998 -216 216 -216c119.9 0 216 97.2998 216 216z" />
    <glyph glyph-name="app-store-ios" unicode="&#xf370;" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM127 63.5l19.2998 33.2998c-10.2998 12.5 -23.5 16.2998 -39.5996 11.4004l-14.2998 -24.7002
c-5.5 -9.5 -2.30078 -21.7998 7.2998 -27.2998c9.5 -5.5 21.7998 -2.2998 27.2998 7.2998zM265.9 117.4c8.7998 16.2998 -2.5 40 -22.7002 40h-62.1006l85.8008 148.6c5.5 9.5 2.2998 21.7998 -7.30078 27.2998c-9.5 5.5 -21.7998 2.2998 -27.2998 -7.2998
l-8.89941 -15.4004l-8.90039 15.4004c-5.5 9.5 -17.7002 12.7998 -27.2998 7.2998c-9.5 -5.5 -12.7998 -17.7002 -7.2998 -27.2998l20.5 -35.4004l-65.4004 -113.199h-51c-11 0 -20 -9 -20 -20s9 -20 20 -20h181.9zM364 117.4c11 0 20 8.89941 20 20c0 11 -9 20 -20 20h-52
c-26.2002 45.2998 -45.7998 79.2998 -58.9004 102c-11.8994 -9.80078 -23.7998 -38.8008 -7.09961 -67.8008c16.5 -28.3994 41.0996 -71.1992 74 -128.1c5.5 -9.5 17.7002 -12.7998 27.2998 -7.2998c9.5 5.5 12.7998 17.7002 7.2998 27.2998l-19.5996 33.9004h29z" />
    <glyph glyph-name="apper" unicode="&#xf371;" horiz-adv-x="640" 
d="M42.0996 208.9c22.2002 0 29 -2.80078 33.5 -14.6006h0.800781v22.9004c0 11.2998 -4.80078 15.3994 -17.9004 15.3994c-11.2998 0 -14.4004 -2.5 -15.0996 -12.7998h-38.6006c0.299805 13.9004 1.5 19.1006 5.7998 24.4004
c7.30078 8.7998 18.9004 11.7998 46.1006 11.7998c33 0 47.0996 -5 53.8994 -18.9004c2 -4.2998 4 -15.5996 4 -23.6992v-76.3008h-38.2998l1.2998 19.1006h-1c-5.2998 -15.6006 -13.5996 -20.4004 -35.5 -20.4004c-30.2998 0 -41.0996 10.1006 -41.0996 37.2998
c0 25.2002 12.2998 35.8008 42.0996 35.8008zM59.2002 160.8c13.0996 0 16.8994 3 16.8994 13.4004c0 9.09961 -4.2998 11.5996 -19.5996 11.5996c-13.0996 0 -17.9004 -3 -17.9004 -12.0996c-0.0996094 -10.4004 3.7002 -12.9004 20.6006 -12.9004zM137 255.7h38.2998
l-1.5 -20.6006h0.799805c9.10059 17.1006 15.9004 20.9004 37.5 20.9004c14.4004 0 24.7002 -3 31.5 -9.09961c9.80078 -8.60059 12.8008 -20.4004 12.8008 -48.1006c0 -30 -3 -43.0996 -12.1006 -52.8994c-6.7998 -7.30078 -16.3994 -10.1006 -33.2002 -10.1006
c-20.3994 0 -29.1992 5.5 -33.7998 21.2002h-0.799805v-70.2998h-39.5v169zM217.9 195c0 27.5 -3.30078 32.5 -20.7002 32.5c-16.9004 0 -20.7002 -5 -20.7002 -28.7002c0 -28 3.5 -33.5 21.2002 -33.5c16.3994 0 20.2002 5.60059 20.2002 29.7002zM275.8 255.7h38.2998
l-1.5 -20.6006h0.800781c9.09961 17.1006 15.8994 20.9004 37.5 20.9004c14.3994 0 24.6992 -3 31.5 -9.09961c9.7998 -8.60059 12.7998 -20.4004 12.7998 -48.1006c0 -30 -3 -43.0996 -12.1006 -52.8994c-6.7998 -7.30078 -16.3994 -10.1006 -33.2998 -10.1006
c-20.3994 0 -29.2002 5.5 -33.7998 21.2002h-0.799805v-70.2998h-39.5v169h0.0996094zM356.7 195c0 27.5 -3.2998 32.5 -20.7002 32.5c-16.9004 0 -20.7002 -5 -20.7002 -28.7002c0 -28 3.5 -33.5 21.2002 -33.5c16.4004 0 20.2002 5.60059 20.2002 29.7002zM410.5 198.8
c0 25.4004 3.2998 37.7998 12.2998 45.7998c8.7998 8.10059 22.2002 11.3008 45.1006 11.3008c42.7998 0 55.6992 -12.8008 55.6992 -55.7002v-11.1006h-75.2998c-0.299805 -2 -0.299805 -4 -0.299805 -4.7998c0 -16.8994 4.5 -21.8994 20.0996 -21.8994
c13.9004 0 17.9004 3 17.9004 13.8994h37.5v-2.2998c0 -9.7998 -2.5 -18.9004 -6.7998 -24.7002c-7.2998 -9.7998 -19.6006 -13.5996 -44.2998 -13.5996c-27.5 0 -41.6006 3.2998 -50.6006 12.2998c-8.5 8.5 -11.2998 21.2998 -11.2998 50.7998zM486.9 210.4
c-0.300781 1.7998 -0.300781 3.2998 -0.300781 3.7998c0 12.2998 -3.2998 14.5996 -19.5996 14.5996c-14.4004 0 -17.0996 -3 -18.0996 -15.0996l-0.300781 -3.2998h38.3008zM542.5 255.7h38.2998l-1.7998 -19.9004h0.700195
c6.7998 14.9004 14.3994 20.2002 29.7002 20.2002c10.7998 0 19.0996 -3.2998 23.3994 -9.2998c5.2998 -7.2998 6.7998 -14.4004 6.7998 -34c0 -1.5 0 -5 0.200195 -9.2998h-35c0.299805 1.7998 0.299805 3.2998 0.299805 4c0 15.3994 -2 19.3994 -10.2998 19.3994
c-6.2998 0 -10.7998 -3.2998 -13.0996 -9.2998c-1 -3 -1 -4.2998 -1 -12.2998v-68h-38.2998v118.5h0.0996094z" />
    <glyph glyph-name="asymmetrik" unicode="&#xf372;" horiz-adv-x="576" 
d="M517.5 138.8c-13.9004 -14.2998 -30.4004 -27.7002 -48.9004 -39.7998l73.4004 -110.4h-101.6l-45.9004 71.8008c-17.5996 -7.2002 -35.9004 -13.4004 -54.5 -18.7002l32.5996 -53.1006h-135.5l22.8008 37.1006c-23.3008 -2.7002 -46.4004 -3.7002 -68.6006 -2.7002
l-22 -34.4004h-101.6l34.5 51.7002c-45 17.9004 -68.9004 47.9004 -68.4004 83c0.299805 25.7998 14 54.2998 41.7002 82.9004c38.9004 40 96.5 72.5996 161.6 92.8994c-22.2998 -8.09961 -42 -18.5 -62 -30.6992c-31.1992 -16.2002 -58.6992 -35.9004 -79.5 -58.1006
c-57.3994 -61 -46.5 -121.8 19.1006 -151.2l190.2 285.5l150.899 -226.399c13 9.5 24.7998 19.7998 35 30.5996c98 104.2 53.7002 207.9 -98.7998 231.7c-68.2998 10.5996 -146.8 5.7002 -221.3 -14.7998c-60.1006 -10 -118.7 -31.7002 -170.7 -58.2002
c118.1 66.9004 277.9 102.1 406.6 82.4004c110 -16.8008 170.2 -69.5 169.4 -135c-0.400391 -36.1006 -19.7002 -76.1006 -58.5 -116.101zM329.9 58.2998c18.3994 5.2998 36.5 11.7998 53.6992 19.2002l-78.6992 123l-101.9 -159.3
c22.5 -0.700195 45.7998 0.899414 69.2002 4.39941l32.7002 53.3008z" />
    <glyph glyph-name="audible" unicode="&#xf373;" horiz-adv-x="640" 
d="M640 248.1v-54l-320 -200l-320 199.9v54l320 -200zM445.5 176.1c-70.7998 94.4004 -200.5 110.7 -290.2 36.3008c-2.59961 -2.2002 -5.2002 -4.40039 -7.7002 -6.7002h-0.299805c37.1006 55.7002 100.601 92.3994 172.601 92.3994s135.5 -36.7998 172.699 -92.5996z
M225.4 157.3c21 29.6006 55.5 49 94.3994 49c39.2002 0 73.9004 -19.5996 94.7998 -49.5l-45.3994 -28.3994c-21.2002 29.1992 -52 47.5996 -86.4004 47.5996c-20.8994 0 -40.5 -6.7998 -57.3994 -18.7002zM103.6 286.9c-11.5 -9.10059 -24.2998 -22.1006 -34.1992 -32.6006
c53.8994 82.1006 147 135.601 250.5 135.601c104.899 0 197.199 -54 250.699 -135.7l-48.7998 -30.4004l-0.700195 1c-99.2998 138.5 -285.699 166.4 -417.5 62.1006zM570.6 254.2z" />
    <glyph glyph-name="avianex" unicode="&#xf374;" horiz-adv-x="512" 
d="M453.1 416c39 0 64.8008 -31.2002 57.8008 -69.7998l-56.7002 -308.5c-7.10059 -38.5 -44.4004 -69.7002 -83.2998 -69.7002h-312c-39 0 -64.8008 31.2002 -57.7002 69.7002l56.5996 308.6c7.10059 38.5 44.4004 69.7002 83.2998 69.7002h312zM394.9 68.7002
l6.2998 7.89941l-94.9004 119.4l-4.5 7.2998c19.7998 14.2002 33.5 24.2998 35.2998 25.6006c7.90039 6.59961 6.30078 20.7998 -2.69922 31.2998c-9.2002 10.7998 -23 14.3994 -30.7002 7.89941c0 0 -14.4004 -13.5996 -33.7998 -32.3994l-4.90039 4.5l-103.1 112.399
l-8.90039 -4.7998l-18.7998 -28.8994l68.7998 -99.8008l20.5 -29.5996c-12 -12.2998 -23.5 -24.4004 -32.7998 -34.9004l-58 31.1006l-15.7002 -15.4004l52.4004 -48.0996l40.5996 -61l17.9004 12.7002l-22.1006 64.1992c12.5 7.60059 27 17.1006 41.7002 27.1006
l115.4 -110z" />
    <glyph glyph-name="aws" unicode="&#xf375;" horiz-adv-x="640" 
d="M180.41 244.99c-0.719727 -22.6504 10.5996 -32.6807 10.8799 -39.0498c-0.276367 -2.69141 -1.85352 -4.99902 -4.09961 -6.27051l-12.8008 -8.95996c-1.60352 -1.12402 -3.54785 -1.82422 -5.62988 -1.91992c-0.429688 0.0195312 -8.18945 -1.83008 -20.4795 25.6104
c-14.4111 -17.9883 -36.5596 -29.5156 -61.3789 -29.5156c-0.427734 0 -0.804688 0.0585938 -1.23145 0.0654297c-16.2803 -0.890625 -60.4004 9.24023 -58.1299 56.21c-1.58984 38.2803 34.0596 62.0596 70.9297 60.0498
c7.10059 -0.0195312 21.6006 -0.370117 46.9902 -6.26953v15.6191c2.69043 26.46 -14.7002 46.9902 -44.8096 43.9102c-2.40039 -0.00976562 -19.4004 0.5 -45.8408 -10.1094c-7.35938 -3.37988 -8.2998 -2.82031 -10.75 -2.82031
c-7.40918 0 -4.35938 21.4795 -2.93945 24.2002c5.20996 6.39941 35.8604 18.3496 65.9395 18.1797c2.25586 0.199219 4.53906 0.301758 6.84668 0.301758c18.5547 0 35.5566 -6.61719 48.8438 -17.582c11.1152 -12.4326 17.877 -28.8398 17.877 -46.8135
c0 -1.87891 -0.0615234 -3.70508 -0.207031 -5.5459zM93.9902 212.6c32.4297 0.470703 46.1602 19.9707 49.29 30.4707c2.45996 10.0498 2.0498 16.4102 2.0498 27.3994c-9.66992 2.32031 -23.5898 4.85059 -39.5605 4.87012
c-15.1494 1.14062 -42.8193 -5.62988 -41.7393 -32.2598c-1.24023 -16.79 11.1201 -31.4004 29.96 -30.4805zM264.91 189.55c-7.86035 -0.719727 -11.5205 4.86035 -12.6797 10.3701l-49.8008 164.65c-0.969727 2.7793 -1.60938 5.64941 -1.91992 8.58008
c-0.0341797 0.227539 -0.0527344 0.459961 -0.0527344 0.697266c0 2.30566 1.70117 4.21387 3.91309 4.55273c0.240234 0.0400391 -2.12988 0 22.25 0c8.78027 0.879883 11.6396 -6.03027 12.5498 -10.3701l35.7197 -140.83l33.1602 140.83
c0.530273 3.21973 2.94043 11.0693 12.7998 10.2393h17.1602c2.16992 0.180664 11.1104 0.5 12.6807 -10.3691l33.4199 -142.631l36.8701 142.631c0.479492 2.17969 2.71973 11.3691 12.6797 10.3691h19.7197c0.850586 0.130859 6.15039 0.810547 5.25 -8.5791
c-0.429688 -1.85059 3.41016 10.6592 -52.75 -169.9c-1.14941 -5.50977 -4.82031 -11.0898 -12.6797 -10.3701h-18.6904c-10.9395 -1.15039 -12.5098 9.66016 -12.6797 10.75l-33.1602 137.13l-32.7803 -136.99c-0.15918 -1.08984 -1.72949 -11.8994 -12.6797 -10.75
h-18.2998v-0.00976562zM538.39 183.92c-5.87988 -0.00976562 -33.9199 0.299805 -57.3594 12.29c-4.59375 1.94531 -7.81934 6.49609 -7.81934 11.7949c0 0.0410156 0.00878906 0.0742188 0.00878906 0.115234v10.75c0 8.4502 6.2002 6.89941 8.83008 5.88965
c10.04 -4.05957 16.4805 -7.13965 28.8105 -9.59961c36.6494 -7.53027 52.7695 2.2998 56.7197 4.47949c13.1504 7.81055 14.1895 25.6807 5.25 34.9502c-10.4805 8.79004 -15.4805 9.12012 -53.1299 21c-4.64062 1.29004 -43.7002 13.6104 -43.79 52.3604
c-0.610352 28.2402 25.0498 56.1797 69.5195 55.9502c12.6699 0.00976562 46.4307 -4.13086 55.5703 -15.6201c1.34961 -2.08984 2.01953 -4.5498 1.91992 -7.04004v-10.1104c0 -4.43945 -1.62012 -6.66016 -4.87012 -6.66016
c-7.70996 0.860352 -21.3896 11.1699 -49.1602 10.75c-6.88965 0.360352 -39.8896 -0.910156 -38.4092 -24.9697c-0.430664 -18.96 26.6094 -26.0703 29.6992 -26.8896c36.46 -10.9707 48.6504 -12.79 63.1201 -29.5801c17.1406 -22.25 7.90039 -48.2998 4.35059 -55.4404
c-19.0801 -37.4902 -68.4199 -34.4395 -69.2607 -34.4199zM578.59 79.0596c-70.0303 -51.7197 -171.689 -79.25 -258.49 -79.25c-1.0498 -0.00683594 -2.10059 -0.00976562 -3.15234 -0.00976562c-120.699 0 -230.949 45.7383 -314.117 120.74
c-6.53027 5.88965 -0.770508 13.96 7.16992 9.46973c93.1143 -53.2637 200.925 -83.7148 315.791 -83.7148c0.138672 0 0.950195 -0.405273 1.08887 -0.405273c85.4404 0.458984 167.381 18.2432 241.59 49.5508c11.7803 5 21.7705 -7.80078 10.1201 -16.3809z
M607.78 112.35c-8.95996 11.5205 -59.2803 5.38086 -81.8105 2.69043c-6.79004 -0.770508 -7.93945 5.12012 -1.79004 9.46973c40.0703 28.1699 105.88 20.1006 113.44 10.6299c7.5498 -9.46973 -2.0498 -75.4092 -39.5605 -106.909
c-5.75977 -4.87012 -11.2695 -2.30078 -8.70996 4.09961c8.44043 21.25 27.3906 68.4902 18.4307 80.0195z" />
    <glyph glyph-name="bimobject" unicode="&#xf378;" 
d="M416 416c17.5996 0 32 -14.4004 32 -32v-384c0 -17.5996 -14.4004 -32 -32 -32h-384c-17.5996 0 -32 14.4004 -32 32v384c0 17.5996 14.4004 32 32 32h384zM352 158.6h-0.0996094v35c0 49.4004 -11.4004 82.5 -103.801 82.5h-17.2998
c-30 0 -65.0996 -8.2998 -69.7002 -38.7998h-1.09961v74.7002h-64v-232h64v34.7998h0.900391c8 -23.8994 26.2998 -38.7998 70.3994 -38.7998h16.9004c92.3994 0 103.8 33.2002 103.8 82.5996zM288 187.5v-22.9004c0 -21.6992 -3.40039 -33.7998 -38.4004 -33.7998h-45.2998
c-28.8994 0 -44.0996 6.5 -44.0996 35.7002v19c0 29.2998 15.2002 35.7002 44.0996 35.7002h45.2998c35 0.200195 38.4004 -12 38.4004 -33.7002z" />
    <glyph glyph-name="bitcoin" unicode="&#xf379;" horiz-adv-x="512" 
d="M504 192c0 -136.967 -111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248s248 -111.033 248 -248zM362.349 227.33c4.9375 32.999 -20.1904 50.7393 -54.5498 62.5732l11.1465 44.7021l-27.2129 6.78027l-10.8516 -43.5234
c-7.1543 1.78223 -14.502 3.46387 -21.8027 5.12988l10.9287 43.8096l-27.1982 6.78125l-11.1523 -44.6855c-5.92188 1.34863 -11.7354 2.68164 -17.377 4.08398l0.0302734 0.139648l-37.5293 9.37012l-7.23926 -29.0625s20.1914 -4.62695 19.7646 -4.91309
c11.0225 -2.75098 13.0146 -10.0439 12.6807 -15.8242l-12.6963 -50.9258c0.759766 -0.193359 1.74414 -0.472656 2.8291 -0.90625c-0.907227 0.224609 -1.87598 0.472656 -2.87598 0.712891l-17.7959 -71.3379c-1.34961 -3.34863 -4.76758 -8.37012 -12.4717 -6.46484
c0.271484 -0.394531 -19.7793 4.9375 -19.7793 4.9375l-13.5107 -31.1475l35.4141 -8.82617c6.58887 -1.65137 13.0449 -3.37988 19.4004 -5.00684l-11.2617 -45.2129l27.1816 -6.78027l11.1533 44.7324c7.14062 -1.93457 14.4863 -3.84082 21.6865 -5.62695
l-11.1152 -44.5225l27.2139 -6.78125l11.2617 45.1279c46.4043 -8.78125 81.2988 -5.23926 95.9863 36.7266c11.8359 33.79 -0.589844 53.2812 -25.0049 65.9912c17.7803 4.09766 31.1748 15.792 34.7471 39.9492zM300.172 140.151
c-8.41016 -33.79 -65.3076 -15.5234 -83.7549 -10.9434l14.9443 59.8994c18.4453 -4.60352 77.5996 -13.7178 68.8105 -48.9561zM308.589 227.818c-7.67285 -30.7363 -55.0312 -15.1201 -70.3926 -11.292l13.5479 54.3262
c15.3633 -3.82715 64.8359 -10.9727 56.8447 -43.0342z" />
    <glyph glyph-name="bity" unicode="&#xf37a;" horiz-adv-x="496" 
d="M78.4004 380.8c95.3994 89.2002 246.1 91.2002 343.1 -3.7998c14.2998 -14.0996 -6.40039 -37.0996 -22.4004 -21.5c-84.7998 82.4004 -215.8 80.2998 -298.899 3.2002c-16.2998 -15.1006 -36.5 8.2998 -21.7998 22.0996zM177.3 -37.7998
c-128.7 38.2998 -201.899 170.7 -169.8 298.1c5.2998 21 35.2002 12.5 30.2002 -7.09961c-28.2998 -111.3 35.2998 -227.101 147.5 -261c21.3994 -6.40039 11.3994 -35.7002 -7.90039 -30zM325.4 -35.7998c-19.2002 -6.2998 -30 22.7002 -8.80078 29.7002
c106.101 35.5 167.4 145.699 143.2 253.399c-4.89941 21.7002 25.5 27.6006 30 7.90039c28.5 -124.101 -42.5 -250.8 -164.399 -291zM262.5 43.2002c0 -8.2002 -6.59961 -14.7998 -14.7998 -14.7998s-14.7998 6.59961 -14.7998 14.7998l0.199219 71.7998
c0 8.09961 6.60059 14.7998 14.8008 14.7998c8.19922 0 14.7998 -6.59961 14.7998 -14.7998zM333.5 312.2c0 21.7998 32.5 19.5996 32.5 0v-71.6006c0 -69.2998 -60.7002 -90.8994 -118 -90.0996c-57.2998 -0.799805 -118 20.7998 -118 90.0996v71.6006
c0 19.5996 32.5 21.7998 32.5 0c-1.40039 -88.2002 -7 -131.8 85.5 -132.5c90.2002 0.599609 87.5996 41.5996 85.5 132.5z" />
    <glyph glyph-name="blackberry" unicode="&#xf37b;" horiz-adv-x="512" 
d="M166 331.1c0 -23.3994 -16.4004 -49.0996 -72.5 -49.0996h-70.0996l21 88.7998h67.7998c42.0996 0 53.7998 -23.2998 53.7998 -39.7002zM292.2 370.8c42.0996 0 53.7998 -23.2998 53.7002 -39.7002c0 -23.3994 -16.3008 -49.0996 -70.1006 -49.0996h-70.0996
l18.7002 88.7998h67.7998zM88.7998 239.9c42.1006 0 53.7998 -23.4004 53.7998 -39.7002c0 -25.7002 -16.3994 -49.1006 -72.5 -49.1006h-70.0996l21 88.8008h67.7998zM268.9 239.9c42 0 53.6992 -23.4004 53.6992 -39.7002c0 -25.7002 -16.2998 -49.1006 -70.0996 -49.1006
h-70.0996l18.6992 88.8008h67.8008zM458.2 293.7c42.0996 0 53.7998 -23.4004 53.7002 -39.7002c0 -25.7002 -16.3008 -49.0996 -70.1006 -49.0996h-70.0996l18.7002 88.7998h67.7998zM430.2 155.8c42.0996 0 53.7002 -23.3994 53.7002 -39.7002
c0 -25.6992 -14 -49.0996 -70.1006 -49.0996h-70.0996l18.7002 88.7998h67.7998zM240.8 102c42.1006 0 53.7998 -23.4004 53.7002 -39.7002c0 -23.3994 -14 -49.0996 -70.0996 -49.0996h-70.1006l18.7002 88.7998h67.7998z" />
    <glyph glyph-name="blogger" unicode="&#xf37c;" 
d="M162.4 252c4.7998 4.90039 6.19922 5.09961 36.3994 5.09961c27.2002 0 28.1006 -0.0996094 32.1006 -2.09961c5.7998 -2.90039 8.2998 -7 8.2998 -13.5996c0 -5.90039 -2.40039 -10 -7.60059 -13.4004c-2.7998 -1.7998 -4.5 -1.90039 -31.0996 -2.09961
c-16.4004 -0.100586 -29.5 0.199219 -31.5 0.799805c-10.2998 2.89941 -14.0996 17.7002 -6.59961 25.2998zM223.8 157.5c55.4004 0 55.1006 0 60.4004 -4.7002c7.39941 -7 5.89941 -19.2998 -3.10059 -24.3994l-9.19922 -1.5l-47.9004 -0.600586
c-42.2002 -0.5 -54.0996 0.200195 -56.2998 1.2002c-4.40039 1.90039 -8.5 7.2998 -9.2002 12c-0.599609 4.5 1.59961 10.7998 5.09961 13.9004c4.40039 3.89941 6.30078 4.09961 60.2002 4.09961zM447.2 27.4004c-3.5 -28.4004 -23 -50.4004 -51.1006 -57.5
c-7.19922 -1.80078 -9.69922 -1.90039 -172.899 -1.80078c-157.8 0 -165.9 0.100586 -172 1.80078c-8.40039 2.19922 -15.6006 5.5 -22.2998 10c-5.60059 3.7998 -13.9004 11.7998 -17 16.3994c-3.80078 5.60059 -8.2002 15.2998 -10 22
c-1.80078 6.7002 -1.90039 9.40039 -1.90039 173.4c0 163.1 0 166.6 1.7998 173.7c6.2998 24.6992 25.9004 43.5996 51.2002 49.1992c7.2998 1.60059 332.1 1.90039 340 0.300781c21.2002 -4.30078 37.9004 -17.1006 47.5996 -36.4004c7.7002 -15.2998 7 1.5 7.30078 -180.6
c0.199219 -115.801 0 -164.5 -0.700195 -170.5zM361.8 212.6c-1.09961 5 -4.2002 9.60059 -7.7002 11.5c-1.09961 0.600586 -8 1.30078 -15.5 1.7002c-12.3994 0.600586 -13.7998 0.799805 -17.7998 3.10059c-6.2002 3.59961 -7.89941 7.59961 -8 18.2998
c0 20.3994 -8.5 39.3994 -25.2998 56.5c-12 12.2002 -25.2998 20.5 -40.5996 25.0996c-3.60059 1.10059 -11.8008 1.5 -39.2002 1.7998c-42.9004 0.5 -52.5 -0.399414 -67.1006 -6.19922c-27 -10.7002 -46.2998 -33.4004 -53.3994 -62.4004
c-1.2998 -5.40039 -1.60059 -14.2002 -1.90039 -64.2998c-0.399414 -62.7998 0 -72.1006 4 -84.5c9.7002 -30.7002 37.1006 -53.4004 64.6006 -58.4004c9.19922 -1.7002 122.199 -2.09961 133.699 -0.5c20.1006 2.7002 35.9004 10.7998 50.7002 25.9004
c10.7002 10.8994 17.4004 22.7998 21.7998 38.5c3.2002 10.8994 2.90039 88.3994 1.7002 93.8994z" />
    <glyph glyph-name="blogger-b" unicode="&#xf37d;" 
d="M446.6 225.3c2 -8.89941 2.40039 -134.1 -2.5 -151.7c-7.09961 -25.2998 -17.8994 -44.3994 -35.1992 -62.0996c-23.9004 -24.4004 -49.4004 -37.5 -81.9004 -41.9004c-18.7002 -2.5 -201.2 -1.89941 -216 0.800781c-44.5 8 -88.7998 44.6992 -104.4 94.2998
c-6.2998 20.0996 -7 35 -6.39941 136.5c0.5 81 1 95.0996 3.09961 103.899c11.4004 46.8008 42.6006 83.4004 86.1006 100.601c23.5996 9.39941 39 10.7998 108.399 10c44.2002 -0.5 57.4004 -1.10059 63.2998 -2.90039c24.6006 -7.5 46.2002 -20.7998 65.5 -40.5
c27.1006 -27.5996 40.8008 -58.2998 40.9004 -91.2998c0.0996094 -17.2002 2.7998 -23.5996 12.9004 -29.5c6.39941 -3.7002 8.59961 -4.09961 28.6992 -5c12 -0.5 23.2002 -1.7002 25 -2.7002c5.7002 -3.09961 10.7002 -10.5 12.5 -18.5zM124.5 288.9
c-12.2002 -12.3008 -6 -36.1006 10.5996 -40.8008c3.10059 -0.799805 24.3008 -1.39941 50.8008 -1.19922c43 0.199219 45.6992 0.399414 50.2998 3.2998c8.5 5.39941 12.2998 12.0996 12.2998 21.5996c0 10.6006 -4.09961 17.2002 -13.4004 21.9004
c-6.39941 3.2998 -7.89941 3.39941 -51.7998 3.39941c-48.7998 0 -51 -0.299805 -58.7998 -8.19922zM316.3 89.0996c14.4004 8.2002 17 28.1006 4.90039 39.4004c-8.5 7.90039 -8 7.90039 -97.6006 7.7998c-87.0996 -0.0996094 -90.1992 -0.299805 -97.2998 -6.7002
c-5.59961 -5.09961 -9.2998 -15.0996 -8.2002 -22.3994c1.10059 -7.7002 7.80078 -16.2998 14.9004 -19.4004c3.59961 -1.59961 22.7998 -2.7998 90.9004 -2l77.5 0.900391z" />
    <glyph glyph-name="buromobelexperte" unicode="&#xf37f;" 
d="M0 416h128v-128h-128v128zM120 296v112h-112v-112h112zM160 416h128v-128h-128v128zM280 296v112h-112v-112h112zM320 416h128v-128h-128v128zM440 296v112h-112v-112h112zM0 256h128v-128h-128v128zM120 136v112h-112v-112h112zM160 256h128v-128h-128v128zM280 136v112
h-112v-112h112zM320 256h128v-128h-128v128zM440 136v112h-112v-112h112zM0 96h128v-128h-128v128zM120 -24v112h-112v-112h112zM160 96h128v-128h-128v128zM280 -24v112h-112v-112h112zM320 96h128v-128h-128v128z" />
    <glyph glyph-name="centercode" unicode="&#xf380;" horiz-adv-x="512" 
d="M329.2 179.4c-3.7998 -35.2002 -35.4004 -60.6006 -70.6006 -56.8008c-35.1992 3.80078 -60.5996 35.4004 -56.7998 70.6006s35.4004 60.5996 70.6006 56.7998c35.0996 -3.7998 60.5996 -35.4004 56.7998 -70.5996zM243.4 -55.7002
c-146.7 7.7002 -251.601 138.2 -233.301 279.4c11.2002 86.5996 65.8008 156.899 139.101 192c161 77.0996 349.7 -37.4004 354.7 -216.601c4.09961 -147 -118.4 -262.199 -260.5 -254.8zM423.3 124.3c27.9004 118 -160.5 205.9 -237.2 234.2
c-57.5 -56.2998 -69.0996 -188.6 -33.7998 -344.4c68.7998 -15.7998 169.101 26.4004 271 110.2z" />
    <glyph glyph-name="cloudscale" unicode="&#xf383;" 
d="M318.1 294c6.2002 6.2998 15.8008 -3.09961 9.5 -9.59961l-75.1992 -88.8008c0.899414 -8.19922 -1.80078 -16.7998 -8.10059 -23.0996c-11.0996 -11 -28.8994 -11 -40 0c-11.0996 11.0996 -11.0996 29 0 40c6.2998 6.2998 14.7998 9 23.1006 8.09961l25.1992 20.4004
c-16.3994 15.2998 -38.3994 24.7002 -62.5996 24.7002c-50.7998 0 -94.5996 -41.4004 -92.5996 -97.4004c-1 6.2998 -1.40039 12.7998 -1.40039 19.4004c0 71.5 57.7998 132.3 129.4 132.3c31.7998 0 60.7998 -14.2998 83.2998 -33.5996zM234.3 182.5
c5.60059 5.5 5.60059 14.5996 0 20.2002c-5.59961 5.59961 -14.5996 5.59961 -20.2002 0c-5.59961 -5.60059 -5.59961 -14.6006 0 -20.2002c5.60059 -5.5 14.6006 -5.5 20.2002 0zM224 416c123.5 0 224 -100.5 224 -224s-100.5 -224 -224 -224s-224 100.5 -224 224
s100.5 224 224 224zM224 32c88.2002 0 160 71.7998 160 160s-71.7998 160 -160 160s-160 -71.7998 -160 -160s71.7998 -160 160 -160z" />
    <glyph glyph-name="cloudsmith" unicode="&#xf384;" horiz-adv-x="332" 
d="M332.5 28.0996c0 -46.3994 -37.5996 -84.0996 -84 -84.0996s-84 37.7002 -84 84.0996c0 46.4004 37.5996 84 84 84s84 -37.5996 84 -84zM248.5 272c-46.4004 0 -80 -33.5996 -80 -80s-37.5996 -80 -84 -80s-84 33.5996 -84 80s37.5996 88 84 88s76 29.5996 76 76
s41.5996 84 88 84s80 -37.5996 80 -84s-33.5996 -84 -80 -84z" />
    <glyph glyph-name="cloudversify" unicode="&#xf385;" horiz-adv-x="616" 
d="M148.6 144v-0.0996094h-48.8994c-6.40039 0 -11.7002 5.39941 -11.7002 11.7998v40.3994c0 7.60059 7 11.9004 10.7998 11.9004h46.7998v-6.59961c0 -10.7002 8.80078 -16.7002 19.5 -16.7002h20.2002c10.7998 0 19.5 8.7998 19.5 19.5v20.3994
c0 10.6006 -3.5 19.5 -15.2002 19.5c18.5 15.2002 37.2002 21.4004 45 24.1006c15 56.5 42 92.3994 99.3008 109.7c55.0996 16.5 153.5 3.09961 186.5 -85c73.8994 -22.6006 106.899 -92.6006 92.0996 -155.101c-13 -54.8994 -62.2998 -100.6 -131.5 -99.5
c-49.5996 -51.3994 -135.2 -48.8994 -186.4 -5.59961c-78.5996 -4.2002 -137.8 42.7998 -146 111.3zM376 136c8.7002 -54.0996 59.7002 -65.5 91.7998 -59.2002c39.1006 7.7002 70.5 37.5 79.7002 76.5c5.7998 24.4004 2.40039 50 -9.40039 72l-10.5 19.6006
c1.2002 -22.5 -12.5 -60.6006 -47.5 -76.9004c65.5 67.7002 2.10059 141.2 -67.6992 150.5c-49.8008 6.59961 -83.3008 -13 -114.2 -43.7002c48 -4.7002 87.7002 -26.7998 101.8 -74.7998c-30.0996 49.2998 -103 56.5996 -133.6 40.7998
c-35.5 -18.2002 -60 -54 -57 -93.8994c3.59961 -47.4004 39.5 -67.4004 57.3994 -79.8008c-4.5 21.7002 -4 71.3008 29.2002 92.9004c-36.2998 -60 28.0996 -144.6 135.3 -110.8c-33.5996 14.3994 -66 40.5 -55.2998 86.7998zM128 240h-39.7998
c-8.90039 0 -16.2002 7.2998 -16.2002 16.2002v39.5996c0 8.90039 7.2998 16.2002 16.2002 16.2002h39.7998c8.90039 0 16.2002 -7.2998 16.2002 -16.2002v-39.5996c0 -8.90039 -7.2998 -16.2002 -16.2002 -16.2002zM10.0996 280c-5.59961 0 -10.0996 4.5 -10.0996 10.0996
v27.8008c0 5.59961 4.5 10.0996 10.0996 10.0996h27.7002c5.5 0 10.1006 -4.5 10.1006 -10.0996v-27.8008c0 -5.59961 -4.5 -10.0996 -10.1006 -10.0996h-27.7002zM168 305.3v21.4004c0 5.09961 4.2002 9.2998 9.2998 9.2998h21.4004
c5.09961 0 9.2998 -4.2002 9.2998 -9.2998v-21.4004c0 -5.09961 -4.2002 -9.2998 -9.2998 -9.2998h-21.4004c-5.09961 0 -9.2998 4.2002 -9.2998 9.2998zM56 212.5v-25c0 -6.2998 -5.09961 -11.5 -11.4004 -11.5h-25.1992c-6.30078 0 -11.4004 5.2002 -11.4004 11.5v25
c0 6.2998 5.09961 11.5 11.4004 11.5h25.0996c6.40039 0 11.5 -5.2002 11.5 -11.5z" />
    <glyph glyph-name="cpanel" unicode="&#xf388;" horiz-adv-x="640" 
d="M210.3 227.8c6.60059 -29.0996 -14.5 -65.2998 -51.7002 -65.2998h-32l6.40039 23.7998c1.7998 6.2002 7.2998 10.7998 14.2998 10.7998h10.2998c12.4004 0 20.8008 11.7002 18.3008 22.6006c-2.10059 9.2002 -9.90039 14.7998 -18.3008 14.7998h-19.7998
l-25.7998 -95.7002c-1.90039 -6.2002 -7.40039 -10.7002 -14.2002 -10.7002l-24.7002 -0.0996094l34.9004 130.1c1.7998 6.40039 7.2002 10.9004 14.2998 10.9004h37c24.1006 0 45.4004 -16.4004 51 -41.2002zM53.7998 199.8c-24.8994 0 -24.7002 -37.3994 0 -37.3994
h11.2998c4.2002 0 7.60059 -3.90039 6.40039 -8.30078l-7.09961 -26.0996h-12.4004c-33.5 0 -59 31.4004 -50.2998 65.2002c7.2998 27 28.2998 41.0996 51.2002 41.0996h40l-6.2002 -23.5996c-1.90039 -6.5 -7.40039 -10.9004 -14.2998 -10.9004h-18.6006zM301.3 234.6
c18.7998 0 33.2998 -17.5996 28.5 -36.7998l-14 -51.7998c-2.7998 -10.5996 -12.2002 -17.7998 -23.3994 -17.7998l-57.5 0.200195c-42.9004 0 -38.5 63.7998 0.699219 63.7998h48.4004l-3.5 -13.2002c-1.90039 -6.2002 -7.40039 -10.7998 -14.2002 -10.7998h-21.5996
c-5.2998 0 -5.2998 -7.90039 0 -7.90039h34.8994c4.60059 0 5.10059 3.90039 5.5 5.2998l8.60059 31.8008c0.299805 1 1.89941 5.2998 -2.10059 5.2998h-57.5c-9.69922 0 -16.5996 8.89941 -14.1992 18.5l3.5 13.3994h77.8994zM633.1 269c4.5 0 7.7002 -4 6.5 -8.2998
l-26.5 -98.2002c-5.09961 -20.7002 -24.1992 -34.5 -44.8994 -34.5l35.5996 133.1c1.2002 4.7002 5.5 7.90039 10.4004 7.90039h18.8994zM396.8 234.3c34.4004 0 59.2998 -32.2998 50.2998 -65.3994l-8.7998 -33.1006c-1.2002 -4.89941 -5.7002 -7.7998 -10.2998 -7.7998
h-19.0996c-4.5 0 -7.60059 4 -6.40039 8.2998l10.5996 40c3.30078 11.6006 -5.59961 23.4004 -18.0996 23.4004h-19.7998l-17.2002 -64c-1.2002 -4.7998 -5.59961 -7.7998 -10.4004 -7.7998h-18.8994c-4.2002 0 -7.60059 3.89941 -6.40039 8.2998l26.2002 98h48.2998
v0.0996094zM495.1 159.7h73.3008l-5.7002 -21c-1.90039 -6.2002 -7.40039 -10.7002 -14.2002 -10.7002h-66.7002c-20 0 -33.2998 19 -28.2998 36.7002l10.7998 40c4.7998 17.5996 20.7002 29.5996 38.6006 29.5996h47.2998c19 0 33.2002 -17.7002 28.2998 -36.7998
l-3.2002 -12c-2.89941 -11 -12.7002 -17.5996 -23.2002 -17.5996h-53.3994l3.5 13c1.59961 6.19922 7.2002 10.7998 14.2002 10.7998h21.5996c2 0 3.2998 1 3.90039 3l0.699219 2.59961c0.700195 2.7002 -1.2998 5.10059 -3.89941 5.10059h-32.9004
c-4.09961 0 -6.89941 -2.10059 -7.7998 -6l-8 -30c-0.900391 -3.30078 1.5 -6.7002 5.09961 -6.7002z" />
    <glyph glyph-name="css3-alt" unicode="&#xf38b;" horiz-adv-x="384" 
d="M0 416h384l-34.9004 -395.8l-157.1 -52.2002l-157.1 52.2002zM313.1 336h-242.199l5.7998 -47.2998h122.899l-6.5 -2.7002l-112.1 -46.7002l3.59961 -46.2998l0.200195 0.0996094v-0.0996094l166.3 -0.5l-3.69922 -61.5996l-54.7002 -15.4004l-52.6006 13.2998
l-3.19922 38.2998h-48.9004l6.40039 -73.8994l98.7998 -29.2002l98.2002 28.7002l12.7998 146.6h-111.5l0.299805 0.100586l115.3 49.2998z" />
    <glyph glyph-name="cuttlefish" unicode="&#xf38c;" horiz-adv-x="440" 
d="M344 142.5c13.7002 -50.9004 41.7002 -93.2998 87 -117.8c-45.2998 -49.6006 -110.5 -80.7002 -183 -80.7002c-137 0 -248 111 -248 248s111 248 248 248c72.5 0 137.7 -31.0996 183 -80.7002c-45.2998 -24.5 -73.2998 -66.8994 -87 -117.8
c-17.5 31.5996 -57.4004 54.5 -96 54.5c-56.5996 0 -104 -47.4004 -104 -104s47.4004 -104 104 -104c38.5996 0 78.5 22.9004 96 54.5z" />
    <glyph glyph-name="d-and-d" unicode="&#xf38d;" horiz-adv-x="576" 
d="M82.5 349.1c-0.599609 17.2002 2 33.8008 12.7002 48.2002c0.299805 -7.39941 1.2002 -14.5 4.2002 -21.5996c5.89941 27.5 19.6992 49.2998 42.2998 65.5c-1.90039 -5.90039 -3.5 -11.7998 -3 -17.7002c8.7002 7.40039 18.7998 17.7998 44.3994 22.7002
c14.7002 2.7998 29.7002 2 42.1006 -1c38.5 -9.2998 61 -34.2998 69.7002 -72.2998c5.2998 -23.1006 0.699219 -45 -8.30078 -66.4004c-5.19922 -12.4004 -12 -24.4004 -20.6992 -35.0996c-2 1.89941 -3.90039 3.7998 -5.80078 5.59961
c-42.7998 40.7998 -26.7998 25.2002 -37.3994 37.4004c-1.10059 1.19922 -1 2.19922 -0.100586 3.59961c8.30078 13.5 11.8008 28.2002 10 44c-1.09961 9.7998 -4.2998 18.9004 -11.2998 26.2002c-14.5 15.2998 -39.2002 15 -53.5 -0.600586
c-11.3994 -12.5 -14.0996 -27.3994 -10.8994 -43.5996c0.199219 -1.2998 0.399414 -2.7002 0 -3.90039c-3.40039 -13.6992 -4.60059 -27.5996 -2.5 -41.5996c0.0996094 -0.5 0.0996094 -1.09961 0.0996094 -1.59961c0 -0.300781 -0.0996094 -0.5 -0.200195 -1.10059
c-21.7998 11 -36 28.2998 -43.2002 52.2002c-8.2998 -17.7998 -11.0996 -35.5 -6.59961 -54.0996c-15.5996 15.1992 -21.2998 34.2998 -22 55.1992zM552.1 225.9c0.5 -0.600586 1.2002 -1 1.7002 -1.40039v-0.5c-15 3.59961 -29.7998 1.7998 -44.5 -1.2998
c-9.2998 -2 -18.2998 -4.7002 -26.7002 -9c-2.89941 -1.5 -5.69922 -3.2998 -8 -4.7002c-5.7998 2.40039 -11.2998 5.5 -17.1992 6.7998c-24.5 5.2998 -45.8008 -1.2002 -62.5 -20c-19.7002 -22.2002 -34.5 -47.5996 -46.7002 -74.5l-1.2002 -2.7002
c-0.0996094 -0.199219 -0.200195 -0.299805 -0.400391 -0.399414c-12.0996 8.2998 -21.5996 20.2998 -36.0996 25.5996c0.299805 0.400391 0.400391 0.900391 0.700195 1.2998c20.5996 28.2002 44.8994 52.5 75.0996 70.4004c16 9.5 33 16.0996 51.5 18.5
c1.7998 0.200195 3.5 0.400391 5.2998 1.09961c-4.39941 0 -8.7998 0.300781 -13.0996 -0.0996094c-21.2002 -1.90039 -40.5 -9.59961 -58.7002 -20.2002c-13.7998 -8 -26.2002 -17.7002 -36.5996 -29.7998c-0.400391 -0.5 -0.600586 -1.09961 -0.900391 -1.7002
c-0.299805 0.299805 -0.700195 0.600586 -1 0.900391c11 30.8994 30.7002 55 57.7002 73.2998c0.200195 -0.200195 0.5 -0.299805 0.700195 -0.5c-1.2002 -1.7002 -2.5 -3.2998 -3.5 -5.09961c-1.7998 -3.30078 -3.7002 -6.5 -5.10059 -10
c-1.7998 -4.30078 1.60059 -8.60059 12 -0.5c18.2002 14.0996 29.6006 26.2998 48.9004 29.5996c0.700195 0.0996094 1.2998 0.299805 1.90039 0.299805h2.5c-1 -0.700195 -1.60059 -1.09961 -2.2002 -1.5c-11.6006 -7.7998 -11.7998 -7.39941 -15 -12
c-2.60059 -3.7002 -0.200195 -8 4.7002 -6.7998c2.59961 0.599609 5.19922 1.2998 7.69922 2.2002c9.40039 3.2998 19 5.7998 29 6.39941c13.9004 0.800781 27.1006 -1.89941 39.9004 -7.09961c15.0996 -6.2002 28.5 -15 40.0996 -26.5996zM316.7 50.4004
c1.5 -1.30078 1.89941 -2.40039 0.899414 -4.2002c-25.2998 -50.2002 -61.0996 -89.1006 -116 -98.7998c-26.7998 -4.7002 -52.8994 -2.7002 -77.8994 8.59961c-18.5 8.2002 -34.6006 19.5996 -47.2002 35.5996c-2 2.60059 -3.7002 5.40039 -5.90039 8.60059
c-0.699219 -7.7998 0.100586 -14.9004 1.5 -21.9004c-0.199219 -0.200195 -0.399414 -0.299805 -0.599609 -0.5c-3.2002 3.40039 -6.59961 6.60059 -9.5 10.2998c-12.2002 15.5 -19.5 33.3008 -24.0996 52.3008c-11.8008 48.2998 -0.5 78.7998 7.7998 101.1
c-8.7002 -4.7998 -16.2002 -10.2998 -23.6006 -16.2002c11.6006 32.7998 31.9004 59.9004 56.1006 84.6006c2.39941 -2.10059 3.2998 -4.7002 3 -7.40039c-0.200195 -1 -5.90039 -38.9004 -5.60059 -44.7002c18.9004 18.9004 40.5 33.2998 64.8008 43.9004
c-7.5 -11.1006 -11 -23.4004 -11.8008 -37.2998c13.4004 12.1992 27.7002 20.0996 46.4004 13.8994c-8.5 -9.09961 -30.7998 -30.5 -38.5996 -64.2998c-5.10059 -21.9004 -3.80078 -43.0996 8.19922 -62.5996c11.2002 -18.3008 27.8008 -27.8008 49.4004 -27.8008
c12.5996 0 23.7998 5 34.0996 11.8008c18.5 12.2998 32.8008 28.5 44 47.5996c1.90039 3.2002 1.10059 2.09961 1.90039 3c19.9004 -16.0996 3.2998 -2.59961 42.7002 -35.5996zM488.7 96.7998c20.2002 -6.59961 35.5 -18.7998 43.7998 -38.8994
c9.2002 -23.1006 2.09961 -49.4004 -17.4004 -66c-16.3994 -14 -35.6992 -19.2002 -57 -17.4004c-0.599609 0 -1.19922 0 -1.89941 -0.299805c15.0996 -10.7002 31.5996 -15.2002 50.8994 -10.6006c-2.19922 -2.39941 -3.89941 -4.69922 -5.89941 -6.5
c-12.2998 -10.8994 -26.9004 -16.8994 -42.9004 -19.7998c-39.5996 -7.2998 -75.5996 12.7998 -85 56.9004c-0.5 2.09961 -0.599609 4.2002 -0.899414 6.39941c-10.8008 -8.19922 -16.4004 -34.0996 -0.700195 -52.2998c-1.60059 0.5 -2.60059 0.700195 -3.60059 1.10059
c-21.2998 8.2998 -34.3994 28.2998 -33.5 51.1992c0.900391 23.2002 4.90039 41 -13 56c-16.5 13.8008 -33 27.4004 -49.5 41.1006c-8.09961 6.7002 -14.7998 14.5 -17 25.0996c-1 4.60059 -1.39941 9.40039 -1.7998 14.1006c-0.5 6.09961 -3.2998 11 -7.89941 14.7998
c-4.5 3.89941 -9.30078 7.39941 -13.8008 11.2002c-8.89941 7.5 -12.2998 18.8994 -7.2998 29.8994c2.7998 -12.8994 9.60059 -18.8994 22.6006 -20.2998c4.39941 -0.5 8.89941 -0.799805 13.2998 -1.5c8.09961 -1.2002 12.7998 -6.09961 14.2998 -14.2002
c0.700195 -3.39941 1.2998 -6.7998 2.2002 -10.2002c1.59961 -5.59961 4.5 -8 10.3994 -8.39941c4.60059 -0.299805 9.30078 -0.5 13.9004 -0.900391c7.59961 -0.599609 14.2002 -3.7998 20.0996 -8.7002c19.4004 -16.1992 39 -32.1992 58.5 -48.2998
c5.7002 -4.7002 12 -8.2002 19.6006 -8.5c16.7002 -0.599609 29 15.2002 24.7998 31.7998c-0.200195 0.700195 -0.400391 1.5 -0.0996094 2.80078c2.39941 -2 4.89941 -3.80078 7 -5.90039c14.0996 -14 18.0996 -39.2998 8.69922 -56.0996
c-2.09961 -3.80078 -5.2998 -7.10059 -8.09961 -10.8008c0.700195 -0.199219 1.7998 -0.5 3 -0.599609c14 -1.40039 27.2002 1 38.9004 9.09961c15.7998 10.9004 18 31.2002 5.39941 45.6006c-4.7002 5.39941 -8.89941 8 -18.7998 12
c6.5 1.2998 19.2002 0.200195 28.7002 -2.90039zM99.4004 268.7c-5.30078 9.2002 -13.2002 15.5996 -22.1006 21.2998c13.7002 0.5 26.6006 -0.200195 39.6006 -3.7002c-7 12.2002 -8.5 24.7002 -5 38.7002c5.2998 -11.9004 13.6992 -20.0996 23.5996 -26.7998
c19.7002 -13.2002 35.7002 -19.6006 46.7002 -30.2002c3.39941 -3.2998 6.2998 -7.09961 9.59961 -10.9004c-0.799805 2.10059 -1.39941 4.10059 -2.2002 6c-5 10.6006 -13 18.6006 -22.5996 25c-1.7998 1.2002 -2.7998 2.5 -3.40039 4.5
c-3.2998 12.5 -3 25.1006 -0.699219 37.6006c1 5.5 2.7998 10.8994 4.5 16.2998c0.799805 2.40039 2.2998 4.59961 4 6.59961c0.599609 -6.89941 0 -25.5 19.5996 -46c10.7998 -11.2998 22.4004 -21.8994 33.9004 -32.6992c9 -8.5 18.2998 -16.7002 25.5 -26.8008
c1.09961 -1.59961 2.19922 -3.2998 3.7998 -4.69922c-5 13 -14.2002 24.0996 -24.2002 33.7998c-9.59961 9.2998 -19.4004 18.3994 -29.2002 27.3994c-3.2998 3 -4.59961 6.7002 -5.09961 10.9004c-1.2002 10.4004 0 20.5996 4.2998 30.2002c0.5 1 1.09961 2 1.90039 3.2998
c0.5 -4.2002 0.599609 -7.90039 1.39941 -11.5996c4.7998 -23.1006 20.4004 -36.3008 49.2998 -63.5c10 -9.40039 19.3008 -19.2002 25.6006 -31.6006c4.7998 -9.2998 7.2998 -19 5.7002 -29.5996c-0.100586 -0.600586 0.5 -1.7002 1.09961 -2
c6.2002 -2.60059 10 -6.90039 9.7002 -14.2998c7.7002 2.59961 12.5 8 16.3994 14.5c4.2002 -20.2002 -9.09961 -50.3008 -27.1992 -58.7002c0.399414 4.5 5 23.3994 -16.5 27.7002c-6.80078 1.2998 -12.8008 1.2998 -22.9004 2.09961c4.7002 9 10.4004 20.5996 0.5 22.4004
c-24.9004 4.59961 -52.7998 -1.90039 -57.7998 -4.60059c8.2002 -0.399414 16.2998 -1 23.5 -3.2998c-2 -6.5 -4 -12.7002 -5.7998 -18.9004c-1.90039 -6.5 2.09961 -14.5996 9.2998 -9.59961c1.2002 0.900391 2.2998 1.90039 3.2998 2.7002
c-3.09961 -17.9004 -2.90039 -15.9004 -2.7998 -18.2998c0.299805 -10.2002 9.5 -7.80078 15.7002 -7.30078c-2.5 -11.7998 -29.5 -27.2998 -45.4004 -25.7998c7 4.7002 12.7002 10.2998 15.9004 17.9004c-6.5 -0.799805 -12.9004 -1.60059 -19.2002 -2.40039
l-0.299805 0.900391c4.69922 3.39941 8 7.7998 10.1992 13.0996c8.7002 21.1006 -3.59961 38 -25 39.9004c-9.09961 0.799805 -17.7998 -0.799805 -25.8994 -5.5c6.2002 15.5996 17.2002 26.5996 32.5996 34.5c-15.2002 4.2998 -8.89941 2.7002 -24.5996 6.2998
c14.5996 9.2998 30.2002 13.2002 46.5 14.5996c-5.2002 3.2002 -48.1006 3.60059 -70.2002 -20.8994c7.90039 -1.40039 15.5 -2.7998 23.2002 -4.2002c-23.7998 -7 -44 -19.7002 -62.4004 -35.5996c1.10059 4.7998 2.7002 9.5 3.2998 14.2998
c0.600586 4.5 0.800781 9.2002 0.100586 13.5996c-1.5 9.40039 -8.90039 15.1006 -19.7002 16.2998c-7.90039 0.900391 -15.5996 -0.0996094 -23.2998 -1.2998c-0.900391 -0.0996094 -1.7002 -0.299805 -2.90039 0c15.7998 14.7998 36 21.7002 53.1006 33.5
c6 4.5 6.7998 8.2002 3 14.9004zM227.8 241.9c3.2998 -16 12.6006 -25.5 23.7998 -24.3008c-4.59961 11.3008 -12.0996 19.5 -23.7998 24.3008z" />
    <glyph glyph-name="deploydog" unicode="&#xf38e;" horiz-adv-x="512" 
d="M382.2 312h51.7002v-239.6h-51.7002v20.6992c-19.7998 -24.7998 -52.7998 -24.0996 -73.7998 -14.6992c-26.2002 11.6992 -44.3008 38.0996 -44.3008 71.7998c0 29.7998 14.8008 57.8994 43.3008 70.7998c20.1992 9.09961 52.6992 10.5996 74.7998 -12.9004v103.9z
M317.5 150.2c0 -18.2002 13.5996 -33.5 33.2002 -33.5c19.7998 0 33.2002 16.3994 33.2002 32.8994c0 17.1006 -13.7002 33.2002 -33.2002 33.2002c-19.6006 0 -33.2002 -16.3994 -33.2002 -32.5996zM188.5 312h51.7002v-239.6h-51.7002v20.6992
c-19.7998 -24.7998 -52.7998 -24.0996 -73.7998 -14.6992c-26.2002 11.6992 -44.2998 38.0996 -44.2998 71.7998c0 29.7998 14.7998 57.8994 43.2998 70.7998c20.2002 9.09961 52.7002 10.5996 74.7998 -12.9004v103.9zM123.8 150.2c0 -18.2002 13.6006 -33.5 33.2002 -33.5
c19.7998 0 33.2002 16.3994 33.2002 32.8994c0 17.1006 -13.7002 33.2002 -33.2002 33.2002c-19.7002 0 -33.2002 -16.3994 -33.2002 -32.5996zM448 352h-384c-17.5996 0 -32 -14.5 -32 -32v-256c0 -17.5996 14.5 -32 32 -32h384c17.5996 0 32 14.5 32 32v256
c0 17.5996 -14.5 32 -32 32zM448 384c35.2002 0 64 -28.7998 64 -64v-256c0 -35.2002 -28.7998 -64 -64 -64h-384c-35.2002 0 -64 28.7998 -64 64v256c0 35.2002 28.7998 64 64 64h384z" />
    <glyph glyph-name="deskpro" unicode="&#xf38f;" horiz-adv-x="480" 
d="M205.9 -64l31.0996 38.4004c12.2998 0.199219 25.5996 1.39941 36.5 6.59961c38.9004 18.5996 38.4004 61.9004 38.2998 63.7998c-0.0996094 5 -0.799805 4.40039 -28.8994 37.4004h79.0996c-0.200195 -50.1006 -7.2998 -68.5 -10.2002 -75.7002
c-9.39941 -23.7002 -43.8994 -62.7998 -95.2002 -69.4004c-8.69922 -1.09961 -32.7998 -1.19922 -50.6992 -1.09961zM406.3 103.7l-119.2 -0.100586l17.4004 31.3008l175.5 -0.300781c-15.2002 -17.2998 -35.0996 -30.8994 -73.7002 -30.8994zM362.7 327.6v-168.3h-73.5
l-32.7002 -55.5h-6.5c-52.2998 0 -58.0996 56.5 -58.2998 58.9004c-1.2002 13.2002 -21.2998 11.5996 -20.1006 -1.7998c1.40039 -15.8008 8.80078 -40 26.4004 -57.1006h-91c-25.5 0 -110.8 26.7998 -107 114v213.3c0 16 9.7002 16.6006 15 16.8008h82
c0.200195 0 0.299805 -0.100586 0.5 -0.100586c4.2998 0.400391 50.0996 2.10059 50.0996 -43.7002c0 -13.2998 20.2002 -13.3994 20.2002 0c0 18.2002 -5.5 32.8008 -15.7998 43.7002h84.2002c108.7 0.400391 126.5 -79.3994 126.5 -120.2zM230.2 271.6l64 -29.2998
c13.2998 45.5 -42.2002 71.7002 -64 29.2998z" />
    <glyph glyph-name="digital-ocean" unicode="&#xf391;" horiz-adv-x="512" 
d="M87 -33.7998v73.5996h73.7002v-73.5996h-73.7002zM25.4004 101.4h61.5996v-61.6006h-61.5996v61.6006zM491.6 271.1c53.2002 -170.3 -73 -327.1 -235.6 -327.1v95.7998h0.299805v0.299805c101.7 0.200195 180.5 101 141.4 208
c-14.2998 39.6006 -46.1006 71.4004 -85.7998 85.7002c-107.101 38.7998 -208.101 -39.8994 -208.101 -141.7h-95.7998c0 162.2 156.9 288.7 327 235.601c74.2002 -23.2998 133.6 -82.4004 156.6 -156.601zM256.3 40.0996h-0.299805v-0.299805h-95.2998v95.6006h95.5996
v-95.3008z" />
    <glyph glyph-name="discord" unicode="&#xf392;" 
d="M297.216 204.8c0 -15.6162 -11.5195 -28.416 -26.1123 -28.416c-14.3359 0 -26.1113 12.7998 -26.1113 28.416s11.5195 28.416 26.1113 28.416c14.5928 0 26.1123 -12.7998 26.1123 -28.416zM177.664 233.216c14.5918 0 26.3682 -12.7998 26.1123 -28.416
c0 -15.6162 -11.5205 -28.416 -26.1123 -28.416c-14.3359 0 -26.1123 12.7998 -26.1123 28.416s11.5205 28.416 26.1123 28.416zM448 395.264v-459.264c-64.4941 56.9941 -43.8682 38.1279 -118.784 107.776l13.5684 -47.3604h-290.304
c-28.9287 0 -52.4805 23.5518 -52.4805 52.7363v346.111c0 29.1846 23.5518 52.7363 52.4805 52.7363h343.039c28.9287 0 52.4805 -23.5518 52.4805 -52.7363zM375.04 152.576c0 82.4316 -36.8643 149.248 -36.8643 149.248
c-36.8643 27.6475 -71.9355 26.8799 -71.9355 26.8799l-3.58398 -4.0957c43.5195 -13.3125 63.7441 -32.5127 63.7441 -32.5127c-60.8115 33.3291 -132.244 33.335 -191.232 7.42383c-9.47168 -4.35156 -15.1035 -7.42383 -15.1035 -7.42383
s21.2471 20.2246 67.3271 33.5361l-2.55957 3.07227s-35.0723 0.767578 -71.9355 -26.8799c0 0 -36.8643 -66.8164 -36.8643 -149.248c0 0 21.5039 -37.1201 78.0801 -38.9121c0 0 9.47168 11.5195 17.1514 21.248c-32.5117 9.72754 -44.7998 30.208 -44.7998 30.208
c3.7666 -2.63574 9.97656 -6.05273 10.4961 -6.40039c43.21 -24.1973 104.588 -32.126 159.744 -8.95996c8.95996 3.32812 18.9443 8.19238 29.4395 15.1045c0 0 -12.7998 -20.9922 -46.3359 -30.4639c7.68066 -9.72852 16.8965 -20.7363 16.8965 -20.7363
c56.5762 1.79199 78.3359 38.9121 78.3359 38.9121z" />
    <glyph glyph-name="discourse" unicode="&#xf393;" 
d="M225.9 416c122.699 0 222.1 -102.3 222.1 -223.9c0 -121.6 -99.4004 -223.899 -222.1 -223.899l-225.801 -0.200195s-0.0996094 224 -0.0996094 227.9c0 121.6 103.3 220.1 225.9 220.1zM224 64c70.7002 0 128 57.2998 128 128s-57.2998 128 -128 128
s-128 -57.2998 -128 -128c0 -22.0996 5.59961 -42.9004 15.4004 -61l-22.9004 -75l81.0996 20.0996c16.5 -7.7998 35 -12.0996 54.4004 -12.0996z" />
    <glyph glyph-name="dochub" unicode="&#xf394;" horiz-adv-x="416" 
d="M397.9 288h-141.9v140.4zM304 256h96v-126.1c0 -129.301 -70.2998 -193.9 -210.8 -193.9h-189.2v512h189.2c12.2002 0 23.7002 -1.09961 34.5996 -3.2998v-84c-10 1.7002 -21.0996 2.5 -33.0996 2.5h-94.7002v-337.3h94.7002c76.7998 0 113.3 33.2998 113.3 100.1v130z
" />
    <glyph glyph-name="docker" unicode="&#xf395;" horiz-adv-x="640" 
d="M349.9 211.7h-66.1006v59.3994h66.1006v-59.3994zM349.9 416v-60.7002h-66.1006v60.7002h66.1006zM428.1 271.2v-59.4004h-66.0996v59.4004h66.0996zM271.8 343.3v-60.0996h-66.0996v60.0996h66.0996zM349.9 343.3v-60.0996h-66.1006v60.0996h66.1006zM626.7 243.3
l13.2998 -8.89941c-1.90039 -3.90039 -7 -14.6006 -8.5 -17.1006c-23.7002 -45.2998 -69.9004 -45.5996 -91.2998 -45.2002c-54.5 -131.699 -171 -204.199 -328.4 -204.199c-72.7002 0 -128.3 22.2998 -165.399 66.1992c-38.2002 45.3008 -52.7002 111.301 -44 162.101
h434.699c22.6006 -0.400391 39.7002 6 48.4004 10.7002c-19.7002 30.1992 -14.7002 76 3.7002 103.8l9.2998 14l14 -9.2998c24.4004 -18.8008 37.7998 -39.7002 41.0996 -63.7002c25.5 4.7998 58.7002 1.2998 73.1006 -8.40039zM115.6 271.2h0.100586v-59.4004h-66.1006
v59.4004h66zM193.7 271.2v-59.4004h-66.1006v59.4004h66.1006zM271.8 271.2v-59.4004h-66.0996v59.4004h66.0996zM193.7 343.3v-60.0996h-66.1006v60.0996h66.1006z" />
    <glyph glyph-name="draft2digital" unicode="&#xf396;" horiz-adv-x="480" 
d="M480 49.9004l-144 -81.9004v64.2002l-336 -0.100586c18.2998 19.1006 84.5 87.8008 161.1 174.801c32.6006 37.1992 78 83.2998 69.7002 127.6c-5.2998 28.2998 -42.2002 50.7998 -83.2998 33.5c-8.59961 -3.59961 -24.5 -17.4004 -26.2998 -24.7002
c28.2998 -4.7002 48 -29.7002 48 -56.7998c0 -31.7002 -25.6006 -57.4004 -57.2998 -57.4004c-37.3008 0 -62.2002 34.1006 -56.7002 67.1006c1.2002 7.89941 5.09961 26.7998 18.2002 47.7002c14.8994 23.8994 45.1992 54.8994 104.3 67.2998
c103.8 21.7002 161.6 -36.6006 166 -41.2002c28.8994 -29.9004 48 -90.7002 12.7998 -153.3c-30 -53.4004 -81 -114.3 -111.8 -149.3h91.2998v64.6992zM369.9 77v-54.4004l47.0996 27.2002zM134.2 286.6c0 12.3008 -10 22.4004 -22.4004 22.4004
c-12.3994 0 -22.3994 -10 -22.3994 -22.4004c0 -12.3994 10 -22.3994 22.3994 -22.3994c12.4004 0 22.4004 10 22.4004 22.3994zM82.5 67.5h114.4c17.5996 19.2002 91.5 100.8 128.5 166.7c36.5996 65.0996 -5.80078 113.3 -5.80078 113.3
c-14.1992 14.9004 -36.8994 36.2002 -82.1992 38.2998c6.7998 -5.5 16.8994 -16.8994 24.2998 -35.7002c11.8994 -30.2998 6.7002 -69.5996 -28.4004 -112.699c-53.0996 -65.2002 -125.2 -142.5 -150.8 -169.9z" />
    <glyph glyph-name="dribbble-square" unicode="&#xf397;" 
d="M90.2002 219.8c8.89941 42.4004 37.3994 77.7002 75.7002 95.7002c3.59961 -4.90039 28 -38.7998 50.6992 -79c-64 -17 -120.3 -16.7998 -126.399 -16.7002zM314.6 294c-2.5 -3.5 -23 -31.0996 -71.5996 -49.4004c-22.4004 41.1006 -47.2002 74.9004 -51 80
c43.2998 10.5 89 -0.799805 122.6 -30.5996zM140.1 84c14.3008 29.2002 53 66.7998 108.101 85.5996c19.2002 -49.7998 27.2002 -91.5996 29.2002 -103.6c-44 -18.7002 -96.8008 -13.5996 -137.301 18zM238.9 192.2c-49.4004 -13.9004 -94.3008 -53.9004 -116.5 -91.7998
c-21.8008 24.2998 -35.1006 56.2998 -35.1006 91.3994c0 1.40039 0.100586 2.7998 0.100586 4.2002c6 -0.200195 72.1992 -1 140.399 19.4004c3.90039 -7.7002 7.7002 -15.4004 11.1006 -23.2002zM273.8 175.9c42.7998 6.89941 80.5 -4.30078 85.1006 -5.80078
c-6.10059 -38 -27.9004 -70.8994 -58.6006 -91.5996c-1.39941 8.2998 -8.59961 48.2998 -26.5 97.4004zM253.5 224.3c50.5 20.7002 73.4004 50 76.2998 53.9004c19.1006 -23.2002 30.6006 -52.7998 30.9004 -85.1006c-4.5 1 -49.7002 10.1006 -95.2002 4.40039
c-3.7002 9 -7.2002 17 -12 26.7998zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM384 192c0 88.2002 -71.7998 160 -160 160s-160 -71.7998 -160 -160s71.7998 -160 160 -160
s160 71.7998 160 160z" />
    <glyph glyph-name="dyalog" unicode="&#xf399;" horiz-adv-x="416" 
d="M0 416h171.2c74.5 0 137.7 -24 182.5 -69.5996c40.2002 -40.9004 62.2998 -95.6006 62.2998 -154.301c0 -111.399 -84.0996 -224.1 -244.8 -224.1h-171.2v64h171.2c122.2 0 180.8 84 180.8 160.1c0 79.7002 -67.4004 159.9 -180.8 159.9h-107.2v-55.2002h-64v119.2z" />
    <glyph glyph-name="earlybirds" unicode="&#xf39a;" horiz-adv-x="480" 
d="M313.2 400.5c1.2002 13 21.2998 14 36.5996 8.7002c0.900391 -0.299805 26.2002 -9.7002 19 -15.2002c-27.8994 7.40039 -56.3994 -18.2002 -55.5996 6.5zM112.2 393.6c-7.7998 6.2002 19.8994 16.4004 20.8994 16.7002c16.8008 5.7002 38.9004 4.60059 40.2002 -9.59961
c0.900391 -27.1006 -30.3994 1 -61.0996 -7.10059zM319.4 288c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16c-8.80078 0 -16 7.2002 -16 16s7.19922 16 16 16zM159.7 288c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16s-16 7.2002 -16 16s7.2002 16 16 16z
M478.2 124.8c-9.90039 -24 -40.7002 -11 -63.9004 1.2002c-13.5 -69.0996 -58.0996 -111.4 -126.3 -124.2c0.299805 -0.899414 -2 0.100586 24 -1c33.5996 -1.39941 63.7998 3.10059 97.4004 8c-19.8008 13.7998 -11.4004 37.1006 -9.80078 38.1006
c1.40039 0.899414 14.7002 -1.7002 21.6006 -11.5c8.59961 12.5 28.3994 14.7998 30.2002 13.5996c1.59961 -1.09961 6.59961 -20.9004 -6.90039 -34.5996c4.7002 0.899414 8.2002 1.59961 9.7998 2.09961c2.60059 0.799805 17.7002 -11.2998 3.10059 -13.2998
c-14.3008 -2.2998 -22.6006 -5.10059 -47.1006 -10.7998c-45.8994 -10.7002 -85.8994 -11.8008 -117.7 -12.8008l1 -11.5996c3.80078 -18.0996 -23.3994 -24.2998 -27.5996 -6.2002c0.799805 -17.8994 -27.0996 -21.7998 -28.4004 1l-0.5 -5.2998
c-0.699219 -18.4004 -28.3994 -17.9004 -28.2998 0.599609c-7.5 -13.5 -28.0996 -6.7998 -26.3994 8.5l1.19922 12.4004c-36.6992 -0.900391 -59.6992 -3.09961 -61.7998 -3.09961c-20.8994 0 -20.8994 31.5996 0 31.5996c2.40039 0 27.7002 -1.2998 63.2002 -2.7998
c-61.0996 15.5 -103.7 55 -114.9 118.2c-25 -12.8008 -57.5 -26.8008 -68.1992 -0.800781c-10.5 25.4004 21.5 42.6006 66.7998 73.4004c0.700195 6.59961 1.59961 13.2998 2.7002 19.7998c-14.4004 19.6006 -11.6006 36.2998 -16.1006 60.4004
c-16.7998 -2.40039 -23.2002 9.09961 -23.5996 23.0996c0.299805 7.2998 2.09961 14.9004 2.39941 15.4004c1.10059 1.7998 10.1006 2 12.7002 2.59961c6 31.7002 50.6006 33.2002 90.9004 34.5c19.7002 21.7998 45.2002 41.5 80.8994 48.2998
c-15.2998 19.4004 -3.39941 39.9004 -2.39941 40.4004c1.7002 0.799805 21.2002 -4.2998 26.2998 -23.2002c5.2002 8.7998 18.2998 11.4004 19.5996 10.7002c1.10059 -0.599609 6.40039 -15 -4.89941 -25.9004c40.2998 -3.5 72.2002 -24.6992 96 -50.6992
c36.0996 -1.5 71.7998 -5.90039 77.0996 -34c2.7002 -0.600586 11.6006 -0.800781 12.7002 -2.60059c0.299805 -0.5 2.09961 -8.09961 2.40039 -15.3994c-0.5 -13.9004 -6.80078 -25.4004 -23.6006 -23.1006c-3.2002 -17.2998 -2.7002 -32.8994 -8.7002 -47.7002
c2.40039 -11.6992 4 -23.7998 4.80078 -36.3994c37 -25.4004 70.2998 -42.5 60.2998 -66.9004zM207.4 288.1c0.899414 44 -37.9004 42.2002 -78.6006 40.3008c-21.7002 -1 -38.8994 -1.90039 -45.5 -13.9004c-11.3994 -20.9004 5.90039 -92.9004 23.2002 -101.2
c9.7998 -4.7002 73.4004 -7.89941 86.2998 7.10059c8.2002 9.39941 15 49.3994 14.6006 67.6992zM259.4 229.8c-4.30078 12.4004 -6 30.1006 -15.3008 32.7002c-2 0.5 -9 0.5 -11 0c-10 -2.7998 -10.7998 -22.0996 -17 -37.2002c15.4004 0 19.3008 -9.7002 23.7002 -9.7002
c4.2998 0 6.2998 11.3008 19.6006 14.2002zM395.1 314.5c-6.59961 12.0996 -24.7998 12.9004 -46.5 13.9004c-40.1992 1.89941 -78.1992 3.7998 -77.2998 -40.3008c-0.5 -18.2998 5 -58.2998 13.2002 -67.7998c13 -14.8994 76.5996 -11.7998 86.2998 -7.09961
c15.7998 7.59961 36.5 78.8994 24.2998 101.3z" />
    <glyph glyph-name="erlang" unicode="&#xf39d;" horiz-adv-x="640" 
d="M87.2002 394.5c-41.5 -50.2002 -65.6006 -116.2 -65.5 -192.9c-0.100586 -86.7998 29 -159.5 78.7002 -212.1h-100.4v405h87.2002zM325.4 384.8c46.1992 -0.0996094 79.5996 -33.5 80.6992 -83.2002h-169.899c4.09961 49.7002 43.2998 83.1006 89.2002 83.2002z
M556.1 394.4h0.300781l-0.100586 0.0996094zM556.4 394.4h83.5996v-405h-80.7998c21.3994 23 40.5 49.8994 57.8994 80.7998l-96.3994 48.2002c-33.9004 -55.1006 -83.4004 -105.801 -151.9 -106.101c-99.7002 0.400391 -138.8 85.6006 -138.6 195.3h372.399
c0.5 12.4004 0.5 18.1006 0 24.1006c2.5 65.2002 -14.7998 120 -46.1992 162.7z" />
    <glyph glyph-name="facebook-f" unicode="&#xf39e;" horiz-adv-x="320" 
d="M279.14 160h-74.6895v-224h-100.17v224h-81.3906v92.6602h81.3906v70.6201c0 80.3398 47.8594 124.72 121.08 124.72c35.0693 0 71.75 -6.25977 71.75 -6.25977v-78.8906h-40.4199c-39.8203 0 -52.2402 -24.71 -52.2402 -50.0596v-60.1299h88.9102z" />
    <glyph glyph-name="facebook-messenger" unicode="&#xf39f;" horiz-adv-x="512" 
d="M256.55 440c140.04 0 247.45 -102.34 247.45 -240.57c0 -175.13 -166.15 -273.229 -319.44 -231.04c-8.96973 2.44043 -9.64941 0.600586 -62.5596 -22.6992c-2.4375 -1.06445 -5.14355 -1.6543 -7.97168 -1.6543c-10.7617 0 -19.541 8.55176 -19.9082 19.2236
c-1.41992 46.3701 0.299805 50.7207 -8.0498 58.2305c-48.3604 43.1602 -78.0703 105.64 -78.0703 177.939c0 138.23 108.52 240.57 248.55 240.57zM405.79 254.87c7.0498 11.0801 -6.65039 23.5996 -17.0898 15.6201l-78.4102 -59.3799
c-2.50586 -1.87988 -5.64258 -2.99316 -9.0127 -2.99316s-6.48145 1.11328 -8.9873 2.99316l-58.0596 43.46c-6.23047 4.65234 -13.9668 7.46582 -22.333 7.46582c-13.2803 0 -24.9512 -6.94434 -31.5771 -17.3965l-73 -115.569
c-7.05078 -11.0703 6.64941 -23.6006 17.1094 -15.6699l78.3701 59.4395c2.50586 1.87891 5.64258 2.99316 9.0127 2.99316s6.48242 -1.11426 8.9873 -2.99316l58.0801 -43.4697c6.23047 -4.65039 13.9658 -7.46191 22.3301 -7.46191
c13.2803 0 24.9512 6.94141 31.5801 17.3916z" />
    <glyph glyph-name="firstdraft" unicode="&#xf3a1;" horiz-adv-x="384" 
d="M384 256h-64v-128h-128v-128h-192v25.5996h166.4v128h128v128h89.5996v-25.5996zM358.4 217.6h25.5996v-153.6h-128v-128h-192v25.5996h166.4v128h128v128zM384 25.5996v-25.5996h-64v-64h-25.5996v89.5996h89.5996zM0 448h384v-128h-128v-128h-128v-128h-128v384z" />
    <glyph glyph-name="fonticons-fi" unicode="&#xf3a2;" horiz-adv-x="384" 
d="M114.4 224h92.3994l-15.2002 -51.2002h-76.3994v-157.8c0 -8 -2.7998 -9.2002 4.39941 -10l59.6006 -5.59961v-34.4004h-179.2v35.2002l29.2002 2.7998c7.2002 0.799805 9.2002 3.2002 9.2002 10.7998v155.8c0 3.2002 -4 3.2002 -8 3.2002h-30.4004v51.2002h38.4004
v28.7998c0 68 36.3994 96 106 96c46.7998 0 88.7998 -11.2002 88.7998 -72.3994l-69.6006 -8.40039c0.400391 25.5996 -6 31.5996 -22.3994 31.5996c-25.2002 0 -26 -13.5996 -26 -37.5996v-32c0 -3.2002 -4.7998 -6 -0.799805 -6zM384 -35h-140.8v34.4004l28 3.59961
c7.2002 0.799805 10.3994 2.40039 10.3994 10v148c0 5.59961 -4 9.2002 -9.19922 10.7998l-33.2002 8.7998l9.2002 40.4004h110v-208c0 -8 -3.60059 -8.7998 4 -10l21.5996 -3.59961v-34.4004zM354 312.2l12.4004 -45.6006l-10 -10l-42.8008 22.8008l-42.7998 -22.8008
l-10 10l12.4004 45.6006l-30 36.3994l4.7998 10h38l21.2002 38.4004h12.7998l21.2002 -38.4004h38l4.7998 -13.1992z" />
    <glyph glyph-name="fort-awesome-alt" unicode="&#xf3a3;" horiz-adv-x="512" 
d="M208 210.6c2.09961 0 3.7002 -1.59961 3.7002 -3.69922v-51.7002c0 -2.10059 -1.60059 -3.7002 -3.7002 -3.7002h-22.2002c-2.09961 0 -3.7002 1.59961 -3.7002 3.7002v51.7002c0 2.09961 1.60059 3.69922 3.7002 3.69922h22.2002zM326.2 210.6
c2 0 3.59961 -1.59961 3.7002 -3.69922v-51.7002c0 -2.10059 -1.60059 -3.7002 -3.7002 -3.7002h-22.2002c-2.09961 0 -3.7002 1.59961 -3.7002 3.7002v51.7002c0 2.09961 1.60059 3.69922 3.7002 3.69922h22.2002zM458.2 335.7
c28.8994 -40.7002 45.7998 -90.2002 45.7998 -143.7c0 -2 0 -4 -0.0996094 -6c0 -0.700195 0 -1.2998 -0.100586 -2c0 -1.2998 -0.0996094 -2.7002 -0.200195 -4c0 -0.799805 -0.0996094 -1.5 -0.0996094 -2.2998
c-0.0996094 -1.2002 -0.0996094 -2.40039 -0.200195 -0.700195c-0.0996094 -0.799805 -0.0996094 -1.59961 -0.200195 -2.40039c-0.0996094 -1.19922 -0.199219 -2.39941 -0.299805 -3.5c-0.0996094 -0.799805 -0.200195 -1.59961 -0.200195 -2.39941
c-0.0996094 -1.2002 -0.299805 -2.40039 -0.399414 -3.60059c-0.100586 -0.799805 -0.200195 -1.5 -0.299805 -2.2998c-0.200195 -1.2998 -0.400391 -2.59961 -0.5 -3.89941c-0.100586 -0.600586 -0.200195 -1.30078 -0.300781 -1.90039l-0.899414 -5.7002
c-0.100586 -0.599609 -0.200195 -1.09961 -0.299805 -1.7002c-0.200195 -1.2998 -0.5 -2.69922 -0.800781 -4c-0.199219 -0.799805 -0.299805 -1.59961 -0.5 -2.39941c-0.199219 -1.10059 -0.5 -2.2002 -0.699219 -3.2002
c-0.200195 -0.900391 -0.400391 -1.7002 -0.600586 -2.59961c-0.200195 -1 -0.5 -2 -0.700195 -3c-0.199219 -0.900391 -0.5 -1.80078 -0.699219 -2.7002c-0.300781 -1 -0.5 -1.90039 -0.800781 -2.90039c-0.199219 -0.899414 -0.5 -1.7998 -0.799805 -2.7002
c-0.299805 -0.899414 -0.599609 -1.89941 -0.799805 -2.7998c-0.299805 -0.899414 -0.5 -1.7998 -0.799805 -2.7002c-0.299805 -0.899414 -0.600586 -1.7998 -0.900391 -2.7998c-0.5 -1.59961 -1.09961 -3.2998 -1.7002 -4.89941
c-0.299805 -0.900391 -0.599609 -1.80078 -1 -2.80078c-0.399414 -1 -0.699219 -2 -1.09961 -3c-0.299805 -0.799805 -0.599609 -1.5 -0.900391 -2.2998l-1.19922 -3c-0.300781 -0.700195 -0.600586 -1.5 -0.900391 -2.2002c-0.400391 -1 -0.799805 -2 -1.2998 -3
l-0.900391 -2.09961c-0.399414 -1 -0.899414 -2 -1.39941 -3c-0.300781 -0.700195 -0.600586 -1.2998 -0.900391 -2c-0.5 -1 -1 -2.09961 -1.5 -3.09961c-0.299805 -0.600586 -0.599609 -1.10059 -0.799805 -1.7002c-0.600586 -1.10059 -1.10059 -2.2002 -1.7002 -3.2998
c-0.0996094 -0.200195 -0.200195 -0.300781 -0.299805 -0.5c-2.2002 -4.10059 -4.40039 -8.2002 -6.7998 -12.2002c-0.200195 -0.400391 -0.5 -0.799805 -0.700195 -1.2002c-0.700195 -1.09961 -1.2998 -2.2002 -2 -3.2998
c-0.299805 -0.5 -0.600586 -0.900391 -0.900391 -1.40039c-0.700195 -1.09961 -1.39941 -2.09961 -2 -3.2002c-0.299805 -0.5 -0.599609 -0.899414 -0.899414 -1.39941c-0.700195 -1.10059 -1.40039 -2.10059 -2.10059 -3.2002
c-0.299805 -0.400391 -0.599609 -0.799805 -0.799805 -1.2002c-0.799805 -1.09961 -1.5 -2.2002 -2.2998 -3.2998c-0.200195 -0.200195 -0.299805 -0.5 -0.5 -0.700195c-37.6006 -54.7002 -94.5 -91.3994 -160.101 -102.399
c-0.899414 -0.100586 -1.69922 -0.300781 -2.59961 -0.400391c-1 -0.200195 -2.09961 -0.299805 -3.09961 -0.5c-0.900391 -0.0996094 -1.80078 -0.299805 -2.80078 -0.400391c-1 -0.0996094 -2 -0.299805 -3 -0.399414c-1 -0.100586 -2 -0.200195 -2.89941 -0.299805
c-1 -0.100586 -1.90039 -0.200195 -2.90039 -0.300781c-1 -0.0996094 -2.09961 -0.199219 -3.09961 -0.299805c-0.900391 -0.0996094 -1.7998 -0.200195 -2.7002 -0.200195c-1.09961 -0.0996094 -2.2998 -0.0996094 -3.40039 -0.199219
c-0.799805 0 -1.69922 -0.100586 -2.5 -0.100586c-1.2998 -0.0996094 -2.59961 -0.0996094 -3.89941 -0.0996094c-0.700195 0 -1.40039 -0.100586 -2.10059 -0.100586c-2 0 -4 -0.0996094 -6 -0.0996094s-4 0 -6 0.0996094c-0.699219 0 -1.39941 0 -2.09961 0.100586
c-1.2998 0 -2.59961 0.0996094 -3.90039 0.0996094c-0.799805 0 -1.69922 0.100586 -2.5 0.100586c-1.09961 0.0996094 -2.2998 0.0996094 -3.39941 0.199219c-0.900391 0.100586 -1.7998 0.100586 -2.7002 0.200195c-1 0.100586 -2.09961 0.200195 -3.09961 0.299805
c-1 0.100586 -1.90039 0.200195 -2.90039 0.300781c-1 0.0996094 -2 0.199219 -2.90039 0.299805c-1 0.0996094 -2 0.200195 -3 0.399414c-0.899414 0.100586 -1.7998 0.300781 -2.7998 0.400391s-2.09961 0.299805 -3.09961 0.5
c-0.900391 0.0996094 -1.7002 0.299805 -2.60059 0.400391c-65.5996 10.8994 -122.5 47.6992 -160 99.3994c-0.199219 0.200195 -0.299805 0.5 -0.5 0.700195c-0.799805 1.09961 -1.59961 2.2002 -2.2998 3.2998c-0.299805 0.400391 -0.599609 0.799805 -0.799805 1.2002
c-0.700195 1.09961 -1.40039 2.09961 -2.09961 3.2002c-0.300781 0.5 -0.600586 0.899414 -0.900391 1.39941c-0.700195 1.10059 -1.40039 2.10059 -2 3.2002c-0.299805 0.5 -0.599609 0.900391 -0.900391 1.40039c-0.699219 1.09961 -1.2998 2.2002 -2 3.2998
c-0.199219 0.400391 -0.5 0.799805 -0.699219 1.2002c-2.40039 4 -4.60059 8.09961 -6.80078 12.2002c-0.0996094 0.199219 -0.199219 0.299805 -0.299805 0.5c-0.599609 1.09961 -1.09961 2.19922 -1.7002 3.2998c-0.299805 0.599609 -0.599609 1.09961 -0.799805 1.7002
c-0.5 1 -1 2.09961 -1.5 3.09961c-0.299805 0.700195 -0.599609 1.2998 -0.899414 2c-0.5 1 -0.900391 2 -1.40039 3l-0.900391 2.09961c-0.399414 1 -0.899414 2 -1.2998 3c-0.299805 0.700195 -0.599609 1.5 -0.899414 2.2002l-1.2002 3
c-0.299805 0.799805 -0.600586 1.5 -0.900391 2.2998c-0.399414 1 -0.799805 2 -1.09961 3c-0.299805 0.900391 -0.600586 1.80078 -1 2.80078c-0.600586 1.59961 -1.10059 3.2998 -1.7002 4.89941c-0.299805 0.900391 -0.599609 1.7998 -0.900391 2.7998
c-0.299805 0.900391 -0.5 1.80078 -0.799805 2.7002c-0.299805 0.900391 -0.599609 1.90039 -0.799805 2.7998c-0.299805 0.900391 -0.5 1.80078 -0.799805 2.7002c-0.299805 1 -0.5 1.90039 -0.799805 2.90039c-0.200195 0.899414 -0.5 1.7998 -0.700195 2.7002
c-0.299805 1 -0.5 2 -0.700195 3c-0.200195 0.899414 -0.400391 1.69922 -0.599609 2.59961c-0.200195 1.09961 -0.5 2.2002 -0.700195 3.2002c-0.200195 0.799805 -0.299805 1.59961 -0.5 2.39941c-0.299805 1.30078 -0.5 2.7002 -0.799805 4
c-0.100586 0.600586 -0.200195 1.10059 -0.300781 1.7002l-0.899414 5.7002c-0.100586 0.599609 -0.200195 1.2998 -0.299805 1.90039c-0.200195 1.2998 -0.400391 2.59961 -0.5 3.89941c-0.100586 0.799805 -0.200195 1.5 -0.300781 2.2998
c-0.0996094 1.2002 -0.299805 2.40039 -0.399414 3.60059c-0.100586 0.799805 -0.200195 1.59961 -0.200195 2.39941c-0.0996094 1.2002 -0.200195 2.40039 -0.299805 3.5c-0.100586 0.800781 -0.100586 1.60059 -0.200195 2.40039
c-0.0996094 1.2002 -0.200195 2.40039 -0.200195 3.7002c0 0.799805 -0.0996094 1.5 -0.0996094 2.2998c-0.100586 1.2998 -0.100586 2.7002 -0.200195 4c0 0.700195 0 1.2998 -0.0996094 2c0 2 -0.100586 4 -0.100586 6c0 53.5 16.9004 103 45.7998 143.6
c2.30078 3.2002 4.7002 6.40039 7.10059 9.5c4.89941 6.2002 10.0996 12.3008 15.5996 18c2.7002 2.90039 5.5 5.7002 8.40039 8.40039c2.89941 2.7002 5.7998 5.40039 8.7998 8c4.5 3.90039 9.09961 7.59961 13.9004 11.2002c1.59961 1.2002 3.19922 2.39941 4.7998 3.5
c27.2998 19.5996 59 33.7002 93.2998 40.7998c16.0996 3.2998 32.9004 5 50 5s33.7998 -1.7002 50 -5c34.2998 -7 66 -21.0996 93.5996 -40.7002c1.60059 -1.2002 3.2002 -2.2998 4.80078 -3.5c4.7998 -3.59961 9.39941 -7.2998 13.8994 -11.2002
c12 -10.3994 23 -21.8994 32.7998 -34.3994c2.5 -3.10059 4.80078 -6.2998 7.10059 -9.5zM448 76.5v71.2998c0 2.10059 -1.59961 3.7002 -3.7002 3.7002h-22.2002c-2.09961 0 -3.69922 -1.59961 -3.69922 -3.7002v-25.7998h-29.5v144
c0 2.09961 -1.60059 3.7002 -3.7002 3.7002h-22.1006c-2.09961 0 -3.69922 -1.60059 -3.69922 -3.7002v-25.9004h-29.5v25.9004c0 2.09961 -1.60059 3.7002 -3.7002 3.7002h-22.2002c-2.09961 0 -3.7002 -1.60059 -3.7002 -3.7002v-25.9004h-29.5v25.9004
c0 4.7998 -6.5 3.7002 -9.5 3.7002v30.7002c6.7002 1.59961 13.7998 2.7998 20.7998 2.7998c8.80078 0 16.8008 -3.5 25.4004 -3.5c3.7002 0 22.4004 0.899414 22.4004 6.5v48.3994c0 2.10059 -1.60059 3.7002 -3.7002 3.7002c-4.2002 0 -12.2002 -3.5 -19.4004 -3.5
c-7.89941 0 -16.8994 3.5 -26.2998 3.5c-6.5 0 -12.9004 -0.899414 -19.2002 -2.2998v3.90039c4.40039 2.09961 7.40039 6.69922 7.40039 11.5c0 16.7998 -25.4004 16.7998 -25.4004 0c0 -4.80078 3 -9.5 7.40039 -11.5v-90.2002c-3 0 -9.5 1.09961 -9.5 -3.7002v-25.9004
h-29.5v25.9004c0 2.09961 -1.60059 3.7002 -3.7002 3.7002h-22.2002c-2.09961 0 -3.7002 -1.60059 -3.7002 -3.7002v-25.9004h-29.5v25.9004c0 2.09961 -1.59961 3.7002 -3.69922 3.7002h-22.1006c-2.09961 0 -3.7002 -1.60059 -3.7002 -3.7002v-144h-29.5996v25.7998
c0 2.10059 -1.59961 3.7002 -3.7002 3.7002h-22.0996c-2.10059 0 -3.7002 -1.59961 -3.7002 -3.7002v-71.2998c9.40039 -15.5 20.5996 -29.9004 33.5996 -42.9004c20.6006 -20.5996 44.5 -36.6992 71.2002 -48c13.9004 -5.89941 28.2002 -10.2998 42.9004 -13.1992v75.7998
c0 58.5996 88.5996 58.5996 88.5996 0v-75.7998c14.7002 2.89941 29 7.39941 42.9004 13.1992c26.7002 11.3008 50.5996 27.4004 71.2002 48c13 13 24.1992 27.4004 33.5996 42.9004z" />
    <glyph glyph-name="freebsd" unicode="&#xf3a4;" 
d="M303.7 351.8c11.0996 11.1006 115.5 77 139.2 53.2002c23.6992 -23.7002 -42.1006 -128.1 -53.2002 -139.2c-11.1006 -11.0996 -39.4004 -0.899414 -63.1006 22.9004c-23.7998 23.7002 -34.0996 52 -22.8994 63.0996zM109.9 379.9
c-31.6006 -19.4004 -57.9004 -46.5 -76.4004 -78.7002c-20.7998 36.2998 -44.5 89.0996 -27.9004 105.7c16.4004 16.5 68 -6.40039 104.301 -27zM406.7 274c3.2998 5.5 7 11.7998 10.8994 18.7998c17.6006 -31.2998 27.7002 -67.3994 27.7002 -105.8
c0 -119.1 -96.5 -215.6 -215.6 -215.6c-119.101 0 -215.601 96.5996 -215.601 215.6c0 119.1 96.5 215.6 215.601 215.6c35.8994 0 69.7002 -8.7998 99.5 -24.2998c-7.2998 -4 -13.9004 -8 -19.6006 -11.5996c-26 4.7002 -32.8994 -16.4004 -14.8994 -48.7002
c21.7998 -43.0996 89 -90.4004 109.3 -70.0996c5.40039 5.39941 6 14.7998 2.7002 26.0996z" />
    <glyph glyph-name="gitkraken" unicode="&#xf3a6;" horiz-adv-x="592" 
d="M565.7 329.9c11.7998 -31.6006 18.2998 -65.7002 18.2998 -101.4c0 -155.1 -122.6 -281.6 -276.3 -287.7v145.8c-8.40039 -0.5 -16.6006 -0.399414 -23.4004 0v-145.899c-153.7 6.2002 -276.3 132.7 -276.3 287.8c0 35.7002 6.5 69.7998 18.2998 101.3
c2.2998 6.2002 9.2998 9.2002 15.2998 6.60059c5.7002 -2.40039 8.5 -8.80078 6.30078 -14.6006c-10.9004 -29 -16.9004 -60.5 -16.9004 -93.2998c0 -134.6 100.4 -245.7 230.2 -262.7v123.7c-7.90039 1.59961 -15.4004 3.7002 -23 6.2002v-104
c-106.7 26 -185.9 122.1 -185.9 236.8c0 91.7998 50.7998 171.8 125.8 213.3c5.80078 3.2002 13 0.900391 15.9004 -5c2.7002 -5.5 0.700195 -12.0996 -4.7002 -15.0996c-67.8994 -37.7002 -113.899 -110.101 -113.899 -193.2c0 -93.4004 57.8994 -173.2 139.8 -205.4
v92.2002c-14.2002 4.5 -24.7998 17.7002 -24.7998 33.5c0 13.1006 6.69922 24.4004 17.2998 30.5c-8.2002 79.6006 -44.5 58.6006 -44.5 83.9004v14.7998c0 38 87.8994 161.7 129.1 164.7c2.60059 0.200195 5.10059 0.200195 7.60059 0
c41.0996 -2.90039 129 -126.7 129 -164.7v-14.7002c0 -25.2998 -36.2002 -4.39941 -44.5 -83.8994c10.5 -6.10059 17.2998 -17.4004 17.2998 -30.5c0 -15.8008 -10.7002 -29 -24.9004 -33.5v-92.2002c81.9004 32.2998 139.8 112.1 139.8 205.399
c0 83.2002 -46 155.601 -113.899 193.2c-5.2998 2.90039 -7.40039 9.60059 -4.7002 15.1006c2.90039 5.89941 10.2002 8.19922 15.9004 5c75 -41.5 125.8 -121.5 125.8 -213.301c0 -114.699 -79.2002 -210.899 -185.9 -236.8v104
c-7.5 -2.59961 -15.0996 -4.7002 -23 -6.2002v-123.699c129.9 17 230.2 128.1 230.2 262.699c0 32.8008 -6 64.3008 -16.9004 93.3008c-2.19922 5.69922 0.600586 12.1992 6.30078 14.5996c6 2.59961 13 -0.5 15.2998 -6.59961zM365.9 172.5
c-13.1006 0 -23.7002 -10.5996 -23.7002 -23.7002c0 -13.2002 10.7002 -23.7002 23.7002 -23.7002c13.0996 0 23.6992 10.6006 23.6992 23.7002c0 13.2002 -10.6992 23.7002 -23.6992 23.7002zM226.1 125.2c13.2002 0 23.7002 10.7002 23.7002 23.7002
c0 13.0996 -10.5996 23.6992 -23.7002 23.6992c-13.1992 0 -23.6992 -10.6992 -23.6992 -23.6992s10.5 -23.7002 23.6992 -23.7002z" />
    <glyph glyph-name="gofore" unicode="&#xf3a7;" horiz-adv-x="400" 
d="M324 128.2c54.2998 0 65.7002 -50.1006 67.7002 -77.7002c-46.5 -56.2998 -107.8 -82.5 -171 -82.5c-123.7 0 -220.7 101.5 -220.7 224c0 123.4 98 224 220.7 224c59 0 114.3 -23.2998 156.1 -65.5996l-62.2998 -63.3008c-25 25.4004 -58.2998 39.4004 -93.5996 39.4004
c-73.2002 0 -132.4 -60.2998 -132.4 -134.4c0 -74.1992 59.2002 -134.399 132.4 -134.399c33.5996 0 65.3994 12.7002 89.8994 35.7998v34.7002h13.2002zM311.9 240.7c47.6992 0 88.0996 -35 88.0996 -100.2v-30.5996c-15.5 26.6992 -42.5 41.7998 -76 41.7998h-118.4v89
h106.301z" />
    <glyph glyph-name="goodreads" unicode="&#xf3a8;" 
d="M299.9 256.8c5.09961 -37.2998 -4.7002 -79 -35.9004 -100.7c-22.2998 -15.5 -52.7998 -14.0996 -70.7998 -5.69922c-37.1006 17.2998 -49.5 58.5996 -46.7998 97.1992c4.2998 60.9004 40.8994 87.9004 75.2998 87.5c46.8994 0.200195 71.7998 -31.7998 78.2002 -78.2998
zM448 360v-336c0 -30.9004 -25.0996 -56 -56 -56h-336c-30.9004 0 -56 25.0996 -56 56v336c0 30.9004 25.0996 56 56 56h336c30.9004 0 56 -25.0996 56 -56zM330 134.8c0 0 -0.0996094 34 -0.0996094 217.3h-29v-40.2998c-0.800781 -0.299805 -1.2002 0.5 -1.60059 1.2002
c-9.59961 20.7002 -35.8994 46.2998 -76 46c-51.8994 -0.400391 -87.2002 -31.2002 -100.6 -77.7998c-4.2998 -14.9004 -5.7998 -30.1006 -5.5 -45.6006c1.7002 -77.8994 45.0996 -117.8 112.399 -115.199c28.9004 1.09961 54.5 17 69 45.1992
c0.5 1 1.10059 1.90039 1.7002 2.90039c0.200195 -0.0996094 0.400391 -0.0996094 0.600586 -0.200195c0.299805 -3.7998 0.199219 -30.7002 0.0996094 -34.5c-0.200195 -14.7998 -2 -29.5 -7.2002 -43.5c-7.7998 -21 -22.2998 -34.7002 -44.5 -39.5
c-17.7998 -3.89941 -35.5996 -3.7998 -53.2002 1.2002c-21.5 6.09961 -36.5 19 -41.0996 41.7998c-0.299805 1.60059 -1.2998 1.2998 -2.2998 1.2998h-26.7998c0.799805 -10.5996 3.19922 -20.2998 8.5 -29.1992c24.1992 -40.5 82.6992 -48.5 128.199 -37.4004
c49.9004 12.2998 67.3008 54.9004 67.4004 106.3z" />
    <glyph glyph-name="goodreads-g" unicode="&#xf3a9;" horiz-adv-x="384" 
d="M42.5996 44.7002h2.80078c12.6992 0 25.5 0 38.1992 -0.100586c1.60059 0 3.10059 0.400391 3.60059 -2.09961c7.09961 -34.9004 30 -54.5996 62.8994 -63.9004c26.9004 -7.59961 54.1006 -7.7998 81.3008 -1.7998c33.7998 7.40039 56 28.2998 68 60.4004
c8 21.5 10.6992 43.7998 11 66.5c0.0996094 5.7998 0.299805 47 -0.200195 52.7998l-0.900391 0.299805c-0.799805 -1.5 -1.7002 -2.89941 -2.5 -4.39941c-22.0996 -43.1006 -61.2998 -67.4004 -105.399 -69.1006c-103 -4 -169.4 57 -172 176.2
c-0.5 23.7002 1.7998 46.9004 8.2998 69.7002c20.5996 71.0996 74.5996 118.2 153.899 118.8c61.3008 0.400391 101.5 -38.7002 116.2 -70.2998c0.5 -1.10059 1.2998 -2.2998 2.40039 -1.90039v61.6006h44.2998c0 -280.301 0.0996094 -332.2 0.0996094 -332.2
c-0.0996094 -78.5 -26.6992 -143.7 -103 -162.2c-69.5 -16.9004 -159 -4.7998 -196 57.2002c-8 13.5 -11.7998 28.2998 -13 44.5zM188.9 411.5c-52.5 0.5 -108.5 -40.7002 -115 -133.8c-4.10059 -59 14.7998 -122.2 71.5 -148.601
c27.5996 -12.8994 74.2998 -15 108.3 8.7002c47.5996 33.2002 62.7002 97 54.7998 154c-9.7002 71.1006 -47.7998 120 -119.6 119.7z" />
    <glyph glyph-name="google-drive" unicode="&#xf3aa;" horiz-adv-x="512" 
d="M339 133.1l-163.6 282.9h161.199l163.601 -282.9h-161.2zM201.5 109.5h310.5l-80.5996 -141.5h-310.5zM154.1 380.6l82.9004 -141.399l-156.4 -271.2l-80.5996 141.5z" />
    <glyph glyph-name="google-play" unicode="&#xf3ab;" horiz-adv-x="512" 
d="M325.3 213.7l-220.7 221.3l280.801 -161.2zM47 448l256.6 -255.9l-256.6 -256c-13 6.80078 -21.7002 19.2002 -21.7002 35.3008v441.3c0 16.0996 8.7002 28.5 21.7002 35.2998zM472.2 222.4c19.2002 -14.3008 19.2002 -46.5 1.2002 -60.8008l-60.1006 -34.0996
l-65.7002 64.5l65.7002 64.5zM104.6 -51l220.7 221.3l60.1006 -60.0996z" />
    <glyph glyph-name="gripfire" unicode="&#xf3ac;" horiz-adv-x="384" 
d="M112.5 146.6c0 -26.8994 16.5996 -47.1992 32.5996 -69.5c22.5 -30.1992 44.2002 -56.8994 44.2002 -86.5c-0.0996094 -14.5 -4.39941 -29.6992 -17.5 -46.3994c0 5.2998 4.7998 12.2002 4.7998 22.2998c0 15.2002 -13 39.9004 -78.0996 86.5996
c-34.2998 29.1006 -66.5 58.5 -66.5 108.301c0 114.699 147.1 176.5 147.1 268.6c0 3.2998 -0.199219 6.7002 -0.599609 10c5.09961 -2.40039 39.0996 -43.2998 39.0996 -90.4004c0 -80.5 -105.1 -129.199 -105.1 -203zM317.8 185.6
c1.5 -8.39941 2.2002 -16.5996 2.2002 -24.5996c0 -51.7998 -29.4004 -97.5 -67.2998 -136.8c-1 -1 -2.2002 -2.40039 -3.2002 -2.40039c-3.59961 0 -35.5 41.6006 -35.5 53.2002c0 0 41.7998 55.7002 41.7998 96.9004c0 10.7998 -2.7002 21.6992 -9.09961 33.3994
c-1.5 -32.2998 -55.7002 -87.7002 -58.1006 -87.7002c-2.69922 0 -17.8994 22 -17.8994 42.1006c0 5.2998 1 10.7002 3.2002 15.7998c2.39941 5.5 56.5996 72 56.5996 116.7c0 6.2002 -1 12 -3.40039 17.0996l-4 7.2002c16.7002 -6.5 82.6006 -64.0996 94.7002 -130.9z" />
    <glyph glyph-name="grunt" unicode="&#xf3ad;" horiz-adv-x="384" 
d="M61.2998 258.7c0.5 4.89941 2.7998 10 7 12h0.100586c-4.60059 1.7002 -9.2002 3.09961 -13.5 4.09961c42.1992 10.2002 73.3994 -20.5996 83.0996 -31.7998c16.5996 -19.2002 35.5 -8.7998 35.5 -8.7998c0.299805 -11.1006 -10.2998 -19 -21.0996 -19.5
c1.19922 -15.4004 -13.9004 -32.5 -13.9004 -32.5s5.59961 15 2.7002 25.2998c-0.900391 3.2002 -2 6.09961 -3 8.5c-19.2998 -17.2002 -48 -1.5 -54.9004 6.09961c-9.59961 10.6006 -12.3994 23.8008 -12.7998 34.1006c-1.7998 -3.7998 -3.2998 -9.10059 -4 -16.6006
c0 0 -6.2998 9.10059 -5.2002 19.1006zM89.5996 260.5c-2.89941 -9.09961 -3.39941 -27.7002 6.90039 -35.2998c16.2998 -12.1006 32.2998 -5 38 -1.7002c-7.5 11.2998 -25.4004 26 -44.9004 37zM231.7 214.7c-10.7998 0.399414 -21.4004 8.39941 -21.2002 19.2998
c0 0 18.7998 -10.4004 35.5 8.7998c9.7002 11.2002 40.7998 42 83.0996 31.7998c-4.2998 -0.899414 -8.89941 -2.2998 -13.5 -4.09961h0.100586c4.09961 -1.7998 6.39941 -6.7998 7 -11.7998c1.2002 -10 -5.2002 -19.1006 -5.2002 -19.1006
c-0.599609 7.5 -2.2002 12.8008 -4 16.6006c-0.5 -10.2998 -3.2002 -23.5 -12.7998 -34.1006c-6.7998 -7.59961 -35.5 -23.3994 -54.7998 -6.09961c-1 -2.5 -2.10059 -5.2998 -3 -8.5c-2.90039 -10.2998 2.69922 -25.2998 2.69922 -25.2998s-15.0996 17 -13.8994 32.5z
M294.4 260.5c-19.5 -11 -37.4004 -25.5996 -44.9004 -37c5.7002 -3.40039 21.5996 -10.5 37.9004 1.59961c10.3994 7.7002 10 26.3008 7 35.4004zM160 29.5c4.09961 0 7 -0.900391 8.7998 -2.7002c2.2002 -2.2998 1.5 -5.2998 0.900391 -6.7998
c-1.10059 -2.7002 -5.5 -11.5996 -13 -19.7998c-2.7002 -2.90039 -6.60059 -4.60059 -11 -4.60059c-4.2998 0 -8.7002 1.60059 -11.7998 4.30078c-2.30078 2.09961 -10.2002 9.5 -13.7002 18.5996c-1.2998 3.40039 -1 6.09961 0.899414 8.09961
c1.30078 1.30078 4 2.90039 9.5 2.90039h29.4004zM349.2 130.7c0 0 29.2998 -22.5 21.0996 -70.9004c-5.2998 -29.5 -23.2002 -46 -47 -54.7002c-8.7998 -19.0996 -29.3994 -45.6992 -67.2998 -49.5996c-14.5 -11.7998 -34.5 -19.5 -63.5996 -19.5h-0.200195
c-29.2002 0 -49.2002 7.7002 -63.6006 19.5c-37.8994 3.90039 -58.5 30.5 -67.2998 49.5996c-23.7998 8.60059 -41.7998 25.2002 -47 54.7002c-8.59961 48.2002 20.6006 70.7998 20.6006 70.7998c2.39941 -17.8994 13 -33.8994 24.5996 -43.7998
c3.09961 22.7002 3.7002 55.5 3.7002 62.4004c0 14.7002 -9.5 24.5 -12.2002 26.0996c-2.5 1.5 -5.2998 3 -8.2998 4.60059c-18 9.59961 -40.4004 21.5996 -40.4004 43.6992c0 16.1006 9.2998 23.2002 15.4004 27.8008c0.799805 0.599609 1.5 1.19922 2.2002 1.69922
c2.09961 1.7002 3.69922 3 4.2998 4.40039c4.39941 9.7998 3.59961 34.2002 1.7002 37.5996c-0.600586 0.700195 -16.8008 21 -11.8008 39.2002c2 7.40039 6.90039 13.2998 14.1006 17c5.2998 2.7002 11.7998 4.2002 19.5 4.5c0.0996094 2 0.5 4 0.899414 5.90039
c0.5 2.59961 1.10059 5.2998 0.900391 8.09961c-0.400391 4.7002 -0.799805 9.10059 -2.2002 11.2998c-8.39941 13.3008 -28.7998 17.6006 -29 17.6006l-12.2998 2.39941l8.09961 9.40039c0.200195 0.200195 17.3008 17.5 46.3008 17.5c7.89941 0 16 -1.2998 23.8994 -3.5
c24.2998 -7.7998 42.9004 -30.5 49.4004 -39.2998c2 0.599609 3.89941 1.2002 5.89941 1.7002c-1 26.3994 20.7002 47.3994 28.2002 48.2998c0.5 -4.5 -0.399414 -22.2002 7.2002 -27.6006c2.2002 14.4004 9.59961 30.3008 39.0996 40.7002
c-6.2998 -16.7002 -0.799805 -30.7002 1.80078 -37.2002c20.0996 18.2002 33.6992 15.2002 33.6992 15.2002s-13.1992 -22.7002 -9 -38.5c3.30078 -0.799805 6.5 -1.7002 9.60059 -2.7002c6.5 8.80078 25.2002 31.5 49.3994 39.3008
c8.10059 2.59961 16.2002 3.89941 24.1006 3.89941c29 0 46.2002 -17.2998 46.2998 -17.5l8.09961 -9.5l-12.2998 -2.39941c-0.200195 0 -20.5996 -4.30078 -29 -17.6006c-1.39941 -2.2998 -1.7998 -6.59961 -2.2002 -11.2998
c-0.199219 -2.7998 0.300781 -5.5 0.900391 -8.09961c0.400391 -2 0.799805 -3.90039 0.900391 -5.90039c7.59961 -0.299805 14.1992 -1.7998 19.5 -4.5c7.19922 -3.7002 12.0996 -9.59961 14.0996 -17c4.90039 -18.2998 -11.2002 -38.5996 -11.7998 -39.2002
c-1.90039 -3.39941 -2.7002 -27.7998 1.7002 -37.5996c0.599609 -1.40039 2.19922 -2.7002 4.2998 -4.40039c0.700195 -0.599609 1.39941 -1.09961 2.2002 -1.7002c6.09961 -4.59961 15.3994 -11.5996 15.3994 -27.7998c0 -22.0996 -22.3994 -34.0996 -40.3994 -43.7002
c-2.90039 -1.59961 -5.80078 -3.09961 -8.30078 -4.59961c-2.69922 -1.59961 -12.1992 -11.4004 -12.1992 -26.0996c0 -6.90039 0.599609 -39.7002 3.69922 -62.4004c11.6006 9.90039 22.2002 25.7998 24.6006 43.7002zM305.7 410.3
c-17.7998 -5.7002 -31.6006 -23.0996 -37.7002 -32.2002c1.59961 -0.699219 3.09961 -1.39941 4.7002 -2.19922c2.59961 -1.2002 4.89941 -2.40039 7.09961 -3.7002c2.7002 5.5 8.40039 13.7002 20.7002 22.3994c8.2002 5.80078 18.2002 8.90039 28.7002 8.90039
c3.59961 0 6.7998 -0.400391 9.2002 -0.799805c3.2998 2.09961 6.59961 3.89941 9.69922 5.2998c-4.7998 2 -13.6992 5 -24.6992 5c-6.10059 0 -12.1006 -0.900391 -17.7002 -2.7002zM326.7 392.1c-7.40039 -0.299805 -14 -2.69922 -19.6006 -7
c-8 -6.39941 -12.0996 -17.6992 -13.5 -22.5c4.90039 -4.19922 8.2002 -8.09961 10.5 -11.1992c3.40039 1 7.30078 1.89941 11.5 2.69922c3.30078 4.5 3.90039 10.6006 4.40039 17c0.5 6.2002 1.09961 12.6006 4.40039 17.8008c0.699219 1.09961 1.5 2.19922 2.2998 3.19922
zM45.5996 402.7c2.40039 0.399414 5.60059 0.799805 9 0.899414c10.6006 0 20.5 -3.09961 28.8008 -8.89941c12.3994 -8.7002 18.0996 -17 20.6992 -22.4004c2.2002 1.2002 4.60059 2.5 7.10059 3.7002c1.59961 0.799805 3.2002 1.5 4.7998 2.2002
c-6.09961 8.89941 -19.9004 26.2998 -37.7002 32.0996c-5.7002 1.7998 -11.5996 2.7002 -17.7002 2.7002c-11 0 -19.8994 -3 -24.6992 -5c3.09961 -1.2998 6.39941 -3.09961 9.69922 -5.2998zM90.2998 362.6c-1.39941 4.80078 -5.5 16.1006 -13.5 22.4004
c-5.5 4.40039 -12.0996 6.7002 -19.5 7c0.799805 -1 1.60059 -2.09961 2.2998 -3.2002c3.30078 -5.2002 3.90039 -11.5996 4.40039 -17.7998c0.5 -6.40039 1 -12.5 4.2998 -16.9004c4.2002 -0.799805 8.10059 -1.7998 11.5 -2.69922c2.2002 3.19922 5.60059 7 10.5 11.1992z
M58.0996 188.1c8.7002 -5 18.1006 -16.7998 19 -34.1992c0.900391 -14.7002 -0.899414 -49.9004 -3.39941 -75.9004c12.5 -4.7998 26.7002 -6.40039 39.7002 -6.7998c2 4.09961 3.89941 8.5 5.5 13.0996c0.699219 1.90039 19.5996 51 26.3994 62.2002
c-5.39941 -39 -17.5 -73.7002 -23.5 -89.5996c3.40039 0.399414 7.2998 0.699219 11.7002 0.699219h117c4.40039 0 8.2002 -0.199219 11.7002 -0.699219c-6 15.8994 -18 50.5996 -23.5 89.5996c6.7998 -11.0996 25.7002 -60.2002 26.3994 -62.2002
c1.60059 -4.59961 3.5 -9 5.5 -13.0996c13 0.399414 27.3008 2 39.7002 6.7998c-2.5 26 -4.2998 61.2998 -3.39941 75.9004c1.09961 17.5 10.3994 29.1992 19.0996 34.1992c2.7002 1.5 5.5 3.10059 8.40039 4.60059c14.7998 8 30.1992 16.2998 30.1992 30.5
c0 11.0996 -4.2998 14.5 -8.89941 18.2002l-0.5 0.399414c-0.700195 0.600586 -1.5 1.2002 -2.2002 1.7998c0.900391 -7.19922 1.90039 -13.2998 2.7002 -14.8994c0 0 -12.1006 15 -15.7002 44.2998c-1.40039 11.5 1.09961 34.2002 5.09961 43
c-0.199219 -4.90039 0 -9.7998 0.300781 -14.4004c0.399414 0.900391 0.799805 1.60059 1.2998 2.2002c3.2998 4 11.8994 17.5 9.39941 26.6006c-1 3.39941 -3.19922 6 -6.69922 7.7998c-3.80078 1.89941 -8.80078 2.89941 -15.1006 2.89941
c-12.2998 0 -25.8994 -3.7998 -32.8994 -6c-25.1006 -7.89941 -55.4004 -30.8994 -64.1006 -37.6992c-0.200195 -0.200195 -0.399414 -0.300781 -0.399414 -0.300781l-5.60059 -3.89941l3.5 5.7998c0.200195 0.299805 19.1006 31.4004 53.1006 46.5
c-2 2.90039 -7.40039 8.2002 -21.6006 15.0996c-21.3994 10.5 -46.3994 15.8008 -74.2998 15.8008c-27.7998 0 -52.9004 -5.30078 -74.2998 -15.8008c-14.2002 -7 -19.6006 -12.1992 -21.6006 -15.0996c34.1006 -15.0996 53 -46.2002 53.2002 -46.5l3.5 -5.7998
l-5.59961 3.89941s-0.200195 0.100586 -0.400391 0.300781c-8.7002 6.7998 -39 29.6992 -64.0996 37.6992c-7 2.30078 -20.6006 6 -32.9004 6c-6.2998 0 -11.2998 -1 -15.0996 -2.89941c-3.60059 -1.7998 -5.7998 -4.2998 -6.7002 -7.7998
c-2.40039 -9.10059 6.2002 -22.6006 9.40039 -26.6006c0.5 -0.599609 0.899414 -1.39941 1.2998 -2.2002c0.299805 4.60059 0.5 9.5 0.299805 14.4004c4 -8.7002 6.5 -31.5 5.09961 -43c-3.59961 -29.2998 -15.6992 -44.2998 -15.6992 -44.2998
c0.799805 1.59961 1.7998 7.7002 2.69922 14.8994c-0.799805 -0.599609 -1.5 -1.19922 -2.19922 -1.7998l-0.5 -0.399414c-4.60059 -3.60059 -8.90039 -7.10059 -8.90039 -18.2002c0 -14.2002 15.2998 -22.5 30.2002 -30.5c2.7998 -1.5 5.7002 -3 8.39941 -4.60059z
M34.7998 43.4004c11.9004 -19.7002 35.5 -29.4004 58.2002 -29.5c-4.5 13.2998 -3.09961 24 4.09961 31.7998l1.40039 1.39941c1.7998 2.40039 4.2998 5.80078 7 10c-27.2002 1.10059 -63.5 11 -74.4004 45.4004c-5 -5 -8.39941 -39.0996 3.7002 -59.0996zM80.5 -0.0996094
c6.5 -9.5 16.5 -19.6006 30.9004 -25.5c-4.90039 7.19922 -8.80078 15.0996 -12.3008 23.0996c-6.39941 0.5 -12.5996 1.2998 -18.5996 2.40039zM192 -50.2002c60.5996 0.100586 78.2998 45.9004 84.9004 64.7002c3.59961 10.5 3.2998 18.2998 -0.900391 23.0996
c-2.7998 3.30078 -9.5 7.2002 -24.5996 7.2002h-118.801c-15.0996 0 -21.6992 -3.89941 -24.5996 -7.2002c-4.2998 -4.89941 -4.59961 -12.5996 -0.900391 -23.0996c6.60059 -18.9004 24.3008 -64.5996 84.9004 -64.7002zM272.6 -25.5996
c14.4004 5.89941 24.4004 16 30.9004 25.5c-6 -1.10059 -12.2002 -1.90039 -18.5996 -2.40039c-3.5 -8 -7.40039 -15.9004 -12.3008 -23.0996zM349.2 43.4004c12.2002 19.8994 8.7998 54 3.7998 59c-10.9004 -34.4004 -47.2002 -44.2002 -74.4004 -45.4004
c2.7002 -4.2002 5.2002 -7.59961 7 -10c0.5 -0.5 1 -1 1.40039 -1.5c7.2002 -7.7002 8.59961 -18.5 4.09961 -31.7998c22.5 0.399414 46.1006 10 58.1006 29.7002zM191.9 260.3c-12.7002 0.200195 -27.2002 17.7998 -27.2002 17.7998
c9.89941 -6 18.7998 -8.09961 27.2998 -8.2998c8.5 0.200195 17.4004 2.2998 27.2998 8.2998c0 0 -14.5 -17.6992 -27.2002 -17.7998h-0.199219zM253.6 29.5996c5.40039 -0.0996094 8.10059 -1.69922 9.40039 -3c1.90039 -1.89941 2.2002 -4.59961 0.900391 -7.89941
c-3.5 -8.90039 -11.4004 -16.1006 -13.7002 -18.1006c-3.10059 -2.59961 -7.40039 -4.19922 -11.7998 -4.19922c-4.40039 0 -8.30078 1.59961 -11 4.5c-7.5 8 -12 16.6992 -13 19.2998c-0.600586 1.5 -1.30078 4.39941 0.899414 6.7002
c1.7002 1.7998 4.7002 2.69922 8.90039 2.69922h29.3994z" />
    <glyph glyph-name="gulp" unicode="&#xf3ae;" horiz-adv-x="256" 
d="M209.8 56.9004l-14.0996 -24.6006l-4.60059 -80.2002c0 -8.89941 -28.2998 -16.0996 -63.0996 -16.0996s-63.0996 7.2002 -63.0996 16.0996l-5.80078 79.4004l-14.8994 25.4004c41.2002 -17.3008 126 -16.7002 165.6 0zM13.7998 310.2
c30.7002 -17 197.8 -16.9004 228.3 0.200195l-14.7998 -136.801c-4.7998 -4.19922 -11.5996 -10.1992 -16.5996 -14.0996c-1.60059 -1.2002 -6 -4.7002 -8 -4.7002c-1.2998 0 -2.2002 0.5 -2.2002 1.7998c0.0996094 1 3.40039 4.5 5 6.40039
c4.90039 5.7002 13.7998 16 13.7998 23.4004c0 7 -10.7002 14.0996 -25.7002 0.199219c-1.59961 -1.5 -3.09961 -3 -4.5 -4.5c0.400391 1.10059 1.10059 5.10059 1.10059 6.2002c0 2.7998 -1.40039 4 -4.2002 4c-1 0 -1.90039 -0.599609 -2.7002 -1.59961
c-2.59961 -3.10059 -3.89941 -7.5 -5.2998 -11.2998c-0.5 -1.80078 -1.09961 -3.60059 -1.7002 -5.5c-0.399414 -0.200195 -0.700195 -0.300781 -0.899414 -0.600586c-3.80078 -3.89941 -17.7002 -17 -23.1006 -17c-2.2998 0 -1.59961 3.60059 -1 5.7998
c1 3.40039 6.7998 17.7002 8.7002 22.3008c4.59961 11.0996 8 19.7998 13.2002 31.8994c3.89941 9.2002 3.7998 8.60059 4.5 10.5c0.700195 2.10059 0.700195 4.90039 -1 6.2002c-1 0.700195 -2 1.09961 -3.2002 1.09961c-2.40039 0 -4.7998 -1.39941 -6.09961 -4.69922
c-25.5 -64.4004 -25.2002 -63.3008 -26.4004 -68.2002c-2 -1.7002 -4.40039 -3.40039 -6.7998 -4.5c-3.10059 -1.40039 -6.7998 -2.2002 -6.7998 1.2002c0 3.69922 1.39941 8.19922 2.69922 11.6992c2.2002 6.10059 4.90039 11.1006 6.90039 16.7002
c0.900391 2.40039 1.2998 4.7002 -0.400391 6.90039c-0.799805 1 -1.89941 1.5 -3.19922 1.5c-2.60059 0 -4.10059 -2.60059 -5.2002 -5.10059c-0.700195 -1.5 -1.2998 -3.09961 -1.7998 -4.7998c-1.2002 -4 -3.60059 -8.7002 -5.60059 -12.2998
c-2.7998 -5 -6.5 -10.0996 -11.0996 -13.5c-2.2002 -1.59961 -4.5 -2.40039 -6.90039 -2.40039c-3.5 0 -2.39941 5.7002 -1.5 9c2.2002 7.80078 5.5 13.3008 9.2998 20.8008c1.30078 2.69922 2.30078 5.39941 -0.299805 7.19922c-0.5 0.300781 -1 0.5 -1.59961 0.700195
c-3.40039 0.900391 -6 -1.09961 -7.60059 -4.5c-3.09961 -6.2998 -5.39941 -11.7002 -7.09961 -16.2002c-3.2998 -8.89941 -6.90039 -18.2998 -4.59961 -23.7998c1.5 -3.7002 4.5 -5.09961 8.59961 -5.09961c9.7998 0 17.7998 6.7002 22.4004 14.8994
c-4.30078 -19.7998 8.19922 -17.2998 20 -8.09961c0.0996094 -0.400391 0.0996094 -0.799805 0.199219 -1.2002c1.5 -6.7002 8.7002 -6.7002 14.5 -4.09961c3.5 1.59961 8.2002 4.5 14.4004 10.5c0.200195 0.299805 0.799805 1.39941 -0.799805 -2.2998
c-7.2002 -16.2002 -13.5 -28.2002 -15 -34.3008c-0.200195 -0.899414 -0.299805 -1.7998 -0.299805 -2.69922c0 -1.80078 0.399414 -3.10059 1.2998 -3.7002c1.59961 -1.2002 4.2002 -1.2998 6.09961 -0.299805c1.7998 1 3.10059 2.59961 4 4.5
c1 2.19922 0.200195 0.699219 5.2002 14c5 13.3994 2.90039 7.7998 9.09961 22c1.90039 4.2998 4.2002 9.5 8.5 15.5c2.5 3.39941 5.5 7 8.7002 9.69922c5.7002 4.7002 11.7002 5.40039 11.7002 2.5c0 -2.19922 -3.2998 -6.39941 -4.7002 -8.09961
c-5.2998 -6.7002 -14.3994 -16.2998 -14.3994 -21.5c0 -9.5 12 -8 17.3994 -5.7002c7.2998 3.2002 13.9004 9.60059 19.6006 14.7998l-10.9004 -94.5996c-1.90039 -4.90039 -39.0996 -17.0996 -88.2002 -17.0996c-49 0 -86.2002 12.0996 -88.2002 17.0996l-7.59961 79.5996
c2.09961 -1.5 4.2998 -2.39941 7.7002 -2.39941c7.39941 0 16.0996 6.7002 21.5 11.7998c2.2998 2.2002 4.39941 4.40039 6.39941 6.59961c-1 -3 -7.09961 -22 -7.2998 -25.1992c-0.0996094 -1 -0.200195 -4.90039 0.799805 -6.30078
c0.5 -0.799805 1.40039 -1.19922 2.60059 -1.19922c2.89941 0 5.59961 4.69922 6.2998 7.5c0 0 1.7998 6.2998 7.59961 25.7998c6.30078 21.0996 10 24.5 10 34.7002c0 5.59961 -7.2998 6.7998 -9.89941 0l-5.2002 -15.5c-2.2002 -4.5 -8 -11.5 -12.5 -16
c-3.5 -3.5 -10.7998 -10.1006 -15.7998 -10.1006c-2.40039 0 -3.90039 1.40039 -4.90039 3.60059c-2.2998 5.2998 -0.899414 14.2998 0.600586 19.8994c2.59961 9.7002 6.89941 19.4004 12 28.2002c4.19922 7.2998 10.1992 15.7002 17.0996 20.7002
c6.59961 4.7998 12.7998 4.5 16.9004 -2.7998c1.5 -2.7002 3.7998 -7.30078 6.7998 -7.30078c2.5 0 5.7002 2.60059 4.5 9.10059c-0.5 2.5 -4.90039 8.7998 -10.1006 11.7998c-6 3.59961 -12.3994 3.59961 -18.6992 0.900391
c-19.2002 -8.2002 -34.1006 -35.2002 -40 -55.2002zM243.5 318.7c0 -21 -231.2 -21 -231.2 0c0 8.7998 51.7998 15.8994 115.601 15.8994c9 0 17.7998 -0.0996094 26.2998 -0.399414l12.5996 48.7002l61.2998 64.5c1.40039 1.39941 5.80078 0.199219 9.90039 -3.5
c4.09961 -3.7002 6.59961 -7.90039 5.2998 -9.30078l-0.0996094 -0.0996094l-57.2998 -60.5l-10 -40.7002c39.8994 -2.59961 67.5996 -8.09961 67.5996 -14.5996zM174.1 314.1c0 0.800781 -0.899414 1.5 -2.5 2.10059l-0.199219 -0.799805
c0 -1.30078 -5 -2.40039 -11.1006 -2.40039c-6.09961 0 -11.0996 1.09961 -11.0996 2.40039c0 0.0996094 0 0.199219 0.0996094 0.299805l0.200195 0.700195c-1.7998 -0.600586 -3 -1.40039 -3 -2.30078c0 -2.09961 6.2002 -3.69922 13.7002 -3.69922
c7.7002 -0.100586 13.8994 1.59961 13.8994 3.69922z" />
    <glyph glyph-name="hacker-news-square" unicode="&#xf3af;" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM21.2002 218.8h-0.200195c0.0996094 0.100586 0.200195 0.299805 0.299805 0.400391c0 -0.100586 0 -0.299805 -0.0996094 -0.400391z
M239.2 164.9l80.7998 155.1h-34.7998c-54.7998 -101.2 -48.2998 -98.5996 -60.6006 -125.6c-10.0996 24.3994 -6.7998 27.2998 -59.2998 125.6h-37.2998l79.7998 -153.3v-102.7h31.4004v100.9z" />
    <glyph glyph-name="hire-a-helper" unicode="&#xf3b0;" horiz-adv-x="512" 
d="M443.1 448c3.90039 -36.4004 32.5 -65.7998 68.9004 -71.7002v-370.5c-35.4004 -4 -64.9004 -33.3994 -67.9004 -69.7998h-372.199c-5.90039 36.4004 -34.5 63.9004 -71.9004 68.7998v371.5c37.4004 3.90039 67.9004 34.4004 71.9004 71.7002h371.199zM406.1 43.0996
c7.80078 0 5.80078 10.8008 0 10.8008c-10.2998 3.39941 -13.5 3.59961 -21.6992 13.7998c-7.80078 12.8994 -7.90039 44.3994 -7.90039 127.8v101.2c0 22.0996 12.2002 28.2998 28.5996 32.3994c8.90039 2.2002 3.90039 11.8008 -1 11.8008
c-36.5 0 -20.5996 -2 -57.0996 -2c-32.7002 0 -16.5 2 -49.2002 2c-3.2998 0 -8.5 -8.30078 -1 -10.8008c4.90039 -1.59961 27.6006 -3.69922 27.6006 -39.2998c0 -45.5996 0.199219 -55.7998 -1 -68.7998c0 -1.2998 -2.30078 -12.7998 -12.8008 -12.7998h-109.199
c-10.5 0 -12.8008 11.5 -12.8008 12.7998c-1.19922 13 -1 23.2002 -1 68.7998c0 35.6006 22.7002 37.7002 27.6006 39.2998c7.5 2.5 2.2998 10.8008 -1 10.8008c-32.7002 0 -16.5 -2 -49.2002 -2c-36.5 0 -20.5996 2 -57.0996 2c-5 0 -9.80078 -9.60059 -1 -11.8008
c16.3994 -4.09961 28.5996 -10.1992 28.5996 -32.3994v-101.2c0 -83.4004 -0.200195 -114.9 -7.90039 -127.8c-8.19922 -10.2998 -11.5 -10.4004 -21.6992 -13.7998c-5.80078 0 -7.90039 -10.8008 0 -10.8008c36.2998 0 18.7998 2 55.0996 2c35.7998 0 21 -2 56.0996 -2
c6 0 4.90039 8.2002 0 9.80078c-22.7998 7.59961 -22.8994 10.2998 -24.5996 12.7998c-10.4004 15.5996 -5.90039 83 -5.90039 113c0 5.2998 6.40039 12.7998 13.8008 12.7998h111.199c7.40039 0 13.8008 -7.5 13.8008 -12.7998c0 -30 4.5 -97.4004 -5.90039 -113
c-1.7002 -2.60059 -1.7998 -5.2002 -24.5996 -12.7998c-4.90039 -1.60059 -5.90039 -9.80078 0 -9.80078c35.0996 0 20.2998 2 56.0996 2c36.2998 0 18.7998 -2 55.0996 -2z" />
    <glyph glyph-name="hotjar" unicode="&#xf3b1;" 
d="M414.9 286.5c30 -53 41.7998 -121.6 26.2998 -180.9c-14.7002 -56.6992 -68.2998 -120.3 -148.8 -145.6c54.5 76.9004 43.8994 200.1 -27.1006 215.5c54.2002 -93.9004 -53.7002 -180.3 -110.8 -93.9004c-2.5 -7.19922 -25.0996 -74.5 4.09961 -129.6
c-61.0996 9.09961 -117.8 33.5 -144.6 93.4004c-35 78.1992 -2.7002 149.8 79 204.899c129.2 87.2998 28.0996 197.7 28.0996 197.7s219.101 -29 293.801 -161.5z" />
    <glyph glyph-name="hubspot" unicode="&#xf3b2;" horiz-adv-x="512" 
d="M267.4 236.4l-163.2 114.699c-7.90039 -4.69922 -17 -7.59961 -26.7998 -7.59961c-28.8008 0 -52.2002 23.4004 -52.2002 52.2998c0 28.7998 23.3994 52.2002 52.2002 52.2002c28.8994 0 52.3994 -23.4004 52.3994 -52.2002c0 -4.7998 -0.799805 -9.39941 -2 -13.7998
c51.4004 -39.0996 141.3 -103.9 168.9 -124.8c13.0996 6.89941 27.5 11.5 42.7002 13.5996v61.2002c-17.5 7.40039 -28.2002 23.7998 -28.2002 42.9004c0 26.0996 20.5996 47.8994 46.7002 47.8994c26.0996 0 47 -21.7998 47 -47.8994
c0 -19.1006 -10.7002 -35.5 -28.2002 -42.9004v-61.5996c62.5 -9.5 110.2 -63.5 110.2 -128.7c0 -71.9004 -58.1006 -130.2 -130 -130.2c-29.9004 0 -57.3008 10 -79.3008 26.9004l-50 -50.2002c1.30078 -3.90039 1.90039 -7.90039 1.90039 -12.1006
c0 -10.6992 -4.2002 -20.8994 -11.7998 -28.5c-7.7002 -7.69922 -17.7998 -11.5996 -28.6006 -11.5996c-10.6992 0 -20.8994 4 -28.5 11.5996c-7.59961 7.60059 -11.7998 17.7002 -11.7998 28.5c0 10.8008 4.2002 21 11.7998 28.6006
c7.60059 7.59961 17.7002 11.7998 28.5 11.7998c4.90039 0 9.60059 -0.900391 14 -2.5l49.5 49.7998c-16.2998 21.7002 -26 48.7002 -26 78c0 37.2998 15.7002 70.9004 40.8008 94.6006zM356.9 72.7998c38.0996 0 69 30.9004 69 69c0 38.1006 -30.9004 69 -69 69
c-38.1006 0 -69 -30.8994 -69 -69c0 -38.0996 30.8994 -69 69 -69z" />
    <glyph glyph-name="itunes" unicode="&#xf3b4;" 
d="M223.6 367.7c94.5 0 171.2 -76.7002 171.2 -171.3c0 -94.5 -76.5996 -171.2 -171.2 -171.2c-94.5996 0 -171.1 76.7998 -171.1 171.3s76.5 171.2 171.1 171.2zM303 127.7c1.40039 6.2002 0.900391 -3 1 167.6c0 5.7002 -3.2998 9.10059 -9 8.7002
c-1.7998 0 -14.0996 -2.40039 -115.1 -21.4004c-0.900391 0 -4.60059 -1 -6.7002 -2.69922c-2 -1.60059 -3.10059 -3.80078 -3.5 -6.40039c-1.7002 -6.7002 2.39941 -128 -2.60059 -133.7c-2.09961 -2.5 -4.69922 -3.2002 -7.69922 -3.7002
c-17.7002 -3.19922 -29.6006 -4.7998 -38 -12.7998c-14.5 -14.2002 -7 -38.8994 14.3994 -42.8994c8 -1.40039 23.1006 0.599609 31.4004 5.19922c7.2998 3.80078 12.7998 10.6006 14.8994 19.6006c1.7002 7.7002 1.2002 2.39941 1.2002 118.5
c0 5.7002 1.7002 7.2002 6.7002 8.2998c0 0 87.9004 16.4004 91.9004 17.0996c5.69922 1 8.39941 -0.5 8.39941 -6.09961c0 -78.7998 1 -77.2002 -2.2002 -80.7998c-2.09961 -2.5 -4.69922 -3.2002 -7.69922 -3.7002c-17.7002 -3.2002 -29.6006 -4.7998 -38 -12.7998
c-10.6006 -10.4004 -10.4004 -26.7998 1.39941 -36.7998c9.7002 -7.80078 19.7998 -7.2002 31.9004 -5c13.7998 2.59961 24.0996 10.1992 27.2998 23.7998zM345.2 416c56.8994 0 102.8 -45.9004 102.8 -102.8v-242.4c0 -56.8994 -45.7998 -102.8 -102.8 -102.8h-242.4
c-56.8994 0 -102.8 45.9004 -102.8 102.8v242.4c0 56.8994 45.9004 102.8 102.8 102.8h242.4zM223.6 4c106.301 0 192.5 86.2002 192.5 192.5s-86.1992 192.5 -192.5 192.5c-106.3 0 -192.5 -86.2002 -192.5 -192.5s86.2002 -192.5 192.5 -192.5z" />
    <glyph glyph-name="itunes-note" unicode="&#xf3b5;" horiz-adv-x="384" 
d="M381.9 59.7998c-6.40039 -27.3994 -27.2002 -42.7998 -55.1006 -48c-24.5 -4.5 -44.8994 -5.59961 -64.5 10.2002c-23.8994 20.0996 -24.2002 53.4004 -2.7002 74.4004c17 16.1992 40.9004 19.5 76.8008 25.7998c6 1.09961 11.1992 2.5 15.5996 7.39941
c6.40039 7.2002 4.40039 4.10059 4.40039 163.2c0 11.2002 -5.5 14.2998 -17 12.2998c-8.2002 -1.39941 -185.7 -34.5996 -185.7 -34.5996c-10.2002 -2.2002 -13.4004 -5.2002 -13.4004 -16.7002c0 -234.7 1.10059 -223.899 -2.5 -239.5
c-4.2002 -18.2002 -15.3994 -31.8994 -30.2002 -39.5c-16.7998 -9.2998 -47.1992 -13.3994 -63.3994 -10.3994c-43.2002 8.09961 -58.4004 58 -29.1006 86.5996c17 16.2002 40.9004 19.5 76.8008 25.7998c6 1.10059 11.1992 2.5 15.5996 7.40039
c10.0996 11.5 1.7998 256.6 5.2002 270.2c0.799805 5.19922 3 9.59961 7.09961 12.8994c4.2002 3.5 11.7998 5.5 13.4004 5.5c204 38.2002 228.899 43.1006 232.399 43.1006c11.5 0.799805 18.1006 -6 18.1006 -17.6006c0.200195 -344.5 1.09961 -326 -1.7998 -338.5z" />
    <glyph glyph-name="jenkins" unicode="&#xf3b6;" horiz-adv-x="512" 
d="M487.1 23c1.5 -11.9004 -5.2998 -28.2998 -8.69922 -39.7002c-4.90039 -16.2998 -9.7002 -31.8994 -14.6006 -47.2002h-422c-0.700195 1.90039 -1.39941 4 -2.09961 6c-4.60059 14.2002 -12.6006 31.7002 -14.7002 45.8008
c-3.09961 20.8994 16.5996 22.0996 29.2002 31.0996c19.5 14 34.7998 21.7998 55.8994 34.2998c6.30078 3.7998 25.1006 13.2002 27.3008 17.6006c4.2998 8.69922 -7.30078 20.8994 -10.4004 27.6992c-4.90039 10.7002 -7.5 19.8008 -8.2002 30.4004
c-17.7002 2.7998 -31.0996 13.2998 -39.2002 25.2002c-13.3994 19.7002 -22.6992 56 -11.0996 83.7002c0.900391 2.19922 5.40039 6.5 6.09961 9.7998c1.40039 6.59961 -2.5 15.3994 -2.69922 22.3994c-1.2002 36 6.09961 67 30.2998 77.8008
c9.7998 39.0996 45 52.1992 78.0996 71.5996c12.2998 7.2998 26 11.9004 40.1006 17.0996c50.5 18.7002 128.1 15.1006 170.1 -16.5996c17.7998 -13.5 46.2002 -41.9004 56.4004 -62.5c26.8994 -54.2998 25 -145.1 6.19922 -211.2
c-2.5 -8.89941 -6.19922 -21.8994 -11.2998 -32.5996c-3.59961 -7.40039 -14.7002 -22.2998 -13.2998 -28.9004c1.40039 -6.7998 25.2998 -24.8994 30.4004 -29.8994c9.19922 -8.80078 26.7998 -20.7002 28.1992 -31.9004zM205.9 414.3
c-33.2002 -9.39941 -75.7002 -33.5 -89.3008 -63.3994c10.6006 1.5 17.9004 6.7998 28.3008 7.5c3.89941 0.299805 9.09961 -1.60059 13.5996 -0.5c9 2.2998 16.5996 22.5 23.4004 30c6.59961 7.39941 14.5996 10.5 20 17.1992c3.5 1.7002 8.69922 1.60059 8.89941 6.80078
c-1.5 1.69922 -3.09961 2.89941 -4.89941 2.39941zM101.1 320.7c-14.6992 -16.1006 -11.5996 -46.2998 -9.7998 -67.7998c26.5 16.6992 61.6006 -1.30078 61.2998 -29.6006c12.6006 0.299805 4.7002 15.7998 2.40039 25.7002c-7.5 32.5996 12.5996 67.9004 0.900391 97.5996
c-22.7002 -1.7998 -41.3008 -11 -54.8008 -25.8994zM137.8 120.5c4.90039 -20 15.7002 -46 26.2998 -61.4004c13.6006 -19.3994 40.1006 -22.2998 68.7002 -24.1992c5.10059 11 23.9004 10.0996 36.2002 7.19922c-14.7002 5.80078 -28.4004 19.9004 -39.7002 32.4004
c-13 14.2998 -26.0996 29.7002 -26.7998 48.4004c24.5 -34 44.7998 -63.8008 89.5 -78.8008c33.7998 -11.2998 73.2002 5.2002 99.2002 23.4004c10.7998 7.59961 17.2002 19.5996 24.8994 30.5996c28.7002 41.2002 42 100.101 39.1006 157.101
c-1.2002 23.5 -1.10059 47 -9 62.7998c-8.2998 16.5996 -36.2002 31.2998 -52.5 16.4004c-3 16.0996 13.5996 26.0996 33.0996 20.2998c-13.8994 18 -28.5996 39.5996 -48.2998 50.7002c-34.4004 19.5 -92.7002 34.0996 -129.3 15.7998
c-29.6006 -14.7002 -69.5 -39.1006 -83.1006 -70c12.7002 -29.7998 -3.7998 -57.1006 -4.7998 -87.4004c-0.599609 -16.0996 7.60059 -30.2002 8.2002 -47.7002c-4.40039 -7.19922 -17.7002 -8.09961 -26.9004 -7.59961c-3.09961 15.5 -8.5 32.9004 -24.5 34.7002
c-22.5 2.39941 -39.0996 -16.2998 -40.0996 -35.7998c-1.2002 -23 17.7002 -61 44.4004 -58.4004c10.2998 1.09961 12.7998 11.4004 24.0996 11.2998c6.09961 -12.2002 -9.40039 -16 -11 -24.7002c-0.400391 -2.19922 1.2998 -11 2.2998 -15.0996zM359.8 -3.59961
c-1.59961 -4.40039 0.299805 -10.4004 -0.599609 -16.5c14.8994 -4.2002 31.8994 -6.40039 50.7002 -7c3.69922 4.7998 4.89941 13.7998 4.5 22.7998c-0.600586 10.7998 -3.40039 33.0996 -10.1006 37c-14.0996 8.2002 -39 -16.5 -49.5996 -20.2998
c1.2002 -3.40039 3.09961 -6 3.2002 -10.2002c6.2998 1.5 13.8994 0.5 19.2998 -2.2002c-6.2998 -0.700195 -13.2998 -0.599609 -17.4004 -3.59961zM342.6 16.4004c7.60059 5.5 14.3008 12 22.2002 17.0996c-18.2002 -1.59961 -41 -12.9004 -59 -4.90039
c-0.0996094 -0.899414 -1.2998 -0.599609 -1.5 -1.39941c12.2998 -9.60059 21.5 -11.6006 38.2998 -10.7998zM330.5 -16.7998c26.9004 -8.40039 22.2002 36.7998 -2.7998 20.2002c-0.700195 -8.2002 1.2002 -10.8008 2.7998 -20.2002zM226 9.40039
c0 6.19922 3.59961 12 2.7998 16.3994c-13.7998 2.40039 -31.8994 0.799805 -41.2998 7.2998c-9.59961 -9.69922 26.9004 -23 38.5 -23.6992zM57.7002 -49.0996v-0.100586h180.7c-0.800781 2.5 -1.5 4.90039 -2.2002 7.2002c-4.7998 15.2998 -7.5 26.7002 -8.7002 35.5
c-19.2002 9.2002 -39.7002 18.5 -56.2002 30.2002c-3 2.2002 -23.3994 28.7002 -26.2002 27.5996c-36.8994 -14.5996 -71.3994 -39.7002 -102.199 -63.5c5.59961 -11.7998 10.5 -24.2002 14.7998 -36.8994zM298.3 -54.7998h-0.799805
c0.299805 0.200195 0.5 0.399414 0.799805 0.5v-0.5zM305.8 -49.0996h9.60059c-1 1.5 -2.10059 2.89941 -3.2002 4.2998c-2.10059 -1.5 -4.2998 -2.90039 -6.40039 -4.2998zM320.9 -24.4004c0.0996094 3.60059 0.299805 7.2002 0.399414 10.6006
c-6.5 3.2002 -14 5.5 -23.5 5.89941c6.5 3.30078 15.9004 3.2002 21.7998 7.10059c0.100586 1.5 0.100586 2.89941 0.200195 4.2998c-10.7998 0.900391 -14.7998 5.59961 -21.8994 9.5c-11.6006 6.40039 -29 13.2002 -43.9004 16.0996
c-18.5 3.60059 -16.7998 -25.1992 -16 -42.3994c0.700195 -13.6006 7.7002 -28 10.7998 -37c1.5 -4.2002 1.7998 -8.7002 5.40039 -9.5c6.39941 -1.5 27.3994 6.89941 33.3994 10.2002c12.7002 6.89941 22.5 17.8994 33.3008 25.1992zM374.3 -49.0996l0.600586 12.5996
c-11.2002 -0.700195 -17.5 10.2002 -25.4004 11c-6.90039 0.700195 -12.7002 -7.90039 -21.7002 -4.2002c-2 -2.2002 -3.89941 -4.7002 -6 -6.89941c3.2002 -3.90039 6.10059 -8.10059 8.90039 -12.5h17.3994c0.200195 3.19922 2.80078 5.7998 6.10059 5.7998
s6 -2.60059 6.09961 -5.7998h14zM383 -49.0996h36.2998c-6.7002 10.1992 -20.0996 18.7998 -35.7002 11.5c-0.199219 -3.7002 -0.399414 -7.5 -0.599609 -11.5zM466.4 -12.0996c1.19922 6.19922 4.59961 19.5996 3.7998 25.0996
c-1.40039 9.7998 -14.6006 17.0996 -21.4004 23.0996c-12.3994 11.1006 -20.2002 21 -33.2002 31.4004c-5.19922 -7.7998 -16.5 -13 -20.7998 -19.2998c30.7002 14.8994 36.2998 -55.7998 24.2002 -78.5c1.90039 -6.7998 8.2998 -9.40039 10.9004 -15.5
c-0.700195 -1.10059 -1.30078 -2.2002 -1.90039 -3.2998h27.9004c0.199219 0 0.399414 0 0.599609 -0.100586c4.09961 13.1006 7.59961 25.9004 9.90039 37.1006zM222.2 317.5c5.39941 14.9004 27.2002 34.7002 45 32c7.7002 -1.2002 18 -8.2002 12.2002 -17.7002
c-30.2002 7 -45.2002 -12.5996 -54.4004 -33.0996c-8.09961 2 -4.90039 13.0996 -2.7998 18.7998zM406.3 254.4c8.2002 3.59961 22.4004 0.699219 29.6006 5.2998c-4.2002 11.5 -10.3008 21.3994 -9.30078 37.7002c0.5 0 1 0 1.40039 -0.100586
c6.7998 -14.2002 12.7002 -29.2002 21.4004 -41.7002c-5.7002 -13.5 -43.6006 -25.3994 -43.1006 -1.19922zM309.5 251.7c-6.7998 10.8994 -19 32.5 -14.5 45.2998c6.5 -11.9004 8.59961 -24.4004 17.7998 -33.2998c4.10059 -4 12.2002 -9 8.2002 -20.2002
c-0.900391 -2.7002 -7.7998 -8.59961 -11.7002 -9.7002c-14.3994 -4.2998 -47.8994 -0.899414 -36.5996 17.1006c11.8994 -0.700195 27.8994 -7.80078 36.7998 0.799805zM336.8 181.7c3.7998 -6.60059 1.40039 -18.7002 12.1006 -20.6006
c20.1992 -3.39941 43.5996 12.3008 58.0996 17.8008c9 15.1992 -0.799805 20.6992 -8.90039 30.5c-16.5996 20 -38.7998 44.7998 -38 74.6992c6.7002 4.90039 7.30078 -7.39941 8.2002 -9.69922c8.7002 -20.3008 30.4004 -46.2002 46.2998 -63.5
c3.90039 -4.30078 10.3008 -8.40039 11 -11.2002c2.10059 -8.2002 -5.39941 -18 -4.5 -23.5c-21.6992 -13.9004 -45.7998 -29.1006 -81.3994 -25.6006c-7.40039 6.7002 -10.2998 21.4004 -2.90039 31.1006zM135.5 190.9c-6.7998 3.89941 -8.40039 21 -16.4004 21.3994
c-11.3994 0.700195 -9.2998 -22.2002 -9.2998 -35.5c-7.7998 7.10059 -9.2002 29.1006 -3.5 40.2998c-6.59961 3.2002 -9.5 -3.59961 -13.0996 -5.89941c4.7002 34.0996 49.7998 15.7998 42.2998 -20.2998zM435.1 162.1c-10.0996 -19.1992 -24.3994 -40.3994 -54 -41
c-0.599609 6.2002 -1.09961 15.6006 0 19.4004c22.7002 2.2002 36.6006 13.7002 54 21.5996zM293.2 149.7c18.8994 -9.90039 53.5996 -11 79.2998 -10.2002c1.40039 -5.59961 1.2998 -12.5996 1.40039 -19.4004c-33 -1.7998 -72 6.40039 -80.7002 29.6006zM385.4 103
c-1.7002 -4.2998 -5.30078 -9.2998 -9.80078 -11.0996c-12.0996 -4.90039 -45.5996 -8.7002 -62.3994 0.299805c-10.7002 5.7002 -17.5 18.5 -23.4004 26c-2.7998 3.59961 -16.8994 12.8994 -0.200195 12.8994c13.1006 -32.6992 58 -29 95.8008 -28.0996z" />
    <glyph glyph-name="joget" unicode="&#xf3b7;" horiz-adv-x="496" 
d="M378.1 403c116.601 -71.7998 152.9 -224.6 81 -341.2c-71.8994 -116.5 -224.6 -152.8 -341.199 -80.8994c-116.601 71.8994 -152.9 224.6 -81 341.199c46.8994 76 128.1 117.9 211.3 117.9c44.3994 0 89.3994 -11.9004 129.899 -37zM429.9 79.7998
c5.2998 8.7002 9.89941 17.6006 13.8994 26.6006c-32.0996 -1.10059 -157.1 1.5 -208.8 -17.6006c-58.4004 -21.5 -36.9004 -53.3994 -31.2002 -67.0996c3.7998 -9.10059 14.7002 -28.7998 23.7002 -42.4004c6.7998 -0.599609 13.5996 -1 20.4004 -1
c71.5996 0 141.6 36 182 101.5zM229.1 166.1c51 -1.2998 205.4 -4.39941 230.301 -4.89941c11.8994 81.7998 -24.5 166.6 -99.3008 212.7c-100.5 61.8994 -232.1 30.6992 -294 -69.8008c-28.5996 -46.3994 -37.2998 -99.3994 -28.5 -149.1
c11 40.9004 49.7002 131.5 178.301 140.2c50.8994 4 41.5 -19.2002 23.5996 -29.7002c-17.7998 -10.5 -45.7002 -23.7998 -68.9004 -51.2002c-23.1992 -27.3994 3 -46.7998 58.5 -48.2002zM412.9 220.9c22.6992 -6 19.0996 -15.5 19.0996 -15.5l-46.5 -23.4004
l-169.5 -1.59961s33.7998 10.7998 65.2998 31.2998c26 16.8994 49.7002 35.5996 67.5 35.5996c3.7002 0 7.2002 -0.899414 10.4004 -2.7002c18.5 -10.5996 -2.90039 -18.1992 -13.4004 -24.5996s-50.7002 -34.5 -50.7002 -34.5s1.40039 -7.59961 31.1006 8.2002
c29.7002 15.8994 64 33.2002 86.7002 27.2002z" />
    <glyph glyph-name="js" unicode="&#xf3b8;" 
d="M0 416h448v-448h-448v448zM243.8 66.5996v143.7h-42.0996v-143.1c0 -21.1006 -8.7998 -26.5 -22.6006 -26.5c-14.5 0 -20.5 9.89941 -27.0996 21.5996l-34.2998 -20.7002c10 -21.0996 29.5 -38.5 63.2002 -38.5c37.2998 0 62.8994 19.9004 62.8994 63.5zM343.4 3.09961
c39.8994 0 69.6992 20.8008 69.6992 58.6006c0 35.2002 -20.0996 50.8994 -55.8994 66.2002l-10.5 4.5c-18.1006 7.89941 -25.9004 13 -25.9004 25.5996c0 10.2002 7.7998 18 20.1006 18c12.0996 0 19.8994 -5.09961 27.0996 -18l32.7998 21
c-13.7998 24.4004 -33 33.7002 -59.7998 33.7002c-37.5 0 -61.5996 -24 -61.5996 -55.6006c0 -34.2998 20.0996 -50.5996 50.5 -63.5l10.5 -4.5c19.2998 -8.5 30.6992 -13.5996 30.6992 -28c0 -12.0996 -11.1992 -20.7998 -28.5996 -20.7998
c-20.7002 0 -32.5 10.9004 -41.5 25.6006l-34.2998 -19.8008c12.2998 -24.3994 37.5996 -43 76.7002 -43z" />
    <glyph glyph-name="js-square" unicode="&#xf3b9;" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM243.8 66.5996v143.7h-42.0996v-143.1c0 -21.1006 -8.7998 -26.5 -22.6006 -26.5c-14.5 0 -20.5 9.89941 -27.0996 21.5996
l-34.2998 -20.7002c10 -21.0996 29.5 -38.5 63.2002 -38.5c37.2998 0 62.8994 19.9004 62.8994 63.5zM343.4 3.09961c39.8994 0 69.6992 20.8008 69.6992 58.6006c0 35.2002 -20.0996 50.8994 -55.8994 66.2002l-10.5 4.5c-18.1006 7.89941 -25.9004 13 -25.9004 25.5996
c0 10.2002 7.7998 18 20.1006 18c12.0996 0 19.8994 -5.09961 27.0996 -18l32.7998 21c-13.7998 24.4004 -33 33.7002 -59.7998 33.7002c-37.5 0 -61.5996 -24 -61.5996 -55.6006c0 -34.2998 20.0996 -50.5996 50.5 -63.5l10.5 -4.5
c19.2998 -8.5 30.6992 -13.5996 30.6992 -28c0 -12.0996 -11.1992 -20.7998 -28.5996 -20.7998c-20.7002 0 -32.5 10.9004 -41.5 25.6006l-34.2998 -19.8008c12.2998 -24.3994 37.5996 -43 76.7002 -43z" />
    <glyph glyph-name="keycdn" unicode="&#xf3ba;" horiz-adv-x="512" 
d="M63.7998 38.7002l60.5 59c32.1006 -42.7998 71.1006 -66 126.601 -67.4004c30.5 -0.700195 60.2998 7 86.3994 22.4004c5.10059 -5.2998 18.5 -19.5 20.9004 -22c-32.2002 -20.7002 -69.6006 -31.1006 -108.101 -30.2002
c-43.2998 1.09961 -84.5996 16.7002 -117.699 44.4004c0.299805 0.599609 -38.2002 -37.5 -38.6006 -37.9004c9.5 -29.7998 -13.0996 -62.4004 -46.2998 -62.4004c-26.7998 0.100586 -47.5 21.7002 -47.5 48.5c0 34.3008 33.0996 56.6006 63.7998 45.6006zM418.7 291.1
c19.0996 -31.2998 29.5996 -67.3994 28.7002 -104c-1.10059 -44.7998 -19 -87.5 -48.6006 -121c0.299805 -0.299805 23.7998 -25.1992 24.1006 -25.5c9.59961 1.30078 19.1992 -2 25.8994 -9.09961c11.2998 -12 10.9004 -30.9004 -1.09961 -42.4004
c-12 -11.2998 -30.9004 -10.8994 -42.4004 1.10059c-6.7002 7 -9.39941 16.7998 -7.59961 26.2998c-24.9004 26.5996 -44.4004 47.2002 -44.4004 47.2002c42.7002 34.0996 63.2998 79.5996 64.4004 124.2c0.700195 28.8994 -7.2002 57.1992 -21.1006 82.1992zM104 394.9
c6.7002 -7 9.40039 -16.8008 7.59961 -26.3008l45.9004 -48.0996c-4.7002 -3.7998 -13.2998 -10.4004 -22.7998 -21.2998c-25.4004 -28.5 -39.6006 -64.7998 -40.7002 -102.9c-0.700195 -28.8994 6.09961 -57.2002 20 -82.3994l-22 -21.5
c-19.2998 31.5996 -28.9004 67.6992 -27.7998 104.699c1 44.6006 18.2998 87.6006 47.5 121.101l-25.2998 26.3994c-9.60059 -1.2998 -19.2002 2 -25.9004 9.10059c-11.2998 12 -10.9004 30.8994 1.09961 42.3994c11.9004 11.2002 30.6006 10.9004 42.4004 -1.19922z
M464.9 440c26 0 47.0996 -22.4004 47.0996 -48.2998c0 -25.9004 -21.0996 -47.7002 -47.0996 -47.7002c-6.30078 -0.0996094 -14 1.09961 -15.9004 1.7998l-62.9004 -59.7002c-32.6992 43.6006 -76.6992 65.9004 -126.899 67.2002
c-30.5 0.700195 -60.2998 -6.7998 -86.2002 -22.3994l-21.0996 22c32.1992 20.7998 69.5996 31.0996 108.1 30.1992c43.2998 -1.09961 84.5996 -16.6992 117.7 -44.5996l41.0996 38.5996c-1.5 4.7002 -2.2002 9.60059 -2.2002 14.5
c-0.0996094 26.7002 22.3008 48.4004 48.3008 48.4004zM256.7 334.6c5.5 0 10.8994 -0.399414 16.3994 -1.09961c78.1006 -9.7998 133.4 -81.0996 123.801 -159.1c-9.80078 -78.1006 -81.1006 -133.4 -159.101 -123.801c-78.0996 9.80078 -133.399 81.1006 -123.8 159.2
c9.2998 72.4004 70.0996 124.601 142.7 124.8zM197.7 215.2c0.599609 -22.7002 12.2002 -41.7998 32.3994 -52.2002l-11 -51.7002h73.7002l-11 51.7002c20.1006 10.9004 32.1006 29 32.4004 52.2002c-0.400391 32.7998 -25.7998 57.5 -58.2998 58.2998
c-32.1006 -0.799805 -57.3008 -24.7998 -58.2002 -58.2998zM256 288z" />
    <glyph glyph-name="kickstarter" unicode="&#xf3bb;" 
d="M400 -32h-352c-26.4004 0 -48 21.5996 -48 48v352c0 26.4004 21.5996 48 48 48h352c26.4004 0 48 -21.5996 48 -48v-352c0 -26.4004 -21.5996 -48 -48 -48zM199.6 269.5c0 30.7002 -17.5996 45.0996 -39.6992 45.0996c-25.8008 0 -40 -19.7998 -40 -44.5v-154.8
c0 -25.7998 13.6992 -45.5996 40.5 -45.5996c21.5 0 39.1992 14 39.1992 45.5996v41.7998l60.6006 -75.6992c12.2998 -14.9004 39 -16.8008 55.7998 0c14.5996 15.0996 14.7998 36.7998 4 50.3994l-49.0996 62.7998l40.5 58.7002c9.39941 13.5 9.5 34.5 -5.60059 49.1006
c-16.3994 15.8994 -44.5996 17.2998 -61.3994 -7l-44.8008 -64.7002v38.7998z" />
    <glyph glyph-name="kickstarter-k" unicode="&#xf3bc;" horiz-adv-x="384" 
d="M147.3 333.6v-70.5996l82.7998 118.2c31.2002 44.3994 83.3008 41.7998 113.601 12.7998c27.8994 -26.7002 27.7998 -65.0996 10.3994 -89.7998l-74.8994 -107.4l90.7998 -114.8c19.9004 -24.7998 19.5996 -64.5996 -7.40039 -92.2002
c-31.0996 -30.7002 -80.5 -27.2002 -103.199 0l-112.101 138.3v-76.5c0 -57.7998 -32.5996 -83.3994 -72.3994 -83.3994c-49.6006 0 -74.9004 36.0996 -74.9004 83.3994v283c0 45.2002 26.2002 81.4004 73.9004 81.4004c40.8994 0 73.3994 -26.2002 73.3994 -82.4004z" />
    <glyph glyph-name="laravel" unicode="&#xf3bd;" horiz-adv-x="512" 
d="M504.4 332.17c0.15625 -0.650391 0.240234 -1.32324 0.240234 -2.02051c0 -0.0234375 0 -0.046875 -0.000976562 -0.0693359v-109.85c0.000976562 -0.0244141 0.00878906 -0.0429688 0.00878906 -0.0673828c0 -2.96191 -1.61328 -5.5498 -4.00879 -6.93262
l-92.2393 -53.1104v-105.26c0 -0.0078125 0.0078125 -0.00976562 0.0078125 -0.0166016c0 -2.96289 -1.61328 -5.55078 -4.00781 -6.93359l-192.561 -110.84c-0.442383 -0.231445 -0.916016 -0.428711 -1.39941 -0.580078
c-0.180664 -0.0605469 -0.350586 -0.169922 -0.550781 -0.220703c-0.654297 -0.174805 -1.33789 -0.268555 -2.04688 -0.268555c-0.709961 0 -1.39844 0.09375 -2.05273 0.268555c-0.219727 0.0605469 -0.419922 0.180664 -0.629883 0.260742
c-0.458008 0.143555 -0.908203 0.327148 -1.33008 0.540039l-192.5 110.84c-2.39551 1.38281 -4 3.96582 -4 6.92773v0.0224609v329.699c0.00195312 0.727539 0.0996094 1.42969 0.280273 2.10059c0.0839844 0.228516 0.181641 0.454102 0.290039 0.669922
c0.133789 0.427734 0.307617 0.84668 0.509766 1.24023c0.149414 0.259766 0.370117 0.469727 0.549805 0.719727c0.21582 0.329102 0.450195 0.636719 0.709961 0.929688c0.250977 0.217773 0.512695 0.416016 0.790039 0.600586
c0.274414 0.254883 0.56543 0.483398 0.879883 0.689453v0l96.2705 55.4199c1.1748 0.678711 2.55469 1.06738 4.00781 1.06738s2.81641 -0.388672 3.99219 -1.06738l96.29 -55.4199v0c0.307617 -0.210938 0.598633 -0.435547 0.879883 -0.679688
c0.271484 -0.1875 0.529297 -0.385742 0.779297 -0.599609c0.260742 -0.298828 0.499023 -0.610352 0.720703 -0.94043c0.169922 -0.25 0.399414 -0.459961 0.540039 -0.719727c0.203125 -0.393555 0.379883 -0.813477 0.519531 -1.24023
c0.0800781 -0.230469 0.219727 -0.44043 0.280273 -0.679688c0.181641 -0.661133 0.280273 -1.35352 0.280273 -2.07129v-0.0195312v-205.93l80.2197 46.1904v105.239c0.00292969 0.720703 0.100586 1.41602 0.280273 2.08008
c0.0693359 0.240234 0.199219 0.450195 0.279297 0.680664c0.144531 0.427734 0.320312 0.850586 0.520508 1.25c0.149414 0.259766 0.370117 0.469727 0.540039 0.709961c0.21875 0.329102 0.457031 0.636719 0.719727 0.929688
c0.248047 0.216797 0.505859 0.416016 0.780273 0.599609c0.277344 0.250977 0.568359 0.479492 0.879883 0.69043v0l96.2803 55.4502c1.1748 0.677734 2.55469 1.06641 4.00781 1.06641s2.81641 -0.388672 3.99219 -1.06641l96.2598 -55.4199
c0.316406 -0.208984 0.613281 -0.433594 0.899414 -0.680664c0.25 -0.199219 0.540039 -0.379883 0.770508 -0.599609c0.260742 -0.298828 0.499023 -0.609375 0.719727 -0.94043c0.198242 -0.223633 0.376953 -0.458008 0.540039 -0.709961
c0.207031 -0.396484 0.386719 -0.819336 0.530273 -1.25c0.106445 -0.217773 0.201172 -0.447266 0.280273 -0.679688zM111.6 430.72l-80.1895 -46.1602l80.1797 -46.1699l80.2002 46.1807l-80.1904 46.1494v0zM199.85 370.72l-33.6895 -19.4297l-46.5303 -26.79v-201.29
l33.6904 19.4004l46.5293 26.79v201.319zM199.85 -42.0596l-0.109375 92.3594l-92.1904 52.1807v0v0c-0.301758 0.203125 -0.585938 0.421875 -0.859375 0.65918c-0.25 0.200195 -0.540039 0.360352 -0.770508 0.580078v0
c-0.240234 0.265625 -0.458008 0.542969 -0.660156 0.839844c-0.21582 0.25 -0.414062 0.507812 -0.599609 0.780273v0c-0.166016 0.316406 -0.308594 0.655273 -0.419922 1c-0.149414 0.285156 -0.27832 0.589844 -0.379883 0.900391v0
c-0.0820312 0.383789 -0.135742 0.77832 -0.160156 1.17969c-0.0595703 0.293945 -0.0996094 0.594727 -0.120117 0.900391v215.18l-46.5205 26.7998l-33.6895 19.3799v-311.18zM207.85 64.1104l117.62 67.1494l58.7998 33.5605l-80.1299 46.1299l-92.2598 -53.1104
l-84.0898 -48.4102zM392.37 59.54v91.4102l-45.7705 -26.1504l-130.72 -74.5996v-92.3105zM392.37 178.67v91.3301l-46.5303 26.8096l-33.6895 19.4004v-91.4199l46.5293 -26.79zM400.37 283.95l80.1797 46.1797l-80.1797 46.1504l-80.2002 -46.1602zM408.37 178.67
l80.3096 46.1504v0v91.3896l-33.6797 -19.4004l-46.6299 -26.8096v-91.3301z" />
    <glyph glyph-name="line" unicode="&#xf3c0;" 
d="M272.1 243.8v-71.0996c0 -1.7998 -1.39941 -3.2002 -3.19922 -3.2002h-11.4004c-1.09961 0 -2.09961 0.599609 -2.59961 1.2998l-32.6006 44v-42.2002c0 -1.7998 -1.39941 -3.19922 -3.2002 -3.19922h-11.3994c-1.7998 0 -3.2002 1.39941 -3.2002 3.19922v71.1006
c0 1.7998 1.40039 3.2002 3.2002 3.2002h11.2998c1 0 2.09961 -0.5 2.59961 -1.40039l32.6006 -44v42.2002c0 1.7998 1.39941 3.2002 3.2002 3.2002h11.3994c1.7998 0.0996094 3.2998 -1.40039 3.2998 -3.10059zM190.1 247c1.80078 0 3.2002 -1.5 3.2002 -3.2002v-71.0996
c0 -1.7998 -1.39941 -3.2002 -3.2002 -3.2002h-11.3994c-1.7998 0 -3.2002 1.40039 -3.2002 3.2002v71.0996c0 1.7998 1.40039 3.2002 3.2002 3.2002h11.3994zM162.6 187.4c1.7002 0 3.10059 -1.5 3.10059 -3.2002v-11.4004c0 -1.7998 -1.40039 -3.2002 -3.2002 -3.2002
h-45.7002c-0.899414 0 -1.59961 0.400391 -2.2002 0.900391c-0.599609 0.599609 -0.899414 1.2998 -0.899414 2.2002v71.0996c0 1.7998 1.39941 3.2002 3.2002 3.2002h11.3994c1.7998 0 3.2002 -1.40039 3.2002 -3.2002v-56.3994h31.0996zM332.1 247
c1.7002 0 3.10059 -1.5 3.2002 -3.2002v-11.3994c0 -1.80078 -1.39941 -3.2002 -3.2002 -3.2002h-31.0996v-12h31.0996c1.80078 0 3.2002 -1.40039 3.2002 -3.2002v-11.5c0 -1.7998 -1.39941 -3.2002 -3.2002 -3.2002h-31.0996v-12h31.0996
c1.80078 0 3.2002 -1.39941 3.2002 -3.2002v-11.3994c0 -1.7998 -1.39941 -3.2002 -3.2002 -3.2002h-45.6992c-1.80078 0 -3.2002 1.5 -3.2002 3.2002v71.0996c0 1.7998 1.5 3.2002 3.2002 3.2002h45.6992zM448 334.3v-285.3
c-0.0996094 -44.7998 -36.7998 -81.0996 -81.7002 -81h-285.3c-44.7998 0.0996094 -81.0996 36.9004 -81 81.7002v285.3c0.0996094 44.7998 36.9004 81.0996 81.7002 81h285.3c44.7998 -0.0996094 81.0996 -36.7998 81 -81.7002zM386.4 211.7
c0 73 -73.2002 132.399 -163.101 132.399c-89.8994 0 -163.1 -59.3994 -163.1 -132.399c0 -65.4004 58 -120.2 136.399 -130.601c19.1006 -4.09961 16.9004 -11.0996 12.6006 -36.7998c-0.700195 -4.09961 -3.2998 -16.0996 14.0996 -8.7998
c17.4004 7.2998 93.9004 55.2998 128.2 94.7002c23.5996 26 34.9004 52.2998 34.9004 81.5z" />
    <glyph glyph-name="lyft" unicode="&#xf3c3;" horiz-adv-x="512" 
d="M0 366.9h77.7998v-208.7c0 -33.1006 15 -52.7998 27.2002 -61c-12.7002 -11.1006 -51.2002 -20.9004 -80.2002 2.7998c-17 14 -24.7998 37.2998 -24.7998 59v207.9zM485.9 193.4c0 -14.2002 11.5996 -25.9004 26.0996 -25.9004v-76.5
c-56.7002 0 -102.7 46.0996 -102.7 102.7v77.0996c0 34.6006 -52.2002 34.6006 -52.2002 0v-23.2998h38.8008v-76.7998h-38.8008v-6.7002c0 -21.7998 -7.69922 -45 -24.7998 -59c-16.2998 -13.7002 -35.7002 -16.2998 -51.7002 -14v179.2
c0 56.7002 46.1006 102.7 102.7 102.7c49.1006 0 90.2002 -34.4004 100.3 -80.7002h26.1006v-76.7998h-23.7998v-22zM191.6 292.4v0.5h77.1006v-178.2c0 -52.4004 -29.7002 -91.7002 -76.7998 -100.8c-26.1006 -5.10059 -52.5 -2.80078 -77.6006 4.69922v70.3008
c9.7998 -4.2002 29.5 -9.40039 45 -7.80078c20.4004 2 32.7998 11.9004 34.9004 25.3008c0 0 -21.2002 -20.4004 -58.2002 -10.6006c-37 9.90039 -45 40.1006 -45 63.9004v132.7h76.7998v-113c0 -15.4004 23.7998 -15.4004 23.7998 0v113z" />
    <glyph glyph-name="magento" unicode="&#xf3c4;" 
d="M445.7 320.1v-256.1l-63.4004 -36.5v255.8l-158.5 91.6006l-158.6 -91.6006l0.399414 -255.899l-63.2998 36.5996v255.9l221.9 128.1zM255.6 27.5v255.9l63.4004 -36.6006v-256l-95.0996 -54.8994l-94.9004 54.8994l-0.0996094 255.9l63.2998 36.5996v-256
l31.7998 -18.2002z" />
    <glyph glyph-name="medapps" unicode="&#xf3c6;" horiz-adv-x="320" 
d="M118.3 209.6c3.5 12.5 6.90039 33.6006 13.2002 33.6006c8.2998 -1.7998 9.59961 -23.4004 18.5996 -36.6006c4.60059 23.5 5.30078 85.1006 14.1006 86.7002c9 0.700195 19.7002 -66.5 22 -77.5c9.89941 -4.09961 48.8994 -6.59961 48.8994 -6.59961
c1.90039 -7.2998 -24 -7.60059 -40 -7.7998c-4.59961 -14.8008 -5.39941 -27.7002 -11.3994 -28c-4.7002 -0.200195 -8.2002 28.7998 -17.5 49.5996l-9.40039 -65.5c-4.39941 -13 -15.5 22.5 -21.8994 39.2998c-3.30078 0.100586 -62.4004 1.60059 -47.6006 7.7998zM228 0
h-136c-21.2002 0 -21.2002 32 0 32h136c21.2002 0 21.2002 -32 0 -32zM204 -64h-88c-21.2002 0 -21.2002 32 0 32h88c21.2002 0 21.2002 -32 0 -32zM238.2 77.5c-3.60059 -21.2998 -36 -15.5 -32.6006 5.09961c3.60059 21.2002 5.60059 40.6006 15.3008 58.6006
c32.5996 60.2998 66.0996 95.5 66.0996 151.6c0 67.9004 -57 123.2 -127 123.2s-127 -55.2998 -127 -123.2c0 -56.0996 33.5 -91.2998 66.0996 -151.7c9.7002 -17.8994 11.7002 -36.8994 15.3008 -58.5996c3.5 -20.7998 -29.1006 -26.0996 -32.6006 -5.09961
c-3.2002 19.0996 -5.2002 36.3994 -11.8994 48.8994c-8 14.7002 -16.1006 28.1006 -24 41c-24.6006 40.4004 -45.9004 75.2998 -45.9004 125.5c0 85.6006 71.7998 155.2 160 155.2s160 -69.5996 160 -155.2c0 -50.2998 -21.2998 -85.0996 -45.9004 -125.5
c-7.89941 -12.8994 -16.0996 -26.2998 -24 -41c-6.69922 -12.3994 -8.69922 -29.8994 -11.8994 -48.7998z" />
    <glyph glyph-name="medium-m" unicode="&#xf3c7;" horiz-adv-x="512" 
d="M71.5 305.7c0.599609 5.89941 -1.7002 11.7998 -6.09961 15.7998l-45.1006 54.4004v8.09961h140.2l108.4 -237.7l95.2998 237.7h133.7v-8.09961l-38.6006 -37c-3.2998 -2.5 -5 -6.7002 -4.2998 -10.8008v-272c-0.700195 -4.09961 1 -8.2998 4.2998 -10.7998l37.7002 -37
v-8.09961h-189.7v8.09961l39.1006 37.9004c3.7998 3.7998 3.7998 5 3.7998 10.7998v219.8l-108.7 -275.899h-14.7002l-126.399 275.899v-184.899c-1.10059 -7.80078 1.5 -15.6006 7 -21.2002l50.7998 -61.6006v-8.09961h-144v8l50.7998 61.7002
c5.40039 5.59961 7.90039 13.5 6.5 21.2002v213.8z" />
    <glyph glyph-name="medrt" unicode="&#xf3c8;" horiz-adv-x="544" 
d="M113.7 192c0 -121.8 83.8994 -222.8 193.5 -241.1c-18.7002 -4.5 -38.2002 -6.90039 -58.2002 -6.90039c-137.6 0 -249 111 -249 248s111.4 248 248.9 248c20.0996 0 39.5996 -2.40039 58.1992 -6.90039c-109.6 -18.2998 -193.399 -119.3 -193.399 -241.1zM411.1 91.7002
c77.7002 55.3994 104.4 155.1 67 233.899c11.2002 -9.89941 21.5 -21.2998 30.5 -34.1992c61.6006 -88.3008 40.8008 -210.301 -46.5 -272.601c-87.2998 -62.2998 -208.1 -41.2002 -269.699 47c-9 12.7998 -16.2002 26.4004 -21.7002 40.5
c60.7998 -62.0996 162.7 -70 240.399 -14.5996zM192.3 335.7c72.5 54.5996 171.601 45.7002 221.601 -19.7998c45.2998 -59.7002 34.3994 -145.601 -22.3008 -201.801c18.5 51.4004 11.3008 111 -24.3994 158c-43 56.5 -114.601 78.3008 -178.9 60.5
c1.2998 1 2.60059 2.10059 4 3.10059zM296 224h40c4.40039 0 8 -3.59961 8 -8v-48c0 -4.40039 -3.59961 -8 -8 -8h-40c-4.40039 0 -8 -3.59961 -8 -8v-40c0 -4.40039 -3.59961 -8 -8 -8h-48c-4.40039 0 -8 3.59961 -8 8v40c0 4.40039 -3.59961 8 -8 8h-40
c-4.40039 0 -8 3.59961 -8 8v48c0 4.40039 3.59961 8 8 8h40c4.40039 0 8 3.59961 8 8v40c0 4.40039 3.59961 8 8 8h48c4.40039 0 8 -3.59961 8 -8v-40c0 -4.40039 3.59961 -8 8 -8z" />
    <glyph glyph-name="microsoft" unicode="&#xf3ca;" 
d="M0 416h214.6v-214.6h-214.6v214.6zM233.4 416h214.6v-214.6h-214.6v214.6zM0 182.6h214.6v-214.6h-214.6v214.6zM233.4 182.6h214.6v-214.6h-214.6v214.6z" />
    <glyph glyph-name="mix" unicode="&#xf3cb;" 
d="M0 384h448v-204.1c0 -56.6006 -88 -59.9004 -88 0v23.7998c0 56.7998 -82.7002 59 -88 4.2998v-116.1c0 -58 -96 -57.9004 -96 0v175.3c0 56.8994 -80.0996 59.3994 -88 6.5v-238.601c0 -58.0996 -88 -56.1992 -88 0v348.9z" />
    <glyph glyph-name="mizuni" unicode="&#xf3cc;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111.1 248 -248c0 -137 -111 -248 -248 -248s-248 111 -248 248c0 136.9 111 248 248 248zM168 88.0996v223.9c0 22.0996 -17.9004 40 -40 40s-40 -17.9004 -40 -40v-272.1c21.2002 20.8994 48.5996 37.5996 80 48.1992zM288 98v214
c0 22.0996 -17.9004 40 -40 40s-40 -17.9004 -40 -40v-214c13 2 26.4004 3.09961 40.2002 3.09961c13.5996 0 26.8994 -1.09961 39.7998 -3.09961zM408 40.2998v271.7c0 22.0996 -17.9004 40 -40 40s-40 -17.9004 -40 -40v-223.7c31.4004 -10.5996 58.7998 -27.2002 80 -48z
" />
    <glyph glyph-name="monero" unicode="&#xf3d0;" horiz-adv-x="496" 
d="M352 64h108.4c-43.4004 -71.9004 -122.301 -120 -212.4 -120s-169 48.0996 -212.4 120h108.4v127.8l104 -104.8l104 105v-128zM88 112h-74.7998c-8.60059 25.0996 -13.2002 52 -13.2002 80c0 137 111 248 248 248s248 -111 248 -248c0 -28 -4.7002 -54.9004 -13.2002 -80
h-74.7998v208l-160.6 -159.4l-159.4 159.4v-208z" />
    <glyph glyph-name="napster" unicode="&#xf3d2;" horiz-adv-x="496" 
d="M298.3 74.4004c-14.2002 -13.6006 -31.2998 -24.1006 -50.3994 -30.5c-19 6.39941 -36.2002 16.8994 -50.3008 30.5h100.7zM342.3 274c-56.3994 39.7998 -132.1 39.9004 -188.899 -0.0996094c-19.9004 16.7998 -43.6006 29.5 -69.5 36.3994v-161.6
c0 -217.3 328 -219.101 328 0.299805v161.2c-26 -7 -49.6006 -19.2998 -69.6006 -36.2002zM133.5 332.5c6.5 -3.2002 14.0996 -7.40039 20.4004 -11.4004c58.6992 30.5 129.199 30.6006 187.899 0.100586c6.7002 4.2002 13.5 8 20.6006 11.5
c-64.6006 59.8994 -164.5 59.7998 -228.9 -0.200195zM43.7998 354.8c17.5 -0.5 34.2998 -3.09961 50.6006 -7.5c82 91.6006 225.5 91.6006 307.5 0.100586c16.0996 4.39941 32.7998 6.89941 50.0996 7.39941v-69.2002c58.7002 -36.5 58.5 -121.899 -0.200195 -158.199
l-0.299805 -1.7002c-25.9004 -238.8 -381.2 -243.601 -407.6 1.5c-58.5 37.2002 -58.5 121.8 -0.100586 158.3v69.2998zM259.2 96c13.0996 59.2998 33.5 56 113 55.4004c-0.799805 -8.2002 0.0996094 -32.3008 -26.2002 -47.4004c-4.40039 -2.5 -15.2998 -6 -25.5 -6.5
c-25.2998 -1.2002 -61.2998 -1.5 -61.2998 -1.5zM123.7 151.3c79.2998 0.700195 99.7998 4 113 -55.3994c0 0 -36 0.399414 -61.2998 1.5c-10.3008 0.5 -21.1006 4 -25.5 6.5c-26.3008 15.0996 -25.4004 39.1992 -26.2002 47.3994zM292.8 27.9004
c3 -4.90039 3.2002 -8.80078 3.2998 -8.90039c-29.0996 -17.5996 -67.0996 -17.5996 -96.1992 0c0 0 0.899414 5.5 3.69922 9.59961c3.5 5.10059 6.40039 6.60059 6.40039 6.60059c23.7002 -6.90039 51.0996 -7.2998 75.9004 0c0 0 3.69922 -2 6.89941 -7.2998z" />
    <glyph glyph-name="node-js" unicode="&#xf3d3;" 
d="M224 -60c-6.7002 0 -13.5 1.7998 -19.4004 5.2002l-61.6992 36.5c-9.2002 5.2002 -4.7002 7 -1.7002 8c12.2998 4.2998 14.7998 5.2002 27.8994 12.7002c1.40039 0.799805 3.2002 0.5 4.60059 -0.400391l47.3994 -28.0996c1.7002 -1 4.10059 -1 5.7002 0l184.7 106.6
c1.7002 1 2.7998 3 2.7998 5v213.2c0 2.09961 -1.09961 4 -2.89941 5.09961l-184.601 106.5c-1.7002 1 -4 1 -5.7002 0l-184.5 -106.6c-1.7998 -1 -2.89941 -3 -2.89941 -5.10059v-213.1c0 -2 1.09961 -4 2.89941 -4.90039l50.6006 -29.1992
c27.5 -13.7002 44.2998 2.39941 44.2998 18.6992v210.4c0 3 2.40039 5.2998 5.40039 5.2998h23.3994c2.90039 0 5.40039 -2.2998 5.40039 -5.2998v-210.5c0 -36.5996 -20 -57.5996 -54.7002 -57.5996c-10.7002 0 -19.0996 0 -42.5 11.5996l-48.4004 27.9004
c-12 6.89941 -19.3994 19.7998 -19.3994 33.6992v213.101c0 13.7998 7.39941 26.7998 19.3994 33.7002l184.5 106.6c11.7002 6.59961 27.2002 6.59961 38.8008 0l184.699 -106.7c12 -6.89941 19.4004 -19.7998 19.4004 -33.7002v-213.1
c0 -13.7998 -7.40039 -26.7002 -19.4004 -33.7002l-184.699 -106.6c-5.90039 -3.40039 -12.6006 -5.2002 -19.4004 -5.2002zM373.1 150.1c0 -40.1992 -33.5996 -63.2998 -92 -63.3994c-80.8994 0 -97.7998 37.0996 -97.7998 68.2002c0 2.89941 2.2998 5.2998 5.2998 5.2998
h23.9004c2.7002 0 4.90039 -1.90039 5.2998 -4.5c3.60059 -24.2998 14.2998 -36.6006 63.2002 -36.6006c38.9004 0 55.5 8.80078 55.5 29.4004c0 11.9004 -4.7002 20.7998 -65.2002 26.7002c-50.5 5 -81.7998 16.2002 -81.7998 56.5996c0 37.2998 31.4004 59.5 84.0996 59.5
c59.2002 0 88.5 -20.5 92.2002 -64.5996c0.100586 -1.5 -0.399414 -3 -1.39941 -4.10059c-1 -1.09961 -2.40039 -1.69922 -3.90039 -1.69922h-24c-2.5 0 -4.7002 1.7998 -5.2002 4.19922c-5.7998 25.6006 -19.7998 33.8008 -57.7002 33.8008
c-42.5 0 -47.3994 -14.8008 -47.3994 -25.9004c0 -13.4004 5.7998 -17.2998 63.2002 -24.9004c56.6992 -7.5 83.6992 -18.0996 83.6992 -58z" />
    <glyph glyph-name="npm" unicode="&#xf3d4;" horiz-adv-x="576" 
d="M288 160h-32v64h32v-64zM576 288v-192h-288v-32h-128v32h-160v192h576zM160 256h-128v-128h64v96h32v-96h32v128zM320 256h-128v-160h64v32h64v128zM544 256h-192v-128h64v96h32v-96h32v96h32v-96h32v128z" />
    <glyph glyph-name="ns8" unicode="&#xf3d5;" horiz-adv-x="640" 
d="M187.1 288.1h44.9004l-48.5 -160.1h-56.9004l-50.5996 106.5l-31.0996 -106.5h-44.9004l49 160.1h49.4004l54.5 -113.699zM639.6 289c4.60059 -28.5996 -36.0996 -44.7002 -65.6992 -50.5996h-0.100586c17.5 -29.3008 22.1006 -69.3008 3.40039 -105.5
c-26.4004 -51.2002 -86.5 -79.9004 -135.101 -68c-29.3994 7.19922 -51.3994 29 -56.7998 59.5c-0.700195 3.5 -1 7.09961 -1.2002 10.7998c-5.5 -2.7998 -11.8994 -4.2002 -18.5 -4.90039c-15.5996 -1.7002 -21 -2.2998 -160.899 -2.2998l11.5996 39.5h126.8
c9.10059 0 12.2002 3.2002 13.8008 7.40039c1.69922 4.59961 3.39941 10.1992 4.5 14.5996c1.09961 3.90039 0.0996094 6.59961 -7.7002 6.59961h-87.2998c-33.4004 0 -38.2002 9.2002 -32.8008 28.6006c3.2002 11.5 10.8008 37.2002 17.6006 47.0996
c7.09961 10.2002 18.2998 13.7002 30.5996 15c15.6006 1.7002 20.4004 1.2002 160.101 1.2002l-9.7002 -31.5h-133.5c-5.5 0 -11.2002 -0.700195 -13.2998 -7.09961c-1.80078 -5.40039 -2.10059 -6.7002 -3.7002 -12.2002c-1.40039 -5.10059 2.2002 -7.40039 11.5 -7.40039
h87.5996c20.4004 0 31 -6.7998 34 -16.5996c19.9004 21.3994 50.4004 39.5 94.2002 48.2002v0.0996094c-13.4004 42.5 43.9004 66.5996 88.5 58.7998c18.2002 -3.2002 39.2002 -13.2998 42.0996 -31.2998zM530.7 184.3c3.09961 15.7998 -0.5 33.7002 -7.2002 47.7998
c-23.2998 -2.89941 -52.2998 -10.0996 -68.5 -26.8994c-24.4004 -25.2998 -16.7998 -60 14.0996 -64.7998c25 -3.90039 55.7002 14.3994 61.6006 43.8994zM552.5 267.4c10.5996 1.5 23.5 3.5 34.2002 9.59961c14.7998 8.5 10.3994 21 -4.90039 24.4004
c-10.8994 2.39941 -25.0996 -0.5 -31.7998 -7.7002c-7.2998 -7.7998 -1.7002 -20.2998 2.5 -26.2998z" />
    <glyph glyph-name="nutritionix" unicode="&#xf3d6;" horiz-adv-x="400" 
d="M88 439.9c0 0 133.4 8.19922 121 -104.4c0 0 19.0996 74.9004 103 40.5996c0 0 -17.7002 -74 -88 -56c0 0 14.5996 54.6006 66.0996 56.6006c0 0 -39.8994 10.2998 -82.0996 -48.7998c0 0 -19.7998 94.5 -93.5996 99.6992c0 0 75.1992 -19.3994 77.5996 -107.5
c0 -0.0996094 -106.4 -7 -104 119.801zM400 124.3c0 -48.5 -9.7002 -95.2998 -32 -132.3c-42.2002 -30.9004 -105 -48 -168 -48c-62.9004 0 -125.8 17.0996 -168 48c-22.2998 37 -32 83.7998 -32 132.3c0 48.4004 17.7002 94.7002 40 131.7
c42.2002 30.9004 97.0996 48.5996 160 48.5996c63 0 117.8 -17.5996 160 -48.5996c22.2998 -37 40 -83.2998 40 -131.7zM120 20c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM120 86.2002c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28
s12.5 -28 28 -28s28 12.5 28 28zM120 152.4c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM192 20c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM192 86.2002c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28
s12.5 -28 28 -28s28 12.5 28 28zM192 152.4c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM264 20c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM264 86.2002c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28
s12.5 -28 28 -28s28 12.5 28 28zM264 152.4c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM336 20c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM336 86.2002c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28
s12.5 -28 28 -28s28 12.5 28 28zM336 152.4c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM360 192c-4.7998 22.2998 -7.40039 36.9004 -16 56c-38.7998 19.9004 -90.5 32 -144 32s-105.2 -12.0996 -144 -32
c-8.7998 -19.5 -11.2002 -33.9004 -16 -56c42.2002 7.90039 98.7002 14.7998 160 14.7998s117.8 -6.89941 160 -14.7998z" />
    <glyph glyph-name="page4" unicode="&#xf3d7;" horiz-adv-x="496" 
d="M248 -56c-137 0 -248 111 -248 248s111 248 248 248c20.9004 0 41.2998 -2.59961 60.7002 -7.5l-266.4 -376.5h205.7v-112zM248 87.5996h-149.4l149.4 213.601v-213.601zM344 56h111.4c-26.9004 -41 -65.7002 -73.5 -111.4 -92.7002v92.7002zM401.4 194.2v-16.7002
l-21.2002 8.2998zM381.1 139.7c5.90039 0 8.2002 -4.7002 8.2002 -10.6006v-10h-16.2002v7.7002c0 6.60059 1.30078 12.9004 8 12.9004zM496 192c0 -37.2998 -8.2002 -72.7002 -23 -104.4h-129v333.101c89.2998 -37.5 152 -125.8 152 -228.7zM360.4 304.4h68.1992v47.5996
h-13.8994v-32.5996h-13.9004v29.5996h-13.8994v-29.5996h-12.7002v32.5996h-13.9004v-47.5996h0.100586zM428.5 119.1h-26.5v11c0 15.4004 -5.59961 25.2002 -20.9004 25.2002c-15.3994 0 -20.6992 -10.5996 -20.6992 -25.8994v-25.3008h68.1992v15h-0.0996094zM428.5 222.1
l-68.2002 -29.6992v-12.4004l68.2002 -29.5v16.5996l-14.4004 5.7002v26.5l14.4004 5.90039v16.8994zM423.7 290.6h-35.6006v-26.5996h13.9004v12.2002h11c8.59961 -15.7998 1.2998 -35.2998 -18.5996 -35.2998c-22.5 0 -28.3008 25.2998 -15.5 37.6992l-11.6006 10.6006
c-16.2002 -17.5 -12.2002 -63.9004 27.1006 -63.9004c34 0 44.6992 35.9004 29.2998 65.2998z" />
    <glyph glyph-name="palfed" unicode="&#xf3d8;" horiz-adv-x="576" 
d="M384.9 254.1c0.0996094 -53.3994 -46.5 -96.1992 -83.3008 -96.1992c-12.5 0 -14.3994 3.39941 -15.0996 6.19922c0.5 39.1006 1.7002 80.4004 3 119.801c40.2002 14.3994 95.4004 17.5996 95.4004 -29.8008zM190.4 181.9
c-0.200195 0.599609 -0.400391 2.09961 -0.600586 4.59961c0 25.5996 37 60.9004 58.5 75.9004c-1.2002 -36.4004 -5.5 -198.101 -1.39941 -242.5c3 -32.3008 26.7998 -32.9004 36.3994 -22.3008c5.90039 6.60059 5.5 15.7002 5.2998 19.1006v0.200195
c-1.7998 25.5996 -2.7998 60.5996 -2.69922 100c60.7998 -14.4004 140.1 60.2998 140.1 138.199c0 71 -63 94.2002 -135.2 72c-2.89941 14.6006 -18.2998 20.1006 -29.5 11.1006c-7.5 -6.2002 -9.5 -15.7998 -10.5 -28.2002c-57.7998 -30.9004 -100.7 -84.5 -100.7 -126.5
c0 -24.9004 15.6006 -43 37.1006 -43c35.0996 0 41 44.0996 14.3994 44.0996c-4.69922 0 -11 -2.69922 -11.1992 -2.69922zM8 266.9c0 38.5996 38.4004 37.3994 38.4004 37.3994h29c15.5 70.1006 120.5 74.2998 120.5 74.2998h28.0996v19.1006
c0 18.3994 21.0996 18.3994 21.0996 18.3994h85.8008c18.3994 0 21.0996 -18.3994 21.0996 -18.3994v-19.1006h28c89.2002 0 112.1 -48.6992 119.4 -74.2998h30.0996c38.5 0 38.4004 -37.3994 38.4004 -37.3994c0 -38.6006 -38.4004 -37.4004 -38.4004 -37.4004h-30
l-22.4004 -217.2c0 -43.8994 -44.6992 -44.2998 -44.6992 -44.2998h-288.9c-44.7002 0 -44.7002 44.2998 -44.7002 44.2998l-22.3994 217.2h-30c-38.5 0 -38.4004 37.4004 -38.4004 37.4004z" />
    <glyph glyph-name="patreon" unicode="&#xf3d9;" horiz-adv-x="512" 
d="M512 253.2c0 -101.3 -82.4004 -183.8 -183.8 -183.8c-101.7 0 -184.4 82.3994 -184.4 183.8c0 101.6 82.7002 184.3 184.4 184.3c101.399 0 183.8 -82.7002 183.8 -184.3zM0 -53.5v491h90v-491h-90z" />
    <glyph glyph-name="periscope" unicode="&#xf3da;" 
d="M370 384.4c38.4004 -40.7002 59.5 -94.3008 59.5 -150.801c0 -74.2998 -57.4004 -159.5 -82 -192.6c-8 -10.7998 -79.2998 -105 -120.9 -105c-34 0 -88.7998 56.5 -125.399 104.9c-24.9004 32.8994 -82.7002 117.6 -82.7002 192.699c0 118.2 93.4004 214.4 208.1 214.4
c53.9004 0 104.801 -22.5996 143.4 -63.5996zM226.6 -45.9004c37.3008 0 184.801 167.301 184.7 279.4c0 107.3 -83.8994 196.3 -184.7 196.3c-106.1 0 -190 -88.8994 -190 -196.3c0 -112.1 147.5 -279.4 190 -279.4zM338 241.2c0 -59.1006 -51.0996 -109.7 -110.8 -109.7
c-100.601 0 -150.7 108.2 -92.9004 181.8v-0.399414c0 -24.5 20.1006 -44.4004 44.7998 -44.4004c24.7002 0 44.8008 19.9004 44.8008 44.4004c0 18.1992 -11.1006 33.7998 -26.9004 40.6992c76.5996 19.2002 141 -39.2998 141 -112.399z" />
    <glyph glyph-name="phabricator" unicode="&#xf3db;" horiz-adv-x="496" 
d="M323 185.9c0 0 21.5996 -19.6006 20.9004 -20.7002l-8.10059 -19.7998c-0.5 -1.40039 -29.7002 -0.5 -29.7002 -0.5l-9.09961 -9.10059s1.59961 -31.5 0.200195 -32.0996l-20 -7.5c-1.2998 -0.5 -21.7998 23.2998 -21.7998 23.2998l-13.1006 0.200195
s-19.2998 -24.1006 -20.7002 -23.5l-20.0996 8.2998c-1.40039 0.5 -1.2002 32.2998 -1.2002 32.2998l-9.39941 9.2998s-28.9004 -0.899414 -29.5 0.5l-9.5 20c-0.600586 1.40039 21.0996 21.2002 21.0996 21.2002l-0.0996094 12.9004s-21.6006 19.5996 -21 21
l8.09961 19.7998c0.5 1.2998 29.7002 0.400391 29.7002 0.400391l9.09961 9.09961s-1.59961 28.4004 -0.200195 28.9004l20 8.2998c1.40039 0.599609 21.9004 -20.7998 21.9004 -20.7998l13.0996 -0.200195s19.3008 21.5996 20.7002 21l20.1006 -9.2002
c1.39941 -0.599609 1.19922 -29.0996 1.19922 -29.0996l9.40039 -9.30078s28.9004 0.900391 29.5 -0.5l9.5 -20c0.599609 -1.39941 -21.0996 -21.1992 -21.0996 -21.1992zM278.1 194.6c-0.699219 17 -15.5 30.3008 -32.7998 29.5
c-17.2998 -0.699219 -30.7998 -15.1992 -30.0996 -32.2998c0.700195 -17.0996 15.5 -30.3994 32.7998 -29.5996s30.7998 15.2998 30.0996 32.3994zM479.3 232.5c22.2998 -22.2998 22.2998 -58.7002 0 -81c-67.3994 -67.4004 -44.2998 -44.4004 -95.2998 -95.2998
c-74.4004 -74.5 -194.7 -74.9004 -269.8 -1.60059l-0.100586 -0.0996094c-51 51 -27.5 27.5996 -97.3994 97c-22.2998 22.2998 -22.2998 58.7002 0 81c67.8994 67.4004 44.7998 44.2998 95.7002 95.2998c74.3994 74.4004 194.699 74.9004 269.8 1.60059l0.0996094 0.0996094
zM140.4 84.2002c59.5996 -59.5 156 -59.6006 215.6 -0.100586c59.5996 59.6006 59.5 156.101 0 215.601c-59.5996 59.5 -156.1 59.5996 -215.6 0c-59.6006 -59.5 -59.6006 -156 0 -215.5z" />
    <glyph glyph-name="phoenix-framework" unicode="&#xf3dc;" horiz-adv-x="640" 
d="M212.9 103.7c-36.7002 -1.2002 -108.7 29.2998 -127.7 106.399c-8.7002 35.3008 -2.7002 51.8008 -8 86.1006c-8.2002 53.3994 -32.1006 72.2002 -55.9004 76.5c-6.2002 1.09961 -12.3994 1.2998 -18.7002 0.299805
c-0.799805 -0.0996094 -1.59961 -0.200195 -2.39941 -0.200195c-0.100586 0.200195 -0.100586 0.299805 -0.200195 0.5c0.700195 0.600586 1.40039 1.2002 2.2002 1.7998c36.8994 26.9004 92 38.4004 136.3 35c123.6 -9.5 141.3 -156.6 252.5 -173.1
c6.09961 -0.900391 12.2998 -1.09961 18.5 -1.7002c0.700195 -0.0996094 1.40039 -0.0996094 2.5 -0.200195c-2.09961 -2.19922 -21.5996 -11.7998 -36.5 -14.5c-18.4004 -3.39941 -35.7002 -0.0996094 -51.2998 10.3008c-14.5 9.7998 -24.5 23.5 -38.9004 27.3994
c-13 3.60059 -34.0996 1.7002 -35.8994 -19.5996c-1.30078 -15.9004 14.1992 -51.7998 51.7998 -74.6006c40.3994 -24.5 101.399 -26.8994 134.7 -14.7998c0.299805 0.100586 0.699219 0.200195 1.09961 0.299805c0.200195 0.100586 0.400391 0 1 -0.0996094
c-23.5996 -28.4004 -71.2002 -49.9004 -108.2 -45.4004c-50.3994 6.2002 -77.7002 75.9004 -113.7 97.5c-19.0996 11.5 -49.0996 7 -52 -18.5c-1.09961 -10 2.10059 -19 6.40039 -27.5996c24.4004 -48.5996 65.5996 -47 68 -49.5996
c-2.7998 -0.800781 -21.7998 -2.10059 -25.5996 -2.2002zM75.2998 383.1c13.1006 -14.5 34.2002 -7.89941 35.2998 6.80078c-12.3994 -0.700195 -24.5 -2.2002 -36.5996 -4.80078c0.400391 -0.799805 0.400391 -1 1.2998 -2zM272.2 32.5996
c-42.7998 -1.19922 -92 26.7002 -123.5 61.4004c-4.60059 5 -16.7998 20.2002 -18.6006 23.4004l0.400391 0.399414c6.59961 -4.09961 25.7002 -18.5996 54.7998 -27c24.2002 -7 48.1006 -6.2998 71.6006 3.2998c22.6992 9.30078 41 0.5 43.0996 -2.89941
c-18.5 -3.7998 -20.0996 -4.40039 -24 -7.90039c-5.09961 -4.39941 -4.59961 -11.7002 7 -17.2002c26.2002 -12.3994 63 2.80078 97.2002 -25.3994c2.39941 -2 8.09961 -7.7998 10.0996 -10.7002c-0.0996094 -0.200195 -0.299805 -0.299805 -0.399414 -0.5
c-4.80078 1.5 -16.4004 7.5 -40.2002 9.2998c-24.7002 2 -46.2998 -5.2998 -77.5 -6.2002zM447 284.6c16.4004 5.2002 41.2998 13.4004 66.5 3.30078c16.0996 -6.5 26.2002 -18.7002 32.0996 -34.6006c3.5 -9.39941 5.10059 -19.7002 5.10059 -28.7002
c-0.200195 0 -0.400391 0 -0.600586 -0.0996094c-0.199219 0.400391 -0.399414 0.900391 -0.5 1.2998c-5 22 -29.8994 43.7998 -67.5996 29.9004c-50.2002 -18.6006 -130.4 -9.7002 -176.9 48c-0.699219 0.899414 -2.39941 1.7002 -1.2998 3.2002
c0.100586 0.199219 2.10059 -0.600586 3 -1.30078c18.1006 -13.3994 38.2998 -21.8994 60.2998 -26.1992c30.5 -6.10059 54.6006 -2.90039 79.9004 5.19922zM549.7 167.1c-32.4004 -0.199219 -33.7998 -50.0996 -103.601 -64.3994
c-18.1992 -3.7002 -38.6992 -4.60059 -44.8994 -4.2002v0.400391c2.7998 1.5 14.7002 2.59961 29.7002 16.5996c7.89941 7.2998 15.2998 15.0996 22.7998 22.9004c19.5 20.1992 41.3994 42.1992 81.8994 39c23.1006 -1.80078 29.3008 -8.2002 36.1006 -12.7002
c0.299805 -0.200195 0.399414 -0.5 0.700195 -0.900391c-0.5 0 -0.700195 -0.0996094 -0.900391 0c-7 2.7002 -14.2998 3.2998 -21.7998 3.2998zM537.4 191.2c-0.100586 -0.200195 -0.100586 -0.400391 -0.200195 -0.600586c-28.9004 4.40039 -48 7.90039 -68.5 -4
c-17 -9.89941 -31.4004 -20.5 -62 -24.3994c-27.1006 -3.40039 -45.1006 -2.40039 -66.1006 8c-0.299805 0.200195 -0.599609 0.399414 -1 0.599609c0 0.200195 0.100586 0.299805 0.100586 0.5c24.8994 -3.7998 36.3994 -5.09961 55.5 5.7998
c22.2998 12.9004 40.0996 26.6006 71.2998 31c29.5996 4.10059 51.2998 -2.5 70.9004 -16.8994zM268.6 350.7c-0.599609 0.599609 -1.09961 1.2002 -2.09961 2.2998c7.59961 0 29.7002 1.2002 53.4004 -8.40039c19.6992 -8 32.1992 -21 50.1992 -32.8994
c11.1006 -7.2998 23.4004 -9.2998 36.4004 -8.10059c4.2998 0.400391 8.5 1.2002 12.7998 1.7002c0.400391 0.100586 0.900391 0 1.5 -0.299805c-0.599609 -0.400391 -1.2002 -0.900391 -1.7998 -1.2002c-8.09961 -4 -16.7002 -6.2998 -25.5996 -7.09961
c-26.1006 -2.60059 -50.3008 3.7002 -73.4004 15.3994c-19.2998 9.90039 -36.4004 22.9004 -51.4004 38.6006zM640 112.3c-3.5 -3.09961 -22.7002 -11.5996 -42.7002 -5.2998c-12.2998 3.90039 -19.5 14.9004 -31.5996 24.0996
c-10 7.60059 -20.9004 7.90039 -28.1006 8.40039c0.600586 0.799805 0.900391 1.2002 1.2002 1.40039c14.7998 9.19922 30.5 12.1992 47.2998 6.5c12.5 -4.2002 19.2002 -13.5 30.4004 -24.2002c10.7998 -10.4004 21 -9.90039 23.0996 -10.5
c0.100586 0.0996094 0.200195 0 0.400391 -0.400391zM427.5 -24.7002c2.2002 -1.2002 1.59961 -1.5 1.5 -2c-18.5 1.40039 -33.9004 7.60059 -46.7998 22.2002c-21.7998 24.7002 -41.7002 27.9004 -48.6006 29.7002c0.5 0.200195 0.800781 0.399414 1.10059 0.399414
c13.0996 -0.0996094 26.0996 -0.699219 38.8994 -3.89941c25.3008 -6.40039 35 -25.4004 41.6006 -35.2998c3.2002 -4.80078 7.2998 -8.30078 12.2998 -11.1006z" />
    <glyph glyph-name="playstation" unicode="&#xf3df;" horiz-adv-x="576" 
d="M570.9 75.7002c-11.3008 -14.2002 -38.8008 -24.2998 -38.8008 -24.2998l-205.1 -73.6006v54.2998l150.9 53.8008c17.0996 6.09961 19.7998 14.7998 5.7998 19.3994c-13.9004 4.60059 -39.1006 3.2998 -56.2002 -2.89941l-100.5 -35.5v56.3994
c23.2002 7.7998 47.0996 13.6006 75.7002 16.7998c40.8994 4.5 90.8994 -0.599609 130.2 -15.5c44.1992 -14 49.1992 -34.6992 38 -48.8994zM346.5 168.2v139c0 16.2998 -3 31.2998 -18.2998 35.5996c-11.7002 3.7998 -19 -7.09961 -19 -23.3994v-347.9l-93.7998 29.7998
v414.7c39.8994 -7.40039 98 -24.9004 129.199 -35.4004c79.5 -27.2998 106.4 -61.2998 106.4 -137.8c0 -74.5 -46 -102.8 -104.5 -74.5996zM43.2002 37.7998c-45.4004 12.7998 -53 39.5 -32.2998 54.7998c19.0996 14.2002 51.6992 24.9004 51.6992 24.9004l134.5 47.7998
v-54.5l-96.7998 -34.5996c-17.0996 -6.10059 -19.7002 -14.7998 -5.7998 -19.4004c13.9004 -4.59961 39.0996 -3.2998 56.2002 2.90039l46.3994 16.8994v-48.7998c-51.5996 -9.2998 -101.399 -7.2998 -153.899 10z" />
    <glyph glyph-name="pushed" unicode="&#xf3e1;" horiz-adv-x="432" 
d="M407 336.1c21.7002 -1.89941 33.7998 -28 17.4004 -44.7998l-235.2 -231.3l-35.2998 -80.7998c-11 -17.2002 -41.2002 -14.2998 -47.7002 7l-105.101 348.3c-4.59961 18.2998 6.30078 33.9004 21.4004 36.5996l271.3 44.4004c17.9004 3.40039 39.1006 -13.5 28.7002 -37
l-14 -33.4004zM297.6 394.4l-189 -31l177.4 -16.3008l16.7998 39.9004c2.2998 4.90039 -0.0996094 8.09961 -5.2002 7.40039zM22.7002 340.1l157.899 -244.3l96.9004 230.7l-248.7 22.7002c-5.09961 0.899414 -9.2002 -4 -6.09961 -9.10059zM136 -8.40039
c0 0 28.2002 64.1006 35.2002 79.1006l-127.7 197.6l83.0996 -275.5c1.5 -4.2998 6.80078 -5.2002 9.40039 -1.2002zM408.8 306.1c3.10059 3.30078 1.40039 7.5 -2.59961 8.60059l-106.4 9.7002l-89.7002 -213.7z" />
    <glyph glyph-name="python" unicode="&#xf3e2;" 
d="M439.8 247.5c10.7002 -42.9004 11.2002 -75.0996 0 -108.6c-10.7998 -32.5 -22.2998 -54.2002 -53.3994 -54.2002h-160.2v-13.6006h106.7v-40.6992c0 -30.8008 -26.5 -46.5 -53.4004 -54.3008c-40.5 -11.6992 -73 -9.89941 -106.8 0
c-28.2002 8.30078 -53.4004 25.3008 -53.4004 54.3008v101.8c0 29.2998 24.2002 54.2998 53.4004 54.2998h106.8c35.5996 0 66.7998 31 66.7998 67.7998v47.4004h40.1006c31.0996 0 45.6992 -23.2998 53.3994 -54.2002zM286.2 44c-11 0 -20 -9 -20.1006 -20.2998
c0 -11.2002 9.10059 -20.4004 20.1006 -20.4004c11.0996 0 20.0996 9.10059 20.0996 20.4004c0 11.2002 -9 20.2998 -20.0996 20.2998zM167.8 199.9c-36.2998 0 -66.7998 -31.1006 -66.7998 -66.4004v-48.7998h-36.7002c-31.0996 0 -49.2002 22.5996 -56.7998 54.2002
c-10.2002 42.5 -9.7998 67.8994 0 108.6c8.5 35.5 35.7002 54.2002 66.7998 54.2002h147v13.5996h-106.899v40.7002c0 30.9004 8.19922 47.5996 53.3994 55.5996c32.1006 5.7002 71 6 106.8 0.100586c29 -4.90039 53.4004 -26.6006 53.4004 -55.6006v-101.899
c0 -29.7998 -23.7002 -54.2998 -53.4004 -54.2998h-106.8zM161.1 342.5c11.1006 0 20.1006 9.09961 20.1006 20.2998s-9.10059 20.4004 -20.1006 20.4004c-11.0996 0 -20 -9.10059 -20.0996 -20.4004c0 -11.2002 9 -20.2998 20.0996 -20.2998z" />
    <glyph glyph-name="red-river" unicode="&#xf3e3;" 
d="M353.2 416c52.3994 0 94.7998 -42.4004 94.7998 -94.7998v-258.4c0 -52.3994 -42.4004 -94.7998 -94.7998 -94.7998h-258.4c-52.3994 0 -94.7998 42.4004 -94.7998 94.7998v258.4c0 52.3994 42.4004 94.7998 94.7998 94.7998h258.4zM144.9 247.1
c-0.600586 12.4004 11.6992 24.6006 24 24h56.2998c27 0 48.8994 21.9004 48.8994 48.9004h-154.199c-13.2002 0 -23.9004 -10.7002 -23.9004 -23.9004v-154.199c27 0 48.9004 21.8994 48.9004 48.8994v56.2998zM321.2 175.1c27 0 48.8994 21.9004 48.8994 48.9004h-154.199
c-13.2002 0 -23.9004 -10.7002 -23.9004 -23.9004v-154.199c27 0 48.9004 21.8994 48.9004 48.8994v56.2998c-0.600586 12.4004 11.6992 24.6006 24 24h56.2998z" />
    <glyph glyph-name="wpressr" unicode="&#xf3e4;" horiz-adv-x="496" 
d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM419.33 281.4c2.41016 5.47949 0.459961 8.2793 -5.62012 8.26953c-104.8 0.00976562 -107.69 -0.0302734 -130.78 0.0302734
c-4.31934 0.00976562 -7.10938 -1.82031 -8.83984 -5.78027c-5.70996 -13.0996 -11.5195 -26.1504 -17.2998 -39.21c-2.57031 -5.7998 -1 -8.26953 5.26953 -8.26953c25.2607 0 50.5205 -0.0107422 75.7803 0.0195312
c10.0303 0.00976562 8.54004 -13.6602 -3.89941 -13.6396c-26.4307 0.0498047 -52.8604 0 -79.29 0.0498047c-4.91016 0.00976562 -8.33008 -1.88965 -10.3506 -6.5c-4.2998 -9.83008 -32.1494 -73.0801 -32.1895 -73.1602
c-3.2002 -7.16016 -16.2607 -6.09961 -11.2803 5.33008c8.26953 18.9902 16.6504 37.9297 24.9795 56.8896c2.25 5.11035 -0.0996094 8.74023 -5.65918 8.75c-15.21 0.0205078 -30.4307 -0.0400391 -45.6406 0.0400391
c-3.35938 0.0107422 -5.41016 -1.29004 -6.76953 -4.38965c-31.4307 -71.8701 -29.7803 -67.3203 -30.0098 -67.6904c-3.87012 -6.37012 -14.8604 -3.34961 -10.9502 5.60059c5.66992 13.0098 11.3701 26.0098 17.0898 39c13.5703 30.7793 27.1396 61.5596 40.7402 92.3301
c2.54004 5.75 -0.419922 10.5801 -6.66016 10.5898c-14.2402 0.0302734 -28.4805 -0.0498047 -42.7197 0.0498047c-4.26074 0.0302734 -6.84082 -1.76953 -8.54004 -5.65039c-12.8604 -29.3896 -25.8203 -58.7295 -38.75 -88.0791
c-8.62012 -19.5605 -17.2305 -39.1201 -25.8906 -58.6602c-1.58008 -3.55078 -1.47949 -6.78027 1.20996 -9.73047c11.2207 -12.3096 22.4707 -24.6094 33.6807 -36.9395c2.08984 -2.30078 4.58984 -3.4502 7.71973 -3.4502c45.9395 0.0195312 91.8701 0.00976562 137.81 0
c3.86035 0 6.37988 1.78027 7.91992 5.29004c10.3203 23.5 20.7607 46.9395 30.9502 70.5c2.08984 4.83008 5.21973 6.75 10.3398 6.71973c23.0205 -0.110352 46.0303 -0.0400391 69.0508 -0.0498047c6.0791 0 10.5293 2.72949 12.9697 8.24023
c15.2598 34.4795 30.4502 68.9893 45.6299 103.5z" />
    <glyph glyph-name="replyd" unicode="&#xf3e6;" 
d="M320 -32h-192c-70.4004 0 -128 57.5996 -128 128v192c0 70.4004 57.5996 128 128 128h192c70.4004 0 128 -57.5996 128 -128v-192c0 -70.4004 -57.5996 -128 -128 -128zM193.4 174.8c-6.10059 2 -11.6006 3.10059 -16.4004 3.10059
c-7.2002 0 -13.5 -1.90039 -18.9004 -5.60059c-5.39941 -3.7002 -9.59961 -9 -12.7998 -15.7998h-1.09961l-4.2002 18.2998h-28v-138.899h36.0996v89.6992c1.5 5.40039 4.40039 9.80078 8.7002 13.2002c4.2998 3.40039 9.7998 5.10059 16.2002 5.10059
c4.59961 0 9.7998 -1 15.5996 -3.10059zM308.6 71.4004c-3.19922 -2.40039 -7.69922 -4.80078 -13.6992 -7.10059s-12.8008 -3.5 -20.4004 -3.5c-12.2002 0 -21.0996 3 -26.5 8.90039c-5.5 5.89941 -8.5 14.7002 -9 26.3994h83.2998
c0.900391 4.80078 1.60059 9.40039 2.10059 13.9004c0.5 4.40039 0.699219 8.59961 0.699219 12.5c0 10.7002 -1.59961 19.7002 -4.69922 26.9004c-3.2002 7.19922 -7.30078 13 -12.5 17.1992c-5.2002 4.30078 -11.1006 7.30078 -17.8008 9.2002
c-6.69922 1.7998 -13.5 2.7998 -20.5996 2.7998c-21.0996 0 -37.5 -6.09961 -49.2002 -18.2998s-17.5 -30.5 -17.5 -55c0 -22.7998 5.2002 -40.7002 15.6006 -53.7002c10.3994 -13.0996 26.7998 -19.5996 49.1992 -19.5996c10.7002 0 20.9004 1.5 30.4004 4.59961
c9.5 3.10059 17.0996 6.80078 22.5996 11.2002zM286.8 141.7c3.7998 -5.40039 5.2998 -13.1006 4.60059 -23.1006h-51.7002c0.899414 9.40039 3.7002 17 8.2002 22.6006c4.5 5.59961 11.5 8.5 21 8.5c8.19922 0.0996094 14.0996 -2.60059 17.8994 -8zM366.7 139.2
c4.09961 -3.90039 9.39941 -5.7998 16.0996 -5.7998c7 0 12.6006 1.89941 16.7002 5.7998c4.09961 3.89941 6.09961 9.09961 6.09961 15.5996s-2 11.6006 -6.09961 15.4004s-9.59961 5.7002 -16.7002 5.7002c-6.7002 0 -12 -1.90039 -16.0996 -5.7002
c-4.10059 -3.7998 -6.10059 -8.90039 -6.10059 -15.4004s2 -11.7002 6.10059 -15.5996zM366.7 38.7002c4.09961 -3.90039 9.39941 -5.7998 16.0996 -5.7998c7 0 12.6006 1.89941 16.7002 5.7998c4.09961 3.89941 6.09961 9.09961 6.09961 15.5996
s-2 11.6006 -6.09961 15.4004s-9.59961 5.7002 -16.7002 5.7002c-6.7002 0 -12 -1.90039 -16.0996 -5.7002c-4.10059 -3.7998 -6.10059 -8.90039 -6.10059 -15.4004c0 -6.59961 2 -11.7002 6.10059 -15.5996z" />
    <glyph glyph-name="resolving" unicode="&#xf3e7;" horiz-adv-x="496" 
d="M281.2 169.8l-197.9 -57.2002l-28.5996 98.6006l188.2 54.0996c52.6992 15.2998 65 8.10059 71.0996 -12.7998l11.2002 -39.2998c5.59961 -19.9004 2 -30.1006 -44 -43.4004zM248.5 440c137 0 248.5 -111.4 247.5 -247.7c0 -136.899 -111.5 -248.3 -248.5 -248.3
c-46 0 -89.5 12.7002 -126.3 34.7002l-23 80.2002l286.8 -37.3008l48.0996 13.3008l-9.69922 34.1992l-220.4 27.1006l92.5996 26.5996c30.2002 8.7002 42 15.7998 61.4004 33.2002c24.5 23 31.7002 45.5 23.5 73.5996l-10.7002 37.8008
c-8.7002 30.1992 -25.0996 49.0996 -61.3994 55.1992c-25.1006 3.5 -44.5 2 -79.3008 -8.19922l-221.899 -63.9004c26 108.8 124.2 189.5 241.3 189.5zM38.2998 59.4004c-24 38.3994 -38.2998 83.2998 -38.2998 131.8z" />
    <glyph glyph-name="rocketchat" unicode="&#xf3e8;" horiz-adv-x="576" 
d="M486.41 340.43c119.649 -76.54 119.26 -221 0 -297.14c-77.1201 -50.9199 -179.37 -62.3896 -264.12 -47.1602c-95.5205 -91.1895 -201.72 -49.1602 -222.29 -37c0 0 73.0801 62.1006 61.21 116.49c-45.3896 46.3701 -86.5195 144.57 0 232.77
c11.8701 54.3906 -61.21 116.49 -61.21 116.49c20.7695 12.1201 127.26 54.2803 222.29 -37.3799c84.9404 15.3301 187.19 3.75977 264.12 -47.0703zM294.18 43.7803c126.67 0 229.409 66.2197 229.409 148.22s-102.74 148.43 -229.41 148.43
s-229.41 -66.4297 -229.41 -148.43c0 -35.79 19.4707 -68.5195 52 -94.1299c9.11426 -29.127 3.78125 -62.0234 -15.999 -98.6904c-0.889648 -1.67969 -1.76953 -3.45996 -2.76953 -5.23926c18.3555 1.62988 35.999 6.81934 51.71 14.7295
c13.4121 7.59277 25.6025 16.7344 36.5898 27.3896l19.7705 19.0908c27.8438 -7.39355 56.958 -11.3721 87.1162 -11.3721c0.331055 0 0.662109 0.000976562 0.993164 0.00195312zM184.119 156.7c-0.164062 -0.00292969 -0.329102 -0.00390625 -0.494141 -0.00390625
c-18.7393 0 -33.9814 15.0615 -34.3057 33.7236c-0.700195 45.3896 67.8301 46.3799 68.5195 1.08984v-0.509766c0.000976562 -0.109375 0.00195312 -0.217773 0.00195312 -0.327148c0 -18.6709 -15.0869 -33.8398 -33.7217 -33.9932v0.0205078zM257.889 190.42
c-0.790039 45.3896 67.7402 46.4805 68.5303 1.19043v-0.610352c0.389648 -45.0801 -67.7402 -45.5703 -68.5303 -0.580078zM401.269 156.7c-0.164062 -0.00292969 -0.329102 -0.00390625 -0.494141 -0.00390625c-18.7402 0 -33.9854 15.0605 -34.3154 33.7236
c-0.69043 45.3896 67.8398 46.3799 68.5303 1.08984v-0.509766c0.00195312 -0.145508 0.00292969 -0.291992 0.00292969 -0.438477c0 -18.6475 -15.0967 -33.79 -33.7236 -33.8818v0.0205078z" />
    <glyph glyph-name="rockrms" unicode="&#xf3e9;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM405.4 20.5l-101.5 118.9s73.5996 0.199219 74.1992 0.199219c29.6006 -1.09961 46.6006 33.3008 27.6006 56.1006l-157.7 185.1c-13.2002 17.2998 -40.0996 18.4004 -54.5 0
l-147.1 -172.5h90l84.2998 98.9004l84.5996 -99.2998h-75.2998c-30.5 0 -44.5 -35.7002 -26.5996 -56.1006l112 -131.3h90z" />
    <glyph glyph-name="schlix" unicode="&#xf3ea;" 
d="M350.5 290.3l-54.2002 46.1006l73.4004 39l78.2998 -44.2002zM192 325.9l45.7002 28.1992l34.7002 -34.5996l-55.4004 -29zM126.9 319.3l31.8994 22.1006l17.2002 -28.4004l-36.7002 -22.5zM103.6 231.1l-8.7998 34.8008l29.6006 18.2998l13.0996 -35.2998z
M82.4004 314.8l23.8994 18.1006l8.90039 -24l-26.7002 -18.3008zM59 241.5l-3.59961 28.4004l22.2998 15.5l6.09961 -28.7002zM28.4004 224.9l20.7998 12.7998l3.2998 -33.4004l-22.9004 -12zM1.40039 180l19.1992 10.2002l0.400391 -38.2002l-21 -8.7998zM60.5 120.7
l-28.2998 -8.2998l-1.60059 46.7998l25.1006 10.7002zM99 184.8l-31.0996 -13l-5.2002 40.7998l27.3994 14.4004zM123.2 71l-41.6006 -5.90039l-8.09961 63.5l35.2002 10.8008zM151.7 210.9l21.2002 -57.1006l-46.2002 -13.5996l-13.7002 54.0996zM237.4 -19.5996
l-70.9004 3.2998l-24.2998 95.7998l55.2002 8.59961zM152.5 260.1l42.2002 22.4004l28 -45.9004l-50.7998 -21.2998zM193.5 165.2l61.2998 18.7002l52.7998 -86.6006l-79.7998 -11.2998zM244.9 250.8l67.2998 28.7998l65.5 -65.3994l-88.6006 -26.2002z" />
    <glyph glyph-name="searchengin" unicode="&#xf3eb;" horiz-adv-x="460" 
d="M220.6 317.7l-67.1992 -209.3v130.3l-54.7002 -24.2002l54.7002 190.3v-115.3zM137.4 414.4l-1.30078 -4.7002l-15.1992 -52.9004c-40.3008 -15.5 -68.9004 -54.5996 -68.9004 -100.3c0 -52.2998 34.2998 -95.9004 83.4004 -105.5v-53.5996
c-77.9004 10.5 -135.4 78.1992 -135.4 159c0 80.5 59.7998 147.199 137.4 158zM448.8 -32.7998c-11.2002 -11.2002 -23.0996 -12.2998 -28.5996 -10.5c-5.40039 1.7998 -27.1006 19.8994 -60.4004 44.3994c-33.2998 24.6006 -33.5996 35.7002 -43 56.7002
c-9.39941 20.9004 -30.3994 42.6006 -57.5 52.4004l-9.7002 14.7002c-24.6992 -16.9004 -53 -26.9004 -81.2998 -28.7002l2.10059 6.59961l15.8994 49.5c46.5 11.9004 80.9004 54 80.9004 104.2c0 54.5 -38.4004 102.1 -96 107.1v52.1006
c83.2002 -5.10059 148.8 -74.5 148.8 -159.3c0 -33.6006 -11.2002 -64.7002 -29 -90.4004l14.5996 -9.59961c9.80078 -27.1006 31.5 -48 52.4004 -57.4004s32.2002 -9.7002 56.7998 -43c24.6006 -33.2002 42.7002 -54.9004 44.5 -60.2998
c1.7998 -5.40039 0.700195 -17.2998 -10.5 -28.5zM438.9 -14.9004c0 4.40039 -3.60059 8 -8 8c-4.40039 0 -8 -3.59961 -8 -8c0 -4.39941 3.59961 -8 8 -8c4.39941 0 8 3.60059 8 8z" />
    <glyph glyph-name="servicestack" unicode="&#xf3ec;" horiz-adv-x="496" 
d="M88 232c81.7002 -10.2002 273.7 -102.3 304 -232h-392c99.5 8.09961 184.5 137 88 232zM120 384c102.8 -15.5 335.3 -167.9 376 -384h-96c-26.2998 126.7 -150.7 216.7 -233.6 250.4c1.2998 49.6992 -14.1006 98 -46.4004 133.6z" />
    <glyph glyph-name="sistrix" unicode="&#xf3ee;" 
d="M448 -1l-30.5 -31l-146 148.1c-28.7002 -23.6992 -65.2002 -37.8994 -105 -37.8994c-91.7998 0 -166.5 75.7998 -166.5 168.899c0 93.1006 74.7002 168.9 166.6 168.801c91.8008 0 166.5 -75.8008 166.5 -168.9c0 -37 -11.8994 -71.2998 -31.8994 -99.2002zM166.5 117.2
c70.7002 0 128.1 58.2998 128.1 129.899c0 71.6006 -57.5 129.9 -128.1 129.9s-128.1 -58.2998 -128.1 -129.9c0 -71.5996 57.5 -129.899 128.1 -129.899z" />
    <glyph glyph-name="slack-hash" unicode="&#xf3ef;" 
d="M446.2 177.6c6.2002 -19 -3.90039 -39.6992 -22.9004 -45.6992l-45.3994 -15.1006l15.6992 -47c6.10059 -19.0996 -3.89941 -39.7002 -23 -45.8994c-21.2998 -6.10059 -40.0996 6 -46 22.8994l-15.6992 47l-93.6006 -31.2998l15.7002 -47
c6.09961 -19.0996 -3.90039 -39.7002 -23 -45.9004c-21.2998 -6.09961 -40.0996 6 -46 22.9004l-15.7002 47c-45.7002 -15.2002 -50.8994 -17.7998 -57.7002 -16.7998c-14.5 0.599609 -28.5996 10.0996 -33.5996 24.5996c-6.09961 19 4 39.7002 23 45.9004l45.4004 15.0996
l-30.3008 90c-45.6992 -15.2002 -50.8994 -17.7998 -57.6992 -16.7998c-14.5 0.599609 -28.6006 10.0996 -33.6006 24.5996c-6.09961 19.1006 3.90039 39.7002 23 45.9004l45.2998 15l-15.6992 47c-6.10059 19.0996 3.89941 39.7002 23 45.9004
c19.0996 6.19922 39.7998 -3.90039 46 -22.9004l15.6992 -47l93.4004 31.2002l-15.7002 47c-6.09961 19.0996 3.90039 39.7002 23 45.8994c19.1006 6.2002 39.7998 -3.89941 46 -22.8994l15.7002 -47l45.4004 15.0996c19.0996 6.2002 39.7998 -3.89941 46 -22.8994
c6.09961 -19.1006 -3.90039 -39.7002 -23 -45.9004l-45.4004 -15.0996l30.2998 -90l45.4004 15.0996c19.0996 6.2002 39.7998 -3.90039 46 -22.9004zM192.1 130.4l93.5 31.2998l-30.2998 90.2002l-93.5 -31.3008z" />
    <glyph glyph-name="speakap" unicode="&#xf3f3;" 
d="M64 56.2197c-79.4102 88.1904 -72 224.36 16.6396 304.141c88.6406 79.7793 224.801 73 304.21 -15.2402c79.4102 -88.2402 72 -224.36 -16.6396 -304.14c-18.7402 -16.8701 64 -43.0908 42 -52.2607c-82.0596 -34.21 -253.91 -35 -346.229 67.5h0.0195312z
M277.31 267.82l38.5 40.8594c-9.60938 8.89062 -32 26.8301 -76.1699 27.6006c-52.3301 0.910156 -95.8594 -28.2998 -96.7695 -80c-0.200195 -11.3301 0.290039 -36.7207 29.4199 -54.8301c34.46 -21.4199 86.5195 -21.5098 86 -52.2598
c-0.370117 -21.2803 -26.4199 -25.8105 -38.5898 -25.6006c-3 0.0498047 -30.2305 0.459961 -47.6104 24.6201l-40 -42.6104c28.1602 -27 59 -32.6191 83.4902 -33.0498c10.2295 -0.179688 96.4199 -0.330078 97.8398 81
c0.280273 15.8105 -2.07031 39.7197 -28.8604 56.5898c-34.3594 21.6406 -85 19.4502 -84.4297 49.75c0.410156 23.25 31 25.3701 37.5303 25.2607c0.429688 0 26.6201 -0.260742 39.6201 -17.3701z" />
    <glyph glyph-name="staylinked" unicode="&#xf3f5;" horiz-adv-x="440" 
d="M382.7 155.5l44.2998 -41.2998c3.7002 -3.5 3.2998 -9 -0.700195 -12.2002l-198 -163.9c-9.89941 -7.59961 -17.2998 -0.799805 -17.2998 -0.799805l-208.7 196.101c-3.5 3.5 -3 9 1.2002 12.1992l45.7998 34.9004c4.2002 3.2002 10.4004 3 13.9004 -0.5l151.899 -147.5
c3.7002 -3.5 10 -3.7002 14.2002 -0.400391l93.2002 74c4.09961 3.2002 4.5 8.7002 0.900391 12.2002l-84 81.2998c-3.60059 3.5 -9.90039 3.7002 -14 0.5l-0.100586 -0.0996094c-4.09961 -3.2002 -10.3994 -3 -14 0.5l-68.0996 64.2998
c-3.5 3.5 -3.10059 9 1.09961 12.2002l57.2998 43.5996c4.10059 3.2002 10.3008 3 13.8008 -0.5l170 -167.3zM437.2 238.9c3.7002 -3.5 3.39941 -9 -0.700195 -12.2002l-45.7998 -35.7998c-4.10059 -3.2002 -10.4004 -3 -14.1006 0.5l-160.399 159
c-3.60059 3.5 -9.7998 3.69922 -13.9004 0.5l-92.2002 -71.5c-4.19922 -3.30078 -4.69922 -8.7002 -1.09961 -12.2002l94.5996 -91.7998c3.7002 -3.5 10 -3.60059 14.2002 -0.400391l0.100586 0.0996094c4.19922 3.2002 10.5996 3 14.1992 -0.5l57.1006 -54.3994
c3.7002 -3.5 3.2998 -9 -0.900391 -12.2002l-7.7002 -6l0.300781 -0.299805l-50.2002 -38.7998c-4.2002 -3.30078 -10.6006 -3.10059 -14.2998 0.399414l-171.7 165.101l-42.2998 41.6992c-3.60059 3.5 -3 9 1.19922 12.2002l206.801 162.101
c8.2998 6.59961 14.7998 2.2998 16.2998 1.09961z" />
    <glyph glyph-name="steam-symbol" unicode="&#xf3f6;" 
d="M395.5 270.5c0 -33.7998 -27.5 -61 -61 -61c-33.7998 0 -61 27.2998 -61 61s27.2998 61 61 61c33.5 0 61 -27.2002 61 -61zM448 270.3c0 -63 -51 -113.8 -113.7 -113.8l-109.3 -79.7998c-4 -43 -40.5 -76.7998 -84.5 -76.7998c-40.5 0 -74.7002 28.7998 -83 67
l-57.5 23.0996v107.3l97.2002 -39.2998c15.0996 9.2002 32.2002 13.2998 52 11.5l71 101.7c0.5 62.2998 51.5 112.8 114 112.8c62.7998 0 113.8 -51 113.8 -113.7zM203 85c0 34.7002 -27.7998 62.5 -62.5 62.5c-4.5 0 -9 -0.5 -13.5 -1.5l26 -10.5
c25.5 -10.2002 38 -39 27.7002 -64.5c-10.2002 -25.5 -39.2002 -38 -64.7002 -27.5c-10.2002 4 -20.5 8.2998 -30.7002 12.2002c10.5 -19.7002 31.2002 -33.2002 55.2002 -33.2002c34.7002 0 62.5 27.7998 62.5 62.5zM410.5 270.3c0 42 -34.2998 76.2002 -76.2002 76.2002
c-42.2998 0 -76.5 -34.2002 -76.5 -76.2002c0 -42.2002 34.2998 -76.2002 76.5 -76.2002c41.9004 -0.0996094 76.2002 33.9004 76.2002 76.2002z" />
    <glyph glyph-name="sticker-mule" unicode="&#xf3f7;" horiz-adv-x="576" 
d="M561.7 248.4c-1.2998 -0.300781 0.299805 0 0 0zM555.5 325.8c20.2002 -50.0996 20.5996 -45.2002 20.5996 -52.8994c0 -7.5 -4.09961 -11 -7.19922 -16.5c-1.5 -3 -4.60059 -7.5 -7.2002 -8c-0.400391 0 -3 -0.5 -13.4004 -2.5c-7.2002 -1 -13.3994 4.5 -14.8994 9.5
c-1.60059 4.69922 2.7998 10.0996 -11.8008 22.8994c-10.2998 10 -21.0996 11.2998 -31.8994 17c-9.7998 5.7002 -11.9004 -1 -18 -8c-18 -22.8994 -34 -46.8994 -52 -69.7998c-11.7998 -15 -24.2002 -30.4004 -33.5 -47.4004
c-3.90039 -6.7998 -9.5 -28.0996 -10.2998 -29.8994c-6.2002 -17.7002 -5.5 -25.7998 -16.5 -68.2998c-3.10059 -10 -5.7002 -21.4004 -8.7002 -32.4004c-2.2002 -6.7998 -7.40039 -49.2998 -0.5 -59.4004c2.09961 -3.5 8.7002 -4.5 11.2998 -8
c0.0996094 -0.0996094 9.59961 -18.1992 9.2998 -20c0 -6.09961 -9.39941 -5.59961 -11.2998 -6.5c-4.7998 -2.89941 -3.7998 -5.89941 -6.40039 -7.39941c-5.89941 -2.90039 -32.0996 -3.2002 -36.5 0.5c-4.09961 3 -2.19922 11.8994 -1.5 15
c2.2002 15 -2.5 7.89941 -9.7998 11.5c-3.09961 1.5 -4.09961 5.5 -4.59961 10c-0.5 1.5 -1 2.5 -1.5 3.5c-1.7002 10.7002 6.7998 33.5996 8.2002 43.3994c4.89941 23.7002 -0.700195 37.2002 1.5 46.9004c3.69922 16.2002 4.09961 3.5 4.09961 29.9004
c-1.40039 25.8994 3.2998 36.8994 0.5 38.8994c-14.7998 0 -64.2998 -10.7002 -112.2 -2c-46.0996 8.90039 -59.3994 29 -65.3994 30.9004c-10.3008 4.5 -23.2002 -0.5 -27.3008 -7c-0.0996094 -0.100586 -35 -70.6006 -39.5996 -87.7998
c-6.2002 -20.5 -0.5 -47.4004 4.09961 -66.8008c0 -0.0996094 4.5 -14.5996 10.3008 -19.5c2.09961 -1.5 5.09961 -2.5 7.19922 -4.5c2.80078 -2.69922 9.40039 -15.1992 9.80078 -16c2.59961 -4.5 3.59961 -8 -1.5 -10.5c-3.60059 -2 -9.30078 -2.5 -14.4004 -2.5
c-2.59961 -0.5 -1.5 -3.5 -3.09961 -5c-2.90039 -2.7998 -20.7002 -6.09961 -29.9004 -2.5c-2.59961 1 -5.7002 3 -6.2002 5c-1.5 4 2.10059 9 -1 12.5c-4.5 2.90039 -13.0996 2 -17 12c-2.2002 5.40039 -2.59961 7.60059 -2.59961 49.4004
c0 9.7002 -5.90039 38.7002 -8.2002 46.9004c-1.5 5.5 -1.5 11.5 0 16c0.299805 0.899414 4.09961 4.59961 4.09961 13c-1 1.5 -4.59961 0.5 -5.09961 1.5c-10.4004 80.5996 -5.90039 79 -7.7002 98.2998c-1.5 16 -10.8994 43.8994 -6.7002 64.2998
c0.5 2.40039 3.40039 21 24.2002 38.9004c31 26.6992 48.4004 38.2998 159 11.5c1.10059 -0.400391 66.2998 -21.1006 110.7 9c15.5 11.2998 28.7998 11.2998 35.5 16c0.0996094 0.0996094 61.7002 52.0996 87 65.2998c47.2002 29.3994 69.9004 16.7002 75.0996 18
c4.7002 1 13.4004 25.7998 17 25.7998c5.5 0 1.60059 -20.2002 3.60059 -25.9004c0.5 -2 3.59961 -5 6.2002 -5c2.2998 0 1.69922 0.800781 10.2998 5c8.39941 5.40039 14.8994 17.6006 20.5996 17c11.7002 -1.59961 -19 -41.5996 -19 -46.8994
c0 -2 0.200195 -0.799805 4.60059 -9.5c2.59961 -5.5 4.59961 -13.5 6.19922 -20c8.30078 -29.7002 5.7002 -14.6006 13.4004 -36.9004z" />
    <glyph glyph-name="studiovinari" unicode="&#xf3f8;" horiz-adv-x="512" 
d="M480.3 260.3l4.2002 -28v-28l-25.0996 -44.0996l-39.8008 -78.4004l-56.0996 -67.5l-79.0996 -37.7998l-17.7002 -24.5l-7.7002 -12l-9.59961 -4s17.2998 63.5996 19.3994 63.5996c2.10059 0 20.2998 -0.699219 20.2998 -0.699219l66.7002 38.5996l-92.5 -26.0996
l-55.8994 -36.8008l-22.8008 -28l-6.59961 -1.39941l20.7998 73.5996l6.90039 5.5l20.7002 -12.8994l88.2998 45.1992l56.7998 51.5l14.7998 68.4004l-125.399 -23.2998l15.1992 18.2002l-173.399 53.2998l81.8994 10.5l-166 122.899l114.9 -18.0996l-101.3 108
l252.899 -126.6l-31.5 38l124.4 -74.4004l-143.3 99l18.7002 -38.4004l-49.6006 18.1006l-45.5 84.2998l194.601 -122l-42.9004 55.7998l108 -96.3994l12 8.89941l-21 16.4004l4.2002 37.7998l37.7998 10.4004l29.2002 -24.7002l11.5 -4.2002l-7 -6.2002l8.5 -12
l-13.1006 -7.39941l-10.2998 -20.2002z" />
    <glyph glyph-name="supple" unicode="&#xf3f9;" horiz-adv-x="640" 
d="M640 185.5c0 -64.0996 -109 -116.1 -243.5 -116.1c-24.7998 0 -48.5996 1.7998 -71.0996 5c7.69922 -0.400391 15.5 -0.600586 23.3994 -0.600586c134.5 0 243.5 56.9004 243.5 127.101c0 29.3994 -19.0996 56.3994 -51.2002 78
c60 -21.1006 98.9004 -55.1006 98.9004 -93.4004zM47.7002 220.1c0.0996094 -29.3994 19.2998 -56.5 51.5996 -78c-60.2002 21 -99.2002 55 -99.2998 93.3008c-0.0996094 64.0996 108.8 116.3 243.3 116.699c24.7002 0 48.5 -1.69922 71 -4.89941
c-7.7002 0.299805 -15.3994 0.5 -23.2998 0.5c-134.5 -0.299805 -243.4 -57.4004 -243.3 -127.601zM107.9 180.2l8.7998 10.8994s8.7998 -10.0996 20.7002 -10.0996c6.5 0 12.2998 3.5 12.2998 10.0996c0 14.5 -40.2002 13.3008 -40.2002 39.9004
c0 13.9004 12 24.0996 28.5 24.0996c10 0 25.4004 -4.69922 25.4004 -16.7998v-7.89941h-14.2002v3.89941c0 4 -5.60059 6.60059 -11.2998 6.60059c-7.2002 0 -12.5 -3.7002 -12.5 -9.10059c0 -14.5996 40.1992 -11.7002 40.1992 -39.7002
c0 -13.5996 -10.5 -25.0996 -28.3994 -25.0996c-18.7998 0 -29.2998 13.2002 -29.2998 13.2002zM228.7 253.8h15.7002v-55c0 -18.8994 -13.3008 -31.8994 -33.4004 -31.8994c-20.2998 0 -33.7002 13 -33.7002 31.8994v55h15.7998v-54.5
c0 -11.2002 7.10059 -17.7002 17.8008 -17.7002c10.6992 0 17.7998 6.5 17.7998 17.8008v54.3994zM263.1 168.4v72h-7.7998v13.3994h39.1006c16 0 27.1992 -11.2002 27.1992 -27.7998s-11.1992 -28.0996 -27.1992 -28.0996h-15.5v-29.5h-15.8008zM278.9 211.4h12.5996
c8.90039 0 14 5.7998 14 14.6992c0 8.7002 -5 14.4004 -13.7002 14.4004h-12.8994v-29.0996zM335.9 168.4v72h-7.80078v13.3994h39.1006c16 0 27.2002 -11.2002 27.2002 -27.7998s-11.2002 -28.0996 -27.2002 -28.0996h-15.5v-29.5h-15.7998zM351.6 211.4h12.6006
c9 0 14 5.7998 14 14.6992c0 8.7002 -5 14.4004 -13.7002 14.4004h-12.9004v-29.0996zM408.7 176.6h0.0996094v61.2002c0 1.60059 -0.899414 2.60059 -2.59961 2.60059h-5.2002v13.3994h15.4004c5.7998 0 8.19922 -2.5 8.19922 -8.2002v-61.1992
c0 -1.60059 0.900391 -2.60059 2.60059 -2.60059h18.5996c1.60059 0 2.60059 0.900391 2.60059 2.60059v5.19922h14.2998v-13c0 -5.7998 -2.40039 -8.19922 -8.2002 -8.19922h-37.5996c-5.80078 0 -8.2002 2.39941 -8.2002 8.19922zM472.1 176.6h-0.0996094v63.9004h-7.7998
v13.4004h51.5996c5.7002 0 8.2002 -2.5 8.2002 -8.2002v-13h-14.2002v5.2002c0 1.59961 -0.899414 2.59961 -2.59961 2.59961h-19.2002v-22.4004h27.7002v-13.3994h-27.7002v-20.2998c0 -1.60059 0.900391 -2.60059 2.59961 -2.60059h19.7002
c1.60059 0 2.60059 0.900391 2.60059 2.60059v5.19922h14.2998v-13c0 -5.7998 -2.5 -8.19922 -8.2002 -8.19922h-38.7002c-5.7998 0 -8.2002 2.39941 -8.2002 8.19922zM531 252.6h-2.7002v1.2002h7v-1.2002h-2.7002v-5.89941h-1.59961v5.89941zM536.7 253.8h2.39941
l2.10059 -5.09961l2.09961 5.09961h2.2998v-7.09961h-1.5v5.7002l-2.2998 -5.7002h-1.2998l-2.2998 5.7002v-5.7002h-1.5v7.09961z" />
    <glyph glyph-name="telegram-plane" unicode="&#xf3fe;" 
d="M446.7 349.4l-67.6006 -318.801c-5.09961 -22.5 -18.3994 -28.0996 -37.2998 -17.5l-103 75.9004l-49.7002 -47.7998c-5.5 -5.5 -10.0996 -10.1006 -20.6992 -10.1006l7.39941 104.9l190.9 172.5c8.2998 7.40039 -1.7998 11.5 -12.9004 4.09961l-236 -148.6
l-101.6 31.7998c-22.1006 6.90039 -22.5 22.1006 4.59961 32.7002l397.4 153.1c18.3994 6.90039 34.5 -4.09961 28.5 -32.1992z" />
    <glyph glyph-name="uber" unicode="&#xf402;" 
d="M414.1 416c18.7002 0 33.9004 -15.2002 33.8008 -33.9004v-380.199c0 -18.7002 -15.2002 -33.9004 -33.9004 -33.9004h-380.1c-18.7002 0 -33.9004 15.2002 -33.9004 34v380.1c0 18.7002 15.2002 33.9004 33.9004 33.9004h380.199zM237.6 56.9004
c74.6006 7.5 129 74.0996 121.5 148.6c-7 69.4004 -65.3994 122.2 -135.1 122.2s-128.1 -52.7998 -135.1 -122.2h94.3994v20.4004c0 3.7998 3.10059 6.7998 6.7998 6.7998h67.9004c3.7998 0 6.7998 -3.10059 6.7998 -6.7998v-67.9004
c0 -3.7998 -3.09961 -6.7998 -6.7998 -6.7998h-67.9004c-3.7998 0 -6.7998 3.09961 -6.7998 6.7998v20.4004h-94.3994c7.5 -74.6006 74.0996 -129 148.699 -121.5z" />
    <glyph glyph-name="uikit" unicode="&#xf403;" 
d="M443.9 320v-256l-225.9 -128l-218 128v214.3l87.5996 -45.0996v-117l133.5 -75.5l135.801 75.5v151l-101.101 57.5996l87.6006 53.1006zM308.6 398.9l-87.3994 -53l-86 47.2998l88.5996 54.7998z" />
    <glyph glyph-name="uniregistry" unicode="&#xf404;" horiz-adv-x="384" 
d="M192 -32c-39.5 0 -76.2002 11.7998 -106.7 32.2002h213.5c-30.5996 -20.4004 -67.2998 -32.2002 -106.8 -32.2002zM102.9 161.1c0 -2.5 0.0996094 -5 0.299805 -7.39941h-103.101c-0.0996094 2.39941 -0.0996094 4.89941 -0.0996094 7.39941v12.4004h102.9v-12.4004z
M123.4 104.1c8.89941 -10.5996 20.0996 -19.0996 33 -24.7998h-138.301c-3.7998 8 -7 16.2998 -9.59961 24.7998h114.9zM105.7 138.8c2 -7.89941 5.2002 -15.3994 9.2002 -22.2998h-109.7c-1.7002 7.2998 -3 14.7002 -3.90039 22.2998h104.4zM102.9 208.1v-17.2998h-102.9
v17.2998h102.9zM102.9 381.3v-4.89941h-102.9v4.89941h102.9zM102.9 416v-2.5h-102.9v2.5h102.9zM102.9 346.7v-7.40039h-102.9v7.40039h102.9zM102.9 242.7v-14.7998h-102.9v14.7998h102.9zM102.9 312v-9.90039h-102.9v9.90039h102.9zM102.9 277.4v-12.4004h-102.9v12.4004
h102.9zM269.1 116.5c4 6.90039 7.10059 14.4004 9.2002 22.2998h104.4c-0.799805 -7.59961 -2.10059 -15 -3.90039 -22.2998h-109.7zM281.1 302.2v9.7998h102.9v-9.7998h-102.9zM281.1 265v12.4004h102.9v-12.4004h-102.9zM281.1 339.3v7.40039h102.9v-7.40039h-102.9z
M281.1 416h102.9v-2.5h-102.9v2.5zM78.0996 5.09961c-11.7998 8.7002 -23.5996 18.7002 -33.1992 29.7002h293.1c-9.5 -11.0996 -20.4004 -21 -32.2002 -29.7002h-227.7zM281.1 376.4v4.89941h102.9v-4.89941h-102.9zM281.1 227.9v14.7998h102.9v-14.7998h-102.9z
M38.7998 42.2998c-6.59961 8.5 -10.5996 17.6006 -15.7998 27.2002h338.9c-5.2002 -9.59961 -11.1006 -18.7002 -17.8008 -27.2002h-305.3zM227.6 79.4004c12.8008 5.59961 24.1006 14.0996 32.9004 24.7998h115c-2.7002 -8.60059 -4.7998 -16.7998 -8.5 -24.7998h-139.4z
M281.1 161.1v12.4004h102.9v-12.4004c0 -2.5 -0.0996094 -4.89941 -0.200195 -7.39941h-103.1c0.299805 2.39941 0.399414 4.89941 0.399414 7.39941zM281.1 190.8v17.2998h102.9v-17.2998h-102.9z" />
    <glyph glyph-name="untappd" unicode="&#xf405;" horiz-adv-x="640" 
d="M401.3 398.1c-79.7998 -160.1 -84.5996 -152.5 -87.8994 -173.199l-5.2002 -32.8008c-1.90039 -12 -6.60059 -23.5 -13.7002 -33.3994l-148.9 -207.8c-7.59961 -10.6006 -20.3994 -16.2002 -33.3994 -14.6006c-40.2998 5 -77.7998 32.2002 -95.2998 68.5
c-5.7002 11.7998 -4.5 25.7998 3.09961 36.4004l148.9 207.899c7.09961 9.90039 16.3994 18 27.1992 23.7002l29.3008 15.5c18.5 9.7998 9.69922 11.9004 135.6 138.9c1 4.7998 1 7.2998 3.59961 8c3 0.700195 6.60059 1 6.30078 4.59961l-0.400391 4.60059
c-0.200195 1.89941 1.2998 3.59961 3.2002 3.59961c4.5 0.0996094 13.2002 -1.2002 25.5996 -10c12.2998 -8.90039 16.4004 -16.7998 17.7002 -21.0996c0.599609 -1.80078 -0.599609 -3.7002 -2.40039 -4.2002l-4.5 -1.10059
c-3.39941 -0.899414 -2.5 -4.39941 -2.2998 -7.39941c0.100586 -2.7998 -2.2998 -3.60059 -6.5 -6.10059zM230.1 411.6c-3.19922 0.800781 -8.19922 1.2002 -6.7998 5.40039c1.2998 4.2998 5.40039 12.2002 17.7002 21.0996c12.4004 8.90039 21.0996 10.1006 25.5996 10
c4.2002 -0.0996094 3.10059 -4.89941 2.80078 -8.19922c-0.300781 -3.60059 3.2998 -3.80078 6.2998 -4.60059c2.59961 -0.700195 2.59961 -3.2998 3.59961 -8c9.10059 -9.2002 17.6006 -17.8994 25.6006 -26.0996c1.2998 -1.40039 1.19922 -3.5 -0.100586 -4.90039
c-15.8994 -16.3994 -29.2998 -30.5996 -40.5 -42.5996c-1 -1 -2.59961 -0.799805 -3.2998 0.5c-6.90039 13.5 -14.2998 28.0996 -22.2002 44c-4.2998 2.5 -6.59961 3.2998 -6.39941 6c0.199219 3 1.09961 6.5 -2.30078 7.39941zM620 41.2998
c7.7002 -10.7002 8.7998 -24.7002 3.40039 -36.5996c-17.7002 -36.6006 -55.4004 -63.7002 -95.7002 -68.6006c-12.9004 -1.5 -25.5 4.10059 -33.1006 14.7002l-148.899 207.9c-7.10059 9.89941 -11.7998 21.3994 -13.7002 33.3994
c-1.59961 9.80078 -2 19.1006 -0.299805 29.8008c1.89941 12 2.7002 6 49 94.7998c0.700195 1.39941 2.59961 1.59961 3.59961 0.5c16.2998 -18 19.2998 -23 30.5 -28.9004c29.7998 -15.7002 43.2002 -20.5996 56.4004 -39.0996z" />
    <glyph glyph-name="ussunnah" unicode="&#xf407;" horiz-adv-x="512" 
d="M156.8 162.9l5.7002 -14.4004h-8.2002c-1.2998 3.2002 -3.09961 7.7002 -3.7998 9.5c-2.5 6.2998 -1.09961 8.40039 0 10c1.90039 2.7002 3.2002 4.40039 3.59961 5.2002c0 -2.2002 0.800781 -5.7002 2.7002 -10.2998zM454.1 144.1
c-2.09961 -13.7998 -5.69922 -27.0996 -10.5 -39.6992l43 -23.4004l-44.7998 18.7998c-5.2998 -13.2002 -12 -25.5996 -19.8994 -37.2002l34.1992 -30.1992l-36.7998 26.3994c-8.39941 -11.7998 -18 -22.5996 -28.7002 -32.2998l24.9004 -34.7002l-28.0996 31.7998
c-11 -9.59961 -23.1006 -18 -36.1006 -25.0996l15.7002 -37.2002l-19.2998 35.2998c-13.1006 -6.7998 -27 -12.0996 -41.6006 -15.8994l6.7002 -38.4004l-10.5 37.4004c-14.2998 -3.40039 -29.2002 -5.2998 -44.5 -5.40039l-1.7998 -38.2998l-1.90039 38.4004
c-15.2998 0.0996094 -30.1992 2 -44.5 5.2998l-10.5996 -37.2998l6.7002 38.1992c-14.6006 3.7002 -28.6006 9.10059 -41.7002 15.8008l-19.2002 -35.1006l15.6006 37c-13 7 -25.2002 15.4004 -36.2002 25.1006l-27.9004 -31.6006l24.7002 34.4004
c-10.7002 9.7002 -20.4004 20.5 -28.7998 32.2998l-36.5 -26.2002l33.8994 29.9004c-7.89941 11.5996 -14.5996 24.0996 -20 37.2998l-44.3994 -18.7002l42.5996 23.2002c-4.7998 12.7002 -8.39941 26.0996 -10.5 39.9004l-51 -9l50.2998 14.1992
c-1.09961 8.5 -1.69922 17.1006 -1.69922 25.9004c0 4.7002 0.199219 9.40039 0.5 14.0996l-55.4004 2.90039l56 2.7998c1.2998 13.1006 3.7998 25.7998 7.5 38.1006l-57.0996 16.0996l58.8994 -10.4004c4 12 9.10059 23.5 15.2002 34.4004l-55.0996 30l58.2998 -24.5996
c6.2998 10.5996 13.5 20.3994 21.5996 29.5996l-49.5 43.5996l53.9004 -38.6992c8.09961 8.59961 17 16.5 26.5996 23.5996l-40 55.5996l45.6006 -51.5996c9.5 6.59961 19.6992 12.2998 30.2998 17.2002l-27.2998 64.8994l33.7998 -62.0996
c10.5 4.40039 21.3994 7.90039 32.7002 10.4004l-12.4004 70.6992l19.5 -69.1992c11 2.09961 22.2998 3.19922 33.7998 3.39941l3.7002 72.2002l3.59961 -72.2002c11.5 -0.200195 22.8008 -1.39941 33.8008 -3.5l19.5996 69.2998l-12.4004 -70.6992
c11.3008 -2.60059 22.2002 -6.10059 32.6006 -10.5l33.8994 62.1992l-27.3994 -65.0996c10.5996 -4.90039 20.7002 -10.7002 30.2002 -17.2002l45.7998 51.7998l-40.1006 -55.8994c9.5 -7.10059 18.4004 -15 26.5 -23.6006l54.2002 38.9004l-49.7002 -43.9004
c8 -9.09961 15.2002 -18.8994 21.5 -29.3994l58.7002 24.7002l-55.5 -30.2002c6.10059 -10.9004 11.1006 -22.2998 15.1006 -34.2998l59.2998 10.3994l-57.5 -16.2002c3.7002 -12.1992 6.2002 -24.8994 7.5 -37.8994l56.2998 -2.7002l-56 -2.7998
c0.299805 -4.60059 0.5 -9.2998 0.5 -14.1006c0 -8.69922 -0.599609 -17.2998 -1.59961 -25.7998l50.6992 -14.2998zM432.3 175.1c0 97.5 -79 176.5 -176.5 176.5s-176.5 -79 -176.5 -176.5s79 -176.5 176.5 -176.5s176.5 79 176.5 176.5zM408.3 175.1
c0 -84.2998 -68.2998 -152.6 -152.6 -152.6s-152.601 68.2998 -152.601 152.6c0 84.3008 68.3008 152.601 152.601 152.601s152.6 -68.2998 152.6 -152.601zM195 207c0 -2.09961 1.2998 -3.7998 3.59961 -5.09961c3.30078 -1.90039 6.2002 -4.60059 8.2002 -8.2002
c2.7998 5.7002 4.2998 9.5 4.2998 11.2002c0 2.19922 -1.09961 4.39941 -3.19922 7c-2.10059 2.5 -3.2002 5.19922 -3.30078 7.69922c-6.5 -6.7998 -9.59961 -10.8994 -9.59961 -12.5996zM154.3 226c0 -2.09961 1.2998 -3.7998 3.60059 -5.09961
c3.5 -1.90039 6.19922 -4.60059 8.19922 -8.2002c2.80078 5.7002 4.30078 9.5 4.30078 11.2002c0 2.19922 -1.10059 4.39941 -3.2002 7c-2.10059 2.5 -3.2002 5.19922 -3.2998 7.69922c-6.5 -6.7998 -9.60059 -10.8994 -9.60059 -12.5996zM135.3 226
c0 -2.09961 1.2998 -3.7998 3.60059 -5.09961c3.2998 -1.90039 6.19922 -4.60059 8.19922 -8.2002c2.80078 5.7002 4.30078 9.5 4.30078 11.2002c0 2.19922 -1.10059 4.39941 -3.2002 7c-2.10059 2.5 -3.2002 5.19922 -3.2998 7.69922
c-6.40039 -6.7998 -9.60059 -10.8994 -9.60059 -12.5996zM340.2 138.1c-8.40039 3 -8.7002 6.80078 -8.7002 15.6006v112.3c-8.2002 -12.5 -14.2002 -18.5996 -18 -18.5996c6.2998 -14.4004 9.5 -23.9004 9.5 -28.3008v-64.2998c0 -2.2002 -2.2002 -6.5 -4.7002 -6.5h-18
c-2.7998 7.5 -10.2002 26.9004 -15.2998 40.2998c-2 -2.5 -7.2002 -9.19922 -10.7002 -13.6992c2.40039 -1.60059 4.10059 -3.60059 5.2002 -6.30078c2.59961 -6.69922 6.40039 -16.5 7.90039 -20.1992h-9.2002c-3.90039 10.3994 -9.60059 25.3994 -11.7998 31.0996
c-2 -2.5 -7.2002 -9.2002 -10.7002 -13.7002c2.39941 -1.59961 4.09961 -3.59961 5.2002 -6.2998c0.799805 -2 2.7998 -7.2998 4.2998 -10.9004h-9.2002c-1.5 4.10059 -5.59961 14.6006 -8.40039 22c-2 -2.5 -7.19922 -9.19922 -10.6992 -13.6992
c2.5 -1.60059 4.2998 -3.60059 5.19922 -6.30078c0.200195 -0.599609 0.5 -1.39941 0.600586 -1.69922h-17.7002c-4.59961 13.8994 -11.4004 27.6992 -11.4004 34.0996c0 2.2002 0.300781 5.09961 1.10059 8.2002c-8.7998 -10.7998 -14 -15.9004 -14 -25
c0 -7.5 10.3994 -28.2998 10.3994 -33.2998c0 -1.7002 -0.5 -3.30078 -1.39941 -4.90039c-9.60059 12.7002 -15.5 20.7002 -18.7998 20.7002h-12l-11.2002 28c-3.7998 9.59961 -5.7002 16 -5.7002 18.7998c0 3.7998 0.5 7.7002 1.7002 12.2002
c-1 -1.2998 -3.7002 -4.7002 -5.5 -7.10059c-0.799805 2.10059 -3.10059 7.7002 -4.60059 11.5c-2.09961 -2.5 -7.5 -9.09961 -11.1992 -13.5996c0.899414 -2.2998 3.2998 -8.09961 4.89941 -12.2002c-2.5 -3.2998 -9.09961 -11.7998 -13.5996 -17.7002
c-4 -5.2998 -5.7998 -13.2998 -2.7002 -21.7998c2.5 -6.7002 2 -7.89941 -1.7002 -14.0996h61.7002c5.5 0 14.2998 -14 15.5 -22c13.2002 16 15.4004 19.5996 16.7998 21.5996h107c3.90039 0 7.2002 1.90039 9.90039 5.7998zM360.3 164.7v101.6
c-9 -12.5 -15.8994 -18.5996 -20.7002 -18.5996c7.10059 -14.4004 10.7002 -23.9004 10.7002 -28.2998v-66.3008c0 -17.5 8.60059 -20.3994 24 -20.3994c8.10059 0 12.5 0.799805 13.7002 2.7002c-4.2998 1.59961 -7.59961 2.5 -9.90039 3.2998
c-8.09961 3.2002 -17.7998 7.39941 -17.7998 26z" />
    <glyph glyph-name="vaadin" unicode="&#xf408;" 
d="M224.5 307.3c1.5 17.6006 4.90039 52.7002 49.7998 52.7002h98.6006c20.6992 0 32.0996 7.7998 32.0996 21.5996v12.3008c0 12.1992 9.2998 22.0996 21.5 22.0996s21.5 -9.90039 21.5 -22.0996v-36.5c0 -42.9004 -21.5 -62 -66.7998 -62h-100.5
c-30.1006 0 -33 -14.7002 -33 -27.1006c0 -1.2998 -0.100586 -2.5 -0.200195 -3.7002c-0.700195 -12.2998 -10.9004 -22.1992 -23.4004 -22.1992s-22.6992 9.7998 -23.3994 22.1992c-0.100586 1.2002 -0.200195 2.40039 -0.200195 3.7002c0 12.2998 -3 27.1006 -33 27.1006
h-100.7c-45.2998 0 -66.7998 19.0996 -66.7998 62v36.5c0 12.1992 9.40039 22.0996 21.5996 22.0996c12.2002 0 21.5 -9.90039 21.5 -22.0996v-12.3008c0 -13.7998 11.4004 -21.5996 32.1006 -21.5996h98.5996c44.7998 0 48.2998 -35.0996 49.7998 -52.7002h0.900391z
M224 -8c-11.5 0 -21.4004 7 -25.7002 16.2998c-1.09961 1.7998 -97.0996 169.5 -98.2002 171.4c-11.8994 19.7002 3.2002 44.2998 27.2002 44.2998c13.9004 0 23.4004 -6.40039 29.7998 -20.2998l66.9004 -117.7l66.9004 117.7c6.5 13.8994 15.8994 20.2998 29.7998 20.2998
c24 0 39.0996 -24.7002 27.2002 -44.2998c-1.10059 -1.7998 -97.1006 -169.601 -98.2002 -171.4c-4.2998 -9.2998 -14.2002 -16.2998 -25.7002 -16.2998z" />
    <glyph glyph-name="viber" unicode="&#xf409;" horiz-adv-x="512" 
d="M444 398.1c42.2002 -36.6992 65.5996 -117.899 49.7998 -246.5c-15.2002 -124.6 -109.1 -136.6 -125.7 -142c-7.19922 -2.2998 -70.2998 -18.0996 -152.5 -11.1992c-9.09961 -10.5 -21.0996 -24.3008 -29.7998 -33.7002
c-15.8994 -17.1006 -25.7002 -33 -42.2998 -27.7998c-13.7998 4.19922 -13 25.0996 -13 25.0996l0.0996094 51.5996h-0.0996094c-120.1 33.8008 -118.4 158.4 -117 224.9s14.2998 120.2 50.9004 156.8c65.7998 60.4004 200.899 52.2998 200.899 52.2998
c114.601 -0.5 166 -37.7998 178.7 -49.5zM457.9 161c13.2998 107.3 -4.90039 180.5 -40.6006 211.1c-10.7998 9.80078 -57.2002 39 -154.1 39.4004c0 0 -114.7 7.5 -170.4 -43c-31 -30.5996 -41.5 -76.0996 -42.5996 -131.6
c-1.10059 -55.5 -7.10059 -161.601 94.7002 -189.801c-0.100586 0 -0.100586 0 0 0c0 0 -0.400391 -78.7998 -0.400391 -85.6992c-0.0996094 -10.5 5.7002 -11 11 -5.7002c16.2002 16.2998 68.2002 79 68.2002 79c69.7002 -4.5 125.2 9.2998 131.2 11.2002
c14 4.5 90.0996 11.0996 103 115.1zM318.9 241.8c0.399414 -8.59961 -12.5 -9.2002 -12.9004 -0.599609c-1.09961 22 -11.4004 32.7002 -32.5996 33.8994c-8.60059 0.5 -7.80078 13.4004 0.699219 12.9004c27.9004 -1.5 43.4004 -17.5 44.8008 -46.2002zM339.2 230.5
c1 42.4004 -25.5 75.5996 -75.7998 79.2998c-8.5 0.600586 -7.60059 13.5 0.899414 12.9004c58 -4.2002 88.9004 -44.1006 87.7998 -92.5c-0.0996094 -8.60059 -13.0996 -8.2002 -12.8994 0.299805zM386.2 217.1c0.0996094 -8.59961 -12.9004 -8.69922 -12.9004 -0.0996094
c-0.599609 81.5 -54.8994 125.9 -120.8 126.4c-8.5 0.0996094 -8.5 12.8994 0 12.8994c73.7002 -0.5 133 -51.3994 133.7 -139.2zM374.9 119v-0.200195c-10.8008 -19 -31 -40 -51.8008 -33.2998l-0.199219 0.299805c-21.1006 5.90039 -70.8008 31.5 -102.2 56.5
c-16.2002 12.7998 -31 27.9004 -42.4004 42.4004c-10.2998 12.8994 -20.7002 28.2002 -30.7998 46.5996c-21.2998 38.5 -26 55.7002 -26 55.7002c-6.7002 20.7998 14.2002 41 33.2998 51.7998h0.200195c9.2002 4.7998 18 3.2002 23.9004 -3.89941
c0 0 12.3994 -14.8008 17.6992 -22.1006c5 -6.7998 11.7002 -17.7002 15.2002 -23.7998c6.10059 -10.9004 2.2998 -22 -3.7002 -26.5996l-12 -9.60059c-6.09961 -4.89941 -5.2998 -14 -5.2998 -14s17.7998 -67.2998 84.2998 -84.2998c0 0 9.10059 -0.799805 14 5.2998
l9.60059 12c4.59961 6 15.7002 9.7998 26.5996 3.7002c14.7002 -8.2998 33.4004 -21.2002 45.7998 -32.9004c7 -5.69922 8.60059 -14.3994 3.80078 -23.5996z" />
    <glyph glyph-name="vimeo" unicode="&#xf40a;" 
d="M403.2 416c24.7002 0 44.7998 -20.0996 44.7998 -44.7998v-358.4c0 -24.7002 -20.0996 -44.7998 -44.7998 -44.7998h-358.4c-24.7002 0 -44.7998 20.0996 -44.7998 44.7998v358.4c0 24.7002 20.0996 44.7998 44.7998 44.7998h358.4zM377 267.2
c1.90039 42.2002 -13.7998 63.7998 -47.0996 64.7002c-44.9004 1.39941 -75.3008 -23.9004 -91.2002 -76c19.8994 8.5 49.2998 10.7998 45.7998 -22.4004c-1 -11.2002 -8.2998 -27.5 -21.7998 -48.9004c-37.7002 -59.3994 -46.9004 -39.5996 -67.6006 91.6006
c-5.7998 36.8994 -21.2998 54.0996 -46.5 51.7002c-22.2998 -2 -57.8994 -38.4004 -95.1992 -71.2002l15.1992 -19.6006c14.5 10.1006 23 15.2002 25.4004 15.2002c21 0 31.9004 -54.7002 57.4004 -148c13.0996 -34.8994 29 -52.2998 47.8994 -52.2998
c30.4004 0 67.7002 28.5996 111.7 85.7998c42.5996 54.7002 64.5996 97.9004 66 129.4z" />
    <glyph glyph-name="vnv" unicode="&#xf40b;" horiz-adv-x="640" 
d="M104.9 96c-34.1006 0 -46.4004 30.4004 -46.4004 30.4004l-55.9004 111.5s-10.3994 18.0996 10.4004 18.0996h32.7998c10.4004 0 13.2002 -8.7002 18.7998 -18.0996l36.7002 -74.5s5.2002 -13.1006 21.1006 -13.1006c15.8994 0 21.0996 13.1006 21.0996 13.1006
l36.7002 74.5c5.59961 9.5 8.39941 18.0996 18.7998 18.0996h32.7998c20.7998 0 10.4004 -18.0996 10.4004 -18.0996l-55.7998 -111.5s-12.2002 -30.4004 -46.4004 -30.4004h-35.0996zM499.9 96c-34.1006 0 -46.4004 30.4004 -46.4004 30.4004l-55.9004 111.5
s-10.3994 18.0996 10.4004 18.0996h32.7998c10.4004 0 13.2002 -8.7002 18.7998 -18.0996l36.7002 -74.5s5.2002 -13.1006 21.1006 -13.1006c15.8994 0 21.0996 13.1006 21.0996 13.1006l36.7998 74.5c5.60059 9.5 8.40039 18.0996 18.7998 18.0996h32.9004
c20.7998 0 10.4004 -18.0996 10.4004 -18.0996l-55.9004 -111.5s-12.2002 -30.4004 -46.4004 -30.4004h-35.1992zM337.6 256c34.1006 0 46.4004 -30.4004 46.4004 -30.4004l55.9004 -111.5s10.3994 -18.0996 -10.4004 -18.0996h-32.7998
c-10.4004 0 -13.2002 8.7002 -18.7998 18.0996l-36.7002 74.5s-5.2002 13.1006 -21.1006 13.1006c-15.8994 0 -21.0996 -13.1006 -21.0996 -13.1006l-36.7002 -74.5c-5.59961 -9.39941 -8.39941 -18.0996 -18.7998 -18.0996h-32.9004
c-20.7998 0 -10.3994 18.0996 -10.3994 18.0996l55.8994 111.5s12.2002 30.4004 46.4004 30.4004h35.0996z" />
    <glyph glyph-name="whatsapp-square" unicode="&#xf40c;" 
d="M224 325.2c35.2002 0 68.2002 -13.7002 93.2002 -38.7002c24.8994 -24.9004 40.0996 -58 40.0996 -93.2002c0 -72.7002 -60.7002 -131.8 -133.3 -131.8h-0.0996094c-23.7002 0 -46.9004 6.40039 -67.1006 18.4004l-4.7998 2.89941l-49.9004 -13.0996l13.3008 48.5996
l-3.10059 5c-13.2002 20.9004 -20.2002 45.2002 -20.2002 70.1006c0.100586 72.6992 59.2002 131.8 131.9 131.8zM301.5 136.8c3.2998 9.2002 3.2998 17.2002 2.40039 19.1006c-1 1.59961 -3.60059 2.59961 -7.60059 4.59961s-23.5 11.5996 -27.0996 12.9004
c-3.60059 1.2998 -6.2998 2 -8.90039 -2c-2.59961 -3.90039 -10.2002 -12.9004 -12.5 -15.5c-2.2998 -2.7002 -4.59961 -3 -8.59961 -1c-23.2998 11.6992 -38.6006 20.7998 -53.9004 47.0996c-4.09961 7 4 6.40039 11.6006 21.5996
c1.39941 2.60059 0.699219 4.90039 -0.300781 6.90039s-8.89941 21.5 -12.1992 29.4004c-3.2002 7.69922 -6.5 6.69922 -8.90039 6.7998c-2.2998 0.0996094 -5 0.0996094 -7.59961 0.0996094c-2.7002 0 -7 -1 -10.6006 -5c-3.7002 -4 -13.8994 -13.5996 -13.8994 -33.0996
s14.1992 -38.4004 16.1992 -41c2 -2.60059 28 -42.6006 67.7002 -59.7998c25.1006 -10.8008 34.9004 -11.8008 47.5 -9.90039c7.60059 1.09961 23.4004 9.5 26.7002 18.7998zM400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48
v352c0 26.5 21.5 48 48 48h352zM223.9 34.7998c87.3994 0 160.1 71.1006 160.1 158.5c0 42.4004 -18 82.2002 -47.9004 112.2c-30 30 -69.7998 46.5 -112.199 46.5c-87.4004 0 -158.5 -71.0996 -158.601 -158.5c0 -28 7.2998 -55.2998 21.2002 -79.2998l-22.5 -82.2002
l84.0996 22.0996c23.1006 -12.5996 49.2002 -19.2998 75.8008 -19.2998z" />
    <glyph glyph-name="whmcs" unicode="&#xf40d;" 
d="M448 287l-29.0996 -7l-2.2002 -12.0996l20.8994 -18.8008l-10.2998 -20.0996l-28.7998 8.7998l-7.7998 -8.09961l8.7998 -28l-20.4004 -12.1006l-20.6992 21.6006l-11.6006 -3.5l-6.7002 -28.7998l-22.5996 0.299805l-6.7002 28.5l-11.5996 2.89941l-19.4004 -20.3994
l-19.8994 11.5996l8.09961 26.9004l-7.2002 8.59961l-29.5996 -7.5l-10.4004 18.5l20.1006 19.9004l-2.40039 12.0996l-28.7998 7.5l0.299805 21.7002l28.5 7.7998l2.90039 10.4004l-20.7002 21l11 19.0996l28.5 -7.5l8.09961 8.40039l-8.09961 27.7002l19.3994 11
l19.7002 -21l12.1006 3.19922l6.19922 26.4004h22.6006l7 -26.4004l10.7002 -3.19922l21.2998 21l19.0996 -11.6006l-7.5 -28.2002l7.2002 -7.5l29 7.5l10.4004 -19.3994l-20.1006 -20.7002l2.2002 -10.4004l28.5 -8.7998v-21.2998zM328.8 241.8
c31.4004 0 56.7998 25.2998 56.7998 56.7998c0 31.4004 -25.3994 56.8008 -56.7998 56.8008c-31.3994 0 -56.7998 -25.4004 -56.7998 -56.8008c0 -31.3994 25.5 -56.7998 56.7998 -56.7998zM401.1 225.4l46.9004 -14.5v-39.9004l-55.0996 -13.4004l-4.10059 -22.6992
l38.9004 -35.3008l-19.2002 -37.8994l-54 16.7002l-14.5996 -15.2002l16.6992 -52.5l-38.2998 -22.7002l-38.8994 40.5l-21.7002 -6.59961l-12.6006 -54l-42.3994 0.5l-12.6006 53.5996l-21.6992 5.59961l-36.4004 -38.3994l-37.4004 21.7002l15.2002 50.5l-13.7002 16.0996
l-55.5 -14.0996l-19.6992 34.7998l37.8994 37.3994l-4.7998 22.8008l-54 14.0996l0.5 40.9004l53.5 14.6992l5.7002 19.7002l-38.9004 39.4004l20.7002 35.7998l53.5996 -14.0996l15.2002 15.6992l-15.2002 52l36.4004 20.7002l36.7998 -39.3994l22.7002 6.09961l11.5996 52
h42.4004l11.5996 -45.9004l-22.5996 5.90039l-6.2998 1.7002l-3.2998 -5.7002l-11 -19.0996l-3.30078 -5.60059l4.60059 -4.59961l17.2002 -17.4004l-0.300781 -1l-23.7998 -6.5l-6.2002 -1.7002l-0.0996094 -6.39941l-0.200195 -12.9004
c-47.5 -10.3994 -83.2998 -52.7998 -83.2998 -103.5c0 -58.2998 47.2998 -105.7 105.7 -105.7c50.5 0 92.7002 35.4004 103.2 82.8008l13.1992 -0.200195l6.90039 -0.100586l1.59961 6.7002l5.60059 24l1.89941 0.600586l17.1006 -17.8008l4.7002 -4.89941l5.7998 3.39941
l20.3994 12.1006l5.80078 3.5l-2 6.5z" />
    <glyph glyph-name="wordpress-simple" unicode="&#xf411;" horiz-adv-x="512" 
d="M256 440c136.7 0 248 -111.2 248 -248c0 -136.7 -111.3 -248 -248 -248s-248 111.3 -248 248c0 136.8 111.3 248 248 248zM33 192c0 -88.2002 51.2998 -164.5 125.7 -200.7l-106.4 291.4c-12.3994 -27.7002 -19.2998 -58.4004 -19.2998 -90.7002zM256 -31
c26 0 50.9004 4.5 74 12.5996c-0.599609 1 -1.09961 2 -1.59961 3.10059l-68.5 187.8l-66.9004 -194.4c20 -5.89941 41.0996 -9.09961 63 -9.09961zM286.7 296.5l80.7002 -239.6l22.1992 74.2998c9.7002 30.8994 17 53 17 72.0996c0 27.6006 -9.89941 46.7002 -18.3994 61.5
c-11.2998 18.4004 -21.9004 33.9004 -21.9004 52.2998c0 20.5 15.5 39.6006 37.4004 39.6006c1 0 1.89941 -0.100586 2.89941 -0.200195c-39.6992 36.2998 -92.5996 58.5 -150.6 58.5c-77.9004 0 -146.4 -40 -186.3 -100.5
c5.2998 -0.200195 10.2002 -0.299805 14.3994 -0.299805c23.3008 0 59.4004 2.7998 59.4004 2.7998c12 0.700195 13.4004 -17 1.40039 -18.4004c0 0 -12.1006 -1.39941 -25.5 -2.09961l81.1992 -241.5l48.8008 146.3l-34.7002 95.2002
c-12 0.700195 -23.4004 2.09961 -23.4004 2.09961c-12 0.700195 -10.5996 19.1006 1.40039 18.4004c0 0 36.7998 -2.7998 58.7002 -2.7998c23.2998 0 59.3994 2.7998 59.3994 2.7998c12 0.700195 13.4004 -17 1.40039 -18.4004c0 0 -12.1006 -1.39941 -25.5 -2.09961z
M368.1 -0.700195c66.3008 38.6006 110.9 110.4 110.9 192.7c0 38.7998 -9.90039 75.2002 -27.2998 107c1 -7.09961 1.5 -14.7002 1.5 -22.9004c0 -22.6992 -4.2998 -48.0996 -17 -79.8994z" />
    <glyph glyph-name="xbox" unicode="&#xf412;" horiz-adv-x="512" 
d="M369.9 129.8c44.2998 -54.2998 64.6992 -98.7998 54.3994 -118.7c-7.89941 -15.0996 -56.7002 -44.5996 -92.5996 -55.8994c-29.6006 -9.2998 -68.4004 -13.2998 -100.4 -10.2002c-38.2002 3.7002 -76.8994 17.4004 -110.1 39
c-27.9004 18.2002 -34.2002 25.7002 -34.2002 40.5996c0 29.9004 32.9004 82.3008 89.2002 142.101c32 33.8994 76.5 73.7002 81.3994 72.5996c9.40039 -2.09961 84.3008 -75.0996 112.301 -109.5zM188.6 304.2c-66.3994 -81.5 -106 -155.4 -120.3 -194.4
c-9.7998 -26.5 -13.7002 -53 -9.5 -64c2.7998 -7.39941 0.200195 -4.7002 -9.2998 9.90039c-23.2002 35.5 -34.9004 70.3994 -40.5 120.899c-1.90039 16.7002 -1.2002 26.3008 4.2002 60.5c6.7998 42.7002 31.0996 92 60.2998 122.4
c12.4004 12.9004 13.5 13.2002 28.7002 8.09961c28.2998 -9.5 56.7002 -36.5 86.3994 -63.3994zM500.2 240.7c4.7002 -22.6006 5.09961 -70.9004 0.799805 -93.4004c-3.59961 -18.5 -11.2002 -42.5 -18.5996 -58.7002c-5.5 -12.1992 -19.3008 -35.7998 -25.4004 -43.5
c-3.09961 -3.89941 -3.09961 -3.89941 -1.40039 4.60059c2.30078 11.2002 -0.599609 31.5996 -7.39941 52.2998c-20.7002 62.9004 -80.5 149 -122.9 202.3c23.2998 21.4004 41 38.2998 64.2998 52.7998c11.8008 7.40039 28.7002 13.9004 36 13.9004
c7.10059 0 57.7002 -50.2998 74.6006 -130.3zM141.3 405c-14.5996 -0.700195 -14 0.0996094 9.40039 11.2002c81.2002 38.2998 170 27.5996 233.899 -11.7002c-13.3994 0.599609 -43.5 5.90039 -107.399 -25.2002c-11.2002 -5.5 -20.9004 -9.7998 -21.6006 -9.7002
c-4.59961 0.900391 -66.5996 37.9004 -114.3 35.4004z" />
    <glyph glyph-name="yandex" unicode="&#xf413;" horiz-adv-x="256" 
d="M153.1 132.2l-87.3994 -196.2h-63.7002l96 209.8c-45.0996 22.9004 -75.2002 64.4004 -75.2002 141.101c-0.0996094 107.399 68 161.1 148.9 161.1h82.2998v-512h-55.0996v196.2h-45.8008zM198.9 401.5h-29.4004c-44.4004 0 -87.4004 -29.4004 -87.4004 -114.6
c0 -82.3008 39.4004 -108.801 87.4004 -108.801h29.4004v223.4z" />
    <glyph glyph-name="yandex-international" unicode="&#xf414;" horiz-adv-x="320" 
d="M129.5 -64v166.1l-111 297.9h55.7998l81.7998 -229.7l94.1006 277.7h51.2998l-120.7 -347.8v-164.2h-51.2998z" />
    <glyph glyph-name="apple-pay" unicode="&#xf415;" horiz-adv-x="640" 
d="M116.9 289.5c-7.5 -8.90039 -19.5 -15.9004 -31.5 -14.9004c-1.5 12 4.39941 24.8008 11.2998 32.6006c7.5 9.09961 20.5996 15.5996 31.2998 16.0996c1.2002 -12.3994 -3.7002 -24.7002 -11.0996 -33.7998zM127.8 272.3c6.7998 -0.5 26.2998 -2.5 38.7998 -21.0996
c-1 -0.799805 -23.1992 -13.5 -22.8994 -40.2998c0.299805 -32 28 -42.6006 28.2998 -42.9004c-0.200195 -0.799805 -4.40039 -15.0996 -14.5 -29.9004c-8.90039 -13 -18 -25.6992 -32.5 -26c-14 -0.199219 -18.7002 8.40039 -34.7998 8.40039
c-16 0 -21.2002 -8.09961 -34.5 -8.59961c-14 -0.5 -24.6006 13.7998 -33.5 26.7998c-18.2002 26.2998 -32.1006 74 -13.2998 106.3c9.09961 16.0996 25.6992 26.2002 43.5996 26.5c13.7998 0.299805 26.4004 -9.09961 34.7998 -9.09961
c8.2002 0 23.1006 10.8994 40.5 9.89941zM228.2 308.5h73.2002c37.6992 0 64.0996 -26 64.0996 -64s-26.7998 -64.2998 -65.0996 -64.2998h-41.9004v-66.6006h-30.2998v194.9zM258.5 283v-77.4004h34.7998c26.4004 0 41.4004 14.2002 41.4004 38.8008
c0 24.5996 -15 38.5996 -41.2998 38.5996h-34.9004zM420.7 112.1c-28.1006 0 -47.7002 16.8008 -47.7998 42c0 25 19 39.4004 54.0996 41.5l37.7998 2.30078v10.7998c0 15.8994 -10.3994 24.5 -28.8994 24.5c-15.2002 0 -26.3008 -7.90039 -28.6006 -19.9004h-27.2998
c0.900391 25.2002 24.7002 43.6006 56.7998 43.6006c34.6006 0 57.1006 -18.2002 57.1006 -46.3008v-97h-28v23.4004h-0.600586c-8 -15.2998 -25.5996 -24.9004 -44.5996 -24.9004zM428.9 135.2c20.5 0 36 13 36 31.2002v11l-33.6006 -2.10059
c-18.8994 -1.09961 -28.7998 -8.2002 -28.7998 -20.5c0 -11.7998 10.2998 -19.5996 26.4004 -19.5996zM531.4 60.5996c-2.30078 0 -9.80078 0.300781 -11.6006 0.700195v23.4004c1.90039 -0.200195 6.5 -0.5 8.90039 -0.5c13.3994 0 20.8994 5.7002 25.5 20.2998
l2.7998 8.59961l-51.2002 141.9h31.6006l35.5996 -115.1h0.599609l35.6006 115.1h30.7998l-53.0996 -149c-12.1006 -34.0996 -26 -45.4004 -55.5 -45.4004z" />
    <glyph glyph-name="cc-apple-pay" unicode="&#xf416;" horiz-adv-x="576" 
d="M302.2 229.6c0 -17.1992 -10.5 -27.0996 -29 -27.0996h-24.2998v54.2002h24.3994c18.4004 0 28.9004 -9.7998 28.9004 -27.1006zM349.7 167c0 8.59961 6.89941 13.5 20.2002 14.4004l23.5 1.5v-7.7002c0 -12.7998 -10.8008 -21.9004 -25.2002 -21.9004
c-11.2998 0 -18.5 5.40039 -18.5 13.7002zM576 369v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48zM127.8 250.8c8.40039 -0.700195 16.7998 4.2002 22.1006 10.4004
c5.19922 6.39941 8.59961 15 7.69922 23.7002c-7.39941 -0.300781 -16.5996 -4.90039 -21.8994 -11.3008c-4.7998 -5.5 -8.90039 -14.3994 -7.90039 -22.7998zM188.4 176.3c-0.200195 0.200195 -19.6006 7.60059 -19.8008 30c-0.199219 18.7002 15.3008 27.7002 16 28.2002
c-8.7998 13 -22.3994 14.4004 -27.0996 14.7002c-12.2002 0.700195 -22.5996 -6.90039 -28.4004 -6.90039c-5.89941 0 -14.6992 6.60059 -24.2998 6.40039c-12.5 -0.200195 -24.2002 -7.2998 -30.5 -18.6006c-13.0996 -22.5996 -3.39941 -56 9.2998 -74.3994
c6.2002 -9.10059 13.7002 -19.1006 23.5 -18.7002c9.30078 0.400391 13 6 24.2002 6c11.2998 0 14.5 -6 24.2998 -5.90039c10.2002 0.200195 16.5 9.10059 22.8008 18.2002c6.89941 10.4004 9.7998 20.4004 10 21zM323.8 229.7c0 26.5996 -18.5 44.7998 -44.8994 44.7998
h-51.2002v-136.4h21.2002v46.6006h29.2998c26.7998 0 45.5996 18.3994 45.5996 45zM413.8 206c0 19.7002 -15.7998 32.4004 -40 32.4004c-22.5 0 -39.0996 -12.9004 -39.7002 -30.5h19.1006c1.59961 8.39941 9.39941 13.8994 20 13.8994c13 0 20.2002 -6 20.2002 -17.2002
v-7.5l-26.4004 -1.59961c-24.5996 -1.5 -37.9004 -11.5996 -37.9004 -29.0996c0 -17.7002 13.7002 -29.4004 33.4004 -29.4004c13.2998 0 25.5996 6.7002 31.2002 17.4004h0.399414v-16.4004h19.6006v68h0.0996094zM516 237.1h-21.5l-24.9004 -80.5996h-0.399414
l-24.9004 80.5996h-22.2998l35.9004 -99.2998l-1.90039 -6c-3.2002 -10.2002 -8.5 -14.2002 -17.9004 -14.2002c-1.69922 0 -4.89941 0.200195 -6.19922 0.300781v-16.4004c1.19922 -0.400391 6.5 -0.5 8.09961 -0.5c20.7002 0 30.4004 7.90039 38.9004 31.7998z" />
    <glyph glyph-name="fly" unicode="&#xf417;" horiz-adv-x="384" 
d="M197.8 20.2002c12.9004 -11.7002 33.7002 -33.2998 33.2002 -50.7002c0 -0.799805 -0.0996094 -1.59961 -0.0996094 -2.5c-1.80078 -19.7998 -18.8008 -31.0996 -39.1006 -31c-25 0.0996094 -39.8994 16.7998 -38.7002 35.7998c1 16.2002 20.5 36.7002 32.4004 47.6006
c2.2998 2.09961 2.7002 2.69922 5.59961 3.59961c3.40039 0 3.90039 -0.299805 6.7002 -2.7998zM331.9 380.7c23.8994 -40 27.7998 -73.2998 20.7998 -112.5c-15.2002 -69.9004 -103.601 -166.5 -155.9 -215.7c-1.7002 -1.59961 -1.39941 -1.40039 -3.5 -2.09961
l-3.2998 0.0996094c-1.7002 0.599609 -4.5 3.5 -6.2002 5.09961c-58.7998 57.8008 -148.7 151.601 -155.8 233.801c-1.5 71.3994 29.2998 113.399 82.9004 141.3c9.89941 4.09961 37 17.2998 81.0996 17.2998c22 0.200195 51.0996 -4.5 76.5996 -15.2002
c24.7002 -11.5 47 -26.3994 63.3008 -52.0996zM186.8 96.0996v325.7c-57.8994 -5.5 -72.7002 -89.2002 -69.2998 -136.7c4.09961 -58.2998 41.2998 -137.899 69.2998 -189zM328.7 268c15.7998 54.9004 -10.9004 134.7 -99.7002 153
c38.2002 -25.5996 49.5996 -85.5 48 -131.4c-2 -58.5996 -39.4004 -140 -67.2002 -191.899c41.6006 42.2998 102.5 113.5 118.9 170.3z" />
    <glyph glyph-name="node" unicode="&#xf419;" horiz-adv-x="640" 
d="M316.3 -4c-2.09961 0 -4.2002 0.599609 -6.09961 1.59961l-19.2002 11.4004c-2.90039 1.59961 -1.5 2.2002 -0.5 2.5c3.7998 1.2998 4.59961 1.59961 8.7002 4c0.399414 0.200195 1 0.0996094 1.39941 -0.0996094l14.8008 -8.80078
c0.5 -0.299805 1.2998 -0.299805 1.7998 0l57.7998 33.4004c0.5 0.299805 0.900391 0.900391 0.900391 1.59961v66.7002c0 0.700195 -0.300781 1.2998 -0.900391 1.60059l-57.7998 33.2998c-0.5 0.299805 -1.2002 0.299805 -1.7998 0l-57.8008 -33.2998
c-0.599609 -0.300781 -0.899414 -1 -0.899414 -1.60059v-66.7002c0 -0.599609 0.399414 -1.19922 0.899414 -1.5l15.8008 -9.09961c8.59961 -4.2998 13.8994 0.799805 13.8994 5.7998v65.9004c0 0.899414 0.700195 1.7002 1.7002 1.7002h7.2998
c0.900391 0 1.7002 -0.700195 1.7002 -1.7002v-65.9004c0 -11.5 -6.2002 -18 -17.0996 -18c-3.30078 0 -6 0 -13.3008 3.60059l-15.1992 8.69922c-3.7002 2.2002 -6.10059 6.2002 -6.10059 10.5v66.7002c0 4.2998 2.2998 8.40039 6.10059 10.5l57.7998 33.4004
c3.7002 2.09961 8.5 2.09961 12.0996 0l57.7998 -33.4004c3.7002 -2.2002 6.10059 -6.2002 6.10059 -10.5v-66.7002c0 -4.2998 -2.2998 -8.39941 -6.10059 -10.5l-57.7998 -33.3994c-1.7002 -1.10059 -3.7998 -1.7002 -6 -1.7002zM363 61.7998
c0 -12.5996 -10.5 -19.7998 -29 -19.7998c-25.2998 0 -30.5996 11.5996 -30.5996 21.2998c0 1 0.799805 1.7002 1.69922 1.7002h7.5c0.900391 0 1.60059 -0.599609 1.7002 -1.40039c1.10059 -7.59961 4.5 -11.3994 19.7998 -11.3994
c12.2002 0 17.4004 2.7002 17.4004 9.2002c0 3.69922 -1.5 6.39941 -20.4004 8.2998c-15.7998 1.59961 -25.5996 5 -25.5996 17.7002c0 11.5996 9.7998 18.5996 26.2998 18.5996c18.5 0 27.6006 -6.40039 28.7998 -20.2002
c0.100586 -0.5 -0.0996094 -0.899414 -0.399414 -1.2998c-0.299805 -0.299805 -0.700195 -0.5 -1.2002 -0.5h-7.5c-0.799805 0 -1.40039 0.5 -1.59961 1.2998c-1.80078 8 -6.2002 10.6006 -18.1006 10.6006c-13.2998 0 -14.7998 -4.60059 -14.7998 -8.10059
c0 -4.2002 1.7998 -5.39941 19.7998 -7.7998c17.7998 -2.40039 26.2002 -5.7002 26.2002 -18.2002zM417.5 111.9c0 -6.10059 -5 -11.1006 -11.0996 -11.1006c-6.10059 0 -11.1006 5 -11.1006 11.1006c0 6.2998 5.2002 11.0996 11.1006 11.0996
c6 0.0996094 11.0996 -4.7998 11.0996 -11.0996zM415.7 111.9c0 5.19922 -4.2002 9.2998 -9.40039 9.2998c-5.09961 0 -9.2998 -4.10059 -9.2998 -9.2998c0 -5.2002 4.2002 -9.40039 9.2998 -9.40039c5.2002 0.0996094 9.40039 4.2998 9.40039 9.40039zM411.2 105.7
h-2.60059c-0.0996094 0.599609 -0.5 3.7998 -0.5 3.89941c-0.199219 0.700195 -0.399414 1.10059 -1.2998 1.10059h-2.2002v-5h-2.39941v12.5h4.2998c1.5 0 4.40039 0 4.40039 -3.2998c0 -2.30078 -1.5 -2.80078 -2.40039 -3.10059
c1.7002 -0.0996094 1.7998 -1.2002 2.09961 -2.7998c0.100586 -1 0.300781 -2.7002 0.600586 -3.2998zM408.4 114.5c0 1.7002 -1.2002 1.7002 -1.80078 1.7002h-2v-3.5h1.90039c1.59961 0 1.90039 1.09961 1.90039 1.7998zM137.3 257l-0.200195 -95
c0 -1.2998 -0.699219 -2.59961 -1.7998 -3.2002c-1.09961 -0.700195 -2.59961 -0.700195 -3.7002 0l-36.3994 20.9004c-2.2998 1.2998 -3.7002 3.7998 -3.7002 6.39941v44.4004c0 2.59961 -1.40039 5.09961 -3.7002 6.40039l-15.5 8.89941
c-1.09961 0.700195 -2.39941 1 -3.7002 1c-1.2998 0 -2.5 -0.299805 -3.69922 -1l-15.5 -8.89941c-2.30078 -1.30078 -3.7002 -3.80078 -3.7002 -6.40039v-44.4004c0 -2.59961 -1.40039 -5 -3.7002 -6.39941l-36.4004 -20.9004
c-1.19922 -0.700195 -2.59961 -0.700195 -3.69922 0c-1.10059 0.700195 -1.80078 1.90039 -1.80078 3.2002l-0.0996094 95c0 2.59961 1.40039 5.09961 3.7002 6.40039l61.2002 35.2998c1.09961 0.599609 2.19922 1 3.39941 1h0.600586
c1.19922 -0.100586 2.39941 -0.400391 3.39941 -1l61.2998 -35.2998c2.30078 -1.30078 3.7002 -3.7002 3.7002 -6.40039zM472.5 360.7v-176.4c0 -2.59961 -1.40039 -5.09961 -3.7002 -6.39941l-61.2998 -35.4004c-2.2998 -1.2998 -5.09961 -1.2998 -7.40039 0
l-61.2998 35.4004c-2.2998 1.2998 -3.7002 3.7998 -3.7002 6.39941v70.7998c0 2.60059 1.40039 5.10059 3.7002 6.40039l61.2998 35.4004c2.30078 1.2998 5.10059 1.2998 7.40039 0l15.2998 -8.80078c1.7002 -1 3.90039 0.300781 3.90039 2.2002v94
c0 2.7998 3 4.60059 5.5 3.2002l36.5 -20.4004c2.2998 -1.19922 3.7998 -3.69922 3.7998 -6.39941zM426.5 231.8c0 0.700195 -0.400391 1.2998 -0.900391 1.60059l-21 12.1992c-0.599609 0.300781 -1.2998 0.300781 -1.89941 0l-21 -12.1992
c-0.600586 -0.300781 -0.900391 -0.900391 -0.900391 -1.60059v-24.2998c0 -0.700195 0.400391 -1.2998 0.900391 -1.59961l21 -12.1006c0.599609 -0.299805 1.2998 -0.299805 1.7998 0l21 12.1006c0.599609 0.299805 0.900391 0.899414 0.900391 1.59961v24.2998h0.0996094
zM636.3 232.5l-36.7002 -21.2998c-2.5 -1.40039 -5.59961 0.399414 -5.59961 3.2002v17.3994c0 1.2998 -0.799805 2.5 -1.90039 3.2002l-19.1992 11.0996c-1.10059 0.700195 -2.60059 0.700195 -3.7002 0l-19.2002 -11.0996
c-1.2002 -0.700195 -1.90039 -1.90039 -1.90039 -3.2002v-22.2002c0 -1.2998 0.700195 -2.5 1.90039 -3.19922l61.7002 -35.4004c2.5 -1.40039 2.5 -5 0 -6.40039l-36.7998 -20.5c-2.30078 -1.2998 -5.10059 -1.2998 -7.30078 0l-60.8994 34.7002
c-2.2998 1.2998 -3.7002 3.7002 -3.7002 6.40039v70.7998c0 2.59961 1.40039 5.09961 3.7002 6.40039l61.2998 35.3994c2.2998 1.2998 5.09961 1.2998 7.40039 0l60.8994 -35.3994c2.2998 -1.30078 3.7002 -3.80078 3.7002 -6.40039v-17.0996
c0 -2.60059 -1.40039 -5.10059 -3.7002 -6.40039zM559 229l11.7998 6.7998c0.400391 0.299805 1 0.299805 1.40039 0l11.7998 -6.7998c0.400391 -0.200195 0.700195 -0.700195 0.700195 -1.2002v-13.5996c0 -0.5 -0.299805 -0.900391 -0.700195 -1.2002l-11.7998 -6.7998
c-0.400391 -0.299805 -1 -0.299805 -1.40039 0l-11.7998 6.7998c-0.400391 0.200195 -0.700195 0.700195 -0.700195 1.2002v13.5996c0 0.5 0.299805 0.900391 0.700195 1.2002zM304.8 185.5c0 -0.599609 -0.0996094 -1.2002 -0.200195 -1.7002
c-0.5 -2 -1.7998 -3.7002 -3.59961 -4.7002l-61 -35.1992c-2.2002 -1.30078 -5 -1.40039 -7.40039 0l-61.1992 35.1992c-2.10059 1.2002 -4 3.60059 -4 6.40039v70.4004c0 2.69922 1.59961 5.09961 3.89941 6.39941l61.1006 35.2002
c2.39941 1.40039 5.2998 1.2002 7.39941 0l61.1006 -35.2002c2.2998 -1.2998 3.89941 -3.7998 3.89941 -6.39941v-70.4004zM230.5 310.4l-0.799805 -0.5h1.09961zM306.7 180.2l-0.400391 0.700195v-0.900391z" />
    <glyph glyph-name="osi" unicode="&#xf41a;" horiz-adv-x="512" 
d="M8 181.56c2.2998 135.801 97.3994 232.441 213.799 248.102c138.8 18.5996 255.601 -75.7998 278 -201.101c21.2998 -118.8 -44 -230 -151.6 -274c-9.2998 -3.7998 -14.4004 -1.69922 -18 7.7002c-17.7998 46.2998 -35.5996 92.6328 -53.3994 138.999
c-3.09961 8.10059 -1 13.2002 7 16.7998c24.2002 11 39.2998 29.4004 43.2998 55.8008c0.561523 3.60547 0.852539 7.2998 0.852539 11.0615c0 37.3613 -28.7998 67.9971 -65.3525 71.1377c-39 3.40039 -71.7998 -23.6992 -77.5 -59.6992
c-5.19922 -33 11.1006 -63.7002 41.9004 -77.7002c9.59961 -4.40039 11.5 -8.60059 7.7998 -18.4004c-17.8994 -46.5996 -35.7998 -93.2324 -53.7002 -139.899c-2.59961 -6.90039 -8.2998 -9.30078 -15.5 -6.5c-52.5996 20.2998 -101.399 61 -130.8 119
c-24.8994 49.1992 -25.2002 87.6992 -26.7998 108.699zM28.8994 183.461c0.399414 -6.59961 0.599609 -14.3008 1.2998 -22.1006c6.2998 -71.9004 49.5996 -143.5 131 -183.101c3.2002 -1.5 4.39941 -0.799805 5.59961 2.2998c14.9004 39.1006 29.9004 78.2012 45 117.302
c1.2998 3.2998 0.600586 4.7998 -2.39941 6.69922c-31.6006 19.9004 -47.3008 48.5 -45.6006 86c1 21.6006 9.2998 40.5 23.7998 56.3008c30 32.6992 77 39.7998 115.5 17.5996c27.4619 -15.834 45.9629 -45.4971 45.9629 -79.4463
c0 -3.75879 -0.321289 -7.3125 -0.762695 -10.9541c-3.59961 -30.5996 -19.2998 -53.8994 -45.7002 -69.7998c-2.69922 -1.59961 -3.5 -2.89941 -2.2998 -6c15.2002 -39.2002 30.2666 -78.4336 45.2002 -117.7c1.2002 -3.09961 2.40039 -3.7998 5.59961 -2.2998
c35.5 16.6006 65.2002 40.2998 88.1006 72c34.7998 48.2002 49.0996 101.9 42.2998 161c-13.7002 117.5 -119.4 214.8 -255.5 198c-106.1 -13 -195.3 -102.5 -197.1 -225.8z" />
    <glyph glyph-name="react" unicode="&#xf41b;" horiz-adv-x="512" 
d="M418.2 270.8c54.3994 -18.7002 93.7998 -48.0996 93.7998 -78.3994c0 -31.7002 -41.7998 -62.6006 -99.5 -81.7002c-3.09961 -1 -6.2002 -2 -9.40039 -2.90039c1.10059 -4.59961 2.10059 -9.09961 3 -13.5c11.4004 -57.5996 2.60059 -104.899 -24.3994 -120.5
c-26.1006 -15.0996 -68.4004 -0.200195 -111.2 36.6006c-4.59961 4 -9.2002 8.09961 -13.5996 12.3994c-3.5 -3.39941 -7 -6.59961 -10.5 -9.7002c-44.2002 -38.6992 -89.6006 -54.6992 -116.601 -39.0996c-26.2002 15.0996 -34.3994 59.0996 -23.8994 114.6
c1.19922 6.10059 2.5 12 4 18c-4.60059 1.30078 -9.10059 2.80078 -13.6006 4.30078c-55.5 19 -96.2998 50.2998 -96.2998 81.5c0 30.1992 38.2998 59.3994 91.7002 77.8994c5.89941 2.10059 12.2002 4.10059 18.5996 5.90039
c-1.39941 5.59961 -2.59961 11.0996 -3.7002 16.7002c-11 56.3994 -3.19922 101.5 23 116.699c27.3008 15.9004 72.9004 -1.09961 118.4 -41.5c2.7998 -2.5 5.59961 -5.09961 8.2998 -7.69922c4 3.89941 8.2002 7.7998 12.5 11.5
c43.4004 37.7998 86.2998 53.5 112.601 38.3994c27.2998 -15.7998 35.3994 -63.7002 23.0996 -123.3c-0.799805 -3.7002 -1.59961 -7.40039 -2.5 -11.0996c5.40039 -1.60059 10.7998 -3.30078 16.2002 -5.10059zM282.9 355.7c-4 -3.5 -7.80078 -7 -11.7002 -10.7002
c15.3994 -16.7002 29.5996 -34.5 42.5996 -53.0996c22.6006 -2 45.1006 -5.60059 67.2998 -10.6006c0.900391 3.2998 1.60059 6.60059 2.30078 10c10.5996 51.5 4.09961 90.7002 -12.8008 100.4c-15.7998 9.09961 -50.5 -3.60059 -87.6992 -36zM167.2 140.5
c-5 8.59961 -9.7002 17.2998 -14.2998 26.0996c-6.40039 -15.1992 -11.9004 -30.0996 -16.3008 -44.5c15.3008 -3.2998 30.8008 -5.7998 46.4004 -7.5c-5.5 8.5 -10.7002 17.2002 -15.7998 25.9004zM136.9 260.8c4.39941 -14.0996 9.69922 -28.7002 16 -43.5996
c4.5 8.7998 9.2998 17.5 14.1992 26c4.90039 8.59961 10.1006 17.0996 15.4004 25.3994c-15.9004 -2 -31.2002 -4.59961 -45.5996 -7.7998zM164.3 191.9c6.7002 -13.8008 13.7998 -27.3008 21.5 -40.6006s15.9004 -26.2998 24.6006 -39
c14.6992 -0.899414 29.8994 -1.39941 45.5996 -1.39941s31.2002 0.5 46.0996 1.59961c8.5 12.7998 16.6006 25.7002 24.2002 39c7.7002 13.4004 14.9004 27 21.6006 40.7998c-6.80078 13.7002 -14 27.2002 -21.7002 40.4004s-15.7998 26.0996 -24.2998 38.7002
c-14.9004 1.09961 -30.3008 1.69922 -45.9004 1.69922s-30.9004 -0.599609 -45.9004 -1.69922c-8.59961 -12.7002 -16.7998 -25.6006 -24.3994 -38.9004c-7.60059 -13.2998 -14.7998 -26.7998 -21.4004 -40.5996zM344.9 140.7c-5 -8.60059 -10.1006 -17.2002 -15.5 -25.6006
c15.7998 1.80078 31.5 4.5 47 8c-4.90039 15.1006 -10.5 29.8008 -16.9004 44.3008c-4.7002 -9 -9.5 -17.9004 -14.5996 -26.7002zM359.3 217.2c6.10059 14.2002 11.5 28.5996 16.1006 43.3994c-14.4004 3.30078 -29.8008 6 -45.9004 8
c5.2998 -8.2998 10.4004 -16.6992 15.2998 -25.1992c5 -8.60059 9.7998 -17.4004 14.5 -26.2002zM256.2 329.7c-10 -10.9004 -20.1006 -22.9004 -29.9004 -35.7998c19.7998 0.899414 39.7002 0.899414 59.5 0c-9.2002 12.3994 -19.0996 24.3994 -29.5996 35.7998zM140.2 391
c-15.7998 -9.09961 -22 -45.5996 -12.6006 -94c1.10059 -5.2002 2.2002 -10.4004 3.5 -15.5c22.2002 4.90039 44.6006 8.40039 67.2002 10.4004c13.1006 18.5996 27.4004 36.3994 42.9004 53.0996c-2.60059 2.40039 -5.10059 4.7998 -7.60059 7
c-39.2998 34.7998 -76.5996 48.7998 -93.3994 39zM115.7 127.4c6.89941 22 15.2002 43.5996 24.7998 64.5c-9.5 20.5996 -17.7002 41.8994 -24.5 63.5996c-5.7998 -1.7002 -11.5996 -3.5 -17.2998 -5.5c-45.6006 -15.9004 -77.2002 -39.2998 -77.2002 -57.5996
c1.90039 -12.1006 8.7002 -22.9004 18.7998 -29.9004c17.5 -13.9004 41.7002 -24.5 63 -31.2002c4.10059 -1.39941 8.2002 -2.7002 12.4004 -3.89941zM232.3 29.4004c3.2002 2.7998 6.40039 5.7998 9.60059 8.89941c-15.5 16.7998 -30 34.7002 -43.2002 53.4004
c-22.9004 1.7002 -45.5 5 -67.9004 9.7998c-1.39941 -5.5 -2.59961 -11.0996 -3.7002 -16.7002c-9 -47.5 -2.39941 -82.7998 13.5 -92c11.4004 -4.5 24.2002 -4 35.3008 1.2998c20.7998 8.2002 39.8994 20.2002 56.3994 35.3008zM256.8 53.7002
c10.5 11.5996 20.4004 23.7002 29.6006 36.3994c-10 -0.5 -20.1006 -0.699219 -30.4004 -0.699219c-10 0 -19.9004 0.199219 -29.5 0.599609c9.90039 -13.0996 20.0996 -25.2998 30.2998 -36.2998zM387.5 23.7002c3.2002 22.2002 2.40039 44.7002 -2.5 66.2998
c-0.799805 4 -1.7002 8.09961 -2.7002 12.2002c-22.5 -5.10059 -45.2998 -8.60059 -68.2002 -10.5c-12.7998 -18.7998 -26.8994 -36.7002 -42.1992 -53.6006c4.2998 -4 8.5 -7.89941 12.6992 -11.5c36.6006 -31.3994 70.5 -43.3994 86.4004 -34.1992
c9.59961 7.69922 15.5996 19.0996 16.5 31.2998zM405.7 131.2c49.8994 16.5 84.7998 41.7998 84.7998 61.3994c0 18.2002 -32.7002 42 -79.2998 58c-4.7998 1.60059 -9.7998 3.2002 -15 4.7002c-6.7998 -21.5 -14.9004 -42.5 -24.5 -62.8994
c9.89941 -20.7002 18.5 -42 25.5 -63.8008c2.89941 0.800781 5.7002 1.7002 8.5 2.60059zM256 146.2c-25.2998 0 -45.7998 20.5 -45.7998 45.7998s20.5 45.7998 45.7998 45.7998s45.7998 -20.5 45.7998 -45.7998s-20.5 -45.7998 -45.7998 -45.7998z" />
    <glyph glyph-name="autoprefixer" unicode="&#xf41c;" horiz-adv-x="640" 
d="M318.4 432l164.1 -480h-77.5l-25.2002 81.4004h-119.5l-25.3994 -81.4004h-77.5zM278.1 90.0996h83.6006l-40.9004 130.4h-1.5zM640 43l-158.5 -9.5l-19.4004 56.5l167.9 -15.5996zM177.9 90l-19.4004 -56.4004l-158.5 9.40039l10 31.2998z" />
    <glyph glyph-name="less" unicode="&#xf41d;" horiz-adv-x="640" 
d="M612.7 229c0 -11 6.7998 -22.5996 27.2998 -23.2998v-27.2998c-20.5 -1 -27.2998 -12.6006 -27.2998 -23.6006c0 -20.3994 3.2002 -32 3.2002 -54.5996c0 -34.2002 -12.7002 -45.2002 -40.5 -45.2002h-20.5v25.2002h6.2998v0.5c13.5996 0 17.2998 4.7002 17.2998 22.5996
c0 17.2998 -1.59961 32.6006 -1.59961 51.5c0 24.2002 7.7998 33.6006 23.5996 37.2998v1.60059c-15.7002 3.7002 -23.5996 13.0996 -23.5996 37.2998c0 18.9004 1.59961 35.2002 1.59961 51.5c0 17.4004 -3.09961 22.0996 -17.2998 22.0996h-6.2998v24.2002h20.5
c27.8994 0 40.5 -11 40.5 -45.2002c0 -22 -3.2002 -34.0996 -3.2002 -54.5996zM507.1 197c20.5 -6.7998 43 -18.9004 43 -47.7998c0 -28.9004 -22.5996 -51 -64.5996 -51c-20 0 -44.0996 9 -59.9004 22.0996l21 30.5c14.2002 -11 27.4004 -16.2998 40.5 -16.2998
c14.2002 0 20.5 5.2002 20.5 13.0996c0 10.5 -15.7998 15.8008 -32.0996 22.1006c-18.9004 7.2998 -41.5 20.5 -41.5 46.2002c0 28.8994 24.2002 49.3994 59.9004 49.3994c24.1992 0 42.0996 -10.5 55.1992 -20.5l-21 -27.7998c-11.5 8.40039 -22 13.0996 -33.5996 13.0996
s-17.9004 -4.69922 -17.9004 -12.5996c0 -10.5 14.7002 -14.2002 30.5 -20.5zM148.2 137.6c1.59961 0 3.09961 0 6.2002 0.800781l5.2998 -34.2002c-5.7002 -2.10059 -13.6006 -3.7002 -23.6006 -3.7002c-32.0996 0 -43.0996 21 -43.0996 53.0996v150.801h-14.0996
c-13.6006 0 -17.3008 -4.80078 -17.3008 -22.1006s1.60059 -32.5996 1.60059 -51.5c0 -24.2002 -7.7998 -33.5996 -23.6006 -37.2998v-1.59961c15.7002 -3.7002 23.6006 -13.1006 23.6006 -37.3008c0 -19.3994 -1.60059 -34.1992 -1.60059 -51.5
c0 -17.2998 4.2002 -22.5996 17.3008 -22.5996h6.2998v-24.2002h-20.5c-27.9004 0 -40.5 11 -40.5 45.2002c0 22.5996 3.2002 34.2002 3.2002 53.5996c0 11 -6.80078 22.6006 -27.3008 23.1006v27.2998c20.5 1 27.3008 12.5996 27.3008 23.5996
c0 19.4004 -3.2002 32 -3.2002 54.6006c0 34.2002 12.5996 45.2002 41 45.2002h74.5996v-178.2c0 -9.90039 4.7002 -13.1006 8.40039 -13.1006zM379.9 197c20.5 -6.7998 43.0996 -18.9004 43 -47.7998c0 -28.9004 -22.6006 -51 -64.6006 -51
c-20 0 -44.0996 9 -59.8994 22.0996l20.5 30.5c14.1992 -11 27.3994 -16.2998 40.5 -16.2998c14.1992 0 20.5 5.2002 20.5 13.0996c0 10.5 -15.8008 15.8008 -32.1006 22.1006c-18.8994 7.2998 -41.5 20.5 -41.5 46.2002c0 28.8994 24.2002 49.3994 59.9004 49.3994
c24.2002 0 42.0996 -10.5 55.2002 -20.5l-21 -27.7998c-11.5 8.40039 -22 13.0996 -33.6006 13.0996c-11.5996 0 -17.8994 -4.69922 -17.8994 -12.5996c0 -10.5 14.6992 -14.2002 31 -20.5zM224.9 265.8c44.0996 0 67.2998 -33.0996 66.6992 -75.7002
c0 -8.39941 -1.09961 -15.6992 -1.59961 -19.3994h-95.2002c4.2002 -24.2002 20.5 -34.2002 41.5 -34.2002c11.6006 0 22.6006 3.2002 34.2002 10l15.7998 -27.7998c-16.2998 -11.1006 -37.2998 -17.9004 -56.2002 -17.9004c-45.0996 0 -79.2998 30.5 -79.2998 82.5
c-1 50.4004 35.7002 82.5 74.1006 82.5zM194.9 199.6h56.7998c0 17.9004 -7.40039 31 -26.2998 31c-14.7002 0 -27.3008 -10 -30.5 -31z" />
    <glyph glyph-name="sass" unicode="&#xf41e;" horiz-adv-x="640" 
d="M301.84 69.0801c-0.299805 -0.599609 -0.599609 -1.08008 0 0zM550.97 156.08c57.9092 0.300781 90.5703 -37.0801 88.9707 -71.0801c-1.10059 -26.9004 -25.6904 -37.9004 -30.29 -38.7002c-3.30078 -0.599609 -5.10059 -0.700195 -5.60059 1.90039
c-0.299805 1.7998 0.900391 2.7002 4.7998 5.09961c3.90039 2.40039 15.6006 10.5 17.7002 25c2.10059 14.5 -8.7998 49.2998 -64.4795 55.7998c-26 3 -46.3906 -0.599609 -62.0898 -7.19922c2.89941 -7.60059 5.09961 -15.5 5.39941 -23.4004
c0.799805 -17.5 -11.29 -30.4004 -23.79 -39.5996c-6.50391 -4.72559 -13.8096 -8.50879 -21.5898 -11.1006c-5.2002 -2.2002 -12.2002 -4.5 -17.0996 -3.5c-10.9004 2.2002 -16.7002 11.7998 -9.30078 33.1006c4 11.5 15.5 29 34.0908 44.0996
c-4.30078 8.7002 -8.99023 17.5996 -11.3906 25.7002c-2.58984 8.31934 -4.7002 17.0566 -6.2002 25.7998c0 0 -15.2998 -31.7197 -35.0898 -60.6201c-1.09961 -1.7002 -2.2998 -3.39941 -3.39941 -5c3.7998 -9 6.89941 -18.5996 7.2998 -28.2002
c0.700195 -17.3994 -6.90039 -30.5996 -19.4004 -39.7998c-6.1377 -4.40625 -12.9531 -8.00488 -20.1895 -10.5996c-3.90039 -1.7998 -12 -4.60059 -23.5 -5.40039c-6.29004 -0.5 -12.29 -0.0996094 -15.6904 2.5c-4.59961 3.40039 -5.2002 7.7998 -2.7998 13.7002
c2 5 17.21 22.4004 30 37.5996c3.5 4.2002 6.90039 8.5 9.90039 12.5c-0.0556641 0.0507812 -0.0927734 0.121094 -0.100586 0.200195c0 0 2.2998 3 6.10059 8.2002c-4.7002 10.0996 -10.6006 20.5 -13.4004 30c-2.58984 8.32031 -4.7002 17.0576 -6.2002 25.7998
c0 0 -15.4902 -39.7002 -31.6895 -71.5c-12.4902 -24.5996 -20.79 -39.5 -24.5908 -46v-0.299805s-0.5 -0.900391 -1.5 -2.40039c-0.5 -0.799805 -0.699219 -1.19922 -0.699219 -1.19922v0.0996094c-4.20996 -6.2002 -13.6104 -18.2998 -23 -18.2998
c-25.7002 0 -16.3008 52.2002 -16.3008 52.2002s-7.5 -19.3008 -16 -35.9004c-6.88965 -13.5996 -13.0898 -25 -26.8896 -25c-3.90039 0 -10.1904 0.0996094 -15.3896 5c-11.8008 11.2002 -20.9004 39.7002 -19.1006 61.7002c1.5 18.7998 4.40039 31.7998 8.40039 42.5996
c-7.10059 -3.89941 -15.2002 -8.39941 -23.4902 -13.2998c-4.2998 -2.5 -8.59961 -5 -12.7998 -7.5c0.0996094 -0.299805 0.299805 -0.5 0.400391 -0.799805c10.5996 -20.4004 13.3896 -65.2002 -9.60059 -99.5s-65.7803 -55.2002 -107.57 -43.6006
c-13.3896 3.80078 -33.79 31.6006 -16.29 70.4004c15.4902 34.2002 77.3809 66.5996 93.6709 74.7002c1.39941 0.799805 2.89941 1.59961 4.5 2.5c-32.4902 28.3994 -113.671 66.7998 -125.061 125.7c-3.2002 16.5996 4.58984 56.2998 53.2803 101.899
c40.9902 38.2998 97.9697 67.7002 150.66 86.4004c88.4297 31.3994 181.949 12.8994 196.31 -43.5c14.1006 -55.5 -33.9902 -121.8 -95.7695 -145.601c-54.9902 -21.2998 -100.471 -17.8994 -119.17 -11.7998c-21.29 7 -33.79 21 -36.79 28.9004
c-1.2002 3.09961 -3.30078 8.2998 0 10.0996c2 1.10059 2.7998 0.799805 8.09961 -5.09961c5.09961 -5.60059 25.4902 -20.6006 64.2803 -16.2998c101.77 11.3994 163.06 90.5 143.66 133c-13.4902 29.7998 -91.8408 43.1992 -189.841 -5.60059
c-119.569 -59.5996 -126.069 -108.7 -127.069 -127.399c-2.7998 -51.3008 63.2793 -78.3008 99.0693 -116.5c0.5 -0.5 0.900391 -1 1.40039 -1.5c6.7002 3.69922 13.7998 7.59961 20.7002 11.3994c18 9.90039 35.0996 19.2002 43 23.5
c12.5801 18.2998 38.1797 38.5 56.5801 38.5c29.4893 0 19.3896 -42.3994 19.3896 -42.3994s0.599609 2 1.40039 2c0.799805 0 4.09961 5.5 13.1992 2.19922c9.40039 -3.5 7.2002 -10 7.30078 -10.6992c0.0996094 -1.30078 -11 -38.9004 -15.7002 -63.1006
c-2.2002 -11.5 -0.900391 -19.8994 -0.299805 -19.8994c0.899414 0 2.7998 2.89941 4.5 6.09961v0.0996094s1.2998 2.40039 3.5 6.7002c0 0.200195 -0.200195 -0.299805 -0.5 -0.799805c0.199219 0.400391 0.5 0.900391 0.899414 1.7002
c2.60059 5 6.2002 12.3994 10.4004 21.5996c8.18945 18.1006 39.4795 87.7002 42.0801 95.4004c2.59961 7.7002 4 15.7002 5.2998 19.0996c1.2998 3.40039 12.4102 6 25.2998 5.90039c12.8906 -0.100586 14.1904 -5.60059 14.29 -6.7002
c0.100586 -1.09961 -6.2002 -16.4004 -7.59961 -27.2002c-1.40039 -10.7998 -0.100586 -16.2002 1.09961 -25.2998c0.799805 -6 4.5 -13.5 8.90039 -22c13.2998 21.7998 36.79 63.5996 39.0898 75.2998c1.25195 6.51465 3.06152 12.9941 5.2998 19.1006
c1.29004 3.39941 12.3896 6 25.29 5.89941c12.9004 -0.0996094 14.2002 -5.59961 14.2998 -6.7002c0.100586 -1.09961 -6.2002 -16.3994 -7.59961 -27.1992c-1.40039 -10.8008 -0.100586 -16.2002 1.09961 -25.3008c1 -7.7998 7.10059 -18.1992 13 -30.0996
c17.4492 8.59473 37.2061 13.5 57.957 13.5h0.0429688zM121.79 11.3799c19.4004 21.0996 27.3896 47.9199 19.0996 78.3203c-1 -0.600586 -2 -1.10059 -2.89941 -1.7002c0 0 -0.400391 -0.200195 -1.2002 -0.700195c-4.7998 -2.89941 -8.7002 -5.2998 -11.4004 -6.89941
c-11.7998 -7.40039 -29.5898 -19.4004 -43.3896 -32.4004c-22.6904 -21.4199 -27.3896 -51 -15.4902 -57.9199c11.0898 -6.40039 36.8906 1.2002 55.2803 21.2998zM256.15 102.78c4 9.7998 19.6992 53.2998 16.1992 59.2002c-2.59961 4.5 -13.6992 0.899414 -23.79 -10.4004
c-6.2998 -7 -16.8994 -25 -21.8994 -40.0996c-9.90039 -30 -5.60059 -60.5 1.39941 -62.3008c8.2002 -2.09961 21.6904 37.9004 28.0908 53.6006zM367.15 49.7803c7.7998 4.7998 24.96 16.8994 25.0898 34.7998c0 0.599609 -0.100586 1.09961 -0.100586 1.59961
c-3.98926 -5.19922 -7.68945 -9.89941 -10.8896 -13.8994c-5.5 -6.7998 -19.4004 -21.7002 -19.4004 -21.7002s-2 -1.90039 -1.09961 -2.40039c1.2002 -0.699219 3.7002 0.200195 6.40039 1.60059zM452.73 69.2803c9.68945 3.5 25.7998 11.8994 25.8994 34.3994
c-0.0830078 3.7627 -0.750977 7.4043 -1.89941 10.8008c-10.4102 -9.2002 -16.4004 -18.8008 -19 -24.5c-6.7002 -14.6006 -7 -19.3008 -5 -20.7002z" />
    <glyph glyph-name="vuejs" unicode="&#xf41f;" 
d="M356.9 383.7h91.0996l-224 -383.7l-224 383.7h176l48 -88.6006l56 88.6006h76.9004zM55.7002 351.7l168.3 -288.2l168.2 288.2h-53.7998l-114.4 -198.2l-114.5 198.2h-53.7998z" />
    <glyph glyph-name="angular" unicode="&#xf420;" 
d="M185.7 179.9l38.0996 91.5996l38.1006 -91.5996h-76.2002zM223.8 416l207.8 -74.4004l-31.7998 -275.699l-176 -97.9004l-176 97.9004l-31.7998 275.699zM354 74.2002l-130.2 292.3l-130.1 -292.3h48.7002l26.1992 65.3994h110.601l26.2002 -65.3994h48.5996z" />
    <glyph glyph-name="aviato" unicode="&#xf421;" horiz-adv-x="640" 
d="M107.2 164.5l-19 41.7998h-52.1006l-19 -41.7998h-17.0996l62.2002 131.4l62.2002 -131.4h-17.2002zM62.2002 262.6l-19.6006 -42.5h39.2002zM174.9 160.2l-62.2002 131.399h17.0996l45.1006 -96l45.0996 96h17zM255.5 164.5v127.1h15.5v-127.1h-15.5zM464.6 280.1
v-115.6h-17.2998v115.6h-41.2002v11.5h99.6006v-11.5h-41.1006zM640 229.2c0 -9.2002 -1.7002 -17.7998 -5.09961 -25.7998c-3.40039 -8 -8.2002 -15.1006 -14.2002 -21.1006s-13.1006 -10.7998 -21.1006 -14.2002c-8 -3.39941 -16.5996 -5.09961 -25.7998 -5.09961
s-17.7998 1.7002 -25.7998 5.09961c-8 3.40039 -15.0996 8.2002 -21.0996 14.2002s-10.8008 13 -14.2002 21.1006c-3.40039 8 -5.10059 16.5996 -5.10059 25.7998s1.7002 17.7998 5.10059 25.7998c3.39941 8 8.2002 15.0996 14.2002 21.0996s13 8.40039 21.0996 11.9004
c8 3.40039 16.5996 5.09961 25.7998 5.09961s17.7998 -1.69922 25.7998 -5.09961s15.1006 -5.7998 21.1006 -11.9004c6 -6 10.7002 -13.0996 14.2002 -21.0996c3.39941 -8 5.09961 -16.5996 5.09961 -25.7998zM624.5 229.2c0 7.2998 -1.2998 14 -3.90039 20.2998
c-2.59961 6.2998 -6.19922 11.7002 -10.7998 16.2998c-4.59961 4.60059 -10 8.2002 -16.2002 10.9004c-6.19922 2.7002 -12.7998 4 -19.7998 4s-13.5996 -1.2998 -19.7998 -4s-11.5996 -6.2998 -16.2002 -10.9004c-4.59961 -4.59961 -8.2002 -10 -10.7998 -16.2998
s-3.90039 -13.0996 -3.90039 -20.2998c0 -7.2998 1.30078 -14 3.90039 -20.2998c2.59961 -6.30078 6.2002 -11.7002 10.7998 -16.3008c4.60059 -4.59961 10 -8.19922 16.2002 -10.8994s12.7998 -4 19.7998 -4s13.6006 1.2998 19.7998 4
c6.2002 2.7002 11.6006 6.2998 16.2002 10.8994c4.60059 4.60059 8.2002 10 10.7998 16.3008c2.60059 6.2998 3.90039 13.0996 3.90039 20.2998zM529.7 132.5c6 -0.900391 10.5 -6 10.7002 -12.2998c0 -6.7998 -5.60059 -12.4004 -12.4004 -12.4004
s-12.4004 5.60059 -12.4004 12.4004c0 6.2002 4.60059 11.2998 10.5 12.2002v5.7998l-80.2998 -9v-5.40039c5.60059 -1.09961 9.90039 -6.09961 9.90039 -12.0996c0 -6.7998 -5.60059 -10.2002 -12.4004 -10.2002s-12.3994 3.40039 -12.3994 10.2002
c0 5.89941 4.19922 11 9.89941 12.0996v4.90039l-28.3994 -3.2002v-23.7002h5.89941v-13.7998h-5.89941v6.59961h-5v-6.59961h-5.90039v13.7998h5.90039v23.2002l-38.3008 -4.2998c-8.09961 -11.5 -19 -13.6006 -19 -13.6006l0.100586 -6.69922l5.09961 -0.200195
l0.100586 -12.1006h-4.10059l-0.0996094 5h-5.2002l-0.0996094 -5h-4.10059l0.100586 12.1006l5.09961 0.200195l0.0996094 6.69922s-10.8994 2.2002 -19 13.6006l-38.2998 4.2998v-23.2002h5.90039v-13.7998h-5.90039v6.59961h-5v-6.59961h-5.89941v13.9004h5.89941
v23.6992l-28.3994 3.2002v-4.89941c5.59961 -1.10059 9.89941 -6.10059 9.89941 -12.1006c0 -6.7998 -5.59961 -10.2002 -12.3994 -10.2002c-6.80078 0 -12.4004 3.40039 -12.4004 10.2002c0 5.90039 4.2002 11 9.90039 12.1006v5.39941l-80.3008 9v-5.7998
c5.90039 -0.900391 10.5 -6 10.5 -12.2002c0 -6.7998 -5.59961 -12.3994 -12.3994 -12.3994s-12.4004 5.59961 -12.4004 12.3994c0 6.2002 4.60059 11.2998 10.5 12.2002v6.2998l-88.8994 10l242.899 -13.5c-0.599609 2.2002 -1.09961 4.60059 -1.39941 7.2002
c-0.300781 2.09961 -0.5 4.2002 -0.600586 6.5l-64.7998 8.09961l64.9004 -1.89941c0 0.399414 0 0.799805 0.0996094 1.09961c2.7998 17.2002 25.5 23.7002 25.5 23.7002l1.09961 26.4004h-23.5996l-19 -41.8008h-17.0996l62.1992 131.4l62.2002 -131.4h-17.0996
l-19 41.8008h-23.7998l1.09961 -26.3008s22.7002 -6.5 25.5 -23.6992c0 -0.400391 0.0996094 -0.700195 0.0996094 -1.10059l64.9004 1.90039l-64.7998 -8.10059c-0.100586 -2.2998 -0.299805 -4.5 -0.600586 -6.5c-0.299805 -2.59961 -0.799805 -5 -1.39941 -7.19922
l242.899 13.3994l-88.8994 -10v-6.2998zM328.9 220.1h17.8994l1.7002 40.3008l1.7002 -40.3008h17.8994l-19.5996 42.5z" />
    <glyph glyph-name="ember" unicode="&#xf423;" horiz-adv-x="640" 
d="M639.9 193.4c1.09961 -10.8008 -5.30078 -14.3008 -5.30078 -14.3008s-26.5996 -19.5996 -47 -13.6992c-20.3994 5.89941 -21.5 43.1992 -21.5 43.1992h-1.89941l-20.7002 -57.1992s-8.2998 -27.9004 -20.7002 -22.8008
c-12.3994 5.10059 -12.0996 18.6006 -12.0996 18.6006s-19.2998 -21.2998 -54.7998 -18.6006c-31.1006 2.30078 -41.1006 26.7002 -41.1006 26.7002s-20.7998 -14.3994 -79.0996 -25.8994c-26.1006 -2.90039 -44.6006 12.8994 -44.6006 12.8994
c-2.39941 -2.39941 -18 -10.2002 -18 -10.2002s-22.2998 -10.2998 -30.8994 5.30078c-8.60059 15.5996 -3 63.6992 -3 63.6992h-1.60059s-12.8994 -26.2998 -19.5996 -49.8994c-6.7002 -23.6006 -15 -21.2002 -15 -21.2002s-15.2998 -1.40039 -18.7998 11.4004
c-3.5 12.8994 5.59961 59.6992 5.59961 59.6992l-1.2998 -0.299805s-0.799805 1.40039 -12.5996 -23.5996c-20.1006 -48.9004 -24.9004 -50 -36.5 -47.9004c-11.6006 2.10059 -12.1006 16.7002 -12.1006 16.7002l-15.8994 -8.7998s-38.6006 -16.6006 -58.8008 -1.2998
c-13.3994 10.1992 -18 22.1992 -19.5996 29.6992c0 0 -17 1.80078 -28.0996 6.10059c-11.1006 4.2998 0.0996094 18.2998 0.0996094 18.2998s3.5 5.2998 10 0s18.7998 -2.90039 18.7998 -2.90039c1 8.5 2.5 19.7002 7.7998 31.5c11 24.7002 27.6006 33 41.3008 33.3008
c13.6992 0.199219 23.3994 -3.5 31.6992 -15.3008c18.6006 -45.8994 -49.3994 -69.1992 -49.3994 -69.1992s-1.7998 -12.1006 16.7002 -11.8008c18.5996 0.200195 46.7998 20.4004 46.7998 20.4004c1.2998 15.4004 12.0996 63.5 15 70.7002
c2.89941 7.2002 14.2002 5.89941 14.2002 5.89941s8.89941 1.90039 10.5 -7.5c1.69922 -9.39941 -6.40039 -47.5996 -6.40039 -47.5996l1.2998 -1.59961c0.799805 3.69922 20.4004 36.5 20.4004 36.5s11.2998 19.5996 28.5 18.7998s-0.799805 -53.5 -0.799805 -53.5
l1.2998 -1.60059l1.2998 2.40039c2.2002 5.90039 27.7002 44.5996 27.7002 44.5996s9.59961 11.3008 18.5 8.60059c8.7998 -2.60059 9.39941 -6.7002 9.89941 -14.2002s-7 -52.0996 -7 -52.0996s-4.2998 -29.2002 5.40039 -28.7002s20.2002 10.7002 20.2002 10.7002
s7.5 57.5996 12.5996 105.1c5.10059 47.5 27.1006 79.5 27.1006 79.5s6.5 10 23.5 16.7002c11.1992 4 23.3994 1.2998 29.1992 -23.1006c9.5 -41 -23.2998 -87.8994 -36.8994 -105.199c5.89941 5.7998 15.7998 12.0996 27.2002 5.2998
c40.2998 -25.2998 7.2998 -80.9004 7.2998 -80.9004c11.7998 3.7998 33 18 33 18s0.5 6.10059 0.700195 7.5c7.19922 41.2998 32 56.2002 36.5996 59.7002c4.7998 3.59961 47.0996 19.7998 49 -24s-52.9004 -59.0996 -52.9004 -59.0996s4.80078 -12.6006 25 -9.40039
c20.2002 3.2002 43.3008 22.7998 43.3008 22.7998c0.799805 18 12.5996 61 15 67.2002c2.39941 6.2002 17.1992 6.5 18.7998 3c2.2002 -7 0.299805 -37.5996 0.299805 -37.5996l1.59961 0.5c5.90039 17.5 18.3008 31.1992 18.3008 31.1992s9.89941 9.7002 18 7.30078
c8.09961 -2.30078 5.09961 -30.4004 5.09961 -30.4004s-4.2998 -30.7002 9.40039 -32c13.6992 -1.40039 29.2998 10.7002 29.2998 10.7002s9.59961 3.89941 10.7002 -6.7998zM61.9004 188.1c0 0 6.19922 -1.89941 19.8994 7.60059
c13.7002 9.39941 16.4004 24.3994 9.10059 31.3994c-7.2002 6.90039 -28.2002 -7 -29 -39zM334.7 311.9c0 0 -15.9004 -54.5 -16.4004 -70.7002c0 0 44.5 72 40 96.2002c-4.5 24.1992 -23.5996 -25.5 -23.5996 -25.5zM357.5 173.5
c12.5996 33.0996 -3.59961 45.5 -3.59961 45.5s-23.4004 12.9004 -33.3008 -20.2002c-9.89941 -33.0996 -6.39941 -44.8994 -6.39941 -44.8994s30.7002 -13.4004 43.2998 19.5996zM442.1 188.1c0 0 15.7002 -1.09961 26.4004 14.2002s1.2998 25.5 1.2998 25.5
s-8.59961 11.1006 -19.5996 -9.09961c-11.1006 -20.1006 -8.10059 -30.6006 -8.10059 -30.6006z" />
    <glyph glyph-name="font-awesome-flag" unicode="&#xf425;" 
d="M444.373 88.5762c0 -7.16797 -6.14453 -10.2402 -13.3125 -13.3125c-28.6719 -12.2881 -59.3916 -23.5518 -92.1592 -23.5518c-46.0801 0 -67.584 28.6719 -122.88 28.6719c-39.9365 0 -81.9209 -14.3359 -115.713 -29.6953
c-2.04785 -1.02441 -4.0957 -1.02441 -6.14355 -2.04883v-77.8232c0 -21.4053 -16.1221 -34.8164 -33.792 -34.8164c-19.4561 0 -34.8164 15.3604 -34.8164 34.8164v374.783c-13.3115 10.2402 -22.5273 26.624 -22.5273 45.0566c0 31.7441 25.5996 57.3438 57.3438 57.3438
s57.3438 -25.5996 57.3438 -57.3438c0 -18.4326 -8.19141 -34.8164 -22.5273 -45.0566v-31.7432c4.12402 1.37402 58.7676 28.6719 114.688 28.6719c65.2705 0 97.6758 -27.6484 126.976 -27.6484c38.9121 0 81.9209 27.6484 92.1602 27.6484
c8.19238 0 15.3604 -6.14453 15.3604 -13.3125v-240.64z" />
    <glyph glyph-name="gitter" unicode="&#xf426;" horiz-adv-x="384" 
d="M66.4004 125.5h-50.4004v322.5h50.4004v-322.5zM166.9 371.9v-435.9h-50.4004v435.9h50.4004zM267.5 371.9v-435.9h-50.4004v435.9h50.4004zM368 372v-247h-50.4004v247h50.4004z" />
    <glyph glyph-name="hooli" unicode="&#xf427;" horiz-adv-x="640" 
d="M144.5 96v16c12.2998 -6.59961 25.0996 -12.2002 38.2998 -16.7998zM202.2 101.3c29.5 -10.7002 55.3994 -13.5 75.2998 -13.2998c-24.7998 -7 -58.2002 -5.2998 -94.7002 7.2002l19.4004 0.799805v5.2998zM611.1 216.5c-16 0 -28.8994 13 -28.8994 28.9004
c0 15.8994 13 24.5 28.8994 24.5c16 0 28.9004 -8.5 28.9004 -24.5s-13 -28.9004 -28.9004 -28.9004zM582.1 96v110.5h57.9004v-110.5h-57.9004zM508.4 96v168l57.8994 27.2998v-195.3h-57.8994zM477.4 215.4c18.0996 -18.1006 16.6992 -33.8008 16.7998 -52.6006
c0 -18.7002 1.39941 -34.2998 -16.7998 -52.5c-18.1006 -18.2002 -50.4004 -17.0996 -50.4004 -17.0996s-32.2002 -1.10059 -50.4004 17.0996c-18.1992 18.2002 -16.7998 33.7998 -16.7998 52.5s-1.39941 34.4004 16.7998 52.6006
c18.1006 18.1992 50.4004 17.0996 50.4004 17.0996s32.2002 1.09961 50.4004 -17.0996zM437.6 143.5v40.4004c0 8.7998 -7.2998 10.8994 -10.6992 10.8994c-3.40039 0 -10.7002 -2.2002 -10.7002 -10.8994v-40.4004c0 -3.59961 1.7998 -12.5 10.7002 -12.5
c8.89941 0 10.6992 8.90039 10.6992 12.5zM331.4 215.4c18.1992 -18.1006 16.6992 -33.8008 16.6992 -52.3008c0 -18.6992 1.5 -34.2998 -16.6992 -52.5c-18.1006 -18.1992 -50.4004 -17.0996 -50.4004 -17.0996s-32.2002 -1.09961 -50.4004 17.0996
c-18.1992 18.2002 -16.7998 33.8008 -16.7998 52.5c0 15.6006 -0.899414 29.1006 9.2998 43.7002c-16 11.7998 -58 37.4004 -99.8994 58.2998v-54.2998c8 13.7002 22.7002 22 38.5 21.9004c27.2002 0 40.5996 -18.7002 40.5996 -37.4004v-93.8994
c-20.3994 7.5 -39.7002 17.3994 -57.7002 29.5996v48.7002c0 8.09961 -1.5 15 -10.5996 15s-10.7998 -11.2998 -10.7998 -18.2002v-29.7998l-4.5 3.59961c-22.9004 18.9004 -40.2998 35.6006 -53.4004 50.2998v-31c11 -9.7998 23.6006 -20.1992 38.4004 -31.3994
c6.39941 -4.90039 12.8994 -9.40039 19.3994 -13.6006v-28.5996h-57.8994v73.7002c-86.7002 78 -61.7998 110.8 -61.7998 110.8c8.2998 18.2998 42.8994 22.2002 97.2998 0.0996094l22.5 10.6006v-20.7002c29.5996 -14.5996 63.8994 -31.5 102.1 -61.0996
c1.60059 2.09961 3.40039 4.09961 5.2998 6c18.2002 18.1992 50.4004 17.0996 50.4004 17.0996s32.2002 1.09961 50.4004 -17.0996zM65.2002 264l29.2002 13.7002c-26.9004 10.0996 -50.9004 13.5 -64.4004 2.09961c-3.7002 -3.09961 -13.5 -24.5996 35.2002 -79.0996
v63.2998zM291.7 143.5v40.4004c0 8.7998 -7.2998 10.8994 -10.7002 10.8994s-10.7002 -2.2002 -10.7002 -10.8994v-40.4004c0 -3.59961 1.7998 -12.5 10.7002 -12.5s10.7002 8.90039 10.7002 12.5z" />
    <glyph glyph-name="strava" unicode="&#xf428;" horiz-adv-x="384" 
d="M158.4 448l150.199 -292h-88.5l-61.6992 116.1l-62.2002 -116.1h-89.2002zM308.6 156h67.6006l-111.5 -220l-112.2 220h67.5996l44.6006 -88.2002z" />
    <glyph glyph-name="stripe" unicode="&#xf429;" horiz-adv-x="640" 
d="M165 303.3l0.0996094 -38.5h33.7002v-37.7998h-33.7002v-63.2002c0 -26.2002 28 -18 33.7002 -15.7002v-33.7998c-5.89941 -3.2002 -16.5996 -5.89941 -31.2002 -5.89941c-26.2998 0 -46.0996 17 -46.0996 43.2998l0.200195 142.399zM254.1 251.7
c10.4004 19.0996 31.1006 15.2002 37.1006 13.0996v-40.7998c-5.7002 1.7998 -23.4004 4.5 -33.9004 -9.2998v-103.101h-44.2998v153.2h38.4004zM346.4 324v-36.2002l-44.6006 -9.5v36.2002zM44.9004 219.7c0 -20 67.8994 -10.5 67.8994 -63.4004
c0 -32 -25.3994 -47.7998 -62.2998 -47.7998c-15.2998 0 -32 3 -48.5 10.0996v40c14.9004 -8.09961 33.9004 -14.1992 48.5996 -14.1992c9.90039 0 17 2.69922 17 10.8994c0 21.2002 -67.5 13.2002 -67.5 62.4004c0 31.3994 24 50.2002 60 50.2002
c14.7002 0 29.4004 -2.30078 44.1006 -8.10059v-41.7998c-13.5 7.2998 -30.7002 11.4004 -44.2002 11.4004c-9.2998 -0.100586 -15.0996 -2.80078 -15.0996 -9.7002zM640 186.4c0 -4.30078 -0.400391 -13.6006 -0.599609 -15.9004h-86.9004
c2 -20.7998 17.2002 -26.9004 34.5 -26.9004c17.5996 0 31.5 3.7002 43.5996 9.80078v-33.4004c-12.0996 -6.7002 -28 -11.5 -49.1992 -11.5c-43.2002 0 -73.5 24.7002 -73.5 78.2002c0 45.2002 25.6992 81.0996 67.8994 81.0996s64.2002 -35.8994 64.2002 -81.3994z
M552.1 203.2h45.9004c0 20 -11.5996 28.3994 -22.5 28.3994c-11.0996 0 -23.4004 -8.39941 -23.4004 -28.3994zM439.2 267.8c31.2002 0 60.5996 -28.0996 60.5 -79.7002c0 -56.3994 -29 -79.5996 -60.7998 -79.5996c-15.5 0 -25 6.5 -31.4004 11.2002l-0.0996094 -50.2002
l-44.4004 -9.40039v204.801h39.0996l2.30078 -11c6.19922 5.69922 17.3994 13.8994 34.7998 13.8994zM428.6 145.3c16.5 0 27.5 17.9004 27.4004 41.7998c0 23.2002 -11.2002 41.4004 -27.4004 41.4004c-10.1992 0 -16.5996 -3.7002 -21.1992 -8.7998l0.299805 -66
c4.2998 -4.60059 10.5 -8.40039 20.8994 -8.40039zM301.9 111.6v153.2h44.5996v-153.2h-44.5996z" />
    <glyph glyph-name="stripe-s" unicode="&#xf42a;" horiz-adv-x="384" 
d="M155.3 293.4c0 -64.2002 218 -33.7002 218 -203.9c0 -102.6 -81.7002 -153.6 -200.3 -153.6c-55.2773 0.125 -108.22 11.7861 -156 32.3994v128.5c47.9004 -26 108.9 -45.5 156.1 -45.5c31.8008 0 54.7002 8.5 54.7002 34.9004c0 68.0996 -216.8 42.5 -216.8 200.399
c0 101 77.0996 161.4 192.8 161.4c47.2998 0 94.5 -7.2002 141.8 -26.0996v-134.301c-43.3994 23.4004 -98.5 36.7002 -141.899 36.7002c-29.7998 0 -48.4004 -8.59961 -48.4004 -30.8994z" />
    <glyph glyph-name="typo3" unicode="&#xf42b;" 
d="M178.7 369.6c0 -66.3994 83.3994 -264.899 140.6 -264.899c6.90039 0 11.5 0 18.5 2.2998c-49.3994 -79.5 -110.399 -139 -146.7 -139c-77.2998 0 -184.1 234 -184.1 337.5c0 16.2998 3.90039 29.4004 9.2998 37.0996c27 32.4004 106.8 57.9004 176.3 66.4004
c-8.5 -7 -13.8994 -14.7002 -13.8994 -39.4004zM301.5 416c71.7998 0 138.8 -11.5996 138.8 -52.5c0 -82.5996 -52.5 -182.3 -78.7998 -182.3c-47.9004 0 -101.7 132.1 -101.7 198.5c0 30.8994 11.6006 36.2998 41.7002 36.2998z" />
    <glyph glyph-name="amazon-pay" unicode="&#xf42c;" horiz-adv-x="640" 
d="M14 122.7c2.2998 4.2002 5.2002 4.89941 9.7002 2.5c10.3994 -5.60059 20.5996 -11.4004 31.2002 -16.7002c39.8447 -19.8691 83.1084 -35.7148 127.399 -46.2998c20.5771 -4.96484 41.8789 -8.95996 63.2002 -11.7998
c26.4932 -3.56152 53.5293 -5.40039 80.9922 -5.40039c4.97266 0 9.06348 0.0800781 14.0078 0.200195c17.4004 0.399414 34.7998 1.7998 52.0996 3.7998c56.8682 6.62891 112.369 21.4697 163.301 42.7998c2.89941 1.2002 5.89941 2 9.09961 1.2002
c6.7002 -1.7998 9 -9 4.09961 -13.9004c-2.98828 -2.74707 -6.16797 -5.2002 -9.59961 -7.39941c-30.7002 -21.1006 -64.2002 -36.4004 -99.5996 -47.9004c-24.0801 -7.76074 -49.5137 -13.7686 -75.1006 -17.5996c-17.4854 -2.67871 -35.0918 -4.29395 -53.2002 -4.7998
c-0.847656 -0.0517578 -1.68066 -0.152344 -2.5 -0.300781h-21.0996c-0.818359 0.148438 -1.65234 0.249023 -2.5 0.300781c-3.59961 0.199219 -7.2002 0.299805 -10.7002 0.399414c-17.1182 0.776367 -33.8633 2.55957 -50.3994 5.2998
c-27.5244 4.48633 -54.7959 11.6387 -80.4004 20.9004c-54.1943 19.5449 -103.535 49.2734 -145.6 87c-1.80078 1.59961 -3 3.7998 -4.40039 5.7002v2zM172 382.9c2.7998 0 5.5 0 8.2998 -0.100586c3.2998 -0.5 6.60059 -0.799805 9.7998 -1.5
c21.3008 -4.39941 35.4004 -17.2998 43.9004 -36.8994c6.90039 -15.9004 8.59961 -32.7002 8.09961 -49.8008c-0.399414 -15.3994 -3.2998 -30.1992 -10.2998 -44.0996c-9.2002 -18.4004 -23.3994 -30.9004 -43.7998 -34.9004c-22.5 -4.39941 -43.0996 0.5 -61 15.4004
c-0.5 0.5 -1.09961 1 -2.2002 1.90039v-72.4004c0 -1 0 -2 -0.0996094 -3c-0.299805 -3 -2.10059 -5 -5 -5c-7 -0.0996094 -14.1006 -0.0996094 -21.1006 0c-2.89941 0.0996094 -4.69922 2 -4.89941 5c-0.100586 1 -0.100586 2 -0.100586 3v209.3
c0 6.90039 1.30078 8.2002 8.2002 8.2002h11.5c4.60059 0 6.90039 -2 7.60059 -6.59961c0.5 -2.7002 0.899414 -5.5 1.2998 -8.2002c0.0537109 -0.494141 0.193359 -0.970703 0.399414 -1.40039c2.5 1.90039 4.7002 3.7002 7.10059 5.40039
c10.8691 7.98535 23.957 13.3662 38 15.0996zM124.6 341c0.100586 -14.0996 0 -28 0 -42.0996c0 -14.1006 0.100586 -28.1006 0 -42.2002c-0.00585938 -0.0849609 -0.0126953 -0.165039 -0.0126953 -0.250977c0 -1.29102 0.686523 -2.42188 1.71289 -3.04883
c11.2002 -7.90039 23.4004 -13.3008 37.4004 -13.9004c20.2002 -0.900391 35.7998 7.2002 42.5996 28.5c3.2002 10 4 20.2002 4 30.5996c0 11.2002 -1 22.3008 -4.89941 33c-6.40039 17.5 -18.6006 24.8008 -33.5 25.9004
c-16.8008 1.2998 -31.9004 -3.7002 -45.6006 -13.2002c-1.02734 -0.605469 -1.71289 -1.7168 -1.71289 -2.99414c0 -0.103516 0.00390625 -0.205078 0.0126953 -0.305664zM330.3 382.9c4 0 8 0 11.9004 0.0996094c3.59961 -0.5 7.2002 -0.799805 10.7998 -1.2998
c7.7002 -1.10059 15.0996 -3.10059 21.7998 -7.10059c11.6006 -6.89941 17.1006 -17.5 19 -30.3994c0.597656 -3.93945 0.905273 -7.87793 0.905273 -11.9834c0 -0.305664 -0.00195312 -0.611328 -0.00488281 -0.916992v-106
c0.00292969 -0.157227 0.00488281 -0.282227 0.00488281 -0.44043c0 -0.794922 -0.0351562 -1.58203 -0.105469 -2.35938c-0.0742188 -2.59277 -2.19336 -4.67969 -4.7998 -4.7002c-5.39941 -0.0996094 -10.8994 -0.0996094 -16.2998 0
c-2.90039 0.100586 -4.7998 2.10059 -5.40039 5.2002c-0.699219 3.59961 -1.19922 7.2002 -1.7998 11c-0.583984 -0.296875 -1.11816 -0.665039 -1.59961 -1.09961c-11.7998 -9.7002 -25.2002 -16.1006 -40.2998 -18.4004c-13.1006 -2 -26 -1.2002 -37.9004 5.40039
c-12.4004 6.89941 -19.4004 17.6992 -21.4004 31.6992c-1.5 10.5 -0.799805 20.9004 3.90039 30.7002c6.09961 12.6006 16.5 20.4004 29.4004 24.9004c10.7998 3.7998 22 4.5 33.2998 3.89941c10.9355 -0.680664 21.6748 -2.35449 32 -4.89941
c0.399414 -0.100586 0.799805 0 1.2998 -0.100586c0.107422 0.453125 0.174805 0.921875 0.200195 1.40039c-0.100586 8.2998 0 16.5996 -0.299805 24.9004c-0.200195 5.89941 -1.60059 11.5996 -5.30078 16.3994c-4.19922 5.5 -10.2998 7.40039 -16.7998 8.40039
c-12.5 1.89941 -24.8994 0.899414 -37.2002 -1.40039c-7.89941 -1.5 -15.6992 -3.7002 -23.5 -5.7002c-4.69922 -1.19922 -6.69922 0.100586 -6.7998 4.90039c-0.0996094 3.2998 0.100586 6.59961 0 9.90039c-0.0996094 3.89941 1.7002 6.5 5.2998 7.69922
c5.90039 2 11.8008 4.2002 17.9004 5.80078c9.3125 2.27539 18.9932 3.68164 28.9004 4.09961c0.899414 0.0996094 1.89941 0.299805 2.89941 0.400391zM365.3 255.2c-0.0996094 4.7002 0.100586 9.2998 0.100586 14.0996s-0.100586 9.5 0 14.2998
c0 1.60059 -0.5 2.40039 -2.10059 2.60059c-8.39941 1.09961 -16.5996 2.7002 -25 3.39941c-2.34766 0.273438 -4.66895 0.400391 -7.08984 0.400391c-6.15625 0 -12.1016 -0.90918 -17.71 -2.59961c-8 -2.60059 -13.9004 -7.30078 -16.4004 -15.6006
c-0.914062 -3.01953 -1.40527 -6.22168 -1.40527 -9.53906c0 -3.43457 0.527344 -6.74707 1.50586 -9.86035c1.77637 -6.16602 6.41895 -11.1133 12.3994 -13.3008c5.40039 -2.19922 11.1006 -2.39941 16.8008 -1.7998c13.8994 1.40039 26.1992 6.7998 37.3994 14.9004
c0.90918 0.594727 1.50684 1.61719 1.50684 2.7832c0 0.0732422 -0.00195312 0.145508 -0.00683594 0.216797zM625.2 125.8v-17.2998c-0.700195 -3.59961 -1.2998 -7.2998 -2.10059 -10.9004c-4.39941 -20.2998 -11.8994 -39.1992 -24.6992 -55.5996
c-3.97559 -4.76562 -8.1582 -9.17773 -12.7002 -13.4004c-1.33008 -1.21289 -2.98242 -2.09082 -4.7998 -2.5c-2.90039 -0.699219 -4.60059 1.2002 -4.10059 4.10059c0.243164 1.03027 0.584961 2.04785 1 3c5.7998 14.7998 11.7002 29.7002 15.7998 45.0996
c2.10059 7.60059 3.90039 15.2998 3.5 23.2998c-0.199219 5.2002 -2.5 9 -7.59961 10.4004c-4.60352 1.3623 -9.46191 2.29004 -14.4004 2.7002c-11.3994 0.899414 -22.8994 0.200195 -34.2998 -0.900391c-7.7998 -0.799805 -15.5 -1.7002 -23.2998 -2.5
c-0.607422 -0.0693359 -1.20215 -0.104492 -1.82715 -0.104492c-0.125 0 -0.249023 0.00195312 -0.373047 0.00488281c-1.5 -0.100586 -3.2002 0.299805 -3.59961 1.7998c-0.129883 0.450195 -0.197266 0.930664 -0.197266 1.42285
c0 0.939453 0.253906 1.82031 0.697266 2.57715c1.00879 1.39258 2.25 2.56836 3.7002 3.5c12.0996 8.2998 25.6992 12.9004 40 15.5996c8.68945 1.59961 17.376 2.43945 26.5254 2.43945c4.26953 0 8.49707 -0.182617 12.6738 -0.539062
c7.24512 -0.454102 14.3311 -1.80273 21 -3.90039c4.30078 -1.39941 8.10059 -3.2998 9.10059 -8.2998zM493.1 249c0.300781 -0.700195 0.501953 -1.2998 0.902344 -2.40039c2.59961 7.7002 5.2002 15 7.7002 22.2002l34.7998 100
c0.5 1.40039 1.09961 2.7002 1.59961 4.10059c0.980469 3.02734 3.81543 5.21777 7.16699 5.21777c0.179688 0 0.357422 -0.00585938 0.533203 -0.0185547c6.60059 0 13.2998 0.100586 19.9004 0c2.7998 0 4.09961 -1.59961 3.7002 -4.39941
c-0.335938 -1.89648 -0.884766 -3.76465 -1.60059 -5.5c-23.3662 -59.9336 -46.8994 -119.801 -70.5996 -179.601c-2.58691 -6.37598 -5.6875 -12.5654 -9.2002 -18.3994c-8.7998 -14.9004 -22.4004 -21.7998 -39.5 -21.4004c-5.7666 0.225586 -11.3984 0.905273 -16.9004 2
c-5.39941 0.900391 -7.2998 3.40039 -7.39941 8.90039c-0.100586 3.2666 -0.100586 6.56641 0 9.89941c0.0996094 3.5 1.7998 5 5.2002 4.80078c2.5 -0.200195 5 -0.800781 7.5 -1c1.57227 -0.178711 3.11328 -0.264648 4.7334 -0.264648
c3.68457 0 7.25879 0.473633 10.666 1.36426c7.2002 1.90039 12.2002 6.7998 15.2002 13.2998c3.40039 7.2998 6 15 9.2998 22.2998c1.90039 4.2002 1.5 7.7002 -0.200195 11.8008c-19.7998 48.5 -39.5 97 -59.1006 145.5
c-0.770508 1.95117 -1.41797 4.02051 -1.90039 6.09961c-0.5 2.5 0.700195 4.5 3.2002 4.5c7.7002 0.0996094 15.2998 0 22.9004 -0.0996094c3.2002 0 5.2998 -1.90039 6.39941 -4.80078c2.10059 -5.59961 4.30078 -11.1992 6.30078 -16.8994
c12.8994 -35.7666 25.7988 -71.5 38.6982 -107.2z" />
    <glyph glyph-name="cc-amazon-pay" unicode="&#xf42d;" horiz-adv-x="576" 
d="M124.7 246.2c0.0996094 11.7998 0 23.5 0 35.2998v35.2998c0 1.2998 0.399414 2 1.39941 2.7002c11.5 8 24.1006 12.0996 38.2002 11.0996c12.5 -0.899414 22.7002 -7 28.1006 -21.6992c3.2998 -8.90039 4.09961 -18.2002 4.09961 -27.7002
c0 -8.7002 -0.700195 -17.2998 -3.40039 -25.6006c-5.69922 -17.7998 -18.6992 -24.6992 -35.6992 -23.8994c-11.7002 0.5 -21.9004 5 -31.4004 11.7002c-0.900391 0.799805 -1.40039 1.59961 -1.2998 2.7998zM279.6 231.6c-5.19922 2 -8.7998 5.7002 -10.3994 11.2002
c-1.7002 5.40039 -1.7002 10.7998 -0.100586 16.2002c2 6.90039 7 10.9004 13.7002 13.0996c6.7998 2.2002 13.7998 2.5 20.7998 1.90039c7 -0.700195 13.9004 -2 20.9004 -2.90039c1.40039 -0.199219 1.7998 -0.799805 1.7998 -2.19922c-0.0996094 -4 0 -8 0 -12
c0 -3.90039 -0.0996094 -7.90039 0 -11.8008c0 -1.19922 -0.399414 -1.89941 -1.2998 -2.5c-9.40039 -6.7998 -19.7002 -11.2998 -31.2998 -12.5c-4.7998 -0.5 -9.5 -0.299805 -14.1006 1.5zM576 368v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352
c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48zM368.5 344.1c0.400391 -1.69922 0.900391 -3.39941 1.59961 -5.09961c16.5 -40.5996 32.9004 -81.2998 49.5 -121.9c1.40039 -3.5 1.7002 -6.39941 0.200195 -9.89941
c-2.7998 -6.2002 -4.89941 -12.6006 -7.7998 -18.7002c-2.59961 -5.5 -6.7002 -9.5 -12.7002 -11.2002c-4.2002 -1.09961 -8.5 -1.2998 -12.8994 -0.899414c-2.10059 0.199219 -4.2002 0.699219 -6.30078 0.799805c-2.7998 0.200195 -4.19922 -1.10059 -4.2998 -4
c-0.0996094 -2.7998 -0.0996094 -5.60059 0 -8.2998c0.100586 -4.60059 1.60059 -6.7002 6.2002 -7.5c4.7002 -0.800781 9.40039 -1.60059 14.2002 -1.7002c14.2998 -0.299805 25.7002 5.39941 33.0996 17.8994c2.90039 4.90039 5.60059 10.1006 7.7002 15.4004
c19.7998 50.0996 39.5 100.3 59.2002 150.5c0.599609 1.5 1.09961 3 1.2998 4.59961c0.400391 2.40039 -0.700195 3.60059 -3.09961 3.7002c-5.60059 0.100586 -11.1006 0 -16.7002 0c-3.10059 0 -5.2998 -1.39941 -6.40039 -4.2998
c-0.399414 -1.09961 -0.899414 -2.2998 -1.2998 -3.40039l-29.0996 -83.6992c-2.10059 -6.10059 -4.2002 -12.1006 -6.5 -18.6006c-0.400391 0.900391 -0.600586 1.40039 -0.800781 1.90039c-10.7998 29.8994 -21.5996 59.8994 -32.3994 89.7998
c-1.7002 4.7002 -3.5 9.5 -5.2998 14.2002c-0.900391 2.5 -2.7002 4 -5.40039 4c-6.40039 0.0996094 -12.7998 0.200195 -19.2002 0.0996094c-2.2002 0 -3.2998 -1.59961 -2.7998 -3.7002zM242.4 242c1.69922 -11.7002 7.59961 -20.7998 18 -26.5996
c9.89941 -5.5 20.6992 -6.2002 31.6992 -4.60059c12.7002 1.90039 23.9004 7.2998 33.8008 15.5c0.399414 0.299805 0.799805 0.600586 1.39941 1c0.5 -3.2002 0.900391 -6.2002 1.5 -9.2002c0.5 -2.59961 2.10059 -4.2998 4.5 -4.39941
c4.60059 -0.100586 9.10059 -0.100586 13.7002 0c2.2998 0.0996094 3.7998 1.59961 4 3.89941c0.0996094 0.800781 0.0996094 1.60059 0.0996094 2.30078v88.7998c0 3.59961 -0.199219 7.2002 -0.699219 10.7998c-1.60059 10.7998 -6.2002 19.7002 -15.9004 25.4004
c-5.59961 3.2998 -11.7998 5 -18.2002 5.89941c-3 0.400391 -6 0.700195 -9.09961 1.10059h-10c-0.799805 -0.100586 -1.60059 -0.300781 -2.5 -0.300781c-8.2002 -0.399414 -16.2998 -1.39941 -24.2002 -3.5c-5.09961 -1.2998 -10 -3.19922 -15 -4.89941
c-3 -1 -4.5 -3.2002 -4.40039 -6.5c0.100586 -2.7998 -0.0996094 -5.60059 0 -8.2998c0.100586 -4.10059 1.80078 -5.2002 5.7002 -4.10059c6.5 1.7002 13.1006 3.5 19.7002 4.7998c10.2998 1.90039 20.7002 2.7002 31.0996 1.2002
c5.40039 -0.799805 10.5 -2.39941 14.1006 -7c3.09961 -4 4.2002 -8.7998 4.39941 -13.7002c0.300781 -6.89941 0.200195 -13.8994 0.300781 -20.7998c0 -0.399414 -0.100586 -0.700195 -0.200195 -1.2002c-0.400391 0 -0.799805 0 -1.10059 0.100586
c-8.7998 2.09961 -17.6992 3.59961 -26.7998 4.09961c-9.5 0.5 -18.8994 -0.0996094 -27.8994 -3.2002c-10.8008 -3.7998 -19.5 -10.2998 -24.6006 -20.7998c-4.09961 -8.2998 -4.59961 -17 -3.39941 -25.7998zM98.7002 341.1v-175.3c0 -0.799805 0 -1.7002 0.0996094 -2.5
c0.200195 -2.5 1.7002 -4.09961 4.10059 -4.2002c5.89941 -0.0996094 11.7998 -0.0996094 17.6992 0c2.5 0 4 1.7002 4.10059 4.10059c0.0996094 0.799805 0.0996094 1.7002 0.0996094 2.5v60.7002c0.900391 -0.700195 1.40039 -1.2002 1.90039 -1.60059
c15 -12.5 32.2002 -16.5996 51.0996 -12.8994c17.1006 3.39941 28.9004 13.8994 36.7002 29.1992c5.7998 11.6006 8.2998 24.1006 8.7002 37c0.5 14.3008 -1 28.4004 -6.7998 41.7002c-7.10059 16.4004 -18.9004 27.2998 -36.7002 30.9004
c-2.7002 0.599609 -5.5 0.799805 -8.2002 1.2002h-7c-1.2002 -0.200195 -2.40039 -0.300781 -3.59961 -0.5c-11.7002 -1.40039 -22.3008 -5.80078 -31.8008 -12.7002c-2 -1.40039 -3.89941 -3 -5.89941 -4.5c-0.100586 0.5 -0.299805 0.799805 -0.400391 1.2002
c-0.399414 2.2998 -0.700195 4.59961 -1.09961 6.89941c-0.600586 3.90039 -2.5 5.5 -6.40039 5.60059h-9.7002c-5.89941 0.0996094 -6.89941 -1 -6.89941 -6.80078zM493.6 109c-2.69922 0.700195 -5.09961 0 -7.59961 -1c-43.9004 -18.4004 -89.5 -30.2002 -136.8 -35.7998
c-14.5 -1.7002 -29.1006 -2.7998 -43.7002 -3.2002c-26.5996 -0.700195 -53.2002 0.799805 -79.5996 4.2998c-17.8008 2.40039 -35.5 5.7002 -53 9.90039c-37 8.89941 -72.7002 21.7002 -106.7 38.7998c-8.7998 4.40039 -17.4004 9.2998 -26.1006 14
c-3.7998 2.09961 -6.19922 1.5 -8.19922 -2.09961v-1.7002c1.19922 -1.60059 2.19922 -3.40039 3.69922 -4.7998c36 -32.2002 76.6006 -56.5 122 -72.9004c21.9004 -7.90039 44.4004 -13.7002 67.3008 -17.5c14 -2.2998 28 -3.7998 42.1992 -4.5
c3 -0.0996094 6 -0.200195 9 -0.400391c0.700195 0 1.40039 -0.199219 2.10059 -0.299805h17.7002c0.699219 0.100586 1.39941 0.299805 2.09961 0.299805c14.9004 0.400391 29.7998 1.80078 44.5996 4c21.4004 3.2002 42.4004 8.10059 62.9004 14.7002
c29.5996 9.60059 57.7002 22.4004 83.4004 40.1006c2.7998 1.89941 5.69922 3.7998 8 6.19922c4.2998 4.40039 2.2998 10.4004 -3.30078 11.9004zM544 136.7c-0.799805 4.2002 -4 5.7998 -7.59961 7c-5.7002 1.89941 -11.6006 2.7998 -17.6006 3.2998
c-11 0.900391 -22 0.400391 -32.7998 -1.59961c-12 -2.2002 -23.4004 -6.10059 -33.5 -13.1006c-1.2002 -0.799805 -2.40039 -1.7998 -3.09961 -3c-0.600586 -0.899414 -0.700195 -2.2998 -0.5 -3.39941c0.299805 -1.30078 1.69922 -1.60059 3 -1.5
c0.599609 0 1.19922 0 1.7998 0.0996094l19.5 2.09961c9.59961 0.900391 19.2002 1.5 28.7998 0.800781c4.09961 -0.300781 8.09961 -1.2002 12 -2.2002c4.2998 -1.10059 6.2002 -4.40039 6.40039 -8.7002c0.299805 -6.7002 -1.2002 -13.0996 -2.90039 -19.5
c-3.5 -12.9004 -8.2998 -25.4004 -13.2998 -37.7998c-0.299805 -0.799805 -0.700195 -1.7002 -0.799805 -2.5c-0.400391 -2.5 1 -4 3.39941 -3.5c1.40039 0.299805 3 1.09961 4 2.09961c3.7002 3.60059 7.5 7.2002 10.6006 11.2002
c10.6992 13.7998 17 29.5996 20.6992 46.5996c0.700195 3 1.2002 6.10059 1.7002 9.10059c0.200195 4.7002 0.200195 9.59961 0.200195 14.5z" />
    <glyph glyph-name="ethereum" unicode="&#xf42e;" horiz-adv-x="320" 
d="M311.9 187.2l-151.9 -92.7998l-152 92.7998l152 260.8zM160 64.5996l152 92.8008l-152 -221.4l-152 221.4z" />
    <glyph glyph-name="korvue" unicode="&#xf42f;" horiz-adv-x="446" 
d="M386.5 414c32.7002 0 59.5 -26.7998 59.5996 -59.5v-327c0 -32.7002 -26.5 -59.5 -59.5 -59.5h-327.1c-32.7002 0 -59.5 26.7998 -59.5 59.4004v327.1c0 32.7002 26.7998 59.5 59.5 59.5h327zM87.0996 327.2v-132h187.5l81.2002 132h-110.899l-61.8008 -116v116h-96z
M248.9 55.0996h118.399l-88.5996 130.801h-191.5v-130.801h96v113.601z" />
    <glyph glyph-name="elementor" unicode="&#xf430;" 
d="M425.6 416c12.4004 0 22.4004 -10 22.4004 -22.4004v-403.199c0 -12.4004 -10 -22.4004 -22.4004 -22.4004h-403.199c-12.4004 0 -22.4004 10 -22.4004 22.4004v403.199c0 12.4004 10 22.4004 22.4004 22.4004h403.199zM164.3 92.5v199h-39.7998v-199h39.7998z
M323.6 92.5v39.7998h-119.5v-39.7998h119.5zM323.6 172.1v39.8008h-119.5v-39.8008h119.5zM323.6 251.8v39.7998h-119.5v-39.7998h119.5z" />
    <glyph glyph-name="youtube-square" unicode="&#xf431;" 
d="M186.8 245.9l95.2002 -54.1006l-95.2002 -54.0996v108.2zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM406 191.7c0 0 0 59.5996 -7.59961 88.2002
c-4.2002 15.7998 -16.5 28.1992 -32.2002 32.3994c-28.2998 7.7002 -142.2 7.7002 -142.2 7.7002s-113.9 0 -142.2 -7.7002c-15.7002 -4.2002 -28 -16.5996 -32.2002 -32.3994c-7.59961 -28.5 -7.59961 -88.2002 -7.59961 -88.2002s0 -59.6006 7.59961 -88.2002
c4.2002 -15.7998 16.5 -27.7002 32.2002 -31.9004c28.2998 -7.59961 142.2 -7.59961 142.2 -7.59961s113.9 0 142.2 7.7002c15.7002 4.2002 28 16.0996 32.2002 31.8994c7.59961 28.5 7.59961 88.1006 7.59961 88.1006z" />
    <glyph glyph-name="flipboard" unicode="&#xf44d;" 
d="M0 416h448v-448h-448v448zM358.4 236.8v89.6006h-268.801v-268.801h89.6006v89.6006h89.5996v89.5996h89.6006z" />
    <glyph glyph-name="hips" unicode="&#xf452;" horiz-adv-x="640" 
d="M251.6 290.4v-201.801c0 -1.89941 -0.899414 -2.7998 -2.7998 -2.7998h-40.8994c-1.60059 0 -2.7002 1.40039 -2.7002 2.7998v201.801c0 1.39941 1.09961 2.7998 2.7002 2.7998h40.8994c1.90039 0 2.7998 -0.900391 2.7998 -2.7998zM156.5 280
c18.7002 -13.5 28 -31.9004 28 -55.2998v-136.101c0 -1.89941 -0.900391 -2.7998 -2.7002 -2.7998h-27.2998c-9.09961 0 -16.4004 7.2998 -16.4004 16.2998v122.601c0 0.899414 2.7002 27 -45.7998 27c-48.5996 0 -45.7998 -26.2002 -45.7998 -27v-136.101
c0 -1.89941 -0.900391 -2.7998 -2.7998 -2.7998h-41c-1.7998 0 -2.7002 0.900391 -2.7002 2.7998v279.2c0 1.7998 0.900391 2.7002 2.7002 2.7002h40.8994c1.90039 0 2.80078 -0.900391 2.80078 -2.7002v-81.2002c15.1992 7.7002 31.6992 11.5 49.7998 11.4004
c24 -0.0996094 44.2002 -6.2002 60.2998 -18zM634.9 169.9c5.5 -12.6006 6.59961 -25.6006 3.09961 -39.1006c-9.59961 -36.8994 -44.9004 -45.5 -45.5996 -45.7998c-10.5 -3.09961 -23.6006 -4.2998 -36.3008 -4.2998c-16.5996 0 -32.5996 2.7002 -48.1992 8.2002
c-9.7002 3.39941 -14.6006 10.2998 -14.6006 20.6992v34.4004c0 2.09961 2.2998 3.7002 4.40039 2.2998c13.7002 -10.2002 34.0996 -19.0996 58.3994 -19.0996c23.3008 0 32.8008 4.5 36.5 13.5996c3 7.90039 -0.599609 16.1006 -12.1992 21.2002l-53.6006 23.5
c-21.3994 9.40039 -33.7998 24 -37.2002 43.5996c-5.69922 33.7002 22.2002 53.3008 22.7002 53.7002c13.2002 9.60059 32 15.4004 58.5 15.4004c19 0 37.4004 -3.2998 55.1006 -9.90039c1.2998 -0.5 1.89941 -1.2998 1.89941 -2.59961v-44.7002
c0 -2.09961 -2.2998 -3.40039 -4 -2.40039c-39.7002 20.7002 -76.5996 12.3008 -84 6.80078c-6.59961 -4.90039 -6 -12.5 2.60059 -16.1006l57.5996 -25.2998c16.5 -7.09961 28.0996 -18.4004 34.9004 -34.0996zM376.2 298.2c60.3994 0 108.7 -48.2998 108.6 -108.601
c0 -60.1992 -48.2002 -108.699 -108.7 -108.699c-21.8994 0 -41.1992 6.39941 -57.6992 19.0996v-88.7998c0 -1.7998 -0.900391 -2.7002 -2.80078 -2.7002h-40.8994c-2.10059 0 -2.7002 1.90039 -2.7002 2.7002v183.5c0 83.3994 72.5 103.5 104.2 103.5zM376.2 127.3
c34.8994 0 62.2998 27.9004 62.2002 62.2002c0 34.5996 -27.7002 62.2002 -62.2002 62.2002c-34.6006 0 -62.2002 -27.7002 -62.2002 -62.2002c0 -17.2002 6 -31.7998 18.2002 -44c12.0996 -12.0996 26.7998 -18.2002 44 -18.2002zM228.3 375.5
c15.9004 0 28.9004 -12.7002 28.9004 -28.9004c0 -15.7998 -12.7002 -28.8994 -28.9004 -28.8994s-28.8994 13.2998 -28.8994 28.8994c0.0996094 16 13 28.9004 28.8994 28.9004z" />
    <glyph glyph-name="php" unicode="&#xf457;" horiz-adv-x="640" 
d="M320 343.5c-171.3 0 -303.2 -72.2002 -303.2 -151.5s131.8 -151.5 303.2 -151.5c171.3 0 303.2 72.2002 303.2 151.5s-131.8 151.5 -303.2 151.5zM320 360.3c176.7 0 320 -75.2998 320 -168.3s-143.3 -168.3 -320 -168.3s-320 75.2998 -320 168.3s143.3 168.3 320 168.3z
M218.2 205.5c7.39941 38.4004 -18.4004 34.2998 -56.4004 34.2998l-13.7002 -70.5996c34.3008 0 62.2002 -4.2002 70.1006 36.2998zM97.4004 97.7002l32.6992 168.7h70.7002c21.2002 0 36.7998 -5.5 46.5 -16.7002c18.6006 -21.4004 11.7998 -64.1006 -14.2998 -88.1006
c-23.5996 -22.0996 -49.0996 -19.0996 -90.2002 -19.0996l-8.7002 -44.7998h-36.6992zM283.1 311.3h36.5l-8.69922 -44.7998c31.5 0 60.6992 2.2998 74.7998 -10.7002c14.7998 -13.5996 7.7002 -31 -8.2998 -113.1h-37c15.3994 79.3994 18.2998 86 12.6992 92
c-5.39941 5.7998 -17.6992 4.59961 -47.3994 4.59961l-18.7998 -96.5996h-36.5zM505 205.5c7.40039 38.4004 -18.2002 34.2998 -56.4004 34.2998l-13.6992 -70.5996c33.3994 0 62.0996 -4.7998 70.0996 36.2998zM384.2 97.7002l32.7998 168.7h70.7002
c21.2002 0 36.7998 -5.5 46.5 -16.7002c18.5996 -21.4004 11.7998 -64.1006 -14.2998 -88.1006c-23.1006 -21.5996 -47 -19.0996 -90.2002 -19.0996l-8.7002 -44.7998h-36.7998z" />
    <glyph glyph-name="quinscape" unicode="&#xf459;" horiz-adv-x="512" 
d="M313.6 -26.5996c4.40039 -4.40039 8.10059 -9 13.3008 -12.5c-21.7051 -6.54492 -44.666 -10.1084 -68.4922 -10.1084c-0.636719 0 -1.27246 0.00292969 -1.9082 0.0078125c-135 0 -244.5 109.5 -244.5 244.601c0 135.1 109.4 244.6 244.5 244.6
s244.6 -109.5 244.6 -244.6c0 -35.3008 -6.89941 -67.4004 -20.2998 -97.7002c-3 5.7002 -7.2002 10.2002 -11.2002 15.2998c11.2002 93.5 -62.0996 176.6 -157 176.6c-87.2578 0 -158.1 -70.8418 -158.1 -158.1s70.8418 -158.1 158.1 -158.1h1zM313.5 -26.5
l0.400391 -0.0996094zM391.9 142.4c54.7393 0 99.1992 -44.4414 99.1992 -99.1797v-0.0205078c0 -54.75 -44.4492 -99.2002 -99.1992 -99.2002s-99.2002 44.4502 -99.2002 99.2002s44.4502 99.2002 99.2002 99.2002z" />
    <glyph glyph-name="readme" unicode="&#xf4d5;" horiz-adv-x="576" 
d="M528.3 401.5c26.4004 -0.200195 47.7002 -21.7002 47.7002 -48.0996v-245.7c0 -26.5 -21.5 -48 -48 -48h-89.7002c-102.1 0 -132.6 -24.4004 -147.3 -75c-0.799805 -2.7998 -5.2998 -2.7998 -6 0c-14.5996 50.5996 -45.0996 75 -147.3 75h-89.7002
c-26.5 0 -48 21.5 -48 48v245.8c0 26.5 21.5 48 48 48h139.7c48.0996 0 89.7998 -33.2998 100.399 -80.2998c10.5 47 52.3008 80.2998 100.4 80.2998h139.8zM242 136.1h0.0996094v22.9004c0 2 -1.59961 3.5 -3.5 3.5h-160.399c-2 0 -3.5 -1.59961 -3.5 -3.5v-22.9004
c0 -2 1.59961 -3.5 3.5 -3.5h160.3c2 0 3.5 1.60059 3.5 3.5zM242 197h0.0996094v22.9004c0 2 -1.59961 3.5 -3.5 3.5h-160.399c-2 0 -3.5 -1.60059 -3.5 -3.5v-22.9004c0 -2 1.59961 -3.5 3.5 -3.5h160.3c2 0 3.5 1.59961 3.5 3.5zM242 257.9h0.0996094v22.8994
c0 2 -1.59961 3.5 -3.5 3.5h-160.399c-2 0 -3.5 -1.59961 -3.5 -3.5v-22.8994c0 -2 1.59961 -3.5 3.5 -3.5h160.3c2 0 3.5 1.59961 3.5 3.5zM501.3 136.2h0.100586v22.8994c0 2 -1.60059 3.5 -3.5 3.5h-160.4c-2 0 -3.5 -1.59961 -3.5 -3.5v-22.8994
c0 -2 1.59961 -3.5 3.5 -3.5h160.3c2 0 3.5 1.59961 3.5 3.5zM501.3 197.1h0.100586v22.9004c0 2 -1.60059 3.5 -3.5 3.5h-160.4c-2 0 -3.5 -1.59961 -3.5 -3.5v-22.9004c0 -2 1.59961 -3.5 3.5 -3.5h160.3c2 0 3.5 1.60059 3.5 3.5zM501.3 258h0.100586v22.7998
c0 2 -1.60059 3.5 -3.5 3.5h-160.4c-2 0 -3.5 -1.59961 -3.5 -3.5v-22.7998c0 -2 1.59961 -3.5 3.5 -3.5h160.3c2 0 3.5 1.59961 3.5 3.5z" />
    <glyph glyph-name="java" unicode="&#xf4e4;" horiz-adv-x="384" 
d="M277.74 135.1c-94.5 -24.8994 -277 -13.2998 -224.5 12.1006c44.5 21.3994 80.5996 19 80.5996 19s-93.0996 -22.1006 -33 -30.1006c25.4004 -3.39941 76 -2.59961 123.101 1.30078c38.5 3.19922 77.1992 10.1992 77.1992 10.1992s-13.5996 -5.7998 -23.3994 -12.5z
M192.34 167.2c-48.5 43.7998 -84.0996 82.2998 -60.2002 118.2c35.1006 52.5 132.2 78.0996 110.7 162.6c0 0 53.1602 -53.2002 -50.5 -135c-83.0996 -65.5996 -19 -103.1 0 -145.8zM306.94 343.4c-111.601 -64.7002 -91 -83.5 -64.1006 -121.301
c28.7998 -40.5 -33.8994 -72.8994 -33.8994 -72.8994s31.1992 25.5996 6.5 54c-83.7002 96.3994 91.5996 140.2 91.5 140.2zM300.84 72.9004c96.1006 49.8994 51.6006 97.8994 20.6006 91.3994c-3.75195 -0.703125 -7.4834 -1.72656 -11 -3
c2.01367 2.86523 4.85742 5.07227 8.19922 6.2998c61.3008 21.6006 108.5 -63.5996 -19.7998 -97.2998c0.78125 0.773438 1.44922 1.63965 2 2.60059zM348 10.5996c53 -23.8994 -115.16 -72 -319.4 -38.7998c-74.8994 12.1006 36.1006 54.5 56.4004 40.2002
c0 0 -6.5 0.400391 -17.7002 -2c-10.7998 -2.2998 -45.0996 -13.4004 -26.7998 -21.2998c50.7998 -22.1006 233.7 -16.7998 291.6 0.700195c30.4004 9.2998 15.9004 21.1992 15.9004 21.1992zM124.44 52c0 0 -19.6006 -11.4004 13.8994 -15.2002
c40.6006 -4.59961 61.2998 -4 106 4.5c8.91016 -5.33594 18.4062 -9.99512 28.2002 -13.7998c-100.2 -42.9004 -226.8 2.5 -148.1 24.5zM304.24 -45.2002c69.7998 13.2002 76.2002 29.7002 76.2002 29.7002c-3.30078 -43.5996 -144.9 -52.7998 -237.101 -46.9004
c-60.5996 3.90039 -72.3994 13.7002 -72.3994 13.6006c57.5 -9.5 154.6 -11.2002 233.3 3.59961zM260.64 95c6.01562 -5.61719 13.1807 -10.0039 21.1006 -12.7998c-121.3 -35.5 -256.3 -2.90039 -169.5 25.8994c0 0 -21.9004 -16.1992 11.5996 -19.6992
c43.2998 -4.5 77.6006 -4.80078 136.8 6.59961z" />
    <glyph glyph-name="pied-piper-hat" unicode="&#xf4e5;" horiz-adv-x="640" 
d="M640 423.1c-80.7998 -53.5996 -89.4004 -92.5 -96.4004 -104.399c-6.69922 -12.2002 -11.6992 -60.2998 -23.2998 -83.6006c-11.7002 -23.5996 -54.2002 -42.1992 -66.0996 -50c-11.7002 -7.7998 -28.2998 -38.0996 -41.9004 -64.1992
c-108.1 4.39941 -167.399 -38.8008 -259.2 -93.6006c29.4004 9.7002 43.3008 16.7002 43.3008 16.7002c94.1992 36 139.3 68.2998 281.1 49.2002c1.09961 0 1.90039 -0.600586 2.7998 -0.799805c3.90039 -2.2002 5.2998 -6.90039 3.10059 -10.8008l-53.9004 -95.7998
c-2.5 -4.7002 -7.7998 -7.2002 -13.0996 -6.09961c-126.801 23.7998 -226.9 -17.2998 -318.9 -18.6006c-73.4004 -1.09961 -97.5 33.5 -97.5 35.1006c0 1.09961 0.599609 1.7002 1.7002 1.7002c0 0 38.2998 0 103.1 15.2998c73.6006 140.3 139.2 189.399 210.601 189.399
c0 0 71.6992 0 90.5996 -61.8994c22.7998 39.7002 28.2998 49.2002 28.2998 49.2002c5.2998 9.39941 35 77.1992 86.4004 141.399c51.5 64 90.3994 79.9004 119.3 91.7998z" />
    <glyph glyph-name="creative-commons-by" unicode="&#xf4e7;" horiz-adv-x="496" 
d="M314.9 253.6v-101.399h-28.3008v-120.5h-77.0996v120.399h-28.2998v101.5c0 4.40039 1.59961 8.2002 4.59961 11.3008c3.10059 3.09961 6.90039 4.69922 11.2998 4.69922h101.9c4.09961 0 7.7998 -1.59961 11.0996 -4.69922
c3.10059 -3.2002 4.80078 -6.90039 4.80078 -11.3008zM213.4 317.3c0 23.2998 11.5 35 34.5 35s34.5 -11.7002 34.5 -35c0 -23 -11.5 -34.5 -34.5 -34.5s-34.5 11.5 -34.5 34.5zM247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248
c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3z" />
    <glyph glyph-name="creative-commons-nc" unicode="&#xf4e8;" horiz-adv-x="496" 
d="M247.6 440c139.801 0 248.4 -107.9 248.4 -248c0 -147.2 -118.5 -248 -248.4 -248c-134.5 0 -247.6 110.8 -247.6 248c0 132.9 104.7 248 247.6 248zM55.7998 258.9c-7.39941 -20.4004 -11.0996 -42.7002 -11.0996 -66.9004c0 -110.9 92.0996 -202.4 203.7 -202.4
c122.399 0 177.199 101.801 178.5 104.101l-93.4004 41.5996c-7.7002 -37.0996 -41.2002 -53 -68.2002 -55.3994v-38.1006h-28.7998v38.2002c-27.5 0.299805 -52.5996 10.2002 -75.2998 29.7002l34.0996 34.5c31.7002 -29.4004 86.4004 -31.7998 86.4004 2.2002
c0 6.19922 -2.2002 11.1992 -6.60059 15.0996c-14.1992 6 -1.7998 0.0996094 -219.3 97.4004zM248.4 395.7c-38.4004 0 -112.4 -8.7002 -170.5 -93l94.7998 -42.5c10 31.2998 40.3994 42.8994 63.7998 44.2998v38.0996h28.7998v-38.0996
c22.7002 -1.2002 43.4004 -8.90039 62 -23l-32.2998 -33.2002c-42.7002 29.9004 -83.5 8 -70 -11.0996c53.4004 -24.1006 43.7998 -19.7998 93 -41.6006l127.1 -56.6992c4.10059 17.3994 6.2002 35.0996 6.2002 53.0996c0 57 -19.7998 105 -59.2998 143.9
c-39.2998 39.8994 -87.2002 59.7998 -143.6 59.7998z" />
    <glyph glyph-name="creative-commons-nc-eu" unicode="&#xf4e9;" horiz-adv-x="496" 
d="M247.7 440c140.7 0 248.3 -109 248.3 -248c0 -147.1 -118.1 -248 -248.3 -248c-136 0 -247.7 111.7 -247.7 248c0 131.2 103.6 248 247.7 248zM248.3 -10.7002c122.601 0 177.3 102.2 178.8 104.3l-128.3 56.8008h-90.2998
c9.2002 -39.3008 39.0996 -50.2002 67.2998 -50.2002c19.1006 0 38.6006 6.2002 47.2998 10.7998l10 -46.0996c-14.1992 -7.90039 -38.1992 -15.8008 -64.7998 -15.8008c-57.3994 0 -113.2 34.3008 -124.6 101.301h-27v29.5h22.7998
c0 16.2998 0.400391 13.2998 0.400391 19.5h-23.3008v29.5h4.7002l-65.7002 29.0996c-7.19922 -20.7998 -10.8994 -42.7998 -10.8994 -66c0 -110.2 91.5996 -202.7 203.6 -202.7zM231.6 179.9l-0.5 0.399414l0.900391 -0.399414h-0.400391zM308.8 199.4l136.101 -60.5
c4.19922 16.5996 6.2998 34.1992 6.2998 52.8994c0 113.2 -90 203.4 -203 203.4c-13 0 -106.101 3.2002 -170.7 -93.6006l81.5996 -36.0996c4.10059 7.2002 8.60059 14 13.9004 20.0996c23.7002 26.5 56.9004 42.3008 95.9004 42.3008
c25.2998 0 47.2998 -5.80078 62.2998 -12.4004l-11.6006 -47.2998c-10.7998 4.59961 -27.7998 10 -46.0996 10c-20 0 -38.2002 -6.60059 -51.0996 -22.4004c-3.40039 -3.7998 -6.30078 -8.7998 -8.80078 -14.2998l28.6006 -12.5996h70.2998v-29.5h-3.7002z" />
    <glyph glyph-name="creative-commons-nc-jp" unicode="&#xf4ea;" horiz-adv-x="496" 
d="M247.7 440c140.8 0 248.3 -109.2 248.3 -248c0 -147.2 -118.1 -248 -248.3 -248c-135.9 0 -247.7 111.6 -247.7 248c0 131.2 103.6 248 247.7 248zM248.3 -10.7002c118.101 0 173.7 96.1006 175.2 98.2998l-81 36.1006v-35.7002h-64.2002v-56h-61.7002v56h-63.7998
v38.7002h63.7998v18.7002l-5.69922 11.7998h-58.1006v38.5996h27.9004l-127 56.5c-6 -19.0996 -9 -39.2002 -9 -60.2998c0 -110.2 91.5996 -202.7 203.6 -202.7zM335.9 126.6l-54.7002 24.3008l-2.90039 -5.60059v-18.7002h57.6006zM342.4 178l101 -45.0996
c5.19922 18.3994 7.89941 38 7.89941 59c0 113.399 -90.2002 203.399 -203 203.399c-91.0996 0 -145.899 -54 -173.7 -98.0996l81.9004 -36.5l-27.2998 51h65.7998l39.5996 -85.7002l23 -10.2002l43.4004 96h65.7998l-63 -116h38.6006v-17.7998z" />
    <glyph glyph-name="creative-commons-nd" unicode="&#xf4eb;" horiz-adv-x="496" 
d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8
c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM342.4 251v-42.5h-180.301v42.5h180.301zM342.4 171.2v-42.5h-180.301v42.5h180.301z" />
    <glyph glyph-name="creative-commons-pd" unicode="&#xf4ec;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111.1 248 -248c0 -137 -111 -248 -248 -248s-248 111 -248 248c0 136.9 111 248 248 248zM248 -9.5c76.0996 0 142.4 42.4004 176.7 104.8c-1.40039 0.299805 12.5 -5.7998 -217.9 96.7998c0.200195 -32 16.1006 -71.8994 53.9004 -71.8994
c18.7002 0 30.7998 10.3994 36.2998 16.7002l36.0996 -43.9004c-25.8994 -22.7998 -56.5 -29.5 -79.3994 -29.5c-46.5 0 -120.4 27.9004 -120.4 126.9c0 11.3994 1.2002 22.3994 3.2998 32.8994l-78.7998 35.1006c-45.5996 -129.9 51 -267.9 190.2 -267.9zM442.2 140.5
c0.200195 -0.200195 0.299805 -0.299805 0.599609 -0.400391c4.40039 16.6006 6.7998 34 6.7998 52c0 111.101 -90.3994 201.5 -201.5 201.5c-70.3994 0 -132.399 -36.2998 -168.5 -91.1992l74.9004 -33.4004c19.7998 31.0996 53.2998 51.5996 100.7 51.5996
c20.0996 0 51 -4.19922 78.0996 -27.5l-40.3994 -41.5996c-19.8008 19.7002 -55.9004 23 -74.7002 -11z" />
    <glyph glyph-name="creative-commons-pd-alt" unicode="&#xf4ed;" horiz-adv-x="496" 
d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 -10.7998c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3
c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8zM316.7 262c21.3994 0 70 -5.2002 70 -68.5996c0 -63.5 -48.6006 -68.6006 -70 -68.6006h-53.2002v137.2h53.2002zM317.5 153.5c24 0 34.5 15.2998 34.5 39.9004
c0 42 -31.2002 39.8994 -35 39.8994l-19.4004 -0.0996094v-79.7002h19.9004zM203.7 262c33.7002 0 50.5 -15.5 50.5 -46.5c0 -9 -3 -46.5 -57.1006 -46.5h-27v-44.2998h-34.5996v137.3h68.2002zM198.8 194.7c27.9004 0 30 41.5996 -0.899414 41.5996h-28.3008v-41.5996
h29.2002z" />
    <glyph glyph-name="creative-commons-remix" unicode="&#xf4ee;" horiz-adv-x="496" 
d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8
c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM410.1 187.6l4.90039 -2.19922v-70c-7.2002 -3.60059 -63.4004 -27.5 -67.2998 -28.8008c-6.5 1.80078 -113.7 46.8008 -137.3 56.2002l-64.2002 -26.5996l-63.2998 27.5v63.7998
l59.2998 24.7998c-0.700195 0.700195 -0.400391 -5 -0.400391 70.4004l67.2998 29.7002l151.9 -62.9004v-61.5996zM339.7 106.1v43.8008h-0.400391v1.7998l-113.8 46.5v-45.2002l113.8 -46.9004v0.400391zM347.2 163.7l39.8994 16.3994l-36.7998 15.5l-39 -16.3994z
M399.5 125.6v43l-44.2998 -18.5996v-43.4004z" />
    <glyph glyph-name="creative-commons-sa" unicode="&#xf4ef;" horiz-adv-x="496" 
d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8
c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM137.7 227c13 83.9004 80.5 95.7002 108.899 95.7002c99.8008 0 127.5 -82.5 127.5 -134.2c0 -63.5996 -41 -132.9 -128.899 -132.9c-38.9004 0 -99.1006 20 -109.4 97h62.5
c1.5 -30.0996 19.6006 -45.1992 54.5 -45.1992c23.2998 0 58 18.1992 58 82.7998c0 82.5 -49.0996 80.5996 -56.7002 80.5996c-33.0996 0 -51.6992 -14.5996 -55.7998 -43.7998h18.2002l-49.2002 -49.2002l-49 49.2002h19.4004z" />
    <glyph glyph-name="creative-commons-sampling" unicode="&#xf4f0;" horiz-adv-x="496" 
d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8
c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM252 342.1c2.7998 0.300781 11.5 -1 11.5 -11.5l6.59961 -107.199l4.90039 59.2998c0 6 4.7002 10.5996 10.5996 10.5996c5.90039 0 10.6006 -4.7002 10.6006 -10.5996
c0 -2.5 -0.5 5.7002 5.7002 -81.5l5.7998 64.2002c0.299805 2.89941 2.89941 9.2998 10.2002 9.2998c3.7998 0 9.89941 -2.2998 10.5996 -8.90039l11.5 -96.5l5.2998 12.7998c1.7998 4.40039 5.2002 6.60059 10.2002 6.60059h58v-21.2998h-50.9004l-18.1992 -44.3008
c-3.90039 -9.89941 -19.5 -9.09961 -20.8008 3.10059l-4 31.8994l-7.5 -92.5996c-0.299805 -3 -3 -9.2998 -10.1992 -9.2998c-3 0 -9.80078 2.09961 -10.6006 9.2998c0 1.90039 0.600586 -5.7998 -6.2002 77.9004l-5.2998 -72.2002
c-1.09961 -4.7998 -4.7998 -9.2998 -10.5996 -9.2998c-2.90039 0 -9.7998 2 -10.6006 9.2998c0 1.89941 0.5 -6.7002 -5.7998 87.7002l-5.7998 -94.8008c0 -6.2998 -3.59961 -12.3994 -10.5996 -12.3994c-5.2002 0 -10.6006 4.09961 -10.6006 12l-5.7998 87.7002
c-5.7998 -92.5 -5.2998 -84 -5.2998 -85.9004c-1.10059 -4.7998 -4.7998 -9.2998 -10.6006 -9.2998c-3 0 -9.7998 2.09961 -10.5996 9.2998c0 0.700195 -0.400391 1.09961 -0.400391 2.59961l-6.19922 88.6006l-4.90039 -56.7002
c-0.700195 -6.5 -6.7002 -9.2998 -10.5996 -9.2998c-5.80078 0 -9.60059 4.09961 -10.6006 8.89941l-11.0996 76.4004c-2 -4 -3.5 -8.40039 -11.1006 -8.40039h-51.3994v21.3008h44.7998l13.7002 27.8994c4.39941 9.90039 18.2002 7.2002 19.8994 -2.7002l3.10059 -20.3994
l8.39941 97.8994c0 6 4.80078 10.6006 10.6006 10.6006c0.5 0 10.5996 0.200195 10.5996 -12.4004l4.90039 -69.0996l6.59961 92.5996c0 10.1006 9.5 10.6006 10.2002 10.6006c0.599609 0 10.5996 -0.700195 10.5996 -10.6006l5.30078 -80.5996l6.19922 97.8994
c0.100586 1.10059 -0.599609 10.3008 9.90039 11.5z" />
    <glyph glyph-name="creative-commons-sampling-plus" unicode="&#xf4f1;" horiz-adv-x="496" 
d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8
c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM355.4 189.7l58.3994 0.299805v-23.2002h-50.5l-18 -43.3994c-4.59961 -11 -20.8994 -8.7002 -22.2998 3.09961l-2.7002 22.2998l-6.7998 -83
c-1.09961 -14.0996 -22 -14.2002 -23.0996 0.100586l-4.90039 64.3994l-4.59961 -58.5996c-1.10059 -14.2998 -22.3008 -14.1006 -23.2002 0.200195l-4.5 71.7998l-4.90039 -80.5c-0.899414 -14.5 -22.2998 -14.5 -23.2002 -0.100586l-4.7998 73.3008l-4.59961 -70.4004
c-0.900391 -14.2998 -22.1006 -14.5 -23.2002 -0.0996094l-5.7002 78.2998l-3.7998 -43.6006c-1.2002 -13.6992 -21.0996 -14.1992 -23.0996 -0.699219l-10.7002 73.0996c-2 -3.90039 -6 -6.40039 -10.4004 -6.40039h-51.2998v23.2002h43.9004l13.1992 27.7002
c4.90039 10.2998 20.3008 8.09961 22 -3.2998l1.80078 -12.2002l7.69922 89.7998c1.2002 14.1006 22.1006 14.1006 23.2002 -0.200195l4.10059 -57l5.2998 80.2002c1 14.4004 22.2998 14.4004 23.2002 0l4.2998 -66.2998l5.09961 83.7002
c0.900391 14.3994 22.2998 14.5 23.2002 0l5.90039 -94.2998l3.5 44.8994c1.09961 14.2002 22.0996 14.2998 23.1992 0l5.2002 -68.7998l4.2998 51.4004c1.10059 13.7998 21.4004 14.2998 23.1006 0.399414l11 -92.7998l4 9.5c1.7002 4.40039 6 7.2002 10.7002 7.2002z
M277.4 184.5c4.09961 0 7.5 3.40039 7.5 7.5c0 4.2002 -3.40039 7.5 -7.5 7.5h-21.9004v21.9004c0 4.19922 -3.40039 7.5 -7.5 7.5s-7.5 -3.40039 -7.5 -7.5v-21.9004h-21.9004c-4.09961 0 -7.5 -3.40039 -7.5 -7.5c0 -4.2002 3.40039 -7.5 7.5 -7.5h21.9004v-21.9004
c0 -4.19922 3.40039 -7.5 7.5 -7.5c4.2002 0 7.5 3.40039 7.5 7.5v21.9004h21.9004z" />
    <glyph glyph-name="creative-commons-share" unicode="&#xf4f2;" horiz-adv-x="496" 
d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8
c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM349.4 262.9c7.7998 0 13.6992 -6.10059 13.6992 -13.7002v-182.5c0 -7.7002 -6.09961 -13.7002 -13.6992 -13.7002h-135.101c-7.7002 0 -13.7002 6 -13.7002 13.7002v54h-54
c-7.7998 0 -13.6992 6 -13.6992 13.7002v182.5c0 8.19922 6.59961 12.6992 12.3994 13.6992h136.4c7.7002 0 13.7002 -6 13.7002 -13.6992v-54h54zM159.9 147.7h40.6992v101.399c0 7.40039 5.80078 12.6006 12 13.7002h55.8008v40.2998h-108.5v-155.399zM336.1 235.8h-108.5
v-155.399h108.5v155.399z" />
    <glyph glyph-name="creative-commons-zero" unicode="&#xf4f3;" horiz-adv-x="496" 
d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8
c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM248 334.8c81.9004 0 102.5 -77.2998 102.5 -142.8s-20.5996 -142.8 -102.5 -142.8s-102.5 77.2998 -102.5 142.8s20.5996 142.8 102.5 142.8zM248 280.9
c-42.0996 0 -44.0996 -60.1006 -44.0996 -88.9004c0 -9.2998 0.199219 -21.7002 1.89941 -34.4004l54.5 100.2c5.7002 9.7998 2.7998 16.7998 -3.09961 21.9004c-2.7998 0.700195 -5.90039 1.2002 -9.2002 1.2002zM288.8 234.7l-60.8994 -105.2
c-12.5 -18.7002 6.59961 -26.4004 20.0996 -26.4004c42.0996 0 44.0996 60 44.0996 88.9004c0 11.2998 -0.399414 27.2998 -3.2998 42.7002z" />
    <glyph glyph-name="ebay" unicode="&#xf4f4;" horiz-adv-x="640" 
d="M606 258.5h34l-99.2002 -194.8h-35.8994l28.5 54.0996l-61.5 116.101c3.09961 -6.60059 4.7998 -14.5 4.7998 -23.8008v-65.5996c0 -9.2998 0.299805 -18.5996 1 -26.7998h-29.7998c-0.800781 6.89941 -1.10059 13.5996 -1.10059 20.2002
c-16.0996 -19.8008 -35.2998 -25.5 -61.8994 -25.5c-39.5 0 -60.6006 20.8994 -60.6006 45c0 3.19922 0.200195 6.19922 0.700195 9c-8.40039 -32.3008 -36.4004 -54.2002 -73.2998 -54.2002c-23.2998 0 -45.1006 8.2998 -58.7002 24.8994
c0 -6.59961 -0.400391 -13.1992 -1.09961 -19.5h-31.5c0.5 10.2002 1.09961 22.8008 1.09961 33.1006v169.5h32.0996v-80.6006c15.7002 18.7002 37.4004 24.2002 58.7002 24.2002c35.7002 0 75.4004 -24.0996 75.4004 -76.2002c0 -5.59961 -0.5 -11 -1.5 -16.1992
c7.09961 24.3994 34.2998 33.5 76.7002 34.3994c13.6992 0.299805 29 0.400391 41.6992 0.400391v3.39941c0 23.4004 -15 33 -41 33c-19.2998 0 -33.5996 -8 -35 -21.7998h-33.6992c3.59961 34.4004 39.6992 43.1006 71.5 43.1006c27.3994 0 51.7998 -7 63.2998 -26
l-10.9004 20.5996h37.5l54.9004 -109.9zM243.7 134.2c29.7998 0 50.2002 21.5 50.2002 53.7998c0 32.4004 -20.4004 53.7998 -50.2002 53.7998c-29.6006 0 -50.2002 -21.3994 -50.2002 -53.7998c0 -32.2998 20.5996 -53.7998 50.2002 -53.7998zM444.6 181.5v3.2998
c-11.7998 0 -26.2998 -0.0996094 -39.3994 -0.599609c-29.1006 -0.900391 -47.2002 -6.2002 -47.2002 -25.2998c0 -12.4004 9.90039 -25.8008 35 -25.8008c33.7002 0 51.5996 18.4004 51.5996 48.4004zM32.7002 179.9c3.5 -58.3008 79.2002 -57.4004 91.2002 -21.6006
h33.0996c-6.40039 -34.3994 -43 -46.0996 -74.4004 -46.0996c-57.1992 0 -82.5 31.5 -82.5 74c0 46.7998 26.2002 77.5996 83 77.5996c45.3008 0 78.4004 -23.7002 78.4004 -75.3994v-8.5h-128.8zM127.7 201.3c-2.2998 54.7002 -87.5 56.6006 -94.4004 0h94.4004z" />
    <glyph glyph-name="keybase" unicode="&#xf4f5;" 
d="M286.17 29c9.93457 0 18 -8.06543 18 -18s-8.06543 -18 -18 -18s-18 8.06543 -18 18s8.06543 18 18 18zM398.09 176.6c22.9102 -33.46 35.9102 -72.3398 35.9102 -110.92c0 -31.6797 -5 -60.6797 -14.5996 -86.2295
c-3.04004 -8.0498 -10.9502 -12.7197 -18.3701 -11.1504c-6.83984 1.24023 -11.1201 9.28027 -8.60059 15.7402c11.1904 28.71 14.8799 58.3398 14.8799 81.6396c-0.0634766 9.75 -1.02246 19.1807 -2.7998 28.4307c-0.649414 -1.06055 -1.12988 -2.2207 -1.84961 -3.2207
c-17.29 -24.5293 -50.54 -33.8896 -84.7402 -23.8398c-78.8701 23.1699 -178.02 3.81055 -236.25 -38.5898l24.6602 74.1104l-46.8203 -59.8301c2.4834 -18.6582 7.96191 -36.7539 15.7598 -53.1299c6.25 -13.1904 0.460938 -18.2402 -3.75 -20.1104
c-4.76953 -2.12012 -13.8594 -2.7998 -19.6396 7.33008c-6.41504 11.584 -11.4131 24.3486 -14.5596 37.5596l-23.3203 -29.7998v33.6406c0 55.7695 0 125.109 62.6504 188.409c13.7461 13.917 29.1787 25.7891 46.29 35.54l-8.93066 0.540039
c-27.8799 1.64062 -49.2402 24.8506 -47.6299 51.8506l2.36035 36.6797c0 -6.24023 0.139648 45.8799 50.75 45.8799c2.05957 0 -0.470703 0.120117 41.0596 -2.33008c2.82715 -0.19043 5.60742 -0.616211 8.29004 -1.25c7.41992 11.3398 15.6504 22.8301 24.3398 34.8906
l5.48047 7.55957l22.8994 -13.5195c-11.29 -24 -10 -33 -9.39941 -35c9.08008 0.229492 20 -1.6709 32.4102 -5.77051c31.2002 -10.3584 53.6846 -39.8262 53.6846 -74.4844c0 -10.4883 -2.0625 -20.498 -5.80469 -29.6455
c6.18652 -2.13965 12.3135 -4.56348 18.3799 -7.27051c47.8896 -21.2598 77.7598 -59.0898 87.2598 -73.71zM142.37 319.42c1.87695 6.54492 4.25684 13.041 7 19.1699l-29.1104 1.73047c0.610352 -0.0507812 -12.2598 0.849609 -13.2598 -11.3203l-2.41016 -36.6602
c-0.00683594 -0.174805 -0.00292969 -0.34375 -0.00292969 -0.520508c0 -6.60449 5.22461 -11.998 11.7627 -12.2695l22.3809 -1.33984c-0.457031 3.73438 -0.692383 7.34863 -0.692383 11.2061c0 2.81836 0.125977 5.6084 0.37207 8.36426l-13.1299 0.779297l1.38965 21.79
zM290.79 147.24c2.27441 1.75195 3.72949 4.50586 3.72949 7.59668c0 2.19922 -0.742188 4.22559 -1.98926 5.84277l-81.0898 96.3203c-1.9043 2.21094 -4.72949 3.60156 -7.87305 3.60156c-2.42578 0 -4.65918 -0.833984 -6.42773 -2.23145
c-2.27344 -1.74805 -3.72754 -4.49902 -3.72754 -7.58594c0 -2.19531 0.741211 -4.21973 1.98828 -5.83398c0.0898438 -0.140625 18.5996 -22.1406 18.5996 -22.1406l-16.9102 -13.29c-1.75879 -1.34863 -2.88477 -3.47461 -2.88477 -5.86133
c0 -1.68359 0.564453 -3.23633 1.51465 -4.47852c0.0800781 -0.109375 2.37988 -2.91113 3.7998 -4.5293c1.4209 -1.61914 3.50977 -2.63477 5.83105 -2.63477c1.79395 0 3.44531 0.610352 4.75977 1.63477l17.0898 13.4492l14.1396 -16.7393l-34.5703 -27.1807
c-1.74805 -1.34961 -2.86621 -3.46875 -2.86621 -5.84668c0 -1.69043 0.569336 -3.24805 1.52637 -4.49316l15.7803 -18.6396c1.48438 -1.72363 3.68555 -2.80762 6.13574 -2.80762c1.88379 0 3.61816 0.645508 4.99414 1.72754l34.4199 27l9.68066 -11.4902
c1.92676 -2.2041 4.76465 -3.58789 7.91992 -3.58789c2.4209 0 4.65234 0.820312 6.42969 2.19824zM187.44 29c9.93359 0 18 -8.06543 18 -18s-8.06641 -18 -18 -18c-9.93457 0 -18 8.06543 -18 18s8.06543 18 18 18z" />
    <glyph glyph-name="mastodon" unicode="&#xf4f6;" 
d="M433 268.89c0 0 0.799805 -71.6992 -9 -121.5c-6.23047 -31.5996 -55.1104 -66.1992 -111.23 -72.8994c-20.0996 -2.40039 -93.1191 -14.2002 -178.75 6.7002c0 -0.116211 -0.00390625 -0.119141 -0.00390625 -0.235352c0 -4.63281 0.307617 -9.19434 0.904297 -13.665
c6.62988 -49.5996 49.2197 -52.5996 89.6299 -54c40.8105 -1.2998 77.1201 10.0996 77.1201 10.0996l1.7002 -36.8994s-28.5098 -15.2998 -79.3203 -18.1006c-28.0098 -1.59961 -62.8193 0.700195 -103.33 11.4004c-112.229 29.7002 -105.63 173.4 -105.63 289.1
c0 97.2002 63.7197 125.7 63.7197 125.7c61.9209 28.4004 227.96 28.7002 290.48 0c0 0 63.71 -28.5 63.71 -125.7zM357.88 143.69c0 122 5.29004 147.71 -18.4199 175.01c-25.71 28.7002 -79.7197 31 -103.83 -6.10059l-11.5996 -19.5l-11.6006 19.5
c-24.0098 36.9004 -77.9297 35 -103.83 6.10059c-23.6094 -27.1006 -18.4092 -52.9004 -18.4092 -175h46.7295v114.2c0 49.6992 64 51.5996 64 -6.90039v-62.5098h46.3301v62.5c0 58.5 64 56.5996 64 6.89941v-114.199h46.6299z" />
    <glyph glyph-name="r-project" unicode="&#xf4f7;" horiz-adv-x="581" 
d="M581 221.4c0 -54.8008 -33.9004 -104.301 -88.4004 -139.7l67.4004 -113.7h-112l-40.0996 75.4004c-21.8008 -6.5 -45.1006 -11.2002 -69.4004 -13.9004v-61.5h-99.0996v61.9004c-136.101 16.0996 -239.4 95.6992 -239.4 191.5c0 107.5 130.1 194.6 290.5 194.6
s290.5 -87.0996 290.5 -194.6zM114.2 206.9c0 -52.8008 51.0996 -98.4004 125.2 -119.9v208.3h199s90.5996 -1.59961 90.5996 -87.8994c0 -86.3008 -86.5996 -92.7002 -86.5996 -92.7002s17.5996 -5.2998 27.7998 -10.5c1.7002 -0.799805 4 -2.10059 6.39941 -3.7002
c43.8008 21.4004 70.3008 56.2998 70.3008 106.4c0 92.2998 -90 133 -211.9 133s-220.8 -59.5 -220.8 -133zM339.3 168.6c49.6006 0 87.7998 -8.19922 87.7998 28.3008c0 34.0996 -30 27.2998 -87.7998 27.2998v-55.6006zM338.4 96.0996v-22.0996
c17.5996 0.0996094 34.5 1 50.5996 2.90039c-5.09961 7.5 -13.2002 19.1992 -24 19.1992h-26.5996z" />
    <glyph glyph-name="researchgate" unicode="&#xf4f8;" 
d="M0 416h448v-448h-448v448zM262.2 81.5996v7.30078c-10 0 -20 6.89941 -27.2002 14.6992c-12.2002 13.3008 -28.5996 34.7002 -42.2002 58.9004c22.5 5.2998 39.2002 26.4004 39.2002 47.5c0 31.2002 -24.2002 45.5996 -55.9004 45.5996
c-17.7998 0 -45.0996 -1.59961 -70.8994 -0.599609v-8.09961c15.5996 -2.90039 22 -1.30078 22 -23.9004v-109.4c0 -22.5996 -6.5 -21 -22 -23.8994v-8.10059c7.5 0.200195 20.5 0.800781 33.5996 0.800781c12.5 0 28.7002 -0.5 35.6006 -0.800781v8.10059
c-19.8008 2.7002 -25.8008 0.399414 -25.8008 23.8994v46.4004c6.7002 -0.599609 12.5 -0.599609 21.4004 -0.599609c16.9004 -30.3008 33 -53 42.2002 -63.6006c16.7998 -20.2002 43.3994 -17.2002 50 -14.2002zM285.1 216.6c38.7002 0 34 29.4004 34 49.9004h-30.3994
v-10.7002h17.8994c0 -15.8994 -7.39941 -26.7998 -21.5 -26.7998c-11.2998 0 -17.8994 9.90039 -17.8994 23.2998v26.7998c0 12.4004 11.7998 19.7002 19.7002 19.7002c14.1992 0 19.6992 -12.5 19.6992 -12.5l10.7002 7.2002s-5.2002 17.9004 -30.3994 17.9004
c-25.2002 0 -34 -18.2002 -34 -30.4004v-32.2002c0 -16.5 8.89941 -32.2002 32.1992 -32.2002zM168.6 171.9c-9.39941 0 -13.5996 0.299805 -20 0.799805v69.7002c6.40039 0.599609 15 0.599609 22.5 0.599609c23.3008 0 37.2002 -12.2002 37.2002 -34.5
c0 -21.9004 -15 -36.5996 -39.7002 -36.5996z" />
    <glyph glyph-name="teamspeak" unicode="&#xf4f9;" horiz-adv-x="512" 
d="M244.2 101.21c-2.40039 -12.5 -10.6006 -20 -22.5 -24.2998c-9.2002 -3.2002 -50.1006 -1.60059 -61.7002 -1c-18 1.2998 -33.2002 8.5 -43.4004 24c-14.5 22.5 -19.5 47.7002 -14.5 73.8994c4.60059 24.5 24.6006 34.7002 46.3008 22.7002
c15.1992 -7.5 42.5 -27.3994 63.3994 -46.5996c20.4004 -18.7002 34.7998 -36.4004 32.4004 -48.7002zM449.2 80.4102c6.7002 -5.41016 11.2002 -22 11.5996 -32.1006c1 -50.3994 -23.8994 -68 -46.5996 -85.3994c-65.1006 -50 -295.101 -16.9004 -145.4 -6.40039
c127.4 9 164.101 96.1006 172.101 121.5c0.679688 2.0918 2.64941 3.60352 4.9668 3.60352c1.2666 0 2.42871 -0.452148 3.33301 -1.20312zM511.2 202.81c0 -17.1992 1.89941 -34.5996 -1 -51.6992c-4 -24.7002 -29.1006 -41.7002 -53.2002 -36.7002
c-7.2002 1.7002 -9.40039 7.2002 -9.40039 14.2002c0 28.0996 0.800781 56.3994 0 84.5996c-1.89941 75.79 -36.1992 132.79 -102.3 169.4c-111 60.3896 -253.2 -7 -277.8 -131.5c-6.09961 -30.4004 -1.7002 -48.3008 -3.7002 -125.801
c-0.299805 -7.19922 -4.2998 -11.1992 -12 -11.5c-30.7998 -1.39941 -51.7998 18.2002 -51.7998 49v20.9004l0.799805 26.4902c2.40039 15.5 10.7002 27 24.9004 34c3.5 1.7998 5.7002 3.5 6.39941 7.7998c6.10059 33.4102 19.5 64 39.3008 91.71
c2.2998 3.09961 4 5.2998 1 9.2998c-3.7002 5.40039 -1 10.2002 3 14.5c28.0996 31.7998 61.8994 55.1006 102 67.4004c96 29.4668 180.1 9.29688 252.3 -60.5098c6.7002 -6.40039 15.5 -12.9004 7 -24.4004c-1.2998 -1.7998 1.09961 -3.5 2.2002 -5
c20.0586 -27.0264 34.2529 -59.1357 40.3994 -93.5898c0.900391 -3.7002 3 -5.10059 5.90039 -6.40039c17.3994 -8.7998 25.7002 -23.2998 26 -42.2002zM351.6 71.3096l-51.5996 7.7002c-22.7998 5.90039 -51 32.7002 22.2002 60.7998
c21.5996 8.5 85.7002 37.2002 87.7998 -8c0.900391 -32 -21.9004 -63.2998 -58.4004 -60.5z" />
    <glyph glyph-name="first-order-alt" unicode="&#xf50a;" horiz-adv-x="496" 
d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM248 -48.21c132.66 0 240.21 107.55 240.21 240.21s-107.55 240.21 -240.21 240.21s-240.21 -107.55 -240.21 -240.21s107.55 -240.21 240.21 -240.21z
M248 411.71c121.34 0 219.71 -98.3701 219.71 -219.71s-98.3701 -219.71 -219.71 -219.71s-219.71 98.3701 -219.71 219.71s98.3701 219.71 219.71 219.71zM248 -19.5098c116.81 0 211.51 94.7002 211.51 211.51s-94.7002 211.51 -211.51 211.51
s-211.51 -94.6895 -211.51 -211.51s94.7002 -211.51 211.51 -211.51zM434.23 143.47c-4.46582 -17.1914 -11.3633 -33.7256 -20.1309 -48.6895l-74.1299 35.8799l61.4805 -54.8203c-10.709 -14.1553 -23.0713 -26.5469 -37.2002 -37.29l-54.7998 61.5703l35.8799 -74.2705
c-14.9385 -8.80469 -31.4502 -15.7354 -48.6299 -20.2295l-27.29 78.4697l4.79004 -82.9297c-8.61035 -1.17969 -17.4004 -1.7998 -26.3301 -1.7998s-17.7197 0.620117 -26.3301 1.7998l4.75977 82.46l-27.1494 -78.0303
c-17.1836 4.48828 -33.7021 11.4092 -48.6504 20.2002l35.9297 74.3398l-54.8701 -61.6396c-14.1318 10.7412 -26.5 23.1299 -37.2197 37.2793l61.5898 54.9004l-74.2598 -35.9297c-8.77051 14.9639 -15.6709 31.4971 -20.1396 48.6895l77.8398 27.1104l-82.2305 -4.75977
c-1.15918 8.56934 -1.7793 17.3193 -1.7793 26.21c0 9 0.629883 17.8398 1.81934 26.5098l82.3799 -4.76953l-77.9395 27.1592c4.5 17.1895 11.4307 33.7148 20.2295 48.6699l74.2207 -35.9199l-61.5205 54.8604c10.7412 14.1328 23.1299 26.501 37.2803 37.2197
l54.7598 -61.5293l-35.8301 74.1699c14.9521 8.76465 31.4717 15.6621 48.6504 20.1299l26.8701 -77.25l-4.70996 81.6094c8.60938 1.18066 17.3896 1.80078 26.3193 1.80078c8.93066 0 17.71 -0.620117 26.3203 -1.80078l-4.74023 -82.1592l27.0498 77.7598
c17.2705 -4.5 33.6006 -11.3506 48.6309 -20.1699l-35.8203 -74.1201l54.7197 61.4697c14.1426 -10.7178 26.5186 -23.0908 37.2402 -37.2295l-61.4502 -54.7705l74.1201 35.8604c8.78906 -14.9492 15.71 -31.4678 20.2002 -48.6504l-77.8105 -27.0996l82.2402 4.75
c1.19043 -8.66016 1.82031 -17.5 1.82031 -26.4902c0 -8.87988 -0.610352 -17.6299 -1.78027 -26.1904l-82.1201 4.75z" />
    <glyph glyph-name="fulcrum" unicode="&#xf50b;" horiz-adv-x="320" 
d="M95.75 283.86l-35.3799 -43.5508l-35.3701 43.5508l35.3799 43.5498zM144.23 448v-211.11l-41.0801 -44.8896l41.0801 -44.8896v-211.11l-20.5107 198.18l-51 57.8203l50.9707 57.8203zM223.9 283.86l35.3799 43.5498l35.3799 -43.5498l-35.3799 -43.5508zM175.42 236.86
v211.14l20.5801 -198.18l51 -57.8203l-51 -57.8203l-20.5801 -198.18v211.11l41.0801 44.8896z" />
    <glyph glyph-name="galactic-republic" unicode="&#xf50c;" horiz-adv-x="496" 
d="M248 -56c-136.75 0 -248 111.25 -248 248s111.25 248 248 248s248 -111.25 248 -248s-111.25 -248 -248 -248zM248 423.47c-127.63 0 -231.47 -103.84 -231.47 -231.47s103.84 -231.47 231.47 -231.47s231.47 103.84 231.47 231.47s-103.84 231.47 -231.47 231.47z
M275.62 401.66c37.6602 -4.91016 72.21 -19.7402 100.96 -41.7998l-17.3896 -17.3604c-23.9795 17.7627 -52.7207 29.9941 -83.5703 34.54v24.6201zM220.25 401.59v-24.54c-30.9697 -4.60938 -59.4502 -16.8301 -83.5195 -34.6699h-0.0800781l-17.2803 17.3604
c28.7197 22.0498 63.2402 36.9102 100.88 41.8496zM232.5 351.42h31v-82.8604c10.0498 -2.0293 19.3701 -6.00977 27.6201 -11.5l58.6699 58.6709l21.9297 -21.9307l-58.6699 -58.6699c5.46973 -8.24023 9.48047 -17.5996 11.5 -27.6201h82.8701v-31h-82.8701
c-2.03027 -10.0195 -6.04004 -19.3096 -11.5 -27.54l58.6699 -58.6895l-21.9297 -21.9307l-58.6699 58.6904c-8.25 -5.49023 -17.5703 -9.52051 -27.6201 -11.5498v-82.9004h-31v82.9004c-10.0039 2.02148 -19.4531 6.00977 -27.6699 11.4697l-58.6201 -58.6201
l-21.9297 21.9297l58.6699 58.6904c-5.45996 8.23047 -9.4502 17.5205 -11.4697 27.54h-82.9004v31h82.9004c2.01953 10.0303 6 19.3896 11.4697 27.6201l-58.6699 58.6699l21.9297 21.9297l58.6201 -58.5898c8.25 5.48047 17.6299 9.38965 27.6699 11.4199v82.8701z
M415.74 320.7c22.0996 -28.7402 36.9795 -63.3398 41.9297 -101.03h-24.6201c-4.58496 30.8906 -16.8604 59.665 -34.6699 83.6699zM80.1904 320.57l17.3896 -17.3906c-17.8301 -24.0693 -29.9902 -52.5596 -34.5898 -83.5195h-24.6504
c4.94043 37.6494 19.79 72.1895 41.8506 100.91zM38.3398 164.33l24.6504 0.00976562c4.58984 -30.9502 16.7002 -59.4502 34.5098 -83.5195l-17.3604 -17.3906c-22.0498 28.7207 -36.8799 63.2607 -41.7998 100.9zM433.04 164.33h24.6201
c-4.9502 -37.6699 -19.8506 -72.2197 -41.9297 -100.96l-17.3604 17.3604c17.8701 24.0996 30.0596 52.6094 34.6699 83.5996zM136.66 41.6201c24.0703 -17.8604 52.6094 -30.0205 83.5996 -34.6504v-24.6396c-37.6602 4.9502 -72.2295 19.8398 -100.96 41.9297z
M359.19 41.5703h0.0791016l17.3105 -17.3906c-28.75 -22.0596 -63.29 -36.9297 -100.96 -41.8496v24.5703c30.9902 4.58984 59.4795 16.8301 83.5703 34.6699z" />
    <glyph glyph-name="galactic-senate" unicode="&#xf50d;" horiz-adv-x="512" 
d="M249.86 414.52h12.2793v-26.0693c13.5801 -20.6201 23.8604 -108.59 24.4902 -215.351c-11.7402 15.6201 -19.1299 33.3301 -19.1299 48.2402v16.8799c0.0302734 5.32031 -0.75 10.5303 -2.19043 15.6504c-0.649414 2.13965 -1.38965 4.07031 -2.61914 5.82031
c-1.23047 1.73926 -3.44043 3.79004 -6.68066 3.79004c-3.25 0 -5.4502 -2.04004 -6.67969 -3.79004c-1.23047 -1.74023 -1.96973 -3.68066 -2.62012 -5.82031c-1.44043 -5.12012 -2.21973 -10.3301 -2.19043 -15.6504v-16.8799
c0 -14.9102 -7.38965 -32.6201 -19.1299 -48.2402c0.610352 106.761 10.8906 194.73 24.4707 215.351v26.0693zM223.52 266.75c-1.59961 -22.4004 -2.75 -46.5195 -3.47949 -72.0703c-23.2998 -11.2793 -40.7705 -33.1602 -46.3203 -59.5098
c-7.71973 -2.25977 -22.71 -3.91992 -40.4893 -4.21973c-7.51074 3.66016 -16.5 5.85938 -26.1807 6.04004c1.90039 14.9102 5.87012 29.1699 11.6504 42.4199c15.4395 -8.10059 30.9297 -8.66016 35.4697 -0.959961c4.57031 7.74023 -3.58984 21.04 -18.3203 30.6602
c8.68066 11.7695 18.9805 22.2998 30.5605 31.0898c9.50977 -15.5898 23.3594 -24.4404 31.3594 -19.8203c8.05078 4.65039 7.19043 21.1699 -1.70996 37.29c8.76074 3.88965 17.9404 6.92969 27.46 9.08008zM288.48 266.75
c9.45508 -2.12695 18.7754 -5.23145 27.4492 -9.08008c-8.89941 -16.1299 -9.75977 -32.6396 -1.70996 -37.29c8 -4.62012 21.8506 4.23047 31.3604 19.8203c11.5801 -8.79004 21.8799 -19.3203 30.5596 -31.0898c-14.7197 -9.61035 -22.8896 -22.9199 -18.3193 -30.6602
c4.54004 -7.7002 20.0293 -7.14062 35.4697 0.959961c5.79004 -13.25 9.75 -27.5098 11.6504 -42.4199c-9.68066 -0.19043 -18.6709 -2.37988 -26.1807 -6.04004c-17.7793 0.299805 -32.7695 1.95996 -40.4902 4.21973c-5.5498 26.3496 -23.0293 48.2305 -46.3193 59.5098
c-0.719727 25.5508 -1.87988 49.6699 -3.46973 72.0703zM256 258.15c3.23047 0 5.86035 -8.81055 6.08984 -19.9307h0.0498047v-16.8799c0 -41.4199 49.0107 -95.04 93.4902 -95.04c52 0 122.76 1.4502 156.37 -29.1699v-2.50977
c-9.41992 -17.1104 -20.5801 -33.1699 -33.1797 -47.9697c-12.5303 21.0898 -51.5898 40.96 -108.021 41.3496c-45.6797 -1.01953 -79.0195 -20.3301 -90.7598 -40.8701c-0.00976562 -0.00976562 0.00976562 -0.0400391 0 -0.0498047
c-7.66992 -2.13965 -15.8496 -3.23047 -24.04 -3.20996c-8.19043 -0.0205078 -16.3701 1.07031 -24.04 3.20996c-0.00976562 0.00976562 0.00976562 0.0400391 0 0.0498047c-11.7295 20.54 -45.0801 39.8506 -90.7598 40.8701
c-56.4307 -0.400391 -95.5 -20.2598 -108.021 -41.3496c-12.5996 14.7998 -23.7598 30.8496 -33.1797 47.9697v2.50977c33.6201 30.6201 104.37 29.1699 156.37 29.1699c44.4795 0 93.4902 53.6201 93.4902 95.04v16.8799h0.0498047
c0.229492 11.1201 2.85938 19.9307 6.08984 19.9307zM256 161.56c-22.4199 0 -40.5996 -18.1797 -40.5996 -40.5996s18.1797 -40.6504 40.5996 -40.6504s40.5996 18.2305 40.5996 40.6504s-18.1797 40.5996 -40.5996 40.5996zM256 153.92
c18.1904 0 32.96 -14.7695 32.96 -32.96s-14.7695 -32.96 -32.96 -32.96s-32.96 14.7695 -32.96 32.96s14.7695 32.96 32.96 32.96zM256 147.78c-14.8096 0 -26.8203 -12.0107 -26.8203 -26.8203s12.0107 -26.8203 26.8203 -26.8203s26.8203 12.0107 26.8203 26.8203
s-12.0107 26.8203 -26.8203 26.8203zM141.2 81.1104c18.75 -0.419922 35.1895 -4.18066 48.6094 -9.66992c12.5508 -16.0303 29.1602 -30.04 49.5801 -33.0703c0.100586 -0.00976562 0.169922 -0.0302734 0.270508 -0.0498047
c0.0498047 -0.0107422 0.109375 -0.0400391 0.160156 -0.0507812c5.23926 -1.06934 10.6396 -1.59961 16.1895 -1.59961c5.56055 0 10.9502 0.530273 16.1904 1.59961c0.0498047 0.0107422 0.109375 0.0400391 0.160156 0.0507812
c0.0996094 0.00976562 0.179688 0.0292969 0.269531 0.0498047c20.4199 3.04004 37.04 17.04 49.5801 33.0703c13.4199 5.5 29.8496 9.25 48.6104 9.66992c10.1797 -0.0800781 21.5996 -0.360352 30.5 -1.66016c-0.430664 -4.41992 -1.51074 -18.6299 -7.11035 -29.7598
c-9.11035 2.55957 -18.3604 3.89941 -27.6201 3.89941c-41.2803 -0.939453 -71.4795 -34.3496 -78.2598 -74.4697l-0.110352 -4.7002c-10.3994 -1.91992 -21.1797 -2.93945 -32.21 -2.93945c-11.0195 0 -21.8096 1.0293 -32.21 2.93945l-0.109375 4.7002
c-6.78027 40.1201 -36.9805 73.5303 -78.2607 74.4697c-9.25977 0 -18.5098 -1.33984 -27.6201 -3.89941c-5.59961 11.1299 -6.67969 25.3398 -7.10938 29.7598c8.89941 1.2998 20.3096 1.58984 30.5 1.66016z" />
    <glyph glyph-name="jedi-order" unicode="&#xf50e;" 
d="M398.5 74.4004c0 0 26.2998 16.1992 49.9004 77.6992c0 0 -17 -183.3 -222 -185.699h-4.10059c-205.1 2.39941 -222 185.699 -222 185.699c23.2002 -61.5996 49.4004 -77.6992 49.4004 -77.6992c-95.9004 122.1 -17.2002 233.1 -17.2002 233.1
c-45.4004 -85.7002 41.4004 -170.5 41.4004 -170.5c-105 171.6 60.5 271.5 60.5 271.5c-96.9004 -72.5996 10.0996 -190.7 10.0996 -190.7c-85.7998 -158.399 68.5996 -230.1 68.5996 -230.1s0.400391 16.8994 2.2002 85.7002l-34.5 -36.2002l24.2002 47.3994
l-62.5996 9.10059l62.5996 9.09961l-20.2002 55.5l31.4004 -45.8994c2.2998 87.8994 7.89941 305.899 7.89941 306.899v2.40039v-1v1v-2.40039c0.100586 -1.7998 5.7002 -219.2 7.90039 -306.899l31.4004 45.8994l-20.2002 -55.5l62.5996 -9.09961l-62.5996 -9.10059
l24.2002 -47.3994s-30.2002 31.7002 -34.5 36.2002c1.7998 -68.8008 2.19922 -85.7002 2.19922 -85.7002s154.4 71.7002 68.6006 230.1c0 0 107 118 10.0996 190.7c0 0 165.5 -100 60.5 -271.5c0 0 86.7998 84.7002 41.4004 170.5c0 0 78.7002 -111 -17.2002 -233.1z" />
    <glyph glyph-name="mandalorian" unicode="&#xf50f;" 
d="M232.27 -63.8896c-1 3.25977 -1.68945 15.8301 -1.38965 24.5801c0.549805 15.8896 1 24.7197 1.40039 28.7598c0.639648 6.2002 2.87012 20.7197 3.2793 21.3799c0.600586 1 0.400391 27.8701 -0.239258 33.1299c-0.310547 2.58008 -0.629883 11.9004 -0.69043 20.7305
c-0.129883 16.4697 -0.530273 20.1191 -2.72949 24.7598c-1.10059 2.31934 -1.23047 3.83984 -1 11.4297c0.0546875 1.30957 0.0830078 2.62695 0.0830078 3.9502c0 3.00586 -0.142578 5.82715 -0.423828 8.75977c-2 13 -3.45996 27.7002 -3.25 33.9004
s0.430664 7.14941 2.06055 9.66992c3.0498 4.70996 6.50977 14 8.62012 23.2695c2.25977 9.86035 3.87988 17.1807 4.58984 20.7402c1.1123 5.11914 2.61816 10.2246 4.41992 15.0498c2.26953 6.25 2.49023 15.3906 0.370117 15.3906
c-0.299805 0 -1.37988 -1.2207 -2.41016 -2.70996c-1.03027 -1.49023 -4.75977 -4.80078 -8.29004 -7.36035c-8.37012 -6.08008 -11.7002 -9.38965 -12.6602 -12.5801s-1 -7.22949 -0.160156 -7.75977c0.34082 -0.209961 1.29004 -2.40039 2.11035 -4.87988
c0.926758 -2.82617 1.42773 -5.84375 1.42773 -8.97754c0 -2.19824 -0.241211 -4.3252 -0.708008 -6.38281c-0.389648 -1.76953 -1 -5.46973 -1.45996 -8.22949c-0.459961 -2.76074 -1 -6.46094 -1.25 -8.2207c-0.181641 -1.55176 -0.731445 -3.01367 -1.5498 -4.25977
c-1 -1 -1.13965 -0.910156 -2.0498 0.530273c-0.724609 1.4541 -1.22656 3.07324 -1.44043 4.75c-0.25 1.73926 -1.62988 7.10938 -3.08008 11.9297c-3.2793 10.9004 -3.51953 16.1504 -1 21c0.800781 1.39648 1.38086 2.96875 1.66992 4.61035
c0 2.38965 -2.19922 5.31934 -7.40918 9.88965c-7 6.17969 -8.62988 7.91992 -10.2305 11.2998c-1.70996 3.60059 -3.05957 4.06055 -4.54004 1.54004c-1.78027 -3 -2.59961 -9.10938 -3 -22l-0.339844 -12.1895l2 -2.25c3.20996 -3.7002 12.0703 -16.4502 13.7803 -19.8301
c3.41016 -6.74023 4.33984 -11.6904 4.41016 -23.5605c0.0693359 -11.8701 0.949219 -22.75 2 -24.71c0.359375 -0.660156 0.509766 -1.34961 0.339844 -1.51953s0.410156 -2.08984 1.29004 -4.27051c1.02539 -2.84082 1.73633 -5.8916 2.05957 -9
c0.37207 -3.50684 0.950195 -6.99219 1.70996 -10.3701c2.23047 -9.55957 2.77051 -14.0801 2.39062 -20.1396c-0.200195 -3.26953 -0.530273 -11.0703 -0.730469 -17.3203c-1.30957 -41.7598 -1.84961 -58 -2 -61.21c-0.120117 -2 -0.389648 -11.5098 -0.599609 -21.0693
c-0.360352 -16.3008 -1.30078 -27.3701 -2.41992 -28.6504c-0.640625 -0.729492 -8.07031 4.91016 -12.5205 9.49023c-3.75 3.87012 -4 4.79004 -2.83008 9.9502c0.700195 3 2.25977 18.29 3.33008 32.6191c0.360352 4.78027 0.80957 10.5 1 12.7109
c0.830078 9.36914 1.66016 20.3496 2.61035 34.7793c0.55957 8.45996 1.33008 16.4404 1.71973 17.7305s0.889648 9.88965 1.12988 19.1094l0.429688 16.7705l-2.25977 4.2998c-1.71973 3.28027 -4.87012 6.94043 -13.2197 15.3398
c-6 6.07031 -11.8398 12.2998 -12.9102 13.8506l-1.9502 2.80957l0.75 10.9004c1.08984 15.71 1.10059 48.5693 0 59.0596l-0.889648 8.7002l-3.28027 4.51953c-5.85938 8.08008 -5.7998 7.75 -6.21973 33.2705c-0.100586 6.07031 -0.379883 11.5 -0.629883 12.0596
c-0.830078 1.87012 -3.0498 2.66016 -8.54004 3.05078c-8.86035 0.619141 -11 1.89941 -23.8506 14.5498c-6.14941 6 -12.3398 12 -13.75 13.1895c-2.80957 2.41992 -2.79004 2 -0.55957 9.62988l1.34961 4.65039l-1.68945 3
c-0.764648 1.42578 -1.62793 2.78223 -2.58984 4.07031c-1.33008 1.50977 -5.5 10.8896 -6 13.4893c-0.100586 0.362305 -0.154297 0.743164 -0.154297 1.13672c0 1.05469 0.385742 2.02148 1.02441 2.76367c2.22949 2.86035 3.39941 5.67969 4.44922 10.7305
c2.33008 11.1895 7.74023 26.0898 10.6006 29.2197c3.17969 3.46973 7.7002 1 9.41016 -5c1.33984 -4.79004 1.36914 -9.79004 0.0996094 -18.5498c-0.53418 -3.65918 -0.869141 -7.33594 -1 -11.1104c0 -4 0.19043 -4.69043 2.25 -7.38965
c3.33008 -4.37012 7.72949 -7.41016 15.2002 -10.5205c1.71777 -0.71582 3.30566 -1.67969 4.71973 -2.84961c11.1699 -10.7207 18.6201 -16.1807 22.9502 -16.8506c5.17969 -0.799805 8 -4.54004 10 -13.3896c1.30957 -5.65039 4 -11.1396 5.45996 -11.1396
c1.2041 0.246094 2.3418 0.729492 3.33008 1.38965c2 1.21973 2.25 1.73047 2.25 4.17969c-0.267578 6.07031 -0.943359 12.0078 -2 17.8398c-0.370117 1.66016 -0.780273 4.06055 -0.930664 5.35059c-0.149414 1.29004 -0.609375 3.84961 -1 5.68945
c-2.5498 11.1602 -3.64941 15.46 -4.09961 16c-1.5498 2 -4.08008 10.2002 -4.92969 15.9209c-1.64062 11.1094 -4 14.2295 -12.9102 17.3896c-4.92969 1.81641 -9.44238 4.50195 -13.3398 7.87988c-1.15039 1 -4 3.21973 -6.35059 5.05957
c-2.34961 1.84082 -4.40918 3.53027 -4.59961 3.76074c-0.848633 0.733398 -1.73926 1.39648 -2.69043 2c-6.23926 4.21973 -8.83984 7 -11.2598 12l-2.43945 5l-0.220703 13l-0.219727 13l6.91016 6.5498c3.9502 3.75 8.47949 7.34961 10.5898 8.42969
c3.30957 1.69043 4.4502 1.89062 11.3701 2c8.53027 0.19043 10.1201 0 11.6602 -1.55957c1.54004 -1.56055 1.35938 -6.40039 -0.290039 -8.5c-0.592773 -0.666992 -1.05273 -1.45508 -1.33984 -2.32031c0 -0.580078 -2.61035 -4.91016 -5.41992 -9
c-1.03906 -2.12988 -1.85156 -4.44727 -2.37012 -6.82031c20.4395 -13.3896 21.5498 -3.76953 14.0693 -29l11.3604 -2.51953c3.11035 8.66016 6.46973 17.2598 8.61035 26.2197c0.290039 7.62988 -12 4.19043 -15.4004 8.68066
c-2.33008 5.92969 3.12988 14.1797 6.05957 19.1992c1.60059 2.33984 6.62012 4.7002 8.82031 4.15039c0.879883 -0.219727 4.16016 0.349609 7.37012 1.28027c2.41992 0.759766 4.97461 1.33398 7.5498 1.67969c2.05957 0.222656 4.08984 0.666016 6 1.29004
c3.65039 1.11035 4.5 1.16992 6.35059 0.400391c1.85156 -0.636719 3.82324 -1.10352 5.81934 -1.36035c2.12598 -0.287109 4.17285 -0.953125 6 -1.91016c1.55078 -0.908203 3.24414 -1.64746 5 -2.16992c2.51074 -0.679688 3 -0.570312 7.05078 1.66992l4.34961 2.40039
l10.7402 0.389648c10.4395 0.400391 10.8096 0.469727 15.2598 2.67969l4.58008 2.32031l2.45996 -1.42969c1.75977 -1 3.13965 -2.73047 4.84961 -6c2.36035 -4.51074 2.37988 -4.58008 1.37012 -7.37012c-0.879883 -2.44043 -0.889648 -3.2998 -0.0996094 -6.39062
c0.526367 -2.03027 1.24219 -4.03516 2.09961 -5.90918c0.62793 -1.22852 1.08203 -2.5918 1.31055 -4c0.30957 -4.33008 0 -5.30078 -2.41016 -6.91992c-2.16992 -1.4707 -7 -7.91016 -7 -9.34082c-0.249023 -1.03906 -0.614258 -2.05762 -1.07031 -3
c-5 -11.5098 -6.75977 -13.5596 -14.2598 -17c-9.2002 -4.19922 -12.2998 -5.18945 -16.21 -5.18945c-3.10059 0 -4 -0.25 -4.54004 -1.25977c-1.17383 -1.44238 -2.53613 -2.67969 -4.08984 -3.70996c-1.82715 -1.21973 -3.32031 -2.84668 -4.37988 -4.78027
c-0.486328 -1.22852 -1.36426 -2.24707 -2.49023 -2.91016c-0.941406 -0.387695 -1.77246 -0.97168 -2.4502 -1.70996c-2.22168 -1.9502 -4.53613 -3.73047 -7 -5.37988c-3.33008 -2.33984 -6.87012 -5 -7.87012 -6c-0.666992 -0.71875 -1.47168 -1.29688 -2.37988 -1.7002
c-0.837891 -0.376953 -1.5625 -0.941406 -2.12988 -1.65039c-1.31055 -1.38965 -1.49023 -2.10938 -1.13965 -4.59961c0.310547 -2.00488 0.795898 -3.99707 1.41992 -5.87988c1.31934 -3.7998 1.30957 -7.86035 0 -10.5703
c-1.31055 -2.70996 -0.890625 -6.64941 1.34961 -9.58984c2 -2.62988 2.16016 -4.55957 0.709961 -8.83984c-0.692383 -2.67969 -1.06152 -5.48926 -1.06152 -8.38379c0 -0.183594 -0.000976562 -0.34375 0.00195312 -0.526367
c0 -4.87988 0.219727 -6.28027 1.45996 -8.37988c1.23926 -2.09961 1.81934 -2.48047 3.23926 -2.32031c2 0.230469 2.30078 1.0498 4.70996 12.1201c2.18066 10 3.70996 11.9199 13.7607 17.0801c2.93945 1.50977 7.45996 4 10 5.44043
c2.54004 1.43945 6.79004 3.68945 9.37012 4.90918c5.99512 2.625 11.1807 6.62598 15.2197 11.6709c7.10938 8.78906 10 16.2197 12.8496 33.2998c0.362305 2.81152 1.37402 5.46387 2.86035 7.72949c1.39648 2.17676 2.40332 4.6748 2.88965 7.31055
c1 5.2998 2.85059 9.08008 5.58008 11.5098c4.7002 4.17969 6 1.08984 4.58984 -10.8701c-0.459961 -3.86035 -1.09961 -10.3301 -1.43945 -14.3799l-0.610352 -7.36035l4.4502 -4.08984l4.4502 -4.08984l0.109375 -8.41992
c0.0605469 -4.62988 0.470703 -9.53027 0.919922 -10.8896l0.820312 -2.4707l-6.42969 -6.2793c-8.54004 -8.33008 -12.8799 -13.9307 -16.7598 -21.6104c-1.77051 -3.49023 -3.74023 -7.11035 -4.38086 -8c-2.17969 -3.11035 -6.45996 -13 -8.75977 -20.2598
l-2.29004 -7.2207l-7 -6.48926c-3.83008 -3.57031 -8 -7.25 -9.16992 -8.16992c-3.0498 -2.32031 -4.25977 -5.15039 -4.25977 -10c-0.00878906 -0.204102 -0.0126953 -0.40918 -0.0126953 -0.614258c0 -2.39062 0.583984 -4.65332 1.60254 -6.64648
c0.789062 -1.54785 1.49512 -3.17871 2.08984 -4.83008c0.350586 -1.05859 0.887695 -2.03809 1.57031 -2.88965c1.40039 -1.58984 1.91992 -16.1201 0.830078 -23.2197c-0.679688 -4.48047 -3.62988 -12 -4.7002 -12c-1.79004 0 -4.05957 -9.27051 -5.07031 -20.7402
c-0.179688 -2 -0.620117 -5.94043 -1 -8.7002s-1 -10 -1.34961 -16.0498c-0.770508 -12.2197 -0.19043 -18.7705 2 -23.1504c3.41016 -6.68945 0.519531 -12.6895 -11 -22.8398l-4 -3.49023l0.0703125 -5.18945c0.0546875 -3.05273 0.448242 -6.01562 1.13965 -8.87012
c4.61035 -16 4.73047 -16.9199 4.37988 -37.1299c-0.459961 -26.4004 -0.259766 -40.2705 0.629883 -44.1504c0.489258 -2.28223 0.853516 -4.63086 1.08008 -7c0.169922 -2 0.660156 -5.33008 1.08008 -7.35938c0.469727 -2.26074 0.780273 -11 0.790039 -22.7402v-19.0605
l-1.80957 -2.62988c-2.70996 -3.91016 -15.1104 -13.54 -15.4902 -12.29zM261.8 -18.7803c-0.179688 0.299805 -0.330078 6.87012 -0.330078 14.5898c0 14.0605 -0.889648 27.54 -2.25977 34.4502c-0.400391 2 -0.80957 9.7002 -0.900391 17.0605
c-0.149414 11.9297 -1.39941 24.3701 -2.63965 26.3799c-0.660156 1.06934 -3 17.6602 -3 21.2998c0 4.23047 1 6 5.28027 9.12988s4.85938 3.13965 5.47949 0.719727c0.280273 -1.09961 1.4502 -5.61914 2.60059 -10c3.92969 -15.1191 4.13965 -16.2695 4.0498 -21.7393
c-0.0996094 -5.78027 -0.129883 -6.12988 -1.74023 -17.7305c-1 -7.07031 -1.16992 -12.3896 -1 -28.4297c0.169922 -19.4004 -0.639648 -35.7305 -2 -41.2705c-0.709961 -2.7793 -2.7998 -5.47949 -3.42969 -4.42969zM190.8 18.7998
c-0.761719 3.52051 -1.3457 7.14453 -1.72949 10.79c-0.382812 3.64648 -0.967773 7.27051 -1.73047 10.79c-0.513672 2.0957 -0.854492 4.27344 -1 6.49023c-0.30957 3.18945 -0.910156 7.45996 -1.33008 9.47949c-1 4.79004 -3.34961 19.3506 -3.41992 21.0703
c0 0.740234 -0.339844 4.0498 -0.700195 7.36035c-0.669922 6.20996 -0.839844 27.6699 -0.219727 28.29c1 1 6.62988 -2.76074 11.3301 -7.43066l5.28027 -5.25l-0.450195 -6.46973c-0.25 -3.55957 -0.599609 -10.2295 -0.780273 -14.8301
c-0.179688 -4.59961 -0.490234 -9.87012 -0.669922 -11.71s-0.610352 -9.36035 -0.939453 -16.7197c-0.790039 -17.4102 -1.94043 -31.29 -2.65039 -32c-0.113281 -0.119141 -0.273438 -0.194336 -0.450195 -0.194336c-0.239258 0 -0.446289 0.135742 -0.549805 0.333984
h0.00976562zM103.62 285.39c21.0703 -12.79 17.8398 -14.1494 28.4902 -17.6592c13 -4.29004 18.8701 -7.13086 23.1494 -16.8701c-43.6602 -36.1406 -69.0098 -57.8604 -76.71 -70.8604c-31 -52 -6 -101.59 62.75 -87.21c-14.1797 -29.2305 -78 -28.6299 -98.6797 4.90039
c-24.6797 39.9492 -22.0898 118.3 61 187.659v0.0400391zM314.41 106.39c56.6602 -6.87988 82.3203 37.7402 46.54 89.2305c0 0 -26.8701 29.3398 -64.2803 68c3 15.4502 9.49023 32.1201 30.5703 53.8203c89.2002 -63.5107 92 -141.61 92.46 -149.36
c4.2998 -70.6396 -78.7002 -91.1797 -105.29 -61.71v0.0195312z" />
    <glyph glyph-name="old-republic" unicode="&#xf510;" horiz-adv-x="496" 
d="M235.76 437.77c7.5 0.310547 15 0.280273 22.5 0.0908203c3.61035 -0.140625 7.2002 -0.400391 10.79 -0.730469c4.91992 -0.269531 9.79004 -1.03027 14.6699 -1.62012c2.93066 -0.429688 5.83008 -0.979492 8.75 -1.45996
c7.90039 -1.33008 15.6699 -3.28027 23.3906 -5.39941c12.2393 -3.4707 24.1895 -7.91992 35.7598 -13.21c26.5596 -12.2402 50.9395 -29.21 71.6299 -49.8809c20.0303 -20.0898 36.7197 -43.5498 48.8896 -69.1895c1.12988 -2.58984 2.44043 -5.10059 3.4707 -7.74023
c2.80957 -6.42969 5.38965 -12.9697 7.58008 -19.6299c4.13965 -12.3301 7.33984 -24.9902 9.41992 -37.8301c0.569336 -3.13965 1.04004 -6.2998 1.39941 -9.46973c0.549805 -3.83008 0.94043 -7.69043 1.18066 -11.5605
c0.829102 -8.33984 0.839844 -16.7295 0.769531 -25.0996c-0.0703125 -4.96973 -0.259766 -9.94043 -0.75 -14.8896c-0.240234 -3.38086 -0.509766 -6.76074 -0.979492 -10.1201c-0.390625 -2.7207 -0.630859 -5.45996 -1.11035 -8.16992
c-0.900391 -5.15039 -1.7002 -10.3105 -2.87012 -15.4102c-4.09961 -18.5 -10.2998 -36.5498 -18.5098 -53.6299c-15.7705 -32.8301 -38.8301 -62.1699 -67.1201 -85.1201c-17.2012 -14.0635 -36.3066 -25.8115 -56.9102 -34.8604
c-6.20996 -2.67969 -12.46 -5.25 -18.8701 -7.41016c-3.50977 -1.16016 -7.00977 -2.37988 -10.5703 -3.38965c-6.61914 -1.87988 -13.2891 -3.63965 -20.0391 -5c-4.66016 -0.910156 -9.34082 -1.73047 -14.0303 -2.48047c-5.25 -0.65918 -10.5 -1.43945 -15.79 -1.73926
c-6.69043 -0.660156 -13.4102 -0.839844 -20.1201 -0.810547c-6.82031 -0.0292969 -13.6504 0.120117 -20.4502 0.790039c-3.29004 0.230469 -6.57031 0.5 -9.83008 0.950195c-2.71973 0.389648 -5.45996 0.629883 -8.16992 1.11035
c-4.12012 0.719727 -8.25 1.37012 -12.3496 2.21973c-4.25 0.939453 -8.49023 1.88965 -12.6904 3.01953c-8.62988 2.16992 -17.0801 5.01074 -25.4102 8.13086c-10.4893 4.11914 -20.79 8.75 -30.6396 14.25c-2.13965 1.14941 -4.28027 2.28906 -6.34961 3.56934
c-11.2207 6.58008 -21.8604 14.1006 -31.9199 22.3398c-34.6807 28.4102 -61.4102 66.4307 -76.3506 108.7c-3.08984 8.74023 -5.70996 17.6504 -7.7998 26.6797c-1.48047 6.16016 -2.52051 12.4209 -3.58008 18.6602
c-0.400391 2.35059 -0.610352 4.73047 -0.950195 7.08984c-0.599609 3.96094 -0.75 7.96094 -1.16992 11.9404c-0.799805 9.46973 -0.709961 18.9902 -0.509766 28.4902c0.139648 3.50977 0.339844 7.00977 0.700195 10.5098
c0.30957 3.16992 0.459961 6.37012 0.919922 9.52051c0.410156 2.80957 0.649414 5.64941 1.16016 8.43945c0.699219 3.94043 1.2998 7.90039 2.11914 11.8203c3.43066 16.5195 8.4707 32.7295 15.2607 48.1797c1.14941 2.91992 2.58984 5.71973 3.85938 8.58984
c8.05078 16.71 17.9004 32.5605 29.4902 47.0605c20 25.3799 45.1006 46.6797 73.2705 62.4697c7.5 4.15039 15.1592 8.0498 23.0693 11.3701c15.8203 6.87988 32.4102 11.9502 49.3105 15.3799c3.50977 0.669922 7.04004 1.24023 10.5596 1.84961
c2.62012 0.470703 5.28027 0.700195 7.91016 1.08008c3.53027 0.530273 7.09961 0.680664 10.6504 1.04004c2.45996 0.240234 4.90918 0.360352 7.35938 0.509766zM244.4 413.36c-9.23047 -0.100586 -18.4307 -0.990234 -27.5703 -2.23047
c-7.2998 -1.08008 -14.5303 -2.59961 -21.71 -4.2998c-13.9102 -3.5 -27.4805 -8.33984 -40.46 -14.4199c-10.46 -4.99023 -20.5898 -10.7002 -30.1797 -17.2197c-4.18066 -2.9209 -8.40039 -5.80078 -12.3408 -9.03027
c-5.08008 -3.96973 -9.97949 -8.16992 -14.6797 -12.5898c-2.50977 -2.24023 -4.80957 -4.7002 -7.21973 -7.06055c-28.2207 -28.79 -48.4404 -65.3896 -57.5 -104.689c-2.04004 -8.44043 -3.54004 -17.0205 -4.44043 -25.6504
c-1.09961 -8.88965 -1.43945 -17.8496 -1.41016 -26.7998c0.110352 -7.13965 0.379883 -14.2803 1.2207 -21.3701c0.620117 -7.12012 1.87012 -14.1602 3.19922 -21.1797c1.07031 -4.65039 2.03027 -9.32031 3.33008 -13.9102
c6.29004 -23.3799 16.5 -45.7002 30.0703 -65.75c8.63965 -12.9805 18.7803 -24.9297 29.9805 -35.7705c16.2793 -15.8193 35.0498 -29.04 55.3398 -39.2197c7.2793 -3.51953 14.6602 -6.87012 22.2695 -9.62988c5.04004 -1.75977 10.0605 -3.57031 15.2197 -4.98047
c11.2607 -3.22949 22.7705 -5.59961 34.3906 -7.05957c2.91016 -0.290039 5.80957 -0.610352 8.71973 -0.900391c13.8203 -1.08008 27.7402 -1 41.54 0.430664c4.4502 0.599609 8.91992 0.989258 13.3496 1.7793c3.63086 0.670898 7.28027 1.25 10.8701 2.10059
c4.12988 0.979492 8.28027 1.91016 12.3604 3.07031c26.5 7.33984 51.5801 19.71 73.5801 36.1992c15.7803 11.8203 29.96 25.7607 42.1201 41.2803c3.25977 4.02051 6.16992 8.30957 9.12988 12.5498c3.38965 5.06055 6.58008 10.25 9.59961 15.54
c2.40039 4.44043 4.74023 8.91016 6.9502 13.4502c5.69043 12.0498 10.2803 24.6201 13.75 37.4902c2.58984 10.0098 4.75 20.1602 5.90039 30.4502c1.76953 13.4697 1.93945 27.0996 1.29004 40.6494c-0.290039 3.89062 -0.669922 7.77051 -1 11.6602
c-2.23047 19.0801 -6.79004 37.9102 -13.8203 55.7998c-5.9502 15.1299 -13.5303 29.6299 -22.6104 43.1299c-12.6895 18.8008 -28.2393 35.6807 -45.9697 49.8301c-25.0498 20 -54.4697 34.5498 -85.6504 42.0801c-7.7793 1.92969 -15.6895 3.33984 -23.6299 4.4502
c-3.90918 0.589844 -7.84961 0.820312 -11.7695 1.24023c-7.38965 0.569336 -14.8105 0.719727 -22.2197 0.580078zM139.26 364.47c13.2998 8.89062 28.0801 15.3799 43.2998 20.1807c-3.16992 -1.77051 -6.43945 -3.38086 -9.5293 -5.29004
c-11.21 -6.68066 -21.5205 -14.9004 -30.3799 -24.4902c-6.80078 -7.42969 -12.7607 -15.7305 -17.0107 -24.8896c-3.29004 -6.86035 -5.63965 -14.1904 -6.85938 -21.7109c-0.930664 -4.84961 -1.2998 -9.80957 -1.16992 -14.75
c0.129883 -13.6592 4.43945 -27.0791 11.29 -38.8193c5.91992 -10.2197 13.6299 -19.3301 22.3594 -27.2598c4.85059 -4.36035 10.2402 -8.09082 14.9502 -12.6006c2.25977 -2.18945 4.49023 -4.41992 6.42969 -6.91016c2.62012 -3.30957 4.89062 -6.98926 5.99023 -11.0996
c0.900391 -3.02051 0.660156 -6.2002 0.69043 -9.31055c0.0195312 -4.09961 -0.0400391 -8.19922 0.0292969 -12.2998c0.140625 -3.54004 -0.0195312 -7.08984 0.110352 -10.6299c0.0800781 -2.37988 0.0205078 -4.75977 0.0498047 -7.13965
c0.160156 -5.77051 0.0605469 -11.5303 0.150391 -17.2998c0.109375 -2.91016 0.0195312 -5.82031 0.129883 -8.74023c0.0302734 -1.62988 0.129883 -3.28027 -0.0302734 -4.91016c-0.910156 -0.120117 -1.81934 -0.179688 -2.72949 -0.160156
c-10.9902 0 -21.8799 2.62988 -31.9502 6.92969c-6 2.7002 -11.8105 5.89062 -17.0898 9.83008c-5.75 4.19043 -11.0898 8.95996 -15.79 14.3105c-6.53027 7.24023 -11.9805 15.3896 -16.6201 23.9502c-1.07031 2.0293 -2.24023 4.01953 -3.17969 6.12012
c-1.16016 2.63965 -2.62012 5.13965 -3.66992 7.81934c-4.05078 9.68066 -6.57031 19.9404 -8.08008 30.3105c-0.490234 4.43945 -1.09082 8.87988 -1.2002 13.3496c-0.700195 15.7305 0.839844 31.5498 4.66992 46.8203c2.12012 8.14941 4.76953 16.1797 8.30957 23.8301
c6.32031 14.1992 15.3398 27.1797 26.3008 38.1895c6.2793 6.2002 13.1299 11.8398 20.5293 16.6699zM314.63 384.59c2.74023 -0.740234 5.41016 -1.74023 8.08984 -2.67969c6.36035 -2.33008 12.6807 -4.83984 18.71 -7.95996
c13.1104 -6.44043 25.3105 -14.8105 35.8203 -24.9697c10.2002 -9.9502 18.7402 -21.6006 25.1396 -34.3408c1.28027 -2.75 2.64062 -5.45996 3.81055 -8.25977c6.30957 -15.0996 10 -31.2598 11.2295 -47.5703c0.410156 -4.54004 0.44043 -9.08984 0.450195 -13.6396
c0.0703125 -11.6396 -1.49023 -23.25 -4.2998 -34.5303c-1.96973 -7.26953 -4.34961 -14.4893 -7.86035 -21.1797c-3.17969 -6.63965 -6.67969 -13.1602 -10.8398 -19.2402c-6.93945 -10.4697 -15.5996 -19.8701 -25.8203 -27.2197
c-10.4795 -7.63965 -22.6396 -13.0195 -35.3994 -15.3799c-3.50977 -0.69043 -7.08008 -1.08008 -10.6602 -1.20996c-1.84961 -0.0605469 -3.71973 -0.160156 -5.55957 0.0996094c-0.280273 2.15039 0 4.31055 -0.0107422 6.45996
c-0.0292969 3.73047 0.140625 7.4502 0.100586 11.1699c0.189453 7.02051 0.0195312 14.0508 0.209961 21.0703c0.0292969 2.37988 -0.0302734 4.75977 0.0292969 7.13965c0.170898 5.07031 -0.0390625 10.1406 0.140625 15.21
c0.0996094 2.99023 -0.240234 6.04004 0.509766 8.95996c0.660156 2.5 1.78027 4.86035 3.08984 7.08008c4.45996 7.31055 11.0605 12.96 17.6807 18.2607c5.37988 4.17969 10.4697 8.76953 15.0195 13.8398c7.67969 8.37012 14.1699 17.8799 18.7803 28.2695
c2.5 5.93066 4.51953 12.1006 5.5498 18.46c0.860352 4.37012 1.05957 8.83008 1.00977 13.2705c-0.0195312 7.84961 -1.39941 15.6494 -3.63965 23.1699c-1.75 5.72949 -4.27051 11.1797 -7.08984 16.4502c-3.87012 6.92969 -8.65039 13.3096 -13.96 19.1992
c-9.94043 10.8506 -21.75 19.9404 -34.6006 27.1006c-1.84961 1.01953 -3.83984 1.82031 -5.62988 2.96973zM213.83 326.14c0.979492 1.18066 1.99023 2.33008 3.12012 3.37988c-0.610352 -0.929688 -1.27051 -1.80957 -1.9502 -2.67969
c-3.09961 -3.87988 -5.54004 -8.30957 -7.03027 -13.0596c-0.870117 -3.27051 -1.67969 -6.60059 -1.72949 -10c-0.0703125 -2.52051 -0.0800781 -5.07031 0.319336 -7.57031c1.13086 -7.62988 4.33008 -14.8496 8.77051 -21.1201c2 -2.7002 4.25 -5.26953 6.91992 -7.33008
c1.62012 -1.26953 3.53027 -2.08984 5.33984 -3.0498c3.11035 -1.67969 6.32031 -3.22949 9.07031 -5.47949c2.66992 -2.09082 4.5498 -5.33008 4.39941 -8.79004c-0.00976562 -73.6709 0 -147.341 -0.00976562 -221.021c0 -1.34961 -0.0800781 -2.7002 0.0400391 -4.04004
c0.129883 -1.47949 0.820312 -2.83008 1.46973 -4.14941c0.860352 -1.66016 1.78027 -3.34082 3.18066 -4.62012c0.849609 -0.770508 1.96973 -1.40039 3.14941 -1.24023c1.5 0.200195 2.66016 1.34961 3.4502 2.57031c0.959961 1.50977 1.67969 3.15918 2.28027 4.84961
c0.759766 2.12988 0.439453 4.41992 0.540039 6.62988c0.139648 4.03027 -0.0205078 8.06055 0.139648 12.0898c0.0302734 5.89062 0.0302734 11.7705 0.0605469 17.6602c0.139648 3.62012 0.0292969 7.24023 0.109375 10.8604
c0.150391 4.0293 -0.0195312 8.05957 0.140625 12.0898c0.0292969 5.99023 0.0292969 11.9795 0.0693359 17.9697c0.140625 3.62012 0.0205078 7.24023 0.110352 10.8604c0.139648 3.92969 -0.0205078 7.85938 0.139648 11.7803
c0.0302734 5.98926 0.0302734 11.9795 0.0605469 17.9697c0.160156 3.93945 -0.00976562 7.87988 0.189453 11.8193c0.290039 -1.43945 0.129883 -2.91992 0.220703 -4.37988c0.189453 -3.60938 0.419922 -7.22949 0.759766 -10.8398
c0.320312 -3.43945 0.439453 -6.88965 0.859375 -10.3193c0.370117 -3.10059 0.510742 -6.2207 0.950195 -9.31055c0.570312 -4.08984 0.870117 -8.20996 1.54004 -12.29c1.45996 -9.04004 2.83008 -18.1104 5.08984 -26.9902c1.13086 -4.81934 2.40039 -9.60938 4 -14.2998
c2.54004 -7.89941 5.7207 -15.6699 10.3105 -22.6201c1.72949 -2.63965 3.87012 -4.97949 6.09961 -7.20996c0.270508 -0.25 0.549805 -0.509766 0.879883 -0.709961c0.600586 -0.25 1.31055 0.0703125 1.7002 0.570312c0.709961 0.879883 1.16992 1.93945 1.7002 2.92969
c4.0498 7.7998 8.17969 15.5605 12.3398 23.3105c0.700195 1.30957 1.44043 2.62012 2.56055 3.60938c1.75 1.57031 3.83984 2.69043 5.97949 3.62988c2.87988 1.2207 5.90039 2.19043 9.03027 2.41992c6.58008 0.620117 13.1094 -0.75 19.5596 -1.84961
c3.69043 -0.580078 7.40039 -1.16992 11.1299 -1.41016c3.74023 -0.0996094 7.48047 -0.0498047 11.21 0.280273c8.55078 0.919922 16.9902 2.95996 24.9404 6.25c5.2998 2.24023 10.46 4.83008 15.3096 7.92969c11.46 7.20996 21.46 16.5703 30.04 27.0107
c1.16992 1.41992 2.25 2.89941 3.45996 4.2793c-1.19922 -3.24023 -2.66992 -6.37012 -4.15918 -9.47949c-1.25 -2.90039 -2.84082 -5.61035 -4.27051 -8.41992c-5.16016 -9.62988 -11.0195 -18.9102 -17.75 -27.5205
c-4.03027 -5.20996 -8.53027 -10.0498 -13.3301 -14.5703c-6.63965 -6.0498 -14.0703 -11.3691 -22.4297 -14.7598c-8.20996 -3.37012 -17.3105 -4.62988 -26.0898 -3.29004c-3.56055 0.580078 -7.01074 1.69043 -10.4102 2.87988
c-2.79004 0.970703 -5.39062 2.38086 -8.03027 3.69043c-3.42969 1.70996 -6.63965 3.80957 -9.70996 6.08008c2.70996 -3.06055 5.69043 -5.86035 8.7002 -8.61035c4.26953 -3.75977 8.74023 -7.30957 13.6299 -10.2295c3.98047 -2.4502 8.29004 -4.40039 12.8398 -5.51074
c1.45996 -0.369141 2.95996 -0.459961 4.4502 -0.599609c-1.25 -1.09961 -2.62988 -2.04004 -3.99023 -2.97949c-9.60938 -6.54004 -20.0098 -11.8604 -30.6895 -16.4307c-20.8604 -8.7002 -43.1699 -13.9697 -65.7402 -15.3398
c-4.66016 -0.240234 -9.32031 -0.360352 -13.9805 -0.360352c-4.97949 0.110352 -9.96973 0.130859 -14.9199 0.650391c-11.2002 0.759766 -22.29 2.73047 -33.1699 5.42969c-10.3496 2.70996 -20.5498 6.12012 -30.2998 10.5508
c-8.70996 3.85938 -17.1201 8.41992 -24.9902 13.79c-1.83008 1.30957 -3.74023 2.5293 -5.37012 4.0791c6.60059 1.19043 13.0303 3.39062 18.9902 6.48047c5.74023 2.86035 10.9902 6.66016 15.6299 11.0703c2.24023 2.18945 4.29004 4.58984 6.19043 7.08984
c-3.43066 -2.12988 -6.93066 -4.15039 -10.6201 -5.78027c-4.41016 -2.16016 -9.07031 -3.76953 -13.8105 -5.01953c-5.72949 -1.52051 -11.7393 -1.73047 -17.6094 -1.14062c-8.12988 0.950195 -15.8604 4.27051 -22.5098 8.98047
c-4.32031 2.93945 -8.2207 6.42969 -11.96 10.0596c-9.93066 10.1602 -18.2002 21.8105 -25.6602 33.8604c-3.94043 6.26953 -7.53027 12.75 -11.1201 19.2197c-1.0498 2.04004 -2.15039 4.0498 -3.17969 6.10059c2.84961 -2.9209 5.56934 -5.9707 8.42969 -8.88086
c8.99023 -8.96973 18.5596 -17.4395 29.1602 -24.4795c7.5498 -4.90039 15.6699 -9.23047 24.5596 -11.0303c3.11035 -0.729492 6.32031 -0.469727 9.46973 -0.80957c2.77051 -0.280273 5.56055 -0.200195 8.34082 -0.299805
c5.0498 -0.0605469 10.1094 -0.0400391 15.1592 0.15918c3.65039 0.160156 7.27051 0.660156 10.8906 1.09082c2.06934 0.25 4.10938 0.709961 6.13965 1.19922c3.87988 0.950195 8.11035 0.959961 11.8301 -0.609375c4.75977 -1.85059 8.44043 -5.64062 11.3799 -9.70996
c2.16016 -3.02051 4.06055 -6.2207 5.66016 -9.58008c1.16016 -2.43066 2.45996 -4.79004 3.5498 -7.26074c1 -2.23926 2.15039 -4.41992 3.41992 -6.51953c0.669922 -1.01953 1.40039 -2.15039 2.62012 -2.5498c1.06055 0.75 1.70996 1.91016 2.28027 3.03027
c2.09961 4.15918 3.41992 8.64941 4.88965 13.0498c2.02051 6.58984 3.78027 13.2695 5.19043 20.0195c2.20996 9.25 3.25 18.7197 4.54004 28.1299c0.55957 3.98047 0.830078 7.99023 1.30957 11.9707c0.870117 10.6396 1.90039 21.2695 2.24023 31.9395
c0.0800781 1.86035 0.240234 3.70996 0.25 5.57031c0.00976562 4.34961 0.25 8.68945 0.219727 13.0303c-0.00976562 2.37988 -0.00976562 4.75977 0 7.12988c0.0498047 5.06934 -0.200195 10.1396 -0.219727 15.21c-0.200195 6.60938 -0.709961 13.2002 -1.29004 19.7793
c-0.730469 5.88086 -1.5498 11.7803 -3.12012 17.5107c-2.0498 7.75 -5.58984 15.0293 -9.7998 21.8193c-3.16016 5.07031 -6.79004 9.87988 -11.0898 14.0303c-3.87988 3.86035 -8.58008 7.08008 -13.9404 8.4502c-1.5 0.410156 -3.05957 0.450195 -4.58984 0.639648
c0.0703125 2.99023 0.700195 5.93066 1.25977 8.85059c1.58984 7.70996 3.7998 15.2998 6.76074 22.5996c1.51953 4.03027 3.40918 7.90039 5.38965 11.7197c3.4502 6.56055 7.62012 12.79 12.46 18.46zM245.1 324.44
c0.350586 0.0595703 0.709961 0.119141 1.07031 0.189453c0.19043 -1.79004 0.0898438 -3.58008 0.0996094 -5.37012v-38.1299c-0.00976562 -1.74023 0.130859 -3.49023 -0.149414 -5.21973c-0.360352 0.0302734 -0.709961 0.0498047 -1.06055 0.0498047
c-0.949219 3.75 -1.71973 7.5498 -2.61914 11.3096c-0.380859 1.53027 -0.580078 3.09082 -1.07031 4.59082c-1.7002 0.239258 -3.42969 0.169922 -5.15039 0.199219c-5.05957 0.0107422 -10.1299 0 -15.1895 0.0107422
c-1.66016 0.00976562 -3.32031 -0.0898438 -4.98047 0.0292969c-0.0302734 0.390625 -0.259766 0.910156 0.160156 1.18066c1.28027 0.649414 2.71973 0.879883 4.05957 1.34961c3.43066 1.13965 6.88086 2.16016 10.3105 3.31055
c1.38965 0.479492 2.90039 0.719727 4.16016 1.54004c0.0400391 0.55957 0.0195312 1.12988 -0.0498047 1.67969c-1.23047 0.549805 -2.53027 0.870117 -3.81055 1.28027c-3.12988 1.0293 -6.29004 1.95996 -9.41016 3.01953c-1.79004 0.620117 -3.66992 1 -5.41016 1.79004
c-0.0292969 0.370117 -0.0693359 0.730469 -0.109375 1.08984c5.08984 0.19043 10.2002 -0.0595703 15.2998 0.120117c3.36035 0.129883 6.73047 -0.0800781 10.0898 0.0703125c0.120117 0.389648 0.259766 0.769531 0.370117 1.16016
c1.08008 4.93945 2.33008 9.8291 3.38965 14.75zM251.07 324.64c0.359375 -0.0498047 0.719727 -0.120117 1.08008 -0.199219c0.979492 -3.85059 1.72949 -7.76074 2.70996 -11.6104c0.359375 -1.41992 0.55957 -2.87988 1.0293 -4.27051
c2.53027 -0.179688 5.07031 0.0107422 7.61035 -0.0498047c5.16016 -0.120117 10.3301 -0.120117 15.4902 -0.0693359c0.759766 0.00976562 1.51953 -0.0302734 2.2793 -0.0800781c-0.0390625 -0.360352 -0.0693359 -0.720703 -0.0996094 -1.08008
c-1.82031 -0.830078 -3.78027 -1.25 -5.66992 -1.89062c-3.73047 -1.22949 -7.48047 -2.38965 -11.2197 -3.56934c-0.570312 -0.169922 -1.12012 -0.419922 -1.66992 -0.640625c-0.150391 -0.549805 -0.180664 -1.12012 -0.120117 -1.68945
c0.870117 -0.480469 1.81934 -0.810547 2.76953 -1.08984c4.87988 -1.52051 9.73047 -3.14062 14.6299 -4.60059c0.379883 -0.129883 0.780273 -0.269531 1.12988 -0.490234c0.400391 -0.269531 0.230469 -0.790039 0.150391 -1.17969
c-1.66016 -0.129883 -3.30957 -0.0302734 -4.96973 -0.0400391c-5.16992 -0.00976562 -10.3301 0.00976562 -15.5 -0.00976562c-1.61035 -0.0302734 -3.21973 0.0195312 -4.82031 -0.209961c-0.519531 -1.66992 -0.719727 -3.41992 -1.16992 -5.11035
c-0.94043 -3.56934 -1.51953 -7.24023 -2.54004 -10.7793c-0.360352 -0.0107422 -0.709961 -0.0205078 -1.05957 -0.0605469c-0.290039 1.73047 -0.150391 3.48047 -0.150391 5.21973v38.1299c0.0205078 1.78027 -0.0800781 3.58008 0.110352 5.37012zM65.0498 279.67
c1.12012 2.15039 2.08008 4.40039 3.37012 6.45996c-1.82031 -7.55957 -2.91016 -15.2695 -3.62012 -23c-0.799805 -7.70996 -0.849609 -15.4902 -0.540039 -23.2295c1.0498 -19.9404 5.54004 -39.8301 14.2305 -57.8809c2.99023 -5.98926 6.34961 -11.8291 10.5 -17.1094
c6.12012 -7.46973 12.5293 -14.7598 19.8398 -21.0898c4.7998 -4.10059 9.99023 -7.78027 15.54 -10.8008c3.26953 -1.64941 6.50977 -3.38965 9.93945 -4.67969c5.01074 -2.03027 10.1904 -3.60938 15.4209 -4.93945c3.8291 -0.959961 7.7793 -1.41016 11.5195 -2.70996
c5 -1.57031 9.46973 -4.61035 13.0303 -8.43066c4.92969 -5.22949 8.08984 -11.8701 10.2002 -18.6699c0.989258 -2.89941 1.58984 -5.91016 2.16992 -8.91992c0.149414 -0.75 0.219727 -1.51953 0.15918 -2.29004c-6.5 -2.78027 -13.2598 -5.05957 -20.2598 -6.17969
c-4.10938 -0.780273 -8.29004 -0.990234 -12.46 -1.08008c-10.25 -0.240234 -20.4697 1.75977 -30.1201 5.12012c-3.73926 1.41992 -7.48926 2.84961 -11.0293 4.71973c-8.06055 3.83984 -15.6406 8.7002 -22.46 14.46c-2.9209 2.5498 -5.83008 5.12988 -8.40039 8.03027
c-9.16016 9.83008 -16.2998 21.4102 -21.79 33.6494c-2.38965 5.55078 -4.61035 11.1807 -6.37012 16.96c-1.16992 3.94043 -2.36035 7.89062 -3.25977 11.9102c-0.75 2.94043 -1.21973 5.9502 -1.87012 8.91992c-0.459961 2.14062 -0.69043 4.32031 -1.03027 6.48047
c-0.849609 5.42969 -1.2793 10.9297 -1.33008 16.4297c0.110352 6.18066 0.25 12.3701 1.07031 18.5c0.400391 2.86035 0.669922 5.74023 1.15039 8.60059c0.979492 5.69922 2.13965 11.3691 3.70996 16.9297c3.08984 11.6504 7.47949 22.9502 12.6895 33.8398z
M428.78 286.11c1.09961 -1.66016 1.91016 -3.48047 2.7793 -5.26074c2.10059 -4.44922 4.24023 -8.89941 6.02051 -13.4893c7.61035 -18.7607 12.2998 -38.79 13.04 -59.0508c0.0195312 -1.75977 0.0703125 -3.51953 0.110352 -5.29004
c0.129883 -9.56934 -1.27051 -19.0898 -3.18066 -28.4492c-0.729492 -3.58984 -1.54004 -7.16992 -2.58008 -10.6904c-4.04004 -14.7197 -10 -29 -18.4102 -41.7803c-8.20996 -12.5693 -19.0098 -23.5498 -31.8398 -31.4092
c-5.72949 -3.59082 -11.79 -6.64062 -18.0498 -9.19043c-5.78027 -2.19043 -11.71 -4.03027 -17.7998 -5.11035c-6.40039 -1.0498 -12.9102 -1.51953 -19.4004 -1.22949c-7.91992 0.479492 -15.7793 2.07031 -23.21 4.84961
c-1.93945 0.799805 -3.93945 1.45996 -5.83984 2.33008c-0.209961 1.50977 0.25 2.99023 0.530273 4.45996c1.16016 5.74023 3.03027 11.3604 5.7002 16.5801c2.36914 4.50977 5.51953 8.65039 9.45996 11.9004c2.42969 2.0498 5.23926 3.60938 8.15918 4.83008
c3.58008 1.5 7.4707 1.96973 11.2402 2.83008c7.23047 1.70996 14.3701 3.92969 21.1504 7c10.3496 4.64941 19.71 11.3799 27.6494 19.46c1.59082 1.60938 3.23047 3.17969 4.74023 4.86914c3.37012 3.76074 6.70996 7.57031 9.85059 11.5303
c7.47949 10.0703 12.8193 21.5898 16.71 33.4805c1.58008 5.2998 3.20996 10.5996 4.20996 16.0498c0.629883 2.87012 1.04004 5.78027 1.51953 8.67969c0.870117 6.08984 1.58984 12.2207 1.67969 18.3799c0.120117 6.65039 0.140625 13.3203 -0.529297 19.9404
c-0.730469 7.99023 -1.87012 15.96 -3.70996 23.7803z" />
    <glyph glyph-name="phoenix-squadron" unicode="&#xf511;" horiz-adv-x="512" 
d="M96 384.62c46.4902 36.1299 105.55 56.0703 164.51 54.5703c29.5801 0.379883 59.1104 -5.37012 86.9102 -15.3301c-24.1299 4.62988 -49 6.33984 -73.3799 2.44922c-42.8701 -5.30957 -83.04 -27.1494 -111.83 -59.1797c5.66992 1 10.7803 3.66992 16 5.86035
c18.1396 7.87012 37.4902 13.2598 57.2305 14.8301c19.7393 2.12988 39.6396 0.429688 59.2793 -1.91992c-14.4199 -2.79004 -29.1201 -4.57031 -43 -9.59082c-34.4297 -11.0693 -65.2695 -33.1592 -86.2998 -62.6299c-13.7998 -19.71 -23.6299 -42.8594 -24.6699 -67.1299
c-0.349609 -16.4902 5.21973 -34.8096 19.8301 -44c8.0293 -4.85254 17.4395 -7.64648 27.498 -7.64648c3.4209 0 6.7793 0.289062 10.0215 0.90625c15.4502 2.45996 30.0703 8.64062 43.6006 16.3301c11.5195 6.82031 22.6699 14.5508 32 24.25
c3.79004 3.2207 2.53027 8.4502 2.62012 12.79c-2.12012 0.339844 -4.37988 1.11035 -6.30078 -0.299805c-11.2676 -6.17773 -23.3838 -11.3975 -35.8193 -15.3701c-20 -6.16992 -42.1602 -8.45996 -62.1006 -0.779297c12.79 -1.73047 26.0605 -0.310547 37.7402 5.43945
c20.2305 9.71973 36.8105 25.2002 54.4404 38.7705c27.625 21.2686 57.3311 39.7881 88.8994 55.3096c25.71 12 52.9404 22.7803 81.5703 24.1201c-15.6299 -13.7197 -32.1504 -26.5205 -46.7803 -41.3799c-14.5098 -14 -27.46 -29.5 -40.1094 -45.1807
c-3.52051 -4.59961 -8.9502 -6.93945 -13.5801 -10.1592c-22.333 -15.0176 -40.1992 -35.627 -51.8906 -60.1006c-9.33008 -19.6797 -14.5 -41.8496 -11.7695 -63.6494c1.93945 -13.6904 8.70996 -27.5908 20.8994 -34.9102c12.9004 -8 29.0508 -8.07031 43.4805 -5.10059
c32.7998 7.4502 61.4297 28.8906 81 55.8408c20.4404 27.5195 30.5195 62.1992 29.1602 96.3496c-0.520508 7.5 -1.57031 15 -1.66016 22.4902c8 -19.4805 14.8203 -39.71 16.6504 -60.8301c2 -14.2803 0.75 -28.7598 -1.62012 -42.9004
c-1.91016 -11 -5.66992 -21.5098 -7.78027 -32.4297c19.9287 22.3428 33.9023 50.3545 39.3398 81.0703c1.48438 9.39258 2.25488 19.0225 2.25488 28.8301c0 27.0342 -5.95508 52.6875 -16.4648 75.8096c20.7803 -32 32.3398 -69.5801 35.71 -107.48
c0.490234 -12.7295 0.490234 -25.5098 0 -38.2295c-2.89453 -35.0469 -13.3936 -68.4854 -29.5898 -97.75c-26.1201 -47.3398 -68 -85.6299 -117.19 -108c-78.29 -36.2305 -174.68 -31.3203 -248 14.6797c-39.0088 23.8643 -70.5215 57.7861 -91.4492 98.6602
c-14.2646 28.0879 -23.2725 59.8086 -25.3604 92.9199v31.3398c3.92969 69.7402 40.8701 135.92 96 178.36zM318 304.29c5.50781 0.932617 10.9404 2.46973 16 4.47949c5 1.77051 9.24023 5.94043 10.3203 11.2207c-8.95996 -4.99023 -17.9805 -9.91992 -26.3203 -15.7002z
" />
    <glyph glyph-name="sith" unicode="&#xf512;" 
d="M0 416l118.75 -69.71l-11.5195 58.9004l91.0596 -69.8701c8.5 1.50977 17.0996 2.29004 25.71 2.29004s17.21 -0.770508 25.71 -2.29004l91.0596 69.8701l-11.5195 -58.9004l118.75 69.71l-69.71 -118.75l58.8604 11.5195l-69.8408 -91.0293
c3.04004 -17.0098 3.03027 -34.4404 0 -51.4502l69.8408 -91.0303l-58.8604 11.5205l69.71 -118.78l-118.75 69.71l11.5195 -58.8604l-91.0293 69.8408c-17.0098 -3.04004 -34.46 -3.04004 -51.4805 0l-91.0293 -69.8408l11.5195 58.8604l-118.75 -69.71l69.71 118.78
l-58.8604 -11.5205l69.8408 91.0303c-1.49512 8.39453 -2.27539 16.7734 -2.27539 25.5947s0.780273 17.4609 2.27539 25.8555l-69.8408 91.0293l58.8604 -11.5195zM224 316.22c-31.7998 0 -63.6104 -12.0898 -87.8496 -36.3398c-48.4902 -48.4902 -48.5 -127.2 0 -175.7
c48.5 -48.4893 127.21 -48.5195 175.699 -0.0292969c48.4902 48.4893 48.5 127.199 0 175.699c-24.25 24.25 -56.0498 36.3701 -87.8496 36.3701zM224 279.56c22.4199 0 44.8301 -8.51953 61.9199 -25.6094c34.1904 -34.1904 34.1797 -89.6904 0 -123.87
c-34.1895 -34.1797 -89.6504 -34.1904 -123.84 0c-34.1904 34.1895 -34.1797 89.6895 0 123.87c17.0898 17.0898 39.5 25.6094 61.9199 25.6094z" />
    <glyph glyph-name="trade-federation" unicode="&#xf513;" horiz-adv-x="496" 
d="M248 439.2c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -43.5996c129.7 0 234.8 105.1 234.8 234.8s-105.1 234.8 -234.8 234.8s-234.8 -105.1 -234.8 -234.8s105.1 -234.8 234.8 -234.8zM403.1 284.9v-0.100586h-145.699
v-34.7998h83.2998v-47h-83.2998v-195.8h-48.8008v196.8h-117.699l-36.7002 46h155.1v81.7002h193.8v-46.7998zM329.8 239.8h-82.8994v56.2002h145v24.4004h-171.801v-80.6006h-143.899l20.0996 -23.8994h123.8v-197.4h26.8008v197.4h82.8994v23.8994zM168.5 308.8l22 9.2998
l-15.7998 -18.0996l15.7002 -18.0996l-22.2002 9.5l-12.2998 -20.5l2.09961 24l-23.2998 5.39941l23.5 5.40039l-2.10059 23.7998zM138.9 328.5l9.5 -10.2002l-13.8008 5.2998l-6.7998 -12.1992l0.799805 14.6992l-13.6992 2.7002l14.2998 3.7998l-1.7002 13.9004
l8 -12.4004l12.7002 5.90039zM304.3 183.3l-9.2998 -10.7998l9.40039 -10.7002l-13.1006 5.5l-7.2998 -12.2002l1.2002 14.2002l-13.9004 3.2002l13.9004 3.2002l-1.2998 14.2002l7.2998 -12.2002zM411.2 260.5l-15 -17.5996l15.0996 -17l-21.2002 8.7998l-11.5 -19.6006
l1.80078 22.9004l-22.2002 4.90039l22.2998 5.39941l-2.2002 22.7002l12 -19.5996zM248 418.1c125.3 0 226.9 -101.6 226.9 -226.899s-101.601 -226.9 -226.9 -226.9s-226.9 101.601 -226.9 226.9s101.601 226.899 226.9 226.899zM342.6 252h-83.1992v30.9004h145.699
v50.6992h-197.8v-81.5996h-157.399l40 -49.9004h116.699v-196.8h52.7002v195.7h83.2998v51zM248 404.8c-94.5996 0 -174.9 -61.5996 -202.9 -146.8h157.4v81.5996h199.1c-38.7998 40.2002 -93.2998 65.2002 -153.6 65.2002zM248 -22.2998c117.9 0 213.5 95.5996 213.4 213.5
c0 51.8994 -18.5 99.5 -49.3008 136.5v-50.7998h-145.6v-19.2002h83.2002v-62.7002h-83.2998v-195.8h-64.6006v196.8h-114.7l-43.7998 56.2998c-5.7998 -19.2998 -8.89941 -39.8994 -8.89941 -61.0996c0 -117.9 95.6992 -213.5 213.6 -213.5zM178.8 173l22.7002 9.2998
l-16.9004 -17.0996l15.8008 -18.7998l-21.5 10.7998l-13 -20.9004l3.69922 23.7998l-23.7998 5.90039l23.7002 3.90039l-1.7002 24.5z" />
    <glyph glyph-name="wolf-pack-battalion" unicode="&#xf514;" horiz-adv-x="512" 
d="M267.73 -23.5303l-11.4404 -21.1396l-11.4404 21.1104l-10.5596 -15.8408l-5.28027 12.3203l-5.2793 -7v-29.8301c-21.0605 7.91992 -21.1104 66.8604 -25.5107 97.21c-4.62012 31.8799 0.879883 92.8105 -81.3701 149.11c8.88086 23.5996 12 49.4297 2.64062 80.0498
c-27.8701 -3.33008 -53.9404 -10.5801 -63.3398 -54.0996l30.3496 -8.36035c-11.2002 -23.04 -17.0195 -46.7598 -13.2002 -72.1396l27.2705 7l6.16016 -33.4307l18.4697 7l8.7998 -33.4297l19.3496 7l-26.4297 -21.0596l-8.7998 28.1494l-24.6299 -5.28027l-7 35.6309
l-26.3906 -14.5205c-0.25 20.0205 -6.95996 58.0605 8.80078 84.4502l-26.3906 -5.28027c-3.99023 22.0703 2.37988 39.21 7.91992 56.7402l-22.4297 -9.67969c0.44043 25.0693 29.9404 56.79 61.5898 58.5098c20.2197 1.08984 56.7305 25.1602 54.1006 51.8994
c-1.95996 19.8701 -17.4502 42.6201 -43.1104 49.7002c43.9795 -36.5098 9.71973 -67.2998 -5.28027 -73.46c-4.39941 11.4404 -17.54 69.0801 0 130.2c40.4697 -22.8701 89.7002 -65.0996 93.21 -147.86l58.0605 -38.71l3.51953 -93.25l-107.33 59.8203l-7 -7
l17.5801 -3.50977l44 -38.71l15.8398 5.2793l28.1504 -49.2598l3.51953 -119.64l-21.1094 -15.8398l32.5498 -15.8398l32.5498 15.8398l-21.1094 15.8398l3.51953 119.64l28.0996 49.25l15.8408 -5.28027l44 38.7109l17.5898 3.51953l-7 7l-107.3 -59.7695l3.51953 93.25
l58 38.71c3.5498 82.6895 52.8096 124.92 93.2002 147.79c17.54 -61.1201 4.39941 -118.761 0 -130.2c-14.96 6.16016 -49.2803 36.9502 -5.28027 73.46c-25.6602 -7.08008 -41.1104 -29.8301 -43.1104 -49.7002c-2.63965 -26.7305 33.8809 -50.8096 54.1006 -51.9004
c31.6396 -1.70996 61.1396 -33.4297 61.5801 -58.5l-22.4307 9.68066c5.54004 -17.5303 11.9209 -34.6699 7.9209 -56.7402l-26.3906 5.28027c15.7998 -26.3906 9.0498 -64.4502 8.7998 -84.4502l-26.3896 14.5195l-7 -35.6299l-24.5898 5.24023l-8.7998 -28.1504
l-26.3906 21.1104l19.3506 -7l8.7998 33.3896l18.4697 -7l6.16016 33.4307l27.2803 -7.05078c3.7998 25.3809 -2.0498 49.1406 -13.2002 72.1406l30.3496 8.35938c-9.42969 43.5205 -35.4297 50.7305 -63.3398 54.1006
c-9.35938 -30.6201 -6.24023 -56.4404 2.64062 -80.0498c-82.25 -56.3008 -76.75 -117.221 -81.3701 -149.11c-4.40039 -30.3496 -4.4502 -89.29 -25.5107 -97.21v29.9502l-5.2793 7l-5.28027 -12.3203zM346.9 71.4697l-15.8408 10.5303
c7.4707 4.36035 13.7607 8.41992 19.3506 12.3203c-0.600586 -7.2207 -0.270508 -13.8398 -3.50977 -22.8398v-0.0107422zM375.05 120.73c-0.399414 -10.9404 -0.899414 -21.6602 -1.75977 -31.6709c-7.84961 1.86035 -15.5703 3.80078 -21.1104 7
c8.24023 7.94043 15.5508 16.3203 22.8701 24.6807v-0.00976562zM399.68 115.45l-23.75 6.16016c6.78906 8.64844 12.9297 17.708 18.4707 27.2695c3.22949 -9.21973 5.2793 -20 5.2793 -33.4297zM403.2 196.39c19.4395 -12.8096 27.7998 -33.6592 29.9102 -56.2998
c-12.3203 4.53027 -24.6299 9.31055 -36.9502 10.5605c5.05957 12 6.64941 28.1396 7 45.7393h0.0400391zM401.44 242.13c18.5596 -2.62988 35.1494 -9.18945 45.7598 -28.1494c-14.2197 -4.36035 -24.7803 -5.9707 -44 -14.0801
c0.0800781 13.4092 -0.950195 27.9297 -1.75977 42.2295zM165.68 71.4805c-3.23926 9 -2.91016 15.5791 -3.50977 22.8398c5.58984 -3.90039 11.8799 -7.95996 19.3496 -12.3203zM137.53 120.74c7.31934 -8.36035 14.6299 -16.7402 22.8701 -24.6699
c-5.54004 -3.2002 -13.2607 -5.14062 -21.1104 -7c-0.860352 10.0098 -1.36035 20.7295 -1.75977 31.6699zM112.89 115.46c0 13.4297 2 24.21 5.28027 33.4297c5.54102 -9.56152 11.6816 -18.6211 18.4697 -27.2695zM109.37 196.4h0.0898438
c0.349609 -17.6006 2 -33.7402 7 -45.7402c-12.3701 -1.25 -24.6797 -6.03027 -37 -10.5605c2.11035 22.6406 10.4697 43.4902 29.9102 56.3008zM111.13 242.14c-0.80957 -14.2998 -1.83984 -28.8193 -1.75977 -42.2295c-19.2197 8.10938 -29.7803 9.71973 -44 14.0801
c10.6299 18.9502 27.2295 25.5195 45.7598 28.1494z" />
    <glyph glyph-name="hornbill" unicode="&#xf592;" horiz-adv-x="512" 
d="M76.3799 77.7002c0.219727 -1.64648 0.333008 -3.32617 0.333008 -5.03125c0 -20.8623 -16.9375 -37.7998 -37.8008 -37.7998c-20.8623 0 -37.7998 16.9375 -37.7998 37.7998s16.9375 37.7998 37.7998 37.7998c1.84668 0 3.62207 -0.0927734 5.39746 -0.348633
c-78.2793 111.35 52 190.53 52 190.53c-5.85938 -43 -8.23926 -91.1602 -8.23926 -91.1602c-67.3105 -41.4902 0.929688 -64.0605 39.8096 -72.8701c19.7207 -53.6396 71.2256 -91.8984 131.66 -91.9404c1.91992 0 3.76953 0.209961 5.66992 0.280273l0.110352 -18.8604
c-99.2207 -1.38965 -158.7 29.1406 -188.94 51.6006zM184.38 405.4c109.75 73.9395 187.601 -54.0605 187.601 -54.0605c-43.04 5.86035 -91.1807 8.24023 -91.1807 8.24023c-43.0996 70.0098 -65.7998 -6.58008 -73.7998 -44.29
c-51.5254 -20.7842 -87.8506 -71.208 -87.8896 -130.13c0 -0.910156 0.139648 -1.78027 0.139648 -2.67969l-21.8398 -0.150391c-1.41016 100.43 29.8701 160.09 52.4199 190c-1.02051 -0.0820312 -2.03711 -0.0888672 -3.07812 -0.0888672
c-20.9453 0 -37.9492 17.0049 -37.9492 37.9502s17.0039 37.9502 37.9492 37.9502c15.0898 0 28.1338 -8.8252 34.248 -21.5918c2.35742 -4.91211 3.70117 -10.4102 3.70117 -16.2188c0 -1.67188 -0.109375 -3.31738 -0.321289 -4.93066zM488.57 271.23
c-4.87012 -2.31934 -10.2754 -3.63965 -16.0244 -3.63965c-1.09375 0 -2.17578 0.046875 -3.24609 0.139648c84.4502 -113.45 -49 -194.61 -49 -194.61c5.87012 43.0303 8.20996 91.1602 8.20996 91.1602c66.6006 40.96 0.640625 63.54 -38.46 72.54
c-20.5566 51.9932 -71.2275 88.7393 -130.49 88.7598c-2.75 0 -5.43945 -0.259766 -8.13965 -0.410156l-0.139648 22.5c93.6094 1.33008 151.72 -25.7998 183.45 -47.7402c-0.270508 1.82617 -0.375 3.67676 -0.375 5.57715c0 20.9395 17 37.9395 37.9395 37.9395
c20.9404 0 37.9404 -17 37.9404 -37.9395c0 -15.1162 -8.85938 -28.1797 -21.665 -34.2764zM374.06 11.7598v-0.0595703c0.112305 0.000976562 0.239258 -0.0332031 0.351562 -0.0332031c20.9336 0 37.9297 -16.9961 37.9297 -37.9297
c0 -20.9346 -16.9961 -37.9307 -37.9297 -37.9307c-15.0908 0 -28.1348 8.83203 -34.2412 21.6035c-2.0498 4.26074 -3.33984 9.0332 -3.63965 14c-111.98 -80.3398 -191.9 51 -191.9 51c43.0703 -5.87988 91.1904 -8.21973 91.1904 -8.21973
c41.3301 -67.1709 63.9199 0.540039 72.7695 39.4893c53.3574 19.8584 91.3574 71.2188 91.3906 131.45c0 2.08008 -0.220703 4.08984 -0.300781 6.15039l19.5205 0.139648c1.28027 -89.9697 -23.71 -147.2 -45.1406 -179.66z" />
    <glyph glyph-name="mailchimp" unicode="&#xf59e;" 
d="M330.61 204.48c-2.50977 3.17969 -4.70996 8.31934 -5.9707 14.3193c-2.22949 10.6807 -1.98926 18.4102 4.24023 19.4199c6.23047 1.01074 9.25 -5.45996 11.4805 -16.1299c1.5 -7.17969 1.20996 -13.7803 -0.450195 -17.6094
c-1.53418 0.198242 -3.02441 0.300781 -4.61328 0.300781c-1.58789 0 -3.15234 -0.102539 -4.68652 -0.300781zM277.05 196c-4.45996 1.95996 -10.2598 4.13965 -17.2598 3.7002c-12.5996 -0.770508 -21.75 -7.21973 -22.5996 -3.48047
c-0.400391 1.83984 2.40918 4.87988 5.40918 7.06055c5.20117 3.80859 11.6621 6.06055 18.5967 6.06055c4.25391 0 8.31152 -0.84668 12.0137 -2.38086c8.63965 -3.7002 14.0098 -11.1504 12.1201 -13.0898c-1.08008 -1.12988 -3.81055 0.129883 -8.28027 2.12988z
M268.05 190.87c9.68066 1.14941 16.8604 -4.62988 15.4004 -6.85059c-0.629883 -1.00977 -2.02051 -0.829102 -4.94043 -0.489258c-1.85449 0.286133 -3.73438 0.420898 -5.66895 0.420898c-4.59277 0 -8.99121 -0.838867 -13.0508 -2.37109
c-4.04004 -1.62012 -4.30957 -1.15039 -5.20996 -0.810547c-1.53027 3.57031 4.40039 8.68066 13.4697 10.1006zM322.22 173.77c-3.40039 -6.91016 -17.7002 0.0703125 -14.2998 7c3.40039 6.93066 17.6797 -0.129883 14.2998 -7zM337.88 194.24
c7.69922 -0.149414 7.42969 -16.0605 -0.259766 -15.9307c-7.69043 0.130859 -7.40039 16.0605 0.259766 15.9307zM119.09 115.34c4.0293 0.910156 3.40039 -1.25 3.37012 -0.359375c0.291016 -0.358398 0.464844 -0.818359 0.464844 -1.31445
c0 -0.369141 -0.0966797 -0.71582 -0.264648 -1.01562c-3.16016 -7.37012 -20.1904 -7.68066 -21.5801 9c-0.910156 10.8594 9.30957 21.0293 -2.28027 28.6191c-2.02734 1.34277 -4.46289 2.14648 -7.0752 2.14648c-4.51465 0 -8.4873 -2.33691 -10.7744 -5.86621
c-3.2998 -5.16016 -3.11035 -12.2002 -7.37988 -11.6299c-3.7207 0.540039 -3.70996 14.4805 5 24.0801c7.22949 8 25.9492 11.9297 35.0498 -5.54004c8.11035 -15.3896 -8.2002 -27.7695 -3 -35.7695c2.46973 -3.80078 7.14941 -2.66016 8.46973 -2.35059zM418.81 132.41
c6.44043 0 16.5605 -7.5 16.5605 -25.2705c0 -17.7695 -7.37012 -37.9092 -9.11035 -42.3799c-54.3896 -130.279 -264.56 -130.06 -322.29 3c-31.5293 -0.0400391 -64.1699 26.9805 -67.5293 60.3799c-0.308594 2.71191 -0.438477 5.42383 -0.438477 8.2168
c0 8.89062 1.60352 17.4102 4.53809 25.2832l-14.7598 12.5107c-67.5498 57.04 143.72 291.85 211.27 232.93c0.339844 -0.299805 22.9902 -22.5205 23.0498 -22.5703l12.5508 5.33008c59.2695 24.5303 107.359 12.6904 107.42 -26.4697
c0.0292969 -20.3604 -12.9404 -44.1006 -33.7305 -65.6504c26.1699 -24.2998 20.0205 -71.6094 21.5205 -83c7.19922 -2 30.6992 -7.62012 41.0996 -18.54c18.3604 -19.25 5.52051 -39.5801 3.07031 -43.25c4.20996 -11.2998 3.42969 -8.79004 6.7793 -20.5195z
M102.81 84.25c29.4502 -0.680664 38.6309 28.2002 34.0908 57.8398c-9.74023 62.9404 -90.1699 48.9805 -84 -12.3301c2.44922 -24.3594 27.0898 -44.8994 49.9092 -45.5098zM84.2998 198.45c19.3105 51.8096 51.54 99.5498 94.2002 132.399
c31.6504 26.4102 65.7998 45.3506 65.7998 45.3506s-18.3896 21.3193 -23.9395 22.8896c-34.1699 9.23047 -107.94 -41.6494 -155.051 -108.88c-19.0596 -27.21 -46.3096 -75.3604 -33.2998 -100.21c1.58984 -3 10.71 -10.9297 15.5898 -15
c8.18066 11.9102 21.54 20.5 36.7002 23.4502zM323.18 97.2998c2.58984 0.259766 0.560547 -2.53027 0.560547 -2.53027s-27.4004 -12.75 -71 0.740234c1.20996 -10.2295 11.1699 -14.8193 15.9395 -16.6699c31.4004 -12.21 86.6904 -2.58008 128.46 26
c0.850586 0.589844 1.41992 0 0.730469 -1c-28.9697 -41.3496 -128.73 -54.7598 -151.37 -21.3496c-12.0801 17.8301 -0.599609 43.8594 19.5498 41.1494c6.7998 -0.769531 53.7705 -8 100.48 13.6807c27.4893 12.7598 37.8701 26.79 36.3096 38.1602
c-0.537109 3.60742 -2.25 6.85156 -4.74023 9.28906c-5 4.83008 -12.79 8.60059 -26 12.3105c-4.35938 1.22949 -7.31934 2.00977 -10.5098 3.05957c-5.67969 1.83008 -8.47949 3.33008 -9.10938 14c-0.280273 4.62988 -1.09082 20.9102 -1.38086 27.6299
c-0.519531 11.7607 -1.91992 27.8506 -11.9199 34.4902c-2.71094 1.73535 -5.94238 2.75098 -9.39746 2.75098c-1.44824 0 -2.85645 -0.177734 -4.20215 -0.510742c-5.69043 -0.969727 -9.06055 -4.00977 -13.2598 -7.50977
c-12.4404 -10.3701 -22.9502 -12.0605 -34.6406 -11.5605c-6.98926 0.290039 -14.3994 1.37988 -22.8799 1.87988l-5 0.290039c-19.5801 1 -40.5693 -15.9092 -44.0693 -39.9092c-4.86035 -33.4307 19.3291 -50.7002 26.3291 -60.8301
c1.04785 -1.25391 1.74121 -2.82812 1.9209 -4.54004c0 -1.94043 -1.25 -3.48047 -2.48047 -4.79004c-19.9805 -20.54 -26.3701 -53.1699 -18.8398 -80.3701c0.927734 -3.33594 2.13574 -6.6377 3.5498 -9.74023c17.7002 -41.2598 72.4902 -60.4795 126 -43
c7.01562 2.29199 13.8936 5.20215 20.3398 8.58008c11.8203 5.84668 22.2969 13.7168 31.1504 23.3096c14.2002 14.8408 22.6396 30.9707 25.9297 50.8408c2.81055 18.6191 -7.78027 18.7598 -11.4395 18.0996c-1.37598 8.42188 -3.82812 16.6758 -7.12012 24.2803
c-15.6299 -12.3506 -35.71 -20.9707 -51 -25.3506c-69.4004 -19.9102 -90.1904 6.35059 -96.4004 -13.8096c33.7705 -12.3701 69.5098 -7.07031 69.5098 -7.07031zM171.31 290.5l0.0605469 0.00976562c-0.107422 -0.130859 -0.170898 -0.297852 -0.170898 -0.480469
c0 -0.419922 0.34082 -0.759766 0.759766 -0.759766c0.151367 0 0.292969 0.0439453 0.411133 0.120117c11.4199 8.30078 64.9502 42.7705 134.5 26.8301c0.860352 -0.189453 1.39941 1.29004 0.639648 1.7207c-11.3398 6.33984 -28.6895 10.6494 -41 10.7393
c-0.405273 0.00976562 -0.732422 0.342773 -0.732422 0.750977c0 0.164062 0.0527344 0.31543 0.142578 0.439453c2.23535 2.92383 4.79492 5.49414 7.70996 7.74023c0.18457 0.140625 0.303711 0.362305 0.303711 0.611328
c0 0.424805 -0.345703 0.770508 -0.770508 0.770508c-0.0175781 0 -0.0351562 -0.000976562 -0.0527344 -0.00195312c-17.5205 -1.08008 -37.5107 -9.4707 -49 -17.2998c-0.12207 -0.0859375 -0.271484 -0.136719 -0.431641 -0.136719
c-0.414062 0 -0.75 0.335938 -0.75 0.75c0 0.0605469 0.0078125 0.120117 0.0214844 0.176758c0.899414 4.30957 3.72949 9.98926 5.18945 12.6494c0.0644531 0.108398 0.101562 0.236328 0.101562 0.371094c0 0.40332 -0.327148 0.730469 -0.730469 0.730469
c-0.134766 0 -0.261719 -0.0371094 -0.371094 -0.101562c-18.4697 -9.4502 -39.0898 -26.2803 -55.8301 -45.6299z" />
    <glyph glyph-name="megaport" unicode="&#xf5a3;" horiz-adv-x="496" 
d="M214.5 238.4l33.4004 33.3994l33.3994 -33.3994v-66.4004l-33.2998 -33.2998l-33.5 33.5v66.2002zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM393.1 25.5996h0.100586v87.1006l-59.7002 59.7002v87.5996l-59.5 59.5
v75.5996l-26.0996 19.2002l-26.1006 -19.2002v-75.5996l-59.5 -59.5v-87.9004l-59.5 -59.5v-87l26.1006 -19.1992l26.0996 19.1992v65.5l33.5 33.4004l33.4004 -33.4004v-65.5l26.0996 -19.1992l26.2002 19.1992v65.5l33.3994 33.4004l33.4004 -33.4004v-65.5l26 -19.1992z
" />
    <glyph glyph-name="nimblr" unicode="&#xf5a8;" horiz-adv-x="384" 
d="M246.6 148.71c15.5703 0 27.1504 -11.46 27.1504 -27s-11.6201 -27 -27.1504 -27c-15.6992 0 -27.1494 11.5703 -27.1494 27s11.5498 27 27.1494 27zM113 121.75c0 15.6104 11.6797 27 27.1504 27c15.4697 0 27.1494 -11.46 27.1494 -27s-11.4697 -27 -27.1494 -27
c-15.4404 0 -27.1504 11.3096 -27.1504 27zM191.76 289c98.3701 0 177.76 -78.9102 177.76 -176.48c0 -97.5693 -79.6094 -176.52 -177.76 -176.52c-98.1494 0 -177.76 78.8701 -177.76 176.52v335.48l45.25 -227c30.2002 48.2305 97.75 68 132.51 68zM191.76 -19.1201
c73.2402 0 132.51 58.96 132.51 131.64c0 72.6807 -59.2393 131.54 -132.51 131.54c-73.2695 0 -132.51 -58.8994 -132.51 -131.59c0 -72.6895 59.2402 -131.59 132.51 -131.59z" />
    <glyph glyph-name="rev" unicode="&#xf5b2;" 
d="M289.67 173.11c0 -36.1895 -29.3809 -65.5703 -65.5703 -65.5703c-36.1885 0 -65.5693 29.3809 -65.5693 65.5703c0 36.1885 29.3906 65.5596 65.5801 65.5596c36.1631 -0.0439453 65.5156 -29.3965 65.5596 -65.5596zM429.22 178.16v-210.16h-210.16v0.110352
c-110.939 2.70996 -200.06 93.4092 -200.06 205c0 108.569 84.2998 197.319 191 204.569v38.3203l108.77 -62.7803l-108.77 -62.79v39.1201c-80 -7.16016 -143 -74.5498 -143 -156.43c0 -86.6201 70.4902 -157.12 157.11 -157.12s157.09 70.5 157.09 157.12
c-0.0263672 55.3057 -28.5371 103.871 -71.8105 131.84l45.3799 26.2002c44.3125 -36.582 72.8613 -91.4561 74.3203 -153h0.129883z" />
    <glyph glyph-name="shopware" unicode="&#xf5b5;" horiz-adv-x="512" 
d="M403.5 -7.41016c-40.9688 -30.4482 -91.7109 -48.4707 -146.63 -48.4707c-0.223633 0 -0.646484 -0.120117 -0.870117 -0.119141c-137.19 0 -248 111 -248 248c0 137.19 111 248 248 248h0.21582c63.5576 0 121.648 -24.0508 165.484 -63.5
c0.716797 -0.65332 1.16699 -1.59375 1.16699 -2.63965c0 -1.9707 -1.59961 -3.57031 -3.57031 -3.57031c-0.155273 0 -0.306641 0.0107422 -0.457031 0.0302734c-18.2656 2.43848 -36.9023 3.69727 -55.8301 3.69727c-0.445312 0 -0.43457 -0.0166016 -0.879883 -0.0175781
c-129.36 0 -222.399 -53.4697 -222.399 -155.35c0 -109 92.1299 -145.881 176.829 -178.73c33.6406 -13 65.4004 -25.3604 87 -41.5898c0.868164 -0.65332 1.42969 -1.69238 1.42969 -2.86133c0 -1.16992 -0.561523 -2.20508 -1.42969 -2.8584zM503 214.91
c0.698242 -7.59375 0.950195 -15.1699 0.950195 -22.9443c0 -31.8691 -5.99902 -62.3467 -16.9307 -90.3662c-0.526367 -1.31445 -1.81543 -2.24023 -3.31738 -2.24023c-0.608398 0 -1.18066 0.152344 -1.68262 0.420898
c-29.4893 16.3594 -61.6094 28.3398 -92.6797 39.9297c-60.2803 22.4902 -112.34 41.8896 -112.34 84.4902c0 1.45996 -3.87988 53.6299 80.25 53.6299c50.8604 0 92.7197 -17.4805 144.48 -60.4805c0.706055 -0.598633 1.17871 -1.46484 1.26953 -2.43945z" />
    <glyph glyph-name="squarespace" unicode="&#xf5be;" horiz-adv-x="512" 
d="M186.12 104.66l157.22 157.2c38.5703 38.5898 101.13 38.5898 139.72 0c38.5908 -38.5801 38.5908 -101.13 0 -139.721l-119.25 -119.239l-0.0400391 -0.0400391c-19.2891 -19.2705 -50.5498 -19.25 -69.8193 0.0400391l154.149 154.14
c19.29 19.29 19.29 50.5703 0 69.8604s-50.5693 19.29 -69.8594 0l-157.181 -157.181c-9.64941 -9.64941 -25.29 -9.64941 -34.9395 0c-9.65039 9.65039 -9.65039 25.29 0 34.9404zM430.65 209.46c9.63965 -9.63965 9.63965 -25.2803 -0.0107422 -34.9297l-157.199 -157.2
c-38.5801 -38.5703 -101.141 -38.5703 -139.721 0l-0.0195312 0.0195312c-9.64062 9.65039 -9.62988 25.29 0.0195312 34.9307l0.0107422 0.00976562c9.64941 9.63965 25.2793 9.62988 34.9199 -0.00976562l0.0498047 -0.0498047
c19.29 -19.2607 50.5498 -19.2402 69.8193 0.0498047l157.2 157.18c9.64062 9.65039 25.2803 9.65039 34.9307 0zM168.66 122.13c-38.6006 -38.5801 -101.13 -38.5801 -139.73 0.00976562c-38.5801 38.5801 -38.5801 101.13 0 139.721l119.23 119.25l0.0195312 0.0195312
c19.3008 19.2803 50.5703 19.2705 69.8506 -0.0195312l-154.17 -154.17l-0.0302734 -0.0302734c-19.2803 -19.2998 -19.2598 -50.5605 0.0302734 -69.8398l0.00976562 -0.0107422c19.29 -19.29 50.5703 -19.2793 69.8496 0.0107422l157.21 157.18
c9.64062 9.63965 25.2705 9.63965 34.9102 0c9.64062 -9.65039 9.64062 -25.29 0 -34.9404zM81.3301 174.53c-9.64062 9.64941 -9.65039 25.29 0 34.9297l157.189 157.19c38.5908 38.5898 101.131 38.5898 139.721 0c9.64941 -9.64062 9.64941 -25.2803 0 -34.9307
c-9.64062 -9.64941 -25.2803 -9.64941 -34.9307 0l-0.0195312 0.0205078c-19.29 19.2793 -50.5596 19.2695 -69.8398 -0.0205078l-157.21 -157.189c-9.64062 -9.64062 -25.2705 -9.64062 -34.9102 0z" />
    <glyph glyph-name="themeco" unicode="&#xf5c6;" 
d="M202.9 439.57c9.89941 5.72949 26 5.81934 35.9492 0.209961l191.15 -107.63c10 -5.60059 18 -19.4404 18 -30.8604v-217.29c0 -11.4404 -8.05957 -25.29 -18 -31l-191.19 -108.74c-9.92969 -5.66016 -26 -5.56934 -35.8496 0.209961l-185.1 108.41
c-9.86035 5.78027 -17.8604 19.7402 -17.8604 31.1201v217.29c0 11.4404 8 25.3604 17.9102 31.0801zM125.5 239.74c-15.9404 0 -31.8896 -0.140625 -47.8301 -0.140625v-101.449h19.1299v29.8496h28.7002c49.71 0 49.5596 71.7402 0 71.7402zM265.64 139.45
l-30.7295 34.6396c37 7.50977 34.7998 65.2305 -10.8701 65.5098c-16.0898 0 -32.1699 0.140625 -48.2598 0.140625v-101.59h19.1299v33.9092h18.4102l29.5596 -33.9092h22.7598v1.2998zM224.05 221.77c23.3398 0 23.2598 -32.46 0 -32.46h-29.1299v32.46h29.1299z
M128.49 223.37c21.1797 0 21.1094 -38.8506 0 -38.8506h-32.3105v38.8408zM321.14 241.62c-68.46 0 -71 -105.8 0 -105.8c69.4805 0.00976562 69.4102 105.8 0 105.8zM321.14 224.23c44.1201 0 44.8008 -70.8604 0 -70.8604c-44.7998 0 -44.4297 70.8604 0 70.8604z" />
    <glyph glyph-name="weebly" unicode="&#xf5cc;" horiz-adv-x="512" 
d="M425.09 382.17c50.9102 0 87.5498 -35.1504 86.9199 -83.4697c0 -21.6201 -0.950195 -18.5498 -77.5 -227.2c-22.3799 -60.5703 -67.7695 -69.6699 -92.7402 -69.6699c-39.2393 0 -70.0391 19.46 -85.9297 54.29c-15.8896 -34.5205 -46.7002 -53.9805 -85.9297 -53.9805
c-24.9697 0 -70.3701 8.78027 -92.7402 69.3506c-72.9902 200.21 -77.1699 204.52 -77.1699 233.479c0 43.3105 38.5898 77.2002 87.54 77.2002c40.21 0 73.2803 -25.7295 83.6602 -64.3301c18.4795 58.0498 65.5 64.3301 85.2803 64.3301
c19.4492 0 66.7891 -6.26953 84.9492 -64.3301c10.3799 38.6006 43.7803 64.3301 83.6602 64.3301zM451.43 267.36c3.49023 11.1992 7.29004 19.3701 7.61035 27.2393c0 22.3906 -16.1602 35.71 -38.3301 35.71c-18.6904 0 -31.9902 -11.7998 -36.1104 -29.0498
l-44.0293 -139.819h-0.950195l-44.6602 136.79c-6.01953 19.9697 -16.4697 32.0791 -38.96 32.0791s-32.9404 -12.4092 -38.96 -32.0791l-44.6602 -136.79h-0.950195l-44.0293 139.819c-4.12012 17.25 -17.4199 29.0498 -36.1104 29.0498
c-22.4902 0 -38.3301 -13.0195 -38.3301 -29.3594c0 -10.5898 2.54004 -19.6699 7.91992 -34.5l64.9404 -175.23c7.91016 -21.4795 21.2197 -37.2197 46.2393 -37.2197c23.1201 0 37.0605 12.0996 44.0205 33.5996l39.2803 117.42h0.949219l39.2803 -117.42
c6.65039 -21.4893 20.5898 -33.8994 44.0303 -33.8994c25.0195 0 38.3203 15.7295 46.2402 37.2197z" />
    <glyph glyph-name="wix" unicode="&#xf5cf;" horiz-adv-x="640" 
d="M393.38 316.31c0 -13.0293 2.08008 -32.6895 -28.6797 -43.8291c-9.52051 -3.4502 -15.9502 -9.66016 -15.9502 -9.66016c0 31 4.71973 42.2197 17.4004 48.8594c9.75 5.11035 27.2295 4.62988 27.2295 4.62988zM277.58 280.77
c5.47949 26.3408 30.8799 38.3408 55.2998 35.2705l-65.5703 -247.93s-21.6396 -1.56055 -32.46 3.95996c-14.2197 7.25 -20.9893 12.8398 -29.5898 46.5693c-7.66992 30.0703 -29.1494 118.4 -31.1201 124.7c-4.30957 13.8105 -10.6396 14.9404 -15.3994 0
c-2.00977 -6.29004 -23.4502 -94.6299 -31.1201 -124.7c-8.61035 -33.7295 -15.3701 -39.3193 -29.5898 -46.5693c-10.8301 -5.52051 -32.46 -3.95996 -32.46 -3.95996l-65.5703 247.93c23.8604 3 49.7305 -8.5498 55.2803 -35.2705l34.2393 -132.659l28.4805 108.569
c7.76953 32.3506 21.0596 48.5303 48.4297 48.5303c27.6201 0 40.7402 -16.54 48.4307 -48.5303l28.4795 -108.569zM393.36 275.56v-8.97949l0.0195312 0.00976562v-150.27c-0.129883 -30.8301 -3.33008 -37.6807 -17.2598 -44.7803
c-10.8203 -5.52051 -27.3701 -3.42969 -27.3701 -3.42969v152.069c0 21.25 -1.95996 27.9404 13.1797 35.2002c6.19043 2.96973 11.96 5.25 17.9707 8.61035c9.35938 5.22949 13.46 11.5693 13.46 11.5693zM556.8 191.48l82.9902 -123.36s-35.9297 -4.62012 -53.3203 11.21
c-13.9102 12.6602 -23.7393 28.3398 -53.1396 70.7197c-0.5 0.770508 -6.25977 10.5205 -13.0703 0c-34.9297 -50.3496 -41.0195 -60.2598 -52.5098 -70.7197c-17.3799 -15.8301 -53.9502 -11.21 -53.9502 -11.21l82.9697 123.36l-83.1992 123.739
s35.1094 5.98047 52.5 -9.84961c13.3799 -12.1797 24.8896 -30.2402 54.1797 -72.4697c6.82031 -10.54 12.5996 -0.730469 13.0703 0c29.7695 42.9199 40.8799 60.3691 54.1797 72.4697c17.3896 15.8301 52.5 9.84961 52.5 9.84961z" />
    <glyph glyph-name="ello" unicode="&#xf5f1;" horiz-adv-x="496" 
d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM391.84 154.8c2.48047 7.44043 -2.47949 15.71 -9.91992 17.3604c-7.43945 2.47949 -15.71 -2.48047 -17.3604 -9.91992
c-14.0498 -52.9102 -62 -90.1104 -116.56 -90.1104s-102.51 37.2002 -116.56 90.1104c-1.65039 7.43945 -9.9209 11.5693 -17.3604 9.91992c-7.44043 -1.65039 -11.5703 -9.91992 -9.91992 -17.3604c16.5303 -65.3096 76.0498 -111.6 143.84 -111.6
s127.31 46.29 143.84 111.6z" />
    <glyph glyph-name="hackerrank" unicode="&#xf5f7;" horiz-adv-x="512" 
d="M477.5 320c14.5 -25 14.4805 -230.92 -0.00976562 -256s-192.391 -128 -221.33 -128c-28.9404 0 -206.83 102.8 -221.32 128s-14.4102 230.79 0 256s192.351 128 221.32 128s206.84 -103.05 221.34 -128zM316.13 33.7803c3.95996 0 40.4404 35.7793 37.5605 38.6895
c-0.870117 0.839844 -8.82031 1.49023 -17.6904 1.83984c0 32.4004 -3 19.0508 0.679688 210.341c0.0703125 3.65918 -1.04004 5.37988 -4.5 5.37988c-11.0801 0.0693359 -22.1602 0.0195312 -33.2295 -0.0605469c-3.25977 -0.0292969 -4.31055 -1.80957 -4.20996 -5.2002
c1.58984 -48.8994 1.2002 -79.0898 1.2002 -83.6396h-80.2607c0.629883 25.7998 0.209961 79.6396 2.62988 105.39v3.16016c8.87012 0.350586 15.9004 0.970703 16.7705 1.83984c2.90039 2.91016 -34.3203 38.6904 -38.2705 38.6904
c-3.94922 0 -41.4092 -35.7695 -38.4893 -38.6904c0.879883 -0.839844 7.58984 -1.48926 17.2598 -1.83984v-3.16992c3.15039 -128.67 1.07031 -179.229 0.150391 -212.67c-0.130859 -4.58008 1.63965 -6.10938 5.73926 -6.10938
c10.1406 0.0292969 20.2803 -0.0800781 30.4102 -0.0800781c4.16016 -0.0605469 5.96973 1.39941 5.74023 5.93945c-1.83008 36.6797 -1.37012 65.7803 -1.37012 72.8799h79.9297c0 -2.41992 0.44043 -3.84961 0.44043 -5.84961
c-0.350586 -17.7305 -0.94043 -60.0898 -0.94043 -86.3203c-11.29 -0.349609 -16.6797 -0.959961 -17.5498 -1.83008c-2.91016 -2.91992 34 -38.6895 38 -38.6895z" />
    <glyph glyph-name="kaggle" unicode="&#xf5fa;" horiz-adv-x="320" 
d="M304.2 -53.5l1.39941 -7.59961c-0.5 -2 -2.5 -3 -6 -3h-66.8994c-4 0 -7.5 1.7998 -10.5 5.2998l-110.5 140.6l-30.7998 -29.2998v-109c0 -5 -2.5 -7.5 -7.5 -7.5h-51.9004c-5 0 -7.5 2.5 -7.5 7.5v497c0 5 2.5 7.5 7.5 7.5h51.9004c5 0 7.5 -2.5 7.5 -7.5v-306
l132.3 133.7c3.5 3.5 7 5.2998 10.5 5.2998h69.2002c7 0 7.89941 -7.7998 5.2998 -10.5l-139.8 -135.3z" />
    <glyph glyph-name="markdown" unicode="&#xf60f;" horiz-adv-x="640" 
d="M593.8 388.9c25.5 0 46.2002 -20.7002 46.2002 -46.1006v-301.6c0.0996094 -25.4004 -20.5996 -46.1006 -46.0996 -46.1006h-547.7c-25.5 0 -46.2002 20.7002 -46.2002 46.2002v301.5c0 25.4004 20.7002 46.1006 46.2002 46.1006h547.6zM338.5 87.4004h-0.200195v209.199
h-61.5l-61.5 -76.8994l-61.5 76.8994h-61.5v-209.199h61.7002v120l61.5 -76.9004l61.5 76.9004v-120h61.5zM473.8 84.2998l92.2002 107.7h-61.5v104.6h-61.5v-104.6h-61.5z" />
    <glyph glyph-name="neos" unicode="&#xf612;" horiz-adv-x="512" 
d="M415.44 -64h-95.1104l-108.21 154.54v-91.0996l-86.4297 -63.4404h-97.6904v482.18l40.4697 29.8203h108.05l123.74 -176.13v112.68l86.4307 63.4502h97.6895v-461.5zM38.7695 412.73v-460.73l72 52.8799v249.12l215.5 -307.64h84.79l52.3506 38.1699h-78.2705
l-316.14 450.47zM121.31 -53.8799l80 58.7803v101l-79.7598 114.399v-220.939l-72.5498 -53.25h72.3398zM80.6299 437.23l310.601 -442.57h82.3691v442.57h-79.75v-317.561l-222.939 317.561h-90.2803zM311 256.35l72 -102.81v278.53l-72 -53v-122.721z" />
    <glyph glyph-name="zhihu" unicode="&#xf63f;" horiz-adv-x="640" 
d="M170.54 299.87h122.68v-217.55h-49.5293l-42.0107 -26.3701l-7.70996 26.3701l-23.4297 0.00976562v217.54zM268.29 105.94v170.31h-72.8203v-170.31l11.9004 -0.0400391l5.08008 -17.4707l27.8994 17.5107h27.9404zM149.83 200.33
c7.5 0 7.58984 -23.6104 7.58984 -23.6104h-61.6504c-0.879883 -13.1201 -3.50977 -26.6895 -7.86914 -40.6699l14.6191 11.6201c8.73047 -8.75 29.2109 -32.8896 36.79 -41.8096c9.15039 -13.1006 1.24023 -39.9902 1.24023 -39.9902l-53.96 64.9395
c-12.6094 -48.3496 -35.5898 -69.25 -35.5898 -69.25c-10.0898 -8.96973 -30.5098 -15.75 -51 -9.89941c42.8301 33.2197 66.4502 75.2402 70.8496 125.1h-65.5801s3.82031 23.6201 15.5605 23.6201h52.2695c0.480469 6.56055 1.68066 62.9404 1.68066 73.4404h-28.8701
c-2.62988 -7.87012 -3.03027 -8.64062 -5.14062 -14.5303c-11.4697 -21.0303 -30.9492 -21.5703 -36.8398 -22.21c17.4902 34.9795 27.3105 69.2197 30.7002 78.1201c8.2002 21.5693 32.2705 21.5693 32.2705 21.5693c-5.25 -14.0098 -9.63086 -27.5498 -13.1201 -40.6699
h88.5c10.5498 0.25 8.58008 -22.3096 8.58008 -22.3096h-51.1602c0 -21.8701 -0.459961 -46.3604 -2.2002 -73.46h52.3301zM561.85 201.93l-19.2295 14.4307s30.8301 40.0498 36.8301 48.1992c8.72949 10.7402 27.3799 -4.05957 27.3799 -4.05957
s-24.1504 -32.9297 -44.9805 -58.5703zM411.76 261.02l0.00976562 0.0107422c8.99023 -8.25 34.6602 -45.8604 34.6602 -45.8604l-19.46 -13.7295c-1.59961 2.40918 -41.1201 57.4492 -41.1201 57.4492s16.9004 10.3799 25.9102 2.12988zM640 189.65
c0 0 0.950195 -23.79 -8.73047 -23.79h-122.359v-73.3203c0.780273 -28.0303 -15.3301 -45.3096 -44.8906 -45.3096c-9.84961 0 -16.1396 1.75977 -26.0195 6.56934c-12.9805 7.4502 -17.3203 17.8701 -19.3096 21.8398c15.6094 -0.65918 27.6094 -1.91992 41.6895 -1.80957
c13.29 -0.870117 24.4805 7.15039 24.4805 21.1201v70.9199h-107.94c-22.6895 0.540039 -25.5098 22.8496 -25.5098 22.8496h133.47v99.8105c-12.8301 0 -31.6797 -0.830078 -56.5098 -2.43066c-26.46 -0.80957 -35.8398 -2.58984 -49.1504 0.890625
c-8.16016 2.46973 -14.1797 10.7295 -15.7793 19.5498c67.1396 1.55957 232.359 18.0498 232.359 18.0498s20.1006 5.75977 23.1699 4.58008c12.8105 -6.25 0.589844 -33.4395 0.589844 -33.4395c-17.6396 -0.810547 -46.8896 -2.40039 -87.7695 -4.81055
c-10.4297 -0.799805 -18.04 -1.2002 -22.8496 -1.2002v-101c0.149414 0 111.279 0.930664 131.06 0.930664z" />
    <glyph glyph-name="alipay" unicode="&#xf642;" 
d="M377.74 416c38.6895 0 70.0898 -31.5703 69.9297 -70.2598v-234.41c-48.6104 16.7002 -99.6895 36.04 -148.62 52.7402c23.1406 44.2998 38.3506 90.9199 38.3506 90.9199h-88.7705v31.2402h109.45v19.0098h-109.44v50.4199h-50.9199v-50.4199h-109.439v-19.0098h109.439
v-31.2402h-92.0801v-16.7002h178.2s-9.91992 -30.25 -26.4502 -60.3398c-47.7793 14.71 -91.75 24.96 -127.13 24.96c-84.6396 0 -103.49 -42.4902 -99.5195 -81.5c3.30957 -31.0703 26.4502 -76.3701 97.04 -76.3701c64.4795 0 116.55 37.0303 148.62 81
c61.0098 -28.0996 125.64 -62.8203 171.6 -88.4404c-0.5 -38.5195 -31.7402 -69.5996 -70.2598 -69.5996h-307.48c-38.8496 0 -70.2598 31.4102 -70.2598 70.2598v307.48c0 38.8496 31.4102 70.2598 70.2598 70.2598h307.48zM47.2803 125.05
c-0.990234 17.5205 10.9102 50.5801 78.3594 50.5801c24.96 0 64.8105 -12.7295 109.44 -31.4102c-25.29 -33.2197 -65.7998 -72.8994 -117.87 -72.8994c-59.6797 0 -68.9404 33.5596 -69.9297 53.7295z" />
    <glyph glyph-name="the-red-yeti" unicode="&#xf69d;" horiz-adv-x="512" 
d="M488.23 206.3c2.95508 -3.9668 5.25098 -8.47559 6.76953 -13.2998c3.99121 -10.8701 7.04004 -22.4727 8.90039 -34.2002l-2.5 -0.5l-13 14.2998c-17.9004 -28.0996 -9.90039 -15.3994 -16.7002 -25.0996c0 -124.2 -101.3 -211.5 -223 -211.5
c-61.5 0 -113.9 20.2002 -157.5 60.2002c-64.5 60.8994 -64.9004 125 -64.9004 150.5c-0.5 1.7998 -0.700195 3.5 -1.2002 5.2002l-20.1992 -22.4004c-6.80078 43 25.6992 74.2998 33 80.7002c0.5 1 0.699219 2.2002 1.19922 3.2002l-28.7998 1l-3 3.39941
c8.5 3.5 25.2998 13.2998 40.2998 14.2998c7.63672 14.623 16.9365 28.0742 27.8008 40.3008c1.2998 6.39941 3.2998 14.1992 6.59961 25.7998l-7.59961 -4.7002l-1.7002 1.7002l1.7002 8.39941c10.6934 25.7754 26.6318 48.6221 46.6992 67.4004l-33 14.2998h3.7002
c20.9004 4.90039 33.2002 3.2998 49.2002 0c-2.5 4.10059 -5.40039 10.5 -8.40039 18.9004c-1.36035 3.74219 -2.09961 7.81445 -2.09961 12.0244c0 4.69629 0.923828 9.17871 2.59961 13.2754c8.90039 -7.40039 14.3008 -24.5996 15.2002 -27
c0.700195 3.59961 2.10059 21.2998 33.7002 45.5l1.83008 -0.5l-12 -44.2002c30 17.7002 63 21.9004 97.9004 11.7998c-12.7002 -12.1992 -24.3008 -28.8994 -42.5 -33c7.39941 -2.2998 28.6992 -9.69922 34.1992 -15.1992l-24.7998 7.09961
c6.5 -6 19.6006 -16.4004 25.1006 -25.0996c23.7891 -1.09473 46.9111 -5.74414 68.3994 -13.3008l-0.5 0.5c29.4004 14.7002 37.7002 27.3008 74.7998 3c0 -30.1992 -2.2998 -23.3994 3 -29.7998c7.69336 6.50391 16.1553 12.0381 25.3008 16.5
c13 6.40039 23.0996 4.7002 30.6992 -5.89941c11.8008 0 17.8008 -15.7002 18.4004 -27c14.7998 -2.90039 2.7002 -30.7002 2.5 -30.7002l-7.09961 -18.2002c7.7998 -7.7998 22.0996 -20.9004 31.6992 -44.7998zM398 336.8c-13.0996 8.90039 -22.7002 11.9004 -28.2998 8.5
c8.09961 -7.2002 13 -14.2998 13.5 -20.7002c1.2002 -7.59961 -2.2002 -14.7998 -10.6006 -21.8994l-4.19922 -3.40039c4.2002 -6.89355 7.1416 -14.793 8.39941 -23.0996h2.5c-2.09961 13.8994 -2.5 11 0.700195 14.7998c11 -6.40039 14.9004 -14.5 16 -19.9004
c21.7998 10.1006 29.5 12.7002 54.7998 20.9004l-18.2002 -16c11.4004 0 25.6006 0.299805 46.5 -8.40039c7 24.3008 7.10059 20.7002 2.5 20.7002l-4.69922 -11.2998c-1.7002 10.5 -2.90039 18.9004 -3.40039 25.2998c-0.5 6.7002 -3.90039 9.60059 -9.2998 10.1006
c-0.0117188 -0.470703 -0.0126953 -0.894531 -0.0126953 -1.36816c0 -4.77148 0.594727 -9.40527 1.71289 -13.832l-1.7002 -5.90039c-2.90039 10.6006 -5.90039 20.2002 -9.2998 27.7998c-9.7002 17.7002 -30.2002 -9.19922 -43 -11.2998
c4.53027 -0.25293 8.71777 -0.380859 13.3115 -0.380859c4.59277 0 9.15723 0.12793 13.6885 0.380859l-22.4004 -5.39941l3.40039 -4.7002c-5.5 0 -16.9004 -0.900391 -22.4004 17.2002zM358.4 346.9l-20.3008 -11.8008
c11.3008 -7.59961 20.2002 -18.1992 27.8008 -31.1992c6.39941 2.89941 10.0996 5.09961 11.7998 7.59961c2.5 2.7998 2.5 4.7002 3 7.09961c0.599609 1.30078 0.799805 2.7002 -3.40039 11.1006c-7.5 11.7998 -16.2002 15.2998 -18.8994 17.2002zM91 304.9
c-7.7998 -24.1006 -11.7002 -49.4004 -13.2002 -74.6006l13.2002 -5l1.2002 27c9.5 -16.3994 11.2002 -23.2998 12.2998 -28.7998c2.7998 2.09961 7.7002 7 22.5996 11.2998l1.2002 -1.7002l-7.59961 -10.5996c10.0996 3.5 19.5 3.5 28.2998 0.5l-10.5996 -8.40039
c22.7998 -8.39941 26.5996 -7.59961 38.3994 -26.0996l-11.7998 1.2002c34.9297 -20.5 66 -47.9004 141.2 -63.2002c15.5996 24.0996 14 21.0996 14 22.9004l0.200195 0.199219l-0.200195 0.200195c-0.700195 1.90039 -14.1006 16.6006 -18.2002 20.7002
c7.2998 -1.7998 6 -0.900391 10.7998 -3.7002c1.7002 -0.899414 -5.39941 5.40039 -21.8994 20.2002c16.5 -6.7002 27.5996 -15.5 33 -27.7998l1.69922 30.7002l-22.3994 17.6992l6.39941 5.90039c-7.2998 0 -31 3.7002 -49.1992 -16l-2.5 0.5
c6.9668 14.3867 12.4512 30.0156 16 46c1.9209 9.16797 2.95508 18.5742 3 28.2998c0 19.5 -4.7002 38.4004 -13.5 56.6006c-6.40039 13.5 -16.5 25.2998 -30 35.3994c-6.5957 4.94238 -13.4805 9.43652 -20.7002 13.5c3 0.700195 1 1.2002 -5.40039 1.2002
c-6.39941 0.200195 -13 0.700195 -19.3994 1.2002v-3c-10.2949 -1.63086 -19.2871 -7.22266 -25.3008 -15.2002h-1.19922l-5.40039 -3.40039c-1.2002 2.90039 0 6.30078 4.2002 9.30078l10.5996 11.2998l-3.39941 -0.5l2 3.39941
c-2.30078 0.200195 -4.2002 0.5 -6.2002 0.700195l-0.5 1.2002l2.5 1.7002c2.2002 -0.200195 4.59961 -0.5 7.09961 -0.700195c2.9043 1.54785 6.22559 2.4375 9.74414 2.4375c1.45898 0 2.88184 -0.150391 4.25586 -0.4375l2.5 -1.2002l0.200195 -0.5
c7.93457 0.514648 15.7422 1.49121 23.4004 2.90039c20.6992 2.89941 36.6992 11.2998 48.5 24.7998l-21.1006 0.5c-25.7998 0.5 -49.3994 -5.40039 -71.2998 -18.9004l-2.5 2.5l0.5 4.7002l1.7002 7.10059c1.66211 8.54199 3.83691 17.1143 6.39941 25.2998
c-1.69922 -0.700195 -4.59961 -4.90039 -9.2998 -11.2998c-4.7002 -6.40039 -8.39941 -13 -10.0996 -19.4004c-1.0957 -5.14258 -3.14062 -10.0195 -5.90039 -14.2998l-13.5 29l8.40039 -35.7998l-0.5 -1.7002c-0.00585938 0 -0.0146484 0.0117188 -0.0195312 0.0117188
c-5.57227 0 -10.9424 0.87207 -15.9805 2.48828c-3.40039 0.700195 -10.6006 1.2002 -20.9004 1.2002c0.5 0 -0.700195 0 -3.2002 -0.5c5.40039 -1.30078 13.5 -4.2002 24.8008 -8.40039l6.39941 1.2002c-4.2002 -3.40039 -10.8994 -10.1006 -20.2002 -19.4004
c-9.39941 -8.89941 -20.1992 -26.0996 -32.5 -50.2002l4.2002 1.2002l10.1006 9.2998l-5.40039 -4.69922l13 12.2998l-2.5 -3.40039c-5.09961 -7.59961 -8.09961 -12.2998 -9.2998 -15.2002zM367.5 -25.0996c8.2998 40.2998 3.59961 55.1992 -0.700195 89.5
c-35.5 -11.8008 -20.2998 -6 -32 -10.8008l10.5 -14.1992l-1.2002 -1.2002c-20.1992 6 -23.1992 10.7998 -27.7998 15c6 -22.2002 13.9004 -26.4004 29.5 -31.7002c-9.5 -9.59961 -25.3994 4 -34.3994 13l2.5 -23.5996l-4.2002 -3c-5 22.0996 -22 39.0996 -25.2998 39.0996
c-44 -13 -79.1006 -5.7998 -113.9 10.5996c-1.59961 -0.399414 -70.5996 -18 -120.5 37.1006c13.7002 -35 32.2998 -63.7002 71.2998 -82.6006c-4.98047 10.3184 -12.0117 19.3135 -20.7002 26.6006c0 0 0.700195 3.7002 1.2002 10.0996
c19.4004 -19.3994 50.7002 -39.5 93.2002 -60.2002c-59.5996 24.5 -59.9004 24.8008 -69.0996 29l16 -20.6992c-3 -1.30078 -6.7002 -0.5 -10.1006 1.19922c-12.5371 7.32422 -24.2949 15.5693 -35.3994 24.8008c1.89941 -2.2002 80.0996 -98.5 200.899 -74.3008
c-43.0996 21.8008 -52.3994 52.4004 -66.5996 73.5l17.7002 -7.59961l-11.8008 23.0996c20.1006 -27.7998 28.6006 -35 38.4004 -44.2998l-30 16.5c12.5996 -27.0996 33.7002 -47 63.5 -58.7998c2.90039 1.5 9.09961 -1.09961 59 23.9004zM482.8 189.3l8.93066 -12.7998
l-12.3008 32.5c10.9004 0 10 -0.0996094 21.2002 -3.40039c-8.16406 11.4756 -17.0879 22.0469 -27 32l-26.5996 23.1006l1.2002 3l23.5996 2.5c-10.6865 2.35742 -21.708 3.79199 -33 4.2002l-17.7002 -0.5l-0.5 2.89941l14.7998 13l-41.7998 -20.2002l-12.2998 18.9004
l3.40039 -16l-2.5 -1.2002l-5.90039 4.2002h-10.0996l5.39941 -4.2002v-2l-13.5 -27.7998c-10.0996 -31.2002 -21.8994 -67.9004 -35.3994 -109.7l1.19922 16l-1.19922 -3v-0.5c-6.40039 -16 -13.6006 -29.5 -21.2002 -39.5996l9.2998 21.8994l-46.7002 -20.1992
c11.7998 13.5 23.6006 19.3994 34.9004 18.8994c-71.2002 11.4004 -106.2 41 -110.4 46c3.60059 -6.2002 13.2002 -17.7998 16 -40.0996l-1.7002 -1.2002c-4.2998 15.5996 -16.3994 46.5996 -55.7998 69.5996l23.6006 -2.5c-10.5 12.6006 -36.3008 17.8008 -40.8008 16
l-2.5 2.5l8.40039 8.40039l-22.2998 -5.7998l5.39941 13.5c-8.09961 -4.40039 -4.2998 -2.40039 -17 -8.90039l-1.69922 0.5c0.599609 0.600586 0.899414 -0.700195 -3 9.2998c-0.600586 -11 -0.400391 -8.59961 -1 -11.7998
c-1.29785 -0.430664 -2.54785 -1.00781 -3.7002 -1.7002c-40 20.6006 -57.2002 11 -73 5.2002c36.7998 -6 29.2998 -4 38.3994 -9.2998c-25.7998 -12.2002 -31.8994 -12.5996 -51.3994 -70.0996l22.2695 22.2998l2.5 -16.4004c13.4004 -58 68.7002 -92.5 126.4 -83.3994
l-26.1006 22.3994l44.8008 -22.3994l-1.2002 -3c4.59961 -1.7002 9.2998 -3 13.5 -4.2002c19.3359 -5.72266 39.5713 -8.83887 60.752 -8.83887c11.0293 0 21.8643 0.832031 32.4482 2.43848l-32.5 21.2002c35.7998 -7 50.6992 -31.4004 56.7998 -39.5996l-7.60059 29
l1.2002 2.5l19 -27.9004l-9.2998 26.5996l21.9004 -13.5h1.19922l-3.39941 4.2002l7.09961 -4.7002l-14.2998 16l1.2002 3l7.59961 -7.09961c4.2998 1.2002 41.4004 10.5 80.9004 40.2998c47.8994 35.4004 68.0996 73.7998 71.5996 79.7002l-3 9.2998zM476.7 260.6
l-18.2002 -1.19922l14.2998 -11.8008zM221.9 253.5c2.69922 -5.09961 5.69922 -12.4004 18.3994 -18.7998c-7.5 -10.9004 -8.2998 -10.5 -20.2002 -16c-7.59961 -7.7002 -13.5 -13.1006 -17.6992 -14.7998l7.09961 13c-5.38281 -1.97266 -11.167 -3.06836 -17.2295 -3.06836
c-2.57324 0 -5.10156 0.194336 -7.57031 0.568359l-0.5 1.19922c19 2.10059 37.2002 9.40039 46.5 16c-4.10059 4.2002 -7.10059 11.3008 -8.7998 21.9004zM225.6 355.8c5.87793 -3.32715 10.7842 -8.04688 14.3008 -13.7998
c14.6992 -24.0996 19.1992 -40.0996 11.2998 -47.7002c-7.90039 -7.59961 -16.7998 -7.09961 -26.1006 3c-9.2998 10.1006 -13.5 23.7002 -11.7998 39.6006c1.7002 15.8994 5.90039 22.2998 12.2998 18.8994zM220.9 309.5
c7.09961 -21.2998 33.3994 -23.0996 26.8994 4.90039c-3.89941 16.5 -8.7998 27.0996 -15.2002 32.5c-6.59961 5.39941 -10.0996 6.69922 -11.2998 4.19922c-2.5 -2.89941 -3.5 -11.2998 -3 -24.7998c7.5 12.7998 11.6006 5.90039 12.5 4.7002l-0.5 -0.5
c-0.799805 -1.7002 -2.59961 -3.09961 1.7002 -6.2002l1.2002 0.5v-4.7002c-1.7998 -12.5 -6.90039 -12.7998 -12.2998 -10.5996zM175.9 315c-2.41016 0.448242 -4.38965 2.04102 -5.40039 4.2002c-3.5 8.5 0 21.2002 8.09961 21.2002
c2 -0.5 3.7002 -1.7002 5.40039 -4.7002c-1.5 -0.400391 -4.7002 -4.7998 0.700195 -5.90039h0.5c0 -13.7002 -7.7002 -15.0996 -9.2998 -14.7998zM216 365.1l-3.7002 2.40039l-0.5 2.5c18.2998 0 25.7998 -8.7998 28.2998 -14.2998
c-6.94727 3.78809 -14.9268 5.97363 -23.3916 5.97363c-0.90918 0 -1.81152 -0.0244141 -2.70801 -0.0742188l-0.5 3zM144.2 315.7c1.59961 -1.60059 0.599609 -0.299805 4.89941 -6.60059c-25.3994 -4.69922 -23.1992 -12.2998 -30 -12.2998
c0.300781 0.600586 7.10059 16 23.6006 16l-7.10059 7.60059c9.40039 0.5 15.2002 2.09961 19.9004 -5.90039c0.0214844 8.14648 1.03027 16.0225 2.90039 23.5996c2 7.60059 3.69922 11.8008 5.39941 13.5c1 1.5 16.2998 15.7002 29 22.4004
c2.33496 1.68262 5.22168 2.67676 8.31641 2.67676c1.8291 0 3.57715 -0.34668 5.18359 -0.976562c0.321289 -0.390625 0.515625 -0.889648 0.515625 -1.43457c0 -0.0898438 -0.00488281 -0.178711 -0.015625 -0.265625l-13 -7.59961
c7.60059 -11.8008 10.5 -25.3008 8.7998 -41.3008c-1.11328 -11.292 -6.61426 -21.3291 -14.7998 -28.2998l2.90039 -4.7002c-30 2.2002 -24.7998 6.80078 -46.5 23.6006zM162.9 334.4c-1.80078 -7.2002 -2.30078 -16 -3.10059 -26l5.40039 -6.40039l7.09961 -3.40039
c2.39648 -0.458008 4.79688 -0.699219 7.3252 -0.699219c1.3418 0 2.66797 0.0673828 3.97461 0.199219c1 1.7002 3.5 4.2002 6.40039 7.60059c5 5.89941 7.90039 13.7998 8.40039 23.0996c0.0849609 1.43848 0.113281 2.82617 0.113281 4.28613
c0 7.30859 -1.08887 14.3643 -3.11328 21.0137c-3 8.10059 -5.90039 11 -10.1006 9.30078c-5.39941 -1.7002 -10.5996 -5.40039 -16 -11.8008c-3 -4.19922 -5.2002 -9.59961 -6.39941 -17.1992zM204.9 278.3l-3.10059 -6.5c7.10059 4.2002 13.5 7.2002 19.4004 8.40039
l7.09961 0.5l11.7998 -7.60059h-2.5c-8.7998 3.7002 -19.3994 1.2002 -30.6992 -7.59961c-0.5 -4.7002 1.69922 -14.7002 5.89941 -29.5l9.2002 0.5c-21.9004 -6.59961 -37.5996 -8.40039 -48.9004 -5.40039c-24.8994 6.7002 -27.3994 23.6006 -27.5 24.1006
c-1.74121 6.70996 -2.67871 13.6348 -2.67871 20.8867c0 4.35645 0.333984 8.63574 0.979492 12.8135c-6.40039 -0.5 -11 -4.2002 -15.2002 -10.6006c-2.90039 5.90039 -5.40039 8.7998 -5.90039 9.2998c1.5 0.700195 12.2998 7.5 32.5 4.90039l0.5 -2.5l-5.89941 -1.2002
c-0.100586 -0.399414 -1.90039 -29.5 18.8994 -24.7998c1.40039 0.299805 1.2998 -0.0996094 36.1006 14.2998z" />
    <glyph glyph-name="acquisitions-incorporated" unicode="&#xf6af;" horiz-adv-x="384" 
d="M357.45 -20.2002c2.2002 -14.2998 4.09961 -28.7002 6.59961 -43.7002c-367.8 0 -153.899 -0.599609 -337.1 0c-4 0 -6.10059 0.700195 -5.2998 5.7002c2.09961 12.9004 3.5 25.9004 5 38.7998c0.5 4.80078 2.2998 6.80078 7.59961 6.80078
c118.1 -1 114.9 -0.300781 121.4 2.39941c9.39941 4 14.8994 12.9004 14.8994 23.1006c-0.0996094 42.8994 -0.299805 85.8994 -0.200195 128.8c0 3.7998 -1.19922 5.89941 -4.59961 6.7998c-15.7002 3.90039 -31.2998 7.7002 -47.5996 11.7002
c-5.30078 -12.2998 -10.4004 -24.4004 -15.7002 -36.7002c1.7998 -3.2998 28.3994 -2.90039 35.2998 -2.90039v-27.5996h-114.3c1 8.59961 1.7002 16.7998 3.2002 24.9004c0.299805 1.39941 3.59961 3.09961 5.5 3.19922
c8.39941 0.400391 16.8994 0.300781 25.3994 0.100586c4 0 5.90039 1.09961 7.60059 5.2002c16.5996 40.6992 13.5 31.1992 67.2998 161c31.5 76.0996 33 76 32.5996 87.3994c-0.700195 18.6006 -25.3994 22.2998 -37.7002 22.1006c-30 -0.400391 -38.3994 0.5 -101.8 0.5
c-7.2002 44.5 -4.2002 32.0996 -6.39941 45.2998c-0.700195 4.2002 1 5.2998 4.59961 5.2998l339.1 -0.200195c-0.799805 -5.39941 -1.59961 -10.7998 -2.39941 -16.0996c-1.2998 -9.7002 -2.7998 -19.4004 -4 -29.2002c-0.299805 -2.90039 -1.2002 -4.2998 -4.2998 -4.2998
c-20.6006 -0.100586 -41.2002 -0.100586 -61.8008 -0.5c-18.6992 -0.400391 -37.5996 -0.299805 -56.1992 -2c-13.4004 -1.2002 -23.3008 -12.6006 -18.9004 -26.6006c8.59961 -27.0996 27.7002 -69.0996 36.5 -89.1992c65.7002 -154.2 61.4004 -157 84 -158.601
c6.59961 -0.5 13.4004 -0.0996094 20.4004 -0.0996094c1.2998 -9.40039 2.59961 -18 4 -27.5h-116v27c10.3994 0 20.3994 0.0996094 30.3994 -0.100586c3.5 0 5 0.700195 3.40039 4.40039c-4.40039 10.2998 -8.7002 20.5996 -13.2002 30.9004
c-1.59961 3.69922 -4.09961 4.7998 -8.40039 3.5c-12.3994 -3.60059 -24.7998 -6.7002 -37.2998 -9.7002c-4.2998 -1.10059 -6 -2.7998 -5.89941 -7.5c0.799805 -57.5 0.899414 -127.5 1 -129.101c0.399414 -12.5996 8.69922 -21.3994 21 -23.0996
c0.899414 -0.200195 12.8994 -2.7998 112.699 -2.59961c8.30078 0 8.40039 0.0996094 9.60059 -7.60059zM182.55 185.5c2.87695 -1.01465 5.98633 -1.56641 9.20801 -1.56641s6.31543 0.551758 9.19238 1.56641c13 4.2002 26.2998 7.7998 39.3994 11.7002
c1.34473 0.620117 2.65234 1.32422 3.90039 2.09961c-6.7002 17.4004 -13.0996 34.2002 -19.7002 50.9004c-8.89941 22.7002 -17.7002 60.2998 -27 82.7998c-1.5 0.799805 -1.89941 -2.40039 -9.39941 0c-17.1006 -44 -34.1006 -87.7998 -51.3008 -132.1
c1.8457 -1.09766 3.7959 -2.07422 5.80078 -2.90039c13.2998 -4.2998 26.5996 -8.2998 39.8994 -12.5z" />
    <glyph glyph-name="critical-role" unicode="&#xf6c9;" 
d="M225.82 448c0.259766 -0.150391 216.569 -124.51 217.12 -124.72c3 -1.18066 3.69922 -3.45996 3.69922 -6.56055c-0.0732422 -83.4463 -0.0732422 -166.899 0 -250.359c0.0117188 -0.150391 0.0175781 -0.302734 0.0175781 -0.456055
c0 -2.36035 -1.38867 -4.38867 -3.39746 -5.32422c-21.3701 -12 -207.859 -118.29 -218.93 -124.58h-3c-79.3301 45.6602 -218.25 125.44 -218.4 125.52c-1.11816 0.526367 -1.89355 1.66309 -1.89355 2.97949c0 0.0898438 0.00683594 0.173828 0.0136719 0.260742
c0 0.870117 0 225.94 -0.0498047 253.101c-0.00976562 0.124023 -0.0136719 0.25 -0.0136719 0.376953c0 2.02832 1.20605 3.76855 2.94336 4.55273c23.2607 13.0996 209.271 119.21 220.141 125.21h1.75zM215.4 427.58l-0.219727 0.158203
c-64.7471 -36.8604 -129.474 -73.7305 -194.18 -110.61c0 -0.120117 0.0800781 -0.229492 0.129883 -0.349609l30.8604 -11.6406c-7.70996 -6 -8.32031 -6 -10.6504 -5.12988c-0.0996094 0 -24.1699 9.28027 -26.7998 10v-230.43
c0.879883 1.41016 64.0703 110.91 64.1299 111c1.62012 2.82031 3 1.91992 9.12012 1.51953c1.40039 -0.0898438 1.47949 -0.219727 0.780273 -1.41992c-41.1904 -71.3301 -36.4004 -63 -67.4805 -116.939c-0.80957 -1.40039 -0.609375 -1.12988 1.25 -1.12988h186.5
c1.44043 0 1.69043 0.229492 1.7002 1.63965v8.87988c0 1.33984 2.36035 0.810547 -18.3701 1c-7.45996 0.0703125 -14.1396 3.21973 -21.3799 12.7002c-7.37988 9.66016 -14.6201 19.4297 -21.8496 29.21c-2.28027 3.08008 -3.4502 2.37988 -16.7607 2.37988
c-1.75 0 -1.7793 0 -1.75977 -1.82031c0.290039 -26.21 0.150391 -25.2695 1 -32.6592c0.520508 -4.37012 2.16016 -4.2002 9.69043 -4.81055c3.13965 -0.259766 3.87988 -4.08008 0.519531 -4.91992c-1.57031 -0.389648 -31.5996 -0.509766 -33.6699 0.0996094
c-1.02539 0.28125 -1.7793 1.2207 -1.7793 2.33496c0 1.21973 0.905273 2.22949 2.0791 2.39551c3.29004 0.759766 6.16016 -0.80957 6.66016 4.44043c1.2998 13.6592 1.16992 9 1.09961 79.4199c0 10.8193 -0.349609 12.5801 -5.35938 13.5498
c-1.21973 0.240234 -3.54004 0.160156 -4.69043 0.549805c-2.87988 1 -2 4.83984 1.77051 4.84961c33.6699 0 46.0801 1.07031 56.0596 -4.85938c7.74023 -4.61035 12 -11.4805 12.5098 -20.4004c0.880859 -14.5898 -6.50977 -22.3496 -15 -32.5898
c-0.313477 -0.267578 -0.511719 -0.666016 -0.511719 -1.11035s0.198242 -0.841797 0.511719 -1.10938c2.60059 -3.25 5 -6.62988 7.70996 -9.83008c27.5605 -33.2305 24.1104 -30.54 41.2803 -33.0605c0.890625 -0.129883 1 0.419922 1 1.15039v11
c0 1 0.320312 1.42969 1.41016 1.25977c3.57227 -0.542969 7.23047 -0.825195 10.9531 -0.825195c4.35449 0 8.4834 0.386719 12.627 1.125c1.08008 0.150391 1.5 -0.199219 1.47949 -1.33008c0 -0.109375 0.880859 -26.6895 0.870117 -26.7998
c-0.0498047 -1.51953 0.669922 -1.62012 1.89062 -1.62012h186.71c-27.1533 47.0342 -54.2334 93.9746 -81.2402 140.821c2.25977 0.660156 -0.400391 0 6.69043 1.38965c2 0.390625 2.0498 0.410156 3.10938 -1.43945c7.31055 -12.6396 77.3105 -134 77.3701 -134.061
v230.44c-1.71973 -0.5 -103.3 -38.7197 -105.76 -39.6797c-1.08008 -0.419922 -1.5498 -0.200195 -1.91016 0.879883c-0.629883 1.89941 -1.33984 3.75977 -2.08984 5.62012c-0.320312 0.790039 -0.0898438 1.12988 0.649414 1.38965
c0.100586 0 95.5303 35.8496 103 38.7705c-65.4199 37.5693 -130.56 75 -196 112.6l86.8203 -150.39l-0.280273 -0.330078c-9.56934 0.899414 -10.46 1.59961 -11.7998 3.93945c-1 1.69043 -73.5 127.71 -82 142.16c-9.09961 -14.6699 -83.5596 -146.21 -85.3701 -146.32
c-2.92969 -0.169922 -5.87988 -0.0800781 -9.25 -0.0800781c28.833 49.8271 57.5596 99.4941 86.1797 149.001zM267.331 297.658c1.88379 0.146484 3.74316 0.435547 5.54004 0.849609c1.68945 0.299805 2.53027 -0.200195 2.59961 -1.91992
c0 -0.109375 0.0703125 -19.0596 -0.859375 -20.4502c-0.930664 -1.38965 -1.87988 -1.21973 -2.60059 0.19043c-5 9.68945 6.2207 9.66016 -39.1201 12c-0.699219 0 -1 -0.230469 -1 -0.929688c0 -0.130859 3.7207 -122 3.73047 -122.11
c0 -0.889648 0.519531 -1.2002 1.20996 -1.50977c2.97363 -1.18262 5.9043 -2.54883 8.7002 -4.0498c7.30957 -4.33008 11.3799 -10.8408 12.4102 -19.3105c1.43945 -11.7998 -2.77051 -35.7695 -32.21 -37.1396c-2.75 -0.129883 -28.2607 -1.08008 -34.1406 23.25
c-4.66016 19.2598 8.25977 32.7002 19.8906 36.3994c1.14258 0.208008 2.00977 1.20898 2.00977 2.41113c0 0.0849609 -0.00195312 0.166016 -0.00976562 0.249023c0.0996094 5.62988 3 107.101 3.70996 121.351c0.0498047 1.0791 -0.620117 1.15918 -1.35059 1.14941
c-32.3496 -0.519531 -36.75 0.339844 -40.2197 -8.51953c-2.41992 -6.18066 -4.13965 -1.32031 -3.9502 -0.230469c1.05957 6 2.16309 12 3.31055 18c0.399414 2.11035 1.42969 2.61035 3.42969 1.86035c5.58984 -2.11035 6.71973 -1.7002 37.25 -1.91992
c1.72949 0 1.78027 0.0800781 1.82031 1.84961c0.679688 27.4902 0.579102 22.5898 1 29.5498c0.0117188 0.106445 0.0185547 0.213867 0.0185547 0.322266c0 1.11719 -0.679688 2.07129 -1.64941 2.47852c-5.59961 2.90918 -8.75 7.5498 -8.89941 13.8691
c-0.350586 14.8105 17.7197 21.6699 27.3799 11.5107c6.83984 -7.19043 5.7998 -18.9102 -2.4502 -24.1504c-1.34473 -0.740234 -2.25684 -2.1709 -2.25684 -3.81348c0 -0.180664 0.015625 -0.351562 0.0371094 -0.526367c0 -0.589844 -0.110352 4.30957 1 -30.0498
c0 -0.900391 0.429688 -1.12012 1.24023 -1.11035c0.0996094 0 23 0.0898438 34.4697 0.370117zM68.2705 306.298c19.8408 4.50977 32.6807 0.560547 52.4902 -1.68945c2.75977 -0.310547 3.74023 -1.2207 3.62012 -4c-0.209961 -5 -1.16016 -22.3301 -1.24023 -23.1504
c-0.0419922 -1.05566 -0.702148 -1.9541 -1.62988 -2.33984c-4.05957 -1.7002 -3.60938 4.4502 -4 7.29004c-3.12988 22.4297 -73.8701 32.7002 -74.6299 -25.4004c-0.30957 -23.9199 17 -53.6299 54.0801 -50.8799c27.2402 2 19 20.1904 24.8398 20.4697
c0.120117 0.0166016 0.241211 0.0244141 0.365234 0.0244141c1.50098 0 2.71973 -1.21875 2.71973 -2.71973c0 -0.229492 -0.03125 -0.451172 -0.0849609 -0.664062c-1.83008 -10.8506 -3.41992 -18.9502 -3.4502 -19.1504
c-1.54004 -9.16992 -86.6992 -22.0898 -93.3496 42.0605c-2.70996 25.8496 10.4404 53.3691 40.2695 60.1494zM148.271 218.628h-19.4893c-0.0703125 -0.00585938 -0.140625 -0.00878906 -0.210938 -0.00878906c-1.15039 0 -2.12109 0.756836 -2.44922 1.79883
c2.37988 3.75 5.88965 -0.919922 5.86035 6.13965c-0.0800781 25.75 0.209961 38 0.229492 40.1006c0 3.41992 -0.530273 4.64941 -3.32031 4.93945c-7 0.720703 -3.10938 3.37012 -1.10938 3.38086c11.8398 0.0996094 22.6201 0.179688 30.0498 -0.720703
c8.76953 -1.06934 16.71 -12.6299 7.92969 -22.6201c-2 -2.25 -4 -4.41992 -6.13965 -6.72949c0.950195 -1.15039 6.89941 -8.82031 17.2803 -19.6797c2.65918 -2.78027 6.14941 -3.51074 9.87988 -3.13086h0.0214844c1.18945 0 2.16016 0.943359 2.20801 2.12012
c0.299805 3.41992 0.259766 -4.72949 0.450195 40.5801c0 5.65039 -0.339844 6.58008 -3.22949 6.83008c-3.9502 0.350586 -4 2.25977 -0.69043 3.37012l19.0898 0.0898438c0.320312 0 4.49023 -0.530273 1 -3.37988c0 -0.0498047 -0.160156 0 -0.240234 0
c-3.60938 -0.259766 -3.93945 -1 -4 -4.62012c-0.269531 -43.9297 0.0703125 -40.2295 0.410156 -42.8203c0.110352 -0.839844 0.270508 -2.22949 5.10059 -2.13965c2.48926 0 3.85938 -3.37012 0 -3.39941c-10.3701 -0.0800781 -20.7402 0 -31.1104 -0.0703125
c-10.6699 0 -13.4697 6.2002 -24.21 20.8203c-1.59961 2.17969 -8.31055 2.35938 -8.2002 0.369141c0.879883 -16.4697 0 -17.7793 4 -17.6699c4.75 0.100586 4.73047 -3.56934 0.830078 -3.5498h0.0595703zM423.271 228.778
c-1.20996 -7.12988 0.170898 -10.3799 -5.2998 -10.3398c-61.5498 0.419922 -47.8193 0.219727 -50.7197 0.30957c-1.24414 0.12207 -2.4707 0.37207 -3.62988 0.730469c-2.53027 0.599609 1.47949 1.22949 -0.379883 5.59961
c-1.43066 3.37012 -2.78027 6.78027 -4.11035 10.1895c-0.219727 0.831055 -0.976562 1.44336 -1.87598 1.44336c-0.0419922 0 -0.0820312 0 -0.124023 -0.00292969c-2.22852 0.107422 -4.4707 0.161133 -6.72559 0.161133
c-2.70605 0 -5.18652 -0.0771484 -7.85449 -0.231445c-0.6875 -0.0898438 -1.27734 -0.491211 -1.62012 -1.05957c-1.58008 -3.62012 -3.06934 -7.29004 -4.50977 -11c-1.26953 -3.23047 7.86035 -1.32031 12.1904 -2.16016c3 -0.570312 4.5293 -3.71973 0.65918 -3.72949
h-26.3691c-2.91992 0 -3.09082 3.14941 -0.740234 3.20996c0.0966797 -0.00488281 0.194336 -0.00683594 0.291992 -0.00683594c2.46484 0 4.59277 1.41211 5.62793 3.47656c1.5 3 2.7998 6 4.11035 9.08984c18.1797 42.1396 17.0596 40.1699 18.4199 41.6104
c0.330078 0.473633 0.879883 0.783203 1.50098 0.783203s1.16797 -0.30957 1.49902 -0.783203c2.92969 -3.33984 18.3994 -44.71 23.6201 -51.9199c2 -2.7002 5.73926 -2 6.35938 -2c3.61035 -0.130859 4 1.10938 4.12988 4.29004
c0.0898438 1.86914 0.0800781 -1.1709 0.0703125 41.2393c0 4.45996 -2.36035 3.74023 -5.5498 4.27051c-0.259766 0 -2.56055 0.629883 -0.0800781 3.05957c0.209961 0.200195 -0.890625 0.240234 21.7002 0.150391c2.31934 0 5.31934 -2.75 -1.20996 -3.4502
c-0.0390625 0.00195312 -0.078125 0.00292969 -0.116211 0.00292969c-1.41309 0 -2.56055 -1.14746 -2.56055 -2.56055c0 -0.0927734 0.00683594 -0.181641 0.0166016 -0.272461c-0.0703125 -1.62988 -0.19043 -38.8896 0.290039 -41.21
c0.288086 -1.39062 1.52051 -2.43652 2.99609 -2.43652c0.0791016 0 0.155273 0.000976562 0.233398 0.00683594c13.25 -0.430664 14.9199 -0.44043 16 3.41016c1.66992 5.7793 4.12988 2.51953 3.73047 0.189453zM318.551 164.408
c-4.24023 0 -4.41992 3.38965 -0.609375 3.41016c35.9092 0.160156 28.1094 -0.379883 37.1895 0.649414c1.67969 0.19043 2.37988 -0.239258 2.25 -1.88965c-0.259766 -3.38965 -0.639648 -6.78027 -1 -10.1602c-0.25 -2.16016 -3.2002 -2.61035 -3.39941 0.150391
c-0.380859 5.30957 -2.15039 4.44922 -15.6309 5.08008c-1.58008 0.0693359 -1.63965 0 -1.63965 -1.52051v-16.1299c0 -1.65039 0 -1.59961 1.62012 -1.46973c3.12012 0.25 10.3096 -0.339844 15.6895 1.51953c0.470703 0.160156 3.30078 1.79004 3.07031 -1.75977
c0 -0.209961 -0.759766 -10.3496 -1.17969 -11.3896c-0.530273 -1.29004 -1.87988 -1.51074 -2.58008 -0.320312c-1.16992 2 0 5.08008 -3.70996 5.2998c-15.4199 0.900391 -12.9102 2.5498 -12.9102 -6c0 -12.25 -0.759766 -16.1104 3.88965 -16.2402
c16.6406 -0.479492 14.4004 0 16.4307 5.70996c0.839844 2.37012 3.5 1.77051 3.17969 -0.580078c-0.44043 -3.20996 -0.849609 -6.42969 -1.22949 -9.63965c0 -0.360352 -0.160156 -2.39941 -4.66016 -2.38965c-37.1602 0.0800781 -34.54 0.189453 -35.21 0.30957
c-2.7207 0.509766 -2.2002 3 0.219727 3.4502c1.09961 0.19043 4 -0.540039 4.16016 2.55957c2.43945 56.2207 -0.0703125 51.3408 -3.91016 51.3301zM318.141 273.928c2.45996 -0.609375 3.12988 -1.75977 2.9502 -4.64941
c-0.330078 -5.2998 -0.339844 -9 -0.549805 -9.69043c-0.660156 -2.22949 -3.15039 -2.12012 -3.33984 0.270508c-0.379883 4.80957 -3.0498 7.81934 -7.57031 9.14941c-26.2803 7.73047 -32.8096 -15.46 -27.1699 -30.2197c5.87988 -15.4102 22 -15.9199 28.8604 -13.7803
c5.91992 1.85059 5.87988 6.5 6.91016 7.58008c1.22949 1.2998 2.25 1.83984 3.11914 -1.09961c0 -0.100586 0.570312 -11.8906 -6 -12.75c-1.59961 -0.209961 -19.3799 -3.69043 -32.6797 3.38965c-21 11.1904 -16.7402 35.4697 -6.87988 45.3301
c14 14.0596 39.9102 7.05957 42.3203 6.46973h0.0292969zM289.801 167.858c3.28027 0 3.66016 -3 0.160156 -3.43066c-2.61035 -0.319336 -5 0.419922 -5 -5.45996c0 -2 -0.19043 -29.0498 0.400391 -41.4502c0.109375 -2.28906 1.14941 -3.51953 3.43945 -3.64941
c22 -1.20996 14.9502 1.64941 18.79 6.33984c1.83008 2.24023 2.75977 -0.839844 2.75977 -1.08008c0.350586 -13.6201 -4 -12.3896 -5.18945 -12.3994l-38.1602 0.189453c-1.92969 0.230469 -2.05957 3 -0.419922 3.37988c2 0.480469 4.93945 -0.399414 5.12988 2.7998
c1 15.8701 0.570312 44.6504 0.339844 47.8105c-0.269531 3.76953 -2.7998 3.26953 -5.67969 3.70996c-2.46973 0.379883 -2 3.21973 0.339844 3.21973c1.4502 0.0205078 17.9697 0.0302734 23.0898 0.0205078zM258.171 225.648
c0.0703125 -4.08008 2.86035 -3.45996 6 -3.58008c2.61035 -0.100586 2.53027 -3.41016 -0.0703125 -3.43066c-6.47949 0 -13.6992 0 -21.6094 0.0605469c-3.83984 0 -3.37988 3.34961 0 3.37012c4.49023 0 3.24023 -1.61035 3.41016 45.54
c0 5.08008 -3.27051 3.54004 -4.7207 4.22949c-2.58008 1.23047 -1.35938 3.08984 0.410156 3.15039c1.29004 0 20.1904 0.410156 21.1699 -0.209961c0.980469 -0.620117 1.87012 -1.65039 -0.419922 -2.86035c-1 -0.519531 -3.85938 0.280273 -4.14941 -2.46973
c0 -0.209961 -0.820312 -1.62988 -0.0703125 -43.7998h0.0498047zM221.261 -48.6221c0.46582 -0.311523 1.02539 -0.493164 1.62695 -0.493164c0.602539 0 1.16797 0.181641 1.63281 0.493164c17 9.79004 182 103.57 197.421 112.51
c-0.140625 0.430664 11.2598 0.180664 -181.521 0.270508c-1.21973 0 -1.57031 -0.370117 -1.53027 -1.56055c0 -0.0996094 1.25 -44.5098 1.2207 -50.3799c-0.0966797 -2.67383 -0.571289 -5.27344 -1.36035 -7.70996c-0.549805 -1.83008 0.379883 0.5 -13.5 -32.2295
c-0.730469 -1.7207 -1 -2.20996 -2 0.0800781c-4.19043 10.3398 -8.28027 20.7197 -12.5703 31c-1.29785 2.92285 -2.01953 6.15723 -2.01953 9.55957c0 0.412109 -0.000976562 0.823242 0.0195312 1.23047c0.160156 2.45996 0.800781 16.1191 1.51074 48
c0 1.94922 0 2 -2 2h-183c2.5791 -1.63086 178.319 -102.57 196 -112.761zM130.361 140.128c0 -2.39941 0.359375 -2.79004 2.75977 -3c11.54 -1.16992 21 -3.74023 25.6396 7.32031c6 14.46 2.66016 34.4102 -12.4795 38.8398c-2 0.589844 -16 2.75977 -15.9404 -1.50977
c0.0498047 -8.04004 0.00976562 -11.6104 0.0205078 -41.6504zM236.111 155.178c0 -2.12988 1.06934 -38.6797 1.08984 -39.1299c0.339844 -9.93945 -25.5801 -5.76953 -25.2305 2.58984c0.0800781 2 1.37012 37.4199 1.10059 39.4307
c-14.1006 -7.44043 -14.4199 -40.21 6.43945 -48.8008c2.18066 -0.946289 4.58594 -1.4707 7.11328 -1.4707c6.46094 0 12.1299 3.40332 15.2773 8.54102c4.90918 7.75977 6.83984 29.4697 -5.43066 39c-0.114258 -0.0478516 -0.237305 -0.0888672 -0.359375 -0.120117
v-0.0400391zM223.831 353.178c-9.83008 0 -9.73047 -14.75 -0.0703125 -14.8701c9.66016 -0.119141 10.1006 14.8809 0.0703125 14.9102v-0.0400391zM143.681 249.348c0 -1.7998 0.410156 -2.39941 2.16992 -2.58008c13.6201 -1.38965 12.5107 11 12.1602 13.3604
c-1.68945 11.2197 -14.3799 10.2002 -14.3496 7.81055c0.0498047 -4.5 -0.0302734 -13.6807 0.0195312 -18.5908zM356.001 242.948l-6.09961 15.8398c-2.16016 -5.48047 -4.16016 -10.5703 -6.23047 -15.8398h12.3301z" />
    <glyph glyph-name="d-and-d-beyond" unicode="&#xf6ca;" horiz-adv-x="640" 
d="M313.8 206.5c-9.89941 0 -16 7 -15.7002 7.09961c-4.2998 5.7002 -3 -0.299805 -2.39941 -1.89941c-10.9004 10.2998 -5.2998 25.3994 -5.10059 26c0.700195 1.89941 0 2.2002 -0.599609 1.89941c-1 -0.299805 -2.09961 -1.89941 -2.09961 -1.89941
c0.799805 9.09961 9.2998 14.7002 9.2998 14.7002l0.200195 -0.200195c1 -1.5 -0.400391 -3.2002 -0.600586 -9c1.60059 2.2998 7.90039 6.59961 11.4004 7.89941c-1.10059 -1.5 -2.10059 -3.59961 -2.10059 -6.59961c3.7002 4.2002 7.5 2.59961 8 2.40039
c-12.1992 -11.9004 -7 -26.6006 3.2002 -26.6006c5.7002 0 11.5 6.40039 13.9004 10.7002c2.39941 -2.40039 6.39941 -5.5 7.39941 -6.59961c-3.7998 -7.80078 -11 -17.9004 -24.7998 -17.9004zM366.2 227.6c0 -2.89941 -2.90039 -4.09961 -5.40039 -4.5
c0.700195 1.5 1.7998 5.10059 -0.200195 9c0.700195 -0.0996094 5.60059 -0.5 5.60059 -4.5zM376.5 222.4c-0.400391 -6.5 -6.90039 -11.6006 -14.5996 -10.6006c2 -1.7002 6.59961 -3 9 -1.89941c-3.90039 -6.90039 -23.1006 -7.5 -23.1006 6.39941
c-2.89941 -2.89941 -2.09961 -7.39941 0 -9.2998c-2.2002 0.700195 -5.7998 3.09961 -6.39941 7.40039c-1.30078 10.0996 4.39941 6.5 -10.4004 18.0996c-4.7998 3.7002 -3 6.59961 -4 8.5c-1.09961 2.2002 -7 4.09961 -4.5 8.5
c-0.0996094 -1.59961 1 -2.90039 2.59961 -3.5c1.80078 -0.700195 3.2002 -0.200195 4.80078 -1c1.69922 -1.2002 0.899414 -3.90039 2.19922 -5c1.10059 -0.799805 4.2002 0.299805 6.60059 -1.7998c2.59961 -2 8.2002 -6.7002 10.5996 -8.60059
c4.40039 -3.59961 8.7998 0.400391 7.40039 4.60059c4.5 -2.60059 5 -9.90039 1.2998 -12.5c10.5996 -2.40039 13 10.0996 5 11.3994c7.2998 0.700195 13.5 -4.2998 13.5 -10.6992zM337.1 240.8c4.30078 6.10059 13.3008 15.2998 23.8008 15.7998
c-5.90039 0.800781 -15.1006 -3.19922 -19.7002 -9c0.899414 3.90039 5.09961 10.1006 10.2002 13c0 0 -2.5 -3.19922 -1.40039 -3.69922c1.59961 -0.800781 5.7998 5.69922 11.2002 5.89941c0 0 -4 -2 -3.2002 -3.39941c0.599609 -0.900391 3.2998 1.2998 8 1.2998
c5.7998 0 10.9004 -3.5 13.2998 -6.2002c-4 1.09961 -11.5996 -0.799805 -13.7998 -2.7002c-0.299805 0.200195 -11.7998 9 -22 -15.5c-4.7998 3.7998 -4.40039 3.7002 -6.40039 4.5zM579.6 188.9c37.2002 0 60.4004 -19.6006 60.4004 -48.9004
c0 -28.2002 -17 -48.9004 -59.0996 -48.9004c-20.7002 0 -41.2002 1.30078 -51.6006 2.10059l7.40039 8.2002v77.1992l-7.40039 8.2002c10.2998 0.799805 29.6006 2.10059 50.2998 2.10059zM564.5 113.3c25.4004 -3.2002 46.7998 1.40039 46.7998 27
c0 22.5 -16.7002 29.6006 -46.7998 26.2998v-53.2998zM301.6 267c0.100586 -0.299805 -2.7998 2.2998 -3.2998 7.5c-0.200195 2.2998 0 19.7998 20 18.9004c11.2002 -0.600586 16.7002 -8.30078 16.7002 -16.5c0 -4.30078 -2.2998 -10.1006 -5.5 -13.8008
c-2.2002 2.2002 -5.59961 4.60059 -7.7002 7.80078c3.7998 5.59961 2.2002 14.3994 -4.7002 14.3994c-4.2998 0 -7.7998 -4.5 -6.39941 -9.89941c-0.700195 -2.40039 -1 -5.60059 -0.5 -8c-4.90039 2.59961 -6.5 6 -7.5 9c-1.2998 -2.5 -2.10059 -6 -1.10059 -9.40039z
M301.2 261c0.299805 1.7002 -3.10059 4.59961 -4.7998 5.2002c4.7998 0.200195 7 -0.600586 7 -0.600586c-1.30078 1.7002 -1.60059 4.5 -1 6.7002c2.5 -6.09961 11.6992 -7.09961 13.8994 -12.2002c-0.299805 2.30078 -2.39941 4.7002 -4.7998 6.10059
c-1.2998 3.2002 -0.299805 9.39941 1.2998 11c-0.5 -8.7998 12 -13.7998 14.6006 -20.2002c-1.40039 5.5 -7.40039 9 -10.1006 12.2002c-1 2.09961 -0.200195 5.7998 0.799805 7.09961c-0.5 -9.7002 15.8008 -14.2998 14.1006 -23.8994
c0.899414 -0.400391 2.09961 -1.2002 1.89941 -2.60059c1.30078 0.299805 2.60059 1.7002 2.90039 2.7002c0.700195 -4.5 -1.90039 -9 -4.7998 -10.4004c1.59961 4 -2.7002 5.60059 -6.7002 5.10059c0 0 1.59961 2.2998 1 3.39941
c-0.799805 1.5 -8 0.800781 -11.2002 -0.299805c1.10059 0.100586 3.60059 -0.200195 4.60059 -0.5c-2.10059 -2.89941 -1 -7.09961 1.2998 -4.2002c0 0 -1.10059 -3.5 -0.299805 -4.2998c0.799805 -0.799805 2.59961 -0.200195 2.59961 -0.200195
c-1.2002 -2.69922 -5.2998 -4.59961 -8.2002 -4.59961c1.10059 0.400391 2.7002 2.2998 3 3.40039c-0.799805 -0.5 -2.7002 -0.700195 -3.5 -0.5c6.10059 3 0 13.1992 -7 8.19922c1 2.7002 3.7002 5.30078 5.7998 6.10059c-1.2998 0.5 -2.69922 0.799805 -4.2998 1.09961
c1.7998 1.5 6.2998 2.7998 8.5 2.60059c-3.5 0.799805 -9.89941 -0.300781 -12.7998 -3.7002c0.900391 0 3.2998 -0.5 4.2998 -0.799805c-4 -0.700195 -9.39941 -4.40039 -11 -6.2002c0.299805 2.2002 1 4.2002 0.5 5.59961c-0.799805 2 -3 2.7998 -7.7998 1.7998
c3.2002 3.2002 9.7002 5.10059 10.2002 6.90039zM327.1 253.6c0 0 -0.899414 3 -4.19922 4.30078c0.699219 -2.2002 1.5 -4.30078 4.19922 -4.30078zM366 249.9l0.700195 0.699219c0.5 0.400391 1.59961 0.900391 2.7002 1.40039v-18.4004
c-1.7002 0.800781 -3.5 1.10059 -5.60059 1.10059c-2.39941 0 -5 -0.5 -5 -0.5c-0.5 0.5 -3.59961 2.89941 -5.09961 3.2002c4.09961 -4.30078 0.5 -9.80078 -3 -7.2002v15.7002c0.700195 0.799805 1.2998 1.7998 2.09961 2.59961
c1.7002 2.09961 4.60059 3.40039 7.5 3.40039c1.7998 0 3.60059 -0.400391 4.7002 -1.40039zM79.9004 142.1c22 -6.39941 19.3994 -20.0996 19.3994 -25.1992c0 -7.80078 -3.2002 -13.6006 -9.89941 -17.6006c-12.6006 -7.39941 -24.7002 -5.89941 -86.4004 -5.89941
l8.40039 8.59961v32.2998l-11.4004 14.6006h11.2998v29.5l-8.2998 8.59961h56.0996c12.9004 0 37 -4.40039 37 -25c0 -1.90039 1 -15.2998 -16.1992 -19.9004zM38.5996 169.6v-20.8994c10.6006 0 29.6006 -3.2998 29.6006 8.7998v3
c0 9.90039 -9.60059 9.09961 -29.6006 9.09961zM38.5996 110.4c20.4004 0 32.9004 -1.90039 32.9004 9.2998h-0.200195v4.5c0 11.0996 -20.5 8.7998 -32.7002 8.7998v-22.5996zM139.8 129.7v-15.4004l60.1006 0.200195l-14.1006 -21.2002h-81.2002l7.40039 8.2002v77.0996
l-7.40039 8.2002l73.5 0.200195v-0.200195l14.1006 -21h-52.4004v-14.8994h37.2002l-14.0996 -21.2002v-0.200195zM354.5 189.8c73.7998 0 77.5996 -99.2998 -0.299805 -99.2998c-77.2002 0 -73.6006 99.2998 0.299805 99.2998zM354.2 112.3
c39 0 37 55.2002 0.200195 55.2998c-37.1006 0 -37.6006 -55.2998 -0.200195 -55.2998zM262.9 120.6l0.199219 -19l7.2002 -8.19922h-42.5996l7.7002 8.19922l-0.200195 19.4004l-44.1006 65.7998h44.9004l-6.40039 -7.2002l21 -37.1992h0.300781l20.5 37.1992
l-6.10059 7.2002h41.7002zM234.5 271.9c-9.09961 6.69922 -9.5 14.0996 -9.59961 14.8994c7.2998 -4.2998 9 -4 39.8994 -4c-5.7998 0 24 3.10059 32.2002 -22.8994c-0.400391 0 -8.40039 -4.80078 -10.4004 -7.90039c5.30078 1.90039 8.90039 1.09961 9 1.09961
c-8 -5.09961 -9.59961 -14.7998 -9.59961 -20.5c0.900391 2.10059 2.7002 3.7002 2.7002 3.5c-0.600586 -2.5 -1.40039 -7 -0.799805 -12c-8.60059 -7.09961 -16 -8.59961 -26 -8.59961h-35.1006c0.400391 0.0996094 7.7998 4.5 7.90039 4.59961
c1.89941 1.10059 2.7002 2.2002 2.7002 6.40039v38.7998c0 4.2002 -1.30078 5.2998 -2.90039 6.60059zM256 266.4v-34.6006c4.7002 0 23.0996 -3.39941 23.0996 17.2998c0 20.6006 -18.5 17.3008 -23.0996 17.3008zM484.9 186.8l39.1992 -0.0996094l-7.39941 -8.2998
v-85.2002h-21.2998c-4 12.7002 -44.8008 45 -48.5 55.5996h-0.300781v-47.3994l7.40039 -8.2002h-39l7.2002 8.2998v76.9004l-7.40039 8.5h31.6006c2.89941 -9.40039 39.7998 -36.5 45.1992 -50.9004h0.300781v42.5zM378.2 282.9
c32.7002 -1.60059 33.7998 -29.8008 33.7998 -33.6006c0 -6.7002 -3.2998 -34 -36.7002 -34h-0.299805c3.59961 4.2998 3.5 11.9004 -2.2002 16.2998c1.2002 0 19.7002 -3.19922 19.7002 17.3008c0 20.6992 -18.4004 17.2998 -23.0996 17.2998v-4.2998
c-5.40039 0.799805 -7.40039 -0.300781 -7.5 -0.300781c2.09961 1.80078 4.5 2.60059 6.09961 2.90039c-7.09961 1.59961 -13.5996 -2.40039 -14.5996 -3.5c0.799805 1.7998 2.39941 3.40039 3.5 4.5c-2.30078 -0.799805 -4.30078 -1.90039 -6.10059 -3
c0 5.2002 0.200195 7.5 -2.89941 9.5c-9.10059 6.59961 -9.5 14.2002 -9.60059 14.9004c7.10059 -4.2002 7.7002 -4 39.9004 -4z" />
    <glyph glyph-name="dev" unicode="&#xf6cc;" 
d="M120.12 239.71c3.87012 -2.90039 5.82031 -7.25977 5.83008 -13.0596v-69.6504c0 -5.80957 -1.94043 -10.1602 -5.82031 -13.0596c-3.87988 -2.90039 -7.76953 -4.35059 -11.6494 -4.35059h-17.4502v104.47h17.4395c3.87988 0 7.77051 -1.44922 11.6504 -4.34961z
M404.1 416c24.2002 0 43.8408 -19.5898 43.9004 -43.7998v-360.4c-0.0595703 -24.21 -19.6904 -43.7998 -43.9004 -43.7998h-360.199c-24.2002 0 -43.8408 19.5898 -43.9004 43.7998v360.4c0.0595703 24.21 19.7002 43.7998 43.9004 43.7998h360.199zM154.2 156.81
l-0.00976562 70.9307c-0.0107422 18.8193 -11.9307 47.2793 -47.3701 47.2793h-47.3799v-165.46h46.3994c36.75 -0.0595703 48.3604 28.4404 48.3604 47.25zM254.88 245.47l0.00976562 29.5205h-63.1895c-11.1504 -0.280273 -19.9805 -9.54004 -19.71 -20.6904v-125.109
c0.279297 -11.1602 9.55957 -19.9805 20.7197 -19.6904h62.1797v29.5703h-53.29v38.4102h32.5703v29.5693h-32.5703v38.4199h53.2803zM358.52 130.18l38.4609 144.801h-32.5801l-29.5703 -113.721l-29.71 113.721h-32.5703l38.5303 -144.801
c10.5898 -24.6299 34.2402 -30.75 47.4395 0z" />
    <glyph glyph-name="fantasy-flight-games" unicode="&#xf6dc;" horiz-adv-x="512" 
d="M256 415.14l223.14 -223.14l-223.14 -223.14l-223.14 223.14zM88.3398 192.17c13.8027 -13.6836 27.3086 -27.0547 41.1299 -40.7197c20.1602 19.8799 40.46 39.8994 61.8506 60.9902c12.0596 -12.5801 24.5195 -25.5703 36.54 -38.1104
c12.0293 11.6895 23.7393 23.0596 35.6895 34.6602c-6.99023 7.4502 -32.1494 32.8301 -35.0898 35.7793c-1.91016 1.9209 -2.29004 3.2207 -0.120117 5.35059c15.5801 15.2295 39.21 17.79 56.9805 5.09961c7.98926 -5.70996 14.2998 -11.6396 48.5098 -43.9502
c10.8203 11.1504 22.2295 22.8506 33.5 34.6904c0.490234 0.520508 0.0996094 2.63965 -0.580078 3.37988c-0.0898438 0.100586 -37.5195 40.6006 -62.1504 59c-33.5801 25.0801 -78.3193 23.0605 -119.77 -18.6895c-84.5703 -85.1807 -94.5303 -95.4805 -96.4902 -97.4805z
M323.16 90.5703c18.8203 18.79 80.3301 80.6396 100.5 101.5c-13.7305 13.4492 -27.1797 26.6299 -40.8604 40.0293c-20.0098 -19.7393 -40.2402 -39.6895 -61.25 -60.4199c-12.3301 12.8301 -24.8799 25.8799 -37.25 38.75
c-1.25977 -0.689453 -1.64941 -0.80957 -1.91016 -1.06934c-10.7295 -10.7705 -21.4199 -21.5801 -32.21 -32.29c-2.22949 -2.20996 -0.519531 -3.35059 0.800781 -4.69043c10.5791 -10.7402 21.1797 -21.4502 31.7695 -32.1797
c3.5498 -3.60059 3.54004 -3.85059 -0.139648 -7.24023c-16.8008 -15.4697 -40.8408 -16.54 -59.3203 -1.7998c-7.62012 6.08008 -11.6602 10.1797 -44.6797 42.0898c-11.5801 -11.8896 -23.3203 -23.9404 -35.3701 -36.3096
c33.5498 -34.7607 50.8496 -53.3408 72.9297 -66.8408c28.9004 -17.6699 71.5 -14.96 106.99 20.4707zM256 448l256 -256l-256 -256l-256 256zM16 192l240 -240l240 240l-240 240z" />
    <glyph glyph-name="penny-arcade" unicode="&#xf704;" horiz-adv-x="640" 
d="M421.91 283.73c7.33984 -16.2705 2.29004 -5.07031 24.6299 -54.6807l-39.7305 -10.6094c13.7002 59.2295 10.6104 45.8398 15.1006 65.29zM215.82 232.62c32.5 8.99023 41.9492 -37.6396 -0.350586 -47.4297c-14.2002 -3.77051 -6.64941 -1.75 -34.8193 -9.34082
l-4.45996 46.1904c28.3193 7.5498 19.4395 5.17969 39.6299 10.5801zM541.98 258.81c75.7998 -37.9092 98 -76.3193 97.9893 -104.47c2.10059 -78.8496 -183.3 -130.33 -399.89 -84.8301c0.540039 -13 -8.00977 -24.6494 -20.5801 -28.0195
c-125.54 -33.54 -117.35 -31.75 -122.53 -31.7598c-14.3701 -0.0107422 -26.4102 10.8896 -27.7998 25.1992l-4.2998 44.4805c-0.0830078 0.875 -0.138672 1.72461 -0.138672 2.62109c0 11.877 7.43945 22.0293 17.9082 26.0488l-1.73926 17.8799
c-50.2305 28.2598 -80.9004 61.8701 -80.9004 95.3701c0 72.9199 144.26 113.4 309.41 98.3701c3.02734 8.49316 10.0977 15.0625 18.8896 17.4102c96.8701 25.9092 65.3203 17.4795 135.59 36.2295c13.1602 3.50977 26.9307 -2.95996 32.6201 -15.3301zM255.14 149.7
c20.7529 4.80176 38.666 16.9805 50.75 33.7197c21.6006 32.5898 14.1104 105.561 -42.5498 104.43c-16.04 -0.229492 -8.07031 0.890625 -186.22 -46.6494l4.34961 -44.5l20.1201 5.38965l11.1104 -114.64l-20.0205 -5.35059l4.30078 -44.5195l115.31 30.7803
l-4.50977 44.5098l-20.5303 -5.50977l-2.45996 23.5498l48.4404 12.9102zM454.32 133.08l108.55 28.96l-4.2998 44.4795l-20.79 -5.55957l-66.6699 145.47c-70.5801 -18.8301 -42.2305 -11.25 -135.591 -36.2393l4.2002 -44.4805l17.1504 4.55957l-33.0801 -126.47
l-20.9902 -5.58984l4.45996 -44.4297l112.851 30.0693l-4.05078 39.54l-19.1992 -5.12012l4.09961 17.54l57.7598 15.4209l6.61035 -14.6807l-14.9004 -3.97949z" />
    <glyph glyph-name="wizards-of-the-coast" unicode="&#xf730;" horiz-adv-x="640" 
d="M219.19 102.31c7.44922 5.80078 16.2598 0.680664 21.7295 -7.0791c7.08984 -10.1201 6.24023 -18.1602 -0.259766 -23.04c-7.62012 -6.24023 -17.0898 0.129883 -21.7305 6.5498c-10.8096 15.1299 -1.63965 22.1895 0.260742 23.5693zM555.94 26.3701
c1.30957 4.4502 3.92969 10.21 3.93945 20.1699c0 34.04 -41.6299 64.4102 -100.03 68.0801c-53.1592 3.39941 -120.46 -15.4502 -184.35 -73.8506l-0.790039 0.260742c1.58008 10.4697 -0.780273 16.2295 -3.40039 21.21l0.260742 1.56934
c64.4199 51.3203 134.069 66.5107 188.8 60.4902c61.0098 -6.54004 104.479 -39.54 101.34 -78.0303c-0.790039 -9.68945 -2.88965 -15.71 -4.97949 -19.8994c-1.34082 -1.66992 -1.13086 -1.7002 -0.790039 0zM392.28 207.58
c-0.530273 7.07031 3.13965 11.7803 6.7998 15.46c3.66992 3.91992 14.9297 10.4697 14.9297 10.4697s-1.2998 -26.4502 -2.08984 -29.8496c-1.04004 -3.92969 -4.96973 -6.81055 -10.4697 -6.5498c-4.98047 0.259766 -8.37988 3.39941 -9.16992 10.4697zM342.26 358.68
c147.17 0 275.48 -86.6797 291.21 -196.939c0 0 -3.66992 -1.31055 -9.68945 -4.4502c0 -0.259766 1.0498 -10.7402 0.259766 -16.5c-0.259766 -1.83008 -1.0498 -1.0498 -1.0498 0c-0.270508 5.24023 -1.57031 11.5303 -2.36035 14.9297
c-4.70996 -2.60938 -10.21 -6.54004 -15.9697 -11.7793c0 0 4.70996 -10.21 4.70996 -25.9209c0 -21.21 -8.37988 -32.9893 -16.5 -37.9697l-0.259766 0.520508c9.16992 9.16992 12.5693 21.4795 12.5693 31.9492c0 13.8701 -6.80957 33.25 -14.3994 41.3701
c0 0 4.4502 -8.12012 6.80957 -17.8096c0 0 -21.21 -21.4697 -26.9697 -62.3203c0 0 -3.66992 9.16992 -10.7402 16.2402c0 0 12.0498 -15.4502 12.0498 -38.2305c0 -19.3799 -12.8398 -37.4395 -27.5 -48.1797c-0.989258 0 -0.790039 -0.169922 -0.790039 0.790039
c15.71 12.8301 22.2607 28.0205 22.2607 46.3506c0 38.2295 -49.2305 80.3896 -130.15 80.3896c-96.1104 0 -181.74 -58.1299 -236.99 -128.05l-1.0498 0.259766c-40.3203 120.979 -135.64 185.66 -196.13 202.16c-2.09961 0.519531 -1.83984 0.790039 -0.790039 1.30957
c12.3096 14.4004 136.96 151.88 341.47 151.88zM243.02 69.0596c16.8408 14.5908 4.99023 30.7705 4.71094 31.1602c-4.08008 5.99023 -16.3105 16.8506 -31.1602 5.5c-10.9502 -8.37988 -11.6406 -22.8896 -4.19043 -32.4697
c6.44043 -8.26953 19.5801 -13.1797 30.6396 -4.19043zM245.11 205.49l1.83008 -8.11035l-3.6709 4.4502l-14.1396 -26.71l24.6201 -28.7998l12.5703 6.01953l-11.7803 70.96zM263.7 87.9102c3.41016 2.35938 7.33984 4.97949 9.67969 6.57031l-0.259766 0.259766
c-1.56055 -0.780273 -3.11035 -1.0498 -12.5703 15.9697v0.259766c6.87012 5.16016 8.45996 4.89062 11.5205 5.5l0.259766 0.260742c-1.31055 3.66992 -1.31055 3.66992 -1.83008 5.5h-0.259766c-3.95996 -3.31055 -1.4707 -1.58008 -11.5205 -7.86035h-0.259766
c-1.83008 3.13965 -4.19043 7.33008 -5.75977 9.68945v1.31055c4.4502 3.91992 10.2197 6.7998 12.3096 7.58984c2.87988 1.0498 4.19043 0.520508 5.24023 0.259766l0.259766 0.520508c-1.30957 1.83008 -2.08984 2.87988 -3.39941 4.70996l-0.520508 0.259766
c-9.9502 -5.5 -17.54 -9.9502 -25.3994 -15.71l0.259766 -0.519531c1.30957 0.259766 3.13965 -0.260742 4.4502 -2.62012c15.04 -25.0801 19.5898 -27.5908 17.54 -31.6904zM318.96 120.38v0.25c-1.99023 0 -2.34961 -1.37012 -14.6602 30.6396v0.260742
c4.95996 1.85938 8.78027 4.37988 12.3105 2.62012l0.259766 0.519531l-3.13965 4.98047l-0.520508 0.259766c-2.22949 -0.929688 -20.4697 -8.00977 -27.7598 -12.5703l-0.259766 -0.519531l1.0498 -5.76074h0.519531c1.0498 3.68066 9.7998 7.33008 9.9502 7.33008
l0.259766 -0.259766c12.9404 -29.7598 13.0703 -29.8799 11.7803 -32.4697l0.259766 -0.259766c3.93066 2.09961 6.81055 3.40918 9.9502 4.97949zM363.73 136.88c-0.780273 0.520508 -2.09082 1.31055 -2.63086 3.92969c-1.56934 6.02051 -4.70996 20.1709 -6.2793 26.4502
c-0.530273 1.57031 -0.530273 3.14062 0.519531 4.4502l-0.259766 0.259766c-3.41016 -0.529297 -6.29004 -1.30957 -10.7402 -2.35938v-0.260742c1.57031 -0.529297 2.10059 -2.09961 2.62012 -3.92969l2.62012 -9.42969l-0.259766 -0.259766
c-3.40039 -1.05078 -8.90039 -2.62012 -12.8301 -3.93066h-0.259766c-0.780273 2.10059 -1.83008 5.75977 -3.14062 9.69043l0.259766 4.70996l-0.259766 0.259766c-4.71973 -1.30957 -7.59961 -2.34961 -10.7402 -3.40039v-0.519531
c1.05078 0 2.10059 -1.30957 2.62012 -3.13965c1.0498 -3.40039 8.12012 -24.0908 9.16992 -27.2305c0.790039 -2.09961 0.790039 -3.66992 -0.259766 -4.97949l0.259766 -0.260742c3.14062 1.31055 6.54004 2.87988 10.21 3.93066v0.519531
c-1.0498 0.259766 -2.08984 0.780273 -2.87988 3.13965c-1.0498 3.93066 -3.39941 11.2607 -4.18945 13.8809l0.259766 0.259766c3.92969 1.30957 9.42969 3.13965 12.8301 3.92969l0.259766 -0.259766c0.530273 -2.09961 2.62012 -10.2197 3.66992 -13.6201
l-0.519531 -4.4502l0.259766 -0.259766c4.4502 1.57031 5.5 1.83008 9.69043 2.87988zM395.94 143.69c0.529297 1.8291 1.0498 3.65918 1.5791 6.04004h-0.259766c-2.0293 -4.06055 -15.0898 -5.09082 -16.2402 -4.71094l-0.259766 0.260742
c-0.519531 3.13965 -1.83008 10.4795 -2.08984 12.5693l0.259766 0.260742c8.06055 0.899414 5.40039 1.0293 10.21 0h0.260742c0 3.40918 0.259766 3.66992 0.259766 5.23926h-0.259766c-5.98047 -2.2998 -1.2207 -0.679688 -10.7402 -2.35938l-0.259766 0.259766
c-0.520508 3.40039 -1.31055 8.37988 -1.57031 9.9502l0.259766 0.259766c12.9004 2.41016 15.1006 0.349609 16.2402 -0.790039l0.259766 0.259766c-0.780273 2.36035 -1.0498 3.14062 -1.57031 5.5l-0.259766 0.260742
c-4.71973 -0.260742 -15.71 -1.05078 -24.8799 -2.62012l-0.790039 -0.520508c1.83008 -0.790039 2.36035 -1.83984 2.62012 -3.66992c1.58008 -7.59961 3.41016 -18.3301 4.98047 -26.1895l-0.790039 -4.19043l0.259766 -0.259766
c8.37988 1.83008 17.8096 3.66992 22.5195 4.18945zM406.68 188.2c3.14062 1.56934 7.33008 5.5 7.33008 5.50977c1.95996 -4.58008 0.970703 -2.70996 4.19043 -7.86035c10.1494 -0.459961 8.60938 0.0205078 20.4297 -1.0498l0.790039 4.70996
s-4.18945 0 -5.75977 1.83008c-1.0498 1.31055 -1.31055 3.14062 -1.57031 5.5c0 2.36035 0.270508 16.5 0.790039 20.6904c0.259766 4.18945 2.08984 20.4199 2.08984 23.04c0.260742 2.62012 1.0498 8.91016 0.260742 12.0498
c-4.82031 19.2803 -24.4307 17.8096 -50.0205 16.2402l-5.24023 -16.2402l2.62012 -2.87988c16.5498 16.5498 37.6201 4.56934 29.5898 -5.75977c-5.18945 -6.9209 -19.7393 -8.90039 -28.54 -17.0205c-6.47949 -6.49023 -12.2393 -20.9004 -5.5 -31.6904
c6.12988 -11.0391 17.29 -9.96973 17.54 -9.94922c2.87988 0 6.55078 0.519531 11 2.87988zM443.86 166.99c0 1.83984 0.269531 4.18945 0.269531 5.25l-0.259766 0.519531c-14.3604 8.98047 -26.8604 0.919922 -28.7998 -9.9502
c-2.83984 -16.0898 15.3594 -25.46 25.6602 -18.5898l0.519531 0.520508c0 0.259766 1.30957 4.4502 1.83008 6.2793l-0.259766 0.260742c-6.39062 -9.58008 -23.3203 -6.87012 -20.6904 10.21c1.91016 12.6602 15.3799 16.0801 21.7305 5.5zM449.63 254.72
c0 0 4.96973 -0.790039 4.99023 -3.66016c0 -2.08984 -4.98047 -55.25 -4.98047 -55.25c-0.109375 -1.48926 -0.339844 -6.80957 -7.58984 -6.80957l-0.790039 -4.70996c18.3906 -2.83008 19.3701 -3.04004 36.9199 -7.33008l0.520508 4.70996
c-13.0498 3.91992 -9.74023 7.37012 -4.4502 46.0898c1.09961 0.870117 8.62012 7.14062 20.6904 0.790039l11.2598 11.2598s-9.69043 8.90039 -14.9307 7.33008c-5.23926 -1.30957 -15.4492 -10.7393 -15.4492 -10.7393l1.56934 17.54
c-8.10938 4.0498 -27.0693 7.3291 -27.7598 7.3291v-6.5498zM460.62 140.28c9.42969 -2.35059 16.2402 2.62012 18.8496 11.5195c2.08984 7.60059 -1.56934 16.7598 -10.7393 19.3799c-6.54004 2.10059 -15.7109 -0.779297 -18.8506 -10.21
c-3.39941 -9.68945 2.62012 -18.5996 10.7402 -20.6895zM502.78 130.59c-0.780273 1.31055 -1.04004 2.10059 -0.799805 3.91016c1.22949 27.0098 1.5293 24.6602 1.0498 25.1396c-2.08984 0.790039 -5.5 2.09082 -7.58984 2.87988l-0.520508 -0.259766v-2.08984
c-3.92969 -6.01953 -10.4795 -15.4502 -13.8799 -20.1602l-2.62012 -1.83008v-0.259766c2.08984 -0.259766 4.70996 -1.30957 6.02051 -1.57031v0.260742l0.790039 3.39941c0.789062 1.0498 2.35938 3.66992 3.66992 5.5c0.40918 0 2.25 -0.549805 7.06934 -2.35938
c0.330078 -0.320312 0.330078 0.649414 -0.259766 -7.59082l-1.57031 -1.8291v-0.260742c1.57031 -0.519531 6.28027 -2.35938 8.64062 -2.87988zM498.07 220.41c-13.2207 -21.1504 -9.39062 -51.6006 9.66992 -52.9004c5.75977 -0.259766 9.42969 3.93066 9.68945 3.66992
l-2.08984 -6.80957c8.91016 -4.21973 11.4404 -5.29004 17.8105 -8.63965l1.83008 4.44922c-6.14062 3.51074 -1.29004 11.25 24.6191 84.3203c-6.13965 6.45996 -10.2998 10.0596 -22.5195 20.4297l-1.83008 -3.66992c1.62988 -1.35938 6.79004 -5.00977 4.4502 -11.2598
l-7.58984 -26.1904c-3.28027 12.79 -22.79 14.8701 -34.04 -3.39941zM527.4 141.07l2.35938 3.39941v0.520508c-3.41016 6.83008 -11.9395 7.41992 -14.6602 2.35938c-1.83984 -3.40918 0.260742 -7.06934 1.83008 -9.68945
c1.57031 -2.87988 3.14062 -6.29004 2.08984 -8.37988c-2.31934 -4.62988 -8.94922 -0.680664 -8.37988 4.97949l-0.790039 -0.259766c-2.09961 -4.7998 -1.83008 -4.00977 -1.83008 -4.70996c3.05078 -6.09961 12.8105 -7.12988 15.4502 -0.790039
c1.57031 3.15039 0.520508 6.80957 -1.0498 9.42969c-1.83008 3.40039 -4.18945 6.29004 -2.87988 8.37988c1.51953 2.65039 7.86035 0.470703 7.86035 -5.23926zM548.61 127.71l1.30957 3.91016l-0.259766 0.259766c-2.36035 2.08984 -8.64062 6.54004 -12.3105 8.90039
h-0.259766l-3.13965 -3.40039v-0.259766c4.7998 -0.320312 3.37988 0.149414 6.01953 -1.83008v-0.259766c-2.62012 -4.9707 -6.0293 -11.2607 -9.16992 -17.0205l-2.08984 -1.30957l-0.259766 -0.259766l5.75977 -4.4502l0.259766 0.259766
c-0.259766 0.530273 -0.519531 1.57031 0.790039 3.92969c2.87988 5.77051 6.28027 12.0508 8.64062 16.2402h0.259766c3.54004 -2.57031 2.49023 -1.43945 4.4502 -4.70996zM575.84 171.97l7.85059 10.46s-9.4209 18.8604 -23.04 16.5
c-20.8408 -4.0293 -3.15039 -34.21 -2.09082 -38.2295c4.33008 -15.1299 -16.3193 -12.5605 -13.3496 5.24023l-2.87988 2.08984l-4.98047 -14.4004s11.7803 -11.2598 20.1602 -10.4697c8.12012 0.790039 13.8799 6.29004 13.8799 16.5
c0 8.37988 -7.85938 22.7803 -7.85938 27.7598c0 6.86035 12.2695 4.75977 11.5195 -4.97949c-0.259766 -2.61035 -1.2998 -5.23047 -2.08984 -7.59082zM611.46 182.18c0.780273 -2.35938 1.57031 -1.83008 0.790039 0.270508
c-32.4697 98.9795 -132.76 138.78 -199.8 139.83c-50.54 0.779297 -89.5605 -11.79 -131.98 -35.8799l20.6904 61.0098l-33.7803 -65.7305l-8.89941 20.9502c3.13965 1.04004 6.2793 2.08984 6.2793 2.08984l-2.62012 8.64062s-3.13965 -0.780273 -7.33008 -2.09082
l-12.0498 28.2803l13.6201 -61.0098c-5.12012 2.55957 -19.0996 6.83008 -6.5498 19.3799l-2.62012 11c-6.97949 -2.21973 -13.2295 -3.62012 -32.21 -9.68945l-23.0801 11.5l59.1797 -42.6807l-4.70996 -2.08984l-17.2793 13.8799
c2.23926 -5.13965 3.2998 -12.1699 4.70996 -19.6396l-28.54 -13.0898l-30.1104 36.1396l-17.2803 -9.16992l13.6201 -42.4199l-11.2598 -4.98047l94.2695 29.3301l-3.66992 -10.4697l-0.519531 3.13965l-13.0898 -3.39941l4.97949 -24.6201l-4.4502 -12.3105
l-25.6592 30.6406l-39.8008 -10.21l18.8506 -58.9199c-60.1299 62.3994 -67.7002 66.3994 -61.7998 75.6797c2.09961 2.87988 7.85938 7.07031 7.85938 7.07031l-4.18945 7.06934c-26.7803 -18.3496 -27.8398 -19.1494 -58.4004 -42.6797l4.98047 -6.01953
s8.12012 5.75977 13.6201 5.5c7.81934 -0.350586 1.76953 2.93945 113.659 -98.7305l11.7803 8.37988l-27.7598 93.4805l35.8799 -42.1602l-4.70996 -13.8799l41.9004 88.5098c34.6699 -80.5098 29.1494 -66.9502 32.9893 -78.8203l-33.5195 67.2998l-2.36035 -4.44922
c1.2998 -1.30078 -0.919922 3.05957 22.7803 -59.4404c3.22949 -8.88965 -1.10059 -9.88965 -5.5 -12.8301l2.36035 -4.70996c15.3594 6.79004 22.9395 9.54004 39.0195 14.4004l-1.0498 4.97949c-8.89062 -1.33008 -10.1006 0.169922 -12.0498 4.4502
c-1.05078 2.09961 -14.1504 40.0703 -20.4307 58.6602l-10.21 4.97949l-2.35938 8.12012l61.54 -36.6602l-13.0908 -43.21c12.1904 3.26074 27.0303 6.74023 49.4902 9.9502l-0.259766 26.71l-4.98047 -1.0498c-0.669922 -13.7998 -6.0293 -22.0801 -19.6396 -22.7803
l22.2598 80.3906c-27.6201 -0.450195 -59.2695 -7.19043 -66.7695 -8.90039l3.92969 -16.5l-25.1396 19.6396l91.3896 20.6904l-85.6299 -9.16992c38.4902 22.5195 79.3398 39.0195 132.76 37.9697c131.46 -2.08984 180.95 -99.2402 191.95 -129.62zM203.48 295.57
l2.35938 -8.64062c7.82031 2.61035 10.8604 2.36035 11.2598 2.36035l-9.42969 7.58984c-2.36035 -0.790039 -4.18945 -1.30957 -4.18945 -1.30957zM347.24 257.07l-11.5303 -37.71l-21.7295 17.0195c6.7998 25.5 31.6895 21.29 33.2598 20.6904zM318.43 380.93
c224.94 0 321.83 -143.76 321.57 -227.55c0 -11 -0.269531 -17.5498 -0.790039 -19.6396c-0.259766 -2.10059 -1.0498 -0.790039 -1.0498 0.519531v9.9502c0 106.58 -121.51 223.37 -301.67 223.37c-61.2705 0 -103.69 -12.0498 -110.24 -13.8799l-1.57031 0.259766
c-6.80957 7.58984 -12.8301 9.69043 -21.21 11.7803v0.790039c8.91016 2.34961 56.5605 14.3994 114.96 14.3994zM529.49 211.25c-8.61035 -34.4502 -13.6504 -35.3496 -18.3301 -35.3604c-7.33008 0 -6.81055 9.43066 -6.02051 14.9307
c0.879883 9.72949 7.40039 34.6494 17.0205 33.5195c7.33008 -0.780273 8.63965 -7.33008 7.33008 -13.0898zM467.96 168.3c3.40039 -0.780273 7.84961 -4.4502 5.23047 -14.3896c-2.88086 -11.2598 -8.11035 -11.79 -11.7803 -10.7402
c-5.5 1.31055 -7.85059 7.84961 -6.02051 14.6602c3.14062 11.2598 9.9502 11.2598 12.5703 10.4697zM491 147.35v0.270508c1.0498 1.83008 5.5 8.63965 6.5498 9.9502c-0.269531 -3.66992 -0.790039 -10.2207 -0.790039 -12.0508
c-2.62012 0.780273 -3.92969 1.31055 -5.75977 1.83008z" />
    <glyph glyph-name="think-peaks" unicode="&#xf731;" horiz-adv-x="576" 
d="M465.4 38.5996l-206.2 353.801l-204.2 -352.101l-32 0.299805l236.2 407.4l206.2 -353.9l55.0996 95l32 -0.299805zM110.1 82.7002l149.601 257.899l235.8 -404.6l-32.5 0.0996094l-203.4 349.101l-117.399 -202.5h-32.1006z" />
    <glyph glyph-name="reacteurope" unicode="&#xf75d;" horiz-adv-x="576" 
d="M250.6 236.26l2 6.7998l-5.69922 4.30078l7.19922 0.0996094l2.30078 6.7998l2.2998 -6.7998l7.09961 -0.0996094l-5.7002 -4.30078l2.10059 -6.7998l-5.7998 4.10059zM314.3 236.26l1.90039 6.7998l-5.7002 4.30078l7.2002 0.0996094l2.2998 6.7998l2.2998 -6.7998
l7.2002 -0.0996094l-5.7002 -4.30078l2.10059 -6.7998l-5.80078 4.10059zM223 185.76c4.90039 0 3.7998 -3.89941 3.7998 -13.7598c0 -10.2998 -6.7002 -14.0996 -16.7998 -14.0996h-0.200195c-10.0996 0 -16.7998 3.69922 -16.7998 14.0996v40.0596
c0 9.90039 6.7002 14.1006 16.7998 14.1006h0.200195c10.0996 0 16.7998 -4.2002 16.7998 -14.1006c0 -8.39941 0.900391 -12.1992 -3.7998 -12.2998h-3.40039c-4.5 0 -3.7998 3.2998 -3.7998 10.5c0 4.7002 -2.2998 6.10059 -5.7998 6.10059
s-5.7998 -1.40039 -5.7998 -6.10059v-36.5996c0 -4.7002 2.2998 -6.10059 5.7998 -6.10059s5.7998 1.40039 5.7998 6.10059c0 8.09961 -1 12.0996 3.7998 12.0996h3.40039zM142.3 168.36c2.5 0 3.7998 -1.30078 3.7998 -3.80078v-2.09961
c0 -2.5 -1.2998 -3.7998 -3.7998 -3.7998h-21.8994c-2.5 0 -3.80078 1.2998 -3.80078 3.7998v59.0996c0 2.5 1.30078 3.90039 3.7002 3.80078h21.7002c2.5 0 3.7998 -1.30078 3.7998 -3.80078v-2.09961c0 -2.5 -1.2998 -3.7998 -3.7998 -3.7998h-14.4004v-18.2998h11.4004
c2.5 0 3.7998 -1.30078 3.7998 -3.80078v-2.09961c0 -2.5 -1.2998 -3.7998 -3.7998 -3.7998h-11.4004v-19.2998h14.7002zM100.3 186.86l8.10059 -23.9004c0.799805 -2.59961 -0.400391 -4.40039 -3.2002 -4.40039h-3.2998
c-0.0996094 -0.00683594 -0.196289 -0.0078125 -0.297852 -0.0078125c-1.95703 0 -3.59473 1.37402 -4.00293 3.20801l-7.39941 23.5h-5.60059v-22.8994c0 -2.5 -1.2998 -3.80078 -3.7998 -3.80078h-3.39941c-2.5 0 -3.80078 1.30078 -3.80078 3.80078v59.0996
c0 2.5 1.30078 3.7998 3.80078 3.7998h13.3994c10.1006 0 16.7998 -4 16.7998 -14.0996v-11.9004c0 -6.39941 -2.69922 -10.3994 -7.2998 -12.3994zM96.5 200.86v8.69922c0 4.80078 -2.5 6.10059 -6.09961 6.10059h-5.80078v-20.9004h5.80078
c3.59961 0 6.09961 1.2998 6.09961 6.10059zM176 222l11.2002 -59.2002c0.5 -2.7002 -0.799805 -4.09961 -3.40039 -4.09961h-3.5c-0.12207 -0.0117188 -0.241211 -0.015625 -0.366211 -0.015625c-1.98926 0 -3.61719 1.55566 -3.7334 3.51562l-1.7998 11.2998h-12.2002
l-1.7998 -11.2998c-0.117188 -1.95996 -1.74121 -3.51855 -3.73047 -3.51855c-0.125 0 -0.248047 0.00683594 -0.370117 0.0185547h-3c-2.5 0 -3.89941 1.39941 -3.39941 4.09961l11 59.2002c0.137695 1.90625 1.72559 3.41504 3.66602 3.41504
c0.112305 0 0.223633 -0.00488281 0.333984 -0.0146484h6.89941c0.132812 0.0136719 0.264648 0.0166016 0.401367 0.0166016c1.97168 0 3.59766 -1.49805 3.79883 -3.41699zM163.7 182.7h9.39941l-4.69922 29.7002zM253 162.5c0 -2.45996 -1.2998 -3.83984 -3.7998 -3.7998
h-3.40039c-2.5 0 -3.7998 1.2998 -3.7998 3.7998v53.2002h-7.2998c-2.5 0 -3.7998 1.2998 -3.7998 3.7998v2.09961c0 2.5 1.2998 3.80078 3.7998 3.80078h25.7998c2.5 0 3.7998 -1.30078 3.7998 -3.80078v-2.09961c0 -2.5 -1.2998 -3.7998 -3.7998 -3.7998h-7.5v-53.2002z
M501 163.3c0.0546875 0.00488281 0.108398 -0.03125 0.164062 -0.03125c1.01562 0 1.84082 -0.824219 1.84082 -1.83984c0 -0.0429688 -0.00195312 -0.0859375 -0.00488281 -0.128906v-0.799805c0.00195312 -0.0332031 0.00488281 -0.0664062 0.00488281 -0.100586
c0 -0.999023 -0.811523 -1.80957 -1.81055 -1.80957c-0.0654297 0 -0.130859 0.00292969 -0.194336 0.00976562h-22.5c-0.0634766 -0.00683594 -0.126953 -0.0117188 -0.192383 -0.0117188c-0.999023 0 -1.81055 0.811523 -1.81055 1.81055
c0 0.0341797 0.000976562 0.0683594 0.00292969 0.101562v63c-0.0107422 0.0751953 -0.0166016 0.150391 -0.0166016 0.229492c0 0.893555 0.725586 1.61914 1.61914 1.61914c0.137695 0 0.270508 -0.0166016 0.397461 -0.0488281h22.2002
c0.0771484 0.0107422 0.155273 0.0175781 0.236328 0.0175781c0.976562 0 1.76953 -0.792969 1.76953 -1.76953c0 -0.0498047 -0.00195312 -0.0996094 -0.00585938 -0.147461v-0.800781c0.00195312 -0.0380859 0.00488281 -0.0742188 0.00488281 -0.113281
c0 -1.04297 -0.84668 -1.88965 -1.88965 -1.88965c-0.0390625 0 -0.0771484 0.000976562 -0.115234 0.00292969h-19.1006v-25.7998h16.1006c0.0380859 0.00292969 0.0742188 0.00488281 0.113281 0.00488281c1.04297 0 1.88965 -0.84668 1.88965 -1.88965
c0 -0.0390625 -0.000976562 -0.0771484 -0.00292969 -0.115234v-0.799805c0.00195312 -0.0380859 0.00488281 -0.0751953 0.00488281 -0.113281c0 -1.04297 -0.84668 -1.89062 -1.88965 -1.89062c-0.0390625 0 -0.0771484 0.00195312 -0.115234 0.00390625h-16.1006
v-26.7002h19.4004zM407.9 226.2c10.0996 0 15.2998 -4.74023 15.2998 -14.1006v-40.0996c0 -9.2998 -5.2002 -14.0996 -15.2998 -14.0996h-0.800781c-10.0996 0 -15.2998 4.7998 -15.2998 14.0996v40.0996c0 9.40039 5.2002 14.1006 15.2998 14.1006h0.800781zM418.1 173.8
v36.6006c0 7.89941 -3 11.0996 -10.5 11.0996s-10.5 -3.2002 -10.5 -11.0996v-36.6006c0 -8 3 -11.0996 10.5 -11.0996s10.4004 3.09961 10.5 11.0996zM371.6 188.3l10.6006 -27.2998c0.5 -1.2998 -0.100586 -2.2998 -1.5 -2.2998h-1.5
c-0.0429688 -0.00292969 -0.0839844 -0.00488281 -0.12793 -0.00488281c-0.993164 0 -1.8418 0.625977 -2.17188 1.50488l-10.4004 27.2002h-11.5996v-26.9004c0.00488281 -0.0556641 0.00976562 -0.111328 0.00976562 -0.167969
c0 -0.960938 -0.780273 -1.74023 -1.74023 -1.74023c-0.0576172 0 -0.114258 0.00292969 -0.169922 0.0078125h-1.2002c-0.0634766 -0.00683594 -0.126953 -0.0117188 -0.192383 -0.0117188c-0.999023 0 -1.81055 0.811523 -1.81055 1.81055
c0 0.0341797 0.000976562 0.0683594 0.00292969 0.101562v63c-0.00195312 0.0332031 -0.00488281 0.0664062 -0.00488281 0.100586c0 0.999023 0.811523 1.80957 1.81055 1.80957c0.0654297 0 0.130859 -0.00292969 0.194336 -0.00976562h13.7002
c10.0996 0 15.2998 -4.7002 15.2998 -14.1006v-9.7002c0 -7.19922 -3.09961 -11.6992 -9.2002 -13.2998zM365.2 192.2c7.5 0 10.5 3.16016 10.5 11v6.39941c0 8 -3 11.1006 -10.5 11.1006h-10.2002v-28.5h10.2002zM451.1 225.3c10.1006 0 15.3008 -4.7002 15.3008 -14.0996
v-10.5c0 -9.2998 -5.2002 -14.1006 -15.3008 -14.1006h-10.5996v-26.0996c0.00585938 -0.0556641 0.00976562 -0.111328 0.00976562 -0.167969c0 -0.960938 -0.779297 -1.74023 -1.74023 -1.74023c-0.0566406 0 -0.113281 0.00292969 -0.169922 0.0078125h-1.19922
c-0.0644531 -0.00683594 -0.12793 -0.0117188 -0.193359 -0.0117188c-0.999023 0 -1.80957 0.811523 -1.80957 1.81055c0 0.0341797 0.000976562 0.0683594 0.00292969 0.101562v63c-0.0107422 0.0751953 -0.0175781 0.150391 -0.0175781 0.229492
c0 0.893555 0.726562 1.61914 1.62012 1.61914c0.136719 0 0.270508 -0.0166016 0.397461 -0.0488281h13.6992zM461.3 202.5v7.09961c0 7.90039 -3 11.1006 -10.5 11h-10.2002v-29.1992h10.2002c7.5 0 10.5 3.19922 10.5 11.0996zM259.5 140l7.09961 -0.0996094
l-5.69922 -4.30078l2.09961 -6.7998l-5.7998 4.10059l-5.7998 -4.10059l2.09961 6.7998l-5.7002 4.30078l7.10059 0.0996094l2.2998 6.7998zM487.1 276.1c122.301 -46.0996 118.401 -132.54 -33.8984 -176.34c13.3994 -49.7002 18.0996 -101.899 0.0996094 -133.8
c-3.7998 -6.7002 -16.7998 -27.7002 -47.5996 -27.7002c-41.5 0 -110.2 41.6006 -182.101 142c-42.7998 3.5 -72.1992 10.1006 -84.5996 13c-20.5 -82.2998 -6.7998 -125.3 15.5 -137.899c1.2002 -0.700195 38.4004 -27.2002 120.9 52.7998
c3.39941 -3.5 6.79883 -6.90039 10.1982 -10.2002c-63.0996 -61.2002 -110.199 -71 -138.199 -55.2002c-32.4004 18.2998 -42.8008 72 -22.3008 153.9c-18.8994 5 -121.6 33.2002 -122.1 92.7998c-0.400391 40.9004 49.7998 74.7002 120.3 95
c-13.3994 49.5996 -18.2002 101.8 -0.0996094 133.8c3.7998 6.74023 16.7998 27.7402 47.5996 27.7402c41.6006 0 110.3 -41.6396 182.2 -142.14c28.7607 -2.29492 57.1504 -6.70801 84.5996 -13c20.5 82 6.90039 125.1 -15.5 137.8
c-1.2998 0.700195 -38.3994 27.2002 -120.899 -52.7998c-3.40039 3.5 -6.80078 6.89941 -10.2002 10.1992c52.2998 50.9404 103.7 74.6006 138.2 55.2402c33.8994 -19.2002 41.8994 -75.8994 22.2998 -153.899c12.0234 -3.14844 24.0938 -6.9873 35.5996 -11.3008z
M135.901 411.16c-23.1006 -40.7998 1 -121.562 1.19922 -122.961c27.2979 6.86914 55.7041 11.835 84.4004 14.5996c15.5215 22.6875 32.2832 43.9033 50.7002 64.2002c3.39941 -3.33301 6.7998 -6.74609 10.2002 -10.2393
c-15.1953 -16.6592 -29.1309 -33.958 -42.2002 -52.3994c17.9678 1.35645 34.9062 2.04102 53.2197 2.04102c13.6523 0 27.2158 -0.383789 40.6797 -1.1416c-64.5 86.6006 -126.5 126.2 -163.3 126.2c-23 0 -32 -15.2002 -34.8994 -20.2998zM440.701 -27.1406
c3.2998 6 21.5 38.5996 -1.2002 123c-4.09961 -1.10059 -37.0996 -9.90039 -84.4004 -14.6006c-15.4961 -22.7061 -32.2598 -43.9238 -50.6992 -64.2002c-3.40039 3.2998 -6.80078 6.7002 -10.2002 10.2002c15.1943 16.6602 29.1299 33.958 42.2002 52.4004
c-17.9014 -1.38379 -34.792 -2.08301 -53.0459 -2.08301c-13.7139 0 -27.3359 0.398438 -40.8545 1.18262c64.5996 -86.7998 126.6 -126.2 163.3 -126.2c23.1006 0 32 15.2002 34.9004 20.3008zM449.801 111.459c25.6006 7.2998 85.9004 27.4004 105.7 62.5
c1.40039 2.5 33.5 50.5 -72.5996 90.4004c-11.1553 4.18555 -22.8525 7.92188 -34.5 11c-3.60059 -12.9004 -7.90039 -26.1006 -12.8008 -39.5c-3.71387 -0.506836 -6.9248 -2.60645 -8.89941 -5.60059l-0.100586 0.100586c-1.94824 1.84863 -4.25 3.31445 -6.7998 4.2998
c5.7002 15 10.6006 29.7998 14.6006 44.2002c-7.2002 1.69922 -31.8008 7.59961 -72.2002 11.6992c16.7002 -24.5 27.8994 -44.0996 34.2998 -55.5c-4.18457 -1.36719 -7.79199 -3.96777 -10.4004 -7.39941c-13.5996 16.3994 -11 19.8994 -42.5 64.5
c-16.6885 1.17285 -32.207 1.77344 -49.1914 1.77344c-21.2998 0 -42.3818 -0.9375 -63.208 -2.77344c-16.9004 -25 -28.2998 -45.2002 -34.7998 -56.9004c-4.16797 -1.77637 -7.68652 -4.69238 -10.2002 -8.39941c-1.07422 3.39844 -3.37402 6.23633 -6.40039 8
c6.10059 11.3994 16.9004 31 32.7998 55.2998c-39.5996 -4.60059 -65 -11.2002 -72 -13c4.30078 -14.1006 9.40039 -28.6006 15.2002 -43.2998c-0.866211 -0.632812 -1.63086 -1.36328 -2.2998 -2.2002c-1.5 1.89941 -4 5.2998 -14.4004 5.2998
c-4.69922 12.2998 -8.7998 24.5 -12.3994 36.4004c-138.8 -40.3604 -158.4 -121.36 1.5 -164c3.59961 12.8994 7.7998 26 12.7002 39.3994c0.328125 -0.0185547 0.651367 -0.0214844 0.984375 -0.0214844c2.0752 0 4.06641 0.360352 5.91504 1.02148
c3 -1.2002 5.2002 -1 8.40039 -1c-5.5 -14.5996 -10.2002 -28.8994 -14.1006 -42.8994c23.4512 -5.42578 47.71 -9.39258 72.2002 -11.7002c-16.2998 23.8994 -27.5 43.3994 -33.7998 54.5996c8.7002 0 10.7002 1.60059 12.5996 3.2002
c0.950195 -0.574219 1.95996 -1.08008 3 -1.5c15.3008 -26.7002 28.9004 -46.5996 36.8008 -57.7998c16.6875 -1.17285 32.2051 -1.77344 49.1895 -1.77344c21.2998 0 42.3838 0.9375 63.21 2.77344c16.5 24.2998 27.7002 44 33.9004 55.2002
c7.2998 0 9.7998 3 10.8994 4.19922c1.82324 -1.3252 3.84766 -2.41113 6 -3.19922c-15 -28 -28.6992 -48.9004 -32.1992 -54.2002c24.4219 2.70312 48.6768 7.11816 72 13c-4.10059 13.7998 -9 27.8994 -14.7002 42.2002c2.00391 0.898438 3.81934 2.11523 5.39941 3.59961
l0.100586 0.0996094c2.2666 -3.44043 6.1543 -5.7002 10.5781 -5.7002c0.0410156 0 0.0810547 0 0.12207 0.000976562c4.69922 -12.3008 8.7998 -24.5 12.3994 -36.4004zM335.401 225.459c0.0664062 0.00683594 0.132812 0.00878906 0.201172 0.00878906
c1.07422 0 1.95117 -0.84668 1.99805 -1.90918v-51.5c0 -9.5 -5 -14.0996 -15.0996 -14.0996h-0.400391c-10.0996 0 -15.0996 4.5 -15.0996 14.0996v51.5c-0.00195312 0.0341797 -0.00488281 0.0664062 -0.00488281 0.100586c0 0.999023 0.811523 1.81055 1.81055 1.81055
c0.0654297 0 0.130859 -0.00390625 0.194336 -0.0107422h1.2002c0.0742188 0.00976562 0.148438 0.0166016 0.224609 0.0166016c0.932617 0 1.69043 -0.756836 1.69043 -1.68945c0 -0.0771484 -0.00488281 -0.15332 -0.015625 -0.227539v-49.7998
c0 -8 2.60059 -11.0996 10.1006 -11.0996s10.0996 3.2002 10.0996 11.0996v49.7998c-0.00488281 0.0566406 -0.00976562 0.111328 -0.00976562 0.168945c0 0.959961 0.779297 1.73926 1.74023 1.73926c0.0576172 0 0.114258 -0.00195312 0.169922 -0.0078125h1.2002z
M321.701 139.999l7.09961 -0.0996094l-5.7002 -4.30078l2.10059 -6.7998l-5.7998 4.10059l-5.80078 -4.10059l2.10059 6.7998l-5.7002 4.30078l7.09961 0.0996094l2.30078 6.7998zM290.601 132.599l7.10059 -0.0996094l-5.7002 -4.2998l2.09961 -6.7998l-5.7998 4.09961
l-5.7998 -4.09961l2.09961 6.7998l-5.69922 4.2998l7.09961 0.0996094l2.2998 6.80078zM295.701 163.399c0.0615234 0.00585938 0.12207 -0.0292969 0.185547 -0.0292969c1.00977 0 1.83008 -0.819336 1.83008 -1.83008
c0 -0.0810547 -0.00585938 -0.162109 -0.015625 -0.241211v-0.799805c0.00390625 -0.0488281 0.0078125 -0.0966797 0.0078125 -0.145508c0 -0.977539 -0.792969 -1.77051 -1.77051 -1.77051c-0.0800781 0 -0.160156 0.00585938 -0.237305 0.015625h-22.5
c-0.0644531 -0.00683594 -0.126953 -0.0117188 -0.193359 -0.0117188c-0.999023 0 -1.80957 0.811523 -1.80957 1.81055c0 0.0341797 0.000976562 0.0683594 0.00292969 0.101562v63c-0.00195312 0.0332031 -0.00488281 0.0664062 -0.00488281 0.100586
c0 0.999023 0.811523 1.80957 1.80957 1.80957c0.0664062 0 0.130859 -0.00292969 0.195312 -0.00976562h22.2002c0.0771484 0.00976562 0.155273 0.0175781 0.235352 0.0175781c0.977539 0 1.77051 -0.793945 1.77051 -1.77051
c0 -0.0498047 -0.00195312 -0.0986328 -0.00585938 -0.147461v-0.799805c0.00195312 -0.0380859 0.00488281 -0.0751953 0.00488281 -0.113281c0 -1.04395 -0.847656 -1.89062 -1.89062 -1.89062c-0.0380859 0 -0.0761719 0.000976562 -0.114258 0.00390625h-19.1006
v-25.7998h16.1006c0.0380859 0.00195312 0.0742188 0.00488281 0.113281 0.00488281c1.04297 0 1.88965 -0.847656 1.88965 -1.89062c0 -0.0380859 -0.000976562 -0.0761719 -0.00292969 -0.114258v-0.800781
c0.00195312 -0.0380859 0.00488281 -0.0742188 0.00488281 -0.113281c0 -1.04297 -0.847656 -1.88965 -1.89062 -1.88965c-0.0380859 0 -0.0761719 0.000976562 -0.114258 0.00292969h-16.1006v-26.6992h19.4004zM288.301 262.799l2.2998 -6.7998l7.10059 -0.0996094
l-5.7002 -4.30078l2.09961 -6.7998l-5.7998 4.10059l-5.7998 -4.10059l2.09961 6.7998l-5.69922 4.30078l7.09961 0.0996094z" />
    <glyph glyph-name="adobe" unicode="&#xf778;" horiz-adv-x="512" 
d="M315.5 384h170.9v-384zM196.5 384l-170.9 -384v384h170.9zM256 241.9l107.5 -241.9h-73l-30.7002 76.7998h-78.7002z" />
    <glyph glyph-name="artstation" unicode="&#xf77a;" horiz-adv-x="512" 
d="M2 70.5996h315.1l59.2002 -102.6h-285.399c-0.00488281 0 0.0205078 -0.0498047 0.015625 -0.0498047c-20.0742 0 -37.4736 11.5439 -45.916 28.3496zM501.8 98c19 -29.4004 -0.0996094 -55.9004 -2 -59.0996l-40.7002 -70.5l-257.3 447.6h88.4004
c0.00390625 0 -0.0234375 0.0527344 -0.0195312 0.0527344c19.6797 0 36.79 -11.0879 45.4189 -27.3525zM275 143.5h-231l115.5 200z" />
    <glyph glyph-name="atlassian" unicode="&#xf77b;" horiz-adv-x="512" 
d="M152.2 211.6c66.2998 -70.7998 89.0996 -189.3 51.2002 -267.1c-2.40039 -5.2002 -7.60059 -8.5 -13.4004 -8.40039h-175c-11 0 -18.4004 11.7002 -13.4004 21.7002l125.801 251c5.09961 10.5 17.0996 11 24.7998 2.7998zM244.4 439.9
c6.7998 10.8994 20.2998 10.6992 25.5996 0.0996094c5.90039 -11.7002 240.4 -482.3 240.4 -482.3c5 -9.90039 -2.2002 -21.7002 -13.4004 -21.7002h-174.2c-5.7002 0 -10.8994 3.2998 -13.3994 8.40039c-73.5 146.899 -187.301 302.1 -65 495.5z" />
    <glyph glyph-name="canadian-maple-leaf" unicode="&#xf785;" horiz-adv-x="512" 
d="M383.8 96.2998c-5 -5 -10 -7.5 -5 -22.5s10 -35.0996 10 -35.0996s-95.2002 20.0996 -105.2 22.5996c-8.89941 0.900391 -18.3994 -2.39941 -18.3994 -12.5c0 -10.0996 5.7998 -112.8 5.7998 -112.8h-30s5.7998 102.8 5.7998 112.8s-9.59961 13.4004 -18.2998 12.5
c-10.0996 -2.5 -105.3 -22.5996 -105.3 -22.5996s5 20.0996 10.0996 35.0996c4.90039 15 0 17.5 -5.09961 22.5c-2.60059 2.5 -105.2 92.4004 -105.2 92.4004l17.5 7.59961c10 4.90039 7.40039 11.4004 5 17.4004c-2.5 7.59961 -20.0996 67.2998 -20.0996 67.2998
s47.5996 -10 57.6992 -12.5c7.5 -2.40039 10 2.5 12.5 7.5s15 32.2998 15 32.2998s52.6006 -59.7998 55.1006 -62.2998c10.0996 -7.5 20.0996 0 17.5996 10c0 10 -27.5996 129.6 -27.5996 129.6s30.0996 -17.3994 40.0996 -22.3994c7.60059 -5 12.6006 -5 17.6006 5
c5 7.5 42.5 79.7998 42.5 79.7998s37.5996 -72.2998 42.6992 -79.7998c5 -10 10.1006 -10 17.6006 -5c10 5 40.0996 22.3994 40.0996 22.3994s-27.5996 -119.6 -27.5996 -129.6c-2.5 -10 7.59961 -17.5 17.5996 -10c2.5 2.40039 55.1006 62.2998 55.1006 62.2998
s12.5 -27.3994 15 -32.3994s5 -9.90039 12.5 -7.5c10 2.5 57.6992 12.5 57.6992 12.5s-17.6992 -59.7002 -20.0996 -67.3008c-2.40039 -5.89941 -5 -12.5 5 -17.3994l17.5 -7.5s-102.7 -89.9004 -105.2 -92.4004z" />
    <glyph glyph-name="centos" unicode="&#xf789;" 
d="M289.6 350.5l31.6006 -31.7002l-76.2998 -76.5v108.2h44.6992zM127.2 318.8l31.5996 31.7002h44.7002v-108.2zM168.7 360.4l55.5 55.5996l55.5 -55.5996h-44.7002v-127.9l-10.7998 -10.7998l-10.7998 10.7998v127.9h-44.7002zM194.9 192.3l-10.8008 -10.7998h-128.6
v-44.7998l-55.5 55.5996l55.5 55.6006v-44.8008h128.6zM274.2 213l76.2998 76.5l31.5996 -31.7002v-44.7998h-107.899zM447.5 192.3l-55.5 -55.5996v44.7998h-127.7l-10.7998 10.7998l10.7998 10.7998h127.7v44.8008zM65.4004 271.8v78.7002h79.3994l-31.5996 -31.7002
l90.2998 -90.5v-15.2998h-15.2998l-90.2998 90.5zM382.1 350.5v-78.7002l-31.5996 31.7002l-90.2998 -90.5h-15.2998v15.2998l90.2998 90.5l-31.6006 31.7002h78.5zM203.5 34.0996v-0.0996094h-44.7002l-31.5996 31.7002l76.2998 76.5v-108.101zM65.4004 213v44.7998
l32.5 31.7002l76.2998 -76.5h-108.8zM382.1 112.8v-78.7002h-78.5l31.6006 31.7002l-90.2998 90.5v15.2998h15.2998l90.2998 -90.5zM382.1 171.6v-44.7998l-31.5996 -31.7002l-76.2998 76.5h107.899zM321.2 65.7998l-31.6006 -31.5996h-44.6992v108.1zM97.9004 95.0996
l-32.5 31.7002v44.7998h108.8zM279.7 24.2002l-55.5 -55.6006l-55.5 55.6006h44.7002v127.899l10.7998 10.8008l10.7998 -10.8008v-127.899h44.7002zM113.2 65.7998l31.5996 -31.7002h-79.3994v78.7002l32.5 -31.7002l90.2998 90.5h15.2998v-15.2998z" />
    <glyph glyph-name="confluence" unicode="&#xf78d;" horiz-adv-x="512" 
d="M2.2998 35.7998c42.2998 66.9004 125.2 233.2 373.101 112.601c39.6992 -19.1006 83.6992 -39.9004 105.899 -50.3008c8 -3.69922 11.7002 -13.1992 8.10059 -21.2998l-50.4004 -114.1c-0.0996094 -0.100586 -0.0996094 -0.299805 -0.200195 -0.400391
c-3.89941 -8.09961 -13.5996 -11.5996 -21.7002 -7.7002c-200.399 95.2002 -213.8 111.5 -280.899 -0.699219c0 0 -0.100586 -0.100586 -0.100586 -0.200195c-4.69922 -7.7002 -14.6992 -10 -22.3994 -5.2998l-105.9 65.1992c-7.59961 4.7002 -10 14.6006 -5.5 22.2002z
M509.7 347.9c-42.6006 -67.5 -125.4 -232.9 -373.4 -112.9c-39.7002 19.2002 -83.7998 40 -106 50.4004c-8 3.69922 -11.7002 13.1992 -8.09961 21.2998l50.5 114.1c0.0996094 0.100586 0.0996094 0.299805 0.200195 0.400391
c3.89941 8.09961 13.5996 11.5996 21.6992 7.7002c199.5 -94.7002 213.301 -111.7 280.601 0.899414c0.200195 0.400391 0.399414 0.700195 0.599609 1c5 7.5 15.1006 9.40039 22.6006 4.40039l105.8 -65.1006c7.59961 -4.69922 10 -14.5996 5.5 -22.1992z" />
    <glyph glyph-name="dhl" unicode="&#xf790;" horiz-adv-x="640" 
d="M238 146.8l22.2998 30.2002h58.7002l-22.2998 -30.2002h-58.7002zM0 165.1h86.5l-4.7002 -6.39941h-81.7998v6.39941zM172.9 177h68.1992c-5.69922 -7.7998 -24.0996 -30.2998 -57.1992 -30.2998h-100.101l41.1006 55.7998h51c5.59961 0 5.59961 -2.2002 2.7998 -5.90039
c-2.7998 -3.69922 -7.60059 -10.2998 -10.4004 -14.0996c-1.39941 -1.90039 -4.09961 -5.5 4.60059 -5.5zM490.4 183.9h-62.2002l39.2998 53.3994h62.2002zM95.2998 177l-4.7002 -6.40039h-90.5996v6.40039h95.2998zM206.3 203.6
c2.7998 3.7002 2.90039 5.90039 -2.7002 5.90039h-111.399l20.3994 27.7998h117.9c29.9004 0 37.5996 -23.5996 29.2002 -35c-6.2002 -8.39941 -13.5 -18.3994 -13.5 -18.3994h-45.6006c-8.69922 0 -6 3.5 -4.59961 5.5c2.7998 3.7998 7.5 10.3994 10.2998 14.1992zM0 146.8
v6.40039h77.7998l-4.7002 -6.40039h-73.0996zM323 146.8c0 0 22.2002 30.2002 22.2998 30.2002h58.7002l-22.2998 -30.2002h-58.7002zM545 146.7l4.7002 6.39941h90.2998v-6.39941h-95zM567.3 177h72.7002v-6.40039h-77.4004zM553.8 158.7l4.7002 6.39941h81.5v-6.39941
h-86.2002zM389.6 237.3h58.7002l-39.2998 -53.3994h-143.6l39.2998 53.3994h58.7002l-22.5 -30.5996h26.1992zM423.1 177h133.4l-22.2998 -30.2998h-94.2998c-24.1006 0 -30.6006 11.5996 -23.2002 21.5996c2.09961 2.7998 6.39941 8.7002 6.39941 8.7002z" />
    <glyph glyph-name="diaspora" unicode="&#xf791;" horiz-adv-x="512" 
d="M251.64 93.4502c-1.39941 0 -88 -119.9 -88.6992 -119.9c-0.700195 0 -86.6006 60.4502 -86.9404 61.2002s86.5996 125.7 86.5996 127.4c0 2.19922 -129.6 44 -137.6 47.0996c-1.2998 0.5 31.4004 101.8 31.7002 102.1c0.599609 0.700195 144.399 -47 145.5 -47
c0.399414 0 0.899414 0.600586 1 1.30078c0.399414 2 1 148.6 1.7002 149.6c0.799805 1.2002 104.5 0.700195 105.1 0.299805c1.5 -1 3.5 -156.1 6.09961 -156.1c1.40039 0 138.7 47 139.301 46.2998c0.799805 -0.900391 31.8994 -102.2 31.5 -102.6
c-0.900391 -0.900391 -140.2 -47.1006 -140.601 -48.8008c-0.299805 -1.39941 82.7998 -122.1 82.5 -122.899s-85.5 -63.5 -86.2998 -63.5c-1 0.200195 -89 125.5 -90.9004 125.5h0.0400391z" />
    <glyph glyph-name="fedex" unicode="&#xf797;" horiz-adv-x="640" 
d="M586 163.5l54 -60.5h-64.4004l-22.2998 25l-22.0996 -25h-212.2v11.9004h-0.5c-7.90039 -11.7002 -20.7998 -18.6006 -34.9004 -18.6006c-32.6992 0 -56.3994 26.4004 -60.0996 56.9004h-85.5c0 -23.5 31.0996 -35.5 45.7998 -14.6006h42
c-27.5996 -67.6992 -130.2 -49.3994 -130.2 23.7002c0 6.40039 0.800781 12.5 2.30078 18.2002h-48.9004v-77.5h-49v184.4h109v-41.1006h-60v-26.2002h54.7998v-24.1992c24.5 43.5996 103.9 45.3994 121.9 -14c7.5 25.5 28.8994 44.8994 57.2998 44.8994
c13.9004 0 25.7998 -3.7998 35.4004 -14.7998h0.5v75.5h151.199v-48.0996h-56.0996v-16h118.7l22.5 -24.8008l21.7002 24.8008h62.3994zM139.3 180.1h46.5c-4.7998 25.6006 -40.3994 26.3008 -46.5 0zM292.7 131.2c34.5 0 32.5996 62.7998 0 62.7998
c-34 0 -34.6006 -62.7998 0 -62.7998zM460.5 112.1v29.6006h-56.0996v44.7002h56.0996v28.0996h-55.5v33.9004h56.0996v30.1992h-95v-166.5h94.4004zM414.6 151.9h56.1006v-45.6006l50.7002 57l-50.7002 57v-44h-56.1006v-24.3994zM553.2 141.6l26.2998 -29.5h40.5
l-46 51.4004l45.4004 51h-38.5l-25.6006 -29.2998l-26.5996 29.2998h-39.7002l45.5996 -51.2002l-45.5996 -51.2002h38.0996z" />
    <glyph glyph-name="fedora" unicode="&#xf798;" 
d="M225 416c123.7 -0.299805 223.7 -100.9 223.4 -224.6c-0.300781 -123.7 -100.9 -223.7 -224.601 -223.4l-170.2 0.400391c-29.582 0 -53.6006 24.0117 -53.6006 53.5938c0 0.102539 0 0.204102 0.000976562 0.305664l0.400391 170.3
c0.399414 123.7 100.899 223.7 224.6 223.4zM394.8 258.8c-0.0947266 7.71387 -1.06445 15.1934 -2.7998 22.4004l-55.2002 56.0996v-1.59961c0 -5.10059 -1.5 -9.60059 -3.7998 -14.2998zM331 353.7c1.94141 -2.71777 3.39453 -5.85449 4.2002 -9.2002l54.2998 -54.5996
c-9.56543 28.6953 -30.9629 51.8848 -58.5 63.7998zM118.1 200.8c-5.54395 -0.450195 -11.0029 -1.44336 -16.1992 -2.89941l8.5 -8.5c2.04004 4.16895 4.62598 7.98535 7.69922 11.3994zM97 196.6c-4.72363 -1.31543 -9.36719 -3.08691 -13.7002 -5.19922l27 -27.2002
c-1.51855 3.87012 -2.37598 8.09961 -2.39941 12.5l0.899414 8zM78.7998 189.2c-3.89551 -2.1748 -7.62207 -4.57227 -11.2002 -7.2002l35.3008 -35.9004c4.36133 2.17188 9.16016 3.79395 14.0996 4.7002zM63.5996 179.4
c-3.7207 -2.78223 -7.0625 -5.89355 -10.0996 -9.40039l34.9004 -34.5996c3.2168 3.18945 6.69531 6.00781 10.5 8.5zM50.2998 167.1c-2.89941 -3.2998 -5.7998 -6.69922 -8.59961 -10.5l35.7998 -35.8994c2.11035 4.12598 4.6875 7.93262 7.7002 11.3994zM39.2998 152.8
c-2.49414 -3.82227 -4.73926 -7.83984 -6.7002 -12l39.5 -39.7998c0.374023 5.3252 1.63574 10.4883 3.60059 15.2002zM30.5 136.5c-1.7998 -4.90039 -3.2998 -9.59961 -4.7002 -14.5l52.7002 -53.5c-3.96484 7.90234 -6.36621 16.8438 -6.7002 26.2002zM22.5996 93.5
c0.046875 -7.56934 1.05859 -14.8945 2.90039 -21.9004l55.4004 -55.6992v1.09961c0.0429688 5.14551 1.35156 10.0322 3.59961 14.2998zM27.9004 62.7998c9.59375 -28.6787 30.9805 -51.8564 58.5 -63.7998c-1.90527 2.74219 -3.35254 5.87402 -4.2002 9.2002z
M22.5996 99.7998l64.4004 -64.2002c2.76953 3.4707 6.08594 6.38965 9.90039 8.7002l-72.2002 72.5c-1.2793 -5.48047 -2.00293 -11.1543 -2.10059 -17zM275.9 151.6c32.5996 -0.0996094 32.6992 49.2002 0.199219 49.4004l-33.5996 0.0996094
c-4.91504 0.0224609 -8.90039 4.01855 -8.90039 8.93945v0.0605469l0.100586 47c0.0996094 40.5 38.5996 60.8008 66 54.9004c15.3994 -3.90039 30.2998 8.40039 30.2998 23.9004c0 12.0996 -8.7002 22.1992 -19.9004 24c-6.37305 1.50098 -12.9639 2.30078 -19.793 2.30078
c-0.135742 0 -0.271484 -0.000976562 -0.40625 -0.000976562c-0.143555 0 -0.277344 -0.00292969 -0.420898 -0.00292969c-57.9893 0 -105.081 -47.0303 -105.18 -104.997l-0.0996094 -56l-42.6006 0.0996094c-32.5996 0.100586 -32.6992 -49.2002 -0.0996094 -49.2998
l33.5996 -0.0996094c4.40039 0 8.90039 -4.5 8.90039 -9l-0.0996094 -47c-0.00585938 -30.8535 -25.0527 -55.9004 -55.9062 -55.9004h-0.194336c-9.39941 0 -9.39941 1.59961 -15.7002 1.59961c-13.458 -0.209961 -24.3447 -11.1289 -24.5 -24.5996
c0 -15.5 14.2002 -24.2002 19.9004 -24.2002c61.2998 -12.8994 125.5 33.6006 125.7 102.9l0.0996094 56zM299.4 151.9c5.48145 0.538086 10.9062 1.52637 16.0996 2.89941l-8.5 8.5c-1.78711 -4.29492 -4.37207 -8.14844 -7.59961 -11.3994zM320.4 156.1
c4.74121 1.31738 9.38574 3.12305 13.6992 5.30078l-27 27.1992c1.51855 -3.86914 2.37598 -8.09961 2.40039 -12.5l-0.900391 -8.09961zM338.4 163.5c4 2.2002 8.09961 4.7002 11.8994 7.2002l-36.2002 35.8994c-4.09961 -2.2998 -8.7998 -3.59961 -13.6992 -4.69922z
M353.9 173.3c3.55273 2.83594 6.87891 5.7998 10.0996 9l-34.9004 35c-3.18457 -3.22266 -6.66797 -6.04492 -10.5 -8.5zM367.1 185.6c3.0625 3.36523 5.89941 6.82812 8.60059 10.5l-35.7998 35.9004c-2.1582 -4.0957 -4.73145 -7.89746 -7.7002 -11.4004zM378.1 199.9
c2.53027 3.79688 4.77832 7.81738 6.7002 12l-39.5 39.7998c-0.374023 -5.3252 -1.63574 -10.4893 -3.59961 -15.2002zM391.6 230.8l-53.0996 53.4004c4.25977 -7.79688 6.82422 -16.7627 7.09961 -26.2002l41.3008 -41.5c1.7959 4.61523 3.39258 9.46387 4.69922 14.2998z
M392.6 236.4c1.25586 5.3623 2.04199 10.9189 2.30078 16.5996l-64.3008 64.7002c-2.61426 -3.74805 -5.95898 -6.85938 -9.89941 -9.2002z" />
    <glyph glyph-name="figma" unicode="&#xf799;" horiz-adv-x="384" 
d="M277 277.3h-85.4004v-256c-0.0273438 -47.082 -38.2617 -85.2998 -85.3506 -85.2998c-47.1055 0 -85.3496 38.2441 -85.3496 85.3496c0 47.1064 38.2441 85.3506 85.3496 85.3506h0.0507812c-47.1055 0 -85.3496 38.2441 -85.3496 85.3496
c0 47.1064 38.2441 85.3506 85.3496 85.3506c-47.0781 0 -85.2998 38.2217 -85.2998 85.2998s38.2217 85.2998 85.2998 85.2998h170.7c47.1055 0 85.3496 -38.2441 85.3496 -85.3496c0 -47.1064 -38.2441 -85.3506 -85.3496 -85.3506zM277 277.3
c47.0762 -0.00488281 85.2949 -38.2236 85.2998 -85.2998c0 -47.0781 -38.2217 -85.2998 -85.2998 -85.2998s-85.2998 38.2217 -85.2998 85.2998s38.2217 85.2998 85.2998 85.2998z" />
    <glyph glyph-name="intercom" unicode="&#xf7af;" 
d="M392 416c30.9004 0 56 -25.0996 56 -56v-336c0 -30.9004 -25.0996 -56 -56 -56h-336c-30.9004 0 -56 25.0996 -56 56v336c0 30.9004 25.0996 56 56 56h336zM283.7 333.9v-199.5c0 -19.8008 29.8994 -19.8008 29.8994 0v199.5c0 19.7998 -29.8994 19.7998 -29.8994 0z
M209.1 341.4v-216.5c0 -19.8008 29.9004 -19.8008 29.9004 0v216.5c0 19.7998 -29.9004 19.7998 -29.9004 0zM134.4 333.9v-199.5c0 -19.8008 29.8994 -19.8008 29.8994 0v199.5c0 19.7998 -29.8994 19.7998 -29.8994 0zM59.7002 304v-134.3
c0 -19.7998 29.8994 -19.7998 29.8994 0v134.3c0 19.7998 -29.8994 19.7998 -29.8994 0zM383.1 76.2002c14.9004 12.8994 -4.5 35.5996 -19.3994 22.7002c-63.2002 -53.9004 -213.4 -55.3008 -279.3 0c-15 12.7998 -34.4004 -9.90039 -19.4004 -22.7002
c76.4004 -65.4004 245.3 -63 318.1 0zM388.3 169.7v134.3c0 19.7998 -29.8994 19.7998 -29.8994 0v-134.3c0 -19.7998 29.8994 -19.7998 29.8994 0z" />
    <glyph glyph-name="invision" unicode="&#xf7b0;" 
d="M407.4 416c22.3994 0 40.5996 -18.2002 40.5996 -40.5996v-366.801c0 -22.3994 -18.2002 -40.5996 -40.5996 -40.5996h-366.801c-22.3994 0 -40.5996 18.2002 -40.5996 40.5996v366.801c0 22.3994 18.2002 40.5996 40.5996 40.5996h366.801zM176.1 302.4
c-0.599609 35.0996 -53.5996 34.7998 -53.6992 -0.400391c0 -15 12.1992 -27 27.0996 -27c4.2002 0.0996094 27 4 26.5996 27.4004zM332.8 71c23.7998 0 42.7002 15.2998 53.2002 52l-17.9004 6.7002c-14.2998 -39.5 -31.7998 -32.4004 -31.7998 -16.9004
c0.299805 8.10059 0.700195 7.7002 14.9004 58.7998c26.0996 85.8008 -61.2998 113.5 -101.8 38l8.89941 40.5h-68.7998l-9.7002 -35.5996h32.2998l-19.7998 -79.4004c-16.5 -36.6992 -57.3994 -44.0996 -57.3994 -23.1992c0.299805 11.2998 -0.700195 4.5 32.8994 138.199
h-76.3994l-9.7002 -35.5996h31.7998c-22.0996 -90.0996 -22.9004 -89.7998 -23 -104.1c0 -48.7002 63.0996 -56.1006 94.5996 -4.30078l-8.09961 -32.5h45.0996l25.8008 103.301c14.6992 59.6992 74 47.0996 59.8994 0.699219c-9.09961 -32.5996 -40.5996 -106.6 25 -106.6z
" />
    <glyph glyph-name="jira" unicode="&#xf7b1;" horiz-adv-x="496" 
d="M490 206.3c8 -7.89941 8 -20.7002 0 -28.5996c-225.8 -225 137.9 136.3 -241.5 -241.7c-180.7 180.1 -109.7 109.3 -242.5 241.6c-7.90039 8 -7.90039 20.8008 0 28.7002c0 0 77 76.7998 242.5 241.7c72.0996 -71.7998 168.6 -169 241.5 -241.7zM248.5 116.3l76 75.7002
l-76 75.7002l-76 -75.7002z" />
    <glyph glyph-name="mendeley" unicode="&#xf7b3;" horiz-adv-x="640" 
d="M624.6 122.8c23.1006 -22.7002 17.8008 -73.5 0 -88.2998c-36.1992 -38.9004 -100 -18.2002 -104.899 35.2002c-1 11.7002 1.09961 23 5.7002 33c47.2998 103.7 -185.9 106.1 -146.5 8.2002c0.0996094 -0.100586 0.199219 -0.200195 0.299805 -0.400391
c26.5996 -42.5996 -6.7002 -97.2998 -58.7998 -95.2002c-52 -2.2002 -85.6006 52.4004 -58.8008 95.2002c0.100586 0.200195 0.200195 0.299805 0.300781 0.400391c39.3994 97.8994 -193.801 95.5 -146.5 -8.2002c20.3994 -44.9004 -14.1006 -93.7002 -61.2002 -87.7998
c-61.9004 7.7998 -62.5 82.8994 -42.6006 102.6c16 16 31.8008 24.7998 53 22.5c43.3008 1 49.7002 34.9004 37.5 98.7998c-22.6992 57.5 14.5 131.601 87.4004 130.8c76.9004 -0.699219 82.7998 -82 130.9 -82c49.1992 0 53.5 81.3008 130.899 82
c72.5 0.700195 110.2 -73.2998 87.4004 -130.8c-12.2002 -63.8994 -5.7998 -97.7998 37.5 -98.7998c18.7002 2 36.0996 -4.7998 48.3994 -17.2002zM320.7 141.9c43.5996 0 62.7998 37.7998 62.7998 62.7998c0 34.7002 -28.0996 62.7998 -62.7998 62.7998h-0.600586
c-34.5996 0 -62.7998 -28.0996 -62.7998 -62.7998c0 -25.2998 19.4004 -62.7998 62.7998 -62.7998h0.600586z" />
    <glyph glyph-name="raspberry-pi" unicode="&#xf7bb;" horiz-adv-x="407" 
d="M372 215.5c28.7002 -17.2002 54.5996 -72.5996 14 -117.7c-2.59961 -14.0996 -7.09961 -24.2002 -11 -35.3994c-5.90039 -45.2002 -44.4004 -66.3008 -54.5996 -68.8008c-14.9004 -11.1992 -30.7002 -21.7998 -52.2002 -29.1992
c-20.2002 -20.6006 -42.1006 -28.4004 -64.2002 -28.4004h-1c-22 0 -44 7.7998 -64.2998 28.4004c-21.4004 7.39941 -37.2998 18 -52.2002 29.1992c-10.0996 2.5 -48.7002 23.6006 -54.5996 68.8008c-3.90039 11.1992 -8.40039 21.2998 -11 35.3994
c-40.5 45 -14.6006 100.5 14.1992 117.7l3.7002 6.5c-0.0996094 46.4004 21.4004 65.2998 46.5 79.7002c-7.59961 2 -15.3994 3.7002 -17.5996 13.2002c-13.1006 3.39941 -15.7998 9.39941 -17.1006 15.7998c-3.39941 2.2998 -14.7998 8.7002 -13.5996 19.7002
c-6.2998 4.39941 -9.90039 10.0996 -8.09961 18.0996c-6.90039 7.5 -8.7002 13.7002 -5.80078 19.4004c-8.2998 10.1992 -4.59961 15.5 -1.09961 20.8994c-6.2002 11.2002 -0.799805 23.2002 16.5 21.2002c6.90039 10.0996 21.9004 7.7998 24.2002 7.7998
c2.5 3.2998 6 6 16.5 4.7002c6.7998 6.09961 14.3994 5.09961 22.2998 2.09961c3.2002 2.5 6.09961 3.40039 8.7002 3.5c5 0.100586 9.2998 -2.89941 13.8994 -4.2998c11.3008 3.60059 13.8008 -1.39941 19.4004 -3.39941c12.2998 2.59961 16.0996 -3 22 -8.90039
l6.90039 0.0996094c18.5996 -10.7998 27.7998 -32.7998 31.0996 -44.0996c3.2998 11.2998 12.5 33.2998 31.0996 44.0996l6.90039 -0.0996094c5.90039 5.90039 9.7002 11.5 22 8.90039c5.5 2.09961 8.09961 7 19.4004 3.39941
c7.09961 2.2002 13.2998 8.10059 22.5996 0.799805c7.90039 2.90039 15.5 4 22.2998 -2.09961c10.5 1.2998 13.9004 -1.5 16.5 -4.7002c2.2998 0 17.2998 2.2998 24.2002 -7.7998c17.2998 2 22.7998 -10 16.5996 -21.2002c3.5 -5.2998 7.2002 -10.5996 -1.09961 -20.8994
c2.90039 -5.7002 1.09961 -11.9004 -5.7998 -19.4004c1.89941 -8 -1.7002 -13.7002 -8.10059 -18.0996c1.2002 -11 -10.1992 -17.4004 -13.5996 -19.7002c-1.2998 -6.40039 -4 -12.5 -17.0996 -15.7998c-2.2002 -9.60059 -10 -11.2002 -17.6006 -13.2002
c25.1006 -14.4004 46.6006 -33.2998 46.5 -79.7002zM349.8 223.5c1.5 48.7002 -36.3994 75.4004 -82.0996 67.9004c-16.7998 -2.80078 80.5996 -86.6006 82.0996 -67.9004zM306.8 130.4c24.5 15.7998 28.9004 51.5996 9.90039 80
c-19 28.3994 -54.2998 38.5996 -78.7998 22.7998s-28.9004 -51.6006 -9.90039 -80c19 -28.4004 54.2998 -38.6006 78.7998 -22.7998zM238.9 418.7c-16.6006 -15.9004 -40.1006 -55.9004 -5.80078 -71.7998c29 23.5 63.6006 40.6992 102 53.5
c-49.2998 -25.1006 -78 -45.3008 -93.6992 -62.6006c8.09961 -31.7002 50 -33.2002 65.3994 -32.2998c-3.09961 1.40039 -5.7998 3.09961 -6.7002 5.7998c3.80078 2.7002 17.5 0.299805 27 5.60059c-3.69922 0.699219 -5.39941 1.39941 -7.09961 4.09961
c9 2.90039 18.7002 5.2998 24.4004 10c-3.10059 0 -6 -0.599609 -10 2.09961c8.09961 4.30078 16.6992 7.7002 23.3994 14.2002c-4.2002 0.100586 -8.7002 0.100586 -10 1.60059c7.40039 4.5 13.6006 9.5 18.7998 15c-5.7998 -0.700195 -8.2998 -0.100586 -9.69922 0.899414
c5.59961 5.60059 12.5996 10.4004 16 17.2998c-4.40039 -1.5 -8.30078 -2.09961 -11.2002 0.100586c1.89941 4.2998 10 6.7002 14.7002 16.5996c-4.60059 -0.399414 -9.40039 -1 -10.4004 0c2.09961 8.5 5.7002 13.2002 9.2998 18.2002
c-9.7998 0.200195 -24.5996 0 -23.8994 0.799805l6 6.10059c-9.5 2.5 -19.3008 -0.400391 -26.4004 -2.60059c-3.2002 2.5 0 5.60059 3.90039 8.7998c-8.10059 -1 -15.5 -2.89941 -22.1006 -5.39941c-3.59961 3.09961 2.2998 6.2998 5.10059 9.39941
c-12.5 -2.2998 -17.8008 -5.59961 -23.1006 -8.89941c-3.7998 3.59961 -0.200195 6.7002 2.40039 9.7998c-9.40039 -3.5 -14.2998 -7.90039 -19.4004 -12.2998c-1.7998 2.2998 -4.39941 4 -1.2002 9.59961c-6.69922 -3.7998 -11.7998 -8.2998 -15.5 -13.2998
c-4.19922 2.59961 -2.5 6.09961 -2.5 9.40039c-7 -5.60059 -11.3994 -11.5 -16.7998 -17.3008c-1.09961 0.800781 -2.09961 3.40039 -2.89941 7.60059zM204.5 304.1c-27.2002 0.700195 -53.4004 -19.8994 -53.4004 -31.7998
c-0.0996094 -14.5996 21.5 -29.3994 53.6006 -29.7998c32.7998 -0.200195 53.7002 11.9004 53.7998 26.9004c0.0996094 16.8994 -29.7998 35 -54 34.6992zM81.5 316.9c9.59961 -5.2002 23.2002 -2.80078 27.2002 -5.60059
c-0.900391 -2.59961 -3.60059 -4.39941 -6.7002 -5.7998c15.4004 -0.900391 57.4004 0.5 65.4004 32.2998c-15.7002 17.2998 -44.4004 37.6006 -93.7002 62.6006c38.3994 -12.8008 73 -30 102 -53.5c34.0996 15.8994 10.5996 55.8994 -6 71.7998
c-0.900391 -4.2002 -1.7998 -6.7998 -2.90039 -7.60059c-5.39941 5.80078 -9.7998 11.7002 -16.7998 17.3008c0 -3.2002 1.59961 -6.80078 -2.5 -9.40039c-3.7002 5 -8.7998 9.5 -15.5 13.2998c3.2002 -5.59961 0.5 -7.2998 -1.2002 -9.59961
c-5.09961 4.39941 -10 8.89941 -19.3994 12.2998c2.59961 -3.09961 6.19922 -6.2002 2.39941 -9.7998c-5.2998 3.2998 -10.5996 6.59961 -23.0996 8.89941c2.7998 -3.09961 8.59961 -6.2998 5.09961 -9.39941c-6.7002 2.5 -14 4.2998 -22.0996 5.39941
c3.7998 -3.19922 7.09961 -6.2998 3.89941 -8.7998c-7.09961 2.2002 -16.8994 5.10059 -26.3994 2.60059l6 -6.10059c0.700195 -0.799805 -14.1006 -0.700195 -23.9004 -0.799805c3.5 -4.90039 7.2002 -9.7002 9.2998 -18.2002c-1 -1 -5.7998 -0.399414 -10.3994 0
c4.7002 -9.89941 12.7998 -12.3994 14.7002 -16.5996c-2.90039 -2.10059 -6.90039 -1.60059 -11.2002 -0.100586c3.2998 -6.89941 10.3994 -11.6992 16 -17.2998c-1.40039 -1 -3.90039 -1.59961 -9.7002 -0.899414c5.2002 -5.5 11.4004 -10.5 18.7998 -15
c-1.2998 -1.60059 -5.7998 -1.5 -10 -1.60059c6.7002 -6.5 15.2998 -9.89941 23.4004 -14.2002c-4 -2.7998 -6.90039 -2.09961 -10 -2.09961c5.7002 -4.7002 15.3994 -7.2002 24.3994 -10c-1.69922 -2.59961 -3.39941 -3.40039 -7.09961 -4.09961zM141.6 292.8
c-45.5996 7.60059 -83.5996 -19.2002 -82.0996 -67.8994c1.5 -18.6006 98.9004 65.0996 82.0996 67.8994zM38.2002 106c21.5996 -9.5 39.0996 105.3 12.5996 98.2998c-43.8994 -24.5996 -36.2998 -79.5 -12.5996 -98.2998zM129.2 7.7998
c14.0996 10.4004 6.39941 45.7002 -10.5 65.7002c-19.4004 22.2002 -44.6006 35.4004 -60.9004 25.5996c-10.8994 -8.19922 -12.8994 -36 2.60059 -63.3994c23 -32.6006 55.5 -35.7998 68.7998 -27.9004zM102.8 127.5c24.4004 -15.7998 59.7002 -5.59961 78.7998 22.7998
c19 28.4004 14.6006 64.2002 -9.89941 80s-59.7998 5.60059 -78.7998 -22.7998s-14.6006 -64.2002 9.89941 -80zM205 -48c28.4004 -0.5 57.7002 24.4004 57.2002 35.4004c-0.100586 11.3994 -32 19.8994 -55.7002 18.8994c-23.5 0.600586 -59.7002 -9.2998 -59.2998 -22
c-0.400391 -8.59961 28.3994 -33.5 57.7998 -32.2998zM263.9 76.9004v0.599609c-0.200195 29.5996 -26.8008 53.5996 -59.4004 53.4004c-32.5996 -0.200195 -59 -24.3008 -58.7998 -54v-0.600586c0.200195 -29.5996 26.7998 -53.5996 59.3994 -53.3994
c32.6006 0.199219 59 24.2998 58.8008 54zM346.1 34.2002c18.4004 23.2002 12.2002 62 1.7002 72.2998c-15.5996 11.9004 -38 -3.2998 -58.8994 -26.5996c-18.3008 -21.1006 -28.4004 -59.6006 -15.1006 -72c12.7002 -9.60059 47 -8.30078 72.2998 26.2998zM369 107.4
c23.7002 18.6992 31.2998 73.5996 -12.5996 98.2998c-26.4004 7 -8.90039 -107.7 12.5996 -98.2998z" />
    <glyph glyph-name="redhat" unicode="&#xf7bc;" horiz-adv-x="512" 
d="M341.52 162.59v-0.149414c33.6504 0 82.3408 6.93945 82.3408 47c0.219727 6.73926 0.859375 1.81934 -20.8799 96.2393c-4.62012 19.1504 -8.68066 27.8398 -42.3105 44.6504c-26.0898 13.3398 -82.9199 35.3701 -99.7295 35.3701
c-15.6602 0 -20.2002 -20.1699 -38.8701 -20.1699c-18 0 -31.3105 15.0596 -48.1201 15.0596c-16.1406 0 -26.6602 -11 -34.7803 -33.6201c-27.5 -77.5498 -26.2803 -74.2695 -26.1201 -78.2695c0 -24.7998 97.6406 -106.11 228.47 -106.11zM429.07 193.19
l-0.0703125 -0.0302734c4.65039 -22 4.65039 -24.3506 4.65039 -27.25c0 -37.6602 -42.3301 -58.5605 -98 -58.5605c-125.74 -0.0800781 -235.91 73.6504 -235.91 122.33v0.078125c0 6.96289 1.46289 13.6279 4.05957 19.6426
c-45.2402 -2.26074 -103.8 -10.3301 -103.8 -62.0303c0 -84.6699 200.63 -189 359.49 -189c121.79 0 152.51 55.0801 152.51 98.5801c0 34.21 -29.5898 73.0498 -82.9297 96.2402z" />
    <glyph glyph-name="sketch" unicode="&#xf7c6;" horiz-adv-x="512" 
d="M27.5 285.8l78.9004 105.8l-6.90039 -130.699h-90.5zM396.3 402.3l7.10059 -133.5l-135.7 147.2zM112.2 229.7l122.6 -239.7l-224.899 261.7h91.0996zM114.2 260.9l142.1 154.1l60.4004 -65.5996l81.5 -88.5h-284zM411.5 251.8v-0.0996094h90.9004l-224.801 -261.7z
M415.4 379l87.8994 -118.1h-90.2998l-6.09961 113.399l-0.900391 17.2998zM113.5 354.5l2.59961 47.7998l128.601 13.7002l-135.8 -147.1zM401.2 251.8l-144.9 -283.8l-102.7 200.9l-42.3994 82.8994h290z" />
    <glyph glyph-name="sourcetree" unicode="&#xf7d3;" 
d="M427.2 245c-0.104492 -90.2461 -59.1543 -166.747 -140.7 -193.1v-101.601c0 -7.89258 -6.40723 -14.2998 -14.2998 -14.2998h-96.4004c-7.89258 0 -14.2998 6.40723 -14.2998 14.2998v101.7c-81.501 26.3281 -140.5 102.814 -140.5 193.03v0.370117
c0.200195 112 91.0996 202.8 203.2 202.6c112.1 0 203 -90.9004 203 -203zM155.6 245c0 -91 137.2 -89.9004 137.301 0c0 90.7998 -137.301 90.7998 -137.301 0z" />
    <glyph glyph-name="suse" unicode="&#xf7d6;" horiz-adv-x="640" 
d="M471.08 345.34c0 1 1.01953 0.759766 0.919922 0.660156c4.2002 -0.599609 92.2002 -13.7002 129.2 -35.2998c12.0996 -6.90039 20.7002 -21.5 34.5 -69.6006c0.700195 -2.7998 -2.7998 -5.09961 -3.60059 -5.69922
c-26.8994 -18.8008 -56.7998 -36.6006 -145.199 21.6992c11.0996 -26.6992 10.6992 -25.0996 11 -25.5c5.39941 -2.7998 56.2998 -28.6992 81.5996 -28.1992c20.4004 0.399414 42.2002 10.3994 50.9004 15.5996c0 0 4.5 2.7002 3.19922 -2.40039
c-0.5 -1.89941 -3.2998 -14.5996 -7 -17.6992c-1 -1 -36.5996 -28.4004 -103.1 -28c-42.7002 1 -76.7998 16.3994 -82.4004 -17.4004c-2.7998 -17.0996 6.10059 -37.5 18.9004 -55.7998h-48.5996c-15.9004 28.3994 -23.1006 68.2998 -79.8008 68.2998
c-51.5996 0 -48.3994 -50.7002 -42.6992 -68.2998h-45.9004c-18.7998 68.7998 -69.2002 98.5996 -102.4 104.3c-74.2998 12.7998 -113 -49.2002 -87 -98.4004c23.1006 -43.5996 81.4004 -44.0996 99.7002 -20.3994c19.2002 25 3.7998 62.8994 -28.5 65.7002
c-12.2998 1.09961 -25.2998 -4.60059 -25.5 -16.9004v-0.0595703c0 -10.9004 10 -13.8008 12 -14c7.2998 0.399414 8.90039 1.89941 11.7998 2.39941c5.2002 0.900391 16.8008 -1.7998 16.8008 -13.8994c0 -8.40039 -6.80078 -13.1006 -13.3008 -14.9004
c-4.94922 -1.71484 -10.2754 -2.67285 -15.7998 -2.7002c-17.2002 0 -41.2002 14.7998 -41.5 42.6006c-0.200195 15.6992 7.7002 30 21.6006 39.1992c15.8994 10.5 43.5996 14.1006 69.1992 -1.59961c31.5 -19.2998 39.7002 -57.0996 31.5 -82.9004
c-11.8994 -37.2998 -45.5996 -57.1992 -90 -53.2998c-31.5 2.7998 -60.6992 19.4004 -78.0996 44.4004c-7.45117 10.6377 -13.1357 22.7852 -16.5 35.7002c-7.12012 28.0596 0 58.0596 5.48047 71.3994c25.6992 63.6006 80.1992 97.2998 99.5996 109.7
c100.2 61.5996 171.1 59.0996 223 57.2998c61.2998 -2.2002 126.6 -23.2998 135.7 -26.2998c0 2 0.299805 20.2998 0.299805 20.2998zM531.48 272.54c-1.10059 -33.5 39.0996 -51.5996 63.2998 -28.9004c24.3994 22.9004 9 64 -24.4004 65.2002
c-0.464844 0.0175781 -0.910156 0.00585938 -1.37988 0.00585938c-20.3057 0 -36.8682 -16.1572 -37.5195 -36.3057zM570.08 297.84c14.0928 -0.414062 25.4199 -11.9697 25.4199 -26.1631c0 -0.34668 -0.00683594 -0.692383 -0.0195312 -1.03711
c-0.505859 -14.0547 -12.0898 -25.3252 -26.2676 -25.3252c-14.499 0 -26.2695 11.7705 -26.2695 26.2695s11.7705 26.2705 26.2695 26.2705c0.290039 0 0.579102 -0.00488281 0.867188 -0.0146484zM574.38 269.04c15.4004 0 15.4004 15.5996 0 15.5996
c-15.3994 0 -15.3994 -15.5996 0 -15.5996z" />
    <glyph glyph-name="ubuntu" unicode="&#xf7df;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM300.7 347c-8.7998 -15.2002 -3.60059 -34.7002 11.7002 -43.5996c15.1992 -8.80078 34.6992 -3.5 43.5 11.6992c8.7998 15.3008 3.59961 34.8008 -11.7002 43.6006
c-15.2002 8.7998 -34.7002 3.5 -43.5 -11.7002zM87.4004 160.1c17.5996 0 31.8994 14.3008 31.8994 31.9004s-14.2998 31.9004 -31.8994 31.9004c-17.6006 0 -31.9004 -14.3008 -31.9004 -31.9004s14.2998 -31.9004 31.9004 -31.9004zM115.5 157
c8.7002 -32.7002 29.0996 -60.7002 56.5 -79l23.7002 39.5996c-51.5 36.3008 -51.5 112.5 0 148.801l-23.7002 39.5996c-27.4004 -18.4004 -47.9004 -46.2998 -56.5 -79.0996c22.4004 -18 22.2998 -52 0 -69.9004zM344.2 25.2998
c15.2998 8.7998 20.5 28.2998 11.7002 43.6006c-8.80078 15.2998 -28.3008 20.5 -43.5 11.6992c-15.3008 -8.7998 -20.5 -28.2998 -11.7002 -43.5996s28.2002 -20.5 43.5 -11.7002zM344.5 94.7998c23 22.9004 38 53.9004 40.2998 88.4004l-46.0996 0.700195
c-5.5 -62.7002 -71.9004 -100.9 -128.9 -74.4004l-22.5 -40.2998c47.7998 -23.7002 91.5 -10.7998 96.7002 -9.40039c4.40039 28.4004 33.7998 45.2998 60.5 35zM338.6 200.1l46 0.600586c-2.19922 34.5996 -17.0996 65.5996 -40.1992 88.5
c-26.7002 -10.2998 -56.1006 6.7002 -60.5 35c-5.2002 1.39941 -48.8008 14.2998 -96.7002 -9.40039l22.5 -40.2998c57.5996 26.7998 123.5 -12.4004 128.899 -74.4004z" />
    <glyph glyph-name="ups" unicode="&#xf7e0;" horiz-adv-x="384" 
d="M103.2 145v123h32.5996v-141.6c-17.7002 -12.1006 -97.8994 -35.9004 -97.8994 39v102.6h32.6992v-104c0 -32.0996 27.4004 -22.5996 32.6006 -19zM4 373.18c93.5996 49.6006 259.1 61.6006 375.4 0v-220.899c0 -103.9 -75.3008 -135.2 -187.7 -184.101
c-112.8 48.9004 -187.7 80.4004 -187.7 184.101v220.899zM362.1 152.28v216.2c-109.3 10.1992 -238.6 4 -340.899 -89.8008v-126.399c0 -86.6006 53 -113.5 170.5 -165.3c117.2 51.6992 170.399 78.6992 170.399 165.3zM152.5 259.68
c23.7002 15.3203 104.4 31.8008 104.4 -65.5996c0 -75.9004 -47.3008 -85.7998 -71.7002 -78.5v-68.7002h-32.7002v212.8zM185.2 142.38c2 -0.799805 38.3994 -16.8994 38.3994 51c0 62 -30 53.5 -38.3994 49.2998v-100.3zM264.3 228.78
c-0.200195 41.0996 51.2002 53.8994 79.7002 31.8994v-28.3994c-17.9004 18.2998 -47.9004 18.0996 -48.5 -2.2002c-0.700195 -26.5996 55.0996 -21.7002 53.4004 -73.2002c-1.30078 -41.5996 -47 -55 -83.2002 -33.5v30.1006
c20.3994 -18.1006 51.3994 -18.6006 50.7998 4.89941c-0.599609 27.9004 -52.0996 23.1006 -52.2002 70.4004z" />
    <glyph glyph-name="usps" unicode="&#xf7e1;" horiz-adv-x="576" 
d="M460.3 206.3c-1.39941 -2.2002 -4.2998 -4.39941 -3.7998 0.100586c2.90039 11.5996 13.9004 30.5 4.40039 32c-17.8008 3.09961 -88.1006 -4.5 -88.1006 0c0 2.39941 26.7002 3.09961 37.9004 8.69922c9.39941 9.40039 10.7998 8 10.8994 8h27
c26.9004 0 37.5 -7.5 11.7002 -48.7998zM348.2 183.7c-62.2998 -21.2002 -124.8 -54.2002 -321.2 -151.5l52.4004 245.5c185 0 335.199 5.59961 337.899 -22.6006h-196.6l30.7002 -93.2998c35 16.7998 120.899 51.7002 172.6 53.9004
c21.7998 0.799805 30.5996 -2.90039 26.2002 -5.7998c-4.7002 -2.30078 -38 -4.90039 -102 -26.2002zM94.7002 352h454.3l-67.7002 -319.7h-423.1s402 157.3 406.399 160.2c0 0 35.7002 48 14.6006 67.7002c-6.5 6.59961 -16 6.59961 -52.4004 6.59961
c-2.09961 19.5 -78.7998 31.5 -332.1 85.2002z" />
    <glyph glyph-name="yarn" unicode="&#xf7e3;" horiz-adv-x="496" 
d="M393.9 102.8c-39 -9.2998 -48.4004 -32.0996 -104 -47.3994c0 0 -2.7002 -4 -10.4004 -5.80078c-13.4004 -3.2998 -63.9004 -6 -68.5 -6.09961c-12.4004 -0.0996094 -19.9004 3.2002 -22 8.2002c-6.40039 15.2998 9.2002 22 9.2002 22
c-8.10059 5 -9 9.89941 -9.7998 8.09961c-2.40039 -5.7998 -3.60059 -20.0996 -10.1006 -26.5c-8.7998 -8.89941 -25.5 -5.89941 -35.2998 -0.799805c-10.7998 5.7002 0.799805 19.2002 0.799805 19.2002s-5.7998 -3.40039 -10.5 3.59961
c-6 9.2998 -17.0996 37.2998 11.5 62c-1.2998 10.1006 -4.59961 53.7002 40.6006 85.6006c0 0 -20.6006 22.7998 -12.9004 43.2998c5 13.3994 7 13.2998 8.59961 13.8994c5.7002 2.2002 11.3008 4.60059 15.4004 9.10059c20.5996 22.2002 46.7998 18 46.7998 18
s12.4004 37.7998 23.9004 30.3994c3.5 -2.2998 16.2998 -30.5996 16.2998 -30.5996s13.5996 7.90039 15.0996 5c8.2002 -16 9.2002 -46.5 5.60059 -65.0996c-6.10059 -30.6006 -21.4004 -47.1006 -27.6006 -57.5c-1.39941 -2.40039 16.5 -10 27.8008 -41.3008
c10.3994 -28.5996 1.09961 -52.6992 2.7998 -55.2998c0.799805 -1.39941 13.7002 -0.799805 36.3994 13.2002c12.8008 7.90039 28.1006 16.9004 45.4004 17c16.7002 0.5 17.5996 -19.2002 4.90039 -22.2002zM496 192c0 -136.9 -111.1 -248 -248 -248s-248 111.1 -248 248
s111.1 248 248 248s248 -111.1 248 -248zM416.7 116.8c-1.7002 13.6006 -13.2002 23 -28 22.7998c-22 -0.299805 -40.5 -11.6992 -52.7998 -19.1992c-4.80078 -3 -8.90039 -5.2002 -12.4004 -6.80078c3.09961 44.5 -22.5 73.1006 -28.7002 79.4004
c7.7998 11.2998 18.4004 27.7998 23.4004 53.2002c4.2998 21.7002 3 55.5 -6.90039 74.5c-1.59961 3.09961 -7.39941 11.2002 -21 7.39941c-9.7002 20 -13 22.1006 -15.5996 23.8008c-1.10059 0.699219 -23.6006 16.3994 -41.4004 -28
c-12.2002 -0.900391 -31.2998 -5.30078 -47.5 -22.8008c-2 -2.19922 -5.89941 -3.7998 -10.0996 -5.39941h0.0996094c-8.39941 -3 -12.2998 -9.90039 -16.8994 -22.2998c-6.5 -17.4004 0.199219 -34.6006 6.7998 -45.7002c-17.7998 -15.9004 -37 -39.7998 -35.7002 -82.5
c-34 -36 -11.7998 -73 -5.59961 -79.6006c-1.60059 -11.0996 3.69922 -19.3994 12 -23.7998c12.5996 -6.7002 30.2998 -9.59961 43.8994 -2.7998c4.90039 -5.2002 13.7998 -10.0996 30 -10.0996c6.7998 0 58 2.89941 72.6006 6.5c6.7998 1.59961 11.5 4.5 14.5996 7.09961
c9.7998 3.09961 36.7998 12.2998 62.2002 28.7002c18 11.7002 24.2002 14.2002 37.5996 17.3994c12.9004 3.2002 21 15.1006 19.4004 28.2002z" />
    <glyph glyph-name="airbnb" unicode="&#xf834;" 
d="M224 74.8799h0.0595703c24.71 31.1797 39.5508 58.9297 45 83.1797c22.5508 88 -112.609 88 -90.0596 0c4.91992 -23.75 19.7598 -51.5098 45 -83.1797zM362.15 1.65039c35.6396 15.3496 50.1797 53.5693 37.0098 86.6396
c-25.4902 61.6104 -78.8398 168.47 -114.84 239.09c-16.9707 33.9297 -28.0303 59.8701 -60.3701 59.8701c-33.8203 0 -43.6299 -27.3301 -59.3799 -57.4004c-4.15039 -10.3799 -100.771 -202.399 -115.87 -241.56c-17.8105 -50.0303 21.2998 -98.5205 71.2998 -91.0898
c24.5996 2.22949 52.6201 18.8701 85.1504 54.9199c-29.2002 37.1104 -47.5 70.3096 -54.4307 99.5c-11.8799 53.9902 18.3604 100.5 73.2803 100.5c64.96 0 122.75 -69.9297 18.8496 -200c35.6309 -39.5898 77.2402 -68.7803 119.301 -50.4697zM409.15 137.77
c0 -0.679688 16.8496 -35.6895 16.8301 -39.5791c25.2393 -69.3301 -26.7207 -130.24 -89.6104 -130.19c-11.1104 0 -53.6904 -1.37988 -112.37 62.4004c-51.7598 -56.3408 -90.6602 -62.4004 -112.37 -62.4004c-62.8896 0 -114.85 60.8604 -89.6299 130.19
c0.889648 2.61914 11.1797 32.71 117.34 245.02c19.79 41.1201 39.1406 72.79 84.6602 72.79c49.1299 0 56.2695 -3.92969 185.15 -278.23z" />
    <glyph glyph-name="battle-net" unicode="&#xf835;" horiz-adv-x="512" 
d="M448.61 222.38c60.75 -36.25 71.9893 -73.8096 57.3193 -93.6895c-4.70996 -6.88086 -25.1797 -36.2402 -148 -31.6406c-21.8193 -30.3994 -45.25 -53.2695 -67.4697 -69.2695c28.54 -53.7803 54.2998 -85.0303 62.54 -91.7803c0 0 -3.44043 0.160156 -8.58008 3.37012
c-3.2627 1.95117 -6.17871 4.31836 -8.75 7.08984c-15.6299 16.1797 -35.5195 41.9404 -55.7002 74.1201c-43.9502 -28.1104 -81.1299 -29.0996 -88.4395 -9.4502c-4.83984 10.8301 1.5293 26.5 9.05957 39.3398c-31.3203 -17.5098 -61.7002 -26.8496 -86.7002 -21.1396
c-6.79004 1.54004 -17.6299 5.50977 -23.1992 18.2598c-4.52051 9.53027 -6.02051 24.2598 -0.150391 47.1406c9.07031 35.3398 37.5801 82.2998 47.3096 97.6992c3.75 -8.62988 -20.7793 40.1904 -26 93.1904c-89.1592 0 -110.56 -8.83984 -111.56 -9.21973
c1.54004 2.44922 7.86035 7.26953 17.7598 9.71973c22 5.47949 54.6406 9.84961 93 11.2295c-2.38965 52.0703 15.3398 84.7705 36 81.29h0.180664c11.3291 -1.2998 21.2598 -13.5801 28.5 -25.9297c0.669922 35.2002 7.7998 65.54 25 84.0703
c4.72949 5.14941 13.5693 12.5498 27.3994 11h0.0498047c10.5205 -0.850586 24 -6.91992 40.8398 -23.4707c25.6006 -25.0693 51.54 -71.9893 60.4805 -88.9297c37.25 -3.7002 68.7695 -12.5801 93.7695 -23.7998c32.3506 51.5898 46.4805 89.5303 48.2002 100.05
c0.640625 -1.25 2.93066 -8.41992 -0.450195 -20.25c-6.22949 -21.6201 -18.5791 -51.7197 -36.3398 -85.2998c45.79 -23.7305 65.3203 -55.0098 52.8506 -71.3301c-3.35059 -4.94043 -12.0498 -12.5498 -38.9199 -12.3701zM370.76 116.16
c70.4102 4.37988 79.6504 20.5703 78.5098 33.5c-1.87988 21.25 -21.1992 41.2598 -49.0596 58.8301c0.889648 -24.5605 -5.63965 -54.6201 -29.4502 -92.3301zM216.9 60.3096c-19.04 -30.46 9.19922 -39.5596 49.7998 -17.6992
c-7 12.0898 -13.9199 24.8594 -20.6006 38.1895c-9.66992 -7.37012 -19.4395 -14.2598 -29.1992 -20.4902zM431.9 231.66c36.2598 -1.23047 29.4199 27.8496 -9.64062 51.9502c-7.22559 -12.5537 -14.7959 -24.8359 -22.7402 -36.9004
c11.2207 -4.70996 22.0908 -9.70996 32.3809 -15.0498zM279.18 50c28.3799 18.2002 60.1689 48.1201 84.7695 85.4297c18.46 27.96 26.1494 56.0205 25.4102 79.5703c-30.5801 17.3203 -89.3604 42.7197 -167.23 57.21c0.350586 18.4805 2.08984 19.8799 2.16016 20.3301
c13.2168 -1.61523 26.4307 -3.64844 39.3896 -6.0498c39.375 -7.36328 78.5059 -18.1924 115.34 -31.71c-15.6191 33.1494 -41.4092 47.2197 -41.5195 47.2197c1.59961 0.160156 28.1299 -6 48.8604 -43.7197c8.42676 11.2061 16.2031 22.0293 23.3301 32.4697
c-29.96 15.46 -71.75 28.04 -116.32 30.71c-33.4502 1.99023 -61.6299 -5.38965 -81.6299 -17.8096c0.240234 -35.2607 7.66992 -98.96 34 -173.431c-16.8301 -9.12988 -17.7402 -7.87012 -18.6699 -8.25c-20.2715 48.0654 -35.623 99.999 -44.6699 152.84
c-21.0908 -30.3994 -20.1406 -59.5 -20.1406 -59.5693c-0.919922 1.22949 -8.81934 27.4297 13.4707 64.2295c-13.5801 1.70996 -26.5508 2.9707 -38.8506 3.87988c1.57031 -33.6797 11.5703 -76.1494 31.5703 -116.069c14.8701 -29.71 35.1201 -50.3105 55.71 -61.4902
c30.4102 17.9199 81.0498 55.6504 132.75 115.92c14.9697 -9 16.1494 -11.71 16.5098 -12c-7.91309 -10.5332 -16.2227 -20.9033 -24.9287 -31.1104c-26.1514 -30.5225 -54.2061 -58.2285 -85.0605 -84c37.5303 -3.38965 62.5303 12.1807 62.5303 12.25
c-0.860352 -1.67969 -20.0303 -21.6797 -63.2803 -20.4092c5.5 -12.9404 10.9902 -25.0908 16.5 -36.4404zM306.579 337c-1.58008 2.4502 -39.5801 58.8496 -56.4805 54.6104c-16.8994 1.09961 -36.21 -22.9805 -38.21 -75.2803
c21.1104 13.2402 50.1299 22.3301 94.6904 20.6699zM175.929 333.9c-3.7998 6.68945 -8.66992 12.4795 -14.4297 13.5693h-0.0898438c-24.79 1.41016 -24.75 -52.8301 -24.6699 -49.5898c13.6602 -0.00976562 27.8496 -0.410156 42.3994 -1.25977
c-1.62012 12.6602 -2.72949 25.1699 -3.20996 37.2803zM147.869 171.9c-30.7998 -61.5098 -19.8701 -76.6104 -19.6699 -76.8203c7.38965 -15.4902 38.1299 -20.25 84.9199 4.50977c-21.9502 11.7402 -44.4902 32.6104 -65.25 72.3105zM357.929 97.0996z" />
    <glyph glyph-name="bootstrap" unicode="&#xf836;" 
d="M292.3 136.07c0 -42.4102 -39.7197 -41.4307 -43.9199 -41.4307h-80.8896v81.6904h80.8896c42.5605 0 43.9199 -31.9004 43.9199 -40.2598zM242.15 209.2h-74.6602v72.1797h74.6602c34.9297 0 38.4395 -20.3496 38.4395 -35.8701
c0 -37.3096 -37.7695 -36.3096 -38.4395 -36.3096zM448 341.33v-298.66c-0.121094 -41.1553 -33.5146 -74.5488 -74.6699 -74.6699h-298.66c-41.1553 0.121094 -74.5488 33.5146 -74.6699 74.6699v298.66c0.121094 41.1553 33.5146 74.5488 74.6699 74.6699h298.66
c41.1553 -0.121094 74.5488 -33.5146 74.6699 -74.6699zM338.05 130.14c0 21.5703 -6.64941 58.29 -49.0498 67.3506v0.729492c22.9102 9.78027 37.3398 28.25 37.3398 55.6406c0 7 2 64.7793 -77.5996 64.7793h-127v-261.33c128.229 0 139.87 -1.67969 163.6 5.70996
c14.21 4.4209 52.71 17.9805 52.71 67.1201z" />
    <glyph glyph-name="buffer" unicode="&#xf837;" 
d="M427.84 67.3301l-196.5 -97.8203c-2.24707 -0.963867 -4.72266 -1.49805 -7.32129 -1.49805s-5.10156 0.53418 -7.34863 1.49805l-196.51 97.8203c-4 2 -4 5.28027 0 7.29004l47.0596 23.3799c2.25098 0.964844 4.72949 1.49805 7.33203 1.49805
c2.60156 0 5.10742 -0.533203 7.3584 -1.49805l134.76 -67c2.24609 -0.969727 4.72168 -1.50684 7.32129 -1.50684s5.10254 0.537109 7.34863 1.50684l134.76 67c2.24902 0.964844 4.72656 1.49902 7.32715 1.49902s5.10449 -0.53418 7.35352 -1.49902l47.0596 -23.4297
c4.0498 -1.95996 4.0498 -5.24023 0 -7.24023zM427.84 203.86c4.0498 -2.01074 4.0498 -5.29004 0 -7.31055l-196.5 -97.7998c-2.24707 -0.964844 -4.74902 -1.49902 -7.34863 -1.49902c-2.59863 0 -5.07422 0.53418 -7.32129 1.49902l-196.51 97.7998
c-4 2.02051 -4 5.31055 0 7.31055l47.0596 23.4297c2.25098 0.964844 4.75684 1.49805 7.3584 1.49805c2.60254 0 5.08105 -0.533203 7.33203 -1.49805l134.76 -67.0801c2.24902 -0.959961 4.75 -1.49121 7.34863 -1.49121c2.59766 0 5.07227 0.53125 7.32129 1.49121
l134.76 67.0801c2.24902 0.964844 4.75293 1.49902 7.35352 1.49902s5.07812 -0.53418 7.32715 -1.49902zM20.1602 317.58c-4.0498 1.86035 -4.0498 4.88965 0 6.74023l196.5 90.2793c2.2666 0.900391 4.76074 1.39551 7.3457 1.39551
c2.58594 0 5.05762 -0.495117 7.32422 -1.39551l196.51 -90.2793c4 -1.85059 4 -4.87988 0 -6.74023l-196.51 -90.29c-2.26953 -0.890625 -4.76172 -1.37988 -7.3457 -1.37988s-5.05469 0.489258 -7.32422 1.37988z" />
    <glyph glyph-name="chromecast" unicode="&#xf838;" horiz-adv-x="512" 
d="M447.8 384c23.6006 0 42.9004 -19.0996 42.9004 -42.7002v-298.6c0 -23.6006 -19.1006 -42.7002 -42.7002 -42.7002h-149.4v42.7002h149.2v298.6h-383.8v-63.8994h-42.7002v63.8994c0 23.6006 19.1006 42.7002 42.7002 42.7002h383.8zM21.2998 64.4004
c35.2998 0 63.9004 -28.6006 63.9004 -63.9004h-63.9004v63.9004v0zM21.2998 149.4c82.4004 -0.100586 149.4 -67 149.3 -149.4h-42.6992c0 58.9004 -47.7002 107 -106.601 107v42.4004zM213.4 0c-0.100586 106 -86.1006 192.4 -192.101 192.2v42.3994
c129.5 -0.299805 234.3 -105.1 234.8 -234.6h-42.6992z" />
    <glyph glyph-name="evernote" unicode="&#xf839;" horiz-adv-x="384" 
d="M120.82 315.79c1.59961 -22.3096 -17.5508 -21.5898 -21.6104 -21.5898c-68.9297 0 -73.6396 1 -83.5801 -3.33984c-0.55957 -0.220703 -0.740234 0 -0.370117 0.370117l108.53 110.319c0.379883 0.370117 0.599609 0.219727 0.379883 -0.370117
c-4.34961 -9.98926 -3.34961 -15.0898 -3.34961 -85.3896zM199.82 7.79004c-14.6807 37.0801 13 76.9297 52.5195 76.6201c17.4902 0 22.6006 -23.21 7.9502 -31.4199c-6.19043 -3.2998 -24.9502 -1.74023 -25.1396 -19.2002
c-0.0507812 -17.0898 19.6699 -25 31.1992 -24.8896h0.0107422c25.1895 0 45.6396 20.4502 45.6396 45.6396v0.00976562v0.0800781c0 11.6299 -7.79004 47.2197 -47.54 55.3398c-7.71973 1.54004 -65 6.35059 -68.3496 50.5205
c-3.74023 -16.9307 -17.4004 -63.4902 -43.1104 -69.0898c-8.74023 -1.94043 -69.6797 -7.64062 -112.92 36.7695c0 0 -18.5703 15.2305 -28.2305 57.9502c-3.37988 15.75 -9.2793 39.7002 -11.1396 62c0 18 11.1396 30.4502 25.0703 32.2002c81 0 90 -2.32031 101 7.7998
c9.81934 9.24023 7.7998 15.5 7.7998 102.78c1 8.2998 7.79004 30.8096 53.4102 24.1396c6 -0.860352 31.9102 -4.17969 37.4795 -30.6396l64.2607 -11.1504c20.4297 -3.70996 70.9395 -7 80.5996 -57.9404c22.6602 -121.09 8.91016 -238.46 7.7998 -238.46
c-15.9795 -114.38 -111.07 -108.85 -111.07 -108.85c-18.9492 0.230469 -54.25 9.40039 -67.2695 39.8301zM280.76 212.63c-1 -1.91992 -2.2002 -6 0.850586 -7c14.0898 -4.92969 39.75 -6.83984 45.8799 -5.53027c3.10938 0.25 3.0498 4.43066 2.47949 6.65039
c-3.5293 21.8496 -40.8301 26.5 -49.2393 5.91992z" />
    <glyph glyph-name="itch-io" unicode="&#xf83a;" horiz-adv-x="512" 
d="M71.9199 413.23c19.2197 1.66992 114.32 2.76953 184.08 2.76953s116.56 -0.400391 184 -2.73047c21.7197 -12.9297 64.5195 -62.0996 64.9199 -75v-21.3398c0 -27.0596 -25.25 -50.8398 -48.25 -50.8398c-27.54 0 -50.54 22.8799 -50.54 50
c0 -27.1494 -22.2295 -50 -49.7598 -50s-49 22.8799 -49 50c0 -27.1494 -23.5898 -50 -51.1602 -50h-0.5c-27.5703 0 -51.1602 22.8799 -51.1602 50c0 -27.1494 -21.4199 -50 -49 -50s-49.7598 22.8799 -49.7598 50c0 -27.1494 -22.9697 -50 -50.54 -50
c-22.96 0 -48.25 23.7803 -48.25 50.8398v21.3398c0.400391 12.8906 43.2002 62.0605 64.9199 74.9609zM204.24 278.84c9.91797 -17.3369 28.5586 -28.9785 49.9453 -28.9785c0.614258 0 1.22559 0.00976562 1.83398 0.0283203c28.7109 0 44.6602 16.4502 51.7607 28.9404
c22 -38.3398 77.8496 -38.7598 99.8496 -0.240234c13.1201 -23.0596 43.0801 -32.0996 56 -27.6602c3.57031 -37.1494 13.9004 -236.88 -17.75 -269.149c-77.6797 -18.1201 -299.76 -18.6699 -379.76 0c-31.4004 32.0195 -21.6006 229 -17.7305 269.149
c12.8301 -4.41016 42.8301 4.52051 56 27.6602c21.9502 -38.46 77.8506 -38.1494 99.8506 0.25zM162.66 225.07l-0.0205078 -0.0703125c-52.3193 0 -65.21 -77.4502 -83.8799 -144.45c-17.2598 -62.1494 5.52051 -63.6699 33.9404 -63.7295
c42.1494 1.56934 65.4902 32.1797 65.4902 62.79c53.6191 -8.79004 116.3 -6.43066 155.55 0c0 -30.6104 23.3398 -61.2207 65.4902 -62.79c28.4297 0.0595703 51.21 1.58008 33.9492 63.7295c-18.6494 66.9199 -31.54 144.45 -83.8701 144.45
c-16.46 0 -31.0898 0 -49.25 -19.71c-14.6436 1.48535 -28.6113 2.24609 -43.6445 2.24609c-15.0342 0 -29.8906 -0.760742 -44.5352 -2.24609c-18.1299 19.7803 -32.75 19.7803 -49.2197 19.7803zM256 177.21l-0.0595703 -0.00976562s44.3496 -40.7598 52.3496 -55.2402
l-29 1.16992v-25.2803c0 -1.15918 -11.6602 -0.699219 -23.3096 -0.15918c-1.99023 0 -23.3301 -1.39062 -23.3301 0.15918v25.3203l-29 -1.16992c7.96973 14.4404 52.3496 55.21 52.3496 55.21z" />
    <glyph glyph-name="salesforce" unicode="&#xf83b;" horiz-adv-x="640" 
d="M248.89 202.36h-26.3496c0.69043 5.15918 3.32031 14.1201 13.6396 14.1201c6.75 0 11.9707 -3.82031 12.71 -14.1201zM385.55 216.24c0.450195 0 14.1104 1.75977 14.1104 -20c0 -6.45996 -1.11035 -20 -14.1104 -20c-0.479492 0 -14.1094 -1.77051 -14.1094 20
c0 21.7695 13.6396 20 14.1094 20zM142.33 192.48c4.2002 3.60938 15.6104 2.71973 20.9297 1.64941v-16.9395c-5.85938 -1.1709 -16.2295 -2.75 -20.9297 0.949219c-1.20996 1 -3.29004 2.27051 -3.29004 7.05078
c-0.00976562 0.166992 -0.0205078 0.325195 -0.0205078 0.495117c0 2.75684 1.29492 5.21387 3.31055 6.79492zM640 216c0 -87.5801 -80 -154.39 -165.36 -136.43c-18.3701 -33 -70.7295 -70.75 -132.199 -41.6299c-41.1602 -96.0508 -177.891 -92.1807 -213.811 5.16992
c-119.72 -23.8906 -178.82 138.37 -75.2695 199.279c-34.75 79.4307 22.6396 173.61 114.31 173.61c40.1748 -0.0253906 75.8613 -19.0605 98.5605 -48.7002c20.6992 21.4004 49.3994 34.8105 81.1494 34.8105c42.3398 0 79 -23.5205 98.7998 -58.5703
c92.8203 40.6797 193.82 -28.2305 193.82 -127.54zM120.45 184.2c0 11.7598 -11.6904 15.1699 -17.8701 17.1699c-5.27051 2.11035 -13.4102 3.50977 -13.4102 8.93945c0 9.45996 17 6.66016 25.1699 2.12012c0 0 1.16992 -0.709961 1.64062 0.470703
c0.239258 0.699219 2.35938 6.58008 2.58984 7.29004c0.0341797 0.108398 0.0527344 0.223633 0.0527344 0.34375c0 0.492188 -0.313477 0.911133 -0.75293 1.06543c-12.3301 7.63086 -40.7002 8.51074 -40.7002 -12.6992c0 -12.46 11.4902 -15.4404 17.8799 -17.1699
c4.71973 -1.58008 13.1699 -3 13.1699 -8.7002c0 -4 -3.5293 -7.06055 -9.16992 -7.06055c-7.11328 0.0126953 -13.709 2.38281 -19 6.35059c-0.469727 0.229492 -1.41992 0.709961 -1.64941 -0.709961l-2.40039 -7.4707
c-0.469727 -0.939453 0.230469 -1.17969 0.230469 -1.40918c1.75 -1.40039 10.2998 -6.59082 22.8193 -6.59082c13.1699 0 21.4004 7.06055 21.4004 18.1104v-0.0498047zM152.45 226.78c-10.1299 0 -18.6602 -3.16992 -21.4004 -5.18066
c-0.260742 -0.179688 -0.431641 -0.481445 -0.431641 -0.822266c0 -0.219727 0.0722656 -0.422852 0.191406 -0.586914l2.59082 -7.06055c0.119141 -0.417969 0.504883 -0.723633 0.960938 -0.723633c0.0751953 0 0.148438 0.0078125 0.21875 0.0234375
c0.650391 0 6.7998 4 16.9297 4c4 0 7.06055 -0.709961 9.18066 -2.35938c3.59961 -2.80078 3.05957 -8.29004 3.05957 -10.5801c-4.79004 0.299805 -19.1104 3.43945 -29.4102 -3.75977c-4.44727 -3.05078 -7.36621 -8.16895 -7.36621 -13.9639
c0 -0.199219 0.0195312 -0.378906 0.0263672 -0.576172c0 -5.90039 1.50977 -10.4004 6.58984 -14.3506c12.2402 -8.16016 36.2803 -2 38.1006 -1.41016c1.5791 0.320312 3.5293 0.660156 3.5293 1.87988v33.8809c0.0400391 4.60938 0.320312 21.6396 -22.7793 21.6396z
M199 247.76c0.00195312 0.0244141 0.00195312 0.0488281 0.00195312 0.0732422c0 0.613281 -0.49707 1.11035 -1.10938 1.11035c-0.0244141 0 -0.0488281 -0.00195312 -0.0722656 -0.00292969h-9.82031
c-0.0205078 0.000976562 -0.0419922 0.000976562 -0.0634766 0.000976562c-0.612305 0 -1.10938 -0.49707 -1.10938 -1.10938c0 -0.0244141 0.000976562 -0.0478516 0.00292969 -0.0722656v-79c-0.00195312 -0.0234375 -0.00195312 -0.0478516 -0.00195312 -0.0722656
c0 -0.613281 0.49707 -1.11035 1.10938 -1.11035c0.0214844 0 0.0419922 0.00195312 0.0625 0.00292969h9.87988c0.0244141 -0.00195312 0.0488281 -0.00292969 0.0732422 -0.00292969c0.613281 0 1.11035 0.498047 1.11035 1.11035
c0 0.0244141 -0.00195312 0.0478516 -0.00390625 0.0722656zM254.75 218.83c-2.09961 2.30957 -6.79004 7.53027 -17.6504 7.53027c-3.50977 0 -14.1592 -0.230469 -20.6992 -8.94043c-6.35059 -7.62988 -6.58008 -18.1104 -6.58008 -21.4102
c0 -3.12012 0.149414 -14.2598 7.05957 -21.1699c2.63965 -2.91016 9.06055 -8.22949 22.8105 -8.22949c10.8193 0 16.4697 2.34961 18.5791 3.75977c0.470703 0.240234 0.710938 0.709961 0.240234 1.87988l-2.34961 6.83008
c-0.200195 0.430664 -0.637695 0.729492 -1.14355 0.729492c-0.0917969 0 -0.179688 -0.0107422 -0.266602 -0.0292969c-2.58984 -0.94043 -6.34961 -2.82031 -15.29 -2.82031c-17.4199 0 -16.8496 14.7402 -16.9404 16.7002h37.1709
c0.567383 0.0117188 1.04102 0.40918 1.16992 0.939453c-0.290039 0 2.06934 14.7002 -6.09082 24.2305h-0.0195312zM291.44 166.14c13.1699 0 21.4092 7.06055 21.4092 18.1104c0 11.7598 -11.6992 15.1699 -17.8799 17.1699
c-4.13965 1.66016 -13.4102 3.37988 -13.4102 8.94043c0 3.75977 3.29004 6.34961 8.4707 6.34961c5.98828 -0.120117 11.6924 -1.64844 16.7002 -4.22949c5.00684 -2.58203 1.17969 -0.710938 1.64941 0.469727c0.230469 0.700195 2.35059 6.58008 2.58008 7.29004
c0.0351562 0.108398 0.0537109 0.223633 0.0537109 0.34375c0 0.492188 -0.314453 0.911133 -0.753906 1.06641c-7.91016 4.89941 -16.7402 4.93945 -20.2295 4.93945c-12 0 -20.46 -7.29004 -20.46 -17.6396c0 -12.46 11.4795 -15.4404 17.8701 -17.1699
c6.10938 -2 13.1699 -3.26074 13.1699 -8.7002c0 -4 -3.52051 -7.06055 -9.16992 -7.06055c-7.1123 0.015625 -13.708 2.38574 -19 6.35059c-0.175781 0.150391 -0.402344 0.241211 -0.651367 0.241211c-0.535156 0 -0.973633 -0.422852 -0.999023 -0.951172
l-2.34961 -7.52051c-0.470703 -0.939453 0.229492 -1.17969 0.229492 -1.40918c1.71973 -1.40039 10.3301 -6.59082 22.79 -6.59082h-0.0195312zM357.09 224c0 0.709961 -0.240234 1.17969 -1.17969 1.17969h-11.7598c0 0.140625 0.939453 8.94043 4.46973 12.4707
c4.16016 4.14941 11.7598 1.63965 12 1.63965c1.16992 -0.469727 1.41016 0 1.63965 0.469727l2.83008 7.77051c0.700195 0.939453 0 1.16992 -0.240234 1.41016c-5.08984 2 -17.3496 2.86914 -24.46 -4.24023c-5.47949 -5.48047 -7 -13.9199 -8 -19.5205h-8.46973
c-0.624023 -0.0517578 -1.12305 -0.553711 -1.16992 -1.17969l-1.41992 -7.75977c0 -0.700195 0.240234 -1.16992 1.17969 -1.16992h8.23047c-8.50977 -47.9004 -8.75 -50.21 -10.3506 -55.5205c-1.08008 -3.62012 -3.29004 -6.89941 -5.87988 -7.75977
c-0.0898438 0 -3.87988 -1.67969 -9.63965 0.240234c0 0 -0.94043 0.469727 -1.41016 -0.709961c-0.240234 -0.709961 -2.58984 -6.82031 -2.83008 -7.53027s0 -1.41016 0.469727 -1.41016c5.11035 -2 13 -1.76953 17.8809 0
c6.2793 2.28027 9.71973 7.88965 11.5293 12.9404c2.75 7.70996 2.81055 9.79004 11.7598 59.7393h12.2305c0.626953 0.0517578 1.12891 0.553711 1.17969 1.18066zM410.48 208c-0.560547 1.67969 -5.10059 18.1104 -25.1709 18.1104c-15.25 0 -23 -10 -25.1592 -18.1104
c-1 -3 -3.18066 -14 0 -23.5195c0.0898438 -0.300781 4.40918 -18.1201 25.1592 -18.1201c14.9502 0 22.9004 9.60938 25.1709 18.1201c3.20996 9.60938 1.00977 20.5195 0 23.5195zM455.88 224.7c-5 1.64941 -16.6201 1.89941 -22.1104 -5.41016v4.46973
c0.00195312 0.0214844 0.00195312 0.0419922 0.00195312 0.0634766c0 0.612305 -0.49707 1.11035 -1.10938 1.11035c-0.0244141 0 -0.0478516 -0.00195312 -0.0722656 -0.00390625h-9.39941c-0.0244141 0.00195312 -0.0488281 0.00292969 -0.0732422 0.00292969
c-0.612305 0 -1.11035 -0.498047 -1.11035 -1.11035c0 -0.0214844 0.00195312 -0.0410156 0.00292969 -0.0625v-55.2793c-0.000976562 -0.0214844 -0.00195312 -0.0419922 -0.00195312 -0.0634766c0 -0.618164 0.501953 -1.11914 1.12012 -1.11914
c0.0214844 0 0.0410156 0.000976562 0.0625 0.00195312h9.63965c0.0205078 -0.000976562 0.0410156 -0.00195312 0.0625 -0.00195312c0.618164 0 1.12012 0.501953 1.12012 1.12012c0 0.0214844 -0.00195312 0.0410156 -0.00292969 0.0625v27.7695
c0 2.91016 0.0498047 11.3701 4.45996 15.0498c4.90039 4.90039 12 3.36035 13.4102 3.06055c0.630859 0.0107422 1.1709 0.393555 1.41016 0.939453c1.15918 2.57324 2.19629 5.28125 3.05957 8c0.0517578 0.130859 0.0800781 0.273438 0.0800781 0.422852
c0 0.416992 -0.21875 0.783203 -0.549805 0.987305v-0.00976562zM502.69 170.6l-2.12012 7.29004c-0.470703 1.18066 -1.41016 0.709961 -1.41016 0.709961c-4.23047 -1.81934 -10.1504 -1.88965 -11.29 -1.88965c-4.63965 0 -17.1699 1.12988 -17.1699 19.7598
c0 6.23047 1.84961 19.7607 16.4697 19.7607c0.299805 0.00683594 0.601562 0.0107422 0.90332 0.0107422c3.70605 0 7.26562 -0.587891 10.6172 -1.66113c3.35059 -1.07324 0.939453 -0.469727 1.17969 0.709961c0.939453 2.58984 1.63965 4.46973 2.58984 7.53027
c0.230469 0.939453 -0.469727 1.16992 -0.709961 1.16992c-11.5898 3.87012 -22.3398 2.5293 -27.7598 0c-1.58984 -0.740234 -16.2305 -6.49023 -16.2305 -27.5205c0 -2.89941 -0.580078 -30.1094 28.9404 -30.1094c5.45117 0.0107422 10.6943 1.02051 15.5195 2.83008
c0.319336 0.236328 0.527344 0.616211 0.527344 1.04395c0 0.130859 -0.0214844 0.256836 -0.0566406 0.375977v-0.0107422zM556.56 210.12c-0.799805 3 -5.36914 16.2295 -22.3496 16.2295c-16 0 -23.5195 -10.1094 -25.6396 -18.5898
c-1.07129 -3.53906 -1.64746 -7.29199 -1.64746 -11.1787c0 -0.198242 -0.00585938 -0.383789 -0.00292969 -0.581055c0 -25.8701 18.8398 -29.4004 29.8799 -29.4004c10.8203 0 16.46 2.35059 18.5801 3.76074c0.469727 0.239258 0.709961 0.709961 0.240234 1.87988
l-2.36035 6.83008c-0.200195 0.430664 -0.636719 0.729492 -1.14258 0.729492c-0.0927734 0 -0.180664 -0.0107422 -0.267578 -0.0302734c-2.58984 -0.939453 -6.34961 -2.81934 -15.29 -2.81934c-17.4199 0 -16.8496 14.7402 -16.9297 16.7002h37.1602
c0.569336 0.0136719 1.04395 0.40918 1.17969 0.939453c-0.239258 0.00976562 0.94043 7.07031 -1.41016 15.54v-0.00976562zM533.27 216.47c5.11035 0 11.8506 -2.2002 12.7305 -14.1201h-26.3701c0.639648 5.12012 3.31055 14.1201 13.6396 14.1201z" />
    <glyph glyph-name="speaker-deck" unicode="&#xf83c;" horiz-adv-x="512" 
d="M213.86 152h-113.86c-55.1914 0 -100 44.8086 -100 100s44.8086 100 100 100h132.84c22.0771 0 40 -17.9238 40 -40s-17.9229 -40 -40 -40h-134.84c-26.4697 0 -26.4502 -40 0 -40h113.82c55.1914 0 100 -44.8086 100 -100s-44.8086 -100 -100 -100h-171.82
c-22.0762 0 -40 17.9238 -40 40s17.9238 40 40 40h173.86c26.4795 0 26.46 40 0 40zM298 32c26.7314 18.1455 45.667 46.8174 51.1104 80h64.5498c10.8652 0.0927734 19.6572 8.94238 19.6572 19.8291c0 0.0585938 0.00292969 0.113281 0.00292969 0.170898v120v0.173828
c0 10.8867 -8.79492 19.7334 -19.6602 19.8262h-117.24c9.34473 10.6875 15.0088 24.6729 15.0088 39.9697c0 15.2979 -5.66406 29.3428 -15.0088 40.0303h136.93c43.4404 0 78.6504 -35.8203 78.6504 -80v-160c0 -44.1797 -35.21 -80 -78.6504 -80h-135.35z" />
    <glyph glyph-name="symfony" unicode="&#xf83d;" horiz-adv-x="512" 
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.74 296.46c15.3496 0.540039 19.7695 15.4404 19.5195 23.1299c-0.639648 18.0605 -19.6699 29.46 -44.8301 28.6504
c-1.89941 -0.0703125 -65.2598 3.46973 -102.43 -105.53c-10.0596 8.29004 -57.7695 65.1602 -110.58 25.8096c-18.9502 -14.1797 -31.4199 -47.9199 -2.9502 -79.6699c16.9502 -18.1396 26.7207 -25.3301 22.25 -39.8496c-9.14941 -29.79 -55.5596 -16.1602 -51 -1.38965
c1.36035 4.38965 3.49023 4.46973 6.28027 13.0693c7.74023 25.3203 -27.1104 37.75 -34.6201 13.6006c-4.32031 -14.0605 2.37988 -39.5107 38.3799 -50.6201c42.1602 -12.96 77.8203 10.0098 82.8799 39.9395c3.2002 18.75 -5.29004 32.6904 -20.7998 50.6201l-12.6299 14
c-7.66016 7.7002 -10.29 20.7002 -2.37012 30.7002c6.69043 8.45996 16.2002 12.0605 31.8105 7.83008c22.7695 -6.16992 32.9199 -21.9697 49.8496 -34.7197c-1.23047 -4 -10.04 -32.3398 -18.2305 -82c-12.1094 -63.4902 -21.3496 -98.3506 -45.3496 -118.351
c-4.83984 -3.48926 -11.7598 -8.63965 -22.1797 -9c-1.94043 -0.0595703 -14.1406 2.83984 -2.0498 12.5508c15.2393 8.3291 7.00977 34.75 -14.8809 34c-9.85938 -0.330078 -24.8691 -9.59082 -24.3096 -26.5908c0.580078 -17.5293 16.9297 -30.6895 41.5801 -29.8398
c13.1797 0.44043 42.5801 5.7998 71.5801 40.2598c39.8496 46.7207 47.4395 102.2 58.2002 161.721c51.6797 -6.11035 77.2393 17.8398 77.5996 35.7002c0.549805 24.2998 -28 23.46 -32 5.2998c-1.91992 -8.83984 13.4199 -16.8105 1.41992 -24.5605
c-8.49023 -5.5 -23.71 -9.37012 -45.1396 -6.21973c10.2998 56.8496 19.1094 112.56 58.8896 113.85c2.70996 0.150391 12.6396 -0.119141 12.8701 -6.66992c0.150391 -5.41016 -6.7998 -9.66992 -6.53027 -18.8496c0.370117 -10.4199 8.2998 -17.2803 19.7705 -16.8701z
" />
    <glyph glyph-name="waze" unicode="&#xf83f;" horiz-adv-x="512" 
d="M502.17 246.33c14.5205 -85.8604 -30.9395 -167.92 -113.17 -208.13c13 -34.1006 -12.4004 -70.2002 -48.3203 -70.2002c-27.5918 0.0214844 -50.1543 21.752 -51.5693 49c-6.44043 -0.19043 -64.2002 0 -76.3301 0.639648
c-1.11328 -27.5479 -23.8281 -49.5713 -51.6475 -49.5713c-0.725586 0 -1.41504 -0.0175781 -2.13281 0.0117188c-33.8604 1.36035 -57.9502 34.8398 -47 67.9199c-37.21 13.1104 -72.54 34.8701 -99.6201 70.7998c-13 17.2803 -0.479492 41.7998 20.8398 41.7998
c46.3105 0 32.2207 54.1699 43.1504 110.261c18.4297 93.9395 116.75 157.14 211.72 157.14c102.48 0 197.15 -70.6699 214.08 -169.67zM373.51 59.7197c42 19.1807 81.3301 56.71 96.29 102.141c40.4805 123.09 -64.1494 228 -181.71 228
c-83.4502 0 -170.32 -55.4199 -186.07 -136c-9.5293 -48.9102 5 -131.351 -68.75 -131.351c24.9404 -33.1094 58.3301 -52.6201 93.7305 -64.0498c24.6602 21.7998 63.8701 15.4697 79.8301 -14.3398c14.2197 -1 79.1895 -1.17969 87.9004 -0.820312
c8.5625 16.7266 25.9746 28.1865 46.041 28.1865c12.418 0 23.8223 -4.45703 32.7383 -11.7666zM205.12 260.87c0 34.7402 50.8398 34.75 50.8398 0s-50.8398 -34.7402 -50.8398 0zM321.69 260.87c0 34.7402 50.8594 34.75 50.8594 0s-50.8594 -34.75 -50.8594 0z
M199.08 190.18c-3.44043 16.9404 22.1797 22.1807 25.6201 5.20996l0.0595703 -0.279297c4.14062 -21.4199 29.8506 -44 64.1201 -43.0703c35.6797 0.94043 59.25 22.21 64.1104 42.7695c4.45996 16.0508 28.5996 10.3604 25.4697 -6
c-5.22949 -22.1797 -31.21 -62 -91.46 -62.8994c-42.5498 0 -80.8799 27.8398 -87.9004 64.25z" />
    <glyph glyph-name="yammer" unicode="&#xf840;" horiz-adv-x="512" 
d="M421.78 295.83c-48.1602 -26.3896 -118.561 -58.1504 -130.2 -50s91.4395 80.3701 106.689 88.7695c0.920898 0.5 1.80078 0.970703 2.63086 1.40039c2.07227 0.612305 4.28125 0.954102 6.55176 0.954102c12.7275 0 23.0605 -10.332 23.0605 -23.0596
c0 -7.31445 -3.41309 -13.8389 -8.73242 -18.0645zM421.78 78.6602c5.27539 -4.22949 8.64258 -10.7148 8.64258 -17.9961c0 -12.7334 -10.3369 -23.0703 -23.0693 -23.0703c-2.24023 0 -4.40527 0.320312 -6.45312 0.916016
c-0.830078 0.410156 -1.70996 0.900391 -2.63086 1.41016c-15.2695 8.38965 -118.25 80.6396 -106.689 88.7402c11.5596 8.09961 82.04 -23.6201 130.2 -50zM464.21 211c10.4287 -2.18359 18.2344 -11.4395 18.2344 -22.5127
c0 -11.4219 -8.34375 -20.9102 -19.2646 -22.6973c-54.9102 0.0195312 -131.93 6.00977 -138.21 18.7598c-6.2793 12.75 118.84 26.5098 136.24 26.5098c1.0498 0 2.0498 -0.0595703 3 -0.0595703zM31 351.35c-0.817383 2.46387 -1.26074 5.09766 -1.26074 7.83496
c0 13.7314 11.1484 24.8799 24.8799 24.8799c9.96582 0 18.5498 -5.8457 22.5205 -14.3145l81 -205.06h1.20996l77 203.529c3.42188 8.7627 11.9502 14.9775 21.9189 14.9775c12.9805 0 23.5195 -10.5391 23.5195 -23.5195
c0 -2.33398 -0.353516 -4.59863 -0.988281 -6.72754l-109.6 -273.391c-18.5498 -47.2197 -37.1201 -79.5596 -93.29 -79.5596c-0.185547 -0.000976562 -0.371094 -0.000976562 -0.556641 -0.000976562c-7.9707 0 -15.6465 0.666016 -23.2539 1.95117
c-8.90723 2.55371 -15.4336 10.7646 -15.4336 20.4883c0 11.7607 9.54883 21.3096 21.3105 21.3096c0.349609 0 0.677734 -0.0117188 1.02344 -0.0283203c0.660156 -0.0595703 10.9102 -0.660156 13.8604 -0.660156c30.4697 0 43.7393 18.9404 58.0693 59.4102z" />
    <glyph glyph-name="git-alt" unicode="&#xf841;" 
d="M439.55 211.95c5.22266 -5.22363 8.45508 -12.4463 8.45508 -20.4092s-3.23242 -15.1768 -8.45508 -20.4014l-194.689 -194.689c-5.22363 -5.21973 -12.4443 -8.4502 -20.4043 -8.4502c-7.96094 0 -15.1729 3.23047 -20.3965 8.4502l-195.609 195.6
c-5.22266 5.22363 -8.45508 12.4463 -8.45508 20.4092s3.23242 15.1768 8.45508 20.4014l134.12 134.14l50.79 -50.8496c-5.95996 -14.2607 -2.16016 -36.4902 18.6396 -45v-123c-22.3203 -9.09082 -28.8203 -38.4004 -11.25 -56
c6.21582 -6.21191 14.8066 -10.0557 24.2803 -10.0557c9.47266 0 18.0547 3.84375 24.2695 10.0557c13.1807 13.1494 16.2197 42.46 -9.08008 55v121.85l46.3506 -46.29c-14.21 -34.4697 29.5098 -63.8301 56 -37.3398c25.71 25.6895 -1.24023 68.4902 -35.4707 56.6895
l-49.6592 49.6602c9.29004 26.9102 -16.3301 52.8203 -43.3906 43.6807l-51.5195 51.5195l40.6602 40.6299c5.22461 5.2207 12.4463 8.45117 20.4082 8.45117c7.96289 0 15.1768 -3.23047 20.4014 -8.45117z" />
    <glyph glyph-name="stackpath" unicode="&#xf842;" 
d="M244.6 215.6c0 -8.5 -4.25977 -20.4893 -21.3398 -20.4893h-19.6094v41.4697h19.6094c17.1299 0 21.3398 -12.3604 21.3398 -20.9805zM448 416v-448h-448v448h448zM151.3 160.16c0 21.2402 -12.1201 34.54 -46.7197 44.8496c-20.5703 7.41016 -26 10.9102 -26 18.6299
c0 7.7207 7 14.6104 20.4102 14.6104c14.0898 0 20.79 -8.4502 20.79 -18.3496h30.7002l0.189453 0.569336c0.5 19.5703 -15.0596 41.6504 -51.1201 41.6504c-23.3701 0 -52.5498 -10.75 -52.5498 -38.29c0 -19.4004 9.25 -31.29 50.7402 -44.3701
c17.2598 -6.15039 21.9102 -10.4004 21.9102 -19.4795c0 -15.2002 -19.1309 -14.2305 -19.4707 -14.2305c-20.3994 0 -25.6494 9.09961 -25.6494 21.9004h-30.7998l-0.180664 -0.560547c-0.679688 -31.3203 28.3799 -45.2197 56.6299 -45.2197
c29.9805 0 51.1201 13.5498 51.1201 38.29zM276.68 215.79c0 25.2998 -18.4297 45.46 -53.4199 45.46h-51.7793v-138.18h32.1699v47.3594h19.6094c30.25 0 53.4199 15.9502 53.4199 45.3604zM297.94 123l49.0596 138.22h-31.0898l-47.9102 -138.22h29.9404zM404.46 261.22
h-31.0898l-47.9102 -138.22h29.9404z" />
    <glyph glyph-name="cotton-bureau" unicode="&#xf89e;" horiz-adv-x="512" 
d="M474.31 117.59h25.1807c-25.7998 -109.78 -111.4 -173.59 -239.67 -173.59c-154.63 -0.339844 -247.82 92.8604 -247.82 248.18c0 154.63 93 247.82 247.82 247.82c128.399 0 214.06 -63.5098 240.18 -173.61h-25.2598
c-24.8506 95.6104 -99.9199 148.811 -214.69 148.811c-141.85 0 -223.2 -81.3799 -223.2 -223.2c0 -137.93 76.6699 -218 211.101 -223v49.2002c0 48.1602 -26.5498 74.3896 -74.5498 74.3896c-62.1309 0 -99.4004 37.2803 -99.4004 99.4102
c0 61.3701 36.5195 98.2803 97.3799 99.0596c30.7402 64.6504 144.24 69.3203 177.24 0c60.8496 -0.779297 97.3799 -37.6895 97.3799 -99.0596c0 -62.0098 -37.2002 -99.21 -99.2002 -99.21c-47.9795 0 -74.3896 -26.3896 -74.3896 -74.3896v-49.1602
c107.67 3.75977 178.24 56.5 201.899 148.35zM357 265.67c3.7998 -21.0801 11.2695 -104.2 -71.79 -120.75c12.2598 -17.7402 32.9805 -27.3301 61.5898 -27.3301c47.9697 0 74.4004 26.4102 74.4004 74.4102c0 44.6699 -22.8301 70.2197 -64.2002 73.6699zM275.32 168.31
c72.7803 9.89062 58.5 86.9102 56.2295 97c-72.5596 -10 -58.6895 -86.6592 -56.2295 -97zM260 316l-0.179688 -0.259766c-28.3008 0 -49.1602 -9.66016 -61.5703 -27.3506c28.3701 -5.44922 49.3701 -20.5898 61.5996 -43.4492
c12.2305 22.8594 33.2305 37.9697 61.5908 43.4492c-12.4404 17.9404 -32.8301 27.6104 -61.4404 27.6104zM188.48 265.28h0.239258c-2.75 -10.0498 -16.1602 -87.1602 56.25 -97c2.41992 10.1895 16.6807 86.4297 -56.4893 97zM173.2 117.59l0.330078 0.0302734
c28.2998 0 49 9.66992 61.1396 27.2998c-73.0303 14.2197 -78.4004 83.5498 -71.6504 120.75c-41.3594 -3.66992 -64.2197 -29.3096 -64.2197 -73.6699c0 -48.0098 26.4004 -74.4102 74.4004 -74.4102zM226.41 105.2h0.269531
c14.4902 -7.60059 25.5605 -19.3301 33.5605 -33.8301c7.52734 14.4502 19.1924 26.1982 33.5801 33.8301c-14.4902 8.00977 -26.0508 19.0596 -33.8203 33.5498c-7.60156 -14.3262 -19.2539 -25.9658 -33.5898 -33.5498z" />
    <glyph glyph-name="buy-n-large" unicode="&#xf8a6;" horiz-adv-x="576" 
d="M288 416c154.73 0 280.21 -100.32 280.21 -224s-125.479 -224 -280.21 -224s-280.21 100.32 -280.21 224s125.479 224 280.21 224zM202.61 58.8096c61.5498 0.600586 99.4697 24.3604 117.71 61.5205c-35.79 6.4502 -62.9307 37.3096 -62.9307 74.4502
c0 41.7695 34.3408 75.6494 76.6904 75.6494c0.0117188 0 -0.0234375 -0.00292969 -0.0117188 -0.00292969c5.91797 0 11.6826 -0.666016 17.2217 -1.92676c0.623047 2.21875 1.13281 4.53516 1.5 6.84961c6.92969 44.1904 -14.8496 72.8408 -78 72.8408h-133.44
l-77.25 -290.74zM358 240.89l-9.4502 -36.75l-15 36.75h-31.3398l-26.6299 -90.3096h37.8301l7.83008 35.6299l11.1895 -35.6299h35.4102l22.1602 90.3096h-32zM503.86 58.8096l21.1992 84.0605h-103.869l53.0498 205.36h-92.5l-21.3301 -82.3506
c29.3799 -10.5996 50.3799 -38.4102 50.3799 -71.0596c0 -41.7803 -34.3496 -75.6504 -76.6904 -75.6504c-0.0205078 0 0.0380859 -0.00292969 0.0166016 -0.00292969c-3.90137 0 -7.73633 0.28418 -11.4863 0.833008l-15.8398 -61.1904h197.07zM211.7 178.61
c16.1494 0 29.7002 -7.51074 24.1396 -29.8203c-5.83008 -23.4697 -21.7998 -26.6504 -37.9395 -26.6504h-24.7002l13.7998 56.4707h24.7002zM233 278c18.0703 0 32.2305 1.29004 27.5801 -17.5703c-3.83008 -15.5 -21.21 -30.1396 -39.21 -30.1396h-21.3701l11.6602 47.71
h21.3398z" />
    <glyph glyph-name="mdb" unicode="&#xf8ca;" horiz-adv-x="576" 
d="M17.3701 287.59h46.2998l42.3301 -117.33l40.7002 117.33h45.5098l12.79 -191.59h-45.5303l-4.79004 77.4297l-25.54 -77.4297h-44.71l-27.9297 79.8301l-5.58984 -79.8301h-43.9102zM298.37 287.59c0 0 93.4199 -1.58984 94.2002 -95.7998
c0.799805 -96.5898 -94.2002 -95.79 -94.2002 -95.79h-47.9004v191.59h47.9004zM297.17 141.13c0 0 47.5996 5.21973 46.7998 51.5205c-0.799805 46.2998 -46.7998 50.5693 -46.7998 50.5693v-102.09zM535.46 215.37c0 0 33.54 -11.96 33.54 -55.1006
c0 -68.6396 -87 -63.8496 -87 -63.8496h-45.5195v191.58h51.8994s49.7402 1.44043 55.0801 -34.3203c0.416992 -2.75586 0.595703 -5.58203 0.595703 -8.45312c0 -10.9678 -3.15039 -21.2061 -8.5957 -29.8564zM483.56 247.31v-21.5898h12s5.43066 5.33984 4 12
c-2.42969 11.1807 -16 9.58984 -16 9.58984zM483.46 137.85c0 0 41.04 -4.92969 41.3701 20.7207c0.389648 27.1602 -41.1904 22.4297 -41.1904 22.4297h-0.0800781v-18.2305z" />
    <glyph glyph-name="orcid" unicode="&#xf8d2;" horiz-adv-x="512" 
d="M294.75 259.81c58.1299 0 84.6699 -35.2598 84.6699 -76.8994c0 -25.5703 -15.5 -76.9102 -83.1201 -76.9102h-47.4697v153.81h45.9199zM256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM175.21 79.2402v207.5h-29.8398v-207.5
h29.8398zM160.29 310.38c10.7832 0.0380859 19.5312 8.78711 19.5703 19.5703c0 10.8008 -8.76953 19.5693 -19.5703 19.5693s-19.5703 -8.76855 -19.5703 -19.5693s8.76953 -19.5703 19.5703 -19.5703zM300 79c68.3799 0 110 50.6104 110.04 103.89
c0 49.0205 -33.71 103.851 -110.44 103.851h-80.5996v-207.74h81z" />
    <glyph glyph-name="swift" unicode="&#xf8e1;" 
d="M448 291.91c0 -5.35059 -0.000976562 -10.7002 0.00878906 -16.0498v-183.771c-0.0292969 -4.50977 -0.0800781 -9.00977 -0.200195 -13.5098c-0.119141 -10.0547 -0.998047 -19.7852 -2.58984 -29.4199c-1.67969 -9.83789 -4.86914 -19.373 -9.21973 -28
c-9.04004 -17.748 -23.3896 -32.1074 -41.1299 -41.1602c-8.62891 -4.34375 -18.1641 -7.5293 -28 -9.20996c-9.64355 -1.58594 -19.3809 -2.46387 -29.4404 -2.58984c-4.51953 -0.120117 -9.00977 -0.200195 -13.5195 -0.200195h-199.79
c-4.52051 0.0302734 -9.02051 0.0800781 -13.5205 0.200195c-10.0576 0.120117 -19.792 0.999023 -29.4297 2.58984c-9.83691 1.67871 -19.3711 4.86523 -28 9.20996c-17.7354 9.05566 -32.083 23.4102 -41.1299 41.1504c-4.35059 8.62598 -7.54004 18.1611 -9.21973 28
c-1.58398 9.63574 -2.45898 19.3662 -2.58008 29.4199c-0.129883 4.50977 -0.209961 9 -0.209961 13.5098v199.83c0.0292969 4.51953 0.0800781 9.00977 0.209961 13.5195c0.109375 10.0479 0.97168 19.7676 2.54004 29.4004c1.68164 9.83691 4.87109 19.3721 9.21973 28
c4.52637 8.88477 10.3564 16.875 17.3496 23.8496c1.74023 1.7207 3.55078 3.39062 5.43066 5c5.61426 4.80176 11.7549 8.92383 18.3896 12.3203c2.2334 1.11328 4.50391 2.15332 6.81152 3.12012c6.69531 2.73145 13.8994 4.82422 21.21 6.09961
c7.22656 1.23633 14.5557 2.01855 22.0596 2.32031c2.45996 0.120117 4.91992 0.200195 7.37012 0.269531c4.51953 0.120117 9.00977 0.200195 13.5195 0.200195h199.75c4.52051 -0.0292969 9.01074 -0.0800781 13.5205 -0.200195
c10.0576 -0.120117 19.792 -0.998047 29.4297 -2.58984c9.83887 -1.67773 19.374 -4.86719 28 -9.21973c17.7559 -9.03711 32.1191 -23.3965 41.1602 -41.1504c4.34668 -8.62891 7.53516 -18.1631 9.21973 -28c1.58301 -9.63672 2.45801 -19.3662 2.58008 -29.4199
c0.120117 -4.51953 0.200195 -9.00977 0.200195 -13.5195zM378.119 50.9102c4.91016 -9.58008 15.3604 41.1797 -23.1602 88.5801c0.490234 1.68945 1 3.35938 1.44043 5.08984c18.5996 74.0801 -26.79 161.67 -103.58 207.75
c33.6494 -45.6201 48.5293 -100.87 35.3096 -149.2c-1.16797 -4.21484 -2.58105 -8.44238 -4.16016 -12.4697c-1.72949 1.14941 -3.84961 2.41992 -6.72949 4c0 0 -76.3906 47.1699 -159.181 130.59c-2.16992 2.2002 44.1504 -66.25 96.7207 -121.74
c-24.7803 13.9004 -93.7803 64.1201 -137.48 104.12c5.58301 -9.18652 11.8184 -17.7773 18.7803 -25.8994c36.4902 -46.2207 84.0898 -103.37 141.09 -147.221c-40 -24.4902 -96.6396 -26.3994 -153 0c-13.8662 6.50977 -26.9756 14.3477 -39.1699 23.3701
c25.1133 -39.9365 61.6025 -71.4268 105.29 -90.3701c53.3203 -22.9199 106.35 -21.3799 145.85 -0.379883l0.419922 0.25c1.77051 1 3.53027 2 5.25 3c19.0801 9.7998 56.3105 19.46 76.3105 -19.4697z" />
    <glyph glyph-name="umbraco" unicode="&#xf8e8;" horiz-adv-x="510" 
d="M255.35 440c136.99 -0.169922 247.83 -111.31 247.65 -248.28c-0.179688 -136.97 -111.15 -247.67 -248 -247.67c-137 0.0703125 -248.07 111.271 -248 248.271c0.139648 136.96 111.36 247.85 248.35 247.68zM400.35 174
c0.360352 5.24023 0.524414 10.1309 0.524414 15.4619c0 5.12988 -0.169922 10.2197 -0.503906 15.2656c-0.43457 14.9102 -1.64258 29.4004 -3.61035 43.8799c-1.87012 13.2197 -3.56934 22.3799 -5.38965 32c-1.02051 4.87988 -1.28027 6.39941 -1.83008 8.44922
c-0.506836 2.22461 -2.49805 3.89062 -4.875 3.89062h-0.0253906h-0.819336l-32 -5c-2.37793 -0.385742 -4.20117 -2.44922 -4.20117 -4.93457c0 -0.0224609 0.000976562 -0.0439453 0.000976562 -0.0654297
c-0.00976562 -0.128906 -0.0146484 -0.249023 -0.0146484 -0.380859c0 -0.130859 0.00488281 -0.260742 0.0146484 -0.389648l1.68945 -8.7793c1.60645 -8.86719 3.23633 -20.0938 4.88965 -33.6807c1.62695 -13.9551 2.49707 -27.7852 2.59961 -42.1494
c0.266602 -26.9072 -2.44336 -46.834 -8.12988 -59.7803c-5.62891 -12.7627 -17.1777 -22.3076 -31.1504 -25.2305c-16.2686 -3.44336 -32.8506 -5.2627 -50.1387 -5.2627c-2.38477 0 -4.76172 0.0341797 -7.13086 0.103516h-10.25
c-2.40625 -0.0712891 -4.53223 -0.0996094 -6.95605 -0.0996094c-17.2725 0 -34.127 1.80566 -50.3838 5.23926c-14.0283 2.86719 -25.6377 12.4033 -31.3105 25.1797c-5.60645 12.9336 -8.31641 32.877 -8.12988 59.8301
c0.101562 14.3672 0.986328 28.2021 2.64062 42.1504c1.62012 13.6201 3.2334 24.8467 4.83984 33.6797l1.7002 8.78027c0.00976562 0.128906 0.0146484 0.249023 0.0146484 0.379883c0 0.131836 -0.00488281 0.261719 -0.0146484 0.389648
c0 0.00488281 -0.00488281 0.00878906 -0.00488281 0.0126953c0 2.48633 -1.79297 4.55664 -4.15527 4.9873l-32 5h-0.69043c-2.37402 -0.0214844 -4.3623 -1.6748 -4.89941 -3.88965c-0.540039 -2.03027 -0.820312 -3.57031 -1.82031 -8.4502
c-1.83008 -9.41992 -3.52051 -18.6094 -5.40039 -32c-1.95898 -14.4814 -3.16406 -28.9697 -3.59961 -43.8799c-0.351562 -5.13867 -0.530273 -9.93066 -0.530273 -15.1582s0.178711 -10.4131 0.530273 -15.5518c0.766602 -27.0928 5.43359 -48.7598 14 -65
c8.57324 -16.2061 23.0801 -27.873 43.5195 -35c20.4404 -7.12695 48.9209 -10.6172 85.4414 -10.4697h4.59961c36.5605 -0.15332 65.0439 3.33691 85.4502 10.4707c20.4336 7.12012 34.9365 18.7871 43.5098 35.001s13.2402 37.8809 14 65.001z" />
  </font>
</defs></svg>
assets/webfonts/fa-brands-400.eot000064400000406736150753125220012566 0ustar00�
��LPD졐:Font Awesome 5 Brands RegularRegularL331.264 (Font Awesome version: 5.14.0):Font Awesome 5 Brands Regular
�PFFTM�T���GDEF*�pOS/21�V9X`cmap�ك��gasp��hglyfr�~L@ߤheadFQ�6hhea6�$hmtx_B��loca^^ی��maxp,O8 name�������postk���l�KC����D_<��4�w�4�|��������������L'@��LfGLf��PfEd�������.�T:� �@ ��@���@����������������@��������@���@�	�p��@����������@� �@����@��@
�����@
���@@@@@@���.�@
��@��������@����@@�	@@����������������� @������ ������� ����
�@�������������������@�������������Lh�����@������������@�����P���� �����������������@ ������@���@���@������������@�����������@�����������@���@�������������������@@������@��������������������E��@�������������@�����������@@������������������	������@����������@@����00�����I�R�W�|����������6�<�Z�i�n�q�t�~���������������������	���2�7�>�L�^�k�n�p�~�����������������\�u�}�����������������������������������
��!�#�1�M�R�W�Y����������������������������?�B���������1�]�x�{����������������������=�B��������������I�R�U�w����������6�;�Z�g�k�p�s�y�����������������������
��1�7�:�K�^�`�m�p�|�����������������\�h�x��������������������������������������#�%�M�R�W�Y������
�����������������������?�B���������0�]�x�z����������������������4�?��������������������}G<��������������������wtsgc`_EA?3"! 
	
�
�
�
�
�
�
�
�
a
V
T
S
Q
O
M
L
K
I
H
G
F
D
B
A
@
=
<
:
9
8
7
4
3
/
,
+
(
'
&
%



�xwg�������������zxLJ
�
�
�
�
�
�
d
9






	�	�	�	�	�	�	�	�	{	z		�����2���4������4���		D


r
�4l�>f��
8
p
�
���2n��^6�
f��L����
8b���(v�,�D��`�2TP�� �!&!�"�#P#v#�$$�%%.%�&&R&�(b)"+&,,�-8-�. .�/0,0Z0�0�1v2�2�3J3�44:4z4�747~7�8�8�9:9f9�::j:�;;�<�<�=�>>b>�?z@
@@\@v@�A`A�B*BLB�CFCnC�DFD�D�D�E"E~E�FXF�GDG�HRH�I�I�J^J�K�LLtM,MxNNPNjOrO�P`QQ�Q�RSBS�TT�UvU�VVxW�XX�YhY�ZZ^[p[�\L\�]]�^^�^�__@``�aa0c|c�djd�e0eXeze�fJf�f�h.hbh�h�ii�khk�l`l�mmfm�m�np�r.rbssRs�t&t�w>w�xxxy.yzy�z`z�{Z{�|$|^|�|�}}P}|~~�~�`�V�΁f���ԂD����Z�҅����V�������:����v�Ԋ��N�6�`�����d����
��P�����L���B�d�x��̖&���2�������H�f����� �`�~�d�~�"�R���&�¤إ�:�����N�
�H�ʨ���R��� �t�����N�������8����t�N�Ұ<�Ʊb���(�̳ȴl���`��X�$�`�$���L�����Jº�.���
�rĞ������@��ʒ�2Ш�т�պ��ش�����&ٌ�"ڎ��F������~���ޖ���@�p�2��@�����p�����j�6��:���F������z��^�������#"&=6505656567676767>167#"3>&'6&'&#&'"'&'"'&'&#0&1&#0#"#"#"'454767>79305&'�_�Ze�	


 ,9(%
T
E.8B	Ws�e("
	/

*.?B	!Da($&$	 ��'�)5=IRV2"&4537+5323+532>54&+532#5#5#535#535#;'#373'2#!2654&+3#i))	OI�9�_
_�"m" 7� c>^5 
�y��pvym�K))荍�.D��S�E[

[[[�.@6mt��Ugeee�j	����>%3#0#&'&#"##"&4632'654#/&""32?32545'�3&)\��\<g;tH
H:;;V!&x�x7^7G_DD,E))E����
#7463!1#!>7>7>7>7  F1GE�1YXF1��
3/#
"%!<H1FZ9f��1F&4H) ����%/#'73?37'#7'�5�;��;��m�W��W�.**W�22�32��23ml���&�z�������,$#"&546301%!!%&'&#0#"3273 ����@w8
(��@KN


����#+;T62"&47"'&'&476762264&"6264&"72#!"&546364'.'&"27>�,,�	�		��D00D0�n��O0+\+0+\+0�,,H�		�		�0D00Dd���`��\+0+\+00����%#".?'&>32#"/&4?632s��\\
q��
\t��$}{$��$��${����$-9dj32'6123%>767676761232126'>'676767&4>767.&/7>'.767&'�7~#c��%
/&5		""
	7	/2	
%^

X����J4##0
	B!+)
�99&
,
-$

�!
@z#'%53'3#5353353353353%53!53'53�}}}}}��}}}}��}��}}}�II�H�IIeIIIIIIIIeIIIIeII����&7!67"'.5&736.'#>32��>W\Nb'4Dz�1X<zc@h�4-6	ib6�9!.+&5!];64?�A+IVgs|73#".'5&547>3032&#"1"32767#$#5##"'&505463254'&#"'6365&#"32'0+#53212654'&+321%3#7'33jc*
3(  9v


"
S'?	
	''O4%�1	
!


;O

	
g		�L�X

	A�@x\
�����9EQ^go���%#0#'#"#'#"/"#"/"#"/""/&##"/&##"/&##"5057&'"#"5457&'#"'&54?4/&54?4/&54?4/&4?65'&54?65'&54?67'&5476;67'45432367'54326?6322?6322?6237632376327232072327267#"&'.5&+32+723232?6324&#"32>'4.'#"26'35#&264&#"3254&+6=4;654/&54?.'#"/32&264&+"264&#"�
		

		� 	O0-� %*)$		�		
	X5	,	
		�;?�#D(>+�'


�	
�			�	

		
	�

	##6
	##"		
		
		�

x				(
	x	
		($0/
�

	�		
	����%%#"'"&4632&#"3265313�C7_�__D,",X
,%�'�D__�_Z,",]
4����%!533=#5��@�����}}�}}����92#!"&54636767&#"&'&''3#"'32>54���/(S5	"$-	.79X)���`�
0!@#$:T-����$2+537#54;5&#"#3#"&5463��:E()??�����H/&=,7H�`����52#!"&546335#6264&"54.#"#5#354632�

��

gC  @!!@C�
��

�
�������u"�j
h	����V[cipw}�2#!"&5463>54&#"54&5".'&'0'43767.547&7662>&&364#"32&'&6'6&'6'&&6'&'6'"����2=aEE]>2	 	
	+
S
	���`��W7D]]D7W
 
		
	)
@	���0#"'327"&'327.=&547&546326767�(ItFXII:#5

	&/'q@=+.$"(	5iW6/-)+
 81:+>!%
 ����%537#54;5&#"#3.5462�xY:E()??Yx�Α�\��H/&=,7H��\g������emu}�7#54366'72&2&5<54'>54&'6'&&".&'./"2?'.5466'&'6'&6'&'6&�!(GDtC]K	$
"
A%	"

 
	L^�,	"	3�@pDS�? (%
			%!(
0�Sh���
!	����J#"'6?32654&#"7>76'&54632#"&7>54.#".5462�g&# 7IXALW=3.:$
GW��'Α(;YA=RX>9
"+A9,!4
$
		"	g.~Ng�����R+6?32>54&#"74676'&54632#"&7>54'&#"&5463!2�� %:!WAKW=2-:#
Y`p��$;(F*=QW>8!+@8, 4#		7 
`����+72#!"&54632654'#3#".546327&#"%5#5##335���t+5^9$');;���`��6,"%;R;Rt�'%#"&4632&#"3267#53##5#5353�fRPppPK54. 7 F126mn888778�Sip�p22 8!2G6C88888��'3#3'"&462#54.#"#33>32d]].  , |]!]Z
. "-	+) ,  ���*#�+))0!��
3LT6#".5462#*.'&547&5472632>34&#""'&#";2>&2"&4�#9	) 76-*#1*/*&1"'@(",0+
"(*&00/d##�&$$;$	(7A0
	.w#00#&
+V$&$$&
{%#76&+###'!2�a41<a;S<a<-t>$%
�����`--=����!'7#3/#3?#'�#����56/ca���t440�>&L�1����'73?!7!7!7�@�Rt���M�����PP_),,aR5R����.AT%#5"##5"#723>75."#57536353'262>54.2>54.#6MGB1
1	X

T
1
1 
�
	
! �R5,DCCD:�4ONMO:T`
	�	


2�$'#"'&'.'547>7>7327'&j,,�*'
j,,�*�Ǐ�D$#
	Z+%CY+�RQ������#70+"&?'&6;2%+"/>76;2�F
AE,A	�[B\H)
B�|	zL	V��	�6H	���� 12#!"&54632767'&+"3%6&+";26/���\0 .1
/fB/B���`��	U7	6W�	�x	w���'7'7757'7�����������������LUTTUTTT��UUT�TTTTUTT��~�%'?'7'?'#553!53#	���z��w w4��(��(�')'.��$T%�����((Px��x������3k2"&4264&"6"&462"'&'.5&47676762><.'&'.*#*:3:>76�`CC`CT>,,>,�\C=�=!
!!=�=C-#)(#
#)'#3C`CC`{,>,,>�6�=C! �<!"C��#('##)
����2#!"&5463264&"264&"���F5%%5%�5%%5%���`��%5%%5%%5%%5����
#$"&462'373�A�9�Α��-��"�"bqΑ�Α����44����!23#!".'454>7#�
D��	D!��
�_
��֓���:�)#".=#"=47>76;232+7665!*>
/
*(F
T

T#!	 
.,�
DB%
s
R
�@
����72#!"&54636/&'&&=32=4+54+";32���44,	1&*���`��(
S4H
8+Z��}�(%"&#"#.'&5467232>''&7>7?=: ./1E.8938 %&�?&P26*'?F	(n&( (����7#53537#�������b�������"�@@�*$"&462"&462?654#"&#"'&#"!.����0
1:AA:1
0?N@N��S
UU
S"xIIx
	����k~���
)C#'476#"&"54762"10'&'&"#'.'&'&76'&5476767>7&767674.>32&63"6'&""60'&672676&367676'.'&#""6&/&'&6567656767636'6'&'"&#&'&''.'&'&76#%4'.'&'&'"1767>&72132767>2#"'&��

%


+! 

!

�	
0


(

	
$29#%
	
	


	

	 �E��
	
.3% "#"(#*%9		)	<
	��5$	
2#1!.2
 3$
		&
#



����".6<2"&4%6&'.>'7&>7&''7&'67&�Α�Α�:#		IKG'd3+$"7�0!^e$�76H%
lnR.t3
 =Y�M?E��Α��*
JR#9C&(,9!A�R<8.
 �%MSK.4ZP����S%#"'#"&547&546326322654'&'.543232>54&"#".#"�B.&UxB.&Ux�-C[*DWA		



G�&.BxU&.BxUr-)9	()

	
&��t�?2+"'&54636&+"?>;2>7676&+"&=4>;2>5C0	
S�
�	Y	I
Z	j� !�	��J��l%	
������#52#!"&54=46354&+";26754&+";26�!��!!�SS�Q
Q�!��!�}(!����{������2"&4>&'&'.�Α�Αk!&"
q��Α��Q	
	
 � 4`M0+".'&#"#"&'.54;2326=.54>;227>?6;2!)"
;


(/`$"-;=]$		;JD3	


&!
84.[0


=`	
W	
t<	�
&0>JT\6&&676&"&547676766.766&76&&6'.7>'&>&7&76�
&3
�U�LH<,<IB@D4	_@@S_@@E2U&%J7CA 

< c
		
9$

��L=CLH'155+.iS3DS3w
.Z05R��	53	

		
����	&54>7"'>77.=�RB:6^:)?8-??-7!6'XvR� EZ=iE
�Q..QX3?M)��\Z������R%&/#"43267.'>67".'665.674>2/>�21-a90Q%/,7%$4##&
#*)

&&7�&'
>H;3	-'

$,

"$$6
*+(
%2)%
����7!+5#"&=!%5!'2!5463�&W�&��d�A&�d&t'ZZ'-UUnUU�((����42#!"&54636'&6&'."6323276���P2B!
	-A@���`�?N		 *f
#!3TR����+4BKW7"&46;462"&5"&4622+"&54>3462+'"&=46322"&=7"&46;2#^&/''/'/v

3&/'
/'/v�'/v3&/'
/'/v

��&/''����/7AIQ.54'76&#'&33'76&#"#>32"#"#"'76546"&4624&"2>e6BeL	"8!/M	#^7S=�A#$�:0A<�Α�Ά�ċ����g>-"4G�		[��,48":�	2/7:b�($Α�Α��ċ�ċ����%.546777'7&'57DWumS7EM:D��%(E3# R85Q
+	8$&:T!���+����3#7'362#"&43#�]�^'j`8�0"	"|h]h3��Z��"	"0�����%#"&4632.32>7#53�kg��gaEC YM7Z@#7���j��ΑAA!M2A\#"V����;IU6"&5462$"&462"&'7264&#"'&&#"32>54'>&6"'&7672"&54>��Α��

$28=2$	N61$UL
C�

�Α�Α�
NV
(7$t
Y


����
%5`%"'&76276'#"&5463272#"&5467#!"&5463!2"&'73264&#"'&&#"32654'>&RHW[���`d'6;B6&T:;Sf1���`�
U]!	*<<*
!����%92"&42754&""&=#326=405#"&='32>�Α�Α�",>,

:,,�:

",#��Α��!


+*l

-.,+kq.0

/
/+#����1%"&=726='54&"#"&=332>=462�B]B"4�B/.BV
C[C4�F.BA.FGH:�.AB.FE
�-?@-$����%3#!"'&'&'.5463!225#5#"3326���	`��	��	|��
`����	��	 `	!%)53#55#%3#535#75#53#535'35'3#3#R3�RH��RRRͅ�R�4444L���]]��))]])��)�]]u3�����	#2B#"'56322#"'567#!"&5463!22654.#"#754&#"7532�

G

���`��+"-3�+
4!DiD���`�/ %	�
3:B.�
3��9�@D����7'26322/>&67>77367>?"&75.#	&'<7465&#".'&'#"&54?.>3263263232654.547'6'632763'7>31#��	376I
	
G#


,g�;
#,
	"	?!
,�	�	0
5/)



'�	E<
��		-


\���	PK<	
3		! 

4.

"
	

#C�3^ ����(:T#"&54>767676'&#"&/"6'763276&'&"76'&#"#".#">2@	&pNNt&	(
 +
$P&	
	
V

=
"+#3(*	
0M,E'RhmQ%D*#&
��	D%**"$

1����1Je46326&".'.7.67>>32'64&"#".'&'7264/7'#"&5467&72767#!6*,
d,3!
�V6"#-,
Z�#9,d-[(b0'(7#,,

Yd#*,d,2"6!_U
#!8--
Zl!#

,d,[	(0'(#!7,-X@u397+32'3254#254+%#53#32>73#"&546323&#"�AH5��q�O/5
:8U���8�!>\<GI::C�s3 �H34cX3NS+(�/3b�#� "VJ<;MP7����
#'3H7+532'+5322#>7#!"&5463!235#4'654+32674&"327##"534�-.+(�?���`�NN+#>Z]'�$?(
2"	"d�47--���`}�)

0�+ +* /
#����!2:B%#"&'326'7654&"&'>32>&/6'&'6"&462264&"�BsCU�_&*T(87M7;��bg���

 	(	�3%%3%R''�CsBeO' +<8''66'V
7`���
	(v$4$$4&&����6>I>&/6'&'2#!"&=326'7654&"&'5463"&462264&"�&���Y'O%53I38u0""0#;%N&&^��q%(84%$33$Q
0��"0""0$����.C2"&42654'&327672654'&#"327672654'&#"3276�Α�Α]	
`�

|S Md20
?0$	
R{B4

<�5��Α���	9	2B
-
L
0
��@�3#0#57'#53?3@b[�
,	]]V�+	bc�
�	T	]�	�	T	5�K#-9DN`u�����7#"5'743272#"5'7472#"5'742"5'?2#"5'7462#"5'762"5'?#"5/7547632#"'&5'?47622#"5'72+&=476326%2#"5'74'2#"5'742#"5'7o��	s~!..!�	7O��.�AEEA)iEEi�DD�`####9989DBBDFDDFr�@  ��:B��CC�8/ !.	�	I6<�AA��CC��CC�����+%#'.'367.54632&'654#"�O*+%$
J
;+-%+7/(0

"L�44\
;K~Km�5,>N12A)<:

.:9��� $(+/&=4?67'775'?'7'75�

��

�
_MجM_�7�_M�NNNd�M_�7 �����;g?3ss3?5J%�g?3444�s3?5J%��A�$I%##"'.'&676'&76067>6&'&5.*&'&35236'#"'.'&67>76'.5676676.&76�"	$#�J$;
'&/("MD7
+
"/26(&"#
D��+;'I!
,!%B'
$	"1�D$ 
."#C1)6%	(�$X6%		
('B<s L
!
		&&H	
%	
/,
����["&7>721>?>././76&/7>?>?>./65g�<7
		

-,		


(�8�h<i#36B

 
	
	32
	
	 +3
	A911D+m�	����)6CKSb�&#5&'&'&5473.'77'>7"67527'676"&4624&"2'67'654'7&'"'7&'&'7&47'6767'6327' :a

)=�

�:b);

a:=)$b:=)o�Α�΅�Ċ��c

�

4	@@	4


4	@@	4�90	.�	2991	w90	
/-	09.�
	09/�Α�Α��Ċ�ĊW2r1	�CC,,CC,,����
"*K]}7&5472#"&6%#!"&5463!23254#"#.32>54&'&#7654'7'"=#37'.541535#"545#23232e
!!#
O��`�1$@ 0	
!	U
4He&$
r
|���`YD
 XiK
=
B���'4<R]&'#"547&5467&54>4&'"&"'6'26&#"527>=4&'733'".5432#"&=4&"#5>73;#067�%"

%:5f#)-(
453�T?	%%�!!$	
&9="#

#&2
,&
�	
	
�$##$d w!� �	##�#j%	>)a����!!77#.'#3��@�Q#	%P��@�6�-/0"�g��g�-'&67&632'2'&6654&#""'&>H	77 !;k�Eb{Q>jP9%>"
	'M0_�93!!sDbENeRC9P$9G#	(VG-����2$./"'"'&67.5'"&6767&632�n##m 	
!QRQR!
7	
7
	0 Q^yx_Q 0
��3�(6GS"#"'7&54632&'"3264&264&#"'#"&46322>54.#"32>54&#"�E`
1DNrQGq	r

��D6(F``FBc�
o
Z@	";7ME`N;5



0



�=40
SuST!		����F^2"&462"&46'&7<5"&#'&7&'&625463!254.#!"636626�3$$3$�3$$3%�#G6"(&	&("6H#g
��B)

 *D&!0""0!!0""09*f4!
*)!4g+
�
��	�
����#5##5'!#5#5!373�&D'}o�Mat���WDMYnnnng��[[J���@@���!0?O7#"&'&547632&54?6#"#&7&6#"'7&?632%67232/&54+dl	

1
J	+mi"	Zk	>	!��5;

"	h�1  �	Ro	
�"'
�[�
�	�������"K7+"&7>3262"&7#*+"&76763:>7676oK;H$
*m�$y@
  �s	O,Y�BpW�	����
)&'>&42#&'&6373#&&'&'&6;2�507h<�m~r
|JYAUM21c2
">LvnM	X�¦nfja��JH��@�%)HS%#70>?#!"&5463!27#/&'#37#74'&56367&#"#"/26'#"3673�!m� ��X@+'@$�(�"$'�  <*4�&+���`��jG���2
!

	#�
���@�	
4BR^d���������
-9F$"4!2#"462#72#"42011"1"1"1"1&1<143413030310030410+353#!"&5463!2327&67&#"64'4#"&#"5#3<>323<>3237#&#"327374&5427&"'63'=35#5##3734#"7'&7&5#3546467&7'7#&737&5#35467#&7373535#45&1&0#"0#111323210606107#'#537374&#"326���xuuJ� ��Q9*#76#*9�555Y	-

(	#


	:


	5"

*Q9*#67#*9Q1	Z��`fsQ-�,�)�))�v%	
	
%	
	%	
	 	
		%	%			|~U:Q-�-Q��@�'3:BSkuy��%+53272#!"&54633533'654.*#35#535#535+37#&"264'&75&546"'654&'&5467&2654.+35#5!26%+532� �
:-r#$;%%^! a

,
$l
[�3�z�	�*		�
���`�R!!#RTT7:%%
/

	




RRR�� i	�6����A�.7:AMN`g{~1Iamxy���#<.+#532254+2*##'#5377'#3#57254+'#3#3#53#54.+#532254+'#5#'#'##7353733':>7#!"&=3673353>7352335;67323535#&'#&'#"1#"5#.*+.'#.'#5463!2"#"5*5#."&*#&+.'#3673465273<523272?"+73254&"&54;254&&54;#"6+5'#3##53'63023"'&47'3*;735353#'#'##"543'3#E'
!BC3)$$j?

'&&'77I�
'�"#��
� 5�B4)(+ (g.(�#		O

:SR
0'�$	  
!W	
!	
 
'&&'889	""!Lp
	EZ	E6
	8	�Ej EP6666EBB//(�Z�						\	

		
&n�]
		
<	
(

(
E^
7BB11E44"#(E��@�	,AXr����7#"54632'2+743!2+7437#!"&5463!24+";2?46:3267#"&#"327;2?47454+"'&+"0;274+";2?>:1267#"&#"327;2?474+";27'2#"546�

	j	 �� ��@"(T
%@
�"(T

,J

�	
	
!
���`�f

@b\'&nf

@!h1	


��@�#@PZ^bq�%2#4>2#"'5672#!"&54634.54325&#"#"'32675#53275&=5&'#3565#752654&#"'#757454&#"3275#"'�
$	q


�� JE#e
$
=$$$n $
�
�		5���`�	"			"Lr
3!}U
b}}��! "	�(	3$
	1OX7#"&546323254.'&54632&#"	#"&'.#"26?�#>BD@%)=

D<-^;+


zFE
) (&		Q
FCFM%<-'J#
	

Q60	(
/3*	����g2#!"&5463254.1&54327&#"2#"'.	#"326?'#"&54632���L	$:%+
&.		
(+#
		
���`��3	/%.
0,&
  ����;G2+#"&'#"&46;&546324'!"&463!.#"!2#!326%32+"&46h

5�gL|C

5�gL|��

^8Su*

��^8Su���

�
 g�TDg�TD`/9uS/9uk.����'/8E��%#"&547&54632&54>32>32654#"6'&"32654&>&'.#"723201&'"##"&732654&#"32'67&[!iVF_3/%7
P!"/�."	=0�
Y!r(
1
	.	C-A6	�0&Xs\99#��3%/^�xeC�
Q\�P:(
'!	;A		

?$!)/�����#%#!"&5463!2#37�+V��`A_�_[p)��`��*��[[
��3�JMR_finquz�������������%#"'#"'##"&547'&547'&54?4&14?&54>32362363225#7575'#075175573'7'37'77&='&'#'#7#"7'"7'737'37#3'#362?#6?#747'74547'67&74kj	476	8jj8��,,-,3483,.,rb@#�PSPY|D"uSb:�9
h3�Kx63)O<<$$kR#[c�i\&\a|sZ#V.#�
_Z	Y_
\
a`	��L30?\4Z`�H!<KfC��RXT\G�|Xed<=y66G6QS+U?sL&2;V�_Z__S\=lO�����
7+"&=4633'54.+"Gf5&�&55&,�3	�
Xh�U%00%�'7��5{		
�
����	'7&54632%&'>7&'677&'>7�\\�gq�!!�p$74(-CyU�#"�g�\�$�a!�rp�!��0>}B-k#�Vh�":�%:#&&#"6326"'&#"&#"+632632&#"&#">32632�8/-:8C,0=*)�$"75>))>57#"*>G@**@G>"/6>))>6/"!18//8#9Q�+)��))]##��&&��	��z�,<M]%#!"&5467&54>32>3254&+";26754&+";26754.+";26754&+";26)5I2��2I' '[:Ec��				Y				Z			W				�
C+3HH3$<&8HcE�o		o		�		�		�	�		�

�		'����#'+/37;?CGMUuy}����������������?7?7'777?#5##5##53#53#53#5##53#5#57#5#53"&462'6#"'32654&&543237&#"'#553%#5!'%!5!#5#57#553'53'#55353'#53#55#53'#5d����,r�"
"
"�!�"Q"=!�"��Q"$"�L66L5�!	 	ya��*�����z��z�"�!��!Q"u"/"&






B
	


>

g















��""�"�5L55L:
I""�""M!!0�jbb��U�;;�!!+!!��!!+!!xM""�""�"""��"*2#!"&546;235463264&"264&"��>j��7''7'�7''7'���L((��'7''7''7''7�|Y%#".#"327>32#"&54>3232>.#"#"&54654&#"#"&547632632�D26()!)'5*9
<+C; S(@Z)F*!<,,"'%.&		%	!
C2(&@3%.Bw1B#-/,$,>>,*"R?*E&",/,"))	2A	,%3	>����@2#"&'"'&54>7&547632>54&#"#"&546�Ik$=&(		


%	&	A5<P	+{�\I$D:",

0	Eh	 0
K 214:N<,>0Pd���� H#"'7&546322656'&"77'&'&5476323217676}C�\91v �\\\Ln96�mF+�
	)1-	!
_CZ\�s3<\��imLJ86lL5-D�?	)	
����3#3#'#53'#53'3377#�00DRgYYgRD00@Q^Q�6�p0 0��0 0p����@����(!!5#'#35'&753735'&75&7��@tS;DW Z O	Cv��@V��"�&&s��������!7#/#3��@�N!.-#L��@���[
[�^����B������������'8I[nz������%'''.567&667&674665".'&7>762263&'&'45&'&67666667&6767&'6:>5>"23636#6666'6&'.6767&'"#276&67&54&&7&'6757"2654&&#327>'"#276464'*#'7>7>7&7.#'&''''&'&'65.'&26'67&'.''&'5767#65&'&'&7&5&'6&3>.>6&5467"&7654'64>76&%'.'&6'&'&6=3
��3	
!	
(
!'%
/�T'
	
	N
4	�P
2

�#-?,,T"5#J	$a8
KQ/K*
	


1
255+7S
98��717�2
$�B!<4��
%� 
%0��
%
	
))	"

G	"G%
"$	
	
�	
!
'(!$
	!&'	("�# -- -�# .&

$6 	( O
4*!


�
&	O6R
		"3%& �
 ��	

	�#

�	H	
	+����0$"&462"2"&42>..'�&&�&&Q';('33&XQ:aB9*e�&&&&)#,8%'
 ,)����#3?OW_2"&4#;2=4>;2=4&#"54&+";26'+"=4;2+"=&54622"&4264&"��}}�}t		%$		9(-����		�		�Α�Α�������}�}}�		  		(9-�

����5
		

�Α����������@� ;Nc%531"#527#!"&5463!2##"'232>4&7.675&464.'>54.'+326�&

((h� ��v9
�73!"651""1�	
	u{� 
#���`� %	!!
2
=
���@�
'62"&45>54.'72#!"&54632654&+"3��gg�g� ((p(�� OywQ[5X4rOpg�hh���9F8

8#x��`�`qMTn0Z8Np����)8D7&#"327#".54632&#"327#".54632'2#"&54>2654&#"�!
!!	,
-.�!	!!	+-.yi�)EZ0f�?sFQzvUVuw�X'"(%$X'!(%��h6^?%�gBrD�=sXUvzQSxt7'7'7'7'77''�gg��-��4M���-��4Mg�gf��-��4L���-��4Lg	����2"&47''77'7'7'7'�Α�Α�JM5MM#~�~~JM5NN��Α���KN5MM$~|~~KN5MM@y *5=E1#"''#"&547'36323264&"7467&#"264&"$2"&4$2"&4/U;9)..)8<T./iReeSh�(P99P9�=/4893/=�(99P:,��**>**
+?<T&22&U;?+399�:P99P+/MM�:P99(,�****��<�(4@%'&'.7617&'.7>26?6%4632"&72654&#"!9L
9L
#	L; 	140
��L6#<#LlLB&4&&rL
#	9L
M


�6L#;$5LL5%%%����D6462"7#!"&5463!2264&".#"&/&?6/67>�  ���`��/D//D%	%
0

0$

/
#
�!!���`SD//C0�	
/

0$
0
����+2#"&=46367>54&#"&'.#"2��]]��")
" 

*"	��]��]��� '!( 	������L#'&1.'.<53>7.'&#53676.#<5:3.#5�'+&2RJa
0� j
!;-�		<)&;@z�(
cZs)��%7�80

�
8=
�

B7.



{	�
����
.6FRZl~�������%7&2"&43237654'&#"'32?654'&#"&"2=32545'&#"264/&;24+654'&#"#32?654/&#"232454#"32754"27654/&#"32>4/&"'7%654/"#"32724+"3mGTΑ�Α�q9S>B `IC>dt�tG	�Gm�Α��S)�Q��)o�t�GH���
",7'>32'&4>32"&%'76&'7.547�M#f7C:@!�)#&#11F1;!<P@Jp�M*?Zx(�v,0!%B!;&1F11|S�.%�$X!�')}�\J>�����%#"&'4&5&7>767>&67>"06764'&'.0#"0#9>3676;20230300210022110010101�BsC\�
-%\*=		$`#a04


�	CsBuYC9%,(9"b:1
#!)V$"	


		
����%"327#"#.546;2&&'>4&'>:=`*
&=W5.F_c��g^F-0G*76+GO�Jk~0K?�dg�?�sb~bJ���	�!*2<!673#"'.546767>667&734.#"7654.#"�&��/?DywJF ">59O5E�Qap�I
	#)IY�/*=�C- DI$3 DN&# Q gFOUk+9'�%9!
*�,6�J&���27#"&546;%2+6''.'.676767&'-
P:
�4>�7#

$6� �/*A|0#>���=g>3E/;73!����J_q�7&6765>32'&62>54&6764'&#"#'&=4;2+3>.4>#".&6.'&66'47'&>3276#"'#"'&g
9((:O2	$*8'Z &&'77&
��%eU;%9HD<0%,-.
%0C#	�1�oT	
5IRR�		h
	^%79(1;	&	/ &m'&&	
�
�("Q5*E'
1*

��1&_?0J%�

����-6Nd<.#*'4632&'.54>576#".'&62>76&7>'&&>76	
JI>.9&
.2-%3%T
�$T/0^37&@9J'$	*

&
		(@�
8$+ ,W)7	
�	))


&
����	%##3#i�m2�u��hV������&#"'&'.#"'>76?676&6�Y[?'		
(	4"!]E&ArwI#-)0%
L�5-l����
!!%'7#��@<@@�@@\��@{�VV�Y����,?N!!274&#"#3235'&74=37#4754>35'"454=#?'#'##77��@�3#!�,8DSgPQ		 ��@3
	%oq%

��l�

!����*9GT%2#".547.6326?6632#"&5'632>54&#"6'&"'&272>54&#"�	{X9a8	9O	aXP9��
�ky�&1?Y)E*

0'(�	!}'ihR
����@\#"'&547654'&#">320#"&'&767632.%#"'&'&76732767632�  8	!.L/S�YI{�	
Iy)/=*$$ )- c #%#5(fF$!
:-) 6	0#2,#UoC�oNA<:+ ##


1GAQ3:IO
<T
����-%2+#5#"&4632'#"&546327.#"326�
WAX2g��gGp#��=+O>WW>H-;]7[��[:b�,a�.C&�ΑIAmnHW>>W?#/5���;����%''7'57#d%��S�}�.*�}���TA�`&�:��:�����Yeq%2#54&"#54;2354;2354;235435&4663232632#"&#"2354;2354;23543%54+";2754+";2��"*"�$$%	

%%$�����``� �    p<&    � @@@@����Y$#"'&=#;54;2+"=#".+#"&46322>7>23>32#"&'#"!546�Y�
	Y		Y	'e&**&			
	6	Y�
5$
<"		Y		,6,*:*
"	!<
#6����$+5326"&4624&+3532FFFȑΑ��3$x2F$�JΑ�Α�H3�J�|7FU%#!"&5467>322>54&'&7654&#"'&#"3$#"&764'&>#"&764'&>�"8'��/B7*X6A`	J4%?
**
%	"
	�''8C.+?3?X�


4J)!	);)x�8	-l-Ia(	H

����:7&54636'7&"76&%#/7327654'&7466*^I"<53%8C)G!G(

4RmR=#!@P_"*&�3IP
H'%*#	6$*+),IH'0A( ����&'77#".4>327''77%+*|,..C97D-,B3�O}J]]J+V��V+Y3O7&	6f�i89gKX��I^\I����'�7''7'75#'7�b�VllV�422�g��V ll VΝ2djd2�����1#7627'&73%'#762i9�8f���^���88�9�����X�ڸ	e���
	�&�������!)-%#"&'*##".67.>2%35#5&''35#�7#77#7!=ZfZ=!��**�-e)&lm��~8//8&TJ;##;JT-:� "j:	���� $(+/36:#!"&5463!24+''#"3!2#5#5?##5#5?##5���j%	o==o	j��IIIT6v���p@v�cu��j��jK22K��%%J&&�,u%%J&&�,��%%����12#'".'.&56'&'&'.V�P5QF! %&#D
	$GI&

%6(�,>=E10RG	.A9l
,!�	g,����i#"&54676327#!"&5463!24&'&#"'>54#"32321/4>14&#"3267>4>7632�	

���`@		
D+ 

"3	! +
,(0
3��`�"??%*) <

8$ ����Ha%#&#"#"&546327674"#"&54>32>32'654.#"3:>76�#2	(5R6(./

	BI%R6$0
�	
�7

8Y1'6	*-GB-XA-$f
	P		M(?������1F&'67"'.>32&#">54'654#"'6767&547>.%$
3�3(&Y;!:N3!#1	m;Ob/&KB%
0**JMX�
CJ88*p^B	T:";'AUM'79�DR;$cI)+
!2����@U2#!"&5463>''3654'5.'.5463267&#"2726&'>7����

1%D

'1$%8 c<
)	.���`��H%3+U$"#!	1./6(	0 $5
);F#�.>	

����h2"&46'.'#&76763654'&"'6'.#0"1"#"'&3263277632327>76�Α�Α�


 			
,'��Α���	

<
<
�����l%#"&#"''.#"#"'.5.'0547>7056'.'&7>327&47>3023232761�<	("*
			
	
%(	/)

$7								
I$%I

	����n2#!"&54636'.5#&76763654'&"'6'.#0"1"#"'&03263277632327>76���Z

.	
,'���`��	


<
<
 ���� )632654'67"&4632667&#"�o
$&3)/Ih-
;z�zzV6/B��\d%(Ih�JV6?#hIC2
=TVzz�z7���^hIR����GMSYc?27777''''"'7&'7&'7&'7&547'67'67'67'6'7'7'5$"2654
�
-
2=
@DC@=2--3=@DD@=3
-
���������ʼ���bb�bۄD@=3
-	

	-3=AED@=3-
	-3>@D�����uu�vvPm�nn�;bFEccEF����.93#"3#"&=4>73	5>574&'&'37#6734'7[��++)%6*�C(

		0!
>2��
�1=t)�)5%�)82i@E&(
3.GA1����.
���
Xcu������462#"##"'"'"'#".5#"'67&'7&'&54>3267>761>32632632$2654.#"47327654#"&4&"326574.#"26574&"26574&"2657#"&5476326262632>74&#"32>6�
	&N
		 	 			
" $6	$G'

-

��
 - 47)	1
	12M/?!FZ%"			 	 		 &3)-")R-_

	� O- 				7!25$" &(Dt	�!B6#
�		 
	 		 	

	 		 	

	 		 	

	�.iH2>.VN�*?$�)����%12"&426=4'#3#".546327&#"%35#5##33�Α�Α�5BuF)- !"13II##$$$$��Α���D5

+
 .! IfIj$##$#����=2#!"&546354#"#"'&#"5654&"32756=6276323276���.(
%"

&*
 ���\��	
�-
����BFJNRVZcgos%#/#/##&1'&'&?&5'&?&/&?2327674?677'///7'75'??'?�
7CTA&{Z"$#;F�e[yj�IP9@
F+:
>NOU\_BX@)J3�H,!6.CENd
�',�# $&9a=/�79�1��=^:�=D<�>F=,DC/DJC("?$A����4%#"'.5463232>5'654&#"327.#"'632�(;%:tKxNOwJ
r588338

+!)=	">(dAUpoV_:$

:%?PNNPON

>�Wp#"'&'467632357>7>'0.7>./.67>/7#"'&547674'&547632aAC
4 
~]

		

!� 4
CA
`?[e@	$Aa1J%���>('4
,
#%9*
)  �%J1b@$	@e[?����2"&46&762?7�Α�Αr�
=�s>��Α��]Yh?.
����2"&47#�Α�Α(U�U��Α�ε������.6>�%/&?6''&766'&7.7627&76"&4626&'.>;4'>4&5'676&'&.'&7&'">374'&"417670.#636=4'#&'6767-

	N
!	)!
��Α��O
	
	

	
2

'	/].('�
		
	
	$7Α�Α��
%
	 
	;	3		

!5
n*%#����X%&5>56'4.'57#.+"72>73#.'&#;2>7�
��h	
�X	C-Y
d<H�r~		
�
KI�'
	$����"3CQ[2#!"&54635#35#&'#353732326'454'.#"+54.#"5#3732'#52#"&5432���L!�++(
.�
		uU���`�[���<)�UUWW*


c$	
*�
\1T!*
���,1:Gp'"#"&'*#./&'767676767667./"'.'&>54&#">&6?6'�6873		Fm
	 D)#
!

{�
)S7�0;qPJ6I;J$	0_
3@!-
"!
	$�m>!4DUB4A%"2(
9�f
-

N4J)l^8Pr1N 	'����7\2#!"&54636&'.14"&'&'."04&'&7676&"&306/.>1276a,8'��'88'�*$	

/	$|%Q)%/�,��'88''8��IQ&/)

HQ&
/)
����7&7>7>6&'&6�W?_E#ZZ#W?`E0�4P<'D,P<;Z�W>VFe	W=WFe	�;X"@'<WN���#'"&4624&"26%'#'#7'7''7'�Ԗ��v��������W%W�/213DEDm77*Ԗ�Ԗ�\������%W%R^ddk
|D7�����'0=DMm��6&76'&'&76.76$&'&>.6766&'&>7'&6&6.''0&'&'.67&67>6.'&6'&'"'&#&'&'&767>7667>763266.6a
�	?�
1�m

+
T		FE&#'f*3T
^(+

	
		)		%
	,P		���		L�
9	

<	

w!K$
2?#J2$ A5
@`
b
"k
F
"K
	S����-=M2#"&#"##"&=&54622763232672#!"&54634&#!"3!26S
('
#"
&<��j��\�,�


	

���\�r\��	����)4E%&?'>.#"'6?'.?6176&"&463227.547�

)*'1''#.L+3 
D�:j-*�'FA6!!(/��
z $>-'<2#' V.

=Q C�*��('A&5*'8.������1S%01#547>73&'.623632&7.#.#&5&7067672?B.,]rvy3��
::�q�
z	���	;9v
�*)"%txBy+	�/	L""6
J4���AX|��2#!"&546367676'.6'<.'&67>4&*#"#"&63!22654*#".6767626325'&'&7>0&".5&7676��;�';1C#@=		73	��		�	*
	 )-4	%#	5��E&��|��
'!"			�ZG
	22!.;32H-"�����&>#"&'>76�MU,MU,!I}J=l&5V
$7�k4!bj4 ^
K~J4-F13!T����"4EM2"&46'&'"?2#!"&546337632=4&+"767676/&"264&"�J44J4�)�#��##-T
BiJJiJ	4J44J$C���##J#U-	�JiJJi����3I2"#"'&=#".5<>7>754.#"&'&'&76532�a_@5X"0
�D(V

L�E(�I?��		&	7��k

��0�NGV_cf����%777'77?'7&7>721?6?77?7?''&"76?6&2>77'/???>761?6'7?7''7#''767676'&76767?&'&#7'�###"@/ 
 x

��$!%
'%A$$%%6 	K
:(�		
;
��( 9
&		' 
+"%	)&�p
"?��qsvPS�xx$&" (uoV\>

&	B<	&(Mzfh?B)
 +.N--+$'%' *(?BO@		
&����"7?K7>32#"&46;7'&>.?6732+&'.'&67&2"&44&#"326	W?�		4BF�5		2�Α�Α�YZ~YZ~G	�
s$	�"	+"	V%	��Α��gZ~YZ~����2G2#!"&54637&676&+76.'.#"3!264&+&'>/���O�>V		A34+	3���`��!=
�#rJ$X!	V�!,AMan���7254#"#47632#7##"&5462654&#"733>32#"&'##74&#"32673>32#"&'##74&#"326747632#32653#"'&7454&#"733632#454&#"#*
&	%,
''
Z&	'Q

:&

	'Q

	
5
! L&
#&M]'	#
'�		L0_
	%(
	Fl
O
	%(
	Fl
# 
	
3		.		D��A�/7%#'#7'#7&74767676&'&>67'?If.!�$!e"E*;f!1+2��I:rkrTWZ�`6M&�Of!$!�nG
5%"37)*= 
!.S�N�,2.'7!9�z�5����*+%%57.#>32632&#"'>32'.�����@~6�D[5#B5��#<<#."4�)�MM�)11����6��6ȀG8*2)1110o?II?DAT�����02#!"&7>37/>16./'7'67�"91��"91�_
g	E:4)s�)��))4)��w
qd
0=
@n������/<e���7#*&'#0#&7&6256&"#&47>323226765&#&/&5&1430367636763:'#/'"'&=47>'.'.5&632#.#"#"#"&'&63216766&&7>&7�
&),(V�
2
$!!%4!!�!	
#	
'	
	3�CY�?��~s
	I4&�
	
"

e
��������	"
	#h&)?:T0			M����#42#!"&546354&+"#5#353;26'+".=46;2�

��

@(@@@@
9@(@..�
��

�
��#*('K�#'(H����?Rg"&4626'7'&'7'&/022130"''&1377676'6".#727&".'72��Α��=%
	
#
"3(9	






	
'Α�Α�*-+,-	3H	-,--	-6<	
Q6����
)5O62'&"..7>7&67>'&6'"&=462746#"&=4632>NG�I?�>i`b
UT

�	
OR^�			GE11E%"!%}CG=:�e�`
	T�
�Q

]�1		H		�

G0++0G

!1! 2
s!)2:+73272+72+732+7%2+72+72+7�"&GD~!%F�IF�GFFF(	FFyFFKYY�1Y1Y61Y�	1Y61Y����>`7>232"'.2"'.76#"'&'&'&'&547>76 '&'.'&54'&'&'"76767>�	

9C)	04
��
I!V"2+%v	�
X�	
�� ���.:G S������&6G%"'.'.567>7>3%327654'&#">'.#"?�
�";	- '48%(,
��	--
.$�	CB

TM��%

3%-L^
#5
)22	�

����#'+/37;?C3#75#73#75#73#75#3#75#73#75#73#75#3#75#73#75#73#��xp���xp���xp����xp���xp���xp����xp���xp�����ppx�ppx�pp(�ppx�ppx�pp(�ppx�ppx�����#$.>.7>7>76.'6L)5!)58Gs8	K8/fYH+�H5K;+3��5!*5!��P~F@e$>]4m��"C2.
)�u;����'/6"&4767&#"&546326&&2"&4264&">L


$'7L5-'UI�������^^�^&X

8*	6N"q߃�����^�^^���M�
 %#"&462'""&54632654632L'"22E1T".0G12"#)5##--&1F11�-#".."#5)#"21F1��q�)Xhu��7#"&=46;;2>=4#67>76#'&77>76/6.'&.&677&'#"&=46;2'"=4;2#754;2+"+"&=46;2�1/	.*75/62
G2$q%;Q�9,
7$>4R60 

&>(D�(

(		}


�				p�(		,5
+Y1+9%">,%)&".#@/	4C3

93$
�
(

(
(


			T���
2S^w�7+76;26'&++76;2";2#"&7>;#72+".>;+";2?6+"&?%2#7632+"&576&++"&?3+"&?>;2+76;2?6+"�
 	#%	
�

 (�90#	:	�$�		�IB
	/5!�
	_�%(#4

"c�#!(	@bJ(
����!'#31/#?#7�#���{p�651cb
os��t44<//.=
&J�2����%#"&4632.#"32>XA#_5g��g5_#A
6*>>*&�R#&+�Α+&#R>T>��*�.y���&767676.'&'&76'&'&0&'&0&&'&1.'241676727"#00'671327>7213"767676'&'4.501&'&'&76767632767617'"#7&'0'"'"#.76&'.'&'&'4'.'&7:30236'45"37>'&'6%&'6&74&5&'&5&76767&'&'&'&7671676'&'6'&272637'67'676&'&67&'67.4>56'&'&"#>767&R	"8		
 
�%	"))




�,H+#	
)%
  � 	!0	
			


	
��
"	
	
  
		"
 	|
]
)
;%

$X-.
-			�V


	15+*
!$% 


	
	

!
�




	
	�.:JZ3#5'.546762654&#"'3#5'.546762654.#"%!"3!2654&'2#!"&5463~44-.@
�44
.
-@	D��

�

&&��&&8�	&'	:


��'	:

�
�


 &�&&&������GL767>454'.'37#73'##".5&#".7547;2254'326&�
O
	4"�w�ZJ![!&R
T&6
�@$@&
	3+��7	

#/�

)$J���"'53'3#%#512>'.'&#4>1#53WJ�>>�Bj<3P-7]<`6[v@8S�__"JJ�=�@v[6`<]7-Q2<jBS��_����
%]$#".54>32"2"&4%&'!"&5463!24&/.+.67'"367./17672>7)
s(:=��XI
	
 ,h+.#%(
"S+
!
�

��5390Z��$KO$


	����
2+4546264&"7�\��\�Z5KKjKR�����[���KjKK5!K����#53+32&+325��0`ӽ�__q ��~�T��d
������-159=%#535#5#5'#53#5'#"'.7!27&6?6%#53#53#5'#5^BBB�BZB�BW
C)�vn8�	%+�B�B�BB�;�==�;;H<<<<d	.ciB!Z':
$;;;;;;H<<����/2:I%5!6767>'.#"&76767>357$4&"23676&/&'��YH0!"!H)("M["/��
'sZ&
	#0
162R@]R/"*4	.>>XA76�


�bD!3$4=B����
#)1AI7>77&'6>7&7&504576&'67&&7#!"&5463!24&"2Z(C�2!@�. KE.##DI'-(	2'4/0���`@^�^^��3$,K+%� 	71	�$(4
:".d %0���`���^^�^����32+532654&+#�rE> <_:��V_dQk@�F?[*P@&@a?@`7������
$,����>2&&#&676.2#".54&2"&4'3237.670>636"'&5"5&?"1"&46323&''&676767.'547>3>367.>>2'%6.67>4.'&""232>7&'&7>9
	�
�
		�


	N5j!@
	--H
 b9"
$-	6*"(	��
'
G	3	�(#	H�

l						�h

	


]
	(	
.%			�
O
1				U
.
O����
#2#>%13#67'.5!456WANdE#-�3
TQ `AWGDu�Oq�S�	.%$/	�k"/0ijY_��*�%##5#5354>32#"3KdQQ7$$

(Y���]F(8O<����'B2'&*#"&5<&<.'&54>6&"/&#"?62327i�`�L
N'B\�O
:
I
O
:
��hT{-		Fl3Z?%�
;,t<,����####5353533##5353##5!###�@����Z����@����������@���@@Z��������)<K73##576=4+53546324&#"#576=4/73''7'73733r]M;�	&55*/E

�
!	n
*+
&
&�3�"#
�32.*
 ��"	�	(�9-

-%
&&����Q�72+"=4;2+"=437010101010"01"101"1110101#0**1#*1"#"*#"#0"1*#"#*#0*&*1&#"#*1&#*#&'05&'4.#04'.5.14"5&'014&5&4&4&4&5'"&</0&1&54'4&'45"41&54&<&41&5<&<&504'41'041&5041<545&504145041<'45<547676767676767676320154+"#54+"#54+"#54#563232=4#"#"&#"5654""#54+"#54+"#54+"54667676���.;ed<.*33+
	

(,,(�4444}AOVSOA

��H�1

Z�H	LL	�����	(>.'&7667"&54>32&760m5	%#�01}~�~:c;4/	
	M`5m	#%%1U�
	19YY;c:!4��H�lw�5'.54765&'.546765.547.=46723>54&'&765>54'&76"32642>54&"6�ss�
�b5T1E9
4>N>dd>N>4
&8 iQ@i=
�

�	J15t����t51
-1d�
|h
Dc8Dr 
g>Eo\	
 	��
\pE=g
@S-V�h|JrC0-
�
"	
����"%2#"&54632&"327572&+5DDg]��\[A?&nNN74&%34v�
R�\]�B?'NpN$"q50*Y���� L'.7>327#!"&5463!245#"'.#"7670703'&'4+76,*
,!�!��!!P!v(&4
<4.!#O!C%!
5 *-"O��!!P!!�"�(*$:<, 
 
��c�0?732327676564/.'47>32753.'&"67>'.+

5'*27"3L+	O;2,f%IE�+D"(A"<-0	1'* #'Q;% 7@=���"�EA1QU.8@���%3!!'S�����6Q��!S�Q������������	%'%	&54'77E������<AA���<�ݡ�����
(
"@@���< ��@�*Q74654'.54>54'71"&5>54'#".5470>54/p
O,+!(!�C 	D�
8* >105,9)6
CF-4,	 *
P��~�&-OVd�#0��������67&'6?#64>4'&'.'&'4.77&"&576&'&'.77>2"'&'&637#"'&'.'&6?654&'&'.54746165>'&767674765&'.#'763263&67067>367632"22#66763267&#""67>76%2726767&'&#"&'&#667676;2&'67&76767>54/0&5&'&7676'&'&#"767&'&"'&'&#"45673&?67&'&'"276'&+"767#7>'12'"&/327"'&'&63=.%
		n	
%.? �	

�
(/((/	


#	




	(

	
		��	
1		t

	
& T  &	(=5
	f>v�
	F<)�


1

		+			




+			
4
�

		e
%(--$#
			
			
			

#1	
	+�
30+..+-3


!		!

	
�*+9	0@@<+*�	�

	����
���7#".5/267#"527654&654#"0#"76746767476'&#"47>76'&#"#"7676'0#&327717670767464676767676767"./3276732767>54&#"'&7>7632'.7&54632?64'"=32�%i��

	


+-*		
	

�ttD0
=9
DF9P	P


�	@					!	_P	

	
 �


1@<)���� 2#!"&54637#.'#3����Q#	%P���`�6�-/0"�g����!.'>72&#&'.=4>76&#"#"&#"0+".5&54>16&#"#"&#""3262324'&'.46546;23262�'��')N		n$p$���(&s)�k		1Fe

	::	
eF1			+		+	�����$>&''&'&'&67>./�O:
 # &
o"*>$!	
	THN(_-.R&`J7-#AM<g*:1*!<����6A%'#"&462675&5462#"'"'&46327&542654.#"�
+�
'/?L6,#2"2e9)(�s+_=>I06L2"2",8}()9����5EQ2"&4654""7676547676762+"&=4632>4.#"��ed�e�	r
X	/+<<+�+<<+y4Y33Y4Pqqpe�ee���
�
	
q"	4<+�+<<+�+<�d4XiX4q�q������=%'.7>767>5&540'.7>767676763636~*�
&
 �<,
43&#7Jc<
�	+Sl�����Lcs������� 27PZg������%!&'45.'&>767656.'&'&'.7>74.5&7>7676>367>7>72>5&626.5&6'6&'&'7676'&'.&>.'.'&'&7>36'4&'&6'>7'"76'&'465.'30'&'&'".4173&'"7<5&#>7<5"'&'&7>7&#&'342;&76'4.'.'636>&&>7&721&'&7&72>>7>.'.56'.'.#".7&6&7>7&'.'&'&36�
�Z
. 	
%g��4		k*"	6#-6, 
	
FC�
	
e
"��*)=�	
9$S

	�	#	�
`


$!�%*!
�8/V%	 %!

		
-?	
(|0

	�"^4	F
�$'?^2

	!%
			!)
�
	 
;

/	
	

 
& 	Z
)/
#
		D	'	
			$(
	
���">[.7>3267"1326'6&'&>76767>320676zX/lȯ/6#q?FpG3C		7a�3�	57K�/+&F-)
!�

.�"3	?�6ȯ/l�W8>��
6�>u".)KEP&/ 	
6
	"	!����6!!75##"'3262654&/.54>327&#"#"'��@�*"-"c'
	
!)"
		

"��@c��'  

	" 0
	+����B2#!"&54635##"'3262654&/.54>327&#"#"'����*"-"c'
	
!)"
		

"���`����'  

	" 0
	+���.D\huv?7'&'2#"&546%016"'&7'676'%&767''&>%2#"'&'&'67&54>2.7>3'654&'7@<1N/'	1;C3$)z/	
-?��.'.r?1N/'1;C3)
�	;H^uHQJ "":';B		 +#'�17D5		02J*(}1
,;,&18D5	$'<A+'

i]uI];6Fw$44#!!0����2!"&5463!24.#"326=7>/76&'&���`�

	<
!
1(&, `��.�	*L
?:


@����7>&/#"&54>32�SFK[>p( $'" )NGv 5ks6�L**/%$*	����RV\qw|���"01*#0&1"1'&547450346257622031754506105350>176201310%7?5'1&10&10'1&<15/?'575/?'75�]��a`P`a�xQQP".!/\/"�u;P\T-��."/)QQPXQ"/Ln5iooJ77�.i77b.//��\4���C".511[K\�[[V...�.[������%6Rbx%+"/+"=4;254;2#2+"=432+"&=4;272+32+32+"=437#!"&5463!24&"67>76! R-�.�0"��"/0""/>_�`N;

.9"�G,*G,*GG<G9<GW��"/0""/0�6NN61J,'u	*H3'&5%3".=4&3#'546323#%53'57670&'&=325N,�/''<*%8��M*#&( -Mo�+
'"
M/MM'�+<.#MM�(6F
4�q����	''7'7�@��@� ?__? @�$�\\�%��\�$�77$���@�2:Bt7>3>32"".''&/*.7#"4;2#"4;27&767>54&"&'&'&'.54>32v


		

���(XX
KhK
	+J+B^�. 
A		�  @  �
,1(3HH3(1,	
'
/*G*[@/
��$4/5373#576=##576'H-�m_�'&�'l3�3	2	6��%��%&���	>>	��+�+O#"&54632>'&'&'66&'.732+"+"=4+"=4;2=4;2rnSg��gS�:&.��/
.��7�&"* b1j((0((0���gg���)�;B�^B/	)1-r+&U#* 
n0((0((����3#73#3#73#����������������������!&=4&"&=4.&5�,,*+$ ,,��t������$2"&454&"6754&"6324&"�Α�Α�"!�"�"/��Α������ ��=�����%3#"&'357#&5462#5'`lAR,Bq!lhh��K
�Α
K��@$6A7�iiP')g��g)'�������6G\h%&'7&"&'>='6267&"6267.'&47>330#'236"'&'.4"'6?7*�*h+&$:FF:$'�

,d,

0��>�>,,>VcU?,,�	#:
�$
�4&&J	
�
�-F%$G-�
 -EEEg:T&&U;g�(5{

����;j"/&7676?6=4/&6=4;2#"/&=4?67#"54;23254.'.54632+"'.#"�	>

/���20����0,b#7
",(V0).&<%j�jj�
���kk�k�!D
@
	@@ %%#53%!#5#5#35337#3537#3533533    ����@  ��@@�@    �@@�  � �``�� ��````7�G	DNW3#'#73%'.'&5#7327676&+"&7676763#";2675&66'67676&'&�-093-117�)O%�X

	�
�X!=	=%&i1	%
	 �jj�rs6&'	(
$
 	$#�*h
����7FNV^fnv~������:4>'4>7"&.'."'&5476324&"264&"264&"24&"264&"264&"24&"264&"264&"24&"264&"264&"27&'&"62X
	

#549 B�B (B^^B(��XXX(>�>	O��	

	
!(;��O5005OBB11B�SStSStSStSSD'  (
����	#/9AT"&463235#737'2#547#'35##5##5##54#"35'5'57'#353#"&7'326�g��g���`o)F9{�!8)�E
DEDD$	
8�Α�� �?�.

471M/:HJ0!!�gV

	,��8�
3m%#"'67>454676765&5654&.3276'&#"'4>;>3735467;23232+!".='#"&'�6) �&.^O8		,9

�Vb
	��
	�&:/I^,�5
(<[:4%H
R		K
	�	

�
���
%#"&46323lLLllLLl�Z�Lll�mm�������"5#"&'&546322>54&#"#".672654'6r<R'(F S{VSS=>/mKPn/?@B-$9%%B&�?WSn	+?*mTX~�9Qf(PttP(fQ9,A$5A	;������!,AI%#'#//75'737573724&3>7"'&'&476762564&"C	
				
-
	�^8�8)8? 8�8��Y~ZZ~Y�	 !	
				.0_87*80?!87�YZ~YY	����FMl������7&'.'&'&"#67>3021'.'&70703'.'&167&'&'57>01&'&76"45."&'&74"'50>767>0&'01&"'&167>76'0'27:63231'&'.'&'6160&'&'61�"Q

.		K"#8)'4
		R?(&$

�
�D"%#
F
3�*
%=C"'�"


!	"
	(
	)�!	$%\

	�	h744D	"//%	,
&0		



��#	�
	
		i

�	
������@�(;%57>'&5676'54'&'.7>??;
	͗

e%'E=�^6L;/=�� 		�a

.PLI66	#8
U�
���
<97*l	#/6#	1������(-&'&67%6'76&7'&>7'6/��##i

����a�t	S	jZP
�Q
\-!1(7����	��=	�������%GV%+3'&=46;26=32"32>54'"#"&'&7>;5#54>76#'2>4.#"�	�k5656 k(((�	�%$�k38r		�?.)&&f )0��	�167
)

			f �	
����/2#!"&5463&63265#"265265#"26=&6a'88'��'88'2	8�
��
	�8'��'88''8�	
�
�8	����U2"&46#"#"3232#*#"&7676#*#"&767676&#*#"32327656323276�Α�Α�	|	<	
5

'	
#.[A	��Α��		F5	B?F+E&����!@GQ[#"&=46;2'&#"#'#35>32#"&'365654'&'&'&#"32767&#>33264&#"3264&#"@�5KK5�5KK�	$
	x		S


 #"(3\









 K5�5KK5�5K��Z
F%%"'fx����	%(%'762#"/7/7676/&'&>&5��(BDrB�fE:0
�]$#
0"-��{&�9b6'BsCf�#P%
"
!)%0
@Sk��>F��A�#:EP['.'>'.676&/>6264&"0676?32'"&'46746."&'46�,..,7�=!L>(
(?K!>��_����4
+,n"#<!#�"#TPQP$
 
	#2>F:

��WzWW=5),7
q!
����2"&4'616/&"37#"�Α�Α�eJ�
"
�ZUTK
p��Α���w(�

�cc)����x#'+/37;?'77'7'7'7'777'?'7'?'/7'77?^6JN�."7Z %#	8	8<+!)#+.|G7-+3=5PCBY".',";##B1 
"
&		/
)�@
H96�`�-2W�B����@D57'.546'0'.'&/?>54&'514"�D66&/$:MO�<)	&,$-5+7(&
,>҃�s|57"';6[<<Z�X,

&1	:%*>4*9 0*
(
<��7!>'#.'6X-~w�x2M
)ps^`	5EE"�9m<Me�>`�L-T?-
Q����
'#"&462264&"��.<Dbb�b �jKLiL�&c�ccF7,LlLLl������MQ%&/&/'"&'&>?''"&'&>?'&>767'&67676767'�-
^
	4-5
-]
-	
.-
�^]�/
/ .

0

Z

/
///
Z
9 Z����77&>&7&'&'"'3>56'.54>32@<
��w	C
!,z��'/)7
/("2 
/8B�w	��<	+)+&$
*!	"&

������=%/&?6?6/&/&?67/&6/&?6,�	�-�]TD:�4-�\_92�+�	�*��"�JRA,�V$�H\7'�*����� 2>"&462##"./567>324&#"'.'3264&#"32�$3##3XC/m1!:aGB/5�$&%�, $- (3##3$>/CO!,
k'e/B5�4%
&&	"�?,#-����A��%'"'<.'.'.01"'&76&*'&'&'&656&7>4645&>'"'.'&0#"'&'46'.'&54'&7>5&"5.6'.767>67>7>7>23>32307>302

			+%
	>59	,

	�N	
		 	'*
	
$$+-


,	$*

!

			����2637??7'7''''/'7'?�'8P
C]8Y9}�R�sf�|�1.�+l&
,ND&@'$J
.3D6
{l&Jc&Tz8a	%��E�a@NZamt����%#"'232654'%.54632&#73254.54632#54#"#"&'73"&=3255#532+53254+5#532+53254+54+532;2=3+"75#532#54+3#;2=3+"7#53##7373#5#'#�ApC#$e�3.5��3.5�e%"
e�<		
	



v$"'

9'9		%?4';� 6J5+#1,"10EJ]

	
		
M777H+HH+?=>
		?


	U������/#?6'&'&67%6�Dg2
��f�]��"L0
i�� �����(2#!"&5463>'."354;2+"=#����pGNhN^DD^���|��W84FF4D8����'575'7''7���X��eW"XVY@����-uKK�:55/7����#'+/39=AEIOSW]cko"'3'#4=3#&'7#&'7#57#57#5#5#57#5#5673'5353'53'3#&'!5353&'!'673'53#4=3�v0��gg�bnfggggggggggggg
ibgggggggg�
%ggg��S
t
tVggg  �
F	
#E�#EhE

#��

%JM�gs��
%	R

"��y�-In'.'&?6?>76367'432'&5676322'&'&#&56/&'&74>76�
�
4
	�5"�

�	%�	�%;
!�&�	7"





���"			���	}�����7#&'&761'''''#'&'7&'7&'7&'7&'7&'7&545'767'67'67'67'67'67'6?27777774&"26"&462654'&5'654'&5654'&5&=#+&'#&'#.'1#.547&+'&54704&5232673275#327.'&�,+-"%
$"-+3378:;	7;	16(."".(61	;8	<:883Jg�hh�OYYY|
)

�
	
					

>k

�" %$'&&&&'
#%"	


,'
84
A?GFHHFG?A
48',!�hh�g�~ZZ~Zy

Z
p@$





!eB����;Q>;2=4632+""&5&54.+"&=4>2;2"'4.5&6327632�	c 	
!"d
e"!
	 c	$11		CC		a3


	

% 	



	 %


��UUvv�����3Zes��#'"'.5'7#.767>;6&'.'*?>72>'"5&'"&636&'"&63&&54&#"432'.'&'&'./&6762?6�!
"J%	
	
$	0d$#4U 
I,-)0)
(D@
�
+(%*//E4:L
?


	

	

�}\&

	4 " m0�Nm([)/)#OO
#f 8!,4&	;C
K�"


		
	
����22#!"&54636'&6'&'&6323276���L2C!	%.B@���f�@N		 *h8
/>4VR��`�,U7"&/.>;2326?>;2#!"&/&;2326?>;2#'2+"./&#"+"&?>3i7!$$!	8

h8!$%!	7

�8
!%%!
8		`pK
K	p
pK
K	p
�pK
K	p
����BRa2#"/7'&546'&'&'&'.'&>76'.'&'"#"07>2#!"&54632654'&"7�m'(N7$2
�			


e���B^0.�]T#E'(56M
0 &7o


	
��`��]A@1.]A+%R����/:�''#/'7''7/5?'77'7?3772>54&"''#/'7''7/5?'77'7?3/3267;?3?'�	

w"/!!`/7'6''
*
$%7&66'5%$*$/>,%:
			B!!/!(
#&4(66'2#&)'$4'4.
:&+>/#����
@J2"&427&/7654'&54632&#"23767/"&63376>54'�Α�ΑE9k�&$DC?P@W&G9<		R0"%<		D3<��Α��gAl$+��
��	G�J6 #;-�_		��f=92%+����+AQ%'&'.547>''&'&'&7>7>576'&'67632%'76"&'".rG;14;3
Y6T�Z!	69

`+#��	?y2
1)�W $	!/_0R�mU-	2G)" 		1A<"Rx(
@�
	


����7#7&546;#5#";�W@`KU@R7&2X���&gMT��8;m��.�533�p8R^4y@�*������<�D/;C\gy'&7670#1#"&#"#'.7672326732+#73264&#"&54?54#"#4>32#5#'26="#532?'3373u

nI%*#�6&
"n3$#5	"!
9#$B�M%�&
a
	J	�ss���@�'DPj|+534?#"7#!"&5463!276'&5&7&'&#"&#3262327674&+3532>4.#"363232737##'##"#3267.M�� ��@
	
	
>




�3
Z
&			f$77Z

��`�

W	(	B�/
	cQQc��l�'.871#"&767672#&'.'&763276&'6�" �

_3+3U*'(%+}"
�
3>Acf5</x1.BAa-��F29H7.^
J'Gyd����;`ko������"$'"/&7672?6=4/&6=4;2#"/&=4?67#"54;23254'&5432+"5&#"7#"&4624"7#&54+#5322&4+3%/&=4/&"&=4?6;2%/&=4?6=4641'"#"357057&=4/&/&=4?6721200#'"=0/&=4?6'3'<::9:::+
7	��%$=>O===%.�$>%===Q�=>==KL!B!!B	BB	B!!B!B	)
�_,		,_$$d�$$G#	^�

##G$$*##F$$6����-W7>76'&'&767654&'&'&'.4&707676'&7>7676'.zZf�VR
%&-
X+C;0-@(7!5
�cRr�c�
v`Y�!
FE')#+

FF"U


8b:;8 0
-;:.IX[x
}���<JRZqy���������&'&''.767&'.546767&'&67667>'676&'&&'&'67673276767&'&'&"67&'767&''6&'6767&1.67&'67&'&'76767#"'6'&'767>54&'&'2&"&462�*47-
;!!?	+52*			@"!;
!"

0�
'	



.
�		
_�"!4%


#*'z""
2
�!##	',#

}&&),0$>*		,*	*?C-R'6�
�JF
A

aN3$
��"! 
d	$10." 

!! &&����
#'##73'#'%'7>�MxNyT)A���<�
�� QQ���	88	7�I)P����%+5352>54&5475&54654&+532#"'73254'&'&54>32&#"23#"=#";#"&54654#5654&546;7#"'73254'&'&54>32&#"'2#327#".5&634#"ej+"*	
	��
+

K�+	!*	
	� #_##-9�
!			!
  
"	!*"	

<"6�	
"	 
"
!		"�
;"	

D+!#
&%.B��������%72'47>&'&'&767&'&''&7676767&'&'5#"&?#"'.7671'.7676727.'&67676'.'&767>'.24767>2630>201276705076767>563206767632266'0"676'&2>65417654'.�)1%#


	

	
	<
M	-# !9^Bw
;/%H
-HWhK"1:!
'
$�r 	
"�p[
	EW,
$


 	"

( 

		%
>%$& )75"*)V	Z""#'+		

V

	
	:
		
	
�"-&j3
2

��337#'e[��08ਨ6rr����YY �� ������?''373�&&&� �� R��0n�\\�J��bb��$��BB	X�(	0D��7'##7'3'373537#5#53".46767624.'&"27>"&5475"4753#5##5353#5##535&/3#5##535'"475'"&5475'&5&5'43>?##7#'#077'373'k4>>>']>--�)d�


			
				
	W


P

&	&
	P

Y�AA?>@@�Y��**��c+<�``���ttt%

		%D		
)��)
Q((+��y�y���%'.'5#.='./&/'.?#+'&6?#'.5'"&'&'&'&4?673676720326?>7>;67>2?>026?67>?6766>?4567>72>?>7>3>?>6?67>'&%>'&>./.677>/&�
			:	

		
	
0


	
	

��

	

d
	�
:	
	


 


		
 "
6	
	$-5:/


-=(	%1%

m7
,�
	"
	����.%#"&#"##"&5&54622>3232632�
7%H2B"/"
%P
C	YNw"" ��p�7#3#3#3#5B22e3�3�2~BL�L��L���
L�)	?G���7573'7$"&546253#57'+'.45454>;654"2'#''.4547&'632&'54#"'&'#5.6?>767>36'7&54"2�&&)6�::�:Y
 	 k
 	#A
!	
:2)@&
 �.�`

x

�nn��w		Z((
T	 6^1J
	

'9((
��y�#'#!3'3��Y>>Y.CoqD-���tt��X	<�D>RYhsw3#267#"&=6&#5375#"'53254.54632&#"#327#".5463234&#"'2#"'5362654&#"53�""	
�
,&_,��!SW  %"X.
	
q$#,'	r,/&&?	
"�*	)g�;$
$^	(
*+		!$#..3+%((2
�{B	!����v�!#"'53254.54632&#"�!090 l\QKTH7 090 iXLBDJ1%;(KO �.#8%KV�$����#327#".547>772#".546�)3&R$Y;	
:F${�%
%rYW@<O~�44'X8,=Er,Yo���97632367676"+"#&#&'&'&'4'231'&'1#"#&50=46;230>76700137654'&'&723230#"#"'4'"'&'&767621450454&'&5<547676362<=4#"&'"#"76760"&747676'4'&'&""#"1"541456767632'00?465632132'"'&5<:232767>76'&'&5&3232=B  ((TO+9%&)'QA�

		"
+!	�
	,	
#	

		


�##$
	{
!	:I�
)**
(
j		



�

	
"	udZY
	
IH5��@�(8r��770=476'"'&.7676232#%#!"&5463!2#0&#"376767674#0"1"45.'&'&#"#"6761323250=4'&'&'"&+"176760"1&'&'323254=01767656'&'"'+01054&5&+"&'&'&'&'&230;21676767676&7&'&'&32376213676767674}�	"� ��$
		'~%
	
�				�AH((926D # /$.

�$#


���`,	Y2eT
<j	Y	T�<
�	
0

��8�%'7'8�������]]��\������2#!"&546337#53'#35�##��##�Qo>BvX�`�#��##G#W��tt��r����2#!"&54635#35#75#75#�	

	�l	

	�(�xxxxx�
	�l	

	�	
����((P((P((����27%#!"&5463!24'&'.+";2767>5�__��`*GrGr�66�`�;
,<,����!!5!3535��@f��YZ��@
Y��YZ�x/[nz�+"=4;2+"&=6/"+"54;2632##"'&=463276/&'&76322'&"'2#"'+"=4>2654.#"&2"&4�))`

))$�	$!5 &!+:�.?@-!)# $$$�"��
#�	{�Q�#"

-

i?[?Y�+	�%%3%��i.?f{�"264%2".54>6<.*#:>732"#73262#67>'.*##%64.*#:>732""#��������W�VV���V);GR:
x!G 

	�%			
%
%�x!G 	

	X[z[[zk-M\M--M.,$ �	Ge�6,�-	"`?	Gd�6,����(#"#"&462&'6.#"3762#"&4:
"#e��ˏ	*?"B]]B%R:.):

�ˏ�f3."A0]�]�:)-:R��@�!-9EQ]i+""'.+"&=46;2>354+";2=4+";2=4+";254+";2=4+";2=4+";2ZI>=2Z�$88$���������������#(�.##.��@@v@@����'=Ohv��%'&767>;0?'.67>'07>&'&766'&'"6766'&'&7672"67>/07'&76>?'&'67'&767Of9(
)%)RM
`	0%
Rw %	=eC
!/0'G�22+!)�.�46EF$�&�S4(�
	YK$	
B�	
	

(27@"�

 

G2��##
<	
-

	Z
�	
	����G1&7>01'&".54327>3270>7>�"$
&',5+:3'<#5	)bBU!1&A5f7
"2�B
	7 	`	fX1!"4(���� -%##5#546;2'42"72#"&546"32>54&;M
ffEE#i��df��jVuwT4]:v�fxxf
9##"��hk��ge�-zQSx2^;Uv����)B2#"&54632>7'#5"'774'&7">753&654'&�i��df��VxS/"]')""=j@_$" #	0-;;��ik��fe��$Sw)&&"
�]+''"
9V:<����13M2#"&5462>741'#327#"&'#53<5#53'7#7654&#"67632&#"3�i�0>J&f��j!<%"
�[8
%-GAxCN�vUl>Q&:"!F��i+N<,�fe��=#82.50		#Sx�<Uv]$	*0
	
����!%:2#"&54627'##5#535'#53'7'7654&#"'3733�i��df��jlDR@=@@:	x�7@evU :*QB(+B?&��hk��fe��=c$$88''8 Sx�3-Uv$3V
`t���� 2#"&546"32>54&#5#5�i��df��jVuwT4]:v	�����hk��ge�-zQSx2^;Uv�++P**����#72"&42>7&'327#".547'703654&#"632&�Α�Α�%E5�$!.&'O3X�wS4YJ!D. (0
��Α���/` ,4##0`L0�Sw2*!4)����(4;2#"&5462>54&#"2+5254.+'2+#526&+�i��df��j4]:vUVuw�FF56"	^2
"?
��hk��ge��=2^;UvzQSx��l'Ol.,�C)����,37;2#"&546"32>54&#".''574575#5'?'5�i��df��jVuwT4]:vM :D	@?;C�qq(%'Y-��hk��ge�-zQSx2^;Uv�F
@F>>f,.-/:5++����<2#"&546"32>54&>32#".'332654.#"3'�i��df��jVuwT4]:v�$#5<*+'>4$
211��hk��ge�-zQSx2^;Uv�*++!;(.$.(+",11����s2#"&546"32>54&2742763276;#&/#"'4'#"'4'"5'#"'0&5'#"/+53767463274>276�i��df��jVuwT4]:vQ	
:3	
				
4-
��hk��ge�-zQSx2^;Uv5l<

P@
	a
,	 \

LH		W_WT

Y9		LbE\Pb
����_s2#"&546"32>54&3#&/"/"5'"/"/"/+53767627427627>7427624+54"#";2=�i��df��jVuwT4]:v;33+F��hk��ge�-zQSx2^;Uv�,S@:HQIFN+
I	Z

9PCT^-
E3
]	����4<@2#"&546"32>54&2+"&=#".=4732354735##3�i��df��jVuwT4]:v�6��)7l�ll��hk��ge�-zQSx2^;Uv��6�6se(C�����(192#"&546"32>54&2".4>"76'&3254�i��df��jVuwT4]:vr:*		*:*		G,6%=	
,��hk��ge�-zQSx2^;Uv<+/6/++/6/+Yd
	.i
Y?�A9AMaf3#7'#&5#"&547#"'#6=3632672354#"#632'3264&"75"326%673#"&54632'.^"c$=) ('  &.
C)!"C0%7��--�/�d)+!*)*)$+"--�6t
B		
�P($	!!+m00)!$*&&����Pb��$2"&47'.7654'"1'&7'&'54>767'.?4763226?6'67'&3&545'7654/&#"32?32?322"&46

�$

.<�,.


	
(

	7�
�R"#	e	
�5:0'

&,!K<
!"70$

]

%�`

t����4`'2>73'.45454>?62<.'&'.3547635476�
A)fM
316

.�/KDD/.
H2,
%-7..�-

 4r
??$r��E�2EK%#'#5.5463253:654&#"22>54.*#27&#EXCp(!%cf��xO�N�-E8�
		
Ft`[��
	
	
�R9rK	>>lGQr4ZC'A�
%#HBCN]�����<_i!!%5"'&'>54&#"'22#23235".4=372><1#3#"=463274.#""'5632��@
<		$


d

%��@r!m.*
�
	
 -E#���#Zf7'&'&7>'&'47>76327'&5<5&'&"#&=76767676'&76760'.67276�3$#�(f42,E%? 	d(\N;	,:�m	�4!Q!e"(
!!%$,y.	"s7%G.
+'
1+1,i*4
�
 *%����c2"&4264&"2"&4264&"%'''"'7&'7&'7&'7&47'67'67'67'627777'�Α�Α�ƍ�ƍ��������||�|�J=7$

$6>JMRSNJ=7$

$7=J
NSR��Α����ƍ��?�������|�||�'$7=JNSSNJ>7$

$6>JMRRMJ>6#

��'�'?/?557`$##T))33d#$$T33),,+y�--��::"++,��::��-����CIOU[ag"&462"264'&/'6373#'#5&''7&'#5367'76?#&'%#63&%3'6&'756_Α�Α�������8-%.8.%-D 
;;	RR	;;
 
;;	RR	;;�"��"�"��%.8-�-8.8�Α��N�����r""+R	;;

;;	RR;;
 
;;	4-8.%%.8p.%-88-%L""���2Js{���3&=4'&'&">7#&#6726&'676&'676727""'&'.232.#"'.#"&'5>326="264&2"&46"2642327367632&#"'5.'"&'6�
&
	

O

	
&)=!(&?
:(!1	&(:
?&(!=""7,�

* *

�xP5[=
y!')

)&@@L""
3


++
����r%>7#./.>?.>?677'7'=57&'>&'>&'>4'�

#,F**E-"

	
&

		"????,

	J	(
&#+!''!

'5,* 5)#		0[>060+
!<-'D$0		7..��.7		0 U*1P-1-713D#
&'544J����{����&76567<'45&'&54545&567>767>&#0'&5&'&7674'&'&'&676567>75'&'&/7<5/.454'&'"'&'&?'&'&'414767676367654'45&5&'&'&'&'&'&'&'&/5'7>32674&'&762763676?32?#"367>7676767674676761#"7&54'&54'&5476'.'4'4'&54'&43607&'.66'&'67&�	

	

			I	W	D)!
I&�+%&#%@	
		
		8	'				


	
	
	&-
 	%		
9,:L�8'', %%	�������^^��K2322230##"'"'*&#&#&'&'&'&'&'&'&'&'4&54&45&547<65<656167>567676767672636212":372676767676767676767676'4&1&'&'&'&'&'"#'&67"#"'&'&'&'&#4.5&'&'&7676767"'041465<5<5<5456767676767654'&'&'&'0&673676745<5<5<645<5<5<5454512174767676763632367676?0'&'&'&'3"#"'&'.'&'676767'&'&'&'&'.'2303232763667676767464567<5<545<54'&'&'&'&'"'47676767610#4&'<'"#*#"#"#41>12676345"'.#4&#41:3670254>721633230"""02220#*#"#"14=46123#"'&'&'&'&'&'&'.50'&'67<7676%0#&'"/476767676767676367676747654'&�


(+		
5
+


+	
	
	
(!		
'/
u

		
	�	

	f
	
	


 "
		

	&

		
�			
	t
		





�	'		
2#

,A
&


-<

	
#			2



	



	
	
	



	

:
$�%	
	


	

		
		

	
&&,


 

	

	

���gm66&67676327676765&'7>767677676'4&4567654'&'&'&'5>6767`I\*,(!B.%$6!#	*/1!-
"0!(M;�7< 3	�93
-!" 



 '%!
-*6	$#.($/<4-I#"%>,14^0
����"*2'62777''''777&547'6"264&2"&4w[

[wF;FF;Fw[[wF;FF;�gHIfI�H44H4�F;FF;Fw[[wF;FF;Fw[



[HgIIf%4H44H
����+5?IS[iq��2"&4264&"%#3##5#'353#535##3353'7'7'7''7'7'7'7'7'7'7'7'&2"&4#535##3353'"353&2654'#3##5#'?'7'7'�Α�Α�Š�Š��TT0v%��IS���|S�	
�		
x켅���BT�Ɲ(u4T_Fp��?��}1�TT@s,	�
��Α����Š�¿#/��.R\8P��]		


�
R	������!3R2���RARA�U}XM<3?��8 XF	���������������''.'4.'6'777''4&467&7467>'.'.67'77'??'?67.67'''''776'7.'5'7'677&'67'677&'6'4&''&'47'67&'6	
		''
Y:k, !,l:Y
'
E
	(
!
'�	,' 
((&""!#	%
% "!=2b']<&1xx1&<]'b2=!" 
%	#!""&((
 n,
>'	L
�'
J
'? 
����#Jo�7"&46323.4>?3:1>'.0#&7"#".54632#"#7>.'.#"56&5463212#"'&5./>7>5<13L 
H-u$=,#	[
'6

0
		G+pH
�
 >-$	[(3N$\)3}

	
'4wG

	� ?.$		['21
��

	H,m����+39^���
)%&'&76&"&#'476322'"#"'&6"&7662"&31&'46&'&#"#".4>76%2.'"&'4547'&>017626'.'67>?&'&6'6720'&676'&'&'&'&'4'&'&#""#.#'"76767676.&'&27'53>2241&#"15674#"1675#K8	

=
�
	
2
	
3=E>4)(22,
,?"	 	��,& >
	8<1
+Jq	9,'	

H(
(	�((�		G
	
 -/ #

,37,!#	
:"qT1	6!Fa

-
			
	�
����
'?'2"&45'5'5'757757�"!!"EΑ�Α�;<<;!""!�""B!!�Α���W;X<KK<X;WA!!AA!!A��r�!,62"&4462#"72"&5>2>54&"�j?$B/i�h-P $=#MnNN��/B#JggJO�!#��#=$6MMmM����#$"&462#.5467552>54&'7"'6&&6��SuoPmm<S*IUH*'!.H�6&&6'=�xSQv&??(Z=*I**I*)F;����8#0#"&4632#&+"7#"'&'.5&7632�BQg��g_Gdz7%"Ab@ &HI1�Α@QJ 4!!
�

/+
"
=�����'=O?62"'764&""&46"'&4622?6"&4?622?62&4?62"'&"��R:w)�)���R)��R:w)�)���R)�i�:Rw�(�x��_:Rw�(�p������ /6=FL6/.=467*#35326&'>&'*#3533'2+5'2+57"326&2"&����

l u *		C
		
 �!6**�

l
�
m

m	�	\f$$e# f""T!&!(!55#$$.S2#"'#"'.4&54632>32>654.#"#'&"#'&#"32?3327�&1
	C==C	
3%-	$
.8
,-
:
-,A !'(
" ~/$
 N+F66E7"# -##s��  ��
�%"uu"%?�B:Uq0467>23>'.'.'&"+'67>27'#5<>7>7>7'&'&#'7'6767>�

r B	B #)�
�S$*+	
	SS#+,
	<	#�=11>��mm�	��
S{
=

>	{|	?

?	����2"&46&'&"&'.26�Α�Α�
ARA

PfP��Α�Ό'33'
1??����L#".'&4>3226'&#4&<74#"#"#6=276&#"133:325&53"�
�ga�gb�%
P%P@�&m5?�&m5?��$VB%/i$ta-0'��2�+"/+"54;276;20Cn33�E�6�l��Ά	�����"2#!"&54635#'#3577#5##R��$=>=>>>=�\>==���.���MM�xMMxlii����
#'#'#735737537#75'3#�_lVb(m{Wa�CH�U4N��4POI 6SPߌHH@�\?��q?�2��35���'�;er�5�F���=�f5+�Q
GT`�3#'#75#37'2#7''67#6;65#>7>3732#%'67>''>+#"'&'236=#"&/35"'&'26?#036�z1*aIZ=6@B4X3��	
)�
z



l

�&)
t,+<o,���^	!A"	1L3
'#(	 !
:LI
Gd	e����5>2.'>?#535#5##3#3&#"3267#!"&5463&632#"z)d
Xmm3nn\�
Q.:-.0-MKa ��))#-"K7?C�)�$	-

33/#/-$"6 )4)��! I������d��$o���(2Vl�%'#"'&54&5&7461/>36767'767'36&'&5476736'>6762#'&3&476726#&5&#0&'&#327"/67676'&7676'6=&'/7'7*#67654'&'&'&#"'#&?#7"&#572363236767'"'5767"'"'&#"#7?7>4.5#&''.#'".'&'47&''&'367.'''2>7'2&/?&+57''#776.'&'.'77#6'.22077'327''7'3''76767/'#7#"#'67&7'&66'.67'&'&6327'52&#"#5#63'647674>7632.73230765654'&6?#&3'&'&547&'676�
	�]\BA(	!-5
#!
				o 	
(	��


)/		


	( 
	




8:
$0
@8
'&,�	

)


	/ 6,	 	

	
I,,
!		+&+�
			7'F

	



(	 	
	�\x<=Z-#		&-

	
	
�
	





	 
	 !*


$&
��


<

)
�
!
$,,			

+/	 0	H




v	%03


21		
	C
	


��m�q� 1"76743765&54'&'3#6743627>7>46'4&#*#.'&3!#"#23#5232'0&'&32&2>767&'.'+e��r)"s

7S0,


t
d�	
	(	
k


IH
	

	
D-<@'�)
h������Z��&G�!-1#.5"=4547>7'0.#0>162;2='#"'&'&#"2*&543:65654'&"#&72012=432720;&'27215"5&'4327&'&'0.'#"#6272'&'4&'"013'&672=674#"#"'67625654#&54632'>3"=&'&7>3201&'&6#"'>5454'"572725454'"4732#32#*#"'&'&*32%&+"#&76'&'4#"#"#160+"72676742325454'"7032#";276"'67236"54&#&#"7636'05&#&36762#"#"43656'1"54'&767456'.7623>76"+"&3656'4'"43:'32#"#"4;265454'"#&63230#:3>7+�"0'&1&541474+'3676&'&"&5653276&/"326&3645.'��	gi=81�	aa
  .�
		0
�()'#Zc4�W
&(*'+_




!	�

"

+.e		+g!"	

&$�(
�YeVj

	U��{}~:<
# �t87�87O&	

CFGC=�#'S�AGJBJ7z

H1					
!

"R%&


)/('E3n
q!:��g
	
&3:�$&�e
Z�&"'[r~�����'<JX_l����%".5&&7'46?67632766''7&5&'46&'.<.523036'74'6'67&672>30?2&&&2#"'75'654%'4>2&16&#"&'6'3&74'&7&'&'&7276&5&633#65#6'&67"'6&261&>&'707&#&#'5063632*#75'35'32'22>=4.#":>5#54.*#3#75'3#372#".>26&"'#75'37'3'&'320637+676=40:>4."&3#.'#75'35'#6'254.*#&63&674'&':	$	'
	
	�!;//��
	
*��
	
		89e<QI4%�
#J*,-*I!
#�',')r		�
	
	
31NL! d	

l	 	<	M<N			B&&U	'"O	U,0	L	'*i
		����	#5>6+53%2#!"&546354&+32675#"735#535#57#'#r(��n0/e?		>5  �&! &�	F	h���h��G�j	}&&s�rr����!GKO'36767&'&7>672&1&'&67.'.'1'&'6	37'���7:
 
)"AJ�D!		
!&	5=*���������9

&	&K|D!	%	6
	�����	�x1I\66'6%'#"&/4547'&54>6767667>.#0#"77''77''77'?�(�
Wbo�o	wQV�RO9
� X2$s0�mC=J!q:	.>/.18'8
,-2$3
		�
$!
,s,-
-�,~,'�}%Wah���*=U`����W\by���76&654&'&#6'76"10'4?#&'2#4'5654'&'654&#"#./>6'&7'7'>15.'675&'#&'56767.#5675".'565'#34>307&'.'&7"2#04/5"267&'4.17676767#'4.56461##&563&'5#6376535"'&'474656'.#672<15&7507&7>7#7.767.7&#76&'&&561"&'2157>7202'3>17&67>7&'&75."&7#76'&7627&'24767?.3'45'3654&5473.#&7'7'"'0#&7''''7''&'.?'>0327'7'067''&/67'7"'76%63''>'2#54.#"#&'56#"7>'&76567"&�

\9+aWYc.:�	3o�I9E|,r6CIo*
		8

7	
	&



	+		
.

	
&HL%CA"	
;_
(
!$$*"

=
%[UCB-K+�m	�AnI3,MsB<27

@		 f		D(P
G,��sR	


)	1G9Si	2&��
�G�		 
	
	

-					
P7y


Y%
\*
				/B%=A=+
$	*


;

!^+
XF	D;7%+P		'/#b	(&|2=;
(P@(�
7


��)�
%'73#��� ��7 �F��!�v'a�����_j�k]���A�	2Nem���������Ql��
3=?'373'7'373'2#"=432+"54"2545<632+"=432+32+'+"5'#+"=4;2'54+327+"5'#+"?4;23'+"=#"=4;2+2+"=4;2+32+'2+"=4354"2'+"5'#+"=4;2'2=4+72+3+"=4354+323'7'3?#"&'&'>7&'.7.5467&76326&'."&'>%16767632.#"6'&'67#"'32767>.'&'&'67&'.'&#"&'67&#&'6703273&'27327672767&'6753'32+"=4;22=433'7'37'7'?2+"=4;201#"1#;2#"1#73'7'3�:aNP	U�J.

`



��--=8 "b2-(*#	
1A7 "a3+*
)(I3��*+.X&%0-XT$ (
 ( 	
4:9:$$ $$	m�6
(
$<;		;;*265@?((4$$@	!
@3�00/[+HF	?@	N>$2[+GG	>A'Q;�
">@�6'T
">@�'
	+--	_4422U?d��
3#'#<��ު�lJO���������M���
7!!"'%32#7;;�� �)��X=�tGgf G��������7+"&?>762+"'.>�2	�	}b�	�		'		�6�;���J*H3G<I����?%&'&#654676&/76/?6/????�
_
ii0
4
+&(7
:g`
#qg

]
C

 <�PHx
>

<
Z����#+37;CGKOW_573'7#'5#'73?5#'735%53#'%'#57'#'7'57#7'537'#5'53'357'#573"Lv -#78-�88�ZL B8�

���P [Z ZZd- M�!L�NZZ  L/-�!mj87,z P!Z^Mllv88�

��
-78-
M -7-
-N[[.N [[�� LG- MdO Z[[- Mj l/ -�77��* O [�����#F767>'&'./&"&'&'.?>>7076($<?W0732

'"4!
j
($<?W1193

3):"	
j$.r
BF.
r
	A
���+/48<@HO?3%3#73+732%#73#576+732#"7>533613373'3#73'3#7333#"&7�;��VR�D#d)3
F>(>�M[�pu-	�N�;�ZIIM	R�:'�(:8�^
�75<
7N55����.7"1"&5064.'&>1250616232>1000#0&�XVWAG HIgEE�SVY]w<~e�NNf0z?}Z� 48?KR^%#'#5##"&'#73&547##53#3>>32353#3733.26&#"5#535#535#737'#3'7#'#3J6@�"V#*
@511m<732	
�8w>�/&�!
�8878_18228�(.-&(..&�="!%#
M�)L1+E 3,"�(.99,"4233������#)/5;AHMS���������2+"&=64/'&6'&57'67'67'67'67'&5547'&/67'726&+"=46>54&'&+"#";2#"&#36=367'67'67'67'67'67''6765'����]��77��#5"1$.'.4178+;@H�

"+		

+>*

!!.OB		$	6#0$.(26)@���� �\8!6-�	$#$(6

8 -\@I	,	/	=,8/!

>38$#$(5*	A��k� #"&463"&463"&46;2"2"&4U2G22##22##22#�#22FF22F2�#22G22F22G22G22F22F����'/AI2#!"&54632=4"2=4"2=4"2=4">.""'&"6754"2�!!��!!�KKJC
0�2
:�<�!��!!P!R������-���
))
0�������N2#!"&54634&32>27'#&5676.7#3547#36737676�����&	"	D
 
!M	 ".-	���nr

�45&($O�$] g$
����%?&'&47677'�I��M�&��LLL�J��M�&�|LLL��
�sCR%.'&76'&'&756'&'.676>'&6332>7262654&+"3q#1+-1(''(1+,1)$
55)"55��"%%
{;
0,A@ -/";,-20-VV-02(%%������lt|�� *6>KWcm%+"'&'.'&'.6?4>7&'&'&7&7&7&7&66366632362636730764622>6626'6.>.677&'>7&'67"'67&'67'67'467'67"#"57&&7&461&7&7&5&&2656&'>7&'>&'&'&'&'&'0&'&#'''#&7676'&6&'.&>.26'4&&754&"266&'&67>&'&t
%$$
%

	
			
	
%+/:%.$
)=D			

	

$"$�D=)	
	


	7#1.+p	
g

!	-%%.%.~&%(I#1"#1"R
	&
#
	�
%2$		$2%
 		
	
	





	
	
	
# "%'^/+
/*
!#
	
	l


"!
	
	
&$(%�% )$l*'
�
+.
+�			
~  -*.
Y
$)
'���5%254'.'.#"#"&#"7#".54732654&VRB
	*6I}7+<p@"q�MSF,�/\"J)9
	)Y;;(5	����
7#%'3?3#/?/N[���{�[
�=QZ�XZ����$�f+j������	�BX	���vq&0����S����%+"&=.5462>54&"�O>`>Ow�w��()+3+�CjffjCTwwT## %%��}bku��7&'367#".#.#"#.'&676&'&32>36#"&'47>'&'&'&767>6&'0#"72##"&463224"�[&
"0
74
	1	.	%&66
*&	


$$3	J$D33?I<.$&Y

<		 

 /	E&-		0($#>04"/

����)1>J2"&4$>.2654.#"7&47'>.767''7>?&'&'&6�Α�Α3
�	
%
+''+
�
%%.R+/2.%%2/+R��Α��?

�
		
		2(^(2+�

E$4//)e4$)0��|�';FSk753"&=36'>.5!5&>'>'#7>54.46&'56'4.g!#!_J�[
!,*f'\TY%1,*"'-� $/!!
	O;
#7$�{�gh�(,�	
�+!("�'"3#E_	
	
		 %`5H%'&5>.#&'4>76;2723$#>7%!!$7>&'.#.'&�/�
%:'Y44�%f"
!���D�Y�
Q�H�5

,�]#	��������QY�%'&>?&/'&7'.67&7.76767>30767"12676326"&462.#6'676&'&&'&"&"7327676767>�$0

/

		\�Α��B 	
%
/"	g	
5!	

		'�Α�Α��

/ -
	"1

	����	1K7676'&>'&'.#"767&'&63270#"'#"&767>32�%#	�
U		j	/&'.,
	))"Bd	;179971;j$&(K.%-$$x2J��%;38,);".C%I�2P>>P2 �%$EU	���?GOW�����%'"'&'&''&7'&'&767&'"6767&667667>'&'7&'7'&'676'&'47.#267&'&&'.67&'672>1#."6&'&2&27&�{%' 44#	&W%8!4)+
!		l!%	/�
��1$Dc;8

	
4A0!"
"DA
'.	$
$H	+$&��
%+H/&;2,
	&.:
>D $1*
j+i�� 5)''
	O_JO ::+'M.&	
	3�'

����)B%+532'#532"7#!"&5463!24'565<.+:62>76$	QQ2KK		�,��,,*,n1%
.	5�Q	
DH	���,,*,,�9
(
������+9%"/&?622?62'"/&?622?62%&?62"'���/��/��/�������CaaCC�bbCC[[[[��'2+53!#54632#52#4&#4&#5�����++%@>X+?,�pPa����+*@@��%�W>,?kPp+�a����x�#*"#7&62326514.'0.'&&'&'&'467:62>7>5454>2#+"&772'.y	
mO"
	
	
6	

		 A	
(H	(<o
��1

+.
(
	
6wA
�����)Gy�632#"&5"&5#".5"&5#"&=4632327277 '.67672"3>57:>4&'."&#".''"15>7H �iO1))1�!#C	$;��<
$	C

	#NN#

		G,�	8



8}G[M{f")
	%

%

)"	

	/)������Dg����.Jim7#6236#"'&54626'&=4%''.'.67&>3263264'&562506350'&#"'&1327"11102>32&76=4.74+";257&#"32765'4##"53250<.254'&54323'06150'&#"#"'41"374+47632572'&#";"#"01376767325&#"32767&54+";2=476256750/#"432125656#&327617&#"032765'4##"532505<.2#����e@
&6
#)-("#:		8"=%"/

	#E8"��	 
	 
$

8
%"
		

	P
					6*

	/6
%$�

BT!#19:>2 1#	
#?D=	
			"
O2	2
:
4
6
85'( ` 97#"&46;2+";2+"&46;26&67326=4.+64'32#�r);;)��r);;)��H+A	v�!.$�;R;"(;R;"x3x	./!�%�����2"&4%>'4&*0.'&74676&676/&76#".76&"767>74>5>56&'>36�Α�Α~

	


	1





	'!	

��Α��


	
*	


!144	'7'$

#	���&DJPc%#"&'*'#"1.7&'&632>7>32>76.#"#623632&46646&67>76"&�>>
?%		BY0N|t&5P,@n"<2
H �[�$#.( 3�@r-*1
2-I'`��	).S>%M;* -	�!!

!!
)	(%����0V'&6727632#"'"'.767".'&63:%&5463237632#0#"'&5463033267�*P_
	
_PT-*v�OQM
n&'	(!I	�

H!n
�
��	��*&	
 ������+%"/&4?276&'576&'6&'762��		��2	

//23(	�		��		�3
{$

	%	z..	24)����
1=AE7+5327!4.'.5432;4&#"#"5#32>74&+3532>7#7#3��@�	 
	"
~4!10�0�*��@��

	D�/N��������6CNVanw%3#"&54632#.#"54&#".5467>2#">'32>54>&''"67&3>.327.7367&'�|`t��t`|nVju1_C'$-4-IJ,5.
Qhd$+!�	++*r)*"@&YvS[�tt�[SHMujEb61$'-.4!-/4
1L�$%"!D\%�##3$$�#&D$&

��9�%5<H2"&467.54>32676&+%'#37377#7##"''2+?232+7�褤��X#	%.�M&	 %$rh5\#_.	�������< ##&�ݸ%%Z##Z�T�R'#=x9c	0`9!&<FP373#'#'#%2+52>54&/+53:'30>5.#6654&#/*)-
.-,#
 

0/
�		.4
<

 vv�MMPP�'(
��

&�
m����
$.2+5&2"&45#72>54&#"2654.+')+#/`Α�Α�		�1=4$Q,!���Α������		�>*. �����<m#"+"#"&'&'.54=454>7676767>7232;23276'&'656&'&'&'.''&'7367>�
�



�
F;:
LS,
/9	
N?P+'BQA$�

�
� (7v"#N$/S<#!-c0	>#"
����S2#"&464'4'&'&5&+11#"+"#"'&'&5476?514/"73>�͑.=L(g�� 	

 =77=��f)K=.��y	
))
	)00V6��$
n&�7
,�	Ms�'	4	:Q	�	H�	:2	L�	4	
XR	.�	*!	c	:{	*�	Copyright (c) Font AwesomeCopyright (c) Font AwesomeFont Awesome 5 Brands RegularFont Awesome 5 Brands RegularRegularRegularFont Awesome 5 Brands Regular-5.14.0Font Awesome 5 Brands Regular-5.14.0Font Awesome 5 Brands RegularFont Awesome 5 Brands Regular331.264 (Font Awesome version: 5.14.0)331.264 (Font Awesome version: 5.14.0)FontAwesome5Brands-RegularFontAwesome5Brands-RegularThe web's most popular icon set and toolkit.The web's most popular icon set and toolkit.https://fontawesome.comhttps://fontawesome.comFont Awesome 5 BrandsFont Awesome 5 BrandsRegularRegularFont Awesome 5 Brands RegularFont Awesome 5 Brands RegularFont Awesome 5 BrandsFont Awesome 5 BrandsRegularRegular���	

 !"#$%&'()*+,�-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~����������������������������������������������������������������firefox-browserideal	microblogpied-piper-squareunitydailymotioninstagram-squaremixershopifydeezeredge-legacy
google-payrusttiktokunsplashtwitter-squarefacebook-squarelinkedin
github-squaretwitterfacebookgithub	pinterestpinterest-squaregoogle-plus-square
google-plus-glinkedin-in
github-altmaxcdnhtml5css3btcyoutubexingxing-squaredropboxstack-overflow	instagramflickradn	bitbuckettumblr
tumblr-squarewindowsandroidlinuxdribbbleskype
foursquaretrellogratipayvkweiborenren	pagelinesstack-exchangevimeo-squareslack	wordpressopenidyahoogooglereddit
reddit-squarestumbleupon-circlestumbleupon	deliciousdigg
pied-piper-pppied-piper-altdrupaljoomlabehancebehance-squaresteamsteam-squarespotify
deviantart
soundcloudvinecodepenjsfiddlerebelempire
git-squaregithacker-news
tencent-weiboqqweixin
slidesharetwitchyelppaypal
google-walletcc-visa
cc-mastercardcc-discovercc-amex	cc-paypal	cc-stripelastfm
lastfm-squareioxhost	angellist
buyselladsconnectdevelopdashcubeforumbeeleanpubsellsyshirtsinbulksimplybuiltskyatlaspinterest-pwhatsappviacoinmediumy-combinator
optin-monsteropencartexpeditedsslcc-jcbcc-diners-clubcreative-commonsgg	gg-circletripadvisor
odnoklassnikiodnoklassniki-square
get-pocketwikipedia-wsafarichromefirefoxoperainternet-explorercontao500pxamazonhouzzvimeo-v	black-tie	fonticonsreddit-alienedgecodiepiemodxfort-awesomeusbproduct-huntmixcloudscribd	bluetoothbluetooth-bgitlab
wpbeginnerwpformsenviraglideglide-gviadeo
viadeo-squaresnapchatsnapchat-ghostsnapchat-square
pied-piperfirst-orderyoast	themeislegoogle-plusfont-awesomelinodequorafree-code-camptelegrambandcampgravetsyimdbravelrysellcastsuperpowers
wpexplorermeetupfont-awesome-altaccessible-iconaccusoftadversalaffiliatethemealgoliaamilia
angrycreative	app-store
app-store-iosapper
asymmetrikaudibleavianexaws	bimobjectbitcoinbity
blackberryblogger	blogger-bburomobelexperte
centercode
cloudscale
cloudsmithcloudversifycpanelcss3-alt
cuttlefishd-and-d	deploydogdeskpro
digital-oceandiscord	discoursedochubdocker
draft2digitaldribbble-squaredyalog
earlybirdserlang
facebook-ffacebook-messenger
firstdraftfonticons-fifort-awesome-altfreebsd	gitkrakengofore	goodreadsgoodreads-ggoogle-drivegoogle-playgripfiregruntgulphacker-news-square
hire-a-helperhotjarhubspotitunesitunes-notejenkinsjogetjs	js-squarekeycdnkickstarter
kickstarter-klaravellinelyftmagentomedappsmedium-mmedrt	microsoftmixmizunimoneronapsternode-jsnpmns8nutritionixpage4palfedpatreon	periscopephabricatorphoenix-frameworkplaystationpushedpython	red-riverwpressrreplyd	resolving
rocketchatrockrmsschlixsearchenginservicestacksistrix
slack-hashspeakap
staylinkedsteam-symbolsticker-mulestudiovinarisuppletelegram-planeuberuikituniregistryuntappdussunnahvaadinvibervimeovnvwhatsapp-squarewhmcswordpress-simplexboxyandexyandex-international	apple-paycc-apple-payflynodeosireactautoprefixersassvuejsangularaviatoemberfont-awesome-flaggitterhoolistravastripestripe-stypo3
amazon-pay
cc-amazon-payethereumkorvue	elementoryoutube-square	flipboardhipsphp	quinscapereadmejavapied-piper-hatcreative-commons-bycreative-commons-nccreative-commons-nc-eucreative-commons-nc-jpcreative-commons-ndcreative-commons-pdcreative-commons-pd-altcreative-commons-remixcreative-commons-sacreative-commons-samplingcreative-commons-sampling-pluscreative-commons-sharecreative-commons-zeroebaykeybasemastodon	r-projectresearchgate	teamspeakfirst-order-altfulcrumgalactic-republicgalactic-senate
jedi-ordermandalorianold-republicphoenix-squadronsithtrade-federationwolf-pack-battalionhornbill	mailchimpmegaportnimblrrevshopwaresquarespacethemecoweeblywixello
hackerrankkagglemarkdownneoszhihualipaythe-red-yetiacquisitions-incorporated
critical-roled-and-d-beyonddevfantasy-flight-gamespenny-arcadewizards-of-the-coastthink-peaksreacteuropeadobe
artstation	atlassiancanadian-maple-leafcentos
confluencedhldiasporafedexfedorafigmaintercominvisionjiramendeleyraspberry-piredhatsketch
sourcetreesuseubuntuupsuspsyarnairbnb
battle-net	bootstrapbuffer
chromecastevernoteitch-io
salesforcespeaker-decksymfonywazeyammergit-alt	stackpath
cotton-bureaubuy-n-largemdborcidswiftumbraco�������4�w�4�|assets/webfonts/fa-brands-400.woff000064400000261060150753125220012725 0ustar00wOFFb0
�KC�FFTM0�T��GDEFL*�OS/2lL`1�V9cmap�I�كgasp��glyfGbߤr�~LheadLp36FQhheaL�!$6�hmtxL��_B�locaOL��^^یmaxpR� ,OnameR������postU
%�k��x�c```d�[��]ѷM��C�b�x�x�c`a|�8�����ч1����Je�dha``b`ef�
�\S��x�x�=�3!@aF���R ���|�Jx���[le�٥ҝ��3��5�
j���,V�#�D��I5D��R.�k��P,�B��� �u�(�1�n�n��,�TA�u�93�
J�/Kc�'}���9�?�N~�g� ��\k��6�N����.È�o{�^�w�7ԛ�M��z�E��j���Q�A���H3�e�Mh!-��@�i#5�v���)M�8�Sȃ�d�+�v�ws?��y����_�n�f�I��)>�?�'O�+2_je�,���N6�۲EZd�|&�O��%����rJ~�3r.�$���`XpCPL
&S�ǃ��Hp&����maK�+lSa:�&�P��f�la�,[�ݔݙ�̦��*O���T�����:�BիF���H����V�W}�hlT5E�Qg��E�Ο7�������9�F�{@�.-VI�i&͢9T���rb��;��6�.:J���8'�R.�bcx���/i�y\�K�-^�[�}�@�upʉ� ��,�b�K�4�&�,͒�b�KJ:�X�듟�_��Z,��Wk��;
��)��XqN�f@l�Z�vj�=b-62*�X�=�{�=涻�n�]��;˝��|g�S��x��>l�=�)~��0�-���V܂��f\�
X�˰
g�,���p>���8,�x=����!X��h�	��,����^x�G`
<�$���0��p?��0P
c`4�	�`$����V�n���F�8�
�TTT�'��}���N��^{��j��W�o�5v�]a?h�V�JY_X��J�yk��ZC�˭B˱�J�b�y���o~g�̹ͯf��W%�D�K��[��?Il��[,�W�����������x���	�$Gu.����R�վe-�VWז��t�t�lҌ��4�Y4�GH- ���X$�$��a��Y��Հ
Hxs�x�پ��?_��/�=�DV�L����+32*323��9��DX��}�zA�G��F}E��v4�����,
1��0��"NN4���(�	��j4a�و�js�mD��,l�j�(�Q����9�m���<��"z�N��z��Da��UC3#Z�$J��R�dk�r��(Z�Ԝ�-��v�Bv��B!�0+����'�a��F�lm[U��{�~3��d����UMCS�8c�LӲl~�lkHeC�̄O�(n-�ڒ�s�%_�$��B~7
U�$��Ի~���,(B��K�����	)a\�ۅ��A�jAHu�V���co����K���Ü��~����jF�w��"�=U�$';�F��
�y�ʽ�i��;G^<m��&�y�Z5��Z,��G�r>-o\��_V~��O�~׫^s�O���(W��'�(�Z�Ї��h~��/�<��8q�n��2��q/za�ș�o�y�v�d��b��!�
�oAX�z7� ��Dp�Fĭ7�v������jT-\��b��u;� `�N��o�'Q���E�<4+n��|�ᓋg��tO�(���y�b���1���T
i�E�A�?z|m��4&���:�O�D���qؠ�ɳ
�^B/³�B$1s�*&bٳ�fAf�p�/��2�5�v�|��5�خٍ�4��6��/˥j����h����-����]NC�<WO��8�x��ۢ ��u���_Ч@,�B�#�5��2�P7&a3��&C�\,�����S����}���>�ZG���J��u�w����6��;��A ���I���d^�}x��l��T��^U���w�w}T��es���f]A�ަ��������1���~>xٿ�X���$F��a`��4��<����f'�� F��u�-�ft€v�F�z��>��Û�݁�G�^�������	:�T~o�T�*}�R%���e3���z�����ڝ^>�m<˷�J��I�7�N����x9{.*�'����ܤA9�;�r���Ar/"��<�n�@�ܿ��Do�V���
�B�-�����pm
��[FI_��=g1~�:9��<��l*D��p�	�7`|�SY��D�~L��s�t�|�f-��eؤ>Nd�1��Z^���B_���	�œp�p�  �9�����Nש�@�G�j�:��l�䵻��&fß��O
J(naf��HB�D�Ċ"T�%�zc��b��M�7�{K*��b��]���>Rd%��j:U
D;+��Bcl��+�6��>�!ȅ�xi&��|�,�1�|߼�TU��cO��'�(n\�CYO"Ȍ�6BB%9WpE�+bmU&}IϪ��}Iֹ��s�V��F*��ӱ*ISHT���t��چ��TD�o���(v����r�+h�f׏|�K��n���*�w���>�?���C������m�d��޽�����>7�6C�ɜ��[h?Ah�N��Jb��U��FLYw�����K��,�������'��+nh���Y�y�K�>{l1��q��b�����@q��,��n<2Wi'=h�F�r��^�o�e|������Ax�n�C����>�h�n�u>[�FP!�8��
�m6Pp=�{\����JtH"/���`�@�耟	�pP�(nv���7�R~�.�]�iF���
E;D~��ʾo9�z@+�f!ヘ��;�@�]˕e�>��N7�`W�����&BV��t�����Ӵ�bV�}�L���Kv�S}�ͨ����\�
=��P���8F�f)���=vڷ��﷎���*;
�_��$oC�ܹs/�!|�h�Dе�zz� z�'Q>Xş�3n'��`�V�O̠j�@.�s�����=�<tI��(O%���g\���?���>�x��r���ty�'Jh����l��.����}�Z��>��a*������}Ƞ|�S��O"���ᕼ�����A��$GP[ S���*l�~b�A�������kÅ�ꂾ�I�)b@��'Q5e��"��\,�AE�QA��(h�!�C2�!%���G�;�Z��MH�@��|8I��8�b��Q%
e�%좀����0��n�$w��x7���e���[����W�6���m4M�{d������xM�:�Ɍ*
���E�6�c���+S�V({�B>%-! .B��R�XN���^�������D�_VY���6U�2���WD!G���aՎ/^�lkC��_T9����M��f�$7�ZA����.m��{aq�!�d��R�e#<��´(�DZ5�;���y�}AUs��-B1�+���9�r?I+�QU��B�X�-gD1��^���e�&�/�HC�(\;�zp�eԡ��	���*Z��}���q�g�ŧ�|���ҔW��Sǰ:U��c�S��'t�L��7UB�������/�x�PO�\w;W�,>�����C}�����k��%XNZ��?#�G�y��AH�v��Hzx���ڂ�f\�u}��|i��+E�,��M�~mZa�x��8zv+F{����u�oW�+y�n����ɣ��i)�����?)�]q���핉���`�7�h�Po��v������oM�8��/�il���b�痆�m���N<!,�g����n�۷0�s
�"aL���g��Zs�aX�
�+���ʚ궄ѳ�'!�n����%,�ai�ݗ�,�,|�LQ�,�ք�^x����m�]«�����g��7�P�@� �h¡y���u!p@���h$���h	ZK�灑4h�;`����^�6��9h0�A�Av�U��U
������;O-ut��c��iL���唗�lE��"{���e�*;z�Ki�"�.��D��+�0�?"�	LU�8.������x�ԩ����UT���*#�.XÒY��`E�f*N�)?(�V|s�+HuC0������f�PQɝ�П�e�ǀ��F��Ɔ}!��w-�l"��@Cx5�L����{w۫�{磾
8�L7� 3c5_���O�J���?@c�ҿ��`M�����l��|fv���R���h��y�s���
}^(B��(�y�,v�������%����o?������.t����O�y�iA���.�1�ˀ�z����} mo��E`ƀ@fhh �
7q�l��n�%�
�0B &4�ʎ�(
���Pp�&i3yN2,����}x�q�C�h�H��Ơ�$�{�޵S���5���O�ziGQJ�K�T5�D��*uAr=fQ��c@w�]��wK�W�/�X�"H�(�����A:�(���5�a9�r��G2,�W���`,玲R�UQ�H������2=E�р�X"�+��ۈ�8�ȡ[߶�����
�q�M��0YxhC����e ��Y��7��9��
�C��r�}�1wQ���Έ>�=
�€~��F��6-���c;��,q���nkޯ�n b�RKu��b������F�o?��et���[*̩�␈$�N��
��Zˁ�T�YQa`U:�eZ��]q��-�� �D����"��?�������%dJ��6�~$�����j�r�>_9����h�R��y?
R�R��,9Q&�!1�$$�l�tW-��nl��G���4��!	+�+ۦʽ|6�E9�(�yˣ��F��1а�Ğ�-:{R����
؄��-iP���ܪ����oծ�N��s$�u�N-��s����
�s�f��,W��Sp�u+�]8�p09��_p/:����`�J��%���_�<:J<�]�0���Uw�u��^�U�˻f;�t�m��x۟;֡��z��N�P�V�����6��u��q}w�FN��o8l[��Cc
ˁw漹���N�j��T�ʠOa�w*��Hm��ӡ�&��r`f������s�D�.��
�x���9��%xGU�
���GG5ݑ@H�j�	��_`��ޜp��b�v ��:K�1r�}�M�s#4�Rr��8��[��t:/{��f&f&�٪%7Wƪ�ЬI�:��'�v�=��)r��{�Q�Қ[jn�V����c�v:lOU<�f�֫�6%���L�7D�M^]k�j��&	���
.ǘ������
��o]�#�=�x�¡���ѽK��!���n�=
������#Lx�U|Ap*�5Q�]�uTB�e5���}�C��O��i �����"zv��^��;�L��/����Q?)�Aaq��˨�?���_��������k�r����������AR`�7�̴������X��
0��^���H����{x�"��:��D�:�MR�gt��lƘU���9��HX��a���g �m䪾��URN��;0
��n�.�o�������y�d�Ol�z]y�%fz*g����Y5�`5�r=#*����
}I&l: �5�+P���o	��%�=��;���l�7qxҤlʽ}j�7&�*������7�|�뵨�*�'������Z��f25<��?:x@��6�=md'����Smp'��=��0�93h	soC'��.Y�A%�s�P�(���	"�U��D�=�L]��?>�+��$E���>ۏ����%:�,�<�s�ܒ����:g�S�=@����,�qY�[@J�|�H���n���<{����r��@�GE�=�*�&��ѫ��kl���%�B�f��!��>�c$����w��a�?��#G
����0��렼>�Kh.#�K�=l\��p�D��U���d�?�<���{����{���o�Jo(~�v���g��n|gl��}�~��ҹsɘ��.���{مq�`�k?䝠�J\�-�z�����^���(���<fb�y\���<��c�4��nm��KSSKS߷�N�x�m�=��^1l�RI�֦�c��%9���QF.鐋����0�4�l�]�%�v�����\k���G+z����/V���m�\�I��%n��Xp�~�6���d/J?+{�Q]m��VI�կ���%�KD�/�In�)GC����8|t!����m�q���v<��}?���w��X�H�ox%?|z�?�a�WR�mY(���6�'�a��H��[�\9������P�ND�*���ѳ�@x�!�z#]v�{�|g�a��yЫ� <	��U��D��^^@#����w	h��+KEcF�&��v��U�pTQD	b�p��)u]�պ�ޣT�:�2[����AC�v�c��v�;<p�ް�*��|��E��F���=:� q�Ѣ�6r��һ0�e�9���6��Iz���S�l�!x��0ƙT�_�?��Kbx��|C�>«*@�����r�-�-��Ζ���~P����m�X�)���B�*�J��
&�˻@�C[Ic�;d�lzh�b�æ��x8������?�y�'�A7d?��_|�ЯT�7�9a��7%:`BjCl剣=w�6���(̅w���8��6~�Z�k�G������1?K����WP�B�x�陛���D���rG$��C���M�
ʹ/�Ϣ��3��^'<%|D�R�8Z��=.K�LV���CYu�M��z�74(
���-� �,`�}��f	s��r�Q��m�Eh?���*
m�h1g�py��m�
�[B�Tɠ1��D�q��3�o��C/ �;�ܶ�,����$%5M�����<��z/y(�_9����0i�x��y�k�~1G��NS�����LN��F�:4��U�u�,U��)�~�Z��0�d�"�DQ�&=�ժd²!�U�b8��7{Q�2�SJ�"�X�\h�TE�(=�Q�m���)Q�DK4u݂�Þ��2V54�pg�H25=�)���*�&Q^�h]���W��������R�cG�d(����	u3�FDCE�%Qd6
#4�J%-L{J�?'�$����/,2&{�i�%��W]����ߥ�Sj:�b�!"�B���#�R͗lYd )�-�.����T�TC�-2�9M�y��c�9M�D�PJ�wvB[�$$�*p��.J�̰&"(�N��s�#Z_���R�A$	d�LQW��D-��Pח�O�nz��Fi�Ϧq�����wi-��rb�T���v�n�,U�E�S6��iX�H��'���15GG��Ī�eުLTU�cd�S���x�2U��a�v�sw`�Ça���A�`�c��&V���G�,xOb��3ԝ�e��hw��d�;QlW�7�~-v{�L}��[�v��k�f�����>�X��'�T���QF�[��95WA�o:�X��RS�2&�W���.o��{�Ul���	�����0�"���%���nx'����I(�QT	G�C7�h��j�����7��NH�c:҄����LZ?��(rJɨ%�э����jZ��Ul�VC�#~x>u���Zd2lGR4�.��k)SU)#IDSt˄;�F�n�C��/XN즅L2���M�}���.�%ĉj=�3��VH�k�<�Ƣ��@p�`x�LdZf�|
S���'a�W4"����R��/�l3B~��Y�>�.c�F7���2�Xԙ�+�(�0��#��Rn�R�-�{�pp�߃����q���c�aw]�r�[Š��6�+��	[;�ٲ�`���`����J��<�W	㡱���܆f���j����%o�鑬|s���]�v	�}��ݓ\�M���<��HH�Š�7t����^9������2MES�!{O�v�w.��N��4xa��Rx�zF>�{�Y%C��f҆P<~L7�
�"J�T�Z���]Osuٹ��j�i�[�4��nS	8)�x�vSnMQXj!�.�ֻHF�J�i9#�z�6̊��ڶ^�D[uTc�u�q��U���E��;a}D0�����ˀ���LnL��87o���Rs���hb�$U
�b��f�F<��$��
^��c��qchѻi&������5�t��}{��%kq��iU$+�=����!6;;G6�S�X7难�\
c�X�ݨ�J^��!���	��ʋ���<WS���_�����#���iR�0f��'[��2��7��j�x���A�8�����岲�E����*{�CdE��1�P�~FP��yx��n�	[.4n��οwpu~p���eM[��__4�c�B�G�;�o�m����Z���1����}�c'�C@?�=t}��SAg�ᠾ��w&I_Bax�ڒ��8�[dz���ޒ�	M�ۗH��Z��i�,]?����>3e��z�a��u�a��q���DD�`In� ����F.*N��&3��h�on4�*��=�.��AU��kS�uD�J�A�%C��D��YcbrL7P��X���`1��z��#;�]>�El��W|�Bf}$�+~�_񛝠�*\��3��{�\=�qzfG��qS#woPh?�,L9r�#��A~���y���D'F�j&�~���E��*�YM[��\�C�ھU`�/B�U�����+�_\F�
E	��D�|ˎ����G�J���N�f��(C
�Ix�U�r�(�Ih�
9���}wH
�qM�-�����8n�m��1���(���k�|ޝI�|37�� 1�Bܼ֫����w���Ȼ�^r��s��n9�Y��+�0r��W8 9���g�f�T"�#A7�r�Mr\��79���gp�
\���ަo$5b�K7V��v�/-#�lɖ4�2�?�`9
�\�6>�=	zK�mBQ�X�iv���^L�›���
��=�4]uz��#�QE�'���To[h����ԙ��o��XM׆~��2��6?��~*AiB�%lo��I�؉����A#{��}w�w�_��#����nd����Ie[�1������'
^�M�%�{�A�~����HW�K����_�1�ˢ�N=qm��=֮*�����z�V��x�?ɪiݷ�j�?Fc��D?�v�'c���Zh4��1�~�ѣ/;���g�߹V�f||%�Ky��/���;JZeg��x����f������� ��!��U�h��f�p]
�>��D���6U9��0��0��?�M�7HZ�0�Z���f��v;5Ų]j�+�ٚ�@EIr�9��Ec���T�����=����|����g�&�W㌚.�L��L�{]J�����)���I.V��m�t����뀦�K���@�4χw����
��	ب��񿩢���P����d�1����Y���'�;�����&Sk�Yx�򪄽AC�R>���C�f�-��JAq�iJ��R��b�p����:b��ۂ�;�sZ�"�������J��}�8�ΣX.�<Aمq�:p;���j.l�#�ɚC�@C��O�V���TK���_��T5�*y�7�{���''�/�UU�n��&K/c�l����U�)MzQ�gϡ��� ��<gx�0��`n�N���%S;�#��Z8��觫�V�=x�ǭ�Z�i�^mk��ĵk���j��h��ݼ�̗x�?�ڱ�ڵS���H�^^��YC��ÄՅn�0��W�s(a>�M
z����З1oeJ5cB	oJ�m��5B��g
��%��c���7%�S����l��ߡ�,F�!9����9Z��M��_�n?�!�Ã��n28�>z���<��K߂]���=� o�~�M�N��'��S��?{8�����pQ��,:`A�T��\W%V��/�=�|H�E~�/��!�G��	��24�4c7��(��E>�٨z)g�k>7Y�"5�bO�K�R
�u� ��n�ՙrP��o�]i~��\3��@ꎝ��D�i����/
_~�ϑhv�W�3�I���,�{�߅����s�‘'k����0�SZ$����J�A��(�
��k�7F��Ghr�&����l&n�M�06q
��%�8d!\�z&�~R����)��n̴A��
唚�=>N&�ݑl�LU���3D5I��R�7ZP��%�)5�+�"�,E�<v��ƖeTaT�r�ͧ��U��6�eICн��5��g�9n�vm)L�RQE��Y(��W���,y�,H�H�-�@��Ul�A�2-�H	�b�!!���\��3DG
Db�Of��%�¢�}�k��d���U�/�A̠OQ��L�9�T��\:_1+SI�E@�УL�ú(�Z��"�涫P���LK^�[K�O�]�Z$b�;�з\y�=-�	�|4
�&%'NU��$�rg������v�8������*?J�+H��1�0t���������l#��.)[ڤ!A��5�:JĿ�!�"����`
���:4,���vM�N���d���P�6�/S;�o��@}}"�͌*�6>#������:�)����H����/O�3�jM5�0�f���?�?�f�1��!㨯��p*��,�I�>G�k�� >9��'��9˜A1g��_�L�7��8��mr��tXSN�Wo��Vlϐ���6�A�T�tT��)+(j���(cf����|��4}B�����bb�/Q�3��LU+��h�LT�).�i�S��AV��>b�-xIp�m�Ӽ���I%�DF`�f0��2�x�U�(�W�x
N�4�>�g��t_2#.���-l$\��⠅;�^v�(�_�z,�Ӹ{��.�����؇_�{W���mG��zj�B���.Yʟ\ܽw~~�H�L���=���X��C�c?ӽ២�Jr�*[�՗-.�*�L��:�*r��]agAɬ��h�^'�3(l
���m�t�A<��N�#����Kӭ"�N�ޘ'��y�Ve��WLF٥�
�wז��T���U�R�7�7Ӌ���i��U����q�H�_�O�''�v��fd5b�l�Q�C��Շ�N͡KDm0�����dJ|j�p���(F=�ӴЏW�Y;�����&��m�x!�=*���3Oo|�*�Y�\O��1?��M�^��6���^X�g��+���dqmk6�&��uo|�o�^,P���9��zU�W��|�����%����9�(y�0p/pjD��/}A.7��Vl�:<N������k�
ב�m2�kH*o���z����-H�U�v��f2���]��S�l�a��`r�f[��n�ͱ�6ԫ׺�:�������z/[�fS��o��m�
3BKX��;���=s@s88���̑��U��0d��Ѳ�i�o�m]�����r
t�׮�C%��G�tH�\��+�*8�W5�`ӆd������P-�mK)��)�$n��
`/�qe�6��q:�2؉SʩS��g�I�t�ճ�a��g�xԊ��g��B�y|ۺp������;����D��AWj�=xَ�hk�vx�$�Q��.�1L&'�LP�����0�3���l�3 �C/�#u���7⡾�o�ws�����T��F�O�r��$�K��@_�1��e��=���
(WVx�q�/���0&�=����^Wi�*���l|�dm�-�y ҢH�uք�}a�NQܹC�n�)I;o����뒴��t�"����d���*!�������K�Z��r����Ra���`S��_��o[�t�m�fʕR��e�-�o�!�;�
P��5�֞f"{�'������a�������"����"�&�� ��\&s�D��&�5�2car�T��g��*U��r�t��أ��i��.��w<ޟZr����_�V�\�ʦ��F���`���3d��Pj�j&9�Jlq&i�e4(!?��,���&[F����>C�KU�^�>٪�������r�����W\qSr��TF����3���3��{��.�/���,P���|���0<�^�P?E��r����I8+�v0F|�c�>Q�u61�H����t9]�8Г1����å��CC>6��L됃�UK���k^�'�9�U�fcFΌU��dž(�\��T�_���1 *�Q���(�fn��~ٞ\��+﵊E�Z銅eBuɘ
��ԋ�U�mj���9HƲ"Vg����5�o[�h-��|��CW��ʘ���1OҊ�zFQ�`L�g��tӒ���"��{�r��SÜ^ɹ�
���:�52��z{]uy��$�Ҍ+O%���~�W��'��U��άI�H�^���3�G��ERB|�?�a���� a!fG�&�
�@a��3O�#��hN^�[W0�D$
]=T�p�H�tzJ��(�#���R�:�cj�@���2�1��l��[o��Lw��S5P'5�=K�4O��D��%E�v`�J������ɲ=�uT����17k��r��w�M��+��8��5�r�p��8TV#�
ط���Lle�:1��,�q�+�*�ƤARe�P��R����y��I8���+78'�����˅�NjlRT�S��mUM�o���\Ζi��o�\k���-��U���ϧli�8��]�a�r���|�=���nܼ2��
3k��RVYQR=;m�ii{Kz��x��ؚ���XJgnnVF�/�N4L{Mk�Ҟ�.I�s�`F�l:l�CG;w�*��
�R��G�Y�RS~&��z��R��fm��*��0-uJx�#�!��'sT=�_
e��WY�B	�~G��7�"J�$lV����{>�J�ߍ�f�=��.>5���0�'73#cV*���u]��U�`֪��P3W��]n+ 땒1��;0�枛�i3Ԩ�4���n��͙/U����<�&_��c�M�4_�ES/k��:'���cX���̙\,�S�5*���P}������$�(���ÙN����эb���Z�Q�ހwC�(�����'��o&���0���^�G"/��, ?�ۜQ�?�[^��S
��g�#�o	+�
�Ӗ�Qِ�^��q�t�wE�'���a,y˺����V*����w
��mGTˤP5"n�L�O���)��Q���S]ϙ*4T"��"��Ԍ_�EQ�r$�ɫ�=W>*R��b�Q�r��S�nGpv)v�,�_�$���5~��x��S��8J\G�(�|������j+,t�W�г+�9x��L�J�Ӯ��L2��2:8��(���6�1�ҠM���A'�� �ὄ��+q��KAe!�����,f.�~�\}��R�j�Vn�o[�<���\�VJ�=h���W��yb\���6�;�Me�����(.�+��<A�Qn,��	w���&Ǥ ɲ	��}	}��&�lF�R2�;lZ�2Y��
���Uȁ��
$�H�l*eb�PE�d��j
J���+��r�����L�=�e���?��y��.���\P2���!�n2�x;?IZU���	X�F1.��mN������A�tg��+�>����r��J�a�K3MMK���׭�Xj�u��Z��ϘF�'KL'{�*�u�>��yH�.�w^w��������vA=tߡ�/�Kg܈�\l�	�B�~����񌻄k/p��5J�d6�/�~��?<lp����'
�k;�8m+�a�2�r����j�V��>÷�?�t�.�c
D�c�AiO�t@����72�co|5�V�=WVU\v'�Q���b%��ɖ6Q��W��	蟦�re"����s\�*�3�I e}�/��u�+����m�޲*�0�������(�/à����dFP�Yq_mȑ����]���z�!��^�э�?��]s'|Μ~��	t�;w�WV��W��LG�maY��3��&4�A�`���=��)�� Y`��Bhg�����5'S�'o2��rL���Y�^�D(���g�fc�
Bώc�e��,1����w�p�QUn%ߙee1�tY��E���wvP��W(��&3#U%G��yI�+	RE)k��h���P��R��J���ܹs�G���-��{�xL&��]�>�{�ª
�<>s���OG'A�q�'^�g�����%- M���Ԭ�:�Jw�%�a?��k�(���<.D**ke������%���!���>Dt�������9�zJ��GEK��oS��4��9)��Z
z��	>�\2Fxj�a���y��Rn����#���t7Sxږ�8ki���w�ι[}��q.���kt��������.�}��s�����2���{�="=�v^I���x͞a�]�m�t	>Aq�xXm������F:a	�éf4Y~�:ã��4y�rwwC�=Ulx�;y����8�2�A�VP��ޚ�|���2E�ܒ�j>��J�ɗ�O�˖�8�PO����d�ml��{ov�F�7�������b�Œ��I�
��HF��{���b(�r��+��/����c/�~�IxBx��	��[�-�X�OP�Fsh��ګt��ʇ��8I��Mg����1��f{��l�
�l���7���~�u/�W1q!q�U�A�I=>a���2>!}��>k�����(G��1����9����`�m��{~���������f�f��|�W���$	�^8%�f�w ;���vTmGt^�f�n�W7jڃ�6�G3��m�O�R�l�3@n��i�r�{{�����.�HJ�sQ���ܓ�~�K;�DY�l)ap
�T��e��\Y��B�Qڒ��#�`T��9��QDjͫ�,��4���E֗i:M�j�O&�()ڄ.��I$2_+�?����܁Y���"�a�›$�WǷ��-����J�t����o~�ŀ։"QB���B���Ѩ�)"	�HU���=Y����4���	5ْPHQ�L�*�1`9�L��(�"�%~f"	]Y�A���/z������9����T�<�i^&�'�Fxg���k��%�$.$a����s��/�7�B�:6��4f2$�sf4Y"�	��o�e�Q��ڤE���3:�:_�,y,[�dɉ'y(9��q�e]"SC���|�n'�k�`���ֳ��yWK㩔��u�S��;�l�|��/B�3�6�l�_@OSecBQ�%��kd~i+z� 0+�Q,�A30S����|���.m鞊)�����Uu�@U%�2"k���L�e#c�z���<]�-T~ʲ2�>�����BK���w�������,ڋ�Gw���k�3�`%�1�0�"n��rOl8�J�3�ƈ����,n&C�~�g��QF2</�aQ�zg[�jF}5���E��yY]�mJɌ2sH�+� ������._9����ߊ��%�M����P��	2�)ȋ�����!���s&0�~&�6&0\<�L�>0�K�
���A\�1�L��eT��B'K�-`x��t��Sj�M\�7+��Gs�mw� ���g�[@�
�
�Bm@کk6&TL��\A�| ,Ё��+���Z�M��j�g�U�ך
`�1�UM���;hx��;m����T1͗̽+��wi��8��]��X��-��V5�g�
�=&��1�NZ&9Wà+��1[��Hk��r��P݊4R�@��+�(1j���Z�)��A��o�Pk����by"uʨ,���UL�HWJ|�-��Ͷm�d��|���"2>��f�t>[p�%>�ǭ��û�M�g�$��Y��u<������-Cٖ#��E7Ms��eSMS�(\P���Dzv���̌�|�w�?��,iXዓh
�#UI�3r�UT_6@A&*QO�4�U&�
=Y��\m�dy�(�
��>�4 ��̘lC�(�:��H��E%�j�9���UͷU�1x	d�9��u˂gb�������,���_h��y�K^�-pL�[x��+�o�M�E���o�E<@�{<�K?�����_ૉ��8Y ���,�Ś�ƽ���d"����ɏ�0{x��dz��m����e���M3���چb�Σ�<j��B�,�?���T�$d#ѕ��$QBA�pJD�NeS��!�X���ଆŔ�jȇ�$�� ��s:��:nƱl5�j
N�!�.���|Y1,ŨH���Z*��b�ߛ�ni��!�9�L��x�I���B	���G
[΃dž�*"���,�Ru���=Y2ڽ"\%�y��JhS��4�-!��)��Kl�z��h�~*_�*Y�-�B�O„�8�<+���ъ#<;�����p+�
�B� �5Iy%U��B�����\NO9�kz.g:~�s;s�o;2I��TS��j�;�|��t\���҆g�v�	��,�+
x��K�\�g_�jP��6e
�KWwR�A����+��-_�btI�����7<�ГVx�R.V5�C�ҕ�BMuҦ_0����I�Y,�+���)nF4���A�-i�@ɅE3¢«��l��^��2�KDS^�ZZ]_	��д�r��UN�Yi}q�Z�@&��j�8/e�}�����61�ԛ���Ɲ�XCQ I�ٮ�]��:� m�a�+QM���={q�y����6��XU6LW=0h+cfIu)���&GV.�w?�s���w�g��ģ�!;E9��ra�e�<�Q�aQ�(^�G@)�M\?��5q�P�$*��E�-)p�*�fJ�t�l�D����t�e\����D��K�8�F��
Ã���L&_גU���I�m�<
%GT	iO��*�e��-EQg��������m|}^(��&�����h��cc�f%�UF�넕$b��TF��h��[U�T���g�=XXے.Ѝ��C��^���}M�%G�?�T6=3̜y���u�4�g��;��x�pj. �ֹ�;���g�m�N��oNF"7c�6'�%�n�	�ĄZ(LFl�o$���R�j�Pȹ�'Yr�$�ѬF��D\ϯK�D�4>7���]��tW.�d}�j�^�����0kx�U��f�E�Ж����Dۿ���j_SFu��-,���f4<��*�nq֧6S�D��bٚ�6�c�D)���n���ܜȩHz�����!	�n}&��K���-���k��L��h��b��y��'�!,35��\Q^0�;�WT0'�r�2>�	O��hM��J���h("�8|i�j�m��Ϟ>qW�?��[�F�;q���s����e��
��[�ۄ;A��'< <m�v�]�{�g��>'|A�����Hmn�1���P�����Y��t���k�0�/�x�-@�C����B0w>�.�Y[�ی���w�1��hr�O،�n��	�?���d�q_�_���>���e�=><��o�GqC�c����糽L2��[*���X�Hن$����_��ۨ�7>455���D�mbw
����7�D_�C��CW]�<H׫���#]�Мzk�]�������rq�V{�s0B'nD䍷�l��^�L�s#'
�W�V�#����i�urc��(I����c��
�^�'�GJ91�N�D����6F�'{�8��|~f@��xyݲ������'���<v�(��Y���@B��:ph���=�����x�8B��i����ZN�/�n�+-@õ!]�ρ^0@�	I8�hn���搭%!��}K��?�~cꥮb�O���ݺq��n��o|�_&�3�4�a\�A�ߗ��_�fSɘ��;)��C�Bx�<J9�Μ|:��W�~�����Rv��^{
�G�J��/���fO>"՞���ѻ��]���^2�{hu�e���[�W�%}z$4�Y��{F��%�&��n��S���—C
m�&N�$�=bi�f�緭����'�\�����> V4��{ebbe���x�`�Z�̦���l��ЁG�|awr|�vf|<c�SQ�m|��F����+���ĢS�u���}�����R=?.��KS�.)]�5l�4���Bk��p~�����pgo�L�fXJ�'�w޸������U��$'=�9R��}T��
��k��={��EK��F�o�s�N�s��g������B	��ɿ��
E�rr� 7_��kxO���
1X�ea
,�~�H�?z,ڛ�Dž'�w
��+�_���a�3�>-���%�EA���q�`o�xx�72I�����1��>�8�95�잏��l"��Ћ
4����ÞT֬;'t���
�ʔF+�7G���Qz4�att�Xe�(��(�*�_��g�Ri�$��.��/T
��D�l�@u{�Ս�՚V����`_��t!]�ˊ�w˙B��S�\�t�y����6ޯM������;�5M;[Ev_�|�o���Vg�
�TE�Ps�$}H����1TC��({8I��^�ﭜsU��'w�<�yg6m���ZI(	$!!D���ƀe0�`m�0���l��~`�y��~��9���ιճ;���}3��]Օ�ޓ�9�?�/��AΨ����\�K�ET������;f� [����mRN�[��r����R�L��r�1�r9;?�P�4V*=�i�a_�״}��C�6b�#�\ִc����4˖��r�F��~��^
��7�2|	��H��|���36%g-m�w�����,�}dD����~d��o�������a�ۤ����A�`;���ܼ����X����s�W���a;��v�?�,5���a.�m�'�
D�xdd�Ts�hia|�ܨM�����JIwk[;9�Zr}%ߩ�u'����5�LL�W���Q"	�e;[>�<���ǧ��a���!ZzRloq=	T�xP��tEX���
9K��3ᝯl�1C+hfW�8�J�>��:�?Z}�W]��#
�q�dXVp���xɺ�l�-�1{)y��������F�H�妕̎��8m��z{</Ul�����h�ș���_�1�;�i�<F�A�E\�8�i�r�Ϗ��e܂�����%��m_1ۺ���+��{;������ަN�RJ�ٚ�<I�9�s@�딚�yp��j۩+���,\��ͷ�]��ߺ�7!mw��k*�Cx7X.�S��4E^1��N��`I"ǝ�OF��-M"��`oL�e��#nP!g�����Ϝ<y氹}zz���Cg3}�����o|&w>��7V.�y��3:��C�J��=�^�>`c2�����1������YLV)�*
䀲�&�K":�|�c›�$�y�I�B]��Ї�iR"��M�K\r|D
��HM4E6�I�qiR����<��s�O]n�˟<�H$ϭ��c�|��'ޖx7�m}>�?K|?���	%
2CV���v��
�8y���yVA"���t�z�xw�K�c��,�2jG�~�T��:��#����6ad�6
���[�Q��`IB�f����l!f1�RAY�j�wNU���3�,-4���K�"=J���O�W�J�%[#�lߕ���(+&�Y�p�xp�Si2\�c!�%1�Q��e_"�����3�+�1@�0�766z�O*�x��&�S��D�I"-!�X�В�i.#�4���&�2a���g�� ��ΨO���Dy�ӿj��� �,I1x[�<��%���� gx^rG,[�V1�W3L���5j�ԯM۲&�Z�'���M9�W����5�7��d�?��$s�m����`�we^�QP��!'��֕|��p\��U7$�sAşX?*�q�tn/V"'Wdn�#R��:]�F�-�����shjϨ
N�ʩ�&R�r�KjK$IS��#�jJn�
��Hf$Z���Ȉ����'ÔKwv扏Q�<���#<7h
�Cۮ�	)۬~<���/t�R��ۂ��.YԚ��.��f�#CEM��nj�o(��K4@�e$>j"H��O*I�$ɑ^#"�����M^E�.�(��縻,|6�RFǩ.!ky���wE5�T�*�$�,W=�QE����i�7��D���I��dԒ�������<?B%�V���!�\��|#	�tDp�9d�He�{��'&����7�@q�"�9!7)�U�V���"����L��p ctGyD.��
���A�IC�d�~��Сb�"�@&U��>A�-�\tX�tU��^��2!��I>�;���vRN-��\�s|���/kן"�"h*�UE����U��l:�^S1xv�n������Dcą�Aa�9�Y|�>L���1?!έ*���~�M���ӊ�b#O��L��8I�C����,�z#��d�NݏN��f�l!�{��
�J��l}��&�EGK۠S�S�L�����y�(�7͍z����
���t<q�&�

@<#�RX�fHE�x8
�+3V�v�Kù+�������Gx���(���Uӊ�̎�'�?֤�q�&���"�ށU� ?���{���{����^�(J&*�r1�o#��=�5��>�|��z�ZP���A@�����Gq'���`��'�'�c<F-�$��)Vz�_���!VӖA��;Q{��4'ql�>��S
���%��F\�F>Z7"�&����f1�T3y9�-�w3�.R��ԠS*�{Q�U.���p��� p��˽�M�Q�3L�s9J*�l
f=��H�+����h��&JT)�3�MŬ��r�E^�D̓p4f�{�N{8�a�w�H�7s��#vY\��Ȇ�{�(�:s�3�.���Y�t7ԟ�4�>����w�{�r�7�t�>�
}v�a�T�L���ŝ��k��ۧO��3��k�~���Il�lh�>h�a�]"�dY�5�V��	��K�[*�J>Wô=��|OI�pI!�”=��|��O4w�����{vz�}���E�'�!��h�Vݘ)%Gjz�����l�{���='.��%���?��:M��Z���afu2�w��I�O�9�OL���g��>q�[��w��s)������g0C
��e��C����-�a��Iog���%{�}��T��?� Υ��גÂ��ٟ���d���=���fU����Dz�(cq���Vl�o��50�u�
"�.K�#�PlX���'u�.��mNN6g�NN�|���ܴ>rpv���,Nugf;S�O���\f|�G���h�,������z�]�l~y�3;{n7��熡��M87�ϼ9�Vg���%�>C�s`�w��^S q�'Hd0�Z��z�1�~��,k�p⃡]�2�x��`��,v�QQ�|1c+b&��VwZՂ��Q�\���~e���ֽ[��z=�䝻1�m4���<=7r
��T۔%S24�־��[������k�t���6ׄJw�G��{�8�Nz4I�E�1&X��.c�y�b�3�b2Y�狺�ק�OMm9o�a��K�i����~͘6��tU��Q	u��L���6ɩ#���ߒy�Ux>$SB'SF.�Ԝ�yC�6c�`�q�E�cy`@�/�ʈ�1t�6y����+_�t�8YnZ�����e��j��h9�$�٤�蕯|問:���
W�]��v�L�h�H1R�׿г��^��QH����e�H�0���X2F*���u�<XУg�8Vo��ai͵�k"u�}�[�[)W�yY�x�D%��<A�g�)�yn��D���:1�;uO���5Bߙ	�	p�M�߳�̢�>jy�A���
&UCği���<I[X�yl�P�2dʝ�ÉS�[&^�xS�}��'>��j���4�@���u��F�mÏ�0�8�[F`�E"1��c�:β�����Ew�
�1NTIܴ�)2��-tcd]Vs3C���y� be�a
���Ejl��ƞ�i�C�� �m���e�oB�OJ���.��Ȭ�1k�G��J����K`��UI5n�l˲]�hC���>��q'0Y��ml���;���}!�u�V��;��]����[����|x����2���D��y	v��mڼ��.I�+
�{�
w![��ᢽ���~t�dxKv��F�K��}��d���V0]�Q7iĢq��Ԙ珠 �Tk��ʍ�ms+�?��L*�G�Vkg�̗��ݙ�_�.���G��O�j[5��yX�j���G&k�oWO�j4���^����gtؖ?���!�I�r�3��صg_Qj��:)�*%��NcPd�.a�C�nw��N]���4%���ȏ���o�F`!؋��H�ȣ�`:eׂ�a���[����l��5��rΈ8g�v�7��p
��tpxD��^�Sʪ\3�ԝb+�
�0�<���25tQTeC��u/��6/��e�=[�=IE�m֯��#�������r�z �I%Yr��cU�,gBE�'r*8h�A��,��������k���'~ �
�
�/�#do#1�	&:�<`��ꞈcY]���N��5��{�;����{�rz��taW~t�+�* ������䗅'�?��=��>x�p�ڷY�=�[�VLyI(��=Ϩb�E{"B*X�#��I�Ҭ>�Ą?�0�ֵ�OM-o�^�|���by�WH��z;��]s�>|����z~*=���m���2��}�ڱ���-����♝��^ ��f�X�-yT7F/3��1�V��Is�}�I�UjC��Ө��G��<�m���Öi�[,�	M�M�7��@'�<�s�%�1nP��T%N0���c~��-إ^f�^ʟ�,e��7�6��3�%M��Ύ��H�H� �)�8�s_ �!�J��wyW�8^	�F��
�V@�t8��,
�]��=U��سD�����4�$�K�(!K� ��J�Y+�\����L
��
����g
n�a�ّ��mY�s��茇�?�SE��Y�D"���Y�>��p�|mv���i7W���xQ�$�Mo���E_h�⎣
�,��z��}��1k��m�uM�>/*/7�
ωy�tm0;Қ��,��ӹ:	E��3ᔗԋ������/F�?2��Fw4�EFAq���xUv�����苭t��e~�^���qp�仂-��h��UAHk[>�e�������I$�1�����C��gp����424��nGy��}LNA����8ދ��S@�Y�ů�.&��ef�1ٞȥk��{4�s�WKգSӧ;6�(�+�k
N�*:�F��Q���	u����-��#���Mid�ͦ�7iI��jA��c��x��7�ANQ��k�L���x��FZŠ%!��<'hu2�+��*�a�Á��Q�Ǚ�U$H�
�o~�m���{�L����:���y%��a�jLrh-��F��>�E!y�;y�r#���X��ԑ *]=��e��4�Y�+w����_��U&��N��knR%�޷�V�ND�lj�r���!��W���,��<��r��_�̱cϜ���`<�O�mǨ���um��;t���;@w9�%�.IW�(~X&
�K-�_6B�Q�:�|��fA���Ɍ�,�#gl�e�B� ;Ç�T,Hl��ë�X�B*�qwH��S<fi�U�4���OR�Aޖ�x�H���T�Y5Y�Gf׆��?!�	>���؋�p�0�`�s�e0��~'����(�/lCClul��l�M,i�L^Ir/=1{��R�О=P��5z�D�cG'�g��%��R���\�/�$x���yq�$m;�����5s�dsǨ��
{�{�B�0*E��?�5���H�Lى4�&�8�${Xu5'�}�>+w��ϟ���������a��1/67����Uܵ�	3�
�jc�1	�`3�$?��Lq&��Vir���{���K�ck�eS]}q>+ͩ��j��('�~�iک	��<)^W�@Oꍘ)�ƝՒ���27�,�m�X��MW����ض~Ŵ���[�Ɗ׫�Z�ȷvm�B��Μ��V��\8��<0��JC�p���+�X5N%�.dNF��Y�y�e�C�>l9�F��]wV�}��؁��ǗvO��\��W\>w�3�׼er[���-��^�}|i�re���O�b��EyX;x�W�
/��T!����#o�����|�Ͽ���d˫��?1����C��=��'�����
�3�ZX��lb��m6�~�g���G_
�Z\ ��
�H��E���������O�G˟2Bu��i�
^�&���P>*G����kl������<����\.}�_�|���.������#�5�/�<_���x�Vx~E��ñ�ч��8�_�Y�,�<�'Ë�C�h�1 ��n�K��V{��n�`���@�C�ID2�IN�FF9��+�j�i���ʍ��RuQp�W@��A�%^�8�o*V�r2b��
�+��/�\���B9�;R2��(?:7���ҖM�(�-�ؾb���2}��`T����}������՘w����v<,!;Ck�N��1t:��;��V�r̉��ݝ��XM�0g�K������,'&�X�5��`��(gq�2��:3�@
�ϒe���ߧ�F��-W��g*�Ey>��Z��l�CU� ���H]�K����J9#j��B��o�L#l�l�[;�'��L�3�a�m�~w�Y�C%�9߼��%�&n����^33��95$jl�<D~���F~\lE�u	e9�Qذ'�ݪ��N#1��벪v�M�^-/��S��lk�ʕ"�x�.2�T
����[������4Wd4W�b��z��ڝl��h%�H��"�׫�cMk�������-�������F(a�������	!�fV��p@���?I�1�4h�
�[#d�eZ2?>���6��
�O�o��u�̕Wf���I0vl��;�90�Jؿ��7�$��g��x�c���WdV?x������&�h� 1�E�������}w�p뭅cOu��Ϟy�W�o��x�k�l_�mƍ��s
6ڇ"ۋ��s�Ve�os�j���!�5"\t���3�yc��k����9^{�33��#y�G>"����w�QnX����R�,�v�|�G���_�d�>���(����D�����U�x�7�<i�w�u�O*��%��5�Wiޏ���O-���7��~{�f������3S�t2�.L�$�G��+����sOF�[L��[憸?�;��#ca.]��C^q���x[+ep�`	&�-��p��H�S�[�T�%�����ܱ�x�>�-�OWWW���#�;W�{�u������u���{���^����o�w������y )�Lvp���`�#�XT�/���A�?��^�¡�N1������$��JX��]�ubR�o��y:;����5-�%p��V0�e�VN�e�ϖ+؄(��9��S���YH܌<1Z �/�b�u�l
r�
���i"�>M�_Z�Kg@��,�l���l'�mz�,_��^	y���Gp-s{j,m�a�d��oE�e1'Ɇ�I��Q��aA�RJ(�1��njZ�;��ߔ�ЌApC���dm�YtB4��%9�t�v$;e�TE�H��������V+��qH���]���ڠ[���(��%��f%��c��@�GEj+#�8:��w���d.ҧ��D�-Re�j�p�:�
�$wD�%�}�I�
9r��5���t 	r�N���:s��H�=��ŧd4?���:qb�?Q�����˜@�#*
/:�F�|
SI���f������h�;1_o��:��Ƽ}qX↑x��81.��3���\�����B����t����'�K9�F��N�Ҋ�����6E���̞�H��5�7�G�(Y��
�(l[��̌�yz���ѹ�|C4�\������m'��|��׭��c�Tj˞��u3ui�_AM�K8��;��U�YBa�3
�
*�~��r��:�+�V��8m.�����Ԫ��U}#g�f!�7ZU���LRK�[H�-���£��ۓ�%�@���NK���:d�j�8��Қ���TD��՞hRs~g���ɥȳ��M(���I�qݴ	߳�(���MB}J���f�˭����dh�'!�H��1Nv8`@�,9���ݜl$M3�(ux⨲(#L�$g��(;��$�8�r��	\��N�"�#�u$��a�se�J,������B�i�'c$IRe�="t�q�:�&g����$Ī���I�iP"��@�ș!�ɉT��Ɲ�z����1Iߌ��hK�cY�/�b��8����G�f�]L��n���!lj37�o�yd(/ ���'5�wG�Q��4�L��Nf�b�5k
���7I��Q�^I�
�L5u�����B��D"zA����Y�A�s�����eBEK!
�4˵@�M$�'����H��^�j	n-�&)��F��J�tpD��K�_�w٘{��M�K�����Ц�Ѧ.��;�ɪv�D�i铙�-K���������.�eq���r����n�/N�
�E�K��mQ�S�g�C`�4�]
s᪇��AL����$��J�x��f��N؜Z�iBR�_�[/yɱ���]q}md�&���׎��sN%ݴ��m�G���������M��c|t�gA�'X��ê�v$!l�7��"^x��;��FTED>��fD7� pQx��r��o�*^n�1ڋ��Rzۊ�-�uw"�D!�����p�΢.�
�W}�c�y/9�G��w����g?K�k���5�~��Mk���0��`?��e��~to"�!o(��G�ώ���
�gϒ����{�?�w9x�wo��;����q�u;v�:�[����IDG�8#��C�n*�H{`
�Ljt��S�:N�1/V�Dnl�����m�H2m٪�(R~�T j6�-���*�TKZ$/��^����fr�}�ʎ�H�X�a2I�̮-�w>���@�I�Y
�s4�VM���zo���S�w%>����_���࣯�_d$���.���
��,]<�bY�-��Y��%F"�T�Nj�1��eq��X��T 
�7��o𮱹�/�>LbA1v�~�bEB1p+9���
�F�I�s��i��V��"�V)](�-��W}SR�j�`Ջ$H�j�����G�	]R
+��Y7�ɖjeO�'��,rw���%^�[�*`LYoi|hm�4�}��ri�)1_++_V�\���D�yX���M��lNEzM��N�Y�����,"����A���^Ւ%8�r�N\��&*�l���(�[{}���گ�t���:��R$�wQTD���Pd�/���d��ݩT{i�Xα؟����r�1P��׼4FRC��|���x0hߋ#��J��z�c���ޝ\3mg}���K�Vgu��+�*�
5������%sF����^��z��-��X�D�,�}��+�� V�?$���%�p����2��|�_�
��I���PKf˔3��g貅�h��sF��(��ϯ|��_��ׁ�@8ZOq��1m���n�O�����*��OB?�
V�Zb�p�X���3�;���|�����#J��nV����i��P�E�6HT���qxm�arY4E<x��K�^W��1@�G,B~��d@)8�(�Rr.q�u3�2u�!�K)9EEZ�RR!4I�<%;��`^��ؿ��U��슱slN]����L��Iz���WH��5�#�w����5K�Oir�n#d�vF�\O����P�'�aJ����EB��ԩ0{�"q�^5�gi��x��ܟ,n_x�����h{$��1�}m�H>Ch9�\��چm�Yhi䵫�(?��Rg���84.d B+�ǎX1�3D�G������Eiِ�����L�3㙒��&��RsQɔ�%{�-��yDZ�檢�
s���<�_0\_�Q&��VK���D�,�8����8��{�;|/��!cN�<�i�Lr���Dlt���pI�"yΤ�f�i��!ϱ��k��m�	V�K���8�Ar%'k*Ijf��Դ)k�� ��.ˎ�٦"�5�N�IC�%]8��<��,؋��l�a��z��V`_�rMk��FL���"�]Twiai���Rׁ��z`#��tRȌg��F�6��F��8�Y,F����Z�ڕ*����r��˶�]����[r���:�Z��%�h{k�����T�lm�q�#���%�J���qW�:�W�޴,�&U�炼�6gP���#���eÝ��;��uol��e�a�\K��c+��ڡ�F�R	�)[s���&/�H:��44�����%�˒/z�A��b(��۩7�8Є�,u[�n&�ސ��c8b�m�2a
"Q�X�2˾��02!˪,kX��/�T���j�K,��g�mJ��k</��C�& )�֞�s���Z���HA���/;gj4F�EП`����@9�Z��׭!�#<��$�<�NEޕ��4�NRQTOU��*8=
O�<���"�-�CO����	�(����U����M���\T�`(f����x�$bȊN���9˶Q�x�-�4.�8��5�%�y��;��ʦ����G��J*���5l'��XkP��;)7z�@�L�q&���$:�U&�E���J�����/bMq2*P��d[ �M2b�)���ĝ����H��4���ˊl�8�{�)��]��[�,]T�q7�D&A4���?������opqɑ!��}UdpO@����SCH*U�����i1��r��ؖ8����e)bh���v�aIQ�=d���ǰ��Q��̍���0�1�,E��e����Dn,����NZXNd�I>Me��'��̓'�!S�x�c���Ϟ=����^v���樣� ��uUMS�ѳ�zE��Q�h�d
��0_�T��>���Ow"�aX!,ק<��!����C:b�S�_�|8D
şDL�.c�
���$�������
��[�3"/:��.������n	͖j�"G��MPہZ��x�5�.y�5E���G �B:'	�sz���k}�O���!�_�*��U����Y)M��RAU���mK%��=+�{�V�z±��Si=�Z�=�K����@o�ɛ0wM&TJe�!�5yz���-3�9`Pe�La��-�t�bRH��w{���Ā�����ܔ\&[]Q�8����B�_�
Az�-Rgl��O��j$t���V��&=��i��7ff�
A���WQ}#9�C�@v�b��ê/��L�C͠��O����`i�<�Oǻ#�1��k����Z]}�i�l�g�@
<U4�w_XS����m�;q�€H������V.��k�y��/��U;*�NU�/��;�?��.4��S���)���c;oP]�/�ob��'xZ^i,����)���$�i�ؼI�A�ĸ�aXWAo��[��^��+����o���-�������p mWz˹��߯�>}��/P͜����\:�,�ϭ�{���	>�36�Fb���}���H|.��b}
�*ej!6
T�U����l|���剀�D�Ḏ�Y��g��I�~i@���
�`����C,�d�X
T�(��qM5>>`
�ӂ�E��X	��Ǐ����b��r
���견k��qy�ũ�r��,�x���h��˔�m�X��*�v�q���Q�R8Ш2�ۅTAٙ��;���|2�4�G;G��q��:F��!K�.�)Z��nV5E�����&�@�,hG_$��ITh�RP����쁪�=���W��N�
�	�Է4��5W�>�8��^��&��a"	";y�<�`t�*��p�
Z�xQiO�j��.a䂴�^+kb�Zt��ԕ�UQs�5r����uNBE.��r6C}8]�U^vr�K�<�5a���6�-�����/��O@K��4֐c��_P�R�:�t8ߎmtʺ��t@l���p��(���H)#N��	���^��	WI�ʢd�6�����o���t�s��i;dd����Rm��t�g��"7�n����ו<��A�M�v`݀��'�4bt�v�#����J+n!�zrDm˵���\Fhj���#j�m�r�*4r���ޱ�U���:]��n1���|>0#�G�t#�sK�T�ir�wz�뽄�K�h�]I7��Ԥa�ES;$�m"�_�����Yg$2�Ɩzo����D"<�ܹs?���7��bH����<&1��w
�;bgmwX6��A}KL��
�0'}�pt�2�S�ur�J��M\J�{�,�%�����g�ܜ�K��-���I֓�L_}�]��[	O�7r�"��z�}�g|i�Y�D��j",��~$�![_̑1l+�+�=�>�7`C�eI�<)����TԵP��x�z�����e�W'���U�
�Y�ː*)�oCc��U�,�~��:�%h����� Ž^W�,"7IXL�῍;�{
�b� :���I��b���������;o6������r�mYx"T$����C�W�P6%[�9e@:<���|�(�P^!�D����b4�K|J��	n�����]�VQ��޳M��M��8t�`����p2/�4�%�r�Ϫ �dIk��犠�A��l�ӖR0S��(|� �3"Ü���7:q6�)���ːd�Q��Ҥ��3a�ȶ�N;M#o��Z����`Re���!\��$��p�h(��QK�[���}��'�MJd����[�c)�:�U"��[���n��yp�;a�lu��Ѹm���������c�)G��_�����òbtB$V�[�X�#m��<���u�����3v%���d��|9�<�@O�QQ�)�[���"��֛��n^#J���_��6��loL֒�ˬ�dΒu}B��@9E�%����p���?��A�ŘSQ*��h,�����v��:jQ�M1Kc���*�[�R�D�0����FT��W�S-�������]�>���������_��9��t!�����N��W��(9��$�`����x�k���E�ZК����<1Mϒ���mW�X��u��K|$���,��_^X1*���͈1�W^h��^&������\��4x���!�%����4���%��Y^b;���}5B,R�#� Dپ�f�l�q���)�,T؈%쒞�*��2��O��x��5ֿ��Y.��K��r�� �<ר	��
M���dQ	�=\R��G�fy1�,�����$I�1�����FX�8�,�����E%���2���iM(QaL�	6-�kxl��e�T�&���e�<BѹS6$Q���2) ���������Y��rԧi��{�}�����j��ʔ3��ςX�\&�g�K3����;�Ѭ��Wp���CDU
����d	'm]p�>�ϡ�o��[iS7��4[�'M���$�?A'ƪf���HdA��-��e�W�DCPh��)��DV-�!u�C7bN)���2��F�g�,�!�� 6~-f
cr��m���/<_\x!4�'	�wLA8�lYҧqԠ����wzV�[�O�pq��q�Ӗ5IӇ��o����Mvْ���[����Te[��Uf�R�,+�E�cfTS�g�g�m_���o5�h�K/��@����U��	6&YXP�*K(������<x�Sds0�g%-��	ɲ�����<���yK�L�8��cp�JDŽ�޿d���''e[��̛%���!�T�;)ʮ���>��a�\r�%��|H$J�z_����$ޔ�P"1`?�E%Ub�ĝG.�8�h��qXH��ph�6*Ae��y�
���q�V��C�xI���!#	<'���0^��:��
!uQ���|�N6���$�|�ƿe4��*�qHF�	0q��D�_T~�-n���=C/�{�w��S+u]���H��(�cVxQ�-�DT"z
�X{=Y��s��vd���6b�����@�����B����iɢF9YE�[1t�C��?	�/	�����+ۇq��[țS�1�U8������#/�c�,�VV����f(��ꍓ�\��Q��P�AF�o̕Z�1��{o��չ�_p�����:��L��j鵡{�.U����d��Ţ�J�GB���e�����)7����K~��=�Ohs��o��>s�
��0��t�'�E��CcX��z�@Ϯ?��Yy����\�]ޫl�y�ZYX�L���7�A�}�i�H�w�7>��W�_=�+���h;jf[�Vn�-\^]]Γ�[��,��`/	��O�^g"�ULj�
���B"P�β�{�B�2�E��\Y�Z���n|���>I��+X�pF�v�>gw�n��!O7s���p��k��W~�$�� �6�9��K�]���=�h�h��`�����s���B�Ļ�L|Q��m�Ly�7+�d�A@�^�3��uY�w�,���ꕺa�Y��ng������9��N��C`�O7����"��qz��
��Q^d�B3���\��B��_�m�a�c�;`���&Fu�5)�i.)
����3�K��I������i�k�r�TZ-Q��h�F5�K�Tsa�&Ε��⩕P�$������FA"�
�t^��<���o�Z��=��eA�� y��*؉^�.Ha��迩�Fy�PCϑt![���9����p�
�&{�\�
��^����`�kO<��i�����@�꼬)�L%]�$���0"�����m�*1;US<���ȥ
�����9^排i޴#�H<X2��/�8����
�D��Qj4��
�w6�|�v� �,�����)YYqVD��B�Yf��$ܭ �L����k�t�\et���V#�#�l�-+����ZNF�X�
�_
hf��<m�B��:����ZR��:�3�	��}����e:0ypi���y��9iQ�h �3�.�$
65����.��F���@���j0)w4k$7KDE5TS2�[���j�݀.���\�d�#
f^��h0!�Qn\���úG�C�n�
]�	i�r�b�&�/Ȍ��[���8�Y\�&��9�,�ZB8��s��c�!w�7��e�1`�1$�%y�������~�Ӄ�=�7�e@/f�t������-/xIr����6E���Uy㵊Ω������ʺ���.���j�mB�Z��y`�.�VZ��Dk���o_�B�;��4���\��C�ΫW~��P��q�en�鱱�]���*9v�=ģJp�$d�NR,���9��!��@j3ޗAg�Y~F,d� ���]��\�\�T��>�M���Ϧw�+9�ڹ��S
|�8�&;a�?w2�JY��ʔ�:��>N^c:
|Mڭ�C;�{���v��XJ\
rw��7�CFB�P�(~���Һ!�%f�QL7ۈm_LJ�C���o�OX���F��%n���mM���Lwy��#5BS~�{%hƢ"TȀ�YK�@������
�3���j�t��0��gX�Ϙ�uNPN�1ӄs�f䠏#I��K���B��V|���1��7i�ɞ�v�a�d�Ў�#q�,�GuƟ�`�������R�]qX�����au\QK>GVSz*g�������2Qt�����9Ω��)�.NL�!NV�g5N�۶�E�RC:��o�W鵔�,�:5kb�i��3$�Z�	�����p��~MLɘ
�&2�"fʅz�/<���i=.��,?{��;�v~����<y��|�����׳�G�O~J>�0�*�D�dT!7I�g�9�"x3:-a�����gv�3��{f�n<�d�;v�ޞ�옓�<�^I����?��Ε2!_]��{�[?]�̨֞�g���7�Tx�G!A��7�l��@
�k6�~]���C/���{�*G���L�1 doo�q��l��]�>��iR�ğ0Uىd����QE��/��}�
��4�x>�c�)5QD$�aqa;l��"�-�qJ�/��a#*��;ZG˓ӻZ�r�٫T&&�C��?���''˕^�RnÂ���9zyd݉�M�{�H<	�d(��I<������D�&�9!=`���S�V���� ��b�2⛀�0>�
e���1D�c��`S�\����on	��O�V��h����7��ۺ��]��6���\n\�]���yP]�����)��%
��	�А�K#�a��G$Ey@U��,=��
��4(>>�?)	#pP[P������^�X�9����2�4^ˊb3W/���VY�╮�-JS���}�݃�K�Y3�T-#��p8vLQQ���g�;��$F�	c<�����+��G;q$q:�į"�IчgV�I����]S�,��:���Sc@���˛O��bK}�����8�H�\�XAL��L��Ʒ%��������(���)�Z`vj�
���P�7A˔�z�(	YwD����Y��x[��9-�
�Y�s.��k>eW��m'�
�=��8�Z�
�k����m���E��)���^���BI"2�[-�f*�U�C��Y5�9=��H�Df�5]�04Y,��d��:�{D���$܈b��ǵk��#�)�����b^܌��c�)qR�T��E�Vd�)R)�e���l��$�OėJw���=�%^w�qxY�/�v��7��e��r���,G��#��ӌYuS1��
�ė9n�\����U�-��ύ.-�z���+�10���Qa��+����Q���d�ʼn����,����	G�&Bb$z,Z�SV���t=��.LGu)�6�O���7���Ѡ����4��D�Ұ<��[fJ��p�8q��@Z*�}+�P����	I���ٸ�Ő��,�p೸A�1���@L�`�	�Ű>8�C}>ݎ��!fׄ��s�Pm�k�ߌ�0�9�gj�㱜����\�%��Dz���cה�n��~�Z���v��HQA6����$�=@�����D�rF�\�8t��0X��R�I��)Y��ZV�T�T�
�
�VQ3@�|��K_��R�дB��t��:��>'vG���9Cу��e�X�}����c����
q$�����Q��J���<E$O��5I��%B��8�D���v� Hn	�$��Bl�����Y*k��(^�7��w�k���-d����Q��"�S�9�Ǥ,ΑӞ����Dr��ameJT\!I�GM���
V���4�u0��-�ҔH׽��U�+�c(G�A�Q~�3�ɕyא�IMty���5φ;��,�lU'���H���V�i�ŚLW*g��Rȑɔg�%9��.o�ƨ�!3�X�(_ �1C���7U]!A����QN(Y�C�T�f2��#X�:5ݧ8���|Q�
�2��W�
��L�,A�p\x�:�)�),�\�o�Z2T�'�&��J7�5l��R���粮�re��f�m�6V��1-čy+���%�0>���p"�M��Q\�E<��4�yN���kО3�.�6�rN���&'��aJ΂��hs���)�����0�R[D��g���^�#��M=�[o\gx��5',?�椵��<ڭ�P�kL���G���e=�VL�l�F�t��^?�S2�ρ#�J=5Y��L�7_��Ζ�A���l���<�\��
��z�\���	�Ւ~|�d"���D�▄8���و��2舍C'��������6��
�#0M�V�L,���8�;�*ݲ�􋜏fN��D+�%L���R=E�Ä3|ӷ��)��)Y]�C��4CU������N*�
���@�|�S�Z	��T��lhp���'լ���7��@��Kʘ+��'��Xz��f.+���4�˵*���W/-�o���,tfm"?�r������UW���]�+�]޿z��A~Bs����lM���jc(�O6A���:�
��ـ��9�F��,�[�"��@y�����6i���S��7,JQ�6iZ��K��=�e��42�h��uP(�DPXuUE���9�(��7�Y�$��x=��HJ��������Y�Qr�c�o'�*�v�q�_�uf�!9
��W�x��	/�w����\FN��}���b����j��Xϵ)_NE�_/��6�o���W<��?xթޞ=�챢�)��ßz��X��镲{|}�|�<�0"|试���#dׅ�y��髿��Ϲ��^u�]����z�i�;J�?r=�C=��sߣg/�['�D/1�u,5�"l0��^�0�~	Y�1�=ꇵM|>�69�u��'���79nȩm�߼�L$�Od���&xc�:���V}��߰�������w=��Ir��[K�Zr.4�L��y�k��>�u�16��YE���`�
��<s�#'y�S�R.iPfJ��X��a��!�r��'wsb�?]�<�;�TJf�<o�vg�#�H�,�w�./O���ᚦ۸�Tݦ�R�Q���\y����)7�t��fyZTM���JY�%Ξ\�-��2�g~v�g|���eU���.n�(�Y�^�7ބ���u�r4�Z��G�a�>K�ޛ�ʈ���R�R�:��S�H.����a�M�$��:�{ι����K�kFD����U����vS�]K�]�U���Bo�]tB˰��B��
��hAh�38�0�p��'ꌣ��z�wnduu�3��2#�޸[���s��_�*����R�7�),��ᗈ�Ҭ�*zk�Y��ϼ�A��ߪݙ��x=\��O�F͘\�IQ��gנ�Jܢp����H�>`���Xn��+��u�yZ�(A�}�.�h8eO���fc㖽��5��q��m��ѭ�Omw�o��>;���$�/9H�ʌ���K�7��U��I24�]�v۹�Hʗi���Qz�ȶ�E<\p��}I��eDR6y�jw$�ֈ�sM�`7Nm�ń�<����M&m��O�&�.:�i���"��cH<��(�}�8κ*��I7�_ǽ��=�`n���]�I��S������9�6Q��4���F�K��6�uΨn2�E !�A��.%���Tx
Ь���G��w[��⅖)��(��N�_O��%ATjٔ8J���[����T�Hdװ1�y�/��V���CG\b�Br
��`8q	��g�v�kƥ�N�;MUc���c6�d��J�7\C�ހ�᾿\�@��#Ў��,�u����v�k���\�6�V؀��7U+^)؄o�B-��Z������l�*��8��L0C�0=xӑjp�����q���V�h���pN���W#EH�x��_���V�
�����Uj2�*�ځne{�tCL���7j����8q9�^"cCb^u�Q:{��K��3���J�c�3�b���Z��K�K���[�����K�T�W��f9�r��P�!Ɏ�q�tm2�Ϙ�l�x���=w���*��d5�xA�QO9���8�0O]-�_� �
��6�����\�[d���*r�Sg�}E��i��	U�mIEKO��%��O�����_�4S��|�\�Ky|
8P�<vM�A�xf����}�-��1�blC�^��$Q����`�'�
�G٦|>�3��ȵ���g?z�L����vi���9�x}�t����s��}�|�����;�.o`��d�i�	�K!;LmB6���̊p/c2]�B&C���%YN��0{�&�r�}�j��h4�r�t�⽣b�M�A�1i�6�L��u'�j�
?wF��'ذ��\��#�t�u�|[�=:3f�BU�g�LSs�cv��r񘜥d�4A���jӬ�
1
_��぀�L��/<_�ĢB�V��^�X��UvLĢ�4�Ix6����X7�/}��1��&m.����oϳA���r:O�yҝ�H>O`˻��Hvq��k���
X�`Ú��ZP�WH��b˽5��j��<,��,�ت���>.��
h1Frn-�
����i�I��O%�sʦ�z�<m��_��mM�1Q��YF�9�;GFrdO��WT5Uշ��/�������ߝ�t�C�T�I�U��7_�"�V߱q�3fj���5��XF燅R�8\Puz�ÉVw��k���#��!��t�z�n\�M���4���N]clM�?_w�<����)�������z쪠$�X��ꔑz��� ?����݉������Y�ߟ�9"ȧ�i���a����������&�θ�Gl�o/U��;�]�����0Mc�ؙ��;�}i�C���e��4#�G
;���H�5�y�\?+v�;�p2�v=�����AF���<��v��WIL^ǵ��?�����[[1��q��=���F�<�mw:���I�>���ǯ�w�ޢ�Y��\�t���z)��W*O����d�2=
��dڡ #��2��pb�:��C.��G"�ii2wUr�!aű�ɘ_�[��"ڥ��C���
5p҂7�f٣�G��}_�<�),2ϳ飯j�ݲ-��X35��7�=m[��T�z&v�)L�#��U�'���~F}!�R��Բ4���k�z�s���Ï4�ejջ7���x#3\=6�
�нڛ(}S�㺰��ۡzc�#��j�œ�+��yct�J_�{�P	���9�(�Tnh����wJ����h�<����֓��zN����rr��ν��lu<qb��%�aa��R�\��oz��V��C'fZ�����/�QA�$ԿHeC.���Ů�X�����m"]���?���s��dF�EF��wJe�լ�h3�D�lf�T�|E�}��]39�X[��6˥6�e"���C�ĝ�eQ��Kq���6��?fIX��I
{7(]�jI-F
8�A����>�o'���-lё<.ͅ(G�P�v2_�^0�
#����F����-9���WCKvzNZ�����WY���~���H`�s��Z��B�,���{�a
*=1/EmJ{��u��0��_��(�
��[���,dW/�oO�����z�Æ���(c=r�G>�S;_'��;�ռ�'N���w�({���S;�����'�_��g��=�c|��S�&d��#�"��_$d�|J>�w��󭍯�އ~�r^�
�W�0g���ΗoC�}�l��WN�ش�O	�j�ʾDI�&�Y�����U�d��L�*؂>~]7�!J9թE��ځv2)$�ŅQð9�mz��
��R���MYL��[��-p�]B
�]L������|���GE�<�Ť�gn�9���tI��Z��b�qݰ4]/7�=SqJ	
��P^�ʒrR�F�C�+0�i��Ի�E�P_�L�A�#w�V%bd�%�g1�����q�2�B��.y��;��G$7+�U �d���$fZ���R2Nj4g��I�1�{��X��<Y�#y�ɡqE�7�+�!���X��a��0��:̀Ú	��`�ʼn$��&yf�ώ��h��1�y�~9%]��s:���NV����(� O{:4�}E�|o)���7�ϑ�ww���82�_LÃʟ����2ndm��v+r�#f�T���5�P��'�Pd��m>�i��6�j�� E&3�w�~������f�Ȟ��F!�l��

y�Nt�as���aഋ<PM�j�Q(�[15��
\|.��L[��Jav6[I���Z��R����9#�Y���<��zX��r�(�	cj�pgn��fe�v267]z�n!?#2o n�=����&E
��5�+�c8r2�Қ��?U5�8��,Htñ��j�6,�CB5�����	-�GՂ�v(�iZ��
!�sh֢R�a]W5����[�\�=epy:�b
:u��I8+,����FFNȹq�f�q�"���C�4�Q�h��G��{;�鸮��zUb�C�k��g�[���?�W���4��9	7	39/h��-݌�.��"q��*��0���WM''3;ɬ��Ʊ�$�I2#D),�M����-I�Y�1�9�ʤ<<z��uV�)���A�5bAh]G!K�2�S�=�*��ؠ�����H*s�v9$^�"f�
gTK���VԈCKv��8�肇�up�p�?g�C%��.�O��,qA��X0�9�B)N0��b�	���r����
�3���j
�����a�I�<��DX�����6 <O����}]x�vA���.�y�=��E�=�6��xC����*K>�8ʿU�P��/�v�AE]e��&q$��p\]LY���5h	��p�Z��=�}���ow��8O'1��5��l��N`K���K.m�F>���}����h��i
y��puڑ=����	�D��D~8�s�~��:��p�~�G�_�<�iD�-��]i�G�a2�K�h�N�`�%���'�8B�
���C���\����	RYH��W�Tդ��±H��4�B���IaVIm	��F4�0��C
�
��-4��c����r����R����xJ`?ߩ�CL��o��8r_��˪PG���jH3��`�m��ufQ
S2��B64O�������n�ИΚ��. �6E`���Qf�Bu!tz��TM��c�B���Ʉ�V�n	C�*oo�U0�mh�(٘S=i��~���Q�a"����zRw�b2�o�n2��iɢΩ���B�?��R�Z�[�[�9?�/=-p��@�"��6"��p���h@�K
���2^i�>�6�x�ya�oq𩰣"W�B�&c�P�J֏X�'��Q-,���۵^�2��	�WSf��a���g�X�)<���$�֓�Z��i:�tF3	�[1�$���&�DU�d&"φ���<�f��Jes����x��w�.<Sn �*4��k�4{�^a��zn�\�Σ���f������V|�R�8�Z�^'9���B~��Lί�"@�� ��)ϙ�j*�`�Z�ɽe��nԋ�JU�yY�8�9��a��.=Aj��,-_v��'Km�֭ꁢ����Ž�y�;�D��������|�O�������7�a��)
�h���X?�I��P��'�8���a�l]6^l�R�nYv�Z�s�\T������-���h��R�oױ$��M��Ҫ&˶�VFW[�믛��^s{^�C9R� �>'x�&Z8���*��:[�/M�r_X�A��q�����AY�{ǝw<u�'y���ԗ�t��%�N�����%������_�ǫ׮�_;����;�q��!��L� iѓh@u��0F�?,�� *�� =����Q�c玵��n��>�e��I�@>,GQK��QH|F��	NR�G�Hra�朴C�n���Z5��襠h�������uQ��q�l���,�qA�Co��nP��kî��D�c�[�l���n�IՄr^��M�+��N�Lɠ|�)����+�*�(_V~W�}�(�|�e���9Eΐ���~��:�-�;�$g M�:�1�M�;�y ���0��5M&�gr(V��c+#�
�)n	/T�Aѝq���e:QO�|gc��dyB0��(=�YGx<$W�4x.�1�.M0�	�	��ER�4�
�]ڋ[���!u=�h�E��a?����a0·��M�� #	��5���Oلc��m��pm5�G��גQ��!U8t�1���+�`	|���+�5OY"VkrK�d�7��� Ŕ��'.�1�2˪B�e�l�_�sҰ�o����&���E��Ykd����iu��0s�L�Rt-]��QJ�0C+լj��<W�(8���b�+k��I%H�����}��Ck
��-��1���	�v�4�F�h8��M�Yƺ�*G�|�-BI�D��T5��4�P��*
�G	c��E��xٵ�o��Y� wB3������
2�0�s���G7���r|Xt��ױ2��!�"Q�p`g3nB�Ԉp�c�4�к�_E��V���#�j��r�J��l���aN]�\��U����c�q,h�����
�>�_�Sq,��ց��I���[�uZY��������D������&x.�AE�?Ӧ��&�R����<#��(!�i^�����&�]BїxRo%D*2Z��S�n���8U�fP�Þ�)ƪ+x���zji��Uǵ�y��z����1a�0�p���R?���

��-���1���̂
�g�s�nhHP�Q]ƭ���ԍM�!�JP��f�S)f�*�j=�S5J(�B�:Mp����2U7	��	άn#R
I g�G��9�G*�mH���I*:
~ʲ�G*��ߨ�Np�u�uW�()�h-���S-<
)͉V�%�]�'|f� ����h`�k<f�G6=�(�z���
�sk)���nJ�=��x��Z��3�%�F#�S��
��I�=��IR�w��=(�5׭���2n?�u�!��K��B�3�/�6ۘ���'���ϯ,xZ�=�4��Ff���I�?֪k����A�j����o�w����͝�򤃧��V��H�o&���[�sǏ���+
�u��"E1.�8���n�p�[��bfhv�+�a�K,A
܄<�|E*r�Ž9�o�L�~`3ԡ��yp�Z�R�u{�W��C��h��*���!(T��w�o��.%q�ѨW�0#���Z��}�8U��M)^x!��쎒� ����^���~�/Ta�_=}̱;�E�>��e�r��9y��ck���P�B�7E�m|?@#����q�f�n*M0�e���<��'��{�>��LB�ʼ\C)���P�d{cpb�����&���<G^S�d��YzX�k^�q�ز��(I
���%A�<U*��m�<�u��cߥ��/�T��*�[ǬF�Ph���;�����fY��*=��e����g_gy�\ܷ�M�GeXY�L�W�(��҅�НԹ��7��%�M��G_9㯭�"�f��Ы��]48�E��41�D�Iܳ"��W��󢘩o	�ӣD3}#L7�&��`����bc��,d�
,^�~�l���YĶj��^�j:4ܖ1W��<8��(Q�3)y9��<x�T�����h
M��<6Çf3���5�ȉK^�P�h�h8�3�����)g3���+��䚾QyXy��Z�	����Q�2	���p~�;h
z�Ó�Q�h�%1ܮ�0Nq�uF��?���d ��0{<��*b�!�H2�
�8`�t0Z!��yD��	|Mr"�	|'�%�M�ӡ�_�Fr+4Ggq�~��,!d�U�O��[�͕q�J뙗�;u�UD_z�˭�9X{���
���U6�W�/#�e���D���o/߻��R���7.).��צ�Q�w��j-��J�o����
�k���t����yK�9�E���
�6�UȞ��+2v�Q����Er��|w7�c�K�>?��>����^�~{Q!2p
Z�A�d��
e�+��g��I�_d�^��ˌ}�����J�E����[~��} G���=~�/adq^U儱K�G#f�l���W\����?1>qb<8�3��!�VÞ��
�r(��ʥ2'3�0�i�AɄ<Ὃ�R	r��^“a�4����Hv��j���}�l/��۞UY��J�^1�m�w�Ra盗Ϸ��������K���~g!C�Z�w9�s��~v��š�Ʌ��嗓_�a5)K��`��ko|ز�}z�s�P��#�z"��(ȵ.��|v�$���u�-[
�}^�Q��x�y�C�s;7*�g�+�	Q`N㦶�xQ{Py�L�!�Ro�%���ñE\=��X!�hгvK�2��t"E'8�'�G��3a�}��sNN�
�P�P|��AUU+��iI�T�Lgf������?{��_�$�������Ր�������co�<�׵�RK�Ub����p�(��@�1�[��w
�ؗ��F�)K���l<���a<[�ޢaif�
��Ja����+�r�3����$�����hm����d�@<���B�X�R��nys#,���{�}�ΡAɪ!�����Q��w����*���g$~�66u}Ӱwc�H�-w����!:���9�F�9��d��h4��d���B�`+.�|=�����z�ݵʕ��ۭ�r���8��[>4yC��λv�qۀ�tV��՗�r���-��gw�τ���ܛ����\9%+��ك�G�W��y����OuTe5��t��o���<��o|#��l��;
�#�ۮ��"��"`".�g�Xm�VlT��"9�o�YZ)����X�e�?�4����f��r��J������T�o�Ϧ9��f���3����a�2%m��ϡr��w������~���s�y�m�E�3�\K��(�h��~�葳�'�X<�p�{���q�����gƵ�s��{�7�i�s��|��2�?�%��n�J8��J~�ޤۂO���t?��wȡ\��s	J̺�z�&8V������5��Ah��0q$z����RM�9�B�;���ѽ3��0��;M��Ʒ����,���5�_���a��
5��U�Ҋe�3P�4كK~p�����U�%��V+�Z:�	��K�>d64�e�/eD9"ȑ�����.�^�f?;�p�8������I:�:?�j������ԿR�)/U��^�/J�v��
U��/������
�Lp�l��
zu�uW�Dvrʘ��e�ϱ�i�C�
c�P�)��դ�e�Z�
�(z^q�����xnl�=���[���5���J�b���-w7��ʣ�})U���^�k*��UοZ��+�Zj�g�+�Zf��Z��A���Z���R�fL���ip^�yȕm�M
���Fd&I'iʀ�L��$É�N���M�i�<w��ρ兏�瞅���~��x�q���sO7�����.(�$�ڿ��	��\����rL��n��G�&y2+��w��"٫|
؁.�z�1<��X�^��֗�	�c6Wq���x�ψ����|x��Fj��|�%C��z]Uk�7�w���� �,�
������闾��G�J<W�=C��+�Y!t��r>	f@�ؤ����ȓh^e�{T�}�٦�6��;�3R��웕����{=�짔Q>�|T�ܡ�����j�AE�mj�v.�����˄���)���˪��i�����8���u��A�6�T�A\(7ܰ�Q�[NdR-
K60�N�U��dO��9ؘ=x��gw��/�/|]���Z�͏l
��ɧ�KH4ϲ9D�-�T�t�]�|�i�RJT?�-2}��?�����E���� �|�k��^�h����m���h������Q��}6�i#�Qw.&I/�U�'�D5��I;g}�BpF�F�^N%3�pD|��b�Q���o���g_6wtOBt��74��ҷq1��p)I��Ç]W�q-ay�a�:��b�-�����f��Ǿ�l���6��ݕ���7k��Z�Rѻ�f�^�הm;���Q+.N������F��Py8r%0d=�:�#��F(��˹�A��CI���6�`@>flbN�&��~��j����C��yø�R�ҹ��1׈��-�|r�F�A���Y�<�Y$�
��E�W,M�F��ܖ�ڃk�R��y�	
-�����^���E7.��6�<�
��
놽k���ǥu'��H%WX�P��Ð�H7������4�@ߌ�������]��[��
�/wz�r���e��{G9�=����y���)9��"���RFy��p�dl�m�js�F�a�I���yd�
��f���ƕ?p͕W��7W8~����.��)iI�S*wvɹ�k�|�(.T������{N�5{��N��uz�/�(��rX���>���W�^yÔ��2����
E���P���O�t5�<�|R�
���<Z+�"^�\�#��"r(�kF�:q��]F"�&��j&Kq) �c��KAp3Y����zl5`f����3���W��h腂�4��V�$1���I�0�e���B�'d~涚0���	��TC���9�`�/W�Wޤ���)�w�����Ǝ�}��@R�K��au0e�M�%d����޹p���"��6�Ǭ�`�C�$�y(�V�6�Z��}"�2������{$�L�_�;@�_��ު�_��E�;��˽��;�4��T�)>	X�̓�k�ӎF��l�S>�j���j�`Ѩf�l�)��W	���l�ug(xz��L"��"���7���J:mݷ�U3ЏF��w��bjjD���
�Z�wZ��*�"��w�fF)n��U�ϖHPt��r��Y3��i^B��+�ݙN�ܨ���$g!�
2<�S���'�0�h�
̇��C&k�{�H2�ZY�h8�C�5�`���&Iˌu��a��g���X��R�|��˞Nn�CU��U��jI��c%�P��0�N����OR�C���wq��"u�**���$�.2+�Q�I	'��76��|�ׇ�
o���)6��5��Kn��;����V2e���q�GG���C�/��{��R/��ϸ&���(R� �W��>f���?�0�X���;�?I����������F�%�x�A��|�2Uj4�d<Vmf��uG�3W�P]c����U�A��l���o�-n3ueܖ�Oj��$������W����n�uǓ�8�d�ḫe���}/�7^!��h`�����{�c�Mu��_
���?p�ߩ�cD�t�>~%�؈/=CN���ǧ�'7�	]�Y��YU����3�w��F!J�����3�sf|M���� _$?
�Grx�H<F�$�!����~�p��R�=�yhҤK�"��k8�4���m7�M<���Y��}��h�H�+���>	��sC{[X;i��.�)��>&�����z�����6�w��+%w��{�߽+m̕�;;v`sX��a=T��I��̙.@*fj=�͞��]W���z�+�Gu�;���t�f���'��܊"8��*��~Ӎ���Nayzw��9�'��5�_���t�H���uߐ�TH��@�U�5�
�~�S��{a���^;�O���?��ϔ���������Y
S�()�&�1�V	��nT�EiC��둠�Ӗo��t�����n}�8ʐR��� F_��VU<<��k*+U;B�޽��߃�wJ����^�'��J�%��.�z��E�����y���JV�<W�;�W�������G��/��:`��u��z�fv�+)�4����h�[���׽�6M�1M{w�����q͊~�n��Lea P�Ͳ�w:�܅�|�
4ێ-�U�Y�,{_܁����Tћ�QJ���i��
�&+d�X�fn�����ْfi��Ï|�]G�f��7�u�L�m�n����7�@�c{n["��j|��]�j��8�r�̚s���:�W޷����\��Yz0Z[٫QNMG��pn��z�*4�9��&Ezv�e"}�y¾�!F�����9=��ʞ_J�����8y��e���J[jX�
u���������z���g߼�T))c?^X$�1i��f����~8�J���:}�2SpnBE/��~��y�^���պS�䵯������	Xq��#���M� �C5��	U5L.,|�c���H[H	�����ɴV���ci�~�l��9s�U���yhZ7v��+	�
�q�_���9)��R���W�O9�K�&RtJJ'�NN'	�l�\�j��<��������N�W�[�3���6��z�(WՌ�',���F��Z�9���e���&K�a�t*8t�z�Z�-j�V��V�}�}0,���Wi8-�]#5V,ϙs�o���q�_W��?�.��ѵ�OW��}�_!_���)1�Ê���y�Z������-k8�����j�R�t��Z���}�ջ+3{/?I�Ps7th@?sFw��3K���d6�zn���b�ͯ>Y�ܣ�UG����'�
gv��i���M땘{;��-��i�����zs#�l�S�9��J(�F��&�Bm/����׿��y���ܙ{�ћݳ��ȑ���
��;�o�}�eKWm-9�/�E^Ea�]�gk�Z�8|�mo��������H�=���~��G'�����y�ϟ�=�y�k/ǘ�Nʟ|y^
�V���M�Ez�Y�]eK�c�&j��k(0��e6�g5�]�U�K����z%�_��F�X��`�1�6�|��+��M�'\Ǥ��[6w��d����~�/�zo�y�Jcٌ\��N?$�)<ۤޙ�8�y+ri��;`�X�4�Zּ3cΞƙ�|6�o�_��zʤ�>I���p�h2
t�QP�ɀ�t���F��7�7��+�Cf3%��k��^uenBH�Y)��`���F!"Ug����~�4��F����@Թ!ݙHx�(�曄^+�(�m:T��|�|j=Fv�|�KVh7���B�ם��󘊬�'v�.2��r�<�(��T
J��K:�1!n��U����+���.��o���=B�������b��&%_��p~��+��p��񟹆��?(�����'���?
�}Xh�n���"Bi(���E��Ў�\8{���q6�q�RQaWװ��FKK0\%o������<�M��zl�Y�rp�>���L��R�{�HMx�)���F</�dw��\9t��h�E7����;W�F�֡���:1h�w��vR_����dۧ(�c�kj,�HQ�n��HȞԋBoy�dzj�l�v� �֝σT��N���FP O}g�<կ�!����i�8V-d޵��P ���[-�a���ڔ�����F�	#}$�I��
$��\Epo�B"�r掩D#Q4��c:'��b�X\*U��R}� ���QW:ո��g$����	�א�U*�+�e�;ǰ�<�]�$u'�(*n�xeOl(�-�~�w���5����4����'��@�i��R $�k2GD�F�h4|����ż@�yy��<O��FY�c��5��"B�b���%�a�3z�$Lyu�ё�=^FL�������a��y�֪����'�U���܄���'G
΂"|��Au�=�}^.ǽ�%Wb�1T(�`J'�,�_!�1�V������bo���!�ݴ��D���q_��}���_���`���ۉڭ�Z$@�����[�&��L�Ӝ���,�?�x�����׬�j�(ӸPk�r��#��A[|B9�ܪ<�<��M�Y��5�s�V%[R�F:q6�Ϻm(�(^�Q�y CN9�B�.��!�����e�wD%��Hқ��*��c���p�P�����J�0��Q�<��M�x�P{ƶ�|j�<��'��;;-Ǽ�
ð�8�m$8r���c���Z�ϴ���i|{`��l�v]{�<�F�3:�����,�TX�\���Ô&.ӝ0	�W�vl��|��*�#!�n�L��e�:
���i��]>q�НL��~���ڂ�^zank?u�M8�c[��h4u��j����[���a��A@�D�64�2�����z��U��?މ����wx!�i�_����?%^{oC���@yA���?��C���BI\�)�������=]µ���n��n����u�n��n����G�b\+�)�~��g�qy��(K2�E6�?��uoz˝׶���z?9w��K/?~�G����
4��_/��F&���D9�\�\�ܤܮܧ�G^{���@�B&F(�'FUL���;��'C'8L� N�Y���M�j�[�–ӟH��+�_���w�n�6������u�����^�n���c�tܰ�;?���J�|,r�X�h|H��9��Ӷ-�>��imJ��=�w�4۶�!L��U���1]�����<!�j�{<�W��s:�kW8�X+��D��5�j���ܳቸ���0��R ]�$�IoM�{#L�bh�ƹ"l�:%"�ImXN��#�N�d
��ݷZF�YXG��1�=NR[s���_w:��@�:9Ya�_�+sq(1}J��DnT�m�N���بPa�XxY�*'i:#Ou��3Sך������r|�3<ƃ¤�c��iZ2����B�Ց�̧,N)-�س��T���Q�3�]��o�𓆊�R�`:�м>ϣ3��)oRޡ�O�i嗈E*�P��r�Y���n��|�h
�����Y�&"�~ohp�d|w�t��0�4��*#޻h����u�Ne���I�x
�U��tv�R�4��C1�s���N�H�h`�
�MF�a�'��Oj�(e���%�nul�X�c?�Sa����iyQP)��L�֗t6��:�{�qc�ϰc۝]v�r�{���x���-Ϻ�x`��
����u2<v����]'������Y�̜�N����`�
-D`��Ch��10�P		)g�����(�ia>�I1/tS�l�>^p�i�6����<!;��q�EqP/�^��Y��a��0$���Xn���ZGY����(�� �}w���k�~`K��e��Kգ��b�n��[vo��� ��<5!�}k���8�t��/�#\TM��y���u�9E������PI+`�*�o¦����]L*.�Ty��p�8̴��7�Sq��%��.ߕ��>�a�M���I��i��?Aف���dh�I�-$wnؒT���,
B~�0#�no�7y�uf�7t	�;[��`E�v?1X4�F&ơCF���M'6S�p`�N���)��5�Z���e�V��|�'W_
4~�+�K>F$g�
��߃-�SyT9���4�S�]dRrY+�j�^��ô[����y)[+R���P��H����Z/F�\�L��>w3��
��Z~zr�N)�s��Jjj�*���|�Y���'Q�D��u������Y%3Ydȴ�~펙��Ս��UD�%�j�4�����l����v���I��~�C�*�����vT���ͳ�ő5�^f�7�J���1ђ\g.��3t���i���OU_wc�-����B�Lf�28 �5���V�f?�/�H��
�	�7{C8�2��O
����r�jf����7��7Qk���)�B��s��A�i� *$�5�b
����(S��ca�c���(/��1~�0;p|�U�|�lW���ɻ�R)�y?~���ꡂ�d$.�v`t��x5�P�0,�,�&O_�����mBOF4�]�up���coe��]s��kM+g�P,���ǡjuW�2��Zc�nq�E7U�Ac�ṯ��]���jZ�)&|����˝��l6���TM��s�Do�0�	����!�i����M�I�u+y���C0�?�pB䖿!74�&e0��`g;ґ4M<"lh�YO�afH	r��':�j�CD5u�[���ڧ�հ��/�+�����S)�$��}��A]��Ź6b��$!�Ɩ=I��kB��G/����j�{�7{b2S�VU�D@���x�Yҁ/�
��n�P�4^yx��A�8xs��7%�Umr�7;_2��5����2� Ѧ
-_���9}�h^'Ȝ��`,%�d=yӁ��M:W��t��?�{���U���a_u���^��k�+d�%健x�lwޏ
xE�4v�,��e���嶉�v,a��<��g�4���HŽb]�̘�k[]�#[I$D��+���f���D��c7�g�Ig:�;���x�{���:3�=og\��8�Y�\���A5h<Z�_3􊝰j�%vYal���t�l%�ėȓ�-� �p�l�4w���{k�,ǟKW��M�9/�͸�Z��k˜�!�����.l��E!И�r�b=]!{���cE~c<Z�`�qe�T֮ۏ4M�É�Z�l����#9
�0�}r0�xd�}���r�P}�TDi��}m��=��7b���VAS5�I��Í2�N����2������W��/���Z�����T�D(��w����/;_�ݵϪew���������w ��)в��2iY
�* Щ�&Å���>�I�S���e���-Y��K��<X�7L��cU\��/P���C��|xx�U�d�
�v�DY�iꪕ���F���U3TcB���'�mX3�����+���\��^��ƌ�K�9�ը�45�@������xլ�ֶ��bԩ��v�i>dz��6r�OP�U�k�Q �L���]�}����WL����o��W�w_~Վ���{�B_�2CG�6̢!K�xh����^��Q2�m��|�#�%���Aϑ�P�V�RnT�V^��Ĺ�
��68�5�d��%��x����O��$y�0R��mI���s<�+v�!x!Y�V{u��0N��_�Ե#JKɤ��I�V���"ϴ�
��U|IT
:�Z��i|.)��բZ�ZW�W��yI�*�u��g�i�GF��x	�4�)��	ۮ_�uRI���4��W�����<��Ϣ�J�B��V1�5+f��Z�
�X���S�>��R��>�&���I���)��k�_��2�%��{q򔆼X�Q�FR��Ï�L+H&����od2.�#�W�w6€jv��Y�i;�r�P�<θ-�?kߐ�9��۶i�07#��Lp��E�1U�v5�qo/�ä�$�3��ЊX���gdF|WZ �t��.x{��Y�L�8��k�pQ��ۈe9Ĵ�5��r	QUA�h֋8��q�-+V��l�5�@'���"�o?}�v��%�����}����:jq�
�;%�(V��P�v�A��-���4���ſ�"$�Ô���[�y�S���°���������-�j��7KP��bB� �
xIw�6V^5�^����[�/�<9�V��/�,���z�����<�P�����z���Ǖ/(_W��{�̐��i��$w��I<MHd�.�ݬ�Qw7i`�P��N0O++$���yWv�v�翐���'�?)3ӎ��<�ǫc�����ܡa��&��D����R1Y`Pr�#�6��E��m����%d�eF��J�^��C�	ppL��E�u�
~`�TFZ!J}O8�=a��B�F.�%�%�%;�M%���j}�B�V�ˁ�MFN���M�<��[N���W�Uؐ����&�5�>O�u|�{������ː,_��4	9(?�$m���qP�M^� 2U�eȰ�E��K�]dsLc迺a���t���w�F-��F��j�*M��������`P<U/QY�ԛ�$�M�qH�����bx v�����
��6�5�=P�sC�����6�׎�?�ژ�%�e0�Q�0?C2�M��r9���2�xS�j��u'}T	��y�pS�:��K%7�N_s��5W8Z���N��꒪f,(��u�4�pS�vh�Jӌ�}F���.R�ͪ�+T�4G���ۯx�Wn����?����#��4^���]),��訥���}�m��,��o�Rm�>���}3��ƥ"U���hi�%���*�|b��&U�G�
@qW(g����E��^�#�'�O+�Z�����A&��)�fW��DAHS9Ue�H��qΊ���.�����}ȝ)�4�.k��|�3.�Ѹ\�P�+>s��2ar��9�x���M�O�Ô�{��R��X���(&�_�,�8&���k����@5���0Z��`Î�����/N��X�&i�-ׅ����&O�Z\z�[��dY!uM�q���f?n�B&��1yR:��wk5��6�����U�:�뚦h�S���ѴB�j�3&� �����{��nh�h�e����z�b�z&{]�\��e�"pC�3Š�pmZ5��M�&¼�4�wӍ�-�J�puZ5��CKB�Wh�Xa��{c]�a{�D��[�ԆF�K�8��qE`z�(9�L��@�j�q�[e��	1�15�*EQJv�Ӫכ��
7�B�ޡj�
Opf �n�Ð�x���v(�̏T�~\OS�iڔ6k�zPƋ���m�'.�B(��̹�5��00�l~��⫊'^}�%>���F��|b�q��۞�%c�׍���*8�K�9�LO(S>�|�3�$��RB!w&��gRf$�Hsd՛L[�\�B�^�!NM[b.�<�U���0�E1��1:1G�I<��3��c��tK�HY�3�'C@���r�EH�'�2�-p�#����JI%UJ�
/s*e$�CF��qp�Mw�5��w�G:���/���}�ԩ���Mq�x_�Mo�� �K�����=����BR�i�"Q
�h�
�j
�@����r37��FޯA�q���"��FK����-��u��;f!.YM#�-8�/;�ܖ��?y��Ma��ru����>���E� �����5�B�yOV��:z�ߒ&��`r�Έi1]:�h
 �:)[�xKsu*�v@5��yӉ*�Ǔ��n+v��ݒJ�y�lMv���x؇�xp��~&�Q*-����G�l*������Im���^BR٠I�k����&Á��h*�w�^��9��(=�yZ��.k�`�P�,��^,�c�2\�A*\����L���`H,nj�M�pM]5�l���/�@c��PY��s�WZ澕Υ�a\�/]z�o�s�5@EER��7��ïK��u-%G�7��i�C$�>����tM_�;��%��N�
��[�N4p.b�VV5��u�q���rK�`�>����@��jU�qU��v��&��X��V8ۨ��ߢ��D�aM��0#�f�\��Nm�����\Lj�V�4?w
�Qhr��D5δJ��K����������g�s�9�w����ҫJU��JYUJ���P@ 	(�$���C�ơ�xllc�1062��ƞ�q���i��v�8=�Z��W*!��9���w����N+�o}�w��DP�԰[��z�~ 5��@w�7��a8��Ko+0��Qv�����[}M�_0�n��z��!a��N)3����f1Z�dc>F��������]7�;��8�|r�,yt�Q��3���O*ߝ��wȧ�GQ�B�cq+L����2��_o�Smr�ߨ=P��-�|����q���������"�t#��PC!^k�
�m��X�՚��Tts`f�i�r(Ic乥��N��,��KqЧ�4K@1Êw���,.q8V,��GF����+���Rr���u4�U=��1Ni*c���|8͆��Q���F�����jy_
�|�����4
ͷ�6&��`�4�pu�5��4�LL�p�Y1H�9�o����Y�fٸ���3Mȅ�l���po7��$cG���g~/;%�饥�{��c��裏>��=��e���)Ȉaϧ����Q�V[D�c���+1��&1)3Im��geV�a��k@_�3�:���ްXP�_��,,,����*���������J?=��"	=�|�,��+�'E�⮐B���h��B�{OD�5�<f�4�hߡ�:TKr��׍��!�jm�>�P��82̂
�)7@��1C'���m�\���Ѹ����M����"[d�˰�l�a�V+2�d^�]�^��`n]�.��&�LSE��Lj$�(N~�b��b�-KP��1gɖ�
-L
�*:�1�!T�R۴u�	���>,�?���**�Zb�?�Ȃ�)�K�(ˀ��I��o�����e�	枆��h� �ֆ�`�j`�&O�:�q	uᘈ�����a�3����?A���q�&��ųt�C�$,d�n�m4ۼ�7�(�@2���`�R*�iۜo1\��p���Ԇ���ɶcW˦El�f;�r������ ,��8W���i/��"�`ҕ	�`�lt�	�X�"�_E�Hf�S��n���	&�)��ꎫ���qA�3��qZ n1	䶷7%�,j&�#O�'e� c%����L�̬gU����F�Y0�3+��a�Ø>S~W���o�/��p��<��=��z��w��|�C
�|ޙΧ'��`bǮg�nF,/���fv�
�.�z��+�4���z��f
������u9�}�����8R��`��h�����k���/'��߿�;O^��E�֘�5앎�>X���'��q��A�O��B�&y�b0��%q��?�GNSX�G������0�8���[R��y�+�2-��5�V�l�(ۖ
����L��J�N0����ID~�k뱭3�u3]h�cq�QGIk��4}!�C�r����]�T��Y�,�I��0���+�a��鳃��X
����0 �c���Ƕ��~�aa�4����H(�O,+�
zӂe-8�g��"븠��H�H}�t��I��ϱ�M/j�Z��R4.�i�I��LZMƊ��n�1'/_��Vzr��Ɓ��_@_�e�3��}�}gvwϐ�c/z�E���|�o~�ƙ�/����-�*�)=�������0��^����I��%J�i"ǚ�*l\�Lg&	�mf#%�$�
�1T�]ʂB����C"b�S[?���	�+�>fWg���SI5��Q%�fvj�8�<z���p�H��|�ٽq�1L�%��^��JN}���N�+d���3L��E9~�Rj,J���<<g�=G2�ҳ��'AVӗ�eCV���U{kk��y��{`~�r_	R=ӏ����"�����C�h��`���f�O7�;l���ˮ=1m��7^~�K7ɼ�����ˮj�n�痽r��e�W�47���_�.������S��Wdt*���/T'�J}q۲�6w��l]2��y'�o���r�#t���|t��^=�V8�o<��sq%ua
qK��%�-��XxQ�K_-=E.��`BQ��Ez�"���.�ni��g�G���}w`��I������,j�xX���`߈71BmXXBj�}:��R�0ـy�C	��n�P����3*��5����l|CP@��ʫ7۲�">�!j�ƹ����|v_0(����S�=��/�7��=$�������=R�l�l,�"�)�ь��	�O�t�����‚�ˍk��].|��kU��je1��B�aA͖�\�ѭa"�Ԙ��l�D�eE�kz�����J��>
t��I���j%L)��b-��e i��;����)�8�ltD��u���D�ҍA�"��_v),S�{�C����qͩpK�t�����
�u�S�Rp�6c
3;hu��m�Z�nc��5�7*qC�)!'����74&�ab�ť%x&�6�(r˸
.@�� /5&fH'��z�H3РaT
��Qf�q,7�Q��6�ih���y�~����gl�/���N��t�4R��P���`9��'�/=:��mV��ai�t�t��+��&�3���5Y��P#h�:�ݿ��X,�"�\��kH|0Q�$N�
�+c��	��P�٪�J�q�L[��]Al�4H�j�&��m6�ҤN����y�yA&zu�hG1l��X@�L6DQ��@������73s�n�|�<��?=���=�f��f�����q"�`�{>� �5f6w��<_'��w6��?g��&,pЏ�@JAَs���(i0.�ܖ�50�=�%�ԕ`PQ���5�j�k���:�H�&��i�lD�*���"͇0$�1�]x"Mj���y*&�{I"@k�i�n���}��7?Ff���XKГU�z�����)j�}a�Y�u����C12Rj��y��+�g�BFp��*�J��]���]��@��=��������&!�z�D��}�[HCU&�u�/R���&���~R�h?���D���֐�C�­�MN6*���L�*�D��ʎ`�ʑ��lz���#:��Lhj����L���(��z�����J�����o����0h�i��#�Ԏ�8�Pt�J�W�ux��>͋v�>t�o'�U�?�ߐ��
�=�����<f����?������_�s����������#=����p�?���,,\����g@a� �\>k��V`f)�!@�C�_�x���n#�H�%]T�����zUp��7;���y��w7f�8+��]�/+���<$�e(�m2��@I���s�&d�&�<<����1�\�^���@����#���9���:麬xO���A�j�,�T$T���"�%0n��=+��g<�7@_���&�AF�b���^�ua�r��:�f��f�9�w�f�7�d��NL�1V��_�Q�Yq*�*��wd�S�˲^ۭ���:7�&�<��c�ǜ��f�W�āE�[`����z4�{�5��=r��6Z�g�U�9���bݻw�^t���6�S��ՠ��>��q.�2���#d��+�]ze�	�tƤ6?hbVi��r9�&k|�������;Z��r0`�
�r�+�T�%ޓ���hM�]��]Ļ.#��?��/��/��s����\�->~
7�5[x̥����t��]W�A�ꑨ2���
����/��g�T������<���Ai��&!�Œ����ȘAn��7���^q���W�e+s���fHEy�H뮏��$Ԑ/����Je��=#�j`Yw=M�9}���:�R��O}��-�,�~d�)i�T��x�~>Q�� ���d0ۉ�Ȗɺ=B�z�;~�15x���=z�G����Zmq�fR�{���5fw/�h��[	���bm��uj���@�x7���T֜[K�����^1Y�уl8��E΃,�E�ݏ>�?�C}\)n:��tCz}gp���!]?4�n�1�>��%��?��W�nR��G\�-PZk��o��Z�����c;��+(���W���_=�y��"�K;���&}V�w#;�R��Q����=�<0��~�zR�N]�h�����)�E*�e��י1P�)�"u�zQ�T����ѳ��
�v����#Iz��@���ؘ_<u�s��&���|*��T�;}�=Pi ��@7�\��U���"ň^�u⸒�mk����J���jRm�kk�ξ��d4q��/���[}��?=�w��es�r�(6̣oN�m°(�/����/�
z$�6��φ�8sF��inہ~|`�}���Q���S�l�~]0]!FO��f9[�R���tǸ	݇�L0S'�3xՓ��#p[+�C�����������U86���
9EJT*1<��H�	���s�a�W0k�Y7�t�J�2�4�~=�V�Xv�*�|�G%k��G��w6}ڿp|������Ճ�f�*��^�D;�qlLa��DY�y��
3�qq��B�'���7B�U��Nw�6��9�R\j##�|��h`����Ngn
t�e3��wMׯh��nh��/��w�;�{���~����׎n�zh��G�[��vA���;���'�u�]�Y}�5�<��u�u�J��s":�frv/
9�;�ͧM2����C�/�IL��S��?�U�z�ӕ�n+
8�U���b�[�A6��M�ōn�ݫ����k������O����󫭹�[A9�_��i��즤b
�On]N��$�V<�I���뷶K�l��Ұt��)� <F4�e��f~nk�����m���*�bo���
�\�C�0��n�^�dž�l�wM�ћ�C�جϯ�kY�/�9F�|�x�v����խ[�q^�l����m'��<�Xk�x�i��h�N?�h�R��[�,c��0S�p��x.V���3{'L��p��sϒ���i`�g9�rx�1/��SGv�[���|rʎܥ?t]{k�i]S;��-����`)�����C�����ۧykY���z뺇�V+�^o��3�Y.�1a�/
ك����`5>��O�}� }����KK�SY�!��^��W Vns��ưh��j�O�,xz~0�8$lU�ě���̯����ȇO���.�\��^p7���W[o�ۃv�4�ڨ����/��j��Ã�Ψ����L_=�-� �G�T��~S-Q G��y3��\&I��6���v"D�\Ca#]����\2�t
Oh�s̬D��c�n�����QM�mH���/�BA��oMء��$^��z�̘���~k�D%�&�����x�%^>�u1�ɳz�
����m]d�;|�	y�K������.��\��2����{�
][]��`�-��ZU.m�+������<L��,r(�gU��ym���5����.��.�sh��@���?��o,�����v/xkskˠ�des��u}�VW�"��B�)��"�h���ܒ���8���է�Da�
ڞQqy��<�9��XC�aڠho
#��o�@��	(^�{b���*�,���I��D��5q߶iҫ���s����k���'��n���%𖜹�0.ד��z|�ŷ 祦]}��Ck�m�j�a�Y3u������h������L�����rN�P�#TT�g�\zx2�Y���H�i)�8Q/	��.�,�D�w\��J�hEz��'~�/?�龖��L�N[֑-�:q�e��IJ�\�̓"�v2�L�-�ص���U�X-�VCE��R��n�̐#�Z띟����G�"��C�qN��j	_�x��O0)��8��͋��O�wߏz��t��`V�5�q�'/�˦���wd��J}L�d�d]5]�~V;:�Uͳ[K�a�Kş�+t�[���;+?������r��S?�w:Y��q�TJ3�=�9/T��W���r�eo�c3f������;�c0���Am��`�E�

�|����t�=���#�O���R%�l�9����w4D�.6�D,��i;�7רy,,/vh����gV���?��u�ە��dqYtX�,-.-�-w��*'�K�M��gV�i�ܬfj}���œ�w(���~���ln������jR+ہ�ꋝ��~_O�iRSm�>�M��*�ե;JO��_*����pJ�CIB��6����
��(���@d���[$�}�Ct�0+8P�QQ�؀-�R� !ߝ��8�WY��M2�4=�s���8q֪ۏ���h��#M-���0�:a����u_ds#��
Ә~��kq�Osz
3�pL��
�.#>2O��]���V�r-��xk#w(1�����2�:�m�+>N5:��t#��4��ЃS�Tw+�H�-̖�˷�Bj�3L���Bm��H�X��x�NPä��5�?�隄�qa�S߂>���##w����cy�˧�L��b��� kr���֯B5�:Mp����g���.\��
B�F�Pa�Ԑ�ps�R�ԉ"!׾���4p/�Ph�E����z�l�jfq��W4;��D��k���{�ƨY_mM
[��j�IB�����p��pC�`R��*M�:�l�mi�b9{{s�h��s��b�QiP��t�BZd�\��3�_n
���p��+�@L*��z�0%��DO&�i�G/��؋:�ϻ��{�7]��z�ߥ2
�+U�M�/y�_����&��f��褞9ַN]p�2��������c����ql4��|h)��z'���V2�҅�2�>��虹m�A��[�Z�Uv��3O�ް�*!�����Hu״����&�
�m�	B F��Z�Pj*_(rt�n�[�0���V8ni�B�
:�g���M��P�b��"k���R��0
)LJM�[A��i�ŸWY�J���u?-S�_r����*��0�r;/%�x�5�f-��l�:���j��*���h����؈��M�zOF��Od�ņ�0l+V�1&��]��lm�t��4�,F�,B��]?�� ��EְᦒW��\����w��`��@#fk��s�+�}Qbe
�R�MXS���;�W��-�hՏ�\/�~
%��	�=�.���v:�z9�s��}'�\i���k"L��n�~�4�?�洖s�Բ�Z6����q�o�+��"|iĩ�1��u�����3�w���JY�Uz�ӶW8�b?�~^�<;��ͧ������4���Ʋ��˼��~��'�x����^���=��W��S�"o�;~2��*uͩ:�V��&��{�+�8E��+�>����^�榉�s�#�<Mȩ��O`�d�uX�������+O�
�
�廝�O��I/�w+���/�\�9Y��J�&2K���<2nx��>��]���w���M��d��WV�_�������Vwyy����{&�ER���)��J7�>r�x
Cg>��3�$A�]5�L��s���
�Ǡy��`�<2�"��<t]o"�X�<�VM�4K�����ܦ:�_|���?�ίZ�W/j����N�b8�}`{���Y�RX��.yCE��oC)��W�R�C�|3��,~)+���r[�A�\ƍF�X�Ћ�F��r�㽺a���1�{�߅��#�*��������J?V�E��b�نv�
�'�t�ߛL�i1 �5��)��ٟ��J��J�Y�(;2hX2qm骜�@5�-�r��kfSh2{/2���C
��(w�1���l�%.��p0#�j�����m�V��	��&ҹ
��v��e��2�k��O��B�s#sk��i�e[T��–��^���av��E�h%���;�,#���j��b�duZK�o�b��5�Gj�#WW�@׹�$��AZ߼c���G�`!� �e�ؖLm���Si�|��-�/F�J��ץPL�dcVh��
JӑVpy+�GX1�NJ
���k�429Yna���2�fD��B~��l	D�<�)f�i���QTs���y<�Wւ� mwH2N�h
3(����oSr���&X�ogfͤv�[�d�/]��E�1���8��19�I��F�l�}���i���2�Z����t��핛�vY��2wjfPcv��J?�Vŵ���Rj,����-7SB�N�wL��Q�,�+B�Nj=�ظywò��Ʋcw�W�j�yp�܆aL���t2���kS8�ͯc���ի���:��^km/�1�lE�G�KA&Ԟ��Y�0^I�K>E�L�c����1�&�h�b��?.0K~�+PQ1j�0!:/ɤ��%�Ē�������Ӆ��)����n5FP�H��p��
f���hz�s`��e*6k8���Y'`R�4ʊ�﫲��$�Xy�a3Pw�M��{DYM��>%"Q����șE�U����E4�z¤
�%�eEM�Yl�+�T�#Q>P�,
h��t�/b���Z�Q�/�eF���p7*�#Y�3���H�JAs�_����k�0K0�4��0�F��Y:[��ua�ipft�����0O#\�j�̐�kSu|ei4E��s8)�B�#o
"�O�7Q\�Rꊱ9e5	0�$��T��s!&T�iih	�s	�D ��9�+�WѢ�h�}0�;�h"_E��_a�Ԁ¥,�B�	/��|$�UJ���U�ȗ���L�V$۽�a�E�"ݥ�����/7��y�R��ӓJo��S���5?Ҙ�2S2����
���lHr�.�Z�1�3�>�6��i���ٺ�	V��]3��	�l�2��u�O�!A���q1,�j:v�̰5�-@���'>X���
$��ÑTW�JLh���0C:&n1�b��\Q����:���{���@5�<R�.Q�`D+Gsi�`�Wք.1K
��Ϯ.�}BC1�����p�X�O��I=��y��``:|���m[����p��kpV*)��K���9���j~�[[�*�����卼^	V��̻��7�z�/��N~�����y}���e��R>�����D3���u"�����~����xا0Ҵ�+�V��'�E �f����bW��g6=���l�a
�L��m��[w{�d6u�av�b�*	���?-�����k{���s�$1�+���ip�;>���;�$��<�>h�+eR���ѸN6�PW�M�.`��NG�N�*�J�qP�Y�ͬ޽B,H�f�簌�E��`͍"G˰�C�1��b�lQU|y��s��L�q����������hs�lb_Gc�����7��'�tc������q��"��`���&��t	�V����� ���#P�����ܸ����q
����b�~���F_���w��虃n����=��� t�t�p��
F>��5F���j�"Y�3��^!%��ay��Q�g#���j&av�\vL�oM��ԩk{��D��s]�eW-PH��a��d	"`X���)���bjiED�e8q5_�X笗E")h�
d�4�(���oJ~�>�bVx30~�$-����s�Y��D
wa�RA�^��J<���(�P"�B��e�(`S��3�WB��m�)�a]�������@ls�vWJ��AP�4rF2d���i[�i ���x�kItCR�-���)���R)�l���/�N�����aʲ��b&��׋�Q�u%f1�
�&�y�1�o?���
�eHPQ�At����tח 5��i���<�B�F1$-'2S7�����x��l}�b����˚�Z���U>��1l^�z���a��
��C��r��
�:�
$�T�|����V�~ErS)e�&��X�v۳
ݱi�����(��`UŒ�!��0�F��ō�ea5�O�Z�2�<S@B����`C0[���#4����970Y9s�$0��m6#�����o�8���L��M)4:ݲ��г�*�Hk�1��(��;��N�z5L'`C�N�S�e��PG���:nEE�.\C�g�t���#�
�!8[辍cW�~0���U�9�>���5�Ak\"ߤ�10)�D8����U˜q��a�̄�$"��|�`��`��7�7S�S���N����7�f#�0}�g�N*�T�k�ڊ0�iWM�J�<�U	:	N�v�k̍M�#��
[�nfJ�60o45�}9�-�Q�0;��@��i�F�%�(���ϕ���$�d��VЁ�? ~��p��5ȹg��~�!�ȞI����"DSW�~򖥕���5n7����t20omOӒ,ƩD�Z�6l����Y�AF�n�a��F��,N#AZ:��B�,\q�M��v�ؐ g%	��.�~��8$,|��j�۶a�:�Maқ�cTF�d�,#9�T��;��i	kui���*a���<wan};�G�'{u�;����=g5t��溥%�fY�)ϧRYd��z�f2x���a�f���l?|��K4
^�j�x��%��vω�w�����Ĉ|t��'\�����='O�=?��K��w���Ҹ�W:Y:]��to�%�7���l��|O�ƽ|8J�"��L��Χ�L�or�=���<��̫Uj�a�*����f�G..����[����7���k7���N�~�Ͽ3~U��z^j�,���H�D���1;��x^b�4���>��7~�����~�C/]{�%/N>�_�ԫ7��#/]1ޕ^��2,��V���x�/����k�n9T���䓷ah�eM��)�->�]�]�Tq�iY�o߈7촆�_������ԅ�׽��+�����|�P�}�%FYIY�r�*՟�"�/䋥�(}���ϖ~��˥_+�f�K����@e���d��#�� X/��𣾁y7��T�
t6��}��m�h.[d��G0	�B�`��	���I�<�9��K��\>ɧH�a.�c���StoN���p���a$Q/V���2;��8�J��4�i�,�	¨Ғ�P��Ј�FEVA��r+ͳ �4cRH����^(��Γv'au%���-~F���8,�^#Hm^�4Z��둨iaS���7|��A��:s�o�J�'�2�+V�[Ҏ�k�a�+������XiV�ש���$�l٤~��k�m�
X���GˎL�Z�e��jh��SҎ���w#�wv�;�[�%����Mr���A}����k
/j$!1�cͨ�u�ze��z3aN���L4��G��~�"X�m�tX�]o7�
�]��65LB�(h�y�si�#f��6�].�F�S_ O��*�J��^�����@X#�]��{b�!6�"�	�����%1̔�'���{.T�:
��C�[�ו�IV�p˟m��0�cW�'�
T�#�{6���$m��Ϩ�*���e������l����Ӎ��гMA�y��	�V`�~��d�AZ�Y�q��6���_&��O���]S��O�D��]��b��ya�+��Zi8�lf�o1v�[
,�ߑW'��p�w5��f>jP��q34�4#�q��[�3��t�HF6)�Ra����WY+M�LT�ѡZ��X!�0����M>M~�d�U3�<����J�#e�T�W泊��G�GѤ*ɂ(�T�>H�:��}9L�M�`�)ڧrrc�҂�(K�|ť�I��ERW��U�p
|�d1�~2�Ȟ�G�DC1�ʂ�(��l�[$F�<�(�
1�VF.��n�nL�7�\#�`���i�i>N��.�t�	%l�1h,���t��2N��z"�#=d蚃*�)GGL�n�l�;W���R�?��T�9��ʹ5�+�&��@��3ܹxw��湤�0�����uu����|�w��k+}F���+]G�.��?��m��u@?�//��Eҗ��]��C�d�#�"�8�r`�E��W�cB�I�X��M@�OK��BdS#���^"����R�H5CU��Ua`H�c�@�P�Fjp��@#�e�3���G���:XH�HE�ByV�,��2�cGY{5!�z�W�V�ӕ���<�͞��Ч�g�V�������k7� C3�s�I�&���Rǵ��%��W\����I�b̲�I��Y`'���,�����*�7m ^ѱ�Z��o�uk�t8ԓ=01��1��:��0JdN�z�s��	�d���?t;���E���oW�ۇ��N�Z�v����=���P	����7n_E�m�x��8��ӹp���S�Y���\����bt.�g�@�
2$�?Gy���g��̓�n��]o���&W��vzW<p�?_yY�Y�-�T_?ڻ�{.%W}���jognr��_�؟��_Px�^�4w��/�$��L��,�I���Ӕt�I�?��o�~ً������K'�;��w�N|?�w�A9}�C���� n�Y:��/I��K_g�7�B�]X�7z��I��_�1��/V�̴�x����5�w��ێc�3r�+��t�{aJ� ��Ƒ8j��$��r�$���G�]rͥ�Q��;���o��2h�e����]G����
y[)����(f���\<��>R��b�Lf?R�(�zzq�3�gط���sj��j<�-���އd�'?\?�нXw��3�_�Hwvʽjl��s�x
�Cp�#^,?�h�1.��g|�׽��'����K���zi�{I�r��Z�I��u�,L0�%�S$ѓ~�#���}6�A�,Ì)�L����J��~~Aӵ�a��i��m=jdQ�VhG)��ْeV�if�?��^��j�� X
�gM�>f���~Ӽ���!������]=�n����k��C��u:�q؛��q��xmi
�]	aH����n����%�,����/^:!*�|��i6���걝Je�X�HlG�z3�o���\�1�j&�C�X
�BV�-s��Ȇ���펕���v�k���Q�]2�\\)N,K�Z{�ר�$��q���2�|��������l'����^֝Wx&�G=
+�V�:��JdEq�z>�.B!�"��"JS��dd4"����4fY�{�m����g�E f���(��5�Y��&��="i2)%=����IJm�<�0��c¶5_hG�6��E����OKs4t\ ��'��9=ZKB.z�4N��ֲ+����e;@g��H@ыB����l�l���U@������dY�G���z��O�r-
��(��Wr��1�]����W	��3�=|C���q~�uEx���
n`�F9�߂�O&��x����x�껯���ަY�χ�\�L�����g2��#�A�BTdEkwE��tPے4A(��w]m3&��A���0N���D��L~3u�y������;>,摚�jN���x4ψ�]`�S	H���Z>�D���x�.��9P�ʵ�j����2��B��Iك���
��a��a��z���D&O`'�T��z�lP��-}�����{�D2��}�N����&a�7+Y���u�%�T+u�'O�=���)�iE�GOE�Z����W2���������[vwv�k�7��kQm�߸�o<r�����1n��SJKu�)����D�$!�L��p�#�ʈ k�@���v�w,�������nt���d�LN_��8q䃷�?m~�%{�������/�g��:��1���K������$�x�ex�k��)/][����K��EB�!�*�@�\���h�8�(�=h���>��d1k�ȗ�yT��E�*s�[�eȑ�~0D�x��d8VC�)~�؃4�N>���%={�I[����^/��
�4�ȣ�A��U]S�K�k7j|H�ף���
JZ��T�pG�T�ob�Œ=P#�8�r�3A�}S�_��|pe9CF�m_����T������9`�Ɖmt��%���P��ؼ<ˆ̎�]CjZ���uTnZtݶ;�rl��-0./�tKJ��6�ۚ�L�\�P}܅����_0���f.B���
ǠrR
��E[S&(\�q�
���W4�wV̘�������\���������˞����6�v/��#]l��>gī�ӊ�è4���^c}u�;��d�X�V�i�,yO�3���q}g齥��9�"�_�_���N�t���>�fEAD��f&7HHٟ�&��d��]7�r�����)9��l|��Y����4�4~H<�Ș~ۗ*�X�
�Ņr�Mz�?�60�ډT�f�׎نg��\���$�2���0<ё��SL�D�����AH(�d����A�Y-�Vk�w1zm2ES�Y�U�6P��#Q~d���a��D��5��"C�ѥ5R�-�·M1A�߬�na�i�2�@`�f���vߩL0�a��8Fde��a�"9E�e���:� ݀���4s�mb�M=���e�քG���ʗ&pA@�
L�t\�`%�j/hCk���8A���Z��%"{�!�����]�l?k��4��B��ɕw_b�F������.\����;�s�
��|������r�4�
[X>BM����@�֠��9`��E9e��cz��Y�F5xf�E�n�g�Ľ�f���N`�ì�M$]�2ぶ��~�b��3�:Ĥ�
�ܵ��{z`6��b�^uI����N3I$
L�H��Fb��	�7@��"wA��V+L�S��YG7gEE(��F���t$F\S��$��b���� ��-f6ksn�!0e9>f-���y���
�f�B��:�1mǭ�����1o��m5
�X�$a`*�+e���H5a�چ��QE|�3Rj�\�B�f��a����DFB9�CX�/�����l��t�%E&$�u��b"��<��9�c��c��<�M�%�{� LD�nar,�ٳ�Ƅ�s�s ���Z�M1�����)��D��!��x�u�#�;7���՞¬i���pb��҆_)�r�Z�#u
#��b�<���L��1A�L�a����,�6��X��e�zl�I��)qO��m3�uԐ�ΒV,	#Fh���!	eU+)�E)T=l��ExZv�F�3l7h�Y���DT�����՘Ï�T�����f����X�q�#�J[Y�t�AO�og�)���DB��28�iA�^���J,�p�[N�^���N�8�k�܊�3R���"Z��OV��00��A�C3B;���e�����*�F@�4�	��˹Ϥ]oo'�yaj�]戇4c޲=ch�S�9Ol����g&]dZ�!1`�l�j��%��m#�-�����E��X0�0�-�f�-�`U'�p`��2�L���҅��\�ss\���%��A�������eP*e�1��=�ѠH,G����������؊��	���7�ƌ�,I�*��f}�R�� E��"�eC#��(�]wV��u�
�i�/e��Ҩl6q��)�J��-M"N��
wņ'�M'�:.�{7>�煗"ǻs�`�ʗe J�G~Sh
�Z�8�-C�
g"xa
f�]��걦���<aŎ:��:�f5`��LtW�frQku;%"��(�q+GrCM�{�S���%�^>T��\�_P���J�#r�)�]�h����Te��6AV�0厖�5>Ɛ$��
�6�
0ᓍ]�	}��ʊ{&/�GʎB�\"��h��$X�ן*���x�IUoA�J���ӣ����ͱ��c�D@t���lD�*^ޅ7�UDM�P�0�p�|F/�U�@WL^��cTt:L@����(ZtV$�Kc�\� ���vj-3�;4��g�+{���`�P�K�����Ȍ-��xU����)r�l�W�o4P�����2�B��V�a��c�����_�G��![I=�^��u��:sE�x?�H�I������!
w�h<��FA�T(p�U�$��WW�cBg��<EyP�IQ�j9А����/?}S'i}��'�o���s:Z�V�R�r*�#FQч��6��uc���Ӑ���?�#6�=�R���AĬ��s��ҙ�v��d-%�7�plCw)��"~�����
�e|\��@p
��|naq`,�7)$��F���ΗrXЖoc�Ǭ���5X����wL~�Y��Q�g���,��0-�Q�j�*]�ի���6����hrW���,9	���s�EW��{�(���80�,�J<�]�`l�i�5�t�����C���v�6'yd�F丂�i]$YF����x(�&�#��xI�&��p\�#a]P��
�V�D����R�}����j9Se�k��]׃(g�7����P���8R�6(F�]G��)�G���+��^���[���������A�ڰXkvh
��
�� �	\ؙ*��9f��oY�1cƉ��UB.9�yl�ϴvu�<�>�.<.ĥG/��Uj/!�@<�#=eRwb3�r�PP�T�0d���x*c
;��)͸*�	=����g��{
G���=p�+��j��+�u�EQ�����Ye��T)��"M5�;�"�s��^�u9�5~�,@@Wc��
z�2��5�����`\
@�%<��Z�x�tC����,��#���g[P��J���Oj��٠#t��-J[�F�>%í�a"6��3��A|�9��h/5�˻`
K�|4�YJ@w��>J��n)/�\:[zM�
�����g�"<�6���Hn#������O�������Y����G���)��H�0E�w�I+`�NaY�G�����B�b�bt@�j����LG4>%��d(7��~2��c�1:��#9�#�ʁ��D9K�"���>V9��4)��q*�d0M�/�P|&��P�`m��S�?p���l��.U�ɦӤߓ�Z��	�2P�
��h*3��X5
���'��.G�5
�e	�<��H�!q{�`��O�]��I��G���*qM&C�L�DA��V�ll�]
�vA�
%�\�<�g�5�|0�u7,��dKCX�%�Q
Y:�\g`C�2��3�#���5M)��h2#�Դ�Z��4=��PpD܈�5��{�s�\������L�@�Zȸ
�y��F�-w�0�]m�4T��`QcdS(I�9�F-���p��k�ŝ���`Lh�!];3t����0�1�Y�:���+��`�����k�<���/�eG��
!I�z=ϻT.ɕUwZ:�٩H�G�uoy=X["�)Ѥ0��%�)]�2��E�Y/�<���\�X��Q��QM�#dPᕑz	�C�~X�'V�0�h�
0��=>9>Lwl�1�#�N�g��|XK7�~�N/��v�d��Њ܄�#r,VԟS�5�m�䡤Um�[�\+4�1gJ2*�)�9S��P
P�a��3D�B��h{
�r�r���TŶI��P�r?1��/ٶ�$	���H���?#2����u��b�`|���GbS\e\'W@�1.7x�/�K|[�����7C�hu(�<�\�T)�
/�d�b3�?�I��q;@4HAX��6�S�Mѝ��Y�A@�j5�?�>��7�+�]{�e��v�C�N���덿1�K��?p&y~X���A�g/h�ƫA�k�����wE����"-�8�N�x�2�YƤ�C�jŒW��
�ПUD
:�&�5��&��0�‧;/2�fP� �o���$��"�ĬRj�}��a��ʅ�K���n�-�rbH�uXg08��+�Fm';K��������G��8�
�^lV��)�U���Xo^�*(OW�eP^U#��8��������X)Ayo�A_O)�W�,�,݂�^��D�臝�#�=(�*X��g�A)�,�S���w-������?��>�\�$�Y�,�_K��J�e-#7�A^�+/������k���^u�jՎt��bb�8����n|�~�۹�����G|Kx�n�Y��Z[�^��C�!+5}�r�J"�憑tx�1���:s���+�K���(;VcU�ˏW�k�J3�B��}�*b���ȫK�T/͗n(=��һJ�(�1��%�C�#��ג�_%O�?�7�[����1�6��"{�}��z���	�͍|�G�x�:��n�lp*�J�FW��(�Q�m��
V�݉���m�]4���5�q%b�U6�^�t�&q7F9o�I�����dcZD@M�2����ɸ�	��`E�D��5�M1Y�zF:�'�h������
�)^��M��	"ʇ���8�	�p�!�FQ��� ζ��X%���7@�A�A�H�A1U6�t
ٴ�+�;�U�>��f��7� K7�x����+�t���~;<�L=�}:^#E�o�?�I
�������Q�cO�0+Ta�|4�%I#3tL����1ǘں�6�VGt/�)���;����?	'�?h�g�E�5r���L9����S�Y<s܏h��l2�Rw���0�ЅTGk��J�E��l�c��Y�iZ)��_���P�=�-t��4n�QC��Ca��}��R�Ү�'/��U+�~vB�ʱ�/Z
l'A��nŶ���O���q#��@F �p����5��t�@׼���:U��
�`z�=�W�FI�Z륃�ٵTL�Bi!N���[���1��TJ�ak�h1T8��BrZ�`[i���b�ױ���Vs�„�rn��VEa�.�CtL�``贜` 	光���
y%$%��
%#j]k�ȷ��O�8��-�HP+��N\>�¤��Z�HV���ke�f�ڷA��b��A�d:���$Pk�ݙ��9m�ɺ4�~`aB�F�Iw����Nڜ畛�;vt���l�~�:�cV��v�'�!+W�����x\��p�0�@ׁM�ۘ-��m��n�.ree���-������F�V�I򱗞��Bt�4��I���f�hH/��Q��%P�\Uv�#~ď}_r�\"��ʪ�ʽ����[��M�JB[KjI	5���� ��
��X�x�<0�A��Fpv���"�0��1�0��9��V��Y��������Ȉ�?������6KP�v��M��M9`L|�"�*�G������B�$+�����V�kp�m^/�!��D��!/�*�
���	Ŭ&M�F*�.%l"��璩(�K�Epfv�p\���#����B�R�E� ��:�0��L�+)+��ѓD�1	��]a���W���D[�ɖ�nO�iY�9��������s	S�$5r-g%�6��z	�ClѤ �<SFQ�%h�
tUU��o����`���e��i��B?�����х>�MuI��oΛUm��J�̘�ǩ�%��r}׼ꀺ_Zǎ�)%2�IJ�+Ӓ����j��j?�	��B�5t��p�z����{,��ևG��<���0�4���z���Z�9�&x�:��l$�H
]�|鋵|iV�:�/~P��=r��S�<���3g���*r��s�����<˕ˆ��W���=�{8���Gs��}>������긐S�W��|��:�)��ݘ;�!��g���2��@����Lp��NGl�i��8������h4���D��n=D���,�
��L��l���tI��Yp��gy�Q�-��O�9�tg�_�%��Gd��8g�I0�-r.j�p����\�z"��$O^��fi�0��BiO:�������Ȕ�b�	&,p�_���"g�9�A��L�)۝qē�\�n��(C��̇���av�~fv�3�Ͷ#H:��K9�m
Y�6v�u#���4�>�W�]>�K�i�Ty'�<T`�F�����a�qJ#�)�tJ�����
,א��?�)�T0��a�5T�e�Fi�R�3A����sĶ�m�a���0���β0�7�v�k�9�R�_��WV��B��5n�,X�/Hqa)�%?�C5o�VyP�;��Z��Qw��|�E��X��t���8��C�R7.IR��aл��'�0j��eI��R1V�J����\�����d0[�\[�\�=�dk�|��2����P��\Ҙ4�Iw��"ee�ͦ�����m�ٔU���6���W��š›+B���Z�����a�Ο�T���24Yn�2w�=4�0,.��q���ϵN-C�U9,���d�t]\�Eq�1$Mp���C0��M<�5nFS/�R*�(��3�R�4�o�=Ϳқ��վs�[>t���{t�q�H���%��u|Cԣf�m���A�n�E��{t��uz|a�E�K�6I*���gkڹ\�^|��|��p�tF��N�pC)���bg+�%��Њ���ݕ'�B�+`"��V�KT)�^!�{g�زƄu}H^6�E�V���M��o��������#�`�Py��\"��gtR��C[����~$9�����x,�h.|�߿�xR����0W��S���[W���\q��UU{���>xk��R� 9_�ɳp�_���'s�������).;�>�G7:=i��g�T��o����7����Q%�V
U-|u��능�R!�T��V�#K�Fw�y��y��`�,R�)�0N�Y�1���H�>�R"�[��Mdya��U@�砧jg4_Nd�6I�ֿ�եpU�;l�H(%�.wے�/��&������DIwo�A�f���[5SM*]�$s�&
Zm� 1��q�����i`�7J�&���)1�q^�O��
�r)�kB�}�Hɕ�3<Z2/��Ґu&6Ia=a���vf�Ik�i�vZa��YG�t�ɬJ��G�,D)�0|�:#,�����Q=zOm%���躧�[[;w���Ek�4����N�N;אr�����+�c�[?���UxU��WW���qvm���S;Y��!�W��^��~����j+pT�Xm%��h�J�x��}�w����gjG�o>Q��9}���n��V�5���sK�pj��p�>-���B�ןmHYZ�M2����>i���Qlp�Snm���lZ%�-�]h�ڼru6��s(��wc�n�]S��ZXoz|��` ��-��KT�դJT��$��!߅`W�}'�DJ��\���N� ��w��d#xԭV���U�w����¹�y�԰��~n�[�Շ�*�ka�}7�f�����:O�&�W�1t��t�-�-˟�l����z��7W�K�l�޼8�QE������1z�K{u���a֊
Ș>w\�|��5�S饿��y��Ψ��pt�k�'�ē�d&Kb�]�\�K͓���r�����O&I�Xsݒ��o���xӃ+ِ��du�E����j0��$dUf�Q���|�"W�+��{P 5r�n�^�����ˮ W_w�.�F�4�����»	9~<�[V���7d:Z8OT�-�	wإ��a$�Q�u�f� �0?b��y6+�^s^�Q��i�#ȁ��6�x*W,�(HQ%�N]e#��tO}�Q�!\��K枉0ܱkf������I�\�7�6��>m?T7�X�][����
�k��z+�bq��kpw�`���3���J5��3��|�X���|�듋k��(Y.7���۱c������h��]��Ih=�A��L�E�su�B�;��,����r�ʽ/�Լ�^�%\_L�I�N�/�"��0�̣+�mٞ��g�;�'|댋;425��Ȋ�A!��I<��zϖ��q�������o?Y����U8����>� y��UBg2��޺�(
f4�Hd)el"ӆ$$�)Ҟ(v����<g���*~m���P�1��j�n,9���E����.[r��E����"��$��N%)��U	�1{T\�SF�a�S}�Z��k���F�R��t�d�U���>&�)��2mr���25-bhk��O�k�H�au9_P��*5CQ-"�^^�d�ב��i��1Z#jt���_�h*�V���H�ZRU�+S���}��<j��ԝ�@���۶	×
�i:|�cH�9xq�q���ksmk"�n�����ߦA�]��'�%��7/<�8���9�^�����M�K��#IB�Q�2��~tH5�;��[��ޗ���>kY�����Gl���'d��He<y߸���{��A���c��&���Ё1�;��c��1‘�!6��H3�3}-KL�ϻ[����R	�n�A�tC%cŤa���Z`��1��F�VV�j!DzE�D摧��@�t�w����h}c�bȓB����<�P�Rh^�ǑS��ڤb�b�*؎��k�'?�<!f�6�0�㻀gF�A�l}��5Y>�G�}��ѣ_��@٧+
k��~؊x2�	�8�R<&��9�X-��ܞM���D�����DaB!�La�5���X���G����'�ݕ�C��Ng!���O��f�,�r�Ѽɤ�Tl+�O&��{뻕F�H�-3	^�����Y�|�[����\�Y�]/���.��+��0\]���[����!�&q��*Ze�a�.lA;��|*w{������}���-�)@�Kȕ���h䥐皵���j��d̕�pJm�o#�.�H�6����f��X�9D��)���x����iƗ�{I�	c�8��4:Y�@�q��H�Y��1~��h|
�!�磬�4�0`?Z�_�;(��rd���u�xMB�=0���6*�M��g�{�5)��Q��qv���xU1N��1���=��5�Y�n;}�H-�T(7I�\(�-�_mjy�-�?�����O
��Lh��k&�ijĈj�"#
���蒏y0�j�N��<�k���w��J�)�Ep,�����98Z��DW8�"�
�X`����hD65QR5*j� ZB�o$�|�4�&8��e����-ڪ@,Q�5��7c�L4���&c�?��E�E��D�����t �^��*��*��ݪ1�~��;+�V�"�z�7m���|84����mKה(I
�
Q����0Tʕ�����JY	�-M�j�JUjh*�i�b�y�z��}ͬVM�����a�<����T̀��iM�Z���~���HU+$��%�F�-�'���0�@!p��2!���"�- y��0y΂���X�=��fdf,f�c�A�%
�,`g��\`3JD0�DSP��`Da�PM��X��Mk��Q������+K�k3������f��7��PTU�K���FUk.BEq���F�j��hf��qxKȑ������p2�̩E8��tV�Y�.���-q���RzW\���DJ��U%6������Yw׫��0i���7�.;��җ��uh�B`7�P�X)�I$���;
�J$��/^���P�p�q��ϸ�+紜v"���r���-�\�������i�H��Ib���˧Ƀ�����=m�}�)�o���kd��߄7��4�yK�$g|��O|�G����*u���{^�W�'ܭ�~�2h��ԧ�'��JP�B�0���H�����P�de�Ľz�֏�����}g�[P�������b�(i��j�(تDx�)���ksv�C�mN�	�5��klpN��(\x�\�,�v.��A�b�`f7Nc[Bg�tCD�A�0*�a�.b�a2t��q��
9�\j��ժFf�Bc����UWh<��;�Xzj��M����Vm?�9�NN�+h*�]$��"G���hT2$�*i����ûzM�@쨭���u���8&W3�v	Teb�I��^���k�h�J9�j�HT/n��l�+Q9Oތ�(�~�V�n��^Q��7Ӎը���q�B�шn;�Sq8n|�%�]��An#w��
榌WL�*���87�F�<s����t�#}���[ͫ�G&��jy0���h��|�����/(��l�h�^ڍ�C�/*=�
Z�w�%6�"�|�7UK�qXY(]_Z���&�]��~?X�-+�^A�M%
�x1\E?��t?�C��:���U�M�sj�=�:�8�`O��'��%6$>��)�a:CF!���	��:��S��`��u%Iu�:s�+�e%0��rP�Q��ZX�[:�^~u��K��J*_�k�b�P����)L5=��)qC���$���o��b��WZ�����
���j�Z����y������j��~!�4�,�R�1J���`rV�bԤ�*�[�\-�V7�W��(��\Mh���x(S��l��ژ\�J�\ʦG�8EMOxI[u�ޜm�I^�B��%�Ή%Y?��~_)b��Vyg���<&9�3I�F�͍�[?&��j�D$M"2�+��#��ĉ‘֙Op2p*(�D���/;?%����k�U��ο_��X��_�/�~*w5x�F���~�}�d��2��q{��|�X#����ip�*y0���B4���=�+���l�BT�h7�O�0g��_qU�mD�{�cN��,\�0Q���wL�#*ïf&��.IT�Z�VIS,@�M,LS�Z��'Ȟ^��Z~�\$�zT�P���
F[��B��}A�ܑ�P����Z�/*�蜩�V�'��0�S���D�vʘS�'uA�+&V�$Ʋ*�>�=���Qr�����'4��T�׊%g���a���
!�P?�7F9�D���1�p-JT��x�[�<�o�jKY�/���H^L֜7��E�9%T�UL��xdJ���vK1�$���K���L+nȺ�B��qV��p�eM]\�PN.�YU���lǎ�`���zͪm���%�֊c~�y�>,�#߈�F�#���o�Kt�����4z�Z����Ó'���n5�r��0�m���f� �b�~�s�%F�Z��E-��3Nd�ζŢQF��c�Y�PF�qwK��r-�Y�EYB �f�;��t��Y���%���w��ĝ�pC`ٵ���)vn���<h0��c��01��뫭NS^J�ژ2g���vD�,P��&D�e���Q�>^�"�j�^Q���-@�}�cN�t�\Q���>6h���/�`}��&ͼj�㽫��d�Њ�"�/������[��uUAbzbT}�I��"�:#�CL	�0*`z��l��7�r>d-�[<�"-�C
��P۩�ׇ��Z��c��h
BTڐ��5f5�a�C�T��E����|�S>Q�,v:�b��ر*E��D18qF����T�}d�ή�9F��9U,�E�|b�Q��^�ǒA���Q�h��
2+1r�L���U`'��Q����YBc��JF�qg���=�Kܝ��p�����t�0ax�%�OUN��\�Zuy�J���w��s���^\2lE���ؾLN�����a����C/��;4�,P�7mp&�.'Ӳ�6���a��ڍ-.��F�*�ؐใR�����3*��?+*�g�SF��G����l�z����FA��Ҙ�}�����>Lś�&����ͧE�4!��;��?�9�X�vt
�ܭ���=aS:�Ÿ���E �B�{����u^��ڳqUws���O�9W���di���u�Uz��˛�:��.y�s��-�f��������tI���Y(��*K~���eA_@l�X�ɘܞ�䎧��.5�C�,Y@��D�C�?�utC�|�#��&Ê!���}BoTL�o5����b� Q	�:
|U#�Ɩ��XN �;Xk�^b3W��hl�n��k�T��T�b��م3��$�0��>]��)�Y�?�Qb�ŌB�Q?��=��-�_�mY_�fH����{�$r�q�/5`�בA{���"����=�,V�zH��	�Q�3��_�,�ι�#,w�!�)�k(���Pn �)I��q4PaC�!�y~
��=ѝ0�4�ݡ�{n;��n�T+`�؂�$t��w�uBR���MI�ַ~���DQo��>;�l͐8< G5I�O�h�"
�dh�����\V*q\��QT״0�&A�$��'5q-H�A�����C�����e�����n���N�[T���̶V�4-�ߚ�ʢ�p|�EM�/Z�@�\F�Ȝ}�W�%��
��ܭ��O�]��D!xG�m����!Vf�"�!�
���P��N*)�0MX�ʃtr<M	%k�X�:�VWrȎd�`�H���A0���*:�p��1��!0,�!Xω1o@�����2{&�1Nv��:Y�Z&T��/�\qgu:�r'i~���`�!9��n+,�Nq�:�K<�Uy �8����I��Dm6y���Kg�ո7l�=���iʋ}�C���^�^��kOv	=2�ӟI�1� 
��lۀ�~�=Z{Z��ŕ���e0��Zcw��W�2uM���k�_�̵���D�yHێy�vX����"��ffA$z�h���-$�pL,(Q��x#�Le�p��ꮥ~���Đ�[���NPT0�j�O��
TC��~xA�CJ�l���JH�k\�*1!����T�B*$�7`.|�f�?�d��-/�.��Z��r�/�v\���Ƭ0ر�M6��A*PYQuuZ��������o�2�#��B�n^�_BE*PU�\�Z!�����,K�`'�%�$���&!u>�;�K��(��L����"�K�4yJ�3xT8�!eC�ʵ&�:�6,b�x�d��A*ۧ�P�5罫�!WCK<K_�������m��1>�n�.��;�$
Gʯݵ����0��ΣA�_<�Ʊ�C�u���.��=���z/lF�Y�t=n��S�W�}�*�=�_*j�����r�^�L���l	�[퉜1!��,��85��g~���6k�q�)�$��D�����rgCa�8��f�7j)����i[�l�qP2�Uk��
�(�
ɀ�y�6�Ps<�������P��:$�:u7��U=����T��0�
!L��;��+��)�T��0�o�K8%*n��,�I�#f´b>*[6�_���`<T+I0��`i	��Nӻ�u��'XT�%�FVj
QCRԜ�.|~�S�6��Gr'Q�g�"T[;h
=2��E������Z4G���䬗�/Y{��xer�F��T��Ъ�0!B��S��B��l�T�q��EW���0;��\�s��Q
���������b�p�P,�K0,Al
)��[��~�箤�R	HX!K�h`V���^9ܹa�Wj��.�h[ח����jD�V���i��" [�-��r
وH+�ە�ߑ7�\%�����%F��L�;�w�� �aA����v�V� Y%��E��&qS7ZE�����IE9��4p0*�E9y9���J��T�=�N��)r�%���;DGi�XT��B\���<����|��,��$Tf�cY��{0��s_�-��[�s��f&)�r����Н�RrH>F�����盶;���6����3��i5V?�(�%�F�������_)Y�Լ�U��ӊ�xzd�U�׳&��jK��^��=u$l��(��2�w0">�����]cV�=��[w�1�D���qf���I�����gY}߄�!�R>q����/l�yR
\]���"@�01ՠP%�؎�7�����v8������<.���=��w��X�[�}�ǩ-+�Xu���zp�1��z��&�ƴin_�8�sw��
�M1��q�U�.N:f��i�` �8���7�ݱĨ��\hm6�A&ą�A.l>�	�=�z�����z���
��W�}��̾N3YɏW��G�d9���z�͔�f������
X����������߅5��.ɒ_l�M�Ӿ���źq�e����N_v��k�^|�T4;�J�7&�b��_I�c�/{��וf�!��z~����
1�W췗�4U�#7KT���w��Jڶ�Ͷ�DZn�����M\ʵr��.�\n���&�*C$p���u����BH�	
Yg�sěd��3�=�=��~���U��i��Ej�9Fڪ]+����rrm��mYr�T��x;*X��

�ԃ���a��p{���3��5iz�G/�R��Ӏ�/)�x9���0v�r7�o���_��yW���9s�x�o
1W��I�u�1e(0 prΌ�	G��W�w�i��W,
���٣ŕ��LRj�
��eM[��1��n���> ��Y0��B1FE���`"k��s�ر�'���)����B�����P&r�]2��T��t<������N<��ܶ�x�Q���n���4��>b�ε����pFB�Y�27�o�O����5����]����f��/�{��b��6���ڗ�٘��kWF���9d�y��d̩�^��2��p;N�k����S�������6W㙘Ƚ���BB�ypKfb3�YE��d1IB�O�	�H���s@\jk}g�אN��e���������d7�:�ڋ!a�s�ԥg^<�o���_~�~�P�����=��8橋��v�EV_�-��>	Tk��6x�Z2y��:~��e���+(��w�Q�O����a�Z}�f��N7�d0� ʏBW�a��{�{g����­�$oź,�T'5N���Q�(RM��� T$���ax�|q���v�3�߲x��^���^��JY�:?JT3�Ep)d���b&�����Q�0EY\����:�lx�c`d``�v�:a��x~���L p��Y9�����6�V�@.X�P$x�c`d``<�S�w�?2�2E��a��-x��U��1���ݻ˅\��d.�~߰
�A�'��h��(�b�|eJ:�a(�1ҳ�f�!3ٲ$�OOO��D䉦����ȱ��ƚ�9�Gl���h��S�3��u��
{�)�{�Y�8�̅�7����&��
{���w��]���"�`�*�U��~�q��+�tgS�׿It�w�(F��q
�d]�%���i�'�{H(c'���q�Z�>��]c���5�b�Y��V\EΰoS��>�!k_�������d�o�����i=
߳�����	w���O�"���J�犩�W�p4�i����l�S�܇x�����A�2w�؝�_z��k^���x@����{�A_;�����s@�RLmIq��}��V����P��T_��3��;^���%&�^W�ͻV����
�����+����0�q��x:;�A���-cc�(�|	��*fvZ�J�u|;o�̻���M�Z!�ω9׈��:[��p/0Fivj���3}[��l�W����U�/}�6�y���`��[��br]����3�k��,9vQ�<�����#�'H4fj����o�{�o@������%l��1�Q����Ny�4�ǔ{+�<+� �� 6�G��R%S�2���4������4���		D


r
�4l�>f��
8
p
�
���2n��^6�
f��L����
8b���(v�,�D��`�2TP�� �!&!�"�#P#v#�$$�%%.%�&&R&�(b)"+&,,�-8-�. .�/0,0Z0�0�1v2�2�3J3�44:4z4�747~7�8�8�9:9f9�::j:�;;�<�<�=�>>b>�?z@
@@\@v@�A`A�B*BLB�CFCnC�DFD�D�D�E"E~E�FXF�GDG�HRH�I�I�J^J�K�LLtM,MxNNPNjOrO�P`QQ�Q�RSBS�TT�UvU�VVxW�XX�YhY�ZZ^[p[�\L\�]]�^^�^�__@``�aa0c|c�djd�e0eXeze�fJf�f�h.hbh�h�ii�khk�l`l�mmfm�m�np�r.rbssRs�t&t�w>w�xxxy.yzy�z`z�{Z{�|$|^|�|�}}P}|~~�~�`�V�΁f���ԂD����Z�҅����V�������:����v�Ԋ��N�6�`�����d����
��P�����L���B�d�x��̖&���2�������H�f����� �`�~�d�~�"�R���&�¤إ�:�����N�
�H�ʨ���R��� �t�����N�������8����t�N�Ұ<�Ʊb���(�̳ȴl���`��X�$�`�$���L�����Jº�.���
�rĞ������@��ʒ�2Ш�т�պ��ش�����&ٌ�"ڎ��F������~���ޖ���@�p�2��@�����p�����j�6��:���F������z��^��x�c`d``<��à�L@��`>"!�x����N�@���
�F��P#m��I��!!��o��zh�P�k0&����w!B�B�$p��>C��t��BS�P+�+�����;���^[�e��3���2�x.�0{���y/�O�El9����ʹa^���ļ����y
%W3���~a���	�
���o�f][ɄB�gvP�5��7���!�����u�2>:=����U�t�1���F���+�
�|g�@���r\�@��0��#B�އ��ٕ=�C�<�7T~Y$�����!Uf��8�*���>���'�>�кD��8Lj�
��D2��E?;Ѳ�G}�+�v����M��c��f෻��<
��hS)��=���.�Y�<��U��Ҡd;m��ە�ы�Љ�B9uӸ�3+�i�g�SS�[G�E�
'�Q��!����m��N$��� i?�SQI�h�pF1�\�h�q|\�2U��\�A�D*�:6�ʐF��Yb(z�ʆ�4���S�ٟ��[���u�j����ԙ��_����G�>�Hs��a�x�uW�츕��U�]��f&?0f'��d�������e[��\U�03333s����Bh9��̔\t:����cAق���:��V?�������G_�cLL�R�
�O҈�4�ڥ=:N'�$����|���D���t�*]�.����t
�&]��Mס���t�!݈n|�{�M�t1݌.�K�2��nN��+�t+�5݆nK�����t'�3݅�Jw���=�t/�7݇�K������ z0=�J���#��(z4=�K����HPL	�$iJ�h�fTPIi���䨡9-hI-��I�dz
=��FO�g�3�Y�lz=��Gϧ��E�bz	��^F/�W�+�U�jz
��^G��7��M�fz���Fo�w�;�]�nz���G���C�a�}�>F�O�'�S�i�}�>G��/��K�e�
}�~�~�~��F?K?G?O_�o�7�[���K���m�}��Gߧ_�_�_�_�ߠߤߢ�o������������ӟПҟџ�_�_�_�_���������?�?�?�?ӿпҿѿ�����������]�q�!�y�C�'�û�����S|���4_���W��|_�����k�:|]�_�o�7��9��M�b�_—�e|9ߜo�W�-�V|k�
ߖoǷ�;��]�w�;�]��|7�;߃���{�}��|?�??����C���0~8?�ɏ�G�c���8~<?�ǜpʒ��qΊ�y��\��ϰaˎ����?���O��S�i�t~?�������s�y�|~��_�/��K�e�r~��_ů���k�u�z~����o��[�m�v~�������{�}�~��?���G�c�q��?ş���g�s�y����_��Ww��ȩ^F��+MO�R�R%FDžΎ�J�Q�ji"{�F��J�v�
U��vJW{��NdF��WJ��&���մ
R)��4�Q!3���L묐Q-ڮi���9=�7��a��P�N�;����m�BU3��j�)�7�;�|�߾�ԪB��nﰶ���v!Ec7]��]�h;U���f6Q���$�z�+�˻���vb���n\��RU��?�+K��c��A��Y���L�.�*���H�A�\�$3��4e\�ɺ��PU��
E�AU���e?5*��B�쬭�p��~?pF��c�o��z�bY�P�Lbi7���$U&�sUJ�=Q[�B��F�l�kYa�V�Z�a�4Un�.����˦�U�(�rt�k�b�D��vS�e�#h��#-��4�(�}��B���2��)�(ǫ�6b�L��0�s%*'�Z�TiR�&�α�0ѩĎ��v��a42�E ����}3V�Q�P`I�\؉���r�*�|�L�
~h$��WT&y��E���-��(��$�++&(K���D�t�V�l����\P�G�5�B _ܴ���햕^�ں�?ȢP�
㦵����$��d�Y躟"���?�#eXHQ�M�l;��2Ϊ*n��Ȫ�.ڸQ��k�a�яӪ�/rᬨ��N����Ӕ�6Jt�J8m&�vH�RW~�}&�ٍ���N������;�8T��()�x/1@�K?����l�e[h�����s���au�R3u�'Z�0
3�k�k����"ZVL�QA�]�pÐ=�҈㫝V�k-��&@8�н�/��^������p�A�A�'rJ�xW�;�d�(���������|���r���i��Nc�qmt�$.ʛ�A�+�6A⧘��Nk��kQ���pQ�2S8s.j�[�@VseD/�(
W�(p`�ԓu��Z[���v��(���=lnB��\!`@�r�j�r�rYJeq@G�u샱�b
B��4ڈ�������D�u�I�X���|O�yW:�vU��!Z�0m�6��#�`!�^6��Q�R���;:�g�]�$ 5R�����n���>��!D�#�SU(��j+�(2�&��N�f��"s�#91��)m{hI3�-K	��BѤ~�Px^�ˎXX���}�g��E�W��1m�e9�f�)�x/nT
��c�zJ� ��Ll"�m����WU�5��I�ً�W1�a�8Wȩ�y�F�x����6�YV��еr��t�WLe�/!=2Hu���r�1u�l��݊�;A�
�e(��(���@L���?=qX-qR�f�+��F�U4U{GS�o(�p�m:��3#f��b�%9S�ZjG��(o0�UΏV��PU{6�eI�͚�>qD�t�y������"^��h�h]D�v2ܗ�N����G�o�ۡ��la3F3���<R�fa!V��z��ԅ%�r:�p���ߨ�b���ylw�!A�`��4:DJ{>}&F��S�e��W��p�NO-{�.\+�2
kw�>���rT�"6*�$��5L�2�"u%��l䣈�������L��u9FF>ޞ���0pЙ?X]@���Y���W=��$/�rd��$(T5���+d��2�U^$�Õ{�r̀3Q�B��v[�Ж�.�P�-�B��՘��8�.�Ζ�<$s��57B$
�S�!���ڦ�D̅����ʿ��μ��n�rk_y�ؽC�����1h��ryj]Dk!Z�~@��ys0�^a��L���O��������i�=��k!��y#�����	<9ݓp�O0������ت��`�D��"�=����Z
�2&+��m�=�ٔ�L�=@@KY���ϛ``��a����m������ڻM�����5�������=��J�?G_$�sv���!=��N/8G�g���5)x�V�>G`�$��e%�gϱ���Ս����X�!&V���ԩ����e�Xdo�sd�;�G�}ͮM��8��ك}�<������1�pT��pT� }��"=�foK��T]���@I�iV�?���`BV��AS��ϵ�bU��i�#s@~��!A���c�ﯥDe�F��(�:zYO4컌���Pˮ�6
��nD5f"� Pf�Xխ$4� Wy`~�z$�D�J�N�X�+ڴHV�#�(��ē)92|���(����\������	����i���U�<�Su�����F~�Ļ���g�?#;Z庄/�eO��C(Ɔz+�n����@KV\xʀ��<h;��N�%q��y��[�o��a�j��}�v%*�ޘ��w��
َ
>]y䨿%"G��r3	ܐ�]�641���4��6�V�*��U<�'�E�|��'�:���^`�ս���ZcV��]0^C�7i��	�G�M�W����݅8� W�2f+O�+����D;�ǒ��Ux2�8�F�5�.��'�+Ϗ�;9assets/webfonts/fa-regular-400.woff000064400000040614150753125220013115 0ustar00wOFFA�
�KC�FFTM0�T��GDEFL*�OS/2lL`A�Scmap���Ǡ��gasp���glyf�5.n�|�7head8�36FQ
hhea9$5�hmtx9 �T�tloca9�66�eȸmaxp; ��name;([9�1*post=@I��iA�x�c```d�[��]ѷM�UA�b�{�x�c`a|�8�����ч1����Je�dha``b`ef�
�\S>�|=�x�=�3!@aF���R ���{56x����K�q��>n
ϳ3c��)<HP]:u0�
��ݶ�C�0*��Ƞ�����,a�.i�A!T*�^$,(|��pf��I��Ak��f�/��scL���
�q�)4��Ng���䚕���x	��B^�비�(W�q>ɵ\�|��q7s+?�>��_����\
d���F�*�d���R/W�M�奼�Q��i�QW�h�F���И^��X��S��}���E~ԏ���d[r�6f/��6n�m��}�1β��XOͳ���y֥XKe�D吜��ڝe�Xw�cZ3k�e�ց�u_��ƞ�7l�}��JiJ������Kt���5�M�N
t��Q-Ũ��S�:ZC���S>�����8�#8���؀�1�UX��w���0��L��[x�>$�nA#��#��E"�H��ܻ�z��7�N�S��r�~��P�ɀCN0�샿���~3S��x��}�#Wu`���WU*�TR�JRKj��V��3����Ǟ����=��=���
���k�!26��q��@�x������d�,8�$��a�9�s�6q�l���UI*��=&��^�z���w_��/�����}�qy�C)�g��j4����F�T���"�FV}-��~?8��!+��l�~3�OM�r���|� ����$��K]�+ccʥԫ�Q���8�}U�9Q�8�����g��(�e� �����.T*6v��0ߜ���i�AS��	i��0�B�.]3�ح�(�ɩ�,.���C���'¶�o�
?qZ/��#��#��|����߳g�|�\�;�U8�P���ĹL���j�jŪ4�z����\����-��,f�	wkhg�h�lm���M�V���v�R;�\����>�zfevve���f�L$�x�h0��U��j.~a�6��,m�	�|��2�G�7�q!x
�ׅ�5�uR�B5�*I�������|�c����ߏ��*$D�g�wZ~?��_�ok��D��@nN�/�ڀ�q%�����r��W����_7T�\Ae�1�Q���E3x.��3z���Z�G�4ƭ�1Fwi/h}��GR���p��ӭ�����⛣��V=G�=q���x�p�7��R���a��3�$bb�p-�k
;�l3b:��z���V����踵��p�ڽK!A�DS#�����'�ϥ�L혬-�:�P��H:y�(
AO�H��!2	�/s/���D�.|hxP.t�_"��.�h�L\���q��b�|�,%ik�	���U�˴3���4�Mm?�푱���0��AC�#k�Y[��d�Z��X�4����Baz٦�[��n�s���tf�4ׄ�吾P�B�x�z��LvY&)P3\*�|o6�iQ�0AH�4/��}�����"b�C��};�'��߸L�w��iQď��F�'Z�
_o�T���1n̔w>�� u��G���7�y��vT0M#&�v!�|V�\�Z\�e[V8�=W����AM�+:�[ʄ�+~�Qہb��+ʳ�|��@�s���'��ȿ�(7�.�WV`̼��P��y:�t��_䛋��C�&�-m!�C�����4%9�j�������$\X*����b�^��N�AK�H�f	��qIͧ�Q��чb�N�����
�i��,���z�Ԑ��t��N��՚�ЀT�)��$ţ���ݷ����!4)cO�4���	Z��S?���B�����܄��p�T0@2��N�,X99y���'���޽��؝�˗a�
�/1�*w��$+bˆ�%���U+�D�f3�TjfI	.A���Pi��&�݀"I!�A,����_|�- ɧM��o`dzC����5\��
_ênzj�ScK�$i�����]����y�;�fSC���[����J���Gw�8�Q|t�i���e�Z�lvUC���eo��Gx͡��c�}�X��I���ѴmM�tѽj�2\��_�L�[T�l8-4�=��QO�}���j�V���h�����/�?W����;o`��5a��PK���������w�|����5�ؤ���>��#�*k�!�.�
�ԧ�>�(�f���>r�{�cVŒ���h��o�0�~�^1�F�z친���+͋_��ch)avĺ�l�t	��9u���}Td�e�N�v����Y"|�rY��>�HV��Y���P���KBQ�{K����J띇/�D�m���]���=��Z���9ɣˆ���q��n�"�s�sP�:W�7Q�a��z�$˒E�)]�)�.Uޭ�?��B�~M������+�û�C�5��
{�bY��[p��'��Or\�;x�x�u]V)�iP�aB!�"f��"��<M	$Z���.ܤ�d�o���Z`�|*�t:��45bL<x|�L�Ы[��hl�m����T4 �V=�Z�A��Uf��EM#b�b`Q�#_�D�PJ���xsϭ�	�挈�ܼg�T.MB��d.?���R�>*�����Q��>��X����Q�k���h��ܧ���`��GB���r���/���vs�B�)R��q<��~��(�.ZpÂz���`�E���SSp
:�٘�/򲨖��Ύd�����NF�1`_Z��W���je.�������I�o��q_SF�kXradvv�b�'ʼ�m�yMh\�!,���oT
�RDL2�,�4�HZUT�/7�#0������(�M8,��׬��I�/gTP&bV�s��������O�I	�%0����A
~��{TCЦ+��xl����'�)� ��\}�O-N��
^牪��6�)��H�5
���T`���1���֟A�8��L8���w���Qp~-��F$2t�,������~W�V��[��q���Ne�8�\͙�.Uڒ��@�&589��I�в����w�nv�o��<�Eէ"�c������0A����
\�D�
M�jP��!cl,YP5E֑�3��u5f�F�kj69R�
�4C��u�����M]��	3g�!+/^���I�E�ݴ���8w+��)����Ş��E;ն�@P3r���b�
Z`˦?h�h֩(��sوiE�$�蚛3��|e,�B�bD�;�)���z,��#S�|>;S��7�H�M]�D�͡�铂�81�!�W0z�!�������XGe��0�P#�U���Q��@�,�b�
��FΜ ������߱E����(�,�:ui(���`�&�3��Ȉd7k�oO=��Im/�����%�B�g���5��JV{�d���au�{ݓ���H���@�?����hq=��pǸ�8Φ8RER�-
�Lfȫ���e3���.p�
@��4��@�A�T@^�V��^�~�,5l�	-�_�4V�0P���G���<��YG����y�7C�c���g.�8�����2G)�s����z
�x=�'�� ��~ax
���	U����eϷ�f�' &��\b�����a�:^�_����8��G�\�0o���Y�م���$����>�F�
g�s�\����l�ԏ��?��#�zA��0~�Z�`�*�ƣE\G��ٕ�K�<䔪��Ty�F�/3wމM8�\�r�x:��J�Y�o�q�JǾKӨ[�R&b�f��V�:;�:p���@(��)6Zk�S	X[O�ʵ��F����h,���ސEy4qي�)6:����Md�B�j5ݹ�<��Ž%��&B��8�0��1r�3k8�ˆI�G$7ŗ��/�����rD����է'�aR����C��rz<̗��)O�����8}ld����qI,Rы���S	�mBf��k���_H��=W���O}N�E���������LZ�NCsI��a'e�f`�a��U���[�J@V0̃��l;3��[�C�`��V\?�j`dMEB �wb�q_�Nj��{�{��̝BS`2�SZ>��&��w�{+x��sG��j׉�x��z;��Ox&��<ÈQ�:����N�f��)`1��Ϝ��m��tݱncV�}��2�x��SK=��gU$���Ν�g�X���q�j�;��{L�Uv�9��z����6�)�w�������r�vr�:�C )h��s�I�:�w��+A�;n��L�i'�4���5��,;�u��i��8�mA�\w�´�ƈ6ŇzB>=�מ}��>k3�nS����"�gKE��m���
�d�{�1�����Oc>`�̝�o�#�5o�y�Iv� ���K�*o
W[��M
����g��7����6�y"ø^g0�l��!��yyx���
�m@\�6��)�+lc��5<o�;6�ޱ��k��Wqwp����*�~�C���.,l�٪,mQ�e��*���&a����J�2�$������Z�3Zw�׷i�n�J�_���Z��wkN����<�G�h�״�֎�ruF�,6�Ш}������s�țB^T����'6�q&����j�)j67l�u�D�vD�i�%�j��e�o�y�(��u�Xn��?�9���ɻ�5��v�@)�� �������x��A�1
�qFV�����@�=QwK�7�h�u��)�Ƶ=���O���jRz�������p��m�Y�du��)�(5�F��C'���;t��]?g�͌˾Fbd2���������e��c��"�`|xt4�XkC��&�!A8�(����K7�p:�5b�&�F2F@ؑ�Z�?<w� ���UHX����	oS@AVy6&q��ؑs~���`�p�A���@i�M��}�f��{$�9紃��jh��9���9���UN�qW�8�u6�we�Q؆���;d� ͡��R@�����,����KwYx[�������\�ݗ^�)o��)��6�����]���kt����0�}~\�"B�p�4t���_7���Q���o�[������[s��2���0�鬭R;s����
���ښpU-��*���@i�����@V��e���ǫ�X���U}�
Sk��7P���V���ܤq*>7�V�r�(BW�x'JECj�<�)!GC�؅ˉW��XշHP��]-
Aar��!>�o�!G�TAKMV�|t�:@>��g�HRº�I�R}�{��%US[�cv��3��pb,f������tNwN��+Y�#�Q5���Ў����|U����{H���!�ŽAc�?G�K�Ks����Qu'5�m ��N��Z�m5�%��0��t�~�m���[z%�W��CIM�U���x���SWMYfg�%[�8����x�>��B�Oˎ�A]6"2���h<[��zmz��ۥdӬN�Sg��}!E����`��)>�k��d���!wM����Ճ���ؚr���Rc�r�]*�`�f�IJ�d�Ӵ��Q�
��u1�\5��F���D}�ե�J�p���n��n
���/,_�v*���|_�F���'��N��0���w����m��qG��Am�'0��&�A+0(4�% �2h��hb� 7�Ⱦ��'��K	N.��ɟ�;�����'W������Γ��QC��]+����|���|��+�Qa�,��GQ[���`[�](�P�+�o)˼~�
5n�0�)猎1��s������=��Q��>�T�=M��y:��Xo�^�q�<eO���)Q���B�G�;���;F+Ǹu	Mx��5m[��3�
it����wuC�[�q����D�YL#�Td�R�f����\DM�̚P��S�t�(��[h����4JC/MM?�j��gI@�� �&Ր�@�D�0��*j�$���g�ML��>��
�MH2�اt���s#,��M�uW��f*±�J�i�ƩJ4�d)HY,HV�h�����Wc�Uy����T^��/K�ʃ%(~��2��E����%9n��AE�5gu��k0T���� \�\�
HMV1õ� �,2:�n�-��!b�7i���fP �S#*a�ȖH]��qkXh
��-�F�<v�u/
n��&]��`8��&[�G[ pP۟ȉاԠ���Q���n͂|F+$}!�K<���[���}\	�N�X[
mf�&������$#��a;��n��R��	ކK�������h�en�_5�kFrug�՛�ۤk����Ѵ-��R�����
5����z:��N�÷����iWN�<��`lX
�-ur(�B���F��z��K��Vl��־�`2T��L���?������>uh?
2�J��
-�6�@�EXj-4����O�4�D^
��*Q�4}񭙼�,��<�fE9��|1�:���ΈO�z��Ŏ|��|u�S�zF;`��OL��5����Ö�~C�}g}�\+�-5����М�p�<Ͷh��l�{��嶬C٦�_g�N���œ�(;�A��q���g�#QEh�
;f�	L������
BB��_f�����|^�Q>
O�y�|����W��ar#��Ui�p��+�i�報K�alڠ'�if��><}v�^����!�N&�H���_�b��)�X�zf����n[�Ѻ�����<�(�_��64Wc���`Ζ�dS3���+�h�4U9;����M��g
���k��m_D~=�gR��l��1a��}��Vy�&?����Q}�/�����r1.
0E�?da'ͮH�hKBm��3-�H@�d[]h��5(�A���d�t�;�n;�S�"�tUl�VX�^��/��UK��G�*�«w.YGǑ��?Hk��DZ#�TǦ��jf��i�f�nM_Ӻ�x�]�U�:./���O^E�E{��wۀ�xF�I�1iT�$�x�u��k+�V42��YP��3�:.�K� ��ZC,y��N��E��C���U��(}�Z���/s(��(>��VFFc�����8ώ���z��������O9���h%g慫v�%s6��b��,Kһ�e��%,�-^�PSUU��'�i�Ӌ��!�T�)�l�8\tV��9a�T��n�lկi*�6;�Η�~��5��}8��k[��m��=���26�����<8���Zb����S7�7kvt�����\Q�Cė�D�|>%�"�]=�����BN�!�S�H��V�D$��ԗ^�m��ۤ^��,&�JE�|7p`�=(y����ni�u1�7D�ZZ��o	S�B�4���[w���㢘��S5!v6��l�����t�y0t�TA'�qG�;��T����g�A ����iO:w2�g�s��"%ֈ=�:���R��n�9��U:�,:��.�+���ఔn���.�AQ�M��Q��a�>snmV[FK�9�s�2�RZ��X�z�w�/R��ѳg/�]֨�fv��C���!��1��k�_���:�4F�T�u�R�)w�v�E�꥖<�?��aO9����	���ª�i�v��k���'�hw+.Q�/R�/�[찞F��7��'h]
�_��>e����e��oN�A��C��Ӧ�촉'���,�'%�9�B3�U� �.�ެ������%��h��
$���^F��X��㋠F�qg*Kk�.�4��OJ��e�[�.�Y6�1:�iR
f;I.�毴ʞ�Tc
�y�,�`�p����3��F�!5���P�ݠ1��������\����n��h}��]����zc*��]�~��{��F��u.:�?̍ro`VE����y�X�l��;�Ņ��g{��7_PW��]��*K�G��U�Ű��0B��l��:o-Yѝ�q���DY���q���=y\BoN����R2T���"��ή��v�&��Ӷu����,y��C,$�������$"�X�Gi�)�z#�3tJ��?��G��_��K#Z�kM��͡��+ѣ����)U���?9%�C�kC}sP���j:�b׆Ba<t%2`5R1�W5��o�(���h��z�O��W��hoˌ�y� �f��P�e��ӚO�~��>OK_����75�� *�ț
/o|l�[X�X��caH��E4�lx���%�<�̀(m׀`�r�и���9�^䠌��4����÷MF�����3�g����|�Ͽ9��P-Q��۪/,�T�頮?M�H�Z����n�՜9>?��}��Q�l=���a�!�����7|RSֆ0ZR̈��9ѧa5c��ۥ��	n�������ln0��u i����pb���Q�3�h�$?�tJ�3����?�L��W,Eޤ=A����a�_�-���װ�G��;t㷒��������3��ɴ_�����]�
Y*I�@��v
�e��O2_��V��������i
w
��I�o7H��^&,vv�b�z�.8q`��J������T�O�-L�l����PJ�@,)�E]�F�8�H��J�1a�O
VBHqq<q\H�i1��"�|	��4<�^�'h9���͎���HJ�N�%�A4RQ�'���
J���I�N��1�r�7������.�	Jf�l^���kǓ�8'�|vb�)�V�,��=�嬦ڀy-�#�ũ��-u�5[�w�^Ͻ��ɩb��0��ؽ����~H*��e�{�(5K;2�)�|V�C(�Ԗ
 C!a�\�'c�eX8-Å�(�X��k#�U���N&�f��ÉR)q�U}oVŐ��x3ϯ�)=+$BK��E�s���i�_@p\�F�ݚ�EN����Z��{�z�hF5j�4�.��̃�lXr	��4L�#���+2c�F)�L�g}фY&a���+��R:�5�8�a���&7%�7(uG�u��({����Y�b᣷R	uB0�<@��<mi�~0 X���,5p�����M^�e�T��v"&�Jf˥ǭi�ƉPN�$ʲx��~gZ
�z��#�Wi��e�\_��ьꗗz�������M�V�ejqh���֛�>�i�-?���0/�>���e.�v�=�vI?�5D8��_m����{Z���+�۬�ȍ��2=�=W�[�|����U��A󝚯<�i������)�!��3�z�ȳmJԟ�OV�����9)=,N���$��4&�@�,����ɰ
ԬD2H���X5�R�߳�O���֋�A~�a�6��%�aaR��]���J��a�&Z(3��W��5�1�wAaa�D;u����n���b1~���:o^�B��^�Q��b�u)^���V�n:^lm�4�w�(������< ��%&}�=�dD!e�8��{�G7hu�a�j�/m��{3z���'�ݡ���/�q��:Zg����;��ի4�\�a�SJl�|��F�Y������K�:D?EA���C��s̾�2Y}{������%x� ǵ�NYa{ξ^Qte�M���ѺV���I	߭�&���[�H@�c��ZF
%��#����v�GHS�|���(��y|�2���t@!Ѡ���i%W[/�~E�<1��b�Er��	U��D͇%|��"�ǦL����V�c�Xf���I�Ck}+44(UR�m�M[*��S|V��N� �Jt�P�r�6U��
�d ҕb��ᄰB#�	!-bXt�NI��54��A[B��y�A�e�t��Z,��Q���YiiS����/��L�[?cB�X��!!��`��% m}���{FmUӔh�Z�K*�ԜFtg�M4��I�'k��(�/%�S�(W;��9��=P�
�Tj���I�['t�O{g�LS��_;�@#��Һ�|��ӊ���@\L��
J/��\rd��|��֋t�ƋE���}r8���l4,��>G6��e�Fs���s�-�=��-�=龗Z�X,����ߠ����Y��2�zO�޸p{r;үYtD)�/���M��"���2[Im2Q�{�g�S�Trx2�
�:��%��/K����	���W`�����R��t��-�j��y� �P=:?��aJ�9�U�ޖsV�݀n�Rײ�����n~�̂�&MЙ��x�&�r��`���>j�H���6z��A]�юM��b�m� �r��+��d��ٍ]l8D����J�(*�����GL�`���4؜��a1�@@�%¡�pL��m��,j�#�R026�#��Z����c�/����h;1?�+�Ώн�ҥz��O�w�������R��M�L�9s��J/h|�Yr�k�)Ά5��݊�#�ڹ�I�~g&@	�w۩�ty�,�%�X`������$J��(�<�}8@0������b‹P�r��
�A��h�e��	�"w����yz����QY���Lw�|���t�i�):��Puq~u�Z��
�$}F�}^���1$�ǃ�������|�W�Y[��X���ͽ��O��Нp�vH���'��T���9��ȉ�?F�
:R'H��e�ĩ��}.�X�n�Ժ��Z���+�
��-����#�L
 VZ�N�G�DA��@�\�|MϜ���d,�>��k��)��d�d�%{��T1F��[��3����l?�M�9#�[��L0!��(�c���O0̨�\��ml���V�1|�a?3�_�b/��Yبy�i7U�#�W@l5X��xL{F�+fߦ�$DYfl�np��w&{���f���0�,�9�5���b���S�|J���^k���v_���e����t��\Q�V�u��Yw�����n�@�^ 6���[����S��=/�q*�߶�]�l��m(ןs�P�$��O�v8���^08�\���?�v��C�edq,U���R_�r6���R�T��.U�&i�ЋX�W�~(hB��F���;j�Z�V�R�k���N=��z��@
]���QD�r^*���66~��
�]Ǧ��
 K@�p�o����l-���Ⱥ=+�M�
����L���̾z�Np@�eAx��K��TW���J?_*����(�2���w���
"��jB|�k�@϶^ڠ���[
t~s̢g�\i��Z����Œ8ɖ��\��n���ֽ����c���|���s��W�գw0{�{|���Azɳ�}��F굽�m�c����.m6�.>M�߀��r���f�^��-պYP���������b)��wZ�w3<F�!Y��'ɲf���N;�ݦ=�}�Ow!�sg�"E�Am�ٹNQ�}�h�����55�f[SK��PTl�+�*H�aUIHP�x^$�J�fѡQgêe�
�o�,O��f�U!*��6Y�i�!)���<�^��ٷ'7��l��:{!j�F���]���AM�ۏ�g� �pP�Go�����vǔ��[�]ު�G\������-�/"������7�̭��s����K͛g�b���,���a���7������L}۬�uO��;��7�Q�0��;���i:�(����aʧشx�PG�$�Wfj3�I�0��ʂ[�C�&������3op�n�Ws��U����{�3�2TL�ڬ��Ы&�u���Zv�=��lc>RtD!�(QΔ���wf$J���ֻ�s	�9�pX��D�*D�F;��U��Ft��aeq��!6@�����
�x��h�1"�}�#�zA�
���2���
�#�{���~1
�q�
�R�I噍힫�@�Y�&@���.Y�9����+�����`[6km:~w3SY��&z֨�q%z�@g�U�i�G'�ے��!٧H8�#����~Ex� >W�TlC��<Ѭt�""6,�<OR���^_e�����%g�Ԇ�A�ٵ�h^r1i:����„~�����J�|�Y���S�L�k�Q���6*���FQ:�w�.Tv����[?t[�����~�o"�'�`S����d�>!H^�'
#�)���P��XfXp�z(�˟����~^�M;ߐc�,@��T�bg�e%4R|?ߢ�{8�쁠.Iq��4D���< �h��&�ϭk�<���~\�ɀ��҃����b���ºBx��z�g�s?Op;���Ԫ`�����m�
��+lϻ���L���
�+G
&�ƿ
�N�9 �](��DdV�G|���,���Ȏ��S��&0 ��v8�(4�N�7��
�ϸ�=aT�c��pq�,�,3���0O�AG��y���D�Ng���!s8�<xz�N��Ʊ�S&zK��Gw\}�Z&xt��Ι��n��?���+HERM��k� A��^��b@�;W�1"�%D����t0�d�S���"����Ï`��#;����\��V��ި�����L޶�{uv�>���Έ	�0�u4ݗ����y���|z�E��s�"c�ﳣ,���� H��}N�8F�8<,�Ht�,�KO�A��L��rQQAҰ?��ќ$� /a�������7�._���+�?�KI=ǽ`����$J���>�lF�F3�*�B�,�twq��[m��7���&��a"�0;��ݾP��ݝ�b��{[룾����ُ����ۦ��~I�?	ŋ]�p�w}�J:P����3ss����;���ܥ��kk/;4er�^���VF�"�=�a�z���p��a&�����, /�H�������l��^�y!�⡔���V����/0��^S��"�|!��')��$��v�U���t߄m�5'|?�Z)������ܩC�'q>�&���b

��P�
��T��R�߇5
m�n
�~�ˡ��Ÿ7�̀�Fw�OS{���ў��ü�I�TxX(|t�7�_�|HSM�u��"���MN��{�&[h��F��dj�y���fRi��od��t�4}�+h�hH|(R��3.^�K��d�1�A3D�m��Zt$�Úô�aJ臶�&�\n4�0����H��88�}��ϙ�A�,]��Cc�(1�]|<Q��l�@��4�;D����<
�Mk���+ ����UMP5*h���
z1�AY*z���H��G���b6|:�g��)���f���{�A���m�U�vŮ�6b��/:-����nŹ*�;��j��A��˻�4U'"�26t#1B�T�HH3� �?��k`��>���I@e���cV@�C<
.u�g��˪J�eJЇY�L
��B	e$�W�iv���A��3#�y㧧&�o8����U��,8w�d#��{Ν$Y��n��]����>B���?�O�3���r�<�昂'��'��9V����cO;a�SI���\/7��r�����bT�s,�z9zmW�ЇC�Ks3�2d�w*v<��dۛ�u�c��]��n���@��.y��u�{a��9ԯ��+�'��F��2w�|WI�xp��Q�M|; 2<Ȣr$�k7[K=���!}b�8�'^	��l�5A��#��쿷e̒��kf�
�-�ъv����Ϲ

SEz[5Әf�4���w�3\�ϖ�$��`�ԝ�Q��Ci�_����������;'��V4WB��~�g�t�"�����\�����{)����=W\���%�hh̻����q���"75h��YI`�l�a� 6rޱzq��Y�h���0�Dz��D�)�Ę'I�����+�<6�Q#�Y���}�Dp_��g8J}�e��Џnv���
o���[���{� ��~/�*�����63�7V����D�#�m���[�������y�S��͞P���^�'y_�%Y�Jr��DY����yT=�G��F��yQť�W3��x�c`d``�v���!G+���+7�6yV�k��������$�����0x�c`d``<�S�7@��(�&��	x��Q�
�0t��'�tF�<Lх��D0��I
�H'Ǘ�k�3�9e��g:�E�4)�E�5ޠ9�L/��AD�Z��k<���?�)��;�F�f��X�C��÷�6�HZ�b��-���K�
>h��s��k��������;�Y��i�I݋<[-�K���̾�o���O���[�@|��n��*��b���H�*N�`�`�	\	�

8
�
�8�4��

�L��B���<l�6�&d��J�B��J�j�,j�B��d���X�f�B��\�� \ � �!8!~!�"T"�#<#�#�$X$�$�%%>&0&�&�':'p'�'�((V(�))l)�*8*�+ +h+�,4,�,�-�-�.P.�/r00�1
1�1�2Z2�3z3�4$4~4�5
5|5�6D6�6�7Lx�c`d``�Ű�������$��3$��x����NQƿ;S @B��XW�M촅���ڕ	7�eh'����
�{|��K�|���o��b
c����{��s���}�
��=4��8v0��.*W8��z-<���,<����<r.�q�.��5�&��9���*��[�uj�oP��Un�Q=�$eŎ�	;X�;a��Q8��*��z#<���&���NKx��Ixw^xK��U4�W��Լޠ�+va�1Btу�F���y6�vv0B���+vMt�ݞ��NI����Q��Ϯ��F#K��h��.NЇ�=��D7t;�tO�>��N���V��j��+�^��Uo��6�[��\Գ�~}�S�c�a�heu/-��l��m5�8U�4���[z�tid�@cb�|�I�H�/O��紤�����d����A��կ4��w�Қ�A��r��7�Sc���@����DLbud���;f���jx��1���R���e������H�S����rk��U�ї?��u��o���+���y���B�?�i��x�mTgw�6Ԝ$��d��.��ޙ�{�$W$N A�e9�'w��C�Z~L��l?G�	�Y��b�#����Ή����t���衏%,#@��a�c
��Q��c8�3qN�l��sq����b\�Kq.��W�j\�k�:\�p#n�͸��6܎;p'��ݸ��>܏� ��x��1<�'�$����x��9<��"^��x��5��9�7�&���x��=���#A
�rp��JHT؄��A�-̰�9v�!>����3|�/�%�����;|�S8��#~����7��?�'���Ĕ�i�T�֤����4\��	ӛ���ӂ�i�,��܌/HG	W��Q�S2m�x�&m�,[ܥ9��i�t>J��2e�U_NdQPi�&R����#��a�[^Q�T�.ҡ#�LL��
Y�D	Si7Oӵ��iTI^�H�,7�}	A�����T��^"�yO�-Zқ5SP�E’	���"��$D�K]q�İ����K�f���v�([�[PLiKK0�ݷ}��w�V�rQ�mb��>����bZ�۝�i���@��6`߄��
��:��.bm��ȕ���R���z6H�i�q�E�ˬ�V���3�ҁ�h;!1nf匔on3�3jh�$�[��Y�rل[<%ٔLd�>q{(�a�*+۸��&���K�i��#i��n��)������#���D��u�ڂ��phE�L�Q)
9՗�V���C�
e�0hT���G'\k���#�w��6�te׏�Te�5�XB+�;Ѭ.�W��ڃ^݂U���G�Nm��BVm�Y[�LieW��K#���������f�,�{�<�vK3Z機�xi�l�|������V3RQ�K9��ŔB��i8�K��u�^yc�Z�M�_��;�u�;~(�}�P�����J�ys+ץ����h�}V�z�=�i�Y-�)�ٙ/O��d������)���z�Yn��AL�/�Hψ���F�Ml�d���/���փ&c��6�Yf5m��W������zS���

1���M_�:�~�FM��m󾢽���m��"%��6���5��P�=ݶ��\�kU)��o����"���assets/webfonts/fa-solid-900.woff000064400000313104150753125220012570 0ustar00wOFF�D
�KC�FFTM0�T��GDEFL*�OS/2lL`3�V`cmap���u�gasph��glyfpa�p�#�Bheadit56TQhheai� $C+hmtxi�����locam�
;�khmaxpw� L`namex+"�&&postz&1U��x�c```d�[��]ѷM�U@�b�y�x�c`a�������Ø�����2H2�0001�23`i�)
X�g<�����0#H�ъq)�R``�sex���kPV���B���9F��Pk��V45^b�@��ފ����ı�x��T�"D@c'VE����Dk4Ⅸ\�� iPP���
��={vO�'o�f�M��3�g���~�}X�0:_�P#�ۍ�O�)�7��6���@�x�Ȭ	���y��`f�.���BY�Ʊi,�űW�r���f�l[�6�-l'{�bGX	+cլ��`�L�6N��;�P����G��|��'�i�y���d��7�M|3��w�C�0?ʳy/�y%���+�&DGAD&���)�1M��o�߈�b����$�;E����'E�8-�D�(W�M� n�f!�_�6;�;�~�n��3�Y�l{���}�ε�"��.���5�M��n�����i�>��|R�#�H9FFɱr��('�i2Z��r������r�\,���B���r����(7˝�<*O�32O�������
�������q�99;'��N�s�)qʝ
�ҹ�\w���9
N��w�
R��z�p�[
R��H�Ʃ�j������S3T���^V���P-U���\�P)*]e�m�]�O�W�q��ΨU�>Ue�3�gU���juCի��f%T�jՆm�n���}t?=P�ґz��������<=_/щ:I��4��ި3�v�[��{����ҧ�i���t���Kt�.ו�^7��ZhGk}���R�rrv{��݁�hw�;ōvcܗ�n���rS��f7׽�^q���
ç�yf� ֑Y���>��Y{�E{Jg��<��~�<���n�;�rX)��SZ�c.78���)���A|0�G�HO�$>�G�X>���o�~����#����>�Wy
��)u�!�D��.��`1\D��b��t�H�)}ۧt��-��c~���(U�(���)
�;���g��&yJ�W��=�O��/xJ_�"_�!e�L񔮓o������{J��ղV�8ݜ
�.'�9�u��S�Y�S��VKi�=J#<�Oߣ4�S:�S:G�F��2Oi�J��nQ��J��J��QzM��6)��Rծ����_��:B?}��_�8���z�^���jO���]��L�_���IO�YOi�.җ|J+tݷ�����R�v�7J��In�Oi�?�����h}��c��zY�V�j=j���[]�.Vg˲�+�z�
��l�V��-�%6a#6`=��Z��*��+x˱K�S,�b����c!`>�a.������;�7�L�4L����Kq	.�E�*��9����s���8'�x|#����1�G�vŇ�3"v�4�v��tMm�6�z�ά5����*���,3s���~s��n����W�	f�9��o���k�66���ىޥwh���V�+�"�@��s���|�Gs��	ͦ'�1z�~DӃ�Cz��h&}��N��n�4�&�4�.�����.���<C���:�����(I���tI�ӡt}��OЁ�G�?}�v�@Ch05�lh�[PuP5p��.��P�P�p	��9�B>�A|G�p��^�	�`+l�x��H�4H�H��[X	��B�s �`<�0�`��0A��A/���L�AЁ��Vr���h��m�L�H#�EH=�I�H
� 夔��K�")"9$��"'�q�E��=d#I'i�M�L���d�'/�X�32�|�<J0���?�����C�:��`�o��ww_��A�����:�&��x���	�Gu0��W�==�=�s��;������Y]���ZI��6�-َX| a; �1ج��8bd��I8���g��!k�'!������#_�H�����v%�!���S]U]]w�z��{�8��<���7�qũXԕGP�4]A<˅|i;��يf���ye�F�:���
��8�<���Q�l��c����ۿ�U���g���?c]�/Uq�/%޻W��Cʤ3P(�x	��R���.!M�(2����CPU������P�$�x���Z��r�Һ�Zr�(/c�v=<=Sˑ�b}�4@��{�<�<5�����2�?653]��.�T��1y�М<E�<��VS��Ѝ��
�_�2�Z5?11?�3IZ�L[���ؤb�%�>}�
��l��(�TYV��]+���7A�<�!_r��K��G�r���:���ʅ����.�'=2`�%�:x�|ˤ�w�R�}�t}�1�(��65���q��G�8uC�]���?���!�wی��b$�I���}^�>=mh{�����4	���3�}I�g��Vem���29Tق�K��$I�D!U�QP$���[�M�H,�#!n��h��xY7t,�f*�(���؎,bIV%�D�cSb:ƈ��%E��i C�5�%͎�X����%��Z*���^S�%��Aޚ�w��{��o�:�lga>E+�}^W�7�,J�%]�xQQ–*�4I�tS�<�qQÖ 
����(�bE/�I�`Qvl�TZ���j��uh9�t��},B@��U%뒪�W���q�JzeF�7,B�֕�h~	��
�}�QbO�s������8��*��G��s��!ǡ�<�s�{E���֬B��]�È�r���p�>�5yG1�s�r}����2���P`,-$��DXV�D�ڰ,M��{Ӕ-���(:�Ab���f�CH�Ͱ���iFt
FI֣IE�d�J:#"K�e1�*��Ǫ�>��ӕ�+\�r-tDÒ$��IC.ذ�\C�4�2x��&<�� �4K�4�s�B:=bAe�J����(�DU%�rX�x1�V����K�tR#Q��EͲ
�)bi��A��)M*t�E*D�Eam�c�s`��9`��z�a._��_��^�5��;hy�k��W������<�-���i��
��-׊��lj8�Zn������l:MՄe�6�M�҄��n�9���ރkt����7�툁^ZM��A��u-�@mI\mj�T�	X�?Q�V�7���'����?Vu� ���V�����+��V� n^׸�
,%S�ΉР�
'ҵ��V����½
ڃa
��М<@j�Ty�(���m�6��˟FQGCBAvQyfz�/�C<���$MB�L�K����
��):�|�l-��?��nW��k�a����2
��Fѭ<�1x�72�5;y�H�~<��֗��!�{����~@�Ђ���y��(��BH�j赼�XyHb/vg����,�y��^��{/���G9n(OvƘ[ƍ9�m�T��q�ue���l�A�0��)�[hU�y.��dH6�g�ӥr}z�@�~\�J[���|l�)��;*�1PHՔ8);Sy"QeE�'��"k2Ud��.��,����m<��j�[Q��R�^/��'r�P:V�� TO|%x��n���В�P���a�A�&�U�ZvS�Fʹ��/�k��xB��.��p�-��'��$+�����ՒS�"��z����jA��Ha�5���-Z����s'��w>@���L�`��ˈ�tِE�=��}(]\*k�Ǻ��c��XRR�,�r�,�Pq�W��=/����U�RSmP��*1Ҋ+�U��Z���W���0��Df
��0_�=WD���E��P�y�ϵ��,Ŏ[CV�<%x/i�"\���MsWs\��љ��[0)j�ե��k�B~��oA3�/H��wG�4������\����źڄ�^jb]�6�)Z��l�#��ҎQs�A���&H]�����{f�Cy����ԣ��
�OY9��a�s!���27�]��e�_2�6!Þ3}�eF�El#`�z��(��K	tݣ���u瑩�S3�D��R)�<�<�8\hN;V�1��NѴwPwu/��+�;Cݭ26�,$N���r��X9徻�\����y1�m��濷�8����?�bW/�����Tȋ�k�����V�E2�;fHE�Ѧ�n�L��(��h�������h�,+u����qm�Aꆃ��W�C	q�!c�5р�0�8T�L��\yQ���ؘbl1��9�����9��o?����>2��R������[�c�\�^��H��|��ۑ,��'6�{/��� ��d���*����y��{�Ǿ�&��:�`�A�Q��L���z�0�A;W�4h��e��A
����Ѐ�#X��35Di����db¸:vbq?�٪���҈�!UҀ	U ]%`�!;f���4�}Խ�L�f����KOLl��}^y�{ݦ-�З#\�;fx��A��|�s;�n$��83�ŋ!�E:›"��t���Z!&ɲd"
ȥ
(�z�32Ƶ����L��J�2��oԑ��C�d]����K2�~�i�O���TJ���2;[!<�?�Q5�U/��G�����uW��_X�~�ɘ֤���t�,@�z!��Ӧ՗��(}SKi�)�e�$�oNEhs��}INDZߎ$d����?���ʲc>�"���U�`�$]�&d�-RL�+��E��&�+0b��r��àOӶ����ý��
P%R{�^��T����s
�tK:��	���Jt��&JGV	�
]
4�HA9��6�#�#�.�/ɐ"X��.�Y<e�L�	�aB7HL����谞�Ulc��+�nv��A1��.�n�MF�M��M�]C�~��X2]�參r[���mYRl��Ѐ26
`Ju@�w�M�%�:BI5d6�C�W�GĐ�	_J��t�RAR�2-2eEF��s�_ӵ�C����$J�n����J�xIР��	��^1Pg��w���z�"�2ٙ\�"������N� �ȡ9T�t�Id�q
��$�����mZS��j:��x���6�*�,A4y9eYHĤ��A��X:^Ԥk��%�J�qX(Kɒ��@t�:E��)%��2��f���"�7���K��А��]݁.\5�!�f��J
����[+���\I�dy�{^R�e
M�9Y~K�V��"��yUz�M����f4J8��rE�<���<n��}����<V���Se��G�����3Hh�����xd��V���G�Zϡ�d�5��
[�$jSޏ�XXG�p&��*F���{���IY�H
���JRL2����tw&�UC1� �ǥ� �I�>���樂�+�B>�?�c�4�03��fD�Ǖ��]1ڬ�8Lω5�@�2�4�<2�s��'��h)��,Ee�0m�DaZЄi͎��U�ǡ��R1�UB���k\>��-�{R�U4�WW�A]���*ǽ��V��Ka�X"���q��ϖ�!4�65��&�����L�0V��W��Y��U�З���	,�HS\�r�(�y���_u�yY�&�;_������(�����[A�a5��ŵ�G��Z�F��U\��xC����̷{����)n�E���5�2���@�|,�y��������l:�"�s��,��x�d������l�&�6��Uӡ/�>�%xg��pUn���q;\��w)RT�	�����eH����J����!=��BU��-�;�q��J(!R�O*����"�2SZ:F��m��)�S�(�l�}}ڰ�{w�;Ƹ�ry�i��a��%X���a�l-��Q���P~�ԯ�b
JA��Ti
��v��ο�K_����L{~v4��ԗ'���i��JBAP�'�k2�X}}:=�ؼ;i���.�
��K�?a�;��W���AN�ϻY�o�&x�t+�&R�B��Ĕ����xԹ%��B��/`<�sS��t�'�RmH�5��Y҅�W�z��T���\ע�����oY�=t5��V/����2�
s��ىv��ۭ��R�e-�즫߶���G�!�V|\w	�΄�b���G�]�#h`*���g�E���|���䫙F����"#�X�Vp��!�i�,8"i��}O^��,��퉡1��æ�fV���{��`���o��mxi;:^�\F��xb����C��(���%�kR�\�pgsR}æ@K��+Q.-�>�Dh��^�EED�)(<�~ǞIP:��������B\(����|'�j�H��v���c���+׶/�8�������L�8��G�qn����F��4<�ǝe�F�6�es��(XO@`K=6Ê�rG���n�(��ͺ�<E’h��������乑�H6�pr��}�F���7�V	�6/U2N��F1��o�s�P��R����o�k�g�ǽ�2"DR�΋_����R2k:�-��a XO�q/$���E2��P}D���G��L�>B�g�ʱ��G~�4�a#VH����+��^;nn�!4P�=[�V���{�_��~���%��P���a��	}��#�U0;`l�,&�2�hw�Qy�tz��,�"�F���A=��51\��9P7�̟�c����Ը��veyS4�_}�P]�
%�զ����F���ACm}�E��_����\i�RP��o�H�E��H�>��k0�r�$IgE�;4㗀лi��W	�x!�r��޹��k-8z/�O�Ⱥ��O
3��6��
�����lDdí����؀���b��f��u��~��d���e)�p���_w������8!���L��(]������KT��ǷgÞ��g�m�=�y/���U/�(ao���0ͫ��e @aD��\�j�KѶ?<�@ߖ$ӡx�m�q�'���;fk%��(~����Iq��_��'�.�y��/�a�?�����������v�C�����u\w@��4�7�=
/n�ta���_�����]ؤ���d�}mByDKj�����/�n�ztg�5#�k��#��Բ�U����I��q�S�<�ˋM�e%л;`�U+�y���u]BȆ_��pVH\g��c��]1�d����]���s�1���ڸ<Z��\�s��1��TEi�K��nk�M_��/���^ac�p_��6�Wm˅M����r�s��^Ͻ���dD	�KE�r�ӗ�"�/E:s�3H��n�Β�{ߢ�4���b�V�Q�j��ep���m<n��Nl�`��Z�5�5��,
-vB���D7t��-ƒ�I�m�[�?��…�A��Ћ���L�7X�Q~�Y��(��*i(q�-�?�A�v,Z����qZϴC�N,�v]�@S�s��x�:�^���*�]�	��F_�Lؠ����}P�k'�����]K�Χ�.�����v��"V� �k~$mt����qZI?�:�H|��|�ϨORe����<�~����o�x˽s�BXu\�������O_6�I>�y��'x�����������St���}?Ԭx��S��H�I�NC[͎=�N�p'���������s���}?�qT9�n�
���1<��8e�����l������[��r��5�Ӓ�5רI-��gOx�,�A�?�`�R���"[(�F�#BoO�S;"���,R������1kd��?�l�v
~p����	�u%3f[���Ѯ���H�Ů:�\��4�#�zNuzЀ�s��q�:�^�
z��;6ӝ5�0nr�C7W��-�0/�f�ܻ��Tu��c;oڙϪQ�El'��U{v_=�ŢhK�ZZ��/p�[��o?v�M�6�?�V"�1�/Gw_}���޸QҪ�$I�4[�<�8Գ��F?����ї?n<K�I�����ŶU����V��u���4uVU�:C�����e�lt���z}�Q��K$҈D�� ‡�RP���%"��Tv�1�ň�4yz��/�U!\���T^m�h�԰*�‚:,��:L�4��Y�>��K�꛰��I�7^�4���7�U)
'�k)��&&
�1*4��������P Y��+[U1��	W8�;�DqQV�	�LB�E���(I���DYL⯬�y9�f%L���T�
FĒ���d $<��
� ��	]߿O�Xz+C����aM<x�@��-ѓ�ι(�N7��{��=�(o����NQVD��=$�A�KçH��q(���v.���9�8tL�fj�(a�4"�sHˀ:���� �75D�������q$����]�@��p�Mq�$!���"�ڊ�<+�]%��8��7f\E�'��Q��3Eϙ%�����HUYQ�*x��
��4|+` 5_�1�ǩd�d��b�>$�{��ԓ��65�~ٖ�W5󰅦`3���dh84y�f�ư
�>��h��L@zH����u�I�d(4i]G�ӥhB?;/v��W���$\�j�Z��U	Ϻi�:+�����%�ΞȾ����;	&~g�x4:��l.3�
�=�#��m�v�Tk�8ϤO��4�/RO@*��ӓ�y�S2�'�����;vl��(Jb^�,�y���n�`PѪ�rB��Wp��{lT�d�,4����h9u1�p�<��9D���\W�qr8�>�<5O��i��Z�z({�$���+g�,���+��cs/�H8���g�*|a�"������PO�ݘ����@t���Z���/����1i��`s�uL@�y&�=]�K�,~�Dk��9�,�h��z���V�_R�o%���t����]�P��M+��p�O{C�Pg�:�T�ڍ������3iw���Y�q�Ȏ����pf��O�?S*���4��{!����0�"�,"&e���ݡ��u����ܴ�ـS�������odq$򓰺��������B�(�k�Q�|66bB�!�C�x~Szf��L���X�yc��O�n|ߍ�	;��"h��U]��4 �7�x!���cXu����_"�Ņ2�ЩЖ�܊��g2�FD�W��:m�K;/�_�;鷅����"�>�D�������M$���Jj4
��n���16U7�v$cܐ����i}
`�A�en����/��)��-�h�1H��G4΋�sV�o۵k��ꢚ�Hn�TEݭ�mR���3

8���ʦ������V���;ʲd�Rl�����9ɵ�G�^��%Eudcht|tȐ��$'f6h8�ia��o`��^�]�ێj�r�VoԢ�.��p�ur�]����2�V��˫ഈ��٥ls������l��^R�rvi5���f9��O�.?��a�Jv�7��Z�#�Q��T$���H*B�����������a.Az��h��f|ؗv��Zߴ��Zx�E���}�MC���x"�i|}7��^�[��)�c* �h�hy��b�)��d�O&I���便�D|,�?���0��#2��z�9�Rtc~�Sj��>�VUAP�x���V�o��_	B��!�a�Ӻ��t�ʬ��ԕeW�C�5.K����J�6�0����2l�E�6�XWO��b��E��;CK�;9�g��Q����as!��T��l��DF��rL���\�JA�**1
���IҜ*���3[���tb�+��Eh��$`��ɢp�{�"�/\��o��.�A#�w�͈vG(.����=���sMizazzU�a똜j)a+��6y��=�4��|��x{�l����9t
:�Z�n����n;�^�Uc��::�휃7�?�.k��ԝt�G�wA0:`.�޻�]��@�E��^!�D\��TZ�.��:͙�����__Fw�l6~�7�;���P�e����-��o�ɍ�N���jB
���7��ڲcq§=���ԡ���T�������a���Å.�W
��*�3��x��N��UJǗ,Q1��eQ��EEѫ��Z���l뉮*W�>)�:��EIZ��o���=d�vD׵���ƃ��|)>_��M)(��x{6�o�k��诊K�O���N�O�>��_�>���͇n����^/�X듮���nC2q[���Keh7���I�J�58�3��]�d��7�o��a�3ai|�O~�����]I�z�ݸZ���
I���?���>K���v��]�`3��N%�W�r��׺z}�����>[���������<�a�8��#�������,}�~�gm� �wkQ����;�fǿ��^=����z&k��K�q0�m^9�r�v�ZO5��_�$IK�uѮ��O��?t�_�0f	`̪��u�[g�u{�C{1���IA[0�	՟G{XSҬ�~~���B7�OJ۸��Zu�H6��|��B/E��@]Jz�]�ܰ~�}?��‡�s�&�1����R�_/[��9����ÊrrVQX1�H��#���D�2�m���
s޸�vY(�=��M���	�����q��)���0�
'������49n��jP�F�L�c��p�G([�y�7��%��9�Q3�O��)�~J�%����h�ؽ�rcu�yd8r��Σ�L�pf_i���K�G�c�&DO�H��]��4ڋ�x�gw������� �
��}�c��+e]F�w�u}c�ҳ�]bE
|�Qd�"H�h�o�O4�'z�w�md���`�?���,+�����Zec�\��0&�0&av��f=�iU�P�z<.z�0Nʌ��e7b~�
6�����F��w���(�ͨ�����?r<����,�"Nk�}���.��4h�:�5
�H��n�a�$˦��-����t�y�0z=y�K2�=��V��Z�_��	+�F+�D[��)�O�	�k�&��R�ШSt��O�v3٪�`�].��پ�n�ws��J����rYkp����������� �O��(��T�fG�4��#ϭQtK��!�����w�u�dM8��ݓ��u؟u�=���B���3���ؓ�T���ʴԀ��ub0=m
[���Aj"���m�Vm{��L�#��CTD�KΎY6���O=L�.�a��w��A�Q��b�(�C�����L��@R1vZ�6��7ʬ���u��-5C9>G�6��4�4f��?�ӝ�wEW���t�r�!�Y��nA
�g�|����Z�r���}D�цf����w���T���Tx(=��(j�w~������Bo�1��쮇
#f��ܣ��8��2�G�
뺧�x�8n��ɗ��s�yڎ����m�
etL{�ȥ�#�ZP�n�fx ��]��`r![J�J)�
��Īij����fd���K��mϤHZ�٩W��Ƀ�
t6�f��P���j>��',��ȿ�h����5���q���I�@n�;L0{�oY<���QٗK zl#� Cȏ�~Z��Rд�i�_	����q�%{��3ү���ݡm2�MڎQ��	P�3�?X�=��Om����S���ٽ�q�ь�A
$��������Z����V�.���Zk�ix 4�d!�`���� -B�I[��� �{d��Ŏ=��A*�b$0 �}�p3�C���
�{-�	�9|F����q��"ZO�C�t�9ː�1���4l��@m)r�v�l��UvL�-��w��
��
��Q{�%���=K?8G���=�ߧ���\��O%F�9TB�(�i#=�k�3Ũ^�f��_�N�������a�'��#��$.�ߔP�b���/��m�5����G��Oq�g��<u/8���zj�i_�'ji�1�Cd{���,�2�a��?nG�s�lG���>�/jT�Y���#b��휯��O��δ�LäD���"��6�`�}�P��eӍ���mfX���X![�)�̚Ω����rb��=Mp�u���X�as���_���o%��E`:��,
��|y#�}�T�C�T�T�W%ɑ\���n!ᭊ1�z�ݝWXǽ�n�5�J���-K��C�AG:x��t�X�_t�1��/���
&��oZ���t�x���������t#Z=��'e�ڛ��e����f2�j��֗����3=���+��\��S�,�CM4���R�J{�	9�6=�O��3C�Z�/-�"zD��.�ya#�M,�8�

4a�C�١�����S�<L���P��f���*��r�p�h��9ѯ�Շg��2�z����#%⺤f�ݾ�����''.�K���V�Nj�ㆮ%���\5�!K&���9�c�*u�d);�fk�"�09Y��}76�L1�*9�G�&�<z0=5:u�9O>��0—�J�T8�L燷CZ@�B��1F���q"��t*��`�
��A
X��~� �Ŷ�]�&�O��m��z�ж��셛E�vӪ�W�Ƌ/��N�/��C�h��!��i�i�6�[a�J�ۊSD�)_"5�i����`�Ĉ����G�F&M��j�������D(7��դ�w��k��Cۦ�x@�ʳRUؤ�h�������_%��}�ud��C�͒M�-�P��<�Y�y��@���n8@�o���-f*�ʦS��֬�//%^���
P���[`h����)�H ��M!�K�~;�����~�K$u^Qy�宨(�E}�F�M"$�"QoG\y���b⇶Ȇr�
�!oyHPdAy8�D�3U��r0�6s������ĜO��r�Y~��]��:6�:~՗TivK�/�5@�c�fڭv1�md��B�I��	��r?"���)�K��w).����M}�-i5<R]��o�@�sl�hD�5,@��D�dQ�l��=�z6���6�����D�e�1�ckF_�	����vE<�es�6�c@J��E�X$Q�~���]�e�%2M����w����y��"�8ᴼ���mNM�%��m�i@�5��!�A2�¯�wR쑷���ϨL����XG��W��~�=t<��2,�oP?�D��-���B���Զ)�F���FC�6�_��Quᖭ[o�+M�3��i��0�%���K�&�u(.I6g�'S��ד�h�d8כ�{�n�p�����vn�Ш��/���]�~v�S��.Ɍ S�Z���p��hm�ŵ���6�(�|^Ul�jV�:n=�Ľi�_C��]�b����3����֍upw2_k�8�!��(�2l]��O�����-:�����-^���s�o��M�*'��Wћ
K���F�D���r^ܶ��
�˨P���Et&��x��S<ƅ�|�a[i���7}��.��$�@�j$��Te�HG��=���[',�����!�0��$c�B�yM6n�o��+`h�ZP|��cggKĺX�ib�/�{��^;	E�.�iK����KO%��v�F��ޣ�=m�O}��9&��T�ݒ4�D?�Xi�^֥G��P/HS��t��j��
ٶ�l�R\K��Uz��!V�[d5e�J�3o����!*��#6�Hݒ�^iV�|Y��cU����3T��-T�cZ���ZJ�.;L���H�61�>�6�)���ܱ}a;����U�4/�=u��c��h��RJV!��5�{�t���c."�:k�X�"�:�e�Gvro����ќ���Aͦ�%�;r�0M��*1�ߗcs�
0��@>x�D�K$�G"<�f�P� �Π��B<�HZ�R$E�m�"�mY���$Ŷ�6)�&����X͙�L<c(�����fV��,�"��5"����J"�H����W��X��.�@�~U��NX���q��Reb8$!U�MY�(͉�! l፠Zœe\�},�9�JHG�������hX�S���T9��Q-���^�1���n�Ґ`��bR��꫈i�ؐ�!o̠"�"��Np�yX��b�p_j����m�Q�\��m��q�<�P鶇~�
�4>R��<�XW�ڼ���:�HB!��M������%3����j����Ck�CYj�C�N+?��5��T��Zإz�=Ǭ��+�9c$vF	M�K�-�G��&/t�	;
'J���Dq^���fUK�0eN�����Kh�q���b��[�ж�+,�
���u�GlI��I�L�/�p��U��d��"R̃uu����aI�.�s��j�h��4���h
�(K;�j�����&�{N�(��Ύ��tl!�$L�df��Jq�����O�NS�4f{�=�I1�mYE_/b�kP����]钐r�F�^�K5�}#�TY��@7�d�[�r'{u#���J����_�ӍX����a�=��)+G��b�\"��<д�99=Ha�]�Ὡ��>�WU�ǼV�߳e�؈Y�Y:���B�$�!jG���#!sdl�=�e
R+��.�j^7a	_7-`ID��Q�{3{��Q]x@�8��Q�s�A�錇��i=��q�9a�[�Hm�pUq���j�i縣T��-u�)=|""rp���SC�����FR�P\.����>T��#�y��������=5z����Gn5���q�
EeD�G�<:B>•ή	�џ*�W��r���qG#�yq��#;��3�#�cm�%O�J%��S�.zw���P��&S�Y5N�l,��s��b�����P���nB������#�T?~��IR��~���Z�M��8a�X/��ߢ��+ɪ�oy�],��H��޼g+IT|�T��+e�?p	�����^�m��������\����R�J
������ڡ1��j�L�ffm�}��M�'�G^��-N`J�ǝ��Nsܐ�c0#d�1"��.�!	������S��ڶ�^2IZL�u�U|>U,�V!N�m��;t���~�?�n-�w�m{$o�-�]L-���]8���1�L�\��<=��T�<A�$�)A���c���|��љ��/�5��]k���ؘ��9�#;LE����ޮv-Lc+H���z�NLte��:r:wre*�9�1����!_�a�Qkj�ۀ+�iyЙ�R�kL�K�I��{#���
N2�I�oGR��ζ����p�	E�J<��>4h�c�H�0�����1��]��S�sjDף6E-(P���7��c;��'�Lֱ�V%
�g(����-@�+e�2�2���R�A��$�2��Ȁ3f���$
�b$4b&Ñ��1l�M�Ž��ՠ�)�z&�ѿh�l��|�Ǚ)I�\�3��W�_]'�N+
	@�����j{\�r�
��I�6.&���W'��:��MdV����]�%���^���+�W�9�d����;#��1���6-�R%�b�'�=�3$�Ϝ�xwa�#��Yz^�(�`��;�o�@���Nv^��&����s�>�2Y�r��9y���sfz�5Z߷�)�ױ�\��WR��s�B�C���J�GOC�=7O
=�c��-(�QԨ����EC,a����t�^��&{5rK�7Ӏg���Z<�W�T?*|N>��o�/h�hȺ!�t���$�n"�
M����~�ew:�էZ�r�>p�ԕ���¿�\��Ƀ�{-$�O�� )8���%^B¥�!��X�25E����E7���K�MeK�r�E�[fd ��~}��lmc-/ڗ���r�u��ŋR�ʛҁ]�~Ih�ݶ#&C�D&����N�����仙�m��}���ug��"���� ���8!RK�^S�İ .��]I���)/�m#`C�{lQlA�R�bl���0x!K�Q�
D}�rI�� ����~	`�M1���P����lC�l�X�>�]���/B�2�_�����7Ʒr��^�L�.�������5�\pZK�*U�8���gq�Yq��'�1�"�߁�Eg�J"��,���-mms}��n�^r��uB�넠�a�]ͫ];`\����5�46�����NSfo���f�2�����[��p�kj;SFg��M�eDf\�Nǐ��f]'y���W��;���Ϊ�ۓ�N�"���0����x�9ݙ'�]��:@�Ӂ�N�6�-j�0XǤϋD
�癳�fl*+�������Ͱ�fL��R���{A�G{GGw��qd���T�Q�n��F%	##�Ʈ;�K�|����8r$T�T�\ܴ5�tۢ�(*#�٧�Z�Y�2t��߃��3�i���W���֩m�f��Ώ��*�+
�d�m�������C�l%Ba�O��*�ASl�n�@�ŵ2�F��S��p�kÕ�˩�'��O?T���ha߾��Ew��%meES��Dm(S���J�����F�˘1[i�€��bR���-	L
�a9��Ʌ��8q�P�ֻ:�!UI$nN�#4
���.�Ȅ��a�O��sP�g
�О�!vc5��-D��hjZZ�Z�Y�yR>>�*�$k�rh�	�j=�����ه�K�}��\�I�z����l2U�p�?��4g�4����\.��X3E��D��1�PȪ����-$����{��w�s����}�3� ��9{8
}fT�a�t��?��/Ato+���͘��珔3���C�:�#��p0\����jqED�񔁀Nj�4`GX���mVd���8n���@��W�]�Y
�o�Jz�p�V��ԓ�6S��
��6�r]�H�>B���઱������>��~v]#t�����}.{���K��]d?w9ww?�5|�L���MQ	U��D��xVհ�pٗT+��HG����Ln!O�"J�
����Ps��GmU�%+�-��5! {��Y�����V�V��R�xvm��*@ol%u'����ʊ2!:F๪���Σ�e�щ���n؝�ʰg iS�y��a��b8a�"*2Ɗ�K�$k[���2�l��+�"�Q[�&��e��ż�߉�H��?���ً-L�*n�a�g��#ɰuY쨈6zե]���ھr��1����SK��.��MSCg�n���R�l�ġ��6���]��wE'�r�v�Jnb"�5B+�G�ί�6�G��I
�9��;���>�>�������Nj]ZZ	���ΐ�$����dJ�'�?�~G���;p����٬
��T�����{����jR�DU�
��zY�R�D��M�J}����$��K�	��G/�]�u?#�׷uIqRA�s�oX��P���F�\�2�Uآ��g�.i��Q׺�j�2�FI���5�Kt$���c)�n��7����4�!�d�`�)?ե�`K�'׍Xm�T��(��ǩ�r��sc<5Y�U���b*Ul�5L����,�ef��1Q�tZ�Sŕb�i�p,��g��"���]�6�v��S�@�{��)�򝪆�x��`g_�[�oT�ה�P(�ju>Z�̕Ut���#�A*t^��|�a�
S�a�G�Ɏ�:v�\l
���p!��_'Y�?�G�D��o�=�j褯�e���������y%8��
�(�d�����2������ў�siH�sg�4�=-k����������M]���kSsbc���:�#X�y�G�!`�AXȽ���XTS#vİ�W|C��mZe
����(ey�b��*
|�0QMY†j�\���#l8�c��QU�q�����}a\�K"|�2�3�ٺ��F`�⛏C�U��c��=�^�WS�:5O����O\%a|K�����/�i��^=v�rKU��|{��P��[��{5���N&�RD��5�z˕�dU�YM���!_T��n���jI7����w;�D{@"�� 1|B�L^9�k��	f4�*�E�F�9��N"XK�1e�ިbY�4�K%6d�E�Ɵ��0�ƍ�F�xT1�Ӳ&9���g���Nd���]�^��ߜ�V��z��z�/��]"�B��y�^�D�ʟ���ju��-��K��t�[B^�nz�-�ju��q8&_���ƨ�ո�����8����,�D�)ag�$t�q��=�c��7��$덄h�W�
E��+b�1�R}��@�]��ַBa۞�%��Hx��c�%K������"���Yi�)WߦEH�#�m�Z��rq3����.�>Qn���q�meP�{���r`�ȫ�����d��L�^��H�Nz�a�%\9�=i�D�y������l������=N��*5�[�p�_�z�&���y��E���J��I5Z��$�mq+&~��"���\X�HK��l�Z	GO3g��,�J�������{_B��T��L�KT�Ǚ�4�M'�䒮E��ꆀ��+���y
�F"��JX��t%���� =)(�vȟ����3��N�w�d��r�X���[�@�!kP���T��d͡43W�+�����ǜd��<�\$
8D��.�MCh\�x@�m�R�D"�y������9�У�<P<�D�g/=��a�L�4�)9l�Dx�bJO�2<�&ˠ}�ŗ"�p�ؾ���>]١ټ�����JyvPӡVBv(����
���r�5P��H1r��_�K?��wU�7�Kr�_]��R�M�! k"2yS��͇��xr�ȍ�R�����WafyD��k�
�Zݣ�_�N�l�2=�_]^e�ӭ%��\�t�	���.�qn-�[��}�>�}=�F";P����c��[c���6��.9V��ti�]j�<����݅Y��-97�	.v�f��54$��;G�\�G�Z������xH`�x0^�_�{,�0����%'G���
��Y%ֶ�����l�,�b-.g@��BH��Js��f���̢�ri��Z��1�Tzd��k&EmC2[�/��/leB�ݗ�G�˅BGt��0�G�k�̽�#h_/��J��nb��j;����ab����2�oNw��kIٕ�����k L��ei��Q��k��K��u~��>�4M@7�~8��)��94�cϓ�XUf�*���{�;��ϔ٧;G�>4�vN�X���M��YW�t���H�L})K�`�Y��M� h�lj‹V�)3�,�ike��y�?=�r��	��������P�G�^���5b��W����r5��J4z�]ݙוj�YU�Ϊ}s4Zyy�z&��;�E}�-(Ê`��0�w�]z���q���l��P������hcFf��6�.?:��HF/
��DƮ	�l�����2T�&rw����<E��~'VN��ULϾ��Y�Z��:R/L���ua�?��ќ.:/�:��M#t��"�Kŋ��J��=uـ�=�-�j�Ϣ@���^�<�чыo,*P�=��&p&ϰ��O_Z�A"�'�g1n�2͋��d�9�2Lѣ�S4��p~�B=\Jݬ7�s=dS���yg��\W
QUU��Jܨ��
�>�:�GV���
�L���=��xpӍ�?K)�*�z�:�� �ؾ�l��Ro��g�����g��c��#g�!�
&�FC���Gy�pn0t�އ��/��Q�m0(�.o���dym��t���:�v���bp�Go�$똚�vE΅y
�Wm���O6����h5)d�P���V��`�d[gzt6	�W܀���;P�g)6�R��%K*�7��nEУ-�q'�����&�\�Xգ�@��ԆU�{�����
m�5j��u�����V.)�����X~;��7'��}Eu��>Wv]|�4�����g;L@��^2�ײ�>:��J��Ǭ�p�}z�(��*%��c����a���ש�%�S��E_�/���sևƴ��.��`p���A�O�]�l
l��O��*E�*�1u[�4*�8��,�?X�Z�)~�>%1�u���<�����'o��&���!&��ڳ��RH���73�9ƑHyl���%tv}��eU/-��*�co���l�%�X��ap�.ά�C�u��7y,g�٠���$��mL�a\x��Emef�<̭o�`�eP��!�ڌ_V꧘<�m�ڶ�Z��h6��/"�<�߉�(�B�j@��j�	Լ���3�f�ĕ;��1m���?�B-�_F]�t��*8u�0��]�nf��u`�2�j��^ͽ���{�z�z�w�5��_�5�ϒ��;���֕�"[:ǣu�9�j�)rb�G��\;Z�ߡ��#�#�?M�C'���8*��ދ��jS�.��L��r�^*GK,���1�Ob�3?Q�B�w6�]�%���V<����{<Y��|��.(
%c�Tp��JN�Q*�����~_�o!��zn!�<�ԍ�?,�=�[���Y�Ż�ti/��	�{̂b|�+��;j��]��n]�.,G���"�Y���;�x�WJ�D�M����+��F�>�/�oD_��krR��:��� ��@���ǰ��e?#o�!�⊷+�)M;�*#�z�@�������mC�GkظEUޤ�oR�qUY\Tԉ�o���q��z�}.I�a:	�E
�R�)�}Y;��a9:��{}�'O���\��G���Ci�r+5����1��1�i���%	�2.�X;2��ql�7	d��Ip� "��^EF�Pf�w�%���4��Ɨ�l�;�Hi��1[Sؒ����1=�c[�1�
=�yS�c:�۾��@W7�D�=���w�S��������V&S�ĎR�A)����[�J
�m�I[O�ʚI�=�A�'���3��A�]MԨ�����Q²k�4�yX(�"����LEͱlz��$/=1?a%�� <���x�(�A��J�{�OF�W���p�vd^R$Eݔ G��8Nj��e^�U3.Ų���,�֛�5|��@e�=Ǟo�8�dbTL����yv����W�L��u������1j�n,:�-:�(ve����k�e�4�@�#w@"�&�6L��^e���0��.r�å4/��m�>�I��@�^�P�9�0W����q�����_�,�@0h�9�8��h�pC���(��cϖJeK�^��N�ܨ.�i���)CEC���!Y�_�z�͛6mn��*�ӵDN[{O��*������rB1��~pf�
o��2�*����=8Lޱ��V����:[�}�Q�_T���_�-��eK�׬Ivl�W��dº�p	�
��zp�5kG9x��N�&|�-�r�{�rz�;���&6G�-jU�Rq������NEZ\����u�_R�(d�,��;q�i��|3�w�],��垥m��mۨeD"�Y��I&O�$�$��ʵ`�FY�V4����a���ZK��8�b�X�/�f�]��X%[�������;}cJ� p�m�+)6��O����)���˫z1����q2y5��@U,צfxIIw2� Q�\vh0a
Rၰ�.�D�'��t�0-�u=�lR����S��D�`� �m���Ā��D=�u�(��M�R��dJ�F�A4tQ�}�`��^��9n�r�d���g�x��	�V`��c�iמ$"-�M�^v�,��#��y���cu~r�!�	���3_���Z�ӗ�ɫ/�E#�kE���*���~��Yz�z�X��$�O��&#��7�U��UJ*L��
�o#w��t����hRJ���U��'Rؚ�ؚf&}�>�2V��oV,ۍ'W|�����)9:;JY��ݼ
�Jj妺x�.=q�_���X��[?Z%��n�?��Bg�~I�y�5�!7M�f��<-w�k�eP�\_!�����-�@�i��fam�Ѿ��ȝzj�P���J�Ō�#�T%��(bf��ˤ���N�=)�-�Ҽ�#�A�J6�g���xA�L�P��R�c)���{1�K����٢��/�a������^���N͡izU�C?ǻ��U�P1=��T�xDZ.��V���Y�e�W���C�M-\S>n&�I�Ҏ{����Ԙ�cY�x�N̿_��":���zW�N[���ե�櫲��I�{��\{-u�I_���7��_�޿	���wl��\]�k>��u��s�?�Us��v��)g����
^�?]�y�n�RK���6( 0?���������7�>�!33����3�(��gQj���a��C��"K�e�$+��*]RC�+��Pz����^l:i�����Feq,�Xt�<)��M
V6#4[��$z����r�j�e���{8G��^T��S�J[I���ZZR�i����5=��c�f��6c{0
6xaq1��1�n !����b�hv��IH72�G�9yy\�psI�w��TI�����ʹ�N��:u��o�$�o[���O�`�z�Wd����K�!�U�"���Y�����g�>y����q�⽰�p�OP	�Uh܃�f5��'�����)��~V ً�}Hv�O�ţ��K^�Z�n��\oxv��ϯ~��k?�q���W�M;�M���v@@Ԛ��J�r�KT~յ25���_a=�����Z!��.�|�d*���ʯ��x�Fߘ���6-¤����zVa�.�ɤ��h��x7�����/�̬�����+��ޟ�����8�k=aVW�w���8��
ŻϏ�-�`���3�g��~+���_C�Ѣ�@#�G���O=��T��$���9�nAHrh�'��G7���ج��؎N�[{�����ɗ���XOl�2�чE��T�l�;�ྼ(z�f�s��)���Xvb���㜺¦$�4ݫ�5Y��%�N�$�a���Nu���##��*	mo�4���l�&��_�:*����o.���Z_nN�
��Z��|�=���Z��vΐ��d�?E3��ӉjX�e�i+촪����e4t␵}"��{_���es�J�`�<�#~窴�=�,�ӡt��Yo��E�^��j\��i}�u�_5T|��xC��4�rm�@���ӭt5v��	@!{Z���8^('B�"-M0r���b9��q"$ة�x��TF�b�F<2�-�+
%���S��C�T���x�1�ㆨ��M�i'��3�2��8n�pIS�)Y-�O��'��b�srw�.�4���9�$׊ǵ����v�Ũ۬if�lmMit�j���*3�c���"X�q�x���D�!U�I��T�Az�.S���2�r;Z&TP9���yM���"Պ_�j
��������as�׎�(�R�Pl>��.NJ�
��[���c���='[2��`B��3�
{V�ka�W�3`_xkXA��*{zB=Ϩ������=�O�7�fC>���E�V�-5���L���q�ȰICV_����*!�ݢܐi>�b2T�@><�`_"���lrm���i5Ѕ<7<'.V�P��:��Rqa�i��Ϛ�Y�6��>e��DJ��b+#�������7�v@-���)���I_��\zE��q��N��M�R/;J_~J�����;"���
�7�SVM|Ũ<��G�{hhx��*m��c7���'d�g���~b�Tx��m�����8��9>���J�٭���!����ծ�*�G�m���x�ZR��*����3s��|�G}�&���y�
���6ӬE�Gu!�2[��u����I6�c5��Y1B��S�*oH�`
�#f�EB�=JIJ���=
?��a�i'N�|�E<�lN��G�y�0M��f�H��_��]���@���^�Ӓ���z���_;����Jfu��r�/��C�2�s��4X�7wfM�1��ˏ;�n��z�|�\���^�:��<��cp0�<J��q��#�W�n�#eW���.��-=ຖk��u�.gΡ����Fn��~�Vd�,wC�#M���G��{f�d��L>��.��f���>��Z�n��
D�X0hhT���5��-c�k�U���2�זq�Ŕ��Bv.�i_m�ER�2�6Me�Jc�/��UZ�ʾ�o����am���[f�@p��G���խ��F���|A��m���&/���֖s酗�V���/'���r"�+%��v�ez:H�[.�	d[��M�v�tݶ�2�L�p��o��sJP�堩
��aE����uz���9km��P5J�Š�(vH�UikE�X�M�Ѥ�ny_y��e+��땧k�P�9�Qu�ߵ�#�WM(b���U�_��麚��u�e�1�֫�;f�Rw�׈���s�5U���F" �\�5j	�[�g$��B�qMw���>���T)FT)��bꣅ���a{q���6��%׸���
y05G٪�LF�+�,!��7e1~(�$��֔aw ���j4]}�m�E�d�H3���m�_�O�(����0ϋ`�|Z�0##��51�J�P%(�$VJ�N�T�Q݂Lc�;�m��""�8
�4�ik�f����K��B2�d���,���G��<�`OK��.�v�xZ��Yd[͚�X�bF�l�$���/�Ql�3Qs%�D}�E
�]?fW��h��/-�YK[z[�º��هܯܝ�Y��Y��v6�ɉ)�g�rX���ꊺ �3� W��)�U���rB�o*�!������n��R�&��B�mS�u+p��<
'�<ɣ�m�C���0:�9V7I��!Ϝ�Q��b�bݞdv�z�w%U�S�wܨ�rr���W��	I�雚7=BJn���UL�r P�z��#r�p�{����n�I|^@�4�}�(��c.���9���P�i��r�.d���p���F�=�~lėf��lY[�XZo�ͤYn�阶�j�Xpv
��f���7n���`4��q���M��<�e ����I��q��c$6?9��簆��m\��:\���8�U�o!�>��	�r�������=�R�.?J`}y<0�!f�b������B��N�w�c���J8���y�%e��V�=fF�|t0�*+������K������J�O6���:-ɩ����9e[V	�E3�6�'EsB�RၨP�i>}ML����M��������|k��?�������u_�B��)���
pzr��_s���AѴ؆�v�e<쾅�+T�m����3�v�f}��s9/�C{%��Þ��8�ӦT`ˎ%��.r`���G��x�1���/L��f���SS3�:�;վ><?6�*��,��e�p�5:6?�u���v5B�R�O�$�����J���r��N�ٯ�)//'X���K��j[�珖�o��᧷�-{6��c'd�ZRqR���U���f��~��!=�F5��χI2����p��g��Ц���*V#��)7��"
b*�$i�I��s�4�s��y�gЁ��8n򑫄�i�:��T���F��̈́<�&a��T��D�����vj��϶�ߐ�Y4�H;��՚��S��:̖Ue%x~���mz��!�(!>3z�~���P
��X�ʰ08�>�r�=�h��K1!l���ΪI[a�E��q�qk��x�T��r\U�X�	�RӤ��ᨖ�����5�
��}�8��Dy�Y(��Á���4Ge��#�X)�M!Aq��_�`�+k�&[��0�E����A��:g�q�'��Q1T�|5˞#����i�R�k*�TR7#_U�h$lC@�a���"��s�����h����XN�����Ŀ�T
�e޿H��0
��nh�$Q���)�eP�
��R�K��l���ڗ�<�ࠦ+VU��z���)pϚ񀜙D\\c����.R�WW%�K�~�B�%�Mj�=ۺ��ށ���]wu���d01�c	;����/wC�w?ؿ-���%>_P�ek`������
��F������qMnj]�;��O��8��;��J�3x�o��'���qI�p�3Kޅqg�x�?px����cW���$�"CD�tiɮ~f��xE��n��X�7Ep�:��������]Z�:6n���I���l͐�o����Q�<���)|�$��&ؙ�T�(����	t�l#@�s�m�b�`,z(U�lK�턕sd��ͩ���
��	;<:n���{{ҎNLٚ�'/��ΥR�t��f&d�HE���Y��R�P>^�'f�t$e����*�3ʱ	P_�a�Oi�5y纓�8�ƝVCl5�D.Z���x�b:b}�M����V����g�L0��PR	�:�_x�gk�m���o	i���xߢ��P_��ôA�U�xUd�V�:�{&��ط��g΄÷��K�ۂ�ۜ��������HN��+ZꞄ>��33�:�'�IiCgSZE�+Z�,�7��W���t�>P=����n���?��X7�,"~�C��Y칌N8-K����F��m��BTs]gV'`�d|Z�j�u=~�PS��G4Ѹ����Ն��bu�ޕ֢bJ0�{Q��Pr"�h��\��b,�g�Ξ|V*����m/M�q���B�]I(����|J	�P*�ĸ�~������0p�_��4���r�
2�,�v�X�y��B*�����
���=�Y�m"0+S�qs+�$l]��ϗd�Ή��1H�D�N�qz��S8ak��j}KD�g���F3�X>�)k�Jm���P��eK�a+�4'��uC	2jFIj��Z2��Ig�f4Y�iIE
e�z%?��F"#��K!��FÎ&)�@�p��갔�J�j�	֩��N�ݭ�.@&�z"���8�M$�X�@�#3F;��r�ID�.}�I#�.���Pl�W��h�攤�"��Z�|e�7�U���
�����k���Z��i�h9x�p�A�^|�<�����$M[�4)����/�L��@HQ�{DEQ�{tE	
����n#�ܠ�B�dƸ>m��
�A|��^b�=��gS�B�I�D���=�q���Bd�7n=���}�2������1�`��5�scc��^�],X3���֞G�؞d���M��j�f˒b�>�D����h8�Os�?��VZ�hL�6?%��Xq�<"
*����,,a�2e1�ˉTL�J
m�em]� �H*��D���`'OzH�	1{�Gu�ѡ��e�:���V%�o��XQ}���2��I�~�f��ב����̔"I	��5;&1*2�#��&Ii}1�F�$���
��Hb��bD`Y�˚�$D��ZE*�
�#�Ig.�۳�{5�^5s��)Oiڭ�sJӞ���fWN�/��֑P��A��x%�5'�9ѻ~��H���X.��D�-�uQ��$����S�Ev*A�ƛXp�Zb������o�A�@r��%�n��k�)Q�\lޔ��B��7�����o�
�(PyP��6�p�T?�D�~{�#}��o�Q����bDR}�Ti��	�nE�5�sY�4��P�,�y����f�Ձ�êvzXU��n��Z_���_.��C5��Pe#t��ӎ�Nͭ-a�k��l��9�:Rv�MA-�/^���UȃX��X&����3��r>5=(E=����$YO� 5�a���_��Tg��:��^˿4�/-�yw+��_XC���I4[h:�
��'n1:syhHF�!9Tе$���4���3���z�i�+=���(C�9�(�FZ��m��i������FZ�F_��n���̌�ǬףCd͆����u��R,����e�ܾ���2 ˷*�C�^iq��r_��=�ū�f�BE~�ޘ@ߕ��Z�Mz3]�h;n;\1�뿉�����6��bFIl���h�l��x��"���%?��%�
��8![I�J6H� ���O�1��?�V��1�����<�r�
+�'OR��lQ�e�,�.]����\6����i�ɾc~�a�g�‹�#�����Q��y��,/��5��Ee|"M�C�4H>j�s��;N?N�<jĢ��}��MQ�n��o:��;Ν>��h����e��ٳ�n	�Q�����r ѵ���\�X�Be����w�)a��_���?U��,!H��FB�Ôg��QR����q%��*�7V�e�Z�Tt��w�i�E,(2*�ݥу�O?}j�JTC���6d}��T�q��tzﭧ�[ݎF�#���ꟾ�E��q"�z��S[��*���yV���|�bo����o��Y+,�5��{q���`�%���_��ɢ$y�/�m��$��;���0#>!�Y񰏸�9��ϳ��f�c"K��t�/ݤ��"%67����^+���j{OF�{&��gZW�d��dsp��U��Y���w؏,���� �<n���QўM+��C�u���?����4V<d��;�E0*���,r/�g�x[7�iH��>9Kc̥"���Ň��9���"u�I��~��s��NA�N8��d�
8�.}J���	�
����������˜CڃÜ�=��XVq�^v@�-g
n�C\��6�M��@T����P�>�ч:11�6M�2ͤi֒�I5�EԈz-��=w�WIC�
ς�Ι��L�x�%�P��1��-�HrL��7�/�iES�u8��+��Y���:�>�D��W�j��u��;�e�-u�Vu�Q�p��� /M�E��mցֶj)<����˹m�r��j�'�Çs�i�O��������`�)۔��)���=dg�fgo�V�2�S��w^x$���8��m͌�B��hU�Ss��ኍ K��ذ�<�w�O?�SW�dCO��b�EC��� ;�S;7lةw��$ɖRi	J%��e��Wz�/0>��Q�9FgmE��.
�tBF�ԝ�I����l����qr~��:�c��<bԒ`4$���c��/�.�y�M���\
d�c���c|h�Hy"=�qd�8D�?�Y���=u9p�|?�J�wF���_��8����V�v;����;���n�ét	"Y�Y�m|�x�q��u��������،6ۡm�����0�N�i``�|,��/\�B|�g�Qo�l�v
20��4�4MrO���ׁ+�|�����ξ���'��2����2�E��}�|,ee���T+yd킪N�3E(������Y.�=�o�cEY>���_F�b���x�s�,Ys�maIG7n�#j�<�غ�l�:�!�cwz�ޏn�εx����h��HW˥�Q��͎����ύ�
	����s��Ρ�3o�^�^܇ "�A8plUn�[�2}�=DW�]��Ć��-;[��`-�o��xy+�{�h��g@�����+ˑ\���҆ �|5NlB�W��D|�6dM�}9�E����v���f��e� ��A� -�=E<���+Clz�Y�,�I6���,�y�����!rm�b�t��ƬO��5;���e<`2��LuR�5>�Z����e��M��A+a���š�d�	�1
#j��ۮ�1������?�$I,JlK'k�R�ƒ� �DQ���RM���:2_I��uK6G���:k���~�ܹ:�J�q!%8=�!�)'�b\�)����Ž%G��G�Ĝ0-!)�f:�aج4'�(��J����h��8C6y海�#JȌ$6n�?�0#�0���`��Y��W��^���`,1��Ż�ğ�;dtp��ј	��'�X���/�>������S��CAF�1���<������8���{O쁀�k�4_f��S�Xi���
nQ9m�����s����nf�2DCJ��y�¤n�5���]-��o�O�����dS6˼�b#fkV�t����L��U��T
̰�i?����	��+�W�@_xӀĆ?QG��f:i}� Y1�S�d5�A2�v(����ݩjШ&;l1���+�Nm��Z`47���yiǂV6Q��W���E����Z�iȣH�a��>~	[�:I$b�!\�Y>)��P�T�O.I���3��D~%��z��B����`	�0`~7EZ�dE�ϲݜ�+.���B����j�F/�����+eˁ�s�x���8o�k7��on��%6���^9$����fM���^e���)O�����aO6�~�F��u��cԜ�_���I4��	�}y���ى�;O��a�=�i�'ѐr�ϣ;E��/����
&CV]�c���������eTH����a���t~����/ء���מ^�}�w�{i򷽴:�= �qw��
�lf�8�(���_�E���H���}�X
%j} &M��+��@y�9R�0��Y�v��'G�8@ȁ�́��	�1v�7d��ݢ=I�W�����o$Ǥ��a�e��V���������TA�'DQ	*Aq�&d�5�Y�3���[������f�AɘD�	�u�J���D��'L�O->0��-
�baJ��R�X�{�����	��fX=����Y
=�U�x>�?r��#M�RH��R-SA�
�1�,��ϼ��F9�H���p$a�Fm��|O�h��]+NNk���ue�K=�}ݹ�
:kt���4�&��h����j>2���S�� ���>wmZm�ӹm�AY��k_�Ř��H�K�\�'%%'�)qfr�)g%)��W���4��7>}�>��X�.�'nbYRp8D��?5���g��0��nq��Q�t
�[{R��MϜ�����Bc
F���:��gѿG=p<9�(��h� ��L썪�����j����o�o+$hX��/$yB�)%�D	j�wC/:-�сo1-qJ����+w����
��B>�����77�BN"T�䉨q1�$�͇��}�W����*v����.ރcf��O��r-o1�-����-`!Q�y&�b�[V
�۟N��bs��{ȭ{��rYV
�#k�8�T˨��R��N�����nS��ƂmD�ic����ղ.��@qs�9]e"�9O��;X��ǂ1a>fɥ��NU�r�+S\!_`+d�ѧ'<���w���4��%	�,��lnݚ"N��fZ
(y�VO�A����	��D�J��H9��tuS����Є������kw;�Y������_�N�W�g�'���,�VK�	E},��Ľ�m�nQ��B0f75Y�(�dY+n�� ��#��WV�ßECQ6'���(J<$+\>�]���2>�%�*�Z���84bqZnO��t�U0]�Y�i�K]�ٿ��6��� ��3��MBB�1��5�·w:3�Yh��]���l�D�{M>�5���������N���]��Y#�3̓l��\��F&�zh�y�Y�+�NY�n
�q`��Q�DZ�b&�4��,NG堤�$�q�Ś �y65�ށ��6����7��-�獦Y�<�|{C�S�#Kۏ<�Oٮ��z���>���B�[����DL;˖� ��6'��.b��$G�`%�3ԑ������ʢ�Y{1C7J.��%A �A��ԑ૷�[N�
�R���S�a���!���>���Oݔ�(�ҟI���,�a����(HCb����S���g�ٽk	��ni�-o���w�����@�ڵaȣ�d�c@^�����hA���0d�C�ʆӆ�c�����ƌ����c�2�y�	��K���]���;p8Y.�q��#G�Ƕ��"��~�C�-�G،Y(��/<p,q4"�:+�
oߟg�b3���z�Z�+��,j����ʥ�KbEft��.Hg��}X�D�Hb����k�cǘ(�dU��l;�Uy*/	cE^E=�
��W?Wm�+U��ZU�+�Jd9�̯i�	n�:e�K`pz_X�N�sYn�����p�4W�/��y�>�ۚ�մX�e
��D옦�-t�t셕�o.��¶�^Ä�|-�c�p���>����/f��Wx��b_v���2�
���t�p��Zt�xuz˱�����oP;=�d��|j�ؖ���?���V]���>���{�z�D�;�N�R���^�k=fR]�l�p
��	�J���{oKy�*r,2^N�!�0��A;�T�Լ!�چ��Q*��7�!"@�$��\A�“]�=b;Vت���|�>X�<����q���0�p�t��q��v^���U���n?�a0�ǶLb9��Bk���XdeZa}�tY(���y��7�j��)�QKӲ�jE������R4�����'[V�0���0�(6��|"j�F��+.��R`4}Z��&֞�@���pKx�:�r4��A��N�σ�%EQ�<f�
Y���(�Z�hiaK��cV
/��7����F��,�����0o\���̄S�a66/?�;�6+��0�h�Wa^I����|�ˠi��9/��rn�7��u7�^'	��� ^�9���s��y;�X��^o�ʖge�6������~�|���È|��|�]�zp9���,w>�qh �A�+�/x�\�=��X
���ԋ�������d�EE��e䱎!n����"�j	#'�[2Εk����GVW�u��'iEJKϯ~�k���Hk���#�p/�����Jh�M}���ҫ���i:�19i�iN�]u޳^N/���{�m��r> �~��M[ӯW���@���'�y�`.i�O:G�'[�����9�������Z$l�0�]%���V���9IT:Q��9|d����q�ݓ�B/��E��7V	o����h5A�d2��7��cm�����V]{y�Z^b�ܴ^���r���w���w��Z�x���r�B��<�ꃘ��������ɥ|>�6G�2d�*�2Z$��v{9k����y�Y\^��{K���ǿW��—�������}���?'�}�|�ʥZ�W_�d'���_��t`;��xڞ�kVT�'ՄC	#>��ZbB��#�i�I�����o���&`c�WN���h-���(RK�r�zt��V"��%q�����u�
'7�N�汢"
�$�n��dZ[b���4��D��x��0��{�����������Yr�0��<���]��?#�,(�h�����=h.ic��0�B�+�6�Y�^qcK��v/�IT�y�Qs�n�t1=�l,p#��z9l���x�4���%k�}!��}��2�(��N$���s	cED�����2�0��{1{�������1��0��a7�����⹆���&�2�sW����n���>��J$"��*rW���^�6�j�]���i��3�8]$U�
܊��"���FtiW`�Ui]��x��ޫWc�	�H��>�`C�Rh��Oϥc�-A;=�/�=G�)n.5X�,�!�7�vno��;q��">Ĺ���ҾA�,�ֈ�Ζ�J:=�ؘ��sa�c㱺'�N�\�y��o5<���~�H���=�=痌M��w���dP��.�P]��Z���؉Mz�_�Z��m��[�
2�w��޽�޵9{dÝ����7��� /���I0v�5%۹z�������E��lyh||�r�bnm]��lq���̒M�\)O�@�'�^$�W��߼�[����(W������C_sܻ7�(ƒ���%s�6�����&��`<��TŠϳ�o)?`Dz��Y��7���1���Ӹu�ؼ��k�Q8
��8��0.����\ݥ�/��G��m���y� �Ve��[��rF̄�����
Z��D�*;�aCQ�0�H��5�p���Z���'��|�[�a��?N&#NF�^�Z�[`��`l����suR@	
��'_ ��D�G��I��'̰(�C�Ϧ�����䅈VtT���i��T0�M��M�y+!�I7�>
���qz�	�.���}�(�/K��N�*g^W������P~�E�P��d�v]�]��9������C�F����6A��L�vDh��u�5ko��=A���Nm��p�z6�D��VsT`5��
�B�Z'�MJ�:fU*��%�TĄq�T�{���f$�G���
K���)*!_�ej�T�UC�U}F���	�6Q�װ�#H�Hn_[a�!�@_��ս-�u�Ug8ɥx��X:y������{��6���P�S�wqQ��"���z�׆�8��#^��<�_�#�=���^�s4ap��_.:����Mes�
���]��<=�D0#�Rp@K}66
G?�;(אַ.!����a
�7��4�[�N��F���SB�����Z.�
D==*�rS���+�G�M�hĠ9Q�ք�(v�T(Ic�&�������v��EFj���G@����cf�O�ƛ�E�8�Ǜ���e�Pn����*=�̿e��=��*�*�&ʴ�^��=,�朸�m�<��H�=Z(�9���VҲ~40k������Y:���6��e�%�+�o��>�}�o�U��>���C��<Ϸ>��|�������=���7�=��<�}~\�+;�l�O�v��9�s����"AD�'���2d�{n^�=��Uyn��<�����G��g̫gm�S����\��y�4-�j�r�k}WW����p�kʳ�E���sg�
q�2\�>y�$�ɯ��_�z���zה�r�Sշk���<r����.
���b�Q�e׼�L��jY�[4߷|����+?�H5D
�ӭ8ʢ=����������E�)%��F>g��fr����_
�\ ��d5٬�����o�p��P��v8�5�S�.������7��k$�a�c��yJ���w[��A��K�aKÇ��&wƸ��d�
[g��`����8����:�.�!�P&�}Ff�H�-�4ƚ�,� <�c��Z++Q4j?F�'���򜨫5���,��	��t>Ģ�2����S�e��9m�f�{�\�Y��;�ҕ�$J���|��j�v�V��mV��"�s���zAWi���]���_?�������~��꽽&ݞ>�
�9��AϘ�/�`_��.�L�+�X\�*t.��se�2SyY�p����q3΃�i�UX�~6��҆`�[30��2v0j	���J!R��F���|�/,�������wE3b
;�V�	I]��UJ�ջw��i��.��s��|ڈN�iܖ�Ӑ�i�e/3�a�x���:����C�D>��8C�<���f)u.k�p5�}p�8U��ӂ~�9 �D%�B��3X���>���@��:�:Dח5yX?�k�5x��5Q����tݗ|~�'z�ON���I|��4i��
��7�߀��7��g�v�fѲ��<ܼ	��_��o�M6k�MrQ�}��հ�B�s\�yIjzr�m`�z����%Ǩ}�!j4ɉ���e�q=�:����s�k*t�����]P���t)*-E�m��#Џ~�u�#�3�"f�
��@��`JS�cIjɊBE�-��m��p\��A;�2B6[�CWu��0��+`�qt%�\?r+�Iy� ���T���Gs��L�C�P:=�~�"�ԦwA"��R2e��0hzm�lţsD��H/����3��)�%
/~Q���#�$���f�Z2�k�ٰ�7n>�&����@�QH{��[Z�����Nf��E�	>\�m�5�����ZZ�Dj���L�2��mH7"��&�3��
H��tr"�R&��)��N%7�rs�����S����H���i2=�s���Lg���Ǭ�?B����:��B�*!7T-U�5�xnL,a���
�}�d�>|t�K��s`t"�%���|~�S��-K��&��H��/���.kj��j�^�dT]aMiSU�7��wۺ:,�x�P��^1���.���bX&,��٣�DN4kꚢ��M����J�J욪�J�N��\�|w�y��{<)��3Q��ʼ٠���ʽB���_Fm�aTP�Q����bHlM��!��m�_�r/��x�um�o���;�����b�6��]�iO̓M����L��m�l�,�J��"�π�A��X��ַ�I�`G�Xmx��P<��0�a3�s2�ݷ�f�����B�E��mCU3�w�λ���;�RÙ���ޗK�1mb���K�ʱJjz��i���MX���� F d��Rܐ5���N���%���������t`{��X�� @E��R��[sB(�"���A�M+]�V�^)'B�/¤��,^��a{�V�gP���@j�H�RA<X=�R��5I��:���M;�%���M#�n5a	�,QBd�:�1��r��'B��:�D�Ҫ�5��i���
�O���1lփ�T��jIV�i���od�B�Fb�,X�"BP��q]��Y���M(3a��ɠ��ܟ��
�^(ds�����������r������^Pw$�Ѵ�l���'5��l��.I᤾�^�*Kv_'5
�Q�%Il��.�����@G}�@��W�Ձ�����tM4�Tد�Xȼ�^|kMi�K"�m�7#�����יQ6?<�KVR{�2����25-�����Wpk�5���zX�Iu͡7ˇ0��&$�D�̈1�0;<$� *��ѷ�1!&�8�^g�D���
$��"	��}�����z���<$��o���;�Ur������v�xٞ�yUTh6���p����ֳ�j:�Pm6L醓c����S;��h$��?|�+��B�[����~����l:�DS�mFS����6��mRmYgO�۵`�G���w#�OߑL�n��O�~�>��e�v*j��T4�5���?C}�T �54D�*�>jp�a�i5���2���pV�A�•a��Cp�_�� ��E���֒�w�M]����oт_\lc#�g+����������6hF#
�%і<vMB���,�e��Y|u�0ei��,�z�
����	\
��f;�d	JS��q%rͥ�v����3]����>�9w�.֘5��B�VX��@0�0�����4�M�ec�*8�ym�rTձ����K���i8�
{JT�qh�����w���{HP�Ф��>���>o%�)Sg���Y���K$1=-D���0�%A���	^����=�c~���=���.���ԣ&�'A��?Χ�I�&zQ�U�rl4&G�A�Z��A$��,$Nvr�R]�~5�,�j(����'�	8�;�f�:�6�~��Ek�U�:�~O_��U�%����~ї�br���ս�c`�OJ�wZO�I�n�/h�i�CDd�����'6Z3yQ��%1?c�L�
3p�󝝙��2~��9�ƒ��& �*�Gz�Ů��z�����v"χ��	p
ޮ[U�e���౩띣|ln��ಉ��nO���YMh�6&�k[�	,��	����6�Ÿ�ʥZ�(4sL—H�"���iW^�Ѡ��R�j�|]!�#��'��>v
P!!�>��q],��KZx(�K�
��~TS�.]Um*xm�x9�����9O��\k8ب
����l��TA1�ܠI�[h��%l�cS�A����z����9(B�Wg���qqM��W���{���uR�j�l|���h�_��Υ��*�u��<���<�pd�l�)[7�v�/*����ї�&3�b2v����t��B�j�+��vG��r㽻����U��+���Z~�4yd|�"~��i�
4��4?�ք��|�c��5�8k��X���H�dJ����HR�(i�w{IOg&�
���I߉���ք�L8k�qք���`�Db���'3i="9���V��̡!�b�>�+��FI�_b|]o�&�ҭ���f�2OV�0�2׳�D�x5<�юM�	j���m%j�k���>�b����9'~?;b�vVf��kx*�۬�~ �l�;���E�v�l�ū�	?`
A6l�>^�rs��f�l�92����'n�_CٯPk�z��XT�'On�x
j�D-E�<Rn���wϊ
�Hy<Zkf��٥"n�e#��:;�?&KzHUƶm=.G7nWԐ.��#�Q#�o�?�$)c'O4����{''1��$!sv����Υg���&��ˏZ@�W?��N0|r�"X�����Oe1k#u��z�=���+��p|�
I���X���	_�*\�|�>����͟�sq�0�|Қi�x�(�>����z��	>��k�ըO�T�_�u�/�,�fZ/���T�D��Qv�ҹ���m%��Kf�����+�M�S �x�������WX}��G#�����]���A�Y��sI�ٓp�Z`Mp[�kc<
ȑA��^�=o˛j�uȅg��:.�T��gQS���RL�k�!ٺ¦!��LYn����W-X4�Z�4U�tw���D�.Z*OJ����*,�&�^
�����S=K�����@Z4�nZ�Š�	R;��$Pe����cY"Ƴ�<<�G��uSI�4�	�1�Y�B�\��7C,S���J�H^z�ٗ��p�ci\-=�0����?� o��nsV`r$����Щ��huU��xph�[�ѷl
�ZS뚣��O
��~�y�ƌ���N�]�h����xb��Mh4]�i�M�]����p9$!���H0>	�ku"��,(�?8^��nDOa����ً��PH��:0�.�
�]�=�I8��Y��|�t��|��<�u6߁���ȧ��ō<�������[&������ڰ���v����w��F
3�f��C{�3��8�x[eO��[v���Q#g�o��Ю�M���wb�s�����ToE�cz��U�Ŧ�{p3$�7��}'�^X&�l!�%Dw����Pv��,z��=6oAnI��k�d�'�ε��s�ȻI��0��%��oT(���[�y��k8�n���i� �'��j�|��]C^�?�3F'
�}ѐ�0��O�y������:�ki.�m��j��C}�Y�|�4���� �h�a��N<�ЉC�2�\��
ePy���<)���鍑��:�%��X><M�.�3��z���4�� �ɏ�2r�'i�x�v�f��p؋3?�+�/��"�����svxex��*\	ƺ��1�D3���W
��kz�W�9U6r��I��IJ}9�~l���M�3�1ۡ�|trI_a�O�pZ mA1( ��t{�hm~�턼t�\MU�5}�ͧy��F�	�uϮ[F)�������U
�=�NX��,y)�����{�;Q.�⩢|1]�u��FK�ќ���Å����*J���r����`�D�.H2Q��n)c�i8��\fXJ�r���te����áH%=͕^��$J�x>��ER�������gFR/�`q�C(�\G�\bs�2����]v쬠��N�xJUe3_��OH�-xᬽU)kK�s\�ӹ�Y��Dݞa@��!�%�*61���DP���(�%�A�yRS_�i�ְ��>�;���7�{t�2�m2=�i/W�s��,�;����Cy��3�v��0^~(��q�����v����W�a$oY�7���[Y\���W���0FZ��`.tQi1
z���@,��䟽�~���_>��8��s���oȫ���������O&�0�0_m˜	^������fSp���t懧&��8�F�	6&�Y��dW92i��������s�a3�kX�����Չ����y�>[��8_���Ԉ��M,Ye�F�/L�9LC6M��H���+�!�R�Cy6��V����A��V�|��X^�<�rܛ9��Kv�[d<(���@`�X�,��|��0y,�:�ܕ�ϼ�g��>{�8�O�0A^kM�t�˓�!�-Tf*l�}
��*�T�[��;9P�Π��m���J��7�u@�$|y�B��N���I�۠�A�6�k��C�-Wl�5h��WLf�ڏ���b����h��g�"ſs��(��꽊��1ۦ��K��d��C����Y���;b�q�\�c}��^���_Z�fW��YFYu(�2���$�J~^�M���jp�~��j���&p�:����p}X�)ʗ��b}袮�:�{�T�<~6Na��֢�?�1���e�Kr��%��a��0 ~Lٓ6��!#�����φRѯ���<4��A����
���@��2��:��=�.��/�.����X i��6zc��@����
K'gr��lzR�8�e�I/�$úUc9Z`%\`_�YoG�;����2�:�|4���r\҃w�L"x�����ι-ǚ�7͏�'�g�JUc;��n7Tz�a��<��5�2�?$��7��g��wRQ&�lx�E奯������y��fi����Sn�zzL��#�`�5�A�Y�T-9�V�NK�:p�Ă��s��fx��o�U���]��n��5D&{H�-l���5��]�7����?D!p��A���eA��s�#��(ro=�|M�Δ��l:�������"@�|I��asvIU���f���t��v!�5�.k��zÁ��!� 9K�ֈ�1��_!{�p��g%0���"n�|���>;�1����!w��z���
��z>�٘�nT$����XnO�Fi3;�n{����z���3��:��7.�����t��K�ĠQLoMҴ���ҩ�F���Lo$UL4�N���4�~��$�Ci�3!�ѝ�|h�~��]K�Ug�On��j��n?���
�i���:nǽ	�^:�V��ڝ;��2Z?,)�f�����y�o�a5�<lV�6�!��V9v�Ћ[�ʏ���d�[qp����E��<��בY�d�=���&�(��	\�r׎؍��n<�^����Y�i����7�QT�lKl'Ȣ��U5`� �j�$����O�p��ɔ��a-�%l�ϫ(�m�&tI=u��C�s!S>_�\�.�-,�K�Lih���*���,7[�;0bP��u��Ns1C��-&%�[�dA���D�X�����n�A�m'Y@�Q�-RPN�:�
z�p�<mD��rR��_��ۖc/NC�/��ϗ�'���;l}�m@=��8'�"�mdR��K�z���,���JF\����M6�Y�J�'�`h�h������)�2�+��LN����4��`��g��hs{t�&R�:)�9*NP�6F@���¹ɭ����vU�����Y*z�V�9+'Cs�^�c�P�Ȏ�߰G1t�
���]���}>X�c�[������-��s���88.��?��O"Ȩ�J`20�ѭQ�C� *�{`4��i57L���5'�jE�s�v���y��ᇫZ��3�U	(iĂ��	D3���X;�HTң��TI�Gs��2���w�B;�B�`L�Q0��K>M߆��� j�3B9	�"��C�N��>�k�NQ��!V�..���#��F�e�sY��v@
�:f]�>�у�<ɯ���\��1�|�&����U����7�&=�h��Σy�}8?���p�K3qy�:���W2쓁ܱCӆ5m~O}W����w�{ƽ�y뿓���a{�*����Y�%���0sɷ���୦�2�V��o�[M3e�[V���s���:���ġ��L�Ս���hi���P��7��F�
�A{1~��<e㠭�p�ĪBAF����Y�W��f�&hKa7Zd)V�{�m{�@$�lf���ޯ�����f+�\N��M�r�ı���݃U���_wf
�J�]V�B.��C��;α�<+��|I���L	9d}&��j�GGg�2ѐ?�K\f�J�dG���F7��H���|�p�N�L��t���µs�&��|	���Gɧ������[����QaׯO��ܵ����c�����5ؼ٥���y�\��n�48����[�*F]�Q�vrw<n\�7�;Yo�v��]�k���0��H���RӃcd���F��	���^_enVJ-�~�J��/�nL�j��p�ȶ�E�k	,sE��]y��d�})CI+)��~i�H����I�~��
h�j�_/�T˻iզQQ�I��ss�1�SIO�.�.���{G\�6sp �m��5��k�u��6ڪ�Y� �W0X�Eǯl��5(^j�v�n��{F
A-�R8+�@��2�+����b�7~�(FX=��8��,{��۷�툌�Gn�9��w۝�Bl�p�XD{�1�B��Q�`�ʯ
��$ps���݁���r?�-Ћ���Aw����^o�β�Lsc�L��(Rs��FY�`��{�<8h��3H�!�
i»���6����p&���Ya�
.f��Ё(�l���7��ˁ6o�������$�S���	&��Vھ\������/��Z�����!A0$�!�R0F�w���Ă��ZS��=�3�B��7e9��w٩������%��;��fWG4>�� �!;�M�3J઼�bT��]G^�YI�3	P��
�Oæ����^�/���$sia%D�} ��6d#RdA��	�t��;�λc�E:�a䃚cRσ��*�w&2[Ol�$R8:���0��K�Tfl�ֱ̔�����d$�����	l���m'�fb�[�נ����͝�Nh���|�������wt�ԭ�@biU����6�TUYMDd)i�&Y@��ί�:�*���oH�&�U�]r����a�Y�Q}���Y���}S�)4՞�}_�.�J��k�,Q�� �f[l��4���S@���v�u�����O�/�7�عıU���w�G��Sײ�����i�4�rWپ
����H��Uc5͖K�x���O���^�EF	#B�6�X�`����SO�p�o������3ۙ,3�BpA�(�����bђ,ˋlƫ��������nb'q�6��˦Mk�I�8i�fe�f�m��[7���m�4�Mվ6I�k��`R���=����sΙs���{�e_F5Cn��T*Ӏ�2$��p�,l�>��N�{�����M�F-Ӟe����-�"��ӲdHҠ��e]��Π{8�.z=<[?����l��W�r��䃎����AI�$�{�	�չ�c���M�@(��0n��U�M3����`��:2�9��P�5X	9Z>5�`y�=jY�a�{��>��ǭ��cʢ#鮩�V���R���~�>Q�ҧ�'x��*�A�L���j�;��c�<]��p�<bz�2��fQj�������7���,�F2����
	�� 7"�������Խ�FPD}p��2'/�Qj��>Oe�E�w�`�é_j�E|� ���ei��+���|J3~�Dyۉ�`������)�F��̸��nvE��9�:�G�r.g:�ij�d�ٔ�8��j���>?�I9;�sm��Ǻ�*����0W,V�%Q�y��RИPAM?���ޝ������Y�R�庌o)�q���d66E��1��G��`RJ߂�=�|ea��@Zx��Ͽv��FIV;Bݚ4x�N-�L�(�O��u:���Nd�h���Q�O7JW?���{���%B���٬
WUk��:6:bd���B�v�;�^�o��gՃc�H.#w�Be�=ٙ#�v\v�4�
9��)K�y��#iӣ�����m�S�]����HD�އ���h�7l%��w����������nu7w/v�B��
����=�h/ �!넃n�
\�ԀOt�8�y����N����g:�T�O���I�|�l���+`�h�x4�:�rL���Ӫ��>��g��wm\%�o����yry9Y�[Ԧ��>��}]��1`i����+%ד%P��Ϗ��Q��8��U	�H��UuY�b��i:�qη��6����%|��-H�o�����JH˭�'C��q�a�F����u�7�z1x�[
�fw���Dd����RG��_Zc�,��˭��z�v��b
��%s{+9�"�~h��ng)[���W��Y�)�?�P+�Yf�j6��y�e.�y��WB7;PVB��/����~�����2Z?�����wߵ[?�~�>6w�sc߲��k�П)��,�d����<�HBwhp��#A����S����|�!,SEye�ś����s�Q8�3�
l��|*�����
��le��D.�~�
m����S�j��=��8X6�5��߃-��j��B�������S^
=�0޿YW�U�~�[J���N�0��߼f�䫳�j}Q����P`
��a{z���
Mk?��l�l�O�
�t`��;��A���D��hF�\S�p7�F��
١Ksx&����J5��\{����$�7 ֱ�;,zd�y�^);e�]S���f�g禵$j�G��$�/�,_B�b#ϥț��Xb(�$
�cZ�զtI�D��:����ѓ�_���E/.���<y�ɛ��B��zi�r~R%K�D�Yp2,�Y��D��2�6���s�ZCȕ�Y���&'we-i8K&͑���������M1��b�-!���׼[��pz5�{�_��������5*�=�^�g*�uK�4��qddǖV�4x;:|�\�\�
�H%b���p��0�X�y�ǐ/0NF8������m��>	'W~2��K���n�܈NM� Y\�m�m(X�</˿��/ў�qI���J0�������?	�xZ�b7�n�#�K�a��ۣX�O�)�D�Y@qx;N�E4�����j�1�yǥ�-0Y;��}���/tE�Kșj��7 T|L ��c^��e��qd�͒��,"p?����ݣ�B�L��)���ʤntqu1��Ж���_O�q@����k��E�

�ߢY�ROD���ѷ�+���@S4�7
Tp2g�p��t�^"����V�k�����+��Ź����x�1�8R�_�Z9���}�x���t?"r�#ͺ���FU�.WrK�b�;}Դ�_E_���ZJV�U�:�u��*Z�9��z�ջ�z�<�|�%AV�i2[.�n����x1�]��(o^�����gi��R��Upi>�1o��<	�I9&S�1������>��Σ�a��Nؾ&p����������Z�w����%5h!D�
�e��vh�����<�(l�H� oy������'�Ĺ�F�c٩E��%�ά���`oP��k�WA�ݻ�./��u��&f��&6��2M��ɏ���帚�E����,��l�Y�w!�����A�5�@�R����t##�6G�
��K�B<G>0�VZ-�ZeZ5�d�c��z��YC�k�3rJZ�E9xH���~��Ch���%铡�Ƿ6ix%�wg� ���1��ob<u�q%/�Z��2�Bk����S�Qͼ���z�)�<N6��X���s�'-Z�u��G�z��f�i�i.��~��|��`�w�ֻ��~?���lЄwbv�����=V�kտ��΢e�ۗ{œN��/�Yy�^I6���1���j,�:���=ޑ�,W.�(�c�cb�fZ��LJ`��U	4�C����'őT�F+O�y�1�3.���k����F�?)Y�����CV�$�U��z�g	��sKs�T�DFP:�m���]��Y7Z�	��!B��8�}A�u��\��L�$_�ݱ�w�q�ƀ/#�P,���R�O���yO�ٵ�Ƅ��F�<
���
�?%���h�솇�z��X~)��4O6'�^���+�3��)�E������,��X+�&T�l��;&c;w�&~¾������"�Sn�j�M�&��U��^�1��L�.��v��z��Rk(�wc1��mrs��_bJ��Kd�I�#6�o�d�fd�|���
��j�R�9P?7+��~��'H�{2��D�s�L��u�a�Ј+@��|[����4x�—�[�:�{��q�W�H��������Ls,-I?t!���^�HNwx+a腭7����� �ہRҸ�#=�c�y��Q4�_��w��s��_@�t��+q��WN�@o���ٵJ�0�p�h��+��W�T�A�lاe��{�C�>N�߄��L�7���6��@�ݫ�43>5��3��ù���{�,{���G3�L*�����=�ގ��*� ϘZ��hO��G('�O���[�iO3gV	��]*���U� f���v�0�-H�t�����6#Q�:���&9���7�=,�b�6��+��2�yE���)��eI�Z��(9Ƞ�2t�o���ad��(���G~
]�5�8�9\g6�d/9k�_�NQ�QA2f���U�M&�~���_{��׮ٮ�w�</��V�-p#j%K��#w�}�6y���޺u L3%��#2zr�fXN5����l��nHM��� o���m��,��g�����A�I�>�,�Q�<�-+��V��T�CvdńSB.�2ТKA��.�=��1�0_t��*�]U���N"P@m.��?�D #/O�zE"M�:���oG.87�N�ae͆�k���&����o���ҬGe��Z-�(+_1�k~aH/�X2~q�l|E��u���n
Ql��\�wo��]�?'�Of���쓺8�[؋�c~z1ȴ>��(�6�0�ri�o��Iq��T&�m���YNxl��-��C�{[������^��igˁ��a�Rϧ�_q�F�6g��_�f�Y
z3�x�T��4B�.�„�����T|�%˷=��d�jњ&Ύo9��M|����ŭ�_iS�v��-/���sEx�f,�Bq�J���j�́��%KY�ȸY�]�\��S�<�,Q��l-�����w�U^N��&��z�:0��;��C��!���2�{(�^'Ѓ:4��:5�6�r��BS�W7d
s\�i��0�M����@t����âP��5R[04��H�h�!*�O)c�\���d�ݡi��L୿�����~�|O,dcM���/���g���Ȧ�`|\����_�ĩ�(�:U<R X�Yc��,p%X�J�у�7i�'��u;���6����v�᝚q{E��3�}yR���7^:�d��Dx�tQ���s[k���S�E��e��7Um�Ii>7��Y���u'�J�<a>��ӈzj8��E}�����'"N���hNe��BQ�����\��:p��Q_o����t-#Dg�V�N�*�;(���,կ�(z�+$��q]w�ݔ0p�l���W�+�,:1�1G�9��ȋ�j����^�.�UT�J�
�iD�}b�Fv�r�b��2��Q?�{��q�|��t����׼x,��P$)ل�#X��%��ʪ$��a�L�\����9���f����*%�"�E^eA@�-���QH��:�H��ƫ�hVH�tT��@W�J�#|8�
c��k����4wL
K���_�z�<�"�+�7_|�Q:��:�f�5�\��AZ5�'m0�����3�'�� 3���7�$U��!�V��W��djJI�$zW2�݊�x��-J��͔,��ΏQ�0Է��w(}x��d�z��Z�����|��W��5������$��^��x����9S�����9΄[H�Pp�����sH�o�.8..T�f��|�=��d�/
��C�0�~�0\�\8r��8�B�,͓��Гr�:-?@Q��4��NR��M5�ћ2�:�8���T~^�6i��&Y��x�]���c�mf�D����Gy�PI��*֐X�=��~
FՕˮ�l���k�;NR��̯B��*/?���֞;�W��u��U��;���J��I�&:��l~�nԷ���Ocv�E��QR�}�&5��<i�O�|�
9C|�Lx%�4� sA�Lp#�.�tC�%ŏj�٭!�R�`��&��6��5Y_��Zc{�46dDxm���83�6�0��úYHe2����S�@B��r@q�^1��ܘM:����Y��B��Q3'"$��h|�t(v���ƩC��R�4B�r^c��Z�f���^C�����#�N���
h]�.R�U�:{�~jV��n#���)�W�y<��wO�
�c`ڌ{˜��`x$�x;a�2�5��!}\?�u�'���hniN�΂�!b^�U0]f���R�r
9&K�d��K��!'��ORP$� �c<|
�	�"��h{�3��-�e��f�+�q=)�֗�X~푫��U@����7b��i`������C�<a�x�Ȭ��*'>x�民&�Bq�F�P!�R�K�qd�t�-]�M�D�z/�s�x$j�o�2K��g�a�;H�!�I-�ƢWJq�:��"�����z69Iz�:0�o�%z��`��",7DȾ��_XJ�)[��V`�N�,2f:{�o̮摬!�Z��P,�S�$s�L��k.��Fg���N����C�Z'V��Sɱ��c�����	�ΰI����.�>�an�� �ݙH�Yw��Ϟ�s����^ēB��(( �t��%��@��8�&t�G5�>f�1-VPH����pD�&�9�%��],���ê��d��U�)@�V�G0�|����ׂJ�]�N��f���_-���rꡇ>���/��L�o�4��?t��]-�$'^	����6�6��&-�(���&�n�h�<vf�d�pb!qX���f���!��L��ۯSx�W�U�G��-~ZTd>vM�T�fB�c��[y���^���1y�T�Z�nj�[��Y����O׽�������?I��Z�T�g��LS�����r##����F��v8(dV��d�_�&O`UQ��GQ�>��ʡ%�vїr�7����N�MW�����!�
2/il�%i��:c��@�4�k��r�Kg�
�m�L�ڧ4�<շ�\d����s����yΌ��Vcy�i�T��e	o�u/�z%���K�-�U�W\{d�%�E,��հԚ
�����k�+��I����W��i�KGm�L�e-�h�,��+����ی�3�ǣ9g�����G��uj��T�d���1�y�����!t��Gv�h,�m7)�EI�ٓI</��[@d�wYX\��N��d�)̀	~�Ӭ�Ru�R̨�w��I΍TG�ұ3��1L�����7["�]���֪+!Xޮ���Y`���Vb8���O&�ٕ����K331iz�<䁸��ؕ�ɋ��x�e _s��v��mK�#̈y�i�qE}LQ/��[Ue� ��#�1j=k	�W��rTQS�:yZQ:P�ҵ..p�o�Z��1�
֊�9�L����V�M��΍��+f�fdj|�CwZC�i�C^���"T֫σ�F����g5��N�Ca��ǀa�,߄\T	ԤҐB#0��Χ~=�DT��[2���):d�:�9L����'%�
�D��ɹ�����j�����Rҿ���
II��@6{	޺o�&dU5CAH14�H��*�� g"�pF���r[!^Lde�f?���*���@ǵ_�$�x���̛I,���fyȐD�[?��k�ۛ
�:�<��M��&d�QX,�x፻m��*#���~�޾��튎P�E��c�}�Ê�]ӽ���ߎ���wr�آX˜�}Y��a�7.23x�YJ���O��]��fn��jn_���V+�ұ���Ԡ莹��`wu�N����p8���]�X���-�!�+w��%.L����uj���J;��ĕ)�=�y�<L<
�v4�){�q�7-����-k�"]e�2���%�`o�74Z5�q��-	I�"�1!��A�q0�S��QUiA1L��W��f�y�ߢ�cd�w{�FՕ78{n�r������U���z�T�� �gA�G�S���ȇ��w��!�[�	v{�Y����Xk�+�R�F�n�ZM�Ȩ`�bpT��ͨ㹮����.p��պ�-�g����KS};����y9N�8����Y�goZ����(}K���-ft-j��th�=p��t�Wk����p*����G3�0'��>��'|�rO>�b�i��:�
ǜM(ZU��D��y[��K�{u]�m���^asB��	I}G�[S%�����F�(�C�ҭ%���=wD�������Kx"��'M����X����\�`���`m
�?��D>�pO�1D:f���-E��?��Vِɷ9�<�2���,��
���y�:�1xX76��{��_�jא���H�:��\#��fY/�����`zk�
t�?F�pJ%�I!#w/�M]�b���B� l^=���:L�:/3��5�5���l�'�j6��Ͳ)ui�
������{����<Hh([7��~�F���X;����L_��W��.�<vi8g���5XK���������/,��O�ܴVٵ��.�� E�l�5�|>��3��
��#Q&�,*ht���觙i�Z����[���PO����$�<�M��:�$�[1�%����!��旓@W�����vq{���M�K��v��]���Eʖ�]�Y�X�J��h&%�a.��u5�Ǧa遫T7�ke����d�����\Ž�;{XϢ,�X-#c�n�<����,�?��Ȁ�2ɨ9�E���+������q��M���Y��D�j��S��Jq�
+�����łv涑�GE�ʗ\�-%��x���������� Ϛ]b`�4P�3�1gz��d_�P�4�;i=k(X��ra�F��cY�xC�ϭ��*=CX�%c�e-���N m�;��8m0IK�ɌƊH�����t2Jd�<2��q�Cd�FUQh?kR�[#���a^&-�>�>�TgK��f�]AaP�D�=��G��d�e�8.��s厏!�j�ZK~S1�,����T䝊�p�E��>ϩ��O��v����}�b
�l�Ȱ)�c��2��VW}Z�}ȥms�n�rH��0"ä{��3V�6�yD"���!��;M;f�����#��^���85%��*�XV":jE��b}ޣ�4�A�V��UBs�1c�wʅ2��eV�
$�#���=�R�C2�!^�ĩ��zP���~3J#7�8�MO��F^QyE�U�:#$���41���Jʓ�@V�H!��I.����I�Ȇ0���`�#IxP�3����\E��l$uS�O��g�ԸR��a���,N�W7\ґ��7��B���K�}��90d�5�36��}�5��x��E�_y���&���h 2U�!2��M�9�ڐy	�Q�q	&��v�6&G�~"�z-��rmt�v[K���:Zm����E����i���[�=8���%W����_*S���3���v���)Q���&L0W�S3�V[�\:��k*�NG�v�u��H���4>H���D*��O�5�5`�35�����7jO��	5@�u�W������b��^	�T=��Z�N���l��j�'�4���O"�Z����2���(�����I�1�C��nsu'�H�x
���J�uBm�A��xri;�������O�Mvm.szkiq!F��v�D��iH��~ݨ�Uk���	�o&R��=KKFw��j8�� 	ռ+�#��a�U�F�A���a�vב����z,�sˮk�wY�wХ��2 ��T	������;.����U��X\����������yT.��W�>4h��L�ʉ,:u��
/�)��������c����Me��T> ;mۈY�y><d�`h�lMu<F�_a�1
,��s�$H���EI&qQO�G#�(rTN�b��j������I��	/��Cg�z7����b��an�U4��R��
9�P�c�
&�jt��?�?*�_�`�����X��FB�v��wm�(d%��0+�F��O���t�Lv?��w������0����
D6_E�e��W��m��m-�2uo`�����P+U$d�C��7�����6��+�����WV�zjԋ/�I���&O}�&�8�y��7};^��j�˵{c�/���6�����oD�����X����چA�۸�~�'o|�|kn�^N�N6:_�j,?˒�
�f�]�[��	K|�
�H���6x��\�o�c:%�o���sf�
����L�}�Z��Au�y"�u�;���.�.��tzwfy%��Q(���%K{+P"χ�5k}A���9Vt��18g�*��%փ�rĆ�`k�nC�.<��@��l�#�:B5�/�,���4�p�����9腲�{�z����S��nuvQ7v$�1yp�*�]��S�e˄R�N)���z�#�p������(��{�s��0'/��t�F�a���Ev�aai��������L�}�7h|�U��m[M�K��B)����瓥t}�dU��:q���Ŝp!o��5jb�MQ9Oj	5�Y�RUZZLN�:4_����������U��k�d�P��{9?p8�W��
�iH	0�m�z��G�r��k+��Z���t�t��������<�����01����L٪���,uZ�-a(�Pbɲ~�J|�k�4���ѧ��ܼ'+|�X�/*X���|jt����A�IH�q�X���,A&���+�aXvU�����{8LDm��5V$ˣ�ۚ��FG�b8���#�ޭ�?-
��L�ˠ�p�PQ&V�g�V�}S��O���wO�S�?*M��4�H��}F2i��V�,�td�dK�5�b|0�Ms4�dvٗο�ނ��?��ɓ�T.�+i�HH�����ʖ�0~���1�ݤh�H�7�L��%o�{��ݏW�E+����D��5	�2Q�u�/X)ɐL��/B��Y�ア�r�0���v�ad�q��`��/���u@��#�)�ĒS���e��U��ðy�[��X
k'ֲHUFi��g��ʝz(j��f?+�9�å}����{[w(��5��)3��7���%K̰PwݛSn�ͥ!/G�S�����\�s3�1�w�
�.�G���S�_,G�'b��9G��>|�#�9�jA:Y��pLK���%�@dK��E���l2�F;Y�N]�,�y�2�Dj��cn]�|��yM<`��.�[Z��L̦��I����KZe��e�$UO��j�ʣhZW����t q���RZ�������*i�w��	=�_����Nr�;�!�F$�j�@��������P�f�hƯ뢊�
�gM���=����5�={���]��R�g���,7L�	Y����4<�9��`�����x@��tϯbC�"�K�V$bEM��/3��e~����>h;��JH7� %2	�6�U������5MNm�z6���s��&9�J}s�|�F䶆������C2զK�$�5�xv�cA ��	)��P��`��bV���L8��e}vo�b�g�pl ɔ	c��^~<:�EDD���.�,�3�~5d�lek:a(!�͈@w�X�@>�ڌ���'��VP�缥���Ӭ��#�Q5�H���Ov�����s�	�p*�G��?A��ˈCn2������.o.8���[rt�vŊ�|�Ǻ��Ap|���
?�ք��/�t��r��NL�W��w�f�V���!����
�>��~�����	"#�k,���v˻Q+�*��ֽ�d��<J{UAUEi?��Swї(�G2|ߧ��!,�dI�f�����\���rWp7p��(OD��F����R�sH�v��]h@3��셆`�&�/w"�Q�:�X�*��X�E+�M�IlRx�uŚ���?��H�ւ\t�[�VC�)h�"
��%�~@��&��@L�<D����ZP#��O��r;
�fg]�Ҭzw���~�V�g�T3aj�&=y��7���Q����s���F�j��%�~���&<�
`?q�F����/�һ//��J#v(94uzi��5�Umc��g���|i��ʧ�Ixl鍻��x��$l��ː!&mW�Τ�&I���׃i�)q[�h�U���ϒ��A�UW�����V�[|�5�2<�b)�����r� ��K7�}�����MC�GE(�.��/I	�L�&�e��Wb8���+!�k�B���r���&&�u�lk8zɲW�Cv�ߓ�l�U]�z%��淀V!~�!��v!;��K��`c�����HD)5$Mj���wN�z���dUkg5U���!%�l����M�(��y�VaU��B-P��BC����ړ<�2���	�I>��9���f�P͛,�6^tV�Z�M���]7j��[��1���gס���s�;�8s2�z���$��n�hm��� �|���dM�'�#�](�|0���o����IyI����"6�8?�i^�t����|3
{8'׷�%��ٴH��6=��7a���7M��:t�,("�p^&�s\���~��26��u=��͚��ѷ_{���A
��}�,L��s4`�\�M�G�Fd��P�:�T��8��ZDhy�^��jӿ�A�����}(	ԈlN2쟞���A�V�ۏ-r�j���~?c�uG�~g�'�z՝W�wv���&��u=w�^�~��<i	��4@]��X�^�ZSbJ��K+TW�t�,����hKQFZ��~�\@����%�?�\D~�}��*�K�������:���P�T�����~l�Yw^�g���cz[��3�@JIaF�o}	ր��Q�a�зhB %Wlq@�α���w�ٳ�M��Kn^<<9[�ܚE��<�8s��\5Oo�,�P��?�K6�3��.[y3���F%�]���x�P�հɋ=�P5�W�b���
���S�\�6��v�mAE���K��p)�ZU�'f�
�:?d�����l��.K�?it�+�g��=�90�<��^�#������P�H�|�a�����n�	�]�����h�H�R�T�ݗU�,߇�C��ϴ�m��7dk�ỏl�y�Ct�&
"�>���i[�[&�gZX]VQ��/#}f���׳�W�� lj}h�</�!+d�'�ݿ�v�r6�5m��o�F5��f�`2%ԃJo̍���U�4���`�d��
N�x��ܩF�{#*��J�8���i��0�d�*����9
��	!��d�X���o$��/H��
6��)�k��F�'8�g�<��1��h��K�ш~�j��m�Ȕ8���@���/�|>�jY�
�)�Ŋg�I,�Q���Я.���wK���r9p��.��R����!s,�F�{��8�i��&�#�o�n�zx��Q"���M_ԟ�����/��2�ݺ4�vrr�I��66�?���{%ox���R��Oz@��n��&ٽw�<������$��?���#�Aw��A����+���g`��|,��~ު<���3�[���M�U������\Z�mE5k�U3�GW�W�B�W�c�.vD��I��%Um��3��-�?l{�EϞ�{90�z{�-�ɿN�-�)mQBl�-�A�D�K��v�в`�Ȓ�U�
����iA"���O&�M�sh7��n��LH4����&��*��Lh=�,M���.�`�����0\W��I]t3�
Q�w�PҐ�<0��r8/Ʊ�Z.��7bʈ%�۴dT�Ѽ�ޏ�	r�n$�3z�JӕM�@�ؕ���n��)V�"K��h,?�k��D�P��hR�Q��4�b�4��mT4Z���
fS#�
���^B�%�k�c�X�YP�1 7�0�3�5�#h+�&��l�3�i� ���[(#P�I�zQ�iWC6���y�<�G�hP��y�L+f���,]��yjO�B|�2a�eE\¤{r���y�\AY EY�/�p��O���RI /�<@L|�ױ(#r��uI�߲�.���S4��'�v�in�zP;�����;��DyXC�<��%�=3DBu�
�P�XY�v���8��rpE��S(��r�w4�|���5�&7��e7��~ͼq�!:�u6:Ђ2i��2oL�5�́P��+��J�?�B��L�y-��?=�l��}I��m�8b����fG�)R�g����'�ӣ��1LKIꬡ�a�"_n�6�%[�_[�t�b�t���!�e.�Mp�s���2&�G�)w@�VW�n����r�����>:��R�B:�L]/������K(�݌�2�NL�Sl�%6)/�*'�g	7V�U5�b����('h�lQ��Y;�qW��}3�Z�PT#�	�(�XPG���넞�$Yv
��N\�;vH�;��A\4��t��fb<Y�<��*�\�-eE��R���^W�8��H��wd��H!>�ٍ�a�q��K��)HgO	KvB�E���5DZ�j�%�&�(}}���D��;�D=h�gTM�H&E�>�%�O���$�,,�c�:�=gh��{M��kI��h{�{��>�n�H�����Aqx\2���.X�g�#�_)����8 �.�(�׊DDD�a��[Ɩ#�hcY\�\�9�hil�>c7��q6ֹJ5�>��ܢe�wT�$Ԑ&�ʉ��{��$q���lX��}�{ы�*�"7M��$P��6�����3�:n'.ރĦe�@X���J���D7�U8)�����,l��T2�"
�/,�r��+�#�H�`�>�&���t��W굉�KN�옟�D�1y=��u��B�Zy�&�~�\DZ�&lG����2����E�Gͳ ���ìU<�y?ty�Y��;�]��؏��	����b���̴��:��m�0�br��Ō*P��gl�3K�vXY�`L����ղ�%�]=Ĝ`�6j�Aq5_��s�9l����㉌�/������%*�J��H)Ǚr�	�4('_`��M�T�<H��Q����]%�c�Q
�c����%�jH1/�mn�(��L�U�d^U��q]P1��\�QĈ(��;��_��ӓ'��4��*���j)J+�#	��3D.�j�DA'�-E�M
��2bb,�+�}9%G5I��N��:
��827b��U�S��]	����#���p?��ٽ����Y1�Iɔ�O��4iϋ,F�$7�ȝx�ƿ�b蓒�|B�&u�yf���/��vJ=��4�p!�B/�N�` Yh�v�s�k�=�6��6�g���)Gc#@����/�����������?�F���N%�c!��M�����ѻڭ���=��
=��l��t����h���D<2��Ӽ���A��rX�@Ja���u���7����������L��Y��G������c�%�l�C��!MϦ���v3%��MV_��,t�"��9�b��{^�b�[C����P���*;K�p�ƪ��'��C��y�!��Q�g�5JE���H�p�P���Ѕ۟Z�Z���aB�����r�ܲI�垸�E����Y�5�I��
�UQX9���1�fk�݈�a��;ZfB%m질�b?t���"$���}=�O�̰�]������:��%��H��q�lHj�e��z�Ķ��i�4�8������ȉR���w���M��ԽW�?z�w�ع�l��<�/�O�H�
��F�Bf�)���d�4|��u�q����1$�kP�<v��71�p�9q4u��ٙ�
"tIx����Vl�A�1[��x~w!���!�L��a��^ު(�{�������q�(�[ߐ�?����}��p�6O��hN�8$���&��o��z)�Þύ�F%��G��]��
���L({I�(=��:� ��؈�y���~��Յ���-ͻDIU������}��J*�/I�x`�:�op�Z%{3�h���~����o�V�2���k�l�_��\Li��|XPȩ"M�dd�y���;\��ԫ��p���6��C"�4�%�i��@Z�:���
%��۳o[|~~H��iޅ7f[Y2l�J[s{�!2����i�z��`jB+9nI'�Xˆ����`&K�;q<rJ�Dj0�	�#'���KD-���G��<�N�v�~�M[��n�z��4���#'&��'��iE�t|x?V�׮��D$����o�rǩ�ݐ��7�G��3'��!2ݙi�7�:�dG��+g�9`|�
��"�-�H�A1(1,W�mAG���`��h�%}YYh��E >l{��#4W��PTK
[C3RC�<@=�\/[K�߶	e�n��h�ԃf���͛rHQ���eY���lR�q<��bxY��QVf���K�L�D.Q��N���c<XGPMR�8Z�ϻ�0�q��"�ߪ��N
Im�%D}y�O�M��-Z�7`����`U�\^�Z��}�,@LMʀ%���.�B=�ѹ��?���P�U:�Y⓽��n�j���K�3�3B��."�p4������.�}khe�Qbcڢ�!�8���B�Yo��ؘ�(8<=��;\c�<�y�J�w�Es-�<�RLaP#��]�6K����3��R_�K�fɜX�O��JF��)�]Q��Mܱ���Q�Ц3��Y�~��&�`crӟi=�y��gr�bj�cݣ�2:��L�lt��Yz���9�7˿Ln�EJ���ìnˀ�O��_of	9z�oNqd����Ku�M�z��L����.�3Q�=�@V`PAT���3V��`U��u(�}��k���|`/�J�I�2��#B1��H꧵���4����w%_~�4w��a��\��.who�.xk@k�}�3Fsy�^� ���-��&\ �m��K��)����L���R����u'@�v�(+���m��HJ�v�%�GJ~�&�,��@+GnR�_�7�"궣��k�:h\$����WV!��j�,�1_�^��
Tn
����P[B™D>��]���2D��AORj6ʳd�Ʃƒ�!&�%��a����4J4����;�2%���"�1�)Va�%DH�@�3<�IM��X(����*,C�gܙ�Ә�I���gxw|H�T��u�w���[m�$�S�$]��"c��Cw"Y�f9]�%VmIWPD�4�t���U��dd��-�2�L���C��Y�=wE�ꭷk�h~��AQU�/�Y��>��bX�w��|Ҍ*��¼�nhn�1�lE�ЄF]!Uks[�G��k1��HOhVH-���#^RN(1]P�V����.���͋Pxp�a�Y�Ed�f���1*��	A!�t���Z##�WUVJ'��H�1���;�����G��d�9:?���]wi:�56�)?n�����Ǚ��hA?�pg�z�u�5/��s��A�[���|8�?H�~��?@~e���i�y鐗g����y���|��е�E�O�&��g�#y����h0}N�J0�T����z��x�ِA��"��k���p�͡��8��^�.��kh?RE�/�3����1���2�]��L鏒���s���=�0�u��a��kT�a�zd�1����ł����[Г*�XWnS�")�l*�J��
���L
L	�������vH1uKD"⣂�E"�xA��$
!���X�zT�c��HH��WU�¼�e=NYnVŃQ;d���WQH��N��C�4	��+��h��G��u�;�>]@_����y=�� ;�h�
�M����v!eq�m�?�ob��1r��Q,���EG[:V��4�dI�C��x"��
5�ʚ�냆R�g����
��I��MzN���,FE1�,�Ҋ��|�V
�
i��	��?�x]UEch�4T2�U[�fMU�RD,��(ܨ��1Y�2�%�������g�J���82H�j�DzF��#�=�B3��1)��!�J��y�k����&���M�64t�����»�&��!ɲ$a�Y��EY �$�<�y���^(�t��pAWLIaI���t� *�j�̫BI{�M~��`Vf�|�
"��D��M	��eM�
IF�ɯ�u����9�H��I���ܴ{�����S�l"
���&x���}zD�k��$�z��H�T3�zS�V�+އ�"/�(TK�x
�=���U�|vdd���4Ӛ*#�"�ud^G��
�/�=FuW¹x���<��]���7�䔬�{urQ���(S��ɫ-�<;������"�Cj�.��:xٴs!�Br\b����oZ�����Uuö�|O-{�����[�ἌA�Ú�]��1PY�S׫K�4�d������S��V(ѩ1Y��
��$�qlI�����D��Wq�R�=�k��苜y�wRt.���4���QȘ-�'�C;}o$=�+�XU�aA��2u�?�>�FZ�������[h/�F�\E�4R�M&g�M��]%7�50+)���tt�r��)z�6Tآ�g��^�U�ާ�1�["��䭽o�
[�hET̋V�c�?�Bi1�+�B)^�M����{�t��2nڼ�
��p}mpȼ��l��<;K��.�X��W�t�%eyI�p.'Ȋ���r�R����f#l���RFFDU��Ȉ����}.8�d�'"[.��9�����(Sb6��y�U�x��×Y�KS<�rfi��k�'U��L��c=l�
Zv����hƲћs���?�K|�
��E�_!�鬄b�P�w��%(�^>�Jѽ}�,��Z��Ű�%?�b�i���c���=��G��5��cH��s������`9��a����]�|��=�1�Uh�Dg,2��'�mҜd���^1�{7{��I��$sG$'A*�O��f˝��7$LV]�"UH�iۼ,����(f�x��J�w�8���F:�>��+h޽D�L�D&�p��*L
9�\:+��O��#��{n���5
���=��>ro���=vݎ;�ʦK�M_�=uz�n�3lx�~�@�(��-{�l!�~��
�?��7m'���V��̀
c�E��dL�`#)��f��x+���s�'_�_F�����+�1��yL]�����h��XJ���E�o�S�Aqˑ7�b�Jjد�p����t�+K��x"��RE�0w��U0V���m�H㨋�-�f���yÿ�l�<�l�c�v��>)$4�RBSe����q���١��B��I��~���E�J���JWB�Xs�Rg���v/܁�,���6z}C�
����
Hܟ�H�zsq�U��>v�!�!o��&yC�ێIπ�3Yz3�|fc���N�+��%�ԓ=�C��*�꾊N�F�,kDF�(.��fO�vpG�<�5���/~^��2�3��rw�3�_�򚷿�f�◽�u���|xm��s_漿M/w��E*Ŝ
.v9���i`����u���b���o�X>�`�F�P)���4�mXu���l�H�aZ�o�Wc�'���HX��Qr3)%閅�rO�
�S+' 7��[{0�����5�C���Z
T�R��>[�u�n�Ͱ}�J��Է^��U���7ۉ>�����b[M��1Z~���-�h0a��N0�'��9�
��So���j]nR�L@<)���=��я��xm�f�h-ć>��W�����.|d��&�6.����>���>�!��4��~�Ƿs�B�I�t�Q����n,�nU�|���}N��H�a��ݵIهi��m<n��K���ٮ�?Gֈ3���Mwdܯ��"��<�)@G��Z��Y�O���𝤿�X�`wb�����0�``����ܟ7��֚[�����x�{�WY$
�;�
��k]��T����j���)��Cn���G�t-3y@o]����7u���=x����M���cn�{��2`�;DG�N�@rz�1DcQ����Y{7��(7g�!S}�&�����1<p��O�^����g�4��'c�]9{-B'����D�C���>�g��59�0骜��>1U6;	흷;o���r޾a]4����g]f��E��q`�y{����(���t�`�� ��-ItKN�F��R���X��E-�L�	2&t�IE!"����cWS�ÜF�GʸX]Q���:�����`��#T�d��@�w
�$���׎�=��_�=�$��r�f����m��<̽��o�>Y������R�rT���w
���]iL�l(�߰9�	��#��%<���,�ml]�w�5xWO
Z4&զ� �no�5���D�6Τ�L�J$'9�z�p�<
��ҏ3M�-�	���o�u�2�ͻ�O��g��b��l�.������!�ƃQ��MԜs��(o�����H�^Zl`]Ǎ�>}T���r���׷U-�:��ЫK���#���@��ЯaRHG����e^=Ab$�S"Fr�cU_����ڴ��C���Y-�h�����}_��"7�_:k;/x�
L�0T2u�hҌ�����M�WWTF��1m 
o�́z���NB�Y��E�$��{�Gep_�<�8Şy K�^~��	_��1Z|�̭�c˱tuyr���P&Tʀ�MQ(�G�wپ����Dٳ(L˫ժ������<��-@����8�8 "U!��\w�bV�����{$K��]����EE�6�%ד94%�8�N�~`v᭲�օ�wU����੔��{����'�#��E���̡���~}���9�[�������|"�O��+�ߵ	z�%/_KrFR]�J3B.UB}�
���=<)zq�Ճ��c�I�>_O}p������z�(�SO��&
��{���:�~�0��)���V����Gi�`{�4��D��ܱ�n�e<�c�ղ��:���5U~�Ԏ�Z��~�[~�dJ� �q`KRIE�<5%HE۵��T�p�V~s\�7�v�BC2�2��B�Y�%�D"A�Y�׆�܃�	�𱍌@t��[Jjco;�Kx%�ǽ��,�G�pY>���9�����yGy1�]�)(%�>P_�ܯc���FsQ/��1��6K�`�熐rX�NN�G�K�	`�^�2�f(��� ���#ؘ�~
[� �ӟټd�J'�A
���'�\5TlK�N=���U<K��k�f���kXT�YV�W�SYl8���j�	�h��'XO�	�?3jڣ4`���:���M�಩���ZG9PL�Q��S�-�Z#s�.<V�fc����2��P�}G�I�����f�2a�hlv�Y����>�d|.�1�҃�a�!�/08BC�o�P|�P7�p�?CÈQ�"��2���^d�̓��1��]":�����,�[|z��c����%��P���O�0P��#�o�I��J�`��q}J�&���)g���0w��9?EG<̧����X�����oJ� �H�X�{V��H|��q5�Q�qM�<��S:z�emY�b�X�>��DN?z\���=B��������D�7 �Ć��샮�����������FU�JM��Y&�#�0Ѯ�]!������_ݮ��(�vύo�X���?���^��oI�[�K�%��R��쎛�:�hݾ�y�B��@������wʯ\,��胦��!}s�Tv�׏�͑�x���w���M�J�bew�w]�u=�f�uݸ������?
���M���X�T�8AT8}�tj+��$(#�".�~�,*;EQ�{�xe �N��o�u�v�19"�x~x�zs�pt��{�89��^�nm������}�f�l=�H����ZG�����`;^����8�CX B H��NP�_�$�!��E	k�~	zIx��cq�	n�{�^f466��?i��֭��U��rι�|��0[-yoǬ�����`#w��e3d��H��~P�E\vY� �t�zC=J��.������3��,��9�	��L��a�]+5��,�I`R\+k&i4���M?`���[�@i��!Nk��+����S7M�mk��^Ό��Bj�^�M�UX��uw�)���9��`�T��]��_G��j�?'�1ݫr�C��`�D��\;��	�� ��!V�:�FM��)����HҦ}��Z��%����ߢ�޹5تi?V��C�s:K�v��K�F�q^5�ʮ֫E�>�L��6���a�_=�we�{����w�~歋��k��2���)Iʇ��흧P$_�v�O�#��Zn[?��BE����4��¨�d�����!JyE!��>����wa�H��X���.N�q�ȣ����
8nm�M!���Ԗ�c�:�:��^׽��w�]�
Gcb&�jo{���~`�JU䤩��R���u�����TM�ӛ Nq�?�5Z��ש�"��&���P��#J�^$�Mo�C�֏}�ϱw��8�4� yk�
��΍r5�y�ɶM4��Z�f�o�]'B��)����!C���*���}�2Zd#W�`*&����ZjH}�3��B����2"�Oho�>���F�{B�c�-�}�8����K���o�>���ڥ84��^▖V�ݕ�s4ݏž��D�Af�Ih9��5<%4�)������j
��|[�C��o�HWC�bWw�IM��Djώj�N"�O�S���B"�8%T^�?~<�c�R�P)Ym���RH�+�ǝ��a��.'�6��/}�ȅ�pIP���A�e��M�6C�"���ra{����f<��R�Sf��U�ݩ�a����#�Pj{!��R糛���fA��D(�-�39l�/���wrWplj$p�0�gP�&ױ��a�vw������e*&�k��f�k�Z����濉n�l@�҅ق!ݚ�պ�E.q���Y������?&����F�.[s��@�W03���jnd�vm���=���r�F��A\���j�js�;�E�&ҹ�xI3�x�4�����7}�O0���i!�%o=㘡��B�R�k_�+*�o���v�5ug��{�zݻ�Q��X��5�{��^護X�}$y䗎ۢK�F��8�"7�-P\�u�٣�}�CzT�j�u�Fg�pQ[�G�h��0��Q*�Qx.���٧X��sq��}�׳�����쯽ܓ�i:�a�;��Шe���r�n�a(�70�
a:���&EQ�/BjB}�j_F���F�=��F]��tbDL�
V�e��}��F�b���~���Y���[IM��v�j�魙��#�*��"{i0*�GV.[ln��ާ��$V��bm�&�S
�MX�ܝ�-���qm}���-������>�N(l�C�u�ro����c�[ߜ�<�P�D��"着�9�|r�MF, `�.��A�4�&��_�i��\�z�5s�� �(2��<�rL�l��E@FҶ��V��ys�)�#��3TZ�=��d�]��L�q�u�	�6#�Q\�oI0�%?�}2Cl���d�~�A�]Wܲ���w<o���Y�*_�t�ev��g��@��Ј*�%�I��߹�$U{�֑�<<$��o�u��S�D�f���{_D_`H�`�`P�ٴ@����.JS.�yUlR]�A���S��6T� z)�l�
�$Wΐ�}��+�D�D�Lkhf�0���gk�Ol.覬�_4#�5���O��m+��鈂d)d/�J=�E|
�C��}С<�����y����"$H�9�g/�Tߋ������l�;ajS�dq��RnN*bz��+��D-�����6��ub���|y�5U(��`���PW�����q��d���f��S�C�шѼ�7��u2��a2J��'�i����e�:�^����VcҚ�.$�������u��8;�����u�_�]���]��wP�-��ʀ;3/�!L:����
!�o�)6��U!��3t���ccqT2,ۮ�ɹPX6���~��of@���-�c��������\P�pm�#�D_�(��ԙ�?�����ӭ'%YT���}h�̡¥��y��;xs�t��mA
*���7��m�Nѭ��W
�
�"J��,C=;�k���e�=X�gO1��ŋknnH��s���U:X����*�Y���+r�>~|�S�)�a�q�1�vP�
BT��G��fN���YP��uո�`�(M�)̕�s�d�/^������x��m'��CH��\�NOL�٢)��ef���t��E�)KȊ�؇���K�!u�e�ٙ#�P��H����Z� �f%��ѓd�k"�(�2\Q�x����#gd<���#b��dd*�B}�2�V&}��PIwkmpt��\�@7� ,����#	�sl����$_祲�a�%EA�ȤgϘ�N�B�駵�w�ET��x4���=Z�1�{�Iw��ļ�d���~�h(U�X���`@��n�(���Eq6XD�E��͈D_�.5���<��;�d&VUd^��}ORdI�'U��̤�vڕX	� ���[�J���L�(r��EM2x?5�Qܒ6(`����,���}D�},�\��`�]W	��s�q1��&b4��e�{HE���V�RB�C{%M����(��?���"eҿa�HQ��|C!\�Ȼ(���g|���qR�,��)��g�f�#��@}X���7�瓓���aλ���g�
�Rfyɚ��J���Ѥ��3�?3^I�	�OTx?���j%�{,3N`���S~8��'*n�w�&��3�d9�V�B�E�~���s-�:mp���6`8�$?H����.��Ee�'�Kx�A���Bo�ce�-}4�a��F?bDe7�/6��_G��ֲ�̛�.c�`Q�+t�2շ!DR6���љX�9��kFb3�<Nͅ����K�͙��/�b(/)&HEl_e�GT�gh����j(y���ʐ�3�Ea]dT�Y�^�G4N��xJ�C�Q�)'Ŷ��Q�e�']�]�}���M��=Ƚ�{�E�@���&.���/���[Hb��6e(Y�ة����}4� �����Ӑ�!#�_E�9a�#A����-gD߃so1$�(�|�׎ʂ�S�s"��h#C���6rN���+�o�"��/�ѬI$�*�of]��-��$CI�Z$'�F+�p����Z����+��)d:!�A�,!!�\	���2�Y�'�H���WC2y(������e���V�X��p�=�aC�dK�蛙�p����x^�"ᩌ!���
LDJ����Z��hd��s�}\�����Dk,��ؕ�31uL�Y�,��B@���ôH�� 3��
M��"*��Yd��T؂��4���KZUҝ�y�Y���C����?p䪧�XT����AF�#^챾ݷ۷�`=�8w���c�s��I�ъ�`l2MЕ���bi�X��ϵF9Gy0dd�s�t�򎖓+ɲR���D�U�H9�<�G�-���A]Z��1,�R��]b\y ?%S�8e%����R��|X�2��3�I�K�z��OH�4��X��k16����
��P@6.j	�"��,�HЖLG�)]M����}W��
��t�EE�4%Q�Fy��&�3\�j�t�)�R�IԔ���GD�9�����,�nI_L<}7�R ��A�)�:�#!�\n�,'QUQ��w1�\� �Q����S��~&{�RY5GP�	���b��3��T��{
)7Ђ�����?�q`��K�b�yK��Z���٥�R9�Ah9�|�.�wi�al��8�`伨���	2��d:�?jn�"�3=.E+�T���{���鷨oK��į�6n�Y�n8��z穑���"��C]�t�T�ȳ�L�u��Ve���9փ���a��dH�Dv��]�;r���F�xߖ���!��S�m<�Ș'�%��MJˉ+$�_a�p�3����Һ?�L�� 0@�<����4��!(��]�CBk�M��N���C�C�����)2-�*>�A�$ɟ�e�N�{��뢮�&N��1����46I���ڻ%�j��2�=��&\ii	�a�h˙�b���P�;��5A�+����|:���ۚ�𒠑��Α��<���
���,��'4�%2R���7Q�H=;(3$��U�@�d/����K!z��L�c�qj$�L��q4u�C���]��)��!w���J"#Pg��T�h��(���4�K��+Q��=Ŀ\����fﻦ�O��(oh��L��C�\ou�����R�ȴ��j�9m��:%����Cv�w�P��X����~$���R�6[�����6)	٢�&��޹�x1��X^9i�C�Tk�r��Y��cb-��$k�W̌;�dy:w�v-.'��x�8�2�ѧi�~y�{R�0���!E�Y��O�s��E^�]�iL����_)kvT�h$����
�>��7�ϙ;=l[x�s6c3|��BSNݯ˂�L�1ھ�Mr$ȏ=6�M�fap�є�d�9�x'�9Ff�6QΎ��\=<�o��7M1�s/�n���ހq���?���΁LԮ�:�e�<T�I��9�"?�'4yY��Ur5�ֈ�5{�����(�M�@����r�l�3ϒ��
�mM۠>Os/���^ͽ�2����}���>r7�ΰ[�j���q����F5�?��}���~��}��;�7�w����h�V�&��������I��s��b�&�TJR��Y��x��k7����(y����F�-\�a��<�l��X��lj��g���c;Q�^����al{7��Ԛ6��^�l��0դD�kz��"�J�X�W1X(^uPΉ��-��J	;�xD{��W�����"���~Ͱe>�O\��X�Ĵ����	�ɥ�'�iS�-G���K(<��	=jg�M�9��C�=���Um�,�H��Y�&���NX"jH�b7e>5v ���}����b'�pRv.�&�)�vL��E~�&'��uP���(j	حG)�A�7�zc�(
P���-6����j�;ᬣ�v��)wR%���;����?��h�+n9)On�<���*�l>lE9JNT.��7�l��e:��s�ro�}kd-���i\�Z��F^G��2�]Б�$��k������	T�}�fkP=���z��� ��g|a���3��no����n/L�j�w̻�Ή����H�8��YD��QmQc>z�K�_}��׵B=S~�H��)���
�~�[�tb�:f���]���^�����̃c�"^V�$^�h�av����#'��ٹ�j�\\�R�]�����\ H��Wz����
�;[�;a�.M��5%�=#�3�eR���]�v{�#=��f��'�Z���Sw`���.y���>�K�'��G�,@���F"o����Q&�.l���|S'�r�W��!(���$�/
D��)���F�fx{��#Ex�M�ݶ�n��]W��$[Ƿ���u��˰�GDK;�;أ ۈ�v--�Y]Hn*��`y�d"�]{��x'�x'M.4v;���p���m�������Jh\ycF'�:�y뇛�b>؞V�19�.�x��QSH?���?��՗q7���g�ܣ��}�q9
utL1t�p�}$EľJ�^
8�Xk��M�r؁������z���N^�*��i[�Nk�w_�YL;+Nz�I�]~vz�WU|�$�ehMM;����'�vf��,��rc��J�9���{����q����q�)�Mܻ���~�Y�7�)?���3*�<K�g�	�V���ö�v�d����o��
J����������3f�и?�eZꎑ�S�圼,��������Q"�1��"e6%��vD	p�b���+�!%��gŌ�CF{���d/�m���
/���f����*Qe%E���a���>8%�=�V|�A���H���O=ŗc�BX�ER�T�F�DP$eox&�q�E�5��
n�Y�.<'�wMQ�y���^��`�%�z����Ga��m��?��>1��Uy�)&6,�lR�/󹱲�ՖG�ĩ���έ��u���h�#g�qR~v���,n�(Q,]�MA#�a�fg�#f�1�Z<ޜ��>�i�Ź:��f~wyܭc@I#Ĝ⩫�H2@�`n�#'�z��N���F2�EF�Wr��^zY0�D
�Υ���c�rX`&ɾ��Ft�d�{d����U8��jR�H�,>��`�H�:��_�����R2%$y�%��H��"�u�=Q2KJxPJ|�B(�̉�U�̄�Õ;�zXvgUa7͟�K�[F�8�����./�0��+��̔ɏ�?�:�}?]O?7<y@�����@�]x�����"n�Z�
�)�N�>n��*�c��v�>��w~`�:��f߼��L�K������T�(�(e���[)�<MY���	���;���W��}+���i1��&�)$!W�u�%�TtR�v
SF��5�5�
��0�V:D���*��B]C����f�5��x��)د��k��&w4�j� �$kY���I��F�A���(|0��tUs�#�]�}+�F���P�h��R�Ύ+���h4v�E7z�#g�>r������c���_���o�}|���[��I�Z
��,\��m�^k�*��%�93�C�=�%d�yň�(��N��2���K�_�'�Y��`?�T�zp͡�Qx�E���x��t�!�l=�3�!o����Y|��&i��X]Y�v�W����4{�*lK#.�#�%
^�t���}�������v����P�4rk�́\tY�>'�.���S�3�zs��ͪ���X.�E����uf�0���1z�7��T_�u�KU��;�մ߆�okڣ����#��vk߇~�<��	,�dv�F~t���h����៷XP��-`�U��ī�iS2n8�Z���(�=����<ohʡ�|�5�ĄX8kD����t#�ɶ7Eӥy>��
%��	-&��Vt|�UXWډ��D��fo��4oߊ�歯�ŕ�t���S�5�9>�d>J6y��\�!O^1E=%r���z5��A8;���Lu�#�A��"G�ș��ιN�K!��ž��ѭA
�{j��uo��c�G�����ڂ���w
x��m����	>��"ϣ�8��Q��|� ��]�K�|���c2ޢ!AT%�76����3��NT�Um��%A�'�OH
�ʭM{ԝv��JF25��
rQNQz�u'�G#;q�l����ib2&���m7����u�a�{'��L3G1S���Z�Q�0�?7��hv�R]Q�+�M�Uy���j�2ӓ�G�$��\\%mV��L7�����Z`�b?&��]�p�f�%J?S"e�ێnSc�@[(K� (|��j1;��&B���JޛEޙ��3
r$ �tމ�1-k'y"i�Ҿu�j祖N�Rd#��E�w+���w>G.��{�\8�8a/��*�ȍ���.��]��E�%�ȏ
��l�;�H(�K�-{fC��?����gN��%
�>��/���B��ڠT�0���(�ꭦO�T\r�9�ǽ޿�~�߽�X9kҲP��E�ѭeY\��sN�2����yyQ��sN���;�?���⬏�Iҝ�x�7����ֿY�E	y��'d�o";>A�%��-��İLJH��LNѣ/���%u���x)�r�U4J3"�R�8�5�7����`���Z��>�V��s&42f�#(]*��P�R�Z4��Q\�e�Ҟ��lC��Ӓf�:,��70�L�Ui:��+mW�Oo��,��L�r�l&.������L6����B%NF�%Ӕ��iɲp�*s�ji�&�G��Ұ.2�2j����I����㲶3߻LfFM�M�y�h	��P=���t7X�C�L�
��mz�H1x^���+�)�R	G��aʓ�X�>����|���h�D�@c����鋝.��� ���€�&Q/C���W�'W�s���J#�D��
�/�@�&#?܃��]s�N�I2Ğl�#b�FO�2��bhmD���\�i�ɭ��'����Q46�c`i�+�B)���N�b�9�_LTr�̣p��o�19��x��҅�d��.5<��Lg����(�d�2b/,�4y�9�\��Y�+��{2��
��8Uo�YrFs~ꤴF���}D+���ݚ稅h�n/��_Iz����}�;���k���Pg�� P�d�������9ƾn�sL%gS��ԩ/�B�;��i�X��л;��y���q���
��LS,��B�I�3�%�"�;,��F��BFd/���4�ݽ_I��;�({�0��Ӊ1�NB4>]�Z/la1�:=ho���nO44�1�ޝ�J������A���1x� )��#�\jF����92'��=B�f���
^�H�H��^`>f�^��K���B�C��D,�qz�{x2P9��.'�H�(BvFh���������\X('���t�8��nF��Ǽȡ��RX����8L�U�U�.��MMK�R����iDB�R�-{v�sM�M��E�h~��w�/����0vSi�ԓ�+� N�ԛBd�Og�CٙY_�d^��Y�2_AJN	�j)��+���jI��
�Jd@7TLt73$�FX��d��֔��-�q\	�+ VM	��!2�c�	��&���.d��T���Z�|�bTG~�H��D���}��
�O��Ĕ�U�8��8�
��nqq��k��F�V!�'=fD��$�6%+^�!�ɩ�� ���
7�9P�4������-�v�P,ʅ�R�����r��;�-IG'�"����	���C*����%l��:����n%���ZQS7e_/��T��TvrʛRZ�}���䆰�J���\E��N�-Iۖ钒v�p���_��ρc��l;����Bx>���.,HV:�C�����i�N��8���Q��M�^�m��C�:z��_U��^y��ޚ�� �ݷ��e��{�~���v(����c���x�\R�,?9D�hH�KS
h�9�v�F��ӈ��!Zt�s�$z6�`�OfמQ�a����D��î2M�����Q'��"j�^K=dD��7�{f>�}�����{�<�1:G�F+�]���
�h�_u���e�_`�M���~�kt$ϕ�k�Y��p�V_�-�r����:�5t��U��a\���������u�DI
�{]��R�M\�~��M�hd6R�Ū[��+�g�|���/uf��_���_���Դ&��M`Xק��"��0&�Q�Է#f�xcI�T28~3)�O��T�YPR��p�+E����C8�D?�)�gۢ���4�ɱuˆ��>qd���Ц��w}�9����%'���#Ԥd��]�E�ڎ*�Ȣ��#	�5zBƲv>�>�Ya��,w�;��+�!�@a��s��?W���E`v���M���м͒��b�Y[ߦ�y�"^�<tY1�ב�0�gϴ�H�1�v�d9z߳��>�"���!�ü(z����ݘ���6�p�Ml=V�eĹ���׷����/2�kXxo1��e �,��� ��/�;�xH�Z�/
�s��)�7�S>�ă���{�8Y�U�z�CV$Ql2�+� J(NIX�dE�X�+���0��fO��<x�@�'�VwWN>�W��"	�p�KXQ�4�$�F�\�=�k����|5��]�`��Oy����D��}P��x�G�Չl� +e�:#�;��@���$W�Ö�߰n�@��5����h9e}t��<�M��Sf$�9�H���H�����&8���ٱ������W.Bo�,�����ivv��<�IV���Ҫ���P��";5�,rH���>E!���(n�ȑb�go�sv6rf�;ږ��s��ii3��{�M�M�oC�usp�<�I�L���Ȩ��
t��vܞ�*��I��OL���MMob��C��� �L�E^س#d�D.�P���.ڏ�q[2
��o?�~��y��*��,n����^x�
��Ur�i.�U�12�O=�A��H��E�}-0�pp0�>�����o�z�o[�*z��{��m}\o��zzc��Z4�Xj4���Ǣ�Z-�&�\-�z�S:��-9W
R(�:s��*�|�|�a��P_�:q"3�-�I�l�q���Jt(Ȫ`�(�A:�4�r�xK��@^�>�+˘�/WH�.�M?�5����j�(^~��J�D�鿇��G��$}�f-�{���Jb%�b�`H��v6�K5��I� ��}�'�]��RL�9IW��r�����{�l�|2CH�|
,�Ap�%����>gq�>��_�*����Q'R:qz��Uqr"��E˽�
B:-�ִlrz�!��@�2��Hi҉����ߕ��g���G.�U��߳��;�J��<I�fg%Y1g5mV�$y���#_z8��d�j�klM
j�!`�59�,��7X��)����8`�#�G�/�!P��]颕\�����O�-�����v���z�.��Z���F�<�T�Nr
�7�K���5�er�R���_� ���/��l[�}UKU�O���G� '�W�Vou���4QE��h(�FEE�f;1*�ul�O�ɮ3G2"����ƭ��1��7�'m7#���,�/@~
h���Fϛ��&��u-u�06�9B��
�w�6�Pw�B��z���(�x?���0���W1��х3e�ݮ-.--��'F!��E��l/��V�ڋ���R��C�R���C���.����yL���E�e���O&��&�
��彑7*�#�{��½�h9�[��*@��^5��dlJ&7��W��������n���&�ɂr�/�y&������TN2��d����r)&Z�y>�H����eT��]�ex2�`9�
]�����i�O��S]ve����]�9���>+�I{�nP���78�&��O/��T'��e�j���9&4w��%^���@�}ab��qA�>Ȭ�uF�E��̀��"Q�3��C�)�(�g��
Ռ��ؘFvj�zٷG4ɃM�Q�v���~we�������b+��^C�<��;�0�dm�O	�(�{V�VQ���>��Ӌ�z�OT(m����uHs�hU^�*��*ɐ���\�uL")�P�i�N�����<
��vG�<�'�C���A�c""@��GFD��`���>�4s��i�������QɱGg;*k��n��Y^�����)�s.|��8�d�l�弡ܸ��_[�Q^�盭y��,��d\01V�A�k�
HcG�����k�R�k�I3�HT�"c�q2\&9Nk�������cw^�Oe���ZvV#JW���#�D�J���R��"��4�d
�}c��	�9�͘!���qi�5�,�=_f�����Z=������;N2���R��#�1_F��
Mˎ$*�we�
��USH�P�i�TόIi��ʄM��_�+5[��i�a��j�Yh	���DM�*e4�XD�VBN|��W����f~׵S�٤_�CT�i����ƢI�E�O��r3�"�đ�_��!о�Ҭ3SU`Ve��1�'�>2-T�����2�j�X��u\���D���,�Gv
��X��8ϿCR�mw^Gn��W�ۋ<��w�<,�~���ۈ�{!~�M7��'=El���	<��/{�D�GW�"��AP�w}PQ>�F��`�-"�x��"�qz�7~UT�ϝ?O�'��E�X���~%��4��@�?�#Q�@.����ީ�O+���;s�J^�￟l^��U��?�8/�4�❒$�좦I/v*l�.G�E����y�3�
$���K��2��\��<�T��?NG�YU�cZ!��2�B��
pb���3�_%���.K�D�4���(II�,բ#�=���ln'����/�L@T�h�d<s�u������)�-�p[CU��G}���5��\���LE������T�*�[���][;$!��Zj���Kw�U"��g����(޻��Z��h�%�Ḑ��yg�������7���S�/���6�9ԟ�S��>
�6r!��
�_�a�t}
`o����/��_��De�D<U�bq.�+/R����{#zs���Ϝ�kc���b�+(~d�$��کc;���L�ϑ����.��-s�_���=Aj�b6Q"7�F>�4�`D��n��@P�����м,���J�ŠUJ����:�O�^�(ra��Um�X�o:H��(�7����,��,�E�g�eA����jt�[��*�~x��eS�7�G�D�-r
��qI�O�"RI0��+6�Ɗfh vQ�]��=�l��EnejB��xS�U�o�M^�]�h��I�2YQq]��RL��W-�4ɡ(OLa�%ֱJ�WcI�}kË|��{�(�D��7%��3#\Y�w�cܭ��dv�mMh�@���q��߷���W��7v�E���'_�����8��F�N��_���,�wT��w�4)p��2�[��bR@�V�,�D���
�,k�5��1��@R߶J��Ԭ�۶� �����ⶪ�Tm�$�M$�OaM^�#u�s�)o�]��V�;�>�n�taP/-��3�w�9�
�W�N���:��c��(��S�K\��(9
��F�M�H�x2�ȑX�S�"��/%*�p�!M���e���DNx�R��R�N'Yn���P#5�DA�E5�� ����R�g<\V�{��<>N��d�n��6Xap����9����+_�qC��1�F�t}B3�8z��ۘ���}��4�#�>cS�4e3�Q)�/��5�$<��f��*���̼u��;��x��x�������NO����ӏLoJ�iR۽Ί�{��r��$�tR"猔J�%�MӤ\)m�2+J����0�{$��a�V�i�N��d4}7�A�#�'�/p_%�V���p1�SK���w�A>8��i�*�9��!����i�B�|������0��4酹6����t�)�~>*ND-C�c�<�H��	�˨it'���[�nn�Y�S }}��3�2��`:�K�1�q��夦U-��r��A����o�
R� ���P�.g�IvGjR܁�ɜ��Y)�������
���-ʧ.؝N.�Y��l�|F�1�����i��'9R��[�%��i|*���A�J��[>���N�-�wgq���bط���g��	����*���8º(*��u�e%�-y��o!3��E�4t��*JJ�h,<]T�Ԡ{C�%��x�3#ɊxC���<чlzZ��'��q�f����xx��� �!�0���62��k���pA�b�A���p2�*��$\�N�K�W�,�֬p(ZL(8�Xfzu7�
_k:������Ӈ�uvl�4K%�D�\\k��N�推[���wN��JKgh���h�kd'�<{̸���щ�ѱ����X�W�]���D��;�/�'V5%$F���g�s�2I�^�7�M�'�9�;?��MX1�=�1^L��(��Q�qH������Gt=8o�ɳE }�j<��F��ζ�2���0��G"ݡv�۷�Z�en�?0tW7����44"#��/a�֑O#��Xmu^�
�Gt#f��iB�iW��-?Fe����dv)
0��}.�TL�A��H���s�|ýS�%zA�tS�Q��?McC=�ʆ��(�#]>��j����Q*5g�B�L�$ICV�٘�����S�ƽ�D,8�|���4�_F˔�����D_��VM��z��)��k����J¨�J����cg󪚇
�&����ٮ�Õ�c����&����gh�[�"�j&��|�gZ�bB~���$��3�jH$-5���͕΋B���0��=Z
��Z�3�{����\^��0�g��
�{7�2ߎr�Qld����<�ޅ��[��;@�EasňH�������ǰZ�n�FӴk��x��[�+�D���t�;:�����TGl�2m�{J���7���7y�ϳH$*�$
���Lދ�~������wdf$��--��
GQ�17�A�ť#�[7�X�֞{)5/�[�;`�H8��x�2�/.�QH.)NG��Tkg�$ij��OB�UF��m�KD��7o{�ˏ�ŕ%���_��>������*Z�r�
'N,ܰ=2�7��q��_��~l�
��\�x�x`��{���Z�r���$�5�:����D��FBS�����(MQF3f4��2�,�I�a��!�2�����Z��?M�.��~�
�n�T�2�$ǎ��L�f�b��9s�;-	ZFܤ�I�����f/S.���Y}�K�lAR�Bs
�|�$F\�d��2~f��k����$�ꝯ��
	±���cQ���R�k�.qdd��ծ�b�34V6�eK}t��A�PRC�B����ɢ�ʢ`	��/�$!�o~�e9o�UN>p���y]y���o�[*���"߸�jR2ET��{/�y[xK˅-�
i�X�uP����N��:"@��n[����~�܏>�9D�|�h}�)˸DH%%6���!gH�8���v'�\@Հ)��[ۅ9�٫�C�:�<A4z�/V+�w$�<��-�|,
��F�4-ufz�DǗ�|�����m�3�e��>�W�
մLun[I�q(UJ�0�������
k��xY�E�4�dL4PK%�(�I���,'~�R�<p����3fm۶����\���LR�:f�Du��>��m?�my>z��]TŘ����%�d�(c�T�L��zA<��OR{']�s��D
�@)~;��o���~�\�渌R�d�x��-E�x�Ftػ��):t����l98�D|6��LEM��2,�ť�#�+�_[ZYZZ9�(�������ܽD�`_��ADž�3yzY�F��gF�Ї�L�_�=�k"gr}��z�����?0���J��z<�P:N$e	K���Y�B�:��!K�#8+��&
�_�
����3�7gĐ䩊ٻ�b��ұۗ���[)�
�8f�T�ƌ�����L�m�T�����,�4-�������8|<X�����~+e��ŖǺc��De�n�P	���(p���		�W_�Ԓ�޲+޼��c���e߰�8M!�a�ݭcdp����q�p=��4�8�١�`�B�~,�������2Fw���ƣ)/����v��j�A�{�RٔIn�,�z�q{�L*��r��b&��CE��PO��԰�-��vYL�Ӵ%�����_��
Ro;�k8�5��*o.�#g0�k(&�}��v>C�����X<@�=�͢�e�ؐyM�"�������f9�puԈ��h�$ED����n�4��c����KД�&Z)x/�ӫӥɝ��k�Q�Ј�L:��i�*ƫa���ڟ;��L��DU1�y+�Ā7�f��>X��'�{�Z�b�F���RW�#v(�^��\�8�M-���ޏ��At?M.%�)��0�ų�7\?f6�M �Ǩ�HPA�z���x�[�d�5����-)��?.A0�K�x��@����D���s��FD!�9��]��U7�n%U����i~�T�a��i�Zw�)�	���f�]�^�݋mCs�?�lײs��M�ʧ��y��vQ��6�������c��)D��2Ϟ��A�d
�3�P\y{L�����M���t9ٮͦ�Hz��(L�$���cO'����K��W�{�RJ���R�k���I���t>=I��Z����H9�8�p�,�H�C�Lb*c}B�:
O6d�IɑvH��F��Q�5�_"ԏ�jG��`xLϒ�Y�������x����>@S�gF�i�k��ֿ�Ȳ;v�i׮�4m���N�q� �d:��s���9t/w#���v4zԬ�9*=ǹ�s�Г� t�͑��w�9�Ț#�5�'�-<K��MyI�Ժ$/0�/�)�F̿��DK��-r/�n����Y{QIey����f
�X�$R��'
Y�i�W�߿J)ֿ���{��e���||?��D�?Tm�x�d�|9��"��!q+���@{~].�i�r$�K�5�6���닉�bƈ;�DEK����C��]�}��%}�F�!�\��Q��U7_Ł}�u.��M��A��� @ �2�y��a�R#�]��j&MUPH�EI�4+��uԐ�B�"�*�qA�
1t�;��n�<|����	<o�oE��$.�����Qwĩ�S�Q-єJ��QT���FD�E"�[@bx<t����
�O�m_yM�E��_@�wY\(�|�,��$s�,�"�K^��	)��u�V� �"々��X�؎�ͱ�� �Ru=}v�2h@2�XK:�;��8�'��^�o�̞ر�t}�ئ2¾2ur���n��~��ѩ���Z8��/�y�3�X0ՄYb�2L��G�E���v��*���^�ӧ����UMQ�����D>�x;����N��C��a'kْ(��L�����閦eQ�~��;(^p��j����I�c���.�Q��W�Kѥt.$��]���{6�s�[��x���U��`�}���!�uQ|�R~�=��̣]�y]�si��B�v{���8&���,ҡ�
n�E��n��zЏ�������2Si���W�5�V��|���@;��r��ц��ֶ�s��rǰc��IډI�le�����Uz�f�	��D��u��9?���	�Җ{|�i�M��jO ��Z�&*�&&���V����C���Ӄ��U�x��	1��J�נ4�$����O���#R� �hc��	0��`����<����g�4�,'�=v\�g��Y���vU��Deɐ�)��>���λ����y^�-x��t>;���De��^I������]�&�!�!�D5٪R�l�ZY��7��<��˅5g�q��'�˹���契w�q�54�kv�I���h���SR��5����A�S�������}�o_m��M��~T���i���9-�3�~��c�������kh*W r�InV��B�}�y�L,D�(�dB��^@��S���V����K�|gw]�u�wN�Ť�d&E^�JHc12xI��O<��ؘ�c<K�t��A#���u��$Q�ĸ �E��hRy��E1}����u�j�gsK�Y�_
�8F�'X��!��O}�{���j`4�N�ѧP
|����ك�˒̗dq�ɓ[�MLl����Ż�|��8��������ܴi�`�vW.7�M���;iT���a����<%&]kD�`�a��l9G~5G~�vM�Ș��Z��И�UJ�v���js�X�c �{�t�[}5V���!H��җ�i�z��wa�ޝ�:��s���3��·���+1����>�
=C��:����h���-K�!��%�*�ՊW����uB���tPG&B�c�A���a'��uN�{�D��Ws�ܙ@砃@��[�Y[�!��lk}a�gS���	K��;&�_x�Ś"�czBK�Ikd{UJOj�b���R�Re@�����<�e��W}�+l�8o\S����g��Z��="{m#2m ~�_�u_�i1�q��ImZ�-6*��I]�aQ�Pk�/�5��ͨ1��S��R� $-�#Yd�]�c��䬱�
�1���������'���f��؊�7���rZ*�g�z8��R��N&�����j�����z���uX�����0����\ P��]���	#��2���D�ܠ�ߗ��N����J��x��7�M��y�j�)P#
SUMR��'�u��9�
�m�y�w�w�]�4��r�-��H�$J�0��'D ��Qi�N�c�#�2��aڴ���Lf�S���lU��������j�TU��~�<)�a�
���吡��d)r{3*����%&BQ��5��h��]���Db�;�D�w���6Fx�\���D5ӲɌ������xrqZ�v����%az1���m2�l5�<sCB���\(�����
g�	%,ay[���������|�!/�t�i�-���/O��7�]�q-j����9w]e�0�2�z
�@��X�[���ֱ���h_�{����3~X��^~����/g�҉�X�M�ƶ���=?��ȭE,A����~9�_����yV~�	2Z�-WJsX��S�8Dٸ�|����b1̈�lk��>�Dg���`�N*:�wj�pd��&7����H��hj4�p
.��}�/r���1���O����Fw�)֥A��LjV9K4�n7X�I#c#[�U�Nqn��,�y	S�c_hU10[§Ő��	PIѿ$ƚ��P���ò��7d�FT%��mc=U��:��vm+�����[�"�㖺I3JX؆xݴ���_�v�H���-��PKO`۟mc�]��z��F�䓌T�_S�)S}�e���P��l���;2y��`��p�[�4���-4t4>U�#՛7�$�>�DDQ\���d��G2{b�3y� V�6*z7L
v�A��8�K�UUCxN�t��s쐝��%&�X�Ԧ�$�C�5Գ�a��ws
d,~@�C��Q�W�k�x��B[T��6�Zo���)u�%�Q���s	��!�(�"ƋhO@��f��?����<<3�߲�Zd�e���W�_l��l��+I�`d�k$i����N�H.��y�|gn��3��e*�=0���f�??NېK�X�I�E�i4X���:0�2DT�����#+FC�7��W>�Y={�dJqI�1����r�%)�7f���-ن��Sy8E�޸��\����a��.�!���d0�2�{�38��a0F�����e�ت�ņT`�x SlDi<\6��1?s}�FC�!���W%��xU��hܘ@���'�-��_
�d /*�r�FW1��?C���ij2�T���E}@�u���\�Hr;���YjE+6�E��4uӝ�gg�eB�D�/�=EyD�!���e��%4"�>�ޟ�o��W%P�T����s]���j�a��1��k����>rv�|-��q���)��+it&�%�|@�nt��G֓YZ�C��5O��w3;_�❕;�K5�K�I��OH��S�e����X}����|6`��#S�Q�;�?��g��E
�8�Z�����3���gȼ����G�nY����7AT1��V�/h�!K(��B�Œ��0���X�`�%0��Xǭ ���g=bb�������T�r/ɶl��(��x#'��*�r&UǢ�+�sq�|�!�B$k�V�Hu5��
7f��E�0bnC�	����!��������Yry��L�I./�����d�^$�pw�q�Ii�#��2�#5y��dJ7gB��������\�	��DF���5�Qv�i�|�5��G�Zl�s6�����X��S�yU�v�Ѩ�����2eAy��U�Q���ܣ��i/Z�zv��n���J�YX�-*���K����u�������5;;��{`w0�3�`�ł8!qS<DH���=
M���.32IE�:ŔdE.���ȱKZ݊T���|(RY[�Uq�$U92S{���$W��>޼~ӯ�����K�0]YY�|�Eʚ�X@Q]R�'�~T��ZM�ՏV�J�W0��t��;�����c����T$��&�0��i�s|<e�?��b�o��c���`���cёHd$
���5n3V�CܣܯmB�c��!8y�臨��D]̃Տ�*��d��+a�h5
�FC����Xxe�h-gh�u��A�I*V�o��tkWO�O$���0��U��C����P K���Tf���
H����(9ٚ�Š)B�ͻF�Ú�c9]�t�nԶ�
��N]uy��ar"&y`�*�"A�l��L�Q�%AJ�"�d�YE΋�_S%A��!q��0��Ԓ��F2�Fb�*1�7�Ŵ'G5H��w[χ�;���xu����Ɠ�]n=�r^���ά-��۩m�9vL����6��淘�ԓ
����c�T9�S�M�������b4�D=#�c�"�(Fl�b�x�VL�#	Q2m�9�pFU��f��K�x
�1�nLILD�#���bBVĎ
9V�S[Q��fB�c�<w^���
�lZl�#�Ү`���11�Ʉ�ɋcB�r��|�[(�+��J�~��U�U�(uW�^��(*R�`c㏩/+���|��v����~�U��H^��\ĕ�"h��D��V���Q��,8�\)TZ�rsO��ō�J�
�d��c�d�oi��)B�by<���E�r�,��Ro㽂��"�bG��y�Z��5KZe��O,4�x$غ�H�i��{�PF<m-a#Cʊ�sڽGӤr\�ۚl�@f�B��W$L�gh�Y7� ��i�p��$G0OA�P��YE��U��DzF�����.��V��
+ZZ�}C�#5��B硫�Wl��#7"�a�̃�ьe����Qm�D7o�QGB��s���%� *e{�
%�X0w�X��u�@6Scxs�hE��i���)I�>-IOE��������V`/Z�܀�G�M�k���/$�It�W�K���
�ZN����W~��
5@�I�ɣ添�ty�gzK�U�U����=���{��=�z����'�\�Xx)��jo�@'��m/],�{\7�Z�3W�vI���O�,�%�
|���t�z��ɨ&LJPs�Wa��Z�s�a#��r���*4�n�yx���7bsܰϚ�U�]���s�6)SM��3g�? s	t~I�%��X��,;z����8\�
�kD�k�9̪\&��(�����ɺ�)�#g���U=q�Y3�U2e��t��?�RC�+М}��J&�4�L_��CBQ�dy�1#��Oi�%*�s'Aj?іᄽK�S�[�@����p��6��I����!u�'�Ɛzz�N_[Esݜ(H��T�w��_���,Sjx.I&[Dn�ݿ�v����r�{
a{��g.3!��,�ߍ�E'�-�-@*@��)Ld>A��O�x�ҋ���p��/N,��Z�z��ѨhH�S��fX�������e}{Hq*�
h�8��h��-Wڜ��8ʸ$R{���I�
���<[&H���~���T���M~ZJ$�	��A�O�N���*��s�S��ҏ���@�|��B4*��=��>"���y��y�Q>�0�?��/p{�����B.u+aR`�kW�D���6eƆDs��9\�]����z\�y�	/�A|K������xY=�(���RgT�vB���P?xd�C��Z�M`6�R\�1�[�M��)'pۤFM�W���qe�‘�G_9x� ��k����4�'Hc(G�G`�
*ٻ���Qߍ��{]�U���_����}0������$Y��H�T�*?��\ ����S���c&��9�g�/]�3�*K��""����>�~\H{NB��}l8�A���-��m�6��@���op�r/W��`���{�tz�]����6��+rx79��s^�z��K(_��q��gh<x��7	��ɵ���*��\��mp|
�=�5r#kR��x<vH�r��C�����T�N�yB�h�d�+3w��|��#(7FlCmHU #5������`b̶�'(��();T{�?%:�H%��{�24$��OIZJ���o%�$���y�,O����u�z�HdY��e񳊌������N�+�i��\<�X~�;F�`w)vg���]xڵ��,d�P�s"`f��y"B)fx*�˴[�J��M�K���/V
A�숍���xt
E�Y<���ج��#����r��X� �&b���MъK�/۬�����5�s�(�k�lNO���4�P���{7����ۡ}�ƫ�C����۱j�f��Fu
D	њE�A��6���B�;hOӎLd��n�-^�*�i�2,;y����0�"I��E=�N~{$O�L�{�jD�L��%�e��f��{�p�'��~9��^"���Oa��j�Jn��PT�p�����^�S˹,L<TM��4�Oe^�9���,�B�ª��_!�DZʅlB1grN�L��s��Zg�u�+�+T��4��n��%�|J����S^9I�1t�s�ZmV;�x�������y91W�r��6K�\	5۴�Dz��ƛ6�OUʋX>������-D����b��" �}m��A�RL�����-��&薘��Z,��}A���DqnY޹&�]�)�.��(��H�&
z���l�)����S-7~����,����2'!��f�uziv9b�hD�d��,��=Q��Y��n-N�,%-)�)��y�&�jT{i_�<�K��|0�`�beΛR"ڀ���
q�4aDB�'�4�1G��{��&볎=%��Ʈ]vt�0�SU.���1�@0�]�p��=C�]&�]��z)�Gy�jx:�LZnb�+P��v�Vu&)Ak��b��,��Y5�S�#KN�
J�1/+�R�y(n��S"xF${�.�H�t���p�Ϲ���S������r|[<\�D	�b��T%]h(�F��k�Ĉ.;������ƣD��fZ��W�4����	S_H��4��i���������C�;=�T�R���m�/�r]�F��l�!(���Ǣ��\��@��'n���רX�!k>B���m�Ѕ,�OjK���R4maa'e?����҅p��{��/�!��
H;L���bx���!r�[�(��),E���n4�=ᏺ��9p��Y�{,�'�㠸
�����n�����l�D�p��1�����s�Ot��s��ot���{��6���M��1/4M�Rx����3�a��ͼ��T],ׯE-ѭ���n��\��u���+'���Z���Cf2iJ��[я�o	jr��D���C��#��m�_�J��s�*���A�������I����n�kZS�jWc�vq���]�k�YC?	&F����j�+��{���/ �	�Y�^�J�嬖њ��f_�u��59�N.L��
W���P@cGG㚕=��=n���Kɔ&R@kɸm��['g�"�W�H-��y�Mb��C�r�?'H�o��ԧ׿��#	�K�纀�݇�[�x
��w�e��ʆuj�.���`,5��ɁOr�����-�o��uky��S����O��c&�{�C�����$����&x�Z���=9�kɻ+�vજ�V���L����6b���Ԉ�4��7�@�K�E���Bn�j"A5\���71��1�cm�`J��\���"���2Ӗ[.%U�d��8��c�@�_G�ݘ��q5I�ry;�,^6�:�|�pX�j�X���j�*)�T��Rٱ�V�/�f�U�1��E�i�f�*yW��&���e�,����Dln��F_,�4��C��qNv��fY+><TI���Y�
������X�)���݇�Ŵc�Ϛ���*�ֲ���Dv�fx�b���En�/��8����@�a�R�Q�9�m��~��'�4�����]ą��H,V���T6�0���φ�r���v�}����Ԫ{!RA�"ػ�����C�����d��"�P���M���$���7D���E���9��w��l�k}�nPf�1�)�"�5Aw��R��w�s��#�n�u(g�D��@�
�6��&��x�Z%bo?c�����R#���5z�<[�Ώ"�]mC]V%�:�	W� �L��GR��g-��6J*?N*+�-����\��lVP���(3,�V 4 C��
� X��$S<��#��ˍhʈ�����3=rL������1��x�L-�Le6;�L̦��wg�f~aT;E)�=�Cx���H�G|{����:X��B�`��_m�l,h�o����J��݂�FPߊ���g�&�!�I5YV�h2af���Y3�\���C[�H���L�x}^�Mԗ��YK;N�^��9��u���1�[ƪ��W6!R�X�e���>*<����Ƴ��K�>��j�hT��
�rT���G��Q�2�d=ujz	W2�z�yL��KP��r��u;�We9��$�@�ź«ѡ��A.ш����x3n�3�����8ժ�7��C��Ng�9�$��;���Q,�t���gr�;˽�{��Ǎ�R�j!�v�9#�3$�b��5���BBC�X}�P꛵u-
�&��2u��M/�|�KӢ`O��'�ē��?$�K9�ҿ�W�������dK���w=���i`�R�^ubH:�'�fF���Yz�st�+C�%��&����9ψ۸�|��f1
j�A����%O�M��dA�nV�DK���x�j���I�n�**Խ\E��ޡ�B��؍X��^�����nk&_�my
uQ��D��v(��f5p<m*8���σU<�Lq��
�3�Js����
N_;
>��R��Y:R���̙���ޟ�I���"Y��	o�&�j\��I�(��A6��<j�	����r>����=b��D�#D�G����uy�"tݿN�VS�����;�9�3����F��m��.�l�7N�9'y���-@��L}ܥ�I7X,�*��`� P��dٿ�
����6v�&��2��%
��,��a.P�ؤ>�-]Ġ�%�r�d���G�y����=�N�	��T]jݽ2Vͤ�<;���V
�:��]��$���1w����O�y����X�?D� �u��q�OI4��|��L�I�U�.�����4y^<������l��WV�i��T��(���<偗�M������y�K��>}�]/��1�>M���e�������	y����IZ��+~��9C�c��d��zHY?�R���S�;����e|�aT�)�|��	8��L~Iv�v�!���M��v����[��豉y��]���I�7����x���-x3����g��
��
���J!�~���z��+�5��q>�Y�(��خ:�4���h%
�D���w�4q�(�d���LJjB��Q�eؐ4�j�ԇo�:9��9��k{`s��t���{ 榳�c�����Ї��X�xu��KH��:�E˹��J�A�I��)�m+J`�&��{'�)�dD���r�I��֢���y�ա�@����Q5F�w�Ԙ�te4O�i��Uj}y���0O�E�]e�SBXt�T�n�V���֨�%�X����+f�=2��m�8�<�?½�}��<�m�܏�
�q���}�!�7<8�����׷����[�������M��M�W��}�yo��
�
��Yݡ�s��;]�ƛ���z���ݱ�·�Џ��-��ڛ�Zw�ߥ��/o�!��[�o����b~ءc0�o|��͖��|�*�n���$_pnk�O���l��>!Rwg�:��	�Ҳ��*�&h�U��&?n�n��:Ћa��}�|��1��t�zp��_5d``��"�ޞG�w�K���A���&��_�Cx`���V+X��68���]=��	�i���t�sN�<�������[�|�T&3��!#�>ѐ�Ģ$�ЎI2�V"v�Y*����`oj?|�]����4��E�!�ŭ~���7�x<�B��yV��
ex
�����[&�
]M�%vpQ�SQ<��g\�n�--q=�~b��h��?�.�BT��ʾ���5(�����5KL�5y���)|�G�����R[-	W+WX�G|R�:��i��q�vA@0�R,C�Uܦ�.lIg�-��b�rq%� ܮ��~�Sz(�h��W�fi������}t�X�F4�%rx�|�m���Y�|��B�{kxM?�d�]��|r�
�36�n/ס�5X�n杴�����5\�qr�s�[]ryn3~�E=�BOȡ��!��
�[ͭ�@U�E��
hJ�������"\��} ��9>���u�$��wO�1����4��;��t�$�ѡG�^:���!��&Jm��^㹡«Ƞ���{����,��qY�XL&�kma.�^p�
�xH�L��l<��h�F]�'�
����a�z{���$=�ah
�UM{��S�,Jgh��$��?��m�[+�����
J�k�[� �ů:�p�=C{�)i�r�U����}~�Q�����ހ#k�t�;���C�6���?},�8n��~���ǵ�/=�VX�>I��ћ�G���4��1���
��ۭ6M/�m��#��)���QQŏ�U]���^����M�R����mBv6�Pr��2�����5-�!ބP�v�>�4q��ZަW�X��69��⠓5�m0�V�
>6�H���Cg%�Uv�k�T�;@컥���c;P�8����}����RE�w�}���2���*q��Α�.3:��
�:�����w�߄��!�
�~Q4�e�'��hǽ"/�&�^�ؑ.��?�y��cc��x�����g|�
/��.�^���Xmp9�.v�8J��@���pw�@�����_;}z������k���:�]�:���{Ϝ�;566�o�����-=ΠyȥB%�+���B?U�Ԩ/
�;�w��z��7n�Uӊ����ҕg�,�F�)T����϶W*�w�o�D(����ȗE3N����ds9�Y"��<�b��Z��!�A|��R�]��e�F�@=7u���@�3����]�ʯ���@�=M�/�#);�{l23�`�#F%!e^B����3�|Vw���gcBnjL'��)�;=���d�q��6��(�S�%����yXA���ׯ�]��[��~�o�rx��[c�8y��� �2�gږc��r��g�.0��;���vT�7\7ϲ,SP��]tY���[�i=�/���4R[#���9x����_�;>�������%��<ț�F��?�6�wR"@�RU��K���b�;}-��T�N��:�?x�c`d``�v�j��:���+7�6yV�k�����i*�Y ��������x�c`d``<�S�7@r*P0��Qtx��WKn1��M�Y�@6s%�CG麧�#��@�h�$��R?�5@�5��y�4��w�
?6Y�D���6gk�9���{�5-t���u�gy}'�K�º�y��2=���k��n7���ou�}��?����u<2�<%_?��[̮�m��})�\��:?-��<V_�I��:n��zE���I�1�|�W��>�":��L�4{N�/���q��E9#�I�ܒ��LG�%�$����<_��r����fl�Uh�/��Kt�jͱj8�\9k5ܟC
�웤��ko�Dƚ��v�Y�P1�U���qҺ���Ʋ���G|f��	��\�R�a����8īq�\���`\����K�^���D7��ǫΎ[��8��~zm���]�O��p���9p���W���a�;C?M�p��+��i_�y�syΑX��>��f]��`E���c��F�{�6��<H�[�#MO}��ry���T���so3�N%/����Ix�ϧ�s@�ȯ��]�Ӆu�Y��_}��oV�1V�O��v6v���?����.�\��M9m����t��?Z��~ ��w�O}T����_���p�P�b7�_Y0�;��!�-��"5si����:ߙ{	��A�ᆲ����s���W�;�	y�8�� ����8��!����A,�7���I��u�VWG�s�<���n���
wի~c���z��	y����3G��B��c���[���_��.�?Y}�)�j��;�E��O"�9�a>�����\�k�e��5l�
Ԙ�9��qP�{]���;K|��k�~�H�oXG��.u}'��|�h�Z)���*�A���[J�zZר�U������d�Q�W�^jRB�A��MpS�G��}��������w���T�o;�?T�O�����}(S��,�p|��/f�#f�Xtn@]�^�m�<�Q��A#_�1ϝ��+�[�)x�e�y����BQ�)�BѨyРy�N��(ͩ4���lin�9M*4E�B��!�%E�
�������Y�^�}���������E$�"ίqa�<"���<�#.^�7;"��KVG\�$"��˦E\�:�e#
֋��KD���xDᜈ+OF\�=��qE�_S;��bo�u�#����A~��N1}n��nB���n�Q�@D���[υ�ۚ	=J�WJ~)}J�(3A�(� ���r4܎W���hD�+l���G�L�}���RA���W���'��j����뎒B]M=jeD���|�#�Q�Y]���'�O�˩�>���
yݰ��Ѩ��-�hLoc^6�A�Mpm�OS�M�E4s�\Ns��{�����E.a>���e�-͡%�wo�heN�̬5?Z�Ц�P���x�5�v<h�W{9�y�A��t�KG^u�_g������.4w�?�����j����F7������׃����S�C�}�������eOz��͏>���/]��A?���@��i��#z�{�pl Cp}�Ρ��;L�p���aF�s�y�P��<S^&>�|in#�g���x�q6����x�X3k~�܍����'��x���]q�hΓ<'��y
�,��x�E�d�����)��a��O듭.v6ϟ��3�S�Lu?��s��Zf�s&]3�ϲ?�i���9���Җ�s����s|��~>^���[h�[��"�;_l7�иD�^-�3���2?+��>O��x-����+�XA�J���*���������s
�k��:3[��E>�ė���z}6����~#�6⻉��x���[pۂ�?=_��
=[��
�6�������:^o��z����2����[���Fz��w�z��x�'���7������-�#���O��c^{h�T�g�>s�����?���]_�����/�+:�r�5�_�_��|����?`V`4�o��]>$�9����1�#v���q��c���'����q~����	}~��'�=i��;e���<��4�Ӱ�ع3�~����������g�Iӟ��2�����"�bby$Iq2�tV$��#��I��q�\��Ñ\8Mx�n$�F������l$9�hG$/�$o�H�5�o_$�x��{~qYV$�{/P6��E"�"#�B�#)��H�\�U��`$~%E�Er������1�\WA��z�oɍrotW,�p��l��x^�YB~	�n���m��d
�.�R�K�_z}$ep-�_�e�GR���]�r��[���-�sy�诠�����Wr^ɳ2Ε{���TqW5���Z=�uy��
����fPSMM�j�]˳��:���Y]us"����0�SC����q�H��m���gS�i����|�˜Z�Ev$8e�e~�n�pi���\��G^ۢ�vf����wIG�:��I�Nf��{�{��.zv�w??�7��t�YW�v�� m�i�NKZz����z
��K/��y����]���s����~�$�=��A���`z��7D�G�j7��q����#�ˤo$���F�c4�qyL��i��q�g�O��Iڟ��x�	zM�oy6Q�$gO��,�Yv&K��0��j�^S�?���zg�Ɇ�E2�g�V�4�=��O7��6�Lw���v>���y.�rx�o��y��\�H��t���8,t�����/���b?�K����e�.��+`���J�Wѱ
�j\^��}֚�:8/��^2���_﹞�
�c�6�I�&�l����H^��*���nS��n�j7_��k>�n�^�|��o������[||����I�;��5�`���{�?�m�v��#����O�����S���{y��}�'������I�Wj��~g��
N����=�Ϸ>���xz��C��~X�a��y��s��?�{T�cf|����'<r�	{r�l~��g|�u���U�SfsJ�i������F��p��{�Y8gq�����N�FY�9�dB���Hϫ���H/�配"��.�<�����^�i^�y��S�oo���4��H/;���#-���H��i!��FZx]�WeDzu�H��]ֵ�#���uj�֋�zqC�HoT��x����g"-�+��"�5�����TV���(�g9���vg�ᗇ]���+M��2���̊���U�U�S�Y�1�ށ�#�	�V�Hk�\��:��,,vFZ�{=^է�>�
VGڰd���7�GS�����Ziw�2��߻�h��������4��v�my���xw("��$�3:���\��>�����]q�Ww�{��߇�}�w�����i��H�6��_n��j�(PA�`3��=��0#�u�ɷ��F�5�10��M��y�u�c��f\N�O��O��x��i��Ép|����}�f�5٬��1že��3b��g�G�O�t?�ۓ�f�1S�2�Y�β_��2�s�υ9�}^9|��%�������|������ZD�b>/�i	��m�.��2g+�J���Y
s5�/и�Z���]��E9/�2.�al0�
�n�w�~���M|����<x�c`d``~�ˠ�L@��`>'J�x����n�@���R�MhPP�ʏ�8��T"+�J6�b�$nc5�X�4Q�,X���`���`�p�\��
�ؒ盙�s�W��|��X�Bo�m�A؁�O�*�s�"��'�
��p	��\x��o���s��wPt:»�8��>c>
���Va��n�I�<���N�3|.��	��
o��.\�k�@x��^xU���JNMx��TxU�p�1_p
�7H��Z#48�7�WN�@���#Nu|����꣆�Q'� ���I��K&�lv�)M�厀�A�LOCn݉����or�E�W����f�mwݣu���ۦ�ǎ��{���߄�0��玷�7(�i��qW�W�A��z�W�
�%��~'�3y��e�7%�s�C�U&1D�2�2�c�{�w�5E|�*J�rS� ��9s4\�̮cX	�'�Z�Z�"��z�'*�J���X��W�at֔�V)��Bj�Wjss�����i�պ`U��*w���ֿ]�z��&Ykn����kx�mZ������=����p��rI.�����mo�ֲ��7̗�]���/�����L�+�=ӳ���]%۲%U�zU�\�����Ik����&�$�h��舮艾���u�!6Ŗ8 ��Aq�8^� N'���)���B���"��Tq���������������������������q%qeqq���������������������������������������������������������������������������������������X"ZL�TD"��L$"��E!�RQ�zm}�k#�#��X������A��!��a�����Q���,�q�8G�++'/� �(�OOOOOO��������////////��������ooooooo狷�w�w�w�w���������������������O�O�O�O�ψϊωϋ/�/�/�/���������o�o�o�o�����������������_�_�_�_�߈ߊ߉ߋ?��*�(�$�,�"�*�&�.�!�)�%�-�#�+��$�dK�eGveO��@�H��
�)���-�����y�<I�,O���������������%�%���e�e��'//� O�W�g�+�+˫�3�U�����5�5���u�u���
�
���M�M�����Β����������������w�w�w�w�wY;g�4yWy7ywyyOy/yoyy_y?�˱d(��ȩ�d,əLd*3��B��4���ܑsyD.�Qy��@� �`��P�0�p��H�(�hy�|�<[�#ϕ������O�O���'���v�|�|�|�|�|�|�|�|�|�|�|�|�|�|�|�ZW�H�X�D�T�L�\�B�R�J�Z�F�V�N�^�A�Q�I�Y�E�U�M�/�.�!�)�%�-�#�+�'�/? ?(?$?,?"?*?&?.?!?)?%?-?#?+?'?/� �(�$�,�"�*�&�.�!�)�%�-�#�+�'�/ ($,"*&.!)%-#+'/� �(�$�,�"�*�&�.�!�)�%�-�#�Kk$H����C]�Q�4���m��m:H���t�H'��t
]�.H��E�t*�F���%�t)�4]�.K�#�.OW���t]��LW�3�t5�:]��Iעk�u�t=�>݀nH7��M�t3�9݂nI��[�m�t;�=݁�Hw�;�]�t7�;݃�I��{�}�t?�iL���Χ	M)��ьJ)�|�<*�0�d���vhNGhAG��z =�L�������z$=�Mg�c�l:�Υ������z"�GO�'�S��4z:=��IϢg�s��<z>��^H/��K��2z9��^I��W�k��:z=���Ho�7�[��6:��N�wһ���z/���O�҇����(}�>N��Oҧ����,}�>O_�/җ����*}��Nߠoҷ����.}��O?�ҏ����)��~N��_ү����-��~O�?ҟ����+���N��ҿ�����ZSBIEJ��j��ꪞ꫁��ZWjSm�j[Tǩ��	�Du�:Y��.�.�.�.�.�.�NU������K�K�K�K�˨˪�)O]^]A�����PWRWVWQg�������k�k�k�k�����������������[�[�[�[�۪ۨ۩۫;�;�;�;���������{�{�{�{������)_�׾�*�v@M�TE*V��L%*U��U��RU�Z�:�꨺�z�z�z�z�z�z�z�z�z�z�z�z�:K=F���Q�Ǫǩǫ'�'��ԓԓ�S�S�����3�3ճԳ�s�s������Ջԋ�K�K�����+�+իԫ�k�k������՛ԛ�[�[��������]���=��}����C���#��c�����S���3��s�����K���+��k����_��T�'����e��N��W���`�g��IgS/�a���6��/g�6}֌7�M�m�ȟi�O*�$h��kkt���8�^����ctw�^k���M;qY�ym���r��E��m$u65�Q��"���e>7�"���E���br��(�I��V&�f�5���_�w��Pʕ�
�n�U�	���/tٜ�74Nn�~��Z:V�f4�f0в�����&�F�e�0�R��K�}�I���*���jYE�cS��H�V��ܽ^��f��i�զW�s�Z>��M<���V���$y0Se��0�g	�V��T��\�Et�9<te��$����RDy3�ɓ:�����^#�E�p��}�K�?U�7j��.0�VQ�Y��T����Y��I؎+?��A��T^��iT��<��*���4�=��Nt[8���GN>T�*�,����U��q�?X�P�8�����/�L�m?�֦R��jd*]x���/���Ǭ,��RP��E��h�
�3�Kn�˗��QZ���!�q���`FKŎ`���q$zh�s��U_*�e�p�1^���A�M�F�en�qih�g}�'��'ڇv�\�y^��*u[)��� O�Rs@	?�W���֢�	�Ԥ��g�W��@�4�-�C���B�dkk�xJ�v�˓骿���؝2~�N����X�(/
�Ԟ��`�������:c�pg��L/��t��;��ɤWEu:���m\YD�v]XGIt�g-�C{��ᚧ���UA�v�oRiE!�N�(/�A��@Q�7-�9,���J�5��.V��ط����������T�o��;M�n�K��*��iv�O�q�I���,����H��fFA]a"�E��a�ą2��n��Q�xӱ�R'�7O�Ye<�UTr$��p��j�������VU���	�o'IӪ�t�cu�5f'ڱÆF�=/���X�.�:��	�C��yk��M}���+
D�b�K�$>��K�S,��s�!��>7��:�x������]�,�z~��,�m�Y\
&�z9�y�9j�������������4K���K����9�g�2;{s&'�fk�8۶K/�1���Ϋ�'�y���鬪eR\ۚ�b2Juԙ��
D��8�S�s,�,pi�J�|�Ł�W�"Y�Ғu8��k}
V�o�"v7��r�t�h�2.���Im�<�>zc-b�c�]xsOtx�]��c���t�ca�%�\W�K Z�Ǵ��:��.���g��c�˾v5ڇEŅ���;}`˞����hƒS���e���Fa����-�;�Ѿ�ƾ��8�O�����=��"��(B�9ܦt�%�C[���pml��m��6�:����uR?)"߾�hE��M��x������U30�2�H��ԅwi�Hv
&�{2>��3��y�aF�h��S�+��jb��I�1X����8jTW"�s�KRg��,֧��M<�-�5�	M�#���rr�>T�p�z��Ax>���Ī*�=��ͻ9-�I�
��V���dÝe�hC�;eY��-��k��0Νh���mO�$��1�,�8zl�|'��?/:L#qa�$��9�9sĺo�J�2r��=�+ 3Uբ?��<�")��Lύ}��#�"$|��37d��9��^���^G�`��h�U�!o�;��G�
iV4���U>e����b��n	�5�(ɍyy11�Pc�k��v	���s�<K!!)l
�
Q!�a�_D,i�I��M����puX+b+;���#��Ts,�X�yF���&0��F����|�G+���O�ڙ���}�;�B���)��x|}+Y�Jc��Y�<�ñ_�7��T����P��5L�6�Jsv��uZT�QjDk��������1�lo
�Q�7
RFV1�q0[���t(���Fh�0�o �,]�ƌ�Z��}F{*f����,I��wt�-�ɠ��9��jI|����ָ~�G�0�NрY�v	2��f�~O�S��Z��"�A:��q�ǿl�� 
�k�æ/�ԁ��eD�%�c���D�N�Bb�� ��x~�ZcxK�e���Q��Pf�(v�\�H�)�:�z��f���RjN�-h�.LxK\��D!�Bd�}�	�j'6xdo�(1��_N
�~r.�q:��0own�ߍC�5��Nړ�H@�4���ɫ
��xߵl8۫
�U[�m֠ۘe 2h3r�"A,��9�cJ��i|T��qf��F� �Jѳ��]�L���0|�lf�-.Ϻ�f�L��z'-���mڭ���"���U��^�5��m�0�5<ȶ����6m�`c<�ޱm�G��x�1���.)��ғg�e��hU�9n�������"�O�}��i�/����0a	܉�[������Z�M��e�FA���M;�S��'�k��}8�.�-gd�^�+e�^�;��S�]���jY2�o*e|���Ȍ��f환I���<���Eڀ8\V��˅K�s@o��aáʮ>��ġM�p�˘�=�����+�w��r'f�t������p�u�4�\�
A�.�&y����4O&VDL�^�d�w��C$� 7͊2��x�,6@���nG���4֦;�ÎC�GZ��fk7�^)ո.9�-L�Ⱥ�k���t��^��l(�3���=�<xB�x\��bM�
��p��V-�U�"�4�g����Yv�.xtU��%�m^�%�cY���Y#(�O:�qv���F.�uL��*v̂	��8�3��T;����`zs,�-��V�:���um�� �nFK�� ��I�y�WZ������쫇[޵���6�k���l�x3r��H'<�Q�p@.f�Ȱ�VcF�E���Sx����e<�Y��]�u�Ưl�d�jo�)oV1����
�ii��|�rs7�>nО�&�K�l��NeF��u�蚵�FdLq��S�븰5��F˃�J��hw�纰ʼn����Z8q�oS���?��>Vf1y{��A��D{��o���́ӫ8����)�df�����p#����X>c����2��=>x�F�Z	(��[�2�V�s��y� 1�Y�߶�%��L@�#.����;��ZuZt��i3�")q���*���[������,���2�19�m�J��v�S�c���f�f%:��}�nC�k�&��"[TD��t\��H0�>��`	���J?�DV&`�@�V	�+����"���S������$i��pY��� (��7z�LI�}��
x����X=h�]�����FO�3-?�+g�3�I�B�p�v�-��f���s�{��ל&#�i����s����f6���јGQ#EBF�D�f���6b��f>"ZS�qiY7�#U���A2��p�E����	��WВ�0�ZԶ��ZD�0>zt�����rW�QaY�#> ��)?4�g1���3��іeД�&�z�.���N[�^U<W�rņ�p�n[�T�@�zs��B	�yp5N!�vq
�7A2�o+�֋��m�Y
b�۞?�b�Q\>a��jb�3-�[��u�`��
ȴӍ]�3sL��6 '�
�ŶVd��-ծh[�=��V�����&F|�&,�+�?����v�x��bt5�����8w"xfU�[��I�'�j�Դ�7Z+���[�_O��=��Nt/۴��ä�N97���ަZ�GJ-h;~���^��)}��R	Ca+��%�J��}��2R䣮v�W"�g[f��q�1A\X�d#���&�1r;ˆ��l8-�%���MvHwP.����5h�wގ��vm�	�c�9�;�B:!x|��A{�(mY�a�O���撫u5[�AwM�mе͸8�u�<a)G��gIV����em+.��⊐��X�[�h��h�#G'�g}�X�c��!|�E�H��<e��Z��
�X�N��x��k
2\���
zi7�7�x6�}e��@z���4ǐ��4���>�!/,���e��]��n�tr,+fUa.
�ʠCfh�6�x\�lѪ�o�F�5-����O&q�Y�-�S ,&U ��	�eF�q@�1iD�T����{ܒnc����-��:1��ȟ���}%�����F��K�]K.��&u�ٜ�;�L�F��L�����C�d�>8͜G�[3����O���!�[/E$��u2��
�ҏ�i��2O�y�˟��-��eO���3.3?�l#�����3�m��e���f>m���2ifc���e�ٲK�4:`7d�_.f���"�9�f������މ1�����i3^�[��G
'�, :f�|�\�
+	�ղ��K����s��3G��3N�8�L
�i&c]��i��6wBب�3Wm���'�<�5E6U��n)��Y=�1���/�؎b�-΂r s�|�}��\O�D�b'�}��۵��Q�A(�:a��;%L��	�K�i	�g͐�ش�Յl�+_�tl��K��Aԁn�p��	�%Ȋ3��E���7���i����f6Y�nf��8�w�3l/� ����kwk�9���F��n=8��<
<��U�R J\T�t��J��â��!oc�!���޴\h�e�45�Njl"
+����%Q�$��}���w���3XQZl�m�;�p� ��)W0��z�n���-�w��Y��_P��[P�蛯���f�
��=�B�m��=	��'�Q�)‹_m��\���-�5����xA�N���V���vÒ�NZó��.��;ڕ���%�i�`2�*��+q�u��tM�Z�cf~e�ssN�~<�Q��@%�Ȥ��,�[óU(��u�qup����s�K���]�S��(�x���:|S��K�M�˅�5l� ���%t�5��F��Ì&=��"��
/]ҟ�a�p��n�D.=ڭ��;�1���G���z�Ǵ
X]���w�x����t��MEwk�f+(.������5��-��ǘW��1|'f��J#�j���b�BΘ��n���Q˲6X�n�oT�Ww8�ED���٦uh��U�-�ݮ���-[n:��mm���[W~.xs�fK=�apt����,6�D�AZv�hځ�c$�"a����r�assets/webfonts/fa-regular-400.svg000064400000432513150753125220012756 0ustar00<?xml version="1.0" standalone="no"?>
<!--
Font Awesome Free 5.14.0 by @fontawesome - https://fontawesome.com
License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
-->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<metadata>
Created by FontForge 20200314 at Wed Jul 15 11:59:40 2020
 By Robert Madole
Copyright (c) Font Awesome
</metadata>
<defs>
<font id="FontAwesome5Free-Regular" horiz-adv-x="512" >
  <font-face 
    font-family="Font Awesome 5 Free Regular"
    font-weight="400"
    font-stretch="normal"
    units-per-em="512"
    panose-1="2 0 5 3 0 0 0 0 0 0"
    ascent="448"
    descent="-64"
    bbox="-0.0663408 -64.0662 640.004 448.1"
    underline-thickness="25"
    underline-position="-50"
    unicode-range="U+0020-F5C8"
  />
    <missing-glyph />
    <glyph glyph-name="heart" unicode="&#xf004;" 
d="M458.4 383.7c75.2998 -63.4004 64.0996 -166.601 10.5996 -221.3l-175.4 -178.7c-10 -10.2002 -23.2998 -15.7998 -37.5996 -15.7998c-14.2002 0 -27.5996 5.69922 -37.5996 15.8994l-175.4 178.7c-53.5996 54.7002 -64.5996 157.9 10.5996 221.2
c57.8008 48.7002 147.101 41.2998 202.4 -15c55.2998 56.2998 144.6 63.5996 202.4 15zM434.8 196.2c36.2002 36.8994 43.7998 107.7 -7.2998 150.8c-38.7002 32.5996 -98.7002 27.9004 -136.5 -10.5996l-35 -35.7002l-35 35.7002
c-37.5996 38.2998 -97.5996 43.1992 -136.5 10.5c-51.2002 -43.1006 -43.7998 -113.5 -7.2998 -150.7l175.399 -178.7c2.40039 -2.40039 4.40039 -2.40039 6.80078 0z" />
    <glyph glyph-name="star" unicode="&#xf005;" horiz-adv-x="576" 
d="M528.1 276.5c26.2002 -3.7998 36.7002 -36.0996 17.7002 -54.5996l-105.7 -103l25 -145.5c4.5 -26.3008 -23.1992 -45.9004 -46.3994 -33.7002l-130.7 68.7002l-130.7 -68.7002c-23.2002 -12.2998 -50.8994 7.39941 -46.3994 33.7002l25 145.5l-105.7 103
c-19 18.5 -8.5 50.7998 17.7002 54.5996l146.1 21.2998l65.2998 132.4c11.7998 23.8994 45.7002 23.5996 57.4004 0l65.2998 -132.4zM388.6 135.7l100.601 98l-139 20.2002l-62.2002 126l-62.2002 -126l-139 -20.2002l100.601 -98l-23.7002 -138.4l124.3 65.2998
l124.3 -65.2998z" />
    <glyph glyph-name="user" unicode="&#xf007;" horiz-adv-x="448" 
d="M313.6 144c74.2002 0 134.4 -60.2002 134.4 -134.4v-25.5996c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v25.5996c0 74.2002 60.2002 134.4 134.4 134.4c28.7998 0 42.5 -16 89.5996 -16s60.9004 16 89.5996 16zM400 -16v25.5996
c0 47.6006 -38.7998 86.4004 -86.4004 86.4004c-14.6992 0 -37.8994 -16 -89.5996 -16c-51.2998 0 -75 16 -89.5996 16c-47.6006 0 -86.4004 -38.7998 -86.4004 -86.4004v-25.5996h352zM224 160c-79.5 0 -144 64.5 -144 144s64.5 144 144 144s144 -64.5 144 -144
s-64.5 -144 -144 -144zM224 400c-52.9004 0 -96 -43.0996 -96 -96s43.0996 -96 96 -96s96 43.0996 96 96s-43.0996 96 -96 96z" />
    <glyph glyph-name="clock" unicode="&#xf017;" 
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200zM317.8 96.4004l-84.8994 61.6992
c-3.10059 2.30078 -4.90039 5.90039 -4.90039 9.7002v164.2c0 6.59961 5.40039 12 12 12h32c6.59961 0 12 -5.40039 12 -12v-141.7l66.7998 -48.5996c5.40039 -3.90039 6.5 -11.4004 2.60059 -16.7998l-18.8008 -25.9004c-3.89941 -5.2998 -11.3994 -6.5 -16.7998 -2.59961z
" />
    <glyph glyph-name="list-alt" unicode="&#xf022;" 
d="M464 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h416zM458 16c3.31152 0 6 2.68848 6 6v340c0 3.31152 -2.68848 6 -6 6h-404c-3.31152 0 -6 -2.68848 -6 -6v-340
c0 -3.31152 2.68848 -6 6 -6h404zM416 108v-24c0 -6.62695 -5.37305 -12 -12 -12h-200c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h200c6.62695 0 12 -5.37305 12 -12zM416 204v-24c0 -6.62695 -5.37305 -12 -12 -12h-200c-6.62695 0 -12 5.37305 -12 12
v24c0 6.62695 5.37305 12 12 12h200c6.62695 0 12 -5.37305 12 -12zM416 300v-24c0 -6.62695 -5.37305 -12 -12 -12h-200c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h200c6.62695 0 12 -5.37305 12 -12zM164 288c0 -19.8818 -16.1182 -36 -36 -36
s-36 16.1182 -36 36s16.1182 36 36 36s36 -16.1182 36 -36zM164 192c0 -19.8818 -16.1182 -36 -36 -36s-36 16.1182 -36 36s16.1182 36 36 36s36 -16.1182 36 -36zM164 96c0 -19.8818 -16.1182 -36 -36 -36s-36 16.1182 -36 36s16.1182 36 36 36s36 -16.1182 36 -36z" />
    <glyph glyph-name="flag" unicode="&#xf024;" 
d="M336.174 368c35.4668 0 73.0195 12.6914 108.922 28.1797c31.6406 13.6514 66.9043 -9.65723 66.9043 -44.1162v-239.919c0 -16.1953 -8.1543 -31.3057 -21.7129 -40.1631c-26.5762 -17.3643 -70.0693 -39.9814 -128.548 -39.9814c-68.6084 0 -112.781 32 -161.913 32
c-56.5674 0 -89.957 -11.2803 -127.826 -28.5566v-83.4434c0 -8.83691 -7.16309 -16 -16 -16h-16c-8.83691 0 -16 7.16309 -16 16v406.438c-14.3428 8.2998 -24 23.7979 -24 41.5615c0 27.5693 23.2422 49.71 51.2012 47.8965
c22.9658 -1.49023 41.8662 -19.4717 44.4805 -42.3379c0.213867 -1.83398 0.308594 -3.65918 0.308594 -5.5498c0 -5.30273 -0.860352 -10.4053 -2.4502 -15.1768c22.418 8.68555 49.4199 15.168 80.7207 15.168c68.6084 0 112.781 -32 161.913 -32zM464 112v240
c-31.5059 -14.6338 -84.5547 -32 -127.826 -32c-59.9111 0 -101.968 32 -161.913 32c-41.4365 0 -80.4766 -16.5879 -102.261 -32v-232c31.4473 14.5967 84.4648 24 127.826 24c59.9111 0 101.968 -32 161.913 -32c41.4365 0 80.4775 16.5879 102.261 32z" />
    <glyph glyph-name="bookmark" unicode="&#xf02e;" horiz-adv-x="384" 
d="M336 448c26.5098 0 48 -21.4902 48 -48v-464l-192 112l-192 -112v464c0 26.5098 21.4902 48 48 48h288zM336 19.5703v374.434c0 3.31348 -2.68555 5.99609 -6 5.99609h-276c-3.31152 0 -6 -2.68848 -6 -6v-374.43l144 84z" />
    <glyph glyph-name="image" unicode="&#xf03e;" 
d="M464 384c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h416zM458 48c3.31152 0 6 2.68848 6 6v276c0 3.31152 -2.68848 6 -6 6h-404c-3.31152 0 -6 -2.68848 -6 -6v-276
c0 -3.31152 2.68848 -6 6 -6h404zM128 296c22.0908 0 40 -17.9092 40 -40s-17.9092 -40 -40 -40s-40 17.9092 -40 40s17.9092 40 40 40zM96 96v48l39.5137 39.5146c4.6875 4.68652 12.2852 4.68652 16.9717 0l39.5146 -39.5146l119.514 119.515
c4.6875 4.68652 12.2852 4.68652 16.9717 0l87.5146 -87.5146v-80h-320z" />
    <glyph glyph-name="edit" unicode="&#xf044;" horiz-adv-x="576" 
d="M402.3 103.1l32 32c5 5 13.7002 1.5 13.7002 -5.69922v-145.4c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h273.5c7.09961 0 10.7002 -8.59961 5.7002 -13.7002l-32 -32c-1.5 -1.5 -3.5 -2.2998 -5.7002 -2.2998h-241.5v-352h352
v113.5c0 2.09961 0.799805 4.09961 2.2998 5.59961zM558.9 304.9l-262.601 -262.601l-90.3994 -10c-26.2002 -2.89941 -48.5 19.2002 -45.6006 45.6006l10 90.3994l262.601 262.601c22.8994 22.8994 59.8994 22.8994 82.6992 0l43.2002 -43.2002
c22.9004 -22.9004 22.9004 -60 0.100586 -82.7998zM460.1 274l-58.0996 58.0996l-185.8 -185.899l-7.2998 -65.2998l65.2998 7.2998zM524.9 353.7l-43.2002 43.2002c-4.10059 4.09961 -10.7998 4.09961 -14.7998 0l-30.9004 -30.9004l58.0996 -58.0996l30.9004 30.8994
c4 4.2002 4 10.7998 -0.0996094 14.9004z" />
    <glyph glyph-name="times-circle" unicode="&#xf057;" 
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200zM357.8 254.2l-62.2002 -62.2002l62.2002 -62.2002
c4.7002 -4.7002 4.7002 -12.2998 0 -17l-22.5996 -22.5996c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-62.2002 62.2002l-62.2002 -62.2002c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-22.5996 22.5996c-4.7002 4.7002 -4.7002 12.2998 0 17l62.2002 62.2002l-62.2002 62.2002
c-4.7002 4.7002 -4.7002 12.2998 0 17l22.5996 22.5996c4.7002 4.7002 12.2998 4.7002 17 0l62.2002 -62.2002l62.2002 62.2002c4.7002 4.7002 12.2998 4.7002 17 0l22.5996 -22.5996c4.7002 -4.7002 4.7002 -12.2998 0 -17z" />
    <glyph glyph-name="check-circle" unicode="&#xf058;" 
d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM256 392c-110.549 0 -200 -89.4678 -200 -200c0 -110.549 89.4678 -200 200 -200c110.549 0 200 89.4678 200 200c0 110.549 -89.4678 200 -200 200z
M396.204 261.733c4.66699 -4.70508 4.63672 -12.3037 -0.0673828 -16.9717l-172.589 -171.204c-4.70508 -4.66797 -12.3027 -4.63672 -16.9697 0.0683594l-90.7812 91.5156c-4.66797 4.70605 -4.63672 12.3047 0.0683594 16.9717l22.7188 22.5361
c4.70508 4.66699 12.3027 4.63574 16.9697 -0.0693359l59.792 -60.2773l141.353 140.216c4.70508 4.66797 12.3027 4.6377 16.9697 -0.0673828z" />
    <glyph glyph-name="question-circle" unicode="&#xf059;" 
d="M256 440c136.957 0 248 -111.083 248 -248c0 -136.997 -111.043 -248 -248 -248s-248 111.003 -248 248c0 136.917 111.043 248 248 248zM256 -8c110.569 0 200 89.4697 200 200c0 110.529 -89.5088 200 -200 200c-110.528 0 -200 -89.5049 -200 -200
c0 -110.569 89.4678 -200 200 -200zM363.244 247.2c0 -67.0518 -72.4209 -68.084 -72.4209 -92.8633v-6.33691c0 -6.62695 -5.37305 -12 -12 -12h-45.6475c-6.62695 0 -12 5.37305 -12 12v8.65918c0 35.7451 27.1006 50.0342 47.5791 61.5156
c17.5615 9.84473 28.3242 16.541 28.3242 29.5791c0 17.2461 -21.999 28.6934 -39.7842 28.6934c-23.1885 0 -33.8936 -10.9775 -48.9424 -29.9697c-4.05664 -5.11914 -11.46 -6.07031 -16.666 -2.12402l-27.8232 21.0986
c-5.10742 3.87207 -6.25098 11.0654 -2.64453 16.3633c23.627 34.6934 53.7217 54.1846 100.575 54.1846c49.0713 0 101.45 -38.3037 101.45 -88.7998zM298 80c0 -23.1592 -18.8408 -42 -42 -42s-42 18.8408 -42 42s18.8408 42 42 42s42 -18.8408 42 -42z" />
    <glyph glyph-name="eye" unicode="&#xf06e;" horiz-adv-x="576" 
d="M288 304c0.114258 0 0.240234 -0.0175781 0.354492 -0.0175781c61.6543 0 111.71 -50.0557 111.71 -111.71s-50.0557 -111.71 -111.71 -111.71s-111.71 50.0557 -111.71 111.71c0 10.7422 1.51953 21.1328 4.35547 30.9678
c7.95898 -4.52637 17.2129 -7.17188 27 -7.24023c30.9072 0 56 25.0928 56 56c-0.0683594 9.78711 -2.71387 19.041 -7.24023 27c9.88379 3.07617 20.3896 4.83008 31.2402 5zM572.52 206.6c2.21387 -4.37793 3.46094 -9.38965 3.46094 -14.626
c0 -5.2373 -1.24707 -10.1855 -3.46094 -14.5635c-54.1992 -105.771 -161.59 -177.41 -284.52 -177.41s-230.29 71.5898 -284.52 177.4c-2.21387 4.37793 -3.46094 9.38965 -3.46094 14.626c0 5.2373 1.24707 10.1855 3.46094 14.5635
c54.1992 105.771 161.59 177.41 284.52 177.41s230.29 -71.5898 284.52 -177.4zM288 48c98.6602 0 189.1 55 237.93 144c-48.8398 89 -139.27 144 -237.93 144s-189.09 -55 -237.93 -144c48.8398 -89 139.279 -144 237.93 -144z" />
    <glyph glyph-name="eye-slash" unicode="&#xf070;" horiz-adv-x="640" 
d="M634 -23c3.66895 -2.93262 6.00391 -7.45117 6.00391 -12.5088c0 -3.7832 -1.31543 -7.26074 -3.51367 -10.001l-10 -12.4902c-2.93359 -3.66309 -7.44824 -5.99414 -12.502 -5.99414c-3.77637 0 -7.25 1.31152 -9.98828 3.50391l-598 467.49
c-3.66895 2.93262 -6.00391 7.45117 -6.00391 12.5088c0 3.7832 1.31543 7.26074 3.51367 10.001l10 12.4902c2.93359 3.66309 7.44824 5.99414 12.502 5.99414c3.77637 0 7.25 -1.31152 9.98828 -3.50391zM296.79 301.53c7.51172 1.60254 15.2266 2.45508 23.21 2.46973
c60.4805 0 109.36 -47.9102 111.58 -107.85zM343.21 82.46c-7.51367 -1.59375 -15.2285 -2.44336 -23.21 -2.45996c-60.4697 0 -109.35 47.9102 -111.58 107.84zM320 336c-19.8799 0 -39.2803 -2.7998 -58.2197 -7.09961l-46.4102 36.29
c32.9199 11.8096 67.9297 18.8096 104.63 18.8096c122.93 0 230.29 -71.5898 284.57 -177.4c2.21289 -4.37793 3.45996 -9.38965 3.45996 -14.626c0 -5.2373 -1.24707 -10.1855 -3.45996 -14.5635c-14.1924 -27.5625 -31.9229 -52.6689 -52.9004 -75.1104l-37.7402 29.5
c17.2305 18.0527 31.9385 38.1318 44 60.2002c-48.8398 89 -139.279 144 -237.93 144zM320 48c19.8896 0 39.2803 2.7998 58.2197 7.08984l46.4102 -36.2803c-32.9199 -11.7598 -67.9297 -18.8096 -104.63 -18.8096c-122.92 0 -230.28 71.5898 -284.51 177.4
c-2.21387 4.37793 -3.46094 9.38965 -3.46094 14.626c0 5.2373 1.24707 10.1855 3.46094 14.5635c14.1885 27.5586 31.916 52.6621 52.8896 75.1006l37.7402 -29.5c-17.249 -18.0469 -31.9727 -38.1221 -44.0498 -60.1904c48.8496 -89 139.279 -144 237.93 -144z" />
    <glyph glyph-name="calendar-alt" unicode="&#xf073;" horiz-adv-x="448" 
d="M148 160h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12zM256 172c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40
c6.59961 0 12 -5.40039 12 -12v-40zM352 172c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM256 76c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40
c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM160 76c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM352 76c0 -6.59961 -5.40039 -12 -12 -12h-40
c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM448 336v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40
c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48zM400 -10v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
    <glyph glyph-name="comment" unicode="&#xf075;" 
d="M256 416c141.4 0 256 -93.0996 256 -208s-114.6 -208 -256 -208c-32.7998 0 -64 5.2002 -92.9004 14.2998c-29.0996 -20.5996 -77.5996 -46.2998 -139.1 -46.2998c-9.59961 0 -18.2998 5.7002 -22.0996 14.5c-3.80078 8.7998 -2 19 4.59961 26
c0.5 0.400391 31.5 33.7998 46.4004 73.2002c-33 35.0996 -52.9004 78.7002 -52.9004 126.3c0 114.9 114.6 208 256 208zM256 48c114.7 0 208 71.7998 208 160s-93.2998 160 -208 160s-208 -71.7998 -208 -160c0 -42.2002 21.7002 -74.0996 39.7998 -93.4004
l20.6006 -21.7998l-10.6006 -28.0996c-5.5 -14.5 -12.5996 -28.1006 -19.8994 -40.2002c23.5996 7.59961 43.1992 18.9004 57.5 29l19.5 13.7998l22.6992 -7.2002c25.3008 -8 51.7002 -12.0996 78.4004 -12.0996z" />
    <glyph glyph-name="folder" unicode="&#xf07b;" 
d="M464 320c26.5098 0 48 -21.4902 48 -48v-224c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h146.74c8.49023 0 16.6299 -3.37012 22.6299 -9.37012l54.6299 -54.6299h192zM464 48v224h-198.62
c-8.49023 0 -16.6299 3.37012 -22.6299 9.37012l-54.6299 54.6299h-140.12v-288h416z" />
    <glyph glyph-name="folder-open" unicode="&#xf07c;" horiz-adv-x="576" 
d="M527.9 224c37.6992 0 60.6992 -41.5 40.6992 -73.4004l-79.8994 -128c-8.7998 -14.0996 -24.2002 -22.5996 -40.7002 -22.5996h-400c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h160l64 -64h160c26.5 0 48 -21.5 48 -48v-48h47.9004zM48 330v-233.4l62.9004 104.2
c8.69922 14.4004 24.2998 23.2002 41.0996 23.2002h280v42c0 3.2998 -2.7002 6 -6 6h-173.9l-64 64h-134.1c-3.2998 0 -6 -2.7002 -6 -6zM448 48l80 128h-378.8l-77.2002 -128h376z" />
    <glyph glyph-name="chart-bar" unicode="&#xf080;" 
d="M396.8 96c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v230.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h22.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-230.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-22.4004zM204.8 96
c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v198.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h22.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-198.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-22.4004zM300.8 96
c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v134.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h22.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-134.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-22.4004zM496 48c8.83984 0 16 -7.16016 16 -16v-16
c0 -8.83984 -7.16016 -16 -16 -16h-464c-17.6699 0 -32 14.3301 -32 32v336c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-320h448zM108.8 96c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v70.4004c0 6.39941 6.40039 12.7998 12.7998 12.7998h22.4004
c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-70.4004c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-22.4004z" />
    <glyph glyph-name="comments" unicode="&#xf086;" horiz-adv-x="576" 
d="M532 61.7998c15.2998 -30.7002 37.4004 -54.5 37.7998 -54.7998c6.2998 -6.7002 8 -16.5 4.40039 -25c-3.7002 -8.5 -12 -14 -21.2002 -14c-53.5996 0 -96.7002 20.2998 -125.2 38.7998c-19 -4.39941 -39 -6.7998 -59.7998 -6.7998
c-86.2002 0 -159.9 40.4004 -191.3 97.7998c-9.7002 1.2002 -19.2002 2.7998 -28.4004 4.90039c-28.5 -18.6006 -71.7002 -38.7998 -125.2 -38.7998c-9.19922 0 -17.5996 5.5 -21.1992 14c-3.7002 8.5 -1.90039 18.2998 4.39941 25
c0.400391 0.399414 22.4004 24.1992 37.7002 54.8994c-27.5 27.2002 -44 61.2002 -44 98.2002c0 88.4004 93.0996 160 208 160c86.2998 0 160.3 -40.5 191.8 -98.0996c99.7002 -11.8008 176.2 -77.9004 176.2 -157.9c0 -37.0996 -16.5 -71.0996 -44 -98.2002zM139.2 154.1
l19.7998 -4.5c16 -3.69922 32.5 -5.59961 49 -5.59961c86.7002 0 160 51.2998 160 112s-73.2998 112 -160 112s-160 -51.2998 -160 -112c0 -28.7002 16.2002 -50.5996 29.7002 -64l24.7998 -24.5l-15.5 -31.0996c-2.59961 -5.10059 -5.2998 -10.1006 -8 -14.8008
c14.5996 5.10059 29 12.3008 43.0996 21.4004zM498.3 96c13.5 13.4004 29.7002 35.2998 29.7002 64c0 49.2002 -48.2998 91.5 -112.7 106c0.299805 -3.2998 0.700195 -6.59961 0.700195 -10c0 -80.9004 -78 -147.5 -179.3 -158.3
c29.0996 -29.6006 77.2998 -49.7002 131.3 -49.7002c16.5 0 33 1.90039 49 5.59961l19.9004 4.60059l17.0996 -11.1006c14.0996 -9.09961 28.5 -16.2998 43.0996 -21.3994c-2.69922 4.7002 -5.39941 9.7002 -8 14.7998l-15.5 31.0996z" />
    <glyph glyph-name="star-half" unicode="&#xf089;" horiz-adv-x="576" 
d="M288 62.7002v-54.2998l-130.7 -68.6006c-23.3994 -12.2998 -50.8994 7.60059 -46.3994 33.7002l25 145.5l-105.7 103c-19 18.5 -8.5 50.7998 17.7002 54.5996l146.1 21.2002l65.2998 132.4c5.90039 11.8994 17.2998 17.7998 28.7002 17.7998v-68.0996l-62.2002 -126
l-139 -20.2002l100.601 -98l-23.7002 -138.4z" />
    <glyph glyph-name="lemon" unicode="&#xf094;" 
d="M484.112 420.111c28.1221 -28.123 35.9434 -68.0039 19.0215 -97.0547c-23.0576 -39.584 50.1436 -163.384 -82.3311 -295.86c-132.301 -132.298 -256.435 -59.3594 -295.857 -82.3291c-29.0459 -16.917 -68.9219 -9.11426 -97.0576 19.0205
c-28.1221 28.1221 -35.9434 68.0029 -19.0215 97.0547c23.0566 39.5859 -50.1436 163.386 82.3301 295.86c132.308 132.309 256.407 59.3496 295.862 82.332c29.0498 16.9219 68.9307 9.09863 97.0537 -19.0234zM461.707 347.217
c13.5166 23.2031 -27.7578 63.7314 -50.4883 50.4912c-66.6025 -38.7939 -165.646 45.5898 -286.081 -74.8457c-120.444 -120.445 -36.0449 -219.472 -74.8447 -286.08c-13.542 -23.2471 27.8145 -63.6953 50.4932 -50.4883
c66.6006 38.7949 165.636 -45.5996 286.076 74.8428c120.444 120.445 36.0449 219.472 74.8447 286.08zM291.846 338.481c1.37012 -10.96 -6.40332 -20.957 -17.3643 -22.3271c-54.8467 -6.85547 -135.779 -87.7871 -142.636 -142.636
c-1.37305 -10.9883 -11.3984 -18.7334 -22.3262 -17.3643c-10.9609 1.37012 -18.7344 11.3652 -17.3643 22.3262c9.16211 73.2852 104.167 168.215 177.364 177.364c10.9531 1.36816 20.9561 -6.40234 22.3262 -17.3633z" />
    <glyph glyph-name="credit-card" unicode="&#xf09d;" horiz-adv-x="576" 
d="M527.9 416c26.5996 0 48.0996 -21.5 48.0996 -48v-352c0 -26.5 -21.5 -48 -48.0996 -48h-479.801c-26.5996 0 -48.0996 21.5 -48.0996 48v352c0 26.5 21.5 48 48.0996 48h479.801zM54.0996 368c-3.2998 0 -6 -2.7002 -6 -6v-42h479.801v42c0 3.2998 -2.7002 6 -6 6
h-467.801zM521.9 16c3.2998 0 6 2.7002 6 6v170h-479.801v-170c0 -3.2998 2.7002 -6 6 -6h467.801zM192 116v-40c0 -6.59961 -5.40039 -12 -12 -12h-72c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h72c6.59961 0 12 -5.40039 12 -12zM384 116v-40
c0 -6.59961 -5.40039 -12 -12 -12h-136c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h136c6.59961 0 12 -5.40039 12 -12z" />
    <glyph glyph-name="hdd" unicode="&#xf0a0;" horiz-adv-x="576" 
d="M567.403 212.358c5.59668 -8.04688 8.59668 -17.6113 8.59668 -27.4121v-136.946c0 -26.5098 -21.4902 -48 -48 -48h-480c-26.5098 0 -48 21.4902 -48 48v136.946c0 10.167 3.19531 19.6465 8.59668 27.4121l105.08 151.053
c8.67383 12.4678 23.0791 20.5889 39.4043 20.5889h269.838c16.3252 0 30.7305 -8.12109 39.4043 -20.5889zM153.081 336l-77.9131 -112h425.664l-77.9131 112h-269.838zM528 48v128h-480v-128h480zM496 112c0 -17.6729 -14.3271 -32 -32 -32s-32 14.3271 -32 32
s14.3271 32 32 32s32 -14.3271 32 -32zM400 112c0 -17.6729 -14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32s32 -14.3271 32 -32z" />
    <glyph glyph-name="hand-point-right" unicode="&#xf0a4;" 
d="M428.8 310.4c45.0996 0 83.2002 -38.1016 83.2002 -83.2002c0 -45.6162 -37.7646 -83.2002 -83.2002 -83.2002h-35.6475c-1.71387 -7.70605 -4.43555 -15.2051 -7.92969 -22.0645c2.50586 -22.0059 -3.50293 -44.9775 -15.9844 -62.791
c-1.14062 -52.4863 -37.3984 -91.1445 -99.9404 -91.1445h-21.2988c-60.0635 0 -98.5117 40 -127.2 40h-2.67871c-5.74707 -4.95215 -13.5361 -8 -22.1201 -8h-64c-17.6729 0 -32 12.8936 -32 28.7998v230.4c0 15.9062 14.3271 28.7998 32 28.7998h64.001
c8.58398 0 16.373 -3.04785 22.1201 -8h2.67871c6.96387 0 14.8623 6.19336 30.1816 23.6689l0.128906 0.148438l0.130859 0.145508c8.85645 9.93652 18.1162 20.8398 25.8506 33.2529c18.7051 30.2471 30.3936 78.7842 75.707 78.7842c56.9277 0 92 -35.2861 92 -83.2002
c0 -0.0283203 0 0.0361328 0 0.0078125c0 -7.66602 -0.748047 -15.1582 -2.17578 -22.4072h86.1768zM428.8 192c18.9756 0 35.2002 16.2246 35.2002 35.2002c0 18.7002 -16.7754 35.2002 -35.2002 35.2002h-158.399c0 17.3242 26.3994 35.1992 26.3994 70.3994
c0 26.4004 -20.625 35.2002 -44 35.2002c-8.79395 0 -20.4443 -32.7119 -34.9258 -56.0996c-9.07422 -14.5752 -19.5244 -27.2256 -30.7988 -39.875c-16.1094 -18.374 -33.8359 -36.6328 -59.0752 -39.5967v-176.753c42.79 -3.7627 74.5088 -39.6758 120 -39.6758h21.2988
c40.5244 0 57.124 22.1973 50.6006 61.3252c14.6113 8.00098 24.1514 33.9785 12.9248 53.625c19.3652 18.2246 17.7871 46.3809 4.9502 61.0498h91.0254zM88 64c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24z" />
    <glyph glyph-name="hand-point-left" unicode="&#xf0a5;" 
d="M0 227.2c0 45.0986 38.1006 83.2002 83.2002 83.2002h86.1758c-1.3623 6.91016 -2.17578 14.374 -2.17578 22.3994c0 47.9141 35.0723 83.2002 92 83.2002c45.3135 0 57.002 -48.5371 75.7061 -78.7852c7.73438 -12.4121 16.9951 -23.3154 25.8506 -33.2529
l0.130859 -0.145508l0.128906 -0.148438c15.3213 -17.4746 23.2197 -23.668 30.1836 -23.668h2.67871c5.74707 4.95215 13.5361 8 22.1201 8h64c17.6729 0 32 -12.8936 32 -28.7998v-230.4c0 -15.9062 -14.3271 -28.7998 -32 -28.7998h-64
c-8.58398 0 -16.373 3.04785 -22.1201 8h-2.67871c-28.6885 0 -67.1367 -40 -127.2 -40h-21.2988c-62.542 0 -98.8008 38.6582 -99.9404 91.1445c-12.4814 17.8135 -18.4922 40.7852 -15.9844 62.791c-3.49414 6.85938 -6.21582 14.3584 -7.92969 22.0645h-35.6465
c-45.4355 0 -83.2002 37.584 -83.2002 83.2002zM48 227.2c0 -18.9756 16.2246 -35.2002 35.2002 -35.2002h91.0244c-12.8369 -14.6689 -14.415 -42.8252 4.9502 -61.0498c-11.2256 -19.6465 -1.68652 -45.624 12.9248 -53.625
c-6.52246 -39.1279 10.0771 -61.3252 50.6016 -61.3252h21.2988c45.4912 0 77.21 35.9131 120 39.6768v176.752c-25.2393 2.96289 -42.9658 21.2227 -59.0752 39.5967c-11.2744 12.6494 -21.7246 25.2998 -30.7988 39.875
c-14.4814 23.3877 -26.1318 56.0996 -34.9258 56.0996c-23.375 0 -44 -8.7998 -44 -35.2002c0 -35.2002 26.3994 -53.0752 26.3994 -70.3994h-158.399c-18.4248 0 -35.2002 -16.5 -35.2002 -35.2002zM448 88c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24
s24 10.7451 24 24s-10.7451 24 -24 24z" />
    <glyph glyph-name="hand-point-up" unicode="&#xf0a6;" horiz-adv-x="448" 
d="M105.6 364.8c0 45.0996 38.1016 83.2002 83.2002 83.2002c45.6162 0 83.2002 -37.7646 83.2002 -83.2002v-35.6465c7.70605 -1.71387 15.2051 -4.43555 22.0645 -7.92969c22.0059 2.50684 44.9775 -3.50293 62.791 -15.9844
c52.4863 -1.14062 91.1445 -37.3984 91.1445 -99.9404v-21.2988c0 -60.0635 -40 -98.5117 -40 -127.2v-2.67871c4.95215 -5.74707 8 -13.5361 8 -22.1201v-64c0 -17.6729 -12.8936 -32 -28.7998 -32h-230.4c-15.9062 0 -28.7998 14.3271 -28.7998 32v64
c0 8.58398 3.04785 16.373 8 22.1201v2.67871c0 6.96387 -6.19336 14.8623 -23.6689 30.1816l-0.148438 0.128906l-0.145508 0.130859c-9.93652 8.85645 -20.8398 18.1162 -33.2529 25.8506c-30.2471 18.7051 -78.7842 30.3936 -78.7842 75.707
c0 56.9277 35.2861 92 83.2002 92c0.0283203 0 -0.0361328 0 -0.0078125 0c7.66602 0 15.1582 -0.748047 22.4072 -2.17578v86.1768zM224 364.8c0 18.9756 -16.2246 35.2002 -35.2002 35.2002c-18.7002 0 -35.2002 -16.7754 -35.2002 -35.2002v-158.399
c-17.3242 0 -35.1992 26.3994 -70.3994 26.3994c-26.4004 0 -35.2002 -20.625 -35.2002 -44c0 -8.79395 32.7119 -20.4443 56.0996 -34.9258c14.5752 -9.07422 27.2256 -19.5244 39.875 -30.7988c18.374 -16.1094 36.6328 -33.8359 39.5967 -59.0752h176.753
c3.7627 42.79 39.6758 74.5088 39.6758 120v21.2988c0 40.5244 -22.1973 57.124 -61.3252 50.6006c-8.00098 14.6113 -33.9785 24.1514 -53.625 12.9248c-18.2246 19.3652 -46.3809 17.7871 -61.0498 4.9502v91.0254zM352 24c-13.2549 0 -24 -10.7451 -24 -24
s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24z" />
    <glyph glyph-name="hand-point-down" unicode="&#xf0a7;" horiz-adv-x="448" 
d="M188.8 -64c-45.0986 0 -83.2002 38.1006 -83.2002 83.2002v86.1758c-6.91016 -1.3623 -14.374 -2.17578 -22.3994 -2.17578c-47.9141 0 -83.2002 35.0723 -83.2002 92c0 45.3135 48.5371 57.002 78.7852 75.707c12.4121 7.73438 23.3154 16.9951 33.2529 25.8506
l0.145508 0.130859l0.148438 0.128906c17.4746 15.3213 23.668 23.2197 23.668 30.1836v2.67871c-4.95215 5.74707 -8 13.5361 -8 22.1201v64c0 17.6729 12.8936 32 28.7998 32h230.4c15.9062 0 28.7998 -14.3271 28.7998 -32v-64.001
c0 -8.58398 -3.04785 -16.373 -8 -22.1201v-2.67871c0 -28.6885 40 -67.1367 40 -127.2v-21.2988c0 -62.542 -38.6582 -98.8008 -91.1445 -99.9404c-17.8135 -12.4814 -40.7852 -18.4922 -62.791 -15.9844c-6.85938 -3.49414 -14.3584 -6.21582 -22.0645 -7.92969v-35.6465
c0 -45.4355 -37.584 -83.2002 -83.2002 -83.2002zM188.8 -16c18.9756 0 35.2002 16.2246 35.2002 35.2002v91.0244c14.6689 -12.8369 42.8252 -14.415 61.0498 4.9502c19.6465 -11.2256 45.624 -1.68652 53.625 12.9248c39.1279 -6.52246 61.3252 10.0771 61.3252 50.6016
v21.2988c0 45.4912 -35.9131 77.21 -39.6768 120h-176.752c-2.96289 -25.2393 -21.2227 -42.9658 -39.5967 -59.0752c-12.6494 -11.2744 -25.2998 -21.7246 -39.875 -30.7988c-23.3877 -14.4814 -56.0996 -26.1318 -56.0996 -34.9258c0 -23.375 8.7998 -44 35.2002 -44
c35.2002 0 53.0752 26.3994 70.3994 26.3994v-158.399c0 -18.4248 16.5 -35.2002 35.2002 -35.2002zM328 384c0 -13.2549 10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24z" />
    <glyph glyph-name="copy" unicode="&#xf0c5;" horiz-adv-x="448" 
d="M433.941 382.059c8.68848 -8.68848 14.0586 -20.6943 14.0586 -33.9404v-268.118c0 -26.5098 -21.4902 -48 -48 -48h-80v-48c0 -26.5098 -21.4902 -48 -48 -48h-224c-26.5098 0 -48 21.4902 -48 48v320c0 26.5098 21.4902 48 48 48h80v48c0 26.5098 21.4902 48 48 48
h172.118c13.2461 0 25.252 -5.37012 33.9404 -14.0586zM266 -16c3.31152 0 6 2.68848 6 6v42h-96c-26.5098 0 -48 21.4902 -48 48v224h-74c-3.31152 0 -6 -2.68848 -6 -6v-308c0 -3.31152 2.68848 -6 6 -6h212zM394 80c3.31152 0 6 2.68848 6 6v202h-88
c-13.2549 0 -24 10.7451 -24 24v88h-106c-3.31152 0 -6 -2.68848 -6 -6v-308c0 -3.31152 2.68848 -6 6 -6h212zM400 336v9.63184c0 1.65527 -0.670898 3.15723 -1.75684 4.24316l-48.3682 48.3682c-1.12598 1.125 -2.65234 1.75684 -4.24316 1.75684h-9.63184v-64h64z" />
    <glyph glyph-name="save" unicode="&#xf0c7;" horiz-adv-x="448" 
d="M433.941 318.059c8.68848 -8.68848 14.0586 -20.6943 14.0586 -33.9404v-268.118c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h268.118c13.2461 0 25.252 -5.37012 33.9404 -14.0586zM272 368h-128v-80h128v80z
M394 16c3.31152 0 6 2.68848 6 6v259.632c0 1.65527 -0.670898 3.15723 -1.75684 4.24316l-78.2432 78.2432v-100.118c0 -13.2549 -10.7451 -24 -24 -24h-176c-13.2549 0 -24 10.7451 -24 24v104h-42c-3.31152 0 -6 -2.68848 -6 -6v-340c0 -3.31152 2.68848 -6 6 -6h340z
M224 216c48.5234 0 88 -39.4766 88 -88s-39.4766 -88 -88 -88s-88 39.4766 -88 88s39.4766 88 88 88zM224 88c22.0557 0 40 17.9443 40 40s-17.9443 40 -40 40s-40 -17.9443 -40 -40s17.9443 -40 40 -40z" />
    <glyph glyph-name="square" unicode="&#xf0c8;" horiz-adv-x="448" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM394 16c3.2998 0 6 2.7002 6 6v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340z" />
    <glyph glyph-name="envelope" unicode="&#xf0e0;" 
d="M464 384c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h416zM464 336h-416v-40.8047c22.4248 -18.2627 58.1797 -46.6602 134.587 -106.49
c16.834 -13.2422 50.2051 -45.0762 73.4131 -44.7012c23.2119 -0.371094 56.5723 31.4541 73.4131 44.7012c76.4189 59.8389 112.165 88.2305 134.587 106.49v40.8047zM48 48h416v185.601c-22.915 -18.252 -55.4189 -43.8691 -104.947 -82.6523
c-22.5439 -17.748 -60.3359 -55.1787 -103.053 -54.9473c-42.9277 -0.231445 -81.2051 37.75 -103.062 54.9551c-49.5293 38.7842 -82.0244 64.3945 -104.938 82.6455v-185.602z" />
    <glyph glyph-name="lightbulb" unicode="&#xf0eb;" horiz-adv-x="352" 
d="M176 368c8.83984 0 16 -7.16016 16 -16s-7.16016 -16 -16 -16c-35.2803 0 -64 -28.7002 -64 -64c0 -8.83984 -7.16016 -16 -16 -16s-16 7.16016 -16 16c0 52.9404 43.0596 96 96 96zM96.0596 -11.1699l-0.0400391 43.1797h159.961l-0.0507812 -43.1797
c-0.00976562 -3.13965 -0.939453 -6.21973 -2.67969 -8.83984l-24.5098 -36.8398c-2.95996 -4.45996 -7.95996 -7.14062 -13.3203 -7.14062h-78.8496c-5.35059 0 -10.3506 2.68066 -13.3203 7.14062l-24.5098 36.8398c-1.75 2.62012 -2.68066 5.68945 -2.68066 8.83984z
M176 448c97.2002 0 176 -78.7998 176 -176c0 -44.3701 -16.4502 -84.8496 -43.5498 -115.79c-16.6406 -18.9795 -42.7402 -58.79 -52.4199 -92.1602v-0.0498047h-48v0.0996094c0.00488281 4.98145 0.790039 9.78809 2.21973 14.3008
c5.67969 17.9893 22.9902 64.8496 62.0996 109.46c20.4102 23.29 31.6504 53.1699 31.6504 84.1396c0 70.5801 -57.4199 128 -128 128c-68.2803 0 -128.15 -54.3604 -127.95 -128c0.0898438 -30.9902 11.0703 -60.71 31.6104 -84.1396
c39.3496 -44.9004 56.5801 -91.8604 62.1699 -109.67c1.42969 -4.56055 2.13965 -9.30078 2.15039 -14.0703v-0.120117h-48v0.0595703c-9.68066 33.3604 -35.7803 73.1709 -52.4209 92.1602c-27.1094 30.9307 -43.5596 71.4102 -43.5596 115.78
c0 93.0303 73.7197 176 176 176z" />
    <glyph glyph-name="bell" unicode="&#xf0f3;" horiz-adv-x="448" 
d="M439.39 85.71c6 -6.44043 8.66016 -14.1602 8.61035 -21.71c-0.0996094 -16.4004 -12.9805 -32 -32.0996 -32h-383.801c-19.1191 0 -31.9893 15.5996 -32.0996 32c-0.0498047 7.5498 2.61035 15.2598 8.61035 21.71c19.3193 20.7598 55.4697 51.9902 55.4697 154.29
c0 77.7002 54.4795 139.9 127.939 155.16v20.8398c0 17.6699 14.3203 32 31.9805 32s31.9805 -14.3301 31.9805 -32v-20.8398c73.46 -15.2598 127.939 -77.46 127.939 -155.16c0 -102.3 36.1504 -133.53 55.4697 -154.29zM67.5303 80h312.939
c-21.2197 27.96 -44.4199 74.3203 -44.5293 159.42c0 0.200195 0.0595703 0.379883 0.0595703 0.580078c0 61.8604 -50.1396 112 -112 112s-112 -50.1396 -112 -112c0 -0.200195 0.0595703 -0.379883 0.0595703 -0.580078
c-0.109375 -85.0898 -23.3096 -131.45 -44.5293 -159.42zM224 -64c-35.3203 0 -63.9697 28.6504 -63.9697 64h127.939c0 -35.3496 -28.6494 -64 -63.9697 -64z" />
    <glyph glyph-name="hospital" unicode="&#xf0f8;" horiz-adv-x="448" 
d="M128 204v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12zM268 192c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40
c0 -6.62695 -5.37305 -12 -12 -12h-40zM192 108c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM268 96c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40
c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-40zM448 -28v-36h-448v36c0 6.62695 5.37305 12 12 12h19.5v378.965c0 11.6172 10.7451 21.0352 24 21.0352h88.5v40c0 13.2549 10.7451 24 24 24h112c13.2549 0 24 -10.7451 24 -24v-40h88.5
c13.2549 0 24 -9.41797 24 -21.0352v-378.965h19.5c6.62695 0 12 -5.37305 12 -12zM79.5 -15h112.5v67c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-67h112.5v351h-64.5v-24c0 -13.2549 -10.7451 -24 -24 -24h-112c-13.2549 0 -24 10.7451 -24 24v24
h-64.5v-351zM266 384h-26v26c0 3.31152 -2.68848 6 -6 6h-20c-3.31152 0 -6 -2.68848 -6 -6v-26h-26c-3.31152 0 -6 -2.68848 -6 -6v-20c0 -3.31152 2.68848 -6 6 -6h26v-26c0 -3.31152 2.68848 -6 6 -6h20c3.31152 0 6 2.68848 6 6v26h26c3.31152 0 6 2.68848 6 6v20
c0 3.31152 -2.68848 6 -6 6z" />
    <glyph glyph-name="plus-square" unicode="&#xf0fe;" horiz-adv-x="448" 
d="M352 208v-32c0 -6.59961 -5.40039 -12 -12 -12h-88v-88c0 -6.59961 -5.40039 -12 -12 -12h-32c-6.59961 0 -12 5.40039 -12 12v88h-88c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h88v88c0 6.59961 5.40039 12 12 12h32c6.59961 0 12 -5.40039 12 -12
v-88h88c6.59961 0 12 -5.40039 12 -12zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340
c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
    <glyph glyph-name="circle" unicode="&#xf111;" 
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200z" />
    <glyph glyph-name="smile" unicode="&#xf118;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM332 135.4c8.5 10.1992 23.7002 11.5 33.7998 3.09961c10.2002 -8.5 11.6006 -23.5996 3.10059 -33.7998
c-30 -36 -74.1006 -56.6006 -120.9 -56.6006s-90.9004 20.6006 -120.9 56.6006c-8.39941 10.2002 -7.09961 25.2998 3.10059 33.7998c10.0996 8.40039 25.2998 7.09961 33.7998 -3.09961c20.7998 -25.1006 51.5 -39.4004 84 -39.4004s63.2002 14.4004 84 39.4004z" />
    <glyph glyph-name="frown" unicode="&#xf119;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM248 144c40.2002 0 78 -17.7002 103.8 -48.5996c8.40039 -10.2002 7.10059 -25.3008 -3.09961 -33.8008
c-10.7002 -8.7998 -25.7002 -6.59961 -33.7998 3.10059c-16.6006 20 -41 31.3994 -66.9004 31.3994s-50.2998 -11.5 -66.9004 -31.3994c-8.5 -10.2002 -23.5996 -11.5 -33.7998 -3.10059c-10.2002 8.5 -11.5996 23.6006 -3.09961 33.8008
c25.7998 30.8994 63.5996 48.5996 103.8 48.5996z" />
    <glyph glyph-name="meh" unicode="&#xf11a;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM336 128c13.2002 0 24 -10.7998 24 -24s-10.7998 -24 -24 -24h-176c-13.2002 0 -24 10.7998 -24 24s10.7998 24 24 24h176z
" />
    <glyph glyph-name="keyboard" unicode="&#xf11c;" horiz-adv-x="576" 
d="M528 384c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48h-480c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h480zM536 48v288c0 4.41113 -3.58887 8 -8 8h-480c-4.41113 0 -8 -3.58887 -8 -8v-288c0 -4.41113 3.58887 -8 8 -8
h480c4.41113 0 8 3.58887 8 8zM170 178c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM266 178c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28
c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM362 178c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM458 178c0 -6.62695 -5.37305 -12 -12 -12h-28
c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM122 96c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM506 96
c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM122 260c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28
c6.62695 0 12 -5.37305 12 -12v-28zM218 260c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM314 260c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28
c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM410 260c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM506 260c0 -6.62695 -5.37305 -12 -12 -12h-28
c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM408 102c0 -6.62695 -5.37305 -12 -12 -12h-216c-6.62695 0 -12 5.37305 -12 12v16c0 6.62695 5.37305 12 12 12h216c6.62695 0 12 -5.37305 12 -12v-16z" />
    <glyph glyph-name="calendar" unicode="&#xf133;" horiz-adv-x="448" 
d="M400 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12
v-52h48zM394 -16c3.2998 0 6 2.7002 6 6v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340z" />
    <glyph glyph-name="play-circle" unicode="&#xf144;" 
d="M371.7 210c16.3994 -9.2002 16.3994 -32.9004 0 -42l-176 -101c-15.9004 -8.7998 -35.7002 2.59961 -35.7002 21v208c0 18.5 19.9004 29.7998 35.7002 21zM504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM56 192
c0 -110.5 89.5 -200 200 -200s200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200z" />
    <glyph glyph-name="minus-square" unicode="&#xf146;" horiz-adv-x="448" 
d="M108 164c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h232c6.59961 0 12 -5.40039 12 -12v-32c0 -6.59961 -5.40039 -12 -12 -12h-232zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352
c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
    <glyph glyph-name="check-square" unicode="&#xf14a;" horiz-adv-x="448" 
d="M400 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352zM400 16v352h-352v-352h352zM364.136 257.724l-172.589 -171.204
c-4.70508 -4.66699 -12.3027 -4.63672 -16.9697 0.0683594l-90.7812 91.5156c-4.66699 4.70508 -4.63672 12.3037 0.0693359 16.9717l22.7188 22.5361c4.70508 4.66699 12.3027 4.63672 16.9697 -0.0693359l59.792 -60.2773l141.353 140.217
c4.70508 4.66699 12.3027 4.63672 16.9697 -0.0683594l22.5361 -22.7178c4.66699 -4.70605 4.63672 -12.3047 -0.0683594 -16.9717z" />
    <glyph glyph-name="share-square" unicode="&#xf14d;" horiz-adv-x="576" 
d="M561.938 289.94c18.75 -18.7402 18.75 -49.1406 0 -67.8809l-143.998 -144c-29.9727 -29.9727 -81.9404 -9.05273 -81.9404 33.9404v53.7998c-101.266 -7.83691 -99.625 -31.6406 -84.1104 -78.7598c14.2285 -43.0889 -33.4736 -79.248 -71.0195 -55.7402
c-51.6924 32.3057 -84.8701 83.0635 -84.8701 144.76c0 39.3408 12.2197 72.7402 36.3301 99.3008c19.8398 21.8398 47.7402 38.4697 82.9102 49.4199c36.7295 11.4395 78.3096 16.1094 120.76 17.9893v57.1982c0 42.9355 51.9258 63.9541 81.9404 33.9404zM384 112l144 144
l-144 144v-104.09c-110.86 -0.90332 -240 -10.5166 -240 -119.851c0 -52.1396 32.79 -85.6094 62.3096 -104.06c-39.8174 120.65 48.999 141.918 177.69 143.84v-103.84zM408.74 27.5068c7.4375 2.125 14.5508 5.30566 20.9736 9.30273
c7.97656 4.95215 18.2861 -0.825195 18.2861 -10.2139v-42.5957c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h132c6.62695 0 12 -5.37305 12 -12v-4.48633c0 -4.91699 -2.9873 -9.36914 -7.56934 -11.1514
c-13.7021 -5.33105 -26.3955 -11.5371 -38.0498 -18.585c-1.82715 -1.11523 -3.98633 -1.76953 -6.28027 -1.77734h-86.1006c-3.31152 0 -6 -2.68848 -6 -6v-340c0 -3.31152 2.68848 -6 6 -6h340c3.31152 0 6 2.68848 6 6v25.9658c0 5.37012 3.5791 10.0596 8.74023 11.541z
" />
    <glyph glyph-name="compass" unicode="&#xf14e;" horiz-adv-x="496" 
d="M347.94 318.14c16.6592 7.61035 33.8096 -9.54004 26.1992 -26.1992l-65.9697 -144.341c-3.19238 -6.9834 -8.78613 -12.5771 -15.7695 -15.7695l-144.341 -65.9697c-16.6592 -7.61035 -33.8096 9.5498 -26.1992 26.1992l65.9697 144.341
c3.19238 6.9834 8.78613 12.5771 15.7695 15.7695zM270.58 169.42c12.4697 12.4697 12.4697 32.6904 0 45.1602s-32.6904 12.4697 -45.1602 0s-12.4697 -32.6904 0 -45.1602s32.6904 -12.4697 45.1602 0zM248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248
s-248 111.03 -248 248s111.03 248 248 248zM248 -8c110.28 0 200 89.7197 200 200s-89.7197 200 -200 200s-200 -89.7197 -200 -200s89.7197 -200 200 -200z" />
    <glyph glyph-name="caret-square-down" unicode="&#xf150;" horiz-adv-x="448" 
d="M125.1 240h197.801c10.6992 0 16.0996 -13 8.5 -20.5l-98.9004 -98.2998c-4.7002 -4.7002 -12.2002 -4.7002 -16.9004 0l-98.8994 98.2998c-7.7002 7.5 -2.2998 20.5 8.39941 20.5zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352
c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
    <glyph glyph-name="caret-square-up" unicode="&#xf151;" horiz-adv-x="448" 
d="M322.9 144h-197.801c-10.6992 0 -16.0996 13 -8.5 20.5l98.9004 98.2998c4.7002 4.7002 12.2002 4.7002 16.9004 0l98.8994 -98.2998c7.7002 -7.5 2.2998 -20.5 -8.39941 -20.5zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352
c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
    <glyph glyph-name="caret-square-right" unicode="&#xf152;" horiz-adv-x="448" 
d="M176 93.0996v197.801c0 10.6992 13 16.0996 20.5 8.5l98.2998 -98.9004c4.7002 -4.7002 4.7002 -12.2002 0 -16.9004l-98.2998 -98.8994c-7.5 -7.7002 -20.5 -2.2998 -20.5 8.39941zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352
c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
    <glyph glyph-name="file" unicode="&#xf15b;" horiz-adv-x="384" 
d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416z" />
    <glyph glyph-name="file-alt" unicode="&#xf15c;" horiz-adv-x="384" 
d="M288 200v-28c0 -6.59961 -5.40039 -12 -12 -12h-168c-6.59961 0 -12 5.40039 -12 12v28c0 6.59961 5.40039 12 12 12h168c6.59961 0 12 -5.40039 12 -12zM276 128c6.59961 0 12 -5.40039 12 -12v-28c0 -6.59961 -5.40039 -12 -12 -12h-168c-6.59961 0 -12 5.40039 -12 12
v28c0 6.59961 5.40039 12 12 12h168zM384 316.1v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996l83.9004 -83.9004c9 -8.90039 14.0996 -21.2002 14.0996 -33.9004z
M256 396.1v-76.0996h76.0996zM336 -16v288h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416h288z" />
    <glyph glyph-name="thumbs-up" unicode="&#xf164;" 
d="M466.27 161.31c4.6748 -22.6465 0.864258 -44.5371 -8.98926 -62.9893c2.95898 -23.8682 -4.02148 -48.5654 -17.3398 -66.9902c-0.954102 -55.9072 -35.8232 -95.3301 -112.94 -95.3301c-7 0 -15 0.00976562 -22.2197 0.00976562
c-102.742 0 -133.293 38.9395 -177.803 39.9404c-3.56934 -13.7764 -16.085 -23.9502 -30.9775 -23.9502h-64c-17.6729 0 -32 14.3271 -32 32v240c0 17.6729 14.3271 32 32 32h98.7598c19.1455 16.9531 46.0137 60.6533 68.7598 83.4004
c13.667 13.667 10.1533 108.6 71.7607 108.6c57.5801 0 95.2695 -31.9355 95.2695 -104.73c0 -18.4092 -3.92969 -33.7295 -8.84961 -46.5391h36.4795c48.6025 0 85.8203 -41.5654 85.8203 -85.5801c0 -19.1504 -4.95996 -34.9902 -13.7305 -49.8408zM404.52 107.48
c21.5811 20.3838 18.6992 51.0645 5.21094 65.6191c9.44922 0 22.3594 18.9102 22.2695 37.8105c-0.0898438 18.9102 -16.71 37.8203 -37.8203 37.8203h-103.989c0 37.8193 28.3594 55.3691 28.3594 94.5391c0 23.75 0 56.7305 -47.2695 56.7305
c-18.9102 -18.9102 -9.45996 -66.1797 -37.8203 -94.54c-26.5596 -26.5703 -66.1797 -97.46 -94.54 -97.46h-10.9199v-186.17c53.6113 0 100.001 -37.8203 171.64 -37.8203h37.8203c35.5117 0 60.8203 17.1201 53.1201 65.9004
c15.2002 8.16016 26.5 36.4395 13.9395 57.5703zM88 16c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24z" />
    <glyph glyph-name="thumbs-down" unicode="&#xf165;" 
d="M466.27 222.69c8.77051 -14.8506 13.7305 -30.6904 13.7305 -49.8408c0 -44.0146 -37.2178 -85.5801 -85.8203 -85.5801h-36.4795c4.91992 -12.8096 8.84961 -28.1299 8.84961 -46.5391c0 -72.7949 -37.6895 -104.73 -95.2695 -104.73
c-61.6074 0 -58.0938 94.9326 -71.7607 108.6c-22.7461 22.7471 -49.6133 66.4473 -68.7598 83.4004h-7.05176c-5.5332 -9.56152 -15.8662 -16 -27.708 -16h-64c-17.6729 0 -32 14.3271 -32 32v240c0 17.6729 14.3271 32 32 32h64c8.11328 0 15.5146 -3.02539 21.1553 -8
h10.8447c40.9971 0 73.1953 39.9902 176.78 39.9902c7.21973 0 15.2197 0.00976562 22.2197 0.00976562c77.1172 0 111.986 -39.4229 112.94 -95.3301c13.3184 -18.4248 20.2979 -43.1221 17.3398 -66.9902c9.85352 -18.4521 13.6641 -40.3428 8.98926 -62.9893zM64 152
c13.2549 0 24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24zM394.18 135.27c21.1104 0 37.7305 18.9102 37.8203 37.8203c0.0898438 18.9004 -12.8203 37.8105 -22.2695 37.8105c13.4883 14.5547 16.3701 45.2354 -5.21094 65.6191
c12.5605 21.1309 1.26074 49.4102 -13.9395 57.5703c7.7002 48.7803 -17.6084 65.9004 -53.1201 65.9004h-37.8203c-71.6387 0 -118.028 -37.8203 -171.64 -37.8203v-186.17h10.9199c28.3604 0 67.9805 -70.8896 94.54 -97.46
c28.3604 -28.3604 18.9102 -75.6299 37.8203 -94.54c47.2695 0 47.2695 32.9805 47.2695 56.7305c0 39.1699 -28.3594 56.7197 -28.3594 94.5391h103.989z" />
    <glyph glyph-name="sun" unicode="&#xf185;" 
d="M494.2 226.1c11.2002 -7.59961 17.7998 -20.0996 17.8994 -33.6992c0 -13.4004 -6.69922 -26 -17.7998 -33.5l-59.7998 -40.5l13.7002 -71c2.5 -13.2002 -1.60059 -26.8008 -11.1006 -36.3008s-22.8994 -13.7998 -36.2998 -11.0996l-70.8994 13.7002l-40.4004 -59.9004
c-7.5 -11.0996 -20.0996 -17.7998 -33.5 -17.7998s-26 6.7002 -33.5 17.9004l-40.4004 59.8994l-70.7998 -13.7002c-13.3994 -2.59961 -26.7998 1.60059 -36.2998 11.1006s-13.7002 23.0996 -11.0996 36.2998l13.6992 71l-59.7998 40.5
c-11.0996 7.5 -17.7998 20 -17.7998 33.5s6.59961 26 17.7998 33.5996l59.7998 40.5l-13.6992 71c-2.60059 13.2002 1.59961 26.7002 11.0996 36.3008c9.5 9.59961 23 13.6992 36.2998 11.1992l70.7998 -13.6992l40.4004 59.8994c15.0996 22.2998 51.9004 22.2998 67 0
l40.4004 -59.8994l70.8994 13.6992c13 2.60059 26.6006 -1.59961 36.2002 -11.0996c9.5 -9.59961 13.7002 -23.2002 11.0996 -36.4004l-13.6992 -71zM381.3 140.5l76.7998 52.0996l-76.7998 52l17.6006 91.1006l-91 -17.6006l-51.9004 76.9004l-51.7998 -76.7998
l-91 17.5996l17.5996 -91.2002l-76.7998 -52l76.7998 -52l-17.5996 -91.1992l90.8994 17.5996l51.9004 -77l51.9004 76.9004l91 -17.6006zM256 296c57.2998 0 104 -46.7002 104 -104s-46.7002 -104 -104 -104s-104 46.7002 -104 104s46.7002 104 104 104zM256 136
c30.9004 0 56 25.0996 56 56s-25.0996 56 -56 56s-56 -25.0996 -56 -56s25.0996 -56 56 -56z" />
    <glyph glyph-name="moon" unicode="&#xf186;" 
d="M279.135 -64c-141.424 0 -256 114.64 -256 256c0 141.425 114.641 256 256 256c16.0342 -0.00292969 31.5078 -1.46875 46.7354 -4.27734c44.0205 -8.13086 53.7666 -66.8691 15.0215 -88.9189c-41.374 -23.5439 -67.4336 -67.4121 -67.4336 -115.836
c0 -83.5234 75.9238 -146.475 158.272 -130.792c43.6904 8.32129 74.5186 -42.5693 46.248 -77.4004c-47.8613 -58.9717 -120.088 -94.7754 -198.844 -94.7754zM279.135 400c-114.875 0 -208 -93.125 -208 -208s93.125 -208 208 -208
c65.2314 0 123.439 30.0361 161.575 77.0244c-111.611 -21.2568 -215.252 64.0957 -215.252 177.943c0 67.5127 36.9326 126.392 91.6934 157.555c-12.3271 2.27637 -25.0312 3.47754 -38.0166 3.47754z" />
    <glyph glyph-name="caret-square-left" unicode="&#xf191;" horiz-adv-x="448" 
d="M272 290.9v-197.801c0 -10.6992 -13 -16.0996 -20.5 -8.5l-98.2998 98.9004c-4.7002 4.7002 -4.7002 12.2002 0 16.9004l98.2998 98.8994c7.5 7.7002 20.5 2.2998 20.5 -8.39941zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352
c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
    <glyph glyph-name="dot-circle" unicode="&#xf192;" 
d="M256 392c-110.549 0 -200 -89.4678 -200 -200c0 -110.549 89.4678 -200 200 -200c110.549 0 200 89.4678 200 200c0 110.549 -89.4678 200 -200 200zM256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248z
M256 272c44.1826 0 80 -35.8174 80 -80s-35.8174 -80 -80 -80s-80 35.8174 -80 80s35.8174 80 80 80z" />
    <glyph glyph-name="building" unicode="&#xf1ad;" horiz-adv-x="448" 
d="M128 300v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12zM268 288c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40
c0 -6.59961 -5.40039 -12 -12 -12h-40zM140 192c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-40zM268 192c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40
c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-40zM192 108c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM268 96c-6.59961 0 -12 5.40039 -12 12v40
c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-40zM448 -28v-36h-448v36c0 6.59961 5.40039 12 12 12h19.5v440c0 13.2998 10.7002 24 24 24h337c13.2998 0 24 -10.7002 24 -24v-440h19.5
c6.59961 0 12 -5.40039 12 -12zM79.5 -15h112.5v67c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-67h112.5v414l-288.5 1z" />
    <glyph glyph-name="file-pdf" unicode="&#xf1c1;" horiz-adv-x="384" 
d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM298.2 127.7c10.5 -10.5 8 -38.7002 -17.5 -38.7002c-14.7998 0 -36.9004 6.7998 -55.7998 17c-21.6006 -3.59961 -46 -12.7002 -68.4004 -20.0996c-50.0996 -86.4004 -79.4004 -47 -76.0996 -31.2002
c4 20 31 35.8994 51 46.2002c10.5 18.3994 25.3994 50.5 35.3994 74.3994c-7.39941 28.6006 -11.3994 51 -7 67.1006c4.7998 17.6992 38.4004 20.2998 42.6006 -5.90039c4.69922 -15.4004 -1.5 -39.9004 -5.40039 -56c8.09961 -21.2998 19.5996 -35.7998 36.7998 -46.2998
c17.4004 2.2002 52.2002 5.5 64.4004 -6.5zM100.1 49.9004c0 -0.700195 11.4004 4.69922 30.4004 35c-5.90039 -5.5 -25.2998 -21.3008 -30.4004 -35zM181.7 240.5c-2.5 0 -2.60059 -26.9004 1.7998 -40.7998c4.90039 8.7002 5.59961 40.7998 -1.7998 40.7998zM157.3 103.9
c15.9004 6.09961 34 14.8994 54.7998 19.1992c-11.1992 8.30078 -21.7998 20.4004 -30.0996 35.5c-6.7002 -17.6992 -15 -37.7998 -24.7002 -54.6992zM288.9 108.9c3.59961 2.39941 -2.2002 10.3994 -37.3008 7.7998c32.3008 -13.7998 37.3008 -7.7998 37.3008 -7.7998z" />
    <glyph glyph-name="file-word" unicode="&#xf1c2;" horiz-adv-x="384" 
d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM268.1 192v0.200195h15.8008c7.7998 0 13.5 -7.2998 11.5996 -14.9004c-4.2998 -17 -13.7002 -54.0996 -34.5 -136c-1.2998 -5.39941 -6.09961 -9.09961 -11.5996 -9.09961h-24.7002
c-5.5 0 -10.2998 3.7998 -11.6006 9.09961c-5.2998 20.9004 -17.7998 71 -17.8994 71.4004l-2.90039 17.2998c-0.5 -5.2998 -1.5 -11.0996 -3 -17.2998l-17.8994 -71.4004c-1.30078 -5.39941 -6.10059 -9.09961 -11.6006 -9.09961h-25.2002
c-5.59961 0 -10.3994 3.7002 -11.6992 9.09961c-6.5 26.5 -25.2002 103.4 -33.2002 136c-1.7998 7.5 3.89941 14.7998 11.7002 14.7998h16.7998c5.7998 0 10.7002 -4.09961 11.7998 -9.69922c5 -25.7002 18.4004 -93.8008 19.0996 -99
c0.300781 -1.7002 0.400391 -3.10059 0.5 -4.2002c0.800781 7.5 0.400391 4.7002 24.8008 103.7c1.39941 5.2998 6.19922 9.09961 11.6992 9.09961h13.3008c5.59961 0 10.3994 -3.7998 11.6992 -9.2002c23.9004 -99.7002 22.8008 -94.3994 23.6006 -99.5
c0.299805 -1.7002 0.5 -3.09961 0.700195 -4.2998c0.599609 8.09961 0.399414 5.7998 21 103.5c1.09961 5.5 6 9.5 11.6992 9.5z" />
    <glyph glyph-name="file-excel" unicode="&#xf1c3;" horiz-adv-x="384" 
d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM260 224c9.2002 0 15 -10 10.2998 -18c-16 -27.5 -45.5996 -76.9004 -46.2998 -78l46.4004 -78c4.59961 -8 -1.10059 -18 -10.4004 -18h-28.7998c-4.40039 0 -8.5 2.40039 -10.6006 6.2998
c-22.6992 41.7998 -13.6992 27.5 -28.5996 57.7002c-5.59961 -12.7002 -6.90039 -17.7002 -28.5996 -57.7002c-2.10059 -3.89941 -6.10059 -6.2998 -10.5 -6.2998h-28.9004c-9.2998 0 -15.0996 10 -10.4004 18l46.3008 78l-46.3008 78c-4.59961 8 1.10059 18 10.4004 18
h28.9004c4.39941 0 8.5 -2.40039 10.5996 -6.2998c21.7002 -40.4004 14.7002 -28.6006 28.5996 -57.7002c6.40039 15.2998 10.6006 24.5996 28.6006 57.7002c2.09961 3.89941 6.09961 6.2998 10.5 6.2998h28.7998z" />
    <glyph glyph-name="file-powerpoint" unicode="&#xf1c4;" horiz-adv-x="384" 
d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM120 44v168c0 6.59961 5.40039 12 12 12h69.2002c36.7002 0 62.7998 -27 62.7998 -66.2998c0 -74.2998 -68.7002 -66.5 -95.5 -66.5v-47.2002c0 -6.59961 -5.40039 -12 -12 -12h-24.5c-6.59961 0 -12 5.40039 -12 12z
M168.5 131.4h23c7.90039 0 13.9004 2.39941 18.0996 7.19922c8.5 9.80078 8.40039 28.5 0.100586 37.8008c-4.10059 4.59961 -9.90039 7 -17.4004 7h-23.8994v-52h0.0996094z" />
    <glyph glyph-name="file-image" unicode="&#xf1c5;" horiz-adv-x="384" 
d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM80 32v64l39.5 39.5c4.7002 4.7002 12.2998 4.7002 17 0l39.5 -39.5l87.5 87.5c4.7002 4.7002 12.2998 4.7002 17 0l23.5 -23.5v-128h-224zM128 272c26.5 0 48 -21.5 48 -48s-21.5 -48 -48 -48s-48 21.5 -48 48
s21.5 48 48 48z" />
    <glyph glyph-name="file-archive" unicode="&#xf1c6;" horiz-adv-x="384" 
d="M128.3 288h32v-32h-32v32zM192.3 384v-32h-32v32h32zM128.3 352h32v-32h-32v32zM192.3 320v-32h-32v32h32zM369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1
c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM256 396.1v-76.0996h76.0996zM336 -16v288h-104c-13.2998 0 -24 10.7002 -24 24v104h-48.2998v-16h-32v16h-79.7002v-416h288zM194.2 182.3l17.2998 -87.7002c6.40039 -32.3994 -18.4004 -62.5996 -51.5 -62.5996
c-33.2002 0 -58 30.4004 -51.4004 62.9004l19.7002 97.0996v32h32v-32h22.1006c5.7998 0 10.6992 -4.09961 11.7998 -9.7002zM160.3 57.9004c17.9004 0 32.4004 12.0996 32.4004 27c0 14.8994 -14.5 27 -32.4004 27c-17.8994 0 -32.3994 -12.1006 -32.3994 -27
c0 -14.9004 14.5 -27 32.3994 -27zM192.3 256v-32h-32v32h32z" />
    <glyph glyph-name="file-audio" unicode="&#xf1c7;" horiz-adv-x="384" 
d="M369.941 350.059c8.68848 -8.68848 14.0586 -20.6943 14.0586 -33.9404v-332.118c0 -26.5098 -21.4902 -48 -48 -48h-288c-26.5098 0 -48 21.4902 -48 48v416c0 26.5098 21.4902 48 48 48h204.118c13.2461 0 25.252 -5.37012 33.9404 -14.0586zM332.118 320
l-76.1182 76.1182v-76.1182h76.1182zM48 -16h288v288h-104c-13.2549 0 -24 10.7451 -24 24v104h-160v-416zM192 60.0244c0 -10.6914 -12.9258 -16.0459 -20.4854 -8.48535l-35.5146 35.9746h-28c-6.62695 0 -12 5.37305 -12 12v56c0 6.62695 5.37305 12 12 12h28
l35.5146 36.9473c7.56055 7.56055 20.4854 2.20605 20.4854 -8.48535v-135.951zM233.201 107.154c9.05078 9.29688 9.05957 24.1328 0.000976562 33.4385c-22.1494 22.752 12.2344 56.2461 34.3945 33.4814c27.1982 -27.9404 27.2119 -72.4443 0.000976562 -100.401
c-21.793 -22.3857 -56.9463 10.3154 -34.3965 33.4814z" />
    <glyph glyph-name="file-video" unicode="&#xf1c8;" horiz-adv-x="384" 
d="M369.941 350.059c8.68848 -8.68848 14.0586 -20.6943 14.0586 -33.9404v-332.118c0 -26.5098 -21.4902 -48 -48 -48h-288c-26.5098 0 -48 21.4902 -48 48v416c0 26.5098 21.4902 48 48 48h204.118c13.2461 0 25.252 -5.37012 33.9404 -14.0586zM332.118 320
l-76.1182 76.1182v-76.1182h76.1182zM48 -16h288v288h-104c-13.2549 0 -24 10.7451 -24 24v104h-160v-416zM276.687 195.303c10.0049 10.0049 27.3135 2.99707 27.3135 -11.3135v-111.976c0 -14.2939 -17.2959 -21.332 -27.3135 -11.3135l-52.6865 52.6738v-37.374
c0 -11.0459 -8.9541 -20 -20 -20h-104c-11.0459 0 -20 8.9541 -20 20v104c0 11.0459 8.9541 20 20 20h104c11.0459 0 20 -8.9541 20 -20v-37.374z" />
    <glyph glyph-name="file-code" unicode="&#xf1c9;" horiz-adv-x="384" 
d="M149.9 98.9004c3.5 -3.30078 3.69922 -8.90039 0.399414 -12.4004l-17.3994 -18.5996c-1.60059 -1.80078 -4 -2.80078 -6.40039 -2.80078c-2.2002 0 -4.40039 0.900391 -6 2.40039l-57.7002 54.0996c-3.7002 3.40039 -3.7002 9.30078 0 12.8008l57.7002 54.0996
c3.40039 3.2998 9 3.2002 12.4004 -0.400391l17.3994 -18.5996l0.200195 -0.200195c3.2002 -3.59961 2.7998 -9.2002 -0.799805 -12.3994l-32.7998 -28.9004l32.7998 -28.9004zM369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288
c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM256 396.1v-76.0996h76.0996zM336 -16v288h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416h288zM209.6 234l24.4004 -7
c4.7002 -1.2998 7.40039 -6.2002 6 -10.9004l-54.7002 -188.199c-1.2998 -4.60059 -6.2002 -7.40039 -10.8994 -6l-24.4004 7.09961c-4.7002 1.2998 -7.40039 6.2002 -6 10.9004l54.7002 188.1c1.39941 4.7002 6.2002 7.40039 10.8994 6zM234.1 157.1
c-3.5 3.30078 -3.69922 8.90039 -0.399414 12.4004l17.3994 18.5996c3.30078 3.60059 8.90039 3.7002 12.4004 0.400391l57.7002 -54.0996c3.7002 -3.40039 3.7002 -9.30078 0 -12.8008l-57.7002 -54.0996c-3.5 -3.2998 -9.09961 -3.09961 -12.4004 0.400391
l-17.3994 18.5996l-0.200195 0.200195c-3.2002 3.59961 -2.7998 9.2002 0.799805 12.3994l32.7998 28.9004l-32.7998 28.9004z" />
    <glyph glyph-name="life-ring" unicode="&#xf1cd;" 
d="M256 -56c-136.967 0 -248 111.033 -248 248s111.033 248 248 248s248 -111.033 248 -248s-111.033 -248 -248 -248zM152.602 20.7197c63.2178 -38.3184 143.579 -38.3184 206.797 0l-53.4111 53.4111c-31.8467 -13.5215 -68.168 -13.5059 -99.9746 0zM336 192
c0 44.1123 -35.8877 80 -80 80s-80 -35.8877 -80 -80s35.8877 -80 80 -80s80 35.8877 80 80zM427.28 88.6016c38.3184 63.2178 38.3184 143.579 0 206.797l-53.4111 -53.4111c13.5215 -31.8467 13.5049 -68.168 0 -99.9746zM359.397 363.28
c-63.2168 38.3184 -143.578 38.3184 -206.796 0l53.4111 -53.4111c31.8457 13.5215 68.167 13.5049 99.9736 0zM84.7197 295.398c-38.3184 -63.2178 -38.3184 -143.579 0 -206.797l53.4111 53.4111c-13.5215 31.8467 -13.5059 68.168 0 99.9746z" />
    <glyph glyph-name="paper-plane" unicode="&#xf1d8;" 
d="M440 441.5c34.5996 19.9004 77.5996 -8.7998 71.5 -48.9004l-59.4004 -387.199c-2.2998 -14.5 -11.0996 -27.3008 -23.8994 -34.5c-7.2998 -4.10059 -15.4004 -6.2002 -23.6006 -6.2002c-6.19922 0 -12.3994 1.2002 -18.2998 3.59961l-111.899 46.2002l-43.8008 -59.0996
c-27.3994 -36.9004 -86.5996 -17.8008 -86.5996 28.5996v84.4004l-114.3 47.2998c-36.7998 15.0996 -40.1006 66 -5.7002 85.8994zM192 -16l36.5996 49.5l-36.5996 15.0996v-64.5996zM404.6 12.7002l59.4004 387.3l-416 -240l107.8 -44.5996l211.5 184.3
c14.2002 12.2998 34.4004 -5.7002 23.7002 -21.2002l-140.2 -202.3z" />
    <glyph glyph-name="futbol" unicode="&#xf1e3;" horiz-adv-x="496" 
d="M483.8 268.6c42.2998 -130.199 -29 -270.1 -159.2 -312.399c-25.5 -8.2998 -51.2998 -12.2002 -76.6992 -12.2002c-104.5 0 -201.7 66.5996 -235.7 171.4c-42.2998 130.199 29 270.1 159.2 312.399c25.5 8.2998 51.2998 12.2002 76.6992 12.2002
c104.5 0 201.7 -66.5996 235.7 -171.4zM409.3 74.9004c6.10059 8.39941 12.1006 16.8994 16.7998 26.1992c14.3008 28.1006 21.5 58.5 21.7002 89.2002l-38.8994 36.4004l-71.1006 -22.1006l-24.3994 -75.1992l43.6992 -60.9004zM409.3 310.3
c-24.5 33.4004 -58.7002 58.4004 -97.8994 71.4004l-47.4004 -26.2002v-73.7998l64.2002 -46.5l70.7002 22zM184.9 381.6c-39.9004 -13.2998 -73.5 -38.5 -97.8008 -71.8994l10.1006 -52.5l70.5996 -22l64.2002 46.5v73.7998zM139 68.5l43.5 61.7002l-24.2998 74.2998
l-71.1006 22.2002l-39 -36.4004c0.5 -55.7002 23.4004 -95.2002 37.8008 -115.3zM187.2 1.5c64.0996 -20.4004 115.5 -1.7998 121.7 0l22.3994 48.0996l-44.2998 61.7002h-78.5996l-43.6006 -61.7002z" />
    <glyph glyph-name="newspaper" unicode="&#xf1ea;" horiz-adv-x="576" 
d="M552 384c13.2549 0 24 -10.7451 24 -24v-336c0 -13.2549 -10.7451 -24 -24 -24h-496c-30.9277 0 -56 25.0723 -56 56v272c0 13.2549 10.7451 24 24 24h42.752c6.60547 18.623 24.3896 32 45.248 32h440zM48 56c0 -4.41113 3.58887 -8 8 -8s8 3.58887 8 8v248h-16v-248z
M528 48v288h-416v-280c0 -2.7168 -0.204102 -5.38574 -0.578125 -8h416.578zM172 168c-6.62695 0 -12 5.37305 -12 12v96c0 6.62695 5.37305 12 12 12h136c6.62695 0 12 -5.37305 12 -12v-96c0 -6.62695 -5.37305 -12 -12 -12h-136zM200 248v-40h80v40h-80zM160 108v24
c0 6.62695 5.37305 12 12 12h136c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-136c-6.62695 0 -12 5.37305 -12 12zM352 108v24c0 6.62695 5.37305 12 12 12h104c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-104
c-6.62695 0 -12 5.37305 -12 12zM352 252v24c0 6.62695 5.37305 12 12 12h104c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-104c-6.62695 0 -12 5.37305 -12 12zM352 180v24c0 6.62695 5.37305 12 12 12h104c6.62695 0 12 -5.37305 12 -12v-24
c0 -6.62695 -5.37305 -12 -12 -12h-104c-6.62695 0 -12 5.37305 -12 12z" />
    <glyph glyph-name="bell-slash" unicode="&#xf1f6;" horiz-adv-x="640" 
d="M633.99 -23.0195c6.91016 -5.52051 8.01953 -15.5908 2.5 -22.4902l-10 -12.4902c-5.53027 -6.88965 -15.5898 -8.00977 -22.4902 -2.49023l-598 467.51c-6.90039 5.52051 -8.01953 15.5908 -2.49023 22.4902l10 12.4902
c5.52051 6.90039 15.5898 8.00977 22.4902 2.49023zM163.53 80h182.84l61.3994 -48h-279.659c-19.1201 0 -31.9902 15.5996 -32.1006 32c-0.0498047 7.5498 2.61035 15.2598 8.61035 21.71c18.3701 19.7402 51.5703 49.6904 54.8398 140.42l45.4697 -35.5498
c-6.91992 -54.7803 -24.6895 -88.5498 -41.3994 -110.58zM320 352c-23.3496 0 -45 -7.17969 -62.9404 -19.4004l-38.1699 29.8408c19.6807 15.7793 43.1104 27.3096 69.1299 32.7197v20.8398c0 17.6699 14.3203 32 31.9805 32s31.9805 -14.3301 31.9805 -32v-20.8398
c73.46 -15.2598 127.939 -77.46 127.939 -155.16c0 -41.3604 6.03027 -70.7197 14.3398 -92.8496l-59.5293 46.54c-1.63086 13.96 -2.77051 28.8896 -2.79004 45.7295c0 0.200195 0.0595703 0.379883 0.0595703 0.580078c0 61.8604 -50.1396 112 -112 112zM320 -64
c-35.3203 0 -63.9697 28.6504 -63.9697 64h127.939c0 -35.3496 -28.6494 -64 -63.9697 -64z" />
    <glyph glyph-name="copyright" unicode="&#xf1f9;" 
d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM256 -8c110.549 0 200 89.4678 200 200c0 110.549 -89.4678 200 -200 200c-110.549 0 -200 -89.4688 -200 -200c0 -110.549 89.4678 -200 200 -200z
M363.351 93.0645c-9.61328 -9.71289 -45.5293 -41.3965 -104.064 -41.3965c-82.4297 0 -140.484 61.4248 -140.484 141.567c0 79.1514 60.2754 139.4 139.763 139.4c55.5303 0 88.7373 -26.6201 97.5928 -34.7783c2.37793 -2.1875 3.86914 -5.3252 3.86914 -8.80762
c0 -2.39746 -0.717773 -4.64258 -1.93359 -6.51465l-18.1543 -28.1133c-3.8418 -5.9502 -11.9668 -7.28223 -17.499 -2.9209c-8.5957 6.77637 -31.8145 22.5381 -61.708 22.5381c-48.3037 0 -77.916 -35.3301 -77.916 -80.082c0 -41.5889 26.8877 -83.6924 78.2764 -83.6924
c32.6572 0 56.8428 19.0391 65.7266 27.2256c5.26953 4.85645 13.5957 4.03906 17.8193 -1.73828l19.8652 -27.1699c1.45996 -1.98145 2.32422 -4.42969 2.32422 -7.07715c0 -3.28809 -1.32422 -6.2793 -3.47656 -8.44043z" />
    <glyph glyph-name="closed-captioning" unicode="&#xf20a;" 
d="M464 384c26.5 0 48 -21.5 48 -48v-288c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h416zM458 48c3.2998 0 6 2.7002 6 6v276c0 3.2998 -2.7002 6 -6 6h-404c-3.2998 0 -6 -2.7002 -6 -6v-276c0 -3.2998 2.7002 -6 6 -6h404z
M246.9 133.7c1.69922 -2.40039 1.5 -5.60059 -0.5 -7.7002c-53.6006 -56.7998 -172.801 -32.0996 -172.801 67.9004c0 97.2998 121.7 119.5 172.5 70.0996c2.10059 -2 2.5 -3.2002 1 -5.7002l-17.5 -30.5c-1.89941 -3.09961 -6.19922 -4 -9.09961 -1.7002
c-40.7998 32 -94.5996 14.9004 -94.5996 -31.1992c0 -48 51 -70.5 92.1992 -32.6006c2.80078 2.5 7.10059 2.10059 9.2002 -0.899414zM437.3 133.7c1.7002 -2.40039 1.5 -5.60059 -0.5 -7.7002c-53.5996 -56.9004 -172.8 -32.0996 -172.8 67.9004
c0 97.2998 121.7 119.5 172.5 70.0996c2.09961 -2 2.5 -3.2002 1 -5.7002l-17.5 -30.5c-1.90039 -3.09961 -6.2002 -4 -9.09961 -1.7002c-40.8008 32 -94.6006 14.9004 -94.6006 -31.1992c0 -48 51 -70.5 92.2002 -32.6006c2.7998 2.5 7.09961 2.10059 9.2002 -0.899414z
" />
    <glyph glyph-name="object-group" unicode="&#xf247;" 
d="M500 320h-12v-256h12c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v12h-320v-12c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h12v256h-12
c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-12h320v12c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12zM448 384v-32h32v32h-32zM32 384v-32h32v32h-32zM64 0v32
h-32v-32h32zM480 0v32h-32v-32h32zM440 64v256h-12c-6.62695 0 -12 5.37305 -12 12v12h-320v-12c0 -6.62695 -5.37305 -12 -12 -12h-12v-256h12c6.62695 0 12 -5.37305 12 -12v-12h320v12c0 6.62695 5.37305 12 12 12h12zM404 256c6.62695 0 12 -5.37207 12 -12v-168
c0 -6.62793 -5.37305 -12 -12 -12h-200c-6.62695 0 -12 5.37207 -12 12v52h-84c-6.62695 0 -12 5.37207 -12 12v168c0 6.62793 5.37305 12 12 12h200c6.62695 0 12 -5.37207 12 -12v-52h84zM136 280v-112h144v112h-144zM376 104v112h-56v-76
c0 -6.62793 -5.37305 -12 -12 -12h-76v-24h144z" />
    <glyph glyph-name="object-ungroup" unicode="&#xf248;" horiz-adv-x="576" 
d="M564 224h-12v-160h12c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v12h-224v-12c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h12v24h-88v-12
c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h12v160h-12c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-12h224v12c0 6.62695 5.37305 12 12 12h72
c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12h-12v-24h88v12c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12zM352 384v-32h32v32h-32zM352 128v-32h32v32h-32zM64 96v32h-32v-32h32zM64 352v32
h-32v-32h32zM96 136h224v12c0 6.62695 5.37305 12 12 12h12v160h-12c-6.62695 0 -12 5.37305 -12 12v12h-224v-12c0 -6.62695 -5.37305 -12 -12 -12h-12v-160h12c6.62695 0 12 -5.37305 12 -12v-12zM224 0v32h-32v-32h32zM504 64v160h-12c-6.62695 0 -12 5.37305 -12 12v12
h-88v-88h12c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v12h-88v-24h12c6.62695 0 12 -5.37305 12 -12v-12h224v12c0 6.62695 5.37305 12 12 12h12zM544 0v32h-32v-32h32zM544 256v32h-32v-32h32z" />
    <glyph glyph-name="sticky-note" unicode="&#xf249;" horiz-adv-x="448" 
d="M448 99.8936c0 -13.2451 -5.37012 -25.252 -14.0586 -33.9404l-83.8828 -83.8818c-8.68848 -8.68848 -20.6943 -14.0596 -33.9404 -14.0596h-268.118c-26.5098 0 -48 21.4902 -48 48v351.988c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48v-268.106z
M320 19.8936l76.1182 76.1182h-76.1182v-76.1182zM400 368h-352v-351.988h224v104c0 13.2549 10.7451 24 24 24h104v223.988z" />
    <glyph glyph-name="clone" unicode="&#xf24d;" 
d="M464 448c26.5098 0 48 -21.4902 48 -48v-320c0 -26.5098 -21.4902 -48 -48 -48h-48v-48c0 -26.5098 -21.4902 -48 -48 -48h-320c-26.5098 0 -48 21.4902 -48 48v320c0 26.5098 21.4902 48 48 48h48v48c0 26.5098 21.4902 48 48 48h320zM362 -16c3.31152 0 6 2.68848 6 6
v42h-224c-26.5098 0 -48 21.4902 -48 48v224h-42c-3.31152 0 -6 -2.68848 -6 -6v-308c0 -3.31152 2.68848 -6 6 -6h308zM458 80c3.31152 0 6 2.68848 6 6v308c0 3.31152 -2.68848 6 -6 6h-308c-3.31152 0 -6 -2.68848 -6 -6v-308c0 -3.31152 2.68848 -6 6 -6h308z" />
    <glyph glyph-name="hourglass" unicode="&#xf254;" horiz-adv-x="384" 
d="M368 400c0 -80.0996 -31.8984 -165.619 -97.1797 -208c64.9912 -42.1934 97.1797 -127.436 97.1797 -208h4c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-360c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h4
c0 80.0996 31.8994 165.619 97.1797 208c-64.9912 42.1934 -97.1797 127.436 -97.1797 208h-4c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h360c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-4zM64 400
c0 -101.621 57.3066 -184 128 -184s128 82.3799 128 184h-256zM320 -16c0 101.62 -57.3076 184 -128 184s-128 -82.3799 -128 -184h256z" />
    <glyph glyph-name="hand-rock" unicode="&#xf255;" 
d="M408.864 368.948c48.8213 20.751 103.136 -15.0723 103.136 -67.9111v-114.443c0 -15.3955 -3.08887 -30.3906 -9.18262 -44.5674l-42.835 -99.6562c-4.99707 -11.625 -3.98242 -18.8574 -3.98242 -42.3701c0 -17.6729 -14.3271 -32 -32 -32h-252
c-17.6729 0 -32 14.3271 -32 32c0 27.3301 1.1416 29.2012 -3.11035 32.9033l-97.71 85.0811c-24.8994 21.6797 -39.1797 52.8926 -39.1797 85.6338v56.9531c0 47.4277 44.8457 82.0215 91.0459 71.1807c1.96094 55.751 63.5107 87.8262 110.671 60.8057
c29.1895 31.0713 78.8604 31.4473 108.334 -0.0214844c32.7051 18.6846 76.4121 10.3096 98.8135 -23.5879zM464 186.594v114.445c0 34.29 -52 33.8232 -52 0.676758c0 -8.83594 -7.16309 -16 -16 -16h-7c-8.83691 0 -16 7.16406 -16 16v26.751
c0 34.457 -52 33.707 -52 0.676758v-27.4287c0 -8.83594 -7.16309 -16 -16 -16h-7c-8.83691 0 -16 7.16406 -16 16v40.4658c0 34.3525 -52 33.8115 -52 0.677734v-41.1436c0 -8.83594 -7.16406 -16 -16 -16h-7c-8.83594 0 -16 7.16406 -16 16v26.751
c0 34.4023 -52 33.7744 -52 0.676758v-116.571c0 -8.83105 -7.17773 -15.9961 -16.0078 -15.9961c-4.0166 0 -7.68848 1.48242 -10.499 3.92969l-7 6.09473c-3.37012 2.93457 -5.49316 7.25293 -5.49316 12.0674v41.2275c0 34.2148 -52 33.8857 -52 0.677734v-56.9531
c0 -18.8555 8.27441 -36.874 22.7002 -49.4365l97.71 -85.0801c12.4502 -10.8398 19.5898 -26.4463 19.5898 -42.8164v-10.2861h220v7.07617c0 13.21 2.65332 26.0791 7.88281 38.25l42.835 99.6553c3.37891 7.82715 5.28223 16.501 5.28223 25.5625v0.0498047z" />
    <glyph glyph-name="hand-paper" unicode="&#xf256;" horiz-adv-x="448" 
d="M372.57 335.359c39.9062 5.63281 75.4297 -25.7393 75.4297 -66.3594v-131.564c-0.00292969 -15.7393 -1.80566 -30.9482 -5.19531 -45.666l-30.1836 -130.958c-3.34668 -14.5234 -16.2783 -24.8125 -31.1816 -24.8125h-222.897
c-10.7539 0 -20.2588 5.28613 -26.0615 13.4316l-119.97 168.415c-21.2441 29.8203 -14.8047 71.3574 14.5498 93.1533c18.7754 13.9395 42.1309 16.2979 62.083 8.87109v126.13c0 44.0547 41.125 75.5439 82.4053 64.9834c23.8926 48.1963 92.3535 50.2471 117.982 0.74707
c42.5186 11.1445 83.0391 -21.9346 83.0391 -65.5469v-10.8242zM399.997 137.437l-0.00195312 131.563c0 24.9492 -36.5703 25.5508 -36.5703 -0.691406v-76.3086c0 -8.83691 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16309 -16 16v154.184
c0 25.501 -36.5703 26.3633 -36.5703 0.691406v-154.875c0 -8.83691 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16309 -16 16v188.309c0 25.501 -36.5703 26.3545 -36.5703 0.691406v-189c0 -8.83691 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16309 -16 16
v153.309c0 25.501 -36.5713 26.3359 -36.5713 0.691406v-206.494c0 -15.5703 -20.0352 -21.9092 -29.0303 -9.2832l-27.1279 38.0791c-14.3711 20.1709 -43.833 -2.33496 -29.3945 -22.6045l115.196 -161.697h201.92l27.3252 118.551
c2.63086 11.417 3.96484 23.1553 3.96484 34.8857z" />
    <glyph glyph-name="hand-scissors" unicode="&#xf257;" 
d="M256 -32c-44.9561 0 -77.3428 43.2627 -64.0244 85.8535c-21.6484 13.71 -34.0156 38.7617 -30.3408 65.0068h-87.6348c-40.8037 0 -74 32.8105 -74 73.1406c0 40.3291 33.1963 73.1396 74 73.1396l94 -9.14062l-78.8496 18.6787
c-38.3076 14.7422 -57.04 57.4707 -41.9424 95.1123c15.0303 37.4736 57.7549 55.7803 95.6416 41.2012l144.929 -55.7568c24.9551 30.5566 57.8086 43.9932 92.2178 24.7324l97.999 -54.8525c20.9746 -11.7393 34.0049 -33.8457 34.0049 -57.6904v-205.702
c0 -30.7422 -21.4404 -57.5576 -51.7979 -64.5537l-118.999 -27.4268c-4.97168 -1.14648 -10.0889 -1.72949 -15.2031 -1.72949zM256 16.0127l70 -0.000976562c1.52441 0 2.99707 0.174805 4.42285 0.501953l119.001 27.4277
c8.58203 1.97754 14.5762 9.29102 14.5762 17.7812v205.701c0 6.4873 -3.62109 12.542 -9.44922 15.8047l-98 54.8545c-8.13965 4.55566 -18.668 2.61914 -24.4873 -4.50781l-21.7646 -26.6475c-2.93457 -3.59375 -7.40332 -5.87305 -12.4004 -5.87305
c-2.02246 0 -3.95703 0.375977 -5.73828 1.06152l-166.549 64.0908c-32.6543 12.5664 -50.7744 -34.5771 -19.2227 -46.7168l155.357 -59.7852c6 -2.30859 10.2539 -8.12402 10.2539 -14.9326v-11.6328c0 -8.83691 -7.16309 -16 -16 -16h-182
c-34.375 0 -34.4297 -50.2803 0 -50.2803h182c8.83691 0 16 -7.16309 16 -16v-6.85645c0 -8.83691 -7.16309 -16 -16 -16h-28c-25.1221 0 -25.1592 -36.5674 0 -36.5674h28c8.83691 0 16 -7.16211 16 -16v-6.85547c0 -8.83691 -7.16309 -16 -16 -16
c-25.1201 0 -25.1602 -36.5674 0 -36.5674z" />
    <glyph glyph-name="hand-lizard" unicode="&#xf258;" horiz-adv-x="576" 
d="M556.686 157.458c12.6357 -19.4863 19.3145 -42.0615 19.3145 -65.2871v-124.171h-224v71.582l-99.751 38.7871c-2.7832 1.08203 -5.70996 1.63086 -8.69727 1.63086h-131.552c-30.8789 0 -56 25.1211 -56 56c0 48.5234 39.4766 88 88 88h113.709l18.333 48h-196.042
c-44.1123 0 -80 35.8877 -80 80v8c0 30.8779 25.1211 56 56 56h293.917c24.5 0 47.084 -12.2725 60.4111 -32.8291zM528 16v76.1709c0 0.0166016 -0.0439453 0.106445 -0.0439453 0.12207c0 14.3945 -4.24219 27.8057 -11.5439 39.0498l-146.358 225.715
c-4.44336 6.85254 -11.9707 10.9424 -20.1367 10.9424h-293.917c-4.41113 0 -8 -3.58887 -8 -8v-8c0 -17.6445 14.3555 -32 32 -32h213.471c25.2021 0 42.626 -25.293 33.6299 -48.8457l-24.5518 -64.2812c-7.05371 -18.4658 -25.0732 -30.873 -44.8398 -30.873h-113.709
c-22.0557 0 -40 -17.9443 -40 -40c0 -4.41113 3.58887 -8 8 -8h131.552c0.0175781 0 0.0712891 -0.0273438 0.0888672 -0.0273438c9.16992 0 17.9404 -1.72461 26.0039 -4.86621l99.752 -38.7881c18.5898 -7.22852 30.6035 -24.7881 30.6035 -44.7363v-23.582h128z" />
    <glyph glyph-name="hand-spock" unicode="&#xf259;" 
d="M501.03 331.824c6.92773 -11.1826 10.9697 -24.4053 10.9697 -38.5146c0 -5.92676 -0.706055 -11.6885 -2.03809 -17.208l-57.623 -241.963c-13.2236 -56.1904 -63.707 -98.1387 -123.908 -98.1387h-0.352539h-107.455
c-0.0761719 0 -0.193359 0.00195312 -0.270508 0.00195312c-40.9248 0 -78.1475 15.9814 -105.761 42.0391l-91.3652 85.9766c-14.3076 13.4434 -23.2246 32.5547 -23.2246 53.7168c0 19.5254 7.61035 37.2861 20.0254 50.4766
c5.31836 5.66406 29.875 29.3926 68.1152 21.8477l-24.3594 82.1973c-1.97363 6.64844 -2.97656 13.6836 -2.97656 20.9688c0 38.6953 29.8926 70.4639 67.8262 73.4531c-0.246094 2.45117 -0.34082 4.85547 -0.34082 7.37207c0 34.4199 23.585 63.376 55.4619 71.5752
c43.248 10.9785 80.5645 -17.7012 89.6602 -53.0723l13.6836 -53.207l4.64648 22.6602c6.99023 33.5186 36.6826 58.8037 72.2373 58.916c8.73438 0 56.625 -3.26953 70.7383 -54.0801c15.0664 0.710938 46.9199 -3.50977 66.3105 -35.0176zM463.271 287.219
c7.86914 32.9844 -42.1211 45.2695 -50.0859 11.9219l-24.8008 -104.146c-4.38867 -18.4141 -31.7783 -11.8926 -28.0557 6.2168l28.5479 139.166c7.39844 36.0703 -43.3076 45.0703 -50.1182 11.9629l-31.791 -154.971
c-3.54883 -17.3086 -28.2832 -18.0469 -32.7109 -0.804688l-47.3262 184.035c-8.43359 32.8105 -58.3691 20.2676 -49.8652 -12.8359l42.4414 -165.039c4.81641 -18.7207 -23.3711 -26.9121 -28.9648 -8.00781l-31.3438 105.779
c-9.6875 32.6465 -59.1191 18.2578 -49.3867 -14.625l36.0137 -121.539c6.59375 -22.2441 10.1777 -45.7803 10.1777 -70.1523c0 -6.54297 -8.05664 -10.9355 -13.4824 -5.82617l-51.123 48.1074c-24.7852 23.4082 -60.0527 -14.1875 -35.2793 -37.4902l91.3691 -85.9805
c19.0469 -17.9736 44.75 -28.998 72.9795 -28.998h0.157227h107.455c0.0732422 0 0.138672 0.0429688 0.212891 0.0429688c37.5791 0 69.1016 26.1416 77.3564 61.2168z" />
    <glyph glyph-name="hand-pointer" unicode="&#xf25a;" horiz-adv-x="448" 
d="M358.182 268.639c43.1934 16.6348 89.8184 -15.7949 89.8184 -62.6387v-84c-0.000976562 -5.24023 -0.600586 -10.3037 -1.72754 -15.2041l-27.4297 -118.999c-6.98242 -30.2969 -33.7549 -51.7969 -64.5566 -51.7969h-178.286
c-21.2588 0 -41.3682 10.4102 -53.791 27.8457l-109.699 154.001c-21.2432 29.8193 -14.8047 71.3574 14.5498 93.1523c18.8115 13.9658 42.1748 16.2822 62.083 8.87207v161.129c0 36.9443 29.7363 67 66.2861 67s66.2861 -30.0557 66.2861 -67v-73.6338
c20.4131 2.85742 41.4678 -3.94238 56.5947 -19.6289c27.1934 12.8467 60.3799 5.66992 79.8721 -19.0986zM80.9854 168.303c-14.4004 20.2119 -43.8008 -2.38281 -29.3945 -22.6055l109.712 -154c3.43457 -4.81934 8.92871 -7.69727 14.6973 -7.69727h178.285
c8.49219 0 15.8037 5.99414 17.7822 14.5762l27.4297 119.001c0.333008 1.44629 0.501953 2.93457 0.501953 4.42285v84c0 25.1602 -36.5713 25.1211 -36.5713 0c0 -8.83594 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16406 -16 16v21
c0 25.1602 -36.5713 25.1201 -36.5713 0v-21c0 -8.83594 -7.16309 -16 -16 -16h-6.85938c-8.83691 0 -16 7.16406 -16 16v35c0 25.1602 -36.5703 25.1201 -36.5703 0v-35c0 -8.83594 -7.16309 -16 -16 -16h-6.85742c-8.83691 0 -16 7.16406 -16 16v175
c0 25.1602 -36.5713 25.1201 -36.5713 0v-241.493c0 -15.5703 -20.0352 -21.9092 -29.0303 -9.2832zM176.143 48v96c0 8.83691 6.26855 16 14 16h6c7.73242 0 14 -7.16309 14 -16v-96c0 -8.83691 -6.26758 -16 -14 -16h-6c-7.73242 0 -14 7.16309 -14 16zM251.571 48v96
c0 8.83691 6.26758 16 14 16h6c7.73145 0 14 -7.16309 14 -16v-96c0 -8.83691 -6.26855 -16 -14 -16h-6c-7.73242 0 -14 7.16309 -14 16zM327 48v96c0 8.83691 6.26758 16 14 16h6c7.73242 0 14 -7.16309 14 -16v-96c0 -8.83691 -6.26758 -16 -14 -16h-6
c-7.73242 0 -14 7.16309 -14 16z" />
    <glyph glyph-name="hand-peace" unicode="&#xf25b;" horiz-adv-x="448" 
d="M362.146 256.024c42.5908 13.3184 85.8535 -19.0684 85.8535 -64.0244l-0.0117188 -70.001c-0.000976562 -5.24023 -0.600586 -10.3027 -1.72949 -15.2031l-27.4268 -118.999c-6.99707 -30.3564 -33.8105 -51.7969 -64.5547 -51.7969h-205.702
c-23.8447 0 -45.9502 13.0303 -57.6904 34.0059l-54.8525 97.999c-19.2607 34.4092 -5.82422 67.2617 24.7324 92.2178l-55.7568 144.928c-14.5791 37.8867 3.72754 80.6113 41.2012 95.6416c37.6406 15.0977 80.3691 -3.63477 95.1123 -41.9424l18.6787 -78.8496
l-9.14062 94c0 40.8037 32.8096 74 73.1396 74s73.1406 -33.1963 73.1406 -74v-87.6348c26.2451 3.6748 51.2959 -8.69238 65.0068 -30.3408zM399.987 122l-0.000976562 70c0 25.1602 -36.5674 25.1201 -36.5674 0c0 -8.83691 -7.16309 -16 -16 -16h-6.85547
c-8.83789 0 -16 7.16309 -16 16v28c0 25.1592 -36.5674 25.1221 -36.5674 0v-28c0 -8.83691 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16309 -16 16v182c0 34.4297 -50.2803 34.375 -50.2803 0v-182c0 -8.83691 -7.16309 -16 -16 -16h-11.6328
c-6.80859 0 -12.624 4.25391 -14.9326 10.2539l-59.7842 155.357c-12.1396 31.5518 -59.2842 13.4326 -46.7168 -19.2227l64.0898 -166.549c0.685547 -1.78125 1.07812 -3.71875 1.07812 -5.74121c0 -4.99707 -2.2959 -9.46289 -5.88965 -12.3975l-26.6475 -21.7646
c-7.12695 -5.81934 -9.06445 -16.3467 -4.50781 -24.4873l54.8535 -98c3.26367 -5.82812 9.31934 -9.44922 15.8057 -9.44922h205.701c8.49121 0 15.8037 5.99414 17.7812 14.5762l27.4277 119.001c0.333008 1.44629 0.501953 2.93457 0.501953 4.42285z" />
    <glyph glyph-name="registered" unicode="&#xf25d;" 
d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM256 -8c110.549 0 200 89.4678 200 200c0 110.549 -89.4678 200 -200 200c-110.549 0 -200 -89.4688 -200 -200c0 -110.549 89.4678 -200 200 -200z
M366.442 73.791c4.40332 -7.99219 -1.37012 -17.791 -10.5107 -17.791h-42.8096c-0.00488281 0 -0.000976562 -0.0126953 -0.00585938 -0.0126953c-4.58594 0 -8.57422 2.58301 -10.5869 6.37305l-47.5156 89.3027h-31.958v-83.6631c0 -6.61719 -5.38281 -12 -12 -12
h-38.5674c-6.61719 0 -12 5.38281 -12 12v248.304c0 6.61719 5.38281 12 12 12h78.667c71.251 0 101.498 -32.749 101.498 -85.252c0 -31.6123 -15.2148 -59.2969 -39.4824 -73.1758c3.02148 -4.61719 0.225586 0.199219 53.2715 -96.085zM256.933 208.094
c20.9131 0 32.4307 11.5186 32.4316 32.4316c0 19.5752 -6.5127 31.709 -38.9297 31.709h-27.377v-64.1406h33.875z" />
    <glyph glyph-name="calendar-plus" unicode="&#xf271;" horiz-adv-x="448" 
d="M336 156v-24c0 -6.59961 -5.40039 -12 -12 -12h-76v-76c0 -6.59961 -5.40039 -12 -12 -12h-24c-6.59961 0 -12 5.40039 -12 12v76h-76c-6.59961 0 -12 5.40039 -12 12v24c0 6.59961 5.40039 12 12 12h76v76c0 6.59961 5.40039 12 12 12h24c6.59961 0 12 -5.40039 12 -12
v-76h76c6.59961 0 12 -5.40039 12 -12zM448 336v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40
c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48zM400 -10v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
    <glyph glyph-name="calendar-minus" unicode="&#xf272;" horiz-adv-x="448" 
d="M124 120c-6.59961 0 -12 5.40039 -12 12v24c0 6.59961 5.40039 12 12 12h200c6.59961 0 12 -5.40039 12 -12v-24c0 -6.59961 -5.40039 -12 -12 -12h-200zM448 336v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52
c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48zM400 -10v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
    <glyph glyph-name="calendar-times" unicode="&#xf273;" horiz-adv-x="448" 
d="M311.7 73.2998l-17 -17c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-53.7002 53.7998l-53.7002 -53.6992c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-17 17c-4.7002 4.69922 -4.7002 12.2998 0 17l53.7002 53.6992l-53.7002 53.7002c-4.7002 4.7002 -4.7002 12.2998 0 17
l17 17c4.7002 4.7002 12.2998 4.7002 17 0l53.7002 -53.7002l53.7002 53.7002c4.7002 4.7002 12.2998 4.7002 17 0l17 -17c4.7002 -4.7002 4.7002 -12.2998 0 -17l-53.7998 -53.7998l53.6992 -53.7002c4.80078 -4.7002 4.80078 -12.2998 0.100586 -17zM448 336v-352
c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48zM400 -10
v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
    <glyph glyph-name="calendar-check" unicode="&#xf274;" horiz-adv-x="448" 
d="M400 384c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h48v52c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-52h128v52c0 6.62695 5.37305 12 12 12h40
c6.62695 0 12 -5.37305 12 -12v-52h48zM394 -16c3.31152 0 6 2.68848 6 6v298h-352v-298c0 -3.31152 2.68848 -6 6 -6h340zM341.151 184.65l-142.31 -141.169c-4.70508 -4.66699 -12.3027 -4.6377 -16.9707 0.0673828l-75.0908 75.6992
c-4.66699 4.70508 -4.6377 12.3027 0.0673828 16.9707l22.7197 22.5361c4.70508 4.66699 12.3027 4.63672 16.9697 -0.0693359l44.1035 -44.4609l111.072 110.182c4.70508 4.66699 12.3027 4.63672 16.9707 -0.0683594l22.5361 -22.7178
c4.66699 -4.70508 4.63672 -12.3027 -0.0683594 -16.9697z" />
    <glyph glyph-name="map" unicode="&#xf279;" horiz-adv-x="576" 
d="M560.02 416c8.4502 0 15.9805 -6.83008 15.9805 -16.0195v-346.32c0 -13.4707 -8.32422 -24.9951 -20.1201 -29.71l-151.83 -52.8105c-6.23242 -2.02832 -12.9023 -3.12305 -19.8076 -3.12305c-7.07324 0 -13.8799 1.15039 -20.2422 3.27344l-172 60.71l-170.05 -62.8398
c-1.99023 -0.790039 -4 -1.16016 -5.95996 -1.16016c-8.45996 0 -15.9902 6.83008 -15.9902 16.0195v346.32c0.00292969 13.4697 8.32617 24.9932 20.1201 29.71l151.83 52.8105c6.43945 2.08984 13.1201 3.13965 19.8096 3.13965
c7.06641 -0.00292969 13.8789 -1.16602 20.2402 -3.28027l172 -60.7197h0.00976562l170.05 62.8398c1.98047 0.790039 4 1.16016 5.95996 1.16016zM224 357.58v-285.97l128 -45.1904v285.97zM48 29.9502l127.36 47.0801l0.639648 0.229492v286.2l-128 -44.5303v-288.979z
M528 65.0801v288.97l-127.36 -47.0693l-0.639648 -0.240234v-286.19z" />
    <glyph glyph-name="comment-alt" unicode="&#xf27a;" 
d="M448 448c35.2998 0 64 -28.7002 64 -64v-288c0 -35.2998 -28.7002 -64 -64 -64h-144l-124.9 -93.5996c-2.19922 -1.7002 -4.69922 -2.40039 -7.09961 -2.40039c-6.2002 0 -12 4.90039 -12 12v84h-96c-35.2998 0 -64 28.7002 -64 64v288c0 35.2998 28.7002 64 64 64h384z
M464 96v288c0 8.7998 -7.2002 16 -16 16h-384c-8.7998 0 -16 -7.2002 -16 -16v-288c0 -8.7998 7.2002 -16 16 -16h144v-60l67.2002 50.4004l12.7998 9.59961h160c8.7998 0 16 7.2002 16 16z" />
    <glyph glyph-name="pause-circle" unicode="&#xf28b;" 
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200zM352 272v-160c0 -8.7998 -7.2002 -16 -16 -16h-48
c-8.7998 0 -16 7.2002 -16 16v160c0 8.7998 7.2002 16 16 16h48c8.7998 0 16 -7.2002 16 -16zM240 272v-160c0 -8.7998 -7.2002 -16 -16 -16h-48c-8.7998 0 -16 7.2002 -16 16v160c0 8.7998 7.2002 16 16 16h48c8.7998 0 16 -7.2002 16 -16z" />
    <glyph glyph-name="stop-circle" unicode="&#xf28d;" 
d="M504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM56 192c0 -110.5 89.5 -200 200 -200s200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200zM352 272v-160c0 -8.7998 -7.2002 -16 -16 -16h-160
c-8.7998 0 -16 7.2002 -16 16v160c0 8.7998 7.2002 16 16 16h160c8.7998 0 16 -7.2002 16 -16z" />
    <glyph glyph-name="handshake" unicode="&#xf2b5;" horiz-adv-x="640" 
d="M519.2 320.1h120.8v-255.699h-64c-17.5 0 -31.7998 14.1992 -31.9004 31.6992h-57.8994c-1.7998 -8.19922 -5.2998 -16.0996 -10.9004 -23l-26.2002 -32.2998c-15.7998 -19.3994 -41.8994 -25.5 -64 -16.7998c-13.5 -16.5996 -30.5996 -24 -48.7998 -24
c-15.0996 0 -28.5996 5.09961 -41.0996 15.9004c-31.7998 -21.9004 -74.7002 -21.3008 -105.601 3.7998l-84.5996 76.3994h-9.09961c-0.100586 -17.5 -14.3008 -31.6992 -31.9004 -31.6992h-64v255.699h118l47.5996 47.6006c10.5 10.3994 24.8008 16.2998 39.6006 16.2998
h226.8c15.4326 0 29.4326 -6.22168 39.5996 -16.2998zM48 96.4004c8.7998 0 16 7.09961 16 16c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.80078 7.2002 -16 16 -16zM438 103.3c2.7002 3.40039 2.2002 8.5 -1.2002 11.2998l-108.2 87.8008l-8.19922 -7.5
c-40.3008 -36.8008 -86.7002 -11.8008 -101.5 4.39941c-26.7002 29 -25 74.4004 4.39941 101.3l38.7002 35.5h-56.7002c-2 -0.799805 -3.7002 -1.5 -5.7002 -2.2998l-61.6992 -61.5996h-41.9004v-128.101h27.7002l97.2998 -88
c16.0996 -13.0996 41.4004 -10.5 55.2998 6.60059l15.6006 19.2002l36.7998 -31.5c3 -2.40039 12 -4.90039 18 2.39941l30 36.5l23.8994 -19.3994c3.5 -2.80078 8.5 -2.2002 11.3008 1.19922zM544 144.1v128h-44.7002l-61.7002 61.6006
c-1.39941 1.5 -3.39941 2.2998 -5.5 2.2998l-83.6992 -0.200195c-10 0 -19.6006 -3.7002 -27 -10.5l-65.6006 -60.0996c-9.7002 -8.7998 -10.5 -24 -1.2002 -33.9004c8.90039 -9.39941 25.1006 -8.7002 34.6006 0l55.2002 50.6006c6.5 5.89941 16.5996 5.5 22.5996 -1
l10.9004 -11.7002c6 -6.5 5.5 -16.6006 -1 -22.6006l-12.5 -11.3994l102.699 -83.4004c2.80078 -2.2998 5.40039 -4.89941 7.7002 -7.7002h69.2002zM592 96.4004c8.7998 0 16 7.09961 16 16c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.80078 7.2002 -16 16 -16z
" />
    <glyph glyph-name="envelope-open" unicode="&#xf2b6;" 
d="M494.586 283.484c10.6523 -8.80762 17.4141 -22.1064 17.4141 -36.9932v-262.491c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v262.515c0 14.9355 6.80469 28.2705 17.5146 37.0771c4.08008 3.35449 110.688 89.0996 135.15 108.549
c22.6992 18.1426 60.1299 55.8594 103.335 55.8594c43.4365 0 81.2314 -38.1914 103.335 -55.8594c23.5283 -18.707 130.554 -104.773 135.251 -108.656zM464 -10v253.632c0 0.00195312 0.00390625 0.000976562 0.00390625 0.00292969
c0 1.88184 -0.869141 3.56152 -2.22754 4.66016c-15.8633 12.8232 -108.793 87.5752 -132.366 106.316c-17.5527 14.0195 -49.7168 45.3887 -73.4102 45.3887c-23.6016 0 -55.2451 -30.8799 -73.4102 -45.3887c-23.5713 -18.7393 -116.494 -93.4795 -132.364 -106.293
c-1.40918 -1.13965 -2.22559 -2.85254 -2.22559 -4.66504v-253.653c0 -3.31152 2.68848 -6 6 -6h404c3.31152 0 6 2.68848 6 6zM432.009 177.704c4.24902 -5.15918 3.46484 -12.7949 -1.74512 -16.9814c-28.9746 -23.2822 -59.2734 -47.5967 -70.9287 -56.8623
c-22.6992 -18.1436 -60.1299 -55.8604 -103.335 -55.8604c-43.4521 0 -81.2871 38.2373 -103.335 55.8604c-11.2793 8.9668 -41.7441 33.4131 -70.9268 56.8643c-5.20996 4.1875 -5.99316 11.8223 -1.74512 16.9814l15.2578 18.5283
c4.17773 5.07227 11.6572 5.84277 16.7793 1.72559c28.6182 -23.001 58.5654 -47.0352 70.5596 -56.5713c17.5527 -14.0195 49.7168 -45.3887 73.4102 -45.3887c23.6016 0 55.2461 30.8799 73.4102 45.3887c11.9941 9.53516 41.9434 33.5703 70.5625 56.5684
c5.12207 4.11621 12.6016 3.3457 16.7783 -1.72656z" />
    <glyph glyph-name="address-book" unicode="&#xf2b9;" horiz-adv-x="448" 
d="M436 288h-20v-64h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-20v-64h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-20v-48c0 -26.5 -21.5 -48 -48 -48h-320c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48
h320c26.5 0 48 -21.5 48 -48v-48h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12zM368 -16v416h-320v-416h320zM208 192c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM118.4 64
c-12.4004 0 -22.4004 8.59961 -22.4004 19.2002v19.2002c0 31.7998 30.0996 57.5996 67.2002 57.5996c11.3994 0 17.8994 -8 44.7998 -8c26.0996 0 34 8 44.7998 8c37.1006 0 67.2002 -25.7998 67.2002 -57.5996v-19.2002c0 -10.6006 -10 -19.2002 -22.4004 -19.2002
h-179.199z" />
    <glyph glyph-name="address-card" unicode="&#xf2bb;" horiz-adv-x="576" 
d="M528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480zM528 16v352h-480v-352h480zM208 192c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64z
M118.4 64c-12.4004 0 -22.4004 8.59961 -22.4004 19.2002v19.2002c0 31.7998 30.0996 57.5996 67.2002 57.5996c11.3994 0 17.8994 -8 44.7998 -8c26.0996 0 34 8 44.7998 8c37.1006 0 67.2002 -25.7998 67.2002 -57.5996v-19.2002
c0 -10.6006 -10 -19.2002 -22.4004 -19.2002h-179.199zM360 128c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112zM360 192c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112
c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112zM360 256c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112z" />
    <glyph glyph-name="user-circle" unicode="&#xf2bd;" horiz-adv-x="496" 
d="M248 344c53 0 96 -43 96 -96s-43 -96 -96 -96s-96 43 -96 96s43 96 96 96zM248 200c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8
c49.7002 0 95.0996 18.2998 130.1 48.4004c-14.8994 23 -40.3994 38.5 -69.5996 39.5c-20.7998 -6.5 -40.5996 -9.60059 -60.5 -9.60059s-39.7002 3.2002 -60.5 9.60059c-29.2002 -0.900391 -54.7002 -16.5 -69.5996 -39.5c35 -30.1006 80.3994 -48.4004 130.1 -48.4004z
M410.7 76.0996c23.3994 32.7002 37.2998 72.7002 37.2998 115.9c0 110.3 -89.7002 200 -200 200s-200 -89.7002 -200 -200c0 -43.2002 13.9004 -83.2002 37.2998 -115.9c24.5 31.4004 62.2002 51.9004 105.101 51.9004c10.1992 0 26.0996 -9.59961 57.5996 -9.59961
c31.5996 0 47.4004 9.59961 57.5996 9.59961c43 0 80.7002 -20.5 105.101 -51.9004z" />
    <glyph glyph-name="id-badge" unicode="&#xf2c1;" horiz-adv-x="384" 
d="M336 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h288zM336 -16v416h-288v-416h288zM144 336c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16h96c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16
h-96zM192 160c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM102.4 32c-12.4004 0 -22.4004 8.59961 -22.4004 19.2002v19.2002c0 31.7998 30.0996 57.5996 67.2002 57.5996c11.3994 0 17.8994 -8 44.7998 -8
c26.0996 0 34 8 44.7998 8c37.1006 0 67.2002 -25.7998 67.2002 -57.5996v-19.2002c0 -10.6006 -10 -19.2002 -22.4004 -19.2002h-179.199z" />
    <glyph glyph-name="id-card" unicode="&#xf2c2;" horiz-adv-x="576" 
d="M528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480zM528 16v288h-480v-288h32.7998c-1 4.5 -0.799805 -3.59961 -0.799805 22.4004c0 31.7998 30.0996 57.5996 67.2002 57.5996
c11.3994 0 17.8994 -8 44.7998 -8c26.0996 0 34 8 44.7998 8c37.1006 0 67.2002 -25.7998 67.2002 -57.5996c0 -26 0.0996094 -17.9004 -0.799805 -22.4004h224.8zM360 96c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112c4.40039 0 8 -3.59961 8 -8v-16
c0 -4.40039 -3.59961 -8 -8 -8h-112zM360 160c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112zM360 224c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112
c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112zM192 128c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64z" />
    <glyph glyph-name="window-maximize" unicode="&#xf2d0;" 
d="M464 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h416zM464 22v234h-416v-234c0 -3.2998 2.7002 -6 6 -6h404c3.2998 0 6 2.7002 6 6z" />
    <glyph glyph-name="window-minimize" unicode="&#xf2d1;" 
d="M480 -32h-448c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32h448c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32z" />
    <glyph glyph-name="window-restore" unicode="&#xf2d2;" 
d="M464 448c26.5 0 48 -21.5 48 -48v-320c0 -26.5 -21.5 -48 -48 -48h-48v-48c0 -26.5 -21.5 -48 -48 -48h-320c-26.5 0 -48 21.5 -48 48v320c0 26.5 21.5 48 48 48h48v48c0 26.5 21.5 48 48 48h320zM368 -16v208h-320v-208h320zM464 80v320h-320v-48h224
c26.5 0 48 -21.5 48 -48v-224h48z" />
    <glyph glyph-name="snowflake" unicode="&#xf2dc;" horiz-adv-x="448" 
d="M440.1 92.7998c7.60059 -4.39941 10.1006 -14.2002 5.5 -21.7002l-7.89941 -13.8994c-4.40039 -7.7002 -14 -10.2998 -21.5 -5.90039l-39.2002 23l9.09961 -34.7002c2.30078 -8.5 -2.69922 -17.2998 -11.0996 -19.5996l-15.2002 -4.09961
c-8.39941 -2.30078 -17.0996 2.7998 -19.2998 11.2998l-21.2998 81l-71.9004 42.2002v-84.5l58.2998 -59.3008c6.10059 -6.19922 6.10059 -16.3994 0 -22.5996l-11.0996 -11.2998c-6.09961 -6.2002 -16.0996 -6.2002 -22.2002 0l-24.8994 25.3994v-46.0996
c0 -8.7998 -7 -16 -15.7002 -16h-15.7002c-8.7002 0 -15.7002 7.2002 -15.7002 16v45.9004l-24.8994 -25.4004c-6.10059 -6.2002 -16.1006 -6.2002 -22.2002 0l-11.1006 11.2998c-6.09961 6.2002 -6.09961 16.4004 0 22.6006l58.3008 59.2998v84.5l-71.9004 -42.2002
l-21.2998 -81c-2.2998 -8.5 -10.9004 -13.5996 -19.2998 -11.2998l-15.2002 4.09961c-8.40039 2.2998 -13.2998 11.1006 -11.1006 19.6006l9.10059 34.6992l-39.2002 -23c-7.5 -4.39941 -17.2002 -1.7998 -21.5 5.90039l-7.90039 13.9004
c-4.2998 7.69922 -1.69922 17.5 5.80078 21.8994l39.1992 23l-34.0996 9.2998c-8.40039 2.30078 -13.2998 11.1006 -11.0996 19.6006l4.09961 15.5c2.2998 8.5 10.9004 13.5996 19.2998 11.2998l79.7002 -21.7002l71.9004 42.2002l-71.9004 42.2002l-79.7002 -21.7002
c-8.39941 -2.2998 -17.0996 2.7998 -19.2998 11.2998l-4.09961 15.5c-2.30078 8.5 2.69922 17.2998 11.0996 19.6006l34.0996 9.09961l-39.1992 23c-7.60059 4.5 -10.1006 14.2002 -5.80078 21.9004l7.90039 13.8994c4.40039 7.7002 14 10.2998 21.5 5.90039l39.2002 -23
l-9.10059 34.7002c-2.2998 8.5 2.7002 17.2998 11.1006 19.5996l15.2002 4.09961c8.39941 2.30078 17.0996 -2.7998 19.2998 -11.2998l21.2998 -81l71.9004 -42.2002v84.5l-58.3008 59.3008c-6.09961 6.19922 -6.09961 16.3994 0 22.5996l11.5 11.2998
c6.10059 6.2002 16.1006 6.2002 22.2002 0l24.9004 -25.3994v46.0996c0 8.7998 7 16 15.7002 16h15.6992c8.7002 0 15.7002 -7.2002 15.7002 -16v-45.9004l24.9004 25.4004c6.09961 6.2002 16.0996 6.2002 22.2002 0l11.0996 -11.2998
c6.09961 -6.2002 6.09961 -16.4004 0 -22.6006l-58.2998 -59.2998v-84.5l71.8994 42.2002l21.3008 81c2.2998 8.5 10.8994 13.5996 19.2998 11.2998l15.2002 -4.09961c8.39941 -2.2998 13.2998 -11.1006 11.0996 -19.6006l-9.09961 -34.6992l39.1992 23
c7.5 4.39941 17.2002 1.7998 21.5 -5.90039l7.90039 -13.9004c4.2998 -7.69922 1.7002 -17.5 -5.7998 -21.8994l-39.2002 -23l34.0996 -9.2998c8.40039 -2.30078 13.3008 -11.1006 11.1006 -19.6006l-4.10059 -15.5c-2.2998 -8.5 -10.8994 -13.5996 -19.2998 -11.2998
l-79.7002 21.7002l-71.8994 -42.2002l71.7998 -42.2002l79.7002 21.7002c8.39941 2.2998 17.0996 -2.7998 19.2998 -11.2998l4.09961 -15.5c2.30078 -8.5 -2.69922 -17.2998 -11.0996 -19.6006l-34.0996 -9.2998z" />
    <glyph glyph-name="trash-alt" unicode="&#xf2ed;" horiz-adv-x="448" 
d="M268 32c-6.62305 0 -12 5.37695 -12 12v216c0 6.62305 5.37695 12 12 12h24c6.62305 0 12 -5.37695 12 -12v-216c0 -6.62305 -5.37695 -12 -12 -12h-24zM432 368c8.83105 0 16 -7.16895 16 -16v-16c0 -8.83105 -7.16895 -16 -16 -16h-16v-336
c0 -26.4922 -21.5078 -48 -48 -48h-288c-26.4922 0 -48 21.5078 -48 48v336h-16c-8.83105 0 -16 7.16895 -16 16v16c0 8.83105 7.16895 16 16 16h82.4102l34.0195 56.7002c8.39258 13.9844 23.6777 23.2998 41.1602 23.2998h100.82
c0.0078125 0 -0.015625 0.0517578 -0.0078125 0.0517578c17.4824 0 32.7949 -9.36719 41.1875 -23.3516l34 -56.7002h82.4102zM171.84 397.09l-17.4502 -29.0898h139.221l-17.46 29.0898c-1.0498 1.74707 -2.95898 2.91016 -5.14355 2.91016h-0.00683594h-94
c-0.00585938 0 -0.00683594 0.00683594 -0.0126953 0.00683594c-2.18457 0 -4.09766 -1.16992 -5.14746 -2.91699zM368 -16v336h-288v-336h288zM156 32c-6.62305 0 -12 5.37695 -12 12v216c0 6.62305 5.37695 12 12 12h24c6.62305 0 12 -5.37695 12 -12v-216
c0 -6.62305 -5.37695 -12 -12 -12h-24z" />
    <glyph glyph-name="images" unicode="&#xf302;" horiz-adv-x="576" 
d="M480 32v-16c0 -26.5098 -21.4902 -48 -48 -48h-384c-26.5098 0 -48 21.4902 -48 48v256c0 26.5098 21.4902 48 48 48h16v-48h-10c-3.31152 0 -6 -2.68848 -6 -6v-244c0 -3.31152 2.68848 -6 6 -6h372c3.31152 0 6 2.68848 6 6v10h48zM522 368h-372
c-3.31152 0 -6 -2.68848 -6 -6v-244c0 -3.31152 2.68848 -6 6 -6h372c3.31152 0 6 2.68848 6 6v244c0 3.31152 -2.68848 6 -6 6zM528 416c26.5098 0 48 -21.4902 48 -48v-256c0 -26.5098 -21.4902 -48 -48 -48h-384c-26.5098 0 -48 21.4902 -48 48v256
c0 26.5098 21.4902 48 48 48h384zM264 304c0 -22.0908 -17.9092 -40 -40 -40s-40 17.9092 -40 40s17.9092 40 40 40s40 -17.9092 40 -40zM192 208l39.5146 39.5146c4.68652 4.68652 12.2842 4.68652 16.9717 0l39.5137 -39.5146l103.515 103.515
c4.68652 4.68652 12.2842 4.68652 16.9717 0l71.5137 -71.5146v-80h-288v48z" />
    <glyph glyph-name="clipboard" unicode="&#xf328;" horiz-adv-x="384" 
d="M336 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h80c0 35.2998 28.7002 64 64 64s64 -28.7002 64 -64h80zM192 408c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24
s-10.7002 24 -24 24zM336 -10v340c0 3.2998 -2.7002 6 -6 6h-42v-36c0 -6.59961 -5.40039 -12 -12 -12h-168c-6.59961 0 -12 5.40039 -12 12v36h-42c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h276c3.2998 0 6 2.7002 6 6z" />
    <glyph glyph-name="arrow-alt-circle-down" unicode="&#xf358;" 
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200zM224 308c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-116
h67c10.7002 0 16.0996 -12.9004 8.5 -20.5l-99 -99c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-99 99c-7.5 7.59961 -2.2002 20.5 8.5 20.5h67v116z" />
    <glyph glyph-name="arrow-alt-circle-left" unicode="&#xf359;" 
d="M8 192c0 137 111 248 248 248s248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248zM456 192c0 110.5 -89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200s200 89.5 200 200zM384 212v-40c0 -6.59961 -5.40039 -12 -12 -12h-116v-67
c0 -10.7002 -12.9004 -16 -20.5 -8.5l-99 99c-4.7002 4.7002 -4.7002 12.2998 0 17l99 99c7.59961 7.59961 20.5 2.2002 20.5 -8.5v-67h116c6.59961 0 12 -5.40039 12 -12z" />
    <glyph glyph-name="arrow-alt-circle-right" unicode="&#xf35a;" 
d="M504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM56 192c0 -110.5 89.5 -200 200 -200s200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200zM128 172v40c0 6.59961 5.40039 12 12 12h116v67
c0 10.7002 12.9004 16 20.5 8.5l99 -99c4.7002 -4.7002 4.7002 -12.2998 0 -17l-99 -99c-7.59961 -7.59961 -20.5 -2.2002 -20.5 8.5v67h-116c-6.59961 0 -12 5.40039 -12 12z" />
    <glyph glyph-name="arrow-alt-circle-up" unicode="&#xf35b;" 
d="M256 -56c-137 0 -248 111 -248 248s111 248 248 248s248 -111 248 -248s-111 -248 -248 -248zM256 392c-110.5 0 -200 -89.5 -200 -200s89.5 -200 200 -200s200 89.5 200 200s-89.5 200 -200 200zM276 64h-40c-6.59961 0 -12 5.40039 -12 12v116h-67
c-10.7002 0 -16 12.9004 -8.5 20.5l99 99c4.7002 4.7002 12.2998 4.7002 17 0l99 -99c7.59961 -7.59961 2.2002 -20.5 -8.5 -20.5h-67v-116c0 -6.59961 -5.40039 -12 -12 -12z" />
    <glyph glyph-name="gem" unicode="&#xf3a5;" horiz-adv-x="576" 
d="M464 448c4.09961 0 7.7998 -2 10.0996 -5.40039l99.9004 -147.199c2.90039 -4.40039 2.59961 -10.1006 -0.700195 -14.2002l-276 -340.8c-4.7998 -5.90039 -13.7998 -5.90039 -18.5996 0l-276 340.8c-3.2998 4 -3.60059 9.7998 -0.700195 14.2002l100 147.199
c2.2002 3.40039 6 5.40039 10 5.40039h352zM444.7 400h-56.7998l51.6992 -96h68.4004zM242.6 400l-51.5996 -96h194l-51.7002 96h-90.7002zM131.3 400l-63.2998 -96h68.4004l51.6992 96h-56.7998zM88.2998 256l119.7 -160l-68.2998 160h-51.4004zM191.2 256l96.7998 -243.3
l96.7998 243.3h-193.6zM368 96l119.6 160h-51.3994z" />
    <glyph glyph-name="money-bill-alt" unicode="&#xf3d1;" horiz-adv-x="640" 
d="M320 304c53.0195 0 96 -50.1396 96 -112c0 -61.8701 -43 -112 -96 -112c-53.0195 0 -96 50.1504 -96 112c0 61.8604 42.9805 112 96 112zM360 136v16c0 4.41992 -3.58008 8 -8 8h-16v88c0 4.41992 -3.58008 8 -8 8h-13.5801
c-4.91113 0 -9.50586 -1.49316 -13.3096 -4.03027l-15.3301 -10.2197c-2.15332 -1.43262 -3.55957 -3.88379 -3.55957 -6.66113c0 -1.6377 0.493164 -3.16113 1.33887 -4.42871l8.88086 -13.3105c1.43164 -2.15234 3.88379 -3.55957 6.66113 -3.55957
c1.6377 0 3.16016 0.494141 4.42871 1.33984l0.469727 0.310547v-55.4404h-16c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h64c4.41992 0 8 3.58008 8 8zM608 384c17.6699 0 32 -14.3301 32 -32v-320c0 -17.6699 -14.3301 -32 -32 -32h-576
c-17.6699 0 -32 14.3301 -32 32v320c0 17.6699 14.3301 32 32 32h576zM592 112v160c-35.3496 0 -64 28.6504 -64 64h-416c0 -35.3496 -28.6504 -64 -64 -64v-160c35.3496 0 64 -28.6504 64 -64h416c0 35.3496 28.6504 64 64 64z" />
    <glyph glyph-name="window-close" unicode="&#xf410;" 
d="M464 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h416zM464 22v340c0 3.2998 -2.7002 6 -6 6h-404c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h404c3.2998 0 6 2.7002 6 6z
M356.5 253.4l-61.4004 -61.4004l61.4004 -61.4004c4.59961 -4.59961 4.59961 -12.0996 0 -16.7998l-22.2998 -22.2998c-4.60059 -4.59961 -12.1006 -4.59961 -16.7998 0l-61.4004 61.4004l-61.4004 -61.4004c-4.59961 -4.59961 -12.0996 -4.59961 -16.7998 0
l-22.2998 22.2998c-4.59961 4.60059 -4.59961 12.1006 0 16.7998l61.4004 61.4004l-61.4004 61.4004c-4.59961 4.59961 -4.59961 12.0996 0 16.7998l22.2998 22.2998c4.60059 4.59961 12.1006 4.59961 16.7998 0l61.4004 -61.4004l61.4004 61.4004
c4.59961 4.59961 12.0996 4.59961 16.7998 0l22.2998 -22.2998c4.7002 -4.60059 4.7002 -12.1006 0 -16.7998z" />
    <glyph glyph-name="comment-dots" unicode="&#xf4ad;" 
d="M144 240c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM256 240c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM368 240c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32
s-32 14.2998 -32 32s14.2998 32 32 32zM256 416c141.4 0 256 -93.0996 256 -208s-114.6 -208 -256 -208c-32.7998 0 -64 5.2002 -92.9004 14.2998c-29.0996 -20.5996 -77.5996 -46.2998 -139.1 -46.2998c-9.59961 0 -18.2998 5.7002 -22.0996 14.5
c-3.80078 8.7998 -2 19 4.59961 26c0.5 0.400391 31.5 33.7998 46.4004 73.2002c-33 35.0996 -52.9004 78.7002 -52.9004 126.3c0 114.9 114.6 208 256 208zM256 48c114.7 0 208 71.7998 208 160s-93.2998 160 -208 160s-208 -71.7998 -208 -160
c0 -42.2002 21.7002 -74.0996 39.7998 -93.4004l20.6006 -21.7998l-10.6006 -28.0996c-5.5 -14.5 -12.5996 -28.1006 -19.8994 -40.2002c23.5996 7.59961 43.1992 18.9004 57.5 29l19.5 13.7998l22.6992 -7.2002c25.3008 -8 51.7002 -12.0996 78.4004 -12.0996z" />
    <glyph glyph-name="smile-wink" unicode="&#xf4da;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM365.8 138.4c10.2002 -8.5 11.6006 -23.6006 3.10059 -33.8008
c-30 -36 -74.1006 -56.5996 -120.9 -56.5996s-90.9004 20.5996 -120.9 56.5996c-8.39941 10.2002 -7.09961 25.3008 3.10059 33.8008c10.0996 8.39941 25.2998 7.09961 33.7998 -3.10059c20.7998 -25.0996 51.5 -39.3994 84 -39.3994s63.2002 14.3994 84 39.3994
c8.5 10.2002 23.5996 11.6006 33.7998 3.10059zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 268c25.7002 0 55.9004 -16.9004 59.7002 -42.0996c1.7998 -11.1006 -11.2998 -18.2002 -19.7998 -10.8008l-9.5 8.5
c-14.8008 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5c-8.30078 -7.39941 -21.5 -0.399414 -19.8008 10.8008c4 25.1992 34.2002 42.0996 59.9004 42.0996z" />
    <glyph glyph-name="angry" unicode="&#xf556;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM248 136c33.5996 0 65.2002 -14.7998 86.7998 -40.5996
c8.40039 -10.2002 7.10059 -25.3008 -3.09961 -33.8008c-10.6006 -8.89941 -25.7002 -6.69922 -33.7998 3c-24.8008 29.7002 -75 29.7002 -99.8008 0c-8.5 -10.1992 -23.5996 -11.5 -33.7998 -3s-11.5996 23.6006 -3.09961 33.8008
c21.5996 25.7998 53.2002 40.5996 86.7998 40.5996zM200 208c0 -17.7002 -14.2998 -32.0996 -32 -32.0996s-32 14.2998 -32 32c0 6.19922 2.2002 11.6992 5.2998 16.5996l-28.2002 8.5c-12.6992 3.7998 -19.8994 17.2002 -16.0996 29.9004
c3.7998 12.6992 17.0996 20 29.9004 16.0996l80 -24c12.6992 -3.7998 19.8994 -17.2002 16.0996 -29.9004c-3.09961 -10.3994 -12.7002 -17.0996 -23 -17.0996zM399 262.9c3.7998 -12.7002 -3.40039 -26.1006 -16.0996 -29.8008l-28.2002 -8.5
c3.09961 -4.89941 5.2998 -10.3994 5.2998 -16.5996c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32c-10.2998 0 -19.9004 6.7002 -23 17.0996c-3.7998 12.7002 3.40039 26.1006 16.0996 29.9004l80 24c12.8008 3.7998 26.1006 -3.40039 29.9004 -16.0996z" />
    <glyph glyph-name="dizzy" unicode="&#xf567;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM214.2 209.9
c-7.90039 -7.90039 -20.5 -7.90039 -28.4004 -0.200195l-17.7998 17.7998l-17.7998 -17.7998c-7.7998 -7.7998 -20.5 -7.7998 -28.2998 0c-7.80078 7.7998 -7.80078 20.5 0 28.2998l17.8994 17.9004l-17.8994 17.8994c-7.80078 7.7998 -7.80078 20.5 0 28.2998
c7.7998 7.80078 20.5 7.80078 28.2998 0l17.7998 -17.7998l17.9004 17.9004c7.7998 7.7998 20.5 7.7998 28.2998 0s7.7998 -20.5 0 -28.2998l-17.9004 -17.9004l17.9004 -17.7998c7.7998 -7.7998 7.7998 -20.5 0 -28.2998zM374.2 302.1
c7.7002 -7.7998 7.7002 -20.3994 0 -28.1992l-17.9004 -17.9004l17.7998 -18c7.80078 -7.7998 7.80078 -20.5 0 -28.2998c-7.7998 -7.7998 -20.5 -7.7998 -28.2998 0l-17.7998 17.7998l-17.7998 -17.7998c-7.7998 -7.7998 -20.5 -7.7998 -28.2998 0
c-7.80078 7.7998 -7.80078 20.5 0 28.2998l17.8994 17.9004l-17.8994 17.8994c-7.80078 7.7998 -7.80078 20.5 0 28.2998c7.7998 7.80078 20.5 7.80078 28.2998 0l17.7998 -17.7998l17.9004 17.7998c7.7998 7.80078 20.5 7.80078 28.2998 0zM248 176
c35.2998 0 64 -28.7002 64 -64s-28.7002 -64 -64 -64s-64 28.7002 -64 64s28.7002 64 64 64z" />
    <glyph glyph-name="flushed" unicode="&#xf579;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM344 304c44.2002 0 80 -35.7998 80 -80s-35.7998 -80 -80 -80
s-80 35.7998 -80 80s35.7998 80 80 80zM344 176c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM344 248c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM232 224c0 -44.2002 -35.7998 -80 -80 -80
s-80 35.7998 -80 80s35.7998 80 80 80s80 -35.7998 80 -80zM152 176c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM152 248c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM312 104
c13.2002 0 24 -10.7998 24 -24s-10.7998 -24 -24 -24h-128c-13.2002 0 -24 10.7998 -24 24s10.7998 24 24 24h128z" />
    <glyph glyph-name="frown-open" unicode="&#xf57a;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM200 240c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32
s14.2998 32 32 32s32 -14.2998 32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM248 160c35.5996 0 88.7998 -21.2998 95.7998 -61.2002c2 -11.7998 -9.09961 -21.5996 -20.5 -18.0996
c-31.2002 9.59961 -59.3994 15.2998 -75.2998 15.2998s-44.0996 -5.7002 -75.2998 -15.2998c-11.5 -3.40039 -22.5 6.2998 -20.5 18.0996c7 39.9004 60.2002 61.2002 95.7998 61.2002z" />
    <glyph glyph-name="grimace" unicode="&#xf57f;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM344 192c26.5 0 48 -21.5 48 -48v-32c0 -26.5 -21.5 -48 -48 -48h-192c-26.5 0 -48 21.5 -48 48v32c0 26.5 21.5 48 48 48
h192zM176 96v24h-40v-8c0 -8.7998 7.2002 -16 16 -16h24zM176 136v24h-24c-8.7998 0 -16 -7.2002 -16 -16v-8h40zM240 96v24h-48v-24h48zM240 136v24h-48v-24h48zM304 96v24h-48v-24h48zM304 136v24h-48v-24h48zM360 112v8h-40v-24h24c8.7998 0 16 7.2002 16 16zM360 136v8
c0 8.7998 -7.2002 16 -16 16h-24v-24h40z" />
    <glyph glyph-name="grin" unicode="&#xf580;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008
c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.9004 -123.3 80c-1.7002 9.90039 7.7998 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32z" />
    <glyph glyph-name="grin-alt" unicode="&#xf581;" horiz-adv-x="496" 
d="M200.3 200c-7.5 -11.4004 -24.5996 -12 -32.7002 0c-12.3994 18.7002 -15.1992 37.2998 -15.6992 56c0.599609 18.7002 3.2998 37.2998 15.6992 56c7.60059 11.4004 24.7002 12 32.7002 0c12.4004 -18.7002 15.2002 -37.2998 15.7002 -56
c-0.599609 -18.7002 -3.2998 -37.2998 -15.7002 -56zM328.3 200c-7.5 -11.4004 -24.5996 -12 -32.7002 0c-12.3994 18.7002 -15.1992 37.2998 -15.6992 56c0.599609 18.7002 3.2998 37.2998 15.6992 56c7.60059 11.4004 24.7002 12 32.7002 0
c12.4004 -18.7002 15.2002 -37.2998 15.7002 -56c-0.599609 -18.7002 -3.2998 -37.2998 -15.7002 -56zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200
s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.8008 -123.3 80c-1.7002 10 7.7998 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006
s79.7002 4.7998 105.6 13.1006z" />
    <glyph glyph-name="grin-beam" unicode="&#xf582;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008
c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.9004 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM117.7 216.3c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998
c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996
l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002zM277.7 216.3c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998
c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002z" />
    <glyph glyph-name="grin-beam-sweat" unicode="&#xf583;" horiz-adv-x="496" 
d="M440 288c-29.5 0 -53.2998 26.2998 -53.2998 58.7002c0 25 31.7002 75.5 46.2002 97.2998c3.5 5.2998 10.5996 5.2998 14.1992 0c14.5 -21.7998 46.2002 -72.2998 46.2002 -97.2998c0 -32.4004 -23.7998 -58.7002 -53.2998 -58.7002zM248 48
c-51.9004 0 -115.3 32.9004 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996s79.7002 4.7998 105.6 13.0996c10 3.2002 19.4004 -5.39941 17.7002 -15.2998c-8 -47.0996 -71.3994 -80 -123.3 -80zM378.3 216.3
c-3.09961 -0.899414 -7.2002 0.100586 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998
c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998zM483.6 269.2c8 -24.2998 12.4004 -50.2002 12.4004 -77.2002c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248
c45.7002 0 88.4004 -12.5996 125.2 -34.2002c-10.9004 -21.5996 -15.5 -36.2002 -17.2002 -45.7002c-31.2002 20.1006 -68.2002 31.9004 -108 31.9004c-110.3 0 -200 -89.7002 -200 -200s89.7002 -200 200 -200s200 89.7002 200 200
c0 22.5 -3.90039 44.0996 -10.7998 64.2998c0.399414 0 21.7998 -2.7998 46.3994 12.9004zM168 258.6c-12.2998 0 -23.7998 -7.7998 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998
c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996z" />
    <glyph glyph-name="grin-hearts" unicode="&#xf584;" horiz-adv-x="496" 
d="M353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.8008 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM200.8 192.3
l-70.2002 18.1006c-20.3994 5.2998 -31.8994 27 -24.1992 47.1992c6.69922 17.7002 26.6992 26.7002 44.8994 22l7.10059 -1.89941l2 7.09961c5.09961 18.1006 22.8994 30.9004 41.5 27.9004c21.3994 -3.40039 34.3994 -24.2002 28.7998 -44.5l-19.4004 -69.9004
c-1.2998 -4.5 -6 -7.2002 -10.5 -6zM389.6 257.6c7.7002 -20.1992 -3.7998 -41.7998 -24.1992 -47.0996l-70.2002 -18.2002c-4.60059 -1.2002 -9.2998 1.5 -10.5 6l-19.4004 69.9004c-5.59961 20.2998 7.40039 41.0996 28.7998 44.5c18.7002 3 36.5 -9.7998 41.5 -27.9004
l2 -7.09961l7.10059 1.89941c18.2002 4.7002 38.2002 -4.39941 44.8994 -22zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200
s89.7002 -200 200 -200z" />
    <glyph glyph-name="grin-squint" unicode="&#xf585;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008
c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.9004 -123.3 80c-1.7002 9.90039 7.7998 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM118.9 184.2c-3.80078 4.39941 -3.90039 11 -0.100586 15.5l33.6006 40.2998
l-33.6006 40.2998c-3.7002 4.5 -3.7002 11 0.100586 15.5c3.89941 4.40039 10.1992 5.5 15.2998 2.5l80 -48c3.59961 -2.2002 5.7998 -6.09961 5.7998 -10.2998s-2.2002 -8.09961 -5.7998 -10.2998l-80 -48c-5.40039 -3.2002 -11.7002 -1.7002 -15.2998 2.5zM361.8 181.7
l-80 48c-3.59961 2.2002 -5.7998 6.09961 -5.7998 10.2998s2.2002 8.09961 5.7998 10.2998l80 48c5.10059 2.90039 11.5 1.90039 15.2998 -2.5c3.80078 -4.5 3.90039 -11 0.100586 -15.5l-33.6006 -40.2998l33.6006 -40.2998c3.7002 -4.5 3.7002 -11 -0.100586 -15.5
c-3.59961 -4.2002 -9.89941 -5.7002 -15.2998 -2.5z" />
    <glyph glyph-name="grin-squint-tears" unicode="&#xf586;" 
d="M117.1 63.9004c6.30078 0.899414 11.7002 -4.5 10.9004 -10.9004c-3.7002 -25.7998 -13.7002 -84 -30.5996 -100.9c-22 -21.8994 -57.9004 -21.5 -80.3008 0.900391c-22.3994 22.4004 -22.7998 58.4004 -0.899414 80.2998
c16.8994 16.9004 75.0996 26.9004 100.899 30.6006zM75.9004 105.6c-19.6006 -3.89941 -35.1006 -8.09961 -47.3008 -12.1992c-39.2998 90.5996 -22.0996 199.899 52 274c48.5 48.3994 111.9 72.5996 175.4 72.5996c38.9004 0 77.7998 -9.2002 113.2 -27.4004
c-4 -12.1992 -8.2002 -28 -12 -48.2998c-30.4004 17.9004 -65 27.7002 -101.2 27.7002c-53.4004 0 -103.6 -20.7998 -141.4 -58.5996c-61.5996 -61.5 -74.2998 -153.4 -38.6992 -227.801zM428.2 293.2c20.2998 3.89941 36.2002 8 48.5 12
c47.8994 -93.2002 32.8994 -210.5 -45.2002 -288.601c-48.5 -48.3994 -111.9 -72.5996 -175.4 -72.5996c-33.6992 0 -67.2998 7 -98.6992 20.5996c4.19922 12.2002 8.2998 27.7002 12.1992 47.2002c26.6006 -12.7998 55.9004 -19.7998 86.4004 -19.7998
c53.4004 0 103.6 20.7998 141.4 58.5996c65.6992 65.7002 75.7998 166 30.7998 242.601zM394.9 320.1c-6.30078 -0.899414 -11.7002 4.5 -10.9004 10.9004c3.7002 25.7998 13.7002 84 30.5996 100.9c22 21.8994 57.9004 21.5 80.3008 -0.900391
c22.3994 -22.4004 22.7998 -58.4004 0.899414 -80.2998c-16.8994 -16.9004 -75.0996 -26.9004 -100.899 -30.6006zM207.9 211.8c3 -3 4.19922 -7.2998 3.19922 -11.5l-22.5996 -90.5c-1.40039 -5.39941 -6.2002 -9.09961 -11.7002 -9.09961h-0.899414
c-5.80078 0.5 -10.5 5.09961 -11 10.8994l-4.80078 52.3008l-52.2998 4.7998c-5.7998 0.5 -10.3994 5.2002 -10.8994 11c-0.400391 5.89941 3.39941 11.2002 9.09961 12.5996l90.5 22.7002c4.2002 1 8.40039 -0.200195 11.4004 -3.2002zM247.6 236.9
c-0.0996094 0 -6.39941 -1.80078 -11.3994 3.19922c-3 3 -4.2002 7.30078 -3.2002 11.4004l22.5996 90.5c1.40039 5.7002 7 9.2002 12.6006 9.09961c5.7998 -0.5 10.5 -5.09961 11 -10.8994l4.7998 -52.2998l52.2998 -4.80078c5.7998 -0.5 10.4004 -5.19922 10.9004 -11
c0.399414 -5.89941 -3.40039 -11.1992 -9.10059 -12.5996zM299.6 148.4c29.1006 29.0996 53 59.5996 65.3008 83.7998c4.89941 9.2998 17.5996 9.89941 23.3994 1.7002c27.7002 -38.9004 6.10059 -106.9 -30.5996 -143.7s-104.8 -58.2998 -143.7 -30.6006
c-8.2998 5.90039 -7.5 18.6006 1.7002 23.4004c24.2002 12.5 54.7998 36.2998 83.8994 65.4004z" />
    <glyph glyph-name="grin-stars" unicode="&#xf587;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008
c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.8008 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM125.7 200.9l6.09961 34.8994l-25.3994 24.6006
c-4.60059 4.59961 -1.90039 12.2998 4.2998 13.1992l34.8994 5l15.5 31.6006c2.90039 5.7998 11 5.7998 13.9004 0l15.5 -31.6006l34.9004 -5c6.19922 -1 8.7998 -8.69922 4.2998 -13.1992l-25.4004 -24.6006l6 -34.8994c1 -6.2002 -5.39941 -11 -11 -7.90039
l-31.2998 16.2998l-31.2998 -16.2998c-5.60059 -3.09961 -12 1.7002 -11 7.90039zM385.4 273.6c6.19922 -1 8.89941 -8.59961 4.39941 -13.1992l-25.3994 -24.6006l6 -34.8994c1 -6.2002 -5.40039 -11 -11 -7.90039l-31.3008 16.2998l-31.2998 -16.2998
c-5.59961 -3.09961 -12 1.7002 -11 7.90039l6 34.8994l-25.3994 24.6006c-4.60059 4.59961 -1.90039 12.2998 4.2998 13.1992l34.8994 5l15.5 31.6006c2.90039 5.7998 11 5.7998 13.9004 0l15.5 -31.6006z" />
    <glyph glyph-name="grin-tears" unicode="&#xf588;" horiz-adv-x="640" 
d="M117.1 191.9c6.30078 0.899414 11.7002 -4.5 10.9004 -10.9004c-3.7002 -25.7998 -13.7002 -84 -30.5996 -100.9c-22 -21.8994 -57.9004 -21.5 -80.3008 0.900391c-22.3994 22.4004 -22.7998 58.4004 -0.899414 80.2998c16.8994 16.9004 75.0996 26.9004 100.899 30.6006
zM623.8 161.3c21.9004 -21.8994 21.5 -57.8994 -0.799805 -80.2002c-22.4004 -22.3994 -58.4004 -22.7998 -80.2998 -0.899414c-16.9004 16.8994 -26.9004 75.0996 -30.6006 100.899c-0.899414 6.30078 4.5 11.7002 10.8008 10.8008
c25.7998 -3.7002 84 -13.7002 100.899 -30.6006zM497.2 99.5996c12.3994 -37.2998 25.0996 -43.7998 28.2998 -46.5c-44.5996 -65.7998 -120 -109.1 -205.5 -109.1s-160.9 43.2998 -205.5 109.1c3.09961 2.60059 15.7998 9.10059 28.2998 46.5
c33.4004 -63.8994 100.3 -107.6 177.2 -107.6s143.8 43.7002 177.2 107.6zM122.7 223.5c-2.40039 0.299805 -5 2.5 -49.5 -6.90039c12.3994 125.4 118.1 223.4 246.8 223.4s234.4 -98 246.8 -223.5c-44.2998 9.40039 -47.3994 7.2002 -49.5 7
c-15.2002 95.2998 -97.7998 168.5 -197.3 168.5s-182.1 -73.2002 -197.3 -168.5zM320 48c-51.9004 0 -115.3 32.9004 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996s79.7002 4.7998 105.6 13.0996
c10 3.2002 19.4004 -5.39941 17.7002 -15.2998c-8 -47.0996 -71.3994 -80 -123.3 -80zM450.3 216.3c-3.09961 -0.899414 -7.2002 0.100586 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996l-9.5 -17
c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998zM240 258.6
c-12.2998 0 -23.7998 -7.7998 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004
c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996z" />
    <glyph glyph-name="grin-tongue" unicode="&#xf589;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM312 40h0.0996094v43.7998l-17.6992 8.7998c-15.1006 7.60059 -31.5 -1.69922 -34.9004 -16.5l-2.7998 -12.0996c-2.10059 -9.2002 -15.2002 -9.2002 -17.2998 0
l-2.80078 12.0996c-3.39941 14.8008 -19.8994 24 -34.8994 16.5l-17.7002 -8.7998v-42.7998c0 -35.2002 28 -64.5 63.0996 -65c35.8008 -0.5 64.9004 28.4004 64.9004 64zM340.2 14.7002c64 33.3994 107.8 100.3 107.8 177.3c0 110.3 -89.7002 200 -200 200
s-200 -89.7002 -200 -200c0 -77 43.7998 -143.9 107.8 -177.3c-2.2002 8.09961 -3.7998 16.5 -3.7998 25.2998v43.5c-14.2002 12.4004 -24.4004 27.5 -27.2998 44.5c-1.7002 10 7.7998 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996
s79.7002 4.7998 105.6 13.0996c10 3.2002 19.4004 -5.39941 17.7002 -15.2998c-2.89941 -17 -13.0996 -32.0996 -27.2998 -44.5v-43.5c0 -8.7998 -1.59961 -17.2002 -3.7998 -25.2998zM168 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32
s14.2998 32 32 32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z" />
    <glyph glyph-name="grin-tongue-squint" unicode="&#xf58a;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM312 40h0.0996094v43.7998l-17.6992 8.7998c-15.1006 7.60059 -31.5 -1.69922 -34.9004 -16.5l-2.7998 -12.0996c-2.10059 -9.2002 -15.2002 -9.2002 -17.2998 0
l-2.80078 12.0996c-3.39941 14.8008 -19.8994 24 -34.8994 16.5l-17.7002 -8.7998v-42.7998c0 -35.2002 28 -64.5 63.0996 -65c35.8008 -0.5 64.9004 28.4004 64.9004 64zM340.2 14.7002c64 33.3994 107.8 100.3 107.8 177.3c0 110.3 -89.7002 200 -200 200
s-200 -89.7002 -200 -200c0 -77 43.7998 -143.9 107.8 -177.3c-2.2002 8.09961 -3.7998 16.5 -3.7998 25.2998v43.5c-14.2002 12.4004 -24.4004 27.5 -27.2998 44.5c-1.7002 10 7.7998 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996
s79.7002 4.7998 105.6 13.0996c10 3.2002 19.4004 -5.39941 17.7002 -15.2998c-2.89941 -17 -13.0996 -32.0996 -27.2998 -44.5v-43.5c0 -8.7998 -1.59961 -17.2002 -3.7998 -25.2998zM377.1 295.8c3.80078 -4.39941 3.90039 -11 0.100586 -15.5l-33.6006 -40.2998
l33.6006 -40.2998c3.7002 -4.5 3.7002 -11 -0.100586 -15.5c-3.59961 -4.2002 -9.89941 -5.7002 -15.2998 -2.5l-80 48c-3.59961 2.2002 -5.7998 6.09961 -5.7998 10.2998s2.2002 8.09961 5.7998 10.2998l80 48c5 3 11.5 1.90039 15.2998 -2.5zM214.2 250.3
c3.59961 -2.2002 5.7998 -6.09961 5.7998 -10.2998s-2.2002 -8.09961 -5.7998 -10.2998l-80 -48c-5.40039 -3.2002 -11.7002 -1.7002 -15.2998 2.5c-3.80078 4.5 -3.90039 11 -0.100586 15.5l33.6006 40.2998l-33.6006 40.2998c-3.7002 4.5 -3.7002 11 0.100586 15.5
c3.89941 4.5 10.2998 5.5 15.2998 2.5z" />
    <glyph glyph-name="grin-tongue-wink" unicode="&#xf58b;" horiz-adv-x="496" 
d="M152 268c25.7002 0 55.9004 -16.9004 59.7998 -42.0996c0.799805 -5 -1.7002 -10 -6.09961 -12.4004c-5.7002 -3.09961 -11.2002 -0.599609 -13.7002 1.59961l-9.5 8.5c-14.7998 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5
c-3.7998 -3.39941 -9.2998 -4 -13.7002 -1.59961c-4.39941 2.40039 -6.89941 7.40039 -6.09961 12.4004c3.89941 25.1992 34.0996 42.0996 59.7998 42.0996zM328 320c44.2002 0 80 -35.7998 80 -80s-35.7998 -80 -80 -80s-80 35.7998 -80 80s35.7998 80 80 80zM328 192
c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM328 264c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248z
M312 40h0.0996094v43.7998l-17.6992 8.7998c-15.1006 7.60059 -31.5 -1.69922 -34.9004 -16.5l-2.7998 -12.0996c-2.10059 -9.2002 -15.2002 -9.2002 -17.2998 0l-2.80078 12.0996c-3.39941 14.8008 -19.8994 24 -34.8994 16.5l-17.7002 -8.7998v-42.7998
c0 -35.2002 28 -64.5 63.0996 -65c35.8008 -0.5 64.9004 28.4004 64.9004 64zM340.2 14.7002c64 33.3994 107.8 100.3 107.8 177.3c0 110.3 -89.7002 200 -200 200s-200 -89.7002 -200 -200c0 -77 43.7998 -143.9 107.8 -177.3
c-2.2002 8.09961 -3.7998 16.5 -3.7998 25.2998v43.5c-14.2002 12.4004 -24.4004 27.5 -27.2998 44.5c-1.7002 10 7.7998 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996s79.7002 4.7998 105.6 13.0996c10 3.2002 19.4004 -5.39941 17.7002 -15.2998
c-2.89941 -17 -13.0996 -32.0996 -27.2998 -44.5v-43.5c0 -8.7998 -1.59961 -17.2002 -3.7998 -25.2998z" />
    <glyph glyph-name="grin-wink" unicode="&#xf58c;" horiz-adv-x="496" 
d="M328 268c25.6904 0 55.8799 -16.9199 59.8701 -42.1201c1.72949 -11.0898 -11.3506 -18.2695 -19.8301 -10.8398l-9.5498 8.47949c-14.8105 13.1904 -46.1602 13.1904 -60.9707 0l-9.5498 -8.47949c-8.33008 -7.40039 -21.5801 -0.379883 -19.8301 10.8398
c3.98047 25.2002 34.1699 42.1201 59.8604 42.1201zM168 208c-17.6699 0 -32 14.3301 -32 32s14.3301 32 32 32s32 -14.3301 32 -32s-14.3301 -32 -32 -32zM353.55 143.36c10.04 3.13965 19.3906 -5.4502 17.71 -15.3408
c-7.92969 -47.1494 -71.3193 -80.0195 -123.26 -80.0195s-115.33 32.8701 -123.26 80.0195c-1.69043 9.9707 7.76953 18.4707 17.71 15.3408c25.9297 -8.31055 64.3994 -13.0605 105.55 -13.0605s79.6201 4.75977 105.55 13.0605zM248 440c136.97 0 248 -111.03 248 -248
s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM248 -8c110.28 0 200 89.7197 200 200s-89.7197 200 -200 200s-200 -89.7197 -200 -200s89.7197 -200 200 -200z" />
    <glyph glyph-name="kiss" unicode="&#xf596;" horiz-adv-x="496" 
d="M168 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM304 140c0 -13 -13.4004 -27.2998 -35.0996 -36.4004c21.7998 -8.69922 35.1992 -23 35.1992 -36c0 -19.1992 -28.6992 -41.5 -71.5 -44h-0.5
c-3.69922 0 -7 2.60059 -7.7998 6.2002c-0.899414 3.7998 1.10059 7.7002 4.7002 9.2002l17 7.2002c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.2002c-6 2.59961 -5.7002 12.3994 0 14.7998l17 7.2002
c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.19922c-3.59961 1.5 -5.59961 5.40039 -4.7002 9.2002c0.799805 3.7998 4.40039 6.60059 8.2002 6.2002c42.7002 -2.5 71.5 -24.7998 71.5 -44zM248 440c137 0 248 -111 248 -248
s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z
" />
    <glyph glyph-name="kiss-beam" unicode="&#xf597;" horiz-adv-x="496" 
d="M168 296c23.7998 0 52.7002 -29.2998 55.7998 -71.4004c0.299805 -3.7998 -2 -7.19922 -5.59961 -8.2998c-3.10059 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996c-12.3008 0 -23.8008 -7.89941 -31.5 -21.5996l-9.5 -17
c-1.80078 -3.2002 -5.80078 -4.7002 -9.30078 -3.7002c-3.59961 1.10059 -5.89941 4.60059 -5.59961 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8
c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM304 140c0 -13 -13.4004 -27.2998 -35.0996 -36.4004c21.7998 -8.69922 35.1992 -23 35.1992 -36c0 -19.1992 -28.6992 -41.5 -71.5 -44h-0.5
c-3.69922 0 -7 2.60059 -7.7998 6.2002c-0.899414 3.7998 1.10059 7.7002 4.7002 9.2002l17 7.2002c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.2002c-6 2.59961 -5.7002 12.3994 0 14.7998l17 7.2002
c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.19922c-3.59961 1.5 -5.59961 5.40039 -4.7002 9.2002c0.799805 3.7998 4.40039 6.60059 8.2002 6.2002c42.7002 -2.5 71.5 -24.7998 71.5 -44zM328 296
c23.7998 0 52.7002 -29.2998 55.7998 -71.4004c0.299805 -3.7998 -2 -7.19922 -5.59961 -8.2998c-3.10059 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996c-12.3008 0 -23.8008 -7.89941 -31.5 -21.5996l-9.5 -17
c-1.80078 -3.2002 -5.80078 -4.7002 -9.30078 -3.7002c-3.59961 1.10059 -5.89941 4.60059 -5.59961 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004z" />
    <glyph glyph-name="kiss-wink-heart" unicode="&#xf598;" horiz-adv-x="504" 
d="M304 139.5c0 -13 -13.4004 -27.2998 -35.0996 -36.4004c21.7998 -8.69922 35.1992 -23 35.1992 -36c0 -19.1992 -28.6992 -41.5 -71.5 -44h-0.5c-3.69922 0 -7 2.60059 -7.7998 6.2002c-0.899414 3.7998 1.10059 7.7002 4.7002 9.2002l17 7.2002
c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.2002c-6 2.59961 -5.7002 12.3994 0 14.7998l17 7.2002c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.19922c-3.59961 1.5 -5.59961 5.40039 -4.7002 9.2002
c0.799805 3.7998 4.40039 6.60059 8.2002 6.2002c42.7002 -2.5 71.5 -24.7998 71.5 -44zM374.5 223c-14.7998 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5c-2.5 -2.2998 -7.90039 -4.7002 -13.7002 -1.59961c-4.39941 2.39941 -6.89941 7.39941 -6.09961 12.3994
c3.89941 25.2002 34.2002 42.1006 59.7998 42.1006s55.7998 -16.9004 59.7998 -42.1006c0.799805 -5 -1.7002 -10 -6.09961 -12.3994c-4.40039 -2.40039 -9.90039 -1.7002 -13.7002 1.59961zM136 239.5c0 17.7002 14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32
s-32 14.2998 -32 32zM501.1 45.5c9.2002 -23.9004 -4.39941 -49.4004 -28.5 -55.7002l-83 -21.5c-5.39941 -1.39941 -10.8994 1.7998 -12.3994 7.10059l-22.9004 82.5996c-6.59961 24 8.7998 48.5996 34 52.5996c22 3.5 43.1006 -11.5996 49 -33l2.2998 -8.39941
l8.40039 2.2002c21.5996 5.59961 45.0996 -5.10059 53.0996 -25.9004zM334 11.7002c17.7002 -64 10.9004 -39.5 13.4004 -46.7998c-30.5 -13.4004 -64 -20.9004 -99.4004 -20.9004c-137 0 -248 111 -248 248s111 248 248 248s248 -111 247.9 -248
c0 -31.7998 -6.2002 -62.0996 -17.1006 -90c-6 1.5 -12.2002 2.7998 -18.5996 2.90039c-5.60059 9.69922 -13.6006 17.5 -22.6006 23.8994c6.7002 19.9004 10.4004 41.1006 10.4004 63.2002c0 110.3 -89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200
c30.7998 0 59.9004 7.2002 86 19.7002z" />
    <glyph glyph-name="laugh" unicode="&#xf599;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.4 50.5996c37.7998 37.8008 58.5996 88 58.5996 141.4s-20.7998 103.6 -58.5996 141.4c-37.8008 37.7998 -88 58.5996 -141.4 58.5996s-103.6 -20.7998 -141.4 -58.5996
c-37.7998 -37.8008 -58.5996 -88 -58.5996 -141.4s20.7998 -103.6 58.5996 -141.4c37.8008 -37.7998 88 -58.5996 141.4 -58.5996s103.6 20.7998 141.4 58.5996zM328 224c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM168 224
c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM362.4 160c8.19922 0 14.5 -7 13.5 -15c-7.5 -59.2002 -58.9004 -105 -121.101 -105h-13.5996c-62.2002 0 -113.601 45.7998 -121.101 105c-1 8 5.30078 15 13.5 15h228.801z" />
    <glyph glyph-name="laugh-beam" unicode="&#xf59a;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.4 50.5996c37.7998 37.8008 58.5996 88 58.5996 141.4s-20.7998 103.6 -58.5996 141.4c-37.8008 37.7998 -88 58.5996 -141.4 58.5996s-103.6 -20.7998 -141.4 -58.5996
c-37.7998 -37.8008 -58.5996 -88 -58.5996 -141.4s20.7998 -103.6 58.5996 -141.4c37.8008 -37.7998 88 -58.5996 141.4 -58.5996s103.6 20.7998 141.4 58.5996zM328 296c23.7998 0 52.7002 -29.2998 55.7998 -71.4004c0.700195 -8.5 -10.7998 -11.8994 -14.8994 -4.5
l-9.5 17c-7.7002 13.7002 -19.2002 21.6006 -31.5 21.6006c-12.3008 0 -23.8008 -7.90039 -31.5 -21.6006l-9.5 -17c-4.10059 -7.39941 -15.6006 -4.09961 -14.9004 4.5c3.2998 42.1006 32.2002 71.4004 56 71.4004zM127 220.1c-4.2002 -7.39941 -15.7002 -4 -15.0996 4.5
c3.2998 42.1006 32.1992 71.4004 56 71.4004c23.7998 0 52.6992 -29.2998 56 -71.4004c0.699219 -8.5 -10.8008 -11.8994 -14.9004 -4.5l-9.5 17c-7.7002 13.7002 -19.2002 21.6006 -31.5 21.6006s-23.7998 -7.90039 -31.5 -21.6006zM362.4 160c8.19922 0 14.5 -7 13.5 -15
c-7.5 -59.2002 -58.9004 -105 -121.101 -105h-13.5996c-62.2002 0 -113.601 45.7998 -121.101 105c-1 8 5.30078 15 13.5 15h228.801z" />
    <glyph glyph-name="laugh-squint" unicode="&#xf59b;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.4 50.5996c37.7998 37.8008 58.5996 88 58.5996 141.4s-20.7998 103.6 -58.5996 141.4c-37.8008 37.7998 -88 58.5996 -141.4 58.5996s-103.6 -20.7998 -141.4 -58.5996
c-37.7998 -37.8008 -58.5996 -88 -58.5996 -141.4s20.7998 -103.6 58.5996 -141.4c37.8008 -37.7998 88 -58.5996 141.4 -58.5996s103.6 20.7998 141.4 58.5996zM343.6 252l33.6006 -40.2998c8.59961 -10.4004 -3.90039 -24.7998 -15.4004 -18l-80 48
c-7.7998 4.7002 -7.7998 15.8994 0 20.5996l80 48c11.6006 6.7998 24 -7.7002 15.4004 -18zM134.2 193.7c-11.6006 -6.7998 -24.1006 7.59961 -15.4004 18l33.6006 40.2998l-33.6006 40.2998c-8.59961 10.2998 3.7998 24.9004 15.4004 18l80 -48
c7.7998 -4.7002 7.7998 -15.8994 0 -20.5996zM362.4 160c8.19922 0 14.5 -7 13.5 -15c-7.5 -59.2002 -58.9004 -105 -121.101 -105h-13.5996c-62.2002 0 -113.601 45.7998 -121.101 105c-1 8 5.30078 15 13.5 15h228.801z" />
    <glyph glyph-name="laugh-wink" unicode="&#xf59c;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.4 50.5996c37.7998 37.8008 58.5996 88 58.5996 141.4s-20.7998 103.6 -58.5996 141.4c-37.8008 37.7998 -88 58.5996 -141.4 58.5996s-103.6 -20.7998 -141.4 -58.5996
c-37.7998 -37.8008 -58.5996 -88 -58.5996 -141.4s20.7998 -103.6 58.5996 -141.4c37.8008 -37.7998 88 -58.5996 141.4 -58.5996s103.6 20.7998 141.4 58.5996zM328 284c25.7002 0 55.9004 -16.9004 59.7002 -42.0996c1.7998 -11.1006 -11.2998 -18.2002 -19.7998 -10.8008
l-9.5 8.5c-14.8008 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5c-8.30078 -7.39941 -21.5 -0.399414 -19.8008 10.8008c4 25.1992 34.2002 42.0996 59.9004 42.0996zM168 224c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32z
M362.4 160c8.19922 0 14.5 -7 13.5 -15c-7.5 -59.2002 -58.9004 -105 -121.101 -105h-13.5996c-62.2002 0 -113.601 45.7998 -121.101 105c-1 8 5.30078 15 13.5 15h228.801z" />
    <glyph glyph-name="meh-blank" unicode="&#xf5a4;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32
s-32 14.2998 -32 32s14.2998 32 32 32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z" />
    <glyph glyph-name="meh-rolling-eyes" unicode="&#xf5a5;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM336 296c39.7998 0 72 -32.2002 72 -72s-32.2002 -72 -72 -72
s-72 32.2002 -72 72s32.2002 72 72 72zM336 184c22.0996 0 40 17.9004 40 40c0 13.5996 -7.2998 25.0996 -17.7002 32.2998c1 -2.59961 1.7002 -5.39941 1.7002 -8.2998c0 -13.2998 -10.7002 -24 -24 -24s-24 10.7002 -24 24c0 3 0.700195 5.7002 1.7002 8.2998
c-10.4004 -7.2002 -17.7002 -18.7002 -17.7002 -32.2998c0 -22.0996 17.9004 -40 40 -40zM232 224c0 -39.7998 -32.2002 -72 -72 -72s-72 32.2002 -72 72s32.2002 72 72 72s72 -32.2002 72 -72zM120 224c0 -22.0996 17.9004 -40 40 -40s40 17.9004 40 40
c0 13.5996 -7.2998 25.0996 -17.7002 32.2998c1 -2.59961 1.7002 -5.39941 1.7002 -8.2998c0 -13.2998 -10.7002 -24 -24 -24s-24 10.7002 -24 24c0 3 0.700195 5.7002 1.7002 8.2998c-10.4004 -7.2002 -17.7002 -18.7002 -17.7002 -32.2998zM312 96
c13.2002 0 24 -10.7998 24 -24s-10.7998 -24 -24 -24h-128c-13.2002 0 -24 10.7998 -24 24s10.7998 24 24 24h128z" />
    <glyph glyph-name="sad-cry" unicode="&#xf5b3;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM392 53.5996c34.5996 35.9004 56 84.7002 56 138.4c0 110.3 -89.7002 200 -200 200s-200 -89.7002 -200 -200c0 -53.7002 21.4004 -102.4 56 -138.4v114.4
c0 13.2002 10.7998 24 24 24s24 -10.7998 24 -24v-151.4c28.5 -15.5996 61.2002 -24.5996 96 -24.5996s67.5 9 96 24.5996v151.4c0 13.2002 10.7998 24 24 24s24 -10.7998 24 -24v-114.4zM205.8 213.5c-5.7998 -3.2002 -11.2002 -0.700195 -13.7002 1.59961l-9.5 8.5
c-14.7998 13.2002 -46.1992 13.2002 -61 0l-9.5 -8.5c-3.7998 -3.39941 -9.2998 -4 -13.6992 -1.59961c-4.40039 2.40039 -6.90039 7.40039 -6.10059 12.4004c3.90039 25.1992 34.2002 42.0996 59.7998 42.0996c25.6006 0 55.8008 -16.9004 59.8008 -42.0996
c0.799805 -5 -1.7002 -10 -6.10059 -12.4004zM344 268c25.7002 0 55.9004 -16.9004 59.7998 -42.0996c0.799805 -5 -1.7002 -10 -6.09961 -12.4004c-5.7002 -3.09961 -11.2002 -0.599609 -13.7002 1.59961l-9.5 8.5c-14.7998 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5
c-3.7998 -3.39941 -9.2002 -4 -13.7002 -1.59961c-4.39941 2.40039 -6.89941 7.40039 -6.09961 12.4004c3.89941 25.1992 34.0996 42.0996 59.7998 42.0996zM248 176c30.9004 0 56 -28.7002 56 -64s-25.0996 -64 -56 -64s-56 28.7002 -56 64s25.0996 64 56 64z" />
    <glyph glyph-name="sad-tear" unicode="&#xf5b4;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM256 144c38.0996 0 74 -16.7998 98.5 -46.0996
c8.5 -10.2002 7.09961 -25.3008 -3.09961 -33.8008c-10.6006 -8.7998 -25.7002 -6.69922 -33.8008 3.10059c-15.2998 18.2998 -37.7998 28.7998 -61.5996 28.7998c-13.2002 0 -24 10.7998 -24 24s10.7998 24 24 24zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM162.4 173.2c2.7998 3.7002 8.39941 3.7002 11.1992 0c11.4004 -15.2998 36.4004 -50.6006 36.4004 -68.1006
c0 -22.6992 -18.7998 -41.0996 -42 -41.0996s-42 18.4004 -42 41.0996c0 17.5 25 52.8008 36.4004 68.1006z" />
    <glyph glyph-name="smile-beam" unicode="&#xf5b8;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM332 135.4c8.5 10.1992 23.5996 11.5 33.7998 3.09961
c10.2002 -8.5 11.6006 -23.5996 3.10059 -33.7998c-30 -36 -74.1006 -56.6006 -120.9 -56.6006s-90.9004 20.6006 -120.9 56.6006c-8.39941 10.2002 -7.09961 25.2998 3.10059 33.7998c10.2002 8.40039 25.2998 7.09961 33.7998 -3.09961
c20.7998 -25.1006 51.5 -39.4004 84 -39.4004s63.2002 14.4004 84 39.4004zM136.5 237l-9.5 -17c-1.90039 -3.2002 -5.90039 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004
c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996zM328 296c23.7998 0 52.7002 -29.2998 56 -71.4004
c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002
c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004z" />
    <glyph glyph-name="surprise" unicode="&#xf5c2;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM248 168c35.2998 0 64 -28.7002 64 -64s-28.7002 -64 -64 -64
s-64 28.7002 -64 64s28.7002 64 64 64zM200 240c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z" />
    <glyph glyph-name="tired" unicode="&#xf5c8;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM377.1 295.8c3.80078 -4.39941 3.90039 -11 0.100586 -15.5
l-33.6006 -40.2998l33.6006 -40.2998c3.7998 -4.5 3.7002 -11 -0.100586 -15.5c-3.5 -4.10059 -9.89941 -5.7002 -15.2998 -2.5l-80 48c-3.59961 2.2002 -5.7998 6.09961 -5.7998 10.2998s2.2002 8.09961 5.7998 10.2998l80 48c5 2.90039 11.5 1.90039 15.2998 -2.5z
M220 240c0 -4.2002 -2.2002 -8.09961 -5.7998 -10.2998l-80 -48c-5.40039 -3.2002 -11.7998 -1.60059 -15.2998 2.5c-3.80078 4.5 -3.90039 11 -0.100586 15.5l33.6006 40.2998l-33.6006 40.2998c-3.7998 4.5 -3.7002 11 0.100586 15.5
c3.7998 4.40039 10.2998 5.5 15.2998 2.5l80 -48c3.59961 -2.2002 5.7998 -6.09961 5.7998 -10.2998zM248 176c45.4004 0 100.9 -38.2998 107.8 -93.2998c1.5 -11.9004 -7 -21.6006 -15.5 -17.9004c-22.7002 9.7002 -56.2998 15.2002 -92.2998 15.2002
s-69.5996 -5.5 -92.2998 -15.2002c-8.60059 -3.7002 -17 6.10059 -15.5 17.9004c6.89941 55 62.3994 93.2998 107.8 93.2998z" />
  </font>
</defs></svg>
assets/webfonts/fa-regular-400.eot000064400000103056150753125220012743 0ustar00.���LP*l�6Font Awesome 5 Free RegularRegularL331.264 (Font Awesome version: 5.14.0)6Font Awesome 5 Free Regular
�PFFTM�T����GDEF*���OS/2A�SX`cmapǠ���gasp����glyf|�7	 n�headFQ
�6hhea5�$hmtx�t�Tloca�eȸ�6maxp��8 name9�1*w�[post�iA�}�KC��l*_<��4�z�4�|��������������@��LfGLf��PfEd�������.�T:� ���@��@@����@@��@��@@�����`������@���@���������������������@���@�����@����������@��@��@����@�@���������������������������������*����"�$�.�>�D�Y�n�p�s�u�|�����������������������3�D�F�J�N�R�\�e����������������
�I�M�[�]�t�z����������������(�[�������V�g�z������������������"�$�.�>�D�W�n�p�s�u�{�����������������������3�D�F�J�M�P�[�d���������������
�G�M�T�]�q�y���������������(�X�������V�g�y�������������������������������|zwZYB81-(�����������}zpf`USC
�
�
�
�
�
�
�
�
�
�
�
�
�
�
m
H
��g��$
�
�
�
�
�
�
�@|��n��*��b���H�*N�`�`�	\	�

8
�
�8�4��

�L��B���<l�6�&d��J�B��J�j�,j�B��d���X�f�B��\�� \ � �!8!~!�"T"�#<#�#�$X$�$�%%>&0&�&�':'p'�'�((V(�))l)�*8*�+ +h+�,4,�,�-�-�.P.�/r00�1
1�1�2Z2�3z3�4$4~4�5
5|5�6D6�6�7L�����$"/.676>64'&'.7�$�,�$+u**u$O##O$��UN��OT$	**	�W"##"W���1�"/&?'&6?627/7j �� j�A	(	Ad�>>�d||&g�	DD
�g&���b~~b�BB����"*2%2#!"&=46322654&#"#"&#"6"&462&"264:7O��O7
344b3#99#3�xTTxThP88P8�O77O�#33#�TxTTx�8P88P����2"&4264&"'&=4;2�Α�Α��uu�uU C	��Α���u�uu�
>��0

���'3?GOW2#!"&5463254#!"3%+"=4;25+"=4;25+"=4;2"&462"&462"&462��`��lj����������`�pT��\TT	uu���(8276#"&#"+"&5&5466325#"&#"63232P,A+=C%gA?		')%g�E;f9-4Lf9p
�( S		� ��   � ����
2'4634#!"7P�� �����0pp��Tv��T�#.2#!"&5463254#!"362"&457676��`��l9""((xX��� �����""�0((xXP��A�*/7%76#!"&5463!2+!547&?62'7'&76� 
�� �`���Z
0+t:�A�+:g �`
 ��r��
Z+10:�A
+:����+2"&4264&"%//&?'&?676�Α�Α��uu�u.>>	>>	>>	>>	��Α���u�uu��>>	>>	>>	>>����2"&4$"264/&?676�Α�ΑK�uu�u<		�	[			;�	��Α��au�uu�
	�		[	=�	����8@2"&4264&"%+"&=4>7>54&#"/&7632"&462�Α�Α��uu�u3.
				%@&?A""��Α���u�uu�� 		
64�""@�#/2"&54732654'6#".'&47>2267." /AA]A
!-*�[<oV*����J%%�%J[0A]AA.!
aPa-O5Paa�MCCMMC,A#������3F#"'&54?632632#"&'7"'632'67.27#"&'&4767z
��
-AY-Ap/54<oV&%J/54[�*&%��?-r?-�$-O5)"!CM��$aP)"!CM����#/;Ggo7#"=4;27+"=4;2+"=4;2+"=4;2+"=4;2+"=4;27#!"&546;54;2354;232!3!2�((`((`((`((`((�((`��0(�(00��T�(((((�(((((��`4444��*�������&2#"'#"&7>7&54264&"6?�Ԗ�j/.AJ
5Vzz�z(
&�z�z.%8FV�^�^^B3*

�2#!"&546;25#"/#��`�
	7��
	7�@� 	7���	7��H�"&%2#!"&546;32%763!54+'#"7!P�p�@��P?�@��P��M�1� @0j�h*@���/DT%"&=46;2+"&=46;2#3"&=46;2#2#!"&546;27"&=46;2#��J�		�0
		=`������0		
P		��0FF����E�#6M%#"'#"&'&'#"&767&54632%3264&"67654&'32?&/
A<@g;B
,zV@hKe�KA__�_x@1/R21R>
'6,'#+7B^6,	Y<71B\BB.# /#$;(E,2 �� �%&?'&6?63 � j�A	>�d?7D	�g&�D~b������#AQ&.7>&>6766&&7>2>7>&6&.7>76�*

'>D88(%6*

'>D88(%5
,36<FD 
,*(32;" �
	)`

t7�*6%(88D>&
*6%(88D>&
i+
 DF<63+
	!"F<63
`)	

7t��@� ,82#!"&5463"!54#2=!37+"=4;2+"=4;2

� �� �HH����

��`0**����d((((@�#+%#!"&=4?63!2!'5!$"&462"&4627	� 	i��N�Ni� �M����pp��M���2U]2++"&++"&=46;2327167>322654&+4654#";2'>'>'4&"2�"1
$5."S
	
@

@
			*2V�,
 **=
	
�61"

"(3(�$/$v,#$�= 
&
����2V^546;&546321;6;2+"'#"+"&'&7&'#"&7;;2675&'&'.#"#""2641"V2*			
@	
@
	
S".5$"10[
	
=L 
,�
	��"1$/$�(3("
1"
&
 =&�$#,

�����3U]46326+"&=4754'1&'.5463274&#""&#"3>=4.."264j1"'
"(3(
�
/$v,#$�&= 
&
�m"1'$5."S
	
@		
@
			

*2V�,
 L=
	
�����1S["&=#"&54>76716=&=46;2''26=6767=4&'#3263264&"�"1$/
�(3("
1"
&
 =&�$#,�@1"V2*


			
@

@
	
S".5$"10[
	
=L 
,������*9B++"&546;546;22=#"&=#"3%2=#"&=#"354/&+�P�P�t`JTX
j�0
~��0@0�>*���`�
X��
0@����+3;#!"&5463!2#3254/+"&=#"362"&4264&"���N��zN
�
*�H44H4G"">��`"P��Nd

h���4H44HL""����2#!"&5463254#!"3���Z�����`�pT��� 22#!"&5463!32>567!5".'&'��`��`#dd#�`�#FF#��� 0)N		N��7

7��`�B2#""&54653+"/&2#4767654&#"#.'&546�		&		8(�	N	PIg,0+ K54L +0,ep		&		(8��++%%�gIB25=1$05KJ60$1=%
2BGi������%39%#!".54767>54675462!&5414&"0"&53�	��		H8%:!��8,B\B�4&�V

	
C,:V

,B&,C;d.BB.d�%����#/Ka}754;2+"3"=4;2#+"=4;2"=4;2#!54;46;546;23232%354;23#+"&=#7#54+"#";;2=32=4�((�(t((L(��@
X
p
X
��p(p@
p
@��((((T(4((|$${	(

(	��CC_

0����+7%++"=#"=4;54;2327#!"&5463!24#!"3!2`X XX X`��`0��T� XX XX���`��T������2"&4264&"�Α�Α��uu�u��Α���u�uu�����/2"&4264&"6"&462"&462>"'&>2�Α�Α��uu�u��/�/!f��Α���u�uu�c\
99
'����02"&4264&"6"&46262"&42&'&".7�Α�Α��uu�u�so~)R��Α���u�uu�c-m1
����+2"&4264&"6"&46262"&42+"&463�Α�Α��uu�u�s(

�

��Α���u�uu�c-}@�'3?KWco{����2#!"&54634#!"3!2%+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2%+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2� �� ���```�����````b����� �� ���n������'2#!"&546;54;2354;225!3���0(�(*�����`4444�p*������%.=46"&462264&"t�	4�Α���u�uu��e
	�Α�Α��uu�u����'7"=4;2#7#!"&5463!24#!"3!2l�l��`0��T�  ��`��T������#2#!"&5463!%/&?676���`��<�	[			;�		���`�p`���		[	=�			��A�2Y&='.54767675467'".>7676#!"&546;2+"3!2=42�;1+6(-$50I;"��!0<*&>))
���VT"(� 6  )K-;(!9 ����h)A'%
�+`	
��	����
%6&?6764&"2"&4264&"\B�B9ZΑ�Α��uu�u>�B�\�Α���u�uu�����
&732/&6%#!"&5463!24#!"3!2}�ccK��`0��T�cc���`��T������
&%#"&?67#!"&5463!24#!"3!2C�ccu��`0��T�cc�`��T������
&7546&#!"&5463!24#!"3!2�cc��`0��T]�cc��`��T������#!"&546;2'!#"&=#r���.L� h
�^���rLL�� 
h����),5%+"=4;22+"=43%#!"&546;2'3#"&=# ������T�Lh
��T����T<L�� 
h�`����.T\%#*#".#+"&=46;>7>3232>'2654&+4654.#+2;2'>4&"2�3&-E/@

c
-3	$(Kh	
m&%@

���!$*

�
 #	:/45'N)
9

G%�&B"U����.6[%+#".'.'#+"&=46;232>3:32264&"2>54&#6&'6&'6+"#322>54&5�2$$	3-0

@

@	.G-88�]b



@%&m"(�"454/:?	
�
3,$h	
)"B&�#6G

9���(8@H%/"/&?'&4?'&6762767'7''77&2"&4264&"�<G(
+(G<<G(,(G5MM[44[MM[44[�V==V=Q.!!.!�+)G<<F)+)G<<G54[MM[44\MM�=V==Vc!.!!.����&"&463276"3267&5467&j��j	%a>!"$h;VzzV0UT�2*@�Ԗ#(
>$?P9-2�z�z)$mU2T����
&/&?67#!"&5463!24#!"3!2cc���`0��T#�ccE��`��T������"264$2"&42"&4S�uu�u��Α�Α�B//B/�u�uu���Α��/B//B����#/;GYe54;2+"3"=4;2#"=4;2#3"=4;2#+"=4;2"=4;2#!54;463!232%354;23%�((�(�(X(t((L(��@
P
��p(p��,((((`((((T(4((|$$�

�HCC�����7=DJQ#!"&546;2'!#"&=##"''&76767&766>77"6467&'6&7r���.L� h
��

6'.
$
3�N-

x^���rLL�� 
h��D
.0*[�"�
#����R#!"&546;2'!#"&=#32+"'&/+"'.'&6;2476;21676r���.L� h
��


	


	
^���rLL�� 
h�&b		+	H		78	
`b		aa
����B#!"&546;2'!#"&=#2+"'&'+"&?'&6;26763r���.L� h
��#...		^���rLL�� 
h�=N7NN($����6>#!"&546;2'!#"&=#54;2*#+"73264&+r���.L� h
�HE#	
0

^���rLL�� 
h���%
/c����(0#!"&546;2'!#"&=#57676&2"&4r���.L� h
� ((X�((^���rLL�� 
h��@((X��((
����!$1@LP3#7#53#3#57#!"&546;23#"&=##5#7#"&?53322654."7#5�  @    @ ����Lh
0 P�
 
-		@   �      ���&L�� 
h�`�W'a  �

�  ����/=#!"&546;2'!#"&=#/#"&=46;7664'&>.r���.L� h
��$$)
	^���rLL�� 
h��$8$Y

:����7#!"&546;2'!#"&=#6/+"&=46;2r���.L� h
��5hh^���rLL�� 
h�p4%h%����$'0<M7#"/&?67#!"&546;23#"&=#7/&?6&?6/5&?�99!����Lh
��	7		7!99!c66����&L�� 
h�`�	�		�O66����$+"&46227''64&"264''&"67&7gΑ�Α��/p/522�/B//B�5/p/522�58�Α��D5UB//B//p/522�5/p/522�����!6#"/&='.77'76�2<
	p+) r�%%�;�`l���!�|.;T0<�2$��-�	����� '.5#"&'&676326767'7&'7'757/?'#� ^a&'O� ^a&'4_H:'G,4%=/@G�<&
G@]+G'%e:@,O+
b� ^Mb� *N�
*/%L=�4J/}45/J��>J%?4I0==	@�+/;GS_2#!"&546;>32=#!7"=4;2#'3554;2+"754;2+"=4;2+"54;2+"(

�!
+@�`=�lPx���hhhhhh�
��
!
���� ��x``P((��<������8@'&?63!"&54767>57"'675462'&5414&"&53z


��


��>��				.	|"&&%:!;B.&�


�


��0

	
*#D�

,B&7&/.B�`%����42"&4264&"#"&54>32'&#"3276�Α�Α��uu�u3)?=O$@(;&!$*$$
��Α���u�uu�)Q<'@%#	%"2�3K2#!"&5463254#!"37&546'&76&546'&76��`��l�R@AR@=�R@AR@>��� ����V6/.4"%6/.4"%	���+/37;Ocgo#32+"=!+"=4;#"=4;2!54;2'35!355#!5#'#"=!+32!543'2+"=#"=4;2'355#+�H��HH@H@ �@  � ��@�T���`8L@�HHHH@    ��    @���4�4pp�pL
��@�CGKOSgk���%#32+"=#+"=4;5#+"=4;5#"=4;2354;2+354;2'35355#5#354;5#"=#+325#%5#"=#32+"=#3235435#5#4H�HXHH�HXH�   ��   @��� 8XHX�4   �HHH�HHH�  �       ����  @�XH@    ����%#!"&5463!27#!3546;�T��`�LLP���
hdT`��L��h
���(42+#!"&546;54632=#"&=#"3%254#!"3�0��0��*������0@0�0*���`4������%+132#!"=4;467.5#"=43!2#!2654&"p2//2��2//2h��KjKKjK�?ss??ss?LllL�`LllL���)q6+"&5<&4&/&=46>62654&+"&=4&+"&=4&+"&=4&#"/&=4&354?6�$C	+
�
b'8#I$@:H						a�+q,(rd	!

U"49#,)(
�r

		

		(
)		

t)

9U
d������Y6+"/&676546>654&+"&=4&+"&=4&+"&=4&/.376u.�
w!3 P4			

	
s�O)��
�7~!($%)!ф


L		�
�		�
�		�
�	&	�w��� ]"&7.7#"&463'.>6#'32?6=4/&#"/&+";2+";2#""(
X++^O8�+1b"wFFw	b
�
�
	��		

		

 6 
#+<+	88857'�%0�7@	;

			��@�A%#5'&+"&546;7#"&=463!254/&#!";2+";2-�d�!4$r�!/!&'v�
��
�	r�

c�$|H&!$40/!!!��L�
@	'���.a+"/&5476'&5467&54>767>3266&&?6&"/././&;267�:
E-k=,\('&)+ /+ $
	4
[*k+L	�*8*V R
*
6"	Rh
��

��iz"$0V#������^p��6+"/&676546266&;2?6=4&+"&=4&+".=4&+"&=4&'546;2+"&7546;2+"&754;2+"f!9%�"m!'7'!-��m	�			DL		K
(#Tw�7�''J
w

�wT

	

	#

#	�

�	R`		`	`		`		``������#^6+"/&7'&676'462654&+"&=4&+"&=4&+"/.;2?6j(%�'758%	+<+#0			

;@7�#Fw"b1+�8O^++X�F

		

		��	
��
b	w����,52"&4264&"+"/#+"&=46;2'254.+�Α�Α��uu�u6+0 'Of(: ��Α���u�uu�#ZT�U3)!

@����;C%++"=#"=4;54;2327#!"&546;54;2354;232!3!2PLLLLp��0(�(00��T�LLLL���`4444��*������+37"=4;2#7#!"&546;54;2354;232!3!2|�|��0(�(00��Tx��`4444��*������;C%//&?'&?6767#!"&546;54;2354;232!3!28	66	66	66	66���0(�(00��TI66	66	66	66���`4444��*������'72#!"&546;54;2354;225!3%/&?676���0(�(*���	K			,o		���`4444�p*��Ɏ	K	-n			��@�!&+2#"/#"&54?6327673#0
�



��
�



����������	��5=?	Z5=?:��.��/,�!/�����*2+#"=#"&54634&#!";?326�&&�}`&&�	��		�C
�	�&��&^T& &�� 		��	<2
	����/2"&4264&"%+"&=46;2+"&=46;2�Α�Α��uu�u(	0		0	p	0		0	��Α���u�uu���		�		�		�		����"&462264&"+"&=46;2��Α���u�uu��	�		�	'Α�Α��uu�ux�		�		����#+Lfn3#"&5#'#"'&/#+376;2264&"6/&'&6?#"##36???5#'&+"6?6264&"y@
:#;U			@v0��Q			�l	-	'9>*a!
%		�-=TA7
gn			@�

 	L		0��

		
W	;#>�X

 
$I�><3
S0

		
���5`#!"&54767>254'&'"."#3!2'#".'&'&?6232>7676��`(_dQ4/V� 
7
7
	7

7	��!K
	O���B)
	%F��
-

-
	,


,	����'+3H#32+32+#!"&5463!232!6"&462"&=463232632#���@P���4&&4&�	
''
	 @(@(0�0(����`�&4&&4�""��@�0<HT2#!"&5463!6"&462"&=463232632#7"=4;2#'"=4;2#'"=4;2#� � �4&&4&�	
''
	>ppppp���`�p`���&4&&4�""@@@����"42"&4264&"&2"&427&'#"'%654&"6322632�P88P8L((7Α�Α��8.-%%u�u%)@%$%@X8P88PX((ԑΑ���0&

'$4@SuuS@44

����'<2#!"&5463!"&46;2#"&462"&=463232632#P�� ��`		`		4&&4&�	
''
	��`��0��``				�&4&&4�""��@�$0<HP2#!"&5463!3&54632326327"=4;2#'"=4;2#'"=4;2#"&462� � !''9ppppp�4&&4&���`�p ��""P@@`&4&&4���2#!"&54635!3!2��`��`����`�v���� !"&463!2�@

�
 ���&2+#!"&546;54635!%!32�0��0��������0@0�0��`@0��������%/&//+"&=/&4?5/.?&/&?'.?>7'&/&6?'&?6'&6?65'&?6546;276?>76/76�'	H;		:H	'
'"PHHP"''	H:		:H	(
'"PHHP"]"Q*T;.		.<T*Q#	**	"Q*T;.		.<T*Q#	**	����-59E%"=4;2#2+#!"&5#"&=46;76;2'3'&+"!7"=4;2#�		��		R"d"��^��L ��P		��P		99�`P��0����@�$4<G%#!"&546;#"3!2=!"3!2=452#!"&5463"&4627676!���
tZ��t��x""1((hH�� 0�
P��0�_""�((hHP����12#!"&546;462&"2644++"=#"3!2P��P&4&6x*�*���`&&�lT$$������"2"&4264&"74;232/&6;�Α�Α��uu�u�(CddC��Α���u�uu��tdd����"6462"$4&"27+/&?632�Α��/u�uu�-tddtYΑ�Α��uu�u�(CddC����""&462264&"54;546&=#"��Α���u�uu�-tddt'Α�Α��uu�u�(CddC����""&462"264#"=#"&?6+gΑ�Α��uu�u�(CddC8�Α��/u�uu��tddt����C�!$2"'&?63#3%3'#37'377#�d����dM94D��4�4�?D4dxD3aax4����U�0``````�������%5E2"&454+54+"327#";22#!"&54635"&5!#2!46P88P8�@�

��

0%�`%%�%0B\BB\fX
7
��

@
��%%�%%���72#!"&54634#!"3!2'//&?'&?676��`��l�l==			==			==			==		���`�vT���==			==			==			==		�����+>62"&462"&462"&4&2#"'#"&7>7&54264&"6?����Ԗ�j/.AJ
5Vzz�z(
&��z�z.%8FV�^�^^B3*

����'92"&4264&"$"'&>276&"&46272/&"&7>�Α�Α��uu�u6/�/!f!��%
&	��Α���u�uu�$
99
''A)				
���� 3H2"&4264&"62&'&".?"&547'.>6"&5"'&>?6�Α�Α��uu�u�j">'	

P	
�
	P
��Α���u�uu�)
q

	

@	

	����+GO2"&4264&"6"/"&4?'&4627626"/"&4?'&462762"&4�Α�Α��uu�u���4&&4&��Α���u�uu�kL�&4&&4	����'/7?K2"&4264&"$2"&4264&"62"&4&"&462264&"62"&42+"&463�Α�Α��uu�uB//B/<((&X/B//B5((&�

�

��Α���u�uu��/B//BQ((,B//B/�((,�����-2"&4264&"6"&46:"&42'&"&76�Α�Α��uu�u��N<=
	141	
��Α���u�uu��]"		
����/6=AEIMT[2"&4264&"6"&462"&4622+"&=4635#375#"5#75#5#75#5#326=4&+�Α�Α��uu�u���(		h000p000h(		��Α���u�uu�c#  `	(	((((		����'/2"&4264&"%6#".'&62&"&462"&462�Α�Α��uu�u2M)6()�����Α���u�uu�"
".&

N����
#+97"'&'6762"'&'6762&2"&4264&"%6"&'&62�q�Α�Α��uu�u2MRM)��		""		""		""		""ڑΑ���u�uu�"
".."

����4E2"&4264&"%6#".'&62'&7>32/&"7&7>2/&"�Α�Α��uu�u2M)6()��#
	
&
	�#&#
	
&
	��Α���u�uu�"
".&

V)))����
+EZ"&5476".'&62766/&"'&7>27"&4632&#"2654'2$"'&7>32/�,..�6')�)M`
	
&
	#&#d�Α�gC:2:Suu�u��&
	#
	 "EE��%


".�)),%(g��Α" u�uuS!)����
4<D%6"&'&62/.7>7>7/&67676&2"&4264&"bMRM)�pF�F	
�Α�Α��uu�u�
".."

>
FDF	
��Α���u�uu�����,:2"&4264&"%6#".'&62.?'&63'&4?6�Α�Α��uu�u2M)6()��
!!PP�PP	!!
��Α���u�uu�"
".&

/((0000((�����/;JYh76"&4767&67632&#"%67#"'67327>'&76762+&/.?"'&?6367>'&676u/")7Hg<5/6S:.{$9Ig30)-S:1C/"��
	
4

Z4	

4

&.:T&@R"/6D�6I;-�E�9I;0�TR"/s
Z	
4Z	
4p/%T:����6P2"&4264&"%6"&'&62'7'&6?62/&%/&?'&6?62�Α�Α��uu�u2MRM)��#
##
��Α���u�uu�"
".."

G#		#N	##	������%5CTi76"&476"'&'&6"&'6726%&>2&.""&'&62766/&"'&7>2&"'&7>32/u/"M"/Rl#l~l#_r_��'Em~mE&p�p�RM)�)
	
&
	#&#�&
	#
	�R"//"RP 2;;2 1;;�>f;;f?	H``�."


"|))")����;CK2"&45'&"/.32>>54&"&=&'&6276&2"&462"&4�Α�Α8%1;u�u;1)�)����Α��,		+'_9SuuS9_,


,�����;HU2"&45'&"/.32>>54&"&=&'&6276/&4?&?'&6�Α�Α8%1;u�u;1)�)!!
	PP�P	
!!��Α��,		+'_9SuuS9_,


,((0000((����!)1Ge2/&"&7>2"&4264&"62"&4&2"&45'&"/.32>>54&"&=&'&6276�

&
%�B//B/<((&�Α�Α8%1;u�u;1)�)
					4/B//BQ((,��Α��,		+'_9SuuS9_,


,����%-52/&"&76"&4626"&'&622"&4264&"4(%
&
Z�MRM)��Α�Α��uu�u						$T
".."

6�Α���u�uu�����)19A2"&4#"'&?64/&4?64/&762"&4264&"$2"&4��##)�Α�Α��uu�uq				%�Α���u�uu������#EU2/&"&7>&2"&4264&"%#"'&?64/&4?64/&7662/&"&76�#
&
	
Α�Α��uu�u##)&#
&
	
()��Α���u�uu�				�)����!4<Ol%#"'&?64/&4?64/&7637&"&7>32'&462"/&>7676#"&4632&#&'654&"320##)F&

%�ZS
�/4g��gg�
u�uuS-�					L

		�!	S	1(�Α�g.,
 Suu�u����-2"&464&"6"&462"&4622+"&'&63�Α�ΑKuu�uu���E..E��Α���u�uu�u�S	-<<-	����/=2"&464&"2/&"&76&7>2/&"2+"&'&63�Α�ΑKuu�uu�&#
&
	
�
#&#	
&
�E..E��Α���u�uu�u0)#))M	-<<-	����)72"&464&"/&4?6&?'&62+"&'&63�Α�ΑKuu�uu�!PP�	
!!P�E..E��Α���u�uu�u(00b((0R	-<<-	����!)72"&464&"2/&"&7>"&4622+"&'&63�Α�ΑKuu�uu�
&	l�E..E��Α���u�uu�u$
				2S	-<<-	����2"&4264&"62"&462"&4�Α�Α��uu�uk���Α���u�uu������)1CO2"&4264&"$2"&42654'"&547&"&4622654'"&5472+"&463�Α�Α��uu�u<**<*7"@*<**<F"�

�

��Α���u�uu��*<**<F

/<**<*H

�����!3CK2"&4654&"5462275462&/&"&7>3262/&"&762"&4�Α�Α�8u�u8-f-�	&

%p(%
&
>.!!.!��Α���:PSuuSP:r

��

2						
*				D&4&&4����&.92"&4264&"72&'&#"&46&"&46262"&46"&54�Α�Α��uu�u�<&&
As�$"��Α���u�uu�#.@-P1����4E2"&4264&"%>"'&>2''&7>32/&"62/&"'&76�Α�Α��uu�u/�/!f�	#
	
&�&#
	
&
	��Α���u�uu�
99
'�)%)����'2"&4264&"62"&46"&46:"&4�Α�Α��uu�u�4&&4&���Α���u�uu�;&4&&4{����)82"&4264&"$/&4?&?'&62'&".76�Α�Α��uu�uC
!!
	PP�P	
!!PHC
#r#��Α���u�uu��((0030((0J6'	
'V6��"^&�!
,��1U���	4	6Q	�	D�	6&	Lz	0�	
X:	.�	&		E	6]	&�	�Copyright (c) Font AwesomeCopyright (c) Font AwesomeFont Awesome 5 Free RegularFont Awesome 5 Free RegularRegularRegularFont Awesome 5 Free Regular-5.14.0Font Awesome 5 Free Regular-5.14.0Font Awesome 5 Free RegularFont Awesome 5 Free Regular331.264 (Font Awesome version: 5.14.0)331.264 (Font Awesome version: 5.14.0)FontAwesome5Free-RegularFontAwesome5Free-RegularThe web's most popular icon set and toolkit.The web's most popular icon set and toolkit.https://fontawesome.comhttps://fontawesome.comFont Awesome 5 FreeFont Awesome 5 FreeRegularRegularFont Awesome 5 Free RegularFont Awesome 5 Free RegularFont Awesome 5 FreeFont Awesome 5 FreeRegularRegular���	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJ�KLMNOPQRSTUVW�XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~�����������������������heartstaruserclocklist-altflagbookmarkimageedittimes-circlecheck-circlequestion-circleeye	eye-slashcalendar-altcommentfolderfolder-open	chart-barcomments	star-halflemoncredit-cardhddhand-point-righthand-point-left
hand-point-uphand-point-downcopysavesquareenvelope	lightbulbbellhospitalplus-squarecirclesmilefrownmehkeyboardcalendarplay-circleminus-squarecheck-squareshare-squarecompasscaret-square-downcaret-square-upcaret-square-rightfilefile-alt	thumbs-upthumbs-downsunmooncaret-square-left
dot-circlebuildingfile-pdf	file-word
file-excelfile-powerpoint
file-imagefile-archive
file-audio
file-video	file-code	life-ringpaper-planefutbol	newspaper
bell-slashclosed-captioningobject-groupobject-ungroupsticky-noteclone	hourglass	hand-rock
hand-paper
hand-scissorshand-lizard
hand-spockhand-pointer
hand-peace
calendar-pluscalendar-minuscalendar-timescalendar-checkmapcomment-altpause-circlestop-circle	handshake
envelope-openaddress-bookaddress-carduser-circleid-badgeid-cardwindow-maximizewindow-minimizewindow-restore	snowflake	trash-altimages	clipboardarrow-alt-circle-downarrow-alt-circle-leftarrow-alt-circle-rightarrow-alt-circle-upgemmoney-bill-altwindow-closecomment-dots
smile-winkangrydizzyflushed
frown-opengrimacegringrin-alt	grin-beamgrin-beam-sweatgrin-heartsgrin-squintgrin-squint-tears
grin-stars
grin-tearsgrin-tonguegrin-tongue-squintgrin-tongue-wink	grin-winkkiss	kiss-beamkiss-wink-heartlaugh
laugh-beamlaugh-squint
laugh-wink	meh-blankmeh-rolling-eyessad-crysad-tear
smile-beamsurprisetired�������4�z�4�|assets/webfonts/fa-regular-400.woff2000064400000032440150753125220013175 0ustar00wOF25 
�4�KC�?FFTM`�Z
����.6$�T�6 �[�+�j�!�vETϻ�������rt���@���7� �Z�\��e�0l#�"8ġMt�ab�;Q��p:�й:D����:Ӛ����kn۟�<F�Wt���|�t�,2m�2����I
�������ɗ�ر]Fw�!Iф����s�s�D4��mT*$�n�A�N����C�[M�nʦ���$�
����"�@(=!��Z@��J���!�I���S�[�ְ�k�+Mg�_f&�>/��{��"��J�ƶ��=�,*!e��*�&�e��\�������`Dvo���޽Y4�X���ΗS���m��	���`LJ�I��\�z��i�ݿt�\ɶZ�-�
�҄]�"���/88�Լ9�Rc���U6%�r��g�|���Bqc8'`=S�ߪ)��bw/f�13@v���.]�����T�K��X������hӛ��ԧt1Y�Ϊ����.��ޘ^�ߢ�_��X`�r&a�D���������8Lؐ��7x�boȩ��R����6�W���"����*;ڟ�\�a��H�_�#o|�\��鸶�*C����p^B�BݽK�n��;�Gd��R�`�:!wW����@�(�`�|��5�F��ܭ���	���=G��,�ԥ�Lt��#��
L�X;8�	����~�61s��l_��H�%�����ܶ9E��f��j�u�Wq%����JkoM��\fIeU[<��@��(U�|�[i�a#��k���e��m������{eT��V5��t��@��(�
�->s�T�����-_�ꠎY㭖�����N�\9��O������5���?������3���7\����.��s���g<�_-sN����^x�{�;`�nK-V���L�`ɟ��"�$�"�$G�M�E�I�F�H�!7���^�d+RF�@$IIL��M�������"i�P��!z����ˀњ�7V뻒�c�_�b)y�'�9�J�D V2?O�s�y٠��� ���`(�DL���R��C���#�:�H<��.J���YM0a��3�%��Tb.X1M��DL=.�VH8m��K��lC
��^3��d}ۡ�'�2�^b�� N�b�(��ݱ��P�ـ�Jש>h���)��\{U:O;_ؤ��W�z] ��u�n��#�l���M��g-~��G��*��h���6ID��Y�R_ɠ�6�n�m)X�8�N�C�g�t
��LTch��9��w51*������}�m.�$������u��)�W��{#�ڃ9P�N

��3�[��J��1�?�T���*�_&P���h�.f�5��J�c8
Jp�z{�!+{p�)j���]��c�2�����+��h����M+bi]�r��S2�u��� ��$ �UH���1��G��1 IF�{iL�v7����Չ���hc71gS',l�G!.��E���6�(�Ym�,��IK��������2� f�F ��
;А`ݣL�׈w�#�%���Fv쾴_�7Ώ+fw��&�?��,Qς'�\)�2m�ў�A���p '`Dβ�T�-��
�jʔ�S ;�1F�FV}�6o �l��c�Vd��Re
x¹�z��
�6��C�mw�ӄu#�L0�Kn#X���5���@>3�e9�ōm�8fdp�P
G���ܥ#G�4jǎ��}B?~l�~�=^_���UpT5|W�YR����n��Z��K]:qM�:S���`�
����B����!n+��4��ѓ�4!1p!c$�>瀢0S�oD
�.��!�-1ر})q3��+E�Qtx��`U�Ƈ؂Zhl����("�z�M�8��l:y�>Vb�٢2j,(yĭl� ~�Sӥ7�~
aګ$�������|v|��7!�=��1���+)�����.:��[���,<*����$�b1��(��-1���U^A<TG�W
�j�j��\I�"��S���R,�??@����K
����l#+��x�8-�G�߹)v��������ו����iy��Kɛ��	�7��L��!U�_8������8}𢿛\�x)�2�z�����/%�巴Q={W	�Ҽ,h��.�T3M�rA�
�i'R�IcQ���M���^�V���)�~�N !���
�i?t9�X�ŤD9� +�R΀���+=M��BG����
��V�:��"l����85䆡���2�m��v�Ψ���ǡ$�+;��VCF�BF�{ˊtw�45��Dq��S�Y�u��&�TjK��J�b�N�v�
�Q��^
;DS7���龆6!��)����f��9�Q�����>a�F�D���й�߃��Uִ2��$�Nv�GP�p�|T�߶�}r��OّwCѷBh��>�njU%|B}
��5L���_��}�D4p:n�&҆�U�,LS���
,_�����ZM��m6EG��
Rn3�Y���0��,/�:m����]N!G��}"��+n��2�v��mJJ]7�F�$��A'+��"��V��E��O������		f
&�CБ���@yBd�F��:E�r�>OE�/'���Ʊ���]vڱE�g@G��eii"�1�db6����2�ϫ�Mw��dC��I9��ҭ�����q�.j�1�wU�‘�5j$V:�SL�����a����!���-�m�`��_��Ԅ�6X6v��0
1�)�M��"���{�z�ۤ�S}�7Cl�?A ��x�5fr8X;���41�7�>B�P�z�-V
eٮ>x��D��k�0��k~3RYj���(�8Ǫ�Yk�"v[��#Bd�0�Nj��	������8$���㛑�3�3���CD1�FS�#�Z�1]^Ü�����9u��J�k�EM4�*l��B�h�:ے�~SBKU�%r�r�&nk�?�`Q�%����(���C����rV;TJ�3D	k��#5|z�*v�YUX��Rq{�	
�5��a�d��������G,bXN�
GL���μ;k!�T����ә�M �=q�0�g��dUC$�e0��)&�����+��,�TD��Yw�$����$��[R����?��y�؞pf�;���[u6-�{��j��aKOo׮��1f�f�iS63����8���ܵ��~I��@�2aX�Q�ն�Bd~I�r3er���R0A��u�TWx�$n#�Pa����'��kT�Ӳ��"�iv�A�Pn��!���)˧�N�<W�WZ��i#a�ԇ�eȥ?�ϵ��I��`�`JG����k�z�&�ȮkDŽzBV}
�ck7شSΕ5�Ps�R8>��Iz�\Y�uB���}ewr��?�p_2���5ǜ�G�����5G��5��ǯ~X���*���Nz��o^̛�?1O��ܖ,G�q1��,��Ȑ�زM����޷$��-��v��pa��h��m�ᷔ�L�_��X|lSh~Ì�~s���`*��?�����'�v�Yӧ&=��N�º�S�I]r��AD�������,bq��F�Z�Kina�K�ײ�F��V�"��<c�!�u$[��rSJCS��5��[��s=��R�s,G�SB�`�u��ΐ�D����Ŗ.wt���>����L��)<���ҵ��Q��FJ�(�R������Y$�z9���͊|�8H�;�p�TT�P���0m�@�\0ϡ�'"��2�2���&�Y�����s�ڀ�{&D���iMI2�&����v���D����p��jV�R>���[1;���	Tg���E�٪��g���b4��y��;�y�ړ�yg�9��3C=�N$4h��5Y�T%�Us���R}�{��e��4Z��'l�h[�8�,*qmj�V�Ƒ�J�2VY��q:D��du ���-��V��o�����X|ӭ�!;u�`M�x'PSE4[�XW���vH�+���VP7]�x�K�I��ׯe�t4Q��O&��,���s���„g"r�:C����Һ:�q^�7�δ�3z
��6#�d��1�x]W�Y��|���CB4��ŚYI������ٔ��X�\H��Y�ؖ#�ۈ�D~75�"�;O�,H�ɷ�O	n���G���%s�"ߩМs���f���8�1݂5���W\��(Ϸ8�����]ϵ�w��Bu7� �>��^Yj�Һ��:��7#��=��t|BO��"�	�����l��3�>*W��Q��r�#5�.���������@%->�vDӭ��j����ŕ�
�;=��QFzZ��T*!����a޶A��3s�����+����P�X@�>�gg3�z�i>v����%ӿ� GI���O�?��ҝm��o��q:���l�����ބ�1�1�̨\	�5A2Q���ӻ#�[,$t���J\��[�;�Ͳ����o��\�4M8�qxd�/�З�I�5a�Qt)q�e׻J��u��v�%N�\5Mx`9����#�y�pe�X�ڵ��`6Q]&Q�Ȕ�J���Q[ۻm
y�x8��V���y��u��>�+�Z����_�;�{P�0�d.tQs��6]��PX�.;�m��B��kƮ��w�"J0�[�˜�D0�7'��Eq3�Ů`Ԁ�u@`�2M�s���|�:|k��j����m7!��+��0@U9�.	�E:a���ޗ�󰌳(�9��[��ek=��r�����t������2�k't���dذ���L+H�F9"O���D��LU�$Պ�� ���B2s�	s��s����	GR��/)��BK��}1�R7�
㨗�K��‰CVԥ���o׋��u�?�徻�\,ocV\���u�V�9�0D��͖�U��u�y�_6ɕ�!��^!�q��$l+��ϥ%U�KN���c0�/5�UJ)K���Ěk����R�<�u�b�uG!�T#�eKG>�ǞD�Z�&r�j8�J�1��N�^�G}aU�mY��K_U�\��Dd�=�e��p.N��nܗ�o�t���V&�S8$A˕
9#�^����yG��3qr<��[IM#�
K~>
��������ń��K:g+�߸t�;k���u��Ͻ���ׯz��JJ�����g~���Z���|����3-�a��a�T=���1�s{��:�����Ѝ���+MN��.%	��wn(q�Qih�Ac�pվ�Cpm�+
s5M4��簂 �$� �+�}U);&c����pm�C���i����S��$DbQ���_�){!n��Ø��d��?&3E"��	��R��a�
�ă0��Pb�b���GgH��+%���9Ь�q�I�Xo��.��=_��8�0Ψ���#`�@��ud�a$���#Jj�X�-#N���j�CU6���%Grҁ~�h�P��AM�	tOƿfC���N�<[�a�Ó��CoƩ�(���'sN�;��	ښ���Q9�⇅����ƙ2�Tbѐ�jn�Q�8,['C��D�I$���5C��;v��	��{�M��F��d*h*��Lc�gS��닂�G�2���pG��#uGo+3/��'�*Cypr���#�ߢ�F��.8�1yP��km�5g4T\���t�E�6֊��Q��
KK�2ǘv��z*�jm� W"�`����0���{��惯����G�
�.ww+�����p�%RmA�M�e��}��01^t�� �2�:�ǜ\��R��\|��c�y�էꁡ2Hǫ��}��?��qXQ��aL�c�Z������SX_��Y��w�`�w��{���-ƙc�+㕎�(=�j!�)Mm�L4^��j�C8Y�f�!v�g�{C��efA�cJ��i)����TM9��}!f��&(��l!��@�H�72�t�߄���7}o��=9Y�t8;��#�Χ�p�${�WǮ������y�v�^�t/:��m����p��~�d�ૃ���~8��J��V��hώ�>Ӎ�]�P P(t���C��f����2�y�ݗ��o��F|dM;�F�o���H�']���=iH��A=˂ǩ�5xHe���z	���g-p�\�{�,Z�_{֓��4 �DA�r{�}>�vP� ��b�3��M��{�UW��EV7��B�c����q�����~���\Ť.8�vd#�qIa|\��oj}~�Yv3�U���E�~��Z��1�Ŭ%����g�+_%�G�����x�#���ņ����[<N�U|7՞t	�
)�`�
�Ľ�E�k�%��CŚ$�+P�w+�L���l�H��P1.t�����l�F
���94
O�}MۨG��E��g��4
I�����!�����<YZ�\�644#�) ��M��2yLz e�QS3�K���a-z��N7��fz��C�����}[O�1�a���I���EΨEy9�ը�{F	D�u�@��Z�z��F�r_�?�Am���fK��C
��E�U�:H�;E�C�~<��;��xgHg�A�L�4N2���Dž���+���V�I]Y��
/��
57�r���M���S�⽜�qz�n����R^�2��{�M~DLYG"/�^e�Ы5��=�o)µ�Pb(��w1%A����C����E��axFw-{���9�I��I3���;�ֳ��Y����Ҟ)�&?��<�Pf�b�^:r�p�u
Dzr�}�{�����܍
�0w����μ���4g�Q�U����[�8Q%m��~&K]a�Y<��U�!T���|9�����-Hx[�5k�2|�9���*�|u�����ְ�~@^''��j��BF#�B�3i"�:�X�o��C��^�Yq��O2co��̭~K�a�C���gN�o�$a�1�!h�y�v3'�����$RC�9�|q��5�c��Sm�)�&�H�ݮaN����M�T¢驩%i�^��S���L�j/�%�eA�`Vh��9$aI�T���SQ�w*�;è�#����GcCi��n��w�m�}��=���₹V��.�9��q��8B!�Zb�Ht8��=z��YA�!��$�:914�;�������K���!{P����N��fD��[{��\1�3�_�Ĉ��x,�f����<**O_��J:ϫ-�&h�@�SW�G\d>b�j�
ңR-��p��%�B\e��e��H%��'��W�t�;!݈��e�I�q�6!D��,��XY�m�'P̷��#݁r[��WM��M^n��F��u�3�(3!G�-��b޲�Fi�2s�iS��[B�d�!p��6x��A��?R��w"_���9�a��yK��^ٸp�r�М��F\1��N����oXtu�?�����n���a�gGA�E�>y팼�‡�Dm�u�9t�{q�1\Y粺�R4)���rl�b6�{���%�
������)�V*��R~�����dܨ[���6�����ۼ�<��6��y�05Y�r#�r����tE��f�����وZ`���KQ����R����!�]1�y�����m�"���}A�^pA�$3����Ȝ^���2a
ˉe���d;�goGH�t�1��5�'g��`�}r��n����/��	�a<���I:����~ًk7o��\�K4�v)�.��MJ}����P2i�gDbT��I��r��F$�z������{b,,��^}x�+fH��l�$�wyD���xУ�X�A�^�c�g�BR����e��Bo"��@y�i�&D�||�x����yNz�id�Y��^ �09N��>��p,p_Ê�Ojȱ��I}��A{�����u����CW͚���@mQ�s����3.�w7�A�v�7t/�r����'�R��p�I�(S�Od���oAF�Ev�Lm�g��4��U<��|OL���r�[��w��fJ@c k8�6ے�����I�QO?�)N�&@��a���n�{=~j�ջ�������0ɕ�Ծ��{8U�x�������xZ����q'%:VwSB˹�	��®�r���m���e�x���	8};سG'zy�0(4�.��DˎFa�a�z���B�N�T��`�oG)>�����۽5�~�U�S]|�v��K���y;�?�y�����U�(�.�/�8����2�h:�V6�o�!%m���l�.��i�����jBhB���s�����C�z�aO^�EZ�S��U/=n��Iڃ�����e���ߎ�3�e8�*�^��`:�VԌ���;{�r�b�_,#U����>�1|��J��Ț�c1�奥��FY�ȿ�m+�v�U�,��0-}n��\8�pg��/U��0����u��rLT�A`���e�F��E�j

ߊ[*�w^i��eY���i�ݨ���A�o�nXy<C���vA���5���T\]��:��xb"�$n�uD�^�Ǥ��y7�|o^����<��؉q���$a���n�׈��wl����
Lm�j��4���GS����D8ľ�N\�Af�9Wr�H��I)�,[����	�#��#�kڏ��b���AF:����N�5���x���k ��w����<�RO!�|e��w�K�f���~��2�p���E5�%�J喙U�n��*Q��cS�u�t�K�A֘o���)Fs�+��
�=M�U��=�|�"Y���D��4b������1�=rv�ǹ��l�ڢ|3����l{�f� H
�!�S��p��~E6>�T�A+8��tD�׆�´�Y��gq�صYU0^��/�1wbT����&�vrH���qޝX���-j�Zۑ9D��.�r᯿��Ŏ-��
��NI��+9��V6Ti�e9m�3Dd1�_�1��q8�,�Ꙓ?N��*C��t ��B�v��Z.�e��ZF�:�?�T5.tҗ��)�Ù��vK��f.(N�i'�x��c����������N�����`P�W3D�+m��?9%7�A�/�xIh|�z!?������g�2�Q�U�m9�Y8t�[���f�/�$K�3b� ��qޙ�<���T��w�}���[��Uġi��z��V��?G���j��n	��ג��ݹC�;ˊ�#=k~�*"kz@�@�t��b%��j���'EoDxOi_?]�)��=O�}�V�?��|�QP�8c�MXHw��6��"�0�>%y�93�ńW�"Gr���i���tҴ9��X��mc�Cn�%4s��u	�!J��4�����)���C��ͳ���kO��$�=R\�t����/�
��9�!uH,x�6.��_<k^��z��s�e���9���"���T9����c_V�����9	vQV�xy!l|1v��	���t;\1��c<Uј�+���R`δ$h�Bs��9SqK[Xqu��%?Qh�ޤ�����И�Ei���ʚ.T����o�|���V�.�EH3���ش[�زudYha�RS��
�,5aaE���u���'�kpXU5�"b
���C?ARR���ql*��d��w
����YJ�%�����u��:��4�b���q�gW��KJZ?nw��b����9��^�"qͮ�����B)3���^��{�G���`|�k�
��K�EX���.�v�M
t���h�97�x@��!�!�嫄�N��wUݼ��N�j��փ�ѫ><�~�2�ϛ��Y�	��w:P;5Ş���Q)�d�E^���Td�ӎ_vi����(j2��o��|0�w^_h�mMh
�$�X���Y5̲]i��.���0�T�@"�.�
q��fyW$��GRa+�ʞ}�[\�������f���[A���
��K�|f�a�c�_�'�DD��J�C�3�'u��Z�C'��vA�oE{�^��1�js9�#�oP�u�	�u������B>��J���9�y�n5l����?����@�R匨R�i����əs��냸����5�\��=�ǣ�R�^g��xf��U�I�&bt��Rݳ�P��[��6��[�=M��c����{`fZ#�g+)�#�};r���Gg~�1=7(�h��ʠM��8�g�Y��˶�<K�d�-;w�kO�K� ��;w�RQT��x�����g�9�-��t9�sY�Y[��x�K2n���M�8n/��r
�����H�:��* 	df���+
���4#�d#��n����oq���̱A�И��z
���&�
z�B��I��9�lC��.1�.Kvȹ���gmYY�oY�@(�p����#�ε
����t�<K�k�i<����b���θ&b
�zgQ����17|ay1�j���yӭ�t�k&�
O�C��q��dmF�_)�������m�9���]��]�A����ki�#J
�
cXT��V�����Ӳ�x
l�q���tq餅����Lm9%�'���y1����p��؊_.^tuX�\ƙ�._3hy������4�#ǿ�̪[<H�H�gC�:���e�x�ʲa��a��̓����;�#)��g��˷
秉�?��m"�1�[��u����C	���2����k򼹻�Ѭt��v���;�ͭt�X:�~�gI���r&+�ԍ�C��|��*�v����~�J͋8����BQSZ.��?LU�Z�m���vr8�_��	�a�+O�26^����)��R)*aG��s�5>쑢U-���ΜI��z�B�8������|kL"Q�@U�{�Z�j��i�	��S���|�P��4��M!pI�ċ3wn��>ѹ��̞UE���f�v��ӳu��Ua�2}�}� �\���;.W_��@�M�������R���"�~ h����c���RK����Uh�r��o����*���`��a�Aa��R|��2���.�j�΁%����t��d��Po=��4>�,"�$��P���e�[Oi$1�!WBB��SQnk�y#��6��"}a���!��	zu7�'��!�c�E��=̧�4�F�0����̔bs#l}��F�L��N��Id���d�^�Z�������F���M���]]���*R:֡K'U�x�*—�E�{�
�F��v��ǔ�{�A������J�:4<��=�z4�ß�^׶��9��%�Ȣ�xI[8��8��d^0SX��y�G���Ê�+"�0��1kуT���/��a�Ql-�%~S��G�o����aQ�f�[ڛ~���H2�Q��ZZ�+�([��|}��0�m̐7R�v���̢����<q&(�+R��P7N�X�w�y�m�� 7�
��G?��O������G@�J3�)�ҖǮ�UlP�dɃY�WS�����p,H��&��ݱ��vp������W��q��
���#c��}��ZقOo�!�X��eϸ�xCer�f���6	IVz0
5$ɛp���{^�[�!\�ˋ�%��������.E��/u�;�,N��y��S�~庒�e
ۨ�جMҺ^�Eev>2�
e�t�;�1Qχ���LJƊt&��e�X�I�|V��t�nD�k��;����j�_�=�8�{ۯ|mu�R0����R�/���#G+���qj�m��%'��e��Q��<�괿��Y�ܐ� w�;�<��~ob�ͫ(�N�Jy2�������.���_>��e�6d�t��/0*1!Z��/�/�+%�����m��9�ۆ��.�A�C
�)u�]��D����k��n�mr�,���$��6�1���"YME,�:}�q���P�����!�f�1)��h�_��L�&���jj��@c����.�$��},��5a�"(R���~���}�\3||�Ep�w���\'?bN�x����<r�y��j�!�y%�M��X
��'�e:�To����l1}���2��9��m��ŦJ҅���c�ë���0��5O�)�o7�q�3������0pLt��7c�e��T�+J�L���@Q\Y֚��y؜%4�D�N��rCyd��
Q��TQQ�tMz�S	���n�J›�8U��]kZ��y�@
H)�&�2�أ���<��K��b*�����Xn8M]�Q	|�@%��*I���T��>k�qO�%;Af�l S��8,f�Q6H�?�t��]h^� +�"�㘇�
�^�P��T�ܗb�f��E_�A#���s� �l�E�&�АSRه(�gh4r�Z�B���$7](��M*Pj�VU$%�L��4o�|z�Z(���<�(q�k�!�c�u��v��ndT��uSF�v� ��JҜ����60P(-"g�1S��2��ͅ���I����ĩ��d9�y����W�o��_���]��;0����\��9�_?�t:O�,��M:�啕ُ)����_����7��D��Ӳ���D�PƅT�X�0��4ˋ�����q��uۏ��@���&
������e�߃B�5�&�����H,���
�JM]CSK[GWO����������j�����|����������E�\i����g�֞4�<�ȼ��@f��Q�3TcI���.hׇ�w�5ǃ�wl�ɌzХ��1:�5�,��1'���j8al���R�pj��I�~:x;+(�g,��^��_ :��b6?��wO�8���$���+�i��x��5�3zN�x�;=?V#z_/��2�.����p|Q�A�$���:�R����j�A�z�m�(6f
�>H�,�&�$P}�D�9o��u����A�DkZ[�䥄Qˉ]۸)�Zb�#8����qFz�z,��ȗ��ā�ŵ�0�e��I|�����YCzb:��#��8�Cn��2���	��s� ���!�q*yd�D�4�o���W��gEg,�L��������%�>�J��4�]w9ざ��,\d���̋��]�)a��G�%U�<�>@sF�SՔ~F�(5�,��y8a���ZP	]:���
���'(�4�9��|���7�-��=8'�j����3]]Q���%gFp3�bX�޻�����E�>�ߌ��5�`��&+6Y@�~�㐇hc=�w��"�A>�ͽ$8�2�4�3?�V_���6p�݌佅Xdh>�{�gm�'6����Y������4��Nc��"�Şf���k-w��njtC��~LMO\��n2�h�q�#0կ8s�>�l���g�wL���T���0�Az�P�
P��1���Ik=��O�&�=���zRp��^G���
a[��Z$	)2	:assets/webfonts/fa-solid-900.woff2000064400000234424150753125220012661 0ustar00wOF29
�8�KC�?FFTM`�F
��l��:6$�(�, �+�[�y�����#�m��\����Ή��-�C%�bl�b��ٲ�����m�"lngf�ns��$P�<��`�U�<eK%p�9pq�z����l�P+�;��2���1V1��%t��$;N�<N�j��f�
�Skm��J"�-�j�8to�K)X��D"��kD�s��s��D"A��t�iG�]�Z#&�ɦk�a��j6ϲ�.[������x�36������^��.r�L��1ww�������Y&�W{�r2OLG��o�,A$��`���2�-�<���=a��Ü}�VfkO������m���a�E��w�� ���e��!��?�%��K��2��[��,x�Z��'��E��4�ݣKf����t(\+����g�mok(�vѡ�^�g>����\�\��7��T�)�0:�g4A���%����X�Ón���I.�%�0r$"� ,s�0U��5A D�OԶ���Vq�+8vűJ��N;�K��~W��K�C0L��К:?{oۧ����/J6lnL��h��x�nQS�m��l�	������'x�U��D]���HQT�FiB��!�Ρu��M�����������so�tDn
{��
�
ϻ���)� ��FAw�Y���\�f9f6�)��LӖ6�vٴ�J�򮮱m\�u+�W7�X�UJ�5R`�Z_`U��11i���Ln
�>#_p��D�F'�O�H΄f�rf�x��X�1��O_=Qh��@{���?-����	�w��$:Y`�9�W7)��V��IO:��"  ��(�L��<�x��=�Q�ܸD�0�*��H�#Ռt;?):A_ ��COP�UpbD"�!�pm�7���;�����b���(1��m���sV��`�
t��ϞɈ6�����ah�x���^�r&�3w}
A���첵�U�W;@X���=����~���Ȓ����:En��K@\i^�['=�m���9��{^����V�!�%Q)n������v��|44M�Cl;C�fC���}��X[k{�=��l��&�GX� ���ˡi���'��>i�P煎i"��~�[ ��,���m�L�!��]h_B���6?GY�O��0?I�dRvB�wX�N�Jj��,c�ێH���:���/��L��=����
�����!NU�T���/T%~A!
#da�����5�$p�2�e�iٽ��<����*������,��6���	1�6�S�{9�垏{9������zM�l{��%��?�:����ɥ�$�"�rs�r�m�����t�(`�Ń��q,
�_�~mw�a�/wOZ�~�^���}�J�^�*V��D!�4��d�T(�t����C�'ʞ��Nr��YH�&%۔:İ��~V{R\�զ��X�j6���
h�������|[������c/IY~�ެa��P`ipC�yN��\�
�T��n��U��vϿ����¹��2!B����Yu��-U �6��B�5y�C�ۖ��},� "���	�M2I�V�В�� !R�ޘC\��س}C(r����������[����iOQJ)c�Е6�'�8�6�s��H�MlQG�q���u�+���8�{��哔UB��3x��p�(Z.x v�Q���w���N�w���:.�d���w3uC��o��7"�k)ګX��_�Nŕ���_;��(a�nĢ�����
	�����D��l��͇��sq�FŪq����/*H�f��p�%XNPto3�߲�t˴�+���^{\�S���a:o��]P��lz���m�\�̯Ϻ�^n����r�4/�Q�-.YV�	y�	%��C`�D
�'�uf���/�&R�*���"P�B��y�%�6n�i��N�2sμ����\�a���M���|ݕn�
Q	i%5M}cs;Ww/�}�OLYC����Ńg�"EeUuMmS+{O!�� Y���SP��B"�R�s
�jZz�	�LL���/��nn��5�IHJɩ�kli�-���MFk��.h�K;qʒu���qSv7{���C����wG�H!�@����\�0GB	���p�\�)��ςW4':��d�~��ŭ��\�I�q�4��Ez��֭�I2�o!#��9��
?��Yw�tI$
�"�Ҙ?<|�1�%���+���@�k��,\�a�]�c���0� p
��^E���s������@ �&F��O{q�v���{�
+�~جU�n���t��ٌ��Q�9���_-�����{Xֲ��,d.��2�Z&�����b�2��Ȑ��RmY�I�:��Ȓ(�CSA�r���)8����2O}�&Q�*�`0�Dž��V#	���w��@:F����R!��\&���U�c��?:�2�SF�c�^��mi�e(#^��m껶*�,	߱-SF����]S)$�c����gN?v�צ&K��dv2KY��P��Ȓ�sK�%��(��<�M�Ŷ��2I��������<
Y��&�pv�ثG�ŗ&���|�s��
�߾|x7��m�"�"S�����m�c_�P�8�l��KO�5
9���%<���k�6b�^z,|k����)�+~}챽���Q�FAEAF����a�����!�㼇,{1����Ca��vY��kj1���]xv����1W\����
BQ��|4MP	��"
r�8�����an�
^|H����ɑJ���G�zr4�zm����+g����XgYe�%R�.M@�SN|-�'.��J�Tz���f��`�6S�
��^�|���\�UQ�
��X*l9�� ,�d�������+@�)4�^=���6�ي!w?����Pĝ�4��ȹ�ޯ�Ԉ�)ؗF!N�T�@ N�Bҳ
i!&f�'h�
y�8|W
w�h`A|*Jѱ�NG@�Y��F�[Sc���`�{uF�vڱ���&I��"�
jź񜩈�Rz �bK�D��U�[�hd:u��7/�_�8J�s�O��8aR���!���UQ��Z���,۫f��ˍ��Ւ�ZTc(r4y�qX��rωZ�g���ԯs���wW���}��O��h$w�����p��0�y��|�[��SE�t~ɦ�JO��L��򈻛*{�%\0�]L7��TLh��|��~��l뜾�[(�s�#���_�l�yCY�,,����
��m�
{��1�����W�{,�H�_�ʼnWOߪ�=I��W�)�:�/�c���8�!Od^Fn|bT-���h�(��iwY֝����n8\��|��hqc7�v�����Z�.�7�T�A�<�}&$w���@�̷َlQ,�x>��YG�{gd�֙3b�K'�z���6�Yk�{}�)T���4�Uw%��n@M�@J��S��YL�O�lD.��+����6�Z���9-���j���K�j�S֫*%����YiQ��f�6�+�"� O�@J�g���G��O�f�W8Y�ͺw�Z�O�'О#7_A!����Ƿ�_�Za��ގ�$
��/1���I�dʌsjc��Lr8ŗwZbJ.�yf��$��
jX��^6d�S�0�Y;{2�͕3��V���Z����ȵ�j��9�}��:�6(�'����lR�v�+LUEK����i���$�KkS��q�~O�չT��X^QE�$��쮿+_�V���"�h]����b�E�i��ȉ��,r�OhN��_W�F?:��x�x֞٤2��7�.^|u��:60�U��X�Pivj*�LD���b�d<��"��|�&I#���n�[���W!Nj�2��ϩ�`�� b	�x�\� �RNYﲹ��
�x����~j�X6ͺ��m_\c�B�,C��!T�9bۖR�I�(!�Yբ��ơ�f��^	��v3pS!,���1�j� m�]-�l ���^��N6������<GgrC��Wy�A縗��e5hSq�F���0���!��Z-��Յ��6�5��r���Jim�37cV"��[>��M�&v1��1�����,���1H�8�yH��ycel��;�Y�7��?��R����
��I�2�̓�-	<Á��@��SJE9 %㭫��0Y�C:�g��8�W~���wgɻ�/�68��G�cd"�L(>B5Df�0���_A�ջ�Ѥ�m�}>��j2�Z���Y�>LjE0�l��D�F�T��=E5J��S�?]��0��tZ;gd=?2Q���p[�`��غ1�@�>�}+I��㹷ïU�b#`�Z|�biH����͍�+o�A��u��T�'-f�K�G?遹Ґ���E��u� �/$�o����u�@�s��
�+)F��4rB���E\�ш��0�,4���*gB�-�EB�LdB�-�ǔΗ�y�r���㌹ȕc1����Ǧ��Y�r02� 
�)
^�:Ж��B{�`}Թm��f,�P�Y�[����#�R�{�j(Fŝ�y�J?F�1WW�uIM�*74��q��M9�m{x#ߣ�D��K�'ɨb<�i��[�_��IܹV�����y�����|ţ�3$��Nz���?�z�|-�?f0"n������ǭ��?cW8�G�Q$yU8+���8������B�l�X�v��&�1l>�M�.f��,;�cBw��`��h��z���G[L�\˳i1[�7�L��P�<S���#��l7���־]��>Y�9���z��t�,LV.y��I�_�1��Su�Qo�����k����WCeK�.�M���7�|-~y�p�nz�c75����H5��yי䱣P�@����r:)��r�}�2TF�˩�PQ��F�B=k���XE���g��M!wO��˜W��_�I��~��b:��6)B�9F#��jd��TWO�e��C�����9�`�}�Z�x�~||Ϋ=l�Kl�T�b|:NZj��m;i%�5����AH�ljC��11k�Jb�ĩ&�˼BZ.X ��[�;W/(kb7���n.��\=�S�5�0��
�Υ3���(Ls���-F|D�7����m���üqB?�S{��eȡ,��H쌺�0�ҲkQ����ԑ+��Q�6S(��Ӥ����HV~�e�kh��ٷ|C�����Of�c��0O��pܪK](<\Lr��F3�]���]I��|����K��6B$�IaK&F U���2D|�&z��Z�1�N��y��Y5U��x!��?s���~��Y��Ӄ�?����5$�EQ�$Zm����Z�-օ6F��c�'���i����"�"�ᤝ�"�e��U���G�­�@�a��p�e�m��6�]8:P#��5+A	1�i�3��������F�����l�'NQRj�k����α�V�|�8�}8�6��oޛWlD��q�����R�l�=3�)ю9u9`5�A�&�:�,r�C��
l�>�'rO�ԫd�_��_oT=:.�RH�b�	S�s��4`�A5�Q�nW����[�f[��·k	�s����bT])��?p�}�4������D���GF�����5f~�E�脀�-����i��渱w���U{�: �Q�+����Ǵ�%�f����Ԇ����-#B���1>O�?u~���`N�u�,	e��>��v-[��"9�c��6B��P�H�T��?:;5g賲��q���X�yx��/�c����`��1�",N���ɹ&`F�Lsb1����׵H@n@��H��Bs
��\��
1m�R[���=�6!m{&T-ᙖ�� ���p�1~k��퇗��R��={d���)!}�\e�N�bl�+Z�y3W��,eU5\DH�-�����[��4�Ėw���2��
���c��lS,��@ڰ
�쐀�uM�EDP\b�-�	؜��u�-H�b�h Nj]0~4�9��)�[���*���xT���H��{5h�'���{F�7>~8�!"�f�N@�����Jc��^���d\�p1Į5�7#h��N�9s��ΘP�]FI|¸�}�0>9�4x�F,�
��:�eY���sG�L�5&:�F�<�jk���b)h�b�⌵'13�.}�o�����H
i�N5'��O��~w��<�jL��l��߅Y���L�Zᩲ^}�|Zo ��/��@�'���"�'H�A�D�]�;Pgbivا���>�?��X��F ��Z&�����1���M'o��_��pmm˯M�Ų��H�\��Q����TXd��9屍��AE
����=f�gˆ^��2�o$���⚌!�_�ض��c�^��q��s�I�E�X������ עd��W���\��#��o�b5By�(�$J5�Es�Z6���B�
��)�˩}�#�T��`�,��co;�5�,�5�u״hO
ǵu�6"�BAH�e�J���V������#WDŽ�k�0[�,'�e7�Wő0BO���_e��װ֝�Ϻ
���m�m��=���v'�ᙝ6��ru#�u€̛�-�%�#�zu�u>�7�p�U�]/������ޒ���[�%�{�w"ȿ��m5��F�6�#�~&`���Ԛ�-�5�F��Ԩ�`�:.�^�W�":��•�
��V�v���0)���QRsm�1�
���s����R^��ɻ�̊�YY��e�D��$�15IyH}L?UL�+1�I�~��֪3kl�����s
��KOy$����{�k�,	�{2���N�NT��x�Tްx;�e��ג��xܽ�r�YD����(4'� /��1�
�11�<�;��%Dt���.�?�@��!=R��@WA�e�$c5�D�7a�$O#ءmP'�_^y��%X�a����S��Q�ō�zj]K����%l�?�%�YYA|�4�����X�̌*��y�#���/���qr�}^2�t���Ck`���S�02*2k�
�
8�T�WR�^A(�I	��c�/�Gvu@%���	���DL��d�fgr4����Jh��
�K�i6���עxo�	�c�ͧ���W儝�=��[ƅ��f)��\MB������.yȧ�����yԵ��!n���l���3�F��G�O[Io&0/��,<�����qE�%�;��O���C3
���l�nd�:gC��:�G^Ҙ����i�߬��:�Q��lrzǎ�ʑ�d�bD�Y�#lDy���8*B�*v@Im�svث�K+Ʋ,Rϔ̜�V�e��k�͒�k�ߡ"�,���4�֖֕�����{���
�!cd����њ(Q������_V�=�m[d
i��!���f���CҌ��%~�yz�H����S��>K�gG��|��)���q�gN[�a�:��`1�4���<v4����^��!#���s�'���UW;�
�*�
�=�aMz�I��7�E5f�n��k���r��>AS�*�ey
��:�z���(ڻ�[dI�Lˆ���K91�-��O�w�"E}Ptf�z����y�&�
��d��2y@�v|�}9��g���
��a>X�{7cK?�Ԯv?T����uԧ��a�j�IW�v��[���v�yJ+�!���<N�^x��@S�R_��s�D����Q�Iy(~Lp"4f\�k_���C�q��T�. O�T(kڴ<��VEW��3pd��țҖ̲��hR۶z�3���ݬ�����Fhͥ���]�&�R���]J�c��&ę�܄ٲ�,�G�x�틗r7��T����H�2��$n��H�X+�I�bL(�W�I�l��2d�R���@�1uUBRF�ʛ�Ao��i�ר�bшiX#�yp��#4R?�zk'��kɿ�A���fP�ԄhodR@7�e���
�ě7�ӝ�`Zn��L��K�;���}Oҁ�Y�Ͱ�k�������Q5������U�?��F�yu���KME6�X��G���{�
�zT������,p�ĮWc�C>2����^u��G�O)z�)�BB7�'���1�!�R�W4�`?�9�R�k�@�A�3����u�Z�;HA��#4��VX�G>�8Z�c��tYoˑK�>\�\��v�XB3z��9��Ié0
�#��cd(WS-R�(/�8[���(�Զo�b{��Z��;��,��im/O��3��g6�]�j�M��ȟ⊲�_�$Юf�}�������s�����]��xk
�����ɛN3�zd��d��­�U�[��fJ ����һ��������]�B=��T��G�!��YF��ff\[j ]�k�kr���u�f�iY���U��YIC��ɂy�ԵY�#5��!p9Os3��O�Vw&c�Y�A~�i��F�.S^x+ӱ��������M�x�b�f#�y�G�:ӫ�5��T:�b���LRi�_���ِj�	��t�٠��b�"3<A�Mil�6�Ol�9���$���^_~���t�`�7�ʌ��X�Ʌ��4Jm��T��W�גg�~�i[��|�h"+�:Q��'=$ g���N<{Va�_�E���bs)��!�V- Y�)V,}u>��;|�H���_ۣ@@�Q'%
�IKY��|��\Jo/(#^�>#s1_֒C6�+�r)R`��|~,�-f�)�vV�x|瘇����T�.�5ɑ�����s��/�lo�UF��ߣ�ȫ�P�v��鯈��5�f�k@j�P�&���J��EU��Q�+�H�/
J;4;����_}�ƶ}$2�?�.f���#?�۱���K��C$]��J�}��G�؜����|5D0n��~"�\���ϞݸF��p����kI^����79*�.��teE�R_Ij����҉o݂I�n~�~݋�*:Rc�*�N���$��Ƈ��
Mj,�l��x2D2�%7���-+᪛�3lԕ�ܢ�I2��8t��,��b�Ah�e���P8r��	��q�
5�.$�Nn
����m�J�.�pO������j�*��/b�&�ء�b@�oC�(����@��m����ʗ�v�JJb����=��U2d�5l��{_.)D%�'�b��Ƚ��9�a�(��֭K�u��@Ԃཕ�x�e7T�p�(^8^��s�ul�:�9����}�U�گ�x/#M�*�p��+������5(s��jJ2�&dD��3�#��$��y& U쏘����X�R��\ٮⰦ�N捔Q���0�3^L*��s�<D����٫����?��h�l�}akK��G�[C�,��H5I� ��$�ǭ�;�
$�%F��V�)F4(d%�_�`h#[�c赺�����h U|_OHP�~��/j��H��H<wa�<�?������b��l�w:\�U��}�����0G��v�5����|!��=P>�x�z�T�
�7�@\i���Ѽ�w�H�dz&*��J���WM�km�m7F�n�o�x��V-5�NI��.JEE�.q�_�Ƨ�
��^��e+oJ�oAݭ�Ӭ�8���{���p�ZY eX��q%O���v�k�y�0��6z^�e0���a��Z�d\��
��pE�2�x�pƶ(F
�8�`Q��?��˲ �M�P�����x�-�ׅ��)�z�����:�-9��iC�y�:�Ͽ4�H���2FڤtD�˟8L�����U:,g5H_�ݼ=8m%*�� "Y��]�������A<�o�~O�/�gЦTLҗ�AcH��bM"��$�֤�`�&�?�!BA��O�O�#���:�Ҟ�j9]��,�U�q�@��5�g�+��e ��?�i^6te
�*ݒ��N[ϛ�=�d���G0%]7e9�ik���	�m-a.���i9�����&��S4��H2���0&�ؙ�U���H3��+�D��5Ӟ4�3oE����a����.Y�t�]�"L��>�����o��QZ �I�V�3�f,]��]�=�n$�=�"�Ņƽv0���'��wA.�>`����}"5=ߓ��{^��{�:���X(e��~�y-���zv��vtp��xY�.�� �Hލp�%ٕ��t�I|a1��~�!D�L�c<O���ez�����r�Z��	w�L�*Y3����eG�-|�uS=��4s:&6a�ņ�m<���ħA]<-��1)	�_[3��a��-�9-G�����^��4���@���{�,�u p�P�Q�(��W�q���c�πE�|�W��pv88��3z�pl"d$G�YՌ��Hz�x�0����ش,S������+��]�xbж
�	�x��R�H���"�ݶ��q�9�@8�rPa��b#RҞϳ�0�v�.��wƱ���T���i7ڹJ�V/�*L���ԡCz>��8�J�YޣGw�F�/B�#�-�3�F��v�·͙���ND�:���O��=��̧7�aL���0�$���VW>��F��$��`�Q�t]����Y��cЏu��B�c��Q������2����
?H��3�B��u�tc�D�uc��ܖ��j6��_�U�Ө
�6
e��4�kQS�j��k��K�᷵W��G�����^=����_>��zZ_=���!~N�|���)>��><�۴@��~UC�$K���z���1��An��	޴B3��Zw�,Kjɔ�R�v��_]�{&�rCJ��+��wj�q�Y/�\,ȭ��Y�$�
>Z�
���
u:
�h+�(Y�1S�7�G����̔��O�@ZԲ*�{vٳxJs�l㍳ɗV͡U����M�E�|H2c���-�X����k��S�ˬj���P&����>��I���9�J��'NNx���/��'��.,�c즼����-��o�g`\�]�3V���	�C�����n��v](���Al}�b��|���&�]l� ~l}��<l*5j��xhM��W����[V�)�S���ԓ-��|������$us^}���ίlg�?.-�ߥnI
�#�X8i8��]��m�
��yPW���t�:q=ݶ9���^���l�����\-Շ�e\�(�t��c���a��Q˂b�Zf����ʳ�gN^�8q��~��s�/��Q�I-�=���о8=�q|���^/��y��I�
�&A#�E�f�?
<Z{m���m~��9@<��w�dw��Q8��h"D�/���丫Z�]�ŏ�;�p�{����q��n���6H��҂}���й��o�7�~�Z�-|��7�����	׎y����\�����1똣�v�0>�4@�P��o����@s����ȕ��,�8�n��u~����#m�k�+�Z��R@=ϴ��Bf-^$�yrJ2��b�������`[u˭AQ5�LV�L�d�^�93F'G���c�~��\�V�N���9��^�D���)��hV�o4c����I�61����H���"�l����ͩo�j��V���k1FL�u��:s榇<7Gh��!����]�Ԑ~��t�+H��Jr��q�ib^Kk7N$|�bƀ��
4�y'k"]\�Ar_�Q�ލ��h#�Tw$�P�6�mrX<�)S,d�ϝ𾮡��:J����;���r|�Z⸮��M_΢��F�w���U�<�d鲓�#�~/�-��D��W�I7\��r��PU���e�b{@��_Hy��)y��.Q�~b�jҌ�b�t���`�ÿ��b��{e�����{�N4)����\I9u�ڟ��oo��3.�r�^�b~�41�0E�z�c��	��O��K\�h�����q�'� P��$Z*#�fA���M��
��x-L�n��AJM��[lr׈�E�ǥ�7�T�H$J��6����ٝ>($���h@"�@>!�j|(p��l�
����
,a����l�'�����IlEe`5"L��b�`�z�{?x�[�\�x��{�k0~?�c=Ҙ%���y�8����ݻ�s��
��S�ϕ5ٝ�����VS��ŢǷ�����F���E]\���s�"�k�d��a�-{6��c��_��=F�%�����lbV�/� Spӌt�W�f~��e��/�~K;m�~�i}q�<��3WPL/K
Tj
A�<�+�*�1A�M�2l�@���ɉ:��ωHɑ�̏틃�E
R��V�8bTG�aɞU�-H�uJo�5vo����e��>k�	��"\���]�����ˆ�����߱�ίm����b���/���խ�Ռ�������﷫�C�dzAy�}4T�Q���=O���y�H�`��A��a�	b�lN�H@��R�"�g�C�!�+��<�春7��*�!T&��j�1��[����{��U|i�B�j�Ofn~�D)��z���r�C�֗�[�R}D�+�G��!"/?-h��BJ۶ހG\��d���|Kb/�v�$���ِ1����+s�>T+*g���l��p%�2Eo���-�D̮�ͭ��_����x���o�
��4����2 	�rh%��mb��^�0���+��uwL*���|����Ќ�:���ZCހ{�"�ƛ�d�|�.���㻕�Ԕi{�ڼv��m�6�5�p��iR��A禴ͦX�n�jI�+'�	�ت�+M%�&�����h[](���20�S���;?��������I��­�}��L��v����2e��:2�߳��{�./��Y��|[��
K�5=�iD;��?2Ϝf�}|�Y��;���Hlv2�YQ����-�Ji�\��/�/��D�L�ũJ�U˓~!c�h�Ya&]	l��G?��.)a�dZt�bٹd6����a��?��N$�'��VR�7/�Fh�̱%�ګ�3�2:E���1SGb�8�`v��Im�&򡉘L5�ıcL7�}$:Q(
�h����*�eq�p4�LJ�(U��`�L���6ޢ>�H$Ej��3;�@�&�@��Yo�}?[yS�u`�߂[�f͑pd�qJؼ��{<2)�|����F�`���2�zqL�ӟ2.�i:���1�_��`�M�Pۉ^V�x�v�~Ovs�@g�&�f����t���ڒ��X�;���lB\���*Y�{[h�9���PX�:���l������y��j�)�~�W �l�x��J����wr�U]w��_ԊU4�ӈ:����R��i|J���14��x�"z�T��@���X��m/����]����^�9�OPX0�V��y"�_뎠���{'���:"�v]foao5	+
 �IAK� ���%U��:i�,�2ݑs�
��>�G�EC����{�2A/i0S՘)J{�S([���RE�9l2�[o���HI��X[q�#S�|h���φm�ކ'�����>��)�.i�Rw���ݥ(���]q.:����&la��|kV4�D�E��q�,�X$�K�}b-�S-�*��*v|,ԭ��{��_�����|�[Q9�,��'�D��V����n^m��$�]i��,(�-�n�;�-4a\�w�m=�%�����.�������n�ͧ�{�"~i�W声gtU��V�z˽t��
�ę�*��6V��c	�Cbeq��#�eY��𾅴 ��Z�+�Np���7e�.Q�"U@���,���#�p<�/=hz?Wl�t���iΌ=
J�����Q��ڞ+���z�]�>�G��y~�E{Wg�w\v�е���W��_B�&���/!=�	n�a����N��1�},z:��+,/HP����L���ytG䍇�E��/��[\Y�-x���������^�@l�@��>8�f��[ֻ10�	N/�y9'�+�Rr�	�9o� 2�{,��;I)|d��m�iz�`�¹UJ4�V�m�f �6H�r�B}DEk�3��^��68ٲ].Q�^2Y<)�K�~�|W��T-��`�
E*��x,"�k��q�q�햑�BW���5���R5SƯ�#-�K��1�k��b�G{�mo�<�^����I`'�s�X�Ab�ʼn��f-Y���h�⯫�zk�xo�b�D�5�����{*����7��v��R��Ω��SH'��f��r����Y�p�5q�^����œI�Ό'�&c_Y���֯��j-2~r�Sg�3����y½߿�l;/��UOՇN:�?�d�v����{t��#P#0�5�4��y~
���/��Y�KF�����v[����j�Q��r�H�!��%*�O*�1�����ޮ�4>r�� qk�	M�mRpְ^���)�[�]HqQ0�Nz.���.Vw{��N*S�
�H8�Lz[��h��w�(�
�i���X!FX];�n"�9?�V�M�P�4�+{,�-A��J�CAi���kKk���*�T���^�z�mIB�
?��r�xd0Z��]y�E��rP�f�4W�$���Z|'��������t�]�BJR�"�JG�}�Ԉפ�o���6@�
�Ep��c�>�$L�Ja�^���K��z��u��j�dI�Pi�Zð���f�鎖=���tn}�Z��f��S9܎��gH3�x���ç-�	��?�j�2e��gԸ��(1܊4����	��wI?����U1�/���� �x��6�%6�X�� 巋��˝�ioJ�4�
;��d1#��B��e�(�m4�_�mҮ܏�p�j����ݓ�����Y@O�s�f��\�~|B"E��d��t��rY�1���tD�L���IM�k���B�#e�WZ&�bCՌn��5q��8��}��s��ĐI^s���NP�L�7�gd�^v��1�Hff-�Y��h�f�HvH�Q���0^�(�[p�z� Ҳl��:��C��A�%Ŭ�.ւ=>��k��dT����_��٪C�P�@B��
ɚ1|�vtk����"�<�/T�^���p�
ƍxyRSb�����g�]-R�S��}����c�2G�A��O�����&V�H�U!�%́�\���Lg]���"�f��4�Ł僨�C�n+ڞFr{N^y��bb�X�Qڀ�ߵ��i��
�3e��ևQh���}��y�xa͘�8��4#)ff��Gu�M��<됔F�Zֱ\*N�q-g�Y�:�݆ۆ�Z�fx�&aak����"��8�T�l��Og�G�נ��a���*(�T��oԉ��?�
�C
��(�J^:順��A��yDk��X���=zA���X����v�Q�D�u��Zb��}DAi.%�u����"٨��	�"
��f��EI�U�}*7[�"t� �H�)1fa��B����.ո̧
f�ugT��t�]��a|���Yi��S�!򙦼�u;�bvD�,�ѝS��wvij�j!cp%k��S&?2�{�.�tq��8'�j���A��0P�v����;;�N�t��H|�R���kf�|���{�ɮb�N�]Z�FA%���>��RțE��2ra,�9u0M5�ݢ��Q+'��T�a�I�U6g*�er�U?��������?$JR��Bz��y� 0�`=�E?�ּ�/���g��%m�l���q���~�����b�4��A�5�dM��{���#b�B����ç��Q�	l��ܼ�Z����	�D�ӷ������&f������C�
��
=t�%� EG�M��O�p���~s�������d�u,�F���)/���X+���
n��"D�*v%��u�(4Fy(OS�Qi�����4�K��������]Ik����mD���\W����+�'��
0陠$�`�*�*�Z�+�|�v����2'��h�6�D3�c�N��`o��G\�?��a	0�c��ʞ>��B��ݣ~��t��1t�2��9bi�x����x�˃��cHm2,]�61�=�����h�uT8b=)����A�*D���_���9Okm��Q<�@U�q��ñs�!\��X�i��=��lZVJ��Ǔ�~`�QC��gq-Gy�Gݥ2?�w��Q�R�5�g[�<!$IQ�X$&=�y�dF���I$�1=��RGvR���HX1jOSS^Č�L)��
�~@���.,df�wIV�ׁ�n�j�]��]����5�y�`#(i4F!�8d�6*_s�C�;��_��)�W�?I)�
+1�
dL�-*�T�/��s����'��tF��x���3���SQ=�e��v�˛R�H�[=�Y���F�@Y�8�=�a�!��(I���)X��+9��(Έ0�Sh�=
>8�H$�2~ی�� u�m��y���r��n:�vA��A�Q��g�
�@��*�f�h��.�HUh�
��#FY��P�n�f{���n�N���~R��Dq�����\]d���=V�f�Zʼ~0��8n��0�9�x#��#�#`��:��� ��^�8Ux
z;[��v��J��j����
��teB�w,�Y)�.�'�0?�Hu���h�sf�`M*�:�
(��T����1�j�U��@#������%Cn35L�x�{m���Y��dk�p���+�n5o�G�5�t�k5��͝�Z'B���7��9�AM���v�#��P��u$o�ڄ%���E��.�#	5�[*7h�V�'k��|���i��<�U�)�[rn�ё�M\B�YU{�ҵ�3�کz�pթ��B�.���KM��Ε�&U��7EG���nș�(������r�}ǚ�����X�����E�6����&oN��~�����ťf���I��
����q�z]�@7\.p"�_T�H���;�ZN�9IJ�	�=�N���6��~��F�"�< t������-��d%	Zv�PĮ��ç�)�1=2<B�����w-���tʪV+�mJm��w�oyl��<|RM��Qra媇%��Ȫ� �̤��b�𨭌�L1�\�6����Ò�%Cg6�lGލ�����k�[��O�+Ȳ~�ռ��ڲ�2ʼn9ލ�݀`i���_6y�I4/3�7$�F�z߇^�Oyo��
��\�4�d5�f"1��`�Pa��Go�c�:d!��*��Kn�?[�׳W���P[0}�1��I�(@���Z�����i�m�{p�5�!Ygaa��Q��`"�{8jqZ��,(��;V��$8�B��_��|�~#�S��1�i���3̦*��h�T��L���ޟz�����
'��/

�󵟁�Ή�&kvّR�5��_��ŀ�)ܶ���ܪe�2dz�a��2߸�4�ҧ�G�-f����]
���8�,���@���\��.�mq ����.��SO�Ų�K䯘���3`D�TaA_��K���Z��~�+6�({Q{ҹR�b���R�"�3�/H+F��qO�xUL	}O�)�u��&�3Q�1
��o1N}0���65�^��xYh��}�H#�lFv��(9N�J��#U����bEB�h0
���^&��w���I2d��A|�ըL��
��~�X�ZZJ���Cft�!ox��ȷ,:�V~��b�)�qKK϶�ᔠ: *���#z?ڸ�H[���坴����n� ���%t�
5ꗘ��$�6�*T5zL��QF���IHȰ=o��e�2,�>9�r��u��8�Zf�F%M{�֗I<�Ȭ�a��D����2.�~gֵ}���?��UC�����>}tjyV'( u
C/nfF�聼;S���~�H�)/�S��%��+fvs��:=2>6�9�8��5*ƠS��Ƴ��F�}d:�������'^������P��2,��
	���R�?���x)���CEwu��r9>Ѹ�'��"�%����1���H�hSC7p~�����JZ6��D���]X;0
�p�>�߾O�V�ڲF����H%���2ߛ	Ng(aHL!P|l��$m���Q����%����3|�thΏ��e�AO�S�V�8X��k
J�!tr��'���k�Z�
����	Ud\i�/��nq��]�D�:-
�h��Z��?�:o���.�yg]!�,A��ߋ����6b� ?��}"�	�R;y����4B@��!�r��X�އ��I��RS�
�4�{�ꚋx]V���B�L�+�>�_R~s*�X��K:�>&����a[By\K
,�u�;�3>�,!�`{��6�hZ�h�<��^�0W�=T�=*���DM����K&Hyv�j
z�j��,K]�e�	7�;,…�8��������SG�e�]Nck�f�){Up�����r�&����#~MvT7�Cu����o��(���������Z�l �'��ʞ�t�s"�8��54�I$����
C*_���|i3�sI�?�=-���R44/��7y�;<���'��If�%�I:�t+��+��Kٽ����i��Ϯ�.e=�o�m�
�n�zN�zh����EH:�`�c���ٸ󑄲�
�nM�s�ɦۥ���x����i<<�(��j�ly\�}�������W�I
�	�?[������b��q��`,�S6����Sm*�@Ǹ��wι�{ok_/��/pi����O�i-�W�F�����lE�����>ym%�85Cq��P��B���B��\Xi���0�]`V�3�/��喚/�؛��iɗ�R��A���.�5�M!�l�s��ft��V�B��Q�'�O7Ž���Ol���As(�ԪK}eL�ϒ��MIBri�L�o�H���"e�B�TL{�{�ꙫo�=}�2CR�4-BYm�޳-�c;�k��%|Ӡ��/�X"P��d�|�Ybtu�ey��}��]YK� ���s�UҊw�wS�:K��p�l7Ҳ����,��VKT�������
�4 �����ðM/t��$k춱n��������zx0�ȟF�9�J�+!Fk3��9q&&B��nu�k-@�%ʼ��٭뵴aޣ�*uӾ:��RkA�v��X�n��<�
�a�M\��_�`P�hf	��<ؒ��@S��;I/?�����S�]����Qjּ�hp�Θq̤lW���y���1Z��df���7��ℽ3{�|��G\�+Xa���q5����r	)��?�#LK�8^���}��^�B�Q��g�Q12j�Gx(#�[[��Ƿ��� s��0�'��!PB�����ˇ�p��3/6x�a���c���f3�b�|��$������kӛ�7�t�%[B~]T\1K�v�O�j�˛���e
�m�u�cyS�ʲ�SЀ���8��p?0ߘZ��xu��.�H�9�R�X�1R�4w�a���#]�[��u3
J��~���5Sq|��ي�>�~�@���V0Q��fI��v�_"�Yܗuuk[��W�B��C��&s�>����[���?�-�Z�62��?-j�iߖT�T�����ŲK̄�F�_�L�N_��
���M �����E���1k��~�}�,B�hK �
s�L��"�Ed���=��dܸ�^`��
Z����a�4ߞY��faq�nV$MWI/�f]e��,}�e%a$���_~�����&��t��,QFh�.�@����u��lZu��_�n���(%�3��F��@�g ���pt�(���y(����W��b�e��Ǽ�K��kI2���A�\�/\��k�&m9���K�nA���r���"�	l?��v%p�8eq��9�����I?�P����-�%�c<ϔ�?�މ;_��FzT�&�O<���ge��W��E����[��ܫ�<���2��ȅ��)J��
��}X�5=��Q�x�6���&���	�-��L�h��]�xNK$�6t�D�:,�j�nQ�sۇw{���-6A���ꫲ��	1o^I.�=@�S���3;X�.�F��>˱��A�5;��@*]E��a
�7DZ�k��(emV��� e�Tη�}���naK���f'�R�}�;��mG&G�����9gen���:��5G���Kl�+r��v��Ⱦ�AUL��U%�D\2�#��@�iz��h�L�.�+�۞U�,H�u��R�Wu";6J�R�	�F�;1纼9��b-ߗ�,����GiI�ڨD��{%�����Z��/����@��q�� G�u�G�bOdB��J>MP<��/	�x����oi��^Iۃ�IUM�g;N�yy��r�2^�P;�.x)z6��@I��Z���hV�f&g��ٷ�2jWI|o`a>��ev����M.l�Cd�=��Hi��d�(�g?ʚ1j��˄�6lʴ"*�3y��~��%�;.#��׷���m���0�}%��Ew���^�J����q�-���r�
y��P�W)RS��Z�wq[�XF	�#�5
>l[
�aS]��>�z:�=��?���@��i�=����%y��V��ك�n�ш��9ǹ��k3jYNʟ��&R���4��5�&p�I����T\%���@��H'm���THrVh�&T��c$�%Q�x�j��2�����]�l��k�]�k�Qo�.��Ja$TCe�b�$x��{{?1�������S���$��QK��!�8I%���ˆ��t��C�Х��]Daݚ����U[C�)��K
���m��ڈ	�z�<�|��	����Ę�?�W���X\:j0���^!�4{���߫��^|���،�
~�Ҳ�����wK�w�������pǓ��E\��>��y�U2M�r��^��K"Z�l
._*���j0M�r�>Zp
�q�C�b��t�Rz�%.J}�JW;�d>a|ҙ�FS���j��^O@��%�I�s��V�Ē��ט�N�i��x��Ù�?����:���j,�TL�]<�G%ր����d�3�]:��`w�zX�M�c��7(���Xm��t9t|��h��|E��C�HN��
����þ�L^=�>>�d.��(��y��I.��2J�\���l~��D.Dѭ��45tcVV��=���5�J�5� T+���鴇��dM.�K��
��7�rd�&��I�{�o�&+�d��i��m'�����e���1M���	�ҕ����Tz_2��b�zZ,k][�^m�`�h5���(&�#1�шl^7���M����Ѩ�s%k��V#�Y�ޓ��³ī#@�Ģ�7ҥ��ܴL��u��N:��:JRz�ɿ՟���p��=w���b��8���F�J+�̵�w�`wӽ��~S�;z0o}Ï}ْ[-�ν�|l��[rj5F�\���X��D�[��ڋ��ɰi_��5���L�J��(׮����Z�:���3J���֗vO�|f�1�]����5���ITȀ��`n[]�� C��Dۘ�Ya
�j���l|��l���]	�4��R��
-���l�Wk�p���� �^:��r0<ݼsoT�V�F����c�a�؈C��Sg���Y"!,A'�=���M4 �B]��n���_�����F��Maj[Ol'���/��\�����n�v�n�z�헲o��W�
ju�Y��q���0O��/��
(+c(�T��:�������V��9�B
�[�ɭ_߯Y����O~���67�Qv����?0�	�bT��\K1�E%�*xL;W�~���l�n|(�TZnmM_������D�K6
�n�,]��H����	�c%�����SP�M%�|ks��I�"9�Wv�n\���a��q�g�$ZrXW��Q���z��j�4�}�F����"ҠQ��X��cp�Y�?-[��=-�%Z�F ������&�|Ӎ�5&o�l��~v���>)�C�M�D��@\m����^ϰ� �d�:��.���U���6w'���Rb}�r���{����-�嘐J��T���=]z��@�
��c��q��'�g{㬼�岡���3�@H��Z�c�)�;��'�O��"4��=$祦��LHa�;�Y@]-��f�#�z�-K�ZC'�jm'_7�B��/o�
�zn��B3Y�dw.��M,�l�v�v}��j��('�Գ��Bš�S��m�ؙ8��wy��¦�\�9(�I�C9�s��<Zg��\���pU�EG^$t+V��o�7Z1�+\�\�oNy	��$5,0�Q,)�3�s6W0�+����o������"���4_Tݧ���0(y׿�N�2#�#�ҥ�x���׵�Z8~9C��k�x7�0>��o����c��A�L�BX�;Y8�_�$�,�.����E���>1�^i;w�K�8cZd�+�r��4�\:|E�Y*�@�i�9�-JϤ���2j�Q~��
^��K���Fg���\`��*a�l�gV�Z�I�@M�6x
n�ʳ;Efh�Y�뒿�R�'xuC�[v���:ZQ5��t2�C;=C�z�
^�M(:ׁ�%�2Rr-��>���	���/4ƎRG�m���
=3���5#��d��p��P&�;�E+�E]�m��6���
��ˊ���\�w�-�e�JLK�\�/�[�֞Ԕtm�f��\+�
�bp�e�x�"5?��G��u_��L�Mi�>��b�dz|F��_��u��;���i2^�~6t�1�@����⟬�'���*��ܒM�������.�𘾈8���!���V��R����*��C�>xʻ"��K�LY����-cY0!M�����1!(mi�t�!,����}�+U-���B�]����	r��\��~�G���<-�^6���	IhH#�l��-��QC�K�o�(Ͼ6>�����{�'ǡ�5SI���r`T��c�"�@>���O5��1na�b�������
#1F�	�c�����nL����̪��J�	㺆�p2�bB=9�m��%���k�����8@@���Vw��Y(_V�!����$Q�rօS�)i� �qR�	��D���;���I�h��W5fǿ��t��?���/�h�
��+��w0!,�K*g�J�V�)�~L���~�(��S�n=�wJ�(��tf)	N%��I��
������x5%*�9��:x�������-�Re�)��n�׷�ܽB��b~R����!�t��>���j�y��j1�4�HO�s*�O�o�CFI��ήY���������P���'9��^�h��K�o
���y8.o`K�	�u�;����N��*S���Y�:
��s�ej�.����燲���x~�`)�9S-�Z��8d"�!��Ƽ���W��
�bD��s'<>���#:���0������G+6�ܔ2�����B��4�E�DH�-����5M�ͩ9�ˮw���tH!��]��.�޾��ԺN��i�/��a���egީ4���gK�RjB��km��W.����(�١:���L|�^l�a�)��2�if�V�P��%��`T���C��[S�P��q�ܨ=B��桍�1)ƅ�m�e��&	n�:�Se�R
�ёS�͞1����.�
}D4�,R@������Jy�D��V�tb爔%:Ne�c�,���7���ԓ�UjJHkc'���X���=�7p"�VlUs39)��1QQO\6��:Q�eԬ��G��]�U�`
�ó)�K�ZC�"�fӝ�ҝ�)b?�~-�&+��0�R�!�_��pq���X~N�`�k5(�h��w�\i�z^Y�.C�$�g�t~Y\��;����e6Mguyڶ%�r��{�Ӻr�#�>���`�l��.�S(��NIi�����u�6���BA�I�(�N�D>��\���+�n(�b�Ϝu���T���y�POr��mpڗ�i+K!(L#^���܅U��l(�T���E�C��e�W"�o܅N�"�۬��Ӕc��/1���'�w��T_>��R�Uq۟dx�N�":
�ژ�2� ij2����|�|A�ꖌ�<��u�*V$x�#ȍ�"k(�K����4 u����U�2�y��h�n�A }��H@j��TX_�\@����L��-�?d����/����S$���4��^J|k�o�ߌ��At$�Z�ER_����
�����JR�U��ڛr���e�*��xd�jD�M�Fݟկ�*Y��+k��Q�jwI��`mI�^U����ӨnM��lPy$��r	r�d�Ab'�8��a]�xͼV��lZؠu:��Q���g������^-��w AO�zN��e���6��$:̩BA�Bʼn�KE�tl���oK��1O*ȅB�B��hںCd?���&
�c��
7�7������1���xdQC�M�F=&�?��l}�D� b����<Z�WTp�˒|Y�	z�����f�3�ǿ���t1zQ)lf�w�t0�wZ<22I�q�,С�����'�<��-
��N���Q��Z����Ua
�gGO>'p��"{jh�`�?`���Ulj"Z��x�N��g��.K`/L?$�p��kKP���Q'[P>a�0��޶ȝl�	��m8|+g��QH��^mu,���v�xT���cK|׹�Z:���QP��%�I9`�~�:A��7�)��>�U��jf����h=��?�9����GsD���՚,z�ն�:���~&‡�t䯉s�=�Oc"x􍓧jr���p�?�����9�7+���u������R�b�z��VfQ�'�S�!	٘�#���\zZ=�皊���1�k�a%�|�Nv2C֮t�Vi=����n�\��4^�i�H�2��	R��Hv'[�����*Νzv�A}/�lH�f�@��ֿ��!Rxx��y��/[�?�Uf�LW�+�N��}��U���E���+^C�1β����r�8�+����H�;DScw��/��5��{.���f��-+Ȏ��	��ۚ�8XC�L�׾ⴈ,ַ��2��s��茉�@��9���|ɯz+���r.��X�>��<A�aJ�/��ْ�
qa1!X mI�nBz�4ӂ�dx��|	���� `4(�~ߧv�̓��c�i�z\)@��b@�hթbJNp?]�f���djY��Gm�)E:g�BZc�H��рk8v��\瓐W:��U����']DV"I�V8O!u�7i�jG����B�T�!��n��H���/���o/ބr+RR����w�.�IhN���Y:�x0X�d��C'�ZG��j��yDl-Z�5�t�Ղ�uHt�����m!�v٫���������n����tާHU����o�x��<��s%]?�� ��co�%9�~�}��u(Zs"�������J��VYH:�}���O�"�L+��L����|""��G���7�q���=���D|DkNO�W^n�4�?t]'H����B6%飯y]��&��ei�qZj�I]T�!�����w��� n3�?�t��;���Q�^X�ʇC���vIY���r���2��=�=���e\�2,&���R�������D3�T��}*�:�{��qq��)	e��2HN'��~Օe]Z�d�/l,4�����5������ ������	+��=�!-�~�Z�������Z�!C��(1�"(,���8�S��Ӹ,*7L�8��:(�.#L�C���
?�50��^}B_�i�/��<H����	9�FOHl��N+��N���@���m�#$���l�b3�r;�K�#��b[�HJj�gm,��#�A)��5z�:��Fj�Fs��g�]�R������F��ϴ�h=��)�����Q�4���V��	�j�\(�k�Θ��Z��C6�!"��h���� ���z.&��Esm/0�@����� �j���`I�"����qi?7�'�wi%��>#�0���1B�܂P&ʋs��41�ˣLI��NAW�P����R�y_�n��xA�?��=3��j�}���t���<�W�p¬�!��]DW)�J�
}��o�D�"1v�&��ͺ�jd���,~�����ן}^"�=�:�zh�3͔�y��thhF���0�����\M���4=�)}�꫆UP�W�*t�ae~�#,��v���@:g�@�0�՝���=�H,�6�(�ǂT�.�B�ɒ]���W��KȬs��.���)��W�ð�P��Y٢_RA�ո���I9��҅�)�#dr4�Ӟ�=�ko�܋���~T*5�(�{�|p�:�P�[?~5
7PY1�C��9�]�Q��gM�|�}Њ)_6�de*0�r��١�'V��;&Iq�1nR��������Cr���d�$3L����R�L[CT�1��\ E>�s�E��.��0ƹ��k_����Lh�,����h��p��d3����Z:�%��y�j�##t�7-�Wc|��1�M.����b���
�e2?�J��RD�H	��L�2��,s��B��u�ɯZ^�x_��)�(�R�
���<^�/�3#ʹ��вqe9v�y��ApP����!��dU
�Mq��a1���%I��D��0��r�ꡭ�)�E��jI8�߳g��G4�u��T����&F6�
	-Nj!2��ᬓ�',�pU�_�ޟkj�"j!��t��8��P���ArO�+�C"�á	�Ƙw��6��bx�>�,����N
;�Ub�Jt",�'�S��ϒ�8��������:'�86��8��qq?&��e≆��(�'?|0�Ott��ww�db��cLY֤���?.�Gi�!kױ���+XP"�q��-e��\�|�Zկ��?S�Q�Z=@�`[$���e-�n�.�
iLγ.\��+(��eR�O�Y���2PȬRc 𧺻"g�ݗ̃5Dg�"/�m�xM74�-a����L�G}�q�>ui�7O�{?!���K.�U�v�u-L�ښ��Ym�}�޼���X6睌.!;��H�|�ܮ�8�ϒ�49EfD8���V˟��Z�����#��T-]fٱ L�/#��+��r��T���9�b�3|��Bn�����\�oO��#�ٯ��o��8�`u��Y/��;.R�MvMq1#B��(4[|L0{x�:�u�Փt;��9��wk��䶏+t'�e���R��/I^a�'��@raM������B���:��j�%IN�&�
�z�t
K�>'q��'[D�m�ޒ}�k��NC����-�U Fy�C]FA�����L��HҮ
��Y���=�)�P�Y�	F�B��s���!�^��x��#C;.�_��贰�c^1E��#6�_��FA����F\�ܓ��,rf���)!b�	Ba�)TW�������L2�-���Kv���b�ZLukI�����>�!@�ߘ~~�u�����<yÓ�|��*��J��R�q�IZ|���iӋ�J�3d�����}*���Ϗ��-�����!��u�0�� �"��ˆƷuL�������鏈�|.�[�~�r*�Ը��!rMU��q�'z�Df7kb��Ѡ�d$els����l+L�*G�'���~�O�_[��ˇ�v0�|�|�9aZP$c��
û��s�K��
��cZn��4}RN��+�ym/A�ˆšYV� t����Y��;��'���Ջ���ql5f��vfG�_�7���o&����Zt#���ʊi-u{���ϯ�b)9���ݦ6l��	L�.*�Vc@e߻Ƥ~*[_my�b/hD��/��@
����n�lձ3�#J,��)��=���L>�Ѕd1�>�«�>���4̗��p�k�_d��0��Rt��~���#:�]E�>��>��ĦZlOm��y�9��7��/�,�93T��i#���-��'d|ѣ�Y�X�i$����v�ؖ3FYq[yx���y�5|�*R��/�d�5k���EV��|�Ц&
�PY�X�Z��9��iN~���n[C�.�Ź�8zcn4/Z _��~f�l�k��r�;b�j3���=:bWlT�x	DW{�P&�9!��Qj��Ś�w�a_��K��br�g��*k����0[��:��Njk��/�(���/�oص�\L�ۧ�g��q@H6���~��?��(WѾ�S�Ud Y0�g��%_���L^��9��.��;�|�W�P�QL��U,i�ѭI�<lW�s6�5�S5��mt�.�^-��*�>�g��XChW`�_��/���{�O7�GKf�GqP��(*����x�>��!�d`:�$"~�4�C� K$�2EZ��/�A'P�k���B�]��,š�h$t��q51���at��u(�0E�k@����B�t�B��h�4�!��DS�FG��%+|Q����x���o�o�c���`\�n�%�"{�Im{�.���(y��'��	�` P�B2���@a��"�T���j�N�<p�s���U�z-�X�Ѵ��s�����:p�U}S��:@�E�jwB��O
:0�BV�ƾ`���{�
�҄4U�	o7�6�����p.�]�Xv�t�(�6���N�eԝbaC(6�x���x����
c�ع$�5&n8,�i鷕���s�*�j��h�[��;Ѡ���[��~�u]<n���MEU�� �H����G���ŵH�ٗ.a�4���%�����B�hu�w�֍�TKl�ԑ�>#e��
8���������bV�EtV��]����GI�Q�ߏ���Jؿ��ղ���@���,����fd�����J[!�W{���(��첿)wjn��&�17��d�G��A����B���F��e��\�<Hk��7fMQ }���Ve��7--�����pbk
jZ��F��B��yP%]�T���<�=�י'��-	�p��?�.Жp8q����j^���b� מ+ )���z�L�v$���[j�f�Zq���<8g���g7oݥ��$T]m7ꑒ�}$2��?�2w��sys�,9���?�&��_����{�Sy��Ҽ�>��ߵ��O�Rۨ<�Z�%<��c����8W�GS��Z�(˕I��qK�ѹ�ln�I�D�\#�S�9�Y�,��n{�ns��f��[��_�M���醟.�-�yJ S5��ĚS�E�9�K���E�Ū�3?�Q0�`U��rptK"�Pt�/�Q�9�����k�8J��3>��|�5�W2,��`�+�Oc�#����Xږ�c�E���~.=l�1�l).���$C�T�YA�I��vRY^g_�����y(9�w�v,]_�ٻC���q��Wel�f�B��z{ͨV��=�
ϯ��Fq�����0�AA�9;�}ȗ����%��X�
18ezྗe�G	��$@��$L�8�f���ȕJ`(����¹r��u~^���WЭnR��4���Q����/�]�i.췦�3��7ɹ�5��=�H�v�I��+Y�X[0q>ݖ��A�O�1���
:WkB8j�ϔo�R�����bo��[umW=�,�-\"�1*�n��L�+�����˟Ӑ���XE�%�	�����Q�dK���)S_��t��D��O����T����'q�h��'�"q^�~��C�U8��Q����Zk���&�����`�iח�dv��c(�կ�T���_�T�4z�^ȫk���Z[���-I:w���B.m,�������fr�w��&����"p�9���p��}WX��kB�ca��2k���`*I}���iᖻB���< 	e�
��V^�Iy�e�1�T{�WKL	�x���f��D�<�:ڲƩ�f��9ۿ�|��l�y�8>_A�M!6��[=�E�e�ss]�Q���:�s0��o�$f�"���V^�4Xjqn��n��2��Y��������L���ˋ������C
f���kfC�+wYi,�?�_B�>�9�	
0~�d���9KsL���Z%�+�)_3��>v�h!A��F�:'�ɭ��
N�/��Ë���}�=��40��-�QzW1Up�j����[U�S�"ʕgr��E�B�6��]���&���u��w�L�a+�|��P�k1����hJE�H�J*m�nP��wa*�M�s��G@�JU�h؝���>���k�'���1���gv-|��\jaYi��kqo�h�r��^��_�x��]���t-~�O���Z�p���Ɨ�ȤD ��{>��K�Rt���`�
ߑ�J����߉���DY��H�ѓ�3f��s�
�Ǭ���@�F��E�$v
�u>��7��z��4�G1p�"7 L.���b��z�Õ ���7.6��?�w��+#jg���/� �و�౒���3��S��mB����|Z3\}�[3�:E����W'7Z���3���<W;t��Y U��}OV���RsL>�
g�v��A�Z5�,^�UM����F4���Xrg�Q��������r7��y�I�{������{��k��!����3��Sgn�
�g0��p��7[�h5o������Q�\g/;� �`dؗ�Z��9�!P��+���{�g�!xʖ:iX�A>%`�,(P5|��Q	���ϧ���$ܨ��F���	�~�dޏ�!���࣒(Ĩ���g
	��]`Uݽ�{�!
���xr��?�3�C
7��9���`W;���t)���i�AJ�+,�U�`�`�1 2ʠ��`�RW�ē$��ͼ�P��ݩ�$&�������N8L��R ��
�Σ�8�0[{.65`qS�Ұ.�T'Cq�
"-jI-�tB2��s��f4ӆu#U+�����0Dq֑�!v���o��(�������Y�B
���Np�8�15�(�&�8�xN�.B)����Et�@E�S�ۀ��}�g�*B����7��t��YKk��H�8N��4X,H��\p�3r���s��^���q�e�;��R�pF��p^x�8����@9���R�/M}�;��"w�qM�n�`��ʻ�ȓh8J�]����X.f\�8A��������c��g3�J�װ�&��� .��G��[,@�y"���D��K��^~�T*�8K	�0�!hf;�eQ�a��W��J�����0�&�;��_������v'�����ݕ��(3\!:F�"h���z�T�SɎ1M�]�\0�Jy��C��ӫ���a��'U���!��̅�wSH0$��T$��*B��c
R�r-(%Tf,Y�RK��B���~h��A-����3����#�_N4��W��EtKaI�)=�_ktݹ(N�
��ʰ��!:��H����z��r�ٙT�l8��
�l��]c���+��F��L�ͳ�^B�N\I�l��J�j���6��D���Lje�fb�8���M��ё�v��]Y�6b
?�IK�����f��>�y.��q�ڛ�&Ϊ\�����}��_��D��J��{)ӭyf�և�I�I$������u�5�O���)*ZhWk���T�@��+B�5|�1�cv�\H��_]u����sX�mY��9{��]�U�B�?��`�o�+ʱ]��V�RS�|
D��~f�	�i6��_\8���"+8��i��c�����8����\Ў�t�C�p��HȶL.`k!�(��rg�͖��˭Ɔ�I�uޑm\��<%:ݦ&�m��6!z/�t�z���f����ժt:��|;���SBfU�E��ߜr;U�#[
:�o�MN�
����w�!�;n ��l�9T�ĭ2)�}2����J�~��}P�Œ��<�hi��C!�㊃4_D�"���]��%��AC�D'翇��������z�{����a��L�z6��tݮs��5.�d�M�c�ǽ?^]�n���d4h]��,%�ufI1��)3�8�5Ҁ�3UO���$�|1�e�+�ʮ��҃��0�|��Z�����������@�F\*������U4,_��d��r��x=�W�n��7�ֈ3���<X\���j52y��`Tb�[��-��	2����`w�0��ym���z��0���8��un
��΍[$�	u��<�-8"�Q'x.���H�7�!�0�~7�*�~�wR���NG���u��D���P	��*!�F�`�ol�7���b�<{��G̴�/}��"U{�F
��=\wWQ*����/��"a�?����Qߙ��z-�'?�3�]��/�g6���*�N�����1*7��֍�sN`��@#Z����
�iϽ�Ÿ��r��8a��=��e�dh�u��E+s]�x���~�w
sȠ��1�j�"�0�Md��f�yP�yF0F�&04��:�a����XF�r�EE�zdD���c��[�[��""b$A��"��U_�����RN����:�!���G��q�
L"_����TIt�p$i�h;���5�����J������fB���D
 6���9���	b���5v��1�>�m]^5z/҇�O���Ȏ�T;um���#��8tȗx6X��M�|�K�dп1VV�v~<�-H��_���L�ƚ����4�46�E�����h|�Df�3��	�|�K#�<|v��.R��f&�����eV�[fa[��E9���@���Bغ�����E(F:�fA	X�YA��gB.xSA*��\�78݌���}��8/�1�1^���T��)iyXҳʅ��*�_�tY/�_C ߮B�H�|�Q=,_��G�L�T)�O���|5?��S�FM��6tף�闗���e�†�`���Yt����'�]��5S:f���cR�+�4���D�3��G�h�?u�j#��B��ɯٴ��݉���!�ֈ�[��6<��@�㇏l�5�5�)O͔}��A*k@+�#���L%%�<�8oށK6c�	
����,i�	�F.?1q��۷����-�����g����
�bh�:f��
g��O�J�l�>~�+,Sǃ������2<--ܷ�)3�}}zԠ� `$�q�"I)E�)J�⁐Iv�Tl�@�„��	�U��`�m�s�?:�G$N��S[ �%(��`g�p9�_���(O��:D�����HU�A��j���	W՚BJkadd�
�4�a���={�������>K$W2bQ�͑��Eee6WW�}�̴����DV�/)qp�
�\G�y���khw�&܆@�e6(+ɫ⁌K����h�C!�1e��ѯ�:���iU�*��j��?���	O-�g5l�LST�).�����R�O���8q�&PB_!����4Jyt�@�\��D�r�)�W/�A������ƭ������w�1�_�+��^;w��%�NZ՛�>��Ov�
Ƥ^ܸ$|��i�N�@3:�<���HQ�f��i�?G��G�i��������$&"=��{o~��y���+E�����H~WJ"�
�`@p��"��!lhc!���եz���^셰!1�
�ͥ��F#Zp=ނ���8���D��|��Åev @	m�����
�?�gG/��n<���E1.�y+�	�;���WP�t���u����1�s��������T���f����˯@�0��`W�<E�4��:�D�e}OB�����"!O+��Uu
E�ڲn�E�詄WB ���|��*D�m��[����K
^�5��܈��i�,S�b �E�,�p`�%�3�*�説�e�`i$́8<�%&p�!�^�yv��·<A������L���?�@�H��O�irc�
q�8��J�+�R�{��an��Ev�;�ݕ�����6A�\���j���P�d(���!�/�St�ǃ�ٖD�O�x���	-�!q$7�ڕ˒��)���W����7��Fٰt�G�D��+X�cX�}���X������_�[�)kt�C����ť6���N���ˣ��r��,��	���f���v�L*N�"�1H�j_K�,�^�"�c�Lݾ=%��~�~鍷t�uSq�A�έ�f���7�lJ�t�BpiGX�(�m�,y5@%x^���i	3�H�{F��B���S$�9^
���$��X�!@���z�%�ฃhYlI�V�Z��(�٠����x:ه"�c���9��k�[��\���	R=(��/�$���� �ʊF���x�uGa�}��T�ׄ���"F�dx;29#��ٜ��;���.�1�� =�e��Gq���t9{c���pP~��!�
|{�V+#��~5��
� 
�U�/���ܖK�k���VT�H�m�������ua:q���Cj{,5V��W���ނ�`z�c�!�
�R�D�ڐ����ö��F��-$�T-iE!tk8#d���"�(�i�M&1`��j�i�oj�݄wB���w]�ь��;ڴ�Ғ�gDG��M�W���$m�����@�ke�l���jnnkk6O|<8߫.&������zM
�H
L���s�]g�RW���^y��ٽ̕��~�s\��d��/���Wd�X�
/{�Cw����g��X,��a�s����Ӳ�|�
�X\��	Ɩ�"Ӻ4�0�^�f���y�@�>e���׏��`��?.v؁ôƀ�r�+�L� ?��楀�&�S�L4�1H�o�X���-4ݘ��t�}W��^��R@OG�6<H|�|��%Ev��H� ��kl
�;�ǟ�>S�8��ϝ�0,ܳk��(���;���/��P��۶$�@͞M��H���/B����U@��4;զӊ�*q�ch�gi������n�fи��:8e�>i8{�ϊ���D�k$ޏ�^����g�n�o|4��׉��81��os��DQ,E��(�uhxvV6�Y��r���c
qMM��*n�`
���Sӛ}�I��O��>-K��u?�djåa��)��bT��K$v��#ע�����?���'�K]�ofq�E�zF�#Ϝ�፧N��@��r�mt�^qP��������bv�+��ò:(q���1K��Jp�n�a������*O$�biu��֏,���5��p�d_��+ȅ��y˔	�	�ƕN���xo�`�(�hQ.[��޾���A+��2|���匣{x���=�c1�ȝ j´��u#���'����[��RO�g;w>s3r0�\��81O�/�<�Z���e��"mi��̒Y���W�ۗ��tA����;2\Q죉uAi�-�tPr��i�!��T�~��L5��{Nʆm�`�#/���v�9/f��!��<Bɇ阌�ȴ���ߊ��-Z�71��1Ơ�:
���ZD�(o��G���}XU��PI�\�/V��"�����`2sBI��@L��@,}��vy�2|�m������ӊ$N���O0:Dr�|�pr=��Ϣ��3�J����*[c
��'(�R~���a1��v��C2!ь�zC����E���舣��¤����c�b)�`��<�]�l�s:'��jW#�f�yXZe�
IqJ��Đӑdǃz��.�	���v�S�o�)j�;��7�G�̨����v���#S?q��4�C�!=�6�q��RRfM�Q��e��j1���u�4�3|��n�u���0Ȳ-Xb��it���������

��4=�4Ƹfk��]��v�G���p&�'��9�0�/�$ݘ���S�Y�V��
�%`(��"Y@��F��E��|�W%�φ󬦦M|����f���
�l)�����(<���D��:����f<E"WOW��=�D�V+>^����r�g���.�@�.P�#�3������M	7R���4,���yQB�cVW¢����OA�9i��EC�',���5o��{��
;��!v����h���|�0����M�X����7�y�Ʋ�B�����Fh�����ys1���*CZ�D�t�0���'lY���	�m8��t�F,�W`���^ZՋl����8���#9�8��Χ�7�h��b]�@vr�
��Cى/-dZ�|\e�rƍ�^'�/�I�0�|����/I4�!�ݑ����l~��KM����%�|�jO��0�O""��W�S�~��ߺ����Y�e����!���|��IP$���1c��%��+�.�Vq��4
�ƫo���W~���C�d����yVE�m8g8�T����}�,����J��?��O�����9��ֳ�5`kٿ��p�%A0��qBG�0)I���0��Kq0$`���e}B�±@�9s��*ǡ�n��ܬ@^ʿ~�Yb<�� ��͘K�*,JXI�R��	5�f�ޙ��%DǪ;�2�x�L?ю<�S��M�~ۑ�	�)���lHo..H���W�N�"��
��hF�5&���F�u�2����n�FOf�,�����0(d��x�7܀�[]0�<[_8����o��������o���O��Z5/����|�}�^��
x�8�t����@Li�<h5��/�O����;��ݘ������:�II���&E{u�N�8�u9]����4��-��#%m}c��c��p��S��B_���y��i;z�pN^(
˘=�9oj�������hޱ��o��)�򓜻��7t������c���f�&;�(��6ѷ,����T�<����y�|q�%�t��ye��Qe��ՠ<.`����*��`�A��YS2�(9p

�9�U��Xmz37�X� �c�����N+�W�^g���	����� �BpS�o�K�	CO��;w���P᝻���DzD��:1	g���J��/Ԓ�t7 k9ڒ��!�4��P��6��E���8ގ;Y�ћ�x��,m����84r���,�(����ɓ(ឋ������Lt�'�uNP\�M�l�:��A�������Ye:M���I)�G�����X�r$�>��
�nϢ�|���W(�
�$J����]-W�	�n�SR�CA��+Ϗ�Tc���,�Xn���g+�Q+�j��Ԫ4�h7U���t��x{�[hRRhME�'(4q�U.�?�Oes7�i�ZP�w�o��<�
�7b�;8���|����,� ;��nl�nG[K\K}��L�&�Gh;�-
4��2��js�k
�Z�}��P�Ӣ={:�TzI���c�	�v��p�Xq��=j!r�w���s�������G�u��[�����nJ�Lh*�+�\.�b=��xom���g?5j��;lP�X��?$�3�)ZA'}�I����x��	V?�E/�0����I�]��%�!]�Qc`�ށ�x<��-)Eߔ-t+��f�&�.~H%I�����<T��_��{ʚz���xݷ$n߻v;%�HL��RA�D$n,N��E�g��w�a�>43��+i}4����4Fホ�b,+�fН���}@�gaj�D}��ĩb�tc�f0������\$<3�0�JJ����1jџ�\���nof�?�� 4�L�u0Q*Ʈy(�1�I�S%%S���՗��,����F��	n�8hV�4��~�|�{͙�NA��i��܉���
�����^����M���d8�!::}Wmoj�0,r�!y?L��)����T���=������Zjу|
�#}»�pI���֛�`K��W$�2�	k�gg�ݬO%Z'AȜv���f���hk��'�uP��xJZ��/��^2��֯�e��&��u��f����9��T˔�6�t͚luЭ�K�:�55��`�n���$�#��s��(�#T�g����b@0s�7�V\!�D�=�w!�tA�~��f��k�$��O%@�З;7��#�@o�֡��Xug�!c]ɬ��Sh�ܵ��b�YܰI���J�o	��������Qw ��3ܕ�$�^(	�A@v����*�B��
����Ǒ��l���s��b�k��M�����$��臓�p�������0�L/�B_�݌޵m����z����I_����<��3��8u
f�ע]�I��AY�E���W�(�Z��=9GLt��hi7	��Kqb��fmMȎ܌}q����8/~5_�&����jݰ������Y	Y��S>����Z�1I�V"��W^h�M`�k�B*1Kc�*�a|��&7e�켞�v_,p�/�P���-)�7�2/�ddE�
/���7�9�L��`Cv��OpON�i���2^"̘�[Xc�A��猯+)���W�J	��$!�Y�eQ��6�`ty(���N��WE"�9��E��,��f3�����\�,���$��R��r�q�����v��(�,�F+;��L���@�(��A
�6���>�hL�	�R+�E!���w������H�bNO�����}z��rsq�~�ʗ��I��)kHK*�t�Z�M����N�Q}HZ���%��G�iڪ��W-�:�5L�|�@�����a!K��4����WVY��{���!]�]�
�"�R��Q_w{�@!\Ϯ�-���e'fr�8��&��G���0	&@�A�V�R�š�M�<-�R����5�=@�@t���ѽ�����w�5��ki�Z?���r/��<���o@��oT��;�d�X��jl��Q�[-(�u`�m��dG�_�z��g��l�2#����^헭tm�=헌f'�3��9:Pu,��@F�<���oU��!�2��p�g�-��2&"��ll��r'����]�YQ}���
�KA=l��6?=�'��/R���ss��D�L����	�Eq�)��fQ�([}��:�3^Pw�h\ʶ���	������;`�\���Էi����5=pG�D��;"G/�oi�X���m-�8�r�ؽ���|�ky��Wd�6��@�	���M���D�3��1v�����B'�qAGuR�i�{wǦ���w��v��-������U�<�[�כ�>�w?�ۃCc������������>��!���s"��������,c�~]�ٺ���Q�4����Q$�4���u�6�dӜ�tШ��T��Ũ'w��e���E��a9yR�X�1��L9't&�6��r�K�ʯ���{0�,v�O�<�64
�bs5
Q-�-��k'3L�}�O-5�:��wc�Ga��k�k�x����`$0A�$����IPq8�k0ľM&A���Հ�v+YTQg���	Ԧ��u�}�fMg~�i�N�LS⩙�Z��{?F2�V[�R�������\\$�8�%�ᐟ��,FY��<�u�X��Z!�=�U��8?�Us\��\��FU�6sw��hZ�6�`]�x���UNnݡ
��FcF����z�Yaj�j�5<ѨH���N�@d�9��7Dl>���&>� nsOm��*���J�����d[��A�g���v�M���3
-��j$��M�Yl�;2t���哺fd�e��[G�^n�>H�Z!�	���~�C����K��ެ��䳃�kg��(�:;5��0�$�JFʉ��"g��yk�u�	�q����ó�x��8�1��.(Q&H�\״
������ӡ�W�
C�
+�:�%i*-���h�_��m��ˤ�ad�U��bE�7�F�W�2�j_�;`r�M�jn�Hu!F{]/�|��M�]N�55Vo~�)�I�m_��}�K�y��b�%/��%�rdS�1��%�zB�?&�Cn�T@R,���Be
�G�U��AG�>J*a��'4:���l(Aa����hHG`T��udFWz��C�:��J��͛��<����^��G���YH#=wa��Ł���>/��y�al�(�1��`��hkˆ�����I�V�3^�ΧTfQI-�8n��NI��ϸ��1+^�������a&bRJ(�;�;~3G\!���V��f�}�y���)��B���2��!p�F�̶;K:��y��F��WI����́g���	f�����R�_R�*���sw�}~j���q�|�(��!2�YSb�k�6�y�D�rNܮ���X��b�#p[ŬMX��-^l{��d�=0����.���
���f�����u�-���j�u�8��ҍ\1(~q�?��C=��O=����ޞ_�J"��Z\�oK��`'�vd�ڝ�k�hő^���C�P���4�zC���t�����[�}K�ɕ���=?^����3���AE�쑲l)gvE�h6:��e�p��}�a^PC�ۓ���䚜*d��btz�mm�fS=����:��G=��-�fЃ���BesN��8�đp�N?r��E��A!����J�0�n�`����\��7��b�$��g�q��D���K����%\�/��h_t���7���j ip�`	�`�oӫ��P���i(�������O_�9d%��`���&�y#X2{��j"8��K�}2	�����D�#��E�y��R� Ä��.�Z$h$�&S���~?�������	薲�}`3���h�iV,�����xm���+��6�n��)��*f2��۲30�^<WƤ{�p(�/kV��4�G�)�u���WbV���!�M��Md��9�u+,1󃨹�̯#�L����=d�m_����HUԃ)���>9�ۻ��Ƀ�R��, [�z8�Lo�Ĭ�&�-t.C���r��1�N�H������z͘�Q�ƃ�x��KRAt���J�c�4�R,�4�=h|qo���Y�X
%>o�JA����A�QLIA���ȷ;�X�X5�U_|��QtD�F��!��u��9%�A�����kɧ�.�,|����s̝��X����MeX�~���ϤO���G��F��S
���o�uHگ?Pƒ�4|s���gw���&�F��I���4ZY#{���m��fo�X�	����Z���V�#���)v���В�2�Ҋe���J��㼞4cd��Q��lZT���x�ߟ����Wǀ4.�.��+8�Z�$�n�)Л�����n�S�W����` ��J�*\�V���f�p�2��bg�A��#�h�w���I",[�S!l�~y��FVM�x�L�,Y9�h�+��.�n*5ٜ��ӌ�1�����K�˯�x�S��'�C*)��PKI�4�/XjT�e!��Ͷ�G�ď�I�P��80ۗ)d�2�������C�:�z�L��[�C
�+��W��ӏ苬�`�蛲a�����vרo�v$D��t���`��3�ū5���KJ�T��z��s�����ޑ�0��ʵ;�T�)�6���܁Pp�c֊�
|�,b�7��$	r��O
��i��bd��Y���>��.H�1�m�X�BE0�W��r����Wa-���P�e�����	�1���VYZX�g�4}t�i��y�vj0-,��I)y�Y�^��s2�NK�8�^'����1�[�ʡy1����~�
�5���ȴ�qˌ���T�<���Ac��{�]�c;A�m$v-�.Z��ہ֤����L|��<R�42:�"��+��ß��sY�%�_�X��X�d�u.7{T��Dt�bh�;WQ3=4Mka�z`�^<5!9�K����\�Ǡ�e�n;�,o	�S��b�LV�k_�cG?�Z^��s�K�S�o`�����>���.>�9�=�9�����sh�u��UR�訬�S��*z���\�R��J�\%��a�Vd��Yz�O�k:��Ez�\Μ��Q���X�(tj'��0t�フ�"����6��~��8mO�h�\��>�8–x~�I��~�G2����yxa�^����M��|E�؉^'L�N;���l%�*o��ź93or��/����ɗץ庒���iN�P���d���r�u�<EV�8�m�o�,��\4�j�ܬq�����/p��XT'\�|�v��J�!ꏜ�-���x��Fq��a'��>$e9��3��#E��vJ�b��?�7~�
�Q;P5�1��ʚ\�xul4W�Ųq�9θ�+����s�b<�!=S�wW���F��A7�D�����qjX�UdvY��]���^��#
��1گ��1�sbdޭݻ��aO6���}���)_�pbSjx�,HJ5��;�HLR�mAGI� '4eu����o�47�Y���6	�����ϫѼ�� <����Z��"@6�v{��B^EP��89vN3ǣ�]��ԥӏ2j^�w�6��EK_]��BO�ӷ7k�P��`_þ�
��#����i�&�`7�x����y���q:rս�A0B��S�0dZ��"DZ�̜����0\��Ö��`5y!r7'���!��A�)��+��Ђ7n�U������3:F�2�JQ[�TY;;@����:Ǝ�H��O.�0f��wN?�*�]���s�7,��S��M�|���o��]�ˠ���u�lUX��APʆV�M�Bh��o&��f^���.�zh�B�Gy+y75ҳÐ��ҙ����L�P���c��AT��?�'��1l�!�K<D��h�>�Y�Ahi7�!g�!�,�X���Y���,�\��Y���
k��A{�
73�܊#�2��!`1X��$M�Sʟ��f�T~�Bm٠�AY��c [P8�׺-(xr��X<M��_)��[O�|P��[eBr�w�ʌ�L\��n��jd�U�Gק�f�b�U5"1�r�-�U���F���$��>�y��p^q��I�ު<�+��#+z�+�	L�(�	�^Ҳ��%��&aqP0�U2Q2�.�1iw&��8|��c��\C�̐�j:m�Ah j��6�0hu�D&dW�@%�A�Am�(��:~=8����N�jxB�;���
ӯ�{�d�\�wZ�X(M��[E���� ��d�ѽ����\pݶ����_�{%��a�I��J�vB�.j�x�� A�5���[}+��x�a�]��Ф@�kY�!J>�z+���?"���~�O\��&*q�ӷ����^YE^,\���4��}:]��I�|g��Pu���Wx���7�m�V��F�v�t���=��.��J�,�R�#h&~�r�RybF
�q�S��n�D�Rg��e������=��=��v��6�@3n.�-��d�lA� f�Τ�#t�>�B�-�
y����{Mͺ���ɛ�r�}��֛LI�6d%+3s�<
�g��'�>�
�eE�*"Y��$�2�í�3�.a`���a��i��M^�ЖŔ�m��M�@�^I�$ D"ܜ0Q0�yI��W[����1��͠A���-e2=��`��ˍ����Z RbΫzg�තS���x��'�0�߹o�f5���$����wr����s��c�b\ލ���Tg	>�r�r{�0�6�ڂtf!��ᄮ����O3�D��ڂ�{��rJ�)���$%�"��6��$���C��
�%'���ςq㸮�tmN��2��X~�Y���~���3o��ts�B-�:���f{�����O��6'Nj�ӯ���q�$�00"�y��5�h�F��!�
����,�,�T��8�#a�g
` ��Kg���e����P�X��;���W��F���/�y?��*��I�qR��
Z�ŕen�<t���Ǭ�F�����;pw��`'jV��呠�֪L�t�Abh�f*5�4�W�����E(�o��o��k�콨�%ag��/���M�A�ڤ��G�Z׺��[�8h��^N�|�Fs��wC��������a/b�+M�E
\���d�9Q���g��·b�c��K5�����ܻwfCf����T�{L4fo��_����q�q~s�ax�)�..�%	v5=�D�$ɚ��44]�T�+�9m�NO}�b`�i4�!Αe�%� ��b�Nt�<�'��כ�ʯ�`�3NJ�L��zWy�ӺL���*N��W�]2���\d�y�g\�^�B>�� �-���]���wh�m���FL9�W,�6�[/v}ʭr���T��K�BGp��%+��F���9~�@.T�B��E����%�.�o��(rq3��`A#^�{�\��i�\#��qj*�ǀ�2[c�M�!m9�?�����
�$j�};Վ�+��@�T�yK��@S�>*��)���t܈4RcQ	)-���.���3������*�Hz��F�h���Oc��]�o�����t�C(H�"�a�t�jk�ln�Έ�)O_2���~�J<h�����	sC�O�����5�x��wr�v���!=X��ыJ���08�L,��̅�NW⨁��bB�&���`"�zS��e'�~������xss�T�hs�LQw� ��K���Q�4�\oqL��dS�ݾh�{��e0��R%3��<]g(�(#�V�Z�n��3
*�nk�)���[�]:�wm.�G�͇��3���q�g���a�B�l^5�夿j�������1Wwx֯��@gb��5��
z��0�w�����'O�l�gb٬�Q1;	�N6����$
c��Ǟw�@sb�7,B�"�e��^Ȧ o�7<"x"��Ak�H��>�q*�TzqI�
v�r��K%/@�|�9$M~�#
����b��s͋o�G*�~2@e�'���'��xA����6��bd�^2�1�%���mq�l^�F�52��I�/8�$���Q�?���F	���#��zX�	�O�		�=�40�2�a���2A����iƇ+1-�D�(��G��o����|�_,q`Xd� K��ˀ�X�'H4�w2����ȁ����4�ؤ�J�i���Kt-�Z����X����<A�Kwy������˶;���&�w��M���S�ӷ)��s����
2Y5��j�T(���v7���--@����d�m�c}�@���bxN�WxS�
�$Cr�=����ތ^�(P�#�x��FZT_K���+G&d�T���W��Π�fH�ƽ�Cs�q�/}�E���
5�&h�7��
�@l����D���:��iꑿ
�070�i+ť�����ܩ�P1�0�]��m�$�$���(έ�{�IZ����jy4�	���/A�E��Y�#mq#�����)b�>]܏�Kh��r��Nw]��@�ے"[X���T��J��s§��≙��8OpD�IBP���ș�sM�������!�'8���oA�`���E��H��"3����Ǻf�1n�[�q���~/1F�q0��7	�֥
`����O�1����*��/Ig�?��kՇI��tZBE�#�NI�<�I�2 ���CE���<.�:���5��Ƒ�d2a�
�j./Y�V$�x����E�`�:�{c�y\й�5�-��|�c6	�+1
V��S�}���{�U���ҫHJ�
��O�N0����b��
9
m��^��U��m���1f�2[Έs�sS��B�`�X�c&��2��۶)�y�\c-mO���m����k��Ӊ5�n���(��2��Ll@��)�k�Lv�CD&�M))��K���+GG������6p�|t�""�{,_�
A�d�` Hp_no��{�I������XQ��8����Ft.(ȸ�v��r��zd��K�jm�%y؊��t��(J ��w':A��uHU�����GK����=�DX ���-���F��.Sd�����F��Z��*�8��1eGvw�T5�r�g��l#�r[2���p�g�FNj�+璝 ���m��0�O�l%I��Q^Ag{�/����>�?�FA#�|U������G�~�{��9��{���GC����(��bs]�ǿR�|!�Vmdܹ$r��ѢKw
X�1l��t�	�<�]]���>���}��L�Ȃ��I�7�|��,�Zf��(
���Ǣ�;N��nX�1#a����M+'0�+^�]�tv���rp��Hs�(��z0�ll��R��-�Gs�����ѨC7���z�-�����eMQ��~3�'������պ(-Q�`��0��V�n�S%���vx���0JX��P
ڏ�v^���9�!��M�kܑ�c^������6z)��#��w�X쨾�I�����ň�h�R(�K+ÄFa�k�����-Q�#v���p�8˹t��9�o&�)&V-KUU���?�E�A *q��|-K)tܲU`���U���Y�~�⪯$��U{������/{�/��D��ˆ&�Mf��<�a�+�~�\�rm׆���8Oh�lr��b�[�R����u��]��lٚ�uɳ�����ّԎZO�dxS��h,:�-͙��6�h����m��bZ�D/�
Ÿ�������w)�G��~�9������	�U�|~�C�·�������p���
�mu�&��=�'�wnPY�֜�T��ܻ���"�8��e�wϊ���y����A�e�� �)��VJ2����=�5�d�S�r�$��ۛߝ_p��;��k�t��y�9�m�,)�P���%���f�=L�+�w��8�YM�V$�ޡn��-�af�5��w��$>{�E�^~�M��t��s��U�v�>�zy��(4��i�-��2)�*�Q�p���C+�;��k���.��c`����Q(BK|�B<���pW])������:��,M0U��J��T=�Q�;R��ECS�F*p0/�g����]�s�\�	��H�C.��y{��.�sr��v�L�Ũ��,��!�zؕ>�d!�G<�3���!�#�G�P$���ã
�왦6��ȸ��e��0�@�(R}P��j�g�,�S�?����2�[��ab�N���	_�$y"GOz�&�J>^�����%fT�2WT�����S�9�rQ.����4LH�S��y���Қ<߽9*���O3�����>L���)<���)4	N��5#6�'��{
��h�^J����#�	�^�$��VJ2߯R�pt�̔ȇ}@i�V��~��n�)!�̣o+/p���a��|�Pn�&�uc��
'��#R�q��7�p���F�g���v��$ˉ��ݟ�;�3�
�<��e�<�X��@�_��3ԓb�}�j��rI�R3��=��'��2�*]-����pw8lF�cW�g+.���ϕ�;8�ʽ���n��7�-�$��.~ TD�n(�ߔnYg[���S	8.f�h�E���c���sx1��73�=����)�տԏ �E/��'�ǔ&F���է٨���3v����1��_����U/�O�)�e�"�4hh�>E��=ȩ�ܢ�I��xk$/%���͔%�<4�q�>MF2��B;ҬB^x�>����T]�$:��x'�%�Fۄp&��ՄZ#9(�B��W�?�؇8���
���Ґ�����)J��?4�fd�س��q7В}˝�:3���^��T����Q�FGss�_�"s�bӊ� B��7x��"�!�ҏ�qj��sΓ%��q-)ʒ�e�|<0�� ;7�>��{�W-�ī�����zfPܢ]�>B�N%��,J(�s�t5��6$�5,
�{@E��l*�1	��z-�kA�GnP{p���Y�c3��A��a�X�	�C��[� *Ip�m���r�>�k2^�0,)�Gypi�^��Di) V�N*�������ظ�&��N���.o�[�[
t�.yH�����?�Ũ�	d;�$���|DZn��l��"t-B:F"�=M-�yH�~�C�����ZБ\��Me����>�.x��2wn�cjJ<56%~ɳ�#����Ts^_�7j�V���_�@�b�1����0���8��a�9f#@]�%˨wfFz�ŋ:]�v�n��2ϊkjr���k0W�`�m��by�vO�d�:��}��T����$�uH��2y�poVZ9��o��������Dk.���^���1ƎK��~�%~�w��9n���)О<��R�O�@.\��~iC<f�����9�<�S�A�X��&�t���w48ۇ2�@_���f_ֲ��4cN�����2��
}�ز������\�<�r��k�m�-���9�6�����Cn7I9n���h�~�Z��rK=>�G.��}��vOE���j�'5$����/S�KXƲ�uKe���`Pѿ��,
���e�����ku3�Y��NS J&R�u<�7H|>,�4���5o��:h���LcR+ug��\�,�!�b<��P���%w;@��I׷��Z_%��I���#�wdG�pC�v�iZ�a))�I����;�ô�2����B��zƞ��'�+���p]�}�]_�c7��4�*Y��S)�j�y���P������ [�?�Qc�G!�ݠ�LSr\��ȵ���[O2)٫���3�|![���c��Q6���O���R�
����QO=��Y�6�T"n��)�()+�q�N��ל�\K;M[���f~y�A��(�5�ab~���٢���K��d6��cN,�t������Z��h5��*'OY�r@ 4uԋs�r�29��2#@
3���#H9�"�ëH��C[�ݕ
��f�0�etū��bRl~�w�cC��sEj�����_bK��`� �u���K�n���(A��}�Rd���E��k�* ���hP�j��)�d(?w|��!C�T���a�w��&�_��Ѐ���ϟ*R`[N��֭�����p
L�	�d[�iF�^��r�j��`��=�	!�D��$Pr,���cg�r#���WP$�-���*���U�o��u��rp\��"��Yx��j�������;w�?��@`M������e�xc;
	��SѢa��k,�S�O��x��6p9;.gp��:��*h!��R3�V�	Ƹ%�;�$�6�������+m�˃��j|����I-�̗��A��V���	�Zof;�|L��״���Z7�!����Br7���}uL�"*���-��{�iR�A�ߤqҏw��Yc)�ٗj�!i�[�Ne�]�h`PV�kO=F4�������D:��t�Ė['���@va	����T|��� }s��N,��x�	��� 1��JU���z���I�ִ�Z�@�d��bC&���v�ʓc)�����1'v�WՀ$w,�O�Q�	^���سGp��.~�%�܍�ҍ�7�\}}̠�h�[Ngfc�Iu�Pf����1�>�'��Ri"��/S mT���	���Ђ'�e��y����$��NR��k��vI�Sq��M�ZR�����:mȞ!�\uE�:���_���S�~y��]�(zEXua��Qr��xy�����<U>U=u��6\�
m9���3Z7d�Z�yH�}}��f���=4��I�n�n�>2=Ͷ�wh���]�f[�T��@-�d'1��Y;;���b��TJ��V�Wx�M�%ً:Ԣ�&�vZ13�?Q�t���d�t��s聆��>��Q����ʋ۹�ښwI*���$ϰW'Àe�n	خ���\UE��a�F
���@kYë��z^_BUvҠM0Cf���0̄�;_����WV�Ι�1��Lk�}	&ޢ@�=i�)��@mf 9GR�ew�d�K�n�ݐŚ���H'�q�q��� ���e�T�*�l�faT�.���L�S9��w�!�n��CY2ZQ�X&>d:��^д�7���#����P�+�$��)�Yc-�}�:�N7W��ɼ�~�Q5�Ջ+�E���~��y����EE��8��r˓O�v�/��I1jf‡s%��[��۵8�y^q��0�3�!�Q}t5�
�~�W)&'�N�SO�.�D+�#�ٮ$�؅�v>�M�c�Gٮ������d��$sZP3��HO�O챢6�<�7�_{<|���D�ᶠ�gQ��˜rα��2�byn��8�5��šԦ#y��]9�OQV�3q�n��83ao�-"\-}��p���u{�}>Wb��jwd���}��bu�KR���.Jؑ.ӱ"�����k�r�@F�3��|�q������T9ȶ�	hb�is�l�髩�N�&��%�P�j2��8��&�������^۫_��E{�;�%��H�V�:�fM�
ë���쑗;t�am��	�I��ϗl����J��Cǝ"sd�C��X#�T�_5N����ȡ�N7�l��d���]�e)��S]�^c<���Y2%�r�c�9Ě���n�$ꞣk�19�S�z\2E3q��BҖ�A!'J���_��x����L/`����FĈ嚭[V/A�3�8Yk�13�&~�1�k�k��mږ��7�.C��l�����yQ�k*�M�†��,�j��������S
����7.�W.��ڎ�S��T��5JEu��fMZ�f�82�ݠN�k�LH�4P
��ƌ櫊�&5����{VJ��1 �H�b6dVJ�[iס�1�5�܃+B�hn��9T�����oi�-�)�%e��2�T�옞��P
TYڨ����_��ad�w�
53�@�NK��q�Ff��)Wv��$>%a�s@����D1>v�6�‘2��o�|,�*���N��h��/ݵ�c�/o�� �v r�H���n)�Yݹ�;�#�VJ�䓱i��c�D����9�v���j�YF�$�+d�}��H��q,Mvb�:C�)!�B�3u`�Y��z�������7�g�^zt�uy%��{[VP{)�hn�ƿ�C�Ṫ3���ڂ0�U��1Ӫ��Ƈd�R��#�. ����#;
k��d���yƄv@�#
$r	��o�<?��p�"�E�����!4��=���h�s�5����B��0c�L���{	1��;'��=�s8i�A ��g"#�/�� s}�G�$w;9��=���2�h9cm��jf��(S��Vdrq"�X;<L`tb���f��zAV*"7v�ٔp��3��ҎWV�&���O�E�b	�U�
���6p�����T���fh�p�d�n�:y�H�Ŷ3:����O�i�~��l�W
C"ưT��㐄{ΑY��Q܎X�}�I�˿�g����+�8�k�O��P4z��{[��>Ee)��������[���y�͜J���ۚ��c�Z�Y�����~~��q_HҺ��y]&�Q{'դ�7��c�鈩�*�����R�2�b�6@�#��Jp���)�saŭ������c.�Np'�)�y�&6�6qò�F���3N��~kf��\����mԤ���+��.�5[]�����v�RC8R;��̉������6�e+����
�1r�#�S��~�W��/���Kq�<ˁ�=���_�!J��]��]M�V?�~Pvy�_fX�t�l��y��j��54�:��}_2PK�+����62��B��ɗgTzg���^�J:f��e�㓎d%D��?��В�+�C؍0�4��X�Q�e�=�x�E���r5�w�+��#���_B^7s���6����f�
�͂%[;Yi?�e�-��?N�v�|�*ZU�����,sr����pA%��C��p���z[&���S���||�{S˟C�h]uw�����r��Ε�c�z�y���jYؼt���g�By���u��B��<S~*��INѽ
�)tN�3N~
�.�9�^B�j�Y�'y!ؚ�;:��]��]�S�&j����'B�qa+0�]#FqHp��m61G늭pz?�:���a�FA���A5
F�m˱}��z��A�<K��1�8�}N�bҐ�ýF}��q�c9ō�rc�4�ވ�@�}m����1��\Q~6%�}�/Y?"�2��@\fy@R�ps�
��3�p{Ia63���7�%�>�:��d��g��>���
"u���6��v7ڒE�א]��m`$��T|�2l�m�W7;t�6�h�c�����J�p�
����3O��r���������;�Ar�6%2�-U�%fĠ�,OLq_������V&[kP����-�Ȃ}���ˮ�wn�	�8L~���O<�����܁�z8�q�7f����]�׷ zMjJ3n'[�cVg�#.��~�f���\툏Wi�|eĕ,7.(���թ�!��	Y�]-�V0h�>)%w�s�2�R�?hoqo�	�J#��-�k
揻�c9��:���D�D�f/�!���_9@]��H/� *x��O��p��_D��w\�|��n*!����.�vWײ����eZ@4Qi�e���+խ�|�诔�<c1��]Ȣy�φ2I���ui4V����H�3"M�G��ڟ:uXՑ��3�G��g}m�h�{y��O�"�_��+��‡��G:x�y��#7���ł�HZ�u���zU{��n��v�ǖ$؟��Ȿٿ�B��u�I���n��Ag�m_�_�;�g�q��I�~͕��ܔ�����p
N4\~F7��qg����*e�Tc4d����gh��a�
��2��AV�];7cM�%d�(��拆�MG���KqK�z�/���[��ʝ7���9I�n�6��.��MTBЙ�-7�,����R��\����F/k�oL�D���D��M�$k�2��v����m�v�?R{�a��T�C�Z��ۯnX+�z܃�A��
P�S�Q��RWo��:'P�O
�Z]0OlpK����z��t�7�IU�_O���ˑ8��[K���i^��|�����a�nN�.
��K�
�՘9ǎ���n
_��r���F൜��/|��\Yb֝O�
���m�6Ge��HQ�����H��CVtlcM�9�0�J�$���C�z���N��8+8`���'_.D�r�a�3�aQ��Km��ڜdF����A� :l��wC0E�8A�]�-}��<���a
d� �9�{�,��J{h6����NӾV���VB��L����{A��Y
4}� �?Ի~��6
ܵr��m��f~x`�Fy��nHdz9�����I�[k}5���+���M��O� �hsJ�,K6��[E�FӞ�J<�
Rq�D�秔�WG��:���a(!�*�+j��y�J�����+�;��H^;��<�g�'�D<K��U�gO�~�K�`��l�=#�8)���4@G�9��n���k0<?=x��:�Z����E��F@h��޴���j�պ:ޤ��m�x떍���q,a
������X���դ�y����ܟxU[&)������^`�ag�k�3_W_��0N3��Ͼ\Jy�IK����0�}�N��}U��N��v�C�L*n����sS��:��&�<�#�3]���`_�
t4�`j��g›}��򰞙�71�s!�9w���W�9���}��:�dPer�y����,Ϗ�Ǣ��+}��Ði���	~s:0��%���(z`щ�3z
:D�O;ˌ5�E�v��l�f�i6�(E�����j����ˢE�2(�H>֭��c��9o3�*���H���Y5ܒ�?3o�Jŧ1��b
<�5$s��(F�|�1��(�������l���	Y{ܑ�$�q�Q�ò���')�z�*ޘD���<t1��¦�-��w��Ϥ\�0��xV�1P#�C]��8��M��"�润A��C��ю�|m�R���|��q����פa3���'ς޾
b��N��)g��갛rZ���p�����C���$8oNm���1'咰���.I�e><U�?}�3h� e�7�Ӕt�&�a��Hnˑ0M�5����=:v��X�|qi��WRNQ�;*�	�I����*?-����m�#�
��}���;��z�xd`����
���ÿ�
a�ɥ����bf��f��n���*_��<k�\#[I��/�ݘ����7��|D�ZU�b�w܌��G!?�^��B��
��m���[�k�ȓ�6?�J���v�D��J�X�A��
(RLW1���ӡj�P���ւE�U�QK�#��5����|��E!��^a7�5'��	z�=M�Xuu��-!�p�ke���VEe�f�{K������%o��\��3�t^6��~���Պ
����HR�/^�o��C�m�M(�hRhvC�-�1��xw�@��R͝>n��X�9~FZ���+�ȫ=�lfU���D �^#7�S.��W�
��ڈ��ь�Y	��{[�Rh�:MA�kj�x|����d���ZV��� �Zy�x���*!x3x�|�;O�"7{D�]Vr�$4�l�ٰ���:>��Zl�\=�lX���#�L��F�R��ۘN�_Ƽ�*f�.��Au�ܷ��D��� �f��JKy�i�
Y7��8�R�f�(�b���/�����%Ɍ;*��H}�_�h��ɨ��B���v06��Ǧ�W�Q���C�`���a�mPM���Z������H��O,�W�P�I�'��.�����I�����2�"f����'�=JX?pK
�,��"NC��rS1���MT�^����Hj��`�� z%��`=�r��	L+�
���G�qS�Ҷ���g�o�&@;�>��x�8m�8'0��b�hS���W1)U[���7�r^��ɣ7�o�C&P�;���W\:��Z�	��\:�Q晽��l��@�G��F����T:D�g�F���|A���"�7� P�TȞ��T��e�٭*f��1EE��������]ה�>��1�}��15�
>{���qucߙ9[S1���Tw�؍!��>h��A����-0H̑ў�<�NJ1l�A���İ5!X��cD����U��`�=�b�ׯJ?�:ZL�y�O����xS�8t�q��x�lDQ��3��/wW�Sc��嵿o:�4'�e~K^�L�!����h��ë'{�����柝���1�V0פ���[_+ׂnY���f�a���̛�]��	ǤV��޽{�覬Wşi
fh���#!�h�>�w�$V�F��ܶI�����o"�7�ڎ?��O�
�đZ�'e����iN�7��E��l]b
�;�i�w���oN����E��'��mJ�KS�E�,>��q\��O�c��$�4:Ӎ�5������ؽ	է.t�e�l���B�S�ц�d����h��S�NgF�s���JCB(E���13�-3�5��qy3e�+t���N�Ǝ�9eU�E
�	�*�ޫ:k�U�]���
9��s�=���v�	���MM�ld��z�KR�'x��	��Rک��^���"\`�'��"�ז�����F�
��j�I%΢�t�sf��xQ6Ke�쓛|o�w� #�+�bq���I�I9�	�n�<�W�|c��G�q�����\s�À㯥�P.��Jyx��V�]W�@��-}��[L6�^�9k}��D,�<+���03�5���.O8&�:���B軓�|
;|��C-G;�����3�Y�ha���J�8Uz��`�q�9�;|
���V��a�n��3T3M��٘�޺���I5����##���qCF~�x�4��7t�:�zf���o�c�{JŌ&7��%�o�2�q�˜�T�'iL
��R�kd��/ �c���C-JW{���my����g�T��N'�*WWY
���9"�:Ծwz��444��b��h+���`���_�`�h�Va؜��d��⛺lmxC�C��1(��.��	7κnA���>���.�]�X�����v�֖���~j�!67:�'3�T��Ql+<�_�/9&�,�ŵ��Bļ����x�������s���K�=�
��_�u��~�Ȓ����f�z��e��s���[r�ή���yO�6�)���{WO�B�����dl��)h���q�'gm�nLQ"8��H��$p�8Oĥ-(�t�hI
�5(e2}�o��D,�F�_{2����^�`5��KT��d`�q^(���m�mA6��l�
������$�/x���k�2ب
�
Hc�������ėl&�!D+�=~��ޘ�NAЖw6i�</"�_�i՗���r^H�mj=e���-�6�4��$ۋz���;G/��
�ʚϺD��l�Ο�
Q�7₁m%)�$�4k�'x��M.�yd��d9=M!�vZ�a���퍙�~4���W��M�����dI6��C~ՠ󄇨�F���u��������`��r�8[X�'~�v�����1�����ۢt���`+#�%�0���U��;4��V�e�;�0�<�C&1�e�)��^!��?;x���1�XC�,,4bj,Y�^sʹ,������韨Y�K�G<�z��|A=��k�)�(f��F>�t-��r宁Ǿ`�}b�a_<�+q
��u���iO9A����?hY��H���փ�j��`�0��p��:o8gap{���q1�:���:/Mp�ܯ�	E��$�J��YҿCJ=f�Z�Y�n>�D���`�!N�c�gg����Xb�Yǭ�35%���9Y�QΜ9�r��1*rN>��N��0�`�U�b$k����|#�����
C��h�U%�
}���콷�:��}�����Iߦ��T��+#,F�y�~�#Ȣ垺�G�	�Y�ͩFq�B����!�L<�"̎�("ZR��J^���)"�=���Ǖ$�^M+P�hZ����[���)��ԟ�n���(���b4g�w'��C��X�d�Y��"�2�
�SN:�9�>?΍�|��^��F9���'��F�2IPn��\qç�^J����U�U���%B���U�����_�

df*ڦ�Ы"p8$8��f0��[4�T3m���(�#p��04[���GT�Q\$vX��°����W���-�އw�)�c�~�)��m=$�=K�_d��pq�d�i=&#���o6�~c���+���w� =�
��wx��L�����
�q�����3q�ǽ.�=ϣ�?�{�-��g;?>,��*�x���a�;���,R+�+�&=�%�>HF3}z�x(:Ĩ�'J�[��j-����t�&�]t{K9���/�/��"��cj~���*ѰkY���?�TU��Ԋ&�碐T�h��A���Enڄ��H�-��~�3�(���E;�q�--{�q�r-emѩ�ެ\doCk�S�¦�~��F�r�����D�K�(�++G�
i1�p�QHf���txs����~��|K�Ii��]���R�]��:׍��BlcQ'�[�*����Z�rT�8e�+o�i�9��
�L�ّ��sۃǒ�D���8�&�n9���j��s�27e�ߺջK����M��-���%�/�Gl{d%�P�/Z.��/�w<i��g����\��~ɇ�x0,eX�C<x�!�qm5q_[P�z�
{���FQ��E�_�'��=�]�3��{���Yzk&��f�c8�u��yВZt�(bQ\���!E=����]=N^_r��\�a
7E�}`/`�'�j�����0�|�G�k��Ԣ��1b5�a�:����s��ֻ�#J�T
9�/�yg< 4���2Pth�-����]�����!Y��sP�Z-lq�
}�Ān���.�ݏI�O��D���E�x�/�BM
�j��?.�#i�20���j�ܥJ�F�K�Od�2���p׮E���g���Z�4g�M������KE�/�� :��=G��vX
��Q��X<�B�/޽Y,���Q%	�|^>^��GWNֽX�;#��$:��ƪ엒��t��F��C���s��H�:1+���?;c�~��ɫa�eQa�@��V
��=�	f�g�0{�����/�:��!�J�>�}���a�~��<̽�
Q�����e>�J�.����9-z߻�NXDo�ˉ7
��tiڞ�8%}R(I�}�m+�D��ؓ�P."R�G���zy�-^"�	�r>G	�)�'`LB�r!>��
��3�|f剉����R��;V�fMSPك_�c�k3��8=���۞��G6����0���Ă�PU��
��E�m�)���l�0!��W��Ƀ�v�lEEF��ep��:�>�Ri����ݖeǵ��3��@��ۯ�~ڵ�����/�t[�9|�I�|�9E��u��_�O�V�&&�"׳e�u�syQ�N����L���jMu/n��vz�[��kz��P\Js�C��4-))�x�w��HXEv�%WiΌҢv��xEv��b�H����A�4dFh:��˯�r��s�f軥�r��a9�yk��*t��ӏ���2�~:����b�M%���I�ٮ̌��#EE �g�����c��={�?�$�7IJ�K��N糇��:�����s��0,u��JE�u��jj�F�M�kM�X\I�>�W�ě�()]�|�tj�f�<|����[b3�jme�7OY�ډy��,��qO7њ;�O����)g[S�5����b�tK�1�#�/���wܪYQr\�u����qjjN�J�$���l����T�%�x~�Ug��E&����N%Tc>v�;߼Uz�p5ι���x\�I�U�q�q:ե�bu<�C�I��I��tiL�ځ,m��8��~9@��;�[&�N�o~���(Y[��޸-����_�A��kMJ0���f4!����.���_������+z��R�>�Yv�'㼈��j�
��IkR\b($PJ��X� ^^�A�u���՚ �)��m�@���K�C�4�EC�Vt�����Ww�)�8/��Nh�HF>z�u�DŽ�	ֵ��_��V�Ҫ�c]n�����<�':���I3�X\]	4�:��{5]��pu�o�d����U�{��=���t)�?�=�N���45��p�����o���ӳ�T�x�{YK�Ԑ�����Hq�#�¯ۓI��+RW]��M3��]���rjb��f����>Z�צԻ��(Ss��<|�ψ/g��%.R�"�oX��WE^�8���=�����c/�vG`(�l\u�`�SV�o.	��{Z�N�����H�eV^Y(�6ha#�-Q�\!���F݌���$���IHt� �|����لW���-r�4XP�h�F$�H�c�N�
4oW��ߏ��p?߲LU4��6b�Q�o,s�3\j��K{%�+\)�+^����pf�L
�ڨúj��o�����(��t�#�ٴv�m|N��?�~�q���=j�ؿ;���r���G;���z��Ρ�"�-e��
��C��Y)Ȳ��%�����.~�GUWk�.q���2Fɿq��ˤT�������?ji��Fy�y�5W�w���l�߻X���4*��S�s�7A��Џ�u����+��9v1���YW���G��TT+_�+ǡÀ�n�[��4�����J�Die�4���*g�s�<�Ï��uQr�d{.�z�9g���nI���3�KV�#�#��;a6��t������]�U60����T'�����><SY�.�l�Y�+(>WW|(���y��*.��o�\�&r�OO�>�'\�R!ߍ$�0�'��?��	K���F�ֹ�{`�3�ɱ��L�lHCݷ?ݯ�C
3@�U�{��3�Rg|7�.�@gM
�wWU��[�/�v�_1��'���v��n�٥�%�blQU�4�u��hU�XYM��K[�eE�*�D��ꐟ�Y�20O�o�h����6tA^����80e�U��B<�T[�@!�ŭύ�[fF�<h��s`S
�yo9��
̄���B6��p#�͹카���eq3_q�1�»יV�n|f�}��c�Yc�����`/�纒тW��jo`a�n��H�p[m�a�^���������$M��LEٓT��r���R�B��g`gL�P��a�{�Ӥz��{�u��6KvC���e�5_����ο�\��Otf����c?����V�fꝋ>��/)):�=�ő�.�)Zg6�ᓻJ�:�U�G+?�{(`vډ�Yp��Q�<�j+*��@��;��h>�vMм"��:߻�mi�c����T�i�S�ѤI�ZӍB-dS�����J;?�͹�4���ҹ
W�M�;{~�Zg�R+H�^ID�d���3���#��h'�#O�hq��^;��ٳ^n��B��?��Ta2�ȥ�N�7d�aȭ@0�l7�_��z�A�kz��.,R8LM�[t��0�آ��E������ڢ?Om�48Z%g�J�mh4�%�j�v ��Ri��w9�K���/b�k����Xd?�z|�@�1α�	�}z�����M`i�IQ�����g"���n��!�h5�H*Î�igd6��d.�w����l"OJ��$ل�N�µPRxgl�i)M-�봶:S�Eb�*�h����(���`�d"Ĉ�ӻ�DIN�^��
�En��E�^N���(C$�:Gɿ������Msx:0��A���S$�	mަ����{�?=�rd��v-`����y��_<_OoKۺ�潃M��lI�hKE=bb�7@�NQ^
�8�
,d(�M5]n�̈́�9��y�b���:�[�$=@֥"(۰@�,�m�9�p<�x�e��r�&mpfb������Ń���N��ֿ���=������f���#Qe����-���]�[z'�@Mu@ ѹ���P����mn#��\�G����WΆ���u�N���v@�-�`?��H'&�<^�r��J!T��
|8�G��E@8�u�y�N/���^�J��
W=P �S>cJ�wg��yu�ٌ*��������3*�ҽ@	�=(�h���PjI�H�nM��X�iY�>���,q�t���%ݰiG�lW.I��ˢp��~)�Ü��w�m�����B��T�6����ٛ�&@ݫ�M8nޖb�#w���p����"�(�ھC���-�A��D�RM9:{5FD%v�5�^����l��75R�1ļ���W���'��*Ӫ��@���_��y@��Pb��tR%�q��[��1r�U���{���?[5�N ��`��I`�xf�<��ɁL<��KQ�
��Vag�б��s���P�gM<ˡ�'F
���cHDl���,�G�.zSZ1v4�a ,��zاݤ�d�x�v���_��.p����s}�L�7fƲ�E�W_
�Xr�6>5�e�
ǩ҆Xp%rO,�	���KAM5����[��A�b@IkP�_���5�z��j���ƶk�oԉ]X$���ld�W�J��!993�a�r�:
nʌ(#;��ſ,S�c�:�T�������=w�l�C�eڕ�s��NI�SF���_kDH�%GH�˷�hDȜ먛p�m�4Q^���Y�/8o0k��>'���[�E��g������g��4J6�D=li�ܔ��B�t[�=�R��i��#$�A�]`�ª8���[��5HK<�ׁ@	V�g)��-c�h�=�Ŋ��3G��j��Eh~�y�#��A$�3���fA3e�+%�Ҧ�`��Cބ��af|<!�,��55N$/�%���??�
��'H�ƚ
ֈ��"��8�Զ�I�E��IsȓZR$#��1�a�ш$��� �����&��	�fb92�����Yz1y��M-�c8��d��C�d������M�±:< B���8�"��f��_�I�?ūI05W}ۈ���"u���:M6��mtB0mKu�0�A@�8x\�	�W���ap�����DD�'�&�7Pᨘ։��A�1���}���3�hnu�Xҵ���Q,@1�50H�9�
%Q�?�VX�2cŋ\6klLpJ�zW�F�|�8�9��B�idc*<�ȗ�6��vGpǯ�m������Y�cd�x��NA8Z�%���)���e-��u��0����`&�E�t��*]�s�&�	��u���L��[�s�9�pDL#���a�1_G���z�{�f�s�_^���rԁ��=���� �H����8j���#����܈�]�N��[n��Ո�GɡL�F���M��z�ΚK����܅���5�M%]����;������N�w�@����H�m)�S����?Ϭˮ��
�6^�?�����'� -`����-�$+�g�@`�S�Xm�'B�l\�#t��c;�����&�i�Us�D2�t�4>�B�ԇ�`5i�XmoA��d��L
@=�膙�`�r���
W��7oW�z��SYEv���&0�GN(���L��ƒ�)�-�=b�&�\f��V���b�N����}J=w�xU�(\����9MB[L�c҇冡d\_�MV��aڃ�H|�����=|&|#6�P$�۞��r�y�q]���@wM_7�S����Ǣ���N��3{��KS@F�Wm1۫�'&��OW���h��)݇fV,_}G9A�P�Y=������܅x�X]�O��ۅ^l1��t	n�;:>2�,�*�	ؔ�3�`,�ѡ���`�V;�>�{���9L�����jF��.8�O�n�>�B�m]��U�Ѐ�x���JR^�{�[TF�;���_^���+��{c��C�S����0+KD��4�j׾b������44;q��;����!r����G��I�B�p�T��<=m���]OwY:��T��!4g���D�VX����"�$��Q�pζSN%̷Y��f��'L�	� �_�n�1�U�a���Gr*S��ƑS��n4��_)��L`δ���2v�Oa3T�RW��Y^��V&��b}��ND��(��� 1�0^u�f��fU=v����$t�5{� �Y	��{����U�ywJ�T�a�Ž�Ć(_h��g���"w�:��:�LXn��Ѫ�;�T�	1uz�e��
��΃����z���J�]#th`๠j{\��8�H>T-�	��&+����h_%� ���P��^Ԕ����e��WL�R�Y����('t�<Xپ1Ge�1$��.��d9��c����!f�(@�6�Դf��9kⅷ4
�e��`�/��`�~�ff�e˃�?�OYm
�Y�pb�����X�z�^lG�Xb�e�i�#�e�����+��q猭�y���z�N�]N���|�_&�H��'�p�''Z��O��-��q�x������-pA��p�} �鉏��D��prGs���¬8$�€�r�K��tk���W�\4Q@ �&̸�sS��X���1L�Dخ��.��˙�@vh�ho��ҠPXc=��Q'���2�6CÆ���%A�a�)X%��?�&�a{�0�V��h �o?'Mm�#�!{�1�w�~B�1p͐q�ɛ�/X��X5)�5�-�XGR�%��M�����j�I��K������]�����0N���@u��]�勽��|�:�U�q�(�>f��p���z���e���.����mg^}0��DV}�/@�C�q�d�Ck�>�IP�J"�5B2��F���������3�o���@:d��#fb�;����W�KM���D�N�����*�odW��ة/��O�w�v��ZH��7z��Bz�/]�Le �
�Z���B����T��E�!��U�A9�$|=�B�z�*a!�r3���9Q���m��dΒI�KV���֐�k�'�d����i���u͆���	�Q�V>��:��ى���rq.��a��LD�$˩9���)���L�{L%�)�6['� D;��YL�½�ar,p�[��Jx�ҿ�k�"��"*��Y�y#+q*�xZ������\,-�O'G�R�l¹�.���躐�[^6�7���x[��H�P��G�Q�/ u�>�7�o�Fp]?%�_<.Ԇ�,���Ѓ�l
E��c̷/\^'vh������f���/��ٔ��^��I��%1���8����8}R6礧�K?@*�,<�lI*�Ƒ����H�
�I7J�h�V2��㊯�aPM���Q�M���m�{8�M7���� ����b4�k*BLN�Π��<���2P�_��B7 �#(��bd���͎=�!���/z}��"7}���m�oj��t@���a��Ѽ|o�G����	?;�z���YtZ�>�^;�*����X[�E
��^��G�I.�

�q:ʼn�Q�	)����m(�S�l�������>��)�Cf�V'O��Q�xL
��s�д:#~��&���O�7���T'T[�m}�{��k�O��2�G
�<��8�#@<�OT(���v��r-I��4<4�f��/�?���bk8���oD��t��ct,'g(�4t=��:�s���MO�-�E�Gڛ��&�,��7q���ʹ`̠�~e	�"X��%Q���܍�<���Gi���I���g�4�x3��BM��,Gܺ4�����#���6�6k�A���)���t�i�����;�ݜ���oFfn�)��2N�/���i)��=���Ѱh�����oY5g��е@�Qq3�cV�ډ(�jU}e(A��K=���ԝ������i=	���Z��7������`b<�v#X[S<�k���TV8�Pw��O!��l���Xò9��Wa
�$e	CeG���qB`JR�F�Ko[a�~1�aZ�H��jtĕ�����&�'��*�ʻѬ��-�uJ�~�������0�9kD����3��W����ւ�s�&wk���x�HK����M��q�,�tq��8� ��O�
Np3r��L��Y݇�-ς��6��e��K�},Ĭ[�a�%����8sȌ���p���ۄ۸�e�3N@n���W����`gf�D	ˏ���'Ppt�X��:]v�.�Afh�6��k��y�as\иx�:6h!��)�~z.���R1��4�Q"z�^S0�f��y����MQ���v�h�>�8�;�sD�j�Ձ��K|�Qc�sVl[ѻxa����ض�IA�حQ6�Ȉ�6�f��L�[Y��?Ϙ�����S7���{tN�hcS�Љ��E���;�nɝˮ5�Ϻ�k����
��\�c��hX��5j���~��ahFRB�9{��A��侈��`�vI��Fh�e�t�n�n/4�F���M��D�b�_\s�ʃ�A�A1�xl���,-mr%��W�IQ&j�9�8������k�i[�ijvW�L������/xv1�>�y��jf����ի1�ȴ�]jvuk�;ۛ��g�;��qBw���O��B�O*�t��f^{��'A����#�/�ë�tF�+!y��uS�D	��;&I�>�z��S���P�yIF~P��-ף8�c��j�8]F3��V���n�[V6m\2'��v�O~�b�1�&×Xā�Cɶ�y,qg=�ɗݜ+6�6׫9��#�VE���FS�G�키;�(��k�|g}�`��XaEk��\56,�it�����q>&�?�Q�O0��I&�&�|����G�T��2�Zi^$�瑬gm�0TV3�]-[��F���).��F�z�͑�0�KpzVs�ȸ��0k��9o^�����f�p�_��k��鎊BS�?�fo�*����RI)�R�ʆ�����	t�����G�2��r��\|!d�%Z�f����c�&]��/�]���~)�V�5.�q��D�F+� �/L����*��蚼K��_�B�>���{��Y���z���'CE�9+����-Hu=|��By<M�׋Vt>�Ib�Ay��ſ1)��Je��fRh��W#��O���těZp9�H^�:]ŧU9�Wxd��W�>���~����>V��R�H�^��9��A6')NXB)�&'�=X��ƅQ�
���*��	>�#	�a]��G��5pimV�sd�!���n���c�,[���Cg��Ւſ�'����1���`���~(rZ���K�U�D2w
���D3a�562�]��_�f��i���	�g���wĤ�g^�+�L6�
�����i��<
jl�o߄��衼�Pt�;T�u�w�hO�9����,�� ��o䲥����,A~���_b�m���38oԃ��.f~�K�N<*��N�N x��v�&Q��T6l��7�P�D/��44������EM��
0��$+�f�$fK���U�>
�B�� ֛͢k���B)z�kɾ�;�U����(�:�����T4�m��ia�2���:��"4����h�5!���>"v���d��^�<Δ��u,5ey�6h�F�7/��D�G���U������т5s��㚩�k�䣭�����#~E���:R��כ�[VX�j�7]!��QBm���9�@�����W��~�,�ΫN$|u���.M�W�.X�/;H���.��6R4--zi����=��\�"�ici�dq-T�}�*N!�2�Yb�u>����h� ��V�؜�<
���u�ɰ΅�iw�H!|�8֔z�C��(E��;w7p�,:�`cY��0?�i��LBMC��k�$&5[틚�ڛ�{^�
�ZPZ܈<��^�]nC>��`�n;|ѱu����_{���
n��m\"Xe�_��袹�	��eޗ�@��#3�"W>8��`%�uf�A<���r��~W���3�z����`ueq��`륹Ao�i�)dK}a���\�Q���Ed.���
�8͎�Ҳ`�t�f����a6��S���;ԧȂ���8�/�ox��i����L1�ٳ_����Y�E���I�Lk#"֚�Hv���E�Y&��7e#���W[xr��8��&�ć����%������͵����WnR�L:�j��W�:��n�$�F�L�C��r)�{�S�1w�J3�D1D?�B.Y��R�e=Di�~�)�w`�n�o��������m�"�_Tu%��&]��q������z檃�m�NJ7�Z����L�l	y���^̠���{9/F^r5�?��_�ݖ��s�.�qEP�u/��,.v
�HV�6��iCŚ��;[+m8��������,8�E�k�\![�O5�'�n���Q�1T��PN�@6r��	��\�k(u�4�Ra�7N&�_�I�)o�P��)�쫥e#�ߔ��CM�ia�d��U��=2�И�?/���I[�jX�l+!�(L�	6�"3�B�Ev�
��P��	�ߖ��4\%�FkYA��,����]];�^�̙C�O�)!F*L����Y6X���٫��/K
O@~�*������8;���*�����ⳏ���Ʀ����/W`��W�v��:-�W6$YA�;�7J�Ե�Cі�Ϯ��<�<�L��c��2���%3��q.t��%�+c�j��<a��=�h�	s\��A�E�4��\.H�����;��C��ף�֩����
+d��ە�ޅ߿�����'��y#�
�ٯ�/�ۮ,�2=���U�H7f�s�;k�J�Nk�^Xݘ�U���q錸��K~%�:@��%�G���9g�"ĨظrWy���m<�,��`��
C�7��Bђ�n���=N�,У�-F:�rn��᫂a��N<����`�(�i���m�����җfu*M��;�
�A����H��v���(U@8r<��a��fHѽ80Ѣ8�[6Y*��KU�-��n�u�әu���wT�ݟ�^'�w�W⪪p��挛u�2�Ъd���Ǽ4�&yc�˕-{`�'�2�6�1jiE��(�I��d�W�ݚkF��q>Q�joӼ�����;���-U�K]���l�ҳ�o�R�*�_\�~6CW�޲�Wj�\��;��qג()�84�.3Wyi�+wX������D#��Y>��I�
͘��2*L_i��A��+-䆸LE�kI]�w�Qi��G(����x)���e���.r'?i�c� ���P&�:�-"�>�N"�o7��(z��c�m�v�U���z�WO6���C[������`�;@�<��t�3�ɋg�S��M�^\t㡼��[*��jK��!4���	����n!_�ê��S�� ��9�mm��0/����&��1j
_��Z%n��9���t��24,�n �L7�g��*:�h��-��EF$*-jB����S�?���/R��p<?+��Gy�cϗ���hzE9"�[,:�B&��3�f���4��"lu�1�t��C����,$
=blpo��d��-4����C��CN2T�^�+gS�0_)�a�hv��-�G�����&"�_�g\���|3�
�Ú��V'$oc���R�0G�����VTDm�%콦�~�5~zlRm�z$l?�􅁇���"D2�5H@ 	Қ3=Đ�A�'6jP��A "�Hn��H�f�%f;MU01T҈~֟?QG�u"@ܠ����pna M,%�f�$�=�5P��&���S*U54�4*b��l�T^���-臽���a@(�b�(���ݤl~���jԖ)��O�@���4}�h٥�uR�%�R�|]�U�ئY)���{�T�hW穞��2�,�Gq��I/��.�`>Hu̽5�1�k��<oV�%)��`i�ƅŦ��D
_��|8No���9�����d�e������78���ت�dc'����L�7D��o���qj��-����Τ�I��?/���e�X̄��J����lS�����ں�Ȟ�����ۇk�"p0.����q��f��{�"h�3b�aK�0�b�����Q؟ʥh��v�2���W�ܟ
�����P�`2~ŵ�ֶ���ڴs�F��B��'�fP8?e�(��1��৷,9}EEa�z��.�f#�
"�@,������84�L�1��+"Τ�ĆS o���>�߈��k�SNt��a�E&RH���]8��O�~Ӆ���)y0��NrD^DiL�0���G��8ïh����|'&T�Rj�읂�i#�D#K�jW��T&�l��e�H[hYX�8`
ۆ��=n��G��������uF��1�=4P|b�y�|i!�u�:6���k
z��m�R��7�9^Yk��]��̢��^�3�z®	��]���ZJOt_)������:�����
S1�%x�+g��^F�j� �P��('�J���=���fgg\e�k��/B#j�<~��iɊQ�4��'���
c�Y����He^�u�������I��{T��v�μR �f����_���h��F?h{��WN��{CqQ�9���s``�¢�q�E��c���/Ӟ�I��;��2]M��?m�G~�� S�u�nu��Y��[X�5�ߥ������ҧ[��F,���&(Ã��v�f[+��[�h�T�F���T�v��	�4�{�0�i�A�����F�GЎ�%5j���1f�f�=�LΙ#���-+�����m���@LZ�T�>������x&/�󰪒��:^\uFla�
�]ፑ��~##n���Ĩj@��Js�*ĭ�b���/^�sgU���|��H�2����5��e�ă)�܊%5n@ީ���HAZa���1��+����f��V��Yh�V�5b=�*��z��Lޕ�lM�nD�?��d��	�ar�k<bؒK"��<��\����lʚi2%S�
�;ji4��G�{,�f��ɻIF��ۆK>[La��CT�`�A!
�S5�mۦ� �5|�
#89ՙ-�I�X����k�X��_#8�p{\��G�n�����A��$�r��,m����0�e	�fǹ'�U�׊S�Uδ<��ژ���/����윴$�0��XR�h<z'��=G�a���Sԋ�#木�Ϯ\�V����*�&����ɹ�\��0�h�OF�e|uk�D��y=�yk>��$�ђSp����У��5��a͝��;��R�8�r��6�B9��ʿ����L~�KZ񬹡{�P��\19{�l
�N�*`/�&����Z6x���ƃ�i���
��R�?
m��#�X����[[��3����Tza4�
.���q��ƅ^�{3�[���dkU��%�ːB#�OϢ6M�b�x`�\�Ӌ�
�����Y"v�U'2������HN���K��f���O�Z�=Րi�(��,�Wk�,]Ή�ZU�z�·�&���+��M��jE���\,#�w�ߪB�����(YXDO���v�O}�y{�VS�J�K�N�Eu�t+�7{�~!�I�B���<�"C5�Jt���o��Z�+
R���y�'���M��s���H^�PxKK8�����NX���
]p�v'I(L*T�8�0C��ug�5I�[8Ӝ�4p�om7,g�t�%ȢE��)���t�ɺug&�&��6>h�uq�*�R�J�3�Yqq��dq[�&;%]J)���z�&�Z���~ߒ;��S	-wMb��%˨V_v�Bw7��Ȳo�;��BԘ6-��h	���Lv����bW����.ّz��q�T� ��@8*]���	Q��C�H�Y�b�K��}�Xu_���t6��a���T�沣:Y�o��b��I��V-@�'�ֲqc\E�c���zsB�|���z����~��qw�2^�D�~�@�>~����q�J!��u�XƆ3�5��v�*j:z�I�&d��^�%�(Xl�ď�����I$�4D�2)Kn\�=J�_�+&��E��'$wVzV�C+'���\���(47�}�@Ԫ����_F��ui�"���&���kJ'nYΊnǑ����ٽ�@׸<Uߞ�un�nB�(��+|	��L�Z�քgK�y��U�Y>�8Ï
@b~�c�,L�Ɓ$ l�FE��/���,-�p��q&��/v��=���b�Zl�F��z�;�[V\->���*�I�;�ɘ�#/���w��#;#:��C%">.Ffݹ�z��Ԯ�"�L����0�_-w�����'����D�N�%
bY豢�-eFթ��/#�џ4���A_�
�
��C+�	{��C�q���%�},9(����)0�9��T>.i�h:|�ܥv�j*�jqkc�P&��q�=��"���0�\z���{�R*���L��Od�+E�4�2��&�T��娵�3i�lQ4
r�2����a��oQ$h��P8~lz^���hg�d�� Ǝ��}��DS�j��RMiG����M�G�>Pz,�6]�t���wK��e
Z�>�}|�>Ό��c�K4i8zK�
2��EH: A����d�A-m�V�'	�K�q�h�Ya�j�`��%m/(�T�a��Hr�4�Z�7@�+���&0C
�qj��.�&L�D���[n��N*=`�Q��H��$�� z����;W�B�S��j-a�
rZG8����ד�-���(�l���mA-���:9䕘h��R�������[�M�.IҾ��xm����y4^	�:������zp��t����E\�Gh(T!zj��j�U
Q2���fU�4S2w��K��i8D{Βc���B���7bݣT*3�FP��g���7�0�����<.���u����9�3��֜��-EH�;�ty|�V�&�Z��R>��Y"��%Q�<1�32�䙭�I�u���	�R���V��2`	q��
���.(��OcnQ"֮3���q֞��$�ܼ�_ţ@J�4�1ly�s�;����ݕ�S�l[0q�J�G�]�@�p���
�Aܗ��v�	����	�$P�썄)�v��P���z9EF0��RO�;���I����	hô��y"�[�ߗ�$%�G��i�c�6�mW�����������{zN���܌�	�9�p�Id�4:��H�~�T֒�|�V����J�Y	��#�K�<D��>���2p3iJ��.)�6��kA�f�N�bt��BɃ�`U���l�4�� ��{	��"DC��W��C|�@g+����g�f;���;����z��9�D����@GEB�3<T��T�S2���-�>��j�,5l��|2��*`��<L�u7��w�~o��gR>i04g�����6L���g�<���i�:u(ӹ���V�LT��[�o�^�-�V
u?���F'z��{r���cEF��<>��}�U|bsi.`&�bQ�87�����H��"Z?�:��_([���Q��&���T�~�\�$��/��Ա.6��р@S�Յ��2�@�8�E
3&������uX*��˃�F�?��eR�d'o�}PE����ݲҦc4@�J�:HwJ��:^ĵ��n��"�j�q�W��L���Q5:
�j���H��9�������8:�e�c3��2���h��8���l�5�x(�ec���*у�u�,�섫SӤRk��vjc��z����`���,���2���^�'!�t�^�π��s�DE����=�M��UH����C�����^���k%��|ʁ��h}�]��3���^ϲ�M-���Ì>�]x	����I����r�e���6����@�V�>uL�$YjW��D(�?'P�2�aR��D��-����Hڏ3���Z-�h��٤����w��2V�����(=���C�Q�������=cGq�j�T���E�P=�`��n�9�<��SB��Қ}�Y�%�XBϵ�v)��BDuWj����u���Dɛ<�����XL�̀&4�Ӵ'a%��w-n����F�[|���x��HCCp赴]|e�Z�L

�STyw`��i�j5����j#���Տ���/�WÙ�YԼ���:Ty�ʓ��N[�RS#��b��yQ��1��{��L���{`��-Y��Cg��l�y�=��;���2���eƓ�I�]�:��/vm����|�M�y�oH���ƪ��K�^��X��+�ؒΤ�QS��]��+g�χ�e|m`�ψ�#�	�b2f�`r�u�L��bM��)�m���%f��0'L����'+CY2�f.�d�F*���y�p�dl���bS������=��Z�i����fn(0���H3�.��I�O�z<b|8��p4:�d�\����ކc���i���	��|�������d��ၭܑ�6a��%��Ӫ'F��.�ΛR$U�O�T�QZDI�Ï~o*���D)<��ib�*c���	��FYU����k�;p_�Te�˚��J����G� �08���7cF��a�s`���[@���M ������D�Nj��|�!�X{=���}B Z"6 �n��P��{&*[w���87tVo�ƽIDS�w�1��r7���q��܅�w't��@�0~��VWwOo;&�q!�6��Fq�fyQVu�v�0N�n�q^��~ 0
��o��I��,O ��*��`��.�/���L�P���No0���m0����������S�? #(�$E3,��$+���e;��a'i�eU7m��4/����Ǎ��>�Ζ�h���xA�dE�tôl�� ��$����a��9�o;�Dž���US�[Z��;:��{z�D�PƅT�X�\�I��EY�M��8�˺��y����(�@���^a�8<�H"S�4�x�c��.�/���L�P���No0�����p����{xzy��3C�08�Bc�8<a$�=�D�Pit���py���Eb�T&W(Uj���q��u���r}a��h��xA�dE�tôl�� ��$����a�l�}��H[��T�6.������ „2.���z~��(N�,/ʪnڮ�i^�m?��~��@ap��`qx�D�Pit���py|�P$�He���B�Rk�:��ſ5�-V���tqus�����!A1� )�a9^%YQ5�0-�q=?�8I��(��i�~@=��������x|z~a��h��xA�dE�tôl�� ��$��j>M��8�\���(�@&�l�������D�PƅT�X�\�I��EY�M��8�˺��y����(�@��,O ��*��`��.�/���?���џB�Rk�:��h2[�6�����������3B0�b8AR4�r� J��j�aZ��z~Fq�fyQVu�v�0N�n��x:_�/"L�Ͱ/�����n����h�ɻ*,L�3���I˹��_(���7�$ps*�!�JD^�uc��!���o�$[q#�t@��G��ČV%n�}��g^�N)w��-C���Օ}j�y��z@�a�-��?�%Y&���)���9{?"�n03���

$[GX������:�ӧz{��C� ���")&�F�vy��mP/RB��؂�q
n�z���s����&4�_�wW�	�[(�dS�&�<m���6�ߤp?�Z(�M��NA�ƭY�ԫ���a�g�mSmp��W�
ݴ%�O�k��1�;1��L��g��Xu\�r�j�a׭7��n!������8�9�c!�8�%�>zUG��1yQ�|��5
�I�;|��/ڂW�����FUw�'���"‰1��q`�1p/Ӥ-�~cMI�i{��`�퍚�y���M&^!q5��Й5I�i�Q`��S�Y�~�6�X��S_~id���=��K�&�R�~v�U�G�j�bQ�1d�#X�>���]bO�r�Tj��@I�x?�̾�-2�X֡���7��jLJ�v�ё��7�֪����=�,`��
��.H�{W�u~ ��.�=���Uv��&�Q��H�zk�D:Y��$�D�0th��E�z{�j���ެ
X����Pq�OǸ���c��='I��^%�1����>�Ӥv��T��y�N��>H��ת2	�˫Dt�XTg�E�ハ�vŞ�m�S<�ۑ��+Bٵ��E��=��Wx�$��`��&vҁ��+�Ѹ�3��M7S�� �3�Gm7io��5���D.G�P�.u
C�[M�;�����|�z�u�#�r
�'S�C��1,t�y(5^��ĞQ����|�b
�>x�s�=�6~��A�����/�a�w�ӎG���3��9
��o���g�OR�}�"_��zP�.Ѩ���V�z�W�ő:2
G���V|2FU��SO��>�蜧���!gA}>��Q�m�v�����*�;�:��Ni�ף}����6�,L㧫A]��f!mGT>�(�e���[p�:x�S����n��i��I)�E݋ 7�D��P�}:�
���F���Z�B�kW�}��:q��N�Ԣ���s}�m+4�9��&HQ�1t���*��Ay��3�_ǧI	�͋��J�.Ǎ�{��}a�ǯ�Ϗ�{�����VH(�a<��EcK.��\�|Z�����MTD�L�IIC~��Jh��ohV���yϯ���V����SҦqR3�&}��h��R^?�ɟx0Ǧ~YJt�
�b%�K<���"wԓ���=?�W�%�E�O��5s�O������7�4�*U\�ݸs�Ӟ�.^kNq�W�)�:�ނ��q�3=�
{��]�׽�S��Rp��O�t3��܅S�$�!�Ļ�~RX�	���nm
�%{Q�p|��g1��0�k�
��E�I�
�F@$�@�s�=C�Jݠ�Dχ}v����䙠.{\'�e���e^��X��dI����(�cm����l��Y�V�YR�ɨ�d�y���,l�^ep9͎LfEܪ2�S�h�� �E�N[���zO	� a��p�$S	���J9g���F�j�_�}JV���K�"yB�FL� �+�i��bE���h���a�Z�S&,%r����!�O�$��PNkj]P��T�b�$�>���XE(�2��Dأ�7�Һ�2�������c�#��ZPH���{�����[�E?�x�w������P"x��`Z�W;��P2�eVߎï%�C$�}H��EZ��|�S���W=�{���eԄU�v�eׅ,!v(��ؐ���j�YXj������6�0��VY�۸F��G+�bVզ���?���60�v	�/!F��.�rmj�c��=�̞�}�c��\�.p@J��
�b7GN*/��.Lo�"�z��b�����m#��:�.v 2��,pI��"J	�+U�e�%>@Dž���K���C��Mrvw�����QD�4R�Prx�F��%���Y�2 ��{	z�iOJf��[�$��i�w�������~T��u''%ޞ��p{> ���@���9Cb�i�M�0|��)���HR}C����?Ar�޲h^�03,��0��u��^$V0k�>6�=RJx$�+=�wU[���6s�b�8c�/�Z��k+6٘�X8%M�lg��%�;rB�经�/���G�S#
�nrr�)��	W�G�=�O�B�)p��+����9� Ôl�
�מFQ��nqE��C`���c�Ԅ���>�C��Ө�g �x�=I�8$��Q����9A�{[��Ń".G+�����+�~��&����P#
Cc�`N��b|��a�������fN��$�l�],[�1Ef��ƙx��.nD�&o9��>M$��\�^{>�y1�W�n~����7� ;nçKJ�#��Y�f�[��(R�񘙮��B�Y�u�V����}���|��[�v2ك�);��>e>�0K5��j�k�]��OJN)��#�d3mR��1fC��G���Yyb|���.;��M0���}g����ݙ���p��)�J� �D�شw8��w��������#k�G�aYgÁ��NX�Y����,�	�9���J���g\[��S��!���=_S���cw�}��w���N��NKB1���$gK�&�/�S9_���]z>���ө)�dCs	uj��[)�XE
0���X:���	�ӻ���,1�}��*��x�V��G�.e�Y���󰪴��</X�!�(z�NG@z:*'t��C`���&Q^�A��W���횽_��q�.~�'��'^ypU��P~��`K�G	���6�@�J�J�)�-b�j�*��T}��חFi���|j��;�����I]�h��-T�Wض��:#�J�X��wd�G����^��b�WD������%��I���X��I�#�ǚ��h�{��o�A��x%Í~�;��i�%��Bzi��W��%��	s���I�$��Y�J�Yq�#����_�Lz������n-�8rV�:#z-lk�<aSz'-Iu�8�,��d�-3���(�N��K	w�Z���q�}+?�o[�ZԻ.�������B�@o�-FtEM#n���f�B
Қ��-9�Ŏۤ��>��j�N�s��qs,|K,��Y��[��y`y:��P�Re���y��x�A�����/��b�i��}Y�XD|�L���]1�g�c��'b
��ꋏDZ���O-���:�A�s�M��'��J~*�D!�ր�òZ�/J&}�F��Y��R��؃z?�j�~�e{	Ѓ���5%6~�x�z�#5ؖ~����L��z��Ч8
ݶ��|��?�2QK�=sm0��yY�I_[崞�]��� xоX��=p��M�w��F>�����ۡ��4qx�-#oۆ%�S\Õh���ę����ި��ƨtΘeZ�j��}�����L�CpN��c�.3�U�;Y�s'�%��
Is��n�O�U}H
$^�t��s6?�;�7x���Gl��@�S�y�qa$���0SD���@:U�1�Ea��־����&W�뀩��%�p?��s)�V�Q=Z-F#�-�c��e�I��NE2�+�%��%���׻�*�4����U���q��w����I
Vd+	�@�PЦZugWMb���I��`�N�u|
4�۸��\���C5�,�ReT)��l��7���U&�~Z��(��>~j�GG˗v��&]���ܮ�0��P$_�_�
٥BR�͖*|�J�����os�_A*n���
�m
�'��mE�vj�b끕�̨�iq*K�~�q�M�h���NJT��i�<m�1��L����8���
c�Ҽ���S�<܉�l�
|b����4�w�mn޺�Tŵ
����}��B-(��:�?2Zs���Z�&��.3�o��/�� �§e}���cn��7{8WmQ|>��4H��������s�'��im4_��pj��8���N�W_H^�fHA��p�(؏���tx��룾=�2l�hQ�J��/�:��un�0W�k�;���wQ�-��X�?WΟ�w��Q
=�y��w��!�Vp���j][�\�Q�[��/�)v��y]?R�!]ѻ8Fc�墿�np��u/�n�H��b���� ���Y���,�t�":��
�G��S)�Oi{�W5G�&C��&�M�]g���,,iI���Ѭf'�\��#z�^���^����mЩ�T3����
XU��a���Ʌ��Q�Gq?"g~p�3z��?v�/1�h5
�y-K�†�4�ꊏ㺆��a	S�k�,<�mH:)#�����VX�Ŝ��֡ڝ�{�8`,������VR!]/��!�I�H���6�T���Z�M���{�Q��{G��S��n$i�k:'���81uc+���x�Zې;I����B*=�\�
�
��pb.N�I#�l�`/(�о�txB'L�Xǖ�˚Jl�T�z�a3F}Z������n�w(J��z�n(W���{/�J�Xe��
Bq뉋0�Dj��N)1��m?��8=����n�1��yj&�C)1�Rz��BM���j�s�'i�T�06)�.�K�
�L:&�äI��O�u����bkn�g,��z��j4d� ���4���C�N7����y�b��%�V���c@�ƽz�ުeq�?f�ѿ]�����ia/�o�Z�y�/�'��.[��v��GÄI̺���⎅�)�Yw=6?D��߼�&x$w�assets/webfonts/fa-solid-900.eot000064400000616752150753125220012435 0ustar00���LP{�D:2Font Awesome 5 Free Solid
SolidL331.264 (Font Awesome version: 5.14.0)2Font Awesome 5 Free Solid
�PFFTM�T���GDEF*��OS/23�V`X`cmapu�`�gasp���glyf�#�B-��pheadTQ�6hheaC+$hmtx����locakh(�maxpL`8 name"�&&�D+postU���p1KC�:D�{_<��4�x�4�|�������������] @��LfGLf��PfEd�������.�T:� ���@�@ ������@��@����
��������������@�`�@@��@��@������@@�������@�`@�@����@���@@��������@���@�@��@��������@@���@��@�@������@�@@�����������������������@@��@
@
@
@�@���`�������������@@@@@��@����@����@������@`�������@���������@����@@ ��@��@����������������������������������������������� ���@������� ��@@��@@������� � ��@� �  ����������@@���������@������������ ��@�@���������������@����@��@�������@������
��
��
���@@��@��@�`@������@@�������@��@�����������@�@����@���@@@��@�����������������������@@@@�������@�������������� ������������������������@�������������������@@��������@���������������������@��h��������@�@��������@����@��@���@�@��@�����������������������@ @���������@@�����������������������@������������������ ������������@�����@�������������@���@������@�@��@������������@��������@�����@���@ ������@���@@�������������������@��@�����@��@���@�@���@���@��������@������������ �������@������ ���������@�����������@�@@��� ���� ������������������������������@�������
�
�����A�v���������>�D�N�[�^�n�|��������������������������������"�.�1�5�:�>�D�F�K�N�Y�^�e���������������������������������-�6�9�I�N�]�l�w�z�������������������������������������(�8�[�]�`�b��������������������������"�$�4�6�:�<�?�A�C�E�G�K�N�P�S�X�]�_�b�f�m�r�t�y��������������������������	������������������������������������!�0�7�<�A�D�G�J�O�Q�U�X�^�b�f�k�m�o�t�v�y�|�����������������������������������������������"�)�/�=�@�C�G�M�S�V�[�_�i�k�s�}�������������������������������������������������
�����*�/�>�J�L�P�S�c�m�y�}������������������A�Y���������!�A�H�P�^�`�p���������������������������
���� �$�0�3�7�=�@�F�J�M�P�[�`�����������������������������
���!�3�8�@�M�Q�l�q�y����������������������������������	��(�7�X�]�`�b��������������������������"�$�3�6�9�<�?�A�C�E�G�K�N�P�S�X�\�_�a�f�h�p�t�w�}������������������������������������������������������������!�.�7�;�A�D�G�J�O�Q�S�X�]�b�d�i�m�o�t�v�x�{������������������������������������������������"�(�.�;�@�C�G�M�S�V�Z�^�i�k�r�|�������������������������������������������������
�����)�/�>�J�L�P�S�c�m�y�{�������������������#"! 
�������������������������������������������}tsrqnedca_TSQLKEB@2.-����������������������hF.-*'$!	
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�

}
|
{
s
o
m
k
i
S
H
G
F
E
C
B
A
@
?
>
=
<
8
6
5
4
3
1
/
,
*





��������������������������������������������~{yrqoed_^XUPLA?=:50.+) 

�������������������������������������tk`_\[RM%
�
���8�t	���
���H�T0D`������@�� �"$$T$�%%d%�&'h()�*�*�+L+�,t--�.�/�/�0�1L1�2D3 3�4H4�5@5|5�6�7h848�99�9�:t:�;x;�<d=,=�>�?P@@�A�B�CPC�DDdD�EE�E�FPF�F�G8GpG�H$HlH�II`I�JJ|J�KlK�L�MMxM�N<N�OO�PTP�P�Q�Q�R�S0S�T T�U\U�V�W�W�X�X�Y Y�ZlZ�[[�\�]8_�`D`�`�a�bhcclc�ddd�epe�f�gPhh�itj(j�kk�k�l�mDn`n�oo�p�qxq�r<r�sdtt�t�u@vw�xhyyxzz�{H{|{�{�||h|�|�}}�~@~�D����������D���@�L�0���t�������,���<������d���L������������l���L���l�l���|��H�������(�������������`�(���T���\������T���D���������4���,���T����d�$���h������(�|� ������������X� ���������d�$������� ���t����������T�„�8�8�@�Ơ�����|�$ʰ˄�X���Έ��P��а��Ҍ�(�Ԩ�X�׌�h�� ���8��ܤ�ݜހ���T���P����`�����x�x��`���\���|��������D���`������X���`�,����|���L���X����0�����8���d����$����\�����H�	@	�	�
H
��p

��pp��0P(0��|��d��4�!�"t#|#�$$�%�'�((�)4)�*�+0+�,<,�-�.$.�//p/�/�080|1(1�1�2T2�33T3�4@4�585�6T6�77l7�8899t:D:�;T;�<$<�=�>>l>�?|?�@�A<A�CC�EE�FTF�G�HXI,J<J�K<K�LL�MPN�O4O�P8P�QQ�R4S$T4UU�V�W W�XHYtY�Zx[,[�\X\�]l^0_ ``�apa�bXcc�dHe|ff�gg�h�ihi�j�k�l@mm�n\o�p�q(q�r<r�sHs�tTu u�vvpw|xx�y�z�{({�|�}}�~<~�l��p�����8�����x���x� ���4���x�d��������,�����T���4���l�(�<������@���P�����x�@���x���0���P���L������P���L��T�����p�����@����d�����H�0���L�L���h�l�h���t�����H���������X��p�l����� ��������l��Đ�<ư�@���<�|˨̀�ͤ�\�P�и����������ׄ�x�t� ���@�t����d�@�h����@����@���T��P���h���p�P��0���x������x�,�������`������������4�����$��x�����4�\0��x4��HX	4	�
�|4�
0
�(���(��H��P<\�pP� D!D"d#($%d&�()t**�,�-�.�0�1X1�2�3<3�4�5�6�7D7�8�9D9�:�;�<�=P=�>X?8@H@�A�BB�C�D�E0E�F�G,IJ4K\K�LxN�O,PP�Q�RPSHS�T,UU�V@WW�XhX�ZZ�\H]]�^�^�_�a4bc8d�f\g�h�i�jlk\l�m�nLoo�q8q�r�tt�u|vv�w�y<z<{||�}�~������P���T���<���H���t��������x���d�L�(������x������p�(�����0����������d���P���`���������@���|����l������X���<�d���T�P������������l�h���p���H���p�#>%2+"&4&+"&'#"&=46;6757'&=46546;276/`B^
@


=L=]		w"  !�n	 	n��^B
##	`	00`

		

����#-6>FNV%2#!."#"&5463!2%54+"6754+"6254+"54+"354+" 2"&4264&"p		��>T>2			�@qlo���B//B/C�	 	)77)	 		�Ll�YY(�lD����/B//BA�������T\%#1"/1#"/"/#0"##"&54?&'"#"&54?454767'&5463267'&54763267'&54763267'&5463267632376327232#"/264&"6264&"#"/#"/#"/#"/#"##"&54?&'#"&54?&547'&546326767'&547632467676767461'&546326767'&46263023763272312264&"	

			





		


	

�i			�




	





	

			


��	
	
	


				
	

			"M			6
	
			

	

				
	
	
�������"/#"/"#"/"/#*##"'&54?&'#"&54?454767'&5463267'&5463267'&54763267'&5463267632376327632264&"6264&"�

	


! 





		

			 ��((vY

	


	
 
	

	


��((l�����	-%!32;5!#!"&2!546;#"3!264&+7��@�%%n�@
�@
�
�
1		`		� *��@@


��
@	


	@����@�$N"&=46;546;232++"&=#!"&=46;76;2+";7632�		@	@	@	@	@	X�"��		7/ *�
	N		xx

@	@		@	@@

@�
d
`	&

	
X����`t�"/.54?62+"/&546325462;2=462;2=462;2=462#'64/&"2?11"/&54?62k111;&
�}
&x@11111111���
 �

��

��

�H

�&0
P1111 ��!�W���$"&462'7>&#".=4627>32?>32?>20"%2+";2+";2+"'654&'54>?63232+"3"&4622"&4((�			
�<		'/
,""J/<�	
�	
�_	
�!$'l
/�	
�E��((�((B

0�
 )q


2�	
	z�	
�klQ32


,0#!

��((����7L%7654&#"#"'&54?63276;76;232+&'%3#"/#"/#"&=46g	!K��u	
TLX	
V
	7p		b�~	
[�		�	��[	EQ	7	�
���
R	�	���� )4c3+7"264&5#"/#"/%3#".5:64&#"%#"'&54?63276;76;2&/7654&#"H
@0			I	
[�`@	)		��K��u	
TLX	
V
	7�	@8�
@			 ��
R�			���[	EQ	7�v
����'/QY$"&4622"&4&2"&42"&462"&4&2"&4'+#";+#5&546;2&264&"rb2�23
 `

`&@�@pP*#@45��~FZv6;
 & �:UPp'�%����!)19LT%#"'&54?6326;2'654&#""&462"&462;+#5&547#"2"&4ƴ��'1;*#@45�
	jN��
`&@�@?
+���!'�j		
�N& �:U.(������ 767#5&1!'>;2&264&"";#";+5!ܠC���g>B4Y�0		�
�		�!��ñ=�7E/)GR!�		 		�0���)y$2"&4&2"&4++!5&546;2'264&+"&?64&"&=4&"/&"+";22?626=46264/&63				7			=
 &@�@pPJ4Y5�			

(		(
				

(		(
	�			I			Z
@&@�9VPp/)�		(
				

(		(
				

(��@�+3A%&/#!"&=&/&547%62546;2&"2642654&+"3;
��
e	@	�4&&4&0	8(@(8	��

��

Z4		�&4&&4�	(88(	����3NR%#"&=#"/&54?62546;2#"54&+"32#!"&=46;54>;2#5#�
�

X	 	;�	@		���%
�0���
��		N'		`4%		@	�

�		
�������9����&"546;2327&54767>32&#"#";6"/&"&=4&"&4?6&+"&46;26/&4626=462?62;2+"&264&"264&"/&'32654/3264&+764&#"54632X		�
 </N!E
)�

(		(
				

(		(
				�			I			,N/< )
E)�		�T	
7.{l
&(	(	'
				

(		(
				

(		(d			I			.7
		(	'&
l��@�$,Hh"&462+"&="&=46;2$"&4622#+"&=764/.5>3"&=#"/&4?6235462z4&&4&@2
@

&@
H�4&&4& &

@
2H H
�
HH
�
@&4&&4�&
0`

�
`&
D�&4&&4F&`
�

`0
&
D�
D$$D
D$$����@4547+"&54?#+"&5457#"'&54?632'&546;232+ EB	B
1g+(	 :���%
B	irBB9,�u	�:	l����	�'2'������;R2+"&5457>354&+54&+"#";;2>=3267"/##546;232��%$�((((�
+C�
@
C 	�&�!�((((�
+ `

����&=2+"&54574>32654'&""/##546;232�$&�&
L#4
4
�
+C�
@
C "�&%�
�"EF	B
+ `

����!u}2"&4%"'.546?632264&+"&?64&"&=4&"/&"+";22?626=4632>54/&63"2"&4�			#-3/*M@'�		
n			

(		(
				

(		(	[						u 5bLA/ 	C_�GP�		(
				

(		(
				(			���	P75!#!"&%2#!"&=46;5#"&=46;235467632+"&=4&"3546;2+ �8(�(8�		� 		`@		P
@+"	
(8	 	@
P		@   (88�	 		 	 		
0�$88(		

�0
		 ��� (08D2#!"&=46;#";2654&'6"&462&"&4626"&46232+"&46�(88(��(88(�Y(88(�(8#F4&&4&�((���&&�&&8(�(88(�(8%8P88(2
&4&&4z((�&4&&4&
����)S^g'.7>75#"&=46;2+762#67>54#";27543230;2=4754&#"32&2#"=�"|WVyeI 		�		 8,
�1

88	
R	�879E

3>Wz�ULp"	 		 	"	$
� =<'
k ?j?�tt������,:#"&7#"'&54?632763!2#!3535#!"&53XJ::��#	�	V
��)5�@�@
�
@DD"��-��" )c��2I

���`�
F73!"&=327'#"'.7#"'&54?632763!2#"'#"'532767z�a		+$����"		�	=$-**
�		@�
�Y(m��h(Z!!pP�����<D47#!".547>5#"'&54?63263!&5462&264&"@<��
:��6# 28P8+!!�6	&

^�*-e>I'3=PppPEh{%6%%6����BM[7#"&547#"&=46;2$"&462#"'&54?632>32467#!"&5%2+.'63�%� B
&@�4&&4&k����>+.B 7!��<,����&
B(�%�!*
 & &4&&4�g�*8B.*+A,B��& 
#:�����W_g%2+"#"/&"&=4&#"&54?6&+"&46;26/&546326=462?6323264&"264&"�&GG&&GG&��((v�G&&GG&&G,((T������$Yb767#".=4&.6?6&+"&463'&?6626=462?62;2+"%4654&#"r
�
G		&

��	

]GG	&�	����
&G���
	I	&&G
~
�����OW���%2+""/&"&=4&"&4?6&+"&46;26/&4626=462?623264&"'""/&"&=4&"&4?6&+"&46;26/&4626=462?62;2#&264&"264&"p			

(		(
				

(		(
	�e55


55


�i			`		(
				

(		(
				

( �5

55



53			�����32+"546;5'&63!2��8�8������**���632"&46325"&463247�
8P88(�8P88(�
��%%6%�K�%%6%���!%"/&=#"&46232&264&"�d8HVzz�z,
�jKKjKd
,z�zzVH8KjKKj�����"/&6767>�/+�

�+/)k&&k�(|+�

�+|(#	''	��1�62/&?'&6?	(	A�j �� j���&g�	DD
�g&����$"&4622#!"&=46;27jKKjK&7O��O7#L#�KjKKjkO7**7O	�/;GS_kw��2+54+"!54+"#"&546;;2=!;2=54+";2=4+";2=4+";254+";2=4+";254+";2=4+";2=4+";2�

(��(

(@(��((((((����p((((((�
��

P
��((l((l((�``�``�((l((l((���/?32+"&=46#2+"&=46346;2+"&5"&=46;2#(�

�
F

�


�

�
(

�

�
�

�

�

�
��

�


�

�
	��� 0BRbr��+"&=46;2+"&=46;2746;2+"&5#+"&=46;22+"&=46346;2+"&5%"&=46;2#"&=46;2#%46;2+"&5�
e

e
�f

f
 
e

e
 f

f
�

e


e

e
�

e

e

e

��
f

f
�P

P
�
P

�

P

	
P

�
P

P
�

P

�
P

P
�
P

P
h

P

���/?O_7+"&=46;246;2+"&52+"&=463"&=463!2#463!2#!"&5"&=463!2#�
e

e
�
e

e
}

e

�



��


��




�P

P
�

P

�
P

P
�@
P

P
�

P

�
P

P
7'&4?62762"��%p�%��	�$p�$����aq#7"/"/&4?'&4?62762�d		
	dd	
		dd		
	dd	
		�d	
		dd		
	dd	
		dd		
	���5=++"=#"=4;54;232"/&=#"&46232&4&"208 88 8�d8HVzz�z,
d�PpPPp 88 88��d
,z�zzVH8d�pPPpP���%-+"=4;2"/&=#"&46232&4&"20���d8HVzz�z,
d�PpPPp  ��d
,z�zzVH8d�pPPpP����)9#".54>7632654&'.?>+"&=46;2�08�gCrC. 	
bFEc$ _
 

 
�"k=g�BrD)L>	"'EcbG'G	�

�

��h�/?O72+"&=4632+"&=463%2+"&546372+"&546372+"&5463�		0		P		0		0		0		�		0		�		0		�	�		�	`	`		`	�	��		 	`	��		�	`	� 		�	����<D%/'&=&''&'&?&47'&767667547676264&"�	&+"	76
"*	&	**	&	*"	77	"*	&	*�B//B/�
5)1

1)5	$
5)1

1)5
##-/B//B����A�D62+"&=4&+"+"&=%#"/&"#"/&54?62546;2�	p		@	p	����"
Z8,��	
`		`	�1���JI�����2"&4654/54&+"327�Α�ΑT:	 	C��Α�Ψ*�		�1��E�"0B%+'4&+"#"&76;;265'32;26/&+"2>5'4&+"3=�	D��bb�((7	.	-bb@4,,�00���+3;3232"/&6;546#!"&=46;2?324&"264&"2�P
X
	��	

X2
�0

�1*1�
|L�
�	��	�
��p

p
11j@�%#!"&=4?63!23373'8� j��U{ p {U����+�@@����92+"&=46303.#"327632#".54632'41463��e,8IggIB2"F`CsB�f%G:��/#g�g,"@BrDf�'R���)S4146;2+"&=463.#"+"&545>322676;2#"&'1+"=46;2#'�/�fM->_
1�Z8b#�=`
1�Z8b#/�fM��/$*L;	Ws.)��L;	Ws.)R�/$*���'3?K!"&5463!2"264"264"264754+";254+";254+";2�`���""""""������� `��h""I""I""�  T  T  ����%2#!"&=46;5462#54&"���Y~YP*<*���H?YY?HH**H���'276#"&#"+"&5&54662^0E;?$h>4

"!Gh] �	)#^

�!

#���/2+"&=46;254&"6;2+"&/&=4�ԖA-

/!q�q!/

-A��j0	-?
�
"OqqO"
�
?-	0j���6/#"&=46;�Yf

fy��Y
�
����#6/#"&=46;.6764'.>�Yf

f�				x��Y
�
)0).��@�'>P6/#"&=46;%.67>54&'.>&'&67>4.'.>.6764'.>�Yf

fB<DD<	!/91	(-)			
)a				y��Y
�
�'~�~'=J';h!�`S	$,.,$6)0).	����#'+=3'3573#75#53'35%3#5##5333#'3#��@����@����@  ` @`@  @  ��@@@�@@@�����@@@� `� �   �#'+/37;?13333333333333333333333333333333			$										���������������������������������������������������=46;2"/&6"264���(��((���(���((����)%"/&=46;2264&""'764/32��(���((2�(��1��(����((���J��(����#/8%#!"&5463!2;2=4+";2=4+"&7!"3�		
��(88(H
���������

X4
8(@(8
nF�  ����
463!2' �@��0p���#'082+#!"&=#"&=4635463!25!%5#"&=#264&"�%	0
��
0	%

	.	@�0	�&%p	`

`	p%�
	.	
��``�`	0�H���"*#!"&546;7>;2324&"26"&462�`X

~X�FdFFd&4H44H0�� !	!�dFFdF�H44H4����+.%2+"&=46;'#32+"&=46;6;2'3'�		�		�		�		�0��^/ 	 		 	@@	 		 	j��������%-%+"&=46;#"&=46;2'3264&#264&+MR6�		  		�9L�W  W�?$4F	0	 	0	T9$a`(��!.!p��@�#+32+"&=46;#"&=46;2@	?P/		�		?P/		�	� 	��	 		 	@	 		��C�-I2+"&=#32+"&=46;#+"&=4632"/&6;5#"&?62+0		 	8(		�		(8	 		 PP00PP0�	`		 ��	 		 	0 		`	��PP�PP�����-I2+"&=#32+"&=46;5#+"&=463&=#/&4?63546�		 	x		�		x	 		[PP�PP��	P		p	 		 	p		P	��PP00PP00����/?7"&=463!2#"&=463!2#2#!"&=4632#!"&=463
���		�`		�		�`		`&&&&@	 		 	�	 		 	����/?2#!"&=4632#!"&=463"&=46;2##"&=46;2�		�`		�		�`		\��� 	 		 	�	 		 	@((�((����/?7"&=463!2#2#!"&=4632#!"&=4632#!"&=463		�				�`		������	 		 	�	 		 	�&&�&&����/?%2#!"&=463%2#!"&=463%2#!"&=463%2#!"&=463�		�`		�		�`		�		�`		�		�`		 	 		 	�	 		 	�	 		 	�	 		 	���/?O_72+"&=4632+"&=4632+"&=4632#!"&=4632#!"&=4632#!"&=463P		@		@		@		@		@		�		��		@		��		@		��		P	@		@	@	@		@	�	@		@	�	 		 	@	 		 	�	 		 	����+;K7'&4?62#!"&=463%2+"&=46372+"&=46372#!"&=463e``D		�`		�����		�`		U``�-	 		 	�&&�&&�	 		 	����+;K7&=462#!"&=463%2+"&=46372+"&=46372#!"&=463`5		�`		�����		�`		U�`�	 		 	�&&�&&�	 		 	@�2#!"&54636/5P���"#n��� &�K��")"&5463!2"264!5'&'&�`���.!!.!h�X�8H ��H!.!!.�pX�8H����.5462"�="
p�p
"=6#X$5"PppP"5$X#
����
6462"7264&#�Α��gLllLYΑ�Α@l�l��`�!"&54>762264&#"&54&"�6,!g�g!-5-		!/		B�4_6I&JhhJ&H8^4�@		/!		.B��@�7.?67/&?624?6#!"&5463!2+!�Z�\
��$Z$ �(��(�@mZ�
\� #Z#��(�`(��@����4;276/+"@0�%%�0���
��
�����54;27676//+"(�%�%%�%�(h��
��
��
��
�����7&4?6'7&4?6'�%%@�%%�

�
��
�

�
��
����%&546���13�6������#"&546;2%+"&546;2�`````��0`����2#!"&5463������`���%&546&546��%%@�%%�

�
@
�

�
@
���+"=&=&54654654;2(�%�%%�%�(t����
��
@
��
��@����+"=&54654;2�0�%%�0��X��
�
��������%#!"&=463!2%"&?62#�
��

�
�p�*�@@

@
39��9��%�?62"/&4#�����������%�%"/.?'&6?62�������������#2"&454+54+"#";;2=32�Α�Α�\8\\8\��Α�΃8\\8\\����2"&4!2=4#!"�Α�Αt����Α�Ώ88����#2"&4'76/&'&??6�Α�ΑrBB(	AA	(BB(	AA	(��Α�ΨAA	(BB(	AA	(BB(����"&46276/&'&��Α�΄��Fh'Α�Α����Fh����+3"&462"7>32;2=4>54&"264��Α��`J+	#	

8H &&'Α�ΑR@		



	&*<�&&����'2"&4$"26454+54+";#";2�Α�Α	""@X��Α��#""�d@���(PX%2++"=.'#"=4;>754;2>7#"=4;.'+"=32+54;24"&462�3N.(FeeF(Fe�,?
))
?,(,?
))
?,(�(.N3eF(FeeF�
?,(,?
))
?,(,?
)y����
2"&4.67�Α�Α�`�4&��`�4��&��Α��`&��4`&4������%"/&4?62!2#!��x

��x��s
 
s����762"/&6?!"&=463!'.���x��

x}��s
 
s����7'&4?62&/+"&5#��s
 
s���x��

x����%"/&4?646;27>���s
 
s���x

��x���&='.54>7546��1D2
#02LP4�

X*@+U,,B)	P
����!2C546;2++"%4;2+"=#"52+"=4;543+"&=4;232
|T( |
(T�
|T�|
(T|
(T�
|T�|
(T�
|T����!2C#"&=4;232%+"=4;54;2+"=#"=4;2+"=46;2+�|
(T��
|T((T|
�(
|T
|T(
(T�XT(
||
(����#%2++"&=#"&=46;546;2�

�
 
�

�
 
�
 
�

�
 
�

����%2#!"&=463�

��

�
 

 
����6%/+"&?&/&6?'.?>'&>;276�	�&�	��	�&�	�r	"	T��T	"	NN	"	T��T	"	N����"&462"264';2574&+"��Α��T&&Z0@'Α�Α��&&������
.9C353#"&53#2#!"&=46;&54632>32!3.#"3264&#" ��
�
 
	� 	
,
4$..$4
��V#!� ����
@
P		P
$4 $$ 4$5"$%����@�'&'.7>3264&#"&546;26762"�u8[5	 @Q}G		�upPP/O�BN��	.%,.
/>0"		TPp/)����!"&547632654.676�#11#q�q7%&
"�2,2M/OqqON9U&% "*=%
@�-%#".'&47>22654&"72"&54732654'6=*�[<oV*����<TTxTT<(88O9	�Pa-O5Paa�T<<TTxT�8O99'
	����0F%27#"&'&4767#"'&54?632632'654&#"654'6320@

4)%[�*i'@_���EN[�*3IT<4'I	

'80)
aPQ%=#:�c&aP;+9<T!98'����H�!%#!"&762"264';2574&+":
� 
�8&&Z0@00���&&�������@�*2++"&?#+"&?'&6;23'&>;2�BBri	B	1g+(	  	(+g1B	i'2'�
�:ll:������	!-9EQo!#!"&%;2=4+";2=4+"';2=4+";2=4+"';2=4+";2=4+"2!546;546;23546;2���@((((�((((�((((P�@0	 	�	 	���((�((t((�((t((�((@000		00		0���;%&=#"/73546%"=4;2'!#+"=4;76;546&5�P;F55 �coF55  �oT�;PPYP(K:9(g8K:9�8�(PP�����2#"'#"&'&>7&54�Ԗ�j83AL9�z�z319JV���>#"&=46;2%+"=46;232".54546;226=46��hW�h��Nt{tO�2<2,PPP|,	Ht;;tG14-44-4;�E/&/&4?62�����=����;�E7'&4?>76"�����C������}�!C%"/&4?625#"/&6;2762+"&="/&4?62"/32vee(�	�
(���
(ee(�	hdd+�
�+
�+dd+���B�.%#!!2"&547#"&547#"&=46;2!2��
 !.!�!.!FF

g
	�� #!!!! W

-�2#!"&546;��`�@@� @D�
%#!"&?63!2%"46;32=I%�pI%��T 	E�@��| | 8v@0�/?T%"&=46;2#3"&=46;2#!"&=46;2#3"&=46;2#2#!"&546;2M&:&��&:&�		�0
	 	�����FF��@	 	
P		�����-5=M!2#!"&546";2=4#2=4&+"#"3264&"62"&4265463264&#"0��`	t@	���dFFdFTH44H4!	
		&���` 	
`J	-$��FdFFd�4H44H4	
		&���"*#"'+++"&=4?&54>32264&"gI%
(
p
�	/Q0Ig�((Ig(
(

N
�0Q/g((������;C����'&'&?&'#"'&76;67'&767667632+/'>'&/'.=&''&'&?&7'&76766754676276>.6'&'&?&'#"'&76;67'&767667632+/'>'&







&	
&	g"	!
&&	
 
!!
 	&&
 
"{#0#0	







&	
&			
			
	

	>##�
(
""
'
 
'

"	
"&
50#0#�		

				

		>##����B�+#"'#"&'&767&5462#"'#"&'32654'�zV<3+.&z��.+3<@hc�9HB�^")3B^��"
6,qO	Q13�� �
&?'&6?6 � j�A	��HD	�g&�����,%+"/&=#"&546?#"&=463!2+*&
�
�
0&*



*� -
h00h
$<v
0

0
��@�19A232#!"=46;5.'&'&=46;5463!2&'#%5#676(
>0>%0%��%0$>0>
h

��@�@#�
88-"4HH
&"-88
(

(�
)--)
���/7?%#"&=#"&?62+7#!"&=46;;26=324&"264&"2(P
X
	��	

X�
�0

�!P!�
|L@
�	��	�
p

p
!!j�����#7&.7>&>676>.2327>�"		
'BF:;-+
+"		
'BF:;-+
�4j
^�"+
+-;:FB'
		"+
+-;:FB'
	c
j4,^�����#"/&?6>7'&?6���p1;[<0����h0<\:2p����.2#!"&54632654/"#"'&#"���.x�A
%#KF	���`���x	FK#%
A����&%2#!"&=46;5462+"&=4&#"���Y}Z
 
+*���f@ZY?

*+g��@�	!+=!#!"&7;2=4+";2=4+"!5463!2@� ����HH�����X((((00����16"&462+"&5.'"&=463+"&5.'"&=463�%5&&5�	0	wT	
t��	0	ː	
V�sF;5&&5%o
	Tw	0	�t
	��	0	Gr�@�#+%#!"&=463!2'!"763!2&"264&"264@� �0� aa3s�``<��`��@�,4$#"/&++"'&547#"&=46;2?632#2@ 	UBUK"%%�UBU	@!TkkT�J�
D5+"#5:%`%5D
��C`C�����;%//&/&?'.?'&6?'&67>7676�.

?>	--	>?

..

?>	--
>?

�-
>?
..
?>
--
>?
//

?>
�'7?%+#*#"&'.=47>763232+"&=46;24&"2d

##GE
	��`
0

0
�
+% $
	�

-+
�

�
��&6>3&'&632#*#"&7.7.7#"&54632+"&=46264&"-�	
EG#('

d�0

0
$
+-

�	
$$#%+

�

�
�������'7?2666+"'.'&54654632+"&=46"264�
+%#$$
�

-+
�

�
��d

'(#G
E
	��`
0

0
������&6>5&547>76;2'''#"&546;2+"&64&"2\
+-

�	
$$#%+

�

�
��	
EG#('

d�0

0
����%"&462'326=4&+764/&"2?64gΑ�Α�L�

�L��8�Α��H

H������%2"&47#";2?64/&"�Α�Α�L�

�L����Α��H

H������%6462"'7;26=2?64/&"2�Α��H

H��YΑ�Α�L�

�L������%"&46254&+"'&"2?64/&"��Α��H

H��'Α�Α�L�

�L��	����
"+17=#>2473#%#&'%#>#64'#&4733"&673%3.P�0:0���Bl#5S��$lSk		r�r		r(�0:0�$lS��l#5S DTT�@  @ �\2K[2\3K�    !>!@"!>!!DTTJ2\3K~\2K�����$'"&4?&67>76264&"�	P&�5%�
J$JDK
�<S$I
�%5�%Q	
KDJ�������+3CSc"/&4?62762"/&4?627622"&4%2#!"&=4632#!"&=4632#!"&=463�I
/
@
H
/
@
\((�		��		 		��		 		��		�	H0
?�
H/	?�((	 		 	@	 		 	�	 		 	�����2/&='&63��P
�����
8��'+%53#!"&=3;2672!546;546;2#5#@��`�	`	��P�@�p0��0		�PP00  �����;%"/&6;5#/&4?635#"&?62+3546&=#32`OO3eOOe3
OO3eOOe3
OOe3OO
3eOOe3OO
3e����&:H6"&462"&4622+.'63*&4622#!"&=46;27'#"&=46;2z4&&4&�4&&4& &
B �\BB\B#0C��C0	!F!�(B
&@�&4&&4&&4&&4F& 
*!B\BB\bC00C
:#
 &�����%K"&4?62?64'&'&5&?66&'&'&?>'&"&'&4?6G,,D,~Y,&	
<C	jY,&	
<C	
,,D,-~,D,Y~,&
	;C<
�Y~,&
	;C<
	-~,D,����%#!"&5467454632632.K5��<T6*^B,J(8�$65KT</JB^,$8(����%%#!"&?5#"&=46;2+3'&=#�(*��*(u

�

��0@,#II#��



�iN
��
����'/7%"/"&46327'#"&462762264&"264&"�		Ft8P88(!!(88P8tF		����	s(88P8!!8P88(s	F������#,!#!"&546;3;#!"&546;#532@
��

H!�
h
��

�y`
(

p
��!X
��

p
I
`������2&6?62&'&6?6?64'&"2?6"++,�"^!!!�@��		�(�3H��-~--�"""_!�?��		�*�K5��-����(#!"&5463!2264&"4/&+";25����6%%6%���>��`��%6%%6h����2#!"&5463������`����/"&=463!2#"&=463!2#"&=463!2#		�		�`		�		�`		�		<	(		(	�	(		(	�	(		(	���'7G2"&42"&42"&4%2#!"&=4632#!"&=4632#!"&=463((((((�		��		@		��		@		��		�((�((�((	 		 	@	 		 	�	 		 	�����*:JZt�7#"'&?63254+"/&?67#"=4;20%2#!"&=463%2#!"&=4632#!"&=463'"=4;5#"54?6;232#"=4>54#"/&763232#>	9�		��		@		��		@		��		�D		


'/		
		�	 		 	�	 		 	��	 		 	�@X�
	���/M%2#!"&=46;&'&546;2#"'&+"3+"&/&54?632;2654�		� 		fH4D%=	+
BW^H4D%=	+
B�	 		 	3I' 
`3I' 
����/?"&=46;2+26=#"&=46;2+"&=2#!"&=463 		�		 /B/ 		�		 ^�^p		�`		�	 		 	�!//!�	 		 	�B^^B���	 		 	���2#!"&54635#75#5#75#��`�����������`��``�``�``�``���'+/?/?/?"/&47627'�    �5555E5555b		��	
U		l	
;W3V`   `555�555�
	��		U
	l		�V3W����'/7<%2+"&5#"&5#"&5463!232264&"264&"75'#p		08P8�8P8@,d�,((\((�d,`	 	(88((88(@0dlp((((�dp��!&+2#!"&546334&#5265#264&"5"75#`

��

@%%@�B//B/`%@@%�
��

@
��%�%�8P88Ph@%�@%W9!2"/&6
	��	
	��	`9	%!"&?62!��
	��	
`	��	'�Y/&4?6�	��	A��
	��	
'�Y546&	��	?
	��	
���2#!"&5463#!#��`�������`����
��3�732"/&6%+"&?62)�ww�w�wwiw
��3�732"/&6)�ww�ww
�4�%#"&?62�ww�ww�:6#!"&=4632>76".#&'&=463!2"��`!y
	v�z4	�	1}��X	
	Ue	Y(&[	����+7#"&=4;2>3#"'&?63264&#"32��0#a6g��g_G
	"	2BIggI+Jb��N'+�͑@		",g�g'!0���7%"/&4?'"/&4?627'"/&4?62762�|(Q		s		.		s		Q(}q�}(Q		s		.		s		Q(|q����D�2#"&?#".?>;2(�.w 
�* ����
�����5EU72+"&=4637#546;5#"&=46;2+32#5##52+"&=463!2+"&=463�

`

H0�(

�

(�0�0H

`

P

`

`
`

`
P0:@
`

`
@:000P
`

`

`

`
����B�-C%'."'0.#""'.&7>75462632#"&'&>3265@57	(74�\\���/!*	�

#+
'"+$
cz



zx�!/
		����/8#"&546;6232#"6"2643+"&546;7#532�h

QJQ
�!*�h
�

�r`
B�
P
  
H!y��

0
h
&`B��`�
 053+"/&46320#41&'&7264&#"26546`�
>	`dKJg,%�%,�		.B		/&&
 GigIB2+00+2�		B.		!/����U$"&462462"7#!"&=4672654&'527267?6/546?6=4&'jKKjK��6J��@0!.!:$00 
$�KjKKj��N5--1KQ!!R

.,, 
*,���BJ2#"&'.=46?6326='.?>326=&7>264&"� gIGg7I?
	9('8
?I73.B!$			P%qEc_DY9�	
	
{(8:'z



	�9X.=+q&%P			���	
!46;235+32#"&546;�����00�`00 ��p�  P�`��������+"&537#!".54767>54675462�4&��	��		H8%:!@%q

	
C,:V

,B&,C������'7"&=463!2+##3264&!"'&763!2�(8
�5KK5 8(�  &&�!	
H@8(�
KjK(8 �&4&�� 	����'3;GSo!54;46;546;23232#";2=432=4+"#"3547#";2=44+";25'3;2=32=4+54+"#"��@
X
p
X
�((�((t(@4((�((
,h
H

H
�� ((@((�TT`(((�����'/KSX%2+"&5#"&5#"&5463!232264&"754+54+"#";;2=32264&"75'#p		08P8�8P8@,d�,((�808808�((�d,`	 	(88((88(@0dlp((�088088�((�dp���
%I3546;2335+32#"&546;4&+54&+"#";;26=3265` � ��@ 	0	 	0		0	 	0	 `00���  P�`���	0		0	 	0		0	����/%#32+535##'53535'575#5#57335#532+3 ``�0u(s0C"0@@0"C0s(u0���PE*EP������".:2#!"&5463!254&+7626=4&"26=4&"p!/Q
��


@	07	�			W			`/!�'
$*

�

(с	�E	�		�		�		�����3#!"&5463!2#"#54&+";26=3;26=4&���`p 	�	 		 	�	 		p��`D	PP		�		PP		�	����+2#!"&546354+54+"#";;2=32���@\8\\8\���`�8\\8\\�a*?62"/&4&4?62"'�``���``ш``
��``�a+7"/&4?'&4?627"/&4?'&4?>2�``���``			��``��``����A�+7"/"/&4?62'62"/"&/&47��``��``			��``���``����A�)7'&4?62762""/&4?62762��``��``��``���``�a?62"/&4 �``�ш``
��a7"/&4?'&4?62�``���``���XA("/"/&4?62��``� �``���X@(7'&4?62762"��``�`�``���@�#2+32#!"&46;7#"&5463!�H

��

H��@���00@�� ������!%%2#!"&=46;;267!463!2!p	&�&	�
=��@�� 	&&	p��P�������2#!"&5463264&"������`�� ��@�2+"&5463264&"�c��`�� ���9%2+"&=46;2+"#2+"&=46;2+"��^B

&��^B

&���B^
0
&@��B^
0
&@���92+"&=46;26=#"&=463#2+"&=46;26=#"&=463�^B

&P�^B

&P��B^
0
&@��B^
0
&@����'/7"&4622"&462"&4 "&4622"&4$2"&42"&40(((((�((��((((B((��((�((�`((�((((�((((B((����2"&4�Α�Α��Α������)2"&4"264&"26464."'.2�Α�ΑU��	
#n#
	-���Α���**6����%2"&4"264&"264>'&"762�Α�ΑU��-�-#n��Α���66*����2"&4"26424+"36264&"�Α�Α������Α���  ��`+3;2#"'##"&46354+54+"#";;2=32264&"6264&"�B^^BC/\/CB^^BX4444�""W""`^�^00^�^�4444@""I""
@�'3?KWco{���)"&5463!254+";2754+";2754+";2754+";2754+";254+";2754+";2754+";2754+";254+";2%54+";2754+";2� ��\((`((`((`((`((��((`((`((`((��(( ��`(( ��((((((((((T((((((((T((((((���.4X.'76#"&#"+"&5&546623256%5'5&'&56765767556�	2	2�;?$i>4

"!Gh0�"(#M'##&>&#7.(!?&#%% *D��	)"^

�!
#�HF
�GH	DDGFFDDHFG������$%"/&4?'&4?62#!"&=463!2����w
��

0
������

 

������+'&76'/&?6/&?'&?6=�=�}	�

�	+		[[			+		[[		+	�

@��*t	�		�	.	PP	/	.	PP	.	�		����@�.76&76&'/&4&4?61'��3N>!0#9T�x�mm�

S)F/,UZR
T
��

^^
����	�6.=#"&67�/� �
�/�`�%-���7%2++"&53#"&5#"&=46;546;27#5376�

(
0
�s�
(

(
0
�s�;;`
0
(

�`

0
(

��`;;�����6>FN"&54>75.546267>767.5462$"264264&""264�
- 2
/B//B/9/B/��						�			0**	)!//!�*!//!*�	
 !///			��			7			�����/?%"&4?62?6/&?62/&?64&""'&4?620		-,~Y,-	(-*<-(		-,~Y,-	(-*<-��G�*	-,Y~,-		(-<*-�(	-,Y~,-		(-<*-����G��z�)12+"&=4>7>54&#"/.762"&4�Bn%%
H

,+?F:((:(�Z@ 1


"
![��)9))9����&735#"&=46;232+"&=462"&4p�6<**<*�0�00�*<**<����6"&46246;2+"&5�/B//Bh
^

B
1B//B/G

��


�S2+"&=46;5#"&54?6;2'2+32+"/+"&=46;7'#"&=46;2763�		`			
0	�		!NN!		CPPC		!NN!		CPP 	 		 	`	 		�`	0	pp	0	ss	0	pp	0	ss���S!2+"&=46;5#"&54?6;22+32+"/+"&=46;7'#"&=46;2763�		`			
0	�		!NN!		CPPC		!NN!		CPP	 		 	`	 		��	0	pp	0	ss	0	pp	0	ss�����%32#!"/&4762%37���`(���|PrD��(`(�(1}PC��@�K%2#"&#"".54654&#"&/054&54632>?03261
! $$#%54@p '#$#**")	2�#$##

0	M
2	20Ek��`�<6"&=4627232+"&=46;5.=46;26=463�P88P8@	WA8		�		8AW		B19T	`8(�(88(�(h	0Bc	"				"	iD(		*3NM80	������%F'&?6546326=46;22+"&=46;5.=7z	
��	
�8(,		L		�		8AW4/2


	�

	�-(8,�0		0*&�				"	iD),'"����
+!2#!"&54%#!"=46;54;2354;232�����X0(�(0��,$4444������8@6/&5#+"&=4675*.767&632347264&"��
(
�
)
	<!":
�			�t�

�!5

		L1-			���,8#"&=&/&6?#".54?>;>322>4.#"�D<b
	3	h1h'dH3 
w�!2Hd'h
1
h	3
	c=C�"����"&462%2?64/764/&"gΑ�Α���ee�8�Α��V�ff�����2"&4'&"2?64�Α�Αj�ee���Α��V�ff�����6462"2?2?64/&"�Α��V�ff�YΑ�Αj�ee�����"&462764/&"'&"2��Α��V�ff�'Α�Α���ee�����B�BJ7"&?6+5#"=4;5.54632+>7#"&?6+"&'"264
DD#R044$9((7$440R#DD ���`DD'1�(
2(98'2
(�1'DDIWWI ����&2%2#!"&=46;5462+"&=4&#"54&"26���Y}Z
 
+*p""���f@ZY?

*+g�00����2"&4264&"62"&4264&"�Α�Α��ll�l�jKKjKf4&&4&��Α���l�ll��KjKKju&4&&4x�$"&46:"&4$2"&4H*<**<t<**<*��<**<*�<**<**<**<**<**<����2"&<62"462"B<**<**<**<**<**<*<**<t<**<*��<**<*����);2#!"&5463264&"265.'"3;265.'"33���,((�uS<U��~f����`��((Su#U<}�#�f����2"&4>4&/&7�Α�Αl���Α��k�����2#!"&5463!2=4#!"���,�����`��88����!"&5463!2'76/&'&���`��Fh `��b��Fh����*!"&5463!23?6/&7'&"?64���`��9�7g7 `��.�9�8	7��A�@&="'.54>3546463276#!"&546;2+!8�-?0	+-FJ/��
��y	3@�H
';(
O)*>&	H��Y`������>2"&2"&46.?67�GΑ�Αv	�B���Α��B�B����#!"&5463!2?6&+"���`��||�p��`�||����5463!2#!"&%'&;26`��d||�`���||����!2#!"&54676/&0`���||���`��||���B�E%#"&'#"&=4;&7#"&=4;>32'&#"32+32+32767	Mp!oH(>�
��
r&",VF@P,(#	
		 
��@�6%2#!"=4;5#"=4;54632'&#"32+354634��$O=7/			TT{`h(�(B7G#
$

@(3����*�A7+"&="'.?6;2654/.'&6;546;22'&+"�,-:$	 	0&"

B
g".A1	 	0&"

B
	�
T-!'0		0"	


4"1G0		0"	

	��@�4#32++"/&=46;267#"=4;&+"&=43!24I	;5L9�S�T'��)U(`(8F��5 (-(��n�:232+32++"=#"=4;5'#"=4;'&6;236?63_P:Xll8llX:PA77�� % \\ % �qH%#q����)27#32++"=#"=4;5#"=46;54;2'32654&#�\��;4444�@QQ�M$((#� (44( -�O�Qۖ)#"(��@�ENRZdh#32++"/#+"/#"=4;'#"=4;'&6;2376;2376;2327#32>?#;'&'#7#136?#4?FU*
9	+7*
9	)TF>0*
m	,
n
.0�x&Q��'Q (�		��		�( (Q		VV		VV		Q(�66/�  	66�  ����;#!"&546;#532�
�
��

Ƞ�
b8
��

�
z�b����)5>;#!"&546;54+";2=4+";254+";257#532�
�
��

�@������`�
b8
��

�
��LTz�b������5OR72"/&6;46;2%232+"&=4?#"&=4637+"/#+"&54?6;23'�PP0	 	 	=8		�	=8		�	G	;*4 ```0		��@	
F	 		
F	 	U	

	�e0������5OR"&?62++"&5232+"&=4?#"&=4637+"/#+"&54?6;23'PP0	 	`	=8		�	=8		�	G	;*4  ``��		0�	
F	 		
F	 	U	

	�e0�����%5EU%2+"&=463'2"/&6;46;2%2+"&=4632+"&=4632#!"&=4630		@		@PP0	 	0		�		�		�				�		 	 		 	@``0		��	 		 	�	 		 		 		 	�����%5EU%2+"&=463"&?62++"&5!2+"&=4632+"&=4632#!"&=4630		@		�PP0	 	p		�		�		�				�		 	 		 	``��		0	 		 	�	 		 		 		 	������7?U"&54?6;232+"&=46;56&/&767.7>264&"2"/&6;46;20	
0			`		
(>%


	$+
�PP0	 	`	 		p	 		 	@�1'#2"
=&

^``0		��������=S%6&/&767.7>264&"'"&54?6;232+"&=46;5'++"&5#"&?62J(>%


	$+
"	
0			`		�P0	 	0P�1'#2"
=&\�	 		p	 		 	@;`��		0`���D72+"&=463264&"32#+"'&#"&=47>767632h

P

X e#


*!0H#5�
�

�
�y?#.) �M,:$���F46;2+"&56264&""'&'.'&=463276;23+
P

P
(#H0$

#e �

�

2��:,
(+� 
).#?$����"2"&4++"&=#"&?6;732e6%%6%�8
 
80%%�%6%%6��h

h�����$2"&42++"&=#"&=46;7E6%%6%p

@

%%�%6%%6k�
�

�
������/72"&4/"/&?'&4?'&67627664&"�P88P8V

^!
d0/d
!^

^!d//d
!cKKjKK 8P88P/d
!^

^!d//d
!^

^!
d�KjKKjK����".5463276EvE�j/7�]>J@EuFj�^6^y*���	%3!#!"&7;2=4+"%2#!"&=463 �
��
�hh 
	� 	
 ��
��
0		0
�����?E%+"/#54+""'"&4?&=#"&546;5'&4623762322#4
7=	
6(33(6
	=7

8/	
6�6
	/8
��\B�
 <
	7 �� 7	
< 
;.
	77	
.;B..����!"&5463!26=4&���`�|| `��d||�����2"&44&"2�Α�ΑH/B//B��Α�ΈB//B/���,B%&/#"&'&54>32+3276'#"&54673267�A>� #�		y�	9%�W5Ig=2B.*?>
!	��$!	 	 {7/:gI7Y'3.B7)����:%2+"=&=4?5&=4?54;27676265463t{eP1		71		78�		��		�Fb�dp�)
)
E3)
)
�MH����3<%#!3#5#"&="=435"=435463352#!226&#"Q//4E��	�(B+*7"    "7*+B(�	E5�4
#$#��%@((@%��#$#
p((@����%=2#!"&546322>36754&#!"".'&'3!265����
J(
��
(I	I

���`�5 

 	5		5�

����%9+#!"=#"=4?622#!"=4637335335332!54;��x��
�0
8@@@@@$�`$@XX��

�����#./+"&?&54767'&47%67"&57n���	8	0
�p�p�!'"U<

ss
	"U�,q%%q,
 �`DNe7#?%2#!54+54+"#";&'&767?6'&'6732%463!!"&57;2?3;26/&+"�&�

��@@r			





 ��
��
;		<		9	 	�&&!�
��
@x
	


		



##l
��
8		
����%5EU^n2#!"&546;254&+";26=4&+";2654&+";26=4&+";26=#"&=#'2+"&5463�

��

�
	.	�	 		 		 		 	�	 		 		 		 	0	��

 

 
��

�
	.	
�� 		 		� 		 		y 		 		� 		 		w@	0�@
��

@
����)5=IUa2!54;463!2;2=4+";2=4+"2=4+"354+"754+";2=4+";2=4+";2��@
P
��((((4(t(�(((((( �

�8�((l((�((�TT�((l((l((����)462"6+"&=#+"&5'&462376x*<**<�	_



_	
VfV
Z<**<*P
^��

pp

^
	WW	�����(3?62#"&#"#"&546&.'&>.676.7>.>�L\>&"LM"&>,�/-	�*,�-/	�C_&&_j4--
&A7 !-4
-!7A&7!���6/&=46?7575����������N�
hh
�HNN��P�B���!'+/37%//&=4?54?65'75'57'57'�dhhdad

d"UwfffUUfffVUUfff�	n
2442
n	$l	&&	lI$E�))&��K'O�''*FK'O�''*�����8U7/;2+".?'&6?67&"/&?6276/.?+/&?6326/&?6�	(3
44$6	3)	n|	$	"
j*(	n	(�-`PP`

"
�

Q!(0A"QI

--B
n�5+0PP0!,

���7APa2++"&=!+"&=&=47#"/&6;7>;2%!'.+":>54&"!264&#":�	
 
�
 
	< �"9���9
"N	
		06

  

60		*
& *22
�!	���19BJ%+"&=!+"&=&=46?>;546;232264&"7!'.+"264&"� 
 
�
 
 +
�
+��5
�
�#0$)

  

)%0#U" 

 "�]C�������/%++"&?5#"&?#"&?#"'&?>2++z
�		`		�
P	O
nn
O	F11Z[
uu
[����##".=4632"&= "&= ��]=g<�]=g<���G2G���G2w.+!.+!{g++g1og++g1����&BKO7.4326673#!"&546;&'6'.32767326'&7#532'6�3
O��
��

�&$>$

O�
%+�(6V
	��

�
�
�$/
76 &
>"	�
�������<E;#!"&546;"&'&+"&'&+";27673;2?6.#7#532�
�
��

�9
	

%
%		&
&O�
b8
��

�
�
es		s_
	�		cX		���b����4=;#!"&546;6&+"4'&+";2767;26/7#532�
�
��

�<#%%#<<#"#<��
b8
��

�
�ED
]^=!$^��b����"=72+57#532;#!"&546;4&+";26=:>�

��
7
�
��

�5(!Q�=�
��
��

�
��!,�9����"-#5323#!"&546;"2645'&'&��
b��
��

�j''�(	g((F�b0��

�
�
((�p(h((0����*.O#5322"&5467;#!"&546;3533526/&+535#535#535##3#3#y�
�		w
�
��

h @� 2
           W
���

�
��

�
     ��&W
            a����!/=F;#!"&546;54&#";67764'&7&7647#532�
�
��

�@$$!
		O
	
)@�
b8
��

�
�l�$8$8	;n
N	*u��b����4#532;#!"&546;4&54&+";26=65��
b�
�
��

�`7
p

p
7F�b
��

�
��7&

p

&7����3G`#5323#!"&546;7654/7654/&#"32032?454/0#"764/&#"327��
b��
��

�s((AA5>>�A((F�b0��

�
�
�$$==1��g=$$����
!'2"&4%&'264&"'677&'67'�Α�Α�?�P88P8 @m?�@��Α��@�8P88P�?�@m?����#46#"&'46762654&'&5 QiBrCg�iQ:Ll�lL:��VCrC�gV�b?LllL?b�����6/&=6&'.7�
H
}@
 ���j
��P4M
Q%�,����%7#"'.?>3264&#"+"&=46632/546;2��gXD2@LllLI53�	2Hcg$A

)'͒7(l�l23	�2E��3�

h ����K32+"&=46;5#32+"&=46;#"&=46;2+35#"&=46;2#� 		�		 � 		�		  		�		 � 		�		`��	 		 	��	 		 	@	 		 	��	 		 	 ����!++"&5#+"&=#"&46;2�	0	 	 	 	 B^^B�	� 	��		p��		p^�^	���#Gk%2#!+"&=#"&=46;546;2%2++"&=!"&=463!546;272++"&=#"&=46;546;2�		��	 	P		P	 	P		P	 	��		P	 	P		�	 	�		�	 	@	 				 			�	 				 			�	 				 			����%%2"&547'#"&46327&5462#"'6`(88P8f"(88("f8P88("ff�8P88(
@8P8@
(88P8@

@����5#!"&5463!2"'64'73264&"&#"327264&���`�DD!!.!D!!D!.!!p��`�))!.!!)!.!)!!.!���'/7?O"&4632762?2+"43&2"=&?6'&6/&6463264&#"26�4z�zzV-)4M0.	U	;	��&		(8		h4)-Vzz�z4<+					�&		8(		����%*"&462'7&''77'77'?6'7��Α��a?"'>KK>'#?&U%>>%U&�NN'Α�Α�:T6**6T:B4"MM"4\88\
���!-9EQ]iu�����>#"/&5057&0#"/&54+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2D��D
+W``W+`((`((`((`((`((��((`((`((`((��(( ��`((XD11D

E#
<##<
#E�(((((((((�(((((((�(((((���	3=A#546;246;#+"&=>%+"&=#532%2#546353�`	@	��
` 
`


�
`
 `		��	`	p@�00		w
��

,$;)%-9)G,,

��	w	00	�������#+#54622+#5.=#"&=4637#5462@@0		I7@7I		p@�``
�	 	 9YccY9 	 	�``
@�&2>JV2#!"&546;54632=#72=4+"3!2=4+"3'2=4+"3!2=4+"372=4#!"3(
�(!
(
(��h�8�h�����
��!

����``((������,'& /&47>2"&4%'&"/&4762{"n��n"W��6%%6%"?�?"W�%"dd"Q99��%6%%6y"

66

"L����/?O_o2#!"&546354&+";26=4&+";2654&+";26=4&+";2654&+";2654&#!"3!26���P&&&&�&&&&�&&��&��`��M&&�&&{&&�&&{��ff������#/7'&?66754621%#".547>"&53z	
��	
�%=8H	�~��		�&�


	�

	p1


V:,C
��	
2�%����!2#!"&=46;76;2!+"&�		�`		x	r	�����	 		 	

�MS������82"&4654/.#"&546326?654'.#"32>�Α�Αm
#'("$
>R$C) 8��Α���"	0 !+#	R=)B&����:F2#".'#"&546326;2>54&#"3276#"&462654&#"j�JL
*,4Q9*- jNLllL6-
	=Jg��Q%$�|d?T91BVy
2JVl�l	(�Α��)) ���#?+'754"/&4?62763~�~-8  �8M
)�)
Ms~�~  8-`8PM
)�)
M�����,70#"&532762#"/&54>76�XF:@@
j UP.
@	'%?�J8@XC			
D:�a5	#8����#4?JU%"&""&#"#"&"#546;5335335332!526226226323"&546523"&546523"&54652�'/''(
'/'@@@@@�@''/''/'
'��
 
r
 
r
 
@      P�������`      @
%&
%&
%&�%2#!"54;2%6!57>��(5Z��W
U@(h����h�r����!�#%2/7+5463&'&676
=��	�
Y���<K`�wZ�S:
�A
�	���+�`\�	�2%2#!"&546;22/"//&?627'&63�		�0
	 	�	 `

I.D

II @	 	
P		�� 	v `		J.E		JJ @�2+"&463264&"264&+�PppP�PppP�KjKKj�5KK5111�p�pp�p�jKKjK�KjK7�7@�2+"&463264&"�PppP�PppP�jKKjK�p�pp�p��KjKKj������8<KQg2'.547'+#"&546327#"&54>;23'#"&=46;263&267#"&?&#"?#654&#"&/5KK54K)V
4E,5KL41
W	r3		@
N��+J(	Q-	!//�J�$�"2/!

-

-,M55JK48&�*6K64K0
			}J&vI/B/`x( 0`0"!/H
	G,���4<LT2+++"&=#+"&="&=#"&=46;5462264&"7!26=4&#!"264&"�


 
�
 



�����0

�
@
P
� 

  

 
�
P
0".."0��]
�

�
p�'?2#!"&5463&546?6'.676/&&546?6'.676/&��`�=@RA?S�>@RA@R��� �%"4./6%"4./6����94&++"&546;2+"&52+"&546;23265463�!p	0	
�8P	0	�	P8�
	0	p!	!��		�
P8�		0	��8P
		�!(	��B�3W%!!2#"&'&7#'.'4>7#"&=46;2!2'#54&+"#";;26=326=4&���
 ! �#
	FF

g
	�/t0		0		0		0		� #! !W

	-��(		(		(		(		��B�3F%!!2#"&'&7#'.'4>7#"&=46;2!2'#54+"#"?6&���
 ! �#
	FF

g
	�/y++DD� #! !W

	-��<<DD����<D%32#"'+".'#"&=463267'&6?546;546;232%7625�=,

X70�#7X

,>
F*
@
�
@
*��v
vK")

;!;

)"F
#�
(

(
�#
�X&&X����26:V%#!"&=467'&6;&5&54767>?6327/77475#"'0326762676�#��%
:@F

F@;
� 2�*2J,42.	�=#--$><!

1"		"1

!�x( �� (�������HWm2'"&547'+#"&7>767&+"&546;23'#"&=46;276;2+6267#"&?&#"%6&#"&/7>4KL64K-

TE,6KH2 8

8E�B		P&-

R ��(	Q)!//�0"1

22"+K46LK4;')-
*6M63H

( 		&*
 
7�K/B/L"2Q
R "0+���$@%"&54672654&'56&"&462"&=46;2732#+"&5pAO�ԖOA!3z�z=3M6%%6%�
&

@
v.(88(.	!!�%6%%6�
``
`

�����
)%3"/3727#'&"'&"#&6?62762@m��^9�$!w1:$f!$&n''n&�,��H		
%i(7		b�	
V(i%((''�� �!)32++"=#"=4;5.5462264&" ?1$$($$1?TxT�/B//B3N4($$(4N3<TTB//B/�� 2/"&46327'&63264&"tQTxTT<*#P�B//B/�OP#*<TTxTQ��/B//B�� �;C%32++"=#"=4;5.547&'&'&6;227676;2264&" ?1$$($$1?3&(
F
(&3�/B//B�3N4($$(4N3C+ /

/ +"B//B/����192/32++"=#"=4;5.546327'&63264&"tQ?1$$($$1?T<*#P�B//B/�OP#*3N((N3<TQ��/B//B����PX2/32++"=#"=4;5.547'/&?'&=4;276627'&63264&"�Q?1$$($$ 3			O	#T#P�B//B/�OP#*3N(((;"*#	O	Q��/B//B���!)W32++"=#"=4;5.5462264&"32++"=#"=4;5&'673264&#"&'632 ?1$$($$1?TxT�/B//B!$$($$"!//!"'2<T?3N4($$(4N3<TTB//B/�4($$(4/B/ T<3N���!N2"/"&46327'&63264&"%2"/#".'672654.#0"1677'&63T
1TxTT<*#0�B//B/�
1T<%?'!/B/%!0�O0#*<TTxT1��/B//BQO0#*<T";$!//!%!1��@�&HP2"/#"'673264&#"&'6327'&63232++"=#"=4;5.54264&"4
1T<2'"!//!"'2*#0�oxT?1$$($$1?oB//B/�O0#*<T /B/1@T<3N4($$(4N3<�/B//B��+32//"&54>327'&?67'&63264&"t			TxT'B'*#	�B//B/�O			#*<TT<'B'			��/B//B��!�,47"&47675#"&=46;5#"&?6+32+64&"�*TxT*(88('//B//�*xTTx*	(88(	�/B//B/0�P(0%&=#+"=#"&462354;2354664&"�		8(	*xTTx*	(�//B//�8(*TxT*(�/B//B/�� �+"=.5462264&" ?1(1?TxT�B//B/3N��N3<TT�/B//B0 P"264&2"&4�B//B/�xTTxT/B//BoTxTTx	���/7?OW_!"&=463!2&"264&"264!"&=463!2&"264&"264!"&=463!2&"264&"264�@

�
3NX�@

�
3NX�@

�
3N 
@

@
X�
@

@
X�
@

@
X����#+?%2++"&=#"&=46;546;2"&4622#!"&=46;27p		@	 	@		@	 	��jKKjK&7O��O7#L#�	 	@		@	 	@		@0KjKKjkO7**7O����#7%//&?'&?676"&4622#!"&=46;27N-..--..��jKKjK&7O��O7#L#�.--..-->KjKKjkO7**7O��+6"&462%2+"&=!+"&546;235463�B//B/.B	 	�	 		 	�	�/B//BQB.�		00		`		А	����'/##!"&?"&546;254&#!"3!26"264�N4?��?4NO1�2N0
��

0
�.!!.!`�'9229''99�p

p
6!.!!.����'7?G##!"&?"&546;254&+";26754&+";26"264$"264�N4?��?4NO1�2N�
h

h
�
h

h
((��((`�'9229''99�p

p

p

p
.(((( �`!%!!535#7232+#!"&=463!5 � �  

��` �@@�
�
�`�� �`!%!!535#7232+#!"&=463!5 � �  

�p�� �@@�
�
�`�� �`!%!!535#7232+#!"&=463#5 � �  

�� �@@�
�
�`�� �`!%!!535#7232+#!"&=463#5 � �  

��� �@@�
�
�`�� �`!!!535#7232+#!"&=463 � �  

� �@@�
�
���D�%#&/&546.j81
5W	w��Y	
�	�����H#"32+72#".'#"&=4632=#"=4;54".=4>32>32T$$T-.T$$T-.�0p(p1((0p(p1(���,8G32+"=!+"=4;#"=4;2!54;2+;2=4+"54++;2�(��((�(����@T
H�@��((@((���H
4��@�+]7+"=4;5#"=4;2!54;2+32+"=732+"=!+"=4;53;26=4&+5354;2+@44 44�4��4�
@

h4�4�44�4@�44H

@
H4����%"!"&5463!2+538
��

�
b
��
�
�

��7b�
���!2#!"&54633#!"&546;������0/��� �`0 �!/������47c%"&5054676762'3#"&505467>762'3'2#!"&=46;&'#"&=46;6232+KjK

<

�H��";#5K

<

ȐH		�`		�&�		�N�		�&p!//!<4&(59	��%/!<

(59	���	 		 	')	 	  	 	)������*02#2#!"&=463467.5"&=4634&"h

D55D

��

D5#7

=V=�

CkkC



Ck8O-

�@;UU;����*062#2#!"&=463467.5"&=463."65#h

D55D

��

D5#7


2<2
���

CkkC



Ck8O-

��$,,$""����*02#!"&=463467.5"&=463!2265#hD55D

��

D5#7

P
�V=��CkkC



Ck8O-



�U;;����*2#!"&=463467.5"&=463!2hD55D

��

D5#7

P
�CkkC



Ck8O-



���?2+"&=4/&=463254632354632354632346�

0�
p p
�t
d+B0�0/ ������72+"/&>54>32354>323546323546�

�}
!	 



@�q�!
,���ױ�W���-4635#"&46;5#"&46;5'.7>7>+"�  �в$�	
p�P	""(E
K@� ��@�$54/&+"&=46;2?6&+"&=463!2�p�
%|

�!
N� =G
%3	!
��t���P+"/&546324/&54>3232545'&54>3232?>32132?>32�D	8%6'l
=*	&3

8&	"/��#-%f9)(�
	}�
��	�{������-159%+"/&>46235462354623462#37#37#3� ��
!	 """"�XX�`��!
,�((a`````������+$2+"/&6?'&>354623546234�" �@K%$E("�P�p
	�$���   �`G2++"&=#"&=43+"/5#+"/#+"&76;236?6;2U6Ut
6		2		6A	+	+	A`+��+��
�6"UU6�(5 ����*%+5326"&462&'654+";26=3;26ۑΑ��+&jG		
,�8'Α�Α��O2Y
�

HS
����#'2+32#!"&=46;5#"&5463!P�		�`		������ 	 		 	 @�� ������+G!"=46;54;2354;232!2#!"&544+54+"#";;2=325��X0(�(0�L���H<(<<(< $4444$ ���<<(<<����+7!"=46;54;2354;232!2#!"&542=4+"3��X0(�(0�L���<� $4444$ ���((����+G!"=46;54;2354;232!2#!"&5476/&'&??6'��X0(�(0�L���
0			00			00			00			 $4444$ ���0			00			00			00			����+;!"=46;54;2354;232!2#!"&54'&'&?6��X0(�(0�L���Y	j.			R	�	 $4444$ ��`	j/	T�	���6#!"&546;276�
�0

p
���

�

�XD�� �	727"/2"&4724#"2546pxTTxT�&6(��!!�TxTTx6&(�����$9#!"&=46;546;23253+"&2#!"/&?6;53�+	�

�	 	�	�@	 	�

�	++	�@k,	
P
			�9pp		
P
	,,	  ��@�4?&576�����	�J8��?
0�@�����8����2+&=#"&5463�&&�}
`&&�&��&^T& &����'2"&454&+";26754&+";26�Α�Α�	0		0	p	0		0	��Α�η�		�		�		�		����2"&454&+";26�Α�ΑX	�		�	��Α�η�		�		����!)3#!"&535462#354&"264&"264&"``/!��!/`KjK��&4&�� ��!//! 5KK5  &&���@�*6BN%+#!"&/#"&=46;7>3'&>3254&"26754&"26'54&"26@

��

CkP�PkC
��p��
��

�mm��p

p

p

p

p

p
������CG+32++"&?#+"&?#"&?6;7#"&?6;76;2376;2327#�
OK
P
(b
)K
OK
P
(b
)K�c

�	(
V
	RV
	R	(
�	(
V
	RV
	R	���������-6"&462&"2642"&4264&"32+"&76�\BB\B\((�\BB\B\((h ��"	p�B\BB\^((�B\BB\^((��0
�
����G"264$2"&462"&46"264>."'&67673>'.56V�zz�z��Α�Α��pp�p�RHLH5	




	�z�zz���Α��Yp�pp�DM

/A.!!.A/����B#"/67'&/"&462&/&#".?5#"&=76;2|}~�?$$$ofB6

= ?��Ú
X<$$��'l�	
��P
_O		�7G7#76772+57#!"&5463!2'&+";2?3;2>74.+";26�		�/��`���9	$9	4	�-99.5�

1b_�� ��		T+�4����!3CS.676#"#'7232#"/&764'&?67/&764'&?6/&764'&?6a@-.?
@	 8  8 @�		_--
	%%	
&

;@��@
(
QZZQ
(�"V6�6
	-t-	7#X#
	B	��'/7?GOW_6"&4622"&42"&42"&42"&42"&42"&42"&42"&42"&42"&42"&4�%6%%6(6%%6%�6%%6%6%%6%��6%%6%�s%6%%6��s%6%%6��s%6%%6��S���8@H`d7"&5462"&54&"&2#"&4632654>54&""&542"&42"&4%"&54=.'.7>'7�/B/1�g?-FdFSmQ@
	Qf��"P"�!//!
�gI+	-?%&2FF2I�m�Do	�V�"P"������2At�&2#2#'&/&?6766766&#"32763&%.6767&'&>767'.7>7"'&63"&7>376"#32654&# !=+^C,:)
F
"(-+
%

	
p:)
F
"(	-+
	 !=+\C�

3

	!Y	!JZ9
	


A
4!JZ9

	


3

	!G�����8DQ7"&5462"&54&"&2#"&4632654>54&""&54%/&?6"/&?6�/B/1�g?-FdF�		W	W	��		�
		��!//!
�gI+	-?%&2FF2I�	W	W		��	�	�	������2?k46;5#"&546;5#"&546;5#"&746;'.>+"&7'&6767054/&'&6767'&6767'&676'&>[
>~��}�
	|PkI%		

�
={4	
N^
	_M
	g$Z
��.

#

0ZC	
cy
	zb
	�&����@�-E%&'#"/&'&767'&6?6632654&#"6"326591W+
��)w
}q<1W+
5(*Y��"P8*&�T+:
e	
��:��(fT+:
H
W�'38P	
=���� (/7W2&/76'&"&'&4757633#"&5:64&"3#&"264///#576;?�
	7�

P
"


b	
�`@
)			��`
				�
		
 	5[7	
TR;�	7�vI
!Z@�
			)�
@			

	&
R�7	K<���F#!"&547670>321&0#".'&'&2>767654'�`)||)B#G
G#	$FF$ Z		Z B3		32


2����'/D#32+32+#!"&5463!232&"26454&+"'#";26���@�4&&4&0'*
	�	
 @(@(0�0( &4&&4�"��@�+7CO2#!"&5463"26454&+"'#";26754+";2=4+";2=4+";2� �4&&4&0'*'
	�	
����������``&4&&4�""=HH����2"&4$"26427.#""'&#"�Α�ΑH44H4��94 ( 4��Α��14H44H��D!!����#72#!"&5463";264&#"26454&+"'#";26P��`		`		4&&4&0'*'
	�	
��`� 				�&4&&4�""��@�	+7?R2!5463!#!"&%;2=4+";2=4+";2=4+"&"264;26'.+"'#"��0@� `�������4&&4&�
�
"*��p0���HH�&4&&4�
�����3C#0#"&54754622654.'54&"37"&5475462� K55J 8P8`!/(%A%6%  `�%05KL50$�(88�h/!			��
		%P%%%�

������"C7"&54754627#0#"&54754624.'54&";26�%6%    K55J 8P8(%!/@%%%�

�0%05KL50$�(88(��			��
		%/�����"C7"&54754627#0#"&54754624.'54&";26�%6%    K55J 8P8(%!/@%%%i

i0%05KL50$�(88(��			��
		%/�����"C7"&54754627#0#"&54754624.'54&";26�%6%    K55J 8P8(%!/@%%%)

)0%05KL50$�(88(��			��
		%/�����;6"&4627#0#"&54754624.'54&";26�%6%%6E K55J 8P8(%!/[6%%6%%05KL50$�(88(��			��
		%/���'/7?GOW_gow�$2"&462"&4"&462"&462&2"&46"&462462"&2"&42"&462"&42"&42"&42"&42"&462"&47"/&4?&547'&#"#+"&5462632762)			)			7			)			7			�			@			 			i			)			7						7						I			&� 
	 	Ie#
. �			i			7			)			7			)			 			@						)			7						7						I			�� .
$��		/4M$
 ���I75!+"&=!+"&=&%2#!"&=46;5462662"/&47&7'&" � 	 	�	 	 �		� 		)9-#
i
@00+)				)�				�)
i
#,	�����+QY"'.542''&546'&'&7654&2&767>54.#"'.542"&4J�u.W=9R0;)%5��F8%,!+6Ig*$9E�6%%6%)U,,U�
+>=UQ9A,
()95%+�]BlN.5, gH-NlB]%6%%6���2#!"&546354#!"��`������`�TT��`%2#!"&=463��``  ���!)+54&+5463!2#!"&5463!24+"30/!� ��� D������!/0��� 04	���/?O_o�+"&546;2++53232++53232++53232++53232%3#"=#"=4;5473#"=#"=4;5473#"=#"=4;5473#"=#"=4;54���`********�********��`�N0f0f0f00`0`0`0�������%/&/"/+"&="/&4?5/.?/&?'.?>7'&/&6?'&?6'&>?65'&4?6546;2762?>76/76�!?5

 	
6?!"F@@F"!?6	 	6?!
"F@@Fg

G$N5
(		(
6N$G

%%

G$N5
(		(
5N$G

%%����	�'"/&4?&67>�(0$X%�	3	�
$1��*�1$
�	3	�%X$0����*<+"&?.5476227>56227562.>32+"&7�% 

@

,,,y,"*9

8�_"&7�

�*"_�G;����#VLB&
�0

����&2#"'&?632676&+"&=466CrC�g_G
	(0?FaeEB0*�
$G�BsCg�@	(*bEGc,*
�$E����	!-E!#!"&26=4&"26=4&"26=4&"%2#!"&=46;76;2 ���				`				`				@		�`		x	r	P���		�		�		�		�		�		�	 		 	

����:&#"+"&7>3276+"&73232>76;2#"'&=46s1B:[
9�ZcH$
��׆*1B&D0	
9�ZcH$;-G8		WsE$�
y*-!9%		WsE$�
����"0%"&54675#"=4;2+7654&+";2�z�zeKx8,			"�((�VzzVMu"(("	$			3b������1%&=#"&=46;546+"&=46;2+";2��

����T(88(TT

T��`
`
`��8(�(8(
�
���1!#"=4;26=4&+"=4;2'&=#"&=46;546�TT

TT(88W��

�(
�
(8(�(8��`
`
`����$276+"&?&'&3276#"&46dG$
�*0BEeaF?0(	
G_g���E$�
*,cGEb*(	@�Α���08DL%#!"&5467&546;&546;2654'6323232$"2646&+"26&264&"�#*��*#*&!/	(8&*����<8<%O(**(#*&/!8(&*#[x  `��@�!)4%#!"&546;3%#!"&5463!24&"2!5'&'&���/!������((D`X�( �!/PD((`0pX�(�����
!(/&?62'6&?6?6&5#75�.	o		.(<�	o		��z\
�

�$$ @2.		o	.<(		o	��z 
�

�h0@ $�����&?'762#���r
�9�9(c���
r)(9�9�����	'762&76?'/&?62�9�9(�US�Qr
Q�fw!v(9�9(TS�Q
rQ�fv
����732"/&6;4;2�.VV.8fVV.��M�37/&4?6!2#�VV.�.VV.8M�3%546&=!"=43:VV���.VV.8
����#"&?62++"5X.VV.8VV��������;%+"&?'+"&=467'&=46;27'&6;2/76�
p$kk$p
$kk$
p$kk$p
$kk$hp
$kk$
p$kk$p
$kk$
p$kk$����)#!"&546;46232&"26454+";2���P&4&P�H��P��`&&4d��M346&=#/&4?63zVV�VV�VV..VV.
����72"/&6;5#"&?62+�VV..VV.FVV�VV�����"&462#"?6&+54+"��Α�ΓGssG@'Α�Α�tsst����"&462'#54&6=32=4gΑ�Α�tsst8�Α�ΓGssG@����2"&43?6/&#"�Α�Α�tsst��Α�ΓGssG@����6462"75326/&;;2�Α�ΓGssG@YΑ�Α�tsst���4%2#!"&546;2+!54632/"/&4?'&63�	���		�@	X
$��$�	�`	 	��p	@
�$��$����##!"&5463!2#"?6=4&���`Xp �			� p��`$ �			� p
���+5463!546&=!"&2#!/&4?6
hPP��
�

��PP
0PP0�

0PP0����1%#!"&54674546326326&+54&+"#"7.K5��<T6*^B,J(8�A	0	Aj�$65KT</JB^,$8(ip		pj����1%#!"&546745463263226/&;;26=.K5��<T6*^B,J(8�jjA	0	�$65KT</JB^,$8(Njjp		p��@�#'#!7#3#3'!"'?3&�ZeE0E��E�PEee{G�C{e������� ����B������E�%"/&6;#"/&6;232:hh
@T8�
@8pp8
������E�++"&?6;#"&?62:
@
�8T@
hH��
8p��@�&2+"&=4&#"32#!"&=46;54i}Z
 
+*0����Y?P

P*+G��F@����.5462"&264&"�="
p�p
"=B//B/6#X$5"PppP"5$X#
�/B//B��`�0R232+"&=46;5.=46;26=463"&=462#";#";#";P	WA8		�		8AW		B19T	hP88P8UUUUUU	0Bc	"				"	iD(		*3NM80	�8(�(88(  (��@�#2+"&5463264&"74+";2�c�����`�� Y8����-27?DI%2+"=4;5#"/&54?6;2%2#!"&546334&#5265#264&"5"75#`@

��

@%%@�P88P8p%@@%�7
X�
��

@
��%�%�B\BB\b@%�@%������
(%67#"/&?6'&?667'&?6Py�p�
��	

a<0heC>Wh0�

�

	��$%2p������+2#!"&5463"26454&+"'#";26P���4&&4&0'*'
	�	
��`��&4&&4�""����� 76&7>.'/&4�4PL20#	.6"��

P	)B,,U2&
X
�����'.54>?62>7'�.=9*M@'	�Kc�l?sSC)C_�G
P�F%�lJ����#2#!"&5463264&"74#!"3!2�������H��`�� Y8����@�
&.BLT2#!"'&54%"32?4761.264&"6264&"%6.'&3654'73264&#"264&"��'	�D	' 		
			�C
=#	n	L


.��wNCCNwi		

���5
		�%�@�/!!$3#!"&=264&#5463!2"'4&#!"3!265�@���� �L
��

P
 �t(``(``8

�

���$"&4622#!"&=46;27<xTTxT5K�`K57#L#�TxTTxtK55K���+2#!"&5463'76/&'&??6��`LCC		(		BB		(		CC		(		BB		(	���`��BB		(		CC		(		BB		(		CC		(	������'?'&6;2//&+"&=4676c!p
c�c!p
cc
p!cbc
p!c����(7+"&=4676?'&6;2//&�]!p
]]!p]�]
p!]k]p!]���� &,%#"'67'&477&'6267&'%6'77&7p!HddH 66 H�H 67���T'FF'!D�D!&FF&!D�D"MM
CC�MM
BD����
 &+'6'676'7&'%'67%&'667�*N5i.9S?��N7M
<.�4b�.8S?^N7M
��.�4b�*N5�M7N,�.Fb4"N*E�.�?S,.Fb4"N*E�.�?S�M7N,����2"&4264&"6264&"264&"�Α�Αk`��Α��'Z����;Ss{�7'&546;5#"=4;54;232+3232+#65#"&=463+"&=4?546;27'&=4;2354;2354;2#7354&"+"&=4?546;2J"	99	"
		�		�		�			�	t6~/ 		w		�			�	�Z	  	Z		A??A		�
		
		�
;;
RP  		�
		
		��@�#37467.546;22?#5&2#!"&=463G*
@
&!ld8�8(		��		�5�"

=le<+C,,]	 		 	 ���#'+/37;?CGKOSW[_cgkosw{#53#7#53#'3##53#5#5#535#5353#5353#53353%3##53533#753'533#%3##5353'#5373#3#'#553%#53#@�@@�@�@@�@@�@�@��@�@@@@�@@@@��@�@�@��@@@@@@@�@@�@@@@@@�@@�@@�@�@@�@@�@@@@@��@@@@�@@@@�@@�@�@@@@@�@@�@@@�@@@@��@@@@@@�@@�@@�@�@@�@@�@@@@@��@@�@@@�@�@@@@@�@@�@����5!2#!"&=4632!'&546;5#"=4;54;232+�		��		p
J��J
�((0((	 		 	 
��
00((00������%-=7&=4?'&54;2!546?6=#"'4"2642#!"&=463	�Oq��9
	(		��		��
	pP�&

2���	 		 	��@�#37.546232+#6=#"&=4632#!"&=463i=V=		�		�		��		�/+==+/	 	P++P	 	�	 		 	�����I"&4622#!"&=463!'&54?6323>546;232>76;23276.!!.!x		��		�f��f
''
P!.!!.��	 		 	��	




����#+;2!65'546;23546;23546354&"2#!"&=463p	@
��
@	8	0	P	0	X�		��		�	� VJJV �		00		00	��@

@�	 		 	����/S2+"&=#"=4;54632++"&546;2'2+"&=#+"&546;235463h

0

@
0

0
�

0
�
0

0
�
`
��

h0h
�0h



h�
�p

��

�

��
����
Q'&'&'&'>7'&'&'&??6/7?6/7?6/76/&�
�63�4
�63�g��gf�45��[45��o��o�T����#-8B73+"+"=4&+"&%#.54622654''4''32674''326`�

(

@$�-5z�z�H
@ 


�5,&]7Vzz�/

M�<62"'67"&5�Ԗ�Ԗ7��7�Ԗ�P88P8((n(88(����#5%/6?6&67>32"&54>'7>76W
�65_<Q	"..C.�
�";V"�
�m($*
 pJ�/B//!A
�+m7+�	���!!�@����	�
'%&'762&/"/&4?'.72"&4�0q"�8?�?/�)$Y5g#	>P88P8� /�8??/��$g5Y#Q"�8P88P������	%-;7&'>7'&67&'&'667&'67#"'6#"16&�5K$`D$>_GE#�70Z0344�LS)(F�>!3v�E[F;
�0K*,-'�!c=#.Gr 2Oc?Q�&��]2�U(
1)+,GR;$/�D_5E�������:BJRZbjr2+"/&>5462;2=462;2=462;2=4264&"6264&"264&"6264&"264&"264&"6264&"��}
!	�							I							I			)			)			P
�q�!
!�

��

��

�H
��			W			�			W			)			I			w			 �`	'/746;#"&52+!&"264"264&"264"264&``&@&&`��Fn &��&&�&@��@���RnR���	0#532'#617>3!#!"&5����3c�`�
!������@�)>%2+"&=46;75%"&=46;7532#2+"&=46;750		�		P  ��		P  P		�		�		P  �	�		�	``@	�	``	�	@	�		�	``���92#!"&546;546;2'3554+54+"#";;2=32��`P��� 808808@�� 00   �088088����
"&5462654'�Ukk�kj,T6``�M�:^vv^:���5*8ii8*��G�%/%#"/&'"&=46326763254&"7'&#"+'$<"�B\BB.-@
$<"��(#RA�']1�
�.BB.�.B>,!1�pp-:]	)����-2#!"&546;462&"2646/&'&7P��P&4&6a			j.			R	���`&&�	j/	T����%-5AMY2#!"&546;462264&"6264&"6264&"6"26454+";2=4+";2=4+";2P��P&4&��h���������`&&��RR���hh����3;CK[$"&462&"&462'&67676563267'&'#5&$"264&"264&"&4622#!"&=463�			�H44H4��7VJ<E /

27�81
7n�			�		��		�			G4H44H�	
 #
	[[n			�	 		 	������<AGM>7.'&6;2!676;23&'67+"'&'!+"&67#7!36!&'# B--B 
 8 

*M1,"
 *9
 �� 
�$����	��
�./DIID/

(?9@$Z8		h����B�5=%'&>?7'76&'.'&7#"&=46;276264&"&5>!=!=<���D-+,\Y		pd-���((��cc�5)G,8,7#	 	��$G�((����B7"&546;7532#2+"&547#"&547#"&5#"&=46;2�		�00�		 		S(�(S	0		`	�		�  �	�	@	 				p	 		������6#532;#!"&546;4+54+"#";;2=325y�
7
�
��

�@808808W
��
��

�
��88088����/8;#!"&=32?3264&+'&"'&+"=4;546;#532 
�
��
F#
9Z		F#
9�8
ș�
8
��

�Fr,		Fr(�
i
���@�	
)346;#"&5!%;;2=32=4+54+"#"%2+00�@�808808P0p�@0��@�088088������@�%1=Ieq}2#!"&546;546;254+";2=4+";254+";2=4+";2754+54+"#";;2=3254+";2=4+";2 
	��	
�
�
�((((�((((�((((`
��		p
@

@��((�((t((�((���((�((���#2"&454+"#54+";2=3;2�Ԗ�Ԗp0`00`0��Ԗ����XX�XX��@�.82#!"&546;35"26426'.+"'#"3#546;2� ��F4&&4&
"*
��
@
���```�&4&&4�


�``
����9E2#!"&546;462&"26454+54+"#";;2=32=4+";2P��P&4&6H808808�����`&&��088088�����8<@7"&=46;7532##32#!"&=46;5#"&=463!25#!5#�		p@@p		�00		��		00		`		������	�	�  �	�	�@	 		 	@	 		 	@@@@@��D�'2"&=454&"7.7>/&76B\BB\B�(��/vT"�S	#�/�B.�.BB.�.�pp�#	Sv/7Tv/�"����!15!#!"&=32=4+532=4+532=4#72#!"&=463 @
�
xxxxx�

��

@��

@@@�
0

0
����52#!"&=463!#!"&7;;2=32=4+54+"#"h

��

@
�
@808808�
0

0
� `��
�088088����#?G%2+"&=!+"&546;235463'"=4;276232+'"/"&462.B	 	�	 		 	�	��2f		z2L4&&4&�B.�		00		`		�	�(c		7		,c		7�&4&&4����IQY^%2+"&5#"&=32=4+"=4;2=4+"=4;2=4#!"=4;5463!232264&"264&"75'#p		08P8�8P8�������8,d�,((\((�d,`	 	(88((88(�00dlp((((�dp����#37NZ%2+"=43+"=4&'&=4;22#!"&=4635#+"=4'&=4;22+"=43x0).0$0p		��`�0$<0X0`��	W1&B%>>��	�	@p@@B9!,*AB>,��������>7//&?'&??6/7?6'7//&?67'&?6�@��&@BC87-8�-I"�"9-A��CB@&87.8�-J"�"8-������$.2#!"&562#".'463/&76.76dx[	��	/	[<7*T	#�/F�/vT	#M::c:M$1kTv/�#F�#	Tv/�����(#"&4?57?6/7?6/7?6/7>�#�dYY-22-22-23.M�!R�YYe.32.32.32.������/#"'&6?'&?67'�"�+/�"FO�"�$ R�"�EO�����';?"=4;2+"&=3352#!"&=463"=4;2+"&=335H�/B/0@�		��		X�/B/0@�00�!//!�``��	 		 	�00�!//!�``����#A%2#!"=432#!"=43%2#!"5743%+"=4&#!"+"547%62���p��p���P��P`00`00�00� ���

�W q���!22#!"&546;2654'"&462'"2654'76.�&&��&&q�qd�^^�^�""�&��&&@&-3OqqO3-�^�^^�:O����3}62"&4"&4622#!"&=4632#!"&=46;!'54+532=4+54+"#";#";#";#"26=3264&+532=4+532�			�			�		��		`		��		0`�hhhh��hh@(@(@hh�@						�	 		 	�@	 		 	`���    ((  ������"-%2?/.=32?7/76!6/.7��
��
�@@��\����\��'�66�'kkp8� 

 �8�����$,2#"'#"&'&>7&54264&"264&"264&"�Ԗ�j83AL9s���z�z319JVv������$747#"'#"&767&'&?6632@	E&(83AL,9:
��	

iI`j�9��
3
4+9�

�

	R5zVH:��974&+463!2#"!%2+"&=!+"&=&546;2!5463�& 8(@(8 &���& 	@	��	@	 & 
�
�&(88(&@`&$y				y$&
``
���Fh$"&462'+"&;26=>54&/&546;2?6&'&'54&+"2#!"&=46;#"3!2=4+67V�zz�z�"?
&
	
">
'

�

�@

 +?

l

@, z�zz��$!




$!



��
`

`
''�����	)1&'67673+#&'&6?&'&54762546264&" N5 
,pp ^BMA
k.�U}N/			;1%
E8K@�B^8H$Qh=7	
EX<!/`			��A�%%#!"&=46;76;2+";2?625���		7/ *�N		v]	x
	y	`	&		J��A�8%'&6767>"#!"&=46;76;2+";2?62m=<m���		7/ *�N		v]	�rHHrH
	y	`	&		J��A�En.'&67546;2'&+"+"&=&'&5474?6;254'#!"&=46;76;2+";2?62 

	$	6
 
	$	����		7/ *�
N		v]	0%			%		�

y	`	&
		J��A�1$"&54762#!"&=46;76;2+";2?62HP8SS����		7/ *�N		v]	�7',pp,'
	y	`	&		J����"E7+"'&/&=4622?6/&>$2+"&=4?>2?54�9	�i
Z
&�
i�	9&

Z�M"+p		�
�

�l
	3�
�
�		p+"M
3	
l�
������%@2+++&/&6?54?26=%54&+"&=4?6;76�


&�gPPA*<*,P!�"!gg
0
@
&<�.0$'z**8%.!X~	
<�����5++"&=47'#"&7>7#6;5#462#327#4'
	�		�
�	
.C)>t0pQ^Qp0t>?X
��		
��
$A,Dl��RnnR��lDT������en"&462"&462#"/?#"#.?6?'#&/&/"#"&/&?676546;2?676.7�((d((N)
C
	


+3�3+



C$
	�	
#��)`((((�pE.d L]
\1G
!!
G1\]L P 
'"
`		`
"'
 �.E
����@�CKZ%2++"&=#+"&=.5#"&7>32+";>;26;264&"'"4&54621&#0		1
	@	�	@	("
+X:�, 
i			�8P8�	�	
Q		00		Q'0&	7I"L@			�(88(������)?/.%'.4>?6762'67&"uO[D	�	E
�
,
"k
,"O4!Z!�Xf#	II@&W;���&.;C%2#!673264&+"&46;&5462#"3"2642.54264&"�(88(���

`(88(--8P80`

m�xP80 5S�8P8!8P8@ (88(P�8(P&V(H���2+"&="&5%3&'>@]�	 	]��@tU+)2;`�]�		��]@V�	=/*���#'2#!+"&5#"&=46;546;25!�		��	 	0		0	 	 @�	 	��		p	 	0		0��������"/<62"4&"276'.#"?62&276&"�Α��7�

%
&�-�-

#nYΑ�Α						o66*����!2"&42#!"&462&264&"�4&&4&�		�p]����C�P88P8&4&&4�	 	����]^B@8P88P������)17'&>?7'72&!#"&'/&7%46264&"21M>M2�LB.-A�w
Z�((H�\]�:~�p.B?-l.^D
�@((����)19?G%+"&547##"'#"&5463!232264&"264&"%3'&#264&"m	/B/�/!((!/
�
&��0\+�V	!//!!/  /!P

`��0+�������&/'&?632576%5#!"&z

���%	

N� n"��n
��

	�!

	=��K�
���
����%�2+"546;5.?4>;2��(4@�	@4uW7��7Wu������!'&?6>323!"&=46z
��	

�M2<T!�0���O


�

	i/=T<0&3�
7O����.6RZb7"&=46;>3232+"&'7;26=4&+"/?+54&+"#"&=46722"&4&2#54@		P0.%			P`P8(0(8�H$$$$�3EP
�
PE30p			W	 �	`	+5$	`	+55+X(88(Y$$$�L3
@

@
3L`					00����+$"&4622#!"&=46;27%/&?676jKKjK&7O��O7#L#T	�	Q			-i	�KjKKjkO7**7O��	R			-h	����+3$2"&454+54+";2'!"&=46;2732&"&462�xTTxT�
&


<
�(#��O7#L#
+jKKjK�TxTTxB
6

L
,L*7O&HKjKKj����;CKv%/'&=&''&'&?&7'&767667547676264&"&"&462#!"&=46;2732332?b
!!

!!
�((�jKKjKI��O7#L#


	K    0((tKjKKj��
*7O

'����$/$"&4622!"&=46;277&7%'?62jKKjK&;)N��O7#L#>�G�=*H%�KjKKjk.M=
*7O��G��*H&����#76"&4622#!"&=46;27$"&4622+46=4'6;27�\BB\B#0C��C0	!F!P88P80.B�(*�B\BB\bC00C 8P88PXB.'9+����:%#!"&=467&4?6"&547'+"&?&5475?6K��K6_���`KjKB*M6

6M_P..5KK55
>	>
;����4<D$"&462!"&=46;32730%2+"&=46;5462264&"754&"jKKjK 	��O7#&&# 

�

 /B/]@�KjKKj��*7O
�

�
P!//!P�}P

P����+%2+"&=463"&4622#!"&=46;27p		�		�jKKjK&7O��O7#L#�	 		 	0KjKKjkO7**7O����%-%#!"&=467'47&52>32#"&'7"34&#E4G��G4e�++1#5KK5,Cg
�
�L4**4Lf�33(KjK5)`

����7%'.54?6>7'&"&462#!"&=46;273230n$"5Ps!;`�jKKjK 7,	
��O7#L#�$@/&sN-�N:&KjKKjsDm#*7O������!'&?6>324>7!"&5z
��	

�#8!5K0&��3��


�

	r 6K5)B
� 9%�����+@%"/&=46;22>4.#"'".54632#!"&=46;2732w	
\		[O\
�#;"K5#;"KK:��O7#L#S		]		[O
E
X";#5K";#5Ko(:*7O����$"&462#!"&=4677'3jKKjK 5K��K50  `  �KjKKjlN5**5N��88�����;CKb��%/'&=&''&'&?&7'&767667547676264&"$"&462"&5462"'&#""#"&=46;323630#3273'#"&=46;2b
!!

!!
�((��4&&4&�.BA]B	

f�D/	!##
�(B
&@k    0((t&4&&4FB..BB."�


0C '	�:#
 &������*BE[^!2+"&5&'&/&6?&5463276%#"&505467>762'3'1"&50546767623'		�	�
�/!.v
�  ";#5K


<
SȐH��
KjK

<f�H	 		W0+!/(',!�ِ%/!<�
�j(59	!//!<4&��������+>AWZ46;&/.?>632/+"&5'054676762"&73'0546767621"&73'`	� �
v.!/�
�	�	`

<
SKjK8�H

<

KjK8�H	'!,'(/!+0��		�	96(�!//1���	95(&4<!//1����;?%2#!"&=463264&"";#";#";!'#"&=463!3'#�%
��
%sH���ri�	g��QQF@% 

 %`�@@@`�@����@�"6#.5476'&'"&546
�OM{O�
����'	l	//	��	'R	����$9Kil"'&476;2#'+"'&476;2%+".7>&'&>;22+"&764'&63&/#/.7&54>23'�"		_		#
#		#		#y"		R�1�1�"p`06
,
�4]+	9|9	9|9	)[6@6
,
d��
vv
:�t����)%/6?6&67>3%'7>76W
�65_<Q�	�";V"�
�m)$*
 pJ�
	�+m6+�	����
!#463!2#2#!"&=463!53`@�@P		��		����x��`��	 		 	@@������472+"&54632276&"&4622+&'3533!&#5463�/A�A/(P88P8P�	L�@��!`B//B 8P88P��&@@ 2.����-6?%#54&"#54?5#"&=46;546;232+4?#"&5%+5�`%6%`p0		0	 	0		0��mp	m	p�	�`%%`�	D3	 	0		0	 	3�/�	�d	����	(085 7"&5"&46232>7"&5%567$2"&4&'67==q�q��qq�q�h:&H>q�q�?!#���pp�p�0n37++++&&@&4&&4�4&&)?+	�/B//B	"%+����2"&44635"264&"62"&4�Α�ΑX^BOq�P88P8S��Α��gB^ qO`8P88PH����)12/"#"+/#&54754632264&" (8`M=),'&,ayt/!'J�%PAepxhx=	%!/ H����;!2#!"&=4632#"'!'#"&4626?&5462?&54		�`		�(H��H(HR(RH	 		 	@(��(

+��+

����(08@HP2+"&=7>'264&"'"/&4?62264&"264&"6264&"6264&"264&"P��	
�(��(����.�1��(��(���rr�����'/72#!"&5463264&"6264&"264&"264&"6264&"�%%��%%3ss�%��%%@%���ss�����'/2#!"&5463264&"6264&"264&"6264&"�%%��%%3��%��%%@%���������2#!"&5463264&"�%%��%%��%��%%@%�����'/7?2#!"&5463264&"6264&"6264&"264&"6264&"6264&"�%%��%%3��%��%%@%��MM�MM����'2#!"&5463264&"264&"264&"�%%��%%3ss�%��%%@%�ss����2#!"&5463264&"264&"�%%��%%3��%��%%@%������62"&46"&4622#!"&=463�6%%6%[6%%6%�

��

`%6%%6�%6%%6U
 

 
����!!2#!"&=46;463!2&264&"p		��		p m	 		 	��s�����"*!2+#5326!"&=46;467264&"p		�`p���		P
�	 	�@����!	 	m�0�P%2#!"&=463%2#!"&=463�

��

�

��

�
 

 
�
 

 
���"33&'"&476&&67>7>�'
!�b'�bGE:B�)!.,_Q�'g9,'1B�5t*"-,!����@�8@32+'6.'&"?632#!"&54>7>2264&"�:)�b6
	Zw	F#
 #& #O
	��&5HX0,:,S_#"Vi
	~,
	B0
	%1]L<%%%C���@D!2#!"&=463'.=4&+!46;23226=.='&4?625#P		��		�/!%��&�&$4&��	 		 	U� +,p`&&�4$ 

�>&�����@�CP]%+"&/#+"&=4?>/&6323632'&'&&/&6?67&#";26%5&#";26>C0%.B$B.%0C-
C$'));7J7;))'$C
��##%$%6$%##%�F/C=,'',=C/F�&%
	��	
%&��)

%%

)������%&/&6?'.?>n��	��
	�"	�	ff
	����(.?>&/&6?2#!"&=4637

.��

��

�p

T
xx
D�
0

0
������&,>%"/&6;235#"&=463!2+2#'3.#!"&=463!260
V� 	(+а		�		�]�
�}#4�!#��		F
@
s@l:@	 		 	@�]
�|4#��	 	 �`)2#"'#"&4632627&#"!2>54&#"�FccFQFFQFccFQFF�////!+L+///`^�^OO^�^OO�@@&
&@@����@�4@D%"#"/#"+"&=#"'+"&=.54>76;2264&#"5@
JLL				,4$0	TFCP
.Ew
	h��1	;		16		JY4)D&
0.=K	
�c	����%'%&=47%6m
	��3	�Z
	�"	�	f����&7&=47%6'2#!"&=4637.


��

D

�p

�xDD
B
0

0
�� $H!5>4&'5463!25#35#35#5!#54&"#54&"#54&"#54&"���
@
�`@�@�@�`�@		�		�		�		=	cc#

��������``







������5U'&?65462#";#";#36=46;22+"&=46;5.=7z	
��	
�8P8UUUUU),		L		�		8AW4
<)2


	�

	�-(88(   0		0*&�				"	iD)(9'"����&,4:@#"'&#"#"'&54632326322>7&.#6264&"575&'m	+1>�>?5
+1>�>?��$"%�B//B/` ���	
>=
>d=��$8P88PT:�1
#����&#"'&#"#"'&5463232632264&"m	+1>�>?5
+1>�>?��B//B/���	
>=
>��8P88P����	%1=G1!#!"&%;26=4&+";2=4+"%3!2=4#!";2=4+"2!5463�
��
�	`		`	pp��0����0	��	@��
� 		 		Xh@	00	����KWco2#!"&54632>54&/&546;2?6'&'54+"+"'&;25754+";2754+";2=4#!"3!2`

��

�	-	-	�pp�PP���
��

�
��	



 h����3%#32+/&?#"&=46;7#"&=463!7632�bK�

�S	

37

�K�

R


4
�`
 
j		
C
 
`
 
j		
C
 
�����%-56+".7>264&"6264&"6264&"264&"�P�U&P&(/hP)
n/3���=N&@";*P}CJm��m-S����"*2#!"&5463264&+";26=72+5����(88(`		 	0

0���`��8P8	�		0�@����"&462"&467"/&4762�%6%%6%�%%6%%F

��





%%%6%%�%6%%6%�

��





����$4%2+"&=4633#"'#"&=46;2%2+"&=463�

�

@��@$I`

�
�

�

�
�

�
  @0p �
�

�

�
����%1=I6/"/"/&54676276254+";2=4+";2=4+";2f&6
66
6&&6
66
6�������	
� 
	------	
�
	-----��hh������	"*.2:>H73#"&=46%#!"&54>;5462324&"2#37#364&"2#37+532   

&��&%pp!/��""@@`@@h""@@�
  
�
�
0��&&%@

@/�""X   �""X ��
�������7&/&6??6/7?6/7?6/7?6/7?6/76|�PE<
<87<<77<
;E���'ef/0ff/0ff'���#G7&546;2#";#";#"32#!"'73;2=3;2=3;2=��
`
88888x

�@�)@@�)��

 @@@
`
�888888@@@72#!"&=46;;2=3;2=3;2=3;2=3;2= 

�

0@@@@@
�

�
XXXXXXXXXX���/73+"&546;2#";#";#";#"�X
�

�
XXXXXXX @

�

@@@@����	/7A546;#"&52+"=4;27#54&+"#4?62264&"%2+
@P	h0��	`	��3B//B/p
	P�
��	@@(@
���		�u
k�/B//B
��	@���	#.'7562"/&47�@`>SS�>+u5�@�SS>�+>u5����!4"&46;46;#"%2'&/52>76#"'.#57676�%% �%  ,IfHM-4#-:+0�MH2N/80+:-#3 %6%���6%��2.&B

�	 B&, 	�
���*2:2+54+"#54+"#"&?6'.54264&"264&"�Ԗ*	N@N		,2�4&&4&�4&&4&��]"A6B8888B Z4]�&4&&4&&4&&4���	/J7546;#"&2"&427735654&#"32+'2+"'.#".'46;2`	`v	6Ԗ�Ԗ=2��$q| 3$qO=2|�		#,#�@	`	7�Ԗ���$2=Oq�  o2=Oq$|	@	���t�3#"'"'"'#"'.?63!22767#!".=327!5Z&/,XX-/&A	�				
�@					
�I(Z!!!!!!Z(h���
		�dd������
%%53#!"&53%#!"&?63!23+"&@@
�
@�
��U	�	%@	 	@��

��""����		���/"&=463!2#2#!"&=4632#!"&=463		�		@		�`		`		�`		@	@		@	P	@		@	�	@		@	�����7'7'772"&464/76/&'7?6/76/&'&'76/&'&'76/&'&?'&?'&??6/7??6/7??6/76/&'77'7�---�-------jԖ�Ԗ�.""--"!-.""--"!-�---�---D---�---q�Ԗ�Ԓ-"!-.""--"!-.""-3---���+/M%#54&+"#54&+"#54?6;546;232'5#53#!"&=3;26=3;26�	�	 	�	 	�	.	
3�3
	����
�@
�	 	�	 	�	
S				S
	.	PP		@@�`

`				������%/&#!"&=4&&/&6?267w9
9
�
99�?L?`
r		�

�		r
`��C�:I"&462/&/&/&/&?.?67>327"&4?6�((.		-
<"	#8	�(	;
	2
`((�E2Y


JB"<	 	*"�4
,"	<	
2	���$2#!"&5463!2#!"3264&"��s%%p	��		C@�%@%			�����$6O2"&42654':12764./&>'&"67627>'.3232654'�Α�Α�P
�b FbP
��Α��W


	�&&�

	��@�"2!2+"&=4&"+"&=46;!2#!"&=4630		�	8P8	�				��			 		�(88(�		 	`���	 		 		����	#:BJ%6?#&''#>#6&'37.'#!"&5463!2"2645!"3>-''-V
."'--'L
�

��)77)F�jKKjK ��
�1) )#*)1�1))*#�	4
	7)@)7&KjKKj��@������,x�7327/"&?#'&/32767672>367'&"&'.'&'.'&764'&7>76767676276&2654.#"a4%4	
.
	!
	4%4	
J
		
	

	

�7N7+'U
�&p
Y&�



	
	

	�P88(,����-2#!"/&4?63'76/&'&??6@%%���		�>>>>>>>>�%�%�

��>>>>>>>>����'7M]2+"&=463#>7##"&46322+"&=4632#"&'##&'6=3>2+"&=463p

`

@629*P
%% %

`

%% P*926U 

`

�
`

`
8H'?0O	
%6%�
`

`
%6%O0?'H��
`

`
����1;#"'&54675#"&=46;2+7'&?6/'!&/5#.�&4,		�		'	4	+�%%`@!,34Y�	 
	 
�'	4	+.53,!�''
������	#2!54635!+"&=#"&"264`
��
 �%@%6%@%��
��
��  %@%%@%M���4@HR\d2+++"&=#+"&="&=#"&=46;5462%;2=4+"264&"75#";26=4&+264&"�


 
�
 



�������=�p

�p

ps@
P
� 

  

 
�
P
0".."08��]�
`

`
�������[%#"##"'&'+"=#"'&767"#"'&4767.'4546320454>762>7632�		<I		%((%		I<		 ,+	"S!!	
!S"+-X	@@		!V#

)5p(
.0F!)
	#V!	�����'"/&4?62762'&?62762"����(o���p-
7�
-����(p��p-7�-�����@�-2+"546;5'&63!22#"'73264&#"#>(�8�n��<TT<(#$(88(,
4J}��}�TxT$	8P8+5�)!4675#"&=46;2+2#!"&=463 Rn�@nR		`		�		� 		=~TT~				��	 		 	���'/7%/&/&/&54?6?6264&"6264&"264&"�$&E'*M*7$&E'*M*7��3��*'E&$7+L
 E&$7+������&.6%/&/&/&54?6?63264&"6264&"264&"�#&E'*M*7$&E&*J5J��3��*&E&$7+L
 E&$4J5Jq�����1%2++"&5#5323#"&5#"&=46;546;2�

(
0
��
���
(

(
0
`
0
(

H`
�H��`

0
(
 �`'3?K[g2#!"&546354+";2';2=4+";2=4+";2=4+";2=4+"754&+";2654+";2`

��

���@@@(	�		�	��`
�


�H00		0		y����!)A2"&4>/7>.'&7264&"7'76.'&?>�Α�Α�
c4&&4&���Α��>
�&4&&4����@H%/67#"'".5'7&'&6?67&5462'0"0"132676&"264�767,RL\142G6G!	D8P84#03C#"9d
�h`:_~)= {:|"

v(88(Y$
Xt7/

����3N54&"54&"&'54&"&=4>3276322654.'#"/&54?&#"�QH4<<4H0>R-97n		�Vz'v		IVz8_F9�. f

wh

hw

f .�-

G
	�%
M
/&��@� *62"&=46/627.#"75&"26>54&'���8DF;<<"} @ &4&/&:!D8�K5�5KK5�5S,
&&

�

&&m&
,���!33#"&476&67>	-jQ�e:K? 9�2D[OV,�}n5119�."3W8.����)T];#!"&546;;2=4+";2=4+""'.'&"+";26?212?62;264&##532�
�
��

ȠPPPP�	+"		
/		I�
8
��

�
HH�	)6		2
			
�����'0;#!"&546;6&+54&+"#"27#532�
�
��

�LA	 	A`��
8
��

�
��P		P`R
���G�3#532&=#53546;#!"&546;;#"��
b�`@@��	�
��

�
��	F�b�`A@A|	�

�
�
�	���	373#"&=46%#532;#!"&=3?6/&#46;pp		��
7
�
��
�``�
Ƞ@	 	�
��
��

�A``A
����*6BR%#5%#532;#!"&546;;2=4+";2=4+"54+";254&+";265 ��
7
�
��

ȠPPPPPP	�		�	�@@�
��
��

�
HH���		`		����&2m#532;#!"&546;;2=4+";2=4+">54./&546;2?6'&'54+"+"'&;25y�
7
�
��

ȠPPPP�	-	-	W
��
��

�
HX��





����;CL;#!"&546;&'654&+";26=3??6/76/#5327#532�
�
��

�E!!%P			;�00		ɀ
b8
��

�
��!&%	�		0;7 		��b��A�7@EO7;#!"&546;;&'.'&"+";26??62#5327#%'762��
��

�
��	+"		��
b`�D�ED
(

�
�
/R	)6		2

(�b�D��D����'0;#!"&546;26/&";;26=7#532�
�
��

�A``A	 	��
8
��

�
��``P		P�
����&%"/&4?'&?67627'"/�		�Pu_VVR		[1�;;		;Q�		�uP_VVR		��0�;;		;R
��@�
"1%"&546?"/&4?'&?67627'"/@%6% 		�Pu_VVR		[1�;;		;Q�]#%%@		�uP_VVR		��0�;;		;R
�����
-A\n�62#"&76'47'.76'4&'".76'&6&'.76'&767'.76'.'".676#"&54'&676'&'.#&#0#"&=&762�+>		";I		
(�Lm

Q9		



'"&(X<9

GKl>60�
rn	ik
`<*MK	
GH  ML	
FI)<
#.><	
79?1:kJ
65
897O
z,
	'
V		<9R
fHJ*�� @`$2#"&'&?'&6>264&#"G0a@((@a0>p&X	
W&p�		`)7337)<*B
nn
B*<�	
����'/$2"&4&2"&462"&4264&"24+"36264&"N�Α�ΑP*<**<���<**<*�ΑΑ��)<**<*�  h*<**<����'2"&4264&"6'.#"7626264&"�Α�Α��	
=("
	14)��Α��*�	"
	������32+"546;5'&63!2!!��8�8��J��0����**0����j2"&446;.'+";2;2/&+";232?676?6?6=4&+"/&6?63232?65�Α�Α�	Y;		Z
	/
 	
	
	��Α��G	:R				 	
	
����_n2"&4654/&+.#"/&54?632;26/&54?6;2?6/&?6//2?676767654'�Α�ΑJ		
C	
	
G 	
	
_
��Α���
			


		G&
	
			 
	
/d/*����8m2"&4762;2=4/&4?&#"32?6;26=4/&?63254/&=4+"+"/&+";237632;2?6�Α�Α�	3Su>
		�'

	��Α��_N
	&
uS-			f



	
����!%)-15=DK2"&45#375#"6264&"5#75#5#75#5#75#6264&"5#326=4&+�Α�Α�(

 5000p000p000`(

��Α��(
8(
��((8((8((8((8((8((h�(%
(����&2"&4"264&"2642676&"'&�Α�ΑU�`Y
	/�/
��Α���6'	
'����#22"&4%2767&'&"2767&'&"2676&"'&�Α�Α8�+`Y
	/�/
��Α��!"		!"		!"		!"	��6'	
'����+92"&4$"?626'&'"?626'.2676&"'&�Α�Α[&#
&
	
�#
&
	
`Y
	/�/	
��Α��)))��6'		'����-AP"&5476227"&4632&"?626'&'"?626'.2676&"'&�(**0	�Α�gJ>/L&#
&
	
�#
&
	
`Y
	/�/
@77<03g��Α)!.)))��6'	
'����':2"&4?6&'&'&2676&"'&%>'.'.7�Α�ΑZFi`Y
	/�/	
	��Α��F

��6'		'�	
F����#12"&46/764.?64/&2676&"'&�Α�ΑP!!�!!PPX`Y
	/�/	
��Α��-0((	((00��6'		'�����/<JZ"&767622"&47667'676&&>'?6&/.?6.>'&26�*��)!)y�G!)y�G�	Z

4]Z

4�"k,<@PH)��H)
G�y) G�y) ([
4
�

Z`"a$,k���� .G2"&4?6/76&/&"2676&"'&%6&/&"?6/�Α�Α_#
F`Y
	/�/	
'#
#��Α��	##	  ��6'		'�	  	##������6FVd72"&476"'&'&61"&'?676&>32&'&&"?626'."?626'&2676&"'&f)S)
Hr s�s 
�_?lE
K&#
&
	
�&#
&
	
`Y
	/�/	
�H))GR9DD9R]:e=b)))�6'		'����%-K26=676&"'&.54264&"264&":#".=6362?>�ΑYH	*
	/�/	
*	HY��&

��gO~.$		$.~OgW�@%
?	����;HU%:#".=6362?>26=676&"'&.5464/&?'76&6%&

�ΑYH	*
	/�/	
*	HY�P!!�!!
	PPI@%
?	l�gO~.$		$.~OgA0((((00����%8@^2"&4&26=676&"'&.546'.#"?62264&":#".=6362?>N�ΑYH	*
	/�/	
*	HY�
%
&�4&&4&
&

��gO~.$		$.~OgP						0&4&&4�@%
?	����"1<62"4&"276'.#"?62&2676."�Α��7�
%
&�	
Y`Y
/�YΑ�Α						a	'66'
 �`/?O_72+"&=46;2+"&=46;2+"&=463%2+"&=46;2+"&=46;2+"&=463`

@

�

@

�

@

�

@

�

@

�

@

�
@

@

@

@

@

@
�
@

@

@

@

@

@
��@�/?O_2+"&=4632+"&=4632+"&=4632+"&=4632+"&=4632+"&=463`

@

@

@

@

@



@

@

@

@

@

�
@

@
�
@

@
�
@

@
@
@

@
�
@

@
�
@

@
���"@72+".=4>;2+"&=4632+"&=4&#"+"&=6�

�%

�Ҕ		zV8`8		�
�
@&@
�
�ip		pVz8`8p		pi���F7+"&=46;2#"&=46;22+"&46;23265454&"+"&=6�
%%
�

%%�Ҕ5%� fz�z		�p
%0%�
p
%0%`�i�%5(�VzzV		i��!�77/'7'&54%'76DC#)�#+3`3
����+ FC##�*
3`3+�+ǩ����';GS_ks&'&'&6;2+"'&'&'&6;2+"2#!"&=46;254+";2754+";2754+";2754+";2"&462�+
+
n+
+
�
%��%%+o�```��6%%6%($>($>($>($>@
�%%�%
S�pppppppp@%6%%6��@�-=M]ms��#32+54&+"#"&=46;#"&=463!2;26=4&+";26=4&+"';26=4&+"26=4&+"334&"%54&+";26=4&+";260		�	 	�				 		��&&&&�&&3&3�8P8&&&&���	 	P		P	 	�	 		 	-&&e&&[&&�&&�(88e&&e&&����7@L&=4;2+"=46#"'6+"=4.'&=4;22#"/2!2+"/�<0(0��$qY��Z�).00�vYuV

v*AB>,9!,��P8!W1/'
%>>����
p
�����-52"&4264&"4'654.'&7>264&"�Α�Α��##")��Α��W�

			�����5G2"&465."?624'654.'&7>765.#"?62�Α�Α�#&#	
&
h##")A#	
&
��Α��K))�

			�!)����&.Ma%/&>7676#"&462&#.&264&"4'654.'&7>?626'.#"�S
�/4g��ΑT��##
)
'	

.!	S	T�Α�g.,%#�

			�						
	����%2"&4"264&"2642676&#!"3�Α�ΑU�87Q
��
Q7��Α���H66H����.<2"&4?626'.#"?626'.#"6&#!";26�Α�Α

&
	
#�

&
	

��
Q77Q��Α��6)!!w6HH����#12"&46/764.?64/&6&#!";26�Α�ΑP!!�!!PP
��
Q77Q��Α��0((	((00�6HH����!/2"&4?626'.#"&"2646&#!";26�Α�Α
&	
%Z�
��
Q77Q��Α��5						
6HH����	ALP7"&=46;%+5322+"&547#"&547#"&5#"&=46;2#46;25#�

 @
  
0		S(�(S	0		`	`�`0`�
�
� 
�
�	 		p	 		�� �000��@�",2"'&547.=42767'5%6�hJrr�w�
,!�!/	��J4>��>4�0�?��(%�@�%(��8 ��@� *42"'&54264&"7.=42767'5%6�hJrrm""�w�
,!�!/	��J4>��>4^""I0�?��(%�@�%(��8 �����	?&76'7'/&?6276^K�KQr
�5��bWi!%�K�KQ
rs5K��bWh$�����	4'&6;2%2&'7632"&46&/&"?6/�?/o	
o
U
	o/?E
ʒgg�g
44&	//	=
+��+
s�g�gg�6
//
%4		4����2"&4264&"264&"�Α�Α����Α��W����!32"&42654'"&54724+"362654'"&547�Α�ΑX&4&""���4&""��Α��G&&&

�  p&&

&����*!2#!"&=463!6?654&+";26p		��		�MM0FF	 		 	[��;LL�&&���	+#76322++"&767.5#"&=463�d��				C6
�
6C		�c�$�	 	<a  a<	 	���0#!"&=463!22+2+"&=463546;265�
��

`
 %8(�

@

%�
@

`

 %@(8 
�

�
 %
	����	-9AF673&.'3'>76732#!"&5463264&+"36264&"7#&�-''-V.
'j

��%%		�		;jKKjK�-'1) )**h*#f)1
�@
%�%�`				`KjKKj�1)���?'73264&"'766'OTc!�]
];1#]$�b�!cT;]
]�'T(�b���!7'73264&"'6%'762���+	 ���
(�]�9�9(5+��!]�(
� J(9�9�����$67'&4?622?'762'&?%"/7?md		Z		">>,�.q.(-�q��k�		Z		d�,>>�d		Z		">>,.q.-(q��k		Z		e�,>>����.!2#!"&=4637&=46'46'%&'p		��		

'f0
A	db+
(&+��	 		 	�
e		C�	�1N
������1!2#!"&=4637'&6?627'&6?63276+"p		��		AM(Hh�A�c++.,���	 		 	kS$4b!R21'$�����*2%//&?'#+"&546;276%3264&#-NNNN�	 		�(80$TN��`

`NNNN�P			8($6TN�@����.6J254&""'54&".546'.#"?62264&"76'.#"?62�ΑA7		.d.		7A�

%
&9((�
%
&	��gBq!�		��		�!qBgG						�&4&&4�							����#.2"&4"2642654'&"6264&">'&#"32�Α�ΑU�(**3�-F7��Α���77��6 ����!)-59%+"&5#"&5#"&5463!235#264&"75#264&"'3'#u
 8P8�8P8 

��R``L((�`�((0�PB�
o
(88((88(
 
�`��((�``�((�`����=2##"'&7#"&?6&&/&?6>76327>o
)"(
C#+M�

b:

7:&
*KJ6
E=	 8=�	�'
	%#3hG6!'����'92"&4?626'.#"6&"'&276'.#"?62�Α�Αp

&
	
#�

#n#

-�3
#	
&
��Α��F)�**6�!)����(,048<@!2+"&=4>;53#!"&54>3!23'7#?#3'#73'3'#�		�	0��7		��7	���
�
�j�
`����
gFrj	 
	   ���		
B1``�pp�``�p�``�p����A�,2"'.543267>&'&'6768'S�S''?D++D?'��!FG"%;?QQ?;%$'88'$oo==o����"%/&&?6/&6?6�%">H6 F&3
&)'H!.L	�C>"(	4949/!=	���	!)19AIQ#546;22"&42#!"&=463264&""&4622"&4&2"&462"&42"&4�
@
��(8
�
8(B//B/��Mss�``
m
8(�

�(8�/B//B3s����*5!2#!"&=46;26=4'&5463 �@(8
�@
8(C	D-+@@@8( 

 (8(2,:+ *$
�����'#"/#"&?'&6?627//�
j��j
�A	(	ARr3f&g�DD�g&���Qg��6r����#/;I2++"&=#+"&=#"&=46354+";2=4+";2'#546;2#5P	 	�	 	�����0`0 �				��h�PPPP����2"&4264&"264&"6264&"�Α�Α�C4&&4&���Α��*�&4&&4����
%-1573622#!>?"&546;2264&"75#75#�		�K		�

����8P8
�
j8@@@		�L		�
�
� ��(88(�
�[�@@�@@ �hT\7&'76?6/&"'&+""2+"'"'"'+"&=46;276;2276;2276;23$"&462�	DP(1d"dq
0

0�		:&&t&&t&&:		%JJ%�1B//B/�b9
"&
P			 	 	      	 	`/B//B����4j%2+"'"'"'+"&=46;276;2276;2276;23%"'&'5462+"&=4&"35462+"&=4&"#5#p		:&&t&&t&&:		%JJ%��
8P8	 	�8P8	 	
� 	 	      	 	 	
�(88(		

``(88(		

�
	`������ '&?66762%47#"&z	
��	
�(-6,!��2BIg


	�

	�>@4_6I&(&�-h����#22"&46/764.?64/&"7626'&�Α�ΑP!!�!!PP�RM	)�)��Α��-0((	((00�>-
-������3#"./.""&/&'&'&7>76676/676�%

	""
%2" #d
	

0)"2`>1(CS9"

�

�


"9SC(2="3	@#3����	1.7>>327/6'&2#!"&=46;7s-�G'I!`+
.#:?f		��		�I<A78;Z=L_�[�,�H	%]J��	 		 	�����/37;?W#2+"&5#+"&=4635"&=46;2346;235!355#!5#=#"&=#+3235463


`
�
`



`
�
`
` ��  �  
�
  
�
@
�
`



`
�
`



     ��    `�
  
�
  
�����$%#!"&7>;&5463232&264&"��`I<8(,<	�))$(8,����%�"2+"546;5.?4>;23'��(4@�	@4r�uW7��7Wu�PP������/7;%+32#!"&=46;5#"&?#"&?&5462+&"264#3{	�p		��		p�	^1
r(r
1V			`��
 	`		`	 
a	~~	�			�y ������"5#"'&"#"'&'&767676676'#'&7676763_'$+A
 
A+$'*$$*?#/++G0:

:0G++/#

%
$
	���� (3:AIQ\62"&47'"'".'&7&766267&'&'767"&#">"6727&'6264&"6''6'&#"#��77W$|$("
77W$|$W��%,� 2 B//B/�%�s5KK54
VV5KK54
VV
��	
#�
#
�%��%K/B//B?
#
	�#
	 �`O%#"&'4.#!"#"&=46764'.=46323!2>5>32W,'
��',,
	',�
$,

,$

$,

,$���+"&462'&'.=46%2.=476`8P88P>
F|�<|E
D�P88P8��#��"�)��@�%K2#"&'#"&547.547&5467&5463021>#"'#"&546320212�&*&*(&"�*&*&"&(�&��**	(.(	&��(	**x%&	(��+5HY%+"&=!+"&=&=46?>;2%!'.+":>54&#"!264&#":�
 
�
 
 �"9���9
"N	
�!06

  

60!2
& 222
�!	�#/K2#!"&546;546;23546;254+";2%54+54+"#";;2=32�

�@

 	`	�	`	�pp((((@
�


0		00		0�((((������*fz��7&?6/.?6/&6?>?6/.?'/&'&?&'&?676?676767676%&>76&'&'&/&#"&>76�#
NA	2M
+= %�




	�
	
 {
�}
	
	{ �l)

�.M
+=
NA	28+$�/4
C

4.+!	5d
	)6!+.O
����#+/3;2+"&5#"&5#"&=46?>;2264&"75#;'#264&" (8	08P8�8P80	0!�m�|((xM&��MY�((8(P	(88((88(	p"z��((�```��((��@�Qh!2#!"&=46332'.=4&+!46;2327>=.=46;5462354626&+76&+";327P		��			2"'��%�%$4

			 		��:D;	 		 	@	 *x!..p`%%�4$
v* 	0		00		`3	kS���'%"/&4?626/&#";2=37�		�

�		�

{U
p
 `
�

�		�

�		�N6
P@6����'8@HPX`%2#"'##"&5475&546323632#0#23'"1"&46;7#264&"64&"2$"264264&"264&"�%%%�%%  %%�%%%''���&%%&��			w			��			 			@			`%6%  %%�%%  %6%A A	@%6%@b			�			 			��			 			����7AE%'&?67&?'&?6'2#!"&=46;;267!463!2!�::$$U$$::	&�&	�
=��@���;;$$$$;;�	&&	p��P��������0&4?62'%/&4?2?/&4?2?������;��:��:��,jjjjjII�jjII����X%/.=32?654/32?&54767>3276=46;254632|N/<(V	��	V(</N!E
)!		!)
E:.7
1X:
pp
:X1
7.zm
&<�		�<&
m���!;G7"&=463546;22++"&=2#!"&5463!264&#52%"=4;2#�

	@	

	(	$	� 	5KK5Oq1����
�
		
�
		�		KjK@qOI7  �`26A6#!"&='.=4>3235#"&=46;2+325'46?"&v�	
��
F		�88		�		892��0�
+$ �

/_	0				0A?>]
+>���0%#!"&5467&546;&546;2654'6323232�#*��*#*%!/
(8%*O(**(#*%/!8(%*#���%62"&4%+".?622+"&=463KjKKjK��
k*P

�

�KjKKj�%
	���
�

�
������7%/+"&=&/&6?'.?>546;276� 
�	@	�
 �� 
�	@�
 �r
8O�		�O8
NN
8O�	�O8
N	����+9GUcq2#!"&546354&+"26=4&";2654&+"26=4&";2654&+"26=4&";2654&+"26=4&";26 (88(�@(88(@	@	((	@	�	P	!.!!.!	P	�	P	!.!!.!	P	�	@	((	@	�8(��(88(@(8��@		@�@@		q8		8!!�X!!X		q8		8!!�X!!X		y@		@�@@		
����+9GWes��2#!"&=46354&";26754&";26754&";26754&";262#!"&=46354&+"26754&+"26754&+"26754&+"26 (8%�%8(@(	@	�!.!	P	�!.!	P	�(	@	%8(�@(8%`	@	(�	P	!.!�	P	!.!�	@	(�8(@%%@(8�  		8!!8		8!!8		  		�% (88( %P 		 		!!		!! 		 ������(6HT\j7&>#"./&67632*#"0&'&567%.?>766676.67&'7676.'&6� ]F&
#YJ gu$$ dY�,
� SaAO6 ��,
 SF
.�"�,�+-2# $D&�'
91+
	
�)H!A`)��	�,'*(O	����.6>F3"&'.535.535.53546;23264&"6264&"6264&"�@	F\F	%@$@$@
�
@�((((((
&%,99,	2 &
1&
1 

 %&�((d((d((����04����%2+.#"#."#"&=46;546;546;232%3'#2+/+"&=&'/&?&'#"&=46;67'&?667546;276264&"'2+/+"&=&'/&?&'#"&=46;67'&?667546;276264&"p		'0&CBCLC			�
qSJ
���3Q0	
	 	
		
	 	
((�	
	 	
		
	 	
((�	 	"""	 	P	`
h
@`@�� 	
		
	 	
		
P((4	 
		
	 	
		
P((����6:BJ%2+"&547#"&547#"&=46;546;546;232%3'264&"264&"p		2B\BDB\B2		
�
qm0
���M�((<((�	 	.BB..BB.	 	@
�
�
@�``��((((�
0H?62"&472#!"&546326/&+";2?33754&+"&#"327;26����`�	66	F�		**
	�55��� ��
��
�		$*<*	��@�#/%2++"&=#"&=46;&5462&">54(

`
 
`

-%JlJ%E,�
 
�

�
 
;5AOOA5;�"9!(����:B%#!"&5463!2;;26=326=4&+54&+"#"5!"3�

��)77)F��	0	 	0		0	 	0	��
Z	4
	7)@)7v 	p		p	 	0		0	��@����/3B$2"&454+54+";2'"!546;546;232&'5#!"&=33�xTTxT�
&


<
@7.�uP�P	������	�TxTTxB
6

L
� P001`  �*&�0	����-9EQ]iu�����2#!"&546;546;23546;23546;254+";2=4+";2=4+";254+";2=4+";2=4+";254+";2=4+";2=4+";254+";2=4+";2h

��

(		@		@
�
��((((((�((((((�((((((�((((
��

h
P		PP		PH

��((l((l((�((l((l((T((l((l((��((l((���T2#"'#"547>7&54>'./&54;2?6&'&'54&+"+"'&;265�Ԗ�j83AL92	 		2	 		�z�z329JV�%						��B�Og#"'#"54767&5462;2=>54./&54>;2?6'&'54+"+"'&#"'#"&'32654'�zV<3+.&z�f-	-	Z.+3<@hc�9HB�^)3B^�	



�
6,qO

P23����#2++"&=#"&=46;546;2`

`
@
`

`
@
@
@
�

�
@
`

`
���W]ciou}���%2#'"/+"&57&'"/&4?&'"&=46367'&4?6267'46;2762'7&'67#677&'7&'6264&"67'367'?&'�

$
/;		;/
$

$
/;		;/
$�
+Y%+
l@	L1	C
+2:%+
l@	@1	�		;/
$

$
/;		;/
$

$
/;@	11	%
L%+
�@	1w�1	%
H%+
���-T7"&=46;2#546;2+"&2?#!"&=%5!'54767546;>3232�		�		�	�		�	F4��`�`��`NN�				P				r��՗�
F��F

,		,�!2#!"&546;54&+";26��`�@`	�		�	@� @�				�52#!"&546;54&+54&+"#";;26=326��`�@X
@
	@		@	
@
@� @�	@		@		@		@	������Z/&='&63!22"&4>54&/&546;2?6'&'54+""+"'&;25�?R;#P��y�^^�^�-		-	gCQ9	<��''�^�^^��

	

���eoy%2+5#5#5#33#54&+"#53535####"&=46;546;546;54623546235462354623232'354&+"54&+"�		P     P	@	P     P						@		@		@				�0		8	 	`	�	��``��P		P��``��	�	p	P	p								p	P	p�00		�@		@���1?G%"/&5476;5462;2=462;2=4623226?."62"&4�	f8�8f	@ 

 

 @��00200=�
	n<<n	
��

��

�Ѐ $ <�����2D%/#"/#"&57"#"&?'&6?'&676276'7'7''77'�
bK	
lDDl
Kb
n*^""^*/$/5--5/$4!!�5S
qYYq
S5h
<k

k<
h}(2332(6**6��0��%#"#.'3'&'45473'676327#"'&54?'&4?'&543243127632#"/>7654'&547654'&54763231!�QM(;/)V
:)9+****%5):
	V)/;`HXWE;	
)f<G+%7-D	A!		! ��!		!A5%
7%+G=f);�����%#!"&5463!2!"3!0#"/267#"'&54?<14'#"54?&''312545'764/7454#"#'4"'"#"32?.547&547#"/�
��)77)FC��
�%	=N=	%

		
F	4
	7)@)7�� &11&  #	
po	! ��A�-<JX%&54?626"/.=54&?6754&3766=4/&'6=4/&*����� ,�

��PP�``�PP�``l1PP1OmR�66�"-$���nv~/612#".5'"&5475#"&46307'/&'&6765'&?.5467'&?7>54'&54764'6'76/�82
5P/
))
	

/P8
/<		&!M,;;,L"&	U

�~s?'$=
*!
	

		!*
AE� 	

(/(F6$	33	55	33	$6F(/(	t &&""&&���'7#!"&=4?62335335332!546;2#!"&=463�
	� 	
��@`@`@	�@	�		� 		d%		%Z������	00	`	 		 	��@�'9=L:767#!"&=72"#".'.'5463%2+5.+54635#%#5463!2#"�*+ @
�
@ �
,)"	),


�$`
 @��`
@
�& 0�

�0�
!	"
`
�
�! 
�@@` �

`&����	'2=HS^it�2#546;2#546;2#546;2#54636"&546?"&546?"&546?"&546?"&546?"&546?"&546?546;2+32#!"&=46;5#"&=46;2;546;2326�	@	�	@	�	@	�	@	} s s s s s s 	 	8(��		�`		��(8	 	
�	 	�
@	��		��		��		��	 
 .

 .

 .

 .

 .

 .

 .
Ӑ		�(8@	 		 	@8(�		�
�		�����	CP3+"&%!&5476?2+54&"#54&/#54&"#"&=463#5467�
@
C��XE++EX

 @@ 

��  @��
�C8+5

5+8C<
�
@

@H$
&H@

@
�
@!  0
�����h�'&4?6"2#".5'546326=4&"+#".5463264&+&/&6;264&#"/&47632?6#".'&66iR;;%'
#/
)K5*A$!1 &&!			 

(8%	/
q%
&'5��;)d$4
&+	d
!5K01&4& (&
$'$
�	
$	

���������$&#".'&'32#".'"'#"&463267&'#"'&&'&4>7>6767&'#".'&#"&463232>7'.5462627&5462327>32#"#"'7>"264$"264g
!	 

(

(

 	!



*#%6%:%6%#*


�			��			h	

#8-%%-8#
	

!4"%%%%%%%%"4!

'							����2"&44&'657677�Α�Α�WA��Y&s3&�+E(���Α��gCg�g)�rG"ir	"?3N,/)g����,%+54?#"&5%#54&"#54?54?6m	p�mp	�`%6%`0	LL	Qd	�L/�	�	�`%%`�	s	KK	s����/?2#!"&546354&+";26754&+";26754&+";26���p	 		 	`	 		 	`	 		 	���`���		�		�		�		@		@		����/?%#!"&5463!2326=4&+"326=4&+"326=4&+"���`���		�		�		�		@		@		`p	 		 	`	 		 	`	 		 	����("&462'+"&46;'.?67676&6%%6%_#n�\- 1&(':!
X!@%6%%6�An1"#G!\!./
!H
������(Q2#"&=4?54?03>26=4#"/.=46226=4/&67621/&�Zu
M		z�&/		M
u
�'?
/`Q��M		P
�`/
?'�

P		M�
�Q����1NV%#!"&5463!2"3237232/76&#/&"'"327654#0"#"&463:1324#&5!"3�

��)77)F�;/DD/'88'u��
Z	4
	7)@)7xCC`C8N8��@���$_%"/&=#"&462322654.#"7+"=&'&?6;2654/.54>354;2'&+"�d8HVzz�z,
��xT'B'<T�	-	d
,z�zzVH8	T<'C&TxE



���$0;%"/&=#"&462322654.#"62"'&54264&"�d8HVzz�z,
��xT'B'<Tq>+CCJ
d
,z�zzVH8	T<'C&Tx�+$OO$5
�����%47#"&'&6?535#546;272#546353#"&'&67�( .
W��
��
�
 �3s -
�^)!HA���  

  
���@&W!H��G�;%//&?'&?67672+#"/#"&=46;2>3;........

�b X,

Q
:U�........�
0
���
0
jC
���92#"&4632#0&#"3267#"/#"&?'&6?62T	+.j��j.,
W||W�7
DD
7L""	�Ԗ
|�|�6L$$L6EE������ &),/25%+"/#"&?'&6;76232#'#3373'7#73'�5k8*8k55k8*8kB( 5p55p8.�((�.�(�Y$^^$YY$^^$!7XXX&8!!�!&8!����	'E762#547!#762'#54&#4?6'76&+'&"#";2?326F&�r�&�`-`�H''''�+���

�+�f
��`'&]z
f�((((����EQTW]%'37'$2"&54737!;32?327654/7654&+'&#1"#"$2"&54#''73@$Q��((�|�����	<<	<<s((�$,B!!B!!R��
�@

�
�����`11
1

111
1

1�
�@

�
o8888���59=27+32++"&=!+"&=#"&=46;5#"&=3355#xH@
 0		0	 	�	 	0		0 
@H`�`� `
@	 	�		��		�	 	@
` `@@@@@������@DH%+"&=#+"&=#+"&='&'&?5'&4?5'&6?%35!5!y7	 	�	 	�	 	7Y7		w��w		7����@��/
0		00		00		0
1@2@VV@2@�@@�@���-6/#"&=46;//&?'&?676�Yf

fP-..--..y��Y
�
`.--..--����%2"&4264&"&264&#"3"&462"&4�Α�Α�P88(PppP(8S��Α���m8P8p�p8P�����@�4DL";#";#";!!&'.7>/762#!"&=463264&"����ri����p'
FF'--[%
��
%��@@@`@��
M�N	
?JJp% 

 %`����0LT\"&462#!"&5463!2";26=654??6/76/&'&5!"3"&462			�

��)77)F�B/ 	@	 �GGbbFFbb���
w			8			�	4
	7)@)7& 
		
 �++**�@8			���� #!2#!"&=46;'&?676%3p		��		�5	

))


	5��t�	 		 	JJ
		
88
		
J�������-7?G327+"&=32+"&54&"&4632>?"&=264&"264&"#!*	 	� 
	�&
(833�@8P8@			Y			&�		�`
	&
8(V'`@�(88(�@P							������7#546;2#54'#5##5#+"&=!+"&="&?63!2p0K5@5K0(000(N	 	�	 	
j@��5KK5��.������p		pp		p ��B�<%+"&54674&5463263276&'654&#"&'&54632W*/!�(8$8(,
&�5T%8(
qO#)m_.!/8(1
(8&'A$(8
Pp
F)F[����DQ%#!"&54674&454632632%&?'&4?'&676276&'&"74632.?$8(��(84%B."6&�R	L	
SS
	X))X	

	!\B1#)
;
'z
1(88(&6.B$
&
	X))X	
SS
	Y
!B\.#1$D/
������ '0:EKO7'"&?&=46&63''&4?6#76276/&>2".=7#'3'kl�MA�rQ�	=m__}LP��uj�ddd�8�.�BY1b	����z�b��WBߜŰ�����#'&4?66&='46/&5����  � ���� R
ww
e��&]

�mt�

]& �� �4<%+"&=#+"&=.54623%+'54632324&"2*�	@	�	@	$
�& �5	@	p			�6�		pp		�
1
p &$.�				������AG7&?>#"&?#!"&547>7.='&4?'&6;2+"/#77		u*x�[ #H0�

GU�Z-3<<>�
K		@�uW+*)EB<#/@
_6m
2

c	
	%����(&#"+"'&7'&4632?54762�3HV(	#2"#(?2��3I	X!
)#"1$	(VO?2��� 0@P`p�����7+".767>%+"/&67622+"&=4632+"&=463/.7676"'&'&?6#''&'&?>2+"&=4632+"&=463'62+"5'67+"5+"5�
a%*%@�		`		`		`		�		S*
�
S
*S		$
*I		`		`		`		�

@��

.+�
hh
��	@		@	�	@		@		3$�

3+.
�3	Z�	@		@	�	@		@	�����������-Ohq;#!"&546;54+";2=4+"&=46;22654/&54;2=4+"+"374+"276=4+"&57#532�
�
��

�`		,`$$y�
8
��

�
�� 	 	`x7''7�
�����CO_o#"546;2!5'&=;27;2732?>72=4+"&546;2'&+546;2"&=46;2#3"&=46;2#0	 	�$�%   
#	p&  	 	��		 		@		 		 �		�X($@@%5N	(			%?p		�	�		�		�		�	����&.6/&/&"/&&546264&"264&"�Rt
+))+
l��qQ��	0..0	Pv�����G�'%/&?'/&='6276"&47%;Z$1Z/�/-	��1�4%��Z	1-//-$1�%4�����'/mx��������32#54#32#54;2#54;2#54#54;2!32#54!2+32#!"&=46;5#"&=46;2;546;2326=4636"&546?"&546?%".546?"&546?"&546?2"&546?"&546?"&546?"&546?� 8 � H ` �H 	8(��		�`		��(8	 	
�	 	�
	���(
C�2(
 xxxxxxxxxxxx	p(8@	 		 	@8(p		p
�		�
p	 

'

' 

'0

'

'

'

'

'

'���#+!2#!"&=4637#76?#?/7?/�		� 		��o$�8V�@@  @�    	 		 	@ �&k�


�   @@ �   ������JR7#"'.7/.?>2+"&=#"/1"&='&54?>3235463&"&462Q#4@:!�			0
/W	 /#	\((�5e
�b"+	��		�	P/S

SV

k/	@((����>F2#+"&=#+"&="'+"&=4632546;2632>264&"E
	 	�	@	3z3	@	pPI7

#�			`\
 		 �		GG		�B^)1

	P			��A�IQ&/0+"&='+"/&54?&5457+"&=4636;46;2264&"@! 	@	�	B		4$+�K5x	G			sM
	&f-!�		�@idD)
8		8$4!5K	 			����G�43+'7'#"&=265%/&/&7%62546;2 �	�(h�<h%�	���
e	@	M��	7@�w@I	�H�

��

Z4		�����Z%#32+;2?6+".'&7#"&=46;7#"&=46;7654&+"&/&6?6;232pd"�		�	T	%O#	*		d"�		�	T	%O2*		� 	 				
.0	 	 	 				
.0	 	����!+2#"/&"#"&7676276'&"276'&"A�J2??&'&@OarJO^!		!^!		1^!		!^!		�mIWH
8&&8�P`,�)))))))����#!"&'&5476273{	��	 
"
f&@U			�L�&@����KOSW%+32+"&=46;5!32+"&=46;5#"&=463!5#"&=46;2+!2%35#5#!5#�	h8

�

8��8

�

8h		H

�

H	����@`�`�	(
�

�
((
�

�
(		(
�

�
(	x@��@@@@������>FN2+32+'32+";2+"&'&76=46;76;2"264267#7`
8(\7
	PK�@
	�		p

l0(pP8�
9			Mwf�
 (82n
	�P
			%*&.PpX
			W;7�2"&=4$"6265427&"�ړ�ԖP�pI�I��9�9:��R>b;SS;b>/!

**

!Z����B"&462+"&46;%2+"/#"'.?'.?'&.6?6$((�

 M

C

6
 >U
%
(
'%,G*`((��)N$	f
W2
.W
(5����
&2#"&=4&54'!2!!2#!265(P	-P(8�� P	B.��(8�P	@�&'p8(� 	.B8(������#7?G/&/&6?'.?>76'.5462+"&76"264&"264�
��
��
��
�� &TxT& ~
��
ZZ
EE
ZZ
E�:"5KK5":

�������&?6S��	
M	
=�

	�9

����G�o�'&54?>#/#+"&='"&547+"&=4?#/&?6;'&/&?637>23?632/&6?6#'&'��	

	0/=		J7R7J		=/0	

	4
NE
5	

	2=$
$
$=2	

	5
EN
s6NH(�		
Ha	N		Iw
(==(wI		N	aH
		O	P		
L44L
		P	�HN6	����@�$,4<DL!#!"&7>=46264&"264&"264&"264&"62"&4264&"�	��
	8			I			I			I			�P88P8S�:J)�1
	
�Pp�															�p�pp��%6%%6����ksx$2"&4264&"2&#"#+"/+"&=&'"/&4?&'#"&=46;67'&4?6546;2354762264&"73'#�H44H4Nh
	3;$Q
	
	,	
	

	� 
8f	
�oB//B/fn)kp4H44H<
3
	30	
	

	
	,	

��(.$

(�/B//B�``����
 (<#>32#7"&547367#'547"&%2+'72+654&+'327ZR@(\gB6jK���b�P0
*q7OP/!F*#L#�D$,P2�K5

5w�0*=)�D(`�O7*!/`��$,2+"./&"+"&5463264&"264&"`

�

:
 �

e6%%6%e6%%6%�
��
	==
@
�%6%%6%%6%%6��
� A[72#"&'&6;232>'.+"&=4635"&=463!2676&#"+".7>#2&'&6;23264&+&'�%9:+#5
 
�				N !26(	:-06D
/+H
"
t�/$,A,"

		 	 	 	
	'(.G T7.
+'
(&���'"/&4?>7&?67'�M�5Z�N#L��zZzwL#N�Z5�M�^zZz���-W62"&4$2"&4'#"'"'#"'&7&47&66266+&'&#&""#"&5467&54632632:12((�((G2$2#�8(+	<	+(8%B. 5%!/(`((((2

2#$�P8
	
8(2

.B!/!	��B�8ER_l%#!"&5467<146326326#"&"'.'&'>32#"'&?>#"'&?>#"'&?>#"'&?>^%/!�!/%8(1,�+E+T:

%2�$	%
[$	%
[$	%
[$	%
�,!//!,(8(%5#+:P
5.�@@@@@@@@���+;J2#!"&5467&54632632:62"&546762#"&546762"&54>�(88(��(8%B. 5%!/��"("�"

"�"(@8P88(2

.B!/!	�232
32
 �����
)7Ec6#"'.?>#"'.?6&#"'.?6$#"'.?6&#"'.?672#!"&5467&54632632:�@	@m@	@�@	@�@	@S@	@;(88(��(8%B. 5%!/Q
p
p
p
p
p
p
p
p
p
p�8P88(2

.B!/!	����@�EP]jw�%#!"&5467<146326321&?'&4?'&6762760"1"&7&54632#"'&?>#"'&?>#"'&?>#"'&?>�%/!�!/$8(1"��;GGK##K	% Ib&D$	%
[$	%
[$	%
[$	%
�,!//!,(8(5K##KGGP&
�@@@@@@@@������1Jc|�%'.'!'+"/&?67&'.7676326&#/&""?65'76&#/&""?65'76&#/&""?65'5!+"&=#+"&}	

	��6&

	K	+*
Q�&C��
�
�
��`	@	�	@	�
		
	Nl#	c#
	+**Q$ 





퐐		PP		���
1U]emy2+"&54327.5>7327&'.5>7&'327&'.5>676.264&"6264&"264&"7264&"	 	,>&3=1S?AW3+O-%>&3=+O-%&.T,+O-.	5!6H+O-%&.T,1N.1(A( 4$)�							I						�
�0		�
��$
E	V>		
=	t!E		
�

	(			/	


9	


/	

���%-7?"&4726767632676324&"2'"&462"&462� LB9�r9D�[a	�KjKKj5 			�a[�D9r�9BL 
��jKKjK�

I			��@�	5=RYf53+"&2+"/#".='0&5#".=46;2&"&462753"&5#"&'#"&?'46;#%2+"&5�@	 	 

:)
	
		&-Y((��

�
 @`
	 	0��		Q=
8
		8+e
		�`&-`((D �`


��
��
�0		�����M%2#"&?#".576;27+76'&+76&+"#"&5467&546;2654'632324X;
D|+/!


D0!/+
&!/	(8&p�	ax
	Ao.!/"x/!.&/!8(&��@�<Z6+"&=4&'&+"&=466+"&=4&'&+"&=466+"&=4&"+"&=46S�S	 	oSf�	 	�lW�	 	B19T	 	_N5 	 		 	+�K�Q�		�V�
�e�		�t�ZtV�		�3NM8�		�JrW0�		�

�		�#9����	";T�!546;26&/&"?6/76&/&"?6/76&/&"?6/2'.=#+"&=#+"&=!26=463 ��^B�B^��

�

�

�	)) 	`	�	`	 			@@B^^,





�	@'1 +p		PP		�p		@	����/G%2#!"&=4632+"&=463!2#!"&=463'"&4632632632+"'p		��		@		�		 		��		P<TT<=++=(D.BB.<%^%P				`								�TxT--*"B\B  ���/A2"&4264&""&54754622654'54&"7"&54675462xP88P8S� TxT B\B�B/ ( `(		�8P88PH�(2<TT<1)�.BB��/!(��(!N�		���/A2"&4264&""&54754622654'54&"7"&54675462xP88P8S� TxT B\B�B/ ( `(		�8P88PH�(2<TT<1)�.BB��/!(��(!N		����+;%2#!"&=46;#"3!2=4+5!4>3!2?6/&'&`

��

@

�

 ��	@
��J�_)�
`

`
@@@@	
�K^)��@�,X�%#&'"'"'"&=46767>7>7627#&'"'"'"&=46767>7>7627#&'"'"'"&=46767>7>7622+$)l+)l+)
!
X

Y
!+$)l+)l+#,
!
X

Y
!+$)l+)l+#,
!
X

Y
@	 
	 				�	 	 				�	 	 				������%="&462#"/&4?7#"'.?'6#5&/.>2?6�B//B/�


0	.=u.	0


�)�) )'b') /B//B��'
!
@9339@
!
' � 

 		���2:B!46762+"&547"'"&54>7&5!5463264&" 4&"2�o�0+!h		0<"/B/!F!/B/<�&��`��6`"
\	 	@K8+!//!
		
!//!!8K@&������B�
 go"&'62&.'632767632&7'&'&'&''&4767>.&76767&547632>54'&6264&" 	'V'	�%,5�4,$k6+`2+=66>+2`+6
)F2!7 )
�((P

��P/C**C/P� =	Xb	  bX= ?13H!8"0@�((��� 4I7&=46;22654.'&=467+"&5.'.=46+"&5.'".=46�:D
	<)Ej
0
(	0z�	 	�a	
Sv	 	S9
�d=)<	WD�

�
2��z
	a�	 	`vS
:R 
����	7!#!"&7;26=4&+"%2!546;546;23546;2���@	`		`	P�@0	 	�	 	���`		`		�000		00		0����	7!#!"&73!26=4&#!"%2!546;546;23546;2���@	 		��	P�@0	 	�	 	���@		@		�000		00		0�����")-15;C#"/&67%>'&#"#"/&6?63267'7'?'?'77&'67'�)6��
 a				!%,.O��=�<�<Q	-
$=d9w!�6�718>=��'''�.
	�	�����*'&&'&7276/>76/&67*."'f91��3
7S�DX!"&#b.&291B		
28 &"!XD
�����+;K[_o���%#!"&=4?>;5#"&=463!2+32;26=4&+"";26=4&#'#";26=4&'35#26=4&+"3;26=4&+"54+";2754&+";26754&+";26�	�@
U`				`��				 				0				���(				 				���				0				E[	
[�@	`		`	@				G				P				� �				@				�x				W				���+@V72/"/&4?'&637"&=46762#/&=46;26+"&?'&4?62�
c
c!�
c
c!cc
p��
p!c
c�
p!c
c@
p!c
c�c
c!p
p
c
c����B�C#'32%#73#5"&?6;2++"&=!+"&='#"&=46;'!0ac	��~�~��	c�			 	��	 			 �`������`�@	 	�				�	 	  ������	%?N^#53##7/32210'&/&"&?6;#+"&='#"&=46;'%"&54676>'&'&'32�=d�~!c
�'	c�51�	 			%4^�^D4('?3&X���H
>``� K7H6		�	 	 !`A]]A&m/$(�?/S!('1�32+5##5##5##5##"&=46;546;546;232�		P @ @ @ P		0	0	�	0		�	��������	�	0	0		0	0����7>Eeoy7#"&546;'&?6'&6?67>763253#"&53#2#5+#546;&54632632#3&#"7654&#"36�
	�


			  
		)��
�

��
( 7!!7 (�5	�	5��
`
	


	66

��`��`
 
`��`
,KK,
0		0������9=A%'&6?'#"&/#"'/&7>7.?>76767'7'�
'(??('
�'%WrrW%'��_$�p$_C	h.'KK'.h	C	fW(�
00
�(Wf	G'@..@'�����2#!".'&63!!�8��8���9���e@�����cs�2"&44&#"+;2=732;2?6;2;2=4?6=46;2+";2;6$;2?6=4&">7#"/&+'&+";2�Α�Α�uS(	

	% 

		 ��
	}5W
	
+ +	��Α��gSu	

	
		
			!�
	��8-
%

` %2#!"&=463%2#!"&=463�		� 		�		� 		�	 		 	�	 		 	 ����+"&546;2+"&546;2`	 		 	�	 		 	0		�		� 		�		�����+3.767>7676?6?62264&"�		/$L
#
#kS#&"7L/		��((�		/L7"&"Sk##
L%/		��((�����"/&6?>'7'6�$!��!$"b&`�0`"&a"v%i(��(i%#W@��@h#������@j"&4622462"&"&462&54'&>367>'&'&636762'&'.7676&'"'6'&5<546�((@(((((@	72		94�	27	
	49	((((`((�=3


:2
	�
1:
+3	

���/7%+"/#"&'.+"&=4>?6264&"�.	
3
./	7")�
%B0�
0%zt(	
@
 &R
Q?bU;K
6!8�����"'"/"/"'&63!2�WB.".,$W���,l����}��@�'08!>32#47%#534'3+#."#553#"&62#54@��'~J�`Bp?��B��
� 2:F:2���
�P8��~;E��C=�_��=C@`
 �##��``�8(``(������%2#!"&=463$!'&>76p		��		e(H��0@te
 	@		@	�"5W�:e@:����(:B&'&'&6;2+"7&'&'4>;2+"2++"&=463264&+#

n#
�.BB.8(�(8
p.#1,#1, B\B(88(�
�(`������"/%4'7>#"'.?2&"&462%"&5>76H&Q,6	�Q7|7Q-((��	6,Q&�,� `8
D�

� ((
8` �,����&.6>%4'7>#27"'.7'"&7676"&462"264"&4628*4�$*"H"C
4*�Α�Α��ll�l��#C*B6

C

y
B*C#��Α��l�ll�l ����)9V"&462"&462++"&=#"&?6727%2+"&5463++"&=#"&=4672�4&&4&Z4&&4&?7
0
7.8��		 		|

P

8@&4&&4&&4&&4��h

h��	� 		�	��
�

�
������;?C%"//"&46327'&676327'&4?6;2762%7''�a		P
k
l*0)&
Q		a	

	P0

/

0Q	��IEI2EID�a		Q
&)0*l
k	Q		a		Q0

/

0P	hIEJ�EIE�����6Q.7>7&5462#"'%1+".5.'.=463210+".5.'"&=4632119�bu
C	 �a		z�Z	 S9		Sv b�9t


+	a�	 	�z	:R	 	v����
2#!"&575#35#35#@&&�&� 0�0�0�&��&&@��``````����
#*.546;#!"&575#354&+326=#35#;5'!5%35#"&��&�&�@�
  
�@�
 @�@ 
�&���&&�@@ 
@�@
 @@ 
@`@@@ @������(2O2"&42+"&46;264!6"/&627"&4?"&46;2"1"&='&6?|(()	`		`	��'DD
=\		0

�R=N�((�\				DD�	\	
�1S=Y

SN8�����$C"&462#"'%.>7'&776'&76776/&//'�((%�x			�.Kk(

1���#>R04	: s/`((���fEK5(#JFa 3		
9��@�.BN"&4622#!"&46;0&5&6?63232647'.?'&3737#"/d((�*� 

+6
(%,G*,
F
�U
%
'4>+�!
 =`((��
*
(5
�"Q2
.W
���

[�)N$	L����C%#!"&=463!2654/&?6%5"&46;2;26=32###5##5.e,��			



��

&"	/= &`

8(@�@*6a&'		


w�	,&@`(80004E�����6Wy2#"'#"&'&>7&542654/&54;2=4+"+"3754&+"'&+";2=2?;232654/&54;2=4+"+"3�Ԗ�j83AL9��	

	
0�z�z319JV�h		##		hD88D�����EQ"&462'76#"'%&'&>&'&6?54?'&/&>#"'&7�((TB4Z		��!&
J#*		?o
�<U�`((�?'f"�!			
5(:4S

--=

�����T\dlt�+"'.547&507'.?>54>;2167&5462704=46;276$264&"264&"6264&"6264&"7654&"6264&"��!	#%c
!&,�	8	
8P8
	8		
��			)																(7
"-.QC(?,
7	.!(88(".		*			��			7			7			O			2			����[`l62"&462"&462"&462"&4"/&=##!"&54>7546;546;2354?623'264&#!"3n^^^$
%)+B.�.B� O@)%
$��@zD:�H#%
$*:.BB.(	[p�
3:*$
% f S`@���((����2++"=#"=43%2#!"=43t�8�h�� 8��8�88����%19#+"&?.5475#"&=463!2;2=4+"264&"p /(�(/ 		`		��006tRRtR��2TGGT2�				������/9A%"/.7'#'76'"'&7>76'&"&4?264&"�5
uk>`@�k04
R*I%JDK
	�|5%�u45u0k�@`>k6R=+	KDJ$JR {%5�������)-15="&462232#!"&=46;5"#"'&67%65#%35+3"&462-��

��

�����``�``c�
<\
�

�
S;���`````` ����"&54676>'&'&'32D4H���_I9*
$:\K8+�0�+_��_6�D5: ��Y'	Cu ((8E����A�,X7'&67670767>767632%"#"/67>7>7>767�

5#$	
$7E #3

	%.&%
L	
$7E %C(

	%.
	 !5#p
!#
J$'

	%
%&!�
J6'/

	%&!!	!����2:%#!"&5463!2;;2=32=4+54+"#"5!"3�

��)77)F��808808��
Z	4
	7)@)7�088088��@��@�2##!"&5".546 AoH(#��	��2;�

	>k���	5!#!"&5!%630
�@
,Y{���

��Z�����@�,H3#!"&=26554+54+"#";;2=327#"/&"#"/&547%62 �	�`	;808808���M��		�D088088����

���22#"1"'#"547>7&5454+54+"#";;2=32�Ԗ�j73AL9`808808�z�z31:IVn088088�����%."/&4?627"/&4?6?7'76�
�7-nxf
fn-7
D
P	�
�7-nf
fxn-7{
D
	P����"*2:%/&&?6/&6?6264&"264&"6264&"�%">H7 F&3
&)'H!.L	���)			�C>")	4949/!=Ssm			����2"&546�b]2p�p2�u�7PppP7����'/7?%2#!"&4632#!"&=4637"&7>2#&"264&"264"264��`�	&��&	~�~>			�			�			�((�	&&	�42BB24p			)						 ����>%+"/&=4?2=4>3762=463212=46�B.�.!


'$
�S.B!J
L� �� 2	
�#%!5467546;272#!"&=463�@B5)	`	)5B		� 		�@@;aRp		pRa�	 		 	����>JVr~�$"&46220+"&50546322760!"&546;546;23254+";2=4+";27532=4+54+"#";;254+";2=4+";2P88P80.B�B.*�*��	
 
�
 
�((((0P((((�8P88PXB..B
*<	p
@

@
�4((�((��((�((�����
7AK#"&547664&"2767>7>7>7>76'.?6&/�/��"!/`(	
 ' ' 	
 ' ' �|�3��3�/B��/!"`w
' ' 
' ' �3��3� ����2#!"&46;&5462'!"p��TxT�cc	( ((	;UU;	��������%)A7"=4;54;232++"=%!463!2!2#!"&=46;;267�80880 ��@���	&�&	�
=�088088���P���`	&&	�#32#!"&54635#"3754&+326754&#!"3!26�&&��&&`P		�	PP	�
��

@
�&�&&&��0			0	�@

@
���0%3#"&4632>77'#5'6326'&54?632Kk%Kj�L!!1$5�26YK$(
�'"G@)!.!#+2-,&.D9N"+
$7���&.6.'7>#"&5476264&"6264&"264&"�Z�b9R�]
3X�K��
rC{�	_�Y]�P9qJ�Vi
L�{����	7!+"&7;;26=326/&"72#!"&=46;76;25��E9	 	9Z�		�`		x	r	S���p		p^�	 		 	

����	7!#!"&7;;26=326/&"72#!"&=46;76;2 ���[9	 	9Z�		�`		x	r	P���p		p^�	 		 	

����:B%#!"&54676"&=4?62';;2=32=4+54+"#"26=?6K"��"K6_5jKU

U�(/B/�N6""6N_oK5n  n5�]!//!����-#"&5#+"&=46;546;23546;2+ܘ`�		p�`�		p \�	 	����	 	�����'/7?G"&462'"&='&54?63232+"2"&4264&"$2"&4264&"�((4);*Rp		G5

@6jKKjKf4&&4&��jKKjKf4&&4&`((�!2
�

o6
	`9 KjKKju&4&&4�KjKKju&4&&4����2#!"&5463#3'#335#35#�

��

`������������
��

�
@�����������/?O_o��������/?O72+"&=46;2+"&=46;2+"&=463!2+"&=4632+"&=46;2+"&=46;2+"&=46372+"&=46372+"&=4632+"&=46372+"&=4632+"&=4632+"&=46;2+"&=46;2+"&=4632+"&=4632+"&=46372+"&=46372+"&=46372+"&=46;2+"&=463�		 		�		 		�		 		�		 		�		 		�		 		�		 		 		 		 		 		�		 		 		 		@		 		�		 		�		 		�		 		��		 		 		 		 		 		 		 		 		 		�		 		�	 		 		 		 		 		 		 		 	�	 		 		 		 		 		 	`	 		 	�	 		 	�	 		 	�	 		 	��	 		 	�	 		 		 		 		 		 	�	 		 	�	 		 	`	 		 	�	 		 	`	 		 		 		 	����/?O_o�72+"&=463#2+"&=46;2+"&=46372+"&=4632+"&=4632+"&=4632+"&=46372#!+"&5463�		 		@		 		�		 		�		 		 		 		 		 		 		 		 		��	 	
 	 		 		 		 		 		 	�	 		 	`	 		 	`	 		 	 	 		 	`	 	��		�
�����$,2/&?#"&'&6&546766264&"a=Z{
%A'#*=Z{
Q<#D@Q<#*(E-{
Q<#*=Z{
������+3Ig7'&6767>"2+"&=46;76;2264&"%2"&?#"&?6;26"&46325"&46325467ua5

5a�
�0H[,,�\
>L'&5%%p&5%%�c>>c`
���,,V�Sk	3`�(0l(k���%#"54?6327632����h0	<8y1Vh�p1y8<	����.2#!"&5463454/&#"&'7654/&#"#327���P	FK#&
A�x���`��
&#KF	x�����(4@PX_2+##546354+";254+";2=4+";2=4+";22#!"&5463"2645''`

���
H				`												�

��

M`� @�
��
@@`
g			�			q			q			0
��

 
@�``� @ ����;?%2+"&=46;7#"'&54?6325463!2+"&=#'7#P		�		 C	5��s	�		 	v1C v 	 		 	P4*�Y,		`		 �4`������5OR72"/&6;46;27"&=4?#"&=46;232#+"/#+"&54?6;23'�PP0	 	�	=8		�	=8			G	;*4 ```0		�Ѐ	
F	 		
F	 	�	

	�e0������5OR"&?62++"&5"&=4?#"&=46;232#+"/#+"&54?6;23'PP0	 	�	=8		�	=8			G	;*4  ``��		0@	
F	 		
F	 	�	

	�e0�����/?U"&=46;2#"&=46;2#2#!"&=4635"&=46;2#!2"/&6;46;2�		@		@		�		�		�				�		�PP0	 	`	 		 	�	 		 	�	 		 	@	 		 	``0		�������/?U"&=46;2#"&=46;2#2#!"&=4635"&=46;2#%"&?62++"&5�		@		@		�		�		�				�		�`PP0	 	`	 		 	�	 		 	�	 		 	@	 		 	�``��		0������5JR72"/&6;46;22+"&=46;5#"&54?6;26&/&767.7>264&"�PP0	 			`			
0	6(>*,


	$+
"```0		��@	 		 	@	 		p}1'3>=&\������5JR++"&5#"&?622+"&=46;5#"&54?6;26&/&767.7>264&"kP0	 	0P)		`			
0	6(>*,


	$+
"�`��		0`��	 		 	@	 		p}1'3>=&\��A�&@CX%"&=46;2#'3264&#3264&#'+"/#+"&54?6;23'"/&4?62762		K 2	2!3(

(8

�D	X	D;.��p-
7�
�	�	*# +�0`0��	$$	��E�
�p
-8��� �@#2#!"&4623&54264&"264&"�xTT<��<TTxTp��/B//B`B//B/@TxTTwUU;,$$,<B//B/�/B//B����
5%"'63227632".'&5463232>7632�G�G';(;�4Bt�tB4	!47K'6d?7���	D5++5D	

������-%3!"'&7>32#"./&#"7>?632b!-9<&��Z:5)=1$+b6@�#�U!FV ,$	T+A)����	=!+"&#546;2#5�^B@B^��^B@B^�`��B^^�� B^^B �����2"&4264&"2"&4264&"�V==V=^OΑ�Α�jKKjK(=V==VC�Α���KjKKj����"*:D$2"&42#!"&5#"&5463!2264&"754&+";2654&+"�			�		��8P8 &&`B^�l((p
�

�
�
@
�			g	 	(88(&&^B�p((�@

@
s�

�V6�� �H&�
,v�3m��	4	2Q	
�	@�	2	Lb	,�	
X	.�	&�	
'	29	&�	
�Copyright (c) Font AwesomeCopyright (c) Font AwesomeFont Awesome 5 Free SolidFont Awesome 5 Free SolidSolidSolidFont Awesome 5 Free Solid-5.14.0Font Awesome 5 Free Solid-5.14.0Font Awesome 5 Free SolidFont Awesome 5 Free Solid331.264 (Font Awesome version: 5.14.0)331.264 (Font Awesome version: 5.14.0)FontAwesome5Free-SolidFontAwesome5Free-SolidThe web's most popular icon set and toolkit.The web's most popular icon set and toolkit.https://fontawesome.comhttps://fontawesome.comFont Awesome 5 FreeFont Awesome 5 FreeSolidSolidFont Awesome 5 Free SolidFont Awesome 5 Free SolidFont Awesome 5 FreeFont Awesome 5 FreeSolidSolid���	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu�
vwxyz{|}~�������������������������������������������������������������������������������������������������������������������"�������������	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI�JKLMNOPQRSTUV�#WXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~����������������������������������������������������������������������������������������������������������������������������������	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde�fghijklmno�pqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab�cdefghijklmnopqrstuvwxyz{|}~�������������������������������������������������������������������������������������������faucettrailerbacteria	bacterium
box-tissuehand-holding-medical
hand-sparkles
hands-washhandshake-alt-slashhandshake-slashhead-side-coughhead-side-cough-slashhead-side-maskhead-side-virus
house-userlaptop-houselungs-virus
people-arrowsplane-slashpump-medical	pump-soapshield-virussinksoapstopwatch-20store-alt-slashstore-slashtoilet-paper-slashusers-slashvirusvirus-slashviruses
glass-martinimusicsearchheartstaruserfilmth-largethth-listchecktimessearch-plussearch-minus	power-offsignalcoghomeclockroaddownloadinboxredosynclist-altlockflag
headphones
volume-offvolume-down	volume-upqrcodebarcodetagtagsbookbookmarkprintcamerafontbolditalictext-height
text-width
align-leftalign-centeralign-right
align-justifylistoutdentindentvideoimage
map-markeradjusttintedit
step-backward
fast-backwardbackwardplaypausestopforwardfast-forwardstep-forwardejectchevron-left
chevron-rightplus-circleminus-circletimes-circlecheck-circlequestion-circleinfo-circle
crosshairsban
arrow-leftarrow-rightarrow-up
arrow-downshareexpandcompressexclamation-circlegiftleaffireeye	eye-slashexclamation-triangleplanecalendar-altrandomcommentmagnet
chevron-upchevron-downretweet
shopping-cartfolderfolder-open	chart-barcamera-retrokeycogscomments	star-half	thumbtacktrophyuploadlemonphonephone-squareunlockcredit-cardrsshddbullhorncertificatehand-point-righthand-point-left
hand-point-uphand-point-downarrow-circle-leftarrow-circle-rightarrow-circle-uparrow-circle-downglobewrenchtasksfilter	briefcase
arrows-altuserslinkcloudflaskcutcopy	paperclipsavesquarebarslist-ullist-ol
strikethrough	underlinetablemagictruck
money-bill
caret-downcaret-up
caret-leftcaret-rightcolumnssort	sort-downsort-upenvelopeundogavelboltsitemapumbrellapaste	lightbulbuser-mdstethoscopesuitcasebellcoffeehospital	ambulancemedkitfighter-jetbeerh-squareplus-squareangle-double-leftangle-double-rightangle-double-upangle-double-down
angle-leftangle-rightangle-up
angle-downdesktoplaptoptabletmobile
quote-leftquote-rightspinnercirclesmilefrownmehgamepadkeyboardflag-checkeredterminalcode	reply-alllocation-arrowcropcode-branchunlinkinfoexclamationsuperscript	subscripteraserpuzzle-piece
microphonemicrophone-slashcalendarfire-extinguisherrocketchevron-circle-leftchevron-circle-rightchevron-circle-upchevron-circle-downanchor
unlock-altbullseye
ellipsis-h
ellipsis-v
rss-squareplay-circleminus-squarecheck-square
pen-squareshare-squarecompasscaret-square-downcaret-square-upcaret-square-right	euro-sign
pound-signdollar-sign
rupee-signyen-sign
ruble-signwon-signfilefile-altsort-alpha-down
sort-alpha-upsort-amount-downsort-amount-upsort-numeric-downsort-numeric-up	thumbs-upthumbs-downfemalemalesunmoonarchivebugcaret-square-left
dot-circle
wheelchair	lira-sign
space-shuttleenvelope-square
universitygraduation-caplanguagefaxbuildingchildpawcubecubesrecyclecartaxitreedatabasefile-pdf	file-word
file-excelfile-powerpoint
file-imagefile-archive
file-audio
file-video	file-code	life-ringcircle-notchpaper-planehistoryheading	sliders-h	share-altshare-alt-squarebombfutboltty
binocularsplug	newspaperwifi
calculator
bell-slashtrasheye-dropperpaint-brush
birthday-cake
chart-area	chart-pie
chart-line
toggle-off	toggle-onbicyclebusclosed-captioningshekel-sign	cart-pluscart-arrow-downshipuser-secret
motorcyclestreet-view	heartbeatvenusmarsmercurytransgendertransgender-altvenus-doublemars-double
venus-marsmars-stroke
mars-stroke-v
mars-stroke-hneuter
genderlessserver	user-plus
user-timesbedtrainsubwaybattery-fullbattery-three-quartersbattery-halfbattery-quarter
battery-empty
mouse-pointeri-cursorobject-groupobject-ungroupsticky-noteclone
balance-scalehourglass-starthourglass-half
hourglass-end	hourglass	hand-rock
hand-paper
hand-scissorshand-lizard
hand-spockhand-pointer
hand-peacetv
calendar-pluscalendar-minuscalendar-timescalendar-checkindustrymap-pin	map-signsmapcomment-altpause-circlestop-circleshopping-bagshopping-baskethashtaguniversal-accessblindaudio-descriptionphone-volumebrailleassistive-listening-systems#american-sign-language-interpretingdeaf
sign-language
low-vision	handshake
envelope-openaddress-bookaddress-carduser-circleid-badgeid-cardthermometer-fullthermometer-three-quartersthermometer-halfthermometer-quarterthermometer-emptyshowerbathpodcastwindow-maximizewindow-minimizewindow-restore	microchip	snowflake
utensil-spoonutensilsundo-alt	trash-altsync-alt	stopwatchsign-out-altsign-in-altredo-altpooimages
pencil-altpenpen-altlong-arrow-alt-downlong-arrow-alt-leftlong-arrow-alt-rightlong-arrow-alt-upexpand-arrows-alt	clipboardarrows-alt-harrows-alt-varrow-alt-circle-downarrow-alt-circle-leftarrow-alt-circle-rightarrow-alt-circle-upexternal-link-altexternal-link-square-altexchange-altcloud-download-altcloud-upload-altgemlevel-down-altlevel-up-alt	lock-openmap-marker-altmicrophone-alt
mobile-altmoney-bill-altphone-slashportraitreply
shield-alt
tablet-alttachometer-alt
ticket-altuser-altwindow-closecompress-alt
expand-alt
baseball-ballbasketball-ballbowling-ballchesschess-bishopchess-board
chess-kingchess-knight
chess-pawnchess-queen
chess-rookdumbbell
football-ball	golf-ballhockey-puck	quidditchsquare-fulltable-tennisvolleyball-ball	allergiesband-aidboxboxesbriefcase-medicalburncapsulesclipboard-checkclipboard-list	diagnosesdnadolly
dolly-flatbedfile-medicalfile-medical-alt	first-aidhospital-althospital-symbolid-card-alt
notes-medicalpalletpillsprescription-bottleprescription-bottle-alt
procedures
shipping-fastsmokingsyringetabletsthermometervialvials	warehouseweightx-raybox-opencomment-dots
comment-slashcouchdonatedovehand-holdinghand-holding-hearthand-holding-usdhand-holding-waterhands
hands-helping
parachute-boxpeople-carry
piggy-bankribbonrouteseedlingsign
smile-winktape
truck-loadingtruck-movingvideo-slash
wine-glassuser-alt-slashuser-astronaut
user-check
user-clockuser-cog	user-edituser-friends
user-graduate	user-lock
user-minus
user-ninjauser-shield
user-slashuser-taguser-tie	users-cogbalance-scale-leftbalance-scale-rightblender	book-openbroadcast-towerbroom
chalkboardchalkboard-teacherchurchcoinscompact-disccrowcrowndice	dice-five	dice-fourdice-onedice-six
dice-threedice-twodoor-closed	door-openequalsfeatherfroggas-pumpglassesgreater-thangreater-than-equal
helicopter	kiwi-bird	less-thanless-than-equalmemorymicrophone-alt-slashmoney-bill-wavemoney-bill-wave-altmoney-checkmoney-check-alt	not-equalpaletteparking
percentageproject-diagramreceiptrobotrulerruler-combinedruler-horizontalruler-verticalschoolscrewdrivershoe-printsskullsmoking-banstore	store-altstreamstroopwafeltoolboxtshirtwalkingwalletangryarchwayatlasaward	backspacebezier-curvebongbrushbus-altcannabischeck-doublecocktailconcierge-bellcookiecookie-bitecrop-altdigital-tachographdizzydrafting-compassdrum
drum-steelpanfeather-alt
file-contract
file-downloadfile-exportfile-importfile-invoicefile-invoice-dollarfile-prescriptionfile-signaturefile-uploadfill	fill-dripfingerprintfishflushed
frown-openglass-martini-altglobe-africaglobe-americas
globe-asiagrimacegringrin-alt	grin-beamgrin-beam-sweatgrin-heartsgrin-squintgrin-squint-tears
grin-stars
grin-tearsgrin-tonguegrin-tongue-squintgrin-tongue-wink	grin-winkgrip-horizontal
grip-verticalheadphones-altheadsethighlighterhot-tubhoteljointkiss	kiss-beamkiss-wink-heartlaugh
laugh-beamlaugh-squint
laugh-winkluggage-cart
map-markedmap-marked-altmarkermedal	meh-blankmeh-rolling-eyesmonument
mortar-pestlepaint-rollerpassport	pen-fancypen-nibpencil-ruler
plane-arrivalplane-departureprescriptionsad-crysad-tearshuttle-van	signature
smile-beamsolar-panelspasplotch	spray-canstamp
star-half-altsuitcase-rollingsurprise
swatchbookswimmer
swimming-pool
tint-slashtiredtoothumbrella-beach
vector-squareweight-hangingwine-glass-alt
air-freshener	apple-altatombonebook-readerbraincar-altcar-battery	car-crashcar-sidecharging-station
directionsdraw-polygonlaptop-codelayer-grouplungs
microscopeoil-canpoopshapesstar-of-lifeteeth
teeth-open
theater-masks
traffic-light
truck-monstertruck-pickupadankhbible
business-timecitycomment-dollarcomments-dollarcrossdharmachakraenvelope-open-textfolder-minusfolder-plus
funnel-dollargopuramhamsabahaijedijournal-whillskaabakhandalandmark	mail-bulkmenorahmosqueompastafarianismpeaceplace-of-worshippollpoll-hpray
praying-handsquran
search-dollarsearch-locationsockssquare-root-altstar-and-crescent
star-of-david	synagoguetorah
torii-gateviharavolume-muteyin-yang
blender-phone	book-dead
campgroundcatchair
cloud-moon	cloud-sundice-d20dice-d6dogdragondrumstick-bitedungeonfile-csvfist-raisedghosthammerhanukiah
hat-wizardhikinghippohorsehouse-damagehryvniamaskmountain
network-wiredotterrunningscrollskull-crossbonesspidertoilet-papertractoruser-injuredvr-cardboardwindwine-bottlecloud-meatballcloud-moon-rain
cloud-raincloud-showers-heavycloud-sun-raindemocratflag-usameteorperson-booth	poo-stormrainbow
republicansmogtemperature-hightemperature-lowvote-yeawaterbaby
baby-carriage	biohazardblogcalendar-day
calendar-week
candy-canecarrot
cash-registercompress-arrows-altdumpster
dumpster-fireethernetgiftsglass-cheers
glass-whiskeyglobe-europe
grip-linesgrip-lines-verticalguitarheart-brokenholly-berry
horse-headiciclesigloomittenmug-hot	radiation
radiation-altrestroom	satellitesatellite-dishsd-cardsim-cardskatingskiing
skiing-nordicsleighsmssnowboardingsnowmansnowplowtengetoilettoolstramfire-altbaconbook-medicalbread-slicecheeseclinic-medicalcomment-medicalcrutchdiseaseegg	hamburgerhand-middle-fingerhard-hat
hospital-userhotdog	ice-creamlaptop-medicalpager
pepper-hotpizza-slice
trash-restoretrash-restore-alt
user-nursewave-squarebiking
border-allborder-noneborder-stylefanicons	phone-altphone-square-altphoto-video
remove-formatsort-alpha-down-altsort-alpha-up-altsort-amount-down-altsort-amount-up-altsort-numeric-down-altsort-numeric-up-altspell-check	voicemail
hat-cowboyhat-cowboy-sidemouserecord-vinylcaravan�������4�x�4�|assets/webfonts/fa-solid-900.svg000064400003371315150753125220012441 0ustar00<?xml version="1.0" standalone="no"?>
<!--
Font Awesome Free 5.14.0 by @fontawesome - https://fontawesome.com
License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
-->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<metadata>
Created by FontForge 20200314 at Wed Jul 15 11:59:41 2020
 By Robert Madole
Copyright (c) Font Awesome
</metadata>
<defs>
<font id="FontAwesome5Free-Solid" horiz-adv-x="512" >
  <font-face 
    font-family="Font Awesome 5 Free Solid"
    font-weight="900"
    font-stretch="normal"
    units-per-em="512"
    panose-1="2 0 5 3 0 0 0 0 0 0"
    ascent="448"
    descent="-64"
    bbox="-1.00195 -64.9795 640.104 448.576"
    underline-thickness="25"
    underline-position="-50"
    unicode-range="U+0020-F8FF"
  />
    <missing-glyph />
    <glyph glyph-name="faucet" unicode="&#xe005;" 
d="M352 192c88.3066 0 160 -71.6934 160 -160c0 -17.6611 -14.3389 -32 -32 -32h-64c-17.6611 0 -32 14.3389 -32 32s-14.3389 32 -32 32h-12.79c-20.5898 -37.7305 -64.21 -64 -115.21 -64s-94.6201 26.2695 -115.21 64h-92.79c-8.83105 0 -16 7.16895 -16 16v96
c0 8.83105 7.16895 16 16 16h118.61c15.71 13.4004 35.46 23 57.3896 28v47.5596l32 3.38086l32 -3.38086v-47.5596c21.9297 -4.92969 41.6797 -14.5596 57.3896 -28h38.6104zM81.5898 288.09c-9.41992 -1 -17.5898 6.81055 -17.5898 16.7998v30.2207
c0 9.98926 8.16992 17.7998 17.5898 16.8096l110.41 -11.6602v27.7402c0 8.83105 7.16895 16 16 16h32c8.83105 0 16 -7.16895 16 -16v-27.7402l110.41 11.6602c9.41992 0.990234 17.5898 -6.80957 17.5898 -16.8096v-30.2207
c0 -9.98926 -8.16992 -17.7998 -17.5898 -16.7998l-142.41 15z" />
    <glyph glyph-name="trailer" unicode="&#xe041;" horiz-adv-x="640" 
d="M624 128c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-337.61c-7.83008 54.21 -54 96 -110.39 96s-102.56 -41.79 -110.39 -96h-49.6104c-8.83105 0 -16 7.16895 -16 16v288c0 8.83105 7.16895 16 16 16h512c8.83105 0 16 -7.16895 16 -16v-240
h80zM96 204.32v107.68c0 4.41504 -3.58496 8 -8 8h-16c-4.41504 0 -8 -3.58496 -8 -8v-128.39c9.85938 8.0166 20.5459 14.9482 32 20.71zM192 222.86v89.1396c0 4.41504 -3.58496 8 -8 8h-16c-4.41504 0 -8 -3.58496 -8 -8v-89.1396
c5.30957 0.489258 10.5703 1.13965 16 1.13965s10.6904 -0.650391 16 -1.13965zM288 183.61v128.39c0 4.41504 -3.58496 8 -8 8h-16c-4.41504 0 -8 -3.58496 -8 -8v-107.68c11.4541 -5.76172 22.1406 -12.6934 32 -20.71zM384 128v184c0 4.41504 -3.58496 8 -8 8h-16
c-4.41504 0 -8 -3.58496 -8 -8v-184h32zM480 128v184c0 4.41504 -3.58496 8 -8 8h-16c-4.41504 0 -8 -3.58496 -8 -8v-184h32zM176 128c44.1533 0 80 -35.8467 80 -80s-35.8467 -80 -80 -80s-80 35.8467 -80 80s35.8467 80 80 80zM176 16c17.6611 0 32 14.3389 32 32
s-14.3389 32 -32 32s-32 -14.3389 -32 -32s14.3389 -32 32 -32z" />
    <glyph glyph-name="bacteria" unicode="&#xe059;" horiz-adv-x="640" 
d="M272.35 221.6c-2.19727 -0.946289 -4.63184 -1.47949 -7.17578 -1.47949h-0.0341797c-0.00292969 0 0.00195312 -0.0146484 -0.00195312 -0.0146484c-7.27051 0 -13.5322 4.35449 -16.3174 10.5947l-3.91992 8.84961
c-1.15039 -0.729492 -2.35059 -1.37988 -3.4707 -2.14941c-3.47168 -2.44629 -6.75293 -5.02832 -9.93945 -7.82031c-4.16406 -3.56152 -8.00098 -7.31543 -11.6504 -11.4004c-2.79688 -3.0166 -5.3916 -6.11719 -7.87012 -9.41016
c-0.700195 -0.969727 -1.22949 -2.0498 -1.89941 -3.0498l8.7998 -4.10938c6.0166 -2.84082 10.1523 -8.94531 10.1523 -16.0361c0 -9.79199 -7.9502 -17.7432 -17.7432 -17.7432c-2.70312 0 -5.26562 0.606445 -7.55957 1.68848l-9 4.2207
c-1.61035 -5.00293 -2.92773 -10.2646 -3.87012 -15.5303c-1.9248 -11.2178 -6.14648 -21.8359 -12.0801 -31.0498l9.14062 -9.37012c3.09082 -3.19824 4.99121 -7.55957 4.99121 -12.3545c0 -9.80859 -7.96387 -17.7715 -17.7725 -17.7715
c-5.01465 0 -9.54688 2.08105 -12.7793 5.42578l-8.58984 8.7998c-13.0752 -8.66602 -28.8223 -13.7949 -45.6494 -13.8799c-1.03027 0 -2.10059 0.259766 -3.10059 0.259766l-2.87012 -11c-2.08008 -7.52637 -8.97949 -13.0732 -17.165 -13.0732
c-9.8291 0 -17.8096 7.98047 -17.8096 17.8105c0 1.44043 0.171875 2.84082 0.495117 4.18359l2.87988 11.0596c-15.5566 7.7666 -28.2236 20.1123 -36.3896 35.4297l-11.2705 -3.33008c-1.60547 -0.477539 -3.30273 -0.741211 -5.06348 -0.741211
c-9.79004 0 -17.7383 7.94824 -17.7383 17.7383c0 8.03027 5.34668 14.8213 12.6719 17.0029l11.5801 3.43066c-0.142578 1.98535 -0.214844 3.83594 -0.214844 5.85742c0 4.47168 0.353516 8.86133 1.03516 13.1426c1.72949 10.3799 4.72949 20.2197 7.51953 30.2197
l-10.3496 3.54004c-6.94824 2.40234 -11.9346 8.99512 -11.9346 16.7549c0 9.78711 7.94629 17.7334 17.7334 17.7334c2.02734 0 3.97559 -0.34082 5.79102 -0.96875l10.4795 -3.58984c6.40332 15.3193 14.1484 30.0723 23 43.9102l-8.87988 6.46973
c-4.4375 3.20996 -7.30176 8.43652 -7.30176 14.3262c0 3.90625 1.27148 7.51855 3.42188 10.4443c3.24805 4.4248 8.49316 7.27441 14.3975 7.27441c3.9209 0 7.54688 -1.26758 10.4922 -3.41406l8.82031 -6.4209c10.6797 12.8564 22.2119 24.5146 34.9502 35.3301
l-6.4502 8.61035c-2.22168 2.95703 -3.5625 6.6377 -3.5625 10.6182c0 5.82617 2.82227 10.998 7.17285 14.2217c2.97461 2.20312 6.66211 3.53027 10.6445 3.53027c5.83789 0 11.0273 -2.80078 14.2949 -7.12988l6.32031 -8.43066
c13.8359 9.05371 28.5869 16.9834 43.9404 23.5703l-3.49023 9.7998c-0.658203 1.8584 -1.02734 3.86816 -1.02734 5.95117c0 9.8252 7.97656 17.8018 17.8018 17.8018c7.74316 0 14.3379 -4.9541 16.7852 -11.8623l3.37988 -9.45996
c10.9004 3.16992 21.7305 6.38965 33.1104 8.21973c4.51367 0.758789 9.02637 1.15234 13.7539 1.15234c1 0 1.99512 -0.0175781 2.98633 -0.0527344l2.81934 10.7803c1.98633 7.66504 8.95117 13.3457 17.2334 13.3457c9.82617 0 17.8047 -7.97754 17.8047 -17.8037
c0 -1.54395 -0.197266 -3.04297 -0.567383 -4.47168l-2.83984 -10.8506c15.5527 -7.83105 28.2119 -20.2178 36.3799 -35.5693l11.3398 3.35938c1.6084 0.480469 3.30957 0.745117 5.07324 0.745117c9.79199 0 17.7412 -7.9502 17.7412 -17.7412
c0 -8.02832 -5.34375 -14.8184 -12.665 -17.0039l-11.8496 -3.50977c0.120117 -1.82227 0.125977 -3.67969 0.125977 -5.53223c0 -15.5859 -4.2998 -30.1758 -11.7764 -42.6475l9.7207 -8.76074c3.56934 -3.25 5.79688 -7.92969 5.79688 -13.1328
c0 -9.80469 -7.95996 -17.7646 -17.7637 -17.7646c-4.60156 0 -8.79688 1.75391 -11.9531 4.62793l-10 9c-9.85547 -6.88477 -21.4219 -11.7422 -33.75 -13.8398c-4.16895 -0.80957 -8.35547 -1.85547 -12.3604 -3.08008l4 -9.08008
c0.96875 -2.18848 1.5293 -4.61426 1.5293 -7.16016c0 -7.26172 -4.37988 -13.5078 -10.6396 -16.2402zM128 192c17.6611 0 32 14.3389 32 32s-14.3389 32 -32 32s-32 -14.3389 -32 -32s14.3389 -32 32 -32zM208 288c8.83105 0 16 7.16895 16 16s-7.16895 16 -16 16
s-16 -7.16895 -16 -16s7.16895 -16 16 -16zM639.26 242.7c0.470703 -1.59277 0.724609 -3.27344 0.724609 -5.01758c0 -8.04492 -5.37891 -14.8438 -12.7344 -16.9922l-11.5801 -3.43066c0.143555 -1.99512 0.216797 -3.85547 0.216797 -5.88672
c0 -4.47852 -0.354492 -8.875 -1.03711 -13.1631c-1.72949 -10.3701 -4.72949 -20.21 -7.51953 -30.21l10.3398 -3.53027c6.94824 -2.40234 11.9346 -8.99414 11.9346 -16.7549c0 -9.78711 -7.94629 -17.7334 -17.7344 -17.7334
c-2.02637 0 -3.97559 0.34082 -5.79004 0.96875l-10.4805 3.58984c-6.40527 -15.3213 -14.1494 -30.0781 -23 -43.9199l8.88086 -6.45996c4.6377 -3.20605 7.64746 -8.54297 7.64746 -14.6025c0 -9.80176 -7.95801 -17.7598 -17.7598 -17.7598
c-4.10156 0 -7.87988 1.39355 -10.8877 3.73242l-8.82031 6.41992c-10.6826 -12.8574 -22.2148 -24.5176 -34.9502 -35.3398l6.4502 -8.61035c2.23926 -2.96094 3.5918 -6.6543 3.5918 -10.6494c0 -5.84082 -2.83984 -11.0225 -7.21191 -14.2402
c-2.97363 -2.20508 -6.66016 -3.53418 -10.6426 -3.53418c-5.83594 0 -11.0234 2.80273 -14.2871 7.13379l-6.32031 8.42969c-13.8379 -9.05273 -28.5889 -16.9854 -43.9404 -23.5801l3.49023 -9.79004c0.658203 -1.85742 1.02734 -3.86816 1.02734 -5.9502
c0 -9.8252 -7.97656 -17.8018 -17.8018 -17.8018c-7.74316 0 -14.3379 4.9541 -16.7852 11.8623l-3.37988 9.45996c-10.8604 -3.16992 -21.7305 -6.34961 -33.1006 -8.24023c-4.51465 -0.757812 -9.02832 -1.15234 -13.7568 -1.15234
c-0.999023 0 -1.99316 0.0175781 -2.9834 0.0527344l-2.81934 -10.7803c-1.98633 -7.66504 -8.95117 -13.3457 -17.2334 -13.3457c-9.82617 0 -17.8037 7.97754 -17.8037 17.8047c0 1.54395 0.196289 3.04199 0.566406 4.47168l2.84082 10.8496
c-15.5664 7.8291 -28.2363 20.2207 -36.4102 35.5801l-11.3398 -3.36035c-1.61035 -0.480469 -3.31348 -0.746094 -5.0791 -0.746094c-9.79199 0 -17.7422 7.9502 -17.7422 17.7432c0 8.02734 5.3418 14.8164 12.6611 17.0029l11.8594 3.51074
c-0.119141 1.82227 -0.125 3.67871 -0.125 5.53125c0 15.5869 4.29883 30.1768 11.7754 42.6484l-9.71973 8.75c-3.68848 3.25684 -6.00293 8.0166 -6.00293 13.3193c0 9.80762 7.96289 17.7705 17.7705 17.7705c4.69824 0 8.97363 -1.82812 12.1523 -4.80957l10 -9
c9.85645 6.9082 21.4297 11.7861 33.7695 13.8994c4.1709 0.804688 8.35742 1.85156 12.3604 3.08008l-4 9.08008c-0.962891 2.18262 -1.51953 4.60156 -1.51953 7.13867c0 7.25391 4.37012 13.4951 10.6191 16.2314c2.19824 0.954102 4.63477 1.49414 7.18066 1.5
c0.00390625 0 -0.00195312 0.0146484 0.00195312 0.0146484c7.27051 0 13.5322 -4.35449 16.3174 -10.5947l3.91992 -8.84961c1.15039 0.729492 2.35059 1.37988 3.4707 2.14941c3.49023 2.4502 6.79199 5.03613 10 7.83008c4.13867 3.53516 7.94922 7.2666 11.5693 11.3301
c2.82617 3.03223 5.44336 6.15332 7.94043 9.46973c0.69043 0.970703 1.21973 2.0498 1.88965 3.0498l-8.7998 4.11035c-6.0166 2.84082 -10.1523 8.94531 -10.1523 16.0352c0 9.79297 7.9502 17.7432 17.7432 17.7432c2.70312 0 5.26562 -0.605469 7.55957 -1.68848
l9 -4.21973c1.60938 4.99902 2.92676 10.2578 3.87012 15.5195c1.91992 11.2236 6.14258 21.8457 12.0801 31.0605l-9.14062 9.37012c-3.09082 3.19824 -4.99121 7.55957 -4.99121 12.3535c0 9.80957 7.96387 17.7725 17.7725 17.7725
c5.01465 0 9.54688 -2.08105 12.7793 -5.42578l8.58984 -8.81055c13.0723 8.67285 28.8203 13.8066 45.6494 13.8906c1.03027 0 2.10059 -0.260742 3.10059 -0.260742l2.87012 11c2.10059 7.49609 8.98438 13.0137 17.1475 13.0137
c9.83008 0 17.8105 -7.98047 17.8105 -17.8096c0 -1.41602 -0.166016 -2.79297 -0.478516 -4.11426l-2.87988 -11.0596c15.5527 -7.77246 28.2188 -20.1162 36.3896 -35.4297l11.2705 3.33008c1.59766 0.478516 3.28906 0.739258 5.04199 0.739258h0.0380859
c0.00585938 0 0.0078125 -0.000976562 0.0136719 -0.000976562c8.0459 0 14.8506 -5.35254 17.0459 -12.6885zM416 32c17.6611 0 32 14.3389 32 32s-14.3389 32 -32 32s-32 -14.3389 -32 -32s14.3389 -32 32 -32z" />
    <glyph glyph-name="bacterium" unicode="&#xe05a;" 
d="M511 345.07c0.634766 -2.13379 0.976562 -4.3877 0.976562 -6.72656c0 -10.7275 -7.1709 -19.7949 -16.9766 -22.6641l-15.79 -4.67969c0.15625 -2.4082 0.163086 -4.86133 0.163086 -7.30859c0 -20.8174 -5.75195 -40.3027 -15.7529 -56.9512l12.9395 -11.6699
c5.1709 -4.34766 8.44043 -10.8584 8.44043 -18.1357c0 -13.0742 -10.6152 -23.6895 -23.6895 -23.6895c-6.47754 0 -12.3525 2.60547 -16.6309 6.8252l-13.3301 12c-13.1318 -9.21387 -28.5537 -15.7207 -45 -18.54c-5.5625 -1.07129 -11.1484 -2.46484 -16.4893 -4.10059
l5.35938 -12.1094c1.2793 -2.91602 2.0127 -6.17285 2.0127 -9.55859c0 -13.1035 -10.6377 -23.7412 -23.7412 -23.7412c-9.7168 0 -18.0791 5.85156 -21.751 14.2197l-5.23047 11.7998c-1.5293 -0.980469 -3.12988 -1.87012 -4.62988 -2.87012
c-4.61719 -3.25684 -8.98438 -6.69043 -13.2295 -10.4004c-5.58008 -4.76562 -10.7148 -9.79785 -15.5908 -15.2793c-3.71875 -4.00195 -7.16699 -8.11914 -10.46 -12.4902c-0.929688 -1.29004 -1.62988 -2.74023 -2.51953 -4.05957l11.7197 -5.49023
c8.20801 -3.71484 13.8818 -11.9531 13.8818 -21.542c0 -13.0576 -10.6016 -23.6592 -23.6602 -23.6592c-3.73535 0 -7.26855 0.867188 -10.4111 2.41113l-12 5.63965c-2.14844 -6.6709 -3.90527 -13.6875 -5.16016 -20.71
c-2.5625 -14.959 -8.19336 -29.1182 -16.1104 -41.3994l12.1904 -12.5c3.92383 -4.22949 6.32129 -9.90332 6.32129 -16.1221c0 -13.0801 -10.6201 -23.7002 -23.7002 -23.7002c-6.5127 0 -12.416 2.63379 -16.7012 6.8916l-11.4502 11.7402
c-17.4336 -11.5586 -38.4326 -18.4014 -60.8701 -18.5195c-1.36035 0 -2.75977 0.299805 -4.12988 0.349609l-3.80957 -14.6299c-2.67383 -10.1768 -11.9395 -17.7002 -22.9502 -17.7002h-0.0498047c-2.07324 0.00292969 -4.07715 0.264648 -6 0.75
c-10.1992 2.62988 -17.751 11.8857 -17.751 22.9014c0 2.04688 0.260742 4.03418 0.750977 5.92871l3.84961 14.75c-20.7412 10.3623 -37.6318 26.8203 -48.5303 47.2402l-15 -4.44043c-2.14062 -0.638672 -4.40527 -0.989258 -6.75293 -0.989258
c-13.0479 0 -23.6406 10.5928 -23.6406 23.6406c0 10.6992 7.12402 19.749 16.8838 22.6592l15.4404 4.55957c-0.199219 2.7207 -0.300781 5.25781 -0.300781 8.0293c0 5.89355 0.458008 11.6826 1.34082 17.3311c2.37012 13.6738 5.52832 27.3877 9.2998 40.5293
l-13 4.48047c-9.47656 3.08398 -16.3213 11.9814 -16.3213 22.4805c0 13.0527 10.5967 23.6504 23.6494 23.6504c2.86035 0 5.60254 -0.508789 8.1416 -1.44141l12.9297 -4.42969c8.61523 20.5029 19.0254 40.2393 30.9199 58.75l-11.0898 8.06055
c-6.20508 4.27051 -10.2344 11.3994 -10.2344 19.4951c0 13.0693 10.6104 23.6797 23.6797 23.6797c5.48535 0 10.5381 -1.86914 14.5547 -5.00488l11 -8c14.2725 17.249 29.6816 32.9014 46.7002 47.4395l-8 10.6299c-2.9541 3.9375 -4.7373 8.83691 -4.7373 14.1338
c0 7.7666 3.76465 14.6611 9.56738 18.9561c3.96484 2.93848 8.87988 4.70801 14.1885 4.70801c7.78125 0 14.6973 -3.73438 19.0518 -9.50781l8 -10.6299c18.4736 12.2129 38.1689 22.917 58.6895 31.8301l-4.2998 12.0498
c-0.799805 2.37695 -1.24805 4.93555 -1.24805 7.58105c0 13.1025 10.6377 23.7402 23.7402 23.7402c10.1953 0 18.8975 -6.44043 22.2578 -15.4707l4.2998 -12c14.3408 4.27246 29.3477 7.81055 44.3301 10.4102c6.0459 1.01172 12.0889 1.53711 18.4199 1.53711
c1.30859 0 2.6123 -0.0224609 3.91016 -0.0673828l3.75977 14.3701c2.64941 10.2295 11.9443 17.8125 22.998 17.8125c13.1123 0 23.7588 -10.6465 23.7588 -23.7588c0 -2.05957 -0.262695 -4.05762 -0.756836 -5.96387l-3.79004 -14.4697
c20.7402 -10.4336 37.6182 -26.9492 48.5 -47.4209l15.1201 4.48047c2.14844 0.639648 4.41797 0.985352 6.77246 0.985352c10.7344 0 19.8164 -7.13379 22.7578 -16.915zM160 80c26.4922 0 48 21.5078 48 48s-21.5078 48 -48 48s-48 -21.5078 -48 -48s21.5078 -48 48 -48z
M240 216c13.2461 0 24 10.7539 24 24s-10.7539 24 -24 24s-24 -10.7539 -24 -24s10.7539 -24 24 -24z" />
    <glyph glyph-name="box-tissue" unicode="&#xe05b;" 
d="M383.88 160.18h-256l-64 288h141.4c30.9912 -0.00195312 57.3018 -20.1162 66.5996 -48c9.29492 -27.8818 35.6016 -47.9961 66.5898 -48h109.41zM-0.120117 -31.8203v64h512v-64c0 -17.6611 -14.3389 -32 -32 -32h-448c-17.6611 0 -32 14.3389 -32 32zM479.88 224.18
c17.6562 -0.00488281 31.9902 -14.3418 31.9902 -32v-128h-512v128c0 17.6611 14.3389 32 32 32h49l14.2197 -64h-15.21c-8.83008 0 -16 -7.16895 -16 -16c0 -8.83008 7.16992 -16 16 -16h352c8.83105 0 16 7.16992 16 16c0 8.83105 -7.16895 16 -16 16h-14.2695l21.3301 64
h40.9395z" />
    <glyph glyph-name="hand-holding-medical" unicode="&#xe05c;" horiz-adv-x="576" 
d="M159.88 272.18c-8.83008 0 -16 7.16992 -16 16v64c0 8.83105 7.16992 16 16 16h64v64c0 8.83105 7.16992 16 16 16h64c8.83105 0 16 -7.16895 16 -16v-64h64c8.83105 0 16 -7.16895 16 -16v-64c0 -8.83008 -7.16895 -16 -16 -16h-64v-64c0 -8.83008 -7.16895 -16 -16 -16
h-64c-8.83008 0 -16 7.16992 -16 16v64h-64zM568.07 111.87c4.87109 -6.62695 7.80469 -14.8232 7.80469 -23.6709c0 -13.1982 -6.40527 -24.9121 -16.2754 -32.1992l-135.029 -99.5703c-17.2783 -12.6621 -38.6699 -20.2148 -61.7002 -20.2695h-347
c-8.80273 0.0595703 -15.9404 7.19727 -16 16v96c0.0595703 8.80273 7.19727 15.9395 16 16h55.3604l46.5 37.7402c20.2246 16.3867 46.0615 26.25 74.0947 26.25h0.0244141h160c17.6943 0 32.0654 -14.3359 32.0654 -32.0303
c0 -1.82324 -0.152344 -3.61035 -0.445312 -5.35059c-2.62012 -15.7393 -17.3701 -26.6094 -33.3701 -26.6094h-78.2393c-8.83105 0 -16 -7.16992 -16 -16c0 -8.83105 7.16895 -16 16 -16h120.609l119.67 88.1797c6.63281 4.91016 14.8516 7.87012 23.7295 7.87012
c13.2129 0 24.9355 -6.43555 32.2012 -16.3398z" />
    <glyph glyph-name="hand-sparkles" unicode="&#xe05d;" horiz-adv-x="640" 
d="M106.66 277.36l-20.7402 -49.6201c-1.08691 -2.19531 -3.34277 -3.70703 -5.95605 -3.70703s-4.87695 1.51172 -5.96387 3.70703l-20.6602 49.6602h-0.0703125l-49.5898 20.5996c-2.10938 1.20508 -3.55469 3.42969 -3.67969 6v0
c0.124023 2.57617 1.5791 4.80371 3.7002 6l49.6299 20.6904h0.0498047l20.7002 49.6299c1.0918 2.18848 3.3457 3.69434 5.95605 3.69434s4.87207 -1.50586 5.96387 -3.69434l20.6602 -49.6406h0.0703125l49.5693 -20.6699c2.11328 -1.2002 3.56055 -3.42676 3.68066 -6v0
c-0.125977 -2.57031 -1.57129 -4.79492 -3.68066 -6l-49.5498 -20.6494h-0.0898438zM471.38 -19.4102l37.4902 -15.6299l0.0703125 -0.169922c-7.59082 -17.0596 -24 -28.79 -43.2402 -28.79h-197.61c-15.9482 0.0273438 -30.0625 7.79492 -38.79 19.79l-125.6 172.61
c-4.80469 6.60156 -7.68066 14.7979 -7.68066 23.5801c0 22.085 17.9297 40.0156 40.0146 40.0156c13.3027 0 25.0986 -6.50586 32.376 -16.5059l23.5898 -32.4902v241c0 17.6611 14.3389 32 32 32s32 -14.3389 32 -32v-152c0 -4.41504 3.58496 -8 8 -8h16
c4.41504 0 8 3.58496 8 8v184c0 17.6611 14.3389 32 32 32s32 -14.3389 32 -32v-184c0 -4.41504 3.58496 -8 8 -8h16c4.41504 0 8 3.58496 8 8v152c0 17.6611 14.3389 32 32 32s32 -14.3389 32 -32v-152c0 -4.41504 3.58496 -8 8 -8h16c4.41504 0 8 3.58496 8 8v72
c0 17.6611 14.3389 32 32 32s32 -14.3389 32 -32v-176.03c-0.0195312 -1.30957 -0.269531 -2.66992 -0.269531 -4c-7.77051 -3.70996 -14.5 -9.59961 -18.3506 -17.3398l-0.469727 -0.950195l-0.410156 -1l-15.6299 -37.4795l-37.4902 -15.6299l-1 -0.430664l-1 -0.489258
c-12.6719 -6.35254 -21.3789 -19.4189 -21.3789 -34.5479s8.70703 -28.2402 21.3789 -34.5928l1 -0.5zM349.79 108.48c1.31543 0.655273 2.21973 2.00879 2.21973 3.57715s-0.904297 2.92676 -2.21973 3.58203l-29.79 12.4199l-12.4297 29.7803
c-0.657227 1.30957 -2.00879 2.20996 -3.57324 2.20996c-1.56348 0 -2.91992 -0.900391 -3.57715 -2.20996l-12.4199 -29.7803l-29.79 -12.4199c-1.31543 -0.655273 -2.21973 -2.00879 -2.21973 -3.57715s0.904297 -2.92676 2.21973 -3.58203l29.79 -12.4102
l12.4297 -29.7803c0.657227 -1.30957 2.00879 -2.20996 3.57324 -2.20996c1.56348 0 2.91992 0.900391 3.57715 2.20996l12.4199 29.7803zM640 16.0898l-0.0703125 -0.0703125v0c-0.135742 -2.55078 -1.58008 -4.75684 -3.67969 -5.94922l-49.5498 -20.6602h-0.0898438v0
l-20.6904 -49.6201c-1.08691 -2.19531 -3.34277 -3.70703 -5.95605 -3.70703s-4.87695 1.51172 -5.96387 3.70703l-20.6602 49.5898h-0.0703125l-49.5693 20.6699c-2.10059 1.19238 -3.54395 3.39844 -3.68066 5.9502v0c0.118164 2.57324 1.56641 4.80078 3.68066 6
l49.6299 20.7402h0.0498047l20.7002 49.6299c1.0918 2.18848 3.3457 3.69434 5.95605 3.69434s4.87207 -1.50586 5.96387 -3.69434l20.6797 -49.6104h0.0703125l49.5703 -20.6699c2.11328 -1.19922 3.5625 -3.42676 3.67969 -6z" />
    <glyph glyph-name="hands-wash" unicode="&#xe05e;" horiz-adv-x="576" 
d="M496 224c-26.4922 0 -48 21.5078 -48 48s21.5078 48 48 48s48 -21.5078 48 -48s-21.5078 -48 -48 -48zM311.47 269.55l-16.0801 -4.96973l20.9004 66.1699c3.5 11.0703 14.1797 18.8604 25.71 17.5098c12.0508 -1.27246 21.4727 -11.4824 21.4727 -23.8682
c0 -2.53418 -0.393555 -4.97754 -1.12305 -7.27148l-15.3496 -48.6104c-5.91699 2.19336 -12.3369 3.43457 -19 3.49023c-0.0107422 0 -0.0185547 -0.0107422 -0.0302734 -0.0107422c-5.7373 0 -11.2773 -0.853516 -16.5 -2.43945zM93.6504 61.6699
c-36.4326 21.1162 -60.9873 60.2432 -61.6504 105.19v112.729c0.179688 13.3203 11.6699 23.9102 24.9004 23.8604c13.1807 -0.0771484 23.8604 -10.7988 23.8604 -23.9971c0 -0.0507812 0 -0.102539 -0.000976562 -0.15332l2.06055 -50.0498l60 189.85
c3.5 11.0703 14.1797 18.9004 25.71 17.46c12.0371 -1.28613 21.4443 -11.4883 21.4443 -23.8652c0 -2.52441 -0.390625 -4.95801 -1.11426 -7.24414l-38.5605 -122c-0.240234 -0.760742 -0.373047 -1.57129 -0.373047 -2.41016
c0 -4.41699 3.58496 -8.00195 8.00195 -8.00195c3.57617 0 6.60742 2.35156 7.63086 5.5918l47.9307 151.71c3.50977 11.0605 14.1797 18.8506 25.71 17.5098c12.0371 -1.28613 21.4443 -11.4883 21.4443 -23.8652c0 -2.52441 -0.390625 -4.95801 -1.11426 -7.24414
l-43.3701 -137.79c-0.241211 -0.762695 -0.375 -1.57422 -0.375 -2.41602c0 -4.41699 3.58594 -8.00293 8.00293 -8.00293c3.57617 0 6.60645 2.35059 7.63184 5.58887l33.4502 106.42c3.5 11.0703 14.1895 18.8604 25.7197 17.5195
c12.0371 -1.28613 21.4443 -11.4883 21.4443 -23.8652c0 -2.52441 -0.390625 -4.95801 -1.11426 -7.24414l-34.1602 -108.12l-73.7002 -22.7598c-62.1299 -20.5283 -107.005 -79.04 -107.06 -148v-25.6904c-0.80957 -0.169922 -1.5498 -0.519531 -2.34961 -0.709961z
M519.1 112c11.6104 0 22.25 -7.83984 24.4404 -19.2402c0.3125 -1.54395 0.477539 -3.12402 0.477539 -4.75977c0 -13.2461 -10.7549 -24 -24 -24h-0.0175781h-160c-4.41504 0 -8 -3.58496 -8 -8s3.58496 -8 8 -8h127.1c11.6104 0 22.25 -7.83984 24.4404 -19.2402
c0.3125 -1.54395 0.477539 -3.12402 0.477539 -4.75977c0 -13.2461 -10.7549 -24 -24 -24h-0.0175781h-128c-4.41504 0 -8 -3.58496 -8 -8s3.58496 -8 8 -8h95.0996c11.6104 0 22.25 -7.83984 24.4404 -19.2402c0.3125 -1.54395 0.477539 -3.12402 0.477539 -4.75977
c0 -13.2461 -10.7549 -24 -24 -24h-0.0175781h-208c-22.6738 0.0859375 -43.9951 6.60645 -62 17.7197c3.8623 9.36328 5.9668 19.6699 5.9668 30.4199c0 38.6191 -27.499 70.8652 -63.9668 78.21v25.6504c0 54.8691 35.7324 101.431 85.1904 117.69l107.72 33.25
c2.24121 0.692383 4.62207 1.0752 7.08984 1.0752c13.252 0 24.0107 -10.7588 24.0107 -24.0107c0 -10.7842 -7.125 -19.917 -16.9209 -22.9453l-47.0898 -17.0596h199.1c11.6104 0 22.25 -7.83984 24.4404 -19.2402c0.3125 -1.54395 0.477539 -3.12402 0.477539 -4.75977
c0 -13.2461 -10.7549 -24 -24 -24h-0.0175781h-128c-4.41504 0 -8 -3.58496 -8 -8s3.58496 -8 8 -8h159.1zM416 384c-17.6611 0 -32 14.3389 -32 32s14.3389 32 32 32s32 -14.3389 32 -32s-14.3389 -32 -32 -32zM112 32c26.4922 0 48 -21.5078 48 -48s-21.5078 -48 -48 -48
s-48 21.5078 -48 48s21.5078 48 48 48z" />
    <glyph glyph-name="handshake-alt-slash" unicode="&#xe05f;" horiz-adv-x="640" 
d="M358.59 252.4l26.1104 23.8896c3.19727 2.92676 5.19238 7.13086 5.19238 11.8037c0 8.83203 -7.1709 16.0029 -16.0039 16.0029c-4.16016 0 -7.95117 -1.59082 -10.7988 -4.19629l-27 -24.7002l-32.6895 -29.9199l330.43 -255.38
c3.76562 -2.92871 6.1709 -7.50781 6.1709 -12.6426c0 -3.69434 -1.25488 -7.09863 -3.36133 -9.80762l-19.6396 -25.2705c-2.92871 -3.76855 -7.50879 -6.17578 -12.6465 -6.17578c-3.69727 0 -7.10254 1.25684 -9.81348 3.36621l-588.35 454.72
c-3.76562 2.92871 -6.17188 7.50781 -6.17188 12.6426c0 3.69434 1.25488 7.09766 3.36133 9.80762l19.6201 25.2695c2.92773 3.77148 7.51074 6.18164 12.6504 6.18164c3.69922 0 7.1084 -1.25879 9.81934 -3.37109l116.891 -90.3301l20.3398 20.2998
c5.78027 5.7998 13.7764 9.39258 22.5996 9.41016h83.79l-75.5996 -69.2402l25.6895 -19.8496l88.1201 80.6797c5.69238 5.21777 13.2881 8.40723 21.6104 8.41016h85.8896c8.82812 -0.0146484 16.8271 -3.60742 22.6104 -9.41016l54.5898 -54.5898h112
c8.7998 0 15.9502 -7.12109 16 -15.9102v-191.8c-0.0273438 -8.81836 -7.18164 -15.9727 -16 -16h-97.5898c-2.7002 15.1729 -10.7646 28.5215 -22.21 37.9102zM16 320h7.55957l382.44 -295.59l-8.7998 -10.8203c-6.81543 -8.38672 -17.2246 -13.7119 -28.8633 -13.7119
c-8.87793 0 -17.0322 3.12012 -23.4268 8.32227l-17.9102 15.5l-0.200195 -0.200195c-11.7383 -14.4346 -29.6592 -23.5977 -49.6963 -23.5977c-15.2695 0 -29.2969 5.35938 -40.3037 14.2979l-90.5 81.8896h-130.3c-8.83105 0 -16 7.16992 -16 16v191.91
c0.0273438 8.81836 7.18164 15.9727 16 16z" />
    <glyph glyph-name="handshake-slash" unicode="&#xe060;" horiz-adv-x="640" 
d="M0 319.79h23.8301l72.1699 -55.79v-168c0 -17.6611 -14.3389 -32 -32 -32h-64v255.79zM48 127.9c-8.83105 0 -16 -7.16992 -16 -16c0 -8.83105 7.16895 -16 16 -16s16 7.16895 16 16c0 8.83008 -7.16895 16 -16 16zM128 96.0898v143.19l278 -214.87l-8.7998 -10.8203
c-6.81543 -8.38672 -17.2246 -13.7119 -28.8633 -13.7119c-8.87793 0 -17.0322 3.12012 -23.4268 8.32227l-17.9102 15.5l-0.200195 -0.200195c-11.7383 -14.4346 -29.6592 -23.5977 -49.6963 -23.5977c-15.2695 0 -29.2969 5.35938 -40.3037 14.2979l-90.5 81.8896
h-18.2998zM544 319.79h96v-255.89h-64c-17.6611 0 -32 14.3379 -32 32v223.89zM592 95.9004c8.83105 0 16 7.16895 16 16c0 8.83008 -7.16895 16 -16 16s-16 -7.16992 -16 -16c0 -8.83105 7.16895 -16 16 -16zM303.33 245.33l330.5 -255.43
c3.76953 -2.92871 6.17676 -7.50977 6.17676 -12.6475c0 -3.69238 -1.25293 -7.09375 -3.35645 -9.80273l-19.6504 -25.2705c-2.92773 -3.77051 -7.51074 -6.18066 -12.6504 -6.18066c-3.69922 0 -7.1084 1.25879 -9.81934 3.37109l-588.34 454.72
c-3.76562 2.92871 -6.17188 7.50781 -6.17188 12.6426c0 3.69434 1.25488 7.09766 3.36133 9.80762l19.6201 25.2695c2.92773 3.77148 7.51074 6.18164 12.6504 6.18164c3.69922 0 7.1084 -1.25879 9.81934 -3.37109l116.891 -90.3398l20.3398 20.3096
c5.78027 5.7998 13.7764 9.39258 22.5996 9.41016h83.79l-75.5996 -69.2402l25.6396 -19.8096l88.0703 80.6396c5.68457 5.21973 13.2764 8.41016 21.5947 8.41016h0.00488281h85.9004c0.0117188 0 0.0263672 0.00488281 0.0380859 0.00488281
c8.82031 0 16.8047 -3.60254 22.5615 -9.41504l54.6104 -54.5898v-193.5c-2.45605 2.78125 -5.0625 5.31934 -7.91016 7.7002l-145.59 118.2l26.0898 23.8896c3.05762 2.91504 4.95215 7.02441 4.95215 11.5781c0 8.83105 -7.16895 16 -16 16
c-4.03613 0 -7.72559 -1.49805 -10.542 -3.96777z" />
    <glyph glyph-name="head-side-cough" unicode="&#xe061;" horiz-adv-x="640" 
d="M616 144c-13.2461 0 -24 10.7539 -24 24s10.7539 24 24 24s24 -10.7539 24 -24s-10.7539 -24 -24 -24zM552 32c13.2461 0 24 -10.7539 24 -24s-10.7539 -24 -24 -24s-24 10.7539 -24 24s10.7539 24 24 24zM488 88c13.2461 0 24 -10.7539 24 -24s-10.7539 -24 -24 -24
s-24 10.7539 -24 24s10.7539 24 24 24zM616 -16c13.2461 0 24 -10.7539 24 -24s-10.7539 -24 -24 -24s-24 10.7539 -24 24s10.7539 24 24 24zM616 88c13.2461 0 24 -10.7539 24 -24s-10.7539 -24 -24 -24s-24 10.7539 -24 24s10.7539 24 24 24zM552 128
c13.2461 0 24 -10.7539 24 -24s-10.7539 -24 -24 -24s-24 10.7539 -24 24s10.7539 24 24 24zM477.22 173c1.76367 -3.9668 2.75977 -8.38281 2.75977 -13c0 -17.6543 -14.3281 -31.9883 -31.9795 -32h-32v-32h-96c-17.6611 0 -32 -14.3389 -32 -32s14.3389 -32 32 -32h96
c0 -35.3223 -28.6777 -64 -64 -64h-64v-32h-224v177.12c-39.25 35.2598 -64 86.1299 -64 142.88c0 106 86 192 192 192h42.0996c70.2783 -0.046875 132.342 -34.8047 170 -88.25c24.6201 -35 52.1201 -139.63 73.1201 -186.75zM288 224
c17.6436 0.0380859 31.9619 14.3564 32 32c0 17.6611 -14.3389 32 -32 32s-32 -14.3389 -32 -32s14.3389 -32 32 -32z" />
    <glyph glyph-name="head-side-cough-slash" unicode="&#xe062;" horiz-adv-x="640" 
d="M454.11 128.79l179.72 -138.89c3.76562 -2.92871 6.1709 -7.50781 6.1709 -12.6426c0 -3.69434 -1.25488 -7.09863 -3.36133 -9.80762l-19.6396 -25.2705c-2.92773 -3.77051 -7.51074 -6.18066 -12.6504 -6.18066c-3.69922 0 -7.1084 1.25879 -9.81934 3.37109
l-588.351 454.72c-3.76562 2.92871 -6.1709 7.50781 -6.1709 12.6426c0 3.69434 1.25488 7.09766 3.36133 9.80762l19.6299 25.2695c2.92871 3.76855 7.50879 6.17676 12.6465 6.17676c3.69727 0 7.10254 -1.25684 9.81348 -3.36621l38.7197 -29.9199
c30.6045 20.9385 67.7969 33.2998 107.644 33.2998h0.176758h42.0996c70.2783 -0.046875 132.342 -34.8047 170 -88.25c24.6201 -35 52.1201 -139.63 73.1201 -186.75c8.51074 -19.21 -3.5498 -40.4004 -23.1094 -44.21zM313.39 237.55
c3.85059 5.28027 6.61035 11.4502 6.58008 18.4502c-0.0332031 17.6455 -14.3535 31.9668 -32 32c-9.92969 0 -18.4795 -4.86035 -24.3594 -12zM616 144c-13.2461 0 -24 10.7539 -24 24s10.7539 24 24 24s24 -10.7539 24 -24s-10.7539 -24 -24 -24zM552 80
c-13.2461 0 -24 10.7539 -24 24s10.7539 24 24 24s24 -10.7539 24 -24s-10.7539 -24 -24 -24zM288 64c0 -17.6611 14.3389 -32 32 -32h96c0 -35.3223 -28.6777 -64 -64 -64h-64v-32h-224v177.12c-39.25 35.2598 -64 86.1299 -64 142.88
c0.015625 31.0195 7.56055 60.5098 20.7305 86.4102l318.81 -246.41h-19.54c-17.6611 0 -32 -14.3389 -32 -32zM616 88c13.2461 0 24 -10.7539 24 -24s-10.7539 -24 -24 -24s-24 10.7539 -24 24s10.7539 24 24 24z" />
    <glyph glyph-name="head-side-mask" unicode="&#xe063;" 
d="M0.150391 263.58c0.445312 9.60547 1.64062 19.0078 3.51953 28.1699l220.33 -160.26v-195.49h-160v177.12c-41 36.8203 -66.1699 90.6699 -63.8496 150.46zM509.22 173c1.62891 -3.79102 2.54688 -7.97949 2.54688 -12.3652
c0 -0.211914 -0.00195312 -0.423828 -0.00683594 -0.634766h-272.55l-225.96 164.35c29.2305 73.0801 103.75 123.65 186.75 123.65h66.1104c70.2744 -0.046875 132.336 -34.8047 169.989 -88.25c24.6201 -35 52.1201 -139.63 73.1201 -186.75zM320 224
c17.6436 0.0380859 31.9619 14.3564 32 32c0 17.6611 -14.3389 32 -32 32s-32 -14.3389 -32 -32s14.3389 -32 32 -32zM336 80c-8.83105 0 -16 -7.16895 -16 -16s7.16895 -16 16 -16h149.34l-10.6699 -32h-138.67c-8.83105 0 -16 -7.16895 -16 -16s7.16895 -16 16 -16h128
l-1.41016 -4.24023c-8.47363 -25.4199 -32.458 -43.7578 -60.71 -43.7598h-145.88v192h256l-16 -48h-160z" />
    <glyph glyph-name="head-side-virus" unicode="&#xe064;" 
d="M272 208c8.83105 0 16 -7.16895 16 -16s-7.16895 -16 -16 -16s-16 7.16895 -16 16s7.16895 16 16 16zM208 272c8.83105 0 16 -7.16895 16 -16s-7.16895 -16 -16 -16s-16 7.16895 -16 16s7.16895 16 16 16zM509.2 173c1.76367 -3.9668 2.75879 -8.38281 2.75879 -13
c0 -17.6475 -14.3164 -31.9775 -31.959 -32h-32v-64c0 -35.3223 -28.6777 -64 -64 -64h-64v-64h-256v177.19c-39.3125 35.0342 -64 86.0137 -64 142.763v0.046875c0 106 86 192 192 192h74.0898c70.3008 0 132.405 -34.7725 170.04 -88.25
c24.6396 -35.0195 52.1396 -139.63 73.0703 -186.75zM368 208c8.83105 0 16 7.16895 16 16s-7.16895 16 -16 16h-12.1201c-28.5098 0 -42.79 34.4697 -22.6299 54.6299l8.58008 8.57031c2.89648 2.89648 4.68457 6.90137 4.68457 11.3174
c0 8.83105 -7.16992 16.002 -16.002 16.002c-4.41602 0 -8.41602 -1.79297 -11.3125 -4.68945l-8.57031 -8.58008c-20.1602 -20.1602 -54.6299 -5.87988 -54.6299 22.6299v12.1201c0 8.83105 -7.16895 16 -16 16s-16 -7.16895 -16 -16v-12.1201
c0 -28.5098 -34.4697 -42.79 -54.6299 -22.6299l-8.57031 8.58008c-2.89648 2.89648 -6.90137 4.68457 -11.3174 4.68457c-8.83105 0 -16.002 -7.16992 -16.002 -16.002c0 -4.41602 1.79297 -8.41602 4.68945 -11.3125l8.58008 -8.57031
c20.1602 -20.1602 5.87988 -54.6299 -22.6299 -54.6299h-12.1201c-8.83105 0 -16 -7.16895 -16 -16s7.16895 -16 16 -16h12.1201c28.5098 0 42.79 -34.4697 22.6299 -54.6299l-8.58008 -8.57031c-2.89648 -2.89648 -4.68457 -6.90137 -4.68457 -11.3174
c0 -8.83105 7.16992 -16.002 16.002 -16.002c4.41602 0 8.41602 1.79297 11.3125 4.68945l8.57031 8.58008c20.1602 20.1602 54.6299 5.87988 54.6299 -22.6299v-12.1201c0 -8.83105 7.16895 -16 16 -16s16 7.16895 16 16v12.1201c0 28.5098 34.4697 42.79 54.6299 22.6299
l8.57031 -8.58008c2.89648 -2.89648 6.90137 -4.68457 11.3174 -4.68457c8.83105 0 16.002 7.16992 16.002 16.002c0 4.41602 -1.79297 8.41602 -4.68945 11.3125l-8.58008 8.57031c-20.1602 20.1602 -5.87988 54.6299 22.6299 54.6299h12.1201z" />
    <glyph glyph-name="house-user" unicode="&#xe065;" horiz-adv-x="576" 
d="M570.69 211.73c2.9082 -3.21777 4.83887 -7.36914 5.30957 -11.9209c-0.388672 -3.95801 -1.85742 -7.64648 -4.08984 -10.6895l-21.4102 -23.8105c-3.20117 -2.90527 -7.33496 -4.83594 -11.8701 -5.30957c-3.9668 0.40625 -7.66406 1.88379 -10.7197 4.12012
l-15.9102 14v-210.12c0 -17.6611 -14.3389 -32 -32 -32h-383.91c-17.6611 0 -32 14.3389 -32 32v210.11l-15.8994 -14c-3.04297 -2.23926 -6.73047 -3.71484 -10.6904 -4.11035c-4.57715 0.460938 -8.75586 2.38867 -12 5.2998l-21.4102 23.79
c-2.37695 2.95605 -3.87891 6.67773 -4.08984 10.71c0.241211 4.62402 2.20312 8.8125 5.25977 11.9004l256 226c6.28027 5.68945 18.21 10.2998 26.7402 10.2998s20.5 -4.61035 26.7803 -10.2998l101.22 -89.3701v51.6699c0 8.83105 7.16895 16 16 16h64
c8.83105 0 16 -7.16895 16 -16v-136.44zM288 272c-35.3223 0 -64 -28.6777 -64 -64s28.6777 -64 64 -64s64 28.6777 64 64s-28.6777 64 -64 64zM400 0c8.83105 0 16 7.16895 16 16c0 52.9834 -43.0166 96 -96 96h-64c-52.9834 0 -96 -43.0166 -96 -96
c0 -8.83105 7.16895 -16 16 -16h224z" />
    <glyph glyph-name="laptop-house" unicode="&#xe066;" horiz-adv-x="640" 
d="M272 160v-128h-176c-17.6611 0 -32 14.3389 -32 32v164.12l-21.6602 -19.1201c-2.5957 -2.02832 -5.83691 -3.30469 -9.33984 -3.48047c-4.15527 0.22168 -7.91113 2.00684 -10.6602 4.78027l-18.79 21.3105c-2.06836 2.59668 -3.37207 5.8584 -3.5498 9.38965
c0.234375 4.12598 2.01758 7.85352 4.78027 10.5801l211.8 187.5c5.54004 4.91992 16.0703 8.91992 23.4697 8.91992c7.40039 0 17.9502 -4 23.4502 -8.91992l88.5 -78.3799v39.2998c0 8.83105 7.16895 16 16 16h32c8.83105 0 16 -7.16895 16 -16v-96l59.25 -52.3896
c2.74609 -2.74707 4.5166 -6.48145 4.75 -10.6104c-0.186523 -3.56445 -1.51172 -6.85449 -3.61035 -9.46973l-6.64941 -7.53027h-136.94c-17.7998 0 -33.6895 -8.24023 -44.7998 -21.1201v37.1201c0 8.83105 -7.16895 16 -16 16h-64c-8.83105 0 -16 -7.16895 -16 -16v-64
c0 -8.83105 7.16895 -16 16 -16h64zM629.33 0c5.88867 0 10.6699 -4.78125 10.6699 -10.6699v-10.6602c-0.0820312 -23.4883 -19.1201 -42.5498 -42.5996 -42.6699h-298.801c-23.4795 0.120117 -42.5176 19.1816 -42.5996 42.6699v10.6602
c0 5.88867 4.78125 10.6699 10.6699 10.6699h37.3301v160c0 17.6699 12.8896 32 28.7998 32h230.4c15.9102 0 28.7998 -14.3301 28.7998 -32v-160h37.3301zM544 0v144h-192v-144h192z" />
    <glyph glyph-name="lungs-virus" unicode="&#xe067;" horiz-adv-x="640" 
d="M344 297.32c-6.99512 4.2207 -15.291 6.65039 -24.0498 6.65039s-16.9551 -2.42969 -23.9502 -6.65039v134.68c0 8.83105 7.16895 16 16 16h16c8.83105 0 16 -7.16895 16 -16v-134.68zM195.54 3.54004c8.44824 -8.67969 20.2178 -14.0645 33.2754 -14.0645
c2.87988 0 5.69922 0.261719 8.43457 0.764648c-13.043 -16.7764 -31.3789 -29.1445 -52.5 -34.75l-59.5 -15.8701c-62.75 -16.8799 -125.25 27.3799 -125.25 88.6299c0 0.0820312 0.0126953 0.125 0.0126953 0.207031c0 10.1719 1.3457 20.0322 3.86719 29.4131
c22.0361 82.46 57.0371 160.927 102 231c22.1201 34.6299 36.1201 63.1299 80.1201 63.1299c38.6201 0 70 -29.3799 70 -65.75v-27.6797c-7.62012 5.0918 -16.832 8.08496 -26.6768 8.08496c-26.4922 0 -48 -21.5088 -48 -48c0 -13.3232 5.43945 -25.3848 14.2168 -34.085
l8.58008 -8.57031h-12.1201c-26.4922 0 -48 -21.5078 -48 -48s21.5078 -48 48 -48h12.1201l-8.58008 -8.58008c-8.67383 -8.69531 -14.0391 -20.707 -14.0391 -33.9473s5.36523 -25.2363 14.0391 -33.9326zM421.83 26.1699
c-2.89648 -2.89648 -6.90137 -4.68945 -11.3174 -4.68945s-8.41602 1.79297 -11.3125 4.68945l-8.57031 8.57031c-20.1602 20.1602 -54.6299 5.87988 -54.6299 -22.6201v-12.1201c0 -8.83105 -7.16895 -16 -16 -16s-16 7.16895 -16 16v12.1201
c0 28.5 -34.4697 42.7803 -54.6299 22.6201l-8.57031 -8.57031c-2.9082 -2.99609 -6.98242 -4.85449 -11.4834 -4.85449c-8.83105 0 -16 7.16992 -16 16c0 4.49902 1.86035 8.56641 4.85352 11.4746l8.58008 8.58008c20.1602 20.1602 5.87988 54.6299 -22.6299 54.6299
h-12.1201c-8.83105 0 -16 7.16895 -16 16s7.16895 16 16 16h12.1201c28.5098 0 42.79 34.4697 22.6299 54.6201l-8.58008 8.58008c-2.89648 2.89648 -4.68457 6.90137 -4.68457 11.3174c0 8.83105 7.16992 16.002 16.002 16.002
c4.41602 0 8.41602 -1.79297 11.3125 -4.68945l8.57031 -8.58008c20.1602 -20.1602 54.6299 -5.87988 54.6299 22.6299v12.1201c0 8.83105 7.16895 16 16 16s16 -7.16895 16 -16v-12.1201c0 -28.5098 34.4697 -42.79 54.6299 -22.6299l8.57031 8.58008
c2.89648 2.89648 6.90137 4.68457 11.3174 4.68457c8.83105 0 16.002 -7.16992 16.002 -16.002c0 -4.41602 -1.79297 -8.41602 -4.68945 -11.3125l-8.58008 -8.58008c-20.1602 -20.1504 -5.87988 -54.6201 22.6299 -54.6201h12.1201c8.83105 0 16 -7.16895 16 -16
s-7.16895 -16 -16 -16h-12.1201c-28.5098 0 -42.79 -34.4697 -22.6299 -54.6299l8.58008 -8.58008c2.89355 -2.89551 4.68457 -6.89844 4.68457 -11.3125c0 -4.41309 -1.79102 -8.41211 -4.68457 -11.3076zM288 144c8.83105 0 16 7.16895 16 16s-7.16895 16 -16 16
s-16 -7.16895 -16 -16s7.16895 -16 16 -16zM352 80c8.83105 0 16 7.16895 16 16s-7.16895 16 -16 16s-16 -7.16895 -16 -16s7.16895 -16 16 -16zM636.12 57.8701c2.52148 -9.38086 3.87988 -19.2021 3.87988 -29.374v-0.246094c0 -61.25 -62.5 -105.51 -125.25 -88.6299
l-59.5 15.8701c-21.1211 5.60547 -39.457 17.9736 -52.5 34.75c2.77246 -0.50293 5.59766 -0.761719 8.51465 -0.761719c26.3262 0 47.7002 21.374 47.7002 47.7002c0 13.4287 -5.56152 25.5693 -14.5049 34.2412l-8.58008 8.58008h12.1201c26.4922 0 48 21.5078 48 48
s-21.5078 48 -48 48h-12.1201l8.58008 8.53027c8.77734 8.7002 14.1602 20.7393 14.1602 34.0615c0 26.4922 -21.5078 48 -48 48c-9.84375 0 -19 -2.96973 -26.6201 -8.06152v27.7197c0 36.3701 31.3799 65.75 70 65.75c44 0 58 -28.5 80.1201 -63.1299
c44.9629 -70.0732 79.9639 -148.54 102 -231z" />
    <glyph glyph-name="people-arrows" unicode="&#xe068;" horiz-adv-x="576" 
d="M96 320c-35.3223 0 -64 28.6777 -64 64s28.6777 64 64 64s64 -28.6777 64 -64s-28.6777 -64 -64 -64zM96 143.92c0 -0.0400391 -0.0117188 -0.078125 -0.0117188 -0.119141c0 -12.5332 5.24219 -23.8516 13.6514 -31.8809l50.3604 -47.5303v-96.3896
c0 -17.6611 -14.3389 -32 -32 -32h-64c-17.6611 0 -32 14.3389 -32 32v128c-17.6611 0 -32 14.3389 -32 32v96c0 35.3223 28.6777 64 64 64h64c26.9717 -0.0253906 50.0303 -16.7598 59.3799 -40.4297c-1.83984 -1.26074 -3.95996 -2.02051 -5.61035 -3.57031
l-72.1299 -68.0801c-8.40918 -8.03418 -13.6396 -19.3555 -13.6396 -31.8926v-0.107422zM480 320c-35.3223 0 -64 28.6777 -64 64s28.6777 64 64 64s64 -28.6777 64 -64s-28.6777 -64 -64 -64zM512 288c35.3223 0 64 -28.6777 64 -64v-96c0 -17.6611 -14.3389 -32 -32 -32
v-128c0 -17.6611 -14.3389 -32 -32 -32h-64c-17.6611 0 -32 14.3389 -32 32v96.3799l50.3604 47.5498c8.4082 8.07617 13.6445 19.4336 13.6445 32.002c0 12.5674 -5.23633 23.9219 -13.6445 31.998l-72.1201 68.0605c-1.62012 1.58984 -3.78027 2.31934 -5.62012 3.58984
c9.35352 23.666 32.4102 40.3965 59.3799 40.4199h64zM444.4 152.66c2.22461 -2.24219 3.59961 -5.33203 3.59961 -8.7373c0 -3.4043 -1.375 -6.49121 -3.59961 -8.73242l-72.1201 -68.0703c-2.1543 -2.05371 -5.07227 -3.31543 -8.28027 -3.31543
c-6.62305 0 -12 5.37695 -12 12v0.0556641v36.1396h-128v-36.1396c0 -0.0185547 -0.00292969 -0.0361328 -0.00292969 -0.0546875c0 -6.62305 -5.37695 -12 -12 -12c-3.20801 0 -6.12305 1.26074 -8.27734 3.31445l-72.1201 68.0703
c-2.22461 2.24121 -3.59961 5.33203 -3.59961 8.73633c0 3.40527 1.375 6.49121 3.59961 8.7334l72.1201 68.0703c2.1543 2.05273 5.07227 3.31445 8.28027 3.31445c6.62305 0 12 -5.37695 12 -12v-0.0449219v-36h128v36
c0 0.0117188 0.00292969 0.0224609 0.00292969 0.0341797c0 6.62305 5.37695 12 12 12c3.20801 0 6.12305 -1.26074 8.27734 -3.31445z" />
    <glyph glyph-name="plane-slash" unicode="&#xe069;" horiz-adv-x="640" 
d="M32.4805 300.12c-0.258789 1.12109 -0.386719 2.2959 -0.386719 3.49512c0 2.94531 0.825195 5.7002 2.25586 8.04492l324.841 -251.061l-66.6006 -116.54c-2.75684 -4.82227 -7.94141 -8.05957 -13.8896 -8.05957h-65.5
c-8.81641 0.0166016 -15.9678 7.17676 -15.9678 15.9971c0 1.53027 0.21582 3.01074 0.617188 4.41309l49 171.59h-102.85l-43.2002 -57.5898c-2.91797 -3.89648 -7.5625 -6.40723 -12.7998 -6.41016h-40c-8.82812 0.00292969 -15.9941 7.16406 -15.9941 15.9932
c0 1.33691 0.165039 2.63574 0.474609 3.87695l31.5195 108.13zM633.82 -10.0898c3.77148 -2.92871 6.18164 -7.51074 6.18164 -12.6514c0 -3.69531 -1.25488 -7.09863 -3.3623 -9.80859l-19.6396 -25.2598c-2.92773 -3.77246 -7.51074 -6.18262 -12.6514 -6.18262
c-3.69434 0 -7.09863 1.25488 -9.80859 3.3623l-588.36 454.72c-3.76855 2.92871 -6.17578 7.50879 -6.17578 12.6465c0 3.69727 1.25684 7.10352 3.36621 9.81348l19.6299 25.2598c2.92871 3.76855 7.50879 6.17676 12.6465 6.17676
c3.69727 0 7.10254 -1.25684 9.81348 -3.36621l189.3 -146.3l-36.9395 129.29c-0.398438 1.39551 -0.614258 2.86621 -0.614258 4.38965c0 8.8291 7.16602 15.9971 15.9941 16h65.5098c5.12988 0 11.3496 -3.61035 13.9004 -8.05957l105.09 -183.94h114.3
c35.3398 0 96 -28.6602 96 -64s-60.6602 -64 -96 -64h-56.8604z" />
    <glyph glyph-name="pump-medical" unicode="&#xe06a;" horiz-adv-x="384" 
d="M235.51 288.18c33.3369 -0.00195312 60.7559 -25.6123 63.7305 -58.1797l20.3701 -224c0.175781 -1.93066 0.262695 -3.82324 0.262695 -5.7998c0 -35.3203 -28.6738 -63.9961 -63.9932 -64h-192c-35.3223 0 -64.0059 28.6143 -64.0059 63.9365
c0 1.97656 0.0898438 3.93262 0.265625 5.86328l20.3701 224c2.97461 32.5674 30.3936 58.1777 63.7305 58.1797h151.27zM239.88 114.85v26.6602c0 7.3623 -5.97754 13.3398 -13.3398 13.3398h-40v40c0 7.35742 -5.97266 13.3301 -13.3301 13.3301h-26.6699
c-7.35742 0 -13.3301 -5.97266 -13.3301 -13.3301v-40h-40c-7.35742 0 -13.3301 -5.97266 -13.3301 -13.3291v-0.0107422v-26.6602c0 -7.3584 5.97266 -13.334 13.3301 -13.3398h40v-40c0 -7.35645 5.97266 -13.3301 13.3301 -13.3301h26.6699
c7.35742 0 13.3301 5.97363 13.3301 13.3301v40h40c7.36035 0.00585938 13.334 5.98047 13.3398 13.3398zM379.19 354.12c2.89648 -2.89648 4.68945 -6.90137 4.68945 -11.3174s-1.79297 -8.41602 -4.68945 -11.3125l-22.6201 -22.6201
c-2.89648 -2.89746 -6.90137 -4.68945 -11.3174 -4.68945s-8.41699 1.79199 -11.3125 4.68945l-43.3105 43.3096h-66.75v-32h-128v96c0 17.6611 14.3389 32 32 32h64c17.6611 0 32 -14.3389 32 -32h66.75c17.6553 -0.00195312 33.6582 -7.16016 45.2402 -18.7393z" />
    <glyph glyph-name="pump-soap" unicode="&#xe06b;" horiz-adv-x="384" 
d="M235.63 288c0.00390625 0 0.0107422 -0.0634766 0.0146484 -0.0634766c33.3496 0 60.7754 -25.5625 63.7354 -58.1465l20.3604 -224c0.174805 -1.92773 0.259766 -3.81738 0.259766 -5.79004c0 -35.3223 -28.6777 -64 -64 -64h-192
c-35.3193 0.00390625 -63.9941 28.6172 -63.9941 63.9365c0 1.97363 0.0888672 3.92578 0.263672 5.85352l20.3604 224c2.95996 32.584 30.3906 58.21 63.7402 58.21h151.26zM160 32c33.1201 0 60 26.3301 60 58.7305c0 25 -35.6699 75.4697 -52 97.2695
c-1.82422 2.43848 -4.72559 4.01855 -8.00293 4.01855c-3.26758 0 -6.17188 -1.57129 -7.99707 -3.99902c-16.2998 -21.7998 -52 -72.2695 -52 -97.2695c0 -32.4199 26.8799 -58.75 60 -58.75zM379.31 353.94c2.89746 -2.89648 4.69043 -6.90137 4.69043 -11.3174
s-1.79297 -8.41699 -4.69043 -11.3135l-22.6191 -22.6191c-2.89648 -2.89746 -6.90137 -4.69043 -11.3174 -4.69043s-8.41699 1.79297 -11.3135 4.69043l-43.3096 43.3096h-66.75v-32h-128v96c0 17.6611 14.3389 32 32 32h64c17.6611 0 32 -14.3389 32 -32h66.75
c17.6582 0 33.666 -7.1582 45.25 -18.7402z" />
    <glyph glyph-name="shield-virus" unicode="&#xe06c;" 
d="M224 256c8.83105 0 16 -7.16895 16 -16s-7.16895 -16 -16 -16s-16 7.16895 -16 16s7.16895 16 16 16zM466.5 364.32c17.3359 -7.24121 29.5 -24.3428 29.5 -44.291v-0.0292969c0 -221.3 -135.91 -344.61 -221.59 -380.32
c-5.67578 -2.3584 -11.9619 -3.66016 -18.4873 -3.66016c-6.52441 0 -12.7471 1.30176 -18.4229 3.66016c-107 44.6006 -221.5 181.82 -221.5 380.32c0 0.0166016 -0.03125 0.0107422 -0.03125 0.0263672c0 19.9707 12.2402 37.1055 29.6211 44.3037l192 80
c5.75293 2.17188 12 3.46582 18.46 3.66992c6.45605 -0.208008 12.7012 -1.50586 18.4502 -3.67969zM384 192c8.83105 0 16 7.16895 16 16s-7.16895 16 -16 16h-12.1201c-28.5098 0 -42.79 34.4697 -22.6299 54.6299l8.58008 8.57031
c2.89648 2.89648 4.68457 6.90137 4.68457 11.3174c0 8.83105 -7.16992 16.002 -16.002 16.002c-4.41602 0 -8.41602 -1.79297 -11.3125 -4.68945l-8.57031 -8.58008c-20.1602 -20.1602 -54.6299 -5.87988 -54.6299 22.6299v12.1201c0 8.83105 -7.16895 16 -16 16
s-16 -7.16895 -16 -16v-12.1201c0 -28.5098 -34.4697 -42.79 -54.6299 -22.6299l-8.57031 8.58008c-2.89648 2.89648 -6.90137 4.68457 -11.3174 4.68457c-8.83105 0 -16.002 -7.16992 -16.002 -16.002c0 -4.41602 1.79297 -8.41602 4.68945 -11.3125l8.58008 -8.57031
c20.1602 -20.1602 5.87988 -54.6299 -22.6299 -54.6299h-12.1201c-8.83105 0 -16 -7.16895 -16 -16s7.16895 -16 16 -16h12.1201c28.5098 0 42.79 -34.4697 22.6299 -54.6299l-8.58008 -8.57031c-2.89648 -2.89648 -4.68457 -6.90137 -4.68457 -11.3174
c0 -8.83105 7.16992 -16.002 16.002 -16.002c4.41602 0 8.41602 1.79297 11.3125 4.68945l8.57031 8.58008c20.1602 20.1602 54.6299 5.87988 54.6299 -22.6299v-12.1201c0 -8.83105 7.16895 -16 16 -16s16 7.16895 16 16v12.1201c0 28.5098 34.4697 42.79 54.6299 22.6299
l8.57031 -8.58008c2.89648 -2.89648 6.90137 -4.68457 11.3174 -4.68457c8.83105 0 16.002 7.16992 16.002 16.002c0 4.41602 -1.79297 8.41602 -4.68945 11.3125l-8.58008 8.57031c-20.1602 20.1602 -5.87988 54.6299 22.6299 54.6299h12.1201zM288 192
c8.83105 0 16 -7.16895 16 -16s-7.16895 -16 -16 -16s-16 7.16895 -16 16s7.16895 16 16 16z" />
    <glyph glyph-name="sink" unicode="&#xe06d;" 
d="M32 32v32h448v-32c0 -52.9834 -43.0166 -96 -96 -96h-256c-52.9834 0 -96 43.0166 -96 96zM496 160c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-480c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h96v32h-64
c-8.83105 0 -16 7.16895 -16 16v16c0 8.83105 7.16895 16 16 16h80c17.6611 0 32 -14.3389 32 -32v-48h64v188.21c0 46.4297 31.29 89.0801 76.8701 97.9297c6.15625 1.23926 12.4512 1.8877 18.9697 1.8877c53.0283 0 96.0879 -43.0166 96.1602 -96.0273v-16
c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v16c0 17.6611 -14.3389 32 -32 32s-32 -14.3389 -32 -32v-192h64v48c0 17.6611 14.3389 32 32 32h80c8.83105 0 16 -7.16895 16 -16v-16c0 -8.83105 -7.16895 -16 -16 -16h-64v-32h96z" />
    <glyph glyph-name="soap" unicode="&#xe06e;" 
d="M416 256c52.9834 0 96 -43.0166 96 -96v-128c0 -52.9834 -43.0166 -96 -96 -96h-320c-52.9834 0 -96 43.0166 -96 96v128c0 52.9834 43.0166 96 96 96h128c0.0634766 -24.6279 9.49707 -47.1133 24.9102 -64h-88.9102c-52.9834 0 -96 -43.0166 -96 -96
s43.0166 -96 96 -96h192c0.0703125 0 0.171875 -0.0322266 0.242188 -0.0322266c52.873 0 95.7998 42.9268 95.7998 95.7998c0 41.3477 -26.251 76.6123 -62.9824 90.0225c19.0049 17.4219 30.9033 42.4307 30.9404 70.21zM320 192c-35.3223 0 -64 28.6777 -64 64
s28.6777 64 64 64s64 -28.6777 64 -64s-28.6777 -64 -64 -64zM208 352c-26.4922 0 -48 21.5078 -48 48s21.5078 48 48 48s48 -21.5078 48 -48s-21.5078 -48 -48 -48zM384 384c-17.6611 0 -32 14.3389 -32 32s14.3389 32 32 32s32 -14.3389 32 -32s-14.3389 -32 -32 -32z
M160 160h192c35.3223 0 64 -28.6777 64 -64s-28.6777 -64 -64 -64h-192c-35.3223 0 -64 28.6777 -64 64s28.6777 64 64 64z" />
    <glyph glyph-name="stopwatch-20" unicode="&#xe06f;" horiz-adv-x="448" 
d="M398.5 257.09c21.1045 -32.3291 33.501 -71.1426 33.501 -112.596c0 -0.165039 -0.000976562 -0.329102 -0.000976562 -0.494141c0 -116 -94.8701 -209.77 -211.28 -208c-113.96 1.78027 -208.08 100.5 -204.63 214.43c3.10156 100.915 78.4639 183.935 175.91 199.07
v34.5h-32c-8.81836 0.0273438 -15.9727 7.18164 -16 16v32c0.0273438 8.81836 7.18164 15.9727 16 16h128c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32v-34.5c37.3506 -5.76855 71.749 -21.625 99.6904 -44.5898l24.6797 24.6797
c2.89648 2.89746 6.90137 4.69043 11.3174 4.69043s8.41602 -1.79297 11.3125 -4.69043l22.6797 -22.6797c2.89746 -2.89648 4.69043 -6.90137 4.69043 -11.3174s-1.79297 -8.41602 -4.69043 -11.3125l-26.5898 -26.5801zM204.37 70.4502l-49.1299 0.0400391
c1.7998 15.6299 14.8496 36.2002 26.4102 51.2002c21.9092 30.0996 34.3496 45.7295 34.3496 81.3096c0 35.1504 -12.5703 61 -55.5703 61c-47.9492 0 -56.4297 -32.9404 -56.4297 -60.2402v-4.06934c0.0703125 -4.46582 3.71484 -8.07129 8.19629 -8.07129
c0.0449219 0 0.0888672 0 0.133789 0.000976562h24.9004c0.0439453 -0.000976562 0.0859375 0.000976562 0.130859 0.000976562c4.48145 0 8.12891 3.60352 8.19824 8.06934v5.22949c0 15.2803 3.30078 22.6797 12.6904 22.6797c10.4199 0 12.21 -7.34961 12.21 -24.2695
c0 -25.0205 -6.67969 -33.1504 -27.0996 -62.3398c-23.7803 -33.96 -35.6699 -56.1504 -38.4502 -91.3701c-0.0273438 -0.388672 -0.0449219 -0.765625 -0.0449219 -1.16113c0 -9.08496 7.37598 -16.46 16.46 -16.46c0.0654297 0 0.129883 0 0.194336 0.000976562h82.8506
c0.0410156 -0.000976562 0.0800781 0.000976562 0.121094 0.000976562c4.48145 0 8.12891 3.60352 8.19922 8.06934v22.3096c-0.0703125 4.46484 -3.71582 8.07129 -8.19727 8.07129c-0.0410156 0 -0.0820312 -0.000976562 -0.123047 -0.000976562zM344 95.6797v107.021
c0 38.6602 -19 61.2998 -55.7998 61.2998c-36.6201 0 -56.2002 -22.4902 -56.2002 -63.2197v-105.33c0 -33.9307 11.1904 -63.4502 54.7695 -63.4502c44.9307 0 57.2305 28.5195 57.2305 63.6797zM287.87 226.27c10.0098 0 13.0195 -8.05957 13 -19.3291v-115.94
c0 -13.2695 -3.36035 -21.2695 -13 -21.2695s-13.2305 7.47949 -13.2305 20.5898v115.949c0 12.5 3.82031 20 13.2305 20z" />
    <glyph glyph-name="store-alt-slash" unicode="&#xe070;" horiz-adv-x="640" 
d="M17.8896 324.38l88.4707 -68.3799h-74.2607c-25.5898 0 -40.79 28.5 -26.5898 49.7998zM576 34.5801l57.8301 -44.6797c3.76562 -2.92871 6.1709 -7.50781 6.1709 -12.6426c0 -3.69434 -1.25488 -7.09863 -3.36133 -9.80762l-19.6396 -25.2598
c-2.92773 -3.77539 -7.5127 -6.1875 -12.6553 -6.1875c-3.69727 0 -7.10352 1.25684 -9.81445 3.36719l-588.351 454.72c-3.76562 2.92871 -6.1709 7.50781 -6.1709 12.6426c0 3.69434 1.25488 7.09766 3.36133 9.80762l19.6299 25.2695
c2.92871 3.76855 7.50879 6.17676 12.6465 6.17676c3.69727 0 7.10254 -1.25684 9.81348 -3.36621l34.6904 -26.8203l10.6592 16c5.71387 8.57715 15.4521 14.2002 26.5215 14.2002h0.0888672h405.18c0.00390625 0 -0.0107422 0.0322266 -0.00683594 0.0322266
c11.1172 0 20.9248 -5.64941 26.707 -14.2324l85.29 -128c14.1104 -21.2998 -1.08984 -49.7998 -26.5898 -49.7998h-318.48l41.4004 -32h53.0801v-41l128 -99v140h64v-189.42zM320 64v26.8799l64 -49.4697v-73.4102c0 -17.6611 -14.3389 -32 -32 -32h-256
c-17.6611 0 -32 14.3389 -32 32v256h64v-160h192z" />
    <glyph glyph-name="store-slash" unicode="&#xe071;" horiz-adv-x="640" 
d="M121.51 64h226.91l157.33 -128h-414.52c-16.8105 0 -30.4004 14.2998 -30.4004 32v196.8c5.02051 -1.53516 10.2939 -2.76074 15.5801 -3.59961c5.62891 -0.791016 11.2549 -1.19727 17.0996 -1.2002c9.65723 0.157227 19.0283 1.47559 28 3.7998v-99.7998z
M93.5098 192.09c-0.0644531 0 -0.0566406 -0.00390625 -0.121094 -0.00390625c-4.37402 0 -8.67969 0.294922 -12.8984 0.864258c-58.9404 8.46973 -87.0098 81.6094 -56.4902 135l133.51 -108.62c-16.71 -16.5205 -38.8994 -27.2402 -64 -27.2402zM602.13 -10.0898
c3.59863 -3.04297 5.86719 -7.59961 5.86719 -12.6758c0 -3.6582 -1.1875 -7.04102 -3.19727 -9.78418l-18.6602 -25.2598c-2.66211 -3.74902 -7.04102 -6.17871 -11.9854 -6.17871c-3.54785 0 -6.80469 1.26074 -9.34473 3.3584l-558.939 454.72
c-3.59863 3.04297 -5.86719 7.59961 -5.86719 12.6758c0 3.6582 1.1875 7.04102 3.19727 9.78418l18.6602 25.2598c2.66016 3.74805 7.03711 6.17676 11.9785 6.17676c3.55176 0 6.81055 -1.26367 9.35156 -3.36621l33.6895 -27.4004l9.38965 15.7803
c5.16309 8.89941 14.7383 14.8848 25.7305 15h383.81c10.998 -0.109375 20.5781 -6.09668 25.7402 -15l61.6602 -103.6c31.9404 -53.6006 3.59961 -127.99 -56.0596 -136.4c-4.28027 -0.598633 -8.55762 -0.90625 -13 -0.910156c-28.0303 0 -52.9199 13 -70.1104 33.1104
c-17.1104 -20.1104 -42 -33.1104 -70.1104 -33.1104c-8.83496 0.130859 -17.3857 1.58594 -25.4102 4.14062l137.82 -112.11v79.6797c8.95801 -2.36523 18.3291 -3.6875 28 -3.7998c5.9082 0.00683594 11.5957 0.412109 17.29 1.2002
c5.31152 0.757812 10.584 1.9873 15.5703 3.59961v-130.21z" />
    <glyph glyph-name="toilet-paper-slash" unicode="&#xe072;" horiz-adv-x="640" 
d="M64 256c0 10.8096 0.530273 21.3398 1.41992 31.6699l316 -244.25c-4.17969 -32.2002 -12.8701 -57.7197 -22.1797 -85.5498c-4.19727 -12.7002 -16.1592 -21.8701 -30.2588 -21.8701h-0.121094h-280.86c-8.79395 0.0429688 -15.917 7.19824 -15.917 16.002
c0 1.74512 0.279297 3.4248 0.796875 4.99805c21.3701 64.1201 31.1201 85.75 31.1201 126.87v172.13zM633.82 -10.0898c3.77148 -2.92871 6.18164 -7.51074 6.18164 -12.6514c0 -3.69531 -1.25488 -7.09863 -3.3623 -9.80859l-19.6396 -25.2598
c-2.92773 -3.77246 -7.51074 -6.18262 -12.6514 -6.18262c-3.69434 0 -7.09863 1.25488 -9.80859 3.3623l-588.36 454.72c-3.76855 2.92871 -6.17578 7.50879 -6.17578 12.6465c0 3.69727 1.25684 7.10352 3.36621 9.81348l19.6299 25.2598
c2.92871 3.76855 7.50879 6.17676 12.6465 6.17676c3.69727 0 7.10254 -1.25684 9.81348 -3.36621l53.2803 -41.1504c16.6299 27.7002 37.9297 44.5303 61.2598 44.5303h284.5c-36.8701 -38.5 -60.5 -108.38 -60.5 -192v-73l50.4297 -39
c-11.4297 31.5996 -18.4297 70 -18.4297 112c0 106 43 192 96 192s96 -86 96 -192c0 -92.3203 -32.7197 -168.91 -76.1797 -187.28zM512 192c17.6201 0 32 28.6299 32 64s-14.3701 64 -32 64s-32 -28.6201 -32 -64s14.3701 -64 32 -64z" />
    <glyph glyph-name="users-slash" unicode="&#xe073;" horiz-adv-x="640" 
d="M132.65 235.68c-10.3945 -7.33496 -23.1328 -11.6836 -36.8105 -11.6836c-35.2344 0 -63.8398 28.6055 -63.8398 63.8398v0.164062c0.0615234 7.80859 1.5625 15.3242 4.20996 22.2197zM173.09 173.4c-40.2002 -21.9072 -68.8896 -62.1416 -75.1797 -109.4h-65.9102
c-17.6611 0 -32 14.3389 -32 32v32c0.0332031 35.3076 28.6924 63.9668 64 64h64c0.0224609 0 0.0537109 0.0078125 0.0771484 0.0078125c17.5605 0 33.4727 -7.11035 45.0127 -18.6074zM544 224c-35.3076 0.0332031 -63.9668 28.6924 -64 64c0 35.3223 28.6777 64 64 64
s64 -28.6777 64 -64s-28.6777 -64 -64 -64zM500.56 92.8896l133.271 -102.989c3.76562 -2.92871 6.1709 -7.50781 6.1709 -12.6426c0 -3.69434 -1.25488 -7.09863 -3.36133 -9.80762l-19.6396 -25.2705c-2.92773 -3.77051 -7.51074 -6.18066 -12.6504 -6.18066
c-3.69922 0 -7.1084 1.25879 -9.81934 3.37109l-588.351 454.72c-3.76562 2.92871 -6.1709 7.50781 -6.1709 12.6426c0 3.69434 1.25488 7.09766 3.36133 9.80762l19.6299 25.2695c2.92871 3.76855 7.50879 6.17676 12.6465 6.17676
c3.69727 0 7.10254 -1.25684 9.81348 -3.36621l163.94 -126.7c6.90918 55.25 53.46 98.0801 110.6 98.0801c0.0234375 0 0.0458984 0.000976562 0.0703125 0.000976562c61.7754 0 111.93 -50.1533 111.93 -111.93v-0.0712891c0 -47.3096 -29.54 -86.9297 -71 -103.23
l55.0898 -42.5996c37.6797 -6.53711 69.0986 -31.4668 84.4697 -65.2803zM128 44.79c0 59.79 45.7402 108.38 104 114.08l244.57 -189c-3.99707 -1.1582 -8.21582 -1.81152 -12.5703 -1.87012h-288c-26.4922 0 -48 21.5078 -48 48v28.79zM576 192
c35.3076 -0.0332031 63.9668 -28.6924 64 -64v-32c0 -17.6611 -14.3389 -32 -32 -32h-66c-6.21875 47.2666 -34.8916 87.5146 -75.0898 109.4c11.54 11.4971 27.4609 18.5996 45.0215 18.5996h0.0683594h64z" />
    <glyph glyph-name="virus" unicode="&#xe074;" 
d="M483.55 220.45c0.180664 0.00292969 0.332031 0.00488281 0.512695 0.00488281c15.7021 0 28.4502 -12.748 28.4502 -28.4502s-12.748 -28.4502 -28.4502 -28.4502c-0.180664 0 -0.362305 0.00195312 -0.542969 0.00488281h-21.5391
c-50.6807 0 -76.0703 -61.2793 -40.2305 -97.1191l15.25 -15.2402c4.66602 -5.06836 7.50879 -11.8418 7.50879 -19.2666c0 -15.7021 -12.748 -28.4502 -28.4502 -28.4502c-7.42578 0 -14.1904 2.85059 -19.2588 7.5166l-15.2402 15.2305
c-35.8398 35.8398 -97.1094 10.4492 -97.1094 -40.2305v-21.5195c0 -15.7021 -12.748 -28.4502 -28.4502 -28.4502s-28.4502 12.748 -28.4502 28.4502v21.5391c0 50.6807 -61.2695 76.0703 -97.1094 40.2305l-15.2402 -15.25
c-5.06836 -4.66602 -11.8418 -7.50879 -19.2666 -7.50879c-15.7021 0 -28.4502 12.748 -28.4502 28.4502c0 7.42578 2.85059 14.1904 7.5166 19.2588l15.2305 15.2402c35.8398 35.8398 10.4492 97.1191 -40.2305 97.1191h-21.5498
c-0.180664 -0.00292969 -0.361328 -0.00488281 -0.542969 -0.00488281c-15.7021 0 -28.4502 12.748 -28.4502 28.4502s12.748 28.4502 28.4502 28.4502c0.181641 0 0.362305 -0.00195312 0.542969 -0.00488281h21.5693c50.6807 0 76.0703 61.2695 40.2305 97.1094
l-15.25 15.25c-4.73047 5.08008 -7.61816 11.8994 -7.61816 19.3818c0 15.6963 12.7432 28.4404 28.4395 28.4404c7.48535 0 14.2988 -2.89844 19.3789 -7.63184l15.2402 -15.2305c35.8398 -35.8291 97.1094 -10.4492 97.1094 40.2305v21.5596
c0 15.7021 12.748 28.4502 28.4502 28.4502s28.4502 -12.748 28.4502 -28.4502v-21.5498c0 -50.6797 61.2695 -76.0596 97.1094 -40.2295l15.2402 15.2197c5.08008 4.7334 11.9023 7.62305 19.3867 7.62305c15.6963 0 28.4404 -12.7432 28.4404 -28.4395
c0 -7.48242 -2.89648 -14.2939 -7.62695 -19.374l-15.2305 -15.25c-35.8398 -35.8398 -10.4492 -97.1094 40.2305 -97.1094h21.5498zM224 176c26.4922 0 48 21.5078 48 48s-21.5078 48 -48 48s-48 -21.5078 -48 -48s21.5078 -48 48 -48zM304 120c13.2461 0 24 10.7539 24 24
s-10.7539 24 -24 24s-24 -10.7539 -24 -24s10.7539 -24 24 -24z" />
    <glyph glyph-name="virus-slash" unicode="&#xe075;" horiz-adv-x="640" 
d="M114 220.4c9.90039 0.0996094 19.7002 2.89941 28.0996 8l244.5 -189c-21.1992 -7.5 -38.1992 -26.8008 -38.1992 -53.4004v-21.5c0 -15.7002 -12.7002 -28.4004 -28.4004 -28.4004s-28.5 12.7002 -28.5 28.4004v21.5c0 50.7002 -61.2998 76 -97.0996 40.2002
l-15.2002 -15.2002c-0.5 -0.599609 -1.10059 -1.09961 -1.60059 -1.59961c-11.5 -10.6006 -29.5996 -9.90039 -40.1992 1.59961c-10.6006 11.5 -9.90039 29.5 1.59961 40.2002l15.2002 15.2998c35.8994 35.7998 10.5 97.0996 -40.2002 97.0996h-21.5996
c-15.7002 0 -28.4004 12.7002 -28.4004 28.4004s12.7002 28.4004 28.4004 28.4004h21.5996zM617 -57.7998c-5.40039 -7 -15.5 -8.2998 -22.4004 -2.90039l-588.399 454.7c-7 5.5 -8.2002 15.5 -2.7998 22.5l19.5996 25.2998c5.5 7 15.5 8.2002 22.5 2.7998l93.2002 -72.0996
c11.0996 11.0996 29.3994 11.5996 40.5 0.5l15.2998 -15.2002c35.7998 -35.8994 97.0996 -10.5 97.0996 40.2002v21.5996c0 15.7002 12.7002 28.4004 28.4004 28.4004s28.4004 -12.7002 28.5 -28.5v-21.5996c0 -50.7002 61.2998 -76 97.0996 -40.2002l15.2002 15.2002
c10.9004 10.0996 27.7002 10.0996 38.6006 0c11.5996 -10.7002 12.2998 -28.7002 1.59961 -40.2002l-15.2002 -15.2998c-35.8994 -35.8008 -10.5 -97.1006 40.2002 -97.1006h21.5c15.7002 0 28.4004 -12.7002 28.4004 -28.3994
c0 -15.7002 -12.7002 -28.4004 -28.4004 -28.4004h-21.5c-30.5 0 -51.2002 -22.0996 -55.4004 -47.5l163.2 -126c7 -5.5 8.2002 -15.5 2.7998 -22.5zM335.4 220.5c0.0996094 1.2002 0.599609 2.2998 0.5 3.5c0 26.5 -21.5 48 -48 48
c-5.2002 -0.0996094 -10.5 -1.09961 -15.4004 -2.90039z" />
    <glyph glyph-name="viruses" unicode="&#xe076;" horiz-adv-x="640" 
d="M624 96c8.83105 0 16 -7.16895 16 -16s-7.16895 -16 -16 -16h-12.1201c-28.5098 0 -42.79 -34.4697 -22.6299 -54.6299l8.58008 -8.57031c2.89648 -2.89648 4.68457 -6.90137 4.68457 -11.3174c0 -8.83105 -7.16992 -16.002 -16.002 -16.002
c-4.41602 0 -8.41602 1.79297 -11.3125 4.68945l-8.57031 8.58008c-20.1602 20.1602 -54.6299 5.87988 -54.6299 -22.6299v-12.1201c0 -8.83105 -7.16895 -16 -16 -16s-16 7.16895 -16 16v12.1201c0 28.5098 -34.4697 42.79 -54.6299 22.6299l-8.57031 -8.58008
c-2.89648 -2.89648 -6.90137 -4.68457 -11.3174 -4.68457c-8.83105 0 -16.002 7.16992 -16.002 16.002c0 4.41602 1.79297 8.41602 4.68945 11.3125l8.58008 8.57031c20.1602 20.1602 5.87988 54.6299 -22.6299 54.6299h-12.1201c-8.83105 0 -16 7.16895 -16 16
s7.16895 16 16 16h12.1201c28.5098 0 42.79 34.4697 22.6299 54.6299l-8.58008 8.57031c-2.89648 2.89648 -4.68457 6.90137 -4.68457 11.3174c0 8.83105 7.16992 16.002 16.002 16.002c4.41602 0 8.41602 -1.79297 11.3125 -4.68945l8.57031 -8.58008
c20.1602 -20.1602 54.6299 -5.87988 54.6299 22.6299v12.1201c0 8.83105 7.16895 16 16 16s16 -7.16895 16 -16v-12.1201c0 -28.5098 34.4697 -42.79 54.6299 -22.6299l8.57031 8.58008c2.89648 2.89648 6.90137 4.68457 11.3174 4.68457
c8.83105 0 16.002 -7.16992 16.002 -16.002c0 -4.41602 -1.79297 -8.41602 -4.68945 -11.3125l-8.58008 -8.57031c-20.1602 -20.1602 -5.87988 -54.6299 22.6299 -54.6299h12.1201zM480 64c17.6611 0 32 14.3389 32 32s-14.3389 32 -32 32s-32 -14.3389 -32 -32
s14.3389 -32 32 -32zM346.51 234.67c-38.0195 0 -57.0498 -45.96 -30.1699 -72.8398l11.4297 -11.4297c3.8623 -3.8623 6.24609 -9.20117 6.24609 -15.0879c0 -11.7744 -9.55957 -21.334 -21.334 -21.334c-5.88672 0 -11.2197 2.38965 -15.082 6.25195l-11.4297 11.4297
c-26.8398 26.8799 -72.8398 7.83008 -72.8398 -30.1699v-16.1602c0 -11.7725 -9.55762 -21.3301 -21.3301 -21.3301s-21.3301 9.55762 -21.3301 21.3301v16.1602c0 38.0195 -45.96 57.0498 -72.8398 30.1699l-11.4297 -11.4297
c-3.8623 -3.8623 -9.20117 -6.24609 -15.0879 -6.24609c-11.7744 0 -21.334 9.55957 -21.334 21.334c0 5.88672 2.38965 11.2197 6.25195 15.082l11.4297 11.4297c26.8799 26.8398 7.83008 72.8398 -30.1699 72.8398h-16.1602c-11.7725 0 -21.3301 9.55762 -21.3301 21.3301
s9.55762 21.3301 21.3301 21.3301h16.1602c38.0195 0 57.0498 45.96 30.1699 72.8398l-11.4297 11.4404c-3.83008 3.85645 -6.19043 9.17188 -6.19043 15.0312c0 11.7725 9.55762 21.3301 21.3301 21.3301c5.86035 0 11.1729 -2.36914 15.0303 -6.20215l11.4297 -11.4297
c26.8398 -26.8799 72.8398 -7.83008 72.8398 30.1699v16.1602c0 11.7725 9.55762 21.3301 21.3301 21.3301s21.3301 -9.55762 21.3301 -21.3301v-16.1602c0 -38.0195 45.96 -57.0498 72.8398 -30.1699l11.4297 11.4297c3.85742 3.83301 9.17578 6.19531 15.0361 6.19531
c11.7725 0 21.3301 -9.55762 21.3301 -21.3291c0 -5.85938 -2.36621 -11.1689 -6.19629 -15.0254l-11.4297 -11.4404c-26.8799 -26.8398 -7.83008 -72.8398 30.1699 -72.8398h16.1602c11.7725 0 21.3301 -9.55762 21.3301 -21.3301s-9.55762 -21.3301 -21.3301 -21.3301
h-16.1602zM160 256c17.6611 0 32 14.3389 32 32s-14.3389 32 -32 32s-32 -14.3389 -32 -32s14.3389 -32 32 -32zM240 224c8.83105 0 16 7.16895 16 16s-7.16895 16 -16 16s-16 -7.16895 -16 -16s7.16895 -16 16 -16z" />
    <glyph glyph-name="glass-martini" unicode="&#xf000;" 
d="M502.05 390.4l-214.05 -214.04v-192.36h56c22.0898 0 40 -17.9102 40 -40c0 -4.41992 -3.58008 -8 -8 -8h-240c-4.41992 0 -8 3.58008 -8 8c0 22.0898 17.9102 40 40 40h56v192.36l-214.05 214.04c-21.25 21.2598 -6.2002 57.5996 23.8496 57.5996h444.4
c30.0498 0 45.0996 -36.3398 23.8496 -57.5996z" />
    <glyph glyph-name="music" unicode="&#xf001;" 
d="M470.38 446.49c3.03613 0.957031 6.26953 1.47949 9.62012 1.47949c17.6514 0 31.9834 -14.3223 32 -31.9697v-352c0 -35.3496 -43 -64 -96 -64s-96 28.6602 -96 64s43 64 96 64c11.0361 -0.0605469 21.7158 -1.4248 32 -3.92969v184.609l-256 -75v-233.68
c0 -35.3398 -43 -64 -96 -64s-96 28.6602 -96 64s43 64 96 64c11.0352 -0.0625 21.7139 -1.42285 32 -3.91992v261.41c0.00878906 14.3125 9.43359 26.4336 22.4102 30.5098z" />
    <glyph glyph-name="search" unicode="&#xf002;" 
d="M505 5.2998c9.2998 -9.39941 9.2998 -24.5996 -0.0996094 -34l-28.3008 -28.2998c-9.2998 -9.40039 -24.5 -9.40039 -33.8994 0l-99.7002 99.7002c-4.5 4.5 -7 10.5996 -7 17v16.2998c-35.2998 -27.5996 -79.7002 -44 -128 -44c-114.9 0 -208 93.0996 -208 208
s93.0996 208 208 208s208 -93.0996 208 -208c0 -48.2998 -16.4004 -92.7002 -44 -128h16.2998c6.40039 0 12.5 -2.5 17 -7zM208 112c70.7998 0 128 57.2998 128 128c0 70.7998 -57.2998 128 -128 128c-70.7998 0 -128 -57.2998 -128 -128c0 -70.7998 57.2998 -128 128 -128z
" />
    <glyph glyph-name="heart" unicode="&#xf004;" 
d="M462.3 385.4c62.7998 -53.6006 66.1006 -149.801 9.7998 -207.9l-193.5 -199.8c-12.5 -12.9004 -32.7998 -12.9004 -45.2998 0l-193.5 199.8c-56.2002 58.0996 -52.8994 154.3 9.90039 207.9c54.7998 46.6992 136.399 38.2998 186.6 -13.6006l19.7002 -20.2998
l19.7002 20.2998c50.2998 51.9004 131.8 60.2998 186.6 13.6006z" />
    <glyph glyph-name="star" unicode="&#xf005;" horiz-adv-x="576" 
d="M259.3 430.2c11.7998 23.8994 45.7002 23.5996 57.4004 0l65.2998 -132.4l146.1 -21.2998c26.2002 -3.7998 36.7002 -36.0996 17.7002 -54.5996l-105.7 -103l25 -145.5c4.5 -26.3008 -23.1992 -45.9004 -46.3994 -33.7002l-130.7 68.7002l-130.7 -68.7002
c-23.2002 -12.2998 -50.8994 7.39941 -46.3994 33.7002l25 145.5l-105.7 103c-19 18.5 -8.5 50.7998 17.7002 54.5996l146.1 21.2998z" />
    <glyph glyph-name="user" unicode="&#xf007;" horiz-adv-x="448" 
d="M224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM313.6 160c74.2002 0 134.4 -60.2002 134.4 -134.4v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v41.5996
c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992z" />
    <glyph glyph-name="film" unicode="&#xf008;" 
d="M488 384c13.2998 0 24 -10.7002 24 -24v-336c0 -13.2998 -10.7002 -24 -24 -24h-8v20c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-20h-320v20c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-20h-8
c-13.2998 0 -24 10.7002 -24 24v336c0 13.2998 10.7002 24 24 24h8v-20c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v20h320v-20c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v20h8zM96 76v40c0 6.59961 -5.40039 12 -12 12h-40
c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM96 172v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM96 268v40
c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM368 60v96c0 6.59961 -5.40039 12 -12 12h-200c-6.59961 0 -12 -5.40039 -12 -12v-96c0 -6.59961 5.40039 -12 12 -12h200
c6.59961 0 12 5.40039 12 12zM368 228v96c0 6.59961 -5.40039 12 -12 12h-200c-6.59961 0 -12 -5.40039 -12 -12v-96c0 -6.59961 5.40039 -12 12 -12h200c6.59961 0 12 5.40039 12 12zM480 76v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40
c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM480 172v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM480 268v40c0 6.59961 -5.40039 12 -12 12h-40
c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12z" />
    <glyph glyph-name="th-large" unicode="&#xf009;" 
d="M296 416h192c13.2549 0 24 -10.7451 24 -24v-160c0 -13.2549 -10.7451 -24 -24 -24h-192c-13.2549 0 -24 10.7451 -24 24v160c0 13.2549 10.7451 24 24 24zM216 416c13.2549 0 24 -10.7451 24 -24v-160c0 -13.2549 -10.7451 -24 -24 -24h-192
c-13.2549 0 -24 10.7451 -24 24v160c0 13.2549 10.7451 24 24 24h192zM0 152c0 13.2549 10.7451 24 24 24h192c13.2549 0 24 -10.7451 24 -24v-160c0 -13.2549 -10.7451 -24 -24 -24h-192c-13.2549 0 -24 10.7451 -24 24v160zM296 -32c-13.2549 0 -24 10.7451 -24 24v160
c0 13.2549 10.7451 24 24 24h192c13.2549 0 24 -10.7451 24 -24v-160c0 -13.2549 -10.7451 -24 -24 -24h-192z" />
    <glyph glyph-name="th" unicode="&#xf00a;" 
d="M149.333 392v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24zM330.667 152c0 -13.2549 -10.7451 -24 -24.001 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80
c0 13.2549 10.7451 24 24 24h101.334c13.2549 0 24 -10.7451 24 -24v-80zM362.667 392c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80zM330.667 312
c0 -13.2549 -10.7451 -24 -24.001 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.334c13.2549 0 24 -10.7451 24 -24v-80zM125.333 256c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333
c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.333zM0 72c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80zM386.667 128
c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333zM386.667 -32c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24
v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333zM181.333 72c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80z" />
    <glyph glyph-name="th-list" unicode="&#xf00b;" 
d="M149.333 232v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24zM0 72c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24v-80
c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80zM125.333 416c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.333zM205.333 -32
c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h282.667c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-282.667zM181.333 392c0 13.2549 10.7451 24 24 24h282.667c13.2549 0 24 -10.7451 24 -24v-80
c0 -13.2549 -10.7451 -24 -24 -24h-282.667c-13.2549 0 -24 10.7451 -24 24v80zM205.333 128c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h282.667c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-282.667z" />
    <glyph glyph-name="check" unicode="&#xf00c;" 
d="M173.898 8.5957l-166.4 166.4c-9.99707 9.99707 -9.99707 26.2061 0 36.2041l36.2031 36.2041c9.99707 9.99805 26.207 9.99805 36.2041 0l112.095 -112.095l240.095 240.095c9.99707 9.99707 26.207 9.99707 36.2041 0l36.2031 -36.2041
c9.99707 -9.99707 9.99707 -26.2061 0 -36.2041l-294.4 -294.401c-9.99805 -9.99707 -26.207 -9.99707 -36.2031 0.000976562z" />
    <glyph glyph-name="times" unicode="&#xf00d;" horiz-adv-x="352" 
d="M242.72 192l100.07 -100.07c12.2803 -12.29 12.2803 -32.1992 0 -44.4795l-22.2402 -22.2402c-12.2803 -12.2803 -32.2002 -12.2803 -44.4795 0l-100.07 100.07l-100.07 -100.07c-12.2793 -12.2803 -32.1992 -12.2803 -44.4795 0l-22.2402 22.2402
c-12.2803 12.29 -12.2803 32.2002 0 44.4795l100.07 100.07l-100.07 100.07c-12.2803 12.29 -12.2803 32.1992 0 44.4795l22.2402 22.2402c12.29 12.2803 32.2002 12.2803 44.4795 0l100.07 -100.07l100.07 100.07c12.29 12.2803 32.1992 12.2803 44.4795 0
l22.2402 -22.2402c12.2803 -12.29 12.2803 -32.2002 0 -44.4795z" />
    <glyph glyph-name="search-plus" unicode="&#xf00e;" 
d="M304 256v-32c0 -6.59961 -5.40039 -12 -12 -12h-56v-56c0 -6.59961 -5.40039 -12 -12 -12h-32c-6.59961 0 -12 5.40039 -12 12v56h-56c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h56v56c0 6.59961 5.40039 12 12 12h32c6.59961 0 12 -5.40039 12 -12
v-56h56c6.59961 0 12 -5.40039 12 -12zM505 -28.7002l-28.2998 -28.2998c-9.40039 -9.40039 -24.6006 -9.40039 -33.9004 0l-99.7998 99.7002c-4.5 4.5 -7 10.5996 -7 17v16.2998c-35.2998 -27.5996 -79.7002 -44 -128 -44c-114.9 0 -208 93.0996 -208 208
s93.0996 208 208 208s208 -93.0996 208 -208c0 -48.2998 -16.4004 -92.7002 -44 -128h16.2998c6.40039 0 12.5 -2.5 17 -7l99.7002 -99.7002c9.2998 -9.39941 9.2998 -24.5996 0 -34zM344 240c0 75.2002 -60.7998 136 -136 136s-136 -60.7998 -136 -136
s60.7998 -136 136 -136s136 60.7998 136 136z" />
    <glyph glyph-name="search-minus" unicode="&#xf010;" 
d="M304 256v-32c0 -6.59961 -5.40039 -12 -12 -12h-168c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h168c6.59961 0 12 -5.40039 12 -12zM505 -28.7002l-28.2998 -28.2998c-9.40039 -9.40039 -24.6006 -9.40039 -33.9004 0l-99.7998 99.7002
c-4.5 4.5 -7 10.5996 -7 17v16.2998c-35.2998 -27.5996 -79.7002 -44 -128 -44c-114.9 0 -208 93.0996 -208 208s93.0996 208 208 208s208 -93.0996 208 -208c0 -48.2998 -16.4004 -92.7002 -44 -128h16.2998c6.40039 0 12.5 -2.5 17 -7l99.7002 -99.7002
c9.2998 -9.39941 9.2998 -24.5996 0 -34zM344 240c0 75.2002 -60.7998 136 -136 136s-136 -60.7998 -136 -136s60.7998 -136 136 -136s136 60.7998 136 136z" />
    <glyph glyph-name="power-off" unicode="&#xf011;" 
d="M400 393.9c63 -45 104 -118.601 104 -201.9c0 -136.8 -110.8 -247.7 -247.5 -248c-136.5 -0.299805 -248.3 111 -248.5 247.6c-0.0996094 83.3008 40.9004 157.101 103.8 202.2c11.7002 8.2998 28 4.7998 35 -7.7002l15.7998 -28.0996
c5.90039 -10.5 3.10059 -23.7998 -6.59961 -31c-41.5 -30.7998 -68 -79.5996 -68 -134.9c-0.0996094 -92.2998 74.5 -168.1 168 -168.1c91.5996 0 168.6 74.2002 168 169.1c-0.299805 51.8008 -24.7002 101.801 -68.0996 134c-9.7002 7.2002 -12.4004 20.5 -6.5 30.9004
l15.7998 28.0996c7 12.4004 23.2002 16.1006 34.7998 7.80078zM296 184c0 -13.2998 -10.7002 -24 -24 -24h-32c-13.2998 0 -24 10.7002 -24 24v240c0 13.2998 10.7002 24 24 24h32c13.2998 0 24 -10.7002 24 -24v-240z" />
    <glyph glyph-name="signal" unicode="&#xf012;" horiz-adv-x="640" 
d="M216 160c8.83984 0 16 -7.16016 16 -16v-192c0 -8.83984 -7.16016 -16 -16 -16h-48c-8.83984 0 -16 7.16016 -16 16v192c0 8.83984 7.16016 16 16 16h48zM88 64c8.83984 0 16 -7.16016 16 -16v-96c0 -8.83984 -7.16016 -16 -16 -16h-48c-8.83984 0 -16 7.16016 -16 16v96
c0 8.83984 7.16016 16 16 16h48zM344 256c8.83984 0 16 -7.16016 16 -16v-288c0 -8.83984 -7.16016 -16 -16 -16h-48c-8.83984 0 -16 7.16016 -16 16v288c0 8.83984 7.16016 16 16 16h48zM472 352c8.83984 0 16 -7.16016 16 -16v-384c0 -8.83984 -7.16016 -16 -16 -16h-48
c-8.83984 0 -16 7.16016 -16 16v384c0 8.83984 7.16016 16 16 16h48zM600 448c8.83984 0 16 -7.16016 16 -16v-480c0 -8.83984 -7.16016 -16 -16 -16h-48c-8.83984 0 -16 7.16016 -16 16v480c0 8.83984 7.16016 16 16 16h48z" />
    <glyph glyph-name="cog" unicode="&#xf013;" 
d="M487.4 132.3c4.89941 -2.7998 7.09961 -8.59961 5.59961 -14.0996c-11.0996 -35.7002 -30 -67.9004 -54.7002 -94.6006c-3.7998 -4.19922 -9.89941 -5.09961 -14.7998 -2.2998l-42.5996 24.6006c-18 -15.3008 -38.6006 -27.2002 -60.8008 -35.1006v-49.2002
c0 -5.59961 -3.89941 -10.5 -9.39941 -11.6992c-34.9004 -7.80078 -72.5 -8.2002 -109.2 0c-5.5 1.19922 -9.40039 6.09961 -9.40039 11.6992v49.2002c-22.2998 7.7998 -42.8994 19.7002 -60.7998 35.1006l-42.5996 -24.6006c-4.7998 -2.7998 -11 -1.7998 -14.7998 2.2998
c-24.7002 26.8008 -43.6006 59 -54.7002 94.6006c-1.60059 5.39941 0.599609 11.2002 5.5 14l42.5996 24.5996c-4.2998 23.2002 -4.2998 47 0 70.2002l-42.5996 24.5996c-4.90039 2.80078 -7.2002 8.60059 -5.5 14c11.0996 35.7002 30 67.9004 54.7002 94.6006
c3.7998 4.2002 9.89941 5.09961 14.7998 2.2998l42.5 -24.5996c18 15.2998 38.5996 27.1992 60.7998 35.0996v49.2002c0 5.59961 3.90039 10.5 9.40039 11.7002c34.8994 7.7998 72.5 8.19922 109.199 0c5.5 -1.2002 9.40039 -6.10059 9.40039 -11.7002v-49.1006
c22.2998 -7.7998 42.9004 -19.6992 60.7998 -35.0996l42.6006 24.5996c4.7998 2.80078 11 1.80078 14.7998 -2.2998c24.7002 -26.7998 43.5996 -59 54.7002 -94.5996c1.59961 -5.40039 -0.600586 -11.2002 -5.5 -14l-42.6006 -24.6006
c4.2998 -23.1992 4.2998 -47 0 -70.1992zM256 112c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" />
    <glyph glyph-name="home" unicode="&#xf015;" horiz-adv-x="576" 
d="M280.37 299.74c2.09082 1.68555 4.76562 2.69434 7.6582 2.69434s5.55078 -1.00879 7.6416 -2.69434l184.33 -151.74v-164c0 -8.83105 -7.16895 -16 -16 -16l-112.02 0.30957c-8.83105 0 -16.001 7.16895 -16.001 15.999c0 0.0175781 0 0.0341797 0.000976562 0.0517578
v95.6396c0 8.83105 -7.16992 16 -16 16h-64c-8.83105 0 -16 -7.16895 -16 -16v-95.71c0 -8.80371 -7.12695 -15.9561 -15.9209 -16l-112.06 -0.290039c-8.83105 0 -16 7.16895 -16 16v163.89zM571.6 196.53c2.70703 -2.20117 4.42578 -5.56152 4.42578 -9.31836
c0 -2.88867 -1.02246 -5.54004 -2.72559 -7.6123l-25.5 -31c-2.20117 -2.66309 -5.53418 -4.35059 -9.25684 -4.35059c-2.90332 0 -5.56641 1.0332 -7.64258 2.75098l-235.23 193.74c-2.09082 1.68555 -4.7666 2.69434 -7.6582 2.69434
c-2.89258 0 -5.55078 -1.00879 -7.6416 -2.69434l-235.22 -193.74c-2.0752 -1.71387 -4.73926 -2.75586 -7.63867 -2.75586c-3.73242 0 -7.07031 1.70898 -9.27148 4.38574l-25.5 31c-1.71875 2.07617 -2.7627 4.74414 -2.7627 7.64648
c0 3.72266 1.69824 7.05176 4.3623 9.25391l253.13 208.47c8.29102 6.82227 18.9668 10.9209 30.5312 10.9209s22.1787 -4.09863 30.4688 -10.9209l89.5303 -73.6602v72.6104c0 6.62305 5.37695 12 12 12h56c6.62305 0 12 -5.37695 12 -12v-138.51z" />
    <glyph glyph-name="clock" unicode="&#xf017;" 
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM348.49 127c2.19531 2.73926 3.52637 6.21973 3.52637 10c0 5.05566 -2.35059 9.56738 -6.0166 12.5l-58 42.5v144c0 8.83105 -7.16895 16 -16 16h-32
c-8.83105 0 -16 -7.16895 -16 -16v-155.55c0 -12.6338 5.8418 -23.8975 15 -31.2305l67 -49.7197v0c2.7373 -2.19043 6.21387 -3.51758 9.98926 -3.51758c5.05566 0 9.56738 2.35059 12.501 6.01758l20 25v0z" />
    <glyph glyph-name="road" unicode="&#xf018;" horiz-adv-x="576" 
d="M573.19 45.3301c9.25977 -21.1904 -5.5 -45.3301 -27.7305 -45.3301h-196.84l-10.3105 97.6797c-0.859375 8.14062 -7.71973 14.3203 -15.9092 14.3203h-68.8008c-8.18945 0 -15.0498 -6.17969 -15.9092 -14.3203l-10.3105 -97.6797h-196.84
c-22.2305 0 -36.9902 24.1396 -27.7402 45.3301l139.79 320c4.96973 11.3799 15.7998 18.6699 27.7305 18.6699h97.5898l-2.4502 -23.1602c-0.5 -4.71973 3.20996 -8.83984 7.95996 -8.83984h29.1602c4.75 0 8.45996 4.12012 7.95996 8.83984l-2.4502 23.1602h97.5898
c11.9199 0 22.75 -7.29004 27.7207 -18.6699zM260.4 312.84l-4.59082 -43.5801c-0.75 -7.08984 4.80078 -13.2598 11.9307 -13.2598h40.54c7.12012 0 12.6797 6.16992 11.9297 13.2598l-4.59961 43.5801c-0.430664 4.07031 -3.87012 7.16016 -7.95996 7.16016h-39.29
c-0.00195312 0 -0.00390625 -0.0078125 -0.00488281 -0.0078125c-4.12891 0 -7.53125 -3.13477 -7.95508 -7.15234zM315.64 144c9.5 0 16.9102 8.23047 15.9102 17.6797l-5.06934 48c-0.860352 8.14062 -7.7207 14.3203 -15.9102 14.3203h-45.1504
c-8.18945 0 -15.0498 -6.17969 -15.9102 -14.3203l-5.06934 -48c-1 -9.44922 6.40918 -17.6797 15.9092 -17.6797h55.29z" />
    <glyph glyph-name="download" unicode="&#xf019;" 
d="M216 448h80c13.2998 0 24 -10.7002 24 -24v-168h87.7002c17.7998 0 26.7002 -21.5 14.0996 -34.0996l-152.1 -152.2c-7.5 -7.5 -19.7998 -7.5 -27.2998 0l-152.301 152.2c-12.5996 12.5996 -3.69922 34.0996 14.1006 34.0996h87.7998v168c0 13.2998 10.7002 24 24 24z
M512 72v-112c0 -13.2998 -10.7002 -24 -24 -24h-464c-13.2998 0 -24 10.7002 -24 24v112c0 13.2998 10.7002 24 24 24h146.7l49 -49c20.0996 -20.0996 52.5 -20.0996 72.5996 0l49 49h146.7c13.2998 0 24 -10.7002 24 -24zM388 -16c0 11 -9 20 -20 20s-20 -9 -20 -20
s9 -20 20 -20s20 9 20 20zM452 -16c0 11 -9 20 -20 20s-20 -9 -20 -20s9 -20 20 -20s20 9 20 20z" />
    <glyph glyph-name="inbox" unicode="&#xf01c;" horiz-adv-x="576" 
d="M567.938 204.092c5.07422 -7.61035 8.06152 -16.7998 8.06152 -26.625v-129.467c0 -26.5098 -21.4902 -48 -48 -48h-480c-26.5098 0 -48 21.4902 -48 48v129.467c0 9.8252 2.9873 19.0146 8.06152 26.625l105.689 158.534c8.60742 12.9102 23.2725 21.374 39.9385 21.374
h268.621c16.667 0 31.332 -8.46387 39.9395 -21.374zM162.252 320l-85.334 -128h123.082l32 -64h112l32 64h123.082l-85.333 128h-251.497z" />
    <glyph glyph-name="redo" unicode="&#xf01e;" 
d="M500.33 448c6.62305 0 12 -5.37695 12 -12v-200.34c0 -6.62305 -5.37695 -12 -12 -12h-200.33c-6.62305 0 -12 5.37695 -12 12v47.4102c0 0.00390625 -0.00878906 0.00878906 -0.00878906 0.0136719c0 6.62305 5.37695 12 12 12
c0.194336 0 0.386719 -0.00488281 0.579102 -0.0136719l101.529 -4.87012c-31.6084 47.0322 -85.1172 77.8594 -145.992 77.8594c-97.1367 0 -176 -78.8633 -176 -176s78.8633 -176 176 -176c44.502 0 85.168 16.5518 116.173 43.8301
c2.10938 1.84375 4.87793 2.96582 7.89746 2.96582c3.31055 0 6.31055 -1.34375 8.48242 -3.51562l34 -34c2.17383 -2.17188 3.52246 -5.17285 3.52246 -8.48633c0 -3.55176 -1.54688 -6.74512 -4.00293 -8.94336c-43.8477 -39.6924 -102.079 -63.9102 -165.824 -63.9102
h-0.355469c-136.9 0 -247.9 110.93 -248 247.81c-0.0996094 136.66 111.34 248.19 248 248.19c0.0927734 0 0.116211 0.140625 0.208984 0.140625c75.5918 0 143.312 -33.9727 188.711 -87.4707l-4 82.7598c-0.00878906 0.192383 -0.0136719 0.375977 -0.0136719 0.570312
c0 6.62305 5.37695 12 12 12h0.0136719h47.4102z" />
    <glyph glyph-name="sync" unicode="&#xf021;" 
d="M440.65 435.43c-0.00976562 0.192383 -0.0136719 0.375977 -0.0136719 0.570312c0 6.62109 5.37305 11.9961 11.9932 12h47.3701c6.62305 0 12 -5.37695 12 -12v-200.35c0 -6.62305 -5.37695 -12 -12 -12h-200.22c-6.62305 0 -12 5.37695 -12 12v47.4092
c0 0.00488281 -0.00878906 0.00976562 -0.00878906 0.0136719c0 6.62305 5.37695 12 12 12c0.194336 0 0.386719 -0.00390625 0.578125 -0.0136719l101.46 -4.85938c-31.5938 46.9941 -85.1406 77.6738 -145.973 77.6738c-82.8662 0 -152.428 -57.4229 -171.027 -134.614
c-1.24219 -5.29688 -5.99707 -9.25391 -11.6699 -9.25977h-49.0498c-6.62305 0 -12 5.36719 -12 11.9893c0 0.748047 0.0693359 1.48047 0.200195 2.19043c21.6201 114.9 122.44 201.82 243.54 201.82c0.0966797 0 0.123047 0.141602 0.219727 0.141602
c75.5615 0 143.248 -33.9814 188.601 -87.4814zM255.83 16c0.015625 0 0.0185547 0.0898438 0.0332031 0.0898438c82.8701 0 152.43 57.4434 170.997 134.65c1.24219 5.29688 5.99707 9.25391 11.6699 9.25977h49.0498c6.62305 0 12 -5.36719 12 -11.9893
c0 -0.748047 -0.0693359 -1.48047 -0.200195 -2.19043c-21.6201 -114.9 -122.439 -201.82 -243.55 -201.82c-0.0800781 0 -0.0908203 -0.140625 -0.170898 -0.140625c-75.4814 0 -143.106 33.9082 -188.459 87.3105l4.14941 -82.5703
c0.0107422 -0.201172 0.015625 -0.395508 0.015625 -0.599609c0 -6.62305 -5.37695 -12 -12 -12h-0.015625h-47.3496c-6.62305 0 -12 5.37695 -12 12v200.33c0 6.62305 5.37695 12 12 12h200.2c6.62305 0 12 -5.37695 12 -12v-47.4004
c0 -0.00390625 0.0078125 -0.00878906 0.0078125 -0.0136719c0 -6.62305 -5.37695 -12 -12 -12c-0.193359 0 -0.386719 0.00488281 -0.578125 0.0136719l-101.8 4.87012c31.5254 -47.0088 85.0449 -77.7998 145.847 -77.7998h0.15332z" />
    <glyph glyph-name="list-alt" unicode="&#xf022;" 
d="M464 -32h-416c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48zM128 328c-22.0908 0 -40 -17.9092 -40 -40s17.9092 -40 40 -40s40 17.9092 40 40s-17.9092 40 -40 40zM128 232
c-22.0908 0 -40 -17.9092 -40 -40s17.9092 -40 40 -40s40 17.9092 40 40s-17.9092 40 -40 40zM128 136c-22.0908 0 -40 -17.9092 -40 -40s17.9092 -40 40 -40s40 17.9092 40 40s-17.9092 40 -40 40zM416 272v32c0 6.62695 -5.37305 12 -12 12h-200
c-6.62695 0 -12 -5.37305 -12 -12v-32c0 -6.62695 5.37305 -12 12 -12h200c6.62695 0 12 5.37305 12 12zM416 176v32c0 6.62695 -5.37305 12 -12 12h-200c-6.62695 0 -12 -5.37305 -12 -12v-32c0 -6.62695 5.37305 -12 12 -12h200c6.62695 0 12 5.37305 12 12zM416 80v32
c0 6.62695 -5.37305 12 -12 12h-200c-6.62695 0 -12 -5.37305 -12 -12v-32c0 -6.62695 5.37305 -12 12 -12h200c6.62695 0 12 5.37305 12 12z" />
    <glyph glyph-name="lock" unicode="&#xf023;" horiz-adv-x="448" 
d="M400 224c26.5 0 48 -21.5 48 -48v-192c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v192c0 26.5 21.5 48 48 48h24v72c0 83.7998 68.2002 152 152 152s152 -68.2002 152 -152v-72h24zM296 224v72c0 39.7002 -32.2998 72 -72 72s-72 -32.2998 -72 -72v-72h144
z" />
    <glyph glyph-name="flag" unicode="&#xf024;" 
d="M349.565 349.217c40.4951 0 82.6113 15.9062 116.949 31.8545c21.2168 9.85352 45.4854 -5.62305 45.4854 -29.0166v-243.1c0 -10.5264 -5.16016 -20.4072 -13.8428 -26.3584c-35.8379 -24.5635 -74.3359 -40.8574 -122.505 -40.8574
c-67.373 0 -111.629 34.7832 -165.218 34.7832c-50.8525 0 -86.124 -10.0586 -114.435 -22.1221v-94.4004c0 -13.2549 -10.7451 -24 -24 -24h-16c-13.2549 0 -24 10.7451 -24 24v386.055c-14.5029 10.1201 -24 26.9189 -24 45.9453
c0 31.7041 26.3447 57.2539 58.3379 55.9521c28.4678 -1.1582 51.7793 -23.9668 53.5508 -52.4033c0.0761719 -1.19141 0.0927734 -2.37305 0.0927734 -3.58301c0 -7.03711 -1.30176 -13.7734 -3.67871 -19.9785c20.7363 7.62891 43.0898 12.0127 68.0449 12.0127
c67.373 0 111.63 -34.7832 165.218 -34.7832z" />
    <glyph glyph-name="headphones" unicode="&#xf025;" 
d="M256 416c141.504 0 256 -114.521 256 -256v-48c0 -12.5312 -7.1875 -23.3711 -17.6904 -28.6221l-14.3818 -7.19141c-2.01074 -60.0889 -51.3486 -108.187 -111.928 -108.187h-24c-13.2549 0 -24 10.7451 -24 24v176c0 13.2549 10.7451 24 24 24h24
c31.3418 0 59.6709 -12.8789 80 -33.627v1.62695c0 105.869 -86.1309 192 -192 192s-192 -86.1309 -192 -192v-1.62695c20.3291 20.748 48.6582 33.627 80 33.627h24c13.2549 0 24 -10.7451 24 -24v-176c0 -13.2549 -10.7451 -24 -24 -24h-24
c-60.5791 0 -109.917 48.0967 -111.928 108.187l-14.3828 7.19141c-10.502 5.25098 -17.6895 16.0908 -17.6895 28.6221v48c0 141.504 114.52 256 256 256z" />
    <glyph glyph-name="volume-off" unicode="&#xf026;" horiz-adv-x="256" 
d="M215 377c15 15 41 4.46973 41 -17v-336c0 -21.4697 -26 -32 -41 -17l-88.9404 89h-102.06c-13.2461 0 -24 10.7539 -24 24v144c0 13.2461 10.7539 24 24 24h102z" />
    <glyph glyph-name="volume-down" unicode="&#xf027;" horiz-adv-x="384" 
d="M215.03 375.96c15.0098 15 40.9697 4.49023 40.9697 -16.9795v-335.961c0 -21.4395 -25.9404 -32 -40.9697 -16.9697l-88.9707 88.9502h-102.06c-13.2598 0 -24 10.75 -24 24v144c0 13.2598 10.7402 24 24 24h102.06zM338.23 267.88
c28.2393 -15.5498 45.7793 -44.9902 45.7793 -76.8701s-17.54 -61.3301 -45.7695 -76.8799c-11.5605 -6.34961 -26.1807 -2.20996 -32.6104 9.4502c-6.38965 11.6104 -2.16016 26.2002 9.4502 32.6104c12.9004 7.08984 20.9199 20.4297 20.9199 34.8096
s-8.01953 27.7197 -20.9297 34.8203c-11.6104 6.41016 -15.8398 21 -9.4502 32.6094c6.41992 11.6104 21.0303 15.7803 32.6104 9.4502z" />
    <glyph glyph-name="volume-up" unicode="&#xf028;" horiz-adv-x="576" 
d="M215.03 376.95c15.0098 15.0098 40.9697 4.49023 40.9697 -16.9697v-335.961c0 -21.4395 -25.9404 -32 -40.9697 -16.9697l-88.9707 88.9502h-102.06c-13.2598 0 -24 10.75 -24 24v144c0 13.2598 10.7402 24 24 24h102.06zM448.35 428.03
c79.9199 -52.46 127.65 -140.7 127.65 -236.03s-47.7305 -183.58 -127.65 -236.04c-11.5801 -7.61035 -26.4697 -3.75977 -33.5098 6.9502c-7.33984 11.1602 -4.21973 26.1797 6.9502 33.5c66.2695 43.4902 105.82 116.6 105.82 195.58
c0 78.9795 -39.5508 152.09 -105.82 195.58c-11.1699 7.33008 -14.29 22.3398 -6.9502 33.5098c7.33008 11.1895 22.3398 14.2803 33.5098 6.9502zM480 192c0 -63.54 -32.0596 -121.94 -85.7695 -156.24c-12 -7.67969 -26.6104 -2.89941 -33.1201 7.45996
c-7.09082 11.29 -3.78027 26.2207 7.40918 33.3604c39.75 25.3896 63.4805 68.5303 63.4805 115.42s-23.7305 90.0303 -63.4805 115.42c-11.1895 7.15039 -14.5 22.0801 -7.40918 33.3604c7.08984 11.2793 21.9297 14.5996 33.1201 7.45996
c53.71 -34.2998 85.7695 -92.71 85.7695 -156.24zM338.23 268.87c28.2393 -15.54 45.7793 -44.9805 45.7793 -76.8604s-17.54 -61.3301 -45.7695 -76.8799c-11.5605 -6.34961 -26.1807 -2.20996 -32.6104 9.4502c-6.38965 11.6104 -2.16016 26.2002 9.4502 32.6104
c12.9004 7.08984 20.9199 20.4297 20.9199 34.8096c0 14.3701 -8.01953 27.7197 -20.9297 34.8096c-11.6104 6.41016 -15.8398 21 -9.4502 32.6104c6.41992 11.6104 21.0303 15.7803 32.6104 9.4502z" />
    <glyph glyph-name="qrcode" unicode="&#xf029;" horiz-adv-x="448" 
d="M0 224v192h192v-192h-192zM64 352v-64h64v64h-64zM256 416h192v-192h-192v192zM384 288v64h-64v-64h64zM0 -32v192h192v-192h-192zM64 96v-64h64v64h-64zM416 160h32v-128h-96v32h-32v-96h-64v192h96v-32h64v32zM416 0h32v-32h-32v32zM352 0h32v-32h-32v32z" />
    <glyph glyph-name="barcode" unicode="&#xf02a;" 
d="M0 0v384h18v-384h-18zM26.8574 0.273438v383.727h9.14258v-383.727h-9.14258zM54 0.273438v383.727h8.85742v-383.727h-8.85742zM98.8574 0.273438v383.727h8.85645v-383.727h-8.85645zM134.857 0.273438v383.727h17.7139v-383.727h-17.7139zM179.714 0.273438v383.727
h8.85742v-383.727h-8.85742zM197.714 0.273438v383.727h8.85742v-383.727h-8.85742zM215.714 0.273438v383.727h8.85742v-383.727h-8.85742zM251.429 0.273438v383.727h18v-383.727h-18zM296.286 0.273438v383.727h18v-383.727h-18zM332.285 0.273438v383.727h18.001
v-383.727h-18.001zM368.286 0.273438v383.727h18.001v-383.727h-18.001zM395.143 0.273438v383.727h18v-383.727h-18zM440.286 0.273438v383.727h26.8564v-383.727h-26.8564zM476 0.273438v383.727h9.14258v-383.727h-9.14258zM494 0v384h18v-384h-18z" />
    <glyph glyph-name="tag" unicode="&#xf02b;" 
d="M0 195.882v204.118c0 26.5098 21.4902 48 48 48h204.118c13.2461 0 25.252 -5.37012 33.9404 -14.0586l211.883 -211.883c18.7441 -18.7441 18.7441 -49.1367 0 -67.8818l-204.118 -204.118c-18.7451 -18.7441 -49.1377 -18.7441 -67.8818 0l-211.883 211.883
c-8.68848 8.68848 -14.0586 20.6943 -14.0586 33.9404zM112 384c-26.5098 0 -48 -21.4902 -48 -48s21.4902 -48 48 -48s48 21.4902 48 48s-21.4902 48 -48 48z" />
    <glyph glyph-name="tags" unicode="&#xf02c;" horiz-adv-x="640" 
d="M497.941 222.059c18.7441 -18.7441 18.7441 -49.1367 0 -67.8818l-204.118 -204.118c-18.7461 -18.7451 -49.1387 -18.7441 -67.8818 0l-211.883 211.883c-8.68848 8.68848 -14.0586 20.6943 -14.0586 33.9404v204.118c0 26.5098 21.4902 48 48 48h204.118
c13.2461 0 25.252 -5.37012 33.9404 -14.0586zM112 288c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM625.941 154.177l-204.118 -204.118c-18.7451 -18.7441 -49.1377 -18.7441 -67.8818 0l-0.360352 0.360352
l174.059 174.059c16.999 16.999 26.3604 39.6006 26.3604 63.6406s-9.3623 46.6406 -26.3604 63.6396l-196.242 196.242h48.7207c13.2461 0 25.252 -5.37012 33.9404 -14.0586l211.883 -211.883c18.7441 -18.7441 18.7441 -49.1367 0 -67.8818z" />
    <glyph glyph-name="book" unicode="&#xf02d;" horiz-adv-x="448" 
d="M448 88c0 -7.5 -3.5 -14.2998 -8.90039 -18.5996c-4.19922 -15.4004 -4.19922 -59.3008 0 -74.7002c5.40039 -4.40039 8.90039 -11.2002 8.90039 -18.7002v-16c0 -13.2998 -10.7002 -24 -24 -24h-328c-53 0 -96 43 -96 96v320c0 53 43 96 96 96h328
c13.2998 0 24 -10.7002 24 -24v-336zM128 314v-20c0 -3.2998 2.7002 -6 6 -6h212c3.2998 0 6 2.7002 6 6v20c0 3.2998 -2.7002 6 -6 6h-212c-3.2998 0 -6 -2.7002 -6 -6zM128 250v-20c0 -3.2998 2.7002 -6 6 -6h212c3.2998 0 6 2.7002 6 6v20c0 3.2998 -2.7002 6 -6 6h-212
c-3.2998 0 -6 -2.7002 -6 -6zM381.4 0c-1.90039 17.0996 -1.90039 46.9004 0 64h-285.4c-17.5996 0 -32 -14.4004 -32 -32c0 -17.7002 14.2998 -32 32 -32h285.4z" />
    <glyph glyph-name="bookmark" unicode="&#xf02e;" horiz-adv-x="384" 
d="M0 -64v464c0 26.5098 21.4902 48 48 48h288c26.5098 0 48 -21.4902 48 -48v-464l-192 112z" />
    <glyph glyph-name="print" unicode="&#xf02f;" 
d="M448 256c35.3496 0 64 -28.6504 64 -64v-112c0 -8.83984 -7.16016 -16 -16 -16h-48v-96c0 -17.6699 -14.3301 -32 -32 -32h-320c-17.6699 0 -32 14.3301 -32 32v96h-48c-8.83984 0 -16 7.16016 -16 16v112c0 35.3496 28.6504 64 64 64v160c0 17.6699 14.3301 32 32 32
h274.74c8.49023 0 16.6299 -3.37012 22.6299 -9.37012l45.2598 -45.25c6 -6.00977 9.37012 -14.1396 9.37012 -22.6299v-114.75zM384 0v96h-256v-96h256zM384 224v96h-48c-8.83984 0 -16 7.16016 -16 16v48h-192v-160h256zM432 152c13.25 0 24 10.75 24 24
c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24z" />
    <glyph glyph-name="camera" unicode="&#xf030;" 
d="M512 304v-288c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h88l12.2998 32.9004c7 18.6992 24.9004 31.0996 44.9004 31.0996h125.5c20 0 37.8994 -12.4004 44.8994 -31.0996l12.4004 -32.9004h88c26.5 0 48 -21.5 48 -48zM376 160
c0 66.2002 -53.7998 120 -120 120s-120 -53.7998 -120 -120s53.7998 -120 120 -120s120 53.7998 120 120zM344 160c0 -48.5 -39.5 -88 -88 -88s-88 39.5 -88 88s39.5 88 88 88s88 -39.5 88 -88z" />
    <glyph glyph-name="font" unicode="&#xf031;" horiz-adv-x="448" 
d="M432 32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-128c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h19.5801l-23.2998 64h-152.561l-23.2998 -64h19.5801c8.83105 0 16 -7.16895 16 -16v-32
c0 -8.83105 -7.16895 -16 -16 -16h-128c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h23.4102l130.71 362.31c4.29297 12.6133 16.2363 21.6904 30.293 21.6904h0.00683594h47.1602l-0.00292969 0.00683594c14.0576 0 26.0098 -9.08398 30.3027 -21.6973
l130.71 -362.31h23.4102zM176.85 176h94.3008l-47.1504 129.49z" />
    <glyph glyph-name="bold" unicode="&#xf032;" horiz-adv-x="384" 
d="M333.49 210c34.4395 -27.54 55.5693 -71.1504 50.8301 -119.6c-6.86035 -70.6504 -70.2002 -122.4 -141 -122.4h-209.32c-8.83105 0 -16 7.16895 -16 16v48c0 8.83105 7.16895 16 16 16h31.8701v288h-31.8701c-8.83105 0 -16 7.16895 -16 16v48
c0 8.83105 7.16895 16 16 16h199.42c74.5801 0 134.45 -64.4902 127.07 -140.79c-2.43945 -24.5273 -12.1992 -47.1309 -27 -65.21zM145.66 336v-96h87.7598c26.4922 0 48 21.5078 48 48s-21.5078 48 -48 48h-87.7598zM233.42 48c30.9072 0 56 25.0928 56 56
s-25.0928 56 -56 56h-87.7598v-112h87.7598z" />
    <glyph glyph-name="italic" unicode="&#xf033;" horiz-adv-x="320" 
d="M320 400v-32c0 -8.83105 -7.16895 -16 -16 -16h-62.7598l-80 -320h46.7598c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-192c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h62.7598l80 320h-46.7598
c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h192c8.83105 0 16 -7.16895 16 -16z" />
    <glyph glyph-name="text-height" unicode="&#xf034;" horiz-adv-x="576" 
d="M304 416c8.83105 0 16 -7.16895 16 -16v-96c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32h-56v-304h40c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-160c-8.83105 0 -16 7.16895 -16 16v32
c0 8.83105 7.16895 16 16 16h40v304h-56v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v96c0 8.83105 7.16895 16 16 16h288zM560 80c15.6396 0 20.6396 -18 11.3096 -27.3096l-80 -80c-2.89551 -2.89453 -6.89844 -4.68555 -11.3115 -4.68555
c-4.41406 0 -8.41211 1.79102 -11.3076 4.68555l-80 80c-10.0107 10 -3 27.3096 11.3096 27.3096h48v224h-48c-15.6396 0 -20.6396 18 -11.3096 27.3096l80 80c2.89551 2.89453 6.89844 4.68555 11.3115 4.68555c4.41406 0 8.41211 -1.79102 11.3076 -4.68555l80 -80
c10.0205 -10 3 -27.3096 -11.3096 -27.3096h-48v-224h48z" />
    <glyph glyph-name="text-width" unicode="&#xf035;" horiz-adv-x="448" 
d="M432 416c8.83105 0 16 -7.16895 16 -16v-80c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v16h-120v-112h24c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-128c-8.83105 0 -16 7.16895 -16 16v32
c0 8.83105 7.16895 16 16 16h24v112h-120v-16c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v80c0 8.83105 7.16895 16 16 16h416zM363.31 155.31l80 -80c2.89453 -2.89551 4.68555 -6.89844 4.68555 -11.3115
c0 -4.41406 -1.79102 -8.41211 -4.68555 -11.3076l-80 -80c-10 -10.0205 -27.3096 -3 -27.3096 11.3096v48h-224v-48c0 -15.6396 -18 -20.6396 -27.3096 -11.3096l-80 80c-2.89453 2.89551 -4.68555 6.89844 -4.68555 11.3115c0 4.41406 1.79102 8.41211 4.68555 11.3076
l80 80c10 10.0107 27.3096 3 27.3096 -11.3096v-48h224v48c0 15.6396 18 20.6396 27.3096 11.3096z" />
    <glyph glyph-name="align-left" unicode="&#xf036;" horiz-adv-x="448" 
d="M12.8301 96c-7.07617 0 -12.8301 5.74414 -12.8301 12.8193v0.0107422v38.3398v0.00976562c0 7.07617 5.74414 12.8203 12.8193 12.8203h0.0107422h262.34h0.00976562c7.07617 0 12.8203 -5.74414 12.8203 -12.8193v-0.0107422v-38.3398v-0.00976562
c0 -7.07617 -5.74414 -12.8203 -12.8193 -12.8203h-0.0107422h-262.34zM12.8301 352c-7.07617 0 -12.8301 5.74414 -12.8301 12.8193v0.0107422v38.3398v0.00976562c0 7.07617 5.74414 12.8203 12.8193 12.8203h0.0107422h262.34h0.00976562
c7.07617 0 12.8203 -5.74414 12.8203 -12.8193v-0.0107422v-38.3398v-0.00976562c0 -7.07617 -5.74414 -12.8203 -12.8193 -12.8203h-0.0107422h-262.34zM432 288c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-416c-8.83105 0 -16 7.16895 -16 16v32
c0 8.83105 7.16895 16 16 16h416zM432 32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-416c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h416z" />
    <glyph glyph-name="align-center" unicode="&#xf037;" horiz-adv-x="448" 
d="M432 288c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-416c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h416zM432 32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-416c-8.83105 0 -16 7.16895 -16 16
v32c0 8.83105 7.16895 16 16 16h416zM108.1 352c-6.67773 0 -12.0996 5.42188 -12.0996 12.0996v39.8105c0 6.67285 5.41699 12.0898 12.0898 12.0898h0.00976562h231.811c6.67285 0 12.0898 -5.41699 12.0898 -12.0898v-39.8105v-0.00976562
c0 -6.67285 -5.41699 -12.0898 -12.0898 -12.0898h-231.811zM339.91 96h-231.811c-6.67773 0 -12.0996 5.42188 -12.0996 12.0996v39.8105c0 6.67285 5.41699 12.0898 12.0898 12.0898h0.00976562h231.811c6.67285 0 12.0898 -5.41699 12.0898 -12.0898v-39.8105
v-0.00976562c0 -6.67285 -5.41699 -12.0898 -12.0898 -12.0898z" />
    <glyph glyph-name="align-right" unicode="&#xf038;" horiz-adv-x="448" 
d="M16 224c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h416c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-416zM432 32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-416c-8.83105 0 -16 7.16895 -16 16
v32c0 8.83105 7.16895 16 16 16h416zM435.17 416c7.07617 0 12.8301 -5.74414 12.8301 -12.8193v-0.0107422v-38.3398v-0.00976562c0 -7.07617 -5.74414 -12.8203 -12.8193 -12.8203h-0.0107422h-262.34h-0.00976562c-7.07617 0 -12.8203 5.74414 -12.8203 12.8193
v0.0107422v38.3398v0.00976562c0 7.07617 5.74414 12.8203 12.8193 12.8203h0.0107422h262.34zM435.17 160c7.07617 0 12.8301 -5.74414 12.8301 -12.8193v-0.0107422v-38.3398v-0.00976562c0 -7.07617 -5.74414 -12.8203 -12.8193 -12.8203h-0.0107422h-262.34h-0.00976562
c-7.07617 0 -12.8203 5.74414 -12.8203 12.8193v0.0107422v38.3398v0.00976562c0 7.07617 5.74414 12.8203 12.8193 12.8203h0.0107422h262.34z" />
    <glyph glyph-name="align-justify" unicode="&#xf039;" horiz-adv-x="448" 
d="M432 32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-416c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h416zM432 160c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-416c-8.83105 0 -16 7.16895 -16 16
v32c0 8.83105 7.16895 16 16 16h416zM432 288c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-416c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h416zM432 416c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16
h-416c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h416z" />
    <glyph glyph-name="list" unicode="&#xf03a;" 
d="M80 80c8.83105 0 16 -7.16895 16 -16v-64c0 -8.83105 -7.16895 -16 -16 -16h-64c-8.83105 0 -16 7.16895 -16 16v64c0 8.83105 7.16895 16 16 16h64zM80 400c8.83105 0 16 -7.16895 16 -16v-64c0 -8.83105 -7.16895 -16 -16 -16h-64c-8.83105 0 -16 7.16895 -16 16v64
c0 8.83105 7.16895 16 16 16h64zM80 240c8.83105 0 16 -7.16895 16 -16v-64c0 -8.83105 -7.16895 -16 -16 -16h-64c-8.83105 0 -16 7.16895 -16 16v64c0 8.83105 7.16895 16 16 16h64zM496 64c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-320
c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h320zM496 384c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-320c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h320zM496 224c8.83105 0 16 -7.16895 16 -16v-32
c0 -8.83105 -7.16895 -16 -16 -16h-320c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h320z" />
    <glyph glyph-name="outdent" unicode="&#xf03b;" horiz-adv-x="448" 
d="M100.69 84.71l-96 95.9805c-2.89453 2.89551 -4.68555 6.89844 -4.68555 11.3115c0 4.41406 1.79102 8.41211 4.68555 11.3076l96 96c9.97949 10 27.3096 3.01074 27.3096 -11.3096v-191.98c0 -14.2393 -17.3096 -21.3096 -27.3096 -11.3096zM432 32
c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-416c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h416zM435.17 160c7.07617 0 12.8301 -5.74414 12.8301 -12.8193v-0.0107422v-38.3398v-0.00976562
c0 -7.07617 -5.74414 -12.8203 -12.8193 -12.8203h-0.0107422h-230.34h-0.00976562c-7.07617 0 -12.8203 5.74414 -12.8203 12.8193v0.0107422v38.3398v0.00976562c0 7.07617 5.74414 12.8203 12.8193 12.8203h0.0107422h230.34zM435.17 288
c7.07617 0 12.8301 -5.74414 12.8301 -12.8193v-0.0107422v-38.3398v-0.00976562c0 -7.07617 -5.74414 -12.8203 -12.8193 -12.8203h-0.0107422h-230.34h-0.00976562c-7.07617 0 -12.8203 5.74414 -12.8203 12.8193v0.0107422v38.3398v0.00976562
c0 7.07617 5.74414 12.8203 12.8193 12.8203h0.0107422h230.34zM432 416c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-416c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h416z" />
    <glyph glyph-name="indent" unicode="&#xf03c;" horiz-adv-x="448" 
d="M27.3096 84.7002c-9.97949 -10 -27.3096 -3.00977 -27.3096 11.2998v192c0 14.2197 17.2695 21.3398 27.3096 11.3203l96 -96c2.89453 -2.89648 4.68555 -6.89941 4.68555 -11.3125s-1.79102 -8.41211 -4.68555 -11.3076zM432 32c8.83105 0 16 -7.16895 16 -16v-32
c0 -8.83105 -7.16895 -16 -16 -16h-416c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h416zM435.17 160c7.07617 0 12.8301 -5.74414 12.8301 -12.8193v-0.0107422v-38.3398v-0.00976562c0 -7.07617 -5.74414 -12.8203 -12.8193 -12.8203h-0.0107422
h-230.34h-0.00976562c-7.07617 0 -12.8203 5.74414 -12.8203 12.8193v0.0107422v38.3398v0.00976562c0 7.07617 5.74414 12.8203 12.8193 12.8203h0.0107422h230.34zM435.17 288c7.07617 0 12.8301 -5.74414 12.8301 -12.8193v-0.0107422v-38.3398v-0.00976562
c0 -7.07617 -5.74414 -12.8203 -12.8193 -12.8203h-0.0107422h-230.34h-0.00976562c-7.07617 0 -12.8203 5.74414 -12.8203 12.8193v0.0107422v38.3398v0.00976562c0 7.07617 5.74414 12.8203 12.8193 12.8203h0.0107422h230.34zM432 416c8.83105 0 16 -7.16895 16 -16v-32
c0 -8.83105 -7.16895 -16 -16 -16h-416c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h416z" />
    <glyph glyph-name="video" unicode="&#xf03d;" horiz-adv-x="576" 
d="M336.2 384c26.3994 0 47.7998 -21.4004 47.7998 -47.7998v-288.4c0 -26.3994 -21.4004 -47.7998 -47.7998 -47.7998h-288.4c-26.3994 0 -47.7998 21.4004 -47.7998 47.7998v288.4c0 26.3994 21.4004 47.7998 47.7998 47.7998h288.4zM525.6 346.3
c21.3008 14.6006 50.4004 -0.399414 50.4004 -25.7998v-256.9c0 -25.5 -29.2002 -40.3994 -50.4004 -25.7998l-109.6 75.5v157.4z" />
    <glyph glyph-name="image" unicode="&#xf03e;" 
d="M464 0h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h416c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48zM112 328c-30.9277 0 -56 -25.0723 -56 -56s25.0723 -56 56 -56s56 25.0723 56 56s-25.0723 56 -56 56zM64 64h384
v112l-87.5146 87.5146c-4.68652 4.68652 -12.2842 4.68652 -16.9717 0l-135.514 -135.515l-55.5146 55.5146c-4.68652 4.68652 -12.2842 4.68652 -16.9717 0l-71.5137 -71.5146v-48z" />
    <glyph glyph-name="map-marker" unicode="&#xf041;" horiz-adv-x="384" 
d="M172.268 -53.6699c-145.298 210.639 -172.268 232.257 -172.268 309.67c0 106.039 85.9609 192 192 192s192 -85.9609 192 -192c0 -77.4131 -26.9697 -99.0312 -172.268 -309.67c-9.53516 -13.7744 -29.9307 -13.7734 -39.4648 0z" />
    <glyph glyph-name="adjust" unicode="&#xf042;" 
d="M8 192c0 136.967 111.034 248 248 248s248 -111.034 248 -248s-111.033 -248 -248 -248s-248 111.034 -248 248zM256 8c101.689 0 184 82.2949 184 184c0 101.689 -82.2949 184 -184 184v-368z" />
    <glyph glyph-name="tint" unicode="&#xf043;" horiz-adv-x="352" 
d="M205.22 425.91c46.9902 -158.48 146.78 -200.07 146.78 -311.82c0 -98.4395 -78.7197 -178.09 -176 -178.09s-176 79.6504 -176 178.09c0 111.19 100.01 154.061 146.78 311.82c9 30.1201 50.5 28.7803 58.4395 0zM176 0c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16
c-44.1104 0 -80 35.8896 -80 80c0 8.83984 -7.16016 16 -16 16s-16 -7.16016 -16 -16c0 -61.75 50.25 -112 112 -112z" />
    <glyph glyph-name="edit" unicode="&#xf044;" horiz-adv-x="576" 
d="M402.6 364.8l90.2002 -90.2002c3.7998 -3.7998 3.7998 -10 0 -13.7998l-218.399 -218.399l-92.8008 -10.3008c-12.3994 -1.39941 -22.8994 9.10059 -21.5 21.5l10.3008 92.8008l218.399 218.399c3.7998 3.7998 10 3.7998 13.7998 0zM564.6 387.7
c15.2002 -15.2002 15.2002 -39.9004 0 -55.2002l-35.3994 -35.4004c-3.7998 -3.7998 -10 -3.7998 -13.7998 0l-90.2002 90.2002c-3.7998 3.7998 -3.7998 10 0 13.7998l35.3994 35.4004c15.3008 15.2002 40 15.2002 55.2002 0zM384 101.8c0 3.2002 1.2998 6.2002 3.5 8.5
l40 40c7.59961 7.5 20.5 2.2002 20.5 -8.5v-157.8c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h285.8c10.7002 0 16.1006 -12.9004 8.5 -20.5l-40 -40c-2.2998 -2.2002 -5.2998 -3.5 -8.5 -3.5h-229.8v-320h320v101.8z" />
    <glyph glyph-name="step-backward" unicode="&#xf048;" horiz-adv-x="448" 
d="M64 -20v424c0 6.59961 5.40039 12 12 12h48c6.59961 0 12 -5.40039 12 -12v-176.4l195.5 181c20.5996 17.1006 52.5 2.80078 52.5 -24.5996v-384c0 -27.4004 -31.9004 -41.7002 -52.5 -24.5996l-195.5 179.899v-175.3c0 -6.59961 -5.40039 -12 -12 -12h-48
c-6.59961 0 -12 5.40039 -12 12z" />
    <glyph glyph-name="fast-backward" unicode="&#xf049;" 
d="M0 12v360c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-151.9l171.5 156.5c20.5996 17.1006 52.5 2.80078 52.5 -24.5996v-131.9l171.5 156.5c20.5996 17.1006 52.5 2.80078 52.5 -24.5996v-320c0 -27.4004 -31.9004 -41.7002 -52.5 -24.5996
l-171.5 155.3v-130.7c0 -27.4004 -31.9004 -41.7002 -52.5 -24.5996l-171.5 155.3v-150.7c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12z" />
    <glyph glyph-name="backward" unicode="&#xf04a;" 
d="M11.5 167.4c-15.2998 12.7998 -15.2998 36.3994 0 49.1992l192 160c20.5996 17.2002 52.5 2.80078 52.5 -24.5996v-320c0 -27.4004 -31.9004 -41.7998 -52.5 -24.5996zM267.5 167.4c-15.2998 12.7998 -15.2998 36.3994 0 49.1992l192 160
c20.5996 17.2002 52.5 2.80078 52.5 -24.5996v-320c0 -27.4004 -31.9004 -41.7998 -52.5 -24.5996z" />
    <glyph glyph-name="play" unicode="&#xf04b;" horiz-adv-x="448" 
d="M424.4 233.3c31.5 -18.5 31.3994 -64.0996 0 -82.5996l-352 -208c-31.7002 -18.7998 -72.4004 3.7998 -72.4004 41.2998v416.1c0 41.8008 43.7998 58.2002 72.4004 41.3008z" />
    <glyph glyph-name="pause" unicode="&#xf04c;" horiz-adv-x="448" 
d="M144 -31h-96c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48zM448 17c0 -26.5 -21.5 -48 -48 -48h-96c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48 -21.5 48 -48v-352z" />
    <glyph glyph-name="stop" unicode="&#xf04d;" horiz-adv-x="448" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352z" />
    <glyph glyph-name="forward" unicode="&#xf04e;" 
d="M500.5 216.6c15.2998 -12.7998 15.2998 -36.3994 0 -49.1992l-192 -160c-20.5996 -17.2002 -52.5 -2.80078 -52.5 24.5996v320c0 27.4004 31.9004 41.7002 52.5 24.5996zM244.5 216.6c15.2998 -12.7998 15.2998 -36.3994 0 -49.1992l-192 -160
c-20.5996 -17.2002 -52.5 -2.80078 -52.5 24.5996v320c0 27.4004 31.9004 41.7002 52.5 24.5996z" />
    <glyph glyph-name="fast-forward" unicode="&#xf050;" 
d="M512 372v-360c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v151.9l-171.5 -156.5c-20.5996 -17.2002 -52.5 -2.80078 -52.5 24.5996v131.9l-171.5 -156.5c-20.5996 -17.2002 -52.5 -2.80078 -52.5 24.5996v320
c0 27.4004 31.9004 41.7002 52.5 24.5996l171.5 -155.399v130.8c0 27.4004 31.9004 41.7002 52.5 24.5996l171.5 -155.399v150.8c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12z" />
    <glyph glyph-name="step-forward" unicode="&#xf051;" horiz-adv-x="448" 
d="M384 404v-424c0 -6.59961 -5.40039 -12 -12 -12h-48c-6.59961 0 -12 5.40039 -12 12v176.4l-195.5 -181c-20.5996 -17.1006 -52.5 -2.80078 -52.5 24.5996v384c0 27.4004 31.9004 41.7002 52.5 24.5996l195.5 -179.899v175.3c0 6.59961 5.40039 12 12 12h48
c6.59961 0 12 -5.40039 12 -12z" />
    <glyph glyph-name="eject" unicode="&#xf052;" horiz-adv-x="448" 
d="M448 64v-64c0 -17.6729 -14.3271 -32 -32 -32h-384c-17.6729 0 -32 14.3271 -32 32v64c0 17.6729 14.3271 32 32 32h384c17.6729 0 32 -14.3271 32 -32zM48.0527 128c-41.7285 0 -63.5273 49.7324 -35.3828 80.4346l175.946 192.008
c19.0156 20.7432 51.7529 20.7422 70.7666 0l175.939 -192.008c28.1973 -30.7607 6.26758 -80.4346 -35.3828 -80.4346h-351.887z" />
    <glyph glyph-name="chevron-left" unicode="&#xf053;" horiz-adv-x="320" 
d="M34.5195 208.97l194.351 194.34c9.37012 9.37012 24.5703 9.37012 33.9395 0l22.6709 -22.6699c9.35938 -9.35938 9.36914 -24.5195 0.0390625 -33.8994l-154.029 -154.74l154.02 -154.75c9.33984 -9.37988 9.32031 -24.54 -0.0400391 -33.9004l-22.6699 -22.6699
c-9.37012 -9.37012 -24.5693 -9.37012 -33.9395 0l-194.341 194.351c-9.36914 9.37012 -9.36914 24.5693 0 33.9395z" />
    <glyph glyph-name="chevron-right" unicode="&#xf054;" horiz-adv-x="320" 
d="M285.476 175.029l-194.344 -194.344c-9.37305 -9.37207 -24.5684 -9.37207 -33.9404 0l-22.667 22.667c-9.35742 9.35742 -9.375 24.5225 -0.0400391 33.9014l154.021 154.746l-154.021 154.745c-9.33496 9.37891 -9.31738 24.5439 0.0400391 33.9014l22.667 22.667
c9.37305 9.37207 24.5684 9.37207 33.9404 0l194.343 -194.344c9.37305 -9.37207 9.37305 -24.5674 0.000976562 -33.9404z" />
    <glyph glyph-name="plus-circle" unicode="&#xf055;" 
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM400 164v56c0 6.59961 -5.40039 12 -12 12h-92v92c0 6.59961 -5.40039 12 -12 12h-56c-6.59961 0 -12 -5.40039 -12 -12v-92h-92c-6.59961 0 -12 -5.40039 -12 -12v-56
c0 -6.59961 5.40039 -12 12 -12h92v-92c0 -6.59961 5.40039 -12 12 -12h56c6.59961 0 12 5.40039 12 12v92h92c6.59961 0 12 5.40039 12 12z" />
    <glyph glyph-name="minus-circle" unicode="&#xf056;" 
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM124 152h264c6.59961 0 12 5.40039 12 12v56c0 6.59961 -5.40039 12 -12 12h-264c-6.59961 0 -12 -5.40039 -12 -12v-56c0 -6.59961 5.40039 -12 12 -12z" />
    <glyph glyph-name="times-circle" unicode="&#xf057;" 
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM377.6 126.9l-65.5996 65.0996l65.7002 65c4.7002 4.7002 4.7002 12.2998 0 17l-39.6006 39.5996c-4.69922 4.7002 -12.2998 4.7002 -17 0l-65.0996 -65.5996l-65 65.7002
c-4.7002 4.7002 -12.2998 4.7002 -17 0l-39.5996 -39.6006c-4.7002 -4.69922 -4.7002 -12.2998 0 -17l65.5996 -65.0996l-65.5996 -65c-4.7002 -4.7002 -4.7002 -12.2998 0 -17l39.5 -39.5996c4.69922 -4.7002 12.2998 -4.7002 17 0l65.0996 65.5996l65 -65.5996
c4.7002 -4.7002 12.2998 -4.7002 17 0l39.5996 39.5c4.7002 4.69922 4.7002 12.2998 0 17z" />
    <glyph glyph-name="check-circle" unicode="&#xf058;" 
d="M504 192c0 -136.967 -111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248s248 -111.033 248 -248zM227.314 60.6855l184 184c6.24707 6.24805 6.24707 16.3799 0 22.6279l-22.6279 22.627c-6.24707 6.24902 -16.3789 6.24902 -22.6279 0
l-150.059 -150.059l-70.0586 70.0596c-6.24805 6.24805 -16.3799 6.24805 -22.6279 0l-22.6279 -22.627c-6.24707 -6.24805 -6.24707 -16.3799 0 -22.6279l104 -104c6.24902 -6.24805 16.3799 -6.24805 22.6289 -0.000976562z" />
    <glyph glyph-name="question-circle" unicode="&#xf059;" 
d="M504 192c0 -136.997 -111.043 -248 -248 -248s-248 111.003 -248 248c0 136.917 111.043 248 248 248s248 -111.083 248 -248zM262.655 358c-54.4971 0 -89.2549 -22.957 -116.549 -63.7578c-3.53613 -5.28613 -2.35352 -12.415 2.71484 -16.2578l34.6982 -26.3105
c5.20508 -3.94727 12.6211 -3.00781 16.665 2.12207c17.8643 22.6582 30.1133 35.7969 57.3037 35.7969c20.4287 0 45.6973 -13.1475 45.6973 -32.958c0 -14.9756 -12.3623 -22.667 -32.5332 -33.9756c-23.5244 -13.1875 -54.6523 -29.6006 -54.6523 -70.6592v-4
c0 -6.62695 5.37305 -12 12 -12h56c6.62695 0 12 5.37305 12 12v1.33301c0 28.4619 83.1855 29.6475 83.1855 106.667c0 58.002 -60.1641 102 -116.53 102zM256 110c-25.3652 0 -46 -20.6348 -46 -46c0 -25.3643 20.6348 -46 46 -46s46 20.6357 46 46
c0 25.3652 -20.6348 46 -46 46z" />
    <glyph glyph-name="info-circle" unicode="&#xf05a;" 
d="M256 440c136.957 0 248 -111.083 248 -248c0 -136.997 -111.043 -248 -248 -248s-248 111.003 -248 248c0 136.917 111.043 248 248 248zM256 330c-23.1963 0 -42 -18.8037 -42 -42s18.8037 -42 42 -42s42 18.8037 42 42s-18.8037 42 -42 42zM312 76v24
c0 6.62695 -5.37305 12 -12 12h-12v100c0 6.62695 -5.37305 12 -12 12h-64c-6.62695 0 -12 -5.37305 -12 -12v-24c0 -6.62695 5.37305 -12 12 -12h12v-64h-12c-6.62695 0 -12 -5.37305 -12 -12v-24c0 -6.62695 5.37305 -12 12 -12h88c6.62695 0 12 5.37305 12 12z" />
    <glyph glyph-name="crosshairs" unicode="&#xf05b;" 
d="M500 224c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-30.3643c-13.9121 -93.6748 -87.9609 -167.724 -181.636 -181.636v-30.3643c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v30.3643
c-93.6748 13.9121 -167.724 87.9609 -181.636 181.636h-30.3643c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h30.3643c13.9121 93.6748 87.9609 167.724 181.636 181.636v30.3643c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-30.3643
c93.6748 -13.9121 167.724 -87.9609 181.636 -181.636h30.3643zM288 43.3662c58.2432 12.417 104.232 58.46 116.634 116.634h-40.6338c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40.6338c-12.417 58.2432 -58.46 104.232 -116.634 116.634v-40.6338
c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40.6338c-58.2432 -12.417 -104.232 -58.46 -116.634 -116.634h40.6338c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-40.6338
c12.417 -58.2432 58.46 -104.232 116.634 -116.634v40.6338c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40.6338zM288 192c0 -17.6729 -14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32s32 -14.3271 32 -32z" />
    <glyph glyph-name="ban" unicode="&#xf05e;" 
d="M256 440c136.967 0 248 -111.034 248 -248s-111.034 -248 -248 -248s-248 111.033 -248 248s111.034 248 248 248zM386.108 322.108c-65.4121 65.4102 -165.435 70.0312 -235.639 20.6758l256.315 -256.313c49.3232 70.1562 44.7705 170.189 -20.6768 235.638z
M125.892 61.8916c65.4121 -65.4111 165.436 -70.0312 235.639 -20.6758l-256.315 256.313c-49.3232 -70.1562 -44.7705 -170.189 20.6768 -235.638z" />
    <glyph glyph-name="arrow-left" unicode="&#xf060;" horiz-adv-x="448" 
d="M257.5 2.90039l-22.2002 -22.2002c-9.39941 -9.40039 -24.5996 -9.40039 -33.8994 0l-194.4 194.3c-9.40039 9.40039 -9.40039 24.5996 0 33.9004l194.4 194.399c9.39941 9.40039 24.5996 9.40039 33.8994 0l22.2002 -22.2002c9.5 -9.5 9.2998 -25 -0.400391 -34.2998
l-120.5 -114.8h287.4c13.2998 0 24 -10.7002 24 -24v-32c0 -13.2998 -10.7002 -24 -24 -24h-287.4l120.5 -114.8c9.80078 -9.2998 10 -24.7998 0.400391 -34.2998z" />
    <glyph glyph-name="arrow-right" unicode="&#xf061;" horiz-adv-x="448" 
d="M190.5 381.1l22.2002 22.2002c9.39941 9.40039 24.5996 9.40039 33.8994 0l194.4 -194.3c9.40039 -9.40039 9.40039 -24.5996 0 -33.9004l-194.4 -194.399c-9.39941 -9.40039 -24.5996 -9.40039 -33.8994 0l-22.2002 22.2002c-9.5 9.5 -9.2998 25 0.400391 34.2998
l120.5 114.8h-287.4c-13.2998 0 -24 10.7002 -24 24v32c0 13.2998 10.7002 24 24 24h287.4l-120.5 114.8c-9.80078 9.2998 -10 24.7998 -0.400391 34.2998z" />
    <glyph glyph-name="arrow-up" unicode="&#xf062;" horiz-adv-x="448" 
d="M34.9004 158.5l-22.2002 22.2002c-9.40039 9.39941 -9.40039 24.5996 0 33.8994l194.3 194.4c9.40039 9.40039 24.5996 9.40039 33.9004 0l194.3 -194.3c9.39941 -9.40039 9.39941 -24.6006 0 -33.9004l-22.2002 -22.2002c-9.5 -9.5 -25 -9.2998 -34.2998 0.400391
l-114.7 120.4v-287.4c0 -13.2998 -10.7002 -24 -24 -24h-32c-13.2998 0 -24 10.7002 -24 24v287.4l-114.8 -120.5c-9.2998 -9.80078 -24.7998 -10 -34.2998 -0.400391z" />
    <glyph glyph-name="arrow-down" unicode="&#xf063;" horiz-adv-x="448" 
d="M413.1 225.5l22.2002 -22.2002c9.40039 -9.39941 9.40039 -24.5996 0 -33.8994l-194.3 -194.4c-9.40039 -9.40039 -24.5996 -9.40039 -33.9004 0l-194.399 194.4c-9.40039 9.39941 -9.40039 24.5996 0 33.8994l22.2002 22.2002c9.5 9.5 25 9.2998 34.2998 -0.400391
l114.8 -120.5v287.4c0 13.2998 10.7002 24 24 24h32c13.2998 0 24 -10.7002 24 -24v-287.4l114.8 120.5c9.2998 9.80078 24.7998 10 34.2998 0.400391z" />
    <glyph glyph-name="share" unicode="&#xf064;" 
d="M503.691 258.164c11.0859 -9.5752 11.0703 -26.7656 0 -36.3281l-176.005 -152c-15.3867 -13.2891 -39.6865 -2.53613 -39.6865 18.1641v87.915c-155.083 -2.23145 -221.934 -40.7295 -176.59 -185.742c5.03418 -16.0977 -14.4238 -28.5615 -28.0771 -18.6309
c-43.752 31.8232 -83.333 92.6914 -83.333 154.132c0 152.227 127.371 184.419 288 186.258v80.0537c0 20.668 24.2812 31.4688 39.6865 18.1641z" />
    <glyph glyph-name="expand" unicode="&#xf065;" horiz-adv-x="448" 
d="M0 268v124c0 13.2998 10.7002 24 24 24h124c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-84v-84c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12zM288 404c0 6.59961 5.40039 12 12 12h124c13.2998 0 24 -10.7002 24 -24
v-124c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v84h-84c-6.59961 0 -12 5.40039 -12 12v40zM436 128c6.59961 0 12 -5.40039 12 -12v-124c0 -13.2998 -10.7002 -24 -24 -24h-124c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h84
v84c0 6.59961 5.40039 12 12 12h40zM160 -20c0 -6.59961 -5.40039 -12 -12 -12h-124c-13.2998 0 -24 10.7002 -24 24v124c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-84h84c6.59961 0 12 -5.40039 12 -12v-40z" />
    <glyph glyph-name="compress" unicode="&#xf066;" horiz-adv-x="448" 
d="M436 256h-124c-13.2998 0 -24 10.7002 -24 24v124c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-84h84c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12zM160 280c0 -13.2998 -10.7002 -24 -24 -24h-124
c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h84v84c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-124zM160 -20c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v84h-84c-6.59961 0 -12 5.40039 -12 12v40
c0 6.59961 5.40039 12 12 12h124c13.2998 0 24 -10.7002 24 -24v-124zM352 -20c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v124c0 13.2998 10.7002 24 24 24h124c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-84v-84z" />
    <glyph glyph-name="plus" unicode="&#xf067;" horiz-adv-x="448" 
d="M416 240c17.6699 0 32 -14.3301 32 -32v-32c0 -17.6699 -14.3301 -32 -32 -32h-144v-144c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v144h-144c-17.6699 0 -32 14.3301 -32 32v32c0 17.6699 14.3301 32 32 32h144v144
c0 17.6699 14.3301 32 32 32h32c17.6699 0 32 -14.3301 32 -32v-144h144z" />
    <glyph glyph-name="minus" unicode="&#xf068;" horiz-adv-x="448" 
d="M416 240c17.6699 0 32 -14.3301 32 -32v-32c0 -17.6699 -14.3301 -32 -32 -32h-384c-17.6699 0 -32 14.3301 -32 32v32c0 17.6699 14.3301 32 32 32h384z" />
    <glyph glyph-name="asterisk" unicode="&#xf069;" 
d="M478.21 113.907c11.7949 -6.47754 15.96 -21.3828 9.23242 -33.0361l-19.4805 -33.7412c-6.72754 -11.6533 -21.7207 -15.499 -33.2266 -8.52246l-138.735 84.1104l3.47559 -162.204c0.288086 -13.4531 -10.5391 -24.5137 -23.9941 -24.5137h-38.9619
c-13.4551 0 -24.2822 11.0605 -23.9941 24.5137l3.47461 162.204l-138.735 -84.1113c-11.5059 -6.97656 -26.499 -3.13086 -33.2266 8.52246l-19.4805 33.7412c-6.72852 11.6533 -2.5625 26.5596 9.23242 33.0371l142.21 78.0928l-142.209 78.0918
c-11.7949 6.47754 -15.9609 21.3838 -9.2334 33.0371l19.4805 33.7412c6.72754 11.6533 21.7207 15.499 33.2266 8.52246l138.735 -84.1104l-3.47363 162.204c-0.289062 13.4531 10.5381 24.5137 23.9932 24.5137h38.9609c13.4561 0 24.2822 -11.0605 23.9941 -24.5137
l-3.47461 -162.204l138.735 84.1113c11.5068 6.97656 26.499 3.13086 33.2266 -8.52246l19.4805 -33.7412c6.72852 -11.6533 2.5625 -26.5596 -9.23242 -33.0371l-142.21 -78.0928z" />
    <glyph glyph-name="exclamation-circle" unicode="&#xf06a;" 
d="M504 192c0 -136.997 -111.043 -248 -248 -248s-248 111.003 -248 248c0 136.917 111.043 248 248 248s248 -111.083 248 -248zM256 142c-25.4053 0 -46 -20.5947 -46 -46s20.5947 -46 46 -46s46 20.5947 46 46s-20.5947 46 -46 46zM212.327 307.346l7.41797 -136
c0.34668 -6.36328 5.6084 -11.3457 11.9814 -11.3457h48.5469c6.37305 0 11.6348 4.98242 11.9814 11.3457l7.41797 136c0.375 6.87402 -5.09766 12.6543 -11.9814 12.6543h-63.3838c-6.88379 0 -12.3555 -5.78027 -11.9805 -12.6543z" />
    <glyph glyph-name="gift" unicode="&#xf06b;" 
d="M32 0v128h192v-160h-160c-17.7002 0 -32 14.2998 -32 32zM288 -32v160h192v-128c0 -17.7002 -14.2998 -32 -32 -32h-160zM480 288c17.7002 0 32 -14.2998 32 -32v-80c0 -8.7998 -7.2002 -16 -16 -16h-480c-8.7998 0 -16 7.2002 -16 16v80c0 17.7002 14.2998 32 32 32
h44.0996c-6.2998 12.0996 -10.0996 25.5 -10.0996 40c0 48.5 39.5 88 88 88c41.5996 0 68.5 -21.2998 103 -68.2998c34.5 47 61.4004 68.2998 103 68.2998c48.5 0 88 -39.5 88 -88c0 -14.5 -3.90039 -27.9004 -10.0996 -40h42.0996zM153.9 288h86.0996
c-51.5 76.7002 -66.2002 80 -86.0996 80c-22.1006 0 -40 -17.9004 -40 -40s17.8994 -40 40 -40zM360 288c22.0996 0 40 17.9004 40 40s-17.9004 40 -40 40c-20.4004 0 -34.7002 -3.5 -86.0996 -80h86.0996z" />
    <glyph glyph-name="leaf" unicode="&#xf06c;" horiz-adv-x="576" 
d="M546.2 438.3c19 -42.3994 29.7998 -94.3994 29.7998 -144.6c0 -172.4 -110.5 -313.2 -267.5 -324.601c-80.9004 -8.59961 -142.5 33.3008 -174.9 77.2002c-51 -42.7002 -70.3994 -87 -71.8994 -90.5996c-6.7998 -16.2002 -25.4004 -24.1006 -41.7998 -17.2998
c-16.3008 6.69922 -24.1006 25.2998 -17.5 41.5996c23.5996 57.9004 130.199 212 381.6 212c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16c-130.6 0 -222.7 -38.7998 -286.5 -84.5c-0.700195 6.7998 -1.5 13.5 -1.5 20.5c0 106 86 192 192 192h80
c63.4004 0 118.9 33.5996 149.9 87.5c6.69922 11.7998 22.6992 11.2998 28.2998 -1.2002z" />
    <glyph glyph-name="fire" unicode="&#xf06d;" horiz-adv-x="384" 
d="M216 424.14c0 -103.14 168 -125.85 168 -296.14c0 -105.87 -86.1299 -192 -192 -192s-192 86.1299 -192 192c0 58.6699 27.7998 106.84 54.5703 134.96c14.96 15.7305 41.4297 5.2002 41.4297 -16.5v-85.5098c0 -35.1699 27.9805 -64.4902 63.1504 -64.9404
c35.7393 -0.469727 64.8496 28.3604 64.8496 63.9902c0 88 -176 96.1504 -52.1504 277.18c13.5 19.7305 44.1504 10.7607 44.1504 -13.04z" />
    <glyph glyph-name="eye" unicode="&#xf06e;" horiz-adv-x="576" 
d="M572.52 206.6c2.21387 -4.37793 3.46094 -9.38965 3.46094 -14.626c0 -5.2373 -1.24707 -10.1855 -3.46094 -14.5635c-54.1992 -105.771 -161.59 -177.41 -284.52 -177.41s-230.29 71.5898 -284.52 177.4c-2.21387 4.37793 -3.46094 9.38965 -3.46094 14.626
c0 5.2373 1.24707 10.1855 3.46094 14.5635c54.1992 105.771 161.59 177.41 284.52 177.41s230.29 -71.5898 284.52 -177.4zM288 48c0.0234375 0 0.0458984 -0.000976562 0.0703125 -0.000976562c79.4365 0 143.93 64.4922 143.93 143.93v0.0712891
c0 79.4756 -64.5244 144 -144 144s-144 -64.5244 -144 -144s64.5244 -144 144 -144zM288 288c0.0761719 0 0.160156 -0.0273438 0.237305 -0.0273438c52.8623 0 95.7803 -42.917 95.7803 -95.7793s-42.918 -95.7803 -95.7803 -95.7803s-95.7803 42.918 -95.7803 95.7803
c0 8.68945 1.16016 17.1104 3.33301 25.1162c7.93164 -5.83594 17.7432 -9.26758 28.3359 -9.26758c26.4092 0 47.8496 21.4404 47.8496 47.8496c0 10.5938 -3.44922 20.3867 -9.28516 28.3184c8.0459 2.34277 16.541 3.66797 25.3096 3.79004z" />
    <glyph glyph-name="eye-slash" unicode="&#xf070;" horiz-adv-x="640" 
d="M320 48c8.91309 0.0830078 17.542 0.976562 26 2.61035l51.8896 -40.1504c-25.0195 -6.45996 -50.9795 -10.46 -77.8896 -10.46c-122.93 0 -230.29 71.5898 -284.52 177.4c-2.21387 4.37793 -3.46094 9.38965 -3.46094 14.626c0 5.2373 1.24707 10.1855 3.46094 14.5635
c10.2393 20 22.9297 38.29 36.7197 55.5898l104.899 -81.0693c5.65039 -74.4004 67.0508 -133.11 142.9 -133.11zM633.82 -10.0996c3.76855 -2.92871 6.17676 -7.50977 6.17676 -12.6475c0 -3.69238 -1.25293 -7.09375 -3.35742 -9.80273l-19.6396 -25.2705
c-2.92871 -3.76855 -7.50879 -6.17578 -12.6465 -6.17578c-3.69727 0 -7.10254 1.25684 -9.81348 3.36621l-588.36 454.729c-3.76562 2.92871 -6.1709 7.50781 -6.1709 12.6426c0 3.69434 1.25488 7.09863 3.36133 9.80762l19.6299 25.2705
c2.92871 3.76855 7.50879 6.17578 12.6465 6.17578c3.69727 0 7.10254 -1.25684 9.81348 -3.36621l127.22 -98.3301c43.6846 23.8564 94.0967 37.6357 147.32 37.7002c122.93 0 230.29 -71.5898 284.52 -177.4c2.21387 -4.37793 3.46094 -9.38965 3.46094 -14.626
c0 -5.2373 -1.24707 -10.1855 -3.46094 -14.5635c-20.2109 -39.3887 -47.6904 -73.7881 -81.25 -102.07zM450.1 131.9c8.61035 18.3203 13.9004 38.4697 13.9004 60.0996c0 0.0273438 0.00195312 0.0527344 0.00195312 0.0800781c0 79.4316 -64.4883 143.92 -143.92 143.92
h-0.0820312c-34.6328 -0.0253906 -66.4756 -12.4902 -91.1504 -33.1104l73.6104 -56.8896c0.857422 3.20508 1.38867 6.5625 1.54004 10c-0.0185547 10.5391 -3.49023 20.3242 -9.30957 28.21c8.43164 2.46191 17.3359 3.82031 26.5576 3.82031
c52.2998 0 94.7607 -42.46 94.7607 -94.7598c0 -0.423828 -0.00292969 -0.847656 -0.00878906 -1.27051c-0.138672 -10.377 -1.97559 -20.4014 -5.2002 -29.7197z" />
    <glyph glyph-name="exclamation-triangle" unicode="&#xf071;" horiz-adv-x="576" 
d="M569.517 7.9873c18.458 -31.9941 -4.71094 -71.9873 -41.5762 -71.9873h-479.887c-36.9365 0 -59.999 40.0547 -41.5771 71.9873l239.946 416.027c18.4668 32.0098 64.7197 31.9512 83.1543 0zM288 94c-25.4053 0 -46 -20.5947 -46 -46s20.5947 -46 46 -46
s46 20.5947 46 46s-20.5947 46 -46 46zM244.327 259.346l7.41797 -136c0.34668 -6.36328 5.6084 -11.3457 11.9814 -11.3457h48.5469c6.37305 0 11.6348 4.98242 11.9814 11.3457l7.41797 136c0.375 6.87402 -5.09766 12.6543 -11.9814 12.6543h-63.3838
c-6.88379 0 -12.3555 -5.78027 -11.9805 -12.6543z" />
    <glyph glyph-name="plane" unicode="&#xf072;" horiz-adv-x="576" 
d="M480 256c35.3496 0 96 -28.6504 96 -64s-60.6504 -64 -96 -64h-114.29l-105.11 -183.94c-2.84961 -4.97949 -8.14941 -8.05957 -13.8896 -8.05957h-65.5c-10.6299 0 -18.2998 10.1797 -15.3799 20.4004l49.0303 171.6h-102.86l-43.2002 -57.5996
c-3.01953 -4.03027 -7.75977 -6.40039 -12.7998 -6.40039h-39.9902c-10.4102 0 -18.0498 9.78027 -15.5195 19.8799l31.5098 108.12l-31.5098 108.12c-2.53027 10.0996 5.10938 19.8799 15.5195 19.8799h39.9902c5.03027 0 9.78027 -2.37012 12.7998 -6.40039
l43.2002 -57.5996h102.86l-49.0303 171.61c-2.91992 10.2197 4.75 20.3896 15.3799 20.3896h65.5c5.95117 0 11.1396 -3.23633 13.9004 -8.05957l105.1 -183.94h114.29z" />
    <glyph glyph-name="calendar-alt" unicode="&#xf073;" horiz-adv-x="448" 
d="M0 -16v272h448v-272c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48zM320 180v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12zM320 52v-40
c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12zM192 180v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-40
c-6.59961 0 -12 -5.40039 -12 -12zM192 52v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12zM64 180v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v40
c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12zM64 52v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12zM400 384c26.5 0 48 -21.5 48 -48v-48h-448v48
c0 26.5 21.5 48 48 48h48v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48h128v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48h48z" />
    <glyph glyph-name="random" unicode="&#xf074;" 
d="M504.971 88.9707c9.37305 -9.37305 9.37305 -24.5684 0 -33.9404l-80 -79.9844c-15.0098 -15.0098 -40.9707 -4.49023 -40.9707 16.9707v39.9834h-58.7852c-3.46094 0 -6.58105 1.46484 -8.77246 3.81152l-70.5566 75.5967l53.333 57.1426l52.7812 -56.5508h32v39.9814
c0 21.4375 25.9434 31.9971 40.9707 16.9707zM12 272c-6.62695 0 -12 5.37305 -12 12v56c0 6.62695 5.37305 12 12 12h110.785c3.46094 0 6.58203 -1.46484 8.77246 -3.81152l70.5566 -75.5967l-53.333 -57.1426l-52.7812 56.5508h-84zM384 272h-32l-220.442 -236.188
c-2.26953 -2.43066 -5.44629 -3.81152 -8.77246 -3.81152h-110.785c-6.62695 0 -12 5.37305 -12 12v56c0 6.62695 5.37305 12 12 12h84l220.442 236.188c2.19141 2.34668 5.31152 3.81152 8.77246 3.81152h58.7852v39.9814c0 21.4365 25.9434 31.9971 40.9707 16.9697
l80 -79.9814c9.37305 -9.37207 9.37305 -24.5674 0 -33.9404l-80 -79.9844c-15.0098 -15.0088 -40.9707 -4.48926 -40.9707 16.9707v39.9844z" />
    <glyph glyph-name="comment" unicode="&#xf075;" 
d="M256 416c141.4 0 256 -93.0996 256 -208s-114.6 -208 -256 -208c-38.4004 0 -74.7002 7.09961 -107.4 19.4004c-24.5996 -19.6006 -74.2998 -51.4004 -140.6 -51.4004c-3.2002 0 -6 1.7998 -7.2998 4.7998s-0.700195 6.40039 1.5 8.7002
c0.5 0.5 42.2998 45.4004 54.7998 95.7998c-35.5996 35.7002 -57 81.1006 -57 130.7c0 114.9 114.6 208 256 208z" />
    <glyph glyph-name="magnet" unicode="&#xf076;" 
d="M164.07 299.9h-152.07c-6.62305 0 -12 5.37695 -12 12v80c0 19.8682 16.1309 36 36 36h104c19.8691 0 36 -16.1318 36 -36v-80c0 -0.0380859 0.000976562 -0.0751953 0.000976562 -0.112305c0 -6.5625 -5.32812 -11.8906 -11.8906 -11.8906
c-0.0136719 0 -0.0263672 0.00292969 -0.0400391 0.00292969zM512 311.9c0 -0.00390625 0.00195312 -0.0078125 0.00195312 -0.0107422c0 -6.5625 -5.32715 -11.8906 -11.8896 -11.8906c-0.0380859 0 -0.0751953 0.000976562 -0.112305 0.000976562h-152
c-6.62305 0 -12 5.37695 -12 12v80c0 19.8691 16.1309 36 36 36h104c19.8691 0 36 -16.1309 36 -36v-80.0996zM348 267.9h151.85c6.62305 0 12.001 -5.37598 12.001 -11.998c0 -0.0341797 0 -0.0683594 -0.000976562 -0.102539
c-0.199219 -20.2002 -0.599609 -40.3994 0 -53.2002c0 -150.699 -134.42 -246.699 -255 -246.699s-256.75 96 -256.75 246.6c0.600586 13 0.100586 31.9004 0 53.2998v0.100586c0 6.62305 5.37695 12 12 12h151.9c6.62305 0 12 -5.37695 12 -12v-52
c0 -127.9 160 -128.101 160 0v52c0 6.62305 5.37695 12 12 12z" />
    <glyph glyph-name="chevron-up" unicode="&#xf077;" horiz-adv-x="448" 
d="M240.971 317.476l194.344 -194.343c9.37207 -9.37305 9.37207 -24.5684 0 -33.9404l-22.667 -22.667c-9.35742 -9.35742 -24.5225 -9.375 -33.9014 -0.0400391l-154.746 154.02l-154.745 -154.021c-9.37891 -9.33496 -24.5439 -9.31738 -33.9014 0.0400391
l-22.667 22.667c-9.37207 9.37305 -9.37207 24.5684 0 33.9404l194.344 194.343c9.37207 9.37305 24.5674 9.37305 33.9404 0.000976562z" />
    <glyph glyph-name="chevron-down" unicode="&#xf078;" horiz-adv-x="448" 
d="M207.029 66.5244l-194.344 194.344c-9.37207 9.37305 -9.37207 24.5684 0 33.9404l22.667 22.667c9.35742 9.35742 24.5225 9.375 33.9014 0.0400391l154.746 -154.021l154.745 154.021c9.37891 9.33496 24.5439 9.31738 33.9014 -0.0400391l22.667 -22.667
c9.37207 -9.37305 9.37207 -24.5684 0 -33.9404l-194.343 -194.344c-9.37305 -9.37207 -24.5684 -9.37207 -33.9414 0z" />
    <glyph glyph-name="retweet" unicode="&#xf079;" horiz-adv-x="640" 
d="M629.657 104.402l-100.687 -100.687c-9.37305 -9.37207 -24.5674 -9.37207 -33.9404 0l-100.688 100.687c-9.37305 9.37305 -9.37305 24.5684 0 33.9404l10.8232 10.8232c9.56152 9.56152 25.1328 9.33984 34.4189 -0.492188l40.415 -42.792v182.118h-187.549
c-6.62305 0 -12.626 2.68555 -16.9707 7.0293l-16 16c-15.1191 15.1201 -4.41113 40.9707 16.9707 40.9707h243.549c13.2549 0 24 -10.7451 24 -24v-222.118l40.416 42.792c9.28516 9.83105 24.8564 10.0537 34.4189 0.492188l10.8232 -10.8232
c9.37207 -9.37207 9.37207 -24.5684 -0.000976562 -33.9404zM364.519 88.9707l16.001 -16c15.1191 -15.1201 4.41113 -40.9707 -16.9707 -40.9707h-243.549c-13.2549 0 -24 10.7451 -24 24v222.119l-40.416 -42.793c-9.28613 -9.83105 -24.8574 -10.0527 -34.4189 -0.491211
l-10.8223 10.8223c-9.37305 9.37207 -9.37305 24.5674 0 33.9404l100.688 100.687c9.37207 9.37305 24.5674 9.37305 33.9404 0l100.687 -100.686c9.37305 -9.37207 9.37305 -24.5674 0 -33.9404l-10.8223 -10.8223c-9.5625 -9.5625 -25.1328 -9.33984 -34.4189 0.491211
l-40.416 42.792v-182.119h187.548c6.62305 0 12.627 -2.68457 16.9707 -7.0293z" />
    <glyph glyph-name="shopping-cart" unicode="&#xf07a;" horiz-adv-x="576" 
d="M528.12 146.681c-2.4834 -10.9268 -12.1973 -18.6807 -23.4033 -18.6807h-293.145l6.54492 -32h268.418c15.4004 0 26.8154 -14.3008 23.4033 -29.3193l-5.51758 -24.2754c18.6914 -9.07324 31.5791 -28.2334 31.5791 -50.4053c0 -30.9277 -25.0723 -56 -56 -56
s-56 25.0723 -56 56c0 15.6738 6.44727 29.835 16.8232 40h-209.647c10.377 -10.165 16.8242 -24.3262 16.8242 -40c0 -30.9277 -25.0723 -56 -56 -56s-56 25.0723 -56 56c0 20.7783 11.3252 38.9004 28.1309 48.5654l-70.248 343.435h-69.8828
c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h102.529c11.4004 0 21.2285 -8.02148 23.5127 -19.1904l9.16602 -44.8096h392.782c15.4004 0 26.8154 -14.3008 23.4023 -29.3193z" />
    <glyph glyph-name="folder" unicode="&#xf07b;" 
d="M464 320c26.5098 0 48 -21.4902 48 -48v-224c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h160l64 -64h192z" />
    <glyph glyph-name="folder-open" unicode="&#xf07c;" horiz-adv-x="576" 
d="M572.694 155.907l-72.4248 -124.155c-11.0967 -19.0244 -31.6865 -31.752 -55.2803 -31.752h-399.964c-18.5234 0 -30.0645 20.0928 -20.7314 36.0928l72.4238 124.155c11.0986 19.0244 31.6875 31.752 55.2822 31.752h399.964
c18.5234 0 30.0645 -20.0928 20.7305 -36.0928zM152 224c-34.0107 0 -65.7861 -18.25 -82.9229 -47.6279l-69.0771 -118.418v278.046c0 26.5098 21.4902 48 48 48h160l64 -64h160c26.5098 0 48 -21.4902 48 -48v-48h-328z" />
    <glyph glyph-name="chart-bar" unicode="&#xf080;" 
d="M332.8 128c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v134.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h38.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-134.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-38.4004zM428.8 128
c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v230.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h38.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-230.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-38.4004zM140.8 128
c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v70.4004c0 6.39941 6.40039 12.7998 12.7998 12.7998h38.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-70.4004c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-38.4004zM236.8 128
c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v198.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h38.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-198.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-38.4004zM496 64c8.83984 0 16 -7.16016 16 -16v-32
c0 -8.83984 -7.16016 -16 -16 -16h-464c-17.6699 0 -32 14.3301 -32 32v336c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-304h432z" />
    <glyph glyph-name="camera-retro" unicode="&#xf083;" 
d="M48 416h416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48zM48 384c-8.7998 0 -16 -7.2002 -16 -16v-10c0 -3.2998 2.7002 -6 6 -6h116c3.2998 0 6 2.7002 6 6v20c0 3.2998 -2.7002 6 -6 6h-106z
M474 288c3.2998 0 6 2.7002 6 6v74c0 8.7998 -7.2002 16 -16 16h-252.8c-2 0 -3.90039 -1 -5 -2.7002l-30.2002 -45.2998h-138c-3.2998 0 -6 -2.7002 -6 -6v-36c0 -3.2998 2.7002 -6 6 -6h436zM256 24c66.2002 0 120 53.7998 120 120s-53.7998 120 -120 120
s-120 -53.7998 -120 -120s53.7998 -120 120 -120zM256 232c48.5 0 88 -39.5 88 -88s-39.5 -88 -88 -88s-88 39.5 -88 88s39.5 88 88 88zM208 128c8.7998 0 16 7.2002 16 16c0 17.5996 14.4004 32 32 32c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16
c-35.2998 0 -64 -28.7002 -64 -64c0 -8.7998 7.2002 -16 16 -16z" />
    <glyph glyph-name="key" unicode="&#xf084;" 
d="M512 271.999c0 -97.2021 -78.7979 -175.999 -176 -175.999c-11.2197 0 -22.1904 1.06152 -32.8271 3.06934l-24.0117 -27.0146c-4.39746 -4.94727 -10.8047 -8.05469 -17.9385 -8.05469h-37.2227v-40c0 -13.2549 -10.7451 -24 -24 -24h-40v-40
c0 -13.2549 -10.7451 -24 -24 -24h-112c-13.2549 0 -24 10.7451 -24 24v78.0586c0 6.36523 2.5293 12.4707 7.0293 16.9717l161.802 161.802c-5.72266 17.3535 -8.83105 35.8965 -8.83105 55.168c0 97.2021 78.7969 175.999 175.999 176
c97.4893 0.000976562 176.001 -78.5107 176.001 -176.001zM336 320c0 -26.5098 21.4902 -48 48 -48s48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48z" />
    <glyph glyph-name="cogs" unicode="&#xf085;" horiz-adv-x="640" 
d="M512.1 257l-8.19922 -14.2998c-3 -5.2998 -9.40039 -7.5 -15.1006 -5.40039c-11.7998 4.40039 -22.5996 10.7002 -32.0996 18.6006c-4.60059 3.7998 -5.7998 10.5 -2.7998 15.6992l8.19922 14.3008c-6.89941 8 -12.2998 17.2998 -15.8994 27.3994h-16.5
c-6 0 -11.2002 4.2998 -12.2002 10.2998c-2 12 -2.09961 24.6006 0 37.1006c1 6 6.2002 10.3994 12.2002 10.3994h16.5c3.59961 10.1006 9 19.4004 15.8994 27.4004l-8.19922 14.2998c-3 5.2002 -1.90039 11.9004 2.7998 15.7002
c9.5 7.90039 20.3994 14.2002 32.0996 18.5996c5.7002 2.10059 12.1006 -0.0996094 15.1006 -5.39941l8.19922 -14.2998c10.5 1.89941 21.2002 1.89941 31.7002 0l8.2002 14.2998c3 5.2998 9.40039 7.5 15.0996 5.39941c11.8008 -4.39941 22.6006 -10.6992 32.1006 -18.5996
c4.59961 -3.7998 5.7998 -10.5 2.7998 -15.7002l-8.2002 -14.2998c6.90039 -8 12.2998 -17.2998 15.9004 -27.4004h16.5c6 0 11.2002 -4.2998 12.2002 -10.2998c2 -12 2.09961 -24.5996 0 -37.0996c-1 -6 -6.2002 -10.4004 -12.2002 -10.4004h-16.5
c-3.60059 -10.0996 -9 -19.3994 -15.9004 -27.3994l8.2002 -14.3008c3 -5.19922 1.90039 -11.8994 -2.7998 -15.6992c-9.5 -7.90039 -20.4004 -14.2002 -32.1006 -18.6006c-5.69922 -2.09961 -12.0996 0.100586 -15.0996 5.40039l-8.2002 14.2998
c-10.3994 -1.90039 -21.2002 -1.90039 -31.7002 0zM501.6 315.8c38.5 -29.5996 82.4004 14.2998 52.8008 52.7998c-38.5 29.7002 -82.4004 -14.2998 -52.8008 -52.7998zM386.3 161.9l33.7002 -16.8008c10.0996 -5.7998 14.5 -18.0996 10.5 -29.0996
c-8.90039 -24.2002 -26.4004 -46.4004 -42.5996 -65.7998c-7.40039 -8.90039 -20.2002 -11.1006 -30.3008 -5.2998l-29.0996 16.7998c-16 -13.7002 -34.5996 -24.6006 -54.9004 -31.7002v-33.5996c0 -11.6006 -8.2998 -21.6006 -19.6992 -23.6006
c-24.6006 -4.2002 -50.4004 -4.39941 -75.9004 0c-11.5 2 -20 11.9004 -20 23.6006v33.5996c-20.2998 7.2002 -38.9004 18 -54.9004 31.7002l-29.0996 -16.7002c-10 -5.7998 -22.9004 -3.59961 -30.2998 5.2998c-16.2002 19.4004 -33.2998 41.6006 -42.2002 65.7002
c-4 10.9004 0.400391 23.2002 10.5 29.0996l33.2998 16.8008c-3.89941 20.8994 -3.89941 42.3994 0 63.3994l-33.2998 16.9004c-10.0996 5.7998 -14.5996 18.0996 -10.5 29c8.90039 24.2002 26 46.3994 42.2002 65.7998c7.39941 8.90039 20.2002 11.0996 30.2998 5.2998
l29.0996 -16.7998c16 13.7002 34.6006 24.5996 54.9004 31.7002v33.7002c0 11.5 8.2002 21.5 19.5996 23.5c24.6006 4.19922 50.5 4.39941 76 0.0996094c11.5 -2 20 -11.9004 20 -23.5996v-33.6006c20.3008 -7.2002 38.9004 -18 54.9004 -31.7002l29.0996 16.8008
c10 5.7998 22.9004 3.59961 30.3008 -5.30078c16.1992 -19.3994 33.1992 -41.5996 42.0996 -65.7998c4 -10.8994 0.0996094 -23.2002 -10 -29.0996l-33.7002 -16.7998c3.90039 -21 3.90039 -42.5 0 -63.5zM268.7 140.8c59.2002 77 -28.7002 164.9 -105.7 105.7
c-59.2002 -77 28.7002 -164.9 105.7 -105.7zM512.1 -41.9004l-8.19922 -14.2998c-3 -5.2998 -9.40039 -7.5 -15.1006 -5.39941c-11.7998 4.39941 -22.5996 10.6992 -32.0996 18.5996c-4.60059 3.7998 -5.7998 10.5 -2.7998 15.7002l8.19922 14.2998
c-6.89941 8 -12.2998 17.2998 -15.8994 27.4004h-16.5c-6 0 -11.2002 4.2998 -12.2002 10.2998c-2 12 -2.09961 24.5996 0 37.0996c1 6 6.2002 10.4004 12.2002 10.4004h16.5c3.59961 10.0996 9 19.3994 15.8994 27.3994l-8.19922 14.3008
c-3 5.19922 -1.90039 11.8994 2.7998 15.6992c9.5 7.90039 20.3994 14.2002 32.0996 18.6006c5.7002 2.09961 12.1006 -0.100586 15.1006 -5.40039l8.19922 -14.2998c10.5 1.90039 21.2002 1.90039 31.7002 0l8.2002 14.2998c3 5.2998 9.40039 7.5 15.0996 5.40039
c11.8008 -4.40039 22.6006 -10.7002 32.1006 -18.6006c4.59961 -3.7998 5.7998 -10.5 2.7998 -15.6992l-8.2002 -14.3008c6.90039 -8 12.2998 -17.2998 15.9004 -27.3994h16.5c6 0 11.2002 -4.2998 12.2002 -10.2998c2 -12 2.09961 -24.6006 0 -37.1006
c-1 -6 -6.2002 -10.3994 -12.2002 -10.3994h-16.5c-3.60059 -10.1006 -9 -19.4004 -15.9004 -27.4004l8.2002 -14.2998c3 -5.2002 1.90039 -11.9004 -2.7998 -15.7002c-9.5 -7.90039 -20.4004 -14.2002 -32.1006 -18.5996
c-5.69922 -2.10059 -12.0996 0.0996094 -15.0996 5.39941l-8.2002 14.2998c-10.3994 -1.89941 -21.2002 -1.89941 -31.7002 0zM501.6 17c38.5 -29.5996 82.4004 14.2998 52.8008 52.7998c-38.5 29.6006 -82.4004 -14.2998 -52.8008 -52.7998z" />
    <glyph glyph-name="comments" unicode="&#xf086;" horiz-adv-x="576" 
d="M416 256c0 -88.4004 -93.0996 -160 -208 -160c-41 0 -79.0996 9.2998 -111.3 25c-21.7998 -12.7002 -52.1006 -25 -88.7002 -25c-3.2002 0 -6 1.7998 -7.2998 4.7998s-0.700195 6.40039 1.5 8.7002c0.299805 0.299805 22.3994 24.2998 35.7998 54.5
c-23.9004 26.0996 -38 57.7002 -38 92c0 88.4004 93.0996 160 208 160s208 -71.5996 208 -160zM538 36c13.4004 -30.2998 35.5 -54.2002 35.7998 -54.5c2.2002 -2.40039 2.7998 -5.7998 1.5 -8.7002c-1.2002 -2.89941 -4.09961 -4.7998 -7.2998 -4.7998
c-36.5996 0 -66.9004 12.2998 -88.7002 25c-32.2002 -15.7998 -70.2998 -25 -111.3 -25c-86.2002 0 -160.2 40.4004 -191.7 97.9004c10.4004 -1.10059 20.9004 -1.90039 31.7002 -1.90039c132.3 0 240 86.0996 240 192c0 6.7998 -0.400391 13.5 -1.2998 20.0996
c75.7998 -23.8994 129.3 -81.1992 129.3 -148.1c0 -34.2998 -14.0996 -66 -38 -92z" />
    <glyph glyph-name="star-half" unicode="&#xf089;" horiz-adv-x="576" 
d="M288 448v-439.6l-130.7 -68.6006c-23.3994 -12.2998 -50.8994 7.60059 -46.3994 33.7002l25 145.5l-105.7 103c-19 18.5 -8.5 50.7998 17.7002 54.5996l146.1 21.2002l65.2998 132.4c5.90039 11.8994 17.2998 17.7998 28.7002 17.7998z" />
    <glyph glyph-name="thumbtack" unicode="&#xf08d;" horiz-adv-x="384" 
d="M298.028 233.733c47.9893 -22.3135 85.9717 -62.5508 85.9727 -113.733c0 -13.2549 -10.7451 -24 -24 -24h-136v-104.007c0 -1.2832 -0.307617 -2.50293 -0.844727 -3.57812l-24 -48c-2.94727 -5.89258 -11.3701 -5.88184 -14.3115 0l-24 48
c-0.555664 1.11133 -0.844727 2.33594 -0.844727 3.57812v104.007h-136c-13.2549 0 -24 10.7451 -24 24c0 50.7393 37.4648 91.1797 85.9717 113.733l12.2354 118.267h-42.207c-13.2549 0 -24 10.7451 -24 24v48c0 13.2549 10.7451 24 24 24h272
c13.2549 0 24 -10.7451 24 -24v-48c0 -13.2549 -10.7451 -24 -24 -24h-42.207z" />
    <glyph glyph-name="trophy" unicode="&#xf091;" horiz-adv-x="576" 
d="M552 384c13.2998 0 24 -10.7002 24 -24v-56c0 -35.7002 -22.5996 -72.4004 -61.9004 -100.7c-31.3994 -22.7002 -69.6992 -37.0996 -110 -41.7002c-31.3994 -52.0996 -68.0996 -73.5996 -68.0996 -73.5996v-72h48c35.2998 0 64 -20.7002 64 -56v-12
c0 -6.59961 -5.40039 -12 -12 -12h-296c-6.59961 0 -12 5.40039 -12 12v12c0 35.2998 28.7002 56 64 56h48v72s-36.7002 21.5 -68.0996 73.5996c-40.2002 4.60059 -78.5 19 -110 41.7002c-39.4004 28.2998 -61.9004 65 -61.9004 100.7v56c0 13.2998 10.7002 24 24 24h104v40
c0 13.2998 10.7002 24 24 24h272c13.2998 0 24 -10.7002 24 -24v-40h104zM99.2998 255.2c12.5 -9 26.6006 -16.2002 41.7002 -21.4004c-7 25 -11.7998 53.6006 -12.7998 86.2002h-64.2002v-16c0 -11.5996 10.9004 -31.2002 35.2998 -48.7998zM512 304v16h-64.2998
c-1 -32.5996 -5.7998 -61.2002 -12.7998 -86.2002c15.0996 5.2002 29.2998 12.4004 41.7998 21.4004c17.5996 12.7002 35.2998 32.7002 35.2998 48.7998z" />
    <glyph glyph-name="upload" unicode="&#xf093;" 
d="M296 64h-80c-13.2998 0 -24 10.7002 -24 24v168h-87.7002c-17.7998 0 -26.7002 21.5 -14.0996 34.0996l152.1 152.2c7.5 7.5 19.7998 7.5 27.2998 0l152.2 -152.2c12.6006 -12.5996 3.7002 -34.0996 -14.0996 -34.0996h-87.7002v-168c0 -13.2998 -10.7002 -24 -24 -24z
M512 72v-112c0 -13.2998 -10.7002 -24 -24 -24h-464c-13.2998 0 -24 10.7002 -24 24v112c0 13.2998 10.7002 24 24 24h136v-8c0 -30.9004 25.0996 -56 56 -56h80c30.9004 0 56 25.0996 56 56v8h136c13.2998 0 24 -10.7002 24 -24zM388 -16c0 11 -9 20 -20 20s-20 -9 -20 -20
s9 -20 20 -20s20 9 20 20zM452 -16c0 11 -9 20 -20 20s-20 -9 -20 -20s9 -20 20 -20s20 9 20 20z" />
    <glyph glyph-name="lemon" unicode="&#xf094;" 
d="M489.038 425.037c23.0938 -23.0938 28.8916 -54.3906 16.833 -75.0928c-34.3115 -58.9043 53.0762 -181.249 -86.7461 -321.071s-262.167 -52.4326 -321.068 -86.7432c-20.7031 -12.0586 -52 -6.2627 -75.0947 16.832c-23.0928 23.0938 -28.8916 54.3906 -16.833 75.0928
c34.3125 58.9043 -53.0781 181.247 86.7451 321.07s262.167 52.4336 321.073 86.7461c20.7012 12.0586 51.9971 6.25879 75.0908 -16.834zM243.881 352.478c8.57227 2.14355 13.7832 10.8291 11.6416 19.4023c-2.14258 8.57324 -10.8281 13.7852 -19.4033 11.6426
c-69.8027 -17.4521 -154.218 -101.949 -171.643 -171.643c-2.1416 -8.57324 3.07031 -17.2588 11.6426 -19.4033c1.30273 -0.324219 2.6084 -0.480469 3.89258 -0.480469c7.16895 0 13.6943 4.85352 15.5117 12.124c14.5498 58.2031 90.1689 133.811 148.357 148.357z" />
    <glyph glyph-name="phone" unicode="&#xf095;" 
d="M493.4 423.4c10.8994 -2.5 18.5996 -12.2002 18.5996 -23.4004c0 -256.5 -207.9 -464 -464 -464c-11.2998 0 -20.9004 7.7998 -23.4004 18.5996l-24 104c-2.59961 11.3008 3.30078 22.9004 14 27.6006l112 48c9.80078 4.2002 21.2002 1.39941 28 -6.90039
l49.6006 -60.5996c78.2998 36.7002 141.2 100.5 177.2 177.2l-60.6006 49.5996c-8.2998 6.7002 -11.0996 18.2002 -6.89941 28l48 112c4.59961 10.5996 16.1992 16.5 27.5 13.9004z" />
    <glyph glyph-name="phone-square" unicode="&#xf098;" horiz-adv-x="448" 
d="M400 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352zM94 32c160.055 0 290 129.708 290 290c0 7.11621 -4.97559 13.0801 -11.6279 14.6143l-65 14.998
c-1.08691 0.250977 -2.20312 0.394531 -3.36621 0.394531c-6.18457 0 -11.501 -3.75195 -13.7939 -9.10156l-30 -69.998c-0.775391 -1.81055 -1.22266 -3.81055 -1.22266 -5.90332c0 -4.68066 2.14844 -8.86328 5.51172 -11.6152l37.8857 -30.9971
c-22.4834 -47.9219 -61.8369 -87.8164 -110.78 -110.779l-30.9971 37.8848c-2.75195 3.36328 -6.94043 5.49414 -11.6211 5.49414c-2.09277 0 -4.08691 -0.429688 -5.89746 -1.20508l-69.998 -29.999c-5.34961 -2.29297 -9.08984 -7.59375 -9.08984 -13.7783
c0 -1.16309 0.131836 -2.29492 0.382812 -3.38184l14.998 -65c1.55957 -6.75391 7.58301 -11.627 14.6162 -11.627z" />
    <glyph glyph-name="unlock" unicode="&#xf09c;" horiz-adv-x="448" 
d="M400 192c26.5 0 48 -21.5 48 -48v-160c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v160c0 26.5 21.5 48 48 48h24v102.5c0 84 67.5 153.2 151.5 153.5s152.5 -68 152.5 -152v-16c0 -13.2998 -10.7002 -24 -24 -24h-32c-13.2998 0 -24 10.7002 -24 24v16
c0 39.9004 -32.7002 72.4004 -72.7002 72c-39.5996 -0.400391 -71.2998 -33.2998 -71.2998 -72.9004v-103.1h248z" />
    <glyph glyph-name="credit-card" unicode="&#xf09d;" horiz-adv-x="576" 
d="M0 16v176h576v-176c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48zM192 84v-40c0 -6.59961 5.40039 -12 12 -12h136c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-136c-6.59961 0 -12 -5.40039 -12 -12zM64 84v-40
c0 -6.59961 5.40039 -12 12 -12h72c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-72c-6.59961 0 -12 -5.40039 -12 -12zM576 368v-48h-576v48c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48z" />
    <glyph glyph-name="rss" unicode="&#xf09e;" horiz-adv-x="448" 
d="M128.081 32.041c0 -35.3691 -28.6719 -64.041 -64.041 -64.041s-64.04 28.6719 -64.04 64.041s28.6719 64.041 64.041 64.041s64.04 -28.6729 64.04 -64.041zM303.741 -15.209c0.494141 -9.13477 -6.84668 -16.791 -15.9951 -16.79h-48.0693
c-8.41406 0 -15.4707 6.49023 -16.0176 14.8867c-7.29883 112.07 -96.9404 201.488 -208.772 208.772c-8.39648 0.545898 -14.8867 7.60254 -14.8867 16.0176v48.0693c0 9.14746 7.65625 16.4883 16.791 15.9941c154.765 -8.36328 278.596 -132.351 286.95 -286.95z
M447.99 -15.4971c0.324219 -9.03027 -6.97168 -16.5029 -16.0049 -16.5039h-48.0684c-8.62598 0 -15.6455 6.83496 -15.999 15.4531c-7.83789 191.148 -161.286 344.626 -352.465 352.465c-8.61816 0.354492 -15.4531 7.37402 -15.4531 15.999v48.0684
c0 9.03418 7.47266 16.3301 16.5029 16.0059c234.962 -8.43555 423.093 -197.667 431.487 -431.487z" />
    <glyph glyph-name="hdd" unicode="&#xf0a0;" horiz-adv-x="576" 
d="M576 144v-96c0 -26.5098 -21.4902 -48 -48 -48h-480c-26.5098 0 -48 21.4902 -48 48v96c0 26.5098 21.4902 48 48 48h480c26.5098 0 48 -21.4902 48 -48zM528 224h-480c-0.0234375 0 -0.0996094 -0.0361328 -0.124023 -0.0361328
c-10.8613 0 -21.2168 -2.18066 -30.6533 -6.12891l96.5283 144.791c8.60742 12.9102 23.2725 21.374 39.9385 21.374h268.621c16.667 0 31.332 -8.46387 39.9395 -21.374l96.5273 -144.791c-9.43652 3.94824 -19.8447 6.16504 -30.7061 6.16504h-0.0712891zM480 128
c-17.6729 0 -32 -14.3271 -32 -32s14.3271 -32 32 -32s32 14.3271 32 32s-14.3271 32 -32 32zM384 128c-17.6729 0 -32 -14.3271 -32 -32s14.3271 -32 32 -32s32 14.3271 32 32s-14.3271 32 -32 32z" />
    <glyph glyph-name="bullhorn" unicode="&#xf0a1;" horiz-adv-x="576" 
d="M576 208c0 -23.6299 -12.9502 -44.04 -32.0098 -55.1299v-152.87c0 -9.21973 -7.08008 -32 -32 -32c-7.5459 0.00683594 -14.5078 2.64062 -19.9805 7.01953l-85.0293 68.0303c-42.7002 34.1406 -96.3203 52.9502 -150.98 52.9502h-28.0801
c-2.79004 -10.21 -4.41016 -20.8896 -4.41016 -32c0 -29.0801 9.75 -55.9199 26.1504 -77.4404c15.79 -20.7197 0.149414 -50.5596 -25.9004 -50.5596h-74.2793c-11.8809 0 -23.2109 6.37012 -28.4004 17.0596c-16.2998 33.5908 -25.5605 71.1709 -25.5605 110.94
c0 10.8604 0.790039 21.5195 2.18066 32h-33.7002c-35.3496 0 -64 28.6504 -64 64v96c0 35.3496 28.6504 64 64 64h192c54.6602 0 108.28 18.8096 150.99 52.9502l85.0293 68.0303c5.79004 4.63965 12.8604 7.01953 19.9805 7.01953c25.0195 0 32 -23.2598 32 -32.0098
v-152.87c19.0498 -11.0801 32 -31.4902 32 -55.1201zM480 66.5801v282.84l-33.0498 -26.4395c-54 -43.2002 -121.83 -66.9805 -190.95 -66.9805v-96c69.1201 0 136.95 -23.7803 190.95 -66.9805z" />
    <glyph glyph-name="certificate" unicode="&#xf0a3;" 
d="M458.622 192.08l45.9844 -45.0039c13.7012 -12.9727 7.32227 -36.0371 -10.6641 -40.3389l-62.6504 -15.9902l17.6611 -62.0146c4.99023 -17.834 -11.8252 -34.665 -29.6611 -29.6719l-61.9941 17.667l-15.9834 -62.6709
c-4.33887 -18.1533 -27.8252 -24.1553 -40.3252 -10.668l-44.9893 46.001l-44.9912 -46.001c-12.6289 -13.3496 -35.8857 -7.90625 -40.3252 10.668l-15.9834 62.6709l-61.9941 -17.667c-17.832 -4.99121 -34.6523 11.833 -29.6611 29.6719l17.6611 62.0146
l-62.6504 15.9902c-17.9795 4.2998 -24.3721 27.3613 -10.6641 40.3389l45.9854 45.0039l-45.9854 45.0049c-13.7012 12.9707 -7.32227 36.0371 10.665 40.3379l62.6504 15.9902l-17.6611 62.0146c-4.99023 17.834 11.8242 34.665 29.6611 29.6709l61.9951 -17.667
l15.9834 62.6709c4.27832 17.9023 27.6953 24.0195 40.3252 10.6689l44.9893 -46.3418l44.9902 46.3428c12.7744 13.5039 36.0947 7.03027 40.3252 -10.6689l15.9834 -62.6709l61.9941 17.667c17.832 4.99219 34.6523 -11.833 29.6611 -29.6709l-17.6611 -62.0146
l62.6504 -15.9902c17.9795 -4.2998 24.3721 -27.3623 10.6641 -40.3389z" />
    <glyph glyph-name="hand-point-right" unicode="&#xf0a4;" 
d="M512 248.348c0 -23.625 -20.6504 -43.8252 -44.7998 -43.8252h-99.8516c16.3408 -17.0488 18.3467 -49.7666 -6.29883 -70.9443c14.2881 -22.8291 2.14746 -53.0176 -16.4502 -62.3154c8.97461 -49.1406 -21.9453 -71.2627 -72.5996 -71.2627
c-2.74609 0 -13.2764 0.203125 -16 0.195312c-61.9707 -0.167969 -76.8936 31.0645 -123.731 38.3145c-11.6729 1.80762 -20.2686 11.8916 -20.2686 23.7041v171.525l0.00195312 0.000976562c0.0107422 18.3662 10.6074 35.8887 28.4639 43.8447
c28.8857 12.9941 95.4131 49.0381 107.534 77.3232c7.79688 18.1934 21.3838 29.084 40 29.0918c34.2217 0.0136719 57.752 -35.0977 44.1191 -66.9082c-3.58301 -8.3584 -8.3125 -16.6699 -14.1533 -24.918h149.234c23.4502 0 44.7998 -20.543 44.7998 -43.8262zM96 248
v-192c0 -13.2549 -10.7451 -24 -24 -24h-48c-13.2549 0 -24 10.7451 -24 24v192c0 13.2549 10.7451 24 24 24h48c13.2549 0 24 -10.7451 24 -24zM68 80c0 11.0459 -8.9541 20 -20 20s-20 -8.9541 -20 -20s8.9541 -20 20 -20s20 8.9541 20 20z" />
    <glyph glyph-name="hand-point-left" unicode="&#xf0a5;" 
d="M44.7998 292.174h149.234c-5.84082 8.24805 -10.5703 16.5586 -14.1533 24.918c-13.6328 31.8105 9.89746 66.9219 44.1191 66.9082c18.6162 -0.0078125 32.2031 -10.8975 40 -29.0918c12.1221 -28.2861 78.6484 -64.3291 107.534 -77.3232
c17.8564 -7.95605 28.4531 -25.4785 28.4639 -43.8447l0.00195312 -0.000976562v-171.526c0 -11.8115 -8.5957 -21.8965 -20.2686 -23.7031c-46.8379 -7.25 -61.7607 -38.4824 -123.731 -38.3145c-2.72363 0.00683594 -13.2539 -0.195312 -16 -0.195312
c-50.6543 0 -81.5742 22.1221 -72.5996 71.2627c-18.5977 9.29688 -30.7383 39.4863 -16.4502 62.3154c-24.6455 21.1768 -22.6396 53.8955 -6.29883 70.9443h-99.8516c-24.1494 0 -44.7998 20.2002 -44.7998 43.8252c0 23.2832 21.3496 43.8262 44.7998 43.8262zM440 272
h48c13.2549 0 24 -10.7451 24 -24v-192c0 -13.2549 -10.7451 -24 -24 -24h-48c-13.2549 0 -24 10.7451 -24 24v192c0 13.2549 10.7451 24 24 24zM464 60c11.0459 0 20 8.9541 20 20s-8.9541 20 -20 20s-20 -8.9541 -20 -20s8.9541 -20 20 -20z" />
    <glyph glyph-name="hand-point-up" unicode="&#xf0a6;" horiz-adv-x="384" 
d="M135.652 448c23.625 0 43.8252 -20.6504 43.8252 -44.7998v-99.8516c17.0488 16.3408 49.7666 18.3467 70.9443 -6.29883c22.8291 14.2881 53.0176 2.14746 62.3154 -16.4502c49.1406 8.97461 71.2627 -21.9453 71.2627 -72.5996
c0 -2.74609 -0.203125 -13.2764 -0.195312 -16c0.167969 -61.9707 -31.0645 -76.8936 -38.3145 -123.731c-1.80762 -11.6729 -11.8916 -20.2686 -23.7041 -20.2686h-171.525l-0.000976562 0.00195312c-18.3662 0.0107422 -35.8887 10.6074 -43.8447 28.4639
c-12.9941 28.8857 -49.0381 95.4121 -77.3232 107.534c-18.1943 7.79688 -29.084 21.3838 -29.0918 40c-0.0136719 34.2217 35.0977 57.752 66.9082 44.1191c8.3584 -3.58301 16.6699 -8.3125 24.918 -14.1533v149.234c0 23.4502 20.543 44.7998 43.8262 44.7998zM136 32
h192c13.2549 0 24 -10.7451 24 -24v-48c0 -13.2549 -10.7451 -24 -24 -24h-192c-13.2549 0 -24 10.7451 -24 24v48c0 13.2549 10.7451 24 24 24zM304 4c-11.0459 0 -20 -8.9541 -20 -20s8.9541 -20 20 -20s20 8.9541 20 20s-8.9541 20 -20 20z" />
    <glyph glyph-name="hand-point-down" unicode="&#xf0a7;" horiz-adv-x="384" 
d="M91.8262 -19.2002v149.234c-8.24805 -5.84082 -16.5586 -10.5703 -24.918 -14.1533c-31.8105 -13.6328 -66.9219 9.89746 -66.9082 44.1191c0.0078125 18.6162 10.8975 32.2031 29.0918 40c28.2861 12.1221 64.3291 78.6484 77.3232 107.534
c7.95605 17.8564 25.4785 28.4531 43.8447 28.4639l0.000976562 0.00195312h171.526c11.8115 0 21.8965 -8.5957 23.7031 -20.2686c7.25 -46.8379 38.4824 -61.7607 38.3145 -123.731c-0.00683594 -2.72363 0.195312 -13.2539 0.195312 -16
c0 -50.6543 -22.1221 -81.5742 -71.2627 -72.5996c-9.29688 -18.5977 -39.4863 -30.7383 -62.3154 -16.4502c-21.1768 -24.6455 -53.8955 -22.6396 -70.9443 -6.29883v-99.8516c0 -24.1494 -20.2002 -44.7998 -43.8252 -44.7998
c-23.2832 0 -43.8262 21.3496 -43.8262 44.7998zM112 376v48c0 13.2549 10.7451 24 24 24h192c13.2549 0 24 -10.7451 24 -24v-48c0 -13.2549 -10.7451 -24 -24 -24h-192c-13.2549 0 -24 10.7451 -24 24zM324 400c0 11.0459 -8.9541 20 -20 20s-20 -8.9541 -20 -20
s8.9541 -20 20 -20s20 8.9541 20 20z" />
    <glyph glyph-name="arrow-circle-left" unicode="&#xf0a8;" 
d="M256 -56c-137 0 -248 111 -248 248s111 248 248 248s248 -111 248 -248s-111 -248 -248 -248zM284.9 87.5996l-75.5 72.4004h182.6c13.2998 0 24 10.7002 24 24v16c0 13.2998 -10.7002 24 -24 24h-182.6l75.5 72.4004c9.69922 9.2998 9.89941 24.7998 0.399414 34.2998
l-11 10.8994c-9.39941 9.40039 -24.5996 9.40039 -33.8994 0l-132.7 -132.6c-9.40039 -9.40039 -9.40039 -24.5996 0 -33.9004l132.7 -132.699c9.39941 -9.40039 24.5996 -9.40039 33.8994 0l11 10.8994c9.5 9.5 9.2998 25 -0.399414 34.2998z" />
    <glyph glyph-name="arrow-circle-right" unicode="&#xf0a9;" 
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM227.1 296.4l75.5 -72.4004h-182.6c-13.2998 0 -24 -10.7002 -24 -24v-16c0 -13.2998 10.7002 -24 24 -24h182.6l-75.5 -72.4004
c-9.69922 -9.2998 -9.89941 -24.7998 -0.399414 -34.2998l11 -10.8994c9.39941 -9.40039 24.5996 -9.40039 33.8994 0l132.7 132.6c9.40039 9.40039 9.40039 24.5996 0 33.9004l-132.7 132.8c-9.39941 9.39941 -24.5996 9.39941 -33.8994 0l-11 -10.9004
c-9.5 -9.59961 -9.2998 -25.0996 0.399414 -34.3994z" />
    <glyph glyph-name="arrow-circle-up" unicode="&#xf0aa;" 
d="M8 192c0 137 111 248 248 248s248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248zM151.6 163.1l72.4004 75.5v-182.6c0 -13.2998 10.7002 -24 24 -24h16c13.2998 0 24 10.7002 24 24v182.6l72.4004 -75.5c9.2998 -9.69922 24.7998 -9.89941 34.2998 -0.399414
l10.8994 11c9.40039 9.39941 9.40039 24.5996 0 33.8994l-132.6 132.7c-9.40039 9.40039 -24.5996 9.40039 -33.9004 0l-132.8 -132.7c-9.39941 -9.39941 -9.39941 -24.5996 0 -33.8994l10.9004 -11c9.59961 -9.5 25.0996 -9.2998 34.3994 0.399414z" />
    <glyph glyph-name="arrow-circle-down" unicode="&#xf0ab;" 
d="M504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM360.4 220.9l-72.4004 -75.5v182.6c0 13.2998 -10.7002 24 -24 24h-16c-13.2998 0 -24 -10.7002 -24 -24v-182.6l-72.4004 75.5
c-9.2998 9.69922 -24.7998 9.89941 -34.2998 0.399414l-10.8994 -11c-9.40039 -9.39941 -9.40039 -24.5996 0 -33.8994l132.6 -132.7c9.40039 -9.40039 24.5996 -9.40039 33.9004 0l132.699 132.7c9.40039 9.39941 9.40039 24.5996 0 33.8994l-10.8994 11
c-9.5 9.5 -25 9.2998 -34.2998 -0.399414z" />
    <glyph glyph-name="globe" unicode="&#xf0ac;" horiz-adv-x="496" 
d="M336.5 288h-177c14.5 89.2998 48.7002 152 88.5 152s74 -62.7002 88.5 -152zM152 192c0 22.2002 1.2002 43.5 3.2998 64h185.3c2.10059 -20.5 3.30078 -41.7998 3.30078 -64s-1.2002 -43.5 -3.30078 -64h-185.3c-2.09961 20.5 -3.2998 41.7998 -3.2998 64zM476.7 288
h-108c-8.7998 56.9004 -25.6006 107.8 -50 141.6c71.5 -21.1992 129.399 -73.6992 158 -141.6zM177.2 429.6c-24.4004 -33.7998 -41.2002 -84.6992 -49.9004 -141.6h-108c28.5 67.9004 86.5 120.4 157.9 141.6zM487.4 256c5.39941 -20.5 8.5 -41.7998 8.5 -64
s-3.10059 -43.5 -8.60059 -64h-114.6c2.09961 21 3.2998 42.5 3.2998 64s-1.2002 43 -3.2998 64h114.7zM120 192c0 -21.5 1.2002 -43 3.2002 -64h-114.601c-5.39941 20.5 -8.59961 41.7998 -8.59961 64s3.2002 43.5 8.59961 64h114.7
c-2.09961 -21 -3.2998 -42.5 -3.2998 -64zM159.5 96h177c-14.5 -89.2998 -48.7002 -152 -88.5 -152s-74 62.7002 -88.5 152zM318.8 -45.5996c24.4004 33.7998 41.2002 84.6992 50 141.6h108c-28.5996 -67.9004 -86.5996 -120.4 -158 -141.6zM19.2998 96h108
c8.7998 -56.9004 25.6006 -107.8 50 -141.6c-71.5 21.1992 -129.399 73.6992 -158 141.6z" />
    <glyph glyph-name="wrench" unicode="&#xf0ad;" 
d="M507.73 338.9c11.7891 -47.4102 -0.84082 -99.6602 -37.9102 -136.73c-39.9004 -39.9004 -97.25 -50.9297 -147.37 -34.2197l-213.21 -213.21c-24.9902 -24.9902 -65.5098 -24.9902 -90.5 0s-24.9902 65.5098 0 90.5l213.39 213.39
c-16.5 50.1006 -5.58984 107.561 34.0498 147.2c37.0303 37.0195 89.2002 49.6699 136.58 37.9297c9.08984 -2.25977 12.2803 -13.54 5.66016 -20.1602l-74.3604 -74.3594l11.3105 -67.8799l67.8799 -11.3105l74.3604 74.3604
c6.58008 6.58008 17.8799 3.51953 20.1201 -5.50977zM64 -24c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24z" />
    <glyph glyph-name="tasks" unicode="&#xf0ae;" 
d="M139.61 412.5l17 -16.5c2.13281 -2.18066 3.44922 -5.16797 3.44922 -8.45605c0 -3.33496 -1.35352 -6.35547 -3.54004 -8.54395l-72.1992 -72.1904l-15.5898 -15.6191c-2.29297 -2.17969 -5.39941 -3.51758 -8.80859 -3.51758
c-3.41016 0 -6.50977 1.33789 -8.80176 3.51758l-47.5898 47.3994c-2.18066 2.17383 -3.53125 5.18262 -3.53125 8.50195c0 3.31836 1.35059 6.3252 3.53125 8.49805l15.7002 15.7197c2.17285 2.18164 5.18164 3.53125 8.50098 3.53125s6.3252 -1.34961 8.49902 -3.53125
l22.6992 -22.1191l63.6807 63.3096c2.17285 2.18066 5.18262 3.53125 8.50098 3.53125c3.31934 0 6.3252 -1.35059 8.49902 -3.53125zM139.61 253.31l16.9795 -17c2.125 -2.16504 3.43652 -5.13574 3.43652 -8.40625c0 -3.31641 -1.34863 -6.32031 -3.52637 -8.49316
l-72.2002 -72.2197l-15.7002 -15.6904c-2.29004 -2.17871 -5.39551 -3.5166 -8.80273 -3.5166c-3.4082 0 -6.50586 1.33789 -8.79688 3.5166l-47.4697 47.5c-2.18066 2.17285 -3.53125 5.18262 -3.53125 8.50195c0 3.31836 1.35059 6.3252 3.53125 8.49805l15.7002 15.6904
c2.17285 2.18066 5.18164 3.53125 8.50098 3.53125s6.3252 -1.35059 8.49902 -3.53125l22.6992 -22.1006l63.6807 63.7197c2.17285 2.18164 5.18262 3.53125 8.50098 3.53125c3.31934 0 6.3252 -1.34961 8.49902 -3.53125zM64 80c26.4922 0 48 -21.5078 48 -48
s-21.5078 -48 -48 -48c-26.4697 0 -48.5898 21.5 -48.5898 48s22.0996 48 48.5898 48zM496 64c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-288c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h288zM496 384
c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-288c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h288zM496 224c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-288c-8.83105 0 -16 7.16895 -16 16v32
c0 8.83105 7.16895 16 16 16h288z" />
    <glyph glyph-name="filter" unicode="&#xf0b0;" 
d="M487.976 448c21.3623 0 32.0459 -25.8965 16.9717 -40.9707l-184.947 -184.971v-262.039c0 -19.5127 -21.9805 -30.71 -37.7627 -19.6611l-80 55.9795c-6.41602 4.49219 -10.2373 11.8311 -10.2373 19.6621v206.059l-184.942 184.971
c-15.1045 15.1045 -4.34766 40.9707 16.9707 40.9707h463.947z" />
    <glyph glyph-name="briefcase" unicode="&#xf0b1;" 
d="M320 112v48h192v-144c0 -25.5996 -22.4004 -48 -48 -48h-416c-25.5996 0 -48 22.4004 -48 48v144h192v-48c0 -8.83984 7.16016 -16 16 -16h96c8.83984 0 16 7.16016 16 16zM464 320c25.5996 0 48 -22.4004 48 -48v-80h-512v80c0 25.5996 22.4004 48 48 48h80v48
c0 25.5996 22.4004 48 48 48h160c25.5996 0 48 -22.4004 48 -48v-48h80zM320 320v32h-128v-32h128z" />
    <glyph glyph-name="arrows-alt" unicode="&#xf0b2;" 
d="M352.201 22.2246l-79.1963 -79.1953c-9.37305 -9.37305 -24.5684 -9.37305 -33.9404 0l-79.1963 79.1953c-15.1191 15.1191 -4.41113 40.9717 16.9707 40.9707h51.1621l-0.000976562 100.805h-100.804v-51.1621c0 -21.3818 -25.8516 -32.0898 -40.9717 -16.9707
l-79.1953 79.1963c-9.37305 9.37207 -9.37305 24.5684 0 33.9404l79.1953 79.1963c15.1191 15.1191 40.9717 4.41113 40.9717 -16.9717v-51.2285h100.804v100.804h-51.2305c-21.3818 0 -32.0898 25.8516 -16.9707 40.9717l79.1963 79.1953
c9.37305 9.37305 24.5684 9.37305 33.9404 0l79.1963 -79.1953c15.1191 -15.1191 4.41113 -40.9717 -16.9707 -40.9717h-51.1621v-100.804h100.804v51.1621c0 21.3818 25.8516 32.0898 40.9707 16.9707l79.1953 -79.1963c9.37305 -9.37207 9.37305 -24.5684 0 -33.9404
l-79.1953 -79.1963c-15.1191 -15.1191 -40.9717 -4.41113 -40.9707 16.9717v51.2285h-100.803v-100.804h51.2305c21.3818 0 32.0898 -25.8516 16.9707 -40.9717z" />
    <glyph glyph-name="users" unicode="&#xf0c0;" horiz-adv-x="640" 
d="M96 224c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM544 224c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM576 192c35.2998 0 64 -28.7002 64 -64v-32
c0 -17.7002 -14.2998 -32 -32 -32h-66c-6.2002 47.4004 -34.7998 87.2998 -75.0996 109.4c11.5996 11.5 27.5 18.5996 45.0996 18.5996h64zM320 192c-61.9004 0 -112 50.0996 -112 112s50.0996 112 112 112s112 -50.0996 112 -112s-50.0996 -112 -112 -112zM396.8 160
c63.6006 0 115.2 -51.5996 115.2 -115.2v-28.7998c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v28.7998c0 63.6006 51.5996 115.2 115.2 115.2h8.2998c20.9004 -10 43.9004 -16 68.5 -16s47.7002 6 68.5 16h8.2998zM173.1 173.4
c-40.2998 -22.1006 -68.8994 -62 -75.1992 -109.4h-65.9004c-17.7002 0 -32 14.2998 -32 32v32c0 35.2998 28.7002 64 64 64h64c17.5996 0 33.5 -7.09961 45.0996 -18.5996z" />
    <glyph glyph-name="link" unicode="&#xf0c1;" 
d="M326.612 262.609c59.7471 -59.8096 58.9268 -155.698 0.359375 -214.591c-0.109375 -0.119141 -0.239258 -0.25 -0.359375 -0.369141l-67.2002 -67.2002c-59.2705 -59.2705 -155.699 -59.2627 -214.96 0c-59.2705 59.2598 -59.2705 155.7 0 214.96l37.1055 37.1055
c9.84082 9.84082 26.7861 3.30078 27.2939 -10.6055c0.648438 -17.7227 3.82617 -35.5273 9.69043 -52.7207c1.98633 -5.82227 0.567383 -12.2627 -3.7832 -16.6123l-13.0869 -13.0869c-28.0254 -28.0264 -28.9053 -73.6602 -1.15527 -101.96
c28.0244 -28.5791 74.0859 -28.749 102.325 -0.510742l67.2002 67.1904c28.1914 28.1914 28.0732 73.7568 0 101.83c-3.70117 3.69434 -7.42871 6.56348 -10.3408 8.56934c-4.05078 2.78125 -6.74707 7.37402 -6.94727 12.6055
c-0.395508 10.5674 3.34766 21.4561 11.6982 29.8057l21.0537 21.0557c5.52148 5.52051 14.1826 6.19922 20.584 1.73047c7.38574 -5.15723 14.1709 -10.8447 20.5225 -17.1963zM467.547 403.551c59.2705 -59.2598 59.2705 -155.7 -0.000976562 -214.959l-37.1055 -37.1055
c-9.84082 -9.83984 -26.7852 -3.30078 -27.2939 10.6055c-0.648438 17.7227 -3.82617 35.5273 -9.69043 52.7217c-1.98633 5.82129 -0.567383 12.2617 3.7832 16.6113l13.0869 13.0869c28.0264 28.0264 28.9053 73.6602 1.15527 101.96
c-28.0254 28.5791 -74.0869 28.749 -102.325 0.510742l-67.2002 -67.1904c-28.1914 -28.1914 -28.0732 -73.7568 0 -101.83c3.70117 -3.69434 7.42871 -6.56348 10.3408 -8.56934c4.05078 -2.78125 6.74707 -7.37402 6.94727 -12.6055
c0.395508 -10.5674 -3.34766 -21.4561 -11.6982 -29.8057l-21.0537 -21.0557c-5.52051 -5.51953 -14.1826 -6.19922 -20.584 -1.73047c-7.38574 5.15625 -14.1699 10.8447 -20.5215 17.1953c-59.7471 59.8096 -58.9258 155.698 -0.359375 214.591
c0.109375 0.119141 0.239258 0.25 0.359375 0.369141l67.2002 67.2002c59.2705 59.2705 155.699 59.2627 214.96 0z" />
    <glyph glyph-name="cloud" unicode="&#xf0c2;" horiz-adv-x="640" 
d="M537.6 221.4c58.4004 -11.8008 102.4 -63.5 102.4 -125.4c0 -70.7002 -57.2998 -128 -128 -128h-368c-79.5 0 -144 64.5 -144 144c0 62.7998 40.2002 116.2 96.2002 135.9c-0.100586 2.69922 -0.200195 5.39941 -0.200195 8.09961c0 88.4004 71.5996 160 160 160
c59.2998 0 111 -32.2002 138.7 -80.2002c15.2002 10.2002 33.5996 16.2002 53.2998 16.2002c53 0 96 -43 96 -96c0 -12.2002 -2.2998 -23.9004 -6.40039 -34.5996z" />
    <glyph glyph-name="flask" unicode="&#xf0c3;" horiz-adv-x="448" 
d="M437.2 44.5c29.2998 -47 -4.40039 -108.5 -60.1006 -108.5h-306.199c-55.6006 0 -89.4004 61.4004 -60.1006 108.5l117.2 188.5v151h-8c-13.2998 0 -24 10.7002 -24 24v16c0 13.2998 10.7002 24 24 24h208c13.2998 0 24 -10.7002 24 -24v-16
c0 -13.2998 -10.7002 -24 -24 -24h-8v-151zM137.9 128h172l-48.2002 77.5996c-3.60059 5.2002 -5.7998 11.5 -5.7998 18.4004v160h-64v-160c0 -6.7998 -2.10059 -13.2002 -5.80078 -18.4004z" />
    <glyph glyph-name="cut" unicode="&#xf0c4;" horiz-adv-x="448" 
d="M278.06 192l166.421 -166.43c4.68945 -4.69043 4.68945 -12.29 0 -16.9707c-32.8008 -32.7998 -85.9902 -32.7998 -118.79 0l-115.511 115.521l-24.8594 -24.8604c4.30957 -10.9199 6.67969 -22.8096 6.67969 -35.2598c0 -53.0195 -42.9805 -96 -96 -96
s-96 42.9805 -96 96s42.9805 96 96 96c4.53027 0 8.99023 -0.320312 13.3604 -0.929688l32.9297 32.9297l-32.9297 32.9297c-4.37012 -0.609375 -8.82031 -0.929688 -13.3604 -0.929688c-53.0195 0 -96 42.9805 -96 96s42.9805 96 96 96s96 -42.9805 96 -96
c0 -12.4502 -2.37012 -24.3398 -6.67969 -35.2598l24.8594 -24.8604l115.511 115.521c32.7998 32.7998 85.9893 32.7998 118.79 0c4.68945 -4.68066 4.68945 -12.2803 0 -16.9707zM96 288c17.6396 0 32 14.3604 32 32s-14.3604 32 -32 32s-32 -14.3604 -32 -32
s14.3604 -32 32 -32zM96 32c17.6396 0 32 14.3604 32 32s-14.3604 32 -32 32s-32 -14.3604 -32 -32s14.3604 -32 32 -32z" />
    <glyph glyph-name="copy" unicode="&#xf0c5;" horiz-adv-x="448" 
d="M320 0v-40c0 -13.2549 -10.7451 -24 -24 -24h-272c-13.2549 0 -24 10.7451 -24 24v368c0 13.2549 10.7451 24 24 24h72v-296c0 -30.8789 25.1211 -56 56 -56h168zM320 344c0 -13.2002 10.7998 -24 24 -24h104v-264c0 -13.2549 -10.7451 -24 -24 -24h-272
c-13.2549 0 -24 10.7451 -24 24v368c0 13.2549 10.7451 24 24 24h168v-104zM440.971 375.029c4.34473 -4.34473 7.0293 -10.3477 7.0293 -16.9707v-6.05859h-96v96h6.05859c6.62305 0 12.626 -2.68457 16.9707 -7.0293z" />
    <glyph glyph-name="paperclip" unicode="&#xf0c6;" horiz-adv-x="448" 
d="M43.2461 -18.1416c-58.4297 60.2891 -57.3408 157.511 1.38574 217.581l209.76 214.561c44.3164 45.332 116.352 45.3359 160.672 0c43.8896 -44.8936 43.9424 -117.329 0 -162.276l-182.85 -186.852c-29.8545 -30.5371 -78.6328 -30.1113 -107.981 0.998047
c-28.2754 29.9697 -27.3682 77.4727 1.45117 106.953l143.743 146.835c6.18262 6.31348 16.3125 6.42188 22.626 0.241211l22.8613 -22.3799c6.31445 -6.18164 6.42188 -16.3115 0.241211 -22.626l-143.729 -146.82c-4.93164 -5.04492 -5.23535 -13.4287 -0.647461 -18.292
c4.37207 -4.63379 11.2451 -4.71094 15.6875 -0.165039l182.85 186.851c19.6123 20.0625 19.6123 52.7256 -0.0117188 72.7979c-19.1885 19.627 -49.957 19.6377 -69.1533 0l-209.762 -214.56c-34.7627 -35.5605 -35.2988 -93.1201 -1.19043 -128.313
c34.0098 -35.0928 88.9844 -35.1367 123.058 -0.285156l172.061 175.999c6.17676 6.31836 16.3066 6.43262 22.626 0.255859l22.877 -22.3643c6.31836 -6.17676 6.43359 -16.3066 0.255859 -22.626l-172.061 -175.998c-59.5752 -60.9385 -155.942 -60.2158 -214.77 0.485352
z" />
    <glyph glyph-name="save" unicode="&#xf0c7;" horiz-adv-x="448" 
d="M433.941 318.059c8.68848 -8.68848 14.0586 -20.6943 14.0586 -33.9404v-268.118c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h268.118c13.2461 0 25.252 -5.37012 33.9404 -14.0586zM224 32
c35.3457 0 64 28.6543 64 64s-28.6543 64 -64 64s-64 -28.6543 -64 -64s28.6543 -64 64 -64zM320 336.52c0 3.31152 -1.34277 6.31348 -3.51465 8.48535l-3.48047 3.48047c-2.25 2.25098 -5.30176 3.51465 -8.48535 3.51465h-228.52c-6.62695 0 -12 -5.37305 -12 -12v-104
c0 -6.62695 5.37305 -12 12 -12h232c6.62695 0 12 5.37305 12 12v100.52z" />
    <glyph glyph-name="square" unicode="&#xf0c8;" horiz-adv-x="448" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352z" />
    <glyph glyph-name="bars" unicode="&#xf0c9;" horiz-adv-x="448" 
d="M16 316c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-416zM16 156c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40
c0 -8.83691 -7.16309 -16 -16 -16h-416zM16 -4c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-416z" />
    <glyph glyph-name="list-ul" unicode="&#xf0ca;" 
d="M48 400c26.4922 0 48 -21.5078 48 -48s-21.5078 -48 -48 -48s-48 21.5078 -48 48s21.5078 48 48 48zM48 240c26.4922 0 48 -21.5078 48 -48s-21.5078 -48 -48 -48s-48 21.5078 -48 48s21.5078 48 48 48zM48 80c26.4922 0 48 -21.5078 48 -48s-21.5078 -48 -48 -48
s-48 21.5078 -48 48s21.5078 48 48 48zM496 64c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-320c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h320zM496 384c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16
h-320c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h320zM496 224c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-320c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h320z" />
    <glyph glyph-name="list-ol" unicode="&#xf0cb;" 
d="M61.7695 47c19.6104 -5.12012 28.7002 -20.5 28.7305 -34.8799c0 -21.3701 -14.3398 -44.1201 -48.5 -44.1201c-16.6201 0 -29.29 4.75 -37 9.44043c-5.82031 4.21973 -6.34961 9.80957 -2.62988 15.9395l5.58984 9.31055c3.86035 6.61914 9.11035 7 15.5996 3.11914
c4.76758 -1.95996 10.0107 -3.07617 15.4707 -3.11914c10.1602 0 14.3594 3.5 14.3594 8.21973c0 6.64941 -5.60938 9.08984 -15.9395 9.08984h-4.73047c-5.95996 0 -9.25 2.12012 -12.25 7.87988l-1.0498 1.92969c-2.4502 4.75 -1.2002 9.81055 2.7998 14.8809l5.61035 7
c3.47461 4.32422 7.0957 8.37695 11 12.3096h-22.8301c-4.41504 0 -8 3.58496 -8 8v16c0 4.41504 3.58496 8 8 8h57c7.5 0 11.3398 -4 11.3398 -11.3496v-3.31055c0.0136719 -0.299805 0.0175781 -0.595703 0.0175781 -0.899414
c0 -5.10449 -1.9248 -9.76367 -5.08789 -13.29zM496 224c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-320c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h320zM496 384c8.83105 0 16 -7.16895 16 -16v-32
c0 -8.83105 -7.16895 -16 -16 -16h-320c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h320zM496 64c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-320c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h320zM16 288
c-4.41504 0 -8 3.58496 -8 8v16c0 4.41504 3.58496 8 8 8h16v64h-8c-4.4082 0.0078125 -7.98145 3.59766 -7.98145 8.00781c0 1.2832 0.303711 2.49707 0.841797 3.57227l8 16c1.31055 2.62012 4.01367 4.41406 7.13965 4.41992h24c4.41504 0 8 -3.58496 8 -8v-88h16
c4.41504 0 8 -3.58496 8 -8v-16c0 -4.41504 -3.58496 -8 -8 -8h-64zM12.0898 128c-7.00977 0 -12.0898 4 -12.0898 11.4102v4c0 47.2803 51 56.3994 50.9697 69.1201c0 7.18945 -5.9502 8.75 -9.2793 8.75c-0.0185547 0 -0.0380859 0.000976562 -0.0566406 0.000976562
c-3.65918 0 -6.97949 -1.46582 -9.40332 -3.84082c-5.12012 -4.91016 -10.5107 -7 -16.1201 -2.44043l-8.58008 6.87988c-5.7998 4.53027 -7.16992 9.78027 -2.7998 15.3701c6.65918 8.75 19.0996 18.75 40.46 18.75c19.4697 0 44.4697 -10.5 44.4697 -39.5596
c0 -37.7607 -45.0498 -46.1504 -48.3398 -56.4404h38.6797c4.41504 0 8 -3.58496 8 -8v-16c0 -4.41504 -3.58496 -8 -8 -8h-67.9102z" />
    <glyph glyph-name="strikethrough" unicode="&#xf0cc;" 
d="M496 224c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-480c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h102.29c-11.6797 16.5303 -19.7803 35.4697 -21.7803 56.3604c-0.385742 3.97559 -0.577148 7.88281 -0.577148 11.96
c0 68.2266 55.3633 123.624 123.577 123.68h68c50.1416 0 93.5244 -28.7686 114.521 -70.7998l0.529297 -1c1.07324 -2.14844 1.70215 -4.57715 1.70215 -7.13965c0 -6.26562 -3.61035 -11.6953 -8.86133 -14.3203l-42.9404 -21.4707
c-2.14941 -1.07324 -4.5791 -1.70312 -7.14355 -1.70312c-6.2627 0 -11.6895 3.60645 -14.3164 8.85352c-8.18652 16.374 -25.0859 27.5801 -44.623 27.5801h-0.0371094h-66.79c-24.0352 -0.000976562 -43.5479 -19.5059 -43.5479 -43.541
c0 -19.5742 12.9414 -36.1494 30.7285 -41.6289l87.1699 -26.8301h202.1zM315.76 128h94.3906c2.6084 -7.7373 4.44434 -15.9834 5.33984 -24.3604c0.385742 -3.97559 0.577148 -7.88281 0.577148 -11.96c0 -68.2266 -55.3633 -123.624 -123.577 -123.68h-68
c-50.1416 0 -93.5244 28.7686 -114.521 70.7998l-0.529297 1c-1.07324 2.14844 -1.70215 4.57715 -1.70215 7.13965c0 6.26562 3.61035 11.6953 8.86133 14.3203l42.9404 21.4707c2.14941 1.07324 4.5791 1.70312 7.14355 1.70312
c6.2627 0 11.6895 -3.60645 14.3164 -8.85352c8.18652 -16.374 25.0859 -27.5801 44.623 -27.5801h0.0371094h66.79c24.0254 0.0224609 43.5273 19.5244 43.5498 43.5498c-0.0117188 15.3828 -8.07227 28.8594 -20.2402 36.4502z" />
    <glyph glyph-name="underline" unicode="&#xf0cd;" horiz-adv-x="448" 
d="M32 384c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h144c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32v-160c0 -44.1533 35.8467 -80 80 -80s80 35.8467 80 80v160h-32c-8.83105 0 -16 7.16895 -16 16v32
c0 8.83105 7.16895 16 16 16h144c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32v-160c0 -88.2197 -71.7803 -160 -160 -160s-160 71.7803 -160 160v160h-32zM432 0c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-416
c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h416z" />
    <glyph glyph-name="table" unicode="&#xf0ce;" 
d="M464 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h416zM224 32v96h-160v-96h160zM224 192v96h-160v-96h160zM448 32v96h-160v-96h160zM448 192v96h-160v-96h160z" />
    <glyph glyph-name="magic" unicode="&#xf0d0;" 
d="M224 352l-16 32l-32 16l32 16l16 32l16 -32l32 -16l-32 -16zM80 288l-26.6602 53.3301l-53.3398 26.6699l53.3398 26.6699l26.6602 53.3301l26.6602 -53.3301l53.3398 -26.6699l-53.3398 -26.6699zM432 160l26.6602 -53.3301l53.3398 -26.6699l-53.3398 -26.6699
l-26.6602 -53.3301l-26.6602 53.3301l-53.3398 26.6699l53.3398 26.6699zM502.62 353.77c12.5 -12.4893 12.5 -32.7598 0 -45.2393l-363.14 -363.15c-6.25 -6.25 -14.4404 -9.37012 -22.6309 -9.37012c-8.17969 0 -16.3691 3.12012 -22.6191 9.37012l-84.8506 84.8506
c-12.5 12.4893 -12.5 32.75 0 45.25l363.14 363.14c6.25 6.25977 14.4404 9.37988 22.6309 9.37988c8.18945 0 16.3799 -3.12012 22.6191 -9.37988zM359.45 244.54l86.5996 86.5996l-50.9102 50.9102l-86.5996 -86.5996z" />
    <glyph glyph-name="truck" unicode="&#xf0d1;" horiz-adv-x="640" 
d="M624 96c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-48c0 -53 -43 -96 -96 -96s-96 43 -96 96h-128c0 -53 -43 -96 -96 -96s-96 43 -96 96h-16c-26.5 0 -48 21.5 -48 48v320c0 26.5 21.5 48 48 48h320c26.5 0 48 -21.5 48 -48v-48h44.0996
c12.7002 0 24.9004 -5.09961 33.9004 -14.0996l99.9004 -99.9004c9 -9 14.0996 -21.2002 14.0996 -33.9004v-108.1h16zM160 -16c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM480 -16c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48
s21.5 -48 48 -48zM560 192v12.0996l-99.9004 99.9004h-44.0996v-112h144z" />
    <glyph glyph-name="money-bill" unicode="&#xf0d6;" horiz-adv-x="640" 
d="M608 384c17.6699 0 32 -14.3301 32 -32v-320c0 -17.6699 -14.3301 -32 -32 -32h-576c-17.6699 0 -32 14.3301 -32 32v320c0 17.6699 14.3301 32 32 32h576zM48 48h64c0 35.3496 -28.6504 64 -64 64v-64zM48 272c35.3496 0 64 28.6504 64 64h-64v-64zM320 96
c44.1699 0 80 42.9697 80 96c0 53.0195 -35.8203 96 -80 96s-80 -42.9805 -80 -96c0 -53.0098 35.8096 -96 80 -96zM592 48v64c-35.3496 0 -64 -28.6504 -64 -64h64zM592 272v64h-64c0 -35.3496 28.6504 -64 64 -64z" />
    <glyph glyph-name="caret-down" unicode="&#xf0d7;" horiz-adv-x="320" 
d="M31.2998 256h257.3c17.8008 0 26.7002 -21.5 14.1006 -34.0996l-128.601 -128.7c-7.7998 -7.7998 -20.5 -7.7998 -28.2998 0l-128.6 128.7c-12.6006 12.5996 -3.7002 34.0996 14.0996 34.0996z" />
    <glyph glyph-name="caret-up" unicode="&#xf0d8;" horiz-adv-x="320" 
d="M288.662 96h-257.324c-17.8184 0 -26.7412 21.543 -14.1416 34.1416l128.662 128.662c7.80957 7.81055 20.4736 7.81055 28.2832 0l128.662 -128.662c12.6006 -12.5986 3.67676 -34.1416 -14.1416 -34.1416z" />
    <glyph glyph-name="caret-left" unicode="&#xf0d9;" horiz-adv-x="192" 
d="M192 320.662v-257.324c0 -17.8184 -21.543 -26.7412 -34.1416 -14.1416l-128.662 128.662c-7.81055 7.80957 -7.81055 20.4736 0 28.2832l128.662 128.662c12.5986 12.6006 34.1416 3.67676 34.1416 -14.1416z" />
    <glyph glyph-name="caret-right" unicode="&#xf0da;" horiz-adv-x="192" 
d="M0 63.3379v257.324c0 17.8184 21.543 26.7412 34.1416 14.1416l128.662 -128.662c7.81055 -7.80957 7.81055 -20.4736 0 -28.2832l-128.662 -128.662c-12.5986 -12.6006 -34.1416 -3.67676 -34.1416 14.1416z" />
    <glyph glyph-name="columns" unicode="&#xf0db;" 
d="M464 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h416zM224 32v256h-160v-256h160zM448 32v256h-160v-256h160z" />
    <glyph glyph-name="sort" unicode="&#xf0dc;" horiz-adv-x="320" 
d="M41 160h238c21.4004 0 32.0996 -25.9004 17 -41l-119 -119c-9.40039 -9.40039 -24.5996 -9.40039 -33.9004 0l-119.1 119c-15.0996 15.0996 -4.40039 41 17 41zM296 265c15.0996 -15.0996 4.40039 -41 -17 -41h-238c-21.4004 0 -32.0996 25.9004 -17 41l119.1 119
c9.30078 9.40039 24.5 9.40039 33.9004 0z" />
    <glyph glyph-name="sort-down" unicode="&#xf0dd;" horiz-adv-x="320" 
d="M41 160h238c21.4004 0 32.0996 -25.9004 17 -41l-119 -119c-9.40039 -9.40039 -24.5996 -9.40039 -33.9004 0l-119.1 119c-15.0996 15.0996 -4.40039 41 17 41z" />
    <glyph glyph-name="sort-up" unicode="&#xf0de;" horiz-adv-x="320" 
d="M279 224h-238c-21.4004 0 -32.0996 25.9004 -17 41l119 119c9.40039 9.40039 24.5996 9.40039 33.9004 0l119 -119c15.1992 -15.0996 4.5 -41 -16.9004 -41z" />
    <glyph glyph-name="envelope" unicode="&#xf0e0;" 
d="M502.3 257.2c3.90039 3.09961 9.7002 0.200195 9.7002 -4.7002v-204.5c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v204.4c0 5 5.7002 7.7998 9.7002 4.69922c22.3994 -17.3994 52.0996 -39.5 154.1 -113.6
c21.1006 -15.4004 56.7002 -47.7998 92.2002 -47.5996c35.7002 -0.300781 72 32.7998 92.2998 47.5996c102 74.0996 131.601 96.2998 154 113.7zM256 128c-23.2002 -0.400391 -56.5996 29.2002 -73.4004 41.4004c-132.699 96.2998 -142.8 104.8 -173.399 128.699
c-5.7998 4.60059 -9.2002 11.5 -9.2002 18.9004v19c0 26.5 21.5 48 48 48h416c26.5 0 48 -21.5 48 -48v-19c0 -7.40039 -3.40039 -14.4004 -9.2002 -18.9004c-30.5996 -24 -40.7002 -32.3994 -173.399 -128.699c-16.8008 -12.2002 -50.2002 -41.8008 -73.4004 -41.4004z" />
    <glyph glyph-name="undo" unicode="&#xf0e2;" 
d="M212.333 223.667h-200.333c-6.62695 0 -12 5.37305 -12 12v200.333c0 6.62695 5.37305 12 12 12h48c6.62695 0 12 -5.37305 12 -12v-78.1123c45.7734 50.833 112.26 82.6426 186.175 82.1055c136.906 -0.994141 246.448 -111.623 246.157 -248.532
c-0.291016 -136.719 -111.212 -247.461 -247.999 -247.461c-64.0889 0 -122.496 24.3135 -166.51 64.2148c-5.09961 4.62207 -5.33398 12.5537 -0.466797 17.4199l33.9668 33.9668c4.47363 4.47461 11.6621 4.71777 16.4004 0.525391
c31.0361 -27.4629 71.8564 -44.127 116.609 -44.127c97.2676 0 176 78.7158 176 176c0 97.2666 -78.7158 176 -176 176c-58.4961 0 -110.28 -28.4756 -142.274 -72.333h98.2744c6.62695 0 12 -5.37305 12 -12v-48c0 -6.62695 -5.37305 -12 -12 -12z" />
    <glyph glyph-name="gavel" unicode="&#xf0e3;" 
d="M504.971 248.638c9.37207 -9.37305 9.37207 -24.5684 0 -33.9404l-124.451 -124.451c-9.37109 -9.37305 -24.5674 -9.37305 -33.9404 0l-22.627 22.627c-9.37305 9.37207 -9.37305 24.5684 0 33.9414l5.65723 5.65625l-39.5986 39.5986l-81.04 -81.04l5.65723 -5.65723
c12.4971 -12.4971 12.4971 -32.7578 0 -45.2549l-114.745 -114.745c-12.4971 -12.4971 -32.7578 -12.4971 -45.2549 0l-45.2549 45.2549c-12.4971 12.4971 -12.4971 32.7578 0 45.2549l114.744 114.746c12.4971 12.4971 32.7578 12.4971 45.2549 0l5.65723 -5.65723
l81.04 81.04l-39.5986 39.5986l-5.65625 -5.65723c-9.37207 -9.37305 -24.5684 -9.37305 -33.9414 0l-22.627 22.627c-9.37305 9.37207 -9.37305 24.5684 0 33.9404l124.451 124.451c9.37207 9.37305 24.5674 9.37305 33.9404 0l22.627 -22.6279
c9.37305 -9.37207 9.37305 -24.5674 0 -33.9404l-5.65625 -5.65723l113.138 -113.137l5.65723 5.65625c9.37207 9.37305 24.5674 9.37305 33.9404 0z" />
    <glyph glyph-name="bolt" unicode="&#xf0e7;" horiz-adv-x="320" 
d="M296 288c18.5 0 30 -20.0996 20.7002 -36l-176 -304c-4.40039 -7.59961 -12.4004 -12 -20.7998 -12c-15.3008 0 -26.9004 14.2998 -23.3008 29.5l46.1006 194.5h-118.7c-14.5 0 -25.7002 12.7998 -23.7998 27.2002l32 240
c1.59961 11.8994 11.7998 20.7998 23.7998 20.7998h144c15.7002 0 27.2002 -15 23.2002 -30.2002l-42.6006 -129.8h115.4z" />
    <glyph glyph-name="sitemap" unicode="&#xf0e8;" horiz-adv-x="640" 
d="M128 96c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h96zM104 176v-48h-48v57.5898c0 21.1797 17.2305 38.4102 38.4102 38.4102h201.59v64h-40c-17.6699 0 -32 14.3301 -32 32
v96c0 17.6699 14.3301 32 32 32h128c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-40v-64h201.59c21.1797 0 38.4102 -17.2402 38.4102 -38.4102v-57.5898h-48v48h-192v-48h-48v48h-192zM368 96c17.6699 0 32 -14.3301 32 -32v-96
c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h96zM608 96c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h96z" />
    <glyph glyph-name="umbrella" unicode="&#xf0e9;" horiz-adv-x="576" 
d="M575.7 167.2c2.2002 -10.1006 -8.40039 -21.4004 -18.7002 -11.4004c-51.5 54.4004 -107.6 52.5 -158.6 -37c-5.30078 -9.5 -14.9004 -8.59961 -19.7002 0c-2.5 4.40039 -32.2002 73.2002 -90.7002 73.2002c-45.7998 0 -70.5 -37.7998 -90.7002 -73.2002
c-4.7998 -8.59961 -14.3994 -9.5 -19.7002 0c-50.8994 89.4004 -106.6 92 -158.6 37c-10.2002 -9.89941 -20.9004 1.2998 -18.7002 11.4004c29.2002 136.3 138 218.2 255.7 230.899v17.9004c0 17.7002 14.2998 32 32 32s32 -14.2998 32 -32v-17.9004
c117.3 -12.6992 227.1 -94.5996 255.7 -230.899zM256 146.3c9.59961 8.90039 19.7002 13.6006 32 13.7002c12.2002 0 22.9004 -5.7002 32 -13.5996v-130.301c0 -44.0996 -35.9004 -80 -80 -80c-33.7998 0 -64.2002 21.4004 -75.4004 53.3008
c-5.89941 16.5996 2.80078 34.8994 19.5 40.7998c16.7002 5.89941 34.9004 -2.7998 40.8008 -19.5c1.89941 -5.40039 7.2998 -10.7002 15.0996 -10.7002c8.7998 0 16 7.2002 16 16v130.3z" />
    <glyph glyph-name="paste" unicode="&#xf0ea;" horiz-adv-x="448" 
d="M128 264v-232h-104c-13.2549 0 -24 10.7451 -24 24v336c0 13.2549 10.7451 24 24 24h80.6104c11.084 19.1104 31.7529 32 55.3896 32s44.3057 -12.8896 55.3896 -32h80.6104c13.2549 0 24 -10.7451 24 -24v-72h-136c-30.8779 0 -56 -25.1211 -56 -56zM160 408
c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24zM344 160h104v-200c0 -13.2549 -10.7451 -24 -24 -24h-240c-13.2549 0 -24 10.7451 -24 24v304c0 13.2549 10.7451 24 24 24h136v-104c0 -13.2002 10.7998 -24 24 -24z
M448 198.059v-6.05859h-96v96h6.05859c6.62305 0 12.626 -2.68457 16.9707 -7.0293l65.9404 -65.9404c4.34473 -4.34473 7.03027 -10.3477 7.03027 -16.9717z" />
    <glyph glyph-name="lightbulb" unicode="&#xf0eb;" horiz-adv-x="352" 
d="M96.0596 -6.34961l-0.0498047 38.3496h159.98l-0.0400391 -38.3496c-0.0078125 -6.52637 -1.99219 -12.6309 -5.36035 -17.6904l-17.0898 -25.6904c-5.73242 -8.62305 -15.5176 -14.2793 -26.6396 -14.2793h-61.71c-11.123 0 -20.9072 5.65625 -26.6406 14.2793
l-17.0898 25.6904c-3.49023 5.24023 -5.34961 11.4004 -5.36035 17.6904zM0 272c0 93.0303 73.4404 175.69 175.45 176c97.46 0.299805 176.55 -78.6104 176.55 -176c0 -44.3701 -16.4502 -84.8496 -43.5596 -115.78c-16.5205 -18.8496 -42.3604 -58.2295 -52.21 -91.4502
c-0.0400391 -0.269531 -0.0703125 -0.519531 -0.110352 -0.779297h-160.24c-0.0400391 0.259766 -0.0703125 0.519531 -0.110352 0.779297c-9.84961 33.2207 -35.6895 72.6006 -52.21 91.4502c-27.1094 30.9307 -43.5596 71.4102 -43.5596 115.78zM176 352
c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16c-61.7598 0 -112 -50.2402 -112 -112c0 -8.83984 7.16016 -16 16 -16s16 7.16016 16 16c0 44.1104 35.8896 80 80 80z" />
    <glyph glyph-name="user-md" unicode="&#xf0f0;" horiz-adv-x="448" 
d="M224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM104 24c0 13.2998 10.7002 24 24 24s24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24zM320 159.4c71.2002 -3.5 128 -61.8008 128 -133.801
v-44.7998c0 -24.7002 -20.0996 -44.7998 -44.7998 -44.7998h-358.4c-24.7002 0 -44.7998 20.0996 -44.7998 44.7998v44.7998c0 66.6006 48.5 121.4 112.1 132.101v-80.4004c-23.0996 -6.89941 -40 -28.0996 -40 -53.3994c0 -30.9004 25.1006 -56 56 -56
c30.9004 0 56 25.0996 56 56c0 25.2998 -16.8994 46.5 -40 53.3994v81.6006c7.7002 -1 15.2002 -2.60059 22.6006 -5.2002c18 -6.2998 37.2998 -9.7998 57.3994 -9.7998c20.1006 0 39.4004 3.5 57.4004 9.7998c2.2002 0.799805 4.40039 1.2002 6.59961 1.89941v-45.1992
c-36.5 -7.5 -64 -39.8008 -64 -78.4004v-43.7998c0 -8.10059 5.90039 -14.7998 13.8008 -15.9004l31.1992 -4.2002c4.30078 -0.799805 8.5 2 9.40039 6.30078l3.09961 15.6992c0.800781 4.30078 -2 8.5 -6.2998 9.40039l-19.2998 3.90039v26.6992
c0 67 96 64.7002 96 1.90039v-28.5l-19.2998 -3.90039c-4.40039 -0.799805 -7.2002 -5.09961 -6.2998 -9.39941l3.09961 -15.7002c0.900391 -4.40039 5.09961 -7.2002 9.40039 -6.2998l32.1992 6.39941c7.5 1.5 12.9004 8.10059 12.9004 15.7002v41.7002
c0 38.5996 -27.5 71 -64 78.4004v49z" />
    <glyph glyph-name="stethoscope" unicode="&#xf0f1;" 
d="M447.1 336c35.7002 0.5 64.9004 -28.2998 64.9004 -64c0 -23.7002 -12.9004 -44.2998 -32 -55.4004v-112.6c0 -92.5996 -79 -168 -176 -168c-95.4004 0 -173.3 72.7998 -175.9 163.2c-73 14.7998 -128.1 79.5 -128.1 156.8v155.4c0 11.5 8.09961 21.2998 19.2998 23.5996
l62.7998 12.4004c13 2.59961 25.6006 -5.80078 28.2002 -18.8008l3.10059 -15.6992c2.59961 -13 -5.80078 -25.6006 -18.8008 -28.2002l-30.6992 -6.10059v-122.5c0 -53.2998 43.5 -96.5 96.8994 -96c52.9004 0.5 95.1006 44.3008 95.1006 97.2002v121.4l-30.7002 6.09961
c-13 2.60059 -21.4004 15.2002 -18.7998 28.2002l3.19922 15.7002c2.60059 13 15.2002 21.3994 28.2002 18.7998l62.9004 -12.5996c11.2002 -2.2002 19.2998 -12.1006 19.2998 -23.5v-155.4c0 -77.2002 -55 -141.8 -127.8 -156.8
c2.7002 -55.1006 51.8994 -99.2002 111.899 -99.2002c61.8008 0 112 46.7002 112 104v112.6c-19.5 11.2002 -32.5 32.5 -32 56.8008c0.700195 34.1992 28.8008 62.0996 63 62.5996zM448 256c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16
s7.2002 -16 16 -16z" />
    <glyph glyph-name="suitcase" unicode="&#xf0f2;" 
d="M128 -32v400c0 26.5 21.5 48 48 48h160c26.5 0 48 -21.5 48 -48v-400h-256zM192 352v-32h128v32h-128zM512 272v-256c0 -26.5 -21.5 -48 -48 -48h-48v352h48c26.5 0 48 -21.5 48 -48zM96 -32h-48c-26.5 0 -48 21.5 -48 48v256c0 26.5 21.5 48 48 48h48v-352z" />
    <glyph glyph-name="bell" unicode="&#xf0f3;" horiz-adv-x="448" 
d="M224 -64c-35.3203 0 -63.9697 28.6504 -63.9697 64h127.939c0 -35.3496 -28.6494 -64 -63.9697 -64zM439.39 85.71c6 -6.44043 8.66016 -14.1602 8.61035 -21.71c-0.0996094 -16.4004 -12.9805 -32 -32.0996 -32h-383.801c-19.1191 0 -31.9893 15.5996 -32.0996 32
c-0.0498047 7.5498 2.61035 15.2598 8.61035 21.71c19.3193 20.7598 55.4697 51.9902 55.4697 154.29c0 77.7002 54.4795 139.9 127.939 155.16v20.8398c0 17.6699 14.3203 32 31.9805 32s31.9805 -14.3301 31.9805 -32v-20.8398
c73.46 -15.2598 127.939 -77.46 127.939 -155.16c0 -102.3 36.1504 -133.53 55.4697 -154.29z" />
    <glyph glyph-name="coffee" unicode="&#xf0f4;" horiz-adv-x="640" 
d="M192 64c-53 0 -96 43 -96 96v232c0 13.2998 10.7002 24 24 24h392c70.5996 0 128 -57.4004 128 -128s-57.4004 -128 -128 -128h-32c0 -53 -43 -96 -96 -96h-192zM512 352h-32v-128h32c35.2998 0 64 28.7002 64 64s-28.7002 64 -64 64zM559.7 -32h-511.4
c-47.5996 0 -61 64 -36 64h583.3c25 0 11.8008 -64 -35.8994 -64z" />
    <glyph glyph-name="hospital" unicode="&#xf0f8;" horiz-adv-x="448" 
d="M448 -44v-20h-448v20c0 6.62695 5.37305 12 12 12h20v360c0 13.2549 10.7451 24 24 24h88v72c0 13.2549 10.7451 24 24 24h112c13.2549 0 24 -10.7451 24 -24v-72h88c13.2549 0 24 -10.7451 24 -24v-360h20c6.62695 0 12 -5.37305 12 -12zM308 256h-40
c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12v40c0 6.62695 -5.37305 12 -12 12zM140 192h40c6.62695 0 12 5.37305 12 12v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40
c0 -6.62695 5.37305 -12 12 -12zM244 64h-40c-6.62695 0 -12 -5.37305 -12 -12v-84h64v84c0 6.62695 -5.37305 12 -12 12zM308 160h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12v40c0 6.62695 -5.37305 12 -12 12
zM192 148c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12v40zM182 352h26v-26c0 -3.31152 2.68848 -6 6 -6h20c3.31152 0 6 2.68848 6 6v26h26c3.31152 0 6 2.68848 6 6v20
c0 3.31152 -2.68848 6 -6 6h-26v26c0 3.31152 -2.68848 6 -6 6h-20c-3.31152 0 -6 -2.68848 -6 -6v-26h-26c-3.31152 0 -6 -2.68848 -6 -6v-20c0 -3.31152 2.68848 -6 6 -6z" />
    <glyph glyph-name="ambulance" unicode="&#xf0f9;" horiz-adv-x="640" 
d="M624 96c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-48c0 -53 -43 -96 -96 -96s-96 43 -96 96h-128c0 -53 -43 -96 -96 -96s-96 43 -96 96h-16c-26.5 0 -48 21.5 -48 48v320c0 26.5 21.5 48 48 48h320c26.5 0 48 -21.5 48 -48v-48h44.0996
c12.7002 0 24.9004 -5.09961 33.9004 -14.0996l99.9004 -99.9004c9 -9 14.0996 -21.2002 14.0996 -33.9004v-108.1h16zM160 -16c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM304 232v48c0 4.40039 -3.59961 8 -8 8h-56v56
c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-56h-56c-4.40039 0 -8 -3.59961 -8 -8v-48c0 -4.40039 3.59961 -8 8 -8h56v-56c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v56h56c4.40039 0 8 3.59961 8 8zM480 -16c26.5 0 48 21.5 48 48
s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM560 192v12.0996l-99.9004 99.9004h-44.0996v-112h144z" />
    <glyph glyph-name="medkit" unicode="&#xf0fa;" 
d="M96 -32v352h32v48c0 26.5098 21.4902 48 48 48h160c26.5098 0 48 -21.4902 48 -48v-48h32v-352h-320zM192 352v-32h128v32h-128zM512 272v-256c0 -26.5098 -21.4902 -48 -48 -48h-16v352h16c26.5098 0 48 -21.4902 48 -48zM64 -32h-16c-26.5098 0 -48 21.4902 -48 48v256
c0 26.5098 21.4902 48 48 48h16v-352zM352 176c0 8.83691 -7.16309 16 -16 16h-48v48c0 8.83691 -7.16309 16 -16 16h-32c-8.83691 0 -16 -7.16309 -16 -16v-48h-48c-8.83691 0 -16 -7.16309 -16 -16v-32c0 -8.83691 7.16309 -16 16 -16h48v-48
c0 -8.83691 7.16309 -16 16 -16h32c8.83691 0 16 7.16309 16 16v48h48c8.83691 0 16 7.16309 16 16v32z" />
    <glyph glyph-name="fighter-jet" unicode="&#xf0fb;" horiz-adv-x="640" 
d="M544 224c96 -21.333 96 -26.583 96 -32s0 -10.667 -96 -32l-128 -16l-48 -16h-24l-116.842 -148h39.5088c11.666 0 21.333 -2.625 21.333 -6s-9.66602 -6 -21.333 -6h-114.667v12h16v164h-48l-66.666 -80h-34.667l-10.667 10.667v69.333h8v16h48v2.66699l-64 8v42.667
l64 8v2.66602h-48v16h-8v69.333l10.667 10.667h34.666l66.667 -80h48v164h-16v12h114.667c11.666 0 21.333 -2.625 21.333 -6s-9.66699 -6 -21.333 -6h-39.5088l116.842 -148h24l48 -16z" />
    <glyph glyph-name="beer" unicode="&#xf0fc;" horiz-adv-x="448" 
d="M368 352c44.1123 0 80 -35.8877 80 -80v-128.86c0 -31.5273 -18.6035 -60.2031 -47.3936 -73.0527l-80.6064 -35.9766v-42.1104c0 -13.2549 -10.7451 -24 -24 -24h-272c-13.2549 0 -24 10.7451 -24 24v400c0 13.2549 10.7451 24 24 24h272c13.2549 0 24 -10.7451 24 -24
v-40h48zM384 143.14v128.86c0 8.82227 -7.17773 16 -16 16h-48v-183.805l54.5215 24.334c5.58789 2.49902 9.47363 8.09863 9.47852 14.6104zM208 64c8.83594 0 16 7.16406 16 16v224c0 8.83594 -7.16406 16 -16 16s-16 -7.16406 -16 -16v-224
c0 -8.83594 7.16406 -16 16 -16zM112 64c8.83594 0 16 7.16406 16 16v224c0 8.83594 -7.16406 16 -16 16s-16 -7.16406 -16 -16v-224c0 -8.83594 7.16406 -16 16 -16z" />
    <glyph glyph-name="h-square" unicode="&#xf0fd;" horiz-adv-x="448" 
d="M448 368v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48zM336 320h-32c-8.83691 0 -16 -7.16309 -16 -16v-80h-128v80c0 8.83691 -7.16309 16 -16 16h-32
c-8.83691 0 -16 -7.16309 -16 -16v-224c0 -8.83691 7.16309 -16 16 -16h32c8.83691 0 16 7.16309 16 16v80h128v-80c0 -8.83691 7.16309 -16 16 -16h32c8.83691 0 16 7.16309 16 16v224c0 8.83691 -7.16309 16 -16 16z" />
    <glyph glyph-name="plus-square" unicode="&#xf0fe;" horiz-adv-x="448" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM368 164v56c0 6.59961 -5.40039 12 -12 12h-92v92c0 6.59961 -5.40039 12 -12 12h-56c-6.59961 0 -12 -5.40039 -12 -12v-92h-92
c-6.59961 0 -12 -5.40039 -12 -12v-56c0 -6.59961 5.40039 -12 12 -12h92v-92c0 -6.59961 5.40039 -12 12 -12h56c6.59961 0 12 5.40039 12 12v92h92c6.59961 0 12 5.40039 12 12z" />
    <glyph glyph-name="angle-double-left" unicode="&#xf100;" horiz-adv-x="448" 
d="M223.7 209l136 136c9.39941 9.40039 24.5996 9.40039 33.8994 0l22.6006 -22.5996c9.39941 -9.40039 9.39941 -24.6006 0 -33.9004l-96.2998 -96.5l96.3994 -96.4004c9.40039 -9.39941 9.40039 -24.5996 0 -33.8994l-22.5996 -22.7002
c-9.40039 -9.40039 -24.6006 -9.40039 -33.9004 0l-136 136c-9.5 9.40039 -9.5 24.5996 -0.0996094 34zM31.7002 175c-9.40039 9.40039 -9.40039 24.5996 0.0996094 34l136 136c9.2998 9.40039 24.5 9.40039 33.9004 0l22.5996 -22.7002
c9.40039 -9.2998 9.40039 -24.5 0 -33.8994l-96.3994 -96.4004l96.2998 -96.5c9.39941 -9.2998 9.39941 -24.5 0 -33.9004l-22.6006 -22.5996c-9.2998 -9.40039 -24.5 -9.40039 -33.8994 0z" />
    <glyph glyph-name="angle-double-right" unicode="&#xf101;" horiz-adv-x="448" 
d="M224.3 175l-136 -136c-9.39941 -9.40039 -24.5996 -9.40039 -33.8994 0l-22.6006 22.5996c-9.39941 9.40039 -9.39941 24.6006 0 33.9004l96.4004 96.4004l-96.4004 96.3994c-9.39941 9.40039 -9.39941 24.6006 0 33.9004l22.5 22.7998
c9.40039 9.40039 24.6006 9.40039 33.9004 0l136 -136c9.5 -9.40039 9.5 -24.5996 0.0996094 -34zM416.3 209c9.40039 -9.40039 9.40039 -24.5996 0 -33.7998l-136 -136c-9.2998 -9.40039 -24.5 -9.40039 -33.8994 0l-22.6006 22.5996
c-9.39941 9.2998 -9.39941 24.5 0 33.9004l96.4004 96.3994l-96.4004 96.4004c-9.39941 9.2998 -9.39941 24.5 0 33.9004l22.6006 22.5996c9.2998 9.40039 24.5 9.40039 33.8994 0z" />
    <glyph glyph-name="angle-double-up" unicode="&#xf102;" horiz-adv-x="320" 
d="M177 192.3l136 -136c9.40039 -9.39941 9.40039 -24.5996 0 -33.8994l-22.5996 -22.6006c-9.40039 -9.39941 -24.6006 -9.39941 -33.9004 0l-96.5 96.2998l-96.4004 -96.3994c-9.39941 -9.40039 -24.5996 -9.40039 -33.8994 0l-22.7002 22.5996
c-9.40039 9.40039 -9.40039 24.6006 0 33.9004l136 136c9.40039 9.5 24.5996 9.5 34 0.0996094zM143 384.3c9.40039 9.40039 24.5996 9.40039 33.7998 0l136 -136c9.40039 -9.2998 9.40039 -24.5 0 -33.8994l-22.5996 -22.6006c-9.2998 -9.39941 -24.5 -9.39941 -33.9004 0
l-96.3994 96.4004l-96.4004 -96.4004c-9.2998 -9.39941 -24.5 -9.39941 -33.9004 0l-22.5996 22.6006c-9.40039 9.2998 -9.40039 24.5 0 33.8994z" />
    <glyph glyph-name="angle-double-down" unicode="&#xf103;" horiz-adv-x="320" 
d="M143 191.7l-136 136c-9.40039 9.39941 -9.40039 24.5996 0 33.8994l22.5996 22.6006c9.40039 9.39941 24.6006 9.39941 33.9004 0l96.4004 -96.4004l96.3994 96.4004c9.40039 9.39941 24.6006 9.39941 33.9004 0l22.7998 -22.5
c9.40039 -9.40039 9.40039 -24.6006 0 -33.9004l-136 -136c-9.40039 -9.5 -24.5996 -9.5 -34 -0.0996094zM177 -0.299805c-9.40039 -9.40039 -24.5996 -9.40039 -34 0.0996094l-136 136c-9.40039 9.2998 -9.40039 24.5 0 33.9004l22.7002 22.5996
c9.2998 9.40039 24.5 9.40039 33.8994 0l96.4004 -96.3994l96.5 96.2998c9.2998 9.39941 24.5 9.39941 33.9004 0l22.5996 -22.6006c9.40039 -9.2998 9.40039 -24.5 0 -33.8994z" />
    <glyph glyph-name="angle-left" unicode="&#xf104;" horiz-adv-x="256" 
d="M31.7002 209l136 136c9.39941 9.40039 24.5996 9.40039 33.8994 0l22.6006 -22.5996c9.39941 -9.40039 9.39941 -24.6006 0 -33.9004l-96.2998 -96.5l96.3994 -96.4004c9.40039 -9.39941 9.40039 -24.5996 0 -33.8994l-22.5996 -22.7002
c-9.40039 -9.40039 -24.6006 -9.40039 -33.9004 0l-136 136c-9.5 9.40039 -9.5 24.5996 -0.0996094 34z" />
    <glyph glyph-name="angle-right" unicode="&#xf105;" horiz-adv-x="256" 
d="M224.3 175l-136 -136c-9.39941 -9.40039 -24.5996 -9.40039 -33.8994 0l-22.6006 22.5996c-9.39941 9.40039 -9.39941 24.6006 0 33.9004l96.4004 96.4004l-96.4004 96.3994c-9.39941 9.40039 -9.39941 24.6006 0 33.9004l22.5 22.7998
c9.40039 9.40039 24.6006 9.40039 33.9004 0l136 -136c9.5 -9.40039 9.5 -24.5996 0.0996094 -34z" />
    <glyph glyph-name="angle-up" unicode="&#xf106;" horiz-adv-x="320" 
d="M177 288.3l136 -136c9.40039 -9.39941 9.40039 -24.5996 0 -33.8994l-22.5996 -22.6006c-9.40039 -9.39941 -24.6006 -9.39941 -33.9004 0l-96.5 96.2998l-96.4004 -96.3994c-9.39941 -9.40039 -24.5996 -9.40039 -33.8994 0l-22.7002 22.5996
c-9.40039 9.40039 -9.40039 24.6006 0 33.9004l136 136c9.40039 9.5 24.5996 9.5 34 0.0996094z" />
    <glyph glyph-name="angle-down" unicode="&#xf107;" horiz-adv-x="320" 
d="M143 95.7002l-136 136c-9.40039 9.39941 -9.40039 24.5996 0 33.8994l22.5996 22.6006c9.40039 9.39941 24.6006 9.39941 33.9004 0l96.4004 -96.4004l96.3994 96.4004c9.40039 9.39941 24.6006 9.39941 33.9004 0l22.5996 -22.6006
c9.40039 -9.39941 9.40039 -24.5996 0 -33.8994l-136 -136c-9.2002 -9.40039 -24.3994 -9.40039 -33.7998 0z" />
    <glyph glyph-name="desktop" unicode="&#xf108;" horiz-adv-x="576" 
d="M528 448c26.5 0 48 -21.5 48 -48v-320c0 -26.5 -21.5 -48 -48 -48h-192l16 -48h72c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24h-272c-13.2998 0 -24 10.7002 -24 24s10.7002 24 24 24h72l16 48h-192c-26.5 0 -48 21.5 -48 48v320c0 26.5 21.5 48 48 48h480z
M512 96v288h-448v-288h448z" />
    <glyph glyph-name="laptop" unicode="&#xf109;" horiz-adv-x="640" 
d="M624 32c8.7998 0 16 -7.2002 16 -16v-16c0 -35.2002 -28.7998 -64 -64 -64h-512c-35.2002 0 -64 28.7998 -64 64v16c0 8.7998 7.2002 16 16 16h239.23c-0.25 -14.5303 14.0791 -32 32.7695 -32h60.7998c18.0303 0 32 12.1904 32.7402 32h242.46zM576 400v-336h-512v336
c0 26.4004 21.5996 48 48 48h416c26.4004 0 48 -21.5996 48 -48zM512 128v256h-384v-256h384z" />
    <glyph glyph-name="tablet" unicode="&#xf10a;" horiz-adv-x="448" 
d="M400 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h352zM224 -32c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
    <glyph glyph-name="mobile" unicode="&#xf10b;" horiz-adv-x="320" 
d="M272 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-224c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h224zM160 -32c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
    <glyph glyph-name="quote-left" unicode="&#xf10d;" 
d="M464 192c26.5 0 48 -21.5 48 -48v-128c0 -26.5 -21.5 -48 -48 -48h-128c-26.5 0 -48 21.5 -48 48v240c0 88.4004 71.5996 160 160 160h8c13.2998 0 24 -10.7002 24 -24v-48c0 -13.2998 -10.7002 -24 -24 -24h-8c-35.2998 0 -64 -28.7002 -64 -64v-64h80zM176 192
c26.5 0 48 -21.5 48 -48v-128c0 -26.5 -21.5 -48 -48 -48h-128c-26.5 0 -48 21.5 -48 48v240c0 88.4004 71.5996 160 160 160h8c13.2998 0 24 -10.7002 24 -24v-48c0 -13.2998 -10.7002 -24 -24 -24h-8c-35.2998 0 -64 -28.7002 -64 -64v-64h80z" />
    <glyph glyph-name="quote-right" unicode="&#xf10e;" 
d="M464 416c26.5 0 48 -21.5 48 -48v-240c0 -88.4004 -71.5996 -160 -160 -160h-8c-13.2998 0 -24 10.7002 -24 24v48c0 13.2998 10.7002 24 24 24h8c35.2998 0 64 28.7002 64 64v64h-80c-26.5 0 -48 21.5 -48 48v128c0 26.5 21.5 48 48 48h128zM176 416
c26.5 0 48 -21.5 48 -48v-240c0 -88.4004 -71.5996 -160 -160 -160h-8c-13.2998 0 -24 10.7002 -24 24v48c0 13.2998 10.7002 24 24 24h8c35.2998 0 64 28.7002 64 64v64h-80c-26.5 0 -48 21.5 -48 48v128c0 26.5 21.5 48 48 48h128z" />
    <glyph glyph-name="spinner" unicode="&#xf110;" 
d="M304 400c0 -26.5098 -21.4902 -48 -48 -48s-48 21.4902 -48 48s21.4902 48 48 48s48 -21.4902 48 -48zM256 32c26.5098 0 48 -21.4902 48 -48s-21.4902 -48 -48 -48s-48 21.4902 -48 48s21.4902 48 48 48zM464 240c26.5098 0 48 -21.4902 48 -48s-21.4902 -48 -48 -48
s-48 21.4902 -48 48s21.4902 48 48 48zM96 192c0 -26.5098 -21.4902 -48 -48 -48s-48 21.4902 -48 48s21.4902 48 48 48s48 -21.4902 48 -48zM108.922 92.9219c26.5088 0 48 -21.4912 48 -48c0 -26.5098 -21.4902 -48 -48 -48s-48 21.4902 -48 48s21.4902 48 48 48z
M403.078 92.9219c26.5098 0 48 -21.4912 48 -48c0 -26.5098 -21.4902 -48 -48 -48s-48 21.4902 -48 48s21.4902 48 48 48zM108.922 387.078c26.5088 0 48 -21.4902 48 -48s-21.4902 -48 -48 -48s-48 21.4902 -48 48s21.4902 48 48 48z" />
    <glyph glyph-name="circle" unicode="&#xf111;" 
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248z" />
    <glyph glyph-name="smile" unicode="&#xf118;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM328 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM168 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32
s32 14.2998 32 32s-14.2998 32 -32 32zM362.8 101.8c13.5 16.2998 -11.2002 36.7002 -24.5996 20.5c-22.4004 -26.7998 -55.2002 -42.2002 -90.2002 -42.2002s-67.7998 15.3008 -90.2002 42.2002c-13.5996 16.2002 -38.2002 -4.2002 -24.5996 -20.5
c28.5 -34.2002 70.2998 -53.7998 114.8 -53.7998s86.2998 19.5996 114.8 53.7998z" />
    <glyph glyph-name="frown" unicode="&#xf119;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM328 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM168 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32
s32 14.2998 32 32s-14.2998 32 -32 32zM338.2 53.7998c13.5 -16.2998 38.0996 4.2002 24.5 20.4004c-28.4004 34.2002 -70.2998 53.7998 -114.7 53.7998s-86.2998 -19.5996 -114.8 -53.7002c-13.5 -16.2998 11.0996 -36.7998 24.5996 -20.5
c22.4004 26.7998 55.2998 42.2002 90.2002 42.2002s67.7998 -15.4004 90.2002 -42.2002z" />
    <glyph glyph-name="meh" unicode="&#xf11a;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM168 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM344 80c21.2002 0 21.2002 32 0 32h-192c-21.2002 0 -21.2002 -32 0 -32
h192zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
    <glyph glyph-name="gamepad" unicode="&#xf11b;" horiz-adv-x="640" 
d="M480.07 352c88.2842 -0.0263672 159.938 -71.7402 159.938 -160.03c0 -88.3066 -71.6934 -160 -160 -160c-44.7324 0 -85.2021 18.3965 -114.249 48.0303h-91.5195c-29.0469 -29.6338 -69.5078 -48 -114.24 -48c-88.3066 0 -160 71.6934 -160 160s71.6934 160 160 160
h320.07zM248 180v24c0 6.62305 -5.37695 12 -12 12h-52v52c0 6.62305 -5.37695 12 -12 12h-24c-6.62305 0 -12 -5.37695 -12 -12v-52h-52c-6.62305 0 -12 -5.37695 -12 -12v-24c0 -6.62305 5.37695 -12 12 -12h52v-52c0 -6.62305 5.37695 -12 12 -12h24
c6.62305 0 12 5.37695 12 12v52h52c6.62305 0 12 5.37695 12 12zM464 104c22.0762 0 40 17.9238 40 40s-17.9238 40 -40 40s-40 -17.9238 -40 -40s17.9238 -40 40 -40zM528 200c22.0762 0 40 17.9238 40 40s-17.9238 40 -40 40s-40 -17.9238 -40 -40s17.9238 -40 40 -40z
" />
    <glyph glyph-name="keyboard" unicode="&#xf11c;" horiz-adv-x="576" 
d="M528 0h-480c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h480c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48zM128 268v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40
c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM224 268v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM320 268v40c0 6.62695 -5.37305 12 -12 12h-40
c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM416 268v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM512 268v40
c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM176 172v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40
c6.62695 0 12 5.37305 12 12zM272 172v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM368 172v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40
c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM464 172v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM128 76v40c0 6.62695 -5.37305 12 -12 12h-40
c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM416 76v40c0 6.62695 -5.37305 12 -12 12h-232c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h232c6.62695 0 12 5.37305 12 12zM512 76v40
c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12z" />
    <glyph glyph-name="flag-checkered" unicode="&#xf11e;" 
d="M243.2 258.1c24.2002 -6.69922 47.5996 -16.3994 73.5996 -22.1992v-68.2002c-24.2998 6.7002 -47.5 16.3994 -73.5996 22.2998v68.0996zM466.5 381.1c21.2002 9.80078 45.5 -5.69922 45.4004 -29v-243.1c0 -10.5996 -5.10059 -20.4004 -13.8008 -26.4004
c-35.7998 -24.5996 -74.2998 -40.8994 -122.5 -40.8994c-67.3994 0 -111.6 34.7998 -165.199 34.7998c-50.8008 0 -86.1006 -10 -114.4 -22.0996v-94.4004c0 -13.2998 -10.7002 -24 -24 -24h-16c-13.2998 0 -24 10.7002 -24 24v386.1c-14.5 10.1006 -24 26.9004 -24 45.9004
c0 31.7002 26.2998 57.2998 58.2998 56c28.5 -1.2002 51.7998 -24 53.6006 -52.4004c0.5 -8.39941 -0.800781 -16.2998 -3.60059 -23.5996c20.7002 7.59961 43 12 68 12c67.4004 0 111.7 -34.7998 165.2 -34.7998c40.5 0 82.7002 16 117 31.8994zM169.6 122.5v71.2998
c-26.0996 -2.39941 -47.3994 -8.09961 -73.5996 -17.3994v-70.5c23.5996 8.39941 47.7998 13.8994 73.5996 16.5996zM464 257v70.5c-21.2998 -8.90039 -46.5996 -17.7002 -73.5996 -22.5v-71.9004c-26 -4.19922 -49.9004 -2.59961 -73.6006 2.7002v68.4004
c-26.3994 4.59961 -49.8994 13.8994 -73.5996 21.2998v-67.4004c-25.2002 7 -46.6006 9.40039 -73.6006 5.7002v71.6006c-23.5 -2.2002 -40.3994 -9.80078 -73.5996 -22v-70.5c29 10.6992 51.2002 17.7998 73.5996 20.8994v-70c32.8008 3 53.9004 0.600586 73.6006 -3.7998
v-68.5c26.2998 -4.59961 49.7002 -13.9004 73.5996 -21.2998v67.3994c25.7002 -7.09961 46.6006 -9.2998 73.6006 -5.59961v-71.5996c25.0996 2.39941 48.5 11 73.5996 27.0996v70.5c-22.2002 -14.2002 -48.7998 -22.5996 -73.5996 -26v71.0996
c27.2998 4.40039 50 14.1006 73.5996 23.9004z" />
    <glyph glyph-name="terminal" unicode="&#xf120;" horiz-adv-x="640" 
d="M257.981 175.029l-194.344 -194.344c-9.37305 -9.37207 -24.5684 -9.37207 -33.9404 0l-22.668 22.667c-9.35742 9.35742 -9.375 24.5225 -0.0400391 33.9014l154.021 154.746l-154.021 154.745c-9.33496 9.37891 -9.31738 24.5439 0.0400391 33.9014l22.667 22.667
c9.37305 9.37207 24.5684 9.37207 33.9404 0l194.344 -194.344c9.37207 -9.37207 9.37207 -24.5674 0 -33.9404zM640 -8c0 -13.2549 -10.7451 -24 -24 -24h-304c-13.2549 0 -24 10.7451 -24 24v32c0 13.2549 10.7451 24 24 24h304c13.2549 0 24 -10.7451 24 -24v-32z" />
    <glyph glyph-name="code" unicode="&#xf121;" horiz-adv-x="640" 
d="M278.9 -63.5l-61 17.7002c-6.40039 1.7998 -10 8.5 -8.2002 14.8994l136.5 470.2c1.7998 6.40039 8.5 10 14.8994 8.2002l61 -17.7002c6.40039 -1.7998 10 -8.5 8.2002 -14.8994l-136.5 -470.2c-1.89941 -6.40039 -8.5 -10.1006 -14.8994 -8.2002zM164.9 48.7002
c-4.5 -4.90039 -12.1006 -5.10059 -17 -0.5l-144.101 135.1c-5.09961 4.7002 -5.09961 12.7998 0 17.5l144.101 135c4.89941 4.60059 12.5 4.2998 17 -0.5l43.5 -46.3994c4.69922 -4.90039 4.2998 -12.7002 -0.800781 -17.2002l-90.5996 -79.7002l90.5996 -79.7002
c5.10059 -4.5 5.40039 -12.2998 0.800781 -17.2002zM492.1 48.0996c-4.89941 -4.5 -12.5 -4.2998 -17 0.600586l-43.5 46.3994c-4.69922 4.90039 -4.2998 12.7002 0.800781 17.2002l90.5996 79.7002l-90.5996 79.7998c-5.10059 4.5 -5.40039 12.2998 -0.800781 17.2002
l43.5 46.4004c4.60059 4.7998 12.2002 5 17 0.5l144.101 -135.2c5.09961 -4.7002 5.09961 -12.7998 0 -17.5z" />
    <glyph glyph-name="reply-all" unicode="&#xf122;" horiz-adv-x="576" 
d="M136.309 258.164l176.005 151.985c15.4062 13.3047 39.6865 2.50293 39.6865 -18.1641v-82.7637c129.182 -10.2305 224 -52.2119 224 -183.548c0 -61.4404 -39.582 -122.309 -83.333 -154.132c-13.6533 -9.93066 -33.1113 2.5332 -28.0771 18.6309
c38.5117 123.162 -3.92188 169.482 -112.59 182.016v-84.1758c0 -20.7012 -24.2998 -31.4531 -39.6865 -18.1641l-176.005 151.987c-11.0703 9.56152 -11.0859 26.7529 0 36.3281zM8.30859 221.836c-11.0703 9.56152 -11.0859 26.7529 0 36.3281l176.005 151.985
c15.4062 13.3047 39.6865 2.50293 39.6865 -18.1641v-15.8174l-108.607 -93.7861c-11.8906 -10.2637 -19.3926 -25.4307 -19.3926 -42.3564v-0.0234375c0 -0.0078125 -0.0292969 -0.00292969 -0.0292969 -0.0117188c0 -16.9268 7.53125 -32.1084 19.4229 -42.373
l108.606 -93.7852v-15.8184c0 -20.7002 -24.2998 -31.4531 -39.6865 -18.1641z" />
    <glyph glyph-name="location-arrow" unicode="&#xf124;" 
d="M444.52 444.48c38.3809 16 79.9609 -25.5801 63.9707 -63.9707l-191.9 -415.779c-22.3896 -47.9805 -92.75 -31.9805 -92.75 19.1895v175.91h-175.91c-51.1699 0 -67.1602 70.3604 -19.1895 92.75z" />
    <glyph glyph-name="crop" unicode="&#xf125;" 
d="M488 96c13.25 0 24 -10.7402 24 -24v-48c0 -13.25 -10.75 -24 -24 -24h-40v-40c0 -13.25 -10.75 -24 -24 -24h-48c-13.25 0 -24 10.75 -24 24v282.75l-146.75 -146.75h114.75v-96h-232c-13.25 0 -24 10.75 -24 24v264h-40c-13.25 0 -24 10.75 -24 24v48
c0 13.2598 10.75 24 24 24h40v40c0 13.2598 10.75 24 24 24h48c13.25 0 24 -10.7402 24 -24v-282.75l146.75 146.75h-114.75v96h210.75l59.3096 59.3096c6.25 6.25 16.3809 6.25 22.6309 0l22.6191 -22.6191c6.25 -6.25 6.25 -16.3809 0 -22.6309l-59.3096 -59.3096v-242.75
h40z" />
    <glyph glyph-name="code-branch" unicode="&#xf126;" horiz-adv-x="384" 
d="M384 304c0 -35.2002 -22.7998 -65.0996 -54.4004 -75.9004c-0.5 -28.0996 -7.59961 -50.5 -21.5996 -67.8994c-28.2002 -35 -76 -39.5 -118.2 -43.4004c-25.7002 -2.39941 -49.8994 -4.59961 -66.0996 -12.7998c-7.10059 -3.59961 -11.7998 -8.2002 -14.9004 -13.4004
c30 -11.5 51.2002 -40.5996 51.2002 -74.5996c0 -44.2002 -35.7998 -80 -80 -80s-80 35.7998 -80 80c0 35.7998 23.5 66.0996 56 76.4004v199.3c-32.5 10.2002 -56 40.5 -56 76.2998c0 44.2002 35.7998 80 80 80s80 -35.7998 80 -80c0 -35.7998 -23.5 -66.0996 -56 -76.2998
v-144c23.9004 11.5 53.0996 14.2998 81.2998 16.8994c35.9004 3.30078 69.7998 6.5 85.2002 25.7002c6.7998 8.40039 10.4004 20.7998 11 36.9004c-33.2002 9.7002 -57.5 40.3994 -57.5 76.7998c0 44.2002 35.7998 80 80 80s80 -35.7998 80 -80zM80 384
c-8.7998 0 -16 -7.2002 -16 -16s7.2002 -16 16 -16s16 7.2002 16 16s-7.2002 16 -16 16zM80 0c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM304 320c-8.7998 0 -16 -7.2002 -16 -16s7.2002 -16 16 -16s16 7.2002 16 16
s-7.2002 16 -16 16z" />
    <glyph glyph-name="unlink" unicode="&#xf127;" 
d="M304.083 42.0928c4.68555 -4.68555 4.68555 -12.2842 0 -16.9707l-44.6738 -44.6738c-59.2627 -59.2627 -155.693 -59.2666 -214.961 0c-59.2646 59.2646 -59.2646 155.695 0 214.96l44.6748 44.6748c4.68555 4.68555 12.2842 4.68555 16.9707 0l39.5986 -39.5977
c4.68555 -4.68652 4.68555 -12.2842 0 -16.9717l-44.6758 -44.6738c-28.0713 -28.0732 -28.0713 -73.75 0 -101.823c28.0723 -28.0713 73.75 -28.0723 101.824 0l44.6738 44.6748c4.68652 4.68555 12.2842 4.68555 16.9717 0zM247.515 302.309l-39.5967 39.5986
c-4.68555 4.68652 -4.68555 12.2852 0 16.9707l44.6738 44.6738c59.2666 59.2646 155.695 59.2646 214.961 0s59.2656 -155.694 0 -214.96l-44.6748 -44.6748c-4.68652 -4.68555 -12.2852 -4.68555 -16.9707 0l-39.5986 39.5977c-4.68555 4.6875 -4.68555 12.2852 0 16.9717
l44.6758 44.6738c28.0713 28.0732 28.0713 73.75 0 101.823c-28.0742 28.0723 -73.752 28.0742 -101.824 0l-44.6738 -44.6748c-4.6875 -4.68555 -12.2852 -4.68555 -16.9717 0zM482.343 -56.9707c-9.37207 -9.37207 -24.5674 -9.37207 -33.9404 0l-441.373 441.373
c-9.37305 9.37207 -9.37305 24.5674 0 33.9404l22.6279 22.6279c9.37207 9.37305 24.5674 9.37305 33.9404 0l441.372 -441.374c9.37305 -9.37207 9.37305 -24.5674 0 -33.9404z" />
    <glyph glyph-name="question" unicode="&#xf128;" horiz-adv-x="384" 
d="M202.021 448c84.8809 0 175.482 -66.2559 175.481 -153.6c0 -115.982 -125.268 -117.768 -125.268 -160.627v-5.77344c0 -13.2549 -10.7451 -24 -24 -24h-72.4717c-13.2549 0 -24 10.7451 -24 24v9.78809c0 61.8291 46.876 86.5449 82.2998 106.405
c30.376 17.0293 48.9922 28.6113 48.9922 51.1641c0 29.832 -38.0518 49.6309 -68.8154 49.6309c-39.127 0 -57.708 -18.0684 -82.7568 -49.4492c-8.12109 -10.1738 -22.8809 -12.0127 -33.2529 -4.14844l-43.1387 32.709c-10.2705 7.78809 -12.541 22.2939 -5.17773 32.874
c40.5889 58.3232 92.2881 91.0264 172.107 91.0264zM192 74.541c38.1963 0 69.2715 -31.0742 69.2715 -69.2695c0 -38.1963 -31.0752 -69.2715 -69.2715 -69.2715s-69.2715 31.0752 -69.2715 69.2695c0 38.1963 31.0752 69.2715 69.2715 69.2715z" />
    <glyph glyph-name="info" unicode="&#xf129;" horiz-adv-x="192" 
d="M20 23.7715h20v144.457h-20c-11.0459 0 -20 8.9541 -20 20v47.7715c0 11.0459 8.9541 20 20 20h112c11.0459 0 20 -8.9541 20 -20v-212.229h20c11.0459 0 20 -8.9541 20 -20v-47.7715c0 -11.0459 -8.9541 -20 -20 -20h-152c-11.0459 0 -20 8.9541 -20 20v47.7715
c0 11.0459 8.9541 20 20 20zM96 448c39.7637 0 72 -32.2354 72 -72s-32.2354 -72 -72 -72s-72 32.2354 -72 72s32.2354 72 72 72z" />
    <glyph glyph-name="exclamation" unicode="&#xf12a;" horiz-adv-x="192" 
d="M176 16c0 -44.1123 -35.8877 -80 -80 -80s-80 35.8877 -80 80s35.8877 80 80 80s80 -35.8877 80 -80zM25.2598 422.801c-0.68457 13.709 10.2441 25.1992 23.9707 25.1992h93.5391c13.7266 0 24.6553 -11.4902 23.9707 -25.1992l-13.6006 -272
c-0.638672 -12.7725 -11.1807 -22.8008 -23.9697 -22.8008h-66.3398c-12.7891 0 -23.3311 10.0283 -23.9697 22.8008z" />
    <glyph glyph-name="superscript" unicode="&#xf12b;" 
d="M496 288c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-96c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h16v96h-16c-8.82422 0.0078125 -15.9775 7.18945 -15.9775 16.0156c0 2.57129 0.608398 5.00098 1.6875 7.1543l16 32
c2.62598 5.23926 8.03613 8.8252 14.29 8.83008h48c8.83105 0 16 -7.16895 16 -16v-144h16zM336 384c8.83105 0 16 -7.16895 16 -16v-48c0 -8.83105 -7.16895 -16 -16 -16h-33.4805l-77.8096 -112l77.8096 -112h33.4805c8.83105 0 16 -7.16895 16 -16v-48
c0 -8.83105 -7.16895 -16 -16 -16h-67c-5.41113 0.0273438 -10.1836 2.73047 -13.0596 6.87012l-79.9004 115l-79.9004 -115c-2.89062 -4.16016 -7.69531 -6.87012 -13.1396 -6.87012h-67c-8.83105 0 -16 7.16895 -16 16v48c0 8.83105 7.16895 16 16 16h33.4805l77.8096 112
l-77.8096 112h-33.4805c-8.83105 0 -16 7.16895 -16 16v48c0 8.83105 7.16895 16 16 16h67c5.41113 -0.0273438 10.1836 -2.73047 13.0596 -6.87012l79.9004 -115l79.9004 115c2.89062 4.16016 7.69531 6.87012 13.1396 6.87012h67z" />
    <glyph glyph-name="subscript" unicode="&#xf12c;" 
d="M496 0c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-96c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h16v96h-16c-8.82422 0.0078125 -15.9775 7.18945 -15.9775 16.0156c0 2.57129 0.608398 5.00098 1.6875 7.1543l16 32
c2.62598 5.23926 8.03613 8.8252 14.29 8.83008h48c8.83105 0 16 -7.16895 16 -16v-144h16zM336 384c8.83105 0 16 -7.16895 16 -16v-48c0 -8.83105 -7.16895 -16 -16 -16h-33.4805l-77.8096 -112l77.8096 -112h33.4805c8.83105 0 16 -7.16895 16 -16v-48
c0 -8.83105 -7.16895 -16 -16 -16h-67c-5.41113 0.0273438 -10.1836 2.73047 -13.0596 6.87012l-79.9004 115l-79.9004 -115c-2.89062 -4.16016 -7.69531 -6.87012 -13.1396 -6.87012h-67c-8.83105 0 -16 7.16895 -16 16v48c0 8.83105 7.16895 16 16 16h33.4805l77.8096 112
l-77.8096 112h-33.4805c-8.83105 0 -16 7.16895 -16 16v48c0 8.83105 7.16895 16 16 16h67c5.41113 -0.0273438 10.1836 -2.73047 13.0596 -6.87012l79.9004 -115l79.9004 115c2.89062 4.16016 7.69531 6.87012 13.1396 6.87012h67z" />
    <glyph glyph-name="eraser" unicode="&#xf12d;" 
d="M497.941 174.059l-142.059 -142.059h144.117c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-356c-13.2461 0 -25.2529 5.37012 -33.9424 14.0586l-96 96c-18.7441 18.7451 -18.7441 49.1377 0 67.8828l256 256
c18.7471 18.7451 49.1387 18.7441 67.8838 0l160 -160c18.7441 -18.7451 18.7441 -49.1377 0 -67.8828zM195.314 236.686l-124.687 -124.686l80 -80h114.745l67.3135 67.3135z" />
    <glyph glyph-name="puzzle-piece" unicode="&#xf12e;" horiz-adv-x="576" 
d="M519.442 159.349c37.5957 0 56.5576 -31.5928 56.5576 -65.792c0 -33.5469 -19.2881 -61.5566 -54.9229 -61.5557c-39.8848 0 -50.3457 36.1523 -86.3086 36.1523c-60.5518 0 -25.8262 -120.102 -25.8262 -120.102c-51.5557 0 -181.23 -35.0732 -181.23 25.7305
c0 35.8271 36.2881 46.25 36.2881 85.9844c0 35.501 -28.1152 54.7178 -61.7881 54.7178c-34.3271 0 -63.5771 -18.8906 -63.5771 -56.3467c0 -41.3633 40 -58.998 40 -81.4707c0 -69.709 -178.635 -28.6621 -178.635 -28.6621v333.237s175.885 -40.9609 175.884 28.6621
c0 22.4727 -31.7109 40.3857 -31.7109 81.75c0 37.4551 31.7119 56.3457 66.3662 56.3457c33.3457 0 61.4609 -19.2158 61.4609 -54.7178c0 -39.7354 -36.2881 -50.1582 -36.2881 -85.9854c0 -83.2969 196.288 -3.29688 196.288 -3.29688
s-54.5908 -176.244 5.38379 -176.244c22.5586 0 40.5391 31.5928 82.0586 31.5928z" />
    <glyph glyph-name="microphone" unicode="&#xf130;" horiz-adv-x="352" 
d="M176 96c-53.0195 0 -96 42.9805 -96 96v160c0 53.0195 42.9805 96 96 96s96 -42.9805 96 -96v-160c0 -53.0195 -42.9805 -96 -96 -96zM336 256c8.83984 0 16 -7.16016 16 -16v-48c0 -88.9004 -66.29 -162.47 -152 -174.23v-33.7695h56c8.83984 0 16 -7.16016 16 -16v-16
c0 -8.83984 -7.16016 -16 -16 -16h-160c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h56v34.1504c-88.0303 12.1396 -152 92.0498 -152 181.689v40.1602c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-42.2998
c0 -66.8105 48.71 -126.59 115.21 -133.08c76.2998 -7.44043 140.79 52.5801 140.79 127.38v48c0 8.83984 7.16016 16 16 16h16z" />
    <glyph glyph-name="microphone-slash" unicode="&#xf131;" horiz-adv-x="640" 
d="M633.82 -10.0996c6.97949 -5.43066 8.22949 -15.4805 2.81934 -22.4502l-19.6396 -25.2705c-5.42969 -6.97949 -15.4805 -8.23926 -22.46 -2.80957l-588.36 454.729c-6.97949 5.43066 -8.22949 15.4805 -2.80957 22.4502l19.6396 25.2705
c5.41992 6.97949 15.4805 8.22949 22.46 2.80957l178.54 -137.99v45.3604c0 53.0195 42.9805 96 96 96c53.0205 0 96 -42.9805 96 -96v-160.01c0 -10.4502 -2.17969 -20.2705 -5.2793 -29.6699l26.5498 -20.5205c6.75977 15.4004 10.7197 32.2803 10.7197 50.2002v48
c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-48c0 -29.0098 -7.38965 -56.1299 -19.9805 -80.1396zM400 -16c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16h-160c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h56
v34.1504c-88.0303 12.1396 -152 92.0498 -152 181.689v6.85059l52.0303 -40.2305c12.4395 -53.2197 55.3301 -96.4004 111.18 -101.85c6.94043 -0.669922 13.6396 -0.200195 20.3496 0.199219l50.1104 -38.7295c-10.8203 -3.77051 -22.0098 -6.70996 -33.6699 -8.31055
v-33.7695h56z" />
    <glyph glyph-name="calendar" unicode="&#xf133;" horiz-adv-x="448" 
d="M12 256h424c6.59961 0 12 -5.40039 12 -12v-260c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v260c0 6.59961 5.40039 12 12 12zM448 300c0 -6.59961 -5.40039 -12 -12 -12h-424c-6.59961 0 -12 5.40039 -12 12v36c0 26.5 21.5 48 48 48h48v52
c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48v-36z" />
    <glyph glyph-name="fire-extinguisher" unicode="&#xf134;" horiz-adv-x="448" 
d="M434.027 421.671c7.31445 1.21875 13.9727 -4.4209 13.9727 -11.8369v-115.668c0 -7.41602 -6.6582 -13.0557 -13.9727 -11.8369l-168 28c-11.7305 1.95508 -10.0273 14.6973 -10.0273 17.6709h-40v-27.0303c41.4043 -10.6582 72 -48.2383 72 -92.9697v-248
c0 -13.2549 -10.7451 -24 -24 -24h-144c-13.2549 0 -24 10.7451 -24 24v246.795c0 44.8945 30.457 83.2666 72 94.1289v27.0762c-61.0361 0 -92.9424 7.00977 -121.711 -64.9141c-4.91699 -12.2949 -18.8789 -18.2959 -31.1963 -13.3701
c-12.3066 4.92285 -18.293 18.8906 -13.3701 31.1973c14.668 36.6709 38.0107 77.833 90.0498 90.8838c-14.1406 36.5273 12.793 76.2031 52.2275 76.2031c37.4463 0 64.3525 -36.1084 53.668 -72h58.332c0 4.2002 -1.30664 15.7822 10.0273 17.6709zM144 376
c8.82227 0 16 7.17773 16 16s-7.17773 16 -16 16s-16 -7.17773 -16 -16s7.17773 -16 16 -16z" />
    <glyph glyph-name="rocket" unicode="&#xf135;" 
d="M505.12 428.906c6.95508 -32.2031 6.95508 -57.4062 6.86133 -82.6094c0 -102.688 -55.4375 -164.781 -128.035 -211.094v-104.438c0 -16.3594 -11.8789 -35.5625 -26.5078 -42.8594l-98.7275 -49.3906c-3.27441 -1.48047 -6.91699 -2.375 -10.707 -2.51562
c-13.2471 0.00195312 -24.002 10.7539 -24.0059 24v103.844l-22.4746 -22.4688c-13.1211 -13.1562 -34.1211 -11.1875 -45.2773 0l-50.9043 50.9062c-12.9961 12.9922 -11.3652 33.8887 0 45.25l22.4746 22.4688h-103.811c-13.2461 0.00195312 -24.001 10.7539 -24.0059 24
c0.136719 3.79004 1.03223 7.43164 2.51562 10.7031l49.4355 98.8125c7.33008 14.6094 26.5391 26.4688 42.8867 26.4844h104.215c46.2168 72.7969 108.122 128 211.354 128c25.0996 0 50.3086 0 82.5059 -6.90625c5.54883 -1.1875 11.0176 -6.65625 12.207 -12.1875z
M384.04 280c22.0752 0.0078125 39.9971 17.9258 40.0098 40c0 22.0762 -17.9229 40 -40 40c-22.0762 0 -40 -17.9238 -40 -40c0 -22.0732 17.918 -39.9951 39.9902 -40z" />
    <glyph glyph-name="chevron-circle-left" unicode="&#xf137;" 
d="M256 -56c-137 0 -248 111 -248 248s111 248 248 248s248 -111 248 -248s-111 -248 -248 -248zM142.1 175l135.5 -135.5c9.40039 -9.40039 24.6006 -9.40039 33.9004 0l17 17c9.40039 9.40039 9.40039 24.5996 0 33.9004l-101.6 101.6l101.6 101.6
c9.40039 9.40039 9.40039 24.6006 0 33.9004l-17 17c-9.40039 9.40039 -24.5996 9.40039 -33.9004 0l-135.5 -135.5c-9.39941 -9.40039 -9.39941 -24.5996 0 -34z" />
    <glyph glyph-name="chevron-circle-right" unicode="&#xf138;" 
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM369.9 209l-135.5 135.5c-9.40039 9.40039 -24.6006 9.40039 -33.9004 0l-17 -17c-9.40039 -9.40039 -9.40039 -24.5996 0 -33.9004l101.6 -101.6l-101.6 -101.6
c-9.40039 -9.40039 -9.40039 -24.6006 0 -33.9004l17 -17c9.40039 -9.40039 24.5996 -9.40039 33.9004 0l135.5 135.5c9.39941 9.40039 9.39941 24.5996 0 34z" />
    <glyph glyph-name="chevron-circle-up" unicode="&#xf139;" 
d="M8 192c0 137 111 248 248 248s248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248zM239 305.9l-135.5 -135.5c-9.40039 -9.40039 -9.40039 -24.6006 0 -33.9004l17 -17c9.40039 -9.40039 24.5996 -9.40039 33.9004 0l101.6 101.6l101.6 -101.6
c9.40039 -9.40039 24.6006 -9.40039 33.9004 0l17 17c9.40039 9.40039 9.40039 24.5996 0 33.9004l-135.5 135.5c-9.40039 9.39941 -24.5996 9.39941 -34 0z" />
    <glyph glyph-name="chevron-circle-down" unicode="&#xf13a;" 
d="M504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM273 78.0996l135.5 135.5c9.40039 9.40039 9.40039 24.6006 0 33.9004l-17 17c-9.40039 9.40039 -24.5996 9.40039 -33.9004 0l-101.6 -101.6l-101.6 101.6
c-9.40039 9.40039 -24.6006 9.40039 -33.9004 0l-17 -17c-9.40039 -9.40039 -9.40039 -24.5996 0 -33.9004l135.5 -135.5c9.40039 -9.39941 24.5996 -9.39941 34 0z" />
    <glyph glyph-name="anchor" unicode="&#xf13d;" horiz-adv-x="576" 
d="M12.9707 96c-10.6904 0 -16.0449 12.9258 -8.48535 20.4854l67.0283 67.0283c4.6875 4.68652 12.2852 4.68652 16.9717 0l67.0283 -67.0283c7.56055 -7.55957 2.20605 -20.4854 -8.48438 -20.4854h-35.1465c20.2969 -54.3359 85.1816 -86.6162 144.117 -94.0146v190.015
h-52c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h52v5.46973c-37.2842 13.1807 -64 48.7324 -64 90.5303c0 53.4746 43.7227 96.7393 97.3701 95.9902c52.2354 -0.728516 94.6348 -43.7627 94.6289 -96.002
c-0.00488281 -41.793 -26.7188 -77.3398 -64 -90.5186v-5.46973h52c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-52v-190.015c59.1543 7.42676 123.827 39.6973 144.117 94.0146h-35.1465c-10.6904 0 -16.0449 12.9248 -8.48438 20.4854
l67.0283 67.0283c4.6875 4.68652 12.2852 4.68652 16.9717 0l67.0283 -67.0283c7.56055 -7.55957 2.20605 -20.4854 -8.48438 -20.4854h-32.3945c-21.7822 -102.62 -136.406 -160 -242.635 -160c-106.056 0 -220.828 57.2646 -242.635 160h-32.3945zM288 384
c-17.6445 0 -32 -14.3555 -32 -32s14.3555 -32 32 -32s32 14.3555 32 32s-14.3555 32 -32 32z" />
    <glyph glyph-name="unlock-alt" unicode="&#xf13e;" horiz-adv-x="448" 
d="M400 192c26.5 0 48 -21.5 48 -48v-160c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v160c0 26.5 21.5 48 48 48h24v102.5c0 84 67.5 153.2 151.5 153.5s152.5 -68 152.5 -152v-16c0 -13.2998 -10.7002 -24 -24 -24h-32c-13.2998 0 -24 10.7002 -24 24v16
c0 39.9004 -32.7002 72.4004 -72.7002 72c-39.5996 -0.400391 -71.2998 -33.2998 -71.2998 -72.9004v-103.1h248zM264 40v48c0 22.0996 -17.9004 40 -40 40s-40 -17.9004 -40 -40v-48c0 -22.0996 17.9004 -40 40 -40s40 17.9004 40 40z" />
    <glyph glyph-name="bullseye" unicode="&#xf140;" horiz-adv-x="496" 
d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM248 8c101.71 0 184 82.3096 184 184c0 101.71 -82.3096 184 -184 184c-101.71 0 -184 -82.3096 -184 -184c0 -101.71 82.3096 -184 184 -184zM248 320
c70.6904 0 128 -57.3096 128 -128s-57.3096 -128 -128 -128s-128 57.3096 -128 128s57.3096 128 128 128zM248 128c35.29 0 64 28.71 64 64s-28.71 64 -64 64s-64 -28.71 -64 -64s28.71 -64 64 -64z" />
    <glyph glyph-name="ellipsis-h" unicode="&#xf141;" 
d="M328 192c0 -39.7998 -32.2002 -72 -72 -72s-72 32.2002 -72 72s32.2002 72 72 72s72 -32.2002 72 -72zM432 264c39.7998 0 72 -32.2002 72 -72s-32.2002 -72 -72 -72s-72 32.2002 -72 72s32.2002 72 72 72zM80 264c39.7998 0 72 -32.2002 72 -72s-32.2002 -72 -72 -72
s-72 32.2002 -72 72s32.2002 72 72 72z" />
    <glyph glyph-name="ellipsis-v" unicode="&#xf142;" horiz-adv-x="192" 
d="M96 264c39.7998 0 72 -32.2002 72 -72s-32.2002 -72 -72 -72s-72 32.2002 -72 72s32.2002 72 72 72zM24 368c0 39.7998 32.2002 72 72 72s72 -32.2002 72 -72s-32.2002 -72 -72 -72s-72 32.2002 -72 72zM24 16c0 39.7998 32.2002 72 72 72s72 -32.2002 72 -72
s-32.2002 -72 -72 -72s-72 32.2002 -72 72z" />
    <glyph glyph-name="rss-square" unicode="&#xf143;" horiz-adv-x="448" 
d="M400 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352zM112 32c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM269.533 32
c6.53516 0 11.7764 5.46777 11.4248 11.9941c-5.9668 110.428 -94.418 198.99 -204.964 204.964c-6.52637 0.351562 -11.9941 -4.88965 -11.9941 -11.4248v-34.335c0 -6.00977 4.63574 -11.0508 10.6328 -11.4414c79.8799 -5.20312 143.909 -69.0732 149.123 -149.123
c0.391602 -5.99805 5.43066 -10.6338 11.4424 -10.6338h34.335zM372.56 32c6.4541 0 11.6641 5.33789 11.4326 11.7871c-5.99512 167.014 -140.375 302.18 -308.205 308.205c-6.44922 0.231445 -11.7871 -4.97852 -11.7871 -11.4326v-34.334
c0 -6.16016 4.88184 -11.1748 11.0391 -11.4277c136.556 -5.59863 246.162 -115.225 251.76 -251.76c0.251953 -6.15625 5.2666 -11.0381 11.4268 -11.0381h34.334z" />
    <glyph glyph-name="play-circle" unicode="&#xf144;" 
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM371.7 168c16.3994 9.09961 16.3994 32.7998 0 42l-176 107c-15.9004 8.7998 -35.7002 -2.59961 -35.7002 -21v-208c0 -18.5 19.9004 -29.7998 35.7002 -21z" />
    <glyph glyph-name="minus-square" unicode="&#xf146;" horiz-adv-x="448" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM92 152h264c6.59961 0 12 5.40039 12 12v56c0 6.59961 -5.40039 12 -12 12h-264c-6.59961 0 -12 -5.40039 -12 -12v-56
c0 -6.59961 5.40039 -12 12 -12z" />
    <glyph glyph-name="check-square" unicode="&#xf14a;" horiz-adv-x="448" 
d="M400 -32h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48zM195.314 66.0586l184 184c6.24707 6.24805 6.24707 16.3799 0 22.627l-22.6279 22.6279
c-6.24707 6.24707 -16.3789 6.24805 -22.6279 0l-150.059 -150.059l-70.0586 70.0596c-6.24805 6.24707 -16.3799 6.24707 -22.6279 0l-22.6279 -22.6279c-6.24707 -6.24707 -6.24707 -16.3789 0 -22.627l104 -104c6.24902 -6.25 16.3799 -6.25 22.6289 -0.000976562z" />
    <glyph glyph-name="pen-square" unicode="&#xf14b;" horiz-adv-x="448" 
d="M400 -32h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48zM238.1 270.1l-135.699 -135.699l-6.30078 -57.1006c-0.799805 -7.59961 5.60059 -14.0996 13.3008 -13.2998l57.0996 6.2998l135.7 135.7
c2.2998 2.2998 2.2998 6.09961 0 8.5l-55.5 55.5c-2.5 2.40039 -6.2998 2.40039 -8.60059 0.0996094zM345 282.9l-30.0996 30.0996c-9.40039 9.40039 -24.6006 9.40039 -33.9004 0l-23.0996 -23.0996c-2.30078 -2.30078 -2.30078 -6.10059 0 -8.5l55.5 -55.5
c2.2998 -2.30078 6.09961 -2.30078 8.5 0l23.0996 23.0996c9.2998 9.2998 9.2998 24.5 0 33.9004z" />
    <glyph glyph-name="share-square" unicode="&#xf14d;" horiz-adv-x="576" 
d="M568.482 270.552l-144.004 -135.984c-15.1787 -14.335 -40.4785 -3.70703 -40.4785 17.4473v71.9629c-144.575 -0.969727 -205.566 -35.1123 -164.775 -171.353c4.4834 -14.9727 -12.8457 -26.5674 -25.0059 -17.3301
c-38.9668 29.5996 -74.2188 86.2168 -74.2188 143.366c0 143.937 117.599 172.5 264 173.312v72.0156c0 21.1738 25.3174 31.7676 40.4785 17.4473l144.004 -135.987c10.0195 -9.46289 10.0273 -25.4248 0 -34.8965zM384 68.8721c0 7.34473 6.53027 12.9053 13.7998 11.8594
c3.36816 -0.485352 6.75977 -0.711914 10.2607 -0.711914c8.3877 0 16.4424 1.44043 23.9287 4.08887c7.81348 2.76367 16.0107 -3.01465 16.0107 -11.3027v-88.8057c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48
h121.033c12.5508 0 16.6748 -16.8301 5.54492 -22.6309c-18.7773 -9.78613 -36.0615 -22.1084 -51.0137 -37.6758c-2.18164 -2.27637 -5.25098 -3.69141 -8.64844 -3.69336h-50.916v-320h320v68.8721z" />
    <glyph glyph-name="compass" unicode="&#xf14e;" horiz-adv-x="496" 
d="M225.38 214.63c12.4902 12.4902 32.75 12.4902 45.25 0s12.5 -32.75 0 -45.25c-12.4902 -12.5 -32.7598 -12.5 -45.25 0c-12.5 12.4902 -12.5 32.75 0 45.25zM248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248z
M374.14 291.95c7.61035 16.6494 -9.54004 33.7998 -26.1895 26.2002l-144.34 -65.9707c-6.98438 -3.19238 -12.5781 -8.78516 -15.7705 -15.7695l-65.9795 -144.351c-7.61035 -16.6494 9.5498 -33.8096 26.1992 -26.1992l144.341 65.9697
c6.9834 3.19238 12.5771 8.78613 15.7695 15.7695z" />
    <glyph glyph-name="caret-square-down" unicode="&#xf150;" horiz-adv-x="448" 
d="M448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM92.5 227.5l123 -123c4.7002 -4.7002 12.2998 -4.7002 17 0l123 123c7.59961 7.59961 2.2002 20.5 -8.5 20.5h-246
c-10.7002 0 -16.0996 -12.9004 -8.5 -20.5z" />
    <glyph glyph-name="caret-square-up" unicode="&#xf151;" horiz-adv-x="448" 
d="M0 16v352c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48zM355.515 156.485l-123.029 123.029c-4.68652 4.68652 -12.2842 4.68652 -16.9717 0l-123.028 -123.029
c-7.56055 -7.56055 -2.20605 -20.4854 8.48438 -20.4854h246.06c10.6904 0 16.0449 12.9258 8.48535 20.4854z" />
    <glyph glyph-name="caret-square-right" unicode="&#xf152;" horiz-adv-x="448" 
d="M48 416h352c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48zM188.485 60.4854l123.028 123.028c4.68652 4.68652 4.68652 12.2842 0 16.9717l-123.028 123.029
c-7.56055 7.56055 -20.4854 2.20605 -20.4854 -8.48438v-246.06c0 -10.6904 12.9258 -16.0449 20.4854 -8.48535z" />
    <glyph glyph-name="euro-sign" unicode="&#xf153;" horiz-adv-x="320" 
d="M310.706 34.2354l8.81836 -44.4902c1.23828 -6.24902 -2.62109 -12.3623 -8.78809 -13.957c-12.5391 -3.24414 -34.8008 -7.78809 -61.1016 -7.78809c-104.371 0 -182.496 65.3076 -207.521 155.64h-30.1143c-6.62695 0 -12 5.37305 -12 12v28.3604
c0 6.62695 5.37305 12 12 12h21.3877c-1 12.958 -0.828125 28.6377 0.181641 42.2451h-21.5693c-6.62695 0 -12 5.37305 -12 12v29.7549c0 6.62695 5.37305 12 12 12h33.0752c28.9551 83.748 107.376 144 204.56 144c21.0752 0 40.582 -2.91211 52.6865 -5.20703
c6.86035 -1.30078 11.1475 -8.17578 9.32617 -14.917l-11.9912 -44.3682c-1.65527 -6.125 -7.78613 -9.89062 -14.002 -8.62305c-9.28711 1.89551 -23.3652 4.14551 -37.8516 4.14551c-54.9287 0 -96.9854 -30.0391 -117.619 -75.0303h138.278
c7.66211 0 13.3613 -7.08203 11.7227 -14.5664l-6.51172 -29.7549c-1.17969 -5.3877 -5.9834 -9.43359 -11.7227 -9.43359h-146.593c-1.55176 -13.958 -1.34766 -27.917 -0.137695 -42.2451h134.237c7.68945 0 13.3936 -7.12891 11.708 -14.6309l-6.37305 -28.3604
c-1.20312 -5.35547 -5.99121 -9.36914 -11.708 -9.36914h-113.689c19.5322 -50.6582 64.6982 -85.4482 121.462 -85.4482c18.0039 0 34.7334 2.97363 45.4258 5.41211c6.58887 1.50391 13.1094 -2.73828 14.4238 -9.36816z" />
    <glyph glyph-name="pound-sign" unicode="&#xf154;" horiz-adv-x="320" 
d="M308 96c6.62695 0 12 -5.37305 12 -12v-104c0 -6.62695 -5.37305 -12 -12 -12h-296c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h36v128h-28c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h28v66.0391
c0 73.2188 58.0264 125.961 139.931 125.961c48.6455 0 85.1934 -22.5596 101.575 -34.9277c5.39844 -4.07617 6.35254 -11.8057 2.11914 -17.0811l-28.4932 -35.5137c-3.7998 -4.73535 -10.5371 -5.89746 -15.6875 -2.68457
c-11.7744 7.34375 -33.9941 18.8486 -57.6523 18.8486c-37.2305 0 -61.792 -24.8193 -61.792 -57.0859v-63.5557h84c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-84v-126.848h122.505v50.8477c0 6.62695 5.37305 12 12 12h45.4951z" />
    <glyph glyph-name="dollar-sign" unicode="&#xf155;" horiz-adv-x="288" 
d="M209.2 214.6c57.8994 -16.8994 94 -80.0996 72.5 -141.699c-15.4004 -44.1006 -59.1006 -71.8008 -105.7 -72.7002v-48.2002c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v48c-31.4004 0.0996094 -62 10.7998 -86.5 30
c-7.90039 6.09961 -8.90039 17.5996 -1.7998 24.5l34.7998 34c5.2002 5.09961 13.4004 6.09961 19.5 2c10 -6.7998 22 -10.5 34.2002 -10.5h66.2998c16.2998 0 29.5 13.2002 29.5 29.5c0 13 -8.7002 24.5996 -21.2002 28.2998l-102.5 30
c-44.3994 13 -79.5996 50.5 -83.7998 96.6006c-5.90039 64.8994 45.2998 119.6 109 119.6h2.5v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48c31.4004 -0.0996094 62 -10.7998 86.5 -30c7.90039 -6.09961 8.90039 -17.5996 1.7998 -24.5l-34.7998 -34
c-5.2002 -5.09961 -13.4004 -6.09961 -19.5 -2c-10 6.7998 -22 10.5 -34.2002 10.5h-66.2998c-16.2998 0 -29.5 -13.2002 -29.5 -29.5c0 -13 8.7002 -24.7002 21.2002 -28.2998z" />
    <glyph glyph-name="rupee-sign" unicode="&#xf156;" horiz-adv-x="320" 
d="M308 352h-72.9424c5.97266 -9.75391 10.7666 -20.459 14.252 -32h58.6904c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-52.8105c-7.1748 -74.5107 -61.8193 -125.566 -138.318 -127.906l150.882 -139.275
c8.02734 -7.41016 2.78516 -20.8184 -8.13867 -20.8184h-82.5625c-3.1377 0 -6 1.20801 -8.13867 3.18164l-165.052 152.356c-2.46094 2.27148 -3.86133 5.46875 -3.86133 8.81836v53.0117c0 6.62695 5.37305 12 12 12h84c41.7959 0 68.54 22.5459 74.7568 58.6318h-158.757
c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h146.25c-12.709 17.2939 -33.6621 27.252 -60.9697 27.252h-85.2803c-6.62695 0 -12 5.37305 -12 12v44.748c0 6.62695 5.37305 12 12 12h296c6.62695 0 12 -5.37305 12 -12v-40
c0 -6.62695 -5.37305 -12 -12 -12z" />
    <glyph glyph-name="yen-sign" unicode="&#xf157;" horiz-adv-x="384" 
d="M351.2 416c9.09961 0 14.8994 -9.7002 10.5996 -17.5996l-80.0996 -150.4h58.2998c6.59961 0 12 -5.40039 12 -12v-32c0 -6.59961 -5.40039 -12 -12 -12h-88.2002l-19.7998 -37.2002v-26.7998h108c6.59961 0 12 -5.40039 12 -12v-32c0 -6.59961 -5.40039 -12 -12 -12
h-108v-92c0 -6.59961 -5.40039 -12 -12 -12h-56c-6.59961 0 -12 5.40039 -12 12v92h-108c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h108v26.7998l-19.7998 37.2002h-88.2002c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h58.2998
l-80.0996 150.4c-4.2002 7.89941 1.5 17.5996 10.5996 17.5996h65.2002c4.59961 0 8.7998 -2.59961 10.7998 -6.7002l55.4004 -113.2c14.5 -34.6992 27.0996 -71.8994 27.0996 -71.8994h1.2998s12.6006 37.2002 27.1006 71.8994l55.3994 113.2
c2 4.10059 6.2002 6.7002 10.8008 6.7002h65.2998z" />
    <glyph glyph-name="ruble-sign" unicode="&#xf158;" horiz-adv-x="384" 
d="M239.36 128h-92.8008v-32h161.44c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-161.44v-52c0 -6.62695 -5.37305 -12 -12 -12h-58.5596c-6.62695 0 -12 5.37305 -12 12v52h-52c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h52
v32h-52c-6.62695 0 -12 5.37305 -12 12v45.3682c0 6.62695 5.37305 12 12 12h52v206.632c0 6.62695 5.37305 12 12 12h163.36c85.1201 0 144.64 -57.5996 144.64 -143.071c0 -85.4707 -59.5195 -144.929 -144.64 -144.929zM146.56 347.252v-149.884h77.4404
c48 0 76.1602 29.7285 76.1602 75.5605c0 45.2129 -28.1602 74.3232 -74.8799 74.3232h-78.7207z" />
    <glyph glyph-name="won-sign" unicode="&#xf159;" horiz-adv-x="576" 
d="M564 256h-62.7002l-7.39941 -32h70.0996c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-84.9004l-42.0996 -182.7c-1.2998 -5.39941 -6.09961 -9.2998 -11.7002 -9.2998h-56.7998c-5.59961 0 -10.4004 3.90039 -11.7002 9.2998l-42.3994 182.7
h-55.1006l-42.2998 -182.7c-1.2998 -5.39941 -6.09961 -9.2998 -11.7002 -9.2998h-56.7998c-5.59961 0 -10.5 3.90039 -11.7002 9.40039l-40.8994 182.6h-83.9004c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h69.5l-7.2002 32h-62.2998
c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h48l-18.0996 80.7002c-1.7002 7.5 4 14.5996 11.6992 14.5996h42.1006c5.7002 0 10.7002 -4 11.7998 -9.59961l17.5 -85.7002h108.7l20 86c1.2998 5.5 6.09961 9.2998 11.7002 9.2998h44
c5.59961 0 10.3994 -3.7998 11.6992 -9.2998l19.7002 -86h109.9l14.3994 85.7998c1.10059 5.5 6 9.5 11.7002 9.5h46.1006c7.69922 0 13.3994 -7.2002 11.6992 -14.7002l-18.5996 -80.5996h48c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12zM183.8 106
l12.6006 54h-38.8008l11 -54c5.10059 -25.2002 6.80078 -47.2002 6.80078 -47.2002h1.09961c0.5 0 1.09961 21.4004 7.2998 47.2002zM211.3 224l7.5 32h-80.7998l6.5 -32h66.7998zM274.2 224h25.3994l-2 8.59961c-1.89941 8 -3.5 16 -4.7998 23.4004h-11.7998
c-1.2998 -7.40039 -2.90039 -15.4004 -4.7998 -23.4004zM405.1 106l11.5 54h-39.0996l12.4004 -54c6.19922 -25.7998 6.69922 -47.2002 7.2998 -47.2002h1.09961s1.7002 22 6.7998 47.2002zM430.3 224l6.90039 32h-81.6006l7.30078 -32h67.3994z" />
    <glyph glyph-name="file" unicode="&#xf15b;" horiz-adv-x="384" 
d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM384 326.1v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98
c4.5 -4.5 7 -10.5996 7 -16.9004z" />
    <glyph glyph-name="file-alt" unicode="&#xf15c;" horiz-adv-x="384" 
d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM288 76v8c0 6.59961 -5.40039 12 -12 12h-168c-6.59961 0 -12 -5.40039 -12 -12v-8
c0 -6.59961 5.40039 -12 12 -12h168c6.59961 0 12 5.40039 12 12zM288 140v8c0 6.59961 -5.40039 12 -12 12h-168c-6.59961 0 -12 -5.40039 -12 -12v-8c0 -6.59961 5.40039 -12 12 -12h168c6.59961 0 12 5.40039 12 12zM288 212c0 6.59961 -5.40039 12 -12 12h-168
c-6.59961 0 -12 -5.40039 -12 -12v-8c0 -6.59961 5.40039 -12 12 -12h168c6.59961 0 12 5.40039 12 12v8zM384 326.1v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004z" />
    <glyph glyph-name="sort-alpha-down" unicode="&#xf15d;" horiz-adv-x="448" 
d="M176 96c14.2197 0 21.3496 -17.2598 11.3301 -27.3096l-80 -96c-2.89551 -2.89453 -6.89844 -4.68555 -11.3125 -4.68555c-4.41309 0 -8.41211 1.79102 -11.3076 4.68555l-80 96c-10.0703 10.0693 -2.90039 27.3096 11.29 27.3096h48v304c0 8.83105 7.16895 16 16 16h32
c8.83105 0 16 -7.16895 16 -16v-304h48zM416 160c8.83105 0 16 -7.16895 16 -16v-17.6299c0 -9.51074 -4.14355 -18.0566 -10.7402 -23.9199l-61.2598 -70.4502h56c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-128c-8.83105 0 -16 7.16895 -16 16
v17.6299c0 9.51074 4.14355 18.0566 10.7402 23.9199l61.2598 70.4502h-56c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h128zM447.06 245.38c0.600586 -1.67969 0.931641 -3.49512 0.931641 -5.37988c0 -8.82812 -7.16406 -15.9951 -15.9912 -16h-24.8398
c-0.015625 0 -0.0263672 -0.00195312 -0.0419922 -0.00195312c-7.11426 0 -13.1514 4.6543 -15.2285 11.082l-4.40918 12.9199h-71l-4.4209 -12.9199c-2.07617 -6.42773 -8.10938 -11.0801 -15.2246 -11.0801h-0.00488281h-24.8301
c-8.82715 0.00488281 -15.9863 7.17773 -15.9863 16.0049c0 1.88574 0.326172 3.69531 0.926758 5.375l59.2695 160c2.20996 6.19043 8.125 10.6201 15.0703 10.6201h41.4395c6.94531 0 12.8604 -4.42969 15.0703 -10.6201zM335.61 304h32.7793l-16.3896 48z" />
    <glyph glyph-name="sort-alpha-up" unicode="&#xf15e;" horiz-adv-x="448" 
d="M16 288c-14.2197 0 -21.3496 17.2598 -11.3096 27.3096l80 96c2.89551 2.89453 6.89844 4.68555 11.3115 4.68555c4.41406 0 8.41211 -1.79102 11.3076 -4.68555l80 -96c10.0703 -10.0693 2.90039 -27.3096 -11.3096 -27.3096h-48v-304c0 -8.83105 -7.16895 -16 -16 -16
h-32c-8.83105 0 -16 7.16895 -16 16v304h-48zM416 160c8.83105 0 16 -7.16895 16 -16v-17.6299c0 -9.51074 -4.14355 -18.0566 -10.7402 -23.9199l-61.2598 -70.4502h56c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-128
c-8.83105 0 -16 7.16895 -16 16v17.6299c0 9.51074 4.14355 18.0566 10.7402 23.9199l61.2598 70.4502h-56c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h128zM447.06 245.38c0.600586 -1.67969 0.931641 -3.49512 0.931641 -5.37988
c0 -8.82812 -7.16406 -15.9951 -15.9912 -16h-24.8398c-0.015625 0 -0.0263672 -0.00195312 -0.0419922 -0.00195312c-7.11426 0 -13.1514 4.6543 -15.2285 11.082l-4.40918 12.9199h-71l-4.4209 -12.9199c-2.07617 -6.42773 -8.10938 -11.0801 -15.2246 -11.0801
h-0.00488281h-24.8301c-8.82715 0.00488281 -15.9863 7.17773 -15.9863 16.0049c0 1.88574 0.326172 3.69531 0.926758 5.375l59.2695 160c2.20996 6.19043 8.125 10.6201 15.0703 10.6201h41.4395c6.94531 0 12.8604 -4.42969 15.0703 -10.6201zM335.61 304h32.7793
l-16.3896 48z" />
    <glyph glyph-name="sort-amount-down" unicode="&#xf160;" 
d="M304 32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-64c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h64zM176 96c14.2197 0 21.3496 -17.2598 11.3301 -27.3096l-80 -96
c-2.89551 -2.89453 -6.89844 -4.68555 -11.3125 -4.68555c-4.41309 0 -8.41211 1.79102 -11.3076 4.68555l-80 96c-10.0801 10.0693 -2.90039 27.3096 11.29 27.3096h48v304c0 8.83105 7.16895 16 16 16h32c8.83105 0 16 -7.16895 16 -16v-304h48zM432 288
c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-192c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h192zM368 160c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-128c-8.83105 0 -16 7.16895 -16 16v32
c0 8.83105 7.16895 16 16 16h128zM496 416c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-256c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h256z" />
    <glyph glyph-name="sort-amount-up" unicode="&#xf161;" 
d="M304 32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-64c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h64zM16 288c-14.2305 0 -21.3496 17.2598 -11.3096 27.3096l80 96c2.89551 2.89453 6.89844 4.68555 11.3115 4.68555
c4.41406 0 8.41211 -1.79102 11.3076 -4.68555l80 -96c10.0703 -10.0693 2.90039 -27.3096 -11.3096 -27.3096h-48v-304c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v304h-48zM432 288c8.83105 0 16 -7.16895 16 -16v-32
c0 -8.83105 -7.16895 -16 -16 -16h-192c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h192zM368 160c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-128c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h128zM496 416
c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-256c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h256z" />
    <glyph glyph-name="sort-numeric-down" unicode="&#xf162;" horiz-adv-x="448" 
d="M304 352c-8.82422 0.0078125 -15.9775 7.18945 -15.9775 16.0156c0 2.57129 0.608398 5.00098 1.6875 7.1543l16 32c2.62598 5.23926 8.03613 8.8252 14.29 8.83008h48c8.83105 0 16 -7.16895 16 -16v-112h16c8.83105 0 16 -7.16895 16 -16v-32
c0 -8.83105 -7.16895 -16 -16 -16h-96c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h16v64h-16zM330.15 189.09c53.4502 14.25 101.85 -25.8799 101.869 -77.0898v-10.7695c0 -70.3906 -28.25 -107.24 -86.25 -132
c-8.36914 -3.58008 -18.0293 1.2793 -20.8994 9.90918l-9.90039 20c-2.62012 7.87012 0.610352 16.9404 8.18066 20.3408c7.59961 3.28516 14.6064 7.64258 20.8496 12.9092c-47.6396 4.76074 -83.0996 51.4805 -68.8496 102.53c7.62793 26.2793 28.5596 46.9287 55 54.1699
zM352 92c11.0381 0 20 8.96191 20 20s-8.96191 20 -20 20s-20 -8.96191 -20 -20s8.96191 -20 20 -20zM176 96c14.2197 0 21.3496 -17.2598 11.3301 -27.3096l-80 -96c-2.89551 -2.89453 -6.89844 -4.68555 -11.3125 -4.68555c-4.41309 0 -8.41211 1.79102 -11.3076 4.68555
l-80 96c-10.0703 10.0693 -2.90039 27.3096 11.29 27.3096h48v304c0 8.83105 7.16895 16 16 16h32c8.83105 0 16 -7.16895 16 -16v-304h48z" />
    <glyph glyph-name="sort-numeric-up" unicode="&#xf163;" horiz-adv-x="448" 
d="M330.17 189.09c53.4502 14.25 101.83 -25.8799 101.85 -77.0898v-10.7695c0 -70.3906 -28.25 -107.24 -86.25 -132c-8.36914 -3.58008 -18.0293 1.2793 -20.8994 9.90918l-9.90039 20c-2.62012 7.87012 0.610352 16.9404 8.18066 20.3408
c7.59961 3.28516 14.6064 7.64258 20.8496 12.9092c-47.6396 4.76074 -83.0996 51.4805 -68.8301 102.53c7.62891 26.2793 28.5596 46.9287 55 54.1699zM352 92c11.0381 0 20 8.96191 20 20s-8.96191 20 -20 20s-20 -8.96191 -20 -20s8.96191 -20 20 -20zM304 352
c-8.82422 0.0078125 -15.9775 7.18945 -15.9775 16.0156c0 2.57129 0.608398 5.00098 1.6875 7.1543l16 32c2.62598 5.23926 8.03613 8.8252 14.29 8.83008h48c8.83105 0 16 -7.16895 16 -16v-112h16c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-96
c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h16v64h-16zM107.31 411.31l80 -96c10.0703 -10.0693 2.90039 -27.3096 -11.3096 -27.3096h-48v-304c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v304h-48
c-14.2197 0 -21.3496 17.2598 -11.3096 27.3096l80 96c2.89551 2.89453 6.89844 4.68555 11.3115 4.68555c4.41406 0 8.41211 -1.79102 11.3076 -4.68555z" />
    <glyph glyph-name="thumbs-up" unicode="&#xf164;" 
d="M104 224c13.2549 0 24 -10.7451 24 -24v-240c0 -13.2549 -10.7451 -24 -24 -24h-80c-13.2549 0 -24 10.7451 -24 24v240c0 13.2549 10.7451 24 24 24h80zM64 -24c13.2549 0 24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24zM384 366.548
c0 -42.416 -25.9697 -66.208 -33.2773 -94.5479h101.724c33.3965 0 59.3965 -27.7461 59.5527 -58.0977c0.0839844 -17.9385 -7.5459 -37.249 -19.4395 -49.1973l-0.109375 -0.110352c9.83594 -23.3369 8.23633 -56.0371 -9.30859 -79.4688
c8.68164 -25.8945 -0.0683594 -57.7041 -16.3818 -74.7568c4.29785 -17.5977 2.24414 -32.5752 -6.14746 -44.6318c-20.4102 -29.3242 -70.9961 -29.7373 -113.773 -29.7373l-2.84473 0.000976562c-48.2871 0.0166016 -87.8057 17.5977 -119.561 31.7246
c-15.957 7.09961 -36.8203 15.8877 -52.6504 16.1787c-6.54004 0.120117 -11.7832 5.45703 -11.7832 11.998v213.77c0 3.2002 1.28223 6.27148 3.55762 8.52148c39.6143 39.1436 56.6484 80.5869 89.1172 113.11c14.8037 14.832 20.1885 37.2363 25.3936 58.9023
c4.44629 18.501 13.749 57.7939 33.9316 57.7939c24 0 72 -8 72 -81.4521z" />
    <glyph glyph-name="thumbs-down" unicode="&#xf165;" 
d="M0 392c0 13.2549 10.7451 24 24 24h80c13.2549 0 24 -10.7451 24 -24v-240c0 -13.2549 -10.7451 -24 -24 -24h-80c-13.2549 0 -24 10.7451 -24 24v240zM40 192c0 -13.2549 10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24zM312 -64
c-20.1826 0 -29.4854 39.293 -33.9307 57.7949c-5.20605 21.666 -10.5889 44.0703 -25.3936 58.9023c-32.4688 32.5234 -49.5029 73.9668 -89.1172 113.11c-2.19727 2.17285 -3.55762 5.19043 -3.55762 8.52148v213.77c0 6.54102 5.24316 11.8779 11.7832 11.998
c15.8311 0.290039 36.6934 9.0791 52.6504 16.1787c31.7549 14.127 71.2744 31.708 119.561 31.7246h2.84375c42.7773 0 93.3633 -0.413086 113.774 -29.7373c8.3916 -12.0566 10.4453 -27.0342 6.14746 -44.6318c16.3125 -17.0527 25.0635 -48.8633 16.3818 -74.7568
c17.5439 -23.4316 19.1436 -56.1318 9.30859 -79.4688l0.109375 -0.110352c11.8936 -11.9492 19.5234 -31.2588 19.4395 -49.1973c-0.15625 -30.3516 -26.1572 -58.0977 -59.5527 -58.0977h-101.725c7.30762 -28.3398 33.2773 -52.1318 33.2773 -94.5479
c0 -73.4521 -48 -81.4521 -72 -81.4521z" />
    <glyph glyph-name="female" unicode="&#xf182;" horiz-adv-x="256" 
d="M128 448c35.3457 0 64 -28.6543 64 -64s-28.6543 -64 -64 -64s-64 28.6543 -64 64s28.6543 64 64 64zM247.283 93.8213c3.78809 -15.1504 -7.69238 -29.8213 -23.2832 -29.8213h-56v-104c0 -13.2549 -10.7451 -24 -24 -24h-32c-13.2549 0 -24 10.7451 -24 24v104h-56
c-15.6172 0 -27.0654 14.6953 -23.2832 29.8213l48 192c2.6084 10.4316 12.0488 18.1787 23.2832 18.1787h11.3604c23.6895 -10.8936 50.5684 -10.4434 73.2793 0h11.3604c11.2344 0 20.6748 -7.74707 23.2832 -18.1787z" />
    <glyph glyph-name="male" unicode="&#xf183;" horiz-adv-x="192" 
d="M96 448c35.3457 0 64 -28.6543 64 -64s-28.6543 -64 -64 -64s-64 28.6543 -64 64s28.6543 64 64 64zM144 304c26.5098 0 48 -21.4902 48 -48v-136c0 -13.2549 -10.7451 -24 -24 -24h-16v-136c0 -13.2549 -10.7451 -24 -24 -24h-64c-13.2549 0 -24 10.7451 -24 24v136h-16
c-13.2549 0 -24 10.7451 -24 24v136c0 26.5098 21.4902 48 48 48h11.3604c23.6895 -10.8936 50.5684 -10.4434 73.2793 0h11.3604z" />
    <glyph glyph-name="sun" unicode="&#xf185;" 
d="M256 288c52.9004 0 96 -43.0996 96 -96s-43.0996 -96 -96 -96s-96 43.0996 -96 96s43.0996 96 96 96zM502.4 207.5c12.7998 -6.40039 12.7998 -24.5996 -0.200195 -31.0996l-94.7002 -47.3008l33.5 -100.399c4.59961 -13.5 -8.2998 -26.4004 -21.9004 -21.9004
l-100.399 33.5l-47.2998 -94.7002c-6.40039 -12.7998 -24.6006 -12.7998 -31 0l-47.3008 94.7002l-100.399 -33.5c-13.5 -4.59961 -26.4004 8.2998 -21.9004 21.9004l33.5 100.5l-94.7002 47.2998c-12.7998 6.40039 -12.7998 24.5996 0 31l94.7002 47.4004l-33.5 100.399
c-4.59961 13.5 8.2998 26.4004 21.9004 21.9004l100.5 -33.5l47.2998 94.7002c6.40039 12.7998 24.5996 12.7998 31 0l47.4004 -94.8008l100.399 33.5c13.5 4.60059 26.4004 -8.2998 21.9004 -21.8994l-33.5 -100.4zM346.5 101.5c49.9004 49.9004 49.9004 131.1 0 181
s-131.1 49.9004 -181 0s-49.9004 -131.1 0 -181s131.1 -49.9004 181 0z" />
    <glyph glyph-name="moon" unicode="&#xf186;" 
d="M283.211 -64c-141.489 0 -256 114.691 -256 256c0 141.489 114.691 256 256 256c16.0479 -0.00195312 31.5352 -1.46973 46.7754 -4.28027c11.0059 -2.0332 13.4414 -16.7178 3.75586 -22.2295c-62.8359 -35.7588 -101.498 -102.172 -101.498 -174.395
c0 -125.378 114.059 -220.607 238.262 -196.954c10.9229 2.08008 18.6299 -10.6416 11.5625 -19.3496c-47.7783 -58.8672 -119.896 -94.792 -198.857 -94.792z" />
    <glyph glyph-name="archive" unicode="&#xf187;" 
d="M32 0v288h448v-288c0 -17.7002 -14.2998 -32 -32 -32h-384c-17.7002 0 -32 14.2998 -32 32zM192 212v-8c0 -6.59961 5.40039 -12 12 -12h104c6.59961 0 12 5.40039 12 12v8c0 6.59961 -5.40039 12 -12 12h-104c-6.59961 0 -12 -5.40039 -12 -12zM480 416
c17.7002 0 32 -14.2998 32 -32v-48c0 -8.7998 -7.2002 -16 -16 -16h-480c-8.7998 0 -16 7.2002 -16 16v48c0 17.7002 14.2998 32 32 32h448z" />
    <glyph glyph-name="bug" unicode="&#xf188;" 
d="M511.988 159.1c-0.478516 -17.4297 -15.2168 -31.0996 -32.6533 -31.0996h-55.335v-16c0 -21.8643 -4.88184 -42.584 -13.5996 -61.1445l60.2275 -60.2285c12.4961 -12.4971 12.4961 -32.7578 0 -45.2549c-12.498 -12.4971 -32.7588 -12.4961 -45.2559 0
l-54.7363 54.7363c-24.75 -20.0732 -56.2852 -32.1084 -90.6357 -32.1084v244c0 6.62695 -5.37305 12 -12 12h-24c-6.62695 0 -12 -5.37305 -12 -12v-244c-34.3506 0 -65.8857 12.0352 -90.6357 32.1084l-54.7363 -54.7363c-12.498 -12.4971 -32.7588 -12.4961 -45.2559 0
c-12.4961 12.4971 -12.4961 32.7578 0 45.2549l60.2275 60.2285c-8.71777 18.5605 -13.5996 39.2803 -13.5996 61.1445v16h-55.334c-17.4355 0 -32.1748 13.6699 -32.6533 31.0996c-0.49707 18.084 14.0156 32.9004 31.9873 32.9004h56v58.7451l-46.6279 46.6279
c-12.4961 12.4971 -12.4961 32.7578 0 45.2549c12.498 12.4971 32.7578 12.4971 45.2559 0l54.627 -54.6279h229.489l54.627 54.627c12.498 12.4971 32.7578 12.4971 45.2559 0c12.4961 -12.4971 12.4961 -32.7578 0 -45.2549l-46.627 -46.627v-58.7451h56
c17.9717 0 32.4844 -14.8164 31.9883 -32.9004zM257 448c61.8564 0 112 -50.1436 112 -112h-224c0 61.8564 50.1436 112 112 112z" />
    <glyph glyph-name="caret-square-left" unicode="&#xf191;" horiz-adv-x="448" 
d="M400 -32h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48zM259.515 323.515l-123.029 -123.029c-4.68652 -4.68652 -4.68652 -12.2842 0 -16.9717l123.028 -123.028
c7.56055 -7.56055 20.4854 -2.20605 20.4854 8.48438v246.06c0.000976562 10.6904 -12.9248 16.0449 -20.4844 8.48535z" />
    <glyph glyph-name="dot-circle" unicode="&#xf192;" 
d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM336 192c0 44.1123 -35.8877 80 -80 80s-80 -35.8877 -80 -80s35.8877 -80 80 -80s80 35.8877 80 80z" />
    <glyph glyph-name="wheelchair" unicode="&#xf193;" 
d="M496.101 62.3311l14.2275 -28.6631c3.92871 -7.91504 0.697266 -17.5156 -7.21777 -21.4453l-65.4658 -32.8857c-16.0488 -7.9668 -35.5557 -1.19434 -43.1885 15.0547l-62.7773 133.608h-139.679c-15.9248 0 -29.4258 11.71 -31.6787 27.4746
c-33.8887 237.218 -31.9414 222.481 -32.3213 228.525c0 36.3584 30.3184 65.6348 67.0518 63.9287c33.2715 -1.54492 60.0479 -28.9043 60.9248 -62.2012c0.868164 -32.9326 -23.1514 -60.4229 -54.6074 -65.0381l4.66992 -32.6904h129.961c8.83691 0 16 -7.16309 16 -16
v-32c0 -8.83691 -7.16309 -16 -16 -16h-120.818l4.57227 -32h132.246c12.8076 0 23.8506 -7.5127 28.9619 -18.3916l57.5146 -122.407l36.1787 18.3486c7.91504 3.92871 17.5166 0.697266 21.4453 -7.21777zM311.358 96l25.752 -54.8076
c-27.3047 -61.8848 -89.2402 -105.192 -161.11 -105.192c-97.0469 0 -176 78.9531 -176 176c0 74.0371 45.9561 137.536 110.836 163.489c2.64453 -18.4736 5.77637 -40.3682 9.48828 -66.333c-33.6299 -19.3477 -56.3242 -55.6514 -56.3242 -97.1562
c0 -61.7568 50.2432 -112 112 -112c56.3242 0 103.064 41.7959 110.852 96h24.5068z" />
    <glyph glyph-name="lira-sign" unicode="&#xf195;" horiz-adv-x="384" 
d="M371.994 192c6.78613 0 12.2578 -5.62598 11.9971 -12.4082c-5.15332 -133.758 -94.3174 -211.592 -228.408 -211.592h-79.583c-6.62695 0 -12 5.37305 -12 12v193.442l-49.3975 -10.9775c-7.49316 -1.66602 -14.6025 4.03711 -14.6025 11.7139v40.9766
c0 5.72656 4.02734 10.5205 9.39746 11.7139l54.6025 12.1338v30.4395l-49.3975 -10.9775c-7.49316 -1.66602 -14.6025 4.03711 -14.6025 11.7139v40.9766c0 5.72656 4.02734 10.5205 9.39746 11.7139l54.6025 12.1338v68.9971c0 6.62695 5.37305 12 12 12h56
c6.62695 0 12 -5.37305 12 -12v-51.2188l129.397 28.7539c7.49316 1.66602 14.6025 -4.03711 14.6025 -11.7139v-40.9756c0 -5.72656 -4.02734 -10.5205 -9.39746 -11.7139l-134.603 -29.9121v-30.4385l129.397 28.7539c7.49316 1.66602 14.6025 -4.03711 14.6025 -11.7139
v-40.9766c0 -5.72656 -4.02734 -10.5205 -9.39746 -11.7139l-134.603 -29.9121v-159.219c86.1787 0 168 48 168 148.754c0 6.33398 5.63965 11.2461 11.9746 11.2461h48.0195z" />
    <glyph glyph-name="space-shuttle" unicode="&#xf197;" horiz-adv-x="640" 
d="M592.604 239.756c29.6787 -13.9111 47.3965 -31.7637 47.3965 -47.7559s-17.7178 -33.8447 -47.3965 -47.7559c-32.8682 -15.4082 -76.8262 -24.2441 -120.604 -24.2441h-285.674c-4.95215 -6.55469 -10.585 -11.9775 -16.7197 -16h206.394
c-146.843 -30.2529 -156.597 -136 -279.997 -136h-0.00292969v128h-16v-128c-26.5098 0 -48 28.6543 -48 64v64c-23.1807 0 -32 10.0166 -32 24v40c0 13.9678 8.80273 24 32 24v16c-23.1807 0 -32 10.0166 -32 24v40c0 13.9678 8.80273 24 32 24v64
c0 35.3457 21.4902 64 48 64v-128h16v128h0.00292969c123.4 0 133.154 -105.747 279.997 -136h-206.393c6.13477 -4.02246 11.7676 -9.44531 16.7197 -16h285.673c43.7773 0 87.7354 -8.83594 120.604 -24.2441zM488 152c31.9424 0 31.9092 80 0 80
c-4.41504 0 -8 -3.58496 -8 -8v-64c0 -4.41504 3.58496 -8 8 -8z" />
    <glyph glyph-name="envelope-square" unicode="&#xf199;" horiz-adv-x="448" 
d="M400 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352zM178.117 185.896c10.5156 -7.66895 31.3799 -26.1133 45.8828 -25.8955
c14.4912 -0.225586 35.3828 18.2393 45.8828 25.8936c90.6836 65.8145 89.7461 65.9697 114.117 84.9385v25.167c0 13.2549 -10.7451 24 -24 24h-272c-13.2549 0 -24 -10.7451 -24 -24v-25.167c24.3525 -18.9541 23.4287 -19.1201 114.117 -84.9365zM384 230.225
c-13.958 -10.793 -33.3252 -25.2334 -95.2832 -70.1982c-13.6826 -9.98438 -37.833 -32.1592 -64.7197 -32.0254c-26.7188 -0.134766 -50.5322 21.6689 -64.6943 32.0098c-61.9736 44.9785 -81.3447 59.4199 -95.3027 70.2139v-142.225c0 -13.2549 10.7451 -24 24 -24h272
c13.2549 0 24 10.7451 24 24v142.225z" />
    <glyph glyph-name="university" unicode="&#xf19c;" 
d="M496 320v-16c0 -4.41504 -3.58496 -8 -8 -8h-24v-12c0 -6.62695 -5.37305 -12 -12 -12h-392c-6.62695 0 -12 5.37305 -12 12v12h-24c-4.41504 0 -8 3.58496 -8 8v16c0 3.33398 2.03906 6.19141 4.94141 7.3916l232 88
c0.94043 0.389648 1.97168 0.605469 3.05371 0.605469c1.08105 0 2.12305 -0.21582 3.06348 -0.605469l232 -88c2.90234 -1.2002 4.94141 -4.05762 4.94141 -7.3916zM472 16c13.2549 0 24 -10.7451 24 -24v-16c0 -4.41504 -3.58496 -8 -8 -8h-464
c-4.41504 0 -8 3.58496 -8 8v16c0 13.2549 10.7451 24 24 24h432zM96 256h64v-192h64v192h64v-192h64v192h64v-192h36c6.62695 0 12 -5.37305 12 -12v-20h-416v20c0 6.62695 5.37305 12 12 12h36v192z" />
    <glyph glyph-name="graduation-cap" unicode="&#xf19d;" horiz-adv-x="640" 
d="M622.34 294.8c23.5498 -7.24023 23.5498 -38.3594 0 -45.5996l-278.95 -85.7002c-20.3496 -6.25 -37.7295 -2.78027 -46.79 0l-195.569 60.0898c-12.25 -8.41992 -19.9307 -21.7002 -20.6904 -36.7197c9.19043 -5.62012 15.6602 -15.2998 15.6602 -26.8701
c0 -10.7803 -5.67969 -19.8496 -13.8604 -25.6504l25.5303 -114.88c2.21973 -9.98926 -5.37988 -19.4697 -15.6201 -19.4697h-56.1094c-10.2305 0 -17.8301 9.48047 -15.6104 19.4697l25.5303 114.88c-8.18066 5.80078 -13.8604 14.8701 -13.8604 25.6504
c0 11.8896 6.78027 21.8496 16.4102 27.3701c0.649414 17.6201 7.20996 33.71 17.8799 46.8994l-48.6299 14.9404c-23.54 7.23047 -23.54 38.3604 0 45.5898l278.95 85.7002c15.1895 4.66992 31.5898 4.66992 46.79 0zM352.79 132.91l145.03 44.5596l14.1797 -113.47
c0 -35.3496 -85.96 -64 -192 -64s-192 28.6504 -192 64l14.1797 113.46l145.021 -44.5498c12.75 -3.91992 37.0596 -8.75977 65.5898 0z" />
    <glyph glyph-name="language" unicode="&#xf1ab;" horiz-adv-x="640" 
d="M152.1 211.8l10.9004 -37.5h-38.0996l11.0996 37.5c3.5 12.1006 7.7998 33.2002 7.7998 33.2002h0.5s4.2998 -21.0996 7.7998 -33.2002zM616 352c13.2998 0 24 -10.7002 24 -24v-272c0 -13.2998 -10.7002 -24 -24 -24h-280v320h280zM592 232v16
c0 6.59961 -5.40039 12 -12 12h-64v16c0 6.59961 -5.40039 12 -12 12h-16c-6.59961 0 -12 -5.40039 -12 -12v-16h-64c-6.59961 0 -12 -5.40039 -12 -12v-16c0 -6.59961 5.40039 -12 12 -12h114.3c-6.2002 -14.2998 -16.5 -29 -30 -43.2002
c-6.59961 6.90039 -12.3994 13.9004 -17.3994 20.9004c-3.60059 5.09961 -10.6006 6.59961 -16 3.39941l-7.30078 -4.2998l-6.5 -3.89941c-5.89941 -3.5 -7.69922 -11.4004 -3.69922 -17.1006c6.09961 -8.7002 13.0996 -17.2998 21 -25.7002
c-8.10059 -6.2998 -16.8008 -12.2998 -26.1006 -18c-5.59961 -3.39941 -7.39941 -10.5996 -4.2002 -16.1992l7.90039 -13.9004c3.40039 -5.90039 10.9004 -7.7998 16.7002 -4.2998c12.7002 7.7998 24.5 16.2002 35.3994 24.8994
c10.9004 -8.7998 22.8008 -17.0996 35.4004 -24.8994c5.7998 -3.5 13.2998 -1.60059 16.7002 4.2998l7.89941 13.9004c3.2002 5.69922 1.40039 12.7998 -4.09961 16.1992c-9 5.5 -17.7002 11.6006 -26.0996 18c21 22.5 35.7998 46.3008 42.6992 69.9004h11.4004
c6.59961 0 12 5.40039 12 12zM0 328c0 13.2998 10.7002 24 24 24h280v-320h-280c-13.2998 0 -24 10.7002 -24 24v272zM58.9004 111.9c-2.60059 -7.80078 3.19922 -15.9004 11.3994 -15.9004h22.9004c5.2998 0 10 3.59961 11.5 8.7002l9.09961 31.7998h60.2002
l9.40039 -31.9004c1.4668 -4.96582 6.06152 -8.5957 11.5 -8.59961h22.8994c8.2998 0 14 8.09961 11.4004 15.9004l-57.5 169.1c-1.7002 4.7998 -6.2998 8.09961 -11.4004 8.09961h-32.5c-5.2002 0 -9.7002 -3.19922 -11.3994 -8.09961z" />
    <glyph glyph-name="fax" unicode="&#xf1ac;" 
d="M480 288c17.6611 0 32 -14.3389 32 -32v-288c0 -17.6611 -14.3389 -32 -32 -32h-320c-17.6611 0 -32 14.3389 -32 32v448c0 17.6611 14.3389 32 32 32h242.75c8.82715 -0.000976562 16.8291 -3.58008 22.6201 -9.37012l45.25 -45.25
c5.7959 -5.79199 9.37891 -13.7979 9.37988 -22.6299v-82.75zM288 16v32c0 8.83105 -7.16895 16 -16 16h-32c-8.83105 0 -16 -7.16895 -16 -16v-32c0 -8.83105 7.16895 -16 16 -16h32c8.83105 0 16 7.16895 16 16zM288 144v32c0 8.83105 -7.16895 16 -16 16h-32
c-8.83105 0 -16 -7.16895 -16 -16v-32c0 -8.83105 7.16895 -16 16 -16h32c8.83105 0 16 7.16895 16 16zM416 16v32c0 8.83105 -7.16895 16 -16 16h-32c-8.83105 0 -16 -7.16895 -16 -16v-32c0 -8.83105 7.16895 -16 16 -16h32c8.83105 0 16 7.16895 16 16zM416 144v32
c0 8.83105 -7.16895 16 -16 16h-32c-8.83105 0 -16 -7.16895 -16 -16v-32c0 -8.83105 7.16895 -16 16 -16h32c8.83105 0 16 7.16895 16 16zM416 256v64h-48c-8.83105 0 -16 7.16895 -16 16v48h-160v-128h224zM64 320c17.6611 0 32 -14.3389 32 -32v-320
c0 -17.6611 -14.3389 -32 -32 -32h-32c-17.6611 0 -32 14.3389 -32 32v320c0 17.6611 14.3389 32 32 32h32z" />
    <glyph glyph-name="building" unicode="&#xf1ad;" horiz-adv-x="448" 
d="M436 -32c6.62695 0 12 -5.37305 12 -12v-20h-448v20c0 6.62695 5.37305 12 12 12h20v456c0 13.2549 10.7451 24 24 24h336c13.2549 0 24 -10.7451 24 -24v-456h20zM128 372v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12v40
c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12zM128 276v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12zM180 128c6.62695 0 12 5.37305 12 12v40
c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40zM256 -32v84c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-84h64zM320 140v40c0 6.62695 -5.37305 12 -12 12h-40
c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM320 236v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM320 332v40
c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12z" />
    <glyph glyph-name="child" unicode="&#xf1ae;" horiz-adv-x="384" 
d="M120 376c0 39.7646 32.2354 72 72 72s72 -32.2354 72 -72c0 -39.7637 -32.2354 -72 -72 -72s-72 32.2363 -72 72zM374.627 374.627c12.4971 -12.4971 12.4971 -32.7568 0 -45.2539l-94.627 -94.627v-266.746c0 -17.6729 -14.3271 -32 -32 -32h-16
c-17.6729 0 -32 14.3271 -32 32v112h-16v-112c0 -17.6729 -14.3271 -32 -32 -32h-16c-17.6729 0 -32 14.3271 -32 32v266.746l-94.627 94.626c-12.4971 12.4971 -12.4971 32.7578 0 45.2549c12.4961 12.4971 32.7578 12.4971 45.2539 0l86.627 -86.627h101.491
l86.6279 86.627c12.4961 12.4971 32.7578 12.4971 45.2539 0z" />
    <glyph glyph-name="paw" unicode="&#xf1b0;" 
d="M256 224c79.4102 0 192 -122.76 192 -200.25c0 -34.9004 -26.8096 -55.75 -71.7402 -55.75c-48.4102 0 -80.75 25.0801 -120.26 25.0801c-39.1699 0 -71.4199 -25.0801 -120.26 -25.0801c-44.9307 0 -71.7402 20.8496 -71.7402 55.75c0 77.4902 112.59 200.25 192 200.25
zM108.72 236.61c10.4004 -34.6504 -4.76953 -68.3799 -33.8896 -75.3408c-29.1201 -6.95996 -61.1602 15.4805 -71.5605 50.1309c-10.3994 34.6494 4.77051 68.3799 33.8906 75.3398s61.1602 -15.4805 71.5596 -50.1299zM193.44 257.39
c-30.9307 -8.14941 -65.6201 20.4502 -77.46 63.8701c-11.8408 43.4199 3.63965 85.2207 34.5791 93.3604c30.9404 8.13965 65.6201 -20.4502 77.46 -63.8701c11.8408 -43.4199 -3.63965 -85.2197 -34.5791 -93.3604zM474.83 286.73
c29.1201 -6.96094 44.29 -40.6904 33.8896 -75.3408c-10.4102 -34.6494 -42.4395 -57.0898 -71.5596 -50.1299s-44.29 40.6904 -33.8906 75.3398c10.4102 34.6504 42.4404 57.0908 71.5605 50.1309zM318.56 257.39c-30.9395 8.14062 -46.4199 49.9404 -34.5791 93.3604
c11.8398 43.4199 46.5195 72.0195 77.46 63.8701c30.9395 -8.15039 46.4199 -49.9404 34.5791 -93.3604c-11.8398 -43.4199 -46.5195 -72.0098 -77.46 -63.8701z" />
    <glyph glyph-name="cube" unicode="&#xf1b2;" 
d="M239.1 441.7c10.9004 4.09961 22.9004 4.09961 33.7002 -0.100586l208 -78c18.7002 -7 31.1006 -24.8994 31.1006 -44.8994v-225.101c0 -18.0996 -10.2002 -34.7998 -26.5 -42.8994l-208 -104c-13.5 -6.7998 -29.4004 -6.7998 -42.9004 0l-208 104
c-16.2002 8.09961 -26.5 24.7002 -26.5 42.8994v225.101c0 20 12.4004 38 31.0996 45zM256 379.6l-192 -72v-1.09961l192 -78l192 78v1.09961zM288 23.5996l160 80v133.9l-160 -65v-148.9z" />
    <glyph glyph-name="cubes" unicode="&#xf1b3;" 
d="M488.6 197.8c14.1006 -5.2998 23.4004 -18.7002 23.4004 -33.7002v-110.1c0 -13.5996 -7.7002 -26.0996 -19.9004 -32.2002l-100 -50c-10.0996 -5.09961 -22.0996 -5.09961 -32.1992 0l-103.9 52l-103.9 -52c-10.0996 -5.09961 -22.0996 -5.09961 -32.1992 0l-100 50
c-12.2002 6.10059 -19.9004 18.6006 -19.9004 32.2002v110.1c0 15 9.2998 28.4004 23.2998 33.7002l96.6006 36.2002v108.5c0 15 9.2998 28.4004 23.3994 33.7002l100 37.5c8.2002 3.09961 17.2002 3.09961 25.2998 0l100 -37.5
c14.1006 -5.2998 23.4004 -18.7002 23.4004 -33.7002v-108.5zM358 233.2v73.2998l-85 -37v-68.2002zM154 343.9v-0.600586l102 -41.3994l102 41.3994v0.600586l-102 38.1992zM238 52.7998v75.4004l-85 -38.7998v-79.1006zM238 164.8v0.600586l-102 38.1992l-102 -38.1992
v-0.600586l102 -41.3994zM478 52.7998v75.4004l-85 -38.7998v-79.1006zM478 164.8v0.600586l-102 38.1992l-102 -38.1992v-0.600586l102 -41.3994z" />
    <glyph glyph-name="recycle" unicode="&#xf1b8;" 
d="M184.561 186.097c3.23242 -13.9971 -12.1221 -24.6348 -24.0674 -17.168l-40.7363 25.4551l-50.8672 -81.4014c-13.2832 -21.2559 2.07031 -48.9824 27.1221 -48.9824h51.9883c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-51.8848
c-75.334 0 -121.302 83.0479 -81.4082 146.88l50.8223 81.3877l-40.7256 25.4482c-12.0811 7.54688 -8.96582 25.9609 4.87891 29.1582l110.237 25.4502c8.61133 1.9873 17.2012 -3.38086 19.1895 -11.9902zM283.122 369.012
c-12.2842 19.6543 -41.5449 20.3193 -54.2568 -0.0214844l-17.9609 -28.7432c-3.5127 -5.62012 -10.916 -7.3291 -16.5361 -3.81738l-33.9189 21.1953c-5.62012 3.51172 -7.33008 10.9131 -3.82031 16.5332l17.9629 28.7656c37.6074 60.1709 125.295 60.0332 162.816 0
l41.2627 -66.082l40.6875 25.4238c12.0771 7.55176 27.2646 -3.32324 24.0674 -17.168l-25.4502 -110.236c-1.97363 -8.55273 -10.5166 -13.9893 -19.1885 -11.9902l-110.237 25.4502c-13.8789 3.20508 -16.9297 21.6299 -4.87891 29.1572l40.7402 25.457zM497.288 146.88
c39.9268 -63.8828 -6.13379 -146.88 -81.4082 -146.88h-95.8799v-47.9893c0 -14.3105 -17.3105 -21.3184 -27.3135 -11.3145l-80 79.9883c-6.24805 6.24805 -6.24805 16.3799 0 22.627l80 79.9814c10.0713 10.0703 27.3135 2.90039 27.3135 -11.3125v-47.9814h95.9844
c25.0791 0 40.3926 27.749 27.1357 48.96l-27.5645 44.1123c-3.51172 5.62109 -1.80176 13.0234 3.81836 16.5361l33.8613 21.1582c5.62207 3.51367 13.0264 1.80273 16.5381 -3.82031z" />
    <glyph glyph-name="car" unicode="&#xf1b9;" 
d="M499.99 272c7.80957 0 13.54 -7.33984 11.6494 -14.9102l-6 -24c-1.33008 -5.33984 -6.12988 -9.08984 -11.6396 -9.08984h-20.0703c13.4199 -11.7305 22.0703 -28.7803 22.0703 -48v-48c0 -16.1299 -6.16016 -30.6797 -16 -41.9297v-54.0703
c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v32h-256v-32c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v54.0703c-9.83984 11.2598 -16 25.8096 -16 41.9297v48c0 19.2197 8.65039 36.2695 22.0801 48h-20.0703
c-5.50977 0 -10.3096 3.75 -11.6396 9.08984l-6 24c-1.90039 7.57031 3.83008 14.9102 11.6396 14.9102h59.8604l16.6396 41.5996c17.1104 42.7705 57.9307 70.4004 103.99 70.4004h127c46.0703 0 86.8799 -27.6299 103.98 -70.4004l16.6396 -41.5996h59.8701z
M147.93 289.83l-19.9297 -49.8301h256l-19.9297 49.8301c-7.29004 18.2197 -24.9404 30.1699 -44.5703 30.1699h-127c-19.6299 0 -37.2803 -11.9502 -44.5703 -30.1699zM96 128.2c19.2002 0 48 -3.19043 48 15.9502c0 19.1396 -28.7998 47.8496 -48 47.8496
s-32 -12.7598 -32 -31.9004c0 -19.1396 12.7998 -31.8994 32 -31.8994zM416 128.2c19.2002 0 32 12.7598 32 31.8994c0 19.1406 -12.7998 31.9004 -32 31.9004s-48 -28.71 -48 -47.8496c0 -19.1406 28.7998 -15.9502 48 -15.9502z" />
    <glyph glyph-name="taxi" unicode="&#xf1ba;" 
d="M462 206.36c28.5898 -6.40039 50 -31.8301 50 -62.3604v-48c0 -23.6201 -12.9502 -44.0303 -32 -55.1201v-40.8799c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v32h-256v-32c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32
v40.8799c-19.0498 11.0801 -32 31.4902 -32 55.1201v48c0 30.5303 21.4102 55.96 50 62.3604l22 84.8398c9.59961 35.2002 41.5996 60.7998 76.7998 60.7998h11.2002v32c0 17.6699 14.3301 32 32 32h128c17.6699 0 32 -14.3301 32 -32v-32h11.2002
c35.2002 0 67.2002 -25.5996 76.7998 -60.7998zM96 96c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM116.55 208h278.9l-17.3906 67.1396c-2.01953 7.37988 -9.37988 12.8604 -14.8496 12.8604h-214.4
c-5.46973 0 -12.8291 -5.48047 -15.0596 -13.6396zM416 96c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
    <glyph glyph-name="tree" unicode="&#xf1bb;" horiz-adv-x="384" 
d="M378.31 69.5098c6 -6.79004 7.36035 -16.0898 3.56055 -24.2598c-3.75 -8.0498 -12 -13.25 -21.0098 -13.25h-136.86v-24.4502l30.29 -48.3994c5.32031 -10.6406 -2.41992 -23.1602 -14.3096 -23.1602h-95.9609c-11.8896 0 -19.6299 12.5195 -14.3096 23.1602
l30.29 48.3994v24.4502h-136.86c-9.00977 0 -17.2598 5.2002 -21.0098 13.25c-3.7998 8.16992 -2.43945 17.4697 3.56055 24.2598l79.8896 90.4902h-30.6299c-9.02051 0 -16.9805 5 -20.7803 13.0498c-3.79004 8.0498 -2.54004 17.2598 3.27051 24.04l78.1396 90.9102
h-28.8896c-9.10059 0 -17.3105 5.34961 -20.8701 13.6104c-3.51074 8.12988 -1.86035 17.5898 4.23926 24.0801l110.28 117.479c6.04004 6.4502 17.29 6.4502 23.3203 0l110.27 -117.479c6.10059 -6.49023 7.76074 -15.9502 4.24023 -24.0801
c-3.55957 -8.26074 -11.7598 -13.6104 -20.8604 -13.6104h-28.8896l78.1299 -90.8896c5.83008 -6.79004 7.08008 -16.0107 3.28027 -24.0508c-3.7998 -8.05957 -11.7705 -13.0596 -20.7803 -13.0596h-30.6299z" />
    <glyph glyph-name="database" unicode="&#xf1c0;" horiz-adv-x="448" 
d="M448 374.857v-45.7148c0 -40.2852 -100.333 -73.1426 -224 -73.1426s-224 32.8574 -224 73.1426v45.7148c0 40.2852 100.333 73.1426 224 73.1426s224 -32.8574 224 -73.1426zM448 272v-102.857c0 -40.2852 -100.333 -73.1426 -224 -73.1426s-224 32.8574 -224 73.1426
v102.857c48.125 -33.1426 136.208 -48.5723 224 -48.5723s175.874 15.4297 224 48.5723zM448 112v-102.857c0 -40.2852 -100.333 -73.1426 -224 -73.1426s-224 32.8574 -224 73.1426v102.857c48.125 -33.1426 136.208 -48.5723 224 -48.5723s175.874 15.4297 224 48.5723z
" />
    <glyph glyph-name="file-pdf" unicode="&#xf1c1;" horiz-adv-x="384" 
d="M181.9 191.9c-5 16 -4.90039 46.8994 -2 46.8994c8.39941 0 7.59961 -36.8994 2 -46.8994zM180.2 144.7c9.59961 -17.4004 21.7998 -31.2002 34.5 -40.7998c-23.9004 -4.7002 -44.6006 -14.9004 -62.9004 -21.9004c11.1006 19.4004 20.7002 42.5 28.4004 62.7002z
M86.0996 19.9004c5.80078 15.6992 28.2002 33.8994 34.9004 40.1992c-21.7002 -34.7998 -34.9004 -41 -34.9004 -40.1992zM248 288h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136
c0 -13.2002 10.7998 -24 24 -24zM240 116.2c-20 12.2002 -33.2998 29 -42.7002 53.7998c4.5 18.5 11.6006 46.5996 6.2002 64.2002c-4.7002 29.3994 -42.4004 26.5 -47.7998 6.7998c-5 -18.2998 -0.400391 -44.0996 8.09961 -77
c-11.5996 -27.5996 -28.7002 -64.5996 -40.7998 -85.7998c-0.0996094 0 -0.0996094 -0.100586 -0.200195 -0.100586c-27.0996 -13.8994 -73.5996 -44.5 -54.5 -68c5.60059 -6.89941 16 -10 21.5 -10c17.9004 0 35.7002 18 61.1006 61.8008
c25.7998 8.5 54.0996 19.0996 79 23.1992c21.6992 -11.7998 47.0996 -19.5 64 -19.5c29.1992 0 31.1992 32 19.6992 43.4004c-13.8994 13.5996 -54.2998 9.7002 -73.5996 7.2002zM377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6c6.40039 0 12.5 -2.5 17 -7z
M302.9 87.7002c0 0 -5.7002 -6.7998 -42.8008 9c40.3008 2.89941 46.9004 -6.2998 42.8008 -9z" />
    <glyph glyph-name="file-word" unicode="&#xf1c2;" horiz-adv-x="384" 
d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM281.1 192c-5.59961 0 -10.5 -3.90039 -11.5 -9.5c-24.1992 -111.4 -21.7998 -118 -21.5996 -129.2
c-0.799805 5.40039 -5.59961 29 -29.5996 129.4c-1.30078 5.39941 -6.10059 9.2002 -11.7002 9.2002h-29.1006c-5.59961 0 -10.3994 -3.7002 -11.6992 -9.10059c-22.1006 -90 -27.8008 -112.5 -29.4004 -122.7c-0.900391 12.7002 -5.40039 44.2002 -21 122.2
c-1.09961 5.7002 -6.09961 9.7002 -11.7998 9.7002h-24.5c-7.7002 0 -13.4004 -7.09961 -11.7002 -14.5996l37.7998 -168c1.2002 -5.5 6.10059 -9.40039 11.7002 -9.40039h37.0996c5.5 0 10.3008 3.7998 11.6006 9.09961c23.2002 93.1006 24.5 96.2002 25.5996 110.5h0.5
c4.7998 -29.2998 -0.200195 -7 25.6006 -110.5c1.2998 -5.2998 6.09961 -9.09961 11.5996 -9.09961h38c5.59961 0 10.5 3.7998 11.7002 9.2998l38 168c1.7002 7.60059 -4 14.7002 -11.7002 14.7002h-23.9004zM384 326.1v-6.09961h-128v128h6.09961
c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004z" />
    <glyph glyph-name="file-excel" unicode="&#xf1c3;" horiz-adv-x="384" 
d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM284.1 205.5c5.10059 8 -0.599609 18.5 -10.0996 18.4004h-34.7998
c-4.40039 0 -8.5 -2.40039 -10.6006 -6.30078c-30.5 -56.7998 -36.5996 -68.5 -36.5996 -68.5c-16.5996 34.9004 -10.5 19.7002 -36.5996 68.5c-2.10059 3.90039 -6.2002 6.30078 -10.6006 6.30078h-34.7998c-9.5 0 -15.2998 -10.5 -10.0996 -18.5l60.2998 -93.5
l-60.2998 -93.5c-5.10059 -8 0.599609 -18.5 10.0996 -18.5h34.9004c4.39941 0 8.39941 2.39941 10.5 6.2998c26.5996 48.7998 30.1992 54 36.5996 68.7998c0 0 16.9004 -32.5 36.5 -68.7002c2.09961 -3.89941 6.2002 -6.2998 10.5996 -6.2998h34.9004
c9.5 0 15.2002 10.5 10.0996 18.5l-60.0996 93.5zM384 326.1v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004z" />
    <glyph glyph-name="file-powerpoint" unicode="&#xf1c4;" horiz-adv-x="384" 
d="M193.7 176.8c8.7998 0 15.5 -2.7002 20.2998 -8.09961c9.59961 -10.9004 9.7998 -32.7002 -0.200195 -44.1006c-4.89941 -5.59961 -11.8994 -8.5 -21.0996 -8.5h-26.9004v60.7002h27.9004zM377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6
c6.40039 0 12.5 -2.5 17 -7zM224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM277 146.8c0 44.2002 -28.4004 77 -72.9004 77h-81
c-6.59961 0 -12 -5.39941 -12 -12v-199.8c0 -6.59961 5.40039 -12 12 -12h30.8008c6.59961 0 12 5.40039 12 12v57.2002c22.2998 0 111.1 -12.7002 111.1 77.5996z" />
    <glyph glyph-name="file-image" unicode="&#xf1c5;" horiz-adv-x="384" 
d="M384 326.059v-6.05859h-128v128h6.05859c6.62305 0 12.626 -2.68457 16.9707 -7.0293l97.9404 -97.9404c4.34473 -4.34473 7.03027 -10.3477 7.03027 -16.9717zM248 288h136v-328c0 -13.2549 -10.7451 -24 -24 -24h-336c-13.2549 0 -24 10.7451 -24 24v464
c0 13.2549 10.7451 24 24 24h200v-136c0 -13.2002 10.7998 -24 24 -24zM112.545 272c-26.5088 0 -48 -21.4902 -48 -48s21.4902 -48 48 -48s48 21.4902 48 48s-21.4902 48 -48 48zM320.545 32v112l-39.5137 39.5146c-4.6875 4.68652 -12.2852 4.68652 -16.9717 0
l-103.515 -103.515l-39.5146 39.5146c-4.68652 4.68652 -11.7988 5.1709 -16.4854 0.485352l-39.5146 -39.5146l-0.485352 -48.4854h256z" />
    <glyph glyph-name="file-archive" unicode="&#xf1c6;" horiz-adv-x="384" 
d="M377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7zM128.4 112c17.8994 0 32.5 -12.0996 32.5 -27s-14.5 -27 -32.4004 -27s-32.5 12 -32.5 27c0 14.9004 14.5 27 32.4004 27zM224 312c0 -13.2002 10.7998 -24 24 -24h136
v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h104.4v-32h32v32h63.5996v-136zM95.9004 416v-32h32v32h-32zM128.2 32c33 0 57.7998 30.2002 51.3994 62.5996l-17.2998 87.7002
c-1.09961 5.60059 -6.09961 9.7002 -11.7998 9.7002h-22.0996v32h32v32h-32v32h32v32h-32v32h32v32h-32v-32h-32v-32h32v-32h-32v-32h32v-32h-32v-32l-19.6006 -97.0996c-6.59961 -32.5 18.2002 -62.9004 51.4004 -62.9004z" />
    <glyph glyph-name="file-audio" unicode="&#xf1c7;" horiz-adv-x="384" 
d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM160 44v136c0 10.7002 -12.9004 16.0996 -20.5 8.5l-35.5 -36.5h-28c-6.59961 0 -12 -5.40039 -12 -12
v-56c0 -6.59961 5.40039 -12 12 -12h28l35.5 -36.5c7.59961 -7.5 20.5 -2.2002 20.5 8.5zM193.2 91.5996c-22.5 -23.0996 12.5996 -55.7998 34.3994 -33.5c27.2002 28 27.2002 72.5 0 100.4c-22.1992 22.7002 -56.5 -10.7002 -34.3994 -33.5
c9.09961 -9.2998 9.09961 -24.0996 0 -33.4004zM279.2 208.7c-22.1006 22.7998 -56.5 -10.7002 -34.4004 -33.5c36.2998 -37.2998 36.2002 -96.6006 0 -133.8c-22.5996 -23.2002 12.6006 -55.9004 34.4004 -33.5c54.3994 56 54.3994 144.899 0 200.8zM384 326.1v-6.09961
h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004z" />
    <glyph glyph-name="file-video" unicode="&#xf1c8;" horiz-adv-x="384" 
d="M384 326.059v-6.05859h-128v128h6.05859c6.36523 0 12.4707 -2.5293 16.9717 -7.0293l97.9404 -97.9404c4.34375 -4.34473 7.0293 -10.3486 7.0293 -16.9717zM224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2549 -10.7451 -24 -24 -24h-336
c-13.2549 0 -24 10.7451 -24 24v464c0 13.2549 10.7451 24 24 24h200v-136zM320 167.984c0 21.4609 -25.96 31.9795 -40.9707 16.9697l-55.0293 -55.0127v38.0586c0 13.2549 -10.7451 24 -24 24h-112c-13.2549 0 -24 -10.7451 -24 -24v-112c0 -13.2549 10.7451 -24 24 -24
h112c13.2549 0 24 10.7451 24 24v38.0586l55.0293 -55.0088c15.0273 -15.0264 40.9707 -4.47363 40.9707 16.9717v111.963z" />
    <glyph glyph-name="file-code" unicode="&#xf1c9;" horiz-adv-x="384" 
d="M384 326.059v-6.05859h-128v128h6.05859c6.36523 0 12.4707 -2.5293 16.9717 -7.0293l97.9404 -97.9404c4.34375 -4.34473 7.0293 -10.3486 7.0293 -16.9717zM248 288h136v-328c0 -13.2549 -10.7451 -24 -24 -24h-336c-13.2549 0 -24 10.7451 -24 24v464
c0 13.2549 10.7451 24 24 24h200v-136c0 -13.2002 10.7998 -24 24 -24zM123.206 47.4951l19.5791 20.8838c0.905273 0.96582 1.46289 2.26562 1.46289 3.69238c0 1.61426 -0.709961 3.06445 -1.83496 4.05469l-40.7627 35.874l40.7627 35.874
c1.125 0.990234 1.83203 2.44043 1.83203 4.05566c0 1.42676 -0.554688 2.72559 -1.45996 3.69141l-19.5791 20.8848c-0.985352 1.05176 -2.3877 1.70703 -3.94141 1.70703c-1.42676 0 -2.72559 -0.555664 -3.69141 -1.46094l-64.8662 -60.8115
c-1.05078 -0.986328 -1.70801 -2.38672 -1.70801 -3.93945c0 -1.55371 0.657227 -2.9541 1.70801 -3.94043l64.8662 -60.8115c0.96582 -0.905273 2.26562 -1.46289 3.69336 -1.46289c1.55273 0 2.9541 0.657227 3.93945 1.70898zM174.501 -2.98438
c0.478516 -0.138672 0.982422 -0.212891 1.50488 -0.212891c2.45801 0 4.53418 1.64551 5.18555 3.89453l61.4395 211.626c0.138672 0.478516 0.213867 0.982422 0.213867 1.50488c0 2.45801 -1.64551 4.53418 -3.89355 5.18652l-27.4521 7.9707
c-0.477539 0.138672 -0.981445 0.212891 -1.50391 0.212891c-2.45801 0 -4.53516 -1.64551 -5.18848 -3.89453l-61.4395 -211.626c-0.138672 -0.477539 -0.212891 -0.981445 -0.212891 -1.50293c0 -2.45898 1.64551 -4.53516 3.89355 -5.18848zM335.293 108.061
c1.05176 0.986328 1.70898 2.38672 1.70898 3.94043c0 1.55273 -0.657227 2.95312 -1.70801 3.93945l-64.8662 60.8115c-0.96582 0.905273 -2.26562 1.46289 -3.69336 1.46289c-1.55273 0 -2.9541 -0.657227 -3.93945 -1.70898l-19.5801 -20.8848
c-0.905273 -0.96582 -1.46289 -2.26562 -1.46289 -3.69238c0 -1.61426 0.709961 -3.06445 1.83496 -4.05469l40.7627 -35.874l-40.7637 -35.873c-1.125 -0.990234 -1.83203 -2.44043 -1.83203 -4.05566c0 -1.42676 0.554688 -2.72559 1.45996 -3.69141l19.5801 -20.8848
c0.985352 -1.05176 2.3877 -1.70703 3.94141 -1.70703c1.42676 0 2.72559 0.555664 3.69141 1.46094z" />
    <glyph glyph-name="life-ring" unicode="&#xf1cd;" 
d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM429.696 320.441c-12.8584 17.3291 -27.9258 32.3965 -45.2549 45.2549l-63.3994 -63.3994c18.585 -11.0029 34.2676 -26.6963 45.2549 -45.2549zM256 96
c53.0186 0 96 42.9814 96 96s-42.9814 96 -96 96s-96 -42.9814 -96 -96s42.9814 -96 96 -96zM127.559 365.696c-17.3291 -12.8584 -32.3965 -27.9258 -45.2549 -45.2549l63.3994 -63.3994c11.0029 18.585 26.6963 34.2676 45.2549 45.2549zM82.3037 63.5586
c12.8584 -17.3291 27.9258 -32.3965 45.2549 -45.2549l63.3994 63.3994c-18.585 11.0029 -34.2676 26.6963 -45.2549 45.2549zM384.441 18.3037c17.3291 12.8584 32.3965 27.9258 45.2549 45.2549l-63.3994 63.3994c-11.0029 -18.585 -26.6963 -34.2676 -45.2549 -45.2549z
" />
    <glyph glyph-name="circle-notch" unicode="&#xf1ce;" 
d="M288 408.944c0 15.5996 14.6777 27.167 29.7891 23.292c107.071 -27.457 186.211 -124.604 186.211 -240.236c0 -136.788 -110.745 -247.711 -247.466 -247.999c-137.054 -0.289062 -247.812 109.615 -248.531 246.667c-0.609375 116.126 78.5996 213.85 185.951 241.502
c15.2119 3.91895 30.0459 -7.52539 30.0459 -23.2344v-16.6475c0 -10.8047 -7.28125 -20.1621 -17.6885 -23.0693c-77.5254 -21.6543 -134.312 -92.749 -134.312 -177.219c0 -101.705 82.3105 -184 184 -184c101.705 0 184 82.3105 184 184
c0 84.4824 -56.7959 155.566 -134.314 177.219c-10.4043 2.90723 -17.6855 12.2627 -17.6855 23.0664v16.6592z" />
    <glyph glyph-name="paper-plane" unicode="&#xf1d8;" 
d="M476 444.8c17.2998 10 39 -4.59961 35.5996 -24.7998l-72 -432c-2.59961 -15.2998 -18.7998 -24.2002 -33 -18.2002l-124.6 52.2002l-63.5 -77.2998c-14 -17.1006 -42.5 -7.7998 -42.5 15.7998v80.5l240.9 293.5c4.69922 5.7002 -3.10059 13.2002 -8.60059 8.2998
l-287.3 -253.2l-106.3 44.6006c-18 7.59961 -20.2998 32.7998 -2.2002 43.2002z" />
    <glyph glyph-name="history" unicode="&#xf1da;" 
d="M504 192.469c0.25293 -136.64 -111.18 -248.372 -247.82 -248.468c-59.0146 -0.0419922 -113.223 20.5303 -155.821 54.9111c-11.0771 8.93945 -11.9053 25.541 -1.83984 35.6064l11.2676 11.2676c8.6084 8.6084 22.3525 9.55078 31.8906 1.9834
c31.3848 -24.9043 71.1045 -39.7695 114.323 -39.7695c101.705 0 184 82.3105 184 184c0 101.705 -82.3105 184 -184 184c-48.8145 0 -93.1494 -18.9688 -126.068 -49.9316l50.7539 -50.7539c10.0801 -10.0801 2.94141 -27.3145 -11.3125 -27.3145h-145.373
c-8.83691 0 -16 7.16309 -16 16v145.373c0 14.2539 17.2344 21.3926 27.3145 11.3135l49.3711 -49.3711c44.5234 42.5488 104.866 68.6846 171.314 68.6846c136.81 0 247.747 -110.78 248 -247.531zM323.088 113.685c-8.1377 -10.4629 -23.2158 -12.3467 -33.6787 -4.20996
l-65.4092 50.874v135.651c0 13.2549 10.7451 24 24 24h16c13.2549 0 24 -10.7451 24 -24v-104.349l40.7012 -31.6572c10.4629 -8.13672 12.3477 -23.2158 4.20996 -33.6787z" />
    <glyph glyph-name="heading" unicode="&#xf1dc;" 
d="M448 352v-320h32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-160c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32v128h-192v-128h32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-160
c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32v320h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h160c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32v-128h192v128h-32c-8.83105 0 -16 7.16895 -16 16v32
c0 8.83105 7.16895 16 16 16h160c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32z" />
    <glyph glyph-name="paragraph" unicode="&#xf1dd;" horiz-adv-x="448" 
d="M448 400v-32c0 -8.83105 -7.16895 -16 -16 -16h-48v-368c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v368h-32v-368c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v112h-32c-88.3066 0 -160 71.6934 -160 160
s71.6934 160 160 160h240c8.83105 0 16 -7.16895 16 -16z" />
    <glyph glyph-name="sliders-h" unicode="&#xf1de;" 
d="M496 64c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-336v-16c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v16h-80c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h80v16c0 8.7998 7.2002 16 16 16h32
c8.7998 0 16 -7.2002 16 -16v-16h336zM496 224c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-80v-16c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v16h-336c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h336v16
c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-16h80zM496 384c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-208v-16c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v16h-208c-8.7998 0 -16 7.2002 -16 16v32
c0 8.7998 7.2002 16 16 16h208v16c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-16h208z" />
    <glyph glyph-name="share-alt" unicode="&#xf1e0;" horiz-adv-x="448" 
d="M352 128c53.0186 0 96 -42.9814 96 -96s-42.9814 -96 -96 -96s-96 42.9814 -96 96c0 0.00976562 0.00292969 -0.0429688 0.00292969 -0.0332031c0 7.16699 0.785156 14.1523 2.27344 20.874l-102.486 64.0537c-16.4033 -13.0752 -37.1816 -20.8945 -59.79 -20.8945
c-53.0186 0 -96 42.9814 -96 96s42.9814 96 96 96c22.6084 0 43.3867 -7.81934 59.79 -20.8945l102.486 64.0537c-1.48633 6.71094 -2.27637 13.6826 -2.27637 20.8408c0 53.0186 42.9814 96 96 96s96 -42.9814 96 -96s-42.9814 -96 -96 -96
c-22.6084 0 -43.3867 7.81934 -59.79 20.8965l-102.486 -64.0547c1.48828 -6.73145 2.27344 -13.6025 2.27344 -20.7793s-0.785156 -14.1719 -2.27344 -20.9033l102.486 -64.0537c16.4033 13.0752 37.1816 20.8945 59.79 20.8945z" />
    <glyph glyph-name="share-alt-square" unicode="&#xf1e1;" horiz-adv-x="448" 
d="M448 368v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48zM304 152c-14.5615 0 -27.8232 -5.56055 -37.7832 -14.6709l-67.958 40.7744
c1.13379 4.45312 1.73633 9.11719 1.73633 13.9199c0 4.80371 -0.602539 9.4209 -1.73633 13.874l67.958 40.7744c9.95996 -9.11133 23.2217 -14.6719 37.7832 -14.6719c30.9277 0 56 25.0723 56 56s-25.0723 56 -56 56s-56 -25.0723 -56 -56
c0 -4.79688 0.605469 -9.45312 1.74023 -13.8975l-67.958 -40.7744c-9.95898 9.11133 -23.2207 14.6719 -37.7822 14.6719c-30.9277 0 -56 -25.0723 -56 -56s25.0723 -56 56 -56c14.5615 0 27.8232 5.56055 37.7832 14.6709l67.958 -40.7744
c-1.13281 -4.44141 -1.73535 -9.09375 -1.73535 -13.8857c0 -0.0117188 -0.00488281 0 -0.00488281 -0.0117188c0 -30.9277 25.0723 -56 56 -56s56 25.0723 56 56c-0.000976562 30.9287 -25.0732 56.001 -56.001 56.001z" />
    <glyph glyph-name="bomb" unicode="&#xf1e2;" 
d="M440.5 359.5l-52 -52l26.5 -26.5c9.40039 -9.40039 9.40039 -24.5996 0 -33.9004l-17.4004 -17.3994c11.8008 -26.1006 18.4004 -55.1006 18.4004 -85.6006c0 -114.899 -93.0996 -208 -208 -208s-208 93 -208 207.9s93.0996 208 208 208
c30.5 0 59.5 -6.59961 85.5996 -18.4004l17.4004 17.4004c9.40039 9.40039 24.5996 9.40039 33.9004 0l26.5 -26.5l52 52zM500 388c6.59961 0 12 -5.40039 12 -12s-5.40039 -12 -12 -12h-24c-6.59961 0 -12 5.40039 -12 12s5.40039 12 12 12h24zM440 448
c6.59961 0 12 -5.40039 12 -12v-24c0 -6.59961 -5.40039 -12 -12 -12s-12 5.40039 -12 12v24c0 6.59961 5.40039 12 12 12zM473.9 393c-4.60059 -4.7002 -12.2002 -4.7002 -17 0c-4.7002 4.7002 -4.7002 12.2998 0 17l17 17c4.69922 4.7002 12.2998 4.7002 17 0
c4.69922 -4.7002 4.69922 -12.2998 0 -17zM406.1 393l-17 17c-4.69922 4.7002 -4.69922 12.2998 0 17c4.7002 4.7002 12.3008 4.7002 17 0l17 -17c4.7002 -4.7002 4.7002 -12.2998 0 -17c-4.69922 -4.7002 -12.2998 -4.7002 -17 0zM473.9 359l17 -17
c4.69922 -4.7002 4.69922 -12.2998 0 -17c-4.7002 -4.7002 -12.3008 -4.7002 -17 0l-17 17c-4.7002 4.7002 -4.7002 12.2998 0 17c4.69922 4.7002 12.2998 4.7002 17 0zM112 176c0 35.2998 28.7002 64 64 64c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16
c-52.9004 0 -96 -43.0996 -96 -96c0 -8.7998 7.2002 -16 16 -16s16 7.2002 16 16z" />
    <glyph glyph-name="futbol" unicode="&#xf1e3;" 
d="M504 192c0 -136.967 -111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248s248 -111.033 248 -248zM456 192l-0.00292969 0.282227l-26.0645 -22.7412l-62.6787 58.5l16.4541 84.3555l34.3027 -3.07227
c-24.8887 34.2158 -60.0039 60.0889 -100.709 73.1406l13.6514 -31.9385l-74.9531 -41.5264l-74.9531 41.5254l13.6514 31.9385c-40.6309 -13.0283 -75.7803 -38.8701 -100.709 -73.1406l34.5645 3.07324l16.1924 -84.3555l-62.6777 -58.5l-26.0645 22.7412
l-0.00292969 -0.282227c0 -43.0146 13.4971 -83.9521 38.4717 -117.991l7.7041 33.8975l85.1387 -10.4473l36.3008 -77.8262l-29.9023 -17.7861c40.2021 -13.1221 84.29 -13.1475 124.572 0l-29.9023 17.7861l36.3008 77.8262l85.1387 10.4473l7.7041 -33.8975
c24.9756 34.0391 38.4727 74.9766 38.4727 117.991zM207.898 122.429l-29.8945 91.3125l77.9961 56.5264l77.9961 -56.5264l-29.6221 -91.3125h-96.4756z" />
    <glyph glyph-name="tty" unicode="&#xf1e4;" 
d="M5.37012 344.178c138.532 138.532 362.936 138.326 501.262 0c6.07812 -6.07812 7.07422 -15.4961 2.58301 -22.6807l-43.2139 -69.1377c-3.24023 -5.18457 -8.99902 -8.63672 -15.5576 -8.63672c-2.40137 0 -4.69531 0.490234 -6.79883 1.33105l-86.4219 34.5693
c-6.75684 2.70312 -11.5352 9.31348 -11.5352 17.0312c0 0.621094 0.0410156 1.20898 0.101562 1.81445l5.95215 59.5312c-62.1455 22.4541 -130.636 21.9863 -191.483 0l5.95312 -59.5322c0.0605469 -0.606445 0.0917969 -1.22168 0.0917969 -1.84375
c0 -7.7168 -4.76855 -14.2998 -11.5254 -17.002l-86.4238 -34.5684c-2.10254 -0.84082 -4.39648 -1.30371 -6.79785 -1.30371c-6.55859 0 -12.3174 3.4248 -15.5576 8.60938l-43.2109 69.1387c-1.75879 2.81348 -2.77539 6.1377 -2.77539 9.69727
c0 5.05859 2.04004 9.66406 5.3584 12.9824zM96 140c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM192 140c0 -6.62695 -5.37305 -12 -12 -12h-40
c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM288 140c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM384 140
c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM480 140c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40
c6.62695 0 12 -5.37305 12 -12v-40zM144 44c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM240 44c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40
c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM336 44c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM432 44c0 -6.62695 -5.37305 -12 -12 -12h-40
c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM96 -52c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM384 -52
c0 -6.62695 -5.37305 -12 -12 -12h-232c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h232c6.62695 0 12 -5.37305 12 -12v-40zM480 -52c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40
c6.62695 0 12 -5.37305 12 -12v-40z" />
    <glyph glyph-name="binoculars" unicode="&#xf1e5;" 
d="M416 400v-48h-96v48c0 8.83984 7.16016 16 16 16h64c8.83984 0 16 -7.16016 16 -16zM63.9102 288.01c0.479492 17.6201 14.2998 31.9902 31.9297 31.9902h96.1602v-160h-32v-160c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v44
c3.45996 129.78 61.4004 150.16 63.9102 244.01zM448.09 288.01c2.50977 -93.8496 60.4502 -114.229 63.9102 -244.01v-44c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v160h-32v160h96.1602c17.6299 0 31.4502 -14.3701 31.9297 -31.9902zM176 416
c8.83984 0 16 -7.16016 16 -16v-48h-96v48c0 8.83984 7.16016 16 16 16h64zM224 160v160h64v-160h-64z" />
    <glyph glyph-name="plug" unicode="&#xf1e6;" horiz-adv-x="384" 
d="M320 416v-96h-64v96c0 17.6611 14.3389 32 32 32s32 -14.3389 32 -32zM368 288c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-16v-32c-0.0117188 -77.3096 -55.0684 -141.886 -128 -156.8v-99.2002h-64v99.2002
c-72.9316 14.9141 -127.988 79.4902 -128 156.8v32h-16c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h352zM128 416v-96h-64v96c0 17.6611 14.3389 32 32 32s32 -14.3389 32 -32z" />
    <glyph glyph-name="newspaper" unicode="&#xf1ea;" horiz-adv-x="576" 
d="M552 384c13.2549 0 24 -10.7451 24 -24v-312c0 -26.5098 -21.4902 -48 -48 -48h-472c-30.9277 0 -56 25.0723 -56 56v272c0 13.2549 10.7451 24 24 24h40v8c0 13.2549 10.7451 24 24 24h464zM56 48c4.41504 0 8 3.58496 8 8v248h-16v-248c0 -4.41504 3.58496 -8 8 -8z
M292 64c6.62695 0 12 5.37305 12 12v8c0 6.62695 -5.37305 12 -12 12h-152c-6.62695 0 -12 -5.37305 -12 -12v-8c0 -6.62695 5.37305 -12 12 -12h152zM500 64c6.62695 0 12 5.37305 12 12v8c0 6.62695 -5.37305 12 -12 12h-152c-6.62695 0 -12 -5.37305 -12 -12v-8
c0 -6.62695 5.37305 -12 12 -12h152zM292 160c6.62695 0 12 5.37305 12 12v8c0 6.62695 -5.37305 12 -12 12h-152c-6.62695 0 -12 -5.37305 -12 -12v-8c0 -6.62695 5.37305 -12 12 -12h152zM500 160c6.62695 0 12 5.37305 12 12v8c0 6.62695 -5.37305 12 -12 12h-152
c-6.62695 0 -12 -5.37305 -12 -12v-8c0 -6.62695 5.37305 -12 12 -12h152zM500 256c6.62695 0 12 5.37305 12 12v40c0 6.62695 -5.37305 12 -12 12h-360c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h360z" />
    <glyph glyph-name="wifi" unicode="&#xf1eb;" horiz-adv-x="640" 
d="M634.91 293.12c6.66016 -6.16016 6.79004 -16.5898 0.359375 -22.9805l-34.2393 -33.9697c-6.14062 -6.08984 -16.0205 -6.22949 -22.4004 -0.379883c-145.95 133.71 -371.33 133.68 -517.25 0c-6.37988 -5.84961 -16.2598 -5.71973 -22.3994 0.379883l-34.2402 33.9697
c-6.44043 6.39062 -6.31055 16.8203 0.349609 22.9805c177.101 163.81 452.65 163.87 629.82 0zM320 96c35.3496 0 64 -28.6504 64 -64s-28.6504 -64 -64 -64s-64 28.6504 -64 64s28.6504 64 64 64zM522.67 179.59c6.88965 -6.08984 7.12012 -16.6895 0.560547 -23.1494
l-34.4404 -33.9902c-6 -5.93066 -15.6602 -6.32031 -22.0498 -0.799805c-83.75 72.4092 -209.54 72.5693 -293.49 0c-6.38965 -5.52051 -16.0498 -5.12012 -22.0498 0.799805l-34.4404 33.9902c-6.5498 6.45996 -6.33008 17.0498 0.570312 23.1494
c115.13 101.82 290.08 101.93 405.34 0z" />
    <glyph glyph-name="calculator" unicode="&#xf1ec;" horiz-adv-x="448" 
d="M400 448c25.5996 0 48 -22.4004 48 -48v-416c0 -25.5996 -22.4004 -48 -48 -48h-352c-25.5996 0 -48 22.4004 -48 48v416c0 25.5996 22.4004 48 48 48h352zM128 12.7998v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004
c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998zM128 140.8v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004
c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998zM256 12.7998v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004
c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998zM256 140.8v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004
c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998zM384 12.7998v166.4c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004
c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-166.4c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998zM384 268.8v102.4c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-294.4
c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-102.4c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h294.4c6.39941 0 12.7998 6.40039 12.7998 12.7998z" />
    <glyph glyph-name="bell-slash" unicode="&#xf1f6;" horiz-adv-x="640" 
d="M633.82 -10.0996c6.97949 -5.43066 8.22949 -15.4805 2.80957 -22.4502l-19.6396 -25.2705c-5.43066 -6.97949 -15.4805 -8.23926 -22.46 -2.80957l-588.351 454.729c-6.97949 5.43066 -8.22949 15.4805 -2.80957 22.4502l19.6396 25.2705
c5.41992 6.97949 15.4805 8.22949 22.46 2.80957l144.96 -112.04c22.9307 31.5 57.2607 54.1904 97.5898 62.5703v20.8398c0 17.6699 14.3203 32 31.9805 32s31.9805 -14.3301 31.9805 -32v-20.8301c73.46 -15.2598 127.939 -77.46 127.939 -155.16
c0 -102.3 36.1504 -133.529 55.4697 -154.29c6 -6.43945 8.66016 -14.1602 8.61035 -21.71c0 -1.39941 -0.610352 -2.67969 -0.799805 -4.05957zM157.23 196.46l212.789 -164.46h-241.92c-19.1191 0 -31.9893 15.5996 -32.0996 32
c-0.0498047 7.5498 2.61035 15.2598 8.61035 21.71c16.21 17.4199 44.0098 42.79 52.6201 110.75zM320 -64c-35.3203 0 -63.9697 28.6504 -63.9697 64h127.939c0 -35.3496 -28.6494 -64 -63.9697 -64z" />
    <glyph glyph-name="trash" unicode="&#xf1f8;" horiz-adv-x="448" 
d="M432 416c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-416c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h120l9.40039 18.7002c3.85547 7.88574 11.9434 13.2998 21.3066 13.2998h0.0927734h114.3
c0.00585938 0 -0.00195312 0.0234375 0.00390625 0.0234375c9.41113 0 17.5645 -5.42871 21.4961 -13.3232l9.40039 -18.7002h120zM53.2002 -19l-21.2002 339h384l-21.2002 -339c-1.57031 -25.0762 -22.4316 -44.9971 -47.8994 -45h-245.801
c-25.4678 0.00292969 -46.3291 19.9238 -47.8994 45z" />
    <glyph glyph-name="copyright" unicode="&#xf1f9;" 
d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM373.134 93.2471c1.78516 2.09473 2.86035 4.82812 2.86035 7.79395c0 2.64355 -0.856445 5.08789 -2.30762 7.07227l-24.5469 33.5713
c-4.44824 6.08691 -13.376 6.61816 -18.5078 1.05371c-0.263672 -0.287109 -26.8467 -28.625 -65.5439 -28.625c-48.7627 0 -74.2773 40.0898 -74.2773 79.6914c0 42.5068 27.8008 76.082 73.916 76.082c35.3516 0 61.6475 -23.666 61.8809 -23.8799
c5.45996 -5.05566 14.1846 -3.97168 18.2334 2.29492l22.3799 34.6553c1.20996 1.87305 1.91895 4.12109 1.91895 6.51465c0 3.125 -1.19727 5.97168 -3.15625 8.1084c-1.45703 1.58887 -36.4658 38.9043 -103.423 38.9043c-81.7578 0 -143.762 -62.0986 -143.762 -143.401
c0 -82.3066 59.792 -145.567 144.484 -145.567c70.0752 0 108.259 43.8643 109.851 45.7314z" />
    <glyph glyph-name="at" unicode="&#xf1fa;" 
d="M256 440c138.023 0 248 -87.6533 248 -224c0 -75.7979 -41.3906 -147.41 -150.299 -147.41c-30.0977 0 -61.1885 -0.000976562 -70.71 34.1035c-17.6221 -22.6963 -48.0068 -38.333 -74.9912 -38.333c-59.2148 0 -96 40.5664 -96 105.87
c0 89.2256 63.251 151.46 137.831 151.46c19.5225 0 45.2744 -3.87402 59.9707 -21.7754l0.00976562 0.0917969c0.765625 6.7373 6.49219 11.9932 13.4326 11.9932h44.9805c15.083 0 26.4287 -13.75 23.5625 -28.5586l-23.4336 -121.11
c-3.43359 -17.167 -3.87207 -29.5703 13.4766 -30.0244c37.0771 3.95117 58.1699 44.9072 58.1699 83.6934c0 102.381 -83.8613 160 -184 160c-101.458 0 -184 -82.542 -184 -184s82.542 -184 184 -184c35.3145 0 69.9199 10.2432 99.4102 29.1572
c10.1934 6.53809 23.7021 4.24219 31.373 -5.12891l10.1768 -12.4336c9.07324 -11.084 6.45312 -27.5566 -5.55176 -35.3721c-40.0664 -26.083 -87.2539 -40.2227 -135.408 -40.2227c-137.081 0 -248 110.941 -248 248c0 137.081 110.941 248 248 248zM234.32 135.57
c24.2861 0 58.1611 27.6689 58.1611 72.7295c0 25.5293 -13.3096 40.7705 -35.6016 40.7705c-27.8506 0 -58.6299 -27.7363 -58.6299 -72.7295c0 -25.1475 13.8213 -40.7705 36.0703 -40.7705z" />
    <glyph glyph-name="eye-dropper" unicode="&#xf1fb;" 
d="M50.75 114.75l126.63 126.61l128 -128l-126.64 -126.62c-12 -12 -28.2803 -18.7402 -45.25 -18.7402h-45.4902l-56 -32l-32 32l32 56v45.4902c0 16.9795 6.75 33.2598 18.75 45.2598zM483.88 419.88c37.5 -37.4902 37.5 -98.2695 -0.00976562 -135.75l-77.0898 -77.0898
l13.0996 -13.0996c9.37012 -9.37012 9.37012 -24.5703 0 -33.9404l-40.9697 -40.96c-9.29004 -9.30957 -24.5 -9.44043 -33.9404 0l-161.939 161.94c-9.37012 9.36914 -9.37012 24.5693 0 33.9395l40.9697 40.9697c9.29004 9.31055 24.5 9.44043 33.9404 0l13.0996 -13.0996
l77.0898 77.0898c37.4697 37.5 98.2803 37.5 135.75 0z" />
    <glyph glyph-name="paint-brush" unicode="&#xf1fc;" 
d="M167.02 138.66l88.0107 -73.3398c0.319336 -3.05078 0.969727 -6.02051 0.969727 -9.12988c0 -76.4209 -52.1396 -120.19 -128 -120.19c-90.0703 0 -128 72.3799 -128.01 154.73c9.79004 -6.68066 44.1396 -34.3506 55.25 -34.3506
c6.58984 0 12.2402 3.77051 14.5898 9.98047c20.6602 54.4395 57.0703 69.7197 97.1895 72.2998zM457.89 448c28.1104 0 54.1104 -20.6396 54.1104 -49.5498c0 -16.1406 -6.51953 -31.6406 -13.9004 -45.9902c-113.05 -210.99 -149.05 -256.46 -211.159 -256.46
c-7.75 0 -15.1807 1.23047 -22.3906 3.03027l-63.8193 53.1797c-5.48047 11.9404 -8.73047 25 -8.73047 38.7002c0 53.75 21.2695 58.04 225.68 240.64c10.8398 9.74023 25.0508 16.4502 40.21 16.4502z" />
    <glyph glyph-name="birthday-cake" unicode="&#xf1fd;" horiz-adv-x="448" 
d="M448 64c-28.0195 0 -31.2598 32 -74.5 32c-43.4297 0 -46.8252 -32 -74.75 -32c-27.6953 0 -31.4541 32 -74.75 32c-42.8418 0 -47.2178 -32 -74.5 -32c-28.1484 0 -31.2021 32 -74.75 32c-43.5469 0 -46.6533 -32 -74.75 -32v80c0 26.5 21.5 48 48 48h16v144h64v-144h64
v144h64v-144h64v144h64v-144h16c26.5 0 48 -21.5 48 -48v-80zM448 -64h-448v96c43.3564 0 46.7666 32 74.75 32c27.9512 0 31.2529 -32 74.75 -32c42.8428 0 47.2168 32 74.5 32c28.1484 0 31.2012 -32 74.75 -32c43.3574 0 46.7666 32 74.75 32
c27.4883 0 31.252 -32 74.5 -32v-96zM96 352c-17.75 0 -32 14.25 -32 32c0 31 32 23 32 64c12 0 32 -29.5 32 -56s-14.25 -40 -32 -40zM224 352c-17.75 0 -32 14.25 -32 32c0 31 32 23 32 64c12 0 32 -29.5 32 -56s-14.25 -40 -32 -40zM352 352c-17.75 0 -32 14.25 -32 32
c0 31 32 23 32 64c12 0 32 -29.5 32 -56s-14.25 -40 -32 -40z" />
    <glyph glyph-name="chart-area" unicode="&#xf1fe;" 
d="M500 64c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-488c-6.59961 0 -12 5.40039 -12 12v360c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-308h436zM372.7 288.5c6 4 14.2002 1.7998 17.3994 -4.7002l89.9004 -187.8h-384v104
l86.7998 144.7c4.40039 7.2998 14.7998 7.7998 19.9004 1l85.2998 -113.7z" />
    <glyph glyph-name="chart-pie" unicode="&#xf200;" horiz-adv-x="544" 
d="M527.79 160c9.5498 0 17.4004 -8.38965 16.0596 -17.8496c-7.80957 -55.25 -34.4297 -104.4 -73.1299 -140.86c-6.20996 -5.84961 -16.1494 -5.36035 -22.1895 0.679688l-158.03 158.03h237.29zM511.96 224.8c0.629883 -9.12012 -7.0498 -16.7998 -16.1904 -16.7998
h-223.77v223.76c0 9.14062 7.67969 16.8301 16.7998 16.2002c119.46 -8.24023 214.92 -103.7 223.16 -223.16zM224 160l155.86 -155.87c6.84961 -6.84961 6.33008 -18.4795 -1.57031 -24.0801c-38.29 -27.1602 -84.8604 -43.3994 -135.26 -44.0303
c-128.2 -1.60938 -238.53 103.471 -242.891 231.61c-4.23926 124.771 86.8506 228.88 206.021 245.72c9.4502 1.34082 17.8398 -6.50977 17.8398 -16.0596v-237.29z" />
    <glyph glyph-name="chart-line" unicode="&#xf201;" 
d="M496 64c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-464c-17.6699 0 -32 14.3301 -32 32v336c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-304h432zM464 352c8.83984 0 16 -7.16016 15.9902 -16v-118.05
c0 -21.3799 -25.8506 -32.0898 -40.9707 -16.9697l-32.3994 32.3994l-96 -96c-12.4902 -12.5 -32.75 -12.5 -45.25 0l-73.3701 73.3701l-46.0596 -46.0703c-6.25 -6.25 -16.3809 -6.25 -22.6309 0l-22.6191 22.6201c-6.25 6.25 -6.25 16.3799 0 22.6299l68.6895 68.6904
c12.4902 12.5 32.75 12.5 45.25 0l73.3701 -73.3701l73.3701 73.3799l-32.4004 32.4004c-15.1201 15.1201 -4.41016 40.9697 16.9707 40.9697h118.06z" />
    <glyph glyph-name="toggle-off" unicode="&#xf204;" horiz-adv-x="576" 
d="M384 384c106.039 0 192 -85.9609 192 -192s-85.9609 -192 -192 -192h-192c-106.039 0 -192 85.9609 -192 192s85.9609 192 192 192h192zM64 192c0 -70.751 57.2588 -128 128 -128c70.751 0 128 57.2588 128 128c0 70.751 -57.2588 128 -128 128
c-70.751 0 -128 -57.2588 -128 -128zM384 64c70.751 0 128 57.2598 128 128c0 70.751 -57.2588 128 -128 128h-48.9053c65.2363 -72.8799 65.2168 -183.142 0 -256h48.9053z" />
    <glyph glyph-name="toggle-on" unicode="&#xf205;" horiz-adv-x="576" 
d="M384 384c106 0 192 -86 192 -192s-86 -192 -192 -192h-192c-106 0 -192 86 -192 192s86 192 192 192h192zM384 64c70.7002 0 128 57.2002 128 128c0 70.7002 -57.2002 128 -128 128c-70.7002 0 -128 -57.2002 -128 -128c0 -70.7002 57.2002 -128 128 -128z" />
    <glyph glyph-name="bicycle" unicode="&#xf206;" horiz-adv-x="640" 
d="M512.509 255.999c70.9502 -0.276367 128.562 -59.0547 127.477 -129.996c-1.07422 -70.1934 -58.6494 -126.681 -129.255 -125.996c-68.8301 0.667969 -126.584 58.8857 -126.729 127.719c-0.078125 37.3564 15.8516 70.9893 41.3066 94.4375l-14.9375 24.0674
l-85.9619 -138.863c-4.23145 -6.83496 -11.7832 -11.3672 -20.4062 -11.3672h-52.0332c-14.209 -55.207 -64.3252 -96 -123.967 -96c-70.9473 0 -128.415 57.7207 -128 128.764c0.410156 70.2246 58.0918 127.406 128.317 127.236
c15.0879 -0.0371094 29.5586 -2.69043 42.9912 -7.51953l29.417 47.5195h-48.7256c-13.1191 0 -23.7627 10.5186 -23.9951 23.5635c-0.241211 13.4375 11.0947 24.4365 24.5361 24.4365h87.459c8.83691 0 16 -7.16309 16 -16v-16h113.544l-14.8955 24h-50.6494
c-8.83691 0 -16 7.16309 -16 16v16c0 8.83691 7.16309 16 16 16h64c8.6123 0 16.1572 -4.52148 20.3916 -11.3428l77.6807 -125.153c14.4053 5.54004 30.0625 8.55957 46.4355 8.49512zM186.75 182.228l-23.6641 -38.2275h43.3057
c-2.96875 14.5674 -9.91504 27.6992 -19.6416 38.2275zM128.002 48c32.7383 0 60.9297 19.7754 73.2998 48h-81.2998c-18.7891 0 -30.2871 20.6729 -20.4062 36.6318l45.5049 73.5088c-5.5127 1.20605 -11.2295 1.85938 -17.0986 1.85938c-44.1123 0 -80 -35.8877 -80 -80
s35.8877 -80 80 -80zM290.632 144l74.2861 120h-127.547l-24.7461 -39.9736c22.8271 -20.1328 38.4229 -48.2705 42.3828 -80.0264h35.624zM507.689 48.1143c46.0605 -2.43164 84.3115 34.3447 84.3125 79.8848c0 44.1123 -35.8877 80 -80 80
c-0.0136719 0 0.00585938 -0.0078125 -0.00683594 -0.0078125c-6.85156 0 -13.5029 -0.864258 -19.8516 -2.48926l44.4688 -71.6426c4.66113 -7.50879 2.35156 -17.3721 -5.15625 -22.0322l-13.5938 -8.4375c-7.50879 -4.65918 -17.3721 -2.35156 -22.0322 5.15625
l-44.4326 71.5859c-12.7021 -14.7451 -20.1475 -34.1416 -19.3359 -55.2627c1.57812 -41.0635 34.5918 -74.5898 75.6279 -76.7549z" />
    <glyph glyph-name="bus" unicode="&#xf207;" 
d="M488 320c13.25 0 24 -10.7402 24 -24v-80c0 -13.25 -10.75 -24 -24 -24h-8v-166.4c0 -12.7998 -9.59961 -25.5996 -25.5996 -25.5996h-6.40039v-32c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v32h-192v-32c0 -17.6699 -14.3301 -32 -32 -32h-32
c-17.6699 0 -32 14.3301 -32 32v32c-17.6699 0 -32 14.3301 -32 32v160h-8c-13.25 0 -24 10.75 -24 24v80c0 13.2598 10.75 24 24 24h8v48c0 44.7998 99.2002 80 224 80s224 -35.2002 224 -80v-48h8zM112 48c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32
s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM128 160h256c17.6699 0 32 14.3301 32 32v128c0 17.6699 -14.3301 32 -32 32h-256c-17.6699 0 -32 -14.3301 -32 -32v-128c0 -17.6699 14.3301 -32 32 -32zM400 48c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32
s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
    <glyph glyph-name="closed-captioning" unicode="&#xf20a;" 
d="M464 384c26.5 0 48 -21.5 48 -48v-288c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h416zM218.1 160.3c-41.1992 -37.8994 -92.1992 -15.3994 -92.2998 32.6006c0 46.0996 53.7998 63.1992 94.6006 31.1992
c2.89941 -2.2998 7.19922 -1.39941 9.09961 1.7002l17.5 30.5c1.5 2.5 1.09961 3.7002 -1 5.7002c-50.7998 49.4004 -172.5 27.2002 -172.5 -70.0996c0 -100 119.2 -124.7 172.8 -67.9004c2 2.09961 2.2002 5.2998 0.5 7.7002l-19.5 27.7002
c-2.09961 3 -6.39941 3.39941 -9.2002 0.899414zM408.5 160.3c-41.2002 -37.8994 -92.2002 -15.3994 -92.2002 32.6006c0 46.0996 53.7998 63.1992 94.6006 31.1992c2.89941 -2.2998 7.19922 -1.39941 9.09961 1.7002l17.5 30.5c1.5 2.5 1.09961 3.7002 -1 5.7002
c-50.7998 49.4004 -172.5 27.2002 -172.5 -70.0996c0 -100 119.2 -124.801 172.7 -67.9004c2 2.09961 2.2002 5.2998 0.5 7.7002l-19.5 27.7002c-2.10059 3 -6.40039 3.39941 -9.2002 0.899414z" />
    <glyph glyph-name="shekel-sign" unicode="&#xf20b;" horiz-adv-x="448" 
d="M248 280c0 30.9297 -25.0703 56 -56 56h-112v-352c0 -8.83984 -7.16016 -16 -16 -16h-48c-8.83984 0 -16 7.16016 -16 16v408c0 13.2598 10.75 24 24 24h168c75.1104 0 136 -60.8896 136 -136v-168c0 -8.83984 -7.16016 -16 -16 -16h-48c-8.83984 0 -16 7.16016 -16 16
v168zM432 416c8.83984 0 16 -7.16016 16 -16v-296c0 -75.1104 -60.8896 -136 -136 -136h-168c-13.25 0 -24 10.75 -24 24v280c0 8.83984 7.16016 16 16 16h48c8.83984 0 16 -7.16016 16 -16v-224h112c30.9297 0 56 25.0703 56 56v296c0 8.83984 7.16016 16 16 16h48z" />
    <glyph glyph-name="cart-plus" unicode="&#xf217;" horiz-adv-x="576" 
d="M504.717 128h-293.145l6.54492 -32h268.418c15.4004 0 26.8154 -14.3008 23.4033 -29.3193l-5.51758 -24.2754c18.6914 -9.07324 31.5791 -28.2334 31.5791 -50.4053c0 -31.2021 -25.5186 -56.4443 -56.8242 -55.9941
c-29.8232 0.428711 -54.3496 24.6309 -55.1543 54.4473c-0.44043 16.2871 6.08496 31.0488 16.8027 41.5479h-209.648c10.377 -10.166 16.8242 -24.3271 16.8242 -40.001c0 -31.8135 -26.5283 -57.4307 -58.6699 -55.9385c-28.54 1.3252 -51.751 24.3857 -53.251 52.917
c-1.1582 22.0342 10.4355 41.4551 28.0508 51.5869l-70.2471 343.435h-69.8828c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h102.529c11.4004 0 21.2275 -8.02148 23.5127 -19.1904l9.16602 -44.8096h392.782
c15.4004 0 26.8154 -14.3008 23.4023 -29.3193l-47.2725 -208c-2.4834 -10.9268 -12.1973 -18.6807 -23.4033 -18.6807zM408 280h-48v40c0 8.83691 -7.16309 16 -16 16h-16c-8.83691 0 -16 -7.16309 -16 -16v-40h-48c-8.83691 0 -16 -7.16309 -16 -16v-16
c0 -8.83691 7.16309 -16 16 -16h48v-40c0 -8.83691 7.16309 -16 16 -16h16c8.83691 0 16 7.16309 16 16v40h48c8.83691 0 16 7.16309 16 16v16c0 8.83691 -7.16309 16 -16 16z" />
    <glyph glyph-name="cart-arrow-down" unicode="&#xf218;" horiz-adv-x="576" 
d="M504.717 128h-293.145l6.54492 -32h268.418c15.4004 0 26.8154 -14.3008 23.4033 -29.3193l-5.51758 -24.2754c18.6914 -9.07324 31.5791 -28.2334 31.5791 -50.4053c0 -31.2021 -25.5186 -56.4443 -56.8242 -55.9941
c-29.8232 0.428711 -54.3496 24.6309 -55.1543 54.4473c-0.44043 16.2871 6.08496 31.0488 16.8027 41.5479h-209.648c10.377 -10.166 16.8242 -24.3271 16.8242 -40.001c0 -31.8135 -26.5283 -57.4307 -58.6699 -55.9385c-28.54 1.3252 -51.751 24.3857 -53.251 52.917
c-1.1582 22.0342 10.4355 41.4551 28.0508 51.5869l-70.2471 343.435h-69.8828c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h102.529c11.4004 0 21.2275 -8.02148 23.5127 -19.1904l9.16602 -44.8096h392.782
c15.4004 0 26.8154 -14.3008 23.4023 -29.3193l-47.2725 -208c-2.4834 -10.9268 -12.1973 -18.6807 -23.4033 -18.6807zM403.029 256h-43.0293v60c0 6.62695 -5.37305 12 -12 12h-24c-6.62695 0 -12 -5.37305 -12 -12v-60h-43.0293
c-10.6904 0 -16.0449 -12.9258 -8.48438 -20.4854l67.0283 -67.0283c4.68652 -4.68652 12.2842 -4.68652 16.9717 0l67.0283 67.0283c7.55957 7.55957 2.20508 20.4854 -8.48535 20.4854z" />
    <glyph glyph-name="ship" unicode="&#xf21a;" horiz-adv-x="640" 
d="M496.616 75.3613c17.8418 -44.3604 58.5664 -75.3613 119.384 -75.3613c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24c-61.0322 0 -107.505 20.6162 -143.258 59.3965c-14.4189 -34.8281 -48.7637 -59.3965 -88.7422 -59.3965h-128
c-39.9785 0 -74.3232 24.5684 -88.7422 59.3965c-35.7588 -38.7861 -82.2344 -59.3965 -143.258 -59.3965c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24c61.5869 0 101.828 31.7129 119.384 75.3613l-70.0117 70.0117
c-16.918 16.9189 -9.91699 45.7793 12.8359 53.0918l41.792 13.4336v140.102c0 17.6729 14.3271 32 32 32h64v40c0 13.2549 10.7451 24 24 24h144c13.2549 0 24 -10.7451 24 -24v-40h64c17.6729 0 32 -14.3271 32 -32v-140.102l41.792 -13.4336
c22.7783 -7.32129 29.7354 -36.1914 12.8359 -53.0918zM192 320v-87.5312l118.208 37.9951c3.08594 0.992188 6.38086 1.52832 9.79492 1.52832c3.41309 0 6.70312 -0.536133 9.78906 -1.52832l118.208 -37.9951v87.5312h-256z" />
    <glyph glyph-name="user-secret" unicode="&#xf21b;" horiz-adv-x="448" 
d="M383.9 139.7c38.2998 -23.7002 64.0996 -65.7002 64.0996 -114.101v-44.7998c0 -24.7002 -20.0996 -44.7998 -44.7998 -44.7998h-358.4c-24.7002 0 -44.7998 20.0996 -44.7998 44.7998v44.7998c0 49.7002 27.2998 92.6006 67.4004 115.9l-25.8008 60.2002
c-4.5 10.5996 3.2002 22.2998 14.7002 22.2998h57.5c-11 18.9004 -17.7998 40.5996 -17.7998 64v0.299805c-39.2002 7.7998 -64 19.1006 -64 31.7002c0 13.2998 27.2998 25.0996 70 33c9.2002 32.7998 27.0996 65.7998 40.5996 82.7998
c9.5 11.9004 25.9004 15.6006 39.5 8.7998l27.6006 -13.7998c9 -4.5 19.5996 -4.5 28.5996 0l27.6006 13.7998c13.5996 6.80078 30 3.10059 39.5 -8.7998c13.5996 -17 31.3994 -50 40.5996 -82.7998c42.7998 -7.90039 70.0996 -19.7002 70.0996 -33
c0 -12.5996 -24.7998 -23.9004 -64 -31.7002v-0.299805c0 -23.4004 -6.7998 -45.0996 -17.7998 -64h58.5c11.2998 0 19 -11.2002 15 -21.7002zM176 -32l32 120l-24 40l-49.5996 32zM272 -32l41.5996 192l-49.5996 -32l-24 -40zM313.7 266.5
c0.799805 2.59961 6.2998 5.7002 6.39941 5.7998v10.7998c-28.2998 -3.69922 -61 -5.7998 -96 -5.7998s-67.6992 2.2002 -96 5.7998v-10.7998c0 -0.0996094 5.5 -3.2998 6.30078 -5.7998c3.7998 -11.9004 7 -24.5996 16.5 -33.4004c8 -7.39941 47 -25.1992 64 25
c2.89941 8.40039 15.5 8.40039 18.2998 0c16 -47.3994 53.8994 -34.2998 64 -25c9.5 8.80078 12.5996 21.5 16.5 33.4004z" />
    <glyph glyph-name="motorcycle" unicode="&#xf21c;" horiz-adv-x="640" 
d="M512.9 256c69.5996 -0.5 126.5 -57.2998 127.199 -126.9c0.600586 -71.5996 -57.5996 -129.8 -129.199 -129.1c-69.6006 0.599609 -126.301 57.5 -126.801 127.1c-0.299805 39.3008 17.2002 74.5 44.8008 98.2002l-12.5 20.7998
c-38.7002 -31.2998 -58.3008 -77.8994 -56.2002 -125c0.599609 -13.6992 -10.2998 -25.0996 -24 -25.0996h-84.2002c-14.2998 -55.2002 -64.4004 -96 -124 -96c-71.7002 0 -129.6 58.9004 -128 131c1.59961 67.4004 55.9004 122.5 123.2 124.9
c14.3994 0.5 28.2998 -1.30078 41.2998 -5.2002l11.2998 20.5c-9.09961 13.8994 -23.2998 24.7998 -47.7998 24.7998h-56c-13.0996 0 -23.7998 10.5 -24 23.5c-0.299805 13.5 11 24.5 24.5 24.5h55.5c55 0 82.2002 -16.9004 99.9004 -40h153.699l-19.1992 32h-66.4004
c-8.7998 0 -16 7.2002 -16 16v16c0 8.7998 7.2002 16 16 16h80c8.40039 0 16.2002 -4.40039 20.5996 -11.5996l22.8008 -38l37.5 41.6992c4.5 5 11 7.90039 17.7998 7.90039h45.2998c13.2998 0 24 -10.7002 24 -24v-32c0 -13.2998 -10.7002 -24 -24 -24h-82.4004
l32.9004 -54.9004c13.2998 4.60059 27.5 7 42.4004 6.90039zM128 48c32.7002 0 60.9004 19.7998 73.2998 48h-81.2998c-18.2002 0 -29.7998 19.5996 -21 35.5996l41.5 75.4004c-4.09961 0.700195 -8.2998 1 -12.5 1c-44.0996 0 -80 -35.9004 -80 -80s35.9004 -80 80 -80z
M591.9 123.6c2.39941 46.1006 -34.3008 84.4004 -79.9004 84.3008c-5.40039 0 -10.7002 -0.5 -15.9004 -1.60059l48.6006 -80.8994c4.5 -7.60059 2.09961 -17.5 -5.5 -22l-13.7002 -8.2002c-7.59961 -4.5 -17.5 -2.10059 -22 5.5l-49.4004 82.3994
c-13.6992 -14.2998 -22.0996 -33.6992 -22.0996 -55.0996c0 -45.5996 38.2998 -82.4004 84.4004 -79.9004c40.5 2.10059 73.2998 34.9004 75.5 75.5z" />
    <glyph glyph-name="street-view" unicode="&#xf21d;" 
d="M367.9 118.24c85.2295 -15.5801 144.1 -48.29 144.1 -86.2402c0 -53.0195 -114.62 -96 -256 -96s-256 42.9805 -256 96c0 37.9502 58.8701 70.6602 144.1 86.2402c4.62012 -5.2998 9.78027 -10.1006 15.9004 -13.6504v-22.9395
c-66.5195 -9.35059 -112 -28.0508 -112 -49.6504c0 -30.9297 93.1201 -56 208 -56s208 25.0703 208 56c0 21.5996 -45.4805 40.3096 -112 49.6504v22.9395c6.12012 3.5498 11.2803 8.35059 15.9004 13.6504zM256 320c-35.3496 0 -64 28.6504 -64 64s28.6504 64 64 64
s64 -28.6504 64 -64s-28.6504 -64 -64 -64zM192 128c-17.6699 0 -32 14.3301 -32 32v96c0 26.5098 21.4902 48 48 48h11.7998c11.0703 -5.03027 23.2598 -8 36.2002 -8s25.1299 2.96973 36.2002 8h11.7998c26.5098 0 48 -21.4902 48 -48v-96
c0 -17.6699 -14.3301 -32 -32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v96z" />
    <glyph glyph-name="heartbeat" unicode="&#xf21e;" 
d="M320.2 204.2l22.0996 -44.2002h109.101l-182.601 -186.5c-7.09961 -7.2998 -18.5996 -7.2998 -25.7002 0l-182.5 186.5h94.1006l30 71.7002l56.8994 -126.3c5.5 -12.3008 22.9004 -12.7002 28.9004 -0.600586zM473.7 374.1
c48.7002 -49.7998 50.7998 -129.1 7.2998 -182.1h-118.9l-27.5996 55.2002c-5.90039 11.7998 -22.7002 11.7998 -28.5996 0l-49 -97.9004l-58.2002 129.3c-5.7998 12.8008 -24 12.5 -29.4004 -0.399414l-35.8994 -86.2002h-102.4c-43.5 53 -41.4004 132.3 7.2998 182.1
l2.40039 2.40039c51.5 52.7002 135.899 52.7002 187.399 0l27.9004 -28.5l27.9004 28.5996c51.5996 52.6006 135.899 52.6006 187.399 0z" />
    <glyph glyph-name="venus" unicode="&#xf221;" horiz-adv-x="288" 
d="M288 272c0 -68.5 -47.9004 -125.9 -112 -140.4v-51.5996h36c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-36v-36c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v36h-36c-6.59961 0 -12 5.40039 -12 12v40
c0 6.59961 5.40039 12 12 12h36v51.5996c-64.0996 14.5 -112 71.9004 -112 140.4c0 79.5 64.5 144 144 144s144 -64.5 144 -144zM64 272c0 -44.0996 35.9004 -80 80 -80s80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80z" />
    <glyph glyph-name="mars" unicode="&#xf222;" horiz-adv-x="384" 
d="M372 384c6.59961 0 12 -5.40039 12 -12v-79c0 -10.7002 -12.9004 -16.0996 -20.5 -8.5l-16.9004 16.9004l-80.6992 -80.7002c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -79.5 -64.5 -144 -144 -144s-144 64.5 -144 144s64.5 144 144 144
c28.2002 0 54.5 -8.09961 76.7002 -22.0996l80.7002 80.6992l-16.9004 16.9004c-7.5 7.59961 -2.2002 20.5 8.5 20.5h79zM144 64c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" />
    <glyph glyph-name="mercury" unicode="&#xf223;" horiz-adv-x="288" 
d="M288 240c0 -68.5 -47.9004 -125.9 -112 -140.4v-51.5996h36c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-36v-36c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v36h-36c-6.59961 0 -12 5.40039 -12 12v40
c0 6.59961 5.40039 12 12 12h36v51.5996c-64.0996 14.5 -112 71.9004 -112 140.4c0 44.2002 19.9004 83.7002 51.2002 110c-2.5 1.90039 -4.90039 3.7998 -7.2002 5.7998c-24.7998 21.2002 -39.7998 48.7998 -43.2002 78.9004
c-0.899414 7.09961 4.7002 13.2998 11.9004 13.2998h40.5c5.7002 0 10.5996 -4.09961 11.7002 -9.7998c2.5 -12.5 9.59961 -24.2998 20.6992 -33.7998c15.4004 -13.2002 36.1006 -20.4004 58.4004 -20.4004s43 7.2002 58.2998 20.4004
c11.1006 9.5 18.2998 21.2998 20.7002 33.7998c1.09961 5.7002 6 9.7998 11.7998 9.7998h40.5c7.2002 0 12.7998 -6.2002 11.9004 -13.2998c-3.40039 -30 -18.5 -57.6006 -43.2002 -78.7998c-2.2998 -2 -4.7002 -4 -7.2002 -5.80078
c31.2998 -26.3994 51.2002 -65.8994 51.2002 -110.1zM64 240c0 -44.0996 35.9004 -80 80 -80s80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80z" />
    <glyph glyph-name="transgender" unicode="&#xf224;" horiz-adv-x="384" 
d="M372 448c6.59961 0 12 -5.40039 12 -12v-79c0 -10.7002 -12.9004 -16.0996 -20.5 -8.5l-16.9004 16.9004l-80.6992 -80.7002c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -68.5 -47.9004 -125.8 -112 -140.4v-27.5996h36c6.59961 0 12 -5.40039 12 -12v-40
c0 -6.59961 -5.40039 -12 -12 -12h-36v-28c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v28h-36c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h36v27.5996c-64.0996 14.5 -112 71.9004 -112 140.4c0 79.5 64.5 144 144 144
c28.2002 0 54.5 -8.09961 76.7002 -22.0996l80.7002 80.6992l-16.9004 16.9004c-7.5 7.59961 -2.2002 20.5 8.5 20.5h79zM144 128c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" />
    <glyph glyph-name="transgender-alt" unicode="&#xf225;" horiz-adv-x="480" 
d="M468 448c6.59961 0 12 -5.40039 12 -12v-79c0 -10.7002 -12.9004 -16.0996 -20.5 -8.5l-16.9004 16.9004l-80.6992 -80.7002c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -68.5 -47.9004 -125.8 -112 -140.4v-27.5996h36c6.59961 0 12 -5.40039 12 -12v-40
c0 -6.59961 -5.40039 -12 -12 -12h-36v-28c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v28h-36c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h36v27.5996c-64.0996 14.5 -112 71.9004 -112 140.4
c0 28.2002 8.09961 54.5 22.2002 76.5996l-16.5 16.5l-19.7998 -19.7998c-4.7002 -4.7002 -12.3008 -4.7002 -17 0l-28.3008 28.2998c-4.69922 4.7002 -4.69922 12.3008 0 17l19.8008 19.8008l-19 19l-16.9004 -16.9004c-7.59961 -7.5 -20.5 -2.2002 -20.5 8.5v79
c0 6.59961 5.40039 12 12 12h79c10.7002 0 16.0996 -12.9004 8.40039 -20.4004l-16.9004 -16.8994l19 -19l19.7998 19.7998c4.7002 4.7002 12.2998 4.7002 17 0l28.2998 -28.2998c4.7002 -4.7002 4.7002 -12.2998 0 -17l-19.7998 -19.7998l16.5 -16.5
c22.2002 14 48.5 22.0996 76.7002 22.0996s54.5 -8.09961 76.7002 -22.0996l80.7002 80.6992l-16.9004 16.9004c-7.5 7.59961 -2.2002 20.5 8.5 20.5h79zM240 128c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" />
    <glyph glyph-name="venus-double" unicode="&#xf226;" 
d="M288 272c0 -68.5 -47.9004 -125.9 -112 -140.4v-51.5996h36c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-36v-36c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v36h-36c-6.59961 0 -12 5.40039 -12 12v40
c0 6.59961 5.40039 12 12 12h36v51.5996c-64.0996 14.5 -112 71.9004 -112 140.4c0 79.5 64.5 144 144 144s144 -64.5 144 -144zM64 272c0 -44.0996 35.9004 -80 80 -80s80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80zM400 131.6v-51.5996h36
c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-36v-36c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v36h-36c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h36v51.5996
c-21.2002 4.80078 -40.5996 14.3008 -57.2002 27.3008c14 16.6992 25 36 32.1006 57.0996c14.5 -14.7998 34.6992 -24 57.0996 -24c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80c-22.2998 0 -42.5996 -9.2002 -57.0996 -24
c-7.10059 21.0996 -18 40.4004 -32.1006 57.0996c24.6006 19.3008 55.5 30.9004 89.2002 30.9004c79.5 0 144 -64.5 144 -144c0 -68.5 -47.9004 -125.9 -112 -140.4z" />
    <glyph glyph-name="mars-double" unicode="&#xf227;" 
d="M340 448c6.59961 0 12 -5.40039 12 -12v-79c0 -7.2002 -5.90039 -12 -12.0996 -12c-2.90039 0 -6 1.09961 -8.40039 3.5l-16.9004 16.9004l-48.6992 -48.7002c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -79.5 -64.5 -144 -144 -144s-144 64.5 -144 144
s64.5 144 144 144c28.2002 0 54.5 -8.09961 76.7002 -22.0996l48.7002 48.6992l-16.9004 16.9004c-7.5 7.59961 -2.2002 20.5 8.5 20.5h79zM144 160c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80zM500 288.1
c6.59961 0 12 -5.39941 12 -12.0996v-79c0 -7.2002 -5.90039 -12 -12.0996 -12c-3 0 -6 1.09961 -8.40039 3.5l-16.9004 16.9004l-48.6992 -48.7002c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -79.5 -64.5 -144 -144 -144c-74.4004 0 -135.6 56.4004 -143.2 128.9
c21.7998 2 43.2998 8.19922 63.2998 18.3994c-0.0996094 -1 -0.0996094 -2.09961 -0.0996094 -3.2002c0 -44.0996 35.9004 -80 80 -80s80 35.9004 80 80c0 44.1006 -35.9004 80 -80 80c-1 0 -2.09961 -0.0996094 -3.2002 -0.0996094
c10.2002 20 16.2998 41.5 18.4004 63.2998c22.5 -2.39941 43.2998 -9.89941 61.5 -21.2998l48.7002 48.7002l-16.9004 16.8994c-7.5 7.60059 -2.2002 20.5 8.5 20.5h79z" />
    <glyph glyph-name="venus-mars" unicode="&#xf228;" horiz-adv-x="576" 
d="M564 448c6.59961 0 12 -5.40039 12 -12v-79c0 -7.2002 -5.90039 -12 -12.0996 -12c-3 0 -6 1.09961 -8.40039 3.5l-16.9004 16.9004l-48.6992 -48.7002c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -79.5 -64.5 -144 -144 -144
c-33.7002 0 -64.7002 11.5 -89.2002 30.9004c14.1006 16.6992 25 36 32.1006 57.0996c14.5 -14.7998 34.7998 -24 57.0996 -24c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80c-22.4004 0 -42.5996 -9.2002 -57.0996 -24
c-7.10059 21.0996 -18.1006 40.4004 -32.1006 57.0996c24.6006 19.3008 55.5 30.9004 89.2002 30.9004c28.2002 0 54.5 -8.09961 76.7002 -22.0996l48.7002 48.6992l-16.9004 16.9004c-7.5 7.59961 -2.2002 20.5 8.5 20.5h79zM144 384c79.5 0 144 -64.5 144 -144
c0 -68.5 -47.9004 -125.8 -112 -140.4v-51.5996h36c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-36v-36c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v36h-36c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12
h36v51.5996c-64.0996 14.5 -112 71.9004 -112 140.4c0 79.5 64.5 144 144 144zM144 160c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" />
    <glyph glyph-name="mars-stroke" unicode="&#xf229;" horiz-adv-x="384" 
d="M372 384c6.59961 0 12 -5.40039 12.0996 -12v-78.9004c0 -10.6992 -12.8994 -16.0996 -20.5 -8.5l-16.8994 16.9004l-17.5 -17.5l14.0996 -14.0996c4.7002 -4.7002 4.7002 -12.3008 0 -17l-28.2998 -28.3008c-4.7002 -4.69922 -12.2998 -4.69922 -17 0l-14.0996 14.1006
l-18 -18c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -79.5 -64.5 -144 -144 -144s-144 64.5 -144 144s64.5 144 143.9 144c28.1992 0 54.5 -8.09961 76.6992 -22.0996l18 18l-14.0996 14.0996c-4.7002 4.7002 -4.7002 12.2998 0 17l28.2998 28.2002
c4.7002 4.7002 12.2998 4.7002 17 0l14.1006 -14.1006l17.5 17.5l-16.9004 16.9004c-7.5 7.59961 -2.2002 20.5 8.5 20.5h79zM144 64c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" />
    <glyph glyph-name="mars-stroke-v" unicode="&#xf22a;" horiz-adv-x="288" 
d="M245.8 213.8c56.2998 -56.2002 56.2998 -147.399 0 -203.6c-56.2002 -56.2002 -147.399 -56.2002 -203.6 0s-56.2002 147.399 0 203.6c19.8994 19.9004 44.2002 32.7998 69.7998 38.6006v25.3994h-20c-6.59961 0 -12 5.40039 -12 12v40c0 6.60059 5.40039 12 12 12h20
v24.7002h-23.9004c-10.6992 0 -16.0996 12.9004 -8.5 20.5l55.9004 55.9004c4.7002 4.69922 12.2998 4.69922 17 0l55.9004 -55.8008c7.5 -7.59961 2.19922 -20.5 -8.5 -20.5h-23.9004v-24.7998h20c6.59961 0 12 -5.39941 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-20
v-25.3994c25.5996 -5.80078 49.9004 -18.7002 69.7998 -38.6006zM200.6 55.4004c31.2002 31.1992 31.2002 82 0 113.1c-31.1992 31.2002 -81.8994 31.2002 -113.1 0s-31.2002 -81.9004 0 -113.1c31.2002 -31.2002 81.9004 -31.2002 113.1 0z" />
    <glyph glyph-name="mars-stroke-h" unicode="&#xf22b;" horiz-adv-x="480" 
d="M476.2 200.5c4.7002 -4.7002 4.7002 -12.2998 0.0996094 -17l-55.8994 -55.9004c-7.60059 -7.5 -20.5 -2.19922 -20.5 8.5v23.9004h-23.9004v-20c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v20h-27.5996
c-5.80078 -25.5996 -18.7002 -49.9004 -38.6006 -69.7998c-56.2002 -56.2002 -147.399 -56.2002 -203.6 0s-56.2002 147.399 0 203.6s147.399 56.2002 203.6 0c19.9004 -19.8994 32.7998 -44.2002 38.6006 -69.7998h27.5996v20c0 6.59961 5.40039 12 12 12h40
c6.59961 0 12 -5.40039 12 -12v-20h23.7998v23.9004c0 10.6992 12.9004 16.0996 20.5 8.5zM200.6 135.4c31.2002 31.1992 31.2002 82 0 113.1c-31.1992 31.2002 -81.8994 31.2002 -113.1 0s-31.2002 -81.9004 0 -113.1c31.2002 -31.2002 81.9004 -31.2002 113.1 0z" />
    <glyph glyph-name="neuter" unicode="&#xf22c;" horiz-adv-x="288" 
d="M288 272c0 -68.5 -47.9004 -125.9 -112 -140.4v-151.6c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v151.6c-64.0996 14.5 -112 71.9004 -112 140.4c0 79.5 64.5 144 144 144s144 -64.5 144 -144zM144 192c44.0996 0 80 35.9004 80 80
s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" />
    <glyph glyph-name="genderless" unicode="&#xf22d;" horiz-adv-x="288" 
d="M144 272c-44.0996 0 -80 -35.9004 -80 -80s35.9004 -80 80 -80s80 35.9004 80 80s-35.9004 80 -80 80zM144 336c79.5 0 144 -64.5 144 -144s-64.5 -144 -144 -144s-144 64.5 -144 144s64.5 144 144 144z" />
    <glyph glyph-name="server" unicode="&#xf233;" 
d="M480 288h-448c-17.6729 0 -32 14.3271 -32 32v64c0 17.6729 14.3271 32 32 32h448c17.6729 0 32 -14.3271 32 -32v-64c0 -17.6729 -14.3271 -32 -32 -32zM432 376c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24zM368 376
c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24zM480 128h-448c-17.6729 0 -32 14.3271 -32 32v64c0 17.6729 14.3271 32 32 32h448c17.6729 0 32 -14.3271 32 -32v-64c0 -17.6729 -14.3271 -32 -32 -32zM432 216
c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24zM368 216c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24zM480 -32h-448c-17.6729 0 -32 14.3271 -32 32v64
c0 17.6729 14.3271 32 32 32h448c17.6729 0 32 -14.3271 32 -32v-64c0 -17.6729 -14.3271 -32 -32 -32zM432 56c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24zM368 56c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24
s24 10.7451 24 24s-10.7451 24 -24 24z" />
    <glyph glyph-name="user-plus" unicode="&#xf234;" horiz-adv-x="640" 
d="M624 240c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-64v-64c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v64h-64c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h64v64c0 8.7998 7.2002 16 16 16h32
c8.7998 0 16 -7.2002 16 -16v-64h64zM224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM313.6 160c74.2002 0 134.4 -60.2002 134.4 -134.4v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352
c-26.5 0 -48 21.5 -48 48v41.5996c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992z" />
    <glyph glyph-name="user-times" unicode="&#xf235;" horiz-adv-x="640" 
d="M589.6 208l45.6006 -45.5996c6.2998 -6.30078 6.2998 -16.5 0 -22.8008l-22.7998 -22.7998c-6.30078 -6.2998 -16.5 -6.2998 -22.8008 0l-45.5996 45.6006l-45.5996 -45.6006c-6.30078 -6.2998 -16.5 -6.2998 -22.8008 0l-22.7998 22.7998
c-6.2998 6.30078 -6.2998 16.5 0 22.8008l45.6006 45.5996l-45.6006 45.5996c-6.2998 6.30078 -6.2998 16.5 0 22.8008l22.7998 22.7998c6.30078 6.2998 16.5 6.2998 22.8008 0l45.5996 -45.6006l45.5996 45.6006c6.30078 6.2998 16.5 6.2998 22.8008 0l22.7998 -22.7998
c6.2998 -6.30078 6.2998 -16.5 0 -22.8008zM224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM313.6 160c74.2002 0 134.4 -60.2002 134.4 -134.4v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352
c-26.5 0 -48 21.5 -48 48v41.5996c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992z" />
    <glyph glyph-name="bed" unicode="&#xf236;" horiz-adv-x="640" 
d="M176 192c-44.1104 0 -80 35.8896 -80 80s35.8896 80 80 80s80 -35.8896 80 -80s-35.8896 -80 -80 -80zM528 320c61.8604 0 112 -50.1396 112 -112v-192c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v48h-512v-48c0 -8.83984 -7.16016 -16 -16 -16
h-32c-8.83984 0 -16 7.16016 -16 16v352c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-208h224v144c0 8.83984 7.16016 16 16 16h224z" />
    <glyph glyph-name="train" unicode="&#xf238;" horiz-adv-x="448" 
d="M448 352v-256c0 -51.8154 -61.624 -96 -130.022 -96l62.9805 -49.7207c5.94727 -4.69629 2.60352 -14.2793 -4.95801 -14.2793h-304c-7.57812 0 -10.8916 9.59375 -4.95703 14.2793l62.9795 49.7207c-68.2021 0 -130.022 44.0459 -130.022 96v256c0 53.0186 64 96 128 96
h192c65 0 128 -42.9814 128 -96zM400 216v112c0 13.2549 -10.7451 24 -24 24h-304c-13.2549 0 -24 -10.7451 -24 -24v-112c0 -13.2549 10.7451 -24 24 -24h304c13.2549 0 24 10.7451 24 24zM224 152c-30.9277 0 -56 -25.0723 -56 -56s25.0723 -56 56 -56s56 25.0723 56 56
s-25.0723 56 -56 56z" />
    <glyph glyph-name="subway" unicode="&#xf239;" horiz-adv-x="448" 
d="M448 352v-256c0 -51.8154 -61.624 -96 -130.022 -96l62.9805 -49.7207c5.94727 -4.69629 2.60352 -14.2793 -4.95801 -14.2793h-304c-7.57812 0 -10.8916 9.59375 -4.95703 14.2793l62.9795 49.7207c-68.2021 0 -130.022 44.0459 -130.022 96v256c0 53.0186 64 96 128 96
h192c65 0 128 -42.9814 128 -96zM200 216v112c0 13.2549 -10.7451 24 -24 24h-104c-13.2549 0 -24 -10.7451 -24 -24v-112c0 -13.2549 10.7451 -24 24 -24h104c13.2549 0 24 10.7451 24 24zM400 216v112c0 13.2549 -10.7451 24 -24 24h-104c-13.2549 0 -24 -10.7451 -24 -24
v-112c0 -13.2549 10.7451 -24 24 -24h104c13.2549 0 24 10.7451 24 24zM352 160c-26.5098 0 -48 -21.4902 -48 -48s21.4902 -48 48 -48s48 21.4902 48 48s-21.4902 48 -48 48zM96 160c-26.5098 0 -48 -21.4902 -48 -48s21.4902 -48 48 -48s48 21.4902 48 48
s-21.4902 48 -48 48z" />
    <glyph glyph-name="battery-full" unicode="&#xf240;" horiz-adv-x="640" 
d="M544 288h-480v-192h480v64h32v64h-32v64zM560 352c26.5098 0 48 -21.4902 48 -48v-16h8c13.2549 0 24 -10.7451 24 -24v-144c0 -13.2549 -10.7451 -24 -24 -24h-8v-16c0 -26.5098 -21.4902 -48 -48 -48h-512c-26.5098 0 -48 21.4902 -48 48v224
c0 26.5098 21.4902 48 48 48h512zM512 256v-128h-416v128h416z" />
    <glyph glyph-name="battery-three-quarters" unicode="&#xf241;" horiz-adv-x="640" 
d="M544 288h-480v-192h480v64h32v64h-32v64zM560 352c26.5098 0 48 -21.4902 48 -48v-16h8c13.2549 0 24 -10.7451 24 -24v-144c0 -13.2549 -10.7451 -24 -24 -24h-8v-16c0 -26.5098 -21.4902 -48 -48 -48h-512c-26.5098 0 -48 21.4902 -48 48v224
c0 26.5098 21.4902 48 48 48h512zM416 256v-128h-320v128h320z" />
    <glyph glyph-name="battery-half" unicode="&#xf242;" horiz-adv-x="640" 
d="M544 288h-480v-192h480v64h32v64h-32v64zM560 352c26.5098 0 48 -21.4902 48 -48v-16h8c13.2549 0 24 -10.7451 24 -24v-144c0 -13.2549 -10.7451 -24 -24 -24h-8v-16c0 -26.5098 -21.4902 -48 -48 -48h-512c-26.5098 0 -48 21.4902 -48 48v224
c0 26.5098 21.4902 48 48 48h512zM320 256v-128h-224v128h224z" />
    <glyph glyph-name="battery-quarter" unicode="&#xf243;" horiz-adv-x="640" 
d="M544 288h-480v-192h480v64h32v64h-32v64zM560 352c26.5098 0 48 -21.4902 48 -48v-16h8c13.2549 0 24 -10.7451 24 -24v-144c0 -13.2549 -10.7451 -24 -24 -24h-8v-16c0 -26.5098 -21.4902 -48 -48 -48h-512c-26.5098 0 -48 21.4902 -48 48v224
c0 26.5098 21.4902 48 48 48h512zM224 256v-128h-128v128h128z" />
    <glyph glyph-name="battery-empty" unicode="&#xf244;" horiz-adv-x="640" 
d="M544 288h-480v-192h480v64h32v64h-32v64zM560 352c26.5098 0 48 -21.4902 48 -48v-16h8c13.2549 0 24 -10.7451 24 -24v-144c0 -13.2549 -10.7451 -24 -24 -24h-8v-16c0 -26.5098 -21.4902 -48 -48 -48h-512c-26.5098 0 -48 21.4902 -48 48v224
c0 26.5098 21.4902 48 48 48h512z" />
    <glyph glyph-name="mouse-pointer" unicode="&#xf245;" horiz-adv-x="320" 
d="M302.189 118.874h-106.084l55.8301 -135.993c3.88965 -9.42773 -0.554688 -19.999 -9.44336 -23.999l-49.165 -21.4268c-9.16504 -4 -19.4434 0.571289 -23.332 9.71387l-53.0527 129.136l-86.6641 -89.1377c-11.5498 -11.877 -30.2783 -2.7207 -30.2783 12.8564v429.678
c0 16.3994 19.9209 24.3945 30.2773 12.8555l284.412 -292.542c11.4717 -11.1787 3.00684 -31.1406 -12.5 -31.1406z" />
    <glyph glyph-name="i-cursor" unicode="&#xf246;" horiz-adv-x="256" 
d="M256 395.952c0 -6.64648 -5.4043 -12.0098 -12.0498 -11.9922c-27.875 0.0712891 -83.9502 -3.20996 -83.9502 -48.1416v-111.818h36c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-36v-112c0 -44.9395 57.8887 -48.5527 83.8555 -48.2422
c6.68652 0.0800781 12.1445 -5.31055 12.1445 -11.998v-39.6445c0 -6.5957 -5.31836 -11.957 -11.9131 -12c-35.0654 -0.228516 -78.3525 0.62207 -116.087 37.8447c-38.4688 -37.9482 -83.6211 -38.3027 -116.158 -37.8936
c-6.56738 0.0820312 -11.8418 5.42969 -11.8418 11.999v39.9824c0 6.64648 5.4043 12.0098 12.0498 11.9932c27.875 -0.0722656 83.9502 3.02734 83.9502 47.959v112h-36c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h36v111.818
c0 44.9385 -57.8887 48.7344 -83.8555 48.4248c-6.68652 -0.0800781 -12.1445 5.31055 -12.1445 11.998v39.6445c0 6.5957 5.31836 11.957 11.9131 12c35.0654 0.228516 78.3525 -0.62207 116.087 -37.8447c38.4688 37.9482 83.6211 38.3027 116.158 37.8926
c6.56738 -0.0820312 11.8418 -5.42969 11.8418 -11.999v-39.9824z" />
    <glyph glyph-name="object-group" unicode="&#xf247;" 
d="M480 320v-288h20c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v20h-384v-20c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h20v320h-20
c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-20h384v20c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-20v-32zM96 172c0 -6.62695 5.37305 -12 12 -12h168
c6.62695 0 12 5.37305 12 12v136c0 6.62695 -5.37305 12 -12 12h-168c-6.62695 0 -12 -5.37305 -12 -12v-136zM416 76v136c0 6.62695 -5.37305 12 -12 12h-84v-72c0 -13.2549 -10.7451 -24 -24 -24h-72v-52c0 -6.62695 5.37305 -12 12 -12h168c6.62695 0 12 5.37305 12 12z
" />
    <glyph glyph-name="object-ungroup" unicode="&#xf248;" horiz-adv-x="576" 
d="M64 128v-26c0 -3.31152 -2.68848 -6 -6 -6h-52c-3.31152 0 -6 2.68848 -6 6v52c0 3.31152 2.68848 6 6 6h26v192h-26c-3.31152 0 -6 2.68848 -6 6v52c0 3.31152 2.68848 6 6 6h52c3.31152 0 6 -2.68848 6 -6v-26h288v26c0 3.31152 2.68848 6 6 6h52
c3.31152 0 6 -2.68848 6 -6v-52c0 -3.31152 -2.68848 -6 -6 -6h-26v-192h26c3.31152 0 6 -2.68848 6 -6v-52c0 -3.31152 -2.68848 -6 -6 -6h-52c-3.31152 0 -6 2.68848 -6 6v26h-288zM544 192v-160h26c3.31152 0 6 -2.68848 6 -6v-52c0 -3.31152 -2.68848 -6 -6 -6h-52
c-3.31152 0 -6 2.68848 -6 6v26h-288v-26c0 -3.31152 -2.68848 -6 -6 -6h-52c-3.31152 0 -6 2.68848 -6 6v52c0 3.31152 2.68848 6 6 6h26v72h136v-8c0 -13.2549 10.7451 -24 24 -24h64c13.2549 0 24 10.7451 24 24v64c0 13.2549 -10.7451 24 -24 24h-8v72h104v26
c0 3.31152 2.68848 6 6 6h52c3.31152 0 6 -2.68848 6 -6v-52c0 -3.31152 -2.68848 -6 -6 -6h-26v-32z" />
    <glyph glyph-name="sticky-note" unicode="&#xf249;" horiz-adv-x="448" 
d="M312 128c-13.2002 0 -24 -10.7998 -24 -24v-136h-264c-13.2998 0 -24 10.7002 -24 24v400c0 13.2998 10.7002 24 24 24h400c13.2998 0 24 -10.7002 24 -24v-264h-136zM441 73l-98 -98c-4.5 -4.5 -10.5996 -7 -17 -7h-6v128h128v-6.09961
c0 -6.30078 -2.5 -12.4004 -7 -16.9004z" />
    <glyph glyph-name="clone" unicode="&#xf24d;" 
d="M464 448c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48h-288c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h288zM176 32h208v-48c0 -26.5098 -21.4902 -48 -48 -48h-288c-26.5098 0 -48 21.4902 -48 48v288
c0 26.5098 21.4902 48 48 48h48v-208c0 -44.1123 35.8877 -80 80 -80z" />
    <glyph glyph-name="balance-scale" unicode="&#xf24e;" horiz-adv-x="640" 
d="M256 112c0 -44.1797 -57.3096 -80 -128 -80s-128 35.8203 -128 80h0.0195312c0 15.6699 -2.0791 7.25 85.04 181.51c17.6807 35.3604 68.2207 35.29 85.8701 0c86.3906 -172.779 85.0508 -165.33 85.0508 -181.51h0.0195312zM128 272l-72 -144h144zM639.98 112
c0 -44.1797 -57.29 -80 -127.98 -80s-128 35.8203 -128 80h0.0195312c0 15.6699 -2.0791 7.25 85.04 181.51c17.6807 35.3604 68.2207 35.29 85.8701 0c86.3906 -172.779 85.0508 -165.33 85.0508 -181.51zM440 128h144l-72 144zM528 0c8.83984 0 16 -7.16016 16 -16v-32
c0 -8.83984 -7.16016 -16 -16 -16h-416c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h176v294.75c-23.5195 10.29 -41.1602 31.4902 -46.3896 57.25h-129.61c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h144.36
c14.5996 19.3203 37.5498 32 63.6396 32s49.04 -12.6797 63.6396 -32h144.36c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-129.61c-5.22949 -25.7695 -22.8799 -46.96 -46.3896 -57.25v-294.75h176z" />
    <glyph glyph-name="hourglass-start" unicode="&#xf251;" horiz-adv-x="384" 
d="M360 448c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24c0 -90.9648 -51.0156 -167.734 -120.842 -192c69.8262 -24.2656 120.842 -101.035 120.842 -192c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24h-336
c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24c0 90.9648 51.0156 167.734 120.842 192c-69.8262 24.2656 -120.842 101.035 -120.842 192c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h336zM296 0c0 77.4834 -46.2139 144 -104 144
c-57.7959 0 -104 -66.542 -104 -144h208z" />
    <glyph glyph-name="hourglass-half" unicode="&#xf252;" horiz-adv-x="384" 
d="M360 448c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24c0 -90.9648 -51.0156 -167.734 -120.842 -192c69.8262 -24.2656 120.842 -101.035 120.842 -192c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24h-336
c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24c0 90.9648 51.0156 167.734 120.842 192c-69.8262 24.2656 -120.842 101.035 -120.842 192c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h336zM284.922 64
c-17.0596 46.8037 -52.1006 80 -92.9219 80c-40.8242 0 -75.8613 -33.2031 -92.9199 -80h185.842zM284.941 320c7.07129 19.4131 11.0586 41.1953 11.0586 64h-208c0 -22.748 3.98828 -44.5479 11.0781 -64h185.863z" />
    <glyph glyph-name="hourglass-end" unicode="&#xf253;" horiz-adv-x="384" 
d="M360 384c0 -90.9648 -51.0156 -167.734 -120.842 -192c69.8262 -24.2656 120.842 -101.035 120.842 -192c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24h-336c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24
c0 90.9648 51.0156 167.734 120.842 192c-69.8262 24.2656 -120.842 101.035 -120.842 192c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h336c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24zM192 240c57.4902 0 104 66.0547 104 144
h-208c0 -77.4824 46.2129 -144 104 -144z" />
    <glyph glyph-name="hourglass" unicode="&#xf254;" horiz-adv-x="384" 
d="M360 384c0 -90.9648 -51.0156 -167.734 -120.842 -192c69.8262 -24.2656 120.842 -101.035 120.842 -192c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24h-336c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24
c0 90.9648 51.0156 167.734 120.842 192c-69.8262 24.2656 -120.842 101.035 -120.842 192c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h336c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24z" />
    <glyph glyph-name="hand-rock" unicode="&#xf255;" 
d="M464.8 368c26.2998 -0.400391 47.2002 -22.5 47.2002 -48.7998v-133.5c0 -12.7998 -2.5 -25.5 -7.5 -37.2998l-49 -116.301c-4.90039 -11.7998 -7.5 -24.5 -7.5 -37.2998v-2.89941c0 -13.3008 -10.7002 -24 -24 -24h-240c-13.2998 0 -24 10.6992 -24 24v6.69922
c0 13.7002 -5.90039 26.8008 -16.0996 35.9004l-111.7 99.2998c-20.5 18.2998 -32.2002 44.4004 -32.2002 71.7998v66.4004c0 26.7998 21.9004 48.4004 48.7998 48c26.2998 -0.5 47.2002 -22.5 47.2002 -48.7998v-48.1006l8 -7.09961v136
c0 26.7998 21.9004 48.4004 48.7998 48c26.2998 -0.5 47.2002 -22.5 47.2002 -48.7998v-31.2002h8v48c0 26.7998 21.9004 48.4004 48.7998 48c26.2998 -0.5 47.2002 -22.5 47.2002 -48.7998v-47.2002h8v32c0 26.7998 21.9004 48.4004 48.7998 48
c26.2998 -0.5 47.2002 -22.5 47.2002 -48.7998v-31.2002h8c0 26.7998 21.9004 48.4004 48.7998 48z" />
    <glyph glyph-name="hand-paper" unicode="&#xf256;" horiz-adv-x="448" 
d="M408.781 319.993c21.7305 -0.416016 39.2188 -18.1621 39.2178 -39.9932v-150.359c0 -15.166 -1.77344 -29.8193 -5.10449 -43.9746l-26.5078 -112.66c-5.10156 -21.6816 -24.4502 -37.0059 -46.7236 -37.0059h-197.59c-15.9629 0 -30.0908 7.76562 -38.8193 19.7676
l-125.601 172.705c-12.9932 17.8672 -9.04297 42.8838 8.82129 55.877c17.8682 12.9941 42.8848 9.04297 55.877 -8.82227l31.6484 -43.5195v235.992c0 21.8311 17.4883 39.5771 39.2188 39.9932c22.4248 0.428711 40.7812 -18.3535 40.7812 -40.7832v-175.21h8v216
c0 21.8311 17.4883 39.5771 39.2188 39.9932c22.4248 0.428711 40.7812 -18.3535 40.7812 -40.7832v-215.21h8v177c0 21.8311 17.4883 39.5771 39.2188 39.9932c22.4248 0.428711 40.7812 -18.3535 40.7812 -40.7832v-176.21h8v87.21
c0 22.4297 18.3564 41.2119 40.7812 40.7832z" />
    <glyph glyph-name="hand-scissors" unicode="&#xf257;" 
d="M216 8c0 22.0918 17.9092 40 40 40v8h-32c-22.0908 0 -40 17.9082 -40 40s17.9092 40 40 40h32v8h-208c-26.5098 0 -48 21.4902 -48 48s21.4902 48 48 48h208v13.5723l-177.551 69.7393c-24.6738 9.69434 -36.8184 37.5557 -27.125 62.2285
c9.69238 24.6738 37.5537 36.8174 62.2275 27.124l190.342 -74.7646l24.8721 31.0898c12.3066 15.3809 33.9785 19.5146 51.0811 9.74121l112 -64c12.0605 -6.89355 20.1533 -19.8564 20.1533 -34.7305v-240c0 -18.5615 -12.7695 -34.6855 -30.8379 -38.9365l-136 -32
c-2.94824 -0.694336 -6.00391 -1.06348 -9.16211 -1.06348h-80c-22.0908 0 -40 17.9082 -40 40z" />
    <glyph glyph-name="hand-lizard" unicode="&#xf258;" horiz-adv-x="576" 
d="M384 -32v61.4609c0 8.5332 -4.4375 16.0166 -11.1543 20.2734l-111.748 70.8105c-7.41895 4.70215 -16.2656 7.45508 -25.6914 7.45508h-147.406c-13.2549 0 -24 10.7451 -24 24v8c0 35.3457 28.6543 64 64 64h123.648c13.3086 0 24.7158 8.12109 29.5371 19.6924
l21.4102 51.3848c4.94141 11.8555 -3.77051 24.9229 -16.6143 24.9229h-229.981c-30.9277 0 -56 25.0723 -56 56v16c0 13.2549 10.7451 24 24 24h333.544c17.0908 0 32.0781 -8.90137 40.583 -22.3682l163.04 -258.146c9.35645 -14.8145 14.833 -32.4619 14.833 -51.2637
v-116.222h-192z" />
    <glyph glyph-name="hand-spock" unicode="&#xf259;" 
d="M510.9 302.729l-68.2969 -286.823c-10.8975 -45.7705 -52.0801 -79.9062 -101.166 -79.9062h-127.363c-36.0293 0 -68.8447 14.0459 -93.1855 36.9531l-108.298 101.92c-7.72754 7.29297 -12.5537 17.6299 -12.5537 29.084c0 22.0723 17.9199 39.9922 39.9922 39.9922
c10.5742 0 20.2188 -4.11426 27.374 -10.8262l60.5928 -57.0254v0c0 27.958 -4.1084 54.9473 -11.6699 80.4668l-42.6885 144.075c-1.06738 3.60254 -1.63965 7.41699 -1.63965 11.3633c0 22.0801 17.9258 40.0059 40.0049 40.0059
c18.1338 0 33.4512 -12.0977 38.3525 -28.6504l37.1543 -125.395c1.02148 -3.44629 4.21387 -5.96387 7.99023 -5.96387c4.59766 0 8.33105 3.7334 8.33105 8.33105c0 0.717773 -0.09375 1.41016 -0.264648 2.07422l-50.3047 195.641
c-0.821289 3.19238 -1.25879 6.53711 -1.25879 9.98438c0 22.0742 17.9219 39.9961 39.9971 39.9961c18.6279 0 34.291 -12.793 38.7305 -30.043l56.0947 -218.158c1.15527 -4.49512 5.23926 -7.82129 10.0928 -7.82129c5.03125 0 9.23438 3.57715 10.207 8.32227
l37.6826 183.704c3.76074 18.2139 19.9043 31.9248 39.2256 31.9248c4.20703 0 8.26562 -0.629883 12.0771 -1.83496c19.8604 -6.2998 30.8623 -27.6738 26.6758 -48.085l-33.8389 -164.967c-0.101562 -0.492188 -0.154297 -1.00098 -0.154297 -1.52344
c0 -4.16797 3.38379 -7.55176 7.55176 -7.55176c3.56445 0 6.55566 2.48535 7.34668 5.80859l29.3975 123.459c4.19141 17.6016 20.0312 30.708 38.9082 30.708c22.0732 0 39.9941 -17.9209 39.9941 -39.9941c0 -3.19727 -0.380859 -6.26465 -1.09082 -9.24512v0z" />
    <glyph glyph-name="hand-pointer" unicode="&#xf25a;" horiz-adv-x="448" 
d="M448 208v-96c0 -3.08398 -0.356445 -6.15918 -1.06348 -9.16211l-32 -136c-4.25098 -18.0684 -20.375 -30.8379 -38.9365 -30.8379h-208c-13.3018 0 -25.0752 6.47168 -32.3496 16.4727l-127.997 176c-12.9932 17.8662 -9.04297 42.8838 8.82129 55.876
c17.8672 12.9941 42.8848 9.04297 55.877 -8.82227l31.6484 -43.5186v275.992c0 22.0908 17.9082 40 40 40s40 -17.9092 40 -40v-200h8v40c0 22.0908 17.9082 40 40 40s40 -17.9092 40 -40v-40h8v24c0 22.0908 17.9082 40 40 40s40 -17.9092 40 -40v-24h8
c0 22.0908 17.9082 40 40 40s40 -17.9092 40 -40zM192 128h-8v-96h8v96zM280 128h-8v-96h8v96zM368 128h-8v-96h8v96z" />
    <glyph glyph-name="hand-peace" unicode="&#xf25b;" horiz-adv-x="448" 
d="M408 232c22.0918 0 40 -17.9092 40 -40v-80c0 -3.1582 -0.369141 -6.21484 -1.06348 -9.16211l-32 -136c-4.25098 -18.0684 -20.375 -30.8379 -38.9365 -30.8379h-240c-14.874 0 -27.8379 8.09375 -34.7285 20.1543l-64 112
c-9.77441 17.1025 -5.64062 38.7744 9.74023 51.0811l31.0898 24.8721l-74.7646 190.342c-9.69336 24.6738 2.4502 52.5342 27.124 62.2266c24.6729 9.69434 52.5332 -2.4502 62.2275 -27.125l69.7393 -177.551h13.5723v208c0 26.5098 21.4902 48 48 48s48 -21.4902 48 -48
v-208h8v32c0 22.0908 17.9082 40 40 40s40 -17.9092 40 -40v-32h8c0 22.0908 17.9082 40 40 40z" />
    <glyph glyph-name="trademark" unicode="&#xf25c;" horiz-adv-x="640" 
d="M260.6 352c6.60059 0 12 -5.40039 11.9004 -12v-43.0996c0 -6.60059 -5.40039 -12 -12 -12h-85.0996v-240.9c0 -6.59961 -5.40039 -12 -12 -12h-54.3008c-6.59961 0 -12 5.40039 -12 12v240.9h-85.0996c-6.59961 0 -12 5.39941 -12 12v43.0996
c0 6.59961 5.40039 12 12 12h248.6zM640 45c0.5 -7 -5 -13 -12 -13h-53.9004c-6.2998 0 -11.5996 4.90039 -12 11.2002l-9.09961 132.899c-1.7998 24.2002 0 53.7002 0 53.7002h-0.900391s-10.6992 -33.5996 -17.8994 -53.7002l-30.7002 -84.6992
c-1.7002 -4.7002 -6.2002 -7.90039 -11.2998 -7.90039h-50.2998c-5.10059 0 -9.60059 3.2002 -11.3008 7.90039l-30.6992 84.6992c-7.2002 20.1006 -17.9004 53.7002 -17.9004 53.7002h-0.900391s1.80078 -29.5 0 -53.7002l-9.09961 -132.899
c-0.5 -6.2998 -5.7002 -11.2002 -12 -11.2002h-54.5c-7.09961 0 -12.5996 6 -12 13l24.4004 296c0.599609 6.2002 5.7998 11 12 11h65.3994c5.10059 0 9.60059 -3.2998 11.2998 -8.09961l43.8008 -127.101c7.19922 -20.5996 16.0996 -52.7998 16.0996 -52.7998h0.900391
s8.89941 32.2002 16.0996 52.7998l43.7998 127.101c1.60059 4.7998 6.2002 8.09961 11.2998 8.09961h65.4004c6.2998 0 11.5 -4.7998 12 -11z" />
    <glyph glyph-name="registered" unicode="&#xf25d;" 
d="M285.363 240.525c0 -18.6006 -9.83105 -28.4316 -28.4316 -28.4316h-29.876v56.1406h23.3779c28.668 0 34.9297 -8.77344 34.9297 -27.709zM504 192c0 -136.967 -111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248s248 -111.033 248 -248z
M363.411 87.5859c-46.7295 84.8252 -43.2988 78.6357 -44.7021 80.9805c23.4316 15.1719 37.9453 42.9785 37.9453 74.4854c0 54.2441 -31.5 89.252 -105.498 89.252h-70.667c-13.2549 0 -24 -10.7451 -24 -24v-232.304c0 -13.2549 10.7451 -24 24 -24h22.5664
c13.2549 0 24 10.7451 24 24v71.6631h25.5566l44.1289 -82.9375c4.03516 -7.58301 12.0049 -12.7266 21.1875 -12.7266h24.4639c18.2617 0.000976562 29.8291 19.5908 21.0186 35.5869z" />
    <glyph glyph-name="tv" unicode="&#xf26c;" horiz-adv-x="640" 
d="M592 448c26.4922 0 48 -21.5078 48 -48v-320c0 -26.4922 -21.5078 -48 -48 -48h-240v-32h176c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-416c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h176v32h-240
c-26.4922 0 -48 21.5078 -48 48v320c0 26.4922 21.5078 48 48 48h544zM576 96v288h-512v-288h512z" />
    <glyph glyph-name="calendar-plus" unicode="&#xf271;" horiz-adv-x="448" 
d="M436 288h-424c-6.59961 0 -12 5.40039 -12 12v36c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48v-36
c0 -6.59961 -5.40039 -12 -12 -12zM12 256h424c6.59961 0 12 -5.40039 12 -12v-260c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v260c0 6.59961 5.40039 12 12 12zM328 116c0 6.59961 -5.40039 12 -12 12h-60v60c0 6.59961 -5.40039 12 -12 12h-40
c-6.59961 0 -12 -5.40039 -12 -12v-60h-60c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h60v-60c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v60h60c6.59961 0 12 5.40039 12 12v40z" />
    <glyph glyph-name="calendar-minus" unicode="&#xf272;" horiz-adv-x="448" 
d="M436 288h-424c-6.59961 0 -12 5.40039 -12 12v36c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48v-36
c0 -6.59961 -5.40039 -12 -12 -12zM12 256h424c6.59961 0 12 -5.40039 12 -12v-260c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v260c0 6.59961 5.40039 12 12 12zM316 64c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-184
c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h184z" />
    <glyph glyph-name="calendar-times" unicode="&#xf273;" horiz-adv-x="448" 
d="M436 288h-424c-6.59961 0 -12 5.40039 -12 12v36c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48v-36
c0 -6.59961 -5.40039 -12 -12 -12zM12 256h424c6.59961 0 12 -5.40039 12 -12v-260c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v260c0 6.59961 5.40039 12 12 12zM269.3 96l48.1006 48.0996c4.69922 4.7002 4.69922 12.3008 0 17l-28.3008 28.3008
c-4.69922 4.69922 -12.2998 4.69922 -17 0l-48.0996 -48.1006l-48.0996 48.1006c-4.7002 4.69922 -12.3008 4.69922 -17 0l-28.3008 -28.3008c-4.69922 -4.69922 -4.69922 -12.2998 0 -17l48.1006 -48.0996l-48.1006 -48.0996c-4.69922 -4.7002 -4.69922 -12.3008 0 -17
l28.3008 -28.3008c4.69922 -4.69922 12.2998 -4.69922 17 0l48.0996 48.1006l48.0996 -48.1006c4.7002 -4.69922 12.3008 -4.69922 17 0l28.3008 28.3008c4.69922 4.69922 4.69922 12.2998 0 17z" />
    <glyph glyph-name="calendar-check" unicode="&#xf274;" horiz-adv-x="448" 
d="M436 288h-424c-6.62695 0 -12 5.37305 -12 12v36c0 26.5098 21.4902 48 48 48h48v52c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-52h128v52c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-52h48c26.5098 0 48 -21.4902 48 -48v-36
c0 -6.62695 -5.37305 -12 -12 -12zM12 256h424c6.62695 0 12 -5.37305 12 -12v-260c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v260c0 6.62695 5.37305 12 12 12zM345.296 160.053l-28.1689 28.3984
c-4.66699 4.70508 -12.2646 4.73535 -16.9697 0.0673828l-106.037 -105.184l-45.9805 46.3516c-4.66699 4.70508 -12.2656 4.73633 -16.9707 0.0683594l-28.3965 -28.1699c-4.70508 -4.66699 -4.73633 -12.2646 -0.0683594 -16.9697l82.6006 -83.2695
c4.66699 -4.70508 12.2656 -4.73535 16.9707 -0.0673828l142.952 141.805c4.70508 4.66699 4.73633 12.2646 0.0683594 16.9697z" />
    <glyph glyph-name="industry" unicode="&#xf275;" 
d="M475.115 284.219c15.9541 10.1514 36.8848 -1.33105 36.8848 -20.248v-271.971c0 -13.2549 -10.7451 -24 -24 -24h-464c-13.2549 0 -24 10.7451 -24 24v400c0 13.2549 10.7451 24 24 24h112c13.2549 0 24 -10.7451 24 -24v-196.309l139.115 88.5273
c15.9541 10.1514 36.8848 -1.33203 36.8848 -20.248v-68.2793z" />
    <glyph glyph-name="map-pin" unicode="&#xf276;" horiz-adv-x="288" 
d="M112 131.06c10.3896 -1.91992 21.0596 -3.05957 32 -3.05957s21.6104 1.13965 32 3.05957v-156.689l-22.0098 -33.0205c-4.75 -7.11914 -15.2207 -7.11914 -19.9707 0l-22.0195 33.0205v156.689zM144 448c79.5303 0 144 -64.4697 144 -144s-64.4697 -144 -144 -144
s-144 64.4697 -144 144s64.4697 144 144 144zM144 372c6.62012 0 12 5.37988 12 12s-5.37988 12 -12 12c-50.7197 0 -92 -41.2695 -92 -92c0 -6.62012 5.37988 -12 12 -12s12 5.37988 12 12c0 37.5 30.5 68 68 68z" />
    <glyph glyph-name="map-signs" unicode="&#xf277;" 
d="M507.31 363.31c6.25 -6.25 6.25 -16.3691 0 -22.6299l-43.3096 -43.3096c-6.00977 -6 -14.1396 -9.37012 -22.6299 -9.37012h-385.37c-13.25 0 -24 10.75 -24 24v80c0 13.25 10.75 24 24 24h168v16c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-16
h153.37c8.49023 0 16.6299 -3.37012 22.6299 -9.37012zM224 -48v112h64v-112c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16zM456 224c13.25 0 24 -10.75 24 -24v-80c0 -13.25 -10.75 -24 -24 -24h-385.37
c-8.49023 0 -16.6299 3.37012 -22.6299 9.37012l-43.3096 43.3096c-6.25 6.25 -6.25 16.3799 0 22.6299l43.3096 43.3203c6.00977 6 14.1396 9.37012 22.6299 9.37012h153.37v32h64v-32h168z" />
    <glyph glyph-name="map" unicode="&#xf279;" horiz-adv-x="576" 
d="M0 330.34c0.00292969 13.4697 8.32617 24.9932 20.1201 29.71l139.88 55.9502v-384l-138.06 -62.8398c-10.5107 -4.2002 -21.9404 3.54004 -21.9404 14.8594v346.32zM192 32v384l192 -64v-384zM554.06 414.84c10.5107 4.2002 21.9404 -3.54004 21.9404 -14.8594v-346.32
c0 -13.4707 -8.32422 -24.9951 -20.1201 -29.71l-139.88 -55.9502v384z" />
    <glyph glyph-name="comment-alt" unicode="&#xf27a;" 
d="M448 448c35.2998 0 64 -28.7002 64 -64v-288c0 -35.2998 -28.7002 -64 -64 -64h-144l-124.9 -93.7002c-7.89941 -5.7998 -19.0996 -0.0996094 -19.0996 9.7002v84h-96c-35.2998 0 -64 28.7002 -64 64v288c0 35.2998 28.7002 64 64 64h384z" />
    <glyph glyph-name="pause-circle" unicode="&#xf28b;" 
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM240 112v160c0 8.7998 -7.2002 16 -16 16h-48c-8.7998 0 -16 -7.2002 -16 -16v-160c0 -8.7998 7.2002 -16 16 -16h48c8.7998 0 16 7.2002 16 16zM352 112v160
c0 8.7998 -7.2002 16 -16 16h-48c-8.7998 0 -16 -7.2002 -16 -16v-160c0 -8.7998 7.2002 -16 16 -16h48c8.7998 0 16 7.2002 16 16z" />
    <glyph glyph-name="stop-circle" unicode="&#xf28d;" 
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM352 112v160c0 8.7998 -7.2002 16 -16 16h-160c-8.7998 0 -16 -7.2002 -16 -16v-160c0 -8.7998 7.2002 -16 16 -16h160c8.7998 0 16 7.2002 16 16z" />
    <glyph glyph-name="shopping-bag" unicode="&#xf290;" horiz-adv-x="448" 
d="M352 288h96v-272c0 -44.1826 -35.8174 -80 -80 -80h-288c-44.1826 0 -80 35.8174 -80 80v272h96v32c0 70.5801 57.4199 128 128 128c70.5791 0 128 -57.4199 128 -128v-32zM160 320v-32h128v32c0 35.29 -28.71 64 -64 64s-64 -28.71 -64 -64zM320 200
c13.2549 0 24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24zM128 200c13.2549 0 24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24z" />
    <glyph glyph-name="shopping-basket" unicode="&#xf291;" horiz-adv-x="576" 
d="M576 232v-16c0 -13.2549 -10.7451 -24 -24 -24h-8l-26.1133 -182.788c-3.37793 -23.6465 -23.6299 -41.2119 -47.5166 -41.2119h-364.74c-23.8867 0 -44.1387 17.5654 -47.5176 41.2119l-26.1123 182.788h-8c-13.2549 0 -24 10.7451 -24 24v16
c0 13.2549 10.7451 24 24 24h67.3408l106.78 146.821c10.3945 14.292 30.4072 17.4531 44.7012 7.05762c14.293 -10.3945 17.4531 -30.4082 7.05762 -44.7012l-79.4033 -109.178h235.047l-79.4033 109.179c-10.3955 14.292 -7.23438 34.3066 7.05859 44.7012
c14.291 10.3955 34.3066 7.23535 44.7012 -7.05762l106.779 -146.822h67.3408c13.2549 0 24 -10.7451 24 -24zM312 56v112c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24v-112c0 -13.2549 10.7451 -24 24 -24s24 10.7451 24 24zM424 56v112
c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24v-112c0 -13.2549 10.7451 -24 24 -24s24 10.7451 24 24zM200 56v112c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24v-112c0 -13.2549 10.7451 -24 24 -24s24 10.7451 24 24z" />
    <glyph glyph-name="hashtag" unicode="&#xf292;" horiz-adv-x="448" 
d="M440.667 265.891c-1.00195 -5.61328 -5.91309 -9.89062 -11.8135 -9.89062h-79.0957l-22.8564 -128h74.8096c7.4707 0 13.126 -6.75391 11.8135 -14.1094l-7.14355 -40c-1.00195 -5.61328 -5.91309 -9.89062 -11.8125 -9.89062h-79.0967l-15.377 -86.1094
c-1.00195 -5.61328 -5.91309 -9.89062 -11.8125 -9.89062h-40.6318c-7.47266 0 -13.127 6.75391 -11.8135 14.1094l14.623 81.8906h-98.6338l-15.3779 -86.1094c-1.00195 -5.61328 -5.91309 -9.89062 -11.8135 -9.89062h-40.6318
c-7.4707 0 -13.126 6.75391 -11.8125 14.1094l14.623 81.8906h-74.8105c-7.4707 0 -13.126 6.75391 -11.8125 14.1094l7.14258 40c1.00195 5.61328 5.91309 9.89062 11.8135 9.89062h79.0957l22.8564 128h-74.8096c-7.4707 0 -13.126 6.75391 -11.8135 14.1094l7.14355 40
c1.00195 5.61328 5.91309 9.89062 11.8125 9.89062h79.0967l15.377 86.1094c1.00195 5.61328 5.91309 9.89062 11.8125 9.89062h40.6318c7.47266 0 13.127 -6.75391 11.8135 -14.1094l-14.623 -81.8906h98.6348l15.377 86.1094
c1.00195 5.61328 5.91309 9.89062 11.8135 9.89062h40.6318c7.4707 0 13.126 -6.75391 11.8125 -14.1094l-14.623 -81.8906h74.8105c7.4707 0 13.126 -6.75391 11.8125 -14.1094zM261.889 128l22.8574 128h-98.6338l-22.8574 -128h98.6338z" />
    <glyph glyph-name="percent" unicode="&#xf295;" horiz-adv-x="448" 
d="M112 224c-61.9004 0 -112 50.0996 -112 112s50.0996 112 112 112s112 -50.0996 112 -112s-50.0996 -112 -112 -112zM112 384c-26.5 0 -48 -21.5 -48 -48s21.5 -48 48 -48s48 21.5 48 48s-21.5 48 -48 48zM336 160c61.9004 0 112 -50.0996 112 -112
s-50.0996 -112 -112 -112s-112 50.0996 -112 112s50.0996 112 112 112zM336 0c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM392.3 447.8l31.6006 0.100586c19.3994 0.0996094 30.8994 -21.8008 19.6992 -37.8008l-366.199 -463.699
c-4.33203 -6.17773 -11.4912 -10.1973 -19.6006 -10.2002l-33.3994 -0.100586c-19.5 0 -30.9004 21.9004 -19.7002 37.8008l368 463.699c4.5 6.40039 11.7998 10.2002 19.5996 10.2002z" />
    <glyph glyph-name="universal-access" unicode="&#xf29a;" 
d="M256 400c-114.971 0 -208 -93.0469 -208 -208c0 -114.971 93.0469 -208 208 -208c114.971 0 208 93.0469 208 208c0 114.971 -93.0469 208 -208 208zM256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248z
M256 384c106.039 0 192 -85.9609 192 -192s-85.9609 -192 -192 -192s-192 85.9609 -192 192s85.9609 192 192 192zM256 340c-19.8818 0 -36 -16.1182 -36 -36s16.1182 -36 36 -36s36 16.1182 36 36s-16.1182 36 -36 36zM373.741 241.977
c8.59961 2.03027 13.9258 10.6484 11.8965 19.249c-2.03027 8.60156 -10.6494 13.9258 -19.249 11.8955c-96.4912 -22.7832 -124.089 -22.8291 -220.774 0c-8.60254 2.03125 -17.2178 -3.29395 -19.249 -11.8955c-2.03125 -8.60059 3.29492 -17.2178 11.8945 -19.249
c28.7129 -6.7793 55.5127 -12.749 82.1416 -15.8066c-0.852539 -101.08 -12.3242 -123.08 -25.0371 -155.621c-3.61719 -9.25879 0.957031 -19.6982 10.2168 -23.3145c9.26465 -3.61914 19.7002 0.961914 23.3154 10.2168c8.72754 22.3408 17.0947 40.6982 22.2617 78.5488
h9.68555c5.1748 -37.9131 13.5566 -56.2412 22.2617 -78.5488c3.61621 -9.25977 14.0547 -13.834 23.3154 -10.2168c9.25977 3.61621 13.834 14.0547 10.2168 23.3145c-12.7305 32.5693 -24.1855 54.5986 -25.0371 155.621c26.6299 3.05859 53.4287 9.02832 82.1406 15.8066
z" />
    <glyph glyph-name="blind" unicode="&#xf29d;" horiz-adv-x="384" 
d="M380.15 -62.8369c-1.20898 -0.733398 -2.62695 -1.15625 -4.14258 -1.15625c-2.89941 0 -5.44336 1.53223 -6.84668 3.84277l-125.33 206.428c5.10547 2.02539 9.53809 5.2959 12.958 9.48438l126.048 -207.607c0.734375 -1.20898 1.15723 -2.62793 1.15723 -4.14355
c0 -2.89941 -1.53223 -5.44434 -3.84375 -6.84766zM142.803 133.662l62.8145 -153.537c6.69141 -16.3584 -1.14453 -35.042 -17.501 -41.7344c-16.3564 -6.69043 -35.04 1.1416 -41.7334 17.501l-36.1201 88.2852zM96 360c-24.3008 0 -44 19.6992 -44 44s19.6992 44 44 44
s44 -19.6992 44 -44s-19.6992 -44 -44 -44zM250.837 190.872c8.19336 -10.374 6.44434 -25.4922 -3.96582 -33.708c-9.33984 -7.37402 -24.5635 -7.61914 -33.708 3.96484l-102.3 129.217c-0.733398 0.924805 -1.86328 1.5127 -3.13281 1.5127
c-2.20801 0 -4.00098 -1.79297 -4.00098 -4.00098c0 -0.9375 0.323242 -1.7998 0.864258 -2.48242l31.4062 -39.8164v-107.196l-65.9258 -181.288c-6.04102 -16.6143 -24.4072 -25.1768 -41.0088 -19.1387c-16.6104 6.04004 -25.1787 24.4004 -19.1387 41.0098
l54.0732 148.693v140.698l-16 -20.5713v-79.7656c0 -13.0996 -10.4951 -23.748 -23.5361 -23.9961c-13.4531 -0.254883 -24.4639 11.0811 -24.4639 24.5361v95.6943l61.0557 78.5c4.72754 6.0791 11.7979 9.23633 18.9443 9.23926v0.0263672h32v-0.015625
c7.08691 -0.00390625 14.1035 -3.11719 18.8369 -9.1123z" />
    <glyph glyph-name="audio-description" unicode="&#xf29e;" 
d="M162.925 209.291l8.82227 -30.6553h-25.6064l9.04102 30.6523c1.27734 4.4209 2.65137 9.99414 3.87207 15.2451c1.2207 -5.25098 2.59473 -10.8232 3.87109 -15.2422zM329.399 241.39c28.6846 0 46.1748 -16.7656 46.1748 -49.0049
c0 -32.0977 -16.3994 -49.7754 -46.1748 -49.7754h-14.5234v98.7803h14.5234zM512 336v-288c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h416c26.5098 0 48 -21.4902 48 -48zM245.459 111.861l-57.0967 168
c-1.6084 4.73242 -6.08887 8.13867 -11.3623 8.13867h-35.8936c-5.27344 0 -9.75391 -3.40625 -11.3623 -8.13867l-57.0967 -168c-2.64453 -7.7832 3.1416 -15.8613 11.3613 -15.8613h29.1328c5.47559 0 10.0977 3.67676 11.5352 8.69336l8.57422 29.9053h51.3672
l8.79297 -29.9766c1.46094 -4.97949 6.06543 -8.62207 11.5146 -8.62207h29.1719c8.2207 0 14.0059 8.07812 11.3613 15.8613zM430.16 192.386c0 58.9775 -37.9189 95.6143 -98.96 95.6143h-57.3662c-6.62695 0 -12 -5.37305 -12 -12v-168c0 -6.62695 5.37305 -12 12 -12
h57.3662c61.041 0 98.96 36.9326 98.96 96.3857z" />
    <glyph glyph-name="phone-volume" unicode="&#xf2a0;" horiz-adv-x="384" 
d="M97.333 -58.9658c-129.874 129.874 -129.681 340.252 0 469.933c5.69824 5.69824 14.5273 6.63184 21.2627 2.42188l64.8174 -40.5127c4.86035 -3.03711 8.09668 -8.43652 8.09668 -14.5859c0 -2.25098 -0.458984 -4.40137 -1.24805 -6.37207l-32.4082 -81.0205
c-2.5332 -6.33496 -8.73047 -10.8145 -15.9648 -10.8145c-0.583008 0 -1.13574 0.0380859 -1.7041 0.0947266l-55.8096 5.58008c-21.0508 -58.2607 -20.6123 -122.471 0 -179.515l55.8105 5.58105c0.568359 0.0566406 1.14551 0.0859375 1.72852 0.0859375
c7.23438 0 13.4072 -4.4707 15.9414 -10.8047l32.4072 -81.0225c0.789062 -1.9707 1.22266 -4.12207 1.22266 -6.37305c0 -6.14844 -3.21094 -11.5469 -8.07129 -14.585l-64.8174 -40.5127c-2.6377 -1.64844 -5.75391 -2.60156 -9.09082 -2.60156
c-4.74316 0 -9.06152 1.91211 -12.1729 5.02344zM247.126 352.527c11.832 -20.0469 11.832 -45.0088 0 -65.0557c-3.9502 -6.69238 -13.1084 -7.95898 -18.7178 -2.58105l-5.97559 5.72656c-3.91016 3.74805 -4.79297 9.62207 -2.26074 14.4102
c2.35645 4.46191 3.69141 9.5459 3.69141 14.9395c0 5.39258 -1.33496 10.543 -3.69141 15.0049c-2.5332 4.78809 -1.64941 10.6621 2.26074 14.4102l5.97559 5.72656c5.60938 5.37793 14.7676 4.11133 18.7178 -2.58105zM338.913 443.714
c60.1396 -71.6035 60.0918 -175.882 0 -247.428c-4.47363 -5.32715 -12.5303 -5.74609 -17.5518 -0.933594l-5.79785 5.55762c-4.56055 4.37109 -4.97754 11.5293 -0.930664 16.3789c49.6875 59.5381 49.6465 145.933 0 205.422
c-4.04688 4.84961 -3.63086 12.0078 0.930664 16.3789l5.79785 5.55762c5.02148 4.8125 13.0781 4.39355 17.5518 -0.933594zM292.941 398.773c36.0498 -46.3223 36.1074 -111.149 0 -157.547c-4.39062 -5.64062 -12.6973 -6.25098 -17.8564 -1.30371l-5.81836 5.5791
c-4.39941 4.21875 -4.99805 11.0947 -1.28418 15.9307c26.5352 34.5645 26.5332 82.5723 0 117.135c-3.71387 4.83594 -3.11523 11.7109 1.28418 15.9307l5.81836 5.5791c5.15918 4.94727 13.4658 4.33691 17.8564 -1.30371z" />
    <glyph glyph-name="braille" unicode="&#xf2a1;" horiz-adv-x="640" 
d="M128 192c0 -35.3457 -28.6543 -64 -64 -64s-64 28.6543 -64 64s28.6543 64 64 64s64 -28.6543 64 -64zM64 64c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM64 416c35.3457 0 64 -28.6543 64 -64s-28.6543 -64 -64 -64
s-64 28.6543 -64 64s28.6543 64 64 64zM224 224c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM224 64c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM224 416
c35.3457 0 64 -28.6543 64 -64s-28.6543 -64 -64 -64s-64 28.6543 -64 64s28.6543 64 64 64zM448 224c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM448 64c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32
s-32 14.3271 -32 32s14.3271 32 32 32zM448 416c35.3457 0 64 -28.6543 64 -64s-28.6543 -64 -64 -64s-64 28.6543 -64 64s28.6543 64 64 64zM608 224c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM608 64
c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM608 384c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32z" />
    <glyph glyph-name="assistive-listening-systems" unicode="&#xf2a2;" 
d="M216 188c0 -15.4639 -12.5361 -28 -28 -28s-28 12.5361 -28 28c0 44.1123 35.8877 80 80 80s80 -35.8877 80 -80c0 -15.4639 -12.5361 -28 -28 -28s-28 12.5361 -28 28c0 13.2344 -10.7666 24 -24 24s-24 -10.7656 -24 -24zM240 364c97.0469 0 176 -78.9531 176 -176
c0 -95.9863 -71.4053 -109.798 -72 -144.226c-0.124023 -59.4463 -48.5254 -107.774 -108 -107.774c-15.4639 0 -28 12.5361 -28 28s12.5361 28 28 28c28.6729 0 52 23.3271 52 52l0.00292969 0.37793c0.988281 73.3115 71.9971 68.458 71.9971 143.622
c0 66.168 -53.832 120 -120 120s-120 -53.832 -120 -120c0 -15.4639 -12.5361 -28 -28 -28s-28 12.5361 -28 28c0 97.0469 78.9531 176 176 176zM160 128c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM32 0
c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM512 187.993c0 -15.4639 -12.5371 -28 -28.001 -28s-28 12.5361 -28 28c0 1.12695 -0.00683594 2.24512 -0.0332031 3.36328l-0.00292969 0.1875
c-1.4668 91.4404 -60.1709 172.599 -146.077 201.953c-14.6318 5.00098 -22.4414 20.917 -17.4414 35.5498c5.00098 14.6328 20.917 22.4404 35.5498 17.4424c108.163 -36.959 182.082 -139.015 183.961 -253.965c0.0332031 -1.50684 0.0449219 -3.01367 0.0449219 -4.53125
zM152.971 8.9707l-33.9404 -33.9404l-80 80l33.9404 33.9404z" />
    <glyph glyph-name="american-sign-language-interpreting" unicode="&#xf2a3;" horiz-adv-x="640" 
d="M290.547 258.961c-20.2949 10.1494 -44.1465 11.1992 -64.7393 3.88965c42.6064 0 71.208 -20.4746 85.5781 -50.5752c8.57617 -17.8994 -5.14746 -38.0713 -23.6172 -38.0713c18.4297 0 32.2119 -20.1357 23.6172 -38.0713
c-14.7246 -30.8457 -46.123 -50.8535 -80.2979 -50.8535c-0.556641 0 -94.4707 8.61426 -94.4707 8.61426l-66.4062 -33.3467c-9.38379 -4.69336 -19.8145 -0.378906 -23.8945 7.78125l-44.4561 88.9248c-4.16699 8.61523 -1.11133 18.8975 6.94531 23.6211l58.0723 33.0693
l41.1221 74.1953c6.38965 57.2451 34.7314 109.768 79.7432 146.727c11.3906 9.44824 28.3408 7.78125 37.5098 -3.61328c9.44629 -11.3936 7.78027 -28.0674 -3.6123 -37.5156c-12.5029 -10.5596 -23.6172 -22.5098 -32.5088 -35.5703
c21.6719 14.7285 46.6787 24.7324 74.1865 28.0674c14.7246 1.94434 28.0625 -8.33594 29.7295 -23.0654c1.94531 -14.7275 -8.33594 -28.0674 -23.0615 -29.7344c-16.1162 -1.94434 -31.1201 -7.50293 -44.1787 -15.2832c26.1143 5.71289 58.7119 3.1377 88.0791 -11.1152
c13.3359 -6.66895 18.8936 -22.5088 12.2246 -35.8486c-6.38965 -13.0596 -22.5039 -18.6162 -35.5645 -12.2256zM263.318 189.489c-6.1123 12.5049 -18.3379 20.2861 -32.2314 20.2861h-0.107422c-19.5703 0 -35.46 -15.8896 -35.46 -35.46
c0 -0.0380859 0.00195312 -0.0732422 0.00292969 -0.110352c0 -21.4277 17.8076 -35.5703 35.5645 -35.5703c13.8936 0 26.1191 7.78125 32.2314 20.2861c4.44531 9.44922 13.6133 15.0059 23.3389 15.2842c-9.72559 0.277344 -18.8936 5.83496 -23.3389 15.2842z
M638.139 226.726c4.16797 -8.61426 1.11133 -18.8965 -6.94531 -23.6201l-58.0713 -33.0693l-41.1221 -74.1963c-6.38965 -57.2451 -34.7314 -109.767 -79.7432 -146.726c-10.9316 -9.1123 -27.7988 -8.14453 -37.5098 3.6123
c-9.44629 11.3945 -7.78027 28.0674 3.61328 37.5166c12.5029 10.5586 23.6162 22.5088 32.5078 35.5703c-21.6719 -14.7295 -46.6787 -24.7324 -74.1865 -28.0674c-10.0205 -2.50586 -27.5518 5.64258 -29.7295 23.0645c-1.94531 14.7285 8.33594 28.0674 23.0615 29.7344
c16.1162 1.94629 31.1201 7.50293 44.1787 15.2842c-26.1143 -5.71289 -58.7119 -3.1377 -88.0791 11.1152c-13.3359 6.66895 -18.8936 22.5088 -12.2246 35.8477c6.38965 13.0605 22.5049 18.6191 35.5654 12.2266c20.2949 -10.1484 44.1465 -11.1982 64.7393 -3.88965
c-42.6064 0 -71.208 20.4746 -85.5781 50.5762c-8.57617 17.8984 5.14746 38.0713 23.6172 38.0713c-18.4297 0 -32.2109 20.1357 -23.6172 38.0703c14.0332 29.3965 44.0391 50.8877 81.9658 50.8545l92.8027 -8.61523l66.4062 33.3467
c9.4082 4.7041 19.8281 0.354492 23.8936 -7.78027zM408.912 245.344c-13.8936 0 -26.1191 -7.78027 -32.2314 -20.2861c-4.44531 -9.44824 -13.6133 -15.0059 -23.3389 -15.2832c9.72559 -0.27832 18.8936 -5.83594 23.3389 -15.2842
c6.1123 -12.5049 18.3379 -20.2861 32.2314 -20.2861h0.107422c19.5703 0 35.46 15.8887 35.46 35.46c0 0.0371094 -0.00195312 0.0722656 -0.00292969 0.110352c0 21.4287 -17.8076 35.5693 -35.5645 35.5693z" />
    <glyph glyph-name="deaf" unicode="&#xf2a4;" 
d="M216 188c0 -15.4639 -12.5361 -28 -28 -28s-28 12.5361 -28 28c0 44.1123 35.8877 80 80 80s80 -35.8877 80 -80c0 -15.4639 -12.5361 -28 -28 -28s-28 12.5361 -28 28c0 13.2344 -10.7666 24 -24 24s-24 -10.7656 -24 -24zM240 364c97.0469 0 176 -78.9531 176 -176
c0 -95.9863 -71.4053 -109.798 -72 -144.226c-0.124023 -59.4463 -48.5254 -107.774 -108 -107.774c-15.4639 0 -28 12.5361 -28 28s12.5361 28 28 28c28.6729 0 52 23.3271 52 52l0.00292969 0.37793c0.988281 73.3115 71.9971 68.458 71.9971 143.622
c0 66.168 -53.832 120 -120 120s-120 -53.832 -120 -120c0 -15.4639 -12.5361 -28 -28 -28s-28 12.5361 -28 28c0 97.0469 78.9531 176 176 176zM508.485 416.201c4.68652 -4.68652 4.68652 -12.2842 0 -16.9727l-87.0303 -87.0283
c-4.68652 -4.68652 -12.2842 -4.68652 -16.9697 0l-28.2852 28.2852c-4.68652 4.68652 -4.68652 12.2842 0 16.9707l87.0283 87.0293c4.6875 4.68555 12.2842 4.68555 16.9717 0zM168.97 133.255l28.2861 -28.2842c4.68652 -4.68652 4.68652 -12.2852 0 -16.9707
l-148.484 -148.485c-4.6875 -4.68555 -12.2842 -4.68555 -16.9717 0l-28.2852 28.2842c-4.68555 4.6875 -4.68555 12.2852 0 16.9707l148.485 148.485c4.68555 4.68652 12.2842 4.68652 16.9697 0z" />
    <glyph glyph-name="sign-language" unicode="&#xf2a7;" horiz-adv-x="448" 
d="M91.4336 -35.9873c-0.306641 16.0186 13.1094 29.1289 29.1309 29.1289h62.293v5.71484h-125.864c-16.0215 0 -29.4375 13.1104 -29.1299 29.1289c0.296875 15.5234 12.9717 28.0146 28.5645 28.0146h126.43v5.71387h-153.722
c-16.0205 0 -29.4365 13.1113 -29.1299 29.1289c0.296875 15.5225 12.9727 28.0137 28.5664 28.0137h154.286v5.71387h-125.151c-16.0215 0 -29.4375 13.1104 -29.1299 29.1289c0.296875 15.5215 12.9727 28.0127 28.5654 28.0127h168.566l-31.085 22.6064
c-12.7617 9.28027 -15.583 27.1484 -6.30176 39.9121c9.28027 12.7607 27.1494 15.5811 39.9121 6.30176l123.36 -89.7148c8.57324 -6.23535 14.1201 -16.3271 14.1201 -27.7285v-141.136c0 -15.9102 -10.9463 -29.7305 -26.4326 -33.374l-80.4717 -18.9346
c-10.1113 -2.37891 -20.5771 -3.64551 -31.4102 -3.64551h-107.4c-15.5928 0.000976562 -28.2686 12.4922 -28.5664 28.0137zM164.683 189.714l-36.3711 46.71c-9.5791 12.3027 -7.51172 29.9795 4.55371 39.75c12.4502 10.083 31.0371 7.55273 40.8799 -5.08789
l13.0039 -16.7002c-17.1426 -15.6484 -15.4092 -43.0244 3.16992 -56.5361l11.1875 -8.13574h-36.4238zM447.981 191.817c0.0117188 -0.379883 0.0439453 -0.729492 0.0439453 -1.1123c0 -10.9961 -5.1875 -20.7891 -13.2461 -27.0654l-61.0645 -47.5488v16.999
c0 13.4834 -6.51074 26.2686 -17.415 34.1982l-123.359 89.7139c-12.6357 9.18945 -29.1934 9.16113 -41.6904 0.904297l-52.0527 66.8486c-9.84375 12.6416 -7.74121 31.2822 5.08594 40.8809c12.4297 9.30273 30.0732 6.97559 39.6523 -5.32812l77.6758 -99.7539
l4.50879 3.51172l-94.4434 121.287c-9.84277 12.6416 -7.74121 31.2822 5.08594 40.8818c12.4307 9.30176 30.0732 6.97461 39.6533 -5.32812l94.79 -121.734l4.50879 3.51074l-76.8887 98.7451c-9.84277 12.6416 -7.74121 31.2822 5.08594 40.8809
c12.4297 9.30273 30.0732 6.97559 39.6533 -5.32715l103.562 -133.001l-1.26172 38.4141c-0.518555 15.7715 11.8457 28.9756 27.6191 29.4932c15.7705 0.517578 28.9746 -11.8477 29.4922 -27.6191z" />
    <glyph glyph-name="low-vision" unicode="&#xf2a8;" horiz-adv-x="576" 
d="M569.344 216.369c4.20996 -7.13086 6.62598 -15.5469 6.62598 -24.4199c0 -8.87402 -2.41699 -17.1875 -6.62695 -24.3193c-31.9746 -54.2607 -79.6484 -98.3232 -136.81 -126.301l0.00683594 -0.00878906l43.1201 -58.377
c7.60156 -10.8594 4.95996 -25.8252 -5.90039 -33.4268l-13.1133 -9.17773c-10.8594 -7.59863 -25.8223 -4.95801 -33.4238 5.90039l-251.836 356.544c-13.5234 -6.16211 -26.5166 -13.3994 -38.7764 -21.5635l189.979 -271.399
c-11.4863 -1.21191 -22.4707 -1.83301 -34.2754 -1.83301c-15.1465 0 -30.0566 1.02344 -44.6641 3.00293l-40.6309 58.04h-0.00976562l-119.399 170.58c-10.457 -11.1943 -19.8271 -23.0791 -28.2939 -35.9121l124.19 -177.417
c-73.1172 25.4863 -134.358 76.0166 -172.858 141.349c-8.96484 15.2109 -8.76562 33.8643 0 48.7393c0.0107422 0.0166016 0.0234375 0.0332031 0.0332031 0.0498047c33.5459 56.8984 82.7676 99.8506 136.79 126.242l-43.1309 58.3945
c-7.60156 10.8604 -4.95996 25.8252 5.90039 33.4268l13.1143 9.17773c10.8584 7.59961 25.8213 4.95801 33.4229 -5.90039l52.7705 -72.1689c26.3496 6.79004 53.9834 10.4092 82.4512 10.4092c119.81 0 224.96 -63.9492 281.344 -159.631zM390.026 102.06
c21.1406 23.9658 33.9736 55.4365 33.9736 89.9404c0 75.1738 -60.8379 136 -136 136c-17.5117 0 -34.2422 -3.30566 -49.6084 -9.32324l19.0684 -27.2363c25.9883 7.96289 54.7598 5.56836 79.5098 -7.68066h-0.0292969c-23.6504 0 -42.8203 -19.1699 -42.8203 -42.8193
c0 -23.4717 18.9922 -42.8203 42.8203 -42.8203c23.6494 0 42.8193 19.1699 42.8193 42.8203v0.0292969c18.9111 -35.3271 15.8818 -79.1123 -8.7998 -111.68z" />
    <glyph glyph-name="handshake" unicode="&#xf2b5;" horiz-adv-x="640" 
d="M434.7 384c8.5 0 16.7002 -3.40039 22.5996 -9.40039l54.6006 -54.5996v-193.5c-2.40039 2.7002 -5 5.2998 -7.90039 7.7002l-145.6 118.2l26.0996 23.8994c6.5 6 7 16.1006 1 22.6006c-5.90039 6.5 -16.0996 6.89941 -22.5996 1l-79.9004 -73.2002
c-0.0996094 -0.100586 -0.299805 -0.100586 -0.400391 -0.200195c-16.6992 -14.9004 -43.3994 -11.2002 -56.0996 2.7002c-14.2002 15.5 -14.5 40.3994 2.09961 56c0.100586 0.0996094 0.200195 0.299805 0.300781 0.399414l98.2998 90
c5.89941 5.40039 13.5996 8.40039 21.5996 8.40039h85.9004zM544 319.8h96v-255.899h-64c-17.7002 0 -32 14.2998 -32 32v223.899zM592 95.9004c8.7998 0 16 7.19922 16 16c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.80078 7.2002 -16 16 -16zM0 64v255.8h96
v-223.8c0 -17.7002 -14.2998 -32 -32 -32h-64zM48 127.9c-8.7998 0 -16 -7.10059 -16 -16c0 -8.80078 7.2002 -16 16 -16s16 7.19922 16 16c0 8.7998 -7.2002 16 -16 16zM483.9 109.3c13.6992 -11.2002 15.7998 -31.2998 4.59961 -45.0996l-9.5 -11.7002
c-11.0996 -13.7998 -31.2998 -15.7998 -45 -4.7002l-5.40039 4.40039l-31.3994 -38.6006c-12.9004 -15.8994 -36.4004 -18.3994 -52.2998 -5.39941l-17.9004 15.5l-0.200195 -0.200195c-22.2998 -27.4004 -62.5996 -31.5996 -90 -9.2998l-90.5 81.8994h-18.2998v223.9
l54.7002 54.5996c6 6 14.0996 9.40039 22.5996 9.40039h83.7998l-81.7998 -74.9004c-29.2002 -26.7998 -31.2998 -72.2998 -4.39941 -101.699c26.5 -28.9004 72 -31.5 101.699 -4.40039l30 27.5z" />
    <glyph glyph-name="envelope-open" unicode="&#xf2b6;" 
d="M512 -16c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v263.276c0 15.3379 7.17383 28.9863 18.3867 37.7754c24.9131 19.5293 45.501 35.3652 164.2 121.512c16.8252 12.2666 50.21 41.7832 73.4131 41.4336
c23.1982 0.353516 56.5957 -29.1719 73.4131 -41.4326c118.687 -86.1377 139.303 -101.995 164.2 -121.513c11.2129 -8.78906 18.3867 -22.4375 18.3867 -37.7754v-263.276zM446.334 180.605c-2.5625 3.72754 -7.7002 4.59473 -11.3389 1.90625
c-22.8447 -16.873 -55.4619 -40.7051 -105.582 -77.0791c-16.8252 -12.2656 -50.21 -41.7803 -73.4131 -41.4297c-23.2109 -0.34375 -56.5586 29.1436 -73.4131 41.4297c-50.1143 36.3701 -82.7344 60.2041 -105.582 77.0791
c-3.63867 2.68848 -8.77637 1.82129 -11.3389 -1.90625l-9.07227 -13.1963c-0.884766 -1.28711 -1.40332 -2.8457 -1.40332 -4.52539c0 -2.63867 1.26953 -4.98438 3.24219 -6.44141c22.8877 -16.8994 55.4541 -40.6904 105.304 -76.8682
c20.2734 -14.7812 56.5234 -47.8135 92.2637 -47.5732c35.7236 -0.242188 71.9609 32.7715 92.2627 47.5732c49.8506 36.1787 82.418 59.9697 105.304 76.8682c1.97266 1.45703 3.25391 3.79883 3.25391 6.4375c0 1.67969 -0.530273 3.24219 -1.41504 4.5293z" />
    <glyph glyph-name="address-book" unicode="&#xf2b9;" horiz-adv-x="448" 
d="M436 288h-20v-64h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-20v-64h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-20v-48c0 -26.5 -21.5 -48 -48 -48h-320c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48
h320c26.5 0 48 -21.5 48 -48v-48h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12zM208 320c-35.2998 0 -64 -28.7002 -64 -64s28.7002 -64 64 -64s64 28.7002 64 64s-28.7002 64 -64 64zM320 83.2002v19.2002
c0 31.7998 -30.0996 57.5996 -67.2002 57.5996h-5c-12.2002 -5.09961 -25.7002 -8 -39.7998 -8s-27.5 2.90039 -39.7998 8h-5c-37.1006 0 -67.2002 -25.7998 -67.2002 -57.5996v-19.2002c0 -10.6006 10 -19.2002 22.4004 -19.2002h179.199
c12.4004 0 22.4004 8.59961 22.4004 19.2002z" />
    <glyph glyph-name="address-card" unicode="&#xf2bb;" horiz-adv-x="576" 
d="M528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480zM176 320c-35.2998 0 -64 -28.7002 -64 -64s28.7002 -64 64 -64s64 28.7002 64 64s-28.7002 64 -64 64zM288 83.2002v19.2002
c0 31.7998 -30.0996 57.5996 -67.2002 57.5996h-5c-12.2002 -5.09961 -25.7002 -8 -39.7998 -8s-27.5 2.90039 -39.7998 8h-5c-37.1006 0 -67.2002 -25.7998 -67.2002 -57.5996v-19.2002c0 -10.6006 10 -19.2002 22.4004 -19.2002h179.199
c12.4004 0 22.4004 8.59961 22.4004 19.2002zM512 136v16c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8zM512 200v16c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8v-16
c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8zM512 264v16c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8z" />
    <glyph glyph-name="user-circle" unicode="&#xf2bd;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 344c-48.5996 0 -88 -39.4004 -88 -88s39.4004 -88 88 -88s88 39.4004 88 88s-39.4004 88 -88 88zM248 0c58.7002 0 111.3 26.5996 146.5 68.2002
c-18.7998 35.3994 -55.5996 59.7998 -98.5 59.7998c-2.40039 0 -4.7998 -0.400391 -7.09961 -1.09961c-12.9004 -4.2002 -26.6006 -6.90039 -40.9004 -6.90039s-27.9004 2.7002 -40.9004 6.90039c-2.2998 0.699219 -4.69922 1.09961 -7.09961 1.09961
c-42.9004 0 -79.7002 -24.4004 -98.5 -59.7998c35.2002 -41.6006 87.7998 -68.2002 146.5 -68.2002z" />
    <glyph glyph-name="id-badge" unicode="&#xf2c1;" horiz-adv-x="384" 
d="M336 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h288zM144 416c-8.7998 0 -16 -7.2002 -16 -16s7.2002 -16 16 -16h96c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16h-96zM192 288
c-35.2998 0 -64 -28.7002 -64 -64s28.7002 -64 64 -64s64 28.7002 64 64s-28.7002 64 -64 64zM304 51.2002v19.2002c0 31.7998 -30.0996 57.5996 -67.2002 57.5996h-5c-12.2002 -5.09961 -25.7002 -8 -39.7998 -8s-27.5 2.90039 -39.7998 8h-5
c-37.1006 0 -67.2002 -25.7998 -67.2002 -57.5996v-19.2002c0 -10.6006 10 -19.2002 22.4004 -19.2002h179.199c12.4004 0 22.4004 8.59961 22.4004 19.2002z" />
    <glyph glyph-name="id-card" unicode="&#xf2c2;" horiz-adv-x="576" 
d="M528 416c26.5 0 48 -21.5 48 -48v-16h-576v16c0 26.5 21.5 48 48 48h480zM0 16v304h576v-304c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48zM352 248v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-144
c-4.40039 0 -8 -3.59961 -8 -8zM352 184v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8zM352 120v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8v16
c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8zM176 256c-35.2998 0 -64 -28.7002 -64 -64s28.7002 -64 64 -64s64 28.7002 64 64s-28.7002 64 -64 64zM67.0996 51.7998c-3.19922 -9.7998 5.2002 -19.7998 15.6006 -19.7998h186.6
c10.4004 0 18.7998 9.90039 15.6006 19.7998c-8.40039 25.7002 -32.5 44.2002 -60.9004 44.2002h-8.2002c-12.2002 -5.09961 -25.7002 -8 -39.7998 -8s-27.5 2.90039 -39.7998 8h-8.2002c-28.4004 0 -52.5 -18.5 -60.9004 -44.2002z" />
    <glyph glyph-name="thermometer-full" unicode="&#xf2c7;" horiz-adv-x="256" 
d="M224 352v-203.347c19.9121 -22.5635 32 -52.1943 32 -84.6533c0 -70.6963 -57.3018 -128 -128 -128c-0.298828 0 -0.610352 0.000976562 -0.90918 0.00292969c-70.3018 0.488281 -127.448 58.3613 -127.089 128.664c0.164062 32.1973 12.2227 61.5771 31.998 83.9863
v203.347c0 53.0186 42.9814 96 96 96s96 -42.9814 96 -96zM128 -16c44.1123 0 80 35.8877 80 80c0 34.3379 -19.3701 52.1904 -32 66.502v221.498c0 26.4668 -21.5332 48 -48 48s-48 -21.5332 -48 -48v-221.498c-12.7334 -14.4277 -31.8262 -32.0996 -31.999 -66.0801
c-0.223633 -43.876 35.5635 -80.1162 79.4229 -80.4199zM192 64c0 -35.3457 -28.6543 -64 -64 -64s-64 28.6543 -64 64c0 23.6846 12.876 44.3486 32 55.417v232.583c0 17.6729 14.3271 32 32 32s32 -14.3271 32 -32v-232.583c19.124 -11.0684 32 -31.7324 32 -55.417z" />
    <glyph glyph-name="thermometer-three-quarters" unicode="&#xf2c8;" horiz-adv-x="256" 
d="M192 64c0 -35.3457 -28.6543 -64 -64 -64s-64 28.6543 -64 64c0 23.6846 12.876 44.3486 32 55.417v168.583c0 17.6729 14.3271 32 32 32s32 -14.3271 32 -32v-168.583c19.124 -11.0684 32 -31.7324 32 -55.417zM224 148.653c19.9121 -22.5635 32 -52.1943 32 -84.6533
c0 -70.6963 -57.3027 -128 -128 -128c-0.298828 0 -0.609375 0.000976562 -0.90918 0.00292969c-70.3018 0.488281 -127.448 58.3613 -127.089 128.664c0.164062 32.1982 12.2227 61.5781 31.998 83.9863v203.347c0 53.0186 42.9814 96 96 96s96 -42.9814 96 -96v-203.347z
M208 64c0 34.3389 -19.3701 52.1904 -32 66.502v221.498c0 26.4668 -21.5332 48 -48 48s-48 -21.5332 -48 -48v-221.498c-12.7324 -14.4277 -31.8252 -32.0996 -31.999 -66.0801c-0.223633 -43.876 35.5635 -80.1162 79.4229 -80.4199l0.576172 -0.00195312
c44.1123 0 80 35.8877 80 80z" />
    <glyph glyph-name="thermometer-half" unicode="&#xf2c9;" horiz-adv-x="256" 
d="M192 64c0 -35.3457 -28.6543 -64 -64 -64s-64 28.6543 -64 64c0 23.6846 12.876 44.3486 32 55.417v104.583c0 17.6729 14.3271 32 32 32s32 -14.3271 32 -32v-104.583c19.124 -11.0684 32 -31.7324 32 -55.417zM224 148.653c19.9121 -22.5635 32 -52.1943 32 -84.6533
c0 -70.6963 -57.3027 -128 -128 -128c-0.298828 0 -0.609375 0.000976562 -0.90918 0.00292969c-70.3018 0.488281 -127.448 58.3613 -127.089 128.664c0.164062 32.1982 12.2227 61.5781 31.998 83.9863v203.347c0 53.0186 42.9814 96 96 96s96 -42.9814 96 -96v-203.347z
M208 64c0 34.3389 -19.3701 52.1904 -32 66.502v221.498c0 26.4668 -21.5332 48 -48 48s-48 -21.5332 -48 -48v-221.498c-12.7324 -14.4277 -31.8252 -32.0996 -31.999 -66.0801c-0.223633 -43.876 35.5635 -80.1162 79.4229 -80.4199l0.576172 -0.00195312
c44.1123 0 80 35.8877 80 80z" />
    <glyph glyph-name="thermometer-quarter" unicode="&#xf2ca;" horiz-adv-x="256" 
d="M192 64c0 -35.3457 -28.6543 -64 -64 -64s-64 28.6543 -64 64c0 23.6846 12.876 44.3486 32 55.417v40.583c0 17.6729 14.3271 32 32 32s32 -14.3271 32 -32v-40.583c19.124 -11.0684 32 -31.7324 32 -55.417zM224 148.653c19.9121 -22.5635 32 -52.1943 32 -84.6533
c0 -70.6963 -57.3027 -128 -128 -128c-0.298828 0 -0.609375 0.000976562 -0.90918 0.00292969c-70.3018 0.488281 -127.448 58.3613 -127.089 128.664c0.164062 32.1982 12.2227 61.5781 31.998 83.9863v203.347c0 53.0186 42.9814 96 96 96s96 -42.9814 96 -96v-203.347z
M208 64c0 34.3389 -19.3701 52.1904 -32 66.502v221.498c0 26.4668 -21.5332 48 -48 48s-48 -21.5332 -48 -48v-221.498c-12.7324 -14.4277 -31.8252 -32.0996 -31.999 -66.0801c-0.223633 -43.876 35.5635 -80.1162 79.4229 -80.4199l0.576172 -0.00195312
c44.1123 0 80 35.8877 80 80z" />
    <glyph glyph-name="thermometer-empty" unicode="&#xf2cb;" horiz-adv-x="256" 
d="M192 64c0 -35.3457 -28.6543 -64 -64 -64s-64 28.6543 -64 64s28.6543 64 64 64s64 -28.6543 64 -64zM224 148.653c19.9121 -22.5635 32 -52.1943 32 -84.6533c0 -70.6963 -57.3027 -128 -128 -128c-0.298828 0 -0.609375 0.000976562 -0.90918 0.00292969
c-70.3018 0.488281 -127.448 58.3613 -127.089 128.664c0.164062 32.1982 12.2227 61.5781 31.998 83.9863v203.347c0 53.0186 42.9814 96 96 96s96 -42.9814 96 -96v-203.347zM208 64c0 34.3389 -19.3701 52.1904 -32 66.502v221.498c0 26.4668 -21.5332 48 -48 48
s-48 -21.5332 -48 -48v-221.498c-12.7324 -14.4277 -31.8252 -32.0996 -31.999 -66.0801c-0.223633 -43.876 35.5635 -80.1162 79.4229 -80.4199l0.576172 -0.00195312c44.1123 0 80 35.8877 80 80z" />
    <glyph glyph-name="shower" unicode="&#xf2cc;" 
d="M304 128c8.83105 0 16 -7.16895 16 -16s-7.16895 -16 -16 -16s-16 7.16895 -16 16s7.16895 16 16 16zM336 224c8.83105 0 16 -7.16895 16 -16s-7.16895 -16 -16 -16s-16 7.16895 -16 16s7.16895 16 16 16zM368 160c-8.83105 0 -16 7.16895 -16 16s7.16895 16 16 16
s16 -7.16895 16 -16s-7.16895 -16 -16 -16zM336 128c-8.83105 0 -16 7.16895 -16 16s7.16895 16 16 16s16 -7.16895 16 -16s-7.16895 -16 -16 -16zM304 192c8.83105 0 16 -7.16895 16 -16s-7.16895 -16 -16 -16s-16 7.16895 -16 16s7.16895 16 16 16zM432 224
c-8.83105 0 -16 7.16895 -16 16s7.16895 16 16 16s16 -7.16895 16 -16s-7.16895 -16 -16 -16zM384 208c0 8.83105 7.16895 16 16 16s16 -7.16895 16 -16s-7.16895 -16 -16 -16s-16 7.16895 -16 16zM368 256c8.83105 0 16 -7.16895 16 -16s-7.16895 -16 -16 -16
s-16 7.16895 -16 16s7.16895 16 16 16zM464 224c8.83105 0 16 -7.16895 16 -16s-7.16895 -16 -16 -16s-16 7.16895 -16 16s7.16895 16 16 16zM496 256c8.83105 0 16 -7.16895 16 -16s-7.16895 -16 -16 -16s-16 7.16895 -16 16s7.16895 16 16 16zM432 192
c8.83105 0 16 -7.16895 16 -16s-7.16895 -16 -16 -16s-16 7.16895 -16 16s7.16895 16 16 16zM400 160c8.83105 0 16 -7.16895 16 -16s-7.16895 -16 -16 -16s-16 7.16895 -16 16s7.16895 16 16 16zM336 96c8.83105 0 16 -7.16895 16 -16s-7.16895 -16 -16 -16
s-16 7.16895 -16 16s7.16895 16 16 16zM304 64c8.83105 0 16 -7.16895 16 -16s-7.16895 -16 -16 -16s-16 7.16895 -16 16s7.16895 16 16 16zM368 128c8.83105 0 16 -7.16895 16 -16s-7.16895 -16 -16 -16s-16 7.16895 -16 16s7.16895 16 16 16zM389.65 346.35
c2.89648 -2.89551 4.68945 -6.90039 4.68945 -11.3164s-1.79297 -8.41699 -4.68945 -11.3135l-169.381 -169.37c-2.89551 -2.89648 -6.90039 -4.68945 -11.3164 -4.68945s-8.41699 1.79297 -11.3135 4.68945l-11.2998 11.3105
c-2.89355 2.89551 -4.68457 6.89844 -4.68457 11.3125c0 4.41309 1.79102 8.41113 4.68457 11.3076l5.66016 5.66992c-19.7871 20.0811 -31.9951 47.6602 -32 78.0498c0 19.2402 5.2998 37.0801 13.9297 52.8604l-10 10c-10.5723 10.6055 -25.1416 17.167 -41.2861 17.167
c-2.58984 0 -5.1416 -0.169922 -7.64355 -0.49707c-30 -3.73047 -51 -31.7803 -51 -61.9307v-305.6c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v303.15c0 67.9395 55.4902 129.35 123.44 128.85
c33.4453 -0.166992 63.7471 -13.835 85.6592 -35.8496l10 -10c15.8203 8.5498 33.6602 13.8496 52.9004 13.8496c30.3916 -0.000976562 57.9707 -12.21 78.0498 -32l5.66992 5.66016c2.89648 2.89648 6.90137 4.68945 11.3174 4.68945s8.41699 -1.79297 11.3125 -4.68945z
" />
    <glyph glyph-name="bath" unicode="&#xf2cd;" 
d="M32 64v48h448v-48c-0.0576172 -28.2656 -12.3916 -53.6514 -32 -71.0898v-40.9102c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v16h-256v-16c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v40.9102
c-19.6084 17.4385 -31.9424 42.8242 -32 71.0898zM496 192c8.83105 0 16 -7.16895 16 -16v-16c0 -8.83105 -7.16895 -16 -16 -16h-480c-8.83105 0 -16 7.16895 -16 16v16c0 8.83105 7.16895 16 16 16h16v186.75c0 38.2197 31.0391 69.2656 69.2598 69.2656
c19.1113 0 36.4248 -7.75879 48.96 -20.2959l19.2607 -19.2695c29.8994 13.1299 59.1094 7.60938 79.7295 -8.62012l0.169922 0.169922c2.89551 2.89355 6.89941 4.68457 11.3125 4.68457s8.41211 -1.79102 11.3076 -4.68457l11.3096 -11.3096
c2.89746 -2.89648 4.69043 -6.90137 4.69043 -11.3174s-1.79297 -8.41699 -4.69043 -11.3135l-105.369 -105.369c-2.89648 -2.89746 -6.90137 -4.69043 -11.3174 -4.69043s-8.41699 1.79297 -11.3135 4.69043l-11.3096 11.3096
c-2.88477 2.89453 -4.66992 6.8916 -4.66992 11.2969c0 4.40625 1.78516 8.39844 4.66992 11.293l0.169922 0.169922c-16.2295 20.6201 -21.75 49.8506 -8.62012 79.7305l-19.2695 19.2598c-3.84766 3.84082 -9.16016 6.21289 -15.0205 6.21289
c-11.7178 0 -21.2344 -9.50098 -21.2598 -21.2129v-186.75h416z" />
    <glyph glyph-name="podcast" unicode="&#xf2ce;" horiz-adv-x="448" 
d="M267.429 -40.5635c-5.14258 -19.0098 -24.5703 -23.4365 -43.4287 -23.4365c-18.8574 0 -38.2861 4.42676 -43.4277 23.4365c-7.64551 28.4297 -20.5723 99.665 -20.5723 132.813c0 35.1562 31.1416 43.75 64 43.75s64 -8.59375 64 -43.75
c0 -32.9492 -12.8711 -104.179 -20.5713 -132.813zM156.867 159.446c2.6748 -2.61914 2.39941 -6.98535 -0.628906 -9.18555c-9.3125 -6.76465 -16.4609 -15.3418 -21.2354 -25.3623c-1.74219 -3.65723 -6.5 -4.6582 -9.45312 -1.8877
c-28.0176 26.2891 -45.5498 63.6279 -45.5498 104.989c0 80.7852 66.8691 146.247 148.163 143.941c76.1982 -2.16113 137.938 -64.1631 139.793 -140.369c1.04199 -42.7822 -16.6846 -81.5225 -45.5107 -108.565c-2.95215 -2.76855 -7.70801 -1.7627 -9.44922 1.8916
c-4.77441 10.0195 -11.9219 18.5977 -21.2344 25.3623c-3.02832 2.20117 -3.30273 6.56738 -0.62793 9.1875c17.8018 17.4355 28.8662 41.7246 28.8662 68.5518c0 54.1934 -45.1377 98.042 -99.793 95.9258c-49.7295 -1.9248 -90.0703 -42.1572 -92.124 -91.8809
c-1.17383 -28.4258 10.0908 -54.291 28.7842 -72.5986zM224 448c123.815 0 224 -100.205 224 -224c0 -90.1865 -52.7734 -165.727 -125.739 -201.407c-4.33203 -2.11914 -9.2666 1.54297 -8.53516 6.31055c2.55566 16.6416 4.625 33.1924 5.62402 47.2295
c48.4922 31.377 80.6504 85.9355 80.6504 147.867c0 97.2031 -79.207 176.253 -176.468 175.999c-96.2393 -0.250977 -174.938 -78.6621 -175.529 -174.899c-0.376953 -61.3311 30.7871 -115.541 78.1875 -147.347c1.52832 -1.02637 2.53125 -2.67578 2.67773 -4.51172
c1.06348 -13.3936 3.02344 -28.8271 5.40625 -44.3389c0.731445 -4.7666 -4.20215 -8.42871 -8.53516 -6.31055c-73.1377 35.7607 -125.739 111.416 -125.739 201.408c0 123.815 100.204 224 224 224zM224 288c35.3457 0 64 -28.6543 64 -64s-28.6543 -64 -64 -64
s-64 28.6543 -64 64s28.6543 64 64 64z" />
    <glyph glyph-name="window-maximize" unicode="&#xf2d0;" 
d="M464 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h416zM448 256v84c0 6.59961 -5.40039 12 -12 12h-360c-6.59961 0 -12 -5.40039 -12 -12v-84h384z" />
    <glyph glyph-name="window-minimize" unicode="&#xf2d1;" 
d="M464 96c26.5 0 48 -21.5 48 -48v-32c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v32c0 26.5 21.5 48 48 48h416z" />
    <glyph glyph-name="window-restore" unicode="&#xf2d2;" 
d="M512 400v-288c0 -26.5 -21.5 -48 -48 -48h-48v208c0 44.0996 -35.9004 80 -80 80h-208v48c0 26.5 21.5 48 48 48h288c26.5 0 48 -21.5 48 -48zM384 272v-288c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h288
c26.5 0 48 -21.5 48 -48zM316 244c0 6.59961 -5.40039 12 -12 12h-228c-6.59961 0 -12 -5.40039 -12 -12v-52h252v52z" />
    <glyph glyph-name="microchip" unicode="&#xf2db;" 
d="M416 400v-416c0 -26.5098 -21.4902 -48 -48 -48h-224c-26.5098 0 -48 21.4902 -48 48v416c0 26.5098 21.4902 48 48 48h224c26.5098 0 48 -21.4902 48 -48zM512 342v-12c0 -3.31152 -2.68848 -6 -6 -6h-18v-6c0 -3.31152 -2.68848 -6 -6 -6h-42v48h42
c3.31152 0 6 -2.68848 6 -6v-6h18c3.31152 0 6 -2.68848 6 -6zM512 246v-12c0 -3.31152 -2.68848 -6 -6 -6h-18v-6c0 -3.31152 -2.68848 -6 -6 -6h-42v48h42c3.31152 0 6 -2.68848 6 -6v-6h18c3.31152 0 6 -2.68848 6 -6zM512 150v-12c0 -3.31152 -2.68848 -6 -6 -6h-18v-6
c0 -3.31152 -2.68848 -6 -6 -6h-42v48h42c3.31152 0 6 -2.68848 6 -6v-6h18c3.31152 0 6 -2.68848 6 -6zM512 54v-12c0 -3.31152 -2.68848 -6 -6 -6h-18v-6c0 -3.31152 -2.68848 -6 -6 -6h-42v48h42c3.31152 0 6 -2.68848 6 -6v-6h18c3.31152 0 6 -2.68848 6 -6zM30 72h42
v-48h-42c-3.31152 0 -6 2.68848 -6 6v6h-18c-3.31152 0 -6 2.68848 -6 6v12c0 3.31152 2.68848 6 6 6h18v6c0 3.31152 2.68848 6 6 6zM30 168h42v-48h-42c-3.31152 0 -6 2.68848 -6 6v6h-18c-3.31152 0 -6 2.68848 -6 6v12c0 3.31152 2.68848 6 6 6h18v6
c0 3.31152 2.68848 6 6 6zM30 264h42v-48h-42c-3.31152 0 -6 2.68848 -6 6v6h-18c-3.31152 0 -6 2.68848 -6 6v12c0 3.31152 2.68848 6 6 6h18v6c0 3.31152 2.68848 6 6 6zM30 360h42v-48h-42c-3.31152 0 -6 2.68848 -6 6v6h-18c-3.31152 0 -6 2.68848 -6 6v12
c0 3.31152 2.68848 6 6 6h18v6c0 3.31152 2.68848 6 6 6z" />
    <glyph glyph-name="snowflake" unicode="&#xf2dc;" horiz-adv-x="448" 
d="M440.3 102.8c7.40039 -4.2002 9.90039 -13.7002 5.60059 -21l-15.5 -26.7998c-4.30078 -7.40039 -13.7002 -10 -21.1006 -5.7002l-33.7998 19.5l7 -26c2.2002 -8.2002 -2.7002 -16.7002 -10.9004 -18.8994l-14.8994 -4
c-8.2002 -2.2002 -16.7002 2.69922 -18.9004 10.8994l-19 70.7998l-62.7998 36.2002v-77.5l53.4004 -53.7002c6.19922 -6.19922 6.19922 -16.3994 0 -22.5996l-11.3008 -11.2998c-6.19922 -6.2002 -16.3994 -6.2002 -22.5996 0l-19.7002 19.7002v-40.4004
c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v40.2998l-19.7002 -19.7002c-6.19922 -6.19922 -16.3994 -6.19922 -22.5996 0l-11.2998 11.3008c-6.2998 6.19922 -6.2998 16.3994 0 22.5996l53.7002 53.7002v77.5l-62.8008 -36.2002l-19 -70.7998
c-2.19922 -8.2002 -10.6992 -13.1006 -18.8994 -10.9004l-14.9004 4c-8.2002 2.2002 -13.0996 10.7002 -10.8994 18.9004l7 26l-33.8008 -19.5c-7.39941 -4.2002 -16.7998 -1.7002 -21.0996 5.7002l-15.5 26.7998c-4.2002 7.39941 -1.7002 16.7998 5.7002 21.0996
l33.7998 19.6006l-26 7c-8.2002 2.19922 -13.0996 10.6992 -10.9004 18.8994l4 14.9004c2.2002 8.2002 10.7002 13.0996 18.9004 10.8994l70.7998 -19l63.7998 36.9004l-63.7998 36.9004l-70.7998 -19c-8.2002 -2.2002 -16.7002 2.69922 -18.9004 10.8994l-4 14.9004
c-2.19922 8.2998 2.7002 16.7998 11 19l26 7l-33.7998 19.5c-7.39941 4.2998 -10 13.7002 -5.7002 21.0996l15.5 26.7002c4.30078 7.40039 13.7002 10 21.1006 5.7002l33.7998 -19.5l-7 26c-2.2002 8.2002 2.7002 16.7002 10.9004 18.8994l14.8994 4
c8.2002 2.2002 16.7002 -2.69922 18.9004 -10.8994l19 -70.7998l62.7998 -36.2002v77.5l-53.7002 53.7002c-6.2998 6.19922 -6.2998 16.3994 0 22.5996l11.4004 11.2998c6.2002 6.2002 16.3994 6.2002 22.5996 0l19.7002 -19.7002v40.4004c0 8.7998 7.2002 16 16 16h32
c8.7998 0 16 -7.2002 16 -16v-40.4004l19.7998 19.7002c6.2002 6.2002 16.4004 6.2002 22.6006 0l11.2998 -11.2998c6.2002 -6.2002 6.2002 -16.4004 0 -22.5996l-53.7002 -53.7002v-77.5l62.7998 36.2002l19 70.7998c2.2002 8.2002 10.7002 13.0996 18.9004 10.8994
l14.8994 -4c8.2002 -2.19922 13.1006 -10.6992 10.9004 -18.8994l-7 -26l33.7998 19.5c7.40039 4.2002 16.7998 1.7002 21.1006 -5.7002l15.5 -26.7998c4.19922 -7.40039 1.69922 -16.7998 -5.7002 -21.1006l-33.7998 -19.5l26 -7
c8.19922 -2.19922 13.0996 -10.6992 10.8994 -18.8994l-4 -14.9004c-2.2002 -8.2002 -10.7002 -13.0996 -18.8994 -10.8994l-70.8008 19l-63.7998 -36.9004l63.9004 -37l70.7998 19c8.2002 2.2002 16.7002 -2.7002 18.9004 -10.9004l4 -14.8994
c2.19922 -8.2002 -2.7002 -16.7002 -10.9004 -18.9004l-26 -7z" />
    <glyph glyph-name="utensil-spoon" unicode="&#xf2e5;" 
d="M480.1 416.1c55.1006 -55 34.5 -164.899 -28.5 -227.8c-49.2998 -49.2998 -110 -55.0996 -160.399 -28.7998l-192.4 -214.4c-10.3994 -11.5996 -28.5 -12.0996 -39.5 -1.09961l-51.2998 51.2998c-11.0996 11 -10.5996 29 1 39.5l214.5 192.4
c-26.2998 50.3994 -20.5 111.1 28.7998 160.399c62.9004 63 172.8 83.6006 227.8 28.5z" />
    <glyph glyph-name="utensils" unicode="&#xf2e7;" horiz-adv-x="416" 
d="M207.9 432.8c0.799805 -4.7002 16.0996 -94.5 16.0996 -128.8c0 -52.2998 -27.7998 -89.5996 -68.9004 -104.6l12.9004 -238.101c0.700195 -13.7002 -10.2002 -25.2998 -24 -25.2998h-64c-13.7002 0 -24.7002 11.5 -24 25.2998l12.9004 238.101
c-41.2002 15 -68.9004 52.3994 -68.9004 104.6c0 34.4004 15.2998 124.1 16.0996 128.8c3.2002 20.2998 45.3008 20.6006 47.9004 -1.09961v-141.2c1.2998 -3.40039 15.0996 -3.2002 16 0c1.40039 25.2998 7.90039 139.2 8 141.8c3.2998 20.7998 44.7002 20.7998 47.9004 0
c0.199219 -2.7002 6.59961 -116.5 8 -141.8c0.899414 -3.2002 14.7998 -3.40039 16 0v141.2c2.59961 21.5996 44.7998 21.3994 48 1.09961zM327.1 147.1c-156.5 122.4 -17.5996 300.9 64.9004 300.9c13.2998 0 24 -10.7998 24 -24v-464c0 -13.2998 -10.7002 -24 -24 -24h-56
c-14 0 -25.0996 12 -23.9004 26z" />
    <glyph glyph-name="undo-alt" unicode="&#xf2ea;" 
d="M255.545 440c136.809 0.245117 248.456 -111.193 248.455 -248.002c-0.000976562 -136.965 -111.034 -247.998 -248 -247.998c-63.9258 0 -122.202 24.1865 -166.178 63.9082c-5.11328 4.61816 -5.35449 12.5605 -0.482422 17.4326l39.6621 39.6621
c4.46191 4.46094 11.625 4.71387 16.3682 0.552734c30.6328 -26.8779 69.5029 -41.5557 110.63 -41.5557c93.8164 0 167.236 75.9912 167.994 166.552c0.798828 95.4648 -77.0859 170.24 -169.484 169.442c-42.4287 -0.366211 -82.3662 -16.374 -113.229 -45.2734
l41.75 -41.75c15.1191 -15.1201 4.41113 -40.9707 -16.9717 -40.9707h-134.059c-13.2549 0 -24 10.7451 -24 24v134.059c0 21.3828 25.8506 32.0908 40.9707 16.9707l35.7139 -35.7139c44.4229 42.4512 104.592 68.5654 170.86 68.6846z" />
    <glyph glyph-name="trash-alt" unicode="&#xf2ed;" horiz-adv-x="448" 
d="M32 -16v336h384v-336c0 -26.4922 -21.5078 -48 -48 -48h-288c-26.4922 0 -48 21.5078 -48 48zM304 240v-224c0 -8.83105 7.16895 -16 16 -16s16 7.16895 16 16v224c0 8.83105 -7.16895 16 -16 16s-16 -7.16895 -16 -16zM208 240v-224c0 -8.83105 7.16895 -16 16 -16
s16 7.16895 16 16v224c0 8.83105 -7.16895 16 -16 16s-16 -7.16895 -16 -16zM112 240v-224c0 -8.83105 7.16895 -16 16 -16s16 7.16895 16 16v224c0 8.83105 -7.16895 16 -16 16s-16 -7.16895 -16 -16zM432 416c8.83105 0 16 -7.16895 16 -16v-32
c0 -8.83105 -7.16895 -16 -16 -16h-416c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h120l9.40039 18.7002c3.85547 7.88574 11.9434 13.2998 21.3066 13.2998h0.0927734h114.3c0.00585938 0 -0.00195312 0.0234375 0.00390625 0.0234375
c9.41113 0 17.5645 -5.42871 21.4961 -13.3232l9.40039 -18.7002h120z" />
    <glyph glyph-name="sync-alt" unicode="&#xf2f1;" 
d="M370.72 314.72c-31.2617 29.2725 -71.832 45.3184 -114.872 45.2803c-77.458 -0.0683594 -144.328 -53.1777 -162.791 -126.85c-1.34375 -5.36328 -6.12207 -9.15039 -11.6504 -9.15039h-57.3037c-7.49707 0 -13.1934 6.80664 -11.8066 14.1758
c21.6367 114.9 122.518 201.824 243.704 201.824c66.4482 0 126.791 -26.1357 171.315 -68.6846l35.7148 35.7148c15.1191 15.1191 40.9697 4.41113 40.9697 -16.9717v-134.059c0 -13.2549 -10.7451 -24 -24 -24h-134.059c-21.3828 0 -32.0908 25.8506 -16.9717 40.9707z
M32 152h134.059c21.3828 0 32.0908 -25.8506 16.9717 -40.9707l-41.75 -41.75c31.2617 -29.2734 71.835 -45.3193 114.876 -45.2803c77.418 0.0703125 144.314 53.1436 162.787 126.849c1.34375 5.36328 6.12207 9.15039 11.6504 9.15039h57.3047
c7.49805 0 13.1934 -6.80664 11.8066 -14.1758c-21.6377 -114.898 -122.519 -201.822 -243.705 -201.822c-66.4482 0 -126.791 26.1357 -171.315 68.6846l-35.7148 -35.7148c-15.1191 -15.1191 -40.9697 -4.41113 -40.9697 16.9717v134.059c0 13.2549 10.7451 24 24 24z" />
    <glyph glyph-name="stopwatch" unicode="&#xf2f2;" horiz-adv-x="448" 
d="M432 144c0 -114.9 -93.0996 -208 -208 -208s-208 93.0996 -208 208c0 104 76.2998 190.2 176 205.5v34.5h-28c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h120c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-28v-34.5
c37.5 -5.7998 71.7002 -21.5996 99.7002 -44.5996l27.5 27.5c4.7002 4.69922 12.2998 4.69922 17 0l28.2998 -28.3008c4.7002 -4.69922 4.7002 -12.2998 0 -17l-29.4004 -29.3994l-0.599609 -0.600586c21.2002 -32.3994 33.5 -71.2998 33.5 -113.1zM256 108v151.5
c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-151.5c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12z" />
    <glyph glyph-name="sign-out-alt" unicode="&#xf2f5;" 
d="M497 175l-168 -168c-15 -15 -41 -4.5 -41 17v96h-136c-13.2998 0 -24 10.7002 -24 24v96c0 13.2998 10.7002 24 24 24h136v96c0 21.4004 25.9004 32 41 17l168 -168c9.2998 -9.40039 9.2998 -24.5996 0 -34zM192 12c0 -6.59961 -5.40039 -12 -12 -12h-84
c-53 0 -96 43 -96 96v192c0 53 43 96 96 96h84c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-84c-17.7002 0 -32 -14.2998 -32 -32v-192c0 -17.7002 14.2998 -32 32 -32h84c6.59961 0 12 -5.40039 12 -12v-40z" />
    <glyph glyph-name="sign-in-alt" unicode="&#xf2f6;" 
d="M416 0h-84c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h84c17.7002 0 32 14.2998 32 32v192c0 17.7002 -14.2998 32 -32 32h-84c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h84c53 0 96 -43 96 -96v-192c0 -53 -43 -96 -96 -96z
M369 201c9.2998 -9.40039 9.2998 -24.5996 0 -34l-168 -168c-15 -15 -41 -4.5 -41 17v96h-136c-13.2998 0 -24 10.7002 -24 24v96c0 13.2998 10.7002 24 24 24h136v96c0 21.5 26 32 41 17z" />
    <glyph glyph-name="redo-alt" unicode="&#xf2f9;" 
d="M256.455 440c66.2686 -0.119141 126.437 -26.2334 170.859 -68.6846l35.7148 35.7148c15.1201 15.1191 40.9707 4.41113 40.9707 -16.9717v-134.059c0 -13.2549 -10.7451 -24 -24 -24h-134.059c-21.3828 0 -32.0908 25.8506 -16.9717 40.9707l41.75 41.75
c-30.8633 28.8994 -70.8008 44.9072 -113.229 45.2734c-92.3984 0.797852 -170.283 -73.9775 -169.484 -169.442c0.757812 -90.5605 74.1777 -166.552 167.994 -166.552c41.127 0 79.9971 14.6777 110.629 41.5557c4.74316 4.16113 11.9062 3.9082 16.3682 -0.552734
l39.6621 -39.6621c4.87207 -4.87207 4.63086 -12.8145 -0.482422 -17.4326c-43.9746 -39.7217 -102.251 -63.9082 -166.177 -63.9082c-136.966 0 -247.999 111.033 -248 247.998c-0.000976562 136.809 111.646 248.247 248.455 248.002z" />
    <glyph glyph-name="poo" unicode="&#xf2fe;" 
d="M451.4 78.9004c34.2998 -5.5 60.5996 -35 60.5996 -70.9004c0 -39.7998 -32.2002 -72 -72 -72h-368c-39.7998 0 -72 32.2002 -72 72c0 35.9004 26.2998 65.4004 60.5996 70.9004c-17.2998 13.0996 -28.5996 33.6992 -28.5996 57.0996c0 39.7998 32.2002 72 72 72h14.0996
c-13.3994 11.7002 -22.0996 28.7998 -22.0996 48c0 35.2998 28.7002 64 64 64h16c44.2002 0 80 35.7998 80 80c0 17.4004 -5.7002 33.4004 -15.0996 46.5c4.89941 0.799805 9.89941 1.5 15.0996 1.5c53 0 96 -43 96 -96c0 -11.2998 -2.2998 -21.9004 -5.90039 -32h5.90039
c35.2998 0 64 -28.7002 64 -64c0 -19.2002 -8.7002 -36.2998 -22.0996 -48h14.0996c39.7998 0 72 -32.2002 72 -72c0 -23.4004 -11.2998 -44 -28.5996 -57.0996zM192 192c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32z
M351.5 53c2 5.2998 -2 11 -7.7998 11h-175.4c-5.7998 0 -9.7998 -5.7002 -7.7998 -11c10.5 -27.9004 58.5 -53 95.5 -53s85 25.0996 95.5 53zM320 128c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
    <glyph glyph-name="images" unicode="&#xf302;" horiz-adv-x="576" 
d="M480 32v-16c0 -26.5098 -21.4902 -48 -48 -48h-384c-26.5098 0 -48 21.4902 -48 48v256c0 26.5098 21.4902 48 48 48h16v-208c0 -44.1123 35.8877 -80 80 -80h336zM576 112c0 -26.5098 -21.4902 -48 -48 -48h-384c-26.5098 0 -48 21.4902 -48 48v256
c0 26.5098 21.4902 48 48 48h384c26.5098 0 48 -21.4902 48 -48v-256zM256 320c0 26.5098 -21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48s48 21.4902 48 48zM160 176v-48h352v112l-87.5137 87.5146c-4.6875 4.68652 -12.2852 4.68652 -16.9717 0
l-135.515 -135.515l-39.5137 39.5146c-4.6875 4.68652 -12.2852 4.68652 -16.9717 0z" />
    <glyph glyph-name="pencil-alt" unicode="&#xf303;" 
d="M497.9 305.9l-46.1006 -46.1006c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-111 111c-4.7002 4.7002 -4.7002 12.2998 0 17l46.1006 46.1006c18.6992 18.6992 49.0996 18.6992 67.8994 0l60.1006 -60.1006c18.7998 -18.7002 18.7998 -49.0996 0 -67.8994zM284.2 348.2
c4.7002 4.7002 12.2998 4.7002 17.0996 0l111 -111c4.7002 -4.7002 4.7002 -12.2998 0 -17l-262.6 -262.601l-121.5 -21.2998c-16.4004 -2.7998 -30.7002 11.4004 -27.7998 27.7998l21.1992 121.5zM124.1 108.1c5.5 -5.5 14.3008 -5.5 19.8008 0l154 154
c5.5 5.5 5.5 14.3008 0 19.8008s-14.3008 5.5 -19.8008 0l-154 -154c-5.5 -5.5 -5.5 -14.3008 0 -19.8008zM88 24v48h-36.2998l-11.2998 -64.5l31.0996 -31.0996l64.5 11.2998v36.2998h-48z" />
    <glyph glyph-name="pen" unicode="&#xf304;" 
d="M290.74 354.76l128.02 -128.02l-277.99 -277.99l-114.14 -12.5996c-15.2803 -1.69043 -28.1895 11.2295 -26.4902 26.5098l12.7002 114.22zM497.94 373.82c18.75 -18.75 18.75 -49.1504 0 -67.9102l-56.5508 -56.5498l-128.02 128.02l56.5498 56.5498
c18.75 18.75 49.1602 18.75 67.9102 0z" />
    <glyph glyph-name="pen-alt" unicode="&#xf305;" 
d="M497.94 373.83c18.75 -18.7598 18.75 -49.1602 0 -67.9102l-56.5508 -56.5498l-128.02 128.02l56.5498 56.5508c18.75 18.75 49.1602 18.75 67.9102 0zM251.14 394.36l84.8506 -84.8506l82.7695 -82.7695l-196.79 -196.79
c-51.1611 -51.1592 -119.559 -85.4326 -195.34 -93.7998c-15.2803 -1.69043 -28.1895 11.2295 -26.4902 26.5098l0.0302734 0.229492c8.42188 75.6777 42.6777 143.978 93.7803 195.08l151.56 151.55l-22.6299 22.6201l-101.82 -101.819
c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-22.6299 22.6299c-6.25 6.24023 -6.25 16.3701 0 22.6201l118.78 118.79c15.6201 15.6201 40.9395 15.6201 56.5596 0z" />
    <glyph glyph-name="long-arrow-alt-down" unicode="&#xf309;" horiz-adv-x="256" 
d="M168 102.059h46.0576c21.3828 0 32.0908 -25.8516 16.9717 -40.9707l-86.0596 -86.0586c-9.37207 -9.37305 -24.5674 -9.37305 -33.9404 0l-86.0596 86.0586c-15.1191 15.1201 -4.41113 40.9707 16.9717 40.9707h46.0586v301.941c0 6.62695 5.37305 12 12 12h56
c6.62695 0 12 -5.37305 12 -12v-301.941z" />
    <glyph glyph-name="long-arrow-alt-left" unicode="&#xf30a;" horiz-adv-x="448" 
d="M134.059 152v-46.0576c0 -21.3828 -25.8516 -32.0908 -40.9707 -16.9717l-86.0586 86.0596c-9.37305 9.37207 -9.37305 24.5674 0 33.9404l86.0586 86.0596c15.1201 15.1191 40.9707 4.41113 40.9707 -16.9717v-46.0586h301.941c6.62695 0 12 -5.37305 12 -12v-56
c0 -6.62695 -5.37305 -12 -12 -12h-301.941z" />
    <glyph glyph-name="long-arrow-alt-right" unicode="&#xf30b;" horiz-adv-x="448" 
d="M313.941 232v46.0576c0 21.3828 25.8516 32.0908 40.9707 16.9717l86.0586 -86.0596c9.37305 -9.37207 9.37305 -24.5674 0 -33.9404l-86.0586 -86.0596c-15.1201 -15.1191 -40.9707 -4.41113 -40.9707 16.9717v46.0586h-301.941c-6.62695 0 -12 5.37305 -12 12v56
c0 6.62695 5.37305 12 12 12h301.941z" />
    <glyph glyph-name="long-arrow-alt-up" unicode="&#xf30c;" horiz-adv-x="256" 
d="M88 281.941h-46.0576c-21.3828 0 -32.0908 25.8516 -16.9717 40.9707l86.0596 86.0586c9.37207 9.37305 24.5674 9.37305 33.9404 0l86.0596 -86.0586c15.1191 -15.1201 4.41113 -40.9707 -16.9717 -40.9707h-46.0586v-301.941c0 -6.62695 -5.37305 -12 -12 -12h-56
c-6.62695 0 -12 5.37305 -12 12v301.941z" />
    <glyph glyph-name="expand-arrows-alt" unicode="&#xf31e;" horiz-adv-x="448" 
d="M448 104v-112v-0.0615234c0 -13.2129 -10.7275 -23.9395 -23.9395 -23.9395c-0.0205078 0 -0.0400391 0.000976562 -0.0605469 0.000976562h-112c-21.3896 0 -32.0898 25.9004 -17 41l36.2002 36.2002l-107.2 107.2l-107.23 -107.301l36.2305 -36.0996
c15.0898 -15.0996 4.38965 -41 -17 -41h-112h-0.0615234c-13.2129 0 -23.9395 10.7275 -23.9395 23.9395c0 0.0205078 0.000976562 0.0400391 0.000976562 0.0605469v112c0 21.4004 25.8896 32.0996 41 17l36.1904 -36.2002l107.27 107.2l-107.28 107.3l-36.1797 -36.2998
c-15.0996 -15.0996 -41 -4.40039 -41 17v112v0.0615234c0 13.2129 10.7275 23.9395 23.9395 23.9395c0.0205078 0 0.0400391 -0.000976562 0.0605469 -0.000976562h112c21.3896 0 32.0898 -25.9004 17 -41l-36.2002 -36.2002l107.2 -107.2l107.23 107.301l-36.2305 36.0996
c-15.0898 15.0996 -4.38965 41 17 41h112h0.0615234c13.2129 0 23.9395 -10.7275 23.9395 -23.9395c0 -0.0205078 -0.000976562 -0.0400391 -0.000976562 -0.0605469v-112c0 -21.4004 -25.8896 -32.0996 -41 -17l-36.1904 36.2002l-107.27 -107.2l107.28 -107.3
l36.1797 36.2002c15.0996 15.1992 41 4.5 41 -16.9004z" />
    <glyph glyph-name="clipboard" unicode="&#xf328;" horiz-adv-x="384" 
d="M384 336v-352c0 -26.5098 -21.4902 -48 -48 -48h-288c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h80c0 35.29 28.71 64 64 64s64 -28.71 64 -64h80c26.5098 0 48 -21.4902 48 -48zM192 408c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24
s24 10.7451 24 24s-10.7451 24 -24 24zM288 294v20c0 3.31152 -2.68848 6 -6 6h-180c-3.31152 0 -6 -2.68848 -6 -6v-20c0 -3.31152 2.68848 -6 6 -6h180c3.31152 0 6 2.68848 6 6z" />
    <glyph glyph-name="arrows-alt-h" unicode="&#xf337;" 
d="M377.941 278.059c0 21.3828 25.8516 32.0908 40.9707 16.9707l86.0586 -86.0596c9.37305 -9.37305 9.37305 -24.5674 0 -33.9404l-86.0586 -86.0596c-15.1201 -15.1191 -40.9707 -4.41113 -40.9707 16.9717v46.0586h-243.883v-46.0576
c0 -21.3828 -25.8516 -32.0908 -40.9707 -16.9717l-86.0586 86.0596c-9.37305 9.37305 -9.37305 24.5674 0 33.9404l86.0586 86.0596c15.1201 15.1191 40.9707 4.41113 40.9707 -16.9717v-46.0586h243.883v46.0586z" />
    <glyph glyph-name="arrows-alt-v" unicode="&#xf338;" horiz-adv-x="256" 
d="M214.059 70.0586c21.3828 0 32.0908 -25.8516 16.9707 -40.9707l-86.0596 -86.0586c-9.37305 -9.37305 -24.5674 -9.37305 -33.9404 0l-86.0596 86.0586c-15.1191 15.1201 -4.41113 40.9707 16.9717 40.9707h46.0586v243.883h-46.0576
c-21.3828 0 -32.0908 25.8516 -16.9717 40.9707l86.0596 86.0586c9.37305 9.37305 24.5674 9.37305 33.9404 0l86.0596 -86.0586c15.1191 -15.1201 4.41113 -40.9707 -16.9717 -40.9707h-46.0586v-243.883h46.0586z" />
    <glyph glyph-name="arrow-alt-circle-down" unicode="&#xf358;" 
d="M504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM212 308v-116h-70.9004c-10.6992 0 -16.0996 -13 -8.5 -20.5l114.9 -114.3c4.7002 -4.7002 12.2002 -4.7002 16.9004 0l114.899 114.3c7.60059 7.59961 2.2002 20.5 -8.5 20.5
h-70.7998v116c0 6.59961 -5.40039 12 -12 12h-64c-6.59961 0 -12 -5.40039 -12 -12z" />
    <glyph glyph-name="arrow-alt-circle-left" unicode="&#xf359;" 
d="M256 -56c-137 0 -248 111 -248 248s111 248 248 248s248 -111 248 -248s-111 -248 -248 -248zM372 236h-116v70.9004c0 10.6992 -13 16.0996 -20.5 8.5l-114.3 -114.9c-4.7002 -4.7002 -4.7002 -12.2002 0 -16.9004l114.3 -114.899
c7.59961 -7.60059 20.5 -2.2002 20.5 8.5v70.7998h116c6.59961 0 12 5.40039 12 12v64c0 6.59961 -5.40039 12 -12 12z" />
    <glyph glyph-name="arrow-alt-circle-right" unicode="&#xf35a;" 
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM140 148h116v-70.9004c0 -10.6992 13 -16.0996 20.5 -8.5l114.3 114.9c4.7002 4.7002 4.7002 12.2002 0 16.9004l-114.3 115c-7.59961 7.59961 -20.5 2.19922 -20.5 -8.5
v-70.9004h-116c-6.59961 0 -12 -5.40039 -12 -12v-64c0 -6.59961 5.40039 -12 12 -12z" />
    <glyph glyph-name="arrow-alt-circle-up" unicode="&#xf35b;" 
d="M8 192c0 137 111 248 248 248s248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248zM300 76v116h70.9004c10.6992 0 16.0996 13 8.5 20.5l-114.9 114.3c-4.7002 4.7002 -12.2002 4.7002 -16.9004 0l-115 -114.3c-7.59961 -7.59961 -2.19922 -20.5 8.5 -20.5
h70.9004v-116c0 -6.59961 5.40039 -12 12 -12h64c6.59961 0 12 5.40039 12 12z" />
    <glyph glyph-name="external-link-alt" unicode="&#xf35d;" 
d="M432 128c8.83105 0 16 -7.16895 16 -16v-128c0 -26.4922 -21.5078 -48 -48 -48h-352c-26.4922 0 -48 21.5078 -48 48v352c0 26.4922 21.5078 48 48 48h160c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-144v-320h320v112
c0 8.83105 7.16895 16 16 16h32zM488 448c13.2461 0 24 -10.7539 24 -24v-128c0 -21.5 -26 -32 -41 -17l-35.7197 35.6797l-243.61 -243.68c-4.34668 -4.36133 -10.3652 -7.0625 -17.0029 -7.0625s-12.6504 2.70117 -16.9971 7.0625l-22.6699 22.6299
c-4.36133 4.34668 -7.0625 10.3652 -7.0625 17.0029c0 6.63867 2.70117 12.6504 7.0625 16.9971l243.73 243.64l-35.7305 35.7305c-15.0498 15.0898 -4.37012 41 17 41h128z" />
    <glyph glyph-name="external-link-square-alt" unicode="&#xf360;" horiz-adv-x="448" 
d="M448 368v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48zM360 352h-111.971c-21.3135 0 -32.0801 -25.8613 -16.9717 -40.9707l31.9844 -31.9873l-195.527 -195.527
c-4.68555 -4.68555 -4.68555 -12.2832 0 -16.9707l31.0293 -31.0293c4.6875 -4.68555 12.2852 -4.68555 16.9707 0l195.526 195.526l31.9883 -31.9912c15.0283 -15.0264 40.9707 -4.47461 40.9707 16.9717v111.979c0 13.2549 -10.7451 24 -24 24z" />
    <glyph glyph-name="exchange-alt" unicode="&#xf362;" 
d="M0 280v16c0 13.2549 10.7451 24 24 24h360v48c0 21.3672 25.8994 32.042 40.9707 16.9707l80 -80c9.37207 -9.37305 9.37207 -24.5684 0 -33.9404l-80 -80c-15.0146 -15.0127 -40.9707 -4.48633 -40.9707 16.9697v48h-360c-13.2549 0 -24 10.7451 -24 24zM488 128
c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24h-360v-48c0 -21.4365 -25.9434 -31.9971 -40.9707 -16.9697l-80 80c-9.37207 9.37207 -9.37207 24.5674 0 33.9404l80 80c15.1084 15.1094 40.9707 4.34375 40.9707 -16.9707v-48h360z" />
    <glyph glyph-name="cloud-download-alt" unicode="&#xf381;" horiz-adv-x="640" 
d="M537.6 221.4c58.4004 -11.8008 102.4 -63.5 102.4 -125.4c0 -70.7002 -57.2998 -128 -128 -128h-368c-79.5 0 -144 64.5 -144 144c0 62.7998 40.2002 116.2 96.2002 135.9c-0.100586 2.69922 -0.200195 5.39941 -0.200195 8.09961c0 88.4004 71.5996 160 160 160
c59.2998 0 111 -32.2002 138.7 -80.2002c15.2002 10.2002 33.5996 16.2002 53.2998 16.2002c53 0 96 -43 96 -96c0 -12.2002 -2.2998 -23.9004 -6.40039 -34.5996zM404.7 132.7c10.0996 10.0996 2.89941 27.2998 -11.2998 27.2998h-65.4004v112c0 8.7998 -7.2002 16 -16 16
h-48c-8.7998 0 -16 -7.2002 -16 -16v-112h-65.4004c-14.1992 0 -21.3994 -17.2002 -11.2998 -27.2998l105.4 -105.4c6.2002 -6.2002 16.3994 -6.2002 22.5996 0z" />
    <glyph glyph-name="cloud-upload-alt" unicode="&#xf382;" horiz-adv-x="640" 
d="M537.6 221.4c58.4004 -11.8008 102.4 -63.5 102.4 -125.4c0 -70.7002 -57.2998 -128 -128 -128h-368c-79.5 0 -144 64.5 -144 144c0 62.7998 40.2002 116.2 96.2002 135.9c-0.100586 2.69922 -0.200195 5.39941 -0.200195 8.09961c0 88.4004 71.5996 160 160 160
c59.2998 0 111 -32.2002 138.7 -80.2002c15.2002 10.2002 33.5996 16.2002 53.2998 16.2002c53 0 96 -43 96 -96c0 -12.2002 -2.2998 -23.9004 -6.40039 -34.5996zM393.4 160c14.1992 0 21.3994 17.2002 11.2998 27.2998l-105.4 105.4
c-6.2002 6.2002 -16.3994 6.2002 -22.5996 0l-105.4 -105.4c-10.0996 -10.0996 -3 -27.2998 11.2998 -27.2998h65.4004v-112c0 -8.7998 7.2002 -16 16 -16h48c8.7998 0 16 7.2002 16 16v112h65.4004z" />
    <glyph glyph-name="gem" unicode="&#xf3a5;" horiz-adv-x="576" 
d="M485.5 448l90.5 -160h-101.1l-69.2002 160h79.7998zM357.5 448l69.2002 -160h-277.4l69.2002 160h139zM90.5 448h79.7998l-69.2002 -160h-101.1zM0 256h100.7l123 -251.7c1.5 -3.09961 -2.7002 -5.89941 -5 -3.2998zM148.2 256h279.6l-137 -318.2
c-1 -2.39941 -4.5 -2.39941 -5.5 0zM352.3 4.2998l123 251.7h100.7l-218.7 -254.9c-2.2998 -2.69922 -6.5 0.100586 -5 3.2002z" />
    <glyph glyph-name="level-down-alt" unicode="&#xf3be;" horiz-adv-x="320" 
d="M313.553 55.6689l-103.966 -112.003c-9.48535 -10.2139 -25.6758 -10.2295 -35.1738 0l-103.975 112.003c-14.2061 15.2998 -3.37695 40.3311 17.5869 40.3311h63.9746v272h-83.9756c-3.31152 0 -6.31348 1.34277 -8.48535 3.51465l-56 56
c-7.56055 7.55957 -2.20605 20.4854 8.48535 20.4854h195.976c13.2549 0 24 -10.7451 24 -24v-328h63.9658c20.8779 0 31.8516 -24.9688 17.5869 -40.3311z" />
    <glyph glyph-name="level-up-alt" unicode="&#xf3bf;" horiz-adv-x="320" 
d="M313.553 328.331c14.2646 -15.3623 3.29102 -40.3311 -17.5869 -40.3311h-63.9658v-328c0 -13.2549 -10.7451 -24 -24 -24h-195.976c-10.6914 0 -16.0459 12.9258 -8.48535 20.4854l56 56c2.17188 2.17188 5.17383 3.51465 8.48535 3.51465h83.9756v272h-63.9746
c-20.9639 0 -31.793 25.0312 -17.5869 40.3311l103.975 112.003c9.49805 10.2295 25.6885 10.2139 35.1738 0z" />
    <glyph glyph-name="lock-open" unicode="&#xf3c1;" horiz-adv-x="576" 
d="M423.5 448c84 0.299805 152.5 -68 152.5 -152v-80c0 -13.2998 -10.7002 -24 -24 -24h-32c-13.2998 0 -24 10.7002 -24 24v80c0 39.9004 -32.7002 72.4004 -72.7002 72c-39.5996 -0.400391 -71.2998 -33.2998 -71.2998 -72.9004v-71.0996h48c26.5 0 48 -21.5 48 -48v-192
c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v192c0 26.5 21.5 48 48 48h224v70.5c0 84 67.5 153.2 151.5 153.5z" />
    <glyph glyph-name="map-marker-alt" unicode="&#xf3c5;" horiz-adv-x="384" 
d="M172.268 -53.6699c-145.298 210.639 -172.268 232.257 -172.268 309.67c0 106.039 85.9609 192 192 192s192 -85.9609 192 -192c0 -77.4131 -26.9697 -99.0312 -172.268 -309.67c-9.53516 -13.7744 -29.9307 -13.7734 -39.4648 0zM192 176c44.1826 0 80 35.8174 80 80
s-35.8174 80 -80 80s-80 -35.8174 -80 -80s35.8174 -80 80 -80z" />
    <glyph glyph-name="microphone-alt" unicode="&#xf3c9;" horiz-adv-x="352" 
d="M336 256c8.83984 0 16 -7.16016 16 -16v-48c0 -88.9004 -66.29 -162.47 -152 -174.23v-33.7695h56c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16h-160c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h56v34.1504
c-88.0303 12.1396 -152 92.0498 -152 181.689v40.1602c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-42.2998c0 -66.8105 48.71 -126.59 115.21 -133.08c76.2998 -7.44043 140.79 52.5801 140.79 127.38v48c0 8.83984 7.16016 16 16 16h16zM176 96
c-53.0195 0 -96 42.9805 -96 96v160c0 53.0195 42.9805 96 96 96s96 -42.9805 96 -96h-85.3301c-5.88965 0 -10.6699 -3.58008 -10.6699 -8v-16c0 -4.41992 4.78027 -8 10.6699 -8h85.3301v-32h-85.3301c-5.88965 0 -10.6699 -3.58008 -10.6699 -8v-16
c0 -4.41992 4.78027 -8 10.6699 -8h85.3301v-32h-85.3301c-5.88965 0 -10.6699 -3.58008 -10.6699 -8v-16c0 -4.41992 4.78027 -8 10.6699 -8h85.3301c0 -53.0195 -42.9805 -96 -96 -96z" />
    <glyph glyph-name="mobile-alt" unicode="&#xf3cd;" horiz-adv-x="320" 
d="M272 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-224c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h224zM160 -32c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM272 76v312
c0 6.59961 -5.40039 12 -12 12h-200c-6.59961 0 -12 -5.40039 -12 -12v-312c0 -6.59961 5.40039 -12 12 -12h200c6.59961 0 12 5.40039 12 12z" />
    <glyph glyph-name="money-bill-alt" unicode="&#xf3d1;" horiz-adv-x="640" 
d="M352 160c4.41992 0 8 -3.58008 8 -8v-16c0 -4.41992 -3.58008 -8 -8 -8h-64c-4.41992 0 -8 3.58008 -8 8v16c0 4.41992 3.58008 8 8 8h16v55.4404l-0.469727 -0.310547c-1.26855 -0.845703 -2.79395 -1.35156 -4.43164 -1.35156
c-2.77734 0 -5.22559 1.41895 -6.6582 3.57129l-8.88086 13.3105c-0.845703 1.26758 -1.35156 2.79395 -1.35156 4.43066c0 2.77734 1.41992 5.22656 3.57227 6.65918l15.3301 10.2197c3.93945 2.62988 8.56934 4.03027 13.3096 4.03027h13.5801c4.41992 0 8 -3.58008 8 -8
v-88h16zM608 384c17.6699 0 32 -14.3301 32 -32v-320c0 -17.6699 -14.3301 -32 -32 -32h-576c-17.6699 0 -32 14.3301 -32 32v320c0 17.6699 14.3301 32 32 32h576zM48 48h64c0 35.3496 -28.6504 64 -64 64v-64zM48 272c35.3496 0 64 28.6504 64 64h-64v-64zM320 80
c53 0 96 50.1299 96 112c0 61.8604 -42.9805 112 -96 112s-96 -50.1396 -96 -112c0 -61.8496 42.9805 -112 96 -112zM592 48v64c-35.3496 0 -64 -28.6504 -64 -64h64zM592 272v64h-64c0 -35.3496 28.6504 -64 64 -64z" />
    <glyph glyph-name="phone-slash" unicode="&#xf3dd;" horiz-adv-x="640" 
d="M268.2 66.5996c11.5 5.40039 22.7002 11.6006 33.5996 18.1006l80 -61.7998c-76 -54.5 -169 -86.9004 -269.7 -86.9004c-11.2998 0 -20.8994 7.7998 -23.3994 18.5996l-24 104c-2.60059 11.4004 3.2002 22.9004 13.8994 27.5l112 48
c9.80078 4.2002 21.2002 1.40039 28 -6.89941zM633.8 -10.0996c7 -5.40039 8.2998 -15.5 2.90039 -22.3008l-19.6006 -25.2998c-5.5 -7 -15.5 -8.2002 -22.5 -2.7998l-588.399 454.7c-7 5.39941 -8.2002 15.3994 -2.7998 22.3994l19.5996 25.2002
c5.5 7 15.5 8.2002 22.5 2.7998l353.9 -273.5c18.0996 22.5 33.7998 46.7002 46 72.8008l-60.6006 49.5996c-8.2998 6.7002 -11.0996 18.2002 -6.89941 28l48 112c4.59961 10.5996 16.1992 16.5 27.5 13.9004l104 -24c10.8994 -2.5 18.5996 -12.2002 18.5996 -23.4004
c0 -108.9 -38.0996 -208.4 -100.9 -287.5z" />
    <glyph glyph-name="portrait" unicode="&#xf3e0;" horiz-adv-x="384" 
d="M336 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h288zM192 320c-35.2998 0 -64 -28.7002 -64 -64s28.7002 -64 64 -64s64 28.7002 64 64s-28.7002 64 -64 64zM304 83.2002v19.2002
c0 31.7998 -30.0996 57.5996 -67.2002 57.5996h-5c-12.2002 -5.09961 -25.7002 -8 -39.7998 -8s-27.5 2.90039 -39.7998 8h-5c-37.1006 0 -67.2002 -25.7998 -67.2002 -57.5996v-19.2002c0 -10.6006 10 -19.2002 22.4004 -19.2002h179.199
c12.4004 0 22.4004 8.59961 22.4004 19.2002z" />
    <glyph glyph-name="reply" unicode="&#xf3e5;" 
d="M8.30859 258.164l176.005 151.985c15.4053 13.3047 39.6865 2.50391 39.6865 -18.1641v-80.0537c160.629 -1.83887 288 -34.0312 288 -186.258c0 -61.4404 -39.5811 -122.309 -83.333 -154.132c-13.6533 -9.93066 -33.1113 2.5332 -28.0771 18.6309
c45.3438 145.012 -21.5068 183.51 -176.59 185.742v-87.915c0 -20.7002 -24.2998 -31.4531 -39.6865 -18.1641l-176.005 152c-11.0703 9.5625 -11.0859 26.7529 0 36.3281z" />
    <glyph glyph-name="shield-alt" unicode="&#xf3ed;" 
d="M466.5 364.3c17.7998 -7.39941 29.5 -24.8994 29.5 -44.2998c0 -221.3 -135.9 -344.6 -221.6 -380.3c-11.8008 -4.90039 -25.1006 -4.90039 -36.9004 0c-107 44.5996 -221.5 181.8 -221.5 380.3c0 19.4004 11.7002 36.9004 29.5996 44.2998l192 80
c5.67578 2.35449 11.96 3.6543 18.4824 3.6543c6.52148 0 12.7432 -1.2998 18.418 -3.6543zM256.1 1.7002c93.7002 46.5996 172.5 156.3 175.801 307.7l-175.9 73.2998z" />
    <glyph glyph-name="tablet-alt" unicode="&#xf3fa;" horiz-adv-x="448" 
d="M400 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h352zM224 -32c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM400 76v312
c0 6.59961 -5.40039 12 -12 12h-328c-6.59961 0 -12 -5.40039 -12 -12v-312c0 -6.59961 5.40039 -12 12 -12h328c6.59961 0 12 5.40039 12 12z" />
    <glyph glyph-name="tachometer-alt" unicode="&#xf3fd;" horiz-adv-x="576" 
d="M288 416c159.06 0 288 -128.94 288 -288c0 -52.7998 -14.25 -102.26 -39.0596 -144.8c-5.61035 -9.62012 -16.3008 -15.2002 -27.4404 -15.2002h-443c-11.1396 0 -21.8301 5.58008 -27.4404 15.2002c-24.8096 42.54 -39.0596 92 -39.0596 144.8
c0 159.06 128.94 288 288 288zM288 352c-17.6699 0 -31.9902 -14.3301 -31.9902 -32s14.3301 -32 32 -32c6.66992 0 12.5098 2.51953 17.6406 6.00977l9.21973 27.6699c0.80957 2.44043 2.33984 4.41016 3.4502 6.66992c-3.74023 13.5205 -15.6104 23.6504 -30.3203 23.6504
zM96 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM144 224c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM390.77 296.41c4.18066 12.5703 -2.59961 26.1699 -15.1699 30.3594
c-12.6299 4.28027 -26.1895 -2.60938 -30.3594 -15.1699l-61.3398 -184.01c-33.4004 -2.16016 -59.9004 -29.6494 -59.9004 -63.5898c0 -11.7197 3.37988 -22.5498 8.87988 -32h110.24c5.5 9.4502 8.87988 20.2803 8.87988 32c0 19.46 -8.87012 36.6699 -22.5596 48.4102z
M405.43 239.21c5.68066 -8.94043 15.1904 -15.21 26.5703 -15.2197c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32c-3.91992 0 -7.58008 -0.94043 -11.0498 -2.23047zM480 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z
" />
    <glyph glyph-name="ticket-alt" unicode="&#xf3ff;" horiz-adv-x="576" 
d="M128 288h320v-192h-320v192zM528 192c0 -26.5098 21.4902 -48 48 -48v-96c0 -26.5098 -21.4902 -48 -48 -48h-480c-26.5098 0 -48 21.4902 -48 48v96c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48v96c0 26.5098 21.4902 48 48 48h480c26.5098 0 48 -21.4902 48 -48
v-96c-26.5098 0 -48 -21.4902 -48 -48zM480 296c0 13.2549 -10.7451 24 -24 24h-336c-13.2549 0 -24 -10.7451 -24 -24v-208c0 -13.2549 10.7451 -24 24 -24h336c13.2549 0 24 10.7451 24 24v208z" />
    <glyph glyph-name="user-alt" unicode="&#xf406;" 
d="M256 160c-79.5 0 -144 64.5 -144 144s64.5 144 144 144s144 -64.5 144 -144s-64.5 -144 -144 -144zM384 128c70.7002 0 128 -57.2998 128 -128v-16c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v16c0 70.7002 57.2998 128 128 128h55.0996
c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h55.0996z" />
    <glyph glyph-name="window-close" unicode="&#xf410;" 
d="M464 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h416zM380.4 125.5l-67.1006 66.5l67.1006 66.5c4.7998 4.7998 4.7998 12.5996 0 17.4004l-40.5 40.5
c-4.80078 4.7998 -12.6006 4.7998 -17.4004 0l-66.5 -67.1006l-66.5 67.1006c-4.7998 4.7998 -12.5996 4.7998 -17.4004 0l-40.5 -40.5c-4.7998 -4.80078 -4.7998 -12.6006 0 -17.4004l67.1006 -66.5l-67.1006 -66.5c-4.7998 -4.7998 -4.7998 -12.5996 0 -17.4004
l40.5 -40.5c4.80078 -4.7998 12.6006 -4.7998 17.4004 0l66.5 67.1006l66.5 -67.1006c4.7998 -4.7998 12.5996 -4.7998 17.4004 0l40.5 40.5c4.7998 4.80078 4.7998 12.6006 0 17.4004z" />
    <glyph glyph-name="compress-alt" unicode="&#xf422;" horiz-adv-x="448" 
d="M4.68555 20.6855l99.3145 99.3145l-32.9219 31.0293c-15.1201 15.1201 -4.41211 40.9707 16.9697 40.9707h112c13.2549 0 23.9521 -10.7451 23.9521 -24v-112c0 -21.3818 -25.8027 -32.0898 -40.9219 -16.9707l-31.0781 32.9707l-99.3145 -99.3145
c-6.24707 -6.24707 -16.3789 -6.24707 -22.627 0l-25.373 25.373c-6.24707 6.24805 -6.24707 16.3799 0 22.627zM443.314 363.314l-99.3145 -99.3145l32.9219 -31.0293c15.1201 -15.1201 4.41211 -40.9707 -16.9697 -40.9707h-112c-13.2549 0 -23.9521 10.7451 -23.9521 24
v112c0 21.3818 25.8027 32.0898 40.9219 16.9707l31.0781 -32.9707l99.3145 99.3145c6.24707 6.24707 16.3789 6.24707 22.627 0l25.373 -25.373c6.24707 -6.24805 6.24707 -16.3799 0 -22.627z" />
    <glyph glyph-name="expand-alt" unicode="&#xf424;" horiz-adv-x="448" 
d="M212.686 132.686l-92.6855 -92.6855l32.9219 -31.0293c15.1201 -15.1201 4.41211 -40.9707 -16.9697 -40.9707h-112c-13.2549 0 -23.9521 10.7451 -23.9521 24v112c0 21.3818 25.8027 32.0898 40.9219 16.9707l31.0781 -32.9707l92.6855 92.6855
c6.24805 6.24805 16.3799 6.24805 22.6279 0l25.3721 -25.3721c6.24902 -6.24805 6.24902 -16.3789 0 -22.6279zM235.314 251.314l92.6855 92.6855l-32.9219 31.0293c-15.1201 15.1201 -4.41211 40.9707 16.9697 40.9707h112c13.2549 0 23.9521 -10.7451 23.9521 -24v-112
c0 -21.3818 -25.8027 -32.0898 -40.9219 -16.9707l-31.0781 32.9707l-92.6855 -92.6855c-6.24805 -6.24805 -16.3799 -6.24805 -22.6279 0l-25.3721 25.3721c-6.24902 6.24805 -6.24902 16.3789 0 22.6279z" />
    <glyph glyph-name="baseball-ball" unicode="&#xf433;" horiz-adv-x="496" 
d="M368.5 84.0996c12.9004 -26.6992 30.2998 -50.1992 51.4004 -70.5996c-44.6006 -43 -105.101 -69.5 -171.9 -69.5c-66.9004 0 -127.5 26.5996 -172 69.7002c21.2002 20.3994 38.5996 44 51.5 70.7002l-28.7998 13.8994c-11.1006 -23 -26.1006 -43.2998 -44.2998 -61
c-34 42.4004 -54.4004 96.1006 -54.4004 154.7s20.4004 112.3 54.4004 154.8c17.7998 -17.2998 32.5 -37.0996 43.5 -59.3994l28.6992 14.0996c-12.7998 25.9004 -30 48.9004 -50.6992 68.7998c44.5996 43.1006 105.199 69.7002 172.1 69.7002
c67 0 127.6 -26.7002 172.2 -69.7998c-20.7998 -20 -38 -43 -50.7998 -69l28.6992 -14.1006c11 22.4004 25.8008 42.2002 43.6006 59.5c33.7998 -42.3994 54.2002 -96.0996 54.2002 -154.6c0 -58.5996 -20.5 -112.4 -54.5 -154.9c-18.1006 17.7002 -33 38 -44.1006 60.9004z
M140.2 116.1c17.2998 53.9004 14.2998 108.2 -0.700195 153.801l-30.4004 -10c13.3008 -40.2002 15.5 -87.6006 0.600586 -134zM356.5 269.5c-15 -45.5 -18 -99.7998 -0.700195 -153.8l30.5 9.7998c-14.8994 46.5 -12.5996 93.9004 0.600586 134z" />
    <glyph glyph-name="basketball-ball" unicode="&#xf434;" horiz-adv-x="496" 
d="M212.3 437.7c-1.5 -50 -17 -95.4004 -44.7998 -131.2l-77.4004 77.4004c36 29.6992 78.4004 47.5 122.2 53.7998zM248 226l-46.2998 46.2998c37.2002 45.4004 57.5 103.8 58.7002 167.7c51.8994 -2.59961 103.1 -21.0996 145.5 -56.0996zM56.0996 349.9l77.4004 -77.4004
c-35.7002 -27.7998 -81.2002 -43.2998 -131.2 -44.7998c6.2998 43.7998 24.1006 86.2002 53.7998 122.2zM328.3 145.7l-46.2998 46.2998l157.9 157.9c35 -42.4004 53.5 -93.6006 56.0996 -145.5c-64 -1.30078 -122.4 -21.6006 -167.7 -58.7002zM248 158l46.2998 -46.2998
c-37.0996 -45.2998 -57.3994 -103.7 -58.7002 -167.7c-51.8994 2.59961 -103.1 21.2002 -145.5 56.0996zM439.9 34.0996l-77.4004 77.4004c35.7002 27.7002 81.0996 43.2002 131.2 44.7998c-6.2998 -43.7998 -24.1006 -86.2002 -53.7998 -122.2zM167.7 238.3
l46.2998 -46.2998l-157.9 -157.9c-35 42.4004 -53.5 93.6006 -56.0996 145.5c63.9004 1.10059 122.3 21.5 167.7 58.7002zM283.7 -53.7002c1.59961 50 17.0996 95.5 44.7998 131.2l77.4004 -77.4004c-36 -29.6992 -78.4004 -47.5 -122.2 -53.7998z" />
    <glyph glyph-name="bowling-ball" unicode="&#xf436;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM120 256c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM184 352c0 -17.7002 14.2998 -32 32 -32s32 14.2998 32 32
s-14.2998 32 -32 32s-32 -14.2998 -32 -32zM232 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
    <glyph glyph-name="chess" unicode="&#xf439;" 
d="M74 240l-33.9102 90.3799c-0.655273 1.74707 -1.01953 3.64551 -1.01953 5.62012c0 8.83105 7.16895 16 16 16h0.0195312h56.9102v32h-24c-4.41504 0 -8 3.58496 -8 8v16c0 4.41504 3.58496 8 8 8h24v24c0 4.41504 3.58496 8 8 8h16c4.41504 0 8 -3.58496 8 -8v-24h24
c4.41504 0 8 -3.58496 8 -8v-16c0 -4.41504 -3.58496 -8 -8 -8h-24v-32h56.8896c0.00683594 0 0.0078125 -0.00683594 0.0146484 -0.00683594c8.83008 0 16 -7.16992 16 -16c0 -1.97461 -0.359375 -3.86621 -1.01465 -5.61328l-33.8896 -90.3799h10
c8.83105 0 16 -7.16895 16 -16v-16c0 -8.83105 -7.16895 -16 -16 -16h-15.9404c0.142578 -44.1934 5.69141 -86.9287 15.9404 -128h-128c10.249 41.0713 15.7979 83.8066 15.9404 128h-15.9404c-8.83105 0 -16 7.16895 -16 16v16c0 8.83105 7.16895 16 16 16h10z
M247.16 -11.5801c5.24805 -2.62598 8.83984 -8.0459 8.83984 -14.3096v-22.1104c0 -8.83105 -7.16895 -16 -16 -16h-224c-8.83105 0 -16 7.16895 -16 16v22.1104c0.000976562 6.26562 3.59668 11.6855 8.84961 14.3096l23.1504 11.5801v16c0 8.83105 7.16895 16 16 16h160
c8.83105 0 16 -7.16895 16 -16v-16zM339.93 146.2l-24.5693 20.7998c-6.94434 5.86133 -11.3438 14.6143 -11.3604 24.4004v58.5996c0 3.31152 2.68848 6 6 6h26.3896c3.31152 0 6 -2.68848 6 -6v-26h24.71v26c0 3.31152 2.68848 6 6 6h53.8105c3.31152 0 6 -2.68848 6 -6
v-26h24.71v26c0 3.31152 2.68848 6 6 6h26.3799c3.31152 0 6 -2.68848 6 -6v-58.54c0 -0.0107422 0.0185547 -0.0126953 0.0185547 -0.0234375c0 -9.79297 -4.40918 -18.5645 -11.3486 -24.4365l-24.5996 -20.79l3.29004 -82.21h-126.721zM384 144v-32h32v32
c0 8.83105 -7.16895 16 -16 16s-16 -7.16895 -16 -16zM503.16 -11.5801c5.24805 -2.62598 8.83984 -8.0459 8.83984 -14.3096v-22.1104c0 -8.83105 -7.16895 -16 -16 -16h-192c-8.83105 0 -16 7.16895 -16 16v22.1104c0.000976562 6.26562 3.59668 11.6855 8.84961 14.3096
l23.1504 11.5801v16c0 8.83105 7.16895 16 16 16h128c8.83105 0 16 -7.16895 16 -16v-16z" />
    <glyph glyph-name="chess-bishop" unicode="&#xf43a;" horiz-adv-x="320" 
d="M8 160.12c0 73.3799 59.8096 181.08 112.6 225.37c-14 3.41992 -24.5996 15.5098 -24.5996 30.5098c0 17.6611 14.3389 32 32 32h64c17.6611 0 32 -14.3389 32 -32c0 -15.0498 -10.5996 -27.0898 -24.5996 -30.5098c24.3994 -20.4902 50.0693 -54.6807 70.8691 -92.5898
l-107.89 -107.931c-1.44727 -1.44727 -2.3418 -3.44922 -2.3418 -5.65625c0 -2.20605 0.894531 -4.20508 2.3418 -5.65332l11.3105 -11.3105c1.44727 -1.44629 3.44922 -2.3418 5.65527 -2.3418c2.20703 0 4.20605 0.895508 5.6543 2.3418l100.31 100.33
c15.96 -35.46 26.6904 -71.9492 26.6904 -102.56c0 -51.6006 -22.1396 -73.8301 -56 -84.6006v-43.5195h-192v43.5195c-33.8604 10.7705 -56 32.9609 -56 84.6006zM304 0c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-288
c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h288z" />
    <glyph glyph-name="chess-board" unicode="&#xf43c;" 
d="M255.9 447.8v-64h-64v64h64zM0 383.83h64v-64h-64v64zM128 447.8v-64h-64v64h64zM192 191.9h64v-64h-64v64zM0 255.88h64v-64h-64v64zM383.85 447.8v-64h-64v64h64zM511.85 447.8v-64h-64v64h64zM128 191.9v-64h-64v64h64zM511.8 0h-64v64h64v-64zM511.8 128h-64v64h64
v-64zM383.85 -64v64h64v-64h-64zM511.85 255.88h-64v64h64v-64zM128 -64v64h64v-64h-64zM0 -64v64h64v-64h-64zM255.9 -64v64h64v-64h-64zM0 127.93h64v-64h-64v64zM319.88 319.85h-64v64h64v-64zM255.88 191.85v64h64v-64h-64zM191.88 63.8496h64v-64h-64v64z
M319.88 127.85v64h64v-64h-64zM319.88 255.8v64h64v-64h-64zM319.88 63.8701h64v-64h-64v64zM64 63.9502h64v-64h-64v64zM192 319.85h-64v64h64v-64zM383.92 63.9502v64h64v-64h-64zM255.92 255.88h-64v64h64v-64zM383.92 383.83h64v-64h-64v64zM255.92 127.93h64v-64h-64
v64zM191.92 255.88l0.0800781 -64h-64v64h63.9199zM383.84 191.88v64h64v-64h-64zM128 319.85v-64h-64v64h64zM128 127.93h64v-64h-64v64z" />
    <glyph glyph-name="chess-king" unicode="&#xf43f;" horiz-adv-x="448" 
d="M400 0c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-352c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h352zM416 288c17.6494 -0.0136719 31.9688 -14.3477 31.9688 -32.001c0 -3.32129 -0.507812 -6.52539 -1.44922 -9.53906
l-73.0791 -214.46h-298.881l-73.0791 214.46c-0.941406 3.01367 -1.45508 6.21875 -1.45508 9.54004c0 17.6533 14.3252 31.9863 31.9746 32h160v48h-40c-4.41504 0 -8 3.58496 -8 8v48c0 4.41504 3.58496 8 8 8h40v40c0 4.41504 3.58496 8 8 8h48
c4.41504 0 8 -3.58496 8 -8v-40h40c4.41504 0 8 -3.58496 8 -8v-48c0 -4.41504 -3.58496 -8 -8 -8h-40v-48h160z" />
    <glyph glyph-name="chess-knight" unicode="&#xf441;" horiz-adv-x="384" 
d="M19 175.53c-11.2041 4.98145 -19 16.1963 -19 29.2393v0.0205078v137.21c0 0.0195312 -0.00292969 0.0419922 -0.00292969 0.0625c0 6.60742 2.67578 12.5957 7.00293 16.9375l9 9l-14.21 28.4199c-1.13867 2.27344 -1.79004 4.85547 -1.79004 7.56934v0.0107422
c0 6.62305 5.37695 12 12 12h147.94c106 0 191.92 -86 191.92 -192v-192h-319.86v14.5195c0 0.0078125 -0.078125 -0.03125 -0.078125 -0.0244141c0 31.3145 18.0312 58.4512 44.2686 71.585l57.2197 28.6504c15.751 7.87695 26.5303 24.1348 26.5303 42.9297v0.00976562
v50.3301l-22.1201 -11.0801c-6.19238 -3.09668 -10.8369 -8.78906 -12.5508 -15.6504l-9.21973 -30.6494c-2.81152 -9.35645 -9.77051 -16.9043 -18.7598 -20.5l-12.7803 -5.12012c-3.66895 -1.46777 -7.7168 -2.27246 -11.9082 -2.27246
c-4.61621 0 -9.00586 0.979492 -12.9717 2.74219zM52 320c-11.0381 0 -20 -8.96191 -20 -20s8.96191 -20 20 -20s20 8.96191 20 20s-8.96191 20 -20 20zM368 0c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-352c-8.83105 0 -16 7.16895 -16 16v32
c0 8.83105 7.16895 16 16 16h352z" />
    <glyph glyph-name="chess-pawn" unicode="&#xf443;" horiz-adv-x="320" 
d="M105.1 224c-29.3896 18.3799 -49.0996 50.7803 -49.0996 88c0 57.3994 46.6006 104 104 104s104 -46.6006 104 -104c0 -37.2197 -19.71 -69.6201 -49.0996 -88h25.0996c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-16v-5.49023
c0 -44 4.11035 -86.5996 24 -122.51h-176c19.8604 35.9102 24 78.5098 24 122.51v5.49023h-16c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h25.0996zM304 0c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-288
c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h288z" />
    <glyph glyph-name="chess-queen" unicode="&#xf445;" 
d="M256 336c-30.9072 0 -56 25.0928 -56 56s25.0928 56 56 56s56 -25.0928 56 -56s-25.0928 -56 -56 -56zM432 0c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-352c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h352zM504.87 263.84
c4.30566 -2.86816 7.11914 -7.77344 7.11914 -13.3311c0 -2.56445 -0.604492 -4.98926 -1.67969 -7.13867l-102.55 -211.37h-303.52l-102.55 211.33c-1.0752 2.14941 -1.70508 4.58008 -1.70508 7.14453c0 5.55762 2.83887 10.457 7.14453 13.3252l28.5703 16
c7.35938 4.91016 16.8096 2.5498 22.0898 -4.54004c8.6543 -11.709 22.4922 -19.2686 38.1572 -19.2686c1.13672 0 2.26562 0.0400391 3.38281 0.119141c25.6699 1.73926 44.6699 24.7998 44.6699 50.4893c0 7.39648 6.00391 13.4004 13.4004 13.4004h38.7695
c6.04004 0 11.6104 -3.99023 12.8604 -9.91016c4.57715 -21.7363 23.8789 -38.0752 46.9688 -38.0752s42.3936 16.3389 46.9707 38.0752c1.25 5.91016 6.86035 9.91016 12.8604 9.91016h38.7695c7.39648 0 13.4004 -6.00391 13.4004 -13.4004
c0 -23.5293 15.7002 -45.46 38.8398 -49.75c2.95898 -0.576172 5.9541 -0.918945 9.08105 -0.918945c15.6064 0 29.4688 7.5293 38.1494 19.1494c5.37988 7.13965 14.8496 9.67969 22.29 4.67969z" />
    <glyph glyph-name="chess-rook" unicode="&#xf447;" horiz-adv-x="384" 
d="M368 416c8.83105 0 16 -7.16895 16 -16v-176l-64 -32c0 -47.7197 1.54004 -95 13.21 -160h-282.42c11.6699 65 13.21 111.67 13.21 160l-64 32v176c0 8.83105 7.16895 16 16 16h56.0996c8.83105 0 16 -7.16895 16 -16v-48h47.9004v48c0 8.83105 7.16895 16 16 16h80
c8.83105 0 16 -7.16895 16 -16v-48h48v48c0 8.83105 7.16895 16 16 16h56zM224 128v64c0 17.6611 -14.3389 32 -32 32s-32 -14.3389 -32 -32v-64h64zM368 0c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-352c-8.83105 0 -16 7.16895 -16 16v32
c0 8.83105 7.16895 16 16 16h352z" />
    <glyph glyph-name="dumbbell" unicode="&#xf44b;" horiz-adv-x="640" 
d="M104 352c13.2998 0 24 -10.7002 24 -24v-272c0 -13.2998 -10.7002 -24 -24 -24h-48c-13.2998 0 -24 10.7002 -24 24v104h-24c-4.40039 0 -8 3.59961 -8 8v48c0 4.40039 3.59961 8 8 8h24v104c0 13.2998 10.7002 24 24 24h48zM632 224c4.40039 0 8 -3.59961 8 -8v-48
c0 -4.40039 -3.59961 -8 -8 -8h-24v-104c0 -13.2998 -10.7002 -24 -24 -24h-48c-13.2998 0 -24 10.7002 -24 24v272c0 13.2998 10.7002 24 24 24h48c13.2998 0 24 -10.7002 24 -24v-104h24zM456 416c13.2998 0 24 -10.7002 24 -24v-400c0 -13.2998 -10.7002 -24 -24 -24h-48
c-13.2998 0 -24 10.7002 -24 24v168h-128v-168c0 -13.2998 -10.7002 -24 -24 -24h-48c-13.2998 0 -24 10.7002 -24 24v400c0 13.2998 10.7002 24 24 24h48c13.2998 0 24 -10.7002 24 -24v-168h128v168c0 13.2998 10.7002 24 24 24h48z" />
    <glyph glyph-name="football-ball" unicode="&#xf44e;" horiz-adv-x="496" 
d="M481.5 387.7c6.2998 -23.9004 13.7002 -61 14.5 -104.5l-156.6 156.8c43.5996 -0.900391 80.8994 -8.5 104.8 -14.9004c18.2002 -4.89941 32.5 -19.1992 37.2998 -37.3994zM14.5 -3.7002c-6.2998 23.9004 -13.7002 61 -14.5 104.5l156.6 -156.8
c-43.5996 0.900391 -80.8994 8.5 -104.8 14.9004c-18.2002 4.89941 -32.5 19.1992 -37.2998 37.3994zM4.2002 164.6c22.5996 152.7 138.899 252 271.399 271.4l216.301 -216.6c-22.7002 -152.7 -139 -252 -271.5 -271.4zM321.5 288.2l-28.2998 -28.5l-28.2998 28.2998
c-3.10059 3.09961 -8.2002 3.09961 -11.3008 0l-11.2998 -11.2998c-3.09961 -3.10059 -3.09961 -8.2002 0 -11.2998l28.2998 -28.3008l-22.5996 -22.5996l-28.2998 28.2998c-3.10059 3.10059 -8.2002 3.10059 -11.2998 0l-11.3008 -11.2998
c-3.09961 -3.09961 -3.09961 -8.2002 0 -11.2998l28.3008 -28.2998l-22.6006 -22.6006l-28.2998 28.2998c-3.09961 3.10059 -8.2002 3.10059 -11.2998 0l-11.2998 -11.2998c-3.10059 -3.09961 -3.10059 -8.2002 0 -11.2998l28.2998 -28.2002l-28.2998 -28.2998
c-3.10059 -3.09961 -3.10059 -8.2002 0 -11.2998l11.2998 -11.2998c3.09961 -3.10059 8.2002 -3.10059 11.2998 0l28.2998 28.2998l28.2998 -28.2998c3.10059 -3.10059 8.2002 -3.10059 11.3008 0l11.2998 11.2998c3.09961 3.09961 3.09961 8.2002 0 11.2998
l-28.2998 28.2998l22.5996 22.6006l28.2998 -28.3008c3.10059 -3.09961 8.2002 -3.09961 11.2998 0l11.3008 11.3008c3.09961 3.09961 3.09961 8.19922 0 11.2998l-28.3008 28.2998l22.6006 22.7002l28.2998 -28.2998c3.09961 -3.10059 8.2002 -3.10059 11.2998 0
l11.2998 11.2998c3.10059 3.09961 3.10059 8.2002 0 11.2998l-28.2998 28.2998l28.2998 28.2998c3.10059 3.10059 3.10059 8.2002 0 11.3008l-11.2998 11.2998c-3.09961 3.09961 -8.2002 3.09961 -11.2998 0z" />
    <glyph glyph-name="golf-ball" unicode="&#xf450;" horiz-adv-x="416" 
d="M96 32h224c0 -17.7002 -14.2998 -32 -32 -32h-16c-17.7002 0 -32 -14.2998 -32 -32v-20c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v20c0 17.7002 -14.2998 32 -32 32h-16c-17.7002 0 -32 14.2998 -32 32zM416 240
c0 -74.2002 -39 -139.2 -97.5 -176h-221c-58.5 36.7998 -97.5 101.8 -97.5 176c0 114.9 93.0996 208 208 208s208 -93.0996 208 -208zM235.9 196.1c18.2998 0 33.0996 14.8008 33.0996 33.1006c0 14.3994 -9.2998 26.2998 -22.0996 30.8994
c9.59961 -26.7998 -15.6006 -51.2998 -41.9004 -41.8994c4.59961 -12.7998 16.5 -22.1006 30.9004 -22.1006zM285 149.2c0 14.3994 -9.2998 26.2998 -22.0996 30.8994c9.59961 -26.7998 -15.6006 -51.2998 -41.9004 -41.8994
c4.59961 -12.7998 16.5 -22.1006 30.9004 -22.1006c18.2998 0 33.0996 14.9004 33.0996 33.1006zM349 213.2c0 14.3994 -9.2998 26.2998 -22.0996 30.8994c9.59961 -26.7998 -15.6006 -51.2998 -41.9004 -41.8994c4.59961 -12.7998 16.5 -22.1006 30.9004 -22.1006
c18.2998 0 33.0996 14.9004 33.0996 33.1006z" />
    <glyph glyph-name="hockey-puck" unicode="&#xf453;" 
d="M0 288c0 53 114.6 96 256 96s256 -43 256 -96s-114.6 -96 -256 -96s-256 43 -256 96zM0 205.8c113.5 -82.3994 398.6 -82.2998 512 0v-109.8c0 -53 -114.6 -96 -256 -96s-256 43 -256 96v109.8z" />
    <glyph glyph-name="quidditch" unicode="&#xf458;" horiz-adv-x="640" 
d="M256.5 231.2l86.7002 -109.2s-16.6006 -102.4 -76.6006 -150.1c-59.8994 -47.7002 -266.6 -34.1006 -266.6 -34.1006s3.7998 23.1006 11 55.4004l94.5996 112.2c4 4.69922 -0.899414 11.5996 -6.59961 9.5l-60.4004 -22.1006c14.4004 41.7002 32.7002 80 54.6006 97.5
c59.8994 47.7998 163.3 40.9004 163.3 40.9004zM494.5 96.2002c44 0 79.7998 -35.7002 79.7998 -79.9004c0 -44.0996 -35.7002 -79.8994 -79.7998 -79.8994s-79.7998 35.7998 -79.7998 79.8994c0 44.1006 35.7998 79.9004 79.7998 79.9004zM636.5 417
c5.5 -6.90039 4.40039 -17 -2.5 -22.5l-232.5 -177.9l34.0996 -42.8994c5.10059 -6.40039 1.7002 -15.9004 -6.2998 -17.6006l-58.7998 -12.3994l-86.7002 109.2l25.2998 54.5996c3.5 7.40039 13.5 8.59961 18.6006 2.2002l34.0996 -43l232.5 177.899
c6.90039 5.40039 16.9004 4.30078 22.4004 -2.59961z" />
    <glyph glyph-name="square-full" unicode="&#xf45c;" 
d="M512 -64h-512v512h512v-512z" />
    <glyph glyph-name="table-tennis" unicode="&#xf45d;" 
d="M496.2 151.5c-64.1006 43.2002 -149.5 27.9004 -195.601 -34.2002l-211.5 211.5l56 56.1006c83.9004 84.0996 220 84.0996 303.9 0c63 -63.1006 78.7002 -155.601 47.2002 -233.4zM278.3 71.7998c-3.7002 -12.7002 -6.2998 -25.8994 -6.2002 -39.7002
c0 -19.5 3.90039 -38.0996 11 -55.0996c-25.6992 2.7998 -50.5996 13.5996 -70.2998 33.2998l-35.7002 35.7002l-89.2998 -103.3c-7.5 -8.60059 -20.7002 -9.10059 -28.7002 -1l-53.3994 53.5c-8.10059 8.09961 -7.60059 21.2998 1 28.7998l103 89.4004l-34.5 34.5996
c-39 39.0996 -44.6006 98.7998 -17.2998 144.1zM416 128c53 0 96 -43 96 -96s-43 -96 -96 -96s-96 43 -96 96s43 96 96 96z" />
    <glyph glyph-name="volleyball-ball" unicode="&#xf45f;" 
d="M231.39 204.52c-70.1855 -43.1172 -122.835 -111.301 -146.1 -192.199c-24.0918 22.8398 -43.4365 50.252 -56.9004 81.0996c22.8008 94.4004 89.5 174.4 180.301 216.8c13.8145 -32.4951 21.9121 -68.375 22.6992 -105.7zM194.49 338.92
c-84 -39.5 -149 -108.4 -182.4 -191.5c-19.7998 109.3 34 212.4 125 262.2c22.8408 -20.3574 42.0732 -43.9951 57.4004 -70.7002zM382.09 173.82c-36.7021 4.46582 -71.8574 16.1094 -102.899 33.1797c-2.36035 86.3154 -37.5332 164.725 -93.5 222.72
c47.2998 14 84.1992 10.2002 98.8994 8.5c70.2002 -66.8994 106.101 -164.6 97.5 -264.399zM257.39 164.32c49.7002 -26.8008 104 -40.8008 158.601 -40.9004c27.9346 0.173828 54.9697 3.79297 80.8994 10.4004c-7.93359 -32.9053 -22.5615 -63.5879 -42.1992 -89.9004
c-93 -27.2998 -195.5 -9.5 -277.5 47.7998c21.9443 29.166 48.8877 53.5898 80.1992 72.6006zM159.09 64.6201c53.6006 -37.2998 144 -78.2002 256.9 -62.1006c-43.0684 -36.5068 -99.1953 -58.4424 -160.021 -58.4424c-47.2529 0 -91.4258 13.2939 -128.979 36.3428
c6.39941 29.7998 16.8994 58.2002 32.0996 84.2002zM339.39 425.22c95.9004 -34.2998 164.601 -125.6 164.601 -233.399c0 -2 -0.299805 -4 -0.299805 -6c-28.0381 -9.1709 -57.998 -14.2012 -89.083 -14.2012c-0.206055 0 -0.412109 0 -0.617188 0.000976562
c7.89941 92.3994 -19.2998 183.2 -74.6006 253.6z" />
    <glyph glyph-name="allergies" unicode="&#xf461;" horiz-adv-x="448" 
d="M416 336c17.5996 0 32 -14.4004 32 -32v-176.1c-0.200195 -14 -1.90039 -28.6006 -5.09961 -42.3008l-26.5 -112.699c-5.10059 -21.7002 -24.4004 -37 -46.7002 -37h-197.601c-15.2998 0 -29.7998 7.39941 -38.7998 19.7998l-125.6 172.7
c-13 17.8994 -9.10059 42.8994 8.7998 55.8994s42.9004 9.10059 55.9004 -8.7998l23.5996 -32.5v241c0 17.5996 14.4004 32 32 32s32 -14.4004 32 -32v-152c0 -4.40039 3.59961 -8 8 -8h16c4.40039 0 8 3.59961 8 8v184c0 17.5996 14.4004 32 32 32s32 -14.4004 32 -32v-184
c0 -4.40039 3.59961 -8 8 -8h16c4.40039 0 8 3.59961 8 8v152c0 17.5996 14.4004 32 32 32s32 -14.4004 32 -32v-152c0 -4.40039 3.59961 -8 8 -8h16c4.40039 0 8 3.59961 8 8v72c0 17.5996 14.4004 32 32 32zM176 32c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16
s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM176 128c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM240 0c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM240 96c8.7998 0 16 7.2002 16 16
s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM304 64c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM336 0c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM368 128
c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16z" />
    <glyph glyph-name="band-aid" unicode="&#xf462;" horiz-adv-x="640" 
d="M0 288c0 35.2998 28.7002 64 64 64h96v-320h-96c-35.2998 0 -64 28.7002 -64 64v192zM576 352c35.2998 0 64 -28.7002 64 -64v-192c0 -35.2998 -28.7002 -64 -64 -64h-96v320h96zM192 32v320h256v-320h-256zM368 264c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24
s24 10.7002 24 24s-10.7002 24 -24 24zM368 168c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24s-10.7002 24 -24 24zM272 264c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24s-10.7002 24 -24 24zM272 168
c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24s-10.7002 24 -24 24z" />
    <glyph glyph-name="box" unicode="&#xf466;" 
d="M509.5 263.4c0.799805 -2.40039 0.799805 -4.90039 1.2002 -7.40039h-238.7v192h141.4c20.6992 0 39 -13.2002 45.5 -32.7998zM240 448v-192h-238.7c0.400391 2.5 0.400391 5 1.2002 7.40039l50.5996 151.8c6.5 19.5996 24.8008 32.7998 45.5 32.7998h141.4zM0 224h512
v-240c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v240z" />
    <glyph glyph-name="boxes" unicode="&#xf468;" horiz-adv-x="576" 
d="M560 160c8.7998 0 16 -7.2002 16 -16v-192c0 -8.7998 -7.2002 -16 -16 -16h-224c-8.7998 0 -16 7.2002 -16 16v192c0 8.7998 7.2002 16 16 16h80v-96l32 21.2998l32 -21.2998v96h80zM176 224c-8.7998 0 -16 7.2002 -16 16v192c0 8.7998 7.2002 16 16 16h80v-96
l32 21.2998l32 -21.2998v96h80c8.7998 0 16 -7.2002 16 -16v-192c0 -8.7998 -7.2002 -16 -16 -16h-224zM240 160c8.7998 0 16 -7.2002 16 -16v-192c0 -8.7998 -7.2002 -16 -16 -16h-224c-8.7998 0 -16 7.2002 -16 16v192c0 8.7998 7.2002 16 16 16h80v-96l32 21.2998
l32 -21.2998v96h80z" />
    <glyph glyph-name="briefcase-medical" unicode="&#xf469;" 
d="M464 320c26.5 0 48 -21.5 48 -48v-288c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h80v48c0 26.5 21.5 48 48 48h160c26.5 0 48 -21.5 48 -48v-48h80zM192 352v-32h128v32h-128zM352 104v48c0 4.40039 -3.59961 8 -8 8h-56v56
c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-56h-56c-4.40039 0 -8 -3.59961 -8 -8v-48c0 -4.40039 3.59961 -8 8 -8h56v-56c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v56h56c4.40039 0 8 3.59961 8 8z" />
    <glyph glyph-name="burn" unicode="&#xf46a;" horiz-adv-x="384" 
d="M192 448c111.8 -100.9 192 -220.6 192 -300.5c0 -124.5 -79 -211.5 -192 -211.5s-192 87 -192 211.5c0 79.5996 79.7002 199.2 192 300.5zM192 0c56.5 0 96 39 96 94.7998c0 13.5 -4.59961 61.5 -96 161.2c-91.4004 -99.7002 -96 -147.7 -96 -161.2
c0 -55.7998 39.5 -94.7998 96 -94.7998z" />
    <glyph glyph-name="capsules" unicode="&#xf46b;" horiz-adv-x="576" 
d="M555.3 147.9c36.2002 -51.7002 23.7002 -123 -28 -159.2c-20 -14 -42.7998 -20.7002 -65.5 -20.7002c-36.0996 0 -71.5996 17 -93.7998 48.7998l-131.2 187.3c-5.5 7.90039 -9.5 16.4004 -12.7998 25v-149.1c0 -61.9004 -50.0996 -112 -112 -112s-112 50.0996 -112 112
v224c0 61.9004 50.0996 112 112 112c60 0 108.5 -47.2002 111.4 -106.5c7.7998 21 21.7998 40 41.5 53.7998c20 14 42.8994 20.7002 65.5 20.7002c36 0 71.5 -17 93.7998 -48.7998zM160 192v112c0 26.5 -21.5 48 -48 48s-48 -21.5 -48 -48v-112h96zM354.8 147.1
l82.5 57.7002l-65.5996 93.7002c-9.40039 13.5 -24.7998 21.5 -41.2998 21.5c-10.3008 0 -20.3008 -3.09961 -28.8008 -9.09961c-11 -7.7002 -18.3994 -19.3008 -20.6992 -32.5c-2.40039 -13.2002 0.599609 -26.6006 8.2998 -37.6006z" />
    <glyph glyph-name="clipboard-check" unicode="&#xf46c;" horiz-adv-x="384" 
d="M336 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h80c0 35.2998 28.7002 64 64 64s64 -28.7002 64 -64h80zM192 408c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24
s-10.7002 24 -24 24zM313.2 176.2c4.7002 4.7002 4.7998 12.2002 0.0996094 17l-28.2002 28.3994c-4.69922 4.7002 -12.2998 4.80078 -17 0.100586l-106 -105.2l-46 46.4004c-4.69922 4.69922 -12.2998 4.7998 -17 0.0996094l-28.3994 -28.2002
c-4.7002 -4.7002 -4.7998 -12.2998 -0.100586 -17l82.6006 -83.2998c4.7002 -4.7002 12.2998 -4.7998 17 -0.0996094z" />
    <glyph glyph-name="clipboard-list" unicode="&#xf46d;" horiz-adv-x="384" 
d="M336 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h80c0 35.2998 28.7002 64 64 64s64 -28.7002 64 -64h80zM96 24c13.2998 0 24 10.7002 24 24s-10.7002 24 -24 24s-24 -10.7002 -24 -24
s10.7002 -24 24 -24zM96 120c13.2998 0 24 10.7002 24 24s-10.7002 24 -24 24s-24 -10.7002 -24 -24s10.7002 -24 24 -24zM96 216c13.2998 0 24 10.7002 24 24s-10.7002 24 -24 24s-24 -10.7002 -24 -24s10.7002 -24 24 -24zM192 408c-13.2998 0 -24 -10.7002 -24 -24
s10.7002 -24 24 -24s24 10.7002 24 24s-10.7002 24 -24 24zM320 40v16c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8zM320 136v16c0 4.40039 -3.59961 8 -8 8h-144
c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8zM320 232v16c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8z" />
    <glyph glyph-name="diagnoses" unicode="&#xf470;" horiz-adv-x="640" 
d="M496 192c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16s16 -7.2002 16 -16s-7.2002 -16 -16 -16zM320 272c-48.5 0 -88 39.5 -88 88s39.5 88 88 88s88 -39.5 88 -88s-39.5 -88 -88 -88zM59.7998 84l-17.7002 26.7002c-8.7998 13.2998 -7.59961 34.5996 10 45.0996
c7.40039 4.40039 17.5 10 28.7002 16c31.6006 -27.2998 79 -4.2002 79.2002 36c47.0996 17.7002 103 32.2002 160 32.2002c45.0996 0 89.2998 -9.2002 129.2 -21.7998c-11.7002 -52.9004 59.5996 -81.2002 87.7002 -35.1006
c21.3994 -10.3994 39.1992 -20.2998 51.0996 -27.3994c17.5996 -10.5 18.7998 -31.9004 10 -45.1006l-17.7998 -26.6992c-10.2002 -15.1006 -29.2998 -17.8008 -42.9004 -9.80078c-16.2002 9.60059 -56.2002 31.8008 -105.3 48.6006v-90.7002h-224v90.7998
c-49.0996 -16.8994 -89.0996 -39 -105.3 -48.5996c-13.6006 -8 -32.7002 -5.5 -42.9004 9.7998zM368 104c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24s-10.7002 24 -24 24zM272 200c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24
s24 10.7002 24 24s-10.7002 24 -24 24zM112 192c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16s16 -7.2002 16 -16s-7.2002 -16 -16 -16zM624 0c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-608c-8.7998 0 -16 7.2002 -16 16v32
c0 8.7998 7.2002 16 16 16h608z" />
    <glyph glyph-name="dna" unicode="&#xf471;" horiz-adv-x="448" 
d="M0.0996094 -46.0996c5.2002 42.8994 31.4004 153.899 159.9 238.1c-128.6 84.2002 -154.7 195.2 -159.9 238.1c-1.09961 9.5 6.40039 17.8008 16 17.8008l32.3008 0.0996094c8.09961 0.0996094 14.8994 -5.90039 16 -13.9004
c0.699219 -5 1.7998 -11.0996 3.39941 -18.0996h312.4c1.59961 7 2.7002 13.2002 3.39941 18.0996c1.10059 8 7.90039 13.9004 16 13.9004l32.4004 -0.0996094c9.59961 0 17 -8.30078 15.9004 -17.8008c-5.80078 -47.8994 -37.4004 -181.199 -209.5 -266.699
c-31.7002 -15.8008 -57.4004 -33.3008 -78.7002 -51.4004h127.6c-5.59961 4.7998 -10.7998 9.59961 -17 14.2002c21.4004 11.2002 40.9004 23 58.5 35.3994c93.2998 -78.6992 114.3 -169.8 118.9 -207.699c1.2002 -9.5 -6.2998 -17.8008 -15.9004 -17.8008
l-32.2998 -0.0996094c-8.09961 -0.0996094 -14.9004 5.90039 -16 13.9004c-0.599609 4.89941 -1.90039 11.1992 -3.5 18.0996h-312.3c-1.60059 -7 -2.7002 -13.2002 -3.40039 -18.0996c-1.09961 -8 -7.89941 -13.9004 -16 -13.9004l-32.2998 0.0996094
c-9.59961 0 -17 8.30078 -15.9004 17.8008zM224 228.4c25.0996 13.5996 46.4004 28.3994 64.2002 43.5996h-128.5c17.8994 -15.2002 39.2002 -29.9004 64.2998 -43.5996zM355.1 352h-262.1c5.7002 -10.4004 12.7002 -21.0996 21 -32h220.1
c8.2002 10.9004 15.2002 21.5996 21 32zM92.9004 32h261.6c-5.7998 10.4004 -12.9004 21.0996 -21.2002 32h-219.399c-8.2002 -10.9004 -15.2002 -21.5996 -21 -32z" />
    <glyph glyph-name="dolly" unicode="&#xf472;" horiz-adv-x="576" 
d="M294.2 170.3l-53 159.4c-2.7998 8.2998 1.7002 17.3994 10.0996 20.2002l61.6006 20.5l33.0996 -99.4004l60.7002 20.0996l-33.1006 99.4004l61.1006 20.4004c8.2998 2.7998 17.3994 -1.7002 20.2002 -10.1006l60.3994 -181.2
c2.7998 -8.2998 -1.7002 -17.3994 -10.0996 -20.1992l-161.5 -53.8008c-14.7998 11.3008 -31.5 19.7002 -49.5 24.7002zM575.2 121.6c2.7998 -8.39941 -1.7998 -17.3994 -10.1006 -20.1992l-213.3 -71.2002c-1.09961 -57.7998 -53.2002 -103.3 -113.399 -92.6006
c-39.4004 6.90039 -71.2002 39.8008 -77.3008 79.2002c-5.69922 36.9004 9.90039 70.1006 36 90.5l-92.1992 276.7h-88.9004c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h112c13.7998 0 26 -8.7998 30.4004 -21.9004l99.3994 -298.199
c29.9004 -0.600586 56.2998 -15 73.5 -37l213.5 71.1992c8.2998 2.80078 17.4004 -1.69922 20.2002 -10.0996zM256 -16c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48z" />
    <glyph glyph-name="dolly-flatbed" unicode="&#xf474;" horiz-adv-x="640" 
d="M208 128c-8.7998 0 -16 7.2002 -16 16v256c0 8.7998 7.2002 16 16 16h144v-128l48 32l48 -32v128h144c8.7998 0 16 -7.2002 16 -16v-256c0 -8.7998 -7.2002 -16 -16 -16h-384zM624 64c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-82.7998
c1.7002 -5 2.89941 -10.4004 2.89941 -16c0 -26.5 -21.5 -48 -48 -48s-48 21.5 -48 48c0 5.59961 1.10059 11 2.90039 16h-197.9c1.7002 -5 2.90039 -10.4004 2.90039 -16c0 -26.5 -21.5 -48 -48 -48s-48 21.5 -48 48c0 5.59961 1.09961 11 2.90039 16h-82.9004
c-8.7998 0 -16 7.2002 -16 16v368h-48c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h96c8.7998 0 16 -7.2002 16 -16v-368h496z" />
    <glyph glyph-name="file-medical" unicode="&#xf477;" horiz-adv-x="384" 
d="M377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7zM224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136z
M288 152c0 4.40039 -3.59961 8 -8 8h-56v56c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-56h-56c-4.40039 0 -8 -3.59961 -8 -8v-48c0 -4.40039 3.59961 -8 8 -8h56v-56c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v56h56
c4.40039 0 8 3.59961 8 8v48z" />
    <glyph glyph-name="file-medical-alt" unicode="&#xf478;" horiz-adv-x="448" 
d="M288 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v168h70.0996l34.8008 -69.5c2.89941 -5.90039 11.3994 -5.90039 14.2998 0l56.7998 113.7l22.0996 -44.2002h89.9004c8.7998 0 16 7.2002 16 16
s-7.2002 16 -16 16h-70.2002l-34.7002 69.5c-2.89941 5.90039 -11.3994 5.90039 -14.2998 0l-56.7998 -113.7l-19.9004 39.7998c-1.39941 2.7002 -4.19922 4.40039 -7.19922 4.40039h-140.9c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h56v232
c0 13.2998 10.7002 24 24 24h200v-136zM441 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7z" />
    <glyph glyph-name="first-aid" unicode="&#xf479;" horiz-adv-x="576" 
d="M0 368c0 26.5 21.5 48 48 48h48v-448h-48c-26.5 0 -48 21.5 -48 48v352zM128 -32v448h320v-448h-320zM192 216v-48c0 -4.40039 3.59961 -8 8 -8h56v-56c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v56h56c4.40039 0 8 3.59961 8 8v48
c0 4.40039 -3.59961 8 -8 8h-56v56c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-56h-56c-4.40039 0 -8 -3.59961 -8 -8zM528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-48v448h48z" />
    <glyph glyph-name="hospital-alt" unicode="&#xf47d;" horiz-adv-x="576" 
d="M544 352c17.7002 0 32 -14.2998 32 -32v-368c0 -8.7998 -7.2002 -16 -16 -16h-544c-8.7998 0 -16 7.2002 -16 16v368c0 17.7002 14.2998 32 32 32h128v64c0 17.7002 14.2998 32 32 32h192c17.7002 0 32 -14.2998 32 -32v-64h128zM160 12v40c0 6.59961 -5.40039 12 -12 12
h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM160 140v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM320 12v40
c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM320 140v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40
c6.59961 0 12 5.40039 12 12zM336 310v20c0 3.2998 -2.7002 6 -6 6h-26v26c0 3.2998 -2.7002 6 -6 6h-20c-3.2998 0 -6 -2.7002 -6 -6v-26h-26c-3.2998 0 -6 -2.7002 -6 -6v-20c0 -3.2998 2.7002 -6 6 -6h26v-26c0 -3.2998 2.7002 -6 6 -6h20c3.2998 0 6 2.7002 6 6v26h26
c3.2998 0 6 2.7002 6 6zM480 12v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM480 140v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40
c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12z" />
    <glyph glyph-name="hospital-symbol" unicode="&#xf47e;" 
d="M256 448c141.4 0 256 -114.6 256 -256s-114.6 -256 -256 -256s-256 114.6 -256 256s114.6 256 256 256zM368 72v240c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-88h-96v88c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-240
c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v88h96v-88c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8z" />
    <glyph glyph-name="id-card-alt" unicode="&#xf47f;" horiz-adv-x="576" 
d="M528 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h144v-96h192v96h144zM288 224c-35.2998 0 -64 -28.7002 -64 -64s28.7002 -64 64 -64s64 28.7002 64 64s-28.7002 64 -64 64zM381.3 0
c10.4004 0 18.7998 10 15.6006 19.7998c-8.40039 25.7002 -32.5 44.2002 -60.9004 44.2002h-8.2002c-12.2002 -5.09961 -25.7002 -8 -39.7998 -8s-27.5 2.90039 -39.7998 8h-8.2002c-28.5 0 -52.5996 -18.5996 -60.9004 -44.2002
c-3.19922 -9.7998 5.2002 -19.7998 15.6006 -19.7998h186.6zM352 416v-96h-128v96c0 17.7002 14.2998 32 32 32h64c17.7002 0 32 -14.2998 32 -32z" />
    <glyph glyph-name="notes-medical" unicode="&#xf481;" horiz-adv-x="384" 
d="M336 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h80c0 35.2998 28.7002 64 64 64s64 -28.7002 64 -64h80zM192 408c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24
s-10.7002 24 -24 24zM288 104v48c0 4.40039 -3.59961 8 -8 8h-56v56c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-56h-56c-4.40039 0 -8 -3.59961 -8 -8v-48c0 -4.40039 3.59961 -8 8 -8h56v-56c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8
v56h56c4.40039 0 8 3.59961 8 8zM288 296v16c0 4.40039 -3.59961 8 -8 8h-176c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h176c4.40039 0 8 3.59961 8 8z" />
    <glyph glyph-name="pallet" unicode="&#xf482;" horiz-adv-x="640" 
d="M144 192c-8.7998 0 -16 7.2002 -16 16v224c0 8.7998 7.2002 16 16 16h112v-128l64 32l64 -32v128h112c8.7998 0 16 -7.2002 16 -16v-224c0 -8.7998 -7.2002 -16 -16 -16h-352zM624 64h-48v-64h48c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-608
c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h48v64h-48c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h608c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16zM288 0v64h-160v-64h160zM512 0v64h-160v-64h160z" />
    <glyph glyph-name="pills" unicode="&#xf484;" horiz-adv-x="576" 
d="M112 416c61.9004 0 112 -50.0996 112 -112v-224c0 -61.9004 -50.0996 -112 -112 -112s-112 50.0996 -112 112v224c0 61.9004 50.0996 112 112 112zM160 192v112c0 26.5 -21.5 48 -48 48s-48 -21.5 -48 -48v-112h96zM299.7 221.7l210.8 -210.8
c3.5 -3.5 3.2002 -9.40039 -0.799805 -12.3008c-62.5 -45.2998 -150.101 -40.3994 -206.4 15.9004s-61.2002 143.9 -15.8994 206.4c2.89941 3.89941 8.7998 4.2998 12.2998 0.799805zM529.5 240.7c56.4004 -56.2998 61.2002 -143.8 15.9004 -206.4
c-2.90039 -3.89941 -8.80078 -4.2998 -12.3008 -0.799805l-210.8 210.8c-3.5 3.5 -3.2002 9.40039 0.799805 12.2998c62.5 45.3008 150.101 40.4004 206.4 -15.8994z" />
    <glyph glyph-name="prescription-bottle" unicode="&#xf485;" horiz-adv-x="384" 
d="M32 256v64h320v-352c0 -17.5996 -14.4004 -32 -32 -32h-256c-17.5996 0 -32 14.4004 -32 32v64h120c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-120v64h120c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-120v64h120c4.40039 0 8 3.59961 8 8v16
c0 4.40039 -3.59961 8 -8 8h-120zM360 448c13.2002 0 24 -10.7998 24 -24v-48c0 -13.2002 -10.7998 -24 -24 -24h-336c-13.2002 0 -24 10.7998 -24 24v48c0 13.2002 10.7998 24 24 24h336z" />
    <glyph glyph-name="prescription-bottle-alt" unicode="&#xf486;" horiz-adv-x="384" 
d="M360 448c13.2002 0 24 -10.7998 24 -24v-48c0 -13.2002 -10.7998 -24 -24 -24h-336c-13.2002 0 -24 10.7998 -24 24v48c0 13.2002 10.7998 24 24 24h336zM32 -32v352h320v-352c0 -17.5996 -14.4004 -32 -32 -32h-256c-17.5996 0 -32 14.4004 -32 32zM96 152v-48
c0 -4.40039 3.59961 -8 8 -8h56v-56c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v56h56c4.40039 0 8 3.59961 8 8v48c0 4.40039 -3.59961 8 -8 8h-56v56c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-56h-56c-4.40039 0 -8 -3.59961 -8 -8z
" />
    <glyph glyph-name="procedures" unicode="&#xf487;" horiz-adv-x="640" 
d="M528 224c61.9004 0 112 -50.0996 112 -112v-160c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v48h-512v-48c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v352c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-240h192
v144c0 8.7998 7.2002 16 16 16h256zM136 352c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h140.9c3.09961 0 5.7998 -1.7002 7.19922 -4.40039l19.9004 -39.7998l49.7002 99.4004c5.89941 11.7998 22.7002 11.7998 28.5996 0l27.6006 -55.2002h102.1
c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16h-121.9l-22.0996 44.2002l-49.7002 -99.4004c-5.89941 -11.7998 -22.7002 -11.7998 -28.5996 0l-27.6006 55.2002h-126.1zM160 96c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64
s-28.7002 -64 -64 -64z" />
    <glyph glyph-name="shipping-fast" unicode="&#xf48b;" horiz-adv-x="640" 
d="M624 96c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-48c0 -53 -43 -96 -96 -96s-96 43 -96 96h-128c0 -53 -43 -96 -96 -96s-96 43 -96 96v128h152c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-208c-4.40039 0 -8 3.59961 -8 8v16
c0 4.40039 3.59961 8 8 8h240c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-208c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h240c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-272c-4.40039 0 -8 3.59961 -8 8v16
c0 4.40039 3.59961 8 8 8h56v48c0 26.5 21.5 48 48 48h256c26.5 0 48 -21.5 48 -48v-48h44.0996c12.7002 0 24.9004 -5.09961 33.9004 -14.0996l99.9004 -99.9004c9 -9 14.0996 -21.2002 14.0996 -33.9004v-108.1h16zM160 -16c26.5 0 48 21.5 48 48s-21.5 48 -48 48
s-48 -21.5 -48 -48s21.5 -48 48 -48zM480 -16c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM560 192v12.0996l-99.9004 99.9004h-44.0996v-112h144z" />
    <glyph glyph-name="smoking" unicode="&#xf48d;" horiz-adv-x="640" 
d="M632 96c4.40039 0 8 -3.59961 8 -8v-144c0 -4.40039 -3.59961 -8 -8 -8h-48c-4.40039 0 -8 3.59961 -8 8v144c0 4.40039 3.59961 8 8 8h48zM553.3 360.9c54.2998 -36.4004 86.7002 -97.1006 86.7002 -162.601v-30.2998c0 -4.40039 -3.59961 -8 -8 -8h-48
c-4.40039 0 -8 3.59961 -8 8v30.2998c0 50.2002 -25.2002 96.7002 -67.4004 124c-18.3994 12 -28.5996 33.4004 -28.5996 55.4004v62.2998c0 4.40039 3.59961 8 8 8h48c4.40039 0 8 -3.59961 8 -8v-62.2998c0 -6.7998 3.59961 -13 9.2998 -16.7998zM432 96
c8.7998 0 16 -7.2002 16 -16v-128c0 -8.7998 -7.2002 -16 -16 -16h-384c-26.5 0 -48 21.5 -48 48v64c0 26.5 21.5 48 48 48h384zM400 -16v64h-176v-64h176zM487.7 306.4c35.2998 -24.7002 56.2998 -64.8008 56.2998 -108.101v-30.2998c0 -4.40039 -3.59961 -8 -8 -8h-48
c-4.40039 0 -8 3.59961 -8 8v30.2998c0 27.4004 -13.2998 52.9004 -35.7002 68.6006c-35.7002 25.0996 -60.2998 63 -60.2998 106.699v66.4004c0 4.40039 3.59961 8 8 8h48c4.40039 0 8 -3.59961 8 -8v-62.2998c0 -29 15.7998 -54.7002 39.7002 -71.2998zM536 96
c4.40039 0 8 -3.59961 8 -8v-144c0 -4.40039 -3.59961 -8 -8 -8h-48c-4.40039 0 -8 3.59961 -8 8v144c0 4.40039 3.59961 8 8 8h48z" />
    <glyph glyph-name="syringe" unicode="&#xf48e;" 
d="M201.5 273.2l64.9004 65l135.699 -135.7l-181.899 -181.9c-17.5 -17.5996 -41.5 -25.5996 -65.4004 -23l-63.5996 7.10059l-66.2998 -66.2998c-3.10059 -3.10059 -8.2002 -3.10059 -11.3008 0l-11.2998 11.2998c-3.09961 3.09961 -3.09961 8.2002 0 11.2998
l66.4004 66.4004l-7.10059 63.5996c-2.59961 24.2998 5.7002 48.0996 23 65.4004l26.4004 26.3994l55.7998 -55.8994c3.10059 -3.10059 8.2002 -3.10059 11.2998 0l11.3008 11.2998c3.09961 3.09961 3.09961 8.2002 0 11.2998l-55.8008 55.7998l45.3008 45.2998
l55.6992 -55.7998c3.10059 -3.09961 8.2002 -3.09961 11.3008 0l11.2998 11.2998c3.09961 3.10059 3.09961 8.2002 0 11.3008zM509.7 366.5c3.09961 -3.2002 3.09961 -8.2002 0 -11.4004l-11.2998 -11.2998c-3.10059 -3.09961 -8.2002 -3.09961 -11.3008 0l-28.2998 28.2998
l-45.2998 -45.2998l73.5 -73.5c3.09961 -3.09961 3.09961 -8.2002 0 -11.2998l-33.9004 -34c-3.09961 -3.09961 -8.19922 -3.09961 -11.2998 0l-17 17l-135.7 135.9l-17 17c-3.09961 3.09961 -3.09961 8.19922 0 11.2998l33.9004 33.8994
c3.09961 3.10059 8.2002 3.10059 11.2998 0l17 -17l56.6006 -56.5996l45.2998 45.2998l-28.2998 28.2998c-3.10059 3.10059 -3.10059 8.2002 0 11.3008l11.2998 11.2998c3.09961 3.09961 8.2002 3.09961 11.2998 0z" />
    <glyph glyph-name="tablets" unicode="&#xf490;" horiz-adv-x="640" 
d="M160 256c81.0996 0 147.5 -58.5 160 -134.7c0.799805 -4.7998 -3.2998 -9.2998 -8.2998 -9.2998h-303.3c-5 0 -9.10059 4.5 -8.30078 9.2998c12.4004 76.2002 78.8008 134.7 159.9 134.7zM311.6 80c5 0 9.10059 -4.5 8.30078 -9.2998
c-12.4004 -76.2002 -78.8008 -134.7 -159.9 -134.7s-147.5 58.5 -159.9 134.7c-0.799805 4.7998 3.30078 9.2998 8.30078 9.2998h303.199zM593.4 401.4c56.5 -56.5 61.3994 -144.2 15.8994 -206.9c-2.7998 -4 -8.7998 -4.2998 -12.2998 -0.799805l-211.3 211.399
c-3.5 3.40039 -3.2002 9.40039 0.799805 12.3008c62.7002 45.3994 150.4 40.5 206.9 -16zM363 382.3l211.3 -211.3c3.5 -3.40039 3.2002 -9.40039 -0.799805 -12.2998c-62.7002 -45.5 -150.4 -40.6006 -206.9 15.8994c-56.3994 56.5 -61.2998 144.2 -15.8994 206.9
c2.7998 4 8.7998 4.2998 12.2998 0.799805z" />
    <glyph glyph-name="thermometer" unicode="&#xf491;" 
d="M476.8 427.6c49.4004 -40.6992 42.1006 -107.3 7.2002 -142.199l-254.2 -253.301h-99.8994l-89 -89c-9.30078 -9.39941 -24.5 -9.39941 -33.9004 0c-9.40039 9.30078 -9.40039 24.5 0 33.9004l89 89v100.9l45.2998 45.6992l50.1006 -50.1992
c3.09961 -3.10059 8.19922 -3.10059 11.2998 0l11.2998 11.2998c3.09961 3.09961 3.09961 8.2002 0 11.2998l-50.0996 50.2002l45.0996 45.3994l50.2998 -50.1992c3.10059 -3.10059 8.2002 -3.10059 11.2998 0l11.3008 11.2998c3.09961 3.09961 3.09961 8.2002 0 11.2998
l-50.3008 50.4004l45.1006 45.3994l50.3994 -50.5c3.10059 -3.09961 8.2002 -3.09961 11.3008 0l11.2998 11.2998c3.09961 3.10059 3.09961 8.2002 0 11.3008l-50.5 50.5l45.7002 46c36.3994 36.5 94.3994 40.8994 131.899 10.1992z" />
    <glyph glyph-name="vial" unicode="&#xf492;" horiz-adv-x="480" 
d="M477.7 261.9c3.09961 -3.10059 3.09961 -8.2002 0 -11.2002l-34 -33.9004c-3.10059 -3.09961 -8.2002 -3.09961 -11.2998 0l-11.2002 11.1006l-246.3 -245.7c-20.1006 -20.1006 -46.5 -30.1006 -72.9004 -30.1006c-28.9004 -0.0996094 -57.7998 11.9004 -78.4004 35.9004
c-35.6992 41.5 -29.3994 104.8 9.40039 143.5l242.4 241.9l-11.2002 11.0996c-3.10059 3.09961 -3.10059 8.2002 0 11.2998l34 33.9004c3.09961 3.09961 8.2002 3.09961 11.2998 0zM318 192l69.5 69.4004l-78.5 78.2998l-148 -147.7h157z" />
    <glyph glyph-name="vials" unicode="&#xf493;" horiz-adv-x="640" 
d="M72 384c-4.40039 0 -8 3.59961 -8 8v48c0 4.40039 3.59961 8 8 8h208c4.40039 0 8 -3.59961 8 -8v-48c0 -4.40039 -3.59961 -8 -8 -8h-24v-240c0 -44.0996 -35.9004 -80 -80 -80s-80 35.9004 -80 80v240h-24zM144 384v-96h64v96h-64zM624 0c8.7998 0 16 -7.2002 16 -16
v-32c0 -8.7998 -7.2002 -16 -16 -16h-608c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h608zM360 384c-4.40039 0 -8 3.59961 -8 8v48c0 4.40039 3.59961 8 8 8h208c4.40039 0 8 -3.59961 8 -8v-48c0 -4.40039 -3.59961 -8 -8 -8h-24v-240
c0 -44.0996 -35.9004 -80 -80 -80s-80 35.9004 -80 80v240h-24zM432 384v-96h64v96h-64z" />
    <glyph glyph-name="warehouse" unicode="&#xf494;" horiz-adv-x="640" 
d="M504 96c4.40039 0 8 -3.59961 8 -8v-48c0 -4.40039 -3.59961 -8 -8 -8h-367.7c-4.39941 0 -8 3.59961 -8 8l0.100586 48c0 4.40039 3.59961 8 8 8h367.6zM504 0c4.40039 0 8 -3.59961 8 -8v-48c0 -4.40039 -3.59961 -8 -8 -8h-368c-4.40039 0 -8 3.59961 -8 8
l0.0996094 48c0 4.40039 3.60059 8 8 8h367.9zM504 192c4.40039 0 8 -3.59961 8 -8v-48c0 -4.40039 -3.59961 -8 -8 -8h-367.5c-4.40039 0 -8 3.59961 -8 8l0.0996094 48c0 4.40039 3.60059 8 8 8h367.4zM610.5 331c17.7998 -7.5 29.5 -24.9004 29.5 -44.2998v-342.7
c0 -4.40039 -3.59961 -8 -8 -8h-80c-4.40039 0 -8 3.59961 -8 8v248c0 17.5996 -14.5996 32 -32.5996 32h-382.801c-18 0 -32.5996 -14.4004 -32.5996 -32v-248c0 -4.40039 -3.59961 -8 -8 -8h-80c-4.40039 0 -8 3.59961 -8 8v342.7c0 19.3994 11.7002 36.7998 29.5 44.2998
l272 113.3c5.6748 2.35449 11.959 3.6543 18.4814 3.6543s12.7432 -1.2998 18.4189 -3.6543z" />
    <glyph glyph-name="weight" unicode="&#xf496;" 
d="M448 384c35.29 0 64 -28.71 64 -64v-320c0 -35.29 -28.71 -64 -64 -64h-384c-35.29 0 -64 28.71 -64 64v320c0 35.29 28.71 64 64 64h25.9805c-16.4209 -28.2803 -25.9805 -61.0098 -25.9805 -96c0 -105.87 86.1299 -192 192 -192s192 86.1299 192 192
c0 34.9902 -9.55957 67.7197 -25.9805 96h25.9805zM256 128c-88.3701 0 -160 71.6299 -160 160s71.6299 160 160 160s160 -71.6299 160 -160s-71.6299 -160 -160 -160zM255.7 279.94c-21.9404 -0.170898 -39.7002 -17.96 -39.7002 -39.9404c0 -22.0898 17.9102 -40 40 -40
s40 17.9102 40 40c0 10.5498 -4.26953 20 -10.9502 27.1602l33.6699 78.5498c3.4707 8.11035 -0.290039 17.5205 -8.41016 21c-8.08984 3.50977 -17.5293 -0.240234 -21.0293 -8.41016z" />
    <glyph glyph-name="x-ray" unicode="&#xf497;" horiz-adv-x="640" 
d="M240 64c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16s-16 7.2002 -16 16s7.2002 16 16 16zM400 32c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16s16 -7.2002 16 -16s-7.2002 -16 -16 -16zM624 448c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16
h-608c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h608zM624 0c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-608c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h48v352h512v-352h48zM480 200v16c0 4.40039 -3.59961 8 -8 8
h-136v32h104c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-104v24c0 4.40039 -3.59961 8 -8 8h-16c-4.40039 0 -8 -3.59961 -8 -8v-24h-104c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h104v-32h-136c-4.40039 0 -8 -3.59961 -8 -8v-16
c0 -4.40039 3.59961 -8 8 -8h136v-32h-104c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h104v-32h-64c-26.5 0 -48 -21.5 -48 -48s21.5 -48 48 -48s48 21.5 48 48v16h64v-16c0 -26.5 21.5 -48 48 -48s48 21.5 48 48s-21.5 48 -48 48h-64v32h104
c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-104v32h136c4.40039 0 8 3.59961 8 8z" />
    <glyph glyph-name="box-open" unicode="&#xf49e;" horiz-adv-x="640" 
d="M425.7 192c4.5 0 9 0.599609 13.2998 1.90039l137 39.0996v-178c0 -14.5996 -10 -27.4004 -24.2002 -31l-216.399 -54.0996c-10.1006 -2.5 -20.8008 -2.5 -31 0l-216.2 54.0996c-14.2002 3.5 -24.2002 16.2998 -24.2002 31v178l137 -39.2002
c4.2998 -1.2998 8.7998 -1.89941 13.2998 -1.89941c16.9004 0 32.7998 9 41.5 23.5l64.2002 106.6l64.2998 -106.6c8.60059 -14.4004 24.5 -23.4004 41.4004 -23.4004zM638.3 304.2c4.5 -9.2002 -0.299805 -20.2002 -10.2002 -23.1006l-197.899 -56.5
c-7.10059 -2 -14.7002 1 -18.5 7.30078l-91.7002 152.1l250.1 31.9004c6.90039 0.899414 13.6006 -2.7002 16.7002 -8.90039zM53.2002 407c3.09961 6.2002 9.7002 9.7002 16.5996 8.90039l250.2 -31.9004l-91.7998 -152c-3.7998 -6.2998 -11.4004 -9.2998 -18.5 -7.2998
l-197.9 56.5c-9.7998 2.7998 -14.7002 13.7998 -10.0996 23z" />
    <glyph glyph-name="comment-dots" unicode="&#xf4ad;" 
d="M256 416c141.4 0 256 -93.0996 256 -208s-114.6 -208 -256 -208c-38.4004 0 -74.7002 7.09961 -107.4 19.4004c-24.5996 -19.6006 -74.2998 -51.4004 -140.6 -51.4004c-3.2002 0 -6 1.7998 -7.2998 4.7998s-0.700195 6.40039 1.5 8.7002
c0.5 0.5 42.2998 45.4004 54.7998 95.7998c-35.5996 35.7002 -57 81.1006 -57 130.7c0 114.9 114.6 208 256 208zM128 176c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM256 176c17.7002 0 32 14.2998 32 32
s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM384 176c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
    <glyph glyph-name="comment-slash" unicode="&#xf4b3;" horiz-adv-x="640" 
d="M64 208c0 18.5996 3.2998 36.5 8.90039 53.5996l325.5 -251.6c-24.7002 -6.40039 -51 -10 -78.4004 -10c-38.4004 0 -74.7002 7.09961 -107.4 19.4004c-24.5996 -19.6006 -74.2998 -51.4004 -140.6 -51.4004c-3.2002 0 -6 1.90039 -7.2998 4.7998
c-1.2998 3 -0.700195 6.40039 1.5 8.7002c0.5 0.599609 42.2002 45.5 54.7998 95.7998c-35.5996 35.7002 -57 81.1006 -57 130.7zM633.8 -10.0996c7 -5.40039 8.2998 -15.5 2.90039 -22.3008l-19.6006 -25.2998c-5.5 -7 -15.5 -8.2002 -22.5 -2.7998l-588.399 454.7
c-7 5.39941 -8.2002 15.3994 -2.7998 22.3994l19.5996 25.2002c5.5 7 15.5 8.2002 22.5 2.7998l105.1 -81.2998c45.2002 32.6006 104.301 52.7002 169.4 52.7002c141.4 0 256 -93.0996 256 -208c0 -49.2002 -21.4004 -94.0996 -56.5996 -129.7z" />
    <glyph glyph-name="couch" unicode="&#xf4b8;" horiz-adv-x="640" 
d="M160 224c0 35.2998 -28.7002 64 -64 64h-32c0 53 43 96 96 96h320c53 0 96 -43 96 -96h-32c-35.2998 0 -64 -28.7002 -64 -64v-64h-320v64zM576 256c35.2998 0 64 -28.7002 64 -64c0 -23.5996 -13 -44 -32 -55.0996v-120.9c0 -8.7998 -7.2002 -16 -16 -16h-64
c-8.7998 0 -16 7.2002 -16 16v16h-384v-16c0 -8.7998 -7.2002 -16 -16 -16h-64c-8.7998 0 -16 7.2002 -16 16v120.9c-19 11.0996 -32 31.5 -32 55.0996c0 35.2998 28.7002 64 64 64h32c17.7002 0 32 -14.2998 32 -32v-96h384v96c0 17.7002 14.2998 32 32 32h32z" />
    <glyph glyph-name="donate" unicode="&#xf4b9;" 
d="M256 32c-114.9 0 -208 93.0996 -208 208s93.0996 208 208 208s208 -93.0996 208 -208s-93.0996 -208 -208 -208zM233.8 350.6c-32.7002 -0.899414 -59 -28.3994 -59.0996 -62.3994c0 -27.7002 18 -52.4004 43.7002 -60.1006l62.2998 -18.6992
c7.09961 -2.10059 12.0996 -9.40039 12.0996 -17.6006c0 -10.0996 -7.2998 -18.2998 -16.2998 -18.2998h-38.9004c-6.39941 0 -12.3994 1.7002 -17.7998 5.09961c-4.5 2.80078 -10.2002 2.7002 -14 -1l-16.2998 -15.5c-5 -4.7998 -4.40039 -13 1.2002 -17.0996
c12.5 -9.2998 27.5 -14.5996 43 -15.4004v-17c0 -9.19922 7.39941 -16.5996 16.5996 -16.5996h11.1006c9.19922 0 16.5996 7.40039 16.5996 16.5996v16.8008c32.7002 0.899414 59.0996 28.3994 59.0996 62.3994c0 27.7002 -18 52.4004 -43.6992 60.1006l-62.3008 18.6992
c-7.09961 2.10059 -12.0996 9.40039 -12.0996 17.6006c0 10.0996 7.2998 18.2998 16.2998 18.2998h38.9004c6.39941 0 12.3994 -1.7002 17.7998 -5.09961c4.5 -2.80078 10.2002 -2.7002 14 1l16.2998 15.5c5 4.7998 4.40039 13 -1.2002 17.0996
c-12.5 9.2998 -27.5 14.5996 -43 15.4004v17c0 9.19922 -7.39941 16.5996 -16.5996 16.5996h-11.0996c-9.2002 0 -16.6006 -7.40039 -16.6006 -16.5996v-16.8008zM480 96c17.7002 0 32 -14.2998 32 -32v-96c0 -17.7002 -14.2998 -32 -32 -32h-448
c-17.7002 0 -32 14.2998 -32 32v96c0 17.7002 14.2998 32 32 32h32.4004c19.6992 -26 44.5996 -47.7002 73 -64h-63.8008c-5.2998 0 -9.59961 -3.59961 -9.59961 -8v-16c0 -4.40039 4.2998 -8 9.59961 -8h364.7c5.2998 0 9.60059 3.59961 9.60059 8v16
c0 4.40039 -4.30078 8 -9.60059 8h-63.7998c28.4004 16.2998 53.4004 38 73 64h32.5z" />
    <glyph glyph-name="dove" unicode="&#xf4ba;" 
d="M288 280.8c-50.7998 10.5 -96.5996 36.7998 -130.8 75.1006c11.2002 32.3994 27.7998 61.5996 48.8994 86.5c8.80078 10.5 25.7002 5.19922 27.8008 -8.30078c7 -45.8994 25.8994 -88.8994 54.0996 -125.199v-28.1006zM400 384h112l-32 -64v-160.1
c0 -88.4004 -71.5996 -159.9 -160 -159.9h-76.9004l-65.1992 -56.0996c-6.10059 -5.30078 -14.1006 -8.2002 -22.1006 -7.90039c-92.7998 3.7998 -135.8 49.4004 -153.2 76.2998c-6 9.2998 -1.19922 21.7002 9.5 24.4004l143.9 36
c-12.7998 9.59961 -25.7002 20.0996 -38.9004 32.7998c-51 49 -85.0996 115.1 -85.0996 185.9c0 41.3994 9.40039 80.5996 26 115.699c5.7998 12.3008 23.5 11.6006 29 -0.899414c40 -91.2002 128.6 -155.5 233 -161.7v59.4004c0 44.1992 35.7998 80.0996 80 80.0996z
M400 287.9c8.7998 0 16 7.19922 16 16c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.80078 7.2002 -16 16 -16z" />
    <glyph glyph-name="hand-holding" unicode="&#xf4bd;" horiz-adv-x="576" 
d="M565.3 119.9c15.1006 -13.6006 13.9004 -36.8008 -1.2998 -48.9004l-151.2 -121c-11.3994 -9.09961 -25.5 -14 -40 -14h-356.8c-8.7998 0 -16 7.2002 -16 16v96c0 8.7998 7.2002 16 16 16h55.4004l46.5 37.7002c21 17 47.0996 26.2998 74.0996 26.2998h160
c19.5 0 34.9004 -17.4004 31.5996 -37.4004c-2.59961 -15.6992 -17.3994 -26.5996 -33.2998 -26.5996h-78.2998c-8.7998 0 -16 -7.2002 -16 -16s7.2002 -16 16 -16h118.3c14.6006 0 28.7002 4.90039 40 14l92.4004 73.9004c12.3994 10 30.7998 10.6992 42.5996 0z" />
    <glyph glyph-name="hand-holding-heart" unicode="&#xf4be;" horiz-adv-x="576" 
d="M275.3 197.5l-108.899 114.2c-31.6006 33.2002 -29.7002 88.2002 5.59961 118.8c30.7998 26.7002 76.7002 21.9004 104.9 -7.7998l11.0996 -11.6006l11.2002 11.7002c28.2002 29.6006 74.0996 34.4004 104.899 7.7002c35.4004 -30.5996 37.2002 -85.5996 5.60059 -118.8
l-108.9 -114.2c-7.09961 -7.40039 -18.5 -7.40039 -25.5 0zM565.3 119.9c15.1006 -13.6006 13.9004 -36.8008 -1.2998 -48.9004l-151.2 -121c-11.3994 -9.09961 -25.5 -14 -40 -14h-356.8c-8.7998 0 -16 7.2002 -16 16v96c0 8.7998 7.2002 16 16 16h55.4004l46.5 37.7002
c21 17 47.0996 26.2998 74.0996 26.2998h160c19.5 0 34.9004 -17.4004 31.5996 -37.4004c-2.59961 -15.6992 -17.3994 -26.5996 -33.2998 -26.5996h-78.2998c-8.7998 0 -16 -7.2002 -16 -16s7.2002 -16 16 -16h118.3c14.6006 0 28.7002 4.90039 40 14l92.4004 73.9004
c12.3994 10 30.7998 10.6992 42.5996 0z" />
    <glyph glyph-name="hand-holding-usd" unicode="&#xf4c0;" horiz-adv-x="576" 
d="M271.06 303.7c-24.0596 6.39941 -43.4297 24.7002 -46.5693 47.7002c-4.33984 32 20.6201 59.3994 53.5098 63v17.5996c0 8.7998 7.82031 16 17.3701 16h17.3701c9.5498 0 17.3701 -7.2002 17.3701 -16v-17.7197c12.457 -1.28516 24.2842 -5.35938 34.5195 -11.5
c3.32227 -2.00098 5.52734 -5.64746 5.52734 -9.80469c0 -2.18945 -0.617188 -4.23633 -1.6875 -5.97559c-0.592773 -0.978516 -1.31836 -1.8457 -2.16992 -2.59961l-19 -17.5c-4.01953 -3.7002 -10.0693 -4.2002 -15.2998 -2
c-3.46289 1.4043 -7.2666 2.19336 -11.2305 2.19922h-35.5996c-5.03027 0 -9.12012 -3.7998 -9.12012 -8.39941c0.12207 -3.94727 2.91699 -7.23145 6.62988 -8.10059l54.2705 -14.2998c24.0996 -6.39941 43.4102 -24.7002 46.5596 -47.7002
c4.33984 -32 -20.5693 -59.3994 -53.5 -63v-17.5996c0 -8.7998 -7.83008 -16 -17.3799 -16h-17.3701c-9.54004 0 -17.3701 7.2002 -17.3701 16v17.7002c-12.4541 1.28516 -24.2773 5.35938 -34.5098 11.5c-3.33008 1.99609 -5.54199 5.64551 -5.54199 9.80762
c0 2.17188 0.607422 4.20312 1.66211 5.93262c0.617188 1.00098 1.36914 1.88867 2.25 2.65918l19 17.5c4.01953 3.7002 10.0596 4.2002 15.2998 2c3.45117 -1.39941 7.24121 -2.18848 11.1904 -2.19922h35.5996c5.03027 0 9.12012 3.7998 9.12012 8.39941
c-0.121094 3.94727 -2.91602 7.23145 -6.62988 8.10059zM565.27 119.9c6.5918 -5.86328 10.7656 -14.3916 10.7656 -23.8984c0 -10.1123 -4.70117 -19.1357 -12.0352 -25.002l-151.23 -121c-10.9443 -8.74512 -24.8633 -14 -39.9482 -14h-0.0517578h-356.77
c-8.83105 0 -16 7.16895 -16 16v96c0 8.83105 7.16895 16 16 16h55.4004l46.5 37.71c20.2197 16.4053 46.0596 26.2822 74.0996 26.29h160c17.6406 0 31.9668 -14.3066 32 -31.9404c0 -0.0410156 0.000976562 -0.0507812 0.000976562 -0.0917969
c0 -1.83008 -0.158203 -3.62402 -0.460938 -5.36816c-2.54004 -15.6992 -17.3496 -26.5996 -33.25 -26.5996h-78.29c-8.83105 0 -16 -7.16895 -16 -16s7.16895 -16 16 -16h118.27c0.0605469 0 0.161133 0.0234375 0.22168 0.0234375
c15.0459 0 28.8799 5.23242 39.7783 13.9766l92.4004 73.9004c12.4004 10 30.7998 10.6992 42.5996 0z" />
    <glyph glyph-name="hand-holding-water" unicode="&#xf4c1;" horiz-adv-x="576" 
d="M288 192c-53 0 -96 42.0996 -96 94c0 40 57.0996 120.7 83.2002 155.6c6.39941 8.5 19.2002 8.5 25.5996 0c26.1006 -34.8994 83.2002 -115.6 83.2002 -155.6c0 -51.9004 -43 -94 -96 -94zM565.3 119.9c15.1006 -13.6006 13.9004 -36.8008 -1.2998 -48.9004l-151.2 -121
c-11.3994 -9.09961 -25.5 -14 -40 -14h-356.8c-8.7998 0 -16 7.2002 -16 16v96c0 8.7998 7.2002 16 16 16h55.4004l46.5 37.7002c21 17 47.0996 26.2998 74.0996 26.2998h160c19.5 0 34.9004 -17.4004 31.5996 -37.4004
c-2.59961 -15.6992 -17.3994 -26.5996 -33.2998 -26.5996h-78.2998c-8.7998 0 -16 -7.2002 -16 -16s7.2002 -16 16 -16h118.3c14.6006 0 28.7002 4.90039 40 14l92.4004 73.9004c12.3994 10 30.7998 10.6992 42.5996 0z" />
    <glyph glyph-name="hands" unicode="&#xf4c2;" horiz-adv-x="640" 
d="M204.8 217.6l57.6006 -76.7998c16.5996 -22.2002 25.5996 -49.0996 25.5996 -76.7998v-112c0 -8.7998 -7.2002 -16 -16 -16h-131.7c-7.2002 0 -13.5 4.7002 -15.2998 11.5996c-2 7.80078 -5.40039 15.2002 -10.4004 21.7002l-104.1 134.3
c-6.7998 8.5 -10.5 19.1006 -10.5 30v218.4c0 17.7002 14.2998 32 32 32s32 -14.2998 32 -32v-148.4l89.7998 -107.8c6 -7.2998 16.9004 -7.7998 23.6006 -1.09961l12.7998 12.7998c5.59961 5.59961 6.2998 14.5 1.5 20.9004l-38.1006 50.7998
c-10.5996 14.0996 -7.69922 34.2002 6.40039 44.7998s34.2002 7.7002 44.7998 -6.40039zM608 384c17.7002 0 32 -14.2998 32 -32v-218.4c0 -10.8994 -3.7002 -21.5 -10.5 -30l-104.1 -134.3c-5 -6.5 -8.40039 -13.8994 -10.4004 -21.7002
c-1.7998 -6.89941 -8.2002 -11.5996 -15.2998 -11.5996h-131.7c-8.7998 0 -16 7.2002 -16 16v112c0 27.7002 9 54.5996 25.5996 76.7998l57.6006 76.7998c10.5996 14.1006 30.7002 17 44.7998 6.40039s17 -30.7002 6.40039 -44.7998l-38.1006 -50.7998
c-4.7998 -6.40039 -4.09961 -15.3008 1.5 -20.9004l12.7998 -12.7998c6.60059 -6.60059 17.6006 -6.10059 23.6006 1.09961l89.7998 107.8v148.4c0 17.7002 14.2998 32 32 32z" />
    <glyph glyph-name="hands-helping" unicode="&#xf4c4;" horiz-adv-x="640" 
d="M488 256c13.2998 0 24 -10.7002 24 -24v-48c0 -13.2998 -10.7002 -24 -24 -24h-8v-64c0 -17.7002 -14.2998 -32 -32 -32h-16c0 -35.2998 -28.7002 -64 -64 -64h-136.6l-103.4 -59.7002c-15.2998 -8.7998 -34.9004 -3.59961 -43.7002 11.7002l-80 138.6
c-8.89941 15.3008 -3.59961 34.9004 11.7002 43.7002l80 46.2002v47.2998c0 22.4004 11.7998 43.2998 31.0996 54.7998l64.9004 39v-121.6c0 -39.7002 32.2998 -72 72 -72s72 32.2998 72 72v56h152zM635.7 293.4c8.7998 -15.3008 3.59961 -34.8008 -11.7002 -43.7002
l-80 -46.2002v28.5c0 30.9004 -25.0996 56 -56 56h-184v-88c0 -22.0996 -17.9004 -40 -40 -40s-40 17.9004 -40 40v126.3c0 11 5.59961 21.2998 15 27.1006l33.5 20.8994c10.2002 6.2998 21.9004 9.7002 33.9004 9.7002h102.199l103.4 59.7002
c15.2998 8.7998 34.9004 3.59961 43.7002 -11.7002z" />
    <glyph glyph-name="parachute-box" unicode="&#xf4cd;" 
d="M511.9 273c1.09961 -9.2002 -6.80078 -17 -16.1006 -17h-8.7002l-136.8 -151.9c0.700195 -2.69922 1.60059 -5.19922 1.60059 -8.09961v-128c0 -17.7002 -14.3008 -32 -32 -32h-128c-17.7002 0 -32 14.2998 -32 32v128c0 2.90039 0.899414 5.5 1.59961 8.09961
l-136.7 151.9h-8.7002c-9.19922 0 -17.0996 7.90039 -16 17c9.10059 75.5 78.4004 132.3 158.301 158.7c-36.4004 -39.4004 -62.4004 -100.601 -62.4004 -175.7h-28.0996l116.6 -129.5c2.5 0.599609 4.7998 1.5 7.5 1.5h48v128h-112c0 115.2 68.9004 192 128 192
s128 -76.7998 128 -192h-112v-128h48c2.7002 0 5 -0.900391 7.5 -1.5l116.6 129.5h-28.0996c0 75.0996 -26 136.3 -62.4004 175.7c79.9004 -26.2998 149.2 -83.1006 158.301 -158.7z" />
    <glyph glyph-name="people-carry" unicode="&#xf4ce;" horiz-adv-x="640" 
d="M128 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM512 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM637.7 -20.0996c6.59961 -16.4004 -1.40039 -35 -17.7998 -41.6006
c-3.90039 -1.59961 -7.90039 -2.2998 -11.9004 -2.2998c-12.7002 0 -24.7002 7.59961 -29.7002 20.0996l-27.7002 69.2002l2 18.2002l41.1006 46.4004zM603.5 189.7c4.59961 -20 -0.799805 -41.2002 -14.4004 -56.7002l-67.1992 -75.9004l-10.1006 -92.5996
c-1.7998 -16.4004 -15.7002 -28.5 -31.7998 -28.5c-1.2002 0 -2.2998 0.0996094 -3.5 0.200195c-17.5 1.89941 -30.2002 17.7002 -28.2998 35.2998l10.0996 92.7998c1.5 13 6.90039 25.1006 15.6006 35l43.2998 49l-17.6006 70.2998l-6.7998 -20.3994
c-4.09961 -12.6006 -11.8994 -23.4004 -24.5 -32.6006l-51.0996 -32.5c-4.60059 -2.89941 -12.1006 -4.59961 -17.2002 -5h-160c-5.09961 0.400391 -12.5996 2.10059 -17.2002 5l-51.0996 32.5c-12.6006 9.2002 -20.4004 20.1006 -24.5 32.6006l-6.7998 20.3994
l-17.6006 -70.2998l43.2998 -49c8.7002 -9.89941 14.1006 -22 15.6006 -35l10.0996 -92.7998c1.90039 -17.5996 -10.7002 -33.4004 -28.2998 -35.2998c-1.2002 -0.100586 -2.2998 -0.200195 -3.5 -0.200195c-16.2002 0 -30 12.2002 -31.7998 28.5l-10.1006 92.5996
l-67.1992 75.9004c-13.7002 15.5 -19 36.7002 -14.4004 56.7002l18.4004 80.2002c4.59961 20 18.5996 36.7998 37.5 44.8994c18.5 8 38.8994 6.7002 56.0996 -3.2998c22.7002 -13.4004 39.7998 -34.4004 48.0996 -59.4004l11.3008 -33.8994l16.0996 -10.2002v96
c0 8.7998 7.2002 16 16 16h160c8.7998 0 16 -7.2002 16 -16v-96l16 10.2002l11.2998 33.8994c8.40039 24.9004 25.4004 46 48.1006 59.4004c17.0996 10 37.5996 11.2998 56.0996 3.2998c18.9004 -8.09961 32.9004 -24.8994 37.5 -44.8994zM46.2998 89.9004l41.1006 -46.4004
l2 -18.2002l-27.7002 -69.2002c-6.5 -16.0996 -24.7998 -24.3994 -41.6006 -17.7998c-16.3994 6.60059 -24.3994 25.2002 -17.7998 41.6006z" />
    <glyph glyph-name="piggy-bank" unicode="&#xf4d3;" horiz-adv-x="576" 
d="M560 224c8.7998 0 16 -7.2002 16 -16v-128c0 -8.7998 -7.2002 -16 -16 -16h-48.7002c-9 -11.9004 -19.5 -22.4004 -31.2998 -31.2998v-80.7002c0 -8.7998 -7.2002 -16 -16 -16h-64c-8.7998 0 -16 7.2002 -16 16v48h-128v-48c0 -8.7998 -7.2002 -16 -16 -16h-64
c-8.7998 0 -16 7.2002 -16 16v80.7002c-38.5996 29.2002 -64 75.0996 -64 127.3h-40c-33.2998 0 -59.9004 29.2002 -55.5 63.4004c3.59961 28.1992 29 48.5996 57.5 48.5996c3.2998 0 6 -2.7002 6 -6v-20c0 -3.2998 -2.7002 -6 -6 -6h-1
c-11.5996 0 -22.2998 -7.7998 -24.5 -19.2002c-3 -15.2998 8.7002 -28.7998 23.5 -28.7998h43.2002c14.8994 73 79.3994 128 156.8 128h128c7.90039 0 15.4004 -1.2002 23 -2.2998c17.5996 20.7998 43.5996 34.2998 73 34.2998h32l-18.9004 -75.5
c15.8008 -14.7998 28.6006 -32.5 37.4004 -52.5h29.5zM432 160c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM256 352c-16.4004 0 -32.2002 -2.2998 -47.4004 -6.2002c-0.0996094 2.10059 -0.599609 4.10059 -0.599609 6.2002
c0 53 43 96 96 96s96 -43 96 -96c0 -0.299805 -0.0996094 -0.5 -0.0996094 -0.799805c-5.2002 0.399414 -10.5 0.799805 -15.9004 0.799805h-128z" />
    <glyph glyph-name="ribbon" unicode="&#xf4d6;" horiz-adv-x="448" 
d="M6.09961 3.7002l117.2 130l79.2002 -87.9004l-91.7998 -101.899c-8 -8.80078 -21.4004 -10.5 -31.2998 -3.80078l-68.8008 27.9004c-12 8.09961 -14.0996 24.9004 -4.5 35.7002zM441.9 3.7002c9.69922 -10.7998 7.59961 -27.6006 -4.30078 -35.6006l-68.7998 -27.8994
c-9.89941 -6.7002 -23.2998 -5.10059 -31.2998 3.7998l-248.1 275.3c-48.6006 53.7998 -13 113.5 -11.5 116l43.5996 73.2002c4.2998 7.2002 9.90039 13.2998 16.7998 18c44 29.7002 130.7 27.5996 171.4 0c6.89941 -4.7002 12.5 -10.7998 16.7998 -18l43.7002 -73.5
c21.8994 -36.9004 17.2998 -83.5996 -11.4004 -115.5l-34.2002 -38l-79.0996 87.7002s52.7002 59 56 64.5996c-15.4004 8.40039 -40.2002 17.9004 -77.5 17.9004s-62.0996 -9.5 -77.5 -17.9004c3.40039 -5.5 295.4 -330.1 295.4 -330.1z" />
    <glyph glyph-name="route" unicode="&#xf4d7;" 
d="M416 128c52.9004 0 96 -43.0996 96 -96s-43.0996 -96 -96 -96h-277.8c13.5 16.2998 31.2998 39.2002 47.2998 64h230.5c17.5996 0 32 14.4004 32 32s-14.4004 32 -32 32h-96c-52.9004 0 -96 43.0996 -96 96s43.0996 96 96 96h45.2998
c-23.0996 32.5996 -45.2998 70.5 -45.2998 96c0 53 43 96 96 96s96 -43 96 -96s-96 -160 -96 -160h-96c-17.5996 0 -32 -14.4004 -32 -32s14.4004 -32 32 -32h96zM416 384c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM96 192
c53 0 96 -43 96 -96s-96 -160 -96 -160s-96 107 -96 160s43 96 96 96zM96 64c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
    <glyph glyph-name="seedling" unicode="&#xf4d8;" 
d="M64 352c123.7 0 224 -100.3 224 -224v-144c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v144c-123.7 0 -224 100.3 -224 224h64zM448 416h64c0 -115.9 -88 -211.1 -200.7 -222.8c-10.7998 40.7002 -31.2998 77.3994 -59 107.6
c38.2998 68.7002 111.5 115.2 195.7 115.2z" />
    <glyph glyph-name="sign" unicode="&#xf4d9;" 
d="M496 384c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-368v-368c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v368h-48c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h48v48c0 8.7998 7.2002 16 16 16h32
c8.7998 0 16 -7.2002 16 -16v-48h368zM160 64v224h320v-224h-320z" />
    <glyph glyph-name="smile-wink" unicode="&#xf4da;" horiz-adv-x="496" 
d="M0 192c0 137 111 248 248 248s248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248zM200 240c0 17.7002 -14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32zM358.5 223.5l9.7002 -8.5c8.39941 -7.5 21.5 -0.299805 19.7998 10.7998
c-4 25.2002 -34.2002 42.1006 -59.9004 42.1006c-25.6992 0 -55.8994 -16.9004 -59.8994 -42.1006c-1.7998 -11.2002 11.5 -18.2002 19.7998 -10.7998l9.5 8.5c14.7998 13.2002 46.2002 13.2002 61 0zM157.8 122.2c-13.3994 16.2998 -38.0996 -4.10059 -24.5996 -20.4004
c28.5 -34.2002 70.2998 -53.7998 114.8 -53.7998s86.2998 19.5996 114.8 53.7002c13.5 16.2998 -11 36.7002 -24.5996 20.5c-22.4004 -26.7998 -55.2002 -42.2002 -90.2002 -42.2002s-67.7998 15.2998 -90.2002 42.2002z" />
    <glyph glyph-name="tape" unicode="&#xf4db;" horiz-adv-x="640" 
d="M224 256c35.2998 0 64 -28.7002 64 -64s-28.7002 -64 -64 -64s-64 28.7002 -64 64s28.7002 64 64 64zM624 32c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-400c-123.7 0 -224 100.3 -224 224s100.3 224 224 224s224 -100.3 224 -224
c0 -62.7002 -25.9004 -119.3 -67.4004 -160h243.4zM224 96c53 0 96 43 96 96s-43 96 -96 96s-96 -43 -96 -96s43 -96 96 -96z" />
    <glyph glyph-name="truck-loading" unicode="&#xf4de;" horiz-adv-x="640" 
d="M50.2002 72.4004l-49.6006 185.5c-2.2998 8.5 2.80078 17.2998 11.3008 19.5996l77.2998 20.7002l24.7998 -92.7002l61.7998 16.5l-24.7998 92.7002l77.2002 20.7998c8.5 2.2998 17.2998 -2.7998 19.5996 -11.2998l49.7002 -185.5
c2.2998 -8.5 -2.7998 -17.2998 -11.2998 -19.6006l-216.4 -58c-8.5 -2.2998 -17.2998 2.80078 -19.5996 11.3008zM384 448h256v-400c0 -61.9004 -50.0996 -112 -112 -112c-60.4004 0 -109.2 47.9004 -111.6 107.7l-393.7 -107.4
c-4.2002 -1.2002 -8.60059 1.2998 -9.7998 5.60059l-12.6006 46.2998c-1.2002 4.2002 1.2998 8.59961 5.60059 9.7998l346.1 94.4004v323.6c0 17.7002 14.2998 32 32 32zM528 0c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48z" />
    <glyph glyph-name="truck-moving" unicode="&#xf4df;" horiz-adv-x="640" 
d="M621.3 210.7c12 -12 18.7002 -28.2002 18.7002 -45.2002v-85.5c0 -8.7998 -7.2002 -16 -16 -16h-17.5996c1 -5.2002 1.59961 -10.5 1.59961 -16c0 -44.2002 -35.7998 -80 -80 -80s-80 35.7998 -80 80c0 5.5 0.5 10.7998 1.59961 16h-163.199
c1 -5.2002 1.59961 -10.5 1.59961 -16c0 -44.2002 -35.7998 -80 -80 -80c-26.2998 0 -49.4004 12.7998 -64 32.4004c-14.5996 -19.5 -37.7002 -32.4004 -64 -32.4004c-44.2002 0 -80 35.7998 -80 80v336c0 17.7002 14.2998 32 32 32h416c17.7002 0 32 -14.2998 32 -32
v-96.0996h37.5c17 0 33.2998 -6.7002 45.2998 -18.7002zM80 16c17.5996 0 32 14.4004 32 32s-14.4004 32 -32 32s-32 -14.4004 -32 -32s14.4004 -32 32 -32zM208 16c17.5996 0 32 14.4004 32 32s-14.4004 32 -32 32s-32 -14.4004 -32 -32s14.4004 -32 32 -32zM480 240v-48
h92.0996l-43.2998 43.2998c-3 3 -7 4.7002 -11.2998 4.7002h-37.5zM528 16c17.5996 0 32 14.4004 32 32s-14.4004 32 -32 32s-32 -14.4004 -32 -32s14.4004 -32 32 -32z" />
    <glyph glyph-name="video-slash" unicode="&#xf4e2;" horiz-adv-x="640" 
d="M633.8 -10.0996c7 -5.40039 8.2998 -15.5 2.7998 -22.4004l-19.5996 -25.2998c-5.5 -7 -15.5 -8.2002 -22.5 -2.7998l-178.5 138l-373.3 288.6l-36.5 28.2002c-7 5.39941 -8.2002 15.3994 -2.7998 22.3994l19.5996 25.2002c5.5 7 15.5 8.2002 22.5 2.7998
l78.4004 -60.5996h244.3c26.3994 0 47.7998 -21.4004 47.7998 -47.7998v-178l32 -24.7002v137.2l109.6 75.5996c21.3008 14.6006 50.4004 -0.299805 50.4004 -25.7998v-257c0 -17.4004 -13.7998 -29.7002 -29.2002 -31.0996zM32 47.7998v245.5l365.8 -282.8
c-8.2002 -6.5 -18.3994 -10.5 -29.5996 -10.5h-288.4c-26.3994 0 -47.7998 21.4004 -47.7998 47.7998z" />
    <glyph glyph-name="wine-glass" unicode="&#xf4e3;" horiz-adv-x="288" 
d="M216 -16c22.0898 0 40 -17.9102 40 -40c0 -4.41992 -3.58008 -8 -8 -8h-208c-4.41992 0 -8 3.58008 -8 8c0 22.0898 17.9102 40 40 40h40v117.18c-68.4697 15.8906 -118.05 79.9102 -111.4 154.16l15.96 178.11c0.730469 8.24023 7.55078 14.5498 15.7002 14.5498h223.48
c8.16016 0 14.9697 -6.30957 15.71 -14.5498l15.9502 -178.101c6.64941 -74.25 -42.9307 -138.27 -111.4 -154.159v-117.19h40z" />
    <glyph glyph-name="user-alt-slash" unicode="&#xf4fa;" horiz-adv-x="640" 
d="M633.8 -10.0996c7 -5.40039 8.2998 -15.5 2.90039 -22.3008l-19.6006 -25.2998c-5.5 -7 -15.5 -8.2002 -22.5 -2.7998l-588.399 454.7c-7 5.39941 -8.2002 15.3994 -2.7998 22.3994l19.5996 25.2002c5.5 7 15.5 8.2002 22.5 2.7998l135.5 -104.8
c16 62.1006 71.9004 108.2 139 108.2c79.5 0 144 -64.5 144 -144c0 -54.0996 -30.2002 -100.7 -74.4004 -125.3zM198.4 128h47.3994l248.4 -192h-382.2c-26.5 0 -48 21.5 -48 48v9.59961c0 74.2002 60.2002 134.4 134.4 134.4z" />
    <glyph glyph-name="user-astronaut" unicode="&#xf4fb;" horiz-adv-x="448" 
d="M64 224c-8.7998 0 -16 7.2002 -16 16v96c0 8.7998 7.2002 16 16 16h13.5c24.7002 56.5 80.9004 96 146.5 96s121.8 -39.5 146.5 -96h13.5c8.7998 0 16 -7.2002 16 -16v-96c0 -8.7998 -7.2002 -16 -16 -16h-13.5c-24.7002 -56.5 -80.9004 -96 -146.5 -96
s-121.8 39.5 -146.5 96h-13.5zM104 312v-24c0 -53 43 -96 96 -96h48c53 0 96 43 96 96v24c0 22.0996 -21.5 40 -48 40h-144c-26.5 0 -48 -17.9004 -48 -40zM176 240l-12 36l-36 12l36 12l12 36l12 -36l36 -12l-36 -12zM327.6 126.6c67.5 -7.09961 120.4 -63.5996 120.4 -133
v-9.59961c0 -26.5 -21.5 -48 -48 -48h-80v64c0 17.7002 -14.2998 32 -32 32h-128c-17.7002 0 -32 -14.2998 -32 -32v-64h-80c-26.5 0 -48 21.5 -48 48v9.59961c0 69.4004 52.9004 125.9 120.4 133c29.8994 -19.2998 65.3994 -30.5996 103.6 -30.5996
s73.7002 11.2998 103.6 30.5996zM272 0c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16s-16 7.2002 -16 16s7.2002 16 16 16zM176 0c8.7998 0 16 -7.2002 16 -16v-48h-32v48c0 8.7998 7.2002 16 16 16z" />
    <glyph glyph-name="user-check" unicode="&#xf4fc;" horiz-adv-x="640" 
d="M224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM313.6 160c74.2002 0 134.4 -60.2002 134.4 -134.4v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v41.5996
c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992zM636.6 288.4c4.60059 -4.60059 4.5 -12.1006 -0.0996094 -16.8008l-141.3 -140.199c-4.7002 -4.60059 -12.2002 -4.60059 -16.7998 0.0996094
l-81.7002 82.2998c-4.60059 4.7002 -4.60059 12.2002 0.0996094 16.7998l28.1006 27.9004c4.69922 4.59961 12.1992 4.59961 16.7998 -0.0996094l45.5 -45.8008l104.8 104c4.7002 4.60059 12.2002 4.60059 16.7998 -0.0996094z" />
    <glyph glyph-name="user-clock" unicode="&#xf4fd;" horiz-adv-x="640" 
d="M496 224c79.5996 0 144 -64.4004 144 -144s-64.4004 -144 -144 -144s-144 64.4004 -144 144s64.4004 144 144 144zM560 73.7002v12.5996c0 5.2998 -4.40039 9.7002 -9.7002 9.7002h-38.2998v54.2998c0 5.2998 -4.40039 9.7002 -9.7002 9.7002h-12.5996
c-5.2998 0 -9.7002 -4.40039 -9.7002 -9.7002v-76.5996c0 -5.2998 4.40039 -9.7002 9.7002 -9.7002h60.5996c5.2998 0 9.7002 4.40039 9.7002 9.7002zM320 80c0 -59.5 29.7998 -112.1 75.0996 -144h-347.1c-26.5 0 -48 21.5 -48 48v41.5996
c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992c8.40039 0 16.6006 -1 24.6006 -2.5c-11.5 -23.4004 -18.2002 -49.7002 -18.2002 -77.5zM224 192c-70.7002 0 -128 57.2998 -128 128
s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128z" />
    <glyph glyph-name="user-cog" unicode="&#xf4fe;" horiz-adv-x="640" 
d="M610.5 74.7002l25.7998 -14.9004c2.90039 -1.7002 4.2998 -5.2002 3.2998 -8.5c-6.69922 -21.5996 -18.1992 -41.2002 -33.1992 -57.3994c-2.30078 -2.5 -6.10059 -3.10059 -9 -1.40039l-25.8008 14.9004c-10.8994 -9.30078 -23.3994 -16.5 -36.8994 -21.3008v-29.7998
c0 -3.39941 -2.40039 -6.39941 -5.7002 -7.09961c-21.2002 -4.7998 -43.9004 -5 -66.2002 0c-3.2998 0.700195 -5.7002 3.7002 -5.7002 7.09961v29.7998c-13.5 4.80078 -26 12 -36.8994 21.3008l-25.7998 -14.9004c-3 -1.7002 -6.7002 -1.09961 -9 1.40039
c-15 16.2998 -26.5 35.7998 -33.2002 57.3994c-1 3.2998 0.299805 6.7998 3.2998 8.5l25.7998 14.9004c-2.59961 14.0996 -2.59961 28.5 0 42.5996l-25.7998 14.9004c-2.90039 1.7002 -4.2998 5.2002 -3.2998 8.5c6.7002 21.5996 18.2002 41.2002 33.2002 57.3994
c2.2998 2.5 6.09961 3.10059 9 1.40039l25.7998 -14.9004c10.8994 9.30078 23.3994 16.5 36.8994 21.3008v29.7998c0 3.39941 2.40039 6.39941 5.7002 7.09961c21.2002 4.7998 43.9004 5 66.2002 0c3.2998 -0.700195 5.7002 -3.7002 5.7002 -7.09961v-29.7998
c13.5 -4.80078 26 -12 36.8994 -21.3008l25.8008 14.9004c3 1.7002 6.69922 1.09961 9 -1.40039c15 -16.1992 26.5 -35.7998 33.1992 -57.3994c1 -3.2998 -0.299805 -6.7998 -3.2998 -8.5l-25.7998 -14.9004c2.59961 -14.0996 2.59961 -28.5 0 -42.5996zM496 47.5
c26.7998 0 48.5 21.7998 48.5 48.5s-21.7998 48.5 -48.5 48.5s-48.5 -21.7998 -48.5 -48.5s21.7002 -48.5 48.5 -48.5zM224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM425.2 -34.5v-9.2002
c0 -4.09961 0.799805 -8 2 -11.7998c-7.7002 -5.2998 -17.1006 -8.5 -27.2002 -8.5h-352c-26.5 0 -48 21.5 -48 48v41.5996c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992
c3.90039 0 7.60059 -0.900391 11.4004 -1.2002c-1 -2.89941 -2.2998 -5.7998 -3.2002 -8.7002c-5.5 -17.6992 1.90039 -36.5 17.9004 -45.6992l7.89941 -4.60059c-0.0996094 -2.59961 -0.0996094 -5.2002 0 -7.7998l-7.89941 -4.59961
c-16 -9.30078 -23.4004 -28 -17.9004 -45.7002c7.90039 -25.7002 21.9004 -49.7998 40.2002 -69.6006c7.5 -8 18 -12.5996 28.9004 -12.5996c6.7998 0 13.5996 1.90039 19.5996 5.2998l7.90039 4.60059c2.19922 -1.30078 4.5 -2.7002 6.7998 -3.90039z" />
    <glyph glyph-name="user-edit" unicode="&#xf4ff;" horiz-adv-x="640" 
d="M224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM313.6 160c39.9004 0 75.4004 -17.7998 99.9004 -45.5l-77.2998 -77.2998l-7.90039 -7.90039l-1.2002 -11.0996l-6.7998 -60.9004
c-0.799805 -7.2998 0.200195 -14.5 2.60059 -21.2998h-274.9c-26.5 0 -48 21.5 -48 48v41.5996c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992zM358.9 14.7002l137.899 137.8l71.7002 -71.7002
l-137.9 -137.899l-60.8994 -6.80078c-10.1006 -1.19922 -18.7002 7.40039 -17.6006 17.6006zM633 179.1c9.2998 -9.39941 9.2998 -24.5 0 -33.8994l-41.7998 -41.7998l-71.7998 71.6992l4.09961 4.10059l37.7998 37.7998c9.2998 9.2998 24.5 9.2998 33.7998 0z" />
    <glyph glyph-name="user-friends" unicode="&#xf500;" horiz-adv-x="640" 
d="M192 192c-61.9004 0 -112 50.0996 -112 112s50.0996 112 112 112s112 -50.0996 112 -112s-50.0996 -112 -112 -112zM268.8 160c63.6006 0 115.2 -51.5996 115.2 -115.2v-28.7998c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v28.7998
c0 63.6006 51.5996 115.2 115.2 115.2h8.2998c20.9004 -10 43.9004 -16 68.5 -16s47.7002 6 68.5 16h8.2998zM480 192c-53 0 -96 43 -96 96s43 96 96 96s96 -43 96 -96s-43 -96 -96 -96zM528 160c61.9004 0 112 -50.0996 112 -112c0 -26.5 -21.5 -48 -48 -48h-176.6
c0.0996094 2.09961 0.599609 4.2002 0.599609 6.40039v38.3994c0 38.6006 -15.2998 73.5 -39.7002 99.7998c16.5 9.5 35.2998 15.4004 55.7002 15.4004h3.7998c13.9004 -4.7998 28.6006 -8 44.2002 -8s30.2998 3.2002 44.2002 8h3.7998z" />
    <glyph glyph-name="user-graduate" unicode="&#xf501;" horiz-adv-x="448" 
d="M319.4 127.4c71.5 -3.10059 128.6 -61.6006 128.6 -133.801v-9.59961c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v9.59961c0 72.2002 57.0996 130.7 128.6 133.801l95.4004 -95.4004zM13.5996 368.2c-18.0996 4.39941 -18.0996 27.2002 0 31.5996
l190.601 45.9004c13 3.09961 26.7002 3.09961 39.7002 0l190.399 -46c18.2002 -4.40039 18.2002 -27.1006 0 -31.5l-96.2998 -23.2002c8.7002 -17.2002 14 -36.4004 14 -57c0 -70.7002 -57.2998 -128 -128 -128s-128 57.2998 -128 128c0 20.5996 5.40039 39.7998 14 57
l-66 15.9004v-52.6006c7 -4.2002 12 -11.5 12 -20.2998c0 -8.40039 -4.59961 -15.4004 -11.0996 -19.7002l15.5996 -62.2998c1.7002 -6.90039 -2.09961 -14 -7.59961 -14h-41.8008c-5.5 0 -9.2998 7.09961 -7.59961 14l15.5996 62.2998
c-6.5 4.2998 -11.0996 11.2998 -11.0996 19.7002c0 8.7998 5 16.0996 12 20.2998v58.4004z" />
    <glyph glyph-name="user-lock" unicode="&#xf502;" horiz-adv-x="640" 
d="M224 192c-70.6455 0 -128 57.3545 -128 128s57.3545 128 128 128s128 -57.3545 128 -128s-57.3545 -128 -128 -128zM320 128v-160c0.0791016 -11.6504 3.3418 -22.6367 8.90039 -32h-280.9c-26.4922 0 -48 21.5078 -48 48v41.5996
c0.0166016 74.1699 60.2305 134.384 134.4 134.4h16.6992c22.1426 -10.2109 47.085 -15.9072 73.0498 -15.9072c25.9639 0 50.6084 5.69629 72.751 15.9072h16.6992c5 0 9.7002 -1 14.5 -1.5c-5.06641 -9.00684 -8.02539 -19.4561 -8.09961 -30.5zM608 160
c17.6611 0 32 -14.3389 32 -32v-160c0 -17.6611 -14.3389 -32 -32 -32h-224c-17.6611 0 -32 14.3389 -32 32v160c0 17.6611 14.3389 32 32 32h32v80c0 44.1533 35.8467 80 80 80s80 -35.8467 80 -80v-80h32zM496 16c17.6611 0 32 14.3389 32 32s-14.3389 32 -32 32
s-32 -14.3389 -32 -32s14.3389 -32 32 -32zM528 160v80c0 17.6611 -14.3389 32 -32 32s-32 -14.3389 -32 -32v-80h64z" />
    <glyph glyph-name="user-minus" unicode="&#xf503;" horiz-adv-x="640" 
d="M624 240c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-192c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h192zM224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128z
M313.6 160c74.2002 0 134.4 -60.2002 134.4 -134.4v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v41.5996c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992z" />
    <glyph glyph-name="user-ninja" unicode="&#xf504;" horiz-adv-x="448" 
d="M325.4 158.8c68.5996 -6.09961 122.6 -63 122.6 -133.2v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v41.5996c0 70.2002 54 127.101 122.6 133.2l101.4 -101.399zM32 256c0 33.4004 17.0996 62.7998 43.0996 80
c-26 17.2002 -43.0996 46.5996 -43.0996 80c32 0 60.0996 -15.7998 77.5 -39.7998c20.9004 42.3994 64.0996 71.7998 114.5 71.7998c70.7002 0 128 -57.2998 128 -128s-57.2998 -128 -128 -128c-58.7998 0 -107.7 39.7998 -122.8 93.7002
c-17.4004 -18.2002 -41.9004 -29.7002 -69.2002 -29.7002zM176 352c-17.7002 0 -32 -14.2998 -32 -32h160c0 17.7002 -14.2998 32 -32 32h-96z" />
    <glyph glyph-name="user-shield" unicode="&#xf505;" horiz-adv-x="640" 
d="M622.3 176.9c10.7002 -4.2002 17.7002 -14 17.7002 -24.9004c0 -124.5 -81.5996 -193.9 -132.9 -213.9c-4.19922 -1.59961 -12.5996 -3.69922 -22.1992 0c-64.2002 25.1006 -132.9 102.301 -132.9 213.9c0 10.9004 7 20.7002 17.7002 24.9004l115.2 45
c9.59961 3.69922 18.0996 1.59961 22.1992 0zM496 -14.4004c34.5996 16.4004 89.9004 64.7002 95.5 151.801l-95.5 37.2998v-189.101zM224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM320 152
c0 -95.2998 45.2002 -169.1 99.2002 -212c-5.90039 -2.5 -12.4004 -4 -19.2002 -4h-352c-26.5 0 -48 21.5 -48 48v41.5996c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992
c2.60059 0 5 -0.700195 7.5 -0.799805c-0.299805 -2.40039 -1.09961 -4.7002 -1.09961 -7.2002z" />
    <glyph glyph-name="user-slash" unicode="&#xf506;" horiz-adv-x="640" 
d="M633.8 -10.0996c7 -5.40039 8.2998 -15.5 2.90039 -22.3008l-19.6006 -25.2998c-5.5 -7 -15.5 -8.2002 -22.5 -2.7998l-588.399 454.7c-7 5.39941 -8.2002 15.3994 -2.7998 22.3994l19.5996 25.2002c5.5 7 15.5 8.2002 22.5 2.7998l147.6 -114
c5.40039 65.6006 59.8008 117.4 126.9 117.4c70.7002 0 128 -57.2998 128 -128c0 -55.7998 -35.9004 -102.7 -85.7002 -120.3zM96 25.5996c0 66.4004 48.2002 121.101 111.4 132.101l286.8 -221.7h-350.2c-26.5 0 -48 21.5 -48 48v41.5996z" />
    <glyph glyph-name="user-tag" unicode="&#xf507;" horiz-adv-x="640" 
d="M630.6 83.0996c12.5 -12.5 12.5 -32.6992 -0.0996094 -45.1992l-92.5 -92.5c-12.5 -12.5 -32.7998 -12.5 -45.2998 0l-90.2998 90.1992c-12 12 -18.7002 28.2002 -18.7002 45.2002v79.2002c0 17.7002 14.2998 32 32 32h79.2998c17 0 33.2998 -6.7002 45.2998 -18.7002z
M447.8 104.1c13.2998 0 24 10.8008 24 24c0 13.3008 -10.7002 24 -24 24s-24 -10.6992 -24 -24c0 -13.2998 10.7002 -24 24 -24zM224 192.1c-70.7002 0 -128 57.3008 -128 127.9c0 70.7002 57.2998 128 128 128s128 -57.2998 128 -127.9c0 -70.6992 -57.2998 -128 -128 -128
zM351.8 80.9004c0 -25.7002 10 -49.8008 28.1006 -67.9004l58 -58c-8.80078 -11.4004 -22.4004 -18.9004 -37.9004 -18.9004h-352c-26.5 0 -48 21.5 -48 48v41.6006c0 74.2002 60.2002 134.399 134.4 134.5h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16
s50.7002 5.7998 72.9004 16h16.6992c13.3008 0 26 -2.60059 38.2002 -6.2002v-73.0996z" />
    <glyph glyph-name="user-tie" unicode="&#xf508;" horiz-adv-x="448" 
d="M224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM319.8 159.4c71.2998 -3.40039 128.2 -61.7002 128.2 -133.801v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v41.5996
c0 72.1006 56.9004 130.4 128.2 133.801l47.7998 -191.4l32 136l-32 56h96l-32 -56l32 -136z" />
    <glyph glyph-name="users-cog" unicode="&#xf509;" horiz-adv-x="640" 
d="M610.5 106.7l25.7998 -14.9004c2.90039 -1.7002 4.2998 -5.2002 3.2998 -8.5c-6.69922 -21.5996 -18.1992 -41.2002 -33.1992 -57.3994c-2.30078 -2.5 -6.10059 -3.10059 -9 -1.40039l-25.8008 14.9004c-10.8994 -9.30078 -23.3994 -16.5 -36.8994 -21.3008v-29.7998
c0 -3.39941 -2.40039 -6.39941 -5.7002 -7.09961c-21.2002 -4.7998 -43.9004 -5 -66.2002 0c-3.2998 0.700195 -5.7002 3.7002 -5.7002 7.09961v29.7998c-13.5 4.80078 -26 12 -36.8994 21.3008l-25.7998 -14.9004c-3 -1.7002 -6.7002 -1.09961 -9 1.40039
c-15 16.2998 -26.5 35.7998 -33.2002 57.3994c-1 3.2998 0.299805 6.7998 3.2998 8.5l25.7998 14.9004c-2.59961 14.0996 -2.59961 28.5 0 42.5996l-25.7998 14.9004c-2.90039 1.7002 -4.2998 5.2002 -3.2998 8.5c6.7002 21.5996 18.2002 41.2002 33.2002 57.3994
c2.2998 2.5 6.09961 3.10059 9 1.40039l25.7998 -14.9004c10.8994 9.30078 23.3994 16.5 36.8994 21.3008v29.7998c0 3.39941 2.40039 6.39941 5.7002 7.09961c21.2002 4.7998 43.9004 5 66.2002 0c3.2998 -0.700195 5.7002 -3.7002 5.7002 -7.09961v-29.7998
c13.5 -4.80078 26 -12 36.8994 -21.3008l25.8008 14.9004c3 1.7002 6.69922 1.09961 9 -1.40039c15 -16.1992 26.5 -35.7998 33.1992 -57.3994c1 -3.2998 -0.299805 -6.7998 -3.2998 -8.5l-25.7998 -14.9004c2.59961 -14.0996 2.59961 -28.5 0 -42.5996zM496 79.5
c26.7998 0 48.5 21.7998 48.5 48.5s-21.7998 48.5 -48.5 48.5s-48.5 -21.7998 -48.5 -48.5s21.7002 -48.5 48.5 -48.5zM96 224c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM320 192c-61.9004 0 -112 50.0996 -112 112
s50 111.9 111.9 111.9c61.8994 0 112 -50.1006 112 -112c0 -17.2002 -4.2002 -33.4004 -11.2002 -48c-0.799805 -0.5 -1.60059 -0.900391 -2.40039 -1.40039l-7.89941 4.59961c-5.90039 3.5 -12.7002 5.30078 -19.6006 5.30078c-11 0 -21.5 -4.60059 -28.8994 -12.6006
c-15.8008 -17.0996 -28 -37.5 -36.3008 -59.2002c-1.89941 -0.0996094 -3.69922 -0.599609 -5.59961 -0.599609zM425.2 -2.5v-9.2002c0 -7.5 2.5 -14.2998 6.2002 -20.2998h-255.4c-26.5 0 -48 21.5 -48 48v28.7998c0 63.6006 51.5996 115.2 115.3 115.2h8.2998
c20.9004 -10 43.9004 -16 68.5 -16c3.30078 0 6.5 0.400391 9.80078 0.599609c2.7998 -3.09961 6 -5.89941 9.7998 -8.09961l7.89941 -4.59961c-0.0996094 -2.60059 -0.0996094 -5.2002 0 -7.80078c-0.899414 -0.599609 -36.5 -15.7998 -25.7998 -50.2998
c7.90039 -25.7002 21.9004 -49.7998 40.2002 -69.5996c7.5 -8 18 -12.6006 28.9004 -12.6006c12.1992 0 19.2998 5 27.5 9.80078c2.19922 -1.30078 4.5 -2.7002 6.7998 -3.90039zM173.1 173.4c-40.2998 -22.1006 -68.8994 -62 -75.1992 -109.4h-65.9004
c-17.7002 0 -32 14.2998 -32 32v32c0 35.2998 28.7002 64 64 64h64c17.5996 0 33.5 -7.09961 45.0996 -18.5996z" />
    <glyph glyph-name="balance-scale-left" unicode="&#xf515;" horiz-adv-x="640" 
d="M528 0c8.83984 0 16 -7.16016 16.0098 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-224c-8.83984 0 -16 7.16016 -16 16v342.75c-4.55957 2 -8.91992 4.34961 -12.9902 7.12012l-142.05 -47.6299c-8.37988 -2.81055 -17.4502 1.7002 -20.2598 10.0801l-10.1699 30.3398
c-2.80957 8.37988 1.7002 17.4502 10.0801 20.2598l128.39 43.0498c-0.419922 3.32031 -1.00977 6.60059 -1.00977 10.0303c0 44.1797 35.8203 80 80 80c29.6904 0 55.2998 -16.3604 69.1104 -40.3701l117.92 39.5303c8.37988 2.80957 17.4502 -1.7002 20.2598 -10.0801
l10.1699 -30.3398c2.80957 -8.37988 -1.7002 -17.4502 -10.0801 -20.2598l-132 -44.2607c-7.28027 -21.25 -22.96 -38.5293 -43.3799 -47.4697v-294.75h176zM639.98 144c0 -44.1797 -57.29 -80 -127.98 -80s-128 35.8203 -128 80h0.0195312
c0 15.6699 -2.0791 7.25 85.04 181.51c17.6807 35.3604 68.2207 35.29 85.8701 0c86.3906 -172.779 85.0508 -165.33 85.0508 -181.51zM440 160h144l-72 144zM170.93 197.51c86.3906 -172.779 85.0508 -165.33 85.0508 -181.51h0.0195312c0 -44.1797 -57.3096 -80 -128 -80
s-128 35.8203 -128 80h0.0195312c0 15.6699 -2.0791 7.25 85.04 181.51c17.6807 35.3604 68.2207 35.29 85.8701 0zM56 32h144l-72 144z" />
    <glyph glyph-name="balance-scale-right" unicode="&#xf516;" horiz-adv-x="640" 
d="M96 -16c0 8.83984 7.16016 16 16 16h175.99v294.76c-20.4199 8.93066 -36.1006 26.2207 -43.3799 47.4707l-132 44.2598c-8.37012 2.80957 -12.8906 11.8799 -10.0801 20.2598l10.1699 30.3398c2.80957 8.37012 11.8799 12.8906 20.2598 10.0801l117.93 -39.54
c13.8105 24.0098 39.4199 40.3701 69.1104 40.3701c44.1797 0 80 -35.8203 80 -80c0 -3.42969 -0.589844 -6.70996 -1.00977 -10.0303l128.399 -43.0498c8.37012 -2.80957 12.8906 -11.8799 10.0801 -20.2598l-10.1699 -30.3398
c-2.80957 -8.37012 -11.8799 -12.8906 -20.2598 -10.0801l-142.05 47.6299c-4.07031 -2.77051 -8.43066 -5.12012 -12.9902 -7.12012v-342.75c0 -8.83984 -7.16016 -16 -16 -16h-224c-8.83984 0 -16 7.16016 -16 16v32zM0 144c0 16.1797 -1.32031 8.73047 85.0596 181.51
c17.6504 35.29 68.1904 35.3604 85.8701 0c87.1299 -174.26 85.0508 -165.84 85.0508 -181.51h0.0195312c0 -44.1797 -57.3096 -80 -128 -80s-128 35.8203 -128 80zM56 160h144l-72 144zM384.02 16c0 16.1797 -1.33984 8.73047 85.04 181.51
c17.6504 35.29 68.1904 35.3604 85.8701 0c87.1299 -174.26 85.0508 -165.84 85.0508 -181.51h0.0195312c0 -44.1797 -57.3096 -80 -128 -80s-128 35.8203 -128 80h0.0195312zM440 32h144l-72 144z" />
    <glyph glyph-name="blender" unicode="&#xf517;" 
d="M416 64c35.3496 0 64 -28.6504 64 -64v-32c0 -17.6699 -14.3301 -32 -32 -32h-320c-17.6699 0 -32 14.3301 -32 32v32c0 35.3496 28.6504 64 64 64h256zM288 -32c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM328 384
c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h157.82l-17.46 -64h-140.36c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h131.64l-17.46 -64h-114.18c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h105.46l-17.46 -64
h-256l-8.73047 96h-103.27c-26.5098 0 -48 21.4902 -48 48v160c0 26.5098 21.4902 48 48 48h464l-17.46 -64h-166.54zM64 256h81.46l-11.6396 128h-69.8203v-128z" />
    <glyph glyph-name="book-open" unicode="&#xf518;" horiz-adv-x="576" 
d="M542.22 415.95c18.4199 1.04004 33.7803 -12.9902 33.7705 -30.7002v-337.84c0 -16.2305 -13.1299 -29.7705 -30.0205 -30.6602c-49.4697 -2.59961 -149.52 -12.0996 -218.7 -46.9199c-10.6494 -5.36035 -23.2793 1.93945 -23.2793 13.4902v363.87
c0 5.2793 2.62988 10.3291 7.26953 13.1699c67.2402 41.1592 176.16 52.4795 230.96 55.5898zM264.73 360.36c4.64941 -2.85059 7.26953 -7.7002 7.26953 -12.9902v-364.12c0 -11.5195 -12.5898 -18.8096 -23.21 -13.46c-69.1797 34.8398 -169.28 44.3496 -218.771 46.9502
c-16.8896 0.879883 -30.0195 14.4199 -30.0195 30.6602v337.85c0 17.71 15.3604 31.7402 33.7803 30.7002c54.7998 -3.12012 163.72 -14.4307 230.95 -55.5898z" />
    <glyph glyph-name="broadcast-tower" unicode="&#xf519;" horiz-adv-x="640" 
d="M150.94 256c-7.01074 0 -13.46 4.5 -15.4004 11.2402c-4.90039 16.9697 -7.54004 34.6396 -7.54004 52.7598s2.63965 35.79 7.53027 52.7695c1.9502 6.74023 8.39941 11.2305 15.4102 11.2305h33.7295c11.0098 0 18.6201 -10.8301 14.8604 -21.1797
c-4.93066 -13.5801 -7.5498 -27.9805 -7.5498 -42.8203s2.61914 -29.2402 7.5498 -42.8203c3.75 -10.3496 -3.85059 -21.1797 -14.8604 -21.1797h-33.7295zM89.9199 424.66c-16.54 -31.1406 -49.6104 -115.97 0.169922 -209.29
c5.66016 -10.6299 -1.92969 -23.3701 -13.9502 -23.3701h-34.8398c-6.18945 0 -11.9902 3.50977 -14.6094 9.13965c-23.5703 50.5303 -26.6904 94.1104 -26.6904 118.86c0 42.3496 9.40039 82.46 25.8896 118.69c2.60059 5.71973 8.4707 9.30957 14.7402 9.30957h35.3301
c12.0098 0 19.5996 -12.7197 13.96 -23.3398zM614.06 438.71c16.5205 -36.2295 25.9404 -76.3496 25.9404 -118.71s-9.42969 -82.4805 -25.96 -118.71c-2.59961 -5.70996 -8.45996 -9.29004 -14.7305 -9.29004h-35.2295c-12.1104 0 -19.6299 12.8398 -13.9102 23.5195
c48.1396 89.8105 17.9902 174.94 -0.280273 209.23c-5.63965 10.5898 2.04004 23.25 14.0205 23.25h35.4199c6.26953 0 12.1299 -3.58008 14.7295 -9.29004zM489.06 384c7.01074 0 13.46 -4.49023 15.4004 -11.2402c4.90039 -16.9697 7.54004 -34.6396 7.54004 -52.7598
s-2.62988 -35.79 -7.53027 -52.7598c-1.9502 -6.75 -8.38965 -11.2402 -15.4102 -11.2402h-33.7295c-11.0098 0 -18.6201 10.8301 -14.8604 21.1797c4.93066 13.5801 7.5498 27.9805 7.5498 42.8203s-2.61914 29.2402 -7.5498 42.8203
c-3.75 10.3496 3.85059 21.1797 14.8604 21.1797h33.7295zM372.76 283.88l130.5 -313.41c3.39062 -8.14941 -0.459961 -17.5195 -8.60938 -20.9199l-29.5107 -12.3096c-8.14941 -3.40039 -17.5098 0.450195 -20.9092 8.60938l-49.2002 118.15h-150.07l-49.1904 -118.15
c-3.38965 -8.14941 -12.7598 -12.0098 -20.9092 -8.60938l-29.5107 12.3096c-8.14941 3.40039 -12.0098 12.7705 -8.60938 20.9199l130.5 313.41c-7.0498 10.29 -11.2002 22.71 -11.2002 36.1201c0 35.3496 28.6396 64 63.96 64c35.3301 0 63.96 -28.6504 63.96 -64
c0 -13.4102 -4.15039 -25.8301 -11.2002 -36.1201zM271.62 128h96.7598l-48.3799 116.19z" />
    <glyph glyph-name="broom" unicode="&#xf51a;" horiz-adv-x="640" 
d="M256.47 231.23l86.7305 -109.181s-16.6006 -102.359 -76.5703 -150.12c-59.9697 -47.7793 -266.63 -34.1201 -266.63 -34.1201s3.7998 23.1406 11 55.4307l94.6201 112.17c3.96973 4.7002 -0.870117 11.6201 -6.65039 9.5l-60.3994 -22.0898
c14.4395 41.6602 32.7197 80.04 54.5996 97.4697c59.9697 47.7598 163.3 40.9404 163.3 40.9404zM636.53 416.97c5.48926 -6.91016 4.33984 -16.96 -2.5498 -22.4395l-232.48 -177.8l34.0898 -42.9209c5.08008 -6.39941 1.66016 -15.9092 -6.33984 -17.5996
l-58.7998 -12.4502l-86.7305 109.181l25.3301 54.5498c3.4502 7.41992 13.5 8.62012 18.5898 2.20996l34.1406 -42.9697l232.479 177.8c6.89062 5.48926 16.9199 4.33984 22.4102 -2.56055z" />
    <glyph glyph-name="chalkboard" unicode="&#xf51b;" horiz-adv-x="640" 
d="M96 384v-352h-64v376c0 22.0596 17.9404 40 40 40h496c22.0596 0 40 -17.9404 40 -40v-376h-64v352h-448zM624 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-608c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h272v64h192v-64
h144z" />
    <glyph glyph-name="chalkboard-teacher" unicode="&#xf51c;" horiz-adv-x="640" 
d="M208 96c62.0596 0 112.33 -50.4805 112 -112.62c-0.139648 -26.2598 -21.7305 -47.3799 -48 -47.3799h-224c-26.2695 0 -47.8604 21.1201 -48 47.3799c-0.330078 62.1396 49.9404 112.62 112 112.62c2.38965 0 4.76953 -0.349609 7.0498 -1.08984
c12.9697 -4.20996 26.6006 -6.91016 40.9502 -6.91016s27.9805 2.7002 40.9404 6.91016c2.2793 0.740234 4.66992 1.08984 7.05957 1.08984zM160 128c-53.0195 0 -96 42.9805 -96 96s42.9805 96 96 96s96 -42.9805 96 -96s-42.9805 -96 -96 -96zM592 448
c26.4697 0 48 -22.25 48 -49.5898v-316.82c0 -27.3398 -21.5303 -49.5898 -48 -49.5898h-244.55c-6.57031 25.2695 -20.5898 47.3096 -39.6904 64h76.2402v64h128v-64h64v288h-352v-49.7998c-18.9004 11.0195 -40.5801 17.7998 -64 17.7998v46.4102
c0 27.3398 21.5303 49.5898 48 49.5898h384z" />
    <glyph glyph-name="church" unicode="&#xf51d;" horiz-adv-x="640" 
d="M464.46 201.32c9.63965 -5.78027 15.54 -16.2002 15.54 -27.4404v-237.88h-96v96c0 35.3496 -28.6504 64 -64 64s-64 -28.6504 -64 -64v-96h-96v237.88c0 11.6572 6.21387 21.8467 15.54 27.4404l112.46 67.4795v51.2002h-48c-8.83984 0 -16 7.16016 -16 16v32
c0 8.83984 7.16016 16 16 16h48v48c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-48h48c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-48v-51.2002zM0 52.04c0.00292969 13.1953 7.97949 24.5215 19.3896 29.4199l108.61 46.54
v-192h-112c-8.83984 0 -16 7.16016 -16 16v100.04zM620.61 81.46c11.7598 -5.0498 19.3896 -16.6201 19.3896 -29.4199v-100.04c0 -8.83984 -7.16016 -16 -16 -16h-112v192z" />
    <glyph glyph-name="coins" unicode="&#xf51e;" 
d="M0 42.7002c41.2998 -29.1006 116.8 -42.7002 192 -42.7002s150.7 13.5996 192 42.7002v-42.7002c0 -35.2998 -86 -64 -192 -64s-192 28.7002 -192 64v42.7002zM320 320c-106 0 -192 28.7002 -192 64s86 64 192 64s192 -28.7002 192 -64s-86 -64 -192 -64zM0 147.6
c41.2998 -34 116.9 -51.5996 192 -51.5996s150.7 17.5996 192 51.5996v-51.5996c0 -35.2998 -86 -64 -192 -64s-192 28.7002 -192 64v51.5996zM416 136.6v63.6006c38.7002 6.89941 72.7998 18.0996 96 34.5v-42.7002c0 -23.7002 -38.7002 -44.2998 -96 -55.4004zM192 288
c106 0 192 -35.7998 192 -80s-86 -80 -192 -80s-192 35.7998 -192 80s86 80 192 80zM411.3 231.7c-8.7998 23.7002 -30.5 42.8994 -60 57.2002c64.2002 3.19922 125.2 16.6992 160.7 41.7998v-42.7002c0 -24.2998 -40.7002 -45.5 -100.7 -56.2998z" />
    <glyph glyph-name="compact-disc" unicode="&#xf51f;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM88 192c0 88.2002 71.7998 160 160 160v32c-105.9 0 -192 -86.0996 -192 -192h32zM248 96c53 0 96 43 96 96s-43 96 -96 96s-96 -43 -96 -96s43 -96 96 -96zM248 224
c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z" />
    <glyph glyph-name="crow" unicode="&#xf520;" horiz-adv-x="640" 
d="M544 416c53.0195 0 96 -28.6504 96 -64l-96 -16v-80c0 -87.2598 -58.2598 -160.8 -137.97 -184.14l41.2393 -111.53c2.27051 -6.23047 -0.939453 -13.1104 -7.16992 -15.3799l-22.5498 -8.20996c-6.22949 -2.27051 -13.1094 0.939453 -15.3799 7.16992l-44.5098 120.38
c-1.90039 -0.0595703 -3.75 -0.290039 -5.66016 -0.290039h-39.0596l38.3291 -103.68c2.27051 -6.23047 -0.939453 -13.1104 -7.16992 -15.3799l-22.5498 -8.20996c-6.22949 -2.27051 -13.1094 0.939453 -15.3799 7.16992l-44.4102 120.1h-96.4902l-121.539 -60.7695
c-20.0908 -10.04 -43.7305 4.56934 -43.7305 27.0293c0.00195312 9.8877 4.7373 18.6572 12.0898 24.1699l371.91 292.59v20.9805c0 44.1797 35.8203 80 80 80c26.0898 0 49.04 -12.6797 63.6396 -32h16.3604zM464 344c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24
s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24z" />
    <glyph glyph-name="crown" unicode="&#xf521;" horiz-adv-x="640" 
d="M528 0c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-416c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h416zM592 320c26.5 0 48 -21.5 48 -48s-21.5 -48 -48 -48c-2.59961 0 -5.2002 0.400391 -7.7002 0.799805l-72.2998 -192.8h-384
l-72.2998 192.8c-2.5 -0.399414 -5.10059 -0.799805 -7.7002 -0.799805c-26.5 0 -48 21.5 -48 48s21.5996 48 48.0996 48s48 -21.5 48 -48c0 -7.09961 -1.69922 -13.7998 -4.39941 -19.7998l72.2998 -43.4004c15.2998 -9.2002 35.2998 -4 44.2002 11.6006l81.5 142.6
c-10.7002 8.7998 -17.7002 22 -17.7002 37c0 26.5 21.5 48 48 48s48 -21.5 48 -48c0 -15 -7 -28.2002 -17.7002 -37l81.5 -142.6c8.90039 -15.6006 28.7998 -20.8008 44.2002 -11.6006l72.4004 43.4004c-2.80078 6.09961 -4.40039 12.7002 -4.40039 19.7998
c0 26.5 21.5 48 48 48z" />
    <glyph glyph-name="dice" unicode="&#xf522;" horiz-adv-x="640" 
d="M592 256c26.5098 0 48 -21.4902 48 -48v-224c0 -26.5098 -21.4902 -48 -48 -48h-224c-26.5098 0 -48 21.4902 -48 48v46.4199l136.26 136.26c24.1201 24.1201 29.6904 59.7305 17 89.3203h118.74zM480 72c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24
s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24zM433.63 258.7c19.1602 -19.1602 19.1602 -50.2305 0 -69.4004l-174.939 -174.93c-19.1602 -19.1602 -50.2305 -19.1602 -69.3906 0l-174.93 174.939c-19.1602 19.1602 -19.1602 50.2305 0 69.3906l174.939 174.93
c19.1602 19.1602 50.2305 19.1602 69.3906 0zM96 200c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24zM224 72c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24z
M224 200c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24zM224 328c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24zM352 200c13.25 0 24 10.75 24 24
c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24z" />
    <glyph glyph-name="dice-five" unicode="&#xf523;" horiz-adv-x="448" 
d="M384 416c35.3496 0 64 -28.6504 64 -64v-320c0 -35.3496 -28.6504 -64 -64 -64h-320c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h320zM128 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM128 256
c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM224 160c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32
s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 256c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
    <glyph glyph-name="dice-four" unicode="&#xf524;" horiz-adv-x="448" 
d="M384 416c35.3496 0 64 -28.6504 64 -64v-320c0 -35.3496 -28.6504 -64 -64 -64h-320c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h320zM128 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM128 256
c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 256c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32
s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
    <glyph glyph-name="dice-one" unicode="&#xf525;" horiz-adv-x="448" 
d="M384 416c35.3496 0 64 -28.6504 64 -64v-320c0 -35.3496 -28.6504 -64 -64 -64h-320c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h320zM224 160c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
    <glyph glyph-name="dice-six" unicode="&#xf526;" horiz-adv-x="448" 
d="M384 416c35.3496 0 64 -28.6504 64 -64v-320c0 -35.3496 -28.6504 -64 -64 -64h-320c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h320zM128 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM128 160
c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM128 256c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32
s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 160c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 256c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
    <glyph glyph-name="dice-three" unicode="&#xf527;" horiz-adv-x="448" 
d="M384 416c35.3496 0 64 -28.6504 64 -64v-320c0 -35.3496 -28.6504 -64 -64 -64h-320c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h320zM128 256c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM224 160
c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
    <glyph glyph-name="dice-two" unicode="&#xf528;" horiz-adv-x="448" 
d="M384 416c35.3496 0 64 -28.6504 64 -64v-320c0 -35.3496 -28.6504 -64 -64 -64h-320c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h320zM128 256c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 64
c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
    <glyph glyph-name="divide" unicode="&#xf529;" horiz-adv-x="448" 
d="M224 96c35.3496 0 64 -28.6504 64 -64s-28.6504 -64 -64 -64s-64 28.6504 -64 64s28.6504 64 64 64zM224 288c-35.3496 0 -64 28.6504 -64 64s28.6504 64 64 64s64 -28.6504 64 -64s-28.6504 -64 -64 -64zM416 240c17.6699 0 32 -14.3301 32 -32v-32
c0 -17.6699 -14.3301 -32 -32 -32h-384c-17.6699 0 -32 14.3301 -32 32v32c0 17.6699 14.3301 32 32 32h384z" />
    <glyph glyph-name="door-closed" unicode="&#xf52a;" horiz-adv-x="640" 
d="M624 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-608c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h111.99v397.2c0 28.0195 21.5293 50.7998 48 50.7998h288.01c26.4697 0 48 -22.7803 48 -50.7998v-397.2h112zM415.99 160
c17.6797 0 32.0098 14.3301 32 32c0 17.6699 -14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
    <glyph glyph-name="door-open" unicode="&#xf52b;" horiz-adv-x="640" 
d="M624 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-144v384h-96v64h112c26.4697 0 48 -22.1904 48 -49.4502v-334.55h80zM312.24 446.99c20.2002 5.24023 39.7598 -10.5898 39.7598 -32.1699v-478.82h-336c-8.83984 0 -16 7.16016 -16 16v32
c0 8.83984 7.16016 16 16 16h80v365.08c0 15.2197 9.99023 28.4795 24.2402 32.1699zM264 160c13.25 0 24 14.3301 24 32s-10.75 32 -24 32s-24 -14.3301 -24 -32s10.75 -32 24 -32z" />
    <glyph glyph-name="equals" unicode="&#xf52c;" horiz-adv-x="448" 
d="M416 144c17.6699 0 32 -14.3301 32 -32v-32c0 -17.6699 -14.3301 -32 -32 -32h-384c-17.6699 0 -32 14.3301 -32 32v32c0 17.6699 14.3301 32 32 32h384zM416 336c17.6699 0 32 -14.3301 32 -32v-32c0 -17.6699 -14.3301 -32 -32 -32h-384c-17.6699 0 -32 14.3301 -32 32
v32c0 17.6699 14.3301 32 32 32h384z" />
    <glyph glyph-name="feather" unicode="&#xf52d;" 
d="M467.14 403.16c50.5703 -50.5205 61.7002 -124.9 16.2607 -199.36l-131.54 -43.7998h97.7793c-9.92969 -10.6797 3.68066 3.07031 -46.3096 -46.8604l-147.57 -49.1396h98.1904c-74.9502 -73.1104 -194.53 -70.6504 -246.83 -54.9404l-66.1006 -66.0293
c-9.37988 -9.37012 -24.5996 -9.37012 -33.9795 0s-9.37988 24.5693 0 33.9395l259.52 259.25c6.25 6.25 6.25 16.3799 0 22.6299s-16.3896 6.25 -22.6494 0l-178.44 -178.25c-6.75 60.3408 3.18066 150.78 63.6406 211.17c24.7695 24.7402 7.13965 7.14062 85.75 85.6602
c90.6094 90.5107 189.729 88.21 252.279 25.7305z" />
    <glyph glyph-name="frog" unicode="&#xf52e;" horiz-adv-x="576" 
d="M446.53 350.57c0 0 58.4297 -19.0605 98.9893 -41.2803c18.7607 -10.2803 30.4805 -29.8301 30.4805 -51.2305c0 -21.793 -11.9512 -40.7695 -29.71 -50.7295l-154.44 -86.6504l98.5205 -104.68h53.6299c17.6699 0 32 -14.3301 32 -32c0 -8.83984 -7.16016 -16 -16 -16
h-90.3799l-118.53 125.94c5.07031 54.1494 -29.9297 85.0596 -40.7998 93.21c-36.8496 27.6191 -88.29 27.6592 -125.13 0l-34.7803 -26.0908c-7.07031 -5.2998 -8.49023 -15.3291 -3.18945 -22.4092c5.31934 -7.10059 15.3496 -8.5 22.4092 -3.19043l32.7607 24.5898
c20.6895 15.5303 48.3496 20.8105 72.2393 10.8799c44.0605 -18.3193 57.8506 -70.3701 33.71 -106.6l-35.7998 -48.3301h79.4902c17.6699 0 32 -14.3301 32 -32c0 -8.83984 -7.16016 -16 -16 -16h-304c-34.9199 0 -63.8896 28.0996 -64 63.0195
c-0.5 166.86 126.75 304.021 289.46 319.44c6.82031 37.25 39.3096 65.54 78.54 65.54c39.1904 0 71.6699 -28.2305 78.5303 -65.4297zM368 312c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24c-13.2598 0 -24 -10.7402 -24 -24c0 -13.25 10.7402 -24 24 -24z" />
    <glyph glyph-name="gas-pump" unicode="&#xf52f;" 
d="M336 0c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-320c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h320zM493.2 340.7c12 -12 18.7998 -28.2998 18.7998 -45.2998v-223.4c0 -42.2002 -36.5 -76 -79.5 -71.7002
c-37.5 3.90039 -64.5 38.2002 -64.5 75.9004v27.7998c0 22.0996 -17.9004 40 -40 40h-8v-112h-288v352c0 35.2998 28.7002 64 64 64h160c35.2998 0 64 -28.7002 64 -64v-192h8c48.5996 0 88 -39.4004 88 -88v-32c0 -13.2002 10.7998 -24 24 -24s24 10.7998 24 24v160.8
c-27.0996 3.90039 -48 27.1006 -48 55.2002v62.0996l-37.7002 37.7002c-6.2002 6.2002 -6.2002 16.4004 0 22.6006l11.2998 11.2998c6.2002 6.2002 16.4004 6.2002 22.6006 0zM256 256v128h-160v-128h160z" />
    <glyph glyph-name="glasses" unicode="&#xf530;" horiz-adv-x="576" 
d="M574.1 167.63c1.26074 -5.07031 1.90039 -10.2695 1.90039 -15.5v-70.25c0 -62.8896 -51.5801 -113.88 -115.2 -113.88h-37.1201c-60.2793 0 -110.37 45.9404 -114.87 105.37l-2.92969 38.6299h-35.75l-2.92969 -38.6299
c-4.50977 -59.4297 -54.6006 -105.37 -114.88 -105.37h-37.1201c-63.6201 0 -115.2 50.9902 -115.2 113.89v70.25c0.000976562 5.35059 0.663086 10.5205 1.90039 15.4902l45.3398 181.73c5.91016 23.6895 21.5898 44.0293 43 55.7998
c21.4395 11.7402 46.9697 14.1094 70.1895 6.33008l15.25 -5.08008c8.39062 -2.79004 12.9199 -11.8604 10.1201 -20.2402l-5.05957 -15.1797c-2.79004 -8.37988 -11.8506 -12.9102 -20.2305 -10.1201l-13.1699 4.38965
c-10.8701 3.62012 -22.9902 3.57031 -33.1494 -1.72949c-10.29 -5.36035 -17.5908 -14.5605 -20.3809 -25.8105l-38.46 -153.83c22.1904 6.81055 49.79 12.46 81.21 12.46c34.7803 0 73.9902 -7.00977 114.86 -26.75h73.1797
c40.8701 19.7207 80.0801 26.7402 114.851 26.7402c31.4102 0 59.0098 -5.64941 81.2002 -12.46l-38.46 153.82c-2.80078 11.2598 -10.0801 20.4502 -20.3701 25.8193c-10.1602 5.30078 -22.29 5.35059 -33.1602 1.73047l-13.1797 -4.38965
c-8.38086 -2.79004 -17.4404 1.73926 -20.2305 10.1201l-5.05957 15.1797c-2.80078 8.37988 1.72949 17.4502 10.1191 20.2402l15.25 5.08008c23.2207 7.7793 48.75 5.39941 70.1904 -6.33008c21.4102 -11.7607 37.0898 -32.1104 43 -55.8105zM203.38 78.21l3.12988 41.2197
c-22.6699 8.58984 -46.0693 12.9199 -69.9297 12.9199c-29.1602 0 -54.46 -6.42969 -72.5801 -12.9199v-37.54c0 -27.5098 22.9697 -49.8896 51.2002 -49.8896h37.1201c26.6602 0 49.0898 20.2998 51.0596 46.21zM512 81.8799l-0.00976562 37.54
c-18.1201 6.49023 -43.4307 12.9297 -72.5498 12.9297c-23.8701 0 -47.2803 -4.33008 -69.9502 -12.9199l3.12988 -41.2197c1.95996 -25.9102 24.3896 -46.21 51.0596 -46.21h37.1201c28.2305 0 51.2002 22.3701 51.2002 49.8799z" />
    <glyph glyph-name="greater-than" unicode="&#xf531;" horiz-adv-x="384" 
d="M365.52 238.15c11.2803 -5.25 18.4805 -16.5605 18.4902 -29.0107v-34.2295c-0.00195312 -12.8398 -7.55469 -23.9062 -18.4795 -29l-306.471 -142.91c-16.0195 -7.46973 -35.0596 -0.540039 -42.5293 15.4805l-13.5205 29
c-7.46973 16.0195 -0.540039 35.0596 15.4805 42.5293l218.47 101.891l-218.43 101.85c-16.0605 7.49023 -23.0107 26.5801 -15.5205 42.6396l13.5703 29.0801c7.49023 16.0605 26.5801 23.0107 42.6396 15.5205z" />
    <glyph glyph-name="greater-than-equal" unicode="&#xf532;" horiz-adv-x="448" 
d="M55.2197 340.31c-18.29 6 -27.7393 24.2607 -21.0996 40.79l12.0303 29.9199c6.63965 16.5303 26.8594 25.0605 45.1494 19.0605l301.72 -119.98c13.7705 -4.51953 22.9805 -16.6094 22.9805 -30.1699v-15.96c0 -13.5596 -9.20996 -25.6494 -22.9805 -30.1699
l-301.409 -119.859c-18.3906 -6.04004 -38.7002 2.54004 -45.3799 19.1494l-12.0908 30.0801c-6.67969 16.6104 2.81055 34.9697 21.2002 41l175.44 68.0498zM424 48c13.25 0 24 -10.7402 24 -24v-48c0 -13.25 -10.75 -24 -24 -24h-400c-13.25 0 -24 10.75 -24 24v48
c0 13.2598 10.75 24 24 24h400z" />
    <glyph glyph-name="helicopter" unicode="&#xf533;" horiz-adv-x="640" 
d="M304 64c-10.4707 0 -19.7627 5.01465 -25.5996 12.7998l-86.4004 115.2l-160 64l-31.5098 108.12c-2.53027 10.0996 5.10938 19.8799 15.5195 19.8799h39.9902c5.03027 0 9.78027 -2.37012 12.7998 -6.40039l43.2002 -57.5996h208v64h-176c-8.83984 0 -16 7.16016 -16 16
v32c0 8.83984 7.16016 16 16 16h416c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-176v-64c123.71 0 224 -100.29 224 -224c0 -17.6699 -14.3301 -32 -32 -32h-272zM416 252.49v-124.49h124.79c-12.7598 62.5596 -62.2402 111.7 -124.79 124.49z
M635.37 -10.8096c6.58984 -6.61035 6.04004 -17.5205 -0.980469 -23.6602c-33.1494 -29.0498 -53.5693 -29.5205 -68.4492 -29.5205h-325.94c-8.83984 0 -16 7.18066 -16 16.0303v32.0596c0 8.85059 7.16016 16.0303 16 16.0303h325.94
c10.7998 0 17.5498 4.48047 24.6396 11.25c6.40039 6.11035 16.3896 6.27051 22.6396 0.00976562z" />
    <glyph glyph-name="infinity" unicode="&#xf534;" horiz-adv-x="640" 
d="M471.1 352c93.1006 0 168.9 -71.7998 168.9 -160s-75.7998 -160 -168.9 -160c-66.0996 0 -117.8 41.2998 -151.1 78.5996c-33.2998 -37.2998 -85 -78.5996 -151.1 -78.5996c-93.1006 0 -168.9 71.7998 -168.9 160s75.7998 160 168.9 160
c66.0996 0 117.8 -41.2998 151.1 -78.5996c33.2998 37.2998 85 78.5996 151.1 78.5996zM168.9 128c38.0996 0 73.5996 36.4004 94 64c-20.6006 27.9004 -55.8008 64 -94 64c-40.2002 0 -72.9004 -28.7002 -72.9004 -64s32.7002 -64 72.9004 -64zM471.1 128
c40.2002 0 72.9004 28.7002 72.9004 64s-32.7002 64 -72.9004 64c-38.0996 0 -73.5996 -36.4004 -94 -64c20.6006 -27.9004 55.8008 -64 94 -64z" />
    <glyph glyph-name="kiwi-bird" unicode="&#xf535;" horiz-adv-x="576" 
d="M575.81 230.02c0.300781 -5.7793 0.160156 -246.02 0.160156 -246.02c0 -7.30957 -4.95996 -13.7002 -12.0498 -15.5c-1.30957 -0.339844 -2.63965 -0.5 -3.9502 -0.5c-5.75 0 -11.1895 3.11035 -14.0498 8.33984l-74.4102 136.44
c-7.04004 -0.470703 2.43066 -0.780273 -23.0498 -0.780273c-54.5996 0 -106.39 -19.25 -152.13 -49.0596c-12.46 -8.12012 -26.0996 -14.4502 -40.3398 -19.5107v-59.4297c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v49.1797
c-5.32031 -0.449219 -10.5605 -1.17969 -16 -1.17969c-16.6006 0 -32.6406 2.2998 -48 6.25977v-54.2598c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v73.9902c-57.3105 33.21 -95.9502 95.0596 -95.9902 166.01
c-0.0800781 145.76 129.3 182.88 147.31 186.94c57.1709 12.9199 111.221 0.259766 153.21 -28.7002c43.4902 -29.9902 94.9209 -46.2402 147.74 -46.2402h9.37012c60.6504 0 115.01 -45.4102 118.18 -105.98zM463.97 200c13.25 0 24 10.75 24 24
c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24zM543.97 46.75v99.0596c-11.1299 -11.3799 -24.7393 -20.1494 -39.8594 -25.9795z" />
    <glyph glyph-name="less-than" unicode="&#xf536;" horiz-adv-x="384" 
d="M365.46 90.2598c16.0703 -7.49023 23.0205 -26.5801 15.5303 -42.6396l-13.5605 -29.0801c-7.48926 -16.0596 -26.5801 -23.0098 -42.6396 -15.5205l-306.31 142.83c-11.2705 5.25 -18.4805 16.5605 -18.4805 29v34.2402c0.00488281 12.8389 7.55664 23.9043 18.4805 29
l306.46 142.91c16.0195 7.46973 35.0596 0.540039 42.5293 -15.4805l13.5205 -29c7.46973 -16.0195 0.540039 -35.0596 -15.4805 -42.5293l-218.47 -101.88z" />
    <glyph glyph-name="less-than-equal" unicode="&#xf537;" horiz-adv-x="448" 
d="M54.9805 233.8c-13.7705 4.52051 -22.9805 16.6104 -22.9805 30.1699v15.96c0 13.5703 9.20996 25.6602 22.9805 30.1807l301.71 119.96c18.29 6 38.5098 -2.53027 45.1494 -19.0605l12.0303 -29.9199c6.63965 -16.5195 -2.81055 -34.79 -21.1006 -40.79
l-175.56 -68.0898l175.44 -68.0498c18.3896 -6.03027 27.8896 -24.3906 21.21 -41l-12.0908 -30.0801c-6.66992 -16.6104 -26.9893 -25.1797 -45.3799 -19.1504zM424 48c13.25 0 24 -10.7402 24 -24v-48c0 -13.25 -10.75 -24 -24 -24h-400c-13.25 0 -24 10.75 -24 24v48
c0 13.2598 10.75 24 24 24h400z" />
    <glyph glyph-name="memory" unicode="&#xf538;" horiz-adv-x="640" 
d="M640 317.06c-18.5996 -6.60938 -32 -24.1895 -32 -45.0596s13.4004 -38.4502 32 -45.0596v-98.9404h-640v98.9404c18.5996 6.60938 32 24.1895 32 45.0596s-13.4004 38.4502 -32 45.0596v34.9404c0 17.6699 14.3301 32 32 32h576c17.6699 0 32 -14.3301 32 -32v-34.9404z
M224 192v128h-64v-128h64zM352 192v128h-64v-128h64zM480 192v128h-64v-128h64zM0 0v96h640v-96h-64v26.6699c0 8.83984 -7.16016 16 -16 16s-16 -7.16016 -16 -16v-26.6699h-128v26.6699c0 8.83984 -7.16016 16 -16 16s-16 -7.16016 -16 -16v-26.6699h-128v26.6699
c0 8.83984 -7.16016 16 -16 16s-16 -7.16016 -16 -16v-26.6699h-128v26.6699c0 8.83984 -7.16016 16 -16 16s-16 -7.16016 -16 -16v-26.6699h-64z" />
    <glyph glyph-name="microphone-alt-slash" unicode="&#xf539;" horiz-adv-x="640" 
d="M633.82 -10.0996c6.97949 -5.43066 8.22949 -15.4805 2.81934 -22.4502l-19.6396 -25.2705c-5.42969 -6.97949 -15.4805 -8.23926 -22.46 -2.80957l-588.36 454.729c-6.97949 5.43066 -8.22949 15.4805 -2.80957 22.4502l19.6396 25.2705
c5.41992 6.97949 15.4805 8.22949 22.46 2.80957l178.53 -138v45.3604c0 53.0195 42.9805 96 96 96s96 -42.9805 96 -96h-85.3301c-5.88965 0 -10.6699 -3.58008 -10.6699 -8v-16c0 -4.41992 4.78027 -8 10.6699 -8h85.3301v-32h-85.3301
c-5.88965 0 -10.6699 -3.58008 -10.6699 -8v-16c0 -4.41992 4.78027 -8 10.6699 -8h85.3301v-32h-85.0596l41.3994 -32h43.6699c0 -10.4502 -2.17969 -20.2705 -5.2793 -29.6699l26.5498 -20.5205c6.75977 15.4004 10.7197 32.2803 10.7197 50.2002v48
c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-48c0 -28.9805 -7.25977 -56.21 -19.7402 -80.3301zM400 -16c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16h-160c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h56
v34.1504c-88.0303 12.1396 -152 92.0498 -152 181.689v6.85059l52.0303 -40.2207c12.4395 -53.2197 55.3301 -96.3994 111.18 -101.85c6.94043 -0.669922 13.6396 -0.200195 20.3496 0.200195l50.4004 -38.96c-10.8604 -3.80078 -22.25 -6.45996 -33.96 -8.08008v-33.7803
h56z" />
    <glyph glyph-name="money-bill-wave" unicode="&#xf53a;" horiz-adv-x="640" 
d="M621.16 393.54c11.6094 -4.87012 18.8398 -16.8301 18.8496 -29.4697v-317.25c0 -18.4902 -15.04 -31.8105 -32.25 -31.8105c-3.39941 0 -6.87988 0.520508 -10.3496 1.62012c-30.8906 9.7998 -61.7598 13.7197 -92.6504 13.7197
c-123.17 0 -246.34 -62.3496 -369.51 -62.3496c-38.7998 0 -77.6201 6.19043 -116.41 22.4697c-11.6094 4.86035 -18.8398 16.8301 -18.8398 29.46v317.261c0 18.4893 15.04 31.8096 32.25 31.8096c3.40039 0 6.87988 -0.519531 10.3496 -1.62012
c30.8906 -9.7998 61.7607 -13.7197 92.6504 -13.7197c123.17 0 246.33 62.3496 369.5 62.3398c38.7998 0 77.6201 -6.19043 116.41 -22.46zM48 315.78v-60.4707c31 0 56.8398 22.1504 62.7197 51.54c-21.5996 1.36035 -42.5996 3.89062 -62.7197 8.93066zM48 30.7803
c20.1201 -7.31055 41.1797 -11.8105 63.71 -13.6201c-1.53027 34.1299 -29.3398 61.3994 -63.71 61.3994v-47.7793zM320 96c44.1699 0 80 42.9697 80 96c0 53.0195 -35.8203 96 -80 96s-80 -42.9805 -80 -96c0 -53.0098 35.8096 -96 80 -96zM592 68.2197v57.7207
c-26.8203 -3.40039 -48.4502 -23.2002 -54.3203 -49.2803c18.6104 -1.58984 36.8008 -4.0498 54.3203 -8.44043zM592 304.33v48.8896c-17.7197 6.43066 -36.2695 10.4902 -55.8096 12.6602c0.949219 -31.8496 24.9199 -57.6396 55.8096 -61.5498z" />
    <glyph glyph-name="money-bill-wave-alt" unicode="&#xf53b;" horiz-adv-x="640" 
d="M621.16 393.54c11.6094 -4.87012 18.8398 -16.8301 18.8496 -29.4697v-317.25c0 -18.4902 -15.04 -31.8105 -32.25 -31.8105c-3.39941 0 -6.87988 0.520508 -10.3496 1.62012c-30.8906 9.7998 -61.7598 13.7197 -92.6504 13.7197
c-123.17 0 -246.34 -62.3496 -369.51 -62.3496c-38.7998 0 -77.6201 6.19043 -116.41 22.4697c-11.6094 4.86035 -18.8398 16.8301 -18.8398 29.46v317.261c0 18.4893 15.04 31.8096 32.25 31.8096c3.40039 0 6.87988 -0.519531 10.3496 -1.62012
c30.8906 -9.7998 61.7607 -13.7197 92.6504 -13.7197c123.17 0 246.33 62.3496 369.5 62.3398c38.7998 0 77.6201 -6.19043 116.41 -22.46zM320 96c44.1699 0 80 42.9697 80 96c0 53.0195 -35.8203 96 -80 96s-80 -42.9805 -80 -96c0 -53.0098 35.8096 -96 80 -96z" />
    <glyph glyph-name="money-check" unicode="&#xf53c;" horiz-adv-x="640" 
d="M0 0v320h640v-320c0 -17.6699 -14.3301 -32 -32 -32h-576c-17.6699 0 -32 14.3301 -32 32zM448 208v-32c0 -8.83984 7.16016 -16 16 -16h96c8.83984 0 16 7.16016 16 16v32c0 8.83984 -7.16016 16 -16 16h-96c-8.83984 0 -16 -7.16016 -16 -16zM448 88v-16
c0 -4.41992 3.58008 -8 8 -8h112c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-112c-4.41992 0 -8 -3.58008 -8 -8zM64 184v-16c0 -4.41992 3.58008 -8 8 -8h304c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-304c-4.41992 0 -8 -3.58008 -8 -8z
M64 88v-16c0 -4.41992 3.58008 -8 8 -8h176c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-176c-4.41992 0 -8 -3.58008 -8 -8zM624 416c8.83984 0 16 -7.16016 16 -16v-48h-640v48c0 8.83984 7.16016 16 16 16h608z" />
    <glyph glyph-name="money-check-alt" unicode="&#xf53d;" horiz-adv-x="640" 
d="M608 416c17.6699 0 32 -14.3301 32 -32v-384c0 -17.6699 -14.3301 -32 -32 -32h-576c-17.6699 0 -32 14.3301 -32 32v384c0 17.6699 14.3301 32 32 32h576zM176 120.12c23.6201 0.629883 42.6699 20.54 42.6699 45.0703c0 19.9697 -12.9902 37.8096 -31.5801 43.3896
l-45 13.5c-5.16016 1.54004 -8.76953 6.78027 -8.76953 12.7295c0 7.27051 5.2998 13.1904 11.7998 13.1904h28.1104c4.55957 0 8.94922 -1.29004 12.8193 -3.71973c3.24023 -2.03027 7.36035 -1.91016 10.1299 0.729492l11.75 11.21
c3.53027 3.37012 3.33008 9.20996 -0.569336 12.1406c-9.10059 6.83984 -20.0801 10.7695 -31.3701 11.3496v16.29c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-16.1201c-23.6201 -0.629883 -42.6699 -20.5498 -42.6699 -45.0703
c0 -19.9697 12.9893 -37.8096 31.5801 -43.3896l45 -13.5c5.15918 -1.54004 8.76953 -6.78027 8.76953 -12.7295c0 -7.27051 -5.2998 -13.1904 -11.7998 -13.1904h-28.1104c-4.55957 0 -8.9502 1.2998 -12.8193 3.71973
c-3.24023 2.03027 -7.36035 1.91016 -10.1309 -0.729492l-11.75 -11.21c-3.5293 -3.37012 -3.3291 -9.20996 0.570312 -12.1406c9.10059 -6.83008 20.0801 -10.7695 31.3701 -11.3496v-16.29c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v16.1201zM416 136v16
c0 4.41992 -3.58008 8 -8 8h-112c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h112c4.41992 0 8 3.58008 8 8zM576 136v16c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8z
M576 232v16c0 4.41992 -3.58008 8 -8 8h-272c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h272c4.41992 0 8 3.58008 8 8z" />
    <glyph glyph-name="not-equal" unicode="&#xf53e;" horiz-adv-x="448" 
d="M416 240h-98.4199l-74.5303 -96h172.95c17.6699 0 32 -14.3301 32 -32v-32c0 -17.6699 -14.3301 -32 -32 -32h-247.48l-82.0898 -105.73c-5.37012 -7.00977 -15.4102 -8.34961 -22.4297 -2.96973l-25.4102 19.46c-7.00977 5.37988 -8.33984 15.4199 -2.96973 22.4307
l51.8701 66.8096h-55.4902c-17.6699 0 -32 14.3301 -32 32v32c0 17.6699 14.3301 32 32 32h130.03l74.5293 96h-204.56c-17.6699 0 -32 14.3301 -32 32v32c0 17.6699 14.3301 32 32 32h279.09l82.0801 105.73c5.37988 7.00977 15.4199 8.34961 22.4404 2.96973
l25.4092 -19.46c7.01074 -5.37012 8.34082 -15.4102 2.9707 -22.4307l-51.8701 -66.8096h23.8799c17.6699 0 32 -14.3301 32 -32v-32c0 -17.6699 -14.3301 -32 -32 -32z" />
    <glyph glyph-name="palette" unicode="&#xf53f;" 
d="M204.3 443c163.8 31.9004 307.2 -92.0996 307.7 -249.7c-0.0996094 -35.7002 -29.0996 -65.2998 -64.9004 -65.2998h-79.6992c-51 0 -84 -53 -60.9004 -98.4004c18.9004 -37.0996 -1.2998 -85.2998 -42.5 -91.6992c-127.1 -19.7002 -295.8 119.699 -258.8 306.699
c19.5996 99.1006 99.7002 179 199.1 198.4zM96 128c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM128 256c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM256 320
c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM384 256c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
    <glyph glyph-name="parking" unicode="&#xf540;" horiz-adv-x="448" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM240 128c52.9004 0 96 43.0996 96 96s-43.0996 96 -96 96h-96c-8.7998 0 -16 -7.2002 -16 -16v-224c0 -8.7998 7.2002 -16 16 -16h32
c8.7998 0 16 7.2002 16 16v48h48zM240 256c17.5996 0 32 -14.4004 32 -32s-14.4004 -32 -32 -32h-48v64h48z" />
    <glyph glyph-name="percentage" unicode="&#xf541;" horiz-adv-x="384" 
d="M109.25 274.75c-24.9902 -25 -65.5098 -25 -90.5098 0c-24.9902 24.9902 -24.9902 65.5195 0 90.5098s65.5195 24.9902 90.5098 0s24.9902 -65.5195 0 -90.5098zM365.25 109.26c25 -25 25 -65.5195 0 -90.5098c-24.9902 -24.9902 -65.5195 -24.9902 -90.5098 0
s-24.9902 65.5195 0 90.5098s65.5195 24.9902 90.5098 0zM363.31 340.69c12.5 -12.5 12.5 -32.7607 0 -45.25l-274.75 -274.75c-12.4893 -12.5 -32.75 -12.5 -45.25 0l-22.6191 22.6191c-12.5 12.4902 -12.5 32.75 0 45.25l274.75 274.75c12.4893 12.5 32.75 12.5 45.25 0z
" />
    <glyph glyph-name="project-diagram" unicode="&#xf542;" horiz-adv-x="640" 
d="M384 128c17.6699 0 32 -14.3301 32 -32v-128c0 -17.6699 -14.3301 -32 -32 -32h-128c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32h128zM192 416v-32h224v-64h-224v-47.5098l64.2803 -112.49h-0.280273c-23.5996 0 -44.0195 -12.9805 -55.1201 -32.04
l-73.1602 128.04h-95.7197c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32h128c17.6699 0 32 -14.3301 32 -32zM608 448c17.6699 0 32 -14.3301 32 -32v-128c0 -17.6699 -14.3301 -32 -32 -32h-128c-17.6699 0 -32 14.3301 -32 32v128
c0 17.6699 14.3301 32 32 32h128z" />
    <glyph glyph-name="receipt" unicode="&#xf543;" horiz-adv-x="384" 
d="M358.4 444.8c10.5996 7.90039 25.5996 0.400391 25.5996 -12.7998v-480c0 -13.2002 -15.0996 -20.7002 -25.5996 -12.7998l-38.4004 44.7998l-54.4004 -44.7998c-2.66602 -2.01953 -6.01367 -3.21777 -9.6123 -3.21777c-3.59961 0 -6.9209 1.19824 -9.58691 3.21777
l-54.4004 44.7998l-54.4004 -44.7998c-2.66602 -2.01953 -6.01367 -3.21777 -9.6123 -3.21777c-3.59961 0 -6.9209 1.19824 -9.58691 3.21777l-54.4004 44.7998l-38.4004 -44.7998c-10.5996 -7.90039 -25.5996 -0.400391 -25.5996 12.7998v480
c0 13.2002 15 20.7002 25.5996 12.7998l38.4004 -44.7998l54.4004 44.7998c2.66602 2.01953 6.01367 3.21777 9.6123 3.21777c3.59961 0 6.9209 -1.19824 9.58691 -3.21777l54.4004 -44.7998l54.4004 44.7998c2.66602 2.01953 6.01367 3.21777 9.6123 3.21777
c3.59961 0 6.9209 -1.19824 9.58691 -3.21777l54.4004 -44.7998zM320 88v16c0 4.40039 -3.59961 8 -8 8h-240c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h240c4.40039 0 8 3.59961 8 8zM320 184v16c0 4.40039 -3.59961 8 -8 8h-240
c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h240c4.40039 0 8 3.59961 8 8zM320 280v16c0 4.40039 -3.59961 8 -8 8h-240c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h240c4.40039 0 8 3.59961 8 8z" />
    <glyph glyph-name="robot" unicode="&#xf544;" horiz-adv-x="640" 
d="M32 224h32v-192h-32h-0.0390625c-17.6406 0 -31.9619 14.3213 -31.9619 31.9619c0 0.0126953 0.000976562 0.0253906 0.000976562 0.0380859v128v0.0390625c0 17.6406 14.3213 31.9619 31.9619 31.9619c0.0126953 0 0.0253906 -0.000976562 0.0380859 -0.000976562z
M544 272v-272c-0.0351562 -35.3066 -28.6934 -63.9648 -64 -64h-320c-35.3066 0.0351562 -63.9648 28.6934 -64 64v272v0.0263672c0 44.1387 35.835 79.9746 79.9736 79.9746c0.00878906 0 0.0175781 -0.000976562 0.0263672 -0.000976562h112v64
c0 17.6611 14.3389 32 32 32s32 -14.3389 32 -32v-64h112h0.0263672c44.1387 0 79.9746 -35.835 79.9746 -79.9736c0 -0.00878906 -0.000976562 -0.0175781 -0.000976562 -0.0263672zM264 192c0 22.0762 -17.9238 40 -40 40s-40 -17.9238 -40 -40s17.9238 -40 40 -40
c22.0752 0 40 17.9248 40 40zM256 64h-64v-32h64v32zM352 64h-64v-32h64v32zM456 192c0 22.0762 -17.9238 40 -40 40s-40 -17.9238 -40 -40s17.9238 -40 40 -40c22.0752 0 40 17.9248 40 40zM448 64h-64v-32h64v32zM640 192v-128v-0.0390625
c0 -17.6406 -14.3213 -31.9619 -31.9619 -31.9619c-0.0126953 0 -0.0253906 0.000976562 -0.0380859 0.000976562h-32v192h32h0.0390625c17.6406 0 31.9619 -14.3213 31.9619 -31.9619c0 -0.0126953 -0.000976562 -0.0253906 -0.000976562 -0.0380859z" />
    <glyph glyph-name="ruler" unicode="&#xf545;" horiz-adv-x="640" 
d="M635.7 280.8c8.7998 -15 3.59961 -34.2002 -11.6006 -42.7998l-496.8 -281.9c-15.2002 -8.59961 -34.7002 -3.5 -43.5 11.5l-79.5996 135.601c-8.7998 15 -3.5 34.0996 11.7002 42.7998l69 39.0996l59.6992 -101.399c2.2002 -3.7998 7.10059 -5.10059 10.9004 -2.90039
l13.7998 7.7998c3.7998 2.2002 5.10059 7 2.90039 10.7002l-59.7002 101.7l55.2002 31.2998l27.8994 -47.5c2.2002 -3.7998 7.10059 -5.09961 10.9004 -2.89941l13.7998 7.7998c3.7998 2.2002 5.10059 6.89941 2.90039 10.7002l-27.9004 47.3994l55.2002 31.2998
l59.7002 -101.699c2.2002 -3.80078 7.09961 -5.10059 10.8994 -2.90039l13.8008 7.7998c3.7998 2.2002 5.09961 7 2.89941 10.7002l-59.7998 101.7l55.2002 31.2998l27.8994 -47.2998c2.2002 -3.7998 7.10059 -5.10059 10.9004 -2.90039l13.7998 7.7998
c3.7998 2.2002 5.10059 6.90039 2.90039 10.7002l-27.9004 47.4004l55.2002 31.2998l59.7002 -101.6c2.2002 -3.80078 7.09961 -5.10059 10.8994 -2.90039l13.8008 7.7998c3.7998 2.2002 5.09961 6.90039 2.89941 10.7002l-59.7002 101.7l69 39.0996
c15.2002 8.60059 34.7002 3.5 43.5 -11.5z" />
    <glyph glyph-name="ruler-combined" unicode="&#xf546;" 
d="M160 160v-41.3799l-158.43 -158.42c-0.660156 2.55957 -1.57031 5.03027 -1.57031 7.7998v448c0 17.6699 14.3301 32 32 32h96c17.6699 0 32 -14.3301 32 -32v-32h-56c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h56v-64h-56
c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h56v-64h-56c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h56zM480 96c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-448
c-2.75977 0 -5.24023 0.910156 -7.7998 1.57031l158.43 158.43h41.3701v-56c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v56h64v-56c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v56h64v-56c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8
v56h32z" />
    <glyph glyph-name="ruler-horizontal" unicode="&#xf547;" horiz-adv-x="576" 
d="M544 320c17.6699 0 32 -14.3301 32 -32v-192c0 -17.6699 -14.3301 -32 -32 -32h-512c-17.6699 0 -32 14.3301 -32 32v192c0 17.6699 14.3301 32 32 32h48v-88c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v88h64v-88c0 -4.41992 3.58008 -8 8 -8h16
c4.41992 0 8 3.58008 8 8v88h64v-88c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v88h64v-88c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v88h64v-88c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v88h48z" />
    <glyph glyph-name="ruler-vertical" unicode="&#xf548;" horiz-adv-x="256" 
d="M168 32h88v-64c0 -17.6699 -14.3301 -32 -32 -32h-192c-17.6699 0 -32 14.3301 -32 32v448c0 17.6699 14.3301 32 32 32h192c17.6699 0 32 -14.3301 32 -32v-64h-88c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h88v-64h-88
c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h88v-64h-88c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h88v-64h-88c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8z" />
    <glyph glyph-name="school" unicode="&#xf549;" horiz-adv-x="640" 
d="M0 224c0 17.6699 14.3301 32 32 32h64v-320h-80c-8.83984 0 -16 7.16016 -16 16v272zM360 272c4.41992 0 8 -3.58008 8 -8v-16c0 -4.41992 -3.58008 -8 -8 -8h-48c-4.41992 0 -8 3.58008 -8 8v64c0 4.41992 3.58008 8 8 8h16c4.41992 0 8 -3.58008 8 -8v-40h24z
M497.75 335.96c8.90039 -5.92969 14.25 -15.9297 14.25 -26.6299v-373.33h-128v144c0 8.83984 -7.16016 16 -16 16h-96c-8.83984 0 -16 -7.16016 -16 -16v-144h-128v373.34c0.00195312 11.1084 5.64453 20.8828 14.25 26.6201l160 106.67
c5.0752 3.38086 11.2324 5.35156 17.7822 5.35156s12.6426 -1.9707 17.7178 -5.35156zM320 192c44.1797 0 80 35.8203 80 80s-35.8203 80 -80 80s-80 -35.8203 -80 -80s35.8203 -80 80 -80zM608 256c17.6699 0 32 -14.3301 32 -32v-272c0 -8.83984 -7.16016 -16 -16 -16h-80
v320h64z" />
    <glyph glyph-name="screwdriver" unicode="&#xf54a;" 
d="M448 448l64 -64l-96 -128h-62.0596l-83.0303 -83.0303c-4.25 6.79004 -9.07031 13.2705 -14.8701 19.0703c-5.7998 5.80957 -12.2803 10.6201 -19.0703 14.8701l83.0303 83.0303v62.0596zM128 169.41c29.1104 29.1094 76.2998 29.1094 105.41 0
c29.1094 -29.1104 29.1094 -76.2998 0 -105.41l-117.08 -117.08c-14.5605 -14.5596 -38.1504 -14.5596 -52.71 0l-52.7002 52.7002c-14.5498 14.5596 -14.5498 38.1602 0 52.71z" />
    <glyph glyph-name="shoe-prints" unicode="&#xf54b;" horiz-adv-x="640" 
d="M192 288c-35.3496 0 -64 28.6504 -64 64s28.6504 64 64 64h32v-128h-32zM0 32c0 35.3496 28.6504 64 64 64h32v-128h-32c-35.3496 0 -64 28.6504 -64 64zM337.46 160c90.3604 0 174.54 -32 174.54 -96c0 -45.2197 -39.0996 -97.2998 -148.58 -120.82
c-31.9795 -6.87012 -64.8896 -8.50977 -97.5801 -6.19922c-27.2998 1.92969 -54.0996 7.76953 -80.3096 15.0498l-57.5303 15.9697v128c60.21 0 79.9404 15.6201 104.73 32c28.5693 18.8799 69.8193 32 104.729 32zM491.42 440.81
c109.48 -23.5098 148.58 -75.5898 148.58 -120.81c0 -64 -84.1797 -96 -174.54 -96c-34.9102 0 -76.1602 13.1201 -104.729 32c-24.79 16.3799 -44.5303 32 -104.73 32v128l57.5303 15.9697c26.21 7.27051 53.0098 13.1104 80.3096 15.04
c32.6904 2.32031 65.6006 0.669922 97.5801 -6.2002z" />
    <glyph glyph-name="skull" unicode="&#xf54c;" 
d="M256 448c141.4 0 256 -100.3 256 -224c0 -70.0996 -36.9004 -132.6 -94.5 -173.7c-9.7002 -6.89941 -15.2002 -18.2002 -13.5 -29.8994l9.40039 -66.2002c1.39941 -9.60059 -6 -18.2002 -15.7002 -18.2002h-77.7002v56c0 4.40039 -3.59961 8 -8 8h-16
c-4.40039 0 -8 -3.59961 -8 -8v-56h-64v56c0 4.40039 -3.59961 8 -8 8h-16c-4.40039 0 -8 -3.59961 -8 -8v-56h-77.7002c-9.7002 0 -17.0996 8.59961 -15.7002 18.2002l9.40039 66.2002c1.7002 11.7998 -3.90039 23 -13.5 29.8994
c-57.5996 41.1006 -94.5 103.601 -94.5 173.7c0 123.7 114.6 224 256 224zM160 128c35.2998 0 64 28.7002 64 64s-28.7002 64 -64 64s-64 -28.7002 -64 -64s28.7002 -64 64 -64zM352 128c35.2998 0 64 28.7002 64 64s-28.7002 64 -64 64s-64 -28.7002 -64 -64
s28.7002 -64 64 -64z" />
    <glyph glyph-name="smoking-ban" unicode="&#xf54d;" 
d="M96 144v64c0 8.7998 7.2002 16 16 16h21.5l96 -96h-117.5c-8.7998 0 -16 7.2002 -16 16zM256 448c141.4 0 256 -114.6 256 -256s-114.6 -256 -256 -256s-256 114.6 -256 256s114.6 256 256 256zM256 0c41.4004 0 79.7002 13.2998 111.1 35.7002l-267.399 267.399
c-22.4004 -31.3994 -35.7002 -69.6992 -35.7002 -111.1c0 -105.9 86.0996 -192 192 -192zM301.2 192l32 -32h50.7998v32h-82.7998zM412.3 80.9004c22.4004 31.3994 35.7002 69.6992 35.7002 111.1c0 105.9 -86.0996 192 -192 192
c-41.4004 0 -79.7002 -13.2998 -111.1 -35.7002l124.3 -124.3h130.8c8.7998 0 16 -7.2002 16 -16v-64c0 -8.7998 -7.2002 -16 -16 -16h-34.7998zM320.6 320c32.1006 0 58.7002 -23.7002 63.3008 -54.5996c0.699219 -4.90039 -3 -9.40039 -8 -9.40039h-16.2002
c-3.7002 0 -7 2.5 -7.7002 6.09961c-2.7998 14.7002 -15.7998 25.9004 -31.4004 25.9004c-32.0996 0 -58.6992 23.7002 -63.2998 54.5996c-0.700195 4.90039 3 9.40039 8 9.40039h16.2002c3.7002 0 7 -2.5 7.7002 -6.09961
c2.7998 -14.7002 15.7998 -25.9004 31.3994 -25.9004z" />
    <glyph glyph-name="store" unicode="&#xf54e;" horiz-adv-x="616" 
d="M602 329.4c33.5996 -53.6006 3.7998 -128 -59 -136.4c-4.5 -0.599609 -9 -0.900391 -13.7002 -0.900391c-29.5 0 -55.7002 13 -73.7998 33.1006c-18 -20.1006 -44.2002 -33.1006 -73.7998 -33.1006c-29.5 0 -55.7998 13 -73.7998 33.1006
c-18 -20.1006 -44.2002 -33.1006 -73.8008 -33.1006c-29.5 0 -55.7998 13 -73.7998 33.1006c-18 -20.1006 -44.2002 -33.1006 -73.7998 -33.1006c-4.59961 0 -9.2002 0.300781 -13.7002 0.900391c-62.5996 8.5 -92.2998 82.9004 -58.7998 136.4l64.9004 103.6
c5.7998 9.2998 16.0996 15 27.0996 15h404c11 0 21.2998 -5.7002 27.0996 -15zM529.5 160c6.09961 0 12.0996 0.400391 18.2002 1.2002c5.59961 0.700195 11 2 16.3994 3.59961v-196.8c0 -17.7002 -14.2998 -32 -32 -32h-448c-17.6992 0 -32 14.2998 -32 32v196.8
c5.30078 -1.5 10.8008 -2.7998 16.4004 -3.59961c5.90039 -0.799805 12 -1.2002 18 -1.2002c10 0 19.9004 1.59961 29.5 3.7998v-99.7998h384v99.7998c9.59961 -2.2998 19.5 -3.7998 29.5 -3.7998z" />
    <glyph glyph-name="store-alt" unicode="&#xf54f;" horiz-adv-x="640" 
d="M320 64v160h64v-256c0 -17.7002 -14.2998 -32 -32 -32h-256c-17.7002 0 -32 14.2998 -32 32v256h64v-160h192zM634.6 305.8c14.1006 -21.2998 -1.09961 -49.7998 -26.5996 -49.7998h-575.9c-25.5996 0 -40.7998 28.5 -26.5996 49.7998l85.2998 128
c5.90039 8.90039 15.9004 14.2002 26.6006 14.2002h405.199c10.7002 0 20.7002 -5.2998 26.7002 -14.2002zM512 -48v272h64v-272c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16z" />
    <glyph glyph-name="stream" unicode="&#xf550;" 
d="M16 320c-8.83984 0 -16 7.16016 -16 16v64c0 8.83984 7.16016 16 16 16h416c8.83984 0 16 -7.16016 16 -16v-64c0 -8.83984 -7.16016 -16 -16 -16h-416zM496 240c8.83984 0 16 -7.16016 16 -16v-64c0 -8.83984 -7.16016 -16 -16 -16h-416c-8.83984 0 -16 7.16016 -16 16
v64c0 8.83984 7.16016 16 16 16h416zM432 64c8.83984 0 16 -7.16016 16 -16v-64c0 -8.83984 -7.16016 -16 -16 -16h-416c-8.83984 0 -16 7.16016 -16 16v64c0 8.83984 7.16016 16 16 16h416z" />
    <glyph glyph-name="stroopwafel" unicode="&#xf551;" 
d="M188.12 237.26l45.25 -45.2598l-45.2598 -45.25l-45.25 45.25zM301.25 259.88l-45.25 -45.25l-45.25 45.2598l45.25 45.25zM210.75 124.12l45.25 45.25l45.2598 -45.25l-45.2598 -45.2598zM256 448c141.38 0 256 -114.62 256 -256s-114.62 -256 -256 -256
s-256 114.62 -256 256s114.62 256 256 256zM442.68 152.4c1.44629 1.4502 2.3418 3.45312 2.3418 5.66113s-0.895508 4.20801 -2.3418 5.6582l-28.29 28.2803l28.2705 28.3096c3.12012 3.12012 3.12012 8.19043 0 11.3105l-11.3105 11.3096
c-3.11914 3.12012 -8.18945 3.12012 -11.3096 0l-28.29 -28.29l-45.25 45.2607l33.9404 33.9395l16.9697 -16.9697c3.12012 -3.12012 8.18945 -3.12012 11.3096 0l11.3105 11.3096c3.12012 3.12012 3.12012 8.19043 0 11.3105l-16.9707 16.9697l16.9707 16.9697
c3.12012 3.12012 3.12012 8.19043 0 11.3105l-11.3105 11.3096c-3.12012 3.12012 -8.18945 3.12012 -11.3096 0l-16.9697 -16.9697l-16.9707 16.9697c-3.12012 3.12012 -8.18945 3.12012 -11.3096 0l-11.3105 -11.3096c-3.11914 -3.12012 -3.11914 -8.19043 0 -11.3105
l16.9707 -16.9697l-33.9404 -33.9404l-45.2598 45.25l28.29 28.29c3.12012 3.12012 3.12012 8.19043 0 11.3105l-11.3105 11.3096c-3.11914 3.12012 -8.18945 3.12012 -11.3096 0l-28.29 -28.29l-28.3096 28.2705c-3.12012 3.12012 -8.19043 3.12012 -11.3105 0
l-11.3096 -11.3105c-3.12012 -3.11914 -3.12012 -8.18945 0 -11.3096l28.29 -28.29l-45.2607 -45.25l-33.9395 33.9404l16.9697 16.9697c3.12012 3.12012 3.12012 8.18945 0 11.3096l-11.3096 11.3105c-3.12012 3.12012 -8.19043 3.12012 -11.3105 0l-16.9697 -16.9707
l-16.9697 16.9707c-3.12012 3.12012 -8.19043 3.12012 -11.3105 0l-11.3096 -11.3105c-3.12012 -3.12012 -3.12012 -8.18945 0 -11.3096l16.9697 -16.9697l-16.9697 -16.9707c-3.12012 -3.12012 -3.12012 -8.18945 0 -11.3096l11.3096 -11.3105
c3.12012 -3.11914 8.19043 -3.11914 11.3105 0l16.9697 16.9707l33.9404 -33.9404l-45.25 -45.2598l-28.29 28.29c-3.12012 3.12012 -8.19043 3.12012 -11.3105 0l-11.3096 -11.3105c-3.12012 -3.11914 -3.12012 -8.18945 0 -11.3096l28.29 -28.29l-28.29 -28.29
c-3.12012 -3.12012 -3.12012 -8.19043 0 -11.3096l11.3398 -11.3301c3.12012 -3.12012 8.18945 -3.12012 11.3096 0l28.29 28.29l45.25 -45.25l-33.9395 -33.9404l-16.9707 16.9697c-3.11914 3.12012 -8.18945 3.12012 -11.3096 0l-11.3096 -11.3096
c-3.12012 -3.12012 -3.12012 -8.19043 0 -11.3105l16.9697 -16.9697l-16.9697 -16.9697c-3.12012 -3.12012 -3.12012 -8.19043 0 -11.3105l11.3096 -11.3096c3.12012 -3.12012 8.19043 -3.12012 11.3096 0l16.9707 16.9697l16.9697 -16.9697
c3.12012 -3.12012 8.19043 -3.12012 11.3096 0l11.3105 11.3096c3.12012 3.12012 3.12012 8.19043 0 11.3105l-16.9697 16.9697l33.9395 33.9404l45.25 -45.2598l-28.29 -28.29c-3.12012 -3.12012 -3.12012 -8.19043 0 -11.3105l11.3105 -11.3096
c3.11914 -3.12012 8.18945 -3.12012 11.3096 0l28.29 28.29l28.3096 -28.2705c3.12012 -3.12012 8.19043 -3.12012 11.3105 0l11.3096 11.3105c3.12012 3.11914 3.12012 8.18945 0 11.3096l-28.29 28.29l45.2607 45.2598l33.9395 -33.9395l-16.9697 -16.9707
c-3.12012 -3.11914 -3.12012 -8.18945 0 -11.3096l11.3096 -11.3096c3.12012 -3.12012 8.19043 -3.12012 11.3105 0l16.9697 16.9697l16.9697 -16.9697c3.12012 -3.12012 8.19043 -3.12012 11.3105 0l11.3096 11.3096c3.12012 3.12012 3.12012 8.19043 0 11.3096
l-16.9697 16.9707l16.9697 16.9697c3.12012 3.12012 3.12012 8.19043 0 11.3096l-11.3096 11.3105c-3.12012 3.12012 -8.19043 3.12012 -11.3105 0l-16.9697 -16.9697l-33.9404 33.9395l45.25 45.25l28.29 -28.29c3.12012 -3.12012 8.19043 -3.12012 11.3105 0zM278.63 192
l45.2598 45.2598l45.25 -45.2598l-45.25 -45.25z" />
    <glyph glyph-name="toolbox" unicode="&#xf552;" 
d="M502.63 233.37c6 -6 9.37012 -14.1396 9.37012 -22.6201v-82.75h-128v16c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-16h-128v16c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-16h-128v82.7402
c0 8.49023 3.37012 16.6299 9.37012 22.6299l45.25 45.2598c6.00977 6 14.1396 9.37012 22.6299 9.37012h50.75v80c0 26.5098 21.4902 48 48 48h160c26.5098 0 48 -21.4902 48 -48v-80.0098h50.75c8.49023 0 16.6299 -3.37012 22.6299 -9.37012zM320 288v64h-128v-64h128z
M384 80v16h128v-96c0 -17.6699 -14.3301 -32 -32 -32h-448c-17.6699 0 -32 14.3301 -32 32v96h128v-16c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16v16h128v-16c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16z" />
    <glyph glyph-name="tshirt" unicode="&#xf553;" horiz-adv-x="640" 
d="M631.2 351.5c7.89941 -3.90039 11.0996 -13.5996 7.09961 -21.5l-57.2998 -114.4c-4 -8 -13.5996 -11.1992 -21.5 -7.19922l-56.5996 27.6992c-10.6006 5.2002 -23 -2.59961 -23 -14.3994v-253.7c0 -17.7002 -14.3008 -32 -32 -32h-256c-17.7002 0 -32 14.2998 -32 32
v253.6c0 11.9004 -12.4004 19.6006 -23 14.4004l-56.6006 -27.7002c-7.89941 -3.89941 -17.5 -0.700195 -21.5 7.2002l-57.2002 114.5c-3.89941 7.90039 -0.699219 17.5 7.2002 21.5l194.7 96.5c20.0996 -27.7998 64.5996 -47.2002 116.5 -47.2002
s96.4004 19.4004 116.5 47.2002z" />
    <glyph glyph-name="walking" unicode="&#xf554;" horiz-adv-x="320" 
d="M208 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM302.5 202.9c15.7002 -7.90039 22 -27.3008 14.2998 -43c-7.89941 -15.8008 -26.8994 -22.2002 -42.5 -14.3008l-23.2998 11.8008c-15 7.59961 -26.4004 20.8994 -31.7002 37
l-5.5 16.5l-17.2002 -68.7002l45.5 -49.7002c7.2002 -7.7998 12.3008 -17.4004 14.9004 -27.7002l22.2002 -89c4.2998 -17.0996 -6.2002 -34.5 -23.2998 -38.7998c-17.1006 -4.2998 -34.5 6.2002 -38.8008 23.2998l-18.2998 73.2998
c-2.59961 10.3008 -7.7002 19.8008 -14.8994 27.7002l-59.9004 65.4004c-14.5 15.8994 -20.0996 38 -14.9004 58.7998l15.2002 60.7002l-26.7998 -10.7998c-7.2002 -2.90039 -13 -8.40039 -16.5 -15.4004l-6.7002 -13.5996
c-7.89941 -15.8008 -26.8994 -22.2002 -42.5 -14.3008c-15.7002 7.90039 -22 27.1006 -14.2002 42.9004l6.7002 13.5996c10.4004 21 28.1006 37.5 49.7002 46.2002c37.4004 15.1006 57.2998 25.2998 93.2998 25.2002c46.5 -0.0996094 87.5 -31.2998 102.2 -75.9004
l9.7002 -29.3994zM73.5996 62.2002l20.7002 51.5c8.7002 -11.9004 -7.89941 6.59961 47.4004 -53.7002l-13.5 -33.7998c-3.2998 -8.10059 -8.10059 -15.4004 -14.2002 -21.5l-59.4004 -59.4004c-12.5 -12.5 -32.6992 -12.5 -45.1992 0s-12.5 32.7998 0 45.2998l50 50.1006
c6.19922 6.09961 11 13.3994 14.1992 21.5z" />
    <glyph glyph-name="wallet" unicode="&#xf555;" 
d="M461.2 320c28.0195 0 50.7998 -21.5303 50.7998 -48v-256c0 -26.4697 -22.7803 -48 -50.7998 -48h-397.2c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h368c26.5098 0 48 -21.4902 48 -48c0 -8.83984 -7.16016 -16 -16 -16h-384
c-8.83984 0 -16 -7.16016 -16 -16s7.16016 -16 16 -16h381.2zM416 112c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
    <glyph glyph-name="angry" unicode="&#xf556;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM136 208c0 -17.7002 14.4004 -32 32.0996 -32c17.7002 0 32 14.2998 32 32c0 2.90039 -1 5.5 -1.69922 8.2002c0.599609 0 1.19922 -0.200195 1.69922 -0.200195
c6.90039 0 13.2002 4.5 15.3008 11.4004c2.59961 8.39941 -2.2002 17.3994 -10.7002 19.8994l-80 24c-8.5 2.5 -17.4004 -2.2002 -19.9004 -10.7002c-2.59961 -8.39941 2.2002 -17.3994 10.7002 -19.8994l31 -9.2998c-6.40039 -5.90039 -10.5 -14.1006 -10.5 -23.4004z
M304 53.7998c13.4004 -16.0996 38.2998 4 24.5 20.5c-20 24 -49.4004 37.7998 -80.5996 37.7998c-31.2002 0 -60.6006 -13.7998 -80.6006 -37.7998c-13.5996 -16.2998 11.1006 -36.7998 24.6006 -20.5c27.8994 33.4004 84.2998 33.4004 112.1 0zM380.6 240.7
c8.5 2.5 13.3008 11.3994 10.8008 19.8994c-2.5 8.40039 -11.5 13.2002 -19.9004 10.7002l-80 -24c-8.40039 -2.5 -13.2002 -11.3994 -10.7002 -19.8994c2.10059 -6.90039 8.40039 -11.4004 15.2998 -11.4004c0.600586 0 1.10059 0.0996094 1.7002 0.200195
c-0.799805 -2.60059 -1.7002 -5.2998 -1.7002 -8.2002c0 -17.7002 14.3008 -32 32 -32c17.7002 0 32 14.2998 32 32c0 9.2998 -4.19922 17.5996 -10.5 23.4004z" />
    <glyph glyph-name="archway" unicode="&#xf557;" horiz-adv-x="576" 
d="M560 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-159.98c-8.83984 0 -16 7.16016 -16 16v16l-0.0195312 160c0 53.0195 -42.9805 96 -96 96s-96 -42.9805 -96 -96v-176c0 -8.83984 -7.16016 -16 -16 -16h-159.98
c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h15.9805v352h512v-352h16zM560 448c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-544c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h544z" />
    <glyph glyph-name="atlas" unicode="&#xf558;" horiz-adv-x="448" 
d="M318.38 240c-5.28027 -31.2197 -25.5898 -57.1699 -53.2998 -70.4102c7.66992 19.0605 12.7197 43.3799 14.21 70.4102h39.0898zM318.38 272h-39.0898c-1.49023 27.0303 -6.53027 51.3496 -14.21 70.4102c27.71 -13.2402 48.0098 -39.1904 53.2998 -70.4102zM224 350.69
c7.69043 -7.4502 20.7695 -34.4307 23.4404 -78.6904h-46.8701c2.66016 44.2695 15.7393 71.2402 23.4297 78.6904zM182.92 342.41c-7.67969 -19.0605 -12.7197 -43.3799 -14.21 -70.4102h-39.0898c5.28027 31.2197 25.5898 57.1699 53.2998 70.4102zM182.92 169.59
c-27.71 13.2402 -48.0195 39.1904 -53.2998 70.4102h39.0898c1.49023 -27.0303 6.53027 -51.3496 14.21 -70.4102zM247.43 240c-2.66016 -44.2598 -15.7393 -71.2402 -23.4395 -78.6904c-7.69043 7.4502 -20.7705 34.4307 -23.4307 78.6904h46.8701zM448 89.5996
c0 -9.59961 -3.2002 -16 -9.59961 -19.1992c-3.2002 -12.8008 -3.2002 -57.6006 0 -73.6006c6.39941 -6.39941 9.59961 -12.7998 9.59961 -19.2002v-16c0 -16 -12.7998 -25.5996 -25.5996 -25.5996h-326.4c-54.4004 0 -96 41.5996 -96 96v320c0 54.4004 41.5996 96 96 96
h326.4c16 0 25.5996 -9.59961 25.5996 -25.5996v-332.801zM224 384c-70.6904 0 -128 -57.3096 -128 -128s57.3096 -128 128 -128s128 57.3096 128 128s-57.3096 128 -128 128zM384 0v64h-288c-16 0 -32 -12.7998 -32 -32s12.7998 -32 32 -32h288z" />
    <glyph glyph-name="award" unicode="&#xf559;" horiz-adv-x="384" 
d="M97.1201 85.3701c13.79 -13.7803 32.1104 -21.3701 51.6104 -21.3701c12.4395 0 24.4697 3.54004 35.3096 9.58008l-52.0498 -127.62c-4.39062 -10.7695 -18.4307 -13.4004 -26.4307 -4.95996l-36.2393 38.2803l-52.6904 -2.01074
c-11.6201 -0.439453 -19.8203 11.2607 -15.4297 22.0303l45.3701 111.24c7.55957 -5.87012 15.9199 -10.7705 25.4297 -13.3203c20.96 -5.60938 16.4297 -3.16016 25.1201 -11.8496zM382.8 -0.700195c4.39062 -10.7598 -3.80957 -22.4697 -15.4297 -22.0303
l-52.6904 2.01074l-36.25 -38.2803c-7.98926 -8.44043 -22.04 -5.80957 -26.4297 4.95996l-52.0498 127.62c10.8398 -6.03027 22.8701 -9.58008 35.3096 -9.58008c19.5 0 37.8301 7.58984 51.6201 21.3701c8.66992 8.66992 4.0498 6.20996 25.1201 11.8496
c9.50977 2.5498 17.8701 7.44043 25.4297 13.3203zM263 108c-13.2305 -13.4697 -33.8398 -15.8799 -49.7305 -5.82031c-6.13867 3.89746 -13.5029 6.15527 -21.3066 6.15527s-15.084 -2.25781 -21.2227 -6.15527c-15.9004 -10.0596 -36.5098 -7.64941 -49.7402 5.82031
c-14.7305 15 -16.4004 14.04 -38.7803 20.1396c-13.8896 3.79004 -24.75 14.8408 -28.4697 28.9805c-7.48047 28.3994 -5.54004 24.9697 -25.9502 45.75c-10.1699 10.3604 -14.1396 25.4502 -10.4199 39.5898c7.48047 28.4199 7.46973 24.46 0 52.8203
c-3.72949 14.1396 0.25 29.2295 10.4199 39.5801c20.4102 20.7793 18.4805 17.3594 25.9502 45.75c3.71973 14.1396 14.5801 25.1895 28.4697 28.9795c27.8906 7.61035 24.5303 5.62988 44.9404 26.4102c10.1699 10.3604 25 14.4004 38.8896 10.6104
c27.9199 -7.61035 24.0303 -7.60059 51.9004 0c13.8896 3.79004 28.7197 -0.260742 38.8896 -10.6104c20.4297 -20.79 17.0703 -18.7998 44.9502 -26.4102c13.8896 -3.79004 24.75 -14.8398 28.4697 -28.9795c7.48047 -28.3906 5.54004 -24.9707 25.9502 -45.75
c10.1699 -10.3506 14.1396 -25.4404 10.4199 -39.5801c-7.47949 -28.4102 -7.46973 -24.4502 0 -52.8301c3.71973 -14.1406 -0.25 -29.2305 -10.4199 -39.5801c-20.4102 -20.7803 -18.4697 -17.3506 -25.9502 -45.75c-3.71973 -14.1396 -14.5801 -25.1904 -28.4697 -28.9805
c-21.7598 -5.92969 -23.5098 -4.58984 -38.79 -20.1396zM97.6602 272.04c0 -53.0303 42.2402 -96.0205 94.3398 -96.0205s94.3398 42.9902 94.3398 96.0205s-42.2402 96.0195 -94.3398 96.0195s-94.3398 -42.9893 -94.3398 -96.0195z" />
    <glyph glyph-name="backspace" unicode="&#xf55a;" horiz-adv-x="640" 
d="M576 384c35.3496 0 64 -28.6504 64 -64v-256c0 -35.3496 -28.6504 -64 -64 -64h-370.75c-16.9697 0 -33.25 6.75 -45.25 18.75l-150.63 150.63c-12.5 12.4902 -12.5 32.75 0 45.25l150.63 150.62c11.5801 11.5869 27.5869 18.75 45.2471 18.75h0.0126953h370.74z
M491.31 129.94l-62.0596 62.0596l62.0596 62.0596c6.25 6.25 6.25 16.3809 0 22.6309l-22.6191 22.6191c-6.25 6.25 -16.3809 6.25 -22.6309 0l-62.0596 -62.0596l-62.0596 62.0596c-6.25 6.25 -16.3809 6.25 -22.6309 0l-22.6191 -22.6191
c-6.25 -6.25 -6.25 -16.3809 0 -22.6309l62.0596 -62.0596l-62.0596 -62.0596c-6.25 -6.25 -6.25 -16.3809 0 -22.6309l22.6191 -22.6191c6.25 -6.25 16.3809 -6.25 22.6309 0l62.0596 62.0596l62.0596 -62.0596c6.25 -6.25 16.3809 -6.25 22.6309 0l22.6191 22.6191
c6.25 6.25 6.25 16.3809 0 22.6309z" />
    <glyph glyph-name="bezier-curve" unicode="&#xf55b;" horiz-adv-x="640" 
d="M368 416c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h96zM208 360v-72c0 -9.4502 2.17969 -18.3604 5.87988 -26.4404c-34.2695 -24.3496 -59.7402 -59.9492 -71.04 -101.56
h-49.3994c13.6797 64.6797 54.1699 119.48 109.54 152h-79.7305c-9.5 -23.4404 -32.4102 -40 -59.25 -40c-35.3398 0 -64 28.6504 -64 64s28.6602 64 64 64c26.8398 0 49.75 -16.5596 59.25 -40h84.75zM160 128c17.6699 0 32 -14.3301 32 -32v-96
c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h96zM576 400c35.3398 0 64 -28.6504 64 -64s-28.6602 -64 -64 -64c-26.8398 0 -49.75 16.5596 -59.25 40h-79.7305c55.3701 -32.5195 95.8604 -87.3203 109.54 -152
h-49.3994c-11.2998 41.6104 -36.7705 77.21 -71.04 101.56c3.68945 8.08008 5.87988 16.9902 5.87988 26.4404v72h84.75c9.5 23.4404 32.4102 40 59.25 40zM576 128c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32
v96c0 17.6699 14.3301 32 32 32h96z" />
    <glyph glyph-name="bong" unicode="&#xf55c;" horiz-adv-x="448" 
d="M302.5 -64h-221c-23.1699 0 -44.4199 12.5801 -56 32.6602c-16.1904 28.0703 -25.5 60.5898 -25.5 95.3398c0 71.0303 38.6699 132.9 96 166.11v153.93l-15.9697 -0.0205078c-8.85059 -0.00976562 -16.0303 7.16016 -16.0205 16.0107l0.0400391 31.7295
c0.00976562 8.82031 7.16016 15.9707 15.9805 15.9805l223.939 0.259766c8.85059 0.00976562 16.0303 -7.16992 16.0205 -16.0195l-0.0400391 -31.7207c-0.00976562 -8.81934 -7.16016 -15.9697 -15.9805 -15.9795l-15.9697 -0.0205078v-154.16
c14.1201 -8.17969 27.0898 -18.1396 38.6504 -29.5098l39.4092 39.4102l-9.37988 9.37988c-6.25 6.25 -6.25 16.3799 0 22.6299l11.3105 11.3105c6.25 6.25 16.3799 6.25 22.6299 0l52.6895 -52.6904c6.25 -6.25 6.25 -16.3799 0 -22.6299l-11.2998 -11.3203
c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-9.37988 9.37988l-43.4404 -43.4395c17.3604 -28.8105 27.4404 -62.5 27.4404 -98.6201c0 -34.75 -9.30957 -67.2598 -25.5 -95.3398c-11.5703 -20.0801 -32.8203 -32.6602 -56 -32.6602zM120.06 188.57
c-24.8096 -14.3701 -44.1094 -35.7305 -56.5596 -60.5703h257c-12.4404 24.8398 -31.75 46.2002 -56.5596 60.5703l-23.9404 13.8701v181.76l-96 -0.110352v-181.649z" />
    <glyph glyph-name="brush" unicode="&#xf55d;" horiz-adv-x="384" 
d="M352 448c17.6699 0 32 -14.3301 32 -32v-224h-384v224c0 17.6699 14.3301 32 32 32h320zM0 128v32h384v-32c0 -35.3496 -28.6602 -64 -64 -64h-64v-64c0 -35.3496 -28.6602 -64 -64 -64s-64 28.6504 -64 64v64h-64c-35.3398 0 -64 28.6504 -64 64zM192 24
c-13.25 0 -24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24s24 10.75 24 24c0 13.2598 -10.75 24 -24 24z" />
    <glyph glyph-name="bus-alt" unicode="&#xf55e;" 
d="M488 320c13.25 0 24 -10.7402 24 -24v-80c0 -13.25 -10.75 -24 -24 -24h-8v-166.4c0 -12.7998 -9.59961 -25.5996 -25.5996 -25.5996h-6.40039v-32c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v32h-192v-32c0 -17.6699 -14.3301 -32 -32 -32h-32
c-17.6699 0 -32 14.3301 -32 32v32c-17.6699 0 -32 14.3301 -32 32v160h-8c-13.25 0 -24 10.75 -24 24v80c0 13.2598 10.75 24 24 24h8v48c0 44.7998 99.2002 80 224 80s224 -35.2002 224 -80v-48h8zM160 376v-16c0 -4.41992 3.58008 -8 8 -8h176c4.41992 0 8 3.58008 8 8
v16c0 4.41992 -3.58008 8 -8 8h-176c-4.41992 0 -8 -3.58008 -8 -8zM112 48c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM240 160v160h-112c-17.6699 0 -32 -14.3301 -32 -32v-96c0 -17.6699 14.3301 -32 32 -32h112zM272 160
h112c17.6699 0 32 14.3301 32 32v96c0 17.6699 -14.3301 32 -32 32h-112v-160zM400 48c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
    <glyph glyph-name="cannabis" unicode="&#xf55f;" 
d="M503.47 87.75c5.24023 -2.75977 8.52051 -8.20996 8.53027 -14.1504c0.00976562 -5.92969 -3.26953 -11.3691 -8.50977 -14.1494c-2.4502 -1.29004 -60.7705 -31.7197 -133.49 -31.7197c-6.12988 0 -11.96 0.0996094 -17.5 0.30957
c11.3604 -22.2305 16.5195 -38.3096 16.8096 -39.2197c1.80078 -5.68066 0.290039 -11.8906 -3.90918 -16.1104c-2.90137 -2.91113 -6.91699 -4.70801 -11.3477 -4.70801c-1.6543 0 -3.25098 0.250977 -4.75293 0.717773c-1.83008 0.580078 -37.7197 11.9902 -77.2998 39.29
v-64.0098c0 -4.41992 -3.58008 -8 -8 -8h-16c-4.41992 0 -8 3.58008 -8 8v64.0195c-39.5801 -27.2998 -75.4697 -38.7197 -77.2998 -39.2891c-1.50195 -0.466797 -3.10059 -0.724609 -4.75586 -0.724609c-4.43066 0 -8.44336 1.80273 -11.3447 4.71387
c-4.19922 4.2207 -5.70996 10.4307 -3.90918 16.1104c0.290039 0.910156 5.43945 16.9902 16.8096 39.2197c-5.54004 -0.209961 -11.3604 -0.30957 -17.5 -0.30957c-72.7305 0 -131.04 30.4297 -133.49 31.7197c-5.06836 2.68652 -8.52441 7.99805 -8.52441 14.1299
c0 6.13965 3.46484 11.4766 8.54492 14.1602c1.56934 0.820312 32.3896 16.8896 76.7793 25.8096c-64.25 75.1201 -84.0498 161.671 -84.9297 165.641c-0.25 1.12207 -0.384766 2.28125 -0.384766 3.47754c0 4.40723 1.78711 8.39941 4.6748 11.292
c3.03027 3.04004 7.12012 4.7002 11.3203 4.7002c1.14941 0 2.2998 -0.129883 3.43945 -0.379883c3.89062 -0.860352 86.5508 -19.5996 160.58 -79.7598c0 1.45996 -0.00976562 2.92969 -0.00976562 4.39941c0 118.79 59.9805 213.721 62.5303 217.7
c2.93945 4.58984 8.01953 7.37012 13.4697 7.37012c5.65625 0 10.6211 -2.92969 13.46 -7.37012c2.5498 -3.97949 62.5303 -98.9102 62.5303 -217.7c0 -1.46973 0 -2.93945 -0.00976562 -4.39941c74.0391 60.1699 156.699 78.9102 160.579 79.7598
c1.15039 0.259766 2.30078 0.379883 3.44043 0.379883c4.2002 0 8.29004 -1.66016 11.3203 -4.7002c3.85938 -3.87012 5.47949 -9.43945 4.2998 -14.7695c-0.879883 -3.96973 -20.6797 -90.5205 -84.9297 -165.641c44.3896 -8.91992 75.2197 -24.9893 76.7793 -25.8096z" />
    <glyph glyph-name="check-double" unicode="&#xf560;" 
d="M505 273.2c9.2998 -9.2998 9.2998 -24.5 -0.0996094 -34l-296 -296.2c-9.30078 -9.40039 -24.5 -9.40039 -33.9004 0l-168 168.1c-9.40039 9.40039 -9.40039 24.6006 0 34l39.7002 39.7002c9.2998 9.40039 24.5 9.40039 33.8994 0l111.4 -111.5l239.5 239.5
c9.2998 9.40039 24.5 9.40039 33.9004 0zM180.7 167.2l-112 112.2c-6.2002 6.19922 -6.2002 16.2998 0 22.5996l45.2998 45.2998c6.2002 6.2998 16.4004 6.2998 22.5996 0l55.4004 -55.5l151.5 151.5c6.2002 6.2998 16.4004 6.2998 22.5996 0l45.2002 -45.2998
c6.2002 -6.2002 6.2002 -16.2998 0 -22.5996l-208 -208.2c-6.2002 -6.2998 -16.3994 -6.2998 -22.5996 0z" />
    <glyph glyph-name="cocktail" unicode="&#xf561;" horiz-adv-x="576" 
d="M296 -16c22.0898 0 40 -17.9102 40 -40c0 -4.41992 -3.58008 -8 -8 -8h-240c-4.41992 0 -8 3.58008 -8 8c0 22.0898 17.9102 40 40 40h56v125.22l-168.74 168.73c-15.5195 15.5195 -4.5293 42.0498 17.4199 42.0498h366.641c21.9492 0 32.9395 -26.5303 17.4199 -42.0498
l-168.74 -168.73v-125.22h56zM432 448c79.5303 0 144 -64.4697 144 -144s-64.4697 -144 -144 -144c-27.4102 0 -52.7695 8.08008 -74.5801 21.3799l35.2598 35.2598c12.0303 -5.43945 25.2803 -8.63965 39.3203 -8.63965c52.9297 0 96 43.0596 96 96s-43.0703 96 -96 96
c-35.3701 0 -65.9902 -19.4502 -82.6396 -48h-52.54c19.8301 55.7998 72.5693 96 135.18 96z" />
    <glyph glyph-name="concierge-bell" unicode="&#xf562;" 
d="M288 317.46c108.51 -15.5703 192 -108.64 192 -221.46h-448c0 112.82 83.4902 205.89 192 221.46v18.54h-16c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h96c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16h-16v-18.54zM496 64
c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-480c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h480z" />
    <glyph glyph-name="cookie" unicode="&#xf563;" 
d="M510.37 193.21c4.37988 -27.6602 -0.110352 -56 -12.8203 -80.96l-35.0996 -68.8701c-12.7021 -24.9268 -32.8652 -45.0938 -57.79 -57.7998l-69.1201 -35.21c-24.8301 -12.6396 -53.0098 -17.1104 -80.5205 -12.75l-76.6992 12.1396
c-28.1211 4.45801 -53.4463 17.7891 -72.71 37.0498l-54.7607 54.75c-19.3213 19.3281 -32.6924 44.7373 -37.1592 72.9502l-12.0801 76.2705c-1.07715 6.79883 -1.55371 13.7725 -1.55371 20.8721c0 21.6162 5.18359 42.0303 14.373 60.0674l35.1006 68.8799
c12.6992 24.9297 32.8633 45.0967 57.79 57.8008l69.1201 35.21c24.8291 12.6494 53.0098 17.1201 80.5195 12.7598l76.7002 -12.1504c27.5303 -4.34961 52.9795 -17.3301 72.71 -37.0498l54.7598 -54.75c19.3213 -19.3281 32.6924 -44.7363 37.1602 -72.9502zM176 80
c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM208 240c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM368 112c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32
s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
    <glyph glyph-name="cookie-bite" unicode="&#xf564;" 
d="M510.52 192.18c4.10059 -27.3301 -0.349609 -55.2695 -12.9092 -79.9102l-35.1006 -68.8799c-12.6992 -24.9316 -32.8623 -45.1025 -57.79 -57.8096l-69.1299 -35.21c-24.8301 -12.6504 -53.0195 -17.1201 -80.5303 -12.7598l-76.71 12.1494
c-28.123 4.45801 -53.4482 17.793 -72.71 37.0605l-54.7695 54.7598c-19.3223 19.332 -32.6934 44.7441 -37.1602 72.96l-12.0801 76.2695c-1.07617 6.7998 -1.55273 13.7734 -1.55273 20.874c0 21.6182 5.18262 42.0361 14.373 60.0762l35.0996 68.8799
c12.6963 24.9346 32.8613 45.1055 57.79 57.8105l69.1299 35.2197c24.5898 12.5205 52.46 16.96 79.7207 12.8203c0.859375 -69.96 57.6895 -126.45 127.859 -126.45c0 -70.1699 56.5 -127.01 126.47 -127.86zM176 80c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32
s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM208 240c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM368 112c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
    <glyph glyph-name="crop-alt" unicode="&#xf565;" 
d="M488 96c13.25 0 24 -10.7402 24 -24v-48c0 -13.25 -10.75 -24 -24 -24h-40v-40c0 -13.25 -10.75 -24 -24 -24h-48c-13.25 0 -24 10.75 -24 24v328h-160v96h224c17.6699 0 32 -14.3301 32 -32v-256h40zM160 424v-328h160v-96h-224c-17.6699 0 -32 14.3301 -32 32v256h-40
c-13.25 0 -24 10.75 -24 24v48c0 13.2598 10.75 24 24 24h40v40c0 13.2598 10.75 24 24 24h48c13.25 0 24 -10.7402 24 -24z" />
    <glyph glyph-name="digital-tachograph" unicode="&#xf566;" horiz-adv-x="640" 
d="M608 352c17.6699 0 32 -14.3301 32 -32v-256c0 -17.6699 -14.3301 -32 -32 -32h-576c-17.6699 0 -32 14.3301 -32 32v256c0 17.6699 14.3301 32 32 32h576zM304 96v8c0 4.41992 -3.58008 8 -8 8h-224c-4.41992 0 -8 -3.58008 -8 -8v-8c0 -4.41992 3.58008 -8 8 -8h224
c4.41992 0 8 3.58008 8 8zM72 160c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-16zM136 160c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-16
c-4.41992 0 -8 -3.58008 -8 -8v-16zM200 160c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-16zM264 160c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8
h-16c-4.41992 0 -8 -3.58008 -8 -8v-16zM304 224v48c0 8.83984 -7.16016 16 -16 16h-208c-8.83984 0 -16 -7.16016 -16 -16v-48c0 -8.83984 7.16016 -16 16 -16h208c8.83984 0 16 7.16016 16 16zM576 96v8c0 4.41992 -3.58008 8 -8 8h-224c-4.41992 0 -8 -3.58008 -8 -8v-8
c0 -4.41992 3.58008 -8 8 -8h224c4.41992 0 8 3.58008 8 8z" />
    <glyph glyph-name="dizzy" unicode="&#xf567;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM152 233.4l28.7002 -28.7002c14.7002 -14.7998 37.7998 7.39941 22.5996 22.5996l-28.7002 28.7002l28.7002 28.7002c15 14.8994 -7.59961 37.5996 -22.5996 22.5996
l-28.7002 -28.7002l-28.7002 28.7002c-14.8994 15 -37.5996 -7.59961 -22.5996 -22.5996l28.7002 -28.7002l-28.7002 -28.7002c-15.2002 -15.0996 7.7998 -37.3994 22.5996 -22.5996zM248 32c35.2998 0 64 28.7002 64 64s-28.7002 64 -64 64s-64 -28.7002 -64 -64
s28.7002 -64 64 -64zM395.3 227.3l-28.7002 28.7002l28.7002 28.7002c15 14.8994 -7.59961 37.5996 -22.5996 22.5996l-28.7002 -28.7002l-28.7002 28.7002c-14.8994 15 -37.5996 -7.59961 -22.5996 -22.5996l28.7002 -28.7002l-28.7002 -28.7002
c-15.2002 -15.0996 7.7998 -37.3994 22.5996 -22.5996l28.7002 28.7002l28.7002 -28.7002c14.7002 -14.7998 37.7998 7.39941 22.5996 22.5996z" />
    <glyph glyph-name="drafting-compass" unicode="&#xf568;" 
d="M457.01 103.58l54.9805 -95.2305l-7.02051 -58.25c-1.2793 -10.5898 -12.3594 -16.9893 -22.1699 -12.7998l-53.9502 23.04l-54.3799 94.1904c29.9102 11.8701 57.4902 28.7197 82.54 49.0498zM499.5 198.14c-52.6201 -83.1299 -144.45 -134.14 -243.5 -134.14
c-35.3799 0 -69.8701 6.71973 -102.06 18.96l-70.8008 -122.63l-53.9492 -23.04c-9.81055 -4.19043 -20.8906 2.20996 -22.1709 12.7998l-7.01953 58.25l71.2803 123.46c-21.29 17.8105 -40.4102 38.3799 -55.9805 62.0205
c-4.99023 7.56934 -2.20996 17.9297 5.64062 22.4697l27.75 16.0703c7.40918 4.29004 16.5898 1.76953 21.3799 -5.33008c9.71973 -14.4102 21.1299 -27.3906 33.6797 -39l68.2998 118.31c-7.43945 13.6299 -12.0498 29.0303 -12.0498 45.6602c0 53.0195 42.9805 96 96 96
s96 -42.9805 96 -96c0 -16.6299 -4.61035 -32.0303 -12.0596 -45.6602l51.79 -89.71c-23.0508 -23.1699 -51.3809 -39.96 -82.6104 -48.9199l-51.0898 88.5c-0.69043 -0.0195312 -1.33984 -0.209961 -2.04004 -0.209961s-1.33984 0.19043 -2.04004 0.209961
l-67.3604 -116.68c22.1797 -7.28027 45.4805 -11.5303 69.4102 -11.5303c76.25 0 147.01 38.8496 188.12 102.38c4.64941 7.17969 13.7803 9.87012 21.2598 5.71973l28.0703 -15.5693c7.93945 -4.40039 10.9102 -14.7207 6.0498 -22.3906zM256 384
c-17.6699 0 -32 -14.3301 -32 -32s14.3301 -32 32 -32s32 14.3301 32 32s-14.3301 32 -32 32z" />
    <glyph glyph-name="drum" unicode="&#xf569;" 
d="M431.34 325.95c44.9004 -16.3398 80.6602 -42.7803 80.6602 -86.1006v-160.229c0 -30.2705 -27.5 -57.6797 -72 -77.8604v101.9c0 13.2461 -10.7539 24 -24 24s-24 -10.7539 -24 -24v-118.93c-33.0498 -9.11035 -71.0703 -15.0605 -112 -16.7305v103.61
c0 13.2461 -10.7539 24 -24 24s-24 -10.7539 -24 -24v-103.61c-40.9297 1.66992 -78.9502 7.62012 -112 16.7305v118.93c0 13.2461 -10.7539 24 -24 24s-24 -10.7539 -24 -24v-101.9c-44.5 20.1807 -72 47.5898 -72 77.8604v160.229c0 107.601 219.55 112.15 256 112.15
c15.2197 0 62.4297 -0.910156 112.19 -9.69043l110.06 71c2.53711 1.69238 5.59082 2.7041 8.86621 2.7041c5.55664 0 10.4551 -2.83887 13.3242 -7.14355l8.86914 -13.3105c1.69238 -2.53711 2.7041 -5.58984 2.7041 -8.86523
c0 -5.55664 -2.83887 -10.4561 -7.14355 -13.3242zM256 175.76c114.87 0 208 28.6904 208 64.0898c0 21.3105 -33.9102 40.1504 -85.8604 51.75l-118.64 -76.5195c-2.53711 -1.69141 -5.59082 -2.7041 -8.86621 -2.7041c-5.55664 0 -10.4551 2.83887 -13.3242 7.14355
l-8.86914 13.3105c-1.69434 2.53809 -2.70703 5.59277 -2.70703 8.87012c0 5.55371 2.83594 10.4502 7.13672 13.3193l72.8096 47c-15.9492 1.2002 -32.5293 1.91016 -49.6797 1.91016c-114.88 0 -208 -28.6797 -208 -64.0801c0 -35.3994 93.1201 -64.0898 208 -64.0898z
" />
    <glyph glyph-name="drum-steelpan" unicode="&#xf56a;" horiz-adv-x="576" 
d="M288 416c159.06 0 288 -57.3096 288 -128v-192c0 -70.6904 -128.94 -128 -288 -128s-288 57.3096 -288 128v192c0 70.6904 128.94 128 288 128zM205.01 257.64c5.11035 19.0605 2.49023 38.96 -7.37012 56.0508l-25.5996 44.3398
c-73.9297 -13.6406 -124.04 -39.8701 -124.04 -70.0303c0 -30.7803 52.2305 -57.46 128.7 -70.8398c13.7695 9.91016 23.8594 23.8701 28.3096 40.4795zM288 208c21.0801 0 41.4102 1 60.8896 2.7002c-8.05957 26.1299 -32.1494 45.2998 -60.8896 45.2998
s-52.8301 -19.1699 -60.8896 -45.2998c19.4795 -1.7002 39.8096 -2.7002 60.8896 -2.7002zM352 352v13.04c-20.4004 1.87988 -41.7998 2.95996 -64 2.95996s-43.5996 -1.08008 -64 -2.95996v-13.04c0 -35.29 28.71 -64 64 -64s64 28.71 64 64zM398.93 217.1
c76.6699 13.3604 129.07 40.0703 129.07 70.9004c0 30.21 -50.2803 56.5 -124.44 70.0996l-25.6494 -44.4199c-9.87012 -17.0801 -12.4902 -36.9795 -7.37988 -56.04c4.45996 -16.6396 14.5898 -30.6299 28.3994 -40.54z" />
    <glyph glyph-name="feather-alt" unicode="&#xf56b;" 
d="M512 448c-1.80957 -26.2598 -11.71 -132.86 -53.6201 -234.79l-106.54 -53.21h81.1406c-9.08008 -16.4102 -19.2002 -32.2305 -30.4502 -47.1201l-146.79 -48.8799h100.95c-35.5605 -30.0703 -79.1006 -51.0996 -132.58 -56.54
c-41.8105 -4.83008 -83.8701 -7.21973 -125.96 -7.36035l-57.1309 -57.0693c-9.38965 -9.37012 -24.5996 -9.37012 -33.9795 0s-9.37988 24.5693 0 33.9395l259.5 259.24c6.25 6.25 6.25 16.3799 0 22.6299s-16.4004 6.25 -22.6504 0l-178.87 -178.689
c1.15039 26.7998 2.90039 53.5801 5.99023 80.2393c25.4307 249.41 389.21 284.051 440.99 287.61z" />
    <glyph glyph-name="file-contract" unicode="&#xf56c;" horiz-adv-x="384" 
d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM64 376v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8
h-80c-4.41992 0 -8 -3.58008 -8 -8zM64 312v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8zM256.81 64c-4.19922 0 -8.13965 2.44043 -10.1592 6.5
c-11.9502 23.8604 -46.2305 30.3496 -66 14.1602l-13.8809 41.6396c-3.28906 9.82031 -12.4297 16.4102 -22.7695 16.4102s-19.4805 -6.59961 -22.7803 -16.4102l-18.1895 -54.6396c-1.53027 -4.58008 -5.81055 -7.66016 -10.6406 -7.66016h-12.3896
c-8.83984 0 -16 -7.16016 -16 -16s7.16016 -16 16 -16h12.3896c18.6201 0 35.1104 11.8701 41 29.5303l10.6104 31.8799l16.8301 -50.46c2.03027 -6.14062 7.58008 -10.4404 14.0303 -10.8906c0.389648 -0.0292969 0.759766 -0.0498047 1.13965 -0.0498047
c0.00390625 0 -0.00292969 -0.015625 0.000976562 -0.015625c6.26074 0 11.6865 3.60742 14.3086 8.85547l7.6709 15.3408c2.7998 5.59961 7.93945 6.18945 10.0195 6.18945s7.21973 -0.599609 10.1699 -6.51953c7.37012 -14.7207 22.1904 -23.8604 38.6396 -23.8604
h47.1904c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16h-47.1904zM377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7z" />
    <glyph glyph-name="file-download" unicode="&#xf56d;" horiz-adv-x="384" 
d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM300.45 100.64c10.1299 10.0703 3.00977 27.3604 -11.2705 27.3604h-65.1797v80
c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-80h-65.1797c-14.2803 0 -21.4004 -17.29 -11.25 -27.3604l96.4199 -95.6992c6.64941 -6.61035 17.3896 -6.61035 24.04 0zM377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961
c6.40039 0 12.5 -2.5 17 -7z" />
    <glyph glyph-name="file-export" unicode="&#xf56e;" horiz-adv-x="576" 
d="M384 326.1v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004zM571 140c6.59961 -6.59961 6.59961 -17.4004 0 -24l-95.7002 -96.5c-10.0996 -10.0996 -27.3994 -3 -27.3994 11.2998v65.2002h-64v64h64v65.0996
c0 14.3008 17.2998 21.4004 27.3994 11.3008zM192 112c0 -8.7998 7.2002 -16 16 -16h176v-136c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136c0 -13.2002 10.7998 -24 24 -24h136v-128h-176
c-8.7998 0 -16 -7.2002 -16 -16v-32z" />
    <glyph glyph-name="file-import" unicode="&#xf56f;" 
d="M16 160h112v-64h-112c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16zM505 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7zM352 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24
h-336c-13.2998 0 -24 10.7002 -24 24v136h127.9v-65.0996c0 -14.3008 17.2998 -21.4004 27.3994 -11.3008l95.7002 96.4004c6.59961 6.59961 6.59961 17.2998 0 24l-95.5996 96.5c-10.1006 10.0996 -27.4004 3 -27.4004 -11.2998v-65.2002h-128v264
c0 13.2998 10.7002 24 24 24h200v-136z" />
    <glyph glyph-name="file-invoice" unicode="&#xf570;" horiz-adv-x="384" 
d="M288 192v-64h-192v64h192zM377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7zM224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464
c0 13.2998 10.7002 24 24 24h200v-136zM64 376v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8zM64 312v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8v16
c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8zM320 8v16c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8zM320 208c0 8.83984 -7.16016 16 -16 16h-224
c-8.83984 0 -16 -7.16016 -16 -16v-96c0 -8.83984 7.16016 -16 16 -16h224c8.83984 0 16 7.16016 16 16v96z" />
    <glyph glyph-name="file-invoice-dollar" unicode="&#xf571;" horiz-adv-x="384" 
d="M377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7zM224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136z
M64 376v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8zM64 296c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8
v-16zM208 32.1201c23.6201 0.629883 42.6699 20.54 42.6699 45.0703c0 19.9697 -12.9902 37.8096 -31.5801 43.3896l-45 13.5c-5.16016 1.54004 -8.76953 6.78027 -8.76953 12.7295c0 7.27051 5.2998 13.1904 11.7998 13.1904h28.1104
c4.55957 0 8.94922 -1.29004 12.8193 -3.71973c3.24023 -2.03027 7.36035 -1.91016 10.1299 0.729492l11.75 11.21c3.53027 3.37012 3.33008 9.20996 -0.569336 12.1406c-9.10059 6.83984 -20.0801 10.7695 -31.3701 11.3496v24.29c0 4.41992 -3.58008 8 -8 8h-16
c-4.41992 0 -8 -3.58008 -8 -8v-24.1201c-23.6201 -0.629883 -42.6699 -20.5498 -42.6699 -45.0703c0 -19.9697 12.9893 -37.8096 31.5801 -43.3896l45 -13.5c5.15918 -1.54004 8.76953 -6.78027 8.76953 -12.7295c0 -7.27051 -5.2998 -13.1904 -11.7998 -13.1904h-28.1104
c-4.55957 0 -8.9502 1.2998 -12.8193 3.71973c-3.24023 2.03027 -7.36035 1.91016 -10.1309 -0.729492l-11.75 -11.21c-3.5293 -3.37012 -3.3291 -9.20996 0.570312 -12.1406c9.10059 -6.83008 20.0801 -10.7695 31.3701 -11.3496v-24.29c0 -4.41992 3.58008 -8 8 -8h16
c4.41992 0 8 3.58008 8 8v24.1201z" />
    <glyph glyph-name="file-prescription" unicode="&#xf572;" horiz-adv-x="384" 
d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM292.53 132.52c-6.25 6.25 -16.3799 6.25 -22.6299 0l-29.9004 -29.8994l-33.46 33.46
c19.8398 10.8701 33.46 31.7002 33.46 55.9199c0 35.3496 -28.6504 64 -64 64h-80c-8.83984 0 -16 -7.16016 -16 -16v-160c0 -8.83984 7.16016 -16 16 -16h16c8.83984 0 16 7.16016 16 16v48h18.7402l59.3193 -59.3096l-30.0596 -30.0605
c-6.25 -6.25 -6.25 -16.3799 0 -22.6299l11.3096 -11.3096c6.25 -6.25 16.3809 -6.25 22.6309 0l30.0596 30.0596l30.0596 -30.0703c6.25 -6.25 16.3809 -6.25 22.6309 0l11.3096 11.3105c6.25 6.25 6.25 16.3799 0 22.6299l-30.0596 30.0596l29.8994 29.9004
c6.25 6.25 6.25 16.3799 0 22.6299zM176 176h-48v32h48c8.82031 0 16 -7.17969 16 -16s-7.17969 -16 -16 -16zM384 326.1v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004z" />
    <glyph glyph-name="file-signature" unicode="&#xf573;" horiz-adv-x="576" 
d="M218.17 23.8604c7.25 -14.4707 21.71 -23.4404 37.8301 -23.75l128 -0.110352v-40c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136c0 -13.2002 10.7998 -24 24 -24h136.01v-46.5498l-128 -127.09
v-82.1201c-3.87012 0.30957 -7.46973 2.47949 -9.35938 6.25977c-11.9404 23.8604 -46.25 30.3496 -66 14.1602l-13.8809 41.6396c-3.28906 9.82031 -12.4297 16.4102 -22.7695 16.4102s-19.4805 -6.59961 -22.7803 -16.4102l-18.1895 -54.6396
c-1.53027 -4.58008 -5.81055 -7.66016 -10.6406 -7.66016h-12.3896c-8.83984 0 -16 -7.16016 -16 -16s7.16016 -16 16 -16h12.3896c18.6201 0 35.1104 11.8701 41 29.5303l10.6104 31.8799l16.8301 -50.4697c4.4502 -13.46 23.1104 -14.8701 29.4795 -2.09082
l7.6709 15.3408c2.7998 5.59961 7.93945 6.18945 10.0195 6.18945s7.21973 -0.599609 10.1699 -6.51953zM384 326.1v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004zM288 101.04l162.79 161.62l67.8799 -67.8799
l-161.68 -162.78h-68.9902v69.04zM568.54 280.67c9.9502 -9.93945 9.9502 -26.0703 0 -36.0098l-27.25 -27.25l-67.8799 67.8799l27.25 27.25c9.93945 9.94043 26.0703 9.94043 36.0098 0z" />
    <glyph glyph-name="file-upload" unicode="&#xf574;" horiz-adv-x="384" 
d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM289.18 95.9902c14.2803 0 21.4004 17.29 11.25 27.3594l-96.4199 95.7002
c-6.64941 6.61035 -17.3896 6.61035 -24.04 0l-96.4199 -95.7002c-10.1396 -10.0693 -3.00977 -27.3594 11.2705 -27.3594h65.1797v-80c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16v80h65.1797zM377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128
v128h6.09961c6.40039 0 12.5 -2.5 17 -7z" />
    <glyph glyph-name="fill" unicode="&#xf575;" 
d="M502.63 230.94c12.4902 -12.5 12.4902 -32.7607 0 -45.2607l-221.57 -221.569c-18.75 -18.75 -43.3096 -28.1201 -67.8799 -28.1201c-24.5596 0 -49.1201 9.37988 -67.8701 28.1201l-117.189 117.189c-37.4902 37.4902 -37.4902 98.2598 0 135.75l94.7598 94.7598
l-86.1895 86.1807c-6.24023 6.25 -6.24023 16.3799 0 22.6299l22.6191 22.6104c6.24023 6.25 16.3809 6.25 22.6201 0l86.1807 -86.1807l81.5801 81.5801c6.23926 6.25 14.4297 9.37012 22.6191 9.37012c8.19043 0 16.3809 -3.12012 22.6309 -9.37012zM386.41 159.97
l48.3496 48.3398l-162.45 162.44l-58.9492 -58.9502l58.6094 -58.5996c12.4902 -12.4902 12.4902 -32.75 0 -45.2402c-12.4893 -12.4902 -32.75 -12.4902 -45.2393 0l-58.6104 58.5996l-81.6104 -81.6094l-13.1494 -13.1504
c-3.86035 -3.84961 -6.07031 -7.99023 -7.43066 -11.8301h320.48z" />
    <glyph glyph-name="fill-drip" unicode="&#xf576;" horiz-adv-x="576" 
d="M512 128c0 0 64 -92.6504 64 -128s-28.6602 -64 -64 -64s-64 28.6504 -64 64s64 128 64 128zM502.63 230.94c12.4902 -12.5 12.4902 -32.75 -0.00976562 -45.25l-221.57 -221.57c-18.7402 -18.75 -43.2998 -28.1201 -67.8701 -28.1201
c-24.5596 0 -49.1299 9.37988 -67.8701 28.1201l-117.189 117.189c-37.4902 37.4902 -37.4902 98.2705 0 135.75l94.7598 94.7607l-86.1895 86.1797c-6.24023 6.24023 -6.24023 16.3701 0 22.6201l22.6191 22.6201c6.24023 6.25 16.3701 6.25 22.6201 0l86.1807 -86.1904
l81.5801 81.5801c6.23926 6.25 14.4297 9.37012 22.6191 9.37012c8.19043 0 16.3809 -3.12012 22.6309 -9.37012zM386.41 159.97l48.3398 48.3398l-162.44 162.44l-58.9492 -58.9502l58.5996 -58.5996c12.4902 -12.4902 12.4902 -32.75 0 -45.2402
s-32.75 -12.4902 -45.2402 0l-58.5996 58.5996l-81.6104 -81.6094l-13.1494 -13.1504c-3.86035 -3.84961 -6.07031 -7.99023 -7.43066 -11.8301h320.48z" />
    <glyph glyph-name="fingerprint" unicode="&#xf577;" 
d="M256.12 202.04c13.2598 0 24 -10.75 23.9902 -24c1.55957 -99.1104 -15.9502 -176.61 -29.4805 -224.521c-2.97949 -10.5996 -12.6104 -17.5195 -23.0898 -17.5195c-20.9697 0 -25.8496 20.7695 -23.1201 30.4902c19.5605 69.6494 28.8398 139.3 27.7002 211.55
c0 13.2598 10.75 24 24 24zM255.26 283.77c56.9707 -0.839844 104.03 -46.9199 104.91 -102.72c0.790039 -50.8994 -2.99023 -102.08 -11.2695 -152.109c-0.770508 -4.6709 -7.61035 -23.1006 -27.5801 -19.7705c-13.0703 2.16016 -21.9307 14.5205 -19.7607 27.5801
c7.80078 47.2197 11.3809 95.5 10.6104 143.55c-0.469727 30.1299 -26.3096 55 -57.6201 55.4697c-34.5303 0.150391 -54.8594 -26.3896 -54.4502 -52.3398c0.800781 -51.4395 -4.0293 -102.93 -14.3691 -153.02c-2.69043 -12.9805 -15.3105 -21.3105 -28.3604 -18.6406
c-12.9697 2.6709 -21.3301 15.3809 -18.6396 28.3604c9.61914 46.6396 14.1191 94.6104 13.3691 142.55c-0.849609 54.0205 41.9004 101.16 103.16 101.09zM144.57 303.55c10.2793 -8.37012 11.8398 -23.4795 3.48926 -33.7598
c-18.7998 -23.0898 -28.4697 -51.0898 -28 -80.9697c0.640625 -40.6699 -2.66992 -81.4902 -9.85938 -121.33c-0.820312 -4.5498 -7.78027 -22.8604 -27.8906 -19.3604c-13.0498 2.36035 -21.6992 14.8398 -19.3594 27.8896c6.63965 36.7803 9.7002 74.4707 9.10938 112.051
c-0.639648 40.7197 13.1309 80.5 38.75 112c8.39062 10.2793 23.46 11.8193 33.7607 3.47949zM254.04 365.88c101.09 -1.5 184.6 -83.0801 186.16 -181.83c0.0751953 -4.88281 0.147461 -8.55371 0.147461 -13.4551c0 -35.9766 -2.0498 -71.4785 -6.03809 -106.395
c-1.06934 -9.23047 -9.85938 -23.0605 -26.5791 -21.1104c-13.1602 1.5 -22.6104 13.4102 -21.1104 26.5801c4.2998 37.5205 6.16992 75.75 5.58008 113.63c-1.15039 73.0801 -63.4502 133.45 -138.88 134.58c-11.5303 0.0800781 -22.9502 -1.08008 -34 -3.68945
c-12.8906 -3 -25.8301 4.93945 -28.8906 17.8291c-3.04004 12.9102 4.94043 25.8301 17.8301 28.8906c14.9102 3.53027 30.3701 5.37988 45.7803 4.96973zM506.11 244.43c6.22949 -28.2295 6.00977 -50.1602 5.83008 -72.3398
c-0.110352 -13.1895 -10.8301 -23.7998 -24 -23.7998h-0.200195c-13.25 0.110352 -23.9102 10.9297 -23.7998 24.2002c0.209961 24.1895 0.00976562 40.1895 -4.7002 61.5996c-2.86035 12.9502 5.31934 25.75 18.2598 28.6104
c13.0996 2.92969 25.75 -5.35059 28.6104 -18.2705zM465.99 335.15c7.62012 -10.8408 5 -25.8105 -5.83984 -33.4307c-10.8604 -7.58984 -25.8105 -5 -33.4199 5.86035c-39.8906 56.8301 -105.171 91.3604 -174.62 92.3896
c-56.3408 0.810547 -108.92 -20.0596 -147.681 -58.8594c-37.1201 -37.1406 -57.1094 -86.5 -56.2793 -139l-0.160156 -23.6406c-0.379883 -13 -11.0498 -23.2998 -23.9707 -23.2998c-0.239258 0 -0.489258 0 -0.719727 0.0205078
c-13.25 0.379883 -23.6699 11.4395 -23.2803 24.6895l0.120117 21.4697c-1.04004 65.6104 23.9502 127.28 70.3203 173.71c48.0098 48.0303 112.56 73.7607 182.35 72.9209c84.79 -1.27051 164.48 -43.4404 213.181 -112.83z" />
    <glyph glyph-name="fish" unicode="&#xf578;" horiz-adv-x="576" 
d="M327.1 352c137.46 0 248.9 -128 248.9 -160s-111.44 -160 -248.9 -160c-89.9697 0 -168.55 54.7695 -212.279 101.62l-87.3301 -66.0498c-12.1299 -9.16992 -30.2402 0.599609 -27.1406 14.6602l24.1904 109.77l-24.1797 109.76
c-3.10059 14.0605 15.0098 23.8398 27.1396 14.6602l87.3301 -66.0498c43.7295 46.8604 122.3 101.63 212.27 101.63zM414.53 168c13.25 0 24 10.75 24 24c0 13.2598 -10.7402 24 -24 24c-13.25 0 -24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24z" />
    <glyph glyph-name="flushed" unicode="&#xf579;" horiz-adv-x="496" 
d="M344 248c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM152 248c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248
s-248 111 -248 248s111 248 248 248zM80 224c0 -39.7998 32.2002 -72 72 -72s72 32.2002 72 72s-32.2002 72 -72 72s-72 -32.2002 -72 -72zM312 48c21.2002 0 21.2002 32 0 32h-128c-21.2002 0 -21.2002 -32 0 -32h128zM344 152c39.7998 0 72 32.2002 72 72
s-32.2002 72 -72 72s-72 -32.2002 -72 -72s32.2002 -72 72 -72z" />
    <glyph glyph-name="frown-open" unicode="&#xf57a;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM136 240c0 -17.7002 14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32zM323.3 56.7002c11.4004 -3.5 22.5 6.2002 20.5 18.0996
c-7 39.9004 -60.0996 61.2002 -95.7998 61.2002s-88.7998 -21.2002 -95.7998 -61.2002c-2 -11.7998 9 -21.5996 20.5 -18.0996c31.2002 9.59961 59.3994 15.2998 75.2998 15.2998s44.0996 -5.7002 75.2998 -15.2998zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32
s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
    <glyph glyph-name="glass-martini-alt" unicode="&#xf57b;" 
d="M502.05 390.4l-214.05 -214.04v-192.36h56c22.0898 0 40 -17.9102 40 -40c0 -4.41992 -3.58008 -8 -8 -8h-240c-4.41992 0 -8 3.58008 -8 8c0 22.0898 17.9102 40 40 40h56v192.36l-214.05 214.04c-21.25 21.2598 -6.2002 57.5996 23.8496 57.5996h444.4
c30.0498 0 45.0996 -36.3398 23.8496 -57.5996zM443.77 400h-375.529l48 -48h279.529z" />
    <glyph glyph-name="globe-africa" unicode="&#xf57c;" horiz-adv-x="496" 
d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM408 224.5c0 8.55957 6.94043 15.5 15.5 15.5h18.4297c-19.0693 76.9805 -82.6992 136.37 -161.92 149.21v-21.7002c0 -8.55957 -6.93945 -15.5 -15.5 -15.5
h-24.21c-5.17969 0 -10.0195 -2.58984 -12.8896 -6.89941l-8.08008 -12.1104c-2.13965 -3.20996 -5.40039 -5.5 -9.13965 -6.44043l-14.4502 -3.60938c-6.90039 -1.73047 -11.7402 -7.93066 -11.7402 -15.04v-4.40039c0 -8.55957 6.94043 -15.5 15.5 -15.5h90.0498
l0.00488281 0.00195312c4.27637 0 8.15039 -1.73633 10.9551 -4.54199l6.91992 -6.91992c2.91016 -2.91016 6.85059 -4.54004 10.96 -4.54004h10.0908c8.55957 0 15.5 -6.93945 15.5 -15.5c0 -6.66992 -4.27051 -12.5898 -10.6006 -14.7002l-47.3096 -15.7695
c-3.90039 -1.2998 -8.15039 -1 -11.8301 0.839844l-14.7207 7.36035c-7.5791 3.7998 -15.9492 5.76953 -24.4297 5.76953h-0.889648c-12.2734 -0.00292969 -23.6533 -4.08594 -32.7803 -10.9297l-27.5801 -20.6904c-13.75 -10.3193 -21.8496 -26.5098 -21.8496 -43.6992
v-14.0605c0.00292969 -15.0742 6.11328 -28.7393 16 -38.6299c10.25 -10.2402 24.1396 -16 38.6299 -16h25.8799c8.55957 0 15.5 -6.94043 15.5 -15.5v-29.8896c0 -12.6504 3.0293 -24.6885 8.33008 -35.29c4.7002 -9.40039 14.3096 -15.3398 24.8203 -15.3398
c9.63477 0.000976562 18.1133 4.89551 23.0898 12.3594l13.0293 19.5498c7.18359 10.7715 15.4854 20.4473 25 29.1602c2.4707 2.27051 4.14062 5.27051 4.76074 8.56055l4.2998 22.8301c0.439453 2.3291 1.41016 4.5293 2.83008 6.42969l18.7402 24.9795
c2.00977 2.68066 3.09961 5.9502 3.09961 9.30078v11.3398c0 8.55957 -6.94043 15.5 -15.5 15.5h-8.20996c-5.17969 0 -10.0205 2.58984 -12.8896 6.89941l-13.2402 19.8604c-5.66992 8.50977 -1.70996 20.0703 7.99023 23.2998l2.64941 0.879883
c1.53906 0.511719 3.20312 0.78418 4.91309 0.78418c3.17383 0 6.12695 -0.955078 8.58691 -2.59375l18.21 -12.1396c2.45801 -1.6416 5.44043 -2.59863 8.61523 -2.59863c2.48438 0 4.83301 0.585938 6.91504 1.62793l15.3896 7.7002
c5.25 2.62012 8.57031 7.99023 8.57031 13.8604v6.92969z" />
    <glyph glyph-name="globe-americas" unicode="&#xf57d;" horiz-adv-x="496" 
d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM330.29 82.4004c8.47363 8.42676 13.7158 20.0977 13.7197 32.9795l0.00488281 0.00976562c0 8.41504 -3.41602 16.0391 -8.93457 21.5605l-13.6904 13.6895
c-6.00977 6 -14.1396 9.37012 -22.6299 9.37012h-66.75c-9.41016 4.70996 -21.4795 32 -32 32c-10.5195 0 -20.8994 2.4502 -30.3096 7.16016l-11.0801 5.54004c-4.0498 2.03027 -6.61035 6.16016 -6.61035 10.6904h-0.00195312c0 5.27539 3.42578 9.75684 8.17188 11.3398
l31.1699 10.3896c1.58887 0.52832 3.29785 0.81543 5.0625 0.81543c4.00977 0 7.67676 -1.47656 10.4883 -3.91504l9.2793 -8.06055c1.4502 -1.25977 3.31055 -1.95996 5.24023 -1.95996h5.63965c5.94043 0 9.81055 6.25977 7.15039 11.5801l-15.5898 31.1904
c-0.535156 1.07324 -0.842773 2.29297 -0.842773 3.57324c0 2.24805 0.928711 4.28125 2.42285 5.73633l9.91992 9.65039c1.5 1.45996 3.5 2.26953 5.58008 2.26953h8.99023l0.00390625 -0.000976562c2.20703 0 4.20703 0.894531 5.65527 2.34082l8 8
c3.12012 3.12012 3.12012 8.19043 0 11.3105l-4.68945 4.68945c-3.12012 3.12012 -3.12012 8.19043 0 11.3105l10.3398 10.3398l4.69043 4.67969c6.25 6.25 6.25 16.3799 0 22.6299l-28.3008 28.3008c-8.26953 -0.310547 -16.3994 -1.12988 -24.3896 -2.41992v-11.3008
c0 -11.8994 -12.5195 -19.6299 -23.1602 -14.3096l-24.0098 12.0098c-45.8398 -19.8496 -82.7305 -56.3896 -103.2 -101.89c9.92969 -14.7197 25.21 -37.3701 34.5898 -51.1406c5.20605 -7.66895 11.2012 -14.5479 18.0605 -20.7393l0.799805 -0.720703
c9.5498 -8.60938 20.1699 -15.9697 31.6504 -21.75c14 -7.0498 34.4395 -18.1592 48.8096 -26.1094c10.1904 -5.62988 16.46 -16.3301 16.46 -27.9707v-32.0098c0 -8.49023 3.37012 -16.6299 9.37012 -22.6299c14.9902 -14.9902 24.3203 -38.6299 22.6299 -51.25v-27.3799
c14.6504 0 28.8896 1.69043 42.6504 4.69043l17.3896 46.8496c2.04004 5.49023 3.25977 11.21 4.76953 16.8701c1.07031 4.00977 3.18066 7.70996 6.1709 10.71c3.31934 3.33008 7.40918 7.39941 11.3096 11.2803zM417 173.75l29.1797 -7.29004
c1.08008 8.37988 1.82031 16.8701 1.82031 25.54c0 32.1299 -7.7998 62.4102 -21.3203 89.3301l-12.9795 -6.49023c-3.74023 -1.85938 -6.91992 -4.67969 -9.24023 -8.14941l-19.5898 -29.3809c-2.54004 -3.80371 -4.02051 -8.4209 -4.02051 -13.334
c0 -4.91211 1.48047 -9.48145 4.02051 -13.2852l17.9795 -26.9707c3.31055 -4.96973 8.36035 -8.51953 14.1504 -9.96973z" />
    <glyph glyph-name="globe-asia" unicode="&#xf57e;" horiz-adv-x="496" 
d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM236.66 199.77l17.3701 28.9502c1.7998 2.99023 6.2002 2.82031 7.75977 -0.299805c1.34961 -2.70996 4.12012 -4.41992 7.15039 -4.41992h3.05957
c4.41992 0 8 3.58008 8 8v78.1201c0 6.05957 -3.41992 11.5996 -8.83984 14.3096l-10.8301 5.41016c-5.49023 2.75 -5.96973 10.4004 -0.860352 13.8105l50.1602 38.5293c-19.4297 6.31055 -40.1201 9.82031 -61.6299 9.82031c-110.28 0 -200 -89.7197 -200 -200
c0 -10.9199 1.12012 -21.5498 2.80957 -31.9902h62.5703c4.24023 0 8.31055 1.69043 11.3105 4.69043l19.4697 19.46c3.85938 3.85938 10.3701 2.7998 12.8096 -2.08008l22.6201 -45.2305c2.70996 -5.42969 8.25 -8.84961 14.3105 -8.84961h6.10938
c8.83984 0 16 7.16016 16 16v9.37012c0 4.24023 -1.68945 8.30957 -4.68945 11.3096l-5.66016 5.66016c-3.12012 3.12012 -3.12012 8.19043 0 11.3105l5.66016 5.65918c3 3 7.06934 4.69043 11.3096 4.69043h0.310547c5.61914 0 10.8291 2.9502 13.7197 7.76953z
M408 89.5703l-0.00976562 24.5996c0 4.24023 -1.69043 8.31055 -4.69043 11.3105l-11.9102 11.9092c-1.5 1.5 -2.33984 3.54004 -2.33984 5.66016v12.9307c0 2.20996 -1.79004 4 -4 4h-6.05957c-1.78027 0 -3.33984 -1.1709 -3.83984 -2.88086l-4.2002 -14.4697
c-0.490234 -1.7002 -2.06055 -2.87988 -3.83984 -2.87988h-3.80078c-1.66211 0.000976562 -3.08691 1.01465 -3.68945 2.45996l-5.35059 12.8496c-1.23926 2.99023 -4.15918 4.93066 -7.38965 4.93066h-12.0898
c-0.00390625 0 -0.0146484 -0.00488281 -0.0185547 -0.00488281c-1.72168 0 -3.31738 -0.545898 -4.62109 -1.47559l-23.71 -16.8896c-1.73047 -1.23047 -3.61035 -2.25977 -5.59082 -3.0498l-39.3398 -15.7402c-3.04004 -1.21973 -5.0293 -4.16016 -5.0293 -7.42969
v-10.2002l-0.00195312 -0.00390625c0 -2.20703 0.895508 -4.20703 2.3418 -5.65625l11.9102 -11.9102c3 -3 7.06934 -4.68945 11.3096 -4.68945h10.3398c1.31055 0 2.61035 0.15918 3.87988 0.479492l21.2705 5.32031c2.08203 0.520508 4.25391 0.802734 6.49707 0.802734
c7.38574 0 14.0771 -2.99805 18.9229 -7.84277l13.0098 -13.0098c3 -3 7.07031 -4.69043 11.3096 -4.69043h15.1602c4.24023 0 8.31055 1.69043 11.3105 4.69043l9.56934 9.56934c3 3 4.69043 7.07031 4.69043 11.3105z" />
    <glyph glyph-name="grimace" unicode="&#xf57f;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM144 48v40h-40v-8c0 -17.7002 14.2998 -32 32 -32h8zM144 104v40h-8c-17.7002 0 -32 -14.2998 -32 -32v-8h40zM136 240c0 -17.7002 14.2998 -32 32 -32s32 14.2998 32 32
s-14.2998 32 -32 32s-32 -14.2998 -32 -32zM208 48v40h-48v-40h48zM208 104v40h-48v-40h48zM272 48v40h-48v-40h48zM272 104v40h-48v-40h48zM336 48v40h-48v-40h48zM336 104v40h-48v-40h48zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32
s14.2998 -32 32 -32zM392 80v8h-40v-40h8c17.7002 0 32 14.2998 32 32zM392 104v8c0 17.7002 -14.2998 32 -32 32h-8v-40h40z" />
    <glyph glyph-name="grin" unicode="&#xf580;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM328 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM168 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32
s32 14.2998 32 32s-14.2998 32 -32 32zM248 16c60.5996 0 134.5 38.2998 143.8 93.2998c1.90039 11.7998 -9.39941 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002
c-11.4004 3.7002 -22.7002 -6.10059 -20.7002 -17.9004c9.2998 -55 83.2002 -93.2998 143.8 -93.2998z" />
    <glyph glyph-name="grin-alt" unicode="&#xf581;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM311.7 311.3c-12.4004 -18.3994 -15.2002 -36.8994 -15.7002 -55.2998c0.599609 -18.4004 3.2998 -36.9004 15.7002 -55.2998c8 -11.7002 25.0996 -11.4004 32.7002 0
c12.3994 18.3994 15.1992 36.8994 15.6992 55.2998c-0.599609 18.4004 -3.2998 36.9004 -15.6992 55.2998c-8 11.7002 -25.1006 11.4004 -32.7002 0zM151.7 311.3c-12.4004 -18.3994 -15.2002 -36.8994 -15.7002 -55.2998
c0.599609 -18.4004 3.2998 -36.9004 15.7002 -55.2998c8 -11.7002 25.0996 -11.4004 32.7002 0c12.3994 18.3994 15.1992 36.8994 15.6992 55.2998c-0.599609 18.4004 -3.2998 36.9004 -15.6992 55.2998c-8 11.7002 -25.1006 11.4004 -32.7002 0zM248 16
c60.5996 0 134.5 38.2998 143.8 93.2998c1.90039 11.7998 -9.2998 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.4004 3.7002 -22.7002 -6.10059 -20.7002 -17.9004
c9.2998 -55 83.2002 -93.2998 143.8 -93.2998z" />
    <glyph glyph-name="grin-beam" unicode="&#xf582;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM328 296c-23.7998 0 -52.7002 -29.2998 -55.7998 -71.4004c-0.700195 -8.5 10.7998 -11.7998 14.8994 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006
c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17c4.10059 -7.39941 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004zM168 296c-23.7998 0 -52.7002 -29.2998 -55.7998 -71.4004c-0.700195 -8.5 10.7002 -11.8994 14.8994 -4.5l9.5 17
c7.7002 13.7002 19.2002 21.6006 31.5 21.6006c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17c4.10059 -7.39941 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004zM248 16c60.5996 0 134.5 38.2998 143.8 93.2998
c1.90039 11.7998 -9.2998 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.3008 3.7002 -22.7002 -6 -20.7002 -17.9004c9.2998 -55 83.2002 -93.2998 143.8 -93.2998z" />
    <glyph glyph-name="grin-beam-sweat" unicode="&#xf583;" horiz-adv-x="504" 
d="M456 320c-26.5 0 -48 21 -48 47c0 20 28.5 60.4004 41.5996 77.7998c3.2002 4.2998 9.60059 4.2998 12.8008 0c13.0996 -17.3994 41.5996 -57.7998 41.5996 -77.7998c0 -26 -21.5 -47 -48 -47zM456 288c6.7998 0 13.2002 1.09961 19.5 2.59961
c13.0996 -30.1992 20.5 -63.5 20.5 -98.5996c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248c50.2998 0 97 -15.0996 136.1 -40.7998c-7.7998 -18 -8.09961 -27.7998 -8.09961 -32.2002c0 -43.5996 35.9004 -79 80 -79zM328 296
c-23.7998 0 -52.7002 -29.2998 -55.7998 -71.4004c-0.700195 -8.5 10.7998 -11.8994 14.8994 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17c4.10059 -7.5 15.6006 -4.09961 14.9004 4.5
c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004zM168 296c-23.7998 0 -52.7002 -29.2998 -55.7998 -71.4004c-0.700195 -8.5 10.7002 -11.8994 14.8994 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17
c4.10059 -7.5 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004zM248 16c60.5996 0 134.5 38.2998 143.8 93.2998c1.90039 11.7002 -9.2002 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002
s-92.9004 5.5 -123.1 15.2002c-11.4004 3.7002 -22.7002 -6.10059 -20.7002 -17.9004c9.2998 -55 83.2002 -93.2998 143.8 -93.2998z" />
    <glyph glyph-name="grin-hearts" unicode="&#xf584;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM90.4004 264.4c-7.7002 -20.2002 3.7998 -41.8008 24.1992 -47.2002l70.2002 -18.2002c4.60059 -1.2002 9.2998 1.5 10.5 6l19.4004 69.9004
c5.59961 20.2998 -7.40039 41.0996 -28.7998 44.5c-18.7002 3 -36.5 -9.80078 -41.5 -27.9004l-2 -7.09961l-7.10059 1.89941c-18.2002 4.7998 -38.2002 -4.2998 -44.8994 -21.8994zM248 16c60.5996 0 134.5 38.2998 143.8 93.2998
c1.90039 11.7998 -9.2998 21.5 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.5 3.59961 -22.7002 -6.10059 -20.7002 -17.9004c9.2998 -55 83.2002 -93.2998 143.8 -93.2998zM381.4 217.3
c20.3994 5.2998 31.8994 26.9004 24.1992 47.2002c-6.69922 17.5996 -26.6992 26.5996 -44.8994 21.9004l-7.10059 -1.90039l-2 7.09961c-5.09961 18.1006 -22.8994 30.9004 -41.5 27.9004c-21.3994 -3.40039 -34.3994 -24.2002 -28.7998 -44.5l19.4004 -69.9004
c1.2998 -4.5 6 -7.19922 10.5 -6z" />
    <glyph glyph-name="grin-squint" unicode="&#xf585;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM281.8 250.3c-7.7002 -4.7002 -7.7002 -15.8994 0 -20.5996l80 -48c11.5 -6.7998 24.1006 7.59961 15.4004 18l-33.6006 40.2998l33.6006 40.2998
c8.59961 10.2998 -3.7998 24.9004 -15.4004 18zM118.8 280.3l33.6006 -40.2998l-33.6006 -40.2998c-8.59961 -10.4004 3.90039 -24.7998 15.4004 -18l80 48c7.7998 4.7002 7.7998 15.8994 0 20.5996l-80 48c-11.6006 6.90039 -24 -7.7002 -15.4004 -18zM248 16
c60.5996 0 134.5 38.2998 143.8 93.2998c1.90039 11.7002 -9.2002 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.3008 3.7002 -22.7002 -6 -20.7002 -17.9004
c9.2998 -55 83.2002 -93.2998 143.8 -93.2998z" />
    <glyph glyph-name="grin-squint-tears" unicode="&#xf586;" 
d="M409.6 336.1c-5.59961 -0.799805 -10.2998 3.90039 -9.5 9.40039c3.30078 22.5996 12 73.5 26.8008 88.2998c19.0996 19.2002 50.6992 18.9004 70.2998 -0.700195c19.5996 -19.5996 19.8994 -51 0.700195 -70.1992
c-14.8008 -14.8008 -65.7002 -23.6006 -88.3008 -26.8008zM102.4 47.9004c5.59961 0.799805 10.2998 -3.90039 9.5 -9.40039c-3.30078 -22.5996 -12 -73.5 -26.8008 -88.2998c-19.1992 -19.2002 -50.5996 -18.9004 -70.1992 0.700195
c-19.6006 19.5996 -19.9004 51.0996 -0.800781 70.1992c14.8008 14.8008 65.7002 23.6006 88.3008 26.8008zM414.1 304.4c24 3.5 42.1006 7.39941 56.5 11.5c54.8008 -94.9004 42 -218.2 -39.1992 -299.301c-81.2002 -81.0996 -204.5 -94 -299.301 -39.1992
c4.10059 14.3994 8.10059 32.5 11.5 56.5c2.90039 20.5 -12.5 49.5996 -45.6992 45.6992c-24.1006 -3.5 -42.1006 -7.39941 -56.5 -11.5c-54.8008 94.9004 -41.9004 218.2 39.1992 299.301c81.2002 81.0996 204.5 94 299.301 39.1992
c-4.10059 -14.3994 -8.10059 -32.5 -11.5 -56.5c-2.90039 -20.5996 12.6992 -49.5996 45.6992 -45.6992zM255.7 342l-22.5 -90.5996c-2.2002 -8.60059 5.59961 -16.7002 14.5 -14.5l90.5 22.5996c13.0996 3.2998 11.5996 22.4004 -1.7998 23.5996l-52.3008 4.80078
l-4.7998 52.2998c-1.2002 13.2998 -20.2998 15 -23.5996 1.7998zM164.8 111.7c1.2998 -13.4004 20.4004 -14.9004 23.5 -1.7002l22.6006 90.5c2.19922 8.7002 -5.7002 16.7002 -14.5 14.5l-90.5 -22.5996c-13.1006 -3.30078 -11.6006 -22.4004 1.7998 -23.6006
l52.2998 -4.7998zM380.5 67.5c42.7998 42.9004 68 122.3 35.7002 167.6c-7.10059 9.90039 -21.9004 8.5 -27.2998 -2c-14.6006 -28.1992 -42.4004 -63.8994 -76.3008 -97.7998c-33.8994 -33.8994 -69.5 -61.7002 -97.7998 -76.2998
c-10.7002 -5.40039 -11.7998 -20.2998 -2 -27.2002c14.4004 -10.2002 32.1006 -14.7002 51 -14.7002c41 0 87.4004 21.1006 116.7 50.4004z" />
    <glyph glyph-name="grin-stars" unicode="&#xf587;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM94.5996 279.1c-6.19922 -1 -8.89941 -8.59961 -4.2998 -13.2998l25.4004 -24.5996l-6 -34.9004c-1 -6.2002 5.2998 -11 11 -7.89941l31.2998 16.2998l31.2002 -16.2002
c5.7002 -3.09961 12 1.7002 11 7.90039l-6 34.8994l25.3994 24.6006c4.60059 4.59961 1.90039 12.1992 -4.2998 13.1992l-34.8994 5l-15.5 31.6006c-2.90039 5.7998 -11 5.7998 -13.9004 0l-15.5 -31.6006zM248 16c60.5996 0 134.5 38.2998 143.8 93.2998
c1.90039 11.7998 -9.2002 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.4004 3.59961 -22.7002 -6.10059 -20.7002 -17.9004c9.2998 -55 83.2002 -93.2998 143.8 -93.2998zM405.7 265.9
c4.59961 4.59961 1.89941 12.1992 -4.40039 13.0996l-34.8994 5l-15.5 31.5996c-2.90039 5.80078 -11 5.80078 -13.9004 0l-15.5 -31.5996l-34.9004 -5c-6.19922 -1 -8.7998 -8.59961 -4.2998 -13.2002l25.4004 -24.5996l-6 -34.9004c-1 -6.2002 5.2998 -11 11 -7.89941
l31.2998 16.2998l31.2998 -16.2002c5.7002 -3.09961 12 1.7002 11 7.90039l-6 34.8994z" />
    <glyph glyph-name="grin-tears" unicode="&#xf588;" horiz-adv-x="640" 
d="M102.4 191.9c5.59961 0.799805 10.2998 -3.90039 9.5 -9.40039c-3.30078 -22.5996 -12 -73.5 -26.8008 -88.2998c-19.1992 -19.2002 -50.5996 -18.9004 -70.1992 0.700195c-19.6006 19.5996 -19.9004 51.0996 -0.800781 70.1992
c14.8008 14.8008 65.7002 23.6006 88.3008 26.8008zM625.8 165.1c19.2002 -19.0996 18.7998 -50.6992 -0.799805 -70.2998c-19.5996 -19.5996 -51 -19.8994 -70.2002 -0.700195c-14.7998 14.8008 -23.5996 65.7002 -26.7998 88.3008c-0.799805 5.59961 4 10.2998 9.5 9.5
c22.5996 -3.30078 73.5 -12 88.2998 -26.8008zM496.4 177.9c11.7998 -82.3008 29.8994 -100.4 35.7998 -106.301c0.899414 -1 2 -1.59961 3 -2.5c-42.7002 -74.6992 -123 -125.1 -215.2 -125.1s-172.5 50.4004 -215.2 125c1 0.900391 2.10059 1.59961 3 2.5
c5.90039 6 24 24.0996 35.7998 106.4c2.90039 20.3994 -12.5 49.5996 -45.6992 45.6992c-8.90039 -1.2998 -16.8008 -2.69922 -24.3008 -4.09961c13.7002 124 118.7 220.5 246.4 220.5s232.7 -96.5 246.4 -220.5c-7.5 1.40039 -15.4004 2.7998 -24.3008 4.09961
c-26.5996 3.80078 -49.5 -19.0996 -45.6992 -45.6992zM400 296c-23.7998 0 -52.7002 -29.2998 -55.7998 -71.4004c-0.700195 -8.5 10.7002 -11.8994 14.8994 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17
c4.10059 -7.5 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004zM240 296c-23.7998 0 -52.7002 -29.2998 -55.7998 -71.4004c-0.700195 -8.5 10.7002 -11.8994 14.8994 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006
c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17c4.10059 -7.5 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004zM320 16c60.5996 0 134.5 38.2998 143.8 93.2998c1.90039 11.7998 -9.2998 21.6006 -20.7002 17.9004
c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.5 3.7002 -22.7002 -6.2002 -20.7002 -17.9004c9.2998 -55 83.2002 -93.2998 143.8 -93.2998z" />
    <glyph glyph-name="grin-tongue" unicode="&#xf589;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248c0 -106.3 -67 -196.7 -161 -232c5.59961 12.2002 9 25.7002 9 40v45.5c24.7002 16.2002 43.5 38.0996 47.7998 63.7998c1.90039 11.7998 -9.2998 21.5 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002
s-92.9004 5.5 -123.1 15.2002c-11.4004 3.59961 -22.7002 -6.10059 -20.7002 -17.9004c4.2998 -25.7002 23.0996 -47.5996 47.7998 -63.7998v-45.5c0 -14.2998 3.40039 -27.7998 9 -40c-94 35.2998 -161 125.7 -161 232c0 137 111 248 248 248zM168 208
c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM293.1 73.4004c0.800781 -0.400391 -0.5 0.299805 19 -9.30078v-64
c0 -35.5996 -29.1992 -64.5 -64.8994 -64c-35.1006 0.400391 -63.1006 29.7002 -63.1006 64.9004v63c19.2002 9.59961 18 9 18.9004 9.40039c14.4004 6.5 31.0996 -2.2002 34.5996 -17.6006l1.80078 -7.7998c2.09961 -9.2002 15.1992 -9.2002 17.2998 0l1.7998 7.7998
c3.5 15.4004 20.2002 24.1006 34.5996 17.6006z" />
    <glyph glyph-name="grin-tongue-squint" unicode="&#xf58a;" horiz-adv-x="496" 
d="M293.1 73.4004c0.800781 -0.400391 -0.5 0.299805 19 -9.30078v-64c0 -35.5996 -29.1992 -64.5 -64.8994 -64c-35.1006 0.400391 -63.1006 29.7002 -63.1006 64.9004v63c19.2002 9.59961 18 9 18.9004 9.40039c14.4004 6.5 31.0996 -2.2002 34.5996 -17.6006
l1.80078 -7.7998c2.09961 -9.2002 15.1992 -9.2002 17.2998 0l1.7998 7.7998c3.5 15.4004 20.2002 24.1006 34.5996 17.6006zM248 440c137 0 248 -111 248 -248c0 -106.3 -67 -196.7 -161 -232c5.59961 12.2002 9 25.7002 9 40v45.5
c24.7002 16.2002 43.5 38.0996 47.7998 63.7998c1.90039 11.7998 -9.2998 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.5 3.59961 -22.7002 -6.10059 -20.7002 -17.9004
c4.2998 -25.7002 23.0996 -47.5996 47.7998 -63.7998v-45.5c0 -14.2998 3.40039 -27.7998 9 -40c-94 35.2998 -161 125.7 -161 232c0 137 111 248 248 248zM214.2 229.7c7.7002 4.7002 7.7002 15.8994 0 20.5996l-80 48c-11.6006 6.90039 -24 -7.7002 -15.4004 -18
l33.6006 -40.2998l-33.6006 -40.2998c-8.59961 -10.4004 3.90039 -24.7998 15.4004 -18zM377.2 199.7l-33.6006 40.2998l33.6006 40.2998c8.5 10.2998 -3.7002 24.9004 -15.4004 18l-80 -48c-7.7998 -4.7002 -7.7998 -15.8994 0 -20.5996l80 -48
c11.5 -6.7998 24.1006 7.59961 15.4004 18z" />
    <glyph glyph-name="grin-tongue-wink" unicode="&#xf58b;" horiz-adv-x="496" 
d="M344 264c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM248 440c137 0 248 -111 248 -248c0 -106.3 -67 -196.7 -161 -232c5.59961 12.2002 9 25.7002 9 40v45.5c24.7002 16.2002 43.5 38.0996 47.7998 63.7998
c1.90039 11.7998 -9.2002 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.4004 3.59961 -22.7002 -6.10059 -20.7002 -17.9004c4.2998 -25.7002 23.0996 -47.5996 47.7998 -63.7998v-45.5
c0 -14.2998 3.40039 -27.7998 9 -40c-94 35.2998 -161 125.7 -161 232c0 137 111 248 248 248zM192 215c8.40039 -7.40039 21.5996 -0.299805 20 10.7998c-4 25.2002 -34.2002 42.1006 -59.9004 42.1006c-25.6992 0 -55.8994 -16.9004 -59.8994 -42.1006
c-1.7998 -11.0996 11.2998 -18.2002 19.7998 -10.7998l9.5 8.5c14.7998 13.2002 46.2002 13.2002 61 0zM344 176c35.2998 0 64 28.7002 64 64s-28.7002 64 -64 64s-64 -28.7002 -64 -64s28.7002 -64 64 -64zM293.1 73.4004c0.800781 -0.400391 -0.5 0.299805 19 -9.30078
v-64c0 -35.5996 -29.1992 -64.5 -64.8994 -64c-35.1006 0.400391 -63.1006 29.7002 -63.1006 64.9004v63c19.2002 9.59961 18 9 18.9004 9.40039c14.4004 6.5 31.0996 -2.2002 34.5996 -17.6006l1.80078 -7.7998c2.09961 -9.2002 15.1992 -9.2002 17.2998 0l1.7998 7.7998
c3.5 15.4004 20.2002 24.1006 34.5996 17.6006z" />
    <glyph glyph-name="grin-wink" unicode="&#xf58c;" horiz-adv-x="496" 
d="M0 192c0 137 111 248 248 248s248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248zM200 240c0 17.7002 -14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32zM368 215c8.5 -7.40039 21.5996 -0.200195 20 10.7998
c-4 25.2002 -34.2002 42.1006 -59.9004 42.1006c-25.6992 0 -55.8994 -16.9004 -59.8994 -42.1006c-1.7998 -11.2002 11.5 -18.2002 19.7998 -10.7998l9.5 8.5c14.7998 13.2002 46.2002 13.2002 61 0zM124.9 127.2c-11.4004 3.7002 -22.7002 -6 -20.7002 -17.9004
c9.2998 -55 83.2002 -93.2998 143.8 -93.2998s134.6 38.2998 143.8 93.2998c1.90039 11.9004 -9.39941 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002z" />
    <glyph glyph-name="grip-horizontal" unicode="&#xf58d;" horiz-adv-x="448" 
d="M96 160c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM256 160c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64
c0 17.6699 14.3301 32 32 32h64zM416 160c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM96 352c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64
c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM256 352c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM416 352c17.6699 0 32 -14.3301 32 -32v-64
c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64z" />
    <glyph glyph-name="grip-vertical" unicode="&#xf58e;" horiz-adv-x="320" 
d="M96 416c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM96 256c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64
c0 17.6699 14.3301 32 32 32h64zM96 96c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM288 416c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64
c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM288 256c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM288 96c17.6699 0 32 -14.3301 32 -32v-64
c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64z" />
    <glyph glyph-name="headphones-alt" unicode="&#xf58f;" 
d="M160 160c17.6699 0 32 -14.3496 32 -32.0596v-127.881c0 -17.6992 -14.3301 -32.0596 -32 -32.0596h-16c-35.3496 0 -64 28.71 -64 64.1201v63.7598c0 35.4199 28.6504 64.1201 64 64.1201h16zM368 160c35.3496 0 64 -28.71 64 -64.1201v-63.7598
c0 -35.4102 -28.6504 -64.1201 -64 -64.1201h-16c-17.6699 0 -32 14.3604 -32 32.0596v127.881c0 17.71 14.3301 32.0596 32 32.0596h16zM256 416c143.09 0 251.43 -119.13 256 -256v-112c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v112
c0 114.67 -93.3301 207.8 -208 207.82c-114.67 -0.0205078 -208 -93.1504 -208 -207.82v-112c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v112c4.57031 136.87 112.91 256 256 256z" />
    <glyph glyph-name="headset" unicode="&#xf590;" 
d="M192 240v-112c0 -17.6699 -14.3301 -32 -32 -32h-16c-35.3496 0 -64 28.6504 -64 64v48c0 35.3496 28.6504 64 64 64h16c17.6699 0 32 -14.3301 32 -32zM368 96h-16c-17.6699 0 -32 14.3301 -32 32v112c0 17.6699 14.3301 32 32 32h16c35.3496 0 64 -28.6504 64 -64v-48
c0 -35.3496 -28.6504 -64 -64 -64zM256 448c142.82 0 251.42 -118.83 256 -256v-165.72c0 -49.8604 -40.4199 -90.2803 -90.2803 -90.2803h-181.72c-26.5098 0 -48 21.4902 -48 48s21.4902 48 48 48h32c26.5098 0 48 -21.4902 48 -48h101.72
c23.3506 0 42.2803 18.9297 42.2803 42.2803c0 0 -0.0400391 163.29 -0.120117 165.72h0.120117c0 114.69 -93.3096 208 -208 208s-208 -93.3096 -208 -208v-16c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v16c4.58008 137.17 113.18 256 256 256z
" />
    <glyph glyph-name="highlighter" unicode="&#xf591;" horiz-adv-x="544" 
d="M0 -31.9805l68.3301 70.4707l67.04 -67.04l-35.4502 -35.4502zM124.61 208.03l41.5195 35.4395l173.34 -173.34l-35.5498 -41.6396c-9.5 -10.7705 -24.4199 -14.9805 -38.1504 -10.7803l-42.7393 13.0801l-50.8604 -50.8604l-96.2295 96.2305l50.9297 50.9395
l-13.0498 42.8301c-1.02832 3.37598 -1.60645 6.94922 -1.60645 10.6592c0 10.9229 4.79688 20.7344 12.3965 27.4414zM527.92 368.73c20.5 -20.5 21.5303 -53.3906 2.34961 -75.1309l-169.949 -199.06l-169.771 169.78l199.05 169.96
c21.7402 19.1699 54.6309 18.1396 75.1201 -2.35059z" />
    <glyph glyph-name="hot-tub" unicode="&#xf593;" 
d="M414.21 270.35c-3.15039 25.3906 -14.6104 47.9707 -31.9697 62.1406c-27.7305 22.6299 -45.79 58.0498 -50.1299 97.1602c-1.09082 9.7793 6.48926 18.3496 16 18.3496h16.1201c7.98926 0 14.7295 -6.13965 15.7393 -14.3398
c3.16016 -25.4004 14.6104 -47.9805 31.9805 -62.1504c27.7295 -22.6299 45.79 -58.0498 50.1299 -97.1602c1.08008 -9.7793 -6.49023 -18.3496 -16 -18.3496h-16.1201c-8 0 -14.7295 6.13965 -15.75 14.3496zM306.21 270.35
c-3.15039 25.3906 -14.6104 47.9707 -31.9697 62.1406c-27.7305 22.6299 -45.79 58.0498 -50.1299 97.1602c-1.09082 9.7793 6.48926 18.3496 16 18.3496h16.1201c7.98926 0 14.7295 -6.13965 15.7393 -14.3398c3.16016 -25.4004 14.6104 -47.9805 31.9805 -62.1504
c27.7295 -22.6299 45.79 -58.0498 50.1299 -97.1602c1.08008 -9.7793 -6.49023 -18.3496 -16 -18.3496h-16.1201c-8 0 -14.7295 6.13965 -15.75 14.3496zM480 192c17.6699 0 32 -14.3301 32 -32v-160c0 -35.3496 -28.6504 -64 -64 -64h-384c-35.3496 0 -64 28.6504 -64 64
v224c0 35.3496 28.6504 64 64 64h42.6699c14.3779 0 27.7109 -4.78223 38.4004 -12.7998l110.93 -83.2002h224zM128 8v112c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-112c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8zM224 8v112
c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-112c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8zM320 8v112c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-112c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8zM416 8
v112c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-112c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8zM64 320c-35.3496 0 -64 28.6504 -64 64s28.6504 64 64 64s64 -28.6504 64 -64s-28.6504 -64 -64 -64z" />
    <glyph glyph-name="hotel" unicode="&#xf594;" horiz-adv-x="576" 
d="M560 384h-16v-384h16c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-240v80c0 8.7998 -7.2002 16 -16 16h-32c-8.7998 0 -16 -7.2002 -16 -16v-80h-240c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h15.9805v384h-15.9805
c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h544c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16zM256 339.2v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998v38.4004
c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998zM256 243.2v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998v38.4004
c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998zM128 339.2v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998v38.4004
c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998zM179.2 192c6.39941 0 12.7998 6.40039 12.7998 12.7998v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004
c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004zM192 64h192c0 53.0195 -42.9805 96 -96 96s-96 -42.9805 -96 -96zM448 204.8v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004
c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998zM448 300.8v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004
c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998z" />
    <glyph glyph-name="joint" unicode="&#xf595;" horiz-adv-x="640" 
d="M444.34 266.9c-35.7803 25.0693 -60.3398 63.0098 -60.3398 106.699v66.4004c0 4.41992 3.58008 8 8 8h48c4.41992 0 8 -3.58008 8 -8v-62.3096c0 -29.0303 15.8496 -54.71 39.6602 -71.3203c35.3301 -24.6504 56.3398 -64.8203 56.3398 -108.061v-30.3096
c0 -4.41992 -3.58008 -8 -8 -8h-48c-4.41992 0 -8 3.58008 -8 8v30.3096c0 27.4307 -13.2803 52.9102 -35.6602 68.5908zM194.97 89.0195c22.3701 3.60059 45.0801 -4.30957 59.8203 -21.5098l112.72 -131.51h-88.5693c-98.6406 0 -195.29 27.7197 -278.94 80
c59.6904 37.3096 126.03 61.9297 194.97 73.0195zM553.28 360.91c54.3096 -36.4102 86.7197 -97.1602 86.7197 -162.601v-30.3096c0 -4.41992 -3.58008 -8 -8 -8h-48c-4.41992 0 -8 3.58008 -8 8v30.3096c0 50.1504 -25.21 96.6504 -67.3604 123.99
c-18.4697 11.9805 -28.6396 33.3701 -28.6396 55.3906v62.3096c0 4.41992 3.58008 8 8 8h48c4.41992 0 8 -3.58008 8 -8v-62.3096c0 -6.82031 3.61035 -12.9805 9.28027 -16.7803zM360.89 95.9502c0.0371094 0 0.0556641 0.0351562 0.0927734 0.0351562
c19.4336 0 36.8535 -8.68652 48.5879 -22.3857l117.949 -137.6h-88.4492c-19.4385 0 -36.8506 8.65137 -48.5898 22.3496l-117.801 137.431c1.40039 0.0195312 53.8105 0.109375 88.21 0.169922zM616 96c13.25 0 24 -10.7402 24 -24v-112c0 -13.25 -10.75 -24 -24 -24
h-17.4199c-19.4375 0 -36.8506 8.65137 -48.5898 22.3496l-117.99 137.65h184z" />
    <glyph glyph-name="kiss" unicode="&#xf596;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM168 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM304 52c0 13 -13.4004 27.2998 -35.2002 36.4004
c21.7998 8.69922 35.2002 23 35.2002 36c0 19.1992 -28.7002 41.5 -71.5 44c-8.40039 1.09961 -12.2002 -11.8008 -3.59961 -15.4004l17 -7.2002c13 -5.5 20.7998 -13.5 20.7998 -21.5s-7.7998 -16 -20.7998 -21.5l-17 -7.2002c-6.10059 -2.59961 -6 -12.2998 0 -14.7998
l17 -7.2002c13 -5.5 20.7998 -13.5 20.7998 -21.5s-7.7998 -16 -20.7998 -21.5l-17 -7.19922c-8.5 -3.60059 -4.90039 -16.2002 3.59961 -15.4004c42.7998 2.5 71.5 24.7998 71.5 44zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32
s14.2998 -32 32 -32z" />
    <glyph glyph-name="kiss-beam" unicode="&#xf597;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM209 220.1c4.2002 -7.5 15.5996 -4 15.0996 4.5c-3.2998 42.1006 -32.1992 71.4004 -56 71.4004c-23.7998 0 -52.6992 -29.2998 -56 -71.4004
c-0.699219 -8.5 10.7002 -11.8994 14.9004 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006s23.7998 -7.90039 31.5 -21.6006zM304 52c0 13 -13.4004 27.2998 -35.2002 36.4004c21.7998 8.69922 35.2002 23 35.2002 36c0 19.1992 -28.7002 41.5 -71.5 44
c-8.40039 1.09961 -12.2002 -11.8008 -3.59961 -15.4004l17 -7.2002c13 -5.5 20.7998 -13.5 20.7998 -21.5s-7.7998 -16 -20.7998 -21.5l-17 -7.2002c-6.10059 -2.59961 -6 -12.2998 0 -14.7998l17 -7.2002c13 -5.5 20.7998 -13.5 20.7998 -21.5s-7.7998 -16 -20.7998 -21.5
l-17 -7.19922c-8.5 -3.60059 -4.90039 -16.2002 3.59961 -15.4004c42.7998 2.5 71.5 24.7998 71.5 44zM369 220.1c4.2002 -7.5 15.5996 -4 15.0996 4.5c-3.2998 42.1006 -32.1992 71.4004 -56 71.4004c-23.7998 0 -52.6992 -29.2998 -56 -71.4004
c-0.699219 -8.5 10.8008 -11.7998 14.9004 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006s23.7998 -7.90039 31.5 -21.6006z" />
    <glyph glyph-name="kiss-wink-heart" unicode="&#xf598;" horiz-adv-x="504" 
d="M501.1 45.5c9.2002 -23.9004 -4.39941 -49.4004 -28.5 -55.7002l-83 -21.5c-5.39941 -1.39941 -10.8994 1.7998 -12.3994 7.10059l-22.9004 82.5996c-6.59961 24 8.7998 48.5996 34 52.5996c22 3.5 43.1006 -11.5996 49 -33l2.2998 -8.39941l8.40039 2.2002
c21.5996 5.59961 45.0996 -5.10059 53.0996 -25.9004zM323.5 49.5c0 0 23.5996 -83.9004 23.9004 -84.5996c-30.5 -13.4004 -64 -20.9004 -99.4004 -20.9004c-137 0 -248 111 -248 248s111 248 248 248s248 -111 248 -248c0 -31.7998 -6.2002 -62.0996 -17.0996 -90
c-6 1.5 -12.2002 2.7998 -18.6006 2.90039c-29.0996 49.7998 -98.0996 50.5996 -127.8 4.2998c-11.2998 -17.7002 -14.5996 -39.4004 -9 -59.7002zM168 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM288 52
c0 13 -13.4004 27.2998 -35.2002 36.4004c21.7998 8.69922 35.2002 23 35.2002 36c0 19.1992 -28.7002 41.5 -71.5 44c-8.2002 1.19922 -12.4004 -11.7002 -3.59961 -15.4004l17 -7.2002c13 -5.5 20.7998 -13.5 20.7998 -21.5s-7.7998 -16 -20.7998 -21.5l-17 -7.2002
c-5.7002 -2.5 -6 -12.2998 0 -14.7998l17 -7.2002c13 -5.5 20.7998 -13.5 20.7998 -21.5s-7.7998 -16 -20.7998 -21.5l-17 -7.19922c-8.5 -3.60059 -4.90039 -16.2002 3.59961 -15.4004c42.7998 2.5 71.5 24.7998 71.5 44zM304 231l9.7002 8.5
c14.7998 13.2002 46.2002 13.2002 61 0l9.5 -8.5c8.5 -7.5 21.5 -0.299805 19.7998 10.7998c-4 25.2002 -34.2002 42.1006 -59.9004 42.1006c-25.6992 0 -55.8994 -16.9004 -59.8994 -42.1006c-1.7998 -11.2002 11.5 -18.2002 19.7998 -10.7998z" />
    <glyph glyph-name="laugh" unicode="&#xf599;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM328 288c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM168 288c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32
s32 14.2998 32 32s-14.2998 32 -32 32zM256 16c73.4004 0 134 55 142.9 126c1.19922 9.59961 -6.30078 18 -15.9004 18h-270c-9.59961 0 -17.0996 -8.5 -15.9004 -18c8.90039 -71 69.5 -126 142.9 -126h16z" />
    <glyph glyph-name="laugh-beam" unicode="&#xf59a;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM272 240.6c-0.700195 -8.59961 10.9004 -11.8994 15.0996 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17
c4.10059 -7.39941 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004s-52.7002 -29.2998 -56 -71.4004zM112 240.6c-0.700195 -8.5 10.7998 -11.8994 15.0996 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006
c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17c4.10059 -7.39941 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004s-52.7002 -29.2998 -56 -71.4004zM398.9 142c1.19922 9.59961 -6.30078 18 -15.9004 18h-270
c-9.59961 0 -17.0996 -8.5 -15.9004 -18c8.90039 -71 69.5 -126 142.9 -126h16c73.4004 0 134 55 142.9 126z" />
    <glyph glyph-name="laugh-squint" unicode="&#xf59b;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM281.8 278.3c-7.7002 -4.7002 -7.7002 -15.8994 0 -20.5996l80 -48c11.5 -6.7998 24.1006 7.59961 15.4004 18l-33.6006 40.2998l33.6006 40.2998
c8.59961 10.2998 -3.7998 24.9004 -15.4004 18zM118.8 308.3l33.6006 -40.2998l-33.6006 -40.2998c-8.59961 -10.4004 3.90039 -24.7998 15.4004 -18l80 48c7.7998 4.7002 7.7998 15.8994 0 20.5996l-80 48c-11.6006 6.90039 -24 -7.7002 -15.4004 -18zM398.9 142
c1.19922 9.59961 -6.30078 18 -15.9004 18h-270c-9.59961 0 -17.0996 -8.5 -15.9004 -18c8.90039 -71 69.5 -126 142.9 -126h16c73.4004 0 134 55 142.9 126z" />
    <glyph glyph-name="laugh-wink" unicode="&#xf59c;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM268.1 241.9c-1.69922 -11.2002 11.5 -18.3008 19.9004 -10.9004l9.59961 8.59961c14.8008 13.2002 46.2002 13.2002 61 0l9.5 -8.5
c8.40039 -7.5 21.5 -0.299805 19.8008 10.8008c-4 25.1992 -34.2002 42.0996 -59.9004 42.0996s-55.9004 -16.9004 -59.9004 -42.0996zM168 288c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM398.9 142
c1.19922 9.59961 -6.30078 18 -15.9004 18h-270c-9.59961 0 -17.0996 -8.5 -15.9004 -18c8.90039 -71 69.5 -126 142.9 -126h16c73.4004 0 134 55 142.9 126z" />
    <glyph glyph-name="luggage-cart" unicode="&#xf59d;" horiz-adv-x="640" 
d="M224 128c-17.6699 0 -32 14.3301 -32 32v160c0 17.6699 14.3301 32 32 32h32v-224h-32zM576 160c0 -17.6699 -14.3301 -32 -32 -32h-32v224h32c17.6699 0 32 -14.3301 32 -32v-160zM624 64c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-82.9404
c1.79004 -5.03027 2.94043 -10.3604 2.94043 -16c0 -26.5098 -21.4902 -48 -48 -48s-48 21.4902 -48 48c0 5.63965 1.15039 10.9697 2.94043 16h-197.881c1.79004 -5.03027 2.94043 -10.3604 2.94043 -16c0 -26.5098 -21.4902 -48 -48 -48s-48 21.4902 -48 48
c0 5.63965 1.15039 10.9697 2.94043 16h-82.9404c-8.83984 0 -16 7.16016 -16 16v368h-48c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h96c8.83984 0 16 -7.16016 16 -16v-368h496zM480 352v-224h-192v272c0 26.5098 21.4902 48 48 48h96
c26.5098 0 48 -21.4902 48 -48v-48zM432 352v48h-96v-48h96z" />
    <glyph glyph-name="map-marked" unicode="&#xf59f;" horiz-adv-x="576" 
d="M288 448c69.5898 0 126 -56.4102 126 -126c0 -56.2598 -82.3496 -158.8 -113.9 -196.02c-6.37988 -7.54004 -17.8096 -7.54004 -24.1992 0c-31.5508 37.2197 -113.9 139.76 -113.9 196.02c0 69.5898 56.4102 126 126 126zM20.1201 232.05l118.63 47.4502
c5.17969 -14.8799 12.4102 -30.4404 21.25 -46.4199v-233.08l-138.06 -62.8398c-10.5107 -4.2002 -21.9404 3.54004 -21.9404 14.8594v250.32c0.00292969 13.4697 8.32617 24.9932 20.1201 29.71zM288 88.3301c14.0703 0 27.3799 6.17969 36.5098 16.9502
c19.6699 23.2002 40.5703 49.6299 59.4902 76.7197v-245.99l-192 64v182c18.9199 -27.0996 39.8301 -53.5195 59.4902 -76.7197c9.12988 -10.7803 22.4395 -16.96 36.5098 -16.96zM554.06 286.84c10.5107 4.2002 21.9404 -3.54004 21.9404 -14.8594v-250.32
c0 -13.4707 -8.32422 -24.9951 -20.1201 -29.71l-139.88 -55.9502v288z" />
    <glyph glyph-name="map-marked-alt" unicode="&#xf5a0;" horiz-adv-x="576" 
d="M288 448c69.5898 0 126 -56.4102 126 -126c0 -56.2598 -82.3496 -158.8 -113.9 -196.02c-6.37988 -7.54004 -17.8096 -7.54004 -24.1992 0c-31.5508 37.2197 -113.9 139.76 -113.9 196.02c0 69.5898 56.4102 126 126 126zM288 280c23.2002 0 42 18.7998 42 42
s-18.7998 42 -42 42s-42 -18.7998 -42 -42s18.7998 -42 42 -42zM20.1201 232.05l118.63 47.4502c5.17969 -14.8799 12.4102 -30.4404 21.25 -46.4199v-233.08l-138.06 -62.8398c-10.5107 -4.2002 -21.9404 3.54004 -21.9404 14.8594v250.32
c0.00292969 13.4697 8.32617 24.9932 20.1201 29.71zM288 88.3301c14.0703 0 27.3799 6.17969 36.5098 16.9502c19.6699 23.2002 40.5703 49.6299 59.4902 76.7197v-245.99l-192 64v182c18.9199 -27.0996 39.8301 -53.5195 59.4902 -76.7197
c9.12988 -10.7803 22.4395 -16.96 36.5098 -16.96zM554.06 286.84c10.5107 4.2002 21.9404 -3.54004 21.9404 -14.8594v-250.32c0 -13.4707 -8.32422 -24.9951 -20.1201 -29.71l-139.88 -55.9502v288z" />
    <glyph glyph-name="marker" unicode="&#xf5a1;" 
d="M93.9502 157.97l75.3994 75.4004l128.021 -128.021l-75.4004 -75.3994c-51.1611 -51.1592 -119.559 -85.4326 -195.34 -93.7998c-15.2803 -1.69043 -28.1895 11.2295 -26.4902 26.5098l0.0302734 0.229492c8.42188 75.6777 42.6777 143.978 93.7803 195.08z
M485.49 421.49c35.3496 -35.3604 35.3496 -92.6699 0 -128.021l-165.49 -165.489l-128.02 128.02l98.4795 98.4697l-19.5898 19.5898l-87.1504 -87.1494c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-22.6201 22.6201c-6.25 6.25 -6.25 16.3799 0 22.6299l104.12 104.12
c15.6104 15.6201 40.9404 15.6201 56.5605 0l36.5596 -36.5498l21.7598 21.7598c35.3506 35.3496 92.6699 35.3496 128.021 0z" />
    <glyph glyph-name="medal" unicode="&#xf5a2;" 
d="M223.75 317.25c-42.04 -6.55957 -79.8398 -25.6201 -109.56 -53.3896l-111.271 158.96c-7.41992 10.6094 0.160156 25.1797 13.1104 25.1797h111.149c11.6572 0 21.8467 -6.21387 27.4404 -15.54zM495.97 448c12.9502 0 20.5303 -14.5703 13.1104 -25.1797
l-111.271 -158.95c-29.7197 27.7598 -67.5195 46.8203 -109.56 53.3799l69.1299 115.21c5.78027 9.63965 16.2002 15.54 27.4404 15.54h111.149zM256 288c97.2002 0 176 -78.7998 176 -176s-78.7998 -176 -176 -176s-176 78.7998 -176 176s78.7998 176 176 176z
M348.52 130.74c6.82031 6.63965 3.05078 18.2295 -6.34961 19.5898l-52.4297 7.63965l-23.4307 47.5205c-2.10938 4.25 -6.21973 6.38965 -10.3291 6.38965c-4.09082 0 -8.1709 -2.11035 -10.2803 -6.38965l-23.4307 -47.5205l-52.4297 -7.63965
c-9.39941 -1.36035 -13.1699 -12.9502 -6.34961 -19.5898l37.9297 -36.96l-8.96973 -52.2207c-1.60059 -9.34961 8.25 -16.54 16.6494 -12.0898l46.9004 24.6504l46.9102 -24.6504c8.38965 -4.41992 18.25 2.73047 16.6494 12.0898l-8.96973 52.2207z" />
    <glyph glyph-name="meh-blank" unicode="&#xf5a4;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM168 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32
s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
    <glyph glyph-name="meh-rolling-eyes" unicode="&#xf5a5;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM88 224c0 -35.2998 28.7002 -64 64 -64s64 28.7002 64 64c0 24.2998 -13.7002 45.2002 -33.5996 56c0.699219 -2.59961 1.59961 -5.2002 1.59961 -8
c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32c0 2.7998 0.900391 5.40039 1.59961 8c-19.8994 -10.7998 -33.5996 -31.7002 -33.5996 -56zM312 48c21.2002 0 21.2002 32 0 32h-128c-21.2002 0 -21.2002 -32 0 -32h128zM344 160c35.2998 0 64 28.7002 64 64
c0 24.2998 -13.7002 45.2002 -33.5996 56c0.699219 -2.59961 1.59961 -5.2002 1.59961 -8c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32c0 2.7998 0.900391 5.40039 1.59961 8c-19.8994 -10.7998 -33.5996 -31.7002 -33.5996 -56c0 -35.2998 28.7002 -64 64 -64z
" />
    <glyph glyph-name="monument" unicode="&#xf5a6;" horiz-adv-x="384" 
d="M368 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-352c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h352zM289.14 347.26l30.8604 -315.26h-256l30.8701 315.26c0.751953 7.54688 4.12988 14.3613 9.20996 19.4404
l76.5996 76.6094c6.25 6.25 16.3799 6.25 22.6299 0l76.6201 -76.6094c5.08008 -5.0791 8.45801 -11.8936 9.20996 -19.4404zM240 140.8v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-70.4004c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004
c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h70.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998z" />
    <glyph glyph-name="mortar-pestle" unicode="&#xf5a7;" 
d="M501.54 387.09l-99.0801 -99.0898h-151.37l203.811 152.86c5.96094 4.46875 13.4297 7.11426 21.4473 7.11426c5.71973 0 11.1279 -1.34863 15.9219 -3.74414c21.7803 -10.8906 26.4902 -39.9209 9.27051 -57.1406zM496 256c8.83984 0 16 -7.16016 16 -16v-32
c0 -8.83984 -7.16016 -16 -16 -16h-16c0 -80.9805 -50.2002 -150.11 -121.13 -178.32c12.7695 -16.8701 21.7295 -36.7998 24.9502 -58.6895c1.45996 -9.91992 -6.04004 -18.9805 -16.0703 -18.9805h-223.5c-10.0303 0 -17.5303 9.06055 -16.0703 18.9805
c3.23047 21.8896 12.1904 41.8193 24.9502 58.6895c-70.9297 28.21 -121.13 97.3398 -121.13 178.32h-16c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h480z" />
    <glyph glyph-name="paint-roller" unicode="&#xf5aa;" 
d="M416 320c0 -17.6699 -14.3301 -32 -32 -32h-352c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h352c17.6699 0 32 -14.3301 32 -32v-96zM448 384c35.3496 0 64 -28.6504 64 -64v-64c0 -53.0195 -42.9805 -96 -96 -96h-160v-32
c17.6699 0 32 -14.3301 32 -32v-128c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32v32c0 35.3496 28.6504 64 64 64h160c17.6699 0 32 14.3301 32 32v128z" />
    <glyph glyph-name="passport" unicode="&#xf5ab;" horiz-adv-x="448" 
d="M129.62 272c5.28027 31.2197 25.5898 57.1699 53.2998 70.4102c-7.66992 -19.0605 -12.7197 -43.3799 -14.21 -70.4102h-39.0898zM129.62 240h39.0898c1.49023 -27.0303 6.53027 -51.3496 14.21 -70.4102c-27.71 13.2402 -48.0098 39.1904 -53.2998 70.4102zM224 161.31
c-7.69043 7.4502 -20.7695 34.4307 -23.4404 78.6904h46.8701c-2.66016 -44.2695 -15.7393 -71.2402 -23.4297 -78.6904zM200.57 272c2.66016 44.2598 15.7393 71.2402 23.4395 78.6904c7.69043 -7.4502 20.7705 -34.4307 23.4307 -78.6904h-46.8701zM265.08 169.59
c7.67969 19.0605 12.7197 43.3799 14.21 70.4102h39.0898c-5.28027 -31.2197 -25.5898 -57.1699 -53.2998 -70.4102zM416 448c17.6699 0 32 -14.3301 32 -32v-448c0 -17.6699 -14.3301 -32 -32 -32h-352c-35.3496 0 -64 28.6504 -64 64v384c0 35.3496 28.6504 64 64 64h352z
M336 32c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16h-224c-8.7998 0 -16 -7.2002 -16 -16s7.2002 -16 16 -16h224zM224 128c70.6904 0 128 57.3096 128 128s-57.3096 128 -128 128s-128 -57.3096 -128 -128s57.3096 -128 128 -128zM265.08 342.41
c27.71 -13.2402 48.0195 -39.1904 53.2998 -70.4102h-39.0898c-1.49023 27.0303 -6.53027 51.3496 -14.21 70.4102z" />
    <glyph glyph-name="pen-fancy" unicode="&#xf5ac;" 
d="M79.1797 165.06l84.0703 33.0703l98.8799 -98.8799l-33.0703 -84.0703c-3.1748 -9.5332 -10.7061 -17.0645 -20.2393 -20.2393l-176.82 -58.9404l-4.67969 4.67969l92.8896 92.8906c2.55957 -0.660156 5.03027 -1.57031 7.7998 -1.57031c17.6699 0 32 14.3301 32 32
s-14.3301 32 -32 32s-32 -14.3301 -32 -32c0 -2.76953 0.910156 -5.24023 1.57031 -7.7998l-92.8896 -92.8906l-4.69043 4.69043l58.9404 176.82c3.17773 9.53223 10.707 17.0615 20.2393 20.2393zM369.25 419.68c74.4805 84.2607 199.15 -39.1602 114.23 -114.229
l-199.49 -183.11l-97.8506 97.8506z" />
    <glyph glyph-name="pen-nib" unicode="&#xf5ad;" 
d="M136.6 309.21l151.4 42.79l128 -128l-42.79 -151.4c-5.76172 -20.3838 -21.3594 -36.6455 -41.3496 -43.3096l-279.86 -93.29l-14.6904 14.6904l150.11 150.109c6.25977 -2.99023 13.1797 -4.7998 20.5801 -4.7998c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48
s-48 -21.4902 -48 -48c0 -7.40039 1.80957 -14.3203 4.7998 -20.5801l-150.109 -150.11l-14.6904 14.6904l93.29 279.86c6.66406 19.9902 22.9258 35.5879 43.3096 41.3496zM497.94 373.83c18.75 -18.7598 18.75 -49.1602 0 -67.9102l-56.5508 -56.5498l-128.02 128.02
l56.5498 56.5508c18.75 18.75 49.1602 18.75 67.9102 0z" />
    <glyph glyph-name="pencil-ruler" unicode="&#xf5ae;" 
d="M109.46 203.96l-100.17 100.18c-12.3896 12.3906 -12.3799 32.4707 0 44.8604l89.71 89.71c12.3896 12.3896 32.4697 12.3896 44.8604 0l33.6396 -33.6504l-61.6797 -61.6797c-3.10059 -3.08984 -3.10059 -8.11035 0 -11.21l11.21 -11.21
c1.43359 -1.43652 3.41797 -2.32617 5.60547 -2.32617c2.18848 0 4.16992 0.889648 5.60449 2.32617l61.6797 61.6797l44.1201 -44.1201zM497.93 320.76l-46.0195 -46.0293l-113.2 113.199l46.0205 46.0107c18.7695 18.7598 49.1895 18.7598 67.9492 0l45.25 -45.25
c18.75 -18.7607 18.7607 -49.1709 0 -67.9307zM316.08 365.29l113.2 -113.19l-296.92 -296.93l-107.45 -18.8398c-14.5 -2.5498 -27.1201 10.0703 -24.5898 24.5596l18.7598 107.44zM502.71 79.8604c12.3896 -12.3906 12.3896 -32.4707 0 -44.8604l-89.71 -89.7002
c-12.3896 -12.3896 -32.4697 -12.3896 -44.8604 0l-100.21 100.2l134.58 134.56l44.1406 -44.1396l-61.6807 -61.6797c-3.08984 -3.08984 -3.08984 -8.11035 0 -11.21l11.21 -11.21c3.08984 -3.10059 8.11035 -3.10059 11.21 0l61.6807 61.6797z" />
    <glyph glyph-name="plane-arrival" unicode="&#xf5af;" horiz-adv-x="640" 
d="M624 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-608c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h608zM44.8096 242.34c-6.5498 5.91016 -12.3896 14.3398 -12.5791 23.25l-0.230469 101.78
c0.19043 10.8799 10.3799 18.7002 20.7197 15.8799l39.7305 -10.8301c5.00977 -1.36035 9.08984 -5.04004 11.0195 -9.92969l27.5898 -67.8799l102.2 -27.8408l-47.9199 164.211c-0.189453 11.1191 10.1504 19.3193 20.71 16.4395l65.0898 -17.7295
c5.70996 -1.56055 10.1504 -6.10059 11.6602 -11.9102l100.36 -191.851l97.5098 -26.5596c26.4805 -7.20996 51.5498 -20.1797 70.8301 -40c21.6396 -22.25 27.2002 -40.46 23.3701 -54.96c-3.81055 -14.5 -17.5801 -27.4404 -47.25 -35.71
c-26.4404 -7.36035 -54.5205 -5.85059 -81 1.35938l-287.601 78.3506c-9.58496 2.61621 -18.2998 7.45605 -25.4697 13.9297z" />
    <glyph glyph-name="plane-departure" unicode="&#xf5b0;" horiz-adv-x="640" 
d="M624 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-608c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h608zM80.5498 106.73l-76.21 82.9697c-7.62012 8.95996 -4.87012 22.7803 5.57031 28.0801l40.1299 20.3701
c2.41504 1.22461 5.18066 1.91504 8.07227 1.91504c2.875 0 5.59277 -0.682617 7.99805 -1.89551l72.3496 -36.4697l103.21 52.3799l-156.22 98.0996c-8.08008 8.87988 -5.5 23.1201 5.16992 28.5303l65.75 33.3701c2.41504 1.22559 5.18164 1.91699 8.07324 1.91699
c3.67383 0 7.08984 -1.11621 9.92676 -3.02734l218.7 -82.0596l98.5098 49.9902c26.7402 13.5596 56.4297 21.4199 86.2803 19.4795c33.5098 -2.17969 51.04 -12.8799 58.25 -27.4502c7.22949 -14.5596 5.23926 -35.1699 -13.0703 -63.6494
c-16.3096 -25.3701 -40.2803 -44.7402 -67.0205 -58.3105l-290.96 -147.649c-8.88574 -4.51562 -19.001 -7.10645 -29.6396 -7.12012l-130.54 -0.180664c-9.22949 -0.00976562 -18.0498 3.87012 -24.3301 10.7109z" />
    <glyph glyph-name="prescription" unicode="&#xf5b1;" horiz-adv-x="384" 
d="M301.26 96l78.0605 -78.0498c6.25 -6.25 6.25 -16.3799 0 -22.6299l-22.6299 -22.6299c-6.25 -6.25 -16.3809 -6.25 -22.6309 0l-78.0596 78.0596l-78.0498 -78.0703c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-22.6299 22.6299c-6.25 6.25 -6.25 16.3809 0 22.6309
l78.0596 78.0596l-128 128h-18.75v-80c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v256c0 8.83984 7.16016 16 16 16h144c53.0195 0 96 -42.9805 96 -96c0 -48.8896 -36.6904 -88.7998 -83.96 -94.7803l83.96 -83.96l78.0596 78.0605
c6.25 6.25 16.3809 6.25 22.6309 0l22.6299 -22.6299c6.25 -6.25 6.25 -16.3809 0 -22.6309zM64 352v-64h96c17.6396 0 32 14.3604 32 32s-14.3604 32 -32 32h-96z" />
    <glyph glyph-name="sad-cry" unicode="&#xf5b3;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248c0 -90 -48.2002 -168.7 -120 -212.1v180.1c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16v-196.7c-29.5 -12.3994 -62 -19.2998 -96 -19.2998s-66.5 6.90039 -96 19.2998v196.7c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16
v-180.1c-71.7998 43.3994 -120 122 -120 212.1c0 137 111 248 248 248zM182.5 223.5l9.7002 -8.5c2.5 -2.2998 7.89941 -4.7002 13.7002 -1.59961c4.39941 2.39941 6.89941 7.39941 6.09961 12.3994c-4 25.2002 -34.2002 42.1006 -59.9004 42.1006
c-25.6992 0 -55.8994 -16.9004 -59.8994 -42.1006c-0.799805 -5 1.7002 -10 6.09961 -12.3994c4.40039 -2.40039 9.90039 -1.7002 13.7002 1.59961l9.5 8.5c14.7998 13.2002 46.2002 13.2002 61 0zM248 32c26.5 0 48 28.7002 48 64s-21.5 64 -48 64s-48 -28.7002 -48 -64
s21.5 -64 48 -64zM397.8 213.5c4.40039 2.40039 6.7998 7.40039 6.2002 12.2998c-4 25.2002 -34.2002 42.1006 -59.9004 42.1006c-25.6992 0 -55.8994 -16.9004 -59.8994 -42.1006c-0.799805 -5 1.7002 -10 6.09961 -12.3994
c4.40039 -2.40039 9.90039 -1.7002 13.7002 1.59961l9.59961 8.59961c14.8008 13.2002 46.2002 13.2002 61 0l9.5 -8.5c2.5 -2.2998 7.90039 -4.69922 13.7002 -1.59961z" />
    <glyph glyph-name="sad-tear" unicode="&#xf5b4;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM328 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM152 32c26.5 0 48 21 48 47c0 20 -28.5 60.4004 -41.5996 77.7998
c-3.2002 4.2998 -9.60059 4.2998 -12.8008 0c-13.0996 -17.3994 -41.5996 -57.7998 -41.5996 -77.7998c0 -26 21.5 -47 48 -47zM168 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM338.2 53.7998
c13.2998 -16.0996 38.2998 4 24.5 20.4004c-28.4004 34.2002 -70.2998 53.7998 -114.7 53.7998c-21.2002 0 -21.2002 -32 0 -32c34.9004 0 67.7998 -15.4004 90.2002 -42.2002z" />
    <glyph glyph-name="shuttle-van" unicode="&#xf5b6;" horiz-adv-x="640" 
d="M628.88 237.35c7.17969 -8.62988 11.1201 -19.5 11.1201 -30.7295v-110.62c0 -17.6699 -14.3301 -32 -32 -32h-32c0 -53.0195 -42.9805 -96 -96 -96s-96 42.9805 -96 96h-128c0 -53.0195 -42.9805 -96 -96 -96s-96 42.9805 -96 96h-32c-17.6699 0 -32 14.3301 -32 32v288
c0 17.6699 14.3301 32 32 32h425.52c14.8184 -0.00292969 28.0625 -6.70312 36.8701 -17.2695zM64 256h96v96h-96v-96zM160 16c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM320 256v96h-96v-96h96zM480 16
c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM384 256h146.02l-80 96h-66.0195v-96z" />
    <glyph glyph-name="signature" unicode="&#xf5b7;" horiz-adv-x="640" 
d="M623.2 256c9.09961 0.599609 16.7998 -7.09961 16.5996 -16.2002v-32.0996c0 -8.5 -6.7002 -15.1006 -15.2002 -15.7998c-39.3994 -3.2002 -105.399 -51 -138.399 -65.8008c-34.2998 -15.3994 -66.7002 -30 -102.3 -30c-28.2002 0 -50.2002 8.5 -65.5 25.3008
c-22.7002 24.8994 -22.8008 55.2998 -20.6006 83.7998c-56.5 -45.1006 -169 -153.601 -211.2 -195.8c-6.09961 -6.2002 -14.2998 -9.40039 -22.5996 -9.40039c-27 0 -36.5 27 -29.7002 43.9004l98.2002 245.6c8 19.9004 -14.2998 38.7998 -32.7002 27.0996l-58 -38.8994
c-7.5 -4.7998 -17.3994 -2.60059 -22.0996 4.89941l-17.2002 27c-4.7002 7.5 -2.5 17.4004 4.90039 22.1006l54.8994 36.8994c76.5 48.7002 160.101 -26.8994 129.7 -102.8l-41.5 -103.7c105.2 101.2 144.4 124.5 169.5 126
c54.4004 3.10059 43.7998 -68.0996 42.7002 -76.0996c-4.7002 -35.7002 -1.2998 -51.9004 21.2998 -51.9004c21.9004 0 47 11.3008 76.0996 24.4004c37.4004 16.7998 111.301 68 163.101 71.5z" />
    <glyph glyph-name="smile-beam" unicode="&#xf5b8;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM112 224.6c-0.700195 -8.5 10.7998 -11.8994 15.0996 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17
c4.10059 -7.39941 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004s-52.7002 -29.2998 -56 -71.4004zM362.8 101.8c13.5 16.2002 -11 36.7002 -24.5996 20.5c-22.4004 -26.7998 -55.2002 -42.2002 -90.2002 -42.2002
s-67.7998 15.3008 -90.2002 42.2002c-13.5996 16.2002 -38.0996 -4.2002 -24.5996 -20.5c28.5 -34.2002 70.2998 -53.7998 114.8 -53.7998s86.2998 19.5996 114.8 53.7998zM369 220.1c4.09961 -7.39941 15.7002 -4.09961 15.0996 4.5
c-3.2998 42.1006 -32.1992 71.4004 -56 71.4004c-23.7998 0 -52.6992 -29.2998 -56 -71.4004c-0.699219 -8.5 10.8008 -11.7998 14.9004 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006s23.7998 -7.90039 31.5 -21.6006z" />
    <glyph glyph-name="solar-panel" unicode="&#xf5ba;" horiz-adv-x="640" 
d="M431.98 -0.00976562c8.84961 0.00976562 16.0293 -7.16992 16.0195 -16.0205l-0.0400391 -31.7295c-0.00976562 -8.82031 -7.16016 -15.9707 -15.9795 -15.9805l-223.961 -0.259766c-8.84961 -0.00976562 -16.0293 7.16992 -16.0195 16.0195l0.0498047 31.7305
c0.00976562 8.83008 7.16016 15.9805 15.9805 15.9902l47.9795 0.0498047v32.21h128v-32.0596zM585.2 421.26c58.1094 -342.42 54.7803 -321.39 54.7598 -325.47c-0.0800781 -17.2305 -14.3604 -31.79 -32.5898 -31.79h-574.74c-18.3096 0 -32.6299 14.6797 -32.5996 32
c0.00976562 3.91992 -3.35059 -17.1602 54.7598 325.26c2.62012 15.4307 16.21 26.7402 32.1396 26.7402h466.13c15.9307 0 29.5205 -11.3096 32.1406 -26.7402zM259.83 384l-9.77051 -96h139.87l-9.76953 96h-120.33zM184.66 128l11.4102 112h-105.971l-19.0098 -112
h113.57zM200.95 288l9.76953 96h-96.1895l-16.29 -96h102.71zM233.77 128h172.45l-11.3994 112h-149.65zM429.27 384l9.77051 -96h102.71l-16.29 96h-96.1904zM455.33 128h113.58l-19.0098 112h-105.971z" />
    <glyph glyph-name="spa" unicode="&#xf5bb;" horiz-adv-x="576" 
d="M568.25 256c4.41016 0.0195312 7.79004 -3.40039 7.75 -7.82031c-0.230469 -27.9199 -7.12988 -126.13 -88.7695 -199.3c-84.04 -81.8301 -167.23 -80.8799 -199.23 -80.8799s-115.21 -0.94043 -199.23 80.8799c-81.6299 73.1602 -88.5391 171.38 -88.7695 199.3
c-0.0400391 4.41992 3.33984 7.83984 7.75 7.82031c29.04 -0.129883 135.01 -6.16016 213.84 -83c33.1201 -29.6299 53.3604 -63.2998 66.4102 -94.8604c13.0498 31.5605 33.29 65.2305 66.4102 94.8604c78.8301 76.8398 184.8 82.8701 213.84 83zM287.98 145.4
c-12.9727 19.0527 -27.9248 36.124 -45.04 51.46c-18.7207 18.25 -38.8506 32.6895 -59.2207 44.3896c16.4707 70.4404 51.75 132.93 96.7402 172.07c4.12012 3.58008 11.0303 3.58008 15.1396 0c45.0107 -39.1699 80.29 -101.721 96.7305 -172.221
c-20.6797 -11.8799 -41.1699 -26.5693 -60.2598 -45.1797c-16.4902 -14.7402 -31.2705 -31.6699 -44.0898 -50.5195z" />
    <glyph glyph-name="splotch" unicode="&#xf5bc;" 
d="M472.29 252.11c48.54 -16.6201 53.8301 -73.8301 8.9502 -96.79l-62 -31.7402c-17.8301 -9.12988 -29.2803 -25.2002 -30.6299 -42.9902l-4.7002 -61.8594c-3.41016 -44.79 -65.1299 -66.7803 -104.45 -37.2207l-54.3203 40.8301
c-15.6201 11.7305 -36.96 16.1201 -57.0693 11.7305l-69.96 -15.2803c-50.6504 -11.0596 -94.0801 32.5596 -73.4902 73.8096l28.4297 56.9805c8.18066 16.3799 6.44043 35.1699 -4.63965 50.2402l-38.54 52.4199c-27.9004 37.9502 6.97949 86.8994 59.0303 82.8301
l71.8799 -5.62012c20.6602 -1.62012 40.9395 5.59961 54.2002 19.3096l46.1396 47.6699c33.4102 34.5107 98.3994 21.1504 109.979 -22.6201l15.9902 -60.4492c4.60059 -17.3799 18.8604 -31.7002 38.1406 -38.3008z" />
    <glyph glyph-name="spray-can" unicode="&#xf5bd;" 
d="M224 416v-96h-128v96c0 17.6699 14.3301 32 32 32h64c17.6699 0 32 -14.3301 32 -32zM480 320c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32zM224 288c53.0195 0 96 -42.9805 96 -96v-224c0 -17.6699 -14.3301 -32 -32 -32
h-256c-17.6699 0 -32 14.3301 -32 32v224c0 53.0195 42.9805 96 96 96h128zM160 32c44.1797 0 80 35.8203 80 80s-35.8203 80 -80 80s-80 -35.8203 -80 -80s35.8203 -80 80 -80zM480 352c-17.6699 0 -32 14.3301 -32 32s14.3301 32 32 32s32 -14.3301 32 -32
s-14.3301 -32 -32 -32zM384 320c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32zM288 416c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32zM384 416c17.6699 0 32 -14.3301 32 -32
s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32zM480 224c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32z" />
    <glyph glyph-name="stamp" unicode="&#xf5bf;" 
d="M32 -64v64h448v-64h-448zM416 192c53.0195 0 96 -42.9805 96 -96v-32c0 -17.6699 -14.3301 -32 -32 -32h-448c-17.6699 0 -32 14.3301 -32 32v32c0 53.0195 42.9805 96 96 96h66.5596c16.2607 0 29.4404 13.1797 29.4404 29.4404v0.0693359
c0 31.79 -9.98047 62.0605 -23.3096 90.9102c-5.57031 12.04 -8.69043 25.4199 -8.69043 39.5801c0 58.6699 52.6201 105.04 113.25 94.4902c38.79 -6.75 70.4902 -38.6699 77.2598 -77.4502c3.85059 -22.0303 0.0605469 -42.8096 -9.0498 -60.4199
c-12.5801 -24.3105 -21.46 -50.3506 -21.46 -77.7197v-9.45996c0 -16.2607 13.1797 -29.4404 29.4404 -29.4404h66.5596z" />
    <glyph glyph-name="star-half-alt" unicode="&#xf5c0;" horiz-adv-x="536" 
d="M508.55 276.49c26.25 -3.7998 36.7705 -36.1006 17.7305 -54.6006l-105.91 -102.979l25.0303 -145.49c3.55957 -20.79 -13.0605 -37.4004 -31.6602 -37.4004c-4.91016 0 -9.9707 1.16016 -14.8301 3.71094l-130.94 68.6992l-130.95 -68.6797
c-4.86914 -2.58008 -9.93945 -3.75 -14.8691 -3.75c-18.5801 0 -35.1699 16.6699 -31.6104 37.4502l25.0596 145.479l-105.89 103c-19.0303 18.5 -8.50977 50.79 17.7402 54.5898l146.38 21.29l65.4297 132.381c5.90039 11.9092 17.29 17.8096 28.6904 17.8096
c11.4697 0 22.9395 -5.98047 28.8193 -17.8096l65.4102 -132.391zM386.81 153.29l82.6504 80.3799l-114.229 16.6299l-25.0107 3.64062l-11.1797 22.6299l-51.0303 103.29l-0.0292969 -317.19l22.3799 -11.7402l102.13 -53.5898l-19.5205 113.45l-4.2793 24.8799z" />
    <glyph glyph-name="suitcase-rolling" unicode="&#xf5c1;" horiz-adv-x="384" 
d="M336 288c26.5098 0 48 -21.4902 48 -48v-224c0 -26.5098 -21.4902 -48 -48 -48h-16v-16c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v16h-128v-16c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v16h-16
c-26.5098 0 -48 21.4902 -48 48v224c0 26.5098 21.4902 48 48 48h288zM320 72v16c0 4.41992 -3.58008 8 -8 8h-240c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h240c4.41992 0 8 3.58008 8 8zM320 168v16c0 4.41992 -3.58008 8 -8 8h-240
c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h240c4.41992 0 8 3.58008 8 8zM144 400v-80h-48v80c0 26.5098 21.4902 48 48 48h96c26.5098 0 48 -21.4902 48 -48v-80h-48v80h-96z" />
    <glyph glyph-name="surprise" unicode="&#xf5c2;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM136 240c0 -17.7002 14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32zM248 32c35.2998 0 64 28.7002 64 64s-28.7002 64 -64 64
s-64 -28.7002 -64 -64s28.7002 -64 64 -64zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
    <glyph glyph-name="swatchbook" unicode="&#xf5c3;" 
d="M434.66 280.29c5.77344 -5.79004 9.34473 -13.7861 9.34473 -22.5996c0 -8.81445 -3.57129 -16.8008 -9.34473 -22.5908l-210.66 -211.1v271.12l75.4297 75.5195l0.0703125 0.0703125v0c5.75781 5.73633 13.707 9.28516 22.4688 9.28516
c8.79883 0 16.7676 -3.57715 22.5312 -9.35547l90.1602 -90.3496v0zM480 128c17.6611 0 32 -14.3389 32 -32v-128c0 -17.6611 -14.3389 -32 -32 -32h-300c2.17969 1.91016 4.62012 3.41992 6.67969 5.49023l186.41 186.51h106.91zM192 416v-384
c0 -52.9834 -43.0166 -96 -96 -96s-96 43.0166 -96 96v384c0 17.6611 14.3389 32 32 32h128c17.6611 0 32 -14.3389 32 -32zM96 8c13.2461 0 24 10.7539 24 24s-10.7539 24 -24 24s-24 -10.7539 -24 -24s10.7539 -24 24 -24zM128 192v64h-64v-64h64zM128 320v64h-64v-64h64z
" />
    <glyph glyph-name="swimmer" unicode="&#xf5c4;" horiz-adv-x="640" 
d="M189.61 137.42c-5.04004 4.65039 -10.3906 8.34961 -15.8604 11.5801l68.6299 98.04c7.36035 10.5 16.3398 19.5498 26.7197 26.9404l80.0205 57.1699c25.54 18.2598 57.8301 24.96 88.5596 18.3799l100.351 -21.5303c25.9297 -5.55957 42.4297 -31.0801 36.8799 -57
c-5.56055 -25.9102 -31.0898 -42.4102 -57 -36.8799l-100.351 21.5303c-4.33984 0.90918 -8.97949 -0.0302734 -12.6191 -2.61035l-18 -12.8604l112.84 -80.5996c-17.5107 -1.04004 -34.5303 -8.4502 -49.3906 -22.1602
c-3.5293 -3.25977 -15.2695 -9.41992 -34.3896 -9.41992s-30.8496 6.16016 -34.3896 9.41992c-16.0107 14.7705 -34.5 22.5801 -53.46 22.5801h-16.3008c-18.96 0 -37.4395 -7.80957 -53.46 -22.5801c-3.5293 -3.25977 -15.2695 -9.41992 -34.3896 -9.41992
s-30.8496 6.16016 -34.3896 9.41992zM624 96c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-16c-38.6201 0 -72.7197 12.1797 -96 31.8398c-23.2803 -19.6494 -57.3799 -31.8398 -96 -31.8398s-72.7197 12.1797 -96 31.8398
c-23.2803 -19.6494 -57.3799 -31.8398 -96 -31.8398s-72.7197 12.1797 -96 31.8398c-23.2803 -19.6494 -57.3799 -31.8398 -96 -31.8398h-16c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h16c26.04 0 45.7998 8.41992 56.0703 17.9004
c8.89941 8.20996 19.6602 14.0996 31.7695 14.0996h16.2998c12.1104 0 22.8701 -5.88965 31.7705 -14.0996c10.29 -9.48047 30.0498 -17.9004 56.0898 -17.9004s45.7998 8.41992 56.0703 17.9004c8.89941 8.20996 19.6602 14.0996 31.7695 14.0996h16.2998
c12.1104 0 22.8701 -5.88965 31.7705 -14.0996c10.29 -9.48047 30.0498 -17.9004 56.0898 -17.9004s45.7998 8.41992 56.0703 17.9004c8.89941 8.20996 19.6602 14.0996 31.7695 14.0996h16.2998c12.1104 0 22.8701 -5.88965 31.7705 -14.0996
c10.29 -9.48047 30.0498 -17.9004 56.0898 -17.9004h16zM112 192c-44.1797 0 -80 35.8203 -80 80s35.8203 80 80 80s80 -35.8203 80 -80s-35.8203 -80 -80 -80z" />
    <glyph glyph-name="swimming-pool" unicode="&#xf5c5;" horiz-adv-x="640" 
d="M624 32c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-16c-38.6201 0 -72.7197 12.1797 -96 31.8398c-23.2803 -19.6494 -57.3799 -31.8398 -96 -31.8398s-72.7197 12.1797 -96 31.8398c-23.2803 -19.6494 -57.3799 -31.8398 -96 -31.8398
s-72.7197 12.1797 -96 31.8398c-23.2803 -19.6494 -57.3799 -31.8398 -96 -31.8398h-16c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h16c26.04 0 45.7998 8.41992 56.0703 17.9004c8.89941 8.20996 19.6602 14.0996 31.7695 14.0996h16.2998
c12.1104 0 22.8701 -5.88965 31.7705 -14.0996c10.29 -9.48047 30.0498 -17.9004 56.0898 -17.9004s45.7998 8.41992 56.0703 17.9004c8.89941 8.20996 19.6602 14.0996 31.7695 14.0996h16.2998c12.1104 0 22.8701 -5.88965 31.7705 -14.0996
c10.29 -9.48047 30.0498 -17.9004 56.0898 -17.9004s45.7998 8.41992 56.0703 17.9004c8.89941 8.20996 19.6602 14.0996 31.7695 14.0996h16.2998c12.1104 0 22.8701 -5.88965 31.7705 -14.0996c10.29 -9.48047 30.0498 -17.9004 56.0898 -17.9004h16zM224 64
c-19.1201 0 -30.8604 6.16016 -34.3896 9.42969c-9.16992 8.4502 -19.2002 14.3398 -29.6104 18.0703v228.5c0 52.9404 43.0596 96 96 96s96 -43.0596 96 -96v-16c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v16c0 17.6396 -14.3604 32 -32 32
s-32 -14.3604 -32 -32v-96h192v96c0 52.9404 43.0596 96 96 96s96 -43.0596 96 -96v-16c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v16c0 17.6396 -14.3604 32 -32 32s-32 -14.3604 -32 -32v-228.51
c-10.4102 -3.73047 -20.4404 -9.61035 -29.6104 -18.0703c-3.5293 -3.25977 -15.2695 -9.41992 -34.3896 -9.41992v96h-192v-96z" />
    <glyph glyph-name="tint-slash" unicode="&#xf5c7;" horiz-adv-x="640" 
d="M633.82 -10.0996c6.97949 -5.43066 8.22949 -15.4805 2.81934 -22.4502l-19.6396 -25.2705c-5.42969 -6.97949 -15.4805 -8.23926 -22.46 -2.80957l-588.36 454.729c-6.97949 5.43066 -8.22949 15.4805 -2.80957 22.4502l19.6396 25.2705
c5.41992 6.97949 15.4805 8.22949 22.46 2.80957l186.82 -144.399c21.6201 33.7197 42.9697 73.3398 58.4902 125.68c9 30.1201 50.5 28.7803 58.4395 0c46.9902 -158.48 146.78 -200.061 146.78 -311.82c0 -5.70996 -0.509766 -11.2998 -1.03027 -16.8701zM144 114.09
c0 29.7803 7.30957 54.6299 18.7197 78.1299l273.681 -211.52c-31.0303 -27.7402 -71.6904 -44.7002 -116.4 -44.7002c-97.2803 0 -176 79.6504 -176 178.09z" />
    <glyph glyph-name="tired" unicode="&#xf5c8;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM281.8 250.3c-7.7002 -4.7002 -7.7002 -15.8994 0 -20.5996l80 -48c11.5 -6.7998 24.1006 7.59961 15.4004 18l-33.6006 40.2998l33.6006 40.2998
c8.59961 10.2998 -3.7998 24.9004 -15.4004 18zM118.8 280.3l33.6006 -40.2998l-33.6006 -40.2998c-8.59961 -10.4004 3.90039 -24.7998 15.4004 -18l80 48c7.7998 4.7002 7.7998 15.8994 0 20.5996l-80 48c-11.6006 6.90039 -24 -7.7002 -15.4004 -18zM248 160
c-51.9004 0 -115.3 -43.7998 -123.2 -106.7c-1.7002 -13.3994 7.90039 -24.5996 17.7002 -20.3994c25.9004 11.0996 64.4004 17.3994 105.5 17.3994s79.5996 -6.2998 105.5 -17.3994c9.7002 -4.2002 19.4004 6.7998 17.7002 20.3994
c-7.90039 62.9004 -71.2998 106.7 -123.2 106.7z" />
    <glyph glyph-name="tooth" unicode="&#xf5c9;" horiz-adv-x="448" 
d="M443.98 351.75c10.1299 -41.6299 0.419922 -80.8203 -21.5303 -110.43c-23.3604 -31.5703 -32.6807 -68.6504 -36.29 -107.351c-4.41016 -47.1602 -10.3301 -94.1699 -20.9404 -140.319l-7.7998 -33.9502c-3.18945 -13.8701 -15.4902 -23.7002 -29.6699 -23.7002
c-13.9697 0 -26.1504 9.5498 -29.54 23.1602l-34.4697 138.42c-4.56055 18.3096 -20.96 31.1602 -39.7598 31.1602c-18.8008 0 -35.2002 -12.8398 -39.7607 -31.1602l-34.4697 -138.42c-3.38965 -13.6104 -15.5703 -23.1602 -29.54 -23.1602
c-14.1797 0 -26.4795 9.83008 -29.6699 23.7002l-7.7998 33.9502c-10.6104 46.1592 -16.54 93.1592 -20.9404 140.319c-3.60938 38.6904 -12.9297 75.7803 -36.29 107.351c-21.9199 29.6201 -31.6299 68.8096 -21.5 110.43c11.0098 45.2197 47.1104 82.0498 92.0098 93.7197
c23.4307 6.08984 46.1104 0.540039 66.8105 -10.3096l100.51 -64.6201c7.83984 -5.05957 17.6504 -2.15039 22.1104 4.7998c4.78027 7.44043 2.62012 17.3398 -4.7998 22.1104l-28.3203 18.21c3.54004 1.75 7.25 3.08984 10.5 5.47949
c26.1396 19.2305 56.9502 32.6904 89.1396 24.3301c44.9004 -11.6602 81 -48.5 92.0107 -93.7197z" />
    <glyph glyph-name="umbrella-beach" unicode="&#xf5ca;" horiz-adv-x="640" 
d="M115.38 311.1c-10.0801 3.66992 -14.1104 16.3203 -7.41992 24.7207c59.75 74.8398 152.65 116.689 248.53 111.8c-52.79 -29.4102 -103.811 -92.1602 -139 -173.7zM247.63 262.94c44.4902 101.979 114.74 171.14 172.76 171.149c7.95996 0 15.6904 -1.2998 23.0908 -4
c61.3291 -22.3203 78.3896 -132.6 42.6299 -253.979zM521.48 387.5c76.5293 -57.9199 120.76 -149.67 118.439 -245.36c-0.259766 -10.7393 -11.4795 -17.8398 -21.5703 -14.1699l-102.619 37.3604c17.5293 58.75 24.6895 117.09 18.9492 166.979
c-2.37012 20.5908 -6.97949 38.8906 -13.1992 55.1904zM560 0.0195312c8.83984 0 16 -7.15918 16 -16v-32.0098c0 -8.83984 -7.16016 -16.0098 -16 -16.0098h-544c-8.83984 0 -16 7.16992 -16 16.0098v32.0098c0 8.85059 7.16016 16.0107 16 16.0107h236.96l72.9004 200.37
l60.1396 -21.9004l-64.9404 -178.48h238.94z" />
    <glyph glyph-name="vector-square" unicode="&#xf5cb;" 
d="M512 320c0 -17.6699 -14.3301 -32 -32 -32v-192c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32h-192c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32v192
c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h96c17.6699 0 32 -14.3301 32 -32h192c0 17.6699 14.3301 32 32 32h96c17.6699 0 32 -14.3301 32 -32v-96zM416 384v-32h32v32h-32zM64 384v-32h32v32h-32zM96 0v32h-32v-32h32zM448 0v32h-32v-32h32zM416 96
v192h-32c-17.6699 0 -32 14.3301 -32 32v32h-192v-32c0 -17.6699 -14.3301 -32 -32 -32h-32v-192h32c17.6699 0 32 -14.3301 32 -32v-32h192v32c0 17.6699 14.3301 32 32 32h32z" />
    <glyph glyph-name="weight-hanging" unicode="&#xf5cd;" 
d="M510.28 2.13965c8.33008 -33.3096 -14.6602 -66.1396 -46.2998 -66.1396h-415.95c-31.6504 0 -54.6406 32.8301 -46.3105 66.1396l73.0498 292.13c3.79004 15.1807 16.4404 25.7207 30.8701 25.7207h60.25c-3.58008 10.0498 -5.87988 20.7197 -5.87988 32
c0 53.0195 42.9805 96 96 96c53.0205 0 96 -42.9805 96 -96c0 -11.2803 -2.30957 -21.9502 -5.87988 -32h60.25c14.4297 0 27.0703 -10.5303 30.8701 -25.7207zM256 320c17.6396 0 32 14.3604 32 32s-14.3604 32 -32 32s-32 -14.3604 -32 -32s14.3604 -32 32 -32z" />
    <glyph glyph-name="wine-glass-alt" unicode="&#xf5ce;" horiz-adv-x="288" 
d="M216 -16c22.0898 0 40 -17.9102 40 -40c0 -4.41992 -3.58008 -8 -8 -8h-208c-4.41992 0 -8 3.58008 -8 8c0 22.0898 17.9102 40 40 40h40v117.18c-68.4697 15.8906 -118.05 79.9102 -111.4 154.16l15.96 178.11c0.730469 8.24023 7.55078 14.5498 15.7002 14.5498h223.48
c8.16016 0 14.9697 -6.30957 15.71 -14.5498l15.9502 -178.101c6.64941 -74.25 -42.9307 -138.27 -111.4 -154.159v-117.19h40zM61.75 400l-7.16992 -80h178.84l-7.16992 80h-164.5z" />
    <glyph glyph-name="air-freshener" unicode="&#xf5d0;" horiz-adv-x="384" 
d="M378.94 126.59c11.75 -12.1494 1.71973 -30.5898 -16.6406 -30.5898h-138.3v-32h112c8.83984 0 16 -7.16016 16 -16v-96c0 -8.83984 -7.16016 -16 -16 -16h-288c-8.83984 0 -16 7.16016 -16 16v96c0 8.83984 7.16016 16 16 16h112v32h-138.3
c-18.3604 0 -28.3906 18.4404 -16.6406 30.5898l94.2402 97.4102h-49.2197c-15.2998 0 -23.6602 16.5996 -13.8604 27.5303l113.33 126.51c-3.42969 6.61035 -5.5498 14 -5.5498 21.96c0 26.5098 21.4902 48 48 48s48 -21.4902 48 -48
c0 -7.95996 -2.12012 -15.3496 -5.5498 -21.96l113.33 -126.51c9.7998 -10.9307 1.43945 -27.5303 -13.8604 -27.5303h-49.2197zM192 416.02c-8.84961 0 -16.0195 -7.16992 -16.0195 -16.0195c0 -8.83984 7.16992 -16.0195 16.0195 -16.0195
s16.0195 7.17969 16.0195 16.0195c0 8.84961 -7.16992 16.0195 -16.0195 16.0195zM304 16h-224v-32h224v32z" />
    <glyph glyph-name="apple-alt" unicode="&#xf5d1;" horiz-adv-x="448" 
d="M350.85 319c25.9707 -4.66992 47.2705 -18.6699 63.9199 -42c14.6504 -20.6699 24.6406 -46.6699 29.9609 -78c4.66992 -28.6699 4.31934 -57.3301 -1 -86c-7.99023 -47.3301 -23.9707 -87 -47.9404 -119c-28.6396 -38.6699 -64.5898 -58 -107.87 -58
c-10.6602 0 -22.2998 3.33008 -34.96 10c-8.66016 5.33008 -18.3096 8 -28.9697 8s-20.2998 -2.66992 -28.9707 -8c-12.6592 -6.66992 -24.2998 -10 -34.96 -10c-43.2793 0 -79.2295 19.3301 -107.869 58c-23.9707 32 -39.9502 71.6699 -47.9404 119
c-5.32031 28.6699 -5.66992 57.3301 -1 86c5.32031 31.3301 15.3096 57.3301 29.96 78c16.6504 23.3301 37.9502 37.3301 63.9199 42c15.9805 2.66992 37.9502 0.330078 65.9199 -7c23.9697 -6.66992 44.2803 -14.6699 60.9307 -24
c16.6494 9.33008 36.96 17.3301 60.9297 24c27.9795 7.33008 49.96 9.66992 65.9395 7zM295.91 360c-9.32031 -8.66992 -21.6504 -15 -36.96 -19c-10.6602 -3.33008 -22.2998 -5 -34.96 -5l-14.9805 1c-1.33008 9.33008 -1.33008 20 0 32
c2.66992 24 10.3203 42.3301 22.9707 55c9.31934 8.66992 21.6494 15 36.96 19c10.6592 3.33008 22.2998 5 34.96 5l14.9795 -1l1 -15c0 -12.6699 -1.66992 -24.3301 -4.99023 -35c-3.98926 -15.3301 -10.3096 -27.6699 -18.9795 -37z" />
    <glyph glyph-name="atom" unicode="&#xf5d2;" horiz-adv-x="448" 
d="M223.999 224c17.6484 -0.03125 31.9727 -14.3525 32.0078 -32c0 -17.6611 -14.3389 -32 -32 -32s-32 14.3389 -32 32c0 17.6582 14.335 31.9961 31.9922 32zM438.171 320c16.3789 -29.375 15.0039 -73.125 -25.1309 -128c40.1348 -54.875 41.5098 -98.625 25.1309 -128
c-29.1309 -52.375 -101.646 -43.625 -116.275 -41.875c-21.5039 -51.25 -54.2617 -86.125 -97.8965 -86.125s-76.3906 34.875 -97.8965 86.125c-14.627 -1.75 -87.1426 -10.5 -116.273 41.875c-16.3789 29.375 -15.0039 73.125 25.1289 128
c-40.1328 54.875 -41.5078 98.625 -25.1289 128c10.877 19.5 40.5078 50.625 116.273 41.875c21.5059 51.25 54.2617 86.125 97.8965 86.125s76.3926 -34.875 97.8965 -86.125c75.7656 8.875 105.398 -22.375 116.275 -41.875zM63.3389 96
c3.75195 -6.625 19.0059 -11.875 43.6348 -11c-2.75 13 -5.125 26.375 -6.75 40.125c-7.75195 6.25 -15.0039 12.625 -21.8809 19.125c-15.1289 -23.5 -19.0039 -41 -15.0039 -48.25zM100.224 258.875c1.625 13.5 3.875 26.875 6.75 40.25c-1.875 0 -4 0.375 -5.75 0.375
c-21.5059 0 -34.5078 -5.375 -37.8848 -11.5c-4 -7.25 -0.125 -24.75 15.0039 -48.25c6.87695 6.5 14.1289 12.875 21.8809 19.125zM223.999 384c-9.50195 0 -22.2539 -13.5 -33.8828 -37.25c11.2539 -3.75 22.5059 -8 33.8828 -12.875
c11.3789 4.875 22.6309 9.125 33.8828 12.875c-11.627 23.75 -24.3809 37.25 -33.8828 37.25zM223.999 0c9.50195 0 22.2559 13.5 33.8828 37.25c-11.252 3.75 -22.5039 8 -33.8828 12.875c-11.377 -4.875 -22.6289 -9.125 -33.8828 -12.875
c11.6289 -23.75 24.3809 -37.25 33.8828 -37.25zM223.999 112c44.1533 0 80 35.8467 80 80s-35.8467 80 -80 80s-80 -35.8467 -80 -80s35.8467 -80 80 -80zM384.659 96c4 7.25 0.125 24.75 -15.0039 48.25c-6.875 -6.5 -14.127 -12.875 -21.8789 -19.125
c-1.625 -13.75 -4 -27.125 -6.75195 -40.125c24.6309 -0.875 40.0098 4.375 43.6348 11zM369.655 239.75c15.1289 23.5 19.0039 41 15.0039 48.25c-3.375 6.125 -16.3789 11.5 -37.8828 11.5c-1.75 0 -3.87695 -0.375 -5.75195 -0.375
c2.87695 -13.375 5.12695 -26.75 6.75195 -40.25c7.75195 -6.25 15.0039 -12.625 21.8789 -19.125z" />
    <glyph glyph-name="bone" unicode="&#xf5d7;" horiz-adv-x="640" 
d="M598.88 203.44c-9.42969 -4.70996 -9.42969 -18.1709 -0.00976562 -22.8809c25.2002 -12.5996 41.1201 -38.3496 41.1201 -66.5293v-7.64062c0 -41.0898 -33.2998 -74.3896 -74.3799 -74.3896c-32.0107 0 -60.4404 20.4902 -70.5703 50.8604
c-6.53027 19.5996 -10.7305 45.1396 -38.1104 45.1396h-273.87c-26.5098 0 -30.4297 -22.1104 -38.1094 -45.1396c-10.1299 -30.3701 -38.5498 -50.8604 -70.5703 -50.8604c-41.0801 0 -74.3799 33.2998 -74.3799 74.3896v7.64062
c0 28.1699 15.9199 53.9297 41.1201 66.5293c9.42969 4.70996 9.42969 18.1709 0 22.8809c-25.2002 12.5996 -41.1201 38.3594 -41.1201 66.5293v7.64062c0 41.0898 33.2998 74.3896 74.3896 74.3896c32.0107 0 60.4404 -20.4902 70.5605 -50.8604
c6.53027 -19.5996 10.7295 -45.1396 38.1094 -45.1396h273.87c26.5107 0 30.4307 22.1104 38.1104 45.1396c10.1299 30.3701 38.5498 50.8604 70.5703 50.8604c41.0898 0 74.3896 -33.2998 74.3896 -74.3896v-7.64062c0 -28.1699 -15.9199 -53.9297 -41.1201 -66.5293z" />
    <glyph glyph-name="book-reader" unicode="&#xf5da;" 
d="M352 352c0 -53.0195 -42.9805 -96 -96 -96s-96 42.9805 -96 96s42.9805 96 96 96s96 -42.9805 96 -96zM233.59 206.9c4.10059 -2.51074 6.41016 -6.79004 6.41992 -11.46v-245.99c0 -10.1602 -11.1094 -16.5898 -20.4795 -11.8701
c-61.0498 30.75 -149.38 39.1396 -193.04 41.4297c-14.9004 0.770508 -26.4902 12.7207 -26.4902 27.0498v222.801c0 15.6299 13.5498 28.0098 29.7998 27.0898c48.3604 -2.75 144.46 -12.7305 203.79 -49.0498zM482.2 255.95
c16.25 0.919922 29.7998 -11.46 29.8096 -27.0898v-222.82c0 -14.3301 -11.5898 -26.2803 -26.4902 -27.0596c-43.6494 -2.29004 -131.93 -10.6807 -192.97 -41.4004c-9.39941 -4.73047 -20.54 1.70996 -20.54 11.9004v245.789c0 4.6709 2.31055 9.12012 6.41016 11.6309
c59.3203 36.3193 155.43 46.3096 203.78 49.0498z" />
    <glyph glyph-name="brain" unicode="&#xf5dc;" horiz-adv-x="576" 
d="M208 448c35.2998 0 64 -28.7002 64 -64v-376c0 -39.7998 -32.2002 -72 -72 -72c-31.7998 0 -58.4004 20.7002 -68 49.2002c-3.90039 -0.700195 -7.90039 -1.2002 -12 -1.2002c-39.7998 0 -72 32.2002 -72 72c0 4.7998 0.5 9.5 1.40039 14.0996
c-29 12 -49.4004 40.6006 -49.4004 73.9004c0 29.7002 16.2998 55.2998 40.2998 69.0996c-5.09961 10.6006 -8.2998 22.3008 -8.2998 34.9004c0 33.4004 20.5 62 49.7002 74c-1.10059 4.5 -1.7002 9.2002 -1.7002 14c0 35.2998 28.7002 64 64 64
c0.799805 0 1.40039 -0.200195 2.2002 -0.200195c7.09961 27.7002 31.8994 48.2002 61.7998 48.2002zM576 144c0 -33.2998 -20.4004 -61.9004 -49.4004 -73.9004c0.900391 -4.59961 1.40039 -9.2998 1.40039 -14.0996c0 -39.7998 -32.2002 -72 -72 -72
c-4.09961 0 -8.09961 0.5 -12 1.2002c-9.59961 -28.5 -36.2002 -49.2002 -68 -49.2002c-39.7998 0 -72 32.2002 -72 72v376c0 35.4004 28.7002 64 64 64c29.9004 0 54.7002 -20.5 61.7998 -48.2002c0.700195 0 1.40039 0.200195 2.2002 0.200195
c35.2998 0 64 -28.7002 64 -64c0 -4.7998 -0.700195 -9.5 -1.7002 -14c29.2002 -12 49.7002 -40.5996 49.7002 -74c0 -12.5996 -3.09961 -24.2998 -8.2998 -34.9004c24 -13.7998 40.2998 -39.3994 40.2998 -69.0996z" />
    <glyph glyph-name="car-alt" unicode="&#xf5de;" horiz-adv-x="480" 
d="M438.66 235.67c24.1201 -9.16992 41.3398 -32.3301 41.3398 -59.6699v-48c0 -16.1299 -6.16016 -30.6797 -16 -41.9297v-54.0703c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v32h-256v-32c0 -17.6699 -14.3301 -32 -32 -32h-32
c-17.6699 0 -32 14.3301 -32 32v54.0703c-9.83984 11.2598 -16 25.8096 -16 41.9297v48c0 27.3398 17.2197 50.5 41.3398 59.6699l11.2402 28.0996l19.9297 49.8301c17.1104 42.7705 57.9307 70.4004 103.99 70.4004h127c46.0703 0 86.8799 -27.6299 103.99 -70.4004
l19.9297 -49.8301zM131.93 289.83l-19.9297 -49.8301h256l-19.9297 49.8301c-7.29004 18.2197 -24.9404 30.1699 -44.5703 30.1699h-127c-19.6299 0 -37.2803 -11.9502 -44.5703 -30.1699zM80 128.2c19.2002 0 48 -3.19043 48 15.9502
c0 19.1396 -28.7998 47.8496 -48 47.8496s-32 -12.7598 -32 -31.9004c0 -19.1396 12.7998 -31.8994 32 -31.8994zM400 128.2c19.2002 0 32 12.7598 32 31.8994c0 19.1406 -12.7998 31.9004 -32 31.9004s-48 -28.71 -48 -47.8496c0 -19.1406 28.7998 -15.9502 48 -15.9502z
" />
    <glyph glyph-name="car-battery" unicode="&#xf5df;" 
d="M480 320c17.6699 0 32 -14.3301 32 -32v-256c0 -17.6699 -14.3301 -32 -32 -32h-448c-17.6699 0 -32 14.3301 -32 32v256c0 17.6699 14.3301 32 32 32h32v48c0 8.83984 7.16016 16 16 16h96c8.83984 0 16 -7.16016 16 -16v-48h128v48c0 8.83984 7.16016 16 16 16h96
c8.83984 0 16 -7.16016 16 -16v-48h32zM192 184v16c0 4.41992 -3.58008 8 -8 8h-112c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h112c4.41992 0 8 3.58008 8 8zM448 184v16c0 4.41992 -3.58008 8 -8 8h-40v40c0 4.41992 -3.58008 8 -8 8h-16
c-4.41992 0 -8 -3.58008 -8 -8v-40h-40c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h40v-40c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v40h40c4.41992 0 8 3.58008 8 8z" />
    <glyph glyph-name="car-crash" unicode="&#xf5e1;" horiz-adv-x="640" 
d="M143.25 227.19l-12.4199 -46.3701c-3.00977 -11.25 -3.62988 -22.8906 -2.41016 -34.3906l-35.2002 -28.9795c-6.56934 -5.41016 -16.3096 0.429688 -14.6201 8.76953l15.4404 76.6807c1.05957 5.25977 -2.66016 10.2793 -8 10.79l-77.8604 7.5498
c-8.46973 0.819336 -11.2295 11.8301 -4.13965 16.54l65.1504 43.2998c4.45996 2.96973 5.37988 9.15039 1.97949 13.29l-49.71 60.4102c-5.41016 6.56934 0.429688 16.2998 8.78027 14.6201l76.6797 -15.4404c5.25977 -1.05957 10.2803 2.66016 10.7998 8l7.5498 77.8604
c0.820312 8.47949 11.8301 11.2295 16.5508 4.13965l43.2998 -65.1396c2.96973 -4.45996 9.14941 -5.37988 13.29 -1.98047l60.3994 49.71c6.57031 5.41016 16.3008 -0.429688 14.6201 -8.76953l-11.3301 -56.1602c-2.70996 -3.0498 -5.42969 -6.08984 -7.90918 -9.40039
l-32.1504 -42.9697l-10.71 -14.3203c-32.7305 -8.75977 -59.1797 -34.5293 -68.0801 -67.7393zM637.82 94.6797l-12.4199 -46.3594c-3.13086 -11.6807 -9.38086 -21.6104 -17.5508 -29.3604c-2.72852 -2.58398 -5.62695 -4.90137 -8.75977 -7l-13.9902 -52.2295
c-1.13965 -4.27051 -3.09961 -8.10059 -5.64941 -11.3809c-7.66992 -9.83984 -20.7402 -14.6797 -33.54 -11.25l-30.9102 8.28027c-17.0703 4.57031 -27.2002 22.1201 -22.6299 39.1904l8.28027 30.9102l-247.28 66.2598l-8.28027 -30.9102
c-4.57031 -17.0703 -22.1201 -27.2002 -39.1895 -22.6299l-30.9102 8.28027c-12.7998 3.42969 -21.7002 14.1592 -23.4199 26.5098c-0.570312 4.12012 -0.350586 8.41992 0.790039 12.6797l13.9893 52.2305c-1.63086 3.31445 -3.02148 6.85352 -4.08984 10.4492
c-3.2002 10.79 -3.64941 22.5205 -0.519531 34.2002l12.4199 46.3701c5.30957 19.7998 19.3594 34.8301 36.8896 42.21c5.75 2.42285 12.0352 4.06543 18.4902 4.71973l18.1299 24.2305l32.1504 42.9697c3.44922 4.61035 7.18945 8.90039 11.1992 12.8398
c8 7.89062 17.0303 14.4404 26.7402 19.5107c4.86035 2.54004 9.89062 4.70996 15.0498 6.48926c10.3301 3.58008 21.1904 5.62988 32.2402 6.04004s22.3105 -0.819336 33.4307 -3.7998l122.68 -32.8701c11.1201 -2.97949 21.4795 -7.54004 30.8496 -13.4297
c14.0459 -8.81934 25.7959 -20.5068 34.6904 -34.5c8.81934 -13.8799 14.6396 -29.8398 16.6797 -46.9902l6.36035 -53.29l3.58984 -30.0498c10.3115 -7.44531 18.2578 -17.8018 22.7402 -29.9297c4.38965 -11.8799 5.29004 -25.1904 1.75 -38.3906zM255.58 213.66
c-18.5498 4.96973 -34.21 -4.04004 -39.1699 -22.5303s4.10938 -34.1201 22.6494 -39.0898c18.5508 -4.96973 45.54 -15.5098 50.4902 2.97949c4.95996 18.4902 -15.4297 53.6709 -33.9697 58.6406zM546.19 185.49l-6.36035 53.29
c-0.580078 4.87012 -1.88965 9.5293 -3.82031 13.8594c-5.7998 12.9902 -17.2002 23.0107 -31.4199 26.8203l-122.68 32.8701c-3.96777 1.0625 -8.13672 1.62891 -12.4375 1.62891c-15.7295 0 -29.6641 -7.53418 -38.4229 -19.2393l-32.1494 -42.9697l172 -46.0801z
M564.68 130.84c-18.5498 4.96973 -53.7998 -15.3096 -58.75 -33.79c-4.94922 -18.4902 23.6904 -22.8594 42.2402 -27.8301c18.5498 -4.96973 34.21 4.04004 39.1699 22.5303c4.9502 18.4805 -4.10938 34.1201 -22.6602 39.0898z" />
    <glyph glyph-name="car-side" unicode="&#xf5e4;" horiz-adv-x="640" 
d="M544 256c53.0195 0 96 -42.9805 96 -96v-80c0 -8.83984 -7.16016 -16 -16 -16h-48c0 -53.0195 -42.9805 -96 -96 -96s-96 42.9805 -96 96h-128c0 -53.0195 -42.9805 -96 -96 -96s-96 42.9805 -96 96h-48c-8.83984 0 -16 7.16016 -16 16v112
c0 29.79 20.4404 54.5996 48 61.7402l47.9102 122.029c9.71973 24.3008 33.25 40.2305 59.4199 40.2305h213.91c20.2227 -0.00292969 38.2441 -9.35645 49.9795 -24.0195l108.78 -135.98h16zM160 16c26.4697 0 48 21.5303 48 48s-21.5303 48 -48 48s-48 -21.5303 -48 -48
s21.5303 -48 48 -48zM232 256v96h-76.6699l-38.4004 -96h115.07zM280 256h166.04l-76.7998 96h-89.2402v-96zM480 16c26.4697 0 48 21.5303 48 48s-21.5303 48 -48 48s-48 -21.5303 -48 -48s21.5303 -48 48 -48z" />
    <glyph glyph-name="charging-station" unicode="&#xf5e7;" horiz-adv-x="576" 
d="M336 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-320c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h320zM544 320h16c8.83984 0 16 -7.16016 16 -16v-32c0 -35.7598 -23.6201 -65.6904 -56 -75.9297v-120.07
c0 -44.4102 -38.29 -80.0498 -83.5898 -75.6201c-39.4902 3.85059 -68.4102 39.3398 -68.4102 79.0098v24.6104c0 22.0898 -17.9102 40 -40 40h-8v-112h-288v352c0 35.3496 28.6504 64 64 64h160c35.3496 0 64 -28.6504 64 -64v-192h8c48.5996 0 88 -39.4004 88 -88v-28
c0 -16.9902 15.2197 -30.5 32.7402 -27.6104c13.7598 2.27051 23.2598 15.2402 23.2598 29.1904v118.49c-32.3799 10.2393 -56 40.1699 -56 75.9297v32c0 8.83984 7.16016 16 16 16h16v48c0 8.83984 7.16016 16 16 16s16 -7.16016 16 -16v-48h32v48
c0 8.83984 7.16016 16 16 16s16 -7.16016 16 -16v-48zM260.09 272.24c4.62012 6.97949 -1.14941 15.7598 -10.3896 15.7598h-57.7002l11.5996 50.79c2.02051 6.66992 -3.71973 13.21 -11.5996 13.21h-68c-6.01953 0 -11.0996 -3.90039 -11.8896 -9.11035l-16 -107
c-0.959961 -6.2998 4.63965 -11.8896 11.8896 -11.8896h59.3496l-23.0195 -83.0801c-1.7998 -6.63965 4 -12.9199 11.6699 -12.9199c4.17969 0 8.19043 1.91016 10.3896 5.24023z" />
    <glyph glyph-name="directions" unicode="&#xf5eb;" 
d="M502.61 214.68c12.5195 -12.5293 12.5195 -32.8301 0 -45.3594l-223.931 -223.931c-12.5293 -12.5293 -32.8398 -12.5293 -45.3594 0l-223.931 223.931c-12.5195 12.5293 -12.5195 32.8301 0 45.3594l223.931 223.931c12.5293 12.5195 32.8398 12.5195 45.3594 0z
M401.63 202.12c3.42969 3.16992 3.42969 8.58984 0 11.7598l-84.21 77.7305c-5.12988 4.72949 -13.4297 1.08984 -13.4297 -5.87988v-53.7305h-112c-17.6699 0 -32 -14.3301 -32 -32v-80c0 -4.41992 3.58008 -8 8 -8h32c4.41992 0 8 3.58008 8 8v64h96v-53.7305
c0 -6.97949 8.30957 -10.6094 13.4297 -5.87988z" />
    <glyph glyph-name="draw-polygon" unicode="&#xf5ee;" horiz-adv-x="448" 
d="M384 96c35.3496 0 64 -28.6504 63.9902 -64c0 -35.3496 -28.6504 -64 -64 -64c-23.6299 0 -44.0303 12.9502 -55.1201 32h-209.75c-11.0801 -19.0498 -31.4902 -32 -55.1201 -32c-35.3496 0 -64 28.6504 -64 64c0 23.6299 12.9502 44.04 32 55.1299v209.75
c-19.0498 11.0801 -32 31.4902 -32 55.1201c0 35.3496 28.6504 64 64 64c23.6299 0 44.04 -12.9502 55.1201 -32h209.76c11.0801 19.0498 31.4902 32 55.1201 32c35.3496 0 64 -28.6504 64 -64s-28.6504 -64 -64 -64c-0.349609 0 -0.669922 0.0898438 -1.01953 0.0996094
l-39.2002 -65.3193c5.08008 -9.16992 8.21973 -19.5605 8.21973 -30.7803s-3.15039 -21.6104 -8.21973 -30.7803l39.2002 -65.3193c0.349609 0 0.669922 0.0996094 1.01953 0.0996094zM96 87.1201c9.61816 -5.58398 17.5361 -13.502 23.1201 -23.1201h208.36
l-38.4609 64.0996c-0.349609 0 -0.669922 -0.0996094 -1.01953 -0.0996094c-35.3496 0 -64 28.6504 -64 64s28.6504 64 64 64c0.349609 0 0.669922 -0.0898438 1.01953 -0.0996094l38.4609 64.0996h-208.36c-5.58691 -9.61523 -13.5049 -17.5332 -23.1201 -23.1201v-209.76z
M272 192c0 -8.82031 7.17969 -16 16 -16s16 7.17969 16 16s-7.17969 16 -16 16s-16 -7.17969 -16 -16zM400 352c0 8.82031 -7.17969 16 -16 16s-16 -7.17969 -16 -16s7.17969 -16 16 -16s16 7.17969 16 16zM64 368c-8.82031 0 -16 -7.17969 -16 -16s7.17969 -16 16 -16
s16 7.17969 16 16s-7.17969 16 -16 16zM48 32c0 -8.82031 7.17969 -16 16 -16s16 7.17969 16 16s-7.17969 16 -16 16s-16 -7.17969 -16 -16zM384 16c8.82031 0 16 7.17969 16 16s-7.17969 16 -16 16s-16 -7.17969 -16 -16s7.17969 -16 16 -16z" />
    <glyph glyph-name="laptop-code" unicode="&#xf5fc;" horiz-adv-x="640" 
d="M255.03 186.35l-58.3506 58.3408c-6.25 6.25 -6.25 16.3799 0 22.6299l58.3398 58.3398c6.25 6.25 16.3809 6.25 22.6309 0l11.3096 -11.3105c6.25 -6.25 6.25 -16.3799 0 -22.6299l-35.71 -35.7197l35.7197 -35.71c6.25 -6.25 6.25 -16.3799 0 -22.6299
l-11.3096 -11.3105c-6.25 -6.25 -16.3799 -6.25 -22.6299 0zM351.04 197.65c-6.25 6.25 -6.25 16.3799 0 22.6299l35.71 35.7197l-35.71 35.71c-6.25 6.25 -6.25 16.3799 0 22.6299l11.3096 11.3105c6.25 6.25 16.3809 6.25 22.6309 0l58.3398 -58.3408
c6.25 -6.25 6.25 -16.3799 0 -22.6299l-58.3398 -58.3398c-6.25 -6.25 -16.3809 -6.25 -22.6309 0zM624 32c8.7998 0 16 -7.2002 16 -16v-16c0 -35.2002 -28.7998 -64 -64 -64h-512c-35.2002 0 -64 28.7998 -64 64v16c0 8.7998 7.2002 16 16 16h239.23
c-0.25 -14.5303 14.0791 -32 32.7695 -32h60.7998c18.0303 0 32 12.1904 32.7402 32h242.46zM576 400v-336h-512v336c0 26.4004 21.5996 48 48 48h416c26.4004 0 48 -21.5996 48 -48zM512 128v256h-384v-256h384z" />
    <glyph glyph-name="layer-group" unicode="&#xf5fd;" 
d="M12.4102 299.98c-16.5498 7.50977 -16.5498 32.5293 0 40.0391l232.95 105.671c3.23633 1.47949 6.87695 2.30371 10.666 2.30371s7.38672 -0.824219 10.624 -2.30371l232.93 -105.681c16.5498 -7.50977 16.5498 -32.5195 0 -40.0293l-232.94 -105.671
c-6.7998 -3.08984 -14.4893 -3.08984 -21.29 0zM499.59 211.7c16.5498 -7.5 16.5498 -32.5 0 -40l-232.95 -105.59c-6.7998 -3.08008 -14.4893 -3.08008 -21.29 0l-232.939 105.59c-16.5498 7.5 -16.5498 32.5 0 40l58.0996 26.3301l161.63 -73.2705
c7.57031 -3.42969 15.5908 -5.16992 23.8604 -5.16992s16.2998 1.74023 23.8604 5.16992l161.64 73.2705zM499.59 83.9004c16.5498 -7.5 16.5498 -32.5 0 -40l-232.95 -105.591c-6.7998 -3.0791 -14.4893 -3.0791 -21.29 0l-232.939 105.591
c-16.5498 7.5 -16.5498 32.5 0 40l57.8799 26.2295l161.85 -73.3701c7.57031 -3.42969 15.5908 -5.16992 23.8604 -5.16992s16.2998 1.74023 23.8604 5.16992l161.859 73.3701z" />
    <glyph glyph-name="lungs" unicode="&#xf604;" horiz-adv-x="640" 
d="M636.11 57.8496c2.58984 -9.68945 3.88965 -19.6396 3.88965 -29.6299c0 -61.2295 -62.4805 -105.439 -125.24 -88.6201l-59.5 15.9502c-42.1797 11.3105 -71.2598 47.4697 -71.2598 88.6201v87.4902l85.8398 -57.2305
c1.26855 -0.845703 2.79395 -1.35156 4.43164 -1.35156c2.77734 0 5.22559 1.41992 6.6582 3.57227l8.87988 13.3096c0.845703 1.26758 1.35254 2.79395 1.35254 4.43164c0 2.77734 -1.41992 5.22559 -3.57227 6.6582l-167.59 111.72l-167.59 -111.72
c-2.15332 -1.43262 -3.55957 -3.88379 -3.55957 -6.66113c0 -1.6377 0.493164 -3.16113 1.33984 -4.42871l8.87988 -13.3096c1.43262 -2.15332 3.88379 -3.56055 6.66113 -3.56055c1.6377 0 3.16016 0.494141 4.42871 1.33984l85.8398 57.2305v-87.4902
c0 -41.1504 -29.0801 -77.3203 -71.2598 -88.6201l-59.5 -15.9502c-62.7598 -16.8193 -125.24 27.3906 -125.24 88.6201c0 9.99023 1.2998 19.9404 3.88965 29.6299c21.6699 81.3008 56.04 159.15 102.011 231.021c22.1191 34.5703 36.0693 63.1299 80.0498 63.1299
c38.6895 0 70.0498 -29.4199 70.0498 -65.71v-60.1104l32.8799 21.9199c4.4502 2.9707 7.12012 7.95996 7.12012 13.3105v170.59c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-170.59c0 -5.55273 2.81934 -10.4414 7.12012 -13.3105l32.8799 -21.9199
v60.1104c0 36.29 31.3604 65.71 70.0498 65.71c43.9805 0 57.9307 -28.5596 80.0498 -63.1299c45.9707 -71.8701 80.3408 -149.72 102.011 -231.021z" />
    <glyph glyph-name="microscope" unicode="&#xf610;" 
d="M160 128c-17.6699 0 -32 14.3301 -32 32v224c0 17.6699 14.3301 32 32 32v16c0 8.83984 7.16016 16 16 16h64c8.83984 0 16 -7.16016 16 -16v-16c17.6699 0 32 -14.3301 32 -32v-224c0 -17.6699 -14.3301 -32 -32 -32h-12v-16c0 -8.83984 -7.16016 -16 -16 -16h-40
c-8.83984 0 -16 7.16016 -16 16v16h-12zM464 0c26.5098 0 48 -21.4902 48 -48c0 -8.83984 -7.16016 -16 -16 -16h-480c-8.83984 0 -16 7.16016 -16 16c0 26.5098 21.4902 48 48 48h272c70.5801 0 128 57.4199 128 128s-57.4199 128 -128 128v64
c105.88 0 192 -86.1201 192 -192c0 -49.2002 -18.7598 -93.9902 -49.29 -128h1.29004zM104 32c-4.41992 0 -8 3.58008 -8 8v16c0 4.41992 3.58008 8 8 8h208c4.41992 0 8 -3.58008 8 -8v-16c0 -4.41992 -3.58008 -8 -8 -8h-208z" />
    <glyph glyph-name="oil-can" unicode="&#xf613;" horiz-adv-x="640" 
d="M629.8 287.69c5.11035 1.45996 10.2002 -2.38086 10.1904 -7.69043v-18.0801c0 -2.12012 -0.839844 -4.16016 -2.33984 -5.66016l-212.261 -214.75c-6.00977 -6.08984 -14.21 -9.50977 -22.7598 -9.50977h-274.63c-17.6699 0 -32 14.3301 -32 32v46.54l-69.7197 12.6904
c-15.2207 2.75977 -26.2803 16.0195 -26.2803 31.4795v94.9502c0 17.9795 14.6699 32.0098 31.9297 32.0098c1.9873 0 3.9043 -0.181641 5.79004 -0.530273l138.28 -25.1396h56v48h-56c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h160
c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16h-56v-48h56.8896c10.2598 -0.00390625 20.0205 -2.46191 28.6201 -6.75977l50.4902 -25.2402zM96 159.33v62.4297l-48 8.73047v-62.4307zM549.33 74.6699c0 23.5605 42.6699 85.3301 42.6699 85.3301
s42.6699 -61.7598 42.6699 -85.3301s-19.0996 -42.6699 -42.6699 -42.6699s-42.6699 19.1104 -42.6699 42.6699z" />
    <glyph glyph-name="poop" unicode="&#xf619;" 
d="M451.36 78.8604c34.3301 -5.48047 60.6396 -34.9805 60.6396 -70.8604c0 -39.7598 -32.2402 -72 -72 -72h-368c-39.7598 0 -72 32.2402 -72 72c0 35.8799 26.3096 65.3799 60.6396 70.8604c-17.2998 13.1494 -28.6396 33.7295 -28.6396 57.1396
c0 39.7695 32.2402 72 72 72h14.0703c-13.4199 11.7305 -22.0703 28.7803 -22.0703 48c0 35.3496 28.6504 64 64 64h16c44.1797 0 80 35.8203 80 80c0 17.3799 -5.69043 33.3604 -15.1104 46.4805c4.95996 0.779297 9.94043 1.51953 15.1104 1.51953
c53.0195 0 96 -42.9805 96 -96c0 -11.2803 -2.30957 -21.9502 -5.87988 -32h5.87988c35.3496 0 64 -28.6504 64 -64c0 -19.2197 -8.65039 -36.2695 -22.0703 -48h14.0703c39.7598 0 72 -32.2305 72 -72c0 -23.4102 -11.3398 -43.9902 -28.6396 -57.1396z" />
    <glyph glyph-name="shapes" unicode="&#xf61f;" 
d="M128 192c70.6455 0 128 -57.3545 128 -128s-57.3545 -128 -128 -128s-128 57.3545 -128 128s57.3545 128 128 128zM507 246.86c14.2402 -24.3799 -3.58008 -54.8604 -32.0898 -54.8604h-213.82c-28.5098 0 -46.3301 30.4805 -32.0898 54.8604l106.93 182.85
c6.48828 10.9688 18.3906 18.3311 32.0469 18.3311c13.6553 0 25.6055 -7.3623 32.0938 -18.3311zM480 160c17.6611 0 32 -14.3389 32 -32v-160c0 -17.6611 -14.3389 -32 -32 -32h-160c-17.6611 0 -32 14.3389 -32 32v160c0 17.6611 14.3389 32 32 32h160z" />
    <glyph glyph-name="star-of-life" unicode="&#xf621;" horiz-adv-x="480" 
d="M471.99 113.57c7.66016 -4.41992 10.2793 -14.2002 5.85938 -21.8506l-32.0195 -55.4297c-4.41992 -7.66016 -14.21 -10.2803 -21.8701 -5.86035l-135.93 78.4307v-156.86c0 -8.83984 -7.16992 -16 -16.0107 -16h-64.0391c-8.84082 0 -16.0107 7.16016 -16.0107 16
v156.85l-135.93 -78.4297c-7.66016 -4.41016 -17.4502 -1.79004 -21.8701 5.86035l-32.0195 55.4297c-4.41992 7.65039 -1.80078 17.4404 5.85938 21.8604l135.931 78.4297l-135.931 78.4297c-7.66016 4.41992 -10.2793 14.21 -5.85938 21.8604l32.0195 55.4199
c4.41992 7.65039 14.21 10.2803 21.8701 5.86035l135.93 -78.4307v156.86c0 8.83984 7.16992 16 16.0107 16h64.0391c8.84082 0 16.0107 -7.16016 16.0107 -16v-156.85l135.93 78.4297c7.66016 4.41992 17.4502 1.79004 21.8701 -5.86035l32.0195 -55.4297
c4.41992 -7.66016 1.80078 -17.4404 -5.85938 -21.8604l-135.931 -78.4297z" />
    <glyph glyph-name="teeth" unicode="&#xf62e;" horiz-adv-x="640" 
d="M544 448c53.0195 0 96 -42.9805 96 -96v-320c0 -53.0195 -42.9805 -96 -96 -96h-448c-53.0195 0 -96 42.9805 -96 96v320c0 53.0195 42.9805 96 96 96h448zM160 80v64c0 8.83984 -7.16016 16 -16 16h-64c-8.83984 0 -16 -7.16016 -16 -16v-64
c0 -26.5098 21.4902 -48 48 -48s48 21.4902 48 48zM160 208v64c0 26.5098 -21.4902 48 -48 48s-48 -21.4902 -48 -48v-64c0 -8.83984 7.16016 -16 16 -16h64c8.83984 0 16 7.16016 16 16zM304 88v56c0 8.83984 -7.16016 16 -16 16h-80c-8.83984 0 -16 -7.16016 -16 -16v-56
c0 -30.9297 25.0703 -56 56 -56s56 25.0703 56 56zM304 208v88c0 30.9297 -25.0703 56 -56 56s-56 -25.0703 -56 -56v-88c0 -8.83984 7.16016 -16 16 -16h80c8.83984 0 16 7.16016 16 16zM448 88v56c0 8.83984 -7.16016 16 -16 16h-80c-8.83984 0 -16 -7.16016 -16 -16v-56
c0 -30.9297 25.0703 -56 56 -56s56 25.0703 56 56zM448 208v88c0 30.9297 -25.0703 56 -56 56s-56 -25.0703 -56 -56v-88c0 -8.83984 7.16016 -16 16 -16h80c8.83984 0 16 7.16016 16 16zM576 80v64c0 8.83984 -7.16016 16 -16 16h-64c-8.83984 0 -16 -7.16016 -16 -16v-64
c0 -26.5098 21.4902 -48 48 -48s48 21.4902 48 48zM576 208v64c0 26.5098 -21.4902 48 -48 48s-48 -21.4902 -48 -48v-64c0 -8.83984 7.16016 -16 16 -16h64c8.83984 0 16 7.16016 16 16z" />
    <glyph glyph-name="teeth-open" unicode="&#xf62f;" horiz-adv-x="640" 
d="M544 448c53.0195 0 96 -42.9805 96 -96v-64c0 -35.3496 -28.6602 -64 -64 -64h-512c-35.3398 0 -64 28.6504 -64 64v64c0 53.0195 42.9805 96 96 96h448zM160 272v32c0 26.5098 -21.4902 48 -48 48s-48 -21.4902 -48 -48v-32c0 -8.83984 7.16016 -16 16 -16h64
c8.83984 0 16 7.16016 16 16zM304 272v56c0 30.9297 -25.0703 56 -56 56s-56 -25.0703 -56 -56v-56c0 -8.83984 7.16016 -16 16 -16h80c8.83984 0 16 7.16016 16 16zM448 272v56c0 30.9297 -25.0703 56 -56 56s-56 -25.0703 -56 -56v-56c0 -8.83984 7.16016 -16 16 -16h80
c8.83984 0 16 7.16016 16 16zM576 272v32c0 26.5098 -21.4902 48 -48 48s-48 -21.4902 -48 -48v-32c0 -8.83984 7.16016 -16 16 -16h64c8.83984 0 16 7.16016 16 16zM576 128c35.3398 0 64 -28.6504 64 -64v-32c0 -53.0195 -42.9805 -96 -96 -96h-448
c-53.0195 0 -96 42.9805 -96 96v32c0 35.3496 28.6602 64 64 64h512zM160 48v32c0 8.83984 -7.16016 16 -16 16h-64c-8.83984 0 -16 -7.16016 -16 -16v-32c0 -26.5098 21.4902 -48 48 -48s48 21.4902 48 48zM304 56v24c0 8.83984 -7.16016 16 -16 16h-80
c-8.83984 0 -16 -7.16016 -16 -16v-24c0 -30.9297 25.0703 -56 56 -56s56 25.0703 56 56zM448 56v24c0 8.83984 -7.16016 16 -16 16h-80c-8.83984 0 -16 -7.16016 -16 -16v-24c0 -30.9297 25.0703 -56 56 -56s56 25.0703 56 56zM576 48v32c0 8.83984 -7.16016 16 -16 16h-64
c-8.83984 0 -16 -7.16016 -16 -16v-32c0 -26.5098 21.4902 -48 48 -48s48 21.4902 48 48z" />
    <glyph glyph-name="theater-masks" unicode="&#xf630;" horiz-adv-x="640" 
d="M206.86 202.85l-7.62988 -43.1797c-21.0908 -7.21973 -38.5 -18.2002 -49.9004 -30.9199c-2.41992 32.9004 21.6504 63.6504 57.5303 74.0996zM95.8096 153c5.87012 -33.1699 64.3203 -71.8096 111.931 -84.79c10.5596 -27.0996 25.9795 -50.5 39.5 -67.5801
c-3.25977 -0.339844 -6.41992 -0.799805 -10.0098 -0.799805c-68.1201 0 -190.221 61.5596 -204.45 142.08l-31.7305 179.51c-4.96973 28.0996 7.98047 56.0996 32.1504 69.5205c67.8193 37.6396 143.46 57.0596 220.12 57.0596c23.9199 0 47.9492 -1.88965 71.8594 -5.7002
c17.29 -2.76953 31.7803 -13.0498 41.7705 -27c-19.1299 -0.769531 -38.29 -2.2998 -57.1807 -5.31934c-19.8594 -3.1709 -37.6396 -12.5303 -51.5898 -26c-1.62012 0.0195312 -3.23926 0.189453 -4.84961 0.189453c-65.8896 0 -131.25 -16.9502 -189.01 -49.0098
c0.0400391 -0.0302734 -0.530273 -1.03027 -0.240234 -2.65039zM193.36 290.46c3.83984 -21.7002 -10.6904 -42.4004 -32.4404 -46.2197c-21.7598 -3.82031 -42.5 10.6699 -46.3398 32.3701c-0.730469 4.12012 -0.610352 8.15918 -0.0898438 12.0996
c10.8096 -5.57031 24.8301 -7.75 39.4795 -5.16992c14.6504 2.57031 27.0703 9.41016 35.3203 18.3203c1.83984 -3.53027 3.33984 -7.28027 4.07031 -11.4004zM606.8 327.1c24.1699 -13.4092 37.1201 -41.4092 32.1504 -69.5195l-31.7305 -179.51
c-15.3896 -87.0508 -156.83 -151.931 -219.859 -140.84c-63.0303 11.0791 -173.7 120.3 -158.311 207.35l31.7305 179.51c4.95996 28.1006 26.7295 50 54.04 54.3604c100.55 16.0596 203 -1.96973 291.979 -51.3506zM333.56 230.3
c-0.729492 -4.12012 -0.609375 -8.16016 -0.0791016 -12.1094c10.8096 5.56934 24.8291 7.75 39.4795 5.16992c14.6504 -2.57031 27.0703 -9.41016 35.3203 -18.3203c1.83984 3.53027 3.33984 7.28027 4.06934 11.4004c3.83008 21.6992 -10.6895 42.3896 -32.4492 46.2197
c-21.7607 3.83008 -42.5 -10.6602 -46.3408 -32.3604zM404.03 31.54c55.6699 -9.79004 108.2 23.7803 122.38 75.7197c-28.1104 -16.9697 -68.6504 -24.21 -111.93 -16.5996c-43.2803 7.60938 -78.8906 28.2402 -99.4902 53.7803
c-4.48047 -53.6309 33.3594 -103.11 89.04 -112.9zM534.33 182.88c1.83984 3.52051 3.33984 7.27051 4.07031 11.4004c3.83008 21.7002 -10.7002 42.3896 -32.4502 46.2197c-21.7598 3.82031 -42.5 -10.6699 -46.3398 -32.3701
c-0.730469 -4.12012 -0.610352 -8.16016 -0.0908203 -12.0996c10.8105 5.56934 24.8301 7.75 39.4805 5.16992c14.6504 -2.57031 27.0801 -9.41016 35.3301 -18.3203z" />
    <glyph glyph-name="traffic-light" unicode="&#xf637;" horiz-adv-x="384" 
d="M384 256c0 -41.7402 -26.7998 -76.9004 -64 -90.1201v-37.8799h64c0 -42.8398 -28.25 -78.6904 -66.9902 -91.0498c-12.4297 -57.6699 -63.6094 -100.95 -125.01 -100.95s-112.58 43.2803 -125.01 100.95c-38.7402 12.3594 -66.9902 48.21 -66.9902 91.0498h64v37.8799
c-37.2002 13.2197 -64 48.3799 -64 90.1201h64v37.8799c-37.2002 13.2197 -64 48.3799 -64 90.1201h64v32c0 17.6699 14.3301 32 32 32h192c17.6699 0 32 -14.3301 32 -32v-32h64c0 -41.7402 -26.7998 -76.9004 -64 -90.1201v-37.8799h64zM192 32
c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM192 160c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM192 288c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48
s-48 -21.4902 -48 -48s21.4902 -48 48 -48z" />
    <glyph glyph-name="truck-monster" unicode="&#xf63b;" horiz-adv-x="640" 
d="M624 224c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-16.71c-29.21 38.6504 -75.0996 64 -127.28 64c-52.1797 0 -98.0693 -25.3496 -127.279 -64h-65.4502c-29.21 38.6504 -75.1006 64 -127.28 64s-98.0703 -25.3496 -127.28 -64h-16.7197
c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h16v80c0 8.83984 7.16016 16 16 16h176v96c0 17.6699 14.3301 32 32 32h113.24c20.2227 -0.00292969 38.2441 -9.35645 49.9795 -24.0195l83.1807 -103.98h73.5996c17.6699 0 32 -14.3301 32 -32v-64h16z
M288 320h132.44l-51.2002 64h-81.2402v-64zM592 96c8.83984 0 16 -7.16016 16.0195 -16v-32c0 -8.83984 -7.15918 -16 -16 -16h-5.19922c-2.1709 -7.26172 -5.11426 -14.3359 -8.65039 -20.8896l3.66992 -3.66992c6.25 -6.25 6.25 -16.3809 0 -22.6309l-22.6299 -22.6299
c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-3.66992 3.66992c-6.62012 -3.58008 -13.5703 -6.44922 -20.9004 -8.64941v-5.2002c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v5.2002c-7.33008 2.2002 -14.29 5.08008 -20.8994 8.64941
l-3.66992 -3.66992c-6.25 -6.25 -16.3809 -6.25 -22.6309 0l-22.6299 22.6299c-6.25 6.25 -6.25 16.3809 0 22.6309l3.66992 3.66992c-3.58008 6.60938 -6.44922 13.5596 -8.64941 20.8896h-5.2002c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h5.2002
c2.16992 7.26172 5.11426 14.3359 8.64941 20.8896l-3.66992 3.66992c-6.25 6.25 -6.25 16.3809 0 22.6309l22.6299 22.6299c6.25 6.25 16.3809 6.25 22.6309 0l3.66992 -3.66992c6.60938 3.58008 13.5596 6.44922 20.8896 8.64941v5.2002c0 8.83984 7.16016 16 16 16h32
c8.83984 0 16 -7.16016 16 -16v-5.2002c7.26172 -2.16992 14.3359 -5.11426 20.8896 -8.64941l3.66992 3.66992c6.25 6.25 16.3809 6.25 22.6309 0l22.6299 -22.6299c6.25 -6.25 6.25 -16.3809 0 -22.6309l-3.66992 -3.66992
c3.58008 -6.60938 6.44922 -13.5596 8.64941 -20.8896h5.2002zM480 16c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM272 96c8.83984 0 16 -7.16016 16.0195 -15.9902v-32c0 -8.83984 -7.15918 -16 -16 -16h-5.19922
c-2.1709 -7.26074 -5.11426 -14.3359 -8.65039 -20.8896l3.66992 -3.66992c6.25 -6.25 6.25 -16.3799 0 -22.6299l-22.6299 -22.6299c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-3.66992 3.66992c-6.62012 -3.58008 -13.5703 -6.4502 -20.9004 -8.65039v-5.2002
c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v5.2002c-7.33008 2.2002 -14.29 5.08008 -20.8994 8.65039l-3.66992 -3.66992c-6.25 -6.25 -16.3809 -6.25 -22.6309 0l-22.6299 22.6299c-6.25 6.25 -6.25 16.3799 0 22.6299l3.66992 3.66992
c-3.58008 6.61035 -6.44922 13.5596 -8.64941 20.8896h-5.2002c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h5.2002c2.16992 7.26172 5.11426 14.3359 8.64941 20.8906l-3.66992 3.66992c-6.25 6.25 -6.25 16.3799 0 22.6299l22.6299 22.6201
c6.25 6.25 16.3809 6.25 22.6309 0l3.66992 -3.66992c6.60938 3.58008 13.5596 6.44922 20.8896 8.64941v5.2002c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-5.2002c7.26172 -2.16992 14.3359 -5.11426 20.8896 -8.64941l3.66992 3.66992
c6.25 6.25 16.3809 6.25 22.6309 0l22.6299 -22.6299c6.25 -6.25 6.25 -16.3809 0 -22.6309l-3.66992 -3.66992c3.58008 -6.60938 6.44922 -13.5596 8.64941 -20.8896h5.2002zM160 16c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48
s21.4902 -48 48 -48z" />
    <glyph glyph-name="truck-pickup" unicode="&#xf63c;" horiz-adv-x="640" 
d="M624 160c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-49.5996c0.759766 -5.26953 1.60938 -10.5195 1.60938 -16c0 -61.8604 -50.1396 -112 -112 -112c-61.8594 0 -112 50.1396 -112 112c0 5.48047 0.850586 10.7305 1.61035 16h-67.2305
c0.760742 -5.26953 1.61035 -10.5195 1.61035 -16c0 -61.8604 -50.1396 -112 -112 -112s-112 50.1396 -112 112c0 5.48047 0.849609 10.7305 1.61035 16h-49.6104c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h16v64c0 17.6699 14.3301 32 32 32h160v128
c0 17.6699 14.3301 32 32 32h113.24c20.2227 -0.00292969 38.2441 -9.35645 49.9795 -24.0195l108.78 -135.98h48c17.6699 0 32 -14.3301 32 -32v-64h16zM288 352v-96h158.04l-76.7998 96h-81.2402zM176 32c26.4697 0 48 21.5303 48 48s-21.5303 48 -48 48
s-48 -21.5303 -48 -48s21.5303 -48 48 -48zM464 32c26.4697 0 48 21.5303 48 48s-21.5303 48 -48 48s-48 -21.5303 -48 -48s21.5303 -48 48 -48z" />
    <glyph glyph-name="ad" unicode="&#xf641;" 
d="M157.52 176l18.4805 53.2197l18.4805 -53.2197h-36.9609zM352 192c13.2305 0 24 -10.7695 24 -24s-10.7695 -24 -24 -24s-24 10.7695 -24 24s10.7695 24 24 24zM464 384c26.5 0 48 -21.5 48 -48v-288c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v288
c0 26.5 21.5 48 48 48h416zM250.58 96c11 0 18.7197 10.8496 15.1104 21.25l-53.6904 154.62c-3.25586 9.3877 -12.1758 16.1299 -22.666 16.1299h-0.00390625h-26.6602l0.00292969 0.00585938c-10.4873 0 -19.4131 -6.74219 -22.6729 -16.126l-53.7002 -154.63
c-3.60938 -10.4004 4.11035 -21.25 15.1201 -21.25h16.9404c0.00195312 0 -0.000976562 -0.00390625 0.000976562 -0.00390625c6.99316 0 12.9453 4.49609 15.1191 10.7539l7.37988 21.25h70.29l7.36914 -21.25c2.24023 -6.42969 8.31055 -10.75 15.1201 -10.75h16.9404z
M424 112v160c0 8.83984 -7.16016 16 -16 16h-16c-8.83984 0 -16 -7.16016 -16 -16v-36.4199c-7.54004 2.68945 -15.54 4.41992 -24 4.41992c-39.7002 0 -72 -32.2998 -72 -72s32.2998 -72 72 -72c9.92969 0 19.4004 2.01953 28.0195 5.67969
c2.94043 -3.41016 7.13086 -5.67969 11.9805 -5.67969h16c8.83984 0 16 7.16016 16 16z" />
    <glyph glyph-name="ankh" unicode="&#xf644;" horiz-adv-x="320" 
d="M296 192c13.25 0 24 -10.7402 24 -24v-32c0 -13.25 -10.75 -24 -24 -24h-96v-152c0 -13.25 -10.75 -24 -24 -24h-32c-13.25 0 -24 10.75 -24 24v152h-96c-13.25 0 -24 10.75 -24 24v32c0 13.2598 10.75 24 24 24h44.6201c-21.0801 33.9902 -36.6201 74.3496 -36.6201 112
c0 88.3701 57.3096 144 128 144s128 -55.6299 128 -144c0 -37.6504 -15.54 -78.0098 -36.6201 -112h44.6201zM160 368c-29.6104 0 -48 -24.5195 -48 -64c0 -34.6602 27.1396 -78.1504 48 -100.87c20.8604 22.7305 48 66.21 48 100.87c0 39.4805 -18.3896 64 -48 64z" />
    <glyph glyph-name="bible" unicode="&#xf647;" horiz-adv-x="448" 
d="M448 89.5996c0 -9.59961 -3.2002 -16 -9.59961 -19.1992c-3.2002 -12.8008 -3.2002 -57.6006 0 -73.6006c6.39941 -6.39941 9.59961 -12.7998 9.59961 -19.2002v-16c0 -16 -12.7998 -25.5996 -25.5996 -25.5996h-326.4c-54.4004 0 -96 41.5996 -96 96v320
c0 54.4004 41.5996 96 96 96h326.4c16 0 25.5996 -9.59961 25.5996 -25.5996v-332.801zM144 304v-32c0 -8.83984 7.16016 -16 16 -16h48v-112c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16v112h48c8.83984 0 16 7.16016 16 16v32
c0 8.83984 -7.16016 16 -16 16h-48v48c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-48h-48c-8.83984 0 -16 -7.16016 -16 -16zM380.8 0v64h-284.8c-16 0 -32 -12.7998 -32 -32s12.7998 -32 32 -32h284.8z" />
    <glyph glyph-name="business-time" unicode="&#xf64a;" horiz-adv-x="640" 
d="M496 224c79.5898 0 144 -64.4102 144 -144s-64.4102 -144 -144 -144s-144 64.4102 -144 144s64.4102 144 144 144zM560 73.71v12.5801c0 5.33984 -4.37012 9.70996 -9.70996 9.70996h-38.29v54.2803c0 5.33984 -4.37012 9.70996 -9.70996 9.70996h-12.5703
c-5.33984 0 -9.70996 -4.37012 -9.70996 -9.70996v-76.5703c0 -5.33984 4.37012 -9.70996 9.70996 -9.70996h60.5703c5.33984 0 9.70996 4.37012 9.70996 9.70996zM496 256c-37.5303 0 -72.2803 -11.9102 -100.88 -32h-395.12v80c0 25.5996 22.4004 48 48 48h80v48
c0 25.5996 22.4004 48 48 48h160c25.5996 0 48 -22.4004 48 -48v-48h80c25.5996 0 48 -22.4004 48 -48v-48.8096c-5.28027 0.479492 -10.5996 0.80957 -16 0.80957zM320 352v32h-128v-32h128zM326.82 128c-4.33984 -15.2803 -6.82031 -31.3398 -6.82031 -48
c0 -28.8203 7.09961 -55.96 19.4297 -80h-291.43c-25.5996 0 -48 22.4004 -48 48v144h192v-48c0 -8.83984 7.16016 -16 16 -16h118.82z" />
    <glyph glyph-name="city" unicode="&#xf64f;" horiz-adv-x="640" 
d="M616 256c13.25 0 24 -10.7402 24 -24v-264c0 -17.6699 -14.3301 -32 -32 -32h-576c-17.6699 0 -32 14.3301 -32 32v360c0 13.2598 10.7402 24 24 24h40v80c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-80h64v80c0 8.83984 7.16016 16 16 16h16
c8.83984 0 16 -7.16016 16 -16v-80h64v72c0 13.2598 10.7402 24 24 24h144c13.2598 0 24 -10.7402 24 -24v-168h136zM128 44v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12z
M128 140v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM128 236v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40
c6.62988 0 12 5.37012 12 12zM256 44v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM256 140v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40
c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM256 236v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM416 140v40c0 6.62988 -5.37012 12 -12 12h-40
c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM416 236v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM416 332v40
c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM576 44v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40
c6.62988 0 12 5.37012 12 12zM576 140v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12z" />
    <glyph glyph-name="comment-dollar" unicode="&#xf651;" 
d="M256 416c141.38 0 256 -93.1201 256 -208s-114.62 -208 -256 -208c-38.4102 0 -74.71 7.07031 -107.4 19.3799c-24.6094 -19.6299 -74.3398 -51.3799 -140.6 -51.3799l-0.00195312 0.00195312c-4.41309 0 -7.99512 3.58301 -7.99512 7.99512
c0 2.13184 0.835938 4.06934 2.19727 5.50293c0.5 0.530273 42.2598 45.4502 54.8193 95.7598c-35.6094 35.7305 -57.0195 81.1807 -57.0195 130.74c0 114.88 114.62 208 256 208zM280 113.56c30.29 3.62012 53.3701 30.9805 49.3203 63.04
c-2.90039 22.96 -20.6602 41.3105 -42.9102 47.6699l-50.0703 14.3008c-3.59961 1.0293 -6.12012 4.35938 -6.12012 8.10938c0 4.64062 3.78027 8.41992 8.44043 8.41992h32.7803c0.0214844 0 0.0634766 -0.0126953 0.0859375 -0.0126953
c3.62891 0 7.07422 -0.790039 10.1738 -2.20703c4.7998 -2.20996 10.3701 -1.70996 14.1094 2.03027l17.5205 17.5195c5.26953 5.27051 4.66992 14.2705 -1.5498 18.3799c-9.5 6.27051 -20.3604 10.1104 -31.7803 11.46v17.7305c0 8.83984 -7.16016 16 -16 16h-16
c-8.83984 0 -16 -7.16016 -16 -16v-17.5498c-30.29 -3.62012 -53.3701 -30.9805 -49.3203 -63.0498c2.90039 -22.96 20.6602 -41.3203 42.9102 -47.6699l50.0703 -14.3008c3.59961 -1.0293 6.12012 -4.35938 6.12012 -8.10938
c0 -4.64062 -3.78027 -8.41992 -8.44043 -8.41992h-32.7803c-3.59961 0 -7.0791 0.759766 -10.2598 2.21973c-4.7998 2.20996 -10.3701 1.70996 -14.1094 -2.03027l-17.5205 -17.5195c-5.26953 -5.27051 -4.66992 -14.2705 1.5498 -18.3799
c9.5 -6.27051 20.3604 -10.1104 31.7803 -11.46v-17.7305c0 -8.83984 7.16016 -16 16 -16h16c8.83984 0 16 7.16016 16 16v17.5596z" />
    <glyph glyph-name="comments-dollar" unicode="&#xf653;" horiz-adv-x="576" 
d="M416 256c0 -88.3701 -93.1201 -160 -208 -160c-40.9805 0 -79.0703 9.24023 -111.27 24.9805c-21.8008 -12.7305 -52.1504 -24.9805 -88.7305 -24.9805l-0.00195312 0.00195312c-4.41309 0 -7.99512 3.58301 -7.99512 7.99512
c0 2.13184 0.835938 4.06934 2.19727 5.50293c0.319336 0.339844 22.4102 24.2803 35.7695 54.5195c-23.8398 26.0303 -37.9697 57.7109 -37.9697 91.9805c0 88.3701 93.1201 160 208 160s208 -71.6299 208 -160zM192 160c0 -4.41992 3.58008 -8 8 -8h16
c4.41992 0 8 3.58008 8 8v16.1201c23.6201 0.629883 42.6699 20.54 42.6699 45.0703c0 19.9697 -12.9902 37.8096 -31.5801 43.3896l-45 13.5c-5.16016 1.54004 -8.76953 6.78027 -8.76953 12.7295c0 7.27051 5.2998 13.1904 11.7998 13.1904h28.1104
c4.55957 0 8.94922 -1.29004 12.8193 -3.71973c3.24023 -2.03027 7.36035 -1.91016 10.1299 0.729492l11.75 11.21c3.53027 3.37012 3.33008 9.20996 -0.569336 12.1406c-9.10059 6.83984 -20.0801 10.7695 -31.3701 11.3496v16.29c0 4.41992 -3.58008 8 -8 8h-16
c-4.41992 0 -8 -3.58008 -8 -8v-16.1201c-23.6201 -0.629883 -42.6699 -20.5498 -42.6699 -45.0703c0 -19.9697 12.9893 -37.8096 31.5801 -43.3896l45 -13.5c5.15918 -1.54004 8.76953 -6.78027 8.76953 -12.7295c0 -7.27051 -5.2998 -13.1904 -11.7998 -13.1904h-28.1104
c-4.55957 0 -8.9502 1.2998 -12.8193 3.71973c-3.24023 2.03027 -7.36035 1.91016 -10.1309 -0.729492l-11.75 -11.21c-3.5293 -3.37012 -3.3291 -9.20996 0.570312 -12.1406c9.10059 -6.83008 20.0801 -10.7695 31.3701 -11.3496v-16.29zM538.01 36.0098
c13.3604 -30.2598 35.4707 -54.1699 35.7803 -54.5c2.20996 -2.33008 2.82031 -5.72949 1.5498 -8.66992c-1.25 -2.92969 -4.13965 -4.83984 -7.33984 -4.83984c-36.5801 0 -66.9297 12.25 -88.7305 24.9805c-32.1992 -15.7402 -70.2891 -24.9805 -111.27 -24.9805
c-86.2305 0 -160.2 40.3701 -191.73 97.8799c10.4102 -1.11035 20.9502 -1.87988 31.7305 -1.87988c132.34 0 240 86.1299 240 192c0 6.78027 -0.469727 13.4697 -1.33008 20.0703c75.8398 -23.8701 129.33 -81.1299 129.33 -148.07
c0 -34.2695 -14.1299 -65.96 -37.9902 -91.9902z" />
    <glyph glyph-name="cross" unicode="&#xf654;" horiz-adv-x="384" 
d="M352 320c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-96v-224c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v224h-96c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h96v96c0 17.6699 14.3301 32 32 32
h64c17.6699 0 32 -14.3301 32 -32v-96h96z" />
    <glyph glyph-name="dharmachakra" unicode="&#xf655;" 
d="M495 222.94c9.20996 0.569336 17 -6.74023 17.0098 -15.9707v-29.9395c0 -9.23047 -7.79004 -16.5498 -17 -15.9707l-17.2197 1.08008c-5.28027 -39.4795 -20.7998 -75.6299 -43.8604 -105.83l12.9502 -11.4297c6.91992 -6.09961 7.25977 -16.7803 0.730469 -23.3096
l-21.1699 -21.1699c-6.52051 -6.52051 -17.2002 -6.19043 -23.3105 0.729492l-11.4297 12.9502c-30.2002 -23.0703 -66.3506 -38.5898 -105.84 -43.8604l1.08008 -17.2197c0.569336 -9.20996 -6.74023 -17 -15.9707 -17h-29.9395c-9.23047 0 -16.5498 7.79004 -15.9707 17
l1.09082 17.2197c-39.4902 5.28027 -75.6406 20.7998 -105.841 43.8604l-11.4297 -12.9502c-6.09961 -6.91992 -16.7803 -7.25977 -23.3096 -0.729492l-21.1699 21.1699c-6.52051 6.51953 -6.19043 17.1992 0.729492 23.3096l12.9502 11.4297
c-23.0703 30.1904 -38.5898 66.3408 -43.8604 105.83l-17.2197 -1.08008c-9.20996 -0.569336 -17 6.74023 -17 15.9707v29.9395c0 9.23047 7.79004 16.5498 17 15.9707l17.2197 -1.08008c5.28027 39.4893 20.7998 75.6396 43.8604 105.84l-12.9502 11.4297
c-6.91992 6.10059 -7.25977 16.7803 -0.729492 23.3105l21.1699 21.1592c6.51953 6.52051 17.1992 6.19043 23.3096 -0.729492l11.4297 -12.9502c30.1904 23.0703 66.3408 38.5898 105.83 43.8604l-1.08008 17.2197c-0.569336 9.20996 6.74023 17 15.9707 17h29.9395
c9.23047 0 16.5498 -7.79004 15.9707 -17l-1.07031 -17.21c39.4795 -5.28027 75.6299 -20.7998 105.83 -43.8604l11.4297 12.9404c6.10059 6.91992 16.7803 7.25977 23.3105 0.729492l21.1592 -21.1592c6.52051 -6.52051 6.19043 -17.2002 -0.729492 -23.3105
l-12.9502 -11.4297c23.0703 -30.2002 38.5898 -66.3506 43.8604 -105.84zM281.84 349.39l-4.00977 -64.1201c10.2998 -2.40918 19.8896 -6.50977 28.6201 -11.9492l42.6201 48.29c-19.6006 14.1201 -42.4199 23.71 -67.2305 27.7793zM230.16 349.39
c-24.8105 -4.06934 -47.6299 -13.6592 -67.2305 -27.7793l42.6201 -48.29c8.73047 5.42969 18.3301 9.54004 28.6201 11.9492zM126.39 285.06c-14.1201 -19.5996 -23.71 -42.4092 -27.7793 -67.2197l64.1201 -4.00977c2.41992 10.29 6.51953 19.8896 11.96 28.6201z
M98.6104 166.16c4.06934 -24.8105 13.6592 -47.6299 27.7793 -67.2305l48.29 42.6201c-5.42969 8.73047 -9.54004 18.3301 -11.9492 28.6201zM230.16 34.6104l4 64.1201c-10.29 2.41992 -19.8906 6.51953 -28.6201 11.96l-42.6104 -48.3008
c19.6006 -14.1201 42.4199 -23.71 67.2305 -27.7793zM256 160c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM281.84 34.6104c24.8105 4.06934 47.6201 13.6592 67.2197 27.7793l-42.6094 48.3008
c-8.73047 -5.44043 -18.3301 -9.55078 -28.6201 -11.96zM385.61 98.9404c14.1201 19.5898 23.71 42.4092 27.7793 67.2295l-64.1201 4.00977c-2.40918 -10.2998 -6.50977 -19.8896 -11.9492 -28.6201zM349.27 213.83l64.1201 4
c-4.06934 24.8096 -13.6592 47.6299 -27.7793 67.2295l-48.3008 -42.6094c5.44043 -8.73047 9.55078 -18.3301 11.96 -28.6201z" />
    <glyph glyph-name="envelope-open-text" unicode="&#xf658;" 
d="M176 232c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h160c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16h-160zM160 152v16c0 8.83984 7.16016 16 16 16h160c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16
h-160c-8.83984 0 -16 7.16016 -16 16zM256 30.8701c16.4199 0 32.8398 5.07031 46.8604 15.1895l209.14 151.08v-213.14c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v213.14l209.14 -151.08c14.0205 -10.1299 30.4404 -15.1895 46.8604 -15.1895z
M493.61 285.05c11.6094 -9.09961 18.3896 -23.0303 18.3896 -37.7695v-10.6504l-96 -69.3496v184.72h-320v-184.72l-96 69.3496v10.6504c0.00195312 15.3359 7.17676 28.9824 18.3896 37.7695c8.85059 6.94043 17.2402 13.4805 29.6104 22.8105v44.1396
c0 26.5098 21.4902 48 48 48h77.5498c3.04004 2.2002 5.87012 4.25977 9.04004 6.55957c16.8203 12.2705 50.21 41.79 73.4102 41.4404c23.2002 0.349609 56.5996 -29.1699 73.4102 -41.4404c3.16992 -2.2998 6 -4.35938 9.04004 -6.55957h77.5498
c26.5098 0 48 -21.4902 48 -48v-44.1396c12.3701 -9.34082 20.7598 -15.8701 29.6104 -22.8105z" />
    <glyph glyph-name="folder-minus" unicode="&#xf65d;" 
d="M464 320c26.5098 0 48 -21.4902 48 -48v-224c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h160l64 -64h192zM368 152v16c0 8.83984 -7.16016 16 -16 16h-192c-8.83984 0 -16 -7.16016 -16 -16v-16
c0 -8.83984 7.16016 -16 16 -16h192c8.83984 0 16 7.16016 16 16z" />
    <glyph glyph-name="folder-plus" unicode="&#xf65e;" 
d="M464 320c26.4922 0 48 -21.5078 48 -48v-224c0 -26.4922 -21.5078 -48 -48 -48h-416c-26.4922 0 -48 21.5078 -48 48v288c0 26.4922 21.5078 48 48 48h160l64 -64h192zM359.5 152v16c0 8.83105 -7.16895 16 -16 16h-64v64c0 8.83105 -7.16895 16 -16 16h-16
c-8.83105 0 -16 -7.16895 -16 -16v-64h-64c-8.83105 0 -16 -7.16895 -16 -16v-16c0 -8.83105 7.16895 -16 16 -16h64v-64c0 -8.83105 7.16895 -16 16 -16h16c8.83105 0 16 7.16895 16 16v64h64c8.83105 0 16 7.16895 16 16z" />
    <glyph glyph-name="funnel-dollar" unicode="&#xf662;" horiz-adv-x="640" 
d="M433.46 282.06c-83.4102 -20.8896 -145.46 -96.2695 -145.46 -186.06c0 -54.3496 22.7998 -103.38 59.21 -138.35c-10.75 -20.54 -38.3604 -29.21 -59.2197 -13.5703l-79.9902 60c-10.0703 7.55957 -16 19.4102 -16 32v155.92l-182.66 201.93
c-19.9502 19.9502 -5.82031 54.0703 22.4004 54.0703h480.52c28.2207 0 42.3506 -34.1201 22.4004 -54.0703zM480 256c88.3701 0 160 -71.6299 160 -160s-71.6299 -160 -160 -160s-160 71.6299 -160 160s71.6299 160 160 160zM496 16.1201
c23.6299 0.629883 42.6699 20.54 42.6699 45.0703c0 19.9697 -12.9902 37.8096 -31.5801 43.3896l-45 13.5c-5.16016 1.54004 -8.76953 6.78027 -8.76953 12.7295c0 7.27051 5.2998 13.1904 11.7998 13.1904h28.1104c4.55957 0 8.94922 -1.29004 12.8193 -3.71973
c3.24023 -2.03027 7.36035 -1.91016 10.1299 0.729492l11.75 11.21c3.53027 3.37012 3.33008 9.20996 -0.569336 12.1406c-9.10059 6.83984 -20.0801 10.7695 -31.3701 11.3496v16.29c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-16.1201
c-23.6201 -0.629883 -42.6699 -20.5498 -42.6699 -45.0703c0 -19.9697 12.9893 -37.8096 31.5801 -43.3896l45 -13.5c5.15918 -1.54004 8.76953 -6.78027 8.76953 -12.7295c0 -7.27051 -5.2998 -13.1904 -11.7998 -13.1904h-28.1104
c-4.55957 0 -8.9502 1.2998 -12.8193 3.71973c-3.24023 2.03027 -7.36035 1.91016 -10.1309 -0.729492l-11.75 -11.21c-3.5293 -3.37012 -3.3291 -9.20996 0.570312 -12.1406c9.10059 -6.83008 20.0801 -10.7695 31.3701 -11.3496v-16.29c0 -4.41992 3.58008 -8 8 -8h16
c4.41992 0 8 3.58008 8 8v16.1201z" />
    <glyph glyph-name="gopuram" unicode="&#xf664;" 
d="M496 96c8.7998 0 16 -7.2002 16 -16v-128c0 -8.7998 -7.2002 -16 -16 -16h-80v160h-32v128h-32v96h-32v-96h32v-128h32v-160h-80v80c0 8.7998 -7.2002 16 -16 16h-64c-8.7998 0 -16 -7.2002 -16 -16v-80h-80v160h32v128h32v96h-32v-96h-32v-128h-32v-160h-80
c-8.7998 0 -16 7.2002 -16 16v128c0 8.7998 7.2002 16 16 16h16v112c0 8.7998 7.2002 16 16 16h16v80c0 8.7998 7.2002 16 16 16h16v112c0 8.7998 7.2002 16 16 16s16 -7.2002 16 -16v-16h64v16c0 8.7998 7.2002 16 16 16s16 -7.2002 16 -16v-16h64v16
c0 8.7998 7.2002 16 16 16s16 -7.2002 16 -16v-16h64v16c0 8.7998 7.2002 16 16 16s16 -7.2002 16 -16v-112h16c8.7998 0 16 -7.2002 16 -16v-80h16c8.7998 0 16 -7.2002 16 -16v-112h16zM232 272v-48h48v48c0 8.7998 -7.2002 16 -16 16h-16c-8.7998 0 -16 -7.2002 -16 -16z
M288 96v64c0 8.7998 -7.2002 16 -16 16h-32c-8.7998 0 -16 -7.2002 -16 -16v-64h64z" />
    <glyph glyph-name="hamsa" unicode="&#xf665;" 
d="M509.34 140.75c1.70117 -3.9043 2.65918 -8.24805 2.65918 -12.7764c0 -8.42383 -3.26562 -16.0908 -8.59863 -21.8037l-102.681 -110.03c-35.6895 -38.2197 -88.4102 -60.1396 -144.72 -60.1396s-109.03 21.9199 -144.71 60.1396l-102.69 110.03
c-5.33301 5.71289 -8.58398 13.4141 -8.58398 21.8379c0 4.52832 0.943359 8.83789 2.64453 12.7422c5.05957 11.6904 16.5898 19.25 29.3398 19.25h64v208c0 22 18 40 40 40s40 -18 40 -40v-134c0 -5.51953 4.48047 -10 10 -10h20c5.51953 0 10 4.48047 10 10v174
c0 22 18 40 40 40s40 -18 40 -40v-174c0 -5.51953 4.48047 -10 10 -10h20c5.51953 0 10 4.48047 10 10v134c0 22 18 40 40 40s40 -18 40 -40v-208h64c12.75 0 24.2803 -7.55957 29.3398 -19.25zM256 32c53.0195 0 96 64 96 64s-42.9805 64 -96 64s-96 -64 -96 -64
s42.9805 -64 96 -64zM256 128c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32z" />
    <glyph glyph-name="bahai" unicode="&#xf666;" 
d="M496.25 245.48c17.54 -2.46094 21.6797 -26.2705 6.04004 -34.6602l-98.1602 -52.6602l74.4805 -83.54c11.8594 -13.29 0.00976562 -34.25 -17.3506 -30.4902l-108.569 23.6504l4.10938 -112.55c0.430664 -11.6504 -8.87012 -19.2207 -18.4102 -19.2207
c-5.15918 0 -10.3896 2.20996 -14.1992 7.18066l-68.1807 88.8994l-68.1797 -88.8994c-3.81055 -4.9707 -9.0498 -7.18066 -14.2002 -7.18066c-9.54004 0 -18.8398 7.57031 -18.4102 19.2207l4.11035 112.55l-108.57 -23.6504
c-1.39941 -0.30957 -2.75977 -0.450195 -4.06934 -0.450195c-15.0107 0 -24.21 18.6807 -13.29 30.9307l74.4795 83.54l-98.1602 52.6592c-15.6494 8.40039 -11.5098 32.21 6.03027 34.6709l110 15.4297l-41.8203 104.34c-6.66016 16.6396 11.6006 32.1797 26.5898 22.6299
l94.04 -59.8896l34.0908 107.189c2.70996 8.55078 10.0293 12.8203 17.3496 12.8203s14.6396 -4.26953 17.3496 -12.8203l34.0908 -107.18l94.04 59.8896c14.9893 9.55078 33.2598 -5.98926 26.5898 -22.6299l-41.8203 -104.34zM338.51 136.32l-35.6094 39.9297
l46.9199 25.1699l-52.5703 7.37988l19.9902 49.8701l-44.9502 -28.6201l-16.29 51.2305l-16.3096 -51.2305l-44.9502 28.6201l19.9902 -49.8701l-52.5703 -7.37988l46.9199 -25.1699l-35.5996 -39.9297l51.8896 11.2998l-1.95996 -53.79l32.5898 42.4902l32.5898 -42.4902
l-1.96973 53.79z" />
    <glyph glyph-name="jedi" unicode="&#xf669;" horiz-adv-x="576" 
d="M535.953 96c-42.6406 -94.1719 -137.641 -160 -247.984 -160c-4.26562 0 -8.54688 0.0986328 -12.8447 0.296875c-103.969 4.76562 -193.859 69.4688 -235.109 159.703h39.9219l-58.6094 58.5938c-2.65332 12.8242 -4.38672 25.9951 -5.10938 39.4219
c-0.133789 3.5166 -0.202148 7.05078 -0.202148 10.5996c0 6.65527 0.234375 12.8477 0.702148 19.3848h47.2188l-41.3906 41.375c14.7842 66.6123 53.959 124.015 107.969 162.078c2.61426 1.87109 5.82812 2.98535 9.28125 3
c5.62793 -0.03125 10.5791 -2.89355 13.5 -7.25c1.76367 -2.57422 2.7959 -5.68848 2.7959 -9.04199c0 -2.13086 -0.414062 -4.19141 -1.1709 -6.05176c-6.31445 -15.834 -9.84375 -33.1904 -9.84375 -51.2656c0 -45.1094 21.0469 -86.5781 57.7188 -113.734
c4.07324 -2.96484 6.72266 -7.76855 6.72266 -13.1865c0 -4.86133 -2.13965 -9.2168 -5.51953 -12.2041c-26.5469 -23.9844 -41.1719 -56.5 -41.1719 -91.5781c0 -60.0312 42.9531 -110.281 99.8906 -121.922l2.5 65.2656l-27.1562 -18.4844
c-1.29688 -0.832031 -2.83887 -1.31445 -4.49219 -1.31445c-2.10352 0 -4.04004 0.777344 -5.50781 2.06445c-1.55078 1.46387 -2.51953 3.53809 -2.51953 5.83691c0 1.49414 0.416992 2.90234 1.12891 4.10059l20.125 33.7656l-42.0625 8.73438
c-3.64062 0.744141 -6.38379 3.96777 -6.38379 7.82812s2.74316 7.08398 6.38379 7.82812l42.0625 8.71875l-20.1094 33.7344c-0.724609 1.20312 -1.1416 2.61133 -1.1416 4.11719c0 4.41016 3.58105 7.99121 7.99121 7.99121c1.67188 0 3.22656 -0.510742 4.50977 -1.38965
l30.3906 -20.6562l11.5166 287.969c0.15918 4.25879 3.66797 7.66699 7.96484 7.66699c0.0117188 0 0.0234375 0.00488281 0.0351562 0.00488281h0.046875c4.29004 -0.0332031 7.78418 -3.44629 7.95312 -7.70312l11.5312 -287.922l30.3906 20.6719
c1.28223 0.855469 2.82227 1.35449 4.47852 1.35449c2.12793 0 4.07715 -0.820312 5.52148 -2.16699c1.54785 -1.45898 2.51465 -3.52832 2.51465 -5.82129c0 -1.48828 -0.415039 -2.89062 -1.12402 -4.08496l-20.1406 -33.7656l42.0781 -8.73438
c3.63379 -0.750977 6.36914 -3.97266 6.36914 -7.82812s-2.73535 -7.07715 -6.36914 -7.82812l-42.0781 -8.71875l20.1094 -33.7344c0.730469 -1.20508 1.15039 -2.61719 1.15039 -4.12793c0 -2.27637 -0.947266 -4.33984 -2.47852 -5.79395
c-1.46484 -1.32227 -3.4043 -2.12793 -5.53125 -2.12793c-1.6543 0 -3.20801 0.492188 -4.5 1.33105l-27.1719 18.4688l2.5 -65.3438c48.4844 9.40625 87.5781 48.1562 97.3125 96.5c1.68066 8.11816 2.56445 16.5254 2.56445 25.1387
c0 36.5547 -15.8574 69.3145 -41.127 91.9395c-3.38867 2.98926 -5.52734 7.3623 -5.52734 12.2314c0 5.42578 2.64844 10.2256 6.73047 13.1904c36.6562 27.1719 57.6875 68.6094 57.6875 113.734v0.0859375c0 18.0664 -3.53613 35.4062 -9.85938 51.2266
c-0.763672 1.86523 -1.18555 3.90625 -1.18555 6.0459c0 3.34668 1.0332 6.47949 2.79492 9.04785c2.9248 4.35059 7.875 7.20605 13.5 7.23438c3.44043 -0.0136719 6.64355 -1.12305 9.25 -2.98438c53.9287 -38.2227 93.0518 -95.6611 107.906 -162.281l-41.25 -41.2344
h46.9531c0.359375 -5.76562 1.04688 -11.4531 1.04688 -17.2656c-0.0332031 -17.8086 -1.7959 -35.0137 -5.125 -51.8594l-58.8906 -58.875h39.9688z" />
    <glyph glyph-name="journal-whills" unicode="&#xf66a;" horiz-adv-x="448" 
d="M438.406 70.4062c-3.20312 -12.8125 -3.20312 -57.6094 0 -73.6094c6.39062 -6.39062 9.58887 -12.792 9.59375 -19.2031v-16c0 -16 -12.7969 -25.5938 -25.5938 -25.5938h-326.406c-54.4062 0 -96 41.5938 -96 96v320c0 54.4062 41.5938 96 96 96h326.406
c16 0 25.5938 -9.59375 25.5938 -25.5938v-332.812c0 -9.59375 -3.19824 -15.9893 -9.59375 -19.1875zM380.797 64h-284.797c-16 0 -32 -12.7969 -32 -32s12.7969 -32 32 -32h284.797v64zM128.016 271.984c0 -0.515625 0.140625 -0.984375 0.140625 -1.5l37.1094 -32.4688
c1.67383 -1.4668 2.73047 -3.62012 2.73047 -6.01758c0 -4.41309 -3.58398 -7.99414 -7.99609 -7.99805h-0.015625c-1.97363 0.0996094 -3.79785 0.828125 -5.25 1.98438l-23.5938 20.6406c11.5469 -49.5781 55.7656 -86.625 108.859 -86.625
s97.3125 37.0469 108.875 86.625l-23.5938 -20.6406c-1.40918 -1.22461 -3.25391 -1.96875 -5.26562 -1.96875h-0.015625c-2.34766 0.129883 -4.46777 1.14551 -6.01562 2.71875c-1.1543 1.45996 -1.88184 3.28809 -1.98438 5.26562
c0.128906 2.35059 1.15137 4.47266 2.73438 6.01562l37.1094 32.4688c0.015625 0.53125 0.15625 1 0.15625 1.51562c0 11.0469 -2.09375 21.5156 -5.0625 31.5938l-21.2656 -21.25c-1.44922 -1.4502 -3.45117 -2.34863 -5.66211 -2.34863
c-4.41797 0 -8.00488 3.58691 -8.00488 8.00488c0 2.20605 0.892578 4.20801 2.33887 5.65625l26.4219 26.4062c-10.0342 20.8945 -26.1904 38.0244 -46.3594 49.2656c6.05371 -9.67676 9.55469 -21.1123 9.55469 -33.3584c0 -19.916 -9.17383 -37.7295 -23.6172 -49.2822
c9.69336 -10.0459 15.6592 -23.7119 15.6592 -38.7598c0 -26.875 -19.0703 -49.3535 -44.3779 -54.6621l-1.42188 34.2812l12.6719 -8.625c0.635742 -0.432617 1.40234 -0.685547 2.22852 -0.685547c0.00585938 0 0.015625 -0.00195312 0.0214844 -0.00195312h0.0263672
c2.19727 0 3.98047 1.7832 3.98047 3.98047c0 0.748047 -0.209961 1.45215 -0.569336 2.05078l-8.53125 14.3125l17.9062 3.71875c1.81738 0.379883 3.18457 1.99219 3.18457 3.92188s-1.36719 3.54199 -3.18457 3.92188l-17.9062 3.71875l8.53125 14.3125
c0.359375 0.598633 0.566406 1.29883 0.566406 2.04688c0 2.19629 -1.7832 3.98047 -3.98047 3.98047c-0.00878906 0 -0.0146484 0.00390625 -0.0234375 0.00390625c-0.817383 -0.0322266 -1.58984 -0.275391 -2.25 -0.671875l-14.1875 -9.65625l-4.6875 112.297
c-0.09375 2.12695 -1.84961 3.8252 -4 3.8252s-3.90625 -1.69824 -4 -3.8252l-4.625 -110.812l-12 8.15625c-0.639648 0.43457 -1.41211 0.688477 -2.24316 0.688477c-2.20996 0 -4.00293 -1.79395 -4.00293 -4.00391c0 -0.745117 0.203125 -1.44629 0.558594 -2.04395
l8.53125 -14.3125l-17.9062 -3.71875c-1.81738 -0.375977 -3.18457 -1.98633 -3.18457 -3.91406s1.36719 -3.53809 3.18457 -3.91406l17.9062 -3.73438l-8.53125 -14.2969c-0.330078 -0.611328 -0.532227 -1.31152 -0.5625 -2.04688
c0.0615234 -1.12109 0.525391 -2.14062 1.25 -2.90625c0.717773 -0.677734 1.68652 -1.09277 2.75 -1.09375c0.830078 0.00390625 1.60645 0.257812 2.25 0.6875l10.3594 7.04688l-1.35938 -32.7188c-25.3086 5.31836 -44.335 27.79 -44.335 54.6709
c0 15.0518 5.92285 28.7324 15.6162 38.7822c-14.4434 11.5508 -23.7012 29.3193 -23.7012 49.2334c0 12.2559 3.59082 23.7412 9.6543 33.4229c-20.1709 -11.2451 -36.3311 -28.374 -46.375 -49.2656l26.4219 -26.4219c1.43945 -1.44727 2.33008 -3.44043 2.33008 -5.64062
c0 -4.41504 -3.58496 -8 -7.99902 -8c-2.2002 0 -4.19629 0.888672 -5.64355 2.32812l-21.2656 21.2656c-2.98438 -10.0938 -5.07812 -20.5625 -5.0625 -31.625z" />
    <glyph glyph-name="kaaba" unicode="&#xf66b;" horiz-adv-x="576" 
d="M554.12 364.49c13.0703 -4.36035 21.8799 -16.5898 21.8799 -30.3604v-49.0098l-265 79.5098c-15.0596 4.5 -30.9502 4.5 -45.9805 0l-265.02 -79.5098v49.0098c0.000976562 14.1279 9.16992 26.1211 21.8799 30.3604l235.771 78.5801
c9.53711 3.17969 19.7705 4.90234 30.3711 4.90234c10.5996 0 20.8008 -1.72266 30.3389 -4.90234zM274.22 333.97c9 2.7207 18.5498 2.7207 27.5898 0l274.2 -82.2598v-228.39c0 -15 -10.4199 -27.9902 -25.0596 -31.2402l-242.12 -53.7998
c-6.72461 -1.49512 -13.5928 -2.28418 -20.7646 -2.28418s-14.1611 0.789062 -20.8857 2.28418l-242.12 53.7998c-14.6396 3.25977 -25.0596 16.2402 -25.0596 31.2402v228.38zM128 217.89v16.5801c0 5.28027 -5.01953 9.11035 -10.1104 7.7207l-80 -21.8203
c-3.47949 -0.950195 -5.88965 -4.11035 -5.88965 -7.71973v-16.5801c0 -5.27051 5.01953 -9.10059 10.1104 -7.7207l80 21.8203c3.47949 0.950195 5.88965 4.11035 5.88965 7.71973zM272 257.17v16.5801c0 5.28027 -5.01953 9.11035 -10.1104 7.71973l-96 -26.1797
c-3.47949 -0.950195 -5.88965 -4.11035 -5.88965 -7.71973v-16.5801c0 -5.28027 5.01953 -9.11035 10.1104 -7.7207l96 26.1807c3.47949 0.950195 5.88965 4.10938 5.88965 7.71973zM448 234.47v-16.5801c0 -0.00195312 0.00195312 -0.00195312 0.00195312 -0.00390625
c0 -3.68359 2.49609 -6.78906 5.8877 -7.71582l80 -21.8203c5.09082 -1.38965 10.1104 2.44043 10.1104 7.7207v16.5801c0 3.60938 -2.41016 6.76953 -5.88965 7.71973l-80 21.8203c-5.09082 1.38965 -10.1104 -2.44043 -10.1104 -7.7207zM304 273.74v-16.5801
c0 -0.00195312 0.00195312 -0.00292969 0.00195312 -0.00488281c0 -3.68359 2.49609 -6.78906 5.8877 -7.71484l96 -26.1807c5.09082 -1.38965 10.1104 2.44043 10.1104 7.7207v16.5791c0 3.61035 -2.41016 6.77051 -5.88965 7.7207l-96 26.1797
c-5.09082 1.38965 -10.1104 -2.44043 -10.1104 -7.71973z" />
    <glyph glyph-name="khanda" unicode="&#xf66d;" 
d="M415.81 382c73.71 -40.2402 111.78 -123.85 90.1602 -207.51c-7.25 -28.0898 -22.3799 -53.5703 -41.25 -75.5898l-52.5098 -61.3105c-4.87012 -5.67969 -13.04 -7.22949 -19.6504 -3.70996l-79.3496 42.2305l-29.21 -20.3408l47.0801 -32.7793
c1.66992 0.370117 3.22949 1.00977 5.00977 1.00977c13.25 0 23.9902 -10.7402 23.9902 -24c0 -13.25 -10.7402 -24 -23.9902 -24c-12.0898 0 -21.6797 9.11035 -23.3301 20.7598l-40.9102 28.4805v-30.1504c9.38086 -5.58008 15.9902 -15.3896 15.9902 -27.0996
c0 -17.6699 -14.3203 -32 -31.9795 -32c-17.6602 0 -31.9805 14.3301 -31.9805 32c0 11.7197 6.60059 21.5293 15.9902 27.0996v29.9502l-40.6299 -28.2803c-1.64062 -11.6494 -11.2305 -20.7598 -23.3301 -20.7598c-13.25 0 -23.9902 10.75 -23.9902 24
c0 13.2598 10.7402 24 23.9902 24c1.78027 0 3.33984 -0.639648 5.00977 -1.00977l47.0801 32.7793l-29.21 20.3301l-79.3496 -42.2295c-6.61035 -3.52051 -14.7803 -1.96973 -19.6504 3.71973l-55.9697 65.3604c-12.5703 14.6797 -23.3906 31.0693 -30.46 49.0596
c-35.6602 90.6904 2.95996 186.391 81.4893 229.24c6.34082 3.5 15.0205 2.63965 20.0205 -2.7002c4.99023 -5.30957 6.45996 -12.9199 2.58984 -19.0801c-16.4902 -26.1602 -25.2002 -56.3896 -25.2002 -87.4697c0.180664 -53.1904 26.7598 -102.62 71.0303 -132.18
l76.5898 -53.3301v19.8994l-44.0498 36.0908c-3.91016 4.20996 -5 10.0996 -2.81055 15.2793l7.85059 17.2402c-33.8506 19.2598 -56.9404 55.2402 -56.9404 96.9902c0 40.79 22.0205 76.1396 54.5898 95.7197l-5.21973 11.4404
c-2.33008 5.5293 -0.929688 11.8301 3.57031 16.04l58.9902 52.8096l58.9893 -52.8203c4.5 -4.20996 5.91016 -10.5098 3.57031 -16.04l-5.21973 -11.4395c32.5693 -19.5801 54.5898 -54.9199 54.5898 -95.71c0 -41.7402 -23.0996 -77.7305 -56.9404 -96.9902
l7.85059 -17.2402c2.18945 -5.18945 1.10938 -11.0801 -2.81055 -15.2793l-44.0498 -36.0908v-20.0996l76.6299 53.3496c44.5 29.7207 71.0801 79.1602 71.2705 132.41c0 31.0205 -8.70996 61.25 -25.2002 87.4102c-1.55762 2.46582 -2.46973 5.40723 -2.46973 8.53613
c0 4.25293 1.66602 8.12012 4.37988 10.9844c4.99023 5.34961 12.9902 6.51953 19.3594 3.01953zM319.82 272c0 21.3203 -10.5801 40.1201 -26.6504 51.7695l-7.83008 -17.1797c-8.75 -24.5195 -8.75 -51.04 0 -75.5596l5.65039 -12.4102
c17.3398 11.46 28.8301 31.0801 28.8301 53.3799zM191.89 272c0 -22.2998 11.5 -41.9297 28.8408 -53.3896l5.64941 12.4092c8.75 24.5303 8.75 51.04 0 75.5605l-7.83008 17.1797c-16.0801 -11.6396 -26.6602 -30.4395 -26.6602 -51.7598z" />
    <glyph glyph-name="landmark" unicode="&#xf66f;" 
d="M501.62 355.89c6.24023 -2.33984 10.3799 -8.30957 10.3799 -14.9795v-36.9102c0 -8.83984 -7.16016 -16 -16 -16h-480c-8.83984 0 -16 7.16016 -16 16v36.9102c0.000976562 6.85547 4.31445 12.7041 10.3799 14.9795l234.39 90.0703
c3.49219 1.31152 7.30176 2.02832 11.25 2.02832c3.94727 0 7.72852 -0.716797 11.2207 -2.02832zM64 256h64v-160h96v160h64v-160h96v160h64v-160h16c8.83984 0 16 -7.16016 16 -16v-48h-448v48c0 8.83984 7.16016 16 16 16h16v160zM496 0c8.83984 0 16 -7.16016 16 -16
v-32c0 -8.83984 -7.16016 -16 -16 -16h-480c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h480z" />
    <glyph glyph-name="mail-bulk" unicode="&#xf674;" horiz-adv-x="576" 
d="M160 0c25.5996 0 51.2002 22.4004 64 32c64 44.7998 83.2002 60.7998 96 70.4004v-134.4c0 -17.6699 -14.3301 -32 -32 -32h-256c-17.6699 0 -32 14.3301 -32 32v134.4c12.7998 -9.60059 32 -25.6006 96 -70.4004c12.7998 -9.59961 38.4004 -32 64 -32zM288 192
c17.6699 0 32 -14.3301 32 -32v-19.2002c-25.5996 -19.2002 -22.4004 -19.2002 -115.2 -86.3994c-9.59961 -3.2002 -28.7998 -22.4004 -44.7998 -22.4004s-35.2002 19.2002 -44.7998 25.5996c-92.7998 67.2002 -89.6006 67.2002 -115.2 86.4004v16
c0 17.6699 14.3301 32 32 32h256zM544 288c17.6699 0 32 -14.3301 32 -32v-192c0 -17.6699 -14.3301 -32 -32 -32h-192v134.4l-0.290039 -0.220703c-3.12012 32.4004 -30.5 57.8203 -63.71 57.8203h-96v32c0 17.6699 14.3301 32 32 32h320zM512 160v64h-64v-64h64zM160 256
v-32h-96v192c0 17.6699 14.3301 32 32 32h320c17.6699 0 32 -14.3301 32 -32v-96h-224c-35.29 0 -64 -28.71 -64 -64z" />
    <glyph glyph-name="menorah" unicode="&#xf676;" horiz-adv-x="640" 
d="M144 320c8.83984 0 16 -7.16016 16 -16v-144h-64v144c0 8.83984 7.16016 16 16 16h32zM240 320c8.83984 0 16 -7.16016 16 -16v-144h-64v144c0 8.83984 7.16016 16 16 16h32zM432 320c8.83984 0 16 -7.16016 16 -16v-144h-64v144c0 8.83984 7.16016 16 16 16h32zM528 320
c8.83984 0 16 -7.16016 16 -16v-144h-64v144c0 8.83984 7.16016 16 16 16h32zM608 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64s-14.3301 -32 -32 -32zM512 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64s-14.3301 -32 -32 -32
zM416 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64s-14.3301 -32 -32 -32zM320 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64s-14.3301 -32 -32 -32zM224 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64
s-14.3301 -32 -32 -32zM128 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64s-14.3301 -32 -32 -32zM32 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64s-14.3301 -32 -32 -32zM576 160v144c0 8.83984 7.16016 16 16 16h32
c8.83984 0 16 -7.16016 16 -16v-144c0 -53.0195 -42.9805 -96 -96 -96h-192v-64h176c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-416c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h176v64h-192c-53.0195 0 -96 42.9805 -96 96
v144c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-144c0 -17.6699 14.3301 -32 32 -32h192v176c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-176h192c17.6699 0 32 14.3301 32 32z" />
    <glyph glyph-name="mosque" unicode="&#xf678;" horiz-adv-x="640" 
d="M0 -32v320h128v-320c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32zM579.16 160h-358.32c-17.8594 17.3896 -28.8398 37.3398 -28.8398 58.9102c0 52.8594 41.79 93.79 87.9199 122.899c41.9502 26.46 80.6299 57.7705 111.96 96.2207
l8.12012 9.96973l8.12012 -9.96973c31.3301 -38.4502 70.0195 -69.75 111.96 -96.2207c46.1299 -29.1094 87.9199 -70.04 87.9199 -122.899c0 -21.5703 -10.9805 -41.5205 -28.8398 -58.9102zM608 128c17.6699 0 32 -14.3301 32 -32v-128c0 -17.6699 -14.3301 -32 -32 -32
h-32v64c0 17.6699 -14.3301 32 -32 32s-32 -14.3301 -32 -32v-64h-64v72c0 48 -48 72 -48 72s-48 -24 -48 -72v-72h-64v64c0 17.6699 -14.3301 32 -32 32s-32 -14.3301 -32 -32v-64h-32c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32h416zM64 448
c0 0 64 -32 64 -96v-32h-128v32c0 64 64 96 64 96z" />
    <glyph glyph-name="om" unicode="&#xf679;" 
d="M360.6 387.06l-21.5801 21.5605c-1.89062 1.88867 -3.06055 4.50098 -3.06055 7.38086c0 2.88086 1.16992 5.49023 3.06055 7.37891l21.5703 21.5605c4.08008 4.06934 10.6797 4.06934 14.7598 0l21.5801 -21.5605c1.8916 -1.88867 3.06152 -4.50098 3.06152 -7.38086
c0 -2.88086 -1.16992 -5.49023 -3.06152 -7.37891l-21.5693 -21.5605c-1.88867 -1.89062 -4.50098 -3.06055 -7.38184 -3.06055s-5.49023 1.16992 -7.37891 3.06055zM412.11 256c55.0898 0 99.8896 -44.7998 99.8896 -99.8799v-100.12c0 -48.5303 -47.4805 -88 -96.0195 -88
c-96.0205 0 -96.0205 64 -96.0205 64v37.8701c0 7.55957 9.42969 10.8896 14.2002 5.01953c15.1494 -18.6494 42.4199 -42.8896 81.8203 -42.8896c13.2393 0 32.0098 10.7695 32.0098 24v100.12c0 19.79 -16.1006 35.8799 -35.8799 35.8799
c-9.60059 0 -18.6006 -3.73047 -25.3799 -10.5l-24.25 -24.25c-18.8701 -18.8604 -43.9502 -29.25 -70.6406 -29.25h-21.6895c11.0293 -18.9004 17.8096 -40.5801 17.8096 -64c0 -70.5801 -57.4297 -128 -128.02 -128c-118.811 0 -160.03 96 -159.94 150.81
c0.0195312 8.80078 10.2598 12.7705 14.79 5.2207c22.7998 -38.0107 49.1299 -92.0303 145.15 -92.0303c35.2998 0 64.0098 28.7002 64.0098 64s-28.71 64 -64.0098 64h-33.0303c-5.57031 0.450195 -10.6406 3.49023 -13.1699 8.5498l-16.0898 32.1699
c-5.35059 10.7002 2.42969 23.2803 14.3896 23.2803h31.9004c26.4697 0 48.0098 21.5303 48.0098 48s-21.54 48 -48.0098 48c-11.25 0 -21.8203 -3.80957 -30.2705 -10.71c-5.54004 -4.53027 -13.4795 -4.50977 -19.2002 -0.209961l-26.1494 19.6299
c-8.08984 6.08008 -8.48047 17.9697 -1.12012 24.9297c25.1094 23.7402 59.8594 34.71 96.0098 28.7803c43.1602 -7.08008 79.4199 -40.6396 89.5205 -83.1895c6.43945 -27.1201 2.80957 -53.1309 -7.73047 -75.2305h46.8398c9.60059 0 18.6006 3.73047 25.3799 10.5
l24.25 24.25c18.8701 18.8604 43.9502 29.25 70.6406 29.25zM454.29 380.73c10.5596 7.95996 25.7002 0.489258 25.7002 -12.7305v-35.5195c0 -2.36035 -0.509766 -4.71094 -1.53027 -6.83008c-2.96973 -6.30078 -21.8301 -37.6602 -101.75 -37.6602
c-78.4297 0 -117.19 69.3896 -118.8 72.3398c-3.61035 6.62988 -2.08008 14.8799 3.66016 19.7998c5.69922 4.92969 14.1201 5.16992 20.1396 0.549805c3.53027 -2.69922 87.0303 -65.0693 172.58 0.0507812z" />
    <glyph glyph-name="pastafarianism" unicode="&#xf67b;" horiz-adv-x="640" 
d="M624.54 100.33c12.4004 -4.71973 18.5996 -18.5801 13.8896 -30.9805c-4.69922 -12.4092 -18.5801 -18.6299 -30.9697 -13.8799c-8.11035 3.08984 -14.3398 0.19043 -31.3896 -11.3594c-13.5508 -9.15039 -30.8301 -20.8408 -52.4199 -20.8408
c-7.16992 0 -14.8301 1.28027 -22.9707 4.39062c-32.6602 12.4395 -39.9893 41.3301 -45.3301 62.4395c-2.20996 8.7207 -3.98926 14.4902 -5.94922 18.8701c-16.6201 -13.5996 -36.9307 -25.8701 -61.6201 -34.1602c10.0098 -37 32.2793 -90.8096 60.2197 -90.8096
c13.25 0 24 -10.75 24 -24s-10.75 -24 -24 -24c-66.7402 0 -97.0498 88.6299 -107.42 129.14c-6.69043 -0.599609 -13.4199 -1.13965 -20.5801 -1.13965s-13.8896 0.540039 -20.5801 1.13965c-10.3701 -40.5098 -40.6797 -129.14 -107.42 -129.14c-13.25 0 -24 10.75 -24 24
s10.75 24 24 24c28.0801 0 50.2998 53.7998 60.2598 90.7998c-24.6895 8.29004 -45.0195 20.5605 -61.6396 34.1699c-1.95996 -4.37988 -3.74023 -10.1494 -5.9502 -18.8701c-5.34961 -21.1094 -12.6699 -50 -45.3301 -62.4395
c-8.13965 -3.11035 -15.7998 -4.39062 -22.9697 -4.39062c-21.5898 -0.0195312 -38.8701 11.6807 -52.4199 20.8408c-17.0498 11.5498 -23.2305 14.4492 -31.3906 11.3594c-12.3594 -4.72949 -26.25 1.4707 -30.9697 13.8799
c-4.71973 12.3906 1.48047 26.25 13.8701 30.9707c32.6504 12.4697 57.3398 -4.25 75.3701 -16.4502c17.0801 -11.5303 23.2998 -14.4199 31.4102 -11.3604c8.12012 3.10059 10.8301 9.37988 15.8896 29.3799c3.33008 13.1504 7.44043 29.3203 17.9502 42.6504
c-2.24023 2.91016 -4.42969 5.78027 -6.37988 8.57031c-10.1699 -9.56055 -23.4102 -17.1104 -41.7002 -17.1104c-33.9502 0 -50.8701 25.7803 -62.0596 42.8301c-10.6006 16.1396 -15 21.1699 -21.9404 21.1699c-13.25 0 -24 10.75 -24 24s10.75 24 24 24
c33.96 0 50.8799 -25.7803 62.0596 -42.8301c10.6006 -16.1396 15 -21.1699 21.9404 -21.1699c17.1504 0 37.6797 61.5596 97.2695 101.9l-17.25 34.5c-33.46 2.09961 -60.0195 29.6191 -60.0195 63.5996c0 35.3496 28.6504 64 64 64s64 -28.6504 64 -64
c0 -13.0195 -3.94043 -25.0996 -10.5996 -35.21l18.1494 -36.2998c16.9697 4.59961 35.6006 7.50977 56.46 7.50977c20.8604 0 39.4805 -2.91016 56.46 -7.50977l18.1504 36.2998c-6.67969 10.1104 -10.6201 22.1904 -10.6201 35.21c0 35.3496 28.6504 64 64 64
s64 -28.6504 64 -64c0 -33.9805 -26.5703 -61.5 -60.0098 -63.5898l-17.25 -34.5c59.7793 -40.4805 79.9502 -101.91 97.2598 -101.91c6.94043 0 11.3398 5.03027 21.9404 21.1699c11.1895 17.0498 28.1094 42.8301 62.0596 42.8301c13.25 0 24 -10.75 24 -24
s-10.75 -24 -24 -24c-6.94043 0 -11.3496 -5.03027 -21.9404 -21.1699c-11.1895 -17.0498 -28.1094 -42.8301 -62.0596 -42.8301c-18.29 0 -31.5303 7.5498 -41.7002 17.1201c-1.9502 -2.78027 -4.13965 -5.66016 -6.37988 -8.57031
c10.5098 -13.3301 14.6201 -29.5 17.9502 -42.6494c5.05957 -20 7.76953 -26.29 15.8896 -29.3809c8.16016 -3.05957 14.3506 -0.169922 31.4102 11.3604c18.0098 12.2002 42.6699 28.9697 75.3701 16.4502zM448 400c-8.82031 0 -16 -7.17969 -16 -16s7.17969 -16 16 -16
s16 7.17969 16 16s-7.17969 16 -16 16zM192 400c-8.82031 0 -16 -7.17969 -16 -16s7.17969 -16 16 -16s16 7.17969 16 16s-7.17969 16 -16 16z" />
    <glyph glyph-name="peace" unicode="&#xf67c;" horiz-adv-x="496" 
d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM432 192c0 90.5303 -65.7695 165.82 -152 181.03v-165.66l129.43 -103.54c14.3701 26.2002 22.5703 56.2402 22.5703 88.1699zM216 10.9697v114.46
l-89.29 -71.4395c24.7998 -21.8203 55.4297 -37.0498 89.29 -43.0205zM280 125.43v-114.449c33.8604 5.96973 64.4902 21.1992 89.29 43.0195zM216 373.03c-86.2305 -15.21 -152 -90.5 -152 -181.03c0 -31.9297 8.2002 -61.9697 22.5703 -88.1699l129.43 103.54v165.66z" />
    <glyph glyph-name="place-of-worship" unicode="&#xf67f;" horiz-adv-x="640" 
d="M620.61 81.4502c11.4111 -4.89258 19.3896 -16.2168 19.3896 -29.4102v-100.04c0 -8.83984 -7.16016 -16 -16 -16h-112v192zM0 52.04c0 13.1934 7.97852 24.5176 19.3896 29.4102l108.61 46.5498v-192h-112c-8.83984 0 -16 7.16016 -16 16v100.04zM464.46 201.32
c9.63965 -5.78027 15.54 -16.2002 15.54 -27.4404v-237.88h-96v96c0 35.3496 -28.6602 64 -64 64s-64 -28.6504 -64 -64v-96h-96v237.88c0 11.6572 6.21387 21.8467 15.54 27.4404l48.46 29.0801v114.97c0 8.49023 3.37988 16.6299 9.37988 22.6299l75.3105 75.3096
c6.23926 6.25 16.3691 6.25 22.6191 0l75.3105 -75.3096c6.00977 -6.00977 9.37988 -14.1396 9.37988 -22.6299v-114.97z" />
    <glyph glyph-name="poll" unicode="&#xf681;" horiz-adv-x="448" 
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM160 80v128c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-128c0 -8.83984 7.16016 -16 16 -16h32
c8.83984 0 16 7.16016 16 16zM256 80v224c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-224c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16zM352 80v64c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-64
c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16z" />
    <glyph glyph-name="poll-h" unicode="&#xf682;" horiz-adv-x="448" 
d="M448 16c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48v-352zM112 256h128c8.83984 0 16 7.16016 16 16v32c0 8.83984 -7.16016 16 -16 16h-128c-8.83984 0 -16 -7.16016 -16 -16v-32
c0 -8.83984 7.16016 -16 16 -16zM112 160h224c8.83984 0 16 7.16016 16 16v32c0 8.83984 -7.16016 16 -16 16h-224c-8.83984 0 -16 -7.16016 -16 -16v-32c0 -8.83984 7.16016 -16 16 -16zM112 64h64c8.83984 0 16 7.16016 16 16v32c0 8.83984 -7.16016 16 -16 16h-64
c-8.83984 0 -16 -7.16016 -16 -16v-32c0 -8.83984 7.16016 -16 16 -16z" />
    <glyph glyph-name="pray" unicode="&#xf683;" horiz-adv-x="384" 
d="M256 320c-35.3496 0 -64 28.6504 -64 64s28.6504 64 64 64s64 -28.6504 64 -64s-28.6504 -64 -64 -64zM225.37 150.25l-24.1504 28.7598l-34.7998 -64.8701l109.86 -109.859c25.4893 -25.4902 5.7998 -68.2803 -28.2803 -68.2803h-208c-22.0898 0 -40 17.9102 -40 40
s17.9102 40 40 40h91.5596l-44.8096 34.8896c-42.8799 27.3799 -57.5898 80.1104 -34.1904 123.75l49.3701 92.0303c11.1201 20.6504 32.1807 34.4404 56.3701 36.9199c24.7803 2.58984 48.5605 -6.93945 64 -25.3301l38.9102 -46.3096l57.4404 47
c17.1191 13.9697 42.3398 11.4902 56.3096 -5.62012c13.9697 -17.0898 11.4697 -42.2998 -5.62012 -56.2803l-88 -72.0195c-16.9697 -13.8701 -41.9102 -11.5 -55.9697 5.21973z" />
    <glyph glyph-name="praying-hands" unicode="&#xf684;" horiz-adv-x="640" 
d="M272 256.09c17.5996 0 32 -14.3994 32 -32v-128c0 -51.8896 -34.8398 -98.0801 -84.75 -112.35l-179.19 -46.6201c-2.64941 -0.69043 -5.36914 -1.03027 -8.05957 -1.03027c-23.4805 0 -32 21.1797 -32 32v96
c0 0.00390625 -0.00488281 -0.000976562 -0.00488281 0.00292969c0 14.1221 9.1748 26.1182 21.8848 30.3477l90.1201 30.04v80.2295c0 18.9805 5.55957 37.3896 16.1201 53.2305l117.26 175.899c0.169922 0.270508 0.589844 0.25 0.790039 0.480469
c9.58008 13.5098 27.8496 17.8799 42.2998 9.20996c15.1602 -9.10059 20.0605 -28.75 10.9707 -43.9102l-77.75 -129.59c-8.9707 -14.9199 -13.6904 -32 -13.6904 -49.3906v-76.5498c0 -8.83984 7.16016 -16 16 -16s16 7.16016 16 16v80c0 17.6006 14.4004 32 32 32z
M618.12 94.3604c13.0703 -4.36035 21.8799 -16.5801 21.8799 -30.3506v-96c0 -10.8193 -8.51953 -32 -32 -32c-2.67969 0 -5.40039 0.339844 -8.05957 1.03027l-179.19 46.6201c-49.9102 14.2598 -84.75 60.4502 -84.75 112.34v128c0 17.5996 14.4004 32 32 32
s32 -14.4004 32 -32v-80c0 -8.83984 7.16016 -16 16 -16s16 7.16016 16 16v76.5498c0 17.3906 -4.71973 34.4697 -13.6904 49.3906l-77.75 129.59c-9.08984 15.1602 -4.18945 34.8193 10.9707 43.9102c14.4502 8.66992 32.7197 4.2998 42.2998 -9.20996
c0.200195 -0.240234 0.610352 -0.210938 0.790039 -0.480469l117.26 -175.89c10.5605 -15.8408 16.1201 -34.25 16.1201 -53.2305v-80.2295z" />
    <glyph glyph-name="quran" unicode="&#xf687;" horiz-adv-x="448" 
d="M448 89.5996c0 -9.59961 -3.2002 -16 -9.59961 -19.1992c-3.2002 -12.8008 -3.2002 -57.6006 0 -73.6006c6.39941 -6.39941 9.59961 -12.7998 9.59961 -19.2002v-16c0 -16 -12.7998 -25.5996 -25.5996 -25.5996h-326.4c-54.4004 0 -96 41.5996 -96 96v320
c0 54.4004 41.5996 96 96 96h326.4c16 0 25.5996 -9.59961 25.5996 -25.5996v-332.801zM301.08 302.18l-11.1904 -22.6494l-24.9893 -3.62988c-2.68066 -0.390625 -3.75 -3.66992 -1.81055 -5.56055l18.0898 -17.6299l-4.26953 -24.8896
c-0.360352 -2.11035 1.30957 -3.82031 3.20996 -3.82031c0.5 0 1.01953 0.120117 1.51953 0.379883l22.3604 11.75l22.3604 -11.75c0.5 -0.259766 1.01953 -0.379883 1.51953 -0.379883c1.90039 0 3.57031 1.70996 3.20996 3.82031l-4.26953 24.8896l18.0898 17.6299
c1.92969 1.89062 0.859375 5.16992 -1.81055 5.56055l-25 3.62988l-11.1797 22.6494c-0.599609 1.20996 -1.75977 1.82031 -2.91992 1.82031s-2.32031 -0.610352 -2.91992 -1.82031zM243.19 371.19c-63.5205 0 -115.19 -51.6709 -115.19 -115.19
c0 -63.5098 51.6699 -115.19 115.18 -115.18c13.6006 0 27.1201 2.46973 40.1904 7.33984c2.67969 0.910156 4.62012 3.43945 4.62012 6.41992c0 3.63965 -2.87012 6.78027 -6.7998 6.78027c-0.650391 0 -3.10059 -0.209961 -4.13086 -0.209961
c-52.3096 0 -94.8594 42.5596 -94.8594 94.8594c0 52.3105 42.5498 94.8604 94.8594 94.8604c1.04004 0 3.45996 -0.209961 4.13086 -0.209961c0.738281 -0.276367 1.54004 -0.429688 2.375 -0.429688c3.73926 0 6.77441 3.03516 6.77441 6.77441
c0 3.7373 -3.0332 6.77246 -6.76953 6.77539c-13.1201 4.91992 -26.71 7.41016 -40.3799 7.41016zM380.8 0v64h-284.8c-16 0 -32 -12.7998 -32 -32s12.7998 -32 32 -32h284.8z" />
    <glyph glyph-name="search-dollar" unicode="&#xf688;" 
d="M505.04 5.33984c9.2998 -9.39941 9.2998 -24.5898 -0.0996094 -33.9902l-28.3008 -28.2998c-9.2998 -9.39941 -24.5 -9.39941 -33.8994 0l-99.71 99.6904c-4.5 4.5 -7 10.5996 -7 17v16.2998c-35.2998 -27.5996 -79.71 -44 -128.011 -44
c-114.909 0 -208.02 93.0898 -208.02 207.979c0 114.891 93.1201 207.98 208.02 207.98c114.9 0 208.011 -93.0898 208.011 -207.98c0 -48.2998 -16.4004 -92.6895 -44 -127.989h16.2998c6.40039 0 12.5 -2.5 17 -7zM208.02 96.04c79.6504 0 144 64.4502 144 143.979
c0 79.6406 -64.46 143.98 -144 143.98c-79.6494 0 -144 -64.4502 -144 -143.98c0 -79.6396 64.4609 -143.979 144 -143.979zM235.13 248.58c18.6006 -5.58008 31.5898 -23.4199 31.5898 -43.3896c0 -24.5303 -19.0498 -44.4404 -42.6797 -45.0703v-16.1201
c0 -4.41992 -3.58008 -8 -8 -8h-16c-4.41992 0 -8 3.58008 -8 8v16.29c-11.29 0.580078 -22.2705 4.51953 -31.3701 11.3496c-3.90039 2.93066 -4.09961 8.77051 -0.570312 12.1406l11.75 11.21c2.77051 2.63965 6.89062 2.75977 10.1309 0.729492
c3.85938 -2.42969 8.25977 -3.71973 12.8193 -3.71973h28.1006c6.5 0 11.7998 5.91992 11.7998 13.1904c0 5.94922 -3.61035 11.1797 -8.77051 12.7295l-45.0098 13.5c-18.5898 5.58008 -31.5801 23.4199 -31.5801 43.3896c0 24.5205 19.0498 44.4404 42.6797 45.0703
v16.1201c0 4.41992 3.58008 8 8 8h16c4.4209 0 8 -3.58008 8 -8v-16.29c11.29 -0.580078 22.2705 -4.51953 31.3701 -11.3496c3.90039 -2.93066 4.10059 -8.77051 0.570312 -12.1406l-11.75 -11.21c-2.76953 -2.63965 -6.88965 -2.75977 -10.1299 -0.729492
c-3.86035 2.42969 -8.25977 3.71973 -12.8203 3.71973h-28.1094c-6.5 0 -11.8008 -5.91992 -11.8008 -13.1904c0 -5.94922 3.61035 -11.1797 8.77051 -12.7295z" />
    <glyph glyph-name="search-location" unicode="&#xf689;" 
d="M505.04 5.33984c9.2998 -9.39941 9.2998 -24.5898 -0.0996094 -33.9902l-28.3008 -28.2998c-9.2998 -9.39941 -24.5 -9.39941 -33.8994 0l-99.71 99.6904c-4.5 4.5 -7 10.5996 -7 17v16.2998c-35.2998 -27.5996 -79.71 -44 -128.011 -44
c-114.909 0 -208.02 93.0898 -208.02 207.979c0 114.891 93.1201 207.98 208.02 207.98c114.9 0 208.011 -93.0898 208.011 -207.98c0 -48.2998 -16.4004 -92.6895 -44 -127.989h16.2998c6.40039 0 12.5 -2.5 17 -7zM208.02 96.04c79.6504 0 144 64.4502 144 143.979
c0 79.6406 -64.46 143.98 -144 143.98c-79.6494 0 -144 -64.4502 -144 -143.98c0 -79.6396 64.4609 -143.979 144 -143.979zM208.04 336c40.7803 0 73.8398 -33.0498 73.8398 -73.8301c0 -32.9697 -48.2598 -93.0498 -66.75 -114.86
c-1.69531 -2.02832 -4.23926 -3.32031 -7.08691 -3.32031c-2.84863 0 -5.39746 1.29199 -7.09277 3.32031c-18.4902 21.8105 -66.75 81.9004 -66.75 114.86c0 40.7803 33.0596 73.8301 73.8398 73.8301zM208.04 240c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24
s-24 -10.7402 -24 -24c0 -13.25 10.7402 -24 24 -24z" />
    <glyph glyph-name="socks" unicode="&#xf696;" 
d="M214.66 136.99c-52.7402 -39.5605 -69.0498 -110.021 -39.2002 -165.4l-21.8604 -16.3896c-17.2695 -12.9502 -37.4893 -19.2002 -57.5195 -19.2002c-32.8105 0 -65.6904 16.75 -83.9404 48.3301c-24.6494 42.6396 -10.1895 97.5 29.21 127.06l86.6504 64.6104v176h160
v-160zM288 416v-32h-160v32c0 17.6699 14.3301 32 32 32h128c2.84961 0 5.40039 -0.919922 8.01953 -1.62012c-4.94922 -9.08008 -8.01953 -19.3301 -8.01953 -30.3799zM480 448c17.6699 0 32 -14.3301 32 -32v-32h-192v32c0 17.6699 14.3301 32 32 32h128zM320 176v176h192
v-208c0 -41.8877 -20.0566 -79.043 -51.2002 -102.4l-115.2 -86.3994c-17.2695 -12.9502 -37.4893 -19.2002 -57.5195 -19.2002c-32.8105 0 -65.1699 16.75 -83.4199 48.3301c-24.6504 42.6396 -10.1904 97.5 29.21 127.06z" />
    <glyph glyph-name="square-root-alt" unicode="&#xf698;" horiz-adv-x="576" 
d="M571.31 196.69c6.25 -6.25 6.25 -16.3809 0 -22.6309l-46.0596 -46.0596l46.0596 -46.0596c6.25 -6.25 6.25 -16.3809 0 -22.6309l-22.6191 -22.6191c-6.25 -6.25 -16.3809 -6.25 -22.6309 0l-46.0596 46.0596l-46.0596 -46.0596c-6.25 -6.25 -16.3809 -6.25 -22.6309 0
l-22.6191 22.6191c-6.25 6.25 -6.25 16.3809 0 22.6309l46.0596 46.0596l-46.0596 46.0596c-6.25 6.25 -6.25 16.3809 0 22.6309l22.6191 22.6191c6.25 6.25 16.3809 6.25 22.6309 0l46.0596 -46.0596l46.0596 46.0596c6.25 6.25 16.3809 6.25 22.6309 0zM552 448
c13.25 0 24 -10.7402 24 -24v-48c0 -13.25 -10.75 -24 -24 -24h-194.97l-97.8105 -374.52c-9.83984 -32.4805 -37.0098 -41.4805 -54.2793 -41.4805c-18.6406 0 -35.9502 8.5 -48.4404 28.2695l-88.8799 163.73h-43.6201c-13.25 0 -24 10.75 -24 24v48
c0 13.2598 10.75 24 24 24h81.4697c12.0801 -0.00292969 22.584 -6.67871 28.0303 -16.5703l58.4102 -106.1l84.79 322.8c3.68945 14.0703 16.4102 23.8701 30.9502 23.8701h244.35z" />
    <glyph glyph-name="star-and-crescent" unicode="&#xf699;" 
d="M340.47 -18.3604c8.74023 0 15.1299 -6.96973 15.1299 -15.0596c0 -6.62012 -4.31934 -12.2402 -10.2793 -14.2598c-29.04 -10.8301 -59.0898 -16.3203 -89.3203 -16.3203c-141.16 0 -256 114.84 -256 256s114.84 256 256 256c30.3896 0 60.5801 -5.54004 89.75 -16.4805
c6.91992 -2.59961 10.9297 -9.83984 9.46973 -17.0898c-1.41992 -7.04004 -7.62012 -12.0693 -14.75 -12.0693c-1.47949 0 -6.85938 0.459961 -9.17969 0.459961c-116.25 0 -210.82 -94.5703 -210.82 -210.82s94.5703 -210.82 210.82 -210.82
c2.29004 0 7.72949 0.459961 9.17969 0.459961zM503.46 234.14c8.16992 -1.17969 11.4297 -11.2197 5.52051 -16.9893l-55.2705 -53.8701l13.0498 -76.0703c1.11035 -6.42969 -4.00977 -11.6602 -9.80957 -11.6602c-1.53027 0 -3.11035 0.370117 -4.64062 1.16992
l-68.3096 35.9102l-68.3301 -35.9102c-1.53027 -0.80957 -3.11035 -1.16992 -4.63965 -1.16992c-5.7998 0 -10.9199 5.21973 -9.81055 11.6602l13.0498 76.0703l-55.2695 53.8701c-5.91016 5.76953 -2.65039 15.8096 5.51953 16.9893l76.3809 11.1006l34.1592 69.21
c1.83008 3.7002 5.38086 5.5498 8.93066 5.5498s7.09961 -1.84961 8.92969 -5.5498l34.1602 -69.21z" />
    <glyph glyph-name="star-of-david" unicode="&#xf69a;" horiz-adv-x="464" 
d="M405.68 192l53.2207 -89.3896c14.4092 -24.21 -3.41016 -54.6104 -32.0107 -54.6104h-106.93l-55.9502 -93.9805c-7.14941 -12.0098 -19.5801 -18.0195 -32.0098 -18.0195s-24.8604 6.00977 -32.0098 18.0195l-55.9502 93.9805h-106.93
c-28.6006 0 -46.4199 30.4004 -32.0107 54.6104l53.2207 89.3896l-53.2207 89.3896c-14.4092 24.21 3.41016 54.6104 32.0107 54.6104h106.93l55.9502 93.9805c7.14941 12.0098 19.5801 18.0195 32.0098 18.0195s24.8604 -6.00977 32.0098 -18.0195l55.9502 -93.9805h106.92
c28.6006 0 46.4199 -30.4004 32.0098 -54.6104zM392.9 280h-39.6006l19.7998 -33.2598zM340.51 192l-52.3896 88h-112.25l-52.3799 -88l52.3896 -88h112.24zM232 374.28l-22.7803 -38.2803h45.5703zM71.0996 280l19.8008 -33.2598l19.7998 33.2598h-39.6006zM71.0996 104
h39.6006l-19.7998 33.2598zM232 9.71973l22.7803 38.2803h-45.5703zM353.29 104h39.6104l-19.8105 33.2598z" />
    <glyph glyph-name="synagogue" unicode="&#xf69b;" horiz-adv-x="640" 
d="M70 251.49c5.30957 6.00977 14.6904 6.00977 20 0l38 -43.0703v-272.42h-128v226.07l0.00488281 0.0185547c0 6.75391 2.51758 12.9229 6.66504 17.6211zM633.33 179.71c4.2998 -4.87012 6.66992 -11.1396 6.66992 -17.6396v-226.07h-128v272.42l38 43.0703
c5.30957 6.01953 14.6904 6.01953 20 0zM339.99 440.99l128 -102.4c7.58984 -6.07031 12.0098 -15.2695 12.0098 -24.9902v-377.6h-96v96c0 38.8701 -34.6602 69.6504 -74.75 63.1201c-31.4697 -5.12012 -53.25 -34.6699 -53.25 -66.5498v-92.5703h-96v377.6
c0 10.1123 4.67773 19.123 12.0098 24.9902l128 102.4c11.6904 9.34961 28.29 9.34961 39.9805 0zM392.06 225.44l-19.1895 30.5596l19.2002 30.5703c1.97949 3.14941 -0.290039 7.23926 -4 7.23926h-38.9502l-25.1201 39.9805c-1.84961 2.9502 -6.15039 2.9502 -8 0
l-25.1201 -40h-38.9395c-3.70996 0 -5.98047 -4.08984 -4 -7.24023l19.1992 -30.5596l-19.1992 -30.5605c-1.98047 -3.14941 0.279297 -7.23926 4 -7.23926h38.9395l25.1201 -39.9805c1.84961 -2.9502 6.15039 -2.9502 8 0l25.1201 39.9902h38.9395
c3.70996 0 5.98047 4.08984 4 7.24023z" />
    <glyph glyph-name="torah" unicode="&#xf6a0;" horiz-adv-x="640" 
d="M320.05 81.5195l-17.7402 29.6406h35.46zM419.26 247.52l-18.3994 -30.8193l-18.46 30.8193h36.8594zM48 448c26.5098 0 48 -14.3301 48 -32v-448c0 -17.6699 -21.4902 -32 -48 -32s-48 14.3301 -48 32v448c0 17.6699 21.4902 32 48 32zM220.74 136.5l18.3896 30.8203
l18.46 -30.8203h-36.8496zM382.45 136.5l18.4102 30.7998l18.4492 -30.7998h-36.8594zM128 -16v416h384v-416h-384zM194.77 262.13c-1.7627 -3.04492 -2.77148 -6.62402 -2.77148 -10.3936c0 -3.92969 1.09668 -7.60547 3.00195 -10.7363l29.3604 -49l-29.21 -48.8398
c-1.91211 -3.17578 -3.02637 -6.91699 -3.02637 -10.8906c0 -11.6504 9.45898 -21.1094 21.1104 -21.1094h0.015625h59.5l29.25 -48.8799c3.61816 -6.12793 10.2754 -10.2207 17.9004 -10.2207h0.0996094c7.7373 0.0166016 14.4912 4.17676 18.1602 10.4004l29.1299 48.7002
h59.4697c0.0078125 0 0.00195312 -0.0224609 0.00878906 -0.0224609c7.90723 0 14.8115 4.32812 18.4717 10.7422c1.75879 3.04199 2.76562 6.61621 2.76562 10.3799c0 3.93164 -1.09863 7.6084 -3.00586 10.7402l-29.3701 49l29.2402 48.8496
c1.90723 3.17383 3.01758 6.91113 3.01758 10.8809c0 11.6553 -9.46191 21.1182 -21.1182 21.1191h-59.5195l-29.25 48.8604c-3.6123 6.12207 -10.2617 10.21 -17.8779 10.21h-0.0722656c-0.0117188 0 -0.00976562 0.0224609 -0.0214844 0.0224609
c-7.74316 0 -14.5186 -4.17383 -18.1982 -10.3926l-29.1299 -48.71h-59.4502c-0.015625 0 -0.0166016 0.0224609 -0.0322266 0.0224609c-7.89844 0 -14.7939 -4.32422 -18.4482 -10.7324zM592 448c26.5098 0 48 -14.3301 48 -32v-448c0 -17.6699 -21.4902 -32 -48 -32
s-48 14.3301 -48 32v448c0 17.6699 21.4902 32 48 32zM320 302.47l17.6797 -29.6201h-35.46zM257.55 247.47l-18.3701 -30.7998l-18.4395 30.7998h36.8096zM287.13 136.47l-33.2295 55.5303l33.1699 55.5195h65.79l33.2295 -55.5195l-33.1699 -55.5303h-65.79z" />
    <glyph glyph-name="torii-gate" unicode="&#xf6a1;" 
d="M376.45 416c48.5918 0.00292969 94.8242 11.6396 135.55 32v-96c0 -17.6699 -14.3301 -32 -32 -32h-32v-64h48c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-48v-240c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v240
h-256v-240c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v240h-48c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h48v64h-32c-17.6699 0 -32 14.3301 -32 32v96c40.7256 -20.3604 86.958 -31.9971 135.55 -32h240.9zM128 320v-64h96
v64h-96zM384 256v64h-96v-64h96z" />
    <glyph glyph-name="vihara" unicode="&#xf6a7;" horiz-adv-x="640" 
d="M632.88 47.29c5.41992 -3.61035 7.7002 -9.62012 6.99023 -15.29c-0.620117 -5.00977 -3.56055 -9.75 -8.71973 -12.3301l-55.1504 -19.6699v-48c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v48h-160v-48c0 -8.83984 -7.16016 -16 -16 -16h-32
c-8.83984 0 -16 7.16016 -16 16v48h-160v-48c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v48l-55.1602 19.6699c-5.14941 2.58008 -8.09961 7.32031 -8.71973 12.3301c-0.700195 5.66016 1.58008 11.6699 7 15.29l88.8799 48.71v64
l-55.1602 17.6904c-11.79 5.89941 -11.79 22.7197 0 28.6191l119.16 49.6904v64l-27.3096 16.3096c-7.7207 7.7207 -5.61035 20.7402 4.15918 25.6201l183.15 86.0703l183.15 -86.0801c9.76953 -4.87988 11.8799 -17.9004 4.15918 -25.6201l-27.3096 -16.2998v-64
l119.16 -49.6904c11.79 -5.89941 11.79 -22.7197 0 -28.6191l-55.1602 -17.6904v-64zM224 320v-64h192v64h-192zM160 96h320v64h-320v-64z" />
    <glyph glyph-name="volume-mute" unicode="&#xf6a9;" 
d="M215.03 376.95c15.0098 15.0098 40.9697 4.49023 40.9697 -16.9697v-335.961c0 -21.4395 -25.9404 -32 -40.9697 -16.9697l-88.9707 88.9502h-102.06c-13.2598 0 -24 10.75 -24 24v144c0 13.2598 10.7402 24 24 24h102.06zM461.64 192l45.6406 -45.6396
c6.2998 -6.30078 6.2998 -16.5205 0 -22.8203l-22.8203 -22.8203c-6.2998 -6.2998 -16.5195 -6.2998 -22.8203 0l-45.6396 45.6406l-45.6299 -45.6299c-6.2998 -6.30078 -16.5205 -6.30078 -22.8203 0l-22.8193 22.8193c-6.30078 6.2998 -6.30078 16.5205 0 22.8203
l45.6299 45.6299l-45.6406 45.6396c-6.2998 6.30078 -6.2998 16.5205 0 22.8203l22.8203 22.8203c6.2998 6.2998 16.5195 6.2998 22.8203 0l45.6396 -45.6406l45.6396 45.6406c6.30078 6.2998 16.5205 6.2998 22.8203 0l22.8203 -22.8203
c6.2998 -6.2998 6.2998 -16.5195 0 -22.8203z" />
    <glyph glyph-name="yin-yang" unicode="&#xf6ad;" horiz-adv-x="496" 
d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM248 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM248 192c53.0195 0 96 42.9805 96 96s-42.9805 96 -96 96
c-106.04 0 -192 -85.96 -192 -192s85.96 -192 192 -192c-53.0195 0 -96 42.9805 -96 96s42.9805 96 96 96zM248 320c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32z" />
    <glyph glyph-name="blender-phone" unicode="&#xf6b6;" horiz-adv-x="576" 
d="M392 384c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h157.82l-17.46 -64h-140.36c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h131.64l-17.46 -64h-114.18c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h105.46
l-17.46 -64h-288v352h384l-17.46 -64h-166.54zM158.8 112.99c3.00977 -7.40039 0.200195 -15.8506 -6.68945 -20.0703l-39.4102 -24.1797c-12.5303 -7.68066 -31.7803 -6 -41.6504 4.7998c-94.0996 102.94 -94.6699 258.89 -2.09961 362.49
c11.1396 12.4697 29.5596 15.8398 43.8896 7.0498l39.2803 -24.0996c6.87988 -4.2207 9.7002 -12.6807 6.67969 -20.0703l-25.7803 -63.2598c-2.7793 -6.80078 -9.80957 -10.9902 -17.2393 -10.2607l-45.0303 4.41992c-17.6504 -47.9395 -17.2803 -100.779 0 -147.72
l45.0303 4.41992c7.43945 0.730469 14.46 -3.4502 17.2393 -10.2598zM480 64c35.3496 0 64 -28.6504 64 -64v-32c0 -17.6699 -14.3301 -32 -32 -32h-352c-17.6699 0 -32 14.3301 -32 32v32c0 35.3496 28.6504 64 64 64h288zM336 -32c17.6699 0 32 14.3301 32 32
s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
    <glyph glyph-name="book-dead" unicode="&#xf6b7;" horiz-adv-x="448" 
d="M272 312c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16s16 -7.2002 16 -16s-7.2002 -16 -16 -16zM448 89.5996c0 -9.59961 -3.2002 -16 -9.59961 -19.1992c-3.2002 -12.8008 -3.2002 -57.6006 0 -73.6006c6.39941 -6.39941 9.59961 -12.7998 9.59961 -19.2002v-16
c0 -16 -12.7998 -25.5996 -25.5996 -25.5996h-326.4c-54.4004 0 -96 41.5996 -96 96v320c0 54.4004 41.5996 96 96 96h326.4c16 0 25.5996 -9.59961 25.5996 -25.5996v-332.801zM240 392c-44.2002 0 -80 -28.7002 -80 -64c0 -20.9004 12.7002 -39.2002 32 -50.9004v-13.0996
c0 -8.7998 7.2002 -16 16 -16h64c8.7998 0 16 7.2002 16 16v13.0996c19.2998 11.7002 32 30 32 50.9004c0 35.2998 -35.7998 64 -80 64zM124.8 224.7c-1.7002 -4.10059 0.100586 -8.7998 4.2002 -10.5l70.5 -30.2998l-70.4004 -30.1006
c-4.09961 -1.7002 -5.89941 -6.39941 -4.19922 -10.5l6.2998 -14.7002c1.7002 -4.09961 6.39941 -5.89941 10.5 -4.19922l98.2998 42.1992l98.2998 -42.0996c4.10059 -1.7002 8.7998 0.0996094 10.5 4.2002l6.2998 14.7002c1.7002 4.09961 -0.0996094 8.7998 -4.19922 10.5
l-70.3008 30.0996l70.3008 30.2002c4.09961 1.7002 5.89941 6.39941 4.19922 10.5l-6.2998 14.7002c-1.7002 4.09961 -6.39941 5.89941 -10.5 4.19922l-98.3994 -42.0996l-98.3008 42.0996c-4.09961 1.7002 -8.7998 -0.0996094 -10.5 -4.19922zM380.8 0v64h-284.8
c-16 0 -32 -12.7998 -32 -32s12.7998 -32 32 -32h284.8zM208 312c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16s16 -7.2002 16 -16s-7.2002 -16 -16 -16z" />
    <glyph glyph-name="campground" unicode="&#xf6bb;" horiz-adv-x="640" 
d="M624 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-608c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h24.6797l239.79 330.25l-53.4102 73.5498c-5.19922 7.15039 -3.60938 17.1602 3.54004 22.3506l25.8809 18.7998
c7.14941 5.18945 17.1592 3.59961 22.3496 -3.5498l41.1699 -56.7002l41.1602 56.6895c5.2002 7.16016 15.2002 8.74023 22.3496 3.55078l25.9004 -18.79c7.14941 -5.19043 8.72949 -15.2002 3.54004 -22.3506l-53.4102 -73.5498l239.78 -330.25h24.6797zM320 160
l-116.36 -160h232.721z" />
    <glyph glyph-name="cat" unicode="&#xf6be;" 
d="M290.59 256c11.8906 -58.3496 63.6006 -102.4 125.41 -102.4c11.1104 0 21.71 1.87012 32 4.54004v-206.14c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v144l-128 -96h32c17.6699 0 32 -14.3301 32 -32v-16c0 -8.83984 -7.16016 -16 -16 -16
h-176c-35.2998 0 -64 28.7002 -64 64v256c0 17.6396 -14.3604 32 -32 32c-17.6699 0 -32 14.3301 -32 32s14.3301 32 32 32c52.9404 0 96 -43.0596 96 -96v-85.9502c55.7695 83.9697 142.41 85.9502 162.59 85.9502zM448 352l64 64v-134.4c0 -53.0195 -42.9805 -96 -96 -96
s-96 42.9805 -96 96v134.4l64 -64h64zM376 272c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16zM456 272c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16z" />
    <glyph glyph-name="chair" unicode="&#xf6c0;" horiz-adv-x="448" 
d="M112 320v-128h-48v128c0 70.7002 57.2998 128 128 128h64c70.7002 0 128 -57.2998 128 -128v-128h-48v128c0 29.5 -16.2002 55 -40 68.9004v-196.9h-48v208h-48v-208h-48v196.9c-23.7998 -13.9004 -40 -39.4004 -40 -68.9004zM446.3 106.1
c6.90039 -20.6992 -8.5 -42.0996 -30.2998 -42.0996v-112c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v112h-256v-112c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v112c-21.7998 0 -37.2002 21.4004 -30.4004 42.0996l10.7002 32
c4.40039 13.1006 16.6006 21.9004 30.4004 21.9004h362.5c13.7998 0 26 -8.7998 30.3994 -21.9004z" />
    <glyph glyph-name="cloud-moon" unicode="&#xf6c3;" horiz-adv-x="576" 
d="M342.8 95.2998c40.9004 -3.5 73.2002 -37.3994 73.2002 -79.2998c0 -44.2002 -35.7998 -80 -80 -80h-240c-53 0 -96 43 -96 96c0 41.9004 27.0996 77.2002 64.5996 90.2998c-0.0996094 1.90039 -0.599609 3.7002 -0.599609 5.7002c0 53 43 96 96 96
c36.2002 0 67.4004 -20.2998 83.7002 -49.9004c11.5 11 27.0996 17.9004 44.2998 17.9004c35.2998 0 64 -28.7002 64 -64c0 -12 -3.5 -23.0996 -9.2002 -32.7002zM565.3 149.6c8.2002 1.60059 14 -8 8.7002 -14.5c-33.4004 -41.0996 -82.7002 -67 -137.1 -70.3994
c-11.1006 23.0996 -29.9004 41.7998 -53.5 52.5996c0.399414 3.5 0.599609 7.10059 0.599609 10.7002c0 52.9004 -43.0996 96 -96 96c-12.7002 0 -25 -2.5 -36.4004 -7.2002c-5.09961 5.2998 -10.7998 9.90039 -16.6992 14.2002c-1.10059 8.2002 -1.80078 16.5 -1.80078 25
c0 106.1 86 192 191.9 192c11.7002 0 23.4004 -1.09961 35.0996 -3.2002c8.2002 -1.59961 10.1006 -12.5996 2.80078 -16.7002c-47.1006 -26.7998 -76.1006 -76.5996 -76.1006 -130.8c0 -94 85.4004 -165.399 178.5 -147.7z" />
    <glyph glyph-name="cloud-sun" unicode="&#xf6c4;" horiz-adv-x="640" 
d="M575.2 122.3c37.5996 -13 64.7998 -48.2998 64.7998 -90.3994c0 -53 -43 -96 -96 -96h-272c-53 0 -96 43 -96 96c0 50.5996 39.2998 91.5996 88.9004 95.2998c-0.200195 2.89941 -0.900391 5.7002 -0.900391 8.7002c0 61.8994 50.2002 112 112 112
c45.4004 0 84.2998 -27.2002 101.9 -66c9.89941 6.19922 21.5 10 34.0996 10c35.2998 0 64 -28.7002 64 -64c0 -1.90039 -0.599609 -3.7002 -0.799805 -5.60059zM144.8 144.9c10.6006 -10.6006 22.9004 -18.6006 36 -24c-9.59961 -9.80078 -17.5 -21.1006 -23.5996 -33.5
l-76.1006 -25.3008c-11.8994 -3.89941 -23.1992 7.30078 -19.1992 19.2002l29.2998 87.7998l-82.7998 41.4004c-11.2002 5.59961 -11.2002 21.5 0 27.0996l82.7998 41.5l-29.2998 87.8008c-3.90039 11.7998 7.39941 23.0996 19.1992 19.1992l87.9004 -29.2998
l41.4004 82.7998c5.59961 11.2002 21.5996 11.2002 27.0996 0l41.5 -82.7998l87.7998 29.2998c11.9004 3.90039 23.2002 -7.2998 19.2002 -19.1992l-29.7998 -88.9004c-10.6006 -1.5 -20.9004 -3.7998 -30.7002 -7.5c-5.40039 11.7998 -12.5996 23 -22.2998 32.7002
c-43.7002 43.7002 -114.7 43.7002 -158.4 0c-43.7002 -43.6006 -43.7002 -114.601 0 -158.3zM140 224.1c0 46.3008 37.7002 83.9004 84 83.9004c34 0 63.2998 -20.4004 76.5 -49.5c-36.4004 -22.5 -62 -60.7002 -67.4004 -105
c-8.89941 -2.90039 -17.1992 -7 -25.1992 -11.7002c-38.6006 7.5 -67.9004 41.5 -67.9004 82.2998z" />
    <glyph glyph-name="dice-d20" unicode="&#xf6cf;" horiz-adv-x="480" 
d="M106.75 232.94l108.64 -190.101l-208.26 22.0703c-5.83008 0.639648 -9.00977 7.13965 -5.92969 12.1396zM7.41016 132.57c-2.12012 -3.44043 -7.41016 -1.94043 -7.41016 2.08984v162.81c0 3.11035 3.38965 5.03027 6.05957 3.43066l76.6406 -45.9805zM18.25 24.4004
c-4.03027 1.97949 -2.25 8.06934 2.2002 7.56934l203.55 -22.2998v-65.6699c0 -5.83008 -6.0498 -9.70996 -11.3496 -7.25977zM99.4697 282.18l-81.5293 48.6904c-2.52051 1.51953 -2.60059 5.16016 -0.130859 6.78027l150.811 98.6094
c7.18945 4.11035 15.1201 -4.08008 10.7803 -11.1396zM240 272h-109.21l95.5801 168.38c3.12988 5.08008 8.37988 7.62012 13.6299 7.62012s10.5 -2.54004 13.6299 -7.62012l95.5801 -168.38h-109.21zM473.94 300.9c2.66992 1.59961 6.05957 -0.320312 6.05957 -3.43066
v-162.81c0 -4.04004 -5.2998 -5.54004 -7.41016 -2.10059l-75.29 122.351zM380.53 282.18l-79.9307 142.94c-4.33984 7.05957 3.59082 15.25 10.7803 11.1396l150.811 -98.5996c2.46973 -1.62012 2.39941 -5.25977 -0.130859 -6.78027zM459.55 31.9697
c4.4502 0.5 6.23047 -5.58984 2.2002 -7.55957l-194.4 -87.6602c-5.2998 -2.4502 -11.3496 1.41992 -11.3496 7.25977v65.6699zM373.25 232.94l105.56 -155.891c3.08008 -5 -0.0996094 -11.4902 -5.92969 -12.1396l-208.26 -22.0703zM240 240h100.43l-100.43 -175.75
l-100.43 175.75h100.43z" />
    <glyph glyph-name="dice-d6" unicode="&#xf6d1;" horiz-adv-x="448" 
d="M422.19 338.05c5.3291 -3.24023 5.2998 -11.2695 -0.0507812 -14.46l-198.14 -118.14l-198.13 118.14c-5.35059 3.19043 -5.37988 11.2305 -0.0605469 14.46l165.971 100.88c19.9102 12.1006 44.5195 12.1006 64.4297 0zM436.03 293.42
c5.33008 3.17969 11.9697 -0.839844 11.9697 -7.25v-197.7c0 -23.7598 -12.1104 -45.7393 -31.79 -57.7002l-152.16 -92.4795c-10.6602 -6.48047 -24.0498 1.5498 -24.0498 14.4297v223.82zM0 286.17c0 6.41016 6.63965 10.4297 11.9697 7.25l196.03 -116.88v-223.81
c0 -12.8906 -13.3799 -20.9102 -24.0498 -14.4307l-152.16 92.4697c-19.6797 11.9609 -31.79 33.9307 -31.79 57.7002v197.7z" />
    <glyph glyph-name="dog" unicode="&#xf6d3;" horiz-adv-x="576" 
d="M298.06 224l149.94 -53.5498v-218.45c0 -8.83105 -7.16895 -16 -16 -16h-64c-8.83105 0 -16 7.16895 -16 16v112h-160v-112c0 -8.83105 -7.16895 -16 -16 -16h-64c-8.83105 0 -16 7.16895 -16 16v213.91c-37.1602 13.25 -64 48.4297 -64 90.0898
c0 17.6611 14.3389 32 32 32s32 -14.3389 32 -32c0.0332031 -17.6455 14.3545 -31.9668 32 -32h170.06zM544 336v-32c0 -35.3223 -28.6777 -64 -64 -64h-32v-35.5801l-128 45.71v149.87c0 14.25 17.2197 21.3896 27.3096 11.3096l27.2803 -27.3096h53.6299
c10.9102 0 23.75 -7.91992 28.6201 -17.6904l7.16016 -14.3096h64c8.83105 0 16 -7.16895 16 -16zM432 336c0 8.83105 -7.16895 16 -16 16s-16 -7.16895 -16 -16s7.16895 -16 16 -16s16 7.16895 16 16z" />
    <glyph glyph-name="dragon" unicode="&#xf6d5;" horiz-adv-x="640" 
d="M18.3203 192.22c-15.96 -2.2793 -24.8906 17.8105 -12.5107 28.1406l117.4 116.34c21.7705 18.5996 53.2402 20.4697 77.0596 4.58984l119.73 -87.5996v-42.2705c0 -28.9102 5.29004 -56.9795 14.7305 -83.3799h-222.7c-14.25 0 -21.3906 17.2295 -11.3105 27.3096
l91.2803 68.6904zM575.19 158.12c41.9092 -20.96 67.1592 -64.0801 64.6396 -111.36c-3.37988 -63.2002 -59.7002 -110.77 -122.99 -110.76h-499.08c-9.80957 0 -17.7598 8 -17.7598 17.7998c0 8.32031 5.78027 15.5303 13.9004 17.3301
c89.54 19.9004 238.51 54.1006 434.1 60.9102c-59.9697 39.9902 -96 107.3 -96 179.38v108.62l-59.5801 24.8496c-5.90039 2.9502 -5.90039 11.3604 0 14.3105l59.5801 24.8398l-61.6396 50.3496c-5.04004 5.04004 -1.4707 13.6104 5.65918 13.6104h237.45
c10.0703 0 19.5498 -4.7002 25.6006 -12.7598l74.5293 -99.3799c4.00781 -5.3457 6.37988 -12.042 6.37988 -19.2305c0 -5.12988 -1.20996 -9.98047 -3.35938 -14.2803l-14.3105 -28.6191c-5.25 -10.502 -16.0889 -17.6895 -28.6191 -17.6904h-30.9707
c-8.48926 0 -16.6299 3.37012 -22.6299 9.37012l-28.0898 22.6299h-64v-36.6904c0.00195312 -18.791 10.7812 -35.0459 26.5303 -42.9199zM489.18 381.75c-4.33008 -17.1396 8.56055 -28.96 21.5205 -29.6699c11.6602 -0.629883 21.3799 7.34961 24.1299 18.2598z" />
    <glyph glyph-name="drumstick-bite" unicode="&#xf6d7;" 
d="M462.8 398.43c34.3203 -34.2793 50.4307 -79.5996 49.1299 -124.56c-41.9795 22.6602 -94.3594 17.5596 -128.739 -16.7998c-40.8809 -40.8398 -40.6904 -107.181 -1.05078 -151.07c-18.9736 -6.45312 -39.3203 -10.0049 -60.4648 -10.0049
c-0.475586 0 -0.950195 0.000976562 -1.4248 0.00488281h-85.8896l-40.6104 -40.5596c-9.71973 -9.75 -11.0898 -24.0205 -6 -36.75c2.77051 -6.92383 4.3125 -14.5234 4.3125 -22.4316c0 -33.3086 -27.042 -60.3506 -60.3496 -60.3506
c-16.7041 0 -31.8311 6.80078 -42.7627 17.7822c-15.2803 15.2695 -19.6006 36.5 -15.1006 56.0996c-19.6094 -4.49023 -40.8496 -0.179688 -56.1191 15.0703c-10.9395 10.9229 -17.668 26.002 -17.668 42.666c0 33.2979 27.0332 60.3301 60.3301 60.3301
c7.88965 0 15.4277 -1.51758 22.3379 -4.27637c12.7793 -5.07031 27.0791 -3.69043 36.7793 6l40.6201 40.5898v85.8301c0 64 27.6904 107 63.1699 142.43c30.666 30.6338 73.0479 49.5889 119.774 49.5889s89.0605 -18.9551 119.726 -49.5889z" />
    <glyph glyph-name="dungeon" unicode="&#xf6d9;" 
d="M128.73 252.68c6.58984 -4.12012 8.89941 -12.2393 6.33984 -19.5801c-3 -8.60938 -5.15039 -17.6094 -6.24023 -26.9395c-0.929688 -7.91016 -7.0498 -14.1602 -15.0098 -14.1602h-97.1299c-9.10059 0 -16.7402 7.62988 -16.1504 16.7197
c2.0293 31.5166 9.95215 61.9062 22.4502 89.2705c3.93945 8.62012 14.8896 11.4697 22.9297 6.4502zM319.03 440c9.16992 -2.36035 13.9102 -12.5996 10.3896 -21.3896l-37.4697 -104.03c-2.28027 -6.34961 -8.2998 -10.5801 -15.0498 -10.5801h-41.8008
c-6.92773 0.00292969 -12.8281 4.41211 -15.0498 10.5801l-37.4697 104.03c-3.52051 8.79004 1.21973 19.04 10.3896 21.3896c20.1699 5.17969 41.2607 8 63.0303 8s42.8604 -2.82031 63.0303 -8zM112 160c8.83984 0 16 -7.16016 16 -16v-64
c0 -8.83984 -7.16016 -16 -16 -16h-96c-8.83984 0 -16 7.16016 -16 16v64c0 8.83984 7.16016 16 16 16h96zM112 32c8.83984 0 16 -7.16016 16 -16v-64c0 -8.83984 -7.16016 -16 -16 -16h-96c-8.83984 0 -16 7.16016 -16 16v64c0 8.83984 7.16016 16 16 16h96zM189.31 315.67
c2.85059 -7.12012 -0.0195312 -14.8799 -6.2998 -19.29c-6 -4.2002 -11.6094 -8.89941 -16.79 -14.0498c-5.4502 -5.41016 -13.5996 -6.86035 -20.1094 -2.79004l-82.9307 51.8301c-8.06934 5.04004 -10.2793 16.2002 -4.21973 23.5195
c20.0459 24.1963 44.0801 44.3428 71.6104 59.8906c8.29004 4.67969 18.8896 0.519531 22.4199 -8.31055zM398.18 192c-7.95996 0 -14.0801 6.25 -15.0098 14.1602c-1.08984 9.32031 -3.22949 18.3301 -6.24023 26.9395c-2.55957 7.34082 -0.25 15.46 6.33984 19.5801
l82.8105 51.7607c8.04004 5.01953 18.9902 2.16992 22.9297 -6.4502c12.499 -27.3633 20.4219 -57.7529 22.4502 -89.2705c0.589844 -9.08984 -7.0498 -16.7197 -16.1504 -16.7197h-97.1299zM453.03 354.89c6.06934 -7.31934 3.84961 -18.4795 -4.2207 -23.5098
l-82.9297 -51.8301c-6.50977 -4.06934 -14.6699 -2.62012 -20.1104 2.79004c-5.17969 5.15039 -10.7891 9.85059 -16.7891 14.0498c-6.28027 4.40039 -9.15039 12.1602 -6.30078 19.2803l36.3203 90.7998c3.54004 8.83008 14.1396 12.9902 22.4199 8.31055
c27.5303 -15.5479 51.5645 -35.6943 71.6104 -59.8906zM496 160c8.83984 0 16 -7.16016 16 -16v-64c0 -8.83984 -7.16016 -16 -16 -16h-96c-8.83984 0 -16 7.16016 -16 16v64c0 8.83984 7.16016 16 16 16h96zM496 32c8.83984 0 16 -7.16016 16 -16v-64
c0 -8.83984 -7.16016 -16 -16 -16h-96c-8.83984 0 -16 7.16016 -16 16v64c0 8.83984 7.16016 16 16 16h96zM240 270.38c5.23047 0.889648 10.5195 1.62012 16 1.62012s10.7695 -0.730469 16 -1.62012v-294.38c0 -4.41992 -3.58008 -8 -8 -8h-16c-4.41992 0 -8 3.58008 -8 8
v294.38zM176 228.87c8.16016 12.2998 19.2197 22.3203 32 29.7695v-282.64c0 -4.41992 -3.58008 -8 -8 -8h-16c-4.41992 0 -8 3.58008 -8 8v252.87zM304 258.64c12.7803 -7.44922 23.8398 -17.4697 32 -29.7695v-252.87c0 -4.41992 -3.58008 -8 -8 -8h-16
c-4.41992 0 -8 3.58008 -8 8v282.64z" />
    <glyph glyph-name="file-csv" unicode="&#xf6dd;" horiz-adv-x="384" 
d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM128 168v16c0 4.41992 -3.58008 8 -8 8h-8c-26.5098 0 -48 -21.4902 -48 -48v-32
c0 -26.5098 21.4902 -48 48 -48h8c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-8c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h8c4.41992 0 8 3.58008 8 8zM172.27 64c23.3906 0 42.4004 17.3301 42.3906 38.6201
c0 10.6602 -4.86035 20.9199 -13.3301 28.1396l-21.8896 18.7705c-1.37012 1.17969 -2.12012 2.54004 -2.12012 3.83984c0 3.12012 4.45996 6.62012 10.4102 6.62012h12.2695c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-12.25
c-23.3896 0 -42.4102 -17.3203 -42.4102 -38.6201c0 -10.6602 4.86035 -20.9199 13.3301 -28.1396l21.8896 -18.7705c1.37012 -1.17969 2.12012 -2.54004 2.12012 -3.83984c0 -3.12012 -4.45996 -6.62012 -10.4102 -6.62012h-12.2695c-4.41992 0 -8 -3.58008 -8 -8v-16
c0 -4.41992 3.58008 -8 8 -8h12.2695zM256 184c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-20.7998c0 -35.4805 12.8799 -68.8906 36.2803 -94.0898c3.01953 -3.25 7.26953 -5.11035 11.7197 -5.11035s8.7002 1.86035 11.7197 5.11035
c23.4004 25.1992 36.2803 58.6094 36.2803 94.0898v20.7998c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-20.7998c0 -20.2705 -5.7002 -40.1807 -16 -56.8799c-10.2998 16.71 -16 36.6094 -16 56.8799v20.7998zM377 343c4.5 -4.5 7 -10.5996 7 -16.9004
v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7z" />
    <glyph glyph-name="fist-raised" unicode="&#xf6de;" horiz-adv-x="384" 
d="M255.98 288h-48.0303c-5.62988 0 -10.9502 -1.15039 -15.9697 -2.92969v146.93c0 8.83984 7.15918 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-144zM383.98 192.01l0.0195312 -88.2197c0 -26.4971 -10.7412 -50.5273 -28.1201 -67.9102l-35.9102 -35.9199v-63.96
h-255.979v64l-26.5 26.5098c-24.0098 24.0098 -37.4902 56.5605 -37.4902 90.5098v77.9307c5.03027 -1.7998 10.3604 -2.9502 16 -2.9502h32c12.3301 0 23.4805 4.80957 32 12.4902c8.50977 -7.66992 19.6602 -12.4805 32 -12.4805h32
c7.91016 0 15.2803 2.11035 21.8701 5.52051c7.46973 -16.3301 21.5996 -28.9404 38.8701 -34.4502c-17.1104 -14.8203 -31.5801 -34.4805 -47.3105 -58.0801l-6.30957 -9.46973c-0.845703 -1.26855 -1.35156 -2.79395 -1.35156 -4.43164
c0 -2.77734 1.41895 -5.22559 3.57129 -6.6582l13.3105 -8.88086c1.26758 -0.845703 2.79395 -1.35156 4.43066 -1.35156c2.77734 0 5.22559 1.41992 6.65918 3.57227l6.30957 9.46973c31.8906 47.8398 51.5303 70.2695 96.0498 72.5498
c4.29004 0.219727 7.88086 3.70996 7.88086 8v16.2002c0 4.41992 -3.52051 8 -13.2002 8h-35.2607c-26.2695 0 -47.5693 21.3203 -47.5693 47.5898v0.560547c0 8.7793 7.12012 15.8496 15.8994 15.8496h112.141c35.3301 0 63.9795 -28.6504 63.9902 -63.9902zM351.97 282.1
c-10.0596 3.59082 -20.7197 5.90039 -32 5.90039h-32v112c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-117.9zM16 224c-8.83984 0 -16 7.16016 -16 16v128c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-128
c0 -8.83984 -7.16016 -16 -16 -16h-32zM111.99 224c-8.83984 0 -16 7.16016 -16 16v160c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-160c0 -8.83984 -7.16016 -16 -16 -16h-32z" />
    <glyph glyph-name="ghost" unicode="&#xf6e2;" horiz-adv-x="384" 
d="M186.1 447.91c108.73 3.25977 197.9 -83.9102 197.9 -191.91v-271.97c0 -14.25 -17.2305 -21.3906 -27.3096 -11.3105l-24.9209 18.5303c-6.65918 4.95996 -16 3.99023 -21.5098 -2.20996l-42.9502 -48.3496c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-40.7197 45.8496
c-6.36035 7.16992 -17.5498 7.16992 -23.9199 0l-40.7197 -45.8496c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-42.9502 48.3496c-5.50977 6.2002 -14.8506 7.16016 -21.5098 2.20996l-24.9209 -18.5303c-10.0791 -10.0801 -27.3096 -2.9502 -27.3096 11.3105v263.92
c0 105.13 81.0098 196.81 186.1 199.96zM128 224c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM256 224c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
    <glyph glyph-name="hammer" unicode="&#xf6e3;" horiz-adv-x="576" 
d="M571.31 254.06c6.25 -6.25 6.25 -16.3799 0.0205078 -22.6191l-90.5098 -90.5107c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-22.6309 22.6299c-6.25 6.25 -6.25 16.3809 0 22.6309l11.3105 11.3096l-28.9004 28.9004
c-21.3096 -5.63086 -44.8994 -0.360352 -61.6094 16.3496l-49.1406 49.1396c-12.0098 12 -18.75 28.2803 -18.75 45.25v18.75l-90.5098 45.25c62.4902 62.4805 163.8 62.4805 226.28 0l45.25 -45.25c16.71 -16.71 21.9795 -40.2998 16.3496 -61.6094l28.9004 -28.9004
l11.3096 11.3105c6.25 6.25 16.3799 6.25 22.6299 0zM284.59 269.26l49.1406 -49.1396c3.53906 -3.54004 7.47949 -6.5 11.4395 -9.41016l-238.13 -255.07c-23.8799 -25.5801 -64.2002 -26.2695 -88.9297 -1.5293c-24.7305 24.7393 -24.04 65.0498 1.5293 88.9297
l255.101 238.17c3.00977 -4.16016 6.14941 -8.25 9.84961 -11.9502z" />
    <glyph glyph-name="hanukiah" unicode="&#xf6e6;" horiz-adv-x="640" 
d="M232 288h16c4.41992 0 8 -3.58008 8 -8v-120h-32v120c0 4.41992 3.58008 8 8 8zM168 288h16c4.41992 0 8 -3.58008 8 -8v-120h-32v120c0 4.41992 3.58008 8 8 8zM392 288h16c4.41992 0 8 -3.58008 8 -8v-120h-32v120c0 4.41992 3.58008 8 8 8zM456 288h16
c4.41992 0 8 -3.58008 8 -8v-120h-32v120c0 4.41992 3.58008 8 8 8zM544 280v-120h-32v120c0 4.41992 3.58008 8 8 8h16c4.41992 0 8 -3.58008 8 -8zM104 288h16c4.41992 0 8 -3.58008 8 -8v-120h-32v120c0 4.41992 3.58008 8 8 8zM624 288c8.83984 0 16 -7.16016 16 -16
v-112c0 -53.0195 -42.9805 -96 -96 -96h-192v-64h176c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-416c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h176v64h-192c-53.0195 0 -96 42.9805 -96 96v112c0 8.83984 7.16016 16 16 16
h32c8.83984 0 16 -7.16016 16 -16v-112c0 -17.6699 14.3301 -32 32 -32h192v192c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-192h192c17.6699 0 32 14.3301 32 32v112c0 8.83984 7.16016 16 16 16h32zM608 320c-13.25 0 -24 11.9502 -24 26.6699
s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM32 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM320 368
c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM112 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699z
M176 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM240 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301
c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM400 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM464 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301
s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM528 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699z" />
    <glyph glyph-name="hat-wizard" unicode="&#xf6e8;" 
d="M496 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-480c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h480zM192 64l16 -32h-144l110.96 249.66c11.1211 25.0264 29.8379 45.6514 53.46 59.1494l187.58 107.19l-56.2998 -168.92
c-2.12207 -6.35938 -3.25781 -13.2188 -3.25781 -20.2881c0 -8.93164 1.83496 -17.4375 5.14746 -25.1621l86.4102 -201.63h-208l16 32l64 32l-64 32l-32 64l-32 -64l-64 -32zM256 288l-32 -16l32 -16l16 -32l16 32l32 16l-32 16l-16 32z" />
    <glyph glyph-name="hiking" unicode="&#xf6ec;" horiz-adv-x="384" 
d="M80.9502 -24.2305l34.5596 138.221l52.7803 -52.7803l-25.2402 -100.97c-3.64941 -14.5303 -16.6895 -24.2305 -31.0195 -24.2305c-2.58008 0 -5.19043 0.290039 -7.7998 0.950195c-17.1406 4.28027 -27.5605 21.6504 -23.2803 38.8096zM95.8398 171.89
c-2.18945 -8.41992 -11.0801 -13.54 -19.8701 -11.4395l-63.5596 15.25c-8.78027 2.10938 -14.1104 10.6396 -11.9199 19.0596l25.2695 98.1299c10.9707 42.1006 55.4404 67.6904 99.3203 57.1699c8.78027 -2.10938 14.1104 -10.6396 11.9199 -19.0596zM368 288
c8.83984 0 16 -7.16016 15.9902 -16v-320.01c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v240h-48c-8.48047 0 -16.6201 3.37988 -22.6201 9.37988l-22.4297 22.4297l-19.8906 -79.5693
c-0.129883 -0.520508 -0.469727 -0.910156 -0.620117 -1.41016l46.8203 -46.8203c12.0898 -12.0898 18.75 -28.1602 18.75 -45.25v-82.75c0 -17.6699 -14.3301 -32 -32 -32s-32 14.3301 -32 32v82.75l-86.6201 86.6201c-5.79297 5.79395 -9.37109 13.7861 -9.37109 22.6191
c0 2.67969 0.330078 5.28223 0.951172 7.77051l26.9199 107.721c6.56055 26.2197 30.0098 44.5195 57.0303 44.5195c15.7002 0 30.4697 -6.11035 41.5596 -17.2197l46.7803 -46.7803h34.75v16c0 8.83984 7.16016 16 16 16h16zM240 352c-26.5098 0 -48 21.4902 -48 48
s21.4902 48 48 48s48 -21.4902 48 -48s-21.4902 -48 -48 -48z" />
    <glyph glyph-name="hippo" unicode="&#xf6ed;" horiz-adv-x="640" 
d="M581.12 351.8c34.0898 -0.189453 58.8799 -33.6895 58.8799 -67.7803v-92.0195c0 -17.6699 -14.3301 -32 -32 -32v-32c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v32h-128v-176c0 -8.83984 -7.16016 -16 -16 -16h-64
c-8.83984 0 -16 7.16016 -16 16v70.79c-32.3496 -14.3604 -70.7197 -22.79 -112 -22.79s-79.6504 8.42969 -112 22.79v-70.79c0 -8.83984 -7.16016 -16 -16 -16h-64c-8.83984 0 -16 7.16016 -16 16v240c0 88.3604 85.96 160 192 160
c49.2402 0 94.0098 -15.5801 128 -40.9805v48.9805c0 13.2598 10.75 24 24 24h16c13.25 0 24 -10.7402 24 -24v-13.8799c10.0498 3.58008 20.7197 5.87988 32 5.87988c39.8301 0 73.9805 -24.2695 88.5195 -58.8203c24.1006 9.04004 48.9307 26.7705 76.6006 26.6201z
M448 272c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16z" />
    <glyph glyph-name="horse" unicode="&#xf6f0;" horiz-adv-x="576" 
d="M575.92 371.4l0.0605469 -77.71c0 -0.0107422 0.0185547 -0.00683594 0.0185547 -0.0166016c0 -13.4707 -8.34277 -25.0088 -20.1387 -29.7236l-32.5508 -13.0205c-15.4395 -6.17969 -33.04 0.5 -40.4893 15.3701l-18.9004 37.7002l-16 7.11035v-102.471
c0.00976562 -0.219727 0.0800781 -0.419922 0.0800781 -0.639648c0 -30.4697 -12.2598 -58.0303 -32 -78.2197v-177.78c0 -8.83984 -7.16016 -16 -16 -16h-64c-8.83984 0 -16 7.16016 -16 16v150.4l-133.97 22.3301l-23.8398 -63.5908l26.3096 -105.26
c2.53027 -10.0996 -5.11035 -19.8799 -15.5195 -19.8799h-65.9609c-7.48633 0 -13.7783 5.16602 -15.5098 12.1201l-24.8496 99.4102c-1.24707 4.98047 -1.8916 10.1924 -1.8916 15.5576c0 7.8916 1.43262 15.4502 4.05176 22.4316l25.7197 68.6006
c-18.7002 17.5195 -30.54 42.2402 -30.54 69.8799c0 2.62988 0.570312 5.09961 0.780273 7.67969c-9.91016 -7.29004 -16.7803 -18.46 -16.7803 -31.6797v-56c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v56c0 48.5303 39.4697 88 88 88v-1.11035
c17.5996 20.1299 43.1602 33.1104 72 33.1104h159.92c0 70.6904 57.3105 128 128 128h119.98c5.05957 0 8.94922 -4.67969 7.92969 -9.63965c-2.67969 -13.1699 -11.1201 -23.8203 -22.1797 -30.6602c5.10938 -5.37988 9.90918 -10.4697 13.6895 -14.5
c5.56055 -5.93066 8.57031 -13.6699 8.58008 -21.7998zM511.92 352c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16z" />
    <glyph glyph-name="house-damage" unicode="&#xf6f1;" horiz-adv-x="576" 
d="M288 333.04l218.74 -192.94c1.54004 -1.37988 3.55957 -2.04004 5.25977 -3.19922v-184.9c0 -8.83984 -7.16016 -16 -16 -16h-176.19l-39.9199 55.25l104.11 64l-148.05 136.78l60.1602 -119.221l-104.11 -64l37.2305 -72.8096h-149.23c-8.83984 0 -16 7.16016 -16 16
v184.94c1.78027 1.20996 3.84961 1.88965 5.46973 3.34961zM570.69 211.72c6.5791 -5.89941 7.11914 -16.0195 1.21973 -22.5898l-21.4004 -23.8203c-5.91016 -6.56934 -16.0293 -7.10938 -22.5996 -1.20996l-229.32 202.271c-6.0498 5.33008 -15.1201 5.33008 -21.1699 0
l-229.32 -202.28c-6.58008 -5.91016 -16.6992 -5.35938 -22.5996 1.20996l-21.4004 23.8203c-5.90918 6.58008 -5.35938 16.6895 1.20996 22.5996l255.99 226.011c7.60059 6.85938 17.1406 10.2793 26.7002 10.2695s19.1201 -3.4502 26.75 -10.3096l101.25 -89.3809v51.6904
c0 8.83984 7.16016 16 16 16h64c8.83984 0 16 -7.16016 16 -16v-136.45z" />
    <glyph glyph-name="hryvnia" unicode="&#xf6f2;" horiz-adv-x="384" 
d="M368 208h-99.7002l-34.6699 -32h134.37c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-203.7l-29.4902 -27.2197c-4.3291 -4 -6.80957 -9.66992 -6.80957 -15.5801c0 -11.6807 9.50977 -21.2002 21.2002 -21.2002h83.6299
c5.83301 0 11.1992 2.09375 15.3604 5.55957l11.75 9.80078c10.1895 8.48926 25.3193 7.12012 33.8096 -3.07031l20.4902 -24.5898c8.49023 -10.1807 7.10938 -25.3105 -3.07031 -33.7998l-11.7695 -9.81055c-18.6807 -15.5596 -42.2207 -24.0898 -66.54 -24.0898h-78.8203
c-37.1396 0 -73.3799 17.8496 -92.0498 49.9502c-17.8701 30.7197 -17.54 65.4199 -4.12988 94.0498h-41.8604c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h99.7002l34.6699 32h-134.37c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16
h203.7l29.4902 27.21c4.3291 4 6.80957 9.66992 6.80957 15.5801c0 11.6797 -9.50977 21.2002 -21.2002 21.2002h-83.6201c-5.62012 0 -11.0693 -1.9707 -15.3896 -5.57031l-11.7305 -9.78027c-10.1895 -8.48926 -25.3193 -7.12012 -33.8096 3.07031l-20.4902 24.5898
c-8.49023 10.1807 -7.10938 25.3105 3.07031 33.7998l11.7695 9.81055c18.6807 15.5596 42.2207 24.0898 66.54 24.0898h78.8203c37.1396 0 73.3799 -17.8398 92.0498 -49.9502c17.8701 -30.7197 17.54 -65.4199 4.12988 -94.0498h41.8604c8.83984 0 16 -7.16016 16 -16v-32
c0 -8.83984 -7.16016 -16 -16 -16z" />
    <glyph glyph-name="mask" unicode="&#xf6fa;" horiz-adv-x="640" 
d="M320.67 384c449.09 0 348.32 -384 158.46 -384c-39.8994 0 -77.4697 20.6904 -101.41 55.8604l-25.7295 37.79c-15.6602 22.9893 -46.9707 22.9893 -62.6299 0l-25.7305 -37.79c-23.9502 -35.1699 -61.5195 -55.8604 -101.42 -55.8604c-199.11 0 -284.14 384 158.46 384z
M184 139.64c41.0596 0 67.7598 25.6504 80.0801 41.0508c5.22949 6.54004 5.22949 16.0996 0 22.6299c-12.3203 15.3896 -39.0098 41.0498 -80.0801 41.0498s-67.7598 -25.6504 -80.0801 -41.0498c-5.22949 -6.54004 -5.22949 -16.1006 0 -22.6299
c12.3203 -15.3906 39.0205 -41.0508 80.0801 -41.0508zM456 139.64c41.0596 0 67.7598 25.6504 80.0801 41.0508c5.22949 6.54004 5.22949 16.0996 0 22.6299c-12.3203 15.3896 -39.0098 41.0498 -80.0801 41.0498s-67.7598 -25.6504 -80.0801 -41.0498
c-5.22949 -6.54004 -5.22949 -16.1006 0 -22.6299c12.3203 -15.3906 39.0205 -41.0508 80.0801 -41.0508z" />
    <glyph glyph-name="mountain" unicode="&#xf6fc;" horiz-adv-x="640" 
d="M634.92 -14.7002c3.2041 -4.98145 5.06348 -10.9756 5.06348 -17.334c0 -5.53906 -1.41113 -10.751 -3.89355 -15.2959c-5.60938 -10.2803 -16.3799 -16.6699 -28.0898 -16.6699h-576c-12.1191 0 -22.6582 6.7168 -28.0898 16.6602
c-2.48242 4.5459 -3.89355 9.82715 -3.89355 15.3672c0 6.36035 1.85938 12.2891 5.06348 17.2725l288 448c5.88965 9.16016 16.0303 14.7002 26.9199 14.7002s21.0303 -5.54004 26.9199 -14.7002zM320 356.82l-102.06 -158.761l38.0596 -38.0596l64 64h85.3896z" />
    <glyph glyph-name="network-wired" unicode="&#xf6ff;" horiz-adv-x="640" 
d="M640 184c0 -8.83984 -7.16016 -16 -16 -16h-104v-40h56c17.6699 0 32 -14.3301 32 -32v-128c0 -17.6699 -14.3301 -32 -32 -32h-160c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32h56v40h-304v-40h56c17.6699 0 32 -14.3301 32 -32v-128
c0 -17.6699 -14.3301 -32 -32 -32h-160c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32h56v40h-104c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h280v40h-72c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32h192
c17.6699 0 32 -14.3301 32 -32v-128c0 -17.6699 -14.3301 -32 -32 -32h-72v-40h280c8.83984 0 16 -7.16016 16 -16v-16zM256 320h128v64h-128v-64zM192 0v64h-96v-64h96zM544 0v64h-96v-64h96z" />
    <glyph glyph-name="otter" unicode="&#xf700;" horiz-adv-x="640" 
d="M608 416c17.6699 0 32 -14.3301 32 -32v-32c0 -53.0195 -42.9805 -96 -96 -96h-22.8604l-92.4697 -49.79l55.1104 -110.21h28.2197c17.6699 0 32 -14.3301 32 -32v-16c0 -8.83984 -7.16016 -16 -16 -16h-80l-74.5098 144.5l-149.49 -80.5h64
c17.6699 0 32 -14.3301 32 -32v-16c0 -8.83984 -7.16016 -16 -16 -16h-224c-8.83008 0 -16 -7.16992 -16 -16s7.16992 -16 16 -16h112c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32h-108.47c-39.3799 0 -75.5205 26.9004 -82.2803 65.7002
c-4.91016 28.1201 5 54.2197 23.1904 71.7998c23.5596 22.75 39.5596 52.1396 39.5596 84.8896v1.61035c0 106.04 85.96 192 192 192h56l153.25 87.5703c9.66992 5.51953 20.6104 8.42969 31.75 8.42969h20.4902c0.00390625 0 0.0166016 0.00878906 0.0214844 0.00878906
c17.6602 0 33.6582 -7.17188 45.2383 -18.7588l13.25 -13.25h32zM512 400c-8.83984 0 -16 -7.16016 -16 -16s7.16016 -16 16 -16s16 7.16016 16 16s-7.16016 16 -16 16zM544 304c20.8301 0 38.4297 13.4199 45.0498 32h-77.0498l-118.57 -59.29l13.7705 -27.5498
l101.84 54.8398h34.96z" />
    <glyph glyph-name="ring" unicode="&#xf70b;" 
d="M256 384c145.94 0 256 -61.9102 256 -144v-98.1299c0 -78.3506 -114.62 -141.87 -256 -141.87s-256 63.5195 -256 141.87v98.1299c0 82.0898 110.06 144 256 144zM256 320c-106.04 0 -192 -35.8203 -192 -80c0 -9.25977 3.96973 -18.1201 10.9102 -26.3896
c44.9395 26.1797 108.859 42.3896 181.09 42.3896s136.15 -16.21 181.09 -42.3896c6.94043 8.26953 10.9102 17.1299 10.9102 26.3896c0 44.1797 -85.96 80 -192 80zM120.43 183.36c34.7305 -14.4307 82.6406 -23.3604 135.57 -23.3604s100.84 8.92969 135.57 23.3604
c-34.6104 14.71 -81.21 24.6396 -135.57 24.6396s-100.96 -9.92969 -135.57 -24.6396z" />
    <glyph glyph-name="running" unicode="&#xf70c;" horiz-adv-x="416" 
d="M272 352c-26.5098 0 -48 21.4902 -48 48s21.4902 48 48 48s48 -21.4902 48 -48s-21.4902 -48 -48 -48zM113.69 130.53c7.92969 -17.2402 20.6699 -32.3799 37.9893 -42.6104l10.6699 -6.2998l-8.79004 -20.5205c-7.5293 -17.6494 -24.8594 -29.0898 -44.1094 -29.0898
h-77.4502c-17.6699 0 -32 14.3301 -32 32s14.3301 32 32 32h66.8896zM384 224.01c17.6699 0 32 -14.3193 32 -31.9902c0 -17.6699 -14.3301 -32 -32 -32h-53.9902c-18.1895 0 -35.1094 10.5508 -43.1094 26.8906l-20.2705 41.4297l-31.3096 -78.2803l61.2393 -36.1396
c18.75 -11.3096 27.5508 -33.6201 21.6406 -54.3896l-31.6406 -101.061c-4.29004 -13.6797 -16.9092 -22.4502 -30.5195 -22.4502c-3.16992 0 -6.38965 0.480469 -9.58008 1.48047c-16.8604 5.28027 -26.25 23.2305 -20.9697 40.0898l27.4697 87.7305l-84.9795 50.1699
c-27.6104 16.2998 -38.9209 50.8301 -26.3008 80.3096l37.46 87.3906l-14.6992 4.36914c-7.83008 1.86035 -17.6006 -0.25 -25.2705 -6.13965l-39.6895 -30.4102c-14.0205 -10.7402 -34.0908 -8.10938 -44.8604 5.91992c-10.7705 14.0303 -8.11035 34.1104 5.91992 44.8604
l39.6699 30.4102c23.0703 17.6895 52.54 23.9395 80.8398 17.1396l71.0801 -21.1396c26.3301 -6.70996 49.2803 -25.3906 61.7803 -50.9404l26.0596 -53.25h44.0303z" />
    <glyph glyph-name="scroll" unicode="&#xf70e;" horiz-adv-x="640" 
d="M48 448c26.4697 0 48 -21.5303 48 -48v-80h-80c-8.83984 0 -16 7.16016 -16 16v64c0 26.4697 21.5303 48 48 48zM256 35.4297c0 -31.8896 -21.7803 -61.4297 -53.25 -66.5498c-40.0996 -6.53027 -74.75 24.25 -74.75 63.1201v368c0 18.0801 -6.25977 34.5898 -16.4102 48
h336.41c52.9404 0 96 -43.0596 96 -96v-256h-288v-60.5703zM288 64h336c8.83984 0 16 -7.16016 16 -16c0 -61.8604 -50.1396 -112 -112 -112h-336c52.9404 0 96 43.0703 96 96v32z" />
    <glyph glyph-name="skull-crossbones" unicode="&#xf714;" horiz-adv-x="448" 
d="M439.15 -5.05957c7.89941 -3.9502 11.1094 -13.5605 7.15918 -21.4707l-14.3096 -28.6299c-3.95996 -7.89941 -13.5703 -11.0996 -21.4697 -7.14941l-186.53 90.7197l-186.52 -90.7197c-7.91016 -3.95996 -17.5205 -0.75 -21.4707 7.14941l-14.3096 28.6299
c-3.95996 7.91016 -0.75 17.5205 7.14941 21.4707l141.98 69.0596l-141.99 69.0596c-7.89941 3.9502 -11.0996 13.5605 -7.14941 21.46l14.3096 28.6309c3.95996 7.90918 13.5703 11.1094 21.4697 7.15918l186.53 -90.7197l186.53 90.7197
c7.91016 3.9502 17.5195 0.740234 21.4697 -7.15918l14.3096 -28.6309c3.95996 -7.89941 0.75 -17.5098 -7.14941 -21.46l-141.99 -69.0596zM150 210.72c-41.7803 22.4102 -70 62.75 -70 109.28c0 70.6904 64.4697 128 144 128s144 -57.3096 144 -128
c0 -46.5303 -28.2197 -86.8701 -70 -109.28l5.5 -25.8701c2.66992 -12.6191 -5.41992 -24.8496 -16.4502 -24.8496h-126.08c-11.0293 0 -19.1201 12.2305 -16.4502 24.8496zM280 336c-17.6504 0 -32 -14.3496 -32 -32s14.3496 -32 32 -32s32 14.3496 32 32
s-14.3496 32 -32 32zM168 336c-17.6504 0 -32 -14.3496 -32 -32s14.3496 -32 32 -32s32 14.3496 32 32s-14.3496 32 -32 32z" />
    <glyph glyph-name="slash" unicode="&#xf715;" horiz-adv-x="640" 
d="M594.53 -60.6299l-588.351 454.729c-6.96973 5.41992 -8.22949 15.4707 -2.80957 22.4502l19.6396 25.2705c5.41992 6.97949 15.4805 8.23926 22.46 2.80957l588.351 -454.729c6.96973 -5.41992 8.22949 -15.4707 2.80957 -22.4502l-19.6396 -25.2705
c-5.41992 -6.97949 -15.4805 -8.22949 -22.46 -2.80957z" />
    <glyph glyph-name="spider" unicode="&#xf717;" horiz-adv-x="576" 
d="M151.17 280.65l-27.1504 54.2998c-2.14551 4.29883 -3.3623 9.18359 -3.3623 14.3115c0 3.53516 0.573242 6.9375 1.63281 10.1182l25.8896 77.6797c2.79004 8.39062 11.8604 12.9209 20.2402 10.1201l15.1699 -5.05957
c8.39062 -2.7998 12.9102 -11.8604 10.1201 -20.2402l-23.7998 -71.3896l20.29 -40.5801c-1.41016 -4.20996 -2.49023 -8.20996 -3.20996 -11.79l-5.2207 -26.1201h-4.66992zM573.31 98.6201c4.90039 -7.35059 2.9209 -17.2803 -4.43945 -22.1797l-13.3105 -8.88086
c-7.34961 -4.89941 -17.29 -2.90918 -22.1895 4.44043l-48 72h-47.0605l60.8301 -97.3301c3.16992 -5.08008 4.86035 -10.96 4.86035 -16.96v-77.71c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v73.1104l-74.0801 118.529
c1 -14.0498 2.08008 -28.1094 2.08008 -42.21c0 -53.0693 -40.7598 -101.43 -96 -101.43s-96 48.3604 -96 101.43c0 14.1006 1.07031 28.1602 2.08008 42.21l-74.0801 -118.529v-73.1104c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v77.7002
c0 0.00292969 0.0205078 0.0400391 0.0205078 0.0439453c0 6.20898 1.77246 12.0078 4.83984 16.916l60.8301 97.3301h-47.0605l-48 -72c-4.89941 -7.35059 -14.8398 -9.33984 -22.1895 -4.44043l-13.3105 8.87988c-7.36035 4.90039 -9.33984 14.8398 -4.43945 22.1904
l52.7393 79.1299c5.74121 8.60547 15.5186 14.248 26.6299 14.25h77.9404l-68.9902 24.3496c-6.81738 2.27441 -12.5947 6.74023 -16.5098 12.6104l-53.5996 80.4102c-4.90039 7.36035 -2.91016 17.29 4.43945 22.1895l13.3105 8.88086
c7.35938 4.89941 17.29 2.90918 22.1895 -4.44043l50.5703 -75.8301l60.4902 -20.1699h36.0996l10.3701 51.8496c2.18945 10.9707 17.3701 60.1504 69.6299 60.1504s67.4404 -49.1797 69.6299 -60.1504l10.3701 -51.8496h36.0996l60.5 20.1699l50.5605 75.8301
c4.89941 7.34961 14.8398 9.33984 22.1895 4.44043l13.3105 -8.88086c7.34961 -4.89941 9.33984 -14.8398 4.43945 -22.1895l-53.5996 -80.4102c-3.91504 -5.87012 -9.69238 -10.3359 -16.5098 -12.6104l-68.9902 -24.3594h77.9404
c11.1084 -0.00292969 20.8828 -5.64453 26.6191 -14.25zM406.09 350.49l-23.7998 71.3896c-2.79004 8.37988 1.74023 17.4404 10.1201 20.2402l15.1699 5.05957c8.37988 2.80078 17.4502 -1.73926 20.2402 -10.1201l25.8896 -77.6797
c1.06152 -3.18164 1.62598 -6.62109 1.62598 -10.1582c0 -5.12695 -1.20801 -9.97461 -3.35547 -14.2715l-27.1504 -54.2998l-25.9297 -8.65039h-4.66992l-5.2207 26.1201c-0.719727 3.58008 -1.7998 7.58008 -3.20996 11.79z" />
    <glyph glyph-name="toilet-paper" unicode="&#xf71e;" horiz-adv-x="576" 
d="M128 448h284.44c-36.7705 -38.4805 -60.4404 -108.4 -60.4404 -192v-172.07c0 -53.6494 -11.8799 -87.5693 -24.71 -126.05c-4.36035 -13.0703 -16.5898 -21.8799 -30.3604 -21.8799h-280.92c-10.9199 0 -18.6299 10.7002 -15.1797 21.0596
c21.3701 64.1006 31.1699 85.75 31.1699 126.87v172.07c0 106.04 42.9805 192 96 192zM96 224c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16zM160 224c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16
s7.16016 -16 16 -16zM224 224c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16zM288 224c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16zM480 448c53.0195 0 96 -85.96 96 -192
s-42.9805 -192 -96 -192s-96 85.96 -96 192s42.9805 192 96 192zM480 192c17.6699 0 32 28.6504 32 64s-14.3301 64 -32 64s-32 -28.6504 -32 -64s14.3301 -64 32 -64z" />
    <glyph glyph-name="tractor" unicode="&#xf722;" horiz-adv-x="640" 
d="M528 112c48.5996 0 88 -39.4004 88 -88s-39.4004 -88 -88 -88s-88 39.4004 -88 88s39.4004 88 88 88zM528 0c13.2305 0 24 10.7695 24 24s-10.7695 24 -24 24s-24 -10.7695 -24 -24s10.7695 -24 24 -24zM608 288c17.6699 0 32 -14.3301 31.9902 -32v-50.7598
c0 -8.49023 -3.37012 -16.6299 -9.37012 -22.6299l-50.8203 -50.8203c-15.7295 7.58984 -33.1602 12.2002 -51.7998 12.2002c-39.1396 0 -73.5498 -19.0098 -95.46 -48h-80.54v-6c0 -12.1504 -9.84961 -22 -22 -22h-7.16016
c-2.9502 -9.90039 -6.91992 -19.46 -11.9102 -28.7207l5.06055 -5.05957c8.58984 -8.58984 8.58984 -22.5195 0 -31.1104l-31.1104 -31.1094c-8.58984 -8.58984 -22.5195 -8.58984 -31.1104 0l-5.05957 5.05957c-9.25977 -4.99023 -18.8203 -8.95996 -28.7197 -11.9102
v-7.13965c0 -12.1504 -9.85059 -22 -22 -22h-44c-12.1504 0 -22 9.84961 -22 22v7.15039c-9.90039 2.94922 -19.46 6.91992 -28.7207 11.9092l-5.05957 -5.05957c-8.58984 -8.58984 -22.5195 -8.58984 -31.1104 0l-31.1094 31.1104
c-8.58984 8.58984 -8.58984 22.5195 0 31.1094l5.05957 5.06055c-4.99023 9.26953 -8.9502 18.8193 -11.9102 28.7295h-7.13965c-12.1504 0 -22 9.85059 -22 22v44c0 12.1504 9.84961 22 22 22h7.15039c2.94922 9.90039 6.91992 19.46 11.9092 28.7207l-5.05957 5.05957
c-8.58984 8.58984 -8.58984 22.5195 0 31.1104l31.1104 31.1094c7.92969 7.93066 20.2598 8.2002 28.8896 1.4707v146.52c0 26.4697 21.5303 48 48 48h133.45c0.015625 0 0.00878906 0.0341797 0.0244141 0.0341797c19.7969 0 36.8047 -12.0312 44.1055 -29.1738
l56.0898 -130.86h102.33v40.2002c0 29.9902 10.5801 58.8994 29.5 81.7197c6.37988 7.7002 18.04 8.23047 24.7002 0.780273l21.6299 -24.1699c4.87012 -5.43066 5.74023 -13.6904 1.32031 -19.4902c-8.4502 -11.0801 -13.1504 -24.7197 -13.1504 -38.8398v-40.2002h64z
M176 32c44.1797 0 80 35.8203 80 80s-35.8203 80 -80 80s-80 -35.8203 -80 -80s35.8203 -80 80 -80zM198 288h110.04l-41.1504 96h-106.89v-96h38z" />
    <glyph glyph-name="user-injured" unicode="&#xf728;" horiz-adv-x="448" 
d="M277.37 436.02l-90.6904 -68.0195h-81.1895c19.0098 46.8701 64.8193 80 118.51 80c19.1104 0 37.0801 -4.46973 53.3701 -11.9805zM342.51 368h-102.52l66.0293 49.5195c15.8203 -13.3193 28.5908 -30.0498 36.4902 -49.5195zM224 192c-70.6904 0 -128 57.3096 -128 128
c0 5.48047 0.94043 10.7002 1.61035 16h252.779c0.660156 -5.2998 1.61035 -10.5195 1.61035 -16c0 -70.6904 -57.3096 -128 -128 -128zM80 148.3c9.34668 4.14844 19.4795 7.31641 29.8096 9.21973l98.4502 -221.52h-128.26v212.3zM0 -16v41.5996
c0 41.1406 18.8799 77.5107 48 102.16v-191.76c-26.5098 0 -48 21.4902 -48 48zM256 32c26.4697 0 48 -21.5303 48 -48s-21.5303 -48 -48 -48h-12.71l-42.6699 96h55.3799zM313.6 160c74.2305 0 134.4 -60.1699 134.4 -134.4v-41.5996c0 -26.5098 -21.4902 -48 -48 -48
h-80.4102c10.1504 13.4102 16.4102 29.9199 16.4102 48c0 44.1104 -35.8896 80 -80 80h-69.5898l-42.6699 96h7.37012c22.2393 -10.1797 46.8799 -16 72.8896 -16s50.6504 5.82031 72.8896 16h16.71z" />
    <glyph glyph-name="vr-cardboard" unicode="&#xf729;" horiz-adv-x="640" 
d="M608 384c17.6699 0 32 -14.3301 32 -32v-320c0 -17.6699 -14.3301 -32 -32 -32h-160.22c-25.1807 0 -48.0303 14.7695 -58.3604 37.7402l-27.7402 61.6396c-7.88965 17.54 -24.0293 28.6201 -41.6797 28.6201s-33.79 -11.0801 -41.6797 -28.6201l-27.7402 -61.6396
c-10.3301 -22.9707 -33.1699 -37.7402 -58.3604 -37.7402h-160.22c-17.6699 0 -32 14.3301 -32 32v320c0 17.6699 14.3301 32 32 32h576zM160 144c35.3496 0 64 28.6504 64 64s-28.6504 64 -64 64s-64 -28.6504 -64 -64s28.6504 -64 64 -64zM480 144
c35.3496 0 64 28.6504 64 64s-28.6504 64 -64 64s-64 -28.6504 -64 -64s28.6504 -64 64 -64z" />
    <glyph glyph-name="wind" unicode="&#xf72e;" 
d="M156.7 192c48.7002 0 92.2998 -35 98.3994 -83.4004c7.5 -58.5 -38.0996 -108.6 -95.1992 -108.6c-46.6006 0 -85.6006 33.5 -94.2002 77.5996c-1.7998 9.60059 6.09961 18.4004 15.8994 18.4004h32.8008c6.59961 0 13.0996 -3.7998 15.1992 -10.0996
c4.30078 -12.7002 16.3008 -21.9004 30.4004 -21.9004c19.5 0 34.9004 17.4004 31.5996 37.4004c-2.59961 15.6992 -17.5 26.5996 -33.3994 26.5996h-142.2c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h140.7zM16 224c-8.7998 0 -16 7.2002 -16 16v32
c0 8.7998 7.2002 16 16 16h334.2c16 0 30.7998 10.9004 33.3994 26.5996c3.30078 20 -12.1992 37.4004 -31.5996 37.4004c-14.0996 0 -26.0996 -9.2002 -30.4004 -21.9004c-2.09961 -6.2998 -8.5 -10.0996 -15.1992 -10.0996h-32.8008
c-9.69922 0 -17.6992 8.7002 -15.7998 18.2998c9.7998 50.6006 59.5 87.1006 114.9 75.5c36.2002 -7.59961 65.5 -36.8994 73.0996 -73.0996c13 -61.9004 -34.0996 -116.7 -93.7998 -116.7h-336zM400 192c70.5 0 126 -65.5 108.9 -138.7
c-9.60059 -41.0996 -43.5 -74 -84.7002 -82.7002c-58.9004 -12.5 -111.601 21.7002 -129.4 72.3008c-3.7002 10.2998 4.40039 21.0996 15.2998 21.0996h33.8008c5.7998 0 11.5996 -2.59961 14.5 -7.59961c8.2998 -14.5 23.6992 -24.4004 41.5996 -24.4004
c26.5 0 48 21.5 48 48s-21.5 48 -48 48h-116.5c-6.59961 25.2002 -20.5 47.4004 -39.7998 64h156.3z" />
    <glyph glyph-name="wine-bottle" unicode="&#xf72f;" 
d="M507.31 375.43c6.25 -6.25 6.25 -16.3799 0.0107422 -22.6201l-22.6299 -22.6299c-6.25 -6.25 -16.3809 -6.25 -22.6309 0l-76.6699 -76.6699c19.7002 -46.5801 10.7305 -102.41 -27.2295 -140.37l-158.391 -158.39c-24.9893 -24.9902 -65.5195 -24.9902 -90.5098 0
l-90.5098 90.5098c-24.9902 24.9902 -24.9902 65.5205 0 90.5098l158.38 158.381c37.9697 37.96 93.79 46.9297 140.37 27.2295l76.6699 76.6699c-6.25 6.25 -6.25 16.3799 0 22.6299l22.6299 22.6299c6.25 6.25 16.3799 6.25 22.6299 0zM179.22 24.71l122.04 122.04
l-90.5098 90.5098l-122.04 -122.04z" />
    <glyph glyph-name="cloud-meatball" unicode="&#xf73b;" 
d="M48 96c26.5 0 48 -21.5 48 -48s-21.5 -48 -48 -48s-48 21.5 -48 48s21.5 48 48 48zM464 96c26.5 0 48 -21.5 48 -48s-21.5 -48 -48 -48s-48 21.5 -48 48s21.5 48 48 48zM345 84.9004c13.5 -7 23 -20.7002 23 -36.9004s-9.5 -29.9004 -23 -36.9004
c4.59961 -14.5 1.7002 -30.7998 -9.7998 -42.2998c-8.2002 -8.2002 -18.9004 -12.2998 -29.7002 -12.2998c-4.2998 0 -8.5 1.2002 -12.5996 2.5c-7 -13.5 -20.7002 -23 -36.9004 -23s-29.9004 9.5 -36.9004 23c-4.09961 -1.40039 -8.2998 -2.5 -12.5996 -2.5
c-10.7998 0 -21.5 4.09961 -29.7002 12.2998c-11.5 11.5 -14.5 27.7998 -9.89941 42.2998c-13.5 7 -23 20.7002 -23 36.9004s9.5 29.9004 23 36.9004c-4.5 14.5 -1.60059 30.7998 9.89941 42.2998s27.7998 14.5 42.2998 9.89941c7 13.5 20.7002 23 36.9004 23
s29.9004 -9.5 36.9004 -23c14.5 4.5 30.7998 1.60059 42.2998 -9.89941c11.3994 -11.5 14.3994 -27.7998 9.7998 -42.2998zM512 224c0 -53 -43 -96 -96 -96h-43.4004c-3.5 8 -8.39941 15.4004 -14.7998 21.7998c-13.5 13.5 -31.5 21.1006 -50.7998 21.2998
c-13.5 13.2002 -31.7002 20.9004 -51 20.9004s-37.5 -7.7002 -51 -20.9004c-19.2998 -0.199219 -37.2998 -7.7998 -50.7998 -21.2998c-6.40039 -6.39941 -11.2002 -13.7998 -14.7998 -21.7998h-43.4004c-53 0 -96 43 -96 96c0 42.5 27.7998 78.2002 66.0996 90.7998
c-1.2998 6.90039 -2.09961 13.9004 -2.09961 21.2002c0 61.9004 50.0996 112 112 112c43.2998 0 80.4004 -24.7998 99 -60.7998c14.7002 17.5 36.4004 28.7998 61 28.7998c44.2002 0 80 -35.7998 80 -80c0 -5.59961 -0.5 -11 -1.59961 -16.2002
c0.5 0 1 0.200195 1.59961 0.200195c53 0 96 -43 96 -96z" />
    <glyph glyph-name="cloud-moon-rain" unicode="&#xf73c;" horiz-adv-x="576" 
d="M350.5 222.5c37.2998 -6.7998 65.5 -39.2998 65.5 -78.5c0 -44.2002 -35.7998 -80 -80 -80h-256c-44.2002 0 -80 35.7998 -80 80c0 38.7998 27.5996 71.0996 64.2002 78.4004c0 0.5 -0.200195 1.09961 -0.200195 1.59961c0 53 43 96 96 96
c32.0996 0 60.2998 -15.9004 77.7002 -40c10.3994 5 22 8 34.2998 8c39.2002 0 71.5996 -28.2998 78.5 -65.5zM567.9 224.2c6.19922 1.2002 10.5996 -6 6.39941 -10.7998c-27 -33.1006 -67.8994 -53.3008 -112.6 -53.3008c-5.2002 0 -10.1006 1 -15.2002 1.5
c-6.2002 39.4004 -33.0996 72.5 -70.2002 86.8008c-10.7002 27.8994 -32.2002 49.7998 -58.8994 61.6992c3.2998 76.7002 66.5 137.9 144.399 137.9c8.90039 0 17.7998 -0.799805 26.5 -2.40039c6.2002 -1.09961 7.60059 -9.39941 2.10059 -12.5
c-35.6006 -20.0996 -57.5 -57.5 -57.5 -98.0996c0 -70.5 64.5996 -124.1 135 -110.8zM364.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008l-36.5996 -64c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961
c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6zM268.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008l-36.5996 -64c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961
c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6zM172.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008l-36.5996 -64
c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6zM76.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008
l-36.5996 -64c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6z" />
    <glyph glyph-name="cloud-rain" unicode="&#xf73d;" 
d="M416 320c53 0 96 -43 96 -96s-43 -96 -96 -96h-320c-53 0 -96 43 -96 96c0 42.5 27.7998 78.2002 66.0996 90.7998c-1.2998 6.90039 -2.09961 13.9004 -2.09961 21.2002c0 61.9004 50.0996 112 112 112c43.2998 0 80.4004 -24.7998 99 -60.7998
c14.7002 17.5 36.4004 28.7998 61 28.7998c44.2002 0 80 -35.7998 80 -80c0 -5.59961 -0.5 -11 -1.59961 -16.2002c0.5 0 1 0.200195 1.59961 0.200195zM88 73.7998c2.5 8.5 13.7998 8.10059 16 0c12.7998 -44.5996 40 -56.2998 40 -87.7002
c0 -27.6992 -21.5 -50.0996 -48 -50.0996s-48 22.4004 -48 50.0996c0 31.3008 27.2002 43.3008 40 87.7002zM248 73.7998c2.5 8.5 13.7998 8.10059 16 0c12.7998 -44.5996 40 -56.2998 40 -87.7002c0 -27.6992 -21.5 -50.0996 -48 -50.0996s-48 22.4004 -48 50.0996
c0 31.3008 27.2002 43.3008 40 87.7002zM408 73.7998c2.5 8.5 13.7998 8.10059 16 0c12.7998 -44.5996 40 -56.2998 40 -87.7002c0 -27.6992 -21.5 -50.0996 -48 -50.0996s-48 22.4004 -48 50.0996c0 31.3008 27.2002 43.3008 40 87.7002z" />
    <glyph glyph-name="cloud-showers-heavy" unicode="&#xf740;" 
d="M183.9 77.9004c7.69922 -4.40039 10.3994 -14.2002 6 -21.8008l-64 -112c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.30078 -10.3994 14.1006 -6 21.8008l64 112
c4.40039 7.7998 14.2002 10.3994 21.8008 6zM279.9 77.9004c7.69922 -4.40039 10.3994 -14.2002 6 -21.8008l-64 -112c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.30078 -10.3994 14.1006 -6 21.8008
l64 112c4.40039 7.7998 14.2002 10.3994 21.8008 6zM87.9004 77.9004c7.69922 -4.40039 10.3994 -14.2002 6 -21.8008l-64 -112c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961
c-7.69922 4.30078 -10.3994 14.1006 -6 21.8008l64 112c4.40039 7.7998 14.2002 10.3994 21.8008 6zM471.9 77.9004c7.69922 -4.40039 10.3994 -14.2002 6 -21.8008l-64 -112c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961
c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.30078 -10.3994 14.1006 -6 21.8008l64 112c4.40039 7.7998 14.2002 10.3994 21.8008 6zM375.9 77.9004c7.69922 -4.40039 10.3994 -14.2002 6 -21.8008l-64 -112
c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.30078 -10.3994 14.1006 -6 21.8008l64 112c4.40039 7.7998 14.2002 10.3994 21.8008 6zM416 320c53 0 96 -43 96 -96s-43 -96 -96 -96h-320
c-53 0 -96 43 -96 96c0 42.5 27.7998 78.2002 66.0996 90.7998c-1.2998 6.90039 -2.09961 13.9004 -2.09961 21.2002c0 61.9004 50.2002 112 112 112c43.2998 0 80.4004 -24.7998 99 -60.7998c14.7002 17.5 36.4004 28.7998 61 28.7998c44.2002 0 80 -35.7998 80 -80
c0 -5.59961 -0.5 -11 -1.59961 -16.2002c0.5 0 1 0.200195 1.59961 0.200195z" />
    <glyph glyph-name="cloud-sun-rain" unicode="&#xf743;" horiz-adv-x="576" 
d="M510.5 222.5c37.2998 -6.7998 65.5 -39.2998 65.5 -78.5c0 -44.2002 -35.7998 -80 -80 -80h-256c-44.2002 0 -80 35.7998 -80 80c0 38.7998 27.5996 71 64.2002 78.4004c0 0.5 -0.200195 1.09961 -0.200195 1.59961c0 53 43 96 96 96
c32.0996 0 60.2998 -15.9004 77.7002 -40c10.3994 5 22 8 34.2998 8c39.2002 0 71.5996 -28.2998 78.5 -65.5zM124.1 188.1c3.10059 -3.09961 6.60059 -5.59961 10.2002 -8.2998c-3.89941 -11.3994 -6.2002 -23.3994 -6.2002 -35.8994c0 -2.5 0.5 -4.80078 0.700195 -7.2002
l-59.2002 -19.7002c-10.1992 -3.2998 -19.8994 6.2998 -16.5 16.5l25.1006 75.2998l-71 35.5c-9.60059 4.7998 -9.60059 18.5 0 23.2998l71 35.5l-25.1006 75.3008c-3.39941 10.1992 6.2002 19.8994 16.4004 16.5l75.2998 -25.1006l35.5 71
c4.7998 9.60059 18.5 9.60059 23.2998 0l35.5 -71l75.3008 25.1006c10.1992 3.39941 19.8994 -6.2002 16.5 -16.4004l-8.90039 -26.7002c-0.700195 0 -1.2998 0.200195 -2 0.200195c-25.5996 0 -49.2002 -7.7998 -69.2002 -20.7002
c-37.5996 29.4004 -92.0996 27.2002 -126.7 -7.39941c-37.3994 -37.5 -37.3994 -98.4004 0 -135.801zM193.9 246.1c-18.2002 -8.2998 -33.5 -21.2998 -44.8008 -37.1992c-12.8994 11.6992 -21.0996 28.3994 -21.0996 47.0996c0 35.2998 28.7002 64 64 64
c12.4004 0 24 -3.7002 33.7998 -9.90039c-16.0996 -17.5996 -27.5996 -39.5 -31.8994 -64zM524.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008l-36.5996 -64c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961
c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6zM428.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008l-36.5996 -64c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961
c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6zM332.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008l-36.5996 -64
c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6zM236.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008
l-36.5996 -64c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6z" />
    <glyph glyph-name="democrat" unicode="&#xf747;" horiz-adv-x="640" 
d="M637.3 191.1c4.90039 -7.39941 2.90039 -17.2998 -4.39941 -22.2998l-26.6006 -17.7002c-7.39941 -4.89941 -17.2998 -3 -22.2002 4.40039c-21.7998 32.7002 -23.8994 38.0996 -40.0996 50.2998v-77.7998h-352l-54 108l-38.0996 -34.5996
c-6 -6 -14.1006 -9.40039 -22.6006 -9.40039h-31c-12.0996 0 -23.2002 6.90039 -28.5996 17.7002l-14.2998 28.5996c-5.40039 10.7998 -4.30078 23.7998 3 33.5l74.5996 99.2998c1.7002 2.30078 4.2002 3.7002 6.40039 5.40039c-4 2.2002 -8 4.2002 -11.3008 7.5
c-16.3994 16.4004 -18.3994 41.7998 -6.09961 60.4004c2.7998 4.19922 8.7998 4.7998 12.4004 1.19922l42.8994 -42.7998l41.7998 41.7998c4.40039 4.40039 11.8008 3.7002 15.2002 -1.5c15.1006 -22.7998 12.6006 -53.7998 -7.5 -73.8994l81.2002 -81.2002h235.6
c50.8008 0 97.9004 -25.2002 126.101 -67.5zM296.2 204.7c3 2.89941 1.39941 7.89941 -2.60059 8.5l-22.7998 3.2998l-10.2002 20.7002c-1.89941 3.7002 -7.19922 3.7002 -9 0l-10.1992 -20.7002l-22.8008 -3.2998c-4.09961 -0.600586 -5.7998 -5.60059 -2.7998 -8.5
l16.5 -16.1006l-3.89941 -22.6992c-0.700195 -4.10059 3.59961 -7.2002 7.19922 -5.30078l20.4004 10.7002l20.4004 -10.7002c3.59961 -1.89941 7.89941 1.2002 7.19922 5.30078l-3.89941 22.6992zM408.2 204.7c3 2.89941 1.39941 7.89941 -2.60059 8.5l-22.7998 3.2998
l-10.2002 20.7002c-1.89941 3.7002 -7.19922 3.7002 -9 0l-10.1992 -20.7002l-22.8008 -3.2998c-4.09961 -0.600586 -5.7998 -5.60059 -2.7998 -8.5l16.5 -16.1006l-3.89941 -22.6992c-0.700195 -4.10059 3.59961 -7.2002 7.19922 -5.30078l20.4004 10.7002
l20.4004 -10.7002c3.59961 -1.89941 7.89941 1.2002 7.19922 5.30078l-3.89941 22.6992zM520.2 204.7c3 2.89941 1.39941 7.89941 -2.60059 8.5l-22.7998 3.2998l-10.2002 20.7002c-1.89941 3.7002 -7.19922 3.7002 -9 0l-10.1992 -20.7002l-22.8008 -3.2998
c-4.09961 -0.600586 -5.7998 -5.60059 -2.7998 -8.5l16.5 -16.1006l-3.89941 -22.6992c-0.700195 -4.10059 3.59961 -7.2002 7.19922 -5.30078l20.4004 10.7002l20.4004 -10.7002c3.59961 -1.89941 7.89941 1.2002 7.19922 5.30078l-3.89941 22.6992zM192 -48v144h352v-144
c0 -8.7998 -7.2002 -16 -16 -16h-64c-8.7998 0 -16 7.2002 -16 16v80h-160v-80c0 -8.7998 -7.2002 -16 -16 -16h-64c-8.7998 0 -16 7.2002 -16 16z" />
    <glyph glyph-name="flag-usa" unicode="&#xf74d;" 
d="M32 448c17.7002 0 32 -14.2998 32 -32v-464c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v464c0 17.7002 14.2998 32 32 32zM299.9 144.4c31.0996 -8.2002 62.5996 -16.5 100 -16.6006c31.8994 0 68.5 6.7998 112.1 24.1006v-36
c0 -12.3008 -7.09961 -23.8008 -18.5 -28.8008c-175.8 -76.3994 -211.8 69.1006 -397.5 -23.0996v69.2998c92.2002 39.9004 146.7 26.2002 203.9 11.1006zM299.9 240.4c31.0996 -8.2002 62.5996 -16.5 100 -16.5c31.8994 0 68.5 6.7998 112.1 24.0996v-61.5
c-92.2002 -39.9004 -146.7 -26.2002 -203.9 -11.0996c-57.5 15.0996 -117.3 30 -212.1 -7.60059v61.5c92.2002 39.9004 146.7 26.2002 203.9 11.1006zM309.4 366.3c-7 2.10059 -14.1006 4.2002 -21.3008 6.2002v-33.2002c4 -1.09961 8.10059 -2.2998 12.1006 -3.5
c26.7002 -8.09961 52.8994 -15.8994 85.7002 -15.8994c32.7998 0 72.5 7.89941 126.1 31.3994v-68.8994c-92.2002 -39.8008 -146.7 -26.1006 -203.9 -11.1006c-57.5 15.1006 -117.3 29.9004 -212.1 -7.59961v151.899c209.4 94.6006 195.3 -59.0996 366.6 28.2002
c22.6006 11.5 49.4004 -1.5 49.4004 -26.5996v-30.7998c-105.2 -49.1006 -150.8 -35.7002 -202.6 -20.1006zM160 319.9c8.7998 0 16 7.09961 16 16c0 8.89941 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.90039 7.2002 -16 16 -16zM160 375.7c8.7998 0 16 7.2002 16 16
c0 8.89941 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.90039 7.2002 -16 16 -16zM224 327.8c8.7998 0 16 7.2002 16 16c0 8.90039 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.89941 7.2002 -16 16 -16zM224 383.7c8.7998 0 16 7.2002 16 16c0 8.89941 -7.2002 16 -16 16
s-16 -7.2002 -16 -16c0 -8.90039 7.2002 -16 16 -16z" />
    <glyph glyph-name="meteor" unicode="&#xf753;" 
d="M511.328 427.197c-11.6074 -38.7021 -34.3076 -111.702 -61.3037 -187.701c6.99902 -2.09375 13.4043 -4 18.6074 -5.59277c6.58301 -2.00684 11.3779 -8.13184 11.3779 -15.3672c0 -2.71875 -0.685547 -5.29395 -1.87988 -7.53906
c-22.1055 -42.2969 -82.6904 -152.795 -142.479 -214.403c-0.999023 -1.09375 -1.99902 -2.5 -2.99902 -3.5c-35.2676 -35.2773 -83.9824 -57.1094 -137.757 -57.1094c-107.53 0 -194.83 87.2998 -194.83 194.83c0 53.7559 21.7637 102.511 57.0195 137.775
c1 1 2.40625 2 3.49902 3c61.6006 59.9053 171.975 120.405 214.374 142.498c2.24512 1.19434 4.80664 1.87109 7.52441 1.87109c7.23535 0 13.374 -4.78711 15.3779 -11.3711c1.59375 -5.09375 3.5 -11.5928 5.59277 -18.5928
c75.8955 26.999 148.978 49.7021 187.675 61.2959c1.4834 0.448242 3.05664 0.689453 4.68652 0.689453c8.93164 0 16.1826 -7.25098 16.1826 -16.1826c0 -1.59961 -0.236328 -3.14062 -0.668945 -4.60059zM319.951 127.998
c-0.00976562 70.626 -57.3525 127.962 -127.98 127.962c-70.6348 0 -127.98 -57.3457 -127.98 -127.98c0 -70.6338 57.3457 -127.979 127.98 -127.979c70.6318 0 127.976 57.3438 127.976 127.976c0 0.0078125 0.00488281 0.0146484 0.00488281 0.0224609zM191.971 159.997
c-0.00292969 -17.6562 -14.3379 -31.9902 -31.9951 -31.9902c-17.6582 0 -31.9951 14.3369 -31.9951 31.9951c0 17.6592 14.3369 31.9951 31.9951 31.9951h0.0371094c17.6387 0 31.959 -14.3203 31.959 -31.959
c0 -0.0136719 -0.000976562 -0.0263672 -0.000976562 -0.0410156v0zM223.966 79.998c-0.000976562 -8.82812 -7.16895 -15.9951 -15.998 -15.9951s-15.9971 7.16895 -15.9971 15.998s7.16797 15.9971 15.9971 15.9971c8.81738 -0.0283203 15.9707 -7.18262 15.998 -16v0z
" />
    <glyph glyph-name="person-booth" unicode="&#xf756;" horiz-adv-x="576" 
d="M192 -48v176h64v-176c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16zM224 224c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32h-57.5c-12.7998 0 -24.7998 5 -33.9004 14.0996l-20.8994 20.9004v-80.5996l41.2002 -61.3008
c4.39941 -8.7998 6.69922 -18.6992 6.69922 -28.5996v-56.5c0 -17.7002 -14.2998 -32 -32 -32c-17.6992 0 -32 14.2998 -32 32v56l-29.0996 43c-0.900391 0.400391 -1.59961 1.2002 -2.5 1.7002l-0.0996094 -100.7c0 -17.7002 -14.4004 -32 -32 -32
c-17.6006 0 -31.9004 14.2998 -31.9004 32l0.200195 160l-0.200195 95.9004c0 17.0996 6.7002 33.1992 18.7002 45.2998c12.0996 12.0996 28.2002 18.7998 45.2998 18.7998h18.7002c17 0 33.0996 -6.59961 45.2002 -18.7002l45.1992 -45.2998h50.9004zM64 320
c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM288 416v32h192v-416c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32c0 -17.7002 -14.2998 -32 -32 -32c-17.0996 0 -30.7998 13.5 -31.7002 30.4004
c-4.2998 -21.3008 -17.0996 -30.4004 -32.2998 -30.4004c-18.4004 0 -35.7002 16.7002 -31.4004 38.2998l30.9004 154.601zM192 416c0 17.7002 14.2998 32 32 32h32v-192h-64v160zM544 448c17.7002 0 32 -14.2998 32 -32v-464c0 -8.7998 -7.2002 -16 -16 -16h-32
c-8.7998 0 -16 7.2002 -16 16v496h32z" />
    <glyph glyph-name="poo-storm" unicode="&#xf75a;" horiz-adv-x="448" 
d="M308 112c9.2002 0 15 -10 10.4004 -18l-88 -152c-2.2002 -3.7998 -6.2002 -6 -10.4004 -6c-7.7002 0 -13.5 7.2002 -11.7002 14.7998l23 97.2002h-59.2998c-7.2998 0 -12.9004 6.40039 -11.9004 13.5996l16 120c0.800781 5.90039 5.90039 10.4004 11.9004 10.4004h68
c7.90039 0 13.5996 -7.5 11.5996 -15.0996l-17.2998 -64.9004h57.7002zM374.4 223.3c41 -3.2998 73.5996 -37.5 73.5 -79.2998c0 -44 -36 -80 -80 -80h-30l8.09961 14c7.7998 13.5 7.7998 30.4004 0 44s-22.4004 22 -38.0996 22h-16l6.59961 24.7002
c3.59961 13.2998 0.799805 27.2002 -7.59961 38.0996c-8.40039 10.9004 -21.1006 17.2002 -34.9004 17.2002h-68c-22 0 -40.7002 -16.4004 -43.7002 -38.2002l-16 -120c0 -0.599609 0.100586 -1.2002 0 -1.7998h-48.2998c-44 0 -80 36 -80 80
c0 41.7998 32.5996 76 73.5996 79.2998c-5.89941 9.60059 -9.59961 20.6006 -9.59961 32.7002c0 35.2998 28.7002 64 64 64h16c44.2002 0 80 35.7998 80 80c0 17.4004 -5.7002 33.4004 -15.0996 46.5c4.89941 0.799805 9.89941 1.5 15.0996 1.5c53 0 96 -43 96 -96
c0 -11.2998 -2.2998 -21.9004 -5.90039 -32h5.90039c35.2998 0 64 -28.7002 64 -64c0 -12.0996 -3.7002 -23.0996 -9.59961 -32.7002z" />
    <glyph glyph-name="rainbow" unicode="&#xf75b;" horiz-adv-x="576" 
d="M268.3 415.3c167.7 11.2998 307.7 -122 307.7 -287.3v-144c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v136.2c0 113.8 -81.5996 215.399 -194.5 229.899c-136.6 17.6006 -253.5 -88.8994 -253.5 -222.1v-144c0 -8.7998 -7.2002 -16 -16 -16h-32
c-8.7998 0 -16 7.2002 -16 16v133.8c0 153.3 115.4 287.3 268.3 297.5zM262.7 318.4c117.1 15 217.3 -76.2002 217.3 -190.4v-144c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v138.3c0 66.9004 -48.7002 126.601 -115.2 133.101
c-76.2998 7.39941 -140.8 -52.6006 -140.8 -127.4v-144c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v137.3c0 97.6006 70 184.7 166.7 197.101zM268.9 222.1c61.2998 11.9004 115.1 -34.8994 115.1 -94.0996v-144c0 -8.7998 -7.2002 -16 -16 -16h-32
c-8.7998 0 -16 7.2002 -16 16v144c0 17.5996 -14.2998 32 -32 32s-32 -14.4004 -32 -32v-144c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v140.2c0 46.3994 31.2998 89 76.9004 97.8994z" />
    <glyph glyph-name="republican" unicode="&#xf75e;" horiz-adv-x="640" 
d="M544 256v-64h-544v64c0 88.4004 71.5996 160 160 160h224c88.4004 0 160 -71.5996 160 -160zM176.3 277.6c3.5 3.5 1.60059 9.5 -3.39941 10.2002l-27.4004 4l-12.2002 24.7998c-2.09961 4.40039 -8.5 4.5 -10.7002 0l-12.1992 -24.7998l-27.4004 -4
c-4.90039 -0.700195 -6.90039 -6.7002 -3.2998 -10.2002l19.7998 -19.2998l-4.7002 -27.2998c-0.799805 -4.90039 4.40039 -8.59961 8.7002 -6.2998l24.5 12.8994l24.5 -12.8994c4.40039 -2.2998 9.5 1.39941 8.7002 6.2998l-4.7002 27.2998zM320.3 277.6
c3.5 3.5 1.60059 9.5 -3.39941 10.2002l-27.4004 4l-12.2002 24.7998c-2.09961 4.40039 -8.5 4.5 -10.7002 0l-12.1992 -24.7998l-27.4004 -4c-4.90039 -0.700195 -6.90039 -6.7002 -3.2998 -10.2002l19.7998 -19.2998l-4.7002 -27.2998
c-0.799805 -4.90039 4.40039 -8.59961 8.7002 -6.2998l24.5 12.8994l24.5 -12.8994c4.40039 -2.2998 9.5 1.39941 8.7002 6.2998l-4.7002 27.2998zM464.3 277.6c3.5 3.5 1.60059 9.5 -3.39941 10.2002l-27.4004 4l-12.2002 24.7998c-2.09961 4.40039 -8.5 4.5 -10.7002 0
l-12.1992 -24.7998l-27.4004 -4c-4.90039 -0.700195 -6.90039 -6.7002 -3.2998 -10.2002l19.7998 -19.2998l-4.7002 -27.2998c-0.799805 -4.90039 4.40039 -8.59961 8.7002 -6.2998l24.5 12.8994l24.5 -12.8994c4.40039 -2.2998 9.5 1.39941 8.7002 6.2998l-4.7002 27.2998z
M624 128c8.7998 0 16 -7.2002 16 -16v-64c0 -46.9004 -40.5996 -84.5 -88.4004 -79.5996c-41.5996 4.19922 -71.5996 42.5 -71.5996 84.2998v43.2998h-32v-112c0 -8.7998 -7.2002 -16 -16 -16h-96c-8.7998 0 -16 7.2002 -16 16v80h-192v-80c0 -8.7998 -7.2002 -16 -16 -16
h-96c-8.7998 0 -16 7.2002 -16 16v176h544v-112c0 -8.7998 7.2002 -16 16 -16s16 7.2002 16 16v64c0 8.7998 7.2002 16 16 16h32z" />
    <glyph glyph-name="smog" unicode="&#xf75f;" horiz-adv-x="640" 
d="M624 80c8.7998 0 16 -7.2002 16 -16v-16c0 -8.7998 -7.2002 -16 -16 -16h-544c-8.7998 0 -16 7.2002 -16 16v16c0 8.7998 7.2002 16 16 16h544zM144 -16c8.7998 0 16 -7.2002 16 -16v-16c0 -8.7998 -7.2002 -16 -16 -16h-128c-8.7998 0 -16 7.2002 -16 16v16
c0 8.7998 7.2002 16 16 16h128zM560 -16c8.7998 0 16 -7.2002 16 -16v-16c0 -8.7998 -7.2002 -16 -16 -16h-336c-8.7998 0 -16 7.2002 -16 16v16c0 8.7998 7.2002 16 16 16h336zM144 160c-79.5 0 -144 64.5 -144 144s64.5 144 144 144c41 0 77.7998 -17.2998 104 -44.7998
c26.2002 27.5 63 44.7998 104 44.7998c54.7998 0 102 -31 126.3 -76.0996c15 7.5 31.7002 12.0996 49.7002 12.0996c61.9004 0 112 -50.0996 112 -112s-50.0996 -112 -112 -112h-60.0996c-22.6006 -19.7002 -51.6006 -32 -83.9004 -32s-61.4004 12.2998 -83.9004 32h-156.1z
" />
    <glyph glyph-name="temperature-high" unicode="&#xf769;" 
d="M416 448c52.9004 0 96 -43.0996 96 -96s-43.0996 -96 -96 -96s-96 43.0996 -96 96s43.0996 96 96 96zM416 320c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM256 336v-166.5c19.7002 -24.5996 32 -55.5 32 -89.5
c0 -79.5 -64.5 -144 -144 -144s-144 64.5 -144 144c0 34 12.2998 64.7998 32 89.5v166.5c0 61.9004 50.0996 112 112 112s112 -50.0996 112 -112zM144 0c44.0996 0 80 35.9004 80 80c0 25.5 -12.2002 49 -32 63.7998v192.2c0 26.5 -21.5 48 -48 48s-48 -21.5 -48 -48v-192.2
c-19.7998 -14.8994 -32 -38.2998 -32 -63.7998c0 -44.0996 35.9004 -80 80 -80zM160 125.1c18.5996 -6.59961 32 -24.1992 32 -45.0996c0 -26.5 -21.5 -48 -48 -48s-48 21.5 -48 48c0 20.9004 13.4004 38.5 32 45.0996v210.9c0 8.7998 7.2002 16 16 16s16 -7.2002 16 -16
v-210.9z" />
    <glyph glyph-name="temperature-low" unicode="&#xf76b;" 
d="M416 448c52.9004 0 96 -43.0996 96 -96s-43.0996 -96 -96 -96s-96 43.0996 -96 96s43.0996 96 96 96zM416 320c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM256 336v-166.5c19.7002 -24.5996 32 -55.5 32 -89.5
c0 -79.5 -64.5 -144 -144 -144s-144 64.5 -144 144c0 34 12.2998 64.7998 32 89.5v166.5c0 61.9004 50.0996 112 112 112s112 -50.0996 112 -112zM144 0c44.0996 0 80 35.9004 80 80c0 25.5 -12.2002 49 -32 63.7998v192.2c0 26.5 -21.5 48 -48 48s-48 -21.5 -48 -48v-192.2
c-19.7998 -14.8994 -32 -38.2998 -32 -63.7998c0 -44.0996 35.9004 -80 80 -80zM160 125.1c18.5996 -6.59961 32 -24.1992 32 -45.0996c0 -26.5 -21.5 -48 -48 -48s-48 21.5 -48 48c0 20.9004 13.4004 38.5 32 45.0996v18.9004c0 8.7998 7.2002 16 16 16s16 -7.2002 16 -16
v-18.9004z" />
    <glyph glyph-name="vote-yea" unicode="&#xf772;" horiz-adv-x="640" 
d="M608 128c17.7002 0 32 -14.2998 32 -32v-96c0 -17.7002 -14.2998 -32 -32 -32h-576c-17.7002 0 -32 14.2998 -32 32v96c0 17.7002 14.2998 32 32 32h64v-64h-22.4004c-5.2998 0 -9.59961 -3.59961 -9.59961 -8v-16c0 -4.40039 4.2998 -8 9.59961 -8h492.801
c5.2998 0 9.59961 3.59961 9.59961 8v16c0 4.40039 -4.2998 8 -9.59961 8h-22.4004v64h64zM512 64h-384v319.7c0 17.7998 14.5 32.2998 32.4004 32.2998h319.3c17.7998 0 32.2998 -14.4004 32.2998 -32.2998v-319.7zM211.2 246c-4.2002 -4.2002 -4.2998 -11 0 -15.2002
l74.0996 -74.7002c4.2002 -4.2998 11 -4.2998 15.2002 -0.0996094l128.3 127.2c4.2998 4.2002 4.2998 11 0.100586 15.2002l-25.3008 25.5c-4.19922 4.2998 -11 4.2998 -15.1992 0.0996094l-95.2002 -94.4004l-41.2998 41.6006
c-4.2002 4.2998 -11 4.2998 -15.2002 0.0996094z" />
    <glyph glyph-name="water" unicode="&#xf773;" horiz-adv-x="576" 
d="M562.1 64.0996c8.10059 -0.899414 13.9004 -8.2998 13.8008 -16.2998v-31.5996c0 -9.10059 -7.60059 -16.7998 -16.7002 -16c-28.2002 2.5 -55.7998 11.5996 -79.1006 25.7998c-55 -34.0996 -135.5 -34.5996 -192 0c-55 -34.0996 -135.5 -34.5996 -192 0
c-23.2998 -14.5 -50.5996 -23.4004 -79.3994 -25.9004c-9.10059 -0.799805 -16.7002 6.90039 -16.7002 16v32.2002c0 7.90039 5.7002 14.9004 13.5996 15.7002c21.7002 2.2998 42.2002 10.2002 57.7002 22.4004c13.7998 10.8994 33.6006 13.1992 47.1006 2
c38.2998 -31.7002 107.199 -31.8008 145.199 -1.7002c13.7002 10.8994 33.2002 13 46.7002 1.7998c38.5 -31.9004 107.8 -31.9004 145.7 -1.5c14 11.2998 34.0996 11.0996 48.2002 0c15.7998 -12.4004 36.3994 -20.5 57.8994 -22.9004zM562.1 208.1
c8.10059 -0.899414 13.9004 -8.2998 13.8008 -16.2998v-31.5996c0 -9.10059 -7.60059 -16.7998 -16.7002 -16c-28.2002 2.5 -55.7998 11.5996 -79.1006 25.7998c-55 -34.0996 -135.5 -34.5996 -192 0c-55 -34.0996 -135.5 -34.5996 -192 0
c-23.2998 -14.5 -50.5996 -23.4004 -79.3994 -25.9004c-9.10059 -0.799805 -16.7002 6.90039 -16.7002 16v32.2002c0 7.90039 5.7002 14.9004 13.5996 15.7002c21.7002 2.2998 42.2002 10.2002 57.7002 22.4004c13.7998 10.8994 33.6006 13.1992 47.1006 2
c38.2998 -31.7002 107.199 -31.8008 145.199 -1.7002c13.7002 10.8994 33.2002 13 46.7002 1.7998c38.5 -31.9004 107.8 -31.9004 145.7 -1.5c14 11.2998 34.0996 11.0996 48.2002 0c15.7998 -12.4004 36.3994 -20.5 57.8994 -22.9004zM562.1 352.1
c8.10059 -0.899414 13.9004 -8.2998 13.8008 -16.2998v-31.5996c0 -9.10059 -7.60059 -16.7998 -16.7002 -16c-28.2002 2.5 -55.7998 11.5996 -79.1006 25.7998c-55 -34.0996 -135.5 -34.5996 -192 0c-55 -34.0996 -135.5 -34.5996 -192 0
c-23.2998 -14.5 -50.5996 -23.4004 -79.3994 -25.9004c-9.10059 -0.799805 -16.7002 6.90039 -16.7002 16v32.2002c0 7.90039 5.7002 14.9004 13.5996 15.7002c21.7002 2.2998 42.2002 10.2002 57.7002 22.4004c13.7998 10.8994 33.6006 13.1992 47.1006 2
c38.2998 -31.7002 107.199 -31.8008 145.199 -1.7002c13.7002 10.8994 33.2002 13 46.7002 1.7998c38.5 -31.9004 107.8 -31.9004 145.7 -1.5c14 11.2998 34.0996 11.0996 48.2002 0c15.7998 -12.4004 36.3994 -20.4004 57.8994 -22.9004z" />
    <glyph glyph-name="baby" unicode="&#xf77c;" horiz-adv-x="384" 
d="M192 288c-44.2002 0 -80 35.7998 -80 80s35.7998 80 80 80s80 -35.7998 80 -80s-35.7998 -80 -80 -80zM138.6 39.2002l29.4004 -39.2002c13.2002 -17.7002 9.7002 -42.7998 -8 -56c-7.2002 -5.40039 -15.7002 -8 -24 -8c-12.0996 0 -24.0996 5.5 -32 16l-48 64
c-10.9004 14.5996 -10.5996 34.7998 0.799805 49l45.9004 57.4004l61.5 -51.2002zM281.3 122.4l45.9004 -57.4004c11.3994 -14.2002 11.7002 -34.4004 0.799805 -49l-48 -64c-7.7998 -10.5 -19.7998 -16 -32 -16c-8.40039 0 -16.7998 2.59961 -24 8
c-17.7002 13.2002 -21.2002 38.2998 -8 56l29.4004 39.2002l-25.6006 32zM376.7 303c12.7002 -18.0996 8.39941 -43 -9.7002 -55.7998l-40.5996 -28.5c-17 -11.9004 -35.4004 -20.9004 -54.4004 -27.9004v-30.7998h-160v30.9004c-19 7 -37.4004 16 -54.4004 27.8994
l-40.5996 28.5c-18 12.7002 -22.4004 37.6006 -9.7002 55.7002c12.7002 18 37.6006 22.4004 55.7002 9.7002l40.5996 -28.4004c52.6006 -37 124.101 -37 176.801 0l40.5996 28.5c18.0996 12.6006 43 8.2998 55.7002 -9.7998z" />
    <glyph glyph-name="baby-carriage" unicode="&#xf77d;" 
d="M144.8 431l111.2 -175h-256c0 74 35.2998 140.1 90.7998 184.4c16.7998 13.3994 42.7002 8.39941 54 -9.40039zM496 352c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-48v-64c0 -50.5996 -23 -96.4004 -60.2998 -130.7
c34.5996 -8.89941 60.2998 -40 60.2998 -77.2998c0 -44.2002 -35.7998 -80 -80 -80s-80 35.7998 -80 80c0 8.90039 1.7002 17.2002 4.40039 25.2002c-21.5 -5.90039 -44.6006 -9.2002 -68.4004 -9.2002s-46.7998 3.2998 -68.4004 9.2002
c2.60059 -8 4.40039 -16.2998 4.40039 -25.2002c0 -44.2002 -35.7998 -80 -80 -80s-80 35.7998 -80 80c0 37.2998 25.7002 68.4004 60.2998 77.2998c-37.2998 34.2998 -60.2998 80.1006 -60.2998 130.7h384v64c0 35.2998 28.7002 64 64 64h48zM80 -16
c17.5996 0 32 14.4004 32 32s-14.4004 32 -32 32s-32 -14.4004 -32 -32s14.4004 -32 32 -32zM400 16c0 17.5996 -14.4004 32 -32 32s-32 -14.4004 -32 -32s14.4004 -32 32 -32s32 14.4004 32 32z" />
    <glyph glyph-name="biohazard" unicode="&#xf780;" horiz-adv-x="576" 
d="M287.9 336c-18.5 0 -36 -3.7998 -52.5 -9.5c-13.3008 10.2998 -23.6006 24.2998 -29.5 40.7002c25.1992 10.8994 53 16.8994 82.0996 16.8994c29.2002 0 57 -6.09961 82.2002 -17c-5.90039 -16.3994 -16.2002 -30.3994 -29.5 -40.6992
c-16.6006 5.7998 -34.2002 9.59961 -52.7998 9.59961zM163.6 9.2998c-47.5 35.5 -79.1992 90.7002 -83.2998 153.5c7.2998 2.10059 14.9004 3.10059 22.5 3.10059c9.2002 0 17.9004 -1.80078 26.4004 -4.60059c4.09961 -44.2998 26 -83.2002 58.8994 -109.6
c-4.09961 -16 -12.5 -30.6006 -24.5 -42.4004zM387.8 51.9004c32.7002 26.3994 54.6006 65.0996 58.7002 109.3c8.59961 2.7998 17.4004 4.7002 26.5996 4.7002c7.5 0 15 -1 22.2002 -3c-3.89941 -62.8008 -35.5996 -118 -83 -153.5c-12 11.7998 -20.3994 26.5 -24.5 42.5z
M501.3 256.9c34.6006 -20.4004 61 -53.3008 74.1006 -92.4004c1.2998 -3.7002 -0.200195 -7.7998 -3.5 -9.7998c-3.30078 -2 -7.5 -1.2998 -10 1.59961c-9.40039 10.7998 -19 19 -29.2002 25.1006c-57.2998 33.8994 -130.8 13.6992 -163.9 -45
c-33.0996 -58.7002 -13.3994 -134 43.9004 -167.9c10.2002 -6.09961 21.8994 -10.5 35.7998 -13.4004c3.7998 -0.799805 6.40039 -4.19922 6.40039 -8.09961c-0.100586 -4 -2.7002 -7.2998 -6.5 -8c-39.7002 -7.7998 -80.6006 -0.799805 -115.2 19.7002
c-18 10.5996 -32.9004 24.5 -45.2998 40.0996c-12.4004 -15.5996 -27.3008 -29.5 -45.3008 -40.0996c-34.5996 -20.5 -75.5 -27.5 -115.199 -19.7002c-3.80078 0.700195 -6.40039 4 -6.5 8c0 3.90039 2.69922 7.2998 6.39941 8.09961
c13.7998 3 25.6006 7.30078 35.7998 13.4004c57.3008 33.9004 77 109.2 43.9004 167.9c-33.0996 58.6992 -106.6 78.8994 -163.9 45c-10.1992 -6 -19.7998 -14.3008 -29.1992 -25.1006c-2.5 -2.89941 -6.7002 -3.59961 -10 -1.59961
c-3.30078 2.09961 -4.80078 6.09961 -3.5 9.7998c13.2998 39.0996 39.6992 71.9004 74.2998 92.4004c17.5996 10.3994 36.3994 16.5996 55.2998 19.8994c-6.09961 17.7002 -10 36.4004 -10 56.2002c0 41 14.5996 80.7998 41 112.2c2.5 3 6.59961 3.7002 10 1.7998
c3.2998 -1.90039 4.7998 -6 3.59961 -9.7002c-4.39941 -13.7998 -6.59961 -26.3994 -6.59961 -38.5c0 -67.7998 53.7998 -122.899 120 -122.899s120 55.0996 120 122.899c0 12.2002 -2.09961 24.7002 -6.59961 38.5c-1.2002 3.7002 0.299805 7.7998 3.59961 9.7002
c3.40039 1.90039 7.5 1.2002 10 -1.7998c26.5 -31.4004 41 -71.2002 41 -112.2c0 -19.7998 -4 -38.5 -10 -56.2002c19 -3.2998 37.7002 -9.5 55.2998 -19.8994zM287.9 127.9c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48z" />
    <glyph glyph-name="blog" unicode="&#xf781;" 
d="M172.2 221.2c75.5 -15 129.899 -89.2998 112.5 -172.2c-11.4004 -54.2998 -55.2998 -98.2998 -109.7 -109.7c-92.9004 -19.5 -175 51.2002 -175 140.7v248c0 13.2998 10.7002 24 24 24h48c13.2998 0 24 -10.7002 24 -24v-248c0 -26.5 21.5 -48 48 -48s48 21.5 48 48
c0 20.5996 -13.0996 38.2002 -31.2998 45c-9.60059 3.59961 -16.7002 11.7998 -16.7002 22v50.4004c0 14.8994 13.5996 26.6992 28.2002 23.7998zM209 448c163.2 -8.59961 294.4 -139.8 302.9 -303c0.5 -9.2002 -6.80078 -17 -16 -17h-32.1006
c-8.39941 0 -15.3994 6.59961 -15.8994 15c-7.5 129.5 -111.5 234.5 -240.9 241.5c-8.40039 0.400391 -15 7.40039 -15 15.9004v31.5996c0 9.2002 7.7998 16.5 17 16zM209.3 352c110.101 -8.5 198.2 -96.5996 206.601 -206.7
c0.699219 -9.2998 -6.80078 -17.2998 -16.1006 -17.2998h-32.2002c-8.2998 0 -15.0996 6.40039 -15.8994 14.7002c-6.90039 77 -68.1006 138.899 -144.9 145.2c-8.2998 0.599609 -14.7998 7.5 -14.7998 15.8994v32.1006c0 9.39941 8 16.7998 17.2998 16.0996z" />
    <glyph glyph-name="calendar-day" unicode="&#xf783;" horiz-adv-x="448" 
d="M0 -16v272h448v-272c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48zM64 176v-96c0 -8.7998 7.2002 -16 16 -16h96c8.7998 0 16 7.2002 16 16v96c0 8.7998 -7.2002 16 -16 16h-96c-8.7998 0 -16 -7.2002 -16 -16zM400 384c26.5 0 48 -21.5 48 -48v-48h-448v48
c0 26.5 21.5 48 48 48h48v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48h128v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48h48z" />
    <glyph glyph-name="calendar-week" unicode="&#xf784;" horiz-adv-x="448" 
d="M0 -16v272h448v-272c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48zM64 176v-64c0 -8.7998 7.2002 -16 16 -16h288c8.7998 0 16 7.2002 16 16v64c0 8.7998 -7.2002 16 -16 16h-288c-8.7998 0 -16 -7.2002 -16 -16zM400 384c26.5 0 48 -21.5 48 -48v-48h-448
v48c0 26.5 21.5 48 48 48h48v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48h128v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48h48z" />
    <glyph glyph-name="candy-cane" unicode="&#xf786;" 
d="M497.5 356c35.7002 -75.5 2.7998 -166.1 -68.9004 -209l-347.3 -206.5c-5.2002 -3 -10.7998 -4.5 -16.3994 -4.5c-10.9004 0 -21.5 5.59961 -27.5 15.5996l-32.8008 54.9004c-9.09961 15.2002 -4.19922 34.7998 11 43.9004l353.601 210.1
c15.0996 9.09961 20.0996 28.7998 11 43.9004c-6 10 -16.6006 15.5996 -27.5 15.5996c-5.60059 0 -11.2998 -1.40039 -16.4004 -4.5l-27.5 -16.4004c-5.2002 -3 -10.7998 -4.5 -16.3994 -4.5c-10.9004 0 -21.5 5.60059 -27.5 15.6006l-32.8008 54.8994
c-9.09961 15.2002 -4.19922 34.8008 11 43.9004l27.5 16.4004c25.6006 15.2998 53.9004 22.5996 81.8008 22.5996c59.3994 0 117.199 -33.0996 145.1 -92zM319.8 343c8.5 5.09961 18.1006 7.59961 27.9004 8.40039l-20.6006 61.7998
c-10.5 -2.10059 -20.5996 -5.5 -30.2998 -10.2002l20.5 -61.5zM145.9 16.2002l30.7998 18.2998l-60.5 38.5l-30.7998 -18.2998zM253.4 80.0996l30.7998 18.3008l-60.5 38.5l-30.7998 -18.3008zM364.3 146l30.7998 18.2998l-60.5 38.5l-30.7998 -18.2998zM384.7 343.3
c9.2002 -5.39941 17.2002 -13 22.8994 -22.2998l45.7002 45.7002c-6.59961 8.5 -14.2002 16.0996 -22.5996 22.5996zM466.8 235.5c4.60059 9.7998 8 20 10.1006 30.4004l-60.4004 20.0996c-0.0996094 -4.5 -0.700195 -9.09961 -1.7998 -13.5996
c-1.60059 -6.2002 -4.2002 -11.8008 -7.40039 -17.1006z" />
    <glyph glyph-name="carrot" unicode="&#xf787;" 
d="M298.2 291.4c61.7002 -30.1006 87.2998 -104.5 57.2002 -166.2c-12.6006 -25.7998 -33.1006 -45.4004 -57.1006 -57.1006l-102 -49.7998l-57 57c-6.2002 6.2002 -16.2998 6.2002 -22.5996 0s-6.2998 -16.3994 0 -22.5996l49.2002 -49.2002l-133.601 -65.2002
c-11.0996 -5.39941 -24.5996 -0.799805 -30 10.2998c-3.09961 6.40039 -2.89941 13.7002 0 19.7002l128.101 262.7l50.1992 -50.2002c3.10059 -3.09961 7.2002 -4.7002 11.3008 -4.7002c4.09961 0 8.19922 1.60059 11.2998 4.7002c6.2998 6.2002 6.2998 16.2998 0 22.6006
l-55.2002 55.1992c35.7002 43.3008 97.5 58.5 150.2 32.8008zM390.3 326.3c40.7002 19.5 88.7998 9.40039 121.7 -30.2998c-41.5996 -50.2998 -107.5 -52.5 -151.9 -7.90039l-8 8c-44.5996 44.4004 -42.3994 110.2 7.90039 151.9
c39.7002 -32.9004 49.7998 -81 30.2998 -121.7z" />
    <glyph glyph-name="cash-register" unicode="&#xf788;" 
d="M511.1 69.2002c0.600586 -3.5 0.900391 -7 0.800781 -10.5v-90.7002c0 -17.7002 -14.3008 -32 -32 -32h-448c-17.7002 0 -32 14.2998 -32 32v90.7998c0 3.5 0.299805 7 0.899414 10.5l26.7002 160c2.59961 15.4004 16 26.7002 31.5996 26.7002h84.9004v64h-96
c-8.7998 0 -16 7.2002 -16 16v96c0 8.7998 7.2002 16 16 16h256c8.7998 0 16 -7.2002 16 -16v-96.0996c0 -8.80078 -7.2002 -16 -16 -16h-96v-64h244.8c15.7002 0 29 -11.3008 31.6006 -26.7002zM280 200v-16c0 -8.7998 7.2002 -16 16 -16h16c8.7998 0 16 7.2002 16 16v16
c0 8.7998 -7.2002 16 -16 16h-16c-8.7998 0 -16 -7.2002 -16 -16zM248 136c-8.7998 0 -16 -7.2002 -16 -16v-16c0 -8.7998 7.2002 -16 16 -16h16c8.7998 0 16 7.2002 16 16v16c0 8.7998 -7.2002 16 -16 16h-16zM216 216h-16c-8.7998 0 -16 -7.2002 -16 -16v-16
c0 -8.7998 7.2002 -16 16 -16h16c8.7998 0 16 7.2002 16 16v16c0 8.7998 -7.2002 16 -16 16zM80 368h192v32h-192v-32zM120 168c8.7998 0 16 7.2002 16 16v16c0 8.7998 -7.2002 16 -16 16h-16c-8.7998 0 -16 -7.2002 -16 -16v-16c0 -8.7998 7.2002 -16 16 -16h16zM136 104
c0 -8.7998 7.2002 -16 16 -16h16c8.7998 0 16 7.2002 16 16v16c0 8.7998 -7.2002 16 -16 16h-16c-8.7998 0 -16 -7.2002 -16 -16v-16zM352 -8v16c0 4.40039 -3.59961 8 -8 8h-176c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h176c4.40039 0 8 3.59961 8 8
zM376 104v16c0 8.7998 -7.2002 16 -16 16h-16c-8.7998 0 -16 -7.2002 -16 -16v-16c0 -8.7998 7.2002 -16 16 -16h16c8.7998 0 16 7.2002 16 16zM424 184v16c0 8.7998 -7.2002 16 -16 16h-16c-8.7998 0 -16 -7.2002 -16 -16v-16c0 -8.7998 7.2002 -16 16 -16h16
c8.7998 0 16 7.2002 16 16z" />
    <glyph glyph-name="compress-arrows-alt" unicode="&#xf78c;" 
d="M200 160c13.2998 0 24 -10.7002 24 -24v-112c0 -21.4004 -25.7998 -32.0996 -40.9004 -17l-31.0996 33l-99.2998 -99.2998c-6.2002 -6.2002 -16.4004 -6.2002 -22.6006 0l-25.3994 25.3994c-6.2002 6.2002 -6.2002 16.4004 0 22.6006l99.2002 99.2998l-32.9004 31
c-15.0996 15.2002 -4.40039 41 17 41h112zM312 224c-13.2998 0 -24 10.7002 -24 24v112c0 21.4004 25.7998 32.0996 40.9004 17l31.0996 -33l99.2998 99.2998c6.2002 6.2002 16.4004 6.2002 22.6006 0l25.3994 -25.3994c6.2002 -6.2002 6.2002 -16.4004 0 -22.6006
l-99.2998 -99.2998l33 -31c15.0996 -15.0996 4.40039 -41 -17 -41h-112zM408 88l99.2998 -99.4004c6.2002 -6.19922 6.2002 -16.3994 0 -22.5996l-25.3994 -25.4004c-6.2002 -6.19922 -16.4004 -6.19922 -22.6006 0l-99.2998 99.3008l-31 -32.9004
c-15.0996 -15.0996 -41 -4.40039 -41 17v112c0 13.2998 10.7002 24 24 24h112c21.4004 0 32.0996 -25.7998 17 -40.9004zM183 376.9c15.0996 15.0996 41 4.39941 41 -16.9004v-112c0 -13.2998 -10.7002 -24 -24 -24h-112c-21.4004 0 -32.0996 25.7998 -17 40.9004
l33 31.0996l-99.2998 99.2998c-6.2002 6.2002 -6.2002 16.4004 0 22.6006l25.3994 25.3994c6.2002 6.2002 16.4004 6.2002 22.6006 0l99.2998 -99.2998z" />
    <glyph glyph-name="dumpster" unicode="&#xf793;" horiz-adv-x="576" 
d="M560 288h-97.2998l-25.6006 128h98.9004c7.2998 0 13.7002 -5 15.5 -12.0996l24 -96c2.5 -10.1006 -5.09961 -19.9004 -15.5 -19.9004zM272 416v-128h-126.1l25.5996 128h100.5zM404.5 416l25.5996 -128h-126.1v128h100.5zM16 288c-10.4004 0 -18 9.7998 -15.5 19.9004
l24 96c1.7998 7.09961 8.2002 12.0996 15.5 12.0996h98.9004l-25.6006 -128h-97.2998zM560 224c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-28l-20 -160v-16c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v16h-320v-16
c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v16l-20 160h-28c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h20l-4 32h512l-4 -32h20z" />
    <glyph glyph-name="dumpster-fire" unicode="&#xf794;" horiz-adv-x="640" 
d="M418.7 343.9c-19.7002 -17.6006 -37.7002 -36.5 -53.9004 -55.8008h-60.7998v128h100.5l14.4004 -72zM272 416v-128h-126.1l25.5996 128h100.5zM461.3 343.9l-11.8994 10.5996l-12.3008 61.5h98.9004c7.2998 0 13.7002 -5 15.4004 -12.0996l24 -96
c0.199219 -0.800781 -0.100586 -1.5 0 -2.30078c-1 1 -2 2.2002 -3.10059 3.10059l-21.2998 19l-21.2998 -19c-5.90039 -5.2002 -11.6006 -10.7002 -17.2998 -16.2998c-15.6006 17.7998 -32.9004 35.1992 -51.1006 51.5zM16 288c-10.4004 0 -18 9.7998 -15.5 19.9004l24 96
c1.7998 7.09961 8.2002 12.0996 15.5 12.0996h98.9004l-25.6006 -128h-97.2998zM340.6 256c-32.6992 -46.7002 -52.5996 -93.7002 -52.5996 -129.6c0 -48.5 18.5996 -92.7002 48.7998 -126.4h-208.8v-16c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v16
l-20 160h-28c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h20l-4 32h308.6zM551.1 284.8c51.8008 -46.2002 88.9004 -121.8 88.8008 -158.399c0 -87.5 -71.6006 -158.4 -160 -158.4c-88.4004 0 -160 70.9004 -160 158.4c0 49.2998 49.7998 130.899 120 193.6
c27.3994 -24.4004 51.5 -50.5996 71 -76.4004c11.8994 14 25.2998 27.9004 40.1992 41.2002zM532.5 55.4004c33.4004 24.1992 41.2002 71.0996 22.5996 107.8c-2.2998 4.5 -4.89941 9.2002 -7.69922 14l-39.8008 -47s-62.3994 82.5 -67.0996 88.0996
c-32.9004 -40.8994 -49.4004 -64.7998 -49.4004 -91.8994c0 -54.5 39.9004 -88 88.9004 -88c19.5996 0 37.7998 6.2998 52.5 17z" />
    <glyph glyph-name="ethernet" unicode="&#xf796;" 
d="M496 256c8.7998 0 16 -7.2002 16 -16v-224c0 -8.7998 -7.2002 -16 -16 -16h-80v128h-32v-128h-64v128h-32v-128h-64v128h-32v-128h-64v128h-32v-128h-80c-8.7998 0 -16 7.2002 -16 16v224c0 8.7998 7.2002 16 16 16h48v48c0 8.7998 7.2002 16 16 16h48v48
c0 8.7998 7.2002 16 16 16h224c8.7998 0 16 -7.2002 16 -16v-48h48c8.7998 0 16 -7.2002 16 -16v-48h48z" />
    <glyph glyph-name="gifts" unicode="&#xf79c;" horiz-adv-x="640" 
d="M240.6 253.9c-27.7998 -6.90039 -48.5996 -32 -48.5996 -61.9004v-224c0 -11.7002 3.40039 -22.5 8.90039 -32h-168.9c-17.7002 0 -32 14.2998 -32 32v352c0 17.7002 14.2998 32 32 32h29.4004l-30.7002 22c-7.2002 5.09961 -8.7998 15.0996 -3.7002 22.2998l9.2998 13
c5.10059 7.2002 15.1006 8.7998 22.2998 3.7002l32.1006 -22.7998l-11.5 30.5996c-3.2002 8.2002 1 17.5 9.2998 20.6006l15 5.59961c8.2998 3.09961 17.5 -1.09961 20.5996 -9.40039l19.9004 -53.0996l19.9004 53c3.09961 8.2998 12.2998 12.5 20.5996 9.40039l15 -5.60059
c8.2998 -3.09961 12.5 -12.2998 9.40039 -20.5996l-11.5 -30.6006l32 22.9004c7.19922 5.2002 17.1992 3.5 22.2998 -3.7002l9.2998 -13c5.2002 -7.2002 3.5 -17.2002 -3.7002 -22.2998l-30.7002 -22h29.4004c12.7002 0 23.4004 -7.5 28.5996 -18.2998
c-26.6992 -18.6006 -42.0996 -49 -44 -79.7998zM224 -32v96h192v-128h-160c-17.7002 0 -32 14.2998 -32 32zM448 -64v128h192v-96c0 -17.7002 -14.2998 -32 -32 -32h-160zM608 224c17.7002 0 32 -14.2998 32 -32v-96h-192v128h-15.2998l-0.700195 0.200195
l-0.700195 -0.200195h-15.2998v-128h-192v96c0 17.7002 14.2998 32 32 32h20.4004c-2.7002 7.59961 -4.40039 15.5 -4.40039 23.7998c0 35.5 27 72.2002 72.0996 72.2002c48 0 75.8008 -47.7002 87.9004 -75.2998c12 27.5996 39.7998 75.2998 87.9004 75.2998
c45.0996 0 72.0996 -36.7002 72.0996 -72.2002c0 -8.2998 -1.7998 -16.2002 -4.40039 -23.7998h20.4004zM336 224h52.5996c-8.89941 20.5996 -25.7998 48 -44.5 48c-17.6992 0 -24.0996 -14.5 -24.0996 -24.2002c0 -5.2002 1.5 -12.5996 8.7998 -19
c2.10059 -1.7998 4.5 -3.39941 7.2002 -4.7998zM535.2 228.8c7.2998 6.40039 8.7998 13.7998 8.7998 19c0 9.7002 -6.40039 24.2002 -24.0996 24.2002c-18.7002 0 -35.7002 -27.7002 -44.5 -48h52.5996c2.7002 1.40039 5.09961 3 7.2002 4.7998z" />
    <glyph glyph-name="glass-cheers" unicode="&#xf79f;" horiz-adv-x="640" 
d="M639.4 14.4004c1.69922 -4.10059 -0.300781 -8.7002 -4.30078 -10.4004l-162.399 -67.4004c-4 -1.69922 -8.7002 0.200195 -10.4004 4.30078c-8.5 20.3994 1.2002 43.7998 21.6006 52.2998l22.0996 9.2002l-39.2998 103.6
c-4.40039 -0.5 -8.7998 -1.2998 -13.1006 -1.2998c-51.6992 0 -99.3994 33.0996 -113.399 85.2998l-20.2002 75.4004l-20.2002 -75.4004c-14 -52.2002 -61.7002 -85.2998 -113.399 -85.2998c-4.30078 0 -8.7002 0.799805 -13.1006 1.2998l-39.3994 -103.6l22.0996 -9.2002
c20.4004 -8.5 30 -31.9004 21.5996 -52.2998c-1.69922 -4.10059 -6.2998 -6 -10.3994 -4.30078l-162.3 67.4004c-4.10059 1.7002 -6 6.40039 -4.30078 10.5c8.5 20.4004 31.8008 30.0996 52.2002 21.5996l22.1006 -9.19922l38.6992 101.899
c-47.8994 34.9004 -64.6992 100.2 -34.5 152.7l86.6006 150.5c8 13.9004 25.0996 19.7998 40 13.5996l114.3 -47.3994l114.3 47.3994c14.9004 6.10059 32 0.300781 40 -13.5996l86.6006 -150.5c30.2998 -52.5 13.3994 -117.8 -34.5 -152.8l38.6992 -101.9l22.1006 9.2002
c20.3994 8.5 43.7998 -1.2002 52.2002 -21.5996zM275.9 285.9l18.8994 70.6992l-94.5 39.2002l-36.5 -63.3994zM364.1 285.9l112.101 46.5l-36.5 63.3994l-94.5 -39.2002z" />
    <glyph glyph-name="glass-whiskey" unicode="&#xf7a0;" 
d="M480 416c19.5 0 34.4004 -17.2002 31.7002 -36.5l-55.6006 -356.5c-4.5 -31.5 -31.5996 -54.9004 -63.3994 -54.9004h-273c-31.9004 0 -58.9004 23.4004 -63.4004 54.9004l-56 356.5c-2.7002 19.2998 12.2002 36.5 31.7002 36.5h448zM442.6 352h-373.199l30.1992 -192
h313z" />
    <glyph glyph-name="globe-europe" unicode="&#xf7a2;" horiz-adv-x="496" 
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM448 192c0 110.3 -89.7002 200 -200.2 200c-1.89941 0 -3.7998 -0.200195 -5.7002 -0.299805l-28.8994 -21.7002c-2 -1.5 -3.2002 -3.90039 -3.2002 -6.40039v-20
c0 -4.39941 3.59961 -8 8 -8h16c4.40039 0 8 3.60059 8 8v8l16 16h20.7002c6.2002 0 11.2998 -5.09961 11.2998 -11.2998c0 -3 -1.2002 -5.89941 -3.2998 -8l-26.7998 -26.7998c-1.2002 -1.2002 -2.7002 -2.09961 -4.40039 -2.7002l-40 -13.2998
c-3.2998 -1.09961 -5.5 -4.2002 -5.5 -7.59961c0 -6.60059 -2.59961 -12.9004 -7.2002 -17.5l-20.0996 -20.1006c-3 -3 -4.7002 -7.09961 -4.7002 -11.2998v-25.2998c0 -8.7998 7.2002 -16 16 -16h22.0996c6.10059 0 11.6006 3.39941 14.3008 8.7998l9.39941 18.7002
c1.40039 2.7002 4.2002 4.39941 7.2002 4.39941h3.09961c4.40039 0 8 -3.59961 8 -8c0 -4.39941 3.60059 -8 8 -8h16c4.40039 0 8 3.60059 8 8v2.2002c0 3.5 2.2002 6.5 5.5 7.60059l31.6006 10.5c6.5 2.19922 10.8994 8.2998 10.8994 15.1992v4.5
c0 8.80078 7.2002 16 16 16h36.7002c6.2002 0 11.2998 -5.09961 11.2998 -11.2998v-9.39941c0 -6.2002 -5.09961 -11.3008 -11.2998 -11.3008h-32c-3 0 -5.89941 -1.19922 -8 -3.2998l-9.39941 -9.39941c-2.10059 -2.10059 -3.30078 -5 -3.30078 -8
c0 -6.2002 5.10059 -11.3008 11.3008 -11.3008h16c3 0 5.89941 -1.19922 8 -3.2998l9.39941 -9.39941c2.10059 -2.10059 3.2998 -5 3.2998 -8v-8.7002l-12.5 -12.5c-4.59961 -4.60059 -4.59961 -12.1006 -0.0996094 -16.7002l32 -32.5996
c3 -3.10059 7.09961 -4.80078 11.4004 -4.80078h20.2998c6.89941 20.2002 10.7998 41.9004 10.7998 64.4004zM130.1 298.9c0 -6.2002 5.10059 -11.3008 11.3008 -11.3008h16c3 0 5.89941 1.2002 8 3.30078l9.39941 9.39941c2.10059 2.10059 3.2998 5 3.2998 8v16
c0 6.2002 -5.09961 11.2998 -11.2998 11.2998c-3 0 -5.89941 -1.19922 -8 -3.2998l-25.3994 -25.3994c-2.10059 -2.10059 -3.30078 -5 -3.30078 -8zM258.1 -7.5c71.1006 3.59961 132.5 44.2002 164.9 103.1h-13.4004c-4.7998 0 -9.5 1.90039 -12.8994 5.30078
l-17.2998 17.2998c-6 6 -14.1006 9.39941 -22.6006 9.39941h-18.2998l-43.2002 37.1006c-8.2002 7 -18.7002 10.8994 -29.5996 10.8994h-31.2002c-8.2002 0 -16.2998 -2.2998 -23.4004 -6.5l-42.8994 -25.6992c-13.7002 -8.2002 -22.1006 -23 -22.1006 -39v-23.9004
c0 -14.2998 6.7002 -27.7998 18.2002 -36.4004l22.2002 -16.6992c8.7002 -6.5 24.5996 -11.8008 35.4004 -11.8008h20.1992c8.80078 0 16 -7.19922 16 -16v-7.09961z" />
    <glyph glyph-name="grip-lines" unicode="&#xf7a4;" 
d="M496 160c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-480c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h480zM496 288c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-480c-8.7998 0 -16 7.2002 -16 16v32
c0 8.7998 7.2002 16 16 16h480z" />
    <glyph glyph-name="grip-lines-vertical" unicode="&#xf7a5;" horiz-adv-x="256" 
d="M96 -48c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v480c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-480zM224 -48c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v480c0 8.7998 7.2002 16 16 16h32
c8.7998 0 16 -7.2002 16 -16v-480z" />
    <glyph glyph-name="guitar" unicode="&#xf7a6;" 
d="M502.63 409c5.77344 -5.79004 9.34473 -13.7852 9.34473 -22.5996c0 -8.8291 -3.58398 -16.8281 -9.375 -22.6201l-46.3301 -46.3203c-3.82617 -3.83691 -8.53223 -6.78125 -13.7891 -8.53027l-36.4805 -12.1602l-76.2402 -76.2393
c8.79004 -12.2002 15.7705 -25.5605 19.1602 -40.2002c7.74023 -33.3896 0.870117 -66.8701 -22 -89.75c-9.26367 -9.2207 -20.71 -16.2314 -33.4795 -20.25c-18.54 -6.00977 -32.6709 -23.29 -34.4307 -42.1396c-2.29004 -23.8105 -11.4502 -45.8301 -28.4502 -62.71
c-45.5596 -45.4805 -127.5 -37.3809 -182.979 18.0693c-55.4805 55.4502 -63.6904 137.45 -18.0498 182.96c16.8799 16.9902 38.9102 26.1699 62.6094 28.4404c18.9404 1.76953 36.1504 15.8994 42.1504 34.46c4.01172 12.7686 11.0195 24.2119 20.2402 33.4697
c22.8799 22.8799 56.4297 29.7803 89.8799 22c14.5996 -3.39941 27.9395 -10.3799 40.0996 -19.1396l76.2598 76.2598l12.1602 36.5098c1.74902 5.25781 4.69336 9.96387 8.53027 13.79l46.2803 46.3301c5.79199 5.79395 13.8018 9.37988 22.6338 9.37988
s16.833 -3.58594 22.626 -9.37988zM208 96c26.4922 0 48 21.5078 48 48s-21.5078 48 -48 48s-48 -21.5078 -48 -48s21.5078 -48 48 -48z" />
    <glyph glyph-name="heart-broken" unicode="&#xf7a9;" 
d="M473.7 374.2c48.7002 -49.7998 50.7998 -129.101 7.2998 -182.101l-212.2 -218.699c-7.09961 -7.30078 -18.5996 -7.30078 -25.7002 0l-212.1 218.6c-43.5 53.0996 -41.4004 132.4 7.2998 182.2l2.40039 2.39941c46.2998 47.4004 119 51.8008 170.7 14l28.5996 -86.5
l-96 -64l144 -144l-48 128l96 64l-34.2998 103.4c51.5996 36.9004 123.6 32.2002 169.6 -14.7998z" />
    <glyph glyph-name="holly-berry" unicode="&#xf7aa;" horiz-adv-x="448" 
d="M144 256c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM256 304c0 26.5 21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48s-48 21.5 -48 48zM224 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48z
M207.8 212.9c-0.399414 -39.8008 7.40039 -78.1006 22.9004 -112.301c4 -8.89941 -2 -19.1992 -11.7002 -20.1992c-15.2002 -1.5 -30.4004 -4.60059 -45.2998 -9.10059c-14.9004 -4.5 -23.7998 -19.8994 -20.2002 -35.0996s8.5 -29.9004 14.7002 -43.7998
c4 -8.90039 -1.90039 -19.3008 -11.6006 -20.2002c-35.8994 -3.40039 -71.5996 -14.9004 -104.8 -33.9004c-12.3994 -7.09961 -27.5 1.60059 -27.5996 16c-0.100586 38.2002 -8 74.9004 -23 107.7c-4 8.90039 2 19.2002 11.7002 20.2002
c15.1992 1.5 30.3994 4.59961 45.2998 9.09961c14.8994 4.5 23.7998 19.9004 20.2002 35.1006c-3.60059 15.1992 -8.5 29.8994 -14.7002 43.7998c-4 8.89941 1.89941 19.2998 11.5996 20.2002c37.2998 3.5 74.4004 15.8994 108.7 36.1992
c10.7002 6.40039 23.9004 -1.2998 23.7998 -13.6992zM435 82.4004c9.7002 -1 15.7998 -11.4004 11.5 -20.1006c-15 -32.7002 -22.7998 -69.5 -23 -107.7c0 -14.3994 -15.0996 -23.0996 -27.5996 -16c-33.2002 19 -68.9004 30.5 -104.801 33.9004
c-9.69922 0.900391 -15.5996 11.2998 -11.5996 20.2002c6.2002 14 11.0996 28.5996 14.7002 43.7998c3.59961 15.2002 -5.2998 30.5996 -20.2002 35.0996c-4.90039 1.5 -9.90039 2.5 -14.7998 3.7002c5.7998 12.2998 6.2998 26.5 0.599609 38.9004
c-12.8994 28.2998 -19.7002 60.7002 -19.8994 94c0 1.7002 0.199219 3.2998 0.199219 4.89941c-0.0996094 12.3008 13.1006 20 23.8008 13.7002c34.2998 -20.2998 71.3994 -32.7002 108.699 -36.2002c9.7002 -0.899414 15.6006 -11.2998 11.6006 -20.1992
c-6.2002 -14 -11.1006 -28.6006 -14.7002 -43.8008c-3.59961 -15.1992 5.2998 -30.5996 20.2002 -35.0996c15 -4.40039 30.0996 -7.5 45.2998 -9.09961z" />
    <glyph glyph-name="horse-head" unicode="&#xf7ab;" 
d="M509.8 115.5c4.60059 -11.7998 1.7998 -25.2998 -7.09961 -34.4004l-45.2998 -39.7998c-6 -6 -14.1006 -9.39941 -22.6006 -9.39941h-50.2998c-10.2998 0 -20 4.89941 -26 13.2998l-46 63.8994c-13.7998 -8.09961 -29.5996 -13.1992 -46.7998 -13.1992
c-39.2002 0 -72.6006 23.6992 -87.4004 57.3994c-2.2998 5.10059 -9 6.2998 -12.8994 2.40039l-12.1006 -12.1006c-2.5 -2.39941 -3.2002 -6.19922 -1.59961 -9.2998c19.7002 -38.8994 58.7002 -66.0996 104.3 -69.5996v-0.700195l40.7998 -81.7002
c10.7002 -21.2998 -4.7998 -46.2998 -28.5996 -46.2998h-236.2c-17.7002 0 -32 14.2998 -32 32v81.2002c0 159.899 35.9004 275.399 166.9 322.5l202.199 75.7002c4.90039 1.7998 10.7002 -1.10059 12 -6.10059c12.1006 -46.3994 -16.1992 -71.7002 -34.1992 -82.2998
c42.5996 -8.2002 78.0996 -38 93 -79.2002zM328 224c13.2998 0 24 10.7002 24 24s-10.7002 24 -24 24s-24 -10.7002 -24 -24s10.7002 -24 24 -24z" />
    <glyph glyph-name="icicles" unicode="&#xf7ad;" 
d="M511.4 410.1l-87.5 -467.699c-1.7002 -8.60059 -14 -8.60059 -15.7002 0l-66.7002 363.8l-45.7998 -172.5c-2.2998 -7.60059 -13 -7.60059 -15.2998 0l-34.1006 133.399l-46.5 -196.899c-1.89941 -8.2998 -13.7002 -8.2998 -15.5996 0l-44.2002 187.3l-36.4004 -124.1
c-2.39941 -7.2002 -12.5996 -7.2002 -15.0996 0l-87.0996 273.399c-6.2002 20.5 9.19922 41.2002 30.5996 41.2002h448c20 0 35.0996 -18.2002 31.4004 -37.9004z" />
    <glyph glyph-name="igloo" unicode="&#xf7ae;" horiz-adv-x="576" 
d="M320 414.1v-126.1h-271.4c51.6006 77.2002 139.601 128 239.4 128c10.7998 0 21.5 -0.700195 32 -1.90039zM96 256v-128h-96c0 46 11.0996 89.4004 30.2998 128h65.7002zM352 408.6c72.7998 -16.5 135.2 -60.5 175.4 -120.6h-175.4v120.6zM480 128v128h65.7002
c19.2002 -38.5996 30.2998 -82 30.2998 -128h-96zM416 64c0 11.0996 -1.90039 21.7002 -4.5 32h164.5v-96c0 -17.7002 -14.2998 -32 -32 -32h-128v96zM448 256v-128h-49.7998c-22.2002 38.0996 -63 64 -110.2 64s-88 -25.9004 -110.2 -64h-49.7998v128h320zM0 0v96h164.5
c-2.59961 -10.2998 -4.5 -20.9004 -4.5 -32v-96h-128c-17.7002 0 -32 14.2998 -32 32zM288 160c53 0 96 -43 96 -96v-96h-192v96c0 53 43 96 96 96z" />
    <glyph glyph-name="mitten" unicode="&#xf7b5;" horiz-adv-x="448" 
d="M368 32c8.7998 0 16 -7.2002 16 -16v-64c0 -8.7998 -7.2002 -16 -16 -16h-320c-8.7998 0 -16 7.2002 -16 16v64c0 8.7998 7.2002 16 16 16h320zM425 241.1c27.0996 -22.5996 30.7998 -62.8994 8.09961 -90.0996l-72.5 -87h-309l-47.8994 207.6
c-17.9004 77.5 30.5 154.801 107.899 172.7c77.4004 17.9004 154.801 -30.5 172.801 -108l29.5996 -128.399l20.9004 25c22.5996 27.1992 62.8994 30.7998 90.0996 8.19922z" />
    <glyph glyph-name="mug-hot" unicode="&#xf7b6;" 
d="M127.1 301.5c-2.69922 16.5996 -10.3994 31.9004 -22.3994 44.0996c-22.6006 23.1006 -36.7002 52.5 -40.6006 84.4004c-1.09961 9.5 6.5 18 16.3008 18h16.3994c8.2002 0 15 -5.90039 16.1006 -13.7998c2.7998 -20.2002 12 -38.7998 26.3994 -53.5
c20.2002 -20.5 32.7998 -46.5 36.6006 -74.7002c1.2998 -9.5 -6.5 -18 -16.3008 -18h-16.5c-8 0 -14.6992 5.7998 -16 13.5zM239.1 301.5c-2.69922 16.5996 -10.3994 31.9004 -22.3994 44.0996c-22.6006 23.1006 -36.7002 52.5 -40.6006 84.4004
c-1.19922 9.5 6.5 18 16.3008 18h16.3994c8.2002 0 15 -5.90039 16.1006 -13.7998c2.7998 -20.2002 12 -38.7998 26.3994 -53.5c20.2002 -20.5 32.7998 -46.5 36.6006 -74.7002c1.2998 -9.5 -6.5 -18 -16.3008 -18h-16.5c-8 0 -14.6992 5.7998 -16 13.5zM400 256
c61.7998 0 112 -50.2002 112 -112s-50.2002 -112 -112 -112h-16c0 -53 -43 -96 -96 -96h-192c-53 0 -96 43 -96 96v192c0 17.7002 14.2998 32 32 32h368zM400 96c26.5 0 48 21.5 48 48s-21.5 48 -48 48h-16v-96h16z" />
    <glyph glyph-name="radiation" unicode="&#xf7b9;" horiz-adv-x="496" 
d="M328.2 192.2c0 28.5996 -15.2002 53.5 -37.7998 67.7998l80.3994 128.4c4.7998 7.69922 15.2998 10.0996 22.7002 4.7998c58.0996 -42 97.4004 -108.4 102.5 -184.2c0.599609 -9.09961 -7.09961 -16.7998 -16.2002 -16.7998h-151.6zM290.4 124.5l80.3994 -128.5
c4.7998 -7.59961 2.40039 -18.0996 -5.59961 -22.4004c-34.9004 -18.7998 -74.7998 -29.5996 -117.2 -29.5996s-82.2998 10.7998 -117.2 29.5996c-8 4.30078 -10.3994 14.7002 -5.59961 22.4004l80.3994 128.5c12.4004 -7.7002 26.8008 -12.4004 42.4004 -12.4004
s30.0996 4.7002 42.4004 12.4004zM248 144.2c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM16.2002 192.2c-9.10059 0 -16.7998 7.7002 -16.2002 16.7002c5.09961 75.7998 44.4004 142.199 102.5 184.199
c7.40039 5.40039 17.9004 2.90039 22.7002 -4.7998l80.3994 -128.399c-22.5996 -14.2002 -37.7998 -39.1006 -37.7998 -67.7002h-151.6z" />
    <glyph glyph-name="radiation-alt" unicode="&#xf7ba;" horiz-adv-x="496" 
d="M312 192c0 22.7998 -12.0996 42.7998 -30.0996 54l41.6992 66.7998c5.2002 8.2998 16.4004 9.90039 24 3.7998c32.5 -26 54.9004 -64.1992 59.5 -107.8c0.900391 -9.09961 -6.7998 -16.7998 -16 -16.7998h-79.0996zM214.2 137.9
c9.7998 -6.2002 21.5 -9.90039 33.8994 -9.90039c12.4004 0 24 3.7002 33.8008 9.90039l41.7998 -66.9004c4.7998 -7.7998 2.39941 -18.4004 -5.7998 -22.5c-21.2002 -10.4004 -44.8008 -16.5 -69.9004 -16.5s-48.7002 6.09961 -69.7998 16.5
c-8.2002 4.09961 -10.7002 14.7002 -5.7998 22.5zM104.9 192c-9.2002 0 -17 7.7002 -15.9004 16.9004c4.59961 43.5996 26.9004 81.7998 59.5 107.8c7.59961 6.09961 18.7998 4.5 24 -3.7998l41.7002 -66.8008c-18.1006 -11.2998 -30.2002 -31.2998 -30.2002 -54.0996
h-79.0996zM248 -56c-137 0 -248 111 -248 248s111 248 248 248s248 -111 248 -248s-111 -248 -248 -248zM248 376c-101.5 0 -184 -82.5 -184 -184s82.5 -184 184 -184s184 82.5 184 184s-82.5 184 -184 184zM248 160c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
s32 -14.2998 32 -32s-14.2998 -32 -32 -32z" />
    <glyph glyph-name="restroom" unicode="&#xf7bd;" horiz-adv-x="640" 
d="M128 320c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM512 320c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM639.3 93.5c3.7002 -15.0996 -8.2998 -29.5 -24.5 -29.5
h-54.7998v-104c0 -13.2998 -10.7002 -24 -24 -24h-48c-13.2998 0 -24 10.7002 -24 24v104h-54.7998c-16.2002 0 -28.2002 14.4004 -24.7002 29.5l45.5996 185.8c3.30078 13.5 15.5 23 29.8008 24.2002c15 -9.7002 32.7998 -15.5 52 -15.5c19.1992 0 37 5.7998 52 15.5
c14.2998 -1.2002 26.5 -10.7002 29.7998 -24.2002zM336 448c8.7998 0 16 -7.2002 16 -16v-480c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v480c0 8.7998 7.2002 16 16 16h32zM180.1 303.6c24.6006 -2.09961 43.9004 -22.5 43.9004 -47.5996v-136
c0 -13.2998 -10.7002 -24 -24 -24h-8v-136c0 -13.2998 -10.7002 -24 -24 -24h-80c-13.2998 0 -24 10.7002 -24 24v136h-8c-13.2998 0 -24 10.7002 -24 24v136c0 25.0996 19.2998 45.5 43.9004 47.5996c15 -9.7998 32.8994 -15.5996 52.0996 -15.5996
s37.0996 5.7998 52.0996 15.5996z" />
    <glyph glyph-name="satellite" unicode="&#xf7bf;" 
d="M502.609 137.958l-96.7041 -96.7168c-5.76758 -5.74707 -13.7207 -9.30176 -22.499 -9.30176c-8.77734 0 -16.7402 3.55469 -22.5078 9.30176l-80.3262 80.418l-9.89258 -9.9082c10.8848 -23.9746 16.9482 -50.5957 16.9482 -78.6221
c0 -32.3584 -8.10156 -63.1982 -22.3555 -89.9004c-4.50098 -8.50098 -16.3936 -9.59473 -23.207 -2.79785l-107.519 107.515l-17.7998 -17.7988c0.703125 -2.60938 1.60938 -5.00098 1.60938 -7.79785c0 -17.6641 -14.3408 -32.0059 -32.0049 -32.0059
s-32.0059 14.3418 -32.0059 32.0059s14.3418 32.0039 32.0059 32.0039c2.79688 0 5.18848 -0.90625 7.79785 -1.60938l17.7998 17.7998l-107.518 107.515c-6.79883 6.8125 -5.7041 18.6113 2.79688 23.2061c26.7031 14.2539 57.1895 22.3359 89.5479 22.3359
c28.0273 0 55.0049 -6.04395 78.9805 -16.9297l9.79883 9.79883l-80.3105 80.417c-5.74609 5.78613 -9.29785 13.7539 -9.29785 22.5449s3.55176 16.7686 9.29785 22.5547l96.7197 96.7168c5.72754 5.74512 13.6484 9.30273 22.3945 9.30273
c0.0351562 0 0.0732422 -0.00488281 0.109375 -0.00488281h0.0458984c8.79199 0 16.7656 -3.5498 22.5518 -9.29785l80.3262 -80.3076l47.8047 47.8965c6.08301 6.07715 14.4805 9.83789 23.749 9.83789c9.26953 0 17.6768 -3.76074 23.7588 -9.83789l47.5088 -47.5059
c6.07031 -6.08594 9.82617 -14.4824 9.82617 -23.749s-3.75586 -17.6719 -9.82617 -23.7578l-47.8057 -47.8975l80.3105 -80.417c5.73633 -5.75195 9.28516 -13.6865 9.28516 -22.4434c0 -8.81348 -3.59277 -16.8018 -9.39453 -22.5625zM219.562 250.567l73.8252 73.8223
l-68.918 68.8994l-73.8096 -73.8066zM457.305 160.461l-68.9023 68.916l-73.8242 -73.8232l68.918 -68.8994z" />
    <glyph glyph-name="satellite-dish" unicode="&#xf7c0;" 
d="M305.449 -14.5898c7.3916 -7.29785 6.18848 -20.0967 -3 -25.0039c-77.7129 -41.8027 -176.726 -29.9102 -242.344 35.708c-65.6016 65.6035 -77.5098 164.523 -35.6914 242.332c4.89062 9.09473 17.6895 10.2979 25.0029 3l116.812 -116.813l27.3945 27.3945
c-0.6875 2.60938 -1.59375 5.00098 -1.59375 7.81348c0 17.6631 14.3398 32.0039 32.0039 32.0039c17.6631 0 32.0039 -14.3408 32.0039 -32.0039c0 -17.6641 -14.3408 -32.0039 -32.0039 -32.0039c-2.79785 0 -5.2041 0.890625 -7.79785 1.59375l-27.4102 -27.4102z
M511.976 144.933c0.0175781 -0.301758 0.0253906 -0.605469 0.0253906 -0.912109c0 -8.86133 -7.1748 -16.0488 -16.0273 -16.0898h-32.1133c-8.46289 0.0244141 -15.3867 6.65918 -15.8926 15.002c-7.50098 129.519 -111.515 234.533 -240.937 241.534
c-8.34863 0.444336 -14.9902 7.36426 -14.9902 15.8223c0 0.0292969 -0.0126953 0.0566406 -0.0117188 0.0859375v31.5986c0.0361328 8.85156 7.2334 16.0264 16.0938 16.0264c0.308594 0 0.603516 -0.00683594 0.908203 -0.0244141
c163.224 -8.59473 294.443 -139.816 302.944 -303.043zM415.964 145.229c0.0244141 -0.364258 0.0371094 -0.732422 0.0371094 -1.10254c0 -8.92578 -7.23145 -16.1621 -16.1484 -16.1963h-32.208c-8.34961 0.0605469 -15.1953 6.51953 -15.8926 14.7051
c-6.90625 77.0107 -68.1172 138.91 -144.924 145.224c-8.25781 0.592773 -14.7959 7.48633 -14.7988 15.8926v32.1143v0.00390625c0 8.9043 7.22949 16.1338 16.1338 16.1338c0.396484 0 0.775391 -0.0136719 1.16504 -0.0419922
c110.123 -8.50098 198.229 -96.6074 206.636 -206.732z" />
    <glyph glyph-name="sd-card" unicode="&#xf7c2;" horiz-adv-x="384" 
d="M320 448c35.2998 0 64 -28.7002 64 -64v-384c0 -35.2998 -28.7002 -64 -64 -64h-256c-35.2998 0 -64 28.7002 -64 64v320l128 128h192zM160 288v96h-48v-96h48zM240 288v96h-48v-96h48zM320 288v96h-48v-96h48z" />
    <glyph glyph-name="sim-card" unicode="&#xf7c4;" horiz-adv-x="384" 
d="M0 384c0 35.2998 28.7002 64 64 64h192l128 -128v-320c0 -35.2998 -28.7002 -64 -64 -64h-256c-35.2998 0 -64 28.7002 -64 64v384zM224 192v64h-64v-64h64zM320 192v32c0 17.7002 -14.2998 32 -32 32h-32v-64h64zM256 64v-64h32c17.7002 0 32 14.2998 32 32v32h-64z
M160 64v-64h64v64h-64zM64 64v-32c0 -17.7002 14.2998 -32 32 -32h32v64h-64zM64 160v-64h256v64h-256zM64 224v-32h64v64h-32c-17.7002 0 -32 -14.2998 -32 -32z" />
    <glyph glyph-name="skating" unicode="&#xf7c5;" horiz-adv-x="448" 
d="M400 448c26.5 0 48 -21.5 48 -48s-21.5 -48 -48 -48s-48 21.5 -48 48s21.5 48 48 48zM400 0c8.7998 0 16 -7.2002 16 -16c0 -26.5 -21.5 -48 -48 -48h-96c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16h96c8.7998 0 16 7.2002 16 16s7.2002 16 16 16zM117.8 -8.59961
c6.2998 6.2998 16.5 6.19922 22.7002 0c6.2002 -6.2002 6.2002 -16.4004 0 -22.6006c-9.2998 -9.2998 -21.5996 -14 -33.9004 -14c-12.2998 0 -24.5996 4.60059 -34 14l-67.8994 67.9004c-6.2002 6.2002 -6.2002 16.3994 0 22.5996s16.3994 6.2002 22.5996 0
l67.9004 -67.8994c6.2002 -6.30078 16.3994 -6.2002 22.5996 0zM173.9 171.2c3.7998 -6.10059 8.19922 -11.7998 13.1992 -16.7998l30.2002 -30.2002l-91.8994 -91.9004c-6.2002 -6.2998 -14.4004 -9.39941 -22.6006 -9.39941s-16.3994 3.19922 -22.5996 9.39941
c-12.5 12.4004 -12.5 32.7002 0 45.2002zM128 288c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32h204.6c16.3008 0 30.8008 -9.7002 37 -24.7002c6.2002 -15 2.80078 -32.0996 -8.69922 -43.5996l-82.3008 -82.2998c-0.5 -0.5 -1.19922 -0.700195 -1.69922 -1.10059
l61 -61c9 -8.89941 14.0996 -21.2998 14.0996 -33.8994v-89.4004c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32v82.7998l-78.2002 78.2002c-12.5996 12.5 -19.3994 29.9004 -18.7002 47.7002c0.700195 17.7002 8.80078 34.5996 22.3008 46.0996l20.0996 17.2002
h-105.5z" />
    <glyph glyph-name="skiing" unicode="&#xf7c9;" 
d="M432 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM505 -4.09961c9.2998 -9.30078 9.2998 -24.5 0 -33.8008c-17 -17 -39.7998 -26 -63 -26c-12.5996 0 -25.2002 2.60059 -37.0996 8.10059l-391.9 202.5
c-11.7998 6 -16.4004 20.5 -10.2998 32.2998c6.09961 11.7998 20.5996 16.2998 32.2998 10.2998l197.9 -102.3l45.8994 68.7998l-75.0996 75.2002c-14.2998 14.4004 -20.6006 34.5 -17.7002 54.4004l107 -53.1006l40.4004 -40.5
c16.1992 -16.0996 18.6992 -41.5996 6 -60.5996l-49.2002 -73.7998l135.8 -70.2002c14.5996 -6.7002 33 -3.40039 45.0996 8.7002c9.30078 9.39941 24.5 9.39941 33.9004 0zM120 356.4l-26.2002 23c-2.2002 1.89941 -2.39941 5.19922 -0.5 7.39941
c1.2998 1.5 3.2002 2.10059 5 1.7002l34.4004 -7h0.200195l11.0996 21.7002c13.7002 -7 21.2002 -21.1006 20.9004 -35.6006l62.5 -31l81.1992 32.5c43.6006 17.4004 76.4004 -15 84.5 -39.1992l17.1006 -51.2002l52.0996 -26.1006
c15.7998 -7.89941 22.2002 -27.0996 14.2998 -42.8994c-7.89941 -15.7998 -27 -22.2002 -42.8994 -14.2998l-58.1006 29c-11.3994 5.69922 -20 15.5996 -24 27.6992l-6.39941 19.1006l-32.4004 -13l-114.5 56.7998c0.100586 0.0996094 0.100586 0.200195 0.200195 0.299805
l-47.2002 23.4004c-11.5996 -9.7002 -28.3994 -12.1006 -42.7998 -4.7998z" />
    <glyph glyph-name="skiing-nordic" unicode="&#xf7ca;" horiz-adv-x="576" 
d="M336 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM552 32c13.2002 0 24 -10.7998 24 -24c0 -39.7002 -32.2998 -72 -72 -72h-480c-13.2002 0 -24 10.7002 -24 24s10.7998 24 24 24h42.9004l54.0996 270.8
c-0.700195 0.799805 -1.7002 1.2002 -2.40039 2.10059c-10.7998 14.0996 -8.09961 34.1992 5.90039 44.8994l39.7002 30.4004c23 17.5996 52.5 23.8994 80.7998 17.0996l71.2002 -21.2002c26.2998 -6.69922 49.2998 -25.3994 61.7998 -50.8994l26.0996 -53.2002h44
c17.7002 0 32 -14.2998 32 -32c0 -13.4004 -8.39941 -24.9004 -20.0996 -29.5996l-25.5 -178.4h69.5c13.2002 0 24 10.7998 24 24c0 13.2998 10.7998 24 24 24zM291.5 -16l25.5 81.2002l-85 50.2002c-27.5996 16.2998 -38.9004 50.7998 -26.2998 80.2998l37.5 87.3994
l-14.7002 4.40039c-7.90039 1.90039 -17.5996 -0.200195 -25.2998 -6.09961l-39.7002 -30.4004c-3.59961 -2.7002 -7.59961 -4.59961 -11.7002 -5.59961l-52.2998 -261.4h24.2002l62.5 131.8c7.59961 -10.8994 17.3994 -20.5996 29.5 -27.7998l22 -13l-43.1006 -91h96.9004z
M402.1 -16l25.2002 176h-33.2998c-18.2002 0 -35.0996 10.5996 -43.0996 26.9004l-20.3008 41.3994l-31.2998 -78.2998l61.2002 -36.0996c18.7002 -11.3008 27.5 -33.6006 21.5996 -54.4004l-23.5996 -75.5h43.5996z" />
    <glyph glyph-name="sleigh" unicode="&#xf7cc;" horiz-adv-x="640" 
d="M612.7 97.2998c18.5 -14.7002 28.5996 -37.2002 27.2002 -61c-2.2002 -39 -36.9004 -68.2998 -75.9004 -68.2998h-516c-8.7998 0 -16 7.2002 -16 16v16c0 8.7998 7.2002 16 16 16h519.3c13.6006 0 24.6006 11 24.6006 24.5996c0 7.5 -3.30078 14.5 -9.2002 19.2002
l-9.2998 7.40039c-6.90039 5.5 -8 15.5996 -2.5 22.5l10 12.5c5.5 6.89941 15.5996 8 22.5 2.5zM32 224v128c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32h20.7002c65.7002 0 125.899 -37.2002 155.3 -96s89.5 -96 155.3 -96h20.7002c35.2998 0 64 28.7002 64 64v64h96
c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32v-96c0 -53 -43 -96 -96 -96v-48h-64v48h-192v-48h-64v52.5c-55.0996 14.2998 -96 63.9004 -96 123.5z" />
    <glyph glyph-name="sms" unicode="&#xf7cd;" 
d="M256 416c141.4 0 256 -93.0996 256 -208s-114.6 -208 -256 -208c-38.4004 0 -74.7002 7.09961 -107.4 19.4004c-24.5996 -19.6006 -74.2998 -51.4004 -140.6 -51.4004c-3.2002 0 -6 1.7998 -7.2998 4.7998s-0.700195 6.40039 1.5 8.7002
c0.5 0.5 42.2998 45.4004 54.7998 95.7998c-35.5996 35.7002 -57 81.1006 -57 130.7c0 114.9 114.6 208 256 208zM128.2 144c23.3994 0 42.5 17.2998 42.3994 38.5996c0 10.6006 -4.7998 20.9004 -13.2998 28.1006l-21.8994 18.7998
c-1.30078 1.09961 -2.10059 2.5 -2.10059 3.7998c0 3.10059 4.40039 6.60059 10.4004 6.60059h12.2998c4.40039 0 8 3.59961 8 8v16c0 4.39941 -3.59961 8 -8 8h-12.2002c-23.3994 0 -42.3994 -17.3008 -42.3994 -38.6006c0 -10.5996 4.7998 -20.8994 13.2998 -28.0996
l21.8994 -18.7998c1.30078 -1.10059 2.10059 -2.5 2.10059 -3.80078c0 -3.09961 -4.40039 -6.59961 -10.4004 -6.59961h-12.2998c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h12.2002zM320 152v104c0 8.7998 -7.2002 16 -16 16h-16
c-6 0 -11.5996 -3.40039 -14.2998 -8.7998l-17.7002 -35.4004l-17.7002 35.4004c-2.7002 5.39941 -8.2002 8.7998 -14.2998 8.7998h-16c-8.7998 0 -16 -7.2002 -16 -16v-104c0 -4.40039 3.59961 -8 8 -8h16c4.40039 0 8 3.59961 8 8v68.2002l24.9004 -55.7998
c2.89941 -5.90039 11.3994 -5.90039 14.2998 0l24.7998 55.7998v-68.2002c0 -4.40039 3.59961 -8 8 -8h16c4.40039 0 8 3.59961 8 8zM368.3 144c23.4004 0 42.4004 17.2998 42.2998 38.5996c0 10.6006 -4.7998 20.9004 -13.2998 28.1006l-21.8994 18.7998
c-1.30078 1.09961 -2.10059 2.5 -2.10059 3.7998c0 3.10059 4.40039 6.60059 10.4004 6.60059h12.2998c4.40039 0 8 3.59961 8 8v16c0 4.39941 -3.59961 8 -8 8h-12.2002c-23.3994 0 -42.3994 -17.3008 -42.3994 -38.6006c0 -10.5996 4.7998 -20.8994 13.2998 -28.0996
l21.8994 -18.7998c1.30078 -1.10059 2.10059 -2.5 2.10059 -3.80078c0 -3.09961 -4.40039 -6.59961 -10.4004 -6.59961h-12.2998c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h12.2998z" />
    <glyph glyph-name="snowboarding" unicode="&#xf7ce;" 
d="M432 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM460.8 198.4l-83.5 62.8994l-66 -30.5l52 -39c14.9004 -11.2002 22 -30.2002 18.1006 -48.3994l-21.9004 -102c-2.2002 -10.1006 -9.09961 -17.8008 -17.7998 -21.9004
l90.7998 -33.0996c9.7002 -3.5 20.2002 -3.10059 29.5 1.2998c12 5.59961 26.2998 0.399414 31.9004 -11.6006c5.59961 -12 0.399414 -26.2998 -11.6006 -31.8994c-11.5996 -5.5 -24 -8.2002 -36.5 -8.2002c-10 0 -20 1.7998 -29.7002 5.2998l-364.8 132.7
c-21.7998 7.90039 -39.0996 23.7998 -48.8994 44.7998c-5.60059 12 -0.400391 26.2998 11.5996 31.9004c12 5.59961 26.2998 0.399414 31.9004 -11.6006c4.39941 -9.39941 12.0996 -16.5 21.7998 -20l38.7002 -14.0996c-3.80078 3.5 -7 7.7002 -8.7002 12.9004
c-5.60059 16.7998 3.39941 34.8994 20.2002 40.5l74.0996 24.6992v53.1006c0 24.3994 13.5996 46.2998 35.4004 57.2002l41.1992 20.5996l-16.3994 5.5c-12.1006 4.09961 -22 12.5996 -27.7002 24l-29.0996 58.0996c-7.90039 15.8008 -1.5 35 14.2998 42.9004
s35 1.5 42.8994 -14.2998l26.1006 -52.1006l63.7002 -21.1992c16.2998 -5.40039 31.5996 -13.5 45.3994 -23.8008l111.4 -83.5c14.2002 -10.5996 17 -30.6992 6.39941 -44.7998c-6.2998 -8.39941 -15.8994 -12.7998 -25.5996 -12.7998
c-6.7002 0 -13.4004 2.09961 -19.2002 6.40039zM316.4 146.7l-60.5 45.2998v-20.5c0 -20.7002 -13.2002 -39 -32.8008 -45.5l-85 -28.4004c-2.59961 -0.899414 -5.2998 -1.09961 -8 -1.2998l169.4 -61.5996c-2.90039 6.09961 -4.2998 12.8994 -2.7998 20z" />
    <glyph glyph-name="snowman" unicode="&#xf7d0;" 
d="M510.9 295.7c3.19922 -8.10059 -0.800781 -17.2002 -8.90039 -20.2998l-135.2 -55.2002c0.400391 -4.10059 1.2002 -8 1.2002 -12.2002c0 -10 -1.7002 -19.5 -4.2002 -28.7002c21.1006 -21.3994 36.1006 -48.7998 41.6006 -79
c11.5 -63.2002 -16.4004 -120.3 -62.9004 -152.6c-10.9004 -7.60059 -23.9004 -11.7002 -37.2002 -11.7002h-99.2002c-11 0 -22 2.2998 -31.2998 8.2002c-42.3994 26.8994 -70.7998 73.7998 -70.7998 127.8c0 41.7998 16.9004 79.5996 44.2998 107.1
c-2.5 9.30078 -4.2002 18.8008 -4.2002 28.9004c0 4.2002 0.800781 8.2002 1.2002 12.2002l-135.2 55.2002c-8.19922 3.19922 -12.1992 12.2998 -8.89941 20.2998l5.89941 14.5c3.30078 8 12.6006 11.8994 20.8008 8.7002l28.0996 -11.5v29
c0 8.59961 7.2002 15.5996 16 15.5996h16c8.7998 0 16 -7 15.7998 -15.5996v-46.9004c0 -0.5 -0.200195 -1 -0.299805 -1.5l56.4004 -23c6 10 13.2998 18.9004 22 26.5996c-13.5 16.6006 -22 37.4004 -22 60.5c0 53 43 96 96 96s96 -43 96 -96
c0 -23.0996 -8.40039 -43.8994 -22 -60.5c8.69922 -7.69922 16.0996 -16.5996 22 -26.5996l56.3994 23c0 0.5 -0.299805 1 -0.299805 1.5v46.9004c0 8.59961 7.2002 15.5996 16 15.5996h16c8.7998 0 16 -7 16 -15.5996v-29l28.2002 11.5
c8.2002 3.19922 17.5 -0.700195 20.7998 -8.7002zM224 352c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM256 80c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM256 144
c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM256 208c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM256 296c0 0 16 23.2002 16 32s-7.2002 16 -16 16s-16 -7.2002 -16 -16s16 -32 16 -32z
M288 352c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16z" />
    <glyph glyph-name="snowplow" unicode="&#xf7d2;" horiz-adv-x="640" 
d="M120 72c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM200 72c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM280 72c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24
s-24 10.7002 -24 24s10.7002 24 24 24zM360 72c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM598.6 22.5996l36.7002 -36.6992c6.2002 -6.2002 6.2002 -16.4004 0 -22.6006l-22.5996 -22.5996
c-6.2002 -6.2002 -16.4004 -6.2002 -22.6006 0l-36.6992 36.7002c-26.5 26.5 -41.4004 62.3994 -41.4004 99.8994v18.7002h-43.2002c7 -14.5996 11.2002 -30.7002 11.2002 -48c0 -61.9004 -50.0996 -112 -112 -112h-256c-61.9004 0 -112 50.0996 -112 112
c0 44.5996 26.2998 82.7998 64 100.8v91.2002c0 26.5 21.5 48 48 48h16v112c0 26.5 21.5 48 48 48h144.3c19.2998 0 36.6006 -11.4004 44.2002 -29.0996l78.2998 -182.801c3.40039 -8 5.2002 -16.5 5.2002 -25.1992v-50.9004h64v18.7002
c0 37.5 14.9004 73.3994 41.4004 99.8994l36.6992 36.7002c6.2002 6.2002 16.4004 6.2002 22.6006 0l22.5996 -22.5996c6.2002 -6.2002 6.2002 -16.4004 0 -22.6006l-36.7002 -36.6992c-14.5 -14.5 -22.5996 -34.1006 -22.5996 -54.6006v-101.6
c0 -20.5 8.09961 -40.1006 22.5996 -54.6006zM192 384v-96l64 -64h122.4l-68.6006 160h-117.8zM368 0c26.5 0 48 21.5 48 48s-21.5 48 -48 48h-256c-26.5 0 -48 -21.5 -48 -48s21.5 -48 48 -48h256z" />
    <glyph glyph-name="tenge" unicode="&#xf7d7;" horiz-adv-x="384" 
d="M372 288c6.59961 0 12 -5.40039 12 -12v-56c0 -6.59961 -5.40039 -12 -12 -12h-140v-228c0 -6.59961 -5.40039 -12 -12 -12h-56c-6.59961 0 -12 5.40039 -12 12v228h-140c-6.59961 0 -12 5.40039 -12 12v56c0 6.59961 5.40039 12 12 12h360zM372 416
c6.59961 0 12 -5.40039 12 -12v-56c0 -6.59961 -5.40039 -12 -12 -12h-360c-6.59961 0 -12 5.40039 -12 12v56c0 6.59961 5.40039 12 12 12h360z" />
    <glyph glyph-name="toilet" unicode="&#xf7d8;" horiz-adv-x="384" 
d="M368 400h-16v-156.7c20.2002 -10.0996 32 -22.2002 32 -35.2998c0 -67.2002 -34.5996 -126.2 -86.7998 -160.5l21.3994 -70.2002c6.30078 -20.5 -9.09961 -41.2998 -30.5996 -41.2998h-192c-21.5 0 -36.9004 20.7998 -30.5996 41.2998l21.3994 70.2002
c-52.2002 34.2998 -86.7998 93.2998 -86.7998 160.5c0 13.0996 11.7998 25.2002 32 35.2998v156.7h-16c-8.7998 0 -16 7.2002 -16 16v16c0 8.7998 7.2002 16 16 16h352c8.7998 0 16 -7.2002 16 -16v-16c0 -8.7998 -7.2002 -16 -16 -16zM80 376v-16
c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8zM192 176c77.0996 0 139.6 14.2998 139.6 32s-62.5 32 -139.6 32s-139.6 -14.2998 -139.6 -32s62.5 -32 139.6 -32z" />
    <glyph glyph-name="tools" unicode="&#xf7d9;" 
d="M501.1 52.2998c14.5 -14.5 14.5 -38.0996 0 -52.7002l-52.6992 -52.6992c-14.5 -14.6006 -38.1006 -14.6006 -52.7002 0l-117.101 117.1c-23.0996 23.0996 -27.5 57.5996 -13.8994 85.4004l-106.601 106.6h-62.0996l-96 128l64 64l128 -96v-62.0996l106.6 -106.601
c27.8008 13.7002 62.3008 9.2002 85.4004 -13.8994zM331.7 223c-8.2002 0 -16.6006 -1 -24.7002 -2.90039l-82.0996 82.1006c-0.700195 37.5 12.6992 75.0996 41.1992 103.6c37 37 89.2002 49.6006 136.601 37.9004c9.09961 -2.2998 12.2998 -13.6006 5.7002 -20.2002
l-74.4004 -74.4004l11.2998 -67.8994l67.9004 -11.2998l74.3994 74.3994c6.60059 6.60059 17.9004 3.5 20.1006 -5.5c11.7998 -47.3994 -0.799805 -99.5996 -37.9004 -136.7c-13 -13 -28 -22.5996 -43.7998 -29.5l-19.4004 19.4004c-20 20 -46.5996 31 -74.8994 31z
M227.8 141c-4.89941 -21.0996 -2.59961 -42.7998 5 -62.7002l-123.6 -123.6c-25 -25 -65.5 -25 -90.5 0s-25 65.5 0 90.5l152.399 152.5zM64 -24c13.2998 0 24 10.7998 24 24c0 13.2998 -10.7002 24 -24 24s-24 -10.7002 -24 -24c0 -13.2002 10.7998 -24 24 -24z" />
    <glyph glyph-name="tram" unicode="&#xf7da;" 
d="M288 384c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM511.5 396.1c2.2002 -8.5 -2.7998 -17.2998 -11.4004 -19.5996l-228.1 -60.7998v-91.7002h176c17.7002 0 32 -14.2998 32 -32v-224c0 -17.7002 -14.2998 -32 -32 -32
h-384c-17.7002 0 -32 14.2998 -32 32v224c0 17.7002 14.2998 32 32 32h176v83.2002l-219.9 -58.7002c-1.2998 -0.299805 -2.69922 -0.5 -4.09961 -0.5c-7.09961 0 -13.5 4.7002 -15.4004 11.7998c-2.2998 8.60059 2.80078 17.2998 11.3008 19.6006l480 128
c8.59961 2.2998 17.2998 -2.7002 19.5996 -11.3008zM176 64v96h-96v-96h96zM336 160v-96h96v96h-96zM304 160h-96v-96h96v96zM192 352c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32z" />
    <glyph glyph-name="fire-alt" unicode="&#xf7e4;" horiz-adv-x="448" 
d="M323.56 396.8c72.46 -67.2598 124.44 -177.13 124.44 -230.399c0 -127.25 -100.29 -230.4 -224 -230.4s-224 103.15 -224 230.4c0 71.6396 69.7402 190.43 168 281.6c38.2803 -35.5303 72.0801 -73.6201 99.3398 -111.17
c16.6406 20.3799 35.4199 40.6699 56.2197 59.9697zM304.09 56.1504c49.2402 34.4492 60.7803 101.229 33.4297 153.42c-3.35938 6.41992 -7.12988 13.1201 -11.2695 19.9697l-58.6299 -66.8799s-91.9004 117.359 -98.8301 125.34
c-48.4805 -58.1201 -72.79 -92.1396 -72.79 -130.75c0 -77.5098 58.71 -125.25 130.86 -125.25c28.8594 0 55.5693 8.99023 77.2295 24.1504z" />
    <glyph glyph-name="bacon" unicode="&#xf7e5;" horiz-adv-x="576" 
d="M218.92 111.61c-34.8604 -34.8799 -59.6504 -44.1602 -85.9199 -54c-26 -9.76074 -53 -20.1299 -88.1699 -52.7305l-35.7598 35.5098c-12.7002 12.6104 -12.0703 33.6104 1.79004 45.0605c36.3398 29.9795 66.21 41.0996 91.0693 50.3594
c9.16992 3.41016 68.9707 19.2607 98.7207 98.0908c8.60938 22.8096 46.3496 134.58 188.979 187.72c15.8506 5.91016 27.3604 10.2002 41 20.2998c5.14941 3.80859 11.5498 6.08008 18.4404 6.08008c8.46484 0 16.1426 -3.40137 21.7393 -8.91016l37.6709 -37.3896
c-30.1504 -27.6904 -52.9102 -36.3701 -76.79 -45.3701c-28.3008 -10.6104 -57.5703 -21.5801 -97.3506 -61.3799s-50.7598 -69.0498 -61.3701 -97.3398c-9.84961 -26.3008 -19.1602 -51.1104 -54.0498 -86zM566.92 343.61
c12.7002 -12.5996 12.0801 -33.6602 -1.80957 -45.0605c-36.3701 -30.0098 -66.2402 -41.1396 -91.1104 -50.4102c-9.2002 -3.43945 -69 -19.3193 -98.7305 -98.1094c-8.93945 -23.5898 -46.7393 -134.69 -188.939 -187.69
c-15.8496 -5.89941 -27.3398 -10.1797 -40.9404 -20.2402c-5.14941 -3.81055 -11.5527 -6.08301 -18.4453 -6.08301c-8.46289 0 -16.1377 3.39844 -21.7344 8.90332l-37.6797 37.4297c30.1094 27.6699 52.8594 36.3301 76.7197 45.3301
c28.2998 10.5898 57.5098 21.54 97.2998 61.3203s50.7803 69 61.4199 97.3301c9.81055 26.3096 19.1104 51.1602 54 86c34.8906 34.8398 59.6904 44.1504 85.9502 54c26.0703 9.79004 53.0605 20.1602 88.25 52.79z" />
    <glyph glyph-name="book-medical" unicode="&#xf7e6;" horiz-adv-x="448" 
d="M448 89.5996c0 -9.59961 -3.2002 -15.999 -9.59961 -19.1992c-3.2002 -12.8008 -3.2002 -57.6006 0 -73.6006c6.39941 -6.39941 9.59961 -12.7998 9.59961 -19.2002v-16c0 -16 -12.7998 -25.5996 -25.5996 -25.5996h-326.4c-54.4004 0 -96 41.5996 -96 96v320
c0 54.4004 41.5996 96 96 96h326.4c16 0 25.5996 -9.59961 25.5996 -25.5996v-332.801zM144 280v-48c0 -4.41504 3.58496 -8 8 -8h56v-56c0 -4.41504 3.58496 -8 8 -8h48c4.41504 0 8 3.58496 8 8v56h56c4.41504 0 8 3.58496 8 8v48c0 4.41504 -3.58496 8 -8 8h-56v56
c0 4.41504 -3.58496 8 -8 8h-48c-4.41504 0 -8 -3.58496 -8 -8v-56h-56c-4.41504 0 -8 -3.58496 -8 -8zM380.8 0v64h-284.8c-16 0 -32 -12.7998 -32 -32s12.7998 -32 32 -32h284.8z" />
    <glyph glyph-name="bread-slice" unicode="&#xf7ec;" horiz-adv-x="576" 
d="M288 448c180 0 288 -93.4004 288 -169.14c0 -30.3008 -24.2402 -54.8604 -64 -54.8604v-256c0 -17.6699 -16.1201 -32 -36 -32h-376c-19.8799 0 -36 14.3301 -36 32v256c-39.7598 0 -64 24.5596 -64 54.8604c0 75.7393 108 169.14 288 169.14z" />
    <glyph glyph-name="cheese" unicode="&#xf7ef;" 
d="M0 160h512v-160c0 -17.6611 -14.3389 -32 -32 -32h-448c-17.6611 0 -32 14.3389 -32 32v160zM299.83 416c118.17 -6.2002 212.17 -104.11 212.17 -224h-512l278.7 217c5.47656 4.38477 12.4277 7.02051 19.9814 7.02051
c0.384766 0 0.767578 -0.00683594 1.14844 -0.0205078z" />
    <glyph glyph-name="clinic-medical" unicode="&#xf7f2;" horiz-adv-x="576" 
d="M288 333l218.74 -192.9c1.54004 -1.37988 3.55957 -2.04004 5.25977 -3.19922v-184.9c0 -8.83105 -7.16895 -16 -16 -16h-416c-8.83105 0 -16 7.16895 -16 16v184.94c1.78027 1.20996 3.84961 1.88965 5.46973 3.34961zM384 72v48c0 4.41504 -3.58496 8 -8 8h-56v56
c0 4.41504 -3.58496 8 -8 8h-48c-4.41504 0 -8 -3.58496 -8 -8v-56h-56c-4.41504 0 -8 -3.58496 -8 -8v-48c0 -4.41504 3.58496 -8 8 -8h56v-56c0 -4.41504 3.58496 -8 8 -8h48c4.41504 0 8 3.58496 8 8v56h56c4.41504 0 8 3.58496 8 8zM570.69 211.72
c3.2627 -2.92969 5.30762 -7.18555 5.30762 -11.9121c0 -4.10156 -1.54688 -7.84473 -4.08789 -10.6777l-21.4004 -23.8203c-2.92969 -3.2627 -7.18457 -5.30762 -11.9111 -5.30762c-4.10742 0 -7.85449 1.55078 -10.6885 4.09766l-229.32 202.271
c-2.82031 2.48828 -6.53906 3.99902 -10.5928 3.99902c-4.05273 0 -7.75684 -1.51074 -10.5771 -3.99902l-229.32 -202.28c-2.83398 -2.54688 -6.58594 -4.10645 -10.6924 -4.10645c-4.72656 0 -8.97754 2.05371 -11.9072 5.31641l-21.4102 23.8203
c-2.54688 2.83398 -4.10645 6.58594 -4.10645 10.6934c0 4.72559 2.05371 8.97656 5.31641 11.9062l256 226c7.06934 6.3916 16.4707 10.2852 26.7412 10.2852c10.2715 0 19.6396 -3.89355 26.709 -10.2852z" />
    <glyph glyph-name="comment-medical" unicode="&#xf7f5;" 
d="M256 416c141.39 0 256 -93.1201 256 -208s-114.61 -208 -256 -208c-0.161133 0 -0.446289 0.107422 -0.606445 0.107422c-37.5674 0 -73.5547 6.81445 -106.794 19.2725c-24.5996 -19.6299 -74.3398 -51.3799 -140.6 -51.3799
c-4.41113 0.00488281 -7.99023 3.58984 -7.99023 8.00195c0 2.12891 0.833008 4.06445 2.19043 5.49805c0.5 0.5 42.2598 45.4502 54.7998 95.7598c-35.5898 35.7402 -57 81.1807 -57 130.74c0 114.88 114.62 208 256 208zM352 184v48c0 4.41504 -3.58496 8 -8 8h-56v56
c0 4.41504 -3.58496 8 -8 8h-48c-4.41504 0 -8 -3.58496 -8 -8v-56h-56c-4.41504 0 -8 -3.58496 -8 -8v-48c0 -4.41504 3.58496 -8 8 -8h56v-56c0 -4.41504 3.58496 -8 8 -8h48c4.41504 0 8 3.58496 8 8v56h56c4.41504 0 8 3.58496 8 8z" />
    <glyph glyph-name="crutch" unicode="&#xf7f7;" 
d="M507.31 262.29c2.87109 -2.89258 4.64551 -6.87891 4.64551 -11.2725c0 -4.42285 -1.79883 -8.42969 -4.70508 -11.3271l-22.6201 -22.6309c-2.89648 -2.89648 -6.90137 -4.68945 -11.3174 -4.68945s-8.41602 1.79297 -11.3125 4.68945l-181 181
c-2.89648 2.89648 -4.68945 6.90137 -4.68945 11.3174s1.79297 8.41699 4.68945 11.3135l22.6904 22.5996c2.89551 2.89355 6.89844 4.68457 11.3115 4.68457c4.41406 0 8.41211 -1.79102 11.3076 -4.68457zM327.77 195.88l55.1006 55.1201l45.25 -45.2695l-109.68 -109.681
c-12.4922 -12.4961 -28.4805 -21.5479 -46.29 -25.6494l-120.25 -27.75l-102 -102c-2.89648 -2.89746 -6.90137 -4.69043 -11.3174 -4.69043s-8.41699 1.79297 -11.3135 4.69043l-22.6191 22.6191c-2.89746 2.89648 -4.69043 6.90137 -4.69043 11.3174
s1.79297 8.41699 4.69043 11.3135l102 102l27.7393 120.26c4.11816 17.8066 13.1738 33.7939 25.6699 46.29l109.671 109.67l45.25 -45.25l-55.1006 -55.1006zM273.2 141.31l9.30957 9.31055l-67.8896 67.8896l-9.31055 -9.30957
c-4.16113 -4.17676 -7.17969 -9.51074 -8.55957 -15.4502l-18.2998 -79.2998l79.2998 18.3193c5.94238 1.36328 11.2783 4.37695 15.4502 8.54004z" />
    <glyph glyph-name="disease" unicode="&#xf7fa;" 
d="M472.29 252.1c48.54 -16.6191 53.8301 -73.8301 8.99023 -96.79l-62 -31.7393c-17.8301 -9.12988 -29.2803 -25.2002 -30.6299 -43l-4.7002 -61.8604c-3.4502 -44.79 -65.1299 -66.7803 -104.45 -37.2197l-54.3203 40.8301
c-15.6201 11.7295 -36.96 16.1201 -57.0693 11.7295l-70 -15.2803c-50.6504 -11.0596 -94.1104 32.5605 -73.46 73.8008l28.4297 57c8.17969 16.3799 6.43945 35.1699 -4.63965 50.2393l-38.54 52.4209c-27.9307 37.9492 7 86.9092 59 82.8398l71.8994 -5.62012
c20.6602 -1.62012 40.9404 5.59961 54.2002 19.3096l46.0898 47.7207c33.4297 34.5098 98.4199 21.1494 110 -22.6201l16 -60.4502c4.60059 -17.3906 18.8604 -31.71 38.1406 -38.3105zM160 192c17.6611 0 32 14.3389 32 32s-14.3389 32 -32 32s-32 -14.3389 -32 -32
s14.3389 -32 32 -32zM288 96c17.6611 0 32 14.3389 32 32s-14.3389 32 -32 32s-32 -14.3389 -32 -32s14.3389 -32 32 -32zM304 224c8.83105 0 16 7.16895 16 16s-7.16895 16 -16 16s-16 -7.16895 -16 -16s7.16895 -16 16 -16z" />
    <glyph glyph-name="egg" unicode="&#xf7fb;" horiz-adv-x="384" 
d="M192 448c106 0 192 -214 192 -320s-86 -192 -192 -192s-192 86 -192 192s86 320 192 320z" />
    <glyph glyph-name="hamburger" unicode="&#xf805;" 
d="M464 192c26.4922 0 48 -21.5078 48 -48s-21.5078 -48 -48 -48h-416c-26.4922 0 -48 21.5078 -48 48s21.5078 48 48 48h416zM480 64c8.83105 0 16 -7.16895 16 -16v-16c0 -35.3223 -28.6777 -64 -64 -64h-352c-35.3223 0 -64 28.6777 -64 64v16
c0 8.83105 7.16895 16 16 16h448zM58.6396 224c-34.5693 0 -54.6396 43.9102 -34.8193 75.8896c40.1797 64.9102 128.64 116.011 232.18 116.11c103.55 -0.0996094 192 -51.2002 232.18 -116.12c19.8008 -31.9795 -0.25 -75.8799 -34.8193 -75.8799h-394.721zM384 336
c-8.83105 0 -16 -7.16895 -16 -16s7.16895 -16 16 -16s16 7.16895 16 16s-7.16895 16 -16 16zM256 368c-8.83105 0 -16 -7.16895 -16 -16s7.16895 -16 16 -16s16 7.16895 16 16s-7.16895 16 -16 16zM128 336c-8.83105 0 -16 -7.16895 -16 -16s7.16895 -16 16 -16
s16 7.16895 16 16s-7.16895 16 -16 16z" />
    <glyph glyph-name="hand-middle-finger" unicode="&#xf806;" 
d="M479.93 130.88l0.0703125 -82.8799c0 -61.7979 -50.1592 -111.973 -111.95 -112h-215c-30.9053 0.00292969 -58.9189 12.5361 -79.1895 32.8096l-30.9307 30.9307c-6.75488 6.75391 -10.9297 16.0928 -10.9297 26.3896v73.4697
c0 14.6221 8.38574 27.2734 20.6396 33.4004l27.3604 15v-76c0 -4.41504 3.58496 -8 8 -8s8 3.58496 8 8v147.04c0 15.2598 12.8701 28.3799 30.8701 31.3799l30.6797 5.12012c17.8203 2.96973 34.4502 -8.38965 34.4502 -23.54v-32c0 -4.41504 3.58496 -8 8 -8
s8 3.58496 8 8v200c0 0.0078125 -0.0244141 0.015625 -0.0244141 0.0234375c0 26.4912 21.5078 48 48 48c0.50293 0 1.00488 -0.0078125 1.50488 -0.0234375c26.2695 -0.799805 46.5195 -23.7197 46.5195 -50v-198c0 -4.41504 3.58496 -8 8 -8s8 3.58496 8 8v32
c0 15.1396 16.6299 26.5 34.4502 23.5303l38.3994 -6.40039c13.46 -2.25 23.1504 -12.0996 23.1504 -23.54v-49.5898l35.6504 -8.92969c16.2188 -4.05371 28.2676 -18.7256 28.2793 -36.1904z" />
    <glyph glyph-name="hard-hat" unicode="&#xf807;" 
d="M480 160v-64h-448v64c0 80.25 49.2803 148.92 119.19 177.62l40.8096 -81.6201v112c0 8.83105 7.16895 16 16 16h96c8.83105 0 16 -7.16895 16 -16v-112l40.8096 81.6201c69.9102 -28.7002 119.19 -97.3701 119.19 -177.62zM496 64c8.83105 0 16 -7.16895 16 -16v-32
c0 -8.83105 -7.16895 -16 -16 -16h-480c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h480z" />
    <glyph glyph-name="hospital-user" unicode="&#xf80d;" horiz-adv-x="640" 
d="M480 128c-52.9834 0 -96 43.0166 -96 96s43.0166 96 96 96s96 -43.0166 96 -96s-43.0166 -96 -96 -96zM528 96c61.8145 0 112.002 -50.1738 112.002 -111.988c0 -0.210938 -0.000976562 -0.420898 -0.00195312 -0.631836
c-0.139648 -26.2598 -21.7305 -47.3799 -48 -47.3799h-224c-26.2695 0 -47.8604 21.1201 -48 47.3799c-0.000976562 0.210938 0 0.40918 0 0.620117c0 61.8145 50.1855 112 112 112c0.0273438 0 0.0556641 -0.00488281 0.0830078 -0.00488281
c2.42871 0 4.77051 -0.380859 6.9668 -1.08496c12.8193 -4.4541 26.6504 -6.87402 40.9775 -6.87402s28.0938 2.41992 40.9131 6.87402c2.19922 0.704102 4.54395 1.08984 6.97656 1.08984h0.0830078zM329.91 85.5498c-25.9033 -25.8965 -41.915 -61.665 -41.915 -101.15
c0 -0.396484 0.00195312 -0.792969 0.00488281 -1.18945c0.166016 -17.7246 6.24512 -34.1309 16.3096 -47.21h-288.31c-8.83105 0 -16 7.16895 -16 16v368c0 17.6611 14.3389 32 32 32h32v64c0 17.6611 14.3389 32 32 32h160c17.6611 0 32 -14.3389 32 -32v-64h32
c17.6611 0 32 -14.3389 32 -32v-216.62c-7.98633 -5.24609 -15.3037 -11.1562 -22.0898 -17.8301zM144 44v40c0 6.62305 -5.37695 12 -12 12h-40c-6.62305 0 -12 -5.37695 -12 -12v-40c0 -6.62305 5.37695 -12 12 -12h40c6.62305 0 12 5.37695 12 12zM144 172v40
c0 6.62305 -5.37695 12 -12 12h-40c-6.62305 0 -12 -5.37695 -12 -12v-40c0 -6.62305 5.37695 -12 12 -12h40c6.62305 0 12 5.37695 12 12zM192 294v26h26c3.31152 0 6 2.68848 6 6v20c0 3.31152 -2.68848 6 -6 6h-26v26c0 3.31152 -2.68848 6 -6 6h-20
c-3.31152 0 -6 -2.68848 -6 -6v-26h-26c-3.31152 0 -6 -2.68848 -6 -6v-20c0 -3.31152 2.68848 -6 6 -6h26v-26c0 -3.31152 2.68848 -6 6 -6h20c3.31152 0 6 2.68848 6 6zM272 44v40c0 6.62305 -5.37695 12 -12 12h-40c-6.62305 0 -12 -5.37695 -12 -12v-40
c0 -6.62305 5.37695 -12 12 -12h40c6.62305 0 12 5.37695 12 12zM272 172v40c0 6.62305 -5.37695 12 -12 12h-40c-6.62305 0 -12 -5.37695 -12 -12v-40c0 -6.62305 5.37695 -12 12 -12h40c6.62305 0 12 5.37695 12 12z" />
    <glyph glyph-name="hotdog" unicode="&#xf80f;" 
d="M488.56 424.56c14.4766 -14.4795 23.4346 -34.498 23.4346 -56.5703s-8.95801 -42.0693 -23.4346 -56.5488l-352 -352c-14.5518 -15.0674 -34.9814 -24.4199 -57.5615 -24.4199c-44.1523 0 -80 35.8467 -80 80c0 22.5801 9.375 42.9873 24.4424 57.5391l352 352
c14.4795 14.4766 34.498 23.4346 56.5703 23.4346s42.0693 -8.95801 56.5488 -23.4346zM438.63 329.37c2.89648 2.89648 4.68457 6.90137 4.68457 11.3174c0 8.83105 -7.16992 16.002 -16.002 16.002c-4.41602 0 -8.41602 -1.79297 -11.3125 -4.68945
c-12.4102 -12.4102 -21.7598 -14 -34.71 -16.2305c-14.4004 -2.46973 -32.3203 -5.55957 -51.9199 -25.1494c-19.6006 -19.5898 -22.6699 -37.5205 -25.1396 -51.9199c-2.24023 -12.9502 -3.84082 -22.3105 -16.2402 -34.71
c-12.4004 -12.4004 -21.7002 -14.0098 -34.7002 -16.2305c-14.4004 -2.46973 -32.3203 -5.5498 -51.9199 -25.1396c-19.6006 -19.5898 -22.6699 -37.5205 -25.1504 -51.9199c-2.21973 -12.9502 -3.80957 -22.29 -16.2197 -34.7002s-21.71 -14.0098 -34.71 -16.2305
c-14.4004 -2.46973 -32.3203 -5.5498 -51.9199 -25.1396c-2.89648 -2.89648 -4.68457 -6.90137 -4.68457 -11.3174c0 -8.83105 7.16992 -16.002 16.002 -16.002c4.41602 0 8.41602 1.79297 11.3125 4.68945c12.4004 12.4004 21.7598 14 34.7002 16.2305
c14.3994 2.46973 32.3301 5.55957 51.9297 25.1494c19.6006 19.5898 22.6699 37.5205 25.1396 51.9199c2.23047 12.9502 3.83008 22.2998 16.2305 34.7002s21.75 14 34.7002 16.2197c14.3994 2.48047 32.3193 5.56055 51.9199 25.1504
c19.5996 19.5898 22.6699 37.5195 25.1494 51.9199c2.23047 12.9502 3.83008 22.3096 16.2305 34.71s21.7598 14 34.7002 16.2305c14.4102 2.46973 32.3301 5.5498 51.9297 25.1396zM31.4404 125.82l-11.5508 11.5498c-24.9893 24.9902 -26.6592 63.8398 -3.71973 86.7803
l207.68 207.68c22.9404 22.9395 61.79 21.2803 86.79 -3.71973l11.54 -11.5508zM480.56 258.18l11.5508 -11.54c24.9893 -25 26.6592 -63.8496 3.71973 -86.79l-207.68 -207.68c-22.9404 -22.9395 -61.79 -21.2803 -86.79 3.71973l-11.54 11.5508z" />
    <glyph glyph-name="ice-cream" unicode="&#xf810;" horiz-adv-x="448" 
d="M368 288c26.4922 0 48 -21.5078 48 -48s-21.5078 -48 -48 -48h-288c-26.4922 0 -48 21.5078 -48 48s21.5078 48 48 48h0.94043c-0.625 5.43945 -0.93457 10.9707 -0.93457 16.5762c0 79.4756 64.5234 144 144 144c79.4756 0 144 -64.5244 144 -144
c0 -5.60547 -0.321289 -11.1367 -0.946289 -16.5762h0.94043zM195.38 -45.6904l-99.3799 205.69h256l-99.3799 -205.69c-4.99414 -10.8223 -15.9111 -18.3398 -28.6035 -18.3398s-23.6426 7.51758 -28.6367 18.3398z" />
    <glyph glyph-name="laptop-medical" unicode="&#xf812;" horiz-adv-x="640" 
d="M232 224c-4.41504 0 -8 3.58496 -8 8v48c0 4.41504 3.58496 8 8 8h56v56c0 4.41504 3.58496 8 8 8h48c4.41504 0 8 -3.58496 8 -8v-56h56c4.41504 0 8 -3.58496 8 -8v-48c0 -4.41504 -3.58496 -8 -8 -8h-56v-56c0 -4.41504 -3.58496 -8 -8 -8h-48
c-4.41504 0 -8 3.58496 -8 8v56h-56zM576 400v-336h-512v336c0.0771484 26.4561 21.5439 47.9229 48 48h416c26.4561 -0.0771484 47.9229 -21.5439 48 -48zM512 128v256h-384v-256h384zM624 32c8.83105 0 16 -7.16895 16 -16v-16
c-0.104492 -35.2744 -28.7256 -63.8955 -64 -64h-512c-35.2744 0.104492 -63.8955 28.7256 -64 64v16c0 8.83105 7.16895 16 16 16h239.23c-0.230469 -14.5303 14.0791 -32 32.7695 -32h60.7998c18.0303 0 32 12.1904 32.7402 32h242.46z" />
    <glyph glyph-name="pager" unicode="&#xf815;" 
d="M448 384c35.3223 0 64 -28.6777 64 -64v-256c0 -35.3223 -28.6777 -64 -64 -64h-384c-35.3223 0 -64 28.6777 -64 64v256c0 35.3223 28.6777 64 64 64h384zM160 80v48h-80c-8.83105 0 -16 -7.16895 -16 -16v-16c0 -8.83105 7.16895 -16 16 -16h80zM288 96v16
c0 8.83105 -7.16895 16 -16 16h-80v-48h80c8.83105 0 16 7.16895 16 16zM448 224v64c0 17.6611 -14.3389 32 -32 32h-320c-17.6611 0 -32 -14.3389 -32 -32v-64c0 -17.6611 14.3389 -32 32 -32h320c17.6611 0 32 14.3389 32 32z" />
    <glyph glyph-name="pepper-hot" unicode="&#xf816;" 
d="M330.67 184.88h107.46l37.0498 -38.54c-48.5293 -87.4697 -206.54 -210.34 -419.18 -210.34c-30.9072 0 -56 25.0928 -56 56s25.0928 56 56 56c141.58 0 163.44 181.24 221.92 250.82l52.75 -24.2207v-89.7197zM461.76 313.25
c30.8984 -28.1729 50.2402 -68.7275 50.2402 -113.795v-0.145508c0 -13.6797 -2.2998 -26.6895 -5.55957 -39.3096l-54.6807 56.8799h-89.0898v78.2402l-74.6699 34.29c22.3398 14.0498 48.3398 22.5898 76.3398 22.5898
c20.2783 -0.0078125 39.6836 -4.32031 57.1602 -11.96c18.4502 37.2197 8.25977 61.96 1.40039 72.3203c-0.896484 1.29883 -1.42676 2.88184 -1.42676 4.57715c0 2.20117 0.884766 4.19727 2.31641 5.65234l22.9004 23c1.45117 1.47559 3.46777 2.39453 5.69922 2.39453
c2.5166 0 4.76367 -1.16504 6.23047 -2.98438c18.5596 -23.4805 35.2998 -71.9102 3.13965 -131.75z" />
    <glyph glyph-name="pizza-slice" unicode="&#xf818;" 
d="M158.87 447.85c181.91 -17.1699 332.02 -164.93 352.899 -345.71c1.87012 -16.2197 -7.89941 -31.54 -23.6191 -35.8994l-56.9404 -15.7803c-7.94043 186.39 -134.86 311.51 -322.479 317l14.8096 56.2705c4.12988 15.6992 19.1699 25.6396 35.3301 24.1191z
M100.4 335.85c176.069 -1.95996 294.88 -119.25 299.149 -294.14l-379 -105.1c-1.37793 -0.381836 -2.82324 -0.59375 -4.32227 -0.59375c-8.94629 0 -16.21 7.26367 -16.21 16.21c0 1.42871 0.18457 2.81348 0.532227 4.13379zM128 32c17.6611 0 32 14.3389 32 32
s-14.3389 32 -32 32s-32 -14.3389 -32 -32s14.3389 -32 32 -32zM176 184c17.6611 0 32 14.3389 32 32s-14.3389 32 -32 32s-32 -14.3389 -32 -32s14.3389 -32 32 -32zM280 80c17.6611 0 32 14.3389 32 32s-14.3389 32 -32 32s-32 -14.3389 -32 -32s14.3389 -32 32 -32z" />
    <glyph glyph-name="trash-restore" unicode="&#xf829;" horiz-adv-x="448" 
d="M53.2002 -19l-21.2002 339h384l-21.2002 -339c-1.57031 -25.0762 -22.4316 -44.9971 -47.8994 -45h-245.801c-25.4678 0.00292969 -46.3291 19.9238 -47.8994 45zM123.31 156.8c-10.0791 -10.6201 -2.93945 -28.7998 11.3203 -28.7998h57.3701v-112
c0 -8.83105 7.16895 -16 16 -16h32c8.83105 0 16 7.16895 16 16v112h57.3701c14.2598 0 21.3994 18.1797 11.3203 28.7998l-89.3809 94.2598c-2.81543 3.04297 -6.83984 4.94922 -11.3086 4.94922s-8.49512 -1.90625 -11.3105 -4.94922zM432 416
c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-416c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h120l9.40039 18.7002c3.85547 7.88574 11.9434 13.2998 21.3066 13.2998h0.0927734h114.3
c0.00585938 0 -0.00195312 0.0234375 0.00390625 0.0234375c9.41113 0 17.5645 -5.42871 21.4961 -13.3232l9.40039 -18.7002h120z" />
    <glyph glyph-name="trash-restore-alt" unicode="&#xf82a;" horiz-adv-x="448" 
d="M32 -16v336h384v-336c0 -26.4922 -21.5078 -48 -48 -48h-288c-26.4922 0 -48 21.5078 -48 48zM123.31 156.8c-10.0791 -10.6201 -2.93945 -28.7998 11.3203 -28.7998h57.3701v-112c0 -8.83105 7.16895 -16 16 -16h32c8.83105 0 16 7.16895 16 16v112h57.3701
c14.2598 0 21.3994 18.1797 11.3203 28.7998l-89.3809 94.2598c-2.81543 3.04297 -6.83984 4.94922 -11.3086 4.94922s-8.49512 -1.90625 -11.3105 -4.94922zM432 416c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-416
c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h120l9.40039 18.7002c3.85547 7.88574 11.9434 13.2998 21.3066 13.2998h0.0927734h114.3c0.00585938 0 -0.00195312 0.0234375 0.00390625 0.0234375c9.41113 0 17.5645 -5.42871 21.4961 -13.3232
l9.40039 -18.7002h120z" />
    <glyph glyph-name="user-nurse" unicode="&#xf82f;" horiz-adv-x="448" 
d="M319.41 128c71.4902 -3.09961 128.59 -61.5996 128.59 -133.79c0 -32.127 -26.083 -58.21 -58.21 -58.21h-331.58c-32.127 0 -58.21 26.083 -58.21 58.21c0 72.1904 57.0996 130.69 128.59 133.79l95.4102 -95.3896zM224 144c-70.6455 0 -128 57.3545 -128 128v110.18
c0 13.7119 8.62988 25.4092 20.7598 29.96l84.7705 31.79c6.98438 2.61914 14.6035 4.05176 22.498 4.05176s15.457 -1.43262 22.4414 -4.05176l84.7705 -31.75c12.1309 -4.55078 20.7598 -16.248 20.7598 -29.96v-0.0400391v-110.18c0 -70.6455 -57.3545 -128 -128 -128z
M184 376.33v-16.6602c0 -2.75977 2.24023 -5 5 -5h21.6699v-21.6699c0 -2.75977 2.24023 -5 5 -5h16.6602c2.75977 0 5 2.24023 5 5v21.6699h21.6699c2.75977 0 5 2.24023 5 5v16.6602c0 2.75977 -2.24023 5 -5 5h-21.6699v21.6699c0 2.75977 -2.24023 5 -5 5h-16.6602
c-2.75977 0 -5 -2.24023 -5 -5v-21.6699h-21.6699c-2.75977 0 -5 -2.24023 -5 -5zM144 288v-16c0 -44.1533 35.8467 -80 80 -80s80 35.8467 80 80v16h-160z" />
    <glyph glyph-name="wave-square" unicode="&#xf83e;" horiz-adv-x="640" 
d="M476 -32h-152c-19.8691 0 -36 16.1309 -36 36v348h-96v-156c0 -19.8691 -16.1309 -36 -36 -36h-140c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h112v156c0 19.8691 16.1309 36 36 36h152c19.8691 0 36 -16.1309 36 -36v-348h96v156
c0 19.8691 16.1309 36 36 36h140c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-112v-156c0 -19.8691 -16.1309 -36 -36 -36z" />
    <glyph glyph-name="biking" unicode="&#xf84a;" horiz-adv-x="640" 
d="M400 352c-26.4922 0 -48 21.5078 -48 48s21.5078 48 48 48s48 -21.5078 48 -48s-21.5078 -48 -48 -48zM396 231l-41.3604 33.1104l-58.25 -49.9199l41.3604 -27.5703c8.60547 -5.7373 14.248 -15.5117 14.25 -26.6201v-128c0 -17.6611 -14.3389 -32 -32 -32
s-32 14.3389 -32 32v110.88l-81.7305 54.5205c-8.60742 5.7373 -14.2686 15.5068 -14.2686 26.6191c0 9.71777 4.3418 18.4297 11.1895 24.3008l112 96c5.58887 4.80176 12.8965 7.70117 20.8359 7.70117c7.55566 0 14.502 -2.62891 19.9736 -7.02148l71.2197 -57h52.7803
c17.6611 0 32 -14.3389 32 -32s-14.3389 -32 -32 -32h-64c-0.0205078 0 -0.0625 0.0117188 -0.0830078 0.0117188c-7.53125 0 -14.457 2.61621 -19.917 6.98828zM512 192c70.6455 0 128 -57.3545 128 -128s-57.3545 -128 -128 -128s-128 57.3545 -128 128
s57.3545 128 128 128zM512 0c35.3223 0 64 28.6777 64 64s-28.6777 64 -64 64s-64 -28.6777 -64 -64s28.6777 -64 64 -64zM128 192c70.6455 0 128 -57.3545 128 -128s-57.3545 -128 -128 -128s-128 57.3545 -128 128s57.3545 128 128 128zM128 0c35.3223 0 64 28.6777 64 64
s-28.6777 64 -64 64s-64 -28.6777 -64 -64s28.6777 -64 64 -64z" />
    <glyph glyph-name="border-all" unicode="&#xf84c;" horiz-adv-x="448" 
d="M416 416c17.6611 0 32 -14.3389 32 -32v-384c0 -17.6611 -14.3389 -32 -32 -32h-384c-17.6611 0 -32 14.3389 -32 32v384c0 17.6611 14.3389 32 32 32h384zM384 352h-128v-128h128v128zM192 352h-128v-128h128v128zM64 32h128v128h-128v-128zM256 32h128v128h-128v-128z
" />
    <glyph glyph-name="border-none" unicode="&#xf850;" horiz-adv-x="448" 
d="M240 224c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM336 224c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32
c0 8.83105 7.16895 16 16 16h32zM432 224c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM144 224c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32
c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM240 32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM336 32c8.83105 0 16 -7.16895 16 -16v-32
c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM432 32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM432 128
c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM432 320c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32
c0 8.83105 7.16895 16 16 16h32zM240 128c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM240 320c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32
c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM144 32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM240 416c8.83105 0 16 -7.16895 16 -16v-32
c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM336 416c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM432 416
c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM48 224c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32
c0 8.83105 7.16895 16 16 16h32zM48 32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM48 128c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32
c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM48 320c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM48 416c8.83105 0 16 -7.16895 16 -16v-32
c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM144 416c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32z" />
    <glyph glyph-name="border-style" unicode="&#xf853;" horiz-adv-x="448" 
d="M240 32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM144 32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32
c0 8.83105 7.16895 16 16 16h32zM336 32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM432 224c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32
c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM432 128c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM432 32c8.83105 0 16 -7.16895 16 -16v-32
c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM432 320c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32zM432 416
c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-368v-368c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v400c0 17.6611 14.3389 32 32 32h400z" />
    <glyph glyph-name="fan" unicode="&#xf863;" 
d="M352.57 320c81.79 0 149.3 -61.6299 159.3 -141.33c1.30957 -10.4795 -7.17969 -19.6396 -17.6201 -18.5898l-123.11 12.4102c8.34082 -22.9707 12.8604 -48.9707 12.8604 -77.0605c0 -81.79 -61.6299 -149.3 -141.33 -159.3
c-10.4795 -1.30957 -19.6396 7.19043 -18.5898 17.6201l12.4102 123.11c-22.9707 -8.34082 -48.9707 -12.8604 -77.0605 -12.8604c-81.79 0 -149.3 61.6299 -159.3 141.33c-1.30957 10.4795 7.17969 19.6699 17.6201 18.5898l123.11 -12.4102
c-8.34082 22.9707 -12.8604 48.9707 -12.8604 77.0605c0 81.79 61.6299 149.3 141.33 159.3c10.4795 1.30957 19.6699 -7.17969 18.5898 -17.6201l-12.4102 -123.11c22.9707 8.34082 48.9707 12.8604 77.0605 12.8604zM256 160c17.6611 0 32 14.3389 32 32
s-14.3389 32 -32 32s-32 -14.3389 -32 -32s14.3389 -32 32 -32z" />
    <glyph glyph-name="icons" unicode="&#xf86d;" 
d="M116.65 228.65l-96.79 99.8301c-28 29.0293 -26.4102 77.0996 5 103.88c27.3896 23.3398 68.1895 19.1396 93.29 -6.80078l9.84961 -10.1396l9.86035 10.1396c25.1396 25.9404 65.8896 30.1406 93.2793 6.80078c31.4102 -26.7803 33.0605 -74.8799 4.91016 -103.88
l-96.75 -99.8301c-2.85449 -2.98242 -6.875 -4.83984 -11.3252 -4.83984s-8.46973 1.85742 -11.3242 4.83984zM260.57 128.16c15.1406 -0.0107422 27.4297 -12.3066 27.4297 -27.4502v-0.00976562v-137.25c0 -15.1436 -12.2891 -27.4395 -27.4297 -27.4502h-233.141
c-15.1396 0.00585938 -27.4297 12.2988 -27.4297 27.4395v0.0107422v137.25v0.00976562c0 15.1504 12.2998 27.4502 27.4502 27.4502h0.00976562h48l7 14.2402c3.89258 10.3887 13.9082 17.7793 25.6484 17.7793h0.0117188h71.71
c0.00390625 0 -0.00195312 0.0126953 0.000976562 0.0126953c11.7412 0 21.7666 -7.40332 25.6592 -17.792l7.08008 -14.2402h48zM144 -20c28.6992 0 52 23.3008 52 52s-23.3008 52 -52 52s-52 -23.3008 -52 -52s23.3008 -52 52 -52zM499.4 95.9004
c9.70996 0 15.75 -8.79004 10.8691 -15.7002l-92.3994 -138.91c-2.42188 -3.19824 -6.24805 -5.25488 -10.5654 -5.25488c-0.118164 0 -0.236328 0.00195312 -0.354492 0.00488281c-8.03027 0 -14.1201 6.25 -12.2305 12.9004l24.2002 83h-62.3096
c-7.62012 0 -13.5 5.58984 -12.5 11.8896l16.7998 106.93c0.839844 5.2002 6.2002 9.10059 12.5 9.10059h75.5898c8.25 0 14.2803 -6.56055 12.1797 -13.21l-22.3594 -50.75h60.5801zM478.08 447.67c17.9199 2.75 33.9199 -12.1895 33.9199 -31.6699v-144.26
c-0.269531 -26.3398 -28.7998 -47.6602 -64 -47.6602c-35.3496 0 -64 21.4795 -64 48c0 26.5195 28.6504 48 64 48c5.49219 -0.0498047 10.8096 -0.633789 16 -1.7002v47.1797l-112 -17.2197v-108.58c-0.269531 -26.3398 -28.7998 -47.6602 -64 -47.6602
c-35.3496 0 -64 21.4805 -64 48c0 26.5205 28.6504 48 64 48c5.49219 -0.0498047 10.8096 -0.632812 16 -1.69922v106.77c0 15.9102 10.8701 29.4102 25.5098 31.6602z" />
    <glyph glyph-name="phone-alt" unicode="&#xf879;" 
d="M497.39 86.2002c8.60059 -3.74121 14.6006 -12.2891 14.6006 -22.2588c0 -1.83496 -0.204102 -3.62305 -0.589844 -5.3418l-24 -104c-2.45801 -10.6416 -12 -18.5996 -23.3848 -18.5996h-0.015625c-256.1 0 -464 207.5 -464 464l0.0136719 0.00390625
c0 11.3848 7.94434 20.9287 18.5859 23.3857l104 24c1.72754 0.392578 3.49805 0.619141 5.34375 0.619141c9.9082 0 18.4307 -5.97656 22.1562 -14.5186l48 -112c1.23828 -2.88965 1.95117 -6.0791 1.95117 -9.41895c0 -7.49512 -3.45215 -14.1904 -8.85059 -18.5811
l-60.6006 -49.6006c36.7334 -77.9072 99.2822 -140.457 177.19 -177.189l49.5996 60.5996c4.40332 5.39258 11.1113 8.81055 18.6084 8.81055c3.33203 0 6.50684 -0.680664 9.3916 -1.91016z" />
    <glyph glyph-name="phone-square-alt" unicode="&#xf87b;" horiz-adv-x="448" 
d="M400 416c26.4922 0 48 -21.5078 48 -48v-352c0 -26.4922 -21.5078 -48 -48 -48h-352c-26.4922 0 -48 21.5078 -48 48v352c0 26.4922 21.5078 48 48 48h352zM383.61 108.63c0.235352 1.09082 0.369141 2.21387 0.389648 3.37012
c-0.301758 6.06445 -3.91992 11.2607 -9.08984 13.79l-70 30c-1.83594 0.71582 -3.83789 1.14355 -5.91016 1.20996c-4.58496 -0.251953 -8.69922 -2.31836 -11.6104 -5.5l-31 -37.8896c-48.7002 22.9775 -87.8018 62.0791 -110.779 110.779l37.8896 31
c3.18164 2.91113 5.24805 7.02539 5.5 11.6104c-0.0673828 2.07129 -0.495117 4.07324 -1.20996 5.91016l-30 70c-2.53223 5.16797 -7.72754 8.78418 -13.79 9.08984c-1.15527 -0.0253906 -2.27734 -0.15918 -3.37012 -0.389648l-65 -15
c-6.52246 -1.74707 -11.3818 -7.59961 -11.6299 -14.6104c0 -160.29 130 -290 290 -290c7.11426 0.00292969 13.0762 4.97852 14.6104 11.6299z" />
    <glyph glyph-name="photo-video" unicode="&#xf87c;" horiz-adv-x="640" 
d="M608 448c17.6611 0 32 -14.3389 32 -32v-320c0 -17.6611 -14.3389 -32 -32 -32h-128v320h-192v-64h-160v96c0 17.6611 14.3389 32 32 32h448zM232 345v30c0 4.9668 -4.0332 9 -9 9h-30c-4.9668 0 -9 -4.0332 -9 -9v-30c0 -4.9668 4.0332 -9 9 -9h30
c4.9668 0 9 4.0332 9 9zM584 137v30c0 4.9668 -4.0332 9 -9 9h-30c-4.9668 0 -9 -4.0332 -9 -9v-30c0 -4.9668 4.0332 -9 9 -9h30c4.9668 0 9 4.0332 9 9zM584 241v30c0 4.9668 -4.0332 9 -9 9h-30c-4.9668 0 -9 -4.0332 -9 -9v-30c0 -4.9668 4.0332 -9 9 -9h30
c4.9668 0 9 4.0332 9 9zM584 345v30c0 4.9668 -4.0332 9 -9 9h-30c-4.9668 0 -9 -4.0332 -9 -9v-30c0 -4.9668 4.0332 -9 9 -9h30c4.9668 0 9 4.0332 9 9zM416 288c17.6611 0 32 -14.3389 32 -32v-288c0 -17.6611 -14.3389 -32 -32 -32h-384c-17.6611 0 -32 14.3389 -32 32
v288c0 17.6611 14.3389 32 32 32h384zM96 224c-17.6611 0 -32 -14.3389 -32 -32s14.3389 -32 32 -32s32 14.3389 32 32s-14.3389 32 -32 32zM384 0v96l-96 96l-128 -128l-32 32l-64 -64v-32h320z" />
    <glyph glyph-name="remove-format" unicode="&#xf87d;" horiz-adv-x="640" 
d="M336 32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-128c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h32.4902l26.5098 79.5996l67.0898 -51.8301l-9.25977 -27.7695h11.1699zM633.82 -10.0996
c3.76855 -2.92871 6.17676 -7.50977 6.17676 -12.6475c0 -3.69238 -1.25293 -7.09375 -3.35742 -9.80273l-19.6396 -25.2705c-2.92871 -3.76855 -7.50879 -6.17578 -12.6465 -6.17578c-3.69727 0 -7.10254 1.25684 -9.81348 3.36621l-588.36 454.72
c-3.76562 2.92871 -6.1709 7.50781 -6.1709 12.6426c0 3.69434 1.25488 7.09766 3.36133 9.80762l19.6299 25.2695c2.92871 3.76855 7.50879 6.17676 12.6465 6.17676c3.69727 0 7.10254 -1.25684 9.81348 -3.36621l114.54 -88.5205v43.9004c0 8.83105 7.16895 16 16 16h416
c8.83105 0 16 -7.16895 16 -16v-96c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v32h-117.83l-49.1699 -147.59zM309.91 240.24l31.9199 95.7598h-117.83v-29.3604z" />
    <glyph glyph-name="sort-alpha-down-alt" unicode="&#xf881;" horiz-adv-x="448" 
d="M176 96c14.2197 0 21.3496 -17.2598 11.3301 -27.3096l-80 -96c-2.89551 -2.89453 -6.89844 -4.68555 -11.3125 -4.68555c-4.41309 0 -8.41211 1.79102 -11.3076 4.68555l-80 96c-10.0703 10.0693 -2.90039 27.3096 11.29 27.3096h48v304c0 8.83105 7.16895 16 16 16h32
c8.83105 0 16 -7.16895 16 -16v-304h48zM288 224c-8.83105 0 -16 7.16895 -16 16v17.6299c0 9.51074 4.14355 18.0566 10.7402 23.9199l61.2598 70.4502h-56c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h128c8.83105 0 16 -7.16895 16 -16v-17.6299
c0 -9.51074 -4.14355 -18.0566 -10.7402 -23.9199l-61.2598 -70.4502h56c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-128zM447.06 -10.6201c0.600586 -1.67969 0.931641 -3.49512 0.931641 -5.37988c0 -8.82812 -7.16406 -15.9951 -15.9912 -16
h-24.8398c-0.015625 0 -0.0263672 -0.00195312 -0.0419922 -0.00195312c-7.11426 0 -13.1514 4.6543 -15.2285 11.082l-4.40918 12.9199h-71l-4.4209 -12.9199c-2.07617 -6.42773 -8.10938 -11.0801 -15.2246 -11.0801h-0.00488281h-24.8301
c-8.82715 0.00488281 -15.9863 7.17773 -15.9863 16.0049c0 1.88574 0.326172 3.69531 0.926758 5.375l59.2695 160c2.20996 6.19043 8.125 10.6201 15.0703 10.6201h41.4395c6.94531 0 12.8604 -4.42969 15.0703 -10.6201zM335.61 48h32.7793l-16.3896 48z" />
    <glyph glyph-name="sort-alpha-up-alt" unicode="&#xf882;" horiz-adv-x="448" 
d="M16 288c-14.2197 0 -21.3496 17.2598 -11.3096 27.3096l80 96c2.89551 2.89453 6.89844 4.68555 11.3115 4.68555c4.41406 0 8.41211 -1.79102 11.3076 -4.68555l80 -96c10.0703 -10.0693 2.90039 -27.3096 -11.3096 -27.3096h-48v-304c0 -8.83105 -7.16895 -16 -16 -16
h-32c-8.83105 0 -16 7.16895 -16 16v304h-48zM288 224c-8.83105 0 -16 7.16895 -16 16v17.6299c0 9.51074 4.14355 18.0566 10.7402 23.9199l61.2598 70.4502h-56c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h128c8.83105 0 16 -7.16895 16 -16v-17.6299
c0 -9.51074 -4.14355 -18.0566 -10.7402 -23.9199l-61.2598 -70.4502h56c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-128zM447.06 -10.6201c0.600586 -1.67969 0.931641 -3.49512 0.931641 -5.37988c0 -8.82812 -7.16406 -15.9951 -15.9912 -16
h-24.8398c-0.015625 0 -0.0263672 -0.00195312 -0.0419922 -0.00195312c-7.11426 0 -13.1514 4.6543 -15.2285 11.082l-4.40918 12.9199h-71l-4.4209 -12.9199c-2.07617 -6.42773 -8.10938 -11.0801 -15.2246 -11.0801h-0.00488281h-24.8301
c-8.82715 0.00488281 -15.9863 7.17773 -15.9863 16.0049c0 1.88574 0.326172 3.69531 0.926758 5.375l59.2695 160c2.20996 6.19043 8.125 10.6201 15.0703 10.6201h41.4395c6.94531 0 12.8604 -4.42969 15.0703 -10.6201zM335.61 48h32.7793l-16.3896 48z" />
    <glyph glyph-name="sort-amount-down-alt" unicode="&#xf884;" 
d="M240 352c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h64c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-64zM240 224c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h128c8.83105 0 16 -7.16895 16 -16v-32
c0 -8.83105 -7.16895 -16 -16 -16h-128zM496 32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-256c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h256zM240 96c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h192
c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-192zM176 96c14.2197 0 21.3496 -17.2598 11.3301 -27.3096l-80 -96c-2.89551 -2.89453 -6.89844 -4.68555 -11.3125 -4.68555c-4.41309 0 -8.41211 1.79102 -11.3076 4.68555l-80 96
c-10.0801 10.0693 -2.90039 27.3096 11.29 27.3096h48v304c0 8.83105 7.16895 16 16 16h32c8.83105 0 16 -7.16895 16 -16v-304h48z" />
    <glyph glyph-name="sort-amount-up-alt" unicode="&#xf885;" 
d="M240 352c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h64c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-64zM240 224c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h128c8.83105 0 16 -7.16895 16 -16v-32
c0 -8.83105 -7.16895 -16 -16 -16h-128zM496 32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-256c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h256zM240 96c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h192
c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-192zM16 288c-14.2197 0 -21.3496 17.2598 -11.3096 27.3096l80 96c2.89551 2.89453 6.89844 4.68555 11.3115 4.68555c4.41406 0 8.41211 -1.79102 11.3076 -4.68555l80 -96
c10.0801 -10.0693 2.90039 -27.3096 -11.3096 -27.3096h-48v-304c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v304h-48z" />
    <glyph glyph-name="sort-numeric-down-alt" unicode="&#xf886;" horiz-adv-x="448" 
d="M176 96c14.2197 0 21.3496 -17.2598 11.3301 -27.3096l-80 -96c-2.89551 -2.89453 -6.89844 -4.68555 -11.3125 -4.68555c-4.41309 0 -8.41211 1.79102 -11.3076 4.68555l-80 96c-10.0703 10.0693 -2.90039 27.3096 11.29 27.3096h48v304c0 8.83105 7.16895 16 16 16h32
c8.83105 0 16 -7.16895 16 -16v-304h48zM400 32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-96c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h16v64h-16c-8.82422 0.0078125 -15.9775 7.18945 -15.9775 16.0156
c0 2.57129 0.608398 5.00098 1.6875 7.1543l16 32c2.62598 5.23926 8.03613 8.8252 14.29 8.83008h48c8.83105 0 16 -7.16895 16 -16v-112h16zM330.17 413.09c53.4502 14.25 101.83 -25.8799 101.85 -77.0898v-10.7695c0 -70.3906 -28.25 -107.23 -86.25 -132
c-8.36914 -3.58008 -18.0293 1.2793 -20.8994 9.90918l-9.90039 20c-2.62012 7.87012 0.610352 16.9404 8.18066 20.3408c7.59961 3.28516 14.6064 7.64258 20.8496 12.9092c-47.6396 4.76074 -83.0996 51.4805 -68.8301 102.53c7.62891 26.2793 28.5596 46.9287 55 54.1699
zM352 316c11.0381 0 20 8.96191 20 20s-8.96191 20 -20 20s-20 -8.96191 -20 -20s8.96191 -20 20 -20z" />
    <glyph glyph-name="sort-numeric-up-alt" unicode="&#xf887;" horiz-adv-x="448" 
d="M107.31 411.31l80 -96c10.0703 -10.0693 2.90039 -27.3096 -11.3096 -27.3096h-48v-304c0 -8.83105 -7.16895 -16 -16 -16h-32c-8.83105 0 -16 7.16895 -16 16v304h-48c-14.2197 0 -21.3496 17.2598 -11.3096 27.3096l80 96
c2.89551 2.89453 6.89844 4.68555 11.3115 4.68555c4.41406 0 8.41211 -1.79102 11.3076 -4.68555zM400 32c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-96c-8.83105 0 -16 7.16895 -16 16v32c0 8.83105 7.16895 16 16 16h16v64h-16
c-8.82422 0.0078125 -15.9775 7.18945 -15.9775 16.0156c0 2.57129 0.608398 5.00098 1.6875 7.1543l16 32c2.62598 5.23926 8.03613 8.8252 14.29 8.83008h48c8.83105 0 16 -7.16895 16 -16v-112h16zM330.17 413.09c53.4502 14.25 101.83 -25.8799 101.85 -77.0898
v-10.7695c0 -70.3906 -28.25 -107.23 -86.25 -132c-8.36914 -3.58008 -18.0293 1.2793 -20.8994 9.90918l-9.90039 20c-2.62012 7.87012 0.610352 16.9404 8.18066 20.3408c7.59961 3.28516 14.6064 7.64258 20.8496 12.9092
c-47.6396 4.76074 -83.0996 51.4805 -68.8301 102.53c7.62891 26.2793 28.5596 46.9287 55 54.1699zM352 316c11.0381 0 20 8.96191 20 20s-8.96191 20 -20 20s-20 -8.96191 -20 -20s8.96191 -20 20 -20z" />
    <glyph glyph-name="spell-check" unicode="&#xf891;" horiz-adv-x="576" 
d="M272 192c-8.83105 0 -16 7.16895 -16 16v224c0 8.83105 7.16895 16 16 16h75c42.2998 0 80.9004 -30.5703 84.6699 -72.6797c0.225586 -2.44238 0.289062 -4.91895 0.289062 -7.41895c0 -13.5479 -3.38281 -26.3115 -9.34863 -37.4912
c15.6377 -14.5762 25.3984 -35.2832 25.3984 -58.3262c0 -1.59277 -0.046875 -3.1748 -0.138672 -4.74414c-2.50977 -43.1396 -41.3105 -75.3398 -84.5098 -75.3398h-91.3604zM312 392v-48h40c13.2461 0 24 10.7539 24 24s-10.7539 24 -24 24h-40zM312 296v-48h56
c13.2461 0 24 10.7539 24 24s-10.7539 24 -24 24h-56zM155.12 425.75l68.2998 -213.48c0.376953 -1.36035 0.580078 -2.79004 0.580078 -4.26953c0 -8.83105 -7.16895 -16 -16 -16h-24.9297c-7.35059 0 -13.5488 4.97168 -15.4199 11.7305l-11.9404 36.2695h-87.4199
l-11.9404 -36.2695c-1.87109 -6.75879 -8.06934 -11.7305 -15.4199 -11.7305h-24.9297c-8.82617 0.00488281 -15.9883 7.16895 -15.9883 15.9961c0 1.47949 0.201172 2.91309 0.578125 4.27344l68.29 213.48c4.12695 12.9004 16.2168 22.25 30.4805 22.25h25.2793
c14.2637 0 26.3535 -9.34961 30.4805 -22.25zM89.3701 304h45.2598l-22.6299 68.7002zM571.37 171.52c2.8916 -2.89453 4.65918 -6.89648 4.65918 -11.3066c0 -4.40137 -1.78027 -8.38867 -4.65918 -11.2832l-208 -208.21
c-2.88086 -2.91406 -6.88379 -4.7207 -11.3018 -4.7207s-8.41699 1.80664 -11.2988 4.7207l-112 112.21c-2.88477 2.89453 -4.66895 6.8916 -4.66895 11.2979c0 4.40527 1.78418 8.39746 4.66895 11.292l45.3008 45.3008c2.87891 2.91309 6.87988 4.71973 11.2969 4.71973
c4.41602 0 8.41309 -1.80664 11.293 -4.71973l55.4102 -55.5l151.5 151.5c2.87891 2.91309 6.87988 4.71973 11.2969 4.71973c4.41602 0 8.41309 -1.80664 11.293 -4.71973z" />
    <glyph glyph-name="voicemail" unicode="&#xf897;" horiz-adv-x="640" 
d="M496 320c79.4756 0 144 -64.5244 144 -144s-64.5244 -144 -144 -144h-352c-79.4727 0.00390625 -144.079 64.3818 -144.079 143.854c0 79.4766 64.5244 144 144 144c79.4766 0 144 -64.5234 144 -144c0 -29.5293 -8.90723 -56.9961 -24.1807 -79.8545h112.52
c-15.2734 22.8584 -24.2598 50.4697 -24.2598 80c0 79.4756 64.5244 144 144 144zM64 176c0 -44.1533 35.8467 -80 80 -80s80 35.8467 80 80s-35.8467 80 -80 80s-80 -35.8467 -80 -80zM496 96c44.1533 0 80 35.8467 80 80s-35.8467 80 -80 80s-80 -35.8467 -80 -80
s35.8467 -80 80 -80z" />
    <glyph glyph-name="hat-cowboy" unicode="&#xf8c0;" horiz-adv-x="640" 
d="M490 151.1c-38.7695 -12.5898 -93.7305 -23.0996 -170 -23.0996s-131.19 10.5303 -169.99 23.1201c9.50977 57.4102 39.5098 232.88 97.71 232.88c14 0 26.4902 -6 37 -14c9.78516 -7.45996 22.0947 -11.8906 35.3369 -11.8906c13.2432 0 25.458 4.43066 35.2432 11.8906
c10.5098 8.07031 23 14 37 14c58.21 0 88.21 -175.51 97.7002 -232.9zM632.9 188.28c4.27637 -2.87402 7.08008 -7.75195 7.08008 -13.2871c0 -1.94043 -0.34668 -3.80078 -0.980469 -5.52344c-0.730469 -2.01953 -77.3203 -201.47 -319 -201.47s-318.27 199.45 -319 201.47
c-0.625977 1.71289 -0.966797 3.56543 -0.966797 5.49316c0 8.83105 7.16992 16 16 16c4.12012 0 7.87891 -1.56055 10.7168 -4.12305c1.01953 -0.899414 102.42 -90.8398 293.24 -90.8398c191.89 0 292.16 89.8799 293.16 90.7803
c2.84863 2.61816 6.6709 4.20996 10.8428 4.20996c3.2959 0 6.36035 -0.999023 8.90723 -2.70996z" />
    <glyph glyph-name="hat-cowboy-side" unicode="&#xf8c1;" horiz-adv-x="640" 
d="M260.8 156.94l98.0098 -84.4805c78.1904 -67.3896 129.98 -104.46 233.19 -104.46h-546.12c-14.0498 0 -27.1299 7.53027 -35.8799 20.6396c-9 13.4707 -12.1201 30.7002 -8.57031 47.3008c20.04 93.3398 85.5703 156.06 162.971 156.06
c34.3994 0 67.7695 -12.1201 96.3994 -35.0596zM495.45 175.23c114.95 -7.90039 144.55 -101.841 144.55 -127.23c0 -26.4922 -21.5078 -48 -48 -48c-97.0996 0 -141.24 35.46 -212.31 96.7002l-98 84.4795c-35.29 28.2705 -75.5 42.8203 -117.29 42.8203
c-7.09082 0 -13.8906 -1.16992 -20.79 -2l6.88965 65.21c2.96094 27.6465 23.6035 50.1143 50.3496 55.79l191.15 40.5898c4.31055 0.916992 8.73828 1.34277 13.3203 1.34277c31.6191 0 57.9131 -22.9785 63.0801 -53.1328z" />
    <glyph glyph-name="mouse" unicode="&#xf8cc;" horiz-adv-x="384" 
d="M0 96v128h384v-128c0 -88.3066 -71.6934 -160 -160 -160h-64c-88.3066 0 -160 71.6934 -160 160zM176 448v-192h-176v32c0 88.3066 71.6934 160 160 160h16zM224 448c88.3066 0 160 -71.6934 160 -160v-32h-176v192h16z" />
    <glyph glyph-name="record-vinyl" unicode="&#xf8d9;" 
d="M256 296c57.3994 0 104 -46.6006 104 -104s-46.6006 -104 -104 -104s-104 46.6006 -104 104s46.6006 104 104 104zM256 168c13.2461 0 24 10.7539 24 24s-10.7539 24 -24 24s-24 -10.7539 -24 -24s10.7539 -24 24 -24zM256 440c137 0 248 -111 248 -248
s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 64c70.6455 0 128 57.3545 128 128s-57.3545 128 -128 128s-128 -57.3545 -128 -128s57.3545 -128 128 -128z" />
    <glyph glyph-name="caravan" unicode="&#xf8ff;" horiz-adv-x="640" 
d="M416 240c8.83105 0 16 -7.16895 16 -16s-7.16895 -16 -16 -16s-16 7.16895 -16 16s7.16895 16 16 16zM624 128c8.83105 0 16 -7.16895 16 -16v-32c0 -8.83105 -7.16895 -16 -16 -16h-336c0 -52.9834 -43.0166 -96 -96 -96s-96 43.0166 -96 96h-32
c-35.3223 0 -64 28.6777 -64 64v256c0 35.3223 28.6777 64 64 64h352c88.3066 0 160 -71.6934 160 -160v-160h48zM192 16c26.4795 0.0273438 47.9727 21.5205 48 48c0 26.4922 -21.5078 48 -48 48s-48 -21.5078 -48 -48s21.5078 -48 48 -48zM256 256v64
c0 17.6611 -14.3389 32 -32 32h-128c-17.6611 0 -32 -14.3389 -32 -32v-64c0 -17.6611 14.3389 -32 32 -32h128c17.6611 0 32 14.3389 32 32zM448 128v192c0 17.6611 -14.3389 32 -32 32h-64c-17.6611 0 -32 -14.3389 -32 -32v-192h128z" />
  </font>
</defs></svg>
assets/webfonts/fa-brands-400.ttf000064400000406254150753125220012567 0ustar00
�PFFTM�T���GDEF*�pOS/21�V9X`cmap�ك��gasp��hglyfr�~L@ߤheadFQ�6hhea6�$hmtx_B��loca^^ی��maxp,O8 name�������postk���l�KC���A_<��4�w�4�|��������������L'@��LfGLf��PfEd�������.�T:� �@ ��@���@����������������@��������@���@�	�p��@����������@� �@����@��@
�����@
���@@@@@@���.�@
��@��������@����@@�	@@����������������� @������ ������� ����
�@�������������������@�������������Lh�����@������������@�����P���� �����������������@ ������@���@���@������������@�����������@�����������@���@�������������������@@������@��������������������E��@�������������@�����������@@������������������	������@����������@@����00�����I�R�W�|����������6�<�Z�i�n�q�t�~���������������������	���2�7�>�L�^�k�n�p�~�����������������\�u�}�����������������������������������
��!�#�1�M�R�W�Y����������������������������?�B���������1�]�x�{����������������������=�B��������������I�R�U�w����������6�;�Z�g�k�p�s�y�����������������������
��1�7�:�K�^�`�m�p�|�����������������\�h�x��������������������������������������#�%�M�R�W�Y������
�����������������������?�B���������0�]�x�z����������������������4�?��������������������}G<��������������������wtsgc`_EA?3"! 
	
�
�
�
�
�
�
�
�
a
V
T
S
Q
O
M
L
K
I
H
G
F
D
B
A
@
=
<
:
9
8
7
4
3
/
,
+
(
'
&
%



�xwg�������������zxLJ
�
�
�
�
�
�
d
9






	�	�	�	�	�	�	�	�	{	z		�����2���4������4���		D


r
�4l�>f��
8
p
�
���2n��^6�
f��L����
8b���(v�,�D��`�2TP�� �!&!�"�#P#v#�$$�%%.%�&&R&�(b)"+&,,�-8-�. .�/0,0Z0�0�1v2�2�3J3�44:4z4�747~7�8�8�9:9f9�::j:�;;�<�<�=�>>b>�?z@
@@\@v@�A`A�B*BLB�CFCnC�DFD�D�D�E"E~E�FXF�GDG�HRH�I�I�J^J�K�LLtM,MxNNPNjOrO�P`QQ�Q�RSBS�TT�UvU�VVxW�XX�YhY�ZZ^[p[�\L\�]]�^^�^�__@``�aa0c|c�djd�e0eXeze�fJf�f�h.hbh�h�ii�khk�l`l�mmfm�m�np�r.rbssRs�t&t�w>w�xxxy.yzy�z`z�{Z{�|$|^|�|�}}P}|~~�~�`�V�΁f���ԂD����Z�҅����V�������:����v�Ԋ��N�6�`�����d����
��P�����L���B�d�x��̖&���2�������H�f����� �`�~�d�~�"�R���&�¤إ�:�����N�
�H�ʨ���R��� �t�����N�������8����t�N�Ұ<�Ʊb���(�̳ȴl���`��X�$�`�$���L�����Jº�.���
�rĞ������@��ʒ�2Ш�т�պ��ش�����&ٌ�"ڎ��F������~���ޖ���@�p�2��@�����p�����j�6��:���F������z��^�������#"&=6505656567676767>167#"3>&'6&'&#&'"'&'"'&'&#0&1&#0#"#"#"'454767>79305&'�_�Ze�	


 ,9(%
T
E.8B	Ws�e("
	/

*.?B	!Da($&$	 ��'�)5=IRV2"&4537+5323+532>54&+532#5#5#535#535#;'#373'2#!2654&+3#i))	OI�9�_
_�"m" 7� c>^5 
�y��pvym�K))荍�.D��S�E[

[[[�.@6mt��Ugeee�j	����>%3#0#&'&#"##"&4632'654#/&""32?32545'�3&)\��\<g;tH
H:;;V!&x�x7^7G_DD,E))E����
#7463!1#!>7>7>7>7  F1GE�1YXF1��
3/#
"%!<H1FZ9f��1F&4H) ����%/#'73?37'#7'�5�;��;��m�W��W�.**W�22�32��23ml���&�z�������,$#"&546301%!!%&'&#0#"3273 ����@w8
(��@KN


����#+;T62"&47"'&'&476762264&"6264&"72#!"&546364'.'&"27>�,,�	�		��D00D0�n��O0+\+0+\+0�,,H�		�		�0D00Dd���`��\+0+\+00����%#".?'&>32#"/&4?632s��\\
q��
\t��$}{$��$��${����$-9dj32'6123%>767676761232126'>'676767&4>767.&/7>'.767&'�7~#c��%
/&5		""
	7	/2	
%^

X����J4##0
	B!+)
�99&
,
-$

�!
@z#'%53'3#5353353353353%53!53'53�}}}}}��}}}}��}��}}}�II�H�IIeIIIIIIIIeIIIIeII����&7!67"'.5&736.'#>32��>W\Nb'4Dz�1X<zc@h�4-6	ib6�9!.+&5!];64?�A+IVgs|73#".'5&547>3032&#"1"32767#$#5##"'&505463254'&#"'6365&#"32'0+#53212654'&+321%3#7'33jc*
3(  9v


"
S'?	
	''O4%�1	
!


;O

	
g		�L�X

	A�@x\
�����9EQ^go���%#0#'#"#'#"/"#"/"#"/""/&##"/&##"/&##"5057&'"#"5457&'#"'&54?4/&54?4/&54?4/&4?65'&54?65'&54?67'&5476;67'45432367'54326?6322?6322?6237632376327232072327267#"&'.5&+32+723232?6324&#"32>'4.'#"26'35#&264&#"3254&+6=4;654/&54?.'#"/32&264&+"264&#"�
		

		� 	O0-� %*)$		�		
	X5	,	
		�;?�#D(>+�'


�	
�			�	

		
	�

	##6
	##"		
		
		�

x				(
	x	
		($0/
�

	�		
	����%%#"'"&4632&#"3265313�C7_�__D,",X
,%�'�D__�_Z,",]
4����%!533=#5��@�����}}�}}����92#!"&54636767&#"&'&''3#"'32>54���/(S5	"$-	.79X)���`�
0!@#$:T-����$2+537#54;5&#"#3#"&5463��:E()??�����H/&=,7H�`����52#!"&546335#6264&"54.#"#5#354632�

��

gC  @!!@C�
��

�
�������u"�j
h	����V[cipw}�2#!"&5463>54&#"54&5".'&'0'43767.547&7662>&&364#"32&'&6'6&'6'&&6'&'6'"����2=aEE]>2	 	
	+
S
	���`��W7D]]D7W
 
		
	)
@	���0#"'327"&'327.=&547&546326767�(ItFXII:#5

	&/'q@=+.$"(	5iW6/-)+
 81:+>!%
 ����%537#54;5&#"#3.5462�xY:E()??Yx�Α�\��H/&=,7H��\g������emu}�7#54366'72&2&5<54'>54&'6'&&".&'./"2?'.5466'&'6'&6'&'6&�!(GDtC]K	$
"
A%	"

 
	L^�,	"	3�@pDS�? (%
			%!(
0�Sh���
!	����J#"'6?32654&#"7>76'&54632#"&7>54.#".5462�g&# 7IXALW=3.:$
GW��'Α(;YA=RX>9
"+A9,!4
$
		"	g.~Ng�����R+6?32>54&#"74676'&54632#"&7>54'&#"&5463!2�� %:!WAKW=2-:#
Y`p��$;(F*=QW>8!+@8, 4#		7 
`����+72#!"&54632654'#3#".546327&#"%5#5##335���t+5^9$');;���`��6,"%;R;Rt�'%#"&4632&#"3267#53##5#5353�fRPppPK54. 7 F126mn888778�Sip�p22 8!2G6C88888��'3#3'"&462#54.#"#33>32d]].  , |]!]Z
. "-	+) ,  ���*#�+))0!��
3LT6#".5462#*.'&547&5472632>34&#""'&#";2>&2"&4�#9	) 76-*#1*/*&1"'@(",0+
"(*&00/d##�&$$;$	(7A0
	.w#00#&
+V$&$$&
{%#76&+###'!2�a41<a;S<a<-t>$%
�����`--=����!'7#3/#3?#'�#����56/ca���t440�>&L�1����'73?!7!7!7�@�Rt���M�����PP_),,aR5R����.AT%#5"##5"#723>75."#57536353'262>54.2>54.#6MGB1
1	X

T
1
1 
�
	
! �R5,DCCD:�4ONMO:T`
	�	


2�$'#"'&'.'547>7>7327'&j,,�*'
j,,�*�Ǐ�D$#
	Z+%CY+�RQ������#70+"&?'&6;2%+"/>76;2�F
AE,A	�[B\H)
B�|	zL	V��	�6H	���� 12#!"&54632767'&+"3%6&+";26/���\0 .1
/fB/B���`��	U7	6W�	�x	w���'7'7757'7�����������������LUTTUTTT��UUT�TTTTUTT��~�%'?'7'?'#553!53#	���z��w w4��(��(�')'.��$T%�����((Px��x������3k2"&4264&"6"&462"'&'.5&47676762><.'&'.*#*:3:>76�`CC`CT>,,>,�\C=�=!
!!=�=C-#)(#
#)'#3C`CC`{,>,,>�6�=C! �<!"C��#('##)
����2#!"&5463264&"264&"���F5%%5%�5%%5%���`��%5%%5%%5%%5����
#$"&462'373�A�9�Α��-��"�"bqΑ�Α����44����!23#!".'454>7#�
D��	D!��
�_
��֓���:�)#".=#"=47>76;232+7665!*>
/
*(F
T

T#!	 
.,�
DB%
s
R
�@
����72#!"&54636/&'&&=32=4+54+";32���44,	1&*���`��(
S4H
8+Z��}�(%"&#"#.'&5467232>''&7>7?=: ./1E.8938 %&�?&P26*'?F	(n&( (����7#53537#�������b�������"�@@�*$"&462"&462?654#"&#"'&#"!.����0
1:AA:1
0?N@N��S
UU
S"xIIx
	����k~���
)C#'476#"&"54762"10'&'&"#'.'&'&76'&5476767>7&767674.>32&63"6'&""60'&672676&367676'.'&#""6&/&'&6567656767636'6'&'"&#&'&''.'&'&76#%4'.'&'&'"1767>&72132767>2#"'&��

%


+! 

!

�	
0


(

	
$29#%
	
	


	

	 �E��
	
.3% "#"(#*%9		)	<
	��5$	
2#1!.2
 3$
		&
#



����".6<2"&4%6&'.>'7&>7&''7&'67&�Α�Α�:#		IKG'd3+$"7�0!^e$�76H%
lnR.t3
 =Y�M?E��Α��*
JR#9C&(,9!A�R<8.
 �%MSK.4ZP����S%#"'#"&547&546326322654'&'.543232>54&"#".#"�B.&UxB.&Ux�-C[*DWA		



G�&.BxU&.BxUr-)9	()

	
&��t�?2+"'&54636&+"?>;2>7676&+"&=4>;2>5C0	
S�
�	Y	I
Z	j� !�	��J��l%	
������#52#!"&54=46354&+";26754&+";26�!��!!�SS�Q
Q�!��!�}(!����{������2"&4>&'&'.�Α�Αk!&"
q��Α��Q	
	
 � 4`M0+".'&#"#"&'.54;2326=.54>;227>?6;2!)"
;


(/`$"-;=]$		;JD3	


&!
84.[0


=`	
W	
t<	�
&0>JT\6&&676&"&547676766.766&76&&6'.7>'&>&7&76�
&3
�U�LH<,<IB@D4	_@@S_@@E2U&%J7CA 

< c
		
9$

��L=CLH'155+.iS3DS3w
.Z05R��	53	

		
����	&54>7"'>77.=�RB:6^:)?8-??-7!6'XvR� EZ=iE
�Q..QX3?M)��\Z������R%&/#"43267.'>67".'665.674>2/>�21-a90Q%/,7%$4##&
#*)

&&7�&'
>H;3	-'

$,

"$$6
*+(
%2)%
����7!+5#"&=!%5!'2!5463�&W�&��d�A&�d&t'ZZ'-UUnUU�((����42#!"&54636'&6&'."6323276���P2B!
	-A@���`�?N		 *f
#!3TR����+4BKW7"&46;462"&5"&4622+"&54>3462+'"&=46322"&=7"&46;2#^&/''/'/v

3&/'
/'/v�'/v3&/'
/'/v

��&/''����/7AIQ.54'76&#'&33'76&#"#>32"#"#"'76546"&4624&"2>e6BeL	"8!/M	#^7S=�A#$�:0A<�Α�Ά�ċ����g>-"4G�		[��,48":�	2/7:b�($Α�Α��ċ�ċ����%.546777'7&'57DWumS7EM:D��%(E3# R85Q
+	8$&:T!���+����3#7'362#"&43#�]�^'j`8�0"	"|h]h3��Z��"	"0�����%#"&4632.32>7#53�kg��gaEC YM7Z@#7���j��ΑAA!M2A\#"V����;IU6"&5462$"&462"&'7264&#"'&&#"32>54'>&6"'&7672"&54>��Α��

$28=2$	N61$UL
C�

�Α�Α�
NV
(7$t
Y


����
%5`%"'&76276'#"&5463272#"&5467#!"&5463!2"&'73264&#"'&&#"32654'>&RHW[���`d'6;B6&T:;Sf1���`�
U]!	*<<*
!����%92"&42754&""&=#326=405#"&='32>�Α�Α�",>,

:,,�:

",#��Α��!


+*l

-.,+kq.0

/
/+#����1%"&=726='54&"#"&=332>=462�B]B"4�B/.BV
C[C4�F.BA.FGH:�.AB.FE
�-?@-$����%3#!"'&'&'.5463!225#5#"3326���	`��	��	|��
`����	��	 `	!%)53#55#%3#535#75#53#535'35'3#3#R3�RH��RRRͅ�R�4444L���]]��))]])��)�]]u3�����	#2B#"'56322#"'567#!"&5463!22654.#"#754&#"7532�

G

���`��+"-3�+
4!DiD���`�/ %	�
3:B.�
3��9�@D����7'26322/>&67>77367>?"&75.#	&'<7465&#".'&'#"&54?.>3263263232654.547'6'632763'7>31#��	376I
	
G#


,g�;
#,
	"	?!
,�	�	0
5/)



'�	E<
��		-


\���	PK<	
3		! 

4.

"
	

#C�3^ ����(:T#"&54>767676'&#"&/"6'763276&'&"76'&#"#".#">2@	&pNNt&	(
 +
$P&	
	
V

=
"+#3(*	
0M,E'RhmQ%D*#&
��	D%**"$

1����1Je46326&".'.7.67>>32'64&"#".'&'7264/7'#"&5467&72767#!6*,
d,3!
�V6"#-,
Z�#9,d-[(b0'(7#,,

Yd#*,d,2"6!_U
#!8--
Zl!#

,d,[	(0'(#!7,-X@u397+32'3254#254+%#53#32>73#"&546323&#"�AH5��q�O/5
:8U���8�!>\<GI::C�s3 �H34cX3NS+(�/3b�#� "VJ<;MP7����
#'3H7+532'+5322#>7#!"&5463!235#4'654+32674&"327##"534�-.+(�?���`�NN+#>Z]'�$?(
2"	"d�47--���`}�)

0�+ +* /
#����!2:B%#"&'326'7654&"&'>32>&/6'&'6"&462264&"�BsCU�_&*T(87M7;��bg���

 	(	�3%%3%R''�CsBeO' +<8''66'V
7`���
	(v$4$$4&&����6>I>&/6'&'2#!"&=326'7654&"&'5463"&462264&"�&���Y'O%53I38u0""0#;%N&&^��q%(84%$33$Q
0��"0""0$����.C2"&42654'&327672654'&#"327672654'&#"3276�Α�Α]	
`�

|S Md20
?0$	
R{B4

<�5��Α���	9	2B
-
L
0
��@�3#0#57'#53?3@b[�
,	]]V�+	bc�
�	T	]�	�	T	5�K#-9DN`u�����7#"5'743272#"5'7472#"5'742"5'?2#"5'7462#"5'762"5'?#"5/7547632#"'&5'?47622#"5'72+&=476326%2#"5'74'2#"5'742#"5'7o��	s~!..!�	7O��.�AEEA)iEEi�DD�`####9989DBBDFDDFr�@  ��:B��CC�8/ !.	�	I6<�AA��CC��CC�����+%#'.'367.54632&'654#"�O*+%$
J
;+-%+7/(0

"L�44\
;K~Km�5,>N12A)<:

.:9��� $(+/&=4?67'775'?'7'75�

��

�
_MجM_�7�_M�NNNd�M_�7 �����;g?3ss3?5J%�g?3444�s3?5J%��A�$I%##"'.'&676'&76067>6&'&5.*&'&35236'#"'.'&67>76'.5676676.&76�"	$#�J$;
'&/("MD7
+
"/26(&"#
D��+;'I!
,!%B'
$	"1�D$ 
."#C1)6%	(�$X6%		
('B<s L
!
		&&H	
%	
/,
����["&7>721>?>././76&/7>?>?>./65g�<7
		

-,		


(�8�h<i#36B

 
	
	32
	
	 +3
	A911D+m�	����)6CKSb�&#5&'&'&5473.'77'>7"67527'676"&4624&"2'67'654'7&'"'7&'&'7&47'6767'6327' :a

)=�

�:b);

a:=)$b:=)o�Α�΅�Ċ��c

�

4	@@	4


4	@@	4�90	.�	2991	w90	
/-	09.�
	09/�Α�Α��Ċ�ĊW2r1	�CC,,CC,,����
"*K]}7&5472#"&6%#!"&5463!23254#"#.32>54&'&#7654'7'"=#37'.541535#"545#23232e
!!#
O��`�1$@ 0	
!	U
4He&$
r
|���`YD
 XiK
=
B���'4<R]&'#"547&5467&54>4&'"&"'6'26&#"527>=4&'733'".5432#"&=4&"#5>73;#067�%"

%:5f#)-(
453�T?	%%�!!$	
&9="#

#&2
,&
�	
	
�$##$d w!� �	##�#j%	>)a����!!77#.'#3��@�Q#	%P��@�6�-/0"�g��g�-'&67&632'2'&6654&#""'&>H	77 !;k�Eb{Q>jP9%>"
	'M0_�93!!sDbENeRC9P$9G#	(VG-����2$./"'"'&67.5'"&6767&632�n##m 	
!QRQR!
7	
7
	0 Q^yx_Q 0
��3�(6GS"#"'7&54632&'"3264&264&#"'#"&46322>54.#"32>54&#"�E`
1DNrQGq	r

��D6(F``FBc�
o
Z@	";7ME`N;5



0



�=40
SuST!		����F^2"&462"&46'&7<5"&#'&7&'&625463!254.#!"636626�3$$3$�3$$3%�#G6"(&	&("6H#g
��B)

 *D&!0""0!!0""09*f4!
*)!4g+
�
��	�
����#5##5'!#5#5!373�&D'}o�Mat���WDMYnnnng��[[J���@@���!0?O7#"&'&547632&54?6#"#&7&6#"'7&?632%67232/&54+dl	

1
J	+mi"	Zk	>	!��5;

"	h�1  �	Ro	
�"'
�[�
�	�������"K7+"&7>3262"&7#*+"&76763:>7676oK;H$
*m�$y@
  �s	O,Y�BpW�	����
)&'>&42#&'&6373#&&'&'&6;2�507h<�m~r
|JYAUM21c2
">LvnM	X�¦nfja��JH��@�%)HS%#70>?#!"&5463!27#/&'#37#74'&56367&#"#"/26'#"3673�!m� ��X@+'@$�(�"$'�  <*4�&+���`��jG���2
!

	#�
���@�	
4BR^d���������
-9F$"4!2#"462#72#"42011"1"1"1"1&1<143413030310030410+353#!"&5463!2327&67&#"64'4#"&#"5#3<>323<>3237#&#"327374&5427&"'63'=35#5##3734#"7'&7&5#3546467&7'7#&737&5#35467#&7373535#45&1&0#"0#111323210606107#'#537374&#"326���xuuJ� ��Q9*#76#*9�555Y	-

(	#


	:


	5"

*Q9*#67#*9Q1	Z��`fsQ-�,�)�))�v%	
	
%	
	%	
	 	
		%	%			|~U:Q-�-Q��@�'3:BSkuy��%+53272#!"&54633533'654.*#35#535#535+37#&"264'&75&546"'654&'&5467&2654.+35#5!26%+532� �
:-r#$;%%^! a

,
$l
[�3�z�	�*		�
���`�R!!#RTT7:%%
/

	




RRR�� i	�6����A�.7:AMN`g{~1Iamxy���#<.+#532254+2*##'#5377'#3#57254+'#3#3#53#54.+#532254+'#5#'#'##7353733':>7#!"&=3673353>7352335;67323535#&'#&'#"1#"5#.*+.'#.'#5463!2"#"5*5#."&*#&+.'#3673465273<523272?"+73254&"&54;254&&54;#"6+5'#3##53'63023"'&47'3*;735353#'#'##"543'3#E'
!BC3)$$j?

'&&'77I�
'�"#��
� 5�B4)(+ (g.(�#		O

:SR
0'�$	  
!W	
!	
 
'&&'889	""!Lp
	EZ	E6
	8	�Ej EP6666EBB//(�Z�						\	

		
&n�]
		
<	
(

(
E^
7BB11E44"#(E��@�	,AXr����7#"54632'2+743!2+7437#!"&5463!24+";2?46:3267#"&#"327;2?47454+"'&+"0;274+";2?>:1267#"&#"327;2?474+";27'2#"546�

	j	 �� ��@"(T
%@
�"(T

,J

�	
	
!
���`�f

@b\'&nf

@!h1	


��@�#@PZ^bq�%2#4>2#"'5672#!"&54634.54325&#"#"'32675#53275&=5&'#3565#752654&#"'#757454&#"3275#"'�
$	q


�� JE#e
$
=$$$n $
�
�		5���`�	"			"Lr
3!}U
b}}��! "	�(	3$
	1OX7#"&546323254.'&54632&#"	#"&'.#"26?�#>BD@%)=

D<-^;+


zFE
) (&		Q
FCFM%<-'J#
	

Q60	(
/3*	����g2#!"&5463254.1&54327&#"2#"'.	#"326?'#"&54632���L	$:%+
&.		
(+#
		
���`��3	/%.
0,&
  ����;G2+#"&'#"&46;&546324'!"&463!.#"!2#!326%32+"&46h

5�gL|C

5�gL|��

^8Su*

��^8Su���

�
 g�TDg�TD`/9uS/9uk.����'/8E��%#"&547&54632&54>32>32654#"6'&"32654&>&'.#"723201&'"##"&732654&#"32'67&[!iVF_3/%7
P!"/�."	=0�
Y!r(
1
	.	C-A6	�0&Xs\99#��3%/^�xeC�
Q\�P:(
'!	;A		

?$!)/�����#%#!"&5463!2#37�+V��`A_�_[p)��`��*��[[
��3�JMR_finquz�������������%#"'#"'##"&547'&547'&54?4&14?&54>32362363225#7575'#075175573'7'37'77&='&'#'#7#"7'"7'737'37#3'#362?#6?#747'74547'67&74kj	476	8jj8��,,-,3483,.,rb@#�PSPY|D"uSb:�9
h3�Kx63)O<<$$kR#[c�i\&\a|sZ#V.#�
_Z	Y_
\
a`	��L30?\4Z`�H!<KfC��RXT\G�|Xed<=y66G6QS+U?sL&2;V�_Z__S\=lO�����
7+"&=4633'54.+"Gf5&�&55&,�3	�
Xh�U%00%�'7��5{		
�
����	'7&54632%&'>7&'677&'>7�\\�gq�!!�p$74(-CyU�#"�g�\�$�a!�rp�!��0>}B-k#�Vh�":�%:#&&#"6326"'&#"&#"+632632&#"&#">32632�8/-:8C,0=*)�$"75>))>57#"*>G@**@G>"/6>))>6/"!18//8#9Q�+)��))]##��&&��	��z�,<M]%#!"&5467&54>32>3254&+";26754&+";26754.+";26754&+";26)5I2��2I' '[:Ec��				Y				Z			W				�
C+3HH3$<&8HcE�o		o		�		�		�	�		�

�		'����#'+/37;?CGMUuy}����������������?7?7'777?#5##5##53#53#53#5##53#5#57#5#53"&462'6#"'32654&&543237&#"'#553%#5!'%!5!#5#57#553'53'#55353'#53#55#53'#5d����,r�"
"
"�!�"Q"=!�"��Q"$"�L66L5�!	 	ya��*�����z��z�"�!��!Q"u"/"&






B
	


>

g















��""�"�5L55L:
I""�""M!!0�jbb��U�;;�!!+!!��!!+!!xM""�""�"""��"*2#!"&546;235463264&"264&"��>j��7''7'�7''7'���L((��'7''7''7''7�|Y%#".#"327>32#"&54>3232>.#"#"&54654&#"#"&547632632�D26()!)'5*9
<+C; S(@Z)F*!<,,"'%.&		%	!
C2(&@3%.Bw1B#-/,$,>>,*"R?*E&",/,"))	2A	,%3	>����@2#"&'"'&54>7&547632>54&#"#"&546�Ik$=&(		


%	&	A5<P	+{�\I$D:",

0	Eh	 0
K 214:N<,>0Pd���� H#"'7&546322656'&"77'&'&5476323217676}C�\91v �\\\Ln96�mF+�
	)1-	!
_CZ\�s3<\��imLJ86lL5-D�?	)	
����3#3#'#53'#53'3377#�00DRgYYgRD00@Q^Q�6�p0 0��0 0p����@����(!!5#'#35'&753735'&75&7��@tS;DW Z O	Cv��@V��"�&&s��������!7#/#3��@�N!.-#L��@���[
[�^����B������������'8I[nz������%'''.567&667&674665".'&7>762263&'&'45&'&67666667&6767&'6:>5>"23636#6666'6&'.6767&'"#276&67&54&&7&'6757"2654&&#327>'"#276464'*#'7>7>7&7.#'&''''&'&'65.'&26'67&'.''&'5767#65&'&'&7&5&'6&3>.>6&5467"&7654'64>76&%'.'&6'&'&6=3
��3	
!	
(
!'%
/�T'
	
	N
4	�P
2

�#-?,,T"5#J	$a8
KQ/K*
	


1
255+7S
98��717�2
$�B!<4��
%� 
%0��
%
	
))	"

G	"G%
"$	
	
�	
!
'(!$
	!&'	("�# -- -�# .&

$6 	( O
4*!


�
&	O6R
		"3%& �
 ��	

	�#

�	H	
	+����0$"&462"2"&42>..'�&&�&&Q';('33&XQ:aB9*e�&&&&)#,8%'
 ,)����#3?OW_2"&4#;2=4>;2=4&#"54&+";26'+"=4;2+"=&54622"&4264&"��}}�}t		%$		9(-����		�		�Α�Α�������}�}}�		  		(9-�

����5
		

�Α����������@� ;Nc%531"#527#!"&5463!2##"'232>4&7.675&464.'>54.'+326�&

((h� ��v9
�73!"651""1�	
	u{� 
#���`� %	!!
2
=
���@�
'62"&45>54.'72#!"&54632654&+"3��gg�g� ((p(�� OywQ[5X4rOpg�hh���9F8

8#x��`�`qMTn0Z8Np����)8D7&#"327#".54632&#"327#".54632'2#"&54>2654&#"�!
!!	,
-.�!	!!	+-.yi�)EZ0f�?sFQzvUVuw�X'"(%$X'!(%��h6^?%�gBrD�=sXUvzQSxt7'7'7'7'77''�gg��-��4M���-��4Mg�gf��-��4L���-��4Lg	����2"&47''77'7'7'7'�Α�Α�JM5MM#~�~~JM5NN��Α���KN5MM$~|~~KN5MM@y *5=E1#"''#"&547'36323264&"7467&#"264&"$2"&4$2"&4/U;9)..)8<T./iReeSh�(P99P9�=/4893/=�(99P:,��**>**
+?<T&22&U;?+399�:P99P+/MM�:P99(,�****��<�(4@%'&'.7617&'.7>26?6%4632"&72654&#"!9L
9L
#	L; 	140
��L6#<#LlLB&4&&rL
#	9L
M


�6L#;$5LL5%%%����D6462"7#!"&5463!2264&".#"&/&?6/67>�  ���`��/D//D%	%
0

0$

/
#
�!!���`SD//C0�	
/

0$
0
����+2#"&=46367>54&#"&'.#"2��]]��")
" 

*"	��]��]��� '!( 	������L#'&1.'.<53>7.'&#53676.#<5:3.#5�'+&2RJa
0� j
!;-�		<)&;@z�(
cZs)��%7�80

�
8=
�

B7.



{	�
����
.6FRZl~�������%7&2"&43237654'&#"'32?654'&#"&"2=32545'&#"264/&;24+654'&#"#32?654/&#"232454#"32754"27654/&#"32>4/&"'7%654/"#"32724+"3mGTΑ�Α�q9S>B `IC>dt�tG	�Gm�Α��S)�Q��)o�t�GH���
",7'>32'&4>32"&%'76&'7.547�M#f7C:@!�)#&#11F1;!<P@Jp�M*?Zx(�v,0!%B!;&1F11|S�.%�$X!�')}�\J>�����%#"&'4&5&7>767>&67>"06764'&'.0#"0#9>3676;20230300210022110010101�BsC\�
-%\*=		$`#a04


�	CsBuYC9%,(9"b:1
#!)V$"	


		
����%"327#"#.546;2&&'>4&'>:=`*
&=W5.F_c��g^F-0G*76+GO�Jk~0K?�dg�?�sb~bJ���	�!*2<!673#"'.546767>667&734.#"7654.#"�&��/?DywJF ">59O5E�Qap�I
	#)IY�/*=�C- DI$3 DN&# Q gFOUk+9'�%9!
*�,6�J&���27#"&546;%2+6''.'.676767&'-
P:
�4>�7#

$6� �/*A|0#>���=g>3E/;73!����J_q�7&6765>32'&62>54&6764'&#"#'&=4;2+3>.4>#".&6.'&66'47'&>3276#"'#"'&g
9((:O2	$*8'Z &&'77&
��%eU;%9HD<0%,-.
%0C#	�1�oT	
5IRR�		h
	^%79(1;	&	/ &m'&&	
�
�("Q5*E'
1*

��1&_?0J%�

����-6Nd<.#*'4632&'.54>576#".'&62>76&7>'&&>76	
JI>.9&
.2-%3%T
�$T/0^37&@9J'$	*

&
		(@�
8$+ ,W)7	
�	))


&
����	%##3#i�m2�u��hV������&#"'&'.#"'>76?676&6�Y[?'		
(	4"!]E&ArwI#-)0%
L�5-l����
!!%'7#��@<@@�@@\��@{�VV�Y����,?N!!274&#"#3235'&74=37#4754>35'"454=#?'#'##77��@�3#!�,8DSgPQ		 ��@3
	%oq%

��l�

!����*9GT%2#".547.6326?6632#"&5'632>54&#"6'&"'&272>54&#"�	{X9a8	9O	aXP9��
�ky�&1?Y)E*

0'(�	!}'ihR
����@\#"'&547654'&#">320#"&'&767632.%#"'&'&76732767632�  8	!.L/S�YI{�	
Iy)/=*$$ )- c #%#5(fF$!
:-) 6	0#2,#UoC�oNA<:+ ##


1GAQ3:IO
<T
����-%2+#5#"&4632'#"&546327.#"326�
WAX2g��gGp#��=+O>WW>H-;]7[��[:b�,a�.C&�ΑIAmnHW>>W?#/5���;����%''7'57#d%��S�}�.*�}���TA�`&�:��:�����Yeq%2#54&"#54;2354;2354;235435&4663232632#"&#"2354;2354;23543%54+";2754+";2��"*"�$$%	

%%$�����``� �    p<&    � @@@@����Y$#"'&=#;54;2+"=#".+#"&46322>7>23>32#"&'#"!546�Y�
	Y		Y	'e&**&			
	6	Y�
5$
<"		Y		,6,*:*
"	!<
#6����$+5326"&4624&+3532FFFȑΑ��3$x2F$�JΑ�Α�H3�J�|7FU%#!"&5467>322>54&'&7654&#"'&#"3$#"&764'&>#"&764'&>�"8'��/B7*X6A`	J4%?
**
%	"
	�''8C.+?3?X�


4J)!	);)x�8	-l-Ia(	H

����:7&54636'7&"76&%#/7327654'&7466*^I"<53%8C)G!G(

4RmR=#!@P_"*&�3IP
H'%*#	6$*+),IH'0A( ����&'77#".4>327''77%+*|,..C97D-,B3�O}J]]J+V��V+Y3O7&	6f�i89gKX��I^\I����'�7''7'75#'7�b�VllV�422�g��V ll VΝ2djd2�����1#7627'&73%'#762i9�8f���^���88�9�����X�ڸ	e���
	�&�������!)-%#"&'*##".67.>2%35#5&''35#�7#77#7!=ZfZ=!��**�-e)&lm��~8//8&TJ;##;JT-:� "j:	���� $(+/36:#!"&5463!24+''#"3!2#5#5?##5#5?##5���j%	o==o	j��IIIT6v���p@v�cu��j��jK22K��%%J&&�,u%%J&&�,��%%����12#'".'.&56'&'&'.V�P5QF! %&#D
	$GI&

%6(�,>=E10RG	.A9l
,!�	g,����i#"&54676327#!"&5463!24&'&#"'>54#"32321/4>14&#"3267>4>7632�	

���`@		
D+ 

"3	! +
,(0
3��`�"??%*) <

8$ ����Ha%#&#"#"&546327674"#"&54>32>32'654.#"3:>76�#2	(5R6(./

	BI%R6$0
�	
�7

8Y1'6	*-GB-XA-$f
	P		M(?������1F&'67"'.>32&#">54'654#"'6767&547>.%$
3�3(&Y;!:N3!#1	m;Ob/&KB%
0**JMX�
CJ88*p^B	T:";'AUM'79�DR;$cI)+
!2����@U2#!"&5463>''3654'5.'.5463267&#"2726&'>7����

1%D

'1$%8 c<
)	.���`��H%3+U$"#!	1./6(	0 $5
);F#�.>	

����h2"&46'.'#&76763654'&"'6'.#0"1"#"'&3263277632327>76�Α�Α�


 			
,'��Α���	

<
<
�����l%#"&#"''.#"#"'.5.'0547>7056'.'&7>327&47>3023232761�<	("*
			
	
%(	/)

$7								
I$%I

	����n2#!"&54636'.5#&76763654'&"'6'.#0"1"#"'&03263277632327>76���Z

.	
,'���`��	


<
<
 ���� )632654'67"&4632667&#"�o
$&3)/Ih-
;z�zzV6/B��\d%(Ih�JV6?#hIC2
=TVzz�z7���^hIR����GMSYc?27777''''"'7&'7&'7&'7&547'67'67'67'6'7'7'5$"2654
�
-
2=
@DC@=2--3=@DD@=3
-
���������ʼ���bb�bۄD@=3
-	

	-3=AED@=3-
	-3>@D�����uu�vvPm�nn�;bFEccEF����.93#"3#"&=4>73	5>574&'&'37#6734'7[��++)%6*�C(

		0!
>2��
�1=t)�)5%�)82i@E&(
3.GA1����.
���
Xcu������462#"##"'"'"'#".5#"'67&'7&'&54>3267>761>32632632$2654.#"47327654#"&4&"326574.#"26574&"26574&"2657#"&5476326262632>74&#"32>6�
	&N
		 	 			
" $6	$G'

-

��
 - 47)	1
	12M/?!FZ%"			 	 		 &3)-")R-_

	� O- 				7!25$" &(Dt	�!B6#
�		 
	 		 	

	 		 	

	 		 	

	�.iH2>.VN�*?$�)����%12"&426=4'#3#".546327&#"%35#5##33�Α�Α�5BuF)- !"13II##$$$$��Α���D5

+
 .! IfIj$##$#����=2#!"&546354#"#"'&#"5654&"32756=6276323276���.(
%"

&*
 ���\��	
�-
����BFJNRVZcgos%#/#/##&1'&'&?&5'&?&/&?2327674?677'///7'75'??'?�
7CTA&{Z"$#;F�e[yj�IP9@
F+:
>NOU\_BX@)J3�H,!6.CENd
�',�# $&9a=/�79�1��=^:�=D<�>F=,DC/DJC("?$A����4%#"'.5463232>5'654&#"327.#"'632�(;%:tKxNOwJ
r588338

+!)=	">(dAUpoV_:$

:%?PNNPON

>�Wp#"'&'467632357>7>'0.7>./.67>/7#"'&547674'&547632aAC
4 
~]

		

!� 4
CA
`?[e@	$Aa1J%���>('4
,
#%9*
)  �%J1b@$	@e[?����2"&46&762?7�Α�Αr�
=�s>��Α��]Yh?.
����2"&47#�Α�Α(U�U��Α�ε������.6>�%/&?6''&766'&7.7627&76"&4626&'.>;4'>4&5'676&'&.'&7&'">374'&"417670.#636=4'#&'6767-

	N
!	)!
��Α��O
	
	

	
2

'	/].('�
		
	
	$7Α�Α��
%
	 
	;	3		

!5
n*%#����X%&5>56'4.'57#.+"72>73#.'&#;2>7�
��h	
�X	C-Y
d<H�r~		
�
KI�'
	$����"3CQ[2#!"&54635#35#&'#353732326'454'.#"+54.#"5#3732'#52#"&5432���L!�++(
.�
		uU���`�[���<)�UUWW*


c$	
*�
\1T!*
���,1:Gp'"#"&'*#./&'767676767667./"'.'&>54&#">&6?6'�6873		Fm
	 D)#
!

{�
)S7�0;qPJ6I;J$	0_
3@!-
"!
	$�m>!4DUB4A%"2(
9�f
-

N4J)l^8Pr1N 	'����7\2#!"&54636&'.14"&'&'."04&'&7676&"&306/.>1276a,8'��'88'�*$	

/	$|%Q)%/�,��'88''8��IQ&/)

HQ&
/)
����7&7>7>6&'&6�W?_E#ZZ#W?`E0�4P<'D,P<;Z�W>VFe	W=WFe	�;X"@'<WN���#'"&4624&"26%'#'#7'7''7'�Ԗ��v��������W%W�/213DEDm77*Ԗ�Ԗ�\������%W%R^ddk
|D7�����'0=DMm��6&76'&'&76.76$&'&>.6766&'&>7'&6&6.''0&'&'.67&67>6.'&6'&'"'&#&'&'&767>7667>763266.6a
�	?�
1�m

+
T		FE&#'f*3T
^(+

	
		)		%
	,P		���		L�
9	

<	

w!K$
2?#J2$ A5
@`
b
"k
F
"K
	S����-=M2#"&#"##"&=&54622763232672#!"&54634&#!"3!26S
('
#"
&<��j��\�,�


	

���\�r\��	����)4E%&?'>.#"'6?'.?6176&"&463227.547�

)*'1''#.L+3 
D�:j-*�'FA6!!(/��
z $>-'<2#' V.

=Q C�*��('A&5*'8.������1S%01#547>73&'.623632&7.#.#&5&7067672?B.,]rvy3��
::�q�
z	���	;9v
�*)"%txBy+	�/	L""6
J4���AX|��2#!"&546367676'.6'<.'&67>4&*#"#"&63!22654*#".6767626325'&'&7>0&".5&7676��;�';1C#@=		73	��		�	*
	 )-4	%#	5��E&��|��
'!"			�ZG
	22!.;32H-"�����&>#"&'>76�MU,MU,!I}J=l&5V
$7�k4!bj4 ^
K~J4-F13!T����"4EM2"&46'&'"?2#!"&546337632=4&+"767676/&"264&"�J44J4�)�#��##-T
BiJJiJ	4J44J$C���##J#U-	�JiJJi����3I2"#"'&=#".5<>7>754.#"&'&'&76532�a_@5X"0
�D(V

L�E(�I?��		&	7��k

��0�NGV_cf����%777'77?'7&7>721?6?77?7?''&"76?6&2>77'/???>761?6'7?7''7#''767676'&76767?&'&#7'�###"@/ 
 x

��$!%
'%A$$%%6 	K
:(�		
;
��( 9
&		' 
+"%	)&�p
"?��qsvPS�xx$&" (uoV\>

&	B<	&(Mzfh?B)
 +.N--+$'%' *(?BO@		
&����"7?K7>32#"&46;7'&>.?6732+&'.'&67&2"&44&#"326	W?�		4BF�5		2�Α�Α�YZ~YZ~G	�
s$	�"	+"	V%	��Α��gZ~YZ~����2G2#!"&54637&676&+76.'.#"3!264&+&'>/���O�>V		A34+	3���`��!=
�#rJ$X!	V�!,AMan���7254#"#47632#7##"&5462654&#"733>32#"&'##74&#"32673>32#"&'##74&#"326747632#32653#"'&7454&#"733632#454&#"#*
&	%,
''
Z&	'Q

:&

	'Q

	
5
! L&
#&M]'	#
'�		L0_
	%(
	Fl
O
	%(
	Fl
# 
	
3		.		D��A�/7%#'#7'#7&74767676&'&>67'?If.!�$!e"E*;f!1+2��I:rkrTWZ�`6M&�Of!$!�nG
5%"37)*= 
!.S�N�,2.'7!9�z�5����*+%%57.#>32632&#"'>32'.�����@~6�D[5#B5��#<<#."4�)�MM�)11����6��6ȀG8*2)1110o?II?DAT�����02#!"&7>37/>16./'7'67�"91��"91�_
g	E:4)s�)��))4)��w
qd
0=
@n������/<e���7#*&'#0#&7&6256&"#&47>323226765&#&/&5&1430367636763:'#/'"'&=47>'.'.5&632#.#"#"#"&'&63216766&&7>&7�
&),(V�
2
$!!%4!!�!	
#	
'	
	3�CY�?��~s
	I4&�
	
"

e
��������	"
	#h&)?:T0			M����#42#!"&546354&+"#5#353;26'+".=46;2�

��

@(@@@@
9@(@..�
��

�
��#*('K�#'(H����?Rg"&4626'7'&'7'&/022130"''&1377676'6".#727&".'72��Α��=%
	
#
"3(9	






	
'Α�Α�*-+,-	3H	-,--	-6<	
Q6����
)5O62'&"..7>7&67>'&6'"&=462746#"&=4632>NG�I?�>i`b
UT

�	
OR^�			GE11E%"!%}CG=:�e�`
	T�
�Q

]�1		H		�

G0++0G

!1! 2
s!)2:+73272+72+732+7%2+72+72+7�"&GD~!%F�IF�GFFF(	FFyFFKYY�1Y1Y61Y�	1Y61Y����>`7>232"'.2"'.76#"'&'&'&'&547>76 '&'.'&54'&'&'"76767>�	

9C)	04
��
I!V"2+%v	�
X�	
�� ���.:G S������&6G%"'.'.567>7>3%327654'&#">'.#"?�
�";	- '48%(,
��	--
.$�	CB

TM��%

3%-L^
#5
)22	�

����#'+/37;?C3#75#73#75#73#75#3#75#73#75#73#75#3#75#73#75#73#��xp���xp���xp����xp���xp���xp����xp���xp�����ppx�ppx�pp(�ppx�ppx�pp(�ppx�ppx�����#$.>.7>7>76.'6L)5!)58Gs8	K8/fYH+�H5K;+3��5!*5!��P~F@e$>]4m��"C2.
)�u;����'/6"&4767&#"&546326&&2"&4264&">L


$'7L5-'UI�������^^�^&X

8*	6N"q߃�����^�^^���M�
 %#"&462'""&54632654632L'"22E1T".0G12"#)5##--&1F11�-#".."#5)#"21F1��q�)Xhu��7#"&=46;;2>=4#67>76#'&77>76/6.'&.&677&'#"&=46;2'"=4;2#754;2+"+"&=46;2�1/	.*75/62
G2$q%;Q�9,
7$>4R60 

&>(D�(

(		}


�				p�(		,5
+Y1+9%">,%)&".#@/	4C3

93$
�
(

(
(


			T���
2S^w�7+76;26'&++76;2";2#"&7>;#72+".>;+";2?6+"&?%2#7632+"&576&++"&?3+"&?>;2+76;2?6+"�
 	#%	
�

 (�90#	:	�$�		�IB
	/5!�
	_�%(#4

"c�#!(	@bJ(
����!'#31/#?#7�#���{p�651cb
os��t44<//.=
&J�2����%#"&4632.#"32>XA#_5g��g5_#A
6*>>*&�R#&+�Α+&#R>T>��*�.y���&767676.'&'&76'&'&0&'&0&&'&1.'241676727"#00'671327>7213"767676'&'4.501&'&'&76767632767617'"#7&'0'"'"#.76&'.'&'&'4'.'&7:30236'45"37>'&'6%&'6&74&5&'&5&76767&'&'&'&7671676'&'6'&272637'67'676&'&67&'67.4>56'&'&"#>767&R	"8		
 
�%	"))




�,H+#	
)%
  � 	!0	
			


	
��
"	
	
  
		"
 	|
]
)
;%

$X-.
-			�V


	15+*
!$% 


	
	

!
�




	
	�.:JZ3#5'.546762654&#"'3#5'.546762654.#"%!"3!2654&'2#!"&5463~44-.@
�44
.
-@	D��

�

&&��&&8�	&'	:


��'	:

�
�


 &�&&&������GL767>454'.'37#73'##".5&#".7547;2254'326&�
O
	4"�w�ZJ![!&R
T&6
�@$@&
	3+��7	

#/�

)$J���"'53'3#%#512>'.'&#4>1#53WJ�>>�Bj<3P-7]<`6[v@8S�__"JJ�=�@v[6`<]7-Q2<jBS��_����
%]$#".54>32"2"&4%&'!"&5463!24&/.+.67'"367./17672>7)
s(:=��XI
	
 ,h+.#%(
"S+
!
�

��5390Z��$KO$


	����
2+4546264&"7�\��\�Z5KKjKR�����[���KjKK5!K����#53+32&+325��0`ӽ�__q ��~�T��d
������-159=%#535#5#5'#53#5'#"'.7!27&6?6%#53#53#5'#5^BBB�BZB�BW
C)�vn8�	%+�B�B�BB�;�==�;;H<<<<d	.ciB!Z':
$;;;;;;H<<����/2:I%5!6767>'.#"&76767>357$4&"23676&/&'��YH0!"!H)("M["/��
'sZ&
	#0
162R@]R/"*4	.>>XA76�


�bD!3$4=B����
#)1AI7>77&'6>7&7&504576&'67&&7#!"&5463!24&"2Z(C�2!@�. KE.##DI'-(	2'4/0���`@^�^^��3$,K+%� 	71	�$(4
:".d %0���`���^^�^����32+532654&+#�rE> <_:��V_dQk@�F?[*P@&@a?@`7������
$,����>2&&#&676.2#".54&2"&4'3237.670>636"'&5"5&?"1"&46323&''&676767.'547>3>367.>>2'%6.67>4.'&""232>7&'&7>9
	�
�
		�


	N5j!@
	--H
 b9"
$-	6*"(	��
'
G	3	�(#	H�

l						�h

	


]
	(	
.%			�
O
1				U
.
O����
#2#>%13#67'.5!456WANdE#-�3
TQ `AWGDu�Oq�S�	.%$/	�k"/0ijY_��*�%##5#5354>32#"3KdQQ7$$

(Y���]F(8O<����'B2'&*#"&5<&<.'&54>6&"/&#"?62327i�`�L
N'B\�O
:
I
O
:
��hT{-		Fl3Z?%�
;,t<,����####5353533##5353##5!###�@����Z����@����������@���@@Z��������)<K73##576=4+53546324&#"#576=4/73''7'73733r]M;�	&55*/E

�
!	n
*+
&
&�3�"#
�32.*
 ��"	�	(�9-

-%
&&����Q�72+"=4;2+"=437010101010"01"101"1110101#0**1#*1"#"*#"#0"1*#"#*#0*&*1&#"#*1&#*#&'05&'4.#04'.5.14"5&'014&5&4&4&4&5'"&</0&1&54'4&'45"41&54&<&41&5<&<&504'41'041&5041<545&504145041<'45<547676767676767676320154+"#54+"#54+"#54#563232=4#"#"&#"5654""#54+"#54+"#54+"54667676���.;ed<.*33+
	

(,,(�4444}AOVSOA

��H�1

Z�H	LL	�����	(>.'&7667"&54>32&760m5	%#�01}~�~:c;4/	
	M`5m	#%%1U�
	19YY;c:!4��H�lw�5'.54765&'.546765.547.=46723>54&'&765>54'&76"32642>54&"6�ss�
�b5T1E9
4>N>dd>N>4
&8 iQ@i=
�

�	J15t����t51
-1d�
|h
Dc8Dr 
g>Eo\	
 	��
\pE=g
@S-V�h|JrC0-
�
"	
����"%2#"&54632&"327572&+5DDg]��\[A?&nNN74&%34v�
R�\]�B?'NpN$"q50*Y���� L'.7>327#!"&5463!245#"'.#"7670703'&'4+76,*
,!�!��!!P!v(&4
<4.!#O!C%!
5 *-"O��!!P!!�"�(*$:<, 
 
��c�0?732327676564/.'47>32753.'&"67>'.+

5'*27"3L+	O;2,f%IE�+D"(A"<-0	1'* #'Q;% 7@=���"�EA1QU.8@���%3!!'S�����6Q��!S�Q������������	%'%	&54'77E������<AA���<�ݡ�����
(
"@@���< ��@�*Q74654'.54>54'71"&5>54'#".5470>54/p
O,+!(!�C 	D�
8* >105,9)6
CF-4,	 *
P��~�&-OVd�#0��������67&'6?#64>4'&'.'&'4.77&"&576&'&'.77>2"'&'&637#"'&'.'&6?654&'&'.54746165>'&767674765&'.#'763263&67067>367632"22#66763267&#""67>76%2726767&'&#"&'&#667676;2&'67&76767>54/0&5&'&7676'&'&#"767&'&"'&'&#"45673&?67&'&'"276'&+"767#7>'12'"&/327"'&'&63=.%
		n	
%.? �	

�
(/((/	


#	




	(

	
		��	
1		t

	
& T  &	(=5
	f>v�
	F<)�


1

		+			




+			
4
�

		e
%(--$#
			
			
			

#1	
	+�
30+..+-3


!		!

	
�*+9	0@@<+*�	�

	����
���7#".5/267#"527654&654#"0#"76746767476'&#"47>76'&#"#"7676'0#&327717670767464676767676767"./3276732767>54&#"'&7>7632'.7&54632?64'"=32�%i��

	


+-*		
	

�ttD0
=9
DF9P	P


�	@					!	_P	

	
 �


1@<)���� 2#!"&54637#.'#3����Q#	%P���`�6�-/0"�g����!.'>72&#&'.=4>76&#"#"&#"0+".5&54>16&#"#"&#""3262324'&'.46546;23262�'��')N		n$p$���(&s)�k		1Fe

	::	
eF1			+		+	�����$>&''&'&'&67>./�O:
 # &
o"*>$!	
	THN(_-.R&`J7-#AM<g*:1*!<����6A%'#"&462675&5462#"'"'&46327&542654.#"�
+�
'/?L6,#2"2e9)(�s+_=>I06L2"2",8}()9����5EQ2"&4654""7676547676762+"&=4632>4.#"��ed�e�	r
X	/+<<+�+<<+y4Y33Y4Pqqpe�ee���
�
	
q"	4<+�+<<+�+<�d4XiX4q�q������=%'.7>767>5&540'.7>767676763636~*�
&
 �<,
43&#7Jc<
�	+Sl�����Lcs������� 27PZg������%!&'45.'&>767656.'&'&'.7>74.5&7>7676>367>7>72>5&626.5&6'6&'&'7676'&'.&>.'.'&'&7>36'4&'&6'>7'"76'&'465.'30'&'&'".4173&'"7<5&#>7<5"'&'&7>7&#&'342;&76'4.'.'636>&&>7&721&'&7&72>>7>.'.56'.'.#".7&6&7>7&'.'&'&36�
�Z
. 	
%g��4		k*"	6#-6, 
	
FC�
	
e
"��*)=�	
9$S

	�	#	�
`


$!�%*!
�8/V%	 %!

		
-?	
(|0

	�"^4	F
�$'?^2

	!%
			!)
�
	 
;

/	
	

 
& 	Z
)/
#
		D	'	
			$(
	
���">[.7>3267"1326'6&'&>76767>320676zX/lȯ/6#q?FpG3C		7a�3�	57K�/+&F-)
!�

.�"3	?�6ȯ/l�W8>��
6�>u".)KEP&/ 	
6
	"	!����6!!75##"'3262654&/.54>327&#"#"'��@�*"-"c'
	
!)"
		

"��@c��'  

	" 0
	+����B2#!"&54635##"'3262654&/.54>327&#"#"'����*"-"c'
	
!)"
		

"���`����'  

	" 0
	+���.D\huv?7'&'2#"&546%016"'&7'676'%&767''&>%2#"'&'&'67&54>2.7>3'654&'7@<1N/'	1;C3$)z/	
-?��.'.r?1N/'1;C3)
�	;H^uHQJ "":';B		 +#'�17D5		02J*(}1
,;,&18D5	$'<A+'

i]uI];6Fw$44#!!0����2!"&5463!24.#"326=7>/76&'&���`�

	<
!
1(&, `��.�	*L
?:


@����7>&/#"&54>32�SFK[>p( $'" )NGv 5ks6�L**/%$*	����RV\qw|���"01*#0&1"1'&547450346257622031754506105350>176201310%7?5'1&10&10'1&<15/?'575/?'75�]��a`P`a�xQQP".!/\/"�u;P\T-��."/)QQPXQ"/Ln5iooJ77�.i77b.//��\4���C".511[K\�[[V...�.[������%6Rbx%+"/+"=4;254;2#2+"=432+"&=4;272+32+32+"=437#!"&5463!24&"67>76! R-�.�0"��"/0""/>_�`N;

.9"�G,*G,*GG<G9<GW��"/0""/0�6NN61J,'u	*H3'&5%3".=4&3#'546323#%53'57670&'&=325N,�/''<*%8��M*#&( -Mo�+
'"
M/MM'�+<.#MM�(6F
4�q����	''7'7�@��@� ?__? @�$�\\�%��\�$�77$���@�2:Bt7>3>32"".''&/*.7#"4;2#"4;27&767>54&"&'&'&'.54>32v


		

���(XX
KhK
	+J+B^�. 
A		�  @  �
,1(3HH3(1,	
'
/*G*[@/
��$4/5373#576=##576'H-�m_�'&�'l3�3	2	6��%��%&���	>>	��+�+O#"&54632>'&'&'66&'.732+"+"=4+"=4;2=4;2rnSg��gS�:&.��/
.��7�&"* b1j((0((0���gg���)�;B�^B/	)1-r+&U#* 
n0((0((����3#73#3#73#����������������������!&=4&"&=4.&5�,,*+$ ,,��t������$2"&454&"6754&"6324&"�Α�Α�"!�"�"/��Α������ ��=�����%3#"&'357#&5462#5'`lAR,Bq!lhh��K
�Α
K��@$6A7�iiP')g��g)'�������6G\h%&'7&"&'>='6267&"6267.'&47>330#'236"'&'.4"'6?7*�*h+&$:FF:$'�

,d,

0��>�>,,>VcU?,,�	#:
�$
�4&&J	
�
�-F%$G-�
 -EEEg:T&&U;g�(5{

����;j"/&7676?6=4/&6=4;2#"/&=4?67#"54;23254.'.54632+"'.#"�	>

/���20����0,b#7
",(V0).&<%j�jj�
���kk�k�!D
@
	@@ %%#53%!#5#5#35337#3537#3533533    ����@  ��@@�@    �@@�  � �``�� ��````7�G	DNW3#'#73%'.'&5#7327676&+"&7676763#";2675&66'67676&'&�-093-117�)O%�X

	�
�X!=	=%&i1	%
	 �jj�rs6&'	(
$
 	$#�*h
����7FNV^fnv~������:4>'4>7"&.'."'&5476324&"264&"264&"24&"264&"264&"24&"264&"264&"24&"264&"264&"27&'&"62X
	

#549 B�B (B^^B(��XXX(>�>	O��	

	
!(;��O5005OBB11B�SStSStSStSSD'  (
����	#/9AT"&463235#737'2#547#'35##5##5##54#"35'5'57'#353#"&7'326�g��g���`o)F9{�!8)�E
DEDD$	
8�Α�� �?�.

471M/:HJ0!!�gV

	,��8�
3m%#"'67>454676765&5654&.3276'&#"'4>;>3735467;23232+!".='#"&'�6) �&.^O8		,9

�Vb
	��
	�&:/I^,�5
(<[:4%H
R		K
	�	

�
���
%#"&46323lLLllLLl�Z�Lll�mm�������"5#"&'&546322>54&#"#".672654'6r<R'(F S{VSS=>/mKPn/?@B-$9%%B&�?WSn	+?*mTX~�9Qf(PttP(fQ9,A$5A	;������!,AI%#'#//75'737573724&3>7"'&'&476762564&"C	
				
-
	�^8�8)8? 8�8��Y~ZZ~Y�	 !	
				.0_87*80?!87�YZ~YY	����FMl������7&'.'&'&"#67>3021'.'&70703'.'&167&'&'57>01&'&76"45."&'&74"'50>767>0&'01&"'&167>76'0'27:63231'&'.'&'6160&'&'61�"Q

.		K"#8)'4
		R?(&$

�
�D"%#
F
3�*
%=C"'�"


!	"
	(
	)�!	$%\

	�	h744D	"//%	,
&0		



��#	�
	
		i

�	
������@�(;%57>'&5676'54'&'.7>??;
	͗

e%'E=�^6L;/=�� 		�a

.PLI66	#8
U�
���
<97*l	#/6#	1������(-&'&67%6'76&7'&>7'6/��##i

����a�t	S	jZP
�Q
\-!1(7����	��=	�������%GV%+3'&=46;26=32"32>54'"#"&'&7>;5#54>76#'2>4.#"�	�k5656 k(((�	�%$�k38r		�?.)&&f )0��	�167
)

			f �	
����/2#!"&5463&63265#"265265#"26=&6a'88'��'88'2	8�
��
	�8'��'88''8�	
�
�8	����U2"&46#"#"3232#*#"&7676#*#"&767676&#*#"32327656323276�Α�Α�	|	<	
5

'	
#.[A	��Α��		F5	B?F+E&����!@GQ[#"&=46;2'&#"#'#35>32#"&'365654'&'&'&#"32767&#>33264&#"3264&#"@�5KK5�5KK�	$
	x		S


 #"(3\









 K5�5KK5�5K��Z
F%%"'fx����	%(%'762#"/7/7676/&'&>&5��(BDrB�fE:0
�]$#
0"-��{&�9b6'BsCf�#P%
"
!)%0
@Sk��>F��A�#:EP['.'>'.676&/>6264&"0676?32'"&'46746."&'46�,..,7�=!L>(
(?K!>��_����4
+,n"#<!#�"#TPQP$
 
	#2>F:

��WzWW=5),7
q!
����2"&4'616/&"37#"�Α�Α�eJ�
"
�ZUTK
p��Α���w(�

�cc)����x#'+/37;?'77'7'7'7'777'?'7'?'/7'77?^6JN�."7Z %#	8	8<+!)#+.|G7-+3=5PCBY".',";##B1 
"
&		/
)�@
H96�`�-2W�B����@D57'.546'0'.'&/?>54&'514"�D66&/$:MO�<)	&,$-5+7(&
,>҃�s|57"';6[<<Z�X,

&1	:%*>4*9 0*
(
<��7!>'#.'6X-~w�x2M
)ps^`	5EE"�9m<Me�>`�L-T?-
Q����
'#"&462264&"��.<Dbb�b �jKLiL�&c�ccF7,LlLLl������MQ%&/&/'"&'&>?''"&'&>?'&>767'&67676767'�-
^
	4-5
-]
-	
.-
�^]�/
/ .

0

Z

/
///
Z
9 Z����77&>&7&'&'"'3>56'.54>32@<
��w	C
!,z��'/)7
/("2 
/8B�w	��<	+)+&$
*!	"&

������=%/&?6?6/&/&?67/&6/&?6,�	�-�]TD:�4-�\_92�+�	�*��"�JRA,�V$�H\7'�*����� 2>"&462##"./567>324&#"'.'3264&#"32�$3##3XC/m1!:aGB/5�$&%�, $- (3##3$>/CO!,
k'e/B5�4%
&&	"�?,#-����A��%'"'<.'.'.01"'&76&*'&'&'&656&7>4645&>'"'.'&0#"'&'46'.'&54'&7>5&"5.6'.767>67>7>7>23>32307>302

			+%
	>59	,

	�N	
		 	'*
	
$$+-


,	$*

!

			����2637??7'7''''/'7'?�'8P
C]8Y9}�R�sf�|�1.�+l&
,ND&@'$J
.3D6
{l&Jc&Tz8a	%��E�a@NZamt����%#"'232654'%.54632&#73254.54632#54#"#"&'73"&=3255#532+53254+5#532+53254+54+532;2=3+"75#532#54+3#;2=3+"7#53##7373#5#'#�ApC#$e�3.5��3.5�e%"
e�<		
	



v$"'

9'9		%?4';� 6J5+#1,"10EJ]

	
		
M777H+HH+?=>
		?


	U������/#?6'&'&67%6�Dg2
��f�]��"L0
i�� �����(2#!"&5463>'."354;2+"=#����pGNhN^DD^���|��W84FF4D8����'575'7''7���X��eW"XVY@����-uKK�:55/7����#'+/39=AEIOSW]cko"'3'#4=3#&'7#&'7#57#57#5#5#57#5#5673'5353'53'3#&'!5353&'!'673'53#4=3�v0��gg�bnfggggggggggggg
ibgggggggg�
%ggg��S
t
tVggg  �
F	
#E�#EhE

#��

%JM�gs��
%	R

"��y�-In'.'&?6?>76367'432'&5676322'&'&#&56/&'&74>76�
�
4
	�5"�

�	%�	�%;
!�&�	7"





���"			���	}�����7#&'&761'''''#'&'7&'7&'7&'7&'7&'7&545'767'67'67'67'67'67'6?27777774&"26"&462654'&5'654'&5654'&5&=#+&'#&'#.'1#.547&+'&54704&5232673275#327.'&�,+-"%
$"-+3378:;	7;	16(."".(61	;8	<:883Jg�hh�OYYY|
)

�
	
					

>k

�" %$'&&&&'
#%"	


,'
84
A?GFHHFG?A
48',!�hh�g�~ZZ~Zy

Z
p@$





!eB����;Q>;2=4632+""&5&54.+"&=4>2;2"'4.5&6327632�	c 	
!"d
e"!
	 c	$11		CC		a3


	

% 	



	 %


��UUvv�����3Zes��#'"'.5'7#.767>;6&'.'*?>72>'"5&'"&636&'"&63&&54&#"432'.'&'&'./&6762?6�!
"J%	
	
$	0d$#4U 
I,-)0)
(D@
�
+(%*//E4:L
?


	

	

�}\&

	4 " m0�Nm([)/)#OO
#f 8!,4&	;C
K�"


		
	
����22#!"&54636'&6'&'&6323276���L2C!	%.B@���f�@N		 *h8
/>4VR��`�,U7"&/.>;2326?>;2#!"&/&;2326?>;2#'2+"./&#"+"&?>3i7!$$!	8

h8!$%!	7

�8
!%%!
8		`pK
K	p
pK
K	p
�pK
K	p
����BRa2#"/7'&546'&'&'&'.'&>76'.'&'"#"07>2#!"&54632654'&"7�m'(N7$2
�			


e���B^0.�]T#E'(56M
0 &7o


	
��`��]A@1.]A+%R����/:�''#/'7''7/5?'77'7?3772>54&"''#/'7''7/5?'77'7?3/3267;?3?'�	

w"/!!`/7'6''
*
$%7&66'5%$*$/>,%:
			B!!/!(
#&4(66'2#&)'$4'4.
:&+>/#����
@J2"&427&/7654'&54632&#"23767/"&63376>54'�Α�ΑE9k�&$DC?P@W&G9<		R0"%<		D3<��Α��gAl$+��
��	G�J6 #;-�_		��f=92%+����+AQ%'&'.547>''&'&'&7>7>576'&'67632%'76"&'".rG;14;3
Y6T�Z!	69

`+#��	?y2
1)�W $	!/_0R�mU-	2G)" 		1A<"Rx(
@�
	


����7#7&546;#5#";�W@`KU@R7&2X���&gMT��8;m��.�533�p8R^4y@�*������<�D/;C\gy'&7670#1#"&#"#'.7672326732+#73264&#"&54?54#"#4>32#5#'26="#532?'3373u

nI%*#�6&
"n3$#5	"!
9#$B�M%�&
a
	J	�ss���@�'DPj|+534?#"7#!"&5463!276'&5&7&'&#"&#3262327674&+3532>4.#"363232737##'##"#3267.M�� ��@
	
	
>




�3
Z
&			f$77Z

��`�

W	(	B�/
	cQQc��l�'.871#"&767672#&'.'&763276&'6�" �

_3+3U*'(%+}"
�
3>Acf5</x1.BAa-��F29H7.^
J'Gyd����;`ko������"$'"/&7672?6=4/&6=4;2#"/&=4?67#"54;23254'&5432+"5&#"7#"&4624"7#&54+#5322&4+3%/&=4/&"&=4?6;2%/&=4?6=4641'"#"357057&=4/&/&=4?6721200#'"=0/&=4?6'3'<::9:::+
7	��%$=>O===%.�$>%===Q�=>==KL!B!!B	BB	B!!B!B	)
�_,		,_$$d�$$G#	^�

##G$$*##F$$6����-W7>76'&'&767654&'&'&'.4&707676'&7>7676'.zZf�VR
%&-
X+C;0-@(7!5
�cRr�c�
v`Y�!
FE')#+

FF"U


8b:;8 0
-;:.IX[x
}���<JRZqy���������&'&''.767&'.546767&'&67667>'676&'&&'&'67673276767&'&'&"67&'767&''6&'6767&1.67&'67&'&'76767#"'6'&'767>54&'&'2&"&462�*47-
;!!?	+52*			@"!;
!"

0�
'	



.
�		
_�"!4%


#*'z""
2
�!##	',#

}&&),0$>*		,*	*?C-R'6�
�JF
A

aN3$
��"! 
d	$10." 

!! &&����
#'##73'#'%'7>�MxNyT)A���<�
�� QQ���	88	7�I)P����%+5352>54&5475&54654&+532#"'73254'&'&54>32&#"23#"=#";#"&54654#5654&546;7#"'73254'&'&54>32&#"'2#327#".5&634#"ej+"*	
	��
+

K�+	!*	
	� #_##-9�
!			!
  
"	!*"	

<"6�	
"	 
"
!		"�
;"	

D+!#
&%.B��������%72'47>&'&'&767&'&''&7676767&'&'5#"&?#"'.7671'.7676727.'&67676'.'&767>'.24767>2630>201276705076767>563206767632266'0"676'&2>65417654'.�)1%#


	

	
	<
M	-# !9^Bw
;/%H
-HWhK"1:!
'
$�r 	
"�p[
	EW,
$


 	"

( 

		%
>%$& )75"*)V	Z""#'+		

V

	
	:
		
	
�"-&j3
2

��337#'e[��08ਨ6rr����YY �� ������?''373�&&&� �� R��0n�\\�J��bb��$��BB	X�(	0D��7'##7'3'373537#5#53".46767624.'&"27>"&5475"4753#5##5353#5##535&/3#5##535'"475'"&5475'&5&5'43>?##7#'#077'373'k4>>>']>--�)d�


			
				
	W


P

&	&
	P

Y�AA?>@@�Y��**��c+<�``���ttt%

		%D		
)��)
Q((+��y�y���%'.'5#.='./&/'.?#+'&6?#'.5'"&'&'&'&4?673676720326?>7>;67>2?>026?67>?6766>?4567>72>?>7>3>?>6?67>'&%>'&>./.677>/&�
			:	

		
	
0


	
	

��

	

d
	�
:	
	


 


		
 "
6	
	$-5:/


-=(	%1%

m7
,�
	"
	����.%#"&#"##"&5&54622>3232632�
7%H2B"/"
%P
C	YNw"" ��p�7#3#3#3#5B22e3�3�2~BL�L��L���
L�)	?G���7573'7$"&546253#57'+'.45454>;654"2'#''.4547&'632&'54#"'&'#5.6?>767>36'7&54"2�&&)6�::�:Y
 	 k
 	#A
!	
:2)@&
 �.�`

x

�nn��w		Z((
T	 6^1J
	

'9((
��y�#'#!3'3��Y>>Y.CoqD-���tt��X	<�D>RYhsw3#267#"&=6&#5375#"'53254.54632&#"#327#".5463234&#"'2#"'5362654&#"53�""	
�
,&_,��!SW  %"X.
	
q$#,'	r,/&&?	
"�*	)g�;$
$^	(
*+		!$#..3+%((2
�{B	!����v�!#"'53254.54632&#"�!090 l\QKTH7 090 iXLBDJ1%;(KO �.#8%KV�$����#327#".547>772#".546�)3&R$Y;	
:F${�%
%rYW@<O~�44'X8,=Er,Yo���97632367676"+"#&#&'&'&'4'231'&'1#"#&50=46;230>76700137654'&'&723230#"#"'4'"'&'&767621450454&'&5<547676362<=4#"&'"#"76760"&747676'4'&'&""#"1"541456767632'00?465632132'"'&5<:232767>76'&'&5&3232=B  ((TO+9%&)'QA�

		"
+!	�
	,	
#	

		


�##$
	{
!	:I�
)**
(
j		



�

	
"	udZY
	
IH5��@�(8r��770=476'"'&.7676232#%#!"&5463!2#0&#"376767674#0"1"45.'&'&#"#"6761323250=4'&'&'"&+"176760"1&'&'323254=01767656'&'"'+01054&5&+"&'&'&'&'&230;21676767676&7&'&'&32376213676767674}�	"� ��$
		'~%
	
�				�AH((926D # /$.

�$#


���`,	Y2eT
<j	Y	T�<
�	
0

��8�%'7'8�������]]��\������2#!"&546337#53'#35�##��##�Qo>BvX�`�#��##G#W��tt��r����2#!"&54635#35#75#75#�	

	�l	

	�(�xxxxx�
	�l	

	�	
����((P((P((����27%#!"&5463!24'&'.+";2767>5�__��`*GrGr�66�`�;
,<,����!!5!3535��@f��YZ��@
Y��YZ�x/[nz�+"=4;2+"&=6/"+"54;2632##"'&=463276/&'&76322'&"'2#"'+"=4>2654.#"&2"&4�))`

))$�	$!5 &!+:�.?@-!)# $$$�"��
#�	{�Q�#"

-

i?[?Y�+	�%%3%��i.?f{�"264%2".54>6<.*#:>732"#73262#67>'.*##%64.*#:>732""#��������W�VV���V);GR:
x!G 

	�%			
%
%�x!G 	

	X[z[[zk-M\M--M.,$ �	Ge�6,�-	"`?	Gd�6,����(#"#"&462&'6.#"3762#"&4:
"#e��ˏ	*?"B]]B%R:.):

�ˏ�f3."A0]�]�:)-:R��@�!-9EQ]i+""'.+"&=46;2>354+";2=4+";2=4+";254+";2=4+";2=4+";2ZI>=2Z�$88$���������������#(�.##.��@@v@@����'=Ohv��%'&767>;0?'.67>'07>&'&766'&'"6766'&'&7672"67>/07'&76>?'&'67'&767Of9(
)%)RM
`	0%
Rw %	=eC
!/0'G�22+!)�.�46EF$�&�S4(�
	YK$	
B�	
	

(27@"�

 

G2��##
<	
-

	Z
�	
	����G1&7>01'&".54327>3270>7>�"$
&',5+:3'<#5	)bBU!1&A5f7
"2�B
	7 	`	fX1!"4(���� -%##5#546;2'42"72#"&546"32>54&;M
ffEE#i��df��jVuwT4]:v�fxxf
9##"��hk��ge�-zQSx2^;Uv����)B2#"&54632>7'#5"'774'&7">753&654'&�i��df��VxS/"]')""=j@_$" #	0-;;��ik��fe��$Sw)&&"
�]+''"
9V:<����13M2#"&5462>741'#327#"&'#53<5#53'7#7654&#"67632&#"3�i�0>J&f��j!<%"
�[8
%-GAxCN�vUl>Q&:"!F��i+N<,�fe��=#82.50		#Sx�<Uv]$	*0
	
����!%:2#"&54627'##5#535'#53'7'7654&#"'3733�i��df��jlDR@=@@:	x�7@evU :*QB(+B?&��hk��fe��=c$$88''8 Sx�3-Uv$3V
`t���� 2#"&546"32>54&#5#5�i��df��jVuwT4]:v	�����hk��ge�-zQSx2^;Uv�++P**����#72"&42>7&'327#".547'703654&#"632&�Α�Α�%E5�$!.&'O3X�wS4YJ!D. (0
��Α���/` ,4##0`L0�Sw2*!4)����(4;2#"&5462>54&#"2+5254.+'2+#526&+�i��df��j4]:vUVuw�FF56"	^2
"?
��hk��ge��=2^;UvzQSx��l'Ol.,�C)����,37;2#"&546"32>54&#".''574575#5'?'5�i��df��jVuwT4]:vM :D	@?;C�qq(%'Y-��hk��ge�-zQSx2^;Uv�F
@F>>f,.-/:5++����<2#"&546"32>54&>32#".'332654.#"3'�i��df��jVuwT4]:v�$#5<*+'>4$
211��hk��ge�-zQSx2^;Uv�*++!;(.$.(+",11����s2#"&546"32>54&2742763276;#&/#"'4'#"'4'"5'#"'0&5'#"/+53767463274>276�i��df��jVuwT4]:vQ	
:3	
				
4-
��hk��ge�-zQSx2^;Uv5l<

P@
	a
,	 \

LH		W_WT

Y9		LbE\Pb
����_s2#"&546"32>54&3#&/"/"5'"/"/"/+53767627427627>7427624+54"#";2=�i��df��jVuwT4]:v;33+F��hk��ge�-zQSx2^;Uv�,S@:HQIFN+
I	Z

9PCT^-
E3
]	����4<@2#"&546"32>54&2+"&=#".=4732354735##3�i��df��jVuwT4]:v�6��)7l�ll��hk��ge�-zQSx2^;Uv��6�6se(C�����(192#"&546"32>54&2".4>"76'&3254�i��df��jVuwT4]:vr:*		*:*		G,6%=	
,��hk��ge�-zQSx2^;Uv<+/6/++/6/+Yd
	.i
Y?�A9AMaf3#7'#&5#"&547#"'#6=3632672354#"#632'3264&"75"326%673#"&54632'.^"c$=) ('  &.
C)!"C0%7��--�/�d)+!*)*)$+"--�6t
B		
�P($	!!+m00)!$*&&����Pb��$2"&47'.7654'"1'&7'&'54>767'.?4763226?6'67'&3&545'7654/&#"32?32?322"&46

�$

.<�,.


	
(

	7�
�R"#	e	
�5:0'

&,!K<
!"70$

]

%�`

t����4`'2>73'.45454>?62<.'&'.3547635476�
A)fM
316

.�/KDD/.
H2,
%-7..�-

 4r
??$r��E�2EK%#'#5.5463253:654&#"22>54.*#27&#EXCp(!%cf��xO�N�-E8�
		
Ft`[��
	
	
�R9rK	>>lGQr4ZC'A�
%#HBCN]�����<_i!!%5"'&'>54&#"'22#23235".4=372><1#3#"=463274.#""'5632��@
<		$


d

%��@r!m.*
�
	
 -E#���#Zf7'&'&7>'&'47>76327'&5<5&'&"#&=76767676'&76760'.67276�3$#�(f42,E%? 	d(\N;	,:�m	�4!Q!e"(
!!%$,y.	"s7%G.
+'
1+1,i*4
�
 *%����c2"&4264&"2"&4264&"%'''"'7&'7&'7&'7&47'67'67'67'627777'�Α�Α�ƍ�ƍ��������||�|�J=7$

$6>JMRSNJ=7$

$7=J
NSR��Α����ƍ��?�������|�||�'$7=JNSSNJ>7$

$6>JMRRMJ>6#

��'�'?/?557`$##T))33d#$$T33),,+y�--��::"++,��::��-����CIOU[ag"&462"264'&/'6373#'#5&''7&'#5367'76?#&'%#63&%3'6&'756_Α�Α�������8-%.8.%-D 
;;	RR	;;
 
;;	RR	;;�"��"�"��%.8-�-8.8�Α��N�����r""+R	;;

;;	RR;;
 
;;	4-8.%%.8p.%-88-%L""���2Js{���3&=4'&'&">7#&#6726&'676&'676727""'&'.232.#"'.#"&'5>326="264&2"&46"2642327367632&#"'5.'"&'6�
&
	

O

	
&)=!(&?
:(!1	&(:
?&(!=""7,�

* *

�xP5[=
y!')

)&@@L""
3


++
����r%>7#./.>?.>?677'7'=57&'>&'>&'>4'�

#,F**E-"

	
&

		"????,

	J	(
&#+!''!

'5,* 5)#		0[>060+
!<-'D$0		7..��.7		0 U*1P-1-713D#
&'544J����{����&76567<'45&'&54545&567>767>&#0'&5&'&7674'&'&'&676567>75'&'&/7<5/.454'&'"'&'&?'&'&'414767676367654'45&5&'&'&'&'&'&'&'&/5'7>32674&'&762763676?32?#"367>7676767674676761#"7&54'&54'&5476'.'4'4'&54'&43607&'.66'&'67&�	

	

			I	W	D)!
I&�+%&#%@	
		
		8	'				


	
	
	&-
 	%		
9,:L�8'', %%	�������^^��K2322230##"'"'*&#&#&'&'&'&'&'&'&'&'4&54&45&547<65<656167>567676767672636212":372676767676767676767676'4&1&'&'&'&'&'"#'&67"#"'&'&'&'&#4.5&'&'&7676767"'041465<5<5<5456767676767654'&'&'&'0&673676745<5<5<645<5<5<5454512174767676763632367676?0'&'&'&'3"#"'&'.'&'676767'&'&'&'&'.'2303232763667676767464567<5<545<54'&'&'&'&'"'47676767610#4&'<'"#*#"#"#41>12676345"'.#4&#41:3670254>721633230"""02220#*#"#"14=46123#"'&'&'&'&'&'&'.50'&'67<7676%0#&'"/476767676767676367676747654'&�


(+		
5
+


+	
	
	
(!		
'/
u

		
	�	

	f
	
	


 "
		

	&

		
�			
	t
		





�	'		
2#

,A
&


-<

	
#			2



	



	
	
	



	

:
$�%	
	


	

		
		

	
&&,


 

	

	

���gm66&67676327676765&'7>767677676'4&4567654'&'&'&'5>6767`I\*,(!B.%$6!#	*/1!-
"0!(M;�7< 3	�93
-!" 



 '%!
-*6	$#.($/<4-I#"%>,14^0
����"*2'62777''''777&547'6"264&2"&4w[

[wF;FF;Fw[[wF;FF;�gHIfI�H44H4�F;FF;Fw[[wF;FF;Fw[



[HgIIf%4H44H
����+5?IS[iq��2"&4264&"%#3##5#'353#535##3353'7'7'7''7'7'7'7'7'7'7'7'&2"&4#535##3353'"353&2654'#3##5#'?'7'7'�Α�Α�Š�Š��TT0v%��IS���|S�	
�		
x켅���BT�Ɲ(u4T_Fp��?��}1�TT@s,	�
��Α����Š�¿#/��.R\8P��]		


�
R	������!3R2���RARA�U}XM<3?��8 XF	���������������''.'4.'6'777''4&467&7467>'.'.67'77'??'?67.67'''''776'7.'5'7'677&'67'677&'6'4&''&'47'67&'6	
		''
Y:k, !,l:Y
'
E
	(
!
'�	,' 
((&""!#	%
% "!=2b']<&1xx1&<]'b2=!" 
%	#!""&((
 n,
>'	L
�'
J
'? 
����#Jo�7"&46323.4>?3:1>'.0#&7"#".54632#"#7>.'.#"56&5463212#"'&5./>7>5<13L 
H-u$=,#	[
'6

0
		G+pH
�
 >-$	[(3N$\)3}

	
'4wG

	� ?.$		['21
��

	H,m����+39^���
)%&'&76&"&#'476322'"#"'&6"&7662"&31&'46&'&#"#".4>76%2.'"&'4547'&>017626'.'67>?&'&6'6720'&676'&'&'&'&'4'&'&#""#.#'"76767676.&'&27'53>2241&#"15674#"1675#K8	

=
�
	
2
	
3=E>4)(22,
,?"	 	��,& >
	8<1
+Jq	9,'	

H(
(	�((�		G
	
 -/ #

,37,!#	
:"qT1	6!Fa

-
			
	�
����
'?'2"&45'5'5'757757�"!!"EΑ�Α�;<<;!""!�""B!!�Α���W;X<KK<X;WA!!AA!!A��r�!,62"&4462#"72"&5>2>54&"�j?$B/i�h-P $=#MnNN��/B#JggJO�!#��#=$6MMmM����#$"&462#.5467552>54&'7"'6&&6��SuoPmm<S*IUH*'!.H�6&&6'=�xSQv&??(Z=*I**I*)F;����8#0#"&4632#&+"7#"'&'.5&7632�BQg��g_Gdz7%"Ab@ &HI1�Α@QJ 4!!
�

/+
"
=�����'=O?62"'764&""&46"'&4622?6"&4?622?62&4?62"'&"��R:w)�)���R)��R:w)�)���R)�i�:Rw�(�x��_:Rw�(�p������ /6=FL6/.=467*#35326&'>&'*#3533'2+5'2+57"326&2"&����

l u *		C
		
 �!6**�

l
�
m

m	�	\f$$e# f""T!&!(!55#$$.S2#"'#"'.4&54632>32>654.#"#'&"#'&#"32?3327�&1
	C==C	
3%-	$
.8
,-
:
-,A !'(
" ~/$
 N+F66E7"# -##s��  ��
�%"uu"%?�B:Uq0467>23>'.'.'&"+'67>27'#5<>7>7>7'&'&#'7'6767>�

r B	B #)�
�S$*+	
	SS#+,
	<	#�=11>��mm�	��
S{
=

>	{|	?

?	����2"&46&'&"&'.26�Α�Α�
ARA

PfP��Α�Ό'33'
1??����L#".'&4>3226'&#4&<74#"#"#6=276&#"133:325&53"�
�ga�gb�%
P%P@�&m5?�&m5?��$VB%/i$ta-0'��2�+"/+"54;276;20Cn33�E�6�l��Ά	�����"2#!"&54635#'#3577#5##R��$=>=>>>=�\>==���.���MM�xMMxlii����
#'#'#735737537#75'3#�_lVb(m{Wa�CH�U4N��4POI 6SPߌHH@�\?��q?�2��35���'�;er�5�F���=�f5+�Q
GT`�3#'#75#37'2#7''67#6;65#>7>3732#%'67>''>+#"'&'236=#"&/35"'&'26?#036�z1*aIZ=6@B4X3��	
)�
z



l

�&)
t,+<o,���^	!A"	1L3
'#(	 !
:LI
Gd	e����5>2.'>?#535#5##3#3&#"3267#!"&5463&632#"z)d
Xmm3nn\�
Q.:-.0-MKa ��))#-"K7?C�)�$	-

33/#/-$"6 )4)��! I������d��$o���(2Vl�%'#"'&54&5&7461/>36767'767'36&'&5476736'>6762#'&3&476726#&5&#0&'&#327"/67676'&7676'6=&'/7'7*#67654'&'&'&#"'#&?#7"&#572363236767'"'5767"'"'&#"#7?7>4.5#&''.#'".'&'47&''&'367.'''2>7'2&/?&+57''#776.'&'.'77#6'.22077'327''7'3''76767/'#7#"#'67&7'&66'.67'&'&6327'52&#"#5#63'647674>7632.73230765654'&6?#&3'&'&547&'676�
	�]\BA(	!-5
#!
				o 	
(	��


)/		


	( 
	




8:
$0
@8
'&,�	

)


	/ 6,	 	

	
I,,
!		+&+�
			7'F

	



(	 	
	�\x<=Z-#		&-

	
	
�
	





	 
	 !*


$&
��


<

)
�
!
$,,			

+/	 0	H




v	%03


21		
	C
	


��m�q� 1"76743765&54'&'3#6743627>7>46'4&#*#.'&3!#"#23#5232'0&'&32&2>767&'.'+e��r)"s

7S0,


t
d�	
	(	
k


IH
	

	
D-<@'�)
h������Z��&G�!-1#.5"=4547>7'0.#0>162;2='#"'&'&#"2*&543:65654'&"#&72012=432720;&'27215"5&'4327&'&'0.'#"#6272'&'4&'"013'&672=674#"#"'67625654#&54632'>3"=&'&7>3201&'&6#"'>5454'"572725454'"4732#32#*#"'&'&*32%&+"#&76'&'4#"#"#160+"72676742325454'"7032#";276"'67236"54&#&#"7636'05&#&36762#"#"43656'1"54'&767456'.7623>76"+"&3656'4'"43:'32#"#"4;265454'"#&63230#:3>7+�"0'&1&541474+'3676&'&"&5653276&/"326&3645.'��	gi=81�	aa
  .�
		0
�()'#Zc4�W
&(*'+_




!	�

"

+.e		+g!"	

&$�(
�YeVj

	U��{}~:<
# �t87�87O&	

CFGC=�#'S�AGJBJ7z

H1					
!

"R%&


)/('E3n
q!:��g
	
&3:�$&�e
Z�&"'[r~�����'<JX_l����%".5&&7'46?67632766''7&5&'46&'.<.523036'74'6'67&672>30?2&&&2#"'75'654%'4>2&16&#"&'6'3&74'&7&'&'&7276&5&633#65#6'&67"'6&261&>&'707&#&#'5063632*#75'35'32'22>=4.#":>5#54.*#3#75'3#372#".>26&"'#75'37'3'&'320637+676=40:>4."&3#.'#75'35'#6'254.*#&63&674'&':	$	'
	
	�!;//��
	
*��
	
		89e<QI4%�
#J*,-*I!
#�',')r		�
	
	
31NL! d	

l	 	<	M<N			B&&U	'"O	U,0	L	'*i
		����	#5>6+53%2#!"&546354&+32675#"735#535#57#'#r(��n0/e?		>5  �&! &�	F	h���h��G�j	}&&s�rr����!GKO'36767&'&7>672&1&'&67.'.'1'&'6	37'���7:
 
)"AJ�D!		
!&	5=*���������9

&	&K|D!	%	6
	�����	�x1I\66'6%'#"&/4547'&54>6767667>.#0#"77''77''77'?�(�
Wbo�o	wQV�RO9
� X2$s0�mC=J!q:	.>/.18'8
,-2$3
		�
$!
,s,-
-�,~,'�}%Wah���*=U`����W\by���76&654&'&#6'76"10'4?#&'2#4'5654'&'654&#"#./>6'&7'7'>15.'675&'#&'56767.#5675".'565'#34>307&'.'&7"2#04/5"267&'4.17676767#'4.56461##&563&'5#6376535"'&'474656'.#672<15&7507&7>7#7.767.7&#76&'&&561"&'2157>7202'3>17&67>7&'&75."&7#76'&7627&'24767?.3'45'3654&5473.#&7'7'"'0#&7''''7''&'.?'>0327'7'067''&/67'7"'76%63''>'2#54.#"#&'56#"7>'&76567"&�

\9+aWYc.:�	3o�I9E|,r6CIo*
		8

7	
	&



	+		
.

	
&HL%CA"	
;_
(
!$$*"

=
%[UCB-K+�m	�AnI3,MsB<27

@		 f		D(P
G,��sR	


)	1G9Si	2&��
�G�		 
	
	

-					
P7y


Y%
\*
				/B%=A=+
$	*


;

!^+
XF	D;7%+P		'/#b	(&|2=;
(P@(�
7


��)�
%'73#��� ��7 �F��!�v'a�����_j�k]���A�	2Nem���������Ql��
3=?'373'7'373'2#"=432+"54"2545<632+"=432+32+'+"5'#+"=4;2'54+327+"5'#+"?4;23'+"=#"=4;2+2+"=4;2+32+'2+"=4354"2'+"5'#+"=4;2'2=4+72+3+"=4354+323'7'3?#"&'&'>7&'.7.5467&76326&'."&'>%16767632.#"6'&'67#"'32767>.'&'&'67&'.'&#"&'67&#&'6703273&'27327672767&'6753'32+"=4;22=433'7'37'7'?2+"=4;201#"1#;2#"1#73'7'3�:aNP	U�J.

`



��--=8 "b2-(*#	
1A7 "a3+*
)(I3��*+.X&%0-XT$ (
 ( 	
4:9:$$ $$	m�6
(
$<;		;;*265@?((4$$@	!
@3�00/[+HF	?@	N>$2[+GG	>A'Q;�
">@�6'T
">@�'
	+--	_4422U?d��
3#'#<��ު�lJO���������M���
7!!"'%32#7;;�� �)��X=�tGgf G��������7+"&?>762+"'.>�2	�	}b�	�		'		�6�;���J*H3G<I����?%&'&#654676&/76/?6/????�
_
ii0
4
+&(7
:g`
#qg

]
C

 <�PHx
>

<
Z����#+37;CGKOW_573'7#'5#'73?5#'735%53#'%'#57'#'7'57#7'537'#5'53'357'#573"Lv -#78-�88�ZL B8�

���P [Z ZZd- M�!L�NZZ  L/-�!mj87,z P!Z^Mllv88�

��
-78-
M -7-
-N[[.N [[�� LG- MdO Z[[- Mj l/ -�77��* O [�����#F767>'&'./&"&'&'.?>>7076($<?W0732

'"4!
j
($<?W1193

3):"	
j$.r
BF.
r
	A
���+/48<@HO?3%3#73+732%#73#576+732#"7>533613373'3#73'3#7333#"&7�;��VR�D#d)3
F>(>�M[�pu-	�N�;�ZIIM	R�:'�(:8�^
�75<
7N55����.7"1"&5064.'&>1250616232>1000#0&�XVWAG HIgEE�SVY]w<~e�NNf0z?}Z� 48?KR^%#'#5##"&'#73&547##53#3>>32353#3733.26&#"5#535#535#737'#3'7#'#3J6@�"V#*
@511m<732	
�8w>�/&�!
�8878_18228�(.-&(..&�="!%#
M�)L1+E 3,"�(.99,"4233������#)/5;AHMS���������2+"&=64/'&6'&57'67'67'67'67'&5547'&/67'726&+"=46>54&'&+"#";2#"&#36=367'67'67'67'67'67''6765'����]��77��#5"1$.'.4178+;@H�

"+		

+>*

!!.OB		$	6#0$.(26)@���� �\8!6-�	$#$(6

8 -\@I	,	/	=,8/!

>38$#$(5*	A��k� #"&463"&463"&46;2"2"&4U2G22##22##22#�#22FF22F2�#22G22F22G22G22F22F����'/AI2#!"&54632=4"2=4"2=4"2=4">.""'&"6754"2�!!��!!�KKJC
0�2
:�<�!��!!P!R������-���
))
0�������N2#!"&54634&32>27'#&5676.7#3547#36737676�����&	"	D
 
!M	 ".-	���nr

�45&($O�$] g$
����%?&'&47677'�I��M�&��LLL�J��M�&�|LLL��
�sCR%.'&76'&'&756'&'.676>'&6332>7262654&+"3q#1+-1(''(1+,1)$
55)"55��"%%
{;
0,A@ -/";,-20-VV-02(%%������lt|�� *6>KWcm%+"'&'.'&'.6?4>7&'&'&7&7&7&7&66366632362636730764622>6626'6.>.677&'>7&'67"'67&'67'67'467'67"#"57&&7&461&7&7&5&&2656&'>7&'>&'&'&'&'&'0&'&#'''#&7676'&6&'.&>.26'4&&754&"266&'&67>&'&t
%$$
%

	
			
	
%+/:%.$
)=D			

	

$"$�D=)	
	


	7#1.+p	
g

!	-%%.%.~&%(I#1"#1"R
	&
#
	�
%2$		$2%
 		
	
	





	
	
	
# "%'^/+
/*
!#
	
	l


"!
	
	
&$(%�% )$l*'
�
+.
+�			
~  -*.
Y
$)
'���5%254'.'.#"#"&#"7#".54732654&VRB
	*6I}7+<p@"q�MSF,�/\"J)9
	)Y;;(5	����
7#%'3?3#/?/N[���{�[
�=QZ�XZ����$�f+j������	�BX	���vq&0����S����%+"&=.5462>54&"�O>`>Ow�w��()+3+�CjffjCTwwT## %%��}bku��7&'367#".#.#"#.'&676&'&32>36#"&'47>'&'&'&767>6&'0#"72##"&463224"�[&
"0
74
	1	.	%&66
*&	


$$3	J$D33?I<.$&Y

<		 

 /	E&-		0($#>04"/

����)1>J2"&4$>.2654.#"7&47'>.767''7>?&'&'&6�Α�Α3
�	
%
+''+
�
%%.R+/2.%%2/+R��Α��?

�
		
		2(^(2+�

E$4//)e4$)0��|�';FSk753"&=36'>.5!5&>'>'#7>54.46&'56'4.g!#!_J�[
!,*f'\TY%1,*"'-� $/!!
	O;
#7$�{�gh�(,�	
�+!("�'"3#E_	
	
		 %`5H%'&5>.#&'4>76;2723$#>7%!!$7>&'.#.'&�/�
%:'Y44�%f"
!���D�Y�
Q�H�5

,�]#	��������QY�%'&>?&/'&7'.67&7.76767>30767"12676326"&462.#6'676&'&&'&"&"7327676767>�$0

/

		\�Α��B 	
%
/"	g	
5!	

		'�Α�Α��

/ -
	"1

	����	1K7676'&>'&'.#"767&'&63270#"'#"&767>32�%#	�
U		j	/&'.,
	))"Bd	;179971;j$&(K.%-$$x2J��%;38,);".C%I�2P>>P2 �%$EU	���?GOW�����%'"'&'&''&7'&'&767&'"6767&667667>'&'7&'7'&'676'&'47.#267&'&&'.67&'672>1#."6&'&2&27&�{%' 44#	&W%8!4)+
!		l!%	/�
��1$Dc;8

	
4A0!"
"DA
'.	$
$H	+$&��
%+H/&;2,
	&.:
>D $1*
j+i�� 5)''
	O_JO ::+'M.&	
	3�'

����)B%+532'#532"7#!"&5463!24'565<.+:62>76$	QQ2KK		�,��,,*,n1%
.	5�Q	
DH	���,,*,,�9
(
������+9%"/&?622?62'"/&?622?62%&?62"'���/��/��/�������CaaCC�bbCC[[[[��'2+53!#54632#52#4&#4&#5�����++%@>X+?,�pPa����+*@@��%�W>,?kPp+�a����x�#*"#7&62326514.'0.'&&'&'&'467:62>7>5454>2#+"&772'.y	
mO"
	
	
6	

		 A	
(H	(<o
��1

+.
(
	
6wA
�����)Gy�632#"&5"&5#".5"&5#"&=4632327277 '.67672"3>57:>4&'."&#".''"15>7H �iO1))1�!#C	$;��<
$	C

	#NN#

		G,�	8



8}G[M{f")
	%

%

)"	

	/)������Dg����.Jim7#6236#"'&54626'&=4%''.'.67&>3263264'&562506350'&#"'&1327"11102>32&76=4.74+";257&#"32765'4##"53250<.254'&54323'06150'&#"#"'41"374+47632572'&#";"#"01376767325&#"32767&54+";2=476256750/#"432125656#&327617&#"032765'4##"532505<.2#����e@
&6
#)-("#:		8"=%"/

	#E8"��	 
	 
$

8
%"
		

	P
					6*

	/6
%$�

BT!#19:>2 1#	
#?D=	
			"
O2	2
:
4
6
85'( ` 97#"&46;2+";2+"&46;26&67326=4.+64'32#�r);;)��r);;)��H+A	v�!.$�;R;"(;R;"x3x	./!�%�����2"&4%>'4&*0.'&74676&676/&76#".76&"767>74>5>56&'>36�Α�Α~

	


	1





	'!	

��Α��


	
*	


!144	'7'$

#	���&DJPc%#"&'*'#"1.7&'&632>7>32>76.#"#623632&46646&67>76"&�>>
?%		BY0N|t&5P,@n"<2
H �[�$#.( 3�@r-*1
2-I'`��	).S>%M;* -	�!!

!!
)	(%����0V'&6727632#"'"'.767".'&63:%&5463237632#0#"'&5463033267�*P_
	
_PT-*v�OQM
n&'	(!I	�

H!n
�
��	��*&	
 ������+%"/&4?276&'576&'6&'762��		��2	

//23(	�		��		�3
{$

	%	z..	24)����
1=AE7+5327!4.'.5432;4&#"#"5#32>74&+3532>7#7#3��@�	 
	"
~4!10�0�*��@��

	D�/N��������6CNVanw%3#"&54632#.#"54&#".5467>2#">'32>54>&''"67&3>.327.7367&'�|`t��t`|nVju1_C'$-4-IJ,5.
Qhd$+!�	++*r)*"@&YvS[�tt�[SHMujEb61$'-.4!-/4
1L�$%"!D\%�##3$$�#&D$&

��9�%5<H2"&467.54>32676&+%'#37377#7##"''2+?232+7�褤��X#	%.�M&	 %$rh5\#_.	�������< ##&�ݸ%%Z##Z�T�R'#=x9c	0`9!&<FP373#'#'#%2+52>54&/+53:'30>5.#6654&#/*)-
.-,#
 

0/
�		.4
<

 vv�MMPP�'(
��

&�
m����
$.2+5&2"&45#72>54&#"2654.+')+#/`Α�Α�		�1=4$Q,!���Α������		�>*. �����<m#"+"#"&'&'.54=454>7676767>7232;23276'&'656&'&'&'.''&'7367>�
�



�
F;:
LS,
/9	
N?P+'BQA$�

�
� (7v"#N$/S<#!-c0	>#"
����S2#"&464'4'&'&5&+11#"+"#"'&'&5476?514/"73>�͑.=L(g�� 	

 =77=��f)K=.��y	
))
	)00V6��$
n&�7
,�	Ms�'	4	:Q	�	H�	:2	L�	4	
XR	.�	*!	c	:{	*�	Copyright (c) Font AwesomeCopyright (c) Font AwesomeFont Awesome 5 Brands RegularFont Awesome 5 Brands RegularRegularRegularFont Awesome 5 Brands Regular-5.14.0Font Awesome 5 Brands Regular-5.14.0Font Awesome 5 Brands RegularFont Awesome 5 Brands Regular331.264 (Font Awesome version: 5.14.0)331.264 (Font Awesome version: 5.14.0)FontAwesome5Brands-RegularFontAwesome5Brands-RegularThe web's most popular icon set and toolkit.The web's most popular icon set and toolkit.https://fontawesome.comhttps://fontawesome.comFont Awesome 5 BrandsFont Awesome 5 BrandsRegularRegularFont Awesome 5 Brands RegularFont Awesome 5 Brands RegularFont Awesome 5 BrandsFont Awesome 5 BrandsRegularRegular���	

 !"#$%&'()*+,�-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~����������������������������������������������������������������firefox-browserideal	microblogpied-piper-squareunitydailymotioninstagram-squaremixershopifydeezeredge-legacy
google-payrusttiktokunsplashtwitter-squarefacebook-squarelinkedin
github-squaretwitterfacebookgithub	pinterestpinterest-squaregoogle-plus-square
google-plus-glinkedin-in
github-altmaxcdnhtml5css3btcyoutubexingxing-squaredropboxstack-overflow	instagramflickradn	bitbuckettumblr
tumblr-squarewindowsandroidlinuxdribbbleskype
foursquaretrellogratipayvkweiborenren	pagelinesstack-exchangevimeo-squareslack	wordpressopenidyahoogooglereddit
reddit-squarestumbleupon-circlestumbleupon	deliciousdigg
pied-piper-pppied-piper-altdrupaljoomlabehancebehance-squaresteamsteam-squarespotify
deviantart
soundcloudvinecodepenjsfiddlerebelempire
git-squaregithacker-news
tencent-weiboqqweixin
slidesharetwitchyelppaypal
google-walletcc-visa
cc-mastercardcc-discovercc-amex	cc-paypal	cc-stripelastfm
lastfm-squareioxhost	angellist
buyselladsconnectdevelopdashcubeforumbeeleanpubsellsyshirtsinbulksimplybuiltskyatlaspinterest-pwhatsappviacoinmediumy-combinator
optin-monsteropencartexpeditedsslcc-jcbcc-diners-clubcreative-commonsgg	gg-circletripadvisor
odnoklassnikiodnoklassniki-square
get-pocketwikipedia-wsafarichromefirefoxoperainternet-explorercontao500pxamazonhouzzvimeo-v	black-tie	fonticonsreddit-alienedgecodiepiemodxfort-awesomeusbproduct-huntmixcloudscribd	bluetoothbluetooth-bgitlab
wpbeginnerwpformsenviraglideglide-gviadeo
viadeo-squaresnapchatsnapchat-ghostsnapchat-square
pied-piperfirst-orderyoast	themeislegoogle-plusfont-awesomelinodequorafree-code-camptelegrambandcampgravetsyimdbravelrysellcastsuperpowers
wpexplorermeetupfont-awesome-altaccessible-iconaccusoftadversalaffiliatethemealgoliaamilia
angrycreative	app-store
app-store-iosapper
asymmetrikaudibleavianexaws	bimobjectbitcoinbity
blackberryblogger	blogger-bburomobelexperte
centercode
cloudscale
cloudsmithcloudversifycpanelcss3-alt
cuttlefishd-and-d	deploydogdeskpro
digital-oceandiscord	discoursedochubdocker
draft2digitaldribbble-squaredyalog
earlybirdserlang
facebook-ffacebook-messenger
firstdraftfonticons-fifort-awesome-altfreebsd	gitkrakengofore	goodreadsgoodreads-ggoogle-drivegoogle-playgripfiregruntgulphacker-news-square
hire-a-helperhotjarhubspotitunesitunes-notejenkinsjogetjs	js-squarekeycdnkickstarter
kickstarter-klaravellinelyftmagentomedappsmedium-mmedrt	microsoftmixmizunimoneronapsternode-jsnpmns8nutritionixpage4palfedpatreon	periscopephabricatorphoenix-frameworkplaystationpushedpython	red-riverwpressrreplyd	resolving
rocketchatrockrmsschlixsearchenginservicestacksistrix
slack-hashspeakap
staylinkedsteam-symbolsticker-mulestudiovinarisuppletelegram-planeuberuikituniregistryuntappdussunnahvaadinvibervimeovnvwhatsapp-squarewhmcswordpress-simplexboxyandexyandex-international	apple-paycc-apple-payflynodeosireactautoprefixersassvuejsangularaviatoemberfont-awesome-flaggitterhoolistravastripestripe-stypo3
amazon-pay
cc-amazon-payethereumkorvue	elementoryoutube-square	flipboardhipsphp	quinscapereadmejavapied-piper-hatcreative-commons-bycreative-commons-nccreative-commons-nc-eucreative-commons-nc-jpcreative-commons-ndcreative-commons-pdcreative-commons-pd-altcreative-commons-remixcreative-commons-sacreative-commons-samplingcreative-commons-sampling-pluscreative-commons-sharecreative-commons-zeroebaykeybasemastodon	r-projectresearchgate	teamspeakfirst-order-altfulcrumgalactic-republicgalactic-senate
jedi-ordermandalorianold-republicphoenix-squadronsithtrade-federationwolf-pack-battalionhornbill	mailchimpmegaportnimblrrevshopwaresquarespacethemecoweeblywixello
hackerrankkagglemarkdownneoszhihualipaythe-red-yetiacquisitions-incorporated
critical-roled-and-d-beyonddevfantasy-flight-gamespenny-arcadewizards-of-the-coastthink-peaksreacteuropeadobe
artstation	atlassiancanadian-maple-leafcentos
confluencedhldiasporafedexfedorafigmaintercominvisionjiramendeleyraspberry-piredhatsketch
sourcetreesuseubuntuupsuspsyarnairbnb
battle-net	bootstrapbuffer
chromecastevernoteitch-io
salesforcespeaker-decksymfonywazeyammergit-alt	stackpath
cotton-bureaubuy-n-largemdborcidswiftumbraco�������4�w�4�|assets/images/gantry5-logo.png000064400000004725150753125220012362 0ustar00�PNG


IHDR�V�	�BPLTE���������������������Liq�������������������������������������������D�ttRNS�px0!�?_P�ϟ�h��H�B��	-IDATx^�ᒫ FA�F��$���n�H�w���;�>bCC��R(��K�%��p<���/�Q�������¬�$T���	�%56q	0�PICKt�\��u:��r	P��\�W\��4B�'\��a|�K�*(Ʒ�0m�T�&����6D��q	�:�J��% ���.����\�k2.��f�
��0e��cp.囷��|�;��P�
h(�4R��WdepԆLa�Y�Qe>�vC
\<B��r;�k�
��C�K@��Д!�x5i^M�Hs	��!�&8k�aCs�
�L�DH�9������B*��$��*@
R{������#k�J������
��q�'��$���߬4��Acy�`7 ��P�~NM1��ϹE�2�����]�;��	��-�������
|�x�*ӏ~��de|m>�B�&̋I]Y�Qm��s��_�.W�1�-�\ԏ0~�*&���I�54����)d�'axtٯc��%huB�zoʌ�o0�t��@hh���'T\�+?���H��3"@�����4�|l����-�r���X�F�bL�W���NjB"7�w��zM��������I7l��	a���4� tP�IN!�����粀[?P*|"�~@�x��l�~'�'-����~���r|�%��n�����[�L7��KȂ��X,~�h@0u��I�"��o�
�u�	��cA@�b-�,7�V�(y��Z|�kK��h���������T ����9n8@���
E�XCϥ0�cv�䔡�`����~b�B5P�D*-��Gp�&#�D&Z��T�9tC�V�J���w/���X�\<g8م��!���T~��zbDu4�D���	�4Z&9�"/ f�g�:)�c�!��|��������8��������H�6�lJ$Sd4����aD�@@t�n���__�����S<eLiB��	p�!2Pz1X?`�Q�L���5�W�!����T;`2Z(G�
�Ȁ�R���x\0���A��
Q��7(3�	�$@�!�#\'�
A7`"!1Oȉ�q���%J���Z��h��F!o,�N�J9DF�R<b�Q��#z��&P�)��  ���9p�姡^��L#�S7�J�kO�|	XZ�^��ͼF/�f"`��_l��!�
/`��]
i(�f��:6�[�t9��09��o���Aop�,�8��y�/@�U-�b*�+�
��WX���T&�f�Ǯ���F�ӆ���Q�Հ4
ЀVj�6�n�h3����k%,6���`3�yퟷ$m�:5ܒtڊNb��b����:�t����~��q����`�Жh"@�<�`+T����! ��m���'0�L;?�\��eƵ�,���>��o�)���e컟0KT� ��������X(G3"��;b�����w��Om�G�!�Pf&@aEd(4��*wO���) �E�����&������ѯ
8�T���	h�c���tW�&W�N��
x�̥(�S�f빠�?X�w��/h(x�A��\��
�/G+��JDu�d�s�d��|wt�;��+J�	B�M�"Ӹr�M:�������)8z���;:��F�.����D�
"�
�B 
�OG��tt����u�t��vg辚v�� ��L@U8.�&��C��p�f��_��3-� ���м��(&�S�н/jˉ�d�����M�	Ȼ!Sj���+�
��J4p�9,G��
o��Jˏ�]+'�=r��x�rwh\j2�B��a7��Ǔ�>��d( �rA<M�ʥM�-���sW:���yO�i���y�~�#���/	0.�
��i���V���p�1RFv=X�o���j��v�W�9���W5�"�]��п�)���CLg�&��	:�]���v]���`Qp�(G�#�4;)fHh��z�����TdqB����)�)�F����v���I��+jZ��VgAn�� ���?�m��х����W8%~K~�����p��/@8��P���~�����n�".��_���^�*�M���O�	�ݿa�����,��71e���z��4Rj|r�?i�������H�y�||��Z@mqj8���ƙ��pS����W@�48��R(��?����IEND�B`�assets/css/font-awesome5-pseudo.min.css000064400000001532150753125230014124 0ustar00@font-face{font-family:'Font Awesome 5 Free';font-style:normal;font-weight:400;font-display:auto;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}@font-face{font-family:'Font Awesome 5 Free';font-style:normal;font-weight:900;font-display:auto;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}assets/css/font-awesome5-all.min.css000064400000163067150753125230013411 0ustar00/*!
 * Font Awesome Free 5.14.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.fab,.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900}assets/css/font-awesome5-shim.min.css000064400000064116150753125230013574 0ustar00/*!
 * Font Awesome Free 5.14.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
.fa.fa-glass:before{content:"\f000"}.fa.fa-meetup{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-star-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-close:before,.fa.fa-remove:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-file-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before,.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-pencil:before{content:"\f303"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-share-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-expand:before{content:"\f424"}.fa.fa-compress:before{content:"\f422"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bar-chart:before{content:"\f080"}.fa.fa-bar-chart-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bar-chart-o:before{content:"\f080"}.fa.fa-facebook-square,.fa.fa-twitter-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-lemon-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-scissors:before{content:"\f0c4"}.fa.fa-files-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-navicon:before,.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-google-plus,.fa.fa-google-plus-square,.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-dashboard:before,.fa.fa-tachometer:before{content:"\f3fd"}.fa.fa-comment-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard,.fa.fa-paste{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-paste:before{content:"\f328"}.fa.fa-lightbulb-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f381"}.fa.fa-cloud-upload:before{content:"\f382"}.fa.fa-bell-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile-phone:before,.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-folder-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-o:before{content:"\f089"}.fa.fa-star-half-empty{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-empty:before{content:"\f089"}.fa.fa-star-half-full{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-full:before{content:"\f089"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before{content:"\f127"}.fa.fa-shield:before{content:"\f3ed"}.fa.fa-calendar-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ticket:before{content:"\f3ff"}.fa.fa-minus-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before,.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-dollar:before,.fa.fa-usd:before{content:"\f155"}.fa.fa-inr:before,.fa.fa-rupee:before{content:"\f156"}.fa.fa-cny:before,.fa.fa-jpy:before,.fa.fa-rmb:before,.fa.fa-yen:before{content:"\f157"}.fa.fa-rouble:before,.fa.fa-rub:before,.fa.fa-ruble:before{content:"\f158"}.fa.fa-krw:before,.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f881"}.fa.fa-sort-amount-asc:before{content:"\f160"}.fa.fa-sort-amount-desc:before{content:"\f884"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f886"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube,.fa.fa-youtube-play,.fa.fa-youtube-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-try:before,.fa.fa-turkish-lira:before{content:"\f195"}.fa.fa-plus-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bank:before,.fa.fa-institution:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-google,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle,.fa.fa-yahoo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-spoon:before{content:"\f2e5"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-envelope-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-deviantart,.fa.fa-soundcloud,.fa.fa-spotify{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-file-pdf-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-life-bouy,.fa.fa-life-ring{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-bouy:before{content:"\f1cd"}.fa.fa-life-buoy{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-buoy:before{content:"\f1cd"}.fa.fa-life-saver{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-saver:before{content:"\f1cd"}.fa.fa-support{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire,.fa.fa-ge{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git,.fa.fa-git-square,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-sliders:before{content:"\f1de"}.fa.fa-futbol-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-angellist,.fa.fa-ioxhost,.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before,.fa.fa-shekel:before,.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-meanpath{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-meanpath:before{content:"\f2b4"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before{content:"\f224"}.fa.fa-facebook-official{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-battery-4:before,.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-clone,.fa.fa-hourglass-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-chrome,.fa.fa-creative-commons,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-internet-explorer,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square,.fa.fa-opera,.fa.fa-safari,.fa.fa-tripadvisor,.fa.fa-wikipedia-w{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-calendar-plus-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-pause-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before,.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-snapchat,.fa.fa-snapchat-ghost,.fa.fa-snapchat-square,.fa.fa-themeisle,.fa.fa-viadeo,.fa.fa-viadeo-square,.fa.fa-yoast{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-thermometer-4:before,.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before,.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-cab:before{content:"\f1ba"}assets/css/lightcase.css000064400000041162150753125230011322 0ustar00/**
 * Lightcase - jQuery Plugin
 * The smart and flexible Lightbox Plugin.
 *
 * @author		Cornel Boppart <cornel@bopp-art.com>
 * @copyright	Author
 *
 * @version		2.4.4 (27/02/2018)
 */
/**
 * Lightcase settings
 *
 * Note: Override default settings for your project without touching this source code by simply
 * defining those variables within a SASS map called '$lightcase-custom'.
 *
 * // Example usage
 * $lightcase-custom: (
 *   'breakpoint': 768px
 * );
 */
@font-face {
  font-family: 'lightcase';
  src: url("../fonts/lightcase.eot?55356177");
  src: url("../fonts/lightcase.eot?55356177#iefix") format("embedded-opentype"), url("../fonts/lightcase.woff?55356177") format("woff"), url("../fonts/lightcase.ttf?55356177") format("truetype"), url("../fonts/lightcase.svg?55356177#lightcase") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* line 12, ../scss/components/fonts/_font-lightcase.scss */
[class*='lightcase-icon-']:before {
  font-family: 'lightcase', sans-serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

/* Codes */
/* line 35, ../scss/components/fonts/_font-lightcase.scss */
.lightcase-icon-play:before {
  content: '\e800';
}

/* line 36, ../scss/components/fonts/_font-lightcase.scss */
.lightcase-icon-pause:before {
  content: '\e801';
}

/* line 37, ../scss/components/fonts/_font-lightcase.scss */
.lightcase-icon-close:before {
  content: '\e802';
}

/* line 38, ../scss/components/fonts/_font-lightcase.scss */
.lightcase-icon-prev:before {
  content: '\e803';
}

/* line 39, ../scss/components/fonts/_font-lightcase.scss */
.lightcase-icon-next:before {
  content: '\e804';
}

/* line 40, ../scss/components/fonts/_font-lightcase.scss */
.lightcase-icon-spin:before {
  content: '\e805';
}

/**
 * Mixin providing icon defaults to be used on top of font-lightcase.
 *
 * Example usage:
 * @include icon(#e9e9e9)
 */
/**
 * Mixin providing icon defaults including a hover status to be used
 * on top of font-lightcase.
 *
 * Example usage:
 * @include icon-hover(#e9e9e9, #fff)
 */
/**
 * Provides natural content overflow behavior and scrolling support
 * even so for touch devices.
 *
 * Example usage:
 * @include overflow()
 */
/**
 * Neutralizes/resets dimensions including width, height, position as well as margins,
 * paddings and styles. Used to enforce a neutral and unstyled look and behavoir!
 *
 * Example usage:
 * @include clear(true)
 *
 * @param boolean $important
 */
@-webkit-keyframes lightcase-spin {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@-moz-keyframes lightcase-spin {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@-o-keyframes lightcase-spin {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@-ms-keyframes lightcase-spin {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes lightcase-spin {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
/* line 1, ../scss/components/modules/_case.scss */
#lightcase-case {
  display: none;
  position: fixed;
  z-index: 2002;
  top: 50%;
  left: 50%;
  font-family: arial, sans-serif;
  font-size: 13px;
  line-height: 1.5;
  text-align: left;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 640px) {
  /* line 16, ../scss/components/modules/_case.scss */
  html[data-lc-type=inline] #lightcase-case, html[data-lc-type=ajax] #lightcase-case {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    margin: 0 !important;
    padding: 55px 0 70px 0;
    width: 100% !important;
    height: 100% !important;
    overflow: auto !important;
  }
}

@media screen and (min-width: 641px) {
  /* line 4, ../scss/components/modules/_content.scss */
  html:not([data-lc-type=error]) #lightcase-content {
    position: relative;
    z-index: 1;
    text-shadow: none;
    background-color: #fff;
    -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
    -o-box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
    -webkit-backface-visibility: hidden;
  }
}
@media screen and (min-width: 641px) {
  /* line 23, ../scss/components/modules/_content.scss */
  html[data-lc-type=image] #lightcase-content, html[data-lc-type=video] #lightcase-content {
    background-color: #333;
  }
}
/* line 31, ../scss/components/modules/_content.scss */
html[data-lc-type=inline] #lightcase-content, html[data-lc-type=ajax] #lightcase-content, html[data-lc-type=error] #lightcase-content {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  -o-box-shadow: none;
  box-shadow: none;
}
@media screen and (max-width: 640px) {
  /* line 31, ../scss/components/modules/_content.scss */
  html[data-lc-type=inline] #lightcase-content, html[data-lc-type=ajax] #lightcase-content, html[data-lc-type=error] #lightcase-content {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
  }
}
/* line 43, ../scss/components/modules/_content.scss */
html[data-lc-type=inline] #lightcase-content .lightcase-contentInner, html[data-lc-type=ajax] #lightcase-content .lightcase-contentInner, html[data-lc-type=error] #lightcase-content .lightcase-contentInner {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
@media screen and (max-width: 640px) {
  /* line 43, ../scss/components/modules/_content.scss */
  html[data-lc-type=inline] #lightcase-content .lightcase-contentInner, html[data-lc-type=ajax] #lightcase-content .lightcase-contentInner, html[data-lc-type=error] #lightcase-content .lightcase-contentInner {
    padding: 15px;
  }
  /* line 52, ../scss/components/modules/_content.scss */
  html[data-lc-type=inline] #lightcase-content .lightcase-contentInner, html[data-lc-type=inline] #lightcase-content .lightcase-contentInner > *, html[data-lc-type=ajax] #lightcase-content .lightcase-contentInner, html[data-lc-type=ajax] #lightcase-content .lightcase-contentInner > *, html[data-lc-type=error] #lightcase-content .lightcase-contentInner, html[data-lc-type=error] #lightcase-content .lightcase-contentInner > * {
    width: 100% !important;
    max-width: none !important;
  }
  /* line 59, ../scss/components/modules/_content.scss */
  html[data-lc-type=inline] #lightcase-content .lightcase-contentInner > *:not(iframe), html[data-lc-type=ajax] #lightcase-content .lightcase-contentInner > *:not(iframe), html[data-lc-type=error] #lightcase-content .lightcase-contentInner > *:not(iframe) {
    height: auto !important;
    max-height: none !important;
  }
}
@media screen and (max-width: 640px) {
  /* line 70, ../scss/components/modules/_content.scss */
  html.lightcase-isMobileDevice[data-lc-type=iframe] #lightcase-content .lightcase-contentInner iframe {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media screen and (max-width: 640px) and (min-width: 641px) {
  /* line 74, ../scss/components/modules/_content.scss */
  html[data-lc-type=image] #lightcase-content .lightcase-contentInner, html[data-lc-type=video] #lightcase-content .lightcase-contentInner {
    line-height: 0.75;
  }
}

/* line 82, ../scss/components/modules/_content.scss */
html[data-lc-type=image] #lightcase-content .lightcase-contentInner {
  position: relative;
  overflow: hidden !important;
}
@media screen and (max-width: 640px) {
  /* line 91, ../scss/components/modules/_content.scss */
  html[data-lc-type=inline] #lightcase-content .lightcase-contentInner .lightcase-inlineWrap, html[data-lc-type=ajax] #lightcase-content .lightcase-contentInner .lightcase-inlineWrap, html[data-lc-type=error] #lightcase-content .lightcase-contentInner .lightcase-inlineWrap {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
  }
}
@media screen and (min-width: 641px) {
  /* line 100, ../scss/components/modules/_content.scss */
  html:not([data-lc-type=error]) #lightcase-content .lightcase-contentInner .lightcase-inlineWrap {
    padding: 30px;
    overflow: auto;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 640px) {
  /* line 117, ../scss/components/modules/_content.scss */
  #lightcase-content h1, #lightcase-content h2, #lightcase-content h3, #lightcase-content h4, #lightcase-content h5, #lightcase-content h6, #lightcase-content p {
    color: #aaa;
  }
}
@media screen and (min-width: 641px) {
  /* line 117, ../scss/components/modules/_content.scss */
  #lightcase-content h1, #lightcase-content h2, #lightcase-content h3, #lightcase-content h4, #lightcase-content h5, #lightcase-content h6, #lightcase-content p {
    color: #333;
  }
}

/* line 3, ../scss/components/modules/_error.scss */
#lightcase-case p.lightcase-error {
  margin: 0;
  font-size: 17px;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #aaa;
}
@media screen and (max-width: 640px) {
  /* line 3, ../scss/components/modules/_error.scss */
  #lightcase-case p.lightcase-error {
    padding: 30px 0;
  }
}
@media screen and (min-width: 641px) {
  /* line 3, ../scss/components/modules/_error.scss */
  #lightcase-case p.lightcase-error {
    padding: 0;
  }
}

/* line 4, ../scss/components/modules/_global.scss */
.lightcase-open body {
  overflow: hidden;
}
/* line 8, ../scss/components/modules/_global.scss */
.lightcase-isMobileDevice .lightcase-open body {
  max-width: 100%;
  max-height: 100%;
}

/* line 1, ../scss/components/modules/_info.scss */
#lightcase-info {
  position: absolute;
  padding-top: 15px;
}
/* line 9, ../scss/components/modules/_info.scss */
#lightcase-info #lightcase-title,
#lightcase-info #lightcase-caption {
  margin: 0;
  padding: 0;
  line-height: 1.5;
  font-weight: normal;
  text-overflow: ellipsis;
}
/* line 19, ../scss/components/modules/_info.scss */
#lightcase-info #lightcase-title {
  font-size: 17px;
  color: #aaa;
}
@media screen and (max-width: 640px) {
  /* line 19, ../scss/components/modules/_info.scss */
  #lightcase-info #lightcase-title {
    position: fixed;
    top: 10px;
    left: 0;
    max-width: 87.5%;
    padding: 5px 15px;
    background: #333;
  }
}
/* line 33, ../scss/components/modules/_info.scss */
#lightcase-info #lightcase-caption {
  clear: both;
  font-size: 13px;
  color: #aaa;
}
/* line 39, ../scss/components/modules/_info.scss */
#lightcase-info #lightcase-sequenceInfo {
  font-size: 11px;
  color: #aaa;
}
@media screen and (max-width: 640px) {
  /* line 45, ../scss/components/modules/_info.scss */
  .lightcase-fullScreenMode #lightcase-info {
    padding-left: 15px;
    padding-right: 15px;
  }
  /* line 51, ../scss/components/modules/_info.scss */
  html:not([data-lc-type=image]):not([data-lc-type=video]):not([data-lc-type=flash]):not([data-lc-type=error]) #lightcase-info {
    position: static;
  }
}

/* line 1, ../scss/components/modules/_loading.scss */
#lightcase-loading {
  position: fixed;
  z-index: 9999;
  width: 1.123em;
  height: auto;
  font-size: 38px;
  line-height: 1;
  text-align: center;
  text-shadow: none;
  position: fixed;
  z-index: 2001;
  top: 50%;
  left: 50%;
  margin-top: -0.5em;
  margin-left: -0.5em;
  opacity: 1;
  font-size: 32px;
  text-shadow: 0 0 15px #fff;
  -moz-transform-origin: 50% 53%;
  -webkit-animation: lightcase-spin 0.5s infinite linear;
  -moz-animation: lightcase-spin 0.5s infinite linear;
  -o-animation: lightcase-spin 0.5s infinite linear;
  animation: lightcase-spin 0.5s infinite linear;
}
/* line 20, ../scss/components/mixins/_presets.scss */
#lightcase-loading, #lightcase-loading:focus {
  text-decoration: none;
  color: #fff;
  -webkit-tap-highlight-color: transparent;
  -webkit-transition: color, opacity, ease-in-out 0.25s;
  -moz-transition: color, opacity, ease-in-out 0.25s;
  -o-transition: color, opacity, ease-in-out 0.25s;
  transition: color, opacity, ease-in-out 0.25s;
}
/* line 32, ../scss/components/mixins/_presets.scss */
#lightcase-loading > span {
  display: inline-block;
  text-indent: -9999px;
}

/* line 2, ../scss/components/modules/_navigation.scss */
a[class*='lightcase-icon-'] {
  position: fixed;
  z-index: 9999;
  width: 1.123em;
  height: auto;
  font-size: 38px;
  line-height: 1;
  text-align: center;
  text-shadow: none;
  outline: none;
  cursor: pointer;
}
/* line 20, ../scss/components/mixins/_presets.scss */
a[class*='lightcase-icon-'], a[class*='lightcase-icon-']:focus {
  text-decoration: none;
  color: rgba(255, 255, 255, 0.6);
  -webkit-tap-highlight-color: transparent;
  -webkit-transition: color, opacity, ease-in-out 0.25s;
  -moz-transition: color, opacity, ease-in-out 0.25s;
  -o-transition: color, opacity, ease-in-out 0.25s;
  transition: color, opacity, ease-in-out 0.25s;
}
/* line 32, ../scss/components/mixins/_presets.scss */
a[class*='lightcase-icon-'] > span {
  display: inline-block;
  text-indent: -9999px;
}
/* line 49, ../scss/components/mixins/_presets.scss */
a[class*='lightcase-icon-']:hover {
  color: white;
  text-shadow: 0 0 15px white;
}
/* line 10, ../scss/components/modules/_navigation.scss */
.lightcase-isMobileDevice a[class*='lightcase-icon-']:hover {
  color: #aaa;
  text-shadow: none;
}
/* line 17, ../scss/components/modules/_navigation.scss */
a[class*='lightcase-icon-'].lightcase-icon-close {
  position: fixed;
  top: 15px;
  right: 15px;
  bottom: auto;
  margin: 0;
  opacity: 0;
  outline: none;
}
/* line 28, ../scss/components/modules/_navigation.scss */
a[class*='lightcase-icon-'].lightcase-icon-prev {
  left: 15px;
}
/* line 33, ../scss/components/modules/_navigation.scss */
a[class*='lightcase-icon-'].lightcase-icon-next {
  right: 15px;
}
/* line 38, ../scss/components/modules/_navigation.scss */
a[class*='lightcase-icon-'].lightcase-icon-pause, a[class*='lightcase-icon-'].lightcase-icon-play {
  left: 50%;
  margin-left: -0.5em;
}
@media screen and (min-width: 641px) {
  /* line 38, ../scss/components/modules/_navigation.scss */
  a[class*='lightcase-icon-'].lightcase-icon-pause, a[class*='lightcase-icon-'].lightcase-icon-play {
    opacity: 0;
  }
}
@media screen and (max-width: 640px) {
  /* line 2, ../scss/components/modules/_navigation.scss */
  a[class*='lightcase-icon-'] {
    bottom: 15px;
    font-size: 24px;
  }
}
@media screen and (min-width: 641px) {
  /* line 2, ../scss/components/modules/_navigation.scss */
  a[class*='lightcase-icon-'] {
    bottom: 50%;
    margin-bottom: -0.5em;
  }
  /* line 57, ../scss/components/modules/_navigation.scss */
  a[class*='lightcase-icon-']:hover, #lightcase-case:hover ~ a[class*='lightcase-icon-'] {
    opacity: 1;
  }
}

/* line 1, ../scss/components/modules/_overlay.scss */
#lightcase-overlay {
  display: none;
  width: 100%;
  min-height: 100%;
  position: fixed;
  z-index: 2000;
  top: -9999px;
  bottom: -9999px;
  left: 0;
  background: #333;
}
@media screen and (max-width: 640px) {
  /* line 1, ../scss/components/modules/_overlay.scss */
  #lightcase-overlay {
    opacity: 1 !important;
  }
}
assets/css/whoops.css000064400000004054150753125230010675 0ustar00body {
    background-color: #eee;
}

body header {
    background: #349886;
    border-left: 8px solid #29796B;
}

body .clipboard {
    width: 28px;
    height: 28px;
    background: transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcAQMAAABIw03XAAAAA3NCSVQICAjb4U/gAAAABlBMVEX///////9VfPVsAAAAAnRSTlP/AOW3MEoAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAFnRFWHRDcmVhdGlvbiBUaW1lADEwLzE1LzE0xr/LJAAAADhJREFUCJlj+P///wcGBPGDQR5E8OMi2IEEczOIaAQRHSCioQBGHAAR/7AT/z+DiA8MMALVXhABAJf9Sr5aY+UFAAAAAElFTkSuQmCC);
}

body .exc-title-primary {
    color: #1C3631;
    text-shadow: none;
}

body .exc-title {
    color: #2F5B52;
    text-shadow: none;
}

body .data-table-container label {
    color: #0082BA;
}

body .frame {
    border: 0;
}

body .frames-container {
    overflow-y: auto;
    overflow-x: hidden;
}

body .active .frame-class {
    color: #E3D8E9;
}

body .frame-class {
    color: #9055AF;
}

body .frame.active {
    border: 0;
    box-shadow: none;
    background-color: #9055AF;
}

body .frame:not(.active):hover {
    background: #e9e9e9;
}

body .frame-file, body .data-table tbody {
    font-family: "DejaVu Sans Mono", Menlo, Monaco, Consolas, Courier, monospace;
    font-size: 13px;
}

body .frame-code {
    background: #305669;
    border-left: 8px solid #253A47;
    padding: 1rem;
}

body .frame-code .frame-file {
    background: #253A47;
    color: #eee;
    text-shadow: none;
    box-shadow: none;
    font-family: inherit;
}

body .frame-code .frame-file strong {
    color: #fff;
    font-weight: normal;
}

body .frame-comments {
    background: #283E4D;

    box-shadow: none;
}

body .frame-comments.empty:before {
    color: #789AAB;
}

body .details-container {
    border: 0;
}

body .details {
    background-color: #eee;
    border-left: 8px solid #ddd;
    padding: 1rem;
}

body .code-block {
    background: #2C4454;
    box-shadow: none;
    font-family: "DejaVu Sans Mono", Menlo, Monaco, Consolas, Courier, monospace;
    font-size: 13px;
}

body .handler.active {
    background: #666;
}
assets/css/bootstrap-gantry.css000064400000314524150753125230012703 0ustar00/*!
* Bootstrap v2.3.2
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and @fat.
*/

.clearfix:before,
.clearfix:after {
	display: table;
	line-height: 0;
	content: "";
}

.clearfix:after {
	clear: both;
}

.hide-text {
	font: 0/0 a;
	color: transparent;
	text-shadow: none;
	background-color: transparent;
	border: 0;
}

.input-block-level {
	display: block;
	width: 100%;
	min-height: 30px;
}

sub,
sup {
	position: relative;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

#map_canvas img,
.google-maps img {
	max-width: none;
}

button,
input,
select,
textarea {
	margin: 0;
	font-size: 100%;
	vertical-align: middle;
}

button,
input {
	*overflow: visible;
	line-height: normal;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	padding: 0;
	border: 0;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	cursor: pointer;
	-webkit-appearance: button;
}

label,
select,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="radio"],
input[type="checkbox"] {
	cursor: pointer;
}

input[type="search"] {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	-webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

textarea {
	overflow: auto;
	vertical-align: top;
}

@media print {
	* {
		color: #000 !important;
		text-shadow: none !important;
		background: transparent !important;
		box-shadow: none !important;
	}
	a,
	a:visited {
		text-decoration: underline;
	}
	a[href]:after {
		content: " (" attr(href) ")";
	}
	abbr[title]:after {
		content: " (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content: "";
	}
	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}
	thead {
		display: table-header-group;
	}
	tr,
	img {
		page-break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	@page  {
		margin: 0.5cm;
	}
	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}
	h2,
	h3 {
		page-break-after: avoid;
	}
}

.img-rounded {
        border-radius: 6px;
}

.img-circle {
	border-radius: 500px;
}

.row {
/*	margin-left: -20px;*/
	margin-left: 0px;
}

.row:before,
.row:after {
	display: table;
	line-height: 0;
	content: "";
}

.row:after {
	clear: both;
}

[class*="span"] {
	float: left;
	min-height: 1px;
	margin-left: 20px;
}

.span12 {
	width: 940px;
}

.span11 {
	width: 860px;
}

.span10 {
	width: 780px;
}

.span9 {
	width: 700px;
}

.span8 {
	width: 620px;
}

.span7 {
	width: 540px;
}

.span6 {
	width: 460px;
}

.span5 {
	width: 380px;
}

.span4 {
	width: 300px;
}

.span3 {
	width: 220px;
}

.span2 {
	width: 140px;
}

.span1 {
	width: 60px;
}

.offset12 {
	margin-left: 980px;
}

.offset11 {
	margin-left: 900px;
}

.offset10 {
	margin-left: 820px;
}

.offset9 {
	margin-left: 740px;
}

.offset8 {
	margin-left: 660px;
}

.offset7 {
	margin-left: 580px;
}

.offset6 {
	margin-left: 500px;
}

.offset5 {
	margin-left: 420px;
}

.offset4 {
	margin-left: 340px;
}

.offset3 {
	margin-left: 260px;
}

.offset2 {
	margin-left: 180px;
}

.offset1 {
	margin-left: 100px;
}

.row-fluid {
	width: 100%;
}

.row-fluid:before,
.row-fluid:after {
	display: table;
	line-height: 0;
	content: "";
}

.row-fluid:after {
	clear: both;
}

.row-fluid [class*="span"] {
	display: block;
	float: left;
	width: 100%;
	min-height: 30px;
	margin-left: 2.127659574468085%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.row-fluid [class*="span"]:first-child {
	margin-left: 0;
}

.row-fluid .controls-row [class*="span"] + [class*="span"] {
	margin-left: 2.127659574468085%;
}

.row-fluid .span12 {
	width: 100%;
}

.row-fluid .span11 {
	width: 91.48936170212765%;
}

.row-fluid .span10 {
	width: 82.97872340425532%;
}

.row-fluid .span9 {
	width: 74.46808510638297%;
}

.row-fluid .span8 {
	width: 65.95744680851064%;
}

.row-fluid .span7 {
	width: 57.44680851063829%;
}

.row-fluid .span6 {
	width: 48.93617021276595%;
}

.row-fluid .span5 {
	width: 40.42553191489362%;
}

.row-fluid .span4 {
	width: 31.914893617021278%;
}

.row-fluid .span3 {
	width: 23.404255319148934%;
}

.row-fluid .span2 {
	width: 14.893617021276595%;
}

.row-fluid .span1 {
	width: 6.382978723404255%;
}

.row-fluid .offset12 {
	margin-left: 104.25531914893617%;
}

.row-fluid .offset12:first-child {
	margin-left: 102.12765957446808%;
}

.row-fluid .offset11 {
	margin-left: 95.74468085106382%;
}

.row-fluid .offset11:first-child {
	margin-left: 93.61702127659574%;
}

.row-fluid .offset10 {
	margin-left: 87.23404255319149%;
}

.row-fluid .offset10:first-child {
	margin-left: 85.1063829787234%;
}

.row-fluid .offset9 {
	margin-left: 78.72340425531914%;
}

.row-fluid .offset9:first-child {
	margin-left: 76.59574468085106%;
}

.row-fluid .offset8 {
	margin-left: 70.2127659574468%;
}

.row-fluid .offset8:first-child {
	margin-left: 68.08510638297872%;
}

.row-fluid .offset7 {
	margin-left: 61.70212765957446%;
}

.row-fluid .offset7:first-child {
	margin-left: 59.574468085106375%;
}

.row-fluid .offset6 {
	margin-left: 53.191489361702125%;
}

.row-fluid .offset6:first-child {
	margin-left: 51.063829787234035%;
}

.row-fluid .offset5 {
	margin-left: 44.68085106382979%;
}

.row-fluid .offset5:first-child {
	margin-left: 42.5531914893617%;
}

.row-fluid .offset4 {
	margin-left: 36.170212765957444%;
}

.row-fluid .offset4:first-child {
	margin-left: 34.04255319148936%;
}

.row-fluid .offset3 {
	margin-left: 27.659574468085104%;
}

.row-fluid .offset3:first-child {
	margin-left: 25.53191489361702%;
}

.row-fluid .offset2 {
	margin-left: 19.148936170212764%;
}

.row-fluid .offset2:first-child {
	margin-left: 17.02127659574468%;
}

.row-fluid .offset1 {
	margin-left: 10.638297872340425%;
}

.row-fluid .offset1:first-child {
	margin-left: 8.51063829787234%;
}

[class*="span"].hide,
.row-fluid [class*="span"].hide {
	display: none;
}

[class*="span"].pull-right,
.row-fluid [class*="span"].pull-right {
	float: right;
}

p {
	margin: 0 0 10px;
}

.lead {
	margin-bottom: 20px;
	font-size: 21px;
	font-weight: 200;
	line-height: 30px;
}

small {
	font-size: 85%;
}

strong {
	font-weight: bold;
}

em {
	font-style: italic;
}

cite {
	font-style: normal;
}

.muted {
  color: #999999;
}

a.muted:hover,
a.muted:focus {
  color: #808080;
}

.text-warning {
  color: #c09853;
}

a.text-warning:hover,
a.text-warning:focus {
  color: #a47e3c;
}

.text-error {
  color: #b94a48;
}

a.text-error:hover,
a.text-error:focus {
  color: #953b39;
}

.text-info {
  color: #3a87ad;
}

a.text-info:hover,
a.text-info:focus {
  color: #2d6987;
}

.text-success {
  color: #468847;
}

a.text-success:hover,
a.text-success:focus {
  color: #356635;
}

.text-left {
	text-align: left;
}

.text-right {
	text-align: right;
}

.text-center {
	text-align: center;
}

ul.unstyled,
ol.unstyled {
	margin-left: 0;
	list-style: none;
}

ul.inline,
ol.inline {
	margin-left: 0;
	list-style: none;
}

ul.inline > li,
ol.inline > li {
	display: inline-block;
	*display: inline;
	padding-right: 5px;
	padding-left: 5px;
	*zoom: 1;
}

.dl-horizontal {
	*zoom: 1;
}

.dl-horizontal:before,
.dl-horizontal:after {
	display: table;
	line-height: 0;
	content: "";
}

.dl-horizontal:after {
	clear: both;
}

.dl-horizontal dt {
	float: left;
	width: 160px;
	overflow: hidden;
	clear: left;
	text-align: right;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.dl-horizontal dd {
	margin-left: 180px;
}

abbr[title],
abbr[data-original-title] {
	cursor: help;
	border-bottom: 1px dotted #999999;
}

abbr.initialism {
	font-size: 90%;
	text-transform: uppercase;
}

blockquote p {
	margin-bottom: 0;
	font-weight: 300;
}

blockquote small {
	display: block;
}

blockquote small:before {
	content: '\2014 \00A0';
}

blockquote.pull-right {
	float: right;
	padding-left: 0;
	border-left: 0;
}

blockquote.pull-right p,
blockquote.pull-right small {
	text-align: right;
}

blockquote.pull-right small:before {
	content: '';
}

blockquote.pull-right small:after {
	content: '\00A0 \2014';
}

q:before,
q:after,
blockquote:before,
blockquote:after {
	content: "";
}

address {
	display: block;
	font-style: normal;
}

code,
pre {
	padding: 0 3px 2px;
}

code {
	padding: 2px 4px;
	white-space: nowrap;
}

pre {
	display: block;
	word-break: break-all;
	word-wrap: break-word;
	white-space: pre;
	white-space: pre-wrap;
}

pre code {
	padding: 0;
	color: inherit;
	white-space: pre;
	white-space: pre-wrap;
	background-color: transparent;
	border: 0;
}

.pre-scrollable {
	max-height: 340px;
	overflow-y: scroll;
}

form {
	margin: 0 0 20px;
}

fieldset {
	padding: 0;
	margin: 0;
	border: 0;
}

legend {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
}

label {
	display: block;
	margin-bottom: 5px;
}

select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
	display: inline-block;
	padding: 4px 6px;
	margin-bottom: 10px;
	font-size: 14px;
	vertical-align: middle;
	border-radius: 4px;
}

input,
textarea,
.uneditable-input {
	width: 206px;
}

textarea {
	height: auto;
}

textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
	outline: 0;
}

input[type="radio"],
input[type="checkbox"] {
	margin: 4px 0 0;
	line-height: normal;
}

input[type="file"],
input[type="image"],
input[type="submit"],
input[type="reset"],
input[type="button"],
input[type="radio"],
input[type="checkbox"] {
	width: auto;
}

select,
input[type="file"] {
	height: 30px;
	/* In IE7, the height of the select element cannot be changed by height, only font-size */

	line-height: 30px;
}

select {
	width: 220px;
	background-color: #ffffff;
	border: 1px solid #cccccc;
}

select[multiple],
select[size] {
	height: auto;
}

select:focus,
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
	outline: thin dotted #333;
	outline: 5px auto -webkit-focus-ring-color;
	outline-offset: -2px;
}

.uneditable-input,
.uneditable-textarea {
	color: #999999;
	cursor: not-allowed;
	background-color: #fcfcfc;
	border-color: #cccccc;
	-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
	-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
}

.uneditable-input {
	overflow: hidden;
	white-space: nowrap;
}

.uneditable-textarea {
	width: auto;
	height: auto;
}

input:-moz-placeholder,
textarea:-moz-placeholder {
	color: #999999;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
	color: #999999;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	color: #999999;
}

.radio,
.checkbox {
	min-height: 20px;
	padding-left: 20px;
}

.radio input[type="radio"],
.checkbox input[type="checkbox"] {
	float: left;
	margin-left: -20px;
}

.controls > .radio:first-child,
.controls > .checkbox:first-child {
	padding-top: 5px;
}

.radio.inline,
.checkbox.inline {
	display: inline-block;
	padding-top: 5px;
	margin-bottom: 0;
	vertical-align: middle;
}

.radio.inline + .radio.inline,
.checkbox.inline + .checkbox.inline {
	margin-left: 10px;
}

.input-mini {
	width: 60px;
}

.input-small {
	width: 90px;
}

.input-medium {
	width: 150px;
}

.input-large {
	width: 210px;
}

.input-xlarge {
	width: 270px;
}

.input-xxlarge {
	width: 530px;
}

input[class*="span"],
select[class*="span"],
textarea[class*="span"],
.uneditable-input[class*="span"],
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"] {
	float: none;
	margin-left: 0;
}

.input-append input[class*="span"],
.input-append .uneditable-input[class*="span"],
.input-prepend input[class*="span"],
.input-prepend .uneditable-input[class*="span"],
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"],
.row-fluid .input-prepend [class*="span"],
.row-fluid .input-append [class*="span"] {
	display: inline-block;
}

input,
textarea,
.uneditable-input {
	margin-left: 0;
}

.controls-row [class*="span"] + [class*="span"] {
	margin-left: 20px;
}

input.span12,
textarea.span12,
.uneditable-input.span12 {
	width: 926px;
}

input.span11,
textarea.span11,
.uneditable-input.span11 {
	width: 846px;
}

input.span10,
textarea.span10,
.uneditable-input.span10 {
	width: 766px;
}

input.span9,
textarea.span9,
.uneditable-input.span9 {
	width: 686px;
}

input.span8,
textarea.span8,
.uneditable-input.span8 {
	width: 606px;
}

input.span7,
textarea.span7,
.uneditable-input.span7 {
	width: 526px;
}

input.span6,
textarea.span6,
.uneditable-input.span6 {
	width: 446px;
}

input.span5,
textarea.span5,
.uneditable-input.span5 {
	width: 366px;
}

input.span4,
textarea.span4,
.uneditable-input.span4 {
	width: 286px;
}

input.span3,
textarea.span3,
.uneditable-input.span3 {
	width: 206px;
}

input.span2,
textarea.span2,
.uneditable-input.span2 {
	width: 126px;
}

input.span1,
textarea.span1,
.uneditable-input.span1 {
	width: 46px;
}

.controls-row {
	*zoom: 1;
}

.controls-row:before,
.controls-row:after {
	display: table;
	line-height: 0;
	content: "";
}

.controls-row:after {
	clear: both;
}

.controls-row [class*="span"],
.row-fluid .controls-row [class*="span"] {
	float: left;
}

.controls-row .checkbox[class*="span"],
.controls-row .radio[class*="span"] {
	padding-top: 5px;
}

input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
	cursor: not-allowed;
	background-color: #eeeeee;
}

input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"][readonly],
input[type="checkbox"][readonly] {
	background-color: transparent;
}

.control-group.warning .control-label,
.control-group.warning .help-block,
.control-group.warning .help-inline {
	color: #c09853;
}

.control-group.warning .checkbox,
.control-group.warning .radio,
.control-group.warning input,
.control-group.warning select,
.control-group.warning textarea {
	color: #c09853;
}

.control-group.warning input,
.control-group.warning select,
.control-group.warning textarea {
	border-color: #c09853;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.control-group.warning input:focus,
.control-group.warning select:focus,
.control-group.warning textarea:focus {
	border-color: #a47e3c;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
	-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
}

.control-group.warning .input-prepend .add-on,
.control-group.warning .input-append .add-on {
	color: #c09853;
	background-color: #fcf8e3;
	border-color: #c09853;
}

.control-group.error .control-label,
.control-group.error .help-block,
.control-group.error .help-inline {
	color: #b94a48;
}

.control-group.error .checkbox,
.control-group.error .radio,
.control-group.error input,
.control-group.error select,
.control-group.error textarea {
	color: #b94a48;
}

.control-group.error input,
.control-group.error select,
.control-group.error textarea {
	border-color: #b94a48;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.control-group.error input:focus,
.control-group.error select:focus,
.control-group.error textarea:focus {
	border-color: #953b39;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
	-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
}

.control-group.error .input-prepend .add-on,
.control-group.error .input-append .add-on {
	color: #b94a48;
	background-color: #f2dede;
	border-color: #b94a48;
}

.control-group.success .control-label,
.control-group.success .help-block,
.control-group.success .help-inline {
	color: #468847;
}

.control-group.success .checkbox,
.control-group.success .radio,
.control-group.success input,
.control-group.success select,
.control-group.success textarea {
	color: #468847;
}

.control-group.success input,
.control-group.success select,
.control-group.success textarea {
	border-color: #468847;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.control-group.success input:focus,
.control-group.success select:focus,
.control-group.success textarea:focus {
	border-color: #356635;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
	-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
}

.control-group.success .input-prepend .add-on,
.control-group.success .input-append .add-on {
	color: #468847;
	background-color: #dff0d8;
	border-color: #468847;
}

.control-group.info .control-label,
.control-group.info .help-block,
.control-group.info .help-inline {
	color: #3a87ad;
}

.control-group.info .checkbox,
.control-group.info .radio,
.control-group.info input,
.control-group.info select,
.control-group.info textarea {
	color: #3a87ad;
}

.control-group.info input,
.control-group.info select,
.control-group.info textarea {
	border-color: #3a87ad;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.control-group.info input:focus,
.control-group.info select:focus,
.control-group.info textarea:focus {
	border-color: #2d6987;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
	-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
}

.control-group.info .input-prepend .add-on,
.control-group.info .input-append .add-on {
	color: #3a87ad;
	background-color: #d9edf7;
	border-color: #3a87ad;
}

input:focus:invalid,
textarea:focus:invalid,
select:focus:invalid {
	color: #b94a48;
	border-color: #ee5f5b;
}

input:focus:invalid:focus,
textarea:focus:invalid:focus,
select:focus:invalid:focus {
	border-color: #e9322d;
	-webkit-box-shadow: 0 0 6px #f8b9b7;
	-moz-box-shadow: 0 0 6px #f8b9b7;
	box-shadow: 0 0 6px #f8b9b7;
}

.form-actions {
	padding: 19px 20px 20px;
	margin-top: 20px;
	margin-bottom: 20px;
	background-color: #f5f5f5;
	border-top: 1px solid #e5e5e5;
}

.form-actions:before,
.form-actions:after {
	display: table;
	line-height: 0;
	content: "";
}

.form-actions:after {
	clear: both;
}

.help-block,
.help-inline {
	color: #595959;
}

.help-block {
	display: block;
	margin-bottom: 10px;
}

.help-inline {
	display: inline-block;
	padding-left: 5px;
	vertical-align: middle;
}

.input-append,
.input-prepend {
	display: inline-block;
	margin-bottom: 10px;
	font-size: 0;
	white-space: nowrap;
	vertical-align: middle;
}

.input-append input,
.input-prepend input,
.input-append select,
.input-prepend select,
.input-append .uneditable-input,
.input-prepend .uneditable-input,
.input-append .dropdown-menu,
.input-prepend .dropdown-menu,
.input-append .popover,
.input-prepend .popover {
	font-size: 14px;
}

.input-append input,
.input-prepend input,
.input-append select,
.input-prepend select,
.input-append .uneditable-input,
.input-prepend .uneditable-input {
	position: relative;
	margin-bottom: 0;
	*margin-left: 0;
	vertical-align: top;
	-webkit-border-radius: 0 4px 4px 0;
	-moz-border-radius: 0 4px 4px 0;
	border-radius: 0 4px 4px 0;
}

.input-append input:focus,
.input-prepend input:focus,
.input-append select:focus,
.input-prepend select:focus,
.input-append .uneditable-input:focus,
.input-prepend .uneditable-input:focus {
	z-index: 2;
}

.input-append .add-on,
.input-prepend .add-on {
	display: inline-block;
	width: auto;
	height: 20px;
	min-width: 16px;
	padding: 4px 5px;
	font-size: 14px;
	font-weight: normal;
	line-height: 20px;
	text-align: center;
	text-shadow: 0 1px 0 #ffffff;
	background-color: #eeeeee;
	border: 1px solid #ccc;
}

.input-append .add-on,
.input-prepend .add-on,
.input-append .btn,
.input-prepend .btn,
.input-append .btn-group > .dropdown-toggle,
.input-prepend .btn-group > .dropdown-toggle {
	vertical-align: top;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

.input-append .active,
.input-prepend .active {
	background-color: #a9dba9;
	border-color: #46a546;
}

.input-prepend .add-on,
.input-prepend .btn {
	margin-right: -1px;
}

.input-prepend .add-on:first-child,
.input-prepend .btn:first-child {
	-webkit-border-radius: 4px 0 0 4px;
	-moz-border-radius: 4px 0 0 4px;
	border-radius: 4px 0 0 4px;
}

.input-append input,
.input-append select,
.input-append .uneditable-input {
	-webkit-border-radius: 4px 0 0 4px;
	-moz-border-radius: 4px 0 0 4px;
	border-radius: 4px 0 0 4px;
}

.input-append input + .btn-group .btn:last-child,
.input-append select + .btn-group .btn:last-child,
.input-append .uneditable-input + .btn-group .btn:last-child {
	-webkit-border-radius: 0 4px 4px 0;
	-moz-border-radius: 0 4px 4px 0;
	border-radius: 0 4px 4px 0;
}

.input-append .add-on,
.input-append .btn,
.input-append .btn-group {
	margin-left: -1px;
}

.input-append .add-on:last-child,
.input-append .btn:last-child,
.input-append .btn-group:last-child > .dropdown-toggle {
	-webkit-border-radius: 0 4px 4px 0;
	-moz-border-radius: 0 4px 4px 0;
	border-radius: 0 4px 4px 0;
}

.input-prepend.input-append input,
.input-prepend.input-append select,
.input-prepend.input-append .uneditable-input {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

.input-prepend.input-append input + .btn-group .btn,
.input-prepend.input-append select + .btn-group .btn,
.input-prepend.input-append .uneditable-input + .btn-group .btn {
	-webkit-border-radius: 0 4px 4px 0;
	-moz-border-radius: 0 4px 4px 0;
	border-radius: 0 4px 4px 0;
}

.input-prepend.input-append .add-on:first-child,
.input-prepend.input-append .btn:first-child {
	margin-right: -1px;
	-webkit-border-radius: 4px 0 0 4px;
	-moz-border-radius: 4px 0 0 4px;
	border-radius: 4px 0 0 4px;
}

.input-prepend.input-append .add-on:last-child,
.input-prepend.input-append .btn:last-child {
	margin-left: -1px;
	-webkit-border-radius: 0 4px 4px 0;
	-moz-border-radius: 0 4px 4px 0;
	border-radius: 0 4px 4px 0;
}

.input-prepend.input-append .btn-group:first-child {
	margin-left: 0;
}

input.search-query {
	padding-right: 14px;
	padding-left: 14px;

	margin-bottom: 0;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	border-radius: 15px;
}

/* Allow for input prepend/append in search forms */

.form-search .input-append .search-query,
.form-search .input-prepend .search-query {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

.form-search .input-append .search-query {
	-webkit-border-radius: 14px 0 0 14px;
	-moz-border-radius: 14px 0 0 14px;
	border-radius: 14px 0 0 14px;
}

.form-search .input-append .btn {
	-webkit-border-radius: 0 14px 14px 0;
	-moz-border-radius: 0 14px 14px 0;
	border-radius: 0 14px 14px 0;
}

.form-search .input-prepend .search-query {
	-webkit-border-radius: 0 14px 14px 0;
	-moz-border-radius: 0 14px 14px 0;
	border-radius: 0 14px 14px 0;
}

.form-search .input-prepend .btn {
	-webkit-border-radius: 14px 0 0 14px;
	-moz-border-radius: 14px 0 0 14px;
	border-radius: 14px 0 0 14px;
}

.form-search input,
.form-inline input,
.form-horizontal input,
.form-search textarea,
.form-inline textarea,
.form-horizontal textarea,
.form-search select,
.form-inline select,
.form-horizontal select,
.form-search .help-inline,
.form-inline .help-inline,
.form-horizontal .help-inline,
.form-search .uneditable-input,
.form-inline .uneditable-input,
.form-horizontal .uneditable-input,
.form-search .input-prepend,
.form-inline .input-prepend,
.form-horizontal .input-prepend,
.form-search .input-append,
.form-inline .input-append,
.form-horizontal .input-append {
	display: inline-block;
	margin-bottom: 0;
	vertical-align: middle;
}

.form-search .hide,
.form-inline .hide,
.form-horizontal .hide {
	display: none;
}

.form-search label,
.form-inline label,
.form-search .btn-group,
.form-inline .btn-group {
	display: inline-block;
}

.form-search .input-append,
.form-inline .input-append,
.form-search .input-prepend,
.form-inline .input-prepend {
	margin-bottom: 0;
}

.form-search .radio,
.form-search .checkbox,
.form-inline .radio,
.form-inline .checkbox {
	padding-left: 0;
	margin-bottom: 0;
	vertical-align: middle;
}

.form-search .radio input[type="radio"],
.form-search .checkbox input[type="checkbox"],
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
	float: left;
	margin-right: 3px;
	margin-left: 0;
}

.control-group {
	margin-bottom: 10px;
}

legend + .control-group {
	margin-top: 20px;
	-webkit-margin-top-collapse: separate;
}

.form-horizontal .control-group {
	margin-bottom: 20px;
	*zoom: 1;
}

.form-horizontal .control-group:before,
.form-horizontal .control-group:after {
	display: table;
	line-height: 0;
	content: "";
}

.form-horizontal .control-group:after {
	clear: both;
}

.form-horizontal .control-label {
	float: left;
	width: 160px;
	padding-top: 5px;
	text-align: right;
}

.form-horizontal .controls {
	*display: inline-block;
	*padding-left: 20px;
	margin-left: 180px;
	*margin-left: 0;
}

.form-horizontal .controls:first-child {
	*padding-left: 180px;
}

.form-horizontal .help-block {
	margin-bottom: 0;
}

.form-horizontal input + .help-block,
.form-horizontal select + .help-block,
.form-horizontal textarea + .help-block,
.form-horizontal .uneditable-input + .help-block,
.form-horizontal .input-prepend + .help-block,
.form-horizontal .input-append + .help-block {
	margin-top: 10px;
}

.form-horizontal .form-actions {
	padding-left: 180px;
}

table {
	max-width: 100%;
	background-color: transparent;
	border-collapse: collapse;
	border-spacing: 0;
}

.table {
	border: 0 solid;
	width: 100%;
	margin-bottom: 20px;
}

.table th,
.table td {
	padding: 8px;
	line-height: 20px;
	text-align: left;
	vertical-align: top;
	border: 0 solid;
	border-top: 1px solid #dddddd;
	background-color: transparent;
}

.table th {
	font-weight: bold;
}

.table thead th {
	vertical-align: bottom;
}

.table caption + thead tr:first-child th,
.table caption + thead tr:first-child td,
.table colgroup + thead tr:first-child th,
.table colgroup + thead tr:first-child td,
.table thead:first-child tr:first-child th,
.table thead:first-child tr:first-child td {
	border-top: 0;
}

.table tbody + tbody {
	border-top: 2px solid #dddddd;
}

.table .table {
	background-color: #ffffff;
}

.table-condensed th,
.table-condensed td {
	padding: 4px 5px;
}

.table-bordered {
	border: 1px solid #dddddd;
	border-collapse: separate;
	border-left: 0;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

.table-bordered th,
.table-bordered td {
	border-left: 1px solid #dddddd;
}

.table-bordered caption + thead tr:first-child th,
.table-bordered caption + tbody tr:first-child th,
.table-bordered caption + tbody tr:first-child td,
.table-bordered colgroup + thead tr:first-child th,
.table-bordered colgroup + tbody tr:first-child th,
.table-bordered colgroup + tbody tr:first-child td,
.table-bordered thead:first-child tr:first-child th,
.table-bordered tbody:first-child tr:first-child th,
.table-bordered tbody:first-child tr:first-child td {
	border-top: 0;
}

.table-bordered thead:first-child tr:first-child > th:first-child,
.table-bordered tbody:first-child tr:first-child > td:first-child,
.table-bordered tbody:first-child tr:first-child > th:first-child {
	-webkit-border-top-left-radius: 4px;
	border-top-left-radius: 4px;
	-moz-border-radius-topleft: 4px;
}

.table-bordered thead:first-child tr:first-child > th:last-child,
.table-bordered tbody:first-child tr:first-child > td:last-child,
.table-bordered tbody:first-child tr:first-child > th:last-child {
	-webkit-border-top-right-radius: 4px;
	border-top-right-radius: 4px;
	-moz-border-radius-topright: 4px;
}

.table-bordered thead:last-child tr:last-child > th:first-child,
.table-bordered tbody:last-child tr:last-child > td:first-child,
.table-bordered tbody:last-child tr:last-child > th:first-child,
.table-bordered tfoot:last-child tr:last-child > td:first-child,
.table-bordered tfoot:last-child tr:last-child > th:first-child {
	-webkit-border-bottom-left-radius: 4px;
	border-bottom-left-radius: 4px;
	-moz-border-radius-bottomleft: 4px;
}

.table-bordered thead:last-child tr:last-child > th:last-child,
.table-bordered tbody:last-child tr:last-child > td:last-child,
.table-bordered tbody:last-child tr:last-child > th:last-child,
.table-bordered tfoot:last-child tr:last-child > td:last-child,
.table-bordered tfoot:last-child tr:last-child > th:last-child {
	-webkit-border-bottom-right-radius: 4px;
	border-bottom-right-radius: 4px;
	-moz-border-radius-bottomright: 4px;
}

.table-bordered tfoot + tbody:last-child tr:last-child td:first-child {
	-webkit-border-bottom-left-radius: 0;
	border-bottom-left-radius: 0;
	-moz-border-radius-bottomleft: 0;
}

.table-bordered tfoot + tbody:last-child tr:last-child td:last-child {
	-webkit-border-bottom-right-radius: 0;
	border-bottom-right-radius: 0;
	-moz-border-radius-bottomright: 0;
}

.table-bordered caption + thead tr:first-child th:first-child,
.table-bordered caption + tbody tr:first-child td:first-child,
.table-bordered colgroup + thead tr:first-child th:first-child,
.table-bordered colgroup + tbody tr:first-child td:first-child {
	-webkit-border-top-left-radius: 4px;
	border-top-left-radius: 4px;
	-moz-border-radius-topleft: 4px;
}

.table-bordered caption + thead tr:first-child th:last-child,
.table-bordered caption + tbody tr:first-child td:last-child,
.table-bordered colgroup + thead tr:first-child th:last-child,
.table-bordered colgroup + tbody tr:first-child td:last-child {
	-webkit-border-top-right-radius: 4px;
	border-top-right-radius: 4px;
	-moz-border-radius-topright: 4px;
}

.table-striped tbody > tr:nth-child(odd) > td,
.table-striped tbody > tr:nth-child(odd) > th {
	background-color: #f9f9f9;
}

.table-hover tbody tr:hover > td,
.table-hover tbody tr:hover > th {
	background-color: #f5f5f5;
}

table td[class*="span"],
table th[class*="span"],
.row-fluid table td[class*="span"],
.row-fluid table th[class*="span"] {
	display: table-cell;
	float: none;
	margin-left: 0;
}

.table td.span1,
.table th.span1 {
	float: none;
	width: 44px;
	margin-left: 0;
}

.table td.span2,
.table th.span2 {
	float: none;
	width: 124px;
	margin-left: 0;
}

.table td.span3,
.table th.span3 {
	float: none;
	width: 204px;
	margin-left: 0;
}

.table td.span4,
.table th.span4 {
	float: none;
	width: 284px;
	margin-left: 0;
}

.table td.span5,
.table th.span5 {
	float: none;
	width: 364px;
	margin-left: 0;
}

.table td.span6,
.table th.span6 {
	float: none;
	width: 444px;
	margin-left: 0;
}

.table td.span7,
.table th.span7 {
	float: none;
	width: 524px;
	margin-left: 0;
}

.table td.span8,
.table th.span8 {
	float: none;
	width: 604px;
	margin-left: 0;
}

.table td.span9,
.table th.span9 {
	float: none;
	width: 684px;
	margin-left: 0;
}

.table td.span10,
.table th.span10 {
	float: none;
	width: 764px;
	margin-left: 0;
}

.table td.span11,
.table th.span11 {
	float: none;
	width: 844px;
	margin-left: 0;
}

.table td.span12,
.table th.span12 {
	float: none;
	width: 924px;
	margin-left: 0;
}

.table tbody tr.success > td {
	background-color: #dff0d8;
}

.table tbody tr.error > td {
	background-color: #f2dede;
}

.table tbody tr.warning > td {
	background-color: #fcf8e3;
}

.table tbody tr.info > td {
	background-color: #d9edf7;
}

.table-hover tbody tr.success:hover > td {
	background-color: #d0e9c6;
}

.table-hover tbody tr.error:hover > td {
	background-color: #ebcccc;
}

.table-hover tbody tr.warning:hover > td {
	background-color: #faf2cc;
}

.table-hover tbody tr.info:hover > td {
	background-color: #c4e3f3;
}

.dropup,
.dropdown {
	position: relative;
}

.dropdown-toggle:active,
.open .dropdown-toggle {
	outline: 0;
}

.caret {
	display: inline-block;
	width: 0;
	height: 0;
	vertical-align: top;
	border-top: 4px solid #000000;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
	content: "";
}

.dropdown .caret {
	margin-top: 8px;
	margin-left: 2px;
}

.dropdown-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 1000;
	display: none;
	float: left;
	min-width: 160px;
	padding: 5px 0;
	margin: 2px 0 0;
	list-style: none;
	background-color: #ffffff;
	border: 1px solid #ccc;
	border: 1px solid rgba(0, 0, 0, 0.2);
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
	-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
	-webkit-background-clip: padding-box;
	-moz-background-clip: padding;
	background-clip: padding-box;
}

.dropdown-menu.pull-right {
	right: 0;
	left: auto;
}

.dropdown-menu .divider {
	height: 1px;
	margin: 9px 1px;
	overflow: hidden;
	background-color: #e5e5e5;
	border-bottom: 1px solid #ffffff;
}

.dropdown-menu > li > a {
	display: block;
	padding: 3px 20px;
	clear: both;
	font-weight: normal;
	line-height: 20px;
	color: #333333;
	white-space: nowrap;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-submenu:hover > a,
.dropdown-submenu:focus > a {
	color: #ffffff;
	text-decoration: none;
	background-color: #0081c2;
	background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
	background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
	background-image: -o-linear-gradient(top, #0088cc, #0077b3);
	background-image: linear-gradient(to bottom, #0088cc, #0077b3);
	background-repeat: repeat-x;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
}

.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
	color: #ffffff;
	text-decoration: none;
	background-color: #0081c2;
	background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
	background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
	background-image: -o-linear-gradient(top, #0088cc, #0077b3);
	background-image: linear-gradient(to bottom, #0088cc, #0077b3);
	background-repeat: repeat-x;
	outline: 0;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
}

.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
	color: #999999;
}

.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
	text-decoration: none;
	cursor: default;
	background-color: transparent;
	background-image: none;
	filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}

.open > .dropdown-menu {
	display: block;
}

.dropdown-backdrop {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 990;
}

.pull-right > .dropdown-menu {
	right: 0;
	left: auto;
}

.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
	border-top: 0;
	border-bottom: 4px solid #000000;
	content: "";
}

.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
	top: auto;
	bottom: 100%;
	margin-bottom: 1px;
}

.dropdown-submenu {
	position: relative;
}

.dropdown-submenu > .dropdown-menu {
	top: 0;
	left: 100%;
	margin-top: -6px;
	margin-left: -1px;
	-webkit-border-radius: 0 6px 6px 6px;
	-moz-border-radius: 0 6px 6px 6px;
	border-radius: 0 6px 6px 6px;
}

.dropdown-submenu:hover > .dropdown-menu {
	display: block;
}

.dropup .dropdown-submenu > .dropdown-menu {
	top: auto;
	bottom: 0;
	margin-top: 0;
	margin-bottom: -2px;
	-webkit-border-radius: 5px 5px 5px 0;
	-moz-border-radius: 5px 5px 5px 0;
	border-radius: 5px 5px 5px 0;
}

.dropdown-submenu > a:after {
	display: block;
	float: right;
	width: 0;
	height: 0;
	margin-top: 5px;
	margin-right: -10px;
	border-color: transparent;
	border-left-color: #cccccc;
	border-style: solid;
	border-width: 5px 0 5px 5px;
	content: " ";
}

.dropdown-submenu:hover > a:after {
	border-left-color: #ffffff;
}

.dropdown-submenu.pull-left {
	float: none;
}

.dropdown-submenu.pull-left > .dropdown-menu {
	left: -100%;
	margin-left: 10px;
	-webkit-border-radius: 6px 0 6px 6px;
	-moz-border-radius: 6px 0 6px 6px;
	border-radius: 6px 0 6px 6px;
}

.dropdown .dropdown-menu .nav-header {
	padding-right: 20px;
	padding-left: 20px;
}

.typeahead {
	z-index: 1051;
	margin-top: 2px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

.well {
	min-height: 20px;
	padding: 19px;
	margin-bottom: 20px;
	background-color: #f5f5f5;
	border: 1px solid #e3e3e3;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
	-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}

.well blockquote {
	border-color: #ddd;
	border-color: rgba(0, 0, 0, 0.15);
}

.well-large {
	padding: 24px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
}

.well-small {
	padding: 9px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

.fade {
	opacity: 0;
	-webkit-transition: opacity 0.15s linear;
	-moz-transition: opacity 0.15s linear;
	-o-transition: opacity 0.15s linear;
	transition: opacity 0.15s linear;
}

.fade.in {
	opacity: 1;
}

.collapse {
	position: relative;
	height: 0;
	overflow: hidden;
	-webkit-transition: height 0.35s ease;
	-moz-transition: height 0.35s ease;
	-o-transition: height 0.35s ease;
	transition: height 0.35s ease;
}

.collapse.in {
	height: auto;
}

.close {
	float: right;
	font-size: 20px;
	font-weight: bold;
	line-height: 20px;
	color: #000000;
	text-shadow: 0 1px 0 #ffffff;
	opacity: 0.2;
	filter: alpha(opacity=20);
}

.close:hover,
.close:focus {
	color: #000000;
	text-decoration: none;
	cursor: pointer;
	opacity: 0.4;
	filter: alpha(opacity=40);
}

button.close {
	padding: 0;
	cursor: pointer;
	background: transparent;
	border: 0;
	-webkit-appearance: none;
}

.btn {
	display: inline-block;
	padding: 4px 12px;
	margin-bottom: 0;
	font-size: 14px;
	line-height: 20px;
	color: #333333;
	text-align: center;
	text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
	vertical-align: middle;
	cursor: pointer;
	background-color: #f5f5f5;
	background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
	background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
	background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
	background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
	background-repeat: repeat-x;
	border: 1px solid #cccccc;
	border-color: #e6e6e6 #e6e6e6 #bfbfbf;
	border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
	border-bottom-color: #b3b3b3;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
	filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
	-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
	-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
}

.btn:hover,
.btn:focus,
.btn:active,
.btn.active,
.btn.disabled,
.btn[disabled] {
	color: #333333;
	background-color: #e6e6e6;
}

.btn:hover,
.btn:focus {
	color: #333333;
	text-decoration: none;
	background-position: 0 -15px;
	-webkit-transition: background-position 0.1s linear;
	-moz-transition: background-position 0.1s linear;
	-o-transition: background-position 0.1s linear;
	transition: background-position 0.1s linear;
}

.btn:focus {
	outline: thin dotted #333;
	outline: 5px auto -webkit-focus-ring-color;
	outline-offset: -2px;
}

.btn.active,
.btn:active {
	background-image: none;
	outline: 0;
	-webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
	-moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
}

.btn.disabled,
.btn[disabled] {
	cursor: default;
	background-image: none;
	opacity: 0.65;
	filter: alpha(opacity=65);
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

.btn-large {
	padding: 11px 19px;
	font-size: 17.5px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
}

.btn-large [class^="icon-"],
.btn-large [class*=" icon-"] {
	margin-top: 4px;
}

.btn-small {
	padding: 2px 10px;
	font-size: 11.9px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

.btn-small [class^="icon-"],
.btn-small [class*=" icon-"] {
	margin-top: 0;
}

.btn-mini [class^="icon-"],
.btn-mini [class*=" icon-"] {
	margin-top: -1px;
}

.btn-mini {
	padding: 0 6px;
	font-size: 10.5px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

.btn-block {
	display: block;
	width: 100%;
	padding-right: 0;
	padding-left: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.btn-block + .btn-block {
	margin-top: 5px;
}

input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
	width: 100%;
}

.btn-primary.active,
.btn-warning.active,
.btn-danger.active,
.btn-success.active,
.btn-info.active,
.btn-inverse.active {
	color: rgba(255, 255, 255, 0.75);
}

.btn-primary {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #006dcc;
	background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
	background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
	background-image: -o-linear-gradient(top, #0088cc, #0044cc);
	background-image: linear-gradient(to bottom, #0088cc, #0044cc);
	background-repeat: repeat-x;
	border-color: #0044cc #0044cc #002a80;
	border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);
	filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary.disabled,
.btn-primary[disabled] {
	color: #ffffff;
	background-color: #0044cc;
}

.btn-warning {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #faa732;
	background-image: -moz-linear-gradient(top, #fbb450, #f89406);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
	background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
	background-image: -o-linear-gradient(top, #fbb450, #f89406);
	background-image: linear-gradient(to bottom, #fbb450, #f89406);
	background-repeat: repeat-x;
	border-color: #f89406 #f89406 #ad6704;
	border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
	filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn-warning.active,
.btn-warning.disabled,
.btn-warning[disabled] {
	color: #ffffff;
	background-color: #f89406;
}

.btn-danger {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #da4f49;
	background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
	background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
	background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
	background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
	background-repeat: repeat-x;
	border-color: #bd362f #bd362f #802420;
	border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);
	filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
.btn-danger.active,
.btn-danger.disabled,
.btn-danger[disabled] {
	color: #ffffff;
	background-color: #bd362f;
}

.btn-success {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #5bb75b;
	*background-color: #51a351;
	background-image: -moz-linear-gradient(top, #62c462, #51a351);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
	background-image: -webkit-linear-gradient(top, #62c462, #51a351);
	background-image: -o-linear-gradient(top, #62c462, #51a351);
	background-image: linear-gradient(to bottom, #62c462, #51a351);
	background-repeat: repeat-x;
	border-color: #51a351 #51a351 #387038;
	border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);
	filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active,
.btn-success.disabled,
.btn-success[disabled] {
	color: #ffffff;
	background-color: #51a351;
}

.btn-info {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #49afcd;
	background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
	background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
	background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
	background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
	background-repeat: repeat-x;
	border-color: #2f96b4 #2f96b4 #1f6377;
	border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
	filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}

.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-info.active,
.btn-info.disabled,
.btn-info[disabled] {
	color: #ffffff;
	background-color: #2f96b4;
}

.btn-inverse {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #363636;
	background-image: -moz-linear-gradient(top, #444444, #222222);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
	background-image: -webkit-linear-gradient(top, #444444, #222222);
	background-image: -o-linear-gradient(top, #444444, #222222);
	background-image: linear-gradient(to bottom, #444444, #222222);
	background-repeat: repeat-x;
	border-color: #222222 #222222 #000000;
	border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);
	filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}

.btn-inverse:hover,
.btn-inverse:focus,
.btn-inverse:active,
.btn-inverse.active,
.btn-inverse.disabled,
.btn-inverse[disabled] {
	color: #ffffff;
	background-color: #222222;
}

button.btn::-moz-focus-inner,
input[type="submit"].btn::-moz-focus-inner {
	padding: 0;
	border: 0;
}

.btn-link,
.btn-link:active,
.btn-link[disabled] {
	background-color: transparent;
	background-image: none;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

.btn-link {
	color: #0088cc;
	cursor: pointer;
	border-color: transparent;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

.btn-link:hover,
.btn-link:focus {
	color: #005580;
	text-decoration: underline;
	background-color: transparent;
}

.btn-link[disabled]:hover,
.btn-link[disabled]:focus {
	color: #333333;
	text-decoration: none;
}

.btn-group {
	position: relative;
	display: inline-block;
	font-size: 0;
	white-space: nowrap;
	vertical-align: middle;
}

.btn-group + .btn-group {
	margin-left: 5px;
}

.btn-toolbar {
	margin-top: 10px;
	margin-bottom: 10px;
	font-size: 0;
}

.btn-toolbar > .btn + .btn,
.btn-toolbar > .btn-group + .btn,
.btn-toolbar > .btn + .btn-group {
	margin-left: 5px;
}

.btn-group > .btn {
	position: relative;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

.btn-group > .btn + .btn {
	margin-left: -1px;
}

.btn-group > .btn,
.btn-group > .dropdown-menu,
.btn-group > .popover {
	font-size: 14px;
}

.btn-group > .btn-mini {
	font-size: 10.5px;
}

.btn-group > .btn-small {
	font-size: 11.9px;
}

.btn-group > .btn-large {
	font-size: 17.5px;
}

.btn-group > .btn:first-child {
	margin-left: 0;
	-webkit-border-bottom-left-radius: 4px;
	border-bottom-left-radius: 4px;
	-webkit-border-top-left-radius: 4px;
	border-top-left-radius: 4px;
	-moz-border-radius-bottomleft: 4px;
	-moz-border-radius-topleft: 4px;
}

.btn-group > .btn:last-child,
.btn-group > .dropdown-toggle {
	-webkit-border-top-right-radius: 4px;
	border-top-right-radius: 4px;
	-webkit-border-bottom-right-radius: 4px;
	border-bottom-right-radius: 4px;
	-moz-border-radius-topright: 4px;
	-moz-border-radius-bottomright: 4px;
}

.btn-group > .btn.large:first-child {
	margin-left: 0;
	-webkit-border-bottom-left-radius: 6px;
	border-bottom-left-radius: 6px;
	-webkit-border-top-left-radius: 6px;
	border-top-left-radius: 6px;
	-moz-border-radius-bottomleft: 6px;
	-moz-border-radius-topleft: 6px;
}

.btn-group > .btn.large:last-child,
.btn-group > .large.dropdown-toggle {
	-webkit-border-top-right-radius: 6px;
	border-top-right-radius: 6px;
	-webkit-border-bottom-right-radius: 6px;
	border-bottom-right-radius: 6px;
	-moz-border-radius-topright: 6px;
	-moz-border-radius-bottomright: 6px;
}

.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active {
	z-index: 2;
}

.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
	outline: 0;
}

.btn-group > .btn + .dropdown-toggle {
	padding-right: 8px;
	padding-left: 8px;
	-webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
	-moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
	box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
}

.btn-group > .btn-mini + .dropdown-toggle {
	padding-right: 5px;
	padding-left: 5px;
}

.btn-group > .btn-large + .dropdown-toggle {
	padding-right: 12px;
	padding-left: 12px;
}

.btn-group.open .dropdown-toggle {
	background-image: none;
	-webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
	-moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
}

.btn-group.open .btn.dropdown-toggle {
	background-color: #e6e6e6;
}

.btn-group.open .btn-primary.dropdown-toggle {
	background-color: #0044cc;
}

.btn-group.open .btn-warning.dropdown-toggle {
	background-color: #f89406;
}

.btn-group.open .btn-danger.dropdown-toggle {
	background-color: #bd362f;
}

.btn-group.open .btn-success.dropdown-toggle {
	background-color: #51a351;
}

.btn-group.open .btn-info.dropdown-toggle {
	background-color: #2f96b4;
}

.btn-group.open .btn-inverse.dropdown-toggle {
	background-color: #222222;
}

.btn .caret {
	margin-top: 8px;
	margin-left: 0;
}

.btn-large .caret {
	margin-top: 6px;
}

.btn-large .caret {
	border-top-width: 5px;
	border-right-width: 5px;
	border-left-width: 5px;
}

.btn-mini .caret,
.btn-small .caret {
	margin-top: 8px;
}

.dropup .btn-large .caret {
	border-bottom-width: 5px;
}

.btn-primary .caret,
.btn-warning .caret,
.btn-danger .caret,
.btn-info .caret,
.btn-success .caret,
.btn-inverse .caret {
	border-top-color: #ffffff;
	border-bottom-color: #ffffff;
}

.btn-group-vertical {
	display: inline-block;
}

.btn-group-vertical > .btn {
	display: block;
	float: none;
	max-width: 100%;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

.btn-group-vertical > .btn + .btn {
	margin-top: -1px;
	margin-left: 0;
}

.btn-group-vertical > .btn:first-child {
	-webkit-border-radius: 4px 4px 0 0;
	-moz-border-radius: 4px 4px 0 0;
	border-radius: 4px 4px 0 0;
}

.btn-group-vertical > .btn:last-child {
	-webkit-border-radius: 0 0 4px 4px;
	-moz-border-radius: 0 0 4px 4px;
	border-radius: 0 0 4px 4px;
}

.btn-group-vertical > .btn-large:first-child {
	-webkit-border-radius: 6px 6px 0 0;
	-moz-border-radius: 6px 6px 0 0;
	border-radius: 6px 6px 0 0;
}

.btn-group-vertical > .btn-large:last-child {
	-webkit-border-radius: 0 0 6px 6px;
	-moz-border-radius: 0 0 6px 6px;
	border-radius: 0 0 6px 6px;
}

.alert {
	padding: 8px 35px 8px 14px;
	margin-bottom: 20px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  background-color: #fcf8e3;
  border: 1px solid #fbeed5;
  -webkit-border-radius: 4px;
     -moz-border-radius: 4px;
          border-radius: 4px;
}

.alert,
.alert h4 {
  color: #c09853;
}

.alert h4 {
	margin: 0;
}

.alert .close {
	top: -2px;
	right: -21px;
	line-height: 20px;
}

.alert-success {
  color: #468847;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}

.alert-success h4 {
  color: #468847;
}

.alert-danger,
.alert-error {
  color: #b94a48;
  background-color: #f2dede;
  border-color: #eed3d7;
}

.alert-danger h4,
.alert-error h4 {
  color: #b94a48;
}

.alert-info {
  color: #3a87ad;
  background-color: #d9edf7;
  border-color: #bce8f1;
}

.alert-info h4 {
  color: #3a87ad;
}

.alert-block {
	padding-top: 14px;
	padding-bottom: 14px;
}

.alert-block > p,
.alert-block > ul {
	margin-bottom: 0;
}

.alert-block p + p {
	margin-top: 5px;
}

.nav {
	margin-bottom: 20px;
	margin-left: 0;
	list-style: none;
}

.nav > li > a {
	display: block;
}

.nav > li > a:hover,
.nav > li > a:focus {
	text-decoration: none;
	/*background-color: #eeeeee;*/
}

.nav > li > a > img {
	max-width: none;
}

.nav > .pull-right {
	float: right;
}

.nav-header {
	display: block;
	padding: 3px 15px;
	font-size: 11px;
	font-weight: bold;
	line-height: 20px;
	color: #999999;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
	text-transform: uppercase;
}

.nav li + .nav-header {
	margin-top: 9px;
}

.nav-list {
	padding-right: 15px;
	padding-left: 15px;
	margin-bottom: 0;
}

.nav-list > li > a,
.nav-list .nav-header {
	margin-right: -15px;
	margin-left: -15px;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}

.nav-list > li > a {
	padding: 3px 15px;
}

.nav-list > .active > a,
.nav-list > .active > a:hover,
.nav-list > .active > a:focus {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
	background-color: #0088cc;
}

.nav-list [class^="icon-"],
.nav-list [class*=" icon-"] {
	margin-right: 2px;
}

.nav-list .divider {
	height: 1px;
	margin: 9px 1px;
	overflow: hidden;
	background-color: #e5e5e5;
	border-bottom: 1px solid #ffffff;
}

.nav-tabs,
.nav-pills {
	*zoom: 1;
}

.nav-tabs:before,
.nav-pills:before,
.nav-tabs:after,
.nav-pills:after {
	display: table;
	line-height: 0;
	content: "";
}

.nav-tabs:after,
.nav-pills:after {
	clear: both;
}

.nav-tabs > li,
.nav-pills > li {
	float: left;
}

.nav-tabs > li > a,
.nav-pills > li > a {
	padding-right: 12px;
	padding-left: 12px;
	margin-right: 2px;
	line-height: 14px;
}

.nav-tabs {
	border-bottom: 1px solid #ddd;
}

.nav-tabs > li {
	margin-bottom: -1px;
}

.nav-tabs > li > a {
	padding-top: 8px;
	padding-bottom: 8px;
	line-height: 20px;
	border: 1px solid transparent;
	-webkit-border-radius: 4px 4px 0 0;
	-moz-border-radius: 4px 4px 0 0;
	border-radius: 4px 4px 0 0;
}

.nav-tabs > li > a:hover,
.nav-tabs > li > a:focus {
	border-color: #eeeeee #eeeeee #dddddd;
}

.nav-tabs > .active > a,
.nav-tabs > .active > a:hover,
.nav-tabs > .active > a:focus {
	color: #555555;
	cursor: default;
	background-color: #ffffff;
	border: 1px solid #ddd;
	border-bottom-color: transparent;
}

.nav-pills > li > a {
	padding-top: 8px;
	padding-bottom: 8px;
	margin-top: 2px;
	margin-bottom: 2px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}

.nav-pills > .active > a,
.nav-pills > .active > a:hover,
.nav-pills > .active > a:focus {
	color: #ffffff;
	background-color: #0088cc;
}

.nav-stacked > li {
	float: none;
}

.nav-stacked > li > a {
	margin-right: 0;
}

.nav-tabs.nav-stacked {
	border-bottom: 0;
}

.nav-tabs.nav-stacked > li > a {
	border: 1px solid #ddd;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

.nav-tabs.nav-stacked > li:first-child > a {
	-webkit-border-top-right-radius: 4px;
	border-top-right-radius: 4px;
	-webkit-border-top-left-radius: 4px;
	border-top-left-radius: 4px;
	-moz-border-radius-topright: 4px;
	-moz-border-radius-topleft: 4px;
}

.nav-tabs.nav-stacked > li:last-child > a {
	-webkit-border-bottom-right-radius: 4px;
	border-bottom-right-radius: 4px;
	-webkit-border-bottom-left-radius: 4px;
	border-bottom-left-radius: 4px;
	-moz-border-radius-bottomright: 4px;
	-moz-border-radius-bottomleft: 4px;
}

.nav-tabs.nav-stacked > li > a:hover,
.nav-tabs.nav-stacked > li > a:focus {
	z-index: 2;
	border-color: #ddd;
}

.nav-pills.nav-stacked > li > a {
	margin-bottom: 3px;
}

.nav-pills.nav-stacked > li:last-child > a {
	margin-bottom: 1px;
}

.nav-tabs .dropdown-menu {
	-webkit-border-radius: 0 0 6px 6px;
	-moz-border-radius: 0 0 6px 6px;
	border-radius: 0 0 6px 6px;
}

.nav-pills .dropdown-menu {
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
}

.nav .dropdown-toggle .caret {
	margin-top: 6px;
	border-top-color: #0088cc;
	border-bottom-color: #0088cc;
}

.nav .dropdown-toggle:hover .caret,
.nav .dropdown-toggle:focus .caret {
	border-top-color: #005580;
	border-bottom-color: #005580;
}

/* move down carets for tabs */

.nav-tabs .dropdown-toggle .caret {
	margin-top: 8px;
}

.nav .active .dropdown-toggle .caret {
	border-top-color: #fff;
	border-bottom-color: #fff;
}

.nav-tabs .active .dropdown-toggle .caret {
	border-top-color: #555555;
	border-bottom-color: #555555;
}

.nav > .dropdown.active > a:hover,
.nav > .dropdown.active > a:focus {
	cursor: pointer;
}

.nav-tabs .open .dropdown-toggle,
.nav-pills .open .dropdown-toggle,
.nav > li.dropdown.open.active > a:hover,
.nav > li.dropdown.open.active > a:focus {
	color: #ffffff;
	background-color: #999999;
	border-color: #999999;
}

.nav li.dropdown.open .caret,
.nav li.dropdown.open.active .caret,
.nav li.dropdown.open a:hover .caret,
.nav li.dropdown.open a:focus .caret {
	border-top-color: #ffffff;
	border-bottom-color: #ffffff;
	opacity: 1;
	filter: alpha(opacity=100);
}

.tabs-stacked .open > a:hover,
.tabs-stacked .open > a:focus {
	border-color: #999999;
}

.tabbable {
	*zoom: 1;
}

.tabbable:before,
.tabbable:after {
	display: table;
	line-height: 0;
	content: "";
}

.tabbable:after {
	clear: both;
}

.tab-content {
	overflow: auto;
}

.tabs-below > .nav-tabs,
.tabs-right > .nav-tabs,
.tabs-left > .nav-tabs {
	border-bottom: 0;
}

.tab-content > .tab-pane,
.pill-content > .pill-pane {
	display: none;
}

.tab-content > .active,
.pill-content > .active {
	display: block;
}

.tabs-below > .nav-tabs {
	border-top: 1px solid #ddd;
}

.tabs-below > .nav-tabs > li {
	margin-top: -1px;
	margin-bottom: 0;
}

.tabs-below > .nav-tabs > li > a {
	-webkit-border-radius: 0 0 4px 4px;
	-moz-border-radius: 0 0 4px 4px;
	border-radius: 0 0 4px 4px;
}

.tabs-below > .nav-tabs > li > a:hover,
.tabs-below > .nav-tabs > li > a:focus {
	border-top-color: #ddd;
	border-bottom-color: transparent;
}

.tabs-below > .nav-tabs > .active > a,
.tabs-below > .nav-tabs > .active > a:hover,
.tabs-below > .nav-tabs > .active > a:focus {
	border-color: transparent #ddd #ddd #ddd;
}

.tabs-left > .nav-tabs > li,
.tabs-right > .nav-tabs > li {
	float: none;
}

.tabs-left > .nav-tabs > li > a,
.tabs-right > .nav-tabs > li > a {
	min-width: 74px;
	margin-right: 0;
	margin-bottom: 3px;
}

.tabs-left > .nav-tabs {
	float: left;
	margin-right: 19px;
	border-right: 1px solid #ddd;
}

.tabs-left > .nav-tabs > li > a {
	margin-right: -1px;
	-webkit-border-radius: 4px 0 0 4px;
	-moz-border-radius: 4px 0 0 4px;
	border-radius: 4px 0 0 4px;
}

.tabs-left > .nav-tabs > li > a:hover,
.tabs-left > .nav-tabs > li > a:focus {
	border-color: #eeeeee #dddddd #eeeeee #eeeeee;
}

.tabs-left > .nav-tabs .active > a,
.tabs-left > .nav-tabs .active > a:hover,
.tabs-left > .nav-tabs .active > a:focus {
	border-color: #ddd transparent #ddd #ddd;
}

.tabs-right > .nav-tabs {
	float: right;
	margin-left: 19px;
	border-left: 1px solid #ddd;
}

.tabs-right > .nav-tabs > li > a {
	margin-left: -1px;
	-webkit-border-radius: 0 4px 4px 0;
	-moz-border-radius: 0 4px 4px 0;
	border-radius: 0 4px 4px 0;
}

.tabs-right > .nav-tabs > li > a:hover,
.tabs-right > .nav-tabs > li > a:focus {
	border-color: #eeeeee #eeeeee #eeeeee #dddddd;
}

.tabs-right > .nav-tabs .active > a,
.tabs-right > .nav-tabs .active > a:hover,
.tabs-right > .nav-tabs .active > a:focus {
	border-color: #ddd #ddd #ddd transparent;
}

.nav > .disabled > a {
	color: #999999;
}

.nav > .disabled > a:hover,
.nav > .disabled > a:focus {
	text-decoration: none;
	cursor: default;
	background-color: transparent;
}

.navbar {
	margin-bottom: 20px;
	overflow: visible;
}

.navbar-inner {
	min-height: 40px;
	padding-right: 20px;
	padding-left: 20px;
	background-color: #fafafa;
	background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));
	background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2);
	background-image: -o-linear-gradient(top, #ffffff, #f2f2f2);
	background-image: linear-gradient(to bottom, #ffffff, #f2f2f2);
	background-repeat: repeat-x;
	border: 1px solid #d4d4d4;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);
	-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
	-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
}

.navbar-inner:before,
.navbar-inner:after {
	display: table;
	line-height: 0;
	content: "";
}

.navbar-inner:after {
	clear: both;
}

.navbar .container {
  width: auto;
}

.nav-collapse.collapse {
	height: auto;
	overflow: visible;
}

.navbar .brand {
	display: block;
	float: left;
	padding: 10px 20px 10px;
	margin-left: -20px;
	font-size: 20px;
	font-weight: 200;
	color: #777777;
	text-shadow: 0 1px 0 #ffffff;
}

.navbar .brand:hover,
.navbar .brand:focus {
	text-decoration: none;
}

.navbar-text {
	margin-bottom: 0;
	line-height: 40px;
	color: #777777;
}

.navbar-link {
	color: #777777;
}

.navbar-link:hover,
.navbar-link:focus {
	color: #333333;
}

.navbar .divider-vertical {
	height: 40px;
	margin: 0 9px;
	border-right: 1px solid #ffffff;
	border-left: 1px solid #f2f2f2;
}

.navbar .btn,
.navbar .btn-group {
	margin-top: 5px;
}

.navbar .btn-group .btn,
.navbar .input-prepend .btn,
.navbar .input-append .btn,
.navbar .input-prepend .btn-group,
.navbar .input-append .btn-group {
	margin-top: 0;
}

.navbar-form {
	margin-bottom: 0;
	*zoom: 1;
}

.navbar-form:before,
.navbar-form:after {
	display: table;
	line-height: 0;
	content: "";
}

.navbar-form:after {
	clear: both;
}

.navbar-form input,
.navbar-form select,
.navbar-form .radio,
.navbar-form .checkbox {
	margin-top: 5px;
}

.navbar-form input,
.navbar-form select,
.navbar-form .btn {
	display: inline-block;
	margin-bottom: 0;
}

.navbar-form input[type="image"],
.navbar-form input[type="checkbox"],
.navbar-form input[type="radio"] {
	margin-top: 3px;
}

.navbar-form .input-append,
.navbar-form .input-prepend {
	margin-top: 5px;
	white-space: nowrap;
}

.navbar-form .input-append input,
.navbar-form .input-prepend input {
	margin-top: 0;
}

.navbar-search {
	position: relative;
	float: left;
	margin-top: 5px;
	margin-bottom: 0;
}

.navbar-search .search-query {
	padding: 4px 14px;
	margin-bottom: 0;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 13px;
	font-weight: normal;
	line-height: 1;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	border-radius: 15px;
}

.navbar-static-top {
	position: static;
	margin-bottom: 0;
}

.navbar-static-top .navbar-inner {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

.navbar-fixed-top,
.navbar-fixed-bottom {
	position: fixed;
	right: 0;
	left: 0;
	z-index: 1030;
	margin-bottom: 0;
}

.navbar-fixed-top .navbar-inner,
.navbar-static-top .navbar-inner {
	border-width: 0 0 1px;
}

.navbar-fixed-bottom .navbar-inner {
	border-width: 1px 0 0;
}

.navbar-fixed-top .navbar-inner,
.navbar-fixed-bottom .navbar-inner {
	padding-right: 0;
	padding-left: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

.navbar-static-top .container,
.navbar-fixed-top .container,
.navbar-fixed-bottom .container {
  width: 940px;
}

.navbar-fixed-top {
	top: 0;
}

.navbar-fixed-top .navbar-inner,
.navbar-static-top .navbar-inner {
	-webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
	box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
}

.navbar-fixed-bottom {
	bottom: 0;
}

.navbar-fixed-bottom .navbar-inner {
	-webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
	box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
}

.navbar .nav {
	position: relative;
	left: 0;
	display: block;
	float: left;
	margin: 0 10px 0 0;
}

.navbar .nav.pull-right {
	float: right;
	margin-right: 0;
}

.navbar .nav > li {
	float: left;
}

.navbar .nav > li > a {
	float: none;
	padding: 10px 15px 10px;
	color: #777777;
	text-decoration: none;
	text-shadow: 0 1px 0 #ffffff;
}

.navbar .nav .dropdown-toggle .caret {
	margin-top: 8px;
}

.navbar .nav > li > a:focus,
.navbar .nav > li > a:hover {
	color: #333333;
	text-decoration: none;
	background-color: transparent;
}

.navbar .nav > .active > a,
.navbar .nav > .active > a:hover,
.navbar .nav > .active > a:focus {
	color: #555555;
	text-decoration: none;
	background-color: #e5e5e5;
	-webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
	-moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
	box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
}

.navbar .btn-navbar {
	display: none;
	float: right;
	padding: 7px 10px;
	margin-right: 5px;
	margin-left: 5px;
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #ededed;
	*background-color: #e5e5e5;
	background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5));
	background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5);
	background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5);
	background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5);
	background-repeat: repeat-x;
	border-color: #e5e5e5 #e5e5e5 #bfbfbf;
	border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0);
	filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
	-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
	-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
}

.navbar .btn-navbar:hover,
.navbar .btn-navbar:focus,
.navbar .btn-navbar:active,
.navbar .btn-navbar.active,
.navbar .btn-navbar.disabled,
.navbar .btn-navbar[disabled] {
	color: #ffffff;
	background-color: #e5e5e5;
}

.navbar .btn-navbar .icon-bar {
	display: block;
	width: 18px;
	height: 2px;
	background-color: #f5f5f5;
	-webkit-border-radius: 1px;
	-moz-border-radius: 1px;
	border-radius: 1px;
	-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
	-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
}

.btn-navbar .icon-bar + .icon-bar {
	margin-top: 3px;
}

.navbar .nav > li > .dropdown-menu:before {
	position: absolute;
	top: -7px;
	left: 9px;
	display: inline-block;
	border-right: 7px solid transparent;
	border-bottom: 7px solid #ccc;
	border-left: 7px solid transparent;
	border-bottom-color: rgba(0, 0, 0, 0.2);
	content: '';
}

.navbar .nav > li > .dropdown-menu:after {
	position: absolute;
	top: -6px;
	left: 10px;
	display: inline-block;
	border-right: 6px solid transparent;
	border-bottom: 6px solid #ffffff;
	border-left: 6px solid transparent;
	content: '';
}

.navbar-fixed-bottom .nav > li > .dropdown-menu:before {
	top: auto;
	bottom: -7px;
	border-top: 7px solid #ccc;
	border-bottom: 0;
	border-top-color: rgba(0, 0, 0, 0.2);
}

.navbar-fixed-bottom .nav > li > .dropdown-menu:after {
	top: auto;
	bottom: -6px;
	border-top: 6px solid #ffffff;
	border-bottom: 0;
}

.navbar .nav li.dropdown > a:hover .caret,
.navbar .nav li.dropdown > a:focus .caret {
	border-top-color: #333333;
	border-bottom-color: #333333;
}

.navbar .nav li.dropdown.open > .dropdown-toggle,
.navbar .nav li.dropdown.active > .dropdown-toggle,
.navbar .nav li.dropdown.open.active > .dropdown-toggle {
	color: #555555;
	background-color: #e5e5e5;
}

.navbar .nav li.dropdown > .dropdown-toggle .caret {
	border-top-color: #777777;
	border-bottom-color: #777777;
}

.navbar .nav li.dropdown.open > .dropdown-toggle .caret,
.navbar .nav li.dropdown.active > .dropdown-toggle .caret,
.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
	border-top-color: #555555;
	border-bottom-color: #555555;
}

.navbar .pull-right > li > .dropdown-menu,
.navbar .nav > li > .dropdown-menu.pull-right {
	right: 0;
	left: auto;
}

.navbar .pull-right > li > .dropdown-menu:before,
.navbar .nav > li > .dropdown-menu.pull-right:before {
	right: 12px;
	left: auto;
}

.navbar .pull-right > li > .dropdown-menu:after,
.navbar .nav > li > .dropdown-menu.pull-right:after {
	right: 13px;
	left: auto;
}

.navbar .pull-right > li > .dropdown-menu .dropdown-menu,
.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu {
	right: 100%;
	left: auto;
	margin-right: -1px;
	margin-left: 0;
	-webkit-border-radius: 6px 0 6px 6px;
	-moz-border-radius: 6px 0 6px 6px;
	border-radius: 6px 0 6px 6px;
}

.navbar-inverse .navbar-inner {
	background-color: #1b1b1b;
	background-image: -moz-linear-gradient(top, #222222, #111111);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111));
	background-image: -webkit-linear-gradient(top, #222222, #111111);
	background-image: -o-linear-gradient(top, #222222, #111111);
	background-image: linear-gradient(to bottom, #222222, #111111);
	background-repeat: repeat-x;
	border-color: #252525;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0);
}

.navbar-inverse .brand,
.navbar-inverse .nav > li > a {
	color: #999999;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}

.navbar-inverse .brand:hover,
.navbar-inverse .nav > li > a:hover,
.navbar-inverse .brand:focus,
.navbar-inverse .nav > li > a:focus {
	color: #ffffff;
}

.navbar-inverse .brand {
	color: #999999;
}

.navbar-inverse .navbar-text {
	color: #999999;
}

.navbar-inverse .nav > li > a:focus,
.navbar-inverse .nav > li > a:hover {
	color: #ffffff;
	background-color: transparent;
}

.navbar-inverse .nav .active > a,
.navbar-inverse .nav .active > a:hover,
.navbar-inverse .nav .active > a:focus {
	color: #ffffff;
	background-color: #111111;
}

.navbar-inverse .navbar-link {
	color: #999999;
}

.navbar-inverse .navbar-link:hover,
.navbar-inverse .navbar-link:focus {
	color: #ffffff;
}

.navbar-inverse .divider-vertical {
	border-right-color: #222222;
	border-left-color: #111111;
}

.navbar-inverse .nav li.dropdown.open > .dropdown-toggle,
.navbar-inverse .nav li.dropdown.active > .dropdown-toggle,
.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle {
	color: #ffffff;
	background-color: #111111;
}

.navbar-inverse .nav li.dropdown > a:hover .caret,
.navbar-inverse .nav li.dropdown > a:focus .caret {
	border-top-color: #ffffff;
	border-bottom-color: #ffffff;
}

.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret {
	border-top-color: #999999;
	border-bottom-color: #999999;
}

.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,
.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,
.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret {
	border-top-color: #ffffff;
	border-bottom-color: #ffffff;
}

.navbar-inverse .navbar-search .search-query {
	color: #ffffff;
	background-color: #515151;
	border-color: #111111;
	-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
	-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
	-webkit-transition: none;
	-moz-transition: none;
	-o-transition: none;
	transition: none;
}

.navbar-inverse .navbar-search .search-query:-moz-placeholder {
	color: #cccccc;
}

.navbar-inverse .navbar-search .search-query:-ms-input-placeholder {
	color: #cccccc;
}

.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder {
	color: #cccccc;
}

.navbar-inverse .navbar-search .search-query:focus,
.navbar-inverse .navbar-search .search-query.focused {
	padding: 5px 15px;
	color: #333333;
	text-shadow: 0 1px 0 #ffffff;
	background-color: #ffffff;
	border: 0;
	outline: 0;
	-webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
}

.navbar-inverse .btn-navbar {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #0e0e0e;
	background-image: -moz-linear-gradient(top, #151515, #040404);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404));
	background-image: -webkit-linear-gradient(top, #151515, #040404);
	background-image: -o-linear-gradient(top, #151515, #040404);
	background-image: linear-gradient(to bottom, #151515, #040404);
	background-repeat: repeat-x;
	border-color: #040404 #040404 #000000;
	border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0);
	filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}

.navbar-inverse .btn-navbar:hover,
.navbar-inverse .btn-navbar:focus,
.navbar-inverse .btn-navbar:active,
.navbar-inverse .btn-navbar.active,
.navbar-inverse .btn-navbar.disabled,
.navbar-inverse .btn-navbar[disabled] {
	color: #ffffff;
	background-color: #040404;
}

.breadcrumb {
	padding: 8px 15px;
	margin: 0 0 20px;
	list-style: none;
	background-color: #f5f5f5;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

.breadcrumb > li {
	display: inline-block;
	text-shadow: 0 1px 0 #ffffff;
}

.breadcrumb > li > .divider {
	padding: 0 5px;
	color: #ccc;
}

.breadcrumb > .active {
	color: #999999;
}

.pagination {
	margin: 20px 0;
}

.pagination ul {
	display: inline-block;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.pagination ul > li {
	display: inline;
}

.pagination ul > li > a,
.pagination ul > li > span {
	float: left;
	padding: 4px 12px;
	line-height: 20px;
	text-decoration: none;
	background-color: #ffffff;
	border: 1px solid #dddddd;
	border-left-width: 0;
}

.pagination ul > li > a:hover,
.pagination ul > li > a:focus,
.pagination ul > .active > a,
.pagination ul > .active > span {
	background-color: #f5f5f5;
}

.pagination ul > .active > a,
.pagination ul > .active > span {
	color: #999999;
	cursor: default;
}

.pagination ul > .disabled > span,
.pagination ul > .disabled > a,
.pagination ul > .disabled > a:hover,
.pagination ul > .disabled > a:focus {
	color: #999999;
	cursor: default;
	background-color: transparent;
}

.pagination ul > li:first-child > a,
.pagination ul > li:first-child > span {
	border-left-width: 1px;
	-webkit-border-bottom-left-radius: 4px;
	border-bottom-left-radius: 4px;
	-webkit-border-top-left-radius: 4px;
	border-top-left-radius: 4px;
	-moz-border-radius-bottomleft: 4px;
	-moz-border-radius-topleft: 4px;
}

.pagination ul > li:last-child > a,
.pagination ul > li:last-child > span {
	-webkit-border-top-right-radius: 4px;
	border-top-right-radius: 4px;
	-webkit-border-bottom-right-radius: 4px;
	border-bottom-right-radius: 4px;
	-moz-border-radius-topright: 4px;
	-moz-border-radius-bottomright: 4px;
}

.pagination-centered {
	text-align: center;
}

.pagination-right {
	text-align: right;
}

.pagination-large ul > li > a,
.pagination-large ul > li > span {
	padding: 11px 19px;
	font-size: 17.5px;
}

.pagination-large ul > li:first-child > a,
.pagination-large ul > li:first-child > span {
	-webkit-border-bottom-left-radius: 6px;
	border-bottom-left-radius: 6px;
	-webkit-border-top-left-radius: 6px;
	border-top-left-radius: 6px;
	-moz-border-radius-bottomleft: 6px;
	-moz-border-radius-topleft: 6px;
}

.pagination-large ul > li:last-child > a,
.pagination-large ul > li:last-child > span {
	-webkit-border-top-right-radius: 6px;
	border-top-right-radius: 6px;
	-webkit-border-bottom-right-radius: 6px;
	border-bottom-right-radius: 6px;
	-moz-border-radius-topright: 6px;
	-moz-border-radius-bottomright: 6px;
}

.pagination-mini ul > li:first-child > a,
.pagination-small ul > li:first-child > a,
.pagination-mini ul > li:first-child > span,
.pagination-small ul > li:first-child > span {
	-webkit-border-bottom-left-radius: 3px;
	border-bottom-left-radius: 3px;
	-webkit-border-top-left-radius: 3px;
	border-top-left-radius: 3px;
	-moz-border-radius-bottomleft: 3px;
	-moz-border-radius-topleft: 3px;
}

.pagination-mini ul > li:last-child > a,
.pagination-small ul > li:last-child > a,
.pagination-mini ul > li:last-child > span,
.pagination-small ul > li:last-child > span {
	-webkit-border-top-right-radius: 3px;
	border-top-right-radius: 3px;
	-webkit-border-bottom-right-radius: 3px;
	border-bottom-right-radius: 3px;
	-moz-border-radius-topright: 3px;
	-moz-border-radius-bottomright: 3px;
}

.pagination-small ul > li > a,
.pagination-small ul > li > span {
	padding: 2px 10px;
	font-size: 11.9px;
}

.pagination-mini ul > li > a,
.pagination-mini ul > li > span {
	padding: 0 6px;
	font-size: 10.5px;
}

.pager {
	margin: 20px 0;
	text-align: center;
	list-style: none;
}

.pager:before,
.pager:after {
	display: table;
	line-height: 0;
	content: "";
}

.pager:after {
	clear: both;
}

.pager li {
	display: inline;
}

.pager li > a,
.pager li > span {
	display: inline-block;
	padding: 5px 14px;
	background-color: #fff;
	border: 1px solid #ddd;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	border-radius: 15px;
}

.pager li > a:hover,
.pager li > a:focus {
	text-decoration: none;
	background-color: #f5f5f5;
}

.pager .next > a,
.pager .next > span {
	float: right;
}

.pager .previous > a,
.pager .previous > span {
	float: left;
}

.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
	color: #999999;
	cursor: default;
	background-color: #fff;
}

.modal-backdrop {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1040;
	background-color: #000000;
}

.modal-backdrop.fade {
	opacity: 0;
}

.modal-backdrop,
.modal-backdrop.fade.in {
	opacity: 0.8;
	filter: alpha(opacity=80);
}

.modal-header {
	padding: 9px 15px;
	border-bottom: 1px solid #eee;
}

.modal-header .close {
	margin-top: 2px;
}

.modal-header h3 {
	margin: 0;
	line-height: 30px;
}

.modal-body {
	position: relative;
	max-height: 400px;
	padding: 15px;
	overflow-y: auto;
}

.modal-form {
	margin-bottom: 0;
}

.modal-footer {
	padding: 14px 15px 15px;
	margin-bottom: 0;
	text-align: right;
	background-color: #f5f5f5;
	border-top: 1px solid #ddd;
	-webkit-border-radius: 0 0 6px 6px;
	-moz-border-radius: 0 0 6px 6px;
	border-radius: 0 0 6px 6px;
	-webkit-box-shadow: inset 0 1px 0 #ffffff;
	-moz-box-shadow: inset 0 1px 0 #ffffff;
	box-shadow: inset 0 1px 0 #ffffff;
}

.modal-footer:before,
.modal-footer:after {
	display: table;
	line-height: 0;
	content: "";
}

.modal-footer:after {
	clear: both;
}

.modal-footer .btn + .btn {
	margin-bottom: 0;
	margin-left: 5px;
}

.modal-footer .btn-group .btn + .btn {
	margin-left: -1px;
}

.modal-footer .btn-block + .btn-block {
	margin-left: 0;
}

.tooltip {
	position: absolute;
	z-index: 1030;
	display: block;
	font-size: 11px;
	line-height: 1.4;
	opacity: 0;
	filter: alpha(opacity=0);
	visibility: visible;
}

.tooltip.in {
	opacity: 0.8;
	filter: alpha(opacity=80);
}

.tooltip.top {
	padding: 5px 0;
	margin-top: -3px;
}

.tooltip.right {
	padding: 0 5px;
	margin-left: 3px;
}

.tooltip.bottom {
	padding: 5px 0;
	margin-top: 3px;
}

.tooltip.left {
	padding: 0 5px;
	margin-left: -3px;
}

.tooltip-inner {
	max-width: 200px;
	padding: 8px;
	color: #ffffff;
	text-align: center;
	text-decoration: none;
	background-color: #000000;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

.tooltip-arrow {
	position: absolute;
	width: 0;
	height: 0;
	border-color: transparent;
	border-style: solid;
}

.tooltip.top .tooltip-arrow {
	bottom: 0;
	left: 50%;
	margin-left: -5px;
	border-top-color: #000000;
	border-width: 5px 5px 0;
}

.tooltip.right .tooltip-arrow {
	top: 50%;
	left: 0;
	margin-top: -5px;
	border-right-color: #000000;
	border-width: 5px 5px 5px 0;
}

.tooltip.left .tooltip-arrow {
	top: 50%;
	right: 0;
	margin-top: -5px;
	border-left-color: #000000;
	border-width: 5px 0 5px 5px;
}

.tooltip.bottom .tooltip-arrow {
	top: 0;
	left: 50%;
	margin-left: -5px;
	border-bottom-color: #000000;
	border-width: 0 5px 5px;
}

.popover {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1010;
	display: none;
	max-width: 276px;
	padding: 1px;
	text-align: left;
	white-space: normal;
	background-color: #ffffff;
	border: 1px solid #ccc;
	border: 1px solid rgba(0, 0, 0, 0.2);
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
	-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
	-webkit-background-clip: padding-box;
	-moz-background-clip: padding;
	background-clip: padding-box;
}

.popover.top {
	margin-top: -10px;
}

.popover.right {
	margin-left: 10px;
}

.popover.bottom {
	margin-top: 10px;
}

.popover.left {
	margin-left: -10px;
}

.popover-title {
	padding: 8px 14px;
	margin: 0;
	font-size: 14px;
	font-weight: normal;
	line-height: 18px;
	background-color: #f7f7f7;
	border-bottom: 1px solid #ebebeb;
	-webkit-border-radius: 5px 5px 0 0;
	-moz-border-radius: 5px 5px 0 0;
	border-radius: 5px 5px 0 0;
}

.popover-title:empty {
	display: none;
}

.popover-content {
	padding: 9px 14px;
}

.popover .arrow,
.popover .arrow:after {
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-color: transparent;
	border-style: solid;
}

.popover .arrow {
	border-width: 11px;
}

.popover .arrow:after {
	border-width: 10px;
	content: "";
}

.popover.top .arrow {
	bottom: -11px;
	left: 50%;
	margin-left: -11px;
	border-top-color: #999;
	border-top-color: rgba(0, 0, 0, 0.25);
	border-bottom-width: 0;
}

.popover.top .arrow:after {
	bottom: 1px;
	margin-left: -10px;
	border-top-color: #ffffff;
	border-bottom-width: 0;
}

.popover.right .arrow {
	top: 50%;
	left: -11px;
	margin-top: -11px;
	border-right-color: #999;
	border-right-color: rgba(0, 0, 0, 0.25);
	border-left-width: 0;
}

.popover.right .arrow:after {
	bottom: -10px;
	left: 1px;
	border-right-color: #ffffff;
	border-left-width: 0;
}

.popover.bottom .arrow {
	top: -11px;
	left: 50%;
	margin-left: -11px;
	border-bottom-color: #999;
	border-bottom-color: rgba(0, 0, 0, 0.25);
	border-top-width: 0;
}

.popover.bottom .arrow:after {
	top: 1px;
	margin-left: -10px;
	border-bottom-color: #ffffff;
	border-top-width: 0;
}

.popover.left .arrow {
	top: 50%;
	right: -11px;
	margin-top: -11px;
	border-left-color: #999;
	border-left-color: rgba(0, 0, 0, 0.25);
	border-right-width: 0;
}

.popover.left .arrow:after {
	right: 1px;
	bottom: -10px;
	border-left-color: #ffffff;
	border-right-width: 0;
}

.thumbnails {
	margin-left: -20px;
	list-style: none;
}

.thumbnails:before,
.thumbnails:after {
	display: table;
	line-height: 0;
	content: "";
}

.thumbnails:after {
	clear: both;
}

.row-fluid .thumbnails {
	margin-left: 0;
}

.thumbnails > li {
	float: left;
	margin-bottom: 20px;
	margin-left: 20px;
}

.thumbnail {
	display: block;
	padding: 4px;
	line-height: 20px;
	border: 1px solid #ddd;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
	-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

a.thumbnail:hover,
a.thumbnail:focus {
	border-color: #0088cc;
	-webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
	-moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
	box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
}

.thumbnail > img {
	display: block;
	max-width: 100%;
	margin-right: auto;
	margin-left: auto;
}

.thumbnail .caption {
	padding: 9px;
	color: #555555;
}

.media,
.media-body {
	overflow: hidden;
	zoom: 1;
}

.media,
.media .media {
	margin-top: 15px;
}

.media:first-child {
	margin-top: 0;
}

.media-object {
	display: block;
}

.media-heading {
	margin: 0 0 5px;
}

.media > .pull-left {
	margin-right: 10px;
}

.media > .pull-right {
	margin-left: 10px;
}

.media-list {
	margin-left: 0;
	list-style: none;
}

.label,
.badge {
	display: inline-block;
	padding: 2px 4px;
	font-size: 11.844px;
	font-weight: bold;
	line-height: 14px;
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	white-space: nowrap;
	vertical-align: baseline;
	background-color: #999999;
}

.label {
	border-radius: 3px;
}

.badge {
	padding-right: 9px;
	padding-left: 9px;
	border-radius: 9px;
}

.label:empty,
.badge:empty {
	display: none;
}

a.label:hover,
a.label:focus,
a.badge:hover,
a.badge:focus {
	color: #ffffff;
	text-decoration: none;
	cursor: pointer;
}

.label-important,
.badge-important {
	background-color: #b94a48;
}

.label-important[href],
.badge-important[href] {
	background-color: #953b39;
}

.label-warning,
.badge-warning {
	background-color: #f89406;
}

.label-warning[href],
.badge-warning[href] {
	background-color: #c67605;
}

.label-success,
.badge-success {
	background-color: #468847;
}

.label-success[href],
.badge-success[href] {
	background-color: #356635;
}

.label-info,
.badge-info {
	background-color: #3a87ad;
}

.label-info[href],
.badge-info[href] {
	background-color: #2d6987;
}

.label-inverse,
.badge-inverse {
	background-color: #333333;
}

.label-inverse[href],
.badge-inverse[href] {
	background-color: #1a1a1a;
}

.btn .label,
.btn .badge {
	position: relative;
	top: -1px;
}

.btn-mini .label,
.btn-mini .badge {
	top: 0;
}

@-webkit-keyframes progress-bar-stripes {
	from {
		background-position: 40px 0;
	}
	to {
		background-position: 0 0;
	}
}

@-moz-keyframes progress-bar-stripes {
	from {
		background-position: 40px 0;
	}
	to {
		background-position: 0 0;
	}
}

@-ms-keyframes progress-bar-stripes {
	from {
		background-position: 40px 0;
	}
	to {
		background-position: 0 0;
	}
}

@-o-keyframes progress-bar-stripes {
	from {
		background-position: 0 0;
	}
	to {
		background-position: 40px 0;
	}
}

@keyframes progress-bar-stripes {
	from {
		background-position: 40px 0;
	}
	to {
		background-position: 0 0;
	}
}

.progress {
	height: 20px;
	margin-bottom: 20px;
	overflow: hidden;
	background-color: #f7f7f7;
	background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
	background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
	background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
	background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
	background-repeat: repeat-x;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
	-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}

.progress .bar {
	float: left;
	width: 0;
	height: 100%;
	font-size: 12px;
	color: #ffffff;
	text-align: center;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #0e90d2;
	background-image: -moz-linear-gradient(top, #149bdf, #0480be);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
	background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
	background-image: -o-linear-gradient(top, #149bdf, #0480be);
	background-image: linear-gradient(to bottom, #149bdf, #0480be);
	background-repeat: repeat-x;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
	-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
	-moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
	box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: width 0.6s ease;
	-moz-transition: width 0.6s ease;
	-o-transition: width 0.6s ease;
	transition: width 0.6s ease;
}

.progress .bar + .bar {
	-webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
	-moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
	box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
}

.progress-striped .bar {
	background-color: #149bdf;
	background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
	background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
	background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
	background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
	background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
	-webkit-background-size: 40px 40px;
	-moz-background-size: 40px 40px;
	-o-background-size: 40px 40px;
	background-size: 40px 40px;
}

.progress.active .bar {
	-webkit-animation: progress-bar-stripes 2s linear infinite;
	-moz-animation: progress-bar-stripes 2s linear infinite;
	-ms-animation: progress-bar-stripes 2s linear infinite;
	-o-animation: progress-bar-stripes 2s linear infinite;
	animation: progress-bar-stripes 2s linear infinite;
}

.progress-danger .bar,
.progress .bar-danger {
	background-color: #dd514c;
	background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
	background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
	background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
	background-image: linear-gradient(to bottom, #ee5f5b, #c43c35);
	background-repeat: repeat-x;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);
}

.progress-danger.progress-striped .bar,
.progress-striped .bar-danger {
	background-color: #ee5f5b;
	background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
	background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
	background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
	background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
	background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-success .bar,
.progress .bar-success {
	background-color: #5eb95e;
	background-image: -moz-linear-gradient(top, #62c462, #57a957);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
	background-image: -webkit-linear-gradient(top, #62c462, #57a957);
	background-image: -o-linear-gradient(top, #62c462, #57a957);
	background-image: linear-gradient(to bottom, #62c462, #57a957);
	background-repeat: repeat-x;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);
}

.progress-success.progress-striped .bar,
.progress-striped .bar-success {
	background-color: #62c462;
	background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
	background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
	background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
	background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
	background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-info .bar,
.progress .bar-info {
	background-color: #4bb1cf;
	background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
	background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
	background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
	background-image: linear-gradient(to bottom, #5bc0de, #339bb9);
	background-repeat: repeat-x;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);
}

.progress-info.progress-striped .bar,
.progress-striped .bar-info {
	background-color: #5bc0de;
	background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
	background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
	background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
	background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
	background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-warning .bar,
.progress .bar-warning {
	background-color: #faa732;
	background-image: -moz-linear-gradient(top, #fbb450, #f89406);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
	background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
	background-image: -o-linear-gradient(top, #fbb450, #f89406);
	background-image: linear-gradient(to bottom, #fbb450, #f89406);
	background-repeat: repeat-x;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
}

.progress-warning.progress-striped .bar,
.progress-striped .bar-warning {
	background-color: #fbb450;
	background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
	background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
	background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
	background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
	background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.accordion {
	margin-bottom: 20px;
}

.accordion-group {
	margin-bottom: 2px;
	border: 1px solid #e5e5e5;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

.accordion-heading {
	border-bottom: 0;
}

.accordion-heading .accordion-toggle {
	display: block;
	padding: 8px 15px;
}

.accordion-toggle {
	cursor: pointer;
}

.accordion-inner {
	padding: 9px 15px;
	border-top: 1px solid #e5e5e5;
}

.carousel {
  position: relative;
  margin-bottom: 20px;
  line-height: 1;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.carousel-inner > .item {
  position: relative;
  display: none;
  -webkit-transition: 0.6s ease-in-out left;
     -moz-transition: 0.6s ease-in-out left;
       -o-transition: 0.6s ease-in-out left;
          transition: 0.6s ease-in-out left;
}

.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  display: block;
  line-height: 1;
}

.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
  display: block;
}

.carousel-inner > .active {
  left: 0;
}

.carousel-inner > .next,
.carousel-inner > .prev {
  position: absolute;
  top: 0;
  width: 100%;
}

.carousel-inner > .next {
  left: 100%;
}

.carousel-inner > .prev {
  left: -100%;
}

.carousel-inner > .next.left,
.carousel-inner > .prev.right {
  left: 0;
}

.carousel-inner > .active.left {
  left: -100%;
}

.carousel-inner > .active.right {
  left: 100%;
}

.carousel-control {
  position: absolute;
  top: 40%;
  left: 15px;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  font-size: 60px;
  font-weight: 100;
  line-height: 30px;
  color: #ffffff;
  text-align: center;
  background: #222222;
  border: 3px solid #ffffff;
  -webkit-border-radius: 23px;
     -moz-border-radius: 23px;
          border-radius: 23px;
  opacity: 0.5;
  filter: alpha(opacity=50);
}

.carousel-control.right {
  right: 15px;
  left: auto;
}

.carousel-control:hover,
.carousel-control:focus {
  color: #ffffff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}

.carousel-indicators {
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 5;
  margin: 0;
  list-style: none;
}

.carousel-indicators li {
  display: block;
  float: left;
  width: 10px;
  height: 10px;
  margin-left: 5px;
  text-indent: -999px;
  background-color: #ccc;
  background-color: rgba(255, 255, 255, 0.25);
  border-radius: 5px;
}

.carousel-indicators .active {
  background-color: #fff;
}

.carousel-caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 15px;
  background: #333333;
  background: rgba(0, 0, 0, 0.75);
}

.carousel-caption h4,
.carousel-caption p {
  line-height: 20px;
  color: #ffffff;
}

.carousel-caption h4 {
  margin: 0 0 5px;
}

.carousel-caption p {
  margin-bottom: 0;
}

.hero-unit {
  padding: 60px;
  margin-bottom: 30px;
  font-size: 18px;
  font-weight: 200;
  line-height: 30px;
  color: inherit;
  background-color: #eeeeee;
  -webkit-border-radius: 6px;
     -moz-border-radius: 6px;
          border-radius: 6px;
}

.hero-unit h1 {
  margin-bottom: 0;
  font-size: 60px;
  line-height: 1;
  letter-spacing: -1px;
  color: inherit;
}

.hero-unit li {
  line-height: 30px;
}

.pull-right {
	float: right;
}

.pull-left {
	float: left;
}

.hide {
	display: none;
}

.show {
	display: block;
}

.invisible {
	visibility: hidden;
}

.affix {
	position: fixed;
}

/* Joomla JUI NOTE: Original .modal definition has to be commented in modals.less and responsive-767px-max.less */

/* Joomla JUI NOTE: Original .modal definition has to be commented */

div.modal {
	position: fixed;
	top: 10%;
	left: 50%;
	z-index: 1050;
	width: 560px;
	margin-left: -280px;
	background-color: #ffffff;
	border: 1px solid #999;
	border: 1px solid rgba(0, 0, 0, 0.3);
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
	outline: none;
	-webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
	-moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
	box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
	-webkit-background-clip: padding-box;
	-moz-background-clip: padding-box;
	background-clip: padding-box;
}

div.modal.fade {
	top: -25%;
	-webkit-transition: opacity 0.3s linear, top 0.3s ease-out;
	-moz-transition: opacity 0.3s linear, top 0.3s ease-out;
	-o-transition: opacity 0.3s linear, top 0.3s ease-out;
	transition: opacity 0.3s linear, top 0.3s ease-out;
}

div.modal.fade.in {
	top: 10%;
}
assets/css/font-awesome.min.css000064400000074430150753125230012551 0ustar00/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}
assets/js/font-awesome5-shim.min.js000064400000035317150753125230013245 0ustar00/*!
 * Font Awesome Free 5.14.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
var l,a;l=this,a=function(){"use strict";var l={},a={};try{"undefined"!=typeof window&&(l=window),"undefined"!=typeof document&&(a=document)}catch(l){}var e=(l.navigator||{}).userAgent,r=void 0===e?"":e,n=l,o=a,u=(n.document,!!o.documentElement&&!!o.head&&"function"==typeof o.addEventListener&&o.createElement,~r.indexOf("MSIE")||r.indexOf("Trident/"),"___FONT_AWESOME___"),t=function(){try{return"production"===process.env.NODE_ENV}catch(l){return!1}}();var f=n||{};f[u]||(f[u]={}),f[u].styles||(f[u].styles={}),f[u].hooks||(f[u].hooks={}),f[u].shims||(f[u].shims=[]);var i=f[u],s=[["glass",null,"glass-martini"],["meetup","fab",null],["star-o","far","star"],["remove",null,"times"],["close",null,"times"],["gear",null,"cog"],["trash-o","far","trash-alt"],["file-o","far","file"],["clock-o","far","clock"],["arrow-circle-o-down","far","arrow-alt-circle-down"],["arrow-circle-o-up","far","arrow-alt-circle-up"],["play-circle-o","far","play-circle"],["repeat",null,"redo"],["rotate-right",null,"redo"],["refresh",null,"sync"],["list-alt","far",null],["dedent",null,"outdent"],["video-camera",null,"video"],["picture-o","far","image"],["photo","far","image"],["image","far","image"],["pencil",null,"pencil-alt"],["map-marker",null,"map-marker-alt"],["pencil-square-o","far","edit"],["share-square-o","far","share-square"],["check-square-o","far","check-square"],["arrows",null,"arrows-alt"],["times-circle-o","far","times-circle"],["check-circle-o","far","check-circle"],["mail-forward",null,"share"],["expand",null,"expand-alt"],["compress",null,"compress-alt"],["eye","far",null],["eye-slash","far",null],["warning",null,"exclamation-triangle"],["calendar",null,"calendar-alt"],["arrows-v",null,"arrows-alt-v"],["arrows-h",null,"arrows-alt-h"],["bar-chart","far","chart-bar"],["bar-chart-o","far","chart-bar"],["twitter-square","fab",null],["facebook-square","fab",null],["gears",null,"cogs"],["thumbs-o-up","far","thumbs-up"],["thumbs-o-down","far","thumbs-down"],["heart-o","far","heart"],["sign-out",null,"sign-out-alt"],["linkedin-square","fab","linkedin"],["thumb-tack",null,"thumbtack"],["external-link",null,"external-link-alt"],["sign-in",null,"sign-in-alt"],["github-square","fab",null],["lemon-o","far","lemon"],["square-o","far","square"],["bookmark-o","far","bookmark"],["twitter","fab",null],["facebook","fab","facebook-f"],["facebook-f","fab","facebook-f"],["github","fab",null],["credit-card","far",null],["feed",null,"rss"],["hdd-o","far","hdd"],["hand-o-right","far","hand-point-right"],["hand-o-left","far","hand-point-left"],["hand-o-up","far","hand-point-up"],["hand-o-down","far","hand-point-down"],["arrows-alt",null,"expand-arrows-alt"],["group",null,"users"],["chain",null,"link"],["scissors",null,"cut"],["files-o","far","copy"],["floppy-o","far","save"],["navicon",null,"bars"],["reorder",null,"bars"],["pinterest","fab",null],["pinterest-square","fab",null],["google-plus-square","fab",null],["google-plus","fab","google-plus-g"],["money","far","money-bill-alt"],["unsorted",null,"sort"],["sort-desc",null,"sort-down"],["sort-asc",null,"sort-up"],["linkedin","fab","linkedin-in"],["rotate-left",null,"undo"],["legal",null,"gavel"],["tachometer",null,"tachometer-alt"],["dashboard",null,"tachometer-alt"],["comment-o","far","comment"],["comments-o","far","comments"],["flash",null,"bolt"],["clipboard","far",null],["paste","far","clipboard"],["lightbulb-o","far","lightbulb"],["exchange",null,"exchange-alt"],["cloud-download",null,"cloud-download-alt"],["cloud-upload",null,"cloud-upload-alt"],["bell-o","far","bell"],["cutlery",null,"utensils"],["file-text-o","far","file-alt"],["building-o","far","building"],["hospital-o","far","hospital"],["tablet",null,"tablet-alt"],["mobile",null,"mobile-alt"],["mobile-phone",null,"mobile-alt"],["circle-o","far","circle"],["mail-reply",null,"reply"],["github-alt","fab",null],["folder-o","far","folder"],["folder-open-o","far","folder-open"],["smile-o","far","smile"],["frown-o","far","frown"],["meh-o","far","meh"],["keyboard-o","far","keyboard"],["flag-o","far","flag"],["mail-reply-all",null,"reply-all"],["star-half-o","far","star-half"],["star-half-empty","far","star-half"],["star-half-full","far","star-half"],["code-fork",null,"code-branch"],["chain-broken",null,"unlink"],["shield",null,"shield-alt"],["calendar-o","far","calendar"],["maxcdn","fab",null],["html5","fab",null],["css3","fab",null],["ticket",null,"ticket-alt"],["minus-square-o","far","minus-square"],["level-up",null,"level-up-alt"],["level-down",null,"level-down-alt"],["pencil-square",null,"pen-square"],["external-link-square",null,"external-link-square-alt"],["compass","far",null],["caret-square-o-down","far","caret-square-down"],["toggle-down","far","caret-square-down"],["caret-square-o-up","far","caret-square-up"],["toggle-up","far","caret-square-up"],["caret-square-o-right","far","caret-square-right"],["toggle-right","far","caret-square-right"],["eur",null,"euro-sign"],["euro",null,"euro-sign"],["gbp",null,"pound-sign"],["usd",null,"dollar-sign"],["dollar",null,"dollar-sign"],["inr",null,"rupee-sign"],["rupee",null,"rupee-sign"],["jpy",null,"yen-sign"],["cny",null,"yen-sign"],["rmb",null,"yen-sign"],["yen",null,"yen-sign"],["rub",null,"ruble-sign"],["ruble",null,"ruble-sign"],["rouble",null,"ruble-sign"],["krw",null,"won-sign"],["won",null,"won-sign"],["btc","fab",null],["bitcoin","fab","btc"],["file-text",null,"file-alt"],["sort-alpha-asc",null,"sort-alpha-down"],["sort-alpha-desc",null,"sort-alpha-down-alt"],["sort-amount-asc",null,"sort-amount-down"],["sort-amount-desc",null,"sort-amount-down-alt"],["sort-numeric-asc",null,"sort-numeric-down"],["sort-numeric-desc",null,"sort-numeric-down-alt"],["youtube-square","fab",null],["youtube","fab",null],["xing","fab",null],["xing-square","fab",null],["youtube-play","fab","youtube"],["dropbox","fab",null],["stack-overflow","fab",null],["instagram","fab",null],["flickr","fab",null],["adn","fab",null],["bitbucket","fab",null],["bitbucket-square","fab","bitbucket"],["tumblr","fab",null],["tumblr-square","fab",null],["long-arrow-down",null,"long-arrow-alt-down"],["long-arrow-up",null,"long-arrow-alt-up"],["long-arrow-left",null,"long-arrow-alt-left"],["long-arrow-right",null,"long-arrow-alt-right"],["apple","fab",null],["windows","fab",null],["android","fab",null],["linux","fab",null],["dribbble","fab",null],["skype","fab",null],["foursquare","fab",null],["trello","fab",null],["gratipay","fab",null],["gittip","fab","gratipay"],["sun-o","far","sun"],["moon-o","far","moon"],["vk","fab",null],["weibo","fab",null],["renren","fab",null],["pagelines","fab",null],["stack-exchange","fab",null],["arrow-circle-o-right","far","arrow-alt-circle-right"],["arrow-circle-o-left","far","arrow-alt-circle-left"],["caret-square-o-left","far","caret-square-left"],["toggle-left","far","caret-square-left"],["dot-circle-o","far","dot-circle"],["vimeo-square","fab",null],["try",null,"lira-sign"],["turkish-lira",null,"lira-sign"],["plus-square-o","far","plus-square"],["slack","fab",null],["wordpress","fab",null],["openid","fab",null],["institution",null,"university"],["bank",null,"university"],["mortar-board",null,"graduation-cap"],["yahoo","fab",null],["google","fab",null],["reddit","fab",null],["reddit-square","fab",null],["stumbleupon-circle","fab",null],["stumbleupon","fab",null],["delicious","fab",null],["digg","fab",null],["pied-piper-pp","fab",null],["pied-piper-alt","fab",null],["drupal","fab",null],["joomla","fab",null],["spoon",null,"utensil-spoon"],["behance","fab",null],["behance-square","fab",null],["steam","fab",null],["steam-square","fab",null],["automobile",null,"car"],["envelope-o","far","envelope"],["spotify","fab",null],["deviantart","fab",null],["soundcloud","fab",null],["file-pdf-o","far","file-pdf"],["file-word-o","far","file-word"],["file-excel-o","far","file-excel"],["file-powerpoint-o","far","file-powerpoint"],["file-image-o","far","file-image"],["file-photo-o","far","file-image"],["file-picture-o","far","file-image"],["file-archive-o","far","file-archive"],["file-zip-o","far","file-archive"],["file-audio-o","far","file-audio"],["file-sound-o","far","file-audio"],["file-video-o","far","file-video"],["file-movie-o","far","file-video"],["file-code-o","far","file-code"],["vine","fab",null],["codepen","fab",null],["jsfiddle","fab",null],["life-ring","far",null],["life-bouy","far","life-ring"],["life-buoy","far","life-ring"],["life-saver","far","life-ring"],["support","far","life-ring"],["circle-o-notch",null,"circle-notch"],["rebel","fab",null],["ra","fab","rebel"],["resistance","fab","rebel"],["empire","fab",null],["ge","fab","empire"],["git-square","fab",null],["git","fab",null],["hacker-news","fab",null],["y-combinator-square","fab","hacker-news"],["yc-square","fab","hacker-news"],["tencent-weibo","fab",null],["qq","fab",null],["weixin","fab",null],["wechat","fab","weixin"],["send",null,"paper-plane"],["paper-plane-o","far","paper-plane"],["send-o","far","paper-plane"],["circle-thin","far","circle"],["header",null,"heading"],["sliders",null,"sliders-h"],["futbol-o","far","futbol"],["soccer-ball-o","far","futbol"],["slideshare","fab",null],["twitch","fab",null],["yelp","fab",null],["newspaper-o","far","newspaper"],["paypal","fab",null],["google-wallet","fab",null],["cc-visa","fab",null],["cc-mastercard","fab",null],["cc-discover","fab",null],["cc-amex","fab",null],["cc-paypal","fab",null],["cc-stripe","fab",null],["bell-slash-o","far","bell-slash"],["trash",null,"trash-alt"],["copyright","far",null],["eyedropper",null,"eye-dropper"],["area-chart",null,"chart-area"],["pie-chart",null,"chart-pie"],["line-chart",null,"chart-line"],["lastfm","fab",null],["lastfm-square","fab",null],["ioxhost","fab",null],["angellist","fab",null],["cc","far","closed-captioning"],["ils",null,"shekel-sign"],["shekel",null,"shekel-sign"],["sheqel",null,"shekel-sign"],["meanpath","fab","font-awesome"],["buysellads","fab",null],["connectdevelop","fab",null],["dashcube","fab",null],["forumbee","fab",null],["leanpub","fab",null],["sellsy","fab",null],["shirtsinbulk","fab",null],["simplybuilt","fab",null],["skyatlas","fab",null],["diamond","far","gem"],["intersex",null,"transgender"],["facebook-official","fab","facebook"],["pinterest-p","fab",null],["whatsapp","fab",null],["hotel",null,"bed"],["viacoin","fab",null],["medium","fab",null],["y-combinator","fab",null],["yc","fab","y-combinator"],["optin-monster","fab",null],["opencart","fab",null],["expeditedssl","fab",null],["battery-4",null,"battery-full"],["battery",null,"battery-full"],["battery-3",null,"battery-three-quarters"],["battery-2",null,"battery-half"],["battery-1",null,"battery-quarter"],["battery-0",null,"battery-empty"],["object-group","far",null],["object-ungroup","far",null],["sticky-note-o","far","sticky-note"],["cc-jcb","fab",null],["cc-diners-club","fab",null],["clone","far",null],["hourglass-o","far","hourglass"],["hourglass-1",null,"hourglass-start"],["hourglass-2",null,"hourglass-half"],["hourglass-3",null,"hourglass-end"],["hand-rock-o","far","hand-rock"],["hand-grab-o","far","hand-rock"],["hand-paper-o","far","hand-paper"],["hand-stop-o","far","hand-paper"],["hand-scissors-o","far","hand-scissors"],["hand-lizard-o","far","hand-lizard"],["hand-spock-o","far","hand-spock"],["hand-pointer-o","far","hand-pointer"],["hand-peace-o","far","hand-peace"],["registered","far",null],["creative-commons","fab",null],["gg","fab",null],["gg-circle","fab",null],["tripadvisor","fab",null],["odnoklassniki","fab",null],["odnoklassniki-square","fab",null],["get-pocket","fab",null],["wikipedia-w","fab",null],["safari","fab",null],["chrome","fab",null],["firefox","fab",null],["opera","fab",null],["internet-explorer","fab",null],["television",null,"tv"],["contao","fab",null],["500px","fab",null],["amazon","fab",null],["calendar-plus-o","far","calendar-plus"],["calendar-minus-o","far","calendar-minus"],["calendar-times-o","far","calendar-times"],["calendar-check-o","far","calendar-check"],["map-o","far","map"],["commenting",null,"comment-dots"],["commenting-o","far","comment-dots"],["houzz","fab",null],["vimeo","fab","vimeo-v"],["black-tie","fab",null],["fonticons","fab",null],["reddit-alien","fab",null],["edge","fab",null],["credit-card-alt",null,"credit-card"],["codiepie","fab",null],["modx","fab",null],["fort-awesome","fab",null],["usb","fab",null],["product-hunt","fab",null],["mixcloud","fab",null],["scribd","fab",null],["pause-circle-o","far","pause-circle"],["stop-circle-o","far","stop-circle"],["bluetooth","fab",null],["bluetooth-b","fab",null],["gitlab","fab",null],["wpbeginner","fab",null],["wpforms","fab",null],["envira","fab",null],["wheelchair-alt","fab","accessible-icon"],["question-circle-o","far","question-circle"],["volume-control-phone",null,"phone-volume"],["asl-interpreting",null,"american-sign-language-interpreting"],["deafness",null,"deaf"],["hard-of-hearing",null,"deaf"],["glide","fab",null],["glide-g","fab",null],["signing",null,"sign-language"],["viadeo","fab",null],["viadeo-square","fab",null],["snapchat","fab",null],["snapchat-ghost","fab",null],["snapchat-square","fab",null],["pied-piper","fab",null],["first-order","fab",null],["yoast","fab",null],["themeisle","fab",null],["google-plus-official","fab","google-plus"],["google-plus-circle","fab","google-plus"],["font-awesome","fab",null],["fa","fab","font-awesome"],["handshake-o","far","handshake"],["envelope-open-o","far","envelope-open"],["linode","fab",null],["address-book-o","far","address-book"],["vcard",null,"address-card"],["address-card-o","far","address-card"],["vcard-o","far","address-card"],["user-circle-o","far","user-circle"],["user-o","far","user"],["id-badge","far",null],["drivers-license",null,"id-card"],["id-card-o","far","id-card"],["drivers-license-o","far","id-card"],["quora","fab",null],["free-code-camp","fab",null],["telegram","fab",null],["thermometer-4",null,"thermometer-full"],["thermometer",null,"thermometer-full"],["thermometer-3",null,"thermometer-three-quarters"],["thermometer-2",null,"thermometer-half"],["thermometer-1",null,"thermometer-quarter"],["thermometer-0",null,"thermometer-empty"],["bathtub",null,"bath"],["s15",null,"bath"],["window-maximize","far",null],["window-restore","far",null],["times-rectangle",null,"window-close"],["window-close-o","far","window-close"],["times-rectangle-o","far","window-close"],["bandcamp","fab",null],["grav","fab",null],["etsy","fab",null],["imdb","fab",null],["ravelry","fab",null],["eercast","fab","sellcast"],["snowflake-o","far","snowflake"],["superpowers","fab",null],["wpexplorer","fab",null],["cab",null,"taxi"]];return function(l){try{l()}catch(l){if(!t)throw l}}(function(){var l;"function"==typeof i.hooks.addShims?i.hooks.addShims(s):(l=i.shims).push.apply(l,s)}),s},"object"==typeof exports&&"undefined"!=typeof module?module.exports=a():"function"==typeof define&&define.amd?define(a):l["fontawesome-free-shims"]=a();assets/js/main.js000064400000170026150753125230007755 0ustar00!function i(r,o,s){function a(e,t){if(!o[e]){if(!r[e]){var n="function"==typeof require&&require;if(!t&&n)return n(e,!0);if(u)return u(e,!0);throw(n=new Error("Cannot find module '"+e+"'")).code="MODULE_NOT_FOUND",n}n=o[e]={exports:{}},r[e][0].call(n.exports,function(t){return a(r[e][1][t]||t)},n,n.exports,i,r,o,s)}return o[e].exports}for(var u="function"==typeof require&&require,t=0;t<s.length;t++)a(s[t]);return a}({1:[function(t,e,n){"use strict";var i=t("domready"),r=t("./menu"),o=t("./offcanvas"),s=(t("./totop"),t("./utils/dollar-extras")),a={};i(function(){a={offcanvas:new o,menu:new r,$:s,ready:i},e.exports=window.G5=a}),e.exports=window.G5=a},{"./menu":2,"./offcanvas":3,"./totop":4,"./utils/dollar-extras":6,domready:7}],2:[function(s,a,t){!function(o){!function(){"use strict";s("domready");var t=s("prime"),f=s("../utils/dollar-extras"),n=s("elements/zen"),h=s("mout/function/bind"),e=(s("mout/function/timeout"),s("prime-util/prime/bound")),i=s("prime-util/prime/options"),r="ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch,i=new t({mixin:[e,i],options:{selectors:{mainContainer:".g-main-nav",mobileContainer:"#g-mobilemenu-container",topLevel:".g-toplevel",rootItems:"> ul > li",parent:".g-parent",item:".g-menu-item",dropdown:".g-dropdown",overlay:".g-menu-overlay",touchIndicator:".g-menu-parent-indicator",linkedParent:"[data-g-menuparent]",mobileTarget:"[data-g-mobile-target]"},states:{active:"g-active",inactive:"g-inactive",selected:"g-selected",touchEvents:"g-menu-hastouch"}},constructor:function(t){this.setOptions(t),this.selectors=this.options.selectors,this.states=this.options.states,this.overlay=n("div"+this.selectors.overlay),this.active=null,this.location=[];var e=f("#g-page-surround");e&&this.overlay.top(e);t=f(this.selectors.mainContainer);t&&(e=t.data("g-hover-expand"),this.hoverExpand=null===e||"true"===e,!r&&this.hoverExpand||t.addClass(this.states.touchEvents),this.attach())},attach:function(){var t=this.selectors,e=f(t.mainContainer+" "+t.item),n=f(t.mobileContainer),i=f("body");e&&(this.hoverExpand&&(e.on("mouseenter",this.bound("mouseenter")),e.on("mouseleave",this.bound("mouseleave"))),i.delegate("click",":not("+t.mainContainer+") "+t.linkedParent+", .g-fullwidth .g-sublevel "+t.linkedParent,this.bound("click")),i.delegate("click",":not("+t.mainContainer+") a[href]",this.bound("resetAfterClick")),!r&&this.hoverExpand||((t=f(t.linkedParent))&&(t.on("touchmove",this.bound("touchmove")),t.on("touchend",this.bound("touchend"))),this.overlay.on("touchend",this.bound("closeAllDropdowns"))),n&&(n="only all and (max-width: "+this._calculateBreakpoint(n.data("g-menu-breakpoint")||"48rem")+")",(n=matchMedia(n)).addListener(this.bound("_checkQuery")),this._checkQuery(n)))},detach:function(){},click:function(t){this.touchend(t)},resetAfterClick:function(t){if(null!==f(t.target).data("g-menuparent"))return!0;this.closeDropdown(t),o.G5&&o.G5.offcanvas&&G5.offcanvas.close()},mouseenter:function(t){t=f(t.target);t.parent(this.options.selectors.mainContainer)&&(t.parent(this.options.selectors.item)&&!t.parent(".g-standard")||this.openDropdown(t))},mouseleave:function(t){t=f(t.target);t.parent(this.options.selectors.mainContainer)&&(t.parent(this.options.selectors.item)&&!t.parent(".g-standard")||this.closeDropdown(t))},touchmove:function(t){f(t.target).isMoving=!0},touchend:function(t){var e,n,i,r,o=this.selectors,s=this.states,a=f(t.target),u=a.parent(o.item).find(o.touchIndicator),c=a.parent(".g-standard")?"standard":"megamenu",l=a.parent(".g-go-back");return a.isMoving?a.isMoving=!1:(a.off("touchmove",this.bound("touchmove")),a.isMoving=!1,n=(e=(a=u?u:a).matches(o.item)?a:a.parent(o.item)).hasClass(s.selected),!e.find(o.dropdown)&&!u||(t.stopPropagation(),u&&!a.matches(o.touchIndicator)||t.preventDefault(),n||(i=e.siblings())&&(i.search(o.touchIndicator+" !> * !> "+o.item+"."+s.selected)||[]).forEach(h(function(t){this.closeDropdown(t)},this)),"megamenu"!=c&&e.parent(o.mainContainer)||!e.find(" > "+o.dropdown+", > * > "+o.dropdown)&&!l||(u=a.parent(".g-sublevel")||a.parent(".g-toplevel"),i=e.find(".g-sublevel"),s=e.parent(".g-dropdown-column"),u&&((c=a.parent(o.mainContainer))&&u.matches(".g-toplevel")||this._fixHeights(u,i,l,c),(u=!c&&s&&(r=s.search("> .g-grid > .g-block"))&&1<r.length?r.search("> .g-sublevel"):u)[n?"removeClass":"addClass"]("g-slide-out"))),this[n?"closeDropdown":"openDropdown"](e),void("click"!==t.type&&this.toggleOverlay(a.parent(o.mainContainer)))))},openDropdown:function(t){var e=(t=f(t.target||t)).find(this.selectors.dropdown);t.addClass(this.states.selected),e&&e.removeClass(this.states.inactive).addClass(this.states.active)},closeDropdown:function(t){var e,n,i=(t=f(t.target||t)).find(this.selectors.dropdown);t.removeClass(this.states.selected),i&&(e=i.search(".g-sublevel"),n=i.search(".g-slide-out, ."+this.states.selected),t=i.search("."+this.states.active),e&&e.attribute("style",null),n&&n.removeClass("g-slide-out").removeClass(this.states.selected),t&&t.removeClass(this.states.active).addClass(this.states.inactive),i.removeClass(this.states.active).addClass(this.states.inactive))},closeAllDropdowns:function(){var t=this.selectors,e=this.states,n=f(t.mainContainer+" > .g-toplevel"),t=n.search(" >"+t.item);t&&t.removeClass(e.selected),n&&((e=n.search("> "+this.options.selectors.item))&&e.forEach(this.closeDropdown.bind(this)),this.closeDropdown(n)),this.toggleOverlay(n)},resetStates:function(t){var e,n;t&&(e=t.search(".g-toplevel, .g-dropdown-column, .g-dropdown, .g-selected, .g-active, .g-slide-out"),n=t.search(".g-active"),e&&(t.attribute("style",null).removeClass("g-selected").removeClass("g-slide-out"),e.attribute("style",null).removeClass("g-selected").removeClass("g-slide-out"),n&&n.removeClass("g-active").addClass("g-inactive")))},toggleOverlay:function(t){t&&(t=!!t.find(".g-active, .g-selected"),this.overlay[t?"addClass":"removeClass"]("g-menu-overlay-open"),this.overlay[0].style.opacity=t?1:0)},_fixHeights:function(t,e,n,i){var r,o,s,a,u;t!=e&&(n&&t.attribute("style",null),r={from:t[0].getBoundingClientRect(),to:(i?e:e.parent(".g-dropdown"))[0].getBoundingClientRect()},o=Math.max(r.from.height,r.to.height),n&&(t.parents('[style^="height"]')||[]).forEach(function(t){(t=f(t)).parent(".g-toplevel")&&(t[0].style.height=r.from.height+"px")}),n||(r.from.height<r.to.height?(t[0].style.height=o+"px",(t.parents('[style^="height"]')||[]).forEach(function(t){(t=f(t)).parent(".g-toplevel")&&(t[0].style.height=o+"px")})):i&&(e[0].style.height=o+"px"),i||(s=o,i=(i=f(e).parent(".g-block:not(.size-100)"))?i.parent(".g-dropdown-column"):null,(e.parents(".g-slide-out, .g-dropdown-column")||t).forEach(function(t){s=Math.max(o,parseInt(t.style.height||0,10))}),i?(i[0].style.height=s+"px",a=i.search("> .g-grid > .g-block"),u=s,a.forEach(function(t,e){e+1!=a.length?u-=t.getBoundingClientRect().height:f(t).find(".g-sublevel")[0].style.height=u+"px"})):e[0].style.height=s+"px")))},_calculateBreakpoint:function(t){var e=parseFloat(t.match(/^\d{1,}/).shift()),t=t.match(/[a-z]{1,}$/i).shift();return e+(t.match(/r?em/)?-.062:-1)+t},_checkQuery:function(t){var e,n,i=this.options.selectors,r=f(i.mobileContainer),o=f(i.mainContainer+i.mobileTarget)||f(i.mainContainer);t.matches?(e=o.find(i.topLevel))&&(o.parent(".g-block").addClass("hidden"),r.parent(".g-block").removeClass("hidden"),e.top(r)):(e=r.find(i.topLevel))&&(r.parent(".g-block").addClass("hidden"),o.parent(".g-block").removeClass("hidden"),e.top(o)),this.resetStates(e),!t.matches&&e&&(n=e.search("[data-g-item-width]"))&&n.forEach(function(t){(t=f(t))[0].style.width=t.data("g-item-width")})},_debug:function(){}});a.exports=i}.call(this)}.call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../utils/dollar-extras":6,domready:7,"elements/zen":36,"mout/function/bind":40,"mout/function/timeout":44,prime:85,"prime-util/prime/bound":81,"prime-util/prime/options":82}],3:[function(t,e,n){"use strict";t("domready");var i,r=t("prime"),o=t("mout/function/bind"),s=t("mout/array/forEach"),a=t("mout/math/map"),u=t("mout/math/clamp"),c=t("mout/function/timeout"),l=t("mout/string/trim"),f=t("../utils/decouple"),h=t("prime-util/prime/bound"),d=t("prime-util/prime/options"),p=t("elements"),m=t("elements/zen"),v=(t=window.getComputedStyle(document.documentElement,""),t=(Array.prototype.slice.call(t).join("").match(/-(moz|webkit|ms)-/)||""===t.OLink&&["","o"])[1],{dom:"WebKit|Moz|MS|O".match(new RegExp("("+t+")","i"))[1],lowercase:t,css:"-"+t+"-",js:t[0].toUpperCase()+t.substr(1)}),g="ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch,y=!1,d=new r({mixin:[h,d],options:{effect:"ease",duration:300,tolerance:function(t){return t/3},padding:0,touch:!0,css3:!0,openClass:"g-offcanvas-open",openingClass:"g-offcanvas-opening",closingClass:"g-offcanvas-closing",overlayClass:"g-nav-overlay"},constructor:function(t){if(this.setOptions(t),this.attached=!1,this.opening=!1,this.moved=!1,this.dragging=!1,this.opened=!1,this.preventOpen=!1,this.offset={x:{start:0,current:0},y:{start:0,current:0}},this.bodyEl=p("body"),this.htmlEl=p("html"),this.panel=p("#g-page-surround"),this.offcanvas=p("#g-offcanvas"),!this.panel||!this.offcanvas)return!1;var e=this.offcanvas.data("g-offcanvas-swipe"),t=this.offcanvas.data("g-offcanvas-css3");return this.setOptions({touch:!(null!==e&&!parseInt(e)),css3:!(null!==t&&!parseInt(t))}),this.options.padding||(this.offcanvas[0].style.display="block",t=this.offcanvas[0].getBoundingClientRect().width,this.offcanvas[0].style.removeProperty("display"),this.setOptions({padding:t})),this.tolerance="function"==typeof this.options.tolerance?this.options.tolerance.call(this,this.options.padding):this.options.tolerance,this.htmlEl.addClass("g-offcanvas-"+(this.options.css3?"css3":"css2")),this.attach(),this._checkTogglers(),this},attach:function(){return this.attached=!0,this.options.touch&&g&&this.attachTouchEvents(),s(["toggle","open","close"],o(function(t){this.bodyEl.delegate("click","[data-offcanvas-"+t+"]",this.bound(t)),g&&this.bodyEl.delegate("touchend","[data-offcanvas-"+t+"]",this.bound(t))},this)),this.attachMutationEvent(),this.overlay=m("div[data-offcanvas-close]."+this.options.overlayClass).top(this.panel),this},attachMutationEvent:function(){this.offcanvas instanceof Node&&new MutationObserver(this.bound("_checkTogglers")).observe(this.offcanvas,{childList:!0,subtree:!0})},attachTouchEvents:function(){var t=window.navigator.msPointerEnabled,t={start:t?"MSPointerDown":"touchstart",move:t?"MSPointerMove":"touchmove",end:t?"MSPointerUp":"touchend"};this._scrollBound=f(window,"scroll",this.bound("_bodyScroll")),this.bodyEl.on(t.move,this.bound("_bodyMove")),this.panel.on(t.start,this.bound("_touchStart")),this.panel.on("touchcancel",this.bound("_touchCancel")),this.panel.on(t.end,this.bound("_touchEnd")),this.panel.on(t.move,this.bound("_touchMove"))},detach:function(){return this.attached=!1,this.options.touch&&g&&this.detachTouchEvents(),s(["toggle","open","close"],o(function(t){this.bodyEl.undelegate("click","[data-offcanvas-"+t+"]",this.bound(t)),g&&this.bodyEl.undelegate("touchend","[data-offcanvas-"+t+"]",this.bound(t))},this)),this.detachMutationEvent(),this.overlay.remove(),this},detachMutationEvent:function(){this.offcanvas instanceof Node&&new MutationObserver(this.bound("_checkTogglers")).disconnect()},detachTouchEvents:function(){var t=window.navigator.msPointerEnabled,t={start:t?"MSPointerDown":"touchstart",move:t?"MSPointerMove":"touchmove",end:t?"MSPointerUp":"touchend"};window.removeEventListener("scroll",this._scrollBound),this.bodyEl.off(t.move,this.bound("_bodyMove")),this.panel.off(t.start,this.bound("_touchStart")),this.panel.off("touchcancel",this.bound("_touchCancel")),this.panel.off(t.end,this.bound("_touchEnd")),this.panel.off(t.move,this.bound("_touchMove"))},open:function(t){return t&&t.type.match(/^touch/i)?t.preventDefault():this.dragging=!1,this.opened||(this.htmlEl.addClass(this.options.openClass),this.htmlEl.addClass(this.options.openingClass),this.overlay[0].style.opacity=1,this.options.css3&&(this.panel[0].style[this.getOffcanvasPosition()]="inherit"),this._setTransition(),this._translateXTo((this.bodyEl.hasClass("g-offcanvas-right")?-1:1)*this.options.padding),this.opened=!0,setTimeout(o(function(){var t=this.panel[0];this.htmlEl.removeClass(this.options.openingClass),this.offcanvas.attribute("aria-expanded",!0),p("[data-offcanvas-toggle]").attribute("aria-expanded",!0),t.style.transition=t.style[v.css+"transition"]=""},this),this.options.duration)),this},close:function(t,e){return t&&t.type.match(/^touch/i)?t.preventDefault():this.dragging=!1,e=e||window,this.opened||this.opening?(this.panel===e||!this.dragging)&&(this.htmlEl.addClass(this.options.closingClass),this.overlay[0].style.opacity=0,this._setTransition(),this._translateXTo(0),this.opened=!1,this.offcanvas.attribute("aria-expanded",!1),p("[data-offcanvas-toggle]").attribute("aria-expanded",!1),setTimeout(o(function(){var t=this.panel[0];this.htmlEl.removeClass(this.options.openClass),this.htmlEl.removeClass(this.options.closingClass),t.style.transition=t.style[v.css+"transition"]="",t.style.transform=t.style[v.css+"transform"]="",t.style[this.getOffcanvasPosition()]=""},this),this.options.duration),this):this},toggle:function(t,e){return t&&t.type.match(/^touch/i)?t.preventDefault():this.dragging=!1,this[this.opened?"close":"open"](t,e)},getOffcanvasPosition:function(){return this.bodyEl.hasClass("g-offcanvas-right")?"right":"left"},_setTransition:function(){var t=this.panel[0];this.options.css3?t.style[v.css+"transition"]=t.style.transition=v.css+"transform "+this.options.duration+"ms "+this.options.effect:t.style[v.css+"transition"]=t.style.transition="left "+this.options.duration+"ms "+this.options.effect+", right "+this.options.duration+"ms "+this.options.effect},_translateXTo:function(t){var e=this.panel[0],n=this.getOffcanvasPosition();this.offset.x.current=t,this.options.css3?e.style[v.css+"transform"]=e.style.transform="translate3d("+t+"px, 0, 0)":e.style[n]=Math.abs(t)+"px"},_bodyScroll:function(){this.moved||(clearTimeout(i),y=!0,i=setTimeout(function(){y=!1},250))},_bodyMove:function(){return this.moved&&event.preventDefault(),!(this.dragging=!0)},_touchStart:function(t){t.touches&&(this.moved=!1,this.opening=!1,this.dragging=!1,this.offset.x.start=t.touches[0].pageX,this.offset.y.start=t.touches[0].pageY,this.preventOpen=!this.opened&&0!==this.offcanvas[0].clientWidth)},_touchCancel:function(){this.moved=!1,this.opening=!1},_touchMove:function(t){var e,n,i,r;y||this.preventOpen||!t.touches||(this.options.css3&&(this.panel[0].style[this.getOffcanvasPosition()]="inherit"),e=this.getOffcanvasPosition(),n=u(t.touches[0].clientX-this.offset.x.start,-this.options.padding,this.options.padding),i=this.offset.x.current=n,r=Math.abs(t.touches[0].pageY-this.offset.y.start),t="right"==e?-1:1,Math.abs(i)>this.options.padding||5<r&&!this.moved||0<Math.abs(n)&&(this.opening=!0,"left"==e&&(this.opened&&0<n||!this.opened&&n<0)||"right"==e&&(this.opened&&n<0||!this.opened&&0<n)||(this.moved||this.htmlEl.hasClass(this.options.openClass)||this.htmlEl.addClass(this.options.openClass),("left"==e&&n<=0||"right"==e&&0<=n)&&(i=n+t*this.options.padding,this.opening=!1),t=a(Math.abs(i),0,this.options.padding,0,1),this.overlay[0].style.opacity=t,this.options.css3?this.panel[0].style[v.css+"transform"]=this.panel[0].style.transform="translate3d("+i+"px, 0, 0)":this.panel[0].style[e]=Math.abs(i)+"px",this.moved=!0)))},_touchEnd:function(t){var e,n;return this.moved&&(e=Math.abs(this.offset.x.current)>this.tolerance,n=!!this.bodyEl.hasClass("g-offcanvas-right")?0<this.offset.x.current:this.offset.x.current<0,this.opening=e?!n:n,this.opened=!this.opening,this[this.opening?"open":"close"](t,this.panel)),!(this.moved=!1)},_checkTogglers:function(t){var e,n,i=p("[data-offcanvas-toggle], [data-offcanvas-open], [data-offcanvas-close]"),r=p("#g-mobilemenu-container");!i||t&&(t.target||t.srcElement)!==r[0]||(this.opened&&this.close(),c(function(){e=this.offcanvas.search(".g-block"),n=r?r.text().length:0;var t=e&&1===e.length&&r&&!l(this.offcanvas.text()).length&&!e.find(".g-menu-item");i[t?"addClass":"removeClass"]("g-offcanvas-hide"),r&&r.parent(".g-block")[n?"removeClass":"addClass"]("hidden"),t||this.attached?t&&this.attached&&(this.detach(),this.attachMutationEvent()):this.attach()},0,this))}});e.exports=d},{"../utils/decouple":5,domready:7,elements:12,"elements/zen":36,"mout/array/forEach":37,"mout/function/bind":40,"mout/function/timeout":44,"mout/math/clamp":49,"mout/math/map":51,"mout/string/trim":60,prime:85,"prime-util/prime/bound":81,"prime-util/prime/options":82}],4:[function(t,e,n){"use strict";function i(){0!=document.body.scrollTop||0!=document.documentElement.scrollTop?(window.scrollBy(0,-50),r=setTimeout(i,10)):clearTimeout(r)}var r,o=t("domready"),s=t("../utils/dollar-extras");o(function(){var t=s("#g-totop");t&&t.on("click",function(t){t.preventDefault(),i()})}),e.exports={}},{"../utils/dollar-extras":6,domready:7}],5:[function(t,e,n){"use strict";var a=window.requestAnimationFrame||window.webkitRequestAnimationFrame||function(t){window.setTimeout(t,1e3/60)};e.exports=function(t,e,n){var i,r=!1;t=t[0]||t;function o(t){i=t,function(){if(!r){a(s);r=true}}()}var s=function(){n.call(t,i),r=!1};try{t.addEventListener(e,o,!1)}catch(t){}return o}},{}],6:[function(t,e,n){"use strict";var i=t("elements"),r=t("mout/array/map"),o=t("slick"),t=function(n,i){return function(t){var e=o.parse(t||"*");return t=r(e,function(t){return n+" "+t}).join(", "),this[i](t)}};i.implement({sibling:t("++","find"),siblings:t("~~","search")}),e.exports=i},{elements:12,"mout/array/map":38,slick:97}],7:[function(t,e,n){!function(t){void 0!==e?e.exports=t():"function"==typeof define&&"object"==typeof define.amd?define(t):this.domready=t()}(function(){var t,e=[],n=document,i=n.documentElement.doScroll,r="DOMContentLoaded",o=(i?/^loaded|^c/:/^loaded|^i|^c/).test(n.readyState);return o||n.addEventListener(r,t=function(){for(n.removeEventListener(r,t),o=1;t=e.shift();)t()}),function(t){o?setTimeout(t,0):e.push(t)}})},{}],8:[function(t,e,n){"use strict";var i=t("./base"),r=t("mout/string/trim"),o=t("mout/array/forEach"),s=t("mout/array/filter"),a=t("mout/array/indexOf");i.implement({setAttribute:function(e,n){return this.forEach(function(t){t.setAttribute(e,n)})},getAttribute:function(t){t=this[0].getAttributeNode(t);return t&&t.specified?t.value:null},hasAttribute:function(t){var e=this[0];if(e.hasAttribute)return e.hasAttribute(t);t=e.getAttributeNode(t);return!(!t||!t.specified)},removeAttribute:function(n){return this.forEach(function(t){var e=t.getAttributeNode(n);e&&t.removeAttributeNode(e)})}});var u={};o(["type","value","name","href","title","id"],function(n){u[n]=function(e){return void 0!==e?this.forEach(function(t){t[n]=e}):this[0][n]}}),o(["checked","disabled","selected"],function(n){u[n]=function(e){return void 0!==e?this.forEach(function(t){t[n]=!!e}):!!this[0][n]}});function c(t){var t=r(t).replace(/\s+/g," ").split(" "),e={};return s(t,function(t){if(""!==t&&!e[t])return e[t]=t}).sort()}u.className=function(e){return void 0!==e?this.forEach(function(t){t.className=c(e).join(" ")}):c(this[0].className).join(" ")},i.implement({attribute:function(t,e){var n=u[t];return n?n.call(this,e):null!=e?this.setAttribute(t,e):null===e?this.removeAttribute(t):void 0===e?this.getAttribute(t):void 0}}),i.implement(u),i.implement({check:function(){return this.checked(!0)},uncheck:function(){return this.checked(!1)},disable:function(){return this.disabled(!0)},enable:function(){return this.disabled(!1)},select:function(){return this.selected(!0)},deselect:function(){return this.selected(!1)}}),i.implement({classNames:function(){return c(this[0].className)},hasClass:function(t){return-1<a(this.classNames(),t)},addClass:function(i){return this.forEach(function(t){var e=t.className,n=c(e+" "+i).join(" ");e!==n&&(t.className=n)})},removeClass:function(n){return this.forEach(function(t){var e=c(t.className);o(c(n),function(t){t=a(e,t);-1<t&&e.splice(t,1)}),t.className=e.join(" ")})},toggleClass:function(t,e){e=void 0!==e?e:!this.hasClass(t);return e?this.addClass(t):this.removeClass(t),!!e}}),i.prototype.toString=function(){var t=this.tag(),e=this.id(),n=this.classNames(),t=t;return e&&(t+="#"+e),n.length&&(t+="."+n.join(".")),t};var l=null==document.createElement("div").textContent?"innerText":"textContent";i.implement({tag:function(){return this[0].tagName.toLowerCase()},html:function(e){return void 0!==e?this.forEach(function(t){t.innerHTML=e}):this[0].innerHTML},text:function(e){return void 0!==e?this.forEach(function(t){t[l]=e}):this[0][l]},data:function(t,e){switch(e){case void 0:return this.getAttribute("data-"+t);case null:return this.removeAttribute("data-"+t);default:return this.setAttribute("data-"+t,e)}}}),e.exports=i},{"./base":9,"mout/array/filter":15,"mout/array/forEach":16,"mout/array/indexOf":17,"mout/string/trim":34}],9:[function(t,e,n){"use strict";function h(t){return t===window?"window":t===document?"document":t===document.documentElement?"html":t[l]||(t[l]=(c++).toString(36))}var i=t("prime"),r=t("mout/array/forEach"),o=t("mout/array/map"),s=t("mout/array/filter"),a=t("mout/array/every"),u=t("mout/array/some"),c=0,t=document.__counter,l="uid:"+(document.__counter=(t?parseInt(t,36)+1:0).toString(36)),d={},t=i({constructor:function t(e,n){if(null==e)return this&&this.constructor===t?new p:null;var i;if(e.constructor!==p){if(i=new p,"string"==typeof e)return i.search?(i[i.length++]=n||document,i.search(e)):null;if(e.nodeType||e===window)i[i.length++]=e;else if(e.length)for(var r={},o=0,s=e.length;o<s;o++){var a=t(e[o],n);if(a&&a.length)for(var u=0,c=a.length;u<c;u++){var l,f=a[u];r[l=h(f)]||(i[i.length++]=f,r[l]=!0)}}}else i=e;return i.length?1===i.length?(l=h(i[0]),d[l]||(d[l]=i)):i:null}}),p=i({inherits:t,constructor:function(){this.length=0},unlink:function(){return this.map(function(t){return delete d[h(t)],t})},forEach:function(t,e){return r(this,t,e),this},map:function(t,e){return o(this,t,e)},filter:function(t,e){return s(this,t,e)},every:function(t,e){return a(this,t,e)},some:function(t,e){return u(this,t,e)}});e.exports=t},{"mout/array/every":14,"mout/array/filter":15,"mout/array/forEach":16,"mout/array/map":18,"mout/array/some":19,prime:85}],10:[function(t,e,n){"use strict";var a=t("prime/map"),h=t("./events");t("./traversal"),h.implement({delegate:function(n,r,o,s){return this.forEach(function(t){var i=h(t),e=i._delegation||(i._delegation={}),t=e[n]||(e[n]={}),e=t[r]||(t[r]=new a);e.get(o)||(t=function(t){var e,n=h(t.target||t.srcElement),n=n.matches(r)?n:n.parent(r);return e=n?o.call(i,t,n):e},e.set(o,t),i.on(n,t,s))})},undelegate:function(u,c,l,f){return this.forEach(function(t){var e,n,i,r=h(t);if((e=r._delegation)&&(n=e[u])&&(i=n[c])){t=i.get(l);if(t){r.off(u,t,f),i.remove(t),i.count()||delete n[c];var o,s=!0,a=!0;for(o in n){s=!1;break}for(o in s&&delete e[u],e){a=!1;break}a&&delete r._delegation}}})}}),e.exports=h},{"./events":11,"./traversal":35,"prime/map":86}],11:[function(t,e,n){"use strict";var l=t("prime/emitter"),f=t("./base"),t=document.documentElement,a=t.addEventListener?function(t,e,n,i){return t.addEventListener(e,n,i||!1),n}:function(t,e,n){return t.attachEvent("on"+e,n),n},h=t.removeEventListener?function(t,e,n,i){t.removeEventListener(e,n,i||!1)}:function(t,e,n){t.detachEvent("on"+e,n)};f.implement({on:function(r,o,s){return this.forEach(function(t){var e=f(t),n=r+(s?":capture":"");l.prototype.on.call(e,n,o);var i=e._domListeners||(e._domListeners={});i[n]||(i[n]=a(t,r,function(t){l.prototype.emit.call(e,n,t||window.event,l.EMIT_SYNC)},s))})},off:function(a,u,c){return this.forEach(function(t){var e,n=f(t),i=a+(c?":capture":""),r=n._domListeners,o=n._listeners;if(r&&(e=r[i])&&o&&o[i]&&(l.prototype.off.call(n,i,u),!n._listeners||!n._listeners[a])){for(var s in h(t,a,e),delete r[a],r)return;delete n._domListeners}})},emit:function(){var e=arguments;return this.forEach(function(t){l.prototype.emit.apply(f(t),e)})}}),e.exports=f},{"./base":9,"prime/emitter":84}],12:[function(t,e,n){"use strict";var i=t("./base");t("./attributes"),t("./events"),t("./insertion"),t("./traversal"),t("./delegation"),e.exports=i},{"./attributes":8,"./base":9,"./delegation":10,"./events":11,"./insertion":13,"./traversal":35}],13:[function(t,e,n){"use strict";var i=t("./base");i.implement({appendChild:function(t){return this[0].appendChild(i(t)[0]),this},insertBefore:function(t,e){return this[0].insertBefore(i(t)[0],i(e)[0]),this},removeChild:function(t){return this[0].removeChild(i(t)[0]),this},replaceChild:function(t,e){return this[0].replaceChild(i(t)[0],i(e)[0]),this}}),i.implement({before:function(e){var n=(e=i(e)[0]).parentNode;return n&&this.forEach(function(t){n.insertBefore(t,e)}),this},after:function(e){var n=(e=i(e)[0]).parentNode;return n&&this.forEach(function(t){n.insertBefore(t,e.nextSibling)}),this},bottom:function(e){return e=i(e)[0],this.forEach(function(t){e.appendChild(t)})},top:function(e){return e=i(e)[0],this.forEach(function(t){e.insertBefore(t,e.firstChild)})}}),i.implement({insert:i.prototype.bottom,remove:function(){return this.forEach(function(t){var e=t.parentNode;e&&e.removeChild(t)})},replace:function(t){return(t=i(t)[0]).parentNode.replaceChild(this[0],t),this}}),e.exports=i},{"./base":9}],14:[function(t,e,n){var s=t("../function/makeIterator_");e.exports=function(t,e,n){e=s(e,n);var i=!0;if(null==t)return i;for(var r=-1,o=t.length;++r<o;)if(!e(t[r],r,t)){i=!1;break}return i}},{"../function/makeIterator_":21}],15:[function(t,e,n){var a=t("../function/makeIterator_");e.exports=function(t,e,n){e=a(e,n);var i=[];if(null==t)return i;for(var r,o=-1,s=t.length;++o<s;)e(r=t[o],o,t)&&i.push(r);return i}},{"../function/makeIterator_":21}],16:[function(t,e,n){e.exports=function(t,e,n){if(null!=t)for(var i=-1,r=t.length;++i<r&&!1!==e.call(n,t[i],i,t););}},{}],17:[function(t,e,n){e.exports=function(t,e,n){if(null==t)return-1;for(var i=t.length,r=(n=n||0)<0?i+n:n;r<i;){if(t[r]===e)return r;r++}return-1}},{}],18:[function(t,e,n){var s=t("../function/makeIterator_");e.exports=function(t,e,n){e=s(e,n);var i=[];if(null==t)return i;for(var r=-1,o=t.length;++r<o;)i[r]=e(t[r],r,t);return i}},{"../function/makeIterator_":21}],19:[function(t,e,n){var s=t("../function/makeIterator_");e.exports=function(t,e,n){e=s(e,n);var i=!1;if(null==t)return i;for(var r=-1,o=t.length;++r<o;)if(e(t[r],r,t)){i=!0;break}return i}},{"../function/makeIterator_":21}],20:[function(t,e,n){e.exports=function(t){return t}},{}],21:[function(t,e,n){var o=t("./identity"),s=t("./prop"),a=t("../object/deepMatches");e.exports=function(i,r){if(null==i)return o;switch(typeof i){case"function":return void 0!==r?function(t,e,n){return i.call(r,t,e,n)}:i;case"object":return function(t){return a(t,i)};case"string":case"number":return s(i)}}},{"../object/deepMatches":27,"./identity":20,"./prop":22}],22:[function(t,e,n){e.exports=function(e){return function(t){return t[e]}}},{}],23:[function(t,e,n){var i=t("./isKind"),t=Array.isArray||function(t){return i(t,"Array")};e.exports=t},{"./isKind":24}],24:[function(t,e,n){var i=t("./kindOf");e.exports=function(t,e){return i(t)===e}},{"./kindOf":25}],25:[function(t,e,n){var i=/^\[object (.*)\]$/,r=Object.prototype.toString;e.exports=function(t){return null===t?"Null":void 0===t?"Undefined":i.exec(r.call(t))[1]}},{}],26:[function(t,e,n){e.exports=function(t){return null==t?"":t.toString()}},{}],27:[function(t,e,n){var r=t("./forOwn"),o=t("../lang/isArray");function s(t,e){for(var n=-1,i=e.length;++n<i;)if(!function(t,e){for(var n=-1,i=t.length;++n<i;)if(a(t[n],e))return 1}(t,e[n]))return!1;return!0}function a(t,e){return t&&"object"==typeof t?o(t)&&o(e)?s(t,e):(n=t,i=!0,r(e,function(t,e){if(!a(n[e],t))return i=!1}),i):t===e;var n,i}e.exports=a},{"../lang/isArray":23,"./forOwn":29}],28:[function(t,e,n){var a,u,c=t("./hasOwn");function l(t,e,n,i){return t.call(i,e[n],n,e)}e.exports=function(t,e,n){var i,r=0;for(i in null==a&&function(){for(var t in u=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],a=!0,{toString:null})a=!1}(),t)if(!1===l(e,t,i,n))break;if(a)for(var o=t.constructor,s=!!o&&t===o.prototype;(i=u[r++])&&("constructor"===i&&(s||!c(t,i))||t[i]===Object.prototype[i]||!1!==l(e,t,i,n)););}},{"./hasOwn":30}],29:[function(t,e,n){var o=t("./hasOwn"),s=t("./forIn");e.exports=function(n,i,r){s(n,function(t,e){if(o(n,e))return i.call(r,n[e],e,n)})}},{"./forIn":28,"./hasOwn":30}],30:[function(t,e,n){e.exports=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}},{}],31:[function(t,e,n){e.exports=[" ","\n","\r","\t","\f","\v"," "," ","᠎"," "," "," "," "," "," "," "," "," "," "," ","\u2028","\u2029"," "," "," "]},{}],32:[function(t,e,n){var u=t("../lang/toString"),c=t("./WHITE_SPACES");e.exports=function(t,e){for(var n,i,r=0,o=(t=u(t)).length,s=(e=e||c).length,a=!0;a&&r<o;)for(a=!1,n=-1,i=t.charAt(r);++n<s;)if(i===e[n]){a=!0,r++;break}return o<=r?"":t.substr(r,o)}},{"../lang/toString":26,"./WHITE_SPACES":31}],33:[function(t,e,n){var a=t("../lang/toString"),u=t("./WHITE_SPACES");e.exports=function(t,e){for(var n,i,r=(t=a(t)).length-1,o=(e=e||u).length,s=!0;s&&0<=r;)for(s=!1,n=-1,i=t.charAt(r);++n<o;)if(i===e[n]){s=!0,r--;break}return 0<=r?t.substring(0,r+1):""}},{"../lang/toString":26,"./WHITE_SPACES":31}],34:[function(t,e,n){var i=t("../lang/toString"),r=t("./WHITE_SPACES"),o=t("./ltrim"),s=t("./rtrim");e.exports=function(t,e){return t=i(t),o(s(t,e=e||r),e)}},{"../lang/toString":26,"./WHITE_SPACES":31,"./ltrim":32,"./rtrim":33}],35:[function(t,e,n){"use strict";function i(e,t){return r(o.parse(t||"*"),function(t){return e+" "+t}).join(", ")}var r=t("mout/array/map"),o=t("slick"),s=t("./base"),a=Array.prototype.push;s.implement({search:function(t){if(1===this.length)return s(o.search(t,this[0],new s));for(var e,n=[],i=0;e=this[i];i++)a.apply(n,o.search(t,e));return(n=s(n))&&n.sort()},find:function(t){if(1===this.length)return s(o.find(t,this[0]));for(var e=0;n=this[e];e++){var n=o.find(t,n);if(n)return s(n)}return null},sort:function(){return o.sort(this)},matches:function(t){return o.matches(this[0],t)},contains:function(t){return o.contains(this[0],t)},nextSiblings:function(t){return this.search(i("~",t))},nextSibling:function(t){return this.find(i("+",t))},previousSiblings:function(t){return this.search(i("!~",t))},previousSibling:function(t){return this.find(i("!+",t))},children:function(t){return this.search(i(">",t))},firstChild:function(t){return this.find(i("^",t))},lastChild:function(t){return this.find(i("!^",t))},parent:function(t){var e=[];t:for(var n,i=0;n=this[i];i++)for(;(n=n.parentNode)&&n!==document;)if(!t||o.matches(n,t)){e.push(n);break t}return s(e)},parents:function(t){for(var e,n=[],i=0;e=this[i];i++)for(;(e=e.parentNode)&&e!==document;)t&&!o.matches(e,t)||n.push(e);return s(n)}}),e.exports=s},{"./base":9,"mout/array/map":18,slick:97}],36:[function(t,e,n){"use strict";var s=t("mout/array/forEach"),i=t("mout/array/map"),r=t("slick/parser"),a=t("./base");e.exports=function(t,o){return a(i(r(t),function(t){var n,r;return s(t,function(t,e){var i=(o||document).createElement(t.tag);t.id&&(i.id=t.id),t.classList&&(i.className=t.classList.join(" ")),t.attributes&&s(t.attributes,function(t){i.setAttribute(t.name,t.value||"")}),t.pseudos&&s(t.pseudos,function(t){var e=a(i),n=e[t.name];n&&n.call(e,t.value)}),0===e?r=i:" "===t.combinator?n.appendChild(i):"+"!==t.combinator||(t=n.parentNode)&&t.appendChild(i),n=i}),r}))}},{"./base":9,"mout/array/forEach":16,"mout/array/map":18,"slick/parser":98}],37:[function(t,e,n){e.exports=function(t,e,n){if(null!=t)for(var i=-1,r=t.length;++i<r&&!1!==e.call(n,t[i],i,t););}},{}],38:[function(t,e,n){var s=t("../function/makeIterator_");e.exports=function(t,e,n){e=s(e,n);var i=[];if(null==t)return i;for(var r=-1,o=t.length;++r<o;)i[r]=e(t[r],r,t);return i}},{"../function/makeIterator_":42}],39:[function(t,e,n){e.exports=function(t,e,n){var i=t.length;e=null==e?0:e<0?Math.max(i+e,0):Math.min(e,i),n=null==n?i:n<0?Math.max(i+n,0):Math.min(n,i);for(var r=[];e<n;)r.push(t[e++]);return r}},{}],40:[function(t,e,n){var r=t("../array/slice");e.exports=function(t,e,n){var i=r(arguments,2);return function(){return t.apply(e,i.concat(r(arguments)))}}},{"../array/slice":39}],41:[function(t,e,n){e.exports=function(t){return t}},{}],42:[function(t,e,n){var o=t("./identity"),s=t("./prop"),a=t("../object/deepMatches");e.exports=function(i,r){if(null==i)return o;switch(typeof i){case"function":return void 0!==r?function(t,e,n){return i.call(r,t,e,n)}:i;case"object":return function(t){return a(t,i)};case"string":case"number":return s(i)}}},{"../object/deepMatches":53,"./identity":41,"./prop":43}],43:[function(t,e,n){e.exports=function(e){return function(t){return t[e]}}},{}],44:[function(t,e,n){var r=t("../array/slice");e.exports=function(t,e,n){var i=r(arguments,3);return setTimeout(function(){t.apply(n,i)},e)}},{"../array/slice":39}],45:[function(t,e,n){var i=t("./isKind"),t=Array.isArray||function(t){return i(t,"Array")};e.exports=t},{"./isKind":46}],46:[function(t,e,n){var i=t("./kindOf");e.exports=function(t,e){return i(t)===e}},{"./kindOf":47}],47:[function(t,e,n){e.exports=function(t){return Object.prototype.toString.call(t).slice(8,-1)}},{}],48:[function(t,e,n){e.exports=function(t){return null==t?"":t.toString()}},{}],49:[function(t,e,n){e.exports=function(t,e,n){return t<e?e:n<t?n:t}},{}],50:[function(t,e,n){e.exports=function(t,e,n){return e+(n-e)*t}},{}],51:[function(t,e,n){var o=t("./lerp"),s=t("./norm");e.exports=function(t,e,n,i,r){return o(s(t,e,n),i,r)}},{"./lerp":50,"./norm":52}],52:[function(t,e,n){e.exports=function(t,e,n){if(t<e||n<t)throw new RangeError("value ("+t+") must be between "+e+" and "+n);return t===n?1:(t-e)/(n-e)}},{}],53:[function(t,e,n){var r=t("./forOwn"),o=t("../lang/isArray");function s(t,e){for(var n=-1,i=e.length;++n<i;)if(!function(t,e){for(var n=-1,i=t.length;++n<i;)if(a(t[n],e))return 1}(t,e[n]))return!1;return!0}function a(t,e){return t&&"object"==typeof t&&e&&"object"==typeof e?o(t)&&o(e)?s(t,e):(n=t,i=!0,r(e,function(t,e){if(!a(n[e],t))return i=!1}),i):t===e;var n,i}e.exports=a},{"../lang/isArray":45,"./forOwn":55}],54:[function(t,e,n){var a,u,c=t("./hasOwn");function l(t,e,n,i){return t.call(i,e[n],n,e)}e.exports=function(t,e,n){var i,r=0;for(i in null==a&&function(){for(var t in u=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],a=!0,{toString:null})a=!1}(),t)if(!1===l(e,t,i,n))break;if(a)for(var o=t.constructor,s=!!o&&t===o.prototype;(i=u[r++])&&("constructor"===i&&(s||!c(t,i))||t[i]===Object.prototype[i]||!1!==l(e,t,i,n)););}},{"./hasOwn":56}],55:[function(t,e,n){var o=t("./hasOwn"),s=t("./forIn");e.exports=function(n,i,r){s(n,function(t,e){if(o(n,e))return i.call(r,n[e],e,n)})}},{"./forIn":54,"./hasOwn":56}],56:[function(t,e,n){e.exports=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}},{}],57:[function(t,e,n){e.exports=[" ","\n","\r","\t","\f","\v"," "," ","᠎"," "," "," "," "," "," "," "," "," "," "," ","\u2028","\u2029"," "," "," "]},{}],58:[function(t,e,n){var u=t("../lang/toString"),c=t("./WHITE_SPACES");e.exports=function(t,e){for(var n,i,r=0,o=(t=u(t)).length,s=(e=e||c).length,a=!0;a&&r<o;)for(a=!1,n=-1,i=t.charAt(r);++n<s;)if(i===e[n]){a=!0,r++;break}return o<=r?"":t.substr(r,o)}},{"../lang/toString":48,"./WHITE_SPACES":57}],59:[function(t,e,n){var a=t("../lang/toString"),u=t("./WHITE_SPACES");e.exports=function(t,e){for(var n,i,r=(t=a(t)).length-1,o=(e=e||u).length,s=!0;s&&0<=r;)for(s=!1,n=-1,i=t.charAt(r);++n<o;)if(i===e[n]){s=!0,r--;break}return 0<=r?t.substring(0,r+1):""}},{"../lang/toString":48,"./WHITE_SPACES":57}],60:[function(t,e,n){var i=t("../lang/toString"),r=t("./WHITE_SPACES"),o=t("./ltrim"),s=t("./rtrim");e.exports=function(t,e){return t=i(t),o(s(t,e=e||r),e)}},{"../lang/toString":48,"./WHITE_SPACES":57,"./ltrim":58,"./rtrim":59}],61:[function(t,e,n){e.exports=function(t,e,n){var i=t.length;e=null==e?0:e<0?Math.max(i+e,0):Math.min(e,i),n=null==n?i:n<0?Math.max(i+n,0):Math.min(n,i);for(var r=[];e<n;)r.push(t[e++]);return r}},{}],62:[function(t,e,n){var r=t("../array/slice");e.exports=function(t,e,n){var i=r(arguments,2);return function(){return t.apply(e,i.concat(r(arguments)))}}},{"../array/slice":61}],63:[function(t,e,n){var i=t("./kindOf"),r=t("./isPlainObject"),o=t("../object/mixIn");e.exports=function(t){switch(i(t)){case"Object":return r(e=t)?o({},e):e;case"Array":return t.slice();case"RegExp":return e="",e+=t.multiline?"m":"",e+=t.global?"g":"",e+=t.ignorecase?"i":"",new RegExp(t.source,e);case"Date":return new Date(+t);default:return t}var e}},{"../object/mixIn":73,"./isPlainObject":67,"./kindOf":68}],64:[function(t,e,n){var i=t("./clone"),r=t("../object/forOwn"),o=t("./kindOf"),s=t("./isPlainObject");function a(t,e){switch(o(t)){case"Object":return function(t,n){{if(s(t)){var e={};return r(t,function(t,e){this[e]=a(t,n)},e),e}return n?n(t):t}}(t,e);case"Array":return function(t,e){var n=[],i=-1,r=t.length;for(;++i<r;)n[i]=a(t[i],e);return n}(t,e);default:return i(t)}}e.exports=a},{"../object/forOwn":70,"./clone":63,"./isPlainObject":67,"./kindOf":68}],65:[function(t,e,n){arguments[4][24][0].apply(n,arguments)},{"./kindOf":68,dup:24}],66:[function(t,e,n){var i=t("./isKind");e.exports=function(t){return i(t,"Object")}},{"./isKind":65}],67:[function(t,e,n){e.exports=function(t){return!!t&&"object"==typeof t&&t.constructor===Object}},{}],68:[function(t,e,n){arguments[4][25][0].apply(n,arguments)},{dup:25}],69:[function(t,e,n){arguments[4][28][0].apply(n,arguments)},{"./hasOwn":71,dup:28}],70:[function(t,e,n){arguments[4][29][0].apply(n,arguments)},{"./forIn":69,"./hasOwn":71,dup:29}],71:[function(t,e,n){arguments[4][30][0].apply(n,arguments)},{dup:30}],72:[function(t,e,n){var s=t("./hasOwn"),a=t("../lang/deepClone"),u=t("../lang/isObject");e.exports=function t(){for(var e,n,i,r=1,o=a(arguments[0]);i=arguments[r++];)for(e in i)s(i,e)&&(n=i[e],u(n)&&u(o[e])?o[e]=t(o[e],n):o[e]=a(n));return o}},{"../lang/deepClone":64,"../lang/isObject":66,"./hasOwn":71}],73:[function(t,e,n){var o=t("./forOwn");function s(t,e){this[e]=t}e.exports=function(t,e){for(var n,i=0,r=arguments.length;++i<r;)null!=(n=arguments[i])&&o(n,s,t);return t}},{"./forOwn":70}],74:[function(t,e,n){"use strict";var a=t("mout/object/hasOwn"),u=t("mout/object/mixIn"),c=t("mout/lang/createObject"),l=t("mout/lang/kindOf"),s=!0;try{Object.defineProperty({},"~",{}),Object.getOwnPropertyDescriptor({},"~")}catch(t){s=!1}function f(t){var e,n=this.prototype;for(e in t)if(!e.match(p)){if(s){var i=Object.getOwnPropertyDescriptor(t,e);if(i){Object.defineProperty(n,e,i);continue}}n[e]=t[e]}if(h)for(var r=0;e=d[r];r++){var o=t[e];o!==Object.prototype[e]&&(n[e]=o)}return this}var h=!{valueOf:0}.propertyIsEnumerable("valueOf"),d=["toString","valueOf"],p=/^constructor|inherits|mixin$/;e.exports=function(t){var e,n,i=(t="Function"===l(t)?{constructor:t}:t).inherits,r=a(t,"constructor")?t.constructor:i?function(){return i.apply(this,arguments)}:function(){};i&&(u(r,i),e=i.prototype,n=r.prototype=c(e),r.parent=e,n.constructor=r),r.implement||(r.implement=f);var o=t.mixin;if(o){"Array"!==l(o)&&(o=[o]);for(var s=0;s<o.length;s++)r.implement(c(o[s].prototype))}return r.implement(t)}},{"mout/lang/createObject":75,"mout/lang/kindOf":76,"mout/object/hasOwn":79,"mout/object/mixIn":80}],75:[function(t,e,n){var i=t("../object/mixIn");e.exports=function(t,e){function n(){}return n.prototype=t,i(new n,e)}},{"../object/mixIn":80}],76:[function(t,e,n){arguments[4][25][0].apply(n,arguments)},{dup:25}],77:[function(t,e,n){arguments[4][28][0].apply(n,arguments)},{"./hasOwn":79,dup:28}],78:[function(t,e,n){arguments[4][29][0].apply(n,arguments)},{"./forIn":77,"./hasOwn":79,dup:29}],79:[function(t,e,n){arguments[4][30][0].apply(n,arguments)},{dup:30}],80:[function(t,e,n){arguments[4][73][0].apply(n,arguments)},{"./forOwn":78,dup:73}],81:[function(t,e,n){"use strict";var i=t("prime"),r=t("mout/function/bind"),i=i({bound:function(t){var e=this._bound||(this._bound={});return e[t]||(e[t]=r(this[t],this))}});e.exports=i},{"mout/function/bind":62,prime:74}],82:[function(t,e,n){"use strict";var i=t("prime"),r=t("mout/object/merge"),i=i({setOptions:function(t){var e=[{},this.options];return e.push.apply(e,arguments),this.options=r.apply(null,e),this}});e.exports=i},{"mout/object/merge":72,prime:74}],83:[function(t,p,e){!function(h,e,d){!function(){"use strict";function r(e,t,n,i){e.length||i(function(){o(e)});var r={callback:t,context:n};return e.push(r),function(){var t=u(e,r);-1<t&&e.splice(t,1)}}function o(t){var e=n();a(t.splice(0),function(t){t.callback.call(t.context,e)})}function s(t,e,n){return"Number"===i(e)?s.timeout(t,e,n):s.immediate(t,e)}var i=t("mout/lang/kindOf"),n=t("mout/time/now"),a=t("mout/array/forEach"),u=t("mout/array/indexOf"),c={timeout:{},frame:[],immediate:[]};e.process&&h.nextTick?s.immediate=function(t,e){return r(c.immediate,t,e,h.nextTick)}:e.setImmediate?s.immediate=function(t,e){return r(c.immediate,t,e,d)}:e.postMessage&&e.addEventListener?(addEventListener("message",function(t){t.source===e&&"@deferred"===t.data&&(t.stopPropagation(),o(c.immediate))},!0),s.immediate=function(t,e){return r(c.immediate,t,e,function(){postMessage("@deferred","*")})}):s.immediate=function(t,e){return r(c.immediate,t,e,function(t){setTimeout(t,0)})};var l,f=e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(t){setTimeout(t,1e3/60)};s.frame=function(t,e){return r(c.frame,t,e,f)},s.timeout=function(t,e,n){var i=c.timeout;return l=l||s.immediate(function(){l=null,c.timeout={}}),r(i[e]||(i[e]=[]),t,n,function(t){setTimeout(t,e)})},p.exports=s}.call(this)}.call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("timers").setImmediate)},{_process:99,"mout/array/forEach":87,"mout/array/indexOf":88,"mout/lang/kindOf":90,"mout/time/now":95,timers:100}],84:[function(t,e,n){"use strict";var o=t("mout/array/indexOf"),s=t("mout/array/forEach"),i=t("./index"),a=t("./defer"),u=Array.prototype.slice,c=i({constructor:function(t){this._stoppable=t},on:function(t,e){var n=this._listeners||(this._listeners={}),t=n[t]||(n[t]=[]);return-1===o(t,e)&&t.push(e),this},off:function(t,e){var n,i=this._listeners;if(i&&(n=i[t])){var r,e=o(n,e);for(r in-1<e&&n.splice(e,1),n.length||delete i[t],i)return this;delete this._listeners}return this},emit:function(n){function t(){var t,e=i._listeners;e&&(t=e[n])&&s(t.slice(0),function(t){t=t.apply(i,r);if(i._stoppable)return t})}var i=this,r=u.call(arguments,1);return r[r.length-1]===c.EMIT_SYNC?(r.pop(),t()):a(t),this}});c.EMIT_SYNC={},e.exports=c},{"./defer":83,"./index":85,"mout/array/forEach":87,"mout/array/indexOf":88}],85:[function(t,e,n){"use strict";var a=t("mout/object/hasOwn"),u=t("mout/object/mixIn"),c=t("mout/lang/createObject"),l=t("mout/lang/kindOf"),s=!0;try{Object.defineProperty({},"~",{}),Object.getOwnPropertyDescriptor({},"~")}catch(t){s=!1}function f(t){var e,n=this.prototype;for(e in t)if(!e.match(p)){if(s){var i=Object.getOwnPropertyDescriptor(t,e);if(i){Object.defineProperty(n,e,i);continue}}n[e]=t[e]}if(h)for(var r=0;e=d[r];r++){var o=t[e];o!==Object.prototype[e]&&(n[e]=o)}return this}var h=!{valueOf:0}.propertyIsEnumerable("valueOf"),d=["toString","valueOf"],p=/^constructor|inherits|mixin$/;e.exports=function(t){var e,n,i=(t="Function"===l(t)?{constructor:t}:t).inherits,r=a(t,"constructor")?t.constructor:i?function(){return i.apply(this,arguments)}:function(){};i&&(u(r,i),e=i.prototype,n=r.prototype=c(e),r.parent=e,n.constructor=r),r.implement||(r.implement=f);var o=t.mixin;if(o){"Array"!==l(o)&&(o=[o]);for(var s=0;s<o.length;s++)r.implement(c(o[s].prototype))}return r.implement(t)}},{"mout/lang/createObject":89,"mout/lang/kindOf":90,"mout/object/hasOwn":93,"mout/object/mixIn":94}],86:[function(t,e,n){"use strict";var i=t("mout/array/indexOf"),o=t("./index")({constructor:function(){this.length=0,this._values=[],this._keys=[]},set:function(t,e){var n=i(this._keys,t);return-1===n?(this._keys.push(t),this._values.push(e),this.length++):this._values[n]=e,this},get:function(t){t=i(this._keys,t);return-1===t?null:this._values[t]},count:function(){return this.length},forEach:function(t,e){for(var n=0,i=this.length;n<i&&!1!==t.call(e,this._values[n],this._keys[n],this);n++);return this},map:function(n,i){var r=new o;return this.forEach(function(t,e){r.set(e,n.call(i,t,e,this))},this),r},filter:function(n,i){var r=new o;return this.forEach(function(t,e){n.call(i,t,e,this)&&r.set(e,t)},this),r},every:function(n,i){var r=!0;return this.forEach(function(t,e){if(!n.call(i,t,e,this))return r=!1},this),r},some:function(n,i){var r=!1;return this.forEach(function(t,e){if(n.call(i,t,e,this))return!(r=!0)},this),r},indexOf:function(t){t=i(this._values,t);return-1<t?this._keys[t]:null},remove:function(t){t=i(this._values,t);return-1!==t?(this._values.splice(t,1),this.length--,this._keys.splice(t,1)[0]):null},unset:function(t){t=i(this._keys,t);return-1!==t?(this._keys.splice(t,1),this.length--,this._values.splice(t,1)[0]):null},keys:function(){return this._keys.slice()},values:function(){return this._values.slice()}}),t=function(){return new o};t.prototype=o.prototype,e.exports=t},{"./index":85,"mout/array/indexOf":88}],87:[function(t,e,n){arguments[4][16][0].apply(n,arguments)},{dup:16}],88:[function(t,e,n){arguments[4][17][0].apply(n,arguments)},{dup:17}],89:[function(t,e,n){arguments[4][75][0].apply(n,arguments)},{"../object/mixIn":94,dup:75}],90:[function(t,e,n){arguments[4][25][0].apply(n,arguments)},{dup:25}],91:[function(t,e,n){arguments[4][28][0].apply(n,arguments)},{"./hasOwn":93,dup:28}],92:[function(t,e,n){arguments[4][29][0].apply(n,arguments)},{"./forIn":91,"./hasOwn":93,dup:29}],93:[function(t,e,n){arguments[4][30][0].apply(n,arguments)},{dup:30}],94:[function(t,e,n){arguments[4][73][0].apply(n,arguments)},{"./forOwn":92,dup:73}],95:[function(t,e,n){function i(){return i.get()}i.get="function"==typeof Date.now?Date.now:function(){return+new Date},e.exports=i},{}],96:[function(t,e,n){"use strict";function i(t){return w(t,!0)}function r(t){this.document=t;var e=this.root=t.documentElement;this.tested={},this.uniqueID=this.has("EXPANDOS")?w:i,this.getAttribute=this.has("GET_ATTRIBUTE")?function(t,e){return t.getAttribute(e)}:function(t,e){return(t=t.getAttributeNode(e))&&t.specified?t.value:null},this.hasAttribute=e.hasAttribute?function(t,e){return t.hasAttribute(e)}:function(t,e){return!(!(t=t.getAttributeNode(e))||!t.specified)},this.contains=t.contains&&e.contains?function(t,e){return t.contains(e)}:e.compareDocumentPosition?function(t,e){return t===e||!!(16&t.compareDocumentPosition(e))}:function(t,e){do{if(e===t)return!0}while(e=e.parentNode);return!1},this.sorter=e.compareDocumentPosition?function(t,e){return t.compareDocumentPosition&&e.compareDocumentPosition?4&t.compareDocumentPosition(e)?-1:t===e?0:1:0}:"sourceIndex"in e?function(t,e){return t.sourceIndex&&e.sourceIndex?t.sourceIndex-e.sourceIndex:0}:t.createRange?function(t,e){if(!t.ownerDocument||!e.ownerDocument)return 0;var n=t.ownerDocument.createRange(),i=e.ownerDocument.createRange();return n.setStart(t,0),n.setEnd(t,0),i.setStart(e,0),i.setEnd(e,0),n.compareBoundaryPoints(Range.START_TO_END,i)}:null,this.failed={};var n=this.has("MATCHES_SELECTOR");n&&(this.matchesSelector=function(t,e){if(this.failed[e])return null;try{return n.call(t,e)}catch(t){return _.debug&&console.warn("matchesSelector failed on "+e),this.failed[e]=!0,null}}),this.has("QUERY_SELECTOR")&&(this.querySelectorAll=function(t,e){if(this.failed[e])return!0;var n,i,r,o,s;if(t!==this.document&&(o=e[0].combinator,r=e,(i=t.getAttribute("id"))||(s=t).setAttribute("id",i="__slick__"),e="#"+i+" "+r,(-1<o.indexOf("~")||-1<o.indexOf("+"))&&((t=t.parentNode)||(n=!0))),!n)try{n=t.querySelectorAll(e.toString())}catch(t){_.debug&&console.warn("querySelectorAll failed on "+(r||e)),n=this.failed[r||e]=!0}return s&&s.removeAttribute("id"),n})}var b=t("./parser"),o=0,s="uid:"+(document.__counter=(parseInt(document.__counter||-1,36)+1).toString(36)),w=function(t,e){if(t===window)return"window";if(t===document)return"document";if(t===document.documentElement)return"html";if(e){e=t.getAttribute(s);return e||(e=(o++).toString(36),t.setAttribute(s,e)),e}return t[s]||(t[s]=(o++).toString(36))},E=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)},a=0,u={GET_ELEMENT_BY_ID:function(t,e){return e="slick_"+a++,t.innerHTML='<a id="'+e+'"></a>',!!this.getElementById(e)},QUERY_SELECTOR:function(t){return t.innerHTML="_<style>:nth-child(2){}</style>",t.innerHTML='<a class="MiX"></a>',1===t.querySelectorAll(".MiX").length},EXPANDOS:function(t,e){return e="slick_"+a++,t._custom_property_=e,t._custom_property_===e},MATCHES_SELECTOR:function(e){e.className="MiX";var n=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector;if(n)try{n.call(e,":slick")}catch(t){return!!n.call(e,".MiX")&&n}return!1},GET_ELEMENTS_BY_CLASS_NAME:function(t){return t.innerHTML='<a class="f"></a><a class="b"></a>',1===t.getElementsByClassName("b").length&&(t.firstChild.className="b",2===t.getElementsByClassName("b").length&&(t.innerHTML='<a class="a"></a><a class="f b a"></a>',2===t.getElementsByClassName("a").length))},GET_ATTRIBUTE:function(t){var e="fus ro dah";return t.innerHTML='<a class="'+e+'"></a>',t.firstChild.getAttribute("class")===e}};r.prototype.has=function(t){var e=this.tested,n=e[t];if(null!=n)return n;var i=this.root,r=this.document,o=r.createElement("div");o.setAttribute("style","display: none;"),i.appendChild(o);var s=u[t],n=!1;if(s)try{n=s.call(r,o)}catch(t){}return _.debug&&!n&&console.warn("document has no "+t),i.removeChild(o),e[t]=n};var x={" ":function(t,e,n){var i,r,o=!e.id,s=!e.tag,a=!e.classes;if(e.id&&t.getElementById&&this.has("GET_ELEMENT_BY_ID")&&(i=t.getElementById(e.id))&&i.getAttribute("id")===e.id&&(r=[i],o=!0,"*"===e.tag&&(s=!0)),!r&&(e.classes&&t.getElementsByClassName&&this.has("GET_ELEMENTS_BY_CLASS_NAME")?(r=t.getElementsByClassName(e.classList),a=!0,"*"===e.tag&&(s=!0)):(r=t.getElementsByTagName(e.tag),"*"!==e.tag&&(s=!0)),!r||!r.length))return!1;for(var u=0;i=r[u++];)(s&&o&&a&&!e.attributes&&!e.pseudos||this.match(i,e,s,o,a))&&n(i);return!0},">":function(t,e,n){if(t=t.firstChild)for(;1==t.nodeType&&this.match(t,e)&&n(t),t=t.nextSibling;);},"+":function(t,e,n){for(;t=t.nextSibling;)if(1==t.nodeType){this.match(t,e)&&n(t);break}},"^":function(t,e,n){(t=t.firstChild)&&(1===t.nodeType?this.match(t,e)&&n(t):x["+"].call(this,t,e,n))},"~":function(t,e,n){for(;t=t.nextSibling;)1===t.nodeType&&this.match(t,e)&&n(t)},"++":function(t,e,n){x["+"].call(this,t,e,n),x["!+"].call(this,t,e,n)},"~~":function(t,e,n){x["~"].call(this,t,e,n),x["!~"].call(this,t,e,n)},"!":function(t,e,n){for(;t=t.parentNode;)t!==this.document&&this.match(t,e)&&n(t)},"!>":function(t,e,n){(t=t.parentNode)!==this.document&&this.match(t,e)&&n(t)},"!+":function(t,e,n){for(;t=t.previousSibling;)if(1==t.nodeType){this.match(t,e)&&n(t);break}},"!^":function(t,e,n){(t=t.lastChild)&&(1==t.nodeType?this.match(t,e)&&n(t):x["!+"].call(this,t,e,n))},"!~":function(t,e,n){for(;t=t.previousSibling;)1===t.nodeType&&this.match(t,e)&&n(t)}};r.prototype.search=function(t,e,n){t?!t.nodeType&&t.document&&(t=t.document):t=this.document;var i=b(e);if(!i||!i.length)throw new Error("invalid expression");var r,o,s,a,u,c=E(n=n||[])?function(t){n[n.length]=t}:function(t){n[n.length++]=t};1<i.length&&(r={},o=c,c=function(t){var e=w(t);r[e]||(r[e]=!0,o(t))});t:for(var l=0;e=i[l++];)if(_.noQSA||!this.querySelectorAll||!0===(a=this.querySelectorAll(t,e)))if(1===e.length)u=e[0],x[u.combinator].call(this,t,u,c);else{for(var f,h=[t],d=function(t){var e=w(t);v[e]||(v[e]=!0,m[m.length]=t)},p=0;u=e[p++];){for(var m=[],v={},g=0;f=h[g++];)x[u.combinator].call(this,f,u,d);if(!m.length)continue t;h=m}if(0===l)n=m;else for(var y=0;y<m.length;y++)c(m[y])}else if(a&&a.length)for(var p=0;s=a[p++];)"@"<s.nodeName&&c(s);return r&&n&&1<n.length&&this.sort(n),n},r.prototype.sort=function(t){return this.sorter?Array.prototype.sort.call(t,this.sorter):t};var p={empty:function(){return!(this&&1===this.nodeType||(this.innerText||this.textContent||"").length)},not:function(t){return!_.matches(this,t)},contains:function(t){return-1<(this.innerText||this.textContent||"").indexOf(t)},"first-child":function(){for(var t=this;t=t.previousSibling;)if(1==t.nodeType)return!1;return!0},"last-child":function(){for(var t=this;t=t.nextSibling;)if(1==t.nodeType)return!1;return!0},"only-child":function(){for(var t=this;t=t.previousSibling;)if(1==t.nodeType)return!1;for(var e=this;e=e.nextSibling;)if(1==e.nodeType)return!1;return!0},"first-of-type":function(){for(var t=this,e=t.nodeName;t=t.previousSibling;)if(t.nodeName==e)return!1;return!0},"last-of-type":function(){for(var t=this,e=t.nodeName;t=t.nextSibling;)if(t.nodeName==e)return!1;return!0},"only-of-type":function(){for(var t=this,e=this.nodeName;t=t.previousSibling;)if(t.nodeName==e)return!1;for(var n=this;n=n.nextSibling;)if(n.nodeName==e)return!1;return!0},enabled:function(){return!this.disabled},disabled:function(){return this.disabled},checked:function(){return this.checked||this.selected},selected:function(){return this.selected},focus:function(){return this.ownerDocument.activeElement===this&&(this.href||this.type||_.hasAttribute(this,"tabindex"))},root:function(){return this===this.ownerDocument.documentElement}};r.prototype.match=function(t,e,n,i,r){if(!_.noQSA&&this.matchesSelector){var o=this.matchesSelector(t,e);if(null!==o)return o}if(!n&&e.tag){n=t.nodeName.toLowerCase();if("*"===e.tag){if(n<"@")return!1}else if(n!=e.tag)return!1}if(!i&&e.id&&t.getAttribute("id")!==e.id)return!1;var s,a;if(!r&&e.classes){var u=this.getAttribute(t,"class");if(!u)return!1;for(a in e.classes)if(!RegExp("(^|\\s)"+e.classes[a]+"(\\s|$)").test(u))return!1}if(e.attributes)for(s=0;a=e.attributes[s++];){var c=a.operator,l=a.escapedValue,f=a.name,h=a.value;if(c){var d=this.getAttribute(t,f);if(null==d)return!1;switch(c){case"^=":if(!RegExp("^"+l).test(d))return!1;break;case"$=":if(!RegExp(l+"$").test(d))return!1;break;case"~=":if(!RegExp("(^|\\s)"+l+"(\\s|$)").test(d))return!1;break;case"|=":if(!RegExp("^"+l+"(-|$)").test(d))return!1;break;case"=":if(d!==h)return!1;break;case"*=":if(-1===d.indexOf(h))return!1;break;default:return!1}}else if(!this.hasAttribute(t,f))return!1}if(e.pseudos)for(s=0;a=e.pseudos[s++];){if(f=a.name,h=a.value,p[f])return p[f].call(t,h);if(null!=h){if(this.getAttribute(t,f)!==h)return!1}else if(!this.hasAttribute(t,f))return!1}return!0},r.prototype.matches=function(t,e){var n=b(e);if(1===n.length&&1===n[0].length)return this.match(t,n[0][0]);if(!_.noQSA&&this.matchesSelector){n=this.matchesSelector(t,n);if(null!==n)return n}for(var i,r=this.search(this.document,e,{length:0}),o=0;i=r[o++];)if(t===i)return!0;return!1};function c(t){var e=t||document;if(e.ownerDocument?e=e.ownerDocument:e.document&&(e=e.document),9!==e.nodeType)throw new TypeError("invalid document");return t=w(e),l[t]||(l[t]=new r(e))}var l={},_=function(t,e){return _.search(t,e)};_.search=function(t,e,n){return c(e).search(e,t,n)},_.find=function(t,e){return c(e).search(e,t)[0]||null},_.getAttribute=function(t,e){return c(t).getAttribute(t,e)},_.hasAttribute=function(t,e){return c(t).hasAttribute(t,e)},_.contains=function(t,e){return c(t).contains(t,e)},_.matches=function(t,e){return c(t).matches(t,e)},_.sort=function(t){return t&&1<t.length&&c(t[0]).sort(t),t},_.parse=b,e.exports=_},{"./parser":98}],97:[function(e,n,t){!function(t){!function(){"use strict";n.exports="document"in t?e("./finder"):{parse:e("./parser")}}.call(this)}.call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./finder":96,"./parser":98}],98:[function(t,e,n){"use strict";var i=/([-.*+?^${}()|[\]\/\\])/g,r=/\\/g,y=function(t){return(t+"").replace(i,"\\$1")},b=function(t){return(t+"").replace(r,"")},o=RegExp("^(?:\\s*(,)\\s*|\\s*(<combinator>+)\\s*|(\\s+)|(<unicode>+|\\*)|\\#(<unicode>+)|\\.(<unicode>+)|\\[\\s*(<unicode1>+)(?:\\s*([*^$!~|]?=)(?:\\s*(?:([\"']?)(.*?)\\9)))?\\s*\\](?!\\])|(:+)(<unicode>+)(?:\\((?:(?:([\"'])([^\\13]*)\\13)|((?:\\([^)]+\\)|[^()]*)+))\\))?)".replace(/<combinator>/,"["+y(">+~`!@$%^&={}\\;</")+"]").replace(/<unicode>/g,"(?:[\\w\\u00a1-\\uFFFF-]|\\\\[^\\s0-9a-f])").replace(/<unicode1>/g,"(?:[:\\w\\u00a1-\\uFFFF-]|\\\\[^\\s0-9a-f])")),w=function(t){this.combinator=t||" ",this.tag="*"};w.prototype.toString=function(){if(!this.raw){var t,e,n="";if(n+=this.tag||"*",this.id&&(n+="#"+this.id),this.classes&&(n+="."+this.classList.join(".")),this.attributes)for(t=0;e=this.attributes[t++];)n+="["+e.name+(e.operator?e.operator+'"'+e.value+'"':"")+"]";if(this.pseudos)for(t=0;e=this.pseudos[t++];)n+=":"+e.name,e.value&&(n+="("+e.value+")");this.raw=n}return this.raw};var E=function(){this.length=0};E.prototype.toString=function(){if(!this.raw){for(var t,e="",n=0;t=this[n++];)1!==n&&(e+=" ")," "!==t.combinator&&(e+=t.combinator+" "),e+=t;this.raw=e}return this.raw};function s(t,e,n,i,r,o,s,a,u,c,l,f,h,d,p,m){var v,g;return(!e&&this.length||(v=this[this.length++]=new E,!e))&&(v=v||this[this.length-1],g=(g=n||i||!v.length?v[v.length++]=new w(n):g)||v[v.length-1],r?g.tag=b(r):o?g.id=b(o):s?(r=b(s),(o=g.classes||(g.classes={}))[r]||(o[r]=y(s),(s=g.classList||(g.classList=[])).push(r),s.sort())):h?(m=m||p,(g.pseudos||(g.pseudos=[])).push({type:1==f.length?"class":"element",name:b(h),escapedName:y(h),value:m?b(m):null,escapedValue:m?y(m):null})):a&&(l=l?y(l):null,(g.attributes||(g.attributes=[])).push({operator:u,name:b(a),escapedName:y(a),value:l?b(l):null,escapedValue:l?y(l):null}))),""}function a(t){this.length=0;for(var e,n=this,i=t;t;){if((e=t.replace(o,function(){return s.apply(n,arguments)}))===t)throw new Error(i+" is an invalid expression");t=e}}a.prototype.toString=function(){if(!this.raw){for(var t,e=[],n=0;t=this[n++];)e.push(t);this.raw=e.join(", ")}return this.raw};var u={};e.exports=function(t){return null==t?null:(t=(""+t).replace(/^\s+|\s+$/g,""),u[t]||(u[t]=new a(t)))}},{}],99:[function(t,e,n){var i,r,e=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(e){if(i===setTimeout)return setTimeout(e,0);if((i===o||!i)&&setTimeout)return i=setTimeout,setTimeout(e,0);try{return i(e,0)}catch(t){try{return i.call(null,e,0)}catch(t){return i.call(this,e,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:o}catch(t){i=o}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(t){r=s}}();var u,c=[],l=!1,f=-1;function h(){l&&u&&(l=!1,u.length?c=u.concat(c):f=-1,c.length&&d())}function d(){if(!l){var t=a(h);l=!0;for(var e=c.length;e;){for(u=c,c=[];++f<e;)u&&u[f].run();f=-1,e=c.length}u=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function m(){}e.nextTick=function(t){var e=new Array(arguments.length-1);if(1<arguments.length)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];c.push(new p(t,e)),1!==c.length||l||a(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},e.title="browser",e.browser=!0,e.env={},e.argv=[],e.version="",e.versions={},e.on=m,e.addListener=m,e.once=m,e.off=m,e.removeListener=m,e.removeAllListeners=m,e.emit=m,e.prependListener=m,e.prependOnceListener=m,e.listeners=function(t){return[]},e.binding=function(t){throw new Error("process.binding is not supported")},e.cwd=function(){return"/"},e.chdir=function(t){throw new Error("process.chdir is not supported")},e.umask=function(){return 0}},{}],100:[function(u,t,c){!function(n,a){!function(){var i=u("process/browser.js").nextTick,t=Function.prototype.apply,r=Array.prototype.slice,o={},s=0;function e(t,e){this._id=t,this._clearFn=e}c.setTimeout=function(){return new e(t.call(setTimeout,window,arguments),clearTimeout)},c.setInterval=function(){return new e(t.call(setInterval,window,arguments),clearInterval)},c.clearTimeout=c.clearInterval=function(t){t.close()},e.prototype.unref=e.prototype.ref=function(){},e.prototype.close=function(){this._clearFn.call(window,this._id)},c.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},c.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},c._unrefActive=c.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;0<=e&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},c.setImmediate="function"==typeof n?n:function(t){var e=s++,n=!(arguments.length<2)&&r.call(arguments,1);return o[e]=!0,i(function(){o[e]&&(n?t.apply(null,n):t.call(null),c.clearImmediate(e))}),e},c.clearImmediate="function"==typeof a?a:function(t){delete o[t]}}.call(this)}.call(this,u("timers").setImmediate,u("timers").clearImmediate)},{"process/browser.js":99,timers:100}]},{},[1]);assets/js/lightcase.js000064400000145557150753125230011007 0ustar00/*
 * Lightcase - jQuery Plugin
 * The smart and flexible Lightbox Plugin.
 *
 * @author		Cornel Boppart <cornel@bopp-art.com>
 * @copyright	Author
 *
 * @version		2.5.0 (11/03/2018)
 */

;(function ($) {

	'use strict';

	var _self = {
		cache: {},

		support: {},

		objects: {},

		/**
		 * Initializes the plugin
		 *
		 * @param	{object}	options
		 * @return	{object}
		 */
		init: function (options) {
			return this.each(function () {
				$(this).unbind('click.lightcase').bind('click.lightcase', function (event) {
					event.preventDefault();
					$(this).lightcase('start', options);
				});
			});
		},

		/**
		 * Starts the plugin
		 *
		 * @param	{object}	options
		 * @return	{void}
		 */
		start: function (options) {
			_self.origin = lightcase.origin = this;

			_self.settings = lightcase.settings = $.extend(true, {
				idPrefix: 'lightcase-',
				classPrefix: 'lightcase-',
				attrPrefix: 'lc-',
				transition: 'elastic',
				transitionOpen: null,
				transitionClose: null,
				transitionIn: null,
				transitionOut: null,
				cssTransitions: true,
				speedIn: 250,
				speedOut: 250,
				width: null,
				height: null,
				maxWidth: 800,
				maxHeight: 500,
				forceWidth: false,
				forceHeight: false,
				liveResize: true,
				fullScreenModeForMobile: true,
				mobileMatchExpression: /(iphone|ipod|ipad|android|blackberry|symbian)/,
				disableShrink: false,
				fixedRatio: true,
				shrinkFactor: .75,
				overlayOpacity: .9,
				slideshow: false,
				slideshowAutoStart: true,
				breakBeforeShow: false,
				timeout: 5000,
				swipe: true,
				useKeys: true,
				useCategories: true,
				useAsCollection: false,
				navigateEndless: true,
				closeOnOverlayClick: true,
				title: null,
				caption: null,
				showTitle: true,
				showCaption: true,
				showSequenceInfo: true,
				inline: {
					width: 'auto',
					height: 'auto'
				},
				ajax: {
					width: 'auto',
					height: 'auto',
					type: 'get',
					dataType: 'html',
					data: {}
				},
				iframe: {
					width: 800,
					height: 500,
					frameborder: 0
				},
				flash: {
					width: 400,
					height: 205,
					wmode: 'transparent'
				},
				video: {
					width: 400,
					height: 225,
					poster: '',
					preload: 'auto',
					controls: true,
					autobuffer: true,
					autoplay: true,
					loop: false
				},
				attr: 'data-rel',
				href: null,
				type: null,
				typeMapping: {
					'image': 'jpg,jpeg,gif,png,bmp,webp',
					'flash': 'swf',
					'video': 'mp4,mov,ogv,ogg,webm',
					'iframe': 'html,php',
					'ajax': 'json,txt',
					'inline': '#'
				},
				errorMessage: function () {
					return '<p class="' + _self.settings.classPrefix + 'error">' + _self.settings.labels['errorMessage'] + '</p>';
				},
				labels: {
					'errorMessage': 'Source could not be found...',
					'sequenceInfo.of': ' of ',
					'close': 'Close',
					'navigator.prev': 'Prev',
					'navigator.next': 'Next',
 					'navigator.play': 'Play',
					'navigator.pause': 'Pause'
				},
				markup: function () {
					_self.objects.body.append(
						_self.objects.overlay = $('<div id="' + _self.settings.idPrefix + 'overlay"></div>'),
						_self.objects.loading = $('<div id="' + _self.settings.idPrefix + 'loading" class="' + _self.settings.classPrefix + 'icon-spin"></div>'),
						_self.objects.case = $('<div id="' + _self.settings.idPrefix + 'case" aria-hidden="true" role="dialog"></div>')
					);
					_self.objects.case.after(
						_self.objects.close = $('<a href="#" class="' + _self.settings.classPrefix + 'icon-close"><span>' + _self.settings.labels['close'] + '</span></a>'),
						_self.objects.nav = $('<div id="' + _self.settings.idPrefix + 'nav"></div>')
					);
					_self.objects.nav.append(
						_self.objects.prev = $('<a href="#" class="' + _self.settings.classPrefix + 'icon-prev"><span>' + _self.settings.labels['navigator.prev'] + '</span></a>').hide(),
						_self.objects.next = $('<a href="#" class="' + _self.settings.classPrefix + 'icon-next"><span>' + _self.settings.labels['navigator.next'] + '</span></a>').hide(),
						_self.objects.play = $('<a href="#" class="' + _self.settings.classPrefix + 'icon-play"><span>' + _self.settings.labels['navigator.play'] + '</span></a>').hide(),
						_self.objects.pause = $('<a href="#" class="' + _self.settings.classPrefix + 'icon-pause"><span>' + _self.settings.labels['navigator.pause'] + '</span></a>').hide()
					);
					_self.objects.case.append(
						_self.objects.content = $('<div id="' + _self.settings.idPrefix + 'content"></div>'),
						_self.objects.info = $('<div id="' + _self.settings.idPrefix + 'info"></div>')
					);
					_self.objects.content.append(
						_self.objects.contentInner = $('<div class="' + _self.settings.classPrefix + 'contentInner"></div>')
					);
					_self.objects.info.append(
						_self.objects.sequenceInfo = $('<div id="' + _self.settings.idPrefix + 'sequenceInfo"></div>'),
						_self.objects.title = $('<h4 id="' + _self.settings.idPrefix + 'title"></h4>'),
						_self.objects.caption = $('<p id="' + _self.settings.idPrefix + 'caption"></p>')
					);
				},
				onInit: {},
				onStart: {},
				onBeforeCalculateDimensions: {},
				onAfterCalculateDimensions: {},
				onBeforeShow: {},
				onFinish: {},
				onResize: {},
				onClose: {},
				onCleanup: {}
			},
			options,
			// Load options from data-lc-options attribute
			_self.origin.data ? _self.origin.data('lc-options') : {});

			_self.objects.document = $('html');
			_self.objects.body = $('body');

			// Call onInit hook functions
			_self._callHooks(_self.settings.onInit);

			_self.objectData = _self._setObjectData(this);

			_self._addElements();
			_self._open();

			_self.dimensions = _self.getViewportDimensions();
		},

		/**
		 * Getter method for objects
		 *
		 * @param	{string}	name
		 * @return	{object}
		 */
		get: function (name) {
			return _self.objects[name];
		},

		/**
		 * Getter method for objectData
		 *
		 * @return	{object}
		 */
		getObjectData: function () {
			return _self.objectData;
		},

		/**
		 * Sets the object data
		 *
		 * @param	{object}	object
		 * @return	{object}	objectData
		 */
		_setObjectData: function (object) {
		 	var $object = $(object),
				objectData = {
				this: $(object),
				title: _self.settings.title || $object.attr(_self._prefixAttributeName('title')) || $object.attr('title'),
				caption: _self.settings.caption || $object.attr(_self._prefixAttributeName('caption')) || $object.children('img').attr('alt'),
				url: _self._determineUrl(),
				requestType: _self.settings.ajax.type,
				requestData: _self.settings.ajax.data,
				requestDataType: _self.settings.ajax.dataType,
				rel: $object.attr(_self._determineAttributeSelector()),
				type: _self.settings.type || _self._verifyDataType(_self._determineUrl()),
				isPartOfSequence: _self.settings.useAsCollection || _self._isPartOfSequence($object.attr(_self.settings.attr), ':'),
				isPartOfSequenceWithSlideshow: _self._isPartOfSequence($object.attr(_self.settings.attr), ':slideshow'),
				currentIndex: $(_self._determineAttributeSelector()).index($object),
				sequenceLength: $(_self._determineAttributeSelector()).length
			};

			// Add sequence info to objectData
			objectData.sequenceInfo = (objectData.currentIndex + 1) + _self.settings.labels['sequenceInfo.of'] + objectData.sequenceLength;

			// Add next/prev index
			objectData.prevIndex = objectData.currentIndex - 1;
			objectData.nextIndex = objectData.currentIndex + 1;

			return objectData;
		},

		/**
		 * Prefixes a data attribute name with defined name from 'settings.attrPrefix'
		 * to ensure more uniqueness for all lightcase related/used attributes.
		 *
		 * @param	{string}	name
		 * @return	{string}
		 */
		_prefixAttributeName: function (name) {
			return 'data-' + _self.settings.attrPrefix + name;
		},

		/**
		 * Determines the link target considering 'settings.href' and data attributes
		 * but also with a fallback to the default 'href' value.
		 *
		 * @return	{string}
		 */
		_determineLinkTarget: function () {
			return _self.settings.href || $(_self.origin).attr(_self._prefixAttributeName('href')) || $(_self.origin).attr('href');
		},

		/**
		 * Determines the attribute selector to use, depending on
		 * whether categorized collections are beeing used or not.
		 *
		 * @return	{string}	selector
		 */
		_determineAttributeSelector: function () {
			var	$origin = $(_self.origin),
				selector = '';

			if (typeof _self.cache.selector !== 'undefined') {
				selector = _self.cache.selector;
			} else if (_self.settings.useCategories === true && $origin.attr(_self._prefixAttributeName('categories'))) {
				var	categories = $origin.attr(_self._prefixAttributeName('categories')).split(' ');

				$.each(categories, function (index, category) {
					if (index > 0) {
						selector += ',';
					}
					selector += '[' + _self._prefixAttributeName('categories') + '~="' + category + '"]';
				});
			} else {
				selector = '[' + _self.settings.attr + '="' + $origin.attr(_self.settings.attr) + '"]';
			}

			_self.cache.selector = selector;

			return selector;
		},

		/**
		 * Determines the correct resource according to the
		 * current viewport and density.
		 *
		 * @return	{string}	url
		 */
		_determineUrl: function () {
			var	dataUrl = _self._verifyDataUrl(_self._determineLinkTarget()),
				width = 0,
				density = 0,
				supportLevel = '',
				url;

			$.each(dataUrl, function (index, src) {
				switch (_self._verifyDataType(src.url)) {
					case 'video':
						var	video = document.createElement('video'),
							videoType = _self._verifyDataType(src.url) + '/' + _self._getFileUrlSuffix(src.url);

						// Check if browser can play this type of video format
						if (supportLevel !== 'probably' && supportLevel !== video.canPlayType(videoType) && video.canPlayType(videoType) !== '') {
							supportLevel = video.canPlayType(videoType);
							url = src.url;
						}
						break;
					default:
						if (
							// Check density
							_self._devicePixelRatio() >= src.density &&
							src.density >= density &&
							// Check viewport width
							_self._matchMedia()('screen and (min-width:' + src.width + 'px)').matches &&
							src.width >= width
						) {
							width = src.width;
							density = src.density;
							url = src.url;
						}
						break;
				}
			});

			return url;
		},

		/**
		 * Normalizes an url and returns information about the resource path,
		 * the viewport width as well as density if defined.
		 *
		 * @param	{string}	url	Path to resource in format of an url or srcset
		 * @return	{object}
		 */
		_normalizeUrl: function (url) {
			var srcExp = /^\d+$/;

			return url.split(',').map(function (str) {
				var src = {
					width: 0,
					density: 0
				};

				str.trim().split(/\s+/).forEach(function (url, i) {
					if (i === 0) {
						return src.url = url;
					}

					var value = url.substring(0, url.length - 1),
						lastChar = url[url.length - 1],
						intVal = parseInt(value, 10),
						floatVal = parseFloat(value);
					if (lastChar === 'w' && srcExp.test(value)) {
						src.width = intVal;
					} else if (lastChar === 'h' && srcExp.test(value)) {
						src.height = intVal;
					} else if (lastChar === 'x' && !isNaN(floatVal)) {
						src.density = floatVal;
					}
				});

				return src;
			});
		},

		/**
		 * Verifies if the link is part of a sequence
		 *
		 * @param	{string}	rel
		 * @param	{string}	expression
		 * @return	{boolean}
		 */
		_isPartOfSequence: function (rel, expression) {
			var getSimilarLinks = $('[' + _self.settings.attr + '="' + rel + '"]'),
				regexp = new RegExp(expression);

			return (regexp.test(rel) && getSimilarLinks.length > 1);
		},

		/**
		 * Verifies if the slideshow should be enabled
		 *
		 * @return	{boolean}
		 */
		isSlideshowEnabled: function () {
			return (_self.objectData.isPartOfSequence && (_self.settings.slideshow === true || _self.objectData.isPartOfSequenceWithSlideshow === true));
		},

		/**
		 * Loads the new content to show
		 *
		 * @return	{void}
		 */
		_loadContent: function () {
			if (_self.cache.originalObject) {
				_self._restoreObject();
			}

			_self._createObject();
		},

		/**
		 * Creates a new object
		 *
		 * @return	{void}
		 */
		_createObject: function () {
			var $object;

			// Create object
			switch (_self.objectData.type) {
				case 'image':
					$object = $(new Image());
					$object.attr({
						// The time expression is required to prevent the binding of an image load
						'src': _self.objectData.url,
						'alt': _self.objectData.title
					});
					break;
				case 'inline':
					$object = $('<div class="' + _self.settings.classPrefix + 'inlineWrap"></div>');
					$object.html(_self._cloneObject($(_self.objectData.url)));

					// Add custom attributes from _self.settings
					$.each(_self.settings.inline, function (name, value) {
						$object.attr(_self._prefixAttributeName(name), value);
					});
					break;
				case 'ajax':
					$object = $('<div class="' + _self.settings.classPrefix + 'inlineWrap"></div>');

					// Add custom attributes from _self.settings
					$.each(_self.settings.ajax, function (name, value) {
						if (name !== 'data') {
							$object.attr(_self._prefixAttributeName(name), value);
						}
					});
					break;
				case 'flash':
					$object = $('<embed src="' + _self.objectData.url + '" type="application/x-shockwave-flash"></embed>');

					// Add custom attributes from _self.settings
					$.each(_self.settings.flash, function (name, value) {
						$object.attr(name, value);
					});
					break;
				case 'video':
					$object = $('<video></video>');
					$object.attr('src', _self.objectData.url);

					// Add custom attributes from _self.settings
					$.each(_self.settings.video, function (name, value) {
						$object.attr(name, value);
					});
					break;
				default:
					$object = $('<iframe></iframe>');
					$object.attr({
						'src': _self.objectData.url
					});

					// Add custom attributes from _self.settings
					$.each(_self.settings.iframe, function (name, value) {
						$object.attr(name, value);
					});
					break;
			}

			_self._addObject($object);
			_self._loadObject($object);
		},

		/**
		 * Adds the new object to the markup
		 *
		 * @param	{object}	$object
		 * @return	{void}
		 */
		_addObject: function ($object) {
			// Add object to content holder
			_self.objects.contentInner.html($object);

			// Start loading
			_self._loading('start');

			// Call onStart hook functions
			_self._callHooks(_self.settings.onStart);

			// Add sequenceInfo to the content holder or hide if its empty
			if (_self.settings.showSequenceInfo === true && _self.objectData.isPartOfSequence) {
				_self.objects.sequenceInfo.html(_self.objectData.sequenceInfo);
				_self.objects.sequenceInfo.show();
			} else {
				_self.objects.sequenceInfo.empty();
				_self.objects.sequenceInfo.hide();
			}
			// Add title to the content holder or hide if its empty
			if (_self.settings.showTitle === true && _self.objectData.title !== undefined && _self.objectData.title !== '') {
				_self.objects.title.html(_self.objectData.title);
				_self.objects.title.show();
			} else {
				_self.objects.title.empty();
				_self.objects.title.hide();
			}
			// Add caption to the content holder or hide if its empty
			if (_self.settings.showCaption === true && _self.objectData.caption !== undefined && _self.objectData.caption !== '') {
				_self.objects.caption.html(_self.objectData.caption);
				_self.objects.caption.show();
			} else {
				_self.objects.caption.empty();
				_self.objects.caption.hide();
			}
		},

		/**
		 * Loads the new object
		 *
		 * @param	{object}	$object
		 * @return	{void}
		 */
		_loadObject: function ($object) {
			// Load the object
			switch (_self.objectData.type) {
				case 'inline':
					if ($(_self.objectData.url)) {
						_self._showContent($object);
					} else {
						_self.error();
					}
					break;
				case 'ajax':
					$.ajax(
						$.extend({}, _self.settings.ajax, {
							url: _self.objectData.url,
							type: _self.objectData.requestType,
							dataType: _self.objectData.requestDataType,
							data: _self.objectData.requestData,
							success: function (data, textStatus, jqXHR) {
								// Check for X-Ajax-Location
								if (jqXHR.getResponseHeader('X-Ajax-Location')) {
									_self.objectData.url = jqXHR.getResponseHeader('X-Ajax-Location');
									_self._loadObject($object);
								}
								else {
									// Unserialize if data is transferred as json
									if (_self.objectData.requestDataType === 'json') {
										_self.objectData.data = data;
									} else {
										$object.html(data);
									}
									_self._showContent($object);
								}
							},
							error: function (jqXHR, textStatus, errorThrown) {
								_self.error();
							}
						})
					);
					break;
				case 'flash':
					_self._showContent($object);
					break;
				case 'video':
					if (typeof($object.get(0).canPlayType) === 'function' || _self.objects.case.find('video').length === 0) {
						_self._showContent($object);
					} else {
						_self.error();
					}
					break;
				default:
					if (_self.objectData.url) {
						$object.on('load', function () {
							_self._showContent($object);
						});
						$object.on('error', function () {
							_self.error();
						});
					} else {
						_self.error();
					}
					break;
			}
		},

		/**
		 * Throws an error message if something went wrong
		 *
		 * @return	{void}
		 */
		error: function () {
			_self.objectData.type = 'error';
			var $object = $('<div class="' + _self.settings.classPrefix + 'inlineWrap"></div>');

			$object.html(_self.settings.errorMessage);
			_self.objects.contentInner.html($object);

			_self._showContent(_self.objects.contentInner);
		},

		/**
		 * Calculates the dimensions to fit content
		 *
		 * @param	{object}	$object
		 * @return	{void}
		 */
		_calculateDimensions: function ($object) {
			_self._cleanupDimensions();

			if (!$object) return;

			// Set default dimensions
			var dimensions = {
				ratio: 1,
				objectWidth: $object.attr('width') ? $object.attr('width') : $object.attr(_self._prefixAttributeName('width')),
				objectHeight: $object.attr('height') ? $object.attr('height') : $object.attr(_self._prefixAttributeName('height'))
			};

			if (!_self.settings.disableShrink) {
				// Add calculated maximum width/height to dimensions
				dimensions.maxWidth = parseInt(_self.dimensions.windowWidth * _self.settings.shrinkFactor);
				dimensions.maxHeight = parseInt(_self.dimensions.windowHeight * _self.settings.shrinkFactor);

				// If the auto calculated maxWidth/maxHeight greather than the user-defined one, use that.
				if (dimensions.maxWidth > _self.settings.maxWidth) {
					dimensions.maxWidth = _self.settings.maxWidth;
				}
				if (dimensions.maxHeight > _self.settings.maxHeight) {
					dimensions.maxHeight = _self.settings.maxHeight;
				}

				// Calculate the difference between screen width/height and image width/height
				dimensions.differenceWidthAsPercent = parseInt(100 / dimensions.maxWidth * dimensions.objectWidth);
				dimensions.differenceHeightAsPercent = parseInt(100 / dimensions.maxHeight * dimensions.objectHeight);

				switch (_self.objectData.type) {
					case 'image':
					case 'flash':
					case 'video':
					case 'iframe':
					case 'ajax':
					case 'inline':
						if (_self.objectData.type === 'image' || _self.settings.fixedRatio === true) {
							if (dimensions.differenceWidthAsPercent > 100 && dimensions.differenceWidthAsPercent > dimensions.differenceHeightAsPercent) {
								dimensions.objectWidth = dimensions.maxWidth;
								dimensions.objectHeight = parseInt(dimensions.objectHeight / dimensions.differenceWidthAsPercent * 100);
							}
							if (dimensions.differenceHeightAsPercent > 100 && dimensions.differenceHeightAsPercent > dimensions.differenceWidthAsPercent) {
								dimensions.objectWidth = parseInt(dimensions.objectWidth / dimensions.differenceHeightAsPercent * 100);
								dimensions.objectHeight = dimensions.maxHeight;
							}
							if (dimensions.differenceHeightAsPercent > 100 && dimensions.differenceWidthAsPercent < dimensions.differenceHeightAsPercent) {
								dimensions.objectWidth = parseInt(dimensions.maxWidth / dimensions.differenceHeightAsPercent * dimensions.differenceWidthAsPercent);
								dimensions.objectHeight = dimensions.maxHeight;
							}
							break;
						}
					case 'error':
						if (!isNaN(dimensions.objectWidth) && dimensions.objectWidth > dimensions.maxWidth) {
							dimensions.objectWidth = dimensions.maxWidth;
						}
						break;
					default:
						if ((isNaN(dimensions.objectWidth) || dimensions.objectWidth > dimensions.maxWidth) && !_self.settings.forceWidth) {
							dimensions.objectWidth = dimensions.maxWidth;
						}
						if (((isNaN(dimensions.objectHeight) && dimensions.objectHeight !== 'auto') || dimensions.objectHeight > dimensions.maxHeight) && !_self.settings.forceHeight) {
							dimensions.objectHeight = dimensions.maxHeight;
						}
						break;
				}
			}

			if (_self.settings.forceWidth) {
				try {
					dimensions.objectWidth = _self.settings[_self.objectData.type].width;
				} catch (e) {
					dimensions.objectWidth = _self.settings.width || dimensions.objectWidth;
				}

				dimensions.maxWidth = null;
			}
			if ($object.attr(_self._prefixAttributeName('max-width'))) {
				dimensions.maxWidth = $object.attr(_self._prefixAttributeName('max-width'));
			}

			if (_self.settings.forceHeight) {
				try {
					dimensions.objectHeight = _self.settings[_self.objectData.type].height;
				} catch (e) {
					dimensions.objectHeight = _self.settings.height || dimensions.objectHeight;
				}

				dimensions.maxHeight = null;
			}
			if ($object.attr(_self._prefixAttributeName('max-height'))) {
				dimensions.maxHeight = $object.attr(_self._prefixAttributeName('max-height'));
			}
			_self._adjustDimensions($object, dimensions);
		},

		/**
		 * Adjusts the dimensions
		 *
		 * @param	{object}	$object
		 * @param	{object}	dimensions
		 * @return	{void}
		 */
		_adjustDimensions: function ($object, dimensions) {
			// Adjust width and height
			$object.css({
				'width': dimensions.objectWidth,
				'height': dimensions.objectHeight,
				'max-width': dimensions.maxWidth,
				'max-height': dimensions.maxHeight
			});

			_self.objects.contentInner.css({
				'width': $object.outerWidth(),
				'height': $object.outerHeight(),
				'max-width': '100%'
			});

			_self.objects.case.css({
				'width': _self.objects.contentInner.outerWidth(),
				'max-width': '100%'
			});

			// Adjust margin
			_self.objects.case.css({
				'margin-top': parseInt(-(_self.objects.case.outerHeight() / 2)),
				'margin-left': parseInt(-(_self.objects.case.outerWidth() / 2))
			});
		},

		/**
		 * Handles the _loading
		 *
		 * @param	{string}	process
		 * @return	{void}
		 */
		_loading: function (process) {
			if (process === 'start') {
				_self.objects.case.addClass(_self.settings.classPrefix + 'loading');
				_self.objects.loading.show();
			} else if (process === 'end') {
				_self.objects.case.removeClass(_self.settings.classPrefix + 'loading');
				_self.objects.loading.hide();
			}
		},


		/**
		 * Gets the client screen dimensions
		 *
		 * @return	{object}	dimensions
		 */
		getViewportDimensions: function () {
			return {
				windowWidth: $(window).innerWidth(),
				windowHeight: $(window).innerHeight()
			};
		},

		/**
		 * Verifies the url
		 *
		 * @param	{string}	dataUrl
		 * @return	{object}	dataUrl	Clean url for processing content
		 */
		_verifyDataUrl: function (dataUrl) {
			if (!dataUrl || dataUrl === undefined || dataUrl === '') {
				return false;
			}

			if (dataUrl.indexOf('#') > -1) {
				dataUrl = dataUrl.split('#');
				dataUrl = '#' + dataUrl[dataUrl.length - 1];
			}

			return _self._normalizeUrl(dataUrl.toString());
		},

			//
		/**
		 * Tries to get the (file) suffix of an url
		 *
		 * @param	{string}	url
		 * @return	{string}
		 */
		_getFileUrlSuffix: function (url) {
			var re = /(?:\.([^.]+))?$/;
			return re.exec(url.toLowerCase())[1];
		},

		/**
		 * Verifies the data type of the content to load
		 *
		 * @param	{string}			url
		 * @return	{string|boolean}	Array key if expression matched, else false
		 */
		_verifyDataType: function (url) {
			var typeMapping = _self.settings.typeMapping;

			// Early abort if dataUrl couldn't be verified
			if (!url) {
				return false;
			}

			// Verify the dataType of url according to typeMapping which
			// has been defined in settings.
			for (var key in typeMapping) {
				if (typeMapping.hasOwnProperty(key)) {
					var suffixArr = typeMapping[key].split(',');

					for (var i = 0; i < suffixArr.length; i++) {
						var suffix = suffixArr[i].toLowerCase(),
							regexp = new RegExp('\.(' + suffix + ')$', 'i'),
							str = url.toLowerCase().split('?')[0].substr(-5);

						if (regexp.test(str) === true || (key === 'inline' && (url.indexOf(suffix) > -1))) {
							return key;
						}
					}
				}
			}

			// If no expression matched, return 'iframe'.
			return 'iframe';
		},

		/**
		 * Extends html markup with the essential tags
		 *
		 * @return	{void}
		 */
		_addElements: function () {
			if (typeof _self.objects.case !== 'undefined' && $('#' + _self.objects.case.attr('id')).length) {
				return;
			}

			_self.settings.markup();
		},

		/**
		 * Shows the loaded content
		 *
		 * @param	{object}	$object
		 * @return	{void}
		 */
		_showContent: function ($object) {
			// Add data attribute with the object type
			_self.objects.document.attr(_self._prefixAttributeName('type'), _self.objectData.type);

			_self.cache.object = $object;

			// Call onBeforeShow hook functions
			_self._callHooks(_self.settings.onBeforeShow);

			if (_self.settings.breakBeforeShow) return;
			_self.show();
		},

		/**
		 * Starts the 'inTransition'
		 * @return	{void}
		 */
		_startInTransition: function () {
			switch (_self.transition.in()) {
				case 'scrollTop':
				case 'scrollRight':
				case 'scrollBottom':
				case 'scrollLeft':
				case 'scrollHorizontal':
				case 'scrollVertical':
					_self.transition.scroll(_self.objects.case, 'in', _self.settings.speedIn);
					_self.transition.fade(_self.objects.contentInner, 'in', _self.settings.speedIn);
					break;
				case 'elastic':
					if (_self.objects.case.css('opacity') < 1) {
						_self.transition.zoom(_self.objects.case, 'in', _self.settings.speedIn);
						_self.transition.fade(_self.objects.contentInner, 'in', _self.settings.speedIn);
				}
				case 'fade':
				case 'fadeInline':
					_self.transition.fade(_self.objects.case, 'in', _self.settings.speedIn);
					_self.transition.fade(_self.objects.contentInner, 'in', _self.settings.speedIn);
					break;
				default:
					_self.transition.fade(_self.objects.case, 'in', 0);
					break;
			}

			// End loading.
			_self._loading('end');
			_self.isBusy = false;

			// Set index of the first item opened
			if (!_self.cache.firstOpened) {
				_self.cache.firstOpened = _self.objectData.this;
			}

			// Fade in the info with delay
			_self.objects.info.hide();
			setTimeout(function () {
				 _self.transition.fade(_self.objects.info, 'in', _self.settings.speedIn);
			}, _self.settings.speedIn);

			// Call onFinish hook functions
			_self._callHooks(_self.settings.onFinish);
		},

		/**
		 * Processes the content to show
		 *
		 * @return	{void}
		 */
		_processContent: function () {
			_self.isBusy = true;

			// Fade out the info at first
			_self.transition.fade(_self.objects.info, 'out', 0);

			switch (_self.settings.transitionOut) {
				case 'scrollTop':
				case 'scrollRight':
				case 'scrollBottom':
				case 'scrollLeft':
				case 'scrollVertical':
				case 'scrollHorizontal':
					if (_self.objects.case.is(':hidden')) {
						_self.transition.fade(_self.objects.contentInner, 'out', 0);
						_self.transition.fade(_self.objects.case, 'out', 0, 0, function () {
							_self._loadContent();
						});
					} else {
						_self.transition.scroll(_self.objects.case, 'out', _self.settings.speedOut, function () {
							_self._loadContent();
						});
					}
					break;
				case 'fade':
					if (_self.objects.case.is(':hidden')) {
						_self.transition.fade(_self.objects.case, 'out', 0, 0, function () {
							_self._loadContent();
						});
					} else {
						_self.transition.fade(_self.objects.case, 'out', _self.settings.speedOut, 0, function () {
							_self._loadContent();
						});
					}
					break;
				case 'fadeInline':
				case 'elastic':
					if (_self.objects.case.is(':hidden')) {
						_self.transition.fade(_self.objects.case, 'out', 0, 0, function () {
							_self._loadContent();
						});
					} else {
						_self.transition.fade(_self.objects.contentInner, 'out', _self.settings.speedOut, 0, function () {
							_self._loadContent();
						});
					}
					break;
				default:
					_self.transition.fade(_self.objects.case, 'out', 0, 0, function () {
						_self._loadContent();
					});
					break;
			}
		},

		/**
		 * Handles events for gallery buttons
		 *
		 * @return	{void}
		 */
		_handleEvents: function () {
			_self._unbindEvents();

			_self.objects.nav.children().not(_self.objects.close).hide();

			// If slideshow is enabled, show play/pause and start timeout.
			if (_self.isSlideshowEnabled()) {
				// Only start the timeout if slideshow autostart is enabled and slideshow is not pausing
				if (
					(_self.settings.slideshowAutoStart === true || _self.isSlideshowStarted) &&
					!_self.objects.nav.hasClass(_self.settings.classPrefix + 'paused')
				) {
					_self._startTimeout();
				} else {
					_self._stopTimeout();
				}
			}

			if (_self.settings.liveResize) {
				_self._watchResizeInteraction();
			}

			_self.objects.close.click(function (event) {
				event.preventDefault();
				_self.close();
			});

			if (_self.settings.closeOnOverlayClick === true) {
				_self.objects.overlay.css('cursor', 'pointer').click(function (event) {
					event.preventDefault();

					_self.close();
				});
			}

			if (_self.settings.useKeys === true) {
				_self._addKeyEvents();
			}

			if (_self.objectData.isPartOfSequence) {
				_self.objects.nav.attr(_self._prefixAttributeName('ispartofsequence'), true);
				_self.objects.nav.data('items', _self._setNavigation());

				_self.objects.prev.click(function (event) {
					event.preventDefault();

					if (_self.settings.navigateEndless === true || !_self.item.isFirst()) {
						_self.objects.prev.unbind('click');
						_self.cache.action = 'prev';
						_self.objects.nav.data('items').prev.click();

						if (_self.isSlideshowEnabled()) {
							_self._stopTimeout();
						}
					}
				});

				_self.objects.next.click(function (event) {
					event.preventDefault();

					if (_self.settings.navigateEndless === true || !_self.item.isLast()) {
						_self.objects.next.unbind('click');
						_self.cache.action = 'next';
						_self.objects.nav.data('items').next.click();

						if (_self.isSlideshowEnabled()) {
							_self._stopTimeout();
						}
					}
				});

				if (_self.isSlideshowEnabled()) {
					_self.objects.play.click(function (event) {
						event.preventDefault();
						_self._startTimeout();
					});
					_self.objects.pause.click(function (event) {
						event.preventDefault();
						_self._stopTimeout();
					});
				}

				// Enable swiping if activated
				if (_self.settings.swipe === true) {
					if ($.isPlainObject($.event.special.swipeleft)) {
						_self.objects.case.on('swipeleft', function (event) {
							event.preventDefault();
							_self.objects.next.click();
							if (_self.isSlideshowEnabled()) {
								_self._stopTimeout();
							}
						});
					}
					if ($.isPlainObject($.event.special.swiperight)) {
						_self.objects.case.on('swiperight', function (event) {
							event.preventDefault();
							_self.objects.prev.click();
							if (_self.isSlideshowEnabled()) {
								_self._stopTimeout();
							}
						});
					}
				}
			}
		},

		/**
		 * Adds the key events
		 *
		 * @return	{void}
		 */
		_addKeyEvents: function () {
			$(document).bind('keyup.lightcase', function (event) {
				// Do nothing if lightcase is in process
				if (_self.isBusy) {
					return;
				}

				switch (event.keyCode) {
					// Escape key
					case 27:
						_self.objects.close.click();
						break;
					// Backward key
					case 37:
						if (_self.objectData.isPartOfSequence) {
							_self.objects.prev.click();
						}
						break;
					// Forward key
					case 39:
						if (_self.objectData.isPartOfSequence) {
							_self.objects.next.click();
						}
						break;
				}
			});
		},

		/**
		 * Starts the slideshow timeout
		 *
		 * @return	{void}
		 */
		_startTimeout: function () {
			_self.isSlideshowStarted = true;

			_self.objects.play.hide();
			_self.objects.pause.show();

			_self.cache.action = 'next';
			_self.objects.nav.removeClass(_self.settings.classPrefix + 'paused');

			_self.timeout = setTimeout(function () {
				_self.objects.nav.data('items').next.click();
			}, _self.settings.timeout);
		},

		/**
		 * Stops the slideshow timeout
		 *
		 * @return	{void}
		 */
		_stopTimeout: function () {
			_self.objects.play.show();
			_self.objects.pause.hide();

			_self.objects.nav.addClass(_self.settings.classPrefix + 'paused');

			clearTimeout(_self.timeout);
		},

		/**
		 * Sets the navigator buttons (prev/next)
		 *
		 * @return	{object}	items
		 */
		_setNavigation: function () {
			var $links = $((_self.cache.selector || _self.settings.attr)),
				sequenceLength = _self.objectData.sequenceLength - 1,
				items = {
					prev: $links.eq(_self.objectData.prevIndex),
					next: $links.eq(_self.objectData.nextIndex)
				};

			if (_self.objectData.currentIndex > 0) {
				_self.objects.prev.show();
			} else {
				items.prevItem = $links.eq(sequenceLength);
			}
			if (_self.objectData.nextIndex <= sequenceLength) {
				_self.objects.next.show();
			} else {
				items.next = $links.eq(0);
			}

			if (_self.settings.navigateEndless === true) {
				_self.objects.prev.show();
				_self.objects.next.show();
			}

			return items;
		},

		/**
		 * Item information/status
		 *
		 */
		item: {
			/**
			 * Verifies if the current item is first item.
			 *
			 * @return	{boolean}
			 */
			isFirst: function () {
				return (_self.objectData.currentIndex === 0);
			},

			/**
			 * Verifies if the current item is first item opened.
			 *
			 * @return	{boolean}
			 */
			isFirstOpened: function () {
				return _self.objectData.this.is(_self.cache.firstOpened);
			},

			/**
			 * Verifies if the current item is last item.
			 *
			 * @return	{boolean}
			 */
			isLast: function () {
				return (_self.objectData.currentIndex === (_self.objectData.sequenceLength - 1));
			}
		},

		/**
		 * Clones the object for inline elements
		 *
		 * @param	{object}	$object
		 * @return	{object}	$clone
		 */
		_cloneObject: function ($object) {
			var $clone = $object.clone(),
				objectId = $object.attr('id');

			// If element is hidden, cache the object and remove
			if ($object.is(':hidden')) {
				_self._cacheObjectData($object);
				$object.attr('id', _self.settings.idPrefix + 'temp-' + objectId).empty();
			} else {
				// Prevent duplicated id's
				$clone.removeAttr('id');
			}

			return $clone.show();
		},

		/**
		 * Verifies if it is a mobile device
		 *
		 * @return	{boolean}
		 */
		isMobileDevice: function () {
			var deviceAgent = navigator.userAgent.toLowerCase(),
				agentId = deviceAgent.match(_self.settings.mobileMatchExpression);

			return agentId ? true : false;
		},

		/**
		 * Verifies if css transitions are supported
		 *
		 * @return	{string|boolean}	The transition prefix if supported, else false.
		 */
		isTransitionSupported: function () {
			var body = _self.objects.body.get(0),
				isTransitionSupported = false,
				transitionMapping = {
					'transition': '',
					'WebkitTransition': '-webkit-',
					'MozTransition': '-moz-',
					'OTransition': '-o-',
					'MsTransition': '-ms-'
				};

			for (var key in transitionMapping) {
				if (transitionMapping.hasOwnProperty(key) && key in body.style) {
					_self.support.transition = transitionMapping[key];
					isTransitionSupported = true;
				}
			}

			return isTransitionSupported;
		},

		/**
		 * Transition types
		 *
		 */
		transition: {
			/**
			 * Returns the correct transition type according to the status of interaction.
			 *
			 * @return	{string}	Transition type
			 */
			in: function () {
				if (_self.settings.transitionOpen && !_self.cache.firstOpened) {
					return _self.settings.transitionOpen;
				}
				return _self.settings.transitionIn;
			},

			/**
			 * Fades in/out the object
			 *
			 * @param	{object}	$object
			 * @param	{string}	type
			 * @param	{number}	speed
			 * @param	{number}	opacity
			 * @param	{function}	callback
			 * @return	{void}		Animates an object
			 */
			fade: function ($object, type, speed, opacity, callback) {
				var isInTransition = type === 'in',
					startTransition = {},
					startOpacity = $object.css('opacity'),
					endTransition = {},
					endOpacity = opacity ? opacity: isInTransition ? 1 : 0;

				if (!_self.isOpen && isInTransition) return;

				startTransition['opacity'] = startOpacity;
				endTransition['opacity'] = endOpacity;

				$object.css(_self.support.transition + 'transition', 'none');
				$object.css(startTransition).show();

				// Css transition
				if (_self.support.transitions) {
					endTransition[_self.support.transition + 'transition'] = speed + 'ms ease';

					setTimeout(function () {
						$object.css(endTransition);

						setTimeout(function () {
							$object.css(_self.support.transition + 'transition', '');

							if (callback && (_self.isOpen || !isInTransition)) {
								callback();
							}
						}, speed);
					}, 15);
				} else {
					// Fallback to js transition
					$object.stop();
					$object.animate(endTransition, speed, callback);
				}
			},

			/**
			 * Scrolls in/out the object
			 *
			 * @param	{object}	$object
			 * @param	{string}	type
			 * @param	{number}	speed
			 * @param	{function}	callback
			 * @return	{void}		Animates an object
			 */
			scroll: function ($object, type, speed, callback) {
				var isInTransition = type === 'in',
					transition = isInTransition ? _self.settings.transitionIn : _self.settings.transitionOut,
					direction = 'left',
					startTransition = {},
					startOpacity = isInTransition ? 0 : 1,
					startOffset = isInTransition ? '-50%' : '50%',
					endTransition = {},
					endOpacity = isInTransition ? 1 : 0,
					endOffset = isInTransition ? '50%' : '-50%';

				if (!_self.isOpen && isInTransition) return;

				switch (transition) {
					case 'scrollTop':
						direction = 'top';
						break;
					case 'scrollRight':
						startOffset = isInTransition ? '150%' : '50%';
						endOffset = isInTransition ? '50%' : '150%';
						break;
					case 'scrollBottom':
						direction = 'top';
						startOffset = isInTransition ? '150%' : '50%';
						endOffset = isInTransition ? '50%' : '150%';
						break;
					case 'scrollHorizontal':
						startOffset = isInTransition ? '150%' : '50%';
						endOffset = isInTransition ? '50%' : '-50%';
						break;
					case 'scrollVertical':
						direction = 'top';
						startOffset = isInTransition ? '-50%' : '50%';
						endOffset = isInTransition ? '50%' : '150%';
						break;
				}

				if (_self.cache.action === 'prev') {
					switch (transition) {
						case 'scrollHorizontal':
							startOffset = isInTransition ? '-50%' : '50%';
							endOffset = isInTransition ? '50%' : '150%';
							break;
						case 'scrollVertical':
							startOffset = isInTransition ? '150%' : '50%';
							endOffset = isInTransition ? '50%' : '-50%';
							break;
					}
				}

				startTransition['opacity'] = startOpacity;
				startTransition[direction] = startOffset;

				endTransition['opacity'] = endOpacity;
				endTransition[direction] = endOffset;

				$object.css(_self.support.transition + 'transition', 'none');
				$object.css(startTransition).show();

				// Css transition
				if (_self.support.transitions) {
					endTransition[_self.support.transition + 'transition'] = speed + 'ms ease';

					setTimeout(function () {
						$object.css(endTransition);

						setTimeout(function () {
							$object.css(_self.support.transition + 'transition', '');

							if (callback && (_self.isOpen || !isInTransition)) {
								callback();
							}
						}, speed);
					}, 15);
				} else {
					// Fallback to js transition
					$object.stop();
					$object.animate(endTransition, speed, callback);
				}
			},

			/**
			 * Zooms in/out the object
			 *
			 * @param	{object}	$object
			 * @param	{string}	type
			 * @param	{number}	speed
			 * @param	{function}	callback
			 * @return	{void}		Animates an object
			 */
			zoom: function ($object, type, speed, callback) {
				var isInTransition = type === 'in',
					startTransition = {},
					startOpacity = $object.css('opacity'),
					startScale = isInTransition ? 'scale(0.75)' : 'scale(1)',
					endTransition = {},
					endOpacity = isInTransition ? 1 : 0,
					endScale = isInTransition ? 'scale(1)' : 'scale(0.75)';

				if (!_self.isOpen && isInTransition) return;

				startTransition['opacity'] = startOpacity;
				startTransition[_self.support.transition + 'transform'] = startScale;

				endTransition['opacity'] = endOpacity;

				$object.css(_self.support.transition + 'transition', 'none');
				$object.css(startTransition).show();

				// Css transition
				if (_self.support.transitions) {
					endTransition[_self.support.transition + 'transform'] = endScale;
					endTransition[_self.support.transition + 'transition'] = speed + 'ms ease';

					setTimeout(function () {
						$object.css(endTransition);

						setTimeout(function () {
							$object.css(_self.support.transition + 'transform', '');
							$object.css(_self.support.transition + 'transition', '');

							if (callback && (_self.isOpen || !isInTransition)) {
								callback();
							}
						}, speed);
					}, 15);
				} else {
					// Fallback to js transition
					$object.stop();
					$object.animate(endTransition, speed, callback);
				}
			}
		},

		/**
		 * Calls all the registered functions of a specific hook
		 *
		 * @param	{object}	hooks
		 * @return	{void}
		 */
		_callHooks: function (hooks) {
			if (typeof(hooks) === 'object') {
				$.each(hooks, function(index, hook) {
					if (typeof(hook) === 'function') {
						hook.call(_self.origin);
					}
				});
			}
		},

		/**
		 * Caches the object data
		 *
		 * @param	{object}	$object
		 * @return	{void}
		 */
		_cacheObjectData: function ($object) {
			$.data($object, 'cache', {
				id: $object.attr('id'),
				content: $object.html()
			});

			_self.cache.originalObject = $object;
		},

		/**
		 * Restores the object from cache
		 *
		 * @return	void
		 */
		_restoreObject: function () {
			var $object = $('[id^="' + _self.settings.idPrefix + 'temp-"]');

			$object.attr('id', $.data(_self.cache.originalObject, 'cache').id);
			$object.html($.data(_self.cache.originalObject, 'cache').content);
		},

		/**
		 * Executes functions for a window resize.
		 * It stops an eventual timeout and recalculates dimensions.
		 *
		 * @param	{object}	dimensions
		 * @return	{void}
		 */
		resize: function (event, dimensions) {
			if (!_self.isOpen) return;

			if (_self.isSlideshowEnabled()) {
				_self._stopTimeout();
			}

			if (typeof dimensions === 'object' && dimensions !== null) {
				if (dimensions.width) {
					_self.cache.object.attr(
						_self._prefixAttributeName('width'),
						dimensions.width
					);
				}
				if (dimensions.maxWidth) {
					_self.cache.object.attr(
						_self._prefixAttributeName('max-width'),
						dimensions.maxWidth
					);
				}
				if (dimensions.height) {
					_self.cache.object.attr(
						_self._prefixAttributeName('height'),
						dimensions.height
					);
				}
				if (dimensions.maxHeight) {
					_self.cache.object.attr(
						_self._prefixAttributeName('max-height'),
						dimensions.maxHeight
					);
				}
			}

			_self.dimensions = _self.getViewportDimensions();
			_self._calculateDimensions(_self.cache.object);

			// Call onResize hook functions
			_self._callHooks(_self.settings.onResize);
		},

		/**
		 * Watches for any resize interaction and caches the new sizes.
		 *
		 * @return	{void}
		 */
		_watchResizeInteraction: function () {
			$(window).resize(_self.resize);
		},

		/**
		 * Stop watching any resize interaction related to _self.
		 *
		 * @return	{void}
		 */
		_unwatchResizeInteraction: function () {
			$(window).off('resize', _self.resize);
		},

		/**
		 * Switches to the fullscreen mode
		 *
		 * @return	{void}
		 */
		_switchToFullScreenMode: function () {
			_self.settings.shrinkFactor = 1;
			_self.settings.overlayOpacity = 1;

			$('html').addClass(_self.settings.classPrefix + 'fullScreenMode');
		},

		/**
		 * Enters into the lightcase view
		 *
		 * @return	{void}
		 */
		_open: function () {
			_self.isOpen = true;

			_self.support.transitions = _self.settings.cssTransitions ? _self.isTransitionSupported() : false;
			_self.support.mobileDevice = _self.isMobileDevice();

			if (_self.support.mobileDevice) {
				$('html').addClass(_self.settings.classPrefix + 'isMobileDevice');

				if (_self.settings.fullScreenModeForMobile) {
					_self._switchToFullScreenMode();
				}
			}

			if (!_self.settings.transitionIn) {
				_self.settings.transitionIn = _self.settings.transition;
			}
			if (!_self.settings.transitionOut) {
				_self.settings.transitionOut = _self.settings.transition;
			}

			switch (_self.transition.in()) {
				case 'fade':
				case 'fadeInline':
				case 'elastic':
				case 'scrollTop':
				case 'scrollRight':
				case 'scrollBottom':
				case 'scrollLeft':
				case 'scrollVertical':
				case 'scrollHorizontal':
					if (_self.objects.case.is(':hidden')) {
						_self.objects.close.css('opacity', 0);
						_self.objects.overlay.css('opacity', 0);
						_self.objects.case.css('opacity', 0);
						_self.objects.contentInner.css('opacity', 0);
					}
					_self.transition.fade(_self.objects.overlay, 'in', _self.settings.speedIn, _self.settings.overlayOpacity, function () {
						_self.transition.fade(_self.objects.close, 'in', _self.settings.speedIn);
						_self._handleEvents();
						_self._processContent();
					});
					break;
				default:
					_self.transition.fade(_self.objects.overlay, 'in', 0, _self.settings.overlayOpacity, function () {
						_self.transition.fade(_self.objects.close, 'in', 0);
						_self._handleEvents();
						_self._processContent();
					});
					break;
			}

			_self.objects.document.addClass(_self.settings.classPrefix + 'open');
			_self.objects.case.attr('aria-hidden', 'false');
		},

		/**
		 * Shows the lightcase by starting the transition
		 */
		show: function () {
			// Call onCalculateDimensions hook functions
			_self._callHooks(_self.settings.onBeforeCalculateDimensions);

			_self._calculateDimensions(_self.cache.object);

			// Call onAfterCalculateDimensions hook functions
			_self._callHooks(_self.settings.onAfterCalculateDimensions);

			_self._startInTransition();
		},

		/**
		 * Escapes from the lightcase view
		 *
		 * @return	{void}
		 */
		close: function () {
			_self.isOpen = false;

			if (_self.isSlideshowEnabled()) {
				_self._stopTimeout();
				_self.isSlideshowStarted = false;
				_self.objects.nav.removeClass(_self.settings.classPrefix + 'paused');
			}

			_self.objects.loading.hide();

			_self._unbindEvents();

			_self._unwatchResizeInteraction();

			$('html').removeClass(_self.settings.classPrefix + 'open');
			_self.objects.case.attr('aria-hidden', 'true');

			_self.objects.nav.children().hide();
			_self.objects.close.hide();

			// Call onClose hook functions
			_self._callHooks(_self.settings.onClose);

			// Fade out the info at first
			_self.transition.fade(_self.objects.info, 'out', 0);

			switch (_self.settings.transitionClose || _self.settings.transitionOut) {
				case 'fade':
				case 'fadeInline':
				case 'scrollTop':
				case 'scrollRight':
				case 'scrollBottom':
				case 'scrollLeft':
				case 'scrollHorizontal':
				case 'scrollVertical':
					_self.transition.fade(_self.objects.case, 'out', _self.settings.speedOut, 0, function () {
						_self.transition.fade(_self.objects.overlay, 'out', _self.settings.speedOut, 0, function () {
							_self.cleanup();
						});
					});
					break;
				case 'elastic':
					_self.transition.zoom(_self.objects.case, 'out', _self.settings.speedOut, function () {
						_self.transition.fade(_self.objects.overlay, 'out', _self.settings.speedOut, 0, function () {
							_self.cleanup();
						});
					});
					break;
				default:
					_self.cleanup();
					break;
			}
		},

		/**
		 * Unbinds all given events
		 *
		 * @return	{void}
		 */
		_unbindEvents: function () {
			// Unbind overlay event
			_self.objects.overlay.unbind('click');

			// Unbind key events
			$(document).unbind('keyup.lightcase');

			// Unbind swipe events
			_self.objects.case.unbind('swipeleft').unbind('swiperight');

			// Unbind navigator events
			_self.objects.prev.unbind('click');
			_self.objects.next.unbind('click');
			_self.objects.play.unbind('click');
			_self.objects.pause.unbind('click');

			// Unbind close event
			_self.objects.close.unbind('click');
		},

		/**
		 * Cleans up the dimensions
		 *
		 * @return	{void}
		 */
		_cleanupDimensions: function () {
			var opacity = _self.objects.contentInner.css('opacity');

			_self.objects.case.css({
				'width': '',
				'height': '',
				'top': '',
				'left': '',
				'margin-top': '',
				'margin-left': ''
			});

			_self.objects.contentInner.removeAttr('style').css('opacity', opacity);
			_self.objects.contentInner.children().removeAttr('style');
		},

		/**
		 * Cleanup after aborting lightcase
		 *
		 * @return	{void}
		 */
		cleanup: function () {
			_self._cleanupDimensions();

			_self.objects.loading.hide();
			_self.objects.overlay.hide();
			_self.objects.case.hide();
			_self.objects.prev.hide();
			_self.objects.next.hide();
			_self.objects.play.hide();
			_self.objects.pause.hide();

			_self.objects.document.removeAttr(_self._prefixAttributeName('type'));
			_self.objects.nav.removeAttr(_self._prefixAttributeName('ispartofsequence'));

			_self.objects.contentInner.empty().hide();
			_self.objects.info.children().empty();

			if (_self.cache.originalObject) {
				_self._restoreObject();
			}

			// Call onCleanup hook functions
			_self._callHooks(_self.settings.onCleanup);

			// Restore cache
			_self.cache = {};
		},

		/**
		 * Returns the supported match media or undefined if the browser
		 * doesn't support match media.
		 *
		 * @return	{mixed}
		 */
		_matchMedia: function () {
			return window.matchMedia || window.msMatchMedia;
		},

		/**
		 * Returns the devicePixelRatio if supported. Else, it simply returns
		 * 1 as the default.
		 *
		 * @return	{number}
		 */
		_devicePixelRatio: function () {
			return window.devicePixelRatio || 1;
		},

		/**
		 * Checks if method is public
		 *
		 * @return	{boolean}
		 */
		_isPublicMethod: function (method) {
			return (typeof _self[method] === 'function' && method.charAt(0) !== '_');
		},

		/**
		 * Exports all public methods to be accessible, callable
		 * from global scope.
		 *
		 * @return	{void}
		 */
		_export: function () {
			window.lightcase = {};

			$.each(_self, function (property) {
				if (_self._isPublicMethod(property)) {
					lightcase[property] = _self[property];
				}
			});
		}
	};

	_self._export();

	$.fn.lightcase = function (method) {
		// Method calling logic (only public methods are applied)
		if (_self._isPublicMethod(method)) {
			return _self[method].apply(this, Array.prototype.slice.call(arguments, 1));
		} else if (typeof method === 'object' || !method) {
			return _self.init.apply(this, arguments);
		} else {
			$.error('Method ' + method + ' does not exist on jQuery.lightcase');
		}
	};
})(jQuery);
assets/js/font-awesome5-all.min.js000064400004405730150753125230013061 0ustar00/*!
 * Font Awesome Free 5.14.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
!function(){"use strict";var c={},l={};try{"undefined"!=typeof window&&(c=window),"undefined"!=typeof document&&(l=document)}catch(c){}var h=(c.navigator||{}).userAgent,z=void 0===h?"":h,a=c,v=l,m=(a.document,!!v.documentElement&&!!v.head&&"function"==typeof v.addEventListener&&v.createElement,~z.indexOf("MSIE")||z.indexOf("Trident/"),"___FONT_AWESOME___"),s=function(){try{return!0}catch(c){return!1}}();var e=a||{};e[m]||(e[m]={}),e[m].styles||(e[m].styles={}),e[m].hooks||(e[m].hooks={}),e[m].shims||(e[m].shims=[]);var t=e[m];function M(c,z){var l=(2<arguments.length&&void 0!==arguments[2]?arguments[2]:{}).skipHooks,h=void 0!==l&&l,a=Object.keys(z).reduce(function(c,l){var h=z[l];return!!h.icon?c[h.iconName]=h.icon:c[l]=h,c},{});"function"!=typeof t.hooks.addPack||h?t.styles[c]=function(a){for(var c=1;c<arguments.length;c++){var v=null!=arguments[c]?arguments[c]:{},l=Object.keys(v);"function"==typeof Object.getOwnPropertySymbols&&(l=l.concat(Object.getOwnPropertySymbols(v).filter(function(c){return Object.getOwnPropertyDescriptor(v,c).enumerable}))),l.forEach(function(c){var l,h,z;l=a,z=v[h=c],h in l?Object.defineProperty(l,h,{value:z,enumerable:!0,configurable:!0,writable:!0}):l[h]=z})}return a}({},t.styles[c]||{},a):t.hooks.addPack(c,a),"fas"===c&&M("fa",z)}var f={"500px":[448,512,[],"f26e","M103.3 344.3c-6.5-14.2-6.9-18.3 7.4-23.1 25.6-8 8 9.2 43.2 49.2h.3v-93.9c1.2-50.2 44-92.2 97.7-92.2 53.9 0 97.7 43.5 97.7 96.8 0 63.4-60.8 113.2-128.5 93.3-10.5-4.2-2.1-31.7 8.5-28.6 53 0 89.4-10.1 89.4-64.4 0-61-77.1-89.6-116.9-44.6-23.5 26.4-17.6 42.1-17.6 157.6 50.7 31 118.3 22 160.4-20.1 24.8-24.8 38.5-58 38.5-93 0-35.2-13.8-68.2-38.8-93.3-24.8-24.8-57.8-38.5-93.3-38.5s-68.8 13.8-93.5 38.5c-.3.3-16 16.5-21.2 23.9l-.5.6c-3.3 4.7-6.3 9.1-20.1 6.1-6.9-1.7-14.3-5.8-14.3-11.8V20c0-5 3.9-10.5 10.5-10.5h241.3c8.3 0 8.3 11.6 8.3 15.1 0 3.9 0 15.1-8.3 15.1H130.3v132.9h.3c104.2-109.8 282.8-36 282.8 108.9 0 178.1-244.8 220.3-310.1 62.8zm63.3-260.8c-.5 4.2 4.6 24.5 14.6 20.6C306 56.6 384 144.5 390.6 144.5c4.8 0 22.8-15.3 14.3-22.8-93.2-89-234.5-57-238.3-38.2zM393 414.7C283 524.6 94 475.5 61 310.5c0-12.2-30.4-7.4-28.9 3.3 24 173.4 246 256.9 381.6 121.3 6.9-7.8-12.6-28.4-20.7-20.4zM213.6 306.6c0 4 4.3 7.3 5.5 8.5 3 3 6.1 4.4 8.5 4.4 3.8 0 2.6.2 22.3-19.5 19.6 19.3 19.1 19.5 22.3 19.5 5.4 0 18.5-10.4 10.7-18.2L265.6 284l18.2-18.2c6.3-6.8-10.1-21.8-16.2-15.7L249.7 268c-18.6-18.8-18.4-19.5-21.5-19.5-5 0-18 11.7-12.4 17.3L234 284c-18.1 17.9-20.4 19.2-20.4 22.6z"],"accessible-icon":[448,512,[],"f368","M423.9 255.8L411 413.1c-3.3 40.7-63.9 35.1-60.6-4.9l10-122.5-41.1 2.3c10.1 20.7 15.8 43.9 15.8 68.5 0 41.2-16.1 78.7-42.3 106.5l-39.3-39.3c57.9-63.7 13.1-167.2-74-167.2-25.9 0-49.5 9.9-67.2 26L73 243.2c22-20.7 50.1-35.1 81.4-40.2l75.3-85.7-42.6-24.8-51.6 46c-30 26.8-70.6-18.5-40.5-45.4l68-60.7c9.8-8.8 24.1-10.2 35.5-3.6 0 0 139.3 80.9 139.5 81.1 16.2 10.1 20.7 36 6.1 52.6L285.7 229l106.1-5.9c18.5-1.1 33.6 14.4 32.1 32.7zm-64.9-154c28.1 0 50.9-22.8 50.9-50.9C409.9 22.8 387.1 0 359 0c-28.1 0-50.9 22.8-50.9 50.9 0 28.1 22.8 50.9 50.9 50.9zM179.6 456.5c-80.6 0-127.4-90.6-82.7-156.1l-39.7-39.7C36.4 287 24 320.3 24 356.4c0 130.7 150.7 201.4 251.4 122.5l-39.7-39.7c-16 10.9-35.3 17.3-56.1 17.3z"],accusoft:[640,512,[],"f369","M322.1 252v-1l-51.2-65.8s-12 1.6-25 15.1c-9 9.3-242.1 239.1-243.4 240.9-7 10 1.6 6.8 15.7 1.7.8 0 114.5-36.6 114.5-36.6.5-.6-.1-.1.6-.6-.4-5.1-.8-26.2-1-27.7-.6-5.2 2.2-6.9 7-8.9l92.6-33.8c.6-.8 88.5-81.7 90.2-83.3zm160.1 120.1c13.3 16.1 20.7 13.3 30.8 9.3 3.2-1.2 115.4-47.6 117.8-48.9 8-4.3-1.7-16.7-7.2-23.4-2.1-2.5-205.1-245.6-207.2-248.3-9.7-12.2-14.3-12.9-38.4-12.8-10.2 0-106.8.5-116.5.6-19.2.1-32.9-.3-19.2 16.9C250 75 476.5 365.2 482.2 372.1zm152.7 1.6c-2.3-.3-24.6-4.7-38-7.2 0 0-115 50.4-117.5 51.6-16 7.3-26.9-3.2-36.7-14.6l-57.1-74c-5.4-.9-60.4-9.6-65.3-9.3-3.1.2-9.6.8-14.4 2.9-4.9 2.1-145.2 52.8-150.2 54.7-5.1 2-11.4 3.6-11.1 7.6.2 2.5 2 2.6 4.6 3.5 2.7.8 300.9 67.6 308 69.1 15.6 3.3 38.5 10.5 53.6 1.7 2.1-1.2 123.8-76.4 125.8-77.8 5.4-4 4.3-6.8-1.7-8.2z"],"acquisitions-incorporated":[384,512,[],"f6af","M357.45 468.2c-1.2-7.7-1.3-7.6-9.6-7.6-99.8.2-111.8-2.4-112.7-2.6-12.3-1.7-20.6-10.5-21-23.1-.1-1.6-.2-71.6-1-129.1-.1-4.7 1.6-6.4 5.9-7.5 12.5-3 24.9-6.1 37.3-9.7 4.3-1.3 6.8-.2 8.4 3.5 4.5 10.3 8.8 20.6 13.2 30.9 1.6 3.7.1 4.4-3.4 4.4-10-.2-20-.1-30.4-.1v27h116c-1.4-9.5-2.7-18.1-4-27.5-7 0-13.8.4-20.4-.1-22.6-1.6-18.3-4.4-84-158.6-8.8-20.1-27.9-62.1-36.5-89.2-4.4-14 5.5-25.4 18.9-26.6 18.6-1.7 37.5-1.6 56.2-2 20.6-.4 41.2-.4 61.8-.5 3.1 0 4-1.4 4.3-4.3 1.2-9.8 2.7-19.5 4-29.2.8-5.3 1.6-10.7 2.4-16.1L23.75 0c-3.6 0-5.3 1.1-4.6 5.3 2.2 13.2-.8.8 6.4 45.3 63.4 0 71.8.9 101.8.5 12.3-.2 37 3.5 37.7 22.1.4 11.4-1.1 11.3-32.6 87.4-53.8 129.8-50.7 120.3-67.3 161-1.7 4.1-3.6 5.2-7.6 5.2-8.5-.2-17-.3-25.4.1-1.9.1-5.2 1.8-5.5 3.2-1.5 8.1-2.2 16.3-3.2 24.9h114.3v-27.6c-6.9 0-33.5.4-35.3-2.9 5.3-12.3 10.4-24.4 15.7-36.7 16.3 4 31.9 7.8 47.6 11.7 3.4.9 4.6 3 4.6 6.8-.1 42.9.1 85.9.2 128.8 0 10.2-5.5 19.1-14.9 23.1-6.5 2.7-3.3 3.4-121.4 2.4-5.3 0-7.1 2-7.6 6.8-1.5 12.9-2.9 25.9-5 38.8-.8 5 1.3 5.7 5.3 5.7 183.2.6-30.7 0 337.1 0-2.5-15-4.4-29.4-6.6-43.7zm-174.9-205.7c-13.3-4.2-26.6-8.2-39.9-12.5a44.53 44.53 0 0 1-5.8-2.9c17.2-44.3 34.2-88.1 51.3-132.1 7.5 2.4 7.9-.8 9.4 0 9.3 22.5 18.1 60.1 27 82.8 6.6 16.7 13 33.5 19.7 50.9a35.78 35.78 0 0 1-3.9 2.1c-13.1 3.9-26.4 7.5-39.4 11.7a27.66 27.66 0 0 1-18.4 0z"],adn:[496,512,[],"f170","M248 167.5l64.9 98.8H183.1l64.9-98.8zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-99.8 82.7L248 115.5 99.8 338.7h30.4l33.6-51.7h168.6l33.6 51.7h30.2z"],adobe:[512,512,[],"f778","M315.5 64h170.9v384L315.5 64zm-119 0H25.6v384L196.5 64zM256 206.1L363.5 448h-73l-30.7-76.8h-78.7L256 206.1z"],adversal:[512,512,[],"f36a","M482.1 32H28.7C5.8 32 0 37.9 0 60.9v390.2C0 474.4 5.8 480 28.7 480h453.4c24.4 0 29.9-5.2 29.9-29.7V62.2c0-24.6-5.4-30.2-29.9-30.2zM178.4 220.3c-27.5-20.2-72.1-8.7-84.2 23.4-4.3 11.1-9.3 9.5-17.5 8.3-9.7-1.5-17.2-3.2-22.5-5.5-28.8-11.4 8.6-55.3 24.9-64.3 41.1-21.4 83.4-22.2 125.3-4.8 40.9 16.8 34.5 59.2 34.5 128.5 2.7 25.8-4.3 58.3 9.3 88.8 1.9 4.4.4 7.9-2.7 10.7-8.4 6.7-39.3 2.2-46.6-7.4-1.9-2.2-1.8-3.6-3.9-6.2-3.6-3.9-7.3-2.2-11.9 1-57.4 36.4-140.3 21.4-147-43.3-3.1-29.3 12.4-57.1 39.6-71 38.2-19.5 112.2-11.8 114-30.9 1.1-10.2-1.9-20.1-11.3-27.3zm286.7 222c0 15.1-11.1 9.9-17.8 9.9H52.4c-7.4 0-18.2 4.8-17.8-10.7.4-13.9 10.5-9.1 17.1-9.1 132.3-.4 264.5-.4 396.8 0 6.8 0 16.6-4.4 16.6 9.9zm3.8-340.5v291c0 5.7-.7 13.9-8.1 13.9-12.4-.4-27.5 7.1-36.1-5.6-5.8-8.7-7.8-4-12.4-1.2-53.4 29.7-128.1 7.1-144.4-85.2-6.1-33.4-.7-67.1 15.7-100 11.8-23.9 56.9-76.1 136.1-30.5v-71c0-26.2-.1-26.2 26-26.2 3.1 0 6.6.4 9.7 0 10.1-.8 13.6 4.4 13.6 14.3-.1.2-.1.3-.1.5zm-51.5 232.3c-19.5 47.6-72.9 43.3-90 5.2-15.1-33.3-15.5-68.2.4-101.5 16.3-34.1 59.7-35.7 81.5-4.8 20.6 28.8 14.9 84.6 8.1 101.1zm-294.8 35.3c-7.5-1.3-33-3.3-33.7-27.8-.4-13.9 7.8-23 19.8-25.8 24.4-5.9 49.3-9.9 73.7-14.7 8.9-2 7.4 4.4 7.8 9.5 1.4 33-26.1 59.2-67.6 58.8z"],affiliatetheme:[512,512,[],"f36b","M159.7 237.4C108.4 308.3 43.1 348.2 14 326.6-15.2 304.9 2.8 230 54.2 159.1c51.3-70.9 116.6-110.8 145.7-89.2 29.1 21.6 11.1 96.6-40.2 167.5zm351.2-57.3C437.1 303.5 319 367.8 246.4 323.7c-25-15.2-41.3-41.2-49-73.8-33.6 64.8-92.8 113.8-164.1 133.2 49.8 59.3 124.1 96.9 207 96.9 150 0 271.6-123.1 271.6-274.9.1-8.5-.3-16.8-1-25z"],airbnb:[448,512,[],"f834","M224 373.12c-25.24-31.67-40.08-59.43-45-83.18-22.55-88 112.61-88 90.06 0-5.45 24.25-20.29 52-45 83.18zm138.15 73.23c-42.06 18.31-83.67-10.88-119.3-50.47 103.9-130.07 46.11-200-18.85-200-54.92 0-85.16 46.51-73.28 100.5 6.93 29.19 25.23 62.39 54.43 99.5-32.53 36.05-60.55 52.69-85.15 54.92-50 7.43-89.11-41.06-71.3-91.09 15.1-39.16 111.72-231.18 115.87-241.56 15.75-30.07 25.56-57.4 59.38-57.4 32.34 0 43.4 25.94 60.37 59.87 36 70.62 89.35 177.48 114.84 239.09 13.17 33.07-1.37 71.29-37.01 86.64zm47-136.12C280.27 35.93 273.13 32 224 32c-45.52 0-64.87 31.67-84.66 72.79C33.18 317.1 22.89 347.19 22 349.81-3.22 419.14 48.74 480 111.63 480c21.71 0 60.61-6.06 112.37-62.4 58.68 63.78 101.26 62.4 112.37 62.4 62.89.05 114.85-60.86 89.61-130.19.02-3.89-16.82-38.9-16.82-39.58z"],algolia:[448,512,[],"f36c","M229.3 182.6c-49.3 0-89.2 39.9-89.2 89.2 0 49.3 39.9 89.2 89.2 89.2s89.2-39.9 89.2-89.2c0-49.3-40-89.2-89.2-89.2zm62.7 56.6l-58.9 30.6c-1.8.9-3.8-.4-3.8-2.3V201c0-1.5 1.3-2.7 2.7-2.6 26.2 1 48.9 15.7 61.1 37.1.7 1.3.2 3-1.1 3.7zM389.1 32H58.9C26.4 32 0 58.4 0 90.9V421c0 32.6 26.4 59 58.9 59H389c32.6 0 58.9-26.4 58.9-58.9V90.9C448 58.4 421.6 32 389.1 32zm-202.6 84.7c0-10.8 8.7-19.5 19.5-19.5h45.3c10.8 0 19.5 8.7 19.5 19.5v15.4c0 1.8-1.7 3-3.3 2.5-12.3-3.4-25.1-5.1-38.1-5.1-13.5 0-26.7 1.8-39.4 5.5-1.7.5-3.4-.8-3.4-2.5v-15.8zm-84.4 37l9.2-9.2c7.6-7.6 19.9-7.6 27.5 0l7.7 7.7c1.1 1.1 1 3-.3 4-6.2 4.5-12.1 9.4-17.6 14.9-5.4 5.4-10.4 11.3-14.8 17.4-1 1.3-2.9 1.5-4 .3l-7.7-7.7c-7.6-7.5-7.6-19.8 0-27.4zm127.2 244.8c-70 0-126.6-56.7-126.6-126.6s56.7-126.6 126.6-126.6c70 0 126.6 56.6 126.6 126.6 0 69.8-56.7 126.6-126.6 126.6z"],alipay:[448,512,[],"f642","M377.74 32H70.26C31.41 32 0 63.41 0 102.26v307.48C0 448.59 31.41 480 70.26 480h307.48c38.52 0 69.76-31.08 70.26-69.6-45.96-25.62-110.59-60.34-171.6-88.44-32.07 43.97-84.14 81-148.62 81-70.59 0-93.73-45.3-97.04-76.37-3.97-39.01 14.88-81.5 99.52-81.5 35.38 0 79.35 10.25 127.13 24.96 16.53-30.09 26.45-60.34 26.45-60.34h-178.2v-16.7h92.08v-31.24H88.28v-19.01h109.44V92.34h50.92v50.42h109.44v19.01H248.63v31.24h88.77s-15.21 46.62-38.35 90.92c48.93 16.7 100.01 36.04 148.62 52.74V102.26C447.83 63.57 416.43 32 377.74 32zM47.28 322.95c.99 20.17 10.25 53.73 69.93 53.73 52.07 0 92.58-39.68 117.87-72.9-44.63-18.68-84.48-31.41-109.44-31.41-67.45 0-79.35 33.06-78.36 50.58z"],amazon:[448,512,[],"f270","M257.2 162.7c-48.7 1.8-169.5 15.5-169.5 117.5 0 109.5 138.3 114 183.5 43.2 6.5 10.2 35.4 37.5 45.3 46.8l56.8-56S341 288.9 341 261.4V114.3C341 89 316.5 32 228.7 32 140.7 32 94 87 94 136.3l73.5 6.8c16.3-49.5 54.2-49.5 54.2-49.5 40.7-.1 35.5 29.8 35.5 69.1zm0 86.8c0 80-84.2 68-84.2 17.2 0-47.2 50.5-56.7 84.2-57.8v40.6zm136 163.5c-7.7 10-70 67-174.5 67S34.2 408.5 9.7 379c-6.8-7.7 1-11.3 5.5-8.3C88.5 415.2 203 488.5 387.7 401c7.5-3.7 13.3 2 5.5 12zm39.8 2.2c-6.5 15.8-16 26.8-21.2 31-5.5 4.5-9.5 2.7-6.5-3.8s19.3-46.5 12.7-55c-6.5-8.3-37-4.3-48-3.2-10.8 1-13 2-14-.3-2.3-5.7 21.7-15.5 37.5-17.5 15.7-1.8 41-.8 46 5.7 3.7 5.1 0 27.1-6.5 43.1z"],"amazon-pay":[640,512,[],"f42c","M14 325.3c2.3-4.2 5.2-4.9 9.7-2.5 10.4 5.6 20.6 11.4 31.2 16.7a595.88 595.88 0 0 0 127.4 46.3 616.61 616.61 0 0 0 63.2 11.8 603.33 603.33 0 0 0 95 5.2c17.4-.4 34.8-1.8 52.1-3.8a603.66 603.66 0 0 0 163.3-42.8c2.9-1.2 5.9-2 9.1-1.2 6.7 1.8 9 9 4.1 13.9a70 70 0 0 1-9.6 7.4c-30.7 21.1-64.2 36.4-99.6 47.9a473.31 473.31 0 0 1-75.1 17.6 431 431 0 0 1-53.2 4.8 21.3 21.3 0 0 0-2.5.3H308a21.3 21.3 0 0 0-2.5-.3c-3.6-.2-7.2-.3-10.7-.4a426.3 426.3 0 0 1-50.4-5.3A448.4 448.4 0 0 1 164 420a443.33 443.33 0 0 1-145.6-87c-1.8-1.6-3-3.8-4.4-5.7zM172 65.1l-4.3.6a80.92 80.92 0 0 0-38 15.1c-2.4 1.7-4.6 3.5-7.1 5.4a4.29 4.29 0 0 1-.4-1.4c-.4-2.7-.8-5.5-1.3-8.2-.7-4.6-3-6.6-7.6-6.6h-11.5c-6.9 0-8.2 1.3-8.2 8.2v209.3c0 1 0 2 .1 3 .2 3 2 4.9 4.9 5 7 .1 14.1.1 21.1 0 2.9 0 4.7-2 5-5 .1-1 .1-2 .1-3v-72.4c1.1.9 1.7 1.4 2.2 1.9 17.9 14.9 38.5 19.8 61 15.4 20.4-4 34.6-16.5 43.8-34.9 7-13.9 9.9-28.7 10.3-44.1.5-17.1-1.2-33.9-8.1-49.8-8.5-19.6-22.6-32.5-43.9-36.9-3.2-.7-6.5-1-9.8-1.5-2.8-.1-5.5-.1-8.3-.1zM124.6 107a3.48 3.48 0 0 1 1.7-3.3c13.7-9.5 28.8-14.5 45.6-13.2 14.9 1.1 27.1 8.4 33.5 25.9 3.9 10.7 4.9 21.8 4.9 33 0 10.4-.8 20.6-4 30.6-6.8 21.3-22.4 29.4-42.6 28.5-14-.6-26.2-6-37.4-13.9a3.57 3.57 0 0 1-1.7-3.3c.1-14.1 0-28.1 0-42.2s.1-28 0-42.1zm205.7-41.9c-1 .1-2 .3-2.9.4a148 148 0 0 0-28.9 4.1c-6.1 1.6-12 3.8-17.9 5.8-3.6 1.2-5.4 3.8-5.3 7.7.1 3.3-.1 6.6 0 9.9.1 4.8 2.1 6.1 6.8 4.9 7.8-2 15.6-4.2 23.5-5.7 12.3-2.3 24.7-3.3 37.2-1.4 6.5 1 12.6 2.9 16.8 8.4 3.7 4.8 5.1 10.5 5.3 16.4.3 8.3.2 16.6.3 24.9a7.84 7.84 0 0 1-.2 1.4c-.5-.1-.9 0-1.3-.1a180.56 180.56 0 0 0-32-4.9c-11.3-.6-22.5.1-33.3 3.9-12.9 4.5-23.3 12.3-29.4 24.9-4.7 9.8-5.4 20.2-3.9 30.7 2 14 9 24.8 21.4 31.7 11.9 6.6 24.8 7.4 37.9 5.4 15.1-2.3 28.5-8.7 40.3-18.4a7.36 7.36 0 0 1 1.6-1.1c.6 3.8 1.1 7.4 1.8 11 .6 3.1 2.5 5.1 5.4 5.2 5.4.1 10.9.1 16.3 0a4.84 4.84 0 0 0 4.8-4.7 26.2 26.2 0 0 0 .1-2.8v-106a80 80 0 0 0-.9-12.9c-1.9-12.9-7.4-23.5-19-30.4-6.7-4-14.1-6-21.8-7.1-3.6-.5-7.2-.8-10.8-1.3-3.9.1-7.9.1-11.9.1zm35 127.7a3.33 3.33 0 0 1-1.5 3c-11.2 8.1-23.5 13.5-37.4 14.9-5.7.6-11.4.4-16.8-1.8a20.08 20.08 0 0 1-12.4-13.3 32.9 32.9 0 0 1-.1-19.4c2.5-8.3 8.4-13 16.4-15.6a61.33 61.33 0 0 1 24.8-2.2c8.4.7 16.6 2.3 25 3.4 1.6.2 2.1 1 2.1 2.6-.1 4.8 0 9.5 0 14.3s-.2 9.4-.1 14.1zm259.9 129.4c-1-5-4.8-6.9-9.1-8.3a88.42 88.42 0 0 0-21-3.9 147.32 147.32 0 0 0-39.2 1.9c-14.3 2.7-27.9 7.3-40 15.6a13.75 13.75 0 0 0-3.7 3.5 5.11 5.11 0 0 0-.5 4c.4 1.5 2.1 1.9 3.6 1.8a16.2 16.2 0 0 0 2.2-.1c7.8-.8 15.5-1.7 23.3-2.5 11.4-1.1 22.9-1.8 34.3-.9a71.64 71.64 0 0 1 14.4 2.7c5.1 1.4 7.4 5.2 7.6 10.4.4 8-1.4 15.7-3.5 23.3-4.1 15.4-10 30.3-15.8 45.1a17.6 17.6 0 0 0-1 3c-.5 2.9 1.2 4.8 4.1 4.1a10.56 10.56 0 0 0 4.8-2.5 145.91 145.91 0 0 0 12.7-13.4c12.8-16.4 20.3-35.3 24.7-55.6.8-3.6 1.4-7.3 2.1-10.9v-17.3zM493.1 199q-19.35-53.55-38.7-107.2c-2-5.7-4.2-11.3-6.3-16.9-1.1-2.9-3.2-4.8-6.4-4.8-7.6-.1-15.2-.2-22.9-.1-2.5 0-3.7 2-3.2 4.5a43.1 43.1 0 0 0 1.9 6.1q29.4 72.75 59.1 145.5c1.7 4.1 2.1 7.6.2 11.8-3.3 7.3-5.9 15-9.3 22.3-3 6.5-8 11.4-15.2 13.3a42.13 42.13 0 0 1-15.4 1.1c-2.5-.2-5-.8-7.5-1-3.4-.2-5.1 1.3-5.2 4.8q-.15 5 0 9.9c.1 5.5 2 8 7.4 8.9a108.18 108.18 0 0 0 16.9 2c17.1.4 30.7-6.5 39.5-21.4a131.63 131.63 0 0 0 9.2-18.4q35.55-89.7 70.6-179.6a26.62 26.62 0 0 0 1.6-5.5c.4-2.8-.9-4.4-3.7-4.4-6.6-.1-13.3 0-19.9 0a7.54 7.54 0 0 0-7.7 5.2c-.5 1.4-1.1 2.7-1.6 4.1l-34.8 100c-2.5 7.2-5.1 14.5-7.7 22.2-.4-1.1-.6-1.7-.9-2.4z"],amilia:[448,512,[],"f36d","M240.1 32c-61.9 0-131.5 16.9-184.2 55.4-5.1 3.1-9.1 9.2-7.2 19.4 1.1 5.1 5.1 27.4 10.2 39.6 4.1 10.2 14.2 10.2 20.3 6.1 32.5-22.3 96.5-47.7 152.3-47.7 57.9 0 58.9 28.4 58.9 73.1v38.5C203 227.7 78.2 251 46.7 264.2 11.2 280.5 16.3 357.7 16.3 376s15.2 104 124.9 104c47.8 0 113.7-20.7 153.3-42.1v25.4c0 3 2.1 8.2 6.1 9.1 3.1 1 50.7 2 59.9 2s62.5.3 66.5-.7c4.1-1 5.1-6.1 5.1-9.1V168c-.1-80.3-57.9-136-192-136zm50.2 348c-21.4 13.2-48.7 24.4-79.1 24.4-52.8 0-58.9-33.5-59-44.7 0-12.2-3-42.7 18.3-52.9 24.3-13.2 75.1-29.4 119.8-33.5z"],android:[576,512,[],"f17b","M420.55,301.93a24,24,0,1,1,24-24,24,24,0,0,1-24,24m-265.1,0a24,24,0,1,1,24-24,24,24,0,0,1-24,24m273.7-144.48,47.94-83a10,10,0,1,0-17.27-10h0l-48.54,84.07a301.25,301.25,0,0,0-246.56,0L116.18,64.45a10,10,0,1,0-17.27,10h0l47.94,83C64.53,202.22,8.24,285.55,0,384H576c-8.24-98.45-64.54-181.78-146.85-226.55"],angellist:[448,512,[],"f209","M347.1 215.4c11.7-32.6 45.4-126.9 45.4-157.1 0-26.6-15.7-48.9-43.7-48.9-44.6 0-84.6 131.7-97.1 163.1C242 144 196.6 0 156.6 0c-31.1 0-45.7 22.9-45.7 51.7 0 35.3 34.2 126.8 46.6 162-6.3-2.3-13.1-4.3-20-4.3-23.4 0-48.3 29.1-48.3 52.6 0 8.9 4.9 21.4 8 29.7-36.9 10-51.1 34.6-51.1 71.7C46 435.6 114.4 512 210.6 512c118 0 191.4-88.6 191.4-202.9 0-43.1-6.9-82-54.9-93.7zM311.7 108c4-12.3 21.1-64.3 37.1-64.3 8.6 0 10.9 8.9 10.9 16 0 19.1-38.6 124.6-47.1 148l-34-6 33.1-93.7zM142.3 48.3c0-11.9 14.5-45.7 46.3 47.1l34.6 100.3c-15.6-1.3-27.7-3-35.4 1.4-10.9-28.8-45.5-119.7-45.5-148.8zM140 244c29.3 0 67.1 94.6 67.1 107.4 0 5.1-4.9 11.4-10.6 11.4-20.9 0-76.9-76.9-76.9-97.7.1-7.7 12.7-21.1 20.4-21.1zm184.3 186.3c-29.1 32-66.3 48.6-109.7 48.6-59.4 0-106.3-32.6-128.9-88.3-17.1-43.4 3.8-68.3 20.6-68.3 11.4 0 54.3 60.3 54.3 73.1 0 4.9-7.7 8.3-11.7 8.3-16.1 0-22.4-15.5-51.1-51.4-29.7 29.7 20.5 86.9 58.3 86.9 26.1 0 43.1-24.2 38-42 3.7 0 8.3.3 11.7-.6 1.1 27.1 9.1 59.4 41.7 61.7 0-.9 2-7.1 2-7.4 0-17.4-10.6-32.6-10.6-50.3 0-28.3 21.7-55.7 43.7-71.7 8-6 17.7-9.7 27.1-13.1 9.7-3.7 20-8 27.4-15.4-1.1-11.2-5.7-21.1-16.9-21.1-27.7 0-120.6 4-120.6-39.7 0-6.7.1-13.1 17.4-13.1 32.3 0 114.3 8 138.3 29.1 18.1 16.1 24.3 113.2-31 174.7zm-98.6-126c9.7 3.1 19.7 4 29.7 6-7.4 5.4-14 12-20.3 19.1-2.8-8.5-6.2-16.8-9.4-25.1z"],angrycreative:[640,512,[],"f36e","M640 238.2l-3.2 28.2-34.5 2.3-2 18.1 34.5-2.3-3.2 28.2-34.4 2.2-2.3 20.1 34.4-2.2-3 26.1-64.7 4.1 12.7-113.2L527 365.2l-31.9 2-23.8-117.8 30.3-2 13.6 79.4 31.7-82.4 93.1-6.2zM426.8 371.5l28.3-1.8L468 249.6l-28.4 1.9-12.8 120zM162 388.1l-19.4-36-3.5 37.4-28.2 1.7 2.7-29.1c-11 18-32 34.3-56.9 35.8C23.9 399.9-3 377 .3 339.7c2.6-29.3 26.7-62.8 67.5-65.4 37.7-2.4 47.6 23.2 51.3 28.8l2.8-30.8 38.9-2.5c20.1-1.3 38.7 3.7 42.5 23.7l2.6-26.6 64.8-4.2-2.7 27.9-36.4 2.4-1.7 17.9 36.4-2.3-2.7 27.9-36.4 2.3-1.9 19.9 36.3-2.3-2.1 20.8 55-117.2 23.8-1.6L370.4 369l8.9-85.6-22.3 1.4 2.9-27.9 75-4.9-3 28-24.3 1.6-9.7 91.9-58 3.7-4.3-15.6-39.4 2.5-8 16.3-126.2 7.7zm-44.3-70.2l-26.4 1.7C84.6 307.2 76.9 303 65 303.8c-19 1.2-33.3 17.5-34.6 33.3-1.4 16 7.3 32.5 28.7 31.2 12.8-.8 21.3-8.6 28.9-18.9l27-1.7 2.7-29.8zm56.1-7.7c1.2-12.9-7.6-13.6-26.1-12.4l-2.7 28.5c14.2-.9 27.5-2.1 28.8-16.1zm21.1 70.8l5.8-60c-5 13.5-14.7 21.1-27.9 26.6l22.1 33.4zm135.4-45l-7.9-37.8-15.8 39.3 23.7-1.5zm-170.1-74.6l-4.3-17.5-39.6 2.6-8.1 18.2-31.9 2.1 57-121.9 23.9-1.6 30.7 102 9.9-104.7 27-1.8 37.8 63.6 6.5-66.6 28.5-1.9-4 41.2c7.4-13.5 22.9-44.7 63.6-47.5 40.5-2.8 52.4 29.3 53.4 30.3l3.3-32 39.3-2.7c12.7-.9 27.8.3 36.3 9.7l-4.4-11.9 32.2-2.2 12.9 43.2 23-45.7 31-2.2-43.6 78.4-4.8 44.3-28.4 1.9 4.8-44.3-15.8-43c1 22.3-9.2 40.1-32 49.6l25.2 38.8-36.4 2.4-19.2-36.8-4 38.3-28.4 1.9 3.3-31.5c-6.7 9.3-19.7 35.4-59.6 38-26.2 1.7-45.6-10.3-55.4-39.2l-4 40.3-25 1.6-37.6-63.3-6.3 66.2-56.8 3.7zm276.6-82.1c10.2-.7 17.5-2.1 21.6-4.3 4.5-2.4 7-6.4 7.6-12.1.6-5.3-.6-8.8-3.4-10.4-3.6-2.1-10.6-2.8-22.9-2l-2.9 28.8zM327.7 214c5.6 5.9 12.7 8.5 21.3 7.9 4.7-.3 9.1-1.8 13.3-4.1 5.5-3 10.6-8 15.1-14.3l-34.2 2.3 2.4-23.9 63.1-4.3 1.2-12-31.2 2.1c-4.1-3.7-7.8-6.6-11.1-8.1-4-1.7-8.1-2.8-12.2-2.5-8 .5-15.3 3.6-22 9.2-7.7 6.4-12 14.5-12.9 24.4-1.1 9.6 1.4 17.3 7.2 23.3zm-201.3 8.2l23.8-1.6-8.3-37.6-15.5 39.2z"],angular:[448,512,[],"f420","M185.7 268.1h76.2l-38.1-91.6-38.1 91.6zM223.8 32L16 106.4l31.8 275.7 176 97.9 176-97.9 31.8-275.7zM354 373.8h-48.6l-26.2-65.4H168.6l-26.2 65.4H93.7L223.8 81.5z"],"app-store":[512,512,[],"f36f","M255.9 120.9l9.1-15.7c5.6-9.8 18.1-13.1 27.9-7.5 9.8 5.6 13.1 18.1 7.5 27.9l-87.5 151.5h63.3c20.5 0 32 24.1 23.1 40.8H113.8c-11.3 0-20.4-9.1-20.4-20.4 0-11.3 9.1-20.4 20.4-20.4h52l66.6-115.4-20.8-36.1c-5.6-9.8-2.3-22.2 7.5-27.9 9.8-5.6 22.2-2.3 27.9 7.5l8.9 15.7zm-78.7 218l-19.6 34c-5.6 9.8-18.1 13.1-27.9 7.5-9.8-5.6-13.1-18.1-7.5-27.9l14.6-25.2c16.4-5.1 29.8-1.2 40.4 11.6zm168.9-61.7h53.1c11.3 0 20.4 9.1 20.4 20.4 0 11.3-9.1 20.4-20.4 20.4h-29.5l19.9 34.5c5.6 9.8 2.3 22.2-7.5 27.9-9.8 5.6-22.2 2.3-27.9-7.5-33.5-58.1-58.7-101.6-75.4-130.6-17.1-29.5-4.9-59.1 7.2-69.1 13.4 23 33.4 57.7 60.1 104zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm216 248c0 118.7-96.1 216-216 216-118.7 0-216-96.1-216-216 0-118.7 96.1-216 216-216 118.7 0 216 96.1 216 216z"],"app-store-ios":[448,512,[],"f370","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM127 384.5c-5.5 9.6-17.8 12.8-27.3 7.3-9.6-5.5-12.8-17.8-7.3-27.3l14.3-24.7c16.1-4.9 29.3-1.1 39.6 11.4L127 384.5zm138.9-53.9H84c-11 0-20-9-20-20s9-20 20-20h51l65.4-113.2-20.5-35.4c-5.5-9.6-2.2-21.8 7.3-27.3 9.6-5.5 21.8-2.2 27.3 7.3l8.9 15.4 8.9-15.4c5.5-9.6 17.8-12.8 27.3-7.3 9.6 5.5 12.8 17.8 7.3 27.3l-85.8 148.6h62.1c20.2 0 31.5 23.7 22.7 40zm98.1 0h-29l19.6 33.9c5.5 9.6 2.2 21.8-7.3 27.3-9.6 5.5-21.8 2.2-27.3-7.3-32.9-56.9-57.5-99.7-74-128.1-16.7-29-4.8-58 7.1-67.8 13.1 22.7 32.7 56.7 58.9 102h52c11 0 20 9 20 20 0 11.1-9 20-20 20z"],apper:[640,512,[],"f371","M42.1 239.1c22.2 0 29 2.8 33.5 14.6h.8v-22.9c0-11.3-4.8-15.4-17.9-15.4-11.3 0-14.4 2.5-15.1 12.8H4.8c.3-13.9 1.5-19.1 5.8-24.4C17.9 195 29.5 192 56.7 192c33 0 47.1 5 53.9 18.9 2 4.3 4 15.6 4 23.7v76.3H76.3l1.3-19.1h-1c-5.3 15.6-13.6 20.4-35.5 20.4-30.3 0-41.1-10.1-41.1-37.3 0-25.2 12.3-35.8 42.1-35.8zm17.1 48.1c13.1 0 16.9-3 16.9-13.4 0-9.1-4.3-11.6-19.6-11.6-13.1 0-17.9 3-17.9 12.1-.1 10.4 3.7 12.9 20.6 12.9zm77.8-94.9h38.3l-1.5 20.6h.8c9.1-17.1 15.9-20.9 37.5-20.9 14.4 0 24.7 3 31.5 9.1 9.8 8.6 12.8 20.4 12.8 48.1 0 30-3 43.1-12.1 52.9-6.8 7.3-16.4 10.1-33.2 10.1-20.4 0-29.2-5.5-33.8-21.2h-.8v70.3H137v-169zm80.9 60.7c0-27.5-3.3-32.5-20.7-32.5-16.9 0-20.7 5-20.7 28.7 0 28 3.5 33.5 21.2 33.5 16.4 0 20.2-5.6 20.2-29.7zm57.9-60.7h38.3l-1.5 20.6h.8c9.1-17.1 15.9-20.9 37.5-20.9 14.4 0 24.7 3 31.5 9.1 9.8 8.6 12.8 20.4 12.8 48.1 0 30-3 43.1-12.1 52.9-6.8 7.3-16.4 10.1-33.3 10.1-20.4 0-29.2-5.5-33.8-21.2h-.8v70.3h-39.5v-169zm80.9 60.7c0-27.5-3.3-32.5-20.7-32.5-16.9 0-20.7 5-20.7 28.7 0 28 3.5 33.5 21.2 33.5 16.4 0 20.2-5.6 20.2-29.7zm53.8-3.8c0-25.4 3.3-37.8 12.3-45.8 8.8-8.1 22.2-11.3 45.1-11.3 42.8 0 55.7 12.8 55.7 55.7v11.1h-75.3c-.3 2-.3 4-.3 4.8 0 16.9 4.5 21.9 20.1 21.9 13.9 0 17.9-3 17.9-13.9h37.5v2.3c0 9.8-2.5 18.9-6.8 24.7-7.3 9.8-19.6 13.6-44.3 13.6-27.5 0-41.6-3.3-50.6-12.3-8.5-8.5-11.3-21.3-11.3-50.8zm76.4-11.6c-.3-1.8-.3-3.3-.3-3.8 0-12.3-3.3-14.6-19.6-14.6-14.4 0-17.1 3-18.1 15.1l-.3 3.3h38.3zm55.6-45.3h38.3l-1.8 19.9h.7c6.8-14.9 14.4-20.2 29.7-20.2 10.8 0 19.1 3.3 23.4 9.3 5.3 7.3 6.8 14.4 6.8 34 0 1.5 0 5 .2 9.3h-35c.3-1.8.3-3.3.3-4 0-15.4-2-19.4-10.3-19.4-6.3 0-10.8 3.3-13.1 9.3-1 3-1 4.3-1 12.3v68h-38.3V192.3z"],apple:[384,512,[],"f179","M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"],"apple-pay":[640,512,[],"f415","M116.9 158.5c-7.5 8.9-19.5 15.9-31.5 14.9-1.5-12 4.4-24.8 11.3-32.6 7.5-9.1 20.6-15.6 31.3-16.1 1.2 12.4-3.7 24.7-11.1 33.8m10.9 17.2c-17.4-1-32.3 9.9-40.5 9.9-8.4 0-21-9.4-34.8-9.1-17.9.3-34.5 10.4-43.6 26.5-18.8 32.3-4.9 80 13.3 106.3 8.9 13 19.5 27.3 33.5 26.8 13.3-.5 18.5-8.6 34.5-8.6 16.1 0 20.8 8.6 34.8 8.4 14.5-.3 23.6-13 32.5-26 10.1-14.8 14.3-29.1 14.5-29.9-.3-.3-28-10.9-28.3-42.9-.3-26.8 21.9-39.5 22.9-40.3-12.5-18.6-32-20.6-38.8-21.1m100.4-36.2v194.9h30.3v-66.6h41.9c38.3 0 65.1-26.3 65.1-64.3s-26.4-64-64.1-64h-73.2zm30.3 25.5h34.9c26.3 0 41.3 14 41.3 38.6s-15 38.8-41.4 38.8h-34.8V165zm162.2 170.9c19 0 36.6-9.6 44.6-24.9h.6v23.4h28v-97c0-28.1-22.5-46.3-57.1-46.3-32.1 0-55.9 18.4-56.8 43.6h27.3c2.3-12 13.4-19.9 28.6-19.9 18.5 0 28.9 8.6 28.9 24.5v10.8l-37.8 2.3c-35.1 2.1-54.1 16.5-54.1 41.5.1 25.2 19.7 42 47.8 42zm8.2-23.1c-16.1 0-26.4-7.8-26.4-19.6 0-12.3 9.9-19.4 28.8-20.5l33.6-2.1v11c0 18.2-15.5 31.2-36 31.2zm102.5 74.6c29.5 0 43.4-11.3 55.5-45.4L640 193h-30.8l-35.6 115.1h-.6L537.4 193h-31.6L557 334.9l-2.8 8.6c-4.6 14.6-12.1 20.3-25.5 20.3-2.4 0-7-.3-8.9-.5v23.4c1.8.4 9.3.7 11.6.7z"],artstation:[512,512,[],"f77a","M2 377.4l43 74.3A51.35 51.35 0 0 0 90.9 480h285.4l-59.2-102.6zM501.8 350L335.6 59.3A51.38 51.38 0 0 0 290.2 32h-88.4l257.3 447.6 40.7-70.5c1.9-3.2 21-29.7 2-59.1zM275 304.5l-115.5-200L44 304.5z"],asymmetrik:[576,512,[],"f372","M517.5 309.2c38.8-40 58.1-80 58.5-116.1.8-65.5-59.4-118.2-169.4-135C277.9 38.4 118.1 73.6 0 140.5 52 114 110.6 92.3 170.7 82.3c74.5-20.5 153-25.4 221.3-14.8C544.5 91.3 588.8 195 490.8 299.2c-10.2 10.8-22 21.1-35 30.6L304.9 103.4 114.7 388.9c-65.6-29.4-76.5-90.2-19.1-151.2 20.8-22.2 48.3-41.9 79.5-58.1 20-12.2 39.7-22.6 62-30.7-65.1 20.3-122.7 52.9-161.6 92.9-27.7 28.6-41.4 57.1-41.7 82.9-.5 35.1 23.4 65.1 68.4 83l-34.5 51.7h101.6l22-34.4c22.2 1 45.3 0 68.6-2.7l-22.8 37.1h135.5L340 406.3c18.6-5.3 36.9-11.5 54.5-18.7l45.9 71.8H542L468.6 349c18.5-12.1 35-25.5 48.9-39.8zm-187.6 80.5l-25-40.6-32.7 53.3c-23.4 3.5-46.7 5.1-69.2 4.4l101.9-159.3 78.7 123c-17.2 7.4-35.3 13.9-53.7 19.2z"],atlassian:[512,512,[],"f77b","M152.2 236.4c-7.7-8.2-19.7-7.7-24.8 2.8L1.6 490.2c-5 10 2.4 21.7 13.4 21.7h175c5.8.1 11-3.2 13.4-8.4 37.9-77.8 15.1-196.3-51.2-267.1zM244.4 8.1c-122.3 193.4-8.5 348.6 65 495.5 2.5 5.1 7.7 8.4 13.4 8.4H497c11.2 0 18.4-11.8 13.4-21.7 0 0-234.5-470.6-240.4-482.3-5.3-10.6-18.8-10.8-25.6.1z"],audible:[640,512,[],"f373","M640 199.9v54l-320 200L0 254v-54l320 200 320-200.1zm-194.5 72l47.1-29.4c-37.2-55.8-100.7-92.6-172.7-92.6-72 0-135.5 36.7-172.6 92.4h.3c2.5-2.3 5.1-4.5 7.7-6.7 89.7-74.4 219.4-58.1 290.2 36.3zm-220.1 18.8c16.9-11.9 36.5-18.7 57.4-18.7 34.4 0 65.2 18.4 86.4 47.6l45.4-28.4c-20.9-29.9-55.6-49.5-94.8-49.5-38.9 0-73.4 19.4-94.4 49zM103.6 161.1c131.8-104.3 318.2-76.4 417.5 62.1l.7 1 48.8-30.4C517.1 112.1 424.8 58.1 319.9 58.1c-103.5 0-196.6 53.5-250.5 135.6 9.9-10.5 22.7-23.5 34.2-32.6zm467 32.7z"],autoprefixer:[640,512,[],"f41c","M318.4 16l-161 480h77.5l25.4-81.4h119.5L405 496h77.5L318.4 16zm-40.3 341.9l41.2-130.4h1.5l40.9 130.4h-83.6zM640 405l-10-31.4L462.1 358l19.4 56.5L640 405zm-462.1-47L10 373.7 0 405l158.5 9.4 19.4-56.4z"],avianex:[512,512,[],"f374","M453.1 32h-312c-38.9 0-76.2 31.2-83.3 69.7L1.2 410.3C-5.9 448.8 19.9 480 58.9 480h312c38.9 0 76.2-31.2 83.3-69.7l56.7-308.5c7-38.6-18.8-69.8-57.8-69.8zm-58.2 347.3l-32 13.5-115.4-110c-14.7 10-29.2 19.5-41.7 27.1l22.1 64.2-17.9 12.7-40.6-61-52.4-48.1 15.7-15.4 58 31.1c9.3-10.5 20.8-22.6 32.8-34.9L203 228.9l-68.8-99.8 18.8-28.9 8.9-4.8L265 207.8l4.9 4.5c19.4-18.8 33.8-32.4 33.8-32.4 7.7-6.5 21.5-2.9 30.7 7.9 9 10.5 10.6 24.7 2.7 31.3-1.8 1.3-15.5 11.4-35.3 25.6l4.5 7.3 94.9 119.4-6.3 7.9z"],aviato:[640,512,[],"f421","M107.2 283.5l-19-41.8H36.1l-19 41.8H0l62.2-131.4 62.2 131.4h-17.2zm-45-98.1l-19.6 42.5h39.2l-19.6-42.5zm112.7 102.4l-62.2-131.4h17.1l45.1 96 45.1-96h17l-62.1 131.4zm80.6-4.3V156.4H271v127.1h-15.5zm209.1-115.6v115.6h-17.3V167.9h-41.2v-11.5h99.6v11.5h-41.1zM640 218.8c0 9.2-1.7 17.8-5.1 25.8-3.4 8-8.2 15.1-14.2 21.1-6 6-13.1 10.8-21.1 14.2-8 3.4-16.6 5.1-25.8 5.1s-17.8-1.7-25.8-5.1c-8-3.4-15.1-8.2-21.1-14.2-6-6-10.8-13-14.2-21.1-3.4-8-5.1-16.6-5.1-25.8s1.7-17.8 5.1-25.8c3.4-8 8.2-15.1 14.2-21.1 6-6 13-8.4 21.1-11.9 8-3.4 16.6-5.1 25.8-5.1s17.8 1.7 25.8 5.1c8 3.4 15.1 5.8 21.1 11.9 6 6 10.7 13.1 14.2 21.1 3.4 8 5.1 16.6 5.1 25.8zm-15.5 0c0-7.3-1.3-14-3.9-20.3-2.6-6.3-6.2-11.7-10.8-16.3-4.6-4.6-10-8.2-16.2-10.9-6.2-2.7-12.8-4-19.8-4s-13.6 1.3-19.8 4c-6.2 2.7-11.6 6.3-16.2 10.9-4.6 4.6-8.2 10-10.8 16.3-2.6 6.3-3.9 13.1-3.9 20.3 0 7.3 1.3 14 3.9 20.3 2.6 6.3 6.2 11.7 10.8 16.3 4.6 4.6 10 8.2 16.2 10.9 6.2 2.7 12.8 4 19.8 4s13.6-1.3 19.8-4c6.2-2.7 11.6-6.3 16.2-10.9 4.6-4.6 8.2-10 10.8-16.3 2.6-6.3 3.9-13.1 3.9-20.3zm-94.8 96.7v-6.3l88.9-10-242.9 13.4c.6-2.2 1.1-4.6 1.4-7.2.3-2 .5-4.2.6-6.5l64.8-8.1-64.9 1.9c0-.4-.1-.7-.1-1.1-2.8-17.2-25.5-23.7-25.5-23.7l-1.1-26.3h23.8l19 41.8h17.1L348.6 152l-62.2 131.4h17.1l19-41.8h23.6L345 268s-22.7 6.5-25.5 23.7c-.1.3-.1.7-.1 1.1l-64.9-1.9 64.8 8.1c.1 2.3.3 4.4.6 6.5.3 2.6.8 5 1.4 7.2L78.4 299.2l88.9 10v6.3c-5.9.9-10.5 6-10.5 12.2 0 6.8 5.6 12.4 12.4 12.4 6.8 0 12.4-5.6 12.4-12.4 0-6.2-4.6-11.3-10.5-12.2v-5.8l80.3 9v5.4c-5.7 1.1-9.9 6.2-9.9 12.1 0 6.8 5.6 10.2 12.4 10.2 6.8 0 12.4-3.4 12.4-10.2 0-6-4.3-11-9.9-12.1v-4.9l28.4 3.2v23.7h-5.9V360h5.9v-6.6h5v6.6h5.9v-13.8h-5.9V323l38.3 4.3c8.1 11.4 19 13.6 19 13.6l-.1 6.7-5.1.2-.1 12.1h4.1l.1-5h5.2l.1 5h4.1l-.1-12.1-5.1-.2-.1-6.7s10.9-2.1 19-13.6l38.3-4.3v23.2h-5.9V360h5.9v-6.6h5v6.6h5.9v-13.8h-5.9v-23.7l28.4-3.2v4.9c-5.7 1.1-9.9 6.2-9.9 12.1 0 6.8 5.6 10.2 12.4 10.2 6.8 0 12.4-3.4 12.4-10.2 0-6-4.3-11-9.9-12.1v-5.4l80.3-9v5.8c-5.9.9-10.5 6-10.5 12.2 0 6.8 5.6 12.4 12.4 12.4 6.8 0 12.4-5.6 12.4-12.4-.2-6.3-4.7-11.4-10.7-12.3zm-200.8-87.6l19.6-42.5 19.6 42.5h-17.9l-1.7-40.3-1.7 40.3h-17.9z"],aws:[640,512,[],"f375","M180.41 203.01c-.72 22.65 10.6 32.68 10.88 39.05a8.164 8.164 0 0 1-4.1 6.27l-12.8 8.96a10.66 10.66 0 0 1-5.63 1.92c-.43-.02-8.19 1.83-20.48-25.61a78.608 78.608 0 0 1-62.61 29.45c-16.28.89-60.4-9.24-58.13-56.21-1.59-38.28 34.06-62.06 70.93-60.05 7.1.02 21.6.37 46.99 6.27v-15.62c2.69-26.46-14.7-46.99-44.81-43.91-2.4.01-19.4-.5-45.84 10.11-7.36 3.38-8.3 2.82-10.75 2.82-7.41 0-4.36-21.48-2.94-24.2 5.21-6.4 35.86-18.35 65.94-18.18a76.857 76.857 0 0 1 55.69 17.28 70.285 70.285 0 0 1 17.67 52.36l-.01 69.29zM93.99 235.4c32.43-.47 46.16-19.97 49.29-30.47 2.46-10.05 2.05-16.41 2.05-27.4-9.67-2.32-23.59-4.85-39.56-4.87-15.15-1.14-42.82 5.63-41.74 32.26-1.24 16.79 11.12 31.4 29.96 30.48zm170.92 23.05c-7.86.72-11.52-4.86-12.68-10.37l-49.8-164.65c-.97-2.78-1.61-5.65-1.92-8.58a4.61 4.61 0 0 1 3.86-5.25c.24-.04-2.13 0 22.25 0 8.78-.88 11.64 6.03 12.55 10.37l35.72 140.83 33.16-140.83c.53-3.22 2.94-11.07 12.8-10.24h17.16c2.17-.18 11.11-.5 12.68 10.37l33.42 142.63L420.98 80.1c.48-2.18 2.72-11.37 12.68-10.37h19.72c.85-.13 6.15-.81 5.25 8.58-.43 1.85 3.41-10.66-52.75 169.9-1.15 5.51-4.82 11.09-12.68 10.37h-18.69c-10.94 1.15-12.51-9.66-12.68-10.75L328.67 110.7l-32.78 136.99c-.16 1.09-1.73 11.9-12.68 10.75h-18.3zm273.48 5.63c-5.88.01-33.92-.3-57.36-12.29a12.802 12.802 0 0 1-7.81-11.91v-10.75c0-8.45 6.2-6.9 8.83-5.89 10.04 4.06 16.48 7.14 28.81 9.6 36.65 7.53 52.77-2.3 56.72-4.48 13.15-7.81 14.19-25.68 5.25-34.95-10.48-8.79-15.48-9.12-53.13-21-4.64-1.29-43.7-13.61-43.79-52.36-.61-28.24 25.05-56.18 69.52-55.95 12.67-.01 46.43 4.13 55.57 15.62 1.35 2.09 2.02 4.55 1.92 7.04v10.11c0 4.44-1.62 6.66-4.87 6.66-7.71-.86-21.39-11.17-49.16-10.75-6.89-.36-39.89.91-38.41 24.97-.43 18.96 26.61 26.07 29.7 26.89 36.46 10.97 48.65 12.79 63.12 29.58 17.14 22.25 7.9 48.3 4.35 55.44-19.08 37.49-68.42 34.44-69.26 34.42zm40.2 104.86c-70.03 51.72-171.69 79.25-258.49 79.25A469.127 469.127 0 0 1 2.83 327.46c-6.53-5.89-.77-13.96 7.17-9.47a637.37 637.37 0 0 0 316.88 84.12 630.22 630.22 0 0 0 241.59-49.55c11.78-5 21.77 7.8 10.12 16.38zm29.19-33.29c-8.96-11.52-59.28-5.38-81.81-2.69-6.79.77-7.94-5.12-1.79-9.47 40.07-28.17 105.88-20.1 113.44-10.63 7.55 9.47-2.05 75.41-39.56 106.91-5.76 4.87-11.27 2.3-8.71-4.1 8.44-21.25 27.39-68.49 18.43-80.02z"],bandcamp:[512,512,[],"f2d5","M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm48.2,326.1h-181L207.9,178h181Z"],"battle-net":[512,512,[],"f835","M448.61 225.62c26.87.18 35.57-7.43 38.92-12.37 12.47-16.32-7.06-47.6-52.85-71.33 17.76-33.58 30.11-63.68 36.34-85.3 3.38-11.83 1.09-19 .45-20.25-1.72 10.52-15.85 48.46-48.2 100.05-25-11.22-56.52-20.1-93.77-23.8-8.94-16.94-34.88-63.86-60.48-88.93C252.18 7.14 238.7 1.07 228.18.22h-.05c-13.83-1.55-22.67 5.85-27.4 11-17.2 18.53-24.33 48.87-25 84.07-7.24-12.35-17.17-24.63-28.5-25.93h-.18c-20.66-3.48-38.39 29.22-36 81.29-38.36 1.38-71 5.75-93 11.23-9.9 2.45-16.22 7.27-17.76 9.72 1-.38 22.4-9.22 111.56-9.22 5.22 53 29.75 101.82 26 93.19-9.73 15.4-38.24 62.36-47.31 97.7-5.87 22.88-4.37 37.61.15 47.14 5.57 12.75 16.41 16.72 23.2 18.26 25 5.71 55.38-3.63 86.7-21.14-7.53 12.84-13.9 28.51-9.06 39.34 7.31 19.65 44.49 18.66 88.44-9.45 20.18 32.18 40.07 57.94 55.7 74.12a39.79 39.79 0 0 0 8.75 7.09c5.14 3.21 8.58 3.37 8.58 3.37-8.24-6.75-34-38-62.54-91.78 22.22-16 45.65-38.87 67.47-69.27 122.82 4.6 143.29-24.76 148-31.64 14.67-19.88 3.43-57.44-57.32-93.69zm-77.85 106.22c23.81-37.71 30.34-67.77 29.45-92.33 27.86 17.57 47.18 37.58 49.06 58.83 1.14 12.93-8.1 29.12-78.51 33.5zM216.9 387.69c9.76-6.23 19.53-13.12 29.2-20.49 6.68 13.33 13.6 26.1 20.6 38.19-40.6 21.86-68.84 12.76-49.8-17.7zm215-171.35c-10.29-5.34-21.16-10.34-32.38-15.05a722.459 722.459 0 0 0 22.74-36.9c39.06 24.1 45.9 53.18 9.64 51.95zM279.18 398c-5.51-11.35-11-23.5-16.5-36.44 43.25 1.27 62.42-18.73 63.28-20.41 0 .07-25 15.64-62.53 12.25a718.78 718.78 0 0 0 85.06-84q13.06-15.31 24.93-31.11c-.36-.29-1.54-3-16.51-12-51.7 60.27-102.34 98-132.75 115.92-20.59-11.18-40.84-31.78-55.71-61.49-20-39.92-30-82.39-31.57-116.07 12.3.91 25.27 2.17 38.85 3.88-22.29 36.8-14.39 63-13.47 64.23 0-.07-.95-29.17 20.14-59.57a695.23 695.23 0 0 0 44.67 152.84c.93-.38 1.84.88 18.67-8.25-26.33-74.47-33.76-138.17-34-173.43 20-12.42 48.18-19.8 81.63-17.81 44.57 2.67 86.36 15.25 116.32 30.71q-10.69 15.66-23.33 32.47C365.63 152 339.1 145.84 337.5 146c.11 0 25.9 14.07 41.52 47.22a717.63 717.63 0 0 0-115.34-31.71 646.608 646.608 0 0 0-39.39-6.05c-.07.45-1.81 1.85-2.16 20.33C300 190.28 358.78 215.68 389.36 233c.74 23.55-6.95 51.61-25.41 79.57-24.6 37.31-56.39 67.23-84.77 85.43zm27.4-287c-44.56-1.66-73.58 7.43-94.69 20.67 2-52.3 21.31-76.38 38.21-75.28C267 52.15 305 108.55 306.58 111zm-130.65 3.1c.48 12.11 1.59 24.62 3.21 37.28-14.55-.85-28.74-1.25-42.4-1.26-.08 3.24-.12-51 24.67-49.59h.09c5.76 1.09 10.63 6.88 14.43 13.57zm-28.06 162c20.76 39.7 43.3 60.57 65.25 72.31-46.79 24.76-77.53 20-84.92 4.51-.2-.21-11.13-15.3 19.67-76.81zm210.06 74.8"],behance:[576,512,[],"f1b4","M232 237.2c31.8-15.2 48.4-38.2 48.4-74 0-70.6-52.6-87.8-113.3-87.8H0v354.4h171.8c64.4 0 124.9-30.9 124.9-102.9 0-44.5-21.1-77.4-64.7-89.7zM77.9 135.9H151c28.1 0 53.4 7.9 53.4 40.5 0 30.1-19.7 42.2-47.5 42.2h-79v-82.7zm83.3 233.7H77.9V272h84.9c34.3 0 56 14.3 56 50.6 0 35.8-25.9 47-57.6 47zm358.5-240.7H376V94h143.7v34.9zM576 305.2c0-75.9-44.4-139.2-124.9-139.2-78.2 0-131.3 58.8-131.3 135.8 0 79.9 50.3 134.7 131.3 134.7 61.3 0 101-27.6 120.1-86.3H509c-6.7 21.9-34.3 33.5-55.7 33.5-41.3 0-63-24.2-63-65.3h185.1c.3-4.2.6-8.7.6-13.2zM390.4 274c2.3-33.7 24.7-54.8 58.5-54.8 35.4 0 53.2 20.8 56.2 54.8H390.4z"],"behance-square":[448,512,[],"f1b5","M186.5 293c0 19.3-14 25.4-31.2 25.4h-45.1v-52.9h46c18.6.1 30.3 7.8 30.3 27.5zm-7.7-82.3c0-17.7-13.7-21.9-28.9-21.9h-39.6v44.8H153c15.1 0 25.8-6.6 25.8-22.9zm132.3 23.2c-18.3 0-30.5 11.4-31.7 29.7h62.2c-1.7-18.5-11.3-29.7-30.5-29.7zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM271.7 185h77.8v-18.9h-77.8V185zm-43 110.3c0-24.1-11.4-44.9-35-51.6 17.2-8.2 26.2-17.7 26.2-37 0-38.2-28.5-47.5-61.4-47.5H68v192h93.1c34.9-.2 67.6-16.9 67.6-55.9zM380 280.5c0-41.1-24.1-75.4-67.6-75.4-42.4 0-71.1 31.8-71.1 73.6 0 43.3 27.3 73 71.1 73 33.2 0 54.7-14.9 65.1-46.8h-33.7c-3.7 11.9-18.6 18.1-30.2 18.1-22.4 0-34.1-13.1-34.1-35.3h100.2c.1-2.3.3-4.8.3-7.2z"],bimobject:[448,512,[],"f378","M416 32H32C14.4 32 0 46.4 0 64v384c0 17.6 14.4 32 32 32h384c17.6 0 32-14.4 32-32V64c0-17.6-14.4-32-32-32zm-64 257.4c0 49.4-11.4 82.6-103.8 82.6h-16.9c-44.1 0-62.4-14.9-70.4-38.8h-.9V368H96V136h64v74.7h1.1c4.6-30.5 39.7-38.8 69.7-38.8h17.3c92.4 0 103.8 33.1 103.8 82.5v35zm-64-28.9v22.9c0 21.7-3.4 33.8-38.4 33.8h-45.3c-28.9 0-44.1-6.5-44.1-35.7v-19c0-29.3 15.2-35.7 44.1-35.7h45.3c35-.2 38.4 12 38.4 33.7z"],bitbucket:[512,512,[],"f171","M22.2 32A16 16 0 0 0 6 47.8a26.35 26.35 0 0 0 .2 2.8l67.9 412.1a21.77 21.77 0 0 0 21.3 18.2h325.7a16 16 0 0 0 16-13.4L505 50.7a16 16 0 0 0-13.2-18.3 24.58 24.58 0 0 0-2.8-.2L22.2 32zm285.9 297.8h-104l-28.1-147h157.3l-25.2 147z"],bitcoin:[512,512,[],"f379","M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-141.651-35.33c4.937-32.999-20.191-50.739-54.55-62.573l11.146-44.702-27.213-6.781-10.851 43.524c-7.154-1.783-14.502-3.464-21.803-5.13l10.929-43.81-27.198-6.781-11.153 44.686c-5.922-1.349-11.735-2.682-17.377-4.084l.031-.14-37.53-9.37-7.239 29.062s20.191 4.627 19.765 4.913c11.022 2.751 13.014 10.044 12.68 15.825l-12.696 50.925c.76.194 1.744.473 2.829.907-.907-.225-1.876-.473-2.876-.713l-17.796 71.338c-1.349 3.348-4.767 8.37-12.471 6.464.271.395-19.78-4.937-19.78-4.937l-13.51 31.147 35.414 8.827c6.588 1.651 13.045 3.379 19.4 5.006l-11.262 45.213 27.182 6.781 11.153-44.733a1038.209 1038.209 0 0 0 21.687 5.627l-11.115 44.523 27.213 6.781 11.262-45.128c46.404 8.781 81.299 5.239 95.986-36.727 11.836-33.79-.589-53.281-25.004-65.991 17.78-4.098 31.174-15.792 34.747-39.949zm-62.177 87.179c-8.41 33.79-65.308 15.523-83.755 10.943l14.944-59.899c18.446 4.603 77.6 13.717 68.811 48.956zm8.417-87.667c-7.673 30.736-55.031 15.12-70.393 11.292l13.548-54.327c15.363 3.828 64.836 10.973 56.845 43.035z"],bity:[496,512,[],"f37a","M78.4 67.2C173.8-22 324.5-24 421.5 71c14.3 14.1-6.4 37.1-22.4 21.5-84.8-82.4-215.8-80.3-298.9-3.2-16.3 15.1-36.5-8.3-21.8-22.1zm98.9 418.6c19.3 5.7 29.3-23.6 7.9-30C73 421.9 9.4 306.1 37.7 194.8c5-19.6-24.9-28.1-30.2-7.1-32.1 127.4 41.1 259.8 169.8 298.1zm148.1-2c121.9-40.2 192.9-166.9 164.4-291-4.5-19.7-34.9-13.8-30 7.9 24.2 107.7-37.1 217.9-143.2 253.4-21.2 7-10.4 36 8.8 29.7zm-62.9-79l.2-71.8c0-8.2-6.6-14.8-14.8-14.8-8.2 0-14.8 6.7-14.8 14.8l-.2 71.8c0 8.2 6.6 14.8 14.8 14.8s14.8-6.6 14.8-14.8zm71-269c2.1 90.9 4.7 131.9-85.5 132.5-92.5-.7-86.9-44.3-85.5-132.5 0-21.8-32.5-19.6-32.5 0v71.6c0 69.3 60.7 90.9 118 90.1 57.3.8 118-20.8 118-90.1v-71.6c0-19.6-32.5-21.8-32.5 0z"],"black-tie":[448,512,[],"f27e","M0 32v448h448V32H0zm316.5 325.2L224 445.9l-92.5-88.7 64.5-184-64.5-86.6h184.9L252 173.2l64.5 184z"],blackberry:[512,512,[],"f37b","M166 116.9c0 23.4-16.4 49.1-72.5 49.1H23.4l21-88.8h67.8c42.1 0 53.8 23.3 53.8 39.7zm126.2-39.7h-67.8L205.7 166h70.1c53.8 0 70.1-25.7 70.1-49.1.1-16.4-11.6-39.7-53.7-39.7zM88.8 208.1H21L0 296.9h70.1c56.1 0 72.5-23.4 72.5-49.1 0-16.3-11.7-39.7-53.8-39.7zm180.1 0h-67.8l-18.7 88.8h70.1c53.8 0 70.1-23.4 70.1-49.1 0-16.3-11.7-39.7-53.7-39.7zm189.3-53.8h-67.8l-18.7 88.8h70.1c53.8 0 70.1-23.4 70.1-49.1.1-16.3-11.6-39.7-53.7-39.7zm-28 137.9h-67.8L343.7 381h70.1c56.1 0 70.1-23.4 70.1-49.1 0-16.3-11.6-39.7-53.7-39.7zM240.8 346H173l-18.7 88.8h70.1c56.1 0 70.1-25.7 70.1-49.1.1-16.3-11.6-39.7-53.7-39.7z"],blogger:[448,512,[],"f37c","M162.4 196c4.8-4.9 6.2-5.1 36.4-5.1 27.2 0 28.1.1 32.1 2.1 5.8 2.9 8.3 7 8.3 13.6 0 5.9-2.4 10-7.6 13.4-2.8 1.8-4.5 1.9-31.1 2.1-16.4.1-29.5-.2-31.5-.8-10.3-2.9-14.1-17.7-6.6-25.3zm61.4 94.5c-53.9 0-55.8.2-60.2 4.1-3.5 3.1-5.7 9.4-5.1 13.9.7 4.7 4.8 10.1 9.2 12 2.2 1 14.1 1.7 56.3 1.2l47.9-.6 9.2-1.5c9-5.1 10.5-17.4 3.1-24.4-5.3-4.7-5-4.7-60.4-4.7zm223.4 130.1c-3.5 28.4-23 50.4-51.1 57.5-7.2 1.8-9.7 1.9-172.9 1.8-157.8 0-165.9-.1-172-1.8-8.4-2.2-15.6-5.5-22.3-10-5.6-3.8-13.9-11.8-17-16.4-3.8-5.6-8.2-15.3-10-22C.1 423 0 420.3 0 256.3 0 93.2 0 89.7 1.8 82.6 8.1 57.9 27.7 39 53 33.4c7.3-1.6 332.1-1.9 340-.3 21.2 4.3 37.9 17.1 47.6 36.4 7.7 15.3 7-1.5 7.3 180.6.2 115.8 0 164.5-.7 170.5zm-85.4-185.2c-1.1-5-4.2-9.6-7.7-11.5-1.1-.6-8-1.3-15.5-1.7-12.4-.6-13.8-.8-17.8-3.1-6.2-3.6-7.9-7.6-8-18.3 0-20.4-8.5-39.4-25.3-56.5-12-12.2-25.3-20.5-40.6-25.1-3.6-1.1-11.8-1.5-39.2-1.8-42.9-.5-52.5.4-67.1 6.2-27 10.7-46.3 33.4-53.4 62.4-1.3 5.4-1.6 14.2-1.9 64.3-.4 62.8 0 72.1 4 84.5 9.7 30.7 37.1 53.4 64.6 58.4 9.2 1.7 122.2 2.1 133.7.5 20.1-2.7 35.9-10.8 50.7-25.9 10.7-10.9 17.4-22.8 21.8-38.5 3.2-10.9 2.9-88.4 1.7-93.9z"],"blogger-b":[448,512,[],"f37d","M446.6 222.7c-1.8-8-6.8-15.4-12.5-18.5-1.8-1-13-2.2-25-2.7-20.1-.9-22.3-1.3-28.7-5-10.1-5.9-12.8-12.3-12.9-29.5-.1-33-13.8-63.7-40.9-91.3-19.3-19.7-40.9-33-65.5-40.5-5.9-1.8-19.1-2.4-63.3-2.9-69.4-.8-84.8.6-108.4 10C45.9 59.5 14.7 96.1 3.3 142.9 1.2 151.7.7 165.8.2 246.8c-.6 101.5.1 116.4 6.4 136.5 15.6 49.6 59.9 86.3 104.4 94.3 14.8 2.7 197.3 3.3 216 .8 32.5-4.4 58-17.5 81.9-41.9 17.3-17.7 28.1-36.8 35.2-62.1 4.9-17.6 4.5-142.8 2.5-151.7zm-322.1-63.6c7.8-7.9 10-8.2 58.8-8.2 43.9 0 45.4.1 51.8 3.4 9.3 4.7 13.4 11.3 13.4 21.9 0 9.5-3.8 16.2-12.3 21.6-4.6 2.9-7.3 3.1-50.3 3.3-26.5.2-47.7-.4-50.8-1.2-16.6-4.7-22.8-28.5-10.6-40.8zm191.8 199.8l-14.9 2.4-77.5.9c-68.1.8-87.3-.4-90.9-2-7.1-3.1-13.8-11.7-14.9-19.4-1.1-7.3 2.6-17.3 8.2-22.4 7.1-6.4 10.2-6.6 97.3-6.7 89.6-.1 89.1-.1 97.6 7.8 12.1 11.3 9.5 31.2-4.9 39.4z"],bluetooth:[448,512,[],"f293","M292.6 171.1L249.7 214l-.3-86 43.2 43.1m-43.2 219.8l43.1-43.1-42.9-42.9-.2 86zM416 259.4C416 465 344.1 512 230.9 512S32 465 32 259.4 115.4 0 228.6 0 416 53.9 416 259.4zm-158.5 0l79.4-88.6L211.8 36.5v176.9L138 139.6l-27 26.9 92.7 93-92.7 93 26.9 26.9 73.8-73.8 2.3 170 127.4-127.5-83.9-88.7z"],"bluetooth-b":[320,512,[],"f294","M196.48 260.023l92.626-103.333L143.125 0v206.33l-86.111-86.111-31.406 31.405 108.061 108.399L25.608 368.422l31.406 31.405 86.111-86.111L145.84 512l148.552-148.644-97.912-103.333zm40.86-102.996l-49.977 49.978-.338-100.295 50.315 50.317zM187.363 313.04l49.977 49.978-50.315 50.316.338-100.294z"],bootstrap:[448,512,[],"f836","M292.3 311.93c0 42.41-39.72 41.43-43.92 41.43h-80.89v-81.69h80.89c42.56 0 43.92 31.9 43.92 40.26zm-50.15-73.13c.67 0 38.44 1 38.44-36.31 0-15.52-3.51-35.87-38.44-35.87h-74.66v72.18h74.66zM448 106.67v298.66A74.89 74.89 0 0 1 373.33 480H74.67A74.89 74.89 0 0 1 0 405.33V106.67A74.89 74.89 0 0 1 74.67 32h298.66A74.89 74.89 0 0 1 448 106.67zM338.05 317.86c0-21.57-6.65-58.29-49.05-67.35v-.73c22.91-9.78 37.34-28.25 37.34-55.64 0-7 2-64.78-77.6-64.78h-127v261.33c128.23 0 139.87 1.68 163.6-5.71 14.21-4.42 52.71-17.98 52.71-67.12z"],btc:[384,512,[],"f15a","M310.204 242.638c27.73-14.18 45.377-39.39 41.28-81.3-5.358-57.351-52.458-76.573-114.85-81.929V0h-48.528v77.203c-12.605 0-25.525.315-38.444.63V0h-48.528v79.409c-17.842.539-38.622.276-97.37 0v51.678c38.314-.678 58.417-3.14 63.023 21.427v217.429c-2.925 19.492-18.524 16.685-53.255 16.071L3.765 443.68c88.481 0 97.37.315 97.37.315V512h48.528v-67.06c13.234.315 26.154.315 38.444.315V512h48.528v-68.005c81.299-4.412 135.647-24.894 142.895-101.467 5.671-61.446-23.32-88.862-69.326-99.89zM150.608 134.553c27.415 0 113.126-8.507 113.126 48.528 0 54.515-85.71 48.212-113.126 48.212v-96.74zm0 251.776V279.821c32.772 0 133.127-9.138 133.127 53.255-.001 60.186-100.355 53.253-133.127 53.253z"],buffer:[448,512,[],"f837","M427.84 380.67l-196.5 97.82a18.6 18.6 0 0 1-14.67 0L20.16 380.67c-4-2-4-5.28 0-7.29L67.22 350a18.65 18.65 0 0 1 14.69 0l134.76 67a18.51 18.51 0 0 0 14.67 0l134.76-67a18.62 18.62 0 0 1 14.68 0l47.06 23.43c4.05 1.96 4.05 5.24 0 7.24zm0-136.53l-47.06-23.43a18.62 18.62 0 0 0-14.68 0l-134.76 67.08a18.68 18.68 0 0 1-14.67 0L81.91 220.71a18.65 18.65 0 0 0-14.69 0l-47.06 23.43c-4 2-4 5.29 0 7.31l196.51 97.8a18.6 18.6 0 0 0 14.67 0l196.5-97.8c4.05-2.02 4.05-5.3 0-7.31zM20.16 130.42l196.5 90.29a20.08 20.08 0 0 0 14.67 0l196.51-90.29c4-1.86 4-4.89 0-6.74L231.33 33.4a19.88 19.88 0 0 0-14.67 0l-196.5 90.28c-4.05 1.85-4.05 4.88 0 6.74z"],buromobelexperte:[448,512,[],"f37f","M0 32v128h128V32H0zm120 120H8V40h112v112zm40-120v128h128V32H160zm120 120H168V40h112v112zm40-120v128h128V32H320zm120 120H328V40h112v112zM0 192v128h128V192H0zm120 120H8V200h112v112zm40-120v128h128V192H160zm120 120H168V200h112v112zm40-120v128h128V192H320zm120 120H328V200h112v112zM0 352v128h128V352H0zm120 120H8V360h112v112zm40-120v128h128V352H160zm120 120H168V360h112v112zm40-120v128h128V352H320z"],"buy-n-large":[576,512,[],"f8a6","M288 32C133.27 32 7.79 132.32 7.79 256S133.27 480 288 480s280.21-100.32 280.21-224S442.73 32 288 32zm-85.39 357.19L64.1 390.55l77.25-290.74h133.44c63.15 0 84.93 28.65 78 72.84a60.24 60.24 0 0 1-1.5 6.85 77.39 77.39 0 0 0-17.21-1.93c-42.35 0-76.69 33.88-76.69 75.65 0 37.14 27.14 68 62.93 74.45-18.24 37.16-56.16 60.92-117.71 61.52zM358 207.11h32l-22.16 90.31h-35.41l-11.19-35.63-7.83 35.63h-37.83l26.63-90.31h31.34l15 36.75zm145.86 182.08H306.79L322.63 328a78.8 78.8 0 0 0 11.47.83c42.34 0 76.69-33.87 76.69-75.65 0-32.65-21-60.46-50.38-71.06l21.33-82.35h92.5l-53.05 205.36h103.87zM211.7 269.39H187l-13.8 56.47h24.7c16.14 0 32.11-3.18 37.94-26.65 5.56-22.31-7.99-29.82-24.14-29.82zM233 170h-21.34L200 217.71h21.37c18 0 35.38-14.64 39.21-30.14C265.23 168.71 251.07 170 233 170z"],buysellads:[448,512,[],"f20d","M224 150.7l42.9 160.7h-85.8L224 150.7zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-65.3 325.3l-94.5-298.7H159.8L65.3 405.3H156l111.7-91.6 24.2 91.6h90.8z"],"canadian-maple-leaf":[512,512,[],"f785","M383.8 351.7c2.5-2.5 105.2-92.4 105.2-92.4l-17.5-7.5c-10-4.9-7.4-11.5-5-17.4 2.4-7.6 20.1-67.3 20.1-67.3s-47.7 10-57.7 12.5c-7.5 2.4-10-2.5-12.5-7.5s-15-32.4-15-32.4-52.6 59.9-55.1 62.3c-10 7.5-20.1 0-17.6-10 0-10 27.6-129.6 27.6-129.6s-30.1 17.4-40.1 22.4c-7.5 5-12.6 5-17.6-5C293.5 72.3 255.9 0 255.9 0s-37.5 72.3-42.5 79.8c-5 10-10 10-17.6 5-10-5-40.1-22.4-40.1-22.4S183.3 182 183.3 192c2.5 10-7.5 17.5-17.6 10-2.5-2.5-55.1-62.3-55.1-62.3S98.1 167 95.6 172s-5 9.9-12.5 7.5C73 177 25.4 167 25.4 167s17.6 59.7 20.1 67.3c2.4 6 5 12.5-5 17.4L23 259.3s102.6 89.9 105.2 92.4c5.1 5 10 7.5 5.1 22.5-5.1 15-10.1 35.1-10.1 35.1s95.2-20.1 105.3-22.6c8.7-.9 18.3 2.5 18.3 12.5S241 512 241 512h30s-5.8-102.7-5.8-112.8 9.5-13.4 18.4-12.5c10 2.5 105.2 22.6 105.2 22.6s-5-20.1-10-35.1 0-17.5 5-22.5z"],"cc-amazon-pay":[576,512,[],"f42d","M124.7 201.8c.1-11.8 0-23.5 0-35.3v-35.3c0-1.3.4-2 1.4-2.7 11.5-8 24.1-12.1 38.2-11.1 12.5.9 22.7 7 28.1 21.7 3.3 8.9 4.1 18.2 4.1 27.7 0 8.7-.7 17.3-3.4 25.6-5.7 17.8-18.7 24.7-35.7 23.9-11.7-.5-21.9-5-31.4-11.7-.9-.8-1.4-1.6-1.3-2.8zm154.9 14.6c4.6 1.8 9.3 2 14.1 1.5 11.6-1.2 21.9-5.7 31.3-12.5.9-.6 1.3-1.3 1.3-2.5-.1-3.9 0-7.9 0-11.8 0-4-.1-8 0-12 0-1.4-.4-2-1.8-2.2-7-.9-13.9-2.2-20.9-2.9-7-.6-14-.3-20.8 1.9-6.7 2.2-11.7 6.2-13.7 13.1-1.6 5.4-1.6 10.8.1 16.2 1.6 5.5 5.2 9.2 10.4 11.2zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zm-207.5 23.9c.4 1.7.9 3.4 1.6 5.1 16.5 40.6 32.9 81.3 49.5 121.9 1.4 3.5 1.7 6.4.2 9.9-2.8 6.2-4.9 12.6-7.8 18.7-2.6 5.5-6.7 9.5-12.7 11.2-4.2 1.1-8.5 1.3-12.9.9-2.1-.2-4.2-.7-6.3-.8-2.8-.2-4.2 1.1-4.3 4-.1 2.8-.1 5.6 0 8.3.1 4.6 1.6 6.7 6.2 7.5 4.7.8 9.4 1.6 14.2 1.7 14.3.3 25.7-5.4 33.1-17.9 2.9-4.9 5.6-10.1 7.7-15.4 19.8-50.1 39.5-100.3 59.2-150.5.6-1.5 1.1-3 1.3-4.6.4-2.4-.7-3.6-3.1-3.7-5.6-.1-11.1 0-16.7 0-3.1 0-5.3 1.4-6.4 4.3-.4 1.1-.9 2.3-1.3 3.4l-29.1 83.7c-2.1 6.1-4.2 12.1-6.5 18.6-.4-.9-.6-1.4-.8-1.9-10.8-29.9-21.6-59.9-32.4-89.8-1.7-4.7-3.5-9.5-5.3-14.2-.9-2.5-2.7-4-5.4-4-6.4-.1-12.8-.2-19.2-.1-2.2 0-3.3 1.6-2.8 3.7zM242.4 206c1.7 11.7 7.6 20.8 18 26.6 9.9 5.5 20.7 6.2 31.7 4.6 12.7-1.9 23.9-7.3 33.8-15.5.4-.3.8-.6 1.4-1 .5 3.2.9 6.2 1.5 9.2.5 2.6 2.1 4.3 4.5 4.4 4.6.1 9.1.1 13.7 0 2.3-.1 3.8-1.6 4-3.9.1-.8.1-1.6.1-2.3v-88.8c0-3.6-.2-7.2-.7-10.8-1.6-10.8-6.2-19.7-15.9-25.4-5.6-3.3-11.8-5-18.2-5.9-3-.4-6-.7-9.1-1.1h-10c-.8.1-1.6.3-2.5.3-8.2.4-16.3 1.4-24.2 3.5-5.1 1.3-10 3.2-15 4.9-3 1-4.5 3.2-4.4 6.5.1 2.8-.1 5.6 0 8.3.1 4.1 1.8 5.2 5.7 4.1 6.5-1.7 13.1-3.5 19.7-4.8 10.3-1.9 20.7-2.7 31.1-1.2 5.4.8 10.5 2.4 14.1 7 3.1 4 4.2 8.8 4.4 13.7.3 6.9.2 13.9.3 20.8 0 .4-.1.7-.2 1.2-.4 0-.8 0-1.1-.1-8.8-2.1-17.7-3.6-26.8-4.1-9.5-.5-18.9.1-27.9 3.2-10.8 3.8-19.5 10.3-24.6 20.8-4.1 8.3-4.6 17-3.4 25.8zM98.7 106.9v175.3c0 .8 0 1.7.1 2.5.2 2.5 1.7 4.1 4.1 4.2 5.9.1 11.8.1 17.7 0 2.5 0 4-1.7 4.1-4.1.1-.8.1-1.7.1-2.5v-60.7c.9.7 1.4 1.2 1.9 1.6 15 12.5 32.2 16.6 51.1 12.9 17.1-3.4 28.9-13.9 36.7-29.2 5.8-11.6 8.3-24.1 8.7-37 .5-14.3-1-28.4-6.8-41.7-7.1-16.4-18.9-27.3-36.7-30.9-2.7-.6-5.5-.8-8.2-1.2h-7c-1.2.2-2.4.3-3.6.5-11.7 1.4-22.3 5.8-31.8 12.7-2 1.4-3.9 3-5.9 4.5-.1-.5-.3-.8-.4-1.2-.4-2.3-.7-4.6-1.1-6.9-.6-3.9-2.5-5.5-6.4-5.6h-9.7c-5.9-.1-6.9 1-6.9 6.8zM493.6 339c-2.7-.7-5.1 0-7.6 1-43.9 18.4-89.5 30.2-136.8 35.8-14.5 1.7-29.1 2.8-43.7 3.2-26.6.7-53.2-.8-79.6-4.3-17.8-2.4-35.5-5.7-53-9.9-37-8.9-72.7-21.7-106.7-38.8-8.8-4.4-17.4-9.3-26.1-14-3.8-2.1-6.2-1.5-8.2 2.1v1.7c1.2 1.6 2.2 3.4 3.7 4.8 36 32.2 76.6 56.5 122 72.9 21.9 7.9 44.4 13.7 67.3 17.5 14 2.3 28 3.8 42.2 4.5 3 .1 6 .2 9 .4.7 0 1.4.2 2.1.3h17.7c.7-.1 1.4-.3 2.1-.3 14.9-.4 29.8-1.8 44.6-4 21.4-3.2 42.4-8.1 62.9-14.7 29.6-9.6 57.7-22.4 83.4-40.1 2.8-1.9 5.7-3.8 8-6.2 4.3-4.4 2.3-10.4-3.3-11.9zm50.4-27.7c-.8-4.2-4-5.8-7.6-7-5.7-1.9-11.6-2.8-17.6-3.3-11-.9-22-.4-32.8 1.6-12 2.2-23.4 6.1-33.5 13.1-1.2.8-2.4 1.8-3.1 3-.6.9-.7 2.3-.5 3.4.3 1.3 1.7 1.6 3 1.5.6 0 1.2 0 1.8-.1l19.5-2.1c9.6-.9 19.2-1.5 28.8-.8 4.1.3 8.1 1.2 12 2.2 4.3 1.1 6.2 4.4 6.4 8.7.3 6.7-1.2 13.1-2.9 19.5-3.5 12.9-8.3 25.4-13.3 37.8-.3.8-.7 1.7-.8 2.5-.4 2.5 1 4 3.4 3.5 1.4-.3 3-1.1 4-2.1 3.7-3.6 7.5-7.2 10.6-11.2 10.7-13.8 17-29.6 20.7-46.6.7-3 1.2-6.1 1.7-9.1.2-4.7.2-9.6.2-14.5z"],"cc-amex":[576,512,[],"f1f3","M325.1 167.8c0-16.4-14.1-18.4-27.4-18.4l-39.1-.3v69.3H275v-25.1h18c18.4 0 14.5 10.3 14.8 25.1h16.6v-13.5c0-9.2-1.5-15.1-11-18.4 7.4-3 11.8-10.7 11.7-18.7zm-29.4 11.3H275v-15.3h21c5.1 0 10.7 1 10.7 7.4 0 6.6-5.3 7.9-11 7.9zM279 268.6h-52.7l-21 22.8-20.5-22.8h-66.5l-.1 69.3h65.4l21.3-23 20.4 23h32.2l.1-23.3c18.9 0 49.3 4.6 49.3-23.3 0-17.3-12.3-22.7-27.9-22.7zm-103.8 54.7h-40.6v-13.8h36.3v-14.1h-36.3v-12.5h41.7l17.9 20.2zm65.8 8.2l-25.3-28.1L241 276zm37.8-31h-21.2v-17.6h21.5c5.6 0 10.2 2.3 10.2 8.4 0 6.4-4.6 9.2-10.5 9.2zm-31.6-136.7v-14.6h-55.5v69.3h55.5v-14.3h-38.9v-13.8h37.8v-14.1h-37.8v-12.5zM576 255.4h-.2zm-194.6 31.9c0-16.4-14.1-18.7-27.1-18.7h-39.4l-.1 69.3h16.6l.1-25.3h17.6c11 0 14.8 2 14.8 13.8l-.1 11.5h16.6l.1-13.8c0-8.9-1.8-15.1-11-18.4 7.7-3.1 11.8-10.8 11.9-18.4zm-29.2 11.2h-20.7v-15.6h21c5.1 0 10.7 1 10.7 7.4 0 6.9-5.4 8.2-11 8.2zm-172.8-80v-69.3h-27.6l-19.7 47-21.7-47H83.3v65.7l-28.1-65.7H30.7L1 218.5h17.9l6.4-15.3h34.5l6.4 15.3H100v-54.2l24 54.2h14.6l24-54.2v54.2zM31.2 188.8l11.2-27.6 11.5 27.6zm477.4 158.9v-4.5c-10.8 5.6-3.9 4.5-156.7 4.5 0-25.2.1-23.9 0-25.2-1.7-.1-3.2-.1-9.4-.1 0 17.9-.1 6.8-.1 25.3h-39.6c0-12.1.1-15.3.1-29.2-10 6-22.8 6.4-34.3 6.2 0 14.7-.1 8.3-.1 23h-48.9c-5.1-5.7-2.7-3.1-15.4-17.4-3.2 3.5-12.8 13.9-16.1 17.4h-82v-92.3h83.1c5 5.6 2.8 3.1 15.5 17.2 3.2-3.5 12.2-13.4 15.7-17.2h58c9.8 0 18 1.9 24.3 5.6v-5.6c54.3 0 64.3-1.4 75.7 5.1v-5.1h78.2v5.2c11.4-6.9 19.6-5.2 64.9-5.2v5c10.3-5.9 16.6-5.2 54.3-5V80c0-26.5-21.5-48-48-48h-480c-26.5 0-48 21.5-48 48v109.8c9.4-21.9 19.7-46 23.1-53.9h39.7c4.3 10.1 1.6 3.7 9 21.1v-21.1h46c2.9 6.2 11.1 24 13.9 30 5.8-13.6 10.1-23.9 12.6-30h103c0-.1 11.5 0 11.6 0 43.7.2 53.6-.8 64.4 5.3v-5.3H363v9.3c7.6-6.1 17.9-9.3 30.7-9.3h27.6c0 .5 1.9.3 2.3.3H456c4.2 9.8 2.6 6 8.8 20.6v-20.6h43.3c4.9 8-1-1.8 11.2 18.4v-18.4h39.9v92h-41.6c-5.4-9-1.4-2.2-13.2-21.9v21.9h-52.8c-6.4-14.8-.1-.3-6.6-15.3h-19c-4.2 10-2.2 5.2-6.4 15.3h-26.8c-12.3 0-22.3-3-29.7-8.9v8.9h-66.5c-.3-13.9-.1-24.8-.1-24.8-1.8-.3-3.4-.2-9.8-.2v25.1H151.2v-11.4c-2.5 5.6-2.7 5.9-5.1 11.4h-29.5c-4-8.9-2.9-6.4-5.1-11.4v11.4H58.6c-4.2-10.1-2.2-5.3-6.4-15.3H33c-4.2 10-2.2 5.2-6.4 15.3H0V432c0 26.5 21.5 48 48 48h480.1c26.5 0 48-21.5 48-48v-90.4c-12.7 8.3-32.7 6.1-67.5 6.1zm36.3-64.5H575v-14.6h-32.9c-12.8 0-23.8 6.6-23.8 20.7 0 33 42.7 12.8 42.7 27.4 0 5.1-4.3 6.4-8.4 6.4h-32l-.1 14.8h32c8.4 0 17.6-1.8 22.5-8.9v-25.8c-10.5-13.8-39.3-1.3-39.3-13.5 0-5.8 4.6-6.5 9.2-6.5zm-57 39.8h-32.2l-.1 14.8h32.2c14.8 0 26.2-5.6 26.2-22 0-33.2-42.9-11.2-42.9-26.3 0-5.6 4.9-6.4 9.2-6.4h30.4v-14.6h-33.2c-12.8 0-23.5 6.6-23.5 20.7 0 33 42.7 12.5 42.7 27.4-.1 5.4-4.7 6.4-8.8 6.4zm-42.2-40.1v-14.3h-55.2l-.1 69.3h55.2l.1-14.3-38.6-.3v-13.8H445v-14.1h-37.8v-12.5zm-56.3-108.1c-.3.2-1.4 2.2-1.4 7.6 0 6 .9 7.7 1.1 7.9.2.1 1.1.5 3.4.5l7.3-16.9c-1.1 0-2.1-.1-3.1-.1-5.6 0-7 .7-7.3 1zm20.4-10.5h-.1zm-16.2-15.2c-23.5 0-34 12-34 35.3 0 22.2 10.2 34 33 34h19.2l6.4-15.3h34.3l6.6 15.3h33.7v-51.9l31.2 51.9h23.6v-69h-16.9v48.1l-29.1-48.1h-25.3v65.4l-27.9-65.4h-24.8l-23.5 54.5h-7.4c-13.3 0-16.1-8.1-16.1-19.9 0-23.8 15.7-20 33.1-19.7v-15.2zm42.1 12.1l11.2 27.6h-22.8zm-101.1-12v69.3h16.9v-69.3z"],"cc-apple-pay":[576,512,[],"f416","M302.2 218.4c0 17.2-10.5 27.1-29 27.1h-24.3v-54.2h24.4c18.4 0 28.9 9.8 28.9 27.1zm47.5 62.6c0 8.3 7.2 13.7 18.5 13.7 14.4 0 25.2-9.1 25.2-21.9v-7.7l-23.5 1.5c-13.3.9-20.2 5.8-20.2 14.4zM576 79v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM127.8 197.2c8.4.7 16.8-4.2 22.1-10.4 5.2-6.4 8.6-15 7.7-23.7-7.4.3-16.6 4.9-21.9 11.3-4.8 5.5-8.9 14.4-7.9 22.8zm60.6 74.5c-.2-.2-19.6-7.6-19.8-30-.2-18.7 15.3-27.7 16-28.2-8.8-13-22.4-14.4-27.1-14.7-12.2-.7-22.6 6.9-28.4 6.9-5.9 0-14.7-6.6-24.3-6.4-12.5.2-24.2 7.3-30.5 18.6-13.1 22.6-3.4 56 9.3 74.4 6.2 9.1 13.7 19.1 23.5 18.7 9.3-.4 13-6 24.2-6 11.3 0 14.5 6 24.3 5.9 10.2-.2 16.5-9.1 22.8-18.2 6.9-10.4 9.8-20.4 10-21zm135.4-53.4c0-26.6-18.5-44.8-44.9-44.8h-51.2v136.4h21.2v-46.6h29.3c26.8 0 45.6-18.4 45.6-45zm90 23.7c0-19.7-15.8-32.4-40-32.4-22.5 0-39.1 12.9-39.7 30.5h19.1c1.6-8.4 9.4-13.9 20-13.9 13 0 20.2 6 20.2 17.2v7.5l-26.4 1.6c-24.6 1.5-37.9 11.6-37.9 29.1 0 17.7 13.7 29.4 33.4 29.4 13.3 0 25.6-6.7 31.2-17.4h.4V310h19.6v-68zM516 210.9h-21.5l-24.9 80.6h-.4l-24.9-80.6H422l35.9 99.3-1.9 6c-3.2 10.2-8.5 14.2-17.9 14.2-1.7 0-4.9-.2-6.2-.3v16.4c1.2.4 6.5.5 8.1.5 20.7 0 30.4-7.9 38.9-31.8L516 210.9z"],"cc-diners-club":[576,512,[],"f24c","M239.7 79.9c-96.9 0-175.8 78.6-175.8 175.8 0 96.9 78.9 175.8 175.8 175.8 97.2 0 175.8-78.9 175.8-175.8 0-97.2-78.6-175.8-175.8-175.8zm-39.9 279.6c-41.7-15.9-71.4-56.4-71.4-103.8s29.7-87.9 71.4-104.1v207.9zm79.8.3V151.6c41.7 16.2 71.4 56.7 71.4 104.1s-29.7 87.9-71.4 104.1zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM329.7 448h-90.3c-106.2 0-193.8-85.5-193.8-190.2C45.6 143.2 133.2 64 239.4 64h90.3c105 0 200.7 79.2 200.7 193.8 0 104.7-95.7 190.2-200.7 190.2z"],"cc-discover":[576,512,[],"f1f2","M520.4 196.1c0-7.9-5.5-12.1-15.6-12.1h-4.9v24.9h4.7c10.3 0 15.8-4.4 15.8-12.8zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-44.1 138.9c22.6 0 52.9-4.1 52.9 24.4 0 12.6-6.6 20.7-18.7 23.2l25.8 34.4h-19.6l-22.2-32.8h-2.2v32.8h-16zm-55.9.1h45.3v14H444v18.2h28.3V217H444v22.2h29.3V253H428zm-68.7 0l21.9 55.2 22.2-55.2h17.5l-35.5 84.2h-8.6l-35-84.2zm-55.9-3c24.7 0 44.6 20 44.6 44.6 0 24.7-20 44.6-44.6 44.6-24.7 0-44.6-20-44.6-44.6 0-24.7 20-44.6 44.6-44.6zm-49.3 6.1v19c-20.1-20.1-46.8-4.7-46.8 19 0 25 27.5 38.5 46.8 19.2v19c-29.7 14.3-63.3-5.7-63.3-38.2 0-31.2 33.1-53 63.3-38zm-97.2 66.3c11.4 0 22.4-15.3-3.3-24.4-15-5.5-20.2-11.4-20.2-22.7 0-23.2 30.6-31.4 49.7-14.3l-8.4 10.8c-10.4-11.6-24.9-6.2-24.9 2.5 0 4.4 2.7 6.9 12.3 10.3 18.2 6.6 23.6 12.5 23.6 25.6 0 29.5-38.8 37.4-56.6 11.3l10.3-9.9c3.7 7.1 9.9 10.8 17.5 10.8zM55.4 253H32v-82h23.4c26.1 0 44.1 17 44.1 41.1 0 18.5-13.2 40.9-44.1 40.9zm67.5 0h-16v-82h16zM544 433c0 8.2-6.8 15-15 15H128c189.6-35.6 382.7-139.2 416-160zM74.1 191.6c-5.2-4.9-11.6-6.6-21.9-6.6H48v54.2h4.2c10.3 0 17-2 21.9-6.4 5.7-5.2 8.9-12.8 8.9-20.7s-3.2-15.5-8.9-20.5z"],"cc-jcb":[576,512,[],"f24b","M431.5 244.3V212c41.2 0 38.5.2 38.5.2 7.3 1.3 13.3 7.3 13.3 16 0 8.8-6 14.5-13.3 15.8-1.2.4-3.3.3-38.5.3zm42.8 20.2c-2.8-.7-3.3-.5-42.8-.5v35c39.6 0 40 .2 42.8-.5 7.5-1.5 13.5-8 13.5-17 0-8.7-6-15.5-13.5-17zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM182 192.3h-57c0 67.1 10.7 109.7-35.8 109.7-19.5 0-38.8-5.7-57.2-14.8v28c30 8.3 68 8.3 68 8.3 97.9 0 82-47.7 82-131.2zm178.5 4.5c-63.4-16-165-14.9-165 59.3 0 77.1 108.2 73.6 165 59.2V287C312.9 311.7 253 309 253 256s59.8-55.6 107.5-31.2v-28zM544 286.5c0-18.5-16.5-30.5-38-32v-.8c19.5-2.7 30.3-15.5 30.3-30.2 0-19-15.7-30-37-31 0 0 6.3-.3-120.3-.3v127.5h122.7c24.3.1 42.3-12.9 42.3-33.2z"],"cc-mastercard":[576,512,[],"f1f1","M482.9 410.3c0 6.8-4.6 11.7-11.2 11.7-6.8 0-11.2-5.2-11.2-11.7 0-6.5 4.4-11.7 11.2-11.7 6.6 0 11.2 5.2 11.2 11.7zm-310.8-11.7c-7.1 0-11.2 5.2-11.2 11.7 0 6.5 4.1 11.7 11.2 11.7 6.5 0 10.9-4.9 10.9-11.7-.1-6.5-4.4-11.7-10.9-11.7zm117.5-.3c-5.4 0-8.7 3.5-9.5 8.7h19.1c-.9-5.7-4.4-8.7-9.6-8.7zm107.8.3c-6.8 0-10.9 5.2-10.9 11.7 0 6.5 4.1 11.7 10.9 11.7 6.8 0 11.2-4.9 11.2-11.7 0-6.5-4.4-11.7-11.2-11.7zm105.9 26.1c0 .3.3.5.3 1.1 0 .3-.3.5-.3 1.1-.3.3-.3.5-.5.8-.3.3-.5.5-1.1.5-.3.3-.5.3-1.1.3-.3 0-.5 0-1.1-.3-.3 0-.5-.3-.8-.5-.3-.3-.5-.5-.5-.8-.3-.5-.3-.8-.3-1.1 0-.5 0-.8.3-1.1 0-.5.3-.8.5-1.1.3-.3.5-.3.8-.5.5-.3.8-.3 1.1-.3.5 0 .8 0 1.1.3.5.3.8.3 1.1.5s.2.6.5 1.1zm-2.2 1.4c.5 0 .5-.3.8-.3.3-.3.3-.5.3-.8 0-.3 0-.5-.3-.8-.3 0-.5-.3-1.1-.3h-1.6v3.5h.8V426h.3l1.1 1.4h.8l-1.1-1.3zM576 81v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V81c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM64 220.6c0 76.5 62.1 138.5 138.5 138.5 27.2 0 53.9-8.2 76.5-23.1-72.9-59.3-72.4-171.2 0-230.5-22.6-15-49.3-23.1-76.5-23.1-76.4-.1-138.5 62-138.5 138.2zm224 108.8c70.5-55 70.2-162.2 0-217.5-70.2 55.3-70.5 162.6 0 217.5zm-142.3 76.3c0-8.7-5.7-14.4-14.7-14.7-4.6 0-9.5 1.4-12.8 6.5-2.4-4.1-6.5-6.5-12.2-6.5-3.8 0-7.6 1.4-10.6 5.4V392h-8.2v36.7h8.2c0-18.9-2.5-30.2 9-30.2 10.2 0 8.2 10.2 8.2 30.2h7.9c0-18.3-2.5-30.2 9-30.2 10.2 0 8.2 10 8.2 30.2h8.2v-23zm44.9-13.7h-7.9v4.4c-2.7-3.3-6.5-5.4-11.7-5.4-10.3 0-18.2 8.2-18.2 19.3 0 11.2 7.9 19.3 18.2 19.3 5.2 0 9-1.9 11.7-5.4v4.6h7.9V392zm40.5 25.6c0-15-22.9-8.2-22.9-15.2 0-5.7 11.9-4.8 18.5-1.1l3.3-6.5c-9.4-6.1-30.2-6-30.2 8.2 0 14.3 22.9 8.3 22.9 15 0 6.3-13.5 5.8-20.7.8l-3.5 6.3c11.2 7.6 32.6 6 32.6-7.5zm35.4 9.3l-2.2-6.8c-3.8 2.1-12.2 4.4-12.2-4.1v-16.6h13.1V392h-13.1v-11.2h-8.2V392h-7.6v7.3h7.6V416c0 17.6 17.3 14.4 22.6 10.9zm13.3-13.4h27.5c0-16.2-7.4-22.6-17.4-22.6-10.6 0-18.2 7.9-18.2 19.3 0 20.5 22.6 23.9 33.8 14.2l-3.8-6c-7.8 6.4-19.6 5.8-21.9-4.9zm59.1-21.5c-4.6-2-11.6-1.8-15.2 4.4V392h-8.2v36.7h8.2V408c0-11.6 9.5-10.1 12.8-8.4l2.4-7.6zm10.6 18.3c0-11.4 11.6-15.1 20.7-8.4l3.8-6.5c-11.6-9.1-32.7-4.1-32.7 15 0 19.8 22.4 23.8 32.7 15l-3.8-6.5c-9.2 6.5-20.7 2.6-20.7-8.6zm66.7-18.3H408v4.4c-8.3-11-29.9-4.8-29.9 13.9 0 19.2 22.4 24.7 29.9 13.9v4.6h8.2V392zm33.7 0c-2.4-1.2-11-2.9-15.2 4.4V392h-7.9v36.7h7.9V408c0-11 9-10.3 12.8-8.4l2.4-7.6zm40.3-14.9h-7.9v19.3c-8.2-10.9-29.9-5.1-29.9 13.9 0 19.4 22.5 24.6 29.9 13.9v4.6h7.9v-51.7zm7.6-75.1v4.6h.8V302h1.9v-.8h-4.6v.8h1.9zm6.6 123.8c0-.5 0-1.1-.3-1.6-.3-.3-.5-.8-.8-1.1-.3-.3-.8-.5-1.1-.8-.5 0-1.1-.3-1.6-.3-.3 0-.8.3-1.4.3-.5.3-.8.5-1.1.8-.5.3-.8.8-.8 1.1-.3.5-.3 1.1-.3 1.6 0 .3 0 .8.3 1.4 0 .3.3.8.8 1.1.3.3.5.5 1.1.8.5.3 1.1.3 1.4.3.5 0 1.1 0 1.6-.3.3-.3.8-.5 1.1-.8.3-.3.5-.8.8-1.1.3-.6.3-1.1.3-1.4zm3.2-124.7h-1.4l-1.6 3.5-1.6-3.5h-1.4v5.4h.8v-4.1l1.6 3.5h1.1l1.4-3.5v4.1h1.1v-5.4zm4.4-80.5c0-76.2-62.1-138.3-138.5-138.3-27.2 0-53.9 8.2-76.5 23.1 72.1 59.3 73.2 171.5 0 230.5 22.6 15 49.5 23.1 76.5 23.1 76.4.1 138.5-61.9 138.5-138.4z"],"cc-paypal":[576,512,[],"f1f4","M186.3 258.2c0 12.2-9.7 21.5-22 21.5-9.2 0-16-5.2-16-15 0-12.2 9.5-22 21.7-22 9.3 0 16.3 5.7 16.3 15.5zM80.5 209.7h-4.7c-1.5 0-3 1-3.2 2.7l-4.3 26.7 8.2-.3c11 0 19.5-1.5 21.5-14.2 2.3-13.4-6.2-14.9-17.5-14.9zm284 0H360c-1.8 0-3 1-3.2 2.7l-4.2 26.7 8-.3c13 0 22-3 22-18-.1-10.6-9.6-11.1-18.1-11.1zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM128.3 215.4c0-21-16.2-28-34.7-28h-40c-2.5 0-5 2-5.2 4.7L32 294.2c-.3 2 1.2 4 3.2 4h19c2.7 0 5.2-2.9 5.5-5.7l4.5-26.6c1-7.2 13.2-4.7 18-4.7 28.6 0 46.1-17 46.1-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.2 8.2-5.8-8.5-14.2-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9 0 20.2-4.9 26.5-11.9-.5 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H200c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm40.5 97.9l63.7-92.6c.5-.5.5-1 .5-1.7 0-1.7-1.5-3.5-3.2-3.5h-19.2c-1.7 0-3.5 1-4.5 2.5l-26.5 39-11-37.5c-.8-2.2-3-4-5.5-4h-18.7c-1.7 0-3.2 1.8-3.2 3.5 0 1.2 19.5 56.8 21.2 62.1-2.7 3.8-20.5 28.6-20.5 31.6 0 1.8 1.5 3.2 3.2 3.2h19.2c1.8-.1 3.5-1.1 4.5-2.6zm159.3-106.7c0-21-16.2-28-34.7-28h-39.7c-2.7 0-5.2 2-5.5 4.7l-16.2 102c-.2 2 1.3 4 3.2 4h20.5c2 0 3.5-1.5 4-3.2l4.5-29c1-7.2 13.2-4.7 18-4.7 28.4 0 45.9-17 45.9-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.3 8.2-5.5-8.5-14-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9.3 0 20.5-4.9 26.5-11.9-.3 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H484c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm47.5-33.3c0-2-1.5-3.5-3.2-3.5h-18.5c-1.5 0-3 1.2-3.2 2.7l-16.2 104-.3.5c0 1.8 1.5 3.5 3.5 3.5h16.5c2.5 0 5-2.9 5.2-5.7L544 191.2v-.3zm-90 51.8c-12.2 0-21.7 9.7-21.7 22 0 9.7 7 15 16.2 15 12 0 21.7-9.2 21.7-21.5.1-9.8-6.9-15.5-16.2-15.5z"],"cc-stripe":[576,512,[],"f1f5","M492.4 220.8c-8.9 0-18.7 6.7-18.7 22.7h36.7c0-16-9.3-22.7-18-22.7zM375 223.4c-8.2 0-13.3 2.9-17 7l.2 52.8c3.5 3.7 8.5 6.7 16.8 6.7 13.1 0 21.9-14.3 21.9-33.4 0-18.6-9-33.2-21.9-33.1zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM122.2 281.1c0 25.6-20.3 40.1-49.9 40.3-12.2 0-25.6-2.4-38.8-8.1v-33.9c12 6.4 27.1 11.3 38.9 11.3 7.9 0 13.6-2.1 13.6-8.7 0-17-54-10.6-54-49.9 0-25.2 19.2-40.2 48-40.2 11.8 0 23.5 1.8 35.3 6.5v33.4c-10.8-5.8-24.5-9.1-35.3-9.1-7.5 0-12.1 2.2-12.1 7.7 0 16 54.3 8.4 54.3 50.7zm68.8-56.6h-27V275c0 20.9 22.5 14.4 27 12.6v28.9c-4.7 2.6-13.3 4.7-24.9 4.7-21.1 0-36.9-15.5-36.9-36.5l.2-113.9 34.7-7.4v30.8H191zm74 2.4c-4.5-1.5-18.7-3.6-27.1 7.4v84.4h-35.5V194.2h30.7l2.2 10.5c8.3-15.3 24.9-12.2 29.6-10.5h.1zm44.1 91.8h-35.7V194.2h35.7zm0-142.9l-35.7 7.6v-28.9l35.7-7.6zm74.1 145.5c-12.4 0-20-5.3-25.1-9l-.1 40.2-35.5 7.5V194.2h31.3l1.8 8.8c4.9-4.5 13.9-11.1 27.8-11.1 24.9 0 48.4 22.5 48.4 63.8 0 45.1-23.2 65.5-48.6 65.6zm160.4-51.5h-69.5c1.6 16.6 13.8 21.5 27.6 21.5 14.1 0 25.2-3 34.9-7.9V312c-9.7 5.3-22.4 9.2-39.4 9.2-34.6 0-58.8-21.7-58.8-64.5 0-36.2 20.5-64.9 54.3-64.9 33.7 0 51.3 28.7 51.3 65.1 0 3.5-.3 10.9-.4 12.9z"],"cc-visa":[576,512,[],"f1f0","M470.1 231.3s7.6 37.2 9.3 45H446c3.3-8.9 16-43.5 16-43.5-.2.3 3.3-9.1 5.3-14.9l2.8 13.4zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM152.5 331.2L215.7 176h-42.5l-39.3 106-4.3-21.5-14-71.4c-2.3-9.9-9.4-12.7-18.2-13.1H32.7l-.7 3.1c15.8 4 29.9 9.8 42.2 17.1l35.8 135h42.5zm94.4.2L272.1 176h-40.2l-25.1 155.4h40.1zm139.9-50.8c.2-17.7-10.6-31.2-33.7-42.3-14.1-7.1-22.7-11.9-22.7-19.2.2-6.6 7.3-13.4 23.1-13.4 13.1-.3 22.7 2.8 29.9 5.9l3.6 1.7 5.5-33.6c-7.9-3.1-20.5-6.6-36-6.6-39.7 0-67.6 21.2-67.8 51.4-.3 22.3 20 34.7 35.2 42.2 15.5 7.6 20.8 12.6 20.8 19.3-.2 10.4-12.6 15.2-24.1 15.2-16 0-24.6-2.5-37.7-8.3l-5.3-2.5-5.6 34.9c9.4 4.3 26.8 8.1 44.8 8.3 42.2.1 69.7-20.8 70-53zM528 331.4L495.6 176h-31.1c-9.6 0-16.9 2.8-21 12.9l-59.7 142.5H426s6.9-19.2 8.4-23.3H486c1.2 5.5 4.8 23.3 4.8 23.3H528z"],centercode:[512,512,[],"f380","M329.2 268.6c-3.8 35.2-35.4 60.6-70.6 56.8-35.2-3.8-60.6-35.4-56.8-70.6 3.8-35.2 35.4-60.6 70.6-56.8 35.1 3.8 60.6 35.4 56.8 70.6zm-85.8 235.1C96.7 496-8.2 365.5 10.1 224.3c11.2-86.6 65.8-156.9 139.1-192 161-77.1 349.7 37.4 354.7 216.6 4.1 147-118.4 262.2-260.5 254.8zm179.9-180c27.9-118-160.5-205.9-237.2-234.2-57.5 56.3-69.1 188.6-33.8 344.4 68.8 15.8 169.1-26.4 271-110.2z"],centos:[448,512,[],"f789","M289.6 97.5l31.6 31.7-76.3 76.5V97.5zm-162.4 31.7l76.3 76.5V97.5h-44.7zm41.5-41.6h44.7v127.9l10.8 10.8 10.8-10.8V87.6h44.7L224.2 32zm26.2 168.1l-10.8-10.8H55.5v-44.8L0 255.7l55.5 55.6v-44.8h128.6l10.8-10.8zm79.3-20.7h107.9v-44.8l-31.6-31.7zm173.3 20.7L392 200.1v44.8H264.3l-10.8 10.8 10.8 10.8H392v44.8l55.5-55.6zM65.4 176.2l32.5-31.7 90.3 90.5h15.3v-15.3l-90.3-90.5 31.6-31.7H65.4zm316.7-78.7h-78.5l31.6 31.7-90.3 90.5V235h15.3l90.3-90.5 31.6 31.7zM203.5 413.9V305.8l-76.3 76.5 31.6 31.7h44.7zM65.4 235h108.8l-76.3-76.5-32.5 31.7zm316.7 100.2l-31.6 31.7-90.3-90.5h-15.3v15.3l90.3 90.5-31.6 31.7h78.5zm0-58.8H274.2l76.3 76.5 31.6-31.7zm-60.9 105.8l-76.3-76.5v108.1h44.7zM97.9 352.9l76.3-76.5H65.4v44.8zm181.8 70.9H235V295.9l-10.8-10.8-10.8 10.8v127.9h-44.7l55.5 55.6zm-166.5-41.6l90.3-90.5v-15.3h-15.3l-90.3 90.5-32.5-31.7v78.7h79.4z"],chrome:[496,512,[],"f268","M131.5 217.5L55.1 100.1c47.6-59.2 119-91.8 192-92.1 42.3-.3 85.5 10.5 124.8 33.2 43.4 25.2 76.4 61.4 97.4 103L264 133.4c-58.1-3.4-113.4 29.3-132.5 84.1zm32.9 38.5c0 46.2 37.4 83.6 83.6 83.6s83.6-37.4 83.6-83.6-37.4-83.6-83.6-83.6-83.6 37.3-83.6 83.6zm314.9-89.2L339.6 174c37.9 44.3 38.5 108.2 6.6 157.2L234.1 503.6c46.5 2.5 94.4-7.7 137.8-32.9 107.4-62 150.9-192 107.4-303.9zM133.7 303.6L40.4 120.1C14.9 159.1 0 205.9 0 256c0 124 90.8 226.7 209.5 244.9l63.7-124.8c-57.6 10.8-113.2-20.8-139.5-72.5z"],chromecast:[512,512,[],"f838","M447.8,64H64c-23.6,0-42.7,19.1-42.7,42.7v63.9H64v-63.9h383.8v298.6H298.6V448H448c23.6,0,42.7-19.1,42.7-42.7V106.7 C490.7,83.1,471.4,64,447.8,64z M21.3,383.6L21.3,383.6l0,63.9h63.9C85.2,412.2,56.6,383.6,21.3,383.6L21.3,383.6z M21.3,298.6V341 c58.9,0,106.6,48.1,106.6,107h42.7C170.7,365.6,103.7,298.7,21.3,298.6z M213.4,448h42.7c-0.5-129.5-105.3-234.3-234.8-234.6l0,42.4 C127.3,255.6,213.3,342,213.4,448z"],cloudscale:[448,512,[],"f383","M318.1 154l-9.4 7.6c-22.5-19.3-51.5-33.6-83.3-33.6C153.8 128 96 188.8 96 260.3c0 6.6.4 13.1 1.4 19.4-2-56 41.8-97.4 92.6-97.4 24.2 0 46.2 9.4 62.6 24.7l-25.2 20.4c-8.3-.9-16.8 1.8-23.1 8.1-11.1 11-11.1 28.9 0 40 11.1 11 28.9 11 40 0 6.3-6.3 9-14.9 8.1-23.1l75.2-88.8c6.3-6.5-3.3-15.9-9.5-9.6zm-83.8 111.5c-5.6 5.5-14.6 5.5-20.2 0-5.6-5.6-5.6-14.6 0-20.2s14.6-5.6 20.2 0 5.6 14.7 0 20.2zM224 32C100.5 32 0 132.5 0 256s100.5 224 224 224 224-100.5 224-224S347.5 32 224 32zm0 384c-88.2 0-160-71.8-160-160S135.8 96 224 96s160 71.8 160 160-71.8 160-160 160z"],cloudsmith:[332,512,[],"f384","M332.5 419.9c0 46.4-37.6 84.1-84 84.1s-84-37.7-84-84.1 37.6-84 84-84 84 37.6 84 84zm-84-243.9c46.4 0 80-37.6 80-84s-33.6-84-80-84-88 37.6-88 84-29.6 76-76 76-84 41.6-84 88 37.6 80 84 80 84-33.6 84-80 33.6-80 80-80z"],cloudversify:[616,512,[],"f385","M148.6 304c8.2 68.5 67.4 115.5 146 111.3 51.2 43.3 136.8 45.8 186.4-5.6 69.2 1.1 118.5-44.6 131.5-99.5 14.8-62.5-18.2-132.5-92.1-155.1-33-88.1-131.4-101.5-186.5-85-57.3 17.3-84.3 53.2-99.3 109.7-7.8 2.7-26.5 8.9-45 24.1 11.7 0 15.2 8.9 15.2 19.5v20.4c0 10.7-8.7 19.5-19.5 19.5h-20.2c-10.7 0-19.5-6-19.5-16.7V240H98.8C95 240 88 244.3 88 251.9v40.4c0 6.4 5.3 11.8 11.7 11.8h48.9zm227.4 8c-10.7 46.3 21.7 72.4 55.3 86.8C324.1 432.6 259.7 348 296 288c-33.2 21.6-33.7 71.2-29.2 92.9-17.9-12.4-53.8-32.4-57.4-79.8-3-39.9 21.5-75.7 57-93.9C297 191.4 369.9 198.7 400 248c-14.1-48-53.8-70.1-101.8-74.8 30.9-30.7 64.4-50.3 114.2-43.7 69.8 9.3 133.2 82.8 67.7 150.5 35-16.3 48.7-54.4 47.5-76.9l10.5 19.6c11.8 22 15.2 47.6 9.4 72-9.2 39-40.6 68.8-79.7 76.5-32.1 6.3-83.1-5.1-91.8-59.2zM128 208H88.2c-8.9 0-16.2-7.3-16.2-16.2v-39.6c0-8.9 7.3-16.2 16.2-16.2H128c8.9 0 16.2 7.3 16.2 16.2v39.6c0 8.9-7.3 16.2-16.2 16.2zM10.1 168C4.5 168 0 163.5 0 157.9v-27.8c0-5.6 4.5-10.1 10.1-10.1h27.7c5.5 0 10.1 4.5 10.1 10.1v27.8c0 5.6-4.5 10.1-10.1 10.1H10.1zM168 142.7v-21.4c0-5.1 4.2-9.3 9.3-9.3h21.4c5.1 0 9.3 4.2 9.3 9.3v21.4c0 5.1-4.2 9.3-9.3 9.3h-21.4c-5.1 0-9.3-4.2-9.3-9.3zM56 235.5v25c0 6.3-5.1 11.5-11.4 11.5H19.4C13.1 272 8 266.8 8 260.5v-25c0-6.3 5.1-11.5 11.4-11.5h25.1c6.4 0 11.5 5.2 11.5 11.5z"],codepen:[512,512,[],"f1cb","M502.285 159.704l-234-156c-7.987-4.915-16.511-4.96-24.571 0l-234 156C3.714 163.703 0 170.847 0 177.989v155.999c0 7.143 3.714 14.286 9.715 18.286l234 156.022c7.987 4.915 16.511 4.96 24.571 0l234-156.022c6-3.999 9.715-11.143 9.715-18.286V177.989c-.001-7.142-3.715-14.286-9.716-18.285zM278 63.131l172.286 114.858-76.857 51.429L278 165.703V63.131zm-44 0v102.572l-95.429 63.715-76.857-51.429L234 63.131zM44 219.132l55.143 36.857L44 292.846v-73.714zm190 229.715L61.714 333.989l76.857-51.429L234 346.275v102.572zm22-140.858l-77.715-52 77.715-52 77.715 52-77.715 52zm22 140.858V346.275l95.429-63.715 76.857 51.429L278 448.847zm190-156.001l-55.143-36.857L468 219.132v73.714z"],codiepie:[472,512,[],"f284","M422.5 202.9c30.7 0 33.5 53.1-.3 53.1h-10.8v44.3h-26.6v-97.4h37.7zM472 352.6C429.9 444.5 350.4 504 248 504 111 504 0 393 0 256S111 8 248 8c97.4 0 172.8 53.7 218.2 138.4l-186 108.8L472 352.6zm-38.5 12.5l-60.3-30.7c-27.1 44.3-70.4 71.4-122.4 71.4-82.5 0-149.2-66.7-149.2-148.9 0-82.5 66.7-149.2 149.2-149.2 48.4 0 88.9 23.5 116.9 63.4l59.5-34.6c-40.7-62.6-104.7-100-179.2-100-121.2 0-219.5 98.3-219.5 219.5S126.8 475.5 248 475.5c78.6 0 146.5-42.1 185.5-110.4z"],confluence:[512,512,[],"f78d","M2.3 412.2c-4.5 7.6-2.1 17.5 5.5 22.2l105.9 65.2c7.7 4.7 17.7 2.4 22.4-5.3 0-.1.1-.2.1-.2 67.1-112.2 80.5-95.9 280.9-.7 8.1 3.9 17.8.4 21.7-7.7.1-.1.1-.3.2-.4l50.4-114.1c3.6-8.1-.1-17.6-8.1-21.3-22.2-10.4-66.2-31.2-105.9-50.3C127.5 179 44.6 345.3 2.3 412.2zm507.4-312.1c4.5-7.6 2.1-17.5-5.5-22.2L398.4 12.8c-7.5-5-17.6-3.1-22.6 4.4-.2.3-.4.6-.6 1-67.3 112.6-81.1 95.6-280.6.9-8.1-3.9-17.8-.4-21.7 7.7-.1.1-.1.3-.2.4L22.2 141.3c-3.6 8.1.1 17.6 8.1 21.3 22.2 10.4 66.3 31.2 106 50.4 248 120 330.8-45.4 373.4-112.9z"],connectdevelop:[576,512,[],"f20e","M550.5 241l-50.089-86.786c1.071-2.142 1.875-4.553 1.875-7.232 0-8.036-6.696-14.733-14.732-15.001l-55.447-95.893c.536-1.607 1.071-3.214 1.071-4.821 0-8.571-6.964-15.268-15.268-15.268-4.821 0-8.839 2.143-11.786 5.625H299.518C296.839 18.143 292.821 16 288 16s-8.839 2.143-11.518 5.625H170.411C167.464 18.143 163.447 16 158.625 16c-8.303 0-15.268 6.696-15.268 15.268 0 1.607.536 3.482 1.072 4.821l-55.983 97.233c-5.356 2.41-9.107 7.5-9.107 13.661 0 .535.268 1.071.268 1.607l-53.304 92.143c-7.232 1.339-12.59 7.5-12.59 15 0 7.232 5.089 13.393 12.054 15l55.179 95.358c-.536 1.607-.804 2.946-.804 4.821 0 7.232 5.089 13.393 12.054 14.732l51.697 89.732c-.536 1.607-1.071 3.482-1.071 5.357 0 8.571 6.964 15.268 15.268 15.268 4.821 0 8.839-2.143 11.518-5.357h106.875C279.161 493.857 283.447 496 288 496s8.839-2.143 11.518-5.357h107.143c2.678 2.946 6.696 4.821 10.982 4.821 8.571 0 15.268-6.964 15.268-15.268 0-1.607-.267-2.946-.803-4.285l51.697-90.268c6.964-1.339 12.054-7.5 12.054-14.732 0-1.607-.268-3.214-.804-4.821l54.911-95.358c6.964-1.339 12.322-7.5 12.322-15-.002-7.232-5.092-13.393-11.788-14.732zM153.535 450.732l-43.66-75.803h43.66v75.803zm0-83.839h-43.66c-.268-1.071-.804-2.142-1.339-3.214l44.999-47.41v50.624zm0-62.411l-50.357 53.304c-1.339-.536-2.679-1.34-4.018-1.607L43.447 259.75c.535-1.339.535-2.679.535-4.018s0-2.41-.268-3.482l51.965-90c2.679-.268 5.357-1.072 7.768-2.679l50.089 51.965v92.946zm0-102.322l-45.803-47.41c1.339-2.143 2.143-4.821 2.143-7.767 0-.268-.268-.804-.268-1.072l43.928-15.804v72.053zm0-80.625l-43.66 15.804 43.66-75.536v59.732zm326.519 39.108l.804 1.339L445.5 329.125l-63.75-67.232 98.036-101.518.268.268zM291.75 355.107l11.518 11.786H280.5l11.25-11.786zm-.268-11.25l-83.303-85.446 79.553-84.375 83.036 87.589-79.286 82.232zm5.357 5.893l79.286-82.232 67.5 71.25-5.892 28.125H313.714l-16.875-17.143zM410.411 44.393c1.071.536 2.142 1.072 3.482 1.34l57.857 100.714v.536c0 2.946.803 5.624 2.143 7.767L376.393 256l-83.035-87.589L410.411 44.393zm-9.107-2.143L287.732 162.518l-57.054-60.268 166.339-60h4.287zm-123.483 0c2.678 2.678 6.16 4.285 10.179 4.285s7.5-1.607 10.179-4.285h75L224.786 95.821 173.893 42.25h103.928zm-116.249 5.625l1.071-2.142a33.834 33.834 0 0 0 2.679-.804l51.161 53.84-54.911 19.821V47.875zm0 79.286l60.803-21.964 59.732 63.214-79.553 84.107-40.982-42.053v-83.304zm0 92.678L198 257.607l-36.428 38.304v-76.072zm0 87.858l42.053-44.464 82.768 85.982-17.143 17.678H161.572v-59.196zm6.964 162.053c-1.607-1.607-3.482-2.678-5.893-3.482l-1.071-1.607v-89.732h99.91l-91.607 94.821h-1.339zm129.911 0c-2.679-2.41-6.428-4.285-10.447-4.285s-7.767 1.875-10.447 4.285h-96.429l91.607-94.821h38.304l91.607 94.821H298.447zm120-11.786l-4.286 7.5c-1.339.268-2.41.803-3.482 1.339l-89.196-91.875h114.376l-17.412 83.036zm12.856-22.232l12.858-60.803h21.964l-34.822 60.803zm34.822-68.839h-20.357l4.553-21.16 17.143 18.214c-.535.803-1.071 1.874-1.339 2.946zm66.161-107.411l-55.447 96.697c-1.339.535-2.679 1.071-4.018 1.874l-20.625-21.964 34.554-163.928 45.803 79.286c-.267 1.339-.803 2.678-.803 4.285 0 1.339.268 2.411.536 3.75z"],contao:[512,512,[],"f26d","M45.4 305c14.4 67.1 26.4 129 68.2 175H34c-18.7 0-34-15.2-34-34V66c0-18.7 15.2-34 34-34h57.7C77.9 44.6 65.6 59.2 54.8 75.6c-45.4 70-27 146.8-9.4 229.4zM478 32h-90.2c21.4 21.4 39.2 49.5 52.7 84.1l-137.1 29.3c-14.9-29-37.8-53.3-82.6-43.9-24.6 5.3-41 19.3-48.3 34.6-8.8 18.7-13.2 39.8 8.2 140.3 21.1 100.2 33.7 117.7 49.5 131.2 12.9 11.1 33.4 17 58.3 11.7 44.5-9.4 55.7-40.7 57.4-73.2l137.4-29.6c3.2 71.5-18.7 125.2-57.4 163.6H478c18.7 0 34-15.2 34-34V66c0-18.8-15.2-34-34-34z"],"cotton-bureau":[512,512,[],"f89e","M474.31 330.41c-23.66 91.85-94.23 144.59-201.9 148.35V429.6c0-48 26.41-74.39 74.39-74.39 62 0 99.2-37.2 99.2-99.21 0-61.37-36.53-98.28-97.38-99.06-33-69.32-146.5-64.65-177.24 0C110.52 157.72 74 194.63 74 256c0 62.13 37.27 99.41 99.4 99.41 48 0 74.55 26.23 74.55 74.39V479c-134.43-5-211.1-85.07-211.1-223 0-141.82 81.35-223.2 223.2-223.2 114.77 0 189.84 53.2 214.69 148.81H500C473.88 71.51 388.22 8 259.82 8 105 8 12 101.19 12 255.82 12 411.14 105.19 504.34 259.82 504c128.27 0 213.87-63.81 239.67-173.59zM357 182.33c41.37 3.45 64.2 29 64.2 73.67 0 48-26.43 74.41-74.4 74.41-28.61 0-49.33-9.59-61.59-27.33 83.06-16.55 75.59-99.67 71.79-120.75zm-81.68 97.36c-2.46-10.34-16.33-87 56.23-97 2.27 10.09 16.52 87.11-56.26 97zM260 132c28.61 0 49 9.67 61.44 27.61-28.36 5.48-49.36 20.59-61.59 43.45-12.23-22.86-33.23-38-61.6-43.45 12.41-17.69 33.27-27.35 61.57-27.35zm-71.52 50.72c73.17 10.57 58.91 86.81 56.49 97-72.41-9.84-59-86.95-56.25-97zM173.2 330.41c-48 0-74.4-26.4-74.4-74.41 0-44.36 22.86-70 64.22-73.67-6.75 37.2-1.38 106.53 71.65 120.75-12.14 17.63-32.84 27.3-61.14 27.3zm53.21 12.39A80.8 80.8 0 0 0 260 309.25c7.77 14.49 19.33 25.54 33.82 33.55a80.28 80.28 0 0 0-33.58 33.83c-8-14.5-19.07-26.23-33.56-33.83z"],cpanel:[640,512,[],"f388","M210.3 220.2c-5.6-24.8-26.9-41.2-51-41.2h-37c-7.1 0-12.5 4.5-14.3 10.9L73.1 320l24.7-.1c6.8 0 12.3-4.5 14.2-10.7l25.8-95.7h19.8c8.4 0 16.2 5.6 18.3 14.8 2.5 10.9-5.9 22.6-18.3 22.6h-10.3c-7 0-12.5 4.6-14.3 10.8l-6.4 23.8h32c37.2 0 58.3-36.2 51.7-65.3zm-156.5 28h18.6c6.9 0 12.4-4.4 14.3-10.9l6.2-23.6h-40C30 213.7 9 227.8 1.7 254.8-7 288.6 18.5 320 52 320h12.4l7.1-26.1c1.2-4.4-2.2-8.3-6.4-8.3H53.8c-24.7 0-24.9-37.4 0-37.4zm247.5-34.8h-77.9l-3.5 13.4c-2.4 9.6 4.5 18.5 14.2 18.5h57.5c4 0 2.4 4.3 2.1 5.3l-8.6 31.8c-.4 1.4-.9 5.3-5.5 5.3h-34.9c-5.3 0-5.3-7.9 0-7.9h21.6c6.8 0 12.3-4.6 14.2-10.8l3.5-13.2h-48.4c-39.2 0-43.6 63.8-.7 63.8l57.5.2c11.2 0 20.6-7.2 23.4-17.8l14-51.8c4.8-19.2-9.7-36.8-28.5-36.8zM633.1 179h-18.9c-4.9 0-9.2 3.2-10.4 7.9L568.2 320c20.7 0 39.8-13.8 44.9-34.5l26.5-98.2c1.2-4.3-2-8.3-6.5-8.3zm-236.3 34.7v.1h-48.3l-26.2 98c-1.2 4.4 2.2 8.3 6.4 8.3h18.9c4.8 0 9.2-3 10.4-7.8l17.2-64H395c12.5 0 21.4 11.8 18.1 23.4l-10.6 40c-1.2 4.3 1.9 8.3 6.4 8.3H428c4.6 0 9.1-2.9 10.3-7.8l8.8-33.1c9-33.1-15.9-65.4-50.3-65.4zm98.3 74.6c-3.6 0-6-3.4-5.1-6.7l8-30c.9-3.9 3.7-6 7.8-6h32.9c2.6 0 4.6 2.4 3.9 5.1l-.7 2.6c-.6 2-1.9 3-3.9 3h-21.6c-7 0-12.6 4.6-14.2 10.8l-3.5 13h53.4c10.5 0 20.3-6.6 23.2-17.6l3.2-12c4.9-19.1-9.3-36.8-28.3-36.8h-47.3c-17.9 0-33.8 12-38.6 29.6l-10.8 40c-5 17.7 8.3 36.7 28.3 36.7h66.7c6.8 0 12.3-4.5 14.2-10.7l5.7-21z"],"creative-commons":[496,512,[],"f25e","M245.83 214.87l-33.22 17.28c-9.43-19.58-25.24-19.93-27.46-19.93-22.13 0-33.22 14.61-33.22 43.84 0 23.57 9.21 43.84 33.22 43.84 14.47 0 24.65-7.09 30.57-21.26l30.55 15.5c-6.17 11.51-25.69 38.98-65.1 38.98-22.6 0-73.96-10.32-73.96-77.05 0-58.69 43-77.06 72.63-77.06 30.72-.01 52.7 11.95 65.99 35.86zm143.05 0l-32.78 17.28c-9.5-19.77-25.72-19.93-27.9-19.93-22.14 0-33.22 14.61-33.22 43.84 0 23.55 9.23 43.84 33.22 43.84 14.45 0 24.65-7.09 30.54-21.26l31 15.5c-2.1 3.75-21.39 38.98-65.09 38.98-22.69 0-73.96-9.87-73.96-77.05 0-58.67 42.97-77.06 72.63-77.06 30.71-.01 52.58 11.95 65.56 35.86zM247.56 8.05C104.74 8.05 0 123.11 0 256.05c0 138.49 113.6 248 247.56 248 129.93 0 248.44-100.87 248.44-248 0-137.87-106.62-248-248.44-248zm.87 450.81c-112.54 0-203.7-93.04-203.7-202.81 0-105.42 85.43-203.27 203.72-203.27 112.53 0 202.82 89.46 202.82 203.26-.01 121.69-99.68 202.82-202.84 202.82z"],"creative-commons-by":[496,512,[],"f4e7","M314.9 194.4v101.4h-28.3v120.5h-77.1V295.9h-28.3V194.4c0-4.4 1.6-8.2 4.6-11.3 3.1-3.1 6.9-4.7 11.3-4.7H299c4.1 0 7.8 1.6 11.1 4.7 3.1 3.2 4.8 6.9 4.8 11.3zm-101.5-63.7c0-23.3 11.5-35 34.5-35s34.5 11.7 34.5 35c0 23-11.5 34.5-34.5 34.5s-34.5-11.5-34.5-34.5zM247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3z"],"creative-commons-nc":[496,512,[],"f4e8","M247.6 8C387.4 8 496 115.9 496 256c0 147.2-118.5 248-248.4 248C113.1 504 0 393.2 0 256 0 123.1 104.7 8 247.6 8zM55.8 189.1c-7.4 20.4-11.1 42.7-11.1 66.9 0 110.9 92.1 202.4 203.7 202.4 122.4 0 177.2-101.8 178.5-104.1l-93.4-41.6c-7.7 37.1-41.2 53-68.2 55.4v38.1h-28.8V368c-27.5-.3-52.6-10.2-75.3-29.7l34.1-34.5c31.7 29.4 86.4 31.8 86.4-2.2 0-6.2-2.2-11.2-6.6-15.1-14.2-6-1.8-.1-219.3-97.4zM248.4 52.3c-38.4 0-112.4 8.7-170.5 93l94.8 42.5c10-31.3 40.4-42.9 63.8-44.3v-38.1h28.8v38.1c22.7 1.2 43.4 8.9 62 23L295 199.7c-42.7-29.9-83.5-8-70 11.1 53.4 24.1 43.8 19.8 93 41.6l127.1 56.7c4.1-17.4 6.2-35.1 6.2-53.1 0-57-19.8-105-59.3-143.9-39.3-39.9-87.2-59.8-143.6-59.8z"],"creative-commons-nc-eu":[496,512,[],"f4e9","M247.7 8C103.6 8 0 124.8 0 256c0 136.3 111.7 248 247.7 248C377.9 504 496 403.1 496 256 496 117 388.4 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-23.2 3.7-45.2 10.9-66l65.7 29.1h-4.7v29.5h23.3c0 6.2-.4 3.2-.4 19.5h-22.8v29.5h27c11.4 67 67.2 101.3 124.6 101.3 26.6 0 50.6-7.9 64.8-15.8l-10-46.1c-8.7 4.6-28.2 10.8-47.3 10.8-28.2 0-58.1-10.9-67.3-50.2h90.3l128.3 56.8c-1.5 2.1-56.2 104.3-178.8 104.3zm-16.7-190.6l-.5-.4.9.4h-.4zm77.2-19.5h3.7v-29.5h-70.3l-28.6-12.6c2.5-5.5 5.4-10.5 8.8-14.3 12.9-15.8 31.1-22.4 51.1-22.4 18.3 0 35.3 5.4 46.1 10l11.6-47.3c-15-6.6-37-12.4-62.3-12.4-39 0-72.2 15.8-95.9 42.3-5.3 6.1-9.8 12.9-13.9 20.1l-81.6-36.1c64.6-96.8 157.7-93.6 170.7-93.6 113 0 203 90.2 203 203.4 0 18.7-2.1 36.3-6.3 52.9l-136.1-60.5z"],"creative-commons-nc-jp":[496,512,[],"f4ea","M247.7 8C103.6 8 0 124.8 0 256c0 136.4 111.8 248 247.7 248C377.9 504 496 403.2 496 256 496 117.2 388.5 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-21.1 3-41.2 9-60.3l127 56.5h-27.9v38.6h58.1l5.7 11.8v18.7h-63.8V360h63.8v56h61.7v-56h64.2v-35.7l81 36.1c-1.5 2.2-57.1 98.3-175.2 98.3zm87.6-137.3h-57.6v-18.7l2.9-5.6 54.7 24.3zm6.5-51.4v-17.8h-38.6l63-116H301l-43.4 96-23-10.2-39.6-85.7h-65.8l27.3 51-81.9-36.5c27.8-44.1 82.6-98.1 173.7-98.1 112.8 0 203 90 203 203.4 0 21-2.7 40.6-7.9 59l-101-45.1z"],"creative-commons-nd":[496,512,[],"f4eb","M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm94 144.3v42.5H162.1V197h180.3zm0 79.8v42.5H162.1v-42.5h180.3z"],"creative-commons-pd":[496,512,[],"f4ec","M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm0 449.5c-139.2 0-235.8-138-190.2-267.9l78.8 35.1c-2.1 10.5-3.3 21.5-3.3 32.9 0 99 73.9 126.9 120.4 126.9 22.9 0 53.5-6.7 79.4-29.5L297 311.1c-5.5 6.3-17.6 16.7-36.3 16.7-37.8 0-53.7-39.9-53.9-71.9 230.4 102.6 216.5 96.5 217.9 96.8-34.3 62.4-100.6 104.8-176.7 104.8zm194.2-150l-224-100c18.8-34 54.9-30.7 74.7-11l40.4-41.6c-27.1-23.3-58-27.5-78.1-27.5-47.4 0-80.9 20.5-100.7 51.6l-74.9-33.4c36.1-54.9 98.1-91.2 168.5-91.2 111.1 0 201.5 90.4 201.5 201.5 0 18-2.4 35.4-6.8 52-.3-.1-.4-.2-.6-.4z"],"creative-commons-pd-alt":[496,512,[],"f4ed","M247.6 8C104.7 8 0 123.1 0 256c0 138.5 113.6 248 247.6 248C377.5 504 496 403.1 496 256 496 118.1 389.4 8 247.6 8zm.8 450.8c-112.5 0-203.7-93-203.7-202.8 0-105.4 85.5-203.3 203.7-203.3 112.6 0 202.9 89.5 202.8 203.3 0 121.7-99.6 202.8-202.8 202.8zM316.7 186h-53.2v137.2h53.2c21.4 0 70-5.1 70-68.6 0-63.4-48.6-68.6-70-68.6zm.8 108.5h-19.9v-79.7l19.4-.1c3.8 0 35-2.1 35 39.9 0 24.6-10.5 39.9-34.5 39.9zM203.7 186h-68.2v137.3h34.6V279h27c54.1 0 57.1-37.5 57.1-46.5 0-31-16.8-46.5-50.5-46.5zm-4.9 67.3h-29.2v-41.6h28.3c30.9 0 28.8 41.6.9 41.6z"],"creative-commons-remix":[496,512,[],"f4ee","M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm161.7 207.7l4.9 2.2v70c-7.2 3.6-63.4 27.5-67.3 28.8-6.5-1.8-113.7-46.8-137.3-56.2l-64.2 26.6-63.3-27.5v-63.8l59.3-24.8c-.7-.7-.4 5-.4-70.4l67.3-29.7L361 178.5v61.6l49.1 20.3zm-70.4 81.5v-43.8h-.4v-1.8l-113.8-46.5V295l113.8 46.9v-.4l.4.4zm7.5-57.6l39.9-16.4-36.8-15.5-39 16.4 35.9 15.5zm52.3 38.1v-43L355.2 298v43.4l44.3-19z"],"creative-commons-sa":[496,512,[],"f4ef","M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zM137.7 221c13-83.9 80.5-95.7 108.9-95.7 99.8 0 127.5 82.5 127.5 134.2 0 63.6-41 132.9-128.9 132.9-38.9 0-99.1-20-109.4-97h62.5c1.5 30.1 19.6 45.2 54.5 45.2 23.3 0 58-18.2 58-82.8 0-82.5-49.1-80.6-56.7-80.6-33.1 0-51.7 14.6-55.8 43.8h18.2l-49.2 49.2-49-49.2h19.4z"],"creative-commons-sampling":[496,512,[],"f4f0","M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm3.6 53.2c2.8-.3 11.5 1 11.5 11.5l6.6 107.2 4.9-59.3c0-6 4.7-10.6 10.6-10.6 5.9 0 10.6 4.7 10.6 10.6 0 2.5-.5-5.7 5.7 81.5l5.8-64.2c.3-2.9 2.9-9.3 10.2-9.3 3.8 0 9.9 2.3 10.6 8.9l11.5 96.5 5.3-12.8c1.8-4.4 5.2-6.6 10.2-6.6h58v21.3h-50.9l-18.2 44.3c-3.9 9.9-19.5 9.1-20.8-3.1l-4-31.9-7.5 92.6c-.3 3-3 9.3-10.2 9.3-3 0-9.8-2.1-10.6-9.3 0-1.9.6 5.8-6.2-77.9l-5.3 72.2c-1.1 4.8-4.8 9.3-10.6 9.3-2.9 0-9.8-2-10.6-9.3 0-1.9.5 6.7-5.8-87.7l-5.8 94.8c0 6.3-3.6 12.4-10.6 12.4-5.2 0-10.6-4.1-10.6-12l-5.8-87.7c-5.8 92.5-5.3 84-5.3 85.9-1.1 4.8-4.8 9.3-10.6 9.3-3 0-9.8-2.1-10.6-9.3 0-.7-.4-1.1-.4-2.6l-6.2-88.6L182 348c-.7 6.5-6.7 9.3-10.6 9.3-5.8 0-9.6-4.1-10.6-8.9L149.7 272c-2 4-3.5 8.4-11.1 8.4H87.2v-21.3H132l13.7-27.9c4.4-9.9 18.2-7.2 19.9 2.7l3.1 20.4 8.4-97.9c0-6 4.8-10.6 10.6-10.6.5 0 10.6-.2 10.6 12.4l4.9 69.1 6.6-92.6c0-10.1 9.5-10.6 10.2-10.6.6 0 10.6.7 10.6 10.6l5.3 80.6 6.2-97.9c.1-1.1-.6-10.3 9.9-11.5z"],"creative-commons-sampling-plus":[496,512,[],"f4f1","M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm107 205.6c-4.7 0-9 2.8-10.7 7.2l-4 9.5-11-92.8c-1.7-13.9-22-13.4-23.1.4l-4.3 51.4-5.2-68.8c-1.1-14.3-22.1-14.2-23.2 0l-3.5 44.9-5.9-94.3c-.9-14.5-22.3-14.4-23.2 0l-5.1 83.7-4.3-66.3c-.9-14.4-22.2-14.4-23.2 0l-5.3 80.2-4.1-57c-1.1-14.3-22-14.3-23.2-.2l-7.7 89.8-1.8-12.2c-1.7-11.4-17.1-13.6-22-3.3l-13.2 27.7H87.5v23.2h51.3c4.4 0 8.4-2.5 10.4-6.4l10.7 73.1c2 13.5 21.9 13 23.1-.7l3.8-43.6 5.7 78.3c1.1 14.4 22.3 14.2 23.2-.1l4.6-70.4 4.8 73.3c.9 14.4 22.3 14.4 23.2-.1l4.9-80.5 4.5 71.8c.9 14.3 22.1 14.5 23.2.2l4.6-58.6 4.9 64.4c1.1 14.3 22 14.2 23.1.1l6.8-83 2.7 22.3c1.4 11.8 17.7 14.1 22.3 3.1l18-43.4h50.5V258l-58.4.3zm-78 5.2h-21.9v21.9c0 4.1-3.3 7.5-7.5 7.5-4.1 0-7.5-3.3-7.5-7.5v-21.9h-21.9c-4.1 0-7.5-3.3-7.5-7.5 0-4.1 3.4-7.5 7.5-7.5h21.9v-21.9c0-4.1 3.4-7.5 7.5-7.5s7.5 3.3 7.5 7.5v21.9h21.9c4.1 0 7.5 3.3 7.5 7.5 0 4.1-3.4 7.5-7.5 7.5z"],"creative-commons-share":[496,512,[],"f4f2","M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm101 132.4c7.8 0 13.7 6.1 13.7 13.7v182.5c0 7.7-6.1 13.7-13.7 13.7H214.3c-7.7 0-13.7-6-13.7-13.7v-54h-54c-7.8 0-13.7-6-13.7-13.7V131.1c0-8.2 6.6-12.7 12.4-13.7h136.4c7.7 0 13.7 6 13.7 13.7v54h54zM159.9 300.3h40.7V198.9c0-7.4 5.8-12.6 12-13.7h55.8v-40.3H159.9v155.4zm176.2-88.1H227.6v155.4h108.5V212.2z"],"creative-commons-zero":[496,512,[],"f4f3","M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm-.4 60.5c-81.9 0-102.5 77.3-102.5 142.8 0 65.5 20.6 142.8 102.5 142.8S350.5 321.5 350.5 256c0-65.5-20.6-142.8-102.5-142.8zm0 53.9c3.3 0 6.4.5 9.2 1.2 5.9 5.1 8.8 12.1 3.1 21.9l-54.5 100.2c-1.7-12.7-1.9-25.1-1.9-34.4 0-28.8 2-88.9 44.1-88.9zm40.8 46.2c2.9 15.4 3.3 31.4 3.3 42.7 0 28.9-2 88.9-44.1 88.9-13.5 0-32.6-7.7-20.1-26.4l60.9-105.2z"],"critical-role":[448,512,[],"f6c9","M225.82 0c.26.15 216.57 124.51 217.12 124.72 3 1.18 3.7 3.46 3.7 6.56q-.11 125.17 0 250.36a5.88 5.88 0 0 1-3.38 5.78c-21.37 12-207.86 118.29-218.93 124.58h-3C142 466.34 3.08 386.56 2.93 386.48a3.29 3.29 0 0 1-1.88-3.24c0-.87 0-225.94-.05-253.1a5 5 0 0 1 2.93-4.93C27.19 112.11 213.2 6 224.07 0zM215.4 20.42l-.22-.16Q118.06 75.55 21 130.87c0 .12.08.23.13.35l30.86 11.64c-7.71 6-8.32 6-10.65 5.13-.1 0-24.17-9.28-26.8-10v230.43c.88-1.41 64.07-110.91 64.13-111 1.62-2.82 3-1.92 9.12-1.52 1.4.09 1.48.22.78 1.42-41.19 71.33-36.4 63-67.48 116.94-.81 1.4-.61 1.13 1.25 1.13h186.5c1.44 0 1.69-.23 1.7-1.64v-8.88c0-1.34 2.36-.81-18.37-1-7.46-.07-14.14-3.22-21.38-12.7-7.38-9.66-14.62-19.43-21.85-29.21-2.28-3.08-3.45-2.38-16.76-2.38-1.75 0-1.78 0-1.76 1.82.29 26.21.15 25.27 1 32.66.52 4.37 2.16 4.2 9.69 4.81 3.14.26 3.88 4.08.52 4.92-1.57.39-31.6.51-33.67-.1a2.42 2.42 0 0 1 .3-4.73c3.29-.76 6.16.81 6.66-4.44 1.3-13.66 1.17-9 1.1-79.42 0-10.82-.35-12.58-5.36-13.55-1.22-.24-3.54-.16-4.69-.55-2.88-1-2-4.84 1.77-4.85 33.67 0 46.08-1.07 56.06 4.86 7.74 4.61 12 11.48 12.51 20.4.88 14.59-6.51 22.35-15 32.59a1.46 1.46 0 0 0 0 2.22c2.6 3.25 5 6.63 7.71 9.83 27.56 33.23 24.11 30.54 41.28 33.06.89.13 1-.42 1-1.15v-11c0-1 .32-1.43 1.41-1.26a72.37 72.37 0 0 0 23.58-.3c1.08-.15 1.5.2 1.48 1.33 0 .11.88 26.69.87 26.8-.05 1.52.67 1.62 1.89 1.62h186.71Q386.51 304.6 346 234.33c2.26-.66-.4 0 6.69-1.39 2-.39 2.05-.41 3.11 1.44 7.31 12.64 77.31 134 77.37 134.06V138c-1.72.5-103.3 38.72-105.76 39.68-1.08.42-1.55.2-1.91-.88-.63-1.9-1.34-3.76-2.09-5.62-.32-.79-.09-1.13.65-1.39.1 0 95.53-35.85 103-38.77-65.42-37.57-130.56-75-196-112.6l86.82 150.39-.28.33c-9.57-.9-10.46-1.6-11.8-3.94-1-1.69-73.5-127.71-82-142.16-9.1 14.67-83.56 146.21-85.37 146.32-2.93.17-5.88.08-9.25.08q43.25-74.74 86.18-149zm51.93 129.92a37.68 37.68 0 0 0 5.54-.85c1.69-.3 2.53.2 2.6 1.92 0 .11.07 19.06-.86 20.45s-1.88 1.22-2.6-.19c-5-9.69 6.22-9.66-39.12-12-.7 0-1 .23-1 .93 0 .13 3.72 122 3.73 122.11 0 .89.52 1.2 1.21 1.51a83.92 83.92 0 0 1 8.7 4.05c7.31 4.33 11.38 10.84 12.41 19.31 1.44 11.8-2.77 35.77-32.21 37.14-2.75.13-28.26 1.08-34.14-23.25-4.66-19.26 8.26-32.7 19.89-36.4a2.45 2.45 0 0 0 2-2.66c.1-5.63 3-107.1 3.71-121.35.05-1.08-.62-1.16-1.35-1.15-32.35.52-36.75-.34-40.22 8.52-2.42 6.18-4.14 1.32-3.95.23q1.59-9 3.31-18c.4-2.11 1.43-2.61 3.43-1.86 5.59 2.11 6.72 1.7 37.25 1.92 1.73 0 1.78-.08 1.82-1.85.68-27.49.58-22.59 1-29.55a2.69 2.69 0 0 0-1.63-2.8c-5.6-2.91-8.75-7.55-8.9-13.87-.35-14.81 17.72-21.67 27.38-11.51 6.84 7.19 5.8 18.91-2.45 24.15a4.35 4.35 0 0 0-2.22 4.34c0 .59-.11-4.31 1 30.05 0 .9.43 1.12 1.24 1.11.1 0 23-.09 34.47-.37zM68.27 141.7c19.84-4.51 32.68-.56 52.49 1.69 2.76.31 3.74 1.22 3.62 4-.21 5-1.16 22.33-1.24 23.15a2.65 2.65 0 0 1-1.63 2.34c-4.06 1.7-3.61-4.45-4-7.29-3.13-22.43-73.87-32.7-74.63 25.4-.31 23.92 17 53.63 54.08 50.88 27.24-2 19-20.19 24.84-20.47a2.72 2.72 0 0 1 3 3.36c-1.83 10.85-3.42 18.95-3.45 19.15-1.54 9.17-86.7 22.09-93.35-42.06-2.71-25.85 10.44-53.37 40.27-60.15zm80 87.67h-19.49a2.57 2.57 0 0 1-2.66-1.79c2.38-3.75 5.89.92 5.86-6.14-.08-25.75.21-38 .23-40.1 0-3.42-.53-4.65-3.32-4.94-7-.72-3.11-3.37-1.11-3.38 11.84-.1 22.62-.18 30.05.72 8.77 1.07 16.71 12.63 7.93 22.62-2 2.25-4 4.42-6.14 6.73.95 1.15 6.9 8.82 17.28 19.68 2.66 2.78 6.15 3.51 9.88 3.13a2.21 2.21 0 0 0 2.23-2.12c.3-3.42.26 4.73.45-40.58 0-5.65-.34-6.58-3.23-6.83-3.95-.35-4-2.26-.69-3.37l19.09-.09c.32 0 4.49.53 1 3.38 0 .05-.16 0-.24 0-3.61.26-3.94 1-4 4.62-.27 43.93.07 40.23.41 42.82.11.84.27 2.23 5.1 2.14 2.49 0 3.86 3.37 0 3.4-10.37.08-20.74 0-31.11.07-10.67 0-13.47-6.2-24.21-20.82-1.6-2.18-8.31-2.36-8.2-.37.88 16.47 0 17.78 4 17.67 4.75-.1 4.73 3.57.83 3.55zm275-10.15c-1.21 7.13.17 10.38-5.3 10.34-61.55-.42-47.82-.22-50.72-.31a18.4 18.4 0 0 1-3.63-.73c-2.53-.6 1.48-1.23-.38-5.6-1.43-3.37-2.78-6.78-4.11-10.19a1.94 1.94 0 0 0-2-1.44 138 138 0 0 0-14.58.07 2.23 2.23 0 0 0-1.62 1.06c-1.58 3.62-3.07 7.29-4.51 11-1.27 3.23 7.86 1.32 12.19 2.16 3 .57 4.53 3.72.66 3.73H322.9c-2.92 0-3.09-3.15-.74-3.21a6.3 6.3 0 0 0 5.92-3.47c1.5-3 2.8-6 4.11-9.09 18.18-42.14 17.06-40.17 18.42-41.61a1.83 1.83 0 0 1 3 0c2.93 3.34 18.4 44.71 23.62 51.92 2 2.7 5.74 2 6.36 2 3.61.13 4-1.11 4.13-4.29.09-1.87.08 1.17.07-41.24 0-4.46-2.36-3.74-5.55-4.27-.26 0-2.56-.63-.08-3.06.21-.2-.89-.24 21.7-.15 2.32 0 5.32 2.75-1.21 3.45a2.56 2.56 0 0 0-2.66 2.83c-.07 1.63-.19 38.89.29 41.21a3.06 3.06 0 0 0 3.23 2.43c13.25.43 14.92.44 16-3.41 1.67-5.78 4.13-2.52 3.73-.19zm-104.72 64.37c-4.24 0-4.42-3.39-.61-3.41 35.91-.16 28.11.38 37.19-.65 1.68-.19 2.38.24 2.25 1.89-.26 3.39-.64 6.78-1 10.16-.25 2.16-3.2 2.61-3.4-.15-.38-5.31-2.15-4.45-15.63-5.08-1.58-.07-1.64 0-1.64 1.52V304c0 1.65 0 1.6 1.62 1.47 3.12-.25 10.31.34 15.69-1.52.47-.16 3.3-1.79 3.07 1.76 0 .21-.76 10.35-1.18 11.39-.53 1.29-1.88 1.51-2.58.32-1.17-2 0-5.08-3.71-5.3-15.42-.9-12.91-2.55-12.91 6 0 12.25-.76 16.11 3.89 16.24 16.64.48 14.4 0 16.43-5.71.84-2.37 3.5-1.77 3.18.58-.44 3.21-.85 6.43-1.23 9.64 0 .36-.16 2.4-4.66 2.39-37.16-.08-34.54-.19-35.21-.31-2.72-.51-2.2-3 .22-3.45 1.1-.19 4 .54 4.16-2.56 2.44-56.22-.07-51.34-3.91-51.33zm-.41-109.52c2.46.61 3.13 1.76 2.95 4.65-.33 5.3-.34 9-.55 9.69-.66 2.23-3.15 2.12-3.34-.27-.38-4.81-3.05-7.82-7.57-9.15-26.28-7.73-32.81 15.46-27.17 30.22 5.88 15.41 22 15.92 28.86 13.78 5.92-1.85 5.88-6.5 6.91-7.58 1.23-1.3 2.25-1.84 3.12 1.1 0 .1.57 11.89-6 12.75-1.6.21-19.38 3.69-32.68-3.39-21-11.19-16.74-35.47-6.88-45.33 14-14.06 39.91-7.06 42.32-6.47zM289.8 280.14c3.28 0 3.66 3 .16 3.43-2.61.32-5-.42-5 5.46 0 2-.19 29.05.4 41.45.11 2.29 1.15 3.52 3.44 3.65 22 1.21 14.95-1.65 18.79-6.34 1.83-2.24 2.76.84 2.76 1.08.35 13.62-4 12.39-5.19 12.4l-38.16-.19c-1.93-.23-2.06-3-.42-3.38 2-.48 4.94.4 5.13-2.8 1-15.87.57-44.65.34-47.81-.27-3.77-2.8-3.27-5.68-3.71-2.47-.38-2-3.22.34-3.22 1.45-.02 17.97-.03 23.09-.02zm-31.63-57.79c.07 4.08 2.86 3.46 6 3.58 2.61.1 2.53 3.41-.07 3.43-6.48 0-13.7 0-21.61-.06-3.84 0-3.38-3.35 0-3.37 4.49 0 3.24 1.61 3.41-45.54 0-5.08-3.27-3.54-4.72-4.23-2.58-1.23-1.36-3.09.41-3.15 1.29 0 20.19-.41 21.17.21s1.87 1.65-.42 2.86c-1 .52-3.86-.28-4.15 2.47 0 .21-.82 1.63-.07 43.8zm-36.91 274.27a2.93 2.93 0 0 0 3.26 0c17-9.79 182-103.57 197.42-112.51-.14-.43 11.26-.18-181.52-.27-1.22 0-1.57.37-1.53 1.56 0 .1 1.25 44.51 1.22 50.38a28.33 28.33 0 0 1-1.36 7.71c-.55 1.83.38-.5-13.5 32.23-.73 1.72-1 2.21-2-.08-4.19-10.34-8.28-20.72-12.57-31a23.6 23.6 0 0 1-2-10.79c.16-2.46.8-16.12 1.51-48 0-1.95 0-2-2-2h-183c2.58 1.63 178.32 102.57 196 112.76zm-90.9-188.75c0 2.4.36 2.79 2.76 3 11.54 1.17 21 3.74 25.64-7.32 6-14.46 2.66-34.41-12.48-38.84-2-.59-16-2.76-15.94 1.51.05 8.04.01 11.61.02 41.65zm105.75-15.05c0 2.13 1.07 38.68 1.09 39.13.34 9.94-25.58 5.77-25.23-2.59.08-2 1.37-37.42 1.1-39.43-14.1 7.44-14.42 40.21 6.44 48.8a17.9 17.9 0 0 0 22.39-7.07c4.91-7.76 6.84-29.47-5.43-39a2.53 2.53 0 0 1-.36.12zm-12.28-198c-9.83 0-9.73 14.75-.07 14.87s10.1-14.88.07-14.91zm-80.15 103.83c0 1.8.41 2.4 2.17 2.58 13.62 1.39 12.51-11 12.16-13.36-1.69-11.22-14.38-10.2-14.35-7.81.05 4.5-.03 13.68.02 18.59zm212.32 6.4l-6.1-15.84c-2.16 5.48-4.16 10.57-6.23 15.84z"],css3:[512,512,[],"f13c","M480 32l-64 368-223.3 80L0 400l19.6-94.8h82l-8 40.6L210 390.2l134.1-44.4 18.8-97.1H29.5l16-82h333.7l10.5-52.7H56.3l16.3-82H480z"],"css3-alt":[384,512,[],"f38b","M0 32l34.9 395.8L192 480l157.1-52.2L384 32H0zm313.1 80l-4.8 47.3L193 208.6l-.3.1h111.5l-12.8 146.6-98.2 28.7-98.8-29.2-6.4-73.9h48.9l3.2 38.3 52.6 13.3 54.7-15.4 3.7-61.6-166.3-.5v-.1l-.2.1-3.6-46.3L193.1 162l6.5-2.7H76.7L70.9 112h242.2z"],cuttlefish:[440,512,[],"f38c","M344 305.5c-17.5 31.6-57.4 54.5-96 54.5-56.6 0-104-47.4-104-104s47.4-104 104-104c38.6 0 78.5 22.9 96 54.5 13.7-50.9 41.7-93.3 87-117.8C385.7 39.1 320.5 8 248 8 111 8 0 119 0 256s111 248 248 248c72.5 0 137.7-31.1 183-80.7-45.3-24.5-73.3-66.9-87-117.8z"],"d-and-d":[576,512,[],"f38d","M82.5 98.9c-.6-17.2 2-33.8 12.7-48.2.3 7.4 1.2 14.5 4.2 21.6 5.9-27.5 19.7-49.3 42.3-65.5-1.9 5.9-3.5 11.8-3 17.7 8.7-7.4 18.8-17.8 44.4-22.7 14.7-2.8 29.7-2 42.1 1 38.5 9.3 61 34.3 69.7 72.3 5.3 23.1.7 45-8.3 66.4-5.2 12.4-12 24.4-20.7 35.1-2-1.9-3.9-3.8-5.8-5.6-42.8-40.8-26.8-25.2-37.4-37.4-1.1-1.2-1-2.2-.1-3.6 8.3-13.5 11.8-28.2 10-44-1.1-9.8-4.3-18.9-11.3-26.2-14.5-15.3-39.2-15-53.5.6-11.4 12.5-14.1 27.4-10.9 43.6.2 1.3.4 2.7 0 3.9-3.4 13.7-4.6 27.6-2.5 41.6.1.5.1 1.1.1 1.6 0 .3-.1.5-.2 1.1-21.8-11-36-28.3-43.2-52.2-8.3 17.8-11.1 35.5-6.6 54.1-15.6-15.2-21.3-34.3-22-55.2zm469.6 123.2c-11.6-11.6-25-20.4-40.1-26.6-12.8-5.2-26-7.9-39.9-7.1-10 .6-19.6 3.1-29 6.4-2.5.9-5.1 1.6-7.7 2.2-4.9 1.2-7.3-3.1-4.7-6.8 3.2-4.6 3.4-4.2 15-12 .6-.4 1.2-.8 2.2-1.5h-2.5c-.6 0-1.2.2-1.9.3-19.3 3.3-30.7 15.5-48.9 29.6-10.4 8.1-13.8 3.8-12-.5 1.4-3.5 3.3-6.7 5.1-10 1-1.8 2.3-3.4 3.5-5.1-.2-.2-.5-.3-.7-.5-27 18.3-46.7 42.4-57.7 73.3.3.3.7.6 1 .9.3-.6.5-1.2.9-1.7 10.4-12.1 22.8-21.8 36.6-29.8 18.2-10.6 37.5-18.3 58.7-20.2 4.3-.4 8.7-.1 13.1-.1-1.8.7-3.5.9-5.3 1.1-18.5 2.4-35.5 9-51.5 18.5-30.2 17.9-54.5 42.2-75.1 70.4-.3.4-.4.9-.7 1.3 14.5 5.3 24 17.3 36.1 25.6.2-.1.3-.2.4-.4l1.2-2.7c12.2-26.9 27-52.3 46.7-74.5 16.7-18.8 38-25.3 62.5-20 5.9 1.3 11.4 4.4 17.2 6.8 2.3-1.4 5.1-3.2 8-4.7 8.4-4.3 17.4-7 26.7-9 14.7-3.1 29.5-4.9 44.5-1.3v-.5c-.5-.4-1.2-.8-1.7-1.4zM316.7 397.6c-39.4-33-22.8-19.5-42.7-35.6-.8.9 0-.2-1.9 3-11.2 19.1-25.5 35.3-44 47.6-10.3 6.8-21.5 11.8-34.1 11.8-21.6 0-38.2-9.5-49.4-27.8-12-19.5-13.3-40.7-8.2-62.6 7.8-33.8 30.1-55.2 38.6-64.3-18.7-6.2-33 1.7-46.4 13.9.8-13.9 4.3-26.2 11.8-37.3-24.3 10.6-45.9 25-64.8 43.9-.3-5.8 5.4-43.7 5.6-44.7.3-2.7-.6-5.3-3-7.4-24.2 24.7-44.5 51.8-56.1 84.6 7.4-5.9 14.9-11.4 23.6-16.2-8.3 22.3-19.6 52.8-7.8 101.1 4.6 19 11.9 36.8 24.1 52.3 2.9 3.7 6.3 6.9 9.5 10.3.2-.2.4-.3.6-.5-1.4-7-2.2-14.1-1.5-21.9 2.2 3.2 3.9 6 5.9 8.6 12.6 16 28.7 27.4 47.2 35.6 25 11.3 51.1 13.3 77.9 8.6 54.9-9.7 90.7-48.6 116-98.8 1-1.8.6-2.9-.9-4.2zm172-46.4c-9.5-3.1-22.2-4.2-28.7-2.9 9.9 4 14.1 6.6 18.8 12 12.6 14.4 10.4 34.7-5.4 45.6-11.7 8.1-24.9 10.5-38.9 9.1-1.2-.1-2.3-.4-3-.6 2.8-3.7 6-7 8.1-10.8 9.4-16.8 5.4-42.1-8.7-56.1-2.1-2.1-4.6-3.9-7-5.9-.3 1.3-.1 2.1.1 2.8 4.2 16.6-8.1 32.4-24.8 31.8-7.6-.3-13.9-3.8-19.6-8.5-19.5-16.1-39.1-32.1-58.5-48.3-5.9-4.9-12.5-8.1-20.1-8.7-4.6-.4-9.3-.6-13.9-.9-5.9-.4-8.8-2.8-10.4-8.4-.9-3.4-1.5-6.8-2.2-10.2-1.5-8.1-6.2-13-14.3-14.2-4.4-.7-8.9-1-13.3-1.5-13-1.4-19.8-7.4-22.6-20.3-5 11-1.6 22.4 7.3 29.9 4.5 3.8 9.3 7.3 13.8 11.2 4.6 3.8 7.4 8.7 7.9 14.8.4 4.7.8 9.5 1.8 14.1 2.2 10.6 8.9 18.4 17 25.1 16.5 13.7 33 27.3 49.5 41.1 17.9 15 13.9 32.8 13 56-.9 22.9 12.2 42.9 33.5 51.2 1 .4 2 .6 3.6 1.1-15.7-18.2-10.1-44.1.7-52.3.3 2.2.4 4.3.9 6.4 9.4 44.1 45.4 64.2 85 56.9 16-2.9 30.6-8.9 42.9-19.8 2-1.8 3.7-4.1 5.9-6.5-19.3 4.6-35.8.1-50.9-10.6.7-.3 1.3-.3 1.9-.3 21.3 1.8 40.6-3.4 57-17.4 19.5-16.6 26.6-42.9 17.4-66-8.3-20.1-23.6-32.3-43.8-38.9zM99.4 179.3c-5.3-9.2-13.2-15.6-22.1-21.3 13.7-.5 26.6.2 39.6 3.7-7-12.2-8.5-24.7-5-38.7 5.3 11.9 13.7 20.1 23.6 26.8 19.7 13.2 35.7 19.6 46.7 30.2 3.4 3.3 6.3 7.1 9.6 10.9-.8-2.1-1.4-4.1-2.2-6-5-10.6-13-18.6-22.6-25-1.8-1.2-2.8-2.5-3.4-4.5-3.3-12.5-3-25.1-.7-37.6 1-5.5 2.8-10.9 4.5-16.3.8-2.4 2.3-4.6 4-6.6.6 6.9 0 25.5 19.6 46 10.8 11.3 22.4 21.9 33.9 32.7 9 8.5 18.3 16.7 25.5 26.8 1.1 1.6 2.2 3.3 3.8 4.7-5-13-14.2-24.1-24.2-33.8-9.6-9.3-19.4-18.4-29.2-27.4-3.3-3-4.6-6.7-5.1-10.9-1.2-10.4 0-20.6 4.3-30.2.5-1 1.1-2 1.9-3.3.5 4.2.6 7.9 1.4 11.6 4.8 23.1 20.4 36.3 49.3 63.5 10 9.4 19.3 19.2 25.6 31.6 4.8 9.3 7.3 19 5.7 29.6-.1.6.5 1.7 1.1 2 6.2 2.6 10 6.9 9.7 14.3 7.7-2.6 12.5-8 16.4-14.5 4.2 20.2-9.1 50.3-27.2 58.7.4-4.5 5-23.4-16.5-27.7-6.8-1.3-12.8-1.3-22.9-2.1 4.7-9 10.4-20.6.5-22.4-24.9-4.6-52.8 1.9-57.8 4.6 8.2.4 16.3 1 23.5 3.3-2 6.5-4 12.7-5.8 18.9-1.9 6.5 2.1 14.6 9.3 9.6 1.2-.9 2.3-1.9 3.3-2.7-3.1 17.9-2.9 15.9-2.8 18.3.3 10.2 9.5 7.8 15.7 7.3-2.5 11.8-29.5 27.3-45.4 25.8 7-4.7 12.7-10.3 15.9-17.9-6.5.8-12.9 1.6-19.2 2.4l-.3-.9c4.7-3.4 8-7.8 10.2-13.1 8.7-21.1-3.6-38-25-39.9-9.1-.8-17.8.8-25.9 5.5 6.2-15.6 17.2-26.6 32.6-34.5-15.2-4.3-8.9-2.7-24.6-6.3 14.6-9.3 30.2-13.2 46.5-14.6-5.2-3.2-48.1-3.6-70.2 20.9 7.9 1.4 15.5 2.8 23.2 4.2-23.8 7-44 19.7-62.4 35.6 1.1-4.8 2.7-9.5 3.3-14.3.6-4.5.8-9.2.1-13.6-1.5-9.4-8.9-15.1-19.7-16.3-7.9-.9-15.6.1-23.3 1.3-.9.1-1.7.3-2.9 0 15.8-14.8 36-21.7 53.1-33.5 6-4.5 6.8-8.2 3-14.9zm128.4 26.8c3.3 16 12.6 25.5 23.8 24.3-4.6-11.3-12.1-19.5-23.8-24.3z"],"d-and-d-beyond":[640,512,[],"f6ca","M313.8 241.5c13.8 0 21-10.1 24.8-17.9-1-1.1-5-4.2-7.4-6.6-2.4 4.3-8.2 10.7-13.9 10.7-10.2 0-15.4-14.7-3.2-26.6-.5-.2-4.3-1.8-8 2.4 0-3 1-5.1 2.1-6.6-3.5 1.3-9.8 5.6-11.4 7.9.2-5.8 1.6-7.5.6-9l-.2-.2s-8.5 5.6-9.3 14.7c0 0 1.1-1.6 2.1-1.9.6-.3 1.3 0 .6 1.9-.2.6-5.8 15.7 5.1 26-.6-1.6-1.9-7.6 2.4-1.9-.3.1 5.8 7.1 15.7 7.1zm52.4-21.1c0-4-4.9-4.4-5.6-4.5 2 3.9.9 7.5.2 9 2.5-.4 5.4-1.6 5.4-4.5zm10.3 5.2c0-6.4-6.2-11.4-13.5-10.7 8 1.3 5.6 13.8-5 11.4 3.7-2.6 3.2-9.9-1.3-12.5 1.4 4.2-3 8.2-7.4 4.6-2.4-1.9-8-6.6-10.6-8.6-2.4-2.1-5.5-1-6.6-1.8-1.3-1.1-.5-3.8-2.2-5-1.6-.8-3-.3-4.8-1-1.6-.6-2.7-1.9-2.6-3.5-2.5 4.4 3.4 6.3 4.5 8.5 1 1.9-.8 4.8 4 8.5 14.8 11.6 9.1 8 10.4 18.1.6 4.3 4.2 6.7 6.4 7.4-2.1-1.9-2.9-6.4 0-9.3 0 13.9 19.2 13.3 23.1 6.4-2.4 1.1-7-.2-9-1.9 7.7 1 14.2-4.1 14.6-10.6zm-39.4-18.4c2 .8 1.6.7 6.4 4.5 10.2-24.5 21.7-15.7 22-15.5 2.2-1.9 9.8-3.8 13.8-2.7-2.4-2.7-7.5-6.2-13.3-6.2-4.7 0-7.4 2.2-8 1.3-.8-1.4 3.2-3.4 3.2-3.4-5.4.2-9.6 6.7-11.2 5.9-1.1-.5 1.4-3.7 1.4-3.7-5.1 2.9-9.3 9.1-10.2 13 4.6-5.8 13.8-9.8 19.7-9-10.5.5-19.5 9.7-23.8 15.8zm242.5 51.9c-20.7 0-40 1.3-50.3 2.1l7.4 8.2v77.2l-7.4 8.2c10.4.8 30.9 2.1 51.6 2.1 42.1 0 59.1-20.7 59.1-48.9 0-29.3-23.2-48.9-60.4-48.9zm-15.1 75.6v-53.3c30.1-3.3 46.8 3.8 46.8 26.3 0 25.6-21.4 30.2-46.8 27zM301.6 181c-1-3.4-.2-6.9 1.1-9.4 1 3 2.6 6.4 7.5 9-.5-2.4-.2-5.6.5-8-1.4-5.4 2.1-9.9 6.4-9.9 6.9 0 8.5 8.8 4.7 14.4 2.1 3.2 5.5 5.6 7.7 7.8 3.2-3.7 5.5-9.5 5.5-13.8 0-8.2-5.5-15.9-16.7-16.5-20-.9-20.2 16.6-20 18.9.5 5.2 3.4 7.8 3.3 7.5zm-.4 6c-.5 1.8-7 3.7-10.2 6.9 4.8-1 7-.2 7.8 1.8.5 1.4-.2 3.4-.5 5.6 1.6-1.8 7-5.5 11-6.2-1-.3-3.4-.8-4.3-.8 2.9-3.4 9.3-4.5 12.8-3.7-2.2-.2-6.7 1.1-8.5 2.6 1.6.3 3 .6 4.3 1.1-2.1.8-4.8 3.4-5.8 6.1 7-5 13.1 5.2 7 8.2.8.2 2.7 0 3.5-.5-.3 1.1-1.9 3-3 3.4 2.9 0 7-1.9 8.2-4.6 0 0-1.8.6-2.6-.2s.3-4.3.3-4.3c-2.3 2.9-3.4-1.3-1.3-4.2-1-.3-3.5-.6-4.6-.5 3.2-1.1 10.4-1.8 11.2-.3.6 1.1-1 3.4-1 3.4 4-.5 8.3 1.1 6.7 5.1 2.9-1.4 5.5-5.9 4.8-10.4-.3 1-1.6 2.4-2.9 2.7.2-1.4-1-2.2-1.9-2.6 1.7-9.6-14.6-14.2-14.1-23.9-1 1.3-1.8 5-.8 7.1 2.7 3.2 8.7 6.7 10.1 12.2-2.6-6.4-15.1-11.4-14.6-20.2-1.6 1.6-2.6 7.8-1.3 11 2.4 1.4 4.5 3.8 4.8 6.1-2.2-5.1-11.4-6.1-13.9-12.2-.6 2.2-.3 5 1 6.7 0 0-2.2-.8-7-.6 1.7.6 5.1 3.5 4.8 5.2zm25.9 7.4c-2.7 0-3.5-2.1-4.2-4.3 3.3 1.3 4.2 4.3 4.2 4.3zm38.9 3.7l-1-.6c-1.1-1-2.9-1.4-4.7-1.4-2.9 0-5.8 1.3-7.5 3.4-.8.8-1.4 1.8-2.1 2.6v15.7c3.5 2.6 7.1-2.9 3-7.2 1.5.3 4.6 2.7 5.1 3.2 0 0 2.6-.5 5-.5 2.1 0 3.9.3 5.6 1.1V196c-1.1.5-2.2 1-2.7 1.4zM79.9 305.9c17.2-4.6 16.2-18 16.2-19.9 0-20.6-24.1-25-37-25H3l8.3 8.6v29.5H0l11.4 14.6V346L3 354.6c61.7 0 73.8 1.5 86.4-5.9 6.7-4 9.9-9.8 9.9-17.6 0-5.1 2.6-18.8-19.4-25.2zm-41.3-27.5c20 0 29.6-.8 29.6 9.1v3c0 12.1-19 8.8-29.6 8.8zm0 59.2V315c12.2 0 32.7-2.3 32.7 8.8v4.5h.2c0 11.2-12.5 9.3-32.9 9.3zm101.2-19.3l23.1.2v-.2l14.1-21.2h-37.2v-14.9h52.4l-14.1-21v-.2l-73.5.2 7.4 8.2v77.1l-7.4 8.2h81.2l14.1-21.2-60.1.2zm214.7-60.1c-73.9 0-77.5 99.3-.3 99.3 77.9 0 74.1-99.3.3-99.3zm-.3 77.5c-37.4 0-36.9-55.3.2-55.3 36.8.1 38.8 55.3-.2 55.3zm-91.3-8.3l44.1-66.2h-41.7l6.1 7.2-20.5 37.2h-.3l-21-37.2 6.4-7.2h-44.9l44.1 65.8.2 19.4-7.7 8.2h42.6l-7.2-8.2zm-28.4-151.3c1.6 1.3 2.9 2.4 2.9 6.6v38.8c0 4.2-.8 5.3-2.7 6.4-.1.1-7.5 4.5-7.9 4.6h35.1c10 0 17.4-1.5 26-8.6-.6-5 .2-9.5.8-12 0-.2-1.8 1.4-2.7 3.5 0-5.7 1.6-15.4 9.6-20.5-.1 0-3.7-.8-9 1.1 2-3.1 10-7.9 10.4-7.9-8.2-26-38-22.9-32.2-22.9-30.9 0-32.6.3-39.9-4 .1.8.5 8.2 9.6 14.9zm21.5 5.5c4.6 0 23.1-3.3 23.1 17.3 0 20.7-18.4 17.3-23.1 17.3zm228.9 79.6l7 8.3V312h-.3c-5.4-14.4-42.3-41.5-45.2-50.9h-31.6l7.4 8.5v76.9l-7.2 8.3h39l-7.4-8.2v-47.4h.3c3.7 10.6 44.5 42.9 48.5 55.6h21.3v-85.2l7.4-8.3zm-106.7-96.1c-32.2 0-32.8.2-39.9-4 .1.7.5 8.3 9.6 14.9 3.1 2 2.9 4.3 2.9 9.5 1.8-1.1 3.8-2.2 6.1-3-1.1 1.1-2.7 2.7-3.5 4.5 1-1.1 7.5-5.1 14.6-3.5-1.6.3-4 1.1-6.1 2.9.1 0 2.1-1.1 7.5-.3v-4.3c4.7 0 23.1-3.4 23.1 17.3 0 20.5-18.5 17.3-19.7 17.3 5.7 4.4 5.8 12 2.2 16.3h.3c33.4 0 36.7-27.3 36.7-34 0-3.8-1.1-32-33.8-33.6z"],dailymotion:[448,512,[],"e052","M298.93,267a48.4,48.4,0,0,0-24.36-6.21q-19.83,0-33.44,13.27t-13.61,33.42q0,21.16,13.28,34.6t33.43,13.44q20.5,0,34.11-13.78T322,307.47A47.13,47.13,0,0,0,315.9,284,44.13,44.13,0,0,0,298.93,267ZM0,32V480H448V32ZM374.71,405.26h-53.1V381.37h-.67q-15.79,26.2-55.78,26.2-27.56,0-48.89-13.1a88.29,88.29,0,0,1-32.94-35.77q-11.6-22.68-11.59-50.89,0-27.56,11.76-50.22a89.9,89.9,0,0,1,32.93-35.78q21.18-13.09,47.72-13.1a80.87,80.87,0,0,1,29.74,5.21q13.28,5.21,25,17V153l55.79-12.09Z"],dashcube:[448,512,[],"f210","M326.6 104H110.4c-51.1 0-91.2 43.3-91.2 93.5V427c0 50.5 40.1 85 91.2 85h227.2c51.1 0 91.2-34.5 91.2-85V0L326.6 104zM153.9 416.5c-17.7 0-32.4-15.1-32.4-32.8V240.8c0-17.7 14.7-32.5 32.4-32.5h140.7c17.7 0 32 14.8 32 32.5v123.5l51.1 52.3H153.9z"],deezer:[576,512,[],"e077","M451.46,244.71H576V172H451.46Zm0-173.89v72.67H576V70.82Zm0,275.06H576V273.2H451.46ZM0,447.09H124.54V374.42H0Zm150.47,0H275V374.42H150.47Zm150.52,0H425.53V374.42H301Zm150.47,0H576V374.42H451.46ZM301,345.88H425.53V273.2H301Zm-150.52,0H275V273.2H150.47Zm0-101.17H275V172H150.47Z"],delicious:[448,512,[],"f1a5","M446.5 68c-.4-1.5-.9-3-1.4-4.5-.9-2.5-2-4.8-3.3-7.1-1.4-2.4-3-4.8-4.7-6.9-2.1-2.5-4.4-4.8-6.9-6.8-1.1-.9-2.2-1.7-3.3-2.5-1.3-.9-2.6-1.7-4-2.4-1.8-1-3.6-1.8-5.5-2.5-1.7-.7-3.5-1.3-5.4-1.7-3.8-1-7.9-1.5-12-1.5H48C21.5 32 0 53.5 0 80v352c0 4.1.5 8.2 1.5 12 2 7.7 5.8 14.6 11 20.3 1 1.1 2.1 2.2 3.3 3.3 5.7 5.2 12.6 9 20.3 11 3.8 1 7.9 1.5 12 1.5h352c26.5 0 48-21.5 48-48V80c-.1-4.1-.6-8.2-1.6-12zM416 432c0 8.8-7.2 16-16 16H224V256H32V80c0-8.8 7.2-16 16-16h176v192h192z"],deploydog:[512,512,[],"f38e","M382.2 136h51.7v239.6h-51.7v-20.7c-19.8 24.8-52.8 24.1-73.8 14.7-26.2-11.7-44.3-38.1-44.3-71.8 0-29.8 14.8-57.9 43.3-70.8 20.2-9.1 52.7-10.6 74.8 12.9V136zm-64.7 161.8c0 18.2 13.6 33.5 33.2 33.5 19.8 0 33.2-16.4 33.2-32.9 0-17.1-13.7-33.2-33.2-33.2-19.6 0-33.2 16.4-33.2 32.6zM188.5 136h51.7v239.6h-51.7v-20.7c-19.8 24.8-52.8 24.1-73.8 14.7-26.2-11.7-44.3-38.1-44.3-71.8 0-29.8 14.8-57.9 43.3-70.8 20.2-9.1 52.7-10.6 74.8 12.9V136zm-64.7 161.8c0 18.2 13.6 33.5 33.2 33.5 19.8 0 33.2-16.4 33.2-32.9 0-17.1-13.7-33.2-33.2-33.2-19.7 0-33.2 16.4-33.2 32.6zM448 96c17.5 0 32 14.4 32 32v256c0 17.5-14.4 32-32 32H64c-17.5 0-32-14.4-32-32V128c0-17.5 14.4-32 32-32h384m0-32H64C28.8 64 0 92.8 0 128v256c0 35.2 28.8 64 64 64h384c35.2 0 64-28.8 64-64V128c0-35.2-28.8-64-64-64z"],deskpro:[480,512,[],"f38f","M205.9 512l31.1-38.4c12.3-.2 25.6-1.4 36.5-6.6 38.9-18.6 38.4-61.9 38.3-63.8-.1-5-.8-4.4-28.9-37.4H362c-.2 50.1-7.3 68.5-10.2 75.7-9.4 23.7-43.9 62.8-95.2 69.4-8.7 1.1-32.8 1.2-50.7 1.1zm200.4-167.7c38.6 0 58.5-13.6 73.7-30.9l-175.5-.3-17.4 31.3 119.2-.1zm-43.6-223.9v168.3h-73.5l-32.7 55.5H250c-52.3 0-58.1-56.5-58.3-58.9-1.2-13.2-21.3-11.6-20.1 1.8 1.4 15.8 8.8 40 26.4 57.1h-91c-25.5 0-110.8-26.8-107-114V16.9C0 .9 9.7.3 15 .1h82c.2 0 .3.1.5.1 4.3-.4 50.1-2.1 50.1 43.7 0 13.3 20.2 13.4 20.2 0 0-18.2-5.5-32.8-15.8-43.7h84.2c108.7-.4 126.5 79.4 126.5 120.2zm-132.5 56l64 29.3c13.3-45.5-42.2-71.7-64-29.3z"],dev:[448,512,[],"f6cc","M120.12 208.29c-3.88-2.9-7.77-4.35-11.65-4.35H91.03v104.47h17.45c3.88 0 7.77-1.45 11.65-4.35 3.88-2.9 5.82-7.25 5.82-13.06v-69.65c-.01-5.8-1.96-10.16-5.83-13.06zM404.1 32H43.9C19.7 32 .06 51.59 0 75.8v360.4C.06 460.41 19.7 480 43.9 480h360.2c24.21 0 43.84-19.59 43.9-43.8V75.8c-.06-24.21-19.7-43.8-43.9-43.8zM154.2 291.19c0 18.81-11.61 47.31-48.36 47.25h-46.4V172.98h47.38c35.44 0 47.36 28.46 47.37 47.28l.01 70.93zm100.68-88.66H201.6v38.42h32.57v29.57H201.6v38.41h53.29v29.57h-62.18c-11.16.29-20.44-8.53-20.72-19.69V193.7c-.27-11.15 8.56-20.41 19.71-20.69h63.19l-.01 29.52zm103.64 115.29c-13.2 30.75-36.85 24.63-47.44 0l-38.53-144.8h32.57l29.71 113.72 29.57-113.72h32.58l-38.46 144.8z"],deviantart:[320,512,[],"f1bd","M320 93.2l-98.2 179.1 7.4 9.5H320v127.7H159.1l-13.5 9.2-43.7 84c-.3 0-8.6 8.6-9.2 9.2H0v-93.2l93.2-179.4-7.4-9.2H0V102.5h156l13.5-9.2 43.7-84c.3 0 8.6-8.6 9.2-9.2H320v93.1z"],dhl:[640,512,[],"f790","M238 301.2h58.7L319 271h-58.7L238 301.2zM0 282.9v6.4h81.8l4.7-6.4H0zM172.9 271c-8.7 0-6-3.6-4.6-5.5 2.8-3.8 7.6-10.4 10.4-14.1 2.8-3.7 2.8-5.9-2.8-5.9h-51l-41.1 55.8h100.1c33.1 0 51.5-22.5 57.2-30.3h-68.2zm317.5-6.9l39.3-53.4h-62.2l-39.3 53.4h62.2zM95.3 271H0v6.4h90.6l4.7-6.4zm111-26.6c-2.8 3.8-7.5 10.4-10.3 14.2-1.4 2-4.1 5.5 4.6 5.5h45.6s7.3-10 13.5-18.4c8.4-11.4.7-35-29.2-35H112.6l-20.4 27.8h111.4c5.6 0 5.5 2.2 2.7 5.9zM0 301.2h73.1l4.7-6.4H0v6.4zm323 0h58.7L404 271h-58.7c-.1 0-22.3 30.2-22.3 30.2zm222 .1h95v-6.4h-90.3l-4.7 6.4zm22.3-30.3l-4.7 6.4H640V271h-72.7zm-13.5 18.3H640v-6.4h-81.5l-4.7 6.4zm-164.2-78.6l-22.5 30.6h-26.2l22.5-30.6h-58.7l-39.3 53.4H409l39.3-53.4h-58.7zm33.5 60.3s-4.3 5.9-6.4 8.7c-7.4 10-.9 21.6 23.2 21.6h94.3l22.3-30.3H423.1z"],diaspora:[512,512,[],"f791","M251.64 354.55c-1.4 0-88 119.9-88.7 119.9S76.34 414 76 413.25s86.6-125.7 86.6-127.4c0-2.2-129.6-44-137.6-47.1-1.3-.5 31.4-101.8 31.7-102.1.6-.7 144.4 47 145.5 47 .4 0 .9-.6 1-1.3.4-2 1-148.6 1.7-149.6.8-1.2 104.5-.7 105.1-.3 1.5 1 3.5 156.1 6.1 156.1 1.4 0 138.7-47 139.3-46.3.8.9 31.9 102.2 31.5 102.6-.9.9-140.2 47.1-140.6 48.8-.3 1.4 82.8 122.1 82.5 122.9s-85.5 63.5-86.3 63.5c-1-.2-89-125.5-90.9-125.5z"],digg:[512,512,[],"f1a6","M81.7 172.3H0v174.4h132.7V96h-51v76.3zm0 133.4H50.9v-92.3h30.8v92.3zm297.2-133.4v174.4h81.8v28.5h-81.8V416H512V172.3H378.9zm81.8 133.4h-30.8v-92.3h30.8v92.3zm-235.6 41h82.1v28.5h-82.1V416h133.3V172.3H225.1v174.4zm51.2-133.3h30.8v92.3h-30.8v-92.3zM153.3 96h51.3v51h-51.3V96zm0 76.3h51.3v174.4h-51.3V172.3z"],"digital-ocean":[512,512,[],"f391","M87 481.8h73.7v-73.6H87zM25.4 346.6v61.6H87v-61.6zm466.2-169.7c-23-74.2-82.4-133.3-156.6-156.6C164.9-32.8 8 93.7 8 255.9h95.8c0-101.8 101-180.5 208.1-141.7 39.7 14.3 71.5 46.1 85.8 85.7 39.1 107-39.7 207.8-141.4 208v.3h-.3V504c162.6 0 288.8-156.8 235.6-327.1zm-235.3 231v-95.3h-95.6v95.6H256v-.3z"],discord:[448,512,[],"f392","M297.216 243.2c0 15.616-11.52 28.416-26.112 28.416-14.336 0-26.112-12.8-26.112-28.416s11.52-28.416 26.112-28.416c14.592 0 26.112 12.8 26.112 28.416zm-119.552-28.416c-14.592 0-26.112 12.8-26.112 28.416s11.776 28.416 26.112 28.416c14.592 0 26.112-12.8 26.112-28.416.256-15.616-11.52-28.416-26.112-28.416zM448 52.736V512c-64.494-56.994-43.868-38.128-118.784-107.776l13.568 47.36H52.48C23.552 451.584 0 428.032 0 398.848V52.736C0 23.552 23.552 0 52.48 0h343.04C424.448 0 448 23.552 448 52.736zm-72.96 242.688c0-82.432-36.864-149.248-36.864-149.248-36.864-27.648-71.936-26.88-71.936-26.88l-3.584 4.096c43.52 13.312 63.744 32.512 63.744 32.512-60.811-33.329-132.244-33.335-191.232-7.424-9.472 4.352-15.104 7.424-15.104 7.424s21.248-20.224 67.328-33.536l-2.56-3.072s-35.072-.768-71.936 26.88c0 0-36.864 66.816-36.864 149.248 0 0 21.504 37.12 78.08 38.912 0 0 9.472-11.52 17.152-21.248-32.512-9.728-44.8-30.208-44.8-30.208 3.766 2.636 9.976 6.053 10.496 6.4 43.21 24.198 104.588 32.126 159.744 8.96 8.96-3.328 18.944-8.192 29.44-15.104 0 0-12.8 20.992-46.336 30.464 7.68 9.728 16.896 20.736 16.896 20.736 56.576-1.792 78.336-38.912 78.336-38.912z"],discourse:[448,512,[],"f393","M225.9 32C103.3 32 0 130.5 0 252.1 0 256 .1 480 .1 480l225.8-.2c122.7 0 222.1-102.3 222.1-223.9C448 134.3 348.6 32 225.9 32zM224 384c-19.4 0-37.9-4.3-54.4-12.1L88.5 392l22.9-75c-9.8-18.1-15.4-38.9-15.4-61 0-70.7 57.3-128 128-128s128 57.3 128 128-57.3 128-128 128z"],dochub:[416,512,[],"f394","M397.9 160H256V19.6L397.9 160zM304 192v130c0 66.8-36.5 100.1-113.3 100.1H96V84.8h94.7c12 0 23.1.8 33.1 2.5v-84C212.9 1.1 201.4 0 189.2 0H0v512h189.2C329.7 512 400 447.4 400 318.1V192h-96z"],docker:[640,512,[],"f395","M349.9 236.3h-66.1v-59.4h66.1v59.4zm0-204.3h-66.1v60.7h66.1V32zm78.2 144.8H362v59.4h66.1v-59.4zm-156.3-72.1h-66.1v60.1h66.1v-60.1zm78.1 0h-66.1v60.1h66.1v-60.1zm276.8 100c-14.4-9.7-47.6-13.2-73.1-8.4-3.3-24-16.7-44.9-41.1-63.7l-14-9.3-9.3 14c-18.4 27.8-23.4 73.6-3.7 103.8-8.7 4.7-25.8 11.1-48.4 10.7H2.4c-8.7 50.8 5.8 116.8 44 162.1 37.1 43.9 92.7 66.2 165.4 66.2 157.4 0 273.9-72.5 328.4-204.2 21.4.4 67.6.1 91.3-45.2 1.5-2.5 6.6-13.2 8.5-17.1l-13.3-8.9zm-511.1-27.9h-66v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm-78.1-72.1h-66.1v60.1h66.1v-60.1z"],draft2digital:[480,512,[],"f396","M480 398.1l-144-82.2v64.7h-91.3c30.8-35 81.8-95.9 111.8-149.3 35.2-62.6 16.1-123.4-12.8-153.3-4.4-4.6-62.2-62.9-166-41.2-59.1 12.4-89.4 43.4-104.3 67.3-13.1 20.9-17 39.8-18.2 47.7-5.5 33 19.4 67.1 56.7 67.1 31.7 0 57.3-25.7 57.3-57.4 0-27.1-19.7-52.1-48-56.8 1.8-7.3 17.7-21.1 26.3-24.7 41.1-17.3 78 5.2 83.3 33.5 8.3 44.3-37.1 90.4-69.7 127.6C84.5 328.1 18.3 396.8 0 415.9l336-.1V480zM369.9 371l47.1 27.2-47.1 27.2zM134.2 161.4c0 12.4-10 22.4-22.4 22.4s-22.4-10-22.4-22.4 10-22.4 22.4-22.4 22.4 10.1 22.4 22.4zM82.5 380.5c25.6-27.4 97.7-104.7 150.8-169.9 35.1-43.1 40.3-82.4 28.4-112.7-7.4-18.8-17.5-30.2-24.3-35.7 45.3 2.1 68 23.4 82.2 38.3 0 0 42.4 48.2 5.8 113.3-37 65.9-110.9 147.5-128.5 166.7z"],dribbble:[512,512,[],"f17d","M256 8C119.252 8 8 119.252 8 256s111.252 248 248 248 248-111.252 248-248S392.748 8 256 8zm163.97 114.366c29.503 36.046 47.369 81.957 47.835 131.955-6.984-1.477-77.018-15.682-147.502-6.818-5.752-14.041-11.181-26.393-18.617-41.614 78.321-31.977 113.818-77.482 118.284-83.523zM396.421 97.87c-3.81 5.427-35.697 48.286-111.021 76.519-34.712-63.776-73.185-116.168-79.04-124.008 67.176-16.193 137.966 1.27 190.061 47.489zm-230.48-33.25c5.585 7.659 43.438 60.116 78.537 122.509-99.087 26.313-186.36 25.934-195.834 25.809C62.38 147.205 106.678 92.573 165.941 64.62zM44.17 256.323c0-2.166.043-4.322.108-6.473 9.268.19 111.92 1.513 217.706-30.146 6.064 11.868 11.857 23.915 17.174 35.949-76.599 21.575-146.194 83.527-180.531 142.306C64.794 360.405 44.17 310.73 44.17 256.323zm81.807 167.113c22.127-45.233 82.178-103.622 167.579-132.756 29.74 77.283 42.039 142.053 45.189 160.638-68.112 29.013-150.015 21.053-212.768-27.882zm248.38 8.489c-2.171-12.886-13.446-74.897-41.152-151.033 66.38-10.626 124.7 6.768 131.947 9.055-9.442 58.941-43.273 109.844-90.795 141.978z"],"dribbble-square":[448,512,[],"f397","M90.2 228.2c8.9-42.4 37.4-77.7 75.7-95.7 3.6 4.9 28 38.8 50.7 79-64 17-120.3 16.8-126.4 16.7zM314.6 154c-33.6-29.8-79.3-41.1-122.6-30.6 3.8 5.1 28.6 38.9 51 80 48.6-18.3 69.1-45.9 71.6-49.4zM140.1 364c40.5 31.6 93.3 36.7 137.3 18-2-12-10-53.8-29.2-103.6-55.1 18.8-93.8 56.4-108.1 85.6zm98.8-108.2c-3.4-7.8-7.2-15.5-11.1-23.2C159.6 253 93.4 252.2 87.4 252c0 1.4-.1 2.8-.1 4.2 0 35.1 13.3 67.1 35.1 91.4 22.2-37.9 67.1-77.9 116.5-91.8zm34.9 16.3c17.9 49.1 25.1 89.1 26.5 97.4 30.7-20.7 52.5-53.6 58.6-91.6-4.6-1.5-42.3-12.7-85.1-5.8zm-20.3-48.4c4.8 9.8 8.3 17.8 12 26.8 45.5-5.7 90.7 3.4 95.2 4.4-.3-32.3-11.8-61.9-30.9-85.1-2.9 3.9-25.8 33.2-76.3 53.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-64 176c0-88.2-71.8-160-160-160S64 167.8 64 256s71.8 160 160 160 160-71.8 160-160z"],dropbox:[528,512,[],"f16b","M264.4 116.3l-132 84.3 132 84.3-132 84.3L0 284.1l132.3-84.3L0 116.3 132.3 32l132.1 84.3zM131.6 395.7l132-84.3 132 84.3-132 84.3-132-84.3zm132.8-111.6l132-84.3-132-83.6L395.7 32 528 116.3l-132.3 84.3L528 284.8l-132.3 84.3-131.3-85z"],drupal:[448,512,[],"f1a9","M319.5 114.7c-22.2-14-43.5-19.5-64.7-33.5-13-8.8-31.3-30-46.5-48.3-2.7 29.3-11.5 41.2-22 49.5-21.3 17-34.8 22.2-53.5 32.3C117 123 32 181.5 32 290.5 32 399.7 123.8 480 225.8 480 327.5 480 416 406 416 294c0-112.3-83-171-96.5-179.3zm2.5 325.6c-20.1 20.1-90.1 28.7-116.7 4.2-4.8-4.8.3-12 6.5-12 0 0 17 13.3 51.5 13.3 27 0 46-7.7 54.5-14 6.1-4.6 8.4 4.3 4.2 8.5zm-54.5-52.6c8.7-3.6 29-3.8 36.8 1.3 4.1 2.8 16.1 18.8 6.2 23.7-8.4 4.2-1.2-15.7-26.5-15.7-14.7 0-19.5 5.2-26.7 11-7 6-9.8 8-12.2 4.7-6-8.2 15.9-22.3 22.4-25zM360 405c-15.2-1-45.5-48.8-65-49.5-30.9-.9-104.1 80.7-161.3 42-38.8-26.6-14.6-104.8 51.8-105.2 49.5-.5 83.8 49 108.5 48.5 21.3-.3 61.8-41.8 81.8-41.8 48.7 0 23.3 109.3-15.8 106z"],dyalog:[416,512,[],"f399","M0 32v119.2h64V96h107.2C284.6 96 352 176.2 352 255.9 352 332 293.4 416 171.2 416H0v64h171.2C331.9 480 416 367.3 416 255.9c0-58.7-22.1-113.4-62.3-154.3C308.9 56 245.7 32 171.2 32H0z"],earlybirds:[480,512,[],"f39a","M313.2 47.5c1.2-13 21.3-14 36.6-8.7.9.3 26.2 9.7 19 15.2-27.9-7.4-56.4 18.2-55.6-6.5zm-201 6.9c30.7-8.1 62 20 61.1-7.1-1.3-14.2-23.4-15.3-40.2-9.6-1 .3-28.7 10.5-20.9 16.7zM319.4 160c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-159.7 0c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm318.5 163.2c-9.9 24-40.7 11-63.9-1.2-13.5 69.1-58.1 111.4-126.3 124.2.3.9-2-.1 24 1 33.6 1.4 63.8-3.1 97.4-8-19.8-13.8-11.4-37.1-9.8-38.1 1.4-.9 14.7 1.7 21.6 11.5 8.6-12.5 28.4-14.8 30.2-13.6 1.6 1.1 6.6 20.9-6.9 34.6 4.7-.9 8.2-1.6 9.8-2.1 2.6-.8 17.7 11.3 3.1 13.3-14.3 2.3-22.6 5.1-47.1 10.8-45.9 10.7-85.9 11.8-117.7 12.8l1 11.6c3.8 18.1-23.4 24.3-27.6 6.2.8 17.9-27.1 21.8-28.4-1l-.5 5.3c-.7 18.4-28.4 17.9-28.3-.6-7.5 13.5-28.1 6.8-26.4-8.5l1.2-12.4c-36.7.9-59.7 3.1-61.8 3.1-20.9 0-20.9-31.6 0-31.6 2.4 0 27.7 1.3 63.2 2.8-61.1-15.5-103.7-55-114.9-118.2-25 12.8-57.5 26.8-68.2.8-10.5-25.4 21.5-42.6 66.8-73.4.7-6.6 1.6-13.3 2.7-19.8-14.4-19.6-11.6-36.3-16.1-60.4-16.8 2.4-23.2-9.1-23.6-23.1.3-7.3 2.1-14.9 2.4-15.4 1.1-1.8 10.1-2 12.7-2.6 6-31.7 50.6-33.2 90.9-34.5 19.7-21.8 45.2-41.5 80.9-48.3C203.3 29 215.2 8.5 216.2 8c1.7-.8 21.2 4.3 26.3 23.2 5.2-8.8 18.3-11.4 19.6-10.7 1.1.6 6.4 15-4.9 25.9 40.3 3.5 72.2 24.7 96 50.7 36.1 1.5 71.8 5.9 77.1 34 2.7.6 11.6.8 12.7 2.6.3.5 2.1 8.1 2.4 15.4-.5 13.9-6.8 25.4-23.6 23.1-3.2 17.3-2.7 32.9-8.7 47.7 2.4 11.7 4 23.8 4.8 36.4 37 25.4 70.3 42.5 60.3 66.9zM207.4 159.9c.9-44-37.9-42.2-78.6-40.3-21.7 1-38.9 1.9-45.5 13.9-11.4 20.9 5.9 92.9 23.2 101.2 9.8 4.7 73.4 7.9 86.3-7.1 8.2-9.4 15-49.4 14.6-67.7zm52 58.3c-4.3-12.4-6-30.1-15.3-32.7-2-.5-9-.5-11 0-10 2.8-10.8 22.1-17 37.2 15.4 0 19.3 9.7 23.7 9.7 4.3 0 6.3-11.3 19.6-14.2zm135.7-84.7c-6.6-12.1-24.8-12.9-46.5-13.9-40.2-1.9-78.2-3.8-77.3 40.3-.5 18.3 5 58.3 13.2 67.8 13 14.9 76.6 11.8 86.3 7.1 15.8-7.6 36.5-78.9 24.3-101.3z"],ebay:[640,512,[],"f4f4","M606 189.5l-54.8 109.9-54.9-109.9h-37.5l10.9 20.6c-11.5-19-35.9-26-63.3-26-31.8 0-67.9 8.7-71.5 43.1h33.7c1.4-13.8 15.7-21.8 35-21.8 26 0 41 9.6 41 33v3.4c-12.7 0-28 .1-41.7.4-42.4.9-69.6 10-76.7 34.4 1-5.2 1.5-10.6 1.5-16.2 0-52.1-39.7-76.2-75.4-76.2-21.3 0-43 5.5-58.7 24.2v-80.6h-32.1v169.5c0 10.3-.6 22.9-1.1 33.1h31.5c.7-6.3 1.1-12.9 1.1-19.5 13.6 16.6 35.4 24.9 58.7 24.9 36.9 0 64.9-21.9 73.3-54.2-.5 2.8-.7 5.8-.7 9 0 24.1 21.1 45 60.6 45 26.6 0 45.8-5.7 61.9-25.5 0 6.6.3 13.3 1.1 20.2h29.8c-.7-8.2-1-17.5-1-26.8v-65.6c0-9.3-1.7-17.2-4.8-23.8l61.5 116.1-28.5 54.1h35.9L640 189.5zM243.7 313.8c-29.6 0-50.2-21.5-50.2-53.8 0-32.4 20.6-53.8 50.2-53.8 29.8 0 50.2 21.4 50.2 53.8 0 32.3-20.4 53.8-50.2 53.8zm200.9-47.3c0 30-17.9 48.4-51.6 48.4-25.1 0-35-13.4-35-25.8 0-19.1 18.1-24.4 47.2-25.3 13.1-.5 27.6-.6 39.4-.6zm-411.9 1.6h128.8v-8.5c0-51.7-33.1-75.4-78.4-75.4-56.8 0-83 30.8-83 77.6 0 42.5 25.3 74 82.5 74 31.4 0 68-11.7 74.4-46.1h-33.1c-12 35.8-87.7 36.7-91.2-21.6zm95-21.4H33.3c6.9-56.6 92.1-54.7 94.4 0z"],edge:[512,512,[],"f282","M481.92,134.48C440.87,54.18,352.26,8,255.91,8,137.05,8,37.51,91.68,13.47,203.66c26-46.49,86.22-79.14,149.46-79.14,79.27,0,121.09,48.93,122.25,50.18,22,23.8,33,50.39,33,83.1,0,10.4-5.31,25.82-15.11,38.57-1.57,2-6.39,4.84-6.39,11,0,5.06,3.29,9.92,9.14,14,27.86,19.37,80.37,16.81,80.51,16.81A115.39,115.39,0,0,0,444.94,322a118.92,118.92,0,0,0,58.95-102.44C504.39,176.13,488.39,147.26,481.92,134.48ZM212.77,475.67a154.88,154.88,0,0,1-46.64-45c-32.94-47.42-34.24-95.6-20.1-136A155.5,155.5,0,0,1,203,215.75c59-45.2,94.84-5.65,99.06-1a80,80,0,0,0-4.89-10.14c-9.24-15.93-24-36.41-56.56-53.51-33.72-17.69-70.59-18.59-77.64-18.59-38.71,0-77.9,13-107.53,35.69C35.68,183.3,12.77,208.72,8.6,243c-1.08,12.31-2.75,62.8,23,118.27a248,248,0,0,0,248.3,141.61C241.78,496.26,214.05,476.24,212.77,475.67Zm250.72-98.33a7.76,7.76,0,0,0-7.92-.23,181.66,181.66,0,0,1-20.41,9.12,197.54,197.54,0,0,1-69.55,12.52c-91.67,0-171.52-63.06-171.52-144A61.12,61.12,0,0,1,200.61,228,168.72,168.72,0,0,0,161.85,278c-14.92,29.37-33,88.13,13.33,151.66,6.51,8.91,23,30,56,47.67,23.57,12.65,49,19.61,71.7,19.61,35.14,0,115.43-33.44,163-108.87A7.75,7.75,0,0,0,463.49,377.34Z"],"edge-legacy":[512,512,[],"e078","M25.71,228.16l.35-.48c0,.16,0,.32-.07.48Zm460.58,15.51c0-44-7.76-84.46-28.81-122.4C416.5,47.88,343.91,8,258.89,8,119,7.72,40.62,113.21,26.06,227.68c42.42-61.31,117.07-121.38,220.37-125,0,0,109.67,0,99.42,105H170c6.37-37.39,18.55-59,34.34-78.93-75.05,34.9-121.85,96.1-120.75,188.32.83,71.45,50.13,144.84,120.75,172,83.35,31.84,192.77,7.2,240.13-21.33V363.31C363.6,419.8,173.6,424.23,172.21,295.74H486.29V243.67Z"],elementor:[448,512,[],"f430","M425.6 32H22.4C10 32 0 42 0 54.4v403.2C0 470 10 480 22.4 480h403.2c12.4 0 22.4-10 22.4-22.4V54.4C448 42 438 32 425.6 32M164.3 355.5h-39.8v-199h39.8v199zm159.3 0H204.1v-39.8h119.5v39.8zm0-79.6H204.1v-39.8h119.5v39.8zm0-79.7H204.1v-39.8h119.5v39.8z"],ello:[496,512,[],"f5f1","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm143.84 285.2C375.31 358.51 315.79 404.8 248 404.8s-127.31-46.29-143.84-111.6c-1.65-7.44 2.48-15.71 9.92-17.36 7.44-1.65 15.71 2.48 17.36 9.92 14.05 52.91 62 90.11 116.56 90.11s102.51-37.2 116.56-90.11c1.65-7.44 9.92-12.4 17.36-9.92 7.44 1.65 12.4 9.92 9.92 17.36z"],ember:[640,512,[],"f423","M639.9 254.6c-1.1-10.7-10.7-6.8-10.7-6.8s-15.6 12.1-29.3 10.7c-13.7-1.3-9.4-32-9.4-32s3-28.1-5.1-30.4c-8.1-2.4-18 7.3-18 7.3s-12.4 13.7-18.3 31.2l-1.6.5s1.9-30.6-.3-37.6c-1.6-3.5-16.4-3.2-18.8 3s-14.2 49.2-15 67.2c0 0-23.1 19.6-43.3 22.8s-25-9.4-25-9.4 54.8-15.3 52.9-59.1-44.2-27.6-49-24c-4.6 3.5-29.4 18.4-36.6 59.7-.2 1.4-.7 7.5-.7 7.5s-21.2 14.2-33 18c0 0 33-55.6-7.3-80.9-11.4-6.8-21.3-.5-27.2 5.3 13.6-17.3 46.4-64.2 36.9-105.2-5.8-24.4-18-27.1-29.2-23.1-17 6.7-23.5 16.7-23.5 16.7s-22 32-27.1 79.5-12.6 105.1-12.6 105.1-10.5 10.2-20.2 10.7-5.4-28.7-5.4-28.7 7.5-44.6 7-52.1-1.1-11.6-9.9-14.2c-8.9-2.7-18.5 8.6-18.5 8.6s-25.5 38.7-27.7 44.6l-1.3 2.4-1.3-1.6s18-52.7.8-53.5-28.5 18.8-28.5 18.8-19.6 32.8-20.4 36.5l-1.3-1.6s8.1-38.2 6.4-47.6c-1.6-9.4-10.5-7.5-10.5-7.5s-11.3-1.3-14.2 5.9-13.7 55.3-15 70.7c0 0-28.2 20.2-46.8 20.4-18.5.3-16.7-11.8-16.7-11.8s68-23.3 49.4-69.2c-8.3-11.8-18-15.5-31.7-15.3-13.7.3-30.3 8.6-41.3 33.3-5.3 11.8-6.8 23-7.8 31.5 0 0-12.3 2.4-18.8-2.9s-10 0-10 0-11.2 14-.1 18.3 28.1 6.1 28.1 6.1c1.6 7.5 6.2 19.5 19.6 29.7 20.2 15.3 58.8-1.3 58.8-1.3l15.9-8.8s.5 14.6 12.1 16.7 16.4 1 36.5-47.9c11.8-25 12.6-23.6 12.6-23.6l1.3-.3s-9.1 46.8-5.6 59.7C187.7 319.4 203 318 203 318s8.3 2.4 15-21.2 19.6-49.9 19.6-49.9h1.6s-5.6 48.1 3 63.7 30.9 5.3 30.9 5.3 15.6-7.8 18-10.2c0 0 18.5 15.8 44.6 12.9 58.3-11.5 79.1-25.9 79.1-25.9s10 24.4 41.1 26.7c35.5 2.7 54.8-18.6 54.8-18.6s-.3 13.5 12.1 18.6 20.7-22.8 20.7-22.8l20.7-57.2h1.9s1.1 37.3 21.5 43.2 47-13.7 47-13.7 6.4-3.5 5.3-14.3zm-578 5.3c.8-32 21.8-45.9 29-39 7.3 7 4.6 22-9.1 31.4-13.7 9.5-19.9 7.6-19.9 7.6zm272.8-123.8s19.1-49.7 23.6-25.5-40 96.2-40 96.2c.5-16.2 16.4-70.7 16.4-70.7zm22.8 138.4c-12.6 33-43.3 19.6-43.3 19.6s-3.5-11.8 6.4-44.9 33.3-20.2 33.3-20.2 16.2 12.4 3.6 45.5zm84.6-14.6s-3-10.5 8.1-30.6c11-20.2 19.6-9.1 19.6-9.1s9.4 10.2-1.3 25.5-26.4 14.2-26.4 14.2z"],empire:[496,512,[],"f1d1","M287.6 54.2c-10.8-2.2-22.1-3.3-33.5-3.6V32.4c78.1 2.2 146.1 44 184.6 106.6l-15.8 9.1c-6.1-9.7-12.7-18.8-20.2-27.1l-18 15.5c-26-29.6-61.4-50.7-101.9-58.4l4.8-23.9zM53.4 322.4l23-7.7c-6.4-18.3-10-38.2-10-58.7s3.3-40.4 9.7-58.7l-22.7-7.7c3.6-10.8 8.3-21.3 13.6-31l-15.8-9.1C34 181 24.1 217.5 24.1 256s10 75 27.1 106.6l15.8-9.1c-5.3-10-9.7-20.3-13.6-31.1zM213.1 434c-40.4-8-75.8-29.1-101.9-58.7l-18 15.8c-7.5-8.6-14.4-17.7-20.2-27.4l-16 9.4c38.5 62.3 106.8 104.3 184.9 106.6v-18.3c-11.3-.3-22.7-1.7-33.5-3.6l4.7-23.8zM93.3 120.9l18 15.5c26-29.6 61.4-50.7 101.9-58.4l-4.7-23.8c10.8-2.2 22.1-3.3 33.5-3.6V32.4C163.9 34.6 95.9 76.4 57.4 139l15.8 9.1c6-9.7 12.6-18.9 20.1-27.2zm309.4 270.2l-18-15.8c-26 29.6-61.4 50.7-101.9 58.7l4.7 23.8c-10.8 1.9-22.1 3.3-33.5 3.6v18.3c78.1-2.2 146.4-44.3 184.9-106.6l-16.1-9.4c-5.7 9.7-12.6 18.8-20.1 27.4zM496 256c0 137-111 248-248 248S0 393 0 256 111 8 248 8s248 111 248 248zm-12.2 0c0-130.1-105.7-235.8-235.8-235.8S12.2 125.9 12.2 256 117.9 491.8 248 491.8 483.8 386.1 483.8 256zm-39-106.6l-15.8 9.1c5.3 9.7 10 20.2 13.6 31l-22.7 7.7c6.4 18.3 9.7 38.2 9.7 58.7s-3.6 40.4-10 58.7l23 7.7c-3.9 10.8-8.3 21-13.6 31l15.8 9.1C462 331 471.9 294.5 471.9 256s-9.9-75-27.1-106.6zm-183 177.7c16.3-3.3 30.4-11.6 40.7-23.5l51.2 44.8c11.9-13.6 21.3-29.3 27.1-46.8l-64.2-22.1c2.5-7.5 3.9-15.2 3.9-23.5s-1.4-16.1-3.9-23.5l64.5-22.1c-6.1-17.4-15.5-33.2-27.4-46.8l-51.2 44.8c-10.2-11.9-24.4-20.5-40.7-23.8l13.3-66.4c-8.6-1.9-17.7-2.8-27.1-2.8-9.4 0-18.5.8-27.1 2.8l13.3 66.4c-16.3 3.3-30.4 11.9-40.7 23.8l-51.2-44.8c-11.9 13.6-21.3 29.3-27.4 46.8l64.5 22.1c-2.5 7.5-3.9 15.2-3.9 23.5s1.4 16.1 3.9 23.5l-64.2 22.1c5.8 17.4 15.2 33.2 27.1 46.8l51.2-44.8c10.2 11.9 24.4 20.2 40.7 23.5l-13.3 66.7c8.6 1.7 17.7 2.8 27.1 2.8 9.4 0 18.5-1.1 27.1-2.8l-13.3-66.7z"],envira:[448,512,[],"f299","M0 32c477.6 0 366.6 317.3 367.1 366.3L448 480h-26l-70.4-71.2c-39 4.2-124.4 34.5-214.4-37C47 300.3 52 214.7 0 32zm79.7 46c-49.7-23.5-5.2 9.2-5.2 9.2 45.2 31.2 66 73.7 90.2 119.9 31.5 60.2 79 139.7 144.2 167.7 65 28 34.2 12.5 6-8.5-28.2-21.2-68.2-87-91-130.2-31.7-60-61-118.6-144.2-158.1z"],erlang:[640,512,[],"f39d","M87.2 53.5H0v405h100.4c-49.7-52.6-78.8-125.3-78.7-212.1-.1-76.7 24-142.7 65.5-192.9zm238.2 9.7c-45.9.1-85.1 33.5-89.2 83.2h169.9c-1.1-49.7-34.5-83.1-80.7-83.2zm230.7-9.6h.3l-.1-.1zm.3 0c31.4 42.7 48.7 97.5 46.2 162.7.5 6 .5 11.7 0 24.1H230.2c-.2 109.7 38.9 194.9 138.6 195.3 68.5-.3 118-51 151.9-106.1l96.4 48.2c-17.4 30.9-36.5 57.8-57.9 80.8H640v-405z"],ethereum:[320,512,[],"f42e","M311.9 260.8L160 353.6 8 260.8 160 0l151.9 260.8zM160 383.4L8 290.6 160 512l152-221.4-152 92.8z"],etsy:[384,512,[],"f2d7","M384 348c-1.75 10.75-13.75 110-15.5 132-117.879-4.299-219.895-4.743-368.5 0v-25.5c45.457-8.948 60.627-8.019 61-35.25 1.793-72.322 3.524-244.143 0-322-1.029-28.46-12.13-26.765-61-36v-25.5c73.886 2.358 255.933 8.551 362.999-3.75-3.5 38.25-7.75 126.5-7.75 126.5H332C320.947 115.665 313.241 68 277.25 68h-137c-10.25 0-10.75 3.5-10.75 9.75V241.5c58 .5 88.5-2.5 88.5-2.5 29.77-.951 27.56-8.502 40.75-65.251h25.75c-4.407 101.351-3.91 61.829-1.75 160.25H257c-9.155-40.086-9.065-61.045-39.501-61.5 0 0-21.5-2-88-2v139c0 26 14.25 38.25 44.25 38.25H263c63.636 0 66.564-24.996 98.751-99.75H384z"],evernote:[384,512,[],"f839","M120.82 132.21c1.6 22.31-17.55 21.59-21.61 21.59-68.93 0-73.64-1-83.58 3.34-.56.22-.74 0-.37-.37L123.79 46.45c.38-.37.6-.22.38.37-4.35 9.99-3.35 15.09-3.35 85.39zm79 308c-14.68-37.08 13-76.93 52.52-76.62 17.49 0 22.6 23.21 7.95 31.42-6.19 3.3-24.95 1.74-25.14 19.2-.05 17.09 19.67 25 31.2 24.89A45.64 45.64 0 0 0 312 393.45v-.08c0-11.63-7.79-47.22-47.54-55.34-7.72-1.54-65-6.35-68.35-50.52-3.74 16.93-17.4 63.49-43.11 69.09-8.74 1.94-69.68 7.64-112.92-36.77 0 0-18.57-15.23-28.23-57.95-3.38-15.75-9.28-39.7-11.14-62 0-18 11.14-30.45 25.07-32.2 81 0 90 2.32 101-7.8 9.82-9.24 7.8-15.5 7.8-102.78 1-8.3 7.79-30.81 53.41-24.14 6 .86 31.91 4.18 37.48 30.64l64.26 11.15c20.43 3.71 70.94 7 80.6 57.94 22.66 121.09 8.91 238.46 7.8 238.46C362.15 485.53 267.06 480 267.06 480c-18.95-.23-54.25-9.4-67.27-39.83zm80.94-204.84c-1 1.92-2.2 6 .85 7 14.09 4.93 39.75 6.84 45.88 5.53 3.11-.25 3.05-4.43 2.48-6.65-3.53-21.85-40.83-26.5-49.24-5.92z"],expeditedssl:[496,512,[],"f23e","M248 43.4C130.6 43.4 35.4 138.6 35.4 256S130.6 468.6 248 468.6 460.6 373.4 460.6 256 365.4 43.4 248 43.4zm-97.4 132.9c0-53.7 43.7-97.4 97.4-97.4s97.4 43.7 97.4 97.4v26.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-26.6c0-82.1-124-82.1-124 0v26.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-26.6zM389.7 380c0 9.7-8 17.7-17.7 17.7H124c-9.7 0-17.7-8-17.7-17.7V238.3c0-9.7 8-17.7 17.7-17.7h248c9.7 0 17.7 8 17.7 17.7V380zm-248-137.3v132.9c0 2.5-1.9 4.4-4.4 4.4h-8.9c-2.5 0-4.4-1.9-4.4-4.4V242.7c0-2.5 1.9-4.4 4.4-4.4h8.9c2.5 0 4.4 1.9 4.4 4.4zm141.7 48.7c0 13-7.2 24.4-17.7 30.4v31.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-31.6c-10.5-6.1-17.7-17.4-17.7-30.4 0-19.7 15.8-35.4 35.4-35.4s35.5 15.8 35.5 35.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 478.3C121 486.3 17.7 383 17.7 256S121 25.7 248 25.7 478.3 129 478.3 256 375 486.3 248 486.3z"],facebook:[512,512,[],"f09a","M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z"],"facebook-f":[320,512,[],"f39e","M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"],"facebook-messenger":[512,512,[],"f39f","M256.55 8C116.52 8 8 110.34 8 248.57c0 72.3 29.71 134.78 78.07 177.94 8.35 7.51 6.63 11.86 8.05 58.23A19.92 19.92 0 0 0 122 502.31c52.91-23.3 53.59-25.14 62.56-22.7C337.85 521.8 504 423.7 504 248.57 504 110.34 396.59 8 256.55 8zm149.24 185.13l-73 115.57a37.37 37.37 0 0 1-53.91 9.93l-58.08-43.47a15 15 0 0 0-18 0l-78.37 59.44c-10.46 7.93-24.16-4.6-17.11-15.67l73-115.57a37.36 37.36 0 0 1 53.91-9.93l58.06 43.46a15 15 0 0 0 18 0l78.41-59.38c10.44-7.98 24.14 4.54 17.09 15.62z"],"facebook-square":[448,512,[],"f082","M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z"],"fantasy-flight-games":[512,512,[],"f6dc","M256 32.86L32.86 256 256 479.14 479.14 256 256 32.86zM88.34 255.83c1.96-2 11.92-12.3 96.49-97.48 41.45-41.75 86.19-43.77 119.77-18.69 24.63 18.4 62.06 58.9 62.15 59 .68.74 1.07 2.86.58 3.38-11.27 11.84-22.68 23.54-33.5 34.69-34.21-32.31-40.52-38.24-48.51-43.95-17.77-12.69-41.4-10.13-56.98 5.1-2.17 2.13-1.79 3.43.12 5.35 2.94 2.95 28.1 28.33 35.09 35.78-11.95 11.6-23.66 22.97-35.69 34.66-12.02-12.54-24.48-25.53-36.54-38.11-21.39 21.09-41.69 41.11-61.85 60.99a42569.01 42569.01 0 0 1-41.13-40.72zm234.82 101.6c-35.49 35.43-78.09 38.14-106.99 20.47-22.08-13.5-39.38-32.08-72.93-66.84 12.05-12.37 23.79-24.42 35.37-36.31 33.02 31.91 37.06 36.01 44.68 42.09 18.48 14.74 42.52 13.67 59.32-1.8 3.68-3.39 3.69-3.64.14-7.24-10.59-10.73-21.19-21.44-31.77-32.18-1.32-1.34-3.03-2.48-.8-4.69 10.79-10.71 21.48-21.52 32.21-32.29.26-.26.65-.38 1.91-1.07 12.37 12.87 24.92 25.92 37.25 38.75 21.01-20.73 41.24-40.68 61.25-60.42 13.68 13.4 27.13 26.58 40.86 40.03-20.17 20.86-81.68 82.71-100.5 101.5zM256 0L0 256l256 256 256-256L256 0zM16 256L256 16l240 240-240 240L16 256z"],fedex:[640,512,[],"f797","M586 284.5l53.3-59.9h-62.4l-21.7 24.8-22.5-24.8H414v-16h56.1v-48.1H318.9V236h-.5c-9.6-11-21.5-14.8-35.4-14.8-28.4 0-49.8 19.4-57.3 44.9-18-59.4-97.4-57.6-121.9-14v-24.2H49v-26.2h60v-41.1H0V345h49v-77.5h48.9c-1.5 5.7-2.3 11.8-2.3 18.2 0 73.1 102.6 91.4 130.2 23.7h-42c-14.7 20.9-45.8 8.9-45.8-14.6h85.5c3.7 30.5 27.4 56.9 60.1 56.9 14.1 0 27-6.9 34.9-18.6h.5V345h212.2l22.1-25 22.3 25H640l-54-60.5zm-446.7-16.6c6.1-26.3 41.7-25.6 46.5 0h-46.5zm153.4 48.9c-34.6 0-34-62.8 0-62.8 32.6 0 34.5 62.8 0 62.8zm167.8 19.1h-94.4V169.4h95v30.2H405v33.9h55.5v28.1h-56.1v44.7h56.1v29.6zm-45.9-39.8v-24.4h56.1v-44l50.7 57-50.7 57v-45.6h-56.1zm138.6 10.3l-26.1 29.5H489l45.6-51.2-45.6-51.2h39.7l26.6 29.3 25.6-29.3h38.5l-45.4 51 46 51.4h-40.5l-26.3-29.5z"],fedora:[448,512,[],"f798","M225 32C101.3 31.7.8 131.7.4 255.4L0 425.7a53.6 53.6 0 0 0 53.6 53.9l170.2.4c123.7.3 224.3-99.7 224.6-223.4S348.7 32.3 225 32zm169.8 157.2L333 126.6c2.3-4.7 3.8-9.2 3.8-14.3v-1.6l55.2 56.1a101 101 0 0 1 2.8 22.4zM331 94.3a106.06 106.06 0 0 1 58.5 63.8l-54.3-54.6a26.48 26.48 0 0 0-4.2-9.2zM118.1 247.2a49.66 49.66 0 0 0-7.7 11.4l-8.5-8.5a85.78 85.78 0 0 1 16.2-2.9zM97 251.4l11.8 11.9-.9 8a34.74 34.74 0 0 0 2.4 12.5l-27-27.2a80.6 80.6 0 0 1 13.7-5.2zm-18.2 7.4l38.2 38.4a53.17 53.17 0 0 0-14.1 4.7L67.6 266a107 107 0 0 1 11.2-7.2zm-15.2 9.8l35.3 35.5a67.25 67.25 0 0 0-10.5 8.5L53.5 278a64.33 64.33 0 0 1 10.1-9.4zm-13.3 12.3l34.9 35a56.84 56.84 0 0 0-7.7 11.4l-35.8-35.9c2.8-3.8 5.7-7.2 8.6-10.5zm-11 14.3l36.4 36.6a48.29 48.29 0 0 0-3.6 15.2l-39.5-39.8a99.81 99.81 0 0 1 6.7-12zm-8.8 16.3l41.3 41.8a63.47 63.47 0 0 0 6.7 26.2L25.8 326c1.4-4.9 2.9-9.6 4.7-14.5zm-7.9 43l61.9 62.2a31.24 31.24 0 0 0-3.6 14.3v1.1l-55.4-55.7a88.27 88.27 0 0 1-2.9-21.9zm5.3 30.7l54.3 54.6a28.44 28.44 0 0 0 4.2 9.2 106.32 106.32 0 0 1-58.5-63.8zm-5.3-37a80.69 80.69 0 0 1 2.1-17l72.2 72.5a37.59 37.59 0 0 0-9.9 8.7zm253.3-51.8l-42.6-.1-.1 56c-.2 69.3-64.4 115.8-125.7 102.9-5.7 0-19.9-8.7-19.9-24.2a24.89 24.89 0 0 1 24.5-24.6c6.3 0 6.3 1.6 15.7 1.6a55.91 55.91 0 0 0 56.1-55.9l.1-47c0-4.5-4.5-9-8.9-9l-33.6-.1c-32.6-.1-32.5-49.4.1-49.3l42.6.1.1-56a105.18 105.18 0 0 1 105.6-105 86.35 86.35 0 0 1 20.2 2.3c11.2 1.8 19.9 11.9 19.9 24 0 15.5-14.9 27.8-30.3 23.9-27.4-5.9-65.9 14.4-66 54.9l-.1 47a8.94 8.94 0 0 0 8.9 9l33.6.1c32.5.2 32.4 49.5-.2 49.4zm23.5-.3a35.58 35.58 0 0 0 7.6-11.4l8.5 8.5a102 102 0 0 1-16.1 2.9zm21-4.2L308.6 280l.9-8.1a34.74 34.74 0 0 0-2.4-12.5l27 27.2a74.89 74.89 0 0 1-13.7 5.3zm18-7.4l-38-38.4c4.9-1.1 9.6-2.4 13.7-4.7l36.2 35.9c-3.8 2.5-7.9 5-11.9 7.2zm15.5-9.8l-35.3-35.5a61.06 61.06 0 0 0 10.5-8.5l34.9 35a124.56 124.56 0 0 1-10.1 9zm13.2-12.3l-34.9-35a63.18 63.18 0 0 0 7.7-11.4l35.8 35.9a130.28 130.28 0 0 1-8.6 10.5zm11-14.3l-36.4-36.6a48.29 48.29 0 0 0 3.6-15.2l39.5 39.8a87.72 87.72 0 0 1-6.7 12zm13.5-30.9a140.63 140.63 0 0 1-4.7 14.3L345.6 190a58.19 58.19 0 0 0-7.1-26.2zm1-5.6l-71.9-72.1a32 32 0 0 0 9.9-9.2l64.3 64.7a90.93 90.93 0 0 1-2.3 16.6z"],figma:[384,512,[],"f799","M277 170.7A85.35 85.35 0 0 0 277 0H106.3a85.3 85.3 0 0 0 0 170.6 85.35 85.35 0 0 0 0 170.7 85.35 85.35 0 1 0 85.3 85.4v-256zm0 0a85.3 85.3 0 1 0 85.3 85.3 85.31 85.31 0 0 0-85.3-85.3z"],firefox:[512,512,[],"f269","M503.52,241.48c-.12-1.56-.24-3.12-.24-4.68v-.12l-.36-4.68v-.12a245.86,245.86,0,0,0-7.32-41.15c0-.12,0-.12-.12-.24l-1.08-4c-.12-.24-.12-.48-.24-.6-.36-1.2-.72-2.52-1.08-3.72-.12-.24-.12-.6-.24-.84-.36-1.2-.72-2.4-1.08-3.48-.12-.36-.24-.6-.36-1-.36-1.2-.72-2.28-1.2-3.48l-.36-1.08c-.36-1.08-.84-2.28-1.2-3.36a8.27,8.27,0,0,0-.36-1c-.48-1.08-.84-2.28-1.32-3.36-.12-.24-.24-.6-.36-.84-.48-1.2-1-2.28-1.44-3.48,0-.12-.12-.24-.12-.36-1.56-3.84-3.24-7.68-5-11.4l-.36-.72c-.48-1-.84-1.8-1.32-2.64-.24-.48-.48-1.08-.72-1.56-.36-.84-.84-1.56-1.2-2.4-.36-.6-.6-1.2-1-1.8s-.84-1.44-1.2-2.28c-.36-.6-.72-1.32-1.08-1.92s-.84-1.44-1.2-2.16a18.07,18.07,0,0,0-1.2-2c-.36-.72-.84-1.32-1.2-2s-.84-1.32-1.2-2-.84-1.32-1.2-1.92-.84-1.44-1.32-2.16a15.63,15.63,0,0,0-1.2-1.8L463.2,119a15.63,15.63,0,0,0-1.2-1.8c-.48-.72-1.08-1.56-1.56-2.28-.36-.48-.72-1.08-1.08-1.56l-1.8-2.52c-.36-.48-.6-.84-1-1.32-1-1.32-1.8-2.52-2.76-3.72a248.76,248.76,0,0,0-23.51-26.64A186.82,186.82,0,0,0,412,62.46c-4-3.48-8.16-6.72-12.48-9.84a162.49,162.49,0,0,0-24.6-15.12c-2.4-1.32-4.8-2.52-7.2-3.72a254,254,0,0,0-55.43-19.56c-1.92-.36-3.84-.84-5.64-1.2h-.12c-1-.12-1.8-.36-2.76-.48a236.35,236.35,0,0,0-38-4H255.14a234.62,234.62,0,0,0-45.48,5c-33.59,7.08-63.23,21.24-82.91,39-1.08,1-1.92,1.68-2.4,2.16l-.48.48H124l-.12.12.12-.12a.12.12,0,0,0,.12-.12l-.12.12a.42.42,0,0,1,.24-.12c14.64-8.76,34.92-16,49.44-19.56l5.88-1.44c.36-.12.84-.12,1.2-.24,1.68-.36,3.36-.72,5.16-1.08.24,0,.6-.12.84-.12C250.94,20.94,319.34,40.14,367,85.61a171.49,171.49,0,0,1,26.88,32.76c30.36,49.2,27.48,111.11,3.84,147.59-34.44,53-111.35,71.27-159,24.84a84.19,84.19,0,0,1-25.56-59,74.05,74.05,0,0,1,6.24-31c1.68-3.84,13.08-25.67,18.24-24.59-13.08-2.76-37.55,2.64-54.71,28.19-15.36,22.92-14.52,58.2-5,83.28a132.85,132.85,0,0,1-12.12-39.24c-12.24-82.55,43.31-153,94.31-170.51-27.48-24-96.47-22.31-147.71,15.36-29.88,22-51.23,53.16-62.51,90.36,1.68-20.88,9.6-52.08,25.8-83.88-17.16,8.88-39,37-49.8,62.88-15.6,37.43-21,82.19-16.08,124.79.36,3.24.72,6.36,1.08,9.6,19.92,117.11,122,206.38,244.78,206.38C392.77,503.42,504,392.19,504,255,503.88,250.48,503.76,245.92,503.52,241.48Z"],"firefox-browser":[512,512,[],"e007","M189.37,152.86Zm-58.74-29.37C130.79,123.5,130.71,123.5,130.63,123.49Zm351.42,45.35c-10.61-25.5-32.08-53-48.94-61.73,13.72,26.89,21.67,53.88,24.7,74,0,0,0,.14.05.41-27.58-68.75-74.35-96.47-112.55-156.83-1.93-3.05-3.86-6.11-5.74-9.33-1-1.65-1.86-3.34-2.69-5.05A44.88,44.88,0,0,1,333.24.69a.63.63,0,0,0-.55-.66.9.9,0,0,0-.46,0l-.12.07-.18.1.1-.14c-54.23,31.77-76.72,87.38-82.5,122.78a130,130,0,0,0-48.33,12.33,6.25,6.25,0,0,0-3.09,7.75,6.13,6.13,0,0,0,7.79,3.79l.52-.21a117.84,117.84,0,0,1,42.11-11l1.42-.1c2-.12,4-.2,6-.22A122.61,122.61,0,0,1,291,140c.67.2,1.32.42,2,.63,1.89.57,3.76,1.2,5.62,1.87,1.36.5,2.71,1,4.05,1.58,1.09.44,2.18.88,3.25,1.35q2.52,1.13,5,2.35c.75.37,1.5.74,2.25,1.13q2.4,1.26,4.74,2.63,1.51.87,3,1.8a124.89,124.89,0,0,1,42.66,44.13c-13-9.15-36.35-18.19-58.82-14.28,87.74,43.86,64.18,194.9-57.39,189.2a108.43,108.43,0,0,1-31.74-6.12c-2.42-.91-4.8-1.89-7.16-2.93-1.38-.63-2.76-1.27-4.12-2C174.5,346,149.9,316.92,146.83,281.59c0,0,11.25-41.95,80.62-41.95,7.5,0,28.93-20.92,29.33-27-.09-2-42.54-18.87-59.09-35.18-8.85-8.71-13.05-12.91-16.77-16.06a69.58,69.58,0,0,0-6.31-4.77A113.05,113.05,0,0,1,173.92,97c-25.06,11.41-44.55,29.45-58.71,45.37h-.12c-9.67-12.25-9-52.65-8.43-61.08-.12-.53-7.22,3.68-8.15,4.31a178.54,178.54,0,0,0-23.84,20.43A214,214,0,0,0,51.9,133.36l0,0a.08.08,0,0,1,0,0,205.84,205.84,0,0,0-32.73,73.9c-.06.27-2.33,10.21-4,22.48q-.42,2.87-.78,5.74c-.57,3.69-1,7.71-1.44,14,0,.24,0,.48-.05.72-.18,2.71-.34,5.41-.49,8.12,0,.41,0,.82,0,1.24,0,134.7,109.21,243.89,243.92,243.89,120.64,0,220.82-87.58,240.43-202.62.41-3.12.74-6.26,1.11-9.41,4.85-41.83-.54-85.79-15.82-122.55Z"],"first-order":[448,512,[],"f2b0","M12.9 229.2c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4h-.2zM224 96.6c-7.1 0-14.6.6-21.4 1.7l3.7 67.4-22-64c-14.3 3.7-27.7 9.4-40 16.6l29.4 61.4-45.1-50.9c-11.4 8.9-21.7 19.1-30.6 30.9l50.6 45.4-61.1-29.7c-7.1 12.3-12.9 25.7-16.6 40l64.3 22.6-68-4c-.9 7.1-1.4 14.6-1.4 22s.6 14.6 1.4 21.7l67.7-4-64 22.6c3.7 14.3 9.4 27.7 16.6 40.3l61.1-29.7L97.7 352c8.9 11.7 19.1 22.3 30.9 30.9l44.9-50.9-29.5 61.4c12.3 7.4 25.7 13.1 40 16.9l22.3-64.6-4 68c7.1 1.1 14.6 1.7 21.7 1.7 7.4 0 14.6-.6 21.7-1.7l-4-68.6 22.6 65.1c14.3-4 27.7-9.4 40-16.9L274.9 332l44.9 50.9c11.7-8.9 22-19.1 30.6-30.9l-50.6-45.1 61.1 29.4c7.1-12.3 12.9-25.7 16.6-40.3l-64-22.3 67.4 4c1.1-7.1 1.4-14.3 1.4-21.7s-.3-14.9-1.4-22l-67.7 4 64-22.3c-3.7-14.3-9.1-28-16.6-40.3l-60.9 29.7 50.6-45.4c-8.9-11.7-19.1-22-30.6-30.9l-45.1 50.9 29.4-61.1c-12.3-7.4-25.7-13.1-40-16.9L241.7 166l4-67.7c-7.1-1.2-14.3-1.7-21.7-1.7zM443.4 128v256L224 512 4.6 384V128L224 0l219.4 128zm-17.1 10.3L224 20.9 21.7 138.3v235.1L224 491.1l202.3-117.7V138.3zM224 37.1l187.7 109.4v218.9L224 474.9 36.3 365.4V146.6L224 37.1zm0 50.9c-92.3 0-166.9 75.1-166.9 168 0 92.6 74.6 167.7 166.9 167.7 92 0 166.9-75.1 166.9-167.7 0-92.9-74.9-168-166.9-168z"],"first-order-alt":[496,512,[],"f50a","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 488.21C115.34 496.21 7.79 388.66 7.79 256S115.34 15.79 248 15.79 488.21 123.34 488.21 256 380.66 496.21 248 496.21zm0-459.92C126.66 36.29 28.29 134.66 28.29 256S126.66 475.71 248 475.71 467.71 377.34 467.71 256 369.34 36.29 248 36.29zm0 431.22c-116.81 0-211.51-94.69-211.51-211.51S131.19 44.49 248 44.49 459.51 139.19 459.51 256 364.81 467.51 248 467.51zm186.23-162.98a191.613 191.613 0 0 1-20.13 48.69l-74.13-35.88 61.48 54.82a193.515 193.515 0 0 1-37.2 37.29l-54.8-61.57 35.88 74.27a190.944 190.944 0 0 1-48.63 20.23l-27.29-78.47 4.79 82.93c-8.61 1.18-17.4 1.8-26.33 1.8s-17.72-.62-26.33-1.8l4.76-82.46-27.15 78.03a191.365 191.365 0 0 1-48.65-20.2l35.93-74.34-54.87 61.64a193.85 193.85 0 0 1-37.22-37.28l61.59-54.9-74.26 35.93a191.638 191.638 0 0 1-20.14-48.69l77.84-27.11-82.23 4.76c-1.16-8.57-1.78-17.32-1.78-26.21 0-9 .63-17.84 1.82-26.51l82.38 4.77-77.94-27.16a191.726 191.726 0 0 1 20.23-48.67l74.22 35.92-61.52-54.86a193.85 193.85 0 0 1 37.28-37.22l54.76 61.53-35.83-74.17a191.49 191.49 0 0 1 48.65-20.13l26.87 77.25-4.71-81.61c8.61-1.18 17.39-1.8 26.32-1.8s17.71.62 26.32 1.8l-4.74 82.16 27.05-77.76c17.27 4.5 33.6 11.35 48.63 20.17l-35.82 74.12 54.72-61.47a193.13 193.13 0 0 1 37.24 37.23l-61.45 54.77 74.12-35.86a191.515 191.515 0 0 1 20.2 48.65l-77.81 27.1 82.24-4.75c1.19 8.66 1.82 17.5 1.82 26.49 0 8.88-.61 17.63-1.78 26.19l-82.12-4.75 77.72 27.09z"],firstdraft:[384,512,[],"f3a1","M384 192h-64v128H192v128H0v-25.6h166.4v-128h128v-128H384V192zm-25.6 38.4v128h-128v128H64V512h192V384h128V230.4h-25.6zm25.6 192h-89.6V512H320v-64h64v-25.6zM0 0v384h128V256h128V128h128V0H0z"],flickr:[448,512,[],"f16e","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM144.5 319c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5zm159 0c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5z"],flipboard:[448,512,[],"f44d","M0 32v448h448V32H0zm358.4 179.2h-89.6v89.6h-89.6v89.6H89.6V121.6h268.8v89.6z"],fly:[384,512,[],"f417","M197.8 427.8c12.9 11.7 33.7 33.3 33.2 50.7 0 .8-.1 1.6-.1 2.5-1.8 19.8-18.8 31.1-39.1 31-25-.1-39.9-16.8-38.7-35.8 1-16.2 20.5-36.7 32.4-47.6 2.3-2.1 2.7-2.7 5.6-3.6 3.4 0 3.9.3 6.7 2.8zM331.9 67.3c-16.3-25.7-38.6-40.6-63.3-52.1C243.1 4.5 214-.2 192 0c-44.1 0-71.2 13.2-81.1 17.3C57.3 45.2 26.5 87.2 28 158.6c7.1 82.2 97 176 155.8 233.8 1.7 1.6 4.5 4.5 6.2 5.1l3.3.1c2.1-.7 1.8-.5 3.5-2.1 52.3-49.2 140.7-145.8 155.9-215.7 7-39.2 3.1-72.5-20.8-112.5zM186.8 351.9c-28-51.1-65.2-130.7-69.3-189-3.4-47.5 11.4-131.2 69.3-136.7v325.7zM328.7 180c-16.4 56.8-77.3 128-118.9 170.3C237.6 298.4 275 217 277 158.4c1.6-45.9-9.8-105.8-48-131.4 88.8 18.3 115.5 98.1 99.7 153z"],"font-awesome":[448,512,[],"f2b4","M397.8 32H50.2C22.7 32 0 54.7 0 82.2v347.6C0 457.3 22.7 480 50.2 480h347.6c27.5 0 50.2-22.7 50.2-50.2V82.2c0-27.5-22.7-50.2-50.2-50.2zm-45.4 284.3c0 4.2-3.6 6-7.8 7.8-16.7 7.2-34.6 13.7-53.8 13.7-26.9 0-39.4-16.7-71.7-16.7-23.3 0-47.8 8.4-67.5 17.3-1.2.6-2.4.6-3.6 1.2V385c0 1.8 0 3.6-.6 4.8v1.2c-2.4 8.4-10.2 14.3-19.1 14.3-11.3 0-20.3-9-20.3-20.3V166.4c-7.8-6-13.1-15.5-13.1-26.3 0-18.5 14.9-33.5 33.5-33.5 18.5 0 33.5 14.9 33.5 33.5 0 10.8-4.8 20.3-13.1 26.3v18.5c1.8-.6 3.6-1.2 5.4-2.4 18.5-7.8 40.6-14.3 61.5-14.3 22.7 0 40.6 6 60.9 13.7 4.2 1.8 8.4 2.4 13.1 2.4 22.7 0 47.8-16.1 53.8-16.1 4.8 0 9 3.6 9 7.8v140.3z"],"font-awesome-alt":[448,512,[],"f35c","M339.3 171.2c-6 0-29.9 15.5-52.6 15.5-4.2 0-8.4-.6-12.5-2.4-19.7-7.8-37-13.7-59.1-13.7-20.3 0-41.8 6.6-59.7 13.7-1.8.6-3.6 1.2-4.8 1.8v-17.9c7.8-6 12.5-14.9 12.5-25.7 0-17.9-14.3-32.3-32.3-32.3s-32.3 14.3-32.3 32.3c0 10.2 4.8 19.7 12.5 25.7v212.1c0 10.8 9 19.7 19.7 19.7 9 0 16.1-6 18.5-13.7V385c.6-1.8.6-3 .6-4.8V336c1.2 0 2.4-.6 3-1.2 19.7-8.4 43-16.7 65.7-16.7 31.1 0 43 16.1 69.3 16.1 18.5 0 36.4-6.6 52-13.7 4.2-1.8 7.2-3.6 7.2-7.8V178.3c1.8-4.1-2.3-7.1-7.7-7.1zM397.8 32H50.2C22.7 32 0 54.7 0 82.2v347.6C0 457.3 22.7 480 50.2 480h347.6c27.5 0 50.2-22.7 50.2-50.2V82.2c0-27.5-22.7-50.2-50.2-50.2zm14.3 397.7c0 7.8-6.6 14.3-14.3 14.3H50.2c-7.8 0-14.3-6.6-14.3-14.3V82.2c0-7.8 6.6-14.3 14.3-14.3h347.6v-.1c7.8 0 14.3 6.6 14.3 14.3z"],"font-awesome-flag":[448,512,[],"f425","M444.373 359.424c0 7.168-6.144 10.24-13.312 13.312-28.672 12.288-59.392 23.552-92.16 23.552-46.08 0-67.584-28.672-122.88-28.672-39.936 0-81.92 14.336-115.712 29.696-2.048 1.024-4.096 1.024-6.144 2.048v77.824c0 21.405-16.122 34.816-33.792 34.816-19.456 0-34.816-15.36-34.816-34.816V102.4C12.245 92.16 3.029 75.776 3.029 57.344 3.029 25.6 28.629 0 60.373 0s57.344 25.6 57.344 57.344c0 18.432-8.192 34.816-22.528 45.056v31.744c4.124-1.374 58.768-28.672 114.688-28.672 65.27 0 97.676 27.648 126.976 27.648 38.912 0 81.92-27.648 92.16-27.648 8.192 0 15.36 6.144 15.36 13.312v240.64z"],"font-awesome-logo-full":[3992,512,["Font Awesome"],"f4e6","M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z"],fonticons:[448,512,[],"f280","M0 32v448h448V32zm187 140.9c-18.4 0-19 9.9-19 27.4v23.3c0 2.4-3.5 4.4-.6 4.4h67.4l-11.1 37.3H168v112.9c0 5.8-2 6.7 3.2 7.3l43.5 4.1v25.1H84V389l21.3-2c5.2-.6 6.7-2.3 6.7-7.9V267.7c0-2.3-2.9-2.3-5.8-2.3H84V228h28v-21c0-49.6 26.5-70 77.3-70 34.1 0 64.7 8.2 64.7 52.8l-50.7 6.1c.3-18.7-4.4-23-16.3-23zm74.3 241.8v-25.1l20.4-2.6c5.2-.6 7.6-1.7 7.6-7.3V271.8c0-4.1-2.9-6.7-6.7-7.9l-24.2-6.4 6.7-29.5h80.2v151.7c0 5.8-2.6 6.4 2.9 7.3l15.7 2.6v25.1zm80.8-255.5l9 33.2-7.3 7.3-31.2-16.6-31.2 16.6-7.3-7.3 9-33.2-21.8-24.2 3.5-9.6h27.7l15.5-28h9.3l15.5 28h27.7l3.5 9.6z"],"fonticons-fi":[384,512,[],"f3a2","M114.4 224h92.4l-15.2 51.2h-76.4V433c0 8-2.8 9.2 4.4 10l59.6 5.6V483H0v-35.2l29.2-2.8c7.2-.8 9.2-3.2 9.2-10.8V278.4c0-3.2-4-3.2-8-3.2H0V224h38.4v-28.8c0-68 36.4-96 106-96 46.8 0 88.8 11.2 88.8 72.4l-69.6 8.4c.4-25.6-6-31.6-22.4-31.6-25.2 0-26 13.6-26 37.6v32c0 3.2-4.8 6-.8 6zM384 483H243.2v-34.4l28-3.6c7.2-.8 10.4-2.4 10.4-10V287c0-5.6-4-9.2-9.2-10.8l-33.2-8.8 9.2-40.4h110v208c0 8-3.6 8.8 4 10l21.6 3.6V483zm-30-347.2l12.4 45.6-10 10-42.8-22.8-42.8 22.8-10-10 12.4-45.6-30-36.4 4.8-10h38L307.2 51H320l21.2 38.4h38l4.8 13.2-30 33.2z"],"fort-awesome":[512,512,[],"f286","M489.2 287.9h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6V146.2c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6v-32c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6v-32c0-6-8-4.6-11.7-4.6v-38c8.3-2 17.1-3.4 25.7-3.4 10.9 0 20.9 4.3 31.4 4.3 4.6 0 27.7-1.1 27.7-8v-60c0-2.6-2-4.6-4.6-4.6-5.1 0-15.1 4.3-24 4.3-9.7 0-20.9-4.3-32.6-4.3-8 0-16 1.1-23.7 2.9v-4.9c5.4-2.6 9.1-8.3 9.1-14.3 0-20.7-31.4-20.8-31.4 0 0 6 3.7 11.7 9.1 14.3v111.7c-3.7 0-11.7-1.4-11.7 4.6v32h-36.6v-32c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32H128v-32c0-2.6-2-4.6-4.6-4.6H96c-2.6 0-4.6 2-4.6 4.6v178.3H54.8v-32c0-2.6-2-4.6-4.6-4.6H22.8c-2.6 0-4.6 2-4.6 4.6V512h182.9v-96c0-72.6 109.7-72.6 109.7 0v96h182.9V292.5c.1-2.6-1.9-4.6-4.5-4.6zm-288.1-4.5c0 2.6-2 4.6-4.6 4.6h-27.4c-2.6 0-4.6-2-4.6-4.6v-64c0-2.6 2-4.6 4.6-4.6h27.4c2.6 0 4.6 2 4.6 4.6v64zm146.4 0c0 2.6-2 4.6-4.6 4.6h-27.4c-2.6 0-4.6-2-4.6-4.6v-64c0-2.6 2-4.6 4.6-4.6h27.4c2.6 0 4.6 2 4.6 4.6v64z"],"fort-awesome-alt":[512,512,[],"f3a3","M208 237.4h-22.2c-2.1 0-3.7 1.6-3.7 3.7v51.7c0 2.1 1.6 3.7 3.7 3.7H208c2.1 0 3.7-1.6 3.7-3.7v-51.7c0-2.1-1.6-3.7-3.7-3.7zm118.2 0H304c-2.1 0-3.7 1.6-3.7 3.7v51.7c0 2.1 1.6 3.7 3.7 3.7h22.2c2.1 0 3.7-1.6 3.7-3.7v-51.7c-.1-2.1-1.7-3.7-3.7-3.7zm132-125.1c-2.3-3.2-4.6-6.4-7.1-9.5-9.8-12.5-20.8-24-32.8-34.4-4.5-3.9-9.1-7.6-13.9-11.2-1.6-1.2-3.2-2.3-4.8-3.5C372 34.1 340.3 20 306 13c-16.2-3.3-32.9-5-50-5s-33.9 1.7-50 5c-34.3 7.1-66 21.2-93.3 40.8-1.6 1.1-3.2 2.3-4.8 3.5-4.8 3.6-9.4 7.3-13.9 11.2-3 2.6-5.9 5.3-8.8 8s-5.7 5.5-8.4 8.4c-5.5 5.7-10.7 11.8-15.6 18-2.4 3.1-4.8 6.3-7.1 9.5C25.2 153 8.3 202.5 8.3 256c0 2 .1 4 .1 6 .1.7.1 1.3.1 2 .1 1.3.1 2.7.2 4 0 .8.1 1.5.1 2.3 0 1.3.1 2.5.2 3.7.1.8.1 1.6.2 2.4.1 1.1.2 2.3.3 3.5 0 .8.1 1.6.2 2.4.1 1.2.3 2.4.4 3.6.1.8.2 1.5.3 2.3.1 1.3.3 2.6.5 3.9.1.6.2 1.3.3 1.9l.9 5.7c.1.6.2 1.1.3 1.7.3 1.3.5 2.7.8 4 .2.8.3 1.6.5 2.4.2 1 .5 2.1.7 3.2.2.9.4 1.7.6 2.6.2 1 .4 2 .7 3 .2.9.5 1.8.7 2.7.3 1 .5 1.9.8 2.9.3.9.5 1.8.8 2.7.2.9.5 1.9.8 2.8s.5 1.8.8 2.7c.3 1 .6 1.9.9 2.8.6 1.6 1.1 3.3 1.7 4.9.4 1 .7 1.9 1 2.8.3 1 .7 2 1.1 3 .3.8.6 1.5.9 2.3l1.2 3c.3.7.6 1.5.9 2.2.4 1 .9 2 1.3 3l.9 2.1c.5 1 .9 2 1.4 3 .3.7.6 1.3.9 2 .5 1 1 2.1 1.5 3.1.2.6.5 1.1.8 1.7.6 1.1 1.1 2.2 1.7 3.3.1.2.2.3.3.5 2.2 4.1 4.4 8.2 6.8 12.2.2.4.5.8.7 1.2.7 1.1 1.3 2.2 2 3.3.3.5.6.9.9 1.4.6 1.1 1.3 2.1 2 3.2.3.5.6.9.9 1.4.7 1.1 1.4 2.1 2.1 3.2.2.4.5.8.8 1.2.7 1.1 1.5 2.2 2.3 3.3.2.2.3.5.5.7 37.5 51.7 94.4 88.5 160 99.4.9.1 1.7.3 2.6.4 1 .2 2.1.4 3.1.5s1.9.3 2.8.4c1 .2 2 .3 3 .4.9.1 1.9.2 2.9.3s1.9.2 2.9.3 2.1.2 3.1.3c.9.1 1.8.1 2.7.2 1.1.1 2.3.1 3.4.2.8 0 1.7.1 2.5.1 1.3 0 2.6.1 3.9.1.7.1 1.4.1 2.1.1 2 .1 4 .1 6 .1s4-.1 6-.1c.7 0 1.4-.1 2.1-.1 1.3 0 2.6 0 3.9-.1.8 0 1.7-.1 2.5-.1 1.1-.1 2.3-.1 3.4-.2.9 0 1.8-.1 2.7-.2 1-.1 2.1-.2 3.1-.3s1.9-.2 2.9-.3c.9-.1 1.9-.2 2.9-.3s2-.3 3-.4 1.9-.3 2.8-.4c1-.2 2.1-.3 3.1-.5.9-.1 1.7-.3 2.6-.4 65.6-11 122.5-47.7 160.1-102.4.2-.2.3-.5.5-.7.8-1.1 1.5-2.2 2.3-3.3.2-.4.5-.8.8-1.2.7-1.1 1.4-2.1 2.1-3.2.3-.5.6-.9.9-1.4.6-1.1 1.3-2.1 2-3.2.3-.5.6-.9.9-1.4.7-1.1 1.3-2.2 2-3.3.2-.4.5-.8.7-1.2 2.4-4 4.6-8.1 6.8-12.2.1-.2.2-.3.3-.5.6-1.1 1.1-2.2 1.7-3.3.2-.6.5-1.1.8-1.7.5-1 1-2.1 1.5-3.1.3-.7.6-1.3.9-2 .5-1 1-2 1.4-3l.9-2.1c.5-1 .9-2 1.3-3 .3-.7.6-1.5.9-2.2l1.2-3c.3-.8.6-1.5.9-2.3.4-1 .7-2 1.1-3s.7-1.9 1-2.8c.6-1.6 1.2-3.3 1.7-4.9.3-1 .6-1.9.9-2.8s.5-1.8.8-2.7c.2-.9.5-1.9.8-2.8s.6-1.8.8-2.7c.3-1 .5-1.9.8-2.9.2-.9.5-1.8.7-2.7.2-1 .5-2 .7-3 .2-.9.4-1.7.6-2.6.2-1 .5-2.1.7-3.2.2-.8.3-1.6.5-2.4.3-1.3.6-2.7.8-4 .1-.6.2-1.1.3-1.7l.9-5.7c.1-.6.2-1.3.3-1.9.1-1.3.3-2.6.5-3.9.1-.8.2-1.5.3-2.3.1-1.2.3-2.4.4-3.6 0-.8.1-1.6.2-2.4.1-1.1.2-2.3.3-3.5.1-.8.1-1.6.2-2.4.1 1.7.1.5.2-.7 0-.8.1-1.5.1-2.3.1-1.3.2-2.7.2-4 .1-.7.1-1.3.1-2 .1-2 .1-4 .1-6 0-53.5-16.9-103-45.8-143.7zM448 371.5c-9.4 15.5-20.6 29.9-33.6 42.9-20.6 20.6-44.5 36.7-71.2 48-13.9 5.8-28.2 10.3-42.9 13.2v-75.8c0-58.6-88.6-58.6-88.6 0v75.8c-14.7-2.9-29-7.3-42.9-13.2-26.7-11.3-50.6-27.4-71.2-48-13-13-24.2-27.4-33.6-42.9v-71.3c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7V326h29.6V182c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7H208c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-4.8 6.5-3.7 9.5-3.7V88.1c-4.4-2-7.4-6.7-7.4-11.5 0-16.8 25.4-16.8 25.4 0 0 4.8-3 9.4-7.4 11.5V92c6.3-1.4 12.7-2.3 19.2-2.3 9.4 0 18.4 3.5 26.3 3.5 7.2 0 15.2-3.5 19.4-3.5 2.1 0 3.7 1.6 3.7 3.7v48.4c0 5.6-18.7 6.5-22.4 6.5-8.6 0-16.6-3.5-25.4-3.5-7 0-14.1 1.2-20.8 2.8v30.7c3 0 9.5-1.1 9.5 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7h22.2c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7v144h29.5v-25.8c0-2.1 1.6-3.7 3.7-3.7h22.2c2.1 0 3.7 1.6 3.7 3.7z"],forumbee:[448,512,[],"f211","M5.8 309.7C2 292.7 0 275.5 0 258.3 0 135 99.8 35 223.1 35c16.6 0 33.3 2 49.3 5.5C149 87.5 51.9 186 5.8 309.7zm392.9-189.2C385 103 369 87.8 350.9 75.2c-149.6 44.3-266.3 162.1-309.7 312 12.5 18.1 28 35.6 45.2 49 43.1-151.3 161.2-271.7 312.3-315.7zm15.8 252.7c15.2-25.1 25.4-53.7 29.5-82.8-79.4 42.9-145 110.6-187.6 190.3 30-4.4 58.9-15.3 84.6-31.3 35 13.1 70.9 24.3 107 33.6-9.3-36.5-20.4-74.5-33.5-109.8zm29.7-145.5c-2.6-19.5-7.9-38.7-15.8-56.8C290.5 216.7 182 327.5 137.1 466c18.1 7.6 37 12.5 56.6 15.2C240 367.1 330.5 274.4 444.2 227.7z"],foursquare:[368,512,[],"f180","M323.1 3H49.9C12.4 3 0 31.3 0 49.1v433.8c0 20.3 12.1 27.7 18.2 30.1 6.2 2.5 22.8 4.6 32.9-7.1C180 356.5 182.2 354 182.2 354c3.1-3.4 3.4-3.1 6.8-3.1h83.4c35.1 0 40.6-25.2 44.3-39.7l48.6-243C373.8 25.8 363.1 3 323.1 3zm-16.3 73.8l-11.4 59.7c-1.2 6.5-9.5 13.2-16.9 13.2H172.1c-12 0-20.6 8.3-20.6 20.3v13c0 12 8.6 20.6 20.6 20.6h90.4c8.3 0 16.6 9.2 14.8 18.2-1.8 8.9-10.5 53.8-11.4 58.8-.9 4.9-6.8 13.5-16.9 13.5h-73.5c-13.5 0-17.2 1.8-26.5 12.6 0 0-8.9 11.4-89.5 108.3-.9.9-1.8.6-1.8-.3V75.9c0-7.7 6.8-16.6 16.6-16.6h219c8.2 0 15.6 7.7 13.5 17.5z"],"free-code-camp":[576,512,[],"f2c5","M97.22,96.21c10.36-10.65,16-17.12,16-21.9,0-2.76-1.92-5.51-3.83-7.42A14.81,14.81,0,0,0,101,64.05c-8.48,0-20.92,8.79-35.84,25.69C23.68,137,2.51,182.81,3.37,250.34s17.47,117,54.06,161.87C76.22,435.86,90.62,448,100.9,448a13.55,13.55,0,0,0,8.37-3.84c1.91-2.76,3.81-5.63,3.81-8.38,0-5.63-3.86-12.2-13.2-20.55-44.45-42.33-67.32-97-67.48-165C32.25,188.8,54,137.83,97.22,96.21ZM239.47,420.07c.58.37.91.55.91.55Zm93.79.55.17-.13C333.24,420.62,333.17,420.67,333.26,420.62Zm3.13-158.18c-16.24-4.15,50.41-82.89-68.05-177.17,0,0,15.54,49.38-62.83,159.57-74.27,104.35,23.46,168.73,34,175.23-6.73-4.35-47.4-35.7,9.55-128.64,11-18.3,25.53-34.87,43.5-72.16,0,0,15.91,22.45,7.6,71.13C287.7,364,354,342.91,355,343.94c22.75,26.78-17.72,73.51-21.58,76.55,5.49-3.65,117.71-78,33-188.1C360.43,238.4,352.62,266.59,336.39,262.44ZM510.88,89.69C496,72.79,483.52,64,475,64a14.81,14.81,0,0,0-8.39,2.84c-1.91,1.91-3.83,4.66-3.83,7.42,0,4.78,5.6,11.26,16,21.9,43.23,41.61,65,92.59,64.82,154.06-.16,68-23,122.63-67.48,165-9.34,8.35-13.18,14.92-13.2,20.55,0,2.75,1.9,5.62,3.81,8.38A13.61,13.61,0,0,0,475.1,448c10.28,0,24.68-12.13,43.47-35.79,36.59-44.85,53.14-94.38,54.06-161.87S552.32,137,510.88,89.69Z"],freebsd:[448,512,[],"f3a4","M303.7 96.2c11.1-11.1 115.5-77 139.2-53.2 23.7 23.7-42.1 128.1-53.2 139.2-11.1 11.1-39.4.9-63.1-22.9-23.8-23.7-34.1-52-22.9-63.1zM109.9 68.1C73.6 47.5 22 24.6 5.6 41.1c-16.6 16.6 7.1 69.4 27.9 105.7 18.5-32.2 44.8-59.3 76.4-78.7zM406.7 174c3.3 11.3 2.7 20.7-2.7 26.1-20.3 20.3-87.5-27-109.3-70.1-18-32.3-11.1-53.4 14.9-48.7 5.7-3.6 12.3-7.6 19.6-11.6-29.8-15.5-63.6-24.3-99.5-24.3-119.1 0-215.6 96.5-215.6 215.6 0 119 96.5 215.6 215.6 215.6S445.3 380.1 445.3 261c0-38.4-10.1-74.5-27.7-105.8-3.9 7-7.6 13.3-10.9 18.8z"],fulcrum:[320,512,[],"f50b","M95.75 164.14l-35.38 43.55L25 164.14l35.38-43.55zM144.23 0l-20.54 198.18L72.72 256l51 57.82L144.23 512V300.89L103.15 256l41.08-44.89zm79.67 164.14l35.38 43.55 35.38-43.55-35.38-43.55zm-48.48 47L216.5 256l-41.08 44.89V512L196 313.82 247 256l-51-57.82L175.42 0z"],"galactic-republic":[496,512,[],"f50c","M248 504C111.25 504 0 392.75 0 256S111.25 8 248 8s248 111.25 248 248-111.25 248-248 248zm0-479.47C120.37 24.53 16.53 128.37 16.53 256S120.37 487.47 248 487.47 479.47 383.63 479.47 256 375.63 24.53 248 24.53zm27.62 21.81v24.62a185.933 185.933 0 0 1 83.57 34.54l17.39-17.36c-28.75-22.06-63.3-36.89-100.96-41.8zm-55.37.07c-37.64 4.94-72.16 19.8-100.88 41.85l17.28 17.36h.08c24.07-17.84 52.55-30.06 83.52-34.67V46.41zm12.25 50.17v82.87c-10.04 2.03-19.42 5.94-27.67 11.42l-58.62-58.59-21.93 21.93 58.67 58.67c-5.47 8.23-9.45 17.59-11.47 27.62h-82.9v31h82.9c2.02 10.02 6.01 19.31 11.47 27.54l-58.67 58.69 21.93 21.93 58.62-58.62a77.873 77.873 0 0 0 27.67 11.47v82.9h31v-82.9c10.05-2.03 19.37-6.06 27.62-11.55l58.67 58.69 21.93-21.93-58.67-58.69c5.46-8.23 9.47-17.52 11.5-27.54h82.87v-31h-82.87c-2.02-10.02-6.03-19.38-11.5-27.62l58.67-58.67-21.93-21.93-58.67 58.67c-8.25-5.49-17.57-9.47-27.62-11.5V96.58h-31zm183.24 30.72l-17.36 17.36a186.337 186.337 0 0 1 34.67 83.67h24.62c-4.95-37.69-19.83-72.29-41.93-101.03zm-335.55.13c-22.06 28.72-36.91 63.26-41.85 100.91h24.65c4.6-30.96 16.76-59.45 34.59-83.52l-17.39-17.39zM38.34 283.67c4.92 37.64 19.75 72.18 41.8 100.9l17.36-17.39c-17.81-24.07-29.92-52.57-34.51-83.52H38.34zm394.7 0c-4.61 30.99-16.8 59.5-34.67 83.6l17.36 17.36c22.08-28.74 36.98-63.29 41.93-100.96h-24.62zM136.66 406.38l-17.36 17.36c28.73 22.09 63.3 36.98 100.96 41.93v-24.64c-30.99-4.63-59.53-16.79-83.6-34.65zm222.53.05c-24.09 17.84-52.58 30.08-83.57 34.67v24.57c37.67-4.92 72.21-19.79 100.96-41.85l-17.31-17.39h-.08z"],"galactic-senate":[512,512,[],"f50d","M249.86 33.48v26.07C236.28 80.17 226 168.14 225.39 274.9c11.74-15.62 19.13-33.33 19.13-48.24v-16.88c-.03-5.32.75-10.53 2.19-15.65.65-2.14 1.39-4.08 2.62-5.82 1.23-1.75 3.43-3.79 6.68-3.79 3.24 0 5.45 2.05 6.68 3.79 1.23 1.75 1.97 3.68 2.62 5.82 1.44 5.12 2.22 10.33 2.19 15.65v16.88c0 14.91 7.39 32.62 19.13 48.24-.63-106.76-10.91-194.73-24.49-215.35V33.48h-12.28zm-26.34 147.77c-9.52 2.15-18.7 5.19-27.46 9.08 8.9 16.12 9.76 32.64 1.71 37.29-8 4.62-21.85-4.23-31.36-19.82-11.58 8.79-21.88 19.32-30.56 31.09 14.73 9.62 22.89 22.92 18.32 30.66-4.54 7.7-20.03 7.14-35.47-.96-5.78 13.25-9.75 27.51-11.65 42.42 9.68.18 18.67 2.38 26.18 6.04 17.78-.3 32.77-1.96 40.49-4.22 5.55-26.35 23.02-48.23 46.32-59.51.73-25.55 1.88-49.67 3.48-72.07zm64.96 0c1.59 22.4 2.75 46.52 3.47 72.07 23.29 11.28 40.77 33.16 46.32 59.51 7.72 2.26 22.71 3.92 40.49 4.22 7.51-3.66 16.5-5.85 26.18-6.04-1.9-14.91-5.86-29.17-11.65-42.42-15.44 8.1-30.93 8.66-35.47.96-4.57-7.74 3.6-21.05 18.32-30.66-8.68-11.77-18.98-22.3-30.56-31.09-9.51 15.59-23.36 24.44-31.36 19.82-8.05-4.65-7.19-21.16 1.71-37.29a147.49 147.49 0 0 0-27.45-9.08zm-32.48 8.6c-3.23 0-5.86 8.81-6.09 19.93h-.05v16.88c0 41.42-49.01 95.04-93.49 95.04-52 0-122.75-1.45-156.37 29.17v2.51c9.42 17.12 20.58 33.17 33.18 47.97C45.7 380.26 84.77 360.4 141.2 360c45.68 1.02 79.03 20.33 90.76 40.87.01.01-.01.04 0 .05 7.67 2.14 15.85 3.23 24.04 3.21 8.19.02 16.37-1.07 24.04-3.21.01-.01-.01-.04 0-.05 11.74-20.54 45.08-39.85 90.76-40.87 56.43.39 95.49 20.26 108.02 41.35 12.6-14.8 23.76-30.86 33.18-47.97v-2.51c-33.61-30.62-104.37-29.17-156.37-29.17-44.48 0-93.49-53.62-93.49-95.04v-16.88h-.05c-.23-11.12-2.86-19.93-6.09-19.93zm0 96.59c22.42 0 40.6 18.18 40.6 40.6s-18.18 40.65-40.6 40.65-40.6-18.23-40.6-40.65c0-22.42 18.18-40.6 40.6-40.6zm0 7.64c-18.19 0-32.96 14.77-32.96 32.96S237.81 360 256 360s32.96-14.77 32.96-32.96-14.77-32.96-32.96-32.96zm0 6.14c14.81 0 26.82 12.01 26.82 26.82s-12.01 26.82-26.82 26.82-26.82-12.01-26.82-26.82 12.01-26.82 26.82-26.82zm-114.8 66.67c-10.19.07-21.6.36-30.5 1.66.43 4.42 1.51 18.63 7.11 29.76 9.11-2.56 18.36-3.9 27.62-3.9 41.28.94 71.48 34.35 78.26 74.47l.11 4.7c10.4 1.91 21.19 2.94 32.21 2.94 11.03 0 21.81-1.02 32.21-2.94l.11-4.7c6.78-40.12 36.98-73.53 78.26-74.47 9.26 0 18.51 1.34 27.62 3.9 5.6-11.13 6.68-25.34 7.11-29.76-8.9-1.3-20.32-1.58-30.5-1.66-18.76.42-35.19 4.17-48.61 9.67-12.54 16.03-29.16 30.03-49.58 33.07-.09.02-.17.04-.27.05-.05.01-.11.04-.16.05-5.24 1.07-10.63 1.6-16.19 1.6-5.55 0-10.95-.53-16.19-1.6-.05-.01-.11-.04-.16-.05-.1-.02-.17-.04-.27-.05-20.42-3.03-37.03-17.04-49.58-33.07-13.42-5.49-29.86-9.25-48.61-9.67z"],"get-pocket":[448,512,[],"f265","M407.6 64h-367C18.5 64 0 82.5 0 104.6v135.2C0 364.5 99.7 464 224.2 464c124 0 223.8-99.5 223.8-224.2V104.6c0-22.4-17.7-40.6-40.4-40.6zm-162 268.5c-12.4 11.8-31.4 11.1-42.4 0C89.5 223.6 88.3 227.4 88.3 209.3c0-16.9 13.8-30.7 30.7-30.7 17 0 16.1 3.8 105.2 89.3 90.6-86.9 88.6-89.3 105.5-89.3 16.9 0 30.7 13.8 30.7 30.7 0 17.8-2.9 15.7-114.8 123.2z"],gg:[512,512,[],"f260","M179.2 230.4l102.4 102.4-102.4 102.4L0 256 179.2 76.8l44.8 44.8-25.6 25.6-19.2-19.2-128 128 128 128 51.5-51.5-77.1-76.5 25.6-25.6zM332.8 76.8L230.4 179.2l102.4 102.4 25.6-25.6-77.1-76.5 51.5-51.5 128 128-128 128-19.2-19.2-25.6 25.6 44.8 44.8L512 256 332.8 76.8z"],"gg-circle":[512,512,[],"f261","M257 8C120 8 9 119 9 256s111 248 248 248 248-111 248-248S394 8 257 8zm-49.5 374.8L81.8 257.1l125.7-125.7 35.2 35.4-24.2 24.2-11.1-11.1-77.2 77.2 77.2 77.2 26.6-26.6-53.1-52.9 24.4-24.4 77.2 77.2-75 75.2zm99-2.2l-35.2-35.2 24.1-24.4 11.1 11.1 77.2-77.2-77.2-77.2-26.5 26.5 53.1 52.9-24.4 24.4-77.2-77.2 75-75L432.2 255 306.5 380.6z"],git:[512,512,[],"f1d3","M216.29 158.39H137C97 147.9 6.51 150.63 6.51 233.18c0 30.09 15 51.23 35 61-25.1 23-37 33.85-37 49.21 0 11 4.47 21.14 17.89 26.81C8.13 383.61 0 393.35 0 411.65c0 32.11 28.05 50.82 101.63 50.82 70.75 0 111.79-26.42 111.79-73.18 0-58.66-45.16-56.5-151.63-63l13.43-21.55c27.27 7.58 118.7 10 118.7-67.89 0-18.7-7.73-31.71-15-41.07l37.41-2.84zm-63.42 241.9c0 32.06-104.89 32.1-104.89 2.43 0-8.14 5.27-15 10.57-21.54 77.71 5.3 94.32 3.37 94.32 19.11zm-50.81-134.58c-52.8 0-50.46-71.16 1.2-71.16 49.54 0 50.82 71.16-1.2 71.16zm133.3 100.51v-32.1c26.75-3.66 27.24-2 27.24-11V203.61c0-8.5-2.05-7.38-27.24-16.26l4.47-32.92H324v168.71c0 6.51.4 7.32 6.51 8.14l20.73 2.84v32.1zm52.45-244.31c-23.17 0-36.59-13.43-36.59-36.61s13.42-35.77 36.59-35.77c23.58 0 37 12.62 37 35.77s-13.42 36.61-37 36.61zM512 350.46c-17.49 8.53-43.1 16.26-66.28 16.26-48.38 0-66.67-19.5-66.67-65.46V194.75c0-5.42 1.05-4.06-31.71-4.06V154.5c35.78-4.07 50-22 54.47-66.27h38.63c0 65.83-1.34 61.81 3.26 61.81H501v40.65h-60.56v97.15c0 6.92-4.92 51.41 60.57 26.84z"],"git-alt":[448,512,[],"f841","M439.55 236.05L244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"],"git-square":[448,512,[],"f1d2","M100.59 334.24c48.57 3.31 58.95 2.11 58.95 11.94 0 20-65.55 20.06-65.55 1.52.01-5.09 3.29-9.4 6.6-13.46zm27.95-116.64c-32.29 0-33.75 44.47-.75 44.47 32.51 0 31.71-44.47.75-44.47zM448 80v352a48 48 0 0 1-48 48H48a48 48 0 0 1-48-48V80a48 48 0 0 1 48-48h352a48 48 0 0 1 48 48zm-227 69.31c0 14.49 8.38 22.88 22.86 22.88 14.74 0 23.13-8.39 23.13-22.88S258.62 127 243.88 127c-14.48 0-22.88 7.84-22.88 22.31zM199.18 195h-49.55c-25-6.55-81.56-4.85-81.56 46.75 0 18.8 9.4 32 21.85 38.11C74.23 294.23 66.8 301 66.8 310.6c0 6.87 2.79 13.22 11.18 16.76-8.9 8.4-14 14.48-14 25.92C64 373.35 81.53 385 127.52 385c44.22 0 69.87-16.51 69.87-45.73 0-36.67-28.23-35.32-94.77-39.38l8.38-13.43c17 4.74 74.19 6.23 74.19-42.43 0-11.69-4.83-19.82-9.4-25.67l23.38-1.78zm84.34 109.84l-13-1.78c-3.82-.51-4.07-1-4.07-5.09V192.52h-52.6l-2.79 20.57c15.75 5.55 17 4.86 17 10.17V298c0 5.62-.31 4.58-17 6.87v20.06h72.42zM384 315l-6.87-22.37c-40.93 15.37-37.85-12.41-37.85-16.73v-60.72h37.85v-25.41h-35.82c-2.87 0-2 2.52-2-38.63h-24.18c-2.79 27.7-11.68 38.88-34 41.42v22.62c20.47 0 19.82-.85 19.82 2.54v66.57c0 28.72 11.43 40.91 41.67 40.91 14.45 0 30.45-4.83 41.38-10.2z"],github:[496,512,[],"f09b","M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"],"github-alt":[480,512,[],"f113","M186.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1zM480 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2zm-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3zm-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1z"],"github-square":[448,512,[],"f092","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM277.3 415.7c-8.4 1.5-11.5-3.7-11.5-8 0-5.4.2-33 .2-55.3 0-15.6-5.2-25.5-11.3-30.7 37-4.1 76-9.2 76-73.1 0-18.2-6.5-27.3-17.1-39 1.7-4.3 7.4-22-1.7-45-13.9-4.3-45.7 17.9-45.7 17.9-13.2-3.7-27.5-5.6-41.6-5.6-14.1 0-28.4 1.9-41.6 5.6 0 0-31.8-22.2-45.7-17.9-9.1 22.9-3.5 40.6-1.7 45-10.6 11.7-15.6 20.8-15.6 39 0 63.6 37.3 69 74.3 73.1-4.8 4.3-9.1 11.7-10.6 22.3-9.5 4.3-33.8 11.7-48.3-13.9-9.1-15.8-25.5-17.1-25.5-17.1-16.2-.2-1.1 10.2-1.1 10.2 10.8 5 18.4 24.2 18.4 24.2 9.7 29.7 56.1 19.7 56.1 19.7 0 13.9.2 36.5.2 40.6 0 4.3-3 9.5-11.5 8-66-22.1-112.2-84.9-112.2-158.3 0-91.8 70.2-161.5 162-161.5S388 165.6 388 257.4c.1 73.4-44.7 136.3-110.7 158.3zm-98.1-61.1c-1.9.4-3.7-.4-3.9-1.7-.2-1.5 1.1-2.8 3-3.2 1.9-.2 3.7.6 3.9 1.9.3 1.3-1 2.6-3 3zm-9.5-.9c0 1.3-1.5 2.4-3.5 2.4-2.2.2-3.7-.9-3.7-2.4 0-1.3 1.5-2.4 3.5-2.4 1.9-.2 3.7.9 3.7 2.4zm-13.7-1.1c-.4 1.3-2.4 1.9-4.1 1.3-1.9-.4-3.2-1.9-2.8-3.2.4-1.3 2.4-1.9 4.1-1.5 2 .6 3.3 2.1 2.8 3.4zm-12.3-5.4c-.9 1.1-2.8.9-4.3-.6-1.5-1.3-1.9-3.2-.9-4.1.9-1.1 2.8-.9 4.3.6 1.3 1.3 1.8 3.3.9 4.1zm-9.1-9.1c-.9.6-2.6 0-3.7-1.5s-1.1-3.2 0-3.9c1.1-.9 2.8-.2 3.7 1.3 1.1 1.5 1.1 3.3 0 4.1zm-6.5-9.7c-.9.9-2.4.4-3.5-.6-1.1-1.3-1.3-2.8-.4-3.5.9-.9 2.4-.4 3.5.6 1.1 1.3 1.3 2.8.4 3.5zm-6.7-7.4c-.4.9-1.7 1.1-2.8.4-1.3-.6-1.9-1.7-1.5-2.6.4-.6 1.5-.9 2.8-.4 1.3.7 1.9 1.8 1.5 2.6z"],gitkraken:[592,512,[],"f3a6","M565.7 118.1c-2.3-6.1-9.3-9.2-15.3-6.6-5.7 2.4-8.5 8.9-6.3 14.6 10.9 29 16.9 60.5 16.9 93.3 0 134.6-100.3 245.7-230.2 262.7V358.4c7.9-1.5 15.5-3.6 23-6.2v104c106.7-25.9 185.9-122.1 185.9-236.8 0-91.8-50.8-171.8-125.8-213.3-5.7-3.2-13-.9-15.9 5-2.7 5.5-.6 12.2 4.7 15.1 67.9 37.6 113.9 110 113.9 193.2 0 93.3-57.9 173.1-139.8 205.4v-92.2c14.2-4.5 24.9-17.7 24.9-33.5 0-13.1-6.8-24.4-17.3-30.5 8.3-79.5 44.5-58.6 44.5-83.9V170c0-38-87.9-161.8-129-164.7-2.5-.2-5-.2-7.6 0C251.1 8.3 163.2 132 163.2 170v14.8c0 25.3 36.3 4.3 44.5 83.9-10.6 6.1-17.3 17.4-17.3 30.5 0 15.8 10.6 29 24.8 33.5v92.2c-81.9-32.2-139.8-112-139.8-205.4 0-83.1 46-155.5 113.9-193.2 5.4-3 7.4-9.6 4.7-15.1-2.9-5.9-10.1-8.2-15.9-5-75 41.5-125.8 121.5-125.8 213.3 0 114.7 79.2 210.8 185.9 236.8v-104c7.6 2.5 15.1 4.6 23 6.2v123.7C131.4 465.2 31 354.1 31 219.5c0-32.8 6-64.3 16.9-93.3 2.2-5.8-.6-12.2-6.3-14.6-6-2.6-13 .4-15.3 6.6C14.5 149.7 8 183.8 8 219.5c0 155.1 122.6 281.6 276.3 287.8V361.4c6.8.4 15 .5 23.4 0v145.8C461.4 501.1 584 374.6 584 219.5c0-35.7-6.5-69.8-18.3-101.4zM365.9 275.5c13 0 23.7 10.5 23.7 23.7 0 13.1-10.6 23.7-23.7 23.7-13 0-23.7-10.5-23.7-23.7 0-13.1 10.6-23.7 23.7-23.7zm-139.8 47.3c-13.2 0-23.7-10.7-23.7-23.7s10.5-23.7 23.7-23.7c13.1 0 23.7 10.6 23.7 23.7 0 13-10.5 23.7-23.7 23.7z"],gitlab:[512,512,[],"f296","M105.2 24.9c-3.1-8.9-15.7-8.9-18.9 0L29.8 199.7h132c-.1 0-56.6-174.8-56.6-174.8zM.9 287.7c-2.6 8 .3 16.9 7.1 22l247.9 184-226.2-294zm160.8-88l94.3 294 94.3-294zm349.4 88l-28.8-88-226.3 294 247.9-184c6.9-5.1 9.7-14 7.2-22zM425.7 24.9c-3.1-8.9-15.7-8.9-18.9 0l-56.6 174.8h132z"],gitter:[384,512,[],"f426","M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"],glide:[448,512,[],"f2a5","M252.8 148.6c0 8.8-1.6 17.7-3.4 26.4-5.8 27.8-11.6 55.8-17.3 83.6-1.4 6.3-8.3 4.9-13.7 4.9-23.8 0-30.5-26-30.5-45.5 0-29.3 11.2-68.1 38.5-83.1 4.3-2.5 9.2-4.2 14.1-4.2 11.4 0 12.3 8.3 12.3 17.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-64 187c0-5.1-20.8-37.7-25.5-39.5-2.2-.9-7.2-2.3-9.6-2.3-23.1 0-38.7 10.5-58.2 21.5l-.5-.5c4.3-29.4 14.6-57.2 14.6-87.4 0-44.6-23.8-62.7-67.5-62.7-71.7 0-108 70.8-108 123.5 0 54.7 32 85 86.3 85 7.5 0 6.9-.6 6.9 2.3-10.5 80.3-56.5 82.9-56.5 58.9 0-24.4 28-36.5 28.3-38-.2-7.6-29.3-17.2-36.7-17.2-21.1 0-32.7 33-32.7 50.6 0 32.3 20.4 54.7 53.3 54.7 48.2 0 83.4-49.7 94.3-91.7 9.4-37.7 7-39.4 12.3-42.1 20-10.1 35.8-16.8 58.4-16.8 11.1 0 19 2.3 36.7 5.2 1.8.1 4.1-1.7 4.1-3.5z"],"glide-g":[448,512,[],"f2a6","M407.1 211.2c-3.5-1.4-11.6-3.8-15.4-3.8-37.1 0-62.2 16.8-93.5 34.5l-.9-.9c7-47.3 23.5-91.9 23.5-140.4C320.8 29.1 282.6 0 212.4 0 97.3 0 39 113.7 39 198.4 39 286.3 90.3 335 177.6 335c12 0 11-1 11 3.8-16.9 128.9-90.8 133.1-90.8 94.6 0-39.2 45-58.6 45.5-61-.3-12.2-47-27.6-58.9-27.6-33.9.1-52.4 51.2-52.4 79.3C32 476 64.8 512 117.5 512c77.4 0 134-77.8 151.4-145.4 15.1-60.5 11.2-63.3 19.7-67.6 32.2-16.2 57.5-27 93.8-27 17.8 0 30.5 3.7 58.9 8.4 2.9 0 6.7-2.9 6.7-5.8 0-8-33.4-60.5-40.9-63.4zm-175.3-84.4c-9.3 44.7-18.6 89.6-27.8 134.3-2.3 10.2-13.3 7.8-22 7.8-38.3 0-49-41.8-49-73.1 0-47 18-109.3 61.8-133.4 7-4.1 14.8-6.7 22.6-6.7 18.6 0 20 13.3 20 28.7-.1 14.3-2.7 28.5-5.6 42.4z"],gofore:[400,512,[],"f3a7","M324 319.8h-13.2v34.7c-24.5 23.1-56.3 35.8-89.9 35.8-73.2 0-132.4-60.2-132.4-134.4 0-74.1 59.2-134.4 132.4-134.4 35.3 0 68.6 14 93.6 39.4l62.3-63.3C335 55.3 279.7 32 220.7 32 98 32 0 132.6 0 256c0 122.5 97 224 220.7 224 63.2 0 124.5-26.2 171-82.5-2-27.6-13.4-77.7-67.7-77.7zm-12.1-112.5H205.6v89H324c33.5 0 60.5 15.1 76 41.8v-30.6c0-65.2-40.4-100.2-88.1-100.2z"],goodreads:[448,512,[],"f3a8","M299.9 191.2c5.1 37.3-4.7 79-35.9 100.7-22.3 15.5-52.8 14.1-70.8 5.7-37.1-17.3-49.5-58.6-46.8-97.2 4.3-60.9 40.9-87.9 75.3-87.5 46.9-.2 71.8 31.8 78.2 78.3zM448 88v336c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V88c0-30.9 25.1-56 56-56h336c30.9 0 56 25.1 56 56zM330 313.2s-.1-34-.1-217.3h-29v40.3c-.8.3-1.2-.5-1.6-1.2-9.6-20.7-35.9-46.3-76-46-51.9.4-87.2 31.2-100.6 77.8-4.3 14.9-5.8 30.1-5.5 45.6 1.7 77.9 45.1 117.8 112.4 115.2 28.9-1.1 54.5-17 69-45.2.5-1 1.1-1.9 1.7-2.9.2.1.4.1.6.2.3 3.8.2 30.7.1 34.5-.2 14.8-2 29.5-7.2 43.5-7.8 21-22.3 34.7-44.5 39.5-17.8 3.9-35.6 3.8-53.2-1.2-21.5-6.1-36.5-19-41.1-41.8-.3-1.6-1.3-1.3-2.3-1.3h-26.8c.8 10.6 3.2 20.3 8.5 29.2 24.2 40.5 82.7 48.5 128.2 37.4 49.9-12.3 67.3-54.9 67.4-106.3z"],"goodreads-g":[384,512,[],"f3a9","M42.6 403.3h2.8c12.7 0 25.5 0 38.2.1 1.6 0 3.1-.4 3.6 2.1 7.1 34.9 30 54.6 62.9 63.9 26.9 7.6 54.1 7.8 81.3 1.8 33.8-7.4 56-28.3 68-60.4 8-21.5 10.7-43.8 11-66.5.1-5.8.3-47-.2-52.8l-.9-.3c-.8 1.5-1.7 2.9-2.5 4.4-22.1 43.1-61.3 67.4-105.4 69.1-103 4-169.4-57-172-176.2-.5-23.7 1.8-46.9 8.3-69.7C58.3 47.7 112.3.6 191.6 0c61.3-.4 101.5 38.7 116.2 70.3.5 1.1 1.3 2.3 2.4 1.9V10.6h44.3c0 280.3.1 332.2.1 332.2-.1 78.5-26.7 143.7-103 162.2-69.5 16.9-159 4.8-196-57.2-8-13.5-11.8-28.3-13-44.5zM188.9 36.5c-52.5-.5-108.5 40.7-115 133.8-4.1 59 14.8 122.2 71.5 148.6 27.6 12.9 74.3 15 108.3-8.7 47.6-33.2 62.7-97 54.8-154-9.7-71.1-47.8-120-119.6-119.7z"],google:[488,512,[],"f1a0","M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z"],"google-drive":[512,512,[],"f3aa","M339 314.9L175.4 32h161.2l163.6 282.9H339zm-137.5 23.6L120.9 480h310.5L512 338.5H201.5zM154.1 67.4L0 338.5 80.6 480 237 208.8 154.1 67.4z"],"google-pay":[640,512,[],"e079","M105.72,215v41.25h57.1a49.66,49.66,0,0,1-21.14,32.6c-9.54,6.55-21.72,10.28-36,10.28-27.6,0-50.93-18.91-59.3-44.22a65.61,65.61,0,0,1,0-41l0,0c8.37-25.46,31.7-44.37,59.3-44.37a56.43,56.43,0,0,1,40.51,16.08L176.47,155a101.24,101.24,0,0,0-70.75-27.84,105.55,105.55,0,0,0-94.38,59.11,107.64,107.64,0,0,0,0,96.18v.15a105.41,105.41,0,0,0,94.38,59c28.47,0,52.55-9.53,70-25.91,20-18.61,31.41-46.15,31.41-78.91A133.76,133.76,0,0,0,205.38,215Zm389.41-4c-10.13-9.38-23.93-14.14-41.39-14.14-22.46,0-39.34,8.34-50.5,24.86l20.85,13.26q11.45-17,31.26-17a34.05,34.05,0,0,1,22.75,8.79A28.14,28.14,0,0,1,487.79,248v5.51c-9.1-5.07-20.55-7.75-34.64-7.75-16.44,0-29.65,3.88-39.49,11.77s-14.82,18.31-14.82,31.56a39.74,39.74,0,0,0,13.94,31.27c9.25,8.34,21,12.51,34.79,12.51,16.29,0,29.21-7.3,39-21.89h1v17.72h22.61V250C510.25,233.45,505.26,220.34,495.13,211ZM475.9,300.3a37.32,37.32,0,0,1-26.57,11.16A28.61,28.61,0,0,1,431,305.21a19.41,19.41,0,0,1-7.77-15.63c0-7,3.22-12.81,9.54-17.42s14.53-7,24.07-7C470,265,480.3,268,487.64,273.94,487.64,284.07,483.68,292.85,475.9,300.3Zm-93.65-142A55.71,55.71,0,0,0,341.74,142H279.07V328.74H302.7V253.1h39c16,0,29.5-5.36,40.51-15.93.88-.89,1.76-1.79,2.65-2.68A54.45,54.45,0,0,0,382.25,158.26Zm-16.58,62.23a30.65,30.65,0,0,1-23.34,9.68H302.7V165h39.63a32,32,0,0,1,22.6,9.23A33.18,33.18,0,0,1,365.67,220.49ZM614.31,201,577.77,292.7h-.45L539.9,201H514.21L566,320.55l-29.35,64.32H561L640,201Z"],"google-play":[512,512,[],"f3ab","M325.3 234.3L104.6 13l280.8 161.2-60.1 60.1zM47 0C34 6.8 25.3 19.2 25.3 35.3v441.3c0 16.1 8.7 28.5 21.7 35.3l256.6-256L47 0zm425.2 225.6l-58.9-34.1-65.7 64.5 65.7 64.5 60.1-34.1c18-14.3 18-46.5-1.2-60.8zM104.6 499l280.8-161.2-60.1-60.1L104.6 499z"],"google-plus":[512,512,[],"f2b3","M256,8C119.1,8,8,119.1,8,256S119.1,504,256,504,504,392.9,504,256,392.9,8,256,8ZM185.3,380a124,124,0,0,1,0-248c31.3,0,60.1,11,83,32.3l-33.6,32.6c-13.2-12.9-31.3-19.1-49.4-19.1-42.9,0-77.2,35.5-77.2,78.1S142.3,334,185.3,334c32.6,0,64.9-19.1,70.1-53.3H185.3V238.1H302.2a109.2,109.2,0,0,1,1.9,20.7c0,70.8-47.5,121.2-118.8,121.2ZM415.5,273.8v35.5H380V273.8H344.5V238.3H380V202.8h35.5v35.5h35.2v35.5Z"],"google-plus-g":[640,512,[],"f0d5","M386.061 228.496c1.834 9.692 3.143 19.384 3.143 31.956C389.204 370.205 315.599 448 204.8 448c-106.084 0-192-85.915-192-192s85.916-192 192-192c51.864 0 95.083 18.859 128.611 50.292l-52.126 50.03c-14.145-13.621-39.028-29.599-76.485-29.599-65.484 0-118.92 54.221-118.92 121.277 0 67.056 53.436 121.277 118.92 121.277 75.961 0 104.513-54.745 108.965-82.773H204.8v-66.009h181.261zm185.406 6.437V179.2h-56.001v55.733h-55.733v56.001h55.733v55.733h56.001v-55.733H627.2v-56.001h-55.733z"],"google-plus-square":[448,512,[],"f0d4","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM164 356c-55.3 0-100-44.7-100-100s44.7-100 100-100c27 0 49.5 9.8 67 26.2l-27.1 26.1c-7.4-7.1-20.3-15.4-39.8-15.4-34.1 0-61.9 28.2-61.9 63.2 0 34.9 27.8 63.2 61.9 63.2 39.6 0 54.4-28.5 56.8-43.1H164v-34.4h94.4c1 5 1.6 10.1 1.6 16.6 0 57.1-38.3 97.6-96 97.6zm220-81.8h-29v29h-29.2v-29h-29V245h29v-29H355v29h29v29.2z"],"google-wallet":[448,512,[],"f1ee","M156.8 126.8c37.6 60.6 64.2 113.1 84.3 162.5-8.3 33.8-18.8 66.5-31.3 98.3-13.2-52.3-26.5-101.3-56-148.5 6.5-36.4 2.3-73.6 3-112.3zM109.3 200H16.1c-6.5 0-10.5 7.5-6.5 12.7C51.8 267 81.3 330.5 101.3 400h103.5c-16.2-69.7-38.7-133.7-82.5-193.5-3-4-8-6.5-13-6.5zm47.8-88c68.5 108 130 234.5 138.2 368H409c-12-138-68.4-265-143.2-368H157.1zm251.8-68.5c-1.8-6.8-8.2-11.5-15.2-11.5h-88.3c-5.3 0-9 5-7.8 10.3 13.2 46.5 22.3 95.5 26.5 146 48.2 86.2 79.7 178.3 90.6 270.8 15.8-60.5 25.3-133.5 25.3-203 0-73.6-12.1-145.1-31.1-212.6z"],gratipay:[496,512,[],"f184","M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm114.6 226.4l-113 152.7-112.7-152.7c-8.7-11.9-19.1-50.4 13.6-72 28.1-18.1 54.6-4.2 68.5 11.9 15.9 17.9 46.6 16.9 61.7 0 13.9-16.1 40.4-30 68.1-11.9 32.9 21.6 22.6 60 13.8 72z"],grav:[512,512,[],"f2d6","M301.1 212c4.4 4.4 4.4 11.9 0 16.3l-9.7 9.7c-4.4 4.7-11.9 4.7-16.6 0l-10.5-10.5c-4.4-4.7-4.4-11.9 0-16.6l9.7-9.7c4.4-4.4 11.9-4.4 16.6 0l10.5 10.8zm-30.2-19.7c3-3 3-7.8 0-10.5-2.8-3-7.5-3-10.5 0-2.8 2.8-2.8 7.5 0 10.5 3.1 2.8 7.8 2.8 10.5 0zm-26 5.3c-3 2.8-3 7.5 0 10.2 2.8 3 7.5 3 10.5 0 2.8-2.8 2.8-7.5 0-10.2-3-3-7.7-3-10.5 0zm72.5-13.3c-19.9-14.4-33.8-43.2-11.9-68.1 21.6-24.9 40.7-17.2 59.8.8 11.9 11.3 29.3 24.9 17.2 48.2-12.5 23.5-45.1 33.2-65.1 19.1zm47.7-44.5c-8.9-10-23.3 6.9-15.5 16.1 7.4 9 32.1 2.4 15.5-16.1zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-66.2 42.6c2.5-16.1-20.2-16.6-25.2-25.7-13.6-24.1-27.7-36.8-54.5-30.4 11.6-8 23.5-6.1 23.5-6.1.3-6.4 0-13-9.4-24.9 3.9-12.5.3-22.4.3-22.4 15.5-8.6 26.8-24.4 29.1-43.2 3.6-31-18.8-59.2-49.8-62.8-22.1-2.5-43.7 7.7-54.3 25.7-23.2 40.1 1.4 70.9 22.4 81.4-14.4-1.4-34.3-11.9-40.1-34.3-6.6-25.7 2.8-49.8 8.9-61.4 0 0-4.4-5.8-8-8.9 0 0-13.8 0-24.6 5.3 11.9-15.2 25.2-14.4 25.2-14.4 0-6.4-.6-14.9-3.6-21.6-5.4-11-23.8-12.9-31.7 2.8.1-.2.3-.4.4-.5-5 11.9-1.1 55.9 16.9 87.2-2.5 1.4-9.1 6.1-13 10-21.6 9.7-56.2 60.3-56.2 60.3-28.2 10.8-77.2 50.9-70.6 79.7.3 3 1.4 5.5 3 7.5-2.8 2.2-5.5 5-8.3 8.3-11.9 13.8-5.3 35.2 17.7 24.4 15.8-7.2 29.6-20.2 36.3-30.4 0 0-5.5-5-16.3-4.4 27.7-6.6 34.3-9.4 46.2-9.1 8 3.9 8-34.3 8-34.3 0-14.7-2.2-31-11.1-41.5 12.5 12.2 29.1 32.7 28 60.6-.8 18.3-15.2 23-15.2 23-9.1 16.6-43.2 65.9-30.4 106 0 0-9.7-14.9-10.2-22.1-17.4 19.4-46.5 52.3-24.6 64.5 26.6 14.7 108.8-88.6 126.2-142.3 34.6-20.8 55.4-47.3 63.9-65 22 43.5 95.3 94.5 101.1 59z"],gripfire:[384,512,[],"f3ac","M112.5 301.4c0-73.8 105.1-122.5 105.1-203 0-47.1-34-88-39.1-90.4.4 3.3.6 6.7.6 10C179.1 110.1 32 171.9 32 286.6c0 49.8 32.2 79.2 66.5 108.3 65.1 46.7 78.1 71.4 78.1 86.6 0 10.1-4.8 17-4.8 22.3 13.1-16.7 17.4-31.9 17.5-46.4 0-29.6-21.7-56.3-44.2-86.5-16-22.3-32.6-42.6-32.6-69.5zm205.3-39c-12.1-66.8-78-124.4-94.7-130.9l4 7.2c2.4 5.1 3.4 10.9 3.4 17.1 0 44.7-54.2 111.2-56.6 116.7-2.2 5.1-3.2 10.5-3.2 15.8 0 20.1 15.2 42.1 17.9 42.1 2.4 0 56.6-55.4 58.1-87.7 6.4 11.7 9.1 22.6 9.1 33.4 0 41.2-41.8 96.9-41.8 96.9 0 11.6 31.9 53.2 35.5 53.2 1 0 2.2-1.4 3.2-2.4 37.9-39.3 67.3-85 67.3-136.8 0-8-.7-16.2-2.2-24.6z"],grunt:[384,512,[],"f3ad","M61.3 189.3c-1.1 10 5.2 19.1 5.2 19.1.7-7.5 2.2-12.8 4-16.6.4 10.3 3.2 23.5 12.8 34.1 6.9 7.6 35.6 23.3 54.9 6.1 1 2.4 2.1 5.3 3 8.5 2.9 10.3-2.7 25.3-2.7 25.3s15.1-17.1 13.9-32.5c10.8-.5 21.4-8.4 21.1-19.5 0 0-18.9 10.4-35.5-8.8-9.7-11.2-40.9-42-83.1-31.8 4.3 1 8.9 2.4 13.5 4.1h-.1c-4.2 2-6.5 7.1-7 12zm28.3-1.8c19.5 11 37.4 25.7 44.9 37-5.7 3.3-21.7 10.4-38-1.7-10.3-7.6-9.8-26.2-6.9-35.3zm142.1 45.8c-1.2 15.5 13.9 32.5 13.9 32.5s-5.6-15-2.7-25.3c.9-3.2 2-6 3-8.5 19.3 17.3 48 1.5 54.8-6.1 9.6-10.6 12.3-23.8 12.8-34.1 1.8 3.8 3.4 9.1 4 16.6 0 0 6.4-9.1 5.2-19.1-.6-5-2.9-10-7-11.8h-.1c4.6-1.8 9.2-3.2 13.5-4.1-42.3-10.2-73.4 20.6-83.1 31.8-16.7 19.2-35.5 8.8-35.5 8.8-.2 10.9 10.4 18.9 21.2 19.3zm62.7-45.8c3 9.1 3.4 27.7-7 35.4-16.3 12.1-32.2 5-37.9 1.6 7.5-11.4 25.4-26 44.9-37zM160 418.5h-29.4c-5.5 0-8.2 1.6-9.5 2.9-1.9 2-2.2 4.7-.9 8.1 3.5 9.1 11.4 16.5 13.7 18.6 3.1 2.7 7.5 4.3 11.8 4.3 4.4 0 8.3-1.7 11-4.6 7.5-8.2 11.9-17.1 13-19.8.6-1.5 1.3-4.5-.9-6.8-1.8-1.8-4.7-2.7-8.8-2.7zm189.2-101.2c-2.4 17.9-13 33.8-24.6 43.7-3.1-22.7-3.7-55.5-3.7-62.4 0-14.7 9.5-24.5 12.2-26.1 2.5-1.5 5.4-3 8.3-4.6 18-9.6 40.4-21.6 40.4-43.7 0-16.2-9.3-23.2-15.4-27.8-.8-.6-1.5-1.1-2.2-1.7-2.1-1.7-3.7-3-4.3-4.4-4.4-9.8-3.6-34.2-1.7-37.6.6-.6 16.7-20.9 11.8-39.2-2-7.4-6.9-13.3-14.1-17-5.3-2.7-11.9-4.2-19.5-4.5-.1-2-.5-3.9-.9-5.9-.6-2.6-1.1-5.3-.9-8.1.4-4.7.8-9 2.2-11.3 8.4-13.3 28.8-17.6 29-17.6l12.3-2.4-8.1-9.5c-.1-.2-17.3-17.5-46.3-17.5-7.9 0-16 1.3-24.1 3.9-24.2 7.8-42.9 30.5-49.4 39.3-3.1-1-6.3-1.9-9.6-2.7-4.2-15.8 9-38.5 9-38.5s-13.6-3-33.7 15.2c-2.6-6.5-8.1-20.5-1.8-37.2C184.6 10.1 177.2 26 175 40.4c-7.6-5.4-6.7-23.1-7.2-27.6-7.5.9-29.2 21.9-28.2 48.3-2 .5-3.9 1.1-5.9 1.7-6.5-8.8-25.1-31.5-49.4-39.3-7.9-2.2-16-3.5-23.9-3.5-29 0-46.1 17.3-46.3 17.5L6 46.9l12.3 2.4c.2 0 20.6 4.3 29 17.6 1.4 2.2 1.8 6.6 2.2 11.3.2 2.8-.4 5.5-.9 8.1-.4 1.9-.8 3.9-.9 5.9-7.7.3-14.2 1.8-19.5 4.5-7.2 3.7-12.1 9.6-14.1 17-5 18.2 11.2 38.5 11.8 39.2 1.9 3.4 2.7 27.8-1.7 37.6-.6 1.4-2.2 2.7-4.3 4.4-.7.5-1.4 1.1-2.2 1.7-6.1 4.6-15.4 11.7-15.4 27.8 0 22.1 22.4 34.1 40.4 43.7 3 1.6 5.8 3.1 8.3 4.6 2.7 1.6 12.2 11.4 12.2 26.1 0 6.9-.6 39.7-3.7 62.4-11.6-9.9-22.2-25.9-24.6-43.8 0 0-29.2 22.6-20.6 70.8 5.2 29.5 23.2 46.1 47 54.7 8.8 19.1 29.4 45.7 67.3 49.6C143 504.3 163 512 192.2 512h.2c29.1 0 49.1-7.7 63.6-19.5 37.9-3.9 58.5-30.5 67.3-49.6 23.8-8.7 41.7-25.2 47-54.7 8.2-48.4-21.1-70.9-21.1-70.9zM305.7 37.7c5.6-1.8 11.6-2.7 17.7-2.7 11 0 19.9 3 24.7 5-3.1 1.4-6.4 3.2-9.7 5.3-2.4-.4-5.6-.8-9.2-.8-10.5 0-20.5 3.1-28.7 8.9-12.3 8.7-18 16.9-20.7 22.4-2.2-1.3-4.5-2.5-7.1-3.7-1.6-.8-3.1-1.5-4.7-2.2 6.1-9.1 19.9-26.5 37.7-32.2zm21 18.2c-.8 1-1.6 2.1-2.3 3.2-3.3 5.2-3.9 11.6-4.4 17.8-.5 6.4-1.1 12.5-4.4 17-4.2.8-8.1 1.7-11.5 2.7-2.3-3.1-5.6-7-10.5-11.2 1.4-4.8 5.5-16.1 13.5-22.5 5.6-4.3 12.2-6.7 19.6-7zM45.6 45.3c-3.3-2.2-6.6-4-9.7-5.3 4.8-2 13.7-5 24.7-5 6.1 0 12 .9 17.7 2.7 17.8 5.8 31.6 23.2 37.7 32.1-1.6.7-3.2 1.4-4.8 2.2-2.5 1.2-4.9 2.5-7.1 3.7-2.6-5.4-8.3-13.7-20.7-22.4-8.3-5.8-18.2-8.9-28.8-8.9-3.4.1-6.6.5-9 .9zm44.7 40.1c-4.9 4.2-8.3 8-10.5 11.2-3.4-.9-7.3-1.9-11.5-2.7C65 89.5 64.5 83.4 64 77c-.5-6.2-1.1-12.6-4.4-17.8-.7-1.1-1.5-2.2-2.3-3.2 7.4.3 14 2.6 19.5 7 8 6.3 12.1 17.6 13.5 22.4zM58.1 259.9c-2.7-1.6-5.6-3.1-8.4-4.6-14.9-8-30.2-16.3-30.2-30.5 0-11.1 4.3-14.6 8.9-18.2l.5-.4c.7-.6 1.4-1.2 2.2-1.8-.9 7.2-1.9 13.3-2.7 14.9 0 0 12.1-15 15.7-44.3 1.4-11.5-1.1-34.3-5.1-43 .2 4.9 0 9.8-.3 14.4-.4-.8-.8-1.6-1.3-2.2-3.2-4-11.8-17.5-9.4-26.6.9-3.5 3.1-6 6.7-7.8 3.8-1.9 8.8-2.9 15.1-2.9 12.3 0 25.9 3.7 32.9 6 25.1 8 55.4 30.9 64.1 37.7.2.2.4.3.4.3l5.6 3.9-3.5-5.8c-.2-.3-19.1-31.4-53.2-46.5 2-2.9 7.4-8.1 21.6-15.1 21.4-10.5 46.5-15.8 74.3-15.8 27.9 0 52.9 5.3 74.3 15.8 14.2 6.9 19.6 12.2 21.6 15.1-34 15.1-52.9 46.2-53.1 46.5l-3.5 5.8 5.6-3.9s.2-.1.4-.3c8.7-6.8 39-29.8 64.1-37.7 7-2.2 20.6-6 32.9-6 6.3 0 11.3 1 15.1 2.9 3.5 1.8 5.7 4.4 6.7 7.8 2.5 9.1-6.1 22.6-9.4 26.6-.5.6-.9 1.3-1.3 2.2-.3-4.6-.5-9.5-.3-14.4-4 8.8-6.5 31.5-5.1 43 3.6 29.3 15.7 44.3 15.7 44.3-.8-1.6-1.8-7.7-2.7-14.9.7.6 1.5 1.2 2.2 1.8l.5.4c4.6 3.7 8.9 7.1 8.9 18.2 0 14.2-15.4 22.5-30.2 30.5-2.9 1.5-5.7 3.1-8.4 4.6-8.7 5-18 16.7-19.1 34.2-.9 14.6.9 49.9 3.4 75.9-12.4 4.8-26.7 6.4-39.7 6.8-2-4.1-3.9-8.5-5.5-13.1-.7-2-19.6-51.1-26.4-62.2 5.5 39 17.5 73.7 23.5 89.6-3.5-.5-7.3-.7-11.7-.7h-117c-4.4 0-8.3.3-11.7.7 6-15.9 18.1-50.6 23.5-89.6-6.8 11.2-25.7 60.3-26.4 62.2-1.6 4.6-3.5 9-5.5 13.1-13-.4-27.2-2-39.7-6.8 2.5-26 4.3-61.2 3.4-75.9-.9-17.4-10.3-29.2-19-34.2zM34.8 404.6c-12.1-20-8.7-54.1-3.7-59.1 10.9 34.4 47.2 44.3 74.4 45.4-2.7 4.2-5.2 7.6-7 10l-1.4 1.4c-7.2 7.8-8.6 18.5-4.1 31.8-22.7-.1-46.3-9.8-58.2-29.5zm45.7 43.5c6 1.1 12.2 1.9 18.6 2.4 3.5 8 7.4 15.9 12.3 23.1-14.4-5.9-24.4-16-30.9-25.5zM192 498.2c-60.6-.1-78.3-45.8-84.9-64.7-3.7-10.5-3.4-18.2.9-23.1 2.9-3.3 9.5-7.2 24.6-7.2h118.8c15.1 0 21.8 3.9 24.6 7.2 4.2 4.8 4.5 12.6.9 23.1-6.6 18.8-24.3 64.6-84.9 64.7zm80.6-24.6c4.9-7.2 8.8-15.1 12.3-23.1 6.4-.5 12.6-1.3 18.6-2.4-6.5 9.5-16.5 19.6-30.9 25.5zm76.6-69c-12 19.7-35.6 29.3-58.1 29.7 4.5-13.3 3.1-24.1-4.1-31.8-.4-.5-.9-1-1.4-1.5-1.8-2.4-4.3-5.8-7-10 27.2-1.2 63.5-11 74.4-45.4 5 5 8.4 39.1-3.8 59zM191.9 187.7h.2c12.7-.1 27.2-17.8 27.2-17.8-9.9 6-18.8 8.1-27.3 8.3-8.5-.2-17.4-2.3-27.3-8.3 0 0 14.5 17.6 27.2 17.8zm61.7 230.7h-29.4c-4.2 0-7.2.9-8.9 2.7-2.2 2.3-1.5 5.2-.9 6.7 1 2.6 5.5 11.3 13 19.3 2.7 2.9 6.6 4.5 11 4.5s8.7-1.6 11.8-4.2c2.3-2 10.2-9.2 13.7-18.1 1.3-3.3 1-6-.9-7.9-1.3-1.3-4-2.9-9.4-3z"],gulp:[256,512,[],"f3ae","M209.8 391.1l-14.1 24.6-4.6 80.2c0 8.9-28.3 16.1-63.1 16.1s-63.1-7.2-63.1-16.1l-5.8-79.4-14.9-25.4c41.2 17.3 126 16.7 165.6 0zm-196-253.3l13.6 125.5c5.9-20 20.8-47 40-55.2 6.3-2.7 12.7-2.7 18.7.9 5.2 3 9.6 9.3 10.1 11.8 1.2 6.5-2 9.1-4.5 9.1-3 0-5.3-4.6-6.8-7.3-4.1-7.3-10.3-7.6-16.9-2.8-6.9 5-12.9 13.4-17.1 20.7-5.1 8.8-9.4 18.5-12 28.2-1.5 5.6-2.9 14.6-.6 19.9 1 2.2 2.5 3.6 4.9 3.6 5 0 12.3-6.6 15.8-10.1 4.5-4.5 10.3-11.5 12.5-16l5.2-15.5c2.6-6.8 9.9-5.6 9.9 0 0 10.2-3.7 13.6-10 34.7-5.8 19.5-7.6 25.8-7.6 25.8-.7 2.8-3.4 7.5-6.3 7.5-1.2 0-2.1-.4-2.6-1.2-1-1.4-.9-5.3-.8-6.3.2-3.2 6.3-22.2 7.3-25.2-2 2.2-4.1 4.4-6.4 6.6-5.4 5.1-14.1 11.8-21.5 11.8-3.4 0-5.6-.9-7.7-2.4l7.6 79.6c2 5 39.2 17.1 88.2 17.1 49.1 0 86.3-12.2 88.2-17.1l10.9-94.6c-5.7 5.2-12.3 11.6-19.6 14.8-5.4 2.3-17.4 3.8-17.4-5.7 0-5.2 9.1-14.8 14.4-21.5 1.4-1.7 4.7-5.9 4.7-8.1 0-2.9-6-2.2-11.7 2.5-3.2 2.7-6.2 6.3-8.7 9.7-4.3 6-6.6 11.2-8.5 15.5-6.2 14.2-4.1 8.6-9.1 22-5 13.3-4.2 11.8-5.2 14-.9 1.9-2.2 3.5-4 4.5-1.9 1-4.5.9-6.1-.3-.9-.6-1.3-1.9-1.3-3.7 0-.9.1-1.8.3-2.7 1.5-6.1 7.8-18.1 15-34.3 1.6-3.7 1-2.6.8-2.3-6.2 6-10.9 8.9-14.4 10.5-5.8 2.6-13 2.6-14.5-4.1-.1-.4-.1-.8-.2-1.2-11.8 9.2-24.3 11.7-20-8.1-4.6 8.2-12.6 14.9-22.4 14.9-4.1 0-7.1-1.4-8.6-5.1-2.3-5.5 1.3-14.9 4.6-23.8 1.7-4.5 4-9.9 7.1-16.2 1.6-3.4 4.2-5.4 7.6-4.5.6.2 1.1.4 1.6.7 2.6 1.8 1.6 4.5.3 7.2-3.8 7.5-7.1 13-9.3 20.8-.9 3.3-2 9 1.5 9 2.4 0 4.7-.8 6.9-2.4 4.6-3.4 8.3-8.5 11.1-13.5 2-3.6 4.4-8.3 5.6-12.3.5-1.7 1.1-3.3 1.8-4.8 1.1-2.5 2.6-5.1 5.2-5.1 1.3 0 2.4.5 3.2 1.5 1.7 2.2 1.3 4.5.4 6.9-2 5.6-4.7 10.6-6.9 16.7-1.3 3.5-2.7 8-2.7 11.7 0 3.4 3.7 2.6 6.8 1.2 2.4-1.1 4.8-2.8 6.8-4.5 1.2-4.9.9-3.8 26.4-68.2 1.3-3.3 3.7-4.7 6.1-4.7 1.2 0 2.2.4 3.2 1.1 1.7 1.3 1.7 4.1 1 6.2-.7 1.9-.6 1.3-4.5 10.5-5.2 12.1-8.6 20.8-13.2 31.9-1.9 4.6-7.7 18.9-8.7 22.3-.6 2.2-1.3 5.8 1 5.8 5.4 0 19.3-13.1 23.1-17 .2-.3.5-.4.9-.6.6-1.9 1.2-3.7 1.7-5.5 1.4-3.8 2.7-8.2 5.3-11.3.8-1 1.7-1.6 2.7-1.6 2.8 0 4.2 1.2 4.2 4 0 1.1-.7 5.1-1.1 6.2 1.4-1.5 2.9-3 4.5-4.5 15-13.9 25.7-6.8 25.7.2 0 7.4-8.9 17.7-13.8 23.4-1.6 1.9-4.9 5.4-5 6.4 0 1.3.9 1.8 2.2 1.8 2 0 6.4-3.5 8-4.7 5-3.9 11.8-9.9 16.6-14.1l14.8-136.8c-30.5 17.1-197.6 17.2-228.3.2zm229.7-8.5c0 21-231.2 21-231.2 0 0-8.8 51.8-15.9 115.6-15.9 9 0 17.8.1 26.3.4l12.6-48.7L228.1.6c1.4-1.4 5.8-.2 9.9 3.5s6.6 7.9 5.3 9.3l-.1.1L185.9 74l-10 40.7c39.9 2.6 67.6 8.1 67.6 14.6zm-69.4 4.6c0-.8-.9-1.5-2.5-2.1l-.2.8c0 1.3-5 2.4-11.1 2.4s-11.1-1.1-11.1-2.4c0-.1 0-.2.1-.3l.2-.7c-1.8.6-3 1.4-3 2.3 0 2.1 6.2 3.7 13.7 3.7 7.7.1 13.9-1.6 13.9-3.7z"],"hacker-news":[448,512,[],"f1d4","M0 32v448h448V32H0zm21.2 197.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z"],"hacker-news-square":[448,512,[],"f3af","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM21.2 229.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z"],hackerrank:[512,512,[],"f5f7","M477.5 128C463 103.05 285.13 0 256.16 0S49.25 102.79 34.84 128s-14.49 230.8 0 256 192.38 128 221.32 128S463 409.08 477.49 384s14.51-231 .01-256zM316.13 414.22c-4 0-40.91-35.77-38-38.69.87-.87 6.26-1.48 17.55-1.83 0-26.23.59-68.59.94-86.32 0-2-.44-3.43-.44-5.85h-79.93c0 7.1-.46 36.2 1.37 72.88.23 4.54-1.58 6-5.74 5.94-10.13 0-20.27-.11-30.41-.08-4.1 0-5.87-1.53-5.74-6.11.92-33.44 3-84-.15-212.67v-3.17c-9.67-.35-16.38-1-17.26-1.84-2.92-2.92 34.54-38.69 38.49-38.69s41.17 35.78 38.27 38.69c-.87.87-7.9 1.49-16.77 1.84v3.16c-2.42 25.75-2 79.59-2.63 105.39h80.26c0-4.55.39-34.74-1.2-83.64-.1-3.39.95-5.17 4.21-5.2 11.07-.08 22.15-.13 33.23-.06 3.46 0 4.57 1.72 4.5 5.38C333 354.64 336 341.29 336 373.69c8.87.35 16.82 1 17.69 1.84 2.88 2.91-33.62 38.69-37.58 38.69z"],hips:[640,512,[],"f452","M251.6 157.6c0-1.9-.9-2.8-2.8-2.8h-40.9c-1.6 0-2.7 1.4-2.7 2.8v201.8c0 1.4 1.1 2.8 2.7 2.8h40.9c1.9 0 2.8-.9 2.8-2.8zM156.5 168c-16.1-11.8-36.3-17.9-60.3-18-18.1-.1-34.6 3.7-49.8 11.4V80.2c0-1.8-.9-2.7-2.8-2.7H2.7c-1.8 0-2.7.9-2.7 2.7v279.2c0 1.9.9 2.8 2.7 2.8h41c1.9 0 2.8-.9 2.8-2.8V223.3c0-.8-2.8-27 45.8-27 48.5 0 45.8 26.1 45.8 27v122.6c0 9 7.3 16.3 16.4 16.3h27.3c1.8 0 2.7-.9 2.7-2.8V223.3c0-23.4-9.3-41.8-28-55.3zm478.4 110.1c-6.8-15.7-18.4-27-34.9-34.1l-57.6-25.3c-8.6-3.6-9.2-11.2-2.6-16.1 7.4-5.5 44.3-13.9 84 6.8 1.7 1 4-.3 4-2.4v-44.7c0-1.3-.6-2.1-1.9-2.6-17.7-6.6-36.1-9.9-55.1-9.9-26.5 0-45.3 5.8-58.5 15.4-.5.4-28.4 20-22.7 53.7 3.4 19.6 15.8 34.2 37.2 43.6l53.6 23.5c11.6 5.1 15.2 13.3 12.2 21.2-3.7 9.1-13.2 13.6-36.5 13.6-24.3 0-44.7-8.9-58.4-19.1-2.1-1.4-4.4.2-4.4 2.3v34.4c0 10.4 4.9 17.3 14.6 20.7 15.6 5.5 31.6 8.2 48.2 8.2 12.7 0 25.8-1.2 36.3-4.3.7-.3 36-8.9 45.6-45.8 3.5-13.5 2.4-26.5-3.1-39.1zM376.2 149.8c-31.7 0-104.2 20.1-104.2 103.5v183.5c0 .8.6 2.7 2.7 2.7h40.9c1.9 0 2.8-.9 2.8-2.7V348c16.5 12.7 35.8 19.1 57.7 19.1 60.5 0 108.7-48.5 108.7-108.7.1-60.3-48.2-108.6-108.6-108.6zm0 170.9c-17.2 0-31.9-6.1-44-18.2-12.2-12.2-18.2-26.8-18.2-44 0-34.5 27.6-62.2 62.2-62.2 34.5 0 62.2 27.6 62.2 62.2.1 34.3-27.3 62.2-62.2 62.2zM228.3 72.5c-15.9 0-28.8 12.9-28.9 28.9 0 15.6 12.7 28.9 28.9 28.9s28.9-13.1 28.9-28.9c0-16.2-13-28.9-28.9-28.9z"],"hire-a-helper":[512,512,[],"f3b0","M443.1 0H71.9C67.9 37.3 37.4 67.8 0 71.7v371.5c37.4 4.9 66 32.4 71.9 68.8h372.2c3-36.4 32.5-65.8 67.9-69.8V71.7c-36.4-5.9-65-35.3-68.9-71.7zm-37 404.9c-36.3 0-18.8-2-55.1-2-35.8 0-21 2-56.1 2-5.9 0-4.9-8.2 0-9.8 22.8-7.6 22.9-10.2 24.6-12.8 10.4-15.6 5.9-83 5.9-113 0-5.3-6.4-12.8-13.8-12.8H200.4c-7.4 0-13.8 7.5-13.8 12.8 0 30-4.5 97.4 5.9 113 1.7 2.5 1.8 5.2 24.6 12.8 4.9 1.6 6 9.8 0 9.8-35.1 0-20.3-2-56.1-2-36.3 0-18.8 2-55.1 2-7.9 0-5.8-10.8 0-10.8 10.2-3.4 13.5-3.5 21.7-13.8 7.7-12.9 7.9-44.4 7.9-127.8V151.3c0-22.2-12.2-28.3-28.6-32.4-8.8-2.2-4-11.8 1-11.8 36.5 0 20.6 2 57.1 2 32.7 0 16.5-2 49.2-2 3.3 0 8.5 8.3 1 10.8-4.9 1.6-27.6 3.7-27.6 39.3 0 45.6-.2 55.8 1 68.8 0 1.3 2.3 12.8 12.8 12.8h109.2c10.5 0 12.8-11.5 12.8-12.8 1.2-13 1-23.2 1-68.8 0-35.6-22.7-37.7-27.6-39.3-7.5-2.5-2.3-10.8 1-10.8 32.7 0 16.5 2 49.2 2 36.5 0 20.6-2 57.1-2 4.9 0 9.9 9.6 1 11.8-16.4 4.1-28.6 10.3-28.6 32.4v101.2c0 83.4.1 114.9 7.9 127.8 8.2 10.2 11.4 10.4 21.7 13.8 5.8 0 7.8 10.8 0 10.8z"],hooli:[640,512,[],"f427","M144.5 352l38.3.8c-13.2-4.6-26-10.2-38.3-16.8zm57.7-5.3v5.3l-19.4.8c36.5 12.5 69.9 14.2 94.7 7.2-19.9.2-45.8-2.6-75.3-13.3zm408.9-115.2c15.9 0 28.9-12.9 28.9-28.9s-12.9-24.5-28.9-24.5c-15.9 0-28.9 8.6-28.9 24.5s12.9 28.9 28.9 28.9zm-29 120.5H640V241.5h-57.9zm-73.7 0h57.9V156.7L508.4 184zm-31-119.4c-18.2-18.2-50.4-17.1-50.4-17.1s-32.3-1.1-50.4 17.1c-18.2 18.2-16.8 33.9-16.8 52.6s-1.4 34.3 16.8 52.5 50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.8-33.8 16.8-52.5-.1-18.8 1.3-34.5-16.8-52.6zm-39.8 71.9c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9zm-106.2-71.9c-18.2-18.2-50.4-17.1-50.4-17.1s-32.2-1.1-50.4 17.1c-1.9 1.9-3.7 3.9-5.3 6-38.2-29.6-72.5-46.5-102.1-61.1v-20.7l-22.5 10.6c-54.4-22.1-89-18.2-97.3.1 0 0-24.9 32.8 61.8 110.8V352h57.9v-28.6c-6.5-4.2-13-8.7-19.4-13.6-14.8-11.2-27.4-21.6-38.4-31.4v-31c13.1 14.7 30.5 31.4 53.4 50.3l4.5 3.6v-29.8c0-6.9 1.7-18.2 10.8-18.2s10.6 6.9 10.6 15V317c18 12.2 37.3 22.1 57.7 29.6v-93.9c0-18.7-13.4-37.4-40.6-37.4-15.8-.1-30.5 8.2-38.5 21.9v-54.3c41.9 20.9 83.9 46.5 99.9 58.3-10.2 14.6-9.3 28.1-9.3 43.7 0 18.7-1.4 34.3 16.8 52.5s50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.7-33.8 16.7-52.5 0-18.5 1.5-34.2-16.7-52.3zM65.2 184v63.3c-48.7-54.5-38.9-76-35.2-79.1 13.5-11.4 37.5-8 64.4 2.1zm226.5 120.5c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9z"],hornbill:[512,512,[],"f592","M76.38 370.3a37.8 37.8 0 1 1-32.07-32.42c-78.28-111.35 52-190.53 52-190.53-5.86 43-8.24 91.16-8.24 91.16-67.31 41.49.93 64.06 39.81 72.87a140.38 140.38 0 0 0 131.66 91.94c1.92 0 3.77-.21 5.67-.28l.11 18.86c-99.22 1.39-158.7-29.14-188.94-51.6zm108-327.7A37.57 37.57 0 0 0 181 21.45a37.95 37.95 0 1 0-31.17 54.22c-22.55 29.91-53.83 89.57-52.42 190l21.84-.15c0-.9-.14-1.77-.14-2.68A140.42 140.42 0 0 1 207 132.71c8-37.71 30.7-114.3 73.8-44.29 0 0 48.14 2.38 91.18 8.24 0 0-77.84-128-187.59-54.06zm304.19 134.17a37.94 37.94 0 1 0-53.84-28.7C403 126.13 344.89 99 251.28 100.33l.14 22.5c2.7-.15 5.39-.41 8.14-.41a140.37 140.37 0 0 1 130.49 88.76c39.1 9 105.06 31.58 38.46 72.54 0 0-2.34 48.13-8.21 91.16 0 0 133.45-81.16 49-194.61a37.45 37.45 0 0 0 19.31-3.5zM374.06 436.24c21.43-32.46 46.42-89.69 45.14-179.66l-19.52.14c.08 2.06.3 4.07.3 6.15a140.34 140.34 0 0 1-91.39 131.45c-8.85 38.95-31.44 106.66-72.77 39.49 0 0-48.12-2.34-91.19-8.22 0 0 79.92 131.34 191.9 51a37.5 37.5 0 0 0 3.64 14 37.93 37.93 0 1 0 33.89-54.29z"],hotjar:[448,512,[],"f3b1","M414.9 161.5C340.2 29 121.1 0 121.1 0S222.2 110.4 93 197.7C11.3 252.8-21 324.4 14 402.6c26.8 59.9 83.5 84.3 144.6 93.4-29.2-55.1-6.6-122.4-4.1-129.6 57.1 86.4 165 0 110.8-93.9 71 15.4 81.6 138.6 27.1 215.5 80.5-25.3 134.1-88.9 148.8-145.6 15.5-59.3 3.7-127.9-26.3-180.9z"],houzz:[448,512,[],"f27c","M275.9 330.7H171.3V480H17V32h109.5v104.5l305.1 85.6V480H275.9z"],html5:[384,512,[],"f13b","M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"],hubspot:[512,512,[],"f3b2","M267.4 211.6c-25.1 23.7-40.8 57.3-40.8 94.6 0 29.3 9.7 56.3 26 78L203.1 434c-4.4-1.6-9.1-2.5-14-2.5-10.8 0-20.9 4.2-28.5 11.8-7.6 7.6-11.8 17.8-11.8 28.6s4.2 20.9 11.8 28.5c7.6 7.6 17.8 11.6 28.5 11.6 10.8 0 20.9-3.9 28.6-11.6 7.6-7.6 11.8-17.8 11.8-28.5 0-4.2-.6-8.2-1.9-12.1l50-50.2c22 16.9 49.4 26.9 79.3 26.9 71.9 0 130-58.3 130-130.2 0-65.2-47.7-119.2-110.2-128.7V116c17.5-7.4 28.2-23.8 28.2-42.9 0-26.1-20.9-47.9-47-47.9S311.2 47 311.2 73.1c0 19.1 10.7 35.5 28.2 42.9v61.2c-15.2 2.1-29.6 6.7-42.7 13.6-27.6-20.9-117.5-85.7-168.9-124.8 1.2-4.4 2-9 2-13.8C129.8 23.4 106.3 0 77.4 0 48.6 0 25.2 23.4 25.2 52.2c0 28.9 23.4 52.3 52.2 52.3 9.8 0 18.9-2.9 26.8-7.6l163.2 114.7zm89.5 163.6c-38.1 0-69-30.9-69-69s30.9-69 69-69 69 30.9 69 69-30.9 69-69 69z"],ideal:[576,512,[],"e013","M125.61,165.48a49.07,49.07,0,1,0,49.06,49.06A49.08,49.08,0,0,0,125.61,165.48ZM86.15,425.84h78.94V285.32H86.15Zm151.46-211.6c0-20-10-22.53-18.74-22.53H204.82V237.5h14.05C228.62,237.5,237.61,234.69,237.61,214.24Zm201.69,46V168.93h22.75V237.5h33.69C486.5,113.08,388.61,86.19,299.67,86.19H204.84V169h14c25.6,0,41.5,17.35,41.5,45.26,0,28.81-15.52,46-41.5,46h-14V425.88h94.83c144.61,0,194.94-67.16,196.72-165.64Zm-109.75,0H273.3V169h54.43v22.73H296v10.58h30V225H296V237.5h33.51Zm74.66,0-5.16-17.67H369.31l-5.18,17.67H340.47L368,168.92h32.35l27.53,91.34ZM299.65,32H32V480H299.65c161.85,0,251-79.73,251-224.52C550.62,172,518,32,299.65,32Zm0,426.92H53.07V53.07H299.65c142.1,0,229.9,64.61,229.9,202.41C529.55,389.57,448.55,458.92,299.65,458.92Zm83.86-264.85L376,219.88H392.4l-7.52-25.81Z"],imdb:[448,512,[],"f2d8","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM21.3 229.2H21c.1-.1.2-.3.3-.4zM97 319.8H64V192h33zm113.2 0h-28.7v-86.4l-11.6 86.4h-20.6l-12.2-84.5v84.5h-29V192h42.8c3.3 19.8 6 39.9 8.7 59.9l7.6-59.9h43zm11.4 0V192h24.6c17.6 0 44.7-1.6 49 20.9 1.7 7.6 1.4 16.3 1.4 24.4 0 88.5 11.1 82.6-75 82.5zm160.9-29.2c0 15.7-2.4 30.9-22.2 30.9-9 0-15.2-3-20.9-9.8l-1.9 8.1h-29.8V192h31.7v41.7c6-6.5 12-9.2 20.9-9.2 21.4 0 22.2 12.8 22.2 30.1zM265 229.9c0-9.7 1.6-16-10.3-16v83.7c12.2.3 10.3-8.7 10.3-18.4zm85.5 26.1c0-5.4 1.1-12.7-6.2-12.7-6 0-4.9 8.9-4.9 12.7 0 .6-1.1 39.6 1.1 44.7.8 1.6 2.2 2.4 3.8 2.4 7.8 0 6.2-9 6.2-14.4z"],instagram:[448,512,[],"f16d","M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"],"instagram-square":[448,512,[],"e055","M224,202.66A53.34,53.34,0,1,0,277.36,256,53.38,53.38,0,0,0,224,202.66Zm124.71-41a54,54,0,0,0-30.41-30.41c-21-8.29-71-6.43-94.3-6.43s-73.25-1.93-94.31,6.43a54,54,0,0,0-30.41,30.41c-8.28,21-6.43,71.05-6.43,94.33S91,329.26,99.32,350.33a54,54,0,0,0,30.41,30.41c21,8.29,71,6.43,94.31,6.43s73.24,1.93,94.3-6.43a54,54,0,0,0,30.41-30.41c8.35-21,6.43-71.05,6.43-94.33S357.1,182.74,348.75,161.67ZM224,338a82,82,0,1,1,82-82A81.9,81.9,0,0,1,224,338Zm85.38-148.3a19.14,19.14,0,1,1,19.13-19.14A19.1,19.1,0,0,1,309.42,189.74ZM400,32H48A48,48,0,0,0,0,80V432a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V80A48,48,0,0,0,400,32ZM382.88,322c-1.29,25.63-7.14,48.34-25.85,67s-41.4,24.63-67,25.85c-26.41,1.49-105.59,1.49-132,0-25.63-1.29-48.26-7.15-67-25.85s-24.63-41.42-25.85-67c-1.49-26.42-1.49-105.61,0-132,1.29-25.63,7.07-48.34,25.85-67s41.47-24.56,67-25.78c26.41-1.49,105.59-1.49,132,0,25.63,1.29,48.33,7.15,67,25.85s24.63,41.42,25.85,67.05C384.37,216.44,384.37,295.56,382.88,322Z"],intercom:[448,512,[],"f7af","M392 32H56C25.1 32 0 57.1 0 88v336c0 30.9 25.1 56 56 56h336c30.9 0 56-25.1 56-56V88c0-30.9-25.1-56-56-56zm-108.3 82.1c0-19.8 29.9-19.8 29.9 0v199.5c0 19.8-29.9 19.8-29.9 0V114.1zm-74.6-7.5c0-19.8 29.9-19.8 29.9 0v216.5c0 19.8-29.9 19.8-29.9 0V106.6zm-74.7 7.5c0-19.8 29.9-19.8 29.9 0v199.5c0 19.8-29.9 19.8-29.9 0V114.1zM59.7 144c0-19.8 29.9-19.8 29.9 0v134.3c0 19.8-29.9 19.8-29.9 0V144zm323.4 227.8c-72.8 63-241.7 65.4-318.1 0-15-12.8 4.4-35.5 19.4-22.7 65.9 55.3 216.1 53.9 279.3 0 14.9-12.9 34.3 9.8 19.4 22.7zm5.2-93.5c0 19.8-29.9 19.8-29.9 0V144c0-19.8 29.9-19.8 29.9 0v134.3z"],"internet-explorer":[512,512,[],"f26b","M483.049 159.706c10.855-24.575 21.424-60.438 21.424-87.871 0-72.722-79.641-98.371-209.673-38.577-107.632-7.181-211.221 73.67-237.098 186.457 30.852-34.862 78.271-82.298 121.977-101.158C125.404 166.85 79.128 228.002 43.992 291.725 23.246 329.651 0 390.94 0 436.747c0 98.575 92.854 86.5 180.251 42.006 31.423 15.43 66.559 15.573 101.695 15.573 97.124 0 184.249-54.294 216.814-146.022H377.927c-52.509 88.593-196.819 52.996-196.819-47.436H509.9c6.407-43.581-1.655-95.715-26.851-141.162zM64.559 346.877c17.711 51.15 53.703 95.871 100.266 123.304-88.741 48.94-173.267 29.096-100.266-123.304zm115.977-108.873c2-55.151 50.276-94.871 103.98-94.871 53.418 0 101.981 39.72 103.981 94.871H180.536zm184.536-187.6c21.425-10.287 48.563-22.003 72.558-22.003 31.422 0 54.274 21.717 54.274 53.722 0 20.003-7.427 49.007-14.569 67.867-26.28-42.292-65.986-81.584-112.263-99.586z"],invision:[448,512,[],"f7b0","M407.4 32H40.6C18.2 32 0 50.2 0 72.6v366.8C0 461.8 18.2 480 40.6 480h366.8c22.4 0 40.6-18.2 40.6-40.6V72.6c0-22.4-18.2-40.6-40.6-40.6zM176.1 145.6c.4 23.4-22.4 27.3-26.6 27.4-14.9 0-27.1-12-27.1-27 .1-35.2 53.1-35.5 53.7-.4zM332.8 377c-65.6 0-34.1-74-25-106.6 14.1-46.4-45.2-59-59.9.7l-25.8 103.3H177l8.1-32.5c-31.5 51.8-94.6 44.4-94.6-4.3.1-14.3.9-14 23-104.1H81.7l9.7-35.6h76.4c-33.6 133.7-32.6 126.9-32.9 138.2 0 20.9 40.9 13.5 57.4-23.2l19.8-79.4h-32.3l9.7-35.6h68.8l-8.9 40.5c40.5-75.5 127.9-47.8 101.8 38-14.2 51.1-14.6 50.7-14.9 58.8 0 15.5 17.5 22.6 31.8-16.9L386 325c-10.5 36.7-29.4 52-53.2 52z"],ioxhost:[640,512,[],"f208","M616 160h-67.3C511.2 70.7 422.9 8 320 8 183 8 72 119 72 256c0 16.4 1.6 32.5 4.7 48H24c-13.3 0-24 10.8-24 24 0 13.3 10.7 24 24 24h67.3c37.5 89.3 125.8 152 228.7 152 137 0 248-111 248-248 0-16.4-1.6-32.5-4.7-48H616c13.3 0 24-10.8 24-24 0-13.3-10.7-24-24-24zm-96 96c0 110.5-89.5 200-200 200-75.7 0-141.6-42-175.5-104H424c13.3 0 24-10.8 24-24 0-13.3-10.7-24-24-24H125.8c-3.8-15.4-5.8-31.4-5.8-48 0-110.5 89.5-200 200-200 75.7 0 141.6 42 175.5 104H216c-13.3 0-24 10.8-24 24 0 13.3 10.7 24 24 24h298.2c3.8 15.4 5.8 31.4 5.8 48zm-304-24h208c13.3 0 24 10.7 24 24 0 13.2-10.7 24-24 24H216c-13.3 0-24-10.7-24-24 0-13.2 10.7-24 24-24z"],"itch-io":[512,512,[],"f83a","M71.92 34.77C50.2 47.67 7.4 96.84 7 109.73v21.34c0 27.06 25.29 50.84 48.25 50.84 27.57 0 50.54-22.85 50.54-50 0 27.12 22.18 50 49.76 50s49-22.85 49-50c0 27.12 23.59 50 51.16 50h.5c27.57 0 51.16-22.85 51.16-50 0 27.12 21.47 50 49 50s49.76-22.85 49.76-50c0 27.12 23 50 50.54 50 23 0 48.25-23.78 48.25-50.84v-21.34c-.4-12.9-43.2-62.07-64.92-75C372.56 32.4 325.76 32 256 32S91.14 33.1 71.92 34.77zm132.32 134.39c-22 38.4-77.9 38.71-99.85.25-13.17 23.14-43.17 32.07-56 27.66-3.87 40.15-13.67 237.13 17.73 269.15 80 18.67 302.08 18.12 379.76 0 31.65-32.27 21.32-232 17.75-269.15-12.92 4.44-42.88-4.6-56-27.66-22 38.52-77.85 38.1-99.85-.24-7.1 12.49-23.05 28.94-51.76 28.94a57.54 57.54 0 0 1-51.75-28.94zm-41.58 53.77c16.47 0 31.09 0 49.22 19.78a436.91 436.91 0 0 1 88.18 0C318.22 223 332.85 223 349.31 223c52.33 0 65.22 77.53 83.87 144.45 17.26 62.15-5.52 63.67-33.95 63.73-42.15-1.57-65.49-32.18-65.49-62.79-39.25 6.43-101.93 8.79-155.55 0 0 30.61-23.34 61.22-65.49 62.79-28.42-.06-51.2-1.58-33.94-63.73 18.67-67 31.56-144.45 83.88-144.45zM256 270.79s-44.38 40.77-52.35 55.21l29-1.17v25.32c0 1.55 21.34.16 23.33.16 11.65.54 23.31 1 23.31-.16v-25.28l29 1.17c-8-14.48-52.35-55.24-52.35-55.24z"],itunes:[448,512,[],"f3b4","M223.6 80.3C129 80.3 52.5 157 52.5 251.5S129 422.8 223.6 422.8s171.2-76.7 171.2-171.2c0-94.6-76.7-171.3-171.2-171.3zm79.4 240c-3.2 13.6-13.5 21.2-27.3 23.8-12.1 2.2-22.2 2.8-31.9-5-11.8-10-12-26.4-1.4-36.8 8.4-8 20.3-9.6 38-12.8 3-.5 5.6-1.2 7.7-3.7 3.2-3.6 2.2-2 2.2-80.8 0-5.6-2.7-7.1-8.4-6.1-4 .7-91.9 17.1-91.9 17.1-5 1.1-6.7 2.6-6.7 8.3 0 116.1.5 110.8-1.2 118.5-2.1 9-7.6 15.8-14.9 19.6-8.3 4.6-23.4 6.6-31.4 5.2-21.4-4-28.9-28.7-14.4-42.9 8.4-8 20.3-9.6 38-12.8 3-.5 5.6-1.2 7.7-3.7 5-5.7.9-127 2.6-133.7.4-2.6 1.5-4.8 3.5-6.4 2.1-1.7 5.8-2.7 6.7-2.7 101-19 113.3-21.4 115.1-21.4 5.7-.4 9 3 9 8.7-.1 170.6.4 161.4-1 167.6zM345.2 32H102.8C45.9 32 0 77.9 0 134.8v242.4C0 434.1 45.9 480 102.8 480h242.4c57 0 102.8-45.9 102.8-102.8V134.8C448 77.9 402.1 32 345.2 32zM223.6 444c-106.3 0-192.5-86.2-192.5-192.5S117.3 59 223.6 59s192.5 86.2 192.5 192.5S329.9 444 223.6 444z"],"itunes-note":[384,512,[],"f3b5","M381.9 388.2c-6.4 27.4-27.2 42.8-55.1 48-24.5 4.5-44.9 5.6-64.5-10.2-23.9-20.1-24.2-53.4-2.7-74.4 17-16.2 40.9-19.5 76.8-25.8 6-1.1 11.2-2.5 15.6-7.4 6.4-7.2 4.4-4.1 4.4-163.2 0-11.2-5.5-14.3-17-12.3-8.2 1.4-185.7 34.6-185.7 34.6-10.2 2.2-13.4 5.2-13.4 16.7 0 234.7 1.1 223.9-2.5 239.5-4.2 18.2-15.4 31.9-30.2 39.5-16.8 9.3-47.2 13.4-63.4 10.4-43.2-8.1-58.4-58-29.1-86.6 17-16.2 40.9-19.5 76.8-25.8 6-1.1 11.2-2.5 15.6-7.4 10.1-11.5 1.8-256.6 5.2-270.2.8-5.2 3-9.6 7.1-12.9 4.2-3.5 11.8-5.5 13.4-5.5 204-38.2 228.9-43.1 232.4-43.1 11.5-.8 18.1 6 18.1 17.6.2 344.5 1.1 326-1.8 338.5z"],java:[384,512,[],"f4e4","M277.74 312.9c9.8-6.7 23.4-12.5 23.4-12.5s-38.7 7-77.2 10.2c-47.1 3.9-97.7 4.7-123.1 1.3-60.1-8 33-30.1 33-30.1s-36.1-2.4-80.6 19c-52.5 25.4 130 37 224.5 12.1zm-85.4-32.1c-19-42.7-83.1-80.2 0-145.8C296 53.2 242.84 0 242.84 0c21.5 84.5-75.6 110.1-110.7 162.6-23.9 35.9 11.7 74.4 60.2 118.2zm114.6-176.2c.1 0-175.2 43.8-91.5 140.2 24.7 28.4-6.5 54-6.5 54s62.7-32.4 33.9-72.9c-26.9-37.8-47.5-56.6 64.1-121.3zm-6.1 270.5a12.19 12.19 0 0 1-2 2.6c128.3-33.7 81.1-118.9 19.8-97.3a17.33 17.33 0 0 0-8.2 6.3 70.45 70.45 0 0 1 11-3c31-6.5 75.5 41.5-20.6 91.4zM348 437.4s14.5 11.9-15.9 21.2c-57.9 17.5-240.8 22.8-291.6.7-18.3-7.9 16-19 26.8-21.3 11.2-2.4 17.7-2 17.7-2-20.3-14.3-131.3 28.1-56.4 40.2C232.84 509.4 401 461.3 348 437.4zM124.44 396c-78.7 22 47.9 67.4 148.1 24.5a185.89 185.89 0 0 1-28.2-13.8c-44.7 8.5-65.4 9.1-106 4.5-33.5-3.8-13.9-15.2-13.9-15.2zm179.8 97.2c-78.7 14.8-175.8 13.1-233.3 3.6 0-.1 11.8 9.7 72.4 13.6 92.2 5.9 233.8-3.3 237.1-46.9 0 0-6.4 16.5-76.2 29.7zM260.64 353c-59.2 11.4-93.5 11.1-136.8 6.6-33.5-3.5-11.6-19.7-11.6-19.7-86.8 28.8 48.2 61.4 169.5 25.9a60.37 60.37 0 0 1-21.1-12.8z"],"jedi-order":[448,512,[],"f50e","M398.5 373.6c95.9-122.1 17.2-233.1 17.2-233.1 45.4 85.8-41.4 170.5-41.4 170.5 105-171.5-60.5-271.5-60.5-271.5 96.9 72.7-10.1 190.7-10.1 190.7 85.8 158.4-68.6 230.1-68.6 230.1s-.4-16.9-2.2-85.7c4.3 4.5 34.5 36.2 34.5 36.2l-24.2-47.4 62.6-9.1-62.6-9.1 20.2-55.5-31.4 45.9c-2.2-87.7-7.8-305.1-7.9-306.9v-2.4 1-1 2.4c0 1-5.6 219-7.9 306.9l-31.4-45.9 20.2 55.5-62.6 9.1 62.6 9.1-24.2 47.4 34.5-36.2c-1.8 68.8-2.2 85.7-2.2 85.7s-154.4-71.7-68.6-230.1c0 0-107-118.1-10.1-190.7 0 0-165.5 99.9-60.5 271.5 0 0-86.8-84.8-41.4-170.5 0 0-78.7 111 17.2 233.1 0 0-26.2-16.1-49.4-77.7 0 0 16.9 183.3 222 185.7h4.1c205-2.4 222-185.7 222-185.7-23.6 61.5-49.9 77.7-49.9 77.7z"],jenkins:[512,512,[],"f3b6","M487.1 425c-1.4-11.2-19-23.1-28.2-31.9-5.1-5-29-23.1-30.4-29.9-1.4-6.6 9.7-21.5 13.3-28.9 5.1-10.7 8.8-23.7 11.3-32.6 18.8-66.1 20.7-156.9-6.2-211.2-10.2-20.6-38.6-49-56.4-62.5-42-31.7-119.6-35.3-170.1-16.6-14.1 5.2-27.8 9.8-40.1 17.1-33.1 19.4-68.3 32.5-78.1 71.6-24.2 10.8-31.5 41.8-30.3 77.8.2 7 4.1 15.8 2.7 22.4-.7 3.3-5.2 7.6-6.1 9.8-11.6 27.7-2.3 64 11.1 83.7 8.1 11.9 21.5 22.4 39.2 25.2.7 10.6 3.3 19.7 8.2 30.4 3.1 6.8 14.7 19 10.4 27.7-2.2 4.4-21 13.8-27.3 17.6C89 407.2 73.7 415 54.2 429c-12.6 9-32.3 10.2-29.2 31.1 2.1 14.1 10.1 31.6 14.7 45.8.7 2 1.4 4.1 2.1 6h422c4.9-15.3 9.7-30.9 14.6-47.2 3.4-11.4 10.2-27.8 8.7-39.7zM205.9 33.7c1.8-.5 3.4.7 4.9 2.4-.2 5.2-5.4 5.1-8.9 6.8-5.4 6.7-13.4 9.8-20 17.2-6.8 7.5-14.4 27.7-23.4 30-4.5 1.1-9.7-.8-13.6-.5-10.4.7-17.7 6-28.3 7.5 13.6-29.9 56.1-54 89.3-63.4zm-104.8 93.6c13.5-14.9 32.1-24.1 54.8-25.9 11.7 29.7-8.4 65-.9 97.6 2.3 9.9 10.2 25.4-2.4 25.7.3-28.3-34.8-46.3-61.3-29.6-1.8-21.5-4.9-51.7 9.8-67.8zm36.7 200.2c-1-4.1-2.7-12.9-2.3-15.1 1.6-8.7 17.1-12.5 11-24.7-11.3-.1-13.8 10.2-24.1 11.3-26.7 2.6-45.6-35.4-44.4-58.4 1-19.5 17.6-38.2 40.1-35.8 16 1.8 21.4 19.2 24.5 34.7 9.2.5 22.5-.4 26.9-7.6-.6-17.5-8.8-31.6-8.2-47.7 1-30.3 17.5-57.6 4.8-87.4 13.6-30.9 53.5-55.3 83.1-70 36.6-18.3 94.9-3.7 129.3 15.8 19.7 11.1 34.4 32.7 48.3 50.7-19.5-5.8-36.1 4.2-33.1 20.3 16.3-14.9 44.2-.2 52.5 16.4 7.9 15.8 7.8 39.3 9 62.8 2.9 57-10.4 115.9-39.1 157.1-7.7 11-14.1 23-24.9 30.6-26 18.2-65.4 34.7-99.2 23.4-44.7-15-65-44.8-89.5-78.8.7 18.7 13.8 34.1 26.8 48.4 11.3 12.5 25 26.6 39.7 32.4-12.3-2.9-31.1-3.8-36.2 7.2-28.6-1.9-55.1-4.8-68.7-24.2-10.6-15.4-21.4-41.4-26.3-61.4zm222 124.1c4.1-3 11.1-2.9 17.4-3.6-5.4-2.7-13-3.7-19.3-2.2-.1-4.2-2-6.8-3.2-10.2 10.6-3.8 35.5-28.5 49.6-20.3 6.7 3.9 9.5 26.2 10.1 37 .4 9-.8 18-4.5 22.8-18.8-.6-35.8-2.8-50.7-7 .9-6.1-1-12.1.6-16.5zm-17.2-20c-16.8.8-26-1.2-38.3-10.8.2-.8 1.4-.5 1.5-1.4 18 8 40.8-3.3 59-4.9-7.9 5.1-14.6 11.6-22.2 17.1zm-12.1 33.2c-1.6-9.4-3.5-12-2.8-20.2 25-16.6 29.7 28.6 2.8 20.2zM226 438.6c-11.6-.7-48.1-14-38.5-23.7 9.4 6.5 27.5 4.9 41.3 7.3.8 4.4-2.8 10.2-2.8 16.4zM57.7 497.1c-4.3-12.7-9.2-25.1-14.8-36.9 30.8-23.8 65.3-48.9 102.2-63.5 2.8-1.1 23.2 25.4 26.2 27.6 16.5 11.7 37 21 56.2 30.2 1.2 8.8 3.9 20.2 8.7 35.5.7 2.3 1.4 4.7 2.2 7.2H57.7zm240.6 5.7h-.8c.3-.2.5-.4.8-.5v.5zm7.5-5.7c2.1-1.4 4.3-2.8 6.4-4.3 1.1 1.4 2.2 2.8 3.2 4.3h-9.6zm15.1-24.7c-10.8 7.3-20.6 18.3-33.3 25.2-6 3.3-27 11.7-33.4 10.2-3.6-.8-3.9-5.3-5.4-9.5-3.1-9-10.1-23.4-10.8-37-.8-17.2-2.5-46 16-42.4 14.9 2.9 32.3 9.7 43.9 16.1 7.1 3.9 11.1 8.6 21.9 9.5-.1 1.4-.1 2.8-.2 4.3-5.9 3.9-15.3 3.8-21.8 7.1 9.5.4 17 2.7 23.5 5.9-.1 3.4-.3 7-.4 10.6zm53.4 24.7h-14c-.1-3.2-2.8-5.8-6.1-5.8s-5.9 2.6-6.1 5.8h-17.4c-2.8-4.4-5.7-8.6-8.9-12.5 2.1-2.2 4-4.7 6-6.9 9 3.7 14.8-4.9 21.7-4.2 7.9.8 14.2 11.7 25.4 11l-.6 12.6zm8.7 0c.2-4 .4-7.8.6-11.5 15.6-7.3 29 1.3 35.7 11.5H383zm83.4-37c-2.3 11.2-5.8 24-9.9 37.1-.2-.1-.4-.1-.6-.1H428c.6-1.1 1.2-2.2 1.9-3.3-2.6-6.1-9-8.7-10.9-15.5 12.1-22.7 6.5-93.4-24.2-78.5 4.3-6.3 15.6-11.5 20.8-19.3 13 10.4 20.8 20.3 33.2 31.4 6.8 6 20 13.3 21.4 23.1.8 5.5-2.6 18.9-3.8 25.1zM222.2 130.5c5.4-14.9 27.2-34.7 45-32 7.7 1.2 18 8.2 12.2 17.7-30.2-7-45.2 12.6-54.4 33.1-8.1-2-4.9-13.1-2.8-18.8zm184.1 63.1c8.2-3.6 22.4-.7 29.6-5.3-4.2-11.5-10.3-21.4-9.3-37.7.5 0 1 0 1.4.1 6.8 14.2 12.7 29.2 21.4 41.7-5.7 13.5-43.6 25.4-43.1 1.2zm20.4-43zm-117.2 45.7c-6.8-10.9-19-32.5-14.5-45.3 6.5 11.9 8.6 24.4 17.8 33.3 4.1 4 12.2 9 8.2 20.2-.9 2.7-7.8 8.6-11.7 9.7-14.4 4.3-47.9.9-36.6-17.1 11.9.7 27.9 7.8 36.8-.8zm27.3 70c3.8 6.6 1.4 18.7 12.1 20.6 20.2 3.4 43.6-12.3 58.1-17.8 9-15.2-.8-20.7-8.9-30.5-16.6-20-38.8-44.8-38-74.7 6.7-4.9 7.3 7.4 8.2 9.7 8.7 20.3 30.4 46.2 46.3 63.5 3.9 4.3 10.3 8.4 11 11.2 2.1 8.2-5.4 18-4.5 23.5-21.7 13.9-45.8 29.1-81.4 25.6-7.4-6.7-10.3-21.4-2.9-31.1zm-201.3-9.2c-6.8-3.9-8.4-21-16.4-21.4-11.4-.7-9.3 22.2-9.3 35.5-7.8-7.1-9.2-29.1-3.5-40.3-6.6-3.2-9.5 3.6-13.1 5.9 4.7-34.1 49.8-15.8 42.3 20.3zm299.6 28.8c-10.1 19.2-24.4 40.4-54 41-.6-6.2-1.1-15.6 0-19.4 22.7-2.2 36.6-13.7 54-21.6zm-141.9 12.4c18.9 9.9 53.6 11 79.3 10.2 1.4 5.6 1.3 12.6 1.4 19.4-33 1.8-72-6.4-80.7-29.6zm92.2 46.7c-1.7 4.3-5.3 9.3-9.8 11.1-12.1 4.9-45.6 8.7-62.4-.3-10.7-5.7-17.5-18.5-23.4-26-2.8-3.6-16.9-12.9-.2-12.9 13.1 32.7 58 29 95.8 28.1z"],jira:[496,512,[],"f7b1","M490 241.7C417.1 169 320.6 71.8 248.5 0 83 164.9 6 241.7 6 241.7c-7.9 7.9-7.9 20.7 0 28.7C138.8 402.7 67.8 331.9 248.5 512c379.4-378 15.7-16.7 241.5-241.7 8-7.9 8-20.7 0-28.6zm-241.5 90l-76-75.7 76-75.7 76 75.7-76 75.7z"],joget:[496,512,[],"f3b7","M378.1 45C337.6 19.9 292.6 8 248.2 8 165 8 83.8 49.9 36.9 125.9c-71.9 116.6-35.6 269.3 81 341.2s269.3 35.6 341.2-80.9c71.9-116.6 35.6-269.4-81-341.2zm51.8 323.2c-40.4 65.5-110.4 101.5-182 101.5-6.8 0-13.6-.4-20.4-1-9-13.6-19.9-33.3-23.7-42.4-5.7-13.7-27.2-45.6 31.2-67.1 51.7-19.1 176.7-16.5 208.8-17.6-4 9-8.6 17.9-13.9 26.6zm-200.8-86.3c-55.5-1.4-81.7-20.8-58.5-48.2s51.1-40.7 68.9-51.2c17.9-10.5 27.3-33.7-23.6-29.7C87.3 161.5 48.6 252.1 37.6 293c-8.8-49.7-.1-102.7 28.5-149.1C128 43.4 259.6 12.2 360.1 74.1c74.8 46.1 111.2 130.9 99.3 212.7-24.9-.5-179.3-3.6-230.3-4.9zm183.8-54.8c-22.7-6-57 11.3-86.7 27.2-29.7 15.8-31.1 8.2-31.1 8.2s40.2-28.1 50.7-34.5 31.9-14 13.4-24.6c-3.2-1.8-6.7-2.7-10.4-2.7-17.8 0-41.5 18.7-67.5 35.6-31.5 20.5-65.3 31.3-65.3 31.3l169.5-1.6 46.5-23.4s3.6-9.5-19.1-15.5z"],joomla:[448,512,[],"f1aa","M.6 92.1C.6 58.8 27.4 32 60.4 32c30 0 54.5 21.9 59.2 50.2 32.6-7.6 67.1.6 96.5 30l-44.3 44.3c-20.5-20.5-42.6-16.3-55.4-3.5-14.3 14.3-14.3 37.9 0 52.2l99.5 99.5-44 44.3c-87.7-87.2-49.7-49.7-99.8-99.7-26.8-26.5-35-64.8-24.8-98.9C20.4 144.6.6 120.7.6 92.1zm129.5 116.4l44.3 44.3c10-10 89.7-89.7 99.7-99.8 14.3-14.3 37.6-14.3 51.9 0 12.8 12.8 17 35-3.5 55.4l44 44.3c31.2-31.2 38.5-67.6 28.9-101.2 29.2-4.1 51.9-29.2 51.9-59.5 0-33.2-26.8-60.1-59.8-60.1-30.3 0-55.4 22.5-59.5 51.6-33.8-9.9-71.7-1.5-98.3 25.1-18.3 19.1-71.1 71.5-99.6 99.9zm266.3 152.2c8.2-32.7-.9-68.5-26.3-93.9-11.8-12.2 5 4.7-99.5-99.7l-44.3 44.3 99.7 99.7c14.3 14.3 14.3 37.6 0 51.9-12.8 12.8-35 17-55.4-3.5l-44 44.3c27.6 30.2 68 38.8 102.7 28 5.5 27.4 29.7 48.1 58.9 48.1 33 0 59.8-26.8 59.8-60.1 0-30.2-22.5-55-51.6-59.1zm-84.3-53.1l-44-44.3c-87 86.4-50.4 50.4-99.7 99.8-14.3 14.3-37.6 14.3-51.9 0-13.1-13.4-16.9-35.3 3.2-55.4l-44-44.3c-30.2 30.2-38 65.2-29.5 98.3-26.7 6-46.2 29.9-46.2 58.2C0 453.2 26.8 480 59.8 480c28.6 0 52.5-19.8 58.6-46.7 32.7 8.2 68.5-.6 94.2-26 32.1-32 12.2-12.4 99.5-99.7z"],js:[448,512,[],"f3b8","M0 32v448h448V32H0zm243.8 349.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z"],"js-square":[448,512,[],"f3b9","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM243.8 381.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z"],jsfiddle:[576,512,[],"f1cc","M510.634 237.462c-4.727-2.621-5.664-5.748-6.381-10.776-2.352-16.488-3.539-33.619-9.097-49.095-35.895-99.957-153.99-143.386-246.849-91.646-27.37 15.25-48.971 36.369-65.493 63.903-3.184-1.508-5.458-2.71-7.824-3.686-30.102-12.421-59.049-10.121-85.331 9.167-25.531 18.737-36.422 44.548-32.676 76.408.355 3.025-1.967 7.621-4.514 9.545-39.712 29.992-56.031 78.065-41.902 124.615 13.831 45.569 57.514 79.796 105.608 81.433 30.291 1.031 60.637.546 90.959.539 84.041-.021 168.09.531 252.12-.48 52.664-.634 96.108-36.873 108.212-87.293 11.54-48.074-11.144-97.3-56.832-122.634zm21.107 156.88c-18.23 22.432-42.343 35.253-71.28 35.65-56.874.781-113.767.23-170.652.23 0 .7-163.028.159-163.728.154-43.861-.332-76.739-19.766-95.175-59.995-18.902-41.245-4.004-90.848 34.186-116.106 9.182-6.073 12.505-11.566 10.096-23.136-5.49-26.361 4.453-47.956 26.42-62.981 22.987-15.723 47.422-16.146 72.034-3.083 10.269 5.45 14.607 11.564 22.198-2.527 14.222-26.399 34.557-46.727 60.671-61.294 97.46-54.366 228.37 7.568 230.24 132.697.122 8.15 2.412 12.428 9.848 15.894 57.56 26.829 74.456 96.122 35.142 144.497zm-87.789-80.499c-5.848 31.157-34.622 55.096-66.666 55.095-16.953-.001-32.058-6.545-44.079-17.705-27.697-25.713-71.141-74.98-95.937-93.387-20.056-14.888-41.99-12.333-60.272 3.782-49.996 44.071 15.859 121.775 67.063 77.188 4.548-3.96 7.84-9.543 12.744-12.844 8.184-5.509 20.766-.884 13.168 10.622-17.358 26.284-49.33 38.197-78.863 29.301-28.897-8.704-48.84-35.968-48.626-70.179 1.225-22.485 12.364-43.06 35.414-55.965 22.575-12.638 46.369-13.146 66.991 2.474C295.68 280.7 320.467 323.97 352.185 343.47c24.558 15.099 54.254 7.363 68.823-17.506 28.83-49.209-34.592-105.016-78.868-63.46-3.989 3.744-6.917 8.932-11.41 11.72-10.975 6.811-17.333-4.113-12.809-10.353 20.703-28.554 50.464-40.44 83.271-28.214 31.429 11.714 49.108 44.366 42.76 78.186z"],kaggle:[320,512,[],"f5fa","M304.2 501.5L158.4 320.3 298.2 185c2.6-2.7 1.7-10.5-5.3-10.5h-69.2c-3.5 0-7 1.8-10.5 5.3L80.9 313.5V7.5q0-7.5-7.5-7.5H21.5Q14 0 14 7.5v497q0 7.5 7.5 7.5h51.9q7.5 0 7.5-7.5v-109l30.8-29.3 110.5 140.6c3 3.5 6.5 5.3 10.5 5.3h66.9q5.25 0 6-3z"],keybase:[448,512,[],"f4f5","M286.17 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18zm111.92-147.6c-9.5-14.62-39.37-52.45-87.26-73.71q-9.1-4.06-18.38-7.27a78.43 78.43 0 0 0-47.88-104.13c-12.41-4.1-23.33-6-32.41-5.77-.6-2-1.89-11 9.4-35L198.66 32l-5.48 7.56c-8.69 12.06-16.92 23.55-24.34 34.89a51 51 0 0 0-8.29-1.25c-41.53-2.45-39-2.33-41.06-2.33-50.61 0-50.75 52.12-50.75 45.88l-2.36 36.68c-1.61 27 19.75 50.21 47.63 51.85l8.93.54a214 214 0 0 0-46.29 35.54C14 304.66 14 374 14 429.77v33.64l23.32-29.8a148.6 148.6 0 0 0 14.56 37.56c5.78 10.13 14.87 9.45 19.64 7.33 4.21-1.87 10-6.92 3.75-20.11a178.29 178.29 0 0 1-15.76-53.13l46.82-59.83-24.66 74.11c58.23-42.4 157.38-61.76 236.25-38.59 34.2 10.05 67.45.69 84.74-23.84.72-1 1.2-2.16 1.85-3.22a156.09 156.09 0 0 1 2.8 28.43c0 23.3-3.69 52.93-14.88 81.64-2.52 6.46 1.76 14.5 8.6 15.74 7.42 1.57 15.33-3.1 18.37-11.15C429 443 434 414 434 382.32c0-38.58-13-77.46-35.91-110.92zM142.37 128.58l-15.7-.93-1.39 21.79 13.13.78a93 93 0 0 0 .32 19.57l-22.38-1.34a12.28 12.28 0 0 1-11.76-12.79L107 119c1-12.17 13.87-11.27 13.26-11.32l29.11 1.73a144.35 144.35 0 0 0-7 19.17zm148.42 172.18a10.51 10.51 0 0 1-14.35-1.39l-9.68-11.49-34.42 27a8.09 8.09 0 0 1-11.13-1.08l-15.78-18.64a7.38 7.38 0 0 1 1.34-10.34l34.57-27.18-14.14-16.74-17.09 13.45a7.75 7.75 0 0 1-10.59-1s-3.72-4.42-3.8-4.53a7.38 7.38 0 0 1 1.37-10.34L214 225.19s-18.51-22-18.6-22.14a9.56 9.56 0 0 1 1.74-13.42 10.38 10.38 0 0 1 14.3 1.37l81.09 96.32a9.58 9.58 0 0 1-1.74 13.44zM187.44 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18z"],keycdn:[512,512,[],"f3ba","M63.8 409.3l60.5-59c32.1 42.8 71.1 66 126.6 67.4 30.5.7 60.3-7 86.4-22.4 5.1 5.3 18.5 19.5 20.9 22-32.2 20.7-69.6 31.1-108.1 30.2-43.3-1.1-84.6-16.7-117.7-44.4.3-.6-38.2 37.5-38.6 37.9 9.5 29.8-13.1 62.4-46.3 62.4C20.7 503.3 0 481.7 0 454.9c0-34.3 33.1-56.6 63.8-45.6zm354.9-252.4c19.1 31.3 29.6 67.4 28.7 104-1.1 44.8-19 87.5-48.6 121 .3.3 23.8 25.2 24.1 25.5 9.6-1.3 19.2 2 25.9 9.1 11.3 12 10.9 30.9-1.1 42.4-12 11.3-30.9 10.9-42.4-1.1-6.7-7-9.4-16.8-7.6-26.3-24.9-26.6-44.4-47.2-44.4-47.2 42.7-34.1 63.3-79.6 64.4-124.2.7-28.9-7.2-57.2-21.1-82.2l22.1-21zM104 53.1c6.7 7 9.4 16.8 7.6 26.3l45.9 48.1c-4.7 3.8-13.3 10.4-22.8 21.3-25.4 28.5-39.6 64.8-40.7 102.9-.7 28.9 6.1 57.2 20 82.4l-22 21.5C72.7 324 63.1 287.9 64.2 250.9c1-44.6 18.3-87.6 47.5-121.1l-25.3-26.4c-9.6 1.3-19.2-2-25.9-9.1-11.3-12-10.9-30.9 1.1-42.4C73.5 40.7 92.2 41 104 53.1zM464.9 8c26 0 47.1 22.4 47.1 48.3S490.9 104 464.9 104c-6.3.1-14-1.1-15.9-1.8l-62.9 59.7c-32.7-43.6-76.7-65.9-126.9-67.2-30.5-.7-60.3 6.8-86.2 22.4l-21.1-22C184.1 74.3 221.5 64 260 64.9c43.3 1.1 84.6 16.7 117.7 44.6l41.1-38.6c-1.5-4.7-2.2-9.6-2.2-14.5C416.5 29.7 438.9 8 464.9 8zM256.7 113.4c5.5 0 10.9.4 16.4 1.1 78.1 9.8 133.4 81.1 123.8 159.1-9.8 78.1-81.1 133.4-159.1 123.8-78.1-9.8-133.4-81.1-123.8-159.2 9.3-72.4 70.1-124.6 142.7-124.8zm-59 119.4c.6 22.7 12.2 41.8 32.4 52.2l-11 51.7h73.7l-11-51.7c20.1-10.9 32.1-29 32.4-52.2-.4-32.8-25.8-57.5-58.3-58.3-32.1.8-57.3 24.8-58.2 58.3zM256 160"],kickstarter:[448,512,[],"f3bb","M400 480H48c-26.4 0-48-21.6-48-48V80c0-26.4 21.6-48 48-48h352c26.4 0 48 21.6 48 48v352c0 26.4-21.6 48-48 48zM199.6 178.5c0-30.7-17.6-45.1-39.7-45.1-25.8 0-40 19.8-40 44.5v154.8c0 25.8 13.7 45.6 40.5 45.6 21.5 0 39.2-14 39.2-45.6v-41.8l60.6 75.7c12.3 14.9 39 16.8 55.8 0 14.6-15.1 14.8-36.8 4-50.4l-49.1-62.8 40.5-58.7c9.4-13.5 9.5-34.5-5.6-49.1-16.4-15.9-44.6-17.3-61.4 7l-44.8 64.7v-38.8z"],"kickstarter-k":[384,512,[],"f3bc","M147.3 114.4c0-56.2-32.5-82.4-73.4-82.4C26.2 32 0 68.2 0 113.4v283c0 47.3 25.3 83.4 74.9 83.4 39.8 0 72.4-25.6 72.4-83.4v-76.5l112.1 138.3c22.7 27.2 72.1 30.7 103.2 0 27-27.6 27.3-67.4 7.4-92.2l-90.8-114.8 74.9-107.4c17.4-24.7 17.5-63.1-10.4-89.8-30.3-29-82.4-31.6-113.6 12.8L147.3 185v-70.6z"],korvue:[446,512,[],"f42f","M386.5 34h-327C26.8 34 0 60.8 0 93.5v327.1C0 453.2 26.8 480 59.5 480h327.1c33 0 59.5-26.8 59.5-59.5v-327C446 60.8 419.2 34 386.5 34zM87.1 120.8h96v116l61.8-116h110.9l-81.2 132H87.1v-132zm161.8 272.1l-65.7-113.6v113.6h-96V262.1h191.5l88.6 130.8H248.9z"],laravel:[512,512,[],"f3bd","M504.4,115.83a5.72,5.72,0,0,0-.28-.68,8.52,8.52,0,0,0-.53-1.25,6,6,0,0,0-.54-.71,9.36,9.36,0,0,0-.72-.94c-.23-.22-.52-.4-.77-.6a8.84,8.84,0,0,0-.9-.68L404.4,55.55a8,8,0,0,0-8,0L300.12,111h0a8.07,8.07,0,0,0-.88.69,7.68,7.68,0,0,0-.78.6,8.23,8.23,0,0,0-.72.93c-.17.24-.39.45-.54.71a9.7,9.7,0,0,0-.52,1.25c-.08.23-.21.44-.28.68a8.08,8.08,0,0,0-.28,2.08V223.18l-80.22,46.19V63.44a7.8,7.8,0,0,0-.28-2.09c-.06-.24-.2-.45-.28-.68a8.35,8.35,0,0,0-.52-1.24c-.14-.26-.37-.47-.54-.72a9.36,9.36,0,0,0-.72-.94,9.46,9.46,0,0,0-.78-.6,9.8,9.8,0,0,0-.88-.68h0L115.61,1.07a8,8,0,0,0-8,0L11.34,56.49h0a6.52,6.52,0,0,0-.88.69,7.81,7.81,0,0,0-.79.6,8.15,8.15,0,0,0-.71.93c-.18.25-.4.46-.55.72a7.88,7.88,0,0,0-.51,1.24,6.46,6.46,0,0,0-.29.67,8.18,8.18,0,0,0-.28,2.1v329.7a8,8,0,0,0,4,6.95l192.5,110.84a8.83,8.83,0,0,0,1.33.54c.21.08.41.2.63.26a7.92,7.92,0,0,0,4.1,0c.2-.05.37-.16.55-.22a8.6,8.6,0,0,0,1.4-.58L404.4,400.09a8,8,0,0,0,4-6.95V287.88l92.24-53.11a8,8,0,0,0,4-7V117.92A8.63,8.63,0,0,0,504.4,115.83ZM111.6,17.28h0l80.19,46.15-80.2,46.18L31.41,63.44Zm88.25,60V278.6l-46.53,26.79-33.69,19.4V123.5l46.53-26.79Zm0,412.78L23.37,388.5V77.32L57.06,96.7l46.52,26.8V338.68a6.94,6.94,0,0,0,.12.9,8,8,0,0,0,.16,1.18h0a5.92,5.92,0,0,0,.38.9,6.38,6.38,0,0,0,.42,1v0a8.54,8.54,0,0,0,.6.78,7.62,7.62,0,0,0,.66.84l0,0c.23.22.52.38.77.58a8.93,8.93,0,0,0,.86.66l0,0,0,0,92.19,52.18Zm8-106.17-80.06-45.32,84.09-48.41,92.26-53.11,80.13,46.13-58.8,33.56Zm184.52,4.57L215.88,490.11V397.8L346.6,323.2l45.77-26.15Zm0-119.13L358.68,250l-46.53-26.79V131.79l33.69,19.4L392.37,178Zm8-105.28-80.2-46.17,80.2-46.16,80.18,46.15Zm8,105.28V178L455,151.19l33.68-19.4v91.39h0Z"],lastfm:[512,512,[],"f202","M225.8 367.1l-18.8-51s-30.5 34-76.2 34c-40.5 0-69.2-35.2-69.2-91.5 0-72.1 36.4-97.9 72.1-97.9 66.5 0 74.8 53.3 100.9 134.9 18.8 56.9 54 102.6 155.4 102.6 72.7 0 122-22.3 122-80.9 0-72.9-62.7-80.6-115-92.1-25.8-5.9-33.4-16.4-33.4-34 0-19.9 15.8-31.7 41.6-31.7 28.2 0 43.4 10.6 45.7 35.8l58.6-7c-4.7-52.8-41.1-74.5-100.9-74.5-52.8 0-104.4 19.9-104.4 83.9 0 39.9 19.4 65.1 68 76.8 44.9 10.6 79.8 13.8 79.8 45.7 0 21.7-21.1 30.5-61 30.5-59.2 0-83.9-31.1-97.9-73.9-32-96.8-43.6-163-161.3-163C45.7 113.8 0 168.3 0 261c0 89.1 45.7 137.2 127.9 137.2 66.2 0 97.9-31.1 97.9-31.1z"],"lastfm-square":[448,512,[],"f203","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-92.2 312.9c-63.4 0-85.4-28.6-97.1-64.1-16.3-51-21.5-84.3-63-84.3-22.4 0-45.1 16.1-45.1 61.2 0 35.2 18 57.2 43.3 57.2 28.6 0 47.6-21.3 47.6-21.3l11.7 31.9s-19.8 19.4-61.2 19.4c-51.3 0-79.9-30.1-79.9-85.8 0-57.9 28.6-92 82.5-92 73.5 0 80.8 41.4 100.8 101.9 8.8 26.8 24.2 46.2 61.2 46.2 24.9 0 38.1-5.5 38.1-19.1 0-19.9-21.8-22-49.9-28.6-30.4-7.3-42.5-23.1-42.5-48 0-40 32.3-52.4 65.2-52.4 37.4 0 60.1 13.6 63 46.6l-36.7 4.4c-1.5-15.8-11-22.4-28.6-22.4-16.1 0-26 7.3-26 19.8 0 11 4.8 17.6 20.9 21.3 32.7 7.1 71.8 12 71.8 57.5.1 36.7-30.7 50.6-76.1 50.6z"],leanpub:[576,512,[],"f212","M386.539 111.485l15.096 248.955-10.979-.275c-36.232-.824-71.64 8.783-102.657 27.997-31.016-19.214-66.424-27.997-102.657-27.997-45.564 0-82.07 10.705-123.516 27.723L93.117 129.6c28.546-11.803 61.484-18.115 92.226-18.115 41.173 0 73.836 13.175 102.657 42.544 27.723-28.271 59.013-41.721 98.539-42.544zM569.07 448c-25.526 0-47.485-5.215-70.542-15.645-34.31-15.645-69.993-24.978-107.871-24.978-38.977 0-74.934 12.901-102.657 40.623-27.723-27.723-63.68-40.623-102.657-40.623-37.878 0-73.561 9.333-107.871 24.978C55.239 442.236 32.731 448 8.303 448H6.93L49.475 98.859C88.726 76.626 136.486 64 181.775 64 218.83 64 256.984 71.685 288 93.095 319.016 71.685 357.17 64 394.225 64c45.289 0 93.049 12.626 132.3 34.859L569.07 448zm-43.368-44.741l-34.036-280.246c-30.742-13.999-67.248-21.41-101.009-21.41-38.428 0-74.385 12.077-102.657 38.702-28.272-26.625-64.228-38.702-102.657-38.702-33.761 0-70.267 7.411-101.009 21.41L50.298 403.259c47.211-19.487 82.894-33.486 135.045-33.486 37.604 0 70.817 9.606 102.657 29.644 31.84-20.038 65.052-29.644 102.657-29.644 52.151 0 87.834 13.999 135.045 33.486z"],less:[640,512,[],"f41d","M612.7 219c0-20.5 3.2-32.6 3.2-54.6 0-34.2-12.6-45.2-40.5-45.2h-20.5v24.2h6.3c14.2 0 17.3 4.7 17.3 22.1 0 16.3-1.6 32.6-1.6 51.5 0 24.2 7.9 33.6 23.6 37.3v1.6c-15.8 3.7-23.6 13.1-23.6 37.3 0 18.9 1.6 34.2 1.6 51.5 0 17.9-3.7 22.6-17.3 22.6v.5h-6.3V393h20.5c27.8 0 40.5-11 40.5-45.2 0-22.6-3.2-34.2-3.2-54.6 0-11 6.8-22.6 27.3-23.6v-27.3c-20.5-.7-27.3-12.3-27.3-23.3zm-105.6 32c-15.8-6.3-30.5-10-30.5-20.5 0-7.9 6.3-12.6 17.9-12.6s22.1 4.7 33.6 13.1l21-27.8c-13.1-10-31-20.5-55.2-20.5-35.7 0-59.9 20.5-59.9 49.4 0 25.7 22.6 38.9 41.5 46.2 16.3 6.3 32.1 11.6 32.1 22.1 0 7.9-6.3 13.1-20.5 13.1-13.1 0-26.3-5.3-40.5-16.3l-21 30.5c15.8 13.1 39.9 22.1 59.9 22.1 42 0 64.6-22.1 64.6-51s-22.5-41-43-47.8zm-358.9 59.4c-3.7 0-8.4-3.2-8.4-13.1V119.1H65.2c-28.4 0-41 11-41 45.2 0 22.6 3.2 35.2 3.2 54.6 0 11-6.8 22.6-27.3 23.6v27.3c20.5.5 27.3 12.1 27.3 23.1 0 19.4-3.2 31-3.2 53.6 0 34.2 12.6 45.2 40.5 45.2h20.5v-24.2h-6.3c-13.1 0-17.3-5.3-17.3-22.6s1.6-32.1 1.6-51.5c0-24.2-7.9-33.6-23.6-37.3v-1.6c15.8-3.7 23.6-13.1 23.6-37.3 0-18.9-1.6-34.2-1.6-51.5s3.7-22.1 17.3-22.1H93v150.8c0 32.1 11 53.1 43.1 53.1 10 0 17.9-1.6 23.6-3.7l-5.3-34.2c-3.1.8-4.6.8-6.2.8zM379.9 251c-16.3-6.3-31-10-31-20.5 0-7.9 6.3-12.6 17.9-12.6 11.6 0 22.1 4.7 33.6 13.1l21-27.8c-13.1-10-31-20.5-55.2-20.5-35.7 0-59.9 20.5-59.9 49.4 0 25.7 22.6 38.9 41.5 46.2 16.3 6.3 32.1 11.6 32.1 22.1 0 7.9-6.3 13.1-20.5 13.1-13.1 0-26.3-5.3-40.5-16.3l-20.5 30.5c15.8 13.1 39.9 22.1 59.9 22.1 42 0 64.6-22.1 64.6-51 .1-28.9-22.5-41-43-47.8zm-155-68.8c-38.4 0-75.1 32.1-74.1 82.5 0 52 34.2 82.5 79.3 82.5 18.9 0 39.9-6.8 56.2-17.9l-15.8-27.8c-11.6 6.8-22.6 10-34.2 10-21 0-37.3-10-41.5-34.2H290c.5-3.7 1.6-11 1.6-19.4.6-42.6-22.6-75.7-66.7-75.7zm-30 66.2c3.2-21 15.8-31 30.5-31 18.9 0 26.3 13.1 26.3 31h-56.8z"],line:[448,512,[],"f3c0","M272.1 204.2v71.1c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.1 0-2.1-.6-2.6-1.3l-32.6-44v42.2c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.8 0-3.2-1.4-3.2-3.2v-71.1c0-1.8 1.4-3.2 3.2-3.2H219c1 0 2.1.5 2.6 1.4l32.6 44v-42.2c0-1.8 1.4-3.2 3.2-3.2h11.4c1.8-.1 3.3 1.4 3.3 3.1zm-82-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 1.8 1.4 3.2 3.2 3.2h11.4c1.8 0 3.2-1.4 3.2-3.2v-71.1c0-1.7-1.4-3.2-3.2-3.2zm-27.5 59.6h-31.1v-56.4c0-1.8-1.4-3.2-3.2-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 .9.3 1.6.9 2.2.6.5 1.3.9 2.2.9h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.7-1.4-3.2-3.1-3.2zM332.1 201h-45.7c-1.7 0-3.2 1.4-3.2 3.2v71.1c0 1.7 1.4 3.2 3.2 3.2h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2V234c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2v-11.4c-.1-1.7-1.5-3.2-3.2-3.2zM448 113.7V399c-.1 44.8-36.8 81.1-81.7 81H81c-44.8-.1-81.1-36.9-81-81.7V113c.1-44.8 36.9-81.1 81.7-81H367c44.8.1 81.1 36.8 81 81.7zm-61.6 122.6c0-73-73.2-132.4-163.1-132.4-89.9 0-163.1 59.4-163.1 132.4 0 65.4 58 120.2 136.4 130.6 19.1 4.1 16.9 11.1 12.6 36.8-.7 4.1-3.3 16.1 14.1 8.8 17.4-7.3 93.9-55.3 128.2-94.7 23.6-26 34.9-52.3 34.9-81.5z"],linkedin:[448,512,[],"f08c","M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"],"linkedin-in":[448,512,[],"f0e1","M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z"],linode:[448,512,[],"f2b8","M437.4 226.3c-.3-.9-.9-1.4-1.4-2l-70-38.6c-.9-.6-2-.6-3.1 0l-58.9 36c-.9.6-1.4 1.7-1.4 2.6l-.9 31.4-24-16c-.9-.6-2.3-.6-3.1 0L240 260.9l-1.4-35.1c0-.9-.6-2-1.4-2.3l-36-24.3 33.7-17.4c1.1-.6 1.7-1.7 1.7-2.9l-5.7-132.3c0-.9-.9-2-1.7-2.6L138.6.3c-.9-.3-1.7-.3-2.3-.3L12.6 38.6c-1.4.6-2.3 2-2 3.7L38 175.4c.9 3.4 34 27.4 38.6 30.9l-26.9 12.9c-1.4.9-2 2.3-1.7 3.4l20.6 100.3c.6 2.9 23.7 23.1 27.1 26.3l-17.4 10.6c-.9.6-1.7 2-1.4 3.1 1.4 7.1 15.4 77.7 16.9 79.1l65.1 69.1c.6.6 1.4.6 2.3.9.6 0 1.1-.3 1.7-.6l83.7-66.9c.9-.6 1.1-1.4 1.1-2.3l-2-46 28 23.7c1.1.9 2.9.9 4 0l66.9-53.4c.9-.6 1.1-1.4 1.1-2.3l2.3-33.4 20.3 14c1.1.9 2.6.9 3.7 0l54.6-43.7c.6-.3 1.1-1.1 1.1-2 .9-6.5 10.3-70.8 9.7-72.8zm-204.8 4.8l4 92.6-90.6 61.2-14-96.6 100.6-57.2zm-7.7-180l5.4 126-106.6 55.4L104 97.7l120.9-46.6zM44 173.1L18 48l79.7 49.4 19.4 132.9L44 173.1zm30.6 147.8L55.7 230l70 58.3 13.7 93.4-64.8-60.8zm24.3 117.7l-13.7-67.1 61.7 60.9 9.7 67.4-57.7-61.2zm64.5 64.5l-10.6-70.9 85.7-61.4 3.1 70-78.2 62.3zm82-115.1c0-3.4.9-22.9-2-25.1l-24.3-20 22.3-14.9c2.3-1.7 1.1-5.7 1.1-8l29.4 22.6.6 68.3-27.1-22.9zm94.3-25.4l-60.9 48.6-.6-68.6 65.7-46.9-4.2 66.9zm27.7-25.7l-19.1-13.4 2-34c.3-.9-.3-2-1.1-2.6L308 259.7l.6-30 64.6 40.6-5.8 66.6zm54.6-39.8l-48.3 38.3 5.7-65.1 51.1-36.6-8.5 63.4z"],linux:[448,512,[],"f17c","M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z"],lyft:[512,512,[],"f3c3","M0 81.1h77.8v208.7c0 33.1 15 52.8 27.2 61-12.7 11.1-51.2 20.9-80.2-2.8C7.8 334 0 310.7 0 289V81.1zm485.9 173.5v-22h23.8v-76.8h-26.1c-10.1-46.3-51.2-80.7-100.3-80.7-56.6 0-102.7 46-102.7 102.7V357c16 2.3 35.4-.3 51.7-14 17.1-14 24.8-37.2 24.8-59v-6.7h38.8v-76.8h-38.8v-23.3c0-34.6 52.2-34.6 52.2 0v77.1c0 56.6 46 102.7 102.7 102.7v-76.5c-14.5 0-26.1-11.7-26.1-25.9zm-294.3-99v113c0 15.4-23.8 15.4-23.8 0v-113H91v132.7c0 23.8 8 54 45 63.9 37 9.8 58.2-10.6 58.2-10.6-2.1 13.4-14.5 23.3-34.9 25.3-15.5 1.6-35.2-3.6-45-7.8v70.3c25.1 7.5 51.5 9.8 77.6 4.7 47.1-9.1 76.8-48.4 76.8-100.8V155.1h-77.1v.5z"],magento:[448,512,[],"f3c4","M445.7 127.9V384l-63.4 36.5V164.7L223.8 73.1 65.2 164.7l.4 255.9L2.3 384V128.1L224.2 0l221.5 127.9zM255.6 420.5L224 438.9l-31.8-18.2v-256l-63.3 36.6.1 255.9 94.9 54.9 95.1-54.9v-256l-63.4-36.6v255.9z"],mailchimp:[448,512,[],"f59e","M330.61 243.52a36.15 36.15 0 0 1 9.3 0c1.66-3.83 1.95-10.43.45-17.61-2.23-10.67-5.25-17.14-11.48-16.13s-6.47 8.74-4.24 19.42c1.26 6 3.49 11.14 6 14.32zM277.05 252c4.47 2 7.2 3.26 8.28 2.13 1.89-1.94-3.48-9.39-12.12-13.09a31.44 31.44 0 0 0-30.61 3.68c-3 2.18-5.81 5.22-5.41 7.06.85 3.74 10-2.71 22.6-3.48 7-.44 12.8 1.75 17.26 3.71zm-9 5.13c-9.07 1.42-15 6.53-13.47 10.1.9.34 1.17.81 5.21-.81a37 37 0 0 1 18.72-1.95c2.92.34 4.31.52 4.94-.49 1.46-2.22-5.71-8-15.39-6.85zm54.17 17.1c3.38-6.87-10.9-13.93-14.3-7s10.92 13.88 14.32 6.97zm15.66-20.47c-7.66-.13-7.95 15.8-.26 15.93s7.98-15.81.28-15.96zm-218.79 78.9c-1.32.31-6 1.45-8.47-2.35-5.2-8 11.11-20.38 3-35.77-9.1-17.47-27.82-13.54-35.05-5.54-8.71 9.6-8.72 23.54-5 24.08 4.27.57 4.08-6.47 7.38-11.63a12.83 12.83 0 0 1 17.85-3.72c11.59 7.59 1.37 17.76 2.28 28.62 1.39 16.68 18.42 16.37 21.58 9a2.08 2.08 0 0 0-.2-2.33c.03.89.68-1.3-3.35-.39zm299.72-17.07c-3.35-11.73-2.57-9.22-6.78-20.52 2.45-3.67 15.29-24-3.07-43.25-10.4-10.92-33.9-16.54-41.1-18.54-1.5-11.39 4.65-58.7-21.52-83 20.79-21.55 33.76-45.29 33.73-65.65-.06-39.16-48.15-51-107.42-26.47l-12.55 5.33c-.06-.05-22.71-22.27-23.05-22.57C169.5-18-41.77 216.81 25.78 273.85l14.76 12.51a72.49 72.49 0 0 0-4.1 33.5c3.36 33.4 36 60.42 67.53 60.38 57.73 133.06 267.9 133.28 322.29 3 1.74-4.47 9.11-24.61 9.11-42.38s-10.09-25.27-16.53-25.27zm-316 48.16c-22.82-.61-47.46-21.15-49.91-45.51-6.17-61.31 74.26-75.27 84-12.33 4.54 29.64-4.67 58.49-34.12 57.81zM84.3 249.55C69.14 252.5 55.78 261.09 47.6 273c-4.88-4.07-14-12-15.59-15-13.01-24.85 14.24-73 33.3-100.21C112.42 90.56 186.19 39.68 220.36 48.91c5.55 1.57 23.94 22.89 23.94 22.89s-34.15 18.94-65.8 45.35c-42.66 32.85-74.89 80.59-94.2 132.4zM323.18 350.7s-35.74 5.3-69.51-7.07c6.21-20.16 27 6.1 96.4-13.81 15.29-4.38 35.37-13 51-25.35a102.85 102.85 0 0 1 7.12 24.28c3.66-.66 14.25-.52 11.44 18.1-3.29 19.87-11.73 36-25.93 50.84A106.86 106.86 0 0 1 362.55 421a132.45 132.45 0 0 1-20.34 8.58c-53.51 17.48-108.3-1.74-126-43a66.33 66.33 0 0 1-3.55-9.74c-7.53-27.2-1.14-59.83 18.84-80.37 1.23-1.31 2.48-2.85 2.48-4.79a8.45 8.45 0 0 0-1.92-4.54c-7-10.13-31.19-27.4-26.33-60.83 3.5-24 24.49-40.91 44.07-39.91l5 .29c8.48.5 15.89 1.59 22.88 1.88 11.69.5 22.2-1.19 34.64-11.56 4.2-3.5 7.57-6.54 13.26-7.51a17.45 17.45 0 0 1 13.6 2.24c10 6.64 11.4 22.73 11.92 34.49.29 6.72 1.1 23 1.38 27.63.63 10.67 3.43 12.17 9.11 14 3.19 1.05 6.15 1.83 10.51 3.06 13.21 3.71 21 7.48 26 12.31a16.38 16.38 0 0 1 4.74 9.29c1.56 11.37-8.82 25.4-36.31 38.16-46.71 21.68-93.68 14.45-100.48 13.68-20.15-2.71-31.63 23.32-19.55 41.15 22.64 33.41 122.4 20 151.37-21.35.69-1 .12-1.59-.73-1-41.77 28.58-97.06 38.21-128.46 26-4.77-1.85-14.73-6.44-15.94-16.67 43.6 13.49 71 .74 71 .74s2.03-2.79-.56-2.53zm-68.47-5.7zm-83.4-187.5c16.74-19.35 37.36-36.18 55.83-45.63a.73.73 0 0 1 1 1c-1.46 2.66-4.29 8.34-5.19 12.65a.75.75 0 0 0 1.16.79c11.49-7.83 31.48-16.22 49-17.3a.77.77 0 0 1 .52 1.38 41.86 41.86 0 0 0-7.71 7.74.75.75 0 0 0 .59 1.19c12.31.09 29.66 4.4 41 10.74.76.43.22 1.91-.64 1.72-69.55-15.94-123.08 18.53-134.5 26.83a.76.76 0 0 1-1-1.12z"],mandalorian:[448,512,[],"f50f","M232.27 511.89c-1-3.26-1.69-15.83-1.39-24.58.55-15.89 1-24.72 1.4-28.76.64-6.2 2.87-20.72 3.28-21.38.6-1 .4-27.87-.24-33.13-.31-2.58-.63-11.9-.69-20.73-.13-16.47-.53-20.12-2.73-24.76-1.1-2.32-1.23-3.84-1-11.43a92.38 92.38 0 0 0-.34-12.71c-2-13-3.46-27.7-3.25-33.9s.43-7.15 2.06-9.67c3.05-4.71 6.51-14 8.62-23.27 2.26-9.86 3.88-17.18 4.59-20.74a109.54 109.54 0 0 1 4.42-15.05c2.27-6.25 2.49-15.39.37-15.39-.3 0-1.38 1.22-2.41 2.71s-4.76 4.8-8.29 7.36c-8.37 6.08-11.7 9.39-12.66 12.58s-1 7.23-.16 7.76c.34.21 1.29 2.4 2.11 4.88a28.83 28.83 0 0 1 .72 15.36c-.39 1.77-1 5.47-1.46 8.23s-1 6.46-1.25 8.22a9.85 9.85 0 0 1-1.55 4.26c-1 1-1.14.91-2.05-.53a14.87 14.87 0 0 1-1.44-4.75c-.25-1.74-1.63-7.11-3.08-11.93-3.28-10.9-3.52-16.15-1-21a14.24 14.24 0 0 0 1.67-4.61c0-2.39-2.2-5.32-7.41-9.89-7-6.18-8.63-7.92-10.23-11.3-1.71-3.6-3.06-4.06-4.54-1.54-1.78 3-2.6 9.11-3 22l-.34 12.19 2 2.25c3.21 3.7 12.07 16.45 13.78 19.83 3.41 6.74 4.34 11.69 4.41 23.56s.95 22.75 2 24.71c.36.66.51 1.35.34 1.52s.41 2.09 1.29 4.27a38.14 38.14 0 0 1 2.06 9 91 91 0 0 0 1.71 10.37c2.23 9.56 2.77 14.08 2.39 20.14-.2 3.27-.53 11.07-.73 17.32-1.31 41.76-1.85 58-2 61.21-.12 2-.39 11.51-.6 21.07-.36 16.3-1.3 27.37-2.42 28.65-.64.73-8.07-4.91-12.52-9.49-3.75-3.87-4-4.79-2.83-9.95.7-3 2.26-18.29 3.33-32.62.36-4.78.81-10.5 1-12.71.83-9.37 1.66-20.35 2.61-34.78.56-8.46 1.33-16.44 1.72-17.73s.89-9.89 1.13-19.11l.43-16.77-2.26-4.3c-1.72-3.28-4.87-6.94-13.22-15.34-6-6.07-11.84-12.3-12.91-13.85l-1.95-2.81.75-10.9c1.09-15.71 1.1-48.57 0-59.06l-.89-8.7-3.28-4.52c-5.86-8.08-5.8-7.75-6.22-33.27-.1-6.07-.38-11.5-.63-12.06-.83-1.87-3.05-2.66-8.54-3.05-8.86-.62-11-1.9-23.85-14.55-6.15-6-12.34-12-13.75-13.19-2.81-2.42-2.79-2-.56-9.63l1.35-4.65-1.69-3a32.22 32.22 0 0 0-2.59-4.07c-1.33-1.51-5.5-10.89-6-13.49a4.24 4.24 0 0 1 .87-3.9c2.23-2.86 3.4-5.68 4.45-10.73 2.33-11.19 7.74-26.09 10.6-29.22 3.18-3.47 7.7-1 9.41 5 1.34 4.79 1.37 9.79.1 18.55a101.2 101.2 0 0 0-1 11.11c0 4 .19 4.69 2.25 7.39 3.33 4.37 7.73 7.41 15.2 10.52a18.67 18.67 0 0 1 4.72 2.85c11.17 10.72 18.62 16.18 22.95 16.85 5.18.8 8 4.54 10 13.39 1.31 5.65 4 11.14 5.46 11.14a9.38 9.38 0 0 0 3.33-1.39c2-1.22 2.25-1.73 2.25-4.18a132.88 132.88 0 0 0-2-17.84c-.37-1.66-.78-4.06-.93-5.35s-.61-3.85-1-5.69c-2.55-11.16-3.65-15.46-4.1-16-1.55-2-4.08-10.2-4.93-15.92-1.64-11.11-4-14.23-12.91-17.39A43.15 43.15 0 0 1 165.24 78c-1.15-1-4-3.22-6.35-5.06s-4.41-3.53-4.6-3.76a22.7 22.7 0 0 0-2.69-2c-6.24-4.22-8.84-7-11.26-12l-2.44-5-.22-13-.22-13 6.91-6.55c3.95-3.75 8.48-7.35 10.59-8.43 3.31-1.69 4.45-1.89 11.37-2 8.53-.19 10.12 0 11.66 1.56s1.36 6.4-.29 8.5a6.66 6.66 0 0 0-1.34 2.32c0 .58-2.61 4.91-5.42 9a30.39 30.39 0 0 0-2.37 6.82c20.44 13.39 21.55 3.77 14.07 29L194 66.92c3.11-8.66 6.47-17.26 8.61-26.22.29-7.63-12-4.19-15.4-8.68-2.33-5.93 3.13-14.18 6.06-19.2 1.6-2.34 6.62-4.7 8.82-4.15.88.22 4.16-.35 7.37-1.28a45.3 45.3 0 0 1 7.55-1.68 29.57 29.57 0 0 0 6-1.29c3.65-1.11 4.5-1.17 6.35-.4a29.54 29.54 0 0 0 5.82 1.36 18.18 18.18 0 0 1 6 1.91 22.67 22.67 0 0 0 5 2.17c2.51.68 3 .57 7.05-1.67l4.35-2.4L268.32 5c10.44-.4 10.81-.47 15.26-2.68L288.16 0l2.46 1.43c1.76 1 3.14 2.73 4.85 6 2.36 4.51 2.38 4.58 1.37 7.37-.88 2.44-.89 3.3-.1 6.39a35.76 35.76 0 0 0 2.1 5.91 13.55 13.55 0 0 1 1.31 4c.31 4.33 0 5.3-2.41 6.92-2.17 1.47-7 7.91-7 9.34a14.77 14.77 0 0 1-1.07 3c-5 11.51-6.76 13.56-14.26 17-9.2 4.2-12.3 5.19-16.21 5.19-3.1 0-4 .25-4.54 1.26a18.33 18.33 0 0 1-4.09 3.71 13.62 13.62 0 0 0-4.38 4.78 5.89 5.89 0 0 1-2.49 2.91 6.88 6.88 0 0 0-2.45 1.71 67.62 67.62 0 0 1-7 5.38c-3.33 2.34-6.87 5-7.87 6A7.27 7.27 0 0 1 224 100a5.76 5.76 0 0 0-2.13 1.65c-1.31 1.39-1.49 2.11-1.14 4.6a36.45 36.45 0 0 0 1.42 5.88c1.32 3.8 1.31 7.86 0 10.57s-.89 6.65 1.35 9.59c2 2.63 2.16 4.56.71 8.84a33.45 33.45 0 0 0-1.06 8.91c0 4.88.22 6.28 1.46 8.38s1.82 2.48 3.24 2.32c2-.23 2.3-1.05 4.71-12.12 2.18-10 3.71-11.92 13.76-17.08 2.94-1.51 7.46-4 10-5.44s6.79-3.69 9.37-4.91a40.09 40.09 0 0 0 15.22-11.67c7.11-8.79 10-16.22 12.85-33.3a18.37 18.37 0 0 1 2.86-7.73 20.39 20.39 0 0 0 2.89-7.31c1-5.3 2.85-9.08 5.58-11.51 4.7-4.18 6-1.09 4.59 10.87-.46 3.86-1.1 10.33-1.44 14.38l-.61 7.36 4.45 4.09 4.45 4.09.11 8.42c.06 4.63.47 9.53.92 10.89l.82 2.47-6.43 6.28c-8.54 8.33-12.88 13.93-16.76 21.61-1.77 3.49-3.74 7.11-4.38 8-2.18 3.11-6.46 13-8.76 20.26l-2.29 7.22-7 6.49c-3.83 3.57-8 7.25-9.17 8.17-3.05 2.32-4.26 5.15-4.26 10a14.62 14.62 0 0 0 1.59 7.26 42 42 0 0 1 2.09 4.83 9.28 9.28 0 0 0 1.57 2.89c1.4 1.59 1.92 16.12.83 23.22-.68 4.48-3.63 12-4.7 12-1.79 0-4.06 9.27-5.07 20.74-.18 2-.62 5.94-1 8.7s-1 10-1.35 16.05c-.77 12.22-.19 18.77 2 23.15 3.41 6.69.52 12.69-11 22.84l-4 3.49.07 5.19a40.81 40.81 0 0 0 1.14 8.87c4.61 16 4.73 16.92 4.38 37.13-.46 26.4-.26 40.27.63 44.15a61.31 61.31 0 0 1 1.08 7c.17 2 .66 5.33 1.08 7.36.47 2.26.78 11 .79 22.74v19.06l-1.81 2.63c-2.71 3.91-15.11 13.54-15.49 12.29zm29.53-45.11c-.18-.3-.33-6.87-.33-14.59 0-14.06-.89-27.54-2.26-34.45-.4-2-.81-9.7-.9-17.06-.15-11.93-1.4-24.37-2.64-26.38-.66-1.07-3-17.66-3-21.3 0-4.23 1-6 5.28-9.13s4.86-3.14 5.48-.72c.28 1.1 1.45 5.62 2.6 10 3.93 15.12 4.14 16.27 4.05 21.74-.1 5.78-.13 6.13-1.74 17.73-1 7.07-1.17 12.39-1 28.43.17 19.4-.64 35.73-2 41.27-.71 2.78-2.8 5.48-3.43 4.43zm-71-37.58a101 101 0 0 1-1.73-10.79 100.5 100.5 0 0 0-1.73-10.79 37.53 37.53 0 0 1-1-6.49c-.31-3.19-.91-7.46-1.33-9.48-1-4.79-3.35-19.35-3.42-21.07 0-.74-.34-4.05-.7-7.36-.67-6.21-.84-27.67-.22-28.29 1-1 6.63 2.76 11.33 7.43l5.28 5.25-.45 6.47c-.25 3.56-.6 10.23-.78 14.83s-.49 9.87-.67 11.71-.61 9.36-.94 16.72c-.79 17.41-1.94 31.29-2.65 32a.62.62 0 0 1-1-.14zm-87.18-266.59c21.07 12.79 17.84 14.15 28.49 17.66 13 4.29 18.87 7.13 23.15 16.87C111.6 233.28 86.25 255 78.55 268c-31 52-6 101.59 62.75 87.21-14.18 29.23-78 28.63-98.68-4.9-24.68-39.95-22.09-118.3 61-187.66zm210.79 179c56.66 6.88 82.32-37.74 46.54-89.23 0 0-26.87-29.34-64.28-68 3-15.45 9.49-32.12 30.57-53.82 89.2 63.51 92 141.61 92.46 149.36 4.3 70.64-78.7 91.18-105.29 61.71z"],markdown:[640,512,[],"f60f","M593.8 59.1H46.2C20.7 59.1 0 79.8 0 105.2v301.5c0 25.5 20.7 46.2 46.2 46.2h547.7c25.5 0 46.2-20.7 46.1-46.1V105.2c0-25.4-20.7-46.1-46.2-46.1zM338.5 360.6H277v-120l-61.5 76.9-61.5-76.9v120H92.3V151.4h61.5l61.5 76.9 61.5-76.9h61.5v209.2zm135.3 3.1L381.5 256H443V151.4h61.5V256H566z"],mastodon:[448,512,[],"f4f6","M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"],maxcdn:[512,512,[],"f136","M461.1 442.7h-97.4L415.6 200c2.3-10.2.9-19.5-4.4-25.7-5-6.1-13.7-9.6-24.2-9.6h-49.3l-59.5 278h-97.4l59.5-278h-83.4l-59.5 278H0l59.5-278-44.6-95.4H387c39.4 0 75.3 16.3 98.3 44.9 23.3 28.6 31.8 67.4 23.6 105.9l-47.8 222.6z"],mdb:[576,512,[],"f8ca","M17.37 160.41L7 352h43.91l5.59-79.83L84.43 352h44.71l25.54-77.43 4.79 77.43H205l-12.79-191.59H146.7L106 277.74 63.67 160.41zm281 0h-47.9V352h47.9s95 .8 94.2-95.79c-.78-94.21-94.18-95.78-94.18-95.78zm-1.2 146.46V204.78s46 4.27 46.8 50.57-46.78 51.54-46.78 51.54zm238.29-74.24a56.16 56.16 0 0 0 8-38.31c-5.34-35.76-55.08-34.32-55.08-34.32h-51.9v191.58H482s87 4.79 87-63.85c0-43.14-33.52-55.08-33.52-55.08zm-51.9-31.94s13.57-1.59 16 9.59c1.43 6.66-4 12-4 12h-12v-21.57zm-.1 109.46l.1-24.92V267h.08s41.58-4.73 41.19 22.43c-.33 25.65-41.35 20.74-41.35 20.74z"],medapps:[320,512,[],"f3c6","M118.3 238.4c3.5-12.5 6.9-33.6 13.2-33.6 8.3 1.8 9.6 23.4 18.6 36.6 4.6-23.5 5.3-85.1 14.1-86.7 9-.7 19.7 66.5 22 77.5 9.9 4.1 48.9 6.6 48.9 6.6 1.9 7.3-24 7.6-40 7.8-4.6 14.8-5.4 27.7-11.4 28-4.7.2-8.2-28.8-17.5-49.6l-9.4 65.5c-4.4 13-15.5-22.5-21.9-39.3-3.3-.1-62.4-1.6-47.6-7.8l31-5zM228 448c21.2 0 21.2-32 0-32H92c-21.2 0-21.2 32 0 32h136zm-24 64c21.2 0 21.2-32 0-32h-88c-21.2 0-21.2 32 0 32h88zm34.2-141.5c3.2-18.9 5.2-36.4 11.9-48.8 7.9-14.7 16.1-28.1 24-41 24.6-40.4 45.9-75.2 45.9-125.5C320 69.6 248.2 0 160 0S0 69.6 0 155.2c0 50.2 21.3 85.1 45.9 125.5 7.9 12.9 16 26.3 24 41 6.7 12.5 8.7 29.8 11.9 48.9 3.5 21 36.1 15.7 32.6-5.1-3.6-21.7-5.6-40.7-15.3-58.6C66.5 246.5 33 211.3 33 155.2 33 87.3 90 32 160 32s127 55.3 127 123.2c0 56.1-33.5 91.3-66.1 151.6-9.7 18-11.7 37.4-15.3 58.6-3.4 20.6 29 26.4 32.6 5.1z"],medium:[448,512,[],"f23a","M0 32v448h448V32H0zm372.2 106.1l-24 23c-2.1 1.6-3.1 4.2-2.7 6.7v169.3c-.4 2.6.6 5.2 2.7 6.7l23.5 23v5.1h-118V367l24.3-23.6c2.4-2.4 2.4-3.1 2.4-6.7V199.8l-67.6 171.6h-9.1L125 199.8v115c-.7 4.8 1 9.7 4.4 13.2l31.6 38.3v5.1H71.2v-5.1l31.6-38.3c3.4-3.5 4.9-8.4 4.1-13.2v-133c.4-3.7-1-7.3-3.8-9.8L75 138.1V133h87.3l67.4 148L289 133.1h83.2v5z"],"medium-m":[512,512,[],"f3c7","M71.5 142.3c.6-5.9-1.7-11.8-6.1-15.8L20.3 72.1V64h140.2l108.4 237.7L364.2 64h133.7v8.1l-38.6 37c-3.3 2.5-5 6.7-4.3 10.8v272c-.7 4.1 1 8.3 4.3 10.8l37.7 37v8.1H307.3v-8.1l39.1-37.9c3.8-3.8 3.8-5 3.8-10.8V171.2L241.5 447.1h-14.7L100.4 171.2v184.9c-1.1 7.8 1.5 15.6 7 21.2l50.8 61.6v8.1h-144v-8L65 377.3c5.4-5.6 7.9-13.5 6.5-21.2V142.3z"],medrt:[544,512,[],"f3c8","M113.7 256c0 121.8 83.9 222.8 193.5 241.1-18.7 4.5-38.2 6.9-58.2 6.9C111.4 504 0 393 0 256S111.4 8 248.9 8c20.1 0 39.6 2.4 58.2 6.9C197.5 33.2 113.7 134.2 113.7 256m297.4 100.3c-77.7 55.4-179.6 47.5-240.4-14.6 5.5 14.1 12.7 27.7 21.7 40.5 61.6 88.2 182.4 109.3 269.7 47 87.3-62.3 108.1-184.3 46.5-272.6-9-12.9-19.3-24.3-30.5-34.2 37.4 78.8 10.7 178.5-67 233.9m-218.8-244c-1.4 1-2.7 2.1-4 3.1 64.3-17.8 135.9 4 178.9 60.5 35.7 47 42.9 106.6 24.4 158 56.7-56.2 67.6-142.1 22.3-201.8-50-65.5-149.1-74.4-221.6-19.8M296 224c-4.4 0-8-3.6-8-8v-40c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v40c0 4.4-3.6 8-8 8h-40c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h40c4.4 0 8 3.6 8 8v40c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-40c0-4.4 3.6-8 8-8h40c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-40z"],meetup:[512,512,[],"f2e0","M99 414.3c1.1 5.7-2.3 11.1-8 12.3-5.4 1.1-10.9-2.3-12-8-1.1-5.4 2.3-11.1 7.7-12.3 5.4-1.2 11.1 2.3 12.3 8zm143.1 71.4c-6.3 4.6-8 13.4-3.7 20 4.6 6.6 13.4 8.3 20 3.7 6.3-4.6 8-13.4 3.4-20-4.2-6.5-13.1-8.3-19.7-3.7zm-86-462.3c6.3-1.4 10.3-7.7 8.9-14-1.1-6.6-7.4-10.6-13.7-9.1-6.3 1.4-10.3 7.7-9.1 14 1.4 6.6 7.6 10.6 13.9 9.1zM34.4 226.3c-10-6.9-23.7-4.3-30.6 6-6.9 10-4.3 24 5.7 30.9 10 7.1 23.7 4.6 30.6-5.7 6.9-10.4 4.3-24.1-5.7-31.2zm272-170.9c10.6-6.3 13.7-20 7.7-30.3-6.3-10.6-19.7-14-30-7.7s-13.7 20-7.4 30.6c6 10.3 19.4 13.7 29.7 7.4zm-191.1 58c7.7-5.4 9.4-16 4.3-23.7s-15.7-9.4-23.1-4.3c-7.7 5.4-9.4 16-4.3 23.7 5.1 7.8 15.6 9.5 23.1 4.3zm372.3 156c-7.4 1.7-12.3 9.1-10.6 16.9 1.4 7.4 8.9 12.3 16.3 10.6 7.4-1.4 12.3-8.9 10.6-16.6-1.5-7.4-8.9-12.3-16.3-10.9zm39.7-56.8c-1.1-5.7-6.6-9.1-12-8-5.7 1.1-9.1 6.9-8 12.6 1.1 5.4 6.6 9.1 12.3 8 5.4-1.5 9.1-6.9 7.7-12.6zM447 138.9c-8.6 6-10.6 17.7-4.9 26.3 5.7 8.6 17.4 10.6 26 4.9 8.3-6 10.3-17.7 4.6-26.3-5.7-8.7-17.4-10.9-25.7-4.9zm-6.3 139.4c26.3 43.1 15.1 100-26.3 129.1-17.4 12.3-37.1 17.7-56.9 17.1-12 47.1-69.4 64.6-105.1 32.6-1.1.9-2.6 1.7-3.7 2.9-39.1 27.1-92.3 17.4-119.4-22.3-9.7-14.3-14.6-30.6-15.1-46.9-65.4-10.9-90-94-41.1-139.7-28.3-46.9.6-107.4 53.4-114.9C151.6 70 234.1 38.6 290.1 82c67.4-22.3 136.3 29.4 130.9 101.1 41.1 12.6 52.8 66.9 19.7 95.2zm-70 74.3c-3.1-20.6-40.9-4.6-43.1-27.1-3.1-32 43.7-101.1 40-128-3.4-24-19.4-29.1-33.4-29.4-13.4-.3-16.9 2-21.4 4.6-2.9 1.7-6.6 4.9-11.7-.3-6.3-6-11.1-11.7-19.4-12.9-12.3-2-17.7 2-26.6 9.7-3.4 2.9-12 12.9-20 9.1-3.4-1.7-15.4-7.7-24-11.4-16.3-7.1-40 4.6-48.6 20-12.9 22.9-38 113.1-41.7 125.1-8.6 26.6 10.9 48.6 36.9 47.1 11.1-.6 18.3-4.6 25.4-17.4 4-7.4 41.7-107.7 44.6-112.6 2-3.4 8.9-8 14.6-5.1 5.7 3.1 6.9 9.4 6 15.1-1.1 9.7-28 70.9-28.9 77.7-3.4 22.9 26.9 26.6 38.6 4 3.7-7.1 45.7-92.6 49.4-98.3 4.3-6.3 7.4-8.3 11.7-8 3.1 0 8.3.9 7.1 10.9-1.4 9.4-35.1 72.3-38.9 87.7-4.6 20.6 6.6 41.4 24.9 50.6 11.4 5.7 62.5 15.7 58.5-11.1zm5.7 92.3c-10.3 7.4-12.9 22-5.7 32.6 7.1 10.6 21.4 13.1 32 6 10.6-7.4 13.1-22 6-32.6-7.4-10.6-21.7-13.5-32.3-6z"],megaport:[496,512,[],"f5a3","M214.5 209.6v66.2l33.5 33.5 33.3-33.3v-66.4l-33.4-33.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm145.1 414.4L367 441.6l-26-19.2v-65.5l-33.4-33.4-33.4 33.4v65.5L248 441.6l-26.1-19.2v-65.5l-33.4-33.4-33.5 33.4v65.5l-26.1 19.2-26.1-19.2v-87l59.5-59.5V188l59.5-59.5V52.9l26.1-19.2L274 52.9v75.6l59.5 59.5v87.6l59.7 59.7v87.1z"],mendeley:[640,512,[],"f7b3","M624.6 325.2c-12.3-12.4-29.7-19.2-48.4-17.2-43.3-1-49.7-34.9-37.5-98.8 22.8-57.5-14.9-131.5-87.4-130.8-77.4.7-81.7 82-130.9 82-48.1 0-54-81.3-130.9-82-72.9-.8-110.1 73.3-87.4 130.8 12.2 63.9 5.8 97.8-37.5 98.8-21.2-2.3-37 6.5-53 22.5-19.9 19.7-19.3 94.8 42.6 102.6 47.1 5.9 81.6-42.9 61.2-87.8-47.3-103.7 185.9-106.1 146.5-8.2-.1.1-.2.2-.3.4-26.8 42.8 6.8 97.4 58.8 95.2 52.1 2.1 85.4-52.6 58.8-95.2-.1-.2-.2-.3-.3-.4-39.4-97.9 193.8-95.5 146.5 8.2-4.6 10-6.7 21.3-5.7 33 4.9 53.4 68.7 74.1 104.9 35.2 17.8-14.8 23.1-65.6 0-88.3zm-303.9-19.1h-.6c-43.4 0-62.8-37.5-62.8-62.8 0-34.7 28.2-62.8 62.8-62.8h.6c34.7 0 62.8 28.1 62.8 62.8 0 25-19.2 62.8-62.8 62.8z"],microblog:[448,512,[],"e01a","M399.36,362.23c29.49-34.69,47.1-78.34,47.1-125.79C446.46,123.49,346.86,32,224,32S1.54,123.49,1.54,236.44,101.14,440.87,224,440.87a239.28,239.28,0,0,0,79.44-13.44,7.18,7.18,0,0,1,8.12,2.56c18.58,25.09,47.61,42.74,79.89,49.92a4.42,4.42,0,0,0,5.22-3.43,4.37,4.37,0,0,0-.85-3.62,87,87,0,0,1,3.69-110.69ZM329.52,212.4l-57.3,43.49L293,324.75a6.5,6.5,0,0,1-9.94,7.22L224,290.92,164.94,332a6.51,6.51,0,0,1-9.95-7.22l20.79-68.86-57.3-43.49a6.5,6.5,0,0,1,3.8-11.68l71.88-1.51,23.66-67.92a6.5,6.5,0,0,1,12.28,0l23.66,67.92,71.88,1.51a6.5,6.5,0,0,1,3.88,11.68Z"],microsoft:[448,512,[],"f3ca","M0 32h214.6v214.6H0V32zm233.4 0H448v214.6H233.4V32zM0 265.4h214.6V480H0V265.4zm233.4 0H448V480H233.4V265.4z"],mix:[448,512,[],"f3cb","M0 64v348.9c0 56.2 88 58.1 88 0V174.3c7.9-52.9 88-50.4 88 6.5v175.3c0 57.9 96 58 96 0V240c5.3-54.7 88-52.5 88 4.3v23.8c0 59.9 88 56.6 88 0V64H0z"],mixcloud:[640,512,[],"f289","M424.43 219.729C416.124 134.727 344.135 68 256.919 68c-72.266 0-136.224 46.516-159.205 114.074-54.545 8.029-96.63 54.822-96.63 111.582 0 62.298 50.668 112.966 113.243 112.966h289.614c52.329 0 94.969-42.362 94.969-94.693 0-45.131-32.118-83.063-74.48-92.2zm-20.489 144.53H114.327c-39.04 0-70.881-31.564-70.881-70.604s31.841-70.604 70.881-70.604c18.827 0 36.548 7.475 49.838 20.766 19.963 19.963 50.133-10.227 30.18-30.18-14.675-14.398-32.672-24.365-52.053-29.349 19.935-44.3 64.79-73.926 114.628-73.926 69.496 0 125.979 56.483 125.979 125.702 0 13.568-2.215 26.857-6.369 39.594-8.943 27.517 32.133 38.939 40.147 13.29 2.769-8.306 4.984-16.889 6.369-25.472 19.381 7.476 33.502 26.303 33.502 48.453 0 28.795-23.535 52.33-52.607 52.33zm235.069-52.33c0 44.024-12.737 86.386-37.102 122.657-4.153 6.092-10.798 9.414-17.72 9.414-16.317 0-27.127-18.826-17.443-32.949 19.381-29.349 29.903-63.682 29.903-99.122s-10.521-69.773-29.903-98.845c-15.655-22.831 19.361-47.24 35.163-23.534 24.366 35.993 37.102 78.356 37.102 122.379zm-70.88 0c0 31.565-9.137 62.021-26.857 88.325-4.153 6.091-10.798 9.136-17.72 9.136-17.201 0-27.022-18.979-17.443-32.948 13.013-19.104 19.658-41.255 19.658-64.513 0-22.981-6.645-45.408-19.658-64.512-15.761-22.986 19.008-47.095 35.163-23.535 17.719 26.026 26.857 56.483 26.857 88.047z"],mixer:[512,512,[],"e056","M114.57,76.07a45.71,45.71,0,0,0-67.51-6.41c-17.58,16.18-19,43.52-4.75,62.77l91.78,123L41.76,379.58c-14.23,19.25-13.11,46.59,4.74,62.77A45.71,45.71,0,0,0,114,435.94L242.89,262.7a12.14,12.14,0,0,0,0-14.23ZM470.24,379.58,377.91,255.45l91.78-123c14.22-19.25,12.83-46.59-4.75-62.77a45.71,45.71,0,0,0-67.51,6.41l-128,172.12a12.14,12.14,0,0,0,0,14.23L398,435.94a45.71,45.71,0,0,0,67.51,6.41C483.35,426.17,484.47,398.83,470.24,379.58Z"],mizuni:[496,512,[],"f3cc","M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm-80 351.9c-31.4 10.6-58.8 27.3-80 48.2V136c0-22.1 17.9-40 40-40s40 17.9 40 40v223.9zm120-9.9c-12.9-2-26.2-3.1-39.8-3.1-13.8 0-27.2 1.1-40.2 3.1V136c0-22.1 17.9-40 40-40s40 17.9 40 40v214zm120 57.7c-21.2-20.8-48.6-37.4-80-48V136c0-22.1 17.9-40 40-40s40 17.9 40 40v271.7z"],modx:[448,512,[],"f285","M356 241.8l36.7 23.7V480l-133-83.8L356 241.8zM440 75H226.3l-23 37.8 153.5 96.5L440 75zm-89 142.8L55.2 32v214.5l46 29L351 217.8zM97 294.2L8 437h213.7l125-200.5L97 294.2z"],monero:[496,512,[],"f3d0","M352 384h108.4C417 455.9 338.1 504 248 504S79 455.9 35.6 384H144V256.2L248 361l104-105v128zM88 336V128l159.4 159.4L408 128v208h74.8c8.5-25.1 13.2-52 13.2-80C496 119 385 8 248 8S0 119 0 256c0 28 4.6 54.9 13.2 80H88z"],napster:[496,512,[],"f3d2","M298.3 373.6c-14.2 13.6-31.3 24.1-50.4 30.5-19-6.4-36.2-16.9-50.3-30.5h100.7zm44-199.6c20-16.9 43.6-29.2 69.6-36.2V299c0 219.4-328 217.6-328 .3V137.7c25.9 6.9 49.6 19.6 69.5 36.4 56.8-40 132.5-39.9 188.9-.1zm-208.8-58.5c64.4-60 164.3-60.1 228.9-.2-7.1 3.5-13.9 7.3-20.6 11.5-58.7-30.5-129.2-30.4-187.9.1-6.3-4-13.9-8.2-20.4-11.4zM43.8 93.2v69.3c-58.4 36.5-58.4 121.1.1 158.3 26.4 245.1 381.7 240.3 407.6 1.5l.3-1.7c58.7-36.3 58.9-121.7.2-158.2V93.2c-17.3.5-34 3-50.1 7.4-82-91.5-225.5-91.5-307.5.1-16.3-4.4-33.1-7-50.6-7.5zM259.2 352s36-.3 61.3-1.5c10.2-.5 21.1-4 25.5-6.5 26.3-15.1 25.4-39.2 26.2-47.4-79.5-.6-99.9-3.9-113 55.4zm-135.5-55.3c.8 8.2-.1 32.3 26.2 47.4 4.4 2.5 15.2 6 25.5 6.5 25.3 1.1 61.3 1.5 61.3 1.5-13.2-59.4-33.7-56.1-113-55.4zm169.1 123.4c-3.2-5.3-6.9-7.3-6.9-7.3-24.8 7.3-52.2 6.9-75.9 0 0 0-2.9 1.5-6.4 6.6-2.8 4.1-3.7 9.6-3.7 9.6 29.1 17.6 67.1 17.6 96.2 0-.1-.1-.3-4-3.3-8.9z"],neos:[512,512,[],"f612","M415.44 512h-95.11L212.12 357.46v91.1L125.69 512H28V29.82L68.47 0h108.05l123.74 176.13V63.45L386.69 0h97.69v461.5zM38.77 35.27V496l72-52.88V194l215.5 307.64h84.79l52.35-38.17h-78.27L69 13zm82.54 466.61l80-58.78v-101l-79.76-114.4v220.94L49 501.89h72.34zM80.63 10.77l310.6 442.57h82.37V10.77h-79.75v317.56L170.91 10.77zM311 191.65l72 102.81V15.93l-72 53v122.72z"],nimblr:[384,512,[],"f5a8","M246.6 299.29c15.57 0 27.15 11.46 27.15 27s-11.62 27-27.15 27c-15.7 0-27.15-11.57-27.15-27s11.55-27 27.15-27zM113 326.25c0-15.61 11.68-27 27.15-27s27.15 11.46 27.15 27-11.47 27-27.15 27c-15.44 0-27.15-11.31-27.15-27M191.76 159C157 159 89.45 178.77 59.25 227L14 0v335.48C14 433.13 93.61 512 191.76 512s177.76-78.95 177.76-176.52S290.13 159 191.76 159zm0 308.12c-73.27 0-132.51-58.9-132.51-131.59s59.24-131.59 132.51-131.59 132.51 58.86 132.51 131.54S265 467.07 191.76 467.07z"],node:[640,512,[],"f419","M316.3 452c-2.1 0-4.2-.6-6.1-1.6L291 439c-2.9-1.6-1.5-2.2-.5-2.5 3.8-1.3 4.6-1.6 8.7-4 .4-.2 1-.1 1.4.1l14.8 8.8c.5.3 1.3.3 1.8 0L375 408c.5-.3.9-.9.9-1.6v-66.7c0-.7-.3-1.3-.9-1.6l-57.8-33.3c-.5-.3-1.2-.3-1.8 0l-57.8 33.3c-.6.3-.9 1-.9 1.6v66.7c0 .6.4 1.2.9 1.5l15.8 9.1c8.6 4.3 13.9-.8 13.9-5.8v-65.9c0-.9.7-1.7 1.7-1.7h7.3c.9 0 1.7.7 1.7 1.7v65.9c0 11.5-6.2 18-17.1 18-3.3 0-6 0-13.3-3.6l-15.2-8.7c-3.7-2.2-6.1-6.2-6.1-10.5v-66.7c0-4.3 2.3-8.4 6.1-10.5l57.8-33.4c3.7-2.1 8.5-2.1 12.1 0l57.8 33.4c3.7 2.2 6.1 6.2 6.1 10.5v66.7c0 4.3-2.3 8.4-6.1 10.5l-57.8 33.4c-1.7 1.1-3.8 1.7-6 1.7zm46.7-65.8c0-12.5-8.4-15.8-26.2-18.2-18-2.4-19.8-3.6-19.8-7.8 0-3.5 1.5-8.1 14.8-8.1 11.9 0 16.3 2.6 18.1 10.6.2.8.8 1.3 1.6 1.3h7.5c.5 0 .9-.2 1.2-.5.3-.4.5-.8.4-1.3-1.2-13.8-10.3-20.2-28.8-20.2-16.5 0-26.3 7-26.3 18.6 0 12.7 9.8 16.1 25.6 17.7 18.9 1.9 20.4 4.6 20.4 8.3 0 6.5-5.2 9.2-17.4 9.2-15.3 0-18.7-3.8-19.8-11.4-.1-.8-.8-1.4-1.7-1.4h-7.5c-.9 0-1.7.7-1.7 1.7 0 9.7 5.3 21.3 30.6 21.3 18.5 0 29-7.2 29-19.8zm54.5-50.1c0 6.1-5 11.1-11.1 11.1s-11.1-5-11.1-11.1c0-6.3 5.2-11.1 11.1-11.1 6-.1 11.1 4.8 11.1 11.1zm-1.8 0c0-5.2-4.2-9.3-9.4-9.3-5.1 0-9.3 4.1-9.3 9.3 0 5.2 4.2 9.4 9.3 9.4 5.2-.1 9.4-4.3 9.4-9.4zm-4.5 6.2h-2.6c-.1-.6-.5-3.8-.5-3.9-.2-.7-.4-1.1-1.3-1.1h-2.2v5h-2.4v-12.5h4.3c1.5 0 4.4 0 4.4 3.3 0 2.3-1.5 2.8-2.4 3.1 1.7.1 1.8 1.2 2.1 2.8.1 1 .3 2.7.6 3.3zm-2.8-8.8c0-1.7-1.2-1.7-1.8-1.7h-2v3.5h1.9c1.6 0 1.9-1.1 1.9-1.8zM137.3 191c0-2.7-1.4-5.1-3.7-6.4l-61.3-35.3c-1-.6-2.2-.9-3.4-1h-.6c-1.2 0-2.3.4-3.4 1L3.7 184.6C1.4 185.9 0 188.4 0 191l.1 95c0 1.3.7 2.5 1.8 3.2 1.1.7 2.5.7 3.7 0L42 268.3c2.3-1.4 3.7-3.8 3.7-6.4v-44.4c0-2.6 1.4-5.1 3.7-6.4l15.5-8.9c1.2-.7 2.4-1 3.7-1 1.3 0 2.6.3 3.7 1l15.5 8.9c2.3 1.3 3.7 3.8 3.7 6.4v44.4c0 2.6 1.4 5.1 3.7 6.4l36.4 20.9c1.1.7 2.6.7 3.7 0 1.1-.6 1.8-1.9 1.8-3.2l.2-95zM472.5 87.3v176.4c0 2.6-1.4 5.1-3.7 6.4l-61.3 35.4c-2.3 1.3-5.1 1.3-7.4 0l-61.3-35.4c-2.3-1.3-3.7-3.8-3.7-6.4v-70.8c0-2.6 1.4-5.1 3.7-6.4l61.3-35.4c2.3-1.3 5.1-1.3 7.4 0l15.3 8.8c1.7 1 3.9-.3 3.9-2.2v-94c0-2.8 3-4.6 5.5-3.2l36.5 20.4c2.3 1.2 3.8 3.7 3.8 6.4zm-46 128.9c0-.7-.4-1.3-.9-1.6l-21-12.2c-.6-.3-1.3-.3-1.9 0l-21 12.2c-.6.3-.9.9-.9 1.6v24.3c0 .7.4 1.3.9 1.6l21 12.1c.6.3 1.3.3 1.8 0l21-12.1c.6-.3.9-.9.9-1.6v-24.3zm209.8-.7c2.3-1.3 3.7-3.8 3.7-6.4V192c0-2.6-1.4-5.1-3.7-6.4l-60.9-35.4c-2.3-1.3-5.1-1.3-7.4 0l-61.3 35.4c-2.3 1.3-3.7 3.8-3.7 6.4v70.8c0 2.7 1.4 5.1 3.7 6.4l60.9 34.7c2.2 1.3 5 1.3 7.3 0l36.8-20.5c2.5-1.4 2.5-5 0-6.4L550 241.6c-1.2-.7-1.9-1.9-1.9-3.2v-22.2c0-1.3.7-2.5 1.9-3.2l19.2-11.1c1.1-.7 2.6-.7 3.7 0l19.2 11.1c1.1.7 1.9 1.9 1.9 3.2v17.4c0 2.8 3.1 4.6 5.6 3.2l36.7-21.3zM559 219c-.4.3-.7.7-.7 1.2v13.6c0 .5.3 1 .7 1.2l11.8 6.8c.4.3 1 .3 1.4 0L584 235c.4-.3.7-.7.7-1.2v-13.6c0-.5-.3-1-.7-1.2l-11.8-6.8c-.4-.3-1-.3-1.4 0L559 219zm-254.2 43.5v-70.4c0-2.6-1.6-5.1-3.9-6.4l-61.1-35.2c-2.1-1.2-5-1.4-7.4 0l-61.1 35.2c-2.3 1.3-3.9 3.7-3.9 6.4v70.4c0 2.8 1.9 5.2 4 6.4l61.2 35.2c2.4 1.4 5.2 1.3 7.4 0l61-35.2c1.8-1 3.1-2.7 3.6-4.7.1-.5.2-1.1.2-1.7zm-74.3-124.9l-.8.5h1.1l-.3-.5zm76.2 130.2l-.4-.7v.9l.4-.2z"],"node-js":[448,512,[],"f3d3","M224 508c-6.7 0-13.5-1.8-19.4-5.2l-61.7-36.5c-9.2-5.2-4.7-7-1.7-8 12.3-4.3 14.8-5.2 27.9-12.7 1.4-.8 3.2-.5 4.6.4l47.4 28.1c1.7 1 4.1 1 5.7 0l184.7-106.6c1.7-1 2.8-3 2.8-5V149.3c0-2.1-1.1-4-2.9-5.1L226.8 37.7c-1.7-1-4-1-5.7 0L36.6 144.3c-1.8 1-2.9 3-2.9 5.1v213.1c0 2 1.1 4 2.9 4.9l50.6 29.2c27.5 13.7 44.3-2.4 44.3-18.7V167.5c0-3 2.4-5.3 5.4-5.3h23.4c2.9 0 5.4 2.3 5.4 5.3V378c0 36.6-20 57.6-54.7 57.6-10.7 0-19.1 0-42.5-11.6l-48.4-27.9C8.1 389.2.7 376.3.7 362.4V149.3c0-13.8 7.4-26.8 19.4-33.7L204.6 9c11.7-6.6 27.2-6.6 38.8 0l184.7 106.7c12 6.9 19.4 19.8 19.4 33.7v213.1c0 13.8-7.4 26.7-19.4 33.7L243.4 502.8c-5.9 3.4-12.6 5.2-19.4 5.2zm149.1-210.1c0-39.9-27-50.5-83.7-58-57.4-7.6-63.2-11.5-63.2-24.9 0-11.1 4.9-25.9 47.4-25.9 37.9 0 51.9 8.2 57.7 33.8.5 2.4 2.7 4.2 5.2 4.2h24c1.5 0 2.9-.6 3.9-1.7s1.5-2.6 1.4-4.1c-3.7-44.1-33-64.6-92.2-64.6-52.7 0-84.1 22.2-84.1 59.5 0 40.4 31.3 51.6 81.8 56.6 60.5 5.9 65.2 14.8 65.2 26.7 0 20.6-16.6 29.4-55.5 29.4-48.9 0-59.6-12.3-63.2-36.6-.4-2.6-2.6-4.5-5.3-4.5h-23.9c-3 0-5.3 2.4-5.3 5.3 0 31.1 16.9 68.2 97.8 68.2 58.4-.1 92-23.2 92-63.4z"],npm:[576,512,[],"f3d4","M288 288h-32v-64h32v64zm288-128v192H288v32H160v-32H0V160h576zm-416 32H32v128h64v-96h32v96h32V192zm160 0H192v160h64v-32h64V192zm224 0H352v128h64v-96h32v96h32v-96h32v96h32V192z"],ns8:[640,512,[],"f3d5","M187.1 159.9l-34.2 113.7-54.5-113.7H49L0 320h44.9L76 213.5 126.6 320h56.9L232 159.9h-44.9zm452.5-.9c-2.9-18-23.9-28.1-42.1-31.3-44.6-7.8-101.9 16.3-88.5 58.8v.1c-43.8 8.7-74.3 26.8-94.2 48.2-3-9.8-13.6-16.6-34-16.6h-87.6c-9.3 0-12.9-2.3-11.5-7.4 1.6-5.5 1.9-6.8 3.7-12.2 2.1-6.4 7.8-7.1 13.3-7.1h133.5l9.7-31.5c-139.7 0-144.5-.5-160.1 1.2-12.3 1.3-23.5 4.8-30.6 15-6.8 9.9-14.4 35.6-17.6 47.1-5.4 19.4-.6 28.6 32.8 28.6h87.3c7.8 0 8.8 2.7 7.7 6.6-1.1 4.4-2.8 10-4.5 14.6-1.6 4.2-4.7 7.4-13.8 7.4H216.3L204.7 320c139.9 0 145.3-.6 160.9-2.3 6.6-.7 13-2.1 18.5-4.9.2 3.7.5 7.3 1.2 10.8 5.4 30.5 27.4 52.3 56.8 59.5 48.6 11.9 108.7-16.8 135.1-68 18.7-36.2 14.1-76.2-3.4-105.5h.1c29.6-5.9 70.3-22 65.7-50.6zM530.7 263.7c-5.9 29.5-36.6 47.8-61.6 43.9-30.9-4.8-38.5-39.5-14.1-64.8 16.2-16.8 45.2-24 68.5-26.9 6.7 14.1 10.3 32 7.2 47.8zm21.8-83.1c-4.2-6-9.8-18.5-2.5-26.3 6.7-7.2 20.9-10.1 31.8-7.7 15.3 3.4 19.7 15.9 4.9 24.4-10.7 6.1-23.6 8.1-34.2 9.6z"],nutritionix:[400,512,[],"f3d6","M88 8.1S221.4-.1 209 112.5c0 0 19.1-74.9 103-40.6 0 0-17.7 74-88 56 0 0 14.6-54.6 66.1-56.6 0 0-39.9-10.3-82.1 48.8 0 0-19.8-94.5-93.6-99.7 0 0 75.2 19.4 77.6 107.5 0 .1-106.4 7-104-119.8zm312 315.6c0 48.5-9.7 95.3-32 132.3-42.2 30.9-105 48-168 48-62.9 0-125.8-17.1-168-48C9.7 419 0 372.2 0 323.7 0 275.3 17.7 229 40 192c42.2-30.9 97.1-48.6 160-48.6 63 0 117.8 17.6 160 48.6 22.3 37 40 83.3 40 131.7zM120 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM192 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM264 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM336 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm24-39.6c-4.8-22.3-7.4-36.9-16-56-38.8-19.9-90.5-32-144-32S94.8 180.1 56 200c-8.8 19.5-11.2 33.9-16 56 42.2-7.9 98.7-14.8 160-14.8s117.8 6.9 160 14.8z"],odnoklassniki:[320,512,[],"f263","M275.1 334c-27.4 17.4-65.1 24.3-90 26.9l20.9 20.6 76.3 76.3c27.9 28.6-17.5 73.3-45.7 45.7-19.1-19.4-47.1-47.4-76.3-76.6L84 503.4c-28.2 27.5-73.6-17.6-45.4-45.7 19.4-19.4 47.1-47.4 76.3-76.3l20.6-20.6c-24.6-2.6-62.9-9.1-90.6-26.9-32.6-21-46.9-33.3-34.3-59 7.4-14.6 27.7-26.9 54.6-5.7 0 0 36.3 28.9 94.9 28.9s94.9-28.9 94.9-28.9c26.9-21.1 47.1-8.9 54.6 5.7 12.4 25.7-1.9 38-34.5 59.1zM30.3 129.7C30.3 58 88.6 0 160 0s129.7 58 129.7 129.7c0 71.4-58.3 129.4-129.7 129.4s-129.7-58-129.7-129.4zm66 0c0 35.1 28.6 63.7 63.7 63.7s63.7-28.6 63.7-63.7c0-35.4-28.6-64-63.7-64s-63.7 28.6-63.7 64z"],"odnoklassniki-square":[448,512,[],"f264","M184.2 177.1c0-22.1 17.9-40 39.8-40s39.8 17.9 39.8 40c0 22-17.9 39.8-39.8 39.8s-39.8-17.9-39.8-39.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-305.1 97.1c0 44.6 36.4 80.9 81.1 80.9s81.1-36.2 81.1-80.9c0-44.8-36.4-81.1-81.1-81.1s-81.1 36.2-81.1 81.1zm174.5 90.7c-4.6-9.1-17.3-16.8-34.1-3.6 0 0-22.7 18-59.3 18s-59.3-18-59.3-18c-16.8-13.2-29.5-5.5-34.1 3.6-7.9 16.1 1.1 23.7 21.4 37 17.3 11.1 41.2 15.2 56.6 16.8l-12.9 12.9c-18.2 18-35.5 35.5-47.7 47.7-17.6 17.6 10.7 45.8 28.4 28.6l47.7-47.9c18.2 18.2 35.7 35.7 47.7 47.9 17.6 17.2 46-10.7 28.6-28.6l-47.7-47.7-13-12.9c15.5-1.6 39.1-5.9 56.2-16.8 20.4-13.3 29.3-21 21.5-37z"],"old-republic":[496,512,[],"f510","M235.76 10.23c7.5-.31 15-.28 22.5-.09 3.61.14 7.2.4 10.79.73 4.92.27 9.79 1.03 14.67 1.62 2.93.43 5.83.98 8.75 1.46 7.9 1.33 15.67 3.28 23.39 5.4 12.24 3.47 24.19 7.92 35.76 13.21 26.56 12.24 50.94 29.21 71.63 49.88 20.03 20.09 36.72 43.55 48.89 69.19 1.13 2.59 2.44 5.1 3.47 7.74 2.81 6.43 5.39 12.97 7.58 19.63 4.14 12.33 7.34 24.99 9.42 37.83.57 3.14 1.04 6.3 1.4 9.47.55 3.83.94 7.69 1.18 11.56.83 8.34.84 16.73.77 25.1-.07 4.97-.26 9.94-.75 14.89-.24 3.38-.51 6.76-.98 10.12-.39 2.72-.63 5.46-1.11 8.17-.9 5.15-1.7 10.31-2.87 15.41-4.1 18.5-10.3 36.55-18.51 53.63-15.77 32.83-38.83 62.17-67.12 85.12a246.503 246.503 0 0 1-56.91 34.86c-6.21 2.68-12.46 5.25-18.87 7.41-3.51 1.16-7.01 2.38-10.57 3.39-6.62 1.88-13.29 3.64-20.04 5-4.66.91-9.34 1.73-14.03 2.48-5.25.66-10.5 1.44-15.79 1.74-6.69.66-13.41.84-20.12.81-6.82.03-13.65-.12-20.45-.79-3.29-.23-6.57-.5-9.83-.95-2.72-.39-5.46-.63-8.17-1.11-4.12-.72-8.25-1.37-12.35-2.22-4.25-.94-8.49-1.89-12.69-3.02-8.63-2.17-17.08-5.01-25.41-8.13-10.49-4.12-20.79-8.75-30.64-14.25-2.14-1.15-4.28-2.29-6.35-3.57-11.22-6.58-21.86-14.1-31.92-22.34-34.68-28.41-61.41-66.43-76.35-108.7-3.09-8.74-5.71-17.65-7.8-26.68-1.48-6.16-2.52-12.42-3.58-18.66-.4-2.35-.61-4.73-.95-7.09-.6-3.96-.75-7.96-1.17-11.94-.8-9.47-.71-18.99-.51-28.49.14-3.51.34-7.01.7-10.51.31-3.17.46-6.37.92-9.52.41-2.81.65-5.65 1.16-8.44.7-3.94 1.3-7.9 2.12-11.82 3.43-16.52 8.47-32.73 15.26-48.18 1.15-2.92 2.59-5.72 3.86-8.59 8.05-16.71 17.9-32.56 29.49-47.06 20-25.38 45.1-46.68 73.27-62.47 7.5-4.15 15.16-8.05 23.07-11.37 15.82-6.88 32.41-11.95 49.31-15.38 3.51-.67 7.04-1.24 10.56-1.85 2.62-.47 5.28-.7 7.91-1.08 3.53-.53 7.1-.68 10.65-1.04 2.46-.24 4.91-.36 7.36-.51m8.64 24.41c-9.23.1-18.43.99-27.57 2.23-7.3 1.08-14.53 2.6-21.71 4.3-13.91 3.5-27.48 8.34-40.46 14.42-10.46 4.99-20.59 10.7-30.18 17.22-4.18 2.92-8.4 5.8-12.34 9.03-5.08 3.97-9.98 8.17-14.68 12.59-2.51 2.24-4.81 4.7-7.22 7.06-28.22 28.79-48.44 65.39-57.5 104.69-2.04 8.44-3.54 17.02-4.44 25.65-1.1 8.89-1.44 17.85-1.41 26.8.11 7.14.38 14.28 1.22 21.37.62 7.12 1.87 14.16 3.2 21.18 1.07 4.65 2.03 9.32 3.33 13.91 6.29 23.38 16.5 45.7 30.07 65.75 8.64 12.98 18.78 24.93 29.98 35.77 16.28 15.82 35.05 29.04 55.34 39.22 7.28 3.52 14.66 6.87 22.27 9.63 5.04 1.76 10.06 3.57 15.22 4.98 11.26 3.23 22.77 5.6 34.39 7.06 2.91.29 5.81.61 8.72.9 13.82 1.08 27.74 1 41.54-.43 4.45-.6 8.92-.99 13.35-1.78 3.63-.67 7.28-1.25 10.87-2.1 4.13-.98 8.28-1.91 12.36-3.07 26.5-7.34 51.58-19.71 73.58-36.2 15.78-11.82 29.96-25.76 42.12-41.28 3.26-4.02 6.17-8.31 9.13-12.55 3.39-5.06 6.58-10.25 9.6-15.54 2.4-4.44 4.74-8.91 6.95-13.45 5.69-12.05 10.28-24.62 13.75-37.49 2.59-10.01 4.75-20.16 5.9-30.45 1.77-13.47 1.94-27.1 1.29-40.65-.29-3.89-.67-7.77-1-11.66-2.23-19.08-6.79-37.91-13.82-55.8-5.95-15.13-13.53-29.63-22.61-43.13-12.69-18.8-28.24-35.68-45.97-49.83-25.05-20-54.47-34.55-85.65-42.08-7.78-1.93-15.69-3.34-23.63-4.45-3.91-.59-7.85-.82-11.77-1.24-7.39-.57-14.81-.72-22.22-.58zM139.26 83.53c13.3-8.89 28.08-15.38 43.3-20.18-3.17 1.77-6.44 3.38-9.53 5.29-11.21 6.68-21.52 14.9-30.38 24.49-6.8 7.43-12.76 15.73-17.01 24.89-3.29 6.86-5.64 14.19-6.86 21.71-.93 4.85-1.3 9.81-1.17 14.75.13 13.66 4.44 27.08 11.29 38.82 5.92 10.22 13.63 19.33 22.36 27.26 4.85 4.36 10.24 8.09 14.95 12.6 2.26 2.19 4.49 4.42 6.43 6.91 2.62 3.31 4.89 6.99 5.99 11.1.9 3.02.66 6.2.69 9.31.02 4.1-.04 8.2.03 12.3.14 3.54-.02 7.09.11 10.63.08 2.38.02 4.76.05 7.14.16 5.77.06 11.53.15 17.3.11 2.91.02 5.82.13 8.74.03 1.63.13 3.28-.03 4.91-.91.12-1.82.18-2.73.16-10.99 0-21.88-2.63-31.95-6.93-6-2.7-11.81-5.89-17.09-9.83-5.75-4.19-11.09-8.96-15.79-14.31-6.53-7.24-11.98-15.39-16.62-23.95-1.07-2.03-2.24-4.02-3.18-6.12-1.16-2.64-2.62-5.14-3.67-7.82-4.05-9.68-6.57-19.94-8.08-30.31-.49-4.44-1.09-8.88-1.2-13.35-.7-15.73.84-31.55 4.67-46.82 2.12-8.15 4.77-16.18 8.31-23.83 6.32-14.2 15.34-27.18 26.3-38.19 6.28-6.2 13.13-11.84 20.53-16.67zm175.37-20.12c2.74.74 5.41 1.74 8.09 2.68 6.36 2.33 12.68 4.84 18.71 7.96 13.11 6.44 25.31 14.81 35.82 24.97 10.2 9.95 18.74 21.6 25.14 34.34 1.28 2.75 2.64 5.46 3.81 8.26 6.31 15.1 10 31.26 11.23 47.57.41 4.54.44 9.09.45 13.64.07 11.64-1.49 23.25-4.3 34.53-1.97 7.27-4.35 14.49-7.86 21.18-3.18 6.64-6.68 13.16-10.84 19.24-6.94 10.47-15.6 19.87-25.82 27.22-10.48 7.64-22.64 13.02-35.4 15.38-3.51.69-7.08 1.08-10.66 1.21-1.85.06-3.72.16-5.56-.1-.28-2.15 0-4.31-.01-6.46-.03-3.73.14-7.45.1-11.17.19-7.02.02-14.05.21-21.07.03-2.38-.03-4.76.03-7.14.17-5.07-.04-10.14.14-15.21.1-2.99-.24-6.04.51-8.96.66-2.5 1.78-4.86 3.09-7.08 4.46-7.31 11.06-12.96 17.68-18.26 5.38-4.18 10.47-8.77 15.02-13.84 7.68-8.37 14.17-17.88 18.78-28.27 2.5-5.93 4.52-12.1 5.55-18.46.86-4.37 1.06-8.83 1.01-13.27-.02-7.85-1.4-15.65-3.64-23.17-1.75-5.73-4.27-11.18-7.09-16.45-3.87-6.93-8.65-13.31-13.96-19.2-9.94-10.85-21.75-19.94-34.6-27.1-1.85-1.02-3.84-1.82-5.63-2.97zm-100.8 58.45c.98-1.18 1.99-2.33 3.12-3.38-.61.93-1.27 1.81-1.95 2.68-3.1 3.88-5.54 8.31-7.03 13.06-.87 3.27-1.68 6.6-1.73 10-.07 2.52-.08 5.07.32 7.57 1.13 7.63 4.33 14.85 8.77 21.12 2 2.7 4.25 5.27 6.92 7.33 1.62 1.27 3.53 2.09 5.34 3.05 3.11 1.68 6.32 3.23 9.07 5.48 2.67 2.09 4.55 5.33 4.4 8.79-.01 73.67 0 147.34-.01 221.02 0 1.35-.08 2.7.04 4.04.13 1.48.82 2.83 1.47 4.15.86 1.66 1.78 3.34 3.18 4.62.85.77 1.97 1.4 3.15 1.24 1.5-.2 2.66-1.35 3.45-2.57.96-1.51 1.68-3.16 2.28-4.85.76-2.13.44-4.42.54-6.63.14-4.03-.02-8.06.14-12.09.03-5.89.03-11.77.06-17.66.14-3.62.03-7.24.11-10.86.15-4.03-.02-8.06.14-12.09.03-5.99.03-11.98.07-17.97.14-3.62.02-7.24.11-10.86.14-3.93-.02-7.86.14-11.78.03-5.99.03-11.98.06-17.97.16-3.94-.01-7.88.19-11.82.29 1.44.13 2.92.22 4.38.19 3.61.42 7.23.76 10.84.32 3.44.44 6.89.86 10.32.37 3.1.51 6.22.95 9.31.57 4.09.87 8.21 1.54 12.29 1.46 9.04 2.83 18.11 5.09 26.99 1.13 4.82 2.4 9.61 4 14.3 2.54 7.9 5.72 15.67 10.31 22.62 1.73 2.64 3.87 4.98 6.1 7.21.27.25.55.51.88.71.6.25 1.31-.07 1.7-.57.71-.88 1.17-1.94 1.7-2.93 4.05-7.8 8.18-15.56 12.34-23.31.7-1.31 1.44-2.62 2.56-3.61 1.75-1.57 3.84-2.69 5.98-3.63 2.88-1.22 5.9-2.19 9.03-2.42 6.58-.62 13.11.75 19.56 1.85 3.69.58 7.4 1.17 11.13 1.41 3.74.1 7.48.05 11.21-.28 8.55-.92 16.99-2.96 24.94-6.25 5.3-2.24 10.46-4.83 15.31-7.93 11.46-7.21 21.46-16.57 30.04-27.01 1.17-1.42 2.25-2.9 3.46-4.28-1.2 3.24-2.67 6.37-4.16 9.48-1.25 2.9-2.84 5.61-4.27 8.42-5.16 9.63-11.02 18.91-17.75 27.52-4.03 5.21-8.53 10.05-13.33 14.57-6.64 6.05-14.07 11.37-22.43 14.76-8.21 3.37-17.31 4.63-26.09 3.29-3.56-.58-7.01-1.69-10.41-2.88-2.79-.97-5.39-2.38-8.03-3.69-3.43-1.71-6.64-3.81-9.71-6.08 2.71 3.06 5.69 5.86 8.7 8.61 4.27 3.76 8.74 7.31 13.63 10.23 3.98 2.45 8.29 4.4 12.84 5.51 1.46.37 2.96.46 4.45.6-1.25 1.1-2.63 2.04-3.99 2.98-9.61 6.54-20.01 11.86-30.69 16.43-20.86 8.7-43.17 13.97-65.74 15.34-4.66.24-9.32.36-13.98.36-4.98-.11-9.97-.13-14.92-.65-11.2-.76-22.29-2.73-33.17-5.43-10.35-2.71-20.55-6.12-30.3-10.55-8.71-3.86-17.12-8.42-24.99-13.79-1.83-1.31-3.74-2.53-5.37-4.08 6.6-1.19 13.03-3.39 18.99-6.48 5.74-2.86 10.99-6.66 15.63-11.07 2.24-2.19 4.29-4.59 6.19-7.09-3.43 2.13-6.93 4.15-10.62 5.78-4.41 2.16-9.07 3.77-13.81 5.02-5.73 1.52-11.74 1.73-17.61 1.14-8.13-.95-15.86-4.27-22.51-8.98-4.32-2.94-8.22-6.43-11.96-10.06-9.93-10.16-18.2-21.81-25.66-33.86-3.94-6.27-7.53-12.75-11.12-19.22-1.05-2.04-2.15-4.05-3.18-6.1 2.85 2.92 5.57 5.97 8.43 8.88 8.99 8.97 18.56 17.44 29.16 24.48 7.55 4.9 15.67 9.23 24.56 11.03 3.11.73 6.32.47 9.47.81 2.77.28 5.56.2 8.34.3 5.05.06 10.11.04 15.16-.16 3.65-.16 7.27-.66 10.89-1.09 2.07-.25 4.11-.71 6.14-1.2 3.88-.95 8.11-.96 11.83.61 4.76 1.85 8.44 5.64 11.38 9.71 2.16 3.02 4.06 6.22 5.66 9.58 1.16 2.43 2.46 4.79 3.55 7.26 1 2.24 2.15 4.42 3.42 6.52.67 1.02 1.4 2.15 2.62 2.55 1.06-.75 1.71-1.91 2.28-3.03 2.1-4.16 3.42-8.65 4.89-13.05 2.02-6.59 3.78-13.27 5.19-20.02 2.21-9.25 3.25-18.72 4.54-28.13.56-3.98.83-7.99 1.31-11.97.87-10.64 1.9-21.27 2.24-31.94.08-1.86.24-3.71.25-5.57.01-4.35.25-8.69.22-13.03-.01-2.38-.01-4.76 0-7.13.05-5.07-.2-10.14-.22-15.21-.2-6.61-.71-13.2-1.29-19.78-.73-5.88-1.55-11.78-3.12-17.51-2.05-7.75-5.59-15.03-9.8-21.82-3.16-5.07-6.79-9.88-11.09-14.03-3.88-3.86-8.58-7.08-13.94-8.45-1.5-.41-3.06-.45-4.59-.64.07-2.99.7-5.93 1.26-8.85 1.59-7.71 3.8-15.3 6.76-22.6 1.52-4.03 3.41-7.9 5.39-11.72 3.45-6.56 7.62-12.79 12.46-18.46zm31.27 1.7c.35-.06.71-.12 1.07-.19.19 1.79.09 3.58.1 5.37v38.13c-.01 1.74.13 3.49-.15 5.22-.36-.03-.71-.05-1.06-.05-.95-3.75-1.72-7.55-2.62-11.31-.38-1.53-.58-3.09-1.07-4.59-1.7-.24-3.43-.17-5.15-.2-5.06-.01-10.13 0-15.19-.01-1.66-.01-3.32.09-4.98-.03-.03-.39-.26-.91.16-1.18 1.28-.65 2.72-.88 4.06-1.35 3.43-1.14 6.88-2.16 10.31-3.31 1.39-.48 2.9-.72 4.16-1.54.04-.56.02-1.13-.05-1.68-1.23-.55-2.53-.87-3.81-1.28-3.13-1.03-6.29-1.96-9.41-3.02-1.79-.62-3.67-1-5.41-1.79-.03-.37-.07-.73-.11-1.09 5.09-.19 10.2.06 15.3-.12 3.36-.13 6.73.08 10.09-.07.12-.39.26-.77.37-1.16 1.08-4.94 2.33-9.83 3.39-14.75zm5.97-.2c.36.05.72.12 1.08.2.98 3.85 1.73 7.76 2.71 11.61.36 1.42.56 2.88 1.03 4.27 2.53.18 5.07-.01 7.61.05 5.16.12 10.33.12 15.49.07.76-.01 1.52.03 2.28.08-.04.36-.07.72-.1 1.08-1.82.83-3.78 1.25-5.67 1.89-3.73 1.23-7.48 2.39-11.22 3.57-.57.17-1.12.42-1.67.64-.15.55-.18 1.12-.12 1.69.87.48 1.82.81 2.77 1.09 4.88 1.52 9.73 3.14 14.63 4.6.38.13.78.27 1.13.49.4.27.23.79.15 1.18-1.66.13-3.31.03-4.97.04-5.17.01-10.33-.01-15.5.01-1.61.03-3.22-.02-4.82.21-.52 1.67-.72 3.42-1.17 5.11-.94 3.57-1.52 7.24-2.54 10.78-.36.01-.71.02-1.06.06-.29-1.73-.15-3.48-.15-5.22v-38.13c.02-1.78-.08-3.58.11-5.37zM65.05 168.33c1.12-2.15 2.08-4.4 3.37-6.46-1.82 7.56-2.91 15.27-3.62 23-.8 7.71-.85 15.49-.54 23.23 1.05 19.94 5.54 39.83 14.23 57.88 2.99 5.99 6.35 11.83 10.5 17.11 6.12 7.47 12.53 14.76 19.84 21.09 4.8 4.1 9.99 7.78 15.54 10.8 3.27 1.65 6.51 3.39 9.94 4.68 5.01 2.03 10.19 3.61 15.42 4.94 3.83.96 7.78 1.41 11.52 2.71 5 1.57 9.47 4.61 13.03 8.43 4.93 5.23 8.09 11.87 10.2 18.67.99 2.9 1.59 5.91 2.17 8.92.15.75.22 1.52.16 2.29-6.5 2.78-13.26 5.06-20.26 6.18-4.11.78-8.29.99-12.46 1.08-10.25.24-20.47-1.76-30.12-5.12-3.74-1.42-7.49-2.85-11.03-4.72-8.06-3.84-15.64-8.7-22.46-14.46-2.92-2.55-5.83-5.13-8.4-8.03-9.16-9.83-16.3-21.41-21.79-33.65-2.39-5.55-4.61-11.18-6.37-16.96-1.17-3.94-2.36-7.89-3.26-11.91-.75-2.94-1.22-5.95-1.87-8.92-.46-2.14-.69-4.32-1.03-6.48-.85-5.43-1.28-10.93-1.33-16.43.11-6.18.25-12.37 1.07-18.5.4-2.86.67-5.74 1.15-8.6.98-5.7 2.14-11.37 3.71-16.93 3.09-11.65 7.48-22.95 12.69-33.84zm363.73-6.44c1.1 1.66 1.91 3.48 2.78 5.26 2.1 4.45 4.24 8.9 6.02 13.49 7.61 18.76 12.3 38.79 13.04 59.05.02 1.76.07 3.52.11 5.29.13 9.57-1.27 19.09-3.18 28.45-.73 3.59-1.54 7.17-2.58 10.69-4.04 14.72-10 29-18.41 41.78-8.21 12.57-19.01 23.55-31.84 31.41-5.73 3.59-11.79 6.64-18.05 9.19-5.78 2.19-11.71 4.03-17.8 5.11-6.4 1.05-12.91 1.52-19.4 1.23-7.92-.48-15.78-2.07-23.21-4.85-1.94-.8-3.94-1.46-5.84-2.33-.21-1.51.25-2.99.53-4.46 1.16-5.74 3.03-11.36 5.7-16.58 2.37-4.51 5.52-8.65 9.46-11.9 2.43-2.05 5.24-3.61 8.16-4.83 3.58-1.5 7.47-1.97 11.24-2.83 7.23-1.71 14.37-3.93 21.15-7 10.35-4.65 19.71-11.38 27.65-19.46 1.59-1.61 3.23-3.18 4.74-4.87 3.37-3.76 6.71-7.57 9.85-11.53 7.48-10.07 12.82-21.59 16.71-33.48 1.58-5.3 3.21-10.6 4.21-16.05.63-2.87 1.04-5.78 1.52-8.68.87-6.09 1.59-12.22 1.68-18.38.12-6.65.14-13.32-.53-19.94-.73-7.99-1.87-15.96-3.71-23.78z"],opencart:[640,512,[],"f23d","M423.3 440.7c0 25.3-20.3 45.6-45.6 45.6s-45.8-20.3-45.8-45.6 20.6-45.8 45.8-45.8c25.4 0 45.6 20.5 45.6 45.8zm-253.9-45.8c-25.3 0-45.6 20.6-45.6 45.8s20.3 45.6 45.6 45.6 45.8-20.3 45.8-45.6-20.5-45.8-45.8-45.8zm291.7-270C158.9 124.9 81.9 112.1 0 25.7c34.4 51.7 53.3 148.9 373.1 144.2 333.3-5 130 86.1 70.8 188.9 186.7-166.7 319.4-233.9 17.2-233.9z"],openid:[448,512,[],"f19b","M271.5 432l-68 32C88.5 453.7 0 392.5 0 318.2c0-71.5 82.5-131 191.7-144.3v43c-71.5 12.5-124 53-124 101.3 0 51 58.5 93.3 135.7 103v-340l68-33.2v384zM448 291l-131.3-28.5 36.8-20.7c-19.5-11.5-43.5-20-70-24.8v-43c46.2 5.5 87.7 19.5 120.3 39.3l35-19.8L448 291z"],opera:[496,512,[],"f26a","M313.9 32.7c-170.2 0-252.6 223.8-147.5 355.1 36.5 45.4 88.6 75.6 147.5 75.6 36.3 0 70.3-11.1 99.4-30.4-43.8 39.2-101.9 63-165.3 63-3.9 0-8 0-11.9-.3C104.6 489.6 0 381.1 0 248 0 111 111 0 248 0h.8c63.1.3 120.7 24.1 164.4 63.1-29-19.4-63.1-30.4-99.3-30.4zm101.8 397.7c-40.9 24.7-90.7 23.6-132-5.8 56.2-20.5 97.7-91.6 97.7-176.6 0-84.7-41.2-155.8-97.4-176.6 41.8-29.2 91.2-30.3 132.9-5 105.9 98.7 105.5 265.7-1.2 364z"],"optin-monster":[576,512,[],"f23c","M572.6 421.4c5.6-9.5 4.7-15.2-5.4-11.6-3-4.9-7-9.5-11.1-13.8 2.9-9.7-.7-14.2-10.8-9.2-4.6-3.2-10.3-6.5-15.9-9.2 0-15.1-11.6-11.6-17.6-5.7-10.4-1.5-18.7-.3-26.8 5.7.3-6.5.3-13 .3-19.7 12.6 0 40.2-11 45.9-36.2 1.4-6.8 1.6-13.8-.3-21.9-3-13.5-14.3-21.3-25.1-25.7-.8-5.9-7.6-14.3-14.9-15.9s-12.4 4.9-14.1 10.3c-8.5 0-19.2 2.8-21.1 8.4-5.4-.5-11.1-1.4-16.8-1.9 2.7-1.9 5.4-3.5 8.4-4.6 5.4-9.2 14.6-11.4 25.7-11.6V256c19.5-.5 43-5.9 53.8-18.1 12.7-13.8 14.6-37.3 12.4-55.1-2.4-17.3-9.7-37.6-24.6-48.1-8.4-5.9-21.6-.8-22.7 9.5-2.2 19.6 1.2 30-38.6 25.1-10.3-23.8-24.6-44.6-42.7-60C341 49.6 242.9 55.5 166.4 71.7c19.7 4.6 41.1 8.6 59.7 16.5-26.2 2.4-52.7 11.3-76.2 23.2-32.8 17-44 29.9-56.7 42.4 14.9-2.2 28.9-5.1 43.8-3.8-9.7 5.4-18.4 12.2-26.5 20-25.8.9-23.8-5.3-26.2-25.9-1.1-10.5-14.3-15.4-22.7-9.7-28.1 19.9-33.5 79.9-12.2 103.5 10.8 12.2 35.1 17.3 54.9 17.8-.3 1.1-.3 1.9-.3 2.7 10.8.5 19.5 2.7 24.6 11.6 3 1.1 5.7 2.7 8.1 4.6-5.4.5-11.1 1.4-16.5 1.9-3.3-6.6-13.7-8.1-21.1-8.1-1.6-5.7-6.5-12.2-14.1-10.3-6.8 1.9-14.1 10-14.9 15.9-22.5 9.5-30.1 26.8-25.1 47.6 5.3 24.8 33 36.2 45.9 36.2v19.7c-6.6-5-14.3-7.5-26.8-5.7-5.5-5.5-17.3-10.1-17.3 5.7-5.9 2.7-11.4 5.9-15.9 9.2-9.8-4.9-13.6-1.7-11.1 9.2-4.1 4.3-7.8 8.6-11.1 13.8-10.2-3.7-11 2.2-5.4 11.6-1.1 3.5-1.6 7-1.9 10.8-.5 31.6 44.6 64 73.5 65.1 17.3.5 34.6-8.4 43-23.5 113.2 4.9 226.7 4.1 340.2 0 8.1 15.1 25.4 24.3 42.7 23.5 29.2-1.1 74.3-33.5 73.5-65.1.2-3.7-.7-7.2-1.7-10.7zm-73.8-254c1.1-3 2.4-8.4 2.4-14.6 0-5.9 6.8-8.1 14.1-.8 11.1 11.6 14.9 40.5 13.8 51.1-4.1-13.6-13-29-30.3-35.7zm-4.6 6.7c19.5 6.2 28.6 27.6 29.7 48.9-1.1 2.7-3 5.4-4.9 7.6-5.7 5.9-15.4 10-26.2 12.2 4.3-21.3.3-47.3-12.7-63 4.9-.8 10.9-2.4 14.1-5.7zm-24.1 6.8c13.8 11.9 20 39.2 14.1 63.5-4.1.5-8.1.8-11.6.8-1.9-21.9-6.8-44-14.3-64.6 3.7.3 8.1.3 11.8.3zM47.5 203c-1.1-10.5 2.4-39.5 13.8-51.1 7-7.3 14.1-5.1 14.1.8 0 6.2 1.4 11.6 2.4 14.6-17.3 6.8-26.2 22.2-30.3 35.7zm9.7 27.6c-1.9-2.2-3.5-4.9-4.9-7.6 1.4-21.3 10.3-42.7 29.7-48.9 3.2 3.2 9.2 4.9 14.1 5.7-13 15.7-17 41.6-12.7 63-10.8-2.2-20.5-6-26.2-12.2zm47.9 14.6c-4.1 0-8.1-.3-12.7-.8-4.6-18.6-1.9-38.9 5.4-53v.3l12.2-5.1c4.9-1.9 9.7-3.8 14.9-4.9-10.7 19.7-17.4 41.3-19.8 63.5zm184-162.7c41.9 0 76.2 34 76.2 75.9 0 42.2-34.3 76.2-76.2 76.2s-76.2-34-76.2-76.2c0-41.8 34.3-75.9 76.2-75.9zm115.6 174.3c-.3 17.8-7 48.9-23 57-13.2 6.6-6.5-7.5-16.5-58.1 13.3.3 26.6.3 39.5 1.1zm-54-1.6c.8 4.9 3.8 40.3-1.6 41.9-11.6 3.5-40 4.3-51.1-1.1-4.1-3-4.6-35.9-4.3-41.1v.3c18.9-.3 38.1-.3 57 0zM278.3 309c-13 3.5-41.6 4.1-54.6-1.6-6.5-2.7-3.8-42.4-1.9-51.6 19.2-.5 38.4-.5 57.8-.8v.3c1.1 8.3 3.3 51.2-1.3 53.7zm-106.5-51.1c12.2-.8 24.6-1.4 36.8-1.6-2.4 15.4-3 43.5-4.9 52.2-1.1 6.8-4.3 6.8-9.7 4.3-21.9-9.8-27.6-35.2-22.2-54.9zm-35.4 31.3c7.8-1.1 15.7-1.9 23.5-2.7 1.6 6.2 3.8 11.9 7 17.6 10 17 44 35.7 45.1 7 6.2 14.9 40.8 12.2 54.9 10.8 15.7-1.4 23.8-1.4 26.8-14.3 12.4 4.3 30.8 4.1 44 3 11.3-.8 20.8-.5 24.6-8.9 1.1 5.1 1.9 11.6 4.6 16.8 10.8 21.3 37.3 1.4 46.8-31.6 8.6.8 17.6 1.9 26.5 2.7-.4 1.3-3.8 7.3 7.3 11.6-47.6 47-95.7 87.8-163.2 107-63.2-20.8-112.1-59.5-155.9-106.5 9.6-3.4 10.4-8.8 8-12.5zm-21.6 172.5c-3.8 17.8-21.9 29.7-39.7 28.9-19.2-.8-46.5-17-59.2-36.5-2.7-31.1 43.8-61.3 66.2-54.6 14.9 4.3 27.8 30.8 33.5 54 0 3-.3 5.7-.8 8.2zm-8.7-66c-.5-13.5-.5-27-.3-40.5h.3c2.7-1.6 5.7-3.8 7.8-6.5 6.5-1.6 13-5.1 15.1-9.2 3.3-7.1-7-7.5-5.4-12.4 2.7-1.1 5.7-2.2 7.8-3.5 29.2 29.2 58.6 56.5 97.3 77-36.8 11.3-72.4 27.6-105.9 47-1.2-18.6-7.7-35.9-16.7-51.9zm337.6 64.6c-103 3.5-206.2 4.1-309.4 0 0 .3 0 .3-.3.3v-.3h.3c35.1-21.6 72.2-39.2 112.4-50.8 11.6 5.1 23 9.5 34.9 13.2 2.2.8 2.2.8 4.3 0 14.3-4.1 28.4-9.2 42.2-15.4 41.5 11.7 78.8 31.7 115.6 53zm10.5-12.4c-35.9-19.5-73-35.9-111.9-47.6 38.1-20 71.9-47.3 103.5-76.7 2.2 1.4 4.6 2.4 7.6 3.2 0 .8.3 1.9.5 2.4-4.6 2.7-7.8 6.2-5.9 10.3 2.2 3.8 8.6 7.6 15.1 8.9 2.4 2.7 5.1 5.1 8.1 6.8 0 13.8-.3 27.6-.8 41.3l.3-.3c-9.3 15.9-15.5 37-16.5 51.7zm105.9 6.2c-12.7 19.5-40 35.7-59.2 36.5-19.3.9-40.5-13.2-40.5-37 5.7-23.2 18.9-49.7 33.5-54 22.7-6.9 69.2 23.4 66.2 54.5zM372.9 75.2c-3.8-72.1-100.8-79.7-126-23.5 44.6-24.3 90.3-15.7 126 23.5zM74.8 407.1c-15.7 1.6-49.5 25.4-49.5 43.2 0 11.6 15.7 19.5 32.2 14.9 12.2-3.2 31.1-17.6 35.9-27.3 6-11.6-3.7-32.7-18.6-30.8zm215.9-176.2c28.6 0 51.9-21.6 51.9-48.4 0-36.1-40.5-58.1-72.2-44.3 9.5 3 16.5 11.6 16.5 21.6 0 23.3-33.3 32-46.5 11.3-7.3 34.1 19.4 59.8 50.3 59.8zM68 474.1c.5 6.5 12.2 12.7 21.6 9.5 6.8-2.7 14.6-10.5 17.3-16.2 3-7-1.1-20-9.7-18.4-8.9 1.6-29.7 16.7-29.2 25.1zm433.2-67c-14.9-1.9-24.6 19.2-18.9 30.8 4.9 9.7 24.1 24.1 36.2 27.3 16.5 4.6 32.2-3.2 32.2-14.9 0-17.8-33.8-41.6-49.5-43.2zM478.8 449c-8.4-1.6-12.4 11.3-9.5 18.4 2.4 5.7 10.3 13.5 17.3 16.2 9.2 3.2 21.1-3 21.3-9.5.9-8.4-20.2-23.5-29.1-25.1z"],orcid:[512,512,[],"f8d2","M294.75 188.19h-45.92V342h47.47c67.62 0 83.12-51.34 83.12-76.91 0-41.64-26.54-76.9-84.67-76.9zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-80.79 360.76h-29.84v-207.5h29.84zm-14.92-231.14a19.57 19.57 0 1 1 19.57-19.57 19.64 19.64 0 0 1-19.57 19.57zM300 369h-81V161.26h80.6c76.73 0 110.44 54.83 110.44 103.85C410 318.39 368.38 369 300 369z"],osi:[512,512,[],"f41a","M8 266.44C10.3 130.64 105.4 34 221.8 18.34c138.8-18.6 255.6 75.8 278 201.1 21.3 118.8-44 230-151.6 274-9.3 3.8-14.4 1.7-18-7.7q-26.7-69.45-53.4-139c-3.1-8.1-1-13.2 7-16.8 24.2-11 39.3-29.4 43.3-55.8a71.47 71.47 0 0 0-64.5-82.2c-39-3.4-71.8 23.7-77.5 59.7-5.2 33 11.1 63.7 41.9 77.7 9.6 4.4 11.5 8.6 7.8 18.4q-26.85 69.9-53.7 139.9c-2.6 6.9-8.3 9.3-15.5 6.5-52.6-20.3-101.4-61-130.8-119-24.9-49.2-25.2-87.7-26.8-108.7zm20.9-1.9c.4 6.6.6 14.3 1.3 22.1 6.3 71.9 49.6 143.5 131 183.1 3.2 1.5 4.4.8 5.6-2.3q22.35-58.65 45-117.3c1.3-3.3.6-4.8-2.4-6.7-31.6-19.9-47.3-48.5-45.6-86 1-21.6 9.3-40.5 23.8-56.3 30-32.7 77-39.8 115.5-17.6a91.64 91.64 0 0 1 45.2 90.4c-3.6 30.6-19.3 53.9-45.7 69.8-2.7 1.6-3.5 2.9-2.3 6q22.8 58.8 45.2 117.7c1.2 3.1 2.4 3.8 5.6 2.3 35.5-16.6 65.2-40.3 88.1-72 34.8-48.2 49.1-101.9 42.3-161-13.7-117.5-119.4-214.8-255.5-198-106.1 13-195.3 102.5-197.1 225.8z"],page4:[496,512,[],"f3d7","M248 504C111 504 0 393 0 256S111 8 248 8c20.9 0 41.3 2.6 60.7 7.5L42.3 392H248v112zm0-143.6V146.8L98.6 360.4H248zm96 31.6v92.7c45.7-19.2 84.5-51.7 111.4-92.7H344zm57.4-138.2l-21.2 8.4 21.2 8.3v-16.7zm-20.3 54.5c-6.7 0-8 6.3-8 12.9v7.7h16.2v-10c0-5.9-2.3-10.6-8.2-10.6zM496 256c0 37.3-8.2 72.7-23 104.4H344V27.3C433.3 64.8 496 153.1 496 256zM360.4 143.6h68.2V96h-13.9v32.6h-13.9V99h-13.9v29.6h-12.7V96h-13.9v47.6zm68.1 185.3H402v-11c0-15.4-5.6-25.2-20.9-25.2-15.4 0-20.7 10.6-20.7 25.9v25.3h68.2v-15zm0-103l-68.2 29.7V268l68.2 29.5v-16.6l-14.4-5.7v-26.5l14.4-5.9v-16.9zm-4.8-68.5h-35.6V184H402v-12.2h11c8.6 15.8 1.3 35.3-18.6 35.3-22.5 0-28.3-25.3-15.5-37.7l-11.6-10.6c-16.2 17.5-12.2 63.9 27.1 63.9 34 0 44.7-35.9 29.3-65.3z"],pagelines:[384,512,[],"f18c","M384 312.7c-55.1 136.7-187.1 54-187.1 54-40.5 81.8-107.4 134.4-184.6 134.7-16.1 0-16.6-24.4 0-24.4 64.4-.3 120.5-42.7 157.2-110.1-41.1 15.9-118.6 27.9-161.6-82.2 109-44.9 159.1 11.2 178.3 45.5 9.9-24.4 17-50.9 21.6-79.7 0 0-139.7 21.9-149.5-98.1 119.1-47.9 152.6 76.7 152.6 76.7 1.6-16.7 3.3-52.6 3.3-53.4 0 0-106.3-73.7-38.1-165.2 124.6 43 61.4 162.4 61.4 162.4.5 1.6.5 23.8 0 33.4 0 0 45.2-89 136.4-57.5-4.2 134-141.9 106.4-141.9 106.4-4.4 27.4-11.2 53.4-20 77.5 0 0 83-91.8 172-20z"],palfed:[576,512,[],"f3d8","M384.9 193.9c0-47.4-55.2-44.2-95.4-29.8-1.3 39.4-2.5 80.7-3 119.8.7 2.8 2.6 6.2 15.1 6.2 36.8 0 83.4-42.8 83.3-96.2zm-194.5 72.2c.2 0 6.5-2.7 11.2-2.7 26.6 0 20.7 44.1-14.4 44.1-21.5 0-37.1-18.1-37.1-43 0-42 42.9-95.6 100.7-126.5 1-12.4 3-22 10.5-28.2 11.2-9 26.6-3.5 29.5 11.1 72.2-22.2 135.2 1 135.2 72 0 77.9-79.3 152.6-140.1 138.2-.1 39.4.9 74.4 2.7 100v.2c.2 3.4.6 12.5-5.3 19.1-9.6 10.6-33.4 10-36.4-22.3-4.1-44.4.2-206.1 1.4-242.5-21.5 15-58.5 50.3-58.5 75.9.2 2.5.4 4 .6 4.6zM8 181.1s-.1 37.4 38.4 37.4h30l22.4 217.2s0 44.3 44.7 44.3h288.9s44.7-.4 44.7-44.3l22.4-217.2h30s38.4 1.2 38.4-37.4c0 0 .1-37.4-38.4-37.4h-30.1c-7.3-25.6-30.2-74.3-119.4-74.3h-28V50.3s-2.7-18.4-21.1-18.4h-85.8s-21.1 0-21.1 18.4v19.1h-28.1s-105 4.2-120.5 74.3h-29S8 142.5 8 181.1z"],patreon:[512,512,[],"f3d9","M512 194.8c0 101.3-82.4 183.8-183.8 183.8-101.7 0-184.4-82.4-184.4-183.8 0-101.6 82.7-184.3 184.4-184.3C429.6 10.5 512 93.2 512 194.8zM0 501.5h90v-491H0v491z"],paypal:[384,512,[],"f1ed","M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9 152.3 0 165.1-3.7 204 11.4 60.1 23.3 65.6 79.5 44 140.3-21.5 62.6-72.5 89.5-140.1 90.3-43.4.7-69.5-7-75.3 24.2zM357.1 152c-1.8-1.3-2.5-1.8-3 1.3-2 11.4-5.1 22.5-8.8 33.6-39.9 113.8-150.5 103.9-204.5 103.9-6.1 0-10.1 3.3-10.9 9.4-22.6 140.4-27.1 169.7-27.1 169.7-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9.7-5.4-1.1 6.1 14.4-91.3 4.6-22 14.3-19.7 29.3-19.7 71 0 126.4-28.8 142.9-112.3 6.5-34.8 4.6-71.4-23.8-92.6z"],"penny-arcade":[640,512,[],"f704","M421.91 164.27c-4.49 19.45-1.4 6.06-15.1 65.29l39.73-10.61c-22.34-49.61-17.29-38.41-24.63-54.68zm-206.09 51.11c-20.19 5.4-11.31 3.03-39.63 10.58l4.46 46.19c28.17-7.59 20.62-5.57 34.82-9.34 42.3-9.79 32.85-56.42.35-47.43zm326.16-26.19l-45.47-99.2c-5.69-12.37-19.46-18.84-32.62-15.33-70.27 18.75-38.72 10.32-135.59 36.23a27.618 27.618 0 0 0-18.89 17.41C144.26 113.27 0 153.75 0 226.67c0 33.5 30.67 67.11 80.9 95.37l1.74 17.88a27.891 27.891 0 0 0-17.77 28.67l4.3 44.48c1.39 14.31 13.43 25.21 27.8 25.2 5.18-.01-3.01 1.78 122.53-31.76 12.57-3.37 21.12-15.02 20.58-28.02 216.59 45.5 401.99-5.98 399.89-84.83.01-28.15-22.19-66.56-97.99-104.47zM255.14 298.3l-21.91 5.88-48.44 12.91 2.46 23.55 20.53-5.51 4.51 44.51-115.31 30.78-4.3-44.52 20.02-5.35-11.11-114.64-20.12 5.39-4.35-44.5c178.15-47.54 170.18-46.42 186.22-46.65 56.66-1.13 64.15 71.84 42.55 104.43a86.7 86.7 0 0 1-50.75 33.72zm199.18 16.62l-3.89-39.49 14.9-3.98-6.61-14.68-57.76 15.42-4.1 17.54 19.2-5.12 4.05 39.54-112.85 30.07-4.46-44.43 20.99-5.59 33.08-126.47-17.15 4.56-4.2-44.48c93.36-24.99 65.01-17.41 135.59-36.24l66.67 145.47 20.79-5.56 4.3 44.48-108.55 28.96z"],periscope:[448,512,[],"f3da","M370 63.6C331.4 22.6 280.5 0 226.6 0 111.9 0 18.5 96.2 18.5 214.4c0 75.1 57.8 159.8 82.7 192.7C137.8 455.5 192.6 512 226.6 512c41.6 0 112.9-94.2 120.9-105 24.6-33.1 82-118.3 82-192.6 0-56.5-21.1-110.1-59.5-150.8zM226.6 493.9c-42.5 0-190-167.3-190-279.4 0-107.4 83.9-196.3 190-196.3 100.8 0 184.7 89 184.7 196.3.1 112.1-147.4 279.4-184.7 279.4zM338 206.8c0 59.1-51.1 109.7-110.8 109.7-100.6 0-150.7-108.2-92.9-181.8v.4c0 24.5 20.1 44.4 44.8 44.4 24.7 0 44.8-19.9 44.8-44.4 0-18.2-11.1-33.8-26.9-40.7 76.6-19.2 141 39.3 141 112.4z"],phabricator:[496,512,[],"f3db","M323 262.1l-.1-13s21.7-19.8 21.1-21.2l-9.5-20c-.6-1.4-29.5-.5-29.5-.5l-9.4-9.3s.2-28.5-1.2-29.1l-20.1-9.2c-1.4-.6-20.7 21-20.7 21l-13.1-.2s-20.5-21.4-21.9-20.8l-20 8.3c-1.4.5.2 28.9.2 28.9l-9.1 9.1s-29.2-.9-29.7.4l-8.1 19.8c-.6 1.4 21 21 21 21l.1 12.9s-21.7 19.8-21.1 21.2l9.5 20c.6 1.4 29.5.5 29.5.5l9.4 9.3s-.2 31.8 1.2 32.3l20.1 8.3c1.4.6 20.7-23.5 20.7-23.5l13.1.2s20.5 23.8 21.8 23.3l20-7.5c1.4-.6-.2-32.1-.2-32.1l9.1-9.1s29.2.9 29.7-.5l8.1-19.8c.7-1.1-20.9-20.7-20.9-20.7zm-44.9-8.7c.7 17.1-12.8 31.6-30.1 32.4-17.3.8-32.1-12.5-32.8-29.6-.7-17.1 12.8-31.6 30.1-32.3 17.3-.8 32.1 12.5 32.8 29.5zm201.2-37.9l-97-97-.1.1c-75.1-73.3-195.4-72.8-269.8 1.6-50.9 51-27.8 27.9-95.7 95.3-22.3 22.3-22.3 58.7 0 81 69.9 69.4 46.4 46 97.4 97l.1-.1c75.1 73.3 195.4 72.9 269.8-1.6 51-50.9 27.9-27.9 95.3-95.3 22.3-22.3 22.3-58.7 0-81zM140.4 363.8c-59.6-59.5-59.6-156 0-215.5 59.5-59.6 156-59.5 215.6 0 59.5 59.5 59.6 156 0 215.6-59.6 59.5-156 59.4-215.6-.1z"],"phoenix-framework":[640,512,[],"f3dc","M212.9 344.3c3.8-.1 22.8-1.4 25.6-2.2-2.4-2.6-43.6-1-68-49.6-4.3-8.6-7.5-17.6-6.4-27.6 2.9-25.5 32.9-30 52-18.5 36 21.6 63.3 91.3 113.7 97.5 37 4.5 84.6-17 108.2-45.4-.6-.1-.8-.2-1-.1-.4.1-.8.2-1.1.3-33.3 12.1-94.3 9.7-134.7-14.8-37.6-22.8-53.1-58.7-51.8-74.6 1.8-21.3 22.9-23.2 35.9-19.6 14.4 3.9 24.4 17.6 38.9 27.4 15.6 10.4 32.9 13.7 51.3 10.3 14.9-2.7 34.4-12.3 36.5-14.5-1.1-.1-1.8-.1-2.5-.2-6.2-.6-12.4-.8-18.5-1.7C279.8 194.5 262.1 47.4 138.5 37.9 94.2 34.5 39.1 46 2.2 72.9c-.8.6-1.5 1.2-2.2 1.8.1.2.1.3.2.5.8 0 1.6-.1 2.4-.2 6.3-1 12.5-.8 18.7.3 23.8 4.3 47.7 23.1 55.9 76.5 5.3 34.3-.7 50.8 8 86.1 19 77.1 91 107.6 127.7 106.4zM75.3 64.9c-.9-1-.9-1.2-1.3-2 12.1-2.6 24.2-4.1 36.6-4.8-1.1 14.7-22.2 21.3-35.3 6.8zm196.9 350.5c-42.8 1.2-92-26.7-123.5-61.4-4.6-5-16.8-20.2-18.6-23.4l.4-.4c6.6 4.1 25.7 18.6 54.8 27 24.2 7 48.1 6.3 71.6-3.3 22.7-9.3 41-.5 43.1 2.9-18.5 3.8-20.1 4.4-24 7.9-5.1 4.4-4.6 11.7 7 17.2 26.2 12.4 63-2.8 97.2 25.4 2.4 2 8.1 7.8 10.1 10.7-.1.2-.3.3-.4.5-4.8-1.5-16.4-7.5-40.2-9.3-24.7-2-46.3 5.3-77.5 6.2zm174.8-252c16.4-5.2 41.3-13.4 66.5-3.3 16.1 6.5 26.2 18.7 32.1 34.6 3.5 9.4 5.1 19.7 5.1 28.7-.2 0-.4 0-.6.1-.2-.4-.4-.9-.5-1.3-5-22-29.9-43.8-67.6-29.9-50.2 18.6-130.4 9.7-176.9-48-.7-.9-2.4-1.7-1.3-3.2.1-.2 2.1.6 3 1.3 18.1 13.4 38.3 21.9 60.3 26.2 30.5 6.1 54.6 2.9 79.9-5.2zm102.7 117.5c-32.4.2-33.8 50.1-103.6 64.4-18.2 3.7-38.7 4.6-44.9 4.2v-.4c2.8-1.5 14.7-2.6 29.7-16.6 7.9-7.3 15.3-15.1 22.8-22.9 19.5-20.2 41.4-42.2 81.9-39 23.1 1.8 29.3 8.2 36.1 12.7.3.2.4.5.7.9-.5 0-.7.1-.9 0-7-2.7-14.3-3.3-21.8-3.3zm-12.3-24.1c-.1.2-.1.4-.2.6-28.9-4.4-48-7.9-68.5 4-17 9.9-31.4 20.5-62 24.4-27.1 3.4-45.1 2.4-66.1-8-.3-.2-.6-.4-1-.6 0-.2.1-.3.1-.5 24.9 3.8 36.4 5.1 55.5-5.8 22.3-12.9 40.1-26.6 71.3-31 29.6-4.1 51.3 2.5 70.9 16.9zM268.6 97.3c-.6-.6-1.1-1.2-2.1-2.3 7.6 0 29.7-1.2 53.4 8.4 19.7 8 32.2 21 50.2 32.9 11.1 7.3 23.4 9.3 36.4 8.1 4.3-.4 8.5-1.2 12.8-1.7.4-.1.9 0 1.5.3-.6.4-1.2.9-1.8 1.2-8.1 4-16.7 6.3-25.6 7.1-26.1 2.6-50.3-3.7-73.4-15.4-19.3-9.9-36.4-22.9-51.4-38.6zM640 335.7c-3.5 3.1-22.7 11.6-42.7 5.3-12.3-3.9-19.5-14.9-31.6-24.1-10-7.6-20.9-7.9-28.1-8.4.6-.8.9-1.2 1.2-1.4 14.8-9.2 30.5-12.2 47.3-6.5 12.5 4.2 19.2 13.5 30.4 24.2 10.8 10.4 21 9.9 23.1 10.5.1-.1.2 0 .4.4zm-212.5 137c2.2 1.2 1.6 1.5 1.5 2-18.5-1.4-33.9-7.6-46.8-22.2-21.8-24.7-41.7-27.9-48.6-29.7.5-.2.8-.4 1.1-.4 13.1.1 26.1.7 38.9 3.9 25.3 6.4 35 25.4 41.6 35.3 3.2 4.8 7.3 8.3 12.3 11.1z"],"phoenix-squadron":[512,512,[],"f511","M96 63.38C142.49 27.25 201.55 7.31 260.51 8.81c29.58-.38 59.11 5.37 86.91 15.33-24.13-4.63-49-6.34-73.38-2.45C231.17 27 191 48.84 162.21 80.87c5.67-1 10.78-3.67 16-5.86 18.14-7.87 37.49-13.26 57.23-14.83 19.74-2.13 39.64-.43 59.28 1.92-14.42 2.79-29.12 4.57-43 9.59-34.43 11.07-65.27 33.16-86.3 62.63-13.8 19.71-23.63 42.86-24.67 67.13-.35 16.49 5.22 34.81 19.83 44a53.27 53.27 0 0 0 37.52 6.74c15.45-2.46 30.07-8.64 43.6-16.33 11.52-6.82 22.67-14.55 32-24.25 3.79-3.22 2.53-8.45 2.62-12.79-2.12-.34-4.38-1.11-6.3.3a203 203 0 0 1-35.82 15.37c-20 6.17-42.16 8.46-62.1.78 12.79 1.73 26.06.31 37.74-5.44 20.23-9.72 36.81-25.2 54.44-38.77a526.57 526.57 0 0 1 88.9-55.31c25.71-12 52.94-22.78 81.57-24.12-15.63 13.72-32.15 26.52-46.78 41.38-14.51 14-27.46 29.5-40.11 45.18-3.52 4.6-8.95 6.94-13.58 10.16a150.7 150.7 0 0 0-51.89 60.1c-9.33 19.68-14.5 41.85-11.77 63.65 1.94 13.69 8.71 27.59 20.9 34.91 12.9 8 29.05 8.07 43.48 5.1 32.8-7.45 61.43-28.89 81-55.84 20.44-27.52 30.52-62.2 29.16-96.35-.52-7.5-1.57-15-1.66-22.49 8 19.48 14.82 39.71 16.65 60.83 2 14.28.75 28.76-1.62 42.9-1.91 11-5.67 21.51-7.78 32.43a165 165 0 0 0 39.34-81.07 183.64 183.64 0 0 0-14.21-104.64c20.78 32 32.34 69.58 35.71 107.48.49 12.73.49 25.51 0 38.23A243.21 243.21 0 0 1 482 371.34c-26.12 47.34-68 85.63-117.19 108-78.29 36.23-174.68 31.32-248-14.68A248.34 248.34 0 0 1 25.36 366 238.34 238.34 0 0 1 0 273.08v-31.34C3.93 172 40.87 105.82 96 63.38m222 80.33a79.13 79.13 0 0 0 16-4.48c5-1.77 9.24-5.94 10.32-11.22-8.96 4.99-17.98 9.92-26.32 15.7z"],php:[640,512,[],"f457","M320 104.5c171.4 0 303.2 72.2 303.2 151.5S491.3 407.5 320 407.5c-171.4 0-303.2-72.2-303.2-151.5S148.7 104.5 320 104.5m0-16.8C143.3 87.7 0 163 0 256s143.3 168.3 320 168.3S640 349 640 256 496.7 87.7 320 87.7zM218.2 242.5c-7.9 40.5-35.8 36.3-70.1 36.3l13.7-70.6c38 0 63.8-4.1 56.4 34.3zM97.4 350.3h36.7l8.7-44.8c41.1 0 66.6 3 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7h-70.7L97.4 350.3zm185.7-213.6h36.5l-8.7 44.8c31.5 0 60.7-2.3 74.8 10.7 14.8 13.6 7.7 31-8.3 113.1h-37c15.4-79.4 18.3-86 12.7-92-5.4-5.8-17.7-4.6-47.4-4.6l-18.8 96.6h-36.5l32.7-168.6zM505 242.5c-8 41.1-36.7 36.3-70.1 36.3l13.7-70.6c38.2 0 63.8-4.1 56.4 34.3zM384.2 350.3H421l8.7-44.8c43.2 0 67.1 2.5 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7H417l-32.8 168.7z"],"pied-piper":[480,512,[],"f2ae","M455.93,23.2C429.23,30,387.79,51.69,341.35,90.66A206,206,0,0,0,240,64C125.13,64,32,157.12,32,272s93.13,208,208,208,208-93.13,208-208a207.25,207.25,0,0,0-58.75-144.81,155.35,155.35,0,0,0-17,27.4A176.16,176.16,0,0,1,417.1,272c0,97.66-79.44,177.11-177.09,177.11a175.81,175.81,0,0,1-87.63-23.4c82.94-107.33,150.79-37.77,184.31-226.65,5.79-32.62,28-94.26,126.23-160.18C471,33.45,465.35,20.8,455.93,23.2ZM125,406.4A176.66,176.66,0,0,1,62.9,272C62.9,174.34,142.35,94.9,240,94.9a174,174,0,0,1,76.63,17.75C250.64,174.76,189.77,265.52,125,406.4Z"],"pied-piper-alt":[576,512,[],"f1a8","M244 246c-3.2-2-6.3-2.9-10.1-2.9-6.6 0-12.6 3.2-19.3 3.7l1.7 4.9zm135.9 197.9c-19 0-64.1 9.5-79.9 19.8l6.9 45.1c35.7 6.1 70.1 3.6 106-9.8-4.8-10-23.5-55.1-33-55.1zM340.8 177c6.6 2.8 11.5 9.2 22.7 22.1 2-1.4 7.5-5.2 7.5-8.6 0-4.9-11.8-13.2-13.2-23 11.2-5.7 25.2-6 37.6-8.9 68.1-16.4 116.3-52.9 146.8-116.7C548.3 29.3 554 16.1 554.6 2l-2 2.6c-28.4 50-33 63.2-81.3 100-31.9 24.4-69.2 40.2-106.6 54.6l-6.3-.3v-21.8c-19.6 1.6-19.7-14.6-31.6-23-18.7 20.6-31.6 40.8-58.9 51.1-12.7 4.8-19.6 10-25.9 21.8 34.9-16.4 91.2-13.5 98.8-10zM555.5 0l-.6 1.1-.3.9.6-.6zm-59.2 382.1c-33.9-56.9-75.3-118.4-150-115.5l-.3-6c-1.1-13.5 32.8 3.2 35.1-31l-14.4 7.2c-19.8-45.7-8.6-54.3-65.5-54.3-14.7 0-26.7 1.7-41.4 4.6 2.9 18.6 2.2 36.7-10.9 50.3l19.5 5.5c-1.7 3.2-2.9 6.3-2.9 9.8 0 21 42.8 2.9 42.8 33.6 0 18.4-36.8 60.1-54.9 60.1-8 0-53.7-50-53.4-60.1l.3-4.6 52.3-11.5c13-2.6 12.3-22.7-2.9-22.7-3.7 0-43.1 9.2-49.4 10.6-2-5.2-7.5-14.1-13.8-14.1-3.2 0-6.3 3.2-9.5 4-9.2 2.6-31 2.9-21.5 20.1L15.9 298.5c-5.5 1.1-8.9 6.3-8.9 11.8 0 6 5.5 10.9 11.5 10.9 8 0 131.3-28.4 147.4-32.2 2.6 3.2 4.6 6.3 7.8 8.6 20.1 14.4 59.8 85.9 76.4 85.9 24.1 0 58-22.4 71.3-41.9 3.2-4.3 6.9-7.5 12.4-6.9.6 13.8-31.6 34.2-33 43.7-1.4 10.2-1 35.2-.3 41.1 26.7 8.1 52-3.6 77.9-2.9 4.3-21 10.6-41.9 9.8-63.5l-.3-9.5c-1.4-34.2-10.9-38.5-34.8-58.6-1.1-1.1-2.6-2.6-3.7-4 2.2-1.4 1.1-1 4.6-1.7 88.5 0 56.3 183.6 111.5 229.9 33.1-15 72.5-27.9 103.5-47.2-29-25.6-52.6-45.7-72.7-79.9zm-196.2 46.1v27.2l11.8-3.4-2.9-23.8zm-68.7-150.4l24.1 61.2 21-13.8-31.3-50.9zm84.4 154.9l2 12.4c9-1.5 58.4-6.6 58.4-14.1 0-1.4-.6-3.2-.9-4.6-26.8 0-36.9 3.8-59.5 6.3z"],"pied-piper-hat":[640,512,[],"f4e5","M640 24.9c-80.8 53.6-89.4 92.5-96.4 104.4-6.7 12.2-11.7 60.3-23.3 83.6-11.7 23.6-54.2 42.2-66.1 50-11.7 7.8-28.3 38.1-41.9 64.2-108.1-4.4-167.4 38.8-259.2 93.6 29.4-9.7 43.3-16.7 43.3-16.7 94.2-36 139.3-68.3 281.1-49.2 1.1 0 1.9.6 2.8.8 3.9 2.2 5.3 6.9 3.1 10.8l-53.9 95.8c-2.5 4.7-7.8 7.2-13.1 6.1-126.8-23.8-226.9 17.3-318.9 18.6C24.1 488 0 453.4 0 451.8c0-1.1.6-1.7 1.7-1.7 0 0 38.3 0 103.1-15.3C178.4 294.5 244 245.4 315.4 245.4c0 0 71.7 0 90.6 61.9 22.8-39.7 28.3-49.2 28.3-49.2 5.3-9.4 35-77.2 86.4-141.4 51.5-64 90.4-79.9 119.3-91.8z"],"pied-piper-pp":[448,512,[],"f1a7","M205.3 174.6c0 21.1-14.2 38.1-31.7 38.1-7.1 0-12.8-1.2-17.2-3.7v-68c4.4-2.7 10.1-4.2 17.2-4.2 17.5 0 31.7 16.9 31.7 37.8zm52.6 67c-7.1 0-12.8 1.5-17.2 4.2v68c4.4 2.5 10.1 3.7 17.2 3.7 17.4 0 31.7-16.9 31.7-37.8 0-21.1-14.3-38.1-31.7-38.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM185 255.1c41 0 74.2-35.6 74.2-79.6 0-44-33.2-79.6-74.2-79.6-12 0-24.1 3.2-34.6 8.8h-45.7V311l51.8-10.1v-50.6c8.6 3.1 18.1 4.8 28.5 4.8zm158.4 25.3c0-44-33.2-79.6-73.9-79.6-3.2 0-6.4.2-9.6.7-3.7 12.5-10.1 23.8-19.2 33.4-13.8 15-32.2 23.8-51.8 24.8V416l51.8-10.1v-50.6c8.6 3.2 18.2 4.7 28.7 4.7 40.8 0 74-35.6 74-79.6z"],"pied-piper-square":[448,512,[],"e01e","M32 419L0 479.2l.8-328C.8 85.3 54 32 120 32h327.2c-93 28.9-189.9 94.2-253.9 168.6C122.7 282 82.6 338 32 419M448 32S305.2 98.8 261.6 199.1c-23.2 53.6-28.9 118.1-71 158.6-28.9 27.8-69.8 38.2-105.3 56.3-23.2 12-66.4 40.5-84.9 66h328.4c66 0 119.3-53.3 119.3-119.2-.1 0-.1-328.8-.1-328.8z"],pinterest:[496,512,[],"f0d2","M496 256c0 137-111 248-248 248-25.6 0-50.2-3.9-73.4-11.1 10.1-16.5 25.2-43.5 30.8-65 3-11.6 15.4-59 15.4-59 8.1 15.4 31.7 28.5 56.8 28.5 74.8 0 128.7-68.8 128.7-154.3 0-81.9-66.9-143.2-152.9-143.2-107 0-163.9 71.8-163.9 150.1 0 36.4 19.4 81.7 50.3 96.1 4.7 2.2 7.2 1.2 8.3-3.3.8-3.4 5-20.3 6.9-28.1.6-2.5.3-4.7-1.7-7.1-10.1-12.5-18.3-35.3-18.3-56.6 0-54.7 41.4-107.6 112-107.6 60.9 0 103.6 41.5 103.6 100.9 0 67.1-33.9 113.6-78 113.6-24.3 0-42.6-20.1-36.7-44.8 7-29.5 20.5-61.3 20.5-82.6 0-19-10.2-34.9-31.4-34.9-24.9 0-44.9 25.7-44.9 60.2 0 22 7.4 36.8 7.4 36.8s-24.5 103.8-29 123.2c-5 21.4-3 51.6-.9 71.2C65.4 450.9 0 361.1 0 256 0 119 111 8 248 8s248 111 248 248z"],"pinterest-p":[384,512,[],"f231","M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z"],"pinterest-square":[448,512,[],"f0d3","M448 80v352c0 26.5-21.5 48-48 48H154.4c9.8-16.4 22.4-40 27.4-59.3 3-11.5 15.3-58.4 15.3-58.4 8 15.3 31.4 28.2 56.3 28.2 74.1 0 127.4-68.1 127.4-152.7 0-81.1-66.2-141.8-151.4-141.8-106 0-162.2 71.1-162.2 148.6 0 36 19.2 80.8 49.8 95.1 4.7 2.2 7.1 1.2 8.2-3.3.8-3.4 5-20.1 6.8-27.8.6-2.5.3-4.6-1.7-7-10.1-12.3-18.3-34.9-18.3-56 0-54.2 41-106.6 110.9-106.6 60.3 0 102.6 41.1 102.6 99.9 0 66.4-33.5 112.4-77.2 112.4-24.1 0-42.1-19.9-36.4-44.4 6.9-29.2 20.3-60.7 20.3-81.8 0-53-75.5-45.7-75.5 25 0 21.7 7.3 36.5 7.3 36.5-31.4 132.8-36.1 134.5-29.6 192.6l2.2.8H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48z"],playstation:[576,512,[],"f3df","M570.9 372.3c-11.3 14.2-38.8 24.3-38.8 24.3L327 470.2v-54.3l150.9-53.8c17.1-6.1 19.8-14.8 5.8-19.4-13.9-4.6-39.1-3.3-56.2 2.9L327 381.1v-56.4c23.2-7.8 47.1-13.6 75.7-16.8 40.9-4.5 90.9.6 130.2 15.5 44.2 14 49.2 34.7 38 48.9zm-224.4-92.5v-139c0-16.3-3-31.3-18.3-35.6-11.7-3.8-19 7.1-19 23.4v347.9l-93.8-29.8V32c39.9 7.4 98 24.9 129.2 35.4C424.1 94.7 451 128.7 451 205.2c0 74.5-46 102.8-104.5 74.6zM43.2 410.2c-45.4-12.8-53-39.5-32.3-54.8 19.1-14.2 51.7-24.9 51.7-24.9l134.5-47.8v54.5l-96.8 34.6c-17.1 6.1-19.7 14.8-5.8 19.4 13.9 4.6 39.1 3.3 56.2-2.9l46.4-16.9v48.8c-51.6 9.3-101.4 7.3-153.9-10z"],"product-hunt":[512,512,[],"f288","M326.3 218.8c0 20.5-16.7 37.2-37.2 37.2h-70.3v-74.4h70.3c20.5 0 37.2 16.7 37.2 37.2zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-128.1-37.2c0-47.9-38.9-86.8-86.8-86.8H169.2v248h49.6v-74.4h70.3c47.9 0 86.8-38.9 86.8-86.8z"],pushed:[432,512,[],"f3e1","M407 111.9l-98.5-9 14-33.4c10.4-23.5-10.8-40.4-28.7-37L22.5 76.9c-15.1 2.7-26 18.3-21.4 36.6l105.1 348.3c6.5 21.3 36.7 24.2 47.7 7l35.3-80.8 235.2-231.3c16.4-16.8 4.3-42.9-17.4-44.8zM297.6 53.6c5.1-.7 7.5 2.5 5.2 7.4L286 100.9 108.6 84.6l189-31zM22.7 107.9c-3.1-5.1 1-10 6.1-9.1l248.7 22.7-96.9 230.7L22.7 107.9zM136 456.4c-2.6 4-7.9 3.1-9.4-1.2L43.5 179.7l127.7 197.6c-7 15-35.2 79.1-35.2 79.1zm272.8-314.5L210.1 337.3l89.7-213.7 106.4 9.7c4 1.1 5.7 5.3 2.6 8.6z"],python:[448,512,[],"f3e2","M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"],qq:[448,512,[],"f1d6","M433.754 420.445c-11.526 1.393-44.86-52.741-44.86-52.741 0 31.345-16.136 72.247-51.051 101.786 16.842 5.192 54.843 19.167 45.803 34.421-7.316 12.343-125.51 7.881-159.632 4.037-34.122 3.844-152.316 8.306-159.632-4.037-9.045-15.25 28.918-29.214 45.783-34.415-34.92-29.539-51.059-70.445-51.059-101.792 0 0-33.334 54.134-44.859 52.741-5.37-.65-12.424-29.644 9.347-99.704 10.261-33.024 21.995-60.478 40.144-105.779C60.683 98.063 108.982.006 224 0c113.737.006 163.156 96.133 160.264 214.963 18.118 45.223 29.912 72.85 40.144 105.778 21.768 70.06 14.716 99.053 9.346 99.704z"],quinscape:[512,512,[],"f459","M313.6 474.6h-1a158.1 158.1 0 0 1 0-316.2c94.9 0 168.2 83.1 157 176.6 4 5.1 8.2 9.6 11.2 15.3 13.4-30.3 20.3-62.4 20.3-97.7C501.1 117.5 391.6 8 256.5 8S12 117.5 12 252.6s109.5 244.6 244.5 244.6a237.36 237.36 0 0 0 70.4-10.1c-5.2-3.5-8.9-8.1-13.3-12.5zm-.1-.1l.4.1zm78.4-168.9a99.2 99.2 0 1 0 99.2 99.2 99.18 99.18 0 0 0-99.2-99.2z"],quora:[448,512,[],"f2c4","M440.5 386.7h-29.3c-1.5 13.5-10.5 30.8-33 30.8-20.5 0-35.3-14.2-49.5-35.8 44.2-34.2 74.7-87.5 74.7-153C403.5 111.2 306.8 32 205 32 105.3 32 7.3 111.7 7.3 228.7c0 134.1 131.3 221.6 249 189C276 451.3 302 480 351.5 480c81.8 0 90.8-75.3 89-93.3zM297 329.2C277.5 300 253.3 277 205.5 277c-30.5 0-54.3 10-69 22.8l12.2 24.3c6.2-3 13-4 19.8-4 35.5 0 53.7 30.8 69.2 61.3-10 3-20.7 4.2-32.7 4.2-75 0-107.5-53-107.5-156.7C97.5 124.5 130 71 205 71c76.2 0 108.7 53.5 108.7 157.7.1 41.8-5.4 75.6-16.7 100.5z"],"r-project":[581,512,[],"f4f7","M581 226.6C581 119.1 450.9 32 290.5 32S0 119.1 0 226.6C0 322.4 103.3 402 239.4 418.1V480h99.1v-61.5c24.3-2.7 47.6-7.4 69.4-13.9L448 480h112l-67.4-113.7c54.5-35.4 88.4-84.9 88.4-139.7zm-466.8 14.5c0-73.5 98.9-133 220.8-133s211.9 40.7 211.9 133c0 50.1-26.5 85-70.3 106.4-2.4-1.6-4.7-2.9-6.4-3.7-10.2-5.2-27.8-10.5-27.8-10.5s86.6-6.4 86.6-92.7-90.6-87.9-90.6-87.9h-199V361c-74.1-21.5-125.2-67.1-125.2-119.9zm225.1 38.3v-55.6c57.8 0 87.8-6.8 87.8 27.3 0 36.5-38.2 28.3-87.8 28.3zm-.9 72.5H365c10.8 0 18.9 11.7 24 19.2-16.1 1.9-33 2.8-50.6 2.9v-22.1z"],"raspberry-pi":[407,512,[],"f7bb","M372 232.5l-3.7-6.5c.1-46.4-21.4-65.3-46.5-79.7 7.6-2 15.4-3.6 17.6-13.2 13.1-3.3 15.8-9.4 17.1-15.8 3.4-2.3 14.8-8.7 13.6-19.7 6.4-4.4 10-10.1 8.1-18.1 6.9-7.5 8.7-13.7 5.8-19.4 8.3-10.3 4.6-15.6 1.1-20.9 6.2-11.2.7-23.2-16.6-21.2-6.9-10.1-21.9-7.8-24.2-7.8-2.6-3.2-6-6-16.5-4.7-6.8-6.1-14.4-5-22.3-2.1-9.3-7.3-15.5-1.4-22.6.8C271.6.6 269 5.5 263.5 7.6c-12.3-2.6-16.1 3-22 8.9l-6.9-.1c-18.6 10.8-27.8 32.8-31.1 44.1-3.3-11.3-12.5-33.3-31.1-44.1l-6.9.1c-5.9-5.9-9.7-11.5-22-8.9-5.6-2-8.1-7-19.4-3.4-4.6-1.4-8.9-4.4-13.9-4.3-2.6.1-5.5 1-8.7 3.5-7.9-3-15.5-4-22.3 2.1-10.5-1.3-14 1.4-16.5 4.7-2.3 0-17.3-2.3-24.2 7.8C21.2 16 15.8 28 22 39.2c-3.5 5.4-7.2 10.7 1.1 20.9-2.9 5.7-1.1 11.9 5.8 19.4-1.8 8 1.8 13.7 8.1 18.1-1.2 11 10.2 17.4 13.6 19.7 1.3 6.4 4 12.4 17.1 15.8 2.2 9.5 10 11.2 17.6 13.2-25.1 14.4-46.6 33.3-46.5 79.7l-3.7 6.5c-28.8 17.2-54.7 72.7-14.2 117.7 2.6 14.1 7.1 24.2 11 35.4 5.9 45.2 44.5 66.3 54.6 68.8 14.9 11.2 30.8 21.8 52.2 29.2C159 504.2 181 512 203 512h1c22.1 0 44-7.8 64.2-28.4 21.5-7.4 37.3-18 52.2-29.2 10.2-2.5 48.7-23.6 54.6-68.8 3.9-11.2 8.4-21.3 11-35.4 40.6-45.1 14.7-100.5-14-117.7zm-22.2-8c-1.5 18.7-98.9-65.1-82.1-67.9 45.7-7.5 83.6 19.2 82.1 67.9zm-43 93.1c-24.5 15.8-59.8 5.6-78.8-22.8s-14.6-64.2 9.9-80c24.5-15.8 59.8-5.6 78.8 22.8s14.6 64.2-9.9 80zM238.9 29.3c.8 4.2 1.8 6.8 2.9 7.6 5.4-5.8 9.8-11.7 16.8-17.3 0 3.3-1.7 6.8 2.5 9.4 3.7-5 8.8-9.5 15.5-13.3-3.2 5.6-.6 7.3 1.2 9.6 5.1-4.4 10-8.8 19.4-12.3-2.6 3.1-6.2 6.2-2.4 9.8 5.3-3.3 10.6-6.6 23.1-8.9-2.8 3.1-8.7 6.3-5.1 9.4 6.6-2.5 14-4.4 22.1-5.4-3.9 3.2-7.1 6.3-3.9 8.8 7.1-2.2 16.9-5.1 26.4-2.6l-6 6.1c-.7.8 14.1.6 23.9.8-3.6 5-7.2 9.7-9.3 18.2 1 1 5.8.4 10.4 0-4.7 9.9-12.8 12.3-14.7 16.6 2.9 2.2 6.8 1.6 11.2.1-3.4 6.9-10.4 11.7-16 17.3 1.4 1 3.9 1.6 9.7.9-5.2 5.5-11.4 10.5-18.8 15 1.3 1.5 5.8 1.5 10 1.6-6.7 6.5-15.3 9.9-23.4 14.2 4 2.7 6.9 2.1 10 2.1-5.7 4.7-15.4 7.1-24.4 10 1.7 2.7 3.4 3.4 7.1 4.1-9.5 5.3-23.2 2.9-27 5.6.9 2.7 3.6 4.4 6.7 5.8-15.4.9-57.3-.6-65.4-32.3 15.7-17.3 44.4-37.5 93.7-62.6-38.4 12.8-73 30-102 53.5-34.3-15.9-10.8-55.9 5.8-71.8zm-34.4 114.6c24.2-.3 54.1 17.8 54 34.7-.1 15-21 27.1-53.8 26.9-32.1-.4-53.7-15.2-53.6-29.8 0-11.9 26.2-32.5 53.4-31.8zm-123-12.8c3.7-.7 5.4-1.5 7.1-4.1-9-2.8-18.7-5.3-24.4-10 3.1 0 6 .7 10-2.1-8.1-4.3-16.7-7.7-23.4-14.2 4.2-.1 8.7 0 10-1.6-7.4-4.5-13.6-9.5-18.8-15 5.8.7 8.3.1 9.7-.9-5.6-5.6-12.7-10.4-16-17.3 4.3 1.5 8.3 2 11.2-.1-1.9-4.2-10-6.7-14.7-16.6 4.6.4 9.4 1 10.4 0-2.1-8.5-5.8-13.3-9.3-18.2 9.8-.1 24.6 0 23.9-.8l-6-6.1c9.5-2.5 19.3.4 26.4 2.6 3.2-2.5-.1-5.6-3.9-8.8 8.1 1.1 15.4 2.9 22.1 5.4 3.5-3.1-2.3-6.3-5.1-9.4 12.5 2.3 17.8 5.6 23.1 8.9 3.8-3.6.2-6.7-2.4-9.8 9.4 3.4 14.3 7.9 19.4 12.3 1.7-2.3 4.4-4 1.2-9.6 6.7 3.8 11.8 8.3 15.5 13.3 4.1-2.6 2.5-6.2 2.5-9.4 7 5.6 11.4 11.5 16.8 17.3 1.1-.8 2-3.4 2.9-7.6 16.6 15.9 40.1 55.9 6 71.8-29-23.5-63.6-40.7-102-53.5 49.3 25 78 45.3 93.7 62.6-8 31.8-50 33.2-65.4 32.3 3.1-1.4 5.8-3.2 6.7-5.8-4-2.8-17.6-.4-27.2-5.6zm60.1 24.1c16.8 2.8-80.6 86.5-82.1 67.9-1.5-48.7 36.5-75.5 82.1-67.9zM38.2 342c-23.7-18.8-31.3-73.7 12.6-98.3 26.5-7 9 107.8-12.6 98.3zm91 98.2c-13.3 7.9-45.8 4.7-68.8-27.9-15.5-27.4-13.5-55.2-2.6-63.4 16.3-9.8 41.5 3.4 60.9 25.6 16.9 20 24.6 55.3 10.5 65.7zm-26.4-119.7c-24.5-15.8-28.9-51.6-9.9-80s54.3-38.6 78.8-22.8 28.9 51.6 9.9 80c-19.1 28.4-54.4 38.6-78.8 22.8zM205 496c-29.4 1.2-58.2-23.7-57.8-32.3-.4-12.7 35.8-22.6 59.3-22 23.7-1 55.6 7.5 55.7 18.9.5 11-28.8 35.9-57.2 35.4zm58.9-124.9c.2 29.7-26.2 53.8-58.8 54-32.6.2-59.2-23.8-59.4-53.4v-.6c-.2-29.7 26.2-53.8 58.8-54 32.6-.2 59.2 23.8 59.4 53.4v.6zm82.2 42.7c-25.3 34.6-59.6 35.9-72.3 26.3-13.3-12.4-3.2-50.9 15.1-72 20.9-23.3 43.3-38.5 58.9-26.6 10.5 10.3 16.7 49.1-1.7 72.3zm22.9-73.2c-21.5 9.4-39-105.3-12.6-98.3 43.9 24.7 36.3 79.6 12.6 98.3z"],ravelry:[512,512,[],"f2d9","M407.4 61.5C331.6 22.1 257.8 31 182.9 66c-11.3 5.2-15.5 10.6-19.9 19-10.3 19.2-16.2 37.4-19.9 52.7-21.2 25.6-36.4 56.1-43.3 89.9-10.6 18-20.9 41.4-23.1 71.4 0 0-.7 7.6-.5 7.9-35.3-4.6-76.2-27-76.2-27 9.1 14.5 61.3 32.3 76.3 37.9 0 0 1.7 98 64.5 131.2-11.3-17.2-13.3-20.2-13.3-20.2S94.8 369 100.4 324.7c.7 0 1.5.2 2.2.2 23.9 87.4 103.2 151.4 196.9 151.4 6.2 0 12.1-.2 18-.7 14 1.5 27.6.5 40.1-3.9 6.9-2.2 13.8-6.4 20.2-10.8 70.2-39.1 100.9-82 123.1-147.7 5.4-16 8.1-35.5 9.8-52.2 8.7-82.3-30.6-161.6-103.3-199.5zM138.8 163.2s-1.2 12.3-.7 19.7c-3.4 2.5-10.1 8.1-18.2 16.7 5.2-12.8 11.3-25.1 18.9-36.4zm-31.2 121.9c4.4-17.2 13.3-39.1 29.8-55.1 0 0 1.7 48 15.8 90.1l-41.4-6.9c-2.2-9.2-3.5-18.5-4.2-28.1zm7.9 42.8c14.8 3.2 34 7.6 43.1 9.1 27.3 76.8 108.3 124.3 108.3 124.3 1 .5 1.7.7 2.7 1-73.1-11.6-132.7-64.7-154.1-134.4zM386 444.1c-14.5 4.7-36.2 8.4-64.7 3.7 0 0-91.1-23.1-127.5-107.8 38.2.7 52.4-.2 78-3.9 39.4-5.7 79-16.2 115-33 11.8-5.4 11.1-19.4 9.6-29.8-2-12.8-11.1-12.1-21.4-4.7 0 0-82 58.6-189.8 53.7-18.7-32-26.8-110.8-26.8-110.8 41.4-35.2 83.2-59.6 168.4-52.4.2-6.4 3-27.1-20.4-28.1 0 0-93.5-11.1-146 33.5 2.5-16.5 5.9-29.3 11.1-39.4 34.2-30.8 79-49.5 128.3-49.5 106.4 0 193 87.1 193 194.5-.2 76-43.8 142-106.8 174z"],react:[512,512,[],"f41b","M418.2 177.2c-5.4-1.8-10.8-3.5-16.2-5.1.9-3.7 1.7-7.4 2.5-11.1 12.3-59.6 4.2-107.5-23.1-123.3-26.3-15.1-69.2.6-112.6 38.4-4.3 3.7-8.5 7.6-12.5 11.5-2.7-2.6-5.5-5.2-8.3-7.7-45.5-40.4-91.1-57.4-118.4-41.5-26.2 15.2-34 60.3-23 116.7 1.1 5.6 2.3 11.1 3.7 16.7-6.4 1.8-12.7 3.8-18.6 5.9C38.3 196.2 0 225.4 0 255.6c0 31.2 40.8 62.5 96.3 81.5 4.5 1.5 9 3 13.6 4.3-1.5 6-2.8 11.9-4 18-10.5 55.5-2.3 99.5 23.9 114.6 27 15.6 72.4-.4 116.6-39.1 3.5-3.1 7-6.3 10.5-9.7 4.4 4.3 9 8.4 13.6 12.4 42.8 36.8 85.1 51.7 111.2 36.6 27-15.6 35.8-62.9 24.4-120.5-.9-4.4-1.9-8.9-3-13.5 3.2-.9 6.3-1.9 9.4-2.9 57.7-19.1 99.5-50 99.5-81.7 0-30.3-39.4-59.7-93.8-78.4zM282.9 92.3c37.2-32.4 71.9-45.1 87.7-36 16.9 9.7 23.4 48.9 12.8 100.4-.7 3.4-1.4 6.7-2.3 10-22.2-5-44.7-8.6-67.3-10.6-13-18.6-27.2-36.4-42.6-53.1 3.9-3.7 7.7-7.2 11.7-10.7zM167.2 307.5c5.1 8.7 10.3 17.4 15.8 25.9-15.6-1.7-31.1-4.2-46.4-7.5 4.4-14.4 9.9-29.3 16.3-44.5 4.6 8.8 9.3 17.5 14.3 26.1zm-30.3-120.3c14.4-3.2 29.7-5.8 45.6-7.8-5.3 8.3-10.5 16.8-15.4 25.4-4.9 8.5-9.7 17.2-14.2 26-6.3-14.9-11.6-29.5-16-43.6zm27.4 68.9c6.6-13.8 13.8-27.3 21.4-40.6s15.8-26.2 24.4-38.9c15-1.1 30.3-1.7 45.9-1.7s31 .6 45.9 1.7c8.5 12.6 16.6 25.5 24.3 38.7s14.9 26.7 21.7 40.4c-6.7 13.8-13.9 27.4-21.6 40.8-7.6 13.3-15.7 26.2-24.2 39-14.9 1.1-30.4 1.6-46.1 1.6s-30.9-.5-45.6-1.4c-8.7-12.7-16.9-25.7-24.6-39s-14.8-26.8-21.5-40.6zm180.6 51.2c5.1-8.8 9.9-17.7 14.6-26.7 6.4 14.5 12 29.2 16.9 44.3-15.5 3.5-31.2 6.2-47 8 5.4-8.4 10.5-17 15.5-25.6zm14.4-76.5c-4.7-8.8-9.5-17.6-14.5-26.2-4.9-8.5-10-16.9-15.3-25.2 16.1 2 31.5 4.7 45.9 8-4.6 14.8-10 29.2-16.1 43.4zM256.2 118.3c10.5 11.4 20.4 23.4 29.6 35.8-19.8-.9-39.7-.9-59.5 0 9.8-12.9 19.9-24.9 29.9-35.8zM140.2 57c16.8-9.8 54.1 4.2 93.4 39 2.5 2.2 5 4.6 7.6 7-15.5 16.7-29.8 34.5-42.9 53.1-22.6 2-45 5.5-67.2 10.4-1.3-5.1-2.4-10.3-3.5-15.5-9.4-48.4-3.2-84.9 12.6-94zm-24.5 263.6c-4.2-1.2-8.3-2.5-12.4-3.9-21.3-6.7-45.5-17.3-63-31.2-10.1-7-16.9-17.8-18.8-29.9 0-18.3 31.6-41.7 77.2-57.6 5.7-2 11.5-3.8 17.3-5.5 6.8 21.7 15 43 24.5 63.6-9.6 20.9-17.9 42.5-24.8 64.5zm116.6 98c-16.5 15.1-35.6 27.1-56.4 35.3-11.1 5.3-23.9 5.8-35.3 1.3-15.9-9.2-22.5-44.5-13.5-92 1.1-5.6 2.3-11.2 3.7-16.7 22.4 4.8 45 8.1 67.9 9.8 13.2 18.7 27.7 36.6 43.2 53.4-3.2 3.1-6.4 6.1-9.6 8.9zm24.5-24.3c-10.2-11-20.4-23.2-30.3-36.3 9.6.4 19.5.6 29.5.6 10.3 0 20.4-.2 30.4-.7-9.2 12.7-19.1 24.8-29.6 36.4zm130.7 30c-.9 12.2-6.9 23.6-16.5 31.3-15.9 9.2-49.8-2.8-86.4-34.2-4.2-3.6-8.4-7.5-12.7-11.5 15.3-16.9 29.4-34.8 42.2-53.6 22.9-1.9 45.7-5.4 68.2-10.5 1 4.1 1.9 8.2 2.7 12.2 4.9 21.6 5.7 44.1 2.5 66.3zm18.2-107.5c-2.8.9-5.6 1.8-8.5 2.6-7-21.8-15.6-43.1-25.5-63.8 9.6-20.4 17.7-41.4 24.5-62.9 5.2 1.5 10.2 3.1 15 4.7 46.6 16 79.3 39.8 79.3 58 0 19.6-34.9 44.9-84.8 61.4zm-149.7-15c25.3 0 45.8-20.5 45.8-45.8s-20.5-45.8-45.8-45.8c-25.3 0-45.8 20.5-45.8 45.8s20.5 45.8 45.8 45.8z"],reacteurope:[576,512,[],"f75d","M250.6 211.74l5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.1-.1-2.3-6.8-2.3 6.8-7.2.1 5.7 4.3zm63.7 0l5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.2-.1-2.3-6.8-2.3 6.8-7.2.1 5.7 4.3zm-91.3 50.5h-3.4c-4.8 0-3.8 4-3.8 12.1 0 4.7-2.3 6.1-5.8 6.1s-5.8-1.4-5.8-6.1v-36.6c0-4.7 2.3-6.1 5.8-6.1s5.8 1.4 5.8 6.1c0 7.2-.7 10.5 3.8 10.5h3.4c4.7-.1 3.8-3.9 3.8-12.3 0-9.9-6.7-14.1-16.8-14.1h-.2c-10.1 0-16.8 4.2-16.8 14.1V276c0 10.4 6.7 14.1 16.8 14.1h.2c10.1 0 16.8-3.8 16.8-14.1 0-9.86 1.1-13.76-3.8-13.76zm-80.7 17.4h-14.7v-19.3H139c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-11.4v-18.3H142c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-21.7c-2.4-.1-3.7 1.3-3.7 3.8v59.1c0 2.5 1.3 3.8 3.8 3.8h21.9c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8zm-42-18.5c4.6-2 7.3-6 7.3-12.4v-11.9c0-10.1-6.7-14.1-16.8-14.1H77.4c-2.5 0-3.8 1.3-3.8 3.8v59.1c0 2.5 1.3 3.8 3.8 3.8h3.4c2.5 0 3.8-1.3 3.8-3.8v-22.9h5.6l7.4 23.5a4.1 4.1 0 0 0 4.3 3.2h3.3c2.8 0 4-1.8 3.2-4.4zm-3.8-14c0 4.8-2.5 6.1-6.1 6.1h-5.8v-20.9h5.8c3.6 0 6.1 1.3 6.1 6.1zM176 226a3.82 3.82 0 0 0-4.2-3.4h-6.9a3.68 3.68 0 0 0-4 3.4l-11 59.2c-.5 2.7.9 4.1 3.4 4.1h3a3.74 3.74 0 0 0 4.1-3.5l1.8-11.3h12.2l1.8 11.3a3.74 3.74 0 0 0 4.1 3.5h3.5c2.6 0 3.9-1.4 3.4-4.1zm-12.3 39.3l4.7-29.7 4.7 29.7zm89.3 20.2v-53.2h7.5c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-25.8c-2.5 0-3.8 1.3-3.8 3.8v2.1c0 2.5 1.3 3.8 3.8 3.8h7.3v53.2c0 2.5 1.3 3.8 3.8 3.8h3.4c2.5.04 3.8-1.3 3.8-3.76zm248-.8h-19.4V258h16.1a1.89 1.89 0 0 0 2-2v-.8a1.89 1.89 0 0 0-2-2h-16.1v-25.8h19.1a1.89 1.89 0 0 0 2-2v-.8a1.77 1.77 0 0 0-2-1.9h-22.2a1.62 1.62 0 0 0-2 1.8v63a1.81 1.81 0 0 0 2 1.9H501a1.81 1.81 0 0 0 2-1.9v-.8a1.84 1.84 0 0 0-2-1.96zm-93.1-62.9h-.8c-10.1 0-15.3 4.7-15.3 14.1V276c0 9.3 5.2 14.1 15.3 14.1h.8c10.1 0 15.3-4.8 15.3-14.1v-40.1c0-9.36-5.2-14.06-15.3-14.06zm10.2 52.4c-.1 8-3 11.1-10.5 11.1s-10.5-3.1-10.5-11.1v-36.6c0-7.9 3-11.1 10.5-11.1s10.5 3.2 10.5 11.1zm-46.5-14.5c6.1-1.6 9.2-6.1 9.2-13.3v-9.7c0-9.4-5.2-14.1-15.3-14.1h-13.7a1.81 1.81 0 0 0-2 1.9v63a1.81 1.81 0 0 0 2 1.9h1.2a1.74 1.74 0 0 0 1.9-1.9v-26.9h11.6l10.4 27.2a2.32 2.32 0 0 0 2.3 1.5h1.5c1.4 0 2-1 1.5-2.3zm-6.4-3.9H355v-28.5h10.2c7.5 0 10.5 3.1 10.5 11.1v6.4c0 7.84-3 11.04-10.5 11.04zm85.9-33.1h-13.7a1.62 1.62 0 0 0-2 1.8v63a1.81 1.81 0 0 0 2 1.9h1.2a1.74 1.74 0 0 0 1.9-1.9v-26.1h10.6c10.1 0 15.3-4.8 15.3-14.1v-10.5c0-9.4-5.2-14.1-15.3-14.1zm10.2 22.8c0 7.9-3 11.1-10.5 11.1h-10.2v-29.2h10.2c7.5-.1 10.5 3.1 10.5 11zM259.5 308l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm227.6-136.1a364.42 364.42 0 0 0-35.6-11.3c19.6-78 11.6-134.7-22.3-153.9C394.7-12.66 343.3 11 291 61.94q5.1 4.95 10.2 10.2c82.5-80 119.6-53.5 120.9-52.8 22.4 12.7 36 55.8 15.5 137.8a587.83 587.83 0 0 0-84.6-13C281.1 43.64 212.4 2 170.8 2 140 2 127 23 123.2 29.74c-18.1 32-13.3 84.2.1 133.8-70.5 20.3-120.7 54.1-120.3 95 .5 59.6 103.2 87.8 122.1 92.8-20.5 81.9-10.1 135.6 22.3 153.9 28 15.8 75.1 6 138.2-55.2q-5.1-4.95-10.2-10.2c-82.5 80-119.7 53.5-120.9 52.8-22.3-12.6-36-55.6-15.5-137.9 12.4 2.9 41.8 9.5 84.6 13 71.9 100.4 140.6 142 182.1 142 30.8 0 43.8-21 47.6-27.7 18-31.9 13.3-84.1-.1-133.8 152.3-43.8 156.2-130.2 33.9-176.3zM135.9 36.84c2.9-5.1 11.9-20.3 34.9-20.3 36.8 0 98.8 39.6 163.3 126.2a714 714 0 0 0-93.9.9 547.76 547.76 0 0 1 42.2-52.4Q277.3 86 272.2 81a598.25 598.25 0 0 0-50.7 64.2 569.69 569.69 0 0 0-84.4 14.6c-.2-1.4-24.3-82.2-1.2-123zm304.8 438.3c-2.9 5.1-11.8 20.3-34.9 20.3-36.7 0-98.7-39.4-163.3-126.2a695.38 695.38 0 0 0 93.9-.9 547.76 547.76 0 0 1-42.2 52.4q5.1 5.25 10.2 10.2a588.47 588.47 0 0 0 50.7-64.2c47.3-4.7 80.3-13.5 84.4-14.6 22.7 84.4 4.5 117 1.2 123zm9.1-138.6c-3.6-11.9-7.7-24.1-12.4-36.4a12.67 12.67 0 0 1-10.7-5.7l-.1.1a19.61 19.61 0 0 1-5.4 3.6c5.7 14.3 10.6 28.4 14.7 42.2a535.3 535.3 0 0 1-72 13c3.5-5.3 17.2-26.2 32.2-54.2a24.6 24.6 0 0 1-6-3.2c-1.1 1.2-3.6 4.2-10.9 4.2-6.2 11.2-17.4 30.9-33.9 55.2a711.91 711.91 0 0 1-112.4 1c-7.9-11.2-21.5-31.1-36.8-57.8a21 21 0 0 1-3-1.5c-1.9 1.6-3.9 3.2-12.6 3.2 6.3 11.2 17.5 30.7 33.8 54.6a548.81 548.81 0 0 1-72.2-11.7q5.85-21 14.1-42.9c-3.2 0-5.4.2-8.4-1a17.58 17.58 0 0 1-6.9 1c-4.9 13.4-9.1 26.5-12.7 39.4C-31.7 297-12.1 216 126.7 175.64c3.6 11.9 7.7 24.1 12.4 36.4 10.4 0 12.9 3.4 14.4 5.3a12 12 0 0 1 2.3-2.2c-5.8-14.7-10.9-29.2-15.2-43.3 7-1.8 32.4-8.4 72-13-15.9 24.3-26.7 43.9-32.8 55.3a14.22 14.22 0 0 1 6.4 8 23.42 23.42 0 0 1 10.2-8.4c6.5-11.7 17.9-31.9 34.8-56.9a711.72 711.72 0 0 1 112.4-1c31.5 44.6 28.9 48.1 42.5 64.5a21.42 21.42 0 0 1 10.4-7.4c-6.4-11.4-17.6-31-34.3-55.5 40.4 4.1 65 10 72.2 11.7-4 14.4-8.9 29.2-14.6 44.2a20.74 20.74 0 0 1 6.8 4.3l.1.1a12.72 12.72 0 0 1 8.9-5.6c4.9-13.4 9.2-26.6 12.8-39.5a359.71 359.71 0 0 1 34.5 11c106.1 39.9 74 87.9 72.6 90.4-19.8 35.1-80.1 55.2-105.7 62.5zm-114.4-114h-1.2a1.74 1.74 0 0 0-1.9 1.9v49.8c0 7.9-2.6 11.1-10.1 11.1s-10.1-3.1-10.1-11.1v-49.8a1.69 1.69 0 0 0-1.9-1.9H309a1.81 1.81 0 0 0-2 1.9v51.5c0 9.6 5 14.1 15.1 14.1h.4c10.1 0 15.1-4.6 15.1-14.1v-51.5a2 2 0 0 0-2.2-1.9zM321.7 308l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm-31.1 7.4l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm5.1-30.8h-19.4v-26.7h16.1a1.89 1.89 0 0 0 2-2v-.8a1.89 1.89 0 0 0-2-2h-16.1v-25.8h19.1a1.89 1.89 0 0 0 2-2v-.8a1.77 1.77 0 0 0-2-1.9h-22.2a1.81 1.81 0 0 0-2 1.9v63a1.81 1.81 0 0 0 2 1.9h22.5a1.77 1.77 0 0 0 2-1.9v-.8a1.83 1.83 0 0 0-2-2.06zm-7.4-99.4L286 192l-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.1-.1z"],readme:[576,512,[],"f4d5","M528.3 46.5H388.5c-48.1 0-89.9 33.3-100.4 80.3-10.6-47-52.3-80.3-100.4-80.3H48c-26.5 0-48 21.5-48 48v245.8c0 26.5 21.5 48 48 48h89.7c102.2 0 132.7 24.4 147.3 75 .7 2.8 5.2 2.8 6 0 14.7-50.6 45.2-75 147.3-75H528c26.5 0 48-21.5 48-48V94.6c0-26.4-21.3-47.9-47.7-48.1zM242 311.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5V289c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5V251zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm259.3 121.7c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5V228c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5v-22.8c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5V190z"],rebel:[512,512,[],"f1d0","M256.5 504C117.2 504 9 387.8 13.2 249.9 16 170.7 56.4 97.7 129.7 49.5c.3 0 1.9-.6 1.1.8-5.8 5.5-111.3 129.8-14.1 226.4 49.8 49.5 90 2.5 90 2.5 38.5-50.1-.6-125.9-.6-125.9-10-24.9-45.7-40.1-45.7-40.1l28.8-31.8c24.4 10.5 43.2 38.7 43.2 38.7.8-29.6-21.9-61.4-21.9-61.4L255.1 8l44.3 50.1c-20.5 28.8-21.9 62.6-21.9 62.6 13.8-23 43.5-39.3 43.5-39.3l28.5 31.8c-27.4 8.9-45.4 39.9-45.4 39.9-15.8 28.5-27.1 89.4.6 127.3 32.4 44.6 87.7-2.8 87.7-2.8 102.7-91.9-10.5-225-10.5-225-6.1-5.5.8-2.8.8-2.8 50.1 36.5 114.6 84.4 116.2 204.8C500.9 400.2 399 504 256.5 504z"],"red-river":[448,512,[],"f3e3","M353.2 32H94.8C42.4 32 0 74.4 0 126.8v258.4C0 437.6 42.4 480 94.8 480h258.4c52.4 0 94.8-42.4 94.8-94.8V126.8c0-52.4-42.4-94.8-94.8-94.8zM144.9 200.9v56.3c0 27-21.9 48.9-48.9 48.9V151.9c0-13.2 10.7-23.9 23.9-23.9h154.2c0 27-21.9 48.9-48.9 48.9h-56.3c-12.3-.6-24.6 11.6-24 24zm176.3 72h-56.3c-12.3-.6-24.6 11.6-24 24v56.3c0 27-21.9 48.9-48.9 48.9V247.9c0-13.2 10.7-23.9 23.9-23.9h154.2c0 27-21.9 48.9-48.9 48.9z"],reddit:[512,512,[],"f1a1","M201.5 305.5c-13.8 0-24.9-11.1-24.9-24.6 0-13.8 11.1-24.9 24.9-24.9 13.6 0 24.6 11.1 24.6 24.9 0 13.6-11.1 24.6-24.6 24.6zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-132.3-41.2c-9.4 0-17.7 3.9-23.8 10-22.4-15.5-52.6-25.5-86.1-26.6l17.4-78.3 55.4 12.5c0 13.6 11.1 24.6 24.6 24.6 13.8 0 24.9-11.3 24.9-24.9s-11.1-24.9-24.9-24.9c-9.7 0-18 5.8-22.1 13.8l-61.2-13.6c-3-.8-6.1 1.4-6.9 4.4l-19.1 86.4c-33.2 1.4-63.1 11.3-85.5 26.8-6.1-6.4-14.7-10.2-24.1-10.2-34.9 0-46.3 46.9-14.4 62.8-1.1 5-1.7 10.2-1.7 15.5 0 52.6 59.2 95.2 132 95.2 73.1 0 132.3-42.6 132.3-95.2 0-5.3-.6-10.8-1.9-15.8 31.3-16 19.8-62.5-14.9-62.5zM302.8 331c-18.2 18.2-76.1 17.9-93.6 0-2.2-2.2-6.1-2.2-8.3 0-2.5 2.5-2.5 6.4 0 8.6 22.8 22.8 87.3 22.8 110.2 0 2.5-2.2 2.5-6.1 0-8.6-2.2-2.2-6.1-2.2-8.3 0zm7.7-75c-13.6 0-24.6 11.1-24.6 24.9 0 13.6 11.1 24.6 24.6 24.6 13.8 0 24.9-11.1 24.9-24.6 0-13.8-11-24.9-24.9-24.9z"],"reddit-alien":[512,512,[],"f281","M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z"],"reddit-square":[448,512,[],"f1a2","M283.2 345.5c2.7 2.7 2.7 6.8 0 9.2-24.5 24.5-93.8 24.6-118.4 0-2.7-2.4-2.7-6.5 0-9.2 2.4-2.4 6.5-2.4 8.9 0 18.7 19.2 81 19.6 100.5 0 2.4-2.3 6.6-2.3 9 0zm-91.3-53.8c0-14.9-11.9-26.8-26.5-26.8-14.9 0-26.8 11.9-26.8 26.8 0 14.6 11.9 26.5 26.8 26.5 14.6 0 26.5-11.9 26.5-26.5zm90.7-26.8c-14.6 0-26.5 11.9-26.5 26.8 0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-11.9 26.8-26.5 0-14.9-11.9-26.8-26.8-26.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-99.7 140.6c-10.1 0-19 4.2-25.6 10.7-24.1-16.7-56.5-27.4-92.5-28.6l18.7-84.2 59.5 13.4c0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-12.2 26.8-26.8 0-14.6-11.9-26.8-26.8-26.8-10.4 0-19.3 6.2-23.8 14.9l-65.7-14.6c-3.3-.9-6.5 1.5-7.4 4.8l-20.5 92.8c-35.7 1.5-67.8 12.2-91.9 28.9-6.5-6.8-15.8-11-25.9-11-37.5 0-49.8 50.4-15.5 67.5-1.2 5.4-1.8 11-1.8 16.7 0 56.5 63.7 102.3 141.9 102.3 78.5 0 142.2-45.8 142.2-102.3 0-5.7-.6-11.6-2.1-17 33.6-17.2 21.2-67.2-16.1-67.2z"],redhat:[512,512,[],"f7bc","M341.52 285.56c33.65 0 82.34-6.94 82.34-47 .22-6.74.86-1.82-20.88-96.24-4.62-19.15-8.68-27.84-42.31-44.65-26.09-13.34-82.92-35.37-99.73-35.37-15.66 0-20.2 20.17-38.87 20.17-18 0-31.31-15.06-48.12-15.06-16.14 0-26.66 11-34.78 33.62-27.5 77.55-26.28 74.27-26.12 78.27 0 24.8 97.64 106.11 228.47 106.11M429 254.84c4.65 22 4.65 24.35 4.65 27.25 0 37.66-42.33 58.56-98 58.56-125.74.08-235.91-73.65-235.91-122.33a49.55 49.55 0 0 1 4.06-19.72C58.56 200.86 0 208.93 0 260.63c0 84.67 200.63 189 359.49 189 121.79 0 152.51-55.08 152.51-98.58 0-34.21-29.59-73.05-82.93-96.24"],renren:[512,512,[],"f18b","M214 169.1c0 110.4-61 205.4-147.6 247.4C30 373.2 8 317.7 8 256.6 8 133.9 97.1 32.2 214 12.5v156.6zM255 504c-42.9 0-83.3-11-118.5-30.4C193.7 437.5 239.9 382.9 255 319c15.5 63.9 61.7 118.5 118.8 154.7C338.7 493 298.3 504 255 504zm190.6-87.5C359 374.5 298 279.6 298 169.1V12.5c116.9 19.7 206 121.4 206 244.1 0 61.1-22 116.6-58.4 159.9z"],replyd:[448,512,[],"f3e6","M320 480H128C57.6 480 0 422.4 0 352V160C0 89.6 57.6 32 128 32h192c70.4 0 128 57.6 128 128v192c0 70.4-57.6 128-128 128zM193.4 273.2c-6.1-2-11.6-3.1-16.4-3.1-7.2 0-13.5 1.9-18.9 5.6-5.4 3.7-9.6 9-12.8 15.8h-1.1l-4.2-18.3h-28v138.9h36.1v-89.7c1.5-5.4 4.4-9.8 8.7-13.2 4.3-3.4 9.8-5.1 16.2-5.1 4.6 0 9.8 1 15.6 3.1l4.8-34zm115.2 103.4c-3.2 2.4-7.7 4.8-13.7 7.1-6 2.3-12.8 3.5-20.4 3.5-12.2 0-21.1-3-26.5-8.9-5.5-5.9-8.5-14.7-9-26.4h83.3c.9-4.8 1.6-9.4 2.1-13.9.5-4.4.7-8.6.7-12.5 0-10.7-1.6-19.7-4.7-26.9-3.2-7.2-7.3-13-12.5-17.2-5.2-4.3-11.1-7.3-17.8-9.2-6.7-1.8-13.5-2.8-20.6-2.8-21.1 0-37.5 6.1-49.2 18.3s-17.5 30.5-17.5 55c0 22.8 5.2 40.7 15.6 53.7 10.4 13.1 26.8 19.6 49.2 19.6 10.7 0 20.9-1.5 30.4-4.6 9.5-3.1 17.1-6.8 22.6-11.2l-12-23.6zm-21.8-70.3c3.8 5.4 5.3 13.1 4.6 23.1h-51.7c.9-9.4 3.7-17 8.2-22.6 4.5-5.6 11.5-8.5 21-8.5 8.2-.1 14.1 2.6 17.9 8zm79.9 2.5c4.1 3.9 9.4 5.8 16.1 5.8 7 0 12.6-1.9 16.7-5.8s6.1-9.1 6.1-15.6-2-11.6-6.1-15.4c-4.1-3.8-9.6-5.7-16.7-5.7-6.7 0-12 1.9-16.1 5.7-4.1 3.8-6.1 8.9-6.1 15.4s2 11.7 6.1 15.6zm0 100.5c4.1 3.9 9.4 5.8 16.1 5.8 7 0 12.6-1.9 16.7-5.8s6.1-9.1 6.1-15.6-2-11.6-6.1-15.4c-4.1-3.8-9.6-5.7-16.7-5.7-6.7 0-12 1.9-16.1 5.7-4.1 3.8-6.1 8.9-6.1 15.4 0 6.6 2 11.7 6.1 15.6z"],researchgate:[448,512,[],"f4f8","M0 32v448h448V32H0zm262.2 334.4c-6.6 3-33.2 6-50-14.2-9.2-10.6-25.3-33.3-42.2-63.6-8.9 0-14.7 0-21.4-.6v46.4c0 23.5 6 21.2 25.8 23.9v8.1c-6.9-.3-23.1-.8-35.6-.8-13.1 0-26.1.6-33.6.8v-8.1c15.5-2.9 22-1.3 22-23.9V225c0-22.6-6.4-21-22-23.9V193c25.8 1 53.1-.6 70.9-.6 31.7 0 55.9 14.4 55.9 45.6 0 21.1-16.7 42.2-39.2 47.5 13.6 24.2 30 45.6 42.2 58.9 7.2 7.8 17.2 14.7 27.2 14.7v7.3zm22.9-135c-23.3 0-32.2-15.7-32.2-32.2V167c0-12.2 8.8-30.4 34-30.4s30.4 17.9 30.4 17.9l-10.7 7.2s-5.5-12.5-19.7-12.5c-7.9 0-19.7 7.3-19.7 19.7v26.8c0 13.4 6.6 23.3 17.9 23.3 14.1 0 21.5-10.9 21.5-26.8h-17.9v-10.7h30.4c0 20.5 4.7 49.9-34 49.9zm-116.5 44.7c-9.4 0-13.6-.3-20-.8v-69.7c6.4-.6 15-.6 22.5-.6 23.3 0 37.2 12.2 37.2 34.5 0 21.9-15 36.6-39.7 36.6z"],resolving:[496,512,[],"f3e7","M281.2 278.2c46-13.3 49.6-23.5 44-43.4L314 195.5c-6.1-20.9-18.4-28.1-71.1-12.8L54.7 236.8l28.6 98.6 197.9-57.2zM248.5 8C131.4 8 33.2 88.7 7.2 197.5l221.9-63.9c34.8-10.2 54.2-11.7 79.3-8.2 36.3 6.1 52.7 25 61.4 55.2l10.7 37.8c8.2 28.1 1 50.6-23.5 73.6-19.4 17.4-31.2 24.5-61.4 33.2L203 351.8l220.4 27.1 9.7 34.2-48.1 13.3-286.8-37.3 23 80.2c36.8 22 80.3 34.7 126.3 34.7 137 0 248.5-111.4 248.5-248.3C497 119.4 385.5 8 248.5 8zM38.3 388.6L0 256.8c0 48.5 14.3 93.4 38.3 131.8z"],rev:[448,512,[],"f5b2","M289.67 274.89a65.57 65.57 0 1 1-65.56-65.56 65.64 65.64 0 0 1 65.56 65.56zm139.55-5.05h-.13a204.69 204.69 0 0 0-74.32-153l-45.38 26.2a157.07 157.07 0 0 1 71.81 131.84C381.2 361.5 310.73 432 224.11 432S67 361.5 67 274.88c0-81.88 63-149.27 143-156.43v39.12l108.77-62.79L210 32v38.32c-106.7 7.25-191 96-191 204.57 0 111.59 89.12 202.29 200.06 205v.11h210.16V269.84z"],rocketchat:[576,512,[],"f3e8","M486.41 107.57c-76.93-50.83-179.18-62.4-264.12-47.07C127.26-31.16 20.77 11 0 23.12c0 0 73.08 62.1 61.21 116.49-86.52 88.2-45.39 186.4 0 232.77C73.08 426.77 0 488.87 0 488.87c20.57 12.16 126.77 54.19 222.29-37 84.75 15.23 187 3.76 264.12-47.16 119.26-76.14 119.65-220.61 0-297.15zM294.18 404.22a339.53 339.53 0 0 1-88.11-11.37l-19.77 19.09a179.74 179.74 0 0 1-36.59 27.39A143.14 143.14 0 0 1 98 454.06c1-1.78 1.88-3.56 2.77-5.24q29.67-55 16-98.69c-32.53-25.61-52-58.34-52-94.13 0-82 102.74-148.43 229.41-148.43S523.59 174 523.59 256 420.85 404.22 294.18 404.22zM184.12 291.3a34.32 34.32 0 0 1-34.8-33.72c-.7-45.39 67.83-46.38 68.52-1.09v.51a34 34 0 0 1-33.72 34.32zm73.77-33.72c-.79-45.39 67.74-46.48 68.53-1.19v.61c.39 45.08-67.74 45.57-68.53.58zm143.38 33.72a34.33 34.33 0 0 1-34.81-33.72c-.69-45.39 67.84-46.38 68.53-1.09v.51a33.89 33.89 0 0 1-33.72 34.32z"],rockrms:[496,512,[],"f3e9","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm157.4 419.5h-90l-112-131.3c-17.9-20.4-3.9-56.1 26.6-56.1h75.3l-84.6-99.3-84.3 98.9h-90L193.5 67.2c14.4-18.4 41.3-17.3 54.5 0l157.7 185.1c19 22.8 2 57.2-27.6 56.1-.6 0-74.2.2-74.2.2l101.5 118.9z"],rust:[512,512,[],"e07a","M508.52,249.75,486.7,236.24c-.17-2-.34-3.93-.55-5.88l18.72-17.5a7.35,7.35,0,0,0-2.44-12.25l-24-9c-.54-1.88-1.08-3.78-1.67-5.64l15-20.83a7.35,7.35,0,0,0-4.79-11.54l-25.42-4.15c-.9-1.73-1.79-3.45-2.73-5.15l10.68-23.42a7.35,7.35,0,0,0-6.95-10.39l-25.82.91q-1.79-2.22-3.61-4.4L439,81.84A7.36,7.36,0,0,0,430.16,73L405,78.93q-2.17-1.83-4.4-3.61l.91-25.82a7.35,7.35,0,0,0-10.39-7L367.7,53.23c-1.7-.94-3.43-1.84-5.15-2.73L358.4,25.08a7.35,7.35,0,0,0-11.54-4.79L326,35.26c-1.86-.59-3.75-1.13-5.64-1.67l-9-24a7.35,7.35,0,0,0-12.25-2.44l-17.5,18.72c-1.95-.21-3.91-.38-5.88-.55L262.25,3.48a7.35,7.35,0,0,0-12.5,0L236.24,25.3c-2,.17-3.93.34-5.88.55L212.86,7.13a7.35,7.35,0,0,0-12.25,2.44l-9,24c-1.89.55-3.79,1.08-5.66,1.68l-20.82-15a7.35,7.35,0,0,0-11.54,4.79l-4.15,25.41c-1.73.9-3.45,1.79-5.16,2.73L120.88,42.55a7.35,7.35,0,0,0-10.39,7l.92,25.81c-1.49,1.19-3,2.39-4.42,3.61L81.84,73A7.36,7.36,0,0,0,73,81.84L78.93,107c-1.23,1.45-2.43,2.93-3.62,4.41l-25.81-.91a7.42,7.42,0,0,0-6.37,3.26,7.35,7.35,0,0,0-.57,7.13l10.66,23.41c-.94,1.7-1.83,3.43-2.73,5.16L25.08,153.6a7.35,7.35,0,0,0-4.79,11.54l15,20.82c-.59,1.87-1.13,3.77-1.68,5.66l-24,9a7.35,7.35,0,0,0-2.44,12.25l18.72,17.5c-.21,1.95-.38,3.91-.55,5.88L3.48,249.75a7.35,7.35,0,0,0,0,12.5L25.3,275.76c.17,2,.34,3.92.55,5.87L7.13,299.13a7.35,7.35,0,0,0,2.44,12.25l24,9c.55,1.89,1.08,3.78,1.68,5.65l-15,20.83a7.35,7.35,0,0,0,4.79,11.54l25.42,4.15c.9,1.72,1.79,3.45,2.73,5.14L42.56,391.12a7.35,7.35,0,0,0,.57,7.13,7.13,7.13,0,0,0,6.37,3.26l25.83-.91q1.77,2.22,3.6,4.4L73,430.16A7.36,7.36,0,0,0,81.84,439L107,433.07q2.18,1.83,4.41,3.61l-.92,25.82a7.35,7.35,0,0,0,10.39,6.95l23.43-10.68c1.69.94,3.42,1.83,5.14,2.73l4.15,25.42a7.34,7.34,0,0,0,11.54,4.78l20.83-15c1.86.6,3.76,1.13,5.65,1.68l9,24a7.36,7.36,0,0,0,12.25,2.44l17.5-18.72c1.95.21,3.92.38,5.88.55l13.51,21.82a7.35,7.35,0,0,0,12.5,0l13.51-21.82c2-.17,3.93-.34,5.88-.56l17.5,18.73a7.36,7.36,0,0,0,12.25-2.44l9-24c1.89-.55,3.78-1.08,5.65-1.68l20.82,15a7.34,7.34,0,0,0,11.54-4.78l4.15-25.42c1.72-.9,3.45-1.79,5.15-2.73l23.42,10.68a7.35,7.35,0,0,0,10.39-6.95l-.91-25.82q2.22-1.79,4.4-3.61L430.16,439a7.36,7.36,0,0,0,8.84-8.84L433.07,405q1.83-2.17,3.61-4.4l25.82.91a7.23,7.23,0,0,0,6.37-3.26,7.35,7.35,0,0,0,.58-7.13L458.77,367.7c.94-1.7,1.83-3.43,2.73-5.15l25.42-4.15a7.35,7.35,0,0,0,4.79-11.54l-15-20.83c.59-1.87,1.13-3.76,1.67-5.65l24-9a7.35,7.35,0,0,0,2.44-12.25l-18.72-17.5c.21-1.95.38-3.91.55-5.87l21.82-13.51a7.35,7.35,0,0,0,0-12.5Zm-151,129.08A13.91,13.91,0,0,0,341,389.51l-7.64,35.67A187.51,187.51,0,0,1,177,424.44l-7.64-35.66a13.87,13.87,0,0,0-16.46-10.68l-31.51,6.76a187.38,187.38,0,0,1-16.26-19.21H258.3c1.72,0,2.89-.29,2.89-1.91V309.55c0-1.57-1.17-1.91-2.89-1.91H213.47l.05-34.35H262c4.41,0,23.66,1.28,29.79,25.87,1.91,7.55,6.17,32.14,9.06,40,2.89,8.82,14.6,26.46,27.1,26.46H407a187.3,187.3,0,0,1-17.34,20.09Zm25.77,34.49A15.24,15.24,0,1,1,368,398.08h.44A15.23,15.23,0,0,1,383.24,413.32Zm-225.62-.68a15.24,15.24,0,1,1-15.25-15.25h.45A15.25,15.25,0,0,1,157.62,412.64ZM69.57,234.15l32.83-14.6a13.88,13.88,0,0,0,7.06-18.33L102.69,186h26.56V305.73H75.65A187.65,187.65,0,0,1,69.57,234.15ZM58.31,198.09a15.24,15.24,0,0,1,15.23-15.25H74a15.24,15.24,0,1,1-15.67,15.24Zm155.16,24.49.05-35.32h63.26c3.28,0,23.07,3.77,23.07,18.62,0,12.29-15.19,16.7-27.68,16.7ZM399,306.71c-9.8,1.13-20.63-4.12-22-10.09-5.78-32.49-15.39-39.4-30.57-51.4,18.86-11.95,38.46-29.64,38.46-53.26,0-25.52-17.49-41.59-29.4-49.48-16.76-11-35.28-13.23-40.27-13.23H116.32A187.49,187.49,0,0,1,221.21,70.06l23.47,24.6a13.82,13.82,0,0,0,19.6.44l26.26-25a187.51,187.51,0,0,1,128.37,91.43l-18,40.57A14,14,0,0,0,408,220.43l34.59,15.33a187.12,187.12,0,0,1,.4,32.54H423.71c-1.91,0-2.69,1.27-2.69,3.13v8.82C421,301,409.31,305.58,399,306.71ZM240,60.21A15.24,15.24,0,0,1,255.21,45h.45A15.24,15.24,0,1,1,240,60.21ZM436.84,214a15.24,15.24,0,1,1,0-30.48h.44a15.24,15.24,0,0,1-.44,30.48Z"],safari:[512,512,[],"f267","M274.69,274.69l-37.38-37.38L166,346ZM256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8ZM411.85,182.79l14.78-6.13A8,8,0,0,1,437.08,181h0a8,8,0,0,1-4.33,10.46L418,197.57a8,8,0,0,1-10.45-4.33h0A8,8,0,0,1,411.85,182.79ZM314.43,94l6.12-14.78A8,8,0,0,1,331,74.92h0a8,8,0,0,1,4.33,10.45l-6.13,14.78a8,8,0,0,1-10.45,4.33h0A8,8,0,0,1,314.43,94ZM256,60h0a8,8,0,0,1,8,8V84a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V68A8,8,0,0,1,256,60ZM181,74.92a8,8,0,0,1,10.46,4.33L197.57,94a8,8,0,1,1-14.78,6.12l-6.13-14.78A8,8,0,0,1,181,74.92Zm-63.58,42.49h0a8,8,0,0,1,11.31,0L140,128.72A8,8,0,0,1,140,140h0a8,8,0,0,1-11.31,0l-11.31-11.31A8,8,0,0,1,117.41,117.41ZM60,256h0a8,8,0,0,1,8-8H84a8,8,0,0,1,8,8h0a8,8,0,0,1-8,8H68A8,8,0,0,1,60,256Zm40.15,73.21-14.78,6.13A8,8,0,0,1,74.92,331h0a8,8,0,0,1,4.33-10.46L94,314.43a8,8,0,0,1,10.45,4.33h0A8,8,0,0,1,100.15,329.21Zm4.33-136h0A8,8,0,0,1,94,197.57l-14.78-6.12A8,8,0,0,1,74.92,181h0a8,8,0,0,1,10.45-4.33l14.78,6.13A8,8,0,0,1,104.48,193.24ZM197.57,418l-6.12,14.78a8,8,0,0,1-14.79-6.12l6.13-14.78A8,8,0,1,1,197.57,418ZM264,444a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V428a8,8,0,0,1,8-8h0a8,8,0,0,1,8,8Zm67-6.92h0a8,8,0,0,1-10.46-4.33L314.43,418a8,8,0,0,1,4.33-10.45h0a8,8,0,0,1,10.45,4.33l6.13,14.78A8,8,0,0,1,331,437.08Zm63.58-42.49h0a8,8,0,0,1-11.31,0L372,383.28A8,8,0,0,1,372,372h0a8,8,0,0,1,11.31,0l11.31,11.31A8,8,0,0,1,394.59,394.59ZM286.25,286.25,110.34,401.66,225.75,225.75,401.66,110.34ZM437.08,331h0a8,8,0,0,1-10.45,4.33l-14.78-6.13a8,8,0,0,1-4.33-10.45h0A8,8,0,0,1,418,314.43l14.78,6.12A8,8,0,0,1,437.08,331ZM444,264H428a8,8,0,0,1-8-8h0a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8h0A8,8,0,0,1,444,264Z"],salesforce:[640,512,[],"f83b","M248.89 245.64h-26.35c.69-5.16 3.32-14.12 13.64-14.12 6.75 0 11.97 3.82 12.71 14.12zm136.66-13.88c-.47 0-14.11-1.77-14.11 20s13.63 20 14.11 20c13 0 14.11-13.54 14.11-20 0-21.76-13.66-20-14.11-20zm-243.22 23.76a8.63 8.63 0 0 0-3.29 7.29c0 4.78 2.08 6.05 3.29 7.05 4.7 3.7 15.07 2.12 20.93.95v-16.94c-5.32-1.07-16.73-1.96-20.93 1.65zM640 232c0 87.58-80 154.39-165.36 136.43-18.37 33-70.73 70.75-132.2 41.63-41.16 96.05-177.89 92.18-213.81-5.17C8.91 428.78-50.19 266.52 53.36 205.61 18.61 126.18 76 32 167.67 32a124.24 124.24 0 0 1 98.56 48.7c20.7-21.4 49.4-34.81 81.15-34.81 42.34 0 79 23.52 98.8 58.57C539 63.78 640 132.69 640 232zm-519.55 31.8c0-11.76-11.69-15.17-17.87-17.17-5.27-2.11-13.41-3.51-13.41-8.94 0-9.46 17-6.66 25.17-2.12 0 0 1.17.71 1.64-.47.24-.7 2.36-6.58 2.59-7.29a1.13 1.13 0 0 0-.7-1.41c-12.33-7.63-40.7-8.51-40.7 12.7 0 12.46 11.49 15.44 17.88 17.17 4.72 1.58 13.17 3 13.17 8.7 0 4-3.53 7.06-9.17 7.06a31.76 31.76 0 0 1-19-6.35c-.47-.23-1.42-.71-1.65.71l-2.4 7.47c-.47.94.23 1.18.23 1.41 1.75 1.4 10.3 6.59 22.82 6.59 13.17 0 21.4-7.06 21.4-18.11zm32-42.58c-10.13 0-18.66 3.17-21.4 5.18a1 1 0 0 0-.24 1.41l2.59 7.06a1 1 0 0 0 1.18.7c.65 0 6.8-4 16.93-4 4 0 7.06.71 9.18 2.36 3.6 2.8 3.06 8.29 3.06 10.58-4.79-.3-19.11-3.44-29.41 3.76a16.92 16.92 0 0 0-7.34 14.54c0 5.9 1.51 10.4 6.59 14.35 12.24 8.16 36.28 2 38.1 1.41 1.58-.32 3.53-.66 3.53-1.88v-33.88c.04-4.61.32-21.64-22.78-21.64zM199 200.24a1.11 1.11 0 0 0-1.18-1.18H188a1.11 1.11 0 0 0-1.17 1.18v79a1.11 1.11 0 0 0 1.17 1.18h9.88a1.11 1.11 0 0 0 1.18-1.18zm55.75 28.93c-2.1-2.31-6.79-7.53-17.65-7.53-3.51 0-14.16.23-20.7 8.94-6.35 7.63-6.58 18.11-6.58 21.41 0 3.12.15 14.26 7.06 21.17 2.64 2.91 9.06 8.23 22.81 8.23 10.82 0 16.47-2.35 18.58-3.76.47-.24.71-.71.24-1.88l-2.35-6.83a1.26 1.26 0 0 0-1.41-.7c-2.59.94-6.35 2.82-15.29 2.82-17.42 0-16.85-14.74-16.94-16.7h37.17a1.23 1.23 0 0 0 1.17-.94c-.29 0 2.07-14.7-6.09-24.23zm36.69 52.69c13.17 0 21.41-7.06 21.41-18.11 0-11.76-11.7-15.17-17.88-17.17-4.14-1.66-13.41-3.38-13.41-8.94 0-3.76 3.29-6.35 8.47-6.35a38.11 38.11 0 0 1 16.7 4.23s1.18.71 1.65-.47c.23-.7 2.35-6.58 2.58-7.29a1.13 1.13 0 0 0-.7-1.41c-7.91-4.9-16.74-4.94-20.23-4.94-12 0-20.46 7.29-20.46 17.64 0 12.46 11.48 15.44 17.87 17.17 6.11 2 13.17 3.26 13.17 8.7 0 4-3.52 7.06-9.17 7.06a31.8 31.8 0 0 1-19-6.35 1 1 0 0 0-1.65.71l-2.35 7.52c-.47.94.23 1.18.23 1.41 1.72 1.4 10.33 6.59 22.79 6.59zM357.09 224c0-.71-.24-1.18-1.18-1.18h-11.76c0-.14.94-8.94 4.47-12.47 4.16-4.15 11.76-1.64 12-1.64 1.17.47 1.41 0 1.64-.47l2.83-7.77c.7-.94 0-1.17-.24-1.41-5.09-2-17.35-2.87-24.46 4.24-5.48 5.48-7 13.92-8 19.52h-8.47a1.28 1.28 0 0 0-1.17 1.18l-1.42 7.76c0 .7.24 1.17 1.18 1.17h8.23c-8.51 47.9-8.75 50.21-10.35 55.52-1.08 3.62-3.29 6.9-5.88 7.76-.09 0-3.88 1.68-9.64-.24 0 0-.94-.47-1.41.71-.24.71-2.59 6.82-2.83 7.53s0 1.41.47 1.41c5.11 2 13 1.77 17.88 0 6.28-2.28 9.72-7.89 11.53-12.94 2.75-7.71 2.81-9.79 11.76-59.74h12.23a1.29 1.29 0 0 0 1.18-1.18zm53.39 16c-.56-1.68-5.1-18.11-25.17-18.11-15.25 0-23 10-25.16 18.11-1 3-3.18 14 0 23.52.09.3 4.41 18.12 25.16 18.12 14.95 0 22.9-9.61 25.17-18.12 3.21-9.61 1.01-20.52 0-23.52zm45.4-16.7c-5-1.65-16.62-1.9-22.11 5.41v-4.47a1.11 1.11 0 0 0-1.18-1.17h-9.4a1.11 1.11 0 0 0-1.18 1.17v55.28a1.12 1.12 0 0 0 1.18 1.18h9.64a1.12 1.12 0 0 0 1.18-1.18v-27.77c0-2.91.05-11.37 4.46-15.05 4.9-4.9 12-3.36 13.41-3.06a1.57 1.57 0 0 0 1.41-.94 74 74 0 0 0 3.06-8 1.16 1.16 0 0 0-.47-1.41zm46.81 54.1l-2.12-7.29c-.47-1.18-1.41-.71-1.41-.71-4.23 1.82-10.15 1.89-11.29 1.89-4.64 0-17.17-1.13-17.17-19.76 0-6.23 1.85-19.76 16.47-19.76a34.85 34.85 0 0 1 11.52 1.65s.94.47 1.18-.71c.94-2.59 1.64-4.47 2.59-7.53.23-.94-.47-1.17-.71-1.17-11.59-3.87-22.34-2.53-27.76 0-1.59.74-16.23 6.49-16.23 27.52 0 2.9-.58 30.11 28.94 30.11a44.45 44.45 0 0 0 15.52-2.83 1.3 1.3 0 0 0 .47-1.42zm53.87-39.52c-.8-3-5.37-16.23-22.35-16.23-16 0-23.52 10.11-25.64 18.59a38.58 38.58 0 0 0-1.65 11.76c0 25.87 18.84 29.4 29.88 29.4 10.82 0 16.46-2.35 18.58-3.76.47-.24.71-.71.24-1.88l-2.36-6.83a1.26 1.26 0 0 0-1.41-.7c-2.59.94-6.35 2.82-15.29 2.82-17.42 0-16.85-14.74-16.93-16.7h37.16a1.25 1.25 0 0 0 1.18-.94c-.24-.01.94-7.07-1.41-15.54zm-23.29-6.35c-10.33 0-13 9-13.64 14.12H546c-.88-11.92-7.62-14.13-12.73-14.13z"],sass:[640,512,[],"f41e","M301.84 378.92c-.3.6-.6 1.08 0 0zm249.13-87a131.16 131.16 0 0 0-58 13.5c-5.9-11.9-12-22.3-13-30.1-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2-1.4-6.6-14.3-6.7-24 2.5-25.29 5.9a122.83 122.83 0 0 0-5.3 19.1c-2.3 11.7-25.79 53.5-39.09 75.3-4.4-8.5-8.1-16-8.9-22-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2-1.4-6.6-14.29-6.7-24 2.5-25.3 5.9-2.7 11.4-5.3 19.1-33.89 77.3-42.08 95.4c-4.2 9.2-7.8 16.6-10.4 21.6-.4.8-.7 1.3-.9 1.7.3-.5.5-1 .5-.8-2.2 4.3-3.5 6.7-3.5 6.7v.1c-1.7 3.2-3.6 6.1-4.5 6.1-.6 0-1.9-8.4.3-19.9 4.7-24.2 15.8-61.8 15.7-63.1-.1-.7 2.1-7.2-7.3-10.7-9.1-3.3-12.4 2.2-13.2 2.2s-1.4 2-1.4 2 10.1-42.4-19.39-42.4c-18.4 0-44 20.2-56.58 38.5-7.9 4.3-25 13.6-43 23.5-6.9 3.8-14 7.7-20.7 11.4-.5-.5-.9-1-1.4-1.5-35.79-38.2-101.87-65.2-99.07-116.5 1-18.7 7.5-67.8 127.07-127.4 98-48.8 176.35-35.4 189.84-5.6 19.4 42.5-41.89 121.6-143.66 133-38.79 4.3-59.18-10.7-64.28-16.3-5.3-5.9-6.1-6.2-8.1-5.1-3.3 1.8-1.2 7 0 10.1 3 7.9 15.5 21.9 36.79 28.9 18.7 6.1 64.18 9.5 119.17-11.8 61.78-23.8 109.87-90.1 95.77-145.6C386.52 18.32 293-.18 204.57 31.22c-52.69 18.7-109.67 48.1-150.66 86.4-48.69 45.6-56.48 85.3-53.28 101.9 11.39 58.9 92.57 97.3 125.06 125.7-1.6.9-3.1 1.7-4.5 2.5-16.29 8.1-78.18 40.5-93.67 74.7-17.5 38.8 2.9 66.6 16.29 70.4 41.79 11.6 84.58-9.3 107.57-43.6s20.2-79.1 9.6-99.5c-.1-.3-.3-.5-.4-.8 4.2-2.5 8.5-5 12.8-7.5 8.29-4.9 16.39-9.4 23.49-13.3-4 10.8-6.9 23.8-8.4 42.6-1.8 22 7.3 50.5 19.1 61.7 5.2 4.9 11.49 5 15.39 5 13.8 0 20-11.4 26.89-25 8.5-16.6 16-35.9 16-35.9s-9.4 52.2 16.3 52.2c9.39 0 18.79-12.1 23-18.3v.1s.2-.4.7-1.2c1-1.5 1.5-2.4 1.5-2.4v-.3c3.8-6.5 12.1-21.4 24.59-46 16.2-31.8 31.69-71.5 31.69-71.5a201.24 201.24 0 0 0 6.2 25.8c2.8 9.5 8.7 19.9 13.4 30-3.8 5.2-6.1 8.2-6.1 8.2a.31.31 0 0 0 .1.2c-3 4-6.4 8.3-9.9 12.5-12.79 15.2-28 32.6-30 37.6-2.4 5.9-1.8 10.3 2.8 13.7 3.4 2.6 9.4 3 15.69 2.5 11.5-.8 19.6-3.6 23.5-5.4a82.2 82.2 0 0 0 20.19-10.6c12.5-9.2 20.1-22.4 19.4-39.8-.4-9.6-3.5-19.2-7.3-28.2 1.1-1.6 2.3-3.3 3.4-5C434.8 301.72 450.1 270 450.1 270a201.24 201.24 0 0 0 6.2 25.8c2.4 8.1 7.09 17 11.39 25.7-18.59 15.1-30.09 32.6-34.09 44.1-7.4 21.3-1.6 30.9 9.3 33.1 4.9 1 11.9-1.3 17.1-3.5a79.46 79.46 0 0 0 21.59-11.1c12.5-9.2 24.59-22.1 23.79-39.6-.3-7.9-2.5-15.8-5.4-23.4 15.7-6.6 36.09-10.2 62.09-7.2 55.68 6.5 66.58 41.3 64.48 55.8s-13.8 22.6-17.7 25-5.1 3.3-4.8 5.1c.5 2.6 2.3 2.5 5.6 1.9 4.6-.8 29.19-11.8 30.29-38.7 1.6-34-31.09-71.4-89-71.1zm-429.18 144.7c-18.39 20.1-44.19 27.7-55.28 21.3C54.61 451 59.31 421.42 82 400c13.8-13 31.59-25 43.39-32.4 2.7-1.6 6.6-4 11.4-6.9.8-.5 1.2-.7 1.2-.7.9-.6 1.9-1.1 2.9-1.7 8.29 30.4.3 57.2-19.1 78.3zm134.36-91.4c-6.4 15.7-19.89 55.7-28.09 53.6-7-1.8-11.3-32.3-1.4-62.3 5-15.1 15.6-33.1 21.9-40.1 10.09-11.3 21.19-14.9 23.79-10.4 3.5 5.9-12.2 49.4-16.2 59.2zm111 53c-2.7 1.4-5.2 2.3-6.4 1.6-.9-.5 1.1-2.4 1.1-2.4s13.9-14.9 19.4-21.7c3.2-4 6.9-8.7 10.89-13.9 0 .5.1 1 .1 1.6-.13 17.9-17.32 30-25.12 34.8zm85.58-19.5c-2-1.4-1.7-6.1 5-20.7 2.6-5.7 8.59-15.3 19-24.5a36.18 36.18 0 0 1 1.9 10.8c-.1 22.5-16.2 30.9-25.89 34.4z"],schlix:[448,512,[],"f3ea","M350.5 157.7l-54.2-46.1 73.4-39 78.3 44.2-97.5 40.9zM192 122.1l45.7-28.2 34.7 34.6-55.4 29-25-35.4zm-65.1 6.6l31.9-22.1L176 135l-36.7 22.5-12.4-28.8zm-23.3 88.2l-8.8-34.8 29.6-18.3 13.1 35.3-33.9 17.8zm-21.2-83.7l23.9-18.1 8.9 24-26.7 18.3-6.1-24.2zM59 206.5l-3.6-28.4 22.3-15.5 6.1 28.7L59 206.5zm-30.6 16.6l20.8-12.8 3.3 33.4-22.9 12-1.2-32.6zM1.4 268l19.2-10.2.4 38.2-21 8.8L1.4 268zm59.1 59.3l-28.3 8.3-1.6-46.8 25.1-10.7 4.8 49.2zM99 263.2l-31.1 13-5.2-40.8L90.1 221l8.9 42.2zM123.2 377l-41.6 5.9-8.1-63.5 35.2-10.8 14.5 68.4zm28.5-139.9l21.2 57.1-46.2 13.6-13.7-54.1 38.7-16.6zm85.7 230.5l-70.9-3.3-24.3-95.8 55.2-8.6 40 107.7zm-84.9-279.7l42.2-22.4 28 45.9-50.8 21.3-19.4-44.8zm41 94.9l61.3-18.7 52.8 86.6-79.8 11.3-34.3-79.2zm51.4-85.6l67.3-28.8 65.5 65.4-88.6 26.2-44.2-62.8z"],scribd:[384,512,[],"f28a","M42.3 252.7c-16.1-19-24.7-45.9-24.8-79.9 0-100.4 75.2-153.1 167.2-153.1 98.6-1.6 156.8 49 184.3 70.6l-50.5 72.1-37.3-24.6 26.9-38.6c-36.5-24-79.4-36.5-123-35.8-50.7-.8-111.7 27.2-111.7 76.2 0 18.7 11.2 20.7 28.6 15.6 23.3-5.3 41.9.6 55.8 14 26.4 24.3 23.2 67.6-.7 91.9-29.2 29.5-85.2 27.3-114.8-8.4zm317.7 5.9c-15.5-18.8-38.9-29.4-63.2-28.6-38.1-2-71.1 28-70.5 67.2-.7 16.8 6 33 18.4 44.3 14.1 13.9 33 19.7 56.3 14.4 17.4-5.1 28.6-3.1 28.6 15.6 0 4.3-.5 8.5-1.4 12.7-16.7 40.9-59.5 64.4-121.4 64.4-51.9.2-102.4-16.4-144.1-47.3l33.7-39.4-35.6-27.4L0 406.3l15.4 13.8c52.5 46.8 120.4 72.5 190.7 72.2 51.4 0 94.4-10.5 133.6-44.1 57.1-51.4 54.2-149.2 20.3-189.6z"],searchengin:[460,512,[],"f3eb","M220.6 130.3l-67.2 28.2V43.2L98.7 233.5l54.7-24.2v130.3l67.2-209.3zm-83.2-96.7l-1.3 4.7-15.2 52.9C80.6 106.7 52 145.8 52 191.5c0 52.3 34.3 95.9 83.4 105.5v53.6C57.5 340.1 0 272.4 0 191.6c0-80.5 59.8-147.2 137.4-158zm311.4 447.2c-11.2 11.2-23.1 12.3-28.6 10.5-5.4-1.8-27.1-19.9-60.4-44.4-33.3-24.6-33.6-35.7-43-56.7-9.4-20.9-30.4-42.6-57.5-52.4l-9.7-14.7c-24.7 16.9-53 26.9-81.3 28.7l2.1-6.6 15.9-49.5c46.5-11.9 80.9-54 80.9-104.2 0-54.5-38.4-102.1-96-107.1V32.3C254.4 37.4 320 106.8 320 191.6c0 33.6-11.2 64.7-29 90.4l14.6 9.6c9.8 27.1 31.5 48 52.4 57.4s32.2 9.7 56.8 43c24.6 33.2 42.7 54.9 44.5 60.3s.7 17.3-10.5 28.5zm-9.9-17.9c0-4.4-3.6-8-8-8s-8 3.6-8 8 3.6 8 8 8 8-3.6 8-8z"],sellcast:[448,512,[],"f2da","M353.4 32H94.7C42.6 32 0 74.6 0 126.6v258.7C0 437.4 42.6 480 94.7 480h258.7c52.1 0 94.7-42.6 94.7-94.6V126.6c0-52-42.6-94.6-94.7-94.6zm-50 316.4c-27.9 48.2-89.9 64.9-138.2 37.2-22.9 39.8-54.9 8.6-42.3-13.2l15.7-27.2c5.9-10.3 19.2-13.9 29.5-7.9 18.6 10.8-.1-.1 18.5 10.7 27.6 15.9 63.4 6.3 79.4-21.3 15.9-27.6 6.3-63.4-21.3-79.4-17.8-10.2-.6-.4-18.6-10.6-24.6-14.2-3.4-51.9 21.6-37.5 18.6 10.8-.1-.1 18.5 10.7 48.4 28 65.1 90.3 37.2 138.5zm21.8-208.8c-17 29.5-16.3 28.8-19 31.5-6.5 6.5-16.3 8.7-26.5 3.6-18.6-10.8.1.1-18.5-10.7-27.6-15.9-63.4-6.3-79.4 21.3s-6.3 63.4 21.3 79.4c0 0 18.5 10.6 18.6 10.6 24.6 14.2 3.4 51.9-21.6 37.5-18.6-10.8.1.1-18.5-10.7-48.2-27.8-64.9-90.1-37.1-138.4 27.9-48.2 89.9-64.9 138.2-37.2l4.8-8.4c14.3-24.9 52-3.3 37.7 21.5z"],sellsy:[640,512,[],"f213","M539.71 237.308c3.064-12.257 4.29-24.821 4.29-37.384C544 107.382 468.618 32 376.076 32c-77.22 0-144.634 53.012-163.02 127.781-15.322-13.176-34.934-20.53-55.157-20.53-46.271 0-83.962 37.69-83.962 83.961 0 7.354.92 15.015 3.065 22.369-42.9 20.225-70.785 63.738-70.785 111.234C6.216 424.843 61.68 480 129.401 480h381.198c67.72 0 123.184-55.157 123.184-123.184.001-56.384-38.916-106.025-94.073-119.508zM199.88 401.554c0 8.274-7.048 15.321-15.321 15.321H153.61c-8.274 0-15.321-7.048-15.321-15.321V290.626c0-8.273 7.048-15.321 15.321-15.321h30.949c8.274 0 15.321 7.048 15.321 15.321v110.928zm89.477 0c0 8.274-7.048 15.321-15.322 15.321h-30.949c-8.274 0-15.321-7.048-15.321-15.321V270.096c0-8.274 7.048-15.321 15.321-15.321h30.949c8.274 0 15.322 7.048 15.322 15.321v131.458zm89.477 0c0 8.274-7.047 15.321-15.321 15.321h-30.949c-8.274 0-15.322-7.048-15.322-15.321V238.84c0-8.274 7.048-15.321 15.322-15.321h30.949c8.274 0 15.321 7.048 15.321 15.321v162.714zm87.027 0c0 8.274-7.048 15.321-15.322 15.321h-28.497c-8.274 0-15.321-7.048-15.321-15.321V176.941c0-8.579 7.047-15.628 15.321-15.628h28.497c8.274 0 15.322 7.048 15.322 15.628v224.613z"],servicestack:[496,512,[],"f3ec","M88 216c81.7 10.2 273.7 102.3 304 232H0c99.5-8.1 184.5-137 88-232zm32-152c32.3 35.6 47.7 83.9 46.4 133.6C249.3 231.3 373.7 321.3 400 448h96C455.3 231.9 222.8 79.5 120 64z"],shirtsinbulk:[448,512,[],"f214","M100 410.3l30.6 13.4 4.4-9.9-30.6-13.4zm39.4 17.5l30.6 13.4 4.4-9.9-30.6-13.4zm172.1-14l4.4 9.9 30.6-13.4-4.4-9.9zM179.1 445l30.3 13.7 4.4-9.9-30.3-13.4zM60.4 392.8L91 406.2l4.4-9.6-30.6-13.7zm211.4 38.5l4.4 9.9 30.6-13.4-4.4-9.9zm-39.3 17.5l4.4 9.9 30.6-13.7-4.4-9.6zm118.4-52.2l4.4 9.6 30.6-13.4-4.4-9.9zM170 46.6h-33.5v10.5H170zm-47.2 0H89.2v10.5h33.5zm-47.3 0H42.3v10.5h33.3zm141.5 0h-33.2v10.5H217zm94.5 0H278v10.5h33.5zm47.3 0h-33.5v10.5h33.5zm-94.6 0H231v10.5h33.2zm141.5 0h-33.3v10.5h33.3zM52.8 351.1H42v33.5h10.8zm70-215.9H89.2v10.5h33.5zm-70 10.6h22.8v-10.5H42v33.5h10.8zm168.9 228.6c50.5 0 91.3-40.8 91.3-91.3 0-50.2-40.8-91.3-91.3-91.3-50.2 0-91.3 41.1-91.3 91.3 0 50.5 41.1 91.3 91.3 91.3zm-48.2-111.1c0-25.4 29.5-31.8 49.6-31.8 16.9 0 29.2 5.8 44.3 12l-8.8 16.9h-.9c-6.4-9.9-24.8-13.1-35.6-13.1-9 0-29.8 1.8-29.8 14.9 0 21.6 78.5-10.2 78.5 37.9 0 25.4-31.5 31.2-51 31.2-18.1 0-32.4-2.9-47.2-12.2l9-18.4h.9c6.1 12.2 23.6 14.9 35.9 14.9 8.7 0 32.7-1.2 32.7-14.3 0-26.1-77.6 6.3-77.6-38zM52.8 178.4H42V212h10.8zm342.4 206.2H406v-33.5h-10.8zM52.8 307.9H42v33.5h10.8zM0 3.7v406l221.7 98.6L448 409.7V3.7zm418.8 387.1L222 476.5 29.2 390.8V120.7h389.7v270.1zm0-299.3H29.2V32.9h389.7v58.6zm-366 130.1H42v33.5h10.8zm0 43.2H42v33.5h10.8zM170 135.2h-33.5v10.5H170zm225.2 163.1H406v-33.5h-10.8zm0-43.2H406v-33.5h-10.8zM217 135.2h-33.2v10.5H217zM395.2 212H406v-33.5h-10.8zm0 129.5H406V308h-10.8zm-131-206.3H231v10.5h33.2zm47.3 0H278v10.5h33.5zm83.7 33.6H406v-33.5h-33.5v10.5h22.8zm-36.4-33.6h-33.5v10.5h33.5z"],shopify:[448,512,[],"e057","M388.32,104.1a4.66,4.66,0,0,0-4.4-4c-2,0-37.23-.8-37.23-.8s-21.61-20.82-29.62-28.83V503.2L442.76,472S388.72,106.5,388.32,104.1ZM288.65,70.47a116.67,116.67,0,0,0-7.21-17.61C271,32.85,255.42,22,237,22a15,15,0,0,0-4,.4c-.4-.8-1.2-1.2-1.6-2C223.4,11.63,213,7.63,200.58,8c-24,.8-48,18-67.25,48.83-13.61,21.62-24,48.84-26.82,70.06-27.62,8.4-46.83,14.41-47.23,14.81-14,4.4-14.41,4.8-16,18-1.2,10-38,291.82-38,291.82L307.86,504V65.67a41.66,41.66,0,0,0-4.4.4S297.86,67.67,288.65,70.47ZM233.41,87.69c-16,4.8-33.63,10.4-50.84,15.61,4.8-18.82,14.41-37.63,25.62-50,4.4-4.4,10.41-9.61,17.21-12.81C232.21,54.86,233.81,74.48,233.41,87.69ZM200.58,24.44A27.49,27.49,0,0,1,215,28c-6.4,3.2-12.81,8.41-18.81,14.41-15.21,16.42-26.82,42-31.62,66.45-14.42,4.41-28.83,8.81-42,12.81C131.33,83.28,163.75,25.24,200.58,24.44ZM154.15,244.61c1.6,25.61,69.25,31.22,73.25,91.66,2.8,47.64-25.22,80.06-65.65,82.47-48.83,3.2-75.65-25.62-75.65-25.62l10.4-44s26.82,20.42,48.44,18.82c14-.8,19.22-12.41,18.81-20.42-2-33.62-57.24-31.62-60.84-86.86-3.2-46.44,27.22-93.27,94.47-97.68,26-1.6,39.23,4.81,39.23,4.81L221.4,225.39s-17.21-8-37.63-6.4C154.15,221,153.75,239.8,154.15,244.61ZM249.42,82.88c0-12-1.6-29.22-7.21-43.63,18.42,3.6,27.22,24,31.23,36.43Q262.63,78.68,249.42,82.88Z"],shopware:[512,512,[],"f5b5","M403.5 455.41A246.17 246.17 0 0 1 256 504C118.81 504 8 393 8 256 8 118.81 119 8 256 8a247.39 247.39 0 0 1 165.7 63.5 3.57 3.57 0 0 1-2.86 6.18A418.62 418.62 0 0 0 362.13 74c-129.36 0-222.4 53.47-222.4 155.35 0 109 92.13 145.88 176.83 178.73 33.64 13 65.4 25.36 87 41.59a3.58 3.58 0 0 1 0 5.72zM503 233.09a3.64 3.64 0 0 0-1.27-2.44c-51.76-43-93.62-60.48-144.48-60.48-84.13 0-80.25 52.17-80.25 53.63 0 42.6 52.06 62 112.34 84.49 31.07 11.59 63.19 23.57 92.68 39.93a3.57 3.57 0 0 0 5-1.82A249 249 0 0 0 503 233.09z"],simplybuilt:[512,512,[],"f215","M481.2 64h-106c-14.5 0-26.6 11.8-26.6 26.3v39.6H163.3V90.3c0-14.5-12-26.3-26.6-26.3h-106C16.1 64 4.3 75.8 4.3 90.3v331.4c0 14.5 11.8 26.3 26.6 26.3h450.4c14.8 0 26.6-11.8 26.6-26.3V90.3c-.2-14.5-12-26.3-26.7-26.3zM149.8 355.8c-36.6 0-66.4-29.7-66.4-66.4 0-36.9 29.7-66.6 66.4-66.6 36.9 0 66.6 29.7 66.6 66.6 0 36.7-29.7 66.4-66.6 66.4zm212.4 0c-36.9 0-66.6-29.7-66.6-66.6 0-36.6 29.7-66.4 66.6-66.4 36.6 0 66.4 29.7 66.4 66.4 0 36.9-29.8 66.6-66.4 66.6z"],sistrix:[448,512,[],"f3ee","M448 449L301.2 300.2c20-27.9 31.9-62.2 31.9-99.2 0-93.1-74.7-168.9-166.5-168.9C74.7 32 0 107.8 0 200.9s74.7 168.9 166.5 168.9c39.8 0 76.3-14.2 105-37.9l146 148.1 30.5-31zM166.5 330.8c-70.6 0-128.1-58.3-128.1-129.9S95.9 71 166.5 71s128.1 58.3 128.1 129.9-57.4 129.9-128.1 129.9z"],sith:[448,512,[],"f512","M0 32l69.71 118.75-58.86-11.52 69.84 91.03a146.741 146.741 0 0 0 0 51.45l-69.84 91.03 58.86-11.52L0 480l118.75-69.71-11.52 58.86 91.03-69.84c17.02 3.04 34.47 3.04 51.48 0l91.03 69.84-11.52-58.86L448 480l-69.71-118.78 58.86 11.52-69.84-91.03c3.03-17.01 3.04-34.44 0-51.45l69.84-91.03-58.86 11.52L448 32l-118.75 69.71 11.52-58.9-91.06 69.87c-8.5-1.52-17.1-2.29-25.71-2.29s-17.21.78-25.71 2.29l-91.06-69.87 11.52 58.9L0 32zm224 99.78c31.8 0 63.6 12.12 87.85 36.37 48.5 48.5 48.49 127.21 0 175.7s-127.2 48.46-175.7-.03c-48.5-48.5-48.49-127.21 0-175.7 24.24-24.25 56.05-36.34 87.85-36.34zm0 36.66c-22.42 0-44.83 8.52-61.92 25.61-34.18 34.18-34.19 89.68 0 123.87s89.65 34.18 123.84 0c34.18-34.18 34.19-89.68 0-123.87-17.09-17.09-39.5-25.61-61.92-25.61z"],sketch:[512,512,[],"f7c6","M27.5 162.2L9 187.1h90.5l6.9-130.7-78.9 105.8zM396.3 45.7L267.7 32l135.7 147.2-7.1-133.5zM112.2 218.3l-11.2-22H9.9L234.8 458zm2-31.2h284l-81.5-88.5L256.3 33zm297.3 9.1L277.6 458l224.8-261.7h-90.9zM415.4 69L406 56.4l.9 17.3 6.1 113.4h90.3zM113.5 93.5l-4.6 85.6L244.7 32 116.1 45.7zm287.7 102.7h-290l42.4 82.9L256.3 480l144.9-283.8z"],skyatlas:[640,512,[],"f216","M640 329.3c0 65.9-52.5 114.4-117.5 114.4-165.9 0-196.6-249.7-359.7-249.7-146.9 0-147.1 212.2 5.6 212.2 42.5 0 90.9-17.8 125.3-42.5 5.6-4.1 16.9-16.3 22.8-16.3s10.9 5 10.9 10.9c0 7.8-13.1 19.1-18.7 24.1-40.9 35.6-100.3 61.2-154.7 61.2-83.4.1-154-59-154-144.9s67.5-149.1 152.8-149.1c185.3 0 222.5 245.9 361.9 245.9 99.9 0 94.8-139.7 3.4-139.7-17.5 0-35 11.6-46.9 11.6-8.4 0-15.9-7.2-15.9-15.6 0-11.6 5.3-23.7 5.3-36.3 0-66.6-50.9-114.7-116.9-114.7-53.1 0-80 36.9-88.8 36.9-6.2 0-11.2-5-11.2-11.2 0-5.6 4.1-10.3 7.8-14.4 25.3-28.8 64.7-43.7 102.8-43.7 79.4 0 139.1 58.4 139.1 137.8 0 6.9-.3 13.7-1.2 20.6 11.9-3.1 24.1-4.7 35.9-4.7 60.7 0 111.9 45.3 111.9 107.2z"],skype:[448,512,[],"f17e","M424.7 299.8c2.9-14 4.7-28.9 4.7-43.8 0-113.5-91.9-205.3-205.3-205.3-14.9 0-29.7 1.7-43.8 4.7C161.3 40.7 137.7 32 112 32 50.2 32 0 82.2 0 144c0 25.7 8.7 49.3 23.3 68.2-2.9 14-4.7 28.9-4.7 43.8 0 113.5 91.9 205.3 205.3 205.3 14.9 0 29.7-1.7 43.8-4.7 19 14.6 42.6 23.3 68.2 23.3 61.8 0 112-50.2 112-112 .1-25.6-8.6-49.2-23.2-68.1zm-194.6 91.5c-65.6 0-120.5-29.2-120.5-65 0-16 9-30.6 29.5-30.6 31.2 0 34.1 44.9 88.1 44.9 25.7 0 42.3-11.4 42.3-26.3 0-18.7-16-21.6-42-28-62.5-15.4-117.8-22-117.8-87.2 0-59.2 58.6-81.1 109.1-81.1 55.1 0 110.8 21.9 110.8 55.4 0 16.9-11.4 31.8-30.3 31.8-28.3 0-29.2-33.5-75-33.5-25.7 0-42 7-42 22.5 0 19.8 20.8 21.8 69.1 33 41.4 9.3 90.7 26.8 90.7 77.6 0 59.1-57.1 86.5-112 86.5z"],slack:[448,512,[],"f198","M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z"],"slack-hash":[448,512,[],"f3ef","M446.2 270.4c-6.2-19-26.9-29.1-46-22.9l-45.4 15.1-30.3-90 45.4-15.1c19.1-6.2 29.1-26.8 23-45.9-6.2-19-26.9-29.1-46-22.9l-45.4 15.1-15.7-47c-6.2-19-26.9-29.1-46-22.9-19.1 6.2-29.1 26.8-23 45.9l15.7 47-93.4 31.2-15.7-47c-6.2-19-26.9-29.1-46-22.9-19.1 6.2-29.1 26.8-23 45.9l15.7 47-45.3 15c-19.1 6.2-29.1 26.8-23 45.9 5 14.5 19.1 24 33.6 24.6 6.8 1 12-1.6 57.7-16.8l30.3 90L78 354.8c-19 6.2-29.1 26.9-23 45.9 5 14.5 19.1 24 33.6 24.6 6.8 1 12-1.6 57.7-16.8l15.7 47c5.9 16.9 24.7 29 46 22.9 19.1-6.2 29.1-26.8 23-45.9l-15.7-47 93.6-31.3 15.7 47c5.9 16.9 24.7 29 46 22.9 19.1-6.2 29.1-26.8 23-45.9l-15.7-47 45.4-15.1c19-6 29.1-26.7 22.9-45.7zm-254.1 47.2l-30.3-90.2 93.5-31.3 30.3 90.2-93.5 31.3z"],slideshare:[512,512,[],"f1e7","M187.7 153.7c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7s61.7-26 61.7-57.7c0-32-27.7-57.7-61.7-57.7zm143.4 0c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7 34.3 0 61.7-26 61.7-57.7.1-32-27.4-57.7-61.7-57.7zm156.6 90l-6 4.3V49.7c0-27.4-20.6-49.7-46-49.7H76.6c-25.4 0-46 22.3-46 49.7V248c-2-1.4-4.3-2.9-6.3-4.3-15.1-10.6-25.1 4-16 17.7 18.3 22.6 53.1 50.3 106.3 72C58.3 525.1 252 555.7 248.9 457.5c0-.7.3-56.6.3-96.6 5.1 1.1 9.4 2.3 13.7 3.1 0 39.7.3 92.8.3 93.5-3.1 98.3 190.6 67.7 134.3-124 53.1-21.7 88-49.4 106.3-72 9.1-13.8-.9-28.3-16.1-17.8zm-30.5 19.2c-68.9 37.4-128.3 31.1-160.6 29.7-23.7-.9-32.6 9.1-33.7 24.9-10.3-7.7-18.6-15.5-20.3-17.1-5.1-5.4-13.7-8-27.1-7.7-31.7 1.1-89.7 7.4-157.4-28V72.3c0-34.9 8.9-45.7 40.6-45.7h317.7c30.3 0 40.9 12.9 40.9 45.7v190.6z"],snapchat:[496,512,[],"f2ab","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm169.5 338.9c-3.5 8.1-18.1 14-44.8 18.2-1.4 1.9-2.5 9.8-4.3 15.9-1.1 3.7-3.7 5.9-8.1 5.9h-.2c-6.2 0-12.8-2.9-25.8-2.9-17.6 0-23.7 4-37.4 13.7-14.5 10.3-28.4 19.1-49.2 18.2-21 1.6-38.6-11.2-48.5-18.2-13.8-9.7-19.8-13.7-37.4-13.7-12.5 0-20.4 3.1-25.8 3.1-5.4 0-7.5-3.3-8.3-6-1.8-6.1-2.9-14.1-4.3-16-13.8-2.1-44.8-7.5-45.5-21.4-.2-3.6 2.3-6.8 5.9-7.4 46.3-7.6 67.1-55.1 68-57.1 0-.1.1-.2.2-.3 2.5-5 3-9.2 1.6-12.5-3.4-7.9-17.9-10.7-24-13.2-15.8-6.2-18-13.4-17-18.3 1.6-8.5 14.4-13.8 21.9-10.3 5.9 2.8 11.2 4.2 15.7 4.2 3.3 0 5.5-.8 6.6-1.4-1.4-23.9-4.7-58 3.8-77.1C183.1 100 230.7 96 244.7 96c.6 0 6.1-.1 6.7-.1 34.7 0 68 17.8 84.3 54.3 8.5 19.1 5.2 53.1 3.8 77.1 1.1.6 2.9 1.3 5.7 1.4 4.3-.2 9.2-1.6 14.7-4.2 4-1.9 9.6-1.6 13.6 0 6.3 2.3 10.3 6.8 10.4 11.9.1 6.5-5.7 12.1-17.2 16.6-1.4.6-3.1 1.1-4.9 1.7-6.5 2.1-16.4 5.2-19 11.5-1.4 3.3-.8 7.5 1.6 12.5.1.1.1.2.2.3.9 2 21.7 49.5 68 57.1 4 1 7.1 5.5 4.9 10.8z"],"snapchat-ghost":[512,512,[],"f2ac","M510.846 392.673c-5.211 12.157-27.239 21.089-67.36 27.318-2.064 2.786-3.775 14.686-6.507 23.956-1.625 5.566-5.623 8.869-12.128 8.869l-.297-.005c-9.395 0-19.203-4.323-38.852-4.323-26.521 0-35.662 6.043-56.254 20.588-21.832 15.438-42.771 28.764-74.027 27.399-31.646 2.334-58.025-16.908-72.871-27.404-20.714-14.643-29.828-20.582-56.241-20.582-18.864 0-30.736 4.72-38.852 4.72-8.073 0-11.213-4.922-12.422-9.04-2.703-9.189-4.404-21.263-6.523-24.13-20.679-3.209-67.31-11.344-68.498-32.15a10.627 10.627 0 0 1 8.877-11.069c69.583-11.455 100.924-82.901 102.227-85.934.074-.176.155-.344.237-.515 3.713-7.537 4.544-13.849 2.463-18.753-5.05-11.896-26.872-16.164-36.053-19.796-23.715-9.366-27.015-20.128-25.612-27.504 2.437-12.836 21.725-20.735 33.002-15.453 8.919 4.181 16.843 6.297 23.547 6.297 5.022 0 8.212-1.204 9.96-2.171-2.043-35.936-7.101-87.29 5.687-115.969C158.122 21.304 229.705 15.42 250.826 15.42c.944 0 9.141-.089 10.11-.089 52.148 0 102.254 26.78 126.723 81.643 12.777 28.65 7.749 79.792 5.695 116.009 1.582.872 4.357 1.942 8.599 2.139 6.397-.286 13.815-2.389 22.069-6.257 6.085-2.846 14.406-2.461 20.48.058l.029.01c9.476 3.385 15.439 10.215 15.589 17.87.184 9.747-8.522 18.165-25.878 25.018-2.118.835-4.694 1.655-7.434 2.525-9.797 3.106-24.6 7.805-28.616 17.271-2.079 4.904-1.256 11.211 2.46 18.748.087.168.166.342.239.515 1.301 3.03 32.615 74.46 102.23 85.934 6.427 1.058 11.163 7.877 7.725 15.859z"],"snapchat-square":[448,512,[],"f2ad","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6.5 314.9c-3.5 8.1-18.1 14-44.8 18.2-1.4 1.9-2.5 9.8-4.3 15.9-1.1 3.7-3.7 5.9-8.1 5.9h-.2c-6.2 0-12.8-2.9-25.8-2.9-17.6 0-23.7 4-37.4 13.7-14.5 10.3-28.4 19.1-49.2 18.2-21 1.6-38.6-11.2-48.5-18.2-13.8-9.7-19.8-13.7-37.4-13.7-12.5 0-20.4 3.1-25.8 3.1-5.4 0-7.5-3.3-8.3-6-1.8-6.1-2.9-14.1-4.3-16-13.8-2.1-44.8-7.5-45.5-21.4-.2-3.6 2.3-6.8 5.9-7.4 46.3-7.6 67.1-55.1 68-57.1 0-.1.1-.2.2-.3 2.5-5 3-9.2 1.6-12.5-3.4-7.9-17.9-10.7-24-13.2-15.8-6.2-18-13.4-17-18.3 1.6-8.5 14.4-13.8 21.9-10.3 5.9 2.8 11.2 4.2 15.7 4.2 3.3 0 5.5-.8 6.6-1.4-1.4-23.9-4.7-58 3.8-77.1C159.1 100 206.7 96 220.7 96c.6 0 6.1-.1 6.7-.1 34.7 0 68 17.8 84.3 54.3 8.5 19.1 5.2 53.1 3.8 77.1 1.1.6 2.9 1.3 5.7 1.4 4.3-.2 9.2-1.6 14.7-4.2 4-1.9 9.6-1.6 13.6 0 6.3 2.3 10.3 6.8 10.4 11.9.1 6.5-5.7 12.1-17.2 16.6-1.4.6-3.1 1.1-4.9 1.7-6.5 2.1-16.4 5.2-19 11.5-1.4 3.3-.8 7.5 1.6 12.5.1.1.1.2.2.3.9 2 21.7 49.5 68 57.1 4 1 7.1 5.5 4.9 10.8z"],soundcloud:[640,512,[],"f1be","M111.4 256.3l5.8 65-5.8 68.3c-.3 2.5-2.2 4.4-4.4 4.4s-4.2-1.9-4.2-4.4l-5.6-68.3 5.6-65c0-2.2 1.9-4.2 4.2-4.2 2.2 0 4.1 2 4.4 4.2zm21.4-45.6c-2.8 0-4.7 2.2-5 5l-5 105.6 5 68.3c.3 2.8 2.2 5 5 5 2.5 0 4.7-2.2 4.7-5l5.8-68.3-5.8-105.6c0-2.8-2.2-5-4.7-5zm25.5-24.1c-3.1 0-5.3 2.2-5.6 5.3l-4.4 130 4.4 67.8c.3 3.1 2.5 5.3 5.6 5.3 2.8 0 5.3-2.2 5.3-5.3l5.3-67.8-5.3-130c0-3.1-2.5-5.3-5.3-5.3zM7.2 283.2c-1.4 0-2.2 1.1-2.5 2.5L0 321.3l4.7 35c.3 1.4 1.1 2.5 2.5 2.5s2.2-1.1 2.5-2.5l5.6-35-5.6-35.6c-.3-1.4-1.1-2.5-2.5-2.5zm23.6-21.9c-1.4 0-2.5 1.1-2.5 2.5l-6.4 57.5 6.4 56.1c0 1.7 1.1 2.8 2.5 2.8s2.5-1.1 2.8-2.5l7.2-56.4-7.2-57.5c-.3-1.4-1.4-2.5-2.8-2.5zm25.3-11.4c-1.7 0-3.1 1.4-3.3 3.3L47 321.3l5.8 65.8c.3 1.7 1.7 3.1 3.3 3.1 1.7 0 3.1-1.4 3.1-3.1l6.9-65.8-6.9-68.1c0-1.9-1.4-3.3-3.1-3.3zm25.3-2.2c-1.9 0-3.6 1.4-3.6 3.6l-5.8 70 5.8 67.8c0 2.2 1.7 3.6 3.6 3.6s3.6-1.4 3.9-3.6l6.4-67.8-6.4-70c-.3-2.2-2-3.6-3.9-3.6zm241.4-110.9c-1.1-.8-2.8-1.4-4.2-1.4-2.2 0-4.2.8-5.6 1.9-1.9 1.7-3.1 4.2-3.3 6.7v.8l-3.3 176.7 1.7 32.5 1.7 31.7c.3 4.7 4.2 8.6 8.9 8.6s8.6-3.9 8.6-8.6l3.9-64.2-3.9-177.5c-.4-3-2-5.8-4.5-7.2zm-26.7 15.3c-1.4-.8-2.8-1.4-4.4-1.4s-3.1.6-4.4 1.4c-2.2 1.4-3.6 3.9-3.6 6.7l-.3 1.7-2.8 160.8s0 .3 3.1 65.6v.3c0 1.7.6 3.3 1.7 4.7 1.7 1.9 3.9 3.1 6.4 3.1 2.2 0 4.2-1.1 5.6-2.5 1.7-1.4 2.5-3.3 2.5-5.6l.3-6.7 3.1-58.6-3.3-162.8c-.3-2.8-1.7-5.3-3.9-6.7zm-111.4 22.5c-3.1 0-5.8 2.8-5.8 6.1l-4.4 140.6 4.4 67.2c.3 3.3 2.8 5.8 5.8 5.8 3.3 0 5.8-2.5 6.1-5.8l5-67.2-5-140.6c-.2-3.3-2.7-6.1-6.1-6.1zm376.7 62.8c-10.8 0-21.1 2.2-30.6 6.1-6.4-70.8-65.8-126.4-138.3-126.4-17.8 0-35 3.3-50.3 9.4-6.1 2.2-7.8 4.4-7.8 9.2v249.7c0 5 3.9 8.6 8.6 9.2h218.3c43.3 0 78.6-35 78.6-78.3.1-43.6-35.2-78.9-78.5-78.9zm-296.7-60.3c-4.2 0-7.5 3.3-7.8 7.8l-3.3 136.7 3.3 65.6c.3 4.2 3.6 7.5 7.8 7.5 4.2 0 7.5-3.3 7.5-7.5l3.9-65.6-3.9-136.7c-.3-4.5-3.3-7.8-7.5-7.8zm-53.6-7.8c-3.3 0-6.4 3.1-6.4 6.7l-3.9 145.3 3.9 66.9c.3 3.6 3.1 6.4 6.4 6.4 3.6 0 6.4-2.8 6.7-6.4l4.4-66.9-4.4-145.3c-.3-3.6-3.1-6.7-6.7-6.7zm26.7 3.4c-3.9 0-6.9 3.1-6.9 6.9L227 321.3l3.9 66.4c.3 3.9 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9l4.2-66.4-4.2-141.7c0-3.9-3-6.9-6.9-6.9z"],sourcetree:[448,512,[],"f7d3","M427.2 203c0-112.1-90.9-203-203-203C112.1-.2 21.2 90.6 21 202.6A202.86 202.86 0 0 0 161.5 396v101.7a14.3 14.3 0 0 0 14.3 14.3h96.4a14.3 14.3 0 0 0 14.3-14.3V396.1A203.18 203.18 0 0 0 427.2 203zm-271.6 0c0-90.8 137.3-90.8 137.3 0-.1 89.9-137.3 91-137.3 0z"],speakap:[448,512,[],"f3f3","M64 391.78C-15.41 303.59-8 167.42 80.64 87.64s224.8-73 304.21 15.24 72 224.36-16.64 304.14c-18.74 16.87 64 43.09 42 52.26-82.06 34.21-253.91 35-346.23-67.5zm213.31-211.6l38.5-40.86c-9.61-8.89-32-26.83-76.17-27.6-52.33-.91-95.86 28.3-96.77 80-.2 11.33.29 36.72 29.42 54.83 34.46 21.42 86.52 21.51 86 52.26-.37 21.28-26.42 25.81-38.59 25.6-3-.05-30.23-.46-47.61-24.62l-40 42.61c28.16 27 59 32.62 83.49 33.05 10.23.18 96.42.33 97.84-81 .28-15.81-2.07-39.72-28.86-56.59-34.36-21.64-85-19.45-84.43-49.75.41-23.25 31-25.37 37.53-25.26.43 0 26.62.26 39.62 17.37z"],"speaker-deck":[512,512,[],"f83c","M213.86 296H100a100 100 0 0 1 0-200h132.84a40 40 0 0 1 0 80H98c-26.47 0-26.45 40 0 40h113.82a100 100 0 0 1 0 200H40a40 40 0 0 1 0-80h173.86c26.48 0 26.46-40 0-40zM298 416a120.21 120.21 0 0 0 51.11-80h64.55a19.83 19.83 0 0 0 19.66-20V196a19.83 19.83 0 0 0-19.66-20H296.42a60.77 60.77 0 0 0 0-80h136.93c43.44 0 78.65 35.82 78.65 80v160c0 44.18-35.21 80-78.65 80z"],spotify:[496,512,[],"f1bc","M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm100.7 364.9c-4.2 0-6.8-1.3-10.7-3.6-62.4-37.6-135-39.2-206.7-24.5-3.9 1-9 2.6-11.9 2.6-9.7 0-15.8-7.7-15.8-15.8 0-10.3 6.1-15.2 13.6-16.8 81.9-18.1 165.6-16.5 237 26.2 6.1 3.9 9.7 7.4 9.7 16.5s-7.1 15.4-15.2 15.4zm26.9-65.6c-5.2 0-8.7-2.3-12.3-4.2-62.5-37-155.7-51.9-238.6-29.4-4.8 1.3-7.4 2.6-11.9 2.6-10.7 0-19.4-8.7-19.4-19.4s5.2-17.8 15.5-20.7c27.8-7.8 56.2-13.6 97.8-13.6 64.9 0 127.6 16.1 177 45.5 8.1 4.8 11.3 11 11.3 19.7-.1 10.8-8.5 19.5-19.4 19.5zm31-76.2c-5.2 0-8.4-1.3-12.9-3.9-71.2-42.5-198.5-52.7-280.9-29.7-3.6 1-8.1 2.6-12.9 2.6-13.2 0-23.3-10.3-23.3-23.6 0-13.6 8.4-21.3 17.4-23.9 35.2-10.3 74.6-15.2 117.5-15.2 73 0 149.5 15.2 205.4 47.8 7.8 4.5 12.9 10.7 12.9 22.6 0 13.6-11 23.3-23.2 23.3z"],squarespace:[512,512,[],"f5be","M186.12 343.34c-9.65 9.65-9.65 25.29 0 34.94 9.65 9.65 25.29 9.65 34.94 0L378.24 221.1c19.29-19.29 50.57-19.29 69.86 0s19.29 50.57 0 69.86L293.95 445.1c19.27 19.29 50.53 19.31 69.82.04l.04-.04 119.25-119.24c38.59-38.59 38.59-101.14 0-139.72-38.59-38.59-101.15-38.59-139.72 0l-157.22 157.2zm244.53-104.8c-9.65-9.65-25.29-9.65-34.93 0l-157.2 157.18c-19.27 19.29-50.53 19.31-69.82.05l-.05-.05c-9.64-9.64-25.27-9.65-34.92-.01l-.01.01c-9.65 9.64-9.66 25.28-.02 34.93l.02.02c38.58 38.57 101.14 38.57 139.72 0l157.2-157.2c9.65-9.65 9.65-25.29.01-34.93zm-261.99 87.33l157.18-157.18c9.64-9.65 9.64-25.29 0-34.94-9.64-9.64-25.27-9.64-34.91 0L133.72 290.93c-19.28 19.29-50.56 19.3-69.85.01l-.01-.01c-19.29-19.28-19.31-50.54-.03-69.84l.03-.03L218.03 66.89c-19.28-19.29-50.55-19.3-69.85-.02l-.02.02L28.93 186.14c-38.58 38.59-38.58 101.14 0 139.72 38.6 38.59 101.13 38.59 139.73.01zm-87.33-52.4c9.64 9.64 25.27 9.64 34.91 0l157.21-157.19c19.28-19.29 50.55-19.3 69.84-.02l.02.02c9.65 9.65 25.29 9.65 34.93 0 9.65-9.65 9.65-25.29 0-34.93-38.59-38.59-101.13-38.59-139.72 0L81.33 238.54c-9.65 9.64-9.65 25.28-.01 34.93h.01z"],"stack-exchange":[448,512,[],"f18d","M17.7 332.3h412.7v22c0 37.7-29.3 68-65.3 68h-19L259.3 512v-89.7H83c-36 0-65.3-30.3-65.3-68v-22zm0-23.6h412.7v-85H17.7v85zm0-109.4h412.7v-85H17.7v85zM365 0H83C47 0 17.7 30.3 17.7 67.7V90h412.7V67.7C430.3 30.3 401 0 365 0z"],"stack-overflow":[384,512,[],"f16c","M290.7 311L95 269.7 86.8 309l195.7 41zm51-87L188.2 95.7l-25.5 30.8 153.5 128.3zm-31.2 39.7L129.2 179l-16.7 36.5L293.7 300zM262 32l-32 24 119.3 160.3 32-24zm20.5 328h-200v39.7h200zm39.7 80H42.7V320h-40v160h359.5V320h-40z"],stackpath:[448,512,[],"f842","M244.6 232.4c0 8.5-4.26 20.49-21.34 20.49h-19.61v-41.47h19.61c17.13 0 21.34 12.36 21.34 20.98zM448 32v448H0V32zM151.3 287.84c0-21.24-12.12-34.54-46.72-44.85-20.57-7.41-26-10.91-26-18.63s7-14.61 20.41-14.61c14.09 0 20.79 8.45 20.79 18.35h30.7l.19-.57c.5-19.57-15.06-41.65-51.12-41.65-23.37 0-52.55 10.75-52.55 38.29 0 19.4 9.25 31.29 50.74 44.37 17.26 6.15 21.91 10.4 21.91 19.48 0 15.2-19.13 14.23-19.47 14.23-20.4 0-25.65-9.1-25.65-21.9h-30.8l-.18.56c-.68 31.32 28.38 45.22 56.63 45.22 29.98 0 51.12-13.55 51.12-38.29zm125.38-55.63c0-25.3-18.43-45.46-53.42-45.46h-51.78v138.18h32.17v-47.36h19.61c30.25 0 53.42-15.95 53.42-45.36zM297.94 325L347 186.78h-31.09L268 325zm106.52-138.22h-31.09L325.46 325h29.94z"],staylinked:[440,512,[],"f3f5","M382.7 292.5l2.7 2.7-170-167.3c-3.5-3.5-9.7-3.7-13.8-.5L144.3 171c-4.2 3.2-4.6 8.7-1.1 12.2l68.1 64.3c3.6 3.5 9.9 3.7 14 .5l.1-.1c4.1-3.2 10.4-3 14 .5l84 81.3c3.6 3.5 3.2 9-.9 12.2l-93.2 74c-4.2 3.3-10.5 3.1-14.2-.4L63.2 268c-3.5-3.5-9.7-3.7-13.9-.5L3.5 302.4c-4.2 3.2-4.7 8.7-1.2 12.2L211 510.7s7.4 6.8 17.3-.8l198-163.9c4-3.2 4.4-8.7.7-12.2zm54.5-83.4L226.7 2.5c-1.5-1.2-8-5.5-16.3 1.1L3.6 165.7c-4.2 3.2-4.8 8.7-1.2 12.2l42.3 41.7 171.7 165.1c3.7 3.5 10.1 3.7 14.3.4l50.2-38.8-.3-.3 7.7-6c4.2-3.2 4.6-8.7.9-12.2l-57.1-54.4c-3.6-3.5-10-3.7-14.2-.5l-.1.1c-4.2 3.2-10.5 3.1-14.2-.4L109 180.8c-3.6-3.5-3.1-8.9 1.1-12.2l92.2-71.5c4.1-3.2 10.3-3 13.9.5l160.4 159c3.7 3.5 10 3.7 14.1.5l45.8-35.8c4.1-3.2 4.4-8.7.7-12.2z"],steam:[496,512,[],"f1b6","M496 256c0 137-111.2 248-248.4 248-113.8 0-209.6-76.3-239-180.4l95.2 39.3c6.4 32.1 34.9 56.4 68.9 56.4 39.2 0 71.9-32.4 70.2-73.5l84.5-60.2c52.1 1.3 95.8-40.9 95.8-93.5 0-51.6-42-93.5-93.7-93.5s-93.7 42-93.7 93.5v1.2L176.6 279c-15.5-.9-30.7 3.4-43.5 12.1L0 236.1C10.2 108.4 117.1 8 247.6 8 384.8 8 496 119 496 256zM155.7 384.3l-30.5-12.6a52.79 52.79 0 0 0 27.2 25.8c26.9 11.2 57.8-1.6 69-28.4 5.4-13 5.5-27.3.1-40.3-5.4-13-15.5-23.2-28.5-28.6-12.9-5.4-26.7-5.2-38.9-.6l31.5 13c19.8 8.2 29.2 30.9 20.9 50.7-8.3 19.9-31 29.2-50.8 21zm173.8-129.9c-34.4 0-62.4-28-62.4-62.3s28-62.3 62.4-62.3 62.4 28 62.4 62.3-27.9 62.3-62.4 62.3zm.1-15.6c25.9 0 46.9-21 46.9-46.8 0-25.9-21-46.8-46.9-46.8s-46.9 21-46.9 46.8c.1 25.8 21.1 46.8 46.9 46.8z"],"steam-square":[448,512,[],"f1b7","M185.2 356.5c7.7-18.5-1-39.7-19.6-47.4l-29.5-12.2c11.4-4.3 24.3-4.5 36.4.5 12.2 5.1 21.6 14.6 26.7 26.7 5 12.2 5 25.6-.1 37.7-10.5 25.1-39.4 37-64.6 26.5-11.6-4.8-20.4-13.6-25.4-24.2l28.5 11.8c18.6 7.8 39.9-.9 47.6-19.4zM400 32H48C21.5 32 0 53.5 0 80v160.7l116.6 48.1c12-8.2 26.2-12.1 40.7-11.3l55.4-80.2v-1.1c0-48.2 39.3-87.5 87.6-87.5s87.6 39.3 87.6 87.5c0 49.2-40.9 88.7-89.6 87.5l-79 56.3c1.6 38.5-29.1 68.8-65.7 68.8-31.8 0-58.5-22.7-64.5-52.7L0 319.2V432c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-99.7 222.5c-32.2 0-58.4-26.1-58.4-58.3s26.2-58.3 58.4-58.3 58.4 26.2 58.4 58.3-26.2 58.3-58.4 58.3zm.1-14.6c24.2 0 43.9-19.6 43.9-43.8 0-24.2-19.6-43.8-43.9-43.8-24.2 0-43.9 19.6-43.9 43.8 0 24.2 19.7 43.8 43.9 43.8z"],"steam-symbol":[448,512,[],"f3f6","M395.5 177.5c0 33.8-27.5 61-61 61-33.8 0-61-27.3-61-61s27.3-61 61-61c33.5 0 61 27.2 61 61zm52.5.2c0 63-51 113.8-113.7 113.8L225 371.3c-4 43-40.5 76.8-84.5 76.8-40.5 0-74.7-28.8-83-67L0 358V250.7L97.2 290c15.1-9.2 32.2-13.3 52-11.5l71-101.7c.5-62.3 51.5-112.8 114-112.8C397 64 448 115 448 177.7zM203 363c0-34.7-27.8-62.5-62.5-62.5-4.5 0-9 .5-13.5 1.5l26 10.5c25.5 10.2 38 39 27.7 64.5-10.2 25.5-39.2 38-64.7 27.5-10.2-4-20.5-8.3-30.7-12.2 10.5 19.7 31.2 33.2 55.2 33.2 34.7 0 62.5-27.8 62.5-62.5zm207.5-185.3c0-42-34.3-76.2-76.2-76.2-42.3 0-76.5 34.2-76.5 76.2 0 42.2 34.3 76.2 76.5 76.2 41.9.1 76.2-33.9 76.2-76.2z"],"sticker-mule":[576,512,[],"f3f7","M561.7 199.6c-1.3.3.3 0 0 0zm-6.2-77.4c-7.7-22.3-5.1-7.2-13.4-36.9-1.6-6.5-3.6-14.5-6.2-20-4.4-8.7-4.6-7.5-4.6-9.5 0-5.3 30.7-45.3 19-46.9-5.7-.6-12.2 11.6-20.6 17-8.6 4.2-8 5-10.3 5-2.6 0-5.7-3-6.2-5-2-5.7 1.9-25.9-3.6-25.9-3.6 0-12.3 24.8-17 25.8-5.2 1.3-27.9-11.4-75.1 18-25.3 13.2-86.9 65.2-87 65.3-6.7 4.7-20 4.7-35.5 16-44.4 30.1-109.6 9.4-110.7 9-110.6-26.8-128-15.2-159 11.5-20.8 17.9-23.7 36.5-24.2 38.9-4.2 20.4 5.2 48.3 6.7 64.3 1.8 19.3-2.7 17.7 7.7 98.3.5 1 4.1 0 5.1 1.5 0 8.4-3.8 12.1-4.1 13-1.5 4.5-1.5 10.5 0 16 2.3 8.2 8.2 37.2 8.2 46.9 0 41.8.4 44 2.6 49.4 3.9 10 12.5 9.1 17 12 3.1 3.5-.5 8.5 1 12.5.5 2 3.6 4 6.2 5 9.2 3.6 27 .3 29.9-2.5 1.6-1.5.5-4.5 3.1-5 5.1 0 10.8-.5 14.4-2.5 5.1-2.5 4.1-6 1.5-10.5-.4-.8-7-13.3-9.8-16-2.1-2-5.1-3-7.2-4.5-5.8-4.9-10.3-19.4-10.3-19.5-4.6-19.4-10.3-46.3-4.1-66.8 4.6-17.2 39.5-87.7 39.6-87.8 4.1-6.5 17-11.5 27.3-7 6 1.9 19.3 22 65.4 30.9 47.9 8.7 97.4-2 112.2-2 2.8 2-1.9 13-.5 38.9 0 26.4-.4 13.7-4.1 29.9-2.2 9.7 3.4 23.2-1.5 46.9-1.4 9.8-9.9 32.7-8.2 43.4.5 1 1 2 1.5 3.5.5 4.5 1.5 8.5 4.6 10 7.3 3.6 12-3.5 9.8 11.5-.7 3.1-2.6 12 1.5 15 4.4 3.7 30.6 3.4 36.5.5 2.6-1.5 1.6-4.5 6.4-7.4 1.9-.9 11.3-.4 11.3-6.5.3-1.8-9.2-19.9-9.3-20-2.6-3.5-9.2-4.5-11.3-8-6.9-10.1-1.7-52.6.5-59.4 3-11 5.6-22.4 8.7-32.4 11-42.5 10.3-50.6 16.5-68.3.8-1.8 6.4-23.1 10.3-29.9 9.3-17 21.7-32.4 33.5-47.4 18-22.9 34-46.9 52-69.8 6.1-7 8.2-13.7 18-8 10.8 5.7 21.6 7 31.9 17 14.6 12.8 10.2 18.2 11.8 22.9 1.5 5 7.7 10.5 14.9 9.5 10.4-2 13-2.5 13.4-2.5 2.6-.5 5.7-5 7.2-8 3.1-5.5 7.2-9 7.2-16.5 0-7.7-.4-2.8-20.6-52.9z"],strava:[384,512,[],"f428","M158.4 0L7 292h89.2l62.2-116.1L220.1 292h88.5zm150.2 292l-43.9 88.2-44.6-88.2h-67.6l112.2 220 111.5-220z"],stripe:[640,512,[],"f429","M165 144.7l-43.3 9.2-.2 142.4c0 26.3 19.8 43.3 46.1 43.3 14.6 0 25.3-2.7 31.2-5.9v-33.8c-5.7 2.3-33.7 10.5-33.7-15.7V221h33.7v-37.8h-33.7zm89.1 51.6l-2.7-13.1H213v153.2h44.3V233.3c10.5-13.8 28.2-11.1 33.9-9.3v-40.8c-6-2.1-26.7-6-37.1 13.1zm92.3-72.3l-44.6 9.5v36.2l44.6-9.5zM44.9 228.3c0-6.9 5.8-9.6 15.1-9.7 13.5 0 30.7 4.1 44.2 11.4v-41.8c-14.7-5.8-29.4-8.1-44.1-8.1-36 0-60 18.8-60 50.2 0 49.2 67.5 41.2 67.5 62.4 0 8.2-7.1 10.9-17 10.9-14.7 0-33.7-6.1-48.6-14.2v40c16.5 7.1 33.2 10.1 48.5 10.1 36.9 0 62.3-15.8 62.3-47.8 0-52.9-67.9-43.4-67.9-63.4zM640 261.6c0-45.5-22-81.4-64.2-81.4s-67.9 35.9-67.9 81.1c0 53.5 30.3 78.2 73.5 78.2 21.2 0 37.1-4.8 49.2-11.5v-33.4c-12.1 6.1-26 9.8-43.6 9.8-17.3 0-32.5-6.1-34.5-26.9h86.9c.2-2.3.6-11.6.6-15.9zm-87.9-16.8c0-20 12.3-28.4 23.4-28.4 10.9 0 22.5 8.4 22.5 28.4zm-112.9-64.6c-17.4 0-28.6 8.2-34.8 13.9l-2.3-11H363v204.8l44.4-9.4.1-50.2c6.4 4.7 15.9 11.2 31.4 11.2 31.8 0 60.8-23.2 60.8-79.6.1-51.6-29.3-79.7-60.5-79.7zm-10.6 122.5c-10.4 0-16.6-3.8-20.9-8.4l-.3-66c4.6-5.1 11-8.8 21.2-8.8 16.2 0 27.4 18.2 27.4 41.4.1 23.9-10.9 41.8-27.4 41.8zm-126.7 33.7h44.6V183.2h-44.6z"],"stripe-s":[384,512,[],"f42a","M155.3 154.6c0-22.3 18.6-30.9 48.4-30.9 43.4 0 98.5 13.3 141.9 36.7V26.1C298.3 7.2 251.1 0 203.8 0 88.1 0 11 60.4 11 161.4c0 157.9 216.8 132.3 216.8 200.4 0 26.4-22.9 34.9-54.7 34.9-47.2 0-108.2-19.5-156.1-45.5v128.5a396.09 396.09 0 0 0 156 32.4c118.6 0 200.3-51 200.3-153.6 0-170.2-218-139.7-218-203.9z"],studiovinari:[512,512,[],"f3f8","M480.3 187.7l4.2 28v28l-25.1 44.1-39.8 78.4-56.1 67.5-79.1 37.8-17.7 24.5-7.7 12-9.6 4s17.3-63.6 19.4-63.6c2.1 0 20.3.7 20.3.7l66.7-38.6-92.5 26.1-55.9 36.8-22.8 28-6.6 1.4 20.8-73.6 6.9-5.5 20.7 12.9 88.3-45.2 56.8-51.5 14.8-68.4-125.4 23.3 15.2-18.2-173.4-53.3 81.9-10.5-166-122.9L133.5 108 32.2 0l252.9 126.6-31.5-38L378 163 234.7 64l18.7 38.4-49.6-18.1L158.3 0l194.6 122L310 66.2l108 96.4 12-8.9-21-16.4 4.2-37.8L451 89.1l29.2 24.7 11.5 4.2-7 6.2 8.5 12-13.1 7.4-10.3 20.2 10.5 23.9z"],stumbleupon:[512,512,[],"f1a4","M502.9 266v69.7c0 62.1-50.3 112.4-112.4 112.4-61.8 0-112.4-49.8-112.4-111.3v-70.2l34.3 16 51.1-15.2V338c0 14.7 12 26.5 26.7 26.5S417 352.7 417 338v-72h85.9zm-224.7-58.2l34.3 16 51.1-15.2V173c0-60.5-51.1-109-112.1-109-60.8 0-112.1 48.2-112.1 108.2v162.4c0 14.9-12 26.7-26.7 26.7S86 349.5 86 334.6V266H0v69.7C0 397.7 50.3 448 112.4 448c61.6 0 112.4-49.5 112.4-110.8V176.9c0-14.7 12-26.7 26.7-26.7s26.7 12 26.7 26.7v30.9z"],"stumbleupon-circle":[496,512,[],"f1a3","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 177.5c-9.8 0-17.8 8-17.8 17.8v106.9c0 40.9-33.9 73.9-74.9 73.9-41.4 0-74.9-33.5-74.9-74.9v-46.5h57.3v45.8c0 10 8 17.8 17.8 17.8s17.8-7.9 17.8-17.8V200.1c0-40 34.2-72.1 74.7-72.1 40.7 0 74.7 32.3 74.7 72.6v23.7l-34.1 10.1-22.9-10.7v-20.6c.1-9.6-7.9-17.6-17.7-17.6zm167.6 123.6c0 41.4-33.5 74.9-74.9 74.9-41.2 0-74.9-33.2-74.9-74.2V263l22.9 10.7 34.1-10.1v47.1c0 9.8 8 17.6 17.8 17.6s17.8-7.9 17.8-17.6v-48h57.3c-.1 45.9-.1 46.4-.1 46.4z"],superpowers:[448,512,[],"f2dd","M448 32c-83.3 11-166.8 22-250 33-92 12.5-163.3 86.7-169 180-3.3 55.5 18 109.5 57.8 148.2L0 480c83.3-11 166.5-22 249.8-33 91.8-12.5 163.3-86.8 168.7-179.8 3.5-55.5-18-109.5-57.7-148.2L448 32zm-79.7 232.3c-4.2 79.5-74 139.2-152.8 134.5-79.5-4.7-140.7-71-136.3-151 4.5-79.2 74.3-139.3 153-134.5 79.3 4.7 140.5 71 136.1 151z"],supple:[640,512,[],"f3f9","M640 262.5c0 64.1-109 116.1-243.5 116.1-24.8 0-48.6-1.8-71.1-5 7.7.4 15.5.6 23.4.6 134.5 0 243.5-56.9 243.5-127.1 0-29.4-19.1-56.4-51.2-78 60 21.1 98.9 55.1 98.9 93.4zM47.7 227.9c-.1-70.2 108.8-127.3 243.3-127.6 7.9 0 15.6.2 23.3.5-22.5-3.2-46.3-4.9-71-4.9C108.8 96.3-.1 148.5 0 212.6c.1 38.3 39.1 72.3 99.3 93.3-32.3-21.5-51.5-48.6-51.6-78zm60.2 39.9s10.5 13.2 29.3 13.2c17.9 0 28.4-11.5 28.4-25.1 0-28-40.2-25.1-40.2-39.7 0-5.4 5.3-9.1 12.5-9.1 5.7 0 11.3 2.6 11.3 6.6v3.9h14.2v-7.9c0-12.1-15.4-16.8-25.4-16.8-16.5 0-28.5 10.2-28.5 24.1 0 26.6 40.2 25.4 40.2 39.9 0 6.6-5.8 10.1-12.3 10.1-11.9 0-20.7-10.1-20.7-10.1l-8.8 10.9zm120.8-73.6v54.4c0 11.3-7.1 17.8-17.8 17.8-10.7 0-17.8-6.5-17.8-17.7v-54.5h-15.8v55c0 18.9 13.4 31.9 33.7 31.9 20.1 0 33.4-13 33.4-31.9v-55h-15.7zm34.4 85.4h15.8v-29.5h15.5c16 0 27.2-11.5 27.2-28.1s-11.2-27.8-27.2-27.8h-39.1v13.4h7.8v72zm15.8-43v-29.1h12.9c8.7 0 13.7 5.7 13.7 14.4 0 8.9-5.1 14.7-14 14.7h-12.6zm57 43h15.8v-29.5h15.5c16 0 27.2-11.5 27.2-28.1s-11.2-27.8-27.2-27.8h-39.1v13.4h7.8v72zm15.7-43v-29.1h12.9c8.7 0 13.7 5.7 13.7 14.4 0 8.9-5 14.7-14 14.7h-12.6zm57.1 34.8c0 5.8 2.4 8.2 8.2 8.2h37.6c5.8 0 8.2-2.4 8.2-8.2v-13h-14.3v5.2c0 1.7-1 2.6-2.6 2.6h-18.6c-1.7 0-2.6-1-2.6-2.6v-61.2c0-5.7-2.4-8.2-8.2-8.2H401v13.4h5.2c1.7 0 2.6 1 2.6 2.6v61.2zm63.4 0c0 5.8 2.4 8.2 8.2 8.2H519c5.7 0 8.2-2.4 8.2-8.2v-13h-14.3v5.2c0 1.7-1 2.6-2.6 2.6h-19.7c-1.7 0-2.6-1-2.6-2.6v-20.3h27.7v-13.4H488v-22.4h19.2c1.7 0 2.6 1 2.6 2.6v5.2H524v-13c0-5.7-2.5-8.2-8.2-8.2h-51.6v13.4h7.8v63.9zm58.9-76v5.9h1.6v-5.9h2.7v-1.2h-7v1.2h2.7zm5.7-1.2v7.1h1.5v-5.7l2.3 5.7h1.3l2.3-5.7v5.7h1.5v-7.1h-2.3l-2.1 5.1-2.1-5.1h-2.4z"],suse:[640,512,[],"f7d6","M471.08 102.66s-.3 18.3-.3 20.3c-9.1-3-74.4-24.1-135.7-26.3-51.9-1.8-122.8-4.3-223 57.3-19.4 12.4-73.9 46.1-99.6 109.7C7 277-.12 307 7 335.06a111 111 0 0 0 16.5 35.7c17.4 25 46.6 41.6 78.1 44.4 44.4 3.9 78.1-16 90-53.3 8.2-25.8 0-63.6-31.5-82.9-25.6-15.7-53.3-12.1-69.2-1.6-13.9 9.2-21.8 23.5-21.6 39.2.3 27.8 24.3 42.6 41.5 42.6a49 49 0 0 0 15.8-2.7c6.5-1.8 13.3-6.5 13.3-14.9 0-12.1-11.6-14.8-16.8-13.9-2.9.5-4.5 2-11.8 2.4-2-.2-12-3.1-12-14V316c.2-12.3 13.2-18 25.5-16.9 32.3 2.8 47.7 40.7 28.5 65.7-18.3 23.7-76.6 23.2-99.7-20.4-26-49.2 12.7-111.2 87-98.4 33.2 5.7 83.6 35.5 102.4 104.3h45.9c-5.7-17.6-8.9-68.3 42.7-68.3 56.7 0 63.9 39.9 79.8 68.3H460c-12.8-18.3-21.7-38.7-18.9-55.8 5.6-33.8 39.7-18.4 82.4-17.4 66.5.4 102.1-27 103.1-28 3.7-3.1 6.5-15.8 7-17.7 1.3-5.1-3.2-2.4-3.2-2.4-8.7 5.2-30.5 15.2-50.9 15.6-25.3.5-76.2-25.4-81.6-28.2-.3-.4.1 1.2-11-25.5 88.4 58.3 118.3 40.5 145.2 21.7.8-.6 4.3-2.9 3.6-5.7-13.8-48.1-22.4-62.7-34.5-69.6-37-21.6-125-34.7-129.2-35.3.1-.1-.9-.3-.9.7zm60.4 72.8a37.54 37.54 0 0 1 38.9-36.3c33.4 1.2 48.8 42.3 24.4 65.2-24.2 22.7-64.4 4.6-63.3-28.9zm38.6-25.3a26.27 26.27 0 1 0 25.4 27.2 26.19 26.19 0 0 0-25.4-27.2zm4.3 28.8c-15.4 0-15.4-15.6 0-15.6s15.4 15.64 0 15.64z"],swift:[448,512,[],"f8e1","M448 156.09c0-4.51-.08-9-.2-13.52a196.31 196.31 0 0 0-2.58-29.42 99.62 99.62 0 0 0-9.22-28A94.08 94.08 0 0 0 394.84 44a99.17 99.17 0 0 0-28-9.22 195 195 0 0 0-29.43-2.59c-4.51-.12-9-.17-13.52-.2H124.14c-4.51 0-9 .08-13.52.2-2.45.07-4.91.15-7.37.27a171.68 171.68 0 0 0-22.06 2.32 103.06 103.06 0 0 0-21.21 6.1q-3.46 1.45-6.81 3.12a94.66 94.66 0 0 0-18.39 12.32c-1.88 1.61-3.69 3.28-5.43 5A93.86 93.86 0 0 0 12 85.17a99.45 99.45 0 0 0-9.22 28 196.31 196.31 0 0 0-2.54 29.4c-.13 4.51-.18 9-.21 13.52v199.83c0 4.51.08 9 .21 13.51a196.08 196.08 0 0 0 2.58 29.42 99.3 99.3 0 0 0 9.22 28A94.31 94.31 0 0 0 53.17 468a99.47 99.47 0 0 0 28 9.21 195 195 0 0 0 29.43 2.59c4.5.12 9 .17 13.52.2H323.91c4.51 0 9-.08 13.52-.2a196.59 196.59 0 0 0 29.44-2.59 99.57 99.57 0 0 0 28-9.21A94.22 94.22 0 0 0 436 426.84a99.3 99.3 0 0 0 9.22-28 194.79 194.79 0 0 0 2.59-29.42c.12-4.5.17-9 .2-13.51V172.14c-.01-5.35-.01-10.7-.01-16.05zm-69.88 241c-20-38.93-57.23-29.27-76.31-19.47-1.72 1-3.48 2-5.25 3l-.42.25c-39.5 21-92.53 22.54-145.85-.38A234.64 234.64 0 0 1 45 290.12a230.63 230.63 0 0 0 39.17 23.37c56.36 26.4 113 24.49 153 0-57-43.85-104.6-101-141.09-147.22a197.09 197.09 0 0 1-18.78-25.9c43.7 40 112.7 90.22 137.48 104.12-52.57-55.49-98.89-123.94-96.72-121.74 82.79 83.42 159.18 130.59 159.18 130.59 2.88 1.58 5 2.85 6.73 4a127.44 127.44 0 0 0 4.16-12.47c13.22-48.33-1.66-103.58-35.31-149.2C329.61 141.75 375 229.34 356.4 303.42c-.44 1.73-.95 3.4-1.44 5.09 38.52 47.4 28.04 98.17 23.13 88.59z"],symfony:[512,512,[],"f83d","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm133.74 143.54c-11.47.41-19.4-6.45-19.77-16.87-.27-9.18 6.68-13.44 6.53-18.85-.23-6.55-10.16-6.82-12.87-6.67-39.78 1.29-48.59 57-58.89 113.85 21.43 3.15 36.65-.72 45.14-6.22 12-7.75-3.34-15.72-1.42-24.56 4-18.16 32.55-19 32 5.3-.36 17.86-25.92 41.81-77.6 35.7-10.76 59.52-18.35 115-58.2 161.72-29 34.46-58.4 39.82-71.58 40.26-24.65.85-41-12.31-41.58-29.84-.56-17 14.45-26.26 24.31-26.59 21.89-.75 30.12 25.67 14.88 34-12.09 9.71.11 12.61 2.05 12.55 10.42-.36 17.34-5.51 22.18-9 24-20 33.24-54.86 45.35-118.35 8.19-49.66 17-78 18.23-82-16.93-12.75-27.08-28.55-49.85-34.72-15.61-4.23-25.12-.63-31.81 7.83-7.92 10-5.29 23 2.37 30.7l12.63 14c15.51 17.93 24 31.87 20.8 50.62-5.06 29.93-40.72 52.9-82.88 39.94-36-11.11-42.7-36.56-38.38-50.62 7.51-24.15 42.36-11.72 34.62 13.6-2.79 8.6-4.92 8.68-6.28 13.07-4.56 14.77 41.85 28.4 51-1.39 4.47-14.52-5.3-21.71-22.25-39.85-28.47-31.75-16-65.49 2.95-79.67C204.23 140.13 251.94 197 262 205.29c37.17-109 100.53-105.46 102.43-105.53 25.16-.81 44.19 10.59 44.83 28.65.25 7.69-4.17 22.59-19.52 23.13z"],teamspeak:[512,512,[],"f4f9","M244.2 346.79c2.4-12.3-12-30-32.4-48.7-20.9-19.2-48.2-39.1-63.4-46.6-21.7-12-41.7-1.8-46.3 22.7-5 26.2 0 51.4 14.5 73.9 10.2 15.5 25.4 22.7 43.4 24 11.6.6 52.5 2.2 61.7-1 11.9-4.3 20.1-11.8 22.5-24.3zm205 20.8a5.22 5.22 0 0 0-8.3 2.4c-8 25.4-44.7 112.5-172.1 121.5-149.7 10.5 80.3 43.6 145.4-6.4 22.7-17.4 47.6-35 46.6-85.4-.4-10.1-4.9-26.69-11.6-32.1zm62-122.4c-.3-18.9-8.6-33.4-26-42.2-2.9-1.3-5-2.7-5.9-6.4A222.64 222.64 0 0 0 438.9 103c-1.1-1.5-3.5-3.2-2.2-5 8.5-11.5-.3-18-7-24.4Q321.4-31.11 177.4 13.09c-40.1 12.3-73.9 35.6-102 67.4-4 4.3-6.7 9.1-3 14.5 3 4 1.3 6.2-1 9.3C51.6 132 38.2 162.59 32.1 196c-.7 4.3-2.9 6-6.4 7.8-14.2 7-22.5 18.5-24.9 34L0 264.29v20.9c0 30.8 21 50.4 51.8 49 7.7-.3 11.7-4.3 12-11.5 2-77.5-2.4-95.4 3.7-125.8C92.1 72.39 234.3 5 345.3 65.39 411.4 102 445.7 159 447.6 234.79c.8 28.2 0 56.5 0 84.6 0 7 2.2 12.5 9.4 14.2 24.1 5 49.2-12 53.2-36.7 2.9-17.1 1-34.5 1-51.7zm-159.6 131.5c36.5 2.8 59.3-28.5 58.4-60.5-2.1-45.2-66.2-16.5-87.8-8-73.2 28.1-45 54.9-22.2 60.8z"],telegram:[496,512,[],"f2c6","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm121.8 169.9l-40.7 191.8c-3 13.6-11.1 16.9-22.4 10.5l-62-45.7-29.9 28.8c-3.3 3.3-6.1 6.1-12.5 6.1l4.4-63.1 114.9-103.8c5-4.4-1.1-6.9-7.7-2.5l-142 89.4-61.2-19.1c-13.3-4.2-13.6-13.3 2.8-19.7l239.1-92.2c11.1-4 20.8 2.7 17.2 19.5z"],"telegram-plane":[448,512,[],"f3fe","M446.7 98.6l-67.6 318.8c-5.1 22.5-18.4 28.1-37.3 17.5l-103-75.9-49.7 47.8c-5.5 5.5-10.1 10.1-20.7 10.1l7.4-104.9 190.9-172.5c8.3-7.4-1.8-11.5-12.9-4.1L117.8 284 16.2 252.2c-22.1-6.9-22.5-22.1 4.6-32.7L418.2 66.4c18.4-6.9 34.5 4.1 28.5 32.2z"],"tencent-weibo":[384,512,[],"f1d5","M72.3 495.8c1.4 19.9-27.6 22.2-29.7 2.9C31 368.8 73.7 259.2 144 185.5c-15.6-34 9.2-77.1 50.6-77.1 30.3 0 55.1 24.6 55.1 55.1 0 44-49.5 70.8-86.9 45.1-65.7 71.3-101.4 169.8-90.5 287.2zM192 .1C66.1.1-12.3 134.3 43.7 242.4 52.4 259.8 79 246.9 70 229 23.7 136.4 91 29.8 192 29.8c75.4 0 136.9 61.4 136.9 136.9 0 90.8-86.9 153.9-167.7 133.1-19.1-4.1-25.6 24.4-6.6 29.1 110.7 23.2 204-60 204-162.3C358.6 74.7 284 .1 192 .1z"],"the-red-yeti":[512,512,[],"f69d","M488.23 241.7l20.7 7.1c-9.6-23.9-23.9-37-31.7-44.8l7.1-18.2c.2 0 12.3-27.8-2.5-30.7-.6-11.3-6.6-27-18.4-27-7.6-10.6-17.7-12.3-30.7-5.9a122.2 122.2 0 0 0-25.3 16.5c-5.3-6.4-3 .4-3-29.8-37.1-24.3-45.4-11.7-74.8 3l.5.5a239.36 239.36 0 0 0-68.4-13.3c-5.5-8.7-18.6-19.1-25.1-25.1l24.8 7.1c-5.5-5.5-26.8-12.9-34.2-15.2 18.2-4.1 29.8-20.8 42.5-33-34.9-10.1-67.9-5.9-97.9 11.8l12-44.2L182 0c-31.6 24.2-33 41.9-33.7 45.5-.9-2.4-6.3-19.6-15.2-27a35.12 35.12 0 0 0-.5 25.3c3 8.4 5.9 14.8 8.4 18.9-16-3.3-28.3-4.9-49.2 0h-3.7l33 14.3a194.26 194.26 0 0 0-46.7 67.4l-1.7 8.4 1.7 1.7 7.6-4.7c-3.3 11.6-5.3 19.4-6.6 25.8a200.18 200.18 0 0 0-27.8 40.3c-15 1-31.8 10.8-40.3 14.3l3 3.4 28.8 1c-.5 1-.7 2.2-1.2 3.2-7.3 6.4-39.8 37.7-33 80.7l20.2-22.4c.5 1.7.7 3.4 1.2 5.2 0 25.5.4 89.6 64.9 150.5 43.6 40 96 60.2 157.5 60.2 121.7 0 223-87.3 223-211.5 6.8-9.7-1.2 3 16.7-25.1l13 14.3 2.5-.5A181.84 181.84 0 0 0 495 255a44.74 44.74 0 0 0-6.8-13.3zM398 111.2l-.5 21.9c5.5 18.1 16.9 17.2 22.4 17.2l-3.4-4.7 22.4-5.4a242.44 242.44 0 0 1-27 0c12.8-2.1 33.3-29 43-11.3 3.4 7.6 6.4 17.2 9.3 27.8l1.7-5.9a56.38 56.38 0 0 1-1.7-15.2c5.4.5 8.8 3.4 9.3 10.1.5 6.4 1.7 14.8 3.4 25.3l4.7-11.3c4.6 0 4.5-3.6-2.5 20.7-20.9-8.7-35.1-8.4-46.5-8.4l18.2-16c-25.3 8.2-33 10.8-54.8 20.9-1.1-5.4-5-13.5-16-19.9-3.2 3.8-2.8.9-.7 14.8h-2.5a62.32 62.32 0 0 0-8.4-23.1l4.2-3.4c8.4-7.1 11.8-14.3 10.6-21.9-.5-6.4-5.4-13.5-13.5-20.7 5.6-3.4 15.2-.4 28.3 8.5zm-39.6-10.1c2.7 1.9 11.4 5.4 18.9 17.2 4.2 8.4 4 9.8 3.4 11.1-.5 2.4-.5 4.3-3 7.1-1.7 2.5-5.4 4.7-11.8 7.6-7.6-13-16.5-23.6-27.8-31.2zM91 143.1l1.2-1.7c1.2-2.9 4.2-7.6 9.3-15.2l2.5-3.4-13 12.3 5.4-4.7-10.1 9.3-4.2 1.2c12.3-24.1 23.1-41.3 32.5-50.2 9.3-9.3 16-16 20.2-19.4l-6.4 1.2c-11.3-4.2-19.4-7.1-24.8-8.4 2.5-.5 3.7-.5 3.2-.5 10.3 0 17.5.5 20.9 1.2a52.35 52.35 0 0 0 16 2.5l.5-1.7-8.4-35.8 13.5 29a42.89 42.89 0 0 0 5.9-14.3c1.7-6.4 5.4-13 10.1-19.4s7.6-10.6 9.3-11.3a234.68 234.68 0 0 0-6.4 25.3l-1.7 7.1-.5 4.7 2.5 2.5C190.4 39.9 214 34 239.8 34.5l21.1.5c-11.8 13.5-27.8 21.9-48.5 24.8a201.26 201.26 0 0 1-23.4 2.9l-.2-.5-2.5-1.2a20.75 20.75 0 0 0-14 2c-2.5-.2-4.9-.5-7.1-.7l-2.5 1.7.5 1.2c2 .2 3.9.5 6.2.7l-2 3.4 3.4-.5-10.6 11.3c-4.2 3-5.4 6.4-4.2 9.3l5.4-3.4h1.2a39.4 39.4 0 0 1 25.3-15.2v-3c6.4.5 13 1 19.4 1.2 6.4 0 8.4.5 5.4 1.2a189.6 189.6 0 0 1 20.7 13.5c13.5 10.1 23.6 21.9 30 35.4 8.8 18.2 13.5 37.1 13.5 56.6a141.13 141.13 0 0 1-3 28.3 209.91 209.91 0 0 1-16 46l2.5.5c18.2-19.7 41.9-16 49.2-16l-6.4 5.9 22.4 17.7-1.7 30.7c-5.4-12.3-16.5-21.1-33-27.8 16.5 14.8 23.6 21.1 21.9 20.2-4.8-2.8-3.5-1.9-10.8-3.7 4.1 4.1 17.5 18.8 18.2 20.7l.2.2-.2.2c0 1.8 1.6-1.2-14 22.9-75.2-15.3-106.27-42.7-141.2-63.2l11.8 1.2c-11.8-18.5-15.6-17.7-38.4-26.1L149 225c-8.8-3-18.2-3-28.3.5l7.6-10.6-1.2-1.7c-14.9 4.3-19.8 9.2-22.6 11.3-1.1-5.5-2.8-12.4-12.3-28.8l-1.2 27-13.2-5c1.5-25.2 5.4-50.5 13.2-74.6zm276.5 330c-49.9 25-56.1 22.4-59 23.9-29.8-11.8-50.9-31.7-63.5-58.8l30 16.5c-9.8-9.3-18.3-16.5-38.4-44.3l11.8 23.1-17.7-7.6c14.2 21.1 23.5 51.7 66.6 73.5-120.8 24.2-199-72.1-200.9-74.3a262.57 262.57 0 0 0 35.4 24.8c3.4 1.7 7.1 2.5 10.1 1.2l-16-20.7c9.2 4.2 9.5 4.5 69.1 29-42.5-20.7-73.8-40.8-93.2-60.2-.5 6.4-1.2 10.1-1.2 10.1a80.25 80.25 0 0 1 20.7 26.6c-39-18.9-57.6-47.6-71.3-82.6 49.9 55.1 118.9 37.5 120.5 37.1 34.8 16.4 69.9 23.6 113.9 10.6 3.3 0 20.3 17 25.3 39.1l4.2-3-2.5-23.6c9 9 24.9 22.6 34.4 13-15.6-5.3-23.5-9.5-29.5-31.7 4.6 4.2 7.6 9 27.8 15l1.2-1.2-10.5-14.2c11.7-4.8-3.5 1 32-10.8 4.3 34.3 9 49.2.7 89.5zm115.3-214.4l-2.5.5 3 9.3c-3.5 5.9-23.7 44.3-71.6 79.7-39.5 29.8-76.6 39.1-80.9 40.3l-7.6-7.1-1.2 3 14.3 16-7.1-4.7 3.4 4.2h-1.2l-21.9-13.5 9.3 26.6-19-27.9-1.2 2.5 7.6 29c-6.1-8.2-21-32.6-56.8-39.6l32.5 21.2a214.82 214.82 0 0 1-93.2-6.4c-4.2-1.2-8.9-2.5-13.5-4.2l1.2-3-44.8-22.4 26.1 22.4c-57.7 9.1-113-25.4-126.4-83.4l-2.5-16.4-22.27 22.3c19.5-57.5 25.6-57.9 51.4-70.1-9.1-5.3-1.6-3.3-38.4-9.3 15.8-5.8 33-15.4 73 5.2a18.5 18.5 0 0 1 3.7-1.7c.6-3.2.4-.8 1-11.8 3.9 10 3.6 8.7 3 9.3l1.7.5c12.7-6.5 8.9-4.5 17-8.9l-5.4 13.5 22.3-5.8-8.4 8.4 2.5 2.5c4.5-1.8 30.3 3.4 40.8 16l-23.6-2.5c39.4 23 51.5 54 55.8 69.6l1.7-1.2c-2.8-22.3-12.4-33.9-16-40.1 4.2 5 39.2 34.6 110.4 46-11.3-.5-23.1 5.4-34.9 18.9l46.7-20.2-9.3 21.9c7.6-10.1 14.8-23.6 21.2-39.6v-.5l1.2-3-1.2 16c13.5-41.8 25.3-78.5 35.4-109.7l13.5-27.8v-2l-5.4-4.2h10.1l5.9 4.2 2.5-1.2-3.4-16 12.3 18.9 41.8-20.2-14.8 13 .5 2.9 17.7-.5a184 184 0 0 1 33 4.2l-23.6 2.5-1.2 3 26.6 23.1a254.21 254.21 0 0 1 27 32c-11.2-3.3-10.3-3.4-21.2-3.4l12.3 32.5zm-6.1-71.3l-3.9 13-14.3-11.8zm-254.8 7.1c1.7 10.6 4.7 17.7 8.8 21.9-9.3 6.6-27.5 13.9-46.5 16l.5 1.2a50.22 50.22 0 0 0 24.8-2.5l-7.1 13c4.2-1.7 10.1-7.1 17.7-14.8 11.9-5.5 12.7-5.1 20.2-16-12.7-6.4-15.7-13.7-18.4-18.8zm3.7-102.3c-6.4-3.4-10.6 3-12.3 18.9s2.5 29.5 11.8 39.6 18.2 10.6 26.1 3 3.4-23.6-11.3-47.7a39.57 39.57 0 0 0-14.27-13.8zm-4.7 46.3c5.4 2.2 10.5 1.9 12.3-10.6v-4.7l-1.2.5c-4.3-3.1-2.5-4.5-1.7-6.2l.5-.5c-.9-1.2-5-8.1-12.5 4.7-.5-13.5.5-21.9 3-24.8 1.2-2.5 4.7-1.2 11.3 4.2 6.4 5.4 11.3 16 15.2 32.5 6.5 28-19.8 26.2-26.9 4.9zm-45-5.5c1.6.3 9.3-1.1 9.3-14.8h-.5c-5.4-1.1-2.2-5.5-.7-5.9-1.7-3-3.4-4.2-5.4-4.7-8.1 0-11.6 12.7-8.1 21.2a7.51 7.51 0 0 0 5.43 4.2zM216 82.9l-2.5.5.5 3a48.94 48.94 0 0 1 26.1 5.9c-2.5-5.5-10-14.3-28.3-14.3l.5 2.5zm-71.8 49.4c21.7 16.8 16.5 21.4 46.5 23.6l-2.9-4.7a42.67 42.67 0 0 0 14.8-28.3c1.7-16-1.2-29.5-8.8-41.3l13-7.6a2.26 2.26 0 0 0-.5-1.7 14.21 14.21 0 0 0-13.5 1.7c-12.7 6.7-28 20.9-29 22.4-1.7 1.7-3.4 5.9-5.4 13.5a99.61 99.61 0 0 0-2.9 23.6c-4.7-8-10.5-6.4-19.9-5.9l7.1 7.6c-16.5 0-23.3 15.4-23.6 16 6.8 0 4.6-7.6 30-12.3-4.3-6.3-3.3-5-4.9-6.6zm18.7-18.7c1.2-7.6 3.4-13 6.4-17.2 5.4-6.4 10.6-10.1 16-11.8 4.2-1.7 7.1 1.2 10.1 9.3a72.14 72.14 0 0 1 3 25.3c-.5 9.3-3.4 17.2-8.4 23.1-2.9 3.4-5.4 5.9-6.4 7.6a39.21 39.21 0 0 1-11.3-.5l-7.1-3.4-5.4-6.4c.8-10 1.3-18.8 3.1-26zm42 56.1c-34.8 14.4-34.7 14-36.1 14.3-20.8 4.7-19-24.4-18.9-24.8l5.9-1.2-.5-2.5c-20.2-2.6-31 4.2-32.5 4.9.5.5 3 3.4 5.9 9.3 4.2-6.4 8.8-10.1 15.2-10.6a83.47 83.47 0 0 0 1.7 33.7c.1.5 2.6 17.4 27.5 24.1 11.3 3 27 1.2 48.9-5.4l-9.2.5c-4.2-14.8-6.4-24.8-5.9-29.5 11.3-8.8 21.9-11.3 30.7-7.6h2.5l-11.8-7.6-7.1.5c-5.9 1.2-12.3 4.2-19.4 8.4z"],themeco:[448,512,[],"f5c6","M202.9 8.43c9.9-5.73 26-5.82 35.95-.21L430 115.85c10 5.6 18 19.44 18 30.86V364c0 11.44-8.06 25.29-18 31L238.81 503.74c-9.93 5.66-26 5.57-35.85-.21L17.86 395.12C8 389.34 0 375.38 0 364V146.71c0-11.44 8-25.36 17.91-31.08zm-77.4 199.83c-15.94 0-31.89.14-47.83.14v101.45H96.8V280h28.7c49.71 0 49.56-71.74 0-71.74zm140.14 100.29l-30.73-34.64c37-7.51 34.8-65.23-10.87-65.51-16.09 0-32.17-.14-48.26-.14v101.59h19.13v-33.91h18.41l29.56 33.91h22.76zm-41.59-82.32c23.34 0 23.26 32.46 0 32.46h-29.13v-32.46zm-95.56-1.6c21.18 0 21.11 38.85 0 38.85H96.18v-38.84zm192.65-18.25c-68.46 0-71 105.8 0 105.8 69.48-.01 69.41-105.8 0-105.8zm0 17.39c44.12 0 44.8 70.86 0 70.86s-44.43-70.86 0-70.86z"],themeisle:[512,512,[],"f2b2","M208 88.286c0-10 6.286-21.714 17.715-21.714 11.142 0 17.714 11.714 17.714 21.714 0 10.285-6.572 21.714-17.714 21.714C214.286 110 208 98.571 208 88.286zm304 160c0 36.001-11.429 102.286-36.286 129.714-22.858 24.858-87.428 61.143-120.857 70.572l-1.143.286v32.571c0 16.286-12.572 30.571-29.143 30.571-10 0-19.429-5.714-24.572-14.286-5.427 8.572-14.856 14.286-24.856 14.286-10 0-19.429-5.714-24.858-14.286-5.142 8.572-14.571 14.286-24.57 14.286-10.286 0-19.429-5.714-24.858-14.286-5.143 8.572-14.571 14.286-24.571 14.286-18.857 0-29.429-15.714-29.429-32.857-16.286 12.285-35.715 19.428-56.571 19.428-22 0-43.429-8.285-60.286-22.857 10.285-.286 20.571-2.286 30.285-5.714-20.857-5.714-39.428-18.857-52-36.286 21.37 4.645 46.209 1.673 67.143-11.143-22-22-56.571-58.857-68.572-87.428C1.143 321.714 0 303.714 0 289.429c0-49.714 20.286-160 86.286-160 10.571 0 18.857 4.858 23.143 14.857a158.792 158.792 0 0 1 12-15.428c2-2.572 5.714-5.429 7.143-8.286 7.999-12.571 11.714-21.142 21.714-34C182.571 45.428 232 17.143 285.143 17.143c6 0 12 .285 17.714 1.143C313.714 6.571 328.857 0 344.572 0c14.571 0 29.714 6 40 16.286.857.858 1.428 2.286 1.428 3.428 0 3.714-10.285 13.429-12.857 16.286 4.286 1.429 15.714 6.858 15.714 12 0 2.857-2.857 5.143-4.571 7.143 31.429 27.714 49.429 67.143 56.286 108 4.286-5.143 10.285-8.572 17.143-8.572 10.571 0 20.857 7.144 28.571 14.001C507.143 187.143 512 221.714 512 248.286zM188 89.428c0 18.286 12.571 37.143 32.286 37.143 19.714 0 32.285-18.857 32.285-37.143 0-18-12.571-36.857-32.285-36.857-19.715 0-32.286 18.858-32.286 36.857zM237.714 194c0-19.714 3.714-39.143 8.571-58.286-52.039 79.534-13.531 184.571 68.858 184.571 21.428 0 42.571-7.714 60-20 2-7.429 3.714-14.857 3.714-22.572 0-14.286-6.286-21.428-20.572-21.428-4.571 0-9.143.857-13.429 1.714-63.343 12.668-107.142 3.669-107.142-63.999zm-41.142 254.858c0-11.143-8.858-20.857-20.286-20.857-11.429 0-20 9.715-20 20.857v32.571c0 11.143 8.571 21.142 20 21.142 11.428 0 20.286-9.715 20.286-21.142v-32.571zm49.143 0c0-11.143-8.572-20.857-20-20.857-11.429 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.857 21.142 20.286 21.142 11.428 0 20-10 20-21.142v-32.571zm49.713 0c0-11.143-8.857-20.857-20.285-20.857-11.429 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.857 21.142 20.286 21.142 11.428 0 20.285-9.715 20.285-21.142v-32.571zm49.715 0c0-11.143-8.857-20.857-20.286-20.857-11.428 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.858 21.142 20.286 21.142 11.429 0 20.286-10 20.286-21.142v-32.571zM421.714 286c-30.857 59.142-90.285 102.572-158.571 102.572-96.571 0-160.571-84.572-160.571-176.572 0-16.857 2-33.429 6-49.714-20 33.715-29.714 72.572-29.714 111.429 0 60.286 24.857 121.715 71.429 160.857 5.143-9.714 14.857-16.286 26-16.286 10 0 19.428 5.714 24.571 14.286 5.429-8.571 14.571-14.286 24.858-14.286 10 0 19.428 5.714 24.571 14.286 5.429-8.571 14.857-14.286 24.858-14.286 10 0 19.428 5.714 24.857 14.286 5.143-8.571 14.571-14.286 24.572-14.286 10.857 0 20.857 6.572 25.714 16 43.427-36.286 68.569-92 71.426-148.286zm10.572-99.714c0-53.714-34.571-105.714-92.572-105.714-30.285 0-58.571 15.143-78.857 36.857C240.862 183.812 233.41 254 302.286 254c28.805 0 97.357-28.538 84.286 36.857 28.857-26 45.714-65.714 45.714-104.571z"],"think-peaks":[576,512,[],"f731","M465.4 409.4l87.1-150.2-32-.3-55.1 95L259.2 0 23 407.4l32 .3L259.2 55.6zm-355.3-44.1h32.1l117.4-202.5L463 511.9l32.5.1-235.8-404.6z"],tiktok:[448,512,[],"e07b","M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z"],"trade-federation":[496,512,[],"f513","M248 8.8c-137 0-248 111-248 248s111 248 248 248 248-111 248-248-111-248-248-248zm0 482.8c-129.7 0-234.8-105.1-234.8-234.8S118.3 22 248 22s234.8 105.1 234.8 234.8S377.7 491.6 248 491.6zm155.1-328.5v-46.8H209.3V198H54.2l36.7 46h117.7v196.8h48.8V245h83.3v-47h-83.3v-34.8h145.7zm-73.3 45.1v23.9h-82.9v197.4h-26.8V232.1H96.3l-20.1-23.9h143.9v-80.6h171.8V152h-145v56.2zm-161.3-69l-12.4-20.7 2.1 23.8-23.5 5.4 23.3 5.4-2.1 24 12.3-20.5 22.2 9.5-15.7-18.1 15.8-18.1zm-29.6-19.7l9.3-11.5-12.7 5.9-8-12.4 1.7 13.9-14.3 3.8 13.7 2.7-.8 14.7 6.8-12.2 13.8 5.3zm165.4 145.2l-13.1 5.6-7.3-12.2 1.3 14.2-13.9 3.2 13.9 3.2-1.2 14.2 7.3-12.2 13.1 5.5-9.4-10.7zm106.9-77.2l-20.9 9.1-12-19.6 2.2 22.7-22.3 5.4 22.2 4.9-1.8 22.9 11.5-19.6 21.2 8.8-15.1-17zM248 29.9c-125.3 0-226.9 101.6-226.9 226.9S122.7 483.7 248 483.7s226.9-101.6 226.9-226.9S373.3 29.9 248 29.9zM342.6 196v51h-83.3v195.7h-52.7V245.9H89.9l-40-49.9h157.4v-81.6h197.8v50.7H259.4V196zM248 43.2c60.3 0 114.8 25 153.6 65.2H202.5V190H45.1C73.1 104.8 153.4 43.2 248 43.2zm0 427.1c-117.9 0-213.6-95.6-213.6-213.5 0-21.2 3.1-41.8 8.9-61.1L87.1 252h114.7v196.8h64.6V253h83.3v-62.7h-83.2v-19.2h145.6v-50.8c30.8 37 49.3 84.6 49.3 136.5.1 117.9-95.5 213.5-213.4 213.5zM178.8 275l-11-21.4 1.7 24.5-23.7 3.9 23.8 5.9-3.7 23.8 13-20.9 21.5 10.8-15.8-18.8 16.9-17.1z"],trello:[448,512,[],"f181","M392.3 32H56.1C25.1 32 0 57.1 0 88c-.1 0 0-4 0 336 0 30.9 25.1 56 56 56h336.2c30.8-.2 55.7-25.2 55.7-56V88c.1-30.8-24.8-55.8-55.6-56zM197 371.3c-.2 14.7-12.1 26.6-26.9 26.6H87.4c-14.8.1-26.9-11.8-27-26.6V117.1c0-14.8 12-26.9 26.9-26.9h82.9c14.8 0 26.9 12 26.9 26.9v254.2zm193.1-112c0 14.8-12 26.9-26.9 26.9h-81c-14.8 0-26.9-12-26.9-26.9V117.2c0-14.8 12-26.9 26.8-26.9h81.1c14.8 0 26.9 12 26.9 26.9v142.1z"],tripadvisor:[576,512,[],"f262","M528.91,178.82,576,127.58H471.66a326.11,326.11,0,0,0-367,0H0l47.09,51.24A143.911,143.911,0,0,0,241.86,390.73L288,440.93l46.11-50.17A143.94,143.94,0,0,0,575.88,285.18h-.03A143.56,143.56,0,0,0,528.91,178.82ZM144.06,382.57a97.39,97.39,0,1,1,97.39-97.39A97.39,97.39,0,0,1,144.06,382.57ZM288,282.37c0-64.09-46.62-119.08-108.09-142.59a281,281,0,0,1,216.17,0C334.61,163.3,288,218.29,288,282.37Zm143.88,100.2h-.01a97.405,97.405,0,1,1,.01,0ZM144.06,234.12h-.01a51.06,51.06,0,1,0,51.06,51.06v-.11A51,51,0,0,0,144.06,234.12Zm287.82,0a51.06,51.06,0,1,0,51.06,51.06A51.06,51.06,0,0,0,431.88,234.12Z"],tumblr:[320,512,[],"f173","M309.8 480.3c-13.6 14.5-50 31.7-97.4 31.7-120.8 0-147-88.8-147-140.6v-144H17.9c-5.5 0-10-4.5-10-10v-68c0-7.2 4.5-13.6 11.3-16 62-21.8 81.5-76 84.3-117.1.8-11 6.5-16.3 16.1-16.3h70.9c5.5 0 10 4.5 10 10v115.2h83c5.5 0 10 4.4 10 9.9v81.7c0 5.5-4.5 10-10 10h-83.4V360c0 34.2 23.7 53.6 68 35.8 4.8-1.9 9-3.2 12.7-2.2 3.5.9 5.8 3.4 7.4 7.9l22 64.3c1.8 5 3.3 10.6-.4 14.5z"],"tumblr-square":[448,512,[],"f174","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-82.3 364.2c-8.5 9.1-31.2 19.8-60.9 19.8-75.5 0-91.9-55.5-91.9-87.9v-90h-29.7c-3.4 0-6.2-2.8-6.2-6.2v-42.5c0-4.5 2.8-8.5 7.1-10 38.8-13.7 50.9-47.5 52.7-73.2.5-6.9 4.1-10.2 10-10.2h44.3c3.4 0 6.2 2.8 6.2 6.2v72h51.9c3.4 0 6.2 2.8 6.2 6.2v51.1c0 3.4-2.8 6.2-6.2 6.2h-52.1V321c0 21.4 14.8 33.5 42.5 22.4 3-1.2 5.6-2 8-1.4 2.2.5 3.6 2.1 4.6 4.9l13.8 40.2c1 3.2 2 6.7-.3 9.1z"],twitch:[512,512,[],"f1e8","M391.17,103.47H352.54v109.7h38.63ZM285,103H246.37V212.75H285ZM120.83,0,24.31,91.42V420.58H140.14V512l96.53-91.42h77.25L487.69,256V0ZM449.07,237.75l-77.22,73.12H294.61l-67.6,64v-64H140.14V36.58H449.07Z"],twitter:[512,512,[],"f099","M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"],"twitter-square":[448,512,[],"f081","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-48.9 158.8c.2 2.8.2 5.7.2 8.5 0 86.7-66 186.6-186.6 186.6-37.2 0-71.7-10.8-100.7-29.4 5.3.6 10.4.8 15.8.8 30.7 0 58.9-10.4 81.4-28-28.8-.6-53-19.5-61.3-45.5 10.1 1.5 19.2 1.5 29.6-1.2-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3a65.447 65.447 0 0 1-29.2-54.6c0-12.2 3.2-23.4 8.9-33.1 32.3 39.8 80.8 65.8 135.2 68.6-9.3-44.5 24-80.6 64-80.6 18.9 0 35.9 7.9 47.9 20.7 14.8-2.8 29-8.3 41.6-15.8-4.9 15.2-15.2 28-28.8 36.1 13.2-1.4 26-5.1 37.8-10.2-8.9 13.1-20.1 24.7-32.9 34z"],typo3:[448,512,[],"f42b","M178.7 78.4c0-24.7 5.4-32.4 13.9-39.4-69.5 8.5-149.3 34-176.3 66.4-5.4 7.7-9.3 20.8-9.3 37.1C7 246 113.8 480 191.1 480c36.3 0 97.3-59.5 146.7-139-7 2.3-11.6 2.3-18.5 2.3-57.2 0-140.6-198.5-140.6-264.9zM301.5 32c-30.1 0-41.7 5.4-41.7 36.3 0 66.4 53.8 198.5 101.7 198.5 26.3 0 78.8-99.7 78.8-182.3 0-40.9-67-52.5-138.8-52.5z"],uber:[448,512,[],"f402","M414.1 32H33.9C15.2 32 0 47.2 0 65.9V446c0 18.8 15.2 34 33.9 34H414c18.7 0 33.9-15.2 33.9-33.9V65.9C448 47.2 432.8 32 414.1 32zM237.6 391.1C163 398.6 96.4 344.2 88.9 269.6h94.4V290c0 3.7 3 6.8 6.8 6.8H258c3.7 0 6.8-3 6.8-6.8v-67.9c0-3.7-3-6.8-6.8-6.8h-67.9c-3.7 0-6.8 3-6.8 6.8v20.4H88.9c7-69.4 65.4-122.2 135.1-122.2 69.7 0 128.1 52.8 135.1 122.2 7.5 74.5-46.9 141.1-121.5 148.6z"],ubuntu:[496,512,[],"f7df","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm52.7 93c8.8-15.2 28.3-20.5 43.5-11.7 15.3 8.8 20.5 28.3 11.7 43.6-8.8 15.2-28.3 20.5-43.5 11.7-15.3-8.9-20.5-28.4-11.7-43.6zM87.4 287.9c-17.6 0-31.9-14.3-31.9-31.9 0-17.6 14.3-31.9 31.9-31.9 17.6 0 31.9 14.3 31.9 31.9 0 17.6-14.3 31.9-31.9 31.9zm28.1 3.1c22.3-17.9 22.4-51.9 0-69.9 8.6-32.8 29.1-60.7 56.5-79.1l23.7 39.6c-51.5 36.3-51.5 112.5 0 148.8L172 370c-27.4-18.3-47.8-46.3-56.5-79zm228.7 131.7c-15.3 8.8-34.7 3.6-43.5-11.7-8.8-15.3-3.6-34.8 11.7-43.6 15.2-8.8 34.7-3.6 43.5 11.7 8.8 15.3 3.6 34.8-11.7 43.6zm.3-69.5c-26.7-10.3-56.1 6.6-60.5 35-5.2 1.4-48.9 14.3-96.7-9.4l22.5-40.3c57 26.5 123.4-11.7 128.9-74.4l46.1.7c-2.3 34.5-17.3 65.5-40.3 88.4zm-5.9-105.3c-5.4-62-71.3-101.2-128.9-74.4l-22.5-40.3c47.9-23.7 91.5-10.8 96.7-9.4 4.4 28.3 33.8 45.3 60.5 35 23.1 22.9 38 53.9 40.2 88.5l-46 .6z"],uikit:[448,512,[],"f403","M443.9 128v256L218 512 0 384V169.7l87.6 45.1v117l133.5 75.5 135.8-75.5v-151l-101.1-57.6 87.6-53.1L443.9 128zM308.6 49.1L223.8 0l-88.6 54.8 86 47.3 87.4-53z"],umbraco:[510,512,[],"f8e8","M255.35 8C118.36 7.83 7.14 118.72 7 255.68c-.07 137 111 248.2 248 248.27 136.85 0 247.82-110.7 248-247.67S392.34 8.17 255.35 8zm145 266q-1.14 40.68-14 65t-43.51 35q-30.61 10.7-85.45 10.47h-4.6q-54.78.22-85.44-10.47t-43.52-35q-12.85-24.36-14-65a224.81 224.81 0 0 1 0-30.71 418.37 418.37 0 0 1 3.6-43.88c1.88-13.39 3.57-22.58 5.4-32 1-4.88 1.28-6.42 1.82-8.45a5.09 5.09 0 0 1 4.9-3.89h.69l32 5a5.07 5.07 0 0 1 4.16 5 5 5 0 0 1 0 .77l-1.7 8.78q-2.41 13.25-4.84 33.68a380.62 380.62 0 0 0-2.64 42.15q-.28 40.43 8.13 59.83a43.87 43.87 0 0 0 31.31 25.18A243 243 0 0 0 250 340.6h10.25a242.64 242.64 0 0 0 57.27-5.16 43.86 43.86 0 0 0 31.15-25.23q8.53-19.42 8.13-59.78a388 388 0 0 0-2.6-42.15q-2.48-20.38-4.89-33.68l-1.69-8.78a5 5 0 0 1 0-.77 5 5 0 0 1 4.2-5l32-5h.82a5 5 0 0 1 4.9 3.89c.55 2.05.81 3.57 1.83 8.45 1.82 9.62 3.52 18.78 5.39 32a415.71 415.71 0 0 1 3.61 43.88 228.06 228.06 0 0 1-.04 30.73z"],uniregistry:[384,512,[],"f404","M192 480c39.5 0 76.2-11.8 106.8-32.2H85.3C115.8 468.2 152.5 480 192 480zm-89.1-193.1v-12.4H0v12.4c0 2.5 0 5 .1 7.4h103.1c-.2-2.4-.3-4.9-.3-7.4zm20.5 57H8.5c2.6 8.5 5.8 16.8 9.6 24.8h138.3c-12.9-5.7-24.1-14.2-33-24.8zm-17.7-34.7H1.3c.9 7.6 2.2 15 3.9 22.3h109.7c-4-6.9-7.2-14.4-9.2-22.3zm-2.8-69.3H0v17.3h102.9zm0-173.2H0v4.9h102.9zm0-34.7H0v2.5h102.9zm0 69.3H0v7.4h102.9zm0 104H0v14.8h102.9zm0-69.3H0v9.9h102.9zm0 34.6H0V183h102.9zm166.2 160.9h109.7c1.8-7.3 3.1-14.7 3.9-22.3H278.3c-2.1 7.9-5.2 15.4-9.2 22.3zm12-185.7H384V136H281.1zm0 37.2H384v-12.4H281.1zm0-74.3H384v-7.4H281.1zm0-76.7v2.5H384V32zm-203 410.9h227.7c11.8-8.7 22.7-18.6 32.2-29.7H44.9c9.6 11 21.4 21 33.2 29.7zm203-371.3H384v-4.9H281.1zm0 148.5H384v-14.8H281.1zM38.8 405.7h305.3c6.7-8.5 12.6-17.6 17.8-27.2H23c5.2 9.6 9.2 18.7 15.8 27.2zm188.8-37.1H367c3.7-8 5.8-16.2 8.5-24.8h-115c-8.8 10.7-20.1 19.2-32.9 24.8zm53.5-81.7c0 2.5-.1 5-.4 7.4h103.1c.1-2.5.2-4.9.2-7.4v-12.4H281.1zm0-29.7H384v-17.3H281.1z"],unity:[576,512,[],"e049","M498.11,206.4,445.31,14.72,248.2,66.08,219,116.14l-59.2-.43L15.54,256,159.82,396.32l59.17-.43,29.24,50,197.08,51.36,52.8-191.62-30-49.63ZM223.77,124.2,374.55,86.51,288,232.33H114.87Zm0,263.63L114.87,279.71H288l86.55,145.81Zm193,14L330.17,256l86.58-145.84L458.56,256Z"],unsplash:[448,512,[],"e07c","M448,230.17V480H0V230.17H141.13V355.09H306.87V230.17ZM306.87,32H141.13V156.91H306.87Z"],untappd:[640,512,[],"f405","M401.3 49.9c-79.8 160.1-84.6 152.5-87.9 173.2l-5.2 32.8c-1.9 12-6.6 23.5-13.7 33.4L145.6 497.1c-7.6 10.6-20.4 16.2-33.4 14.6-40.3-5-77.8-32.2-95.3-68.5-5.7-11.8-4.5-25.8 3.1-36.4l148.9-207.9c7.1-9.9 16.4-18 27.2-23.7l29.3-15.5c18.5-9.8 9.7-11.9 135.6-138.9 1-4.8 1-7.3 3.6-8 3-.7 6.6-1 6.3-4.6l-.4-4.6c-.2-1.9 1.3-3.6 3.2-3.6 4.5-.1 13.2 1.2 25.6 10 12.3 8.9 16.4 16.8 17.7 21.1.6 1.8-.6 3.7-2.4 4.2l-4.5 1.1c-3.4.9-2.5 4.4-2.3 7.4.1 2.8-2.3 3.6-6.5 6.1zM230.1 36.4c3.4.9 2.5 4.4 2.3 7.4-.2 2.7 2.1 3.5 6.4 6 7.9 15.9 15.3 30.5 22.2 44 .7 1.3 2.3 1.5 3.3.5 11.2-12 24.6-26.2 40.5-42.6 1.3-1.4 1.4-3.5.1-4.9-8-8.2-16.5-16.9-25.6-26.1-1-4.7-1-7.3-3.6-8-3-.8-6.6-1-6.3-4.6.3-3.3 1.4-8.1-2.8-8.2-4.5-.1-13.2 1.1-25.6 10-12.3 8.9-16.4 16.8-17.7 21.1-1.4 4.2 3.6 4.6 6.8 5.4zM620 406.7L471.2 198.8c-13.2-18.5-26.6-23.4-56.4-39.1-11.2-5.9-14.2-10.9-30.5-28.9-1-1.1-2.9-.9-3.6.5-46.3 88.8-47.1 82.8-49 94.8-1.7 10.7-1.3 20 .3 29.8 1.9 12 6.6 23.5 13.7 33.4l148.9 207.9c7.6 10.6 20.2 16.2 33.1 14.7 40.3-4.9 78-32 95.7-68.6 5.4-11.9 4.3-25.9-3.4-36.6z"],ups:[384,512,[],"f7e0","M103.2 303c-5.2 3.6-32.6 13.1-32.6-19V180H37.9v102.6c0 74.9 80.2 51.1 97.9 39V180h-32.6zM4 74.82v220.9c0 103.7 74.9 135.2 187.7 184.1 112.4-48.9 187.7-80.2 187.7-184.1V74.82c-116.3-61.6-281.8-49.6-375.4 0zm358.1 220.9c0 86.6-53.2 113.6-170.4 165.3-117.5-51.8-170.5-78.7-170.5-165.3v-126.4c102.3-93.8 231.6-100 340.9-89.8zm-209.6-107.4v212.8h32.7v-68.7c24.4 7.3 71.7-2.6 71.7-78.5 0-97.4-80.7-80.92-104.4-65.6zm32.7 117.3v-100.3c8.4-4.2 38.4-12.7 38.4 49.3 0 67.9-36.4 51.8-38.4 51zm79.1-86.4c.1 47.3 51.6 42.5 52.2 70.4.6 23.5-30.4 23-50.8 4.9v30.1c36.2 21.5 81.9 8.1 83.2-33.5 1.7-51.5-54.1-46.6-53.4-73.2.6-20.3 30.6-20.5 48.5-2.2v-28.4c-28.5-22-79.9-9.2-79.7 31.9z"],usb:[640,512,[],"f287","M641.5 256c0 3.1-1.7 6.1-4.5 7.5L547.9 317c-1.4.8-2.8 1.4-4.5 1.4-1.4 0-3.1-.3-4.5-1.1-2.8-1.7-4.5-4.5-4.5-7.8v-35.6H295.7c25.3 39.6 40.5 106.9 69.6 106.9H392V354c0-5 3.9-8.9 8.9-8.9H490c5 0 8.9 3.9 8.9 8.9v89.1c0 5-3.9 8.9-8.9 8.9h-89.1c-5 0-8.9-3.9-8.9-8.9v-26.7h-26.7c-75.4 0-81.1-142.5-124.7-142.5H140.3c-8.1 30.6-35.9 53.5-69 53.5C32 327.3 0 295.3 0 256s32-71.3 71.3-71.3c33.1 0 61 22.8 69 53.5 39.1 0 43.9 9.5 74.6-60.4C255 88.7 273 95.7 323.8 95.7c7.5-20.9 27-35.6 50.4-35.6 29.5 0 53.5 23.9 53.5 53.5s-23.9 53.5-53.5 53.5c-23.4 0-42.9-14.8-50.4-35.6H294c-29.1 0-44.3 67.4-69.6 106.9h310.1v-35.6c0-3.3 1.7-6.1 4.5-7.8 2.8-1.7 6.4-1.4 8.9.3l89.1 53.5c2.8 1.1 4.5 4.1 4.5 7.2z"],usps:[576,512,[],"f7e1","M460.3 241.7c25.8-41.3 15.2-48.8-11.7-48.8h-27c-.1 0-1.5-1.4-10.9 8-11.2 5.6-37.9 6.3-37.9 8.7 0 4.5 70.3-3.1 88.1 0 9.5 1.5-1.5 20.4-4.4 32-.5 4.5 2.4 2.3 3.8.1zm-112.1 22.6c64-21.3 97.3-23.9 102-26.2 4.4-2.9-4.4-6.6-26.2-5.8-51.7 2.2-137.6 37.1-172.6 53.9l-30.7-93.3h196.6c-2.7-28.2-152.9-22.6-337.9-22.6L27 415.8c196.4-97.3 258.9-130.3 321.2-151.5zM94.7 96c253.3 53.7 330 65.7 332.1 85.2 36.4 0 45.9 0 52.4 6.6 21.1 19.7-14.6 67.7-14.6 67.7-4.4 2.9-406.4 160.2-406.4 160.2h423.1L549 96z"],ussunnah:[512,512,[],"f407","M156.8 285.1l5.7 14.4h-8.2c-1.3-3.2-3.1-7.7-3.8-9.5-2.5-6.3-1.1-8.4 0-10 1.9-2.7 3.2-4.4 3.6-5.2 0 2.2.8 5.7 2.7 10.3zm297.3 18.8c-2.1 13.8-5.7 27.1-10.5 39.7l43 23.4-44.8-18.8c-5.3 13.2-12 25.6-19.9 37.2l34.2 30.2-36.8-26.4c-8.4 11.8-18 22.6-28.7 32.3l24.9 34.7-28.1-31.8c-11 9.6-23.1 18-36.1 25.1l15.7 37.2-19.3-35.3c-13.1 6.8-27 12.1-41.6 15.9l6.7 38.4-10.5-37.4c-14.3 3.4-29.2 5.3-44.5 5.4L256 512l-1.9-38.4c-15.3-.1-30.2-2-44.5-5.3L199 505.6l6.7-38.2c-14.6-3.7-28.6-9.1-41.7-15.8l-19.2 35.1 15.6-37c-13-7-25.2-15.4-36.2-25.1l-27.9 31.6 24.7-34.4c-10.7-9.7-20.4-20.5-28.8-32.3l-36.5 26.2 33.9-29.9c-7.9-11.6-14.6-24.1-20-37.3l-44.4 18.7L67.8 344c-4.8-12.7-8.4-26.1-10.5-39.9l-51 9 50.3-14.2c-1.1-8.5-1.7-17.1-1.7-25.9 0-4.7.2-9.4.5-14.1L0 256l56-2.8c1.3-13.1 3.8-25.8 7.5-38.1L6.4 199l58.9 10.4c4-12 9.1-23.5 15.2-34.4l-55.1-30 58.3 24.6C90 159 97.2 149.2 105.3 140L55.8 96.4l53.9 38.7c8.1-8.6 17-16.5 26.6-23.6l-40-55.6 45.6 51.6c9.5-6.6 19.7-12.3 30.3-17.2l-27.3-64.9 33.8 62.1c10.5-4.4 21.4-7.9 32.7-10.4L199 6.4l19.5 69.2c11-2.1 22.3-3.2 33.8-3.4L256 0l3.6 72.2c11.5.2 22.8 1.4 33.8 3.5L313 6.4l-12.4 70.7c11.3 2.6 22.2 6.1 32.6 10.5l33.9-62.2-27.4 65.1c10.6 4.9 20.7 10.7 30.2 17.2l45.8-51.8-40.1 55.9c9.5 7.1 18.4 15 26.5 23.6l54.2-38.9-49.7 43.9c8 9.1 15.2 18.9 21.5 29.4l58.7-24.7-55.5 30.2c6.1 10.9 11.1 22.3 15.1 34.3l59.3-10.4-57.5 16.2c3.7 12.2 6.2 24.9 7.5 37.9L512 256l-56 2.8c.3 4.6.5 9.3.5 14.1 0 8.7-.6 17.3-1.6 25.8l50.7 14.3-51.5-9.1zm-21.8-31c0-97.5-79-176.5-176.5-176.5s-176.5 79-176.5 176.5 79 176.5 176.5 176.5 176.5-79 176.5-176.5zm-24 0c0 84.3-68.3 152.6-152.6 152.6s-152.6-68.3-152.6-152.6 68.3-152.6 152.6-152.6 152.6 68.3 152.6 152.6zM195 241c0 2.1 1.3 3.8 3.6 5.1 3.3 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.5 6.8-9.6 10.9-9.6 12.6zm-40.7-19c0 2.1 1.3 3.8 3.6 5.1 3.5 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.5 6.8-9.6 10.9-9.6 12.6zm-19 0c0 2.1 1.3 3.8 3.6 5.1 3.3 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.4 6.8-9.6 10.9-9.6 12.6zm204.9 87.9c-8.4-3-8.7-6.8-8.7-15.6V182c-8.2 12.5-14.2 18.6-18 18.6 6.3 14.4 9.5 23.9 9.5 28.3v64.3c0 2.2-2.2 6.5-4.7 6.5h-18c-2.8-7.5-10.2-26.9-15.3-40.3-2 2.5-7.2 9.2-10.7 13.7 2.4 1.6 4.1 3.6 5.2 6.3 2.6 6.7 6.4 16.5 7.9 20.2h-9.2c-3.9-10.4-9.6-25.4-11.8-31.1-2 2.5-7.2 9.2-10.7 13.7 2.4 1.6 4.1 3.6 5.2 6.3.8 2 2.8 7.3 4.3 10.9H256c-1.5-4.1-5.6-14.6-8.4-22-2 2.5-7.2 9.2-10.7 13.7 2.5 1.6 4.3 3.6 5.2 6.3.2.6.5 1.4.6 1.7H225c-4.6-13.9-11.4-27.7-11.4-34.1 0-2.2.3-5.1 1.1-8.2-8.8 10.8-14 15.9-14 25 0 7.5 10.4 28.3 10.4 33.3 0 1.7-.5 3.3-1.4 4.9-9.6-12.7-15.5-20.7-18.8-20.7h-12l-11.2-28c-3.8-9.6-5.7-16-5.7-18.8 0-3.8.5-7.7 1.7-12.2-1 1.3-3.7 4.7-5.5 7.1-.8-2.1-3.1-7.7-4.6-11.5-2.1 2.5-7.5 9.1-11.2 13.6.9 2.3 3.3 8.1 4.9 12.2-2.5 3.3-9.1 11.8-13.6 17.7-4 5.3-5.8 13.3-2.7 21.8 2.5 6.7 2 7.9-1.7 14.1H191c5.5 0 14.3 14 15.5 22 13.2-16 15.4-19.6 16.8-21.6h107c3.9 0 7.2-1.9 9.9-5.8zm20.1-26.6V181.7c-9 12.5-15.9 18.6-20.7 18.6 7.1 14.4 10.7 23.9 10.7 28.3v66.3c0 17.5 8.6 20.4 24 20.4 8.1 0 12.5-.8 13.7-2.7-4.3-1.6-7.6-2.5-9.9-3.3-8.1-3.2-17.8-7.4-17.8-26z"],vaadin:[448,512,[],"f408","M224.5 140.7c1.5-17.6 4.9-52.7 49.8-52.7h98.6c20.7 0 32.1-7.8 32.1-21.6V54.1c0-12.2 9.3-22.1 21.5-22.1S448 41.9 448 54.1v36.5c0 42.9-21.5 62-66.8 62H280.7c-30.1 0-33 14.7-33 27.1 0 1.3-.1 2.5-.2 3.7-.7 12.3-10.9 22.2-23.4 22.2s-22.7-9.8-23.4-22.2c-.1-1.2-.2-2.4-.2-3.7 0-12.3-3-27.1-33-27.1H66.8c-45.3 0-66.8-19.1-66.8-62V54.1C0 41.9 9.4 32 21.6 32s21.5 9.9 21.5 22.1v12.3C43.1 80.2 54.5 88 75.2 88h98.6c44.8 0 48.3 35.1 49.8 52.7h.9zM224 456c11.5 0 21.4-7 25.7-16.3 1.1-1.8 97.1-169.6 98.2-171.4 11.9-19.6-3.2-44.3-27.2-44.3-13.9 0-23.3 6.4-29.8 20.3L224 362l-66.9-117.7c-6.4-13.9-15.9-20.3-29.8-20.3-24 0-39.1 24.6-27.2 44.3 1.1 1.9 97.1 169.6 98.2 171.4 4.3 9.3 14.2 16.3 25.7 16.3z"],viacoin:[384,512,[],"f237","M384 32h-64l-80.7 192h-94.5L64 32H0l48 112H0v48h68.5l13.8 32H0v48h102.8L192 480l89.2-208H384v-48h-82.3l13.8-32H384v-48h-48l48-112zM192 336l-27-64h54l-27 64z"],viadeo:[448,512,[],"f2a9","M276.2 150.5v.7C258.3 98.6 233.6 47.8 205.4 0c43.3 29.2 67 100 70.8 150.5zm32.7 121.7c7.6 18.2 11 37.5 11 57 0 77.7-57.8 141-137.8 139.4l3.8-.3c74.2-46.7 109.3-118.6 109.3-205.1 0-38.1-6.5-75.9-18.9-112 1 11.7 1 23.7 1 35.4 0 91.8-18.1 241.6-116.6 280C95 455.2 49.4 398 49.4 329.2c0-75.6 57.4-142.3 135.4-142.3 16.8 0 33.7 3.1 49.1 9.6 1.7-15.1 6.5-29.9 13.4-43.3-19.9-7.2-41.2-10.7-62.5-10.7-161.5 0-238.7 195.9-129.9 313.7 67.9 74.6 192 73.9 259.8 0 56.6-61.3 60.9-142.4 36.4-201-12.7 8-27.1 13.9-42.2 17zM418.1 11.7c-31 66.5-81.3 47.2-115.8 80.1-12.4 12-20.6 34-20.6 50.5 0 14.1 4.5 27.1 12 38.8 47.4-11 98.3-46 118.2-90.7-.7 5.5-4.8 14.4-7.2 19.2-20.3 35.7-64.6 65.6-99.7 84.9 14.8 14.4 33.7 25.8 55 25.8 79 0 110.1-134.6 58.1-208.6z"],"viadeo-square":[448,512,[],"f2aa","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM280.7 381.2c-42.4 46.2-120 46.6-162.4 0-68-73.6-19.8-196.1 81.2-196.1 13.3 0 26.6 2.1 39.1 6.7-4.3 8.4-7.3 17.6-8.4 27.1-9.7-4.1-20.2-6-30.7-6-48.8 0-84.6 41.7-84.6 88.9 0 43 28.5 78.7 69.5 85.9 61.5-24 72.9-117.6 72.9-175 0-7.3 0-14.8-.6-22.1-11.2-32.9-26.6-64.6-44.2-94.5 27.1 18.3 41.9 62.5 44.2 94.1v.4c7.7 22.5 11.8 46.2 11.8 70 0 54.1-21.9 99-68.3 128.2l-2.4.2c50 1 86.2-38.6 86.2-87.2 0-12.2-2.1-24.3-6.9-35.7 9.5-1.9 18.5-5.6 26.4-10.5 15.3 36.6 12.6 87.3-22.8 125.6zM309 233.7c-13.3 0-25.1-7.1-34.4-16.1 21.9-12 49.6-30.7 62.3-53 1.5-3 4.1-8.6 4.5-12-12.5 27.9-44.2 49.8-73.9 56.7-4.7-7.3-7.5-15.5-7.5-24.3 0-10.3 5.2-24.1 12.9-31.6 21.6-20.5 53-8.5 72.4-50 32.5 46.2 13.1 130.3-36.3 130.3z"],viber:[512,512,[],"f409","M444 49.9C431.3 38.2 379.9.9 265.3.4c0 0-135.1-8.1-200.9 52.3C27.8 89.3 14.9 143 13.5 209.5c-1.4 66.5-3.1 191.1 117 224.9h.1l-.1 51.6s-.8 20.9 13 25.1c16.6 5.2 26.4-10.7 42.3-27.8 8.7-9.4 20.7-23.2 29.8-33.7 82.2 6.9 145.3-8.9 152.5-11.2 16.6-5.4 110.5-17.4 125.7-142 15.8-128.6-7.6-209.8-49.8-246.5zM457.9 287c-12.9 104-89 110.6-103 115.1-6 1.9-61.5 15.7-131.2 11.2 0 0-52 62.7-68.2 79-5.3 5.3-11.1 4.8-11-5.7 0-6.9.4-85.7.4-85.7-.1 0-.1 0 0 0-101.8-28.2-95.8-134.3-94.7-189.8 1.1-55.5 11.6-101 42.6-131.6 55.7-50.5 170.4-43 170.4-43 96.9.4 143.3 29.6 154.1 39.4 35.7 30.6 53.9 103.8 40.6 211.1zm-139-80.8c.4 8.6-12.5 9.2-12.9.6-1.1-22-11.4-32.7-32.6-33.9-8.6-.5-7.8-13.4.7-12.9 27.9 1.5 43.4 17.5 44.8 46.2zm20.3 11.3c1-42.4-25.5-75.6-75.8-79.3-8.5-.6-7.6-13.5.9-12.9 58 4.2 88.9 44.1 87.8 92.5-.1 8.6-13.1 8.2-12.9-.3zm47 13.4c.1 8.6-12.9 8.7-12.9.1-.6-81.5-54.9-125.9-120.8-126.4-8.5-.1-8.5-12.9 0-12.9 73.7.5 133 51.4 133.7 139.2zM374.9 329v.2c-10.8 19-31 40-51.8 33.3l-.2-.3c-21.1-5.9-70.8-31.5-102.2-56.5-16.2-12.8-31-27.9-42.4-42.4-10.3-12.9-20.7-28.2-30.8-46.6-21.3-38.5-26-55.7-26-55.7-6.7-20.8 14.2-41 33.3-51.8h.2c9.2-4.8 18-3.2 23.9 3.9 0 0 12.4 14.8 17.7 22.1 5 6.8 11.7 17.7 15.2 23.8 6.1 10.9 2.3 22-3.7 26.6l-12 9.6c-6.1 4.9-5.3 14-5.3 14s17.8 67.3 84.3 84.3c0 0 9.1.8 14-5.3l9.6-12c4.6-6 15.7-9.8 26.6-3.7 14.7 8.3 33.4 21.2 45.8 32.9 7 5.7 8.6 14.4 3.8 23.6z"],vimeo:[448,512,[],"f40a","M403.2 32H44.8C20.1 32 0 52.1 0 76.8v358.4C0 459.9 20.1 480 44.8 480h358.4c24.7 0 44.8-20.1 44.8-44.8V76.8c0-24.7-20.1-44.8-44.8-44.8zM377 180.8c-1.4 31.5-23.4 74.7-66 129.4-44 57.2-81.3 85.8-111.7 85.8-18.9 0-34.8-17.4-47.9-52.3-25.5-93.3-36.4-148-57.4-148-2.4 0-10.9 5.1-25.4 15.2l-15.2-19.6c37.3-32.8 72.9-69.2 95.2-71.2 25.2-2.4 40.7 14.8 46.5 51.7 20.7 131.2 29.9 151 67.6 91.6 13.5-21.4 20.8-37.7 21.8-48.9 3.5-33.2-25.9-30.9-45.8-22.4 15.9-52.1 46.3-77.4 91.2-76 33.3.9 49 22.5 47.1 64.7z"],"vimeo-square":[448,512,[],"f194","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16.2 149.6c-1.4 31.1-23.2 73.8-65.3 127.9-43.5 56.5-80.3 84.8-110.4 84.8-18.7 0-34.4-17.2-47.3-51.6-25.2-92.3-35.9-146.4-56.7-146.4-2.4 0-10.8 5-25.1 15.1L64 192c36.9-32.4 72.1-68.4 94.1-70.4 24.9-2.4 40.2 14.6 46 51.1 20.5 129.6 29.6 149.2 66.8 90.5 13.4-21.2 20.6-37.2 21.5-48.3 3.4-32.8-25.6-30.6-45.2-22.2 15.7-51.5 45.8-76.5 90.1-75.1 32.9 1 48.4 22.4 46.5 64z"],"vimeo-v":[448,512,[],"f27d","M447.8 153.6c-2 43.6-32.4 103.3-91.4 179.1-60.9 79.2-112.4 118.8-154.6 118.8-26.1 0-48.2-24.1-66.3-72.3C100.3 250 85.3 174.3 56.2 174.3c-3.4 0-15.1 7.1-35.2 21.1L0 168.2c51.6-45.3 100.9-95.7 131.8-98.5 34.9-3.4 56.3 20.5 64.4 71.5 28.7 181.5 41.4 208.9 93.6 126.7 18.7-29.6 28.8-52.1 30.2-67.6 4.8-45.9-35.8-42.8-63.3-31 22-72.1 64.1-107.1 126.2-105.1 45.8 1.2 67.5 31.1 64.9 89.4z"],vine:[384,512,[],"f1ca","M384 254.7v52.1c-18.4 4.2-36.9 6.1-52.1 6.1-36.9 77.4-103 143.8-125.1 156.2-14 7.9-27.1 8.4-42.7-.8C137 452 34.2 367.7 0 102.7h74.5C93.2 261.8 139 343.4 189.3 404.5c27.9-27.9 54.8-65.1 75.6-106.9-49.8-25.3-80.1-80.9-80.1-145.6 0-65.6 37.7-115.1 102.2-115.1 114.9 0 106.2 127.9 81.6 181.5 0 0-46.4 9.2-63.5-20.5 3.4-11.3 8.2-30.8 8.2-48.5 0-31.3-11.3-46.6-28.4-46.6-18.2 0-30.8 17.1-30.8 50 .1 79.2 59.4 118.7 129.9 101.9z"],vk:[576,512,[],"f189","M545 117.7c3.7-12.5 0-21.7-17.8-21.7h-58.9c-15 0-21.9 7.9-25.6 16.7 0 0-30 73.1-72.4 120.5-13.7 13.7-20 18.1-27.5 18.1-3.7 0-9.4-4.4-9.4-16.9V117.7c0-15-4.2-21.7-16.6-21.7h-92.6c-9.4 0-15 7-15 13.5 0 14.2 21.2 17.5 23.4 57.5v86.8c0 19-3.4 22.5-10.9 22.5-20 0-68.6-73.4-97.4-157.4-5.8-16.3-11.5-22.9-26.6-22.9H38.8c-16.8 0-20.2 7.9-20.2 16.7 0 15.6 20 93.1 93.1 195.5C160.4 378.1 229 416 291.4 416c37.5 0 42.1-8.4 42.1-22.9 0-66.8-3.4-73.1 15.4-73.1 8.7 0 23.7 4.4 58.7 38.1 40 40 46.6 57.9 69 57.9h58.9c16.8 0 25.3-8.4 20.4-25-11.2-34.9-86.9-106.7-90.3-111.5-8.7-11.2-6.2-16.2 0-26.2.1-.1 72-101.3 79.4-135.6z"],vnv:[640,512,[],"f40b","M104.9 352c-34.1 0-46.4-30.4-46.4-30.4L2.6 210.1S-7.8 192 13 192h32.8c10.4 0 13.2 8.7 18.8 18.1l36.7 74.5s5.2 13.1 21.1 13.1 21.1-13.1 21.1-13.1l36.7-74.5c5.6-9.5 8.4-18.1 18.8-18.1h32.8c20.8 0 10.4 18.1 10.4 18.1l-55.8 111.5S174.2 352 140 352h-35.1zm395 0c-34.1 0-46.4-30.4-46.4-30.4l-55.9-111.5S387.2 192 408 192h32.8c10.4 0 13.2 8.7 18.8 18.1l36.7 74.5s5.2 13.1 21.1 13.1 21.1-13.1 21.1-13.1l36.8-74.5c5.6-9.5 8.4-18.1 18.8-18.1H627c20.8 0 10.4 18.1 10.4 18.1l-55.9 111.5S569.3 352 535.1 352h-35.2zM337.6 192c34.1 0 46.4 30.4 46.4 30.4l55.9 111.5s10.4 18.1-10.4 18.1h-32.8c-10.4 0-13.2-8.7-18.8-18.1l-36.7-74.5s-5.2-13.1-21.1-13.1c-15.9 0-21.1 13.1-21.1 13.1l-36.7 74.5c-5.6 9.4-8.4 18.1-18.8 18.1h-32.9c-20.8 0-10.4-18.1-10.4-18.1l55.9-111.5s12.2-30.4 46.4-30.4h35.1z"],vuejs:[448,512,[],"f41f","M356.9 64.3H280l-56 88.6-48-88.6H0L224 448 448 64.3h-91.1zm-301.2 32h53.8L224 294.5 338.4 96.3h53.8L224 384.5 55.7 96.3z"],waze:[512,512,[],"f83f","M502.17 201.67C516.69 287.53 471.23 369.59 389 409.8c13 34.1-12.4 70.2-48.32 70.2a51.68 51.68 0 0 1-51.57-49c-6.44.19-64.2 0-76.33-.64A51.69 51.69 0 0 1 159 479.92c-33.86-1.36-57.95-34.84-47-67.92-37.21-13.11-72.54-34.87-99.62-70.8-13-17.28-.48-41.8 20.84-41.8 46.31 0 32.22-54.17 43.15-110.26C94.8 95.2 193.12 32 288.09 32c102.48 0 197.15 70.67 214.08 169.67zM373.51 388.28c42-19.18 81.33-56.71 96.29-102.14 40.48-123.09-64.15-228-181.71-228-83.45 0-170.32 55.42-186.07 136-9.53 48.91 5 131.35-68.75 131.35C58.21 358.6 91.6 378.11 127 389.54c24.66-21.8 63.87-15.47 79.83 14.34 14.22 1 79.19 1.18 87.9.82a51.69 51.69 0 0 1 78.78-16.42zM205.12 187.13c0-34.74 50.84-34.75 50.84 0s-50.84 34.74-50.84 0zm116.57 0c0-34.74 50.86-34.75 50.86 0s-50.86 34.75-50.86 0zm-122.61 70.69c-3.44-16.94 22.18-22.18 25.62-5.21l.06.28c4.14 21.42 29.85 44 64.12 43.07 35.68-.94 59.25-22.21 64.11-42.77 4.46-16.05 28.6-10.36 25.47 6-5.23 22.18-31.21 62-91.46 62.9-42.55 0-80.88-27.84-87.9-64.25z"],weebly:[512,512,[],"f5cc","M425.09 65.83c-39.88 0-73.28 25.73-83.66 64.33-18.16-58.06-65.5-64.33-84.95-64.33-19.78 0-66.8 6.28-85.28 64.33-10.38-38.6-43.45-64.33-83.66-64.33C38.59 65.83 0 99.72 0 143.03c0 28.96 4.18 33.27 77.17 233.48 22.37 60.57 67.77 69.35 92.74 69.35 39.23 0 70.04-19.46 85.93-53.98 15.89 34.83 46.69 54.29 85.93 54.29 24.97 0 70.36-9.1 92.74-69.67 76.55-208.65 77.5-205.58 77.5-227.2.63-48.32-36.01-83.47-86.92-83.47zm26.34 114.81l-65.57 176.44c-7.92 21.49-21.22 37.22-46.24 37.22-23.44 0-37.38-12.41-44.03-33.9l-39.28-117.42h-.95L216.08 360.4c-6.96 21.5-20.9 33.6-44.02 33.6-25.02 0-38.33-15.74-46.24-37.22L60.88 181.55c-5.38-14.83-7.92-23.91-7.92-34.5 0-16.34 15.84-29.36 38.33-29.36 18.69 0 31.99 11.8 36.11 29.05l44.03 139.82h.95l44.66-136.79c6.02-19.67 16.47-32.08 38.96-32.08s32.94 12.11 38.96 32.08l44.66 136.79h.95l44.03-139.82c4.12-17.25 17.42-29.05 36.11-29.05 22.17 0 38.33 13.32 38.33 35.71-.32 7.87-4.12 16.04-7.61 27.24z"],weibo:[512,512,[],"f18a","M407 177.6c7.6-24-13.4-46.8-37.4-41.7-22 4.8-28.8-28.1-7.1-32.8 50.1-10.9 92.3 37.1 76.5 84.8-6.8 21.2-38.8 10.8-32-10.3zM214.8 446.7C108.5 446.7 0 395.3 0 310.4c0-44.3 28-95.4 76.3-143.7C176 67 279.5 65.8 249.9 161c-4 13.1 12.3 5.7 12.3 6 79.5-33.6 140.5-16.8 114 51.4-3.7 9.4 1.1 10.9 8.3 13.1 135.7 42.3 34.8 215.2-169.7 215.2zm143.7-146.3c-5.4-55.7-78.5-94-163.4-85.7-84.8 8.6-148.8 60.3-143.4 116s78.5 94 163.4 85.7c84.8-8.6 148.8-60.3 143.4-116zM347.9 35.1c-25.9 5.6-16.8 43.7 8.3 38.3 72.3-15.2 134.8 52.8 111.7 124-7.4 24.2 29.1 37 37.4 12 31.9-99.8-55.1-195.9-157.4-174.3zm-78.5 311c-17.1 38.8-66.8 60-109.1 46.3-40.8-13.1-58-53.4-40.3-89.7 17.7-35.4 63.1-55.4 103.4-45.1 42 10.8 63.1 50.2 46 88.5zm-86.3-30c-12.9-5.4-30 .3-38 12.9-8.3 12.9-4.3 28 8.6 34 13.1 6 30.8.3 39.1-12.9 8-13.1 3.7-28.3-9.7-34zm32.6-13.4c-5.1-1.7-11.4.6-14.3 5.4-2.9 5.1-1.4 10.6 3.7 12.9 5.1 2 11.7-.3 14.6-5.4 2.8-5.2 1.1-10.9-4-12.9z"],weixin:[576,512,[],"f1d7","M385.2 167.6c6.4 0 12.6.3 18.8 1.1C387.4 90.3 303.3 32 207.7 32 100.5 32 13 104.8 13 197.4c0 53.4 29.3 97.5 77.9 131.6l-19.3 58.6 68-34.1c24.4 4.8 43.8 9.7 68.2 9.7 6.2 0 12.1-.3 18.3-.8-4-12.9-6.2-26.6-6.2-40.8-.1-84.9 72.9-154 165.3-154zm-104.5-52.9c14.5 0 24.2 9.7 24.2 24.4 0 14.5-9.7 24.2-24.2 24.2-14.8 0-29.3-9.7-29.3-24.2.1-14.7 14.6-24.4 29.3-24.4zm-136.4 48.6c-14.5 0-29.3-9.7-29.3-24.2 0-14.8 14.8-24.4 29.3-24.4 14.8 0 24.4 9.7 24.4 24.4 0 14.6-9.6 24.2-24.4 24.2zM563 319.4c0-77.9-77.9-141.3-165.4-141.3-92.7 0-165.4 63.4-165.4 141.3S305 460.7 397.6 460.7c19.3 0 38.9-5.1 58.6-9.9l53.4 29.3-14.8-48.6C534 402.1 563 363.2 563 319.4zm-219.1-24.5c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.8 0 24.4 9.7 24.4 19.3 0 10-9.7 19.6-24.4 19.6zm107.1 0c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.5 0 24.4 9.7 24.4 19.3.1 10-9.9 19.6-24.4 19.6z"],whatsapp:[448,512,[],"f232","M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z"],"whatsapp-square":[448,512,[],"f40c","M224 122.8c-72.7 0-131.8 59.1-131.9 131.8 0 24.9 7 49.2 20.2 70.1l3.1 5-13.3 48.6 49.9-13.1 4.8 2.9c20.2 12 43.4 18.4 67.1 18.4h.1c72.6 0 133.3-59.1 133.3-131.8 0-35.2-15.2-68.3-40.1-93.2-25-25-58-38.7-93.2-38.7zm77.5 188.4c-3.3 9.3-19.1 17.7-26.7 18.8-12.6 1.9-22.4.9-47.5-9.9-39.7-17.2-65.7-57.2-67.7-59.8-2-2.6-16.2-21.5-16.2-41s10.2-29.1 13.9-33.1c3.6-4 7.9-5 10.6-5 2.6 0 5.3 0 7.6.1 2.4.1 5.7-.9 8.9 6.8 3.3 7.9 11.2 27.4 12.2 29.4s1.7 4.3.3 6.9c-7.6 15.2-15.7 14.6-11.6 21.6 15.3 26.3 30.6 35.4 53.9 47.1 4 2 6.3 1.7 8.6-1 2.3-2.6 9.9-11.6 12.5-15.5 2.6-4 5.3-3.3 8.9-2 3.6 1.3 23.1 10.9 27.1 12.9s6.6 3 7.6 4.6c.9 1.9.9 9.9-2.4 19.1zM400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM223.9 413.2c-26.6 0-52.7-6.7-75.8-19.3L64 416l22.5-82.2c-13.9-24-21.2-51.3-21.2-79.3C65.4 167.1 136.5 96 223.9 96c42.4 0 82.2 16.5 112.2 46.5 29.9 30 47.9 69.8 47.9 112.2 0 87.4-72.7 158.5-160.1 158.5z"],whmcs:[448,512,[],"f40d","M448 161v-21.3l-28.5-8.8-2.2-10.4 20.1-20.7L427 80.4l-29 7.5-7.2-7.5 7.5-28.2-19.1-11.6-21.3 21-10.7-3.2-7-26.4h-22.6l-6.2 26.4-12.1 3.2-19.7-21-19.4 11 8.1 27.7-8.1 8.4-28.5-7.5-11 19.1 20.7 21-2.9 10.4-28.5 7.8-.3 21.7 28.8 7.5 2.4 12.1-20.1 19.9 10.4 18.5 29.6-7.5 7.2 8.6-8.1 26.9 19.9 11.6 19.4-20.4 11.6 2.9 6.7 28.5 22.6.3 6.7-28.8 11.6-3.5 20.7 21.6 20.4-12.1-8.8-28 7.8-8.1 28.8 8.8 10.3-20.1-20.9-18.8 2.2-12.1 29.1-7zm-119.2 45.2c-31.3 0-56.8-25.4-56.8-56.8s25.4-56.8 56.8-56.8 56.8 25.4 56.8 56.8c0 31.5-25.4 56.8-56.8 56.8zm72.3 16.4l46.9 14.5V277l-55.1 13.4-4.1 22.7 38.9 35.3-19.2 37.9-54-16.7-14.6 15.2 16.7 52.5-38.3 22.7-38.9-40.5-21.7 6.6-12.6 54-42.4-.5-12.6-53.6-21.7-5.6-36.4 38.4-37.4-21.7 15.2-50.5-13.7-16.1-55.5 14.1-19.7-34.8 37.9-37.4-4.8-22.8-54-14.1.5-40.9L54 219.9l5.7-19.7-38.9-39.4L41.5 125l53.6 14.1 15.2-15.7-15.2-52 36.4-20.7 36.8 39.4L191 84l11.6-52H245l11.6 45.9L234 72l-6.3-1.7-3.3 5.7-11 19.1-3.3 5.6 4.6 4.6 17.2 17.4-.3 1-23.8 6.5-6.2 1.7-.1 6.4-.2 12.9C153.8 161.6 118 204 118 254.7c0 58.3 47.3 105.7 105.7 105.7 50.5 0 92.7-35.4 103.2-82.8l13.2.2 6.9.1 1.6-6.7 5.6-24 1.9-.6 17.1 17.8 4.7 4.9 5.8-3.4 20.4-12.1 5.8-3.5-2-6.5-6.8-21.2z"],"wikipedia-w":[640,512,[],"f266","M640 51.2l-.3 12.2c-28.1.8-45 15.8-55.8 40.3-25 57.8-103.3 240-155.3 358.6H415l-81.9-193.1c-32.5 63.6-68.3 130-99.2 193.1-.3.3-15 0-15-.3C172 352.3 122.8 243.4 75.8 133.4 64.4 106.7 26.4 63.4.2 63.7c0-3.1-.3-10-.3-14.2h161.9v13.9c-19.2 1.1-52.8 13.3-43.3 34.2 21.9 49.7 103.6 240.3 125.6 288.6 15-29.7 57.8-109.2 75.3-142.8-13.9-28.3-58.6-133.9-72.8-160-9.7-17.8-36.1-19.4-55.8-19.7V49.8l142.5.3v13.1c-19.4.6-38.1 7.8-29.4 26.1 18.9 40 30.6 68.1 48.1 104.7 5.6-10.8 34.7-69.4 48.1-100.8 8.9-20.6-3.9-28.6-38.6-29.4.3-3.6 0-10.3.3-13.6 44.4-.3 111.1-.3 123.1-.6v13.6c-22.5.8-45.8 12.8-58.1 31.7l-59.2 122.8c6.4 16.1 63.3 142.8 69.2 156.7L559.2 91.8c-8.6-23.1-36.4-28.1-47.2-28.3V49.6l127.8 1.1.2.5z"],windows:[448,512,[],"f17a","M0 93.7l183.6-25.3v177.4H0V93.7zm0 324.6l183.6 25.3V268.4H0v149.9zm203.8 28L448 480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8 65.7z"],wix:[640,512,[],"f5cf","M393.38 131.69c0 13.03 2.08 32.69-28.68 43.83-9.52 3.45-15.95 9.66-15.95 9.66 0-31 4.72-42.22 17.4-48.86 9.75-5.11 27.23-4.63 27.23-4.63zm-115.8 35.54l-34.24 132.66-28.48-108.57c-7.69-31.99-20.81-48.53-48.43-48.53-27.37 0-40.66 16.18-48.43 48.53L89.52 299.89 55.28 167.23C49.73 140.51 23.86 128.96 0 131.96l65.57 247.93s21.63 1.56 32.46-3.96c14.22-7.25 20.98-12.84 29.59-46.57 7.67-30.07 29.11-118.41 31.12-124.7 4.76-14.94 11.09-13.81 15.4 0 1.97 6.3 23.45 94.63 31.12 124.7 8.6 33.73 15.37 39.32 29.59 46.57 10.82 5.52 32.46 3.96 32.46 3.96l65.57-247.93c-24.42-3.07-49.82 8.93-55.3 35.27zm115.78 5.21s-4.1 6.34-13.46 11.57c-6.01 3.36-11.78 5.64-17.97 8.61-15.14 7.26-13.18 13.95-13.18 35.2v152.07s16.55 2.09 27.37-3.43c13.93-7.1 17.13-13.95 17.26-44.78V181.41l-.02.01v-8.98zm163.44 84.08L640 132.78s-35.11-5.98-52.5 9.85c-13.3 12.1-24.41 29.55-54.18 72.47-.47.73-6.25 10.54-13.07 0-29.29-42.23-40.8-60.29-54.18-72.47-17.39-15.83-52.5-9.85-52.5-9.85l83.2 123.74-82.97 123.36s36.57 4.62 53.95-11.21c11.49-10.46 17.58-20.37 52.51-70.72 6.81-10.52 12.57-.77 13.07 0 29.4 42.38 39.23 58.06 53.14 70.72 17.39 15.83 53.32 11.21 53.32 11.21L556.8 256.52z"],"wizards-of-the-coast":[640,512,[],"f730","M219.19 345.69c-1.9 1.38-11.07 8.44-.26 23.57 4.64 6.42 14.11 12.79 21.73 6.55 6.5-4.88 7.35-12.92.26-23.04-5.47-7.76-14.28-12.88-21.73-7.08zm336.75 75.94c-.34 1.7-.55 1.67.79 0 2.09-4.19 4.19-10.21 4.98-19.9 3.14-38.49-40.33-71.49-101.34-78.03-54.73-6.02-124.38 9.17-188.8 60.49l-.26 1.57c2.62 4.98 4.98 10.74 3.4 21.21l.79.26c63.89-58.4 131.19-77.25 184.35-73.85 58.4 3.67 100.03 34.04 100.03 68.08-.01 9.96-2.63 15.72-3.94 20.17zM392.28 240.42c.79 7.07 4.19 10.21 9.17 10.47 5.5.26 9.43-2.62 10.47-6.55.79-3.4 2.09-29.85 2.09-29.85s-11.26 6.55-14.93 10.47c-3.66 3.68-7.33 8.39-6.8 15.46zm-50.02-151.1C137.75 89.32 13.1 226.8.79 241.2c-1.05.52-1.31.79.79 1.31 60.49 16.5 155.81 81.18 196.13 202.16l1.05.26c55.25-69.92 140.88-128.05 236.99-128.05 80.92 0 130.15 42.16 130.15 80.39 0 18.33-6.55 33.52-22.26 46.35 0 .96-.2.79.79.79 14.66-10.74 27.5-28.8 27.5-48.18 0-22.78-12.05-38.23-12.05-38.23 7.07 7.07 10.74 16.24 10.74 16.24 5.76-40.85 26.97-62.32 26.97-62.32-2.36-9.69-6.81-17.81-6.81-17.81 7.59 8.12 14.4 27.5 14.4 41.37 0 10.47-3.4 22.78-12.57 31.95l.26.52c8.12-4.98 16.5-16.76 16.5-37.97 0-15.71-4.71-25.92-4.71-25.92 5.76-5.24 11.26-9.17 15.97-11.78.79 3.4 2.09 9.69 2.36 14.93 0 1.05.79 1.83 1.05 0 .79-5.76-.26-16.24-.26-16.5 6.02-3.14 9.69-4.45 9.69-4.45C617.74 176 489.43 89.32 342.26 89.32zm-99.24 289.62c-11.06 8.99-24.2 4.08-30.64-4.19-7.45-9.58-6.76-24.09 4.19-32.47 14.85-11.35 27.08-.49 31.16 5.5.28.39 12.13 16.57-4.71 31.16zm2.09-136.43l9.43-17.81 11.78 70.96-12.57 6.02-24.62-28.8 14.14-26.71 3.67 4.45-1.83-8.11zm18.59 117.58l-.26-.26c2.05-4.1-2.5-6.61-17.54-31.69-1.31-2.36-3.14-2.88-4.45-2.62l-.26-.52c7.86-5.76 15.45-10.21 25.4-15.71l.52.26c1.31 1.83 2.09 2.88 3.4 4.71l-.26.52c-1.05-.26-2.36-.79-5.24.26-2.09.79-7.86 3.67-12.31 7.59v1.31c1.57 2.36 3.93 6.55 5.76 9.69h.26c10.05-6.28 7.56-4.55 11.52-7.86h.26c.52 1.83.52 1.83 1.83 5.5l-.26.26c-3.06.61-4.65.34-11.52 5.5v.26c9.46 17.02 11.01 16.75 12.57 15.97l.26.26c-2.34 1.59-6.27 4.21-9.68 6.57zm55.26-32.47c-3.14 1.57-6.02 2.88-9.95 4.98l-.26-.26c1.29-2.59 1.16-2.71-11.78-32.47l-.26-.26c-.15 0-8.9 3.65-9.95 7.33h-.52l-1.05-5.76.26-.52c7.29-4.56 25.53-11.64 27.76-12.57l.52.26 3.14 4.98-.26.52c-3.53-1.76-7.35.76-12.31 2.62v.26c12.31 32.01 12.67 30.64 14.66 30.64v.25zm44.77-16.5c-4.19 1.05-5.24 1.31-9.69 2.88l-.26-.26.52-4.45c-1.05-3.4-3.14-11.52-3.67-13.62l-.26-.26c-3.4.79-8.9 2.62-12.83 3.93l-.26.26c.79 2.62 3.14 9.95 4.19 13.88.79 2.36 1.83 2.88 2.88 3.14v.52c-3.67 1.05-7.07 2.62-10.21 3.93l-.26-.26c1.05-1.31 1.05-2.88.26-4.98-1.05-3.14-8.12-23.83-9.17-27.23-.52-1.83-1.57-3.14-2.62-3.14v-.52c3.14-1.05 6.02-2.09 10.74-3.4l.26.26-.26 4.71c1.31 3.93 2.36 7.59 3.14 9.69h.26c3.93-1.31 9.43-2.88 12.83-3.93l.26-.26-2.62-9.43c-.52-1.83-1.05-3.4-2.62-3.93v-.26c4.45-1.05 7.33-1.83 10.74-2.36l.26.26c-1.05 1.31-1.05 2.88-.52 4.45 1.57 6.28 4.71 20.43 6.28 26.45.54 2.62 1.85 3.41 2.63 3.93zm32.21-6.81l-.26.26c-4.71.52-14.14 2.36-22.52 4.19l-.26-.26.79-4.19c-1.57-7.86-3.4-18.59-4.98-26.19-.26-1.83-.79-2.88-2.62-3.67l.79-.52c9.17-1.57 20.16-2.36 24.88-2.62l.26.26c.52 2.36.79 3.14 1.57 5.5l-.26.26c-1.14-1.14-3.34-3.2-16.24-.79l-.26.26c.26 1.57 1.05 6.55 1.57 9.95l.26.26c9.52-1.68 4.76-.06 10.74-2.36h.26c0 1.57-.26 1.83-.26 5.24h-.26c-4.81-1.03-2.15-.9-10.21 0l-.26.26c.26 2.09 1.57 9.43 2.09 12.57l.26.26c1.15.38 14.21-.65 16.24-4.71h.26c-.53 2.38-1.05 4.21-1.58 6.04zm10.74-44.51c-4.45 2.36-8.12 2.88-11 2.88-.25.02-11.41 1.09-17.54-9.95-6.74-10.79-.98-25.2 5.5-31.69 8.8-8.12 23.35-10.1 28.54-17.02 8.03-10.33-13.04-22.31-29.59-5.76l-2.62-2.88 5.24-16.24c25.59-1.57 45.2-3.04 50.02 16.24.79 3.14 0 9.43-.26 12.05 0 2.62-1.83 18.85-2.09 23.04-.52 4.19-.79 18.33-.79 20.69.26 2.36.52 4.19 1.57 5.5 1.57 1.83 5.76 1.83 5.76 1.83l-.79 4.71c-11.82-1.07-10.28-.59-20.43-1.05-3.22-5.15-2.23-3.28-4.19-7.86 0 .01-4.19 3.94-7.33 5.51zm37.18 21.21c-6.35-10.58-19.82-7.16-21.73 5.5-2.63 17.08 14.3 19.79 20.69 10.21l.26.26c-.52 1.83-1.83 6.02-1.83 6.28l-.52.52c-10.3 6.87-28.5-2.5-25.66-18.59 1.94-10.87 14.44-18.93 28.8-9.95l.26.52c0 1.06-.27 3.41-.27 5.25zm5.77-87.73v-6.55c.69 0 19.65 3.28 27.76 7.33l-1.57 17.54s10.21-9.43 15.45-10.74c5.24-1.57 14.93 7.33 14.93 7.33l-11.26 11.26c-12.07-6.35-19.59-.08-20.69.79-5.29 38.72-8.6 42.17 4.45 46.09l-.52 4.71c-17.55-4.29-18.53-4.5-36.92-7.33l.79-4.71c7.25 0 7.48-5.32 7.59-6.81 0 0 4.98-53.16 4.98-55.25-.02-2.87-4.99-3.66-4.99-3.66zm10.99 114.44c-8.12-2.09-14.14-11-10.74-20.69 3.14-9.43 12.31-12.31 18.85-10.21 9.17 2.62 12.83 11.78 10.74 19.38-2.61 8.9-9.42 13.87-18.85 11.52zm42.16 9.69c-2.36-.52-7.07-2.36-8.64-2.88v-.26l1.57-1.83c.59-8.24.59-7.27.26-7.59-4.82-1.81-6.66-2.36-7.07-2.36-1.31 1.83-2.88 4.45-3.67 5.5l-.79 3.4v.26c-1.31-.26-3.93-1.31-6.02-1.57v-.26l2.62-1.83c3.4-4.71 9.95-14.14 13.88-20.16v-2.09l.52-.26c2.09.79 5.5 2.09 7.59 2.88.48.48.18-1.87-1.05 25.14-.24 1.81.02 2.6.8 3.91zm-4.71-89.82c11.25-18.27 30.76-16.19 34.04-3.4L539.7 198c2.34-6.25-2.82-9.9-4.45-11.26l1.83-3.67c12.22 10.37 16.38 13.97 22.52 20.43-25.91 73.07-30.76 80.81-24.62 84.32l-1.83 4.45c-6.37-3.35-8.9-4.42-17.81-8.64l2.09-6.81c-.26-.26-3.93 3.93-9.69 3.67-19.06-1.3-22.89-31.75-9.67-52.9zm29.33 79.34c0-5.71-6.34-7.89-7.86-5.24-1.31 2.09 1.05 4.98 2.88 8.38 1.57 2.62 2.62 6.28 1.05 9.43-2.64 6.34-12.4 5.31-15.45-.79 0-.7-.27.09 1.83-4.71l.79-.26c-.57 5.66 6.06 9.61 8.38 4.98 1.05-2.09-.52-5.5-2.09-8.38-1.57-2.62-3.67-6.28-1.83-9.69 2.72-5.06 11.25-4.47 14.66 2.36v.52l-2.36 3.4zm21.21 13.36c-1.96-3.27-.91-2.14-4.45-4.71h-.26c-2.36 4.19-5.76 10.47-8.64 16.24-1.31 2.36-1.05 3.4-.79 3.93l-.26.26-5.76-4.45.26-.26 2.09-1.31c3.14-5.76 6.55-12.05 9.17-17.02v-.26c-2.64-1.98-1.22-1.51-6.02-1.83v-.26l3.14-3.4h.26c3.67 2.36 9.95 6.81 12.31 8.9l.26.26-1.31 3.91zm27.23-44.26l-2.88-2.88c.79-2.36 1.83-4.98 2.09-7.59.75-9.74-11.52-11.84-11.52-4.98 0 4.98 7.86 19.38 7.86 27.76 0 10.21-5.76 15.71-13.88 16.5-8.38.79-20.16-10.47-20.16-10.47l4.98-14.4 2.88 2.09c-2.97 17.8 17.68 20.37 13.35 5.24-1.06-4.02-18.75-34.2 2.09-38.23 13.62-2.36 23.04 16.5 23.04 16.5l-7.85 10.46zm35.62-10.21c-11-30.38-60.49-127.53-191.95-129.62-53.42-1.05-94.27 15.45-132.76 37.97l85.63-9.17-91.39 20.69 25.14 19.64-3.93-16.5c7.5-1.71 39.15-8.45 66.77-8.9l-22.26 80.39c13.61-.7 18.97-8.98 19.64-22.78l4.98-1.05.26 26.71c-22.46 3.21-37.3 6.69-49.49 9.95l13.09-43.21-61.54-36.66 2.36 8.12 10.21 4.98c6.28 18.59 19.38 56.56 20.43 58.66 1.95 4.28 3.16 5.78 12.05 4.45l1.05 4.98c-16.08 4.86-23.66 7.61-39.02 14.4l-2.36-4.71c4.4-2.94 8.73-3.94 5.5-12.83-23.7-62.5-21.48-58.14-22.78-59.44l2.36-4.45 33.52 67.3c-3.84-11.87 1.68 1.69-32.99-78.82l-41.9 88.51 4.71-13.88-35.88-42.16 27.76 93.48-11.78 8.38C95 228.58 101.05 231.87 93.23 231.52c-5.5-.26-13.62 5.5-13.62 5.5L74.63 231c30.56-23.53 31.62-24.33 58.4-42.68l4.19 7.07s-5.76 4.19-7.86 7.07c-5.9 9.28 1.67 13.28 61.8 75.68l-18.85-58.92 39.8-10.21 25.66 30.64 4.45-12.31-4.98-24.62 13.09-3.4.52 3.14 3.67-10.47-94.27 29.33 11.26-4.98-13.62-42.42 17.28-9.17 30.11 36.14 28.54-13.09c-1.41-7.47-2.47-14.5-4.71-19.64l17.28 13.88 4.71-2.09-59.18-42.68 23.08 11.5c18.98-6.07 25.23-7.47 32.21-9.69l2.62 11c-12.55 12.55 1.43 16.82 6.55 19.38l-13.62-61.01 12.05 28.28c4.19-1.31 7.33-2.09 7.33-2.09l2.62 8.64s-3.14 1.05-6.28 2.09l8.9 20.95 33.78-65.73-20.69 61.01c42.42-24.09 81.44-36.66 131.98-35.88 67.04 1.05 167.33 40.85 199.8 139.83.78 2.1-.01 2.63-.79.27zM203.48 152.43s1.83-.52 4.19-1.31l9.43 7.59c-.4 0-3.44-.25-11.26 2.36l-2.36-8.64zm143.76 38.5c-1.57-.6-26.46-4.81-33.26 20.69l21.73 17.02 11.53-37.71zM318.43 67.07c-58.4 0-106.05 12.05-114.96 14.4v.79c8.38 2.09 14.4 4.19 21.21 11.78l1.57.26c6.55-1.83 48.97-13.88 110.24-13.88 180.16 0 301.67 116.79 301.67 223.37v9.95c0 1.31.79 2.62 1.05.52.52-2.09.79-8.64.79-19.64.26-83.79-96.63-227.55-321.57-227.55zm211.06 169.68c1.31-5.76 0-12.31-7.33-13.09-9.62-1.13-16.14 23.79-17.02 33.52-.79 5.5-1.31 14.93 6.02 14.93 4.68-.01 9.72-.91 18.33-35.36zm-61.53 42.95c-2.62-.79-9.43-.79-12.57 10.47-1.83 6.81.52 13.35 6.02 14.66 3.67 1.05 8.9.52 11.78-10.74 2.62-9.94-1.83-13.61-5.23-14.39zM491 300.65c1.83.52 3.14 1.05 5.76 1.83 0-1.83.52-8.38.79-12.05-1.05 1.31-5.5 8.12-6.55 9.95v.27z"],"wolf-pack-battalion":[512,512,[],"f514","M267.73 471.53l10.56 15.84 5.28-12.32 5.28 7V512c21.06-7.92 21.11-66.86 25.51-97.21 4.62-31.89-.88-92.81 81.37-149.11-8.88-23.61-12-49.43-2.64-80.05C421 189 447 196.21 456.43 239.73l-30.35 8.36c11.15 23 17 46.76 13.2 72.14L412 313.18l-6.16 33.43-18.47-7-8.8 33.39-19.35-7 26.39 21.11 8.8-28.15L419 364.2l7-35.63 26.39 14.52c.25-20 7-58.06-8.8-84.45l26.39 5.28c4-22.07-2.38-39.21-7.92-56.74l22.43 9.68c-.44-25.07-29.94-56.79-61.58-58.5-20.22-1.09-56.74-25.17-54.1-51.9 2-19.87 17.45-42.62 43.11-49.7-44 36.51-9.68 67.3 5.28 73.46 4.4-11.44 17.54-69.08 0-130.2-40.39 22.87-89.65 65.1-93.2 147.79l-58 38.71-3.52 93.25L369.78 220l7 7-17.59 3.52-44 38.71-15.84-5.28-28.1 49.25-3.52 119.64 21.11 15.84-32.55 15.84-32.55-15.84 21.11-15.84-3.52-119.64-28.15-49.26-15.84 5.28-44-38.71-17.58-3.51 7-7 107.33 59.82-3.52-93.25-58.06-38.71C185 65.1 135.77 22.87 95.3 0c-17.54 61.12-4.4 118.76 0 130.2 15-6.16 49.26-36.95 5.28-73.46 25.66 7.08 41.15 29.83 43.11 49.7 2.63 26.74-33.88 50.81-54.1 51.9-31.65 1.72-61.15 33.44-61.59 58.51l22.43-9.68c-5.54 17.53-11.91 34.67-7.92 56.74l26.39-5.28c-15.76 26.39-9.05 64.43-8.8 84.45l26.39-14.52 7 35.63 24.63-5.28 8.8 28.15L153.35 366 134 373l-8.8-33.43-18.47 7-6.16-33.43-27.27 7c-3.82-25.38 2-49.1 13.2-72.14l-30.35-8.36c9.4-43.52 35.47-50.77 63.34-54.1 9.36 30.62 6.24 56.45-2.64 80.05 82.25 56.3 76.75 117.23 81.37 149.11 4.4 30.35 4.45 89.29 25.51 97.21v-29.83l5.28-7 5.28 12.32 10.56-15.84 11.44 21.11 11.43-21.1zm79.17-95L331.06 366c7.47-4.36 13.76-8.42 19.35-12.32-.6 7.22-.27 13.84-3.51 22.84zm28.15-49.26c-.4 10.94-.9 21.66-1.76 31.67-7.85-1.86-15.57-3.8-21.11-7 8.24-7.94 15.55-16.32 22.87-24.68zm24.63 5.28c0-13.43-2.05-24.21-5.28-33.43a235 235 0 0 1-18.47 27.27zm3.52-80.94c19.44 12.81 27.8 33.66 29.91 56.3-12.32-4.53-24.63-9.31-36.95-10.56 5.06-12 6.65-28.14 7-45.74zm-1.76-45.74c.81 14.3 1.84 28.82 1.76 42.23 19.22-8.11 29.78-9.72 44-14.08-10.61-18.96-27.2-25.53-45.76-28.16zM165.68 376.52L181.52 366c-7.47-4.36-13.76-8.42-19.35-12.32.6 7.26.27 13.88 3.51 22.88zm-28.15-49.26c.4 10.94.9 21.66 1.76 31.67 7.85-1.86 15.57-3.8 21.11-7-8.24-7.93-15.55-16.31-22.87-24.67zm-24.64 5.28c0-13.43 2-24.21 5.28-33.43a235 235 0 0 0 18.47 27.27zm-3.52-80.94c-19.44 12.81-27.8 33.66-29.91 56.3 12.32-4.53 24.63-9.31 37-10.56-5-12-6.65-28.14-7-45.74zm1.76-45.74c-.81 14.3-1.84 28.82-1.76 42.23-19.22-8.11-29.78-9.72-44-14.08 10.63-18.95 27.23-25.52 45.76-28.15z"],wordpress:[512,512,[],"f19a","M61.7 169.4l101.5 278C92.2 413 43.3 340.2 43.3 256c0-30.9 6.6-60.1 18.4-86.6zm337.9 75.9c0-26.3-9.4-44.5-17.5-58.7-10.8-17.5-20.9-32.4-20.9-49.9 0-19.6 14.8-37.8 35.7-37.8.9 0 1.8.1 2.8.2-37.9-34.7-88.3-55.9-143.7-55.9-74.3 0-139.7 38.1-177.8 95.9 5 .2 9.7.3 13.7.3 22.2 0 56.7-2.7 56.7-2.7 11.5-.7 12.8 16.2 1.4 17.5 0 0-11.5 1.3-24.3 2l77.5 230.4L249.8 247l-33.1-90.8c-11.5-.7-22.3-2-22.3-2-11.5-.7-10.1-18.2 1.3-17.5 0 0 35.1 2.7 56 2.7 22.2 0 56.7-2.7 56.7-2.7 11.5-.7 12.8 16.2 1.4 17.5 0 0-11.5 1.3-24.3 2l76.9 228.7 21.2-70.9c9-29.4 16-50.5 16-68.7zm-139.9 29.3l-63.8 185.5c19.1 5.6 39.2 8.7 60.1 8.7 24.8 0 48.5-4.3 70.6-12.1-.6-.9-1.1-1.9-1.5-2.9l-65.4-179.2zm183-120.7c.9 6.8 1.4 14 1.4 21.9 0 21.6-4 45.8-16.2 76.2l-65 187.9C426.2 403 468.7 334.5 468.7 256c0-37-9.4-71.8-26-102.1zM504 256c0 136.8-111.3 248-248 248C119.2 504 8 392.7 8 256 8 119.2 119.2 8 256 8c136.7 0 248 111.2 248 248zm-11.4 0c0-130.5-106.2-236.6-236.6-236.6C125.5 19.4 19.4 125.5 19.4 256S125.6 492.6 256 492.6c130.5 0 236.6-106.1 236.6-236.6z"],"wordpress-simple":[512,512,[],"f411","M256 8C119.3 8 8 119.2 8 256c0 136.7 111.3 248 248 248s248-111.3 248-248C504 119.2 392.7 8 256 8zM33 256c0-32.3 6.9-63 19.3-90.7l106.4 291.4C84.3 420.5 33 344.2 33 256zm223 223c-21.9 0-43-3.2-63-9.1l66.9-194.4 68.5 187.8c.5 1.1 1 2.1 1.6 3.1-23.1 8.1-48 12.6-74 12.6zm30.7-327.5c13.4-.7 25.5-2.1 25.5-2.1 12-1.4 10.6-19.1-1.4-18.4 0 0-36.1 2.8-59.4 2.8-21.9 0-58.7-2.8-58.7-2.8-12-.7-13.4 17.7-1.4 18.4 0 0 11.4 1.4 23.4 2.1l34.7 95.2L200.6 393l-81.2-241.5c13.4-.7 25.5-2.1 25.5-2.1 12-1.4 10.6-19.1-1.4-18.4 0 0-36.1 2.8-59.4 2.8-4.2 0-9.1-.1-14.4-.3C109.6 73 178.1 33 256 33c58 0 110.9 22.2 150.6 58.5-1-.1-1.9-.2-2.9-.2-21.9 0-37.4 19.1-37.4 39.6 0 18.4 10.6 33.9 21.9 52.3 8.5 14.8 18.4 33.9 18.4 61.5 0 19.1-7.3 41.2-17 72.1l-22.2 74.3-80.7-239.6zm81.4 297.2l68.1-196.9c12.7-31.8 17-57.2 17-79.9 0-8.2-.5-15.8-1.5-22.9 17.4 31.8 27.3 68.2 27.3 107 0 82.3-44.6 154.1-110.9 192.7z"],wpbeginner:[512,512,[],"f297","M462.799 322.374C519.01 386.682 466.961 480 370.944 480c-39.602 0-78.824-17.687-100.142-50.04-6.887.356-22.702.356-29.59 0C219.848 462.381 180.588 480 141.069 480c-95.49 0-148.348-92.996-91.855-157.626C-29.925 190.523 80.479 32 256.006 32c175.632 0 285.87 158.626 206.793 290.374zm-339.647-82.972h41.529v-58.075h-41.529v58.075zm217.18 86.072v-23.839c-60.506 20.915-132.355 9.198-187.589-33.971l.246 24.897c51.101 46.367 131.746 57.875 187.343 32.913zm-150.753-86.072h166.058v-58.075H189.579v58.075z"],wpexplorer:[512,512,[],"f2de","M512 256c0 141.2-114.7 256-256 256C114.8 512 0 397.3 0 256S114.7 0 256 0s256 114.7 256 256zm-32 0c0-123.2-100.3-224-224-224C132.5 32 32 132.5 32 256s100.5 224 224 224 224-100.5 224-224zM160.9 124.6l86.9 37.1-37.1 86.9-86.9-37.1 37.1-86.9zm110 169.1l46.6 94h-14.6l-50-100-48.9 100h-14l51.1-106.9-22.3-9.4 6-14 68.6 29.1-6 14.3-16.5-7.1zm-11.8-116.3l68.6 29.4-29.4 68.3L230 246l29.1-68.6zm80.3 42.9l54.6 23.1-23.4 54.3-54.3-23.1 23.1-54.3z"],wpforms:[448,512,[],"f298","M448 75.2v361.7c0 24.3-19 43.2-43.2 43.2H43.2C19.3 480 0 461.4 0 436.8V75.2C0 51.1 18.8 32 43.2 32h361.7c24 0 43.1 18.8 43.1 43.2zm-37.3 361.6V75.2c0-3-2.6-5.8-5.8-5.8h-9.3L285.3 144 224 94.1 162.8 144 52.5 69.3h-9.3c-3.2 0-5.8 2.8-5.8 5.8v361.7c0 3 2.6 5.8 5.8 5.8h361.7c3.2.1 5.8-2.7 5.8-5.8zM150.2 186v37H76.7v-37h73.5zm0 74.4v37.3H76.7v-37.3h73.5zm11.1-147.3l54-43.7H96.8l64.5 43.7zm210 72.9v37h-196v-37h196zm0 74.4v37.3h-196v-37.3h196zm-84.6-147.3l64.5-43.7H232.8l53.9 43.7zM371.3 335v37.3h-99.4V335h99.4z"],wpressr:[496,512,[],"f3e4","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm171.33 158.6c-15.18 34.51-30.37 69.02-45.63 103.5-2.44 5.51-6.89 8.24-12.97 8.24-23.02-.01-46.03.06-69.05-.05-5.12-.03-8.25 1.89-10.34 6.72-10.19 23.56-20.63 47-30.95 70.5-1.54 3.51-4.06 5.29-7.92 5.29-45.94-.01-91.87-.02-137.81 0-3.13 0-5.63-1.15-7.72-3.45-11.21-12.33-22.46-24.63-33.68-36.94-2.69-2.95-2.79-6.18-1.21-9.73 8.66-19.54 17.27-39.1 25.89-58.66 12.93-29.35 25.89-58.69 38.75-88.08 1.7-3.88 4.28-5.68 8.54-5.65 14.24.1 28.48.02 42.72.05 6.24.01 9.2 4.84 6.66 10.59-13.6 30.77-27.17 61.55-40.74 92.33-5.72 12.99-11.42 25.99-17.09 39-3.91 8.95 7.08 11.97 10.95 5.6.23-.37-1.42 4.18 30.01-67.69 1.36-3.1 3.41-4.4 6.77-4.39 15.21.08 30.43.02 45.64.04 5.56.01 7.91 3.64 5.66 8.75-8.33 18.96-16.71 37.9-24.98 56.89-4.98 11.43 8.08 12.49 11.28 5.33.04-.08 27.89-63.33 32.19-73.16 2.02-4.61 5.44-6.51 10.35-6.5 26.43.05 52.86 0 79.29.05 12.44.02 13.93-13.65 3.9-13.64-25.26.03-50.52.02-75.78.02-6.27 0-7.84-2.47-5.27-8.27 5.78-13.06 11.59-26.11 17.3-39.21 1.73-3.96 4.52-5.79 8.84-5.78 23.09.06 25.98.02 130.78.03 6.08-.01 8.03 2.79 5.62 8.27z"],xbox:[512,512,[],"f412","M369.9 318.2c44.3 54.3 64.7 98.8 54.4 118.7-7.9 15.1-56.7 44.6-92.6 55.9-29.6 9.3-68.4 13.3-100.4 10.2-38.2-3.7-76.9-17.4-110.1-39C93.3 445.8 87 438.3 87 423.4c0-29.9 32.9-82.3 89.2-142.1 32-33.9 76.5-73.7 81.4-72.6 9.4 2.1 84.3 75.1 112.3 109.5zM188.6 143.8c-29.7-26.9-58.1-53.9-86.4-63.4-15.2-5.1-16.3-4.8-28.7 8.1-29.2 30.4-53.5 79.7-60.3 122.4-5.4 34.2-6.1 43.8-4.2 60.5 5.6 50.5 17.3 85.4 40.5 120.9 9.5 14.6 12.1 17.3 9.3 9.9-4.2-11-.3-37.5 9.5-64 14.3-39 53.9-112.9 120.3-194.4zm311.6 63.5C483.3 127.3 432.7 77 425.6 77c-7.3 0-24.2 6.5-36 13.9-23.3 14.5-41 31.4-64.3 52.8C367.7 197 427.5 283.1 448.2 346c6.8 20.7 9.7 41.1 7.4 52.3-1.7 8.5-1.7 8.5 1.4 4.6 6.1-7.7 19.9-31.3 25.4-43.5 7.4-16.2 15-40.2 18.6-58.7 4.3-22.5 3.9-70.8-.8-93.4zM141.3 43C189 40.5 251 77.5 255.6 78.4c.7.1 10.4-4.2 21.6-9.7 63.9-31.1 94-25.8 107.4-25.2-63.9-39.3-152.7-50-233.9-11.7-23.4 11.1-24 11.9-9.4 11.2z"],xing:[384,512,[],"f168","M162.7 210c-1.8 3.3-25.2 44.4-70.1 123.5-4.9 8.3-10.8 12.5-17.7 12.5H9.8c-7.7 0-12.1-7.5-8.5-14.4l69-121.3c.2 0 .2-.1 0-.3l-43.9-75.6c-4.3-7.8.3-14.1 8.5-14.1H100c7.3 0 13.3 4.1 18 12.2l44.7 77.5zM382.6 46.1l-144 253v.3L330.2 466c3.9 7.1.2 14.1-8.5 14.1h-65.2c-7.6 0-13.6-4-18-12.2l-92.4-168.5c3.3-5.8 51.5-90.8 144.8-255.2 4.6-8.1 10.4-12.2 17.5-12.2h65.7c8 0 12.3 6.7 8.5 14.1z"],"xing-square":[448,512,[],"f169","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM140.4 320.2H93.8c-5.5 0-8.7-5.3-6-10.3l49.3-86.7c.1 0 .1-.1 0-.2l-31.4-54c-3-5.6.2-10.1 6-10.1h46.6c5.2 0 9.5 2.9 12.9 8.7l31.9 55.3c-1.3 2.3-18 31.7-50.1 88.2-3.5 6.2-7.7 9.1-12.6 9.1zm219.7-214.1L257.3 286.8v.2l65.5 119c2.8 5.1.1 10.1-6 10.1h-46.6c-5.5 0-9.7-2.9-12.9-8.7l-66-120.3c2.3-4.1 36.8-64.9 103.4-182.3 3.3-5.8 7.4-8.7 12.5-8.7h46.9c5.7-.1 8.8 4.7 6 10z"],"y-combinator":[448,512,[],"f23b","M448 32v448H0V32h448zM236 287.5L313.5 142h-32.7L235 233c-4.7 9.3-9 18.3-12.8 26.8L210 233l-45.2-91h-35l76.7 143.8v94.5H236v-92.8z"],yahoo:[512,512,[],"f19e","M223.69,141.06,167,284.23,111,141.06H14.93L120.76,390.19,82.19,480h94.17L317.27,141.06Zm105.4,135.79a58.22,58.22,0,1,0,58.22,58.22A58.22,58.22,0,0,0,329.09,276.85ZM394.65,32l-93,223.47H406.44L499.07,32Z"],yammer:[512,512,[],"f840","M421.78 152.17A23.06 23.06 0 0 0 400.9 112c-.83.43-1.71.9-2.63 1.4-15.25 8.4-118.33 80.62-106.69 88.77s82.04-23.61 130.2-50zm0 217.17c-48.16-26.38-118.64-58.1-130.2-50s91.42 80.35 106.69 88.74c.92.51 1.8 1 2.63 1.41a23.07 23.07 0 0 0 20.88-40.15zM464.21 237c-.95 0-1.95-.06-3-.06-17.4 0-142.52 13.76-136.24 26.51s83.3 18.74 138.21 18.76a23 23 0 0 0 1-45.21zM31 96.65a24.88 24.88 0 0 1 46.14-18.4l81 205.06h1.21l77-203.53a23.52 23.52 0 0 1 44.45 15.27L171.2 368.44C152.65 415.66 134.08 448 77.91 448a139.67 139.67 0 0 1-23.81-1.95 21.31 21.31 0 0 1 6.9-41.77c.66.06 10.91.66 13.86.66 30.47 0 43.74-18.94 58.07-59.41z"],yandex:[256,512,[],"f413","M153.1 315.8L65.7 512H2l96-209.8c-45.1-22.9-75.2-64.4-75.2-141.1C22.7 53.7 90.8 0 171.7 0H254v512h-55.1V315.8h-45.8zm45.8-269.3h-29.4c-44.4 0-87.4 29.4-87.4 114.6 0 82.3 39.4 108.8 87.4 108.8h29.4V46.5z"],"yandex-international":[320,512,[],"f414","M129.5 512V345.9L18.5 48h55.8l81.8 229.7L250.2 0h51.3L180.8 347.8V512h-51.3z"],yarn:[496,512,[],"f7e3","M393.9 345.2c-39 9.3-48.4 32.1-104 47.4 0 0-2.7 4-10.4 5.8-13.4 3.3-63.9 6-68.5 6.1-12.4.1-19.9-3.2-22-8.2-6.4-15.3 9.2-22 9.2-22-8.1-5-9-9.9-9.8-8.1-2.4 5.8-3.6 20.1-10.1 26.5-8.8 8.9-25.5 5.9-35.3.8-10.8-5.7.8-19.2.8-19.2s-5.8 3.4-10.5-3.6c-6-9.3-17.1-37.3 11.5-62-1.3-10.1-4.6-53.7 40.6-85.6 0 0-20.6-22.8-12.9-43.3 5-13.4 7-13.3 8.6-13.9 5.7-2.2 11.3-4.6 15.4-9.1 20.6-22.2 46.8-18 46.8-18s12.4-37.8 23.9-30.4c3.5 2.3 16.3 30.6 16.3 30.6s13.6-7.9 15.1-5c8.2 16 9.2 46.5 5.6 65.1-6.1 30.6-21.4 47.1-27.6 57.5-1.4 2.4 16.5 10 27.8 41.3 10.4 28.6 1.1 52.7 2.8 55.3.8 1.4 13.7.8 36.4-13.2 12.8-7.9 28.1-16.9 45.4-17 16.7-.5 17.6 19.2 4.9 22.2zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-79.3 75.2c-1.7-13.6-13.2-23-28-22.8-22 .3-40.5 11.7-52.8 19.2-4.8 3-8.9 5.2-12.4 6.8 3.1-44.5-22.5-73.1-28.7-79.4 7.8-11.3 18.4-27.8 23.4-53.2 4.3-21.7 3-55.5-6.9-74.5-1.6-3.1-7.4-11.2-21-7.4-9.7-20-13-22.1-15.6-23.8-1.1-.7-23.6-16.4-41.4 28-12.2.9-31.3 5.3-47.5 22.8-2 2.2-5.9 3.8-10.1 5.4h.1c-8.4 3-12.3 9.9-16.9 22.3-6.5 17.4.2 34.6 6.8 45.7-17.8 15.9-37 39.8-35.7 82.5-34 36-11.8 73-5.6 79.6-1.6 11.1 3.7 19.4 12 23.8 12.6 6.7 30.3 9.6 43.9 2.8 4.9 5.2 13.8 10.1 30 10.1 6.8 0 58-2.9 72.6-6.5 6.8-1.6 11.5-4.5 14.6-7.1 9.8-3.1 36.8-12.3 62.2-28.7 18-11.7 24.2-14.2 37.6-17.4 12.9-3.2 21-15.1 19.4-28.2z"],yelp:[384,512,[],"f1e9","M42.9 240.32l99.62 48.61c19.2 9.4 16.2 37.51-4.5 42.71L30.5 358.45a22.79 22.79 0 0 1-28.21-19.6 197.16 197.16 0 0 1 9-85.32 22.8 22.8 0 0 1 31.61-13.21zm44 239.25a199.45 199.45 0 0 0 79.42 32.11A22.78 22.78 0 0 0 192.94 490l3.9-110.82c.7-21.3-25.5-31.91-39.81-16.1l-74.21 82.4a22.82 22.82 0 0 0 4.09 34.09zm145.34-109.92l58.81 94a22.93 22.93 0 0 0 34 5.5 198.36 198.36 0 0 0 52.71-67.61A23 23 0 0 0 364.17 370l-105.42-34.26c-20.31-6.5-37.81 15.8-26.51 33.91zm148.33-132.23a197.44 197.44 0 0 0-50.41-69.31 22.85 22.85 0 0 0-34 4.4l-62 91.92c-11.9 17.7 4.7 40.61 25.2 34.71L366 268.63a23 23 0 0 0 14.61-31.21zM62.11 30.18a22.86 22.86 0 0 0-9.9 32l104.12 180.44c11.7 20.2 42.61 11.9 42.61-11.4V22.88a22.67 22.67 0 0 0-24.5-22.8 320.37 320.37 0 0 0-112.33 30.1z"],yoast:[448,512,[],"f2b1","M91.3 76h186l-7 18.9h-179c-39.7 0-71.9 31.6-71.9 70.3v205.4c0 35.4 24.9 70.3 84 70.3V460H91.3C41.2 460 0 419.8 0 370.5V165.2C0 115.9 40.7 76 91.3 76zm229.1-56h66.5C243.1 398.1 241.2 418.9 202.2 459.3c-20.8 21.6-49.3 31.7-78.3 32.7v-51.1c49.2-7.7 64.6-49.9 64.6-75.3 0-20.1.6-12.6-82.1-223.2h61.4L218.2 299 320.4 20zM448 161.5V460H234c6.6-9.6 10.7-16.3 12.1-19.4h182.5V161.5c0-32.5-17.1-51.9-48.2-62.9l6.7-17.6c41.7 13.6 60.9 43.1 60.9 80.5z"],youtube:[576,512,[],"f167","M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"],"youtube-square":[448,512,[],"f431","M186.8 202.1l95.2 54.1-95.2 54.1V202.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-42 176.3s0-59.6-7.6-88.2c-4.2-15.8-16.5-28.2-32.2-32.4C337.9 128 224 128 224 128s-113.9 0-142.2 7.7c-15.7 4.2-28 16.6-32.2 32.4-7.6 28.5-7.6 88.2-7.6 88.2s0 59.6 7.6 88.2c4.2 15.8 16.5 27.7 32.2 31.9C110.1 384 224 384 224 384s113.9 0 142.2-7.7c15.7-4.2 28-16.1 32.2-31.9 7.6-28.5 7.6-88.1 7.6-88.1z"],zhihu:[640,512,[],"f63f","M170.54 148.13v217.54l23.43.01 7.71 26.37 42.01-26.37h49.53V148.13H170.54zm97.75 193.93h-27.94l-27.9 17.51-5.08-17.47-11.9-.04V171.75h72.82v170.31zm-118.46-94.39H97.5c1.74-27.1 2.2-51.59 2.2-73.46h51.16s1.97-22.56-8.58-22.31h-88.5c3.49-13.12 7.87-26.66 13.12-40.67 0 0-24.07 0-32.27 21.57-3.39 8.9-13.21 43.14-30.7 78.12 5.89-.64 25.37-1.18 36.84-22.21 2.11-5.89 2.51-6.66 5.14-14.53h28.87c0 10.5-1.2 66.88-1.68 73.44H20.83c-11.74 0-15.56 23.62-15.56 23.62h65.58C66.45 321.1 42.83 363.12 0 396.34c20.49 5.85 40.91-.93 51-9.9 0 0 22.98-20.9 35.59-69.25l53.96 64.94s7.91-26.89-1.24-39.99c-7.58-8.92-28.06-33.06-36.79-41.81L87.9 311.95c4.36-13.98 6.99-27.55 7.87-40.67h61.65s-.09-23.62-7.59-23.62v.01zm412.02-1.6c20.83-25.64 44.98-58.57 44.98-58.57s-18.65-14.8-27.38-4.06c-6 8.15-36.83 48.2-36.83 48.2l19.23 14.43zm-150.09-59.09c-9.01-8.25-25.91 2.13-25.91 2.13s39.52 55.04 41.12 57.45l19.46-13.73s-25.67-37.61-34.66-45.86h-.01zM640 258.35c-19.78 0-130.91.93-131.06.93v-101c4.81 0 12.42-.4 22.85-1.2 40.88-2.41 70.13-4 87.77-4.81 0 0 12.22-27.19-.59-33.44-3.07-1.18-23.17 4.58-23.17 4.58s-165.22 16.49-232.36 18.05c1.6 8.82 7.62 17.08 15.78 19.55 13.31 3.48 22.69 1.7 49.15.89 24.83-1.6 43.68-2.43 56.51-2.43v99.81H351.41s2.82 22.31 25.51 22.85h107.94v70.92c0 13.97-11.19 21.99-24.48 21.12-14.08.11-26.08-1.15-41.69-1.81 1.99 3.97 6.33 14.39 19.31 21.84 9.88 4.81 16.17 6.57 26.02 6.57 29.56 0 45.67-17.28 44.89-45.31v-73.32h122.36c9.68 0 8.7-23.78 8.7-23.78l.03-.01z"]};!function(c){try{c()}catch(c){if(!s)throw c}}(function(){M("fab",f)})}(),function(){"use strict";var c={},l={};try{"undefined"!=typeof window&&(c=window),"undefined"!=typeof document&&(l=document)}catch(c){}var h=(c.navigator||{}).userAgent,z=void 0===h?"":h,a=c,v=l,m=(a.document,!!v.documentElement&&!!v.head&&"function"==typeof v.addEventListener&&v.createElement,~z.indexOf("MSIE")||z.indexOf("Trident/"),"___FONT_AWESOME___"),s=function(){try{return!0}catch(c){return!1}}();var e=a||{};e[m]||(e[m]={}),e[m].styles||(e[m].styles={}),e[m].hooks||(e[m].hooks={}),e[m].shims||(e[m].shims=[]);var t=e[m];function M(c,z){var l=(2<arguments.length&&void 0!==arguments[2]?arguments[2]:{}).skipHooks,h=void 0!==l&&l,a=Object.keys(z).reduce(function(c,l){var h=z[l];return!!h.icon?c[h.iconName]=h.icon:c[l]=h,c},{});"function"!=typeof t.hooks.addPack||h?t.styles[c]=function(a){for(var c=1;c<arguments.length;c++){var v=null!=arguments[c]?arguments[c]:{},l=Object.keys(v);"function"==typeof Object.getOwnPropertySymbols&&(l=l.concat(Object.getOwnPropertySymbols(v).filter(function(c){return Object.getOwnPropertyDescriptor(v,c).enumerable}))),l.forEach(function(c){var l,h,z;l=a,z=v[h=c],h in l?Object.defineProperty(l,h,{value:z,enumerable:!0,configurable:!0,writable:!0}):l[h]=z})}return a}({},t.styles[c]||{},a):t.hooks.addPack(c,a),"fas"===c&&M("fa",z)}var f={"address-book":[448,512,[],"f2b9","M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-68 304H48V48h320v416zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z"],"address-card":[576,512,[],"f2bb","M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H48V80h480v352zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2zM360 320h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8z"],angry:[496,512,[],"f556","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-144c-33.6 0-65.2 14.8-86.8 40.6-8.5 10.2-7.1 25.3 3.1 33.8s25.3 7.2 33.8-3c24.8-29.7 75-29.7 99.8 0 8.1 9.7 23.2 11.9 33.8 3 10.2-8.5 11.5-23.6 3.1-33.8-21.6-25.8-53.2-40.6-86.8-40.6zm-48-72c10.3 0 19.9-6.7 23-17.1 3.8-12.7-3.4-26.1-16.1-29.9l-80-24c-12.8-3.9-26.1 3.4-29.9 16.1-3.8 12.7 3.4 26.1 16.1 29.9l28.2 8.5c-3.1 4.9-5.3 10.4-5.3 16.6 0 17.7 14.3 32 32 32s32-14.4 32-32.1zm199-54.9c-3.8-12.7-17.1-19.9-29.9-16.1l-80 24c-12.7 3.8-19.9 17.2-16.1 29.9 3.1 10.4 12.7 17.1 23 17.1 0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.2-2.2-11.7-5.3-16.6l28.2-8.5c12.7-3.7 19.9-17.1 16.1-29.8z"],"arrow-alt-circle-down":[512,512,[],"f358","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm-32-316v116h-67c-10.7 0-16 12.9-8.5 20.5l99 99c4.7 4.7 12.3 4.7 17 0l99-99c7.6-7.6 2.2-20.5-8.5-20.5h-67V140c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12z"],"arrow-alt-circle-left":[512,512,[],"f359","M8 256c0 137 111 248 248 248s248-111 248-248S393 8 256 8 8 119 8 256zm448 0c0 110.5-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56s200 89.5 200 200zm-72-20v40c0 6.6-5.4 12-12 12H256v67c0 10.7-12.9 16-20.5 8.5l-99-99c-4.7-4.7-4.7-12.3 0-17l99-99c7.6-7.6 20.5-2.2 20.5 8.5v67h116c6.6 0 12 5.4 12 12z"],"arrow-alt-circle-right":[512,512,[],"f35a","M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm72 20v-40c0-6.6 5.4-12 12-12h116v-67c0-10.7 12.9-16 20.5-8.5l99 99c4.7 4.7 4.7 12.3 0 17l-99 99c-7.6 7.6-20.5 2.2-20.5-8.5v-67H140c-6.6 0-12-5.4-12-12z"],"arrow-alt-circle-up":[512,512,[],"f35b","M256 504c137 0 248-111 248-248S393 8 256 8 8 119 8 256s111 248 248 248zm0-448c110.5 0 200 89.5 200 200s-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56zm20 328h-40c-6.6 0-12-5.4-12-12V256h-67c-10.7 0-16-12.9-8.5-20.5l99-99c4.7-4.7 12.3-4.7 17 0l99 99c7.6 7.6 2.2 20.5-8.5 20.5h-67v116c0 6.6-5.4 12-12 12z"],bell:[448,512,[],"f0f3","M439.39 362.29c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71zM67.53 368c21.22-27.97 44.42-74.33 44.53-159.42 0-.2-.06-.38-.06-.58 0-61.86 50.14-112 112-112s112 50.14 112 112c0 .2-.06.38-.06.58.11 85.1 23.31 131.46 44.53 159.42H67.53zM224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64z"],"bell-slash":[640,512,[],"f1f6","M633.99 471.02L36 3.51C29.1-2.01 19.03-.9 13.51 6l-10 12.49C-2.02 25.39-.9 35.46 6 40.98l598 467.51c6.9 5.52 16.96 4.4 22.49-2.49l10-12.49c5.52-6.9 4.41-16.97-2.5-22.49zM163.53 368c16.71-22.03 34.48-55.8 41.4-110.58l-45.47-35.55c-3.27 90.73-36.47 120.68-54.84 140.42-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h279.66l-61.4-48H163.53zM320 96c61.86 0 112 50.14 112 112 0 .2-.06.38-.06.58.02 16.84 1.16 31.77 2.79 45.73l59.53 46.54c-8.31-22.13-14.34-51.49-14.34-92.85 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-26.02 5.41-49.45 16.94-69.13 32.72l38.17 29.84C275 103.18 296.65 96 320 96zm0 416c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z"],bookmark:[384,512,[],"f02e","M336 0H48C21.49 0 0 21.49 0 48v464l192-112 192 112V48c0-26.51-21.49-48-48-48zm0 428.43l-144-84-144 84V54a6 6 0 0 1 6-6h276c3.314 0 6 2.683 6 5.996V428.43z"],building:[448,512,[],"f1ad","M128 148v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12zm140 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-128 96h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm128 0h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-76 84v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm76 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm180 124v36H0v-36c0-6.6 5.4-12 12-12h19.5V24c0-13.3 10.7-24 24-24h337c13.3 0 24 10.7 24 24v440H436c6.6 0 12 5.4 12 12zM79.5 463H192v-67c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v67h112.5V49L80 48l-.5 415z"],calendar:[448,512,[],"f133","M400 64h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V160h352v298c0 3.3-2.7 6-6 6z"],"calendar-alt":[448,512,[],"f073","M148 288h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm108-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 96v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96-260v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"],"calendar-check":[448,512,[],"f274","M400 64h-48V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H160V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V160h352v298a6 6 0 0 1-6 6zm-52.849-200.65L198.842 404.519c-4.705 4.667-12.303 4.637-16.971-.068l-75.091-75.699c-4.667-4.705-4.637-12.303.068-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l44.104 44.461 111.072-110.181c4.705-4.667 12.303-4.637 16.971.068l22.536 22.718c4.667 4.705 4.636 12.303-.069 16.97z"],"calendar-minus":[448,512,[],"f272","M124 328c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H124zm324-216v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"],"calendar-plus":[448,512,[],"f271","M336 292v24c0 6.6-5.4 12-12 12h-76v76c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12v-76h-76c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h76v-76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v76h76c6.6 0 12 5.4 12 12zm112-180v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"],"calendar-times":[448,512,[],"f273","M311.7 374.7l-17 17c-4.7 4.7-12.3 4.7-17 0L224 337.9l-53.7 53.7c-4.7 4.7-12.3 4.7-17 0l-17-17c-4.7-4.7-4.7-12.3 0-17l53.7-53.7-53.7-53.7c-4.7-4.7-4.7-12.3 0-17l17-17c4.7-4.7 12.3-4.7 17 0l53.7 53.7 53.7-53.7c4.7-4.7 12.3-4.7 17 0l17 17c4.7 4.7 4.7 12.3 0 17L257.9 304l53.7 53.7c4.8 4.7 4.8 12.3.1 17zM448 112v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"],"caret-square-down":[448,512,[],"f150","M125.1 208h197.8c10.7 0 16.1 13 8.5 20.5l-98.9 98.3c-4.7 4.7-12.2 4.7-16.9 0l-98.9-98.3c-7.7-7.5-2.3-20.5 8.4-20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"],"caret-square-left":[448,512,[],"f191","M272 157.1v197.8c0 10.7-13 16.1-20.5 8.5l-98.3-98.9c-4.7-4.7-4.7-12.2 0-16.9l98.3-98.9c7.5-7.7 20.5-2.3 20.5 8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"],"caret-square-right":[448,512,[],"f152","M176 354.9V157.1c0-10.7 13-16.1 20.5-8.5l98.3 98.9c4.7 4.7 4.7 12.2 0 16.9l-98.3 98.9c-7.5 7.7-20.5 2.3-20.5-8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"],"caret-square-up":[448,512,[],"f151","M322.9 304H125.1c-10.7 0-16.1-13-8.5-20.5l98.9-98.3c4.7-4.7 12.2-4.7 16.9 0l98.9 98.3c7.7 7.5 2.3 20.5-8.4 20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"],"chart-bar":[512,512,[],"f080","M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z"],"check-circle":[512,512,[],"f058","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z"],"check-square":[448,512,[],"f14a","M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm0 400H48V80h352v352zm-35.864-241.724L191.547 361.48c-4.705 4.667-12.303 4.637-16.97-.068l-90.781-91.516c-4.667-4.705-4.637-12.303.069-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l59.792 60.277 141.352-140.216c4.705-4.667 12.303-4.637 16.97.068l22.536 22.718c4.667 4.706 4.637 12.304-.068 16.971z"],circle:[512,512,[],"f111","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z"],clipboard:[384,512,[],"f328","M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm144 418c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h42v36c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-36h42c3.3 0 6 2.7 6 6z"],clock:[512,512,[],"f017","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z"],clone:[512,512,[],"f24d","M464 0H144c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h48c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48zM362 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h42v224c0 26.51 21.49 48 48 48h224v42a6 6 0 0 1-6 6zm96-96H150a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h308a6 6 0 0 1 6 6v308a6 6 0 0 1-6 6z"],"closed-captioning":[512,512,[],"f20a","M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 336H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v276c0 3.3-2.7 6-6 6zm-211.1-85.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7zm190.4 0c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.9-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 220.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7z"],comment:[512,512,[],"f075","M256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z"],"comment-alt":[512,512,[],"f27a","M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288z"],"comment-dots":[512,512,[],"f4ad","M144 208c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z"],comments:[576,512,[],"f086","M532 386.2c27.5-27.1 44-61.1 44-98.2 0-80-76.5-146.1-176.2-157.9C368.3 72.5 294.3 32 208 32 93.1 32 0 103.6 0 192c0 37 16.5 71 44 98.2-15.3 30.7-37.3 54.5-37.7 54.9-6.3 6.7-8.1 16.5-4.4 25 3.6 8.5 12 14 21.2 14 53.5 0 96.7-20.2 125.2-38.8 9.2 2.1 18.7 3.7 28.4 4.9C208.1 407.6 281.8 448 368 448c20.8 0 40.8-2.4 59.8-6.8C456.3 459.7 499.4 480 553 480c9.2 0 17.5-5.5 21.2-14 3.6-8.5 1.9-18.3-4.4-25-.4-.3-22.5-24.1-37.8-54.8zm-392.8-92.3L122.1 305c-14.1 9.1-28.5 16.3-43.1 21.4 2.7-4.7 5.4-9.7 8-14.8l15.5-31.1L77.7 256C64.2 242.6 48 220.7 48 192c0-60.7 73.3-112 160-112s160 51.3 160 112-73.3 112-160 112c-16.5 0-33-1.9-49-5.6l-19.8-4.5zM498.3 352l-24.7 24.4 15.5 31.1c2.6 5.1 5.3 10.1 8 14.8-14.6-5.1-29-12.3-43.1-21.4l-17.1-11.1-19.9 4.6c-16 3.7-32.5 5.6-49 5.6-54 0-102.2-20.1-131.3-49.7C338 339.5 416 272.9 416 192c0-3.4-.4-6.7-.7-10C479.7 196.5 528 238.8 528 288c0 28.7-16.2 50.6-29.7 64z"],compass:[496,512,[],"f14e","M347.94 129.86L203.6 195.83a31.938 31.938 0 0 0-15.77 15.77l-65.97 144.34c-7.61 16.65 9.54 33.81 26.2 26.2l144.34-65.97a31.938 31.938 0 0 0 15.77-15.77l65.97-144.34c7.61-16.66-9.54-33.81-26.2-26.2zm-77.36 148.72c-12.47 12.47-32.69 12.47-45.16 0-12.47-12.47-12.47-32.69 0-45.16 12.47-12.47 32.69-12.47 45.16 0 12.47 12.47 12.47 32.69 0 45.16zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z"],copy:[448,512,[],"f0c5","M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z"],copyright:[512,512,[],"f1f9","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm107.351-101.064c-9.614 9.712-45.53 41.396-104.065 41.396-82.43 0-140.484-61.425-140.484-141.567 0-79.152 60.275-139.401 139.762-139.401 55.531 0 88.738 26.62 97.593 34.779a11.965 11.965 0 0 1 1.936 15.322l-18.155 28.113c-3.841 5.95-11.966 7.282-17.499 2.921-8.595-6.776-31.814-22.538-61.708-22.538-48.303 0-77.916 35.33-77.916 80.082 0 41.589 26.888 83.692 78.277 83.692 32.657 0 56.843-19.039 65.726-27.225 5.27-4.857 13.596-4.039 17.82 1.738l19.865 27.17a11.947 11.947 0 0 1-1.152 15.518z"],"credit-card":[576,512,[],"f09d","M527.9 32H48.1C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48.1 48h479.8c26.6 0 48.1-21.5 48.1-48V80c0-26.5-21.5-48-48.1-48zM54.1 80h467.8c3.3 0 6 2.7 6 6v42H48.1V86c0-3.3 2.7-6 6-6zm467.8 352H54.1c-3.3 0-6-2.7-6-6V256h479.8v170c0 3.3-2.7 6-6 6zM192 332v40c0 6.6-5.4 12-12 12h-72c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12zm192 0v40c0 6.6-5.4 12-12 12H236c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12z"],dizzy:[496,512,[],"f567","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-33.8-217.9c7.8-7.8 7.8-20.5 0-28.3L196.3 192l17.9-17.9c7.8-7.8 7.8-20.5 0-28.3-7.8-7.8-20.5-7.8-28.3 0L168 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.9 7.7 20.5 7.7 28.4-.2zm160-92.2c-7.8-7.8-20.5-7.8-28.3 0L328 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.8 7.8 20.5 7.8 28.3 0 7.8-7.8 7.8-20.5 0-28.3l-17.8-18 17.9-17.9c7.7-7.8 7.7-20.4 0-28.2zM248 272c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64z"],"dot-circle":[512,512,[],"f192","M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z"],edit:[576,512,[],"f044","M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z"],envelope:[512,512,[],"f0e0","M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z"],"envelope-open":[512,512,[],"f2b6","M494.586 164.516c-4.697-3.883-111.723-89.95-135.251-108.657C337.231 38.191 299.437 0 256 0c-43.205 0-80.636 37.717-103.335 55.859-24.463 19.45-131.07 105.195-135.15 108.549A48.004 48.004 0 0 0 0 201.485V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V201.509a48 48 0 0 0-17.414-36.993zM464 458a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V204.347c0-1.813.816-3.526 2.226-4.665 15.87-12.814 108.793-87.554 132.364-106.293C200.755 78.88 232.398 48 256 48c23.693 0 55.857 31.369 73.41 45.389 23.573 18.741 116.503 93.493 132.366 106.316a5.99 5.99 0 0 1 2.224 4.663V458zm-31.991-187.704c4.249 5.159 3.465 12.795-1.745 16.981-28.975 23.283-59.274 47.597-70.929 56.863C336.636 362.283 299.205 400 256 400c-43.452 0-81.287-38.237-103.335-55.86-11.279-8.967-41.744-33.413-70.927-56.865-5.21-4.187-5.993-11.822-1.745-16.981l15.258-18.528c4.178-5.073 11.657-5.843 16.779-1.726 28.618 23.001 58.566 47.035 70.56 56.571C200.143 320.631 232.307 352 256 352c23.602 0 55.246-30.88 73.41-45.389 11.994-9.535 41.944-33.57 70.563-56.568 5.122-4.116 12.601-3.346 16.778 1.727l15.258 18.526z"],eye:[576,512,[],"f06e","M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z"],"eye-slash":[640,512,[],"f070","M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z"],file:[384,512,[],"f15b","M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z"],"file-alt":[384,512,[],"f15c","M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z"],"file-archive":[384,512,[],"f1c6","M128.3 160v32h32v-32zm64-96h-32v32h32zm-64 32v32h32V96zm64 32h-32v32h32zm177.6-30.1L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h79.7v16h32V48H208v104c0 13.3 10.7 24 24 24h104zM194.2 265.7c-1.1-5.6-6-9.7-11.8-9.7h-22.1v-32h-32v32l-19.7 97.1C102 385.6 126.8 416 160 416c33.1 0 57.9-30.2 51.5-62.6zm-33.9 124.4c-17.9 0-32.4-12.1-32.4-27s14.5-27 32.4-27 32.4 12.1 32.4 27-14.5 27-32.4 27zm32-198.1h-32v32h32z"],"file-audio":[384,512,[],"f1c7","M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm144-76.024c0 10.691-12.926 16.045-20.485 8.485L136 360.486h-28c-6.627 0-12-5.373-12-12v-56c0-6.627 5.373-12 12-12h28l35.515-36.947c7.56-7.56 20.485-2.206 20.485 8.485v135.952zm41.201-47.13c9.051-9.297 9.06-24.133.001-33.439-22.149-22.752 12.235-56.246 34.395-33.481 27.198 27.94 27.212 72.444.001 100.401-21.793 22.386-56.947-10.315-34.397-33.481z"],"file-code":[384,512,[],"f1c9","M149.9 349.1l-.2-.2-32.8-28.9 32.8-28.9c3.6-3.2 4-8.8.8-12.4l-.2-.2-17.4-18.6c-3.4-3.6-9-3.7-12.4-.4l-57.7 54.1c-3.7 3.5-3.7 9.4 0 12.8l57.7 54.1c1.6 1.5 3.8 2.4 6 2.4 2.4 0 4.8-1 6.4-2.8l17.4-18.6c3.3-3.5 3.1-9.1-.4-12.4zm220-251.2L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h160v104c0 13.3 10.7 24 24 24h104zM209.6 214c-4.7-1.4-9.5 1.3-10.9 6L144 408.1c-1.4 4.7 1.3 9.6 6 10.9l24.4 7.1c4.7 1.4 9.6-1.4 10.9-6L240 231.9c1.4-4.7-1.3-9.6-6-10.9zm24.5 76.9l.2.2 32.8 28.9-32.8 28.9c-3.6 3.2-4 8.8-.8 12.4l.2.2 17.4 18.6c3.3 3.5 8.9 3.7 12.4.4l57.7-54.1c3.7-3.5 3.7-9.4 0-12.8l-57.7-54.1c-3.5-3.3-9.1-3.2-12.4.4l-17.4 18.6c-3.3 3.5-3.1 9.1.4 12.4z"],"file-excel":[384,512,[],"f1c3","M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm212-240h-28.8c-4.4 0-8.4 2.4-10.5 6.3-18 33.1-22.2 42.4-28.6 57.7-13.9-29.1-6.9-17.3-28.6-57.7-2.1-3.9-6.2-6.3-10.6-6.3H124c-9.3 0-15 10-10.4 18l46.3 78-46.3 78c-4.7 8 1.1 18 10.4 18h28.9c4.4 0 8.4-2.4 10.5-6.3 21.7-40 23-45 28.6-57.7 14.9 30.2 5.9 15.9 28.6 57.7 2.1 3.9 6.2 6.3 10.6 6.3H260c9.3 0 15-10 10.4-18L224 320c.7-1.1 30.3-50.5 46.3-78 4.7-8-1.1-18-10.3-18z"],"file-image":[384,512,[],"f1c5","M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm32-48h224V288l-23.5-23.5c-4.7-4.7-12.3-4.7-17 0L176 352l-39.5-39.5c-4.7-4.7-12.3-4.7-17 0L80 352v64zm48-240c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z"],"file-pdf":[384,512,[],"f1c1","M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm250.2-143.7c-12.2-12-47-8.7-64.4-6.5-17.2-10.5-28.7-25-36.8-46.3 3.9-16.1 10.1-40.6 5.4-56-4.2-26.2-37.8-23.6-42.6-5.9-4.4 16.1-.4 38.5 7 67.1-10 23.9-24.9 56-35.4 74.4-20 10.3-47 26.2-51 46.2-3.3 15.8 26 55.2 76.1-31.2 22.4-7.4 46.8-16.5 68.4-20.1 18.9 10.2 41 17 55.8 17 25.5 0 28-28.2 17.5-38.7zm-198.1 77.8c5.1-13.7 24.5-29.5 30.4-35-19 30.3-30.4 35.7-30.4 35zm81.6-190.6c7.4 0 6.7 32.1 1.8 40.8-4.4-13.9-4.3-40.8-1.8-40.8zm-24.4 136.6c9.7-16.9 18-37 24.7-54.7 8.3 15.1 18.9 27.2 30.1 35.5-20.8 4.3-38.9 13.1-54.8 19.2zm131.6-5s-5 6-37.3-7.8c35.1-2.6 40.9 5.4 37.3 7.8z"],"file-powerpoint":[384,512,[],"f1c4","M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm72-60V236c0-6.6 5.4-12 12-12h69.2c36.7 0 62.8 27 62.8 66.3 0 74.3-68.7 66.5-95.5 66.5V404c0 6.6-5.4 12-12 12H132c-6.6 0-12-5.4-12-12zm48.5-87.4h23c7.9 0 13.9-2.4 18.1-7.2 8.5-9.8 8.4-28.5.1-37.8-4.1-4.6-9.9-7-17.4-7h-23.9v52z"],"file-video":[384,512,[],"f1c8","M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm228.687-211.303L224 305.374V268c0-11.046-8.954-20-20-20H100c-11.046 0-20 8.954-20 20v104c0 11.046 8.954 20 20 20h104c11.046 0 20-8.954 20-20v-37.374l52.687 52.674C286.704 397.318 304 390.28 304 375.986V264.011c0-14.311-17.309-21.319-27.313-11.314z"],"file-word":[384,512,[],"f1c2","M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm220.1-208c-5.7 0-10.6 4-11.7 9.5-20.6 97.7-20.4 95.4-21 103.5-.2-1.2-.4-2.6-.7-4.3-.8-5.1.3.2-23.6-99.5-1.3-5.4-6.1-9.2-11.7-9.2h-13.3c-5.5 0-10.3 3.8-11.7 9.1-24.4 99-24 96.2-24.8 103.7-.1-1.1-.2-2.5-.5-4.2-.7-5.2-14.1-73.3-19.1-99-1.1-5.6-6-9.7-11.8-9.7h-16.8c-7.8 0-13.5 7.3-11.7 14.8 8 32.6 26.7 109.5 33.2 136 1.3 5.4 6.1 9.1 11.7 9.1h25.2c5.5 0 10.3-3.7 11.6-9.1l17.9-71.4c1.5-6.2 2.5-12 3-17.3l2.9 17.3c.1.4 12.6 50.5 17.9 71.4 1.3 5.3 6.1 9.1 11.6 9.1h24.7c5.5 0 10.3-3.7 11.6-9.1 20.8-81.9 30.2-119 34.5-136 1.9-7.6-3.8-14.9-11.6-14.9h-15.8z"],flag:[512,512,[],"f024","M336.174 80c-49.132 0-93.305-32-161.913-32-31.301 0-58.303 6.482-80.721 15.168a48.04 48.04 0 0 0 2.142-20.727C93.067 19.575 74.167 1.594 51.201.104 23.242-1.71 0 20.431 0 48c0 17.764 9.657 33.262 24 41.562V496c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-83.443C109.869 395.28 143.259 384 199.826 384c49.132 0 93.305 32 161.913 32 58.479 0 101.972-22.617 128.548-39.981C503.846 367.161 512 352.051 512 335.855V95.937c0-34.459-35.264-57.768-66.904-44.117C409.193 67.309 371.641 80 336.174 80zM464 336c-21.783 15.412-60.824 32-102.261 32-59.945 0-102.002-32-161.913-32-43.361 0-96.379 9.403-127.826 24V128c21.784-15.412 60.824-32 102.261-32 59.945 0 102.002 32 161.913 32 43.271 0 96.32-17.366 127.826-32v240z"],flushed:[496,512,[],"f579","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm96-312c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-112 24c0-44.2-35.8-80-80-80s-80 35.8-80 80 35.8 80 80 80 80-35.8 80-80zm-80 48c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm160 144H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z"],folder:[512,512,[],"f07b","M464 128H272l-54.63-54.63c-6-6-14.14-9.37-22.63-9.37H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm0 272H48V112h140.12l54.63 54.63c6 6 14.14 9.37 22.63 9.37H464v224z"],"folder-open":[576,512,[],"f07c","M527.9 224H480v-48c0-26.5-21.5-48-48-48H272l-64-64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h400c16.5 0 31.9-8.5 40.7-22.6l79.9-128c20-31.9-3-73.4-40.7-73.4zM48 118c0-3.3 2.7-6 6-6h134.1l64 64H426c3.3 0 6 2.7 6 6v42H152c-16.8 0-32.4 8.8-41.1 23.2L48 351.4zm400 282H72l77.2-128H528z"],"font-awesome-logo-full":[3992,512,["Font Awesome"],"f4e6","M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z"],frown:[496,512,[],"f119","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 128c-40.2 0-78 17.7-103.8 48.6-8.5 10.2-7.1 25.3 3.1 33.8 10.2 8.4 25.3 7.1 33.8-3.1 16.6-19.9 41-31.4 66.9-31.4s50.3 11.4 66.9 31.4c8.1 9.7 23.1 11.9 33.8 3.1 10.2-8.5 11.5-23.6 3.1-33.8C326 321.7 288.2 304 248 304z"],"frown-open":[496,512,[],"f57a","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-48-248c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 112c-35.6 0-88.8 21.3-95.8 61.2-2 11.8 9 21.5 20.5 18.1 31.2-9.6 59.4-15.3 75.3-15.3s44.1 5.7 75.3 15.3c11.4 3.5 22.5-6.3 20.5-18.1-7-39.9-60.2-61.2-95.8-61.2z"],futbol:[496,512,[],"f1e3","M483.8 179.4C449.8 74.6 352.6 8 248.1 8c-25.4 0-51.2 3.9-76.7 12.2C41.2 62.5-30.1 202.4 12.2 332.6 46.2 437.4 143.4 504 247.9 504c25.4 0 51.2-3.9 76.7-12.2 130.2-42.3 201.5-182.2 159.2-312.4zm-74.5 193.7l-52.2 6.4-43.7-60.9 24.4-75.2 71.1-22.1 38.9 36.4c-.2 30.7-7.4 61.1-21.7 89.2-4.7 9.3-10.7 17.8-16.8 26.2zm0-235.4l-10.4 53.1-70.7 22-64.2-46.5V92.5l47.4-26.2c39.2 13 73.4 38 97.9 71.4zM184.9 66.4L232 92.5v73.8l-64.2 46.5-70.6-22-10.1-52.5c24.3-33.4 57.9-58.6 97.8-71.9zM139 379.5L85.9 373c-14.4-20.1-37.3-59.6-37.8-115.3l39-36.4 71.1 22.2 24.3 74.3-43.5 61.7zm48.2 67l-22.4-48.1 43.6-61.7H287l44.3 61.7-22.4 48.1c-6.2 1.8-57.6 20.4-121.7 0z"],gem:[576,512,[],"f3a5","M464 0H112c-4 0-7.8 2-10 5.4L2 152.6c-2.9 4.4-2.6 10.2.7 14.2l276 340.8c4.8 5.9 13.8 5.9 18.6 0l276-340.8c3.3-4.1 3.6-9.8.7-14.2L474.1 5.4C471.8 2 468.1 0 464 0zm-19.3 48l63.3 96h-68.4l-51.7-96h56.8zm-202.1 0h90.7l51.7 96H191l51.6-96zm-111.3 0h56.8l-51.7 96H68l63.3-96zm-43 144h51.4L208 352 88.3 192zm102.9 0h193.6L288 435.3 191.2 192zM368 352l68.2-160h51.4L368 352z"],grimace:[496,512,[],"f57f","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm16 16H152c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h192c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48zm-168 96h-24c-8.8 0-16-7.2-16-16v-8h40v24zm0-40h-40v-8c0-8.8 7.2-16 16-16h24v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm56 24c0 8.8-7.2 16-16 16h-24v-24h40v8zm0-24h-40v-24h24c8.8 0 16 7.2 16 16v8z"],grin:[496,512,[],"f580","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z"],"grin-alt":[496,512,[],"f581","M200.3 248c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zm128 0c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3z"],"grin-beam":[496,512,[],"f582","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-235.9-72.9c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3zm160 0c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3z"],"grin-beam-sweat":[496,512,[],"f583","M440 160c29.5 0 53.3-26.3 53.3-58.7 0-25-31.7-75.5-46.2-97.3-3.6-5.3-10.7-5.3-14.2 0-14.5 21.8-46.2 72.3-46.2 97.3 0 32.4 23.8 58.7 53.3 58.7zM248 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zm105.3-52.9c-24.6 15.7-46 12.9-46.4 12.9 6.9 20.2 10.8 41.8 10.8 64.3 0 110.3-89.7 200-200 200S48 366.3 48 256 137.7 56 248 56c39.8 0 76.8 11.8 108 31.9 1.7-9.5 6.3-24.1 17.2-45.7C336.4 20.6 293.7 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-27-4.4-52.9-12.4-77.2zM168 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z"],"grin-hearts":[496,512,[],"f584","M353.6 304.6c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-152.8-48.9c4.5 1.2 9.2-1.5 10.5-6l19.4-69.9c5.6-20.3-7.4-41.1-28.8-44.5-18.6-3-36.4 9.8-41.5 27.9l-2 7.1-7.1-1.9c-18.2-4.7-38.2 4.3-44.9 22-7.7 20.2 3.8 41.9 24.2 47.2l70.2 18.1zm188.8-65.3c-6.7-17.6-26.7-26.7-44.9-22l-7.1 1.9-2-7.1c-5-18.1-22.8-30.9-41.5-27.9-21.4 3.4-34.4 24.2-28.8 44.5l19.4 69.9c1.2 4.5 5.9 7.2 10.5 6l70.2-18.2c20.4-5.3 31.9-26.9 24.2-47.1zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200z"],"grin-squint":[496,512,[],"f585","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-234.7-40.8c3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3l-80-48c-5.1-3-11.4-1.9-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11.1.1 15.5zm242.9 2.5c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11-.1-15.5-3.8-4.4-10.2-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48z"],"grin-squint-tears":[512,512,[],"f586","M117.1 384.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 479 124.3 420.8 128 395c.8-6.4-4.6-11.8-10.9-10.9zm-41.2-41.7C40.3 268 53 176.1 114.6 114.6 152.4 76.8 202.6 56 256 56c36.2 0 70.8 9.8 101.2 27.7 3.8-20.3 8-36.1 12-48.3C333.8 17.2 294.9 8 256 8 192.5 8 129.1 32.2 80.6 80.6c-74.1 74.1-91.3 183.4-52 274 12.2-4.1 27.7-8.3 47.3-12.2zm352.3-187.6c45 76.6 34.9 176.9-30.8 242.6-37.8 37.8-88 58.6-141.4 58.6-30.5 0-59.8-7-86.4-19.8-3.9 19.5-8 35-12.2 47.2 31.4 13.6 65 20.6 98.7 20.6 63.5 0 126.9-24.2 175.4-72.6 78.1-78.1 93.1-195.4 45.2-288.6-12.3 4-28.2 8.1-48.5 12zm-33.3-26.9c25.8-3.7 84-13.7 100.9-30.6 21.9-21.9 21.5-57.9-.9-80.3s-58.3-22.8-80.3-.9C397.7 33 387.7 91.2 384 117c-.8 6.4 4.6 11.8 10.9 10.9zm-187 108.3c-3-3-7.2-4.2-11.4-3.2L106 255.7c-5.7 1.4-9.5 6.7-9.1 12.6.5 5.8 5.1 10.5 10.9 11l52.3 4.8 4.8 52.3c.5 5.8 5.2 10.4 11 10.9h.9c5.5 0 10.3-3.7 11.7-9.1l22.6-90.5c1-4.2-.2-8.5-3.2-11.5zm39.7-25.1l90.5-22.6c5.7-1.4 9.5-6.7 9.1-12.6-.5-5.8-5.1-10.5-10.9-11l-52.3-4.8-4.8-52.3c-.5-5.8-5.2-10.4-11-10.9-5.6-.1-11.2 3.4-12.6 9.1L233 196.5c-1 4.1.2 8.4 3.2 11.4 5 5 11.3 3.2 11.4 3.2zm52 88.5c-29.1 29.1-59.7 52.9-83.9 65.4-9.2 4.8-10 17.5-1.7 23.4 38.9 27.7 107 6.2 143.7-30.6S416 253 388.3 214.1c-5.8-8.2-18.5-7.6-23.4 1.7-12.3 24.2-36.2 54.7-65.3 83.8z"],"grin-stars":[496,512,[],"f587","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-227.9-57.5c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.5 1.9-12.2-4.3-13.2l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6.1 34.9zm259.7-72.7l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6 34.9c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.6 1.8-12.2-4.4-13.2z"],"grin-tears":[640,512,[],"f588","M117.1 256.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 351 124.3 292.8 128 267c.8-6.4-4.6-11.8-10.9-10.9zm506.7 30.6c-16.9-16.9-75.1-26.9-100.9-30.6-6.3-.9-11.7 4.5-10.8 10.8 3.7 25.8 13.7 84 30.6 100.9 21.9 21.9 57.9 21.5 80.3-.9 22.3-22.3 22.7-58.3.8-80.2zm-126.6 61.7C463.8 412.3 396.9 456 320 456c-76.9 0-143.8-43.7-177.2-107.6-12.5 37.4-25.2 43.9-28.3 46.5C159.1 460.7 234.5 504 320 504s160.9-43.3 205.5-109.1c-3.2-2.7-15.9-9.2-28.3-46.5zM122.7 224.5C137.9 129.2 220.5 56 320 56c99.5 0 182.1 73.2 197.3 168.5 2.1-.2 5.2-2.4 49.5 7C554.4 106 448.7 8 320 8S85.6 106 73.2 231.4c44.5-9.4 47.1-7.2 49.5-6.9zM320 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zM240 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z"],"grin-tongue":[496,512,[],"f589","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zM168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z"],"grin-tongue-squint":[496,512,[],"f58a","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zm36.9-281.1c-3.8-4.4-10.3-5.5-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zm-162.9 45.5l-80-48c-5-3-11.4-2-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3z"],"grin-tongue-wink":[496,512,[],"f58b","M152 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm176-52c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3z"],"grin-wink":[496,512,[],"f58c","M328 180c-25.69 0-55.88 16.92-59.86 42.12-1.75 11.22 11.5 18.24 19.83 10.84l9.55-8.48c14.81-13.19 46.16-13.19 60.97 0l9.55 8.48c8.48 7.43 21.56.25 19.83-10.84C383.88 196.92 353.69 180 328 180zm-160 60c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm185.55 64.64c-25.93 8.3-64.4 13.06-105.55 13.06s-79.62-4.75-105.55-13.06c-9.94-3.13-19.4 5.37-17.71 15.34C132.67 367.13 196.06 400 248 400s115.33-32.87 123.26-80.02c1.68-9.89-7.67-18.48-17.71-15.34zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z"],"hand-lizard":[576,512,[],"f258","M556.686 290.542L410.328 64.829C397.001 44.272 374.417 32 349.917 32H56C25.121 32 0 57.122 0 88v8c0 44.112 35.888 80 80 80h196.042l-18.333 48H144c-48.523 0-88 39.477-88 88 0 30.879 25.121 56 56 56h131.552c2.987 0 5.914.549 8.697 1.631L352 408.418V480h224V355.829c0-23.225-6.679-45.801-19.314-65.287zM528 432H400v-23.582c0-19.948-12.014-37.508-30.604-44.736l-99.751-38.788A71.733 71.733 0 0 0 243.552 320H112c-4.411 0-8-3.589-8-8 0-22.056 17.944-40 40-40h113.709c19.767 0 37.786-12.407 44.84-30.873l24.552-64.281c8.996-23.553-8.428-48.846-33.63-48.846H80c-17.645 0-32-14.355-32-32v-8c0-4.411 3.589-8 8-8h293.917c8.166 0 15.693 4.09 20.137 10.942l146.358 225.715A71.84 71.84 0 0 1 528 355.829V432z"],"hand-paper":[448,512,[],"f256","M372.57 112.641v-10.825c0-43.612-40.52-76.691-83.039-65.546-25.629-49.5-94.09-47.45-117.982.747C130.269 26.456 89.144 57.945 89.144 102v126.13c-19.953-7.427-43.308-5.068-62.083 8.871-29.355 21.796-35.794 63.333-14.55 93.153L132.48 498.569a32 32 0 0 0 26.062 13.432h222.897c14.904 0 27.835-10.289 31.182-24.813l30.184-130.958A203.637 203.637 0 0 0 448 310.564V179c0-40.62-35.523-71.992-75.43-66.359zm27.427 197.922c0 11.731-1.334 23.469-3.965 34.886L368.707 464h-201.92L51.591 302.303c-14.439-20.27 15.023-42.776 29.394-22.605l27.128 38.079c8.995 12.626 29.031 6.287 29.031-9.283V102c0-25.645 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V67c0-25.663 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V101.125c0-25.672 36.57-24.81 36.57.691V256c0 8.837 7.163 16 16 16h6.857c8.837 0 16-7.163 16-16v-76.309c0-26.242 36.57-25.64 36.57-.691v131.563z"],"hand-peace":[448,512,[],"f25b","M362.146 191.976c-13.71-21.649-38.761-34.016-65.006-30.341V74c0-40.804-32.811-74-73.141-74-40.33 0-73.14 33.196-73.14 74L160 168l-18.679-78.85C126.578 50.843 83.85 32.11 46.209 47.208 8.735 62.238-9.571 104.963 5.008 142.85l55.757 144.927c-30.557 24.956-43.994 57.809-24.733 92.218l54.853 97.999C102.625 498.97 124.73 512 148.575 512h205.702c30.744 0 57.558-21.44 64.555-51.797l27.427-118.999a67.801 67.801 0 0 0 1.729-15.203L448 256c0-44.956-43.263-77.343-85.854-64.024zM399.987 326c0 1.488-.169 2.977-.502 4.423l-27.427 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H148.575c-6.486 0-12.542-3.621-15.805-9.449l-54.854-98c-4.557-8.141-2.619-18.668 4.508-24.488l26.647-21.764a16 16 0 0 0 4.812-18.139l-64.09-166.549C37.226 92.956 84.37 74.837 96.51 106.389l59.784 155.357A16 16 0 0 0 171.227 272h11.632c8.837 0 16-7.163 16-16V74c0-34.375 50.281-34.43 50.281 0v182c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16v-28c0-25.122 36.567-25.159 36.567 0v28c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16 0-25.12 36.567-25.16 36.567 0v70z"],"hand-point-down":[448,512,[],"f0a7","M188.8 512c45.616 0 83.2-37.765 83.2-83.2v-35.647a93.148 93.148 0 0 0 22.064-7.929c22.006 2.507 44.978-3.503 62.791-15.985C409.342 368.1 448 331.841 448 269.299V248c0-60.063-40-98.512-40-127.2v-2.679c4.952-5.747 8-13.536 8-22.12V32c0-17.673-12.894-32-28.8-32H156.8C140.894 0 128 14.327 128 32v64c0 8.584 3.048 16.373 8 22.12v2.679c0 6.964-6.193 14.862-23.668 30.183l-.148.129-.146.131c-9.937 8.856-20.841 18.116-33.253 25.851C48.537 195.798 0 207.486 0 252.8c0 56.928 35.286 92 83.2 92 8.026 0 15.489-.814 22.4-2.176V428.8c0 45.099 38.101 83.2 83.2 83.2zm0-48c-18.7 0-35.2-16.775-35.2-35.2V270.4c-17.325 0-35.2 26.4-70.4 26.4-26.4 0-35.2-20.625-35.2-44 0-8.794 32.712-20.445 56.1-34.926 14.575-9.074 27.225-19.524 39.875-30.799 18.374-16.109 36.633-33.836 39.596-59.075h176.752C364.087 170.79 400 202.509 400 248v21.299c0 40.524-22.197 57.124-61.325 50.601-8.001 14.612-33.979 24.151-53.625 12.925-18.225 19.365-46.381 17.787-61.05 4.95V428.8c0 18.975-16.225 35.2-35.2 35.2zM328 64c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24z"],"hand-point-left":[512,512,[],"f0a5","M0 220.8C0 266.416 37.765 304 83.2 304h35.647a93.148 93.148 0 0 0 7.929 22.064c-2.507 22.006 3.503 44.978 15.985 62.791C143.9 441.342 180.159 480 242.701 480H264c60.063 0 98.512-40 127.2-40h2.679c5.747 4.952 13.536 8 22.12 8h64c17.673 0 32-12.894 32-28.8V188.8c0-15.906-14.327-28.8-32-28.8h-64c-8.584 0-16.373 3.048-22.12 8H391.2c-6.964 0-14.862-6.193-30.183-23.668l-.129-.148-.131-.146c-8.856-9.937-18.116-20.841-25.851-33.253C316.202 80.537 304.514 32 259.2 32c-56.928 0-92 35.286-92 83.2 0 8.026.814 15.489 2.176 22.4H83.2C38.101 137.6 0 175.701 0 220.8zm48 0c0-18.7 16.775-35.2 35.2-35.2h158.4c0-17.325-26.4-35.2-26.4-70.4 0-26.4 20.625-35.2 44-35.2 8.794 0 20.445 32.712 34.926 56.1 9.074 14.575 19.524 27.225 30.799 39.875 16.109 18.374 33.836 36.633 59.075 39.596v176.752C341.21 396.087 309.491 432 264 432h-21.299c-40.524 0-57.124-22.197-50.601-61.325-14.612-8.001-24.151-33.979-12.925-53.625-19.365-18.225-17.787-46.381-4.95-61.05H83.2C64.225 256 48 239.775 48 220.8zM448 360c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z"],"hand-point-right":[512,512,[],"f0a4","M428.8 137.6h-86.177a115.52 115.52 0 0 0 2.176-22.4c0-47.914-35.072-83.2-92-83.2-45.314 0-57.002 48.537-75.707 78.784-7.735 12.413-16.994 23.317-25.851 33.253l-.131.146-.129.148C135.662 161.807 127.764 168 120.8 168h-2.679c-5.747-4.952-13.536-8-22.12-8H32c-17.673 0-32 12.894-32 28.8v230.4C0 435.106 14.327 448 32 448h64c8.584 0 16.373-3.048 22.12-8h2.679c28.688 0 67.137 40 127.2 40h21.299c62.542 0 98.8-38.658 99.94-91.145 12.482-17.813 18.491-40.785 15.985-62.791A93.148 93.148 0 0 0 393.152 304H428.8c45.435 0 83.2-37.584 83.2-83.2 0-45.099-38.101-83.2-83.2-83.2zm0 118.4h-91.026c12.837 14.669 14.415 42.825-4.95 61.05 11.227 19.646 1.687 45.624-12.925 53.625 6.524 39.128-10.076 61.325-50.6 61.325H248c-45.491 0-77.21-35.913-120-39.676V215.571c25.239-2.964 42.966-21.222 59.075-39.596 11.275-12.65 21.725-25.3 30.799-39.875C232.355 112.712 244.006 80 252.8 80c23.375 0 44 8.8 44 35.2 0 35.2-26.4 53.075-26.4 70.4h158.4c18.425 0 35.2 16.5 35.2 35.2 0 18.975-16.225 35.2-35.2 35.2zM88 384c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z"],"hand-point-up":[448,512,[],"f0a6","M105.6 83.2v86.177a115.52 115.52 0 0 0-22.4-2.176c-47.914 0-83.2 35.072-83.2 92 0 45.314 48.537 57.002 78.784 75.707 12.413 7.735 23.317 16.994 33.253 25.851l.146.131.148.129C129.807 376.338 136 384.236 136 391.2v2.679c-4.952 5.747-8 13.536-8 22.12v64c0 17.673 12.894 32 28.8 32h230.4c15.906 0 28.8-14.327 28.8-32v-64c0-8.584-3.048-16.373-8-22.12V391.2c0-28.688 40-67.137 40-127.2v-21.299c0-62.542-38.658-98.8-91.145-99.94-17.813-12.482-40.785-18.491-62.791-15.985A93.148 93.148 0 0 0 272 118.847V83.2C272 37.765 234.416 0 188.8 0c-45.099 0-83.2 38.101-83.2 83.2zm118.4 0v91.026c14.669-12.837 42.825-14.415 61.05 4.95 19.646-11.227 45.624-1.687 53.625 12.925 39.128-6.524 61.325 10.076 61.325 50.6V264c0 45.491-35.913 77.21-39.676 120H183.571c-2.964-25.239-21.222-42.966-39.596-59.075-12.65-11.275-25.3-21.725-39.875-30.799C80.712 279.645 48 267.994 48 259.2c0-23.375 8.8-44 35.2-44 35.2 0 53.075 26.4 70.4 26.4V83.2c0-18.425 16.5-35.2 35.2-35.2 18.975 0 35.2 16.225 35.2 35.2zM352 424c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z"],"hand-pointer":[448,512,[],"f25a","M358.182 179.361c-19.493-24.768-52.679-31.945-79.872-19.098-15.127-15.687-36.182-22.487-56.595-19.629V67c0-36.944-29.736-67-66.286-67S89.143 30.056 89.143 67v161.129c-19.909-7.41-43.272-5.094-62.083 8.872-29.355 21.795-35.793 63.333-14.55 93.152l109.699 154.001C134.632 501.59 154.741 512 176 512h178.286c30.802 0 57.574-21.5 64.557-51.797l27.429-118.999A67.873 67.873 0 0 0 448 326v-84c0-46.844-46.625-79.273-89.818-62.639zM80.985 279.697l27.126 38.079c8.995 12.626 29.031 6.287 29.031-9.283V67c0-25.12 36.571-25.16 36.571 0v175c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16v-35c0-25.12 36.571-25.16 36.571 0v35c0 8.836 7.163 16 16 16H272c8.837 0 16-7.164 16-16v-21c0-25.12 36.571-25.16 36.571 0v21c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16 0-25.121 36.571-25.16 36.571 0v84c0 1.488-.169 2.977-.502 4.423l-27.43 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H176c-5.769 0-11.263-2.878-14.697-7.697l-109.712-154c-14.406-20.223 14.994-42.818 29.394-22.606zM176.143 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.733 0-14-7.163-14-16zm75.428 0v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16zM327 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16z"],"hand-rock":[512,512,[],"f255","M408.864 79.052c-22.401-33.898-66.108-42.273-98.813-23.588-29.474-31.469-79.145-31.093-108.334-.022-47.16-27.02-108.71 5.055-110.671 60.806C44.846 105.407 0 140.001 0 187.429v56.953c0 32.741 14.28 63.954 39.18 85.634l97.71 85.081c4.252 3.702 3.11 5.573 3.11 32.903 0 17.673 14.327 32 32 32h252c17.673 0 32-14.327 32-32 0-23.513-1.015-30.745 3.982-42.37l42.835-99.656c6.094-14.177 9.183-29.172 9.183-44.568V146.963c0-52.839-54.314-88.662-103.136-67.911zM464 261.406a64.505 64.505 0 0 1-5.282 25.613l-42.835 99.655c-5.23 12.171-7.883 25.04-7.883 38.25V432H188v-10.286c0-16.37-7.14-31.977-19.59-42.817l-97.71-85.08C56.274 281.255 48 263.236 48 244.381v-56.953c0-33.208 52-33.537 52 .677v41.228a16 16 0 0 0 5.493 12.067l7 6.095A16 16 0 0 0 139 235.429V118.857c0-33.097 52-33.725 52 .677v26.751c0 8.836 7.164 16 16 16h7c8.836 0 16-7.164 16-16v-41.143c0-33.134 52-33.675 52 .677v40.466c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16v-27.429c0-33.03 52-33.78 52 .677v26.751c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16 0-33.146 52-33.613 52 .677v114.445z"],"hand-scissors":[512,512,[],"f257","M256 480l70-.013c5.114 0 10.231-.583 15.203-1.729l118.999-27.427C490.56 443.835 512 417.02 512 386.277V180.575c0-23.845-13.03-45.951-34.005-57.69l-97.999-54.853c-34.409-19.261-67.263-5.824-92.218 24.733L142.85 37.008c-37.887-14.579-80.612 3.727-95.642 41.201-15.098 37.642 3.635 80.37 41.942 95.112L168 192l-94-9.141c-40.804 0-74 32.811-74 73.14 0 40.33 33.196 73.141 74 73.141h87.635c-3.675 26.245 8.692 51.297 30.341 65.006C178.657 436.737 211.044 480 256 480zm0-48.013c-25.16 0-25.12-36.567 0-36.567 8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16h-28c-25.159 0-25.122-36.567 0-36.567h28c8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16H74c-34.43 0-34.375-50.281 0-50.281h182c8.837 0 16-7.163 16-16v-11.632a16 16 0 0 0-10.254-14.933L106.389 128.51c-31.552-12.14-13.432-59.283 19.222-46.717l166.549 64.091a16.001 16.001 0 0 0 18.139-4.812l21.764-26.647c5.82-7.127 16.348-9.064 24.488-4.508l98 54.854c5.828 3.263 9.449 9.318 9.449 15.805v205.701c0 8.491-5.994 15.804-14.576 17.782l-119.001 27.427a19.743 19.743 0 0 1-4.423.502h-70z"],"hand-spock":[512,512,[],"f259","M501.03053,116.17605c-19.39059-31.50779-51.24406-35.72849-66.31044-35.01756-14.11325-50.81051-62.0038-54.08-70.73816-54.08a74.03091,74.03091,0,0,0-72.23816,58.916l-4.64648,22.66014-13.68357-53.207c-9.09569-35.37107-46.412-64.05074-89.66-53.07223a73.89749,73.89749,0,0,0-55.121,78.94722,73.68273,73.68273,0,0,0-64.8495,94.42181l24.35933,82.19721c-38.24017-7.54492-62.79677,16.18358-68.11512,21.84764a73.6791,73.6791,0,0,0,3.19921,104.19329l91.36509,85.9765A154.164,154.164,0,0,0,220.62279,512h107.4549A127.30079,127.30079,0,0,0,452.3392,413.86139l57.623-241.96272A73.20274,73.20274,0,0,0,501.03053,116.17605Zm-37.7597,44.60544L405.64788,402.74812a79.46616,79.46616,0,0,1-77.57019,61.25972H220.62279a106.34052,106.34052,0,0,1-73.1366-28.998l-91.369-85.98041C31.34381,325.72669,66.61133,288.131,91.39644,311.5392l51.123,48.10739c5.42577,5.10937,13.48239.71679,13.48239-5.82617a246.79914,246.79914,0,0,0-10.17771-70.1523l-36.01362-121.539c-9.7324-32.88279,39.69916-47.27145,49.38664-14.625l31.3437,105.77923c5.59374,18.90428,33.78119,10.71288,28.9648-8.00781L177.06427,80.23662c-8.50389-33.1035,41.43157-45.64646,49.86515-12.83593l47.32609,184.035c4.42773,17.24218,29.16207,16.5039,32.71089-.80468l31.791-154.9706c6.81054-33.1074,57.51748-24.10741,50.11906,11.96288L360.32764,246.78924c-3.72265,18.10936,23.66793,24.63084,28.05659,6.21679L413.185,148.85962C421.1498,115.512,471.14,127.79713,463.27083,160.78149Z"],handshake:[640,512,[],"f2b5","M519.2 127.9l-47.6-47.6A56.252 56.252 0 0 0 432 64H205.2c-14.8 0-29.1 5.9-39.6 16.3L118 127.9H0v255.7h64c17.6 0 31.8-14.2 31.9-31.7h9.1l84.6 76.4c30.9 25.1 73.8 25.7 105.6 3.8 12.5 10.8 26 15.9 41.1 15.9 18.2 0 35.3-7.4 48.8-24 22.1 8.7 48.2 2.6 64-16.8l26.2-32.3c5.6-6.9 9.1-14.8 10.9-23h57.9c.1 17.5 14.4 31.7 31.9 31.7h64V127.9H519.2zM48 351.6c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16zm390-6.9l-26.1 32.2c-2.8 3.4-7.8 4-11.3 1.2l-23.9-19.4-30 36.5c-6 7.3-15 4.8-18 2.4l-36.8-31.5-15.6 19.2c-13.9 17.1-39.2 19.7-55.3 6.6l-97.3-88H96V175.8h41.9l61.7-61.6c2-.8 3.7-1.5 5.7-2.3H262l-38.7 35.5c-29.4 26.9-31.1 72.3-4.4 101.3 14.8 16.2 61.2 41.2 101.5 4.4l8.2-7.5 108.2 87.8c3.4 2.8 3.9 7.9 1.2 11.3zm106-40.8h-69.2c-2.3-2.8-4.9-5.4-7.7-7.7l-102.7-83.4 12.5-11.4c6.5-6 7-16.1 1-22.6L367 167.1c-6-6.5-16.1-6.9-22.6-1l-55.2 50.6c-9.5 8.7-25.7 9.4-34.6 0-9.3-9.9-8.5-25.1 1.2-33.9l65.6-60.1c7.4-6.8 17-10.5 27-10.5l83.7-.2c2.1 0 4.1.8 5.5 2.3l61.7 61.6H544v128zm48 47.7c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16z"],hdd:[576,512,[],"f0a0","M567.403 235.642L462.323 84.589A48 48 0 0 0 422.919 64H153.081a48 48 0 0 0-39.404 20.589L8.597 235.642A48.001 48.001 0 0 0 0 263.054V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V263.054c0-9.801-3-19.366-8.597-27.412zM153.081 112h269.838l77.913 112H75.168l77.913-112zM528 400H48V272h480v128zm-32-64c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32zm-96 0c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32z"],heart:[512,512,[],"f004","M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z"],hospital:[448,512,[],"f0f8","M128 244v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12zm140 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm-76 84v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm76 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm180 124v36H0v-36c0-6.627 5.373-12 12-12h19.5V85.035C31.5 73.418 42.245 64 55.5 64H144V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v40h88.5c13.255 0 24 9.418 24 21.035V464H436c6.627 0 12 5.373 12 12zM79.5 463H192v-67c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v67h112.5V112H304v24c0 13.255-10.745 24-24 24H168c-13.255 0-24-10.745-24-24v-24H79.5v351zM266 64h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6z"],hourglass:[384,512,[],"f254","M368 48h4c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12H12C5.373 0 0 5.373 0 12v24c0 6.627 5.373 12 12 12h4c0 80.564 32.188 165.807 97.18 208C47.899 298.381 16 383.9 16 464h-4c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-4c0-80.564-32.188-165.807-97.18-208C336.102 213.619 368 128.1 368 48zM64 48h256c0 101.62-57.307 184-128 184S64 149.621 64 48zm256 416H64c0-101.62 57.308-184 128-184s128 82.38 128 184z"],"id-badge":[384,512,[],"f2c1","M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm0 464H48V48h288v416zM144 112h96c8.8 0 16-7.2 16-16s-7.2-16-16-16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16zm48 176c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z"],"id-card":[576,512,[],"f2c2","M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H303.2c.9-4.5.8 3.6.8-22.4 0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6 0 26-.2 17.9.8 22.4H48V144h480v288zm-168-80h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm-168 96c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z"],image:[512,512,[],"f03e","M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z"],images:[576,512,[],"f302","M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v48H54a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6v-10h48zm42-336H150a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6V86a6 6 0 0 0-6-6zm6-48c26.51 0 48 21.49 48 48v256c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h384zM264 144c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40zm-72 96l39.515-39.515c4.686-4.686 12.284-4.686 16.971 0L288 240l103.515-103.515c4.686-4.686 12.284-4.686 16.971 0L480 208v80H192v-48z"],keyboard:[576,512,[],"f11c","M528 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm8 336c0 4.411-3.589 8-8 8H48c-4.411 0-8-3.589-8-8V112c0-4.411 3.589-8 8-8h480c4.411 0 8 3.589 8 8v288zM170 270v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-336 82v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm384 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zM122 188v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-98 158v-16c0-6.627-5.373-12-12-12H180c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h216c6.627 0 12-5.373 12-12z"],kiss:[496,512,[],"f596","M168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm136 132c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z"],"kiss-beam":[496,512,[],"f597","M168 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm56-148c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zm24-156c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4z"],"kiss-wink-heart":[504,512,[],"f598","M304 308.5c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36 21.7-9.1 35.1-23.4 35.1-36.4zm70.5-83.5l9.5 8.5c3.8 3.3 9.3 4 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 5.8 3.1 11.2.7 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0zM136 208.5c0 17.7 14.3 32 32 32s32-14.3 32-32-14.3-32-32-32-32 14.3-32 32zm365.1 194c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zM334 436.3c-26.1 12.5-55.2 19.7-86 19.7-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200c0 22.1-3.7 43.3-10.4 63.2 9 6.4 17 14.2 22.6 23.9 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-2.5-7.3 4.3 17.2-13.4-46.8z"],laugh:[496,512,[],"f599","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 224c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm-160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z"],"laugh-beam":[496,512,[],"f59a","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 152c-23.8 0-52.7 29.3-56 71.4-.7 8.6 10.8 11.9 14.9 4.5l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.1-42.1-32-71.4-55.8-71.4zm-201 75.9l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.6 8.5 10.9 11.9 15.1 4.5zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z"],"laugh-squint":[496,512,[],"f59b","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM343.6 196l33.6-40.3c8.6-10.3-3.8-24.8-15.4-18l-80 48c-7.8 4.7-7.8 15.9 0 20.6l80 48c11.5 6.8 24-7.6 15.4-18L343.6 196zm-209.4 58.3l80-48c7.8-4.7 7.8-15.9 0-20.6l-80-48c-11.6-6.9-24 7.7-15.4 18l33.6 40.3-33.6 40.3c-8.7 10.4 3.8 24.8 15.4 18zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z"],"laugh-wink":[496,512,[],"f59c","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6C68.8 359.6 48 309.4 48 256s20.8-103.6 58.6-141.4C144.4 76.8 194.6 56 248 56s103.6 20.8 141.4 58.6c37.8 37.8 58.6 88 58.6 141.4s-20.8 103.6-58.6 141.4zM328 164c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1zm-160 60c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z"],lemon:[512,512,[],"f094","M484.112 27.889C455.989-.233 416.108-8.057 387.059 8.865 347.604 31.848 223.504-41.111 91.196 91.197-41.277 223.672 31.923 347.472 8.866 387.058c-16.922 29.051-9.1 68.932 19.022 97.054 28.135 28.135 68.011 35.938 97.057 19.021 39.423-22.97 163.557 49.969 295.858-82.329 132.474-132.477 59.273-256.277 82.331-295.861 16.922-29.05 9.1-68.931-19.022-97.054zm-22.405 72.894c-38.8 66.609 45.6 165.635-74.845 286.08-120.44 120.443-219.475 36.048-286.076 74.843-22.679 13.207-64.035-27.241-50.493-50.488 38.8-66.609-45.6-165.635 74.845-286.08C245.573 4.702 344.616 89.086 411.219 50.292c22.73-13.24 64.005 27.288 50.488 50.491zm-169.861 8.736c1.37 10.96-6.404 20.957-17.365 22.327-54.846 6.855-135.779 87.787-142.635 142.635-1.373 10.989-11.399 18.734-22.326 17.365-10.961-1.37-18.735-11.366-17.365-22.326 9.162-73.286 104.167-168.215 177.365-177.365 10.953-1.368 20.956 6.403 22.326 17.364z"],"life-ring":[512,512,[],"f1cd","M256 504c136.967 0 248-111.033 248-248S392.967 8 256 8 8 119.033 8 256s111.033 248 248 248zm-103.398-76.72l53.411-53.411c31.806 13.506 68.128 13.522 99.974 0l53.411 53.411c-63.217 38.319-143.579 38.319-206.796 0zM336 256c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zm91.28 103.398l-53.411-53.411c13.505-31.806 13.522-68.128 0-99.974l53.411-53.411c38.319 63.217 38.319 143.579 0 206.796zM359.397 84.72l-53.411 53.411c-31.806-13.505-68.128-13.522-99.973 0L152.602 84.72c63.217-38.319 143.579-38.319 206.795 0zM84.72 152.602l53.411 53.411c-13.506 31.806-13.522 68.128 0 99.974L84.72 359.398c-38.319-63.217-38.319-143.579 0-206.796z"],lightbulb:[352,512,[],"f0eb","M176 80c-52.94 0-96 43.06-96 96 0 8.84 7.16 16 16 16s16-7.16 16-16c0-35.3 28.72-64 64-64 8.84 0 16-7.16 16-16s-7.16-16-16-16zM96.06 459.17c0 3.15.93 6.22 2.68 8.84l24.51 36.84c2.97 4.46 7.97 7.14 13.32 7.14h78.85c5.36 0 10.36-2.68 13.32-7.14l24.51-36.84c1.74-2.62 2.67-5.7 2.68-8.84l.05-43.18H96.02l.04 43.18zM176 0C73.72 0 0 82.97 0 176c0 44.37 16.45 84.85 43.56 115.78 16.64 18.99 42.74 58.8 52.42 92.16v.06h48v-.12c-.01-4.77-.72-9.51-2.15-14.07-5.59-17.81-22.82-64.77-62.17-109.67-20.54-23.43-31.52-53.15-31.61-84.14-.2-73.64 59.67-128 127.95-128 70.58 0 128 57.42 128 128 0 30.97-11.24 60.85-31.65 84.14-39.11 44.61-56.42 91.47-62.1 109.46a47.507 47.507 0 0 0-2.22 14.3v.1h48v-.05c9.68-33.37 35.78-73.18 52.42-92.16C335.55 260.85 352 220.37 352 176 352 78.8 273.2 0 176 0z"],"list-alt":[512,512,[],"f022","M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-42-92v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm-252 12c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36z"],map:[576,512,[],"f279","M560.02 32c-1.96 0-3.98.37-5.96 1.16L384.01 96H384L212 35.28A64.252 64.252 0 0 0 191.76 32c-6.69 0-13.37 1.05-19.81 3.14L20.12 87.95A32.006 32.006 0 0 0 0 117.66v346.32C0 473.17 7.53 480 15.99 480c1.96 0 3.97-.37 5.96-1.16L192 416l172 60.71a63.98 63.98 0 0 0 40.05.15l151.83-52.81A31.996 31.996 0 0 0 576 394.34V48.02c0-9.19-7.53-16.02-15.98-16.02zM224 90.42l128 45.19v285.97l-128-45.19V90.42zM48 418.05V129.07l128-44.53v286.2l-.64.23L48 418.05zm480-35.13l-128 44.53V141.26l.64-.24L528 93.95v288.97z"],meh:[496,512,[],"f11a","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm8 144H160c-13.2 0-24 10.8-24 24s10.8 24 24 24h176c13.2 0 24-10.8 24-24s-10.8-24-24-24z"],"meh-blank":[496,512,[],"f5a4","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z"],"meh-rolling-eyes":[496,512,[],"f5a5","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm88-304c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm0 112c-22.1 0-40-17.9-40-40 0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40zm-104-40c0-39.8-32.2-72-72-72s-72 32.2-72 72 32.2 72 72 72 72-32.2 72-72zm-112 0c0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40s-40-17.9-40-40zm192 128H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z"],"minus-square":[448,512,[],"f146","M108 284c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h232c6.6 0 12 5.4 12 12v32c0 6.6-5.4 12-12 12H108zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"],"money-bill-alt":[640,512,[],"f3d1","M320 144c-53.02 0-96 50.14-96 112 0 61.85 42.98 112 96 112 53 0 96-50.13 96-112 0-61.86-42.98-112-96-112zm40 168c0 4.42-3.58 8-8 8h-64c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h16v-55.44l-.47.31a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09l15.33-10.22a23.99 23.99 0 0 1 13.31-4.03H328c4.42 0 8 3.58 8 8v88h16c4.42 0 8 3.58 8 8v16zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zm-16 272c-35.35 0-64 28.65-64 64H112c0-35.35-28.65-64-64-64V176c35.35 0 64-28.65 64-64h416c0 35.35 28.65 64 64 64v160z"],moon:[512,512,[],"f186","M279.135 512c78.756 0 150.982-35.804 198.844-94.775 28.27-34.831-2.558-85.722-46.249-77.401-82.348 15.683-158.272-47.268-158.272-130.792 0-48.424 26.06-92.292 67.434-115.836 38.745-22.05 28.999-80.788-15.022-88.919A257.936 257.936 0 0 0 279.135 0c-141.36 0-256 114.575-256 256 0 141.36 114.576 256 256 256zm0-464c12.985 0 25.689 1.201 38.016 3.478-54.76 31.163-91.693 90.042-91.693 157.554 0 113.848 103.641 199.2 215.252 177.944C402.574 433.964 344.366 464 279.135 464c-114.875 0-208-93.125-208-208s93.125-208 208-208z"],newspaper:[576,512,[],"f1ea","M552 64H112c-20.858 0-38.643 13.377-45.248 32H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h496c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24zM48 392V144h16v248c0 4.411-3.589 8-8 8s-8-3.589-8-8zm480 8H111.422c.374-2.614.578-5.283.578-8V112h416v288zM172 280h136c6.627 0 12-5.373 12-12v-96c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v96c0 6.627 5.373 12 12 12zm28-80h80v40h-80v-40zm-40 140v-24c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H172c-6.627 0-12-5.373-12-12zm192 0v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0-144v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0 72v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12z"],"object-group":[512,512,[],"f247","M500 128c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v256H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V128h12zm-52-64h32v32h-32V64zM32 64h32v32H32V64zm32 384H32v-32h32v32zm416 0h-32v-32h32v32zm-40-64h-12c-6.627 0-12 5.373-12 12v12H96v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h12v256zm-36-192h-84v-52c0-6.628-5.373-12-12-12H108c-6.627 0-12 5.372-12 12v168c0 6.628 5.373 12 12 12h84v52c0 6.628 5.373 12 12 12h200c6.627 0 12-5.372 12-12V204c0-6.628-5.373-12-12-12zm-268-24h144v112H136V168zm240 176H232v-24h76c6.627 0 12-5.372 12-12v-76h56v112z"],"object-ungroup":[576,512,[],"f248","M564 224c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12h-88v-24h12c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v160H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h88v24h-12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V224h12zM352 64h32v32h-32V64zm0 256h32v32h-32v-32zM64 352H32v-32h32v32zm0-256H32V64h32v32zm32 216v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h12v160h-12c-6.627 0-12 5.373-12 12v12H96zm128 136h-32v-32h32v32zm280-64h-12c-6.627 0-12 5.373-12 12v12H256v-12c0-6.627-5.373-12-12-12h-12v-24h88v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12v-88h88v12c0 6.627 5.373 12 12 12h12v160zm40 64h-32v-32h32v32zm0-256h-32v-32h32v32z"],"paper-plane":[512,512,[],"f1d8","M440 6.5L24 246.4c-34.4 19.9-31.1 70.8 5.7 85.9L144 379.6V464c0 46.4 59.2 65.5 86.6 28.6l43.8-59.1 111.9 46.2c5.9 2.4 12.1 3.6 18.3 3.6 8.2 0 16.3-2.1 23.6-6.2 12.8-7.2 21.6-20 23.9-34.5l59.4-387.2c6.1-40.1-36.9-68.8-71.5-48.9zM192 464v-64.6l36.6 15.1L192 464zm212.6-28.7l-153.8-63.5L391 169.5c10.7-15.5-9.5-33.5-23.7-21.2L155.8 332.6 48 288 464 48l-59.4 387.3z"],"pause-circle":[512,512,[],"f28b","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm96-280v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16zm-112 0v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16z"],"play-circle":[512,512,[],"f144","M371.7 238l-176-107c-15.8-8.8-35.7 2.5-35.7 21v208c0 18.4 19.8 29.8 35.7 21l176-101c16.4-9.1 16.4-32.8 0-42zM504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256z"],"plus-square":[448,512,[],"f0fe","M352 240v32c0 6.6-5.4 12-12 12h-88v88c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-88h-88c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h88v-88c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v88h88c6.6 0 12 5.4 12 12zm96-160v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"],"question-circle":[512,512,[],"f059","M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm107.244-255.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516 17.561-9.845 28.324-16.541 28.324-29.579 0-17.246-21.999-28.693-39.784-28.693-23.189 0-33.894 10.977-48.942 29.969-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C184.846 131.491 214.94 112 261.794 112c49.071 0 101.45 38.304 101.45 88.8zM298 368c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42z"],registered:[512,512,[],"f25d","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm110.442-81.791c-53.046-96.284-50.25-91.468-53.271-96.085 24.267-13.879 39.482-41.563 39.482-73.176 0-52.503-30.247-85.252-101.498-85.252h-78.667c-6.617 0-12 5.383-12 12V380c0 6.617 5.383 12 12 12h38.568c6.617 0 12-5.383 12-12v-83.663h31.958l47.515 89.303a11.98 11.98 0 0 0 10.593 6.36h42.81c9.14 0 14.914-9.799 10.51-17.791zM256.933 239.906h-33.875v-64.14h27.377c32.417 0 38.929 12.133 38.929 31.709-.001 20.913-11.518 32.431-32.431 32.431z"],"sad-cry":[496,512,[],"f5b3","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm144 386.4V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v151.4C315.5 447 282.8 456 248 456s-67.5-9-96-24.6V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v114.4c-34.6-36-56-84.7-56-138.4 0-110.3 89.7-200 200-200s200 89.7 200 200c0 53.7-21.4 102.5-56 138.4zM205.8 234.5c4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.3 7.9 4.8 13.7 1.6zM344 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.5 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm-96 92c-30.9 0-56 28.7-56 64s25.1 64 56 64 56-28.7 56-64-25.1-64-56-64z"],"sad-tear":[496,512,[],"f5b4","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm8-152c-13.2 0-24 10.8-24 24s10.8 24 24 24c23.8 0 46.3 10.5 61.6 28.8 8.1 9.8 23.2 11.9 33.8 3.1 10.2-8.5 11.6-23.6 3.1-33.8C330 320.8 294.1 304 256 304zm-88-64c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-165.6 98.8C151 290.1 126 325.4 126 342.9c0 22.7 18.8 41.1 42 41.1s42-18.4 42-41.1c0-17.5-25-52.8-36.4-68.1-2.8-3.7-8.4-3.7-11.2 0z"],save:[448,512,[],"f0c7","M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM272 80v80H144V80h128zm122 352H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h42v104c0 13.255 10.745 24 24 24h176c13.255 0 24-10.745 24-24V83.882l78.243 78.243a6 6 0 0 1 1.757 4.243V426a6 6 0 0 1-6 6zM224 232c-48.523 0-88 39.477-88 88s39.477 88 88 88 88-39.477 88-88-39.477-88-88-88zm0 128c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40z"],"share-square":[576,512,[],"f14d","M561.938 158.06L417.94 14.092C387.926-15.922 336 5.097 336 48.032v57.198c-42.45 1.88-84.03 6.55-120.76 17.99-35.17 10.95-63.07 27.58-82.91 49.42C108.22 199.2 96 232.6 96 271.94c0 61.697 33.178 112.455 84.87 144.76 37.546 23.508 85.248-12.651 71.02-55.74-15.515-47.119-17.156-70.923 84.11-78.76V336c0 42.993 51.968 63.913 81.94 33.94l143.998-144c18.75-18.74 18.75-49.14 0-67.88zM384 336V232.16C255.309 234.082 166.492 255.35 206.31 376 176.79 357.55 144 324.08 144 271.94c0-109.334 129.14-118.947 240-119.85V48l144 144-144 144zm24.74 84.493a82.658 82.658 0 0 0 20.974-9.303c7.976-4.952 18.286.826 18.286 10.214V464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h132c6.627 0 12 5.373 12 12v4.486c0 4.917-2.987 9.369-7.569 11.152-13.702 5.331-26.396 11.537-38.05 18.585a12.138 12.138 0 0 1-6.28 1.777H54a6 6 0 0 0-6 6v340a6 6 0 0 0 6 6h340a6 6 0 0 0 6-6v-25.966c0-5.37 3.579-10.059 8.74-11.541z"],smile:[496,512,[],"f118","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm4 72.6c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.1-8.4-25.3-7.1-33.8 3.1z"],"smile-beam":[496,512,[],"f5b8","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm84-143.4c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.6-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.2-8.4-25.3-7.1-33.8 3.1zM136.5 211c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.4 1.1 7.4-.5 9.3-3.7l9.5-17zM328 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4z"],"smile-wink":[496,512,[],"f4da","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm117.8-146.4c-10.2-8.5-25.3-7.1-33.8 3.1-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-60c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1z"],snowflake:[448,512,[],"f2dc","M440.1 355.2l-39.2-23 34.1-9.3c8.4-2.3 13.4-11.1 11.1-19.6l-4.1-15.5c-2.2-8.5-10.9-13.6-19.3-11.3L343 298.2 271.2 256l71.9-42.2 79.7 21.7c8.4 2.3 17-2.8 19.3-11.3l4.1-15.5c2.2-8.5-2.7-17.3-11.1-19.6l-34.1-9.3 39.2-23c7.5-4.4 10.1-14.2 5.8-21.9l-7.9-13.9c-4.3-7.7-14-10.3-21.5-5.9l-39.2 23 9.1-34.7c2.2-8.5-2.7-17.3-11.1-19.6l-15.2-4.1c-8.4-2.3-17 2.8-19.3 11.3l-21.3 81-71.9 42.2v-84.5L306 70.4c6.1-6.2 6.1-16.4 0-22.6l-11.1-11.3c-6.1-6.2-16.1-6.2-22.2 0l-24.9 25.4V16c0-8.8-7-16-15.7-16h-15.7c-8.7 0-15.7 7.2-15.7 16v46.1l-24.9-25.4c-6.1-6.2-16.1-6.2-22.2 0L142.1 48c-6.1 6.2-6.1 16.4 0 22.6l58.3 59.3v84.5l-71.9-42.2-21.3-81c-2.2-8.5-10.9-13.6-19.3-11.3L72.7 84c-8.4 2.3-13.4 11.1-11.1 19.6l9.1 34.7-39.2-23c-7.5-4.4-17.1-1.8-21.5 5.9l-7.9 13.9c-4.3 7.7-1.8 17.4 5.8 21.9l39.2 23-34.1 9.1c-8.4 2.3-13.4 11.1-11.1 19.6L6 224.2c2.2 8.5 10.9 13.6 19.3 11.3l79.7-21.7 71.9 42.2-71.9 42.2-79.7-21.7c-8.4-2.3-17 2.8-19.3 11.3l-4.1 15.5c-2.2 8.5 2.7 17.3 11.1 19.6l34.1 9.3-39.2 23c-7.5 4.4-10.1 14.2-5.8 21.9L10 391c4.3 7.7 14 10.3 21.5 5.9l39.2-23-9.1 34.7c-2.2 8.5 2.7 17.3 11.1 19.6l15.2 4.1c8.4 2.3 17-2.8 19.3-11.3l21.3-81 71.9-42.2v84.5l-58.3 59.3c-6.1 6.2-6.1 16.4 0 22.6l11.1 11.3c6.1 6.2 16.1 6.2 22.2 0l24.9-25.4V496c0 8.8 7 16 15.7 16h15.7c8.7 0 15.7-7.2 15.7-16v-46.1l24.9 25.4c6.1 6.2 16.1 6.2 22.2 0l11.1-11.3c6.1-6.2 6.1-16.4 0-22.6l-58.3-59.3v-84.5l71.9 42.2 21.3 81c2.2 8.5 10.9 13.6 19.3 11.3L375 428c8.4-2.3 13.4-11.1 11.1-19.6l-9.1-34.7 39.2 23c7.5 4.4 17.1 1.8 21.5-5.9l7.9-13.9c4.6-7.5 2.1-17.3-5.5-21.7z"],square:[448,512,[],"f0c8","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6z"],star:[576,512,[],"f005","M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z"],"star-half":[576,512,[],"f089","M288 385.3l-124.3 65.4 23.7-138.4-100.6-98 139-20.2 62.2-126V0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6v-54.3z"],"sticky-note":[448,512,[],"f249","M448 348.106V80c0-26.51-21.49-48-48-48H48C21.49 32 0 53.49 0 80v351.988c0 26.51 21.49 48 48 48h268.118a48 48 0 0 0 33.941-14.059l83.882-83.882A48 48 0 0 0 448 348.106zm-128 80v-76.118h76.118L320 428.106zM400 80v223.988H296c-13.255 0-24 10.745-24 24v104H48V80h352z"],"stop-circle":[512,512,[],"f28d","M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm296-80v160c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16z"],sun:[512,512,[],"f185","M494.2 221.9l-59.8-40.5 13.7-71c2.6-13.2-1.6-26.8-11.1-36.4-9.6-9.5-23.2-13.7-36.2-11.1l-70.9 13.7-40.4-59.9c-15.1-22.3-51.9-22.3-67 0l-40.4 59.9-70.8-13.7C98 60.4 84.5 64.5 75 74.1c-9.5 9.6-13.7 23.1-11.1 36.3l13.7 71-59.8 40.5C6.6 229.5 0 242 0 255.5s6.7 26 17.8 33.5l59.8 40.5-13.7 71c-2.6 13.2 1.6 26.8 11.1 36.3 9.5 9.5 22.9 13.7 36.3 11.1l70.8-13.7 40.4 59.9C230 505.3 242.6 512 256 512s26-6.7 33.5-17.8l40.4-59.9 70.9 13.7c13.4 2.7 26.8-1.6 36.3-11.1 9.5-9.5 13.6-23.1 11.1-36.3l-13.7-71 59.8-40.5c11.1-7.5 17.8-20.1 17.8-33.5-.1-13.6-6.7-26.1-17.9-33.7zm-112.9 85.6l17.6 91.2-91-17.6L256 458l-51.9-77-90.9 17.6 17.6-91.2-76.8-52 76.8-52-17.6-91.2 91 17.6L256 53l51.9 76.9 91-17.6-17.6 91.1 76.8 52-76.8 52.1zM256 152c-57.3 0-104 46.7-104 104s46.7 104 104 104 104-46.7 104-104-46.7-104-104-104zm0 160c-30.9 0-56-25.1-56-56s25.1-56 56-56 56 25.1 56 56-25.1 56-56 56z"],surprise:[496,512,[],"f5c2","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-176c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm-48-72c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z"],"thumbs-down":[512,512,[],"f165","M466.27 225.31c4.674-22.647.864-44.538-8.99-62.99 2.958-23.868-4.021-48.565-17.34-66.99C438.986 39.423 404.117 0 327 0c-7 0-15 .01-22.22.01C201.195.01 168.997 40 128 40h-10.845c-5.64-4.975-13.042-8-21.155-8H32C14.327 32 0 46.327 0 64v240c0 17.673 14.327 32 32 32h64c11.842 0 22.175-6.438 27.708-16h7.052c19.146 16.953 46.013 60.653 68.76 83.4 13.667 13.667 10.153 108.6 71.76 108.6 57.58 0 95.27-31.936 95.27-104.73 0-18.41-3.93-33.73-8.85-46.54h36.48c48.602 0 85.82-41.565 85.82-85.58 0-19.15-4.96-34.99-13.73-49.84zM64 296c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm330.18 16.73H290.19c0 37.82 28.36 55.37 28.36 94.54 0 23.75 0 56.73-47.27 56.73-18.91-18.91-9.46-66.18-37.82-94.54C206.9 342.89 167.28 272 138.92 272H128V85.83c53.611 0 100.001-37.82 171.64-37.82h37.82c35.512 0 60.82 17.12 53.12 65.9 15.2 8.16 26.5 36.44 13.94 57.57 21.581 20.384 18.699 51.065 5.21 65.62 9.45 0 22.36 18.91 22.27 37.81-.09 18.91-16.71 37.82-37.82 37.82z"],"thumbs-up":[512,512,[],"f164","M466.27 286.69C475.04 271.84 480 256 480 236.85c0-44.015-37.218-85.58-85.82-85.58H357.7c4.92-12.81 8.85-28.13 8.85-46.54C366.55 31.936 328.86 0 271.28 0c-61.607 0-58.093 94.933-71.76 108.6-22.747 22.747-49.615 66.447-68.76 83.4H32c-17.673 0-32 14.327-32 32v240c0 17.673 14.327 32 32 32h64c14.893 0 27.408-10.174 30.978-23.95 44.509 1.001 75.06 39.94 177.802 39.94 7.22 0 15.22.01 22.22.01 77.117 0 111.986-39.423 112.94-95.33 13.319-18.425 20.299-43.122 17.34-66.99 9.854-18.452 13.664-40.343 8.99-62.99zm-61.75 53.83c12.56 21.13 1.26 49.41-13.94 57.57 7.7 48.78-17.608 65.9-53.12 65.9h-37.82c-71.639 0-118.029-37.82-171.64-37.82V240h10.92c28.36 0 67.98-70.89 94.54-97.46 28.36-28.36 18.91-75.63 37.82-94.54 47.27 0 47.27 32.98 47.27 56.73 0 39.17-28.36 56.72-28.36 94.54h103.99c21.11 0 37.73 18.91 37.82 37.82.09 18.9-12.82 37.81-22.27 37.81 13.489 14.555 16.371 45.236-5.21 65.62zM88 432c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z"],"times-circle":[512,512,[],"f057","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z"],tired:[496,512,[],"f5c8","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm129.1-303.8c-3.8-4.4-10.3-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.8 1.6 15.3-2.5 3.8-4.5 3.9-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zM220 208c0-4.2-2.2-8.1-5.8-10.3l-80-48c-5-3-11.5-1.9-15.3 2.5-3.8 4.5-3.9 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.5 4.1 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3zm28 64c-45.4 0-100.9 38.3-107.8 93.3-1.5 11.8 6.9 21.6 15.5 17.9C178.4 373.5 212 368 248 368s69.6 5.5 92.3 15.2c8.5 3.7 17-6 15.5-17.9-6.9-55-62.4-93.3-107.8-93.3z"],"trash-alt":[448,512,[],"f2ed","M268 416h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12zM432 80h-82.41l-34-56.7A48 48 0 0 0 274.41 0H173.59a48 48 0 0 0-41.16 23.3L98.41 80H16A16 16 0 0 0 0 96v16a16 16 0 0 0 16 16h16v336a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128h16a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16zM171.84 50.91A6 6 0 0 1 177 48h94a6 6 0 0 1 5.15 2.91L293.61 80H154.39zM368 464H80V128h288zm-212-48h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12z"],user:[448,512,[],"f007","M313.6 304c-28.7 0-42.5 16-89.6 16-47.1 0-60.8-16-89.6-16C60.2 304 0 364.2 0 438.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-25.6c0-74.2-60.2-134.4-134.4-134.4zM400 464H48v-25.6c0-47.6 38.8-86.4 86.4-86.4 14.6 0 38.3 16 89.6 16 51.7 0 74.9-16 89.6-16 47.6 0 86.4 38.8 86.4 86.4V464zM224 288c79.5 0 144-64.5 144-144S303.5 0 224 0 80 64.5 80 144s64.5 144 144 144zm0-240c52.9 0 96 43.1 96 96s-43.1 96-96 96-96-43.1-96-96 43.1-96 96-96z"],"user-circle":[496,512,[],"f2bd","M248 104c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96zm0 144c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-240C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-49.7 0-95.1-18.3-130.1-48.4 14.9-23 40.4-38.6 69.6-39.5 20.8 6.4 40.6 9.6 60.5 9.6s39.7-3.1 60.5-9.6c29.2 1 54.7 16.5 69.6 39.5-35 30.1-80.4 48.4-130.1 48.4zm162.7-84.1c-24.4-31.4-62.1-51.9-105.1-51.9-10.2 0-26 9.6-57.6 9.6-31.5 0-47.4-9.6-57.6-9.6-42.9 0-80.6 20.5-105.1 51.9C61.9 339.2 48 299.2 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 43.2-13.9 83.2-37.3 115.9z"],"window-close":[512,512,[],"f410","M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v340zM356.5 194.6L295.1 256l61.4 61.4c4.6 4.6 4.6 12.1 0 16.8l-22.3 22.3c-4.6 4.6-12.1 4.6-16.8 0L256 295.1l-61.4 61.4c-4.6 4.6-12.1 4.6-16.8 0l-22.3-22.3c-4.6-4.6-4.6-12.1 0-16.8l61.4-61.4-61.4-61.4c-4.6-4.6-4.6-12.1 0-16.8l22.3-22.3c4.6-4.6 12.1-4.6 16.8 0l61.4 61.4 61.4-61.4c4.6-4.6 12.1-4.6 16.8 0l22.3 22.3c4.7 4.6 4.7 12.1 0 16.8z"],"window-maximize":[512,512,[],"f2d0","M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z"],"window-minimize":[512,512,[],"f2d1","M480 480H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32z"],"window-restore":[512,512,[],"f2d2","M464 0H144c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v320c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-96 464H48V256h320v208zm96-96h-48V144c0-26.5-21.5-48-48-48H144V48h320v320z"]};!function(c){try{c()}catch(c){if(!s)throw c}}(function(){M("far",f)})}(),function(){"use strict";var c={},l={};try{"undefined"!=typeof window&&(c=window),"undefined"!=typeof document&&(l=document)}catch(c){}var h=(c.navigator||{}).userAgent,z=void 0===h?"":h,a=c,v=l,m=(a.document,!!v.documentElement&&!!v.head&&"function"==typeof v.addEventListener&&v.createElement,~z.indexOf("MSIE")||z.indexOf("Trident/"),"___FONT_AWESOME___"),s=function(){try{return!0}catch(c){return!1}}();var e=a||{};e[m]||(e[m]={}),e[m].styles||(e[m].styles={}),e[m].hooks||(e[m].hooks={}),e[m].shims||(e[m].shims=[]);var t=e[m];function M(c,z){var l=(2<arguments.length&&void 0!==arguments[2]?arguments[2]:{}).skipHooks,h=void 0!==l&&l,a=Object.keys(z).reduce(function(c,l){var h=z[l];return!!h.icon?c[h.iconName]=h.icon:c[l]=h,c},{});"function"!=typeof t.hooks.addPack||h?t.styles[c]=function(a){for(var c=1;c<arguments.length;c++){var v=null!=arguments[c]?arguments[c]:{},l=Object.keys(v);"function"==typeof Object.getOwnPropertySymbols&&(l=l.concat(Object.getOwnPropertySymbols(v).filter(function(c){return Object.getOwnPropertyDescriptor(v,c).enumerable}))),l.forEach(function(c){var l,h,z;l=a,z=v[h=c],h in l?Object.defineProperty(l,h,{value:z,enumerable:!0,configurable:!0,writable:!0}):l[h]=z})}return a}({},t.styles[c]||{},a):t.hooks.addPack(c,a),"fas"===c&&M("fa",z)}var f={ad:[512,512,[],"f641","M157.52 272h36.96L176 218.78 157.52 272zM352 256c-13.23 0-24 10.77-24 24s10.77 24 24 24 24-10.77 24-24-10.77-24-24-24zM464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM250.58 352h-16.94c-6.81 0-12.88-4.32-15.12-10.75L211.15 320h-70.29l-7.38 21.25A16 16 0 0 1 118.36 352h-16.94c-11.01 0-18.73-10.85-15.12-21.25L140 176.12A23.995 23.995 0 0 1 162.67 160h26.66A23.99 23.99 0 0 1 212 176.13l53.69 154.62c3.61 10.4-4.11 21.25-15.11 21.25zM424 336c0 8.84-7.16 16-16 16h-16c-4.85 0-9.04-2.27-11.98-5.68-8.62 3.66-18.09 5.68-28.02 5.68-39.7 0-72-32.3-72-72s32.3-72 72-72c8.46 0 16.46 1.73 24 4.42V176c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v160z"],"address-book":[448,512,[],"f2b9","M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-228-32c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H118.4C106 384 96 375.4 96 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z"],"address-card":[576,512,[],"f2bb","M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-352 96c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H86.4C74 384 64 375.4 64 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2zM512 312c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z"],adjust:[512,512,[],"f042","M8 256c0 136.966 111.033 248 248 248s248-111.034 248-248S392.966 8 256 8 8 119.033 8 256zm248 184V72c101.705 0 184 82.311 184 184 0 101.705-82.311 184-184 184z"],"air-freshener":[384,512,[],"f5d0","M378.94 321.41L284.7 224h49.22c15.3 0 23.66-16.6 13.86-27.53L234.45 69.96c3.43-6.61 5.55-14 5.55-21.96 0-26.51-21.49-48-48-48s-48 21.49-48 48c0 7.96 2.12 15.35 5.55 21.96L36.22 196.47C26.42 207.4 34.78 224 50.08 224H99.3L5.06 321.41C-6.69 333.56 3.34 352 21.7 352H160v32H48c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h288c8.84 0 16-7.16 16-16v-96c0-8.84-7.16-16-16-16H224v-32h138.3c18.36 0 28.39-18.44 16.64-30.59zM192 31.98c8.85 0 16.02 7.17 16.02 16.02 0 8.84-7.17 16.02-16.02 16.02S175.98 56.84 175.98 48c0-8.85 7.17-16.02 16.02-16.02zM304 432v32H80v-32h224z"],"align-center":[448,512,[],"f037","M432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM108.1 96h231.81A12.09 12.09 0 0 0 352 83.9V44.09A12.09 12.09 0 0 0 339.91 32H108.1A12.09 12.09 0 0 0 96 44.09V83.9A12.1 12.1 0 0 0 108.1 96zm231.81 256A12.09 12.09 0 0 0 352 339.9v-39.81A12.09 12.09 0 0 0 339.91 288H108.1A12.09 12.09 0 0 0 96 300.09v39.81a12.1 12.1 0 0 0 12.1 12.1z"],"align-justify":[448,512,[],"f039","M432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"],"align-left":[448,512,[],"f036","M12.83 352h262.34A12.82 12.82 0 0 0 288 339.17v-38.34A12.82 12.82 0 0 0 275.17 288H12.83A12.82 12.82 0 0 0 0 300.83v38.34A12.82 12.82 0 0 0 12.83 352zm0-256h262.34A12.82 12.82 0 0 0 288 83.17V44.83A12.82 12.82 0 0 0 275.17 32H12.83A12.82 12.82 0 0 0 0 44.83v38.34A12.82 12.82 0 0 0 12.83 96zM432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"],"align-right":[448,512,[],"f038","M16 224h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm416 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-384H172.83A12.82 12.82 0 0 0 160 44.83v38.34A12.82 12.82 0 0 0 172.83 96h262.34A12.82 12.82 0 0 0 448 83.17V44.83A12.82 12.82 0 0 0 435.17 32zm0 256H172.83A12.82 12.82 0 0 0 160 300.83v38.34A12.82 12.82 0 0 0 172.83 352h262.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288z"],allergies:[448,512,[],"f461","M416 112c-17.6 0-32 14.4-32 32v72c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32s-32 14.4-32 32v152c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V32c0-17.6-14.4-32-32-32s-32 14.4-32 32v184c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32S96 46.4 96 64v241l-23.6-32.5c-13-17.9-38-21.8-55.9-8.8s-21.8 38-8.8 55.9l125.6 172.7c9 12.4 23.5 19.8 38.8 19.8h197.6c22.3 0 41.6-15.3 46.7-37l26.5-112.7c3.2-13.7 4.9-28.3 5.1-42.3V144c0-17.6-14.4-32-32-32zM176 416c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 32c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32-128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z"],ambulance:[640,512,[],"f0f9","M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm144-248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm176 248c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z"],"american-sign-language-interpreting":[640,512,[],"f2a3","M290.547 189.039c-20.295-10.149-44.147-11.199-64.739-3.89 42.606 0 71.208 20.475 85.578 50.576 8.576 17.899-5.148 38.071-23.617 38.071 18.429 0 32.211 20.136 23.617 38.071-14.725 30.846-46.123 50.854-80.298 50.854-.557 0-94.471-8.615-94.471-8.615l-66.406 33.347c-9.384 4.693-19.815.379-23.895-7.781L1.86 290.747c-4.167-8.615-1.111-18.897 6.946-23.621l58.072-33.069L108 159.861c6.39-57.245 34.731-109.767 79.743-146.726 11.391-9.448 28.341-7.781 37.51 3.613 9.446 11.394 7.78 28.067-3.612 37.516-12.503 10.559-23.618 22.509-32.509 35.57 21.672-14.729 46.679-24.732 74.186-28.067 14.725-1.945 28.063 8.336 29.73 23.065 1.945 14.728-8.336 28.067-23.062 29.734-16.116 1.945-31.12 7.503-44.178 15.284 26.114-5.713 58.712-3.138 88.079 11.115 13.336 6.669 18.893 22.509 12.224 35.848-6.389 13.06-22.504 18.617-35.564 12.226zm-27.229 69.472c-6.112-12.505-18.338-20.286-32.231-20.286a35.46 35.46 0 0 0-35.565 35.57c0 21.428 17.808 35.57 35.565 35.57 13.893 0 26.119-7.781 32.231-20.286 4.446-9.449 13.614-15.006 23.339-15.284-9.725-.277-18.893-5.835-23.339-15.284zm374.821-37.237c4.168 8.615 1.111 18.897-6.946 23.621l-58.071 33.069L532 352.16c-6.39 57.245-34.731 109.767-79.743 146.726-10.932 9.112-27.799 8.144-37.51-3.613-9.446-11.394-7.78-28.067 3.613-37.516 12.503-10.559 23.617-22.509 32.508-35.57-21.672 14.729-46.679 24.732-74.186 28.067-10.021 2.506-27.552-5.643-29.73-23.065-1.945-14.728 8.336-28.067 23.062-29.734 16.116-1.946 31.12-7.503 44.178-15.284-26.114 5.713-58.712 3.138-88.079-11.115-13.336-6.669-18.893-22.509-12.224-35.848 6.389-13.061 22.505-18.619 35.565-12.227 20.295 10.149 44.147 11.199 64.739 3.89-42.606 0-71.208-20.475-85.578-50.576-8.576-17.899 5.148-38.071 23.617-38.071-18.429 0-32.211-20.136-23.617-38.071 14.033-29.396 44.039-50.887 81.966-50.854l92.803 8.615 66.406-33.347c9.408-4.704 19.828-.354 23.894 7.781l44.455 88.926zm-229.227-18.618c-13.893 0-26.119 7.781-32.231 20.286-4.446 9.449-13.614 15.006-23.339 15.284 9.725.278 18.893 5.836 23.339 15.284 6.112 12.505 18.338 20.286 32.231 20.286a35.46 35.46 0 0 0 35.565-35.57c0-21.429-17.808-35.57-35.565-35.57z"],anchor:[576,512,[],"f13d","M12.971 352h32.394C67.172 454.735 181.944 512 288 512c106.229 0 220.853-57.38 242.635-160h32.394c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0l-67.029 67.029c-7.56 7.56-2.206 20.485 8.485 20.485h35.146c-20.29 54.317-84.963 86.588-144.117 94.015V256h52c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-52v-5.47c37.281-13.178 63.995-48.725 64-90.518C384.005 43.772 341.605.738 289.37.01 235.723-.739 192 42.525 192 96c0 41.798 26.716 77.35 64 90.53V192h-52c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v190.015c-58.936-7.399-123.82-39.679-144.117-94.015h35.146c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0L4.485 331.515C-3.074 339.074 2.28 352 12.971 352zM288 64c17.645 0 32 14.355 32 32s-14.355 32-32 32-32-14.355-32-32 14.355-32 32-32z"],"angle-double-down":[320,512,[],"f103","M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z"],"angle-double-left":[448,512,[],"f100","M223.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L319.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L393.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34zm-192 34l136 136c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9L127.9 256l96.4-96.4c9.4-9.4 9.4-24.6 0-33.9L201.7 103c-9.4-9.4-24.6-9.4-33.9 0l-136 136c-9.5 9.4-9.5 24.6-.1 34z"],"angle-double-right":[448,512,[],"f101","M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z"],"angle-double-up":[320,512,[],"f102","M177 255.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 351.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 425.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1zm-34-192L7 199.7c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l96.4-96.4 96.4 96.4c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9l-136-136c-9.2-9.4-24.4-9.4-33.8 0z"],"angle-down":[320,512,[],"f107","M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z"],"angle-left":[256,512,[],"f104","M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z"],"angle-right":[256,512,[],"f105","M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"],"angle-up":[320,512,[],"f106","M177 159.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 255.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 329.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1z"],angry:[496,512,[],"f556","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 240c0-9.3 4.1-17.5 10.5-23.4l-31-9.3c-8.5-2.5-13.3-11.5-10.7-19.9 2.5-8.5 11.4-13.2 19.9-10.7l80 24c8.5 2.5 13.3 11.5 10.7 19.9-2.1 6.9-8.4 11.4-15.3 11.4-.5 0-1.1-.2-1.7-.2.7 2.7 1.7 5.3 1.7 8.2 0 17.7-14.3 32-32 32S136 257.7 136 240zm168 154.2c-27.8-33.4-84.2-33.4-112.1 0-13.5 16.3-38.2-4.2-24.6-20.5 20-24 49.4-37.8 80.6-37.8s60.6 13.8 80.6 37.8c13.8 16.5-11.1 36.6-24.5 20.5zm76.6-186.9l-31 9.3c6.3 5.8 10.5 14.1 10.5 23.4 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-2.9.9-5.6 1.7-8.2-.6.1-1.1.2-1.7.2-6.9 0-13.2-4.5-15.3-11.4-2.5-8.5 2.3-17.4 10.7-19.9l80-24c8.4-2.5 17.4 2.3 19.9 10.7 2.5 8.5-2.3 17.4-10.8 19.9z"],ankh:[320,512,[],"f644","M296 256h-44.62C272.46 222.01 288 181.65 288 144 288 55.63 230.69 0 160 0S32 55.63 32 144c0 37.65 15.54 78.01 36.62 112H24c-13.25 0-24 10.74-24 24v32c0 13.25 10.75 24 24 24h96v152c0 13.25 10.75 24 24 24h32c13.25 0 24-10.75 24-24V336h96c13.25 0 24-10.75 24-24v-32c0-13.26-10.75-24-24-24zM160 80c29.61 0 48 24.52 48 64 0 34.66-27.14 78.14-48 100.87-20.86-22.72-48-66.21-48-100.87 0-39.48 18.39-64 48-64z"],"apple-alt":[448,512,[],"f5d1","M350.85 129c25.97 4.67 47.27 18.67 63.92 42 14.65 20.67 24.64 46.67 29.96 78 4.67 28.67 4.32 57.33-1 86-7.99 47.33-23.97 87-47.94 119-28.64 38.67-64.59 58-107.87 58-10.66 0-22.3-3.33-34.96-10-8.66-5.33-18.31-8-28.97-8s-20.3 2.67-28.97 8c-12.66 6.67-24.3 10-34.96 10-43.28 0-79.23-19.33-107.87-58-23.97-32-39.95-71.67-47.94-119-5.32-28.67-5.67-57.33-1-86 5.32-31.33 15.31-57.33 29.96-78 16.65-23.33 37.95-37.33 63.92-42 15.98-2.67 37.95-.33 65.92 7 23.97 6.67 44.28 14.67 60.93 24 16.65-9.33 36.96-17.33 60.93-24 27.98-7.33 49.96-9.67 65.94-7zm-54.94-41c-9.32 8.67-21.65 15-36.96 19-10.66 3.33-22.3 5-34.96 5l-14.98-1c-1.33-9.33-1.33-20 0-32 2.67-24 10.32-42.33 22.97-55 9.32-8.67 21.65-15 36.96-19 10.66-3.33 22.3-5 34.96-5l14.98 1 1 15c0 12.67-1.67 24.33-4.99 35-3.99 15.33-10.31 27.67-18.98 37z"],archive:[512,512,[],"f187","M32 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V160H32v288zm160-212c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-8zM480 32H32C14.3 32 0 46.3 0 64v48c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16V64c0-17.7-14.3-32-32-32z"],archway:[576,512,[],"f557","M560 448h-16V96H32v352H16.02c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16H176c8.84 0 16-7.16 16-16V320c0-53.02 42.98-96 96-96s96 42.98 96 96l.02 160v16c0 8.84 7.16 16 16 16H560c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm0-448H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h544c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z"],"arrow-alt-circle-down":[512,512,[],"f358","M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM212 140v116h-70.9c-10.7 0-16.1 13-8.5 20.5l114.9 114.3c4.7 4.7 12.2 4.7 16.9 0l114.9-114.3c7.6-7.6 2.2-20.5-8.5-20.5H300V140c0-6.6-5.4-12-12-12h-64c-6.6 0-12 5.4-12 12z"],"arrow-alt-circle-left":[512,512,[],"f359","M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm116-292H256v-70.9c0-10.7-13-16.1-20.5-8.5L121.2 247.5c-4.7 4.7-4.7 12.2 0 16.9l114.3 114.9c7.6 7.6 20.5 2.2 20.5-8.5V300h116c6.6 0 12-5.4 12-12v-64c0-6.6-5.4-12-12-12z"],"arrow-alt-circle-right":[512,512,[],"f35a","M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zM140 300h116v70.9c0 10.7 13 16.1 20.5 8.5l114.3-114.9c4.7-4.7 4.7-12.2 0-16.9l-114.3-115c-7.6-7.6-20.5-2.2-20.5 8.5V212H140c-6.6 0-12 5.4-12 12v64c0 6.6 5.4 12 12 12z"],"arrow-alt-circle-up":[512,512,[],"f35b","M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm292 116V256h70.9c10.7 0 16.1-13 8.5-20.5L264.5 121.2c-4.7-4.7-12.2-4.7-16.9 0l-115 114.3c-7.6 7.6-2.2 20.5 8.5 20.5H212v116c0 6.6 5.4 12 12 12h64c6.6 0 12-5.4 12-12z"],"arrow-circle-down":[512,512,[],"f0ab","M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-143.6-28.9L288 302.6V120c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v182.6l-72.4-75.5c-9.3-9.7-24.8-9.9-34.3-.4l-10.9 11c-9.4 9.4-9.4 24.6 0 33.9L239 404.3c9.4 9.4 24.6 9.4 33.9 0l132.7-132.7c9.4-9.4 9.4-24.6 0-33.9l-10.9-11c-9.5-9.5-25-9.3-34.3.4z"],"arrow-circle-left":[512,512,[],"f0a8","M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm28.9-143.6L209.4 288H392c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H209.4l75.5-72.4c9.7-9.3 9.9-24.8.4-34.3l-11-10.9c-9.4-9.4-24.6-9.4-33.9 0L107.7 239c-9.4 9.4-9.4 24.6 0 33.9l132.7 132.7c9.4 9.4 24.6 9.4 33.9 0l11-10.9c9.5-9.5 9.3-25-.4-34.3z"],"arrow-circle-right":[512,512,[],"f0a9","M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z"],"arrow-circle-up":[512,512,[],"f0aa","M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm143.6 28.9l72.4-75.5V392c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V209.4l72.4 75.5c9.3 9.7 24.8 9.9 34.3.4l10.9-11c9.4-9.4 9.4-24.6 0-33.9L273 107.7c-9.4-9.4-24.6-9.4-33.9 0L106.3 240.4c-9.4 9.4-9.4 24.6 0 33.9l10.9 11c9.6 9.5 25.1 9.3 34.4-.4z"],"arrow-down":[448,512,[],"f063","M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z"],"arrow-left":[448,512,[],"f060","M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z"],"arrow-right":[448,512,[],"f061","M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z"],"arrow-up":[448,512,[],"f062","M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z"],"arrows-alt":[512,512,[],"f0b2","M352.201 425.775l-79.196 79.196c-9.373 9.373-24.568 9.373-33.941 0l-79.196-79.196c-15.119-15.119-4.411-40.971 16.971-40.97h51.162L228 284H127.196v51.162c0 21.382-25.851 32.09-40.971 16.971L7.029 272.937c-9.373-9.373-9.373-24.569 0-33.941L86.225 159.8c15.119-15.119 40.971-4.411 40.971 16.971V228H228V127.196h-51.23c-21.382 0-32.09-25.851-16.971-40.971l79.196-79.196c9.373-9.373 24.568-9.373 33.941 0l79.196 79.196c15.119 15.119 4.411 40.971-16.971 40.971h-51.162V228h100.804v-51.162c0-21.382 25.851-32.09 40.97-16.971l79.196 79.196c9.373 9.373 9.373 24.569 0 33.941L425.773 352.2c-15.119 15.119-40.971 4.411-40.97-16.971V284H284v100.804h51.23c21.382 0 32.09 25.851 16.971 40.971z"],"arrows-alt-h":[512,512,[],"f337","M377.941 169.941V216H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.568 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296h243.882v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.568 0-33.941l-86.059-86.059c-15.119-15.12-40.971-4.412-40.971 16.97z"],"arrows-alt-v":[256,512,[],"f338","M214.059 377.941H168V134.059h46.059c21.382 0 32.09-25.851 16.971-40.971L144.971 7.029c-9.373-9.373-24.568-9.373-33.941 0L24.971 93.088c-15.119 15.119-4.411 40.971 16.971 40.971H88v243.882H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.568 9.373 33.941 0l86.059-86.059c15.12-15.119 4.412-40.971-16.97-40.971z"],"assistive-listening-systems":[512,512,[],"f2a2","M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm-80 236c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zM32 448c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm480-187.993c0-1.518-.012-3.025-.045-4.531C510.076 140.525 436.157 38.47 327.994 1.511c-14.633-4.998-30.549 2.809-35.55 17.442-5 14.633 2.81 30.549 17.442 35.55 85.906 29.354 144.61 110.513 146.077 201.953l.003.188c.026 1.118.033 2.236.033 3.363 0 15.464 12.536 28 28 28s28.001-12.536 28.001-28zM152.971 439.029l-80-80L39.03 392.97l80 80 33.941-33.941z"],asterisk:[512,512,[],"f069","M478.21 334.093L336 256l142.21-78.093c11.795-6.477 15.961-21.384 9.232-33.037l-19.48-33.741c-6.728-11.653-21.72-15.499-33.227-8.523L296 186.718l3.475-162.204C299.763 11.061 288.937 0 275.48 0h-38.96c-13.456 0-24.283 11.061-23.994 24.514L216 186.718 77.265 102.607c-11.506-6.976-26.499-3.13-33.227 8.523l-19.48 33.741c-6.728 11.653-2.562 26.56 9.233 33.037L176 256 33.79 334.093c-11.795 6.477-15.961 21.384-9.232 33.037l19.48 33.741c6.728 11.653 21.721 15.499 33.227 8.523L216 325.282l-3.475 162.204C212.237 500.939 223.064 512 236.52 512h38.961c13.456 0 24.283-11.061 23.995-24.514L296 325.282l138.735 84.111c11.506 6.976 26.499 3.13 33.227-8.523l19.48-33.741c6.728-11.653 2.563-26.559-9.232-33.036z"],at:[512,512,[],"f1fa","M256 8C118.941 8 8 118.919 8 256c0 137.059 110.919 248 248 248 48.154 0 95.342-14.14 135.408-40.223 12.005-7.815 14.625-24.288 5.552-35.372l-10.177-12.433c-7.671-9.371-21.179-11.667-31.373-5.129C325.92 429.757 291.314 440 256 440c-101.458 0-184-82.542-184-184S154.542 72 256 72c100.139 0 184 57.619 184 160 0 38.786-21.093 79.742-58.17 83.693-17.349-.454-16.91-12.857-13.476-30.024l23.433-121.11C394.653 149.75 383.308 136 368.225 136h-44.981a13.518 13.518 0 0 0-13.432 11.993l-.01.092c-14.697-17.901-40.448-21.775-59.971-21.775-74.58 0-137.831 62.234-137.831 151.46 0 65.303 36.785 105.87 96 105.87 26.984 0 57.369-15.637 74.991-38.333 9.522 34.104 40.613 34.103 70.71 34.103C462.609 379.41 504 307.798 504 232 504 95.653 394.023 8 256 8zm-21.68 304.43c-22.249 0-36.07-15.623-36.07-40.771 0-44.993 30.779-72.729 58.63-72.729 22.292 0 35.601 15.241 35.601 40.77 0 45.061-33.875 72.73-58.161 72.73z"],atlas:[448,512,[],"f558","M318.38 208h-39.09c-1.49 27.03-6.54 51.35-14.21 70.41 27.71-13.24 48.02-39.19 53.3-70.41zm0-32c-5.29-31.22-25.59-57.17-53.3-70.41 7.68 19.06 12.72 43.38 14.21 70.41h39.09zM224 97.31c-7.69 7.45-20.77 34.42-23.43 78.69h46.87c-2.67-44.26-15.75-71.24-23.44-78.69zm-41.08 8.28c-27.71 13.24-48.02 39.19-53.3 70.41h39.09c1.49-27.03 6.53-51.35 14.21-70.41zm0 172.82c-7.68-19.06-12.72-43.38-14.21-70.41h-39.09c5.28 31.22 25.59 57.17 53.3 70.41zM247.43 208h-46.87c2.66 44.26 15.74 71.24 23.43 78.69 7.7-7.45 20.78-34.43 23.44-78.69zM448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM224 64c70.69 0 128 57.31 128 128s-57.31 128-128 128S96 262.69 96 192 153.31 64 224 64zm160 384H96c-19.2 0-32-12.8-32-32s16-32 32-32h288v64z"],atom:[448,512,[],"f5d2","M223.99908,224a32,32,0,1,0,32.00782,32A32.06431,32.06431,0,0,0,223.99908,224Zm214.172-96c-10.877-19.5-40.50979-50.75-116.27544-41.875C300.39168,34.875,267.63386,0,223.99908,0s-76.39066,34.875-97.89653,86.125C50.3369,77.375,20.706,108.5,9.82907,128-6.54984,157.375-5.17484,201.125,34.958,256-5.17484,310.875-6.54984,354.625,9.82907,384c29.13087,52.375,101.64652,43.625,116.27348,41.875C147.60842,477.125,180.36429,512,223.99908,512s76.3926-34.875,97.89652-86.125c14.62891,1.75,87.14456,10.5,116.27544-41.875C454.55,354.625,453.175,310.875,413.04017,256,453.175,201.125,454.55,157.375,438.171,128ZM63.33886,352c-4-7.25-.125-24.75,15.00391-48.25,6.87695,6.5,14.12891,12.875,21.88087,19.125,1.625,13.75,4,27.125,6.75,40.125C82.34472,363.875,67.09081,358.625,63.33886,352Zm36.88478-162.875c-7.752,6.25-15.00392,12.625-21.88087,19.125-15.12891-23.5-19.00392-41-15.00391-48.25,3.377-6.125,16.37891-11.5,37.88478-11.5,1.75,0,3.875.375,5.75.375C104.09864,162.25,101.84864,175.625,100.22364,189.125ZM223.99908,64c9.50195,0,22.25586,13.5,33.88282,37.25-11.252,3.75-22.50391,8-33.88282,12.875-11.377-4.875-22.62892-9.125-33.88283-12.875C201.74516,77.5,214.49712,64,223.99908,64Zm0,384c-9.502,0-22.25392-13.5-33.88283-37.25,11.25391-3.75,22.50587-8,33.88283-12.875C235.378,402.75,246.62994,407,257.8819,410.75,246.25494,434.5,233.501,448,223.99908,448Zm0-112a80,80,0,1,1,80-80A80.00023,80.00023,0,0,1,223.99908,336ZM384.6593,352c-3.625,6.625-19.00392,11.875-43.63479,11,2.752-13,5.127-26.375,6.752-40.125,7.75195-6.25,15.00391-12.625,21.87891-19.125C384.7843,327.25,388.6593,344.75,384.6593,352ZM369.65538,208.25c-6.875-6.5-14.127-12.875-21.87891-19.125-1.625-13.5-3.875-26.875-6.752-40.25,1.875,0,4.002-.375,5.752-.375,21.50391,0,34.50782,5.375,37.88283,11.5C388.6593,167.25,384.7843,184.75,369.65538,208.25Z"],"audio-description":[512,512,[],"f29e","M162.925 238.709l8.822 30.655h-25.606l9.041-30.652c1.277-4.421 2.651-9.994 3.872-15.245 1.22 5.251 2.594 10.823 3.871 15.242zm166.474-32.099h-14.523v98.781h14.523c29.776 0 46.175-17.678 46.175-49.776 0-32.239-17.49-49.005-46.175-49.005zM512 112v288c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48zM245.459 336.139l-57.097-168A12.001 12.001 0 0 0 177 160h-35.894a12.001 12.001 0 0 0-11.362 8.139l-57.097 168C70.003 343.922 75.789 352 84.009 352h29.133a12 12 0 0 0 11.535-8.693l8.574-29.906h51.367l8.793 29.977A12 12 0 0 0 204.926 352h29.172c8.22 0 14.006-8.078 11.361-15.861zm184.701-80.525c0-58.977-37.919-95.614-98.96-95.614h-57.366c-6.627 0-12 5.373-12 12v168c0 6.627 5.373 12 12 12H331.2c61.041 0 98.96-36.933 98.96-96.386z"],award:[384,512,[],"f559","M97.12 362.63c-8.69-8.69-4.16-6.24-25.12-11.85-9.51-2.55-17.87-7.45-25.43-13.32L1.2 448.7c-4.39 10.77 3.81 22.47 15.43 22.03l52.69-2.01L105.56 507c8 8.44 22.04 5.81 26.43-4.96l52.05-127.62c-10.84 6.04-22.87 9.58-35.31 9.58-19.5 0-37.82-7.59-51.61-21.37zM382.8 448.7l-45.37-111.24c-7.56 5.88-15.92 10.77-25.43 13.32-21.07 5.64-16.45 3.18-25.12 11.85-13.79 13.78-32.12 21.37-51.62 21.37-12.44 0-24.47-3.55-35.31-9.58L252 502.04c4.39 10.77 18.44 13.4 26.43 4.96l36.25-38.28 52.69 2.01c11.62.44 19.82-11.27 15.43-22.03zM263 340c15.28-15.55 17.03-14.21 38.79-20.14 13.89-3.79 24.75-14.84 28.47-28.98 7.48-28.4 5.54-24.97 25.95-45.75 10.17-10.35 14.14-25.44 10.42-39.58-7.47-28.38-7.48-24.42 0-52.83 3.72-14.14-.25-29.23-10.42-39.58-20.41-20.78-18.47-17.36-25.95-45.75-3.72-14.14-14.58-25.19-28.47-28.98-27.88-7.61-24.52-5.62-44.95-26.41-10.17-10.35-25-14.4-38.89-10.61-27.87 7.6-23.98 7.61-51.9 0-13.89-3.79-28.72.25-38.89 10.61-20.41 20.78-17.05 18.8-44.94 26.41-13.89 3.79-24.75 14.84-28.47 28.98-7.47 28.39-5.54 24.97-25.95 45.75-10.17 10.35-14.15 25.44-10.42 39.58 7.47 28.36 7.48 24.4 0 52.82-3.72 14.14.25 29.23 10.42 39.59 20.41 20.78 18.47 17.35 25.95 45.75 3.72 14.14 14.58 25.19 28.47 28.98C104.6 325.96 106.27 325 121 340c13.23 13.47 33.84 15.88 49.74 5.82a39.676 39.676 0 0 1 42.53 0c15.89 10.06 36.5 7.65 49.73-5.82zM97.66 175.96c0-53.03 42.24-96.02 94.34-96.02s94.34 42.99 94.34 96.02-42.24 96.02-94.34 96.02-94.34-42.99-94.34-96.02z"],baby:[384,512,[],"f77c","M192 160c44.2 0 80-35.8 80-80S236.2 0 192 0s-80 35.8-80 80 35.8 80 80 80zm-53.4 248.8l25.6-32-61.5-51.2L56.8 383c-11.4 14.2-11.7 34.4-.8 49l48 64c7.9 10.5 19.9 16 32 16 8.3 0 16.8-2.6 24-8 17.7-13.2 21.2-38.3 8-56l-29.4-39.2zm142.7-83.2l-61.5 51.2 25.6 32L216 448c-13.2 17.7-9.7 42.8 8 56 7.2 5.4 15.6 8 24 8 12.2 0 24.2-5.5 32-16l48-64c10.9-14.6 10.6-34.8-.8-49l-45.9-57.4zM376.7 145c-12.7-18.1-37.6-22.4-55.7-9.8l-40.6 28.5c-52.7 37-124.2 37-176.8 0L63 135.3C44.9 122.6 20 127 7.3 145-5.4 163.1-1 188 17 200.7l40.6 28.5c17 11.9 35.4 20.9 54.4 27.9V288h160v-30.8c19-7 37.4-16 54.4-27.9l40.6-28.5c18.1-12.8 22.4-37.7 9.7-55.8z"],"baby-carriage":[512,512,[],"f77d","M144.8 17c-11.3-17.8-37.2-22.8-54-9.4C35.3 51.9 0 118 0 192h256L144.8 17zM496 96h-48c-35.3 0-64 28.7-64 64v64H0c0 50.6 23 96.4 60.3 130.7C25.7 363.6 0 394.7 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-8.9-1.8-17.2-4.4-25.2 21.6 5.9 44.6 9.2 68.4 9.2s46.9-3.3 68.4-9.2c-2.7 8-4.4 16.3-4.4 25.2 0 44.2 35.8 80 80 80s80-35.8 80-80c0-37.3-25.7-68.4-60.3-77.3C425 320.4 448 274.6 448 224v-64h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM80 464c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm320-32c0 17.6-14.4 32-32 32s-32-14.4-32-32 14.4-32 32-32 32 14.4 32 32z"],backspace:[640,512,[],"f55a","M576 64H205.26A63.97 63.97 0 0 0 160 82.75L9.37 233.37c-12.5 12.5-12.5 32.76 0 45.25L160 429.25c12 12 28.28 18.75 45.25 18.75H576c35.35 0 64-28.65 64-64V128c0-35.35-28.65-64-64-64zm-84.69 254.06c6.25 6.25 6.25 16.38 0 22.63l-22.62 22.62c-6.25 6.25-16.38 6.25-22.63 0L384 301.25l-62.06 62.06c-6.25 6.25-16.38 6.25-22.63 0l-22.62-22.62c-6.25-6.25-6.25-16.38 0-22.63L338.75 256l-62.06-62.06c-6.25-6.25-6.25-16.38 0-22.63l22.62-22.62c6.25-6.25 16.38-6.25 22.63 0L384 210.75l62.06-62.06c6.25-6.25 16.38-6.25 22.63 0l22.62 22.62c6.25 6.25 6.25 16.38 0 22.63L429.25 256l62.06 62.06z"],backward:[512,512,[],"f04a","M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z"],bacon:[576,512,[],"f7e5","M218.92 336.39c34.89-34.89 44.2-59.7 54.05-86 10.61-28.29 21.59-57.54 61.37-97.34s69.05-50.77 97.35-61.38c23.88-9 46.64-17.68 76.79-45.37L470.81 8.91a31 31 0 0 0-40.18-2.83c-13.64 10.1-25.15 14.39-41 20.3C247 79.52 209.26 191.29 200.65 214.1c-29.75 78.83-89.55 94.68-98.72 98.09-24.86 9.26-54.73 20.38-91.07 50.36C-3 374-3.63 395 9.07 407.61l35.76 35.51C80 410.52 107 400.15 133 390.39c26.27-9.84 51.06-19.12 85.92-54zm348-232l-35.75-35.51c-35.19 32.63-62.18 43-88.25 52.79-26.26 9.85-51.06 19.16-85.95 54s-44.19 59.69-54 86C292.33 290 281.34 319.22 241.55 359s-69 50.73-97.3 61.32c-23.86 9-46.61 17.66-76.72 45.33l37.68 37.43a31 31 0 0 0 40.18 2.82c13.6-10.06 25.09-14.34 40.94-20.24 142.2-53 180-164.1 188.94-187.69C405 219.18 464.8 203.3 474 199.86c24.87-9.27 54.74-20.4 91.11-50.41 13.89-11.4 14.52-32.45 1.82-45.05z"],bacteria:[640,512,[],"e059","M272.35,226.4A17.71,17.71,0,0,0,281.46,203l-4-9.08a121.29,121.29,0,0,1,12.36-3.08A83.34,83.34,0,0,0,323.57,177l10,9a17.76,17.76,0,1,0,23.92-26.27l-9.72-8.76a83.12,83.12,0,0,0,11.65-48.18l11.85-3.51a17.73,17.73,0,1,0-10.15-34l-11.34,3.36a84,84,0,0,0-36.38-35.57l2.84-10.85a17.8,17.8,0,0,0-34.47-8.93l-2.82,10.78a83.25,83.25,0,0,0-16.74,1.1C250.83,27,240,30.22,229.1,33.39l-3.38-9.46a17.8,17.8,0,0,0-33.56,11.89l3.49,9.8a286.74,286.74,0,0,0-43.94,23.57l-6.32-8.43a17.9,17.9,0,0,0-24.94-3.6A17.69,17.69,0,0,0,116.84,82l6.45,8.61a286.59,286.59,0,0,0-34.95,35.33l-8.82-6.42a17.84,17.84,0,0,0-24.89,3.86,17.66,17.66,0,0,0,3.88,24.77l8.88,6.47a286.6,286.6,0,0,0-23,43.91l-10.48-3.59a17.73,17.73,0,1,0-11.59,33.52L32.67,232c-2.79,10-5.79,19.84-7.52,30.22a83.16,83.16,0,0,0-.82,19l-11.58,3.43a17.73,17.73,0,1,0,10.13,34l11.27-3.33a83.51,83.51,0,0,0,36.39,35.43l-2.88,11.06a17.81,17.81,0,0,0,34.48,8.92l2.87-11c1,0,2.07.26,3.1.26a83.39,83.39,0,0,0,45.65-13.88l8.59,8.8a17.77,17.77,0,0,0,25.56-24.7l-9.14-9.37a83.41,83.41,0,0,0,12.08-31.05,119.08,119.08,0,0,1,3.87-15.53l9,4.22a17.74,17.74,0,1,0,15.15-32.09l-8.8-4.11c.67-1,1.2-2.08,1.9-3.05a119.89,119.89,0,0,1,7.87-9.41,121.73,121.73,0,0,1,11.65-11.4,119.49,119.49,0,0,1,9.94-7.82c1.12-.77,2.32-1.42,3.47-2.15l3.92,8.85a17.86,17.86,0,0,0,16.32,10.58A18.14,18.14,0,0,0,272.35,226.4ZM128,256a32,32,0,1,1,32-32A32,32,0,0,1,128,256Zm80-96a16,16,0,1,1,16-16A16,16,0,0,1,208,160Zm431.26,45.3a17.79,17.79,0,0,0-17.06-12.69,17.55,17.55,0,0,0-5.08.74l-11.27,3.33a83.61,83.61,0,0,0-36.39-35.43l2.88-11.06a17.81,17.81,0,0,0-34.48-8.91l-2.87,11c-1,0-2.07-.26-3.1-.26a83.32,83.32,0,0,0-45.65,13.89l-8.59-8.81a17.77,17.77,0,0,0-25.56,24.7l9.14,9.37a83.28,83.28,0,0,0-12.08,31.06,119.34,119.34,0,0,1-3.87,15.52l-9-4.22a17.74,17.74,0,1,0-15.15,32.09l8.8,4.11c-.67,1-1.2,2.08-1.89,3.05a117.71,117.71,0,0,1-7.94,9.47,119,119,0,0,1-11.57,11.33,121.59,121.59,0,0,1-10,7.83c-1.12.77-2.32,1.42-3.47,2.15l-3.92-8.85a17.86,17.86,0,0,0-16.32-10.58,18.14,18.14,0,0,0-7.18,1.5A17.71,17.71,0,0,0,358.54,309l4,9.08a118.71,118.71,0,0,1-12.36,3.08,83.34,83.34,0,0,0-33.77,13.9l-10-9a17.77,17.77,0,1,0-23.92,26.28l9.72,8.75a83.12,83.12,0,0,0-11.65,48.18l-11.86,3.51a17.73,17.73,0,1,0,10.16,34l11.34-3.36A84,84,0,0,0,326.61,479l-2.84,10.85a17.8,17.8,0,0,0,34.47,8.93L361.06,488a83.3,83.3,0,0,0,16.74-1.1c11.37-1.89,22.24-5.07,33.1-8.24l3.38,9.46a17.8,17.8,0,0,0,33.56-11.89l-3.49-9.79a287.66,287.66,0,0,0,43.94-23.58l6.32,8.43a17.88,17.88,0,0,0,24.93,3.6A17.67,17.67,0,0,0,523.16,430l-6.45-8.61a287.37,287.37,0,0,0,34.95-35.34l8.82,6.42a17.76,17.76,0,1,0,21-28.63l-8.88-6.46a287.17,287.17,0,0,0,23-43.92l10.48,3.59a17.73,17.73,0,1,0,11.59-33.52L607.33,280c2.79-10,5.79-19.84,7.52-30.21a83.27,83.27,0,0,0,.82-19.05l11.58-3.43A17.7,17.7,0,0,0,639.26,205.3ZM416,416a32,32,0,1,1,32-32A32,32,0,0,1,416,416Z"],bacterium:[512,512,[],"e05a","M511,102.93A23.76,23.76,0,0,0,481.47,87l-15.12,4.48a111.85,111.85,0,0,0-48.5-47.42l3.79-14.47a23.74,23.74,0,0,0-46-11.91l-3.76,14.37a111.94,111.94,0,0,0-22.33,1.47,386.74,386.74,0,0,0-44.33,10.41l-4.3-12a23.74,23.74,0,0,0-44.75,15.85l4.3,12.05a383.4,383.4,0,0,0-58.69,31.83l-8-10.63a23.85,23.85,0,0,0-33.24-4.8,23.57,23.57,0,0,0-4.83,33.09l8,10.63a386.14,386.14,0,0,0-46.7,47.44l-11-8a23.68,23.68,0,1,0-28,38.17l11.09,8.06a383.45,383.45,0,0,0-30.92,58.75l-12.93-4.43a23.65,23.65,0,1,0-15.47,44.69l13,4.48a385.81,385.81,0,0,0-9.3,40.53A111.58,111.58,0,0,0,32.44,375L17,379.56a23.64,23.64,0,0,0,13.51,45.31l15-4.44a111.49,111.49,0,0,0,48.53,47.24l-3.85,14.75a23.66,23.66,0,0,0,17,28.83,24.7,24.7,0,0,0,6,.75,23.73,23.73,0,0,0,23-17.7L140,479.67c1.37.05,2.77.35,4.13.35A111.22,111.22,0,0,0,205,461.5l11.45,11.74a23.7,23.7,0,0,0,34.08-32.93l-12.19-12.5a111,111,0,0,0,16.11-41.4,158.69,158.69,0,0,1,5.16-20.71l12,5.64a23.66,23.66,0,1,0,20.19-42.79l-11.72-5.49c.89-1.32,1.59-2.77,2.52-4.06a157.86,157.86,0,0,1,10.46-12.49,159.5,159.5,0,0,1,15.59-15.28,162.18,162.18,0,0,1,13.23-10.4c1.5-1,3.1-1.89,4.63-2.87l5.23,11.8a23.74,23.74,0,0,0,43.48-19.08l-5.36-12.11a158.87,158.87,0,0,1,16.49-4.1,111,111,0,0,0,45-18.54l13.33,12a23.69,23.69,0,1,0,31.88-35l-12.94-11.67A110.83,110.83,0,0,0,479.21,137L495,132.32A23.61,23.61,0,0,0,511,102.93ZM160,368a48,48,0,1,1,48-48A48,48,0,0,1,160,368Zm80-136a24,24,0,1,1,24-24A24,24,0,0,1,240,232Z"],bahai:[512,512,[],"f666","M496.25 202.52l-110-15.44 41.82-104.34c6.67-16.64-11.6-32.18-26.59-22.63L307.44 120 273.35 12.82C270.64 4.27 263.32 0 256 0c-7.32 0-14.64 4.27-17.35 12.82l-34.09 107.19-94.04-59.89c-14.99-9.55-33.25 5.99-26.59 22.63l41.82 104.34-110 15.43c-17.54 2.46-21.68 26.27-6.03 34.67l98.16 52.66-74.48 83.54c-10.92 12.25-1.72 30.93 13.29 30.93 1.31 0 2.67-.14 4.07-.45l108.57-23.65-4.11 112.55c-.43 11.65 8.87 19.22 18.41 19.22 5.15 0 10.39-2.21 14.2-7.18l68.18-88.9 68.18 88.9c3.81 4.97 9.04 7.18 14.2 7.18 9.54 0 18.84-7.57 18.41-19.22l-4.11-112.55 108.57 23.65c17.36 3.76 29.21-17.2 17.35-30.49l-74.48-83.54 98.16-52.66c15.64-8.39 11.5-32.2-6.04-34.66zM338.51 311.68l-51.89-11.3 1.97 53.79L256 311.68l-32.59 42.49 1.96-53.79-51.89 11.3 35.6-39.93-46.92-25.17 52.57-7.38-19.99-49.87 44.95 28.62L256 166.72l16.29 51.23 44.95-28.62-19.99 49.87 52.57 7.38-46.92 25.17 35.61 39.93z"],"balance-scale":[640,512,[],"f24e","M256 336h-.02c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0C-2.06 328.75.02 320.33.02 336H0c0 44.18 57.31 80 128 80s128-35.82 128-80zM128 176l72 144H56l72-144zm511.98 160c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 320l72-144 72 144H440zm88 128H352V153.25c23.51-10.29 41.16-31.48 46.39-57.25H528c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H383.64C369.04 12.68 346.09 0 320 0s-49.04 12.68-63.64 32H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h129.61c5.23 25.76 22.87 46.96 46.39 57.25V448H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"],"balance-scale-left":[640,512,[],"f515","M528 448H352V153.25c20.42-8.94 36.1-26.22 43.38-47.47l132-44.26c8.38-2.81 12.89-11.88 10.08-20.26l-10.17-30.34C524.48 2.54 515.41-1.97 507.03.84L389.11 40.37C375.3 16.36 349.69 0 320 0c-44.18 0-80 35.82-80 80 0 3.43.59 6.71 1.01 10.03l-128.39 43.05c-8.38 2.81-12.89 11.88-10.08 20.26l10.17 30.34c2.81 8.38 11.88 12.89 20.26 10.08l142.05-47.63c4.07 2.77 8.43 5.12 12.99 7.12V496c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16v-32c-.01-8.84-7.17-16-16.01-16zm111.98-144c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 288l72-144 72 144H440zm-269.07-37.51c-17.65-35.29-68.19-35.36-85.87 0C-2.06 424.75.02 416.33.02 432H0c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-16.18 1.34-8.73-85.05-181.51zM56 416l72-144 72 144H56z"],"balance-scale-right":[640,512,[],"f516","M96 464v32c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16V153.25c4.56-2 8.92-4.35 12.99-7.12l142.05 47.63c8.38 2.81 17.45-1.71 20.26-10.08l10.17-30.34c2.81-8.38-1.71-17.45-10.08-20.26l-128.4-43.05c.42-3.32 1.01-6.6 1.01-10.03 0-44.18-35.82-80-80-80-29.69 0-55.3 16.36-69.11 40.37L132.96.83c-8.38-2.81-17.45 1.71-20.26 10.08l-10.17 30.34c-2.81 8.38 1.71 17.45 10.08 20.26l132 44.26c7.28 21.25 22.96 38.54 43.38 47.47V448H112c-8.84 0-16 7.16-16 16zM0 304c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-15.67 2.08-7.25-85.05-181.51-17.68-35.36-68.22-35.29-85.87 0C-1.32 295.27.02 287.82.02 304H0zm56-16l72-144 72 144H56zm328.02 144H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-15.67 2.08-7.25-85.05-181.51-17.68-35.36-68.22-35.29-85.87 0-86.38 172.78-85.04 165.33-85.04 181.51zM440 416l72-144 72 144H440z"],ban:[512,512,[],"f05e","M256 8C119.034 8 8 119.033 8 256s111.034 248 248 248 248-111.034 248-248S392.967 8 256 8zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676zM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676z"],"band-aid":[640,512,[],"f462","M0 160v192c0 35.3 28.7 64 64 64h96V96H64c-35.3 0-64 28.7-64 64zm576-64h-96v320h96c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64zM192 416h256V96H192v320zm176-232c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24z"],barcode:[512,512,[],"f02a","M0 448V64h18v384H0zm26.857-.273V64H36v383.727h-9.143zm27.143 0V64h8.857v383.727H54zm44.857 0V64h8.857v383.727h-8.857zm36 0V64h17.714v383.727h-17.714zm44.857 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm35.715 0V64h18v383.727h-18zm44.857 0V64h18v383.727h-18zm35.999 0V64h18.001v383.727h-18.001zm36.001 0V64h18.001v383.727h-18.001zm26.857 0V64h18v383.727h-18zm45.143 0V64h26.857v383.727h-26.857zm35.714 0V64h9.143v383.727H476zm18 .273V64h18v384h-18z"],bars:[448,512,[],"f0c9","M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"],"baseball-ball":[496,512,[],"f433","M368.5 363.9l28.8-13.9c11.1 22.9 26 43.2 44.1 60.9 34-42.5 54.5-96.3 54.5-154.9 0-58.5-20.4-112.2-54.2-154.6-17.8 17.3-32.6 37.1-43.6 59.5l-28.7-14.1c12.8-26 30-49 50.8-69C375.6 34.7 315 8 248 8 181.1 8 120.5 34.6 75.9 77.7c20.7 19.9 37.9 42.9 50.7 68.8l-28.7 14.1c-11-22.3-25.7-42.1-43.5-59.4C20.4 143.7 0 197.4 0 256c0 58.6 20.4 112.3 54.4 154.7 18.2-17.7 33.2-38 44.3-61l28.8 13.9c-12.9 26.7-30.3 50.3-51.5 70.7 44.5 43.1 105.1 69.7 172 69.7 66.8 0 127.3-26.5 171.9-69.5-21.1-20.4-38.5-43.9-51.4-70.6zm-228.3-32l-30.5-9.8c14.9-46.4 12.7-93.8-.6-134l30.4-10c15 45.6 18 99.9.7 153.8zm216.3-153.4l30.4 10c-13.2 40.1-15.5 87.5-.6 134l-30.5 9.8c-17.3-54-14.3-108.3.7-153.8z"],"basketball-ball":[496,512,[],"f434","M212.3 10.3c-43.8 6.3-86.2 24.1-122.2 53.8l77.4 77.4c27.8-35.8 43.3-81.2 44.8-131.2zM248 222L405.9 64.1c-42.4-35-93.6-53.5-145.5-56.1-1.2 63.9-21.5 122.3-58.7 167.7L248 222zM56.1 98.1c-29.7 36-47.5 78.4-53.8 122.2 50-1.5 95.5-17 131.2-44.8L56.1 98.1zm272.2 204.2c45.3-37.1 103.7-57.4 167.7-58.7-2.6-51.9-21.1-103.1-56.1-145.5L282 256l46.3 46.3zM248 290L90.1 447.9c42.4 34.9 93.6 53.5 145.5 56.1 1.3-64 21.6-122.4 58.7-167.7L248 290zm191.9 123.9c29.7-36 47.5-78.4 53.8-122.2-50.1 1.6-95.5 17.1-131.2 44.8l77.4 77.4zM167.7 209.7C122.3 246.9 63.9 267.3 0 268.4c2.6 51.9 21.1 103.1 56.1 145.5L214 256l-46.3-46.3zm116 292c43.8-6.3 86.2-24.1 122.2-53.8l-77.4-77.4c-27.7 35.7-43.2 81.2-44.8 131.2z"],bath:[512,512,[],"f2cd","M32,384a95.4,95.4,0,0,0,32,71.09V496a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V480H384v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V455.09A95.4,95.4,0,0,0,480,384V336H32ZM496,256H80V69.25a21.26,21.26,0,0,1,36.28-15l19.27,19.26c-13.13,29.88-7.61,59.11,8.62,79.73l-.17.17A16,16,0,0,0,144,176l11.31,11.31a16,16,0,0,0,22.63,0L283.31,81.94a16,16,0,0,0,0-22.63L272,48a16,16,0,0,0-22.62,0l-.17.17c-20.62-16.23-49.83-21.75-79.73-8.62L150.22,20.28A69.25,69.25,0,0,0,32,69.25V256H16A16,16,0,0,0,0,272v16a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V272A16,16,0,0,0,496,256Z"],"battery-empty":[640,512,[],"f244","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48z"],"battery-full":[640,512,[],"f240","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-48 96H96v128h416V192z"],"battery-half":[640,512,[],"f242","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-240 96H96v128h224V192z"],"battery-quarter":[640,512,[],"f243","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-336 96H96v128h128V192z"],"battery-three-quarters":[640,512,[],"f241","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-144 96H96v128h320V192z"],bed:[640,512,[],"f236","M176 256c44.11 0 80-35.89 80-80s-35.89-80-80-80-80 35.89-80 80 35.89 80 80 80zm352-128H304c-8.84 0-16 7.16-16 16v144H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v352c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h512v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V240c0-61.86-50.14-112-112-112z"],beer:[448,512,[],"f0fc","M368 96h-48V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24v-42.11l80.606-35.977C429.396 365.063 448 336.388 448 304.86V176c0-44.112-35.888-80-80-80zm16 208.86a16.018 16.018 0 0 1-9.479 14.611L320 343.805V160h48c8.822 0 16 7.178 16 16v128.86zM208 384c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16zm-96 0c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16z"],bell:[448,512,[],"f0f3","M224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64zm215.39-149.71c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71z"],"bell-slash":[640,512,[],"f1f6","M633.82 458.1l-90.62-70.05c.19-1.38.8-2.66.8-4.06.05-7.55-2.61-15.27-8.61-21.71-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-40.33 8.38-74.66 31.07-97.59 62.57L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.35 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.42-6.97 4.17-17.02-2.81-22.45zM157.23 251.54c-8.61 67.96-36.41 93.33-52.62 110.75-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h241.92L157.23 251.54zM320 512c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z"],"bezier-curve":[640,512,[],"f55b","M368 32h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM208 88h-84.75C113.75 64.56 90.84 48 64 48 28.66 48 0 76.65 0 112s28.66 64 64 64c26.84 0 49.75-16.56 59.25-40h79.73c-55.37 32.52-95.86 87.32-109.54 152h49.4c11.3-41.61 36.77-77.21 71.04-101.56-3.7-8.08-5.88-16.99-5.88-26.44V88zm-48 232H64c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zM576 48c-26.84 0-49.75 16.56-59.25 40H432v72c0 9.45-2.19 18.36-5.88 26.44 34.27 24.35 59.74 59.95 71.04 101.56h49.4c-13.68-64.68-54.17-119.48-109.54-152h79.73c9.5 23.44 32.41 40 59.25 40 35.34 0 64-28.65 64-64s-28.66-64-64-64zm0 272h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z"],bible:[448,512,[],"f647","M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM144 144c0-8.84 7.16-16 16-16h48V80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v48h48c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-48v112c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V192h-48c-8.84 0-16-7.16-16-16v-32zm236.8 304H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z"],bicycle:[640,512,[],"f206","M512.509 192.001c-16.373-.064-32.03 2.955-46.436 8.495l-77.68-125.153A24 24 0 0 0 368.001 64h-64c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h50.649l14.896 24H256.002v-16c0-8.837-7.163-16-16-16h-87.459c-13.441 0-24.777 10.999-24.536 24.437.232 13.044 10.876 23.563 23.995 23.563h48.726l-29.417 47.52c-13.433-4.83-27.904-7.483-42.992-7.52C58.094 191.83.412 249.012.002 319.236-.413 390.279 57.055 448 128.002 448c59.642 0 109.758-40.793 123.967-96h52.033a24 24 0 0 0 20.406-11.367L410.37 201.77l14.938 24.067c-25.455 23.448-41.385 57.081-41.307 94.437.145 68.833 57.899 127.051 126.729 127.719 70.606.685 128.181-55.803 129.255-125.996 1.086-70.941-56.526-129.72-127.476-129.996zM186.75 265.772c9.727 10.529 16.673 23.661 19.642 38.228h-43.306l23.664-38.228zM128.002 400c-44.112 0-80-35.888-80-80s35.888-80 80-80c5.869 0 11.586.653 17.099 1.859l-45.505 73.509C89.715 331.327 101.213 352 120.002 352h81.3c-12.37 28.225-40.562 48-73.3 48zm162.63-96h-35.624c-3.96-31.756-19.556-59.894-42.383-80.026L237.371 184h127.547l-74.286 120zm217.057 95.886c-41.036-2.165-74.049-35.692-75.627-76.755-.812-21.121 6.633-40.518 19.335-55.263l44.433 71.586c4.66 7.508 14.524 9.816 22.032 5.156l13.594-8.437c7.508-4.66 9.817-14.524 5.156-22.032l-44.468-71.643a79.901 79.901 0 0 1 19.858-2.497c44.112 0 80 35.888 80 80-.001 45.54-38.252 82.316-84.313 79.885z"],biking:[640,512,[],"f84a","M400 96a48 48 0 1 0-48-48 48 48 0 0 0 48 48zm-4 121a31.9 31.9 0 0 0 20 7h64a32 32 0 0 0 0-64h-52.78L356 103a31.94 31.94 0 0 0-40.81.68l-112 96a32 32 0 0 0 3.08 50.92L288 305.12V416a32 32 0 0 0 64 0V288a32 32 0 0 0-14.25-26.62l-41.36-27.57 58.25-49.92zm116 39a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64zM128 256a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64z"],binoculars:[512,512,[],"f1e5","M416 48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v48h96V48zM63.91 159.99C61.4 253.84 3.46 274.22 0 404v44c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V288h32V128H95.84c-17.63 0-31.45 14.37-31.93 31.99zm384.18 0c-.48-17.62-14.3-31.99-31.93-31.99H320v160h32v160c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-44c-3.46-129.78-61.4-150.16-63.91-244.01zM176 32h-64c-8.84 0-16 7.16-16 16v48h96V48c0-8.84-7.16-16-16-16zm48 256h64V128h-64v160z"],biohazard:[576,512,[],"f780","M287.9 112c18.6 0 36.2 3.8 52.8 9.6 13.3-10.3 23.6-24.3 29.5-40.7-25.2-10.9-53-17-82.2-17-29.1 0-56.9 6-82.1 16.9 5.9 16.4 16.2 30.4 29.5 40.7 16.5-5.7 34-9.5 52.5-9.5zM163.6 438.7c12-11.8 20.4-26.4 24.5-42.4-32.9-26.4-54.8-65.3-58.9-109.6-8.5-2.8-17.2-4.6-26.4-4.6-7.6 0-15.2 1-22.5 3.1 4.1 62.8 35.8 118 83.3 153.5zm224.2-42.6c4.1 16 12.5 30.7 24.5 42.5 47.4-35.5 79.1-90.7 83-153.5-7.2-2-14.7-3-22.2-3-9.2 0-18 1.9-26.6 4.7-4.1 44.2-26 82.9-58.7 109.3zm113.5-205c-17.6-10.4-36.3-16.6-55.3-19.9 6-17.7 10-36.4 10-56.2 0-41-14.5-80.8-41-112.2-2.5-3-6.6-3.7-10-1.8-3.3 1.9-4.8 6-3.6 9.7 4.5 13.8 6.6 26.3 6.6 38.5 0 67.8-53.8 122.9-120 122.9S168 117 168 49.2c0-12.1 2.2-24.7 6.6-38.5 1.2-3.7-.3-7.8-3.6-9.7-3.4-1.9-7.5-1.2-10 1.8C134.6 34.2 120 74 120 115c0 19.8 3.9 38.5 10 56.2-18.9 3.3-37.7 9.5-55.3 19.9-34.6 20.5-61 53.3-74.3 92.4-1.3 3.7.2 7.7 3.5 9.8 3.3 2 7.5 1.3 10-1.6 9.4-10.8 19-19.1 29.2-25.1 57.3-33.9 130.8-13.7 163.9 45 33.1 58.7 13.4 134-43.9 167.9-10.2 6.1-22 10.4-35.8 13.4-3.7.8-6.4 4.2-6.4 8.1.1 4 2.7 7.3 6.5 8 39.7 7.8 80.6.8 115.2-19.7 18-10.6 32.9-24.5 45.3-40.1 12.4 15.6 27.3 29.5 45.3 40.1 34.6 20.5 75.5 27.5 115.2 19.7 3.8-.7 6.4-4 6.5-8 0-3.9-2.6-7.3-6.4-8.1-13.9-2.9-25.6-7.3-35.8-13.4-57.3-33.9-77-109.2-43.9-167.9s106.6-78.9 163.9-45c10.2 6.1 19.8 14.3 29.2 25.1 2.5 2.9 6.7 3.6 10 1.6s4.8-6.1 3.5-9.8c-13.1-39.1-39.5-72-74.1-92.4zm-213.4 129c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z"],"birthday-cake":[448,512,[],"f1fd","M448 384c-28.02 0-31.26-32-74.5-32-43.43 0-46.825 32-74.75 32-27.695 0-31.454-32-74.75-32-42.842 0-47.218 32-74.5 32-28.148 0-31.202-32-74.75-32-43.547 0-46.653 32-74.75 32v-80c0-26.5 21.5-48 48-48h16V112h64v144h64V112h64v144h64V112h64v144h16c26.5 0 48 21.5 48 48v80zm0 128H0v-96c43.356 0 46.767-32 74.75-32 27.951 0 31.253 32 74.75 32 42.843 0 47.217-32 74.5-32 28.148 0 31.201 32 74.75 32 43.357 0 46.767-32 74.75-32 27.488 0 31.252 32 74.5 32v96zM96 96c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40z"],blender:[512,512,[],"f517","M416 384H160c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-128 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm40-416h166.54L512 0H48C21.49 0 0 21.49 0 48v160c0 26.51 21.49 48 48 48h103.27l8.73 96h256l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H328c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM64 192V64h69.82l11.64 128H64z"],"blender-phone":[576,512,[],"f6b6","M392 64h166.54L576 0H192v352h288l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H392c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM158.8 335.01l-25.78-63.26c-2.78-6.81-9.8-10.99-17.24-10.26l-45.03 4.42c-17.28-46.94-17.65-99.78 0-147.72l45.03 4.42c7.43.73 14.46-3.46 17.24-10.26l25.78-63.26c3.02-7.39.2-15.85-6.68-20.07l-39.28-24.1C98.51-3.87 80.09-.5 68.95 11.97c-92.57 103.6-92 259.55 2.1 362.49 9.87 10.8 29.12 12.48 41.65 4.8l39.41-24.18c6.89-4.22 9.7-12.67 6.69-20.07zM480 384H192c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-144 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"],blind:[384,512,[],"f29d","M380.15 510.837a8 8 0 0 1-10.989-2.687l-125.33-206.427a31.923 31.923 0 0 0 12.958-9.485l126.048 207.608a8 8 0 0 1-2.687 10.991zM142.803 314.338l-32.54 89.485 36.12 88.285c6.693 16.36 25.377 24.192 41.733 17.501 16.357-6.692 24.193-25.376 17.501-41.734l-62.814-153.537zM96 88c24.301 0 44-19.699 44-44S120.301 0 96 0 52 19.699 52 44s19.699 44 44 44zm154.837 169.128l-120-152c-4.733-5.995-11.75-9.108-18.837-9.112V96H80v.026c-7.146.003-14.217 3.161-18.944 9.24L0 183.766v95.694c0 13.455 11.011 24.791 24.464 24.536C37.505 303.748 48 293.1 48 280v-79.766l16-20.571v140.698L9.927 469.055c-6.04 16.609 2.528 34.969 19.138 41.009 16.602 6.039 34.968-2.524 41.009-19.138L136 309.638V202.441l-31.406-39.816a4 4 0 1 1 6.269-4.971l102.3 129.217c9.145 11.584 24.368 11.339 33.708 3.965 10.41-8.216 12.159-23.334 3.966-33.708z"],blog:[512,512,[],"f781","M172.2 226.8c-14.6-2.9-28.2 8.9-28.2 23.8V301c0 10.2 7.1 18.4 16.7 22 18.2 6.8 31.3 24.4 31.3 45 0 26.5-21.5 48-48 48s-48-21.5-48-48V120c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v248c0 89.5 82.1 160.2 175 140.7 54.4-11.4 98.3-55.4 109.7-109.7 17.4-82.9-37-157.2-112.5-172.2zM209 0c-9.2-.5-17 6.8-17 16v31.6c0 8.5 6.6 15.5 15 15.9 129.4 7 233.4 112 240.9 241.5.5 8.4 7.5 15 15.9 15h32.1c9.2 0 16.5-7.8 16-17C503.4 139.8 372.2 8.6 209 0zm.3 96c-9.3-.7-17.3 6.7-17.3 16.1v32.1c0 8.4 6.5 15.3 14.8 15.9 76.8 6.3 138 68.2 144.9 145.2.8 8.3 7.6 14.7 15.9 14.7h32.2c9.3 0 16.8-8 16.1-17.3-8.4-110.1-96.5-198.2-206.6-206.7z"],bold:[384,512,[],"f032","M333.49 238a122 122 0 0 0 27-65.21C367.87 96.49 308 32 233.42 32H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h31.87v288H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h209.32c70.8 0 134.14-51.75 141-122.4 4.74-48.45-16.39-92.06-50.83-119.6zM145.66 112h87.76a48 48 0 0 1 0 96h-87.76zm87.76 288h-87.76V288h87.76a56 56 0 0 1 0 112z"],bolt:[320,512,[],"f0e7","M296 160H180.6l42.6-129.8C227.2 15 215.7 0 200 0H56C44 0 33.8 8.9 32.2 20.8l-32 240C-1.7 275.2 9.5 288 24 288h118.7L96.6 482.5c-3.6 15.2 8 29.5 23.3 29.5 8.4 0 16.4-4.4 20.8-12l176-304c9.3-15.9-2.2-36-20.7-36z"],bomb:[512,512,[],"f1e2","M440.5 88.5l-52 52L415 167c9.4 9.4 9.4 24.6 0 33.9l-17.4 17.4c11.8 26.1 18.4 55.1 18.4 85.6 0 114.9-93.1 208-208 208S0 418.9 0 304 93.1 96 208 96c30.5 0 59.5 6.6 85.6 18.4L311 97c9.4-9.4 24.6-9.4 33.9 0l26.5 26.5 52-52 17.1 17zM500 60h-24c-6.6 0-12 5.4-12 12s5.4 12 12 12h24c6.6 0 12-5.4 12-12s-5.4-12-12-12zM440 0c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12s12-5.4 12-12V12c0-6.6-5.4-12-12-12zm33.9 55l17-17c4.7-4.7 4.7-12.3 0-17-4.7-4.7-12.3-4.7-17 0l-17 17c-4.7 4.7-4.7 12.3 0 17 4.8 4.7 12.4 4.7 17 0zm-67.8 0c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17zm67.8 34c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17zM112 272c0-35.3 28.7-64 64-64 8.8 0 16-7.2 16-16s-7.2-16-16-16c-52.9 0-96 43.1-96 96 0 8.8 7.2 16 16 16s16-7.2 16-16z"],bone:[640,512,[],"f5d7","M598.88 244.56c25.2-12.6 41.12-38.36 41.12-66.53v-7.64C640 129.3 606.7 96 565.61 96c-32.02 0-60.44 20.49-70.57 50.86-7.68 23.03-11.6 45.14-38.11 45.14H183.06c-27.38 0-31.58-25.54-38.11-45.14C134.83 116.49 106.4 96 74.39 96 33.3 96 0 129.3 0 170.39v7.64c0 28.17 15.92 53.93 41.12 66.53 9.43 4.71 9.43 18.17 0 22.88C15.92 280.04 0 305.8 0 333.97v7.64C0 382.7 33.3 416 74.38 416c32.02 0 60.44-20.49 70.57-50.86 7.68-23.03 11.6-45.14 38.11-45.14h273.87c27.38 0 31.58 25.54 38.11 45.14C505.17 395.51 533.6 416 565.61 416c41.08 0 74.38-33.3 74.38-74.39v-7.64c0-28.18-15.92-53.93-41.12-66.53-9.42-4.71-9.42-18.17.01-22.88z"],bong:[448,512,[],"f55c","M302.5 512c23.18 0 44.43-12.58 56-32.66C374.69 451.26 384 418.75 384 384c0-36.12-10.08-69.81-27.44-98.62L400 241.94l9.38 9.38c6.25 6.25 16.38 6.25 22.63 0l11.3-11.32c6.25-6.25 6.25-16.38 0-22.63l-52.69-52.69c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l9.38 9.38-39.41 39.41c-11.56-11.37-24.53-21.33-38.65-29.51V63.74l15.97-.02c8.82-.01 15.97-7.16 15.98-15.98l.04-31.72C320 7.17 312.82-.01 303.97 0L80.03.26c-8.82.01-15.97 7.16-15.98 15.98l-.04 31.73c-.01 8.85 7.17 16.02 16.02 16.01L96 63.96v153.93C38.67 251.1 0 312.97 0 384c0 34.75 9.31 67.27 25.5 95.34C37.08 499.42 58.33 512 81.5 512h221zM120.06 259.43L144 245.56V63.91l96-.11v181.76l23.94 13.87c24.81 14.37 44.12 35.73 56.56 60.57h-257c12.45-24.84 31.75-46.2 56.56-60.57z"],book:[448,512,[],"f02d","M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z"],"book-dead":[448,512,[],"f6b7","M272 136c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm176 222.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM240 56c44.2 0 80 28.7 80 64 0 20.9-12.7 39.2-32 50.9V184c0 8.8-7.2 16-16 16h-64c-8.8 0-16-7.2-16-16v-13.1c-19.3-11.7-32-30-32-50.9 0-35.3 35.8-64 80-64zM124.8 223.3l6.3-14.7c1.7-4.1 6.4-5.9 10.5-4.2l98.3 42.1 98.4-42.1c4.1-1.7 8.8.1 10.5 4.2l6.3 14.7c1.7 4.1-.1 8.8-4.2 10.5L280.6 264l70.3 30.1c4.1 1.7 5.9 6.4 4.2 10.5l-6.3 14.7c-1.7 4.1-6.4 5.9-10.5 4.2L240 281.4l-98.3 42.2c-4.1 1.7-8.8-.1-10.5-4.2l-6.3-14.7c-1.7-4.1.1-8.8 4.2-10.5l70.4-30.1-70.5-30.3c-4.1-1.7-5.9-6.4-4.2-10.5zm256 224.7H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8zM208 136c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16z"],"book-medical":[448,512,[],"f7e6","M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16q0-9.6-9.6-19.2c-3.2-16-3.2-60.8 0-73.6q9.6-4.8 9.6-19.2zM144 168a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8v48a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8zm236.8 280H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8z"],"book-open":[576,512,[],"f518","M542.22 32.05c-54.8 3.11-163.72 14.43-230.96 55.59-4.64 2.84-7.27 7.89-7.27 13.17v363.87c0 11.55 12.63 18.85 23.28 13.49 69.18-34.82 169.23-44.32 218.7-46.92 16.89-.89 30.02-14.43 30.02-30.66V62.75c.01-17.71-15.35-31.74-33.77-30.7zM264.73 87.64C197.5 46.48 88.58 35.17 33.78 32.05 15.36 31.01 0 45.04 0 62.75V400.6c0 16.24 13.13 29.78 30.02 30.66 49.49 2.6 149.59 12.11 218.77 46.95 10.62 5.35 23.21-1.94 23.21-13.46V100.63c0-5.29-2.62-10.14-7.27-12.99z"],"book-reader":[512,512,[],"f5da","M352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96 42.98 96 96 96 96-42.98 96-96zM233.59 241.1c-59.33-36.32-155.43-46.3-203.79-49.05C13.55 191.13 0 203.51 0 219.14v222.8c0 14.33 11.59 26.28 26.49 27.05 43.66 2.29 131.99 10.68 193.04 41.43 9.37 4.72 20.48-1.71 20.48-11.87V252.56c-.01-4.67-2.32-8.95-6.42-11.46zm248.61-49.05c-48.35 2.74-144.46 12.73-203.78 49.05-4.1 2.51-6.41 6.96-6.41 11.63v245.79c0 10.19 11.14 16.63 20.54 11.9 61.04-30.72 149.32-39.11 192.97-41.4 14.9-.78 26.49-12.73 26.49-27.06V219.14c-.01-15.63-13.56-28.01-29.81-27.09z"],bookmark:[384,512,[],"f02e","M0 512V48C0 21.49 21.49 0 48 0h288c26.51 0 48 21.49 48 48v464L192 400 0 512z"],"border-all":[448,512,[],"f84c","M416 32H32A32 32 0 0 0 0 64v384a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V64a32 32 0 0 0-32-32zm-32 64v128H256V96zm-192 0v128H64V96zM64 416V288h128v128zm192 0V288h128v128z"],"border-none":[448,512,[],"f850","M240 224h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-288 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM240 320h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-96 288h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96-384h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM48 224H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"],"border-style":[448,512,[],"f853","M240 416h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm192 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-288h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H32A32 32 0 0 0 0 64v400a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V96h368a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"],"bowling-ball":[496,512,[],"f436","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM120 192c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64-96c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm48 144c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"],box:[512,512,[],"f466","M509.5 184.6L458.9 32.8C452.4 13.2 434.1 0 413.4 0H272v192h238.7c-.4-2.5-.4-5-1.2-7.4zM240 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-.8 2.4-.8 4.9-1.2 7.4H240V0zM0 224v240c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V224H0z"],"box-open":[640,512,[],"f49e","M425.7 256c-16.9 0-32.8-9-41.4-23.4L320 126l-64.2 106.6c-8.7 14.5-24.6 23.5-41.5 23.5-4.5 0-9-.6-13.3-1.9L64 215v178c0 14.7 10 27.5 24.2 31l216.2 54.1c10.2 2.5 20.9 2.5 31 0L551.8 424c14.2-3.6 24.2-16.4 24.2-31V215l-137 39.1c-4.3 1.3-8.8 1.9-13.3 1.9zm212.6-112.2L586.8 41c-3.1-6.2-9.8-9.8-16.7-8.9L320 64l91.7 152.1c3.8 6.3 11.4 9.3 18.5 7.3l197.9-56.5c9.9-2.9 14.7-13.9 10.2-23.1zM53.2 41L1.7 143.8c-4.6 9.2.3 20.2 10.1 23l197.9 56.5c7.1 2 14.7-1 18.5-7.3L320 64 69.8 32.1c-6.9-.8-13.5 2.7-16.6 8.9z"],"box-tissue":[512,512,[],"e05b","M383.88,287.82l64-192H338.47a70.2,70.2,0,0,1-66.59-48,70.21,70.21,0,0,0-66.6-48H63.88l64,288Zm-384,192a32,32,0,0,0,32,32h448a32,32,0,0,0,32-32v-64H-.12Zm480-256H438.94l-21.33,64h14.27a16,16,0,0,1,0,32h-352a16,16,0,1,1,0-32H95.09l-14.22-64h-49a32,32,0,0,0-32,32v128h512v-128A32,32,0,0,0,479.88,223.82Z"],boxes:[576,512,[],"f468","M560 288h-80v96l-32-21.3-32 21.3v-96h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16zm-384-64h224c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16h-80v96l-32-21.3L256 96V0h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16zm64 64h-80v96l-32-21.3L96 384v-96H16c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16z"],braille:[640,512,[],"f2a1","M128 256c0 35.346-28.654 64-64 64S0 291.346 0 256s28.654-64 64-64 64 28.654 64 64zM64 384c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352C28.654 32 0 60.654 0 96s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm224 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-320c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z"],brain:[576,512,[],"f5dc","M208 0c-29.9 0-54.7 20.5-61.8 48.2-.8 0-1.4-.2-2.2-.2-35.3 0-64 28.7-64 64 0 4.8.6 9.5 1.7 14C52.5 138 32 166.6 32 200c0 12.6 3.2 24.3 8.3 34.9C16.3 248.7 0 274.3 0 304c0 33.3 20.4 61.9 49.4 73.9-.9 4.6-1.4 9.3-1.4 14.1 0 39.8 32.2 72 72 72 4.1 0 8.1-.5 12-1.2 9.6 28.5 36.2 49.2 68 49.2 39.8 0 72-32.2 72-72V64c0-35.3-28.7-64-64-64zm368 304c0-29.7-16.3-55.3-40.3-69.1 5.2-10.6 8.3-22.3 8.3-34.9 0-33.4-20.5-62-49.7-74 1-4.5 1.7-9.2 1.7-14 0-35.3-28.7-64-64-64-.8 0-1.5.2-2.2.2C422.7 20.5 397.9 0 368 0c-35.3 0-64 28.6-64 64v376c0 39.8 32.2 72 72 72 31.8 0 58.4-20.7 68-49.2 3.9.7 7.9 1.2 12 1.2 39.8 0 72-32.2 72-72 0-4.8-.5-9.5-1.4-14.1 29-12 49.4-40.6 49.4-73.9z"],"bread-slice":[576,512,[],"f7ec","M288 0C108 0 0 93.4 0 169.14 0 199.44 24.24 224 64 224v256c0 17.67 16.12 32 36 32h376c19.88 0 36-14.33 36-32V224c39.76 0 64-24.56 64-54.86C576 93.4 468 0 288 0z"],briefcase:[512,512,[],"f0b1","M320 336c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h416c25.6 0 48-22.4 48-48V288H320v48zm144-208h-80V80c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h512v-80c0-25.6-22.4-48-48-48zm-144 0H192V96h128v32z"],"briefcase-medical":[512,512,[],"f469","M464 128h-80V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48zM192 96h128v32H192V96zm160 248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48z"],"broadcast-tower":[640,512,[],"f519","M150.94 192h33.73c11.01 0 18.61-10.83 14.86-21.18-4.93-13.58-7.55-27.98-7.55-42.82s2.62-29.24 7.55-42.82C203.29 74.83 195.68 64 184.67 64h-33.73c-7.01 0-13.46 4.49-15.41 11.23C130.64 92.21 128 109.88 128 128c0 18.12 2.64 35.79 7.54 52.76 1.94 6.74 8.39 11.24 15.4 11.24zM89.92 23.34C95.56 12.72 87.97 0 75.96 0H40.63c-6.27 0-12.14 3.59-14.74 9.31C9.4 45.54 0 85.65 0 128c0 24.75 3.12 68.33 26.69 118.86 2.62 5.63 8.42 9.14 14.61 9.14h34.84c12.02 0 19.61-12.74 13.95-23.37-49.78-93.32-16.71-178.15-.17-209.29zM614.06 9.29C611.46 3.58 605.6 0 599.33 0h-35.42c-11.98 0-19.66 12.66-14.02 23.25 18.27 34.29 48.42 119.42.28 209.23-5.72 10.68 1.8 23.52 13.91 23.52h35.23c6.27 0 12.13-3.58 14.73-9.29C630.57 210.48 640 170.36 640 128s-9.42-82.48-25.94-118.71zM489.06 64h-33.73c-11.01 0-18.61 10.83-14.86 21.18 4.93 13.58 7.55 27.98 7.55 42.82s-2.62 29.24-7.55 42.82c-3.76 10.35 3.85 21.18 14.86 21.18h33.73c7.02 0 13.46-4.49 15.41-11.24 4.9-16.97 7.53-34.64 7.53-52.76 0-18.12-2.64-35.79-7.54-52.76-1.94-6.75-8.39-11.24-15.4-11.24zm-116.3 100.12c7.05-10.29 11.2-22.71 11.2-36.12 0-35.35-28.63-64-63.96-64-35.32 0-63.96 28.65-63.96 64 0 13.41 4.15 25.83 11.2 36.12l-130.5 313.41c-3.4 8.15.46 17.52 8.61 20.92l29.51 12.31c8.15 3.4 17.52-.46 20.91-8.61L244.96 384h150.07l49.2 118.15c3.4 8.16 12.76 12.01 20.91 8.61l29.51-12.31c8.15-3.4 12-12.77 8.61-20.92l-130.5-313.41zM271.62 320L320 203.81 368.38 320h-96.76z"],broom:[640,512,[],"f51a","M256.47 216.77l86.73 109.18s-16.6 102.36-76.57 150.12C206.66 523.85 0 510.19 0 510.19s3.8-23.14 11-55.43l94.62-112.17c3.97-4.7-.87-11.62-6.65-9.5l-60.4 22.09c14.44-41.66 32.72-80.04 54.6-97.47 59.97-47.76 163.3-40.94 163.3-40.94zM636.53 31.03l-19.86-25c-5.49-6.9-15.52-8.05-22.41-2.56l-232.48 177.8-34.14-42.97c-5.09-6.41-15.14-5.21-18.59 2.21l-25.33 54.55 86.73 109.18 58.8-12.45c8-1.69 11.42-11.2 6.34-17.6l-34.09-42.92 232.48-177.8c6.89-5.48 8.04-15.53 2.55-22.44z"],brush:[384,512,[],"f55d","M352 0H32C14.33 0 0 14.33 0 32v224h384V32c0-17.67-14.33-32-32-32zM0 320c0 35.35 28.66 64 64 64h64v64c0 35.35 28.66 64 64 64s64-28.65 64-64v-64h64c35.34 0 64-28.65 64-64v-32H0v32zm192 104c13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24s-24-10.75-24-24c0-13.26 10.75-24 24-24z"],bug:[512,512,[],"f188","M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.759 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z"],building:[448,512,[],"f1ad","M436 480h-20V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v456H12c-6.627 0-12 5.373-12 12v20h448v-20c0-6.627-5.373-12-12-12zM128 76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76zm0 96c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40zm52 148h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12zm76 160h-64v-84c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v84zm64-172c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40z"],bullhorn:[576,512,[],"f0a1","M576 240c0-23.63-12.95-44.04-32-55.12V32.01C544 23.26 537.02 0 512 0c-7.12 0-14.19 2.38-19.98 7.02l-85.03 68.03C364.28 109.19 310.66 128 256 128H64c-35.35 0-64 28.65-64 64v96c0 35.35 28.65 64 64 64h33.7c-1.39 10.48-2.18 21.14-2.18 32 0 39.77 9.26 77.35 25.56 110.94 5.19 10.69 16.52 17.06 28.4 17.06h74.28c26.05 0 41.69-29.84 25.9-50.56-16.4-21.52-26.15-48.36-26.15-77.44 0-11.11 1.62-21.79 4.41-32H256c54.66 0 108.28 18.81 150.98 52.95l85.03 68.03a32.023 32.023 0 0 0 19.98 7.02c24.92 0 32-22.78 32-32V295.13C563.05 284.04 576 263.63 576 240zm-96 141.42l-33.05-26.44C392.95 311.78 325.12 288 256 288v-96c69.12 0 136.95-23.78 190.95-66.98L480 98.58v282.84z"],bullseye:[496,512,[],"f140","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 432c-101.69 0-184-82.29-184-184 0-101.69 82.29-184 184-184 101.69 0 184 82.29 184 184 0 101.69-82.29 184-184 184zm0-312c-70.69 0-128 57.31-128 128s57.31 128 128 128 128-57.31 128-128-57.31-128-128-128zm0 192c-35.29 0-64-28.71-64-64s28.71-64 64-64 64 28.71 64 64-28.71 64-64 64z"],burn:[384,512,[],"f46a","M192 0C79.7 101.3 0 220.9 0 300.5 0 425 79 512 192 512s192-87 192-211.5c0-79.9-80.2-199.6-192-300.5zm0 448c-56.5 0-96-39-96-94.8 0-13.5 4.6-61.5 96-161.2 91.4 99.7 96 147.7 96 161.2 0 55.8-39.5 94.8-96 94.8z"],bus:[512,512,[],"f207","M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM112 400c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm16-112c-17.67 0-32-14.33-32-32V128c0-17.67 14.33-32 32-32h256c17.67 0 32 14.33 32 32v128c0 17.67-14.33 32-32 32H128zm272 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"],"bus-alt":[512,512,[],"f55e","M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM160 72c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H168c-4.42 0-8-3.58-8-8V72zm-48 328c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128-112H128c-17.67 0-32-14.33-32-32v-96c0-17.67 14.33-32 32-32h112v160zm32 0V128h112c17.67 0 32 14.33 32 32v96c0 17.67-14.33 32-32 32H272zm128 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"],"business-time":[640,512,[],"f64a","M496 224c-79.59 0-144 64.41-144 144s64.41 144 144 144 144-64.41 144-144-64.41-144-144-144zm64 150.29c0 5.34-4.37 9.71-9.71 9.71h-60.57c-5.34 0-9.71-4.37-9.71-9.71v-76.57c0-5.34 4.37-9.71 9.71-9.71h12.57c5.34 0 9.71 4.37 9.71 9.71V352h38.29c5.34 0 9.71 4.37 9.71 9.71v12.58zM496 192c5.4 0 10.72.33 16 .81V144c0-25.6-22.4-48-48-48h-80V48c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h395.12c28.6-20.09 63.35-32 100.88-32zM320 96H192V64h128v32zm6.82 224H208c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h291.43C327.1 423.96 320 396.82 320 368c0-16.66 2.48-32.72 6.82-48z"],calculator:[448,512,[],"f1ec","M400 0H48C22.4 0 0 22.4 0 48v416c0 25.6 22.4 48 48 48h352c25.6 0 48-22.4 48-48V48c0-25.6-22.4-48-48-48zM128 435.2c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8V268.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v166.4zm0-256c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8V76.8C64 70.4 70.4 64 76.8 64h294.4c6.4 0 12.8 6.4 12.8 12.8v102.4z"],calendar:[448,512,[],"f133","M12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm436-44v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v36c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12z"],"calendar-alt":[448,512,[],"f073","M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm320-196c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM192 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM64 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z"],"calendar-check":[448,512,[],"f274","M436 160H12c-6.627 0-12-5.373-12-12v-36c0-26.51 21.49-48 48-48h48V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h128V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h48c26.51 0 48 21.49 48 48v36c0 6.627-5.373 12-12 12zM12 192h424c6.627 0 12 5.373 12 12v260c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V204c0-6.627 5.373-12 12-12zm333.296 95.947l-28.169-28.398c-4.667-4.705-12.265-4.736-16.97-.068L194.12 364.665l-45.98-46.352c-4.667-4.705-12.266-4.736-16.971-.068l-28.397 28.17c-4.705 4.667-4.736 12.265-.068 16.97l82.601 83.269c4.667 4.705 12.265 4.736 16.97.068l142.953-141.805c4.705-4.667 4.736-12.265.068-16.97z"],"calendar-day":[448,512,[],"f783","M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-96zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z"],"calendar-minus":[448,512,[],"f272","M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm304 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H132c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h184z"],"calendar-plus":[448,512,[],"f271","M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm316 140c0-6.6-5.4-12-12-12h-60v-60c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v60h-60c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h60v60c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-60h60c6.6 0 12-5.4 12-12v-40z"],"calendar-times":[448,512,[],"f273","M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm257.3 160l48.1-48.1c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0L224 306.7l-48.1-48.1c-4.7-4.7-12.3-4.7-17 0l-28.3 28.3c-4.7 4.7-4.7 12.3 0 17l48.1 48.1-48.1 48.1c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l48.1-48.1 48.1 48.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L269.3 352z"],"calendar-week":[448,512,[],"f784","M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h288c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-64zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z"],camera:[512,512,[],"f030","M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z"],"camera-retro":[512,512,[],"f083","M48 32C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zm0 32h106c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H38c-3.3 0-6-2.7-6-6V80c0-8.8 7.2-16 16-16zm426 96H38c-3.3 0-6-2.7-6-6v-36c0-3.3 2.7-6 6-6h138l30.2-45.3c1.1-1.7 3-2.7 5-2.7H464c8.8 0 16 7.2 16 16v74c0 3.3-2.7 6-6 6zM256 424c-66.2 0-120-53.8-120-120s53.8-120 120-120 120 53.8 120 120-53.8 120-120 120zm0-208c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm-48 104c-8.8 0-16-7.2-16-16 0-35.3 28.7-64 64-64 8.8 0 16 7.2 16 16s-7.2 16-16 16c-17.6 0-32 14.4-32 32 0 8.8-7.2 16-16 16z"],campground:[640,512,[],"f6bb","M624 448h-24.68L359.54 117.75l53.41-73.55c5.19-7.15 3.61-17.16-3.54-22.35l-25.9-18.79c-7.15-5.19-17.15-3.61-22.35 3.55L320 63.3 278.83 6.6c-5.19-7.15-15.2-8.74-22.35-3.55l-25.88 18.8c-7.15 5.19-8.74 15.2-3.54 22.35l53.41 73.55L40.68 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM320 288l116.36 160H203.64L320 288z"],"candy-cane":[512,512,[],"f786","M497.5 92C469.6 33.1 411.8 0 352.4 0c-27.9 0-56.2 7.3-81.8 22.6L243.1 39c-15.2 9.1-20.1 28.7-11 43.9l32.8 54.9c6 10 16.6 15.6 27.5 15.6 5.6 0 11.2-1.5 16.4-4.5l27.5-16.4c5.1-3.1 10.8-4.5 16.4-4.5 10.9 0 21.5 5.6 27.5 15.6 9.1 15.1 4.1 34.8-11 43.9L15.6 397.6c-15.2 9.1-20.1 28.7-11 43.9l32.8 54.9c6 10 16.6 15.6 27.5 15.6 5.6 0 11.2-1.5 16.4-4.5L428.6 301c71.7-42.9 104.6-133.5 68.9-209zm-177.7 13l-2.5 1.5L296.8 45c9.7-4.7 19.8-8.1 30.3-10.2l20.6 61.8c-9.8.8-19.4 3.3-27.9 8.4zM145.9 431.8l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zm107.5-63.9l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zM364.3 302l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zm20.4-197.3l46-46c8.4 6.5 16 14.1 22.6 22.6L407.6 127c-5.7-9.3-13.7-16.9-22.9-22.3zm82.1 107.8l-59.5-19.8c3.2-5.3 5.8-10.9 7.4-17.1 1.1-4.5 1.7-9.1 1.8-13.6l60.4 20.1c-2.1 10.4-5.5 20.6-10.1 30.4z"],cannabis:[512,512,[],"f55f","M503.47 360.25c-1.56-.82-32.39-16.89-76.78-25.81 64.25-75.12 84.05-161.67 84.93-165.64 1.18-5.33-.44-10.9-4.3-14.77-3.03-3.04-7.12-4.7-11.32-4.7-1.14 0-2.29.12-3.44.38-3.88.85-86.54 19.59-160.58 79.76.01-1.46.01-2.93.01-4.4 0-118.79-59.98-213.72-62.53-217.7A15.973 15.973 0 0 0 256 0c-5.45 0-10.53 2.78-13.47 7.37-2.55 3.98-62.53 98.91-62.53 217.7 0 1.47.01 2.94.01 4.4-74.03-60.16-156.69-78.9-160.58-79.76-1.14-.25-2.29-.38-3.44-.38-4.2 0-8.29 1.66-11.32 4.7A15.986 15.986 0 0 0 .38 168.8c.88 3.97 20.68 90.52 84.93 165.64-44.39 8.92-75.21 24.99-76.78 25.81a16.003 16.003 0 0 0-.02 28.29c2.45 1.29 60.76 31.72 133.49 31.72 6.14 0 11.96-.1 17.5-.31-11.37 22.23-16.52 38.31-16.81 39.22-1.8 5.68-.29 11.89 3.91 16.11a16.019 16.019 0 0 0 16.1 3.99c1.83-.57 37.72-11.99 77.3-39.29V504c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-64.01c39.58 27.3 75.47 38.71 77.3 39.29a16.019 16.019 0 0 0 16.1-3.99c4.2-4.22 5.71-10.43 3.91-16.11-.29-.91-5.45-16.99-16.81-39.22 5.54.21 11.37.31 17.5.31 72.72 0 131.04-30.43 133.49-31.72 5.24-2.78 8.52-8.22 8.51-14.15-.01-5.94-3.29-11.39-8.53-14.15z"],capsules:[576,512,[],"f46b","M555.3 300.1L424.2 112.8C401.9 81 366.4 64 330.4 64c-22.6 0-45.5 6.7-65.5 20.7-19.7 13.8-33.7 32.8-41.5 53.8C220.5 79.2 172 32 112 32 50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V218.9c3.3 8.6 7.3 17.1 12.8 25L368 431.2c22.2 31.8 57.7 48.8 93.8 48.8 22.7 0 45.5-6.7 65.5-20.7 51.7-36.2 64.2-107.5 28-159.2zM160 256H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm194.8 44.9l-65.6-93.7c-7.7-11-10.7-24.4-8.3-37.6 2.3-13.2 9.7-24.8 20.7-32.5 8.5-6 18.5-9.1 28.8-9.1 16.5 0 31.9 8 41.3 21.5l65.6 93.7-82.5 57.7z"],car:[512,512,[],"f1b9","M499.99 176h-59.87l-16.64-41.6C406.38 91.63 365.57 64 319.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4L71.87 176H12.01C4.2 176-1.53 183.34.37 190.91l6 24C7.7 220.25 12.5 224 18.01 224h20.07C24.65 235.73 16 252.78 16 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-19.22-8.65-36.27-22.07-48H494c5.51 0 10.31-3.75 11.64-9.09l6-24c1.89-7.57-3.84-14.91-11.65-14.91zm-352.06-17.83c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L384 208H128l19.93-49.83zM96 319.8c-19.2 0-32-12.76-32-31.9S76.8 256 96 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S396.8 256 416 256s32 12.76 32 31.9-12.8 31.9-32 31.9z"],"car-alt":[480,512,[],"f5de","M438.66 212.33l-11.24-28.1-19.93-49.83C390.38 91.63 349.57 64 303.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4l-19.93 49.83-11.24 28.1C17.22 221.5 0 244.66 0 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-27.34-17.22-50.5-41.34-59.67zm-306.73-54.16c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L368 208H112l19.93-49.83zM80 319.8c-19.2 0-32-12.76-32-31.9S60.8 256 80 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S380.8 256 400 256s32 12.76 32 31.9-12.8 31.9-32 31.9z"],"car-battery":[512,512,[],"f5df","M480 128h-32V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v48H192V80c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v48H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32zM192 264c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm256 0c0 4.42-3.58 8-8 8h-40v40c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-40h-40c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h40v-40c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v40h40c4.42 0 8 3.58 8 8v16z"],"car-crash":[640,512,[],"f5e1","M143.25 220.81l-12.42 46.37c-3.01 11.25-3.63 22.89-2.41 34.39l-35.2 28.98c-6.57 5.41-16.31-.43-14.62-8.77l15.44-76.68c1.06-5.26-2.66-10.28-8-10.79l-77.86-7.55c-8.47-.82-11.23-11.83-4.14-16.54l65.15-43.3c4.46-2.97 5.38-9.15 1.98-13.29L21.46 93.22c-5.41-6.57.43-16.3 8.78-14.62l76.68 15.44c5.26 1.06 10.28-2.66 10.8-8l7.55-77.86c.82-8.48 11.83-11.23 16.55-4.14l43.3 65.14c2.97 4.46 9.15 5.38 13.29 1.98l60.4-49.71c6.57-5.41 16.3.43 14.62 8.77L262.1 86.38c-2.71 3.05-5.43 6.09-7.91 9.4l-32.15 42.97-10.71 14.32c-32.73 8.76-59.18 34.53-68.08 67.74zm494.57 132.51l-12.42 46.36c-3.13 11.68-9.38 21.61-17.55 29.36a66.876 66.876 0 0 1-8.76 7l-13.99 52.23c-1.14 4.27-3.1 8.1-5.65 11.38-7.67 9.84-20.74 14.68-33.54 11.25L515 502.62c-17.07-4.57-27.2-22.12-22.63-39.19l8.28-30.91-247.28-66.26-8.28 30.91c-4.57 17.07-22.12 27.2-39.19 22.63l-30.91-8.28c-12.8-3.43-21.7-14.16-23.42-26.51-.57-4.12-.35-8.42.79-12.68l13.99-52.23a66.62 66.62 0 0 1-4.09-10.45c-3.2-10.79-3.65-22.52-.52-34.2l12.42-46.37c5.31-19.8 19.36-34.83 36.89-42.21a64.336 64.336 0 0 1 18.49-4.72l18.13-24.23 32.15-42.97c3.45-4.61 7.19-8.9 11.2-12.84 8-7.89 17.03-14.44 26.74-19.51 4.86-2.54 9.89-4.71 15.05-6.49 10.33-3.58 21.19-5.63 32.24-6.04 11.05-.41 22.31.82 33.43 3.8l122.68 32.87c11.12 2.98 21.48 7.54 30.85 13.43a111.11 111.11 0 0 1 34.69 34.5c8.82 13.88 14.64 29.84 16.68 46.99l6.36 53.29 3.59 30.05a64.49 64.49 0 0 1 22.74 29.93c4.39 11.88 5.29 25.19 1.75 38.39zM255.58 234.34c-18.55-4.97-34.21 4.04-39.17 22.53-4.96 18.49 4.11 34.12 22.65 39.09 18.55 4.97 45.54 15.51 50.49-2.98 4.96-18.49-15.43-53.67-33.97-58.64zm290.61 28.17l-6.36-53.29c-.58-4.87-1.89-9.53-3.82-13.86-5.8-12.99-17.2-23.01-31.42-26.82l-122.68-32.87a48.008 48.008 0 0 0-50.86 17.61l-32.15 42.97 172 46.08 75.29 20.18zm18.49 54.65c-18.55-4.97-53.8 15.31-58.75 33.79-4.95 18.49 23.69 22.86 42.24 27.83 18.55 4.97 34.21-4.04 39.17-22.53 4.95-18.48-4.11-34.12-22.66-39.09z"],"car-side":[640,512,[],"f5e4","M544 192h-16L419.22 56.02A64.025 64.025 0 0 0 369.24 32H155.33c-26.17 0-49.7 15.93-59.42 40.23L48 194.26C20.44 201.4 0 226.21 0 256v112c0 8.84 7.16 16 16 16h48c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h48c8.84 0 16-7.16 16-16v-80c0-53.02-42.98-96-96-96zM160 432c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm72-240H116.93l38.4-96H232v96zm48 0V96h89.24l76.8 96H280zm200 240c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z"],caravan:[640,512,[],"f8ff","M416,208a16,16,0,1,0,16,16A16,16,0,0,0,416,208ZM624,320H576V160A160,160,0,0,0,416,0H64A64,64,0,0,0,0,64V320a64,64,0,0,0,64,64H96a96,96,0,0,0,192,0H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM192,432a48,48,0,1,1,48-48A48.05,48.05,0,0,1,192,432Zm64-240a32,32,0,0,1-32,32H96a32,32,0,0,1-32-32V128A32,32,0,0,1,96,96H224a32,32,0,0,1,32,32ZM448,320H320V128a32,32,0,0,1,32-32h64a32,32,0,0,1,32,32Z"],"caret-down":[320,512,[],"f0d7","M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"],"caret-left":[192,512,[],"f0d9","M192 127.338v257.324c0 17.818-21.543 26.741-34.142 14.142L29.196 270.142c-7.81-7.81-7.81-20.474 0-28.284l128.662-128.662c12.599-12.6 34.142-3.676 34.142 14.142z"],"caret-right":[192,512,[],"f0da","M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"],"caret-square-down":[448,512,[],"f150","M448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM92.5 220.5l123 123c4.7 4.7 12.3 4.7 17 0l123-123c7.6-7.6 2.2-20.5-8.5-20.5H101c-10.7 0-16.1 12.9-8.5 20.5z"],"caret-square-left":[448,512,[],"f191","M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM259.515 124.485l-123.03 123.03c-4.686 4.686-4.686 12.284 0 16.971l123.029 123.029c7.56 7.56 20.485 2.206 20.485-8.485V132.971c.001-10.691-12.925-16.045-20.484-8.486z"],"caret-square-right":[448,512,[],"f152","M48 32h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48zm140.485 355.515l123.029-123.029c4.686-4.686 4.686-12.284 0-16.971l-123.029-123.03c-7.56-7.56-20.485-2.206-20.485 8.485v246.059c0 10.691 12.926 16.045 20.485 8.486z"],"caret-square-up":[448,512,[],"f151","M0 432V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48zm355.515-140.485l-123.03-123.03c-4.686-4.686-12.284-4.686-16.971 0L92.485 291.515c-7.56 7.56-2.206 20.485 8.485 20.485h246.059c10.691 0 16.045-12.926 8.486-20.485z"],"caret-up":[320,512,[],"f0d8","M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"],carrot:[512,512,[],"f787","M298.2 156.6c-52.7-25.7-114.5-10.5-150.2 32.8l55.2 55.2c6.3 6.3 6.3 16.4 0 22.6-3.1 3.1-7.2 4.7-11.3 4.7s-8.2-1.6-11.3-4.7L130.4 217 2.3 479.7c-2.9 6-3.1 13.3 0 19.7 5.4 11.1 18.9 15.7 30 10.3l133.6-65.2-49.2-49.2c-6.3-6.2-6.3-16.4 0-22.6 6.3-6.2 16.4-6.2 22.6 0l57 57 102-49.8c24-11.7 44.5-31.3 57.1-57.1 30.1-61.7 4.5-136.1-57.2-166.2zm92.1-34.9C409.8 81 399.7 32.9 360 0c-50.3 41.7-52.5 107.5-7.9 151.9l8 8c44.4 44.6 110.3 42.4 151.9-7.9-32.9-39.7-81-49.8-121.7-30.3z"],"cart-arrow-down":[576,512,[],"f218","M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM403.029 192H360v-60c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v60h-43.029c-10.691 0-16.045 12.926-8.485 20.485l67.029 67.029c4.686 4.686 12.284 4.686 16.971 0l67.029-67.029c7.559-7.559 2.205-20.485-8.486-20.485z"],"cart-plus":[576,512,[],"f217","M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM408 168h-48v-40c0-8.837-7.163-16-16-16h-16c-8.837 0-16 7.163-16 16v40h-48c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h48v40c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-40h48c8.837 0 16-7.163 16-16v-16c0-8.837-7.163-16-16-16z"],"cash-register":[512,512,[],"f788","M511.1 378.8l-26.7-160c-2.6-15.4-15.9-26.7-31.6-26.7H208v-64h96c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96v64H59.1c-15.6 0-29 11.3-31.6 26.7L.8 378.7c-.6 3.5-.9 7-.9 10.5V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-90.7c.1-3.5-.2-7-.8-10.5zM280 248c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16zm-32 64h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16zm-32-80c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16zM80 80V48h192v32H80zm40 200h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16zm16 64v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16zm216 112c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16zm24-112c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16zm48-80c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16z"],cat:[512,512,[],"f6be","M290.59 192c-20.18 0-106.82 1.98-162.59 85.95V192c0-52.94-43.06-96-96-96-17.67 0-32 14.33-32 32s14.33 32 32 32c17.64 0 32 14.36 32 32v256c0 35.3 28.7 64 64 64h176c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-32l128-96v144c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V289.86c-10.29 2.67-20.89 4.54-32 4.54-61.81 0-113.52-44.05-125.41-102.4zM448 96h-64l-64-64v134.4c0 53.02 42.98 96 96 96s96-42.98 96-96V32l-64 64zm-72 80c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm80 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z"],certificate:[512,512,[],"f0a3","M458.622 255.92l45.985-45.005c13.708-12.977 7.316-36.039-10.664-40.339l-62.65-15.99 17.661-62.015c4.991-17.838-11.829-34.663-29.661-29.671l-61.994 17.667-15.984-62.671C337.085.197 313.765-6.276 300.99 7.228L256 53.57 211.011 7.229c-12.63-13.351-36.047-7.234-40.325 10.668l-15.984 62.671-61.995-17.667C74.87 57.907 58.056 74.738 63.046 92.572l17.661 62.015-62.65 15.99C.069 174.878-6.31 197.944 7.392 210.915l45.985 45.005-45.985 45.004c-13.708 12.977-7.316 36.039 10.664 40.339l62.65 15.99-17.661 62.015c-4.991 17.838 11.829 34.663 29.661 29.671l61.994-17.667 15.984 62.671c4.439 18.575 27.696 24.018 40.325 10.668L256 458.61l44.989 46.001c12.5 13.488 35.987 7.486 40.325-10.668l15.984-62.671 61.994 17.667c17.836 4.994 34.651-11.837 29.661-29.671l-17.661-62.015 62.65-15.99c17.987-4.302 24.366-27.367 10.664-40.339l-45.984-45.004z"],chair:[448,512,[],"f6c0","M112 128c0-29.5 16.2-55 40-68.9V256h48V48h48v208h48V59.1c23.8 13.9 40 39.4 40 68.9v128h48V128C384 57.3 326.7 0 256 0h-64C121.3 0 64 57.3 64 128v128h48zm334.3 213.9l-10.7-32c-4.4-13.1-16.6-21.9-30.4-21.9H42.7c-13.8 0-26 8.8-30.4 21.9l-10.7 32C-5.2 362.6 10.2 384 32 384v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384h256v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384c21.8 0 37.2-21.4 30.3-42.1z"],chalkboard:[640,512,[],"f51b","M96 64h448v352h64V40c0-22.06-17.94-40-40-40H72C49.94 0 32 17.94 32 40v376h64V64zm528 384H480v-64H288v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"],"chalkboard-teacher":[640,512,[],"f51c","M208 352c-2.39 0-4.78.35-7.06 1.09C187.98 357.3 174.35 360 160 360c-14.35 0-27.98-2.7-40.95-6.91-2.28-.74-4.66-1.09-7.05-1.09C49.94 352-.33 402.48 0 464.62.14 490.88 21.73 512 48 512h224c26.27 0 47.86-21.12 48-47.38.33-62.14-49.94-112.62-112-112.62zm-48-32c53.02 0 96-42.98 96-96s-42.98-96-96-96-96 42.98-96 96 42.98 96 96 96zM592 0H208c-26.47 0-48 22.25-48 49.59V96c23.42 0 45.1 6.78 64 17.8V64h352v288h-64v-64H384v64h-76.24c19.1 16.69 33.12 38.73 39.69 64H592c26.47 0 48-22.25 48-49.59V49.59C640 22.25 618.47 0 592 0z"],"charging-station":[576,512,[],"f5e7","M336 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h320c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm208-320V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-32V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-16c-8.84 0-16 7.16-16 16v32c0 35.76 23.62 65.69 56 75.93v118.49c0 13.95-9.5 26.92-23.26 29.19C431.22 402.5 416 388.99 416 372v-28c0-48.6-39.4-88-88-88h-8V64c0-35.35-28.65-64-64-64H96C60.65 0 32 28.65 32 64v352h288V304h8c22.09 0 40 17.91 40 40v24.61c0 39.67 28.92 75.16 68.41 79.01C481.71 452.05 520 416.41 520 372V251.93c32.38-10.24 56-40.17 56-75.93v-32c0-8.84-7.16-16-16-16h-16zm-283.91 47.76l-93.7 139c-2.2 3.33-6.21 5.24-10.39 5.24-7.67 0-13.47-6.28-11.67-12.92L167.35 224H108c-7.25 0-12.85-5.59-11.89-11.89l16-107C112.9 99.9 117.98 96 124 96h68c7.88 0 13.62 6.54 11.6 13.21L192 160h57.7c9.24 0 15.01 8.78 10.39 15.76z"],"chart-area":[512,512,[],"f1fe","M500 384c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v308h436zM372.7 159.5L288 216l-85.3-113.7c-5.1-6.8-15.5-6.3-19.9 1L96 248v104h384l-89.9-187.8c-3.2-6.5-11.4-8.7-17.4-4.7z"],"chart-bar":[512,512,[],"f080","M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"],"chart-line":[512,512,[],"f201","M496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM464 96H345.94c-21.38 0-32.09 25.85-16.97 40.97l32.4 32.4L288 242.75l-73.37-73.37c-12.5-12.5-32.76-12.5-45.25 0l-68.69 68.69c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L192 237.25l73.37 73.37c12.5 12.5 32.76 12.5 45.25 0l96-96 32.4 32.4c15.12 15.12 40.97 4.41 40.97-16.97V112c.01-8.84-7.15-16-15.99-16z"],"chart-pie":[544,512,[],"f200","M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z"],check:[512,512,[],"f00c","M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"],"check-circle":[512,512,[],"f058","M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z"],"check-double":[512,512,[],"f560","M505 174.8l-39.6-39.6c-9.4-9.4-24.6-9.4-33.9 0L192 374.7 80.6 263.2c-9.4-9.4-24.6-9.4-33.9 0L7 302.9c-9.4 9.4-9.4 24.6 0 34L175 505c9.4 9.4 24.6 9.4 33.9 0l296-296.2c9.4-9.5 9.4-24.7.1-34zm-324.3 106c6.2 6.3 16.4 6.3 22.6 0l208-208.2c6.2-6.3 6.2-16.4 0-22.6L366.1 4.7c-6.2-6.3-16.4-6.3-22.6 0L192 156.2l-55.4-55.5c-6.2-6.3-16.4-6.3-22.6 0L68.7 146c-6.2 6.3-6.2 16.4 0 22.6l112 112.2z"],"check-square":[448,512,[],"f14a","M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.001z"],cheese:[512,512,[],"f7ef","M0 288v160a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V288zM299.83 32a32 32 0 0 0-21.13 7L0 256h512c0-119.89-94-217.8-212.17-224z"],chess:[512,512,[],"f439","M74 208H64a16 16 0 0 0-16 16v16a16 16 0 0 0 16 16h15.94A535.78 535.78 0 0 1 64 384h128a535.78 535.78 0 0 1-15.94-128H192a16 16 0 0 0 16-16v-16a16 16 0 0 0-16-16h-10l33.89-90.38a16 16 0 0 0-15-21.62H144V64h24a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8h-24V8a8 8 0 0 0-8-8h-16a8 8 0 0 0-8 8v24H88a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h24v32H55.09a16 16 0 0 0-15 21.62zm173.16 251.58L224 448v-16a16 16 0 0 0-16-16H48a16 16 0 0 0-16 16v16L8.85 459.58A16 16 0 0 0 0 473.89V496a16 16 0 0 0 16 16h224a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31zm92.77-157.78l-3.29 82.2h126.72l-3.29-82.21 24.6-20.79A32 32 0 0 0 496 256.54V198a6 6 0 0 0-6-6h-26.38a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H373.1a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H310a6 6 0 0 0-6 6v58.6a32 32 0 0 0 11.36 24.4zM384 304a16 16 0 0 1 32 0v32h-32zm119.16 155.58L480 448v-16a16 16 0 0 0-16-16H336a16 16 0 0 0-16 16v16l-23.15 11.58a16 16 0 0 0-8.85 14.31V496a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31z"],"chess-bishop":[320,512,[],"f43a","M8 287.88c0 51.64 22.14 73.83 56 84.6V416h192v-43.52c33.86-10.77 56-33 56-84.6 0-30.61-10.73-67.1-26.69-102.56L185 285.65a8 8 0 0 1-11.31 0l-11.31-11.31a8 8 0 0 1 0-11.31L270.27 155.1c-20.8-37.91-46.47-72.1-70.87-92.59C213.4 59.09 224 47.05 224 32a32 32 0 0 0-32-32h-64a32 32 0 0 0-32 32c0 15 10.6 27.09 24.6 30.51C67.81 106.8 8 214.5 8 287.88zM304 448H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"],"chess-board":[512,512,[],"f43c","M255.9.2h-64v64h64zM0 64.17v64h64v-64zM128 .2H64v64h64zm64 255.9v64h64v-64zM0 192.12v64h64v-64zM383.85.2h-64v64h64zm128 0h-64v64h64zM128 256.1H64v64h64zM511.8 448v-64h-64v64zm0-128v-64h-64v64zM383.85 512h64v-64h-64zm128-319.88v-64h-64v64zM128 512h64v-64h-64zM0 512h64v-64H0zm255.9 0h64v-64h-64zM0 320.07v64h64v-64zm319.88-191.92v-64h-64v64zm-64 128h64v-64h-64zm-64 128v64h64v-64zm128-64h64v-64h-64zm0-127.95h64v-64h-64zm0 191.93v64h64v-64zM64 384.05v64h64v-64zm128-255.9v-64h-64v64zm191.92 255.9h64v-64h-64zm-128-191.93v-64h-64v64zm128-127.95v64h64v-64zm-128 255.9v64h64v-64zm-64-127.95H128v64h64zm191.92 64h64v-64h-64zM128 128.15H64v64h64zm0 191.92v64h64v-64z"],"chess-king":[448,512,[],"f43f","M400 448H48a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm16-288H256v-48h40a8 8 0 0 0 8-8V56a8 8 0 0 0-8-8h-40V8a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v40h-40a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h40v48H32a32 32 0 0 0-30.52 41.54L74.56 416h298.88l73.08-214.46A32 32 0 0 0 416 160z"],"chess-knight":[384,512,[],"f441","M19 272.47l40.63 18.06a32 32 0 0 0 24.88.47l12.78-5.12a32 32 0 0 0 18.76-20.5l9.22-30.65a24 24 0 0 1 12.55-15.65L159.94 208v50.33a48 48 0 0 1-26.53 42.94l-57.22 28.65A80 80 0 0 0 32 401.48V416h319.86V224c0-106-85.92-192-191.92-192H12A12 12 0 0 0 0 44a16.9 16.9 0 0 0 1.79 7.58L16 80l-9 9a24 24 0 0 0-7 17v137.21a32 32 0 0 0 19 29.26zM52 128a20 20 0 1 1-20 20 20 20 0 0 1 20-20zm316 320H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"],"chess-pawn":[320,512,[],"f443","M105.1 224H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h16v5.49c0 44-4.14 86.6-24 122.51h176c-19.89-35.91-24-78.51-24-122.51V288h16a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-25.1c29.39-18.38 49.1-50.78 49.1-88a104 104 0 0 0-208 0c0 37.22 19.71 69.62 49.1 88zM304 448H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"],"chess-queen":[512,512,[],"f445","M256 112a56 56 0 1 0-56-56 56 56 0 0 0 56 56zm176 336H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm72.87-263.84l-28.51-15.92c-7.44-5-16.91-2.46-22.29 4.68a47.59 47.59 0 0 1-47.23 18.23C383.7 186.86 368 164.93 368 141.4a13.4 13.4 0 0 0-13.4-13.4h-38.77c-6 0-11.61 4-12.86 9.91a48 48 0 0 1-93.94 0c-1.25-5.92-6.82-9.91-12.86-9.91H157.4a13.4 13.4 0 0 0-13.4 13.4c0 25.69-19 48.75-44.67 50.49a47.5 47.5 0 0 1-41.54-19.15c-5.28-7.09-14.73-9.45-22.09-4.54l-28.57 16a16 16 0 0 0-5.44 20.47L104.24 416h303.52l102.55-211.37a16 16 0 0 0-5.44-20.47z"],"chess-rook":[384,512,[],"f447","M368 32h-56a16 16 0 0 0-16 16v48h-48V48a16 16 0 0 0-16-16h-80a16 16 0 0 0-16 16v48H88.1V48a16 16 0 0 0-16-16H16A16 16 0 0 0 0 48v176l64 32c0 48.33-1.54 95-13.21 160h282.42C321.54 351 320 303.72 320 256l64-32V48a16 16 0 0 0-16-16zM224 320h-64v-64a32 32 0 0 1 64 0zm144 128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"],"chevron-circle-down":[512,512,[],"f13a","M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM273 369.9l135.5-135.5c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L256 285.1 154.4 183.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L239 369.9c9.4 9.4 24.6 9.4 34 0z"],"chevron-circle-left":[512,512,[],"f137","M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zM142.1 273l135.5 135.5c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L226.9 256l101.6-101.6c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L142.1 239c-9.4 9.4-9.4 24.6 0 34z"],"chevron-circle-right":[512,512,[],"f138","M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z"],"chevron-circle-up":[512,512,[],"f139","M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm231-113.9L103.5 277.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L256 226.9l101.6 101.6c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L273 142.1c-9.4-9.4-24.6-9.4-34 0z"],"chevron-down":[448,512,[],"f078","M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z"],"chevron-left":[320,512,[],"f053","M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"],"chevron-right":[320,512,[],"f054","M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"],"chevron-up":[448,512,[],"f077","M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z"],child:[384,512,[],"f1ae","M120 72c0-39.765 32.235-72 72-72s72 32.235 72 72c0 39.764-32.235 72-72 72s-72-32.236-72-72zm254.627 1.373c-12.496-12.497-32.758-12.497-45.254 0L242.745 160H141.254L54.627 73.373c-12.496-12.497-32.758-12.497-45.254 0-12.497 12.497-12.497 32.758 0 45.255L104 213.254V480c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V368h16v112c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V213.254l94.627-94.627c12.497-12.497 12.497-32.757 0-45.254z"],church:[640,512,[],"f51d","M464.46 246.68L352 179.2V128h48c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-48V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v48h-48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v51.2l-112.46 67.48A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.65-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.54A32.024 32.024 0 0 0 0 395.96zm620.61-29.42L512 320v192h112c8.84 0 16-7.16 16-16V395.96c0-12.8-7.63-24.37-19.39-29.42z"],circle:[512,512,[],"f111","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z"],"circle-notch":[512,512,[],"f1ce","M288 39.056v16.659c0 10.804 7.281 20.159 17.686 23.066C383.204 100.434 440 171.518 440 256c0 101.689-82.295 184-184 184-101.689 0-184-82.295-184-184 0-84.47 56.786-155.564 134.312-177.219C216.719 75.874 224 66.517 224 55.712V39.064c0-15.709-14.834-27.153-30.046-23.234C86.603 43.482 7.394 141.206 8.003 257.332c.72 137.052 111.477 246.956 248.531 246.667C393.255 503.711 504 392.788 504 256c0-115.633-79.14-212.779-186.211-240.236C302.678 11.889 288 23.456 288 39.056z"],city:[640,512,[],"f64f","M616 192H480V24c0-13.26-10.74-24-24-24H312c-13.26 0-24 10.74-24 24v72h-64V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v80h-64V16c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v80H24c-13.26 0-24 10.74-24 24v360c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V216c0-13.26-10.75-24-24-24zM128 404c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm128 192c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12V76c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 288c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40z"],"clinic-medical":[576,512,[],"f7f2","M288 115L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2zm96 261a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8zm186.69-139.72l-255.94-226a39.85 39.85 0 0 0-53.45 0l-256 226a16 16 0 0 0-1.21 22.6L25.5 282.7a16 16 0 0 0 22.6 1.21L277.42 81.63a16 16 0 0 1 21.17 0L527.91 283.9a16 16 0 0 0 22.6-1.21l21.4-23.82a16 16 0 0 0-1.22-22.59z"],clipboard:[384,512,[],"f328","M384 112v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h80c0-35.29 28.71-64 64-64s64 28.71 64 64h80c26.51 0 48 21.49 48 48zM192 40c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24m96 114v-20a6 6 0 0 0-6-6H102a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h180a6 6 0 0 0 6-6z"],"clipboard-check":[384,512,[],"f46c","M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm121.2 231.8l-143 141.8c-4.7 4.7-12.3 4.6-17-.1l-82.6-83.3c-4.7-4.7-4.6-12.3.1-17L99.1 285c4.7-4.7 12.3-4.6 17 .1l46 46.4 106-105.2c4.7-4.7 12.3-4.6 17 .1l28.2 28.4c4.7 4.8 4.6 12.3-.1 17z"],"clipboard-list":[384,512,[],"f46d","M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM96 424c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm96-192c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm128 368c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z"],clock:[512,512,[],"f017","M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm92.49,313h0l-20,25a16,16,0,0,1-22.49,2.5h0l-67-49.72a40,40,0,0,1-15-31.23V112a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V256l58,42.5A16,16,0,0,1,348.49,321Z"],clone:[512,512,[],"f24d","M464 0c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48H176c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h288M176 416c-44.112 0-80-35.888-80-80V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-48H176z"],"closed-captioning":[512,512,[],"f20a","M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM218.1 287.7c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2.1 48 51.1 70.5 92.3 32.6zm190.4 0c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.5 56.9-172.7 32.1-172.7-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 222.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6z"],cloud:[640,512,[],"f0c2","M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4z"],"cloud-download-alt":[640,512,[],"f381","M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z"],"cloud-meatball":[512,512,[],"f73b","M48 352c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm416 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm-119 11.1c4.6-14.5 1.6-30.8-9.8-42.3-11.5-11.5-27.8-14.4-42.3-9.9-7-13.5-20.7-23-36.9-23s-29.9 9.5-36.9 23c-14.5-4.6-30.8-1.6-42.3 9.9-11.5 11.5-14.4 27.8-9.9 42.3-13.5 7-23 20.7-23 36.9s9.5 29.9 23 36.9c-4.6 14.5-1.6 30.8 9.9 42.3 8.2 8.2 18.9 12.3 29.7 12.3 4.3 0 8.5-1.1 12.6-2.5 7 13.5 20.7 23 36.9 23s29.9-9.5 36.9-23c4.1 1.3 8.3 2.5 12.6 2.5 10.8 0 21.5-4.1 29.7-12.3 11.5-11.5 14.4-27.8 9.8-42.3 13.5-7 23-20.7 23-36.9s-9.5-29.9-23-36.9zM512 224c0-53-43-96-96-96-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.1 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h43.4c3.6-8 8.4-15.4 14.8-21.8 13.5-13.5 31.5-21.1 50.8-21.3 13.5-13.2 31.7-20.9 51-20.9s37.5 7.7 51 20.9c19.3.2 37.3 7.8 50.8 21.3 6.4 6.4 11.3 13.8 14.8 21.8H416c53 0 96-43 96-96z"],"cloud-moon":[576,512,[],"f6c3","M342.8 352.7c5.7-9.6 9.2-20.7 9.2-32.7 0-35.3-28.7-64-64-64-17.2 0-32.8 6.9-44.3 17.9-16.3-29.6-47.5-49.9-83.7-49.9-53 0-96 43-96 96 0 2 .5 3.8.6 5.7C27.1 338.8 0 374.1 0 416c0 53 43 96 96 96h240c44.2 0 80-35.8 80-80 0-41.9-32.3-75.8-73.2-79.3zm222.5-54.3c-93.1 17.7-178.5-53.7-178.5-147.7 0-54.2 29-104 76.1-130.8 7.3-4.1 5.4-15.1-2.8-16.7C448.4 1.1 436.7 0 425 0 319.1 0 233.1 85.9 233.1 192c0 8.5.7 16.8 1.8 25 5.9 4.3 11.6 8.9 16.7 14.2 11.4-4.7 23.7-7.2 36.4-7.2 52.9 0 96 43.1 96 96 0 3.6-.2 7.2-.6 10.7 23.6 10.8 42.4 29.5 53.5 52.6 54.4-3.4 103.7-29.3 137.1-70.4 5.3-6.5-.5-16.1-8.7-14.5z"],"cloud-moon-rain":[576,512,[],"f73c","M350.5 225.5c-6.9-37.2-39.3-65.5-78.5-65.5-12.3 0-23.9 3-34.3 8-17.4-24.1-45.6-40-77.7-40-53 0-96 43-96 96 0 .5.2 1.1.2 1.6C27.6 232.9 0 265.2 0 304c0 44.2 35.8 80 80 80h256c44.2 0 80-35.8 80-80 0-39.2-28.2-71.7-65.5-78.5zm217.4-1.7c-70.4 13.3-135-40.3-135-110.8 0-40.6 21.9-78 57.5-98.1 5.5-3.1 4.1-11.4-2.1-12.5C479.6.8 470.7 0 461.8 0c-77.9 0-141.1 61.2-144.4 137.9 26.7 11.9 48.2 33.8 58.9 61.7 37.1 14.3 64 47.4 70.2 86.8 5.1.5 10 1.5 15.2 1.5 44.7 0 85.6-20.2 112.6-53.3 4.2-4.8-.2-12-6.4-10.8zM364.5 418.1c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8z"],"cloud-rain":[512,512,[],"f73d","M416 128c-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.1 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96zM88 374.2c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0zm160 0c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0zm160 0c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0z"],"cloud-showers-heavy":[512,512,[],"f740","M183.9 370.1c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm96 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm-192 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm384 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm-96 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zM416 128c-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.2 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96z"],"cloud-sun":[640,512,[],"f6c4","M575.2 325.7c.2-1.9.8-3.7.8-5.6 0-35.3-28.7-64-64-64-12.6 0-24.2 3.8-34.1 10-17.6-38.8-56.5-66-101.9-66-61.8 0-112 50.1-112 112 0 3 .7 5.8.9 8.7-49.6 3.7-88.9 44.7-88.9 95.3 0 53 43 96 96 96h272c53 0 96-43 96-96 0-42.1-27.2-77.4-64.8-90.4zm-430.4-22.6c-43.7-43.7-43.7-114.7 0-158.3 43.7-43.7 114.7-43.7 158.4 0 9.7 9.7 16.9 20.9 22.3 32.7 9.8-3.7 20.1-6 30.7-7.5L386 81.1c4-11.9-7.3-23.1-19.2-19.2L279 91.2 237.5 8.4C232-2.8 216-2.8 210.4 8.4L169 91.2 81.1 61.9C69.3 58 58 69.3 61.9 81.1l29.3 87.8-82.8 41.5c-11.2 5.6-11.2 21.5 0 27.1l82.8 41.4-29.3 87.8c-4 11.9 7.3 23.1 19.2 19.2l76.1-25.3c6.1-12.4 14-23.7 23.6-33.5-13.1-5.4-25.4-13.4-36-24zm-4.8-79.2c0 40.8 29.3 74.8 67.9 82.3 8-4.7 16.3-8.8 25.2-11.7 5.4-44.3 31-82.5 67.4-105C287.3 160.4 258 140 224 140c-46.3 0-84 37.6-84 83.9z"],"cloud-sun-rain":[576,512,[],"f743","M510.5 225.5c-6.9-37.2-39.3-65.5-78.5-65.5-12.3 0-23.9 3-34.3 8-17.4-24.1-45.6-40-77.7-40-53 0-96 43-96 96 0 .5.2 1.1.2 1.6C187.6 233 160 265.2 160 304c0 44.2 35.8 80 80 80h256c44.2 0 80-35.8 80-80 0-39.2-28.2-71.7-65.5-78.5zm-386.4 34.4c-37.4-37.4-37.4-98.3 0-135.8 34.6-34.6 89.1-36.8 126.7-7.4 20-12.9 43.6-20.7 69.2-20.7.7 0 1.3.2 2 .2l8.9-26.7c3.4-10.2-6.3-19.8-16.5-16.4l-75.3 25.1-35.5-71c-4.8-9.6-18.5-9.6-23.3 0l-35.5 71-75.3-25.1c-10.2-3.4-19.8 6.3-16.4 16.5l25.1 75.3-71 35.5c-9.6 4.8-9.6 18.5 0 23.3l71 35.5-25.1 75.3c-3.4 10.2 6.3 19.8 16.5 16.5l59.2-19.7c-.2-2.4-.7-4.7-.7-7.2 0-12.5 2.3-24.5 6.2-35.9-3.6-2.7-7.1-5.2-10.2-8.3zm69.8-58c4.3-24.5 15.8-46.4 31.9-64-9.8-6.2-21.4-9.9-33.8-9.9-35.3 0-64 28.7-64 64 0 18.7 8.2 35.4 21.1 47.1 11.3-15.9 26.6-28.9 44.8-37.2zm330.6 216.2c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8z"],"cloud-upload-alt":[640,512,[],"f382","M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zM393.4 288H328v112c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V288h-65.4c-14.3 0-21.4-17.2-11.3-27.3l105.4-105.4c6.2-6.2 16.4-6.2 22.6 0l105.4 105.4c10.1 10.1 2.9 27.3-11.3 27.3z"],cocktail:[576,512,[],"f561","M296 464h-56V338.78l168.74-168.73c15.52-15.52 4.53-42.05-17.42-42.05H24.68c-21.95 0-32.94 26.53-17.42 42.05L176 338.78V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM432 0c-62.61 0-115.35 40.2-135.18 96h52.54c16.65-28.55 47.27-48 82.64-48 52.93 0 96 43.06 96 96s-43.07 96-96 96c-14.04 0-27.29-3.2-39.32-8.64l-35.26 35.26C379.23 279.92 404.59 288 432 288c79.53 0 144-64.47 144-144S511.53 0 432 0z"],code:[640,512,[],"f121","M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z"],"code-branch":[384,512,[],"f126","M384 144c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 36.4 24.3 67.1 57.5 76.8-.6 16.1-4.2 28.5-11 36.9-15.4 19.2-49.3 22.4-85.2 25.7-28.2 2.6-57.4 5.4-81.3 16.9v-144c32.5-10.2 56-40.5 56-76.3 0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3v199.3C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-34-21.2-63.1-51.2-74.6 3.1-5.2 7.8-9.8 14.9-13.4 16.2-8.2 40.4-10.4 66.1-12.8 42.2-3.9 90-8.4 118.2-43.4 14-17.4 21.1-39.8 21.6-67.9 31.6-10.8 54.4-40.7 54.4-75.9zM80 64c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm0 384c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm224-320c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16z"],coffee:[640,512,[],"f0f4","M192 384h192c53 0 96-43 96-96h32c70.6 0 128-57.4 128-128S582.6 32 512 32H120c-13.3 0-24 10.7-24 24v232c0 53 43 96 96 96zM512 96c35.3 0 64 28.7 64 64s-28.7 64-64 64h-32V96h32zm47.7 384H48.3c-47.6 0-61-64-36-64h583.3c25 0 11.8 64-35.9 64z"],cog:[512,512,[],"f013","M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"],cogs:[640,512,[],"f085","M512.1 191l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0L552 6.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zm-10.5-58.8c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.7-82.4 14.3-52.8 52.8zM386.3 286.1l33.7 16.8c10.1 5.8 14.5 18.1 10.5 29.1-8.9 24.2-26.4 46.4-42.6 65.8-7.4 8.9-20.2 11.1-30.3 5.3l-29.1-16.8c-16 13.7-34.6 24.6-54.9 31.7v33.6c0 11.6-8.3 21.6-19.7 23.6-24.6 4.2-50.4 4.4-75.9 0-11.5-2-20-11.9-20-23.6V418c-20.3-7.2-38.9-18-54.9-31.7L74 403c-10 5.8-22.9 3.6-30.3-5.3-16.2-19.4-33.3-41.6-42.2-65.7-4-10.9.4-23.2 10.5-29.1l33.3-16.8c-3.9-20.9-3.9-42.4 0-63.4L12 205.8c-10.1-5.8-14.6-18.1-10.5-29 8.9-24.2 26-46.4 42.2-65.8 7.4-8.9 20.2-11.1 30.3-5.3l29.1 16.8c16-13.7 34.6-24.6 54.9-31.7V57.1c0-11.5 8.2-21.5 19.6-23.5 24.6-4.2 50.5-4.4 76-.1 11.5 2 20 11.9 20 23.6v33.6c20.3 7.2 38.9 18 54.9 31.7l29.1-16.8c10-5.8 22.9-3.6 30.3 5.3 16.2 19.4 33.2 41.6 42.1 65.8 4 10.9.1 23.2-10 29.1l-33.7 16.8c3.9 21 3.9 42.5 0 63.5zm-117.6 21.1c59.2-77-28.7-164.9-105.7-105.7-59.2 77 28.7 164.9 105.7 105.7zm243.4 182.7l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0l8.2-14.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zM501.6 431c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.6-82.4 14.3-52.8 52.8z"],coins:[512,512,[],"f51e","M0 405.3V448c0 35.3 86 64 192 64s192-28.7 192-64v-42.7C342.7 434.4 267.2 448 192 448S41.3 434.4 0 405.3zM320 128c106 0 192-28.7 192-64S426 0 320 0 128 28.7 128 64s86 64 192 64zM0 300.4V352c0 35.3 86 64 192 64s192-28.7 192-64v-51.6c-41.3 34-116.9 51.6-192 51.6S41.3 334.4 0 300.4zm416 11c57.3-11.1 96-31.7 96-55.4v-42.7c-23.2 16.4-57.3 27.6-96 34.5v63.6zM192 160C86 160 0 195.8 0 240s86 80 192 80 192-35.8 192-80-86-80-192-80zm219.3 56.3c60-10.8 100.7-32 100.7-56.3v-42.7c-35.5 25.1-96.5 38.6-160.7 41.8 29.5 14.3 51.2 33.5 60 57.2z"],columns:[512,512,[],"f0db","M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z"],comment:[512,512,[],"f075","M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32z"],"comment-alt":[512,512,[],"f27a","M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 9.8 11.2 15.5 19.1 9.7L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64z"],"comment-dollar":[512,512,[],"f651","M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95.01 57.02 130.74C44.46 421.05 2.7 465.97 2.2 466.5A7.995 7.995 0 0 0 8 480c66.26 0 115.99-31.75 140.6-51.38C181.29 440.93 217.59 448 256 448c141.38 0 256-93.12 256-208S397.38 32 256 32zm24 302.44V352c0 8.84-7.16 16-16 16h-16c-8.84 0-16-7.16-16-16v-17.73c-11.42-1.35-22.28-5.19-31.78-11.46-6.22-4.11-6.82-13.11-1.55-18.38l17.52-17.52c3.74-3.74 9.31-4.24 14.11-2.03 3.18 1.46 6.66 2.22 10.26 2.22h32.78c4.66 0 8.44-3.78 8.44-8.42 0-3.75-2.52-7.08-6.12-8.11l-50.07-14.3c-22.25-6.35-40.01-24.71-42.91-47.67-4.05-32.07 19.03-59.43 49.32-63.05V128c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v17.73c11.42 1.35 22.28 5.19 31.78 11.46 6.22 4.11 6.82 13.11 1.55 18.38l-17.52 17.52c-3.74 3.74-9.31 4.24-14.11 2.03a24.516 24.516 0 0 0-10.26-2.22h-32.78c-4.66 0-8.44 3.78-8.44 8.42 0 3.75 2.52 7.08 6.12 8.11l50.07 14.3c22.25 6.36 40.01 24.71 42.91 47.67 4.05 32.06-19.03 59.42-49.32 63.04z"],"comment-dots":[512,512,[],"f4ad","M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128 272c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"],"comment-medical":[512,512,[],"f7f5","M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95 57 130.74C44.46 421.05 2.7 466 2.2 466.5A8 8 0 0 0 8 480c66.26 0 116-31.75 140.6-51.38A304.66 304.66 0 0 0 256 448c141.39 0 256-93.12 256-208S397.39 32 256 32zm96 232a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8z"],"comment-slash":[640,512,[],"f4b3","M64 240c0 49.6 21.4 95 57 130.7-12.6 50.3-54.3 95.2-54.8 95.8-2.2 2.3-2.8 5.7-1.5 8.7 1.3 2.9 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 27.4 0 53.7-3.6 78.4-10L72.9 186.4c-5.6 17.1-8.9 35-8.9 53.6zm569.8 218.1l-114.4-88.4C554.6 334.1 576 289.2 576 240c0-114.9-114.6-208-256-208-65.1 0-124.2 20.1-169.4 52.7L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z"],comments:[576,512,[],"f086","M416 192c0-88.4-93.1-160-208-160S0 103.6 0 192c0 34.3 14.1 65.9 38 92-13.4 30.2-35.5 54.2-35.8 54.5-2.2 2.3-2.8 5.7-1.5 8.7S4.8 352 8 352c36.6 0 66.9-12.3 88.7-25 32.2 15.7 70.3 25 111.3 25 114.9 0 208-71.6 208-160zm122 220c23.9-26 38-57.7 38-92 0-66.9-53.5-124.2-129.3-148.1.9 6.6 1.3 13.3 1.3 20.1 0 105.9-107.7 192-240 192-10.8 0-21.3-.8-31.7-1.9C207.8 439.6 281.8 480 368 480c41 0 79.1-9.2 111.3-25 21.8 12.7 52.1 25 88.7 25 3.2 0 6.1-1.9 7.3-4.8 1.3-2.9.7-6.3-1.5-8.7-.3-.3-22.4-24.2-35.8-54.5z"],"comments-dollar":[576,512,[],"f653","M416 192c0-88.37-93.12-160-208-160S0 103.63 0 192c0 34.27 14.13 65.95 37.97 91.98C24.61 314.22 2.52 338.16 2.2 338.5A7.995 7.995 0 0 0 8 352c36.58 0 66.93-12.25 88.73-24.98C128.93 342.76 167.02 352 208 352c114.88 0 208-71.63 208-160zm-224 96v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V96c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07V288c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm346.01 123.99C561.87 385.96 576 354.27 576 320c0-66.94-53.49-124.2-129.33-148.07.86 6.6 1.33 13.29 1.33 20.07 0 105.87-107.66 192-240 192-10.78 0-21.32-.77-31.73-1.88C207.8 439.63 281.77 480 368 480c40.98 0 79.07-9.24 111.27-24.98C501.07 467.75 531.42 480 568 480c3.2 0 6.09-1.91 7.34-4.84 1.27-2.94.66-6.34-1.55-8.67-.31-.33-22.42-24.24-35.78-54.5z"],"compact-disc":[496,512,[],"f51f","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 256H56c0-105.9 86.1-192 192-192v32c-88.2 0-160 71.8-160 160zm160 96c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96zm0-128c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z"],compass:[496,512,[],"f14e","M225.38 233.37c-12.5 12.5-12.5 32.76 0 45.25 12.49 12.5 32.76 12.5 45.25 0 12.5-12.5 12.5-32.76 0-45.25-12.5-12.49-32.76-12.49-45.25 0zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm126.14 148.05L308.17 300.4a31.938 31.938 0 0 1-15.77 15.77l-144.34 65.97c-16.65 7.61-33.81-9.55-26.2-26.2l65.98-144.35a31.938 31.938 0 0 1 15.77-15.77l144.34-65.97c16.65-7.6 33.8 9.55 26.19 26.2z"],compress:[448,512,[],"f066","M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"],"compress-alt":[448,512,[],"f422","M4.686 427.314L104 328l-32.922-31.029C55.958 281.851 66.666 256 88.048 256h112C213.303 256 224 266.745 224 280v112c0 21.382-25.803 32.09-40.922 16.971L152 376l-99.314 99.314c-6.248 6.248-16.379 6.248-22.627 0L4.686 449.941c-6.248-6.248-6.248-16.379 0-22.627zM443.314 84.686L344 184l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C234.697 256 224 245.255 224 232V120c0-21.382 25.803-32.09 40.922-16.971L296 136l99.314-99.314c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.248 6.248 6.248 16.379 0 22.627z"],"compress-arrows-alt":[512,512,[],"f78c","M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z"],"concierge-bell":[512,512,[],"f562","M288 130.54V112h16c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h16v18.54C115.49 146.11 32 239.18 32 352h448c0-112.82-83.49-205.89-192-221.46zM496 384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"],cookie:[512,512,[],"f563","M510.37 254.79l-12.08-76.26a132.493 132.493 0 0 0-37.16-72.95l-54.76-54.75c-19.73-19.72-45.18-32.7-72.71-37.05l-76.7-12.15c-27.51-4.36-55.69.11-80.52 12.76L107.32 49.6a132.25 132.25 0 0 0-57.79 57.8l-35.1 68.88a132.602 132.602 0 0 0-12.82 80.94l12.08 76.27a132.493 132.493 0 0 0 37.16 72.95l54.76 54.75a132.087 132.087 0 0 0 72.71 37.05l76.7 12.14c27.51 4.36 55.69-.11 80.52-12.75l69.12-35.21a132.302 132.302 0 0 0 57.79-57.8l35.1-68.87c12.71-24.96 17.2-53.3 12.82-80.96zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"],"cookie-bite":[512,512,[],"f564","M510.52 255.82c-69.97-.85-126.47-57.69-126.47-127.86-70.17 0-127-56.49-127.86-126.45-27.26-4.14-55.13.3-79.72 12.82l-69.13 35.22a132.221 132.221 0 0 0-57.79 57.81l-35.1 68.88a132.645 132.645 0 0 0-12.82 80.95l12.08 76.27a132.521 132.521 0 0 0 37.16 72.96l54.77 54.76a132.036 132.036 0 0 0 72.71 37.06l76.71 12.15c27.51 4.36 55.7-.11 80.53-12.76l69.13-35.21a132.273 132.273 0 0 0 57.79-57.81l35.1-68.88c12.56-24.64 17.01-52.58 12.91-79.91zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"],copy:[448,512,[],"f0c5","M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z"],copyright:[512,512,[],"f1f9","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm117.134 346.753c-1.592 1.867-39.776 45.731-109.851 45.731-84.692 0-144.484-63.26-144.484-145.567 0-81.303 62.004-143.401 143.762-143.401 66.957 0 101.965 37.315 103.422 38.904a12 12 0 0 1 1.238 14.623l-22.38 34.655c-4.049 6.267-12.774 7.351-18.234 2.295-.233-.214-26.529-23.88-61.88-23.88-46.116 0-73.916 33.575-73.916 76.082 0 39.602 25.514 79.692 74.277 79.692 38.697 0 65.28-28.338 65.544-28.625 5.132-5.565 14.059-5.033 18.508 1.053l24.547 33.572a12.001 12.001 0 0 1-.553 14.866z"],couch:[640,512,[],"f4b8","M160 224v64h320v-64c0-35.3 28.7-64 64-64h32c0-53-43-96-96-96H160c-53 0-96 43-96 96h32c35.3 0 64 28.7 64 64zm416-32h-32c-17.7 0-32 14.3-32 32v96H128v-96c0-17.7-14.3-32-32-32H64c-35.3 0-64 28.7-64 64 0 23.6 13 44 32 55.1V432c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-16h384v16c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V311.1c19-11.1 32-31.5 32-55.1 0-35.3-28.7-64-64-64z"],"credit-card":[576,512,[],"f09d","M0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V256H0v176zm192-68c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-40zm-128 0c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM576 80v48H0V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48z"],crop:[512,512,[],"f125","M488 352h-40V109.25l59.31-59.31c6.25-6.25 6.25-16.38 0-22.63L484.69 4.69c-6.25-6.25-16.38-6.25-22.63 0L402.75 64H192v96h114.75L160 306.75V24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v264c0 13.25 10.75 24 24 24h232v-96H205.25L352 205.25V488c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z"],"crop-alt":[512,512,[],"f565","M488 352h-40V96c0-17.67-14.33-32-32-32H192v96h160v328c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24zM160 24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v256c0 17.67 14.33 32 32 32h224v-96H160V24z"],cross:[384,512,[],"f654","M352 128h-96V32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h96v224c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V256h96c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z"],crosshairs:[512,512,[],"f05b","M500 224h-30.364C455.724 130.325 381.675 56.276 288 42.364V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v30.364C130.325 56.276 56.276 130.325 42.364 224H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h30.364C56.276 381.675 130.325 455.724 224 469.636V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-30.364C381.675 455.724 455.724 381.675 469.636 288H500c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zM288 404.634V364c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40.634C165.826 392.232 119.783 346.243 107.366 288H148c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40.634C119.768 165.826 165.757 119.783 224 107.366V148c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40.634C346.174 119.768 392.217 165.757 404.634 224H364c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40.634C392.232 346.174 346.243 392.217 288 404.634zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z"],crow:[640,512,[],"f520","M544 32h-16.36C513.04 12.68 490.09 0 464 0c-44.18 0-80 35.82-80 80v20.98L12.09 393.57A30.216 30.216 0 0 0 0 417.74c0 22.46 23.64 37.07 43.73 27.03L165.27 384h96.49l44.41 120.1c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38L312.94 384H352c1.91 0 3.76-.23 5.66-.29l44.51 120.38c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38l-41.24-111.53C485.74 352.8 544 279.26 544 192v-80l96-16c0-35.35-42.98-64-96-64zm-80 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"],crown:[640,512,[],"f521","M528 448H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h416c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm64-320c-26.5 0-48 21.5-48 48 0 7.1 1.6 13.7 4.4 19.8L476 239.2c-15.4 9.2-35.3 4-44.2-11.6L350.3 85C361 76.2 368 63 368 48c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 15 7 28.2 17.7 37l-81.5 142.6c-8.9 15.6-28.9 20.8-44.2 11.6l-72.3-43.4c2.7-6 4.4-12.7 4.4-19.8 0-26.5-21.5-48-48-48S0 149.5 0 176s21.5 48 48 48c2.6 0 5.2-.4 7.7-.8L128 416h384l72.3-192.8c2.5.4 5.1.8 7.7.8 26.5 0 48-21.5 48-48s-21.5-48-48-48z"],crutch:[512,512,[],"f7f7","M507.31 185.71l-181-181a16 16 0 0 0-22.62 0L281 27.31a16 16 0 0 0 0 22.63l181 181a16 16 0 0 0 22.63 0l22.62-22.63a16 16 0 0 0 .06-22.6zm-179.54 66.41l-67.89-67.89 55.1-55.1-45.25-45.25-109.67 109.67a96.08 96.08 0 0 0-25.67 46.29L106.65 360.1l-102 102a16 16 0 0 0 0 22.63l22.62 22.62a16 16 0 0 0 22.63 0l102-102 120.25-27.75a95.88 95.88 0 0 0 46.29-25.65l109.68-109.68L382.87 197zm-54.57 54.57a32 32 0 0 1-15.45 8.54l-79.3 18.32 18.3-79.3a32.22 32.22 0 0 1 8.56-15.45l9.31-9.31 67.89 67.89z"],cube:[512,512,[],"f1b2","M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z"],cubes:[512,512,[],"f1b3","M488.6 250.2L392 214V105.5c0-15-9.3-28.4-23.4-33.7l-100-37.5c-8.1-3.1-17.1-3.1-25.3 0l-100 37.5c-14.1 5.3-23.4 18.7-23.4 33.7V214l-96.6 36.2C9.3 255.5 0 268.9 0 283.9V394c0 13.6 7.7 26.1 19.9 32.2l100 50c10.1 5.1 22.1 5.1 32.2 0l103.9-52 103.9 52c10.1 5.1 22.1 5.1 32.2 0l100-50c12.2-6.1 19.9-18.6 19.9-32.2V283.9c0-15-9.3-28.4-23.4-33.7zM358 214.8l-85 31.9v-68.2l85-37v73.3zM154 104.1l102-38.2 102 38.2v.6l-102 41.4-102-41.4v-.6zm84 291.1l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6zm240 112l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6z"],cut:[448,512,[],"f0c4","M278.06 256L444.48 89.57c4.69-4.69 4.69-12.29 0-16.97-32.8-32.8-85.99-32.8-118.79 0L210.18 188.12l-24.86-24.86c4.31-10.92 6.68-22.81 6.68-35.26 0-53.02-42.98-96-96-96S0 74.98 0 128s42.98 96 96 96c4.54 0 8.99-.32 13.36-.93L142.29 256l-32.93 32.93c-4.37-.61-8.83-.93-13.36-.93-53.02 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96c0-12.45-2.37-24.34-6.68-35.26l24.86-24.86L325.69 439.4c32.8 32.8 85.99 32.8 118.79 0 4.69-4.68 4.69-12.28 0-16.97L278.06 256zM96 160c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32zm0 256c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z"],database:[448,512,[],"f1c0","M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z"],deaf:[512,512,[],"f2a4","M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm268.485-52.201L480.2 3.515c-4.687-4.686-12.284-4.686-16.971 0L376.2 90.544c-4.686 4.686-4.686 12.284 0 16.971l28.285 28.285c4.686 4.686 12.284 4.686 16.97 0l87.03-87.029c4.687-4.688 4.687-12.286 0-16.972zM168.97 314.745c-4.686-4.686-12.284-4.686-16.97 0L3.515 463.23c-4.686 4.686-4.686 12.284 0 16.971L31.8 508.485c4.687 4.686 12.284 4.686 16.971 0L197.256 360c4.686-4.686 4.686-12.284 0-16.971l-28.286-28.284z"],democrat:[640,512,[],"f747","M637.3 256.9l-19.6-29.4c-28.2-42.3-75.3-67.5-126.1-67.5H256l-81.2-81.2c20.1-20.1 22.6-51.1 7.5-73.9-3.4-5.2-10.8-5.9-15.2-1.5l-41.8 41.8L82.4 2.4c-3.6-3.6-9.6-3-12.4 1.2-12.3 18.6-10.3 44 6.1 60.4 3.3 3.3 7.3 5.3 11.3 7.5-2.2 1.7-4.7 3.1-6.4 5.4L6.4 176.2c-7.3 9.7-8.4 22.7-3 33.5l14.3 28.6c5.4 10.8 16.5 17.7 28.6 17.7h31c8.5 0 16.6-3.4 22.6-9.4L138 212l54 108h352v-77.8c16.2 12.2 18.3 17.6 40.1 50.3 4.9 7.4 14.8 9.3 22.2 4.4l26.6-17.7c7.3-5 9.3-14.9 4.4-22.3zm-341.1-13.6l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L256 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zm112 0l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L368 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zm112 0l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L480 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zM192 496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80h160v80c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V352H192v144z"],desktop:[576,512,[],"f108","M528 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h192l-16 48h-72c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24s-10.7-24-24-24h-72l-16-48h192c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h448v288z"],dharmachakra:[512,512,[],"f655","M495 225.06l-17.22 1.08c-5.27-39.49-20.79-75.64-43.86-105.84l12.95-11.43c6.92-6.11 7.25-16.79.73-23.31L426.44 64.4c-6.53-6.53-17.21-6.19-23.31.73L391.7 78.07c-30.2-23.06-66.35-38.58-105.83-43.86L286.94 17c.58-9.21-6.74-17-15.97-17h-29.94c-9.23 0-16.54 7.79-15.97 17l1.08 17.22c-39.49 5.27-75.64 20.79-105.83 43.86l-11.43-12.95c-6.11-6.92-16.79-7.25-23.31-.73L64.4 85.56c-6.53 6.53-6.19 17.21.73 23.31l12.95 11.43c-23.06 30.2-38.58 66.35-43.86 105.84L17 225.06c-9.21-.58-17 6.74-17 15.97v29.94c0 9.23 7.79 16.54 17 15.97l17.22-1.08c5.27 39.49 20.79 75.64 43.86 105.83l-12.95 11.43c-6.92 6.11-7.25 16.79-.73 23.31l21.17 21.17c6.53 6.53 17.21 6.19 23.31-.73l11.43-12.95c30.2 23.06 66.35 38.58 105.84 43.86L225.06 495c-.58 9.21 6.74 17 15.97 17h29.94c9.23 0 16.54-7.79 15.97-17l-1.08-17.22c39.49-5.27 75.64-20.79 105.84-43.86l11.43 12.95c6.11 6.92 16.79 7.25 23.31.73l21.17-21.17c6.53-6.53 6.19-17.21-.73-23.31l-12.95-11.43c23.06-30.2 38.58-66.35 43.86-105.83l17.22 1.08c9.21.58 17-6.74 17-15.97v-29.94c-.01-9.23-7.8-16.54-17.01-15.97zM281.84 98.61c24.81 4.07 47.63 13.66 67.23 27.78l-42.62 48.29c-8.73-5.44-18.32-9.54-28.62-11.95l4.01-64.12zm-51.68 0l4.01 64.12c-10.29 2.41-19.89 6.52-28.62 11.95l-42.62-48.29c19.6-14.12 42.42-23.71 67.23-27.78zm-103.77 64.33l48.3 42.61c-5.44 8.73-9.54 18.33-11.96 28.62l-64.12-4.01c4.07-24.81 13.66-47.62 27.78-67.22zm-27.78 118.9l64.12-4.01c2.41 10.29 6.52 19.89 11.95 28.62l-48.29 42.62c-14.12-19.6-23.71-42.42-27.78-67.23zm131.55 131.55c-24.81-4.07-47.63-13.66-67.23-27.78l42.61-48.3c8.73 5.44 18.33 9.54 28.62 11.96l-4 64.12zM256 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm25.84 125.39l-4.01-64.12c10.29-2.41 19.89-6.52 28.62-11.96l42.61 48.3c-19.6 14.12-42.41 23.71-67.22 27.78zm103.77-64.33l-48.29-42.62c5.44-8.73 9.54-18.32 11.95-28.62l64.12 4.01c-4.07 24.82-13.66 47.64-27.78 67.23zm-36.34-114.89c-2.41-10.29-6.52-19.89-11.96-28.62l48.3-42.61c14.12 19.6 23.71 42.42 27.78 67.23l-64.12 4z"],diagnoses:[640,512,[],"f470","M496 256c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm-176-80c48.5 0 88-39.5 88-88S368.5 0 320 0s-88 39.5-88 88 39.5 88 88 88zM59.8 364c10.2 15.3 29.3 17.8 42.9 9.8 16.2-9.6 56.2-31.7 105.3-48.6V416h224v-90.7c49.1 16.8 89.1 39 105.3 48.6 13.6 8 32.7 5.3 42.9-9.8l17.8-26.7c8.8-13.2 7.6-34.6-10-45.1-11.9-7.1-29.7-17-51.1-27.4-28.1 46.1-99.4 17.8-87.7-35.1C409.3 217.2 365.1 208 320 208c-57 0-112.9 14.5-160 32.2-.2 40.2-47.6 63.3-79.2 36-11.2 6-21.3 11.6-28.7 16-17.6 10.5-18.8 31.8-10 45.1L59.8 364zM368 344c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-160 8c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm512 192H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z"],dice:[640,512,[],"f522","M592 192H473.26c12.69 29.59 7.12 65.2-17 89.32L320 417.58V464c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48V240c0-26.51-21.49-48-48-48zM480 376c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm-46.37-186.7L258.7 14.37c-19.16-19.16-50.23-19.16-69.39 0L14.37 189.3c-19.16 19.16-19.16 50.23 0 69.39L189.3 433.63c19.16 19.16 50.23 19.16 69.39 0L433.63 258.7c19.16-19.17 19.16-50.24 0-69.4zM96 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"],"dice-d20":[480,512,[],"f6cf","M106.75 215.06L1.2 370.95c-3.08 5 .1 11.5 5.93 12.14l208.26 22.07-108.64-190.1zM7.41 315.43L82.7 193.08 6.06 147.1c-2.67-1.6-6.06.32-6.06 3.43v162.81c0 4.03 5.29 5.53 7.41 2.09zM18.25 423.6l194.4 87.66c5.3 2.45 11.35-1.43 11.35-7.26v-65.67l-203.55-22.3c-4.45-.5-6.23 5.59-2.2 7.57zm81.22-257.78L179.4 22.88c4.34-7.06-3.59-15.25-10.78-11.14L17.81 110.35c-2.47 1.62-2.39 5.26.13 6.78l81.53 48.69zM240 176h109.21L253.63 7.62C250.5 2.54 245.25 0 240 0s-10.5 2.54-13.63 7.62L130.79 176H240zm233.94-28.9l-76.64 45.99 75.29 122.35c2.11 3.44 7.41 1.94 7.41-2.1V150.53c0-3.11-3.39-5.03-6.06-3.43zm-93.41 18.72l81.53-48.7c2.53-1.52 2.6-5.16.13-6.78l-150.81-98.6c-7.19-4.11-15.12 4.08-10.78 11.14l79.93 142.94zm79.02 250.21L256 438.32v65.67c0 5.84 6.05 9.71 11.35 7.26l194.4-87.66c4.03-1.97 2.25-8.06-2.2-7.56zm-86.3-200.97l-108.63 190.1 208.26-22.07c5.83-.65 9.01-7.14 5.93-12.14L373.25 215.06zM240 208H139.57L240 383.75 340.43 208H240z"],"dice-d6":[448,512,[],"f6d1","M422.19 109.95L256.21 9.07c-19.91-12.1-44.52-12.1-64.43 0L25.81 109.95c-5.32 3.23-5.29 11.27.06 14.46L224 242.55l198.14-118.14c5.35-3.19 5.38-11.22.05-14.46zm13.84 44.63L240 271.46v223.82c0 12.88 13.39 20.91 24.05 14.43l152.16-92.48c19.68-11.96 31.79-33.94 31.79-57.7v-197.7c0-6.41-6.64-10.43-11.97-7.25zM0 161.83v197.7c0 23.77 12.11 45.74 31.79 57.7l152.16 92.47c10.67 6.48 24.05-1.54 24.05-14.43V271.46L11.97 154.58C6.64 151.4 0 155.42 0 161.83z"],"dice-five":[448,512,[],"f523","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"],"dice-four":[448,512,[],"f524","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"],"dice-one":[448,512,[],"f525","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM224 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"],"dice-six":[448,512,[],"f526","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"],"dice-three":[448,512,[],"f527","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"],"dice-two":[448,512,[],"f528","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"],"digital-tachograph":[640,512,[],"f566","M608 96H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128c0-17.67-14.33-32-32-32zM304 352c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8zM72 288v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H80c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm40-64c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-48c0-8.84 7.16-16 16-16h208c8.84 0 16 7.16 16 16v48zm272 128c0 4.42-3.58 8-8 8H344c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8z"],directions:[512,512,[],"f5eb","M502.61 233.32L278.68 9.39c-12.52-12.52-32.83-12.52-45.36 0L9.39 233.32c-12.52 12.53-12.52 32.83 0 45.36l223.93 223.93c12.52 12.53 32.83 12.53 45.36 0l223.93-223.93c12.52-12.53 12.52-32.83 0-45.36zm-100.98 12.56l-84.21 77.73c-5.12 4.73-13.43 1.1-13.43-5.88V264h-96v64c0 4.42-3.58 8-8 8h-32c-4.42 0-8-3.58-8-8v-80c0-17.67 14.33-32 32-32h112v-53.73c0-6.97 8.3-10.61 13.43-5.88l84.21 77.73c3.43 3.17 3.43 8.59 0 11.76z"],disease:[512,512,[],"f7fa","M472.29 195.9l-67.06-23c-19.28-6.6-33.54-20.92-38.14-38.31l-16-60.45c-11.58-43.77-76.57-57.13-110-22.62L195 99.24c-13.26 13.71-33.54 20.93-54.2 19.31l-71.9-5.62c-52-4.07-86.93 44.89-59 82.84l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24l-28.43 57C4 396.67 47.46 440.29 98.11 429.23l70-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101 7.57 104.45-37.22l4.7-61.86c1.35-17.8 12.8-33.87 30.63-43l62-31.74c44.84-22.96 39.55-80.17-8.99-96.79zM160 256a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm128 96a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm16-128a16 16 0 1 1 16-16 16 16 0 0 1-16 16z"],divide:[448,512,[],"f529","M224 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm0-192c35.35 0 64-28.65 64-64s-28.65-64-64-64-64 28.65-64 64 28.65 64 64 64zm192 48H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"],dizzy:[496,512,[],"f567","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-96 206.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L174.6 192l28.7 28.7c15.2 15.2-7.9 37.4-22.6 22.6L152 214.6zM248 416c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm147.3-195.3c15.2 15.2-7.9 37.4-22.6 22.6L344 214.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L366.6 192l28.7 28.7z"],dna:[448,512,[],"f471","M.1 494.1c-1.1 9.5 6.3 17.8 15.9 17.8l32.3.1c8.1 0 14.9-5.9 16-13.9.7-4.9 1.8-11.1 3.4-18.1H380c1.6 6.9 2.9 13.2 3.5 18.1 1.1 8 7.9 14 16 13.9l32.3-.1c9.6 0 17.1-8.3 15.9-17.8-4.6-37.9-25.6-129-118.9-207.7-17.6 12.4-37.1 24.2-58.5 35.4 6.2 4.6 11.4 9.4 17 14.2H159.7c21.3-18.1 47-35.6 78.7-51.4C410.5 199.1 442.1 65.8 447.9 17.9 449 8.4 441.6.1 432 .1L399.6 0c-8.1 0-14.9 5.9-16 13.9-.7 4.9-1.8 11.1-3.4 18.1H67.8c-1.6-7-2.7-13.1-3.4-18.1-1.1-8-7.9-14-16-13.9L16.1.1C6.5.1-1 8.4.1 17.9 5.3 60.8 31.4 171.8 160 256 31.5 340.2 5.3 451.2.1 494.1zM224 219.6c-25.1-13.7-46.4-28.4-64.3-43.6h128.5c-17.8 15.2-39.1 30-64.2 43.6zM355.1 96c-5.8 10.4-12.8 21.1-21 32H114c-8.3-10.9-15.3-21.6-21-32h262.1zM92.9 416c5.8-10.4 12.8-21.1 21-32h219.4c8.3 10.9 15.4 21.6 21.2 32H92.9z"],dog:[576,512,[],"f6d3","M298.06,224,448,277.55V496a16,16,0,0,1-16,16H368a16,16,0,0,1-16-16V384H192V496a16,16,0,0,1-16,16H112a16,16,0,0,1-16-16V282.09C58.84,268.84,32,233.66,32,192a32,32,0,0,1,64,0,32.06,32.06,0,0,0,32,32ZM544,112v32a64,64,0,0,1-64,64H448v35.58L320,197.87V48c0-14.25,17.22-21.39,27.31-11.31L374.59,64h53.63c10.91,0,23.75,7.92,28.62,17.69L464,96h64A16,16,0,0,1,544,112Zm-112,0a16,16,0,1,0-16,16A16,16,0,0,0,432,112Z"],"dollar-sign":[288,512,[],"f155","M209.2 233.4l-108-31.6C88.7 198.2 80 186.5 80 173.5c0-16.3 13.2-29.5 29.5-29.5h66.3c12.2 0 24.2 3.7 34.2 10.5 6.1 4.1 14.3 3.1 19.5-2l34.8-34c7.1-6.9 6.1-18.4-1.8-24.5C238 74.8 207.4 64.1 176 64V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48h-2.5C45.8 64-5.4 118.7.5 183.6c4.2 46.1 39.4 83.6 83.8 96.6l102.5 30c12.5 3.7 21.2 15.3 21.2 28.3 0 16.3-13.2 29.5-29.5 29.5h-66.3C100 368 88 364.3 78 357.5c-6.1-4.1-14.3-3.1-19.5 2l-34.8 34c-7.1 6.9-6.1 18.4 1.8 24.5 24.5 19.2 55.1 29.9 86.5 30v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48.2c46.6-.9 90.3-28.6 105.7-72.7 21.5-61.6-14.6-124.8-72.5-141.7z"],dolly:[576,512,[],"f472","M294.2 277.7c18 5 34.7 13.4 49.5 24.7l161.5-53.8c8.4-2.8 12.9-11.9 10.1-20.2L454.9 47.2c-2.8-8.4-11.9-12.9-20.2-10.1l-61.1 20.4 33.1 99.4L346 177l-33.1-99.4-61.6 20.5c-8.4 2.8-12.9 11.9-10.1 20.2l53 159.4zm281 48.7L565 296c-2.8-8.4-11.9-12.9-20.2-10.1l-213.5 71.2c-17.2-22-43.6-36.4-73.5-37L158.4 21.9C154 8.8 141.8 0 128 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h88.9l92.2 276.7c-26.1 20.4-41.7 53.6-36 90.5 6.1 39.4 37.9 72.3 77.3 79.2 60.2 10.7 112.3-34.8 113.4-92.6l213.3-71.2c8.3-2.8 12.9-11.8 10.1-20.2zM256 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z"],"dolly-flatbed":[640,512,[],"f474","M208 320h384c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H448v128l-48-32-48 32V32H208c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16zm416 64H128V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h82.9c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H451c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H624c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z"],donate:[512,512,[],"f4b9","M256 416c114.9 0 208-93.1 208-208S370.9 0 256 0 48 93.1 48 208s93.1 208 208 208zM233.8 97.4V80.6c0-9.2 7.4-16.6 16.6-16.6h11.1c9.2 0 16.6 7.4 16.6 16.6v17c15.5.8 30.5 6.1 43 15.4 5.6 4.1 6.2 12.3 1.2 17.1L306 145.6c-3.8 3.7-9.5 3.8-14 1-5.4-3.4-11.4-5.1-17.8-5.1h-38.9c-9 0-16.3 8.2-16.3 18.3 0 8.2 5 15.5 12.1 17.6l62.3 18.7c25.7 7.7 43.7 32.4 43.7 60.1 0 34-26.4 61.5-59.1 62.4v16.8c0 9.2-7.4 16.6-16.6 16.6h-11.1c-9.2 0-16.6-7.4-16.6-16.6v-17c-15.5-.8-30.5-6.1-43-15.4-5.6-4.1-6.2-12.3-1.2-17.1l16.3-15.5c3.8-3.7 9.5-3.8 14-1 5.4 3.4 11.4 5.1 17.8 5.1h38.9c9 0 16.3-8.2 16.3-18.3 0-8.2-5-15.5-12.1-17.6l-62.3-18.7c-25.7-7.7-43.7-32.4-43.7-60.1.1-34 26.4-61.5 59.1-62.4zM480 352h-32.5c-19.6 26-44.6 47.7-73 64h63.8c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8h63.8c-28.4-16.3-53.3-38-73-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32z"],"door-closed":[640,512,[],"f52a","M624 448H512V50.8C512 22.78 490.47 0 464 0H175.99c-26.47 0-48 22.78-48 50.8V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM415.99 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32c.01 17.67-14.32 32-32 32z"],"door-open":[640,512,[],"f52b","M624 448h-80V113.45C544 86.19 522.47 64 496 64H384v64h96v384h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM312.24 1.01l-192 49.74C105.99 54.44 96 67.7 96 82.92V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h336V33.18c0-21.58-19.56-37.41-39.76-32.17zM264 288c-13.25 0-24-14.33-24-32s10.75-32 24-32 24 14.33 24 32-10.75 32-24 32z"],"dot-circle":[512,512,[],"f192","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm80 248c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80z"],dove:[512,512,[],"f4ba","M288 167.2v-28.1c-28.2-36.3-47.1-79.3-54.1-125.2-2.1-13.5-19-18.8-27.8-8.3-21.1 24.9-37.7 54.1-48.9 86.5 34.2 38.3 80 64.6 130.8 75.1zM400 64c-44.2 0-80 35.9-80 80.1v59.4C215.6 197.3 127 133 87 41.8c-5.5-12.5-23.2-13.2-29-.9C41.4 76 32 115.2 32 156.6c0 70.8 34.1 136.9 85.1 185.9 13.2 12.7 26.1 23.2 38.9 32.8l-143.9 36C1.4 414-3.4 426.4 2.6 435.7 20 462.6 63 508.2 155.8 512c8 .3 16-2.6 22.1-7.9l65.2-56.1H320c88.4 0 160-71.5 160-159.9V128l32-64H400zm0 96.1c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z"],download:[512,512,[],"f019","M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"],"drafting-compass":[512,512,[],"f568","M457.01 344.42c-25.05 20.33-52.63 37.18-82.54 49.05l54.38 94.19 53.95 23.04c9.81 4.19 20.89-2.21 22.17-12.8l7.02-58.25-54.98-95.23zm42.49-94.56c4.86-7.67 1.89-17.99-6.05-22.39l-28.07-15.57c-7.48-4.15-16.61-1.46-21.26 5.72C403.01 281.15 332.25 320 256 320c-23.93 0-47.23-4.25-69.41-11.53l67.36-116.68c.7.02 1.34.21 2.04.21s1.35-.19 2.04-.21l51.09 88.5c31.23-8.96 59.56-25.75 82.61-48.92l-51.79-89.71C347.39 128.03 352 112.63 352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96c0 16.63 4.61 32.03 12.05 45.66l-68.3 118.31c-12.55-11.61-23.96-24.59-33.68-39-4.79-7.1-13.97-9.62-21.38-5.33l-27.75 16.07c-7.85 4.54-10.63 14.9-5.64 22.47 15.57 23.64 34.69 44.21 55.98 62.02L0 439.66l7.02 58.25c1.28 10.59 12.36 16.99 22.17 12.8l53.95-23.04 70.8-122.63C186.13 377.28 220.62 384 256 384c99.05 0 190.88-51.01 243.5-134.14zM256 64c17.67 0 32 14.33 32 32s-14.33 32-32 32-32-14.33-32-32 14.33-32 32-32z"],dragon:[640,512,[],"f6d5","M18.32 255.78L192 223.96l-91.28 68.69c-10.08 10.08-2.94 27.31 11.31 27.31h222.7c-9.44-26.4-14.73-54.47-14.73-83.38v-42.27l-119.73-87.6c-23.82-15.88-55.29-14.01-77.06 4.59L5.81 227.64c-12.38 10.33-3.45 30.42 12.51 28.14zm556.87 34.1l-100.66-50.31A47.992 47.992 0 0 1 448 196.65v-36.69h64l28.09 22.63c6 6 14.14 9.37 22.63 9.37h30.97a32 32 0 0 0 28.62-17.69l14.31-28.62a32.005 32.005 0 0 0-3.02-33.51l-74.53-99.38C553.02 4.7 543.54 0 533.47 0H296.02c-7.13 0-10.7 8.57-5.66 13.61L352 63.96 292.42 88.8c-5.9 2.95-5.9 11.36 0 14.31L352 127.96v108.62c0 72.08 36.03 139.39 96 179.38-195.59 6.81-344.56 41.01-434.1 60.91C5.78 478.67 0 485.88 0 494.2 0 504 7.95 512 17.76 512h499.08c63.29.01 119.61-47.56 122.99-110.76 2.52-47.28-22.73-90.4-64.64-111.36zM489.18 66.25l45.65 11.41c-2.75 10.91-12.47 18.89-24.13 18.26-12.96-.71-25.85-12.53-21.52-29.67z"],"draw-polygon":[448,512,[],"f5ee","M384 352c-.35 0-.67.1-1.02.1l-39.2-65.32c5.07-9.17 8.22-19.56 8.22-30.78s-3.14-21.61-8.22-30.78l39.2-65.32c.35.01.67.1 1.02.1 35.35 0 64-28.65 64-64s-28.65-64-64-64c-23.63 0-44.04 12.95-55.12 32H119.12C108.04 44.95 87.63 32 64 32 28.65 32 0 60.65 0 96c0 23.63 12.95 44.04 32 55.12v209.75C12.95 371.96 0 392.37 0 416c0 35.35 28.65 64 64 64 23.63 0 44.04-12.95 55.12-32h209.75c11.09 19.05 31.49 32 55.12 32 35.35 0 64-28.65 64-64 .01-35.35-28.64-64-63.99-64zm-288 8.88V151.12A63.825 63.825 0 0 0 119.12 128h208.36l-38.46 64.1c-.35-.01-.67-.1-1.02-.1-35.35 0-64 28.65-64 64s28.65 64 64 64c.35 0 .67-.1 1.02-.1l38.46 64.1H119.12A63.748 63.748 0 0 0 96 360.88zM272 256c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zM400 96c0 8.82-7.18 16-16 16s-16-7.18-16-16 7.18-16 16-16 16 7.18 16 16zM64 80c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zM48 416c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zm336 16c-8.82 0-16-7.18-16-16s7.18-16 16-16 16 7.18 16 16-7.18 16-16 16z"],drum:[512,512,[],"f569","M431.34 122.05l73.53-47.42a16 16 0 0 0 4.44-22.19l-8.87-13.31a16 16 0 0 0-22.19-4.44l-110.06 71C318.43 96.91 271.22 96 256 96 219.55 96 0 100.55 0 208.15v160.23c0 30.27 27.5 57.68 72 77.86v-101.9a24 24 0 1 1 48 0v118.93c33.05 9.11 71.07 15.06 112 16.73V376.39a24 24 0 1 1 48 0V480c40.93-1.67 78.95-7.62 112-16.73V344.34a24 24 0 1 1 48 0v101.9c44.5-20.18 72-47.59 72-77.86V208.15c0-43.32-35.76-69.76-80.66-86.1zM256 272.24c-114.88 0-208-28.69-208-64.09s93.12-64.08 208-64.08c17.15 0 33.73.71 49.68 1.91l-72.81 47a16 16 0 0 0-4.43 22.19l8.87 13.31a16 16 0 0 0 22.19 4.44l118.64-76.52C430.09 168 464 186.84 464 208.15c0 35.4-93.13 64.09-208 64.09z"],"drum-steelpan":[576,512,[],"f56a","M288 32C128.94 32 0 89.31 0 160v192c0 70.69 128.94 128 288 128s288-57.31 288-128V160c0-70.69-128.94-128-288-128zm-82.99 158.36c-4.45 16.61-14.54 30.57-28.31 40.48C100.23 217.46 48 190.78 48 160c0-30.16 50.11-56.39 124.04-70.03l25.6 44.34c9.86 17.09 12.48 36.99 7.37 56.05zM288 240c-21.08 0-41.41-1-60.89-2.7 8.06-26.13 32.15-45.3 60.89-45.3s52.83 19.17 60.89 45.3C329.41 239 309.08 240 288 240zm64-144c0 35.29-28.71 64-64 64s-64-28.71-64-64V82.96c20.4-1.88 41.8-2.96 64-2.96s43.6 1.08 64 2.96V96zm46.93 134.9c-13.81-9.91-23.94-23.9-28.4-40.54-5.11-19.06-2.49-38.96 7.38-56.04l25.65-44.42C477.72 103.5 528 129.79 528 160c0 30.83-52.4 57.54-129.07 70.9z"],"drumstick-bite":[512,512,[],"f6d7","M462.8 49.57a169.44 169.44 0 0 0-239.5 0C187.82 85 160.13 128 160.13 192v85.83l-40.62 40.59c-9.7 9.69-24 11.07-36.78 6a60.33 60.33 0 0 0-65 98.72C33 438.39 54.24 442.7 73.85 438.21c-4.5 19.6-.18 40.83 15.1 56.1a60.35 60.35 0 0 0 98.8-65c-5.09-12.73-3.72-27 6-36.75L234.36 352h85.89a187.87 187.87 0 0 0 61.89-10c-39.64-43.89-39.83-110.23 1.05-151.07 34.38-34.36 86.76-39.46 128.74-16.8 1.3-44.96-14.81-90.28-49.13-124.56z"],dumbbell:[640,512,[],"f44b","M104 96H56c-13.3 0-24 10.7-24 24v104H8c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h24v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm528 128h-24V120c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v272c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h24c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM456 32h-48c-13.3 0-24 10.7-24 24v168H256V56c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v400c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h128v168c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24z"],dumpster:[576,512,[],"f793","M560 160c10.4 0 18-9.8 15.5-19.9l-24-96C549.7 37 543.3 32 536 32h-98.9l25.6 128H560zM272 32H171.5l-25.6 128H272V32zm132.5 0H304v128h126.1L404.5 32zM16 160h97.3l25.6-128H40c-7.3 0-13.7 5-15.5 12.1l-24 96C-2 150.2 5.6 160 16 160zm544 64h-20l4-32H32l4 32H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h28l20 160v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h320v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16l20-160h28c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z"],"dumpster-fire":[640,512,[],"f794","M418.7 104.1l.2-.2-14.4-72H304v128h60.8c16.2-19.3 34.2-38.2 53.9-55.8zM272 32H171.5l-25.6 128H272V32zm189.3 72.1c18.2 16.3 35.5 33.7 51.1 51.5 5.7-5.6 11.4-11.1 17.3-16.3l21.3-19 21.3 19c1.1.9 2.1 2.1 3.1 3.1-.1-.8.2-1.5 0-2.3l-24-96C549.7 37 543.3 32 536 32h-98.9l12.3 61.5 11.9 10.6zM16 160h97.3l25.6-128H40c-7.3 0-13.7 5-15.5 12.1l-24 96C-2 150.2 5.6 160 16 160zm324.6 32H32l4 32H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h28l20 160v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208.8c-30.2-33.7-48.8-77.9-48.8-126.4 0-35.9 19.9-82.9 52.6-129.6zm210.5-28.8c-14.9 13.3-28.3 27.2-40.2 41.2-19.5-25.8-43.6-52-71-76.4-70.2 62.7-120 144.3-120 193.6 0 87.5 71.6 158.4 160 158.4s160-70.9 160-158.4c.1-36.6-37-112.2-88.8-158.4zm-18.6 229.4c-14.7 10.7-32.9 17-52.5 17-49 0-88.9-33.5-88.9-88 0-27.1 16.5-51 49.4-91.9 4.7 5.6 67.1 88.1 67.1 88.1l39.8-47c2.8 4.8 5.4 9.5 7.7 14 18.6 36.7 10.8 83.6-22.6 107.8z"],dungeon:[512,512,[],"f6d9","M128.73 195.32l-82.81-51.76c-8.04-5.02-18.99-2.17-22.93 6.45A254.19 254.19 0 0 0 .54 239.28C-.05 248.37 7.59 256 16.69 256h97.13c7.96 0 14.08-6.25 15.01-14.16 1.09-9.33 3.24-18.33 6.24-26.94 2.56-7.34.25-15.46-6.34-19.58zM319.03 8C298.86 2.82 277.77 0 256 0s-42.86 2.82-63.03 8c-9.17 2.35-13.91 12.6-10.39 21.39l37.47 104.03A16.003 16.003 0 0 0 235.1 144h41.8c6.75 0 12.77-4.23 15.05-10.58l37.47-104.03c3.52-8.79-1.22-19.03-10.39-21.39zM112 288H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm77.31-283.67l-36.32-90.8c-3.53-8.83-14.13-12.99-22.42-8.31a257.308 257.308 0 0 0-71.61 59.89c-6.06 7.32-3.85 18.48 4.22 23.52l82.93 51.83c6.51 4.07 14.66 2.62 20.11-2.79 5.18-5.15 10.79-9.85 16.79-14.05 6.28-4.41 9.15-12.17 6.3-19.29zM398.18 256h97.13c9.1 0 16.74-7.63 16.15-16.72a254.135 254.135 0 0 0-22.45-89.27c-3.94-8.62-14.89-11.47-22.93-6.45l-82.81 51.76c-6.59 4.12-8.9 12.24-6.34 19.58 3.01 8.61 5.15 17.62 6.24 26.94.93 7.91 7.05 14.16 15.01 14.16zm54.85-162.89a257.308 257.308 0 0 0-71.61-59.89c-8.28-4.68-18.88-.52-22.42 8.31l-36.32 90.8c-2.85 7.12.02 14.88 6.3 19.28 6 4.2 11.61 8.9 16.79 14.05 5.44 5.41 13.6 6.86 20.11 2.79l82.93-51.83c8.07-5.03 10.29-16.19 4.22-23.51zM496 288h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zM240 177.62V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V177.62c-5.23-.89-10.52-1.62-16-1.62s-10.77.73-16 1.62zm-64 41.51V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V189.36c-12.78 7.45-23.84 17.47-32 29.77zm128-29.77V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V219.13c-8.16-12.3-19.22-22.32-32-29.77z"],edit:[576,512,[],"f044","M402.6 83.2l90.2 90.2c3.8 3.8 3.8 10 0 13.8L274.4 405.6l-92.8 10.3c-12.4 1.4-22.9-9.1-21.5-21.5l10.3-92.8L388.8 83.2c3.8-3.8 10-3.8 13.8 0zm162-22.9l-48.8-48.8c-15.2-15.2-39.9-15.2-55.2 0l-35.4 35.4c-3.8 3.8-3.8 10 0 13.8l90.2 90.2c3.8 3.8 10 3.8 13.8 0l35.4-35.4c15.2-15.3 15.2-40 0-55.2zM384 346.2V448H64V128h229.8c3.2 0 6.2-1.3 8.5-3.5l40-40c7.6-7.6 2.2-20.5-8.5-20.5H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V306.2c0-10.7-12.9-16-20.5-8.5l-40 40c-2.2 2.3-3.5 5.3-3.5 8.5z"],egg:[384,512,[],"f7fb","M192 0C86 0 0 214 0 320s86 192 192 192 192-86 192-192S298 0 192 0z"],eject:[448,512,[],"f052","M448 384v64c0 17.673-14.327 32-32 32H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h384c17.673 0 32 14.327 32 32zM48.053 320h351.886c41.651 0 63.581-49.674 35.383-80.435L259.383 47.558c-19.014-20.743-51.751-20.744-70.767 0L12.67 239.565C-15.475 270.268 6.324 320 48.053 320z"],"ellipsis-h":[512,512,[],"f141","M328 256c0 39.8-32.2 72-72 72s-72-32.2-72-72 32.2-72 72-72 72 32.2 72 72zm104-72c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm-352 0c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z"],"ellipsis-v":[192,512,[],"f142","M96 184c39.8 0 72 32.2 72 72s-32.2 72-72 72-72-32.2-72-72 32.2-72 72-72zM24 80c0 39.8 32.2 72 72 72s72-32.2 72-72S135.8 8 96 8 24 40.2 24 80zm0 352c0 39.8 32.2 72 72 72s72-32.2 72-72-32.2-72-72-72-72 32.2-72 72z"],envelope:[512,512,[],"f0e0","M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"],"envelope-open":[512,512,[],"f2b6","M512 464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V200.724a48 48 0 0 1 18.387-37.776c24.913-19.529 45.501-35.365 164.2-121.511C199.412 29.17 232.797-.347 256 .003c23.198-.354 56.596 29.172 73.413 41.433 118.687 86.137 139.303 101.995 164.2 121.512A48 48 0 0 1 512 200.724V464zm-65.666-196.605c-2.563-3.728-7.7-4.595-11.339-1.907-22.845 16.873-55.462 40.705-105.582 77.079-16.825 12.266-50.21 41.781-73.413 41.43-23.211.344-56.559-29.143-73.413-41.43-50.114-36.37-82.734-60.204-105.582-77.079-3.639-2.688-8.776-1.821-11.339 1.907l-9.072 13.196a7.998 7.998 0 0 0 1.839 10.967c22.887 16.899 55.454 40.69 105.303 76.868 20.274 14.781 56.524 47.813 92.264 47.573 35.724.242 71.961-32.771 92.263-47.573 49.85-36.179 82.418-59.97 105.303-76.868a7.998 7.998 0 0 0 1.839-10.967l-9.071-13.196z"],"envelope-open-text":[512,512,[],"f658","M176 216h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16zm-16 80c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16zm96 121.13c-16.42 0-32.84-5.06-46.86-15.19L0 250.86V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V250.86L302.86 401.94c-14.02 10.12-30.44 15.19-46.86 15.19zm237.61-254.18c-8.85-6.94-17.24-13.47-29.61-22.81V96c0-26.51-21.49-48-48-48h-77.55c-3.04-2.2-5.87-4.26-9.04-6.56C312.6 29.17 279.2-.35 256 0c-23.2-.35-56.59 29.17-73.41 41.44-3.17 2.3-6 4.36-9.04 6.56H96c-26.51 0-48 21.49-48 48v44.14c-12.37 9.33-20.76 15.87-29.61 22.81A47.995 47.995 0 0 0 0 200.72v10.65l96 69.35V96h320v184.72l96-69.35v-10.65c0-14.74-6.78-28.67-18.39-37.77z"],"envelope-square":[448,512,[],"f199","M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM178.117 262.104C87.429 196.287 88.353 196.121 64 177.167V152c0-13.255 10.745-24 24-24h272c13.255 0 24 10.745 24 24v25.167c-24.371 18.969-23.434 19.124-114.117 84.938-10.5 7.655-31.392 26.12-45.883 25.894-14.503.218-35.367-18.227-45.883-25.895zM384 217.775V360c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V217.775c13.958 10.794 33.329 25.236 95.303 70.214 14.162 10.341 37.975 32.145 64.694 32.01 26.887.134 51.037-22.041 64.72-32.025 61.958-44.965 81.325-59.406 95.283-70.199z"],equals:[448,512,[],"f52c","M416 304H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32zm0-192H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"],eraser:[512,512,[],"f12d","M497.941 273.941c18.745-18.745 18.745-49.137 0-67.882l-160-160c-18.745-18.745-49.136-18.746-67.883 0l-256 256c-18.745 18.745-18.745 49.137 0 67.882l96 96A48.004 48.004 0 0 0 144 480h356c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H355.883l142.058-142.059zm-302.627-62.627l137.373 137.373L265.373 416H150.628l-80-80 124.686-124.686z"],ethernet:[512,512,[],"f796","M496 192h-48v-48c0-8.8-7.2-16-16-16h-48V80c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16v48H80c-8.8 0-16 7.2-16 16v48H16c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16h80V320h32v128h64V320h32v128h64V320h32v128h64V320h32v128h80c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16z"],"euro-sign":[320,512,[],"f153","M310.706 413.765c-1.314-6.63-7.835-10.872-14.424-9.369-10.692 2.439-27.422 5.413-45.426 5.413-56.763 0-101.929-34.79-121.461-85.449h113.689a12 12 0 0 0 11.708-9.369l6.373-28.36c1.686-7.502-4.019-14.631-11.708-14.631H115.22c-1.21-14.328-1.414-28.287.137-42.245H261.95a12 12 0 0 0 11.723-9.434l6.512-29.755c1.638-7.484-4.061-14.566-11.723-14.566H130.184c20.633-44.991 62.69-75.03 117.619-75.03 14.486 0 28.564 2.25 37.851 4.145 6.216 1.268 12.347-2.498 14.002-8.623l11.991-44.368c1.822-6.741-2.465-13.616-9.326-14.917C290.217 34.912 270.71 32 249.635 32 152.451 32 74.03 92.252 45.075 176H12c-6.627 0-12 5.373-12 12v29.755c0 6.627 5.373 12 12 12h21.569c-1.009 13.607-1.181 29.287-.181 42.245H12c-6.627 0-12 5.373-12 12v28.36c0 6.627 5.373 12 12 12h30.114C67.139 414.692 145.264 480 249.635 480c26.301 0 48.562-4.544 61.101-7.788 6.167-1.595 10.027-7.708 8.788-13.957l-8.818-44.49z"],"exchange-alt":[512,512,[],"f362","M0 168v-16c0-13.255 10.745-24 24-24h360V80c0-21.367 25.899-32.042 40.971-16.971l80 80c9.372 9.373 9.372 24.569 0 33.941l-80 80C409.956 271.982 384 261.456 384 240v-48H24c-13.255 0-24-10.745-24-24zm488 152H128v-48c0-21.314-25.862-32.08-40.971-16.971l-80 80c-9.372 9.373-9.372 24.569 0 33.941l80 80C102.057 463.997 128 453.437 128 432v-48h360c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24z"],exclamation:[192,512,[],"f12a","M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z"],"exclamation-circle":[512,512,[],"f06a","M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"],"exclamation-triangle":[576,512,[],"f071","M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"],expand:[448,512,[],"f065","M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z"],"expand-alt":[448,512,[],"f424","M212.686 315.314L120 408l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C10.697 480 0 469.255 0 456V344c0-21.382 25.803-32.09 40.922-16.971L72 360l92.686-92.686c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.249 6.248 6.249 16.378 0 22.627zm22.628-118.628L328 104l-32.922-31.029C279.958 57.851 290.666 32 312.048 32h112C437.303 32 448 42.745 448 56v112c0 21.382-25.803 32.09-40.922 16.971L376 152l-92.686 92.686c-6.248 6.248-16.379 6.248-22.627 0l-25.373-25.373c-6.249-6.248-6.249-16.378 0-22.627z"],"expand-arrows-alt":[448,512,[],"f31e","M448 344v112a23.94 23.94 0 0 1-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 0 1-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0 1 24-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0 1 24 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z"],"external-link-alt":[512,512,[],"f35d","M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z"],"external-link-square-alt":[448,512,[],"f360","M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-88 16H248.029c-21.313 0-32.08 25.861-16.971 40.971l31.984 31.987L67.515 364.485c-4.686 4.686-4.686 12.284 0 16.971l31.029 31.029c4.687 4.686 12.285 4.686 16.971 0l195.526-195.526 31.988 31.991C358.058 263.977 384 253.425 384 231.979V120c0-13.255-10.745-24-24-24z"],eye:[576,512,[],"f06e","M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z"],"eye-dropper":[512,512,[],"f1fb","M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z"],"eye-slash":[640,512,[],"f070","M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z"],fan:[512,512,[],"f863","M352.57 128c-28.09 0-54.09 4.52-77.06 12.86l12.41-123.11C289 7.31 279.81-1.18 269.33.13 189.63 10.13 128 77.64 128 159.43c0 28.09 4.52 54.09 12.86 77.06L17.75 224.08C7.31 223-1.18 232.19.13 242.67c10 79.7 77.51 141.33 159.3 141.33 28.09 0 54.09-4.52 77.06-12.86l-12.41 123.11c-1.05 10.43 8.11 18.93 18.59 17.62 79.7-10 141.33-77.51 141.33-159.3 0-28.09-4.52-54.09-12.86-77.06l123.11 12.41c10.44 1.05 18.93-8.11 17.62-18.59-10-79.7-77.51-141.33-159.3-141.33zM256 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32z"],"fast-backward":[512,512,[],"f049","M0 436V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v151.9L235.5 71.4C256.1 54.3 288 68.6 288 96v131.9L459.5 71.4C480.1 54.3 512 68.6 512 96v320c0 27.4-31.9 41.7-52.5 24.6L288 285.3V416c0 27.4-31.9 41.7-52.5 24.6L64 285.3V436c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12z"],"fast-forward":[512,512,[],"f050","M512 76v360c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V284.1L276.5 440.6c-20.6 17.2-52.5 2.8-52.5-24.6V284.1L52.5 440.6C31.9 457.8 0 443.4 0 416V96c0-27.4 31.9-41.7 52.5-24.6L224 226.8V96c0-27.4 31.9-41.7 52.5-24.6L448 226.8V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12z"],faucet:[512,512,[],"e005","M352,256H313.39c-15.71-13.44-35.46-23.07-57.39-28V180.44l-32-3.38-32,3.38V228c-21.93,5-41.68,14.6-57.39,28H16A16,16,0,0,0,0,272v96a16,16,0,0,0,16,16h92.79C129.38,421.73,173,448,224,448s94.62-26.27,115.21-64H352a32,32,0,0,1,32,32,32,32,0,0,0,32,32h64a32,32,0,0,0,32-32A160,160,0,0,0,352,256ZM81.59,159.91l142.41-15,142.41,15c9.42,1,17.59-6.81,17.59-16.8V112.89c0-10-8.17-17.8-17.59-16.81L256,107.74V80a16,16,0,0,0-16-16H208a16,16,0,0,0-16,16v27.74L81.59,96.08C72.17,95.09,64,102.9,64,112.89v30.22C64,153.1,72.17,160.91,81.59,159.91Z"],fax:[512,512,[],"f1ac","M480 160V77.25a32 32 0 0 0-9.38-22.63L425.37 9.37A32 32 0 0 0 402.75 0H160a32 32 0 0 0-32 32v448a32 32 0 0 0 32 32h320a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM288 432a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm128 128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-112H192V64h160v48a16 16 0 0 0 16 16h48zM64 128H32a32 32 0 0 0-32 32v320a32 32 0 0 0 32 32h32a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32z"],feather:[512,512,[],"f52d","M467.14 44.84c-62.55-62.48-161.67-64.78-252.28 25.73-78.61 78.52-60.98 60.92-85.75 85.66-60.46 60.39-70.39 150.83-63.64 211.17l178.44-178.25c6.26-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.6 9.37 33.98 0l66.1-66.03C159.42 454.65 279 457.11 353.95 384h-98.19l147.57-49.14c49.99-49.93 36.38-36.18 46.31-46.86h-97.78l131.54-43.8c45.44-74.46 34.31-148.84-16.26-199.36z"],"feather-alt":[512,512,[],"f56b","M512 0C460.22 3.56 96.44 38.2 71.01 287.61c-3.09 26.66-4.84 53.44-5.99 80.24l178.87-178.69c6.25-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.59 9.37 33.98 0l57.13-57.07c42.09-.14 84.15-2.53 125.96-7.36 53.48-5.44 97.02-26.47 132.58-56.54H255.74l146.79-48.88c11.25-14.89 21.37-30.71 30.45-47.12h-81.14l106.54-53.21C500.29 132.86 510.19 26.26 512 0z"],female:[256,512,[],"f182","M128 0c35.346 0 64 28.654 64 64s-28.654 64-64 64c-35.346 0-64-28.654-64-64S92.654 0 128 0m119.283 354.179l-48-192A24 24 0 0 0 176 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H80a24 24 0 0 0-23.283 18.179l-48 192C4.935 369.305 16.383 384 32 384h56v104c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V384h56c15.591 0 27.071-14.671 23.283-29.821z"],"fighter-jet":[640,512,[],"f0fb","M544 224l-128-16-48-16h-24L227.158 44h39.509C278.333 44 288 41.375 288 38s-9.667-6-21.333-6H152v12h16v164h-48l-66.667-80H18.667L8 138.667V208h8v16h48v2.666l-64 8v42.667l64 8V288H16v16H8v69.333L18.667 384h34.667L120 304h48v164h-16v12h114.667c11.667 0 21.333-2.625 21.333-6s-9.667-6-21.333-6h-39.509L344 320h24l48-16 128-16c96-21.333 96-26.583 96-32 0-5.417 0-10.667-96-32z"],file:[384,512,[],"f15b","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm160-14.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"],"file-alt":[384,512,[],"f15c","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 236c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-64c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-72v8c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm96-114.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"],"file-archive":[384,512,[],"f1c6","M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zM128.4 336c-17.9 0-32.4 12.1-32.4 27 0 15 14.6 27 32.5 27s32.4-12.1 32.4-27-14.6-27-32.5-27zM224 136V0h-63.6v32h-32V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM95.9 32h32v32h-32zm32.3 384c-33.2 0-58-30.4-51.4-62.9L96.4 256v-32h32v-32h-32v-32h32v-32h-32V96h32V64h32v32h-32v32h32v32h-32v32h32v32h-32v32h22.1c5.7 0 10.7 4.1 11.8 9.7l17.3 87.7c6.4 32.4-18.4 62.6-51.4 62.6z"],"file-audio":[384,512,[],"f1c7","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-64 268c0 10.7-12.9 16-20.5 8.5L104 376H76c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h28l35.5-36.5c7.6-7.6 20.5-2.2 20.5 8.5v136zm33.2-47.6c9.1-9.3 9.1-24.1 0-33.4-22.1-22.8 12.2-56.2 34.4-33.5 27.2 27.9 27.2 72.4 0 100.4-21.8 22.3-56.9-10.4-34.4-33.5zm86-117.1c54.4 55.9 54.4 144.8 0 200.8-21.8 22.4-57-10.3-34.4-33.5 36.2-37.2 36.3-96.5 0-133.8-22.1-22.8 12.3-56.3 34.4-33.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"],"file-code":[384,512,[],"f1c9","M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zM123.206 400.505a5.4 5.4 0 0 1-7.633.246l-64.866-60.812a5.4 5.4 0 0 1 0-7.879l64.866-60.812a5.4 5.4 0 0 1 7.633.246l19.579 20.885a5.4 5.4 0 0 1-.372 7.747L101.65 336l40.763 35.874a5.4 5.4 0 0 1 .372 7.747l-19.579 20.884zm51.295 50.479l-27.453-7.97a5.402 5.402 0 0 1-3.681-6.692l61.44-211.626a5.402 5.402 0 0 1 6.692-3.681l27.452 7.97a5.4 5.4 0 0 1 3.68 6.692l-61.44 211.626a5.397 5.397 0 0 1-6.69 3.681zm160.792-111.045l-64.866 60.812a5.4 5.4 0 0 1-7.633-.246l-19.58-20.885a5.4 5.4 0 0 1 .372-7.747L284.35 336l-40.763-35.874a5.4 5.4 0 0 1-.372-7.747l19.58-20.885a5.4 5.4 0 0 1 7.633-.246l64.866 60.812a5.4 5.4 0 0 1-.001 7.879z"],"file-contract":[384,512,[],"f56c","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm192.81 248H304c8.84 0 16 7.16 16 16s-7.16 16-16 16h-47.19c-16.45 0-31.27-9.14-38.64-23.86-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34a15.986 15.986 0 0 1-14.31 8.84c-.38 0-.75-.02-1.14-.05-6.45-.45-12-4.75-14.03-10.89L144 354.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.77-16.19 54.05-9.7 66 14.16 2.02 4.06 5.96 6.5 10.16 6.5zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"],"file-csv":[384,512,[],"f6dd","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-96 144c0 4.42-3.58 8-8 8h-8c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h8c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-8c-26.51 0-48-21.49-48-48v-32c0-26.51 21.49-48 48-48h8c4.42 0 8 3.58 8 8v16zm44.27 104H160c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h12.27c5.95 0 10.41-3.5 10.41-6.62 0-1.3-.75-2.66-2.12-3.84l-21.89-18.77c-8.47-7.22-13.33-17.48-13.33-28.14 0-21.3 19.02-38.62 42.41-38.62H200c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-12.27c-5.95 0-10.41 3.5-10.41 6.62 0 1.3.75 2.66 2.12 3.84l21.89 18.77c8.47 7.22 13.33 17.48 13.33 28.14.01 21.29-19 38.62-42.39 38.62zM256 264v20.8c0 20.27 5.7 40.17 16 56.88 10.3-16.7 16-36.61 16-56.88V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v20.8c0 35.48-12.88 68.89-36.28 94.09-3.02 3.25-7.27 5.11-11.72 5.11s-8.7-1.86-11.72-5.11c-23.4-25.2-36.28-58.61-36.28-94.09V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8zm121-159L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"],"file-download":[384,512,[],"f56d","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm76.45 211.36l-96.42 95.7c-6.65 6.61-17.39 6.61-24.04 0l-96.42-95.7C73.42 337.29 80.54 320 94.82 320H160v-80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v80h65.18c14.28 0 21.4 17.29 11.27 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"],"file-excel":[384,512,[],"f1c3","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm60.1 106.5L224 336l60.1 93.5c5.1 8-.6 18.5-10.1 18.5h-34.9c-4.4 0-8.5-2.4-10.6-6.3C208.9 405.5 192 373 192 373c-6.4 14.8-10 20-36.6 68.8-2.1 3.9-6.1 6.3-10.5 6.3H110c-9.5 0-15.2-10.5-10.1-18.5l60.3-93.5-60.3-93.5c-5.2-8 .6-18.5 10.1-18.5h34.8c4.4 0 8.5 2.4 10.6 6.3 26.1 48.8 20 33.6 36.6 68.5 0 0 6.1-11.7 36.6-68.5 2.1-3.9 6.2-6.3 10.6-6.3H274c9.5-.1 15.2 10.4 10.1 18.4zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"],"file-export":[576,512,[],"f56e","M384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128zM571 308l-95.7-96.4c-10.1-10.1-27.4-3-27.4 11.3V288h-64v64h64v65.2c0 14.3 17.3 21.4 27.4 11.3L571 332c6.6-6.6 6.6-17.4 0-24zm-379 28v-32c0-8.8 7.2-16 16-16h176V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V352H208c-8.8 0-16-7.2-16-16z"],"file-image":[384,512,[],"f1c5","M384 121.941V128H256V0h6.059a24 24 0 0 1 16.97 7.029l97.941 97.941a24.002 24.002 0 0 1 7.03 16.971zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zm-135.455 16c26.51 0 48 21.49 48 48s-21.49 48-48 48-48-21.49-48-48 21.491-48 48-48zm208 240h-256l.485-48.485L104.545 328c4.686-4.686 11.799-4.201 16.485.485L160.545 368 264.06 264.485c4.686-4.686 12.284-4.686 16.971 0L320.545 304v112z"],"file-import":[512,512,[],"f56f","M16 288c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h112v-64zm489-183L407.1 7c-4.5-4.5-10.6-7-17-7H384v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H152c-13.3 0-24 10.7-24 24v264h128v-65.2c0-14.3 17.3-21.4 27.4-11.3L379 308c6.6 6.7 6.6 17.4 0 24l-95.7 96.4c-10.1 10.1-27.4 3-27.4-11.3V352H128v136c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H376c-13.2 0-24-10.8-24-24z"],"file-invoice":[384,512,[],"f570","M288 256H96v64h192v-64zm89-151L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm256 304c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-200v96c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-96c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16z"],"file-invoice-dollar":[384,512,[],"f571","M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 80v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8zm144 263.88V440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-24.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V232c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v24.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07z"],"file-medical":[384,512,[],"f477","M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 160v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8z"],"file-medical-alt":[448,512,[],"f478","M288 136V0H88C74.7 0 64 10.7 64 24v232H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h140.9c3 0 5.8 1.7 7.2 4.4l19.9 39.8 56.8-113.7c2.9-5.9 11.4-5.9 14.3 0l34.7 69.5H352c8.8 0 16 7.2 16 16s-7.2 16-16 16h-89.9L240 275.8l-56.8 113.7c-2.9 5.9-11.4 5.9-14.3 0L134.1 320H64v168c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H312c-13.2 0-24-10.8-24-24zm153-31L343.1 7c-4.5-4.5-10.6-7-17-7H320v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"],"file-pdf":[384,512,[],"f1c1","M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z"],"file-powerpoint":[384,512,[],"f1c4","M193.7 271.2c8.8 0 15.5 2.7 20.3 8.1 9.6 10.9 9.8 32.7-.2 44.1-4.9 5.6-11.9 8.5-21.1 8.5h-26.9v-60.7h27.9zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm53 165.2c0 90.3-88.8 77.6-111.1 77.6V436c0 6.6-5.4 12-12 12h-30.8c-6.6 0-12-5.4-12-12V236.2c0-6.6 5.4-12 12-12h81c44.5 0 72.9 32.8 72.9 77z"],"file-prescription":[384,512,[],"f572","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm68.53 179.48l11.31 11.31c6.25 6.25 6.25 16.38 0 22.63l-29.9 29.9L304 409.38c6.25 6.25 6.25 16.38 0 22.63l-11.31 11.31c-6.25 6.25-16.38 6.25-22.63 0L240 413.25l-30.06 30.06c-6.25 6.25-16.38 6.25-22.63 0L176 432c-6.25-6.25-6.25-16.38 0-22.63l30.06-30.06L146.74 320H128v48c0 8.84-7.16 16-16 16H96c-8.84 0-16-7.16-16-16V208c0-8.84 7.16-16 16-16h80c35.35 0 64 28.65 64 64 0 24.22-13.62 45.05-33.46 55.92L240 345.38l29.9-29.9c6.25-6.25 16.38-6.25 22.63 0zM176 272h-48v-32h48c8.82 0 16 7.18 16 16s-7.18 16-16 16zm208-150.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"],"file-signature":[576,512,[],"f573","M218.17 424.14c-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34c-6.37 12.78-25.03 11.37-29.48-2.09L144 386.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.75-16.19 54.06-9.7 66 14.16 1.89 3.78 5.49 5.95 9.36 6.26v-82.12l128-127.09V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24v-40l-128-.11c-16.12-.31-30.58-9.28-37.83-23.75zM384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1zm-96 225.06V416h68.99l161.68-162.78-67.88-67.88L288 346.96zm280.54-179.63l-31.87-31.87c-9.94-9.94-26.07-9.94-36.01 0l-27.25 27.25 67.88 67.88 27.25-27.25c9.95-9.94 9.95-26.07 0-36.01z"],"file-upload":[384,512,[],"f574","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm65.18 216.01H224v80c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-80H94.82c-14.28 0-21.41-17.29-11.27-27.36l96.42-95.7c6.65-6.61 17.39-6.61 24.04 0l96.42 95.7c10.15 10.07 3.03 27.36-11.25 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"],"file-video":[384,512,[],"f1c8","M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM224 136V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248c-13.2 0-24-10.8-24-24zm96 144.016v111.963c0 21.445-25.943 31.998-40.971 16.971L224 353.941V392c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V280c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v38.059l55.029-55.013c15.011-15.01 40.971-4.491 40.971 16.97z"],"file-word":[384,512,[],"f1c2","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm57.1 120H305c7.7 0 13.4 7.1 11.7 14.7l-38 168c-1.2 5.5-6.1 9.3-11.7 9.3h-38c-5.5 0-10.3-3.8-11.6-9.1-25.8-103.5-20.8-81.2-25.6-110.5h-.5c-1.1 14.3-2.4 17.4-25.6 110.5-1.3 5.3-6.1 9.1-11.6 9.1H117c-5.6 0-10.5-3.9-11.7-9.4l-37.8-168c-1.7-7.5 4-14.6 11.7-14.6h24.5c5.7 0 10.7 4 11.8 9.7 15.6 78 20.1 109.5 21 122.2 1.6-10.2 7.3-32.7 29.4-122.7 1.3-5.4 6.1-9.1 11.7-9.1h29.1c5.6 0 10.4 3.8 11.7 9.2 24 100.4 28.8 124 29.6 129.4-.2-11.2-2.6-17.8 21.6-129.2 1-5.6 5.9-9.5 11.5-9.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"],fill:[512,512,[],"f575","M502.63 217.06L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.77c-6.24-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.63l86.19 86.18-94.76 94.76c-37.49 37.49-37.49 98.26 0 135.75l117.19 117.19c18.75 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.88-28.12l221.57-221.57c12.49-12.5 12.49-32.76 0-45.26zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.61 58.6c12.49 12.49 32.75 12.49 45.24 0 12.49-12.49 12.49-32.75 0-45.24l-58.61-58.6 58.95-58.95 162.45 162.44-48.35 48.34z"],"fill-drip":[576,512,[],"f576","M512 320s-64 92.65-64 128c0 35.35 28.66 64 64 64s64-28.65 64-64-64-128-64-128zm-9.37-102.94L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.76c-6.25-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.62l86.19 86.18-94.76 94.76c-37.49 37.48-37.49 98.26 0 135.75l117.19 117.19c18.74 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.87-28.12l221.57-221.57c12.5-12.5 12.5-32.75.01-45.25zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.6 58.6c12.49 12.49 32.75 12.49 45.24 0s12.49-32.75 0-45.24l-58.6-58.6 58.95-58.95 162.44 162.44-48.34 48.34z"],film:[512,512,[],"f008","M488 64h-8v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V64H96v20c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12V64h-8C10.7 64 0 74.7 0 88v336c0 13.3 10.7 24 24 24h8v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h320v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h8c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24zM96 372c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm272 208c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm0-168c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm112 152c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z"],filter:[512,512,[],"f0b0","M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z"],fingerprint:[512,512,[],"f577","M256.12 245.96c-13.25 0-24 10.74-24 24 1.14 72.25-8.14 141.9-27.7 211.55-2.73 9.72 2.15 30.49 23.12 30.49 10.48 0 20.11-6.92 23.09-17.52 13.53-47.91 31.04-125.41 29.48-224.52.01-13.25-10.73-24-23.99-24zm-.86-81.73C194 164.16 151.25 211.3 152.1 265.32c.75 47.94-3.75 95.91-13.37 142.55-2.69 12.98 5.67 25.69 18.64 28.36 13.05 2.67 25.67-5.66 28.36-18.64 10.34-50.09 15.17-101.58 14.37-153.02-.41-25.95 19.92-52.49 54.45-52.34 31.31.47 57.15 25.34 57.62 55.47.77 48.05-2.81 96.33-10.61 143.55-2.17 13.06 6.69 25.42 19.76 27.58 19.97 3.33 26.81-15.1 27.58-19.77 8.28-50.03 12.06-101.21 11.27-152.11-.88-55.8-47.94-101.88-104.91-102.72zm-110.69-19.78c-10.3-8.34-25.37-6.8-33.76 3.48-25.62 31.5-39.39 71.28-38.75 112 .59 37.58-2.47 75.27-9.11 112.05-2.34 13.05 6.31 25.53 19.36 27.89 20.11 3.5 27.07-14.81 27.89-19.36 7.19-39.84 10.5-80.66 9.86-121.33-.47-29.88 9.2-57.88 28-80.97 8.35-10.28 6.79-25.39-3.49-33.76zm109.47-62.33c-15.41-.41-30.87 1.44-45.78 4.97-12.89 3.06-20.87 15.98-17.83 28.89 3.06 12.89 16 20.83 28.89 17.83 11.05-2.61 22.47-3.77 34-3.69 75.43 1.13 137.73 61.5 138.88 134.58.59 37.88-1.28 76.11-5.58 113.63-1.5 13.17 7.95 25.08 21.11 26.58 16.72 1.95 25.51-11.88 26.58-21.11a929.06 929.06 0 0 0 5.89-119.85c-1.56-98.75-85.07-180.33-186.16-181.83zm252.07 121.45c-2.86-12.92-15.51-21.2-28.61-18.27-12.94 2.86-21.12 15.66-18.26 28.61 4.71 21.41 4.91 37.41 4.7 61.6-.11 13.27 10.55 24.09 23.8 24.2h.2c13.17 0 23.89-10.61 24-23.8.18-22.18.4-44.11-5.83-72.34zm-40.12-90.72C417.29 43.46 337.6 1.29 252.81.02 183.02-.82 118.47 24.91 70.46 72.94 24.09 119.37-.9 181.04.14 246.65l-.12 21.47c-.39 13.25 10.03 24.31 23.28 24.69.23.02.48.02.72.02 12.92 0 23.59-10.3 23.97-23.3l.16-23.64c-.83-52.5 19.16-101.86 56.28-139 38.76-38.8 91.34-59.67 147.68-58.86 69.45 1.03 134.73 35.56 174.62 92.39 7.61 10.86 22.56 13.45 33.42 5.86 10.84-7.62 13.46-22.59 5.84-33.43z"],fire:[384,512,[],"f06d","M216 23.86c0-23.8-30.65-32.77-44.15-13.04C48 191.85 224 200 224 288c0 35.63-29.11 64.46-64.85 63.99-35.17-.45-63.15-29.77-63.15-64.94v-85.51c0-21.7-26.47-32.23-41.43-16.5C27.8 213.16 0 261.33 0 320c0 105.87 86.13 192 192 192s192-86.13 192-192c0-170.29-168-193-168-296.14z"],"fire-alt":[448,512,[],"f7e4","M323.56 51.2c-20.8 19.3-39.58 39.59-56.22 59.97C240.08 73.62 206.28 35.53 168 0 69.74 91.17 0 209.96 0 281.6 0 408.85 100.29 512 224 512s224-103.15 224-230.4c0-53.27-51.98-163.14-124.44-230.4zm-19.47 340.65C282.43 407.01 255.72 416 226.86 416 154.71 416 96 368.26 96 290.75c0-38.61 24.31-72.63 72.79-130.75 6.93 7.98 98.83 125.34 98.83 125.34l58.63-66.88c4.14 6.85 7.91 13.55 11.27 19.97 27.35 52.19 15.81 118.97-33.43 153.42z"],"fire-extinguisher":[448,512,[],"f134","M434.027 26.329l-168 28C254.693 56.218 256 67.8 256 72h-58.332C208.353 36.108 181.446 0 144 0c-39.435 0-66.368 39.676-52.228 76.203-52.039 13.051-75.381 54.213-90.049 90.884-4.923 12.307 1.063 26.274 13.37 31.197 12.317 4.926 26.279-1.075 31.196-13.37C75.058 112.99 106.964 120 168 120v27.076c-41.543 10.862-72 49.235-72 94.129V488c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V240c0-44.731-30.596-82.312-72-92.97V120h40c0 2.974-1.703 15.716 10.027 17.671l168 28C441.342 166.89 448 161.25 448 153.834V38.166c0-7.416-6.658-13.056-13.973-11.837zM144 72c-8.822 0-16-7.178-16-16s7.178-16 16-16 16 7.178 16 16-7.178 16-16 16z"],"first-aid":[576,512,[],"f479","M0 80v352c0 26.5 21.5 48 48 48h48V32H48C21.5 32 0 53.5 0 80zm128 400h320V32H128v448zm64-248c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48zM528 32h-48v448h48c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"],fish:[576,512,[],"f578","M327.1 96c-89.97 0-168.54 54.77-212.27 101.63L27.5 131.58c-12.13-9.18-30.24.6-27.14 14.66L24.54 256 .35 365.77c-3.1 14.06 15.01 23.83 27.14 14.66l87.33-66.05C158.55 361.23 237.13 416 327.1 416 464.56 416 576 288 576 256S464.56 96 327.1 96zm87.43 184c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24 13.26 0 24 10.74 24 24 0 13.25-10.75 24-24 24z"],"fist-raised":[384,512,[],"f6de","M255.98 160V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v146.93c5.02-1.78 10.34-2.93 15.97-2.93h48.03zm128 95.99c-.01-35.34-28.66-63.99-63.99-63.99H207.85c-8.78 0-15.9 7.07-15.9 15.85v.56c0 26.27 21.3 47.59 47.57 47.59h35.26c9.68 0 13.2 3.58 13.2 8v16.2c0 4.29-3.59 7.78-7.88 8-44.52 2.28-64.16 24.71-96.05 72.55l-6.31 9.47a7.994 7.994 0 0 1-11.09 2.22l-13.31-8.88a7.994 7.994 0 0 1-2.22-11.09l6.31-9.47c15.73-23.6 30.2-43.26 47.31-58.08-17.27-5.51-31.4-18.12-38.87-34.45-6.59 3.41-13.96 5.52-21.87 5.52h-32c-12.34 0-23.49-4.81-32-12.48C71.48 251.19 60.33 256 48 256H16c-5.64 0-10.97-1.15-16-2.95v77.93c0 33.95 13.48 66.5 37.49 90.51L63.99 448v64h255.98v-63.96l35.91-35.92A96.035 96.035 0 0 0 384 344.21l-.02-88.22zm-32.01-90.09V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v112h32c11.28 0 21.94 2.31 32 5.9zM16 224h32c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v128c0 8.84 7.16 16 16 16zm95.99 0h32c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v160c0 8.84 7.16 16 16 16z"],flag:[512,512,[],"f024","M349.565 98.783C295.978 98.783 251.721 64 184.348 64c-24.955 0-47.309 4.384-68.045 12.013a55.947 55.947 0 0 0 3.586-23.562C118.117 24.015 94.806 1.206 66.338.048 34.345-1.254 8 24.296 8 56c0 19.026 9.497 35.825 24 45.945V488c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-94.4c28.311-12.064 63.582-22.122 114.435-22.122 53.588 0 97.844 34.783 165.217 34.783 48.169 0 86.667-16.294 122.505-40.858C506.84 359.452 512 349.571 512 339.045v-243.1c0-23.393-24.269-38.87-45.485-29.016-34.338 15.948-76.454 31.854-116.95 31.854z"],"flag-checkered":[512,512,[],"f11e","M243.2 189.9V258c26.1 5.9 49.3 15.6 73.6 22.3v-68.2c-26-5.8-49.4-15.5-73.6-22.2zm223.3-123c-34.3 15.9-76.5 31.9-117 31.9C296 98.8 251.7 64 184.3 64c-25 0-47.3 4.4-68 12 2.8-7.3 4.1-15.2 3.6-23.6C118.1 24 94.8 1.2 66.3 0 34.3-1.3 8 24.3 8 56c0 19 9.5 35.8 24 45.9V488c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-94.4c28.3-12.1 63.6-22.1 114.4-22.1 53.6 0 97.8 34.8 165.2 34.8 48.2 0 86.7-16.3 122.5-40.9 8.7-6 13.8-15.8 13.8-26.4V95.9c.1-23.3-24.2-38.8-45.4-29zM169.6 325.5c-25.8 2.7-50 8.2-73.6 16.6v-70.5c26.2-9.3 47.5-15 73.6-17.4zM464 191c-23.6 9.8-46.3 19.5-73.6 23.9V286c24.8-3.4 51.4-11.8 73.6-26v70.5c-25.1 16.1-48.5 24.7-73.6 27.1V286c-27 3.7-47.9 1.5-73.6-5.6v67.4c-23.9-7.4-47.3-16.7-73.6-21.3V258c-19.7-4.4-40.8-6.8-73.6-3.8v-70c-22.4 3.1-44.6 10.2-73.6 20.9v-70.5c33.2-12.2 50.1-19.8 73.6-22v71.6c27-3.7 48.4-1.3 73.6 5.7v-67.4c23.7 7.4 47.2 16.7 73.6 21.3v68.4c23.7 5.3 47.6 6.9 73.6 2.7V143c27-4.8 52.3-13.6 73.6-22.5z"],"flag-usa":[512,512,[],"f74d","M32 0C14.3 0 0 14.3 0 32v464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32C64 14.3 49.7 0 32 0zm267.9 303.6c-57.2-15.1-111.7-28.8-203.9 11.1V384c185.7-92.2 221.7 53.3 397.5-23.1 11.4-5 18.5-16.5 18.5-28.8v-36c-43.6 17.3-80.2 24.1-112.1 24.1-37.4-.1-68.9-8.4-100-16.6zm0-96c-57.2-15.1-111.7-28.8-203.9 11.1v61.5c94.8-37.6 154.6-22.7 212.1-7.6 57.2 15.1 111.7 28.8 203.9-11.1V200c-43.6 17.3-80.2 24.1-112.1 24.1-37.4 0-68.9-8.3-100-16.5zm9.5-125.9c51.8 15.6 97.4 29 202.6-20.1V30.8c0-25.1-26.8-38.1-49.4-26.6C291.3 91.5 305.4-62.2 96 32.4v151.9c94.8-37.5 154.6-22.7 212.1-7.6 57.2 15 111.7 28.7 203.9-11.1V96.7c-53.6 23.5-93.3 31.4-126.1 31.4s-59-7.8-85.7-15.9c-4-1.2-8.1-2.4-12.1-3.5V75.5c7.2 2 14.3 4.1 21.3 6.2zM160 128.1c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16-7.2 16-16 16zm0-55.8c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16zm64 47.9c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16zm0-55.9c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16z"],flask:[448,512,[],"f0c3","M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z"],flushed:[496,512,[],"f579","M344 200c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-192 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM80 224c0-39.8 32.2-72 72-72s72 32.2 72 72-32.2 72-72 72-72-32.2-72-72zm232 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-104c-39.8 0-72-32.2-72-72s32.2-72 72-72 72 32.2 72 72-32.2 72-72 72z"],folder:[512,512,[],"f07b","M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z"],"folder-minus":[512,512,[],"f65d","M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm-96 168c0 8.84-7.16 16-16 16H160c-8.84 0-16-7.16-16-16v-16c0-8.84 7.16-16 16-16h192c8.84 0 16 7.16 16 16v16z"],"folder-open":[576,512,[],"f07c","M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"],"folder-plus":[512,512,[],"f65e","M464,128H272L208,64H48A48,48,0,0,0,0,112V400a48,48,0,0,0,48,48H464a48,48,0,0,0,48-48V176A48,48,0,0,0,464,128ZM359.5,296a16,16,0,0,1-16,16h-64v64a16,16,0,0,1-16,16h-16a16,16,0,0,1-16-16V312h-64a16,16,0,0,1-16-16V280a16,16,0,0,1,16-16h64V200a16,16,0,0,1,16-16h16a16,16,0,0,1,16,16v64h64a16,16,0,0,1,16,16Z"],font:[448,512,[],"f031","M432 416h-23.41L277.88 53.69A32 32 0 0 0 247.58 32h-47.16a32 32 0 0 0-30.3 21.69L39.41 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-19.58l23.3-64h152.56l23.3 64H304a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM176.85 272L224 142.51 271.15 272z"],"font-awesome-logo-full":[3992,512,["Font Awesome"],"f4e6","M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z"],"football-ball":[496,512,[],"f44e","M481.5 60.3c-4.8-18.2-19.1-32.5-37.3-37.4C420.3 16.5 383 8.9 339.4 8L496 164.8c-.8-43.5-8.2-80.6-14.5-104.5zm-467 391.4c4.8 18.2 19.1 32.5 37.3 37.4 23.9 6.4 61.2 14 104.8 14.9L0 347.2c.8 43.5 8.2 80.6 14.5 104.5zM4.2 283.4L220.4 500c132.5-19.4 248.8-118.7 271.5-271.4L275.6 12C143.1 31.4 26.8 130.7 4.2 283.4zm317.3-123.6c3.1-3.1 8.2-3.1 11.3 0l11.3 11.3c3.1 3.1 3.1 8.2 0 11.3l-28.3 28.3 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-22.6 22.7 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L248 278.6l-22.6 22.6 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-28.3 28.3c-3.1 3.1-8.2 3.1-11.3 0l-11.3-11.3c-3.1-3.1-3.1-8.2 0-11.3l28.3-28.3-28.3-28.2c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 28.3-28.5z"],forward:[512,512,[],"f04e","M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z"],frog:[576,512,[],"f52e","M446.53 97.43C439.67 60.23 407.19 32 368 32c-39.23 0-71.72 28.29-78.54 65.54C126.75 112.96-.5 250.12 0 416.98.11 451.9 29.08 480 64 480h304c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-79.49l35.8-48.33c24.14-36.23 10.35-88.28-33.71-106.6-23.89-9.93-51.55-4.65-72.24 10.88l-32.76 24.59c-7.06 5.31-17.09 3.91-22.41-3.19-5.3-7.08-3.88-17.11 3.19-22.41l34.78-26.09c36.84-27.66 88.28-27.62 125.13 0 10.87 8.15 45.87 39.06 40.8 93.21L469.62 480H560c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-53.63l-98.52-104.68 154.44-86.65A58.16 58.16 0 0 0 576 189.94c0-21.4-11.72-40.95-30.48-51.23-40.56-22.22-98.99-41.28-98.99-41.28zM368 136c-13.26 0-24-10.75-24-24 0-13.26 10.74-24 24-24 13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24z"],frown:[496,512,[],"f119","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm170.2 218.2C315.8 367.4 282.9 352 248 352s-67.8 15.4-90.2 42.2c-13.5 16.3-38.1-4.2-24.6-20.5C161.7 339.6 203.6 320 248 320s86.3 19.6 114.7 53.8c13.6 16.2-11 36.7-24.5 20.4z"],"frown-open":[496,512,[],"f57a","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm187.3 183.3c-31.2-9.6-59.4-15.3-75.3-15.3s-44.1 5.7-75.3 15.3c-11.5 3.5-22.5-6.3-20.5-18.1 7-40 60.1-61.2 95.8-61.2s88.8 21.3 95.8 61.2c2 11.9-9.1 21.6-20.5 18.1zM328 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"],"funnel-dollar":[640,512,[],"f662","M433.46 165.94l101.2-111.87C554.61 34.12 540.48 0 512.26 0H31.74C3.52 0-10.61 34.12 9.34 54.07L192 256v155.92c0 12.59 5.93 24.44 16 32l79.99 60c20.86 15.64 48.47 6.97 59.22-13.57C310.8 455.38 288 406.35 288 352c0-89.79 62.05-165.17 145.46-186.06zM480 192c-88.37 0-160 71.63-160 160s71.63 160 160 160 160-71.63 160-160-71.63-160-160-160zm16 239.88V448c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V256c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.04 44.44-42.67 45.07z"],futbol:[512,512,[],"f1e3","M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-48 0l-.003-.282-26.064 22.741-62.679-58.5 16.454-84.355 34.303 3.072c-24.889-34.216-60.004-60.089-100.709-73.141l13.651 31.939L256 139l-74.953-41.525 13.651-31.939c-40.631 13.028-75.78 38.87-100.709 73.141l34.565-3.073 16.192 84.355-62.678 58.5-26.064-22.741-.003.282c0 43.015 13.497 83.952 38.472 117.991l7.704-33.897 85.138 10.447 36.301 77.826-29.902 17.786c40.202 13.122 84.29 13.148 124.572 0l-29.902-17.786 36.301-77.826 85.138-10.447 7.704 33.897C442.503 339.952 456 299.015 456 256zm-248.102 69.571l-29.894-91.312L256 177.732l77.996 56.527-29.622 91.312h-96.476z"],gamepad:[640,512,[],"f11b","M480.07 96H160a160 160 0 1 0 114.24 272h91.52A160 160 0 1 0 480.07 96zM248 268a12 12 0 0 1-12 12h-52v52a12 12 0 0 1-12 12h-24a12 12 0 0 1-12-12v-52H84a12 12 0 0 1-12-12v-24a12 12 0 0 1 12-12h52v-52a12 12 0 0 1 12-12h24a12 12 0 0 1 12 12v52h52a12 12 0 0 1 12 12zm216 76a40 40 0 1 1 40-40 40 40 0 0 1-40 40zm64-96a40 40 0 1 1 40-40 40 40 0 0 1-40 40z"],"gas-pump":[512,512,[],"f52f","M336 448H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm157.2-340.7l-81-81c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-6.2 6.2-6.2 16.4 0 22.6L416 97.9V160c0 28.1 20.9 51.3 48 55.2V376c0 13.2-10.8 24-24 24s-24-10.8-24-24v-32c0-48.6-39.4-88-88-88h-8V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64v352h288V304h8c22.1 0 40 17.9 40 40v27.8c0 37.7 27 72 64.5 75.9 43 4.3 79.5-29.5 79.5-71.7V152.6c0-17-6.8-33.3-18.8-45.3zM256 192H96V64h160v128z"],gavel:[512,512,[],"f0e3","M504.971 199.362l-22.627-22.627c-9.373-9.373-24.569-9.373-33.941 0l-5.657 5.657L329.608 69.255l5.657-5.657c9.373-9.373 9.373-24.569 0-33.941L312.638 7.029c-9.373-9.373-24.569-9.373-33.941 0L154.246 131.48c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l5.657-5.657 39.598 39.598-81.04 81.04-5.657-5.657c-12.497-12.497-32.758-12.497-45.255 0L9.373 412.118c-12.497 12.497-12.497 32.758 0 45.255l45.255 45.255c12.497 12.497 32.758 12.497 45.255 0l114.745-114.745c12.497-12.497 12.497-32.758 0-45.255l-5.657-5.657 81.04-81.04 39.598 39.598-5.657 5.657c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l124.451-124.451c9.372-9.372 9.372-24.568 0-33.941z"],gem:[576,512,[],"f3a5","M485.5 0L576 160H474.9L405.7 0h79.8zm-128 0l69.2 160H149.3L218.5 0h139zm-267 0h79.8l-69.2 160H0L90.5 0zM0 192h100.7l123 251.7c1.5 3.1-2.7 5.9-5 3.3L0 192zm148.2 0h279.6l-137 318.2c-1 2.4-4.5 2.4-5.5 0L148.2 192zm204.1 251.7l123-251.7H576L357.3 446.9c-2.3 2.7-6.5-.1-5-3.2z"],genderless:[288,512,[],"f22d","M144 176c44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80 35.9-80 80-80m0-64C64.5 112 0 176.5 0 256s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144z"],ghost:[384,512,[],"f6e2","M186.1.09C81.01 3.24 0 94.92 0 200.05v263.92c0 14.26 17.23 21.39 27.31 11.31l24.92-18.53c6.66-4.95 16-3.99 21.51 2.21l42.95 48.35c6.25 6.25 16.38 6.25 22.63 0l40.72-45.85c6.37-7.17 17.56-7.17 23.92 0l40.72 45.85c6.25 6.25 16.38 6.25 22.63 0l42.95-48.35c5.51-6.2 14.85-7.17 21.51-2.21l24.92 18.53c10.08 10.08 27.31 2.94 27.31-11.31V192C384 84 294.83-3.17 186.1.09zM128 224c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128 0c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"],gift:[512,512,[],"f06b","M32 448c0 17.7 14.3 32 32 32h160V320H32v128zm256 32h160c17.7 0 32-14.3 32-32V320H288v160zm192-320h-42.1c6.2-12.1 10.1-25.5 10.1-40 0-48.5-39.5-88-88-88-41.6 0-68.5 21.3-103 68.3-34.5-47-61.4-68.3-103-68.3-48.5 0-88 39.5-88 88 0 14.5 3.8 27.9 10.1 40H32c-17.7 0-32 14.3-32 32v80c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-80c0-17.7-14.3-32-32-32zm-326.1 0c-22.1 0-40-17.9-40-40s17.9-40 40-40c19.9 0 34.6 3.3 86.1 80h-86.1zm206.1 0h-86.1c51.4-76.5 65.7-80 86.1-80 22.1 0 40 17.9 40 40s-17.9 40-40 40z"],gifts:[640,512,[],"f79c","M240.6 194.1c1.9-30.8 17.3-61.2 44-79.8C279.4 103.5 268.7 96 256 96h-29.4l30.7-22c7.2-5.1 8.9-15.1 3.7-22.3l-9.3-13c-5.1-7.2-15.1-8.9-22.3-3.7l-32 22.9 11.5-30.6c3.1-8.3-1.1-17.5-9.4-20.6l-15-5.6c-8.3-3.1-17.5 1.1-20.6 9.4l-19.9 53-19.9-53.1C121 2.1 111.8-2.1 103.5 1l-15 5.6C80.2 9.7 76 19 79.2 27.2l11.5 30.6L58.6 35c-7.2-5.1-17.2-3.5-22.3 3.7l-9.3 13c-5.1 7.2-3.5 17.2 3.7 22.3l30.7 22H32c-17.7 0-32 14.3-32 32v352c0 17.7 14.3 32 32 32h168.9c-5.5-9.5-8.9-20.3-8.9-32V256c0-29.9 20.8-55 48.6-61.9zM224 480c0 17.7 14.3 32 32 32h160V384H224v96zm224 32h160c17.7 0 32-14.3 32-32v-96H448v128zm160-288h-20.4c2.6-7.6 4.4-15.5 4.4-23.8 0-35.5-27-72.2-72.1-72.2-48.1 0-75.9 47.7-87.9 75.3-12.1-27.6-39.9-75.3-87.9-75.3-45.1 0-72.1 36.7-72.1 72.2 0 8.3 1.7 16.2 4.4 23.8H256c-17.7 0-32 14.3-32 32v96h192V224h15.3l.7-.2.7.2H448v128h192v-96c0-17.7-14.3-32-32-32zm-272 0c-2.7-1.4-5.1-3-7.2-4.8-7.3-6.4-8.8-13.8-8.8-19 0-9.7 6.4-24.2 24.1-24.2 18.7 0 35.6 27.4 44.5 48H336zm199.2-4.8c-2.1 1.8-4.5 3.4-7.2 4.8h-52.6c8.8-20.3 25.8-48 44.5-48 17.7 0 24.1 14.5 24.1 24.2 0 5.2-1.5 12.6-8.8 19z"],"glass-cheers":[640,512,[],"f79f","M639.4 433.6c-8.4-20.4-31.8-30.1-52.2-21.6l-22.1 9.2-38.7-101.9c47.9-35 64.8-100.3 34.5-152.8L474.3 16c-8-13.9-25.1-19.7-40-13.6L320 49.8 205.7 2.4c-14.9-6.2-32-.3-40 13.6L79.1 166.5C48.9 219 65.7 284.3 113.6 319.2L74.9 421.1l-22.1-9.2c-20.4-8.5-43.7 1.2-52.2 21.6-1.7 4.1.2 8.8 4.3 10.5l162.3 67.4c4.1 1.7 8.7-.2 10.4-4.3 8.4-20.4-1.2-43.8-21.6-52.3l-22.1-9.2L173.3 342c4.4.5 8.8 1.3 13.1 1.3 51.7 0 99.4-33.1 113.4-85.3l20.2-75.4 20.2 75.4c14 52.2 61.7 85.3 113.4 85.3 4.3 0 8.7-.8 13.1-1.3L506 445.6l-22.1 9.2c-20.4 8.5-30.1 31.9-21.6 52.3 1.7 4.1 6.4 6 10.4 4.3L635.1 444c4-1.7 6-6.3 4.3-10.4zM275.9 162.1l-112.1-46.5 36.5-63.4 94.5 39.2-18.9 70.7zm88.2 0l-18.9-70.7 94.5-39.2 36.5 63.4-112.1 46.5z"],"glass-martini":[512,512,[],"f000","M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6z"],"glass-martini-alt":[512,512,[],"f57b","M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6zM443.77 48l-48 48H116.24l-48-48h375.53z"],"glass-whiskey":[512,512,[],"f7a0","M480 32H32C12.5 32-2.4 49.2.3 68.5l56 356.5c4.5 31.5 31.5 54.9 63.4 54.9h273c31.8 0 58.9-23.4 63.4-54.9l55.6-356.5C514.4 49.2 499.5 32 480 32zm-37.4 64l-30 192h-313L69.4 96h373.2z"],glasses:[576,512,[],"f530","M574.1 280.37L528.75 98.66c-5.91-23.7-21.59-44.05-43-55.81-21.44-11.73-46.97-14.11-70.19-6.33l-15.25 5.08c-8.39 2.79-12.92 11.86-10.12 20.24l5.06 15.18c2.79 8.38 11.85 12.91 20.23 10.12l13.18-4.39c10.87-3.62 23-3.57 33.16 1.73 10.29 5.37 17.57 14.56 20.37 25.82l38.46 153.82c-22.19-6.81-49.79-12.46-81.2-12.46-34.77 0-73.98 7.02-114.85 26.74h-73.18c-40.87-19.74-80.08-26.75-114.86-26.75-31.42 0-59.02 5.65-81.21 12.46l38.46-153.83c2.79-11.25 10.09-20.45 20.38-25.81 10.16-5.3 22.28-5.35 33.15-1.73l13.17 4.39c8.38 2.79 17.44-1.74 20.23-10.12l5.06-15.18c2.8-8.38-1.73-17.45-10.12-20.24l-15.25-5.08c-23.22-7.78-48.75-5.41-70.19 6.33-21.41 11.77-37.09 32.11-43 55.8L1.9 280.37A64.218 64.218 0 0 0 0 295.86v70.25C0 429.01 51.58 480 115.2 480h37.12c60.28 0 110.37-45.94 114.88-105.37l2.93-38.63h35.75l2.93 38.63C313.31 434.06 363.4 480 423.68 480h37.12c63.62 0 115.2-50.99 115.2-113.88v-70.25c0-5.23-.64-10.43-1.9-15.5zm-370.72 89.42c-1.97 25.91-24.4 46.21-51.06 46.21H115.2C86.97 416 64 393.62 64 366.11v-37.54c18.12-6.49 43.42-12.92 72.58-12.92 23.86 0 47.26 4.33 69.93 12.92l-3.13 41.22zM512 366.12c0 27.51-22.97 49.88-51.2 49.88h-37.12c-26.67 0-49.1-20.3-51.06-46.21l-3.13-41.22c22.67-8.59 46.08-12.92 69.95-12.92 29.12 0 54.43 6.44 72.55 12.93v37.54z"],globe:[496,512,[],"f0ac","M336.5 160C322 70.7 287.8 8 248 8s-74 62.7-88.5 152h177zM152 256c0 22.2 1.2 43.5 3.3 64h185.3c2.1-20.5 3.3-41.8 3.3-64s-1.2-43.5-3.3-64H155.3c-2.1 20.5-3.3 41.8-3.3 64zm324.7-96c-28.6-67.9-86.5-120.4-158-141.6 24.4 33.8 41.2 84.7 50 141.6h108zM177.2 18.4C105.8 39.6 47.8 92.1 19.3 160h108c8.7-56.9 25.5-107.8 49.9-141.6zM487.4 192H372.7c2.1 21 3.3 42.5 3.3 64s-1.2 43-3.3 64h114.6c5.5-20.5 8.6-41.8 8.6-64s-3.1-43.5-8.5-64zM120 256c0-21.5 1.2-43 3.3-64H8.6C3.2 212.5 0 233.8 0 256s3.2 43.5 8.6 64h114.6c-2-21-3.2-42.5-3.2-64zm39.5 96c14.5 89.3 48.7 152 88.5 152s74-62.7 88.5-152h-177zm159.3 141.6c71.4-21.2 129.4-73.7 158-141.6h-108c-8.8 56.9-25.6 107.8-50 141.6zM19.3 352c28.6 67.9 86.5 120.4 158 141.6-24.4-33.8-41.2-84.7-50-141.6h-108z"],"globe-africa":[496,512,[],"f57c","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm160 215.5v6.93c0 5.87-3.32 11.24-8.57 13.86l-15.39 7.7a15.485 15.485 0 0 1-15.53-.97l-18.21-12.14a15.52 15.52 0 0 0-13.5-1.81l-2.65.88c-9.7 3.23-13.66 14.79-7.99 23.3l13.24 19.86c2.87 4.31 7.71 6.9 12.89 6.9h8.21c8.56 0 15.5 6.94 15.5 15.5v11.34c0 3.35-1.09 6.62-3.1 9.3l-18.74 24.98c-1.42 1.9-2.39 4.1-2.83 6.43l-4.3 22.83c-.62 3.29-2.29 6.29-4.76 8.56a159.608 159.608 0 0 0-25 29.16l-13.03 19.55a27.756 27.756 0 0 1-23.09 12.36c-10.51 0-20.12-5.94-24.82-15.34a78.902 78.902 0 0 1-8.33-35.29V367.5c0-8.56-6.94-15.5-15.5-15.5h-25.88c-14.49 0-28.38-5.76-38.63-16a54.659 54.659 0 0 1-16-38.63v-14.06c0-17.19 8.1-33.38 21.85-43.7l27.58-20.69a54.663 54.663 0 0 1 32.78-10.93h.89c8.48 0 16.85 1.97 24.43 5.77l14.72 7.36c3.68 1.84 7.93 2.14 11.83.84l47.31-15.77c6.33-2.11 10.6-8.03 10.6-14.7 0-8.56-6.94-15.5-15.5-15.5h-10.09c-4.11 0-8.05-1.63-10.96-4.54l-6.92-6.92a15.493 15.493 0 0 0-10.96-4.54H199.5c-8.56 0-15.5-6.94-15.5-15.5v-4.4c0-7.11 4.84-13.31 11.74-15.04l14.45-3.61c3.74-.94 7-3.23 9.14-6.44l8.08-12.11c2.87-4.31 7.71-6.9 12.89-6.9h24.21c8.56 0 15.5-6.94 15.5-15.5v-21.7C359.23 71.63 422.86 131.02 441.93 208H423.5c-8.56 0-15.5 6.94-15.5 15.5z"],"globe-americas":[496,512,[],"f57d","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm82.29 357.6c-3.9 3.88-7.99 7.95-11.31 11.28-2.99 3-5.1 6.7-6.17 10.71-1.51 5.66-2.73 11.38-4.77 16.87l-17.39 46.85c-13.76 3-28 4.69-42.65 4.69v-27.38c1.69-12.62-7.64-36.26-22.63-51.25-6-6-9.37-14.14-9.37-22.63v-32.01c0-11.64-6.27-22.34-16.46-27.97-14.37-7.95-34.81-19.06-48.81-26.11-11.48-5.78-22.1-13.14-31.65-21.75l-.8-.72a114.792 114.792 0 0 1-18.06-20.74c-9.38-13.77-24.66-36.42-34.59-51.14 20.47-45.5 57.36-82.04 103.2-101.89l24.01 12.01C203.48 89.74 216 82.01 216 70.11v-11.3c7.99-1.29 16.12-2.11 24.39-2.42l28.3 28.3c6.25 6.25 6.25 16.38 0 22.63L264 112l-10.34 10.34c-3.12 3.12-3.12 8.19 0 11.31l4.69 4.69c3.12 3.12 3.12 8.19 0 11.31l-8 8a8.008 8.008 0 0 1-5.66 2.34h-8.99c-2.08 0-4.08.81-5.58 2.27l-9.92 9.65a8.008 8.008 0 0 0-1.58 9.31l15.59 31.19c2.66 5.32-1.21 11.58-7.15 11.58h-5.64c-1.93 0-3.79-.7-5.24-1.96l-9.28-8.06a16.017 16.017 0 0 0-15.55-3.1l-31.17 10.39a11.95 11.95 0 0 0-8.17 11.34c0 4.53 2.56 8.66 6.61 10.69l11.08 5.54c9.41 4.71 19.79 7.16 30.31 7.16s22.59 27.29 32 32h66.75c8.49 0 16.62 3.37 22.63 9.37l13.69 13.69a30.503 30.503 0 0 1 8.93 21.57 46.536 46.536 0 0 1-13.72 32.98zM417 274.25c-5.79-1.45-10.84-5-14.15-9.97l-17.98-26.97a23.97 23.97 0 0 1 0-26.62l19.59-29.38c2.32-3.47 5.5-6.29 9.24-8.15l12.98-6.49C440.2 193.59 448 223.87 448 256c0 8.67-.74 17.16-1.82 25.54L417 274.25z"],"globe-asia":[496,512,[],"f57e","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm-11.34 240.23c-2.89 4.82-8.1 7.77-13.72 7.77h-.31c-4.24 0-8.31 1.69-11.31 4.69l-5.66 5.66c-3.12 3.12-3.12 8.19 0 11.31l5.66 5.66c3 3 4.69 7.07 4.69 11.31V304c0 8.84-7.16 16-16 16h-6.11c-6.06 0-11.6-3.42-14.31-8.85l-22.62-45.23c-2.44-4.88-8.95-5.94-12.81-2.08l-19.47 19.46c-3 3-7.07 4.69-11.31 4.69H50.81C49.12 277.55 48 266.92 48 256c0-110.28 89.72-200 200-200 21.51 0 42.2 3.51 61.63 9.82l-50.16 38.53c-5.11 3.41-4.63 11.06.86 13.81l10.83 5.41c5.42 2.71 8.84 8.25 8.84 14.31V216c0 4.42-3.58 8-8 8h-3.06c-3.03 0-5.8-1.71-7.15-4.42-1.56-3.12-5.96-3.29-7.76-.3l-17.37 28.95zM408 358.43c0 4.24-1.69 8.31-4.69 11.31l-9.57 9.57c-3 3-7.07 4.69-11.31 4.69h-15.16c-4.24 0-8.31-1.69-11.31-4.69l-13.01-13.01a26.767 26.767 0 0 0-25.42-7.04l-21.27 5.32c-1.27.32-2.57.48-3.88.48h-10.34c-4.24 0-8.31-1.69-11.31-4.69l-11.91-11.91a8.008 8.008 0 0 1-2.34-5.66v-10.2c0-3.27 1.99-6.21 5.03-7.43l39.34-15.74c1.98-.79 3.86-1.82 5.59-3.05l23.71-16.89a7.978 7.978 0 0 1 4.64-1.48h12.09c3.23 0 6.15 1.94 7.39 4.93l5.35 12.85a4 4 0 0 0 3.69 2.46h3.8c1.78 0 3.35-1.18 3.84-2.88l4.2-14.47c.5-1.71 2.06-2.88 3.84-2.88h6.06c2.21 0 4 1.79 4 4v12.93c0 2.12.84 4.16 2.34 5.66l11.91 11.91c3 3 4.69 7.07 4.69 11.31v24.6z"],"globe-europe":[496,512,[],"f7a2","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm200 248c0 22.5-3.9 44.2-10.8 64.4h-20.3c-4.3 0-8.4-1.7-11.4-4.8l-32-32.6c-4.5-4.6-4.5-12.1.1-16.7l12.5-12.5v-8.7c0-3-1.2-5.9-3.3-8l-9.4-9.4c-2.1-2.1-5-3.3-8-3.3h-16c-6.2 0-11.3-5.1-11.3-11.3 0-3 1.2-5.9 3.3-8l9.4-9.4c2.1-2.1 5-3.3 8-3.3h32c6.2 0 11.3-5.1 11.3-11.3v-9.4c0-6.2-5.1-11.3-11.3-11.3h-36.7c-8.8 0-16 7.2-16 16v4.5c0 6.9-4.4 13-10.9 15.2l-31.6 10.5c-3.3 1.1-5.5 4.1-5.5 7.6v2.2c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8s-3.6-8-8-8H247c-3 0-5.8 1.7-7.2 4.4l-9.4 18.7c-2.7 5.4-8.2 8.8-14.3 8.8H194c-8.8 0-16-7.2-16-16V199c0-4.2 1.7-8.3 4.7-11.3l20.1-20.1c4.6-4.6 7.2-10.9 7.2-17.5 0-3.4 2.2-6.5 5.5-7.6l40-13.3c1.7-.6 3.2-1.5 4.4-2.7l26.8-26.8c2.1-2.1 3.3-5 3.3-8 0-6.2-5.1-11.3-11.3-11.3H258l-16 16v8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-20c0-2.5 1.2-4.9 3.2-6.4l28.9-21.7c1.9-.1 3.8-.3 5.7-.3C358.3 56 448 145.7 448 256zM130.1 149.1c0-3 1.2-5.9 3.3-8l25.4-25.4c2.1-2.1 5-3.3 8-3.3 6.2 0 11.3 5.1 11.3 11.3v16c0 3-1.2 5.9-3.3 8l-9.4 9.4c-2.1 2.1-5 3.3-8 3.3h-16c-6.2 0-11.3-5.1-11.3-11.3zm128 306.4v-7.1c0-8.8-7.2-16-16-16h-20.2c-10.8 0-26.7-5.3-35.4-11.8l-22.2-16.7c-11.5-8.6-18.2-22.1-18.2-36.4v-23.9c0-16 8.4-30.8 22.1-39l42.9-25.7c7.1-4.2 15.2-6.5 23.4-6.5h31.2c10.9 0 21.4 3.9 29.6 10.9l43.2 37.1h18.3c8.5 0 16.6 3.4 22.6 9.4l17.3 17.3c3.4 3.4 8.1 5.3 12.9 5.3H423c-32.4 58.9-93.8 99.5-164.9 103.1z"],"golf-ball":[416,512,[],"f450","M96 416h224c0 17.7-14.3 32-32 32h-16c-17.7 0-32 14.3-32 32v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-20c0-17.7-14.3-32-32-32h-16c-17.7 0-32-14.3-32-32zm320-208c0 74.2-39 139.2-97.5 176h-221C39 347.2 0 282.2 0 208 0 93.1 93.1 0 208 0s208 93.1 208 208zm-180.1 43.9c18.3 0 33.1-14.8 33.1-33.1 0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1zm49.1 46.9c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1zm64-64c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1z"],gopuram:[512,512,[],"f664","M496 352h-16V240c0-8.8-7.2-16-16-16h-16v-80c0-8.8-7.2-16-16-16h-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16S96 7.2 96 16v112H80c-8.8 0-16 7.2-16 16v80H48c-8.8 0-16 7.2-16 16v112H16c-8.8 0-16 7.2-16 16v128c0 8.8 7.2 16 16 16h80V352h32V224h32v-96h32v96h-32v128h-32v160h80v-80c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v80h80V352h-32V224h-32v-96h32v96h32v128h32v160h80c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zM232 176c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v48h-48zm56 176h-64v-64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16z"],"graduation-cap":[640,512,[],"f19d","M622.34 153.2L343.4 67.5c-15.2-4.67-31.6-4.67-46.79 0L17.66 153.2c-23.54 7.23-23.54 38.36 0 45.59l48.63 14.94c-10.67 13.19-17.23 29.28-17.88 46.9C38.78 266.15 32 276.11 32 288c0 10.78 5.68 19.85 13.86 25.65L20.33 428.53C18.11 438.52 25.71 448 35.94 448h56.11c10.24 0 17.84-9.48 15.62-19.47L82.14 313.65C90.32 307.85 96 298.78 96 288c0-11.57-6.47-21.25-15.66-26.87.76-15.02 8.44-28.3 20.69-36.72L296.6 284.5c9.06 2.78 26.44 6.25 46.79 0l278.95-85.7c23.55-7.24 23.55-38.36 0-45.6zM352.79 315.09c-28.53 8.76-52.84 3.92-65.59 0l-145.02-44.55L128 384c0 35.35 85.96 64 192 64s192-28.65 192-64l-14.18-113.47-145.03 44.56z"],"greater-than":[384,512,[],"f531","M365.52 209.85L59.22 67.01c-16.06-7.49-35.15-.54-42.64 15.52L3.01 111.61c-7.49 16.06-.54 35.15 15.52 42.64L236.96 256.1 18.49 357.99C2.47 365.46-4.46 384.5 3.01 400.52l13.52 29C24 445.54 43.04 452.47 59.06 445l306.47-142.91a32.003 32.003 0 0 0 18.48-29v-34.23c-.01-12.45-7.21-23.76-18.49-29.01z"],"greater-than-equal":[448,512,[],"f532","M55.22 107.69l175.56 68.09-175.44 68.05c-18.39 6.03-27.88 24.39-21.2 41l12.09 30.08c6.68 16.61 26.99 25.19 45.38 19.15L393.02 214.2c13.77-4.52 22.98-16.61 22.98-30.17v-15.96c0-13.56-9.21-25.65-22.98-30.17L91.3 17.92c-18.29-6-38.51 2.53-45.15 19.06L34.12 66.9c-6.64 16.53 2.81 34.79 21.1 40.79zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z"],grimace:[496,512,[],"f57f","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM144 400h-8c-17.7 0-32-14.3-32-32v-8h40v40zm0-56h-40v-8c0-17.7 14.3-32 32-32h8v40zm-8-136c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm72 192h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm-8-104c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64 128c0 17.7-14.3 32-32 32h-8v-40h40v8zm0-24h-40v-40h8c17.7 0 32 14.3 32 32v8z"],grin:[496,512,[],"f580","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm80 256c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"],"grin-alt":[496,512,[],"f581","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm63.7 128.7c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zm-160 0c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"],"grin-beam":[496,512,[],"f582","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 144c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"],"grin-beam-sweat":[504,512,[],"f583","M456 128c26.5 0 48-21 48-47 0-20-28.5-60.4-41.6-77.8-3.2-4.3-9.6-4.3-12.8 0C436.5 20.6 408 61 408 81c0 26 21.5 47 48 47zm0 32c-44.1 0-80-35.4-80-79 0-4.4.3-14.2 8.1-32.2C345 23.1 298.3 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-35.1-7.4-68.4-20.5-98.6-6.3 1.5-12.7 2.6-19.5 2.6zm-128-8c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"],"grin-hearts":[496,512,[],"f584","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM90.4 183.6c6.7-17.6 26.7-26.7 44.9-21.9l7.1 1.9 2-7.1c5-18.1 22.8-30.9 41.5-27.9 21.4 3.4 34.4 24.2 28.8 44.5L195.3 243c-1.2 4.5-5.9 7.2-10.5 6l-70.2-18.2c-20.4-5.4-31.9-27-24.2-47.2zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm133.4-201.3l-70.2 18.2c-4.5 1.2-9.2-1.5-10.5-6L281.3 173c-5.6-20.3 7.4-41.1 28.8-44.5 18.6-3 36.4 9.8 41.5 27.9l2 7.1 7.1-1.9c18.2-4.7 38.2 4.3 44.9 21.9 7.7 20.3-3.8 41.9-24.2 47.2z"],"grin-squint":[496,512,[],"f585","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"],"grin-squint-tears":[512,512,[],"f586","M409.6 111.9c22.6-3.2 73.5-12 88.3-26.8 19.2-19.2 18.9-50.6-.7-70.2S446-5 426.9 14.2c-14.8 14.8-23.5 65.7-26.8 88.3-.8 5.5 3.9 10.2 9.5 9.4zM102.4 400.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm311.7-256.5c-33 3.9-48.6-25.1-45.7-45.7 3.4-24 7.4-42.1 11.5-56.5C285.1-13.4 161.8-.5 80.6 80.6-.5 161.7-13.4 285 41.4 379.9c14.4-4.1 32.4-8 56.5-11.5 33.2-3.9 48.6 25.2 45.7 45.7-3.4 24-7.4 42.1-11.5 56.5 94.8 54.8 218.1 41.9 299.3-39.2s94-204.4 39.2-299.3c-14.4 4.1-32.5 8-56.5 11.5zM255.7 106c3.3-13.2 22.4-11.5 23.6 1.8l4.8 52.3 52.3 4.8c13.4 1.2 14.9 20.3 1.8 23.6l-90.5 22.6c-8.9 2.2-16.7-5.9-14.5-14.5l22.5-90.6zm-90.9 230.3L160 284l-52.3-4.8c-13.4-1.2-14.9-20.3-1.8-23.6l90.5-22.6c8.8-2.2 16.7 5.8 14.5 14.5L188.3 338c-3.1 13.2-22.2 11.7-23.5-1.7zm215.7 44.2c-29.3 29.3-75.7 50.4-116.7 50.4-18.9 0-36.6-4.5-51-14.7-9.8-6.9-8.7-21.8 2-27.2 28.3-14.6 63.9-42.4 97.8-76.3s61.7-69.6 76.3-97.8c5.4-10.5 20.2-11.9 27.3-2 32.3 45.3 7.1 124.7-35.7 167.6z"],"grin-stars":[496,512,[],"f587","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM94.6 168.9l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.2 1 8.9 8.6 4.3 13.2l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L152 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.6-4.7-1.9-12.3 4.3-13.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm157.7-249.9l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L344 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.5-4.6-1.9-12.2 4.3-13.2l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.3.9 9 8.5 4.4 13.1z"],"grin-tears":[640,512,[],"f588","M102.4 256.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm523.4 26.8c-14.8-14.8-65.7-23.5-88.3-26.8-5.5-.8-10.3 3.9-9.5 9.5 3.2 22.6 12 73.5 26.8 88.3 19.2 19.2 50.6 18.9 70.2-.7s20-51.2.8-70.3zm-129.4-12.8c-3.8-26.6 19.1-49.5 45.7-45.7 8.9 1.3 16.8 2.7 24.3 4.1C552.7 104.5 447.7 8 320 8S87.3 104.5 73.6 228.5c7.5-1.4 15.4-2.8 24.3-4.1 33.2-3.9 48.6 25.3 45.7 45.7-11.8 82.3-29.9 100.4-35.8 106.4-.9.9-2 1.6-3 2.5 42.7 74.6 123 125 215.2 125s172.5-50.4 215.2-125.1c-1-.9-2.1-1.5-3-2.5-5.9-5.9-24-24-35.8-106.3zM400 152c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.7 9.2-21.6 20.7-17.9C227.1 330.5 272 336 320 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"],"grin-tongue":[496,512,[],"f589","M248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-34.9 134.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z"],"grin-tongue-squint":[496,512,[],"f58a","M293.1 374.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-33.8 210.3l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.7 4.7 7.7 15.9 0 20.6zm163 30c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.8-4.7-7.8-15.9 0-20.6l80-48c11.7-6.9 23.9 7.7 15.4 18L343.6 208l33.6 40.3z"],"grin-tongue-wink":[496,512,[],"f58b","M344 184c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-56 225l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L112 233c-8.5 7.4-21.6.3-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c1.6 11.1-11.6 18.2-20 10.8zm152 39c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm-50.9 102.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z"],"grin-wink":[496,512,[],"f58c","M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm168 25l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.6 11-11.5 18.2-20 10.8zm-243.1 87.8C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6 20.7 17.9-9.2 55-83.2 93.3-143.8 93.3s-134.5-38.3-143.8-93.3c-2-11.9 9.3-21.6 20.7-17.9z"],"grip-horizontal":[448,512,[],"f58d","M96 288H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM96 96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z"],"grip-lines":[512,512,[],"f7a4","M496 288H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-128H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z"],"grip-lines-vertical":[256,512,[],"f7a5","M96 496V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm128 0V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16z"],"grip-vertical":[320,512,[],"f58e","M96 32H32C14.33 32 0 46.33 0 64v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM288 32h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z"],guitar:[512,512,[],"f7a6","M502.63 39L473 9.37a32 32 0 0 0-45.26 0L381.46 55.7a35.14 35.14 0 0 0-8.53 13.79L360.77 106l-76.26 76.26c-12.16-8.76-25.5-15.74-40.1-19.14-33.45-7.78-67-.88-89.88 22a82.45 82.45 0 0 0-20.24 33.47c-6 18.56-23.21 32.69-42.15 34.46-23.7 2.27-45.73 11.45-62.61 28.44C-16.11 327-7.9 409 47.58 464.45S185 528 230.56 482.52c17-16.88 26.16-38.9 28.45-62.71 1.76-18.85 15.89-36.13 34.43-42.14a82.6 82.6 0 0 0 33.48-20.25c22.87-22.88 29.74-56.36 22-89.75-3.39-14.64-10.37-28-19.16-40.2L406 151.23l36.48-12.16a35.14 35.14 0 0 0 13.79-8.53l46.33-46.32a32 32 0 0 0 .03-45.22zM208 352a48 48 0 1 1 48-48 48 48 0 0 1-48 48z"],"h-square":[448,512,[],"f0fd","M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-112 48h-32c-8.837 0-16 7.163-16 16v80H160v-80c0-8.837-7.163-16-16-16h-32c-8.837 0-16 7.163-16 16v224c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16v-80h128v80c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16V144c0-8.837-7.163-16-16-16z"],hamburger:[512,512,[],"f805","M464 256H48a48 48 0 0 0 0 96h416a48 48 0 0 0 0-96zm16 128H32a16 16 0 0 0-16 16v16a64 64 0 0 0 64 64h352a64 64 0 0 0 64-64v-16a16 16 0 0 0-16-16zM58.64 224h394.72c34.57 0 54.62-43.9 34.82-75.88C448 83.2 359.55 32.1 256 32c-103.54.1-192 51.2-232.18 116.11C4 180.09 24.07 224 58.64 224zM384 112a16 16 0 1 1-16 16 16 16 0 0 1 16-16zM256 80a16 16 0 1 1-16 16 16 16 0 0 1 16-16zm-128 32a16 16 0 1 1-16 16 16 16 0 0 1 16-16z"],hammer:[576,512,[],"f6e3","M571.31 193.94l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31-28.9-28.9c5.63-21.31.36-44.9-16.35-61.61l-45.25-45.25c-62.48-62.48-163.79-62.48-226.28 0l90.51 45.25v18.75c0 16.97 6.74 33.25 18.75 45.25l49.14 49.14c16.71 16.71 40.3 21.98 61.61 16.35l28.9 28.9-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l90.51-90.51c6.23-6.24 6.23-16.37-.02-22.62zm-286.72-15.2c-3.7-3.7-6.84-7.79-9.85-11.95L19.64 404.96c-25.57 23.88-26.26 64.19-1.53 88.93s65.05 24.05 88.93-1.53l238.13-255.07c-3.96-2.91-7.9-5.87-11.44-9.41l-49.14-49.14z"],hamsa:[512,512,[],"f665","M509.34 307.25C504.28 295.56 492.75 288 480 288h-64V80c0-22-18-40-40-40s-40 18-40 40v134c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V40c0-22-18-40-40-40s-40 18-40 40v174c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V80c0-22-18-40-40-40S96 58 96 80v208H32c-12.75 0-24.28 7.56-29.34 19.25a31.966 31.966 0 0 0 5.94 34.58l102.69 110.03C146.97 490.08 199.69 512 256 512s109.03-21.92 144.72-60.14L503.4 341.83a31.966 31.966 0 0 0 5.94-34.58zM256 416c-53.02 0-96-64-96-64s42.98-64 96-64 96 64 96 64-42.98 64-96 64zm0-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z"],"hand-holding":[576,512,[],"f4bd","M565.3 328.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z"],"hand-holding-heart":[576,512,[],"f4be","M275.3 250.5c7 7.4 18.4 7.4 25.5 0l108.9-114.2c31.6-33.2 29.8-88.2-5.6-118.8-30.8-26.7-76.7-21.9-104.9 7.7L288 36.9l-11.1-11.6C248.7-4.4 202.8-9.2 172 17.5c-35.3 30.6-37.2 85.6-5.6 118.8l108.9 114.2zm290 77.6c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z"],"hand-holding-medical":[576,512,[],"e05c","M159.88,175.82h64v64a16,16,0,0,0,16,16h64a16,16,0,0,0,16-16v-64h64a16,16,0,0,0,16-16v-64a16,16,0,0,0-16-16h-64v-64a16,16,0,0,0-16-16h-64a16,16,0,0,0-16,16v64h-64a16,16,0,0,0-16,16v64A16,16,0,0,0,159.88,175.82ZM568.07,336.13a39.91,39.91,0,0,0-55.93-8.47L392.47,415.84H271.86a16,16,0,0,1,0-32H350.1c16,0,30.75-10.87,33.37-26.61a32.06,32.06,0,0,0-31.62-37.38h-160a117.7,117.7,0,0,0-74.12,26.25l-46.5,37.74H15.87a16.11,16.11,0,0,0-16,16v96a16.11,16.11,0,0,0,16,16h347a104.8,104.8,0,0,0,61.7-20.27L559.6,392A40,40,0,0,0,568.07,336.13Z"],"hand-holding-usd":[576,512,[],"f4c0","M271.06,144.3l54.27,14.3a8.59,8.59,0,0,1,6.63,8.1c0,4.6-4.09,8.4-9.12,8.4h-35.6a30,30,0,0,1-11.19-2.2c-5.24-2.2-11.28-1.7-15.3,2l-19,17.5a11.68,11.68,0,0,0-2.25,2.66,11.42,11.42,0,0,0,3.88,15.74,83.77,83.77,0,0,0,34.51,11.5V240c0,8.8,7.83,16,17.37,16h17.37c9.55,0,17.38-7.2,17.38-16V222.4c32.93-3.6,57.84-31,53.5-63-3.15-23-22.46-41.3-46.56-47.7L282.68,97.4a8.59,8.59,0,0,1-6.63-8.1c0-4.6,4.09-8.4,9.12-8.4h35.6A30,30,0,0,1,332,83.1c5.23,2.2,11.28,1.7,15.3-2l19-17.5A11.31,11.31,0,0,0,368.47,61a11.43,11.43,0,0,0-3.84-15.78,83.82,83.82,0,0,0-34.52-11.5V16c0-8.8-7.82-16-17.37-16H295.37C285.82,0,278,7.2,278,16V33.6c-32.89,3.6-57.85,31-53.51,63C227.63,119.6,247,137.9,271.06,144.3ZM565.27,328.1c-11.8-10.7-30.2-10-42.6,0L430.27,402a63.64,63.64,0,0,1-40,14H272a16,16,0,0,1,0-32h78.29c15.9,0,30.71-10.9,33.25-26.6a31.2,31.2,0,0,0,.46-5.46A32,32,0,0,0,352,320H192a117.66,117.66,0,0,0-74.1,26.29L71.4,384H16A16,16,0,0,0,0,400v96a16,16,0,0,0,16,16H372.77a64,64,0,0,0,40-14L564,377a32,32,0,0,0,1.28-48.9Z"],"hand-holding-water":[576,512,[],"f4c1","M288 256c53 0 96-42.1 96-94 0-40-57.1-120.7-83.2-155.6-6.4-8.5-19.2-8.5-25.6 0C249.1 41.3 192 122 192 162c0 51.9 43 94 96 94zm277.3 72.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z"],"hand-lizard":[576,512,[],"f258","M384 480h192V363.778a95.998 95.998 0 0 0-14.833-51.263L398.127 54.368A48 48 0 0 0 357.544 32H24C10.745 32 0 42.745 0 56v16c0 30.928 25.072 56 56 56h229.981c12.844 0 21.556 13.067 16.615 24.923l-21.41 51.385A32 32 0 0 1 251.648 224H128c-35.346 0-64 28.654-64 64v8c0 13.255 10.745 24 24 24h147.406a47.995 47.995 0 0 1 25.692 7.455l111.748 70.811A24.001 24.001 0 0 1 384 418.539V480z"],"hand-middle-finger":[512,512,[],"f806","M479.93 317.12a37.33 37.33 0 0 0-28.28-36.19L416 272v-49.59c0-11.44-9.69-21.29-23.15-23.54l-38.4-6.4C336.63 189.5 320 200.86 320 216v32a8 8 0 0 1-16 0V50c0-26.28-20.25-49.2-46.52-50A48 48 0 0 0 208 48v200a8 8 0 0 1-16 0v-32c0-15.15-16.63-26.51-34.45-23.54l-30.68 5.12c-18 3-30.87 16.12-30.87 31.38V376a8 8 0 0 1-16 0v-76l-27.36 15A37.34 37.34 0 0 0 32 348.4v73.47a37.31 37.31 0 0 0 10.93 26.39l30.93 30.93A112 112 0 0 0 153.05 512h215A112 112 0 0 0 480 400z"],"hand-paper":[448,512,[],"f256","M408.781 128.007C386.356 127.578 368 146.36 368 168.79V256h-8V79.79c0-22.43-18.356-41.212-40.781-40.783C297.488 39.423 280 57.169 280 79v177h-8V40.79C272 18.36 253.644-.422 231.219.007 209.488.423 192 18.169 192 40v216h-8V80.79c0-22.43-18.356-41.212-40.781-40.783C121.488 40.423 104 58.169 104 80v235.992l-31.648-43.519c-12.993-17.866-38.009-21.817-55.877-8.823-17.865 12.994-21.815 38.01-8.822 55.877l125.601 172.705A48 48 0 0 0 172.073 512h197.59c22.274 0 41.622-15.324 46.724-37.006l26.508-112.66a192.011 192.011 0 0 0 5.104-43.975V168c.001-21.831-17.487-39.577-39.218-39.993z"],"hand-peace":[448,512,[],"f25b","M408 216c-22.092 0-40 17.909-40 40h-8v-32c0-22.091-17.908-40-40-40s-40 17.909-40 40v32h-8V48c0-26.51-21.49-48-48-48s-48 21.49-48 48v208h-13.572L92.688 78.449C82.994 53.774 55.134 41.63 30.461 51.324 5.787 61.017-6.356 88.877 3.337 113.551l74.765 190.342-31.09 24.872c-15.381 12.306-19.515 33.978-9.741 51.081l64 112A39.998 39.998 0 0 0 136 512h240c18.562 0 34.686-12.77 38.937-30.838l32-136A39.97 39.97 0 0 0 448 336v-80c0-22.091-17.908-40-40-40z"],"hand-point-down":[384,512,[],"f0a7","M91.826 467.2V317.966c-8.248 5.841-16.558 10.57-24.918 14.153C35.098 345.752-.014 322.222 0 288c.008-18.616 10.897-32.203 29.092-40 28.286-12.122 64.329-78.648 77.323-107.534 7.956-17.857 25.479-28.453 43.845-28.464l.001-.002h171.526c11.812 0 21.897 8.596 23.703 20.269 7.25 46.837 38.483 61.76 38.315 123.731-.007 2.724.195 13.254.195 16 0 50.654-22.122 81.574-71.263 72.6-9.297 18.597-39.486 30.738-62.315 16.45-21.177 24.645-53.896 22.639-70.944 6.299V467.2c0 24.15-20.201 44.8-43.826 44.8-23.283 0-43.826-21.35-43.826-44.8zM112 72V24c0-13.255 10.745-24 24-24h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24zm212-24c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z"],"hand-point-left":[512,512,[],"f0a5","M44.8 155.826h149.234c-5.841-8.248-10.57-16.558-14.153-24.918C166.248 99.098 189.778 63.986 224 64c18.616.008 32.203 10.897 40 29.092 12.122 28.286 78.648 64.329 107.534 77.323 17.857 7.956 28.453 25.479 28.464 43.845l.002.001v171.526c0 11.812-8.596 21.897-20.269 23.703-46.837 7.25-61.76 38.483-123.731 38.315-2.724-.007-13.254.195-16 .195-50.654 0-81.574-22.122-72.6-71.263-18.597-9.297-30.738-39.486-16.45-62.315-24.645-21.177-22.639-53.896-6.299-70.944H44.8c-24.15 0-44.8-20.201-44.8-43.826 0-23.283 21.35-43.826 44.8-43.826zM440 176h48c13.255 0 24 10.745 24 24v192c0 13.255-10.745 24-24 24h-48c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24zm24 212c11.046 0 20-8.954 20-20s-8.954-20-20-20-20 8.954-20 20 8.954 20 20 20z"],"hand-point-right":[512,512,[],"f0a4","M512 199.652c0 23.625-20.65 43.826-44.8 43.826h-99.851c16.34 17.048 18.346 49.766-6.299 70.944 14.288 22.829 2.147 53.017-16.45 62.315C353.574 425.878 322.654 448 272 448c-2.746 0-13.276-.203-16-.195-61.971.168-76.894-31.065-123.731-38.315C120.596 407.683 112 397.599 112 385.786V214.261l.002-.001c.011-18.366 10.607-35.889 28.464-43.845 28.886-12.994 95.413-49.038 107.534-77.323 7.797-18.194 21.384-29.084 40-29.092 34.222-.014 57.752 35.098 44.119 66.908-3.583 8.359-8.312 16.67-14.153 24.918H467.2c23.45 0 44.8 20.543 44.8 43.826zM96 200v192c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24h48c13.255 0 24 10.745 24 24zM68 368c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z"],"hand-point-up":[384,512,[],"f0a6","M135.652 0c23.625 0 43.826 20.65 43.826 44.8v99.851c17.048-16.34 49.766-18.346 70.944 6.299 22.829-14.288 53.017-2.147 62.315 16.45C361.878 158.426 384 189.346 384 240c0 2.746-.203 13.276-.195 16 .168 61.971-31.065 76.894-38.315 123.731C343.683 391.404 333.599 400 321.786 400H150.261l-.001-.002c-18.366-.011-35.889-10.607-43.845-28.464C93.421 342.648 57.377 276.122 29.092 264 10.897 256.203.008 242.616 0 224c-.014-34.222 35.098-57.752 66.908-44.119 8.359 3.583 16.67 8.312 24.918 14.153V44.8c0-23.45 20.543-44.8 43.826-44.8zM136 416h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24v-48c0-13.255 10.745-24 24-24zm168 28c-11.046 0-20 8.954-20 20s8.954 20 20 20 20-8.954 20-20-8.954-20-20-20z"],"hand-pointer":[448,512,[],"f25a","M448 240v96c0 3.084-.356 6.159-1.063 9.162l-32 136C410.686 499.23 394.562 512 376 512H168a40.004 40.004 0 0 1-32.35-16.473l-127.997-176c-12.993-17.866-9.043-42.883 8.822-55.876 17.867-12.994 42.884-9.043 55.877 8.823L104 315.992V40c0-22.091 17.908-40 40-40s40 17.909 40 40v200h8v-40c0-22.091 17.908-40 40-40s40 17.909 40 40v40h8v-24c0-22.091 17.908-40 40-40s40 17.909 40 40v24h8c0-22.091 17.908-40 40-40s40 17.909 40 40zm-256 80h-8v96h8v-96zm88 0h-8v96h8v-96zm88 0h-8v96h8v-96z"],"hand-rock":[512,512,[],"f255","M464.8 80c-26.9-.4-48.8 21.2-48.8 48h-8V96.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v32h-8V80.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v48h-8V96.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v136l-8-7.1v-48.1c0-26.3-20.9-48.3-47.2-48.8C21.9 127.6 0 149.2 0 176v66.4c0 27.4 11.7 53.5 32.2 71.8l111.7 99.3c10.2 9.1 16.1 22.2 16.1 35.9v6.7c0 13.3 10.7 24 24 24h240c13.3 0 24-10.7 24-24v-2.9c0-12.8 2.6-25.5 7.5-37.3l49-116.3c5-11.8 7.5-24.5 7.5-37.3V128.8c0-26.3-20.9-48.4-47.2-48.8z"],"hand-scissors":[512,512,[],"f257","M216 440c0-22.092 17.909-40 40-40v-8h-32c-22.091 0-40-17.908-40-40s17.909-40 40-40h32v-8H48c-26.51 0-48-21.49-48-48s21.49-48 48-48h208v-13.572l-177.551-69.74c-24.674-9.694-36.818-37.555-27.125-62.228 9.693-24.674 37.554-36.817 62.228-27.124l190.342 74.765 24.872-31.09c12.306-15.381 33.978-19.515 51.081-9.741l112 64A40.002 40.002 0 0 1 512 168v240c0 18.562-12.77 34.686-30.838 38.937l-136 32A39.982 39.982 0 0 1 336 480h-80c-22.091 0-40-17.908-40-40z"],"hand-sparkles":[640,512,[],"e05d","M106.66,170.64l.09,0,49.55-20.65a7.32,7.32,0,0,0,3.68-6h0a7.29,7.29,0,0,0-3.68-6l-49.57-20.67-.07,0L86,67.68a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L3.7,138A7.29,7.29,0,0,0,0,144H0a7.32,7.32,0,0,0,3.68,6L53.27,170.6l.07,0L74,220.26a6.65,6.65,0,0,0,11.92,0l20.69-49.62ZM471.38,467.41l-1-.42-1-.5a38.67,38.67,0,0,1,0-69.14l1-.49,1-.43,37.49-15.63,15.63-37.48.41-1,.47-.95c3.85-7.74,10.58-13.63,18.35-17.34,0-1.33.25-2.69.27-4V144a32,32,0,0,0-64,0v72a8,8,0,0,1-8,8H456a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H360a8,8,0,0,1-8-8V32a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H264a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0v241l-23.59-32.49a40,40,0,0,0-64.71,47.09L229.3,492.21A48.07,48.07,0,0,0,268.09,512H465.7c19.24,0,35.65-11.73,43.24-28.79l-.07-.17ZM349.79,339.52,320,351.93l-12.42,29.78a4,4,0,0,1-7.15,0L288,351.93l-29.79-12.41a4,4,0,0,1,0-7.16L288,319.94l12.42-29.78a4,4,0,0,1,7.15,0L320,319.94l29.79,12.42a4,4,0,0,1,0,7.16ZM640,431.91a7.28,7.28,0,0,0-3.68-6l-49.57-20.67-.07,0L566,355.63a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L483.7,426a7.28,7.28,0,0,0-3.68,6h0a7.29,7.29,0,0,0,3.68,5.95l49.57,20.67.07,0L554,508.21a6.65,6.65,0,0,0,11.92,0l20.69-49.62h0l.09,0,49.55-20.66a7.29,7.29,0,0,0,3.68-5.95h0Z"],"hand-spock":[512,512,[],"f259","M510.9005,145.27027,442.604,432.09391A103.99507,103.99507,0,0,1,341.43745,512H214.074a135.96968,135.96968,0,0,1-93.18489-36.95291L12.59072,373.12723a39.992,39.992,0,0,1,54.8122-58.24988l60.59342,57.02528v0a283.24849,283.24849,0,0,0-11.6703-80.46734L73.63726,147.36011a40.00575,40.00575,0,1,1,76.71833-22.7187l37.15458,125.39477a8.33113,8.33113,0,0,0,16.05656-4.4414L153.26183,49.95406A39.99638,39.99638,0,1,1,230.73015,30.0166l56.09491,218.15825a10.42047,10.42047,0,0,0,20.30018-.501L344.80766,63.96966a40.052,40.052,0,0,1,51.30245-30.0893c19.86073,6.2998,30.86262,27.67378,26.67564,48.08487l-33.83869,164.966a7.55172,7.55172,0,0,0,14.74406,3.2666l29.3973-123.45874a39.99414,39.99414,0,1,1,77.81208,18.53121Z"],hands:[640,512,[],"f4c2","M204.8 230.4c-10.6-14.1-30.7-17-44.8-6.4-14.1 10.6-17 30.7-6.4 44.8l38.1 50.8c4.8 6.4 4.1 15.3-1.5 20.9l-12.8 12.8c-6.7 6.7-17.6 6.2-23.6-1.1L64 244.4V96c0-17.7-14.3-32-32-32S0 78.3 0 96v218.4c0 10.9 3.7 21.5 10.5 30l104.1 134.3c5 6.5 8.4 13.9 10.4 21.7 1.8 6.9 8.1 11.6 15.3 11.6H272c8.8 0 16-7.2 16-16V384c0-27.7-9-54.6-25.6-76.8l-57.6-76.8zM608 64c-17.7 0-32 14.3-32 32v148.4l-89.8 107.8c-6 7.2-17 7.7-23.6 1.1l-12.8-12.8c-5.6-5.6-6.3-14.5-1.5-20.9l38.1-50.8c10.6-14.1 7.7-34.2-6.4-44.8-14.1-10.6-34.2-7.7-44.8 6.4l-57.6 76.8C361 329.4 352 356.3 352 384v112c0 8.8 7.2 16 16 16h131.7c7.1 0 13.5-4.7 15.3-11.6 2-7.8 5.4-15.2 10.4-21.7l104.1-134.3c6.8-8.5 10.5-19.1 10.5-30V96c0-17.7-14.3-32-32-32z"],"hands-helping":[640,512,[],"f4c4","M488 192H336v56c0 39.7-32.3 72-72 72s-72-32.3-72-72V126.4l-64.9 39C107.8 176.9 96 197.8 96 220.2v47.3l-80 46.2C.7 322.5-4.6 342.1 4.3 357.4l80 138.6c8.8 15.3 28.4 20.5 43.7 11.7L231.4 448H368c35.3 0 64-28.7 64-64h16c17.7 0 32-14.3 32-32v-64h8c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24zm147.7-37.4L555.7 16C546.9.7 527.3-4.5 512 4.3L408.6 64H306.4c-12 0-23.7 3.4-33.9 9.7L239 94.6c-9.4 5.8-15 16.1-15 27.1V248c0 22.1 17.9 40 40 40s40-17.9 40-40v-88h184c30.9 0 56 25.1 56 56v28.5l80-46.2c15.3-8.9 20.5-28.4 11.7-43.7z"],"hands-wash":[576,512,[],"e05e","M496,224a48,48,0,1,0-48-48A48,48,0,0,0,496,224ZM311.47,178.45A56.77,56.77,0,0,1,328,176a56,56,0,0,1,19,3.49l15.35-48.61A24,24,0,0,0,342,99.74c-11.53-1.35-22.21,6.44-25.71,17.51l-20.9,66.17ZM93.65,386.33c.8-.19,1.54-.54,2.35-.71V359.93a156,156,0,0,1,107.06-148l73.7-22.76L310.92,81.05a24,24,0,0,0-20.33-31.11c-11.53-1.34-22.22,6.45-25.72,17.52L231.42,173.88a8,8,0,0,1-15.26-4.83L259.53,31.26A24,24,0,0,0,239.2.15C227.67-1.19,217,6.6,213.49,17.66L165.56,169.37a8,8,0,1,1-15.26-4.82l38.56-122a24,24,0,0,0-20.33-31.11C157,10,146.32,17.83,142.82,28.9l-60,189.85L80.76,168.7A24,24,0,0,0,56.9,144.55c-13.23-.05-24.72,10.54-24.9,23.86V281.14A123.69,123.69,0,0,0,93.65,386.33ZM519.1,336H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,279.84,498.71,272,487.1,272H288l47.09-17.06a24,24,0,0,0-14.18-45.88L213.19,242.31A123.88,123.88,0,0,0,128,360v25.65a79.78,79.78,0,0,1,58,108.63A118.9,118.9,0,0,0,248,512H456a24,24,0,0,0,23.54-28.76C477.35,471.84,466.71,464,455.1,464H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,407.84,498.71,400,487.1,400H360a8,8,0,0,1,0-16H520a24,24,0,0,0,23.54-28.76C541.35,343.84,530.71,336,519.1,336ZM416,64a32,32,0,1,0-32-32A32,32,0,0,0,416,64ZM112,416a48,48,0,1,0,48,48A48,48,0,0,0,112,416Z"],handshake:[640,512,[],"f2b5","M434.7 64h-85.9c-8 0-15.7 3-21.6 8.4l-98.3 90c-.1.1-.2.3-.3.4-16.6 15.6-16.3 40.5-2.1 56 12.7 13.9 39.4 17.6 56.1 2.7.1-.1.3-.1.4-.2l79.9-73.2c6.5-5.9 16.7-5.5 22.6 1 6 6.5 5.5 16.6-1 22.6l-26.1 23.9L504 313.8c2.9 2.4 5.5 5 7.9 7.7V128l-54.6-54.6c-5.9-6-14.1-9.4-22.6-9.4zM544 128.2v223.9c0 17.7 14.3 32 32 32h64V128.2h-96zm48 223.9c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM0 384h64c17.7 0 32-14.3 32-32V128.2H0V384zm48-63.9c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16c0-8.9 7.2-16 16-16zm435.9 18.6L334.6 217.5l-30 27.5c-29.7 27.1-75.2 24.5-101.7-4.4-26.9-29.4-24.8-74.9 4.4-101.7L289.1 64h-83.8c-8.5 0-16.6 3.4-22.6 9.4L128 128v223.9h18.3l90.5 81.9c27.4 22.3 67.7 18.1 90-9.3l.2-.2 17.9 15.5c15.9 13 39.4 10.5 52.3-5.4l31.4-38.6 5.4 4.4c13.7 11.1 33.9 9.1 45-4.7l9.5-11.7c11.2-13.8 9.1-33.9-4.6-45.1z"],"handshake-alt-slash":[640,512,[],"e05f","M358.59,195.6,504.2,313.8a63.4,63.4,0,0,1,22.21,37.91H624a16.05,16.05,0,0,0,16-16V143.91A16,16,0,0,0,624,128H512L457.41,73.41A32,32,0,0,0,434.8,64H348.91a32,32,0,0,0-21.61,8.41l-88.12,80.68-25.69-19.85L289.09,64H205.3a32,32,0,0,0-22.6,9.41l-20.34,20.3L45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.54,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45L303.4,202.72l32.69-29.92,27-24.7a16,16,0,0,1,21.61,23.61ZM16,128A16.05,16.05,0,0,0,0,144V335.91a16,16,0,0,0,16,16H146.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L23.56,128Z"],"handshake-slash":[640,512,[],"e060","M0,128.21V384H64a32,32,0,0,0,32-32V184L23.83,128.21ZM48,320.1a16,16,0,1,1-16,16A16,16,0,0,1,48,320.1Zm80,31.81h18.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L128,208.72Zm416-223.7V352.1a32,32,0,0,0,32,32h64V128.21ZM592,352.1a16,16,0,1,1,16-16A16,16,0,0,1,592,352.1ZM303.33,202.67l59.58-54.57a16,16,0,0,1,21.59,23.61L358.41,195.6,504,313.8a73.08,73.08,0,0,1,7.91,7.7V128L457.3,73.41A31.76,31.76,0,0,0,434.7,64H348.8a31.93,31.93,0,0,0-21.6,8.41l-88.07,80.64-25.64-19.81L289.09,64H205.3a32,32,0,0,0-22.6,9.41L162.36,93.72,45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.65-25.27a16,16,0,0,0-2.82-22.45Z"],hanukiah:[640,512,[],"f6e6","M232 160c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm-64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm224 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm88 8c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v120h32V168zm-440-8c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm520 0h-32c-8.84 0-16 7.16-16 16v112c0 17.67-14.33 32-32 32H352V128c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v192H96c-17.67 0-32-14.33-32-32V176c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v112c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V176c0-8.84-7.16-16-16-16zm-16-32c13.25 0 24-11.94 24-26.67S608 48 608 48s-24 38.61-24 53.33S594.75 128 608 128zm-576 0c13.25 0 24-11.94 24-26.67S32 48 32 48 8 86.61 8 101.33 18.75 128 32 128zm288-48c13.25 0 24-11.94 24-26.67S320 0 320 0s-24 38.61-24 53.33S306.75 80 320 80zm-208 48c13.25 0 24-11.94 24-26.67S112 48 112 48s-24 38.61-24 53.33S98.75 128 112 128zm64 0c13.25 0 24-11.94 24-26.67S176 48 176 48s-24 38.61-24 53.33S162.75 128 176 128zm64 0c13.25 0 24-11.94 24-26.67S240 48 240 48s-24 38.61-24 53.33S226.75 128 240 128zm160 0c13.25 0 24-11.94 24-26.67S400 48 400 48s-24 38.61-24 53.33S386.75 128 400 128zm64 0c13.25 0 24-11.94 24-26.67S464 48 464 48s-24 38.61-24 53.33S450.75 128 464 128zm64 0c13.25 0 24-11.94 24-26.67S528 48 528 48s-24 38.61-24 53.33S514.75 128 528 128z"],"hard-hat":[512,512,[],"f807","M480 288c0-80.25-49.28-148.92-119.19-177.62L320 192V80a16 16 0 0 0-16-16h-96a16 16 0 0 0-16 16v112l-40.81-81.62C81.28 139.08 32 207.75 32 288v64h448zm16 96H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h480a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"],hashtag:[448,512,[],"f292","M440.667 182.109l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l14.623-81.891C377.123 38.754 371.468 32 363.997 32h-40.632a12 12 0 0 0-11.813 9.891L296.175 128H197.54l14.623-81.891C213.477 38.754 207.822 32 200.35 32h-40.632a12 12 0 0 0-11.813 9.891L132.528 128H53.432a12 12 0 0 0-11.813 9.891l-7.143 40C33.163 185.246 38.818 192 46.289 192h74.81L98.242 320H19.146a12 12 0 0 0-11.813 9.891l-7.143 40C-1.123 377.246 4.532 384 12.003 384h74.81L72.19 465.891C70.877 473.246 76.532 480 84.003 480h40.632a12 12 0 0 0 11.813-9.891L151.826 384h98.634l-14.623 81.891C234.523 473.246 240.178 480 247.65 480h40.632a12 12 0 0 0 11.813-9.891L315.472 384h79.096a12 12 0 0 0 11.813-9.891l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l22.857-128h79.096a12 12 0 0 0 11.813-9.891zM261.889 320h-98.634l22.857-128h98.634l-22.857 128z"],"hat-cowboy":[640,512,[],"f8c0","M490 296.9C480.51 239.51 450.51 64 392.3 64c-14 0-26.49 5.93-37 14a58.21 58.21 0 0 1-70.58 0c-10.51-8-23-14-37-14-58.2 0-88.2 175.47-97.71 232.88C188.81 309.47 243.73 320 320 320s131.23-10.51 170-23.1zm142.9-37.18a16 16 0 0 0-19.75 1.5c-1 .9-101.27 90.78-293.16 90.78-190.82 0-292.22-89.94-293.24-90.84A16 16 0 0 0 1 278.53C1.73 280.55 78.32 480 320 480s318.27-199.45 319-201.47a16 16 0 0 0-6.09-18.81z"],"hat-cowboy-side":[640,512,[],"f8c1","M260.8 291.06c-28.63-22.94-62-35.06-96.4-35.06C87 256 21.47 318.72 1.43 412.06c-3.55 16.6-.43 33.83 8.57 47.3C18.75 472.47 31.83 480 45.88 480H592c-103.21 0-155-37.07-233.19-104.46zm234.65-18.29L468.4 116.2A64 64 0 0 0 392 64.41L200.85 105a64 64 0 0 0-50.35 55.79L143.61 226c6.9-.83 13.7-2 20.79-2 41.79 0 82 14.55 117.29 42.82l98 84.48C450.76 412.54 494.9 448 592 448a48 48 0 0 0 48-48c0-25.39-29.6-119.33-144.55-127.23z"],"hat-wizard":[512,512,[],"f6e8","M496 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-304-64l-64-32 64-32 32-64 32 64 64 32-64 32-16 32h208l-86.41-201.63a63.955 63.955 0 0 1-1.89-45.45L416 0 228.42 107.19a127.989 127.989 0 0 0-53.46 59.15L64 416h144l-16-32zm64-224l16-32 16 32 32 16-32 16-16 32-16-32-32-16 32-16z"],hdd:[576,512,[],"f0a0","M576 304v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48zm-48-80a79.557 79.557 0 0 1 30.777 6.165L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L17.223 230.165A79.557 79.557 0 0 1 48 224h480zm-48 96c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm-96 0c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z"],"head-side-cough":[640,512,[],"e061","M616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304ZM552,416a24,24,0,1,0,24,24A24,24,0,0,0,552,416Zm-64-56a24,24,0,1,0,24,24A24,24,0,0,0,488,360ZM616,464a24,24,0,1,0,24,24A24,24,0,0,0,616,464Zm0-104a24,24,0,1,0,24,24A24,24,0,0,0,616,360Zm-64-40a24,24,0,1,0,24,24A24,24,0,0,0,552,320Zm-74.78-45c-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192C86,0,0,86,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320a32,32,0,0,1,0-64h96V320h32A32,32,0,0,0,477.22,275ZM288,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,288,224Z"],"head-side-cough-slash":[640,512,[],"e062","M454.11,319.21c19.56-3.81,31.62-25,23.11-44.21-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192A190.64,190.64,0,0,0,84.18,33.3L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM313.39,210.45,263.61,172c5.88-7.14,14.43-12,24.36-12a32.06,32.06,0,0,1,32,32C320,199,317.24,205.17,313.39,210.45ZM616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304Zm-64,64a24,24,0,1,0-24-24A24,24,0,0,0,552,368ZM288,384a32,32,0,0,1,32-32h19.54L20.73,105.59A190.86,190.86,0,0,0,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320A32,32,0,0,1,288,384Zm328-24a24,24,0,1,0,24,24A24,24,0,0,0,616,360Z"],"head-side-mask":[512,512,[],"e063","M.15,184.42C-2.17,244.21,23,298.06,64,334.88V512H224V316.51L3.67,156.25A182.28,182.28,0,0,0,.15,184.42ZM509.22,275c-21-47.12-48.5-151.75-73.12-186.75A208.11,208.11,0,0,0,266.11,0H200C117,0,42.48,50.57,13.25,123.65L239.21,288H511.76A31.35,31.35,0,0,0,509.22,275ZM320,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,320,224Zm16,144H496l16-48H256V512H401.88a64,64,0,0,0,60.71-43.76L464,464H336a16,16,0,0,1,0-32H474.67l10.67-32H336a16,16,0,0,1,0-32Z"],"head-side-virus":[512,512,[],"e064","M272,240a16,16,0,1,0,16,16A16,16,0,0,0,272,240Zm-64-64a16,16,0,1,0,16,16A16,16,0,0,0,208,176Zm301.2,99c-20.93-47.12-48.43-151.73-73.07-186.75A207.9,207.9,0,0,0,266.09,0H192C86,0,0,86,0,192A191.23,191.23,0,0,0,64,334.81V512H320V448h64a64,64,0,0,0,64-64V320H480A32,32,0,0,0,509.2,275ZM368,240H355.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C290.47,297.09,256,311.37,256,339.88V352a16,16,0,0,1-32,0V339.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H112a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V96a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C313.09,173.53,327.37,208,355.88,208H368a16,16,0,0,1,0,32Z"],heading:[512,512,[],"f1dc","M448 96v320h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H320a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V288H160v128h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V96H32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16h-32v128h192V96h-32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16z"],headphones:[512,512,[],"f025","M256 32C114.52 32 0 146.496 0 288v48a32 32 0 0 0 17.689 28.622l14.383 7.191C34.083 431.903 83.421 480 144 480h24c13.255 0 24-10.745 24-24V280c0-13.255-10.745-24-24-24h-24c-31.342 0-59.671 12.879-80 33.627V288c0-105.869 86.131-192 192-192s192 86.131 192 192v1.627C427.671 268.879 399.342 256 368 256h-24c-13.255 0-24 10.745-24 24v176c0 13.255 10.745 24 24 24h24c60.579 0 109.917-48.098 111.928-108.187l14.382-7.191A32 32 0 0 0 512 336v-48c0-141.479-114.496-256-256-256z"],"headphones-alt":[512,512,[],"f58f","M160 288h-16c-35.35 0-64 28.7-64 64.12v63.76c0 35.41 28.65 64.12 64 64.12h16c17.67 0 32-14.36 32-32.06V320.06c0-17.71-14.33-32.06-32-32.06zm208 0h-16c-17.67 0-32 14.35-32 32.06v127.88c0 17.7 14.33 32.06 32 32.06h16c35.35 0 64-28.71 64-64.12v-63.76c0-35.41-28.65-64.12-64-64.12zM256 32C112.91 32 4.57 151.13 0 288v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288c0-114.67 93.33-207.8 208-207.82 114.67.02 208 93.15 208 207.82v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288C507.43 151.13 399.09 32 256 32z"],headset:[512,512,[],"f590","M192 208c0-17.67-14.33-32-32-32h-16c-35.35 0-64 28.65-64 64v48c0 35.35 28.65 64 64 64h16c17.67 0 32-14.33 32-32V208zm176 144c35.35 0 64-28.65 64-64v-48c0-35.35-28.65-64-64-64h-16c-17.67 0-32 14.33-32 32v112c0 17.67 14.33 32 32 32h16zM256 0C113.18 0 4.58 118.83 0 256v16c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-16c0-114.69 93.31-208 208-208s208 93.31 208 208h-.12c.08 2.43.12 165.72.12 165.72 0 23.35-18.93 42.28-42.28 42.28H320c0-26.51-21.49-48-48-48h-32c-26.51 0-48 21.49-48 48s21.49 48 48 48h181.72c49.86 0 90.28-40.42 90.28-90.28V256C507.42 118.83 398.82 0 256 0z"],heart:[512,512,[],"f004","M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z"],"heart-broken":[512,512,[],"f7a9","M473.7 73.8l-2.4-2.5c-46-47-118-51.7-169.6-14.8L336 159.9l-96 64 48 128-144-144 96-64-28.6-86.5C159.7 19.6 87 24 40.7 71.4l-2.4 2.4C-10.4 123.6-12.5 202.9 31 256l212.1 218.6c7.1 7.3 18.6 7.3 25.7 0L481 255.9c43.5-53 41.4-132.3-7.3-182.1z"],heartbeat:[512,512,[],"f21e","M320.2 243.8l-49.7 99.4c-6 12.1-23.4 11.7-28.9-.6l-56.9-126.3-30 71.7H60.6l182.5 186.5c7.1 7.3 18.6 7.3 25.7 0L451.4 288H342.3l-22.1-44.2zM473.7 73.9l-2.4-2.5c-51.5-52.6-135.8-52.6-187.4 0L256 100l-27.9-28.5c-51.5-52.7-135.9-52.7-187.4 0l-2.4 2.4C-10.4 123.7-12.5 203 31 256h102.4l35.9-86.2c5.4-12.9 23.6-13.2 29.4-.4l58.2 129.3 49-97.9c5.9-11.8 22.7-11.8 28.6 0l27.6 55.2H481c43.5-53 41.4-132.3-7.3-182.1z"],helicopter:[640,512,[],"f533","M304 384h272c17.67 0 32-14.33 32-32 0-123.71-100.29-224-224-224V64h176c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H144c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h176v64H112L68.8 70.4C65.78 66.37 61.03 64 56 64H16.01C5.6 64-2.04 73.78.49 83.88L32 192l160 64 86.4 115.2A31.992 31.992 0 0 0 304 384zm112-188.49C478.55 208.3 528.03 257.44 540.79 320H416V195.51zm219.37 263.3l-22.15-22.2c-6.25-6.26-16.24-6.1-22.64.01-7.09 6.77-13.84 11.25-24.64 11.25H240c-8.84 0-16 7.18-16 16.03v32.06c0 8.85 7.16 16.03 16 16.03h325.94c14.88 0 35.3-.47 68.45-29.52 7.02-6.14 7.57-17.05.98-23.66z"],highlighter:[544,512,[],"f591","M0 479.98L99.92 512l35.45-35.45-67.04-67.04L0 479.98zm124.61-240.01a36.592 36.592 0 0 0-10.79 38.1l13.05 42.83-50.93 50.94 96.23 96.23 50.86-50.86 42.74 13.08c13.73 4.2 28.65-.01 38.15-10.78l35.55-41.64-173.34-173.34-41.52 35.44zm403.31-160.7l-63.2-63.2c-20.49-20.49-53.38-21.52-75.12-2.35L190.55 183.68l169.77 169.78L530.27 154.4c19.18-21.74 18.15-54.63-2.35-75.13z"],hiking:[384,512,[],"f6ec","M80.95 472.23c-4.28 17.16 6.14 34.53 23.28 38.81 2.61.66 5.22.95 7.8.95 14.33 0 27.37-9.7 31.02-24.23l25.24-100.97-52.78-52.78-34.56 138.22zm14.89-196.12L137 117c2.19-8.42-3.14-16.95-11.92-19.06-43.88-10.52-88.35 15.07-99.32 57.17L.49 253.24c-2.19 8.42 3.14 16.95 11.92 19.06l63.56 15.25c8.79 2.1 17.68-3.02 19.87-11.44zM368 160h-16c-8.84 0-16 7.16-16 16v16h-34.75l-46.78-46.78C243.38 134.11 228.61 128 212.91 128c-27.02 0-50.47 18.3-57.03 44.52l-26.92 107.72a32.012 32.012 0 0 0 8.42 30.39L224 397.25V480c0 17.67 14.33 32 32 32s32-14.33 32-32v-82.75c0-17.09-6.66-33.16-18.75-45.25l-46.82-46.82c.15-.5.49-.89.62-1.41l19.89-79.57 22.43 22.43c6 6 14.14 9.38 22.62 9.38h48v240c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V176c.01-8.84-7.15-16-15.99-16zM240 96c26.51 0 48-21.49 48-48S266.51 0 240 0s-48 21.49-48 48 21.49 48 48 48z"],hippo:[640,512,[],"f6ed","M581.12 96.2c-27.67-.15-52.5 17.58-76.6 26.62C489.98 88.27 455.83 64 416 64c-11.28 0-21.95 2.3-32 5.88V56c0-13.26-10.75-24-24-24h-16c-13.25 0-24 10.74-24 24v48.98C286.01 79.58 241.24 64 192 64 85.96 64 0 135.64 0 224v240c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16v-70.79C128.35 407.57 166.72 416 208 416s79.65-8.43 112-22.79V464c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V288h128v32c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-32c17.67 0 32-14.33 32-32v-92.02c0-34.09-24.79-67.59-58.88-67.78zM448 176c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z"],history:[512,512,[],"f1da","M504 255.531c.253 136.64-111.18 248.372-247.82 248.468-59.015.042-113.223-20.53-155.822-54.911-11.077-8.94-11.905-25.541-1.839-35.607l11.267-11.267c8.609-8.609 22.353-9.551 31.891-1.984C173.062 425.135 212.781 440 256 440c101.705 0 184-82.311 184-184 0-101.705-82.311-184-184-184-48.814 0-93.149 18.969-126.068 49.932l50.754 50.754c10.08 10.08 2.941 27.314-11.313 27.314H24c-8.837 0-16-7.163-16-16V38.627c0-14.254 17.234-21.393 27.314-11.314l49.372 49.372C129.209 34.136 189.552 8 256 8c136.81 0 247.747 110.78 248 247.531zm-180.912 78.784l9.823-12.63c8.138-10.463 6.253-25.542-4.21-33.679L288 256.349V152c0-13.255-10.745-24-24-24h-16c-13.255 0-24 10.745-24 24v135.651l65.409 50.874c10.463 8.137 25.541 6.253 33.679-4.21z"],"hockey-puck":[512,512,[],"f453","M0 160c0-53 114.6-96 256-96s256 43 256 96-114.6 96-256 96S0 213 0 160zm0 82.2V352c0 53 114.6 96 256 96s256-43 256-96V242.2c-113.4 82.3-398.5 82.4-512 0z"],"holly-berry":[448,512,[],"f7aa","M144 192c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zm112-48c0 26.5 21.5 48 48 48s48-21.5 48-48-21.5-48-48-48-48 21.5-48 48zm-32-48c26.5 0 48-21.5 48-48S250.5 0 224 0s-48 21.5-48 48 21.5 48 48 48zm-16.2 139.1c.1-12.4-13.1-20.1-23.8-13.7-34.3 20.3-71.4 32.7-108.7 36.2-9.7.9-15.6 11.3-11.6 20.2 6.2 13.9 11.1 28.6 14.7 43.8 3.6 15.2-5.3 30.6-20.2 35.1-14.9 4.5-30.1 7.6-45.3 9.1-9.7 1-15.7 11.3-11.7 20.2 15 32.8 22.9 69.5 23 107.7.1 14.4 15.2 23.1 27.6 16 33.2-19 68.9-30.5 104.8-33.9 9.7-.9 15.6-11.3 11.6-20.2-6.2-13.9-11.1-28.6-14.7-43.8-3.6-15.2 5.3-30.6 20.2-35.1 14.9-4.5 30.1-7.6 45.3-9.1 9.7-1 15.7-11.3 11.7-20.2-15.5-34.2-23.3-72.5-22.9-112.3zM435 365.6c-15.2-1.6-30.3-4.7-45.3-9.1-14.9-4.5-23.8-19.9-20.2-35.1 3.6-15.2 8.5-29.8 14.7-43.8 4-8.9-1.9-19.3-11.6-20.2-37.3-3.5-74.4-15.9-108.7-36.2-10.7-6.3-23.9 1.4-23.8 13.7 0 1.6-.2 3.2-.2 4.9.2 33.3 7 65.7 19.9 94 5.7 12.4 5.2 26.6-.6 38.9 4.9 1.2 9.9 2.2 14.8 3.7 14.9 4.5 23.8 19.9 20.2 35.1-3.6 15.2-8.5 29.8-14.7 43.8-4 8.9 1.9 19.3 11.6 20.2 35.9 3.4 71.6 14.9 104.8 33.9 12.5 7.1 27.6-1.6 27.6-16 .2-38.2 8-75 23-107.7 4.3-8.7-1.8-19.1-11.5-20.1z"],home:[576,512,[],"f015","M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z"],horse:[576,512,[],"f6f0","M575.92 76.6c-.01-8.13-3.02-15.87-8.58-21.8-3.78-4.03-8.58-9.12-13.69-14.5 11.06-6.84 19.5-17.49 22.18-30.66C576.85 4.68 572.96 0 567.9 0H447.92c-70.69 0-128 57.31-128 128H160c-28.84 0-54.4 12.98-72 33.11V160c-48.53 0-88 39.47-88 88v56c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-56c0-13.22 6.87-24.39 16.78-31.68-.21 2.58-.78 5.05-.78 7.68 0 27.64 11.84 52.36 30.54 69.88l-25.72 68.6a63.945 63.945 0 0 0-2.16 37.99l24.85 99.41A15.982 15.982 0 0 0 107.02 512h65.96c10.41 0 18.05-9.78 15.52-19.88l-26.31-105.26 23.84-63.59L320 345.6V496c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V318.22c19.74-20.19 32-47.75 32-78.22 0-.22-.07-.42-.08-.64V136.89l16 7.11 18.9 37.7c7.45 14.87 25.05 21.55 40.49 15.37l32.55-13.02a31.997 31.997 0 0 0 20.12-29.74l-.06-77.71zm-64 19.4c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z"],"horse-head":[512,512,[],"f7ab","M509.8 332.5l-69.9-164.3c-14.9-41.2-50.4-71-93-79.2 18-10.6 46.3-35.9 34.2-82.3-1.3-5-7.1-7.9-12-6.1L166.9 76.3C35.9 123.4 0 238.9 0 398.8V480c0 17.7 14.3 32 32 32h236.2c23.8 0 39.3-25 28.6-46.3L256 384v-.7c-45.6-3.5-84.6-30.7-104.3-69.6-1.6-3.1-.9-6.9 1.6-9.3l12.1-12.1c3.9-3.9 10.6-2.7 12.9 2.4 14.8 33.7 48.2 57.4 87.4 57.4 17.2 0 33-5.1 46.8-13.2l46 63.9c6 8.4 15.7 13.3 26 13.3h50.3c8.5 0 16.6-3.4 22.6-9.4l45.3-39.8c8.9-9.1 11.7-22.6 7.1-34.4zM328 224c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24z"],hospital:[448,512,[],"f0f8","M448 492v20H0v-20c0-6.627 5.373-12 12-12h20V120c0-13.255 10.745-24 24-24h88V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v72h88c13.255 0 24 10.745 24 24v360h20c6.627 0 12 5.373 12 12zM308 192h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-168 64h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm104 128h-40c-6.627 0-12 5.373-12 12v84h64v-84c0-6.627-5.373-12-12-12zm64-96h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-116 12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40zM182 96h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6z"],"hospital-alt":[576,512,[],"f47d","M544 96H416V32c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32v64H32c-17.7 0-32 14.3-32 32v368c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16V128c0-17.7-14.3-32-32-32zM160 436c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm160 128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm16-170c0 3.3-2.7 6-6 6h-26v26c0 3.3-2.7 6-6 6h-20c-3.3 0-6-2.7-6-6v-26h-26c-3.3 0-6-2.7-6-6v-20c0-3.3 2.7-6 6-6h26V86c0-3.3 2.7-6 6-6h20c3.3 0 6 2.7 6 6v26h26c3.3 0 6 2.7 6 6v20zm144 298c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z"],"hospital-symbol":[512,512,[],"f47e","M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm112 376c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-88h-96v88c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V136c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v88h96v-88c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v240z"],"hospital-user":[640,512,[],"f80d","M480 320a96 96 0 1 0-96-96 96 96 0 0 0 96 96zm48 32a22.88 22.88 0 0 0-7.06 1.09 124.76 124.76 0 0 1-81.89 0A22.82 22.82 0 0 0 432 352a112 112 0 0 0-112 112.62c.14 26.26 21.73 47.38 48 47.38h224c26.27 0 47.86-21.12 48-47.38A112 112 0 0 0 528 352zm-198.09 10.45A145.19 145.19 0 0 1 352 344.62V128a32 32 0 0 0-32-32h-32V32a32 32 0 0 0-32-32H96a32 32 0 0 0-32 32v64H32a32 32 0 0 0-32 32v368a16 16 0 0 0 16 16h288.31A78.62 78.62 0 0 1 288 464.79a143.06 143.06 0 0 1 41.91-102.34zM144 404a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm0-128a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm48-122a6 6 0 0 1-6 6h-20a6 6 0 0 1-6-6v-26h-26a6 6 0 0 1-6-6v-20a6 6 0 0 1 6-6h26V70a6 6 0 0 1 6-6h20a6 6 0 0 1 6 6v26h26a6 6 0 0 1 6 6v20a6 6 0 0 1-6 6h-26zm80 250a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm0-128a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12z"],"hot-tub":[512,512,[],"f593","M414.21 177.65c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C378.96 6.14 372.22 0 364.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zm-108 0c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C270.96 6.14 264.22 0 256.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zM480 256H256l-110.93-83.2a63.99 63.99 0 0 0-38.4-12.8H64c-35.35 0-64 28.65-64 64v224c0 35.35 28.65 64 64 64h384c35.35 0 64-28.65 64-64V288c0-17.67-14.33-32-32-32zM128 440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zM64 128c35.35 0 64-28.65 64-64S99.35 0 64 0 0 28.65 0 64s28.65 64 64 64z"],hotdog:[512,512,[],"f80f","M488.56 23.44a80 80 0 0 0-113.12 0l-352 352a80 80 0 1 0 113.12 113.12l352-352a80 80 0 0 0 0-113.12zm-49.93 95.19c-19.6 19.59-37.52 22.67-51.93 25.14C373.76 146 364.4 147.6 352 160s-14 21.76-16.23 34.71c-2.48 14.4-5.55 32.33-25.15 51.92s-37.52 22.67-51.92 25.15C245.75 274 236.4 275.6 224 288s-14 21.75-16.23 34.7c-2.47 14.4-5.54 32.33-25.14 51.92s-37.53 22.68-51.93 25.15C117.76 402 108.4 403.6 96 416a16 16 0 0 1-22.63-22.63c19.6-19.59 37.52-22.67 51.92-25.14 13-2.22 22.3-3.82 34.71-16.23s14-21.75 16.22-34.7c2.48-14.4 5.55-32.33 25.15-51.92s37.52-22.67 51.92-25.14c13-2.22 22.3-3.83 34.7-16.23s14-21.76 16.24-34.71c2.47-14.4 5.54-32.33 25.14-51.92s37.52-22.68 51.92-25.15C394.24 110 403.59 108.41 416 96a16 16 0 0 1 22.63 22.63zM31.44 322.18L322.18 31.44l-11.54-11.55c-25-25-63.85-26.66-86.79-3.72L16.17 223.85c-22.94 22.94-21.27 61.79 3.72 86.78zm449.12-132.36L189.82 480.56l11.54 11.55c25 25 63.85 26.66 86.79 3.72l207.68-207.68c22.94-22.94 21.27-61.79-3.72-86.79z"],hotel:[576,512,[],"f594","M560 64c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h15.98v384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h240v-80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v80h240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-16V64h16zm-304 44.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm0 96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm-128-96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zM179.2 256h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8zM192 384c0-53.02 42.98-96 96-96s96 42.98 96 96H192zm256-140.8c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-96c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4z"],hourglass:[384,512,[],"f254","M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64z"],"hourglass-end":[384,512,[],"f253","M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64zM192 208c-57.787 0-104-66.518-104-144h208c0 77.945-46.51 144-104 144z"],"hourglass-half":[384,512,[],"f252","M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-75.078 384H99.08c17.059-46.797 52.096-80 92.92-80 40.821 0 75.862 33.196 92.922 80zm.019-256H99.078C91.988 108.548 88 86.748 88 64h208c0 22.805-3.987 44.587-11.059 64z"],"hourglass-start":[384,512,[],"f251","M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-64 448H88c0-77.458 46.204-144 104-144 57.786 0 104 66.517 104 144z"],"house-damage":[576,512,[],"f6f1","M288 114.96L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496c0 8.84 7.16 16 16 16h149.23L192 439.19l104.11-64-60.16-119.22L384 392.75l-104.11 64L319.81 512H496c8.84 0 16-7.16 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2L288 114.96zm282.69 121.32L512 184.45V48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v51.69L314.75 10.31C307.12 3.45 297.56.01 288 0s-19.1 3.41-26.7 10.27L5.31 236.28c-6.57 5.91-7.12 16.02-1.21 22.6l21.4 23.82c5.9 6.57 16.02 7.12 22.6 1.21L277.42 81.63c6.05-5.33 15.12-5.33 21.17 0L527.91 283.9c6.57 5.9 16.69 5.36 22.6-1.21l21.4-23.82c5.9-6.57 5.36-16.69-1.22-22.59z"],"house-user":[576,512,[],"e065","M570.69,236.27,512,184.44V48a16,16,0,0,0-16-16H432a16,16,0,0,0-16,16V99.67L314.78,10.3C308.5,4.61,296.53,0,288,0s-20.46,4.61-26.74,10.3l-256,226A18.27,18.27,0,0,0,0,248.2a18.64,18.64,0,0,0,4.09,10.71L25.5,282.7a21.14,21.14,0,0,0,12,5.3,21.67,21.67,0,0,0,10.69-4.11l15.9-14V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V269.88l15.91,14A21.94,21.94,0,0,0,538.63,288a20.89,20.89,0,0,0,11.87-5.31l21.41-23.81A21.64,21.64,0,0,0,576,248.19,21,21,0,0,0,570.69,236.27ZM288,176a64,64,0,1,1-64,64A64,64,0,0,1,288,176ZM400,448H176a16,16,0,0,1-16-16,96,96,0,0,1,96-96h64a96,96,0,0,1,96,96A16,16,0,0,1,400,448Z"],hryvnia:[384,512,[],"f6f2","M368 240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-41.86c13.41-28.63 13.74-63.33-4.13-94.05C303.34 49.84 267.1 32 229.96 32h-78.82c-24.32 0-47.86 8.53-66.54 24.09L72.83 65.9c-10.18 8.49-11.56 23.62-3.07 33.8l20.49 24.59c8.49 10.19 23.62 11.56 33.81 3.07l11.73-9.78c4.32-3.6 9.77-5.57 15.39-5.57h83.62c11.69 0 21.2 9.52 21.2 21.2 0 5.91-2.48 11.58-6.81 15.58L219.7 176H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h134.37l-34.67 32H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h41.86c-13.41 28.63-13.74 63.33 4.13 94.05C80.66 462.15 116.9 480 154.04 480h78.82c24.32 0 47.86-8.53 66.54-24.09l11.77-9.81c10.18-8.49 11.56-23.62 3.07-33.8l-20.49-24.59c-8.49-10.19-23.62-11.56-33.81-3.07l-11.75 9.8a23.992 23.992 0 0 1-15.36 5.56H149.2c-11.69 0-21.2-9.52-21.2-21.2 0-5.91 2.48-11.58 6.81-15.58L164.3 336H368c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H233.63l34.67-32H368z"],"i-cursor":[256,512,[],"f246","M256 52.048V12.065C256 5.496 250.726.148 244.158.066 211.621-.344 166.469.011 128 37.959 90.266.736 46.979-.114 11.913.114 5.318.157 0 5.519 0 12.114v39.645c0 6.687 5.458 12.078 12.145 11.998C38.111 63.447 96 67.243 96 112.182V224H60c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h36v112c0 44.932-56.075 48.031-83.95 47.959C5.404 447.942 0 453.306 0 459.952v39.983c0 6.569 5.274 11.917 11.842 11.999 32.537.409 77.689.054 116.158-37.894 37.734 37.223 81.021 38.073 116.087 37.845 6.595-.043 11.913-5.405 11.913-12V460.24c0-6.687-5.458-12.078-12.145-11.998C217.889 448.553 160 444.939 160 400V288h36c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-36V112.182c0-44.932 56.075-48.213 83.95-48.142 6.646.018 12.05-5.346 12.05-11.992z"],"ice-cream":[448,512,[],"f810","M368 160h-.94a144 144 0 1 0-286.12 0H80a48 48 0 0 0 0 96h288a48 48 0 0 0 0-96zM195.38 493.69a31.52 31.52 0 0 0 57.24 0L352 288H96z"],icicles:[512,512,[],"f7ad","M511.4 37.9C515.1 18.2 500 0 480 0H32C10.6 0-4.8 20.7 1.4 41.2l87.1 273.4c2.5 7.2 12.7 7.2 15.1 0L140 190.5l44.2 187.3c1.9 8.3 13.7 8.3 15.6 0l46.5-196.9 34.1 133.4c2.3 7.6 13 7.6 15.3 0l45.8-172.5 66.7 363.8c1.7 8.6 14 8.6 15.7 0l87.5-467.7z"],icons:[512,512,[],"f86d","M116.65 219.35a15.68 15.68 0 0 0 22.65 0l96.75-99.83c28.15-29 26.5-77.1-4.91-103.88C203.75-7.7 163-3.5 137.86 22.44L128 32.58l-9.85-10.14C93.05-3.5 52.25-7.7 24.86 15.64c-31.41 26.78-33 74.85-5 103.88zm143.92 100.49h-48l-7.08-14.24a27.39 27.39 0 0 0-25.66-17.78h-71.71a27.39 27.39 0 0 0-25.66 17.78l-7 14.24h-48A27.45 27.45 0 0 0 0 347.3v137.25A27.44 27.44 0 0 0 27.43 512h233.14A27.45 27.45 0 0 0 288 484.55V347.3a27.45 27.45 0 0 0-27.43-27.46zM144 468a52 52 0 1 1 52-52 52 52 0 0 1-52 52zm355.4-115.9h-60.58l22.36-50.75c2.1-6.65-3.93-13.21-12.18-13.21h-75.59c-6.3 0-11.66 3.9-12.5 9.1l-16.8 106.93c-1 6.3 4.88 11.89 12.5 11.89h62.31l-24.2 83c-1.89 6.65 4.2 12.9 12.23 12.9a13.26 13.26 0 0 0 10.92-5.25l92.4-138.91c4.88-6.91-1.16-15.7-10.87-15.7zM478.08.33L329.51 23.17C314.87 25.42 304 38.92 304 54.83V161.6a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.48-64 48s28.65 48 64 48c35.2 0 63.73-21.32 64-47.66V99.66l112-17.22v47.18a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.48-64 48s28.65 48 64 48c35.2 0 63.73-21.32 64-47.66V32c0-19.48-16-34.42-33.92-31.67z"],"id-badge":[384,512,[],"f2c1","M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM144 32h96c8.8 0 16 7.2 16 16s-7.2 16-16 16h-96c-8.8 0-16-7.2-16-16s7.2-16 16-16zm48 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 416 80 407.4 80 396.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z"],"id-card":[576,512,[],"f2c2","M528 32H48C21.5 32 0 53.5 0 80v16h576V80c0-26.5-21.5-48-48-48zM0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V128H0v304zm352-232c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zM176 192c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zM67.1 396.2C75.5 370.5 99.6 352 128 352h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.9-5.2 19.8-15.6 19.8H82.7c-10.4 0-18.8-10-15.6-19.8z"],"id-card-alt":[576,512,[],"f47f","M528 64H384v96H192V64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM288 224c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm93.3 224H194.7c-10.4 0-18.8-10-15.6-19.8 8.3-25.6 32.4-44.2 60.9-44.2h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.8-5.2 19.8-15.6 19.8zM352 32c0-17.7-14.3-32-32-32h-64c-17.7 0-32 14.3-32 32v96h128V32z"],igloo:[576,512,[],"f7ae","M320 33.9c-10.5-1.2-21.2-1.9-32-1.9-99.8 0-187.8 50.8-239.4 128H320V33.9zM96 192H30.3C11.1 230.6 0 274 0 320h96V192zM352 39.4V160h175.4C487.2 99.9 424.8 55.9 352 39.4zM480 320h96c0-46-11.1-89.4-30.3-128H480v128zm-64 64v96h128c17.7 0 32-14.3 32-32v-96H411.5c2.6 10.3 4.5 20.9 4.5 32zm32-192H128v128h49.8c22.2-38.1 63-64 110.2-64s88 25.9 110.2 64H448V192zM0 448c0 17.7 14.3 32 32 32h128v-96c0-11.1 1.9-21.7 4.5-32H0v96zm288-160c-53 0-96 43-96 96v96h192v-96c0-53-43-96-96-96z"],image:[512,512,[],"f03e","M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"],images:[576,512,[],"f302","M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v208c0 44.112 35.888 80 80 80h336zm96-80V80c0-26.51-21.49-48-48-48H144c-26.51 0-48 21.49-48 48v256c0 26.51 21.49 48 48 48h384c26.51 0 48-21.49 48-48zM256 128c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-96 144l55.515-55.515c4.686-4.686 12.284-4.686 16.971 0L272 256l135.515-135.515c4.686-4.686 12.284-4.686 16.971 0L512 208v112H160v-48z"],inbox:[576,512,[],"f01c","M567.938 243.908L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L8.062 243.908A47.994 47.994 0 0 0 0 270.533V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V270.533a47.994 47.994 0 0 0-8.062-26.625zM162.252 128h251.497l85.333 128H376l-32 64H232l-32-64H76.918l85.334-128z"],indent:[448,512,[],"f03c","M27.31 363.3l96-96a16 16 0 0 0 0-22.62l-96-96C17.27 138.66 0 145.78 0 160v192c0 14.31 17.33 21.3 27.31 11.3zM432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-128H204.83A12.82 12.82 0 0 0 192 300.83v38.34A12.82 12.82 0 0 0 204.83 352h230.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288zm0-128H204.83A12.82 12.82 0 0 0 192 172.83v38.34A12.82 12.82 0 0 0 204.83 224h230.34A12.82 12.82 0 0 0 448 211.17v-38.34A12.82 12.82 0 0 0 435.17 160zM432 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"],industry:[512,512,[],"f275","M475.115 163.781L336 252.309v-68.28c0-18.916-20.931-30.399-36.885-20.248L160 252.309V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h464c13.255 0 24-10.745 24-24V184.029c0-18.917-20.931-30.399-36.885-20.248z"],infinity:[640,512,[],"f534","M471.1 96C405 96 353.3 137.3 320 174.6 286.7 137.3 235 96 168.9 96 75.8 96 0 167.8 0 256s75.8 160 168.9 160c66.1 0 117.8-41.3 151.1-78.6 33.3 37.3 85 78.6 151.1 78.6 93.1 0 168.9-71.8 168.9-160S564.2 96 471.1 96zM168.9 320c-40.2 0-72.9-28.7-72.9-64s32.7-64 72.9-64c38.2 0 73.4 36.1 94 64-20.4 27.6-55.9 64-94 64zm302.2 0c-38.2 0-73.4-36.1-94-64 20.4-27.6 55.9-64 94-64 40.2 0 72.9 28.7 72.9 64s-32.7 64-72.9 64z"],info:[192,512,[],"f129","M20 424.229h20V279.771H20c-11.046 0-20-8.954-20-20V212c0-11.046 8.954-20 20-20h112c11.046 0 20 8.954 20 20v212.229h20c11.046 0 20 8.954 20 20V492c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20v-47.771c0-11.046 8.954-20 20-20zM96 0C56.235 0 24 32.235 24 72s32.235 72 72 72 72-32.235 72-72S135.764 0 96 0z"],"info-circle":[512,512,[],"f05a","M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"],italic:[320,512,[],"f033","M320 48v32a16 16 0 0 1-16 16h-62.76l-80 320H208a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h62.76l80-320H112a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h192a16 16 0 0 1 16 16z"],jedi:[576,512,[],"f669","M535.95308,352c-42.64069,94.17188-137.64086,160-247.9848,160q-6.39844,0-12.84377-.29688C171.15558,506.9375,81.26481,442.23438,40.01474,352H79.93668L21.3272,293.40625a264.82522,264.82522,0,0,1-5.10938-39.42187,273.6653,273.6653,0,0,1,.5-29.98438H63.93665L22.546,182.625A269.79782,269.79782,0,0,1,130.51489,20.54688a16.06393,16.06393,0,0,1,9.28127-3,16.36332,16.36332,0,0,1,13.5,7.25,16.02739,16.02739,0,0,1,1.625,15.09374,138.387,138.387,0,0,0-9.84376,51.26563c0,45.10937,21.04691,86.57813,57.71884,113.73437a16.29989,16.29989,0,0,1,1.20313,25.39063c-26.54692,23.98437-41.17194,56.5-41.17194,91.57813,0,60.03124,42.95319,110.28124,99.89079,121.92187l2.5-65.26563L238.062,397a8.33911,8.33911,0,0,1-10-.75,8.025,8.025,0,0,1-1.39063-9.9375l20.125-33.76562-42.06257-8.73438a7.9898,7.9898,0,0,1,0-15.65625l42.06257-8.71875-20.10941-33.73438a7.99122,7.99122,0,0,1,11.35939-10.71874L268.437,295.64062,279.95265,7.67188a7.97138,7.97138,0,0,1,8-7.67188h.04687a8.02064,8.02064,0,0,1,7.95314,7.70312L307.48394,295.625l30.39068-20.67188a8.08327,8.08327,0,0,1,10,.8125,7.99866,7.99866,0,0,1,1.39062,9.90626L329.12461,319.4375l42.07819,8.73438a7.99373,7.99373,0,0,1,0,15.65624l-42.07819,8.71876,20.1094,33.73437a7.97791,7.97791,0,0,1-1.32812,9.92187A8.25739,8.25739,0,0,1,337.87462,397L310.7027,378.53125l2.5,65.34375c48.48446-9.40625,87.57828-48.15625,97.31267-96.5A123.52652,123.52652,0,0,0,371.9528,230.29688a16.30634,16.30634,0,0,1,1.20313-25.42188c36.65631-27.17188,57.6876-68.60938,57.6876-113.73438a138.01689,138.01689,0,0,0-9.85939-51.3125,15.98132,15.98132,0,0,1,1.60937-15.09374,16.36914,16.36914,0,0,1,13.5-7.23438,16.02453,16.02453,0,0,1,9.25,2.98438A271.26947,271.26947,0,0,1,553.25,182.76562L511.99992,224h46.9532C559.3125,229.76562,560,235.45312,560,241.26562a270.092,270.092,0,0,1-5.125,51.85938L495.98427,352Z"],joint:[640,512,[],"f595","M444.34 181.1c22.38 15.68 35.66 41.16 35.66 68.59V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-43.24-21.01-83.41-56.34-108.06C463.85 125.02 448 99.34 448 70.31V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v66.4c0 43.69 24.56 81.63 60.34 106.7zM194.97 358.98C126.03 370.07 59.69 394.69 0 432c83.65 52.28 180.3 80 278.94 80h88.57L254.79 380.49c-14.74-17.2-37.45-25.11-59.82-21.51zM553.28 87.09c-5.67-3.8-9.28-9.96-9.28-16.78V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v62.31c0 22.02 10.17 43.41 28.64 55.39C550.79 153.04 576 199.54 576 249.69V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-65.44-32.41-126.19-86.72-162.6zM360.89 352.05c-34.4.06-86.81.15-88.21.17l117.8 137.43A63.987 63.987 0 0 0 439.07 512h88.45L409.57 374.4a63.955 63.955 0 0 0-48.68-22.35zM616 352H432l117.99 137.65A63.987 63.987 0 0 0 598.58 512H616c13.25 0 24-10.75 24-24V376c0-13.26-10.75-24-24-24z"],"journal-whills":[448,512,[],"f66a","M438.40625,377.59375c-3.20313,12.8125-3.20313,57.60937,0,73.60937Q447.9922,460.78907,448,470.40625v16c0,16-12.79688,25.59375-25.59375,25.59375H96c-54.40625,0-96-41.59375-96-96V96C0,41.59375,41.59375,0,96,0H422.40625C438.40625,0,448,9.59375,448,25.59375v332.8125Q448,372.79688,438.40625,377.59375ZM380.79688,384H96c-16,0-32,12.79688-32,32s12.79688,32,32,32H380.79688ZM128.01562,176.01562c0,.51563.14063.98438.14063,1.5l37.10937,32.46876A7.99954,7.99954,0,0,1,160,224h-.01562a9.17678,9.17678,0,0,1-5.25-1.98438L131.14062,201.375C142.6875,250.95312,186.90625,288,240,288s97.3125-37.04688,108.875-86.625l-23.59375,20.64062a8.02516,8.02516,0,0,1-5.26563,1.96876H320a9.14641,9.14641,0,0,1-6.01562-2.71876A9.26508,9.26508,0,0,1,312,216a9.097,9.097,0,0,1,2.73438-6.01562l37.10937-32.46876c.01563-.53124.15625-1,.15625-1.51562,0-11.04688-2.09375-21.51562-5.06251-31.59375l-21.26562,21.25a8.00467,8.00467,0,0,1-11.32812-11.3125l26.42187-26.40625a111.81517,111.81517,0,0,0-46.35937-49.26562,63.02336,63.02336,0,0,1-14.0625,82.64062A55.83846,55.83846,0,0,1,251.625,254.73438l-1.42188-34.28126,12.67188,8.625a3.967,3.967,0,0,0,2.25.6875,3.98059,3.98059,0,0,0,3.43749-6.03124l-8.53124-14.3125,17.90625-3.71876a4.00647,4.00647,0,0,0,0-7.84374l-17.90625-3.71876,8.53124-14.3125a3.98059,3.98059,0,0,0-3.43749-6.03124,4.726,4.726,0,0,0-2.25.67187L248.6875,184.125,244,71.82812a4.00386,4.00386,0,0,0-8,0l-4.625,110.8125-12-8.15624a4.003,4.003,0,0,0-5.68751,5.35937l8.53126,14.3125L204.3125,197.875a3.99686,3.99686,0,0,0,0,7.82812l17.90625,3.73438-8.53126,14.29688a4.72469,4.72469,0,0,0-.56249,2.04687,4.59547,4.59547,0,0,0,1.25,2.90625,4.01059,4.01059,0,0,0,2.75,1.09375,4.09016,4.09016,0,0,0,2.25-.6875l10.35937-7.04687L228.375,254.76562a55.86414,55.86414,0,0,1-28.71875-93.45312,63.01119,63.01119,0,0,1-14.04688-82.65625,111.93158,111.93158,0,0,0-46.375,49.26563l26.42187,26.42187a7.99917,7.99917,0,0,1-11.3125,11.3125l-21.26563-21.26563C130.09375,154.48438,128,164.95312,128.01562,176.01562Z"],kaaba:[576,512,[],"f66b","M554.12 83.51L318.36 4.93a95.962 95.962 0 0 0-60.71 0L21.88 83.51A32.006 32.006 0 0 0 0 113.87v49.01l265.02-79.51c15.03-4.5 30.92-4.5 45.98 0l265 79.51v-49.01c0-13.77-8.81-26-21.88-30.36zm-279.9 30.52L0 196.3v228.38c0 15 10.42 27.98 25.06 31.24l242.12 53.8a95.937 95.937 0 0 0 41.65 0l242.12-53.8c14.64-3.25 25.06-16.24 25.06-31.24V196.29l-274.2-82.26c-9.04-2.72-18.59-2.72-27.59 0zM128 230.11c0 3.61-2.41 6.77-5.89 7.72l-80 21.82C37.02 261.03 32 257.2 32 251.93v-16.58c0-3.61 2.41-6.77 5.89-7.72l80-21.82c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm144-39.28c0 3.61-2.41 6.77-5.89 7.72l-96 26.18c-5.09 1.39-10.11-2.44-10.11-7.72v-16.58c0-3.61 2.41-6.77 5.89-7.72l96-26.18c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm176 22.7c0-5.28 5.02-9.11 10.11-7.72l80 21.82c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-80-21.82a7.997 7.997 0 0 1-5.89-7.72v-16.58zm-144-39.27c0-5.28 5.02-9.11 10.11-7.72l96 26.18c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-96-26.18a7.997 7.997 0 0 1-5.89-7.72v-16.58z"],key:[512,512,[],"f084","M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A23.999 23.999 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z"],keyboard:[576,512,[],"f11c","M528 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM128 180v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z"],khanda:[512,512,[],"f66d","M415.81 66c-6.37-3.5-14.37-2.33-19.36 3.02a15.974 15.974 0 0 0-1.91 19.52c16.49 26.16 25.2 56.39 25.2 87.41-.19 53.25-26.77 102.69-71.27 132.41l-76.63 53.35v-20.1l44.05-36.09c3.92-4.2 5-10.09 2.81-15.28L310.85 273c33.84-19.26 56.94-55.25 56.94-96.99 0-40.79-22.02-76.13-54.59-95.71l5.22-11.44c2.34-5.53.93-11.83-3.57-16.04L255.86 0l-58.99 52.81c-4.5 4.21-5.9 10.51-3.57 16.04l5.22 11.44c-32.57 19.58-54.59 54.93-54.59 95.72 0 41.75 23.09 77.73 56.94 96.99l-7.85 17.24c-2.19 5.18-1.1 11.07 2.81 15.28l44.05 36.09v19.9l-76.59-53.33C119.02 278.62 92.44 229.19 92.26 176c0-31.08 8.71-61.31 25.2-87.47 3.87-6.16 2.4-13.77-2.59-19.08-5-5.34-13.68-6.2-20.02-2.7C16.32 109.6-22.3 205.3 13.36 295.99c7.07 17.99 17.89 34.38 30.46 49.06l55.97 65.36c4.87 5.69 13.04 7.24 19.65 3.72l79.35-42.23L228 392.23l-47.08 32.78c-1.67-.37-3.23-1.01-5.01-1.01-13.25 0-23.99 10.74-23.99 24 0 13.25 10.74 24 23.99 24 12.1 0 21.69-9.11 23.33-20.76l40.63-28.28v29.95c-9.39 5.57-15.99 15.38-15.99 27.1 0 17.67 14.32 32 31.98 32s31.98-14.33 31.98-32c0-11.71-6.61-21.52-15.99-27.1v-30.15l40.91 28.48C314.41 462.89 324 472 336.09 472c13.25 0 23.99-10.75 23.99-24 0-13.26-10.74-24-23.99-24-1.78 0-3.34.64-5.01 1.01L284 392.23l29.21-20.34 79.35 42.23c6.61 3.52 14.78 1.97 19.65-3.71l52.51-61.31c18.87-22.02 34-47.5 41.25-75.59 21.62-83.66-16.45-167.27-90.16-207.51zm-95.99 110c0 22.3-11.49 41.92-28.83 53.38l-5.65-12.41c-8.75-24.52-8.75-51.04 0-75.56l7.83-17.18c16.07 11.65 26.65 30.45 26.65 51.77zm-127.93 0c0-21.32 10.58-40.12 26.66-51.76l7.83 17.18c8.75 24.52 8.75 51.03 0 75.56l-5.65 12.41c-17.34-11.46-28.84-31.09-28.84-53.39z"],kiss:[496,512,[],"f596","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm136 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm24-156c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"],"kiss-beam":[496,512,[],"f597","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-39 219.9l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5zM304 396c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm65-168.1l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5z"],"kiss-wink-heart":[504,512,[],"f598","M501.1 402.5c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zm-177.6-4c-5.6-20.3-2.3-42 9-59.7 29.7-46.3 98.7-45.5 127.8 4.3 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-.3-.7-23.9-84.6-23.9-84.6zM168 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm120 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-5.7-12.3 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.8-3.7-4.6-16.6 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C274.6 368.7 288 383 288 396zm16-179c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S400 181 404 206.2c1.7 11.1-11.3 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 217z"],"kiwi-bird":[576,512,[],"f535","M575.81 217.98C572.64 157.41 518.28 112 457.63 112h-9.37c-52.82 0-104.25-16.25-147.74-46.24-41.99-28.96-96.04-41.62-153.21-28.7C129.3 41.12-.08 78.24 0 224c.04 70.95 38.68 132.8 95.99 166.01V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-54.26c15.36 3.96 31.4 6.26 48 6.26 5.44 0 10.68-.73 16-1.18V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-59.43c14.24-5.06 27.88-11.39 40.34-19.51C342.07 355.25 393.86 336 448.46 336c25.48 0 16.01-.31 23.05-.78l74.41 136.44c2.86 5.23 8.3 8.34 14.05 8.34 1.31 0 2.64-.16 3.95-.5 7.09-1.8 12.05-8.19 12.05-15.5 0 0 .14-240.24-.16-246.02zM463.97 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm80 153.25l-39.86-73.08c15.12-5.83 28.73-14.6 39.86-25.98v99.06z"],landmark:[512,512,[],"f66f","M501.62 92.11L267.24 2.04a31.958 31.958 0 0 0-22.47 0L10.38 92.11A16.001 16.001 0 0 0 0 107.09V144c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-36.91c0-6.67-4.14-12.64-10.38-14.98zM64 192v160H48c-8.84 0-16 7.16-16 16v48h448v-48c0-8.84-7.16-16-16-16h-16V192h-64v160h-96V192h-64v160h-96V192H64zm432 256H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"],language:[640,512,[],"f1ab","M152.1 236.2c-3.5-12.1-7.8-33.2-7.8-33.2h-.5s-4.3 21.1-7.8 33.2l-11.1 37.5H163zM616 96H336v320h280c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm-24 120c0 6.6-5.4 12-12 12h-11.4c-6.9 23.6-21.7 47.4-42.7 69.9 8.4 6.4 17.1 12.5 26.1 18 5.5 3.4 7.3 10.5 4.1 16.2l-7.9 13.9c-3.4 5.9-10.9 7.8-16.7 4.3-12.6-7.8-24.5-16.1-35.4-24.9-10.9 8.7-22.7 17.1-35.4 24.9-5.8 3.5-13.3 1.6-16.7-4.3l-7.9-13.9c-3.2-5.6-1.4-12.8 4.2-16.2 9.3-5.7 18-11.7 26.1-18-7.9-8.4-14.9-17-21-25.7-4-5.7-2.2-13.6 3.7-17.1l6.5-3.9 7.3-4.3c5.4-3.2 12.4-1.7 16 3.4 5 7 10.8 14 17.4 20.9 13.5-14.2 23.8-28.9 30-43.2H412c-6.6 0-12-5.4-12-12v-16c0-6.6 5.4-12 12-12h64v-16c0-6.6 5.4-12 12-12h16c6.6 0 12 5.4 12 12v16h64c6.6 0 12 5.4 12 12zM0 120v272c0 13.3 10.7 24 24 24h280V96H24c-13.3 0-24 10.7-24 24zm58.9 216.1L116.4 167c1.7-4.9 6.2-8.1 11.4-8.1h32.5c5.1 0 9.7 3.3 11.4 8.1l57.5 169.1c2.6 7.8-3.1 15.9-11.4 15.9h-22.9a12 12 0 0 1-11.5-8.6l-9.4-31.9h-60.2l-9.1 31.8c-1.5 5.1-6.2 8.7-11.5 8.7H70.3c-8.2 0-14-8.1-11.4-15.9z"],laptop:[640,512,[],"f109","M624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z"],"laptop-code":[640,512,[],"f5fc","M255.03 261.65c6.25 6.25 16.38 6.25 22.63 0l11.31-11.31c6.25-6.25 6.25-16.38 0-22.63L253.25 192l35.71-35.72c6.25-6.25 6.25-16.38 0-22.63l-11.31-11.31c-6.25-6.25-16.38-6.25-22.63 0l-58.34 58.34c-6.25 6.25-6.25 16.38 0 22.63l58.35 58.34zm96.01-11.3l11.31 11.31c6.25 6.25 16.38 6.25 22.63 0l58.34-58.34c6.25-6.25 6.25-16.38 0-22.63l-58.34-58.34c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63L386.75 192l-35.71 35.72c-6.25 6.25-6.25 16.38 0 22.63zM624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z"],"laptop-house":[640,512,[],"e066","M272,288H208a16,16,0,0,1-16-16V208a16,16,0,0,1,16-16h64a16,16,0,0,1,16,16v37.12C299.11,232.24,315,224,332.8,224H469.74l6.65-7.53A16.51,16.51,0,0,0,480,207a16.31,16.31,0,0,0-4.75-10.61L416,144V48a16,16,0,0,0-16-16H368a16,16,0,0,0-16,16V87.3L263.5,8.92C258,4,247.45,0,240.05,0s-17.93,4-23.47,8.92L4.78,196.42A16.15,16.15,0,0,0,0,207a16.4,16.4,0,0,0,3.55,9.39L22.34,237.7A16.22,16.22,0,0,0,33,242.48,16.51,16.51,0,0,0,42.34,239L64,219.88V384a32,32,0,0,0,32,32H272ZM629.33,448H592V288c0-17.67-12.89-32-28.8-32H332.8c-15.91,0-28.8,14.33-28.8,32V448H266.67A10.67,10.67,0,0,0,256,458.67v10.66A42.82,42.82,0,0,0,298.6,512H597.4A42.82,42.82,0,0,0,640,469.33V458.67A10.67,10.67,0,0,0,629.33,448ZM544,448H352V304H544Z"],"laptop-medical":[640,512,[],"f812","M232 224h56v56a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8v-56h56a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8h-56v-56a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v56h-56a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8zM576 48a48.14 48.14 0 0 0-48-48H112a48.14 48.14 0 0 0-48 48v336h512zm-64 272H128V64h384zm112 96H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33-17.47-32.77-32H16a16 16 0 0 0-16 16v16a64.19 64.19 0 0 0 64 64h512a64.19 64.19 0 0 0 64-64v-16a16 16 0 0 0-16-16z"],laugh:[496,512,[],"f599","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 152c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm88 272h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18-8.9 71-69.5 126-142.9 126z"],"laugh-beam":[496,512,[],"f59a","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm24 199.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.8 4.1-15.1-4.5zm-160 0c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z"],"laugh-squint":[496,512,[],"f59b","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 161.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 180l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z"],"laugh-wink":[496,512,[],"f59c","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm20.1 198.1c4-25.2 34.2-42.1 59.9-42.1s55.9 16.9 59.9 42.1c1.7 11.1-11.4 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 217c-8.4 7.4-21.6.3-19.9-10.9zM168 160c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm230.9 146C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z"],"layer-group":[512,512,[],"f5fd","M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z"],leaf:[576,512,[],"f06c","M546.2 9.7c-5.6-12.5-21.6-13-28.3-1.2C486.9 62.4 431.4 96 368 96h-80C182 96 96 182 96 288c0 7 .8 13.7 1.5 20.5C161.3 262.8 253.4 224 384 224c8.8 0 16 7.2 16 16s-7.2 16-16 16C132.6 256 26 410.1 2.4 468c-6.6 16.3 1.2 34.9 17.5 41.6 16.4 6.8 35-1.1 41.8-17.3 1.5-3.6 20.9-47.9 71.9-90.6 32.4 43.9 94 85.8 174.9 77.2C465.5 467.5 576 326.7 576 154.3c0-50.2-10.8-102.2-29.8-144.6z"],lemon:[512,512,[],"f094","M489.038 22.963C465.944-.13 434.648-5.93 413.947 6.129c-58.906 34.312-181.25-53.077-321.073 86.746S40.441 355.041 6.129 413.945c-12.059 20.702-6.26 51.999 16.833 75.093 23.095 23.095 54.392 28.891 75.095 16.832 58.901-34.31 181.246 53.079 321.068-86.743S471.56 156.96 505.871 98.056c12.059-20.702 6.261-51.999-16.833-75.093zM243.881 95.522c-58.189 14.547-133.808 90.155-148.358 148.358-1.817 7.27-8.342 12.124-15.511 12.124-1.284 0-2.59-.156-3.893-.481-8.572-2.144-13.784-10.83-11.642-19.403C81.901 166.427 166.316 81.93 236.119 64.478c8.575-2.143 17.261 3.069 19.403 11.642s-3.069 17.259-11.641 19.402z"],"less-than":[384,512,[],"f536","M365.46 357.74L147.04 255.89l218.47-101.88c16.02-7.47 22.95-26.51 15.48-42.53l-13.52-29C360 66.46 340.96 59.53 324.94 67L18.48 209.91a32.014 32.014 0 0 0-18.48 29v34.24c0 12.44 7.21 23.75 18.48 29l306.31 142.83c16.06 7.49 35.15.54 42.64-15.52l13.56-29.08c7.49-16.06.54-35.15-15.53-42.64z"],"less-than-equal":[448,512,[],"f537","M54.98 214.2l301.41 119.87c18.39 6.03 38.71-2.54 45.38-19.15l12.09-30.08c6.68-16.61-2.82-34.97-21.21-41l-175.44-68.05 175.56-68.09c18.29-6 27.74-24.27 21.1-40.79l-12.03-29.92c-6.64-16.53-26.86-25.06-45.15-19.06L54.98 137.89C41.21 142.41 32 154.5 32 168.07v15.96c0 13.56 9.21 25.65 22.98 30.17zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z"],"level-down-alt":[320,512,[],"f3be","M313.553 392.331L209.587 504.334c-9.485 10.214-25.676 10.229-35.174 0L70.438 392.331C56.232 377.031 67.062 352 88.025 352H152V80H68.024a11.996 11.996 0 0 1-8.485-3.515l-56-56C-4.021 12.926 1.333 0 12.024 0H208c13.255 0 24 10.745 24 24v328h63.966c20.878 0 31.851 24.969 17.587 40.331z"],"level-up-alt":[320,512,[],"f3bf","M313.553 119.669L209.587 7.666c-9.485-10.214-25.676-10.229-35.174 0L70.438 119.669C56.232 134.969 67.062 160 88.025 160H152v272H68.024a11.996 11.996 0 0 0-8.485 3.515l-56 56C-4.021 499.074 1.333 512 12.024 512H208c13.255 0 24-10.745 24-24V160h63.966c20.878 0 31.851-24.969 17.587-40.331z"],"life-ring":[512,512,[],"f1cd","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm173.696 119.559l-63.399 63.399c-10.987-18.559-26.67-34.252-45.255-45.255l63.399-63.399a218.396 218.396 0 0 1 45.255 45.255zM256 352c-53.019 0-96-42.981-96-96s42.981-96 96-96 96 42.981 96 96-42.981 96-96 96zM127.559 82.304l63.399 63.399c-18.559 10.987-34.252 26.67-45.255 45.255l-63.399-63.399a218.372 218.372 0 0 1 45.255-45.255zM82.304 384.441l63.399-63.399c10.987 18.559 26.67 34.252 45.255 45.255l-63.399 63.399a218.396 218.396 0 0 1-45.255-45.255zm302.137 45.255l-63.399-63.399c18.559-10.987 34.252-26.67 45.255-45.255l63.399 63.399a218.403 218.403 0 0 1-45.255 45.255z"],lightbulb:[352,512,[],"f0eb","M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"],link:[512,512,[],"f0c1","M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"],"lira-sign":[384,512,[],"f195","M371.994 256h-48.019C317.64 256 312 260.912 312 267.246 312 368 230.179 416 144 416V256.781l134.603-29.912A12 12 0 0 0 288 215.155v-40.976c0-7.677-7.109-13.38-14.603-11.714L144 191.219V160.78l134.603-29.912A12 12 0 0 0 288 119.154V78.179c0-7.677-7.109-13.38-14.603-11.714L144 95.219V44c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v68.997L9.397 125.131A12 12 0 0 0 0 136.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 178.558v30.439L9.397 221.131A12 12 0 0 0 0 232.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 274.558V468c0 6.627 5.373 12 12 12h79.583c134.091 0 223.255-77.834 228.408-211.592.261-6.782-5.211-12.408-11.997-12.408z"],list:[512,512,[],"f03a","M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"],"list-alt":[512,512,[],"f022","M464 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM128 120c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm288-136v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12z"],"list-ol":[512,512,[],"f0cb","M61.77 401l17.5-20.15a19.92 19.92 0 0 0 5.07-14.19v-3.31C84.34 356 80.5 352 73 352H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h22.83a157.41 157.41 0 0 0-11 12.31l-5.61 7c-4 5.07-5.25 10.13-2.8 14.88l1.05 1.93c3 5.76 6.29 7.88 12.25 7.88h4.73c10.33 0 15.94 2.44 15.94 9.09 0 4.72-4.2 8.22-14.36 8.22a41.54 41.54 0 0 1-15.47-3.12c-6.49-3.88-11.74-3.5-15.6 3.12l-5.59 9.31c-3.72 6.13-3.19 11.72 2.63 15.94 7.71 4.69 20.38 9.44 37 9.44 34.16 0 48.5-22.75 48.5-44.12-.03-14.38-9.12-29.76-28.73-34.88zM496 224H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h64a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H64V40a8 8 0 0 0-8-8H32a8 8 0 0 0-7.14 4.42l-8 16A8 8 0 0 0 24 64h8v64H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8zm-3.91 160H80a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H41.32c3.29-10.29 48.34-18.68 48.34-56.44 0-29.06-25-39.56-44.47-39.56-21.36 0-33.8 10-40.46 18.75-4.37 5.59-3 10.84 2.8 15.37l8.58 6.88c5.61 4.56 11 2.47 16.12-2.44a13.44 13.44 0 0 1 9.46-3.84c3.33 0 9.28 1.56 9.28 8.75C51 248.19 0 257.31 0 304.59v4C0 316 5.08 320 12.09 320z"],"list-ul":[512,512,[],"f0ca","M48 48a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm448 16H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"],"location-arrow":[512,512,[],"f124","M444.52 3.52L28.74 195.42c-47.97 22.39-31.98 92.75 19.19 92.75h175.91v175.91c0 51.17 70.36 67.17 92.75 19.19l191.9-415.78c15.99-38.39-25.59-79.97-63.97-63.97z"],lock:[448,512,[],"f023","M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"],"lock-open":[576,512,[],"f3c1","M423.5 0C339.5.3 272 69.5 272 153.5V224H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48h-48v-71.1c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v80c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-80C576 68 507.5-.3 423.5 0z"],"long-arrow-alt-down":[256,512,[],"f309","M168 345.941V44c0-6.627-5.373-12-12-12h-56c-6.627 0-12 5.373-12 12v301.941H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.569 9.373 33.941 0l86.059-86.059c15.119-15.119 4.411-40.971-16.971-40.971H168z"],"long-arrow-alt-left":[448,512,[],"f30a","M134.059 296H436c6.627 0 12-5.373 12-12v-56c0-6.627-5.373-12-12-12H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.569 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296z"],"long-arrow-alt-right":[448,512,[],"f30b","M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z"],"long-arrow-alt-up":[256,512,[],"f30c","M88 166.059V468c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12V166.059h46.059c21.382 0 32.09-25.851 16.971-40.971l-86.059-86.059c-9.373-9.373-24.569-9.373-33.941 0l-86.059 86.059c-15.119 15.119-4.411 40.971 16.971 40.971H88z"],"low-vision":[576,512,[],"f2a8","M569.344 231.631C512.96 135.949 407.81 72 288 72c-28.468 0-56.102 3.619-82.451 10.409L152.778 10.24c-7.601-10.858-22.564-13.5-33.423-5.9l-13.114 9.178c-10.86 7.601-13.502 22.566-5.9 33.426l43.131 58.395C89.449 131.73 40.228 174.683 6.682 231.581c-.01.017-.023.033-.034.05-8.765 14.875-8.964 33.528 0 48.739 38.5 65.332 99.742 115.862 172.859 141.349L55.316 244.302A272.194 272.194 0 0 1 83.61 208.39l119.4 170.58h.01l40.63 58.04a330.055 330.055 0 0 0 78.94 1.17l-189.98-271.4a277.628 277.628 0 0 1 38.777-21.563l251.836 356.544c7.601 10.858 22.564 13.499 33.423 5.9l13.114-9.178c10.86-7.601 13.502-22.567 5.9-33.426l-43.12-58.377-.007-.009c57.161-27.978 104.835-72.04 136.81-126.301a47.938 47.938 0 0 0 .001-48.739zM390.026 345.94l-19.066-27.23c24.682-32.567 27.711-76.353 8.8-111.68v.03c0 23.65-19.17 42.82-42.82 42.82-23.828 0-42.82-19.349-42.82-42.82 0-23.65 19.17-42.82 42.82-42.82h.03c-24.75-13.249-53.522-15.643-79.51-7.68l-19.068-27.237C253.758 123.306 270.488 120 288 120c75.162 0 136 60.826 136 136 0 34.504-12.833 65.975-33.974 89.94z"],"luggage-cart":[640,512,[],"f59d","M224 320h32V96h-32c-17.67 0-32 14.33-32 32v160c0 17.67 14.33 32 32 32zm352-32V128c0-17.67-14.33-32-32-32h-32v224h32c17.67 0 32-14.33 32-32zm48 96H128V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h48v368c0 8.84 7.16 16 16 16h82.94c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16h197.88c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM480 96V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v272h192V96zm-48 0h-96V48h96v48z"],lungs:[640,512,[],"f604","M636.11 390.15C614.44 308.85 580.07 231 534.1 159.13 511.98 124.56 498.03 96 454.05 96 415.36 96 384 125.42 384 161.71v60.11l-32.88-21.92a15.996 15.996 0 0 1-7.12-13.31V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v170.59c0 5.35-2.67 10.34-7.12 13.31L256 221.82v-60.11C256 125.42 224.64 96 185.95 96c-43.98 0-57.93 28.56-80.05 63.13C59.93 231 25.56 308.85 3.89 390.15 1.3 399.84 0 409.79 0 419.78c0 61.23 62.48 105.44 125.24 88.62l59.5-15.95c42.18-11.3 71.26-47.47 71.26-88.62v-87.49l-85.84 57.23a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09L320 235.23l167.59 111.72a7.994 7.994 0 0 1 2.22 11.09l-8.88 13.31a7.994 7.994 0 0 1-11.09 2.22L384 316.34v87.49c0 41.15 29.08 77.31 71.26 88.62l59.5 15.95C577.52 525.22 640 481.01 640 419.78c0-9.99-1.3-19.94-3.89-29.63z"],"lungs-virus":[640,512,[],"e067","M344,150.68V16A16,16,0,0,0,328,0H312a16,16,0,0,0-16,16V150.68a46.45,46.45,0,0,1,48,0ZM195.54,444.46a48.06,48.06,0,0,1,0-67.88l8.58-8.58H192a48,48,0,0,1,0-96h12.12l-8.58-8.57a48,48,0,0,1,60.46-74V161.75C256,125.38,224.62,96,186,96c-44,0-58,28.5-80.12,63.13a819.52,819.52,0,0,0-102,231A113.16,113.16,0,0,0,0,419.75C0,481,62.5,525.26,125.25,508.38l59.5-15.87a98.51,98.51,0,0,0,52.5-34.75,46.49,46.49,0,0,1-41.71-13.3Zm226.29-22.63a16,16,0,0,0,0-22.62l-8.58-8.58C393.09,370.47,407.37,336,435.88,336H448a16,16,0,0,0,0-32H435.88c-28.51,0-42.79-34.47-22.63-54.62l8.58-8.58a16,16,0,0,0-22.63-22.63l-8.57,8.58C370.47,246.91,336,232.63,336,204.12V192a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.58c20.16,20.15,5.88,54.62-22.63,54.62H192a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.58a16,16,0,1,0,22.63,22.62l8.57-8.57C269.53,393.1,304,407.38,304,435.88V448a16,16,0,0,0,32,0V435.88c0-28.5,34.47-42.78,54.63-22.62l8.57,8.57a16,16,0,0,0,22.63,0ZM288,304a16,16,0,1,1,16-16A16,16,0,0,1,288,304Zm64,64a16,16,0,1,1,16-16A16,16,0,0,1,352,368Zm284.12,22.13a819.52,819.52,0,0,0-102-231C512,124.5,498,96,454,96c-38.62,0-70,29.38-70,65.75v27.72a48,48,0,0,1,60.46,74L435.88,272H448a48,48,0,0,1,0,96H435.88l8.58,8.58a47.7,47.7,0,0,1-41.71,81.18,98.51,98.51,0,0,0,52.5,34.75l59.5,15.87C577.5,525.26,640,481,640,419.75A113.16,113.16,0,0,0,636.12,390.13Z"],magic:[512,512,[],"f0d0","M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.66-53.33L160 80l-53.34-26.67L80 0 53.34 53.33 0 80l53.34 26.67L80 160zm352 128l-26.66 53.33L352 368l53.34 26.67L432 448l26.66-53.33L512 368l-53.34-26.67L432 288zm70.62-193.77L417.77 9.38C411.53 3.12 403.34 0 395.15 0c-8.19 0-16.38 3.12-22.63 9.38L9.38 372.52c-12.5 12.5-12.5 32.76 0 45.25l84.85 84.85c6.25 6.25 14.44 9.37 22.62 9.37 8.19 0 16.38-3.12 22.63-9.37l363.14-363.15c12.5-12.48 12.5-32.75 0-45.24zM359.45 203.46l-50.91-50.91 86.6-86.6 50.91 50.91-86.6 86.6z"],magnet:[512,512,[],"f076","M164.07 148.1H12a12 12 0 0 1-12-12v-80a36 36 0 0 1 36-36h104a36 36 0 0 1 36 36v80a11.89 11.89 0 0 1-11.93 12zm347.93-12V56a36 36 0 0 0-36-36H372a36 36 0 0 0-36 36v80a12 12 0 0 0 12 12h152a11.89 11.89 0 0 0 12-11.9zm-164 44a12 12 0 0 0-12 12v52c0 128.1-160 127.9-160 0v-52a12 12 0 0 0-12-12H12.1a12 12 0 0 0-12 12.1c.1 21.4.6 40.3 0 53.3 0 150.6 136.17 246.6 256.75 246.6s255-96 255-246.7c-.6-12.8-.2-33 0-53.2a12 12 0 0 0-12-12.1z"],"mail-bulk":[576,512,[],"f674","M160 448c-25.6 0-51.2-22.4-64-32-64-44.8-83.2-60.8-96-70.4V480c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V345.6c-12.8 9.6-32 25.6-96 70.4-12.8 9.6-38.4 32-64 32zm128-192H32c-17.67 0-32 14.33-32 32v16c25.6 19.2 22.4 19.2 115.2 86.4 9.6 6.4 28.8 25.6 44.8 25.6s35.2-19.2 44.8-22.4c92.8-67.2 89.6-67.2 115.2-86.4V288c0-17.67-14.33-32-32-32zm256-96H224c-17.67 0-32 14.33-32 32v32h96c33.21 0 60.59 25.42 63.71 57.82l.29-.22V416h192c17.67 0 32-14.33 32-32V192c0-17.67-14.33-32-32-32zm-32 128h-64v-64h64v64zm-352-96c0-35.29 28.71-64 64-64h224V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v192h96v-32z"],male:[192,512,[],"f183","M96 0c35.346 0 64 28.654 64 64s-28.654 64-64 64-64-28.654-64-64S60.654 0 96 0m48 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H48c-26.51 0-48 21.49-48 48v136c0 13.255 10.745 24 24 24h16v136c0 13.255 10.745 24 24 24h64c13.255 0 24-10.745 24-24V352h16c13.255 0 24-10.745 24-24V192c0-26.51-21.49-48-48-48z"],map:[576,512,[],"f279","M0 117.66v346.32c0 11.32 11.43 19.06 21.94 14.86L160 416V32L20.12 87.95A32.006 32.006 0 0 0 0 117.66zM192 416l192 64V96L192 32v384zM554.06 33.16L416 96v384l139.88-55.95A31.996 31.996 0 0 0 576 394.34V48.02c0-11.32-11.43-19.06-21.94-14.86z"],"map-marked":[576,512,[],"f59f","M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z"],"map-marked-alt":[576,512,[],"f5a0","M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zm0 168c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z"],"map-marker":[384,512,[],"f041","M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0z"],"map-marker-alt":[384,512,[],"f3c5","M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"],"map-pin":[288,512,[],"f276","M112 316.94v156.69l22.02 33.02c4.75 7.12 15.22 7.12 19.97 0L176 473.63V316.94c-10.39 1.92-21.06 3.06-32 3.06s-21.61-1.14-32-3.06zM144 0C64.47 0 0 64.47 0 144s64.47 144 144 144 144-64.47 144-144S223.53 0 144 0zm0 76c-37.5 0-68 30.5-68 68 0 6.62-5.38 12-12 12s-12-5.38-12-12c0-50.73 41.28-92 92-92 6.62 0 12 5.38 12 12s-5.38 12-12 12z"],"map-signs":[512,512,[],"f277","M507.31 84.69L464 41.37c-6-6-14.14-9.37-22.63-9.37H288V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v16H56c-13.25 0-24 10.75-24 24v80c0 13.25 10.75 24 24 24h385.37c8.49 0 16.62-3.37 22.63-9.37l43.31-43.31c6.25-6.26 6.25-16.38 0-22.63zM224 496c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V384h-64v112zm232-272H288v-32h-64v32H70.63c-8.49 0-16.62 3.37-22.63 9.37L4.69 276.69c-6.25 6.25-6.25 16.38 0 22.63L48 342.63c6 6 14.14 9.37 22.63 9.37H456c13.25 0 24-10.75 24-24v-80c0-13.25-10.75-24-24-24z"],marker:[512,512,[],"f5a1","M93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l75.4-75.4-128.02-128.02-75.4 75.4zM485.49 26.51c-35.35-35.35-92.67-35.35-128.02 0l-21.76 21.76-36.56-36.55c-15.62-15.62-40.95-15.62-56.56 0L138.47 115.84c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0l87.15-87.15 19.59 19.59L191.98 192 320 320.02l165.49-165.49c35.35-35.35 35.35-92.66 0-128.02z"],mars:[384,512,[],"f222","M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c0-6.6-5.4-12-12-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"],"mars-double":[512,512,[],"f227","M340 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C198.5 72.1 172.2 64 144 64 64.5 64 0 128.5 0 208s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.5 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 288c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm356-128.1h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7c-18.2-11.4-39-18.9-61.5-21.3-2.1 21.8-8.2 43.3-18.4 63.3 1.1 0 2.2-.1 3.2-.1 44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80c0-1.1 0-2.2.1-3.2-20 10.2-41.5 16.4-63.3 18.4C168.4 455.6 229.6 512 304 512c79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12v-79c0-6.7-5.4-12.1-12-12.1z"],"mars-stroke":[384,512,[],"f229","M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-17.5 17.5-14.1-14.1c-4.7-4.7-12.3-4.7-17 0L224.5 133c-4.7 4.7-4.7 12.3 0 17l14.1 14.1-18 18c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l18-18 14.1 14.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L329.2 164l17.5-17.5 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c-.1-6.6-5.5-12-12.1-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"],"mars-stroke-h":[480,512,[],"f22b","M476.2 247.5l-55.9-55.9c-7.6-7.6-20.5-2.2-20.5 8.5V224H376v-20c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v20h-27.6c-5.8-25.6-18.7-49.9-38.6-69.8C189.6 98 98.4 98 42.2 154.2c-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 19.9-19.9 32.8-44.2 38.6-69.8H312v20c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-20h23.9v23.9c0 10.7 12.9 16 20.5 8.5l55.9-55.9c4.6-4.7 4.6-12.3-.1-17zm-275.6 65.1c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z"],"mars-stroke-v":[288,512,[],"f22a","M245.8 234.2c-19.9-19.9-44.2-32.8-69.8-38.6v-25.4h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V81.4h23.9c10.7 0 16-12.9 8.5-20.5L152.5 5.1c-4.7-4.7-12.3-4.7-17 0L79.6 61c-7.6 7.6-2.2 20.5 8.5 20.5H112v24.7H92c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h20v25.4c-25.6 5.8-49.9 18.7-69.8 38.6-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 56.3-56.2 56.3-147.4 0-203.6zm-45.2 158.4c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z"],mask:[640,512,[],"f6fa","M320.67 64c-442.6 0-357.57 384-158.46 384 39.9 0 77.47-20.69 101.42-55.86l25.73-37.79c15.66-22.99 46.97-22.99 62.63 0l25.73 37.79C401.66 427.31 439.23 448 479.13 448c189.86 0 290.63-384-158.46-384zM184 308.36c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05zm272 0c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05z"],medal:[512,512,[],"f5a2","M223.75 130.75L154.62 15.54A31.997 31.997 0 0 0 127.18 0H16.03C3.08 0-4.5 14.57 2.92 25.18l111.27 158.96c29.72-27.77 67.52-46.83 109.56-53.39zM495.97 0H384.82c-11.24 0-21.66 5.9-27.44 15.54l-69.13 115.21c42.04 6.56 79.84 25.62 109.56 53.38L509.08 25.18C516.5 14.57 508.92 0 495.97 0zM256 160c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm92.52 157.26l-37.93 36.96 8.97 52.22c1.6 9.36-8.26 16.51-16.65 12.09L256 393.88l-46.9 24.65c-8.4 4.45-18.25-2.74-16.65-12.09l8.97-52.22-37.93-36.96c-6.82-6.64-3.05-18.23 6.35-19.59l52.43-7.64 23.43-47.52c2.11-4.28 6.19-6.39 10.28-6.39 4.11 0 8.22 2.14 10.33 6.39l23.43 47.52 52.43 7.64c9.4 1.36 13.17 12.95 6.35 19.59z"],medkit:[512,512,[],"f0fa","M96 480h320V128h-32V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v48H96v352zm96-384h128v32H192V96zm320 80v256c0 26.51-21.49 48-48 48h-16V128h16c26.51 0 48 21.49 48 48zM64 480H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v352zm288-208v32c0 8.837-7.163 16-16 16h-48v48c0 8.837-7.163 16-16 16h-32c-8.837 0-16-7.163-16-16v-48h-48c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h48v-48c0-8.837 7.163-16 16-16h32c8.837 0 16 7.163 16 16v48h48c8.837 0 16 7.163 16 16z"],meh:[496,512,[],"f11a","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm176 192H152c-21.2 0-21.2-32 0-32h192c21.2 0 21.2 32 0 32zm-16-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"],"meh-blank":[496,512,[],"f5a4","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"],"meh-rolling-eyes":[496,512,[],"f5a5","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 224c0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64s-64-28.7-64-64zm224 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-112c-35.3 0-64-28.7-64-64 0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64z"],memory:[640,512,[],"f538","M640 130.94V96c0-17.67-14.33-32-32-32H32C14.33 64 0 78.33 0 96v34.94c18.6 6.61 32 24.19 32 45.06s-13.4 38.45-32 45.06V320h640v-98.94c-18.6-6.61-32-24.19-32-45.06s13.4-38.45 32-45.06zM224 256h-64V128h64v128zm128 0h-64V128h64v128zm128 0h-64V128h64v128zM0 448h64v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h64v-96H0v96z"],menorah:[640,512,[],"f676","M144 128h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm192 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm80-32c17.67 0 32-14.33 32-32S608 0 608 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S512 0 512 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S416 0 416 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S320 0 320 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S224 0 224 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S128 0 128 0 96 46.33 96 64s14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S32 0 32 0 0 46.33 0 64s14.33 32 32 32zm544 192c0 17.67-14.33 32-32 32H352V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v176H96c-17.67 0-32-14.33-32-32V144c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v144c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v144z"],mercury:[288,512,[],"f223","M288 208c0-44.2-19.9-83.7-51.2-110.1 2.5-1.8 4.9-3.8 7.2-5.8 24.7-21.2 39.8-48.8 43.2-78.8.9-7.1-4.7-13.3-11.9-13.3h-40.5C229 0 224.1 4.1 223 9.8c-2.4 12.5-9.6 24.3-20.7 33.8C187 56.8 166.3 64 144 64s-43-7.2-58.4-20.4C74.5 34.1 67.4 22.3 64.9 9.8 63.8 4.1 58.9 0 53.2 0H12.7C5.5 0-.1 6.2.8 13.3 4.2 43.4 19.2 71 44 92.2c2.3 2 4.7 3.9 7.2 5.8C19.9 124.3 0 163.8 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z"],meteor:[512,512,[],"f753","M511.328,20.8027c-11.60759,38.70264-34.30724,111.70173-61.30311,187.70077,6.99893,2.09372,13.4042,4,18.60653,5.59368a16.06158,16.06158,0,0,1,9.49854,22.906c-22.106,42.29635-82.69047,152.795-142.47819,214.40356-.99984,1.09373-1.99969,2.5-2.99954,3.49995A194.83046,194.83046,0,1,1,57.085,179.41009c.99985-1,2.40588-2,3.49947-3,61.59994-59.90549,171.97367-120.40473,214.37343-142.4982a16.058,16.058,0,0,1,22.90274,9.49988c1.59351,5.09368,3.49947,11.5936,5.5929,18.59351C379.34818,35.00565,452.43074,12.30281,491.12794.70921A16.18325,16.18325,0,0,1,511.328,20.8027ZM319.951,320.00207A127.98041,127.98041,0,1,0,191.97061,448.00046,127.97573,127.97573,0,0,0,319.951,320.00207Zm-127.98041-31.9996a31.9951,31.9951,0,1,1-31.9951-31.9996A31.959,31.959,0,0,1,191.97061,288.00247Zm31.9951,79.999a15.99755,15.99755,0,1,1-15.99755-15.9998A16.04975,16.04975,0,0,1,223.96571,368.00147Z"],microchip:[512,512,[],"f2db","M416 48v416c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h224c26.51 0 48 21.49 48 48zm96 58v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42V88h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zM30 376h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6z"],microphone:[352,512,[],"f130","M176 352c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96zm160-160h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16z"],"microphone-alt":[352,512,[],"f3c9","M336 192h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16zM176 352c53.02 0 96-42.98 96-96h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96z"],"microphone-alt-slash":[640,512,[],"f539","M633.82 458.1L476.26 336.33C488.74 312.21 496 284.98 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67h-43.67l-41.4-32H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.78c11.71-1.62 23.1-4.28 33.96-8.08l-50.4-38.96c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z"],"microphone-slash":[640,512,[],"f131","M633.82 458.1l-157.8-121.96C488.61 312.13 496 285.01 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67V96c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.77c11.66-1.6 22.85-4.54 33.67-8.31l-50.11-38.73c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z"],microscope:[512,512,[],"f610","M160 320h12v16c0 8.84 7.16 16 16 16h40c8.84 0 16-7.16 16-16v-16h12c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32V16c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v16c-17.67 0-32 14.33-32 32v224c0 17.67 14.33 32 32 32zm304 128h-1.29C493.24 413.99 512 369.2 512 320c0-105.88-86.12-192-192-192v64c70.58 0 128 57.42 128 128s-57.42 128-128 128H48c-26.51 0-48 21.49-48 48 0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48zm-360-32h208c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8H104c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8z"],minus:[448,512,[],"f068","M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"],"minus-circle":[512,512,[],"f056","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z"],"minus-square":[448,512,[],"f146","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM92 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H92z"],mitten:[448,512,[],"f7b5","M368 416H48c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16zm57-209.1c-27.2-22.6-67.5-19-90.1 8.2l-20.9 25-29.6-128.4c-18-77.5-95.4-125.9-172.8-108C34.2 21.6-14.2 98.9 3.7 176.4L51.6 384h309l72.5-87c22.7-27.2 19-67.5-8.1-90.1z"],mobile:[320,512,[],"f10b","M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"],"mobile-alt":[320,512,[],"f3cd","M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm112-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v312z"],"money-bill":[640,512,[],"f0d6","M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 176c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 48h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z"],"money-bill-alt":[640,512,[],"f3d1","M352 288h-16v-88c0-4.42-3.58-8-8-8h-13.58c-4.74 0-9.37 1.4-13.31 4.03l-15.33 10.22a7.994 7.994 0 0 0-2.22 11.09l8.88 13.31a7.994 7.994 0 0 0 11.09 2.22l.47-.31V288h-16c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8h64c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 192c-53.02 0-96-50.15-96-112 0-61.86 42.98-112 96-112s96 50.14 96 112c0 61.87-43 112-96 112zm272 32h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z"],"money-bill-wave":[640,512,[],"f53a","M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM48 132.22c20.12 5.04 41.12 7.57 62.72 8.93C104.84 170.54 79 192.69 48 192.69v-60.47zm0 285v-47.78c34.37 0 62.18 27.27 63.71 61.4-22.53-1.81-43.59-6.31-63.71-13.62zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 27.78c-17.52-4.39-35.71-6.85-54.32-8.44 5.87-26.08 27.5-45.88 54.32-49.28v57.72zm0-236.11c-30.89-3.91-54.86-29.7-55.81-61.55 19.54 2.17 38.09 6.23 55.81 12.66v48.89z"],"money-bill-wave-alt":[640,512,[],"f53b","M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96z"],"money-check":[640,512,[],"f53c","M0 448c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128H0v320zm448-208c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-32zm0 120c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H456c-4.42 0-8-3.58-8-8v-16zM64 264c0-4.42 3.58-8 8-8h304c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm0 96c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zM624 32H16C7.16 32 0 39.16 0 48v48h640V48c0-8.84-7.16-16-16-16z"],"money-check-alt":[640,512,[],"f53d","M608 32H32C14.33 32 0 46.33 0 64v384c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM176 327.88V344c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V152c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07zM416 312c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm160 0c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h272c4.42 0 8 3.58 8 8v16z"],monument:[384,512,[],"f5a6","M368 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h352c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-78.86-347.26a31.97 31.97 0 0 0-9.21-19.44L203.31 4.69c-6.25-6.25-16.38-6.25-22.63 0l-76.6 76.61a31.97 31.97 0 0 0-9.21 19.44L64 416h256l-30.86-315.26zM240 307.2c0 6.4-6.4 12.8-12.8 12.8h-70.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h70.4c6.4 0 12.8 6.4 12.8 12.8v38.4z"],moon:[512,512,[],"f186","M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z"],"mortar-pestle":[512,512,[],"f5a7","M501.54 60.91c17.22-17.22 12.51-46.25-9.27-57.14a35.696 35.696 0 0 0-37.37 3.37L251.09 160h151.37l99.08-99.09zM496 192H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c0 80.98 50.2 150.11 121.13 178.32-12.76 16.87-21.72 36.8-24.95 58.69-1.46 9.92 6.04 18.98 16.07 18.98h223.5c10.03 0 17.53-9.06 16.07-18.98-3.22-21.89-12.18-41.82-24.95-58.69C429.8 406.11 480 336.98 480 256h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"],mosque:[640,512,[],"f678","M0 480c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V160H0v320zm579.16-192c17.86-17.39 28.84-37.34 28.84-58.91 0-52.86-41.79-93.79-87.92-122.9-41.94-26.47-80.63-57.77-111.96-96.22L400 0l-8.12 9.97c-31.33 38.45-70.01 69.76-111.96 96.22C233.79 135.3 192 176.23 192 229.09c0 21.57 10.98 41.52 28.84 58.91h358.32zM608 320H192c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h32v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h64v-72c0-48 48-72 48-72s48 24 48 72v72h64v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h32c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM64 0S0 32 0 96v32h128V96c0-64-64-96-64-96z"],motorcycle:[640,512,[],"f21c","M512.9 192c-14.9-.1-29.1 2.3-42.4 6.9L437.6 144H520c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24h-45.3c-6.8 0-13.3 2.9-17.8 7.9l-37.5 41.7-22.8-38C392.2 68.4 384.4 64 376 64h-80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h66.4l19.2 32H227.9c-17.7-23.1-44.9-40-99.9-40H72.5C59 104 47.7 115 48 128.5c.2 13 10.9 23.5 24 23.5h56c24.5 0 38.7 10.9 47.8 24.8l-11.3 20.5c-13-3.9-26.9-5.7-41.3-5.2C55.9 194.5 1.6 249.6 0 317c-1.6 72.1 56.3 131 128 131 59.6 0 109.7-40.8 124-96h84.2c13.7 0 24.6-11.4 24-25.1-2.1-47.1 17.5-93.7 56.2-125l12.5 20.8c-27.6 23.7-45.1 58.9-44.8 98.2.5 69.6 57.2 126.5 126.8 127.1 71.6.7 129.8-57.5 129.2-129.1-.7-69.6-57.6-126.4-127.2-126.9zM128 400c-44.1 0-80-35.9-80-80s35.9-80 80-80c4.2 0 8.4.3 12.5 1L99 316.4c-8.8 16 2.8 35.6 21 35.6h81.3c-12.4 28.2-40.6 48-73.3 48zm463.9-75.6c-2.2 40.6-35 73.4-75.5 75.5-46.1 2.5-84.4-34.3-84.4-79.9 0-21.4 8.4-40.8 22.1-55.1l49.4 82.4c4.5 7.6 14.4 10 22 5.5l13.7-8.2c7.6-4.5 10-14.4 5.5-22l-48.6-80.9c5.2-1.1 10.5-1.6 15.9-1.6 45.6-.1 82.3 38.2 79.9 84.3z"],mountain:[640,512,[],"f6fc","M634.92 462.7l-288-448C341.03 5.54 330.89 0 320 0s-21.03 5.54-26.92 14.7l-288 448a32.001 32.001 0 0 0-1.17 32.64A32.004 32.004 0 0 0 32 512h576c11.71 0 22.48-6.39 28.09-16.67a31.983 31.983 0 0 0-1.17-32.63zM320 91.18L405.39 224H320l-64 64-38.06-38.06L320 91.18z"],mouse:[384,512,[],"f8cc","M0 352a160 160 0 0 0 160 160h64a160 160 0 0 0 160-160V224H0zM176 0h-16A160 160 0 0 0 0 160v32h176zm48 0h-16v192h176v-32A160 160 0 0 0 224 0z"],"mouse-pointer":[320,512,[],"f245","M302.189 329.126H196.105l55.831 135.993c3.889 9.428-.555 19.999-9.444 23.999l-49.165 21.427c-9.165 4-19.443-.571-23.332-9.714l-53.053-129.136-86.664 89.138C18.729 472.71 0 463.554 0 447.977V18.299C0 1.899 19.921-6.096 30.277 5.443l284.412 292.542c11.472 11.179 3.007 31.141-12.5 31.141z"],"mug-hot":[512,512,[],"f7b6","M127.1 146.5c1.3 7.7 8 13.5 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18-3.8-28.2-16.4-54.2-36.6-74.7-14.4-14.7-23.6-33.3-26.4-53.5C111.8 5.9 105 0 96.8 0H80.4C70.6 0 63 8.5 64.1 18c3.9 31.9 18 61.3 40.6 84.4 12 12.2 19.7 27.5 22.4 44.1zm112 0c1.3 7.7 8 13.5 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18-3.8-28.2-16.4-54.2-36.6-74.7-14.4-14.7-23.6-33.3-26.4-53.5C223.8 5.9 217 0 208.8 0h-16.4c-9.8 0-17.5 8.5-16.3 18 3.9 31.9 18 61.3 40.6 84.4 12 12.2 19.7 27.5 22.4 44.1zM400 192H32c-17.7 0-32 14.3-32 32v192c0 53 43 96 96 96h192c53 0 96-43 96-96h16c61.8 0 112-50.2 112-112s-50.2-112-112-112zm0 160h-16v-96h16c26.5 0 48 21.5 48 48s-21.5 48-48 48z"],music:[512,512,[],"f001","M470.38 1.51L150.41 96A32 32 0 0 0 128 126.51v261.41A139 139 0 0 0 96 384c-53 0-96 28.66-96 64s43 64 96 64 96-28.66 96-64V214.32l256-75v184.61a138.4 138.4 0 0 0-32-3.93c-53 0-96 28.66-96 64s43 64 96 64 96-28.65 96-64V32a32 32 0 0 0-41.62-30.49z"],"network-wired":[640,512,[],"f6ff","M640 264v-16c0-8.84-7.16-16-16-16H344v-40h72c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H224c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h72v40H16c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h104v40H64c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h304v40h-56c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h104c8.84 0 16-7.16 16-16zM256 128V64h128v64H256zm-64 320H96v-64h96v64zm352 0h-96v-64h96v64z"],neuter:[288,512,[],"f22c","M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V468c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V316.4c64.1-14.5 112-71.9 112-140.4zm-144 80c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"],newspaper:[576,512,[],"f1ea","M552 64H88c-13.255 0-24 10.745-24 24v8H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h472c26.51 0 48-21.49 48-48V88c0-13.255-10.745-24-24-24zM56 400a8 8 0 0 1-8-8V144h16v248a8 8 0 0 1-8 8zm236-16H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm-208-96H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm0-96H140c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12z"],"not-equal":[448,512,[],"f53e","M416 208c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32h-23.88l51.87-66.81c5.37-7.02 4.04-17.06-2.97-22.43L415.61 3.3c-7.02-5.38-17.06-4.04-22.44 2.97L311.09 112H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h204.56l-74.53 96H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h55.49l-51.87 66.81c-5.37 7.01-4.04 17.05 2.97 22.43L64 508.7c7.02 5.38 17.06 4.04 22.43-2.97L168.52 400H416c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32H243.05l74.53-96H416z"],"notes-medical":[384,512,[],"f481","M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm96 304c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm0-192c0 4.4-3.6 8-8 8H104c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16z"],"object-group":[512,512,[],"f247","M480 128V96h20c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v20H64V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v40c0 6.627 5.373 12 12 12h20v320H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-20h384v20c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20V128zM96 276V140c0-6.627 5.373-12 12-12h168c6.627 0 12 5.373 12 12v136c0 6.627-5.373 12-12 12H108c-6.627 0-12-5.373-12-12zm320 96c0 6.627-5.373 12-12 12H236c-6.627 0-12-5.373-12-12v-52h72c13.255 0 24-10.745 24-24v-72h84c6.627 0 12 5.373 12 12v136z"],"object-ungroup":[576,512,[],"f248","M64 320v26a6 6 0 0 1-6 6H6a6 6 0 0 1-6-6v-52a6 6 0 0 1 6-6h26V96H6a6 6 0 0 1-6-6V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v26h288V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-26v192h26a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-52a6 6 0 0 1-6-6v-26H64zm480-64v-32h26a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-52a6 6 0 0 0-6 6v26H408v72h8c13.255 0 24 10.745 24 24v64c0 13.255-10.745 24-24 24h-64c-13.255 0-24-10.745-24-24v-8H192v72h-26a6 6 0 0 0-6 6v52a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-26h288v26a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-26V256z"],"oil-can":[640,512,[],"f613","M629.8 160.31L416 224l-50.49-25.24a64.07 64.07 0 0 0-28.62-6.76H280v-48h56c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h56v48h-56L37.72 166.86a31.9 31.9 0 0 0-5.79-.53C14.67 166.33 0 180.36 0 198.34v94.95c0 15.46 11.06 28.72 26.28 31.48L96 337.46V384c0 17.67 14.33 32 32 32h274.63c8.55 0 16.75-3.42 22.76-9.51l212.26-214.75c1.5-1.5 2.34-3.54 2.34-5.66V168c.01-5.31-5.08-9.15-10.19-7.69zM96 288.67l-48-8.73v-62.43l48 8.73v62.43zm453.33 84.66c0 23.56 19.1 42.67 42.67 42.67s42.67-19.1 42.67-42.67S592 288 592 288s-42.67 61.77-42.67 85.33z"],om:[512,512,[],"f679","M360.6 60.94a10.43 10.43 0 0 0 14.76 0l21.57-21.56a10.43 10.43 0 0 0 0-14.76L375.35 3.06c-4.08-4.07-10.68-4.07-14.76 0l-21.57 21.56a10.43 10.43 0 0 0 0 14.76l21.58 21.56zM412.11 192c-26.69 0-51.77 10.39-70.64 29.25l-24.25 24.25c-6.78 6.77-15.78 10.5-25.38 10.5H245c10.54-22.1 14.17-48.11 7.73-75.23-10.1-42.55-46.36-76.11-89.52-83.19-36.15-5.93-70.9 5.04-96.01 28.78-7.36 6.96-6.97 18.85 1.12 24.93l26.15 19.63c5.72 4.3 13.66 4.32 19.2-.21 8.45-6.9 19.02-10.71 30.27-10.71 26.47 0 48.01 21.53 48.01 48s-21.54 48-48.01 48h-31.9c-11.96 0-19.74 12.58-14.39 23.28l16.09 32.17c2.53 5.06 7.6 8.1 13.17 8.55h33.03c35.3 0 64.01 28.7 64.01 64s-28.71 64-64.01 64c-96.02 0-122.35-54.02-145.15-92.03-4.53-7.55-14.77-3.58-14.79 5.22C-.09 416 41.13 512 159.94 512c70.59 0 128.02-57.42 128.02-128 0-23.42-6.78-45.1-17.81-64h21.69c26.69 0 51.77-10.39 70.64-29.25l24.25-24.25c6.78-6.77 15.78-10.5 25.38-10.5 19.78 0 35.88 16.09 35.88 35.88V392c0 13.23-18.77 24-32.01 24-39.4 0-66.67-24.24-81.82-42.89-4.77-5.87-14.2-2.54-14.2 5.02V416s0 64 96.02 64c48.54 0 96.02-39.47 96.02-88V291.88c0-55.08-44.8-99.88-99.89-99.88zm42.18-124.73c-85.55 65.12-169.05 2.75-172.58.05-6.02-4.62-14.44-4.38-20.14.55-5.74 4.92-7.27 13.17-3.66 19.8 1.61 2.95 40.37 72.34 118.8 72.34 79.92 0 98.78-31.36 101.75-37.66 1.02-2.12 1.53-4.47 1.53-6.83V80c0-13.22-15.14-20.69-25.7-12.73z"],otter:[640,512,[],"f700","M608 32h-32l-13.25-13.25A63.97 63.97 0 0 0 517.49 0H497c-11.14 0-22.08 2.91-31.75 8.43L312 96h-56C149.96 96 64 181.96 64 288v1.61c0 32.75-16 62.14-39.56 84.89-18.19 17.58-28.1 43.68-23.19 71.8 6.76 38.8 42.9 65.7 82.28 65.7H192c17.67 0 32-14.33 32-32s-14.33-32-32-32H80c-8.83 0-16-7.17-16-16s7.17-16 16-16h224c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-64l149.49-80.5L448 416h80c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-28.22l-55.11-110.21L521.14 192H544c53.02 0 96-42.98 96-96V64c0-17.67-14.33-32-32-32zm-96 16c8.84 0 16 7.16 16 16s-7.16 16-16 16-16-7.16-16-16 7.16-16 16-16zm32 96h-34.96L407.2 198.84l-13.77-27.55L512 112h77.05c-6.62 18.58-24.22 32-45.05 32z"],outdent:[448,512,[],"f03b","M100.69 363.29c10 10 27.31 2.93 27.31-11.31V160c0-14.32-17.33-21.31-27.31-11.31l-96 96a16 16 0 0 0 0 22.62zM432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-128H204.83A12.82 12.82 0 0 0 192 300.83v38.34A12.82 12.82 0 0 0 204.83 352h230.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288zm0-128H204.83A12.82 12.82 0 0 0 192 172.83v38.34A12.82 12.82 0 0 0 204.83 224h230.34A12.82 12.82 0 0 0 448 211.17v-38.34A12.82 12.82 0 0 0 435.17 160zM432 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"],pager:[512,512,[],"f815","M448 64H64a64 64 0 0 0-64 64v256a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V128a64 64 0 0 0-64-64zM160 368H80a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h80zm128-16a16 16 0 0 1-16 16h-80v-48h80a16 16 0 0 1 16 16zm160-128a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32v-64a32 32 0 0 1 32-32h320a32 32 0 0 1 32 32z"],"paint-brush":[512,512,[],"f1fc","M167.02 309.34c-40.12 2.58-76.53 17.86-97.19 72.3-2.35 6.21-8 9.98-14.59 9.98-11.11 0-45.46-27.67-55.25-34.35C0 439.62 37.93 512 128 512c75.86 0 128-43.77 128-120.19 0-3.11-.65-6.08-.97-9.13l-88.01-73.34zM457.89 0c-15.16 0-29.37 6.71-40.21 16.45C213.27 199.05 192 203.34 192 257.09c0 13.7 3.25 26.76 8.73 38.7l63.82 53.18c7.21 1.8 14.64 3.03 22.39 3.03 62.11 0 98.11-45.47 211.16-256.46 7.38-14.35 13.9-29.85 13.9-45.99C512 20.64 486 0 457.89 0z"],"paint-roller":[512,512,[],"f5aa","M416 128V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32zm32-64v128c0 17.67-14.33 32-32 32H256c-35.35 0-64 28.65-64 64v32c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32v-32h160c53.02 0 96-42.98 96-96v-64c0-35.35-28.65-64-64-64z"],palette:[512,512,[],"f53f","M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"],pallet:[640,512,[],"f482","M144 256h352c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H384v128l-64-32-64 32V0H144c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm480 128c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v64H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-48v-64h48zm-336 64H128v-64h160v64zm224 0H352v-64h160v64z"],"paper-plane":[512,512,[],"f1d8","M476 3.2L12.5 270.6c-18.1 10.4-15.8 35.6 2.2 43.2L121 358.4l287.3-253.2c5.5-4.9 13.3 2.6 8.6 8.3L176 407v80.5c0 23.6 28.5 32.9 42.5 15.8L282 426l124.6 52.2c14.2 6 30.4-2.9 33-18.2l72-432C515 7.8 493.3-6.8 476 3.2z"],paperclip:[448,512,[],"f0c6","M43.246 466.142c-58.43-60.289-57.341-157.511 1.386-217.581L254.392 34c44.316-45.332 116.351-45.336 160.671 0 43.89 44.894 43.943 117.329 0 162.276L232.214 383.128c-29.855 30.537-78.633 30.111-107.982-.998-28.275-29.97-27.368-77.473 1.452-106.953l143.743-146.835c6.182-6.314 16.312-6.422 22.626-.241l22.861 22.379c6.315 6.182 6.422 16.312.241 22.626L171.427 319.927c-4.932 5.045-5.236 13.428-.648 18.292 4.372 4.634 11.245 4.711 15.688.165l182.849-186.851c19.613-20.062 19.613-52.725-.011-72.798-19.189-19.627-49.957-19.637-69.154 0L90.39 293.295c-34.763 35.56-35.299 93.12-1.191 128.313 34.01 35.093 88.985 35.137 123.058.286l172.06-175.999c6.177-6.319 16.307-6.433 22.626-.256l22.877 22.364c6.319 6.177 6.434 16.307.256 22.626l-172.06 175.998c-59.576 60.938-155.943 60.216-214.77-.485z"],"parachute-box":[512,512,[],"f4cd","M511.9 175c-9.1-75.6-78.4-132.4-158.3-158.7C390 55.7 416 116.9 416 192h28.1L327.5 321.5c-2.5-.6-4.8-1.5-7.5-1.5h-48V192h112C384 76.8 315.1 0 256 0S128 76.8 128 192h112v128h-48c-2.7 0-5 .9-7.5 1.5L67.9 192H96c0-75.1 26-136.3 62.4-175.7C78.5 42.7 9.2 99.5.1 175c-1.1 9.1 6.8 17 16 17h8.7l136.7 151.9c-.7 2.6-1.6 5.2-1.6 8.1v128c0 17.7 14.3 32 32 32h128c17.7 0 32-14.3 32-32V352c0-2.9-.9-5.4-1.6-8.1L487.1 192h8.7c9.3 0 17.2-7.8 16.1-17z"],paragraph:[448,512,[],"f1dd","M448 48v32a16 16 0 0 1-16 16h-48v368a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V96h-32v368a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V352h-32a160 160 0 0 1 0-320h240a16 16 0 0 1 16 16z"],parking:[448,512,[],"f540","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM240 320h-48v48c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h96c52.9 0 96 43.1 96 96s-43.1 96-96 96zm0-128h-48v64h48c17.6 0 32-14.4 32-32s-14.4-32-32-32z"],passport:[448,512,[],"f5ab","M129.62 176h39.09c1.49-27.03 6.54-51.35 14.21-70.41-27.71 13.24-48.02 39.19-53.3 70.41zm0 32c5.29 31.22 25.59 57.17 53.3 70.41-7.68-19.06-12.72-43.38-14.21-70.41h-39.09zM224 286.69c7.69-7.45 20.77-34.42 23.43-78.69h-46.87c2.67 44.26 15.75 71.24 23.44 78.69zM200.57 176h46.87c-2.66-44.26-15.74-71.24-23.43-78.69-7.7 7.45-20.78 34.43-23.44 78.69zm64.51 102.41c27.71-13.24 48.02-39.19 53.3-70.41h-39.09c-1.49 27.03-6.53 51.35-14.21 70.41zM416 0H64C28.65 0 0 28.65 0 64v384c0 35.35 28.65 64 64 64h352c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32zm-80 416H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h224c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-112-96c-70.69 0-128-57.31-128-128S153.31 64 224 64s128 57.31 128 128-57.31 128-128 128zm41.08-214.41c7.68 19.06 12.72 43.38 14.21 70.41h39.09c-5.28-31.22-25.59-57.17-53.3-70.41z"],pastafarianism:[640,512,[],"f67b","M624.54 347.67c-32.7-12.52-57.36 4.25-75.37 16.45-17.06 11.53-23.25 14.42-31.41 11.36-8.12-3.09-10.83-9.38-15.89-29.38-3.33-13.15-7.44-29.32-17.95-42.65 2.24-2.91 4.43-5.79 6.38-8.57C500.47 304.45 513.71 312 532 312c33.95 0 50.87-25.78 62.06-42.83 10.59-16.14 15-21.17 21.94-21.17 13.25 0 24-10.75 24-24s-10.75-24-24-24c-33.95 0-50.87 25.78-62.06 42.83-10.6 16.14-15 21.17-21.94 21.17-17.31 0-37.48-61.43-97.26-101.91l17.25-34.5C485.43 125.5 512 97.98 512 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 13.02 3.94 25.1 10.62 35.21l-18.15 36.3c-16.98-4.6-35.6-7.51-56.46-7.51s-39.49 2.91-56.46 7.51l-18.15-36.3C252.06 89.1 256 77.02 256 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 33.98 26.56 61.5 60.02 63.6l17.25 34.5C145.68 202.44 125.15 264 108 264c-6.94 0-11.34-5.03-21.94-21.17C74.88 225.78 57.96 200 24 200c-13.25 0-24 10.75-24 24s10.75 24 24 24c6.94 0 11.34 5.03 21.94 21.17C57.13 286.22 74.05 312 108 312c18.29 0 31.53-7.55 41.7-17.11 1.95 2.79 4.14 5.66 6.38 8.57-10.51 13.33-14.62 29.5-17.95 42.65-5.06 20-7.77 26.28-15.89 29.38-8.11 3.06-14.33.17-31.41-11.36-18.03-12.2-42.72-28.92-75.37-16.45-12.39 4.72-18.59 18.58-13.87 30.97 4.72 12.41 18.61 18.61 30.97 13.88 8.16-3.09 14.34-.19 31.39 11.36 13.55 9.16 30.83 20.86 52.42 20.84 7.17 0 14.83-1.28 22.97-4.39 32.66-12.44 39.98-41.33 45.33-62.44 2.21-8.72 3.99-14.49 5.95-18.87 16.62 13.61 36.95 25.88 61.64 34.17-9.96 37-32.18 90.8-60.26 90.8-13.25 0-24 10.75-24 24s10.75 24 24 24c66.74 0 97.05-88.63 107.42-129.14 6.69.6 13.42 1.14 20.58 1.14s13.89-.54 20.58-1.14C350.95 423.37 381.26 512 448 512c13.25 0 24-10.75 24-24s-10.75-24-24-24c-27.94 0-50.21-53.81-60.22-90.81 24.69-8.29 45-20.56 61.62-34.16 1.96 4.38 3.74 10.15 5.95 18.87 5.34 21.11 12.67 50 45.33 62.44 8.14 3.11 15.8 4.39 22.97 4.39 21.59 0 38.87-11.69 52.42-20.84 17.05-11.55 23.28-14.45 31.39-11.36 12.39 4.75 26.27-1.47 30.97-13.88 4.71-12.4-1.49-26.26-13.89-30.98zM448 48c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zm-256 0c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16z"],paste:[448,512,[],"f0ea","M128 184c0-30.879 25.122-56 56-56h136V56c0-13.255-10.745-24-24-24h-80.61C204.306 12.89 183.637 0 160 0s-44.306 12.89-55.39 32H24C10.745 32 0 42.745 0 56v336c0 13.255 10.745 24 24 24h104V184zm32-144c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24zm184 248h104v200c0 13.255-10.745 24-24 24H184c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h136v104c0 13.2 10.8 24 24 24zm104-38.059V256h-96v-96h6.059a24 24 0 0 1 16.97 7.029l65.941 65.941a24.002 24.002 0 0 1 7.03 16.971z"],pause:[448,512,[],"f04c","M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z"],"pause-circle":[512,512,[],"f28b","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-16 328c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160zm112 0c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160z"],paw:[512,512,[],"f1b0","M256 224c-79.41 0-192 122.76-192 200.25 0 34.9 26.81 55.75 71.74 55.75 48.84 0 81.09-25.08 120.26-25.08 39.51 0 71.85 25.08 120.26 25.08 44.93 0 71.74-20.85 71.74-55.75C448 346.76 335.41 224 256 224zm-147.28-12.61c-10.4-34.65-42.44-57.09-71.56-50.13-29.12 6.96-44.29 40.69-33.89 75.34 10.4 34.65 42.44 57.09 71.56 50.13 29.12-6.96 44.29-40.69 33.89-75.34zm84.72-20.78c30.94-8.14 46.42-49.94 34.58-93.36s-46.52-72.01-77.46-63.87-46.42 49.94-34.58 93.36c11.84 43.42 46.53 72.02 77.46 63.87zm281.39-29.34c-29.12-6.96-61.15 15.48-71.56 50.13-10.4 34.65 4.77 68.38 33.89 75.34 29.12 6.96 61.15-15.48 71.56-50.13 10.4-34.65-4.77-68.38-33.89-75.34zm-156.27 29.34c30.94 8.14 65.62-20.45 77.46-63.87 11.84-43.42-3.64-85.21-34.58-93.36s-65.62 20.45-77.46 63.87c-11.84 43.42 3.64 85.22 34.58 93.36z"],peace:[496,512,[],"f67c","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm184 248c0 31.93-8.2 61.97-22.57 88.17L280 240.63V74.97c86.23 15.21 152 90.5 152 181.03zM216 437.03c-33.86-5.97-64.49-21.2-89.29-43.02L216 322.57v114.46zm64-114.46L369.29 394c-24.8 21.82-55.43 37.05-89.29 43.02V322.57zm-64-247.6v165.66L86.57 344.17C72.2 317.97 64 287.93 64 256c0-90.53 65.77-165.82 152-181.03z"],pen:[512,512,[],"f304","M290.74 93.24l128.02 128.02-277.99 277.99-114.14 12.6C11.35 513.54-1.56 500.62.14 485.34l12.7-114.22 277.9-277.88zm207.2-19.06l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.76 18.75-49.16 0-67.91z"],"pen-alt":[512,512,[],"f305","M497.94 74.17l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91zm-246.8-20.53c-15.62-15.62-40.94-15.62-56.56 0L75.8 172.43c-6.25 6.25-6.25 16.38 0 22.62l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l101.82-101.82 22.63 22.62L93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l196.79-196.79-82.77-82.77-84.85-84.85z"],"pen-fancy":[512,512,[],"f5ac","M79.18 282.94a32.005 32.005 0 0 0-20.24 20.24L0 480l4.69 4.69 92.89-92.89c-.66-2.56-1.57-5.03-1.57-7.8 0-17.67 14.33-32 32-32s32 14.33 32 32-14.33 32-32 32c-2.77 0-5.24-.91-7.8-1.57l-92.89 92.89L32 512l176.82-58.94a31.983 31.983 0 0 0 20.24-20.24l33.07-84.07-98.88-98.88-84.07 33.07zM369.25 28.32L186.14 227.81l97.85 97.85 199.49-183.11C568.4 67.48 443.73-55.94 369.25 28.32z"],"pen-nib":[512,512,[],"f5ad","M136.6 138.79a64.003 64.003 0 0 0-43.31 41.35L0 460l14.69 14.69L164.8 324.58c-2.99-6.26-4.8-13.18-4.8-20.58 0-26.51 21.49-48 48-48s48 21.49 48 48-21.49 48-48 48c-7.4 0-14.32-1.81-20.58-4.8L37.31 497.31 52 512l279.86-93.29a64.003 64.003 0 0 0 41.35-43.31L416 224 288 96l-151.4 42.79zm361.34-64.62l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91z"],"pen-square":[448,512,[],"f14b","M400 480H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zM238.1 177.9L102.4 313.6l-6.3 57.1c-.8 7.6 5.6 14.1 13.3 13.3l57.1-6.3L302.2 242c2.3-2.3 2.3-6.1 0-8.5L246.7 178c-2.5-2.4-6.3-2.4-8.6-.1zM345 165.1L314.9 135c-9.4-9.4-24.6-9.4-33.9 0l-23.1 23.1c-2.3 2.3-2.3 6.1 0 8.5l55.5 55.5c2.3 2.3 6.1 2.3 8.5 0L345 199c9.3-9.3 9.3-24.5 0-33.9z"],"pencil-alt":[512,512,[],"f303","M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z"],"pencil-ruler":[512,512,[],"f5ae","M109.46 244.04l134.58-134.56-44.12-44.12-61.68 61.68a7.919 7.919 0 0 1-11.21 0l-11.21-11.21c-3.1-3.1-3.1-8.12 0-11.21l61.68-61.68-33.64-33.65C131.47-3.1 111.39-3.1 99 9.29L9.29 99c-12.38 12.39-12.39 32.47 0 44.86l100.17 100.18zm388.47-116.8c18.76-18.76 18.75-49.17 0-67.93l-45.25-45.25c-18.76-18.76-49.18-18.76-67.95 0l-46.02 46.01 113.2 113.2 46.02-46.03zM316.08 82.71l-297 296.96L.32 487.11c-2.53 14.49 10.09 27.11 24.59 24.56l107.45-18.84L429.28 195.9 316.08 82.71zm186.63 285.43l-33.64-33.64-61.68 61.68c-3.1 3.1-8.12 3.1-11.21 0l-11.21-11.21c-3.09-3.1-3.09-8.12 0-11.21l61.68-61.68-44.14-44.14L267.93 402.5l100.21 100.2c12.39 12.39 32.47 12.39 44.86 0l89.71-89.7c12.39-12.39 12.39-32.47 0-44.86z"],"people-arrows":[576,512,[],"e068","M96,128A64,64,0,1,0,32,64,64,64,0,0,0,96,128Zm0,176.08a44.11,44.11,0,0,1,13.64-32L181.77,204c1.65-1.55,3.77-2.31,5.61-3.57A63.91,63.91,0,0,0,128,160H64A64,64,0,0,0,0,224v96a32,32,0,0,0,32,32V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V383.61l-50.36-47.53A44.08,44.08,0,0,1,96,304.08ZM480,128a64,64,0,1,0-64-64A64,64,0,0,0,480,128Zm32,32H448a63.91,63.91,0,0,0-59.38,40.42c1.84,1.27,4,2,5.62,3.59l72.12,68.06a44.37,44.37,0,0,1,0,64L416,383.62V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V352a32,32,0,0,0,32-32V224A64,64,0,0,0,512,160ZM444.4,295.34l-72.12-68.06A12,12,0,0,0,352,236v36H224V236a12,12,0,0,0-20.28-8.73L131.6,295.34a12.4,12.4,0,0,0,0,17.47l72.12,68.07A12,12,0,0,0,224,372.14V336H352v36.14a12,12,0,0,0,20.28,8.74l72.12-68.07A12.4,12.4,0,0,0,444.4,295.34Z"],"people-carry":[640,512,[],"f4ce","M128 96c26.5 0 48-21.5 48-48S154.5 0 128 0 80 21.5 80 48s21.5 48 48 48zm384 0c26.5 0 48-21.5 48-48S538.5 0 512 0s-48 21.5-48 48 21.5 48 48 48zm125.7 372.1l-44-110-41.1 46.4-2 18.2 27.7 69.2c5 12.5 17 20.1 29.7 20.1 4 0 8-.7 11.9-2.3 16.4-6.6 24.4-25.2 17.8-41.6zm-34.2-209.8L585 178.1c-4.6-20-18.6-36.8-37.5-44.9-18.5-8-39-6.7-56.1 3.3-22.7 13.4-39.7 34.5-48.1 59.4L432 229.8 416 240v-96c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v96l-16.1-10.2-11.3-33.9c-8.3-25-25.4-46-48.1-59.4-17.2-10-37.6-11.3-56.1-3.3-18.9 8.1-32.9 24.9-37.5 44.9l-18.4 80.2c-4.6 20 .7 41.2 14.4 56.7l67.2 75.9 10.1 92.6C130 499.8 143.8 512 160 512c1.2 0 2.3-.1 3.5-.2 17.6-1.9 30.2-17.7 28.3-35.3l-10.1-92.8c-1.5-13-6.9-25.1-15.6-35l-43.3-49 17.6-70.3 6.8 20.4c4.1 12.5 11.9 23.4 24.5 32.6l51.1 32.5c4.6 2.9 12.1 4.6 17.2 5h160c5.1-.4 12.6-2.1 17.2-5l51.1-32.5c12.6-9.2 20.4-20 24.5-32.6l6.8-20.4 17.6 70.3-43.3 49c-8.7 9.9-14.1 22-15.6 35l-10.1 92.8c-1.9 17.6 10.8 33.4 28.3 35.3 1.2.1 2.3.2 3.5.2 16.1 0 30-12.1 31.8-28.5l10.1-92.6 67.2-75.9c13.6-15.5 19-36.7 14.4-56.7zM46.3 358.1l-44 110c-6.6 16.4 1.4 35 17.8 41.6 16.8 6.6 35.1-1.7 41.6-17.8l27.7-69.2-2-18.2-41.1-46.4z"],"pepper-hot":[512,512,[],"f816","M330.67 263.12V173.4l-52.75-24.22C219.44 218.76 197.58 400 56 400a56 56 0 0 0 0 112c212.64 0 370.65-122.87 419.18-210.34l-37.05-38.54zm131.09-128.37C493.92 74.91 477.18 26.48 458.62 3a8 8 0 0 0-11.93-.59l-22.9 23a8.06 8.06 0 0 0-.89 10.23c6.86 10.36 17.05 35.1-1.4 72.32A142.85 142.85 0 0 0 364.34 96c-28 0-54 8.54-76.34 22.59l74.67 34.29v78.24h89.09L506.44 288c3.26-12.62 5.56-25.63 5.56-39.31a154 154 0 0 0-50.24-113.94z"],percent:[448,512,[],"f295","M112 224c61.9 0 112-50.1 112-112S173.9 0 112 0 0 50.1 0 112s50.1 112 112 112zm0-160c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48 21.5-48 48-48zm224 224c-61.9 0-112 50.1-112 112s50.1 112 112 112 112-50.1 112-112-50.1-112-112-112zm0 160c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zM392.3.2l31.6-.1c19.4-.1 30.9 21.8 19.7 37.8L77.4 501.6a23.95 23.95 0 0 1-19.6 10.2l-33.4.1c-19.5 0-30.9-21.9-19.7-37.8l368-463.7C377.2 4 384.5.2 392.3.2z"],percentage:[384,512,[],"f541","M109.25 173.25c24.99-24.99 24.99-65.52 0-90.51-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 25 25 65.52 25 90.51 0zm256 165.49c-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 24.99 24.99 65.52 24.99 90.51 0 25-24.99 25-65.51 0-90.51zm-1.94-231.43l-22.62-22.62c-12.5-12.5-32.76-12.5-45.25 0L20.69 359.44c-12.5 12.5-12.5 32.76 0 45.25l22.62 22.62c12.5 12.5 32.76 12.5 45.25 0l274.75-274.75c12.5-12.49 12.5-32.75 0-45.25z"],"person-booth":[576,512,[],"f756","M192 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h-64v176zm32-272h-50.9l-45.2-45.3C115.8 166.6 99.7 160 82.7 160H64c-17.1 0-33.2 6.7-45.3 18.8C6.7 190.9 0 207 0 224.1L.2 320 0 480c0 17.7 14.3 32 31.9 32 17.6 0 32-14.3 32-32l.1-100.7c.9.5 1.6 1.3 2.5 1.7l29.1 43v56c0 17.7 14.3 32 32 32s32-14.3 32-32v-56.5c0-9.9-2.3-19.8-6.7-28.6l-41.2-61.3V253l20.9 20.9c9.1 9.1 21.1 14.1 33.9 14.1H224c17.7 0 32-14.3 32-32s-14.3-32-32-32zM64 128c26.5 0 48-21.5 48-48S90.5 32 64 32 16 53.5 16 80s21.5 48 48 48zm224-96l31.5 223.1-30.9 154.6c-4.3 21.6 13 38.3 31.4 38.3 15.2 0 28-9.1 32.3-30.4.9 16.9 14.6 30.4 31.7 30.4 17.7 0 32-14.3 32-32 0 17.7 14.3 32 32 32s32-14.3 32-32V0H288v32zm-96 0v160h64V0h-32c-17.7 0-32 14.3-32 32zM544 0h-32v496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32c0-17.7-14.3-32-32-32z"],phone:[512,512,[],"f095","M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z"],"phone-alt":[512,512,[],"f879","M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z"],"phone-slash":[640,512,[],"f3dd","M268.2 381.4l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48c-10.7 4.6-16.5 16.1-13.9 27.5l24 104c2.5 10.8 12.1 18.6 23.4 18.6 100.7 0 193.7-32.4 269.7-86.9l-80-61.8c-10.9 6.5-22.1 12.7-33.6 18.1zm365.6 76.7L475.1 335.5C537.9 256.4 576 156.9 576 48c0-11.2-7.7-20.9-18.6-23.4l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-12.2 26.1-27.9 50.3-46 72.8L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z"],"phone-square":[448,512,[],"f098","M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM94 416c-7.033 0-13.057-4.873-14.616-11.627l-14.998-65a15 15 0 0 1 8.707-17.16l69.998-29.999a15 15 0 0 1 17.518 4.289l30.997 37.885c48.944-22.963 88.297-62.858 110.781-110.78l-37.886-30.997a15.001 15.001 0 0 1-4.289-17.518l30-69.998a15 15 0 0 1 17.16-8.707l65 14.998A14.997 14.997 0 0 1 384 126c0 160.292-129.945 290-290 290z"],"phone-square-alt":[448,512,[],"f87b","M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h352a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48zm-16.39 307.37l-15 65A15 15 0 0 1 354 416C194 416 64 286.29 64 126a15.7 15.7 0 0 1 11.63-14.61l65-15A18.23 18.23 0 0 1 144 96a16.27 16.27 0 0 1 13.79 9.09l30 70A17.9 17.9 0 0 1 189 181a17 17 0 0 1-5.5 11.61l-37.89 31a231.91 231.91 0 0 0 110.78 110.78l31-37.89A17 17 0 0 1 299 291a17.85 17.85 0 0 1 5.91 1.21l70 30A16.25 16.25 0 0 1 384 336a17.41 17.41 0 0 1-.39 3.37z"],"phone-volume":[384,512,[],"f2a0","M97.333 506.966c-129.874-129.874-129.681-340.252 0-469.933 5.698-5.698 14.527-6.632 21.263-2.422l64.817 40.513a17.187 17.187 0 0 1 6.849 20.958l-32.408 81.021a17.188 17.188 0 0 1-17.669 10.719l-55.81-5.58c-21.051 58.261-20.612 122.471 0 179.515l55.811-5.581a17.188 17.188 0 0 1 17.669 10.719l32.408 81.022a17.188 17.188 0 0 1-6.849 20.958l-64.817 40.513a17.19 17.19 0 0 1-21.264-2.422zM247.126 95.473c11.832 20.047 11.832 45.008 0 65.055-3.95 6.693-13.108 7.959-18.718 2.581l-5.975-5.726c-3.911-3.748-4.793-9.622-2.261-14.41a32.063 32.063 0 0 0 0-29.945c-2.533-4.788-1.65-10.662 2.261-14.41l5.975-5.726c5.61-5.378 14.768-4.112 18.718 2.581zm91.787-91.187c60.14 71.604 60.092 175.882 0 247.428-4.474 5.327-12.53 5.746-17.552.933l-5.798-5.557c-4.56-4.371-4.977-11.529-.93-16.379 49.687-59.538 49.646-145.933 0-205.422-4.047-4.85-3.631-12.008.93-16.379l5.798-5.557c5.022-4.813 13.078-4.394 17.552.933zm-45.972 44.941c36.05 46.322 36.108 111.149 0 157.546-4.39 5.641-12.697 6.251-17.856 1.304l-5.818-5.579c-4.4-4.219-4.998-11.095-1.285-15.931 26.536-34.564 26.534-82.572 0-117.134-3.713-4.836-3.115-11.711 1.285-15.931l5.818-5.579c5.159-4.947 13.466-4.337 17.856 1.304z"],"photo-video":[640,512,[],"f87c","M608 0H160a32 32 0 0 0-32 32v96h160V64h192v320h128a32 32 0 0 0 32-32V32a32 32 0 0 0-32-32zM232 103a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9V73a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm352 208a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9v-30a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm0-104a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9v-30a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm0-104a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9V73a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm-168 57H32a32 32 0 0 0-32 32v288a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM96 224a32 32 0 1 1-32 32 32 32 0 0 1 32-32zm288 224H64v-32l64-64 32 32 128-128 96 96z"],"piggy-bank":[576,512,[],"f4d3","M560 224h-29.5c-8.8-20-21.6-37.7-37.4-52.5L512 96h-32c-29.4 0-55.4 13.5-73 34.3-7.6-1.1-15.1-2.3-23-2.3H256c-77.4 0-141.9 55-156.8 128H56c-14.8 0-26.5-13.5-23.5-28.8C34.7 215.8 45.4 208 57 208h1c3.3 0 6-2.7 6-6v-20c0-3.3-2.7-6-6-6-28.5 0-53.9 20.4-57.5 48.6C-3.9 258.8 22.7 288 56 288h40c0 52.2 25.4 98.1 64 127.3V496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-48h128v48c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80.7c11.8-8.9 22.3-19.4 31.3-31.3H560c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16zm-128 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM256 96h128c5.4 0 10.7.4 15.9.8 0-.3.1-.5.1-.8 0-53-43-96-96-96s-96 43-96 96c0 2.1.5 4.1.6 6.2 15.2-3.9 31-6.2 47.4-6.2z"],pills:[576,512,[],"f484","M112 32C50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V144c0-61.9-50.1-112-112-112zm48 224H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm139.7-29.7c-3.5-3.5-9.4-3.1-12.3.8-45.3 62.5-40.4 150.1 15.9 206.4 56.3 56.3 143.9 61.2 206.4 15.9 4-2.9 4.3-8.8.8-12.3L299.7 226.3zm229.8-19c-56.3-56.3-143.9-61.2-206.4-15.9-4 2.9-4.3 8.8-.8 12.3l210.8 210.8c3.5 3.5 9.4 3.1 12.3-.8 45.3-62.6 40.5-150.1-15.9-206.4z"],"pizza-slice":[512,512,[],"f818","M158.87.15c-16.16-1.52-31.2 8.42-35.33 24.12l-14.81 56.27c187.62 5.49 314.54 130.61 322.48 317l56.94-15.78c15.72-4.36 25.49-19.68 23.62-35.9C490.89 165.08 340.78 17.32 158.87.15zm-58.47 112L.55 491.64a16.21 16.21 0 0 0 20 19.75l379-105.1c-4.27-174.89-123.08-292.14-299.15-294.1zM128 416a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm48-152a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm104 104a32 32 0 1 1 32-32 32 32 0 0 1-32 32z"],"place-of-worship":[640,512,[],"f67f","M620.61 366.55L512 320v192h112c8.84 0 16-7.16 16-16V395.96a32 32 0 0 0-19.39-29.41zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.55A32 32 0 0 0 0 395.96zm464.46-149.28L416 217.6V102.63c0-8.49-3.37-16.62-9.38-22.63L331.31 4.69c-6.25-6.25-16.38-6.25-22.62 0L233.38 80c-6 6-9.38 14.14-9.38 22.63V217.6l-48.46 29.08A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.66-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44z"],plane:[576,512,[],"f072","M480 192H365.71L260.61 8.06A16.014 16.014 0 0 0 246.71 0h-65.5c-10.63 0-18.3 10.17-15.38 20.39L214.86 192H112l-43.2-57.6c-3.02-4.03-7.77-6.4-12.8-6.4H16.01C5.6 128-2.04 137.78.49 147.88L32 256 .49 364.12C-2.04 374.22 5.6 384 16.01 384H56c5.04 0 9.78-2.37 12.8-6.4L112 320h102.86l-49.03 171.6c-2.92 10.22 4.75 20.4 15.38 20.4h65.5c5.74 0 11.04-3.08 13.89-8.06L365.71 320H480c35.35 0 96-28.65 96-64s-60.65-64-96-64z"],"plane-arrival":[640,512,[],"f5af","M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM44.81 205.66l88.74 80a62.607 62.607 0 0 0 25.47 13.93l287.6 78.35c26.48 7.21 54.56 8.72 81 1.36 29.67-8.27 43.44-21.21 47.25-35.71 3.83-14.5-1.73-32.71-23.37-54.96-19.28-19.82-44.35-32.79-70.83-40l-97.51-26.56L282.8 30.22c-1.51-5.81-5.95-10.35-11.66-11.91L206.05.58c-10.56-2.88-20.9 5.32-20.71 16.44l47.92 164.21-102.2-27.84-27.59-67.88c-1.93-4.89-6.01-8.57-11.02-9.93L52.72 64.75c-10.34-2.82-20.53 5-20.72 15.88l.23 101.78c.19 8.91 6.03 17.34 12.58 23.25z"],"plane-departure":[640,512,[],"f5b0","M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM80.55 341.27c6.28 6.84 15.1 10.72 24.33 10.71l130.54-.18a65.62 65.62 0 0 0 29.64-7.12l290.96-147.65c26.74-13.57 50.71-32.94 67.02-58.31 18.31-28.48 20.3-49.09 13.07-63.65-7.21-14.57-24.74-25.27-58.25-27.45-29.85-1.94-59.54 5.92-86.28 19.48l-98.51 49.99-218.7-82.06a17.799 17.799 0 0 0-18-1.11L90.62 67.29c-10.67 5.41-13.25 19.65-5.17 28.53l156.22 98.1-103.21 52.38-72.35-36.47a17.804 17.804 0 0 0-16.07.02L9.91 230.22c-10.44 5.3-13.19 19.12-5.57 28.08l76.21 82.97z"],"plane-slash":[640,512,[],"e069","M32.48,147.88,64,256,32.48,364.13A16,16,0,0,0,48,384H88a16,16,0,0,0,12.8-6.41L144,320H246.85l-49,171.59A16,16,0,0,0,213.2,512h65.5a16,16,0,0,0,13.89-8.06l66.6-116.54L34.35,136.34A15.47,15.47,0,0,0,32.48,147.88ZM633.82,458.09,455.14,320H512c35.34,0,96-28.66,96-64s-60.66-64-96-64H397.7L292.61,8.06C290.06,3.61,283.84,0,278.71,0H213.2a16,16,0,0,0-15.38,20.39l36.94,129.29L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09Z"],play:[448,512,[],"f04b","M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"],"play-circle":[512,512,[],"f144","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm115.7 272l-176 101c-15.8 8.8-35.7-2.5-35.7-21V152c0-18.4 19.8-29.8 35.7-21l176 107c16.4 9.2 16.4 32.9 0 42z"],plug:[384,512,[],"f1e6","M320,32a32,32,0,0,0-64,0v96h64Zm48,128H16A16,16,0,0,0,0,176v32a16,16,0,0,0,16,16H32v32A160.07,160.07,0,0,0,160,412.8V512h64V412.8A160.07,160.07,0,0,0,352,256V224h16a16,16,0,0,0,16-16V176A16,16,0,0,0,368,160ZM128,32a32,32,0,0,0-64,0v96h64Z"],plus:[448,512,[],"f067","M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"],"plus-circle":[512,512,[],"f055","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"],"plus-square":[448,512,[],"f0fe","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"],podcast:[448,512,[],"f2ce","M267.429 488.563C262.286 507.573 242.858 512 224 512c-18.857 0-38.286-4.427-43.428-23.437C172.927 460.134 160 388.898 160 355.75c0-35.156 31.142-43.75 64-43.75s64 8.594 64 43.75c0 32.949-12.871 104.179-20.571 132.813zM156.867 288.554c-18.693-18.308-29.958-44.173-28.784-72.599 2.054-49.724 42.395-89.956 92.124-91.881C274.862 121.958 320 165.807 320 220c0 26.827-11.064 51.116-28.866 68.552-2.675 2.62-2.401 6.986.628 9.187 9.312 6.765 16.46 15.343 21.234 25.363 1.741 3.654 6.497 4.66 9.449 1.891 28.826-27.043 46.553-65.783 45.511-108.565-1.855-76.206-63.595-138.208-139.793-140.369C146.869 73.753 80 139.215 80 220c0 41.361 17.532 78.7 45.55 104.989 2.953 2.771 7.711 1.77 9.453-1.887 4.774-10.021 11.923-18.598 21.235-25.363 3.029-2.2 3.304-6.566.629-9.185zM224 0C100.204 0 0 100.185 0 224c0 89.992 52.602 165.647 125.739 201.408 4.333 2.118 9.267-1.544 8.535-6.31-2.382-15.512-4.342-30.946-5.406-44.339-.146-1.836-1.149-3.486-2.678-4.512-47.4-31.806-78.564-86.016-78.187-147.347.592-96.237 79.29-174.648 175.529-174.899C320.793 47.747 400 126.797 400 224c0 61.932-32.158 116.49-80.65 147.867-.999 14.037-3.069 30.588-5.624 47.23-.732 4.767 4.203 8.429 8.535 6.31C395.227 389.727 448 314.187 448 224 448 100.205 347.815 0 224 0zm0 160c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64z"],poll:[448,512,[],"f681","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM160 368c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V240c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v128zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V144c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v224zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-64c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v64z"],"poll-h":[448,512,[],"f682","M448 432V80c0-26.5-21.5-48-48-48H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48zM112 192c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h128c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-64z"],poo:[512,512,[],"f2fe","M451.4 369.1C468.7 356 480 335.4 480 312c0-39.8-32.2-72-72-72h-14.1c13.4-11.7 22.1-28.8 22.1-48 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C250.3 14.6 256 30.6 256 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 19.2 8.7 36.3 22.1 48H104c-39.8 0-72 32.2-72 72 0 23.4 11.3 44 28.6 57.1C26.3 374.6 0 404.1 0 440c0 39.8 32.2 72 72 72h368c39.8 0 72-32.2 72-72 0-35.9-26.3-65.4-60.6-70.9zM192 256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm159.5 139C341 422.9 293 448 256 448s-85-25.1-95.5-53c-2-5.3 2-11 7.8-11h175.4c5.8 0 9.8 5.7 7.8 11zM320 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"],"poo-storm":[448,512,[],"f75a","M308 336h-57.7l17.3-64.9c2-7.6-3.7-15.1-11.6-15.1h-68c-6 0-11.1 4.5-11.9 10.4l-16 120c-1 7.2 4.6 13.6 11.9 13.6h59.3l-23 97.2c-1.8 7.6 4 14.8 11.7 14.8 4.2 0 8.2-2.2 10.4-6l88-152c4.6-8-1.2-18-10.4-18zm66.4-111.3c5.9-9.6 9.6-20.6 9.6-32.7 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C218.3 14.6 224 30.6 224 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 12.1 3.7 23.1 9.6 32.7C32.6 228 0 262.2 0 304c0 44 36 80 80 80h48.3c.1-.6 0-1.2 0-1.8l16-120c3-21.8 21.7-38.2 43.7-38.2h68c13.8 0 26.5 6.3 34.9 17.2s11.2 24.8 7.6 38.1l-6.6 24.7h16c15.7 0 30.3 8.4 38.1 22 7.8 13.6 7.8 30.5 0 44l-8.1 14h30c44 0 80-36 80-80 .1-41.8-32.5-76-73.5-79.3z"],poop:[512,512,[],"f619","M451.36 369.14C468.66 355.99 480 335.41 480 312c0-39.77-32.24-72-72-72h-14.07c13.42-11.73 22.07-28.78 22.07-48 0-35.35-28.65-64-64-64h-5.88c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96-5.17 0-10.15.74-15.11 1.52C250.31 14.64 256 30.62 256 48c0 44.18-35.82 80-80 80h-16c-35.35 0-64 28.65-64 64 0 19.22 8.65 36.27 22.07 48H104c-39.76 0-72 32.23-72 72 0 23.41 11.34 43.99 28.64 57.14C26.31 374.62 0 404.12 0 440c0 39.76 32.24 72 72 72h368c39.76 0 72-32.24 72-72 0-35.88-26.31-65.38-60.64-70.86z"],portrait:[384,512,[],"f3e0","M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM192 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 384 80 375.4 80 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z"],"pound-sign":[320,512,[],"f154","M308 352h-45.495c-6.627 0-12 5.373-12 12v50.848H128V288h84c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-84v-63.556c0-32.266 24.562-57.086 61.792-57.086 23.658 0 45.878 11.505 57.652 18.849 5.151 3.213 11.888 2.051 15.688-2.685l28.493-35.513c4.233-5.276 3.279-13.005-2.119-17.081C273.124 54.56 236.576 32 187.931 32 106.026 32 48 84.742 48 157.961V224H20c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h28v128H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12V364c0-6.627-5.373-12-12-12z"],"power-off":[512,512,[],"f011","M400 54.1c63 45 104 118.6 104 201.9 0 136.8-110.8 247.7-247.5 248C120 504.3 8.2 393 8 256.4 7.9 173.1 48.9 99.3 111.8 54.2c11.7-8.3 28-4.8 35 7.7L162.6 90c5.9 10.5 3.1 23.8-6.6 31-41.5 30.8-68 79.6-68 134.9-.1 92.3 74.5 168.1 168 168.1 91.6 0 168.6-74.2 168-169.1-.3-51.8-24.7-101.8-68.1-134-9.7-7.2-12.4-20.5-6.5-30.9l15.8-28.1c7-12.4 23.2-16.1 34.8-7.8zM296 264V24c0-13.3-10.7-24-24-24h-32c-13.3 0-24 10.7-24 24v240c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24z"],pray:[384,512,[],"f683","M256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-30.63 169.75c14.06 16.72 39 19.09 55.97 5.22l88-72.02c17.09-13.98 19.59-39.19 5.62-56.28-13.97-17.11-39.19-19.59-56.31-5.62l-57.44 47-38.91-46.31c-15.44-18.39-39.22-27.92-64-25.33-24.19 2.48-45.25 16.27-56.37 36.92l-49.37 92.03c-23.4 43.64-8.69 96.37 34.19 123.75L131.56 432H40c-22.09 0-40 17.91-40 40s17.91 40 40 40h208c34.08 0 53.77-42.79 28.28-68.28L166.42 333.86l34.8-64.87 24.15 28.76z"],"praying-hands":[640,512,[],"f684","M272 191.91c-17.6 0-32 14.4-32 32v80c0 8.84-7.16 16-16 16s-16-7.16-16-16v-76.55c0-17.39 4.72-34.47 13.69-49.39l77.75-129.59c9.09-15.16 4.19-34.81-10.97-43.91-14.45-8.67-32.72-4.3-42.3 9.21-.2.23-.62.21-.79.48l-117.26 175.9C117.56 205.9 112 224.31 112 243.29v80.23l-90.12 30.04A31.974 31.974 0 0 0 0 383.91v96c0 10.82 8.52 32 32 32 2.69 0 5.41-.34 8.06-1.03l179.19-46.62C269.16 449.99 304 403.8 304 351.91v-128c0-17.6-14.4-32-32-32zm346.12 161.73L528 323.6v-80.23c0-18.98-5.56-37.39-16.12-53.23L394.62 14.25c-.18-.27-.59-.24-.79-.48-9.58-13.51-27.85-17.88-42.3-9.21-15.16 9.09-20.06 28.75-10.97 43.91l77.75 129.59c8.97 14.92 13.69 32 13.69 49.39V304c0 8.84-7.16 16-16 16s-16-7.16-16-16v-80c0-17.6-14.4-32-32-32s-32 14.4-32 32v128c0 51.89 34.84 98.08 84.75 112.34l179.19 46.62c2.66.69 5.38 1.03 8.06 1.03 23.48 0 32-21.18 32-32v-96c0-13.77-8.81-25.99-21.88-30.35z"],prescription:[384,512,[],"f5b1","M301.26 352l78.06-78.06c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0L256 306.74l-83.96-83.96C219.31 216.8 256 176.89 256 128c0-53.02-42.98-96-96-96H16C7.16 32 0 39.16 0 48v256c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-80h18.75l128 128-78.06 78.06c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0L256 397.25l78.06 78.06c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63L301.26 352zM64 96h96c17.64 0 32 14.36 32 32s-14.36 32-32 32H64V96z"],"prescription-bottle":[384,512,[],"f485","M32 192h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v64zM360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24z"],"prescription-bottle-alt":[384,512,[],"f486","M360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24zM32 480c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v352zm64-184c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48z"],print:[512,512,[],"f02f","M448 192V77.25c0-8.49-3.37-16.62-9.37-22.63L393.37 9.37c-6-6-14.14-9.37-22.63-9.37H96C78.33 0 64 14.33 64 32v160c-35.35 0-64 28.65-64 64v112c0 8.84 7.16 16 16 16h48v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h48c8.84 0 16-7.16 16-16V256c0-35.35-28.65-64-64-64zm-64 256H128v-96h256v96zm0-224H128V64h192v48c0 8.84 7.16 16 16 16h48v96zm48 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"],procedures:[640,512,[],"f487","M528 224H272c-8.8 0-16 7.2-16 16v144H64V144c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v352c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48h512v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-61.9-50.1-112-112-112zM136 96h126.1l27.6 55.2c5.9 11.8 22.7 11.8 28.6 0L368 51.8 390.1 96H512c8.8 0 16-7.2 16-16s-7.2-16-16-16H409.9L382.3 8.8C376.4-3 359.6-3 353.7 8.8L304 108.2l-19.9-39.8c-1.4-2.7-4.1-4.4-7.2-4.4H136c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm24 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z"],"project-diagram":[640,512,[],"f542","M384 320H256c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM192 32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v128c0 17.67 14.33 32 32 32h95.72l73.16 128.04C211.98 300.98 232.4 288 256 288h.28L192 175.51V128h224V64H192V32zM608 0H480c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32z"],"pump-medical":[384,512,[],"e06a","M235.51,159.82H84.24A64,64,0,0,0,20.51,218L.14,442a64,64,0,0,0,63.74,69.8h192A64,64,0,0,0,319.61,442L299.24,218A64,64,0,0,0,235.51,159.82Zm4.37,173.33a13.35,13.35,0,0,1-13.34,13.34h-40v40a13.33,13.33,0,0,1-13.33,13.33H146.54a13.33,13.33,0,0,1-13.33-13.33v-40h-40a13.34,13.34,0,0,1-13.33-13.34V306.49a13.33,13.33,0,0,1,13.33-13.34h40v-40a13.33,13.33,0,0,1,13.33-13.33h26.67a13.33,13.33,0,0,1,13.33,13.33v40h40a13.34,13.34,0,0,1,13.34,13.34ZM379.19,93.88,335.87,50.56a64,64,0,0,0-45.24-18.74H223.88a32,32,0,0,0-32-32h-64a32,32,0,0,0-32,32v96h128v-32h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.19,93.88Z"],"pump-soap":[384,512,[],"e06b","M235.63,160H84.37a64,64,0,0,0-63.74,58.21L.27,442.21A64,64,0,0,0,64,512H256a64,64,0,0,0,63.74-69.79l-20.36-224A64,64,0,0,0,235.63,160ZM160,416c-33.12,0-60-26.33-60-58.75,0-25,35.7-75.47,52-97.27A10,10,0,0,1,168,260c16.33,21.8,52,72.27,52,97.27C220,389.67,193.12,416,160,416ZM379.31,94.06,336,50.74A64,64,0,0,0,290.75,32H224A32,32,0,0,0,192,0H128A32,32,0,0,0,96,32v96H224V96h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.31,94.06Z"],"puzzle-piece":[576,512,[],"f12e","M519.442 288.651c-41.519 0-59.5 31.593-82.058 31.593C377.409 320.244 432 144 432 144s-196.288 80-196.288-3.297c0-35.827 36.288-46.25 36.288-85.985C272 19.216 243.885 0 210.539 0c-34.654 0-66.366 18.891-66.366 56.346 0 41.364 31.711 59.277 31.711 81.75C175.885 207.719 0 166.758 0 166.758v333.237s178.635 41.047 178.635-28.662c0-22.473-40-40.107-40-81.471 0-37.456 29.25-56.346 63.577-56.346 33.673 0 61.788 19.216 61.788 54.717 0 39.735-36.288 50.158-36.288 85.985 0 60.803 129.675 25.73 181.23 25.73 0 0-34.725-120.101 25.827-120.101 35.962 0 46.423 36.152 86.308 36.152C556.712 416 576 387.99 576 354.443c0-34.199-18.962-65.792-56.558-65.792z"],qrcode:[448,512,[],"f029","M0 224h192V32H0v192zM64 96h64v64H64V96zm192-64v192h192V32H256zm128 128h-64V96h64v64zM0 480h192V288H0v192zm64-128h64v64H64v-64zm352-64h32v128h-96v-32h-32v96h-64V288h96v32h64v-32zm0 160h32v32h-32v-32zm-64 0h32v32h-32v-32z"],question:[384,512,[],"f128","M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z"],"question-circle":[512,512,[],"f059","M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z"],quidditch:[640,512,[],"f458","M256.5 216.8L343.2 326s-16.6 102.4-76.6 150.1C206.7 523.8 0 510.2 0 510.2s3.8-23.1 11-55.4l94.6-112.2c4-4.7-.9-11.6-6.6-9.5l-60.4 22.1c14.4-41.7 32.7-80 54.6-97.5 59.9-47.8 163.3-40.9 163.3-40.9zm238 135c-44 0-79.8 35.8-79.8 79.9 0 44.1 35.7 79.9 79.8 79.9 44.1 0 79.8-35.8 79.8-79.9 0-44.2-35.8-79.9-79.8-79.9zM636.5 31L616.7 6c-5.5-6.9-15.5-8-22.4-2.6L361.8 181.3l-34.1-43c-5.1-6.4-15.1-5.2-18.6 2.2l-25.3 54.6 86.7 109.2 58.8-12.4c8-1.7 11.4-11.2 6.3-17.6l-34.1-42.9L634 53.5c6.9-5.5 8-15.6 2.5-22.5z"],"quote-left":[512,512,[],"f10d","M464 256h-80v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8c-88.4 0-160 71.6-160 160v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zm-288 0H96v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8C71.6 32 0 103.6 0 192v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z"],"quote-right":[512,512,[],"f10e","M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z"],quran:[448,512,[],"f687","M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM301.08 145.82c.6-1.21 1.76-1.82 2.92-1.82s2.32.61 2.92 1.82l11.18 22.65 25 3.63c2.67.39 3.74 3.67 1.81 5.56l-18.09 17.63 4.27 24.89c.36 2.11-1.31 3.82-3.21 3.82-.5 0-1.02-.12-1.52-.38L304 211.87l-22.36 11.75c-.5.26-1.02.38-1.52.38-1.9 0-3.57-1.71-3.21-3.82l4.27-24.89-18.09-17.63c-1.94-1.89-.87-5.17 1.81-5.56l24.99-3.63 11.19-22.65zm-57.89-69.01c13.67 0 27.26 2.49 40.38 7.41a6.775 6.775 0 1 1-2.38 13.12c-.67 0-3.09-.21-4.13-.21-52.31 0-94.86 42.55-94.86 94.86 0 52.3 42.55 94.86 94.86 94.86 1.03 0 3.48-.21 4.13-.21 3.93 0 6.8 3.14 6.8 6.78 0 2.98-1.94 5.51-4.62 6.42-13.07 4.87-26.59 7.34-40.19 7.34C179.67 307.19 128 255.51 128 192c0-63.52 51.67-115.19 115.19-115.19zM380.8 448H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z"],radiation:[496,512,[],"f7b9","M328.2 255.8h151.6c9.1 0 16.8-7.7 16.2-16.8-5.1-75.8-44.4-142.2-102.5-184.2-7.4-5.3-17.9-2.9-22.7 4.8L290.4 188c22.6 14.3 37.8 39.2 37.8 67.8zm-37.8 67.7c-12.3 7.7-26.8 12.4-42.4 12.4-15.6 0-30-4.7-42.4-12.4L125.2 452c-4.8 7.7-2.4 18.1 5.6 22.4C165.7 493.2 205.6 504 248 504s82.3-10.8 117.2-29.6c8-4.3 10.4-14.8 5.6-22.4l-80.4-128.5zM248 303.8c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zm-231.8-48h151.6c0-28.6 15.2-53.5 37.8-67.7L125.2 59.7c-4.8-7.7-15.3-10.2-22.7-4.8C44.4 96.9 5.1 163.3 0 239.1c-.6 9 7.1 16.7 16.2 16.7z"],"radiation-alt":[496,512,[],"f7ba","M312 256h79.1c9.2 0 16.9-7.7 16-16.8-4.6-43.6-27-81.8-59.5-107.8-7.6-6.1-18.8-4.5-24 3.8L281.9 202c18 11.2 30.1 31.2 30.1 54zm-97.8 54.1L172.4 377c-4.9 7.8-2.4 18.4 5.8 22.5 21.1 10.4 44.7 16.5 69.8 16.5s48.7-6.1 69.9-16.5c8.2-4.1 10.6-14.7 5.8-22.5l-41.8-66.9c-9.8 6.2-21.4 9.9-33.8 9.9s-24.1-3.7-33.9-9.9zM104.9 256H184c0-22.8 12.1-42.8 30.2-54.1l-41.7-66.8c-5.2-8.3-16.4-9.9-24-3.8-32.6 26-54.9 64.2-59.5 107.8-1.1 9.2 6.7 16.9 15.9 16.9zM248 504c137 0 248-111 248-248S385 8 248 8 0 119 0 256s111 248 248 248zm0-432c101.5 0 184 82.5 184 184s-82.5 184-184 184S64 357.5 64 256 146.5 72 248 72zm0 216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z"],rainbow:[576,512,[],"f75b","M268.3 32.7C115.4 42.9 0 176.9 0 330.2V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C64 186.8 180.9 80.3 317.5 97.9 430.4 112.4 512 214 512 327.8V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-165.3-140-298.6-307.7-287.3zm-5.6 96.9C166 142 96 229.1 96 326.7V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-74.8 64.5-134.8 140.8-127.4 66.5 6.5 115.2 66.2 115.2 133.1V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-114.2-100.2-205.4-217.3-190.4zm6.2 96.3c-45.6 8.9-76.9 51.5-76.9 97.9V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-17.6 14.3-32 32-32s32 14.4 32 32v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-59.2-53.8-106-115.1-94.1z"],random:[512,512,[],"f074","M504.971 359.029c9.373 9.373 9.373 24.569 0 33.941l-80 79.984c-15.01 15.01-40.971 4.49-40.971-16.971V416h-58.785a12.004 12.004 0 0 1-8.773-3.812l-70.556-75.596 53.333-57.143L352 336h32v-39.981c0-21.438 25.943-31.998 40.971-16.971l80 79.981zM12 176h84l52.781 56.551 53.333-57.143-70.556-75.596A11.999 11.999 0 0 0 122.785 96H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12zm372 0v39.984c0 21.46 25.961 31.98 40.971 16.971l80-79.984c9.373-9.373 9.373-24.569 0-33.941l-80-79.981C409.943 24.021 384 34.582 384 56.019V96h-58.785a12.004 12.004 0 0 0-8.773 3.812L96 336H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h110.785c3.326 0 6.503-1.381 8.773-3.812L352 176h32z"],receipt:[384,512,[],"f543","M358.4 3.2L320 48 265.6 3.2a15.9 15.9 0 0 0-19.2 0L192 48 137.6 3.2a15.9 15.9 0 0 0-19.2 0L64 48 25.6 3.2C15-4.7 0 2.8 0 16v480c0 13.2 15 20.7 25.6 12.8L64 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L192 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L320 464l38.4 44.8c10.5 7.9 25.6.4 25.6-12.8V16c0-13.2-15-20.7-25.6-12.8zM320 360c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16z"],"record-vinyl":[512,512,[],"f8d9","M256 152a104 104 0 1 0 104 104 104 104 0 0 0-104-104zm0 128a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm0-272C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 376a128 128 0 1 1 128-128 128 128 0 0 1-128 128z"],recycle:[512,512,[],"f1b8","M184.561 261.903c3.232 13.997-12.123 24.635-24.068 17.168l-40.736-25.455-50.867 81.402C55.606 356.273 70.96 384 96.012 384H148c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12H96.115c-75.334 0-121.302-83.048-81.408-146.88l50.822-81.388-40.725-25.448c-12.081-7.547-8.966-25.961 4.879-29.158l110.237-25.45c8.611-1.988 17.201 3.381 19.189 11.99l25.452 110.237zm98.561-182.915l41.289 66.076-40.74 25.457c-12.051 7.528-9 25.953 4.879 29.158l110.237 25.45c8.672 1.999 17.215-3.438 19.189-11.99l25.45-110.237c3.197-13.844-11.99-24.719-24.068-17.168l-40.687 25.424-41.263-66.082c-37.521-60.033-125.209-60.171-162.816 0l-17.963 28.766c-3.51 5.62-1.8 13.021 3.82 16.533l33.919 21.195c5.62 3.512 13.024 1.803 16.536-3.817l17.961-28.743c12.712-20.341 41.973-19.676 54.257-.022zM497.288 301.12l-27.515-44.065c-3.511-5.623-10.916-7.334-16.538-3.821l-33.861 21.159c-5.62 3.512-7.33 10.915-3.818 16.536l27.564 44.112c13.257 21.211-2.057 48.96-27.136 48.96H320V336.02c0-14.213-17.242-21.383-27.313-11.313l-80 79.981c-6.249 6.248-6.249 16.379 0 22.627l80 79.989C302.689 517.308 320 510.3 320 495.989V448h95.88c75.274 0 121.335-82.997 81.408-146.88z"],redo:[512,512,[],"f01e","M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z"],"redo-alt":[512,512,[],"f2f9","M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z"],registered:[512,512,[],"f25d","M285.363 207.475c0 18.6-9.831 28.431-28.431 28.431h-29.876v-56.14h23.378c28.668 0 34.929 8.773 34.929 27.709zM504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM363.411 360.414c-46.729-84.825-43.299-78.636-44.702-80.98 23.432-15.172 37.945-42.979 37.945-74.486 0-54.244-31.5-89.252-105.498-89.252h-70.667c-13.255 0-24 10.745-24 24V372c0 13.255 10.745 24 24 24h22.567c13.255 0 24-10.745 24-24v-71.663h25.556l44.129 82.937a24.001 24.001 0 0 0 21.188 12.727h24.464c18.261-.001 29.829-19.591 21.018-35.587z"],"remove-format":[640,512,[],"f87d","M336 416h-11.17l9.26-27.77L267 336.4 240.49 416H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm297.82 42.1L377 259.59 426.17 112H544v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16H176a16 16 0 0 0-16 16v43.9L45.46 3.38A16 16 0 0 0 23 6.19L3.37 31.46a16 16 0 0 0 2.81 22.45l588.36 454.72a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zM309.91 207.76L224 141.36V112h117.83z"],reply:[512,512,[],"f3e5","M8.309 189.836L184.313 37.851C199.719 24.546 224 35.347 224 56.015v80.053c160.629 1.839 288 34.032 288 186.258 0 61.441-39.581 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 45.344-145.012-21.507-183.51-176.59-185.742V360c0 20.7-24.3 31.453-39.687 18.164l-176.004-152c-11.071-9.562-11.086-26.753 0-36.328z"],"reply-all":[576,512,[],"f122","M136.309 189.836L312.313 37.851C327.72 24.546 352 35.348 352 56.015v82.763c129.182 10.231 224 52.212 224 183.548 0 61.441-39.582 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 38.512-123.162-3.922-169.482-112.59-182.015v84.175c0 20.701-24.3 31.453-39.687 18.164L136.309 226.164c-11.071-9.561-11.086-26.753 0-36.328zm-128 36.328L184.313 378.15C199.7 391.439 224 380.687 224 359.986v-15.818l-108.606-93.785A55.96 55.96 0 0 1 96 207.998a55.953 55.953 0 0 1 19.393-42.38L224 71.832V56.015c0-20.667-24.28-31.469-39.687-18.164L8.309 189.836c-11.086 9.575-11.071 26.767 0 36.328z"],republican:[640,512,[],"f75e","M544 192c0-88.4-71.6-160-160-160H160C71.6 32 0 103.6 0 192v64h544v-64zm-367.7-21.6l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L128 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zm144 0l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L272 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zm144 0l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L416 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zM624 320h-32c-8.8 0-16 7.2-16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V288H0v176c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16v-80h192v80c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V352h32v43.3c0 41.8 30 80.1 71.6 84.3 47.8 4.9 88.4-32.7 88.4-79.6v-64c0-8.8-7.2-16-16-16z"],restroom:[640,512,[],"f7bd","M128 128c35.3 0 64-28.7 64-64S163.3 0 128 0 64 28.7 64 64s28.7 64 64 64zm384 0c35.3 0 64-28.7 64-64S547.3 0 512 0s-64 28.7-64 64 28.7 64 64 64zm127.3 226.5l-45.6-185.8c-3.3-13.5-15.5-23-29.8-24.2-15 9.7-32.8 15.5-52 15.5-19.2 0-37-5.8-52-15.5-14.3 1.2-26.5 10.7-29.8 24.2l-45.6 185.8C381 369.6 393 384 409.2 384H464v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V384h54.8c16.2 0 28.2-14.4 24.5-29.5zM336 0h-32c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zM180.1 144.4c-15 9.8-32.9 15.6-52.1 15.6-19.2 0-37.1-5.8-52.1-15.6C51.3 146.5 32 166.9 32 192v136c0 13.3 10.7 24 24 24h8v136c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V352h8c13.3 0 24-10.7 24-24V192c0-25.1-19.3-45.5-43.9-47.6z"],retweet:[640,512,[],"f079","M629.657 343.598L528.971 444.284c-9.373 9.372-24.568 9.372-33.941 0L394.343 343.598c-9.373-9.373-9.373-24.569 0-33.941l10.823-10.823c9.562-9.562 25.133-9.34 34.419.492L480 342.118V160H292.451a24.005 24.005 0 0 1-16.971-7.029l-16-16C244.361 121.851 255.069 96 276.451 96H520c13.255 0 24 10.745 24 24v222.118l40.416-42.792c9.285-9.831 24.856-10.054 34.419-.492l10.823 10.823c9.372 9.372 9.372 24.569-.001 33.941zm-265.138 15.431A23.999 23.999 0 0 0 347.548 352H160V169.881l40.416 42.792c9.286 9.831 24.856 10.054 34.419.491l10.822-10.822c9.373-9.373 9.373-24.569 0-33.941L144.971 67.716c-9.373-9.373-24.569-9.373-33.941 0L10.343 168.402c-9.373 9.373-9.373 24.569 0 33.941l10.822 10.822c9.562 9.562 25.133 9.34 34.419-.491L96 169.881V392c0 13.255 10.745 24 24 24h243.549c21.382 0 32.09-25.851 16.971-40.971l-16.001-16z"],ribbon:[448,512,[],"f4d6","M6.1 444.3c-9.6 10.8-7.5 27.6 4.5 35.7l68.8 27.9c9.9 6.7 23.3 5 31.3-3.8l91.8-101.9-79.2-87.9-117.2 130zm435.8 0s-292-324.6-295.4-330.1c15.4-8.4 40.2-17.9 77.5-17.9s62.1 9.5 77.5 17.9c-3.3 5.6-56 64.6-56 64.6l79.1 87.7 34.2-38c28.7-31.9 33.3-78.6 11.4-115.5l-43.7-73.5c-4.3-7.2-9.9-13.3-16.8-18-40.7-27.6-127.4-29.7-171.4 0-6.9 4.7-12.5 10.8-16.8 18l-43.6 73.2c-1.5 2.5-37.1 62.2 11.5 116L337.5 504c8 8.9 21.4 10.5 31.3 3.8l68.8-27.9c11.9-8 14-24.8 4.3-35.6z"],ring:[512,512,[],"f70b","M256 64C110.06 64 0 125.91 0 208v98.13C0 384.48 114.62 448 256 448s256-63.52 256-141.87V208c0-82.09-110.06-144-256-144zm0 64c106.04 0 192 35.82 192 80 0 9.26-3.97 18.12-10.91 26.39C392.15 208.21 328.23 192 256 192s-136.15 16.21-181.09 42.39C67.97 226.12 64 217.26 64 208c0-44.18 85.96-80 192-80zM120.43 264.64C155.04 249.93 201.64 240 256 240s100.96 9.93 135.57 24.64C356.84 279.07 308.93 288 256 288s-100.84-8.93-135.57-23.36z"],road:[576,512,[],"f018","M573.19 402.67l-139.79-320C428.43 71.29 417.6 64 405.68 64h-97.59l2.45 23.16c.5 4.72-3.21 8.84-7.96 8.84h-29.16c-4.75 0-8.46-4.12-7.96-8.84L267.91 64h-97.59c-11.93 0-22.76 7.29-27.73 18.67L2.8 402.67C-6.45 423.86 8.31 448 30.54 448h196.84l10.31-97.68c.86-8.14 7.72-14.32 15.91-14.32h68.8c8.19 0 15.05 6.18 15.91 14.32L348.62 448h196.84c22.23 0 36.99-24.14 27.73-45.33zM260.4 135.16a8 8 0 0 1 7.96-7.16h39.29c4.09 0 7.53 3.09 7.96 7.16l4.6 43.58c.75 7.09-4.81 13.26-11.93 13.26h-40.54c-7.13 0-12.68-6.17-11.93-13.26l4.59-43.58zM315.64 304h-55.29c-9.5 0-16.91-8.23-15.91-17.68l5.07-48c.86-8.14 7.72-14.32 15.91-14.32h45.15c8.19 0 15.05 6.18 15.91 14.32l5.07 48c1 9.45-6.41 17.68-15.91 17.68z"],robot:[640,512,[],"f544","M32,224H64V416H32A31.96166,31.96166,0,0,1,0,384V256A31.96166,31.96166,0,0,1,32,224Zm512-48V448a64.06328,64.06328,0,0,1-64,64H160a64.06328,64.06328,0,0,1-64-64V176a79.974,79.974,0,0,1,80-80H288V32a32,32,0,0,1,64,0V96H464A79.974,79.974,0,0,1,544,176ZM264,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,264,256Zm-8,128H192v32h64Zm96,0H288v32h64ZM456,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,456,256Zm-8,128H384v32h64ZM640,256V384a31.96166,31.96166,0,0,1-32,32H576V224h32A31.96166,31.96166,0,0,1,640,256Z"],rocket:[512,512,[],"f135","M505.12019,19.09375c-1.18945-5.53125-6.65819-11-12.207-12.1875C460.716,0,435.507,0,410.40747,0,307.17523,0,245.26909,55.20312,199.05238,128H94.83772c-16.34763.01562-35.55658,11.875-42.88664,26.48438L2.51562,253.29688A28.4,28.4,0,0,0,0,264a24.00867,24.00867,0,0,0,24.00582,24H127.81618l-22.47457,22.46875c-11.36521,11.36133-12.99607,32.25781,0,45.25L156.24582,406.625c11.15623,11.1875,32.15619,13.15625,45.27726,0l22.47457-22.46875V488a24.00867,24.00867,0,0,0,24.00581,24,28.55934,28.55934,0,0,0,10.707-2.51562l98.72834-49.39063c14.62888-7.29687,26.50776-26.5,26.50776-42.85937V312.79688c72.59753-46.3125,128.03493-108.40626,128.03493-211.09376C512.07526,76.5,512.07526,51.29688,505.12019,19.09375ZM384.04033,168A40,40,0,1,1,424.05,128,40.02322,40.02322,0,0,1,384.04033,168Z"],route:[512,512,[],"f4d7","M416 320h-96c-17.6 0-32-14.4-32-32s14.4-32 32-32h96s96-107 96-160-43-96-96-96-96 43-96 96c0 25.5 22.2 63.4 45.3 96H320c-52.9 0-96 43.1-96 96s43.1 96 96 96h96c17.6 0 32 14.4 32 32s-14.4 32-32 32H185.5c-16 24.8-33.8 47.7-47.3 64H416c52.9 0 96-43.1 96-96s-43.1-96-96-96zm0-256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM96 256c-53 0-96 43-96 96s96 160 96 160 96-107 96-160-43-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"],rss:[448,512,[],"f09e","M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"],"rss-square":[448,512,[],"f143","M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM112 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm157.533 0h-34.335c-6.011 0-11.051-4.636-11.442-10.634-5.214-80.05-69.243-143.92-149.123-149.123-5.997-.39-10.633-5.431-10.633-11.441v-34.335c0-6.535 5.468-11.777 11.994-11.425 110.546 5.974 198.997 94.536 204.964 204.964.352 6.526-4.89 11.994-11.425 11.994zm103.027 0h-34.334c-6.161 0-11.175-4.882-11.427-11.038-5.598-136.535-115.204-246.161-251.76-251.76C68.882 152.949 64 147.935 64 141.774V107.44c0-6.454 5.338-11.664 11.787-11.432 167.83 6.025 302.21 141.191 308.205 308.205.232 6.449-4.978 11.787-11.432 11.787z"],"ruble-sign":[384,512,[],"f158","M239.36 320C324.48 320 384 260.542 384 175.071S324.48 32 239.36 32H76c-6.627 0-12 5.373-12 12v206.632H12c-6.627 0-12 5.373-12 12V308c0 6.627 5.373 12 12 12h52v32H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v52c0 6.627 5.373 12 12 12h58.56c6.627 0 12-5.373 12-12v-52H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H146.56v-32h92.8zm-92.8-219.252h78.72c46.72 0 74.88 29.11 74.88 74.323 0 45.832-28.16 75.561-76.16 75.561h-77.44V100.748z"],ruler:[640,512,[],"f545","M635.7 167.2L556.1 31.7c-8.8-15-28.3-20.1-43.5-11.5l-69 39.1L503.3 161c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L416 75l-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L333.2 122 278 153.3 337.8 255c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-59.7-101.7-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-27.9-47.5-55.2 31.3 59.7 101.7c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L84.9 262.9l-69 39.1C.7 310.7-4.6 329.8 4.2 344.8l79.6 135.6c8.8 15 28.3 20.1 43.5 11.5L624.1 210c15.2-8.6 20.4-27.8 11.6-42.8z"],"ruler-combined":[512,512,[],"f546","M160 288h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56v-64h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56V96h-56c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8h56V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 2.77.91 5.24 1.57 7.8L160 329.38V288zm320 64h-32v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-41.37L24.2 510.43c2.56.66 5.04 1.57 7.8 1.57h448c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z"],"ruler-horizontal":[576,512,[],"f547","M544 128h-48v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8H88c-4.42 0-8-3.58-8-8v-88H32c-17.67 0-32 14.33-32 32v192c0 17.67 14.33 32 32 32h512c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32z"],"ruler-vertical":[256,512,[],"f548","M168 416c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 17.67 14.33 32 32 32h192c17.67 0 32-14.33 32-32v-64h-88z"],running:[416,512,[],"f70c","M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48 21.49 48 48 48zM113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61zM384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09 3.19 1 6.41 1.48 9.58 1.48 13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14 31.31-78.28 20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99z"],"rupee-sign":[320,512,[],"f156","M308 96c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v44.748c0 6.627 5.373 12 12 12h85.28c27.308 0 48.261 9.958 60.97 27.252H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h158.757c-6.217 36.086-32.961 58.632-74.757 58.632H12c-6.627 0-12 5.373-12 12v53.012c0 3.349 1.4 6.546 3.861 8.818l165.052 152.356a12.001 12.001 0 0 0 8.139 3.182h82.562c10.924 0 16.166-13.408 8.139-20.818L116.871 319.906c76.499-2.34 131.144-53.395 138.318-127.906H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-58.69c-3.486-11.541-8.28-22.246-14.252-32H308z"],"sad-cry":[496,512,[],"f5b3","M248 8C111 8 0 119 0 256c0 90.1 48.2 168.7 120 212.1V288c0-8.8 7.2-16 16-16s16 7.2 16 16v196.7c29.5 12.4 62 19.3 96 19.3s66.5-6.9 96-19.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v180.1C447.8 424.7 496 346 496 256 496 119 385 8 248 8zm-65.5 216.5c-14.8-13.2-46.2-13.2-61 0L112 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c.8 5-1.7 10-6.1 12.4-5.8 3.1-11.2.7-13.7-1.6l-9.7-8.5zM248 416c-26.5 0-48-28.7-48-64s21.5-64 48-64 48 28.7 48 64-21.5 64-48 64zm149.8-181.5c-5.8 3.1-11.2.7-13.7-1.6l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S400 197 404 222.2c.6 4.9-1.8 9.9-6.2 12.3z"],"sad-tear":[496,512,[],"f5b4","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM152 416c-26.5 0-48-21-48-47 0-20 28.5-60.4 41.6-77.8 3.2-4.3 9.6-4.3 12.8 0C171.5 308.6 200 349 200 369c0 26-21.5 47-48 47zm16-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm170.2 154.2C315.8 367.4 282.9 352 248 352c-21.2 0-21.2-32 0-32 44.4 0 86.3 19.6 114.7 53.8 13.8 16.4-11.2 36.5-24.5 20.4z"],satellite:[512,512,[],"f7bf","M502.60969,310.04206l-96.70393,96.71625a31.88151,31.88151,0,0,1-45.00765,0L280.572,326.34115l-9.89231,9.90759a190.56343,190.56343,0,0,1-5.40716,168.52287c-4.50077,8.50115-16.39342,9.59505-23.20707,2.79725L134.54715,400.05428l-17.7999,17.79929c.70324,2.60972,1.60965,5.00067,1.60965,7.79793a32.00544,32.00544,0,1,1-32.00544-32.00434c2.79735,0,5.18838.90637,7.7982,1.60959l17.7999-17.79929L4.43129,269.94287c-6.798-6.81342-5.70409-18.6119,2.79735-23.20627a190.58161,190.58161,0,0,1,168.52864-5.407l9.79854-9.79821-80.31053-80.41716a32.002,32.002,0,0,1,0-45.09987L201.96474,9.29814A31.62639,31.62639,0,0,1,224.46868,0a31.99951,31.99951,0,0,1,22.59759,9.29814l80.32615,80.30777,47.805-47.89713a33.6075,33.6075,0,0,1,47.50808,0l47.50807,47.50645a33.63308,33.63308,0,0,1,0,47.50644l-47.805,47.89713L502.71908,265.036A31.78938,31.78938,0,0,1,502.60969,310.04206ZM219.56159,197.433l73.82505-73.82252-68.918-68.9-73.80942,73.80689Zm237.74352,90.106-68.90233-68.9156-73.825,73.82252,68.918,68.9Z"],"satellite-dish":[512,512,[],"f7c0","M305.44954,462.59c7.39157,7.29792,6.18829,20.09661-3.00038,25.00356-77.713,41.80281-176.72559,29.9105-242.34331-35.7082C-5.49624,386.28227-17.404,287.362,24.41381,209.554c4.89125-9.095,17.68975-10.29834,25.00318-3.00043L166.22872,323.36708l27.39411-27.39452c-.68759-2.60974-1.594-5.00071-1.594-7.81361a32.00407,32.00407,0,1,1,32.00407,32.00455c-2.79723,0-5.20378-.89075-7.79786-1.594l-27.40974,27.41015ZM511.9758,303.06732a16.10336,16.10336,0,0,1-16.002,17.00242H463.86031a15.96956,15.96956,0,0,1-15.89265-15.00213C440.46671,175.5492,336.45348,70.53427,207.03078,63.53328a15.84486,15.84486,0,0,1-15.00191-15.90852V16.02652A16.09389,16.09389,0,0,1,209.031.02425C372.25491,8.61922,503.47472,139.841,511.9758,303.06732Zm-96.01221-.29692a16.21093,16.21093,0,0,1-16.11142,17.29934H367.645a16.06862,16.06862,0,0,1-15.89265-14.70522c-6.90712-77.01094-68.118-138.91037-144.92467-145.22376a15.94,15.94,0,0,1-14.79876-15.89289V112.13393a16.134,16.134,0,0,1,17.29908-16.096C319.45132,104.5391,407.55627,192.64538,415.96359,302.7704Z"],save:[448,512,[],"f0c7","M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z"],school:[640,512,[],"f549","M0 224v272c0 8.84 7.16 16 16 16h80V192H32c-17.67 0-32 14.33-32 32zm360-48h-24v-40c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v64c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zm137.75-63.96l-160-106.67a32.02 32.02 0 0 0-35.5 0l-160 106.67A32.002 32.002 0 0 0 128 138.66V512h128V368c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v144h128V138.67c0-10.7-5.35-20.7-14.25-26.63zM320 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm288-64h-64v320h80c8.84 0 16-7.16 16-16V224c0-17.67-14.33-32-32-32z"],screwdriver:[512,512,[],"f54a","M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z"],scroll:[640,512,[],"f70e","M48 0C21.53 0 0 21.53 0 48v64c0 8.84 7.16 16 16 16h80V48C96 21.53 74.47 0 48 0zm208 412.57V352h288V96c0-52.94-43.06-96-96-96H111.59C121.74 13.41 128 29.92 128 48v368c0 38.87 34.65 69.65 74.75 63.12C234.22 474 256 444.46 256 412.57zM288 384v32c0 52.93-43.06 96-96 96h336c61.86 0 112-50.14 112-112 0-8.84-7.16-16-16-16H288z"],"sd-card":[384,512,[],"f7c2","M320 0H128L0 128v320c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zM160 160h-48V64h48v96zm80 0h-48V64h48v96zm80 0h-48V64h48v96z"],search:[512,512,[],"f002","M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"],"search-dollar":[512,512,[],"f688","M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm27.11-152.54l-45.01-13.5c-5.16-1.55-8.77-6.78-8.77-12.73 0-7.27 5.3-13.19 11.8-13.19h28.11c4.56 0 8.96 1.29 12.82 3.72 3.24 2.03 7.36 1.91 10.13-.73l11.75-11.21c3.53-3.37 3.33-9.21-.57-12.14-9.1-6.83-20.08-10.77-31.37-11.35V112c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v16.12c-23.63.63-42.68 20.55-42.68 45.07 0 19.97 12.99 37.81 31.58 43.39l45.01 13.5c5.16 1.55 8.77 6.78 8.77 12.73 0 7.27-5.3 13.19-11.8 13.19h-28.1c-4.56 0-8.96-1.29-12.82-3.72-3.24-2.03-7.36-1.91-10.13.73l-11.75 11.21c-3.53 3.37-3.33 9.21.57 12.14 9.1 6.83 20.08 10.77 31.37 11.35V304c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-16.12c23.63-.63 42.68-20.54 42.68-45.07 0-19.97-12.99-37.81-31.59-43.39z"],"search-location":[512,512,[],"f689","M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm.02-239.96c-40.78 0-73.84 33.05-73.84 73.83 0 32.96 48.26 93.05 66.75 114.86a9.24 9.24 0 0 0 14.18 0c18.49-21.81 66.75-81.89 66.75-114.86 0-40.78-33.06-73.83-73.84-73.83zm0 96c-13.26 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"],"search-minus":[512,512,[],"f010","M304 192v32c0 6.6-5.4 12-12 12H124c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z"],"search-plus":[512,512,[],"f00e","M304 192v32c0 6.6-5.4 12-12 12h-56v56c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-56h-56c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h56v-56c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v56h56c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z"],seedling:[512,512,[],"f4d8","M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z"],server:[512,512,[],"f233","M480 160H32c-17.673 0-32-14.327-32-32V64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z"],shapes:[512,512,[],"f61f","M128,256A128,128,0,1,0,256,384,128,128,0,0,0,128,256Zm379-54.86L400.07,18.29a37.26,37.26,0,0,0-64.14,0L229,201.14C214.76,225.52,232.58,256,261.09,256H474.91C503.42,256,521.24,225.52,507,201.14ZM480,288H320a32,32,0,0,0-32,32V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V320A32,32,0,0,0,480,288Z"],share:[512,512,[],"f064","M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z"],"share-alt":[448,512,[],"f1e0","M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z"],"share-alt-square":[448,512,[],"f1e1","M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zM304 296c-14.562 0-27.823 5.561-37.783 14.671l-67.958-40.775a56.339 56.339 0 0 0 0-27.793l67.958-40.775C276.177 210.439 289.438 216 304 216c30.928 0 56-25.072 56-56s-25.072-56-56-56-56 25.072-56 56c0 4.797.605 9.453 1.74 13.897l-67.958 40.775C171.823 205.561 158.562 200 144 200c-30.928 0-56 25.072-56 56s25.072 56 56 56c14.562 0 27.823-5.561 37.783-14.671l67.958 40.775a56.088 56.088 0 0 0-1.74 13.897c0 30.928 25.072 56 56 56s56-25.072 56-56C360 321.072 334.928 296 304 296z"],"share-square":[576,512,[],"f14d","M568.482 177.448L424.479 313.433C409.3 327.768 384 317.14 384 295.985v-71.963c-144.575.97-205.566 35.113-164.775 171.353 4.483 14.973-12.846 26.567-25.006 17.33C155.252 383.105 120 326.488 120 269.339c0-143.937 117.599-172.5 264-173.312V24.012c0-21.174 25.317-31.768 40.479-17.448l144.003 135.988c10.02 9.463 10.028 25.425 0 34.896zM384 379.128V448H64V128h50.916a11.99 11.99 0 0 0 8.648-3.693c14.953-15.568 32.237-27.89 51.014-37.676C185.708 80.83 181.584 64 169.033 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48v-88.806c0-8.288-8.197-14.066-16.011-11.302a71.83 71.83 0 0 1-34.189 3.377c-7.27-1.046-13.8 4.514-13.8 11.859z"],"shekel-sign":[448,512,[],"f20b","M248 168v168c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V168c0-75.11-60.89-136-136-136H24C10.75 32 0 42.74 0 56v408c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112h112c30.93 0 56 25.07 56 56zM432 32h-48c-8.84 0-16 7.16-16 16v296c0 30.93-25.07 56-56 56H200V176c0-8.84-7.16-16-16-16h-48c-8.84 0-16 7.16-16 16v280c0 13.25 10.75 24 24 24h168c75.11 0 136-60.89 136-136V48c0-8.84-7.16-16-16-16z"],"shield-alt":[512,512,[],"f3ed","M466.5 83.7l-192-80a48.15 48.15 0 0 0-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3 11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3zM256.1 446.3l-.1-381 175.9 73.3c-3.3 151.4-82.1 261.1-175.8 307.7z"],"shield-virus":[512,512,[],"e06c","M224,192a16,16,0,1,0,16,16A16,16,0,0,0,224,192ZM466.5,83.68l-192-80A57.4,57.4,0,0,0,256.05,0a57.4,57.4,0,0,0-18.46,3.67l-192,80A47.93,47.93,0,0,0,16,128C16,326.5,130.5,463.72,237.5,508.32a48.09,48.09,0,0,0,36.91,0C360.09,472.61,496,349.3,496,128A48,48,0,0,0,466.5,83.68ZM384,256H371.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C306.47,313.09,272,327.37,272,355.88V368a16,16,0,0,1-32,0V355.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H128a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V112a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C329.09,189.53,343.37,224,371.88,224H384a16,16,0,0,1,0,32Zm-96,0a16,16,0,1,0,16,16A16,16,0,0,0,288,256Z"],ship:[640,512,[],"f21a","M496.616 372.639l70.012-70.012c16.899-16.9 9.942-45.771-12.836-53.092L512 236.102V96c0-17.673-14.327-32-32-32h-64V24c0-13.255-10.745-24-24-24H248c-13.255 0-24 10.745-24 24v40h-64c-17.673 0-32 14.327-32 32v140.102l-41.792 13.433c-22.753 7.313-29.754 36.173-12.836 53.092l70.012 70.012C125.828 416.287 85.587 448 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24 61.023 0 107.499-20.61 143.258-59.396C181.677 487.432 216.021 512 256 512h128c39.979 0 74.323-24.568 88.742-59.396C508.495 491.384 554.968 512 616 512c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24-60.817 0-101.542-31.001-119.384-75.361zM192 128h256v87.531l-118.208-37.995a31.995 31.995 0 0 0-19.584 0L192 215.531V128z"],"shipping-fast":[640,512,[],"f48b","M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48v48H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h272c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H40c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H64v128c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z"],"shoe-prints":[640,512,[],"f54b","M192 160h32V32h-32c-35.35 0-64 28.65-64 64s28.65 64 64 64zM0 416c0 35.35 28.65 64 64 64h32V352H64c-35.35 0-64 28.65-64 64zm337.46-128c-34.91 0-76.16 13.12-104.73 32-24.79 16.38-44.52 32-104.73 32v128l57.53 15.97c26.21 7.28 53.01 13.12 80.31 15.05 32.69 2.31 65.6.67 97.58-6.2C472.9 481.3 512 429.22 512 384c0-64-84.18-96-174.54-96zM491.42 7.19C459.44.32 426.53-1.33 393.84.99c-27.3 1.93-54.1 7.77-80.31 15.04L256 32v128c60.2 0 79.94 15.62 104.73 32 28.57 18.88 69.82 32 104.73 32C555.82 224 640 192 640 128c0-45.22-39.1-97.3-148.58-120.81z"],"shopping-bag":[448,512,[],"f290","M352 160v-32C352 57.42 294.579 0 224 0 153.42 0 96 57.42 96 128v32H0v272c0 44.183 35.817 80 80 80h288c44.183 0 80-35.817 80-80V160h-96zm-192-32c0-35.29 28.71-64 64-64s64 28.71 64 64v32H160v-32zm160 120c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm-192 0c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24z"],"shopping-basket":[576,512,[],"f291","M576 216v16c0 13.255-10.745 24-24 24h-8l-26.113 182.788C514.509 462.435 494.257 480 470.37 480H105.63c-23.887 0-44.139-17.565-47.518-41.212L32 256h-8c-13.255 0-24-10.745-24-24v-16c0-13.255 10.745-24 24-24h67.341l106.78-146.821c10.395-14.292 30.407-17.453 44.701-7.058 14.293 10.395 17.453 30.408 7.058 44.701L170.477 192h235.046L326.12 82.821c-10.395-14.292-7.234-34.306 7.059-44.701 14.291-10.395 34.306-7.235 44.701 7.058L484.659 192H552c13.255 0 24 10.745 24 24zM312 392V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm112 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm-224 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24z"],"shopping-cart":[576,512,[],"f07a","M528.12 301.319l47.273-208C578.806 78.301 567.391 64 551.99 64H159.208l-9.166-44.81C147.758 8.021 137.93 0 126.529 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24h69.883l70.248 343.435C147.325 417.1 136 435.222 136 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-15.674-6.447-29.835-16.824-40h209.647C430.447 426.165 424 440.326 424 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-22.172-12.888-41.332-31.579-50.405l5.517-24.276c3.413-15.018-8.002-29.319-23.403-29.319H218.117l-6.545-32h293.145c11.206 0 20.92-7.754 23.403-18.681z"],shower:[512,512,[],"f2cc","M304,320a16,16,0,1,0,16,16A16,16,0,0,0,304,320Zm32-96a16,16,0,1,0,16,16A16,16,0,0,0,336,224Zm32,64a16,16,0,1,0-16-16A16,16,0,0,0,368,288Zm-32,32a16,16,0,1,0-16-16A16,16,0,0,0,336,320Zm-32-64a16,16,0,1,0,16,16A16,16,0,0,0,304,256Zm128-32a16,16,0,1,0-16-16A16,16,0,0,0,432,224Zm-48,16a16,16,0,1,0,16-16A16,16,0,0,0,384,240Zm-16-48a16,16,0,1,0,16,16A16,16,0,0,0,368,192Zm96,32a16,16,0,1,0,16,16A16,16,0,0,0,464,224Zm32-32a16,16,0,1,0,16,16A16,16,0,0,0,496,192Zm-64,64a16,16,0,1,0,16,16A16,16,0,0,0,432,256Zm-32,32a16,16,0,1,0,16,16A16,16,0,0,0,400,288Zm-64,64a16,16,0,1,0,16,16A16,16,0,0,0,336,352Zm-32,32a16,16,0,1,0,16,16A16,16,0,0,0,304,384Zm64-64a16,16,0,1,0,16,16A16,16,0,0,0,368,320Zm21.65-218.35-11.3-11.31a16,16,0,0,0-22.63,0L350.05,96A111.19,111.19,0,0,0,272,64c-19.24,0-37.08,5.3-52.9,13.85l-10-10A121.72,121.72,0,0,0,123.44,32C55.49,31.5,0,92.91,0,160.85V464a16,16,0,0,0,16,16H48a16,16,0,0,0,16-16V158.4c0-30.15,21-58.2,51-61.93a58.38,58.38,0,0,1,48.93,16.67l10,10C165.3,138.92,160,156.76,160,176a111.23,111.23,0,0,0,32,78.05l-5.66,5.67a16,16,0,0,0,0,22.62l11.3,11.31a16,16,0,0,0,22.63,0L389.65,124.28A16,16,0,0,0,389.65,101.65Z"],"shuttle-van":[640,512,[],"f5b6","M628.88 210.65L494.39 49.27A48.01 48.01 0 0 0 457.52 32H32C14.33 32 0 46.33 0 64v288c0 17.67 14.33 32 32 32h32c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h32c17.67 0 32-14.33 32-32V241.38c0-11.23-3.94-22.1-11.12-30.73zM64 192V96h96v96H64zm96 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm160-240h-96V96h96v96zm160 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-96-240V96h66.02l80 96H384z"],sign:[512,512,[],"f4d9","M496 64H128V16c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v48H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V128h368c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM160 384h320V160H160v224z"],"sign-in-alt":[512,512,[],"f2f6","M416 448h-84c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h84c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32h-84c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h84c53 0 96 43 96 96v192c0 53-43 96-96 96zm-47-201L201 79c-15-15-41-4.5-41 17v96H24c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24h136v96c0 21.5 26 32 41 17l168-168c9.3-9.4 9.3-24.6 0-34z"],"sign-language":[448,512,[],"f2a7","M91.434 483.987c-.307-16.018 13.109-29.129 29.13-29.129h62.293v-5.714H56.993c-16.021 0-29.437-13.111-29.13-29.129C28.16 404.491 40.835 392 56.428 392h126.429v-5.714H29.136c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h154.286v-5.714H57.707c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h168.566l-31.085-22.606c-12.762-9.281-15.583-27.149-6.302-39.912 9.281-12.761 27.15-15.582 39.912-6.302l123.361 89.715a34.287 34.287 0 0 1 14.12 27.728v141.136c0 15.91-10.946 29.73-26.433 33.374l-80.471 18.934a137.16 137.16 0 0 1-31.411 3.646H120c-15.593-.001-28.269-12.492-28.566-28.014zm73.249-225.701h36.423l-11.187-8.136c-18.579-13.511-20.313-40.887-3.17-56.536l-13.004-16.7c-9.843-12.641-28.43-15.171-40.88-5.088-12.065 9.771-14.133 27.447-4.553 39.75l36.371 46.71zm283.298-2.103l-5.003-152.452c-.518-15.771-13.722-28.136-29.493-27.619-15.773.518-28.137 13.722-27.619 29.493l1.262 38.415L283.565 11.019c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l76.889 98.745-4.509 3.511-94.79-121.734c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l94.443 121.288-4.509 3.511-77.675-99.754c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l52.053 66.849c12.497-8.257 29.055-8.285 41.69.904l123.36 89.714c10.904 7.93 17.415 20.715 17.415 34.198v16.999l61.064-47.549a34.285 34.285 0 0 0 13.202-28.177z"],"sign-out-alt":[512,512,[],"f2f5","M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z"],signal:[640,512,[],"f012","M216 288h-48c-8.84 0-16 7.16-16 16v192c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V304c0-8.84-7.16-16-16-16zM88 384H40c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16v-96c0-8.84-7.16-16-16-16zm256-192h-48c-8.84 0-16 7.16-16 16v288c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V208c0-8.84-7.16-16-16-16zm128-96h-48c-8.84 0-16 7.16-16 16v384c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112c0-8.84-7.16-16-16-16zM600 0h-48c-8.84 0-16 7.16-16 16v480c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z"],signature:[640,512,[],"f5b7","M623.2 192c-51.8 3.5-125.7 54.7-163.1 71.5-29.1 13.1-54.2 24.4-76.1 24.4-22.6 0-26-16.2-21.3-51.9 1.1-8 11.7-79.2-42.7-76.1-25.1 1.5-64.3 24.8-169.5 126L192 182.2c30.4-75.9-53.2-151.5-129.7-102.8L7.4 116.3C0 121-2.2 130.9 2.5 138.4l17.2 27c4.7 7.5 14.6 9.7 22.1 4.9l58-38.9c18.4-11.7 40.7 7.2 32.7 27.1L34.3 404.1C27.5 421 37 448 64 448c8.3 0 16.5-3.2 22.6-9.4 42.2-42.2 154.7-150.7 211.2-195.8-2.2 28.5-2.1 58.9 20.6 83.8 15.3 16.8 37.3 25.3 65.5 25.3 35.6 0 68-14.6 102.3-30 33-14.8 99-62.6 138.4-65.8 8.5-.7 15.2-7.3 15.2-15.8v-32.1c.2-9.1-7.5-16.8-16.6-16.2z"],"sim-card":[384,512,[],"f7c4","M0 64v384c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V128L256 0H64C28.7 0 0 28.7 0 64zm224 192h-64v-64h64v64zm96 0h-64v-64h32c17.7 0 32 14.3 32 32v32zm-64 128h64v32c0 17.7-14.3 32-32 32h-32v-64zm-96 0h64v64h-64v-64zm-96 0h64v64H96c-17.7 0-32-14.3-32-32v-32zm0-96h256v64H64v-64zm0-64c0-17.7 14.3-32 32-32h32v64H64v-32z"],sink:[512,512,[],"e06d","M32,416a96,96,0,0,0,96,96H384a96,96,0,0,0,96-96V384H32ZM496,288H400V256h64a16,16,0,0,0,16-16V224a16,16,0,0,0-16-16H384a32,32,0,0,0-32,32v48H288V96a32,32,0,0,1,64,0v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V96A96.16,96.16,0,0,0,300.87,1.86C255.29,10.71,224,53.36,224,99.79V288H160V240a32,32,0,0,0-32-32H48a16,16,0,0,0-16,16v16a16,16,0,0,0,16,16h64v32H16A16,16,0,0,0,0,304v32a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V304A16,16,0,0,0,496,288Z"],sitemap:[640,512,[],"f0e8","M128 352H32c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm-24-80h192v48h48v-48h192v48h48v-57.59c0-21.17-17.23-38.41-38.41-38.41H344v-64h40c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H256c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h40v64H94.41C73.23 224 56 241.23 56 262.41V320h48v-48zm264 80h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm240 0h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z"],skating:[448,512,[],"f7c5","M400 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm0 448c-8.8 0-16 7.2-16 16s-7.2 16-16 16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c26.5 0 48-21.5 48-48 0-8.8-7.2-16-16-16zm-282.2 8.6c-6.2 6.2-16.4 6.3-22.6 0l-67.9-67.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l67.9 67.9c9.4 9.4 21.7 14 34 14s24.6-4.7 33.9-14c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.3-22.7 0zm56.1-179.8l-93.7 93.7c-12.5 12.5-12.5 32.8 0 45.2 6.2 6.2 14.4 9.4 22.6 9.4s16.4-3.1 22.6-9.4l91.9-91.9-30.2-30.2c-5-5-9.4-10.7-13.2-16.8zM128 160h105.5l-20.1 17.2c-13.5 11.5-21.6 28.4-22.3 46.1-.7 17.8 6.1 35.2 18.7 47.7l78.2 78.2V432c0 17.7 14.3 32 32 32s32-14.3 32-32v-89.4c0-12.6-5.1-25-14.1-33.9l-61-61c.5-.4 1.2-.6 1.7-1.1l82.3-82.3c11.5-11.5 14.9-28.6 8.7-43.6-6.2-15-20.7-24.7-37-24.7H128c-17.7 0-32 14.3-32 32s14.3 32 32 32z"],skiing:[512,512,[],"f7c9","M432 96c26.5 0 48-21.5 48-48S458.5 0 432 0s-48 21.5-48 48 21.5 48 48 48zm73 356.1c-9.4-9.4-24.6-9.4-33.9 0-12.1 12.1-30.5 15.4-45.1 8.7l-135.8-70.2 49.2-73.8c12.7-19 10.2-44.5-6-60.6L293 215.7l-107-53.1c-2.9 19.9 3.4 40 17.7 54.4l75.1 75.2-45.9 68.8L35 258.7c-11.7-6-26.2-1.5-32.3 10.3-6.1 11.8-1.5 26.3 10.3 32.3l391.9 202.5c11.9 5.5 24.5 8.1 37.1 8.1 23.2 0 46-9 63-26 9.3-9.3 9.3-24.5 0-33.8zM120 91.6l-11.5 22.5c14.4 7.3 31.2 4.9 42.8-4.8l47.2 23.4c-.1.1-.1.2-.2.3l114.5 56.8 32.4-13 6.4 19.1c4 12.1 12.6 22 24 27.7l58.1 29c15.9 7.9 35 1.5 42.9-14.3 7.9-15.8 1.5-35-14.3-42.9l-52.1-26.1-17.1-51.2c-8.1-24.2-40.9-56.6-84.5-39.2l-81.2 32.5-62.5-31c.3-14.5-7.2-28.6-20.9-35.6l-11.1 21.7h-.2l-34.4-7c-1.8-.4-3.7.2-5 1.7-1.9 2.2-1.7 5.5.5 7.4l26.2 23z"],"skiing-nordic":[576,512,[],"f7ca","M336 96c26.5 0 48-21.5 48-48S362.5 0 336 0s-48 21.5-48 48 21.5 48 48 48zm216 320c-13.2 0-24 10.7-24 24 0 13.2-10.8 24-24 24h-69.5L460 285.6c11.7-4.7 20.1-16.2 20.1-29.6 0-17.7-14.3-32-32-32h-44L378 170.8c-12.5-25.5-35.5-44.2-61.8-50.9L245 98.7c-28.3-6.8-57.8-.5-80.8 17.1l-39.7 30.4c-14 10.7-16.7 30.8-5.9 44.9.7.9 1.7 1.3 2.4 2.1L66.9 464H24c-13.2 0-24 10.7-24 24s10.8 24 24 24h480c39.7 0 72-32.3 72-72 0-13.2-10.8-24-24-24zm-260.5 48h-96.9l43.1-91-22-13c-12.1-7.2-21.9-16.9-29.5-27.8L123.7 464H99.5l52.3-261.4c4.1-1 8.1-2.9 11.7-5.6l39.7-30.4c7.7-5.9 17.4-8 25.3-6.1l14.7 4.4-37.5 87.4c-12.6 29.5-1.3 64 26.3 80.3l85 50.2-25.5 81.2zm110.6 0h-43.6l23.6-75.5c5.9-20.8-2.9-43.1-21.6-54.4L299.3 298l31.3-78.3 20.3 41.4c8 16.3 24.9 26.9 43.1 26.9h33.3l-25.2 176z"],skull:[512,512,[],"f54c","M256 0C114.6 0 0 100.3 0 224c0 70.1 36.9 132.6 94.5 173.7 9.6 6.9 15.2 18.1 13.5 29.9l-9.4 66.2c-1.4 9.6 6 18.2 15.7 18.2H192v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h64v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h77.7c9.7 0 17.1-8.6 15.7-18.2l-9.4-66.2c-1.7-11.7 3.8-23 13.5-29.9C475.1 356.6 512 294.1 512 224 512 100.3 397.4 0 256 0zm-96 320c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm192 0c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z"],"skull-crossbones":[448,512,[],"f714","M439.15 453.06L297.17 384l141.99-69.06c7.9-3.95 11.11-13.56 7.15-21.46L432 264.85c-3.95-7.9-13.56-11.11-21.47-7.16L224 348.41 37.47 257.69c-7.9-3.95-17.51-.75-21.47 7.16L1.69 293.48c-3.95 7.9-.75 17.51 7.15 21.46L150.83 384 8.85 453.06c-7.9 3.95-11.11 13.56-7.15 21.47l14.31 28.63c3.95 7.9 13.56 11.11 21.47 7.15L224 419.59l186.53 90.72c7.9 3.95 17.51.75 21.47-7.15l14.31-28.63c3.95-7.91.74-17.52-7.16-21.47zM150 237.28l-5.48 25.87c-2.67 12.62 5.42 24.85 16.45 24.85h126.08c11.03 0 19.12-12.23 16.45-24.85l-5.5-25.87c41.78-22.41 70-62.75 70-109.28C368 57.31 303.53 0 224 0S80 57.31 80 128c0 46.53 28.22 86.87 70 109.28zM280 112c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32zm-112 0c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32z"],slash:[640,512,[],"f715","M594.53 508.63L6.18 53.9c-6.97-5.42-8.23-15.47-2.81-22.45L23.01 6.18C28.43-.8 38.49-2.06 45.47 3.37L633.82 458.1c6.97 5.42 8.23 15.47 2.81 22.45l-19.64 25.27c-5.42 6.98-15.48 8.23-22.46 2.81z"],sleigh:[640,512,[],"f7cc","M612.7 350.7l-9.3-7.4c-6.9-5.5-17-4.4-22.5 2.5l-10 12.5c-5.5 6.9-4.4 17 2.5 22.5l9.3 7.4c5.9 4.7 9.2 11.7 9.2 19.2 0 13.6-11 24.6-24.6 24.6H48c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h516c39 0 73.7-29.3 75.9-68.3 1.4-23.8-8.7-46.3-27.2-61zM32 224c0 59.6 40.9 109.2 96 123.5V400h64v-48h192v48h64v-48c53 0 96-43 96-96v-96c17.7 0 32-14.3 32-32s-14.3-32-32-32h-96v64c0 35.3-28.7 64-64 64h-20.7c-65.8 0-125.9-37.2-155.3-96-29.4-58.8-89.6-96-155.3-96H32C14.3 32 0 46.3 0 64s14.3 32 32 32v128z"],"sliders-h":[512,512,[],"f1de","M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"],smile:[496,512,[],"f118","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm194.8 170.2C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.6-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.4-16.2 38.1 4.2 24.6 20.5z"],"smile-beam":[496,512,[],"f5b8","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM112 223.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zm250.8 122.8C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.3 24.6 20.5zm6.2-118.3l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.6 8.6-11 11.9-15.1 4.5z"],"smile-wink":[496,512,[],"f4da","M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm158.5 16.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.7 11.1-11.4 18.3-19.8 10.8l-9.7-8.5zM157.8 325.8C180.2 352.7 213 368 248 368s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.2 24.6 20.5C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11.2-36.7 24.6-20.4z"],smog:[640,512,[],"f75f","M624 368H80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm-480 96H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm416 0H224c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h336c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zM144 288h156.1c22.5 19.7 51.6 32 83.9 32s61.3-12.3 83.9-32H528c61.9 0 112-50.1 112-112S589.9 64 528 64c-18 0-34.7 4.6-49.7 12.1C454 31 406.8 0 352 0c-41 0-77.8 17.3-104 44.8C221.8 17.3 185 0 144 0 64.5 0 0 64.5 0 144s64.5 144 144 144z"],smoking:[640,512,[],"f48d","M632 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zM553.3 87.1c-5.7-3.8-9.3-10-9.3-16.8V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v62.3c0 22 10.2 43.4 28.6 55.4 42.2 27.3 67.4 73.8 67.4 124V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-65.5-32.4-126.2-86.7-162.6zM432 352H48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h384c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zm-32 112H224v-64h176v64zm87.7-322.4C463.8 125 448 99.3 448 70.3V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v66.4c0 43.7 24.6 81.6 60.3 106.7 22.4 15.7 35.7 41.2 35.7 68.6V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-43.3-21-83.4-56.3-108.1zM536 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z"],"smoking-ban":[512,512,[],"f54d","M96 304c0 8.8 7.2 16 16 16h117.5l-96-96H112c-8.8 0-16 7.2-16 16v64zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm0 448c-105.9 0-192-86.1-192-192 0-41.4 13.3-79.7 35.7-111.1l267.4 267.4C335.7 434.7 297.4 448 256 448zm45.2-192H384v32h-50.8l-32-32zm111.1 111.1L365.2 320H400c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16H269.2L144.9 99.7C176.3 77.3 214.6 64 256 64c105.9 0 192 86.1 192 192 0 41.4-13.3 79.7-35.7 111.1zM320.6 128c-15.6 0-28.6-11.2-31.4-25.9-.7-3.6-4-6.1-7.7-6.1h-16.2c-5 0-8.7 4.5-8 9.4 4.6 30.9 31.2 54.6 63.3 54.6 15.6 0 28.6 11.2 31.4 25.9.7 3.6 4 6.1 7.7 6.1h16.2c5 0 8.7-4.5 8-9.4-4.6-30.9-31.2-54.6-63.3-54.6z"],sms:[512,512,[],"f7cd","M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7 1.3 3 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128.2 304H116c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h12.3c6 0 10.4-3.5 10.4-6.6 0-1.3-.8-2.7-2.1-3.8l-21.9-18.8c-8.5-7.2-13.3-17.5-13.3-28.1 0-21.3 19-38.6 42.4-38.6H156c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8h-12.3c-6 0-10.4 3.5-10.4 6.6 0 1.3.8 2.7 2.1 3.8l21.9 18.8c8.5 7.2 13.3 17.5 13.3 28.1.1 21.3-19 38.6-42.4 38.6zm191.8-8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-68.2l-24.8 55.8c-2.9 5.9-11.4 5.9-14.3 0L224 227.8V296c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V192c0-8.8 7.2-16 16-16h16c6.1 0 11.6 3.4 14.3 8.8l17.7 35.4 17.7-35.4c2.7-5.4 8.3-8.8 14.3-8.8h16c8.8 0 16 7.2 16 16v104zm48.3 8H356c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h12.3c6 0 10.4-3.5 10.4-6.6 0-1.3-.8-2.7-2.1-3.8l-21.9-18.8c-8.5-7.2-13.3-17.5-13.3-28.1 0-21.3 19-38.6 42.4-38.6H396c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8h-12.3c-6 0-10.4 3.5-10.4 6.6 0 1.3.8 2.7 2.1 3.8l21.9 18.8c8.5 7.2 13.3 17.5 13.3 28.1.1 21.3-18.9 38.6-42.3 38.6z"],snowboarding:[512,512,[],"f7ce","M432 96c26.5 0 48-21.5 48-48S458.5 0 432 0s-48 21.5-48 48 21.5 48 48 48zm28.8 153.6c5.8 4.3 12.5 6.4 19.2 6.4 9.7 0 19.3-4.4 25.6-12.8 10.6-14.1 7.8-34.2-6.4-44.8l-111.4-83.5c-13.8-10.3-29.1-18.4-45.4-23.8l-63.7-21.2-26.1-52.1C244.7 2 225.5-4.4 209.7 3.5c-15.8 7.9-22.2 27.1-14.3 42.9l29.1 58.1c5.7 11.4 15.6 19.9 27.7 24l16.4 5.5-41.2 20.6c-21.8 10.9-35.4 32.8-35.4 57.2v53.1l-74.1 24.7c-16.8 5.6-25.8 23.7-20.2 40.5 1.7 5.2 4.9 9.4 8.7 12.9l-38.7-14.1c-9.7-3.5-17.4-10.6-21.8-20-5.6-12-19.9-17.2-31.9-11.6s-17.2 19.9-11.6 31.9c9.8 21 27.1 36.9 48.9 44.8l364.8 132.7c9.7 3.5 19.7 5.3 29.7 5.3 12.5 0 24.9-2.7 36.5-8.2 12-5.6 17.2-19.9 11.6-31.9S474 454.7 462 460.3c-9.3 4.4-19.8 4.8-29.5 1.3l-90.8-33.1c8.7-4.1 15.6-11.8 17.8-21.9l21.9-102c3.9-18.2-3.2-37.2-18.1-48.4l-52-39 66-30.5 83.5 62.9zm-144.4 51.7l-19.7 92c-1.5 7.1-.1 13.9 2.8 20l-169.4-61.6c2.7-.2 5.4-.4 8-1.3l85-28.4c19.6-6.5 32.8-24.8 32.8-45.5V256l60.5 45.3z"],snowflake:[448,512,[],"f2dc","M440.3 345.2l-33.8-19.5 26-7c8.2-2.2 13.1-10.7 10.9-18.9l-4-14.9c-2.2-8.2-10.7-13.1-18.9-10.9l-70.8 19-63.9-37 63.8-36.9 70.8 19c8.2 2.2 16.7-2.7 18.9-10.9l4-14.9c2.2-8.2-2.7-16.7-10.9-18.9l-26-7 33.8-19.5c7.4-4.3 9.9-13.7 5.7-21.1L430.4 119c-4.3-7.4-13.7-9.9-21.1-5.7l-33.8 19.5 7-26c2.2-8.2-2.7-16.7-10.9-18.9l-14.9-4c-8.2-2.2-16.7 2.7-18.9 10.9l-19 70.8-62.8 36.2v-77.5l53.7-53.7c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0L256 56.4V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v40.4l-19.7-19.7c-6.2-6.2-16.4-6.2-22.6 0L138.3 48c-6.3 6.2-6.3 16.4 0 22.6l53.7 53.7v77.5l-62.8-36.2-19-70.8c-2.2-8.2-10.7-13.1-18.9-10.9l-14.9 4c-8.2 2.2-13.1 10.7-10.9 18.9l7 26-33.8-19.5c-7.4-4.3-16.8-1.7-21.1 5.7L2.1 145.7c-4.3 7.4-1.7 16.8 5.7 21.1l33.8 19.5-26 7c-8.3 2.2-13.2 10.7-11 19l4 14.9c2.2 8.2 10.7 13.1 18.9 10.9l70.8-19 63.8 36.9-63.8 36.9-70.8-19c-8.2-2.2-16.7 2.7-18.9 10.9l-4 14.9c-2.2 8.2 2.7 16.7 10.9 18.9l26 7-33.8 19.6c-7.4 4.3-9.9 13.7-5.7 21.1l15.5 26.8c4.3 7.4 13.7 9.9 21.1 5.7l33.8-19.5-7 26c-2.2 8.2 2.7 16.7 10.9 18.9l14.9 4c8.2 2.2 16.7-2.7 18.9-10.9l19-70.8 62.8-36.2v77.5l-53.7 53.7c-6.3 6.2-6.3 16.4 0 22.6l11.3 11.3c6.2 6.2 16.4 6.2 22.6 0l19.7-19.7V496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-40.4l19.7 19.7c6.2 6.2 16.4 6.2 22.6 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6L256 387.7v-77.5l62.8 36.2 19 70.8c2.2 8.2 10.7 13.1 18.9 10.9l14.9-4c8.2-2.2 13.1-10.7 10.9-18.9l-7-26 33.8 19.5c7.4 4.3 16.8 1.7 21.1-5.7l15.5-26.8c4.3-7.3 1.8-16.8-5.6-21z"],snowman:[512,512,[],"f7d0","M510.9 152.3l-5.9-14.5c-3.3-8-12.6-11.9-20.8-8.7L456 140.6v-29c0-8.6-7.2-15.6-16-15.6h-16c-8.8 0-16 7-16 15.6v46.9c0 .5.3 1 .3 1.5l-56.4 23c-5.9-10-13.3-18.9-22-26.6 13.6-16.6 22-37.4 22-60.5 0-53-43-96-96-96s-96 43-96 96c0 23.1 8.5 43.9 22 60.5-8.7 7.7-16 16.6-22 26.6l-56.4-23c.1-.5.3-1 .3-1.5v-46.9C104 103 96.8 96 88 96H72c-8.8 0-16 7-16 15.6v29l-28.1-11.5c-8.2-3.2-17.5.7-20.8 8.7l-5.9 14.5c-3.3 8 .7 17.1 8.9 20.3l135.2 55.2c-.4 4-1.2 8-1.2 12.2 0 10.1 1.7 19.6 4.2 28.9C120.9 296.4 104 334.2 104 376c0 54 28.4 100.9 70.8 127.8 9.3 5.9 20.3 8.2 31.3 8.2h99.2c13.3 0 26.3-4.1 37.2-11.7 46.5-32.3 74.4-89.4 62.9-152.6-5.5-30.2-20.5-57.6-41.6-79 2.5-9.2 4.2-18.7 4.2-28.7 0-4.2-.8-8.1-1.2-12.2L502 172.6c8.1-3.1 12.1-12.2 8.9-20.3zM224 96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 272c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-88s-16-23.2-16-32 7.2-16 16-16 16 7.2 16 16-16 32-16 32zm32-56c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z"],snowplow:[640,512,[],"f7d2","M120 376c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm238.6 49.4c-14.5-14.5-22.6-34.1-22.6-54.6V269.2c0-20.5 8.1-40.1 22.6-54.6l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6l-22.6-22.6c-6.2-6.2-16.4-6.2-22.6 0l-36.7 36.7c-26.5 26.5-41.4 62.4-41.4 99.9V288h-64v-50.9c0-8.7-1.8-17.2-5.2-25.2L364.5 29.1C356.9 11.4 339.6 0 320.3 0H176c-26.5 0-48 21.5-48 48v112h-16c-26.5 0-48 21.5-48 48v91.2C26.3 317.2 0 355.4 0 400c0 61.9 50.1 112 112 112h256c61.9 0 112-50.1 112-112 0-17.3-4.2-33.4-11.2-48H512v18.7c0 37.5 14.9 73.4 41.4 99.9l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0l22.6-22.6c6.2-6.2 6.2-16.4 0-22.6l-36.7-36.7zM192 64h117.8l68.6 160H256l-64-64V64zm176 384H112c-26.5 0-48-21.5-48-48s21.5-48 48-48h256c26.5 0 48 21.5 48 48s-21.5 48-48 48z"],soap:[512,512,[],"e06e","M416,192a95.42,95.42,0,0,1-30.94,70.21A95.8,95.8,0,0,1,352,448H160a96,96,0,0,1,0-192h88.91A95.3,95.3,0,0,1,224,192H96A96,96,0,0,0,0,288V416a96,96,0,0,0,96,96H416a96,96,0,0,0,96-96V288A96,96,0,0,0,416,192Zm-96,64a64,64,0,1,0-64-64A64,64,0,0,0,320,256ZM208,96a48,48,0,1,0-48-48A48,48,0,0,0,208,96ZM384,64a32,32,0,1,0-32-32A32,32,0,0,0,384,64ZM160,288a64,64,0,0,0,0,128H352a64,64,0,0,0,0-128Z"],socks:[512,512,[],"f696","M214.66 311.01L288 256V96H128v176l-86.65 64.61c-39.4 29.56-53.86 84.42-29.21 127.06C30.39 495.25 63.27 512 96.08 512c20.03 0 40.25-6.25 57.52-19.2l21.86-16.39c-29.85-55.38-13.54-125.84 39.2-165.4zM288 32c0-11.05 3.07-21.3 8.02-30.38C293.4.92 290.85 0 288 0H160c-17.67 0-32 14.33-32 32v32h160V32zM480 0H352c-17.67 0-32 14.33-32 32v32h192V32c0-17.67-14.33-32-32-32zM320 272l-86.13 64.61c-39.4 29.56-53.86 84.42-29.21 127.06 18.25 31.58 50.61 48.33 83.42 48.33 20.03 0 40.25-6.25 57.52-19.2l115.2-86.4A127.997 127.997 0 0 0 512 304V96H320v176z"],"solar-panel":[640,512,[],"f5ba","M431.98 448.01l-47.97.05V416h-128v32.21l-47.98.05c-8.82.01-15.97 7.16-15.98 15.99l-.05 31.73c-.01 8.85 7.17 16.03 16.02 16.02l223.96-.26c8.82-.01 15.97-7.16 15.98-15.98l.04-31.73c.01-8.85-7.17-16.03-16.02-16.02zM585.2 26.74C582.58 11.31 568.99 0 553.06 0H86.93C71 0 57.41 11.31 54.79 26.74-3.32 369.16.04 348.08.03 352c-.03 17.32 14.29 32 32.6 32h574.74c18.23 0 32.51-14.56 32.59-31.79.02-4.08 3.35 16.95-54.76-325.47zM259.83 64h120.33l9.77 96H250.06l9.77-96zm-75.17 256H71.09L90.1 208h105.97l-11.41 112zm16.29-160H98.24l16.29-96h96.19l-9.77 96zm32.82 160l11.4-112h149.65l11.4 112H233.77zm195.5-256h96.19l16.29 96H439.04l-9.77-96zm26.06 256l-11.4-112H549.9l19.01 112H455.33z"],sort:[320,512,[],"f0dc","M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41zm255-105L177 64c-9.4-9.4-24.6-9.4-33.9 0L24 183c-15.1 15.1-4.4 41 17 41h238c21.4 0 32.1-25.9 17-41z"],"sort-alpha-down":[448,512,[],"f15d","M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm240-64H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z"],"sort-alpha-down-alt":[448,512,[],"f881","M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm112-128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 65.63V48a16 16 0 0 0-16-16H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 190.37V208a16 16 0 0 0 16 16zm159.06 234.62l-59.27-160A16 16 0 0 0 372.72 288h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 480h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 480H432a16 16 0 0 0 15.06-21.38zM335.61 400L352 352l16.39 48z"],"sort-alpha-up":[448,512,[],"f15e","M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm400 128H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z"],"sort-alpha-up-alt":[448,512,[],"f882","M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm272 64h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 65.63V48a16 16 0 0 0-16-16H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 190.37V208a16 16 0 0 0 16 16zm159.06 234.62l-59.27-160A16 16 0 0 0 372.72 288h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 480h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 480H432a16 16 0 0 0 15.06-21.38zM335.61 400L352 352l16.39 48z"],"sort-amount-down":[512,512,[],"f160","M304 416h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-128-64h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.37 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm256-192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-64 128H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM496 32H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"],"sort-amount-down-alt":[512,512,[],"f884","M240 96h64a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm256 192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-256-64h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm-64 0h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.37 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352z"],"sort-amount-up":[512,512,[],"f161","M304 416h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.77 160 16 160zm416 0H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-64 128H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM496 32H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"],"sort-amount-up-alt":[512,512,[],"f885","M240 96h64a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm256 192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-256-64h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zM16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.39-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160z"],"sort-down":[320,512,[],"f0dd","M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41z"],"sort-numeric-down":[448,512,[],"f162","M304 96h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-16V48a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 96zm26.15 162.91a79 79 0 0 0-55 54.17c-14.25 51.05 21.21 97.77 68.85 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.76 86.25-61.61 86.25-132V336c-.02-51.21-48.4-91.34-101.85-77.09zM352 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zm-176-4h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352z"],"sort-numeric-down-alt":[448,512,[],"f886","M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm224 64h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 352h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM330.17 34.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.77 86.25-61.61 86.25-132V112c-.02-51.21-48.4-91.34-101.85-77.09zM352 132a20 20 0 1 1 20-20 20 20 0 0 1-20 20z"],"sort-numeric-up":[448,512,[],"f163","M330.17 258.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.76 86.25-61.61 86.25-132V336c-.02-51.21-48.4-91.34-101.85-77.09zM352 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zM304 96h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-16V48a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 96zM107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31z"],"sort-numeric-up-alt":[448,512,[],"f887","M107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31zM400 416h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 352h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM330.17 34.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.77 86.25-61.61 86.25-132V112c-.02-51.21-48.4-91.34-101.85-77.09zM352 132a20 20 0 1 1 20-20 20 20 0 0 1-20 20z"],"sort-up":[320,512,[],"f0de","M279 224H41c-21.4 0-32.1-25.9-17-41L143 64c9.4-9.4 24.6-9.4 33.9 0l119 119c15.2 15.1 4.5 41-16.9 41z"],spa:[576,512,[],"f5bb","M568.25 192c-29.04.13-135.01 6.16-213.84 83-33.12 29.63-53.36 63.3-66.41 94.86-13.05-31.56-33.29-65.23-66.41-94.86-78.83-76.84-184.8-82.87-213.84-83-4.41-.02-7.79 3.4-7.75 7.82.23 27.92 7.14 126.14 88.77 199.3C172.79 480.94 256 480 288 480s115.19.95 199.23-80.88c81.64-73.17 88.54-171.38 88.77-199.3.04-4.42-3.34-7.84-7.75-7.82zM287.98 302.6c12.82-18.85 27.6-35.78 44.09-50.52 19.09-18.61 39.58-33.3 60.26-45.18-16.44-70.5-51.72-133.05-96.73-172.22-4.11-3.58-11.02-3.58-15.14 0-44.99 39.14-80.27 101.63-96.74 172.07 20.37 11.7 40.5 26.14 59.22 44.39a282.768 282.768 0 0 1 45.04 51.46z"],"space-shuttle":[640,512,[],"f197","M592.604 208.244C559.735 192.836 515.777 184 472 184H186.327c-4.952-6.555-10.585-11.978-16.72-16H376C229.157 137.747 219.403 32 96.003 32H96v128H80V32c-26.51 0-48 28.654-48 64v64c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v16c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v64c0 35.346 21.49 64 48 64V352h16v128h.003c123.4 0 133.154-105.747 279.997-136H169.606c6.135-4.022 11.768-9.445 16.72-16H472c43.777 0 87.735-8.836 120.604-24.244C622.282 289.845 640 271.992 640 256s-17.718-33.845-47.396-47.756zM488 296a8 8 0 0 1-8-8v-64a8 8 0 0 1 8-8c31.909 0 31.942 80 0 80z"],"spell-check":[576,512,[],"f891","M272 256h91.36c43.2 0 82-32.2 84.51-75.34a79.82 79.82 0 0 0-25.26-63.07 79.81 79.81 0 0 0 9.06-44.91C427.9 30.57 389.3 0 347 0h-75a16 16 0 0 0-16 16v224a16 16 0 0 0 16 16zm40-200h40a24 24 0 0 1 0 48h-40zm0 96h56a24 24 0 0 1 0 48h-56zM155.12 22.25A32 32 0 0 0 124.64 0H99.36a32 32 0 0 0-30.48 22.25L.59 235.73A16 16 0 0 0 16 256h24.93a16 16 0 0 0 15.42-11.73L68.29 208h87.42l11.94 36.27A16 16 0 0 0 183.07 256H208a16 16 0 0 0 15.42-20.27zM89.37 144L112 75.3l22.63 68.7zm482 132.48l-45.21-45.3a15.88 15.88 0 0 0-22.59 0l-151.5 151.5-55.41-55.5a15.88 15.88 0 0 0-22.59 0l-45.3 45.3a16 16 0 0 0 0 22.59l112 112.21a15.89 15.89 0 0 0 22.6 0l208-208.21a16 16 0 0 0-.02-22.59z"],spider:[576,512,[],"f717","M151.17 167.35L177.1 176h4.67l5.22-26.12c.72-3.58 1.8-7.58 3.21-11.79l-20.29-40.58 23.8-71.39c2.79-8.38-1.73-17.44-10.12-20.24L168.42.82c-8.38-2.8-17.45 1.73-20.24 10.12l-25.89 77.68a32.04 32.04 0 0 0 1.73 24.43l27.15 54.3zm422.14 182.03l-52.75-79.12a32.002 32.002 0 0 0-26.62-14.25H416l68.99-24.36a32.03 32.03 0 0 0 16.51-12.61l53.6-80.41c4.9-7.35 2.91-17.29-4.44-22.19l-13.31-8.88c-7.35-4.9-17.29-2.91-22.19 4.44l-50.56 75.83L404.1 208H368l-10.37-51.85C355.44 145.18 340.26 96 288 96c-52.26 0-67.44 49.18-69.63 60.15L208 208h-36.1l-60.49-20.17L60.84 112c-4.9-7.35-14.83-9.34-22.19-4.44l-13.31 8.88c-7.35 4.9-9.34 14.83-4.44 22.19l53.6 80.41a32.03 32.03 0 0 0 16.51 12.61L160 256H82.06a32.02 32.02 0 0 0-26.63 14.25L2.69 349.38c-4.9 7.35-2.92 17.29 4.44 22.19l13.31 8.88c7.35 4.9 17.29 2.91 22.19-4.44l48-72h47.06l-60.83 97.33A31.988 31.988 0 0 0 72 418.3V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-73.11l74.08-118.53c-1.01 14.05-2.08 28.11-2.08 42.21C192 399.64 232.76 448 288 448s96-48.36 96-101.43c0-14.1-1.08-28.16-2.08-42.21L456 422.89V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-77.71c0-6-1.69-11.88-4.86-16.96L438.31 304h47.06l48 72c4.9 7.35 14.84 9.34 22.19 4.44l13.31-8.88c7.36-4.9 9.34-14.83 4.44-22.18zM406.09 97.51l-20.29 40.58c1.41 4.21 2.49 8.21 3.21 11.79l5.22 26.12h4.67l25.93-8.65 27.15-54.3a31.995 31.995 0 0 0 1.73-24.43l-25.89-77.68C425.03 2.56 415.96-1.98 407.58.82l-15.17 5.06c-8.38 2.8-12.91 11.86-10.12 20.24l23.8 71.39z"],spinner:[512,512,[],"f110","M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z"],splotch:[512,512,[],"f5bc","M472.29 195.89l-67.06-22.95c-19.28-6.6-33.54-20.92-38.14-38.3L351.1 74.19c-11.58-43.77-76.57-57.13-109.98-22.62l-46.14 47.67c-13.26 13.71-33.54 20.93-54.2 19.31l-71.88-5.62c-52.05-4.07-86.93 44.88-59.03 82.83l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24L24.62 355.4c-20.59 41.25 22.84 84.87 73.49 73.81l69.96-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101.04 7.57 104.45-37.22l4.7-61.86c1.35-17.79 12.8-33.86 30.63-42.99l62-31.74c44.88-22.96 39.59-80.17-8.95-96.79z"],"spray-can":[512,512,[],"f5bd","M224 32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96h128V32zm256 96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-256 32H96c-53.02 0-96 42.98-96 96v224c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V256c0-53.02-42.98-96-96-96zm-64 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zM480 96c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm-96 32c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-96-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 0c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 192c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z"],square:[448,512,[],"f0c8","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"],"square-full":[512,512,[],"f45c","M512 512H0V0h512v512z"],"square-root-alt":[576,512,[],"f698","M571.31 251.31l-22.62-22.62c-6.25-6.25-16.38-6.25-22.63 0L480 274.75l-46.06-46.06c-6.25-6.25-16.38-6.25-22.63 0l-22.62 22.62c-6.25 6.25-6.25 16.38 0 22.63L434.75 320l-46.06 46.06c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L480 365.25l46.06 46.06c6.25 6.25 16.38 6.25 22.63 0l22.62-22.62c6.25-6.25 6.25-16.38 0-22.63L525.25 320l46.06-46.06c6.25-6.25 6.25-16.38 0-22.63zM552 0H307.65c-14.54 0-27.26 9.8-30.95 23.87l-84.79 322.8-58.41-106.1A32.008 32.008 0 0 0 105.47 224H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h43.62l88.88 163.73C168.99 503.5 186.3 512 204.94 512c17.27 0 44.44-9 54.28-41.48L357.03 96H552c13.25 0 24-10.75 24-24V24c0-13.26-10.75-24-24-24z"],stamp:[512,512,[],"f5bf","M32 512h448v-64H32v64zm384-256h-66.56c-16.26 0-29.44-13.18-29.44-29.44v-9.46c0-27.37 8.88-53.41 21.46-77.72 9.11-17.61 12.9-38.39 9.05-60.42-6.77-38.78-38.47-70.7-77.26-77.45C212.62-9.04 160 37.33 160 96c0 14.16 3.12 27.54 8.69 39.58C182.02 164.43 192 194.7 192 226.49v.07c0 16.26-13.18 29.44-29.44 29.44H96c-53.02 0-96 42.98-96 96v32c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-32c0-53.02-42.98-96-96-96z"],star:[576,512,[],"f005","M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z"],"star-and-crescent":[512,512,[],"f699","M340.47 466.36c-1.45 0-6.89.46-9.18.46-116.25 0-210.82-94.57-210.82-210.82S215.04 45.18 331.29 45.18c2.32 0 7.7.46 9.18.46 7.13 0 13.33-5.03 14.75-12.07 1.46-7.25-2.55-14.49-9.47-17.09C316.58 5.54 286.39 0 256 0 114.84 0 0 114.84 0 256s114.84 256 256 256c30.23 0 60.28-5.49 89.32-16.32 5.96-2.02 10.28-7.64 10.28-14.26 0-8.09-6.39-15.06-15.13-15.06zm162.99-252.5l-76.38-11.1-34.16-69.21c-1.83-3.7-5.38-5.55-8.93-5.55s-7.1 1.85-8.93 5.55l-34.16 69.21-76.38 11.1c-8.17 1.18-11.43 11.22-5.52 16.99l55.27 53.87-13.05 76.07c-1.11 6.44 4.01 11.66 9.81 11.66 1.53 0 3.11-.36 4.64-1.17L384 335.37l68.31 35.91c1.53.8 3.11 1.17 4.64 1.17 5.8 0 10.92-5.23 9.81-11.66l-13.05-76.07 55.27-53.87c5.91-5.77 2.65-15.81-5.52-16.99z"],"star-half":[576,512,[],"f089","M288 0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6V0z"],"star-half-alt":[536,512,[],"f5c0","M508.55 171.51L362.18 150.2 296.77 17.81C290.89 5.98 279.42 0 267.95 0c-11.4 0-22.79 5.9-28.69 17.81l-65.43 132.38-146.38 21.29c-26.25 3.8-36.77 36.09-17.74 54.59l105.89 103-25.06 145.48C86.98 495.33 103.57 512 122.15 512c4.93 0 10-1.17 14.87-3.75l130.95-68.68 130.94 68.7c4.86 2.55 9.92 3.71 14.83 3.71 18.6 0 35.22-16.61 31.66-37.4l-25.03-145.49 105.91-102.98c19.04-18.5 8.52-50.8-17.73-54.6zm-121.74 123.2l-18.12 17.62 4.28 24.88 19.52 113.45-102.13-53.59-22.38-11.74.03-317.19 51.03 103.29 11.18 22.63 25.01 3.64 114.23 16.63-82.65 80.38z"],"star-of-david":[464,512,[],"f69a","M405.68 256l53.21-89.39C473.3 142.4 455.48 112 426.88 112H319.96l-55.95-93.98C256.86 6.01 244.43 0 232 0s-24.86 6.01-32.01 18.02L144.04 112H37.11c-28.6 0-46.42 30.4-32.01 54.61L58.32 256 5.1 345.39C-9.31 369.6 8.51 400 37.11 400h106.93l55.95 93.98C207.14 505.99 219.57 512 232 512s24.86-6.01 32.01-18.02L319.96 400h106.93c28.6 0 46.42-30.4 32.01-54.61L405.68 256zm-12.78-88l-19.8 33.26L353.3 168h39.6zm-52.39 88l-52.39 88H175.88l-52.39-88 52.38-88h112.25l52.39 88zM232 73.72L254.79 112h-45.57L232 73.72zM71.1 168h39.6l-19.8 33.26L71.1 168zm0 176l19.8-33.26L110.7 344H71.1zM232 438.28L209.21 400h45.57L232 438.28zM353.29 344l19.8-33.26L392.9 344h-39.61z"],"star-of-life":[480,512,[],"f621","M471.99 334.43L336.06 256l135.93-78.43c7.66-4.42 10.28-14.2 5.86-21.86l-32.02-55.43c-4.42-7.65-14.21-10.28-21.87-5.86l-135.93 78.43V16c0-8.84-7.17-16-16.01-16h-64.04c-8.84 0-16.01 7.16-16.01 16v156.86L56.04 94.43c-7.66-4.42-17.45-1.79-21.87 5.86L2.15 155.71c-4.42 7.65-1.8 17.44 5.86 21.86L143.94 256 8.01 334.43c-7.66 4.42-10.28 14.21-5.86 21.86l32.02 55.43c4.42 7.65 14.21 10.27 21.87 5.86l135.93-78.43V496c0 8.84 7.17 16 16.01 16h64.04c8.84 0 16.01-7.16 16.01-16V339.14l135.93 78.43c7.66 4.42 17.45 1.8 21.87-5.86l32.02-55.43c4.42-7.65 1.8-17.43-5.86-21.85z"],"step-backward":[448,512,[],"f048","M64 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z"],"step-forward":[448,512,[],"f051","M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z"],stethoscope:[512,512,[],"f0f1","M447.1 112c-34.2.5-62.3 28.4-63 62.6-.5 24.3 12.5 45.6 32 56.8V344c0 57.3-50.2 104-112 104-60 0-109.2-44.1-111.9-99.2C265 333.8 320 269.2 320 192V36.6c0-11.4-8.1-21.3-19.3-23.5L237.8.5c-13-2.6-25.6 5.8-28.2 18.8L206.4 35c-2.6 13 5.8 25.6 18.8 28.2l30.7 6.1v121.4c0 52.9-42.2 96.7-95.1 97.2-53.4.5-96.9-42.7-96.9-96V69.4l30.7-6.1c13-2.6 21.4-15.2 18.8-28.2l-3.1-15.7C107.7 6.4 95.1-2 82.1.6L19.3 13C8.1 15.3 0 25.1 0 36.6V192c0 77.3 55.1 142 128.1 156.8C130.7 439.2 208.6 512 304 512c97 0 176-75.4 176-168V231.4c19.1-11.1 32-31.7 32-55.4 0-35.7-29.2-64.5-64.9-64zm.9 80c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z"],"sticky-note":[448,512,[],"f249","M312 320h136V56c0-13.3-10.7-24-24-24H24C10.7 32 0 42.7 0 56v400c0 13.3 10.7 24 24 24h264V344c0-13.2 10.8-24 24-24zm129 55l-98 98c-4.5 4.5-10.6 7-17 7h-6V352h128v6.1c0 6.3-2.5 12.4-7 16.9z"],stop:[448,512,[],"f04d","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"],"stop-circle":[512,512,[],"f28d","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v160z"],stopwatch:[448,512,[],"f2f2","M432 304c0 114.9-93.1 208-208 208S16 418.9 16 304c0-104 76.3-190.2 176-205.5V64h-28c-6.6 0-12-5.4-12-12V12c0-6.6 5.4-12 12-12h120c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-28v34.5c37.5 5.8 71.7 21.6 99.7 44.6l27.5-27.5c4.7-4.7 12.3-4.7 17 0l28.3 28.3c4.7 4.7 4.7 12.3 0 17l-29.4 29.4-.6.6C419.7 223.3 432 262.2 432 304zm-176 36V188.5c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12V340c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"],"stopwatch-20":[448,512,[],"e06f","M398.5,190.91l.59-.61,26.59-26.58a16,16,0,0,0,0-22.63L403,118.41a16,16,0,0,0-22.63,0l-24.68,24.68A206.68,206.68,0,0,0,256,98.5V64h32a16,16,0,0,0,16-16V16A16,16,0,0,0,288,0H160a16.05,16.05,0,0,0-16,16V48a16.05,16.05,0,0,0,16,16h32V98.5A207.92,207.92,0,0,0,16.09,297.57C12.64,411.5,106.76,510.22,220.72,512,337.13,513.77,432,420,432,304A206,206,0,0,0,398.5,190.91ZM204.37,377.55a8.2,8.2,0,0,1,8.32,8.07v22.31a8.2,8.2,0,0,1-8.32,8.07H121.52a16.46,16.46,0,0,1-16.61-17.62c2.78-35.22,14.67-57.41,38.45-91.37,20.42-29.19,27.1-37.32,27.1-62.34,0-16.92-1.79-24.27-12.21-24.27-9.39,0-12.69,7.4-12.69,22.68v5.23a8.2,8.2,0,0,1-8.33,8.07h-24.9a8.2,8.2,0,0,1-8.33-8.07v-4.07c0-27.3,8.48-60.24,56.43-60.24,43,0,55.57,25.85,55.57,61,0,35.58-12.44,51.21-34.35,81.31-11.56,15-24.61,35.57-26.41,51.2ZM344,352.32c0,35.16-12.3,63.68-57.23,63.68C243.19,416,232,386.48,232,352.55V247.22c0-40.73,19.58-63.22,56.2-63.22C325,184,344,206.64,344,245.3ZM287.87,221.73c-9.41,0-13.23,7.5-13.23,20V357.68c0,13.11,3.59,20.59,13.23,20.59s13-8,13-21.27V241.06C300.89,229.79,297.88,221.73,287.87,221.73Z"],store:[616,512,[],"f54e","M602 118.6L537.1 15C531.3 5.7 521 0 510 0H106C95 0 84.7 5.7 78.9 15L14 118.6c-33.5 53.5-3.8 127.9 58.8 136.4 4.5.6 9.1.9 13.7.9 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18.1 20.1 44.3 33.1 73.8 33.1 4.7 0 9.2-.3 13.7-.9 62.8-8.4 92.6-82.8 59-136.4zM529.5 288c-10 0-19.9-1.5-29.5-3.8V384H116v-99.8c-9.6 2.2-19.5 3.8-29.5 3.8-6 0-12.1-.4-18-1.2-5.6-.8-11.1-2.1-16.4-3.6V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32V283.2c-5.4 1.6-10.8 2.9-16.4 3.6-6.1.8-12.1 1.2-18.2 1.2z"],"store-alt":[640,512,[],"f54f","M320 384H128V224H64v256c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V224h-64v160zm314.6-241.8l-85.3-128c-6-8.9-16-14.2-26.7-14.2H117.4c-10.7 0-20.7 5.3-26.6 14.2l-85.3 128c-14.2 21.3 1 49.8 26.6 49.8H608c25.5 0 40.7-28.5 26.6-49.8zM512 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224h-64v272z"],"store-alt-slash":[640,512,[],"e070","M17.89,123.62,5.51,142.2c-14.2,21.3,1,49.8,26.59,49.8h74.26ZM576,413.42V224H512V364L384,265V224H330.92l-41.4-32H608c25.5,0,40.7-28.5,26.59-49.8l-85.29-128A32.18,32.18,0,0,0,522.6,0H117.42A31.87,31.87,0,0,0,90.81,14.2l-10.66,16L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.81l19.64-25.26a16,16,0,0,0-2.81-22.45ZM320,384H128V224H64V480a32,32,0,0,0,32,32H352a32,32,0,0,0,32-32V406.59l-64-49.47Z"],"store-slash":[640,512,[],"e071","M121.51,384V284.2a119.43,119.43,0,0,1-28,3.8,123.46,123.46,0,0,1-17.1-1.2,114.88,114.88,0,0,1-15.58-3.6V480c0,17.7,13.59,32,30.4,32H505.75L348.42,384Zm-28-128.09c25.1,0,47.29-10.72,64-27.24L24,120.05c-30.52,53.39-2.45,126.53,56.49,135A95.68,95.68,0,0,0,93.48,255.91ZM602.13,458.09,547.2,413.41V283.2a93.5,93.5,0,0,1-15.57,3.6,127.31,127.31,0,0,1-17.29,1.2,114.89,114.89,0,0,1-28-3.8v79.68L348.52,251.77a88.06,88.06,0,0,0,25.41,4.14c28.11,0,53-13,70.11-33.11,17.19,20.11,42.08,33.11,70.11,33.11a94.31,94.31,0,0,0,13-.91c59.66-8.41,88-82.8,56.06-136.4L521.55,15A30.1,30.1,0,0,0,495.81,0H112A30.11,30.11,0,0,0,86.27,15L76.88,30.78,43.19,3.38A14.68,14.68,0,0,0,21.86,6.19L3.2,31.45A16.58,16.58,0,0,0,5.87,53.91L564.81,508.63a14.69,14.69,0,0,0,21.33-2.82l18.66-25.26A16.58,16.58,0,0,0,602.13,458.09Z"],stream:[512,512,[],"f550","M16 128h416c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H16C7.16 32 0 39.16 0 48v64c0 8.84 7.16 16 16 16zm480 80H80c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm-64 176H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16z"],"street-view":[512,512,[],"f21d","M367.9 329.76c-4.62 5.3-9.78 10.1-15.9 13.65v22.94c66.52 9.34 112 28.05 112 49.65 0 30.93-93.12 56-208 56S48 446.93 48 416c0-21.6 45.48-40.3 112-49.65v-22.94c-6.12-3.55-11.28-8.35-15.9-13.65C58.87 345.34 0 378.05 0 416c0 53.02 114.62 96 256 96s256-42.98 256-96c0-37.95-58.87-70.66-144.1-86.24zM256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-64 192v96c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-96c17.67 0 32-14.33 32-32v-96c0-26.51-21.49-48-48-48h-11.8c-11.07 5.03-23.26 8-36.2 8s-25.13-2.97-36.2-8H208c-26.51 0-48 21.49-48 48v96c0 17.67 14.33 32 32 32z"],strikethrough:[512,512,[],"f0cc","M496 224H293.9l-87.17-26.83A43.55 43.55 0 0 1 219.55 112h66.79A49.89 49.89 0 0 1 331 139.58a16 16 0 0 0 21.46 7.15l42.94-21.47a16 16 0 0 0 7.16-21.46l-.53-1A128 128 0 0 0 287.51 32h-68a123.68 123.68 0 0 0-123 135.64c2 20.89 10.1 39.83 21.78 56.36H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h480a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-180.24 96A43 43 0 0 1 336 356.45 43.59 43.59 0 0 1 292.45 400h-66.79A49.89 49.89 0 0 1 181 372.42a16 16 0 0 0-21.46-7.15l-42.94 21.47a16 16 0 0 0-7.16 21.46l.53 1A128 128 0 0 0 224.49 480h68a123.68 123.68 0 0 0 123-135.64 114.25 114.25 0 0 0-5.34-24.36z"],stroopwafel:[512,512,[],"f551","M188.12 210.74L142.86 256l45.25 45.25L233.37 256l-45.25-45.26zm113.13-22.62L256 142.86l-45.25 45.25L256 233.37l45.25-45.25zm-90.5 135.76L256 369.14l45.26-45.26L256 278.63l-45.25 45.25zM256 0C114.62 0 0 114.62 0 256s114.62 256 256 256 256-114.62 256-256S397.38 0 256 0zm186.68 295.6l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-28.29-28.29-45.25 45.25 33.94 33.94 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-33.94-33.94-45.26 45.26 28.29 28.29c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0L256 414.39l-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l28.29-28.29-45.25-45.26-33.94 33.94 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 33.94-33.94-45.25-45.25-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0L69.32 295.6c-3.12-3.12-3.12-8.19 0-11.31L97.61 256l-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l28.29 28.29 45.25-45.26-33.94-33.94-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 33.94 33.94 45.26-45.25-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0L256 97.61l28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-28.29 28.29 45.26 45.25 33.94-33.94-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-33.94 33.94 45.25 45.26 28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31L414.39 256l28.29 28.28a8.015 8.015 0 0 1 0 11.32zM278.63 256l45.26 45.25L369.14 256l-45.25-45.26L278.63 256z"],subscript:[512,512,[],"f12c","M496 448h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 400 352h16v96h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM336 64h-67a16 16 0 0 0-13.14 6.87l-79.9 115-79.9-115A16 16 0 0 0 83 64H16A16 16 0 0 0 0 80v48a16 16 0 0 0 16 16h33.48l77.81 112-77.81 112H16a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h67a16 16 0 0 0 13.14-6.87l79.9-115 79.9 115A16 16 0 0 0 269 448h67a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16h-33.48l-77.81-112 77.81-112H336a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16z"],subway:[448,512,[],"f239","M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zM200 232V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm200 0V120c0-13.255-10.745-24-24-24H272c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm-48 56c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm-256 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z"],suitcase:[512,512,[],"f0f2","M128 480h256V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v400zm64-384h128v32H192V96zm320 80v256c0 26.5-21.5 48-48 48h-48V128h48c26.5 0 48 21.5 48 48zM96 480H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h48v352z"],"suitcase-rolling":[384,512,[],"f5c1","M336 160H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h16v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h128v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h16c26.51 0 48-21.49 48-48V208c0-26.51-21.49-48-48-48zm-16 216c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zM144 48h96v80h48V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v80h48V48z"],sun:[512,512,[],"f185","M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z"],superscript:[512,512,[],"f12b","M496 160h-16V16a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 400 64h16v96h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM336 64h-67a16 16 0 0 0-13.14 6.87l-79.9 115-79.9-115A16 16 0 0 0 83 64H16A16 16 0 0 0 0 80v48a16 16 0 0 0 16 16h33.48l77.81 112-77.81 112H16a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h67a16 16 0 0 0 13.14-6.87l79.9-115 79.9 115A16 16 0 0 0 269 448h67a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16h-33.48l-77.81-112 77.81-112H336a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16z"],surprise:[496,512,[],"f5c2","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm112 208c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm80-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"],swatchbook:[512,512,[],"f5c3","M434.66,167.71h0L344.5,77.36a31.83,31.83,0,0,0-45-.07h0l-.07.07L224,152.88V424L434.66,212.9A32,32,0,0,0,434.66,167.71ZM480,320H373.09L186.68,506.51c-2.06,2.07-4.5,3.58-6.68,5.49H480a32,32,0,0,0,32-32V352A32,32,0,0,0,480,320ZM192,32A32,32,0,0,0,160,0H32A32,32,0,0,0,0,32V416a96,96,0,0,0,192,0ZM96,440a24,24,0,1,1,24-24A24,24,0,0,1,96,440Zm32-184H64V192h64Zm0-128H64V64h64Z"],swimmer:[640,512,[],"f5c4","M189.61 310.58c3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c16.02-14.77 34.5-22.58 53.46-22.58h16.3c18.96 0 37.45 7.81 53.46 22.58 3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c14.86-13.71 31.88-21.12 49.39-22.16l-112.84-80.6 18-12.86c3.64-2.58 8.28-3.52 12.62-2.61l100.35 21.53c25.91 5.53 51.44-10.97 57-36.88 5.55-25.92-10.95-51.44-36.88-57L437.68 98.47c-30.73-6.58-63.02.12-88.56 18.38l-80.02 57.17c-10.38 7.39-19.36 16.44-26.72 26.94L173.75 299c5.47 3.23 10.82 6.93 15.86 11.58zM624 352h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 343.58 442.04 352 416 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 343.58 250.04 352 224 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 343.58 58.04 352 32 352H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-512-96c44.18 0 80-35.82 80-80s-35.82-80-80-80-80 35.82-80 80 35.82 80 80 80z"],"swimming-pool":[640,512,[],"f5c5","M624 416h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 407.58 442.04 416 416 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 407.58 250.04 416 224 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 407.58 58.04 416 32 416H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-400-32v-96h192v96c19.12 0 30.86-6.16 34.39-9.42 9.17-8.46 19.2-14.34 29.61-18.07V128c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v96H224v-96c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v228.5c10.41 3.73 20.44 9.62 29.61 18.07 3.53 3.27 15.27 9.43 34.39 9.43z"],synagogue:[640,512,[],"f69b","M70 196.51L6.67 268.29A26.643 26.643 0 0 0 0 285.93V512h128V239.58l-38-43.07c-5.31-6.01-14.69-6.01-20 0zm563.33 71.78L570 196.51c-5.31-6.02-14.69-6.02-20 0l-38 43.07V512h128V285.93c0-6.5-2.37-12.77-6.67-17.64zM339.99 7.01c-11.69-9.35-28.29-9.35-39.98 0l-128 102.4A32.005 32.005 0 0 0 160 134.4V512h96v-92.57c0-31.88 21.78-61.43 53.25-66.55C349.34 346.35 384 377.13 384 416v96h96V134.4c0-9.72-4.42-18.92-12.01-24.99l-128-102.4zm52.07 215.55c1.98 3.15-.29 7.24-4 7.24h-38.94L324 269.79c-1.85 2.95-6.15 2.95-8 0l-25.12-39.98h-38.94c-3.72 0-5.98-4.09-4-7.24l19.2-30.56-19.2-30.56c-1.98-3.15.29-7.24 4-7.24h38.94l25.12-40c1.85-2.95 6.15-2.95 8 0l25.12 39.98h38.95c3.71 0 5.98 4.09 4 7.24L372.87 192l19.19 30.56z"],sync:[512,512,[],"f021","M440.65 12.57l4 82.77A247.16 247.16 0 0 0 255.83 8C134.73 8 33.91 94.92 12.29 209.82A12 12 0 0 0 24.09 224h49.05a12 12 0 0 0 11.67-9.26 175.91 175.91 0 0 1 317-56.94l-101.46-4.86a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12H500a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12h-47.37a12 12 0 0 0-11.98 12.57zM255.83 432a175.61 175.61 0 0 1-146-77.8l101.8 4.87a12 12 0 0 0 12.57-12v-47.4a12 12 0 0 0-12-12H12a12 12 0 0 0-12 12V500a12 12 0 0 0 12 12h47.35a12 12 0 0 0 12-12.6l-4.15-82.57A247.17 247.17 0 0 0 255.83 504c121.11 0 221.93-86.92 243.55-201.82a12 12 0 0 0-11.8-14.18h-49.05a12 12 0 0 0-11.67 9.26A175.86 175.86 0 0 1 255.83 432z"],"sync-alt":[512,512,[],"f2f1","M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z"],syringe:[512,512,[],"f48e","M201.5 174.8l55.7 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-55.7-55.8-45.3 45.3 55.8 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L111 265.2l-26.4 26.4c-17.3 17.3-25.6 41.1-23 65.4l7.1 63.6L2.3 487c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.3c3.1 3.1 8.2 3.1 11.3 0l66.3-66.3 63.6 7.1c23.9 2.6 47.9-5.4 65.4-23l181.9-181.9-135.7-135.7-64.9 65zm308.2-93.3L430.5 2.3c-3.1-3.1-8.2-3.1-11.3 0l-11.3 11.3c-3.1 3.1-3.1 8.2 0 11.3l28.3 28.3-45.3 45.3-56.6-56.6-17-17c-3.1-3.1-8.2-3.1-11.3 0l-33.9 33.9c-3.1 3.1-3.1 8.2 0 11.3l17 17L424.8 223l17 17c3.1 3.1 8.2 3.1 11.3 0l33.9-34c3.1-3.1 3.1-8.2 0-11.3l-73.5-73.5 45.3-45.3 28.3 28.3c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.1-3.2 3.1-8.2 0-11.4z"],table:[512,512,[],"f0ce","M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z"],"table-tennis":[512,512,[],"f45d","M496.2 296.5C527.7 218.7 512 126.2 449 63.1 365.1-21 229-21 145.1 63.1l-56 56.1 211.5 211.5c46.1-62.1 131.5-77.4 195.6-34.2zm-217.9 79.7L57.9 155.9c-27.3 45.3-21.7 105 17.3 144.1l34.5 34.6L6.7 424c-8.6 7.5-9.1 20.7-1 28.8l53.4 53.5c8 8.1 21.2 7.6 28.7-1L177.1 402l35.7 35.7c19.7 19.7 44.6 30.5 70.3 33.3-7.1-17-11-35.6-11-55.1-.1-13.8 2.5-27 6.2-39.7zM416 320c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96z"],tablet:[448,512,[],"f10a","M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"],"tablet-alt":[448,512,[],"f3fa","M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm176-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h328c6.6 0 12 5.4 12 12v312z"],tablets:[640,512,[],"f490","M160 192C78.9 192 12.5 250.5.1 326.7c-.8 4.8 3.3 9.3 8.3 9.3h303.3c5 0 9.1-4.5 8.3-9.3C307.5 250.5 241.1 192 160 192zm151.6 176H8.4c-5 0-9.1 4.5-8.3 9.3C12.5 453.5 78.9 512 160 512s147.5-58.5 159.9-134.7c.8-4.8-3.3-9.3-8.3-9.3zM593.4 46.6c-56.5-56.5-144.2-61.4-206.9-16-4 2.9-4.3 8.9-.8 12.3L597 254.3c3.5 3.5 9.5 3.2 12.3-.8 45.5-62.7 40.6-150.4-15.9-206.9zM363 65.7c-3.5-3.5-9.5-3.2-12.3.8-45.4 62.7-40.5 150.4 15.9 206.9 56.5 56.5 144.2 61.4 206.9 15.9 4-2.9 4.3-8.9.8-12.3L363 65.7z"],"tachometer-alt":[576,512,[],"f3fd","M288 32C128.94 32 0 160.94 0 320c0 52.8 14.25 102.26 39.06 144.8 5.61 9.62 16.3 15.2 27.44 15.2h443c11.14 0 21.83-5.58 27.44-15.2C561.75 422.26 576 372.8 576 320c0-159.06-128.94-288-288-288zm0 64c14.71 0 26.58 10.13 30.32 23.65-1.11 2.26-2.64 4.23-3.45 6.67l-9.22 27.67c-5.13 3.49-10.97 6.01-17.64 6.01-17.67 0-32-14.33-32-32S270.33 96 288 96zM96 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm48-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm246.77-72.41l-61.33 184C343.13 347.33 352 364.54 352 384c0 11.72-3.38 22.55-8.88 32H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-33.94 26.5-61.43 59.9-63.59l61.34-184.01c4.17-12.56 17.73-19.45 30.36-15.17 12.57 4.19 19.35 17.79 15.17 30.36zm14.66 57.2l15.52-46.55c3.47-1.29 7.13-2.23 11.05-2.23 17.67 0 32 14.33 32 32s-14.33 32-32 32c-11.38-.01-20.89-6.28-26.57-15.22zM480 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"],tag:[512,512,[],"f02b","M0 252.118V48C0 21.49 21.49 0 48 0h204.118a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882L293.823 497.941c-18.745 18.745-49.137 18.745-67.882 0L14.059 286.059A48 48 0 0 1 0 252.118zM112 64c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z"],tags:[640,512,[],"f02c","M497.941 225.941L286.059 14.059A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v204.118a48 48 0 0 0 14.059 33.941l211.882 211.882c18.744 18.745 49.136 18.746 67.882 0l204.118-204.118c18.745-18.745 18.745-49.137 0-67.882zM112 160c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm513.941 133.823L421.823 497.941c-18.745 18.745-49.137 18.745-67.882 0l-.36-.36L527.64 323.522c16.999-16.999 26.36-39.6 26.36-63.64s-9.362-46.641-26.36-63.64L331.397 0h48.721a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882z"],tape:[640,512,[],"f4db","M224 192c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm400 224H380.6c41.5-40.7 67.4-97.3 67.4-160 0-123.7-100.3-224-224-224S0 132.3 0 256s100.3 224 224 224h400c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400-64c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z"],tasks:[512,512,[],"f0ae","M139.61 35.5a12 12 0 0 0-17 0L58.93 98.81l-22.7-22.12a12 12 0 0 0-17 0L3.53 92.41a12 12 0 0 0 0 17l47.59 47.4a12.78 12.78 0 0 0 17.61 0l15.59-15.62L156.52 69a12.09 12.09 0 0 0 .09-17zm0 159.19a12 12 0 0 0-17 0l-63.68 63.72-22.7-22.1a12 12 0 0 0-17 0L3.53 252a12 12 0 0 0 0 17L51 316.5a12.77 12.77 0 0 0 17.6 0l15.7-15.69 72.2-72.22a12 12 0 0 0 .09-16.9zM64 368c-26.49 0-48.59 21.5-48.59 48S37.53 464 64 464a48 48 0 0 0 0-96zm432 16H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"],taxi:[512,512,[],"f1ba","M462 241.64l-22-84.84c-9.6-35.2-41.6-60.8-76.8-60.8H352V64c0-17.67-14.33-32-32-32H192c-17.67 0-32 14.33-32 32v32h-11.2c-35.2 0-67.2 25.6-76.8 60.8l-22 84.84C21.41 248.04 0 273.47 0 304v48c0 23.63 12.95 44.04 32 55.12V448c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-40.88c19.05-11.09 32-31.5 32-55.12v-48c0-30.53-21.41-55.96-50-62.36zM96 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm20.55-112l17.2-66.36c2.23-8.16 9.59-13.64 15.06-13.64h214.4c5.47 0 12.83 5.48 14.85 12.86L395.45 240h-278.9zM416 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"],teeth:[640,512,[],"f62e","M544 0H96C42.98 0 0 42.98 0 96v320c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96zM160 368c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm128 128c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64z"],"teeth-open":[640,512,[],"f62f","M544 0H96C42.98 0 0 42.98 0 96v64c0 35.35 28.66 64 64 64h512c35.34 0 64-28.65 64-64V96c0-53.02-42.98-96-96-96zM160 176c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm128 0c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm0 144H64c-35.34 0-64 28.65-64 64v32c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96v-32c0-35.35-28.66-64-64-64zm-416 80c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32zm144-8c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm144 0c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm128 8c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32z"],"temperature-high":[512,512,[],"f769","M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v210.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z"],"temperature-low":[512,512,[],"f76b","M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V304c0-8.8-7.2-16-16-16s-16 7.2-16 16v18.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z"],tenge:[384,512,[],"f7d7","M372 160H12c-6.6 0-12 5.4-12 12v56c0 6.6 5.4 12 12 12h140v228c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12V240h140c6.6 0 12-5.4 12-12v-56c0-6.6-5.4-12-12-12zm0-128H12C5.4 32 0 37.4 0 44v56c0 6.6 5.4 12 12 12h360c6.6 0 12-5.4 12-12V44c0-6.6-5.4-12-12-12z"],terminal:[640,512,[],"f120","M257.981 272.971L63.638 467.314c-9.373 9.373-24.569 9.373-33.941 0L7.029 444.647c-9.357-9.357-9.375-24.522-.04-33.901L161.011 256 6.99 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L257.981 239.03c9.373 9.372 9.373 24.568 0 33.941zM640 456v-32c0-13.255-10.745-24-24-24H312c-13.255 0-24 10.745-24 24v32c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24z"],"text-height":[576,512,[],"f034","M304 32H16A16 16 0 0 0 0 48v96a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32h56v304H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-40V112h56v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm256 336h-48V144h48c14.31 0 21.33-17.31 11.31-27.31l-80-80a16 16 0 0 0-22.62 0l-80 80C379.36 126 384.36 144 400 144h48v224h-48c-14.31 0-21.32 17.31-11.31 27.31l80 80a16 16 0 0 0 22.62 0l80-80C580.64 386 575.64 368 560 368z"],"text-width":[448,512,[],"f035","M432 32H16A16 16 0 0 0 0 48v80a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-16h120v112h-24a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-24V112h120v16a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm-68.69 260.69C354 283.36 336 288.36 336 304v48H112v-48c0-14.31-17.31-21.32-27.31-11.31l-80 80a16 16 0 0 0 0 22.62l80 80C94 484.64 112 479.64 112 464v-48h224v48c0 14.31 17.31 21.33 27.31 11.31l80-80a16 16 0 0 0 0-22.62z"],th:[512,512,[],"f00a","M149.333 56v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zm181.334 240v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm32-240v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24zm-32 80V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm-205.334 56H24c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm386.667-56H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm0 160H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zM181.333 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24z"],"th-large":[512,512,[],"f009","M296 32h192c13.255 0 24 10.745 24 24v160c0 13.255-10.745 24-24 24H296c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24zm-80 0H24C10.745 32 0 42.745 0 56v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zM0 296v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm296 184h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H296c-13.255 0-24 10.745-24 24v160c0 13.255 10.745 24 24 24z"],"th-list":[512,512,[],"f00b","M149.333 216v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zM125.333 32H24C10.745 32 0 42.745 0 56v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zm80 448H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm-24-424v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24zm24 264H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24z"],"theater-masks":[640,512,[],"f630","M206.86 245.15c-35.88 10.45-59.95 41.2-57.53 74.1 11.4-12.72 28.81-23.7 49.9-30.92l7.63-43.18zM95.81 295L64.08 115.49c-.29-1.62.28-2.62.24-2.65 57.76-32.06 123.12-49.01 189.01-49.01 1.61 0 3.23.17 4.85.19 13.95-13.47 31.73-22.83 51.59-26 18.89-3.02 38.05-4.55 57.18-5.32-9.99-13.95-24.48-24.23-41.77-27C301.27 1.89 277.24 0 253.32 0 176.66 0 101.02 19.42 33.2 57.06 9.03 70.48-3.92 98.48 1.05 126.58l31.73 179.51c14.23 80.52 136.33 142.08 204.45 142.08 3.59 0 6.75-.46 10.01-.8-13.52-17.08-28.94-40.48-39.5-67.58-47.61-12.98-106.06-51.62-111.93-84.79zm97.55-137.46c-.73-4.12-2.23-7.87-4.07-11.4-8.25 8.91-20.67 15.75-35.32 18.32-14.65 2.58-28.67.4-39.48-5.17-.52 3.94-.64 7.98.09 12.1 3.84 21.7 24.58 36.19 46.34 32.37 21.75-3.82 36.28-24.52 32.44-46.22zM606.8 120.9c-88.98-49.38-191.43-67.41-291.98-51.35-27.31 4.36-49.08 26.26-54.04 54.36l-31.73 179.51c-15.39 87.05 95.28 196.27 158.31 207.35 63.03 11.09 204.47-53.79 219.86-140.84l31.73-179.51c4.97-28.11-7.98-56.11-32.15-69.52zm-273.24 96.8c3.84-21.7 24.58-36.19 46.34-32.36 21.76 3.83 36.28 24.52 32.45 46.22-.73 4.12-2.23 7.87-4.07 11.4-8.25-8.91-20.67-15.75-35.32-18.32-14.65-2.58-28.67-.4-39.48 5.17-.53-3.95-.65-7.99.08-12.11zm70.47 198.76c-55.68-9.79-93.52-59.27-89.04-112.9 20.6 25.54 56.21 46.17 99.49 53.78 43.28 7.61 83.82.37 111.93-16.6-14.18 51.94-66.71 85.51-122.38 75.72zm130.3-151.34c-8.25-8.91-20.68-15.75-35.33-18.32-14.65-2.58-28.67-.4-39.48 5.17-.52-3.94-.64-7.98.09-12.1 3.84-21.7 24.58-36.19 46.34-32.37 21.75 3.83 36.28 24.52 32.45 46.22-.73 4.13-2.23 7.88-4.07 11.4z"],thermometer:[512,512,[],"f491","M476.8 20.4c-37.5-30.7-95.5-26.3-131.9 10.2l-45.7 46 50.5 50.5c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.4-50.5-45.1 45.4 50.3 50.4c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L209 167.4l-45.1 45.4L214 263c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.1-50.2L96 281.1V382L7 471c-9.4 9.4-9.4 24.6 0 33.9 9.4 9.4 24.6 9.4 33.9 0l89-89h99.9L484 162.6c34.9-34.9 42.2-101.5-7.2-142.2z"],"thermometer-empty":[256,512,[],"f2cb","M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-35.346 28.654-64 64-64s64 28.654 64 64zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"],"thermometer-full":[256,512,[],"f2c7","M224 96c0-53.019-42.981-96-96-96S32 42.981 32 96v203.347C12.225 321.756.166 351.136.002 383.333c-.359 70.303 56.787 128.176 127.089 128.664.299.002.61.003.909.003 70.698 0 128-57.304 128-128 0-32.459-12.088-62.09-32-84.653V96zm-96 368l-.576-.002c-43.86-.304-79.647-36.544-79.423-80.42.173-33.98 19.266-51.652 31.999-66.08V96c0-26.467 21.533-48 48-48s48 21.533 48 48v221.498c12.63 14.312 32 32.164 32 66.502 0 44.112-35.888 80-80 80zm64-80c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V96c0-17.673 14.327-32 32-32s32 14.327 32 32v232.583c19.124 11.068 32 31.732 32 55.417z"],"thermometer-half":[256,512,[],"f2c9","M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V224c0-17.673 14.327-32 32-32s32 14.327 32 32v104.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"],"thermometer-quarter":[256,512,[],"f2ca","M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V288c0-17.673 14.327-32 32-32s32 14.327 32 32v40.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"],"thermometer-three-quarters":[256,512,[],"f2c8","M192 384c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64 0-23.685 12.876-44.349 32-55.417V160c0-17.673 14.327-32 32-32s32 14.327 32 32v168.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"],"thumbs-down":[512,512,[],"f165","M0 56v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56zm40 200c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24zm272 256c-20.183 0-29.485-39.293-33.931-57.795-5.206-21.666-10.589-44.07-25.393-58.902-32.469-32.524-49.503-73.967-89.117-113.111a11.98 11.98 0 0 1-3.558-8.521V59.901c0-6.541 5.243-11.878 11.783-11.998 15.831-.29 36.694-9.079 52.651-16.178C256.189 17.598 295.709.017 343.995 0h2.844c42.777 0 93.363.413 113.774 29.737 8.392 12.057 10.446 27.034 6.148 44.632 16.312 17.053 25.063 48.863 16.382 74.757 17.544 23.432 19.143 56.132 9.308 79.469l.11.11c11.893 11.949 19.523 31.259 19.439 49.197-.156 30.352-26.157 58.098-59.553 58.098H350.723C358.03 364.34 384 388.132 384 430.548 384 504 336 512 312 512z"],"thumbs-up":[512,512,[],"f164","M104 224H24c-13.255 0-24 10.745-24 24v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V248c0-13.255-10.745-24-24-24zM64 472c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zM384 81.452c0 42.416-25.97 66.208-33.277 94.548h101.723c33.397 0 59.397 27.746 59.553 58.098.084 17.938-7.546 37.249-19.439 49.197l-.11.11c9.836 23.337 8.237 56.037-9.308 79.469 8.681 25.895-.069 57.704-16.382 74.757 4.298 17.598 2.244 32.575-6.148 44.632C440.202 511.587 389.616 512 346.839 512l-2.845-.001c-48.287-.017-87.806-17.598-119.56-31.725-15.957-7.099-36.821-15.887-52.651-16.178-6.54-.12-11.783-5.457-11.783-11.998v-213.77c0-3.2 1.282-6.271 3.558-8.521 39.614-39.144 56.648-80.587 89.117-113.111 14.804-14.832 20.188-37.236 25.393-58.902C282.515 39.293 291.817 0 312 0c24 0 72 8 72 81.452z"],thumbtack:[384,512,[],"f08d","M298.028 214.267L285.793 96H328c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v48c0 13.255 10.745 24 24 24h42.207L85.972 214.267C37.465 236.82 0 277.261 0 328c0 13.255 10.745 24 24 24h136v104.007c0 1.242.289 2.467.845 3.578l24 48c2.941 5.882 11.364 5.893 14.311 0l24-48a8.008 8.008 0 0 0 .845-3.578V352h136c13.255 0 24-10.745 24-24-.001-51.183-37.983-91.42-85.973-113.733z"],"ticket-alt":[576,512,[],"f3ff","M128 160h320v192H128V160zm400 96c0 26.51 21.49 48 48 48v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c26.51 0 48-21.49 48-48s-21.49-48-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v96c-26.51 0-48 21.49-48 48zm-48-104c0-13.255-10.745-24-24-24H120c-13.255 0-24 10.745-24 24v208c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V152z"],times:[352,512,[],"f00d","M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"],"times-circle":[512,512,[],"f057","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z"],tint:[352,512,[],"f043","M205.22 22.09c-7.94-28.78-49.44-30.12-58.44 0C100.01 179.85 0 222.72 0 333.91 0 432.35 78.72 512 176 512s176-79.65 176-178.09c0-111.75-99.79-153.34-146.78-311.82zM176 448c-61.75 0-112-50.25-112-112 0-8.84 7.16-16 16-16s16 7.16 16 16c0 44.11 35.89 80 80 80 8.84 0 16 7.16 16 16s-7.16 16-16 16z"],"tint-slash":[640,512,[],"f5c7","M633.82 458.1L494.97 350.78c.52-5.57 1.03-11.16 1.03-16.87 0-111.76-99.79-153.34-146.78-311.82-7.94-28.78-49.44-30.12-58.44 0-15.52 52.34-36.87 91.96-58.49 125.68L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM144 333.91C144 432.35 222.72 512 320 512c44.71 0 85.37-16.96 116.4-44.7L162.72 255.78c-11.41 23.5-18.72 48.35-18.72 78.13z"],tired:[496,512,[],"f5c8","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 288c51.9 0 115.3 43.8 123.2 106.7 1.7 13.6-8 24.6-17.7 20.4-25.9-11.1-64.4-17.4-105.5-17.4s-79.6 6.3-105.5 17.4c-9.8 4.2-19.4-7-17.7-20.4C132.7 331.8 196.1 288 248 288z"],"toggle-off":[576,512,[],"f204","M384 64H192C85.961 64 0 149.961 0 256s85.961 192 192 192h192c106.039 0 192-85.961 192-192S490.039 64 384 64zM64 256c0-70.741 57.249-128 128-128 70.741 0 128 57.249 128 128 0 70.741-57.249 128-128 128-70.741 0-128-57.249-128-128zm320 128h-48.905c65.217-72.858 65.236-183.12 0-256H384c70.741 0 128 57.249 128 128 0 70.74-57.249 128-128 128z"],"toggle-on":[576,512,[],"f205","M384 64H192C86 64 0 150 0 256s86 192 192 192h192c106 0 192-86 192-192S490 64 384 64zm0 320c-70.8 0-128-57.3-128-128 0-70.8 57.3-128 128-128 70.8 0 128 57.3 128 128 0 70.8-57.3 128-128 128z"],toilet:[384,512,[],"f7d8","M368 48c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v16c0 8.8 7.2 16 16 16h16v156.7C11.8 214.8 0 226.9 0 240c0 67.2 34.6 126.2 86.8 160.5l-21.4 70.2C59.1 491.2 74.5 512 96 512h192c21.5 0 36.9-20.8 30.6-41.3l-21.4-70.2C349.4 366.2 384 307.2 384 240c0-13.1-11.8-25.2-32-35.3V48h16zM80 72c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H88c-4.4 0-8-3.6-8-8V72zm112 200c-77.1 0-139.6-14.3-139.6-32s62.5-32 139.6-32 139.6 14.3 139.6 32-62.5 32-139.6 32z"],"toilet-paper":[576,512,[],"f71e","M128 0C74.98 0 32 85.96 32 192v172.07c0 41.12-9.8 62.77-31.17 126.87C-2.62 501.3 5.09 512 16.01 512h280.92c13.77 0 26-8.81 30.36-21.88 12.83-38.48 24.71-72.4 24.71-126.05V192c0-83.6 23.67-153.52 60.44-192H128zM96 224c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zM480 0c-53.02 0-96 85.96-96 192s42.98 192 96 192 96-85.96 96-192S533.02 0 480 0zm0 256c-17.67 0-32-28.65-32-64s14.33-64 32-64 32 28.65 32 64-14.33 64-32 64z"],"toilet-paper-slash":[640,512,[],"e072","M64,192V364.13c0,41.12-9.75,62.75-31.12,126.87A16,16,0,0,0,48,512H328.86a31.87,31.87,0,0,0,30.38-21.87c9.31-27.83,18-53.35,22.18-85.55l-316-244.25C64.53,170.66,64,181.19,64,192ZM633.82,458.09l-102-78.81C575.28,360.91,608,284.32,608,192,608,86,565,0,512,0s-96,86-96,192c0,42,7,80.4,18.43,112L384,265V192c0-83.62,23.63-153.5,60.5-192H160c-23.33,0-44.63,16.83-61.26,44.53L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09ZM512,256c-17.63,0-32-28.62-32-64s14.37-64,32-64,32,28.63,32,64S529.62,256,512,256Z"],toolbox:[512,512,[],"f552","M502.63 214.63l-45.25-45.25c-6-6-14.14-9.37-22.63-9.37H384V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v80H77.25c-8.49 0-16.62 3.37-22.63 9.37L9.37 214.63c-6 6-9.37 14.14-9.37 22.63V320h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-82.75c0-8.48-3.37-16.62-9.37-22.62zM320 160H192V96h128v64zm64 208c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H192v16c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H0v96c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-96H384v16z"],tools:[512,512,[],"f7d9","M501.1 395.7L384 278.6c-23.1-23.1-57.6-27.6-85.4-13.9L192 158.1V96L64 0 0 64l96 128h62.1l106.6 106.6c-13.6 27.8-9.2 62.3 13.9 85.4l117.1 117.1c14.6 14.6 38.2 14.6 52.7 0l52.7-52.7c14.5-14.6 14.5-38.2 0-52.7zM331.7 225c28.3 0 54.9 11 74.9 31l19.4 19.4c15.8-6.9 30.8-16.5 43.8-29.5 37.1-37.1 49.7-89.3 37.9-136.7-2.2-9-13.5-12.1-20.1-5.5l-74.4 74.4-67.9-11.3L334 98.9l74.4-74.4c6.6-6.6 3.4-17.9-5.7-20.2-47.4-11.7-99.6.9-136.6 37.9-28.5 28.5-41.9 66.1-41.2 103.6l82.1 82.1c8.1-1.9 16.5-2.9 24.7-2.9zm-103.9 82l-56.7-56.7L18.7 402.8c-25 25-25 65.5 0 90.5s65.5 25 90.5 0l123.6-123.6c-7.6-19.9-9.9-41.6-5-62.7zM64 472c-13.2 0-24-10.8-24-24 0-13.3 10.7-24 24-24s24 10.7 24 24c0 13.2-10.7 24-24 24z"],tooth:[448,512,[],"f5c9","M443.98 96.25c-11.01-45.22-47.11-82.06-92.01-93.72-32.19-8.36-63 5.1-89.14 24.33-3.25 2.39-6.96 3.73-10.5 5.48l28.32 18.21c7.42 4.77 9.58 14.67 4.8 22.11-4.46 6.95-14.27 9.86-22.11 4.8L162.83 12.84c-20.7-10.85-43.38-16.4-66.81-10.31-44.9 11.67-81 48.5-92.01 93.72-10.13 41.62-.42 80.81 21.5 110.43 23.36 31.57 32.68 68.66 36.29 107.35 4.4 47.16 10.33 94.16 20.94 140.32l7.8 33.95c3.19 13.87 15.49 23.7 29.67 23.7 13.97 0 26.15-9.55 29.54-23.16l34.47-138.42c4.56-18.32 20.96-31.16 39.76-31.16s35.2 12.85 39.76 31.16l34.47 138.42c3.39 13.61 15.57 23.16 29.54 23.16 14.18 0 26.48-9.83 29.67-23.7l7.8-33.95c10.61-46.15 16.53-93.16 20.94-140.32 3.61-38.7 12.93-75.78 36.29-107.35 21.95-29.61 31.66-68.8 21.53-110.43z"],torah:[640,512,[],"f6a0","M320.05 366.48l17.72-29.64h-35.46zm99.21-166H382.4l18.46 30.82zM48 0C21.49 0 0 14.33 0 32v448c0 17.67 21.49 32 48 32s48-14.33 48-32V32C96 14.33 74.51 0 48 0zm172.74 311.5h36.85l-18.46-30.82zm161.71 0h36.86l-18.45-30.8zM128 464h384V48H128zm66.77-278.13a21.22 21.22 0 0 1 18.48-10.71h59.45l29.13-48.71a21.13 21.13 0 0 1 18.22-10.37A20.76 20.76 0 0 1 338 126.29l29.25 48.86h59.52a21.12 21.12 0 0 1 18.1 32L415.63 256 445 305a20.69 20.69 0 0 1 .24 21.12 21.25 21.25 0 0 1-18.48 10.72h-59.47l-29.13 48.7a21.13 21.13 0 0 1-18.16 10.4 20.79 20.79 0 0 1-18-10.22l-29.25-48.88h-59.5a21.11 21.11 0 0 1-18.1-32L224.36 256 195 207a20.7 20.7 0 0 1-.23-21.13zM592 0c-26.51 0-48 14.33-48 32v448c0 17.67 21.49 32 48 32s48-14.33 48-32V32c0-17.67-21.49-32-48-32zM320 145.53l-17.78 29.62h35.46zm-62.45 55h-36.81l18.44 30.8zm29.58 111h65.79L386.09 256l-33.23-55.52h-65.79L253.9 256z"],"torii-gate":[512,512,[],"f6a1","M376.45 32h-240.9A303.17 303.17 0 0 1 0 0v96c0 17.67 14.33 32 32 32h32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h256v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h48c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-48v-64h32c17.67 0 32-14.33 32-32V0a303.17 303.17 0 0 1-135.55 32zM128 128h96v64h-96v-64zm256 64h-96v-64h96v64z"],tractor:[640,512,[],"f722","M528 336c-48.6 0-88 39.4-88 88s39.4 88 88 88 88-39.4 88-88-39.4-88-88-88zm0 112c-13.23 0-24-10.77-24-24s10.77-24 24-24 24 10.77 24 24-10.77 24-24 24zm80-288h-64v-40.2c0-14.12 4.7-27.76 13.15-38.84 4.42-5.8 3.55-14.06-1.32-19.49L534.2 37.3c-6.66-7.45-18.32-6.92-24.7.78C490.58 60.9 480 89.81 480 119.8V160H377.67L321.58 29.14A47.914 47.914 0 0 0 277.45 0H144c-26.47 0-48 21.53-48 48v146.52c-8.63-6.73-20.96-6.46-28.89 1.47L36 227.1c-8.59 8.59-8.59 22.52 0 31.11l5.06 5.06c-4.99 9.26-8.96 18.82-11.91 28.72H22c-12.15 0-22 9.85-22 22v44c0 12.15 9.85 22 22 22h7.14c2.96 9.91 6.92 19.46 11.91 28.73l-5.06 5.06c-8.59 8.59-8.59 22.52 0 31.11L67.1 476c8.59 8.59 22.52 8.59 31.11 0l5.06-5.06c9.26 4.99 18.82 8.96 28.72 11.91V490c0 12.15 9.85 22 22 22h44c12.15 0 22-9.85 22-22v-7.14c9.9-2.95 19.46-6.92 28.72-11.91l5.06 5.06c8.59 8.59 22.52 8.59 31.11 0l31.11-31.11c8.59-8.59 8.59-22.52 0-31.11l-5.06-5.06c4.99-9.26 8.96-18.82 11.91-28.72H330c12.15 0 22-9.85 22-22v-6h80.54c21.91-28.99 56.32-48 95.46-48 18.64 0 36.07 4.61 51.8 12.2l50.82-50.82c6-6 9.37-14.14 9.37-22.63V192c.01-17.67-14.32-32-31.99-32zM176 416c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm22-256h-38V64h106.89l41.15 96H198z"],trademark:[640,512,[],"f25c","M260.6 96H12c-6.6 0-12 5.4-12 12v43.1c0 6.6 5.4 12 12 12h85.1V404c0 6.6 5.4 12 12 12h54.3c6.6 0 12-5.4 12-12V163.1h85.1c6.6 0 12-5.4 12-12V108c.1-6.6-5.3-12-11.9-12zM640 403l-24-296c-.5-6.2-5.7-11-12-11h-65.4c-5.1 0-9.7 3.3-11.3 8.1l-43.8 127.1c-7.2 20.6-16.1 52.8-16.1 52.8h-.9s-8.9-32.2-16.1-52.8l-43.8-127.1c-1.7-4.8-6.2-8.1-11.3-8.1h-65.4c-6.2 0-11.4 4.8-12 11l-24.4 296c-.6 7 4.9 13 12 13H360c6.3 0 11.5-4.9 12-11.2l9.1-132.9c1.8-24.2 0-53.7 0-53.7h.9s10.7 33.6 17.9 53.7l30.7 84.7c1.7 4.7 6.2 7.9 11.3 7.9h50.3c5.1 0 9.6-3.2 11.3-7.9l30.7-84.7c7.2-20.1 17.9-53.7 17.9-53.7h.9s-1.8 29.5 0 53.7l9.1 132.9c.4 6.3 5.7 11.2 12 11.2H628c7 0 12.5-6 12-13z"],"traffic-light":[384,512,[],"f637","M384 192h-64v-37.88c37.2-13.22 64-48.38 64-90.12h-64V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v32H0c0 41.74 26.8 76.9 64 90.12V192H0c0 41.74 26.8 76.9 64 90.12V320H0c0 42.84 28.25 78.69 66.99 91.05C79.42 468.72 130.6 512 192 512s112.58-43.28 125.01-100.95C355.75 398.69 384 362.84 384 320h-64v-37.88c37.2-13.22 64-48.38 64-90.12zM192 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z"],trailer:[640,512,[],"e041","M624,320H544V80a16,16,0,0,0-16-16H16A16,16,0,0,0,0,80V368a16,16,0,0,0,16,16H65.61c7.83-54.21,54-96,110.39-96s102.56,41.79,110.39,96H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM96,243.68a176.29,176.29,0,0,0-32,20.71V136a8,8,0,0,1,8-8H88a8,8,0,0,1,8,8Zm96-18.54c-5.31-.49-10.57-1.14-16-1.14s-10.69.65-16,1.14V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,39.25a176.29,176.29,0,0,0-32-20.71V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8ZM384,320H352V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,0H448V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm-304,0a80,80,0,1,0,80,80A80,80,0,0,0,176,320Zm0,112a32,32,0,1,1,32-32A32,32,0,0,1,176,432Z"],train:[448,512,[],"f238","M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zm-48 136V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24zm-176 64c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56z"],tram:[512,512,[],"f7da","M288 64c17.7 0 32-14.3 32-32S305.7 0 288 0s-32 14.3-32 32 14.3 32 32 32zm223.5-12.1c-2.3-8.6-11-13.6-19.6-11.3l-480 128c-8.5 2.3-13.6 11-11.3 19.6C2.5 195.3 8.9 200 16 200c1.4 0 2.8-.2 4.1-.5L240 140.8V224H64c-17.7 0-32 14.3-32 32v224c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H272v-91.7l228.1-60.8c8.6-2.3 13.6-11.1 11.4-19.6zM176 384H80v-96h96v96zm160-96h96v96h-96v-96zm-32 0v96h-96v-96h96zM192 96c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z"],transgender:[384,512,[],"f224","M372 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C198.5 104.1 172.2 96 144 96 64.5 96 0 160.5 0 240c0 68.5 47.9 125.9 112 140.4V408H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM144 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"],"transgender-alt":[480,512,[],"f225","M468 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C294.5 104.1 268.2 96 240 96c-28.2 0-54.5 8.1-76.7 22.1l-16.5-16.5 19.8-19.8c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0l-19.8 19.8-19-19 16.9-16.9C107.1 12.9 101.7 0 91 0H12C5.4 0 0 5.4 0 12v79c0 10.7 12.9 16 20.5 8.5l16.9-16.9 19 19-19.8 19.8c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l19.8-19.8 16.5 16.5C104.1 185.5 96 211.8 96 240c0 68.5 47.9 125.9 112 140.4V408h-36c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM240 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"],trash:[448,512,[],"f1f8","M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z"],"trash-alt":[448,512,[],"f2ed","M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"],"trash-restore":[448,512,[],"f829","M53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32zm70.11-175.8l89.38-94.26a15.41 15.41 0 0 1 22.62 0l89.38 94.26c10.08 10.62 2.94 28.8-11.32 28.8H256v112a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V320h-57.37c-14.26 0-21.4-18.18-11.32-28.8zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"],"trash-restore-alt":[448,512,[],"f82a","M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm91.31-172.8l89.38-94.26a15.41 15.41 0 0 1 22.62 0l89.38 94.26c10.08 10.62 2.94 28.8-11.32 28.8H256v112a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V320h-57.37c-14.26 0-21.4-18.18-11.32-28.8zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"],tree:[384,512,[],"f1bb","M378.31 378.49L298.42 288h30.63c9.01 0 16.98-5 20.78-13.06 3.8-8.04 2.55-17.26-3.28-24.05L268.42 160h28.89c9.1 0 17.3-5.35 20.86-13.61 3.52-8.13 1.86-17.59-4.24-24.08L203.66 4.83c-6.03-6.45-17.28-6.45-23.32 0L70.06 122.31c-6.1 6.49-7.75 15.95-4.24 24.08C69.38 154.65 77.59 160 86.69 160h28.89l-78.14 90.91c-5.81 6.78-7.06 15.99-3.27 24.04C37.97 283 45.93 288 54.95 288h30.63L5.69 378.49c-6 6.79-7.36 16.09-3.56 24.26 3.75 8.05 12 13.25 21.01 13.25H160v24.45l-30.29 48.4c-5.32 10.64 2.42 23.16 14.31 23.16h95.96c11.89 0 19.63-12.52 14.31-23.16L224 440.45V416h136.86c9.01 0 17.26-5.2 21.01-13.25 3.8-8.17 2.44-17.47-3.56-24.26z"],trophy:[576,512,[],"f091","M552 64H448V24c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24v40H24C10.7 64 0 74.7 0 88v56c0 35.7 22.5 72.4 61.9 100.7 31.5 22.7 69.8 37.1 110 41.7C203.3 338.5 240 360 240 360v72h-48c-35.3 0-64 20.7-64 56v12c0 6.6 5.4 12 12 12h296c6.6 0 12-5.4 12-12v-12c0-35.3-28.7-56-64-56h-48v-72s36.7-21.5 68.1-73.6c40.3-4.6 78.6-19 110-41.7 39.3-28.3 61.9-65 61.9-100.7V88c0-13.3-10.7-24-24-24zM99.3 192.8C74.9 175.2 64 155.6 64 144v-16h64.2c1 32.6 5.8 61.2 12.8 86.2-15.1-5.2-29.2-12.4-41.7-21.4zM512 144c0 16.1-17.7 36.1-35.3 48.8-12.5 9-26.7 16.2-41.8 21.4 7-25 11.8-53.6 12.8-86.2H512v16z"],truck:[640,512,[],"f0d1","M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z"],"truck-loading":[640,512,[],"f4de","M50.2 375.6c2.3 8.5 11.1 13.6 19.6 11.3l216.4-58c8.5-2.3 13.6-11.1 11.3-19.6l-49.7-185.5c-2.3-8.5-11.1-13.6-19.6-11.3L151 133.3l24.8 92.7-61.8 16.5-24.8-92.7-77.3 20.7C3.4 172.8-1.7 181.6.6 190.1l49.6 185.5zM384 0c-17.7 0-32 14.3-32 32v323.6L5.9 450c-4.3 1.2-6.8 5.6-5.6 9.8l12.6 46.3c1.2 4.3 5.6 6.8 9.8 5.6l393.7-107.4C418.8 464.1 467.6 512 528 512c61.9 0 112-50.1 112-112V0H384zm144 448c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z"],"truck-monster":[640,512,[],"f63b","M624 224h-16v-64c0-17.67-14.33-32-32-32h-73.6L419.22 24.02A64.025 64.025 0 0 0 369.24 0H256c-17.67 0-32 14.33-32 32v96H48c-8.84 0-16 7.16-16 16v80H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16.72c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64h65.45c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-336-96V64h81.24l51.2 64H288zm304 224h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 512 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67A110.85 110.85 0 0 0 373.2 352H368c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32c-.02-8.84-7.18-16-16.02-16zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-208-80h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 192 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0L58.18 304.8c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67a110.85 110.85 0 0 0-8.65 20.89H48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32C288 359.16 280.84 352 272 352zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z"],"truck-moving":[640,512,[],"f4df","M621.3 237.3l-58.5-58.5c-12-12-28.3-18.7-45.3-18.7H480V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v336c0 44.2 35.8 80 80 80 26.3 0 49.4-12.9 64-32.4 14.6 19.6 37.7 32.4 64 32.4 44.2 0 80-35.8 80-80 0-5.5-.6-10.8-1.6-16h163.2c-1.1 5.2-1.6 10.5-1.6 16 0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H624c8.8 0 16-7.2 16-16v-85.5c0-17-6.7-33.2-18.7-45.2zM80 432c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm128 0c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm272-224h37.5c4.3 0 8.3 1.7 11.3 4.7l43.3 43.3H480v-48zm48 224c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z"],"truck-pickup":[640,512,[],"f63c","M624 288h-16v-64c0-17.67-14.33-32-32-32h-48L419.22 56.02A64.025 64.025 0 0 0 369.24 32H256c-17.67 0-32 14.33-32 32v128H64c-17.67 0-32 14.33-32 32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h49.61c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16h67.23c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM288 96h81.24l76.8 96H288V96zM176 416c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm288 0c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z"],tshirt:[640,512,[],"f553","M631.2 96.5L436.5 0C416.4 27.8 371.9 47.2 320 47.2S223.6 27.8 203.5 0L8.8 96.5c-7.9 4-11.1 13.6-7.2 21.5l57.2 114.5c4 7.9 13.6 11.1 21.5 7.2l56.6-27.7c10.6-5.2 23 2.5 23 14.4V480c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V226.3c0-11.8 12.4-19.6 23-14.4l56.6 27.7c7.9 4 17.5.8 21.5-7.2L638.3 118c4-7.9.8-17.6-7.1-21.5z"],tty:[512,512,[],"f1e4","M5.37 103.822c138.532-138.532 362.936-138.326 501.262 0 6.078 6.078 7.074 15.496 2.583 22.681l-43.214 69.138a18.332 18.332 0 0 1-22.356 7.305l-86.422-34.569a18.335 18.335 0 0 1-11.434-18.846L351.741 90c-62.145-22.454-130.636-21.986-191.483 0l5.953 59.532a18.331 18.331 0 0 1-11.434 18.846l-86.423 34.568a18.334 18.334 0 0 1-22.356-7.305L2.787 126.502a18.333 18.333 0 0 1 2.583-22.68zM96 308v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H92c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zM96 500v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H140c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z"],tv:[640,512,[],"f26c","M592 0H48A48 48 0 0 0 0 48v320a48 48 0 0 0 48 48h240v32H112a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H352v-32h240a48 48 0 0 0 48-48V48a48 48 0 0 0-48-48zm-16 352H64V64h512z"],umbrella:[576,512,[],"f0e9","M575.7 280.8C547.1 144.5 437.3 62.6 320 49.9V32c0-17.7-14.3-32-32-32s-32 14.3-32 32v17.9C138.3 62.6 29.5 144.5.3 280.8c-2.2 10.1 8.5 21.3 18.7 11.4 52-55 107.7-52.4 158.6 37 5.3 9.5 14.9 8.6 19.7 0 20.2-35.4 44.9-73.2 90.7-73.2 58.5 0 88.2 68.8 90.7 73.2 4.8 8.6 14.4 9.5 19.7 0 51-89.5 107.1-91.4 158.6-37 10.3 10 20.9-1.3 18.7-11.4zM256 301.7V432c0 8.8-7.2 16-16 16-7.8 0-13.2-5.3-15.1-10.7-5.9-16.7-24.1-25.4-40.8-19.5-16.7 5.9-25.4 24.2-19.5 40.8 11.2 31.9 41.6 53.3 75.4 53.3 44.1 0 80-35.9 80-80V301.6c-9.1-7.9-19.8-13.6-32-13.6-12.3.1-22.4 4.8-32 13.7z"],"umbrella-beach":[640,512,[],"f5ca","M115.38 136.9l102.11 37.18c35.19-81.54 86.21-144.29 139-173.7-95.88-4.89-188.78 36.96-248.53 111.8-6.69 8.4-2.66 21.05 7.42 24.72zm132.25 48.16l238.48 86.83c35.76-121.38 18.7-231.66-42.63-253.98-7.4-2.7-15.13-4-23.09-4-58.02.01-128.27 69.17-172.76 171.15zM521.48 60.5c6.22 16.3 10.83 34.6 13.2 55.19 5.74 49.89-1.42 108.23-18.95 166.98l102.62 37.36c10.09 3.67 21.31-3.43 21.57-14.17 2.32-95.69-41.91-187.44-118.44-245.36zM560 447.98H321.06L386 269.5l-60.14-21.9-72.9 200.37H16c-8.84 0-16 7.16-16 16.01v32.01C0 504.83 7.16 512 16 512h544c8.84 0 16-7.17 16-16.01v-32.01c0-8.84-7.16-16-16-16z"],underline:[448,512,[],"f0cd","M32 64h32v160c0 88.22 71.78 160 160 160s160-71.78 160-160V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H272a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32v160a80 80 0 0 1-160 0V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm400 384H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"],undo:[512,512,[],"f0e2","M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z"],"undo-alt":[512,512,[],"f2ea","M255.545 8c-66.269.119-126.438 26.233-170.86 68.685L48.971 40.971C33.851 25.851 8 36.559 8 57.941V192c0 13.255 10.745 24 24 24h134.059c21.382 0 32.09-25.851 16.971-40.971l-41.75-41.75c30.864-28.899 70.801-44.907 113.23-45.273 92.398-.798 170.283 73.977 169.484 169.442C423.236 348.009 349.816 424 256 424c-41.127 0-79.997-14.678-110.63-41.556-4.743-4.161-11.906-3.908-16.368.553L89.34 422.659c-4.872 4.872-4.631 12.815.482 17.433C133.798 479.813 192.074 504 256 504c136.966 0 247.999-111.033 248-247.998C504.001 119.193 392.354 7.755 255.545 8z"],"universal-access":[512,512,[],"f29a","M256 48c114.953 0 208 93.029 208 208 0 114.953-93.029 208-208 208-114.953 0-208-93.029-208-208 0-114.953 93.029-208 208-208m0-40C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 56C149.961 64 64 149.961 64 256s85.961 192 192 192 192-85.961 192-192S362.039 64 256 64zm0 44c19.882 0 36 16.118 36 36s-16.118 36-36 36-36-16.118-36-36 16.118-36 36-36zm117.741 98.023c-28.712 6.779-55.511 12.748-82.14 15.807.851 101.023 12.306 123.052 25.037 155.621 3.617 9.26-.957 19.698-10.217 23.315-9.261 3.617-19.699-.957-23.316-10.217-8.705-22.308-17.086-40.636-22.261-78.549h-9.686c-5.167 37.851-13.534 56.208-22.262 78.549-3.615 9.255-14.05 13.836-23.315 10.217-9.26-3.617-13.834-14.056-10.217-23.315 12.713-32.541 24.185-54.541 25.037-155.621-26.629-3.058-53.428-9.027-82.141-15.807-8.6-2.031-13.926-10.648-11.895-19.249s10.647-13.926 19.249-11.895c96.686 22.829 124.283 22.783 220.775 0 8.599-2.03 17.218 3.294 19.249 11.895 2.029 8.601-3.297 17.219-11.897 19.249z"],university:[512,512,[],"f19c","M496 128v16a8 8 0 0 1-8 8h-24v12c0 6.627-5.373 12-12 12H60c-6.627 0-12-5.373-12-12v-12H24a8 8 0 0 1-8-8v-16a8 8 0 0 1 4.941-7.392l232-88a7.996 7.996 0 0 1 6.118 0l232 88A8 8 0 0 1 496 128zm-24 304H40c-13.255 0-24 10.745-24 24v16a8 8 0 0 0 8 8h464a8 8 0 0 0 8-8v-16c0-13.255-10.745-24-24-24zM96 192v192H60c-6.627 0-12 5.373-12 12v20h416v-20c0-6.627-5.373-12-12-12h-36V192h-64v192h-64V192h-64v192h-64V192H96z"],unlink:[512,512,[],"f127","M304.083 405.907c4.686 4.686 4.686 12.284 0 16.971l-44.674 44.674c-59.263 59.262-155.693 59.266-214.961 0-59.264-59.265-59.264-155.696 0-214.96l44.675-44.675c4.686-4.686 12.284-4.686 16.971 0l39.598 39.598c4.686 4.686 4.686 12.284 0 16.971l-44.675 44.674c-28.072 28.073-28.072 73.75 0 101.823 28.072 28.072 73.75 28.073 101.824 0l44.674-44.674c4.686-4.686 12.284-4.686 16.971 0l39.597 39.598zm-56.568-260.216c4.686 4.686 12.284 4.686 16.971 0l44.674-44.674c28.072-28.075 73.75-28.073 101.824 0 28.072 28.073 28.072 73.75 0 101.823l-44.675 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.598 39.598c4.686 4.686 12.284 4.686 16.971 0l44.675-44.675c59.265-59.265 59.265-155.695 0-214.96-59.266-59.264-155.695-59.264-214.961 0l-44.674 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.597 39.598zm234.828 359.28l22.627-22.627c9.373-9.373 9.373-24.569 0-33.941L63.598 7.029c-9.373-9.373-24.569-9.373-33.941 0L7.029 29.657c-9.373 9.373-9.373 24.569 0 33.941l441.373 441.373c9.373 9.372 24.569 9.372 33.941 0z"],unlock:[448,512,[],"f09c","M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z"],"unlock-alt":[448,512,[],"f13e","M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zM264 408c0 22.1-17.9 40-40 40s-40-17.9-40-40v-48c0-22.1 17.9-40 40-40s40 17.9 40 40v48z"],upload:[512,512,[],"f093","M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"],user:[448,512,[],"f007","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"],"user-alt":[512,512,[],"f406","M256 288c79.5 0 144-64.5 144-144S335.5 0 256 0 112 64.5 112 144s64.5 144 144 144zm128 32h-55.1c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16H128C57.3 320 0 377.3 0 448v16c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-16c0-70.7-57.3-128-128-128z"],"user-alt-slash":[640,512,[],"f4fa","M633.8 458.1L389.6 269.3C433.8 244.7 464 198.1 464 144 464 64.5 399.5 0 320 0c-67.1 0-123 46.1-139 108.2L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM198.4 320C124.2 320 64 380.2 64 454.4v9.6c0 26.5 21.5 48 48 48h382.2L245.8 320h-47.4z"],"user-astronaut":[448,512,[],"f4fb","M64 224h13.5c24.7 56.5 80.9 96 146.5 96s121.8-39.5 146.5-96H384c8.8 0 16-7.2 16-16v-96c0-8.8-7.2-16-16-16h-13.5C345.8 39.5 289.6 0 224 0S102.2 39.5 77.5 96H64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16zm40-88c0-22.1 21.5-40 48-40h144c26.5 0 48 17.9 48 40v24c0 53-43 96-96 96h-48c-53 0-96-43-96-96v-24zm72 72l12-36 36-12-36-12-12-36-12 36-36 12 36 12 12 36zm151.6 113.4C297.7 340.7 262.2 352 224 352s-73.7-11.3-103.6-30.6C52.9 328.5 0 385 0 454.4v9.6c0 26.5 21.5 48 48 48h80v-64c0-17.7 14.3-32 32-32h128c17.7 0 32 14.3 32 32v64h80c26.5 0 48-21.5 48-48v-9.6c0-69.4-52.9-125.9-120.4-133zM272 448c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-96 0c-8.8 0-16 7.2-16 16v48h32v-48c0-8.8-7.2-16-16-16z"],"user-check":[640,512,[],"f4fc","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4zm323-128.4l-27.8-28.1c-4.6-4.7-12.1-4.7-16.8-.1l-104.8 104-45.5-45.8c-4.6-4.7-12.1-4.7-16.8-.1l-28.1 27.9c-4.7 4.6-4.7 12.1-.1 16.8l81.7 82.3c4.6 4.7 12.1 4.7 16.8.1l141.3-140.2c4.6-4.7 4.7-12.2.1-16.8z"],"user-circle":[496,512,[],"f2bd","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 96c48.6 0 88 39.4 88 88s-39.4 88-88 88-88-39.4-88-88 39.4-88 88-88zm0 344c-58.7 0-111.3-26.6-146.5-68.2 18.8-35.4 55.6-59.8 98.5-59.8 2.4 0 4.8.4 7.1 1.1 13 4.2 26.6 6.9 40.9 6.9 14.3 0 28-2.7 40.9-6.9 2.3-.7 4.7-1.1 7.1-1.1 42.9 0 79.7 24.4 98.5 59.8C359.3 421.4 306.7 448 248 448z"],"user-clock":[640,512,[],"f4fd","M496 224c-79.6 0-144 64.4-144 144s64.4 144 144 144 144-64.4 144-144-64.4-144-144-144zm64 150.3c0 5.3-4.4 9.7-9.7 9.7h-60.6c-5.3 0-9.7-4.4-9.7-9.7v-76.6c0-5.3 4.4-9.7 9.7-9.7h12.6c5.3 0 9.7 4.4 9.7 9.7V352h38.3c5.3 0 9.7 4.4 9.7 9.7v12.6zM320 368c0-27.8 6.7-54.1 18.2-77.5-8-1.5-16.2-2.5-24.6-2.5h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h347.1c-45.3-31.9-75.1-84.5-75.1-144zm-96-112c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128z"],"user-cog":[640,512,[],"f4fe","M610.5 373.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 400.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm201.2 226.5c-2.3-1.2-4.6-2.6-6.8-3.9l-7.9 4.6c-6 3.4-12.8 5.3-19.6 5.3-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-5.5-17.7 1.9-36.4 17.9-45.7l7.9-4.6c-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-16-9.2-23.4-28-17.9-45.7.9-2.9 2.2-5.8 3.2-8.7-3.8-.3-7.5-1.2-11.4-1.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c10.1 0 19.5-3.2 27.2-8.5-1.2-3.8-2-7.7-2-11.8v-9.2z"],"user-edit":[640,512,[],"f4ff","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h274.9c-2.4-6.8-3.4-14-2.6-21.3l6.8-60.9 1.2-11.1 7.9-7.9 77.3-77.3c-24.5-27.7-60-45.5-99.9-45.5zm45.3 145.3l-6.8 61c-1.1 10.2 7.5 18.8 17.6 17.6l60.9-6.8 137.9-137.9-71.7-71.7-137.9 137.8zM633 268.9L595.1 231c-9.3-9.3-24.5-9.3-33.8 0l-37.8 37.8-4.1 4.1 71.8 71.7 41.8-41.8c9.3-9.4 9.3-24.5 0-33.9z"],"user-friends":[640,512,[],"f500","M192 256c61.9 0 112-50.1 112-112S253.9 32 192 32 80 82.1 80 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C51.6 288 0 339.6 0 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zM480 256c53 0 96-43 96-96s-43-96-96-96-96 43-96 96 43 96 96 96zm48 32h-3.8c-13.9 4.8-28.6 8-44.2 8s-30.3-3.2-44.2-8H432c-20.4 0-39.2 5.9-55.7 15.4 24.4 26.3 39.7 61.2 39.7 99.8v38.4c0 2.2-.5 4.3-.6 6.4H592c26.5 0 48-21.5 48-48 0-61.9-50.1-112-112-112z"],"user-graduate":[448,512,[],"f501","M319.4 320.6L224 416l-95.4-95.4C57.1 323.7 0 382.2 0 454.4v9.6c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-9.6c0-72.2-57.1-130.7-128.6-133.8zM13.6 79.8l6.4 1.5v58.4c-7 4.2-12 11.5-12 20.3 0 8.4 4.6 15.4 11.1 19.7L3.5 242c-1.7 6.9 2.1 14 7.6 14h41.8c5.5 0 9.3-7.1 7.6-14l-15.6-62.3C51.4 175.4 56 168.4 56 160c0-8.8-5-16.1-12-20.3V87.1l66 15.9c-8.6 17.2-14 36.4-14 57 0 70.7 57.3 128 128 128s128-57.3 128-128c0-20.6-5.3-39.8-14-57l96.3-23.2c18.2-4.4 18.2-27.1 0-31.5l-190.4-46c-13-3.1-26.7-3.1-39.7 0L13.6 48.2c-18.1 4.4-18.1 27.2 0 31.6z"],"user-injured":[448,512,[],"f728","M277.37 11.98C261.08 4.47 243.11 0 224 0c-53.69 0-99.5 33.13-118.51 80h81.19l90.69-68.02zM342.51 80c-7.9-19.47-20.67-36.2-36.49-49.52L239.99 80h102.52zM224 256c70.69 0 128-57.31 128-128 0-5.48-.95-10.7-1.61-16H97.61c-.67 5.3-1.61 10.52-1.61 16 0 70.69 57.31 128 128 128zM80 299.7V512h128.26l-98.45-221.52A132.835 132.835 0 0 0 80 299.7zM0 464c0 26.51 21.49 48 48 48V320.24C18.88 344.89 0 381.26 0 422.4V464zm256-48h-55.38l42.67 96H256c26.47 0 48-21.53 48-48s-21.53-48-48-48zm57.6-128h-16.71c-22.24 10.18-46.88 16-72.89 16s-50.65-5.82-72.89-16h-7.37l42.67 96H256c44.11 0 80 35.89 80 80 0 18.08-6.26 34.59-16.41 48H400c26.51 0 48-21.49 48-48v-41.6c0-74.23-60.17-134.4-134.4-134.4z"],"user-lock":[640,512,[],"f502","M224 256A128 128 0 1 0 96 128a128 128 0 0 0 128 128zm96 64a63.08 63.08 0 0 1 8.1-30.5c-4.8-.5-9.5-1.5-14.5-1.5h-16.7a174.08 174.08 0 0 1-145.8 0h-16.7A134.43 134.43 0 0 0 0 422.4V464a48 48 0 0 0 48 48h280.9a63.54 63.54 0 0 1-8.9-32zm288-32h-32v-80a80 80 0 0 0-160 0v80h-32a32 32 0 0 0-32 32v160a32 32 0 0 0 32 32h224a32 32 0 0 0 32-32V320a32 32 0 0 0-32-32zM496 432a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm32-144h-64v-80a32 32 0 0 1 64 0z"],"user-md":[448,512,[],"f0f0","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zM104 424c0 13.3 10.7 24 24 24s24-10.7 24-24-10.7-24-24-24-24 10.7-24 24zm216-135.4v49c36.5 7.4 64 39.8 64 78.4v41.7c0 7.6-5.4 14.2-12.9 15.7l-32.2 6.4c-4.3.9-8.5-1.9-9.4-6.3l-3.1-15.7c-.9-4.3 1.9-8.6 6.3-9.4l19.3-3.9V416c0-62.8-96-65.1-96 1.9v26.7l19.3 3.9c4.3.9 7.1 5.1 6.3 9.4l-3.1 15.7c-.9 4.3-5.1 7.1-9.4 6.3l-31.2-4.2c-7.9-1.1-13.8-7.8-13.8-15.9V416c0-38.6 27.5-70.9 64-78.4v-45.2c-2.2.7-4.4 1.1-6.6 1.9-18 6.3-37.3 9.8-57.4 9.8s-39.4-3.5-57.4-9.8c-7.4-2.6-14.9-4.2-22.6-5.2v81.6c23.1 6.9 40 28.1 40 53.4 0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.3 16.9-46.5 40-53.4v-80.4C48.5 301 0 355.8 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-72-56.8-130.3-128-133.8z"],"user-minus":[640,512,[],"f503","M624 208H432c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h192c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"],"user-ninja":[448,512,[],"f504","M325.4 289.2L224 390.6 122.6 289.2C54 295.3 0 352.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-70.2-54-127.1-122.6-133.2zM32 192c27.3 0 51.8-11.5 69.2-29.7 15.1 53.9 64 93.7 122.8 93.7 70.7 0 128-57.3 128-128S294.7 0 224 0c-50.4 0-93.6 29.4-114.5 71.8C92.1 47.8 64 32 32 32c0 33.4 17.1 62.8 43.1 80-26 17.2-43.1 46.6-43.1 80zm144-96h96c17.7 0 32 14.3 32 32H144c0-17.7 14.3-32 32-32z"],"user-nurse":[448,512,[],"f82f","M319.41,320,224,415.39,128.59,320C57.1,323.1,0,381.6,0,453.79A58.21,58.21,0,0,0,58.21,512H389.79A58.21,58.21,0,0,0,448,453.79C448,381.6,390.9,323.1,319.41,320ZM224,304A128,128,0,0,0,352,176V65.82a32,32,0,0,0-20.76-30L246.47,4.07a64,64,0,0,0-44.94,0L116.76,35.86A32,32,0,0,0,96,65.82V176A128,128,0,0,0,224,304ZM184,71.67a5,5,0,0,1,5-5h21.67V45a5,5,0,0,1,5-5h16.66a5,5,0,0,1,5,5V66.67H259a5,5,0,0,1,5,5V88.33a5,5,0,0,1-5,5H237.33V115a5,5,0,0,1-5,5H215.67a5,5,0,0,1-5-5V93.33H189a5,5,0,0,1-5-5ZM144,160H304v16a80,80,0,0,1-160,0Z"],"user-plus":[640,512,[],"f234","M624 208h-64v-64c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v64h-64c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h64v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-64h64c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"],"user-secret":[448,512,[],"f21b","M383.9 308.3l23.9-62.6c4-10.5-3.7-21.7-15-21.7h-58.5c11-18.9 17.8-40.6 17.8-64v-.3c39.2-7.8 64-19.1 64-31.7 0-13.3-27.3-25.1-70.1-33-9.2-32.8-27-65.8-40.6-82.8-9.5-11.9-25.9-15.6-39.5-8.8l-27.6 13.8c-9 4.5-19.6 4.5-28.6 0L182.1 3.4c-13.6-6.8-30-3.1-39.5 8.8-13.5 17-31.4 50-40.6 82.8-42.7 7.9-70 19.7-70 33 0 12.6 24.8 23.9 64 31.7v.3c0 23.4 6.8 45.1 17.8 64H56.3c-11.5 0-19.2 11.7-14.7 22.3l25.8 60.2C27.3 329.8 0 372.7 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-48.4-25.8-90.4-64.1-114.1zM176 480l-41.6-192 49.6 32 24 40-32 120zm96 0l-32-120 24-40 49.6-32L272 480zm41.7-298.5c-3.9 11.9-7 24.6-16.5 33.4-10.1 9.3-48 22.4-64-25-2.8-8.4-15.4-8.4-18.3 0-17 50.2-56 32.4-64 25-9.5-8.8-12.7-21.5-16.5-33.4-.8-2.5-6.3-5.7-6.3-5.8v-10.8c28.3 3.6 61 5.8 96 5.8s67.7-2.1 96-5.8v10.8c-.1.1-5.6 3.2-6.4 5.8z"],"user-shield":[640,512,[],"f505","M622.3 271.1l-115.2-45c-4.1-1.6-12.6-3.7-22.2 0l-115.2 45c-10.7 4.2-17.7 14-17.7 24.9 0 111.6 68.7 188.8 132.9 213.9 9.6 3.7 18 1.6 22.2 0C558.4 489.9 640 420.5 640 296c0-10.9-7-20.7-17.7-24.9zM496 462.4V273.3l95.5 37.3c-5.6 87.1-60.9 135.4-95.5 151.8zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm96 40c0-2.5.8-4.8 1.1-7.2-2.5-.1-4.9-.8-7.5-.8h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c6.8 0 13.3-1.5 19.2-4-54-42.9-99.2-116.7-99.2-212z"],"user-slash":[640,512,[],"f506","M633.8 458.1L362.3 248.3C412.1 230.7 448 183.8 448 128 448 57.3 390.7 0 320 0c-67.1 0-121.5 51.8-126.9 117.4L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM96 422.4V464c0 26.5 21.5 48 48 48h350.2L207.4 290.3C144.2 301.3 96 356 96 422.4z"],"user-tag":[640,512,[],"f507","M630.6 364.9l-90.3-90.2c-12-12-28.3-18.7-45.3-18.7h-79.3c-17.7 0-32 14.3-32 32v79.2c0 17 6.7 33.2 18.7 45.2l90.3 90.2c12.5 12.5 32.8 12.5 45.3 0l92.5-92.5c12.6-12.5 12.6-32.7.1-45.2zm-182.8-21c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24c0 13.2-10.7 24-24 24zm-223.8-88c70.7 0 128-57.3 128-128C352 57.3 294.7 0 224 0S96 57.3 96 128c0 70.6 57.3 127.9 128 127.9zm127.8 111.2V294c-12.2-3.6-24.9-6.2-38.2-6.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 287.9 0 348.1 0 422.3v41.6c0 26.5 21.5 48 48 48h352c15.5 0 29.1-7.5 37.9-18.9l-58-58c-18.1-18.1-28.1-42.2-28.1-67.9z"],"user-tie":[448,512,[],"f508","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm95.8 32.6L272 480l-32-136 32-56h-96l32 56-32 136-47.8-191.4C56.9 292 0 350.3 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-72.1-56.9-130.4-128.2-133.8z"],"user-times":[640,512,[],"f235","M589.6 240l45.6-45.6c6.3-6.3 6.3-16.5 0-22.8l-22.8-22.8c-6.3-6.3-16.5-6.3-22.8 0L544 194.4l-45.6-45.6c-6.3-6.3-16.5-6.3-22.8 0l-22.8 22.8c-6.3 6.3-6.3 16.5 0 22.8l45.6 45.6-45.6 45.6c-6.3 6.3-6.3 16.5 0 22.8l22.8 22.8c6.3 6.3 16.5 6.3 22.8 0l45.6-45.6 45.6 45.6c6.3 6.3 16.5 6.3 22.8 0l22.8-22.8c6.3-6.3 6.3-16.5 0-22.8L589.6 240zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"],users:[640,512,[],"f0c0","M96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm448 0c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm32 32h-64c-17.6 0-33.5 7.1-45.1 18.6 40.3 22.1 68.9 62 75.1 109.4h66c17.7 0 32-14.3 32-32v-32c0-35.3-28.7-64-64-64zm-256 0c61.9 0 112-50.1 112-112S381.9 32 320 32 208 82.1 208 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z"],"users-cog":[640,512,[],"f509","M610.5 341.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 368.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm224 32c1.9 0 3.7-.5 5.6-.6 8.3-21.7 20.5-42.1 36.3-59.2 7.4-8 17.9-12.6 28.9-12.6 6.9 0 13.7 1.8 19.6 5.3l7.9 4.6c.8-.5 1.6-.9 2.4-1.4 7-14.6 11.2-30.8 11.2-48 0-61.9-50.1-112-112-112S208 82.1 208 144c0 61.9 50.1 112 112 112zm105.2 194.5c-2.3-1.2-4.6-2.6-6.8-3.9-8.2 4.8-15.3 9.8-27.5 9.8-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-10.7-34.5 24.9-49.7 25.8-50.3-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-3.8-2.2-7-5-9.8-8.1-3.3.2-6.5.6-9.8.6-24.6 0-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h255.4c-3.7-6-6.2-12.8-6.2-20.3v-9.2zM173.1 274.6C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z"],"users-slash":[640,512,[],"e073","M132.65,212.32,36.21,137.78A63.4,63.4,0,0,0,32,160a63.84,63.84,0,0,0,100.65,52.32Zm40.44,62.28A63.79,63.79,0,0,0,128,256H64A64.06,64.06,0,0,0,0,320v32a32,32,0,0,0,32,32H97.91A146.62,146.62,0,0,1,173.09,274.6ZM544,224a64,64,0,1,0-64-64A64.06,64.06,0,0,0,544,224ZM500.56,355.11a114.24,114.24,0,0,0-84.47-65.28L361,247.23c41.46-16.3,71-55.92,71-103.23A111.93,111.93,0,0,0,320,32c-57.14,0-103.69,42.83-110.6,98.08L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM128,403.21V432a48,48,0,0,0,48,48H464a47.45,47.45,0,0,0,12.57-1.87L232,289.13C173.74,294.83,128,343.42,128,403.21ZM576,256H512a63.79,63.79,0,0,0-45.09,18.6A146.29,146.29,0,0,1,542,384h66a32,32,0,0,0,32-32V320A64.06,64.06,0,0,0,576,256Z"],"utensil-spoon":[512,512,[],"f2e5","M480.1 31.9c-55-55.1-164.9-34.5-227.8 28.5-49.3 49.3-55.1 110-28.8 160.4L9 413.2c-11.6 10.5-12.1 28.5-1 39.5L59.3 504c11 11 29.1 10.5 39.5-1.1l192.4-214.4c50.4 26.3 111.1 20.5 160.4-28.8 63-62.9 83.6-172.8 28.5-227.8z"],utensils:[416,512,[],"f2e7","M207.9 15.2c.8 4.7 16.1 94.5 16.1 128.8 0 52.3-27.8 89.6-68.9 104.6L168 486.7c.7 13.7-10.2 25.3-24 25.3H80c-13.7 0-24.7-11.5-24-25.3l12.9-238.1C27.7 233.6 0 196.2 0 144 0 109.6 15.3 19.9 16.1 15.2 19.3-5.1 61.4-5.4 64 16.3v141.2c1.3 3.4 15.1 3.2 16 0 1.4-25.3 7.9-139.2 8-141.8 3.3-20.8 44.7-20.8 47.9 0 .2 2.7 6.6 116.5 8 141.8.9 3.2 14.8 3.4 16 0V16.3c2.6-21.6 44.8-21.4 48-1.1zm119.2 285.7l-15 185.1c-1.2 14 9.9 26 23.9 26h56c13.3 0 24-10.7 24-24V24c0-13.2-10.7-24-24-24-82.5 0-221.4 178.5-64.9 300.9z"],"vector-square":[512,512,[],"f5cb","M512 128V32c0-17.67-14.33-32-32-32h-96c-17.67 0-32 14.33-32 32H160c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32v192c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32h192c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32V160c17.67 0 32-14.33 32-32zm-96-64h32v32h-32V64zM64 64h32v32H64V64zm32 384H64v-32h32v32zm352 0h-32v-32h32v32zm-32-96h-32c-17.67 0-32 14.33-32 32v32H160v-32c0-17.67-14.33-32-32-32H96V160h32c17.67 0 32-14.33 32-32V96h192v32c0 17.67 14.33 32 32 32h32v192z"],venus:[288,512,[],"f221","M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z"],"venus-double":[512,512,[],"f226","M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80zm336 140.4V368h36c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-36v36c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-36h-36c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h36v-51.6c-21.2-4.8-40.6-14.3-57.2-27.3 14-16.7 25-36 32.1-57.1 14.5 14.8 34.7 24 57.1 24 44.1 0 80-35.9 80-80s-35.9-80-80-80c-22.3 0-42.6 9.2-57.1 24-7.1-21.1-18-40.4-32.1-57.1C303.4 43.6 334.3 32 368 32c79.5 0 144 64.5 144 144 0 68.5-47.9 125.9-112 140.4z"],"venus-mars":[576,512,[],"f228","M564 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C422.5 72.1 396.2 64 368 64c-33.7 0-64.6 11.6-89.2 30.9 14 16.7 25 36 32.1 57.1 14.5-14.8 34.7-24 57.1-24 44.1 0 80 35.9 80 80s-35.9 80-80 80c-22.3 0-42.6-9.2-57.1-24-7.1 21.1-18 40.4-32.1 57.1 24.5 19.4 55.5 30.9 89.2 30.9 79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 64C64.5 64 0 128.5 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.6 112-71.9 112-140.4 0-79.5-64.5-144-144-144zm0 224c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"],vial:[480,512,[],"f492","M477.7 186.1L309.5 18.3c-3.1-3.1-8.2-3.1-11.3 0l-34 33.9c-3.1 3.1-3.1 8.2 0 11.3l11.2 11.1L33 316.5c-38.8 38.7-45.1 102-9.4 143.5 20.6 24 49.5 36 78.4 35.9 26.4 0 52.8-10 72.9-30.1l246.3-245.7 11.2 11.1c3.1 3.1 8.2 3.1 11.3 0l34-33.9c3.1-3 3.1-8.1 0-11.2zM318 256H161l148-147.7 78.5 78.3L318 256z"],vials:[640,512,[],"f493","M72 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64zm480 384H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM360 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64z"],video:[576,512,[],"f03d","M336.2 64H47.8C21.4 64 0 85.4 0 111.8v288.4C0 426.6 21.4 448 47.8 448h288.4c26.4 0 47.8-21.4 47.8-47.8V111.8c0-26.4-21.4-47.8-47.8-47.8zm189.4 37.7L416 177.3v157.4l109.6 75.5c21.2 14.6 50.4-.3 50.4-25.8V127.5c0-25.4-29.1-40.4-50.4-25.8z"],"video-slash":[640,512,[],"f4e2","M633.8 458.1l-55-42.5c15.4-1.4 29.2-13.7 29.2-31.1v-257c0-25.5-29.1-40.4-50.4-25.8L448 177.3v137.2l-32-24.7v-178c0-26.4-21.4-47.8-47.8-47.8H123.9L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4L42.7 82 416 370.6l178.5 138c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.5-6.9 4.2-17-2.8-22.4zM32 400.2c0 26.4 21.4 47.8 47.8 47.8h288.4c11.2 0 21.4-4 29.6-10.5L32 154.7v245.5z"],vihara:[640,512,[],"f6a7","M632.88 400.71L544 352v-64l55.16-17.69c11.79-5.9 11.79-22.72 0-28.62L480 192v-64l27.31-16.3c7.72-7.72 5.61-20.74-4.16-25.62L320 0 136.85 86.07c-9.77 4.88-11.88 17.9-4.16 25.62L160 128v64L40.84 241.69c-11.79 5.9-11.79 22.72 0 28.62L96 288v64L7.12 400.71c-5.42 3.62-7.7 9.63-7 15.29.62 5.01 3.57 9.75 8.72 12.33L64 448v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48l55.15-19.67c5.16-2.58 8.1-7.32 8.72-12.33.71-5.67-1.57-11.68-6.99-15.29zM224 128h192v64H224v-64zm-64 224v-64h320v64H160z"],virus:[512,512,[],"e074","M483.55,227.55H462c-50.68,0-76.07-61.27-40.23-97.11L437,115.19A28.44,28.44,0,0,0,396.8,75L381.56,90.22c-35.84,35.83-97.11,10.45-97.11-40.23V28.44a28.45,28.45,0,0,0-56.9,0V50c0,50.68-61.27,76.06-97.11,40.23L115.2,75A28.44,28.44,0,0,0,75,115.19l15.25,15.25c35.84,35.84,10.45,97.11-40.23,97.11H28.45a28.45,28.45,0,1,0,0,56.89H50c50.68,0,76.07,61.28,40.23,97.12L75,396.8A28.45,28.45,0,0,0,115.2,437l15.24-15.25c35.84-35.84,97.11-10.45,97.11,40.23v21.54a28.45,28.45,0,0,0,56.9,0V462c0-50.68,61.27-76.07,97.11-40.23L396.8,437A28.45,28.45,0,0,0,437,396.8l-15.25-15.24c-35.84-35.84-10.45-97.12,40.23-97.12h21.54a28.45,28.45,0,1,0,0-56.89ZM224,272a48,48,0,1,1,48-48A48,48,0,0,1,224,272Zm80,56a24,24,0,1,1,24-24A24,24,0,0,1,304,328Z"],"virus-slash":[640,512,[],"e075","M114,227.6H92.4C76.7,227.6,64,240.3,64,256s12.7,28.4,28.4,28.4H114c50.7,0,76.1,61.3,40.2,97.1L139,396.8 c-11.5,10.7-12.2,28.7-1.6,40.2s28.7,12.2,40.2,1.6c0.5-0.5,1.1-1,1.6-1.6l15.2-15.2c35.8-35.8,97.1-10.5,97.1,40.2v21.5 c0,15.7,12.8,28.4,28.5,28.4c15.7,0,28.4-12.7,28.4-28.4V462c0-26.6,17-45.9,38.2-53.4l-244.5-189 C133.7,224.7,123.9,227.5,114,227.6z M617,505.8l19.6-25.3c5.4-7,4.2-17-2.8-22.5L470.6,332c4.2-25.4,24.9-47.5,55.4-47.5h21.5 c15.7,0,28.4-12.7,28.4-28.4s-12.7-28.4-28.4-28.4H526c-50.7,0-76.1-61.3-40.2-97.1l15.2-15.3c10.7-11.5,10-29.5-1.6-40.2 c-10.9-10.1-27.7-10.1-38.6,0l-15.2,15.2c-35.8,35.8-97.1,10.5-97.1-40.2V28.5C348.4,12.7,335.7,0,320,0 c-15.7,0-28.4,12.7-28.4,28.4V50c0,50.7-61.3,76.1-97.1,40.2L179.2,75c-11.1-11.1-29.4-10.6-40.5,0.5L45.5,3.4 c-7-5.4-17-4.2-22.5,2.8L3.4,31.5c-5.4,7-4.2,17,2.8,22.5l588.4,454.7C601.5,514.1,611.6,512.8,617,505.8z M335.4,227.5l-62.9-48.6 c4.9-1.8,10.2-2.8,15.4-2.9c26.5,0,48,21.5,48,48C336,225.2,335.5,226.3,335.4,227.5z"],viruses:[640,512,[],"e076","M624,352H611.88c-28.51,0-42.79-34.47-22.63-54.63l8.58-8.57a16,16,0,1,0-22.63-22.63l-8.57,8.58C546.47,294.91,512,280.63,512,252.12V240a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.57c20.16,20.16,5.88,54.63-22.63,54.63H368a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.57a16,16,0,1,0,22.63,22.63l8.57-8.58c20.16-20.16,54.63-5.88,54.63,22.63V496a16,16,0,0,0,32,0V483.88c0-28.51,34.47-42.79,54.63-22.63l8.57,8.58a16,16,0,1,0,22.63-22.63l-8.58-8.57C569.09,418.47,583.37,384,611.88,384H624a16,16,0,0,0,0-32ZM480,384a32,32,0,1,1,32-32A32,32,0,0,1,480,384ZM346.51,213.33h16.16a21.33,21.33,0,0,0,0-42.66H346.51c-38,0-57.05-46-30.17-72.84l11.43-11.44A21.33,21.33,0,0,0,297.6,56.23L286.17,67.66c-26.88,26.88-72.84,7.85-72.84-30.17V21.33a21.33,21.33,0,0,0-42.66,0V37.49c0,38-46,57.05-72.84,30.17L86.4,56.23A21.33,21.33,0,0,0,56.23,86.39L67.66,97.83c26.88,26.88,7.85,72.84-30.17,72.84H21.33a21.33,21.33,0,0,0,0,42.66H37.49c38,0,57.05,46,30.17,72.84L56.23,297.6A21.33,21.33,0,1,0,86.4,327.77l11.43-11.43c26.88-26.88,72.84-7.85,72.84,30.17v16.16a21.33,21.33,0,0,0,42.66,0V346.51c0-38,46-57.05,72.84-30.17l11.43,11.43a21.33,21.33,0,0,0,30.17-30.17l-11.43-11.43C289.46,259.29,308.49,213.33,346.51,213.33ZM160,192a32,32,0,1,1,32-32A32,32,0,0,1,160,192Zm80,32a16,16,0,1,1,16-16A16,16,0,0,1,240,224Z"],voicemail:[640,512,[],"f897","M496 128a144 144 0 0 0-119.74 224H263.74A144 144 0 1 0 144 416h352a144 144 0 0 0 0-288zM64 272a80 80 0 1 1 80 80 80 80 0 0 1-80-80zm432 80a80 80 0 1 1 80-80 80 80 0 0 1-80 80z"],"volleyball-ball":[512,512,[],"f45f","M231.39 243.48a285.56 285.56 0 0 0-22.7-105.7c-90.8 42.4-157.5 122.4-180.3 216.8a249 249 0 0 0 56.9 81.1 333.87 333.87 0 0 1 146.1-192.2zm-36.9-134.4a284.23 284.23 0 0 0-57.4-70.7c-91 49.8-144.8 152.9-125 262.2 33.4-83.1 98.4-152 182.4-191.5zm187.6 165.1c8.6-99.8-27.3-197.5-97.5-264.4-14.7-1.7-51.6-5.5-98.9 8.5A333.87 333.87 0 0 1 279.19 241a285 285 0 0 0 102.9 33.18zm-124.7 9.5a286.33 286.33 0 0 0-80.2 72.6c82 57.3 184.5 75.1 277.5 47.8a247.15 247.15 0 0 0 42.2-89.9 336.1 336.1 0 0 1-80.9 10.4c-54.6-.1-108.9-14.1-158.6-40.9zm-98.3 99.7c-15.2 26-25.7 54.4-32.1 84.2a247.07 247.07 0 0 0 289-22.1c-112.9 16.1-203.3-24.8-256.9-62.1zm180.3-360.6c55.3 70.4 82.5 161.2 74.6 253.6a286.59 286.59 0 0 0 89.7-14.2c0-2 .3-4 .3-6 0-107.8-68.7-199.1-164.6-233.4z"],"volume-down":[384,512,[],"f027","M215.03 72.04L126.06 161H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V89.02c0-21.47-25.96-31.98-40.97-16.98zm123.2 108.08c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 229.28 336 242.62 336 257c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.87z"],"volume-mute":[512,512,[],"f6a9","M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z"],"volume-off":[256,512,[],"f026","M215 71l-89 89H24a24 24 0 0 0-24 24v144a24 24 0 0 0 24 24h102.06L215 441c15 15 41 4.47 41-17V88c0-21.47-26-32-41-17z"],"volume-up":[576,512,[],"f028","M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z"],"vote-yea":[640,512,[],"f772","M608 320h-64v64h22.4c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8H96v-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h576c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32zm-96 64V64.3c0-17.9-14.5-32.3-32.3-32.3H160.4C142.5 32 128 46.5 128 64.3V384h384zM211.2 202l25.5-25.3c4.2-4.2 11-4.2 15.2.1l41.3 41.6 95.2-94.4c4.2-4.2 11-4.2 15.2.1l25.3 25.5c4.2 4.2 4.2 11-.1 15.2L300.5 292c-4.2 4.2-11 4.2-15.2-.1l-74.1-74.7c-4.3-4.2-4.2-11 0-15.2z"],"vr-cardboard":[640,512,[],"f729","M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h160.22c25.19 0 48.03-14.77 58.36-37.74l27.74-61.64C286.21 331.08 302.35 320 320 320s33.79 11.08 41.68 28.62l27.74 61.64C399.75 433.23 422.6 448 447.78 448H608c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM160 304c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64zm320 0c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64z"],walking:[320,512,[],"f554","M208 96c26.5 0 48-21.5 48-48S234.5 0 208 0s-48 21.5-48 48 21.5 48 48 48zm94.5 149.1l-23.3-11.8-9.7-29.4c-14.7-44.6-55.7-75.8-102.2-75.9-36-.1-55.9 10.1-93.3 25.2-21.6 8.7-39.3 25.2-49.7 46.2L17.6 213c-7.8 15.8-1.5 35 14.2 42.9 15.6 7.9 34.6 1.5 42.5-14.3L81 228c3.5-7 9.3-12.5 16.5-15.4l26.8-10.8-15.2 60.7c-5.2 20.8.4 42.9 14.9 58.8l59.9 65.4c7.2 7.9 12.3 17.4 14.9 27.7l18.3 73.3c4.3 17.1 21.7 27.6 38.8 23.3 17.1-4.3 27.6-21.7 23.3-38.8l-22.2-89c-2.6-10.3-7.7-19.9-14.9-27.7l-45.5-49.7 17.2-68.7 5.5 16.5c5.3 16.1 16.7 29.4 31.7 37l23.3 11.8c15.6 7.9 34.6 1.5 42.5-14.3 7.7-15.7 1.4-35.1-14.3-43zM73.6 385.8c-3.2 8.1-8 15.4-14.2 21.5l-50 50.1c-12.5 12.5-12.5 32.8 0 45.3s32.7 12.5 45.2 0l59.4-59.4c6.1-6.1 10.9-13.4 14.2-21.5l13.5-33.8c-55.3-60.3-38.7-41.8-47.4-53.7l-20.7 51.5z"],wallet:[512,512,[],"f555","M461.2 128H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h384c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h397.2c28.02 0 50.8-21.53 50.8-48V176c0-26.47-22.78-48-50.8-48zM416 336c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"],warehouse:[640,512,[],"f494","M504 352H136.4c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 96H136.1c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0-192H136.6c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm106.5-139L338.4 3.7a48.15 48.15 0 0 0-36.9 0L29.5 117C11.7 124.5 0 141.9 0 161.3V504c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V256c0-17.6 14.6-32 32.6-32h382.8c18 0 32.6 14.4 32.6 32v248c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V161.3c0-19.4-11.7-36.8-29.5-44.3z"],water:[576,512,[],"f773","M562.1 383.9c-21.5-2.4-42.1-10.5-57.9-22.9-14.1-11.1-34.2-11.3-48.2 0-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3zm0-144c-21.5-2.4-42.1-10.5-57.9-22.9-14.1-11.1-34.2-11.3-48.2 0-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3zm0-144C540.6 93.4 520 85.4 504.2 73 490.1 61.9 470 61.7 456 73c-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3z"],"wave-square":[640,512,[],"f83e","M476 480H324a36 36 0 0 1-36-36V96h-96v156a36 36 0 0 1-36 36H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h112V68a36 36 0 0 1 36-36h152a36 36 0 0 1 36 36v348h96V260a36 36 0 0 1 36-36h140a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H512v156a36 36 0 0 1-36 36z"],weight:[512,512,[],"f496","M448 64h-25.98C438.44 92.28 448 125.01 448 160c0 105.87-86.13 192-192 192S64 265.87 64 160c0-34.99 9.56-67.72 25.98-96H64C28.71 64 0 92.71 0 128v320c0 35.29 28.71 64 64 64h384c35.29 0 64-28.71 64-64V128c0-35.29-28.71-64-64-64zM256 320c88.37 0 160-71.63 160-160S344.37 0 256 0 96 71.63 96 160s71.63 160 160 160zm-.3-151.94l33.58-78.36c3.5-8.17 12.94-11.92 21.03-8.41 8.12 3.48 11.88 12.89 8.41 21l-33.67 78.55C291.73 188 296 197.45 296 208c0 22.09-17.91 40-40 40s-40-17.91-40-40c0-21.98 17.76-39.77 39.7-39.94z"],"weight-hanging":[512,512,[],"f5cd","M510.28 445.86l-73.03-292.13c-3.8-15.19-16.44-25.72-30.87-25.72h-60.25c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96s-96 42.98-96 96c0 11.28 2.3 21.95 5.88 32h-60.25c-14.43 0-27.08 10.54-30.87 25.72L1.72 445.86C-6.61 479.17 16.38 512 48.03 512h415.95c31.64 0 54.63-32.83 46.3-66.14zM256 128c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z"],wheelchair:[512,512,[],"f193","M496.101 385.669l14.227 28.663c3.929 7.915.697 17.516-7.218 21.445l-65.465 32.886c-16.049 7.967-35.556 1.194-43.189-15.055L331.679 320H192c-15.925 0-29.426-11.71-31.679-27.475C126.433 55.308 128.38 70.044 128 64c0-36.358 30.318-65.635 67.052-63.929 33.271 1.545 60.048 28.905 60.925 62.201.868 32.933-23.152 60.423-54.608 65.039l4.67 32.69H336c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H215.182l4.572 32H352a32 32 0 0 1 28.962 18.392L438.477 396.8l36.178-18.349c7.915-3.929 17.517-.697 21.446 7.218zM311.358 352h-24.506c-7.788 54.204-54.528 96-110.852 96-61.757 0-112-50.243-112-112 0-41.505 22.694-77.809 56.324-97.156-3.712-25.965-6.844-47.86-9.488-66.333C45.956 198.464 0 261.963 0 336c0 97.047 78.953 176 176 176 71.87 0 133.806-43.308 161.11-105.192L311.358 352z"],wifi:[640,512,[],"f1eb","M634.91 154.88C457.74-8.99 182.19-8.93 5.09 154.88c-6.66 6.16-6.79 16.59-.35 22.98l34.24 33.97c6.14 6.1 16.02 6.23 22.4.38 145.92-133.68 371.3-133.71 517.25 0 6.38 5.85 16.26 5.71 22.4-.38l34.24-33.97c6.43-6.39 6.3-16.82-.36-22.98zM320 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm202.67-83.59c-115.26-101.93-290.21-101.82-405.34 0-6.9 6.1-7.12 16.69-.57 23.15l34.44 33.99c6 5.92 15.66 6.32 22.05.8 83.95-72.57 209.74-72.41 293.49 0 6.39 5.52 16.05 5.13 22.05-.8l34.44-33.99c6.56-6.46 6.33-17.06-.56-23.15z"],wind:[512,512,[],"f72e","M156.7 256H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h142.2c15.9 0 30.8 10.9 33.4 26.6 3.3 20-12.1 37.4-31.6 37.4-14.1 0-26.1-9.2-30.4-21.9-2.1-6.3-8.6-10.1-15.2-10.1H81.6c-9.8 0-17.7 8.8-15.9 18.4 8.6 44.1 47.6 77.6 94.2 77.6 57.1 0 102.7-50.1 95.2-108.6C249 291 205.4 256 156.7 256zM16 224h336c59.7 0 106.8-54.8 93.8-116.7-7.6-36.2-36.9-65.5-73.1-73.1-55.4-11.6-105.1 24.9-114.9 75.5-1.9 9.6 6.1 18.3 15.8 18.3h32.8c6.7 0 13.1-3.8 15.2-10.1C325.9 105.2 337.9 96 352 96c19.4 0 34.9 17.4 31.6 37.4-2.6 15.7-17.4 26.6-33.4 26.6H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16zm384 32H243.7c19.3 16.6 33.2 38.8 39.8 64H400c26.5 0 48 21.5 48 48s-21.5 48-48 48c-17.9 0-33.3-9.9-41.6-24.4-2.9-5-8.7-7.6-14.5-7.6h-33.8c-10.9 0-19 10.8-15.3 21.1 17.8 50.6 70.5 84.8 129.4 72.3 41.2-8.7 75.1-41.6 84.7-82.7C526 321.5 470.5 256 400 256z"],"window-close":[512,512,[],"f410","M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-83.6 290.5c4.8 4.8 4.8 12.6 0 17.4l-40.5 40.5c-4.8 4.8-12.6 4.8-17.4 0L256 313.3l-66.5 67.1c-4.8 4.8-12.6 4.8-17.4 0l-40.5-40.5c-4.8-4.8-4.8-12.6 0-17.4l67.1-66.5-67.1-66.5c-4.8-4.8-4.8-12.6 0-17.4l40.5-40.5c4.8-4.8 12.6-4.8 17.4 0l66.5 67.1 66.5-67.1c4.8-4.8 12.6-4.8 17.4 0l40.5 40.5c4.8 4.8 4.8 12.6 0 17.4L313.3 256l67.1 66.5z"],"window-maximize":[512,512,[],"f2d0","M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16 160H64v-84c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12v84z"],"window-minimize":[512,512,[],"f2d1","M464 352H48c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48z"],"window-restore":[512,512,[],"f2d2","M512 48v288c0 26.5-21.5 48-48 48h-48V176c0-44.1-35.9-80-80-80H128V48c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zM384 176v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zm-68 28c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v52h252v-52z"],"wine-bottle":[512,512,[],"f72f","M507.31 72.57L439.43 4.69c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l-76.67 76.67c-46.58-19.7-102.4-10.73-140.37 27.23L18.75 312.23c-24.99 24.99-24.99 65.52 0 90.51l90.51 90.51c24.99 24.99 65.52 24.99 90.51 0l158.39-158.39c37.96-37.96 46.93-93.79 27.23-140.37l76.67-76.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.24-6.24 6.24-16.37-.01-22.62zM179.22 423.29l-90.51-90.51 122.04-122.04 90.51 90.51-122.04 122.04z"],"wine-glass":[288,512,[],"f4e3","M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40z"],"wine-glass-alt":[288,512,[],"f5ce","M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM61.75 48h164.5l7.17 80H54.58l7.17-80z"],"won-sign":[576,512,[],"f159","M564 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-48l18.6-80.6c1.7-7.5-4-14.7-11.7-14.7h-46.1c-5.7 0-10.6 4-11.7 9.5L450.7 128H340.8l-19.7-86c-1.3-5.5-6.1-9.3-11.7-9.3h-44c-5.6 0-10.4 3.8-11.7 9.3l-20 86H125l-17.5-85.7c-1.1-5.6-6.1-9.6-11.8-9.6H53.6c-7.7 0-13.4 7.1-11.7 14.6L60 128H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h62.3l7.2 32H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h83.9l40.9 182.6c1.2 5.5 6.1 9.4 11.7 9.4h56.8c5.6 0 10.4-3.9 11.7-9.3L259.3 288h55.1l42.4 182.7c1.3 5.4 6.1 9.3 11.7 9.3h56.8c5.6 0 10.4-3.9 11.7-9.3L479.1 288H564c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-70.1l7.4-32zM183.8 342c-6.2 25.8-6.8 47.2-7.3 47.2h-1.1s-1.7-22-6.8-47.2l-11-54h38.8zm27.5-118h-66.8l-6.5-32h80.8zm62.9 0l2-8.6c1.9-8 3.5-16 4.8-23.4h11.8c1.3 7.4 2.9 15.4 4.8 23.4l2 8.6zm130.9 118c-5.1 25.2-6.8 47.2-6.8 47.2h-1.1c-.6 0-1.1-21.4-7.3-47.2l-12.4-54h39.1zm25.2-118h-67.4l-7.3-32h81.6z"],wrench:[512,512,[],"f0ad","M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"],"x-ray":[640,512,[],"f497","M240 384c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm160 32c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zM624 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zm0 448h-48V96H64v352H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM480 248c0 4.4-3.6 8-8 8H336v32h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h64c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48v-16h-64v16c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48h64v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-32H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h136v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-24c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v24h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h136c4.4 0 8 3.6 8 8v16z"],"yen-sign":[384,512,[],"f157","M351.2 32h-65.3c-4.6 0-8.8 2.6-10.8 6.7l-55.4 113.2c-14.5 34.7-27.1 71.9-27.1 71.9h-1.3s-12.6-37.2-27.1-71.9L108.8 38.7c-2-4.1-6.2-6.7-10.8-6.7H32.8c-9.1 0-14.8 9.7-10.6 17.6L102.3 200H44c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h88.2l19.8 37.2V320H44c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h108v92c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12v-92h108c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12H232v-26.8l19.8-37.2H340c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12h-58.3l80.1-150.4c4.3-7.9-1.5-17.6-10.6-17.6z"],"yin-yang":[496,512,[],"f6ad","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 376c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-128c-53.02 0-96 42.98-96 96s42.98 96 96 96c-106.04 0-192-85.96-192-192S141.96 64 248 64c53.02 0 96 42.98 96 96s-42.98 96-96 96zm0-128c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z"]};!function(c){try{c()}catch(c){if(!s)throw c}}(function(){M("fas",f)})}(),function(){"use strict";function v(c){return(v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(c){return typeof c}:function(c){return c&&"function"==typeof Symbol&&c.constructor===Symbol&&c!==Symbol.prototype?"symbol":typeof c})(c)}function a(c,l){for(var h=0;h<l.length;h++){var z=l[h];z.enumerable=z.enumerable||!1,z.configurable=!0,"value"in z&&(z.writable=!0),Object.defineProperty(c,z.key,z)}}function G(a){for(var c=1;c<arguments.length;c++){var v=null!=arguments[c]?arguments[c]:{},l=Object.keys(v);"function"==typeof Object.getOwnPropertySymbols&&(l=l.concat(Object.getOwnPropertySymbols(v).filter(function(c){return Object.getOwnPropertyDescriptor(v,c).enumerable}))),l.forEach(function(c){var l,h,z;l=a,z=v[h=c],h in l?Object.defineProperty(l,h,{value:z,enumerable:!0,configurable:!0,writable:!0}):l[h]=z})}return a}function n(c,l){return function(c){if(Array.isArray(c))return c}(c)||function(c,l){var h=[],z=!0,a=!1,v=void 0;try{for(var m,s=c[Symbol.iterator]();!(z=(m=s.next()).done)&&(h.push(m.value),!l||h.length!==l);z=!0);}catch(c){a=!0,v=c}finally{try{z||null==s.return||s.return()}finally{if(a)throw v}}return h}(c,l)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function r(c){return function(c){if(Array.isArray(c)){for(var l=0,h=new Array(c.length);l<c.length;l++)h[l]=c[l];return h}}(c)||function(c){if(Symbol.iterator in Object(c)||"[object Arguments]"===Object.prototype.toString.call(c))return Array.from(c)}(c)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var c=function(){},l={},h={},z=null,m={mark:c,measure:c};try{"undefined"!=typeof window&&(l=window),"undefined"!=typeof document&&(h=document),"undefined"!=typeof MutationObserver&&(z=MutationObserver),"undefined"!=typeof performance&&(m=performance)}catch(c){}var s=(l.navigator||{}).userAgent,e=void 0===s?"":s,i=l,o=h,t=z,M=m,f=!!i.document,H=!!o.documentElement&&!!o.head&&"function"==typeof o.addEventListener&&"function"==typeof o.createElement,p=~e.indexOf("MSIE")||~e.indexOf("Trident/"),V="___FONT_AWESOME___",b=16,C="fa",L="svg-inline--fa",J="data-fa-i2svg",d="data-fa-pseudo-element",u="data-fa-pseudo-element-pending",g="data-prefix",A="data-icon",S="fontawesome-i2svg",y="async",w=["HTML","HEAD","STYLE","SCRIPT"],k=function(){try{return!0}catch(c){return!1}}(),Z={fas:"solid",far:"regular",fal:"light",fad:"duotone",fab:"brands",fa:"solid"},x={solid:"fas",regular:"far",light:"fal",duotone:"fad",brands:"fab"},q="fa-layers-text",O=/Font Awesome 5 (Solid|Regular|Light|Duotone|Brands|Free|Pro)/,j={900:"fas",400:"far",normal:"far",300:"fal"},P=[1,2,3,4,5,6,7,8,9,10],E=P.concat([11,12,13,14,15,16,17,18,19,20]),N=["class","data-prefix","data-icon","data-fa-transform","data-fa-mask"],_={GROUP:"group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},T=["xs","sm","lg","fw","ul","li","border","pull-left","pull-right","spin","pulse","rotate-90","rotate-180","rotate-270","flip-horizontal","flip-vertical","flip-both","stack","stack-1x","stack-2x","inverse","layers","layers-text","layers-counter",_.GROUP,_.SWAP_OPACITY,_.PRIMARY,_.SECONDARY].concat(P.map(function(c){return"".concat(c,"x")})).concat(E.map(function(c){return"w-".concat(c)})),I=i.FontAwesomeConfig||{};if(o&&"function"==typeof o.querySelector){[["data-family-prefix","familyPrefix"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-auto-a11y","autoA11y"],["data-search-pseudo-elements","searchPseudoElements"],["data-observe-mutations","observeMutations"],["data-mutate-approach","mutateApproach"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]].forEach(function(c){var l,h=n(c,2),z=h[0],a=h[1],v=""===(l=function(c){var l=o.querySelector("script["+c+"]");if(l)return l.getAttribute(c)}(z))||"false"!==l&&("true"===l||l);null!=v&&(I[a]=v)})}var R=G({},{familyPrefix:C,replacementClass:L,autoReplaceSvg:!0,autoAddCss:!0,autoA11y:!0,searchPseudoElements:!1,observeMutations:!0,mutateApproach:"async",keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0},I);R.autoReplaceSvg||(R.observeMutations=!1);var $=G({},R);i.FontAwesomeConfig=$;var F=i||{};F[V]||(F[V]={}),F[V].styles||(F[V].styles={}),F[V].hooks||(F[V].hooks={}),F[V].shims||(F[V].shims=[]);var Y=F[V],D=[],W=!1;function U(c){H&&(W?setTimeout(c,0):D.push(c))}H&&((W=(o.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(o.readyState))||o.addEventListener("DOMContentLoaded",function c(){o.removeEventListener("DOMContentLoaded",c),W=1,D.map(function(c){return c()})}));var Q,X="pending",B="settled",K="fulfilled",cc="rejected",lc=function(){},hc="undefined"!=typeof global&&void 0!==global.process&&"function"==typeof global.process.emit,zc="undefined"==typeof setImmediate?setTimeout:setImmediate,ac=[];function vc(){for(var c=0;c<ac.length;c++)ac[c][0](ac[c][1]);Q=!(ac=[])}function mc(c,l){ac.push([c,l]),Q||(Q=!0,zc(vc,0))}function sc(c){var l=c.owner,h=l._state,z=l._data,a=c[h],v=c.then;if("function"==typeof a){h=K;try{z=a(z)}catch(c){fc(v,c)}}ec(v,z)||(h===K&&tc(v,z),h===cc&&fc(v,z))}function ec(l,h){var z;try{if(l===h)throw new TypeError("A promises callback cannot return that same promise.");if(h&&("function"==typeof h||"object"===v(h))){var c=h.then;if("function"==typeof c)return c.call(h,function(c){z||(z=!0,h===c?Mc(l,c):tc(l,c))},function(c){z||(z=!0,fc(l,c))}),!0}}catch(c){return z||fc(l,c),!0}return!1}function tc(c,l){c!==l&&ec(c,l)||Mc(c,l)}function Mc(c,l){c._state===X&&(c._state=B,c._data=l,mc(Hc,c))}function fc(c,l){c._state===X&&(c._state=B,c._data=l,mc(nc,c))}function rc(c){c._then=c._then.forEach(sc)}function Hc(c){c._state=K,rc(c)}function nc(c){c._state=cc,rc(c),!c._handled&&hc&&global.process.emit("unhandledRejection",c._data,c)}function Vc(c){global.process.emit("rejectionHandled",c)}function ic(c){if("function"!=typeof c)throw new TypeError("Promise resolver "+c+" is not a function");if(this instanceof ic==!1)throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");this._then=[],function(c,l){function h(c){fc(l,c)}try{c(function(c){tc(l,c)},h)}catch(c){h(c)}}(c,this)}ic.prototype={constructor:ic,_state:X,_then:null,_data:void 0,_handled:!1,then:function(c,l){var h={owner:this,then:new this.constructor(lc),fulfilled:c,rejected:l};return!l&&!c||this._handled||(this._handled=!0,this._state===cc&&hc&&mc(Vc,this)),this._state===K||this._state===cc?mc(sc,h):this._then.push(h),h.then},catch:function(c){return this.then(null,c)}},ic.all=function(s){if(!Array.isArray(s))throw new TypeError("You must pass an array to Promise.all().");return new ic(function(h,c){var z=[],a=0;function l(l){return a++,function(c){z[l]=c,--a||h(z)}}for(var v,m=0;m<s.length;m++)(v=s[m])&&"function"==typeof v.then?v.then(l(m),c):z[m]=v;a||h(z)})},ic.race=function(a){if(!Array.isArray(a))throw new TypeError("You must pass an array to Promise.race().");return new ic(function(c,l){for(var h,z=0;z<a.length;z++)(h=a[z])&&"function"==typeof h.then?h.then(c,l):c(h)})},ic.resolve=function(l){return l&&"object"===v(l)&&l.constructor===ic?l:new ic(function(c){c(l)})},ic.reject=function(h){return new ic(function(c,l){l(h)})};var oc="function"==typeof Promise?Promise:ic,Cc=b,Lc={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function dc(c){if(c&&H){var l=o.createElement("style");l.setAttribute("type","text/css"),l.innerHTML=c;for(var h=o.head.childNodes,z=null,a=h.length-1;-1<a;a--){var v=h[a],m=(v.tagName||"").toUpperCase();-1<["STYLE","LINK"].indexOf(m)&&(z=v)}return o.head.insertBefore(l,z),c}}var uc="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function pc(){for(var c=12,l="";0<c--;)l+=uc[62*Math.random()|0];return l}function bc(c){for(var l=[],h=(c||[]).length>>>0;h--;)l[h]=c[h];return l}function gc(c){return c.classList?bc(c.classList):(c.getAttribute("class")||"").split(" ").filter(function(c){return c})}function Ac(c,l){var h,z=l.split("-"),a=z[0],v=z.slice(1).join("-");return a!==c||""===v||(h=v,~T.indexOf(h))?null:v}function Sc(c){return"".concat(c).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function yc(h){return Object.keys(h||{}).reduce(function(c,l){return c+"".concat(l,": ").concat(h[l],";")},"")}function wc(c){return c.size!==Lc.size||c.x!==Lc.x||c.y!==Lc.y||c.rotate!==Lc.rotate||c.flipX||c.flipY}function kc(c){var l=c.transform,h=c.containerWidth,z=c.iconWidth,a={transform:"translate(".concat(h/2," 256)")},v="translate(".concat(32*l.x,", ").concat(32*l.y,") "),m="scale(".concat(l.size/16*(l.flipX?-1:1),", ").concat(l.size/16*(l.flipY?-1:1),") "),s="rotate(".concat(l.rotate," 0 0)");return{outer:a,inner:{transform:"".concat(v," ").concat(m," ").concat(s)},path:{transform:"translate(".concat(z/2*-1," -256)")}}}var Zc={x:0,y:0,width:"100%",height:"100%"};function xc(c){var l=!(1<arguments.length&&void 0!==arguments[1])||arguments[1];return c.attributes&&(c.attributes.fill||l)&&(c.attributes.fill="black"),c}function qc(c){var l=c.icons,h=l.main,z=l.mask,a=c.prefix,v=c.iconName,m=c.transform,s=c.symbol,e=c.title,t=c.maskId,M=c.titleId,f=c.extra,r=c.watchable,H=void 0!==r&&r,n=z.found?z:h,V=n.width,i=n.height,o="fa-w-".concat(Math.ceil(V/i*16)),C=[$.replacementClass,v?"".concat($.familyPrefix,"-").concat(v):"",o].filter(function(c){return-1===f.classes.indexOf(c)}).concat(f.classes).join(" "),L={children:[],attributes:G({},f.attributes,{"data-prefix":a,"data-icon":v,class:C,role:f.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(V," ").concat(i)})};H&&(L.attributes[J]=""),e&&L.children.push({tag:"title",attributes:{id:L.attributes["aria-labelledby"]||"title-".concat(M||pc())},children:[e]});var d,u,p,b,g,A,S,y,w,k,Z,x,q,O,j,P,E,N,_,T,I,R,F,Y,D,W,U,Q=G({},L,{prefix:a,iconName:v,main:h,mask:z,maskId:t,transform:m,symbol:s,styles:f.styles}),X=z.found&&h.found?(p=(d=Q).children,b=d.attributes,g=d.main,A=d.mask,S=d.maskId,y=d.transform,w=g.width,k=g.icon,Z=A.width,x=A.icon,q=kc({transform:y,containerWidth:Z,iconWidth:w}),O={tag:"rect",attributes:G({},Zc,{fill:"white"})},j=k.children?{children:k.children.map(xc)}:{},P={tag:"g",attributes:G({},q.inner),children:[xc(G({tag:k.tag,attributes:G({},k.attributes,q.path)},j))]},E={tag:"g",attributes:G({},q.outer),children:[P]},N="mask-".concat(S||pc()),_="clip-".concat(S||pc()),T={tag:"mask",attributes:G({},Zc,{id:N,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[O,E]},I={tag:"defs",children:[{tag:"clipPath",attributes:{id:_},children:(u=x,"g"===u.tag?u.children:[u])},T]},p.push(I,{tag:"rect",attributes:G({fill:"currentColor","clip-path":"url(#".concat(_,")"),mask:"url(#".concat(N,")")},Zc)}),{children:p,attributes:b}):function(c){var l=c.children,h=c.attributes,z=c.main,a=c.transform,v=yc(c.styles);if(0<v.length&&(h.style=v),wc(a)){var m=kc({transform:a,containerWidth:z.width,iconWidth:z.width});l.push({tag:"g",attributes:G({},m.outer),children:[{tag:"g",attributes:G({},m.inner),children:[{tag:z.icon.tag,children:z.icon.children,attributes:G({},z.icon.attributes,m.path)}]}]})}else l.push(z.icon);return{children:l,attributes:h}}(Q),B=X.children,K=X.attributes;return Q.children=B,Q.attributes=K,s?(F=(R=Q).prefix,Y=R.iconName,D=R.children,W=R.attributes,U=R.symbol,[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:G({},W,{id:!0===U?"".concat(F,"-").concat($.familyPrefix,"-").concat(Y):U}),children:D}]}]):function(c){var l=c.children,h=c.main,z=c.mask,a=c.attributes,v=c.styles,m=c.transform;if(wc(m)&&h.found&&!z.found){var s=h.width/h.height/2,e=.5;a.style=yc(G({},v,{"transform-origin":"".concat(s+m.x/16,"em ").concat(e+m.y/16,"em")}))}return[{tag:"svg",attributes:a,children:l}]}(Q)}function Oc(c){var l=c.content,h=c.width,z=c.height,a=c.transform,v=c.title,m=c.extra,s=c.watchable,e=void 0!==s&&s,t=G({},m.attributes,v?{title:v}:{},{class:m.classes.join(" ")});e&&(t[J]="");var M,f,r,H,n,V,i,o,C,L=G({},m.styles);wc(a)&&(L.transform=(f=(M={transform:a,startCentered:!0,width:h,height:z}).transform,r=M.width,H=void 0===r?b:r,n=M.height,V=void 0===n?b:n,i=M.startCentered,C="",C+=(o=void 0!==i&&i)&&p?"translate(".concat(f.x/Cc-H/2,"em, ").concat(f.y/Cc-V/2,"em) "):o?"translate(calc(-50% + ".concat(f.x/Cc,"em), calc(-50% + ").concat(f.y/Cc,"em)) "):"translate(".concat(f.x/Cc,"em, ").concat(f.y/Cc,"em) "),C+="scale(".concat(f.size/Cc*(f.flipX?-1:1),", ").concat(f.size/Cc*(f.flipY?-1:1),") "),C+="rotate(".concat(f.rotate,"deg) ")),L["-webkit-transform"]=L.transform);var d=yc(L);0<d.length&&(t.style=d);var u=[];return u.push({tag:"span",attributes:t,children:[l]}),v&&u.push({tag:"span",attributes:{class:"sr-only"},children:[v]}),u}var jc=function(){},Pc=$.measurePerformance&&M&&M.mark&&M.measure?M:{mark:jc,measure:jc},Ec='FA "5.14.0"',Nc=function(c){Pc.mark("".concat(Ec," ").concat(c," ends")),Pc.measure("".concat(Ec," ").concat(c),"".concat(Ec," ").concat(c," begins"),"".concat(Ec," ").concat(c," ends"))},_c={begin:function(c){return Pc.mark("".concat(Ec," ").concat(c," begins")),function(){return Nc(c)}},end:Nc},Tc=function(c,l,h,z){var a,v,m,s,e,t=Object.keys(c),M=t.length,f=void 0!==z?(s=l,e=z,function(c,l,h,z){return s.call(e,c,l,h,z)}):l;for(m=void 0===h?(a=1,c[t[0]]):(a=0,h);a<M;a++)m=f(m,c[v=t[a]],v,c);return m};function Ic(c){for(var l="",h=0;h<c.length;h++){l+=("000"+c.charCodeAt(h).toString(16)).slice(-4)}return l}var Rc=Y.styles,Fc=Y.shims,Yc={},Dc={},Wc={},Uc=function(){var c=function(z){return Tc(Rc,function(c,l,h){return c[h]=Tc(l,z,{}),c},{})};Yc=c(function(c,l,h){return l[3]&&(c[l[3]]=h),c}),Dc=c(function(l,c,h){var z=c[2];return l[h]=h,z.forEach(function(c){l[c]=h}),l});var v="far"in Rc;Wc=Tc(Fc,function(c,l){var h=l[0],z=l[1],a=l[2];return"far"!==z||v||(z="fas"),c[h]={prefix:z,iconName:a},c},{})};function Qc(c,l){return(Yc[c]||{})[l]}Uc();var Xc=Y.styles,Bc=function(){return{prefix:null,iconName:null,rest:[]}};function Kc(c){return c.reduce(function(c,l){var h=Ac($.familyPrefix,l);if(Xc[l])c.prefix=l;else if($.autoFetchSvg&&-1<["fas","far","fal","fad","fab","fa"].indexOf(l))c.prefix=l;else if(h){var z="fa"===c.prefix?Wc[h]||{prefix:null,iconName:null}:{};c.iconName=z.iconName||h,c.prefix=z.prefix||c.prefix}else l!==$.replacementClass&&0!==l.indexOf("fa-w-")&&c.rest.push(l);return c},Bc())}function Gc(c,l,h){if(c&&c[l]&&c[l][h])return{prefix:l,iconName:h,icon:c[l][h]}}function Jc(c){var h,l=c.tag,z=c.attributes,a=void 0===z?{}:z,v=c.children,m=void 0===v?[]:v;return"string"==typeof c?Sc(c):"<".concat(l," ").concat((h=a,Object.keys(h||{}).reduce(function(c,l){return c+"".concat(l,'="').concat(Sc(h[l]),'" ')},"").trim()),">").concat(m.map(Jc).join(""),"</").concat(l,">")}var $c=function(){};function cl(c){return"string"==typeof(c.getAttribute?c.getAttribute(J):null)}var ll={replace:function(c){var l=c[0],h=c[1].map(function(c){return Jc(c)}).join("\n");if(l.parentNode&&l.outerHTML)l.outerHTML=h+($.keepOriginalSource&&"svg"!==l.tagName.toLowerCase()?"\x3c!-- ".concat(l.outerHTML," --\x3e"):"");else if(l.parentNode){var z=document.createElement("span");l.parentNode.replaceChild(z,l),z.outerHTML=h}},nest:function(c){var l=c[0],h=c[1];if(~gc(l).indexOf($.replacementClass))return ll.replace(c);var z=new RegExp("".concat($.familyPrefix,"-.*"));delete h[0].attributes.style,delete h[0].attributes.id;var a=h[0].attributes.class.split(" ").reduce(function(c,l){return l===$.replacementClass||l.match(z)?c.toSvg.push(l):c.toNode.push(l),c},{toNode:[],toSvg:[]});h[0].attributes.class=a.toSvg.join(" ");var v=h.map(function(c){return Jc(c)}).join("\n");l.setAttribute("class",a.toNode.join(" ")),l.setAttribute(J,""),l.innerHTML=v}};function hl(c){c()}function zl(h,c){var z="function"==typeof c?c:$c;if(0===h.length)z();else{var l=hl;$.mutateApproach===y&&(l=i.requestAnimationFrame||hl),l(function(){var c=!0===$.autoReplaceSvg?ll.replace:ll[$.autoReplaceSvg]||ll.replace,l=_c.begin("mutate");h.map(c),l(),z()})}}var al=!1;function vl(){al=!1}var ml=null;function sl(c){if(t&&$.observeMutations){var a=c.treeCallback,v=c.nodeCallback,m=c.pseudoElementsCallback,l=c.observeMutationsRoot,h=void 0===l?o:l;ml=new t(function(c){al||bc(c).forEach(function(c){if("childList"===c.type&&0<c.addedNodes.length&&!cl(c.addedNodes[0])&&($.searchPseudoElements&&m(c.target),a(c.target)),"attributes"===c.type&&c.target.parentNode&&$.searchPseudoElements&&m(c.target.parentNode),"attributes"===c.type&&cl(c.target)&&~N.indexOf(c.attributeName))if("class"===c.attributeName){var l=Kc(gc(c.target)),h=l.prefix,z=l.iconName;h&&c.target.setAttribute("data-prefix",h),z&&c.target.setAttribute("data-icon",z)}else v(c.target)})}),H&&ml.observe(h,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function el(c){var l,h,z=c.getAttribute("data-prefix"),a=c.getAttribute("data-icon"),v=void 0!==c.innerText?c.innerText.trim():"",m=Kc(gc(c));return z&&a&&(m.prefix=z,m.iconName=a),m.prefix&&1<v.length?m.iconName=(l=m.prefix,h=c.innerText,(Dc[l]||{})[h]):m.prefix&&1===v.length&&(m.iconName=Qc(m.prefix,Ic(c.innerText))),m}var tl=function(c){var l={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return c?c.toLowerCase().split(" ").reduce(function(c,l){var h=l.toLowerCase().split("-"),z=h[0],a=h.slice(1).join("-");if(z&&"h"===a)return c.flipX=!0,c;if(z&&"v"===a)return c.flipY=!0,c;if(a=parseFloat(a),isNaN(a))return c;switch(z){case"grow":c.size=c.size+a;break;case"shrink":c.size=c.size-a;break;case"left":c.x=c.x-a;break;case"right":c.x=c.x+a;break;case"up":c.y=c.y-a;break;case"down":c.y=c.y+a;break;case"rotate":c.rotate=c.rotate+a}return c},l):l};function Ml(c){var l,h,z,a,v,m,s,e,t=el(c),M=t.iconName,f=t.prefix,r=t.rest,H=(l=c.getAttribute("style"),h=[],l&&(h=l.split(";").reduce(function(c,l){var h=l.split(":"),z=h[0],a=h.slice(1);return z&&0<a.length&&(c[z]=a.join(":").trim()),c},{})),h),n=tl(c.getAttribute("data-fa-transform")),V=null!==(z=c.getAttribute("data-fa-symbol"))&&(""===z||z),i=(v=bc((a=c).attributes).reduce(function(c,l){return"class"!==c.name&&"style"!==c.name&&(c[l.name]=l.value),c},{}),m=a.getAttribute("title"),s=a.getAttribute("data-fa-title-id"),$.autoA11y&&(m?v["aria-labelledby"]="".concat($.replacementClass,"-title-").concat(s||pc()):(v["aria-hidden"]="true",v.focusable="false")),v),o=(e=c.getAttribute("data-fa-mask"))?Kc(e.split(" ").map(function(c){return c.trim()})):Bc();return{iconName:M,title:c.getAttribute("title"),titleId:c.getAttribute("data-fa-title-id"),prefix:f,transform:n,symbol:V,mask:o,maskId:c.getAttribute("data-fa-mask-id"),extra:{classes:r,styles:H,attributes:i}}}function fl(c){this.name="MissingIcon",this.message=c||"Icon unavailable",this.stack=(new Error).stack}(fl.prototype=Object.create(Error.prototype)).constructor=fl;var rl={fill:"currentColor"},Hl={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},nl={tag:"path",attributes:G({},rl,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})},Vl=G({},Hl,{attributeName:"opacity"}),il={tag:"g",children:[nl,{tag:"circle",attributes:G({},rl,{cx:"256",cy:"364",r:"28"}),children:[{tag:"animate",attributes:G({},Hl,{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:G({},Vl,{values:"1;0;1;1;0;1;"})}]},{tag:"path",attributes:G({},rl,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:[{tag:"animate",attributes:G({},Vl,{values:"1;0;0;0;0;1;"})}]},{tag:"path",attributes:G({},rl,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:G({},Vl,{values:"0;0;1;1;0;0;"})}]}]},ol=Y.styles;function Cl(c){var l=c[0],h=c[1],z=n(c.slice(4),1)[0];return{found:!0,width:l,height:h,icon:Array.isArray(z)?{tag:"g",attributes:{class:"".concat($.familyPrefix,"-").concat(_.GROUP)},children:[{tag:"path",attributes:{class:"".concat($.familyPrefix,"-").concat(_.SECONDARY),fill:"currentColor",d:z[0]}},{tag:"path",attributes:{class:"".concat($.familyPrefix,"-").concat(_.PRIMARY),fill:"currentColor",d:z[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:z}}}}function Ll(z,a){return new oc(function(c,l){var h={found:!1,width:512,height:512,icon:il};if(z&&a&&ol[a]&&ol[a][z])return c(Cl(ol[a][z]));"object"===v(i.FontAwesomeKitConfig)&&"string"==typeof window.FontAwesomeKitConfig.token&&i.FontAwesomeKitConfig.token,z&&a&&!$.showMissingIcons?l(new fl("Icon is missing for prefix ".concat(a," with icon name ").concat(z))):c(h)})}var dl=Y.styles;function ul(c){var v,l,m,s,e,t,M,f,h,r,H,z=Ml(c);return~z.extra.classes.indexOf(q)?function(c,l){var h=l.title,z=l.transform,a=l.extra,v=null,m=null;if(p){var s=parseInt(getComputedStyle(c).fontSize,10),e=c.getBoundingClientRect();v=e.width/s,m=e.height/s}return $.autoA11y&&!h&&(a.attributes["aria-hidden"]="true"),oc.resolve([c,Oc({content:c.innerHTML,width:v,height:m,transform:z,title:h,extra:a,watchable:!0})])}(c,z):(v=c,m=(l=z).iconName,s=l.title,e=l.titleId,t=l.prefix,M=l.transform,f=l.symbol,h=l.mask,r=l.maskId,H=l.extra,new oc(function(a,c){oc.all([Ll(m,t),Ll(h.iconName,h.prefix)]).then(function(c){var l=n(c,2),h=l[0],z=l[1];a([v,qc({icons:{main:h,mask:z},prefix:t,iconName:m,transform:M,symbol:f,mask:z,maskId:r,title:s,titleId:e,extra:H,watchable:!0})])})}))}function pl(c){var h=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null;if(H){var l=o.documentElement.classList,z=function(c){return l.add("".concat(S,"-").concat(c))},a=function(c){return l.remove("".concat(S,"-").concat(c))},v=$.autoFetchSvg?Object.keys(Z):Object.keys(dl),m=[".".concat(q,":not([").concat(J,"])")].concat(v.map(function(c){return".".concat(c,":not([").concat(J,"])")})).join(", ");if(0!==m.length){var s=[];try{s=bc(c.querySelectorAll(m))}catch(c){}if(0<s.length){z("pending"),a("complete");var e=_c.begin("onTree"),t=s.reduce(function(c,l){try{var h=ul(l);h&&c.push(h)}catch(c){k||c instanceof fl&&console.error(c)}return c},[]);return new oc(function(l,c){oc.all(t).then(function(c){zl(c,function(){z("active"),z("complete"),a("pending"),"function"==typeof h&&h(),e(),l()})}).catch(function(){e(),c()})})}}}}function bl(c){var l=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null;ul(c).then(function(c){c&&zl([c],l)})}function gl(H,n){var V="".concat(u).concat(n.replace(":","-"));return new oc(function(z,c){if(null!==H.getAttribute(V))return z();var l=bc(H.children).filter(function(c){return c.getAttribute(d)===n})[0],h=i.getComputedStyle(H,n),a=h.getPropertyValue("font-family").match(O),v=h.getPropertyValue("font-weight"),m=h.getPropertyValue("content");if(l&&!a)return H.removeChild(l),z();if(a&&"none"!==m&&""!==m){var s=~["Solid","Regular","Light","Duotone","Brands"].indexOf(a[1])?x[a[1].toLowerCase()]:j[v],e=Ic(3===m.length?m.substr(1,1):m),t=Qc(s,e),M=t;if(!t||l&&l.getAttribute(g)===s&&l.getAttribute(A)===M)z();else{H.setAttribute(V,M),l&&H.removeChild(l);var f={iconName:null,title:null,titleId:null,prefix:null,transform:Lc,symbol:!1,mask:null,maskId:null,extra:{classes:[],styles:{},attributes:{}}},r=f.extra;r.attributes[d]=n,Ll(t,s).then(function(c){var l=qc(G({},f,{icons:{main:c,mask:Bc()},prefix:s,iconName:M,extra:r,watchable:!0})),h=o.createElement("svg");":before"===n?H.insertBefore(h,H.firstChild):H.appendChild(h),h.outerHTML=l.map(function(c){return Jc(c)}).join("\n"),H.removeAttribute(V),z()}).catch(c)}}else z()})}function Al(c){return oc.all([gl(c,":before"),gl(c,":after")])}function Sl(c){return!(c.parentNode===document.head||~w.indexOf(c.tagName.toUpperCase())||c.getAttribute(d)||c.parentNode&&"svg"===c.parentNode.tagName)}function yl(a){if(H)return new oc(function(c,l){var h=bc(a.querySelectorAll("*")).filter(Sl).map(Al),z=_c.begin("searchPseudoElements");al=!0,oc.all(h).then(function(){z(),vl(),c()}).catch(function(){z(),vl(),l()})})}var wl="svg:not(:root).svg-inline--fa{overflow:visible}.svg-inline--fa{display:inline-block;font-size:inherit;height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-lg{vertical-align:-.225em}.svg-inline--fa.fa-w-1{width:.0625em}.svg-inline--fa.fa-w-2{width:.125em}.svg-inline--fa.fa-w-3{width:.1875em}.svg-inline--fa.fa-w-4{width:.25em}.svg-inline--fa.fa-w-5{width:.3125em}.svg-inline--fa.fa-w-6{width:.375em}.svg-inline--fa.fa-w-7{width:.4375em}.svg-inline--fa.fa-w-8{width:.5em}.svg-inline--fa.fa-w-9{width:.5625em}.svg-inline--fa.fa-w-10{width:.625em}.svg-inline--fa.fa-w-11{width:.6875em}.svg-inline--fa.fa-w-12{width:.75em}.svg-inline--fa.fa-w-13{width:.8125em}.svg-inline--fa.fa-w-14{width:.875em}.svg-inline--fa.fa-w-15{width:.9375em}.svg-inline--fa.fa-w-16{width:1em}.svg-inline--fa.fa-w-17{width:1.0625em}.svg-inline--fa.fa-w-18{width:1.125em}.svg-inline--fa.fa-w-19{width:1.1875em}.svg-inline--fa.fa-w-20{width:1.25em}.svg-inline--fa.fa-pull-left{margin-right:.3em;width:auto}.svg-inline--fa.fa-pull-right{margin-left:.3em;width:auto}.svg-inline--fa.fa-border{height:1.5em}.svg-inline--fa.fa-li{width:2em}.svg-inline--fa.fa-fw{width:1.25em}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers-text{left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter{background-color:#ff253a;border-radius:1em;-webkit-box-sizing:border-box;box-sizing:border-box;color:#fff;height:1.5em;line-height:1;max-width:5em;min-width:1.5em;overflow:hidden;padding:.25em;right:0;text-overflow:ellipsis;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-bottom-right{bottom:0;right:0;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom right;transform-origin:bottom right}.fa-layers-bottom-left{bottom:0;left:0;right:auto;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom left;transform-origin:bottom left}.fa-layers-top-right{right:0;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-top-left{left:0;right:auto;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top left;transform-origin:top left}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:#fff}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:1;opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor);opacity:.4;opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:.4;opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:1;opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.fad.fa-inverse{color:#fff}";function kl(){var c=C,l=L,h=$.familyPrefix,z=$.replacementClass,a=wl;if(h!==c||z!==l){var v=new RegExp("\\.".concat(c,"\\-"),"g"),m=new RegExp("\\--".concat(c,"\\-"),"g"),s=new RegExp("\\.".concat(l),"g");a=a.replace(v,".".concat(h,"-")).replace(m,"--".concat(h,"-")).replace(s,".".concat(z))}return a}function Zl(){$.autoAddCss&&!Pl&&(dc(kl()),Pl=!0)}function xl(l,c){return Object.defineProperty(l,"abstract",{get:c}),Object.defineProperty(l,"html",{get:function(){return l.abstract.map(function(c){return Jc(c)})}}),Object.defineProperty(l,"node",{get:function(){if(H){var c=o.createElement("div");return c.innerHTML=l.html,c.children}}}),l}function ql(c){var l=c.prefix,h=void 0===l?"fa":l,z=c.iconName;if(z)return Gc(jl.definitions,h,z)||Gc(Y.styles,h,z)}var Ol,jl=new(function(){function c(){!function(c,l){if(!(c instanceof l))throw new TypeError("Cannot call a class as a function")}(this,c),this.definitions={}}var l,h,z;return l=c,(h=[{key:"add",value:function(){for(var l=this,c=arguments.length,h=new Array(c),z=0;z<c;z++)h[z]=arguments[z];var a=h.reduce(this._pullDefinitions,{});Object.keys(a).forEach(function(c){l.definitions[c]=G({},l.definitions[c]||{},a[c]),function c(l,z){var h=(2<arguments.length&&void 0!==arguments[2]?arguments[2]:{}).skipHooks,a=void 0!==h&&h,v=Object.keys(z).reduce(function(c,l){var h=z[l];return h.icon?c[h.iconName]=h.icon:c[l]=h,c},{});"function"!=typeof Y.hooks.addPack||a?Y.styles[l]=G({},Y.styles[l]||{},v):Y.hooks.addPack(l,v),"fas"===l&&c("fa",z)}(c,a[c]),Uc()})}},{key:"reset",value:function(){this.definitions={}}},{key:"_pullDefinitions",value:function(v,c){var m=c.prefix&&c.iconName&&c.icon?{0:c}:c;return Object.keys(m).map(function(c){var l=m[c],h=l.prefix,z=l.iconName,a=l.icon;v[h]||(v[h]={}),v[h][z]=a}),v}}])&&a(l.prototype,h),z&&a(l,z),c}()),Pl=!1,El={i2svg:function(){var c=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};if(H){Zl();var l=c.node,h=void 0===l?o:l,z=c.callback,a=void 0===z?function(){}:z;return $.searchPseudoElements&&yl(h),pl(h,a)}return oc.reject("Operation requires a DOM of some kind.")},css:kl,insertCss:function(){Pl||(dc(kl()),Pl=!0)},watch:function(){var c=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},l=c.autoReplaceSvgRoot,h=c.observeMutationsRoot;!1===$.autoReplaceSvg&&($.autoReplaceSvg=!0),$.observeMutations=!0,U(function(){Tl({autoReplaceSvgRoot:l}),sl({treeCallback:pl,nodeCallback:bl,pseudoElementsCallback:yl,observeMutationsRoot:h})})}},Nl=(Ol=function(c){var l=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},h=l.transform,z=void 0===h?Lc:h,a=l.symbol,v=void 0!==a&&a,m=l.mask,s=void 0===m?null:m,e=l.maskId,t=void 0===e?null:e,M=l.title,f=void 0===M?null:M,r=l.titleId,H=void 0===r?null:r,n=l.classes,V=void 0===n?[]:n,i=l.attributes,o=void 0===i?{}:i,C=l.styles,L=void 0===C?{}:C;if(c){var d=c.prefix,u=c.iconName,p=c.icon;return xl(G({type:"icon"},c),function(){return Zl(),$.autoA11y&&(f?o["aria-labelledby"]="".concat($.replacementClass,"-title-").concat(H||pc()):(o["aria-hidden"]="true",o.focusable="false")),qc({icons:{main:Cl(p),mask:s?Cl(s.icon):{found:!1,width:null,height:null,icon:{}}},prefix:d,iconName:u,transform:G({},Lc,z),symbol:v,title:f,maskId:t,titleId:H,extra:{attributes:o,styles:L,classes:V}})})}},function(c){var l=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},h=(c||{}).icon?c:ql(c||{}),z=l.mask;return z&&(z=(z||{}).icon?z:ql(z||{})),Ol(h,G({},l,{mask:z}))}),_l={noAuto:function(){$.autoReplaceSvg=!1,$.observeMutations=!1,ml&&ml.disconnect()},config:$,dom:El,library:jl,parse:{transform:function(c){return tl(c)}},findIconDefinition:ql,icon:Nl,text:function(c){var l=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},h=l.transform,z=void 0===h?Lc:h,a=l.title,v=void 0===a?null:a,m=l.classes,s=void 0===m?[]:m,e=l.attributes,t=void 0===e?{}:e,M=l.styles,f=void 0===M?{}:M;return xl({type:"text",content:c},function(){return Zl(),Oc({content:c,transform:G({},Lc,z),title:v,extra:{attributes:t,styles:f,classes:["".concat($.familyPrefix,"-layers-text")].concat(r(s))}})})},counter:function(c){var l=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},h=l.title,z=void 0===h?null:h,a=l.classes,v=void 0===a?[]:a,m=l.attributes,s=void 0===m?{}:m,e=l.styles,t=void 0===e?{}:e;return xl({type:"counter",content:c},function(){return Zl(),function(c){var l=c.content,h=c.title,z=c.extra,a=G({},z.attributes,h?{title:h}:{},{class:z.classes.join(" ")}),v=yc(z.styles);0<v.length&&(a.style=v);var m=[];return m.push({tag:"span",attributes:a,children:[l]}),h&&m.push({tag:"span",attributes:{class:"sr-only"},children:[h]}),m}({content:c.toString(),title:z,extra:{attributes:s,styles:t,classes:["".concat($.familyPrefix,"-layers-counter")].concat(r(v))}})})},layer:function(c){var l=(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).classes,h=void 0===l?[]:l;return xl({type:"layer"},function(){Zl();var l=[];return c(function(c){Array.isArray(c)?c.map(function(c){l=l.concat(c.abstract)}):l=l.concat(c.abstract)}),[{tag:"span",attributes:{class:["".concat($.familyPrefix,"-layers")].concat(r(h)).join(" ")},children:l}]})},toHtml:Jc},Tl=function(){var c=(0<arguments.length&&void 0!==arguments[0]?arguments[0]:{}).autoReplaceSvgRoot,l=void 0===c?o:c;(0<Object.keys(Y.styles).length||$.autoFetchSvg)&&H&&$.autoReplaceSvg&&_l.dom.i2svg({node:l})};!function(c){try{c()}catch(c){if(!k)throw c}}(function(){f&&(i.FontAwesome||(i.FontAwesome=_l),U(function(){Tl(),sl({treeCallback:pl,nodeCallback:bl,pseudoElementsCallback:yl})})),Y.hooks=G({},Y.hooks,{addPack:function(c,l){Y.styles[c]=G({},Y.styles[c]||{},l),Uc(),Tl()},addShims:function(c){var l;(l=Y.shims).push.apply(l,r(c)),Uc(),Tl()}})})}();language/en-GB/en-GB.plg_quickicon_gantry5.sys.ini000060400000000723150755137700015734 0ustar00PLG_QUICKICON_GANTRY5="Quick Icon - Gantry 5"
PLG_QUICKICON_GANTRY5_DESCRIPTION="Displays Gantry 5 and its updates in Joomla Control Panel page."

PLG_QUICKICON_GANTRY5_UPDATE_NOW="Gantry 5 - Update now!"
PLG_QUICKICON_GANTRY5_UPDATES_DISABLED="Gantry 5 Updates disabled"

PLG_QUICKICON_GANTRY5_GROUP_DESC="The group of this plugin (this value is compared with the group value used in 'Quick Icons' modules to inject icons)"
PLG_QUICKICON_GANTRY5_GROUP_LABEL="Group"
gantry5.xml000060400000002262150755137700006667 0ustar00<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<extension version="3.9" type="plugin" group="quickicon" method="upgrade">
    <name>plg_quickicon_gantry5</name>
    <version>5.5.17</version>
    <creationDate>October 30, 2023</creationDate>
    <author>RocketTheme, LLC</author>
    <authorEmail>support@rockettheme.com</authorEmail>
    <authorUrl>http://www.rockettheme.com</authorUrl>
    <copyright>(C) 2005 - 2021 RocketTheme, LLC. All rights reserved.</copyright>
    <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
    <description>PLG_QUICKICON_GANTRY5_DESCRIPTION</description>

    <files>
        <filename plugin="gantry5">gantry5.php</filename>
        <filename>MD5SUMS</filename>
        <folder>language</folder>
    </files>

    <config>
        <fields name="params">
            <fieldset name="basic">
                <field name="context"
                       type="text"
                       default="mod_quickicon"
                       description="PLG_QUICKICON_GANTRY5_GROUP_DESC"
                       label="PLG_QUICKICON_GANTRY5_GROUP_LABEL"
                        />
            </fieldset>
        </fields>
    </config>
</extension>
gantry5.php000060400000007473150755137700006667 0ustar00<?php

/**
 * @package   Gantry 5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2021 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */
defined('_JEXEC') or die;

use Gantry\Component\Filesystem\Streams;
use Gantry\Framework\Gantry;
use Gantry\Framework\Platform;
use Gantry5\Loader;
use Joomla\CMS\Application\CMSApplication;
use Joomla\CMS\Factory;
use Joomla\CMS\Plugin\CMSPlugin;
use Joomla\CMS\Router\Route;
use Joomla\CMS\Language\Text;
use Joomla\Event\DispatcherInterface;

// Quick check to prevent fatal error in unsupported Joomla admin.
if (!class_exists(CMSPlugin::class)) {
    return;
}

/**
 * Class plgQuickiconGantry5
 */
class plgQuickiconGantry5 extends CMSPlugin
{
    /** @var CMSApplication */
    protected $app;

    /**
     * plgQuickiconGantry5 constructor.
     * @param DispatcherInterface $subject
     * @param array $config
     */
    public function __construct(&$subject, $config = array())
    {
        // Do not load if Gantry libraries are not installed or initialised.
        if (!class_exists('Gantry5\Loader')) {
            return;
        }

        parent::__construct($subject, $config);

        // Get the application if not done by JPlugin. This may happen during upgrades from Joomla 2.5.
        if (!$this->app) {
            $this->app = Factory::getApplication();
        }

        // Always load language.
        $language = $this->app->getLanguage();

        $language->load('com_gantry5.sys')
        || $language->load('com_gantry5.sys', JPATH_ADMINISTRATOR . '/components/com_gantry5');

        $this->loadLanguage('plg_quickicon_gantry5.sys');
    }

    /**
     * Display Gantry 5 backend icon
     *
     * @param string $context
     * @return array|null
     */
    public function onGetIcons($context)
    {
        $user = $this->app->getIdentity();

        if ($context !== $this->params->get('context', 'mod_quickicon')
            || !$user || !$user->authorise('core.manage', 'com_gantry5')) {
            return null;
        }

        try {
            $updates = null;
            if ($user->authorise('core.manage', 'com_installer'))
            {
                // Initialise Gantry.
                Loader::setup();
                $gantry = Gantry::instance();

                /** @var Streams $streams */
                $streams = $gantry['streams'];
                $streams->register();

                /** @var Platform $platform */
                $platform = $gantry['platform'];
                $updates = $platform->updates();
            }
        } catch (Exception $e) {
            $this->app->enqueueMessage($e->getMessage(), 'warning');
            $updates = false;
        }

        $quickicons = array(
            array(
                'link' => Route::_('index.php?option=com_gantry5'),
                'image' => 'eye fa fa-eye',
                'text' => Text::_('COM_GANTRY5'),
                'group' => 'MOD_QUICKICON_EXTENSIONS',
                'access' => array('core.manage', 'com_gantry5')
            )
        );

        if ($updates === false) {
            // Disabled
            $quickicons[] = array(
                'link' => Route::_('index.php?option=com_gantry5'),
                'image' => 'eye fa fa-eye',
                'text' => Text::_('PLG_QUICKICON_GANTRY5_UPDATES_DISABLED'),
                'group' => 'MOD_QUICKICON_MAINTENANCE'
            );

        } elseif ($updates) {
            // Has updates
            $quickicons[] = array(
                'link' => Route::_('index.php?option=com_installer&view=update'),
                'image' => 'download fa fa-download',
                'text' => Text::_('PLG_QUICKICON_GANTRY5_UPDATE_NOW'),
                'group' => 'MOD_QUICKICON_MAINTENANCE'
            );
        }

        return $quickicons;
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit